Proximity detection for media proxies
First Claim
Patent Images
1. A method of assigning a media proxy to a client based on proximity of the media proxy, comprising:
- a first server receiving a request from the client for a media session;
the first server transmitting a list of media proxies to the client, wherein the client is configured to transmit a request to each of one or more media proxies in the list of media proxies;
the first server assigning a first media proxy of the list of media proxies based on determined proximity between the client and each of the one or more media proxies, wherein the determined proximity between the client and each of the one or more media proxies is based on;
times of receipt of responses received from the one of the one or more media proxies, wherein each response is in response to the respective request from the client; and
round trip times to and from the one or more media proxies.
0 Assignments
0 Petitions
Accused Products
Abstract
A method of detecting proximity between a media proxy and a client uses a proximity probe to query a plurality of media proxies, forcing the media proxies to respond to a proximity server. The proximity server uses an algorithm to determine which media proxy is closest to the client based on the responses. In an alternate embodiment, the same sorts of proximity probes may be used to determine if two media endpoints have a direct connection such that they may bypass a media proxy.
246 Citations
25 Claims
-
1. A method of assigning a media proxy to a client based on proximity of the media proxy, comprising:
-
a first server receiving a request from the client for a media session; the first server transmitting a list of media proxies to the client, wherein the client is configured to transmit a request to each of one or more media proxies in the list of media proxies; the first server assigning a first media proxy of the list of media proxies based on determined proximity between the client and each of the one or more media proxies, wherein the determined proximity between the client and each of the one or more media proxies is based on; times of receipt of responses received from the one of the one or more media proxies, wherein each response is in response to the respective request from the client; and round trip times to and from the one or more media proxies. - View Dependent Claims (2, 3, 4)
-
-
5. An application server for assigning a media proxy to a client based on proximity of the media proxy, the application server comprising:
-
communication circuitry configured to communicate with the client; and processing hardware coupled to the communication circuitry, wherein the processing hardware is configured to; receive a request from the client for a media session using the communication circuitry; transmit a list of media proxies to the client using the communication circuitry, wherein the client is configured to transmit a request to each of one or more media proxies in the list of media proxies; assign a first media proxy of the list of media proxies based on determined proximity between the client and each of the one or more media proxies, wherein the determined proximity between the client and each of the one or more media proxies is based on; times of receipt of responses received from the one of the one or more media proxies, wherein each response is in response to the respective request from the client; and round trip times to and from the one or more media proxies. - View Dependent Claims (6, 7)
-
-
8. A non-transitory, computer accessible memory medium storing program instructions for assigning a media proxy to a client based on proximity of the media proxy, wherein the program instructions are executable by a processor to:
-
receive a request from the client for a media session; transmit a list of media proxies to the client, wherein the client is configured to transmit a request to each of one or more media proxies in the list of media proxies; assign a first media proxy of the list of media proxies based on determined proximity between the client and each of the one or more media proxies, wherein the determined proximity between the client and each of the one or more media proxies is based on; times of receipt of responses received from the one of the one or more media proxies, wherein each response is in response to the respective request from the client; and round trip times to and from the one or more media proxies. - View Dependent Claims (9, 10)
-
-
11. A method of determining proximity between a media proxy and a client comprising:
-
a first media proxy receiving a request from the client, wherein the request is for determining proximity to the client; in response to the request, the first media proxy creating a timestamp and transmitting a response to the request including the timestamp corresponding to when the request was received, wherein the first media proxy transmits the response including the timestamp to a proximity server; and the first media proxy being assigned to the client based on at least the timestamp in the response. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A media proxy for providing media services to a client, the media proxy comprising:
-
communication circuitry for communicating with the client and a proximity server; and processing hardware coupled to the communication circuitry, wherein the processing hardware is configured to; receive a request from the client using the communication circuitry, wherein the request is for determining proximity to the client; in response to the request, create a timestamp and transmit a response to the request using the communication circuitry, wherein the response comprises the timestamp corresponding to when the request was received, wherein the response comprising the timestamp is transmitted to a proximity server; and wherein the media proxy is assigned to the client based on at least the timestamp in the response. - View Dependent Claims (17, 18, 19, 20)
-
-
21. A non-transitory, computer accessible memory medium storing program instructions for providing media services to a client, wherein the program instructions are executable by a processor to:
-
receive a request from the client, wherein the request is for determining proximity to the client; in response to the request, create a timestamp and transmit a response to the request, wherein the response comprises the timestamp corresponding to when the request was received, wherein the response comprising the timestamp is transmitted to a proximity server; and be assigned to the client based on at least the timestamp in the response. - View Dependent Claims (22, 23, 24, 25)
-
Specification