IP Library Granted Patent US 11,240,185
Granted Patent B2
US 11,240,185 · App. 17/102,421 · Granted Feb 1, 2022

Managing and executing serverless function command sets in a messaging service

Inventor: Eric Sven-Johan Swildens (Los Altos Hills, CA)
Assignee: DigitalOcean LLC
H04L51/046H04L67/02
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,240,185
App. No.
17/102,421
Granted
Feb 1, 2022
Kind
B2
Abstract

A serverless function execution system enables fast, efficient and flexible deployment and execution of serverless functions. User commands are received from external messaging systems that cause functions to be executed. A serverless function associated with the user command is determined and the serverless function is executed in an isolation container at a function computation server. A response from the execution of the serverless function is sent to the external messaging system.

Claims (63)

1. A method, comprising:

creating a command set, the command set includes one or more commands, associated command definitions, and one or more associated function source code locations;

wherein an external specification file is published at a network accessible location, the external specification file including one or more textual messaging commands associated with each command in the command set along with any parameters that the command accepts;

wherein local system installation of the external specification file causes the command set to be locally defined and visible to a user;

wherein a user-selected command causes a textual messaging command to be sent to an external chat messaging service;

wherein the external chat messaging service sends the textual messaging command to an API endpoint associated with a prefix in the textual messaging command;

receiving the textual messaging command at the API endpoint;

executing a serverless function within an isolation container in response to the received textual messaging command by executing function code using the one or more associated function source code locations;

returning a result of the execution of the serverless function to the external chat messaging service.

2. The method as recited in claim 1 , further comprising:

retrieving function code to execute by referring to an app definition associated with the textual messaging command;

selecting a compute server based on the textual messaging command;

causing the selected compute server to execute the function code.

3. The method as recited in claim 1 , further comprising:

storing a plurality of app definitions;

wherein each app definition includes a mapping of textual messaging command subcommands to function code.

4. The method as recited in claim 1 , wherein an app is associated with a textual messaging command prefix.

5. The method as recited in claim 1 , wherein an app is associated with a textual messaging command prefix, and wherein an app is comprised of one or more subcommands.

6. The method as recited in claim 1 , wherein an app is associated with a textual messaging command prefix, wherein an app is comprised of one or more subcommands, and wherein each of the one or more subcommands is mapped to one or more functions.

7. The method as recited in claim 1 , further comprising:

storing a history of commands that were executed by users and user identities.

8. One or more non-transitory computer-readable storage media, storing one or more sequences of instructions, which when executed by one or more processors cause performance of:

creating a command set, the command set includes one or more commands, associated command definitions, and one or more associated function source code locations;

wherein an external specification file is published at a network accessible location, the external specification file including one or more textual messaging commands associated with each command in the command set along with any parameters that the command accepts;

wherein local system installation of the external specification file causes the command set to be locally defined and visible to a user;

wherein a user-selected command causes a textual messaging command to be sent to an external chat messaging service;

wherein the external chat messaging service sends the textual messaging command to an API endpoint associated with a prefix in the textual messaging command;

receiving the textual messaging command at the API endpoint;

executing a serverless function within an isolation container in response to the received textual messaging command by executing function code using the one or more associated function source code locations;

returning a result of the execution of the serverless function to the external chat messaging service.

9. The one or more non-transitory computer-readable storage media as recited in claim 8 , further comprising:

retrieving function code to execute by referring to an app definition associated with the textual messaging command;

selecting a compute server based on the textual messaging command;

causing the selected compute server to execute the function code.

10. The one or more non-transitory computer-readable storage media as recited in claim 8 , further comprising:

storing a plurality of app definitions;

wherein each app definition includes a mapping of textual messaging command subcommands to function code.

11. The one or more non-transitory computer-readable storage media as recited in claim 8 , wherein an app is associated with a textual messaging command prefix.

12. The one or more non-transitory computer-readable storage media as recited in claim 8 , wherein an app is associated with a textual messaging command prefix, and wherein an app is comprised of one or more subcommands.

13. The one or more non-transitory computer-readable storage media as recited in claim 8 , wherein an app is associated with a textual messaging command prefix, wherein an app is comprised of one or more subcommands, and wherein each of the one or more subcommands is mapped to one or more functions.

14. The one or more non-transitory computer-readable storage media as recited in claim 8 , further comprising:

storing a history of commands that were executed by users and user identities.

15. A system, comprising:

a command set, the command set includes one or more commands, associated command definitions, and one or more associated function source code locations;

wherein an external specification file is published at a network accessible location, the external specification file including one or more textual messaging commands associated with each command in the command set along with any parameters that the command accepts;

wherein local system installation of the external specification file causes the command set to be locally defined and visible to a user;

wherein a user-selected command causes a textual messaging command to be sent to an external chat messaging service;

wherein the external chat messaging service sends the textual messaging command to an API endpoint associated with a prefix in the textual messaging command;

a function computation system, implemented at least partially in hardware, configured to:

receive the textual messaging command at the API endpoint;

execute a serverless function within an isolation container in response to the received textual messaging command by executing function code using the one or more associated function source code locations;

return a result of the execution of the serverless function to the external chat messaging service.

16. The system as recited in claim 15 , further comprising:

retrieving function code to execute by referring to an app definition associated with the textual messaging command;

selecting a compute server based on the textual messaging command;

causing the selected compute server to execute the function code.

17. The system as recited in claim 15 , further comprising:

storing a plurality of app definitions;

wherein each app definition includes a mapping of textual messaging command subcommands to function code.

18. The system as recited in claim 15 , wherein an app is associated with a textual messaging command prefix, and wherein an app is comprised of one or more subcommands.

19. The system as recited in claim 15 , wherein an app is associated with a textual messaging command prefix, wherein an app is comprised of one or more subcommands, and wherein each of the one or more subcommands is mapped to one or more functions.

20. The system as recited in claim 15 , further comprising:

storing a history of commands that were executed by users and user identities.

Assignments (6)
RELEASE OF SECURITY INTEREST RECORDED AT REEL 059546, FRAME 0271. Recorded May 15, 2025
From: KEYBANK NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: DIGITALOCEAN, LLC
Reel/Frame 071275/0529 →
PATENT SECURITY AGREEMENT Recorded May 5, 2025
From: DIGITALOCEAN, LLC
To: MORGAN STANLEY SENIOR FUNDING INC., AS COLLATERAL AGENT
Reel/Frame 071176/0874 →
COLLATERAL ASSIGNMENT OF PATENTS Recorded Mar 30, 2022
From: DIGITALOCEAN, LLC
To: KEYBANK NATIONAL ASSOCIATION
Reel/Frame 059546/0271 →
MERGER Recorded Dec 27, 2021
From: NIMBELLA CORP.
To: NARWHAL MERGER SUB II, LLC
Reel/Frame 058485/0348 →
MERGER Recorded Dec 27, 2021
From: NARWHAL MERGER SUB II, LLC
To: DIGITALOCEAN, LLC
Reel/Frame 058485/0517 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2021
From: SWILDENS, ERIC SVEN-JOHAN
To: DIGITALOCEAN LLC
Reel/Frame 058421/0024 →
Continuity (2)
Provisional Application 62939545 · Nov 22, 2019
Related Publication 20210160202A1 · May 27, 2021