IP Library Granted Patent US 8,707,389
Granted Patent B2
US 8,707,389 · App. 12/631,397 · Granted Apr 22, 2014

Multi-transport mode devices having improved data throughput

Inventor: Tajinder Manku (Waterloo, CA)
Assignee: Pravala Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,707,389
App. No.
12/631,397
Granted
Apr 22, 2014
Kind
B2
Abstract

A method for transmitting data between a client and a server is provided. The method comprising the following steps. The data is segmented into a plurality of data packets, which are scheduled to be transmitted via different ones of a plurality of access points. Each of the plurality of access points is configured to communicate with the client using a different protocol and communicate with the server using a different network path. Each of the plurality of data packets is transmitted between the client and the server via the scheduled access point. A client device and proxy server configured to implement the method are also provided, as is a computer readable medium having stored thereon instructions for implementing the method.

Claims (38)

1. A method for transmitting data between a client and a proxy server, the method comprising the steps of:

segmenting the data into a plurality of data packets;

scheduling each of the plurality of packets to be transmitted via corresponding ones of a plurality of access points, thereby increasing the effective bandwidth available for transmitting the data, each of the plurality of access points configured to:

communicate with the client using a different protocol; and

communicate with the proxy server using a different network path; and

transmitting each of the plurality of data packets between the client and the proxy server via the scheduled plurality of access points.

2. The method of claim 1 , wherein the ratio of a number of the data packets scheduled on different ones of the access points is determined in accordance with one or more predetermined parameter.

3. The method of claim 2 , wherein the one or more predetermined parameter is one or more of cost, size of data, network conditions, battery power, latency, throughput, location or security level.

4. The method of claim 2 , wherein the ratio of a number of the data packets scheduled on different ones of the access points changes dynamically as the one or more predetermined parameter changes.

5. The method of claim 1 , wherein each of the plurality of data packets are scheduled in accordance with at least one of:

a type of application transmitting the data packets; or

a type of data represented by the data packets.

6. The method of claim 1 comprising the further step of transmitting ones of the plurality of data packets between the client and the server via an access point other than the scheduled access point upon detection of a transmission failure.

7. The method of claim 1 , comprising the further step of tethering the client to another machine in order to access one of the plurality of access points.

8. The method of claim 1 , wherein at least one of the plurality of access points requires a password that is unknown by the client, the method comprising the further steps of:

transmitting, from the client, a password request for using at least one access point that is accessible to the client;

receiving, at the client, a password for the at least one of the plurality of access points requiring a password; and

using the received password to obtain access to the at least one of the plurality of access point requiring a password.

9. The method of claim 1 , wherein the plurality of data packets are arranged into segments and scheduled such that while data packets are being transferred for a given segment via a faster one of the access points, data packets for a subsequent segment are being transferred via a slower one of the access points.

10. A client device configured to transmit data to and receive data from a proxy server, the client device comprising:

a computer readable medium having stored thereon instructions for a device scheduler;

a processor configured to execute the device scheduler, the device scheduler operable to:

segment the data to be transmitted into a plurality of data packets; and

schedule each of the plurality of packets to be transmitted via corresponding ones of a plurality of access points, thereby increasing the effective bandwidth available for transmitting the data, each of the plurality of access points configured to communicate with the client device using a different protocol, and communicate with the proxy server using a different network path; and

transceivers configured to transmit the plurality of data packets to corresponding access points for sending to the proxy server and receive data from the proxy server via the corresponding access points.

11. The client device of claim 10 having a distinct Internet Protocol (IP) address for each transceiver.

12. A proxy server configured to transmit data to and receive data from a client device, the proxy server comprising:

a computer readable medium having stored thereon instructions for a proxy scheduler;

a processor configured to execute the proxy scheduler, the proxy scheduler operable to:

segment the data to be transmitted into a plurality of data packets; and

schedule each of the plurality of packets to be transmitted via corresponding ones of a plurality of access points, thereby increasing the effective bandwidth available for transmitting the data, each of the plurality of access points configured to communicate with the client device using a different protocol, and communicate with the proxy server using a different network path; and

a transceiver interface configured to transmit data to and receive data from a target server.

13. A non-transitory computer readable medium having stored thereon instructions for transmitting data between a client and a proxy server, the instructions, when executed by a processor, cause the processor to implement the steps of:

segmenting the data into a plurality of data packets;

scheduling each of the plurality of packets to be transmitted via corresponding ones of a plurality of access points, thereby increasing the effective bandwidth available for transmitting the data, each of the plurality of access points configured to:

communicate with the client using a different protocol; and

communicate with the proxy server using a different network path; and

transmitting each of the plurality of data packets between the client and the proxy server via the scheduled plurality of access points.

Assignments (3)
SECURITY INTEREST Recorded Jan 28, 2020
From: WILMERDING COMMUNICATIONS, LLC
To: CTH LENDING COMPANY, LLC
Reel/Frame 051642/0731 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 2, 2016
From: PRAVALA, INC.
To: WILMERDING COMMUNICATIONS LLC
Reel/Frame 037873/0021 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2011
From: MANKU, TAJINDER
To: PRAVALA INC.
Reel/Frame 026791/0563 →
Continuity (2)
Provisional Application 61119966 · Dec 4, 2008
Related Publication 20100154044A1 · Jun 17, 2010