# US 12,003,602 B2 · Method and system for universal security services abstraction

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

- Number: US 12,003,602 B2
- Document ID: US12003602B2
- Status: Granted
- Kind: B2
- Application number: 18/060,528
- Filed: 2022-11-30
- Published: 2023-05-11
- Granted: 2024-06-04
- Earliest claimed: 2021-03-17
- Assignees: Salesforce, Inc.
- Applicants: Salesforce, Inc.
- Inventors: Scott Glaser; Abhinav Bagul; Kerry Fleming; Matthew R. Kunkel; Derek Spiner
- Web page: https://patentgrep.com/patent/US12003602B2

## CPC

- H04L 67/566: Grouping or aggregating service requests, e.g. for unified processing
- H04L 63/10: {for controlling access to devices or network resources}
- H04L 63/168: {above the transport layer}
- H04L 67/561: Adding application-functional data or data for application control, e.g. adding metadata
- H04L 67/564: Enhancement of application control based on intercepted application data
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method for providing interoperability between a plurality of security services and target applications by an interoperability service. The method includes receiving a request from one of the plurality of security services to perform a task on a target application, preparing a unified data model for interaction with the target application, determining and organizing data connections to perform the task on the target application, generating a set of requests using the unified data model based on the task and utilizing business logic of the interoperability service for the data connections with the target application, transforming the set of requests into commands and data structures specific to the target application, and sending the set of requests on respective data connections with the target application.

## Claims

### Claim 1

A method for providing interoperability between a plurality of security services and target applications by an interoperability service, wherein the interoperability service includes a first, second, and third abstraction layer, the method comprising:
receiving, at a first abstraction layer, a request from one of the plurality of security services to perform a task on a target application;
preparing a unified data model for interaction with the target application;
routing the request to a second abstraction layer based on the unified data model, and a set of actions for the task;
determining and organizing data connections to perform the task on the target application;
generating a set of requests using the unified data model based on the task and utilizing business logic of the second abstraction layer for the data connections with the target application;
routing the set of requests to a third abstraction layer based on the unified data model, and the set of actions for the task;
transforming the set of requests into commands and data structures specific to the target application; and
sending the commands and data structures on respective data connections with the target application.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
determining a permitted set of actions for the task, the target application, and the one of the plurality of security services.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
managing the data connections with the target application.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
receiving a response from the target application;
transforming the response into a form consistent with the unified data model;
combining the response into the unified data model; and
returning data to the one of the plurality of security services.

### Claim 5 (depends on 4)

The method of claim 4, further comprising:
filtering data of the unified data model prior to returning the data to the one of the plurality of security services.

### Claim 6 (depends on 4)

The method of claim 4, wherein the first abstraction layer is an experience layer, the second abstraction layer is a process layer, and the third abstraction layer is a system layer.

### Claim 7

A non-transitory machine-readable storage medium that provides instructions that, if executed by a processor, will cause said processor to perform operations of a method for providing interoperability between a plurality of security services and target applications by an interoperability service, wherein the interoperability service includes a first, second, and third abstraction layer, the operations comprising:
receiving, at a first abstraction layer, a request from one of the plurality of security services to perform a task on a target application;
preparing a unified data model for interaction with the target application;
routing the request to a second abstraction layer based on the unified data model, and a set of actions for the task;
determining and organizing data connections to perform the task on the target application;
generating a set of requests using the unified data model based on the task and utilizing business logic of the second abstraction layer for the data connections with the target application;
routing the set of requests to a third abstraction layer based on the unified data model, and the set of actions for the task;
transforming the set of requests into commands and data structures specific to the target application; and
sending the commands and data structures on respective data connections with the target application.

### Claim 8 (depends on 7)

The non-transitory machine-readable storage medium of claim 7, further comprising:
determining a permitted set of actions for the task, the target application, and the one of the plurality of security services.

### Claim 9 (depends on 7)

The non-transitory machine-readable storage medium of claim 7, further comprising:
managing the data connections with the target application.

### Claim 10 (depends on 7)

The non-transitory machine-readable storage medium of claim 7, further comprising:
receiving a response from the target application;
transforming the response into a form consistent with the unified data model;
combining the response into the unified data model; and
returning data to the one of the plurality of security services.

### Claim 11 (depends on 10)

The non-transitory machine-readable storage medium of claim 10, further comprising:
filtering data of the unified data model prior to returning the data to the one of the plurality of security services.

### Claim 12 (depends on 10)

The non-transitory machine-readable storage medium of claim 10, wherein the first abstraction layer is an experience layer, the second abstraction layer is a process layer, and the third abstraction layer is a system layer.

### Claim 13

A computing device to execute an interoperability service between a plurality of security services and applications, wherein the interoperability service includes a first, second, and third abstraction layer, the computing device comprising:
a non-transitory machine-readable medium having stored therein the interoperability services; and
a processor coupled to the non-transitory machine-readable medium, the processor to execute the interoperability service, the interoperability service to receive, at a first abstraction layer, a request from one of the plurality of security services to perform a task on a target application, prepare unified data model for interaction with the target application, route the request to a second abstraction layer based on the unified data model, and a set of actions for the task, determine and organize data connections to perform the task on the target application, generate a set of requests using the unified data model based on the task and utilize business logic of the second abstraction layer for the data connections with the target application, route the set of requests to a third abstraction layer based on the unified data model, and the set of actions for the task, transform the set of requests into commands and data structures specific to the target application, and send the commands and data structures on respective data connections with the target application.

### Claim 14 (depends on 13)

The computing device of claim 13, wherein the interoperability service is further to determine a permitted set of actions for the task, the target application, and the one of the plurality of security services.

### Claim 15 (depends on 13)

The computing device of claim 13, wherein the interoperability service is further to manage the data connections with the target application.

### Claim 16 (depends on 13)

The computing device of claim 13, wherein the interoperability service is further to receive a response from target application, transform the response into a form consistent with the unified data model, combine the response into the unified data model, and return data to the one of the plurality of security services.

### Claim 17 (depends on 16)

The computing device of claim 16, wherein the interoperability service is further to filter data of the unified data model prior to returning the data to the one of the plurality of security services.

### Claim 18 (depends on 16)

The computing device of claim 16, wherein the first abstraction layer is an experience layer, the second abstraction layer is a process layer, and the third abstraction layer is a system layer.
