# US 11,451,470 B2 · Systems and methods for data service request classification and routing

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

- Number: US 11,451,470 B2
- Document ID: US11451470B2
- Status: Granted
- Kind: B2
- Application number: 16/755,554
- Filed: 2016-08-05
- Published: 2020-09-10
- Granted: 2022-09-20
- Earliest claimed: 2016-08-05
- Assignees: Intel Corporation
- Applicants: Intel Corporation
- Inventors: Damien Power; Chris MacNamara; Marco Varlese
- Web page: https://patentgrep.com/patent/US11451470B2

## CPC

- H04L 12/4625: {Single bridge functionality, e.g. connection of two networks over a single bridge}
- H04L 12/00: Data switching networks (interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units G06F13/00)
- H04L 41/0806: for initial configuration or provisioning, e.g. plug-and-play
- H04L 41/0894: Policy-based network configuration management
- H04L 45/304: {Route determination for signalling traffic}
- H04L 45/76: Routing in software-defined topologies, e.g. routing between virtual machines
- H04L 61/5007: Internet protocol [IP] addresses
- H04L 67/63: Routing a service request depending on the request content or context
- H04L 69/16: Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L 41/0895: Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
- H04L 45/645: Splitting route computation layer and forwarding layer, e.g. routing according to path computational element [PCE] or based on OpenFlow functionality
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A Service Routing Agent and methods are disclosed that classify and route data service requests. One embodiment includes a control circuit and at least one orchestrator, processor, and service handler circuit. The control circuit performs a process to: receive a configuration of at least one service handler circuit, initialize a list of service handler circuits and associated applications, program the at least one processor to listen for data service requests associated with the application, receive a data service request, and determine whether a service handler circuit associated with the application has been activated; when the service handler circuit has been activated, forwards the data service request to the service handler circuit, and when the service handler circuit has not been activated, request that the service handler circuit be activated, and then forwards the data service request to the service handler circuit. The Service Routing Agent reports updated traffic statistics.

## Claims

### Claim 1

A method comprising:
obtaining configuration information identifying service handler agents and applications associated therewith;
initializing a list of at least one service handler circuit and an application associated therewith;
programming at least one processor to listen for data service requests associated with the application;
obtaining a data service request from the at least one processor;
classifying the data service request according to the associated application;
monitoring traffic statistics of the at least one processor, the traffic statistics including a traffic volume of the data service requests associated with the application;
in response to the traffic volume satisfying a threshold, activating at least one additional processing circuit to process the data service requests;
determining a priority level of the data service request based on a network load;
determining whether a service handler circuit associated with the application has been activated;
when the service handler circuit associated with the application has been activated, forwarding the data service request to the service handler circuit based on the determined priority level of the data service request;
when the service handler circuit associated with the application has not been activated, a control circuit is to perform operations including:
requesting that the at least one service handler circuit be activated, and then forward the data service request to the at least one service handler circuit;
identifying at least a second service handler circuit that has been activated and forwarding the data service request to the second service handler circuit;
obtaining a response to the data service request from the service handler circuit associated with the application;
forwarding the response to a requesting client; and
updating and reporting the traffic statistics to an orchestrator.

### Claim 2 (depends on 1)

The method of claim 1, wherein the at least one service handler circuit comprises a pool of at least two processing circuits, further comprising conducting a load balancing to select one processing circuit from among the pool of processing circuits to which to forward the data service request.

### Claim 3 (depends on 2)

The method of claim 2, wherein the configuration information to include an Internet Protocol (IP) address for each of the processing circuits.

### Claim 4 (depends on 1)

The method of claim 1, wherein the initializing the list of at least one service handler circuit comprises receiving configuration data from the orchestrator.

### Claim 5 (depends on 1)

The method of claim 1, wherein programming the at least one processor comprises programming the processor to listen for a transmission control protocol (TCP) packet arriving on port number 3868 and formatted according to a DIAMETER format.

### Claim 6 (depends on 1)

The method of claim 1, wherein programming the at least one processor comprises programming the processor to listen for a stream control transmission protocol (SCTP) packet on port number 3868, and formatted according to a DIAMETER format.

### Claim 7 (depends on 1)

The method of claim 1, wherein programming the at least one processor comprises programming the processor to listen for a user datagram protocol (UDP) and formatted according to a RADIUS format.

### Claim 8 (depends on 1)

The method of claim 1, wherein the Service Routing Agent communicates with the at least one processor through a first interface, with the at least one service handler circuit through a second interface, and with the orchestrator through a third interface.

### Claim 9

A non-transitory computer-readable medium containing computer executable instructions that, when executed by at least one control circuit in a Service Routing Agent, cause the Service Routing Agent to perform a method comprising:
obtaining configuration information identifying service handler agents and applications associated therewith;
initializing a list of at least one service handler circuit and an application associated therewith;
programming at least one processor to listen for data service requests associated with the application;
obtaining a data service request from the at least one processor;
classifying the data service request according to the associated application;
monitoring traffic statistics of the at least one processor, the traffic statistics including a traffic volume of the data service requests associated with the application;
in response to the traffic volume satisfying a threshold, activating at least one additional processing circuit to process the data service requests;
determining a priority level of the data service request based on a network load;
determining whether a service handler circuit associated with the application has been activated;
when the service handler circuit associated with the application has been activated, forwarding the data service request to the service handler circuit associated with the application based on the determined priority level of the data service request;
when the service handler circuit associated with the application has not been activated, the control circuit is to perform operations including:
requesting that the at least one service handler circuit be activated, and then forward the data service request to the at least one service handler circuit;
identifying at least a second service handler circuit that has been activated and forwarding the data service request to the second service handler circuit;
obtaining a response to the data service request from the at least one service handler circuit;
forwarding the response to a requesting client; and
updating and reporting the traffic statistics to an orchestrator.

### Claim 10 (depends on 9)

The non-transitory computer-readable medium of claim 9, wherein the at least one service handler circuit comprises a pool of at least two processing circuits, further comprising conducting a load balancing to select one processing circuit from among the pool of processing circuits to which to forward the data service request.

### Claim 11 (depends on 10)

The non-transitory computer-readable medium of claim 10, wherein the configuration information to include an Internet Protocol (IP) address for each of the processing circuits.

### Claim 12 (depends on 9)

The non-transitory computer-readable medium of claim 9, wherein programming the at least one processor comprises programming the processor to listen for a transmission control protocol (TCP) packet arriving on port number 3868 and formatted according to a DIAMETER format.

### Claim 13 (depends on 9)

The non-transitory computer-readable medium of claim 9, wherein programming the at least one processor comprises programming the processor to listen for a user datagram protocol (UDP) and formatted according to a RADIUS format.

### Claim 14

A Service Routing Agent comprising:
at least one interface circuit coupled to exchange signals with an orchestrator, at least one processor, and at least one service handler circuit; and
at least one control circuit to:
obtain a configuration of the at least one service handler circuit and its associated application;
initialize a list of the at least one service handler circuit and its associated application;
program the at least one processor to listen for data service requests associated with the application;
obtain a data service request from the at least one processor;
classify the data service request according to the associated application;
monitor traffic statistics of the at least one processor, the traffic statistics including a traffic volume of the data service requests associated with the application;
in response to the traffic volume satisfying a threshold, activate at least one additional processing circuit to process the data service requests;
determine a priority level of the data service request based on a network load;
determine whether at least one service handler circuit associated with the application has been activated;
when the at least one service handler circuit has been activated, forward the data service request to the at least one service handler circuit based on the determined priority level of the data service request;
when the at least one service handler circuit has not been activated, the control circuit is to at least:
request that the at least one service handler circuit be activated, and then forward the data service request to the at least one service handler circuit;
identify at least a second service handler circuit that has been activated and forward the data service request to the second service handler circuit;
obtain a response to the data service request from the at least one service handler circuit;
forward the response to a requesting client; and
update and report the traffic statistics to the orchestrator.

### Claim 15 (depends on 14)

The Service Routing Agent of claim 14, wherein the configuration to include an Internet Protocol (IP) address for each of the-service handler circuits.

### Claim 16 (depends on 14)

The Service Routing Agent of claim 14, wherein the initializing the list of the at least one service handler circuit comprises receiving configuration data from the orchestrator.

### Claim 17 (depends on 14)

The Service Routing Agent of claim 14, wherein programming the at least one processor comprises programming the processor to listen for at least one of a transmission control protocol (TCP) packet arriving on port number 3868 and formatted according to a DIAMETER format, and a stream control transmission protocol (SCTP) packet on port number 3868, and formatted according to the DIAMETER format.

### Claim 18 (depends on 14)

The Service Routing Agent of claim 14, wherein programming the at least one processor comprises programming the processor to listen for a user datagram protocol (UDP) and formatted according to a RADIUS format.
