Abstract:
Systems and techniques are disclosed for receiving, with a load balancer, a request from a client device. The request includes a session identifier corresponding to a session state associated with the request. The session state is stored on a first node within a cluster of nodes associated with the load balancer. A hash function is applied using the session identifier and topology information about the cluster of nodes. Based on a result of the hash function, a determination is made as to a selected node within the cluster of nodes to which the request is to be routed. The request is routed to the selected node.
Abstract:
Triangulating stateful client requests for web applications is disclosed. In one example, a computing system includes a load-balancing device and a cluster of interconnected processor-based nodes. When the load-balancing device receives a client request, the load-balancing device adds a client request identifier to the client request. Upon determining that a primary session node for the client request is unavailable, the load-balancing device sends the client request to an “unaffiliated” processor-based node, which identifies a secondary session node for the client request and sends the client request to the secondary session node. The secondary session node services the client request and generates a response that includes the client request identifier added to the client request by the load-balancing device. The secondary session node sends the response back to the load-balancing device, which uses the client request identifier in the response to correlate the response with the original client request.
Abstract:
Systems and techniques are disclosed for receiving, with a load balancer, a request from a client device. The request includes a session identifier corresponding to a session state associated with the request. The session state is stored on a first node within a cluster of nodes associated with the load balancer. A hash function is applied using the session identifier and topology information about the cluster of nodes. Based on a result of the hash function, a determination is made as to a selected node within the cluster of nodes to which the request is to be routed. The request is routed to the selected node.
Abstract:
Ranked session affinity to improve load balancing efficiency for stateful services is disclosed. A first application server node receives, from a load balancer node, an initial request for a stateful service originating from a client node. The first application server node establishes a session based on the initial request, the session including a session identifier that uniquely identifies the session. The first application server node determines a prioritization list that identifies a set of application server nodes selected from a plurality of application server nodes, the prioritization list identifying the first application server node as a primary application server node and one or more backup application server nodes. The first application server node generates a first response to the initial request, the first response including the prioritization list. The first application server node sends the first response to the load balancer node.
Abstract:
A method for distributing data between mobile devices includes creating, by a processing device, a group comprising of mobile devices in an ad-hoc mode that share data. The mobile devices are located within a pre-defined range. The method also includes identifying, by the processing device, at least a portion of the data available for sharing in at least one of the mobile devices. The method also includes replicating, by the processing device, the identified data for distribution to the mobile devices. The method further includes distributing, by the processing device, the replicated data to the at least one of the mobile devices in the immediate mode when the at least one of the mobile devices is within the pre-defined range.
Abstract:
A mechanism for providing specification of a location of a user of a communication device. A method includes receiving, by a processing device a first position data of a communication device. The first position data is a location of the user of the communication device at a first time when the user begins to at least either compose a message on the communication device or initiate an application to compose the message. The method also includes receiving, by the processing device, a second position data of the communication device. The second position data is the location of the user at a second time when the user sends the message to a recipient via the communication device. The method also includes generating, by the processing device, a velocity vector based on the first position data, the second position data, the first time data and the second time data. The method further includes sending, by the processing device, the velocity vector with the message to the recipient.
Abstract:
Distributed timer task execution management is disclosed. A cluster member generates a first timer task that can be executed on any cluster member of a plurality of cluster members including the first cluster member that composes a cluster. A first timer task schedule that identifies at least one future point in time at which the first timer task is to be executed is generated. A second cluster member of the plurality of cluster members is selected as a cluster member owner for the first timer task that is to schedule the first timer task and to execute the first timer task at the at least one future point in time. The first timer task and the first timer task schedule are transferred to the second cluster member.
Abstract:
Systems and methods are disclosed for providing a representation of a stack trace. An example method includes identifying an element in a stack trace. The stack trace is generated based on an occurrence of an event during execution of an application. The method also includes determining whether the element has an associated annotation. The annotation is an indication to translate the element's name from a first language to a second language. The method further includes in response to determining that the element in the stack trace has the associated annotation, obtaining the element's translated name and updating the stack trace to include the element's translated name, which is in the second language.
Abstract:
An example system for transmitting data between applications may include an access module that accesses a data object associated with a first application running on a first node. The access module may access the data object without using a class library. The system also includes a communication module that transmits via a network to a second node, data associated with the data object. The communication module may transmit the data for use by a second application running on the second node, and the data object may be accessible by at most one application at a time.
Abstract:
A method for distributing data between mobile devices includes creating, by a processing device, a group comprising of mobile devices in an ad-hoc mode that share data. The mobile devices are located within a pre-defined range. The method also includes identifying, by the processing device, at least a portion of the data available for sharing in at least one of the mobile devices. The method also includes replicating, by the processing device, the identified data for distribution to the mobile devices. The method further includes distributing, by the processing device, the replicated data to the at least one of the mobile devices in the immediate mode when the at least one of the mobile devices is within the pre-defined range.