IP Library › Granted Patent US 11,936,517
Granted Patent B2
US 11,936,517 · App. 18/128,517 · Granted Mar 19, 2024

Embedding custom container images and FaaS for an extensibility platform

Inventors: Geoffrey R Hendrey (San Anselmo, CA); Prasanth Raveendranath (Dublin, CA)
Assignee: CISCO TECHNOLOGY, INC.
H04L41/0803H04L67/10
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,936,517
App. No.
18/128,517
Granted
Mar 19, 2024
Kind
B2
Abstract

According to one or more embodiments of the disclosure, an example process herein may comprise: receiving configuration of an extension to manage one or more particular endpoints and data collectors for a particular tenant of an extensibility platform; determining a specification of a container containing one or more particular functions configured to perform required data transformations for the extension; providing one or more shared egress assistant functions configured to receive data from the one or more particular functions; and sending the data from the one or more shared egress assistant functions onto a common ingest for further processing, wherein the one or more particular functions and the one or more shared egress assistant functions are executed as functions-as-a-service at runtime.

Claims (47)

1. A method, comprising:

receiving, by a process, configuration of an extension to manage one or more particular endpoints and data collectors for a particular tenant of an extensibility platform;

determining, by the process, a specification of a container containing one or more particular functions configured to perform required data transformations for the extension;

providing, by the process, one or more shared egress assistant functions configured to receive data from the one or more particular functions; and

sending, by the process, the data from the one or more shared egress assistant functions onto a common ingest for further processing, wherein the one or more particular functions and the one or more shared egress assistant functions are executed as functions-as-a-service at runtime.

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

receiving, from a developer, selections of the extension, a type of function, a choice of egress, and a choice of push or pull; and

creating source code for the extension based on the selections.

3. The method as in claim 2 , wherein selection of the extension is selected from a group consisting of: pre-ingest; trace processing; metric derivation; and resource mapping.

4. The method as in claim 2 , wherein selection of the type of function is selected from a group consisting of: internal ingress; and external ingress.

5. The method as in claim 2 , wherein selection of the choice of egress is selected from a group consisting of: account; licensing; configuration; query language; application programming interfaces; and cloud storage.

6. The method as in claim 2 , wherein selection of the choice of push or pull comprises a corresponding schedule.

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

propagating the extension to individual cells of a multi-celled architecture.

8. The method as in claim 1 , further comprising:

deploying the extension; and

provisioning a domain event bus based on the extension.

9. The method as in claim 1 , further comprising:

provisioning a corresponding tenant cell based on the extension.

10. The method as in claim 1 , further comprising:

providing an install order based on the extension to a developer to allow the developer to perform corresponding dependency checks.

11. The method as in claim 1 , wherein the one or more shared egress assistant functions transform metric, event, log, and trace data into online transaction processing data.

12. The method as in claim 1 , wherein the configuration of the extension is received from any one of a first-party developer, a second-party developer, or a third-party developer.

13. The method as in claim 1 , wherein the configuration of the extension is received as a JavaScript Object Notification file.

14. The method as in claim 1 , wherein the functions-as-a-service are managed as a resource with enforced scalability requirements.

15. The method as in claim 1 , further comprising:

passing cloud-service egress to a cloud service application programming interface gateway configured with tenant-supplied egress rules.

16. A tangible, non-transitory, computer-readable medium having computer-executable instructions stored thereon that, when executed by a processor on a computer, cause the computer to perform a process comprising:

receiving configuration of an extension to manage one or more particular endpoints and data collectors for a particular tenant of an extensibility platform;

determining a specification of a container containing one or more particular functions configured to perform required data transformations for the extension;

providing one or more shared egress assistant functions configured to receive data from the one or more particular functions; and

sending the data from the one or more shared egress assistant functions onto a common ingest for further processing, wherein the one or more particular functions and the one or more shared egress assistant functions are executed as functions-as-a-service at runtime.

17. The tangible, non-transitory, computer-readable medium as in claim 16 , wherein the process further comprises:

receiving, from a developer, selections of the extension, a type of function, a choice of egress, and a choice of push or pull; and

creating source code for the extension based on the selections.

18. The tangible, non-transitory, computer-readable medium as in claim 16 , wherein the process further comprises:

deploying the extension; and

provisioning a domain event bus based on the extension.

19. The tangible, non-transitory, computer-readable medium as in claim 16 , wherein the functions-as-a-service are managed as a resource with enforced scalability requirements.

20. An apparatus, comprising:

one or more network interfaces to communicate with a network;

a processor coupled to the one or more network interfaces and configured to execute one or more processes; and

a memory configured to store a process that is executable by the processor, the process, when executed, configured to:

receive configuration of an extension to manage one or more particular endpoints and data collectors for a particular tenant of an extensibility platform;

determine a specification of a container containing one or more particular functions configured to perform required data transformations for the extension;

provide one or more shared egress assistant functions configured to receive data from the one or more particular functions; and

send the data from the one or more shared egress assistant functions onto a common ingest for further processing, wherein the one or more particular functions and the one or more shared egress assistant functions are executed as functions-as-a-service at runtime.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2023
From: HENDREY, GEOFFREY R.; RAVEENDRANATH, PRASANTH
To: CISCO TECHNOLOGY, INC.
Reel/Frame 063169/0621 →
Continuity (2)
Provisional Application 63326078 · Mar 31, 2022
Related Publication 20230318911A1 · Oct 5, 2023
Cited By (1)
US 12,204,917