Glossary

availability

A measure of how well a server or server farm maintains its ability to handle client requests in the presence of network outages and computer failures. Availability is usually measured by the fraction of time that the service remains online (“uptime”). The use of a server farm enhances availability by cost-effectively providing redundant resources that can be called upon if a failure occurs. A server farm is said to be highly available if it has the ability to recover from expected failure scenarios and continue to handle client requests. A highly available system may not be able to recover from some failures, and it may suffer data loss in some cases.

cluster

A group of servers that use distributed computing software to form a single membership and perform a common set of functions, such as distributed caching, implementing a Redis database, data-parallel computing, and stream processing. ScaleOut uses a scalable algorithm with adaptive heartbeating to form a coherent cluster membership.

coherency policy

When ScaleOut GeoServer is used in pull access mode, this policy determines how often the proxy copy of an object is updated with the contents of its remote primary object. This policy is specified on a per-object basis.

gateway address

An IP address and server port used by other SOSS stores to access this host within a local store to deliver inbound replicated data as part of the ScaleOut GeoServer option or to access a remote SOSS store as part of the Remote Client option. Each host in a store should have a gateway address, which is stored in its parameters file. A gateway address must be reachable from another SOSS store using a TCP connection to the IP address and server port. A host’s gateway address is not used by other hosts within the local store and may differ from the host’s IP address that is used by local hosts. Gateway addresses for a remote store are stored in the client parameters file and are used to establish communications with the remote store.

GeoServer option

An optional component of ScaleOut StateServer that enables automatic replication of objects to a remote SOSS store and transparent access to remote objects.

heartbeat exchange

A software method used to determine whether a network outage has occurred or a host has failed. Pairs of hosts periodically exchange small messages, and uninterrupted reception of these messages indicates that the hosts are functioning and able to communicate. ScaleOut StateServer uses a patent-pending set of heartbeat exchanges to efficiently monitor the health of a server farm, and the default heartbeat interval is one second.

host

A server within a server farm that runs ScaleOut StateServer (for the purposes of this documentation). A host can join ScaleOut StateServer’s distributed store to share a portion of the storage workload.

host group

A set of SOSS hosts which can form a single distributed store. When multicast discovery is used, SOSS automatically creates a host group for all hosts with the same multicast IP address and management port which are reachable on one network subnet. Otherwise, a host group can be manually configured using the SOSS management tools by specifying IP addresses for other hosts with the same management port. These IP addresses are stored in the soss_params.txt file on every SOSS host and enable the StateServer service to automatically form or connect to a host group when the service starts running.

IMDG

Acronym for in-memory data grid.

in-memory database

A software system for structured, memory-based storage of application data; often used synonymously with in-memory data grid. ScaleOut Software uses this term to refer to its scalable, highly available, cluster-based architecture for hosting open-source Redis data structures.

in-memory data grid

An in-memory data grid (also known as a distributed data grid or distributed cache) provides distributed, memory-based data storage running on a cluster of commodity servers or virtual servers. It can combine this with powerful analysis and management tools to provide a complete solution for managing fast-changing data in a server farm or compute grid. In-memory data grids represent an important evolution in the technology of distributed caching to support data-parallel computation and comprehensive management capabilities.

invocation grid

An invocation grid specifies the executable file and libraries needed to perform a parallel method invocation. An application creates an invocation grid to enable the code used in parallel method invocations to be shipped to all grid servers and pre-staged in worker processes prior to running the invocations.

isolated host

A host which cannot communicate with any other host. ScaleOut StateServer determines that a host is isolated after all of its heartbeat exchanges fail.

joining

The process of activating the StateServer service so that a host can initiate its participation in the workload of a store. The host self-discovers the store and then self-aggregates to join the store and take on a portion of the workload.

leaving

The process of deactivating the StateServer service so that a host can terminate its participation in the workload of a store. The other hosts take over the leaving host’s portion of the workload and restore the store’s full redundancy. If the host unexpectedly leaves due to a failure, the other hosts automatically self-heal.

load-balancing

A method for distributing the workload of a server farm among the servers so as to partition the workload according to the capacity of each server. ScaleOut StateServer’s load-balancer distributes the storage workload among the hosts that have joined the store. It is designed to work seamlessly with external IP load balancers that may be employed to distribute client requests to the servers.

load-balancing interval

A built-in parameter of ScaleOut StateServer that determines how often the load-balancer checks for a load-imbalance and begins readjusting the storage workload among the hosts. The load-balancing interval is set to approximately three seconds.

network interface

An IP address and associated networking hardware that a host can use to communicate with other hosts. A host can have multiple network interfaces on the same network subnet, and it also can have interfaces on multiple subnets. ScaleOut StateServer’s management console lets you select a network interface for use for the StateServer service’s communications. You can select either a specific IP address or just a network subnet (in case the host’s IP address on the subnet dynamically changes.)

network subnetting

A networking failure that arises in which ScaleOut StateServer hosts within a single in-memory data grid are separated into two or more disjoint sets that cannot communicate with each other over the network. This failure usually occurs when a bridge between two network switches fails, although there may be many other causes. To maintain service to clients, ScaleOut StateServer handles this condition by allowing disjoint sets of hosts form independent memberships. Network subnetting causes a split-brain condition which must be resolved after the networking failure is corrected.

object

A collection of logically related data that is created and used within the logic of an application. ScaleOut StateServer treats an object as a serialized stream of opaque (i.e., uninterpreted), binary data of specified length and identified by a user-defined, 256-bit key.

Parallel Method Invocation

ScaleOut StateServer Pro’s Named Cache API provides parallel method invocation (PMI) to enable applications to quickly and easily analyze data stored in the in-memory data grid. PMI follows a standard data-parallel execution model for data analysis combined with integrated query. Data for analysis is selected using a parallel query and is then analyzed using user-specified methods for evaluating selected data and then merging the results. PMI provides fast, scalable performance, and applications use intuitive, “in-memory” analysis methods.

primary object

When using GeoServer pull access mode, this refers to the original object which is being accessed by a remote store. There is always only one primary object across all participating stores. See also proxy object.

proxy object

When using GeoServer pull access mode, this refers to a copy of a primary object held at a remote store. The proxy object is kept coherent with the primary object using a coherency policy that minimizes WAN bandwidth. There can be multiple proxy objects for each primary object if an object is being accessed by multiple remote stores.

pull access mode

When using the GeoServer option, this access mode specifies that objects will be remotely accessed from the associated remote store. See also push access mode.

push access mode

When using the GeoServer option, this access mode specifies that objects will be replicated to the associated remote store. See also pull access mode.

quorum-based updating

A technique for applying updates to a set of data replicas which ensures that the updates are reliably committed in case a server fails. ScaleOut StateServer uses a patented, scalable quorum-based updating algorithm to efficiently perform updates to data in the in-memory data grid.

recovery interval

A built-in parameter of ScaleOut StateServer that determines how long a host waits to initiate recovery after a network outage occurs. An isolated host restarts after the recovery interval, and the surviving hosts initiate a self-healing process. To handle temporary switch failures, SOSS uses an indefinite recovery interval.

Redis

A popular, open-source database that implements a wide variety of data structures and commands. See https://redis.io to learn more. ScaleOut In-Memory Database integrates open-source Redis with the ScaleOut StateServer cluster architecture to automate management, implement full consistency, and provide multi-threaded execution of Redis commands.

region

A region represents a portion of the in-memory data grid’s contents and is stored entirely within a single host. The ScaleOut Management Console displays the status and activity of all regions within the in-memory data grid.

Remote Client option

An optional component of ScaleOut StateServer that allows client applications to access a remote SOSS store running on a separate server farm

replication

A technique for maintaining the high availability of stored data by copying the data to additional computers. If a computer fails, another computer can then provide the data to client during access requests. ScaleOut StateServer employs a patented technique for data replication, called quorum-based updating, which helps ensure that all changes to stored data and its replicas are reliably committed. A copy of a data object stored on another computer is called a replica. ScaleOut StateServer maintains up to two replicas for each stored object.

scalability

A measure of how well a server or server farm can increase its capacity to handle additional client requests as demand increases. The use of a server farm enhances scalability by cost-effectively providing additional resources that can quickly be added to handle a growing workload. See also scale out.

scale out

A technique for improving scalability that employs additional servers to grow performance. Server farms use this technique instead of scale up to maximize their overall performance, availability, and cost-effectiveness.

scale up

A technique for improving scalability that increases the computational power of a single server (or small server cluster) instead of adding servers to a Server farm using the scale out technique. This technique has the disadvantages that: (a) it is less cost-effective because resources must be replaced and faster servers require more expensive technology, (b) it has a lower overall performance limit, and (c) it lacks the inherent high availability of the scale out technique.

secure connection

The ability for a host to require secure connections from clients connecting via the gateway address. During host configuration, this setting is propagated across all hosts in the store. Remote clients and GeoServer connections wishing to connect to a store must be configured to match the store’s Accept Secure setting.

self-aggregation

The ability of a host to automatically join a distributed store after self-discovery and accept a portion of the workload. ScaleOut StateServer uses self-aggregation to simplify the management of its distributed store.

self-discovery

The ability of a host to automatically determine the set of hosts that are participating in a store prior to joining the store. ScaleOut StateServer uses self-discovery to simplify the management of its distributed store. When multicast networking is enabled, ScaleOut StateServer automatically discovers all hosts on the same network subnet. Otherwise, it relies on a user-specified list of IP addresses (stored in a configuration file) to discover other hosts.

self-healing

The ability of the hosts participating in a distributed store to automatically and cooperatively isolate a failed host, recover, and regain the full data redundancy (using data replication) of the store. ScaleOut StateServer uses self-healing to simplify the management of its distributed store.

serialize

To combine the data contained within an application object into a contiguous, binary stream for storage in an external store. ScaleOut StateServer requires that all stored objects be serialized since it does not interpret their contents. ASP.NET can automatically serialize objects if you annotate the class with the [Serializable] attribute.

server

A computer used primarily to handle client requests. Servers are often grouped together in a server farm to cost-effectively enhance their scalability and availability.

server farm

A group of computers, called servers, that work together to handle client requests. Servers farms are often used to handle Web requests and employ load-balancers to distribute client requests among the farm’s servers. The use of a server farm cost-effectively enhances performance, scalability, and availability.

session-state

A type of workload data that is used to maintain information about a client session with a server (such as a Web server). ScaleOut StateServer transparently stores session-state for ASP.NET sessions so that it can be quickly and reliably accessed across a server farm.

SOSS

Acronym for ScaleOut StateServer.

split-brain

A failure condition that can arise in replicated data stores with two hosts in which the contents of the two stores diverge. This problem, which is inherent to all two-host replicated stores and possible in larger stores, occurs after network subnetting between the stores causes update accesses to one store not to be replicated to the other store. When hosts become isolated from the network, ScaleOut StateServer’s quorum-based updating technology implements algorithms to avoid this problem and ensure that update accesses are properly committed.

store

A single instance of a distributed, in-memory storage repository for data objects. ScaleOut StateServer lets you create a single, distributed store that is uniformly accessible from all servers in a server farm. The servers must be connected on a single network subnet.

uniform access

The attribute of a distributed, data store that allows all hosts to access any data object in the store. ScaleOut StateServer provides uniform access to maximize ease of use and overall performance. For example, in a Web farm, client requests to retrieve and update session-state from any server in the farm.

workload

The work to be performed by and divided among the hosts in a server farm that form a distributed store. ScaleOut StateServer defines its workload to be the set of data objects that are stored in the memory of the hosts and dynamically partitioned among the hosts by the load-balancer. The StateServer service on each host directs access requests to the host that manages the requested object.

workload data

Application-specific data generated during processing (often in the course of preparing a database transaction). Examples include e-commerce shopping carts, SOAP requests, session-state, and intermediate business logic results. Workload data typically are fast changing and relatively short lived.