US2017302724A1PendingUtilityA1

Virtual Channel Joining

45
Assignee: OPEN GARDEN INCPriority: Mar 4, 2013Filed: Jun 30, 2017Published: Oct 19, 2017
Est. expiryMar 4, 2033(~6.6 yrs left)· nominal 20-yr term from priority
H04W 76/025H04W 74/02H04L 67/1023H04L 67/1008H04W 88/06H04L 67/02H04L 67/104H04L 69/14H04W 76/15
45
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Methods for establishing connection to the Internet using multiple channels. A device takes advantage of several channels available to it internally and/or from neighboring devices to request the various resources of the webpage, and assembles the webpage using the resources arriving from the different channels. When a device has the ability to connect to the Internet using multiple internal channels, the device uses internal heuristics to request the webpage resources using these channels. A cloud exit server may be used to enhance security and to handle requests that may not be handled using multiple channels.

Claims

exact text as granted — not AI-modified
What is claimed: 
     
         1 . A method of communicating between a mobile device and a target host that is remote from the mobile device, the method comprising:
 establishing a first communication connection over a first communication channel for data transmission between the mobile device and a first relaying device;   establishing a second communication connection over a second communication channel for data transmission between the mobile device and a second relaying device, wherein the second communication channel is distinct from the first communication channel and has at least one channel characteristic distinct from that of the first communication channel;   identifying an Internet resource to request and a request that is configured to result, when responded to, in transmission of the Internet resource to the mobile device;   parsing the request for the Internet resource into at least a first partial request and a second partial request;   sending the first partial request to the first relaying device over the first communication channel;   sending the second partial request to the second relaying device over the second communication channel;   receiving a first partial response to the first partial request;   receiving a second partial response to the second partial request; and   combining the first partial response and the second partial response, at the mobile device, to form a response to the request.   
     
     
         2 . The method of  claim 1 , wherein sending the first partial request over the first communication channel uses a first IP address and sending the second partial request over the second communication channel uses a second IP address distinct from the first IP address. 
     
     
         3 . The method of  claim 1 , further comprising:
 encapsulating the first partial request into a first encapsulated request prior to sending the first partial request to over the first communication channel; and   sending the first partial request to a cloud exit server for decapsulation prior to the first partial request being sent to the first relaying device.   
     
     
         4 . The method of  claim 1 , wherein the first partial request comprises an HTTP range request that specifies part of a file to be sent to the mobile device. 
     
     
         5 . The method of  claim 1 , further comprising:
 weighing individual requests of a plurality of requests by number of bytes in each individual request; and   balancing the number of bytes sent over the first communication channel and the second communication channel.   
     
     
         6 . The method of  claim 5 , further comprising:
 maintaining an first estimate of past performance of the first communication channel and a second estimate of past performance of the second communication channel; and   allocating bytes of the plurality of requests over the first communication channel and the second communication channel based on the first estimate of past performance and the second estimate of past performance.   
     
     
         7 . The method of  claim 5 , further comprising:
 maintaining a first cost of using the first communication channel and a second cost of using the second communication channel; and   allocating the plurality of requests over the first communication channel and the second communication channel based on the first cost and the second cost.   
     
     
         8 . The method of  claim 1 , wherein the mobile device is a smartphone and the first relaying device comprises a wireless router coupled to a wired Internet channel. 
     
     
         9 . The method of  claim 1 , wherein the first communication channel is a cellular network channel and the second communication channel is either a wireless network channel or a Bluetooth™ protocol channel. 
     
     
         10 . The method of  claim 1 , further comprising:
 executing a user application on the mobile device; and   executing a client application on the mobile device, to perform a process comprising:
 (a) intercepting an application request generated by the user application; 
 (b) analyzing the application request to determine whether the request is decipherable and can be processed by the client application; 
 (c) when the request is not decipherable and cannot be processed by the client application, encapsulating the request as a first encapsulated partial request inside a first encapsulation packet and a second encapsulated partial request inside a second encapsulation packet, wherein:
 1) the first encapsulated partial request contains a first target address of the first relaying device; 
 2) the first encapsulation packet contains as its packet destination an address of a network-connected server; 
 3) the second encapsulated partial request contains as second target address of the second relaying device; and 
 4) the second encapsulation packet contains as its packet destination the address of the network-connected server; 
 
 (d) when the request is not decipherable and cannot be processed by the client application, sending the first encapsulated partial request to the network-connected server via the first relaying device; and 
 (e) when the request is not decipherable and cannot be processed by the client application, sending the second encapsulated partial request to the network-connected server via the second relaying device. 
   
     
     
         11 . The method of  claim 10 , further comprising:
 intercepting a request generated by the user application;   analyzing the request to determine whether the request is decipherable and can be handled by the client application;   when the request is not decipherable, encapsulating the request as an encapsulated request inside an encapsulation packet, wherein the encapsulated request contains a source address and a target address and the encapsulation packet contains the address of the network-connected server; and   sending the encapsulated request to the network-connected server.   
     
     
         12 . The method of  claim 1 , further comprising:
 receiving a communication request on an OSI IP layer;   analyzing the communication request to classify the communication request and determine whether the communication request can be handled on a higher OSI layer;   when the communication request cannot be handled on the higher OSI layer, sending the communication request over the OSI IP layer; and   when the communication request can be handled on the higher OSI layer, sending the communication request over the higher OSI layer.   
     
     
         13 . The method of  claim 12 , wherein analyzing the request comprises determining a port number of the request, a packet type of the request, and content of the request. 
     
     
         14 . The method of  claim 12 , wherein, when it is determined that the request can be handled over an OSI application layer, sending the request and a duplicate of the request over multiple communications channels. 
     
     
         15 . The method of  claim 12 , wherein when the request is classified as an HTTP request, sending the request over multiple communications channels over an OSI application layer. 
     
     
         16 . The method of  claim 12 , wherein when it is determined that the request cannot be handled at a higher OSI layer, encapsulating the request into an encapsulated request by including a target address and an originating address in the encapsulated request and having an address of a cloud exit server upon encapsulation of the request, enabling the cloud exit server to decapsulate the request and forward the request using the target address. 
     
     
         17 . The method of  claim 16 , wherein encapsulating the request comprises placing a packet of the request having a source address and a target address inside an encapsulation packet having a cloud exit server address.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.