IP Library Granted Patent US 8,085,810
Granted Patent B2
US 8,085,810 · App. 12/535,081 · Granted Dec 27, 2011

Cross-layer pipelining optimizations for reduced roundtrips and improving quality of experience

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,085,810
App. No.
12/535,081
Granted
Dec 27, 2011
Kind
B2
Abstract

Methods for pipelining, piggybacking, and transporting cross layer parameters through a network to reduce round-trip times are disclosed. Application activation, such as accessing a web-site through the internet, currently uses several protocols, including DNS Name resolution, establishing a TCP connection, sending HTTP Request and getting HTTP-Response that contains the web-page data, before the data from the web-site can be displayed to the user. Such operations take several round-trips through the transit network and are of the order of 100 to 200 milliseconds in the wireless access network in the best case. A method of generating a multi-part message to reduce these round trip is disclosed, as well as a proxy device which minimizes client side round trips while utilizing standard messaging in the wireline network. The invention includes client side user parameter gathering when specifying the application first (pre-fix), or specifying the application last (post-fix).

Claims (62)

1. A method for reducing round-trip communication over a network between a client and one or more remote servers, comprising:

a. providing a client-side software application for collecting input from user, said input selected from the group consisting of software application identification, software application parameters, and remote server information.

b. using said Client-side software application to analyze said user input, to determine a set of required protocol and application steps including a DNS request, to construct a multi-part message based on said user input, wherein said multi-part message comprises a single message which includes portions associated with multiple protocols and/or applications, and to receive responses from said one or more remote servers;

c. sending said multi-part message toward a network device that supports receiving such multi-part messages;

d. using said network device to receive said multi-part message, to identify said DNS Request portion of said multi-part message, to resolve the domain names to the address of an application server, and remove said DNS Request from said multi-part message;

e. using said network device to forward the remaining portion of said multi-part message toward said application server;

f. using said application server to receive said remaining portion of said multipart message, to identify a network protocol portion of the message, to complete a protocol handshake with said client device; and

g. using said application server to decode a portion of said multi-part message that includes application parameters, and sending an application response to said client over a network connection established in step f.

2. The method of claim 1 , wherein said protocol handshake and said application response are sent to said client in a multi-part response message.

3. The method of claim 1 , wherein said network device performs the following steps after receipt of said multi-part message:

a. recognizing a portion of said multi-part message that it supports;

b. determining parameters for said portion;

c. filling in other portions of said multi-part message with said determined parameters; and

d. forwarding said multi-part message toward an application server.

4. The method of claim 3 , wherein said network is a DNS server, said determined parameter comprises the IP address of said application server, and said network devices fills in said IP address into a network protocol portion of said multi-part message.

5. The method of claim 3 , wherein said application server receives the remaining portion of the multi-part message forwarded by said network device, and completes processing said remaining portion of multi-part message.

6. The method of claim 5 , wherein said processing of said remaining portion of said multi-part message comprises establishing transport layer connection with said client, and handing over the application request to the application server.

7. The method of claim 3 , wherein a second network device receives said forwarded multi-part message, and after receipt of said multi-part message, performs the following steps:

a. processing a portion of said message;

b. removing said processed portion of said message;

c. filling in a portion of remaining message from the processing completed; and

d. forwarding said remaining message toward said application server.

8. The method of claim 1 , wherein said client-side software application receives user input, and determines the associated applications in said client device, and the corresponding network protocols for completing the user request.

9. The method of claim 1 , wherein said network device receives responses for each portion of the received multi-part message, constructs a multi-part response message and sends said response to said client.

10. The method of claim 1 , wherein said network device sends a DNS response to said client after identifying said DNS Request portion of said multi-part message, and resolving said domain names to the address of an application server.

11. A method of reducing round-trip communication through the internet between a client and one or more remote servers, comprising:

a. using a software application in a client device to construct a multi-part message, said multi-part message comprising a single message which comprises:

application and network protocol portions derived from input received from a user of said client device, wherein said network protocol portion comprises DNS Request, TCP SYN Request and or UDP/Application data, and other network/transport protocol information, and said application portion comprises corresponding application information, and wherein said protocol and application portions comprise only local information available in said client device, and wherein information not available in said client is marked as such so as to be filled by said one or more remote servers; and

b. sending said multi-part message toward said one or more remote servers.

12. The method of claim 11 , further comprising:

a. Using said software application in the client device to identify and launch local applications and network protocol entities, to receive and process responses from the multi-part message.

13. The method of claim 11 , wherein said application portion comprises information selected from the group consisting of locally known geographical location information, sector, cell or region information known to the client device in a cellular network environment, and time of day information.

14. The method of claim 11 , wherein said corresponding application information comprises a http request.

15. The method of claim 11 , wherein said information not available in said client comprises an IP address.

16. A method for reducing round-trip communication over a network between a client and one or more remote servers, comprising:

a. providing a client-side software application for collecting input from user, said input selected from the group consisting of software application identification, software application parameters, and remote server information.

b. using said Client-side software application to analyze said user input, to determine a set of required protocol and application steps including a DNS request, to construct a multi-part message based on said user input, wherein said multi-part message comprises a single message which includes portions associated with multiple protocols and/or applications, and to receive responses from said one or more remote servers;

c. sending said multi-part message toward a proxy device that supports receiving such multi-part messages; and

d. locating said proxy device in the path between said client and said remote servers, wherein said proxy performs the following steps:

i. identifying a portion of the said multi-part message;

ii. performing a proxy operation for that portion of the message by constructing a corresponding standard message using the information from the said portion;

iii. forwarding said standard message to a relevant server;

iv. receiving a response from said relevant server;

v. and returning a response to the original server.

17. The method of claim 16 , wherein said proxy device further performs the following steps:

a. filling appropriate portions of said multi-part message with said response received from said relevant server;

b. processing the next part of said multi-part message, by

i. performing a proxy operation for said next part of said multi-part message by constructing a second corresponding standard message using the information from said filled portion;

ii. forwarding said second standard message to a second relevant server;

iii. receiving a response from said second relevant server;

iv. and returning a second response to the original server.

18. The method of claim 16 , wherein said proxy device utilizes standard messages when communicating with said remote servers.

19. The method of claim 16 , wherein said proxy is located in the Radio Access Network for reducing the round trips in the wireless network.

20. The method of claim 16 , wherein said proxy is located in the Public Land Mobile Network (PLMN).

21. The method of claim 20 , wherein said proxy is located between the GGSN and the internet.

22. The method of claim 16 , wherein said proxy gathers responses for each portion of said received multi-part message, constructs a multi-part response message and sends said response to said client.

23. A method of dissociating user input and application launching comprising:

a. executing, on a computer, a software application for gathering user input independent of application activation or launching; wherein said software application:

i. accepts the user input in which the application parameters, protocol type, and application name, are provided by said user; and

ii. generates a multi-part message; wherein said multi-part message comprises a single message which comprises identifiable portions, where each portion contains unique identification of which application or protocol should process that portion, and the corresponding local protocol parameters and options.

24. The method of claim 23 , wherein said application allows the user to specify a plurality of applications, protocols, or targets.

25. The method of claim 23 , wherein said application receives said user input in post-fix format.

Assignments (8)
SHORT-FORM PATENTS SECURITY AGREEMENT Recorded Sep 5, 2024
From: RIBBON COMMUNICATIONS OPERATING COMPANY, INC.
To: HPS INVESTMENT PARTNERS, LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 068857/0351 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2024
From: GENBAND INC.
To: RIBBON COMMUNICATIONS OPERATING COMPANY, INC.
Reel/Frame 068037/0479 →
RELEASE OF SECURITY INTEREST Recorded Jun 24, 2024
From: CITIZENS BANK, N.A.
To: GENBAND INC.
Reel/Frame 067812/0090 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 049034/0227 Recorded Dec 6, 2021
From: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
To: GENBAND, INC. (F/K/A RIBBON COMMUNICATIONS SECURITIES CORP.)
Reel/Frame 058954/0548 →
SECURITY INTEREST Recorded Mar 3, 2020
From: GENBAND INC.
To: CITIZENS BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 051989/0463 →
SECURITY INTEREST Recorded Apr 30, 2019
From: RIBBON COMMUNICATIONS SECURITIES CORP.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 049034/0227 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 26, 2019
From: MOVIK NETWORKS, INC.
To: RIBBON COMMUNICATIONS SECURITIES CORP.
Reel/Frame 048703/0446 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2011
From: KOVVALI, SURYA KUMAR; RAGHAVAN, RAMJI
To: MOVIK NETWORKS
Reel/Frame 027263/0018 →