IP Library › Granted Patent US 11,645,098
Granted Patent B2
US 11,645,098 · App. 16/950,111 · Granted May 9, 2023

Systems and methods to pre-provision sockets for serverless functions

Inventor: Shashank Mohan Jain (Bangalore, IN)
Assignee: SAP SE
G06F9/45533G06F9/445G06F17/16H04L67/10H04L69/326G06F16/252
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,645,098
App. No.
16/950,111
Granted
May 9, 2023
Kind
B2
Abstract

Methods and systems may be associated with a cloud computing environment. A serverless function orchestrator may execute a socket activation for a VM to pre-provision a TCP socket (e.g., setting up virtual interfaces and creating socket structures) before the VM hosts any serverless function associated with the pre-provisioned TCP socket. After this socket activation, the orchestrator may receive a request for a first serverless function and, responsive to the received request, start the first serverless function on the VM using the pre-provisioned TCP socket. After the activation and prior to starting the first serverless function, the system may queue packets received in connection with the pre-provisioned TCP socket. In some embodiments, multiple TCP sockets, each associated with a VM, may activated before any serverless functions are hosted and the first serverless function is started on a VM selected based on information in a serverless function experience data store.

Claims (34)

1. A system associated with a cloud computing environment, comprising:

a serverless function orchestrator, including:

a computer processor, and

computer memory, coupled to the computer processor, storing instructions that, when executed by the computer processor cause the processor to:

(i) execute socket activations for a plurality of virtual machines to pre-provision Transmission Control Protocol (“TCP”) sockets, each associated with a virtual machine, before any serverless functions are hosted,

(ii) after said socket activations, receive a request for a first serverless function, and

(iii) responsive to the received request, start the first serverless function on a virtual machine using a pre-provisioned TCP socket; and

a serverless function experience matrix, coupled to the serverless function orchestrator, containing, for each of the plurality of virtual machines, a plurality of functions such that each entry in the matrix represents how a particular function previously performed on a particular virtual machine, wherein the first serverless function is started on a virtual machine selected based on information in the serverless function experience matrix.

2. The system of claim 1 , wherein after said activations and prior to starting the first serverless function, queuing packets received in connection with the pre-provisioned TCP socket.

3. The system of claim 1 , wherein starting the socket activation involves setting up virtual interfaces and creating socket structures within a kernel.

4. The system of claim 1 , wherein said receiving a request for the first serverless function is associated with a client request received via an Application Programming Interface (“API”) gateway.

5. The system of claim 1 , wherein said starting the first serverless function is associated with loading specific function code on a Web Assembly (“WASM”) module to achieve multi-tenancy for the cloud computing environment.

6. The system of claim 1 , wherein said starting the first serverless function is associated with an implementation of a Container Runtime Interface Open Container Initiative (“CRI-O”) process.

7. The system of claim 1 , wherein a serverless function experience data store comprises a plurality of matrixes each associated with a different performance variable.

8. The system of claim 7 , wherein the performance variables are associated with: (i) bootup time, (ii) execution latency, (iii) resource usage, (iv) memory usage, (v) Central Processing Unit (“CPU”) usage, (vi) Input Output (“IO”) usage, and (vii) network usage.

9. The system of claim 8 , wherein each matrix is factorized to derive latent features of serverless functions and virtual machines.

10. A computer-implemented method associated with a cloud computing environment, comprising:

executing, by a computer processor of a serverless function orchestrator, socket activations for a plurality of virtual machines to pre-provision Transmission Control Protocol (“TCP”) sockets, each associated with a virtual machine, before any serverless functions are hosted;

after said socket activation, receiving a request for a first serverless function;

selecting a virtual machine for the first serverless function based on information in a serverless function experience matrix that contains, for each of the plurality of virtual machines, a plurality of functions such that each entry in the matrix represents how a particular function previously performed on a particular virtual machine; and

responsive to the received request, starting the first serverless function on the selected virtual machine using a pre-provisioned TCP socket.

11. The method of claim 10 , further comprising, after said activations and prior to starting the first serverless function:

queuing packets received in connection with the pre-provisioned TCP socket.

12. The method of claim 10 , wherein starting the socket activation comprises:

setting up virtual interfaces; and

creating socket structures within a kernel.

13. The method of claim 10 , wherein said receiving a request for the first serverless function is associated with a client request received via an Application Programming Interface (“API”) gateway.

14. The method of claim 10 , wherein said starting the first serverless function is associated with loading specific function code on a Web Assembly (“WASM”) module to achieve multi-tenancy for the cloud computing environment.

15. A non-transitory, computer readable medium having executable instructions stored therein that, when executed by a computer processor cause the processor to perform a method associated with a cloud computing environment, the method comprising:

executing, by a computer processor of a serverless function orchestrator, socket activations for a plurality of virtual machines to pre-provision Transmission Control Protocol (“TCP”) sockets, each associated with a virtual machine, before any serverless functions are hosted;

after said socket activation, receiving a request for a first serverless function;

selecting a virtual machine for the first serverless function based on information in a serverless function experience matrix that contains, for each of the plurality of virtual machines, a plurality of functions such that each entry in the matrix represents how a particular function previously performed on a particular virtual machine; and

responsive to the received request, starting the first serverless function on the selected virtual machine using a pre-provisioned TCP socket.

16. The medium of claim 15 , wherein a serverless function experience data store comprises a plurality of matrixes each associated with a different performance variable including: (i) bootup time, (ii) execution latency, (iii) resource usage, (iv) memory usage, (v) Central Processing Unit (“CPU”) usage, (vi) Input Output (“IO”) usage, and (vii) network usage.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 17, 2020
From: JAIN, SHASHANK MOHAN
To: SAP SE
Reel/Frame 054390/0084 →
Continuity (1)
Related Publication 20220156097A1 · May 19, 2022