System and method for peer-to-peer hybrid communications
First Claim
1. A computer-implemented method for establishing and maintaining a communication session between first and second endpoints in a peer-to-peer network using a non-proprietary protocol, the method comprising:
- sending a STUN (Simple Traversal of UDP through NATs (Network Address Translation)) request from the first endpoint to a STUN server prior to an authentication process with an access server;
using information received from the STUN server in response to the STUN request during the authentication process;
determining by the access server that the second endpoint is behind a device that will prevent it from receiving messages initiated by the first endpoint;
instructing the second endpoint by the access server to periodically send a message to the access server to maintain a first communication channel through the device;
prior to sending a profile and a routing table to the first endpoint, instructing the second endpoint by the access server via the first communication channel to send a message to the first endpoint to open a second communication channel through the device for the first endpoint, wherein the first endpoint'"'"'s notification message can traverse the device through the second communication channel to reach the second endpoint;
retrieving the profile and the routing table from the access server by the first endpoint during the authentication process, wherein the profile identifies the second endpoint as an endpoint with which the first endpoint has permission to communicate, and the routing table contains address information needed for the first endpoint to communicate directly with the second endpoint; and
sending a notification message from the first endpoint directly to the second endpoint using the address information to inform the second endpoint that the first endpoint is online.
1 Assignment
0 Petitions
Accused Products
Abstract
An improved system and method are disclosed for peer-to-peer communications. In one example, the method includes retrieving a profile and a routing table from an access server by a first endpoint during an authentication process. The profile identifies at least a second endpoint as an endpoint with which the first endpoint has permission to communicate. The routing table contains address information needed for the first endpoint to communicate directly with the second endpoint. The first endpoint sends a notification message directly to the second endpoint using the address information to inform the second endpoint that the first endpoint is online.
110 Citations
19 Claims
-
1. A computer-implemented method for establishing and maintaining a communication session between first and second endpoints in a peer-to-peer network using a non-proprietary protocol, the method comprising:
-
sending a STUN (Simple Traversal of UDP through NATs (Network Address Translation)) request from the first endpoint to a STUN server prior to an authentication process with an access server; using information received from the STUN server in response to the STUN request during the authentication process; determining by the access server that the second endpoint is behind a device that will prevent it from receiving messages initiated by the first endpoint; instructing the second endpoint by the access server to periodically send a message to the access server to maintain a first communication channel through the device; prior to sending a profile and a routing table to the first endpoint, instructing the second endpoint by the access server via the first communication channel to send a message to the first endpoint to open a second communication channel through the device for the first endpoint, wherein the first endpoint'"'"'s notification message can traverse the device through the second communication channel to reach the second endpoint; retrieving the profile and the routing table from the access server by the first endpoint during the authentication process, wherein the profile identifies the second endpoint as an endpoint with which the first endpoint has permission to communicate, and the routing table contains address information needed for the first endpoint to communicate directly with the second endpoint; and sending a notification message from the first endpoint directly to the second endpoint using the address information to inform the second endpoint that the first endpoint is online. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-implemented method executable for establishing and maintaining a communication session with between first and second endpoints in a peer-to-peer network, the method comprising:
-
sending a STUN (Simple Traversal of UDP through NATs (Network Address Translation)) request from the first endpoint to a STUN server prior to an authentication process with an access server; using information received from the STUN server in response to the STUN request during the authentication process; determining by the access server that the second endpoint is behind a device that will prevent it from receiving messages initiated by the first endpoint; instructing the second endpoint by the access server to periodically send a message to the access server to maintain a first communication channel through the device; prior to sending a profile and a routing table to the first end point instructing the second endpoint by the access server via the first communication channel to send a message to the first endpoint to open a second communication channel through the device for the first endpoint, wherein the first endpoint'"'"'s notification message can traverse the device through the second communication channel to reach the second endpoint; retrieving the profile and the routing table from the access server during the authentication process and storing the profile and routing table on the first endpoint, wherein the profile indicates that the second endpoint has expressly granted the first endpoint permission to communicate with the second endpoint, and the routing table contains address information needed for the first endpoint to communicate directly with the second endpoint; notifying the second endpoint that the first endpoint is online by sending a first notification message from the first endpoint directly to the second endpoint, wherein the first notification message informs the second endpoint that the first endpoint is available for a communication session with the second endpoint; receiving a second notification message sent directly to the first endpoint from the second endpoint, wherein the second notification message informs the first endpoint that the second endpoint is going offline; marking, by the first endpoint, a status of the second endpoint as offline in the profile after receiving the second notification message; after marking the status of the second endpoint as offline, receiving a third notification message sent directly to the first endpoint from the second endpoint, wherein the third notification message informs the first endpoint that the second endpoint is online; and marking, by the first endpoint, a status of the second endpoint as online in the profile after receiving the third notification message. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19)
-
Specification