IP Library Granted Patent US 7,047,536
Granted Patent B1
US 7,047,536 · App. 09/752,112 · Granted May 16, 2006

Method and apparatus for classifying remote procedure call transport traffic

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 7,047,536
App. No.
09/752,112
Granted
May 16, 2006
Kind
B1
Abstract

A data communication network for DiffServ communications has a software library added to clients connected to a data communication network having a DiffServ-enabled edge router. When an application running on a client system wishes to make a remote procedure call to a remote server system on another network, it makes its usual call for RPC invocation using the software library. This RPC call is intercepted by a protocol layer interposed between the application layer and the underlying RPC transport code. The protocol layer detects when an RPC call is being made and can determine the identity of the calling procedure as well. The library makes a side channel communication to the edge router to provide this information to the edge router or alternative service decider, which then makes use of this data when performing DiffServ classification for packets transmitted during the course of the call.

Claims (46)

1. A method for classifying a remote procedure call from a client system in a first network that initiates connections to a remote server in a second network via a classifying edge router using a client and underlying remote procedure call transport code, the method comprising:

detecting when a connection for the remote procedure call is created;

using a side channel to communicate flow information associated with the detected connection to the classifying edge router, the flow information including a port number associated with the communication, the flow information provided to enable the classifying edge router to assign a quality of service classifier to the remote procedure call for appropriately prioritized transfer to the second network; and

incorporating the flow information into a differentiated services classification subsystem of the classifying edge router by associating the equality of service level to the detected connection; and

wherein the detecting comprises:

providing an Application Programming Interface (API) to calling applications;

detecting when the applications call the API; and

executing a remote procedure routine based on a call by an application, the remote procedure routine including forwarding the flow information to the classifying edge router via the side channel; and

wherein:

the executing comprises accessing a remote procedure call API; and

the API provided to the calling applications includes functionality duplicative of remote procedure call API functionality.

2. The method of claim 1 , wherein:

the executing comprises accessing a remote procedure call API; and the API provided to the calling applications presents an interface duplicative of the remote procedure call API to the calling applications.

3. The method of claim 1 , further comprising:

obtaining flow information from an application call to the API; and

providing the flow information to the classifying edge router via the side channel.

4. The method of claim 3 , wherein the flow information includes a five-tuple including sender and receiver Media Access Control (MAC) and Internet Protocol (IP) addresses, sender and receiver MAC and IP port numbers, and Transmission Control Protocol (TCP) protocol type for the connection.

5. The method of claim 1 , wherein the side channel is implemented as Common Gateway Interface (CGI) script from the client to the classifying edge router.

6. The method of claim 1 , wherein the flow information includes a five-tuple including sender and receiver Media Access Control (MAC) and Internet Protocol (IP) addresses, sender and receiver MAC and IP port numbers, and Transmission Control Protocol (TCP) protocol type for the connection.

7. The method of claim 1 , wherein incorporating includes:

using the flow information to determine a differentiated services classification for the connection; and

marking traffic delivered to the connection by the classifying router based on the classification.

8. The method claim 1 , further comprising:

detecting the identify of the client making the remote procedure call, the flow information further containing this detected identify.

9. An apparatus for classifying a remote procedure call from a client system in a first network that initiates connections to a remote server in a second network via a classifying edge router using a client and underlying remote procedure call transport code, the apparatus comprising:

a module configured to detect when a connection for the remote procedure call is created;

a module configured to use a side channel to communicate flow information associated with the detected connection to the classifying edge router, wherein the flow information includes a port number associated with the remote procedure call, the flow information provided to enable the classifying edge router to assign a quality of service classifier to the remote procedure call for appropriately prioritized transfer to the second network; and

a module configured to incorporate the flow information into a differentiated services classification subsystem of the classifying edge router by associating the equality of service level to the detected connection; and

wherein the detecting module is further configured to:

provide an Application Programming Interface (API) to calling applications;

detect when the applications call the API; and

execute a remote procedure routine based on a call by an application, the remote procedure routine including forwarding the flow information to the classifying edge router via the side channel; and

wherein:

the detecting module is further configured to access a remote procedure call API; and

the API provided to the calling applications includes functionality duplicative of remote procedure call API functionality.

10. The apparatus of claim 9 , wherein the detecting module is further configured to access a remote procedure call API; and the API provided to the calling applications presents an interface duplicative of the remote procedure call API to the calling applications.

11. The apparatus of claim 9 , wherein the side channel module is further configured to:

obtain flow information from an application call to the API; and

provide the flow information to the classifying edge router via the side channel.

12. The apparatus of claim 11 , wherein the flow information includes a five-tuple including sender and receiver Media Access Control (MAC) and Internet Protocol (IP) addresses, sender and receiver MAC and IP port numbers, and Transmission Control Protocol (TCP) protocol type for the connection.

13. The apparatus of claim 9 , wherein the side channel is implemented as a Common Gateway Interface (CGI) script from the client to the classifying edge router.

14. The apparatus of claim 9 , wherein the flow information includes a five-tuple including sender and receiver Media Access Control (MAC) and Internet Protocol (IP) addresses, sender and receiver MAC and IP port numbers, and Transmission Control Protocol (TCP) protocol type for the connection.

15. The apparatus of claim 9 , wherein the incorporating module is further configured to:

use the flow information to determine a differentiated services classification for the connection; and

mark traffic delivered to the connection by the classifying edge router based on the classification.

16. The apparatus of claim 9 , wherein the side channel module is further configured to detect the identity of the client making the remote procedure call, the flow information further containing this detected identity.

Assignments (18)
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 53955/0436) Recorded May 18, 2023
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063705/0023 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001) Recorded May 18, 2023
From: GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT
To: ZANG, INC. (FORMER NAME OF AVAYA CLOUD INC.); AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; HYPERQUALITY, INC.; HYPERQUALITY II, LLC; CAAS TECHNOLOGIES, LLC; AVAYA MANAGEMENT L.P.
Reel/Frame 063779/0622 →
RELEASE OF SECURITY INTEREST IN PATENTS AT REEL 45124/FRAME 0026 Recorded Apr 26, 2023
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: AVAYA HOLDINGS CORP.; AVAYA INC.; AVAYA MANAGEMENT L.P.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063457/0001 →
SECURITY INTEREST Recorded Sep 25, 2020
From: AVAYA INC.; AVAYA MANAGEMENT L.P.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 053955/0436 →
SECURITY INTEREST Recorded Jan 23, 2018
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 045124/0026 →
RELEASE OF SECURITY INTEREST Recorded Jan 11, 2018
From: CITICORP USA, INC.
To: AVAYA, INC.; SIERRA HOLDINGS CORP.
Reel/Frame 045045/0564 →
SECURITY INTEREST Recorded Jan 10, 2018
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 045034/0001 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 030083/0639 Recorded Dec 15, 2017
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVAYA INC.
Reel/Frame 045012/0666 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 023892/0500 Recorded Dec 15, 2017
From: CITIBANK, N.A.
To: AVAYA INC.
Reel/Frame 044891/0564 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 025863/0535 Recorded Dec 15, 2017
From: THE BANK OF NEW YORK MELLON TRUST, NA
To: AVAYA INC.
Reel/Frame 044892/0001 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 041576/0001 Recorded Dec 15, 2017
From: CITIBANK, N.A.
To: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS INC.; OCTEL COMMUNICATIONS LLC (FORMERLY KNOWN AS OCTEL COMMUNICATIONS CORPORATION); VPNET TECHNOLOGIES, INC.
Reel/Frame 044893/0531 →
SECURITY INTEREST Recorded Jan 27, 2017
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS INC.; OCTEL COMMUNICATIONS CORPORATION; VPNET TECHNOLOGIES, INC.
To: CITIBANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 041576/0001 →
SECURITY AGREEMENT Recorded Mar 13, 2013
From: AVAYA, INC.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., THE
Reel/Frame 030083/0639 →
SECURITY AGREEMENT Recorded Feb 22, 2011
From: AVAYA INC., A DELAWARE CORPORATION
To: BANK OF NEW YORK MELLON TRUST, NA, AS NOTES COLLATERAL AGENT, THE
Reel/Frame 025863/0535 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2010
From: NORTEL NETWORKS LIMITED
To: AVAYA INC.
Reel/Frame 023998/0878 →
SECURITY AGREEMENT Recorded Feb 5, 2010
From: AVAYA INC.
To: CITICORP USA, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 023905/0001 →
SECURITY AGREEMENT Recorded Feb 4, 2010
From: AVAYA INC.
To: CITIBANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 023892/0500 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2001
From: DUNCAN, ROBERT J.; LAVIAN, TAL I.
To: NORTEL NETWORKS LIMITED
Reel/Frame 011747/0589 →