# US 11,030,079 B2 · Service virtualization platform

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,030,079 B2
- Document ID: US11030079B2
- Status: Granted
- Kind: B2
- Application number: 16/564,859
- Filed: 2019-09-09
- Published: 2020-04-30
- Granted: 2021-06-08
- Earliest claimed: 2018-10-25
- Assignees: Capital One Services, LLC
- Applicants: Capital One Services, LLC
- Inventors: Stephen Tkac; Agnibrata Nayak; Pradosh Sivadoss; Govind Pande
- Web page: https://patentgrep.com/patent/US11030079B2

## CPC

- G06F 9/44505: {Configuring for program initiating, e.g. using registry, configuration files}
- G06F 11/3698: Environments for analysis, debugging or testing of software
- G06F 9/44526: {Plug-ins; Add-ons}
- G06F 9/455: Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F 11/3696: {Methods or tools to render software testable}
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Various embodiments are generally directed to techniques of creating or managing one or more virtual services using at least one application programming interface (API). At a plugin layer, a plugin integrator programmatically interfaces with and integrates one or more virtualization tools. The plugin integrator may be programmatically interfaced with the at least one API. At least one proxy agent may be used to run or consumer the one or more virtual services. The at least one API and the at least one proxy agent may be implemented in an abstraction layer.

## Claims

### Claim 1

A method for providing a service virtualization platform, the method comprising
integrating, by a plugin integrator, one or more virtualization tools;
creating or managing, by a core application programming interface (API), one or more virtual services based on the one or more integrated virtualization tools; and
running, by a proxy agent, the one or more virtual services, and
wherein the plugin integrator is accessed or provided at a plugin layer and the core API is accessed or provided at a core layer, the core layer being different from the plugin layer, and
wherein the creating or managing of the one or more virtual services is performed solely by the core API and the running of the one or more virtual services is performed solely by the proxy agent.

### Claim 2 (depends on 1)

The method of claim 1, wherein the plugin integrator programmatically interfaces with and integrates the one or more virtualization tools via one or more respective plugins.

### Claim 3 (depends on 1)

The method of claim 1, wherein the creating of the one or more virtual services comprises using, access, plugging in, and/or integrating via the plugin integrator a predefined or predetermined combination of the one or more virtualization tools by a user.

### Claim 4 (depends on 1)

The method of claim 1, wherein the core API is one or more of the following: (i) a representational state transfer (REST) API and (ii) a simple object access protocol (SOAP) API.

### Claim 5 (depends on 1)

The method of claim 1, wherein the plugin integrator programmatically interfaces with the core API.

### Claim 6 (depends on 1)

The method of claim 1, wherein the plugin integrator does not programmatically interface with the proxy agent.

### Claim 7 (depends on 1)

The method of claim 1, wherein the one or more virtualization tools are open-source virtualization tools.

### Claim 8 (depends on 1)

The method of claim 1, wherein the managing of the one or more virtual services comprises: (i) capturing and recording data, (ii) editing, modifying, or deleting data, (iii) setting a delay, wherein the delay includes a randomized delay and/or a jitter, (iv) entering a mode, wherein the mode includes a simulation mode, a passthrough mode, and/or a record mode, (v) changing the mode, (vi) injecting JavaScript (JS) code, wherein the injection of the JS code dynamically modifies behavior of the one or more virtual services by altering incoming requests and/or outgoing mocked responses, and/or (vii) deploying the one or more virtual services by a test framework.

### Claim 9 (depends on 1)

The method of claim 1, further comprising exporting virtual service data by the core API, and wherein the virtual service data is in JavaScript Object Notation (JSON) format.

### Claim 10 (depends on 1)

The method of claim 1, further comprising providing a user interface to design, build, document, and/or test the core API and/or the one or more virtual services.

### Claim 11 (depends on 1)

The method of claim 1, wherein the service virtualization platform integrates a continuation-integration/continuation-delivery (CI/CD) pipeline by the core API.

### Claim 12 (depends on 1)

The method of claim 1, wherein the running of the one or more virtual services comprises routing a request to at least one port of the one or more virtualization tools by the proxy agent.

### Claim 13 (depends on 1)

The method of claim 1, wherein the running of the one or more virtual services is dynamically scalable based at least in part on user load.

### Claim 14 (depends on 1)

The method of claim 1, wherein the core API is programmatically connected to or interfaced with a distributed relational database and virtual service data from the core API is stored in the distributed relational database, and wherein the method further comprises:
performing analysis on the virtual service data, and
modifying the one or more virtual services based on the performed analysis.

### Claim 15 (depends on 1)

The method of claim 1, wherein the service virtualization platform is cloud native.

### Claim 16

A system for a service virtualization platform, the system comprising:
one or more processors, coupled with memory, operable to execute stored instructions, that when executed, cause the one or more processors to:
integrate, by a plugin integrator, one or more virtualization tools;
create or manage, by a core application programming interface (API), one or more virtual services based on the one or more integrated virtualization tools; and
run, by a proxy agent, the one or more virtual services, and
wherein the plugin integrator is accessed or provided at a plugin layer and the core API is accessed or provided at a core layer, the core layer being different from the plugin layer, and
wherein the creation or the management of the one or more virtual services is performed solely by the core API and the running of the one or more virtual services is performed solely by the proxy agent.

### Claim 17 (depends on 16)

The system of claim 16, wherein the management of the ono or more virtual services comprises the one or more processors further caused to: (i) capture and record data, (ii) edit, modify, or delete data, (iii) set a delay, wherein the delay includes a randomized delay and/or a jitter, (iv) enter a mode, wherein the mode includes a simulation mode, a passthrough mode, and/or a record mode, (v) change the mode, (vi) inject JavaScript (JS) code, wherein the injection of the JS code dynamically modifies behavior of the one or more virtual services by altering incoming requests and/or outgoing mocked responses, and/or (vii) deploy the one or more virtual services by a test framework.

### Claim 18

An apparatus for a service virtualization platform, the apparatus comprising:
one or more processors, coupled with memory, operable to execute stored instructions, that when executed, cause the one or more processors to:
integrate, by a plugin integrator, one or more virtualization tools;
create or manage, by a core application programming interface (API), one or more virtual services based on the one or more integrated virtualization tools; and
run, by a proxy agent, the one or more virtual services, and
wherein the plugin integrator is accessed or provided at a plugin layer and the core API is accessed or provided at a core layer, the core layer being different from the plugin layer, and
wherein the creation or the management of the one or more virtual services is performed solely by the core API and the running of the one or more virtual services is performed solely by the proxy agent.

### Claim 19 (depends on 18)

The apparatus of claim 18, wherein the one or more processors are further caused to provide or access a user interface to design, build, document, and/or test the core API and/or the one or more virtual services.

### Claim 20 (depends on 18)

The apparatus of claim 18, wherein the plugin integrator provides: (i) one or more services for the one or more plugins associated with the one or more virtualization tools to register with the plugin integrator and (ii) one or more protocols for exchanging data with the one or more plugins.
