IP Library Granted Patent US 11,171,936
Granted Patent B2
US 11,171,936 · App. 16/168,507 · Granted Nov 9, 2021

Method, device, and system for offloading algorithms

Inventors: Xiaoyu Zhang (Hangzhou, CN); Xiaowei Jiang (Hangzhou, CN)
Assignee: Alibaba Group Holding Limited
H04L63/0485H04L63/0428H04L63/164H04L63/166H04L63/168H04L63/18H04L69/18H04L69/321
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,171,936
App. No.
16/168,507
Granted
Nov 9, 2021
Kind
B2
Abstract

The processing load on a host processor is substantially reduced by offloading the transport layer security protocol, such as the TLS/SSL protocol, the transport layer protocol stack, such as the TCP/IP protocol stack, and the network control required to access a network, such as the Internet, onto an expansion device.

Claims (66)

1. An expansion device, comprising:

a memory;

a network controller; and

an expansion processor coupled to the memory and the network controller, the expansion processor configured to:

receive an application communication formatted according to a transport protocol from an application running on a host processor by way of an external bus to form received data;

determine, in response to receipt of the received data, whether the received data is to be encrypted;

process a security protocol when the received data is to be encrypted, the security protocol to generate encrypted data from the received data;

process a transport layer protocol stack of the transport protocol to generate an outgoing IP datagram from the received data when the received data is not to be encrypted, wherein the generation of the outgoing IP datagram includes encapsulation of the received data;

process the transport layer protocol stack of the transport protocol to generate the outgoing IP datagram from the encrypted data when the received data is to be encrypted, wherein the generation of the outgoing IP datagram includes encapsulation of the encrypted data; and

send the outgoing IP datagram to the network controller by way of an internal bus, the network controller to format the outgoing IP datagram to form a formatted IP frame, and transmit the formatted IP frame onto a network.

2. The expansion device of claim 1 , wherein the network controller is configured to:

receive a data packet from the network,

form an incoming IP communication from the received data packet, and

send the incoming IP communication to the expansion processor by way of the internal bus.

3. The expansion device of claim 2 , wherein the expansion processor is further configured to:

process the transport layer protocol stack to generate processed data from the incoming IP communication;

determine whether the processed data is encrypted;

process the security protocol when the processed data is encrypted, the security protocol to generate decrypted data from the processed data; and

send the processed data to the application running on the host processor by way of the external bus when the processed data is not encrypted, and the decrypted data to the application running on the host processor by way of the external bus when the processed data is encrypted.

4. The expansion device of claim 3 , wherein the transport protocol includes one of TCP/IP and UDP.

5. The expansion device of claim 3 , wherein the security protocol includes TLS/SSL.

6. The expansion device of claim 3 , wherein the expansion processor resides on a first card, and the host processor resides on a second card.

7. The expansion device of claim 1 , wherein the transport protocol includes one of TCP/IP and UDP.

8. The expansion device of claim 1 , wherein the generation of the outgoing IP datagram further includes dividing the received data into a plurality of segments.

9. A method of operating an expansion device, the method comprising:

receiving first and second application communications formatted according to a transport protocol from an application running on a host processor by way of an external bus to form first received data and second received data;

determining, in response to receiving the first received data, that the first received data is not to be encrypted;

processing a transport layer protocol stack of the transport protocol to generate a first outgoing IP datagram from the first received data, wherein the generation of the first outgoing IP datagram includes encapsulation of the first received data;

determining, in response to receiving the second received data, that the second received data is to be encrypted;

processing a security protocol when the second received data is to be encrypted, the security protocol to generate encrypted data from the second received data;

processing the transport layer protocol stack of the transport protocol to generate a second outgoing IP datagram from the encrypted data, wherein the generation of the second outgoing IP datagram includes encapsulation of the encrypted data;

sending the first outgoing IP datagram and the second outgoing IP datagram to a network controller by way of an internal bus; and

formatting the first outgoing IP datagram and the second outgoing IP datagram to form formatted IP frames, and transmitting the formatted IP frames onto a network.

10. The method of claim 9 , further comprising:

receiving a data packet from the network,

forming an incoming IP communication from the received data packet, and

sending the incoming IP communication to an expansion processor by way of the internal bus.

11. The method of claim 10 , further comprising:

processing the transport layer protocol stack to generate processed data from the incoming IP communication;

determining whether the processed data is encrypted;

processing the security protocol when the processed data is encrypted, the security protocol to generate decrypted data from the processed data; and

sending the processed data to the application running on the host processor by way of the external bus when the processed data is not encrypted, and the decrypted data to the application running on the host processor by way of the external bus when the processed data is encrypted.

12. The method of claim 11 , wherein the transport protocol includes one of TCP/IP and UDP.

13. The method of claim 11 , wherein the security protocol includes TLS/SSL.

14. The method of claim 11 , wherein the expansion processor resides on a first card, and the host processor resides on a second card.

15. The method of claim 9 , wherein the generation of the first outgoing IP datagram further includes dividing the first received data into a plurality of segments.

16. A non-transitory computer-readable storage medium having embedded therein program instructions, which when executed by a processor causes the processor to execute a method of operating an expansion device, the method comprising:

receiving an application communication formatted according to a transport protocol from an application running on a host processor by way of an external bus to form received data;

determining, in response to receiving the received data, whether the received data is to be encrypted;

processing a security protocol when the received data is to be encrypted, the security protocol to generate encrypted data from the received data;

processing a transport layer protocol stack of the transport protocol to generate an outgoing IP datagram from the received data when the received data is not to be encrypted, wherein the generation of the outgoing IP datagram includes encapsulation of the received data;

processing the transport layer protocol stack of the transport protocol to generate the outgoing IP datagram from the encrypted data when the received data is to be encrypted, wherein the generation of the outgoing IP datagram includes encapsulation of the encrypted data;

sending the outgoing IP datagram to a network controller by way of an internal bus; and

formatting the outgoing IP datagram to form a formatted IP frame, and transmitting the formatted IP frame onto a network.

17. The medium of claim 16 , wherein the method further comprises:

receiving a data packet from the network,

forming an incoming IP communication from the received data packet, and

sending the incoming IP communication to an expansion processor by way of the internal bus.

18. The medium of claim 17 , wherein the method further comprises:

processing the transport layer protocol stack to generate processed data from the incoming IP communication;

determining whether the processed data is encrypted;

processing the security protocol when the processed data is encrypted, the security protocol to generate decrypted data from the processed data; and

sending the processed data to the application running on the host processor by way of the external bus when the processed data is not encrypted, and the decrypted data to the application running on the host processor by way of the external bus when the processed data is encrypted.

19. The medium of claim 17 wherein the expansion processor resides on a first card, and the host processor resides on a second card.

20. The medium of claim 16 , wherein the transport protocol includes one of TCP/IP and UDP.

21. The medium of claim 16 , wherein the security protocol includes TLS/SSL.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2026
From: ALIBABA GROUP HOLDING LIMITED
To: CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PRIVATE LIMITED
Reel/Frame 075499/0384 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2018
From: ZHANG, XIAOYU; JIANG, XIAOWEI
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 047634/0951 →
Priority Claims (1)
CN 201711015191.9 · Oct 25, 2017 · national
Continuity (1)
Related Publication 20190124054A1 · Apr 25, 2019
Cited By (1)
US 12,326,822