Methods, systems and program products for efficient communications during data sharing event
First Claim
1. A method for communicating streaming data between a plurality of users participating in a real-time communications event over a packet based data network, the method comprising the steps of:
- a source using a locator table that correlates a plurality of requests to a plurality of different sinks to identify a first sink corresponding to a request to join a video conference, said request including at least a method, one or more method parameters, and a time to live value;
said source using a sink data repository to identify a first sink address corresponding to said first sink, said sink data repository comprising sink addresses and associated latency values for a plurality of different sinks, wherein said identified first sink address is selected so that said latency value associated with said identified first sink address satisfies said time to live value;
said source communicating said request to said first sink;
said first sink returning an error message if said time to live has expired, and if said time to live has not expired said first sink processing said request through one or more steps of;
acting as a resource by executing said method using said method parameters and communicating a response to said source, wherein executing said method includes connecting said source with a plurality of other sources at a conference bridge, each of said sources communicating real time streaming video and audio data to one another over said bridge whereby said plurality of sources conduct a video conference;
acting as a filter by forwarding said request to a second sink; and
,redirecting said request back to said source for communicating to a second sink;
said source transmitting a reserve request to one or more of said first sinks, said reserve request including a maximum amount of latency and a time frame; and
said one or more first sinks receiving said reserve request and returning a success response if said sink can provide a latency that satisfies said maximum latency value for said time frame, and otherwise returning a failure response.
6 Assignments
0 Petitions
Accused Products
Abstract
One example embodiment of the invention is a method for communicating streaming data between a plurality of users participating in a real-time communications event over a packet based data network, the method comprising the steps of: a source identifying a first sink corresponding to a request, the request including at least a method, one or more method parameters, and a time to live value; the source using a sink data repository to identify a first sink address corresponding to the first sink, the sink data repository comprising sink addresses for a plurality of different sinks; the source communicating the request to said first sink; and, the first sink returning an error message if the time to live has expired, and if the time to live has not expired the first sink processing the request through one or more steps of: acting as a resource by executing the method using the method parameters and communicating a response to the source; acting as a filter by forwarding the request to a second sink; and, redirecting the request back to the source for communicating to a second sink.
57 Citations
13 Claims
-
1. A method for communicating streaming data between a plurality of users participating in a real-time communications event over a packet based data network, the method comprising the steps of:
-
a source using a locator table that correlates a plurality of requests to a plurality of different sinks to identify a first sink corresponding to a request to join a video conference, said request including at least a method, one or more method parameters, and a time to live value; said source using a sink data repository to identify a first sink address corresponding to said first sink, said sink data repository comprising sink addresses and associated latency values for a plurality of different sinks, wherein said identified first sink address is selected so that said latency value associated with said identified first sink address satisfies said time to live value; said source communicating said request to said first sink; said first sink returning an error message if said time to live has expired, and if said time to live has not expired said first sink processing said request through one or more steps of; acting as a resource by executing said method using said method parameters and communicating a response to said source, wherein executing said method includes connecting said source with a plurality of other sources at a conference bridge, each of said sources communicating real time streaming video and audio data to one another over said bridge whereby said plurality of sources conduct a video conference; acting as a filter by forwarding said request to a second sink; and
,redirecting said request back to said source for communicating to a second sink; said source transmitting a reserve request to one or more of said first sinks, said reserve request including a maximum amount of latency and a time frame; and said one or more first sinks receiving said reserve request and returning a success response if said sink can provide a latency that satisfies said maximum latency value for said time frame, and otherwise returning a failure response. - View Dependent Claims (2, 3, 4, 7, 8, 9)
-
-
5. A real time communications system for conducting a real-time communications sharing event between a plurality of users over a synchronized packet based data network, the system comprising a plurality of computers linked to one another for communication with one another, and further comprising:
-
a plurality of sources linked to the network configured to communicate requests, each of said requests including at least a method and a time to live value, one each of said sources corresponding to one each of the users; a plurality of first nodes distributed across a plurality of the computers, each of said first nodes configured to receive requests, to execute said method contained in said request and to communicate a response following execution of said method if said time to live value has not expired, and configured to communicate an error message if said time to live value has expired, at least one of said first nodes receiving a request and executing said request; a plurality of second nodes distributed across a plurality of the computers, said second nodes configured to receive requests and to forward said requests to said first nodes if said time to live value has not expired and to return an error message if said time to live value has expired; wherein said plurality of first nodes and second nodes collectively are configured as a distributed configuration for conducting a real time communications sharing event on the network whereby each of the plurality of users may communicate real time streaming data to each of the other users, wherein each of said plurality of sources is configured to communicate a reserve request, specifying a maximum amount of latency and a time frame, and each of said first and second nodes is configured to return a success response if the node can guarantee a latency below the specified amount of latency during the specified time frame, otherwise the node returns a failure response, and wherein said time to live value is a clock time, said time to live value has expired if an actual clock time exceeds said time to live value clock time, otherwise said time to live value has not expired. - View Dependent Claims (6, 10, 11, 12)
-
-
13. A method for communicating streaming data between a plurality of users participating in a real-time communications event over a packet based data network, the method comprising the steps of:
-
a source identifying a first sink corresponding to a first request using a locator table that correlates a plurality of first requests to a plurality of different sinks, said first request including at least a method, one or more method parameters, and a time to live value; said source using a sink data repository to identify a first sink address corresponding to said first sink, said sink data repository comprising sink addresses and associated latency values for a plurality of different sinks, wherein said identified first sink address is selected so that said latency value associated with said identified first sink address satisfies said time to live value; said source communicating said first request to said first sink; and
,said first sink returning an error message if said time to live has expired, and if said time to live has not expired said first sink processing said first request through one or more steps of; acting as a resource by executing said method using said method parameters and communicating a response to said source; acting as a filter by determining a plurality of target second sinks to which said first request could be forwarded, estimating a latency of each of said plurality of target second sinks, and forwarding said first request to a one of the plurality of target second sinks having the smallest estimated latency by using a second sink data repository to determine a sink address for the second sink having the smallest latency; and redirecting said first request back to said source for communicating to a second sink, wherein when said source transmits a reserve request including a maximum amount latency value and a time frame to one or more of said different sinks, said one or more first sinks return a success response if said sink can provide a latency lower than said maximum latency value for said time frame, and otherwise returning a failure response, wherein said first request comprises a request to join a video conference, and wherein the step of processing said first request comprises connection of said source with a plurality of other sources at a conference bridge, each of said sources communicating real time streaming video and audio data to one another over said bridge whereby said plurality of sources conduct a video conference.
-
Specification