Time-window-constrained multicast using connection scheduling
First Claim
1. A method of distributing a client among a first trusted edge server and a second trusted edge server, wherein a trusted edge server is a server, in a communications path between an originating server and a connected client, that can be trusted not to release information prior to an appropriate time, the method comprising:
- determining a first latency between the first trusted edge server and the client;
comparing the first latency to a second latency between the second trusted edge server and the client;
transferring the client to the second trusted edge server if the second latency is lower than the first latency;
determining a first send time as a function of the second latency;
determining an originating latency between the originating server and the second trusted edge server;
determining an originating send time as a function of the first send time and the originating latency;
sending an event from the originating server to the second trusted edge server at the originating send time; and
sending the event from the second trusted edge server to the client at the first send time.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of reducing bandwidth limitations to send events to a set of interested clients within a pre-defined time period as quickly and fairly as possible. The clients can be re-distributed among the servers in a network such that the delay due to server overloading is minimized by moving clients from an overloaded server to a server with available bandwidth. In addition, the latency of client-server communications can be incorporated into an estimation of download times, and the servers can then initiate delivery to respective clients based on those download times. By staggering the send times to account for heterogeneous latencies, more clients can receive the event at the same time, and a fairness of distribution can be achieved.
25 Citations
8 Claims
-
1. A method of distributing a client among a first trusted edge server and a second trusted edge server, wherein a trusted edge server is a server, in a communications path between an originating server and a connected client, that can be trusted not to release information prior to an appropriate time, the method comprising:
-
determining a first latency between the first trusted edge server and the client; comparing the first latency to a second latency between the second trusted edge server and the client; transferring the client to the second trusted edge server if the second latency is lower than the first latency; determining a first send time as a function of the second latency; determining an originating latency between the originating server and the second trusted edge server; determining an originating send time as a function of the first send time and the originating latency; sending an event from the originating server to the second trusted edge server at the originating send time; and sending the event from the second trusted edge server to the client at the first send time. - View Dependent Claims (2, 3, 4)
-
-
5. A computer-readable storage medium, having computer-executable instructions stored thereon for distributing a client among a first trusted edge server and a second trusted edge server, wherein a trusted edge server is a server, in a communications path between an originating server and a connected client, that can be trusted not to release information prior to an appropriate time, the computer-executable instructions, when executed by a computer processor, performing a method comprising:
-
determining a first latency between the first trusted edge server and the client; comparing the first latency to a second latency between the second trusted edge server and the client; transferring the client to the second trusted edge server if the second latency is lower than the first latency; determining a first send time as a function of the second latency; determining an originating latency between the originating server and the second trusted edge server; determining an originating send time as a function of the first send time and the originating latency; sending an event from the originating server to the second trusted edge server at the originating send time; and sending the event from the second trusted edge server to the client at the first send time. - View Dependent Claims (6)
-
-
7. A system for network distribution to minimize latencies, the system comprising;
-
an originating server; a first trusted edge server having connected to it a client; a second trusted edge server, wherein a trusted edge server is a server, in a communications path between the originating server and a connected client, that can be trusted not to release information prior to an appropriate time; and computer-executable instructions encoded on a computer-readable storage medium that, when executed by a computer processor, perform a method comprising; determining a first latency between the first trusted edge server and the client; comparing the first latency to a second latency between the second trusted edge server and the client; transferring the client to the second trusted edge server if the second latency is lower than the first latency; determining a first send time as a function of the second latency; determining an originating latency between the originating server and the second trusted edge server; determining an originating send time as a function of the first send time and the originating latency; sending an event from the originating server to the second trusted edge server at the originating send time; and sending the event from the second trusted edge server to the client at the first send time. - View Dependent Claims (8)
-
Specification