IP Library Granted Patent US 10,942,785
Granted Patent B2
US 10,942,785 · App. 16/536,672 · Granted Mar 9, 2021

Integration of software applications with infrastructure

Inventors: Prasad Rao (San Francisco, CA); Vasantha Raghavan (San Francisco, CA); Srinivasan Ramaswamy (San Francisco, CA)
Assignee: salesforce.com, inc.
G06F9/5072G06F9/542H04L41/0813H04L41/0863H04L41/0866H04L63/0272
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 10,942,785
App. No.
16/536,672
Granted
Mar 9, 2021
Kind
B2
Abstract

Methods, systems, and devices for network integration are described. Some systems may implement an integration platform including a service composition layer (SCL), a network abstraction layer (NAL), and one or more application programming interfaces (APIs). The integration platform may support application and network flexibility, customization, and modular design based on the SCL and NAL. For example, the SCL may receive an execution request (e.g., an intent) corresponding to a service and may parse the execution request to determine a set of modular tasks. The SCL may send a modular task (e.g., via an API) to the NAL for processing. The NAL may determine a type of infrastructure architecture (e.g., including querying for network node connections, parameters, etc.) associated with the integration platform and may modify the modular task based on the information. The NAL may execute the modular task on one or more network devices to perform the service.

Claims (89)

1. An integration platform for integrating a plurality of software applications with a plurality of infrastructure architectures, comprising:

one or more processors;

memory in electronic communication with the one or more processors;

instructions stored in the memory and executable by the one or more processors;

a service composition layer (SCL) configured to:

receive, from a user device, an execution request corresponding to a service of the integration platform;

parse the execution request to determine a plurality of modular tasks corresponding to the execution request;

identify user information associated with the user device; and

update at least one modular task of the plurality of modular tasks based at least in part on the identified user information;

an application programming interface (API) configured to:

communicate information between the SCL and a network abstraction layer (NAL); and

the NAL configured to:

receive, from the SCL, a modular task of the plurality of modular tasks;

determine a type of an infrastructure architecture associated with the integration platform;

modify the modular task of the plurality of modular tasks according to the determined type of the infrastructure architecture; and

execute the modified modular task on one or more network devices of the infrastructure architecture.

2. The integration platform of claim 1 , further comprising:

an experience layer (EXL) configured to:

connect the integration platform to the plurality of software applications running on a plurality of user devices.

3. The integration platform of claim 2 , wherein the EXL comprises a service provisioning application, a network services application, a traffic engineering application, a workload management application, a service assurance application, or a combination thereof for managing connections with the plurality of software applications.

4. The integration platform of claim 1 , wherein the infrastructure architecture comprises a first infrastructure architecture and the type of the infrastructure architecture comprises a first type of infrastructure architecture, and wherein the NAL is further configured to:

identify a migration process from the first infrastructure architecture to a second infrastructure architecture of a second type of infrastructure architecture;

receive, from the first infrastructure architecture, one or more configurations for the one or more network devices of the first infrastructure architecture;

normalize the one or more configurations for the one or more network devices of the first infrastructure architecture; and

configure one or more network devices of the second infrastructure architecture based at least in part on the normalization.

5. The integration platform of claim 4 , wherein the NAL is further configured to:

determine the second type of infrastructure architecture based at least in part on the migration process;

further modify the modular task of the plurality of modular tasks according to the determined second type of infrastructure architecture; and

execute the further modified modular task on the one or more network devices of the second infrastructure architecture.

6. The integration platform of claim 1 , wherein the NAL is further configured to:

identify a new network device of the infrastructure architecture; and

configure the new network device of the infrastructure architecture based at least in part on the plurality of modular tasks.

7. The integration platform of claim 1 , further comprising:

an additional API configured to:

transmit, to the user device, an indication of a user interface supporting construction of execution requests by a user, wherein the execution request is received based at least in part on a user input to the user interface.

8. The integration platform of claim 7 , wherein the SCL is further configured to:

receive an additional execution request based at least in part on an additional user input to the user interface;

parse the additional execution request to determine an additional plurality of modular tasks corresponding to the additional execution request; and

identify whether an execution sequence corresponding to the additional plurality of modular tasks is supported by the integration platform.

9. The integration platform of claim 8 , wherein the execution sequence corresponding to the additional plurality of modular tasks is not supported by the integration platform, the additional API further configured to:

transmit, to the user device, a sequencing error message based at least in part on the identifying whether the execution sequence corresponding to the additional plurality of modular tasks is supported by the integration platform.

10. The integration platform of claim 1 , wherein:

the SCL is further configured to:

receive a rollback command for a software application of the plurality of software applications, a network device of the one or more network devices of the infrastructure architecture, the execution request, or a combination thereof; and

release service resources corresponding to the software application of the plurality of software applications, the network device of the one or more network devices of the infrastructure architecture, the execution request, or the combination thereof based at least in part on the rollback command; and

the NAL is further configured to:

release network resources corresponding to the software application of the plurality of software applications, the network device of the one or more network devices of the infrastructure architecture, the execution request, or the combination thereof based at least in part on the rollback command.

11. The integration platform of claim 1 , wherein the NAL is further configured to:

store, in a table in memory, indications of relationships between the one or more network devices of the infrastructure architecture; and

query the table in memory for one or more relationships of the relationships between the one or more network devices of the infrastructure architecture, wherein executing the modified modular task on the one or more network devices of the infrastructure architecture is based at least in part on results of the querying.

12. The integration platform of claim 1 , wherein the one or more network devices of the infrastructure architecture comprise a plurality of routers and the NAL is further configured to:

establish a layer 2 (L2) virtual private network (VPN), a layer 3 (L3) VPN, or a combination thereof between the plurality of routers based at least in part on the executing.

13. The integration platform of claim 1 , wherein the one or more network devices of the infrastructure architecture comprise a plurality of routers and the NAL is further configured to:

establish a border gateway protocol (BGP) routing protocol between the plurality of routers based at least in part on the executing.

14. The integration platform of claim 13 , wherein the BGP routing protocol comprises an external BGP (EBGP) routing protocol, an internal BGP (IBGP) routing protocol, or a combination thereof.

15. The integration platform of claim 1 , wherein the NAL is further configured to:

receive, from the SCL, a transaction comprising the plurality of modular tasks and an execution parameter; and

execute the plurality of modular tasks a number of times according to the execution parameter based at least in part on receiving the transaction.

16. The integration platform of claim 1 , wherein the one or more network devices comprise servers, switches, access points, routers, modems, hubs, bridges, repeaters, racks, or a combination thereof.

17. The integration platform of claim 1 , wherein the plurality of modular tasks comprises filtering tasks, validation tasks, configuration tasks, or a combination thereof.

18. An apparatus for integrating a plurality of software applications with a plurality of infrastructure architectures, comprising:

a processor;

memory in electronic communication with the processor; and

instructions stored in the memory and executable by the processor to cause the apparatus to:

configure a service composition layer (SCL) to:

receive, from a user device, an execution request corresponding to a service of an integration platform;

parse the execution request to determine a plurality of modular tasks corresponding to the execution request;

identify user information associated with the user device; and

update at least one modular task of the plurality of modular tasks based at least in part on the identified user information;

configure an application programming interface (API) to:

communicate information between the SCL and a network abstraction layer (NAL); and

configure the NAL to:

receive, from the SCL, a modular task of the plurality of modular tasks;

determine a type of an infrastructure architecture associated with the integration platform;

modify the modular task of the plurality of modular tasks according to the determined type of the infrastructure architecture; and

execute the modified modular task on one or more network devices of the infrastructure architecture.

19. The apparatus of claim 18 , wherein the instructions are further executable by the processor to cause the apparatus to:

configure an experience layer (EXL) to:

connect the integration platform to the plurality of software applications running on a plurality of user devices.

20. A method for integrating a plurality of software applications with a plurality of infrastructure architectures, the method comprising:

receiving, by a service composition layer (SCL) and from a user device, an execution request corresponding to a service of an integration platform;

parsing, by the SCL, the execution request to determine a plurality of modular tasks corresponding to the execution request;

identifying, by the SCL, user information associated with the user device;

updating, by the SCL, at least one modular task of the plurality of modular tasks based at least in part on the identified user information;

communicating, by an application programming interface (API), information between the SCL and a network abstraction layer (NAL);

receiving, by the NAL and from the SCL, a modular task of the plurality of modular tasks;

determining, by the NAL, a type of an infrastructure architecture associated with the integration platform;

modifying, by the NAL, the modular task of the plurality of modular tasks according to the determined type of the infrastructure architecture; and

executing, by the NAL, the modified modular task on one or more network devices of the infrastructure architecture.

Assignments (2)
CHANGE OF NAME Recorded Dec 18, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069717/0427 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 9, 2019
From: RAO, PRASAD; RAGHAVAN, VASANTHA; RAMASWAMY, SRINIVASAN
To: SALESFORCE.COM, INC.
Reel/Frame 050010/0942 →