Push gateway systems and methods
First Claim
1. A push gateway including:
- a plurality of socket servers, each of which is configured to maintain socket server connections to one or more devices;
a mapping server configured to develop a map of potential connections to the push gateway, wherein the map is developed based at least in part on information obtained from at least a portion of the plurality of socket servers, wherein the mapping server is configured to communicate with at least one socket server included in the plurality of socket servers;
a plurality of worker servers, each of which is configured to identify a particular socket server maintaining a particular socket server connection to a particular device based at least in part on the map developed by the mapping server;
a queue server configured to manage queues for messaging between the plurality of worker servers and the plurality of socket servers, wherein the queue server is configured to communicate with at least a portion of the worker servers and at least a portion of the socket servers; and
an arbiter server configured to balance loads on at least some of the plurality of socket servers based at least in part on information obtained from the mapping server, wherein the obtained information is associated with the map of potential connections, and wherein the arbiter server is configured to communicate with the mapping server;
wherein the arbiter server is configured to provide a list of socket server connections to a device, wherein the list of socket server connections is derived at least in part from the map of potential connections, and wherein at least one message is pushed to the device via a socket server connection derived from the list of connections.
12 Assignments
0 Petitions
Accused Products
Abstract
A push gateway includes a number of socket servers, a queue server, and arbiter serving, a mapping server and a number of worker servers. Each of the socket servers and the arbiter server includes a network interface. The queue server is coupled to the socket servers for bidirectional communication with the socket servers. The mapping server is coupled to the arbiter server and to the socket servers for bidirectional communication with the arbiter server and each of the socket servers. The worker servers are coupled to the queue serer and the mapping server. The arbiter server is configured to facilitate communications over a network with the worker servers by at least partially balancing loads on the number of socket servers based, at least in part, upon the mapping server.
-
Citations
17 Claims
-
1. A push gateway including:
-
a plurality of socket servers, each of which is configured to maintain socket server connections to one or more devices; a mapping server configured to develop a map of potential connections to the push gateway, wherein the map is developed based at least in part on information obtained from at least a portion of the plurality of socket servers, wherein the mapping server is configured to communicate with at least one socket server included in the plurality of socket servers; a plurality of worker servers, each of which is configured to identify a particular socket server maintaining a particular socket server connection to a particular device based at least in part on the map developed by the mapping server; a queue server configured to manage queues for messaging between the plurality of worker servers and the plurality of socket servers, wherein the queue server is configured to communicate with at least a portion of the worker servers and at least a portion of the socket servers; and an arbiter server configured to balance loads on at least some of the plurality of socket servers based at least in part on information obtained from the mapping server, wherein the obtained information is associated with the map of potential connections, and wherein the arbiter server is configured to communicate with the mapping server; wherein the arbiter server is configured to provide a list of socket server connections to a device, wherein the list of socket server connections is derived at least in part from the map of potential connections, and wherein at least one message is pushed to the device via a socket server connection derived from the list of connections. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
Specification