System and method for establishing peer to peer connections between PCS and smart phones using networks with obstacles
First Claim
Patent Images
1. A method comprising:
- receiving at a relay server an HTTP request from a first peer device via a network including an obstacle, wherein the HTTP request from the first peer device comprises data intended for a second peer device;
receiving at the relay server an HTTP request from the second peer device, the HTTP request from the second peer device including an indication that the second peer device is listening for connections;
generating at the relay server an HTTP response to the HTTP request received from the second peer device;
copying the data from the HTTP request from the first peer device intended for the second peer device into the HTTP response;
transmitting the HTTP response from the relay server to the second peer device; and
wherein the relay server does not buffer the data received from the first peer device intended for the second peer device.
9 Assignments
0 Petitions
Accused Products
Abstract
A method of circumventing network obstacles to provide a peer-to-peer communication channel between peers utilizing hypertext transfer protocol (HTTP) includes communicating a HTTP request from a peer device to a relay through a network including an obstacle where the HTTP request is intended for another peer device. The method further includes communicating a HTTP response from the relay to the peer device and establishing a communication channel between the peer device and the another peer device via the relay. The communication channel permits the peer device and the another peer device to send and receive data.
22 Citations
18 Claims
-
1. A method comprising:
-
receiving at a relay server an HTTP request from a first peer device via a network including an obstacle, wherein the HTTP request from the first peer device comprises data intended for a second peer device; receiving at the relay server an HTTP request from the second peer device, the HTTP request from the second peer device including an indication that the second peer device is listening for connections; generating at the relay server an HTTP response to the HTTP request received from the second peer device; copying the data from the HTTP request from the first peer device intended for the second peer device into the HTTP response; transmitting the HTTP response from the relay server to the second peer device; and wherein the relay server does not buffer the data received from the first peer device intended for the second peer device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. One or more computer-readable media, storing computer-executable instructions, that when executed by a computer, cause the computer to perform a method comprising:
-
receiving at a relay server an HTTP request from a first peer device via a network including an obstacle, wherein the HTTP request from the first peer device comprises data intended for a second peer device; receiving at the relay server an HTTP request from the second peer device, the HTTP request from the second peer device including an indication that the second peer device is listening for connections; generating at the relay server an HTTP response to the HTTP request received from the second peer device; copying the data from the HTTP request from the first peer device intended for the second peer device into the HTTP response; transmitting the HTTP response from the relay server to the second peer device; and wherein the relay server does not buffer the data received from the first peer device intended for the second peer device. - View Dependent Claims (10, 11, 12, 13)
-
-
14. An apparatus comprising:
-
a processor controlling at least some operations of the apparatus; a memory storing computer executable instructions that, when executed by the processor, cause the apparatus to perform; receiving an HTTP request from a first peer device via a network including an obstacle, wherein the HTTP request from the first peer device comprises data intended for a second peer device; receiving an HTTP request from the second peer device, the HTTP request from the second peer device including an indication that the second peer device is listening for connections; generating an HTTP response to the HTTP request received from the second peer device; copying the data from the HTTP request from the first peer device intended for the second peer device into the HTTP response; transmitting the HTTP response to the second peer device; and wherein the apparatus is configured to not buffer the data received from the first peer device intended for the second peer device. - View Dependent Claims (15, 16, 17, 18)
-
Specification