IP Library Granted Patent US 10,263,916
Granted Patent B2
US 10,263,916 · App. 13/918,732 · Granted Apr 16, 2019

System and method for message handling in a network device

Inventors: Prasad Palkar (Sunnyvale, CA); Ramsundar Janakiraman (Sunnyvale, CA); Venkatesan Marichetty (Danville, CA); Andrew Schweig (San Francisco, CA); Shankar Subramaniam (Cupertino, CA)
Assignee: Hewlett Packard Enterprise Development LP
H04L49/3009H04L45/566H04L47/122H04L47/19H04L61/25H04L47/28H04L63/0272H04L63/101
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 10,263,916
App. No.
13/918,732
Granted
Apr 16, 2019
Kind
B2
Abstract

The present disclosure discloses a method and system for achieving enhanced performance for application message handling. The disclosed system includes a device and is configured to receive, at a first processing layer implemented by the device, a message addressed to a first port. The system is further configured to modify the message to be addressed to a second port indicated in a body of the message prior to forwarding the message to a second processing layer implemented by the device. Furthermore, the system is configured to forward, by the first processing layer to the second processing layer, the modified message addressed to the second port.

Claims (37)

1. A non-transitory computer readable medium storing executable instructions that when executed by a processor of a first device cause the processor to:

receive, at a first processing layer implemented by the first device, a first message addressed, from a second device, to a first port, wherein the first message includes a first field including a destination port;

modify, by the first processing layer, the first message prior to forwarding the first message to a second processing layer implemented by the first device, wherein the destination port of the first field is replaced with an address of a second port taken from a second field of the first message such that the first message is addressed to the second port;

forward, by the first processing layer to the second processing layer, the first message including the modified destination port of the first field addressed to the second port, wherein an application polls the first message upon detecting that the first message includes the destination port with the address of the second port and the second processing layer does not read the first message received from the first processing layer;

receive, at the first processing layer implemented by the first device from the second processing layer implemented by the first device, a second message indicating a third port as a source port;

modify the source port indicated in the second message to a fourth port, wherein to modify the source port indicated in the second message to the fourth port, the processor is to overwrite and replace the address of the third port, and wherein the address of the fourth port is the address of message handler port of the second device; and

forward, by the first processing layer, the modified second message to the second device including the modified source port.

2. The non-transitory computer-readable medium of claim 1 , wherein the first processing layer is a first operating system executing on the first device and the second processing layer is a second operating system executing on the first device.

3. The non-transitory computer-readable medium of claim 1 , wherein the first processing layer is a datapath implemented on the first device and the second processing layer is a control plane implemented on the first device.

4. The non-transitory computer-readable medium of claim 1 , further comprising instructions to modify the message prior to the packet reaching a transmission control protocol/internet protocol (TCP/IP) stack implemented by the first device.

5. The non-transitory computer-readable medium of claim 1 , wherein the instructions to modify the message-include instructions to modify a user datagram protocol (UDP) header in the message.

6. The non-transitory computer-readable medium of claim 1 , further comprising instructions to receive, by a first user application, the modified message, wherein the first user application is associated with the second port.

7. The non-transitory computer-readable medium of claim 1 , wherein instructions to modify the message include instructions to convert the message to a UDP packet.

8. A first device comprising:

a hardware processor; and

a processor-readable memory on which is stored instructions that are to cause the hardware processor to:

receive, at a first processing layer implemented by the first device, a first message addressed, from a second device, to a first port, wherein the first message includes a first field including a destination port,

modify, by the first processing layer, the first message to be addressed to a second port of a second device prior to forwarding the first message to a second processing layer implemented by the first device, wherein the destination port of the first field is replaced with an address of a second port taken from a second field of the first message such that the first message is addressed to the second port; and

forward, by the first processing layer to the second processing layer, the modified message of the first field addressed to the second port of the second device, wherein an application polls the first message upon detecting that the first message includes the destination port with the address of the second port and a message handler of the second processing layer does not read the first message addressed to the first port;

receive, at the first processing layer implemented by the first device from the second processing layer implemented by the first device, a second message indicating a third port as a source port;

modify the source port indicated in the second message to a fourth port, wherein to modify the source port indicated in the second message to the fourth port, the processor is to overwrite and replace the address of the third port, and wherein the address of the fourth port is the address of message handler port of the second device; and

forward, by the first processing layer, the modified second message to the second device including the modified source port.

9. The first device of claim 8 , wherein the first processing layer is a first operating system executing on the first device and the second processing layer is a second operating system executing on the first device.

10. The first device of claim 8 , wherein the first processing layer is a datapath implemented on the first device and the second processing layer is a control plane implemented on the first device.

11. The device of claim 8 , wherein the instructions are further to cause the hardware processor to modify the message prior to the packet reaching a transmission control protocol/internet protocol (TCP/IP) stack implemented by the first device.

12. The first device of claim 8 , wherein to modify the message, the instructions are further to cause the hardware processor to modify a user datagram protocol (UDP) header in the message.

13. The first device of claim 8 , wherein the first application that receives the message is an application in a user space and the first application is associated with the second port.

14. The first device of claim 8 , wherein to modify the message, the instructions are further to cause the hardware processor to convert the message to a UDP packet.

15. An article of manufacture having non-transitory computer readable storage media storing executable instructions thereon which when executed by a processor of a first-devices cause the processor to:

receive, at a first processing layer implemented by the first device, a first message addressed, from a second device, to a first port, wherein the first message includes a first field including a destination port;

modify, by the first processing layer, the first message prior to forwarding the first message to a second processing layer implemented by the first device, wherein the destination port of the first field is replaced with an address of a second port taken from a second field of the first message such that the first message is addressed to the second port;

forward, by the first processing layer to the second processing layer, the first message including the modified destination port of the first field addressed to the second port, wherein an application polls the first message upon detecting that the first message includes the destination port with the address of the second port and the second processing layer does not read the first message received from the first processing layer;

receive, at the first processing layer implemented by the first device from the second processing layer implemented by the first device, a second message indicating a third port as a source port;

modify the source port indicated in the second message to a fourth port, wherein to modify the source port indicated in the second message to the fourth port, the processor is to overwrite and replace the address of the third port, and wherein the address of the fourth port is the address of message handler port of the second device; and

forward, by the first processing layer, the modified second message to the second device including the modified source port.

16. The article of manufacture of claim 15 , wherein the first processing layer is a datapath implemented on the first device and the second processing layer is a control plane implemented on the first device.

17. The article of manufacture of claim 15 , wherein to modify the message, the executable instructions are further to cause the processor to: modify a user datagram protocol (UDP) header in the message.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2018
From: ARUBA NETWORKS, INC.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 045921/0055 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: ARUBA NETWORKS, INC.
Reel/Frame 036379/0274 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2015
From: ARUBA NETWORKS, INC.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 035814/0518 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2013
From: PALKAR, PRASAD; JANAKIRAMAN, RAMSUNDAR; MARICHETTY, VENKATESAN; SCHWEIG, ANDREW; SUBRAMANIAM, SHANKAR
To: ARUBA NETWORKS, INC.
Reel/Frame 030702/0661 →
Continuity (2)
Provisional Application 61732829 · Dec 3, 2012
Related Publication 20140156765A1 · Jun 5, 2014