IP Library Granted Patent US 7,275,111
Granted Patent B2
US 7,275,111 · App. 11/407,606 · Granted Sep 25, 2007

Time-window-constrained multicast using connection scheduling

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,275,111
App. No.
11/407,606
Granted
Sep 25, 2007
Kind
B2
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.

Claims (38)

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.

2. The method of claim 1 , wherein the step of determining the first latency further comprises:

estimating the first latency using a connection history between the first trusted edge server and the client.

3. The method of claim 1 , wherein the step of determining the first latency further comprises:

estimating the first latency using network functions to test a first connection between the first trusted edge server and the client.

4. The method of claim 1 , wherein the second latency is a minimum theoretical latency.

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.

6. The computer-readable medium of claim 5 , wherein the second latency is a minimum theoretical latency.

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.

8. The system of claim 7 , wherein the second latency is a minimum theoretical latency.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →