IP Library Granted Patent US 11,303,566
Granted Patent B2
US 11,303,566 · App. 16/850,479 · Granted Apr 12, 2022

Method, electronic device, and computer program product for data processing

Inventors: Chenxi Hu (Beijing, CN); Shixu Dong (Shanghai, CN)
Assignee: EMC IP Holding Company LLC
H04L45/74H04L69/22H04L2212/00
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 11,303,566
App. No.
16/850,479
Granted
Apr 12, 2022
Kind
B2
Abstract

Embodiments of the present disclosure relate to a method, a device, and a computer program product for data processing. The method comprises determining information associated with an attribute of a data packet from a source device; determining, based on the information, a target operation to be performed on the data packet; performing the target operation on the data packet; and causing the data packet on which the target operation has been performed to be sent to a target device of the data packet. In this manner, by using advantages of programmable switches, encapsulation and decapsulation operations are introduced for communications between edge Internet of Things network devices and data center applications, which can significantly increase the throughput.

Claims (88)

1. A method for data processing, comprising:

determining information associated with an attribute of a data packet from a source device;

determining, based on the information, a target operation to be performed on the data packet;

performing the target operation on the data packet; and

causing the data packet on which the target operation has been performed to be sent to a target device of the data packet;

wherein performing the target operation on the data packet comprises:

determining that an encapsulation operation is to be performed on the data packet;

performing the encapsulation operation on the data packet;

storing the encapsulated data packet in a buffer with one or more other data packets; and

in response to determining that the number of data packets stored in the buffer exceeds a threshold number, generating an extended data packet using the encapsulated data packet and at least a subset of the other data packets in the buffer, wherein the extended data packet has a data volume greater than the encapsulated data packet and has a corresponding extended target address; and

wherein causing the data packet to be sent comprises:

causing, based on the extended target address of the extended data packet, the extended data packet to be sent to a network device corresponding to the extended target address of the extended data packet, wherein the network device extracts the data packet from the extended data packet and sends the data packet to the target device based on a target address of the data packet.

2. The method according to claim 1 , wherein determining information associated with the attribute of the data packet comprises determining at least one of the following:

a source address of the data packet,

a target address of the data packet,

a type of the data packet,

a source gateway of the data packet, and

a target gateway of the data packet.

3. The method according to claim 1 , wherein the method further comprises performing a decapsulation operation on the encapsulated data packet.

4. The method according to claim 1 , wherein determining the target operation to be performed on the data packet comprises:

acquiring an association relationship between the attribute and the target operation; and

determining the target operation based on the association relationship and the information associated with the attribute.

5. The method according to claim 1 , wherein the method further comprises:

determining that a decapsulation operation is to be performed on the encapsulated data packet; and

performing the decapsulation operation on the encapsulated data packet.

6. The method according to claim 1 , wherein causing the data packet to be sent comprises:

acquiring a target address of the encapsulated data packet from a header of the encapsulated data packet; and

causing the encapsulated data packet to be sent to a target device corresponding to the target address of the encapsulated data packet.

7. An electronic device, comprising:

a processor; and

a memory coupled with the processor and storing instructions for execution by the processor, wherein the instructions, when executed by the processor, cause the electronic device to perform actions, the actions comprising:

determining information associated with an attribute of a data packet from a source device;

determining, based on the information, a target operation to be performed on the data packet;

performing the target operation on the data packet; and

causing the data packet on which the target operation has been performed to be sent to a target device of the data packet;

wherein performing the target operation on the data packet comprises:

determining that an encapsulation operation is to be performed on the data packet;

performing the encapsulation operation on the data packet;

storing the encapsulated data packet in a buffer with one or more other data packets; and

in response to determining that the number of data packets stored in the buffer exceeds a threshold number, generating an extended data packet using the encapsulated data packet and at least a subset of the other data packets in the buffer, wherein the extended data packet has a data volume greater than the encapsulated data packet and has a corresponding extended target address; and

wherein causing the data packet to be sent comprises:

causing, based on the extended target address of the extended data packet, the extended data packet to be sent to a network device corresponding to the extended target address of the extended data packet, wherein the network device extracts the data packet from the extended data packet and sends the data packet to the target device based on a target address of the data packet.

8. The device according to claim 7 , wherein determining information associated with the attribute of the data packet comprises determining at least one of the following:

a source address of the data packet,

a target address of the data packet,

a type of the data packet,

a source gateway of the data packet, and

a target gateway of the data packet.

9. The device according to claim 7 , wherein the actions further comprise performing a decapsulation operation on the encapsulated data packet.

10. The device according to claim 7 , wherein determining the target operation to be performed on the data packet comprises:

acquiring an association relationship between the attribute and the target operation; and

determining the target operation based on the association relationship and the information associated with the attribute.

11. The device according to claim 7 , wherein the actions further comprise:

determining that a decapsulation operation is to be performed on the encapsulated data packet; and

performing the decapsulation operation on the encapsulated data packet.

12. The device according to claim 7 , wherein causing the data packet to be sent comprises:

acquiring a target address of the encapsulated data packet from a header of the encapsulated data packet; and

causing the encapsulated data packet to be sent to a target device corresponding to the target address of the encapsulated data packet.

13. The device according to claim 7 , wherein the network device comprises a programmable switch.

14. A computer program product that is tangibly stored on a non-transitory computer-readable medium and contains machine-executable instructions, wherein the machine-executable instructions, when executed, cause a machine to perform steps of a method for data processing, comprising:

determining information associated with an attribute of a data packet from a source device;

determining, based on the information, a target operation to be performed on the data packet;

performing the target operation on the data packet; and

causing the data packet on which the target operation has been performed to be sent to a target device of the data packet;

wherein performing the target operation on the data packet comprises:

determining that an encapsulation operation is to be performed on the data packet;

performing the encapsulation operation on the data packet;

storing the encapsulated data packet in a buffer with one or more other data packets; and

in response to determining that the number of data packets stored in the buffer exceeds a threshold number, generating an extended data packet using the encapsulated data packet and at least a subset of the other data packets in the buffer, wherein the extended data packet has a data volume greater than the encapsulated data packet and has a corresponding extended target address; and

wherein causing the data packet to be sent comprises:

causing, based on the extended target address of the extended data packet, the extended data packet to be sent to a network device corresponding to the extended target address of the extended data packet, wherein the network device extracts the data packet from the extended data packet and sends the data packet to the target device based on a target address of the data packet.

15. The computer program product according to claim 14 , wherein determining information associated with the attribute of the data packet comprises determining at least one of the following:

a source address of the data packet,

a target address of the data packet,

a type of the data packet,

a source gateway of the data packet, and

a target gateway of the data packet.

16. The computer program product according to claim 14 , wherein the steps of the method further comprise performing a decapsulation operation on the encapsulated data packet.

17. The computer program product according to claim 14 , wherein determining the target operation to be performed on the data packet comprises:

acquiring an association relationship between the attribute and the target operation; and

determining the target operation based on the association relationship and the information associated with the attribute.

18. The computer program product according to claim 14 , wherein the steps of the method further comprise:

determining that a decapsulation operation is to be performed on the encapsulated data packet; and

performing the decapsulation operation on the encapsulated data packet.

19. The computer program product according to claim 14 , wherein causing the data packet to be sent comprises:

acquiring a target address of the encapsulated data packet from a header of the encapsulated data packet; and

causing the encapsulated data packet to be sent to a target device corresponding to the target address of the encapsulated data packet.

20. The computer program product according to claim 14 , wherein the network device comprises a programmable switch.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0917) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0509 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0081) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0441 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052852/0022) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0582 →
RELEASE OF SECURITY INTEREST AT REEL 052771 FRAME 0906 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0298 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052852/0022 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0081 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0917 →
SECURITY AGREEMENT Recorded May 28, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052771/0906 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 16, 2020
From: HU, CHENXI; DONG, SHIXU
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 052417/0990 →
Priority Claims (1)
CN 202010222759.X · Mar 26, 2020 · national
Continuity (1)
Related Publication 20210306264A1 · Sep 30, 2021