Systems and methods for delivering messages over a network
First Claim
1. A method executable by a message server to allow a first device operating on a network to contact a second device that is operating behind a firewall on a network, the method comprising:
- receiving a first request at the message server from the second device operating behind the firewall that identifies the second device that is operating behind the firewall;
establishing a connection between the message server and the second device that is operating behind the firewall in response to the first request;
maintaining the connection as a persistent connection between the message server and the second device that is operating behind the firewall;
after the persistent connection is established, receiving a second request from the first device at the message server, wherein the second request identifies the second device that is operating behind the firewall;
in response to the second request, transmitting a message from the message server to the second device that is operating behind the firewall over the persistent connection previously established between the message server and the second device that is operating behind the firewall.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are described for delivering messages from one or more service hosts to clients via a network. A first request identifying the client is received at the message server, and a connection is established and maintained between the message server and the client in response to the first request. When a subsequent request that identifies the client is received from the service host, a message is transmitted from the message server to the client over the previously-established connection. The methods and techniques may be used, for example, to provide messages from various services to placeshifting devices or other clients communicating via the network.
360 Citations
20 Claims
-
1. A method executable by a message server to allow a first device operating on a network to contact a second device that is operating behind a firewall on a network, the method comprising:
-
receiving a first request at the message server from the second device operating behind the firewall that identifies the second device that is operating behind the firewall; establishing a connection between the message server and the second device that is operating behind the firewall in response to the first request; maintaining the connection as a persistent connection between the message server and the second device that is operating behind the firewall; after the persistent connection is established, receiving a second request from the first device at the message server, wherein the second request identifies the second device that is operating behind the firewall; in response to the second request, transmitting a message from the message server to the second device that is operating behind the firewall over the persistent connection previously established between the message server and the second device that is operating behind the firewall. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system to process messages from at least one service host to a plurality of devices that are each operating behind firewalls on a network, the system comprising:
-
a plurality of message servers; and a load balancer configured to receive connection requests from each of the plurality of devices that are operating behind firewalls, wherein the load balancer is configured to assign each of the connection requests to one of the plurality of message servers and wherein each message server is configured to establish and maintain persistent connections with at least some of the plurality of devices that are operating behind firewalls, to receive the messages from the at least one service host, and to transmit the messages to the at least some of the plurality of devices that are operating behind firewalls over the persistent connections. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A method executable by a message server to establish an interaction between a first device and a second device via a network, wherein the second device operates behind a firewall from the network, the method comprising:
-
maintaining a persistent connection between the message server and the second device operating behind the firewall; receiving a first request identifying the first device by the message server; in response to the second request, transmitting a message from the assigned one of the plurality of message servers to the client over the persistent connection, wherein the message comprises information that allows the client to contact the first server and thereby establish the interaction between the first server and the client. - View Dependent Claims (19, 20)
-
Specification