# US 12,192,070 B2 · Adaptive service level accounting system

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

- Number: US 12,192,070 B2
- Document ID: US12192070B2
- Status: Granted
- Kind: B2
- Application number: 18/454,019
- Filed: 2023-08-22
- Published: 2023-12-07
- Granted: 2025-01-07
- Earliest claimed: 2021-02-23
- Assignees: Huawei Technologies Co., Ltd.
- Applicants: Huawei Technologies Co., Ltd.
- Inventors: Alexander Clemm; John Charles Strassner
- Web page: https://patentgrep.com/patent/US12192070B2

## CPC

- H04L 41/5009: Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
- H04L 41/0895: Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
- H04L 41/40: using virtualisation of network functions or resources, e.g. SDN or NFV entities
- H04L 41/5019: Ensuring fulfilment of SLA
- H04L 41/5048: {Automatic or semi-automatic definitions, e.g. definition templates}
- H04L 43/091: Measuring contribution of individual network components to actual service level
- H04L 41/0806: for initial configuration or provisioning, e.g. plug-and-play
- H04L 41/0894: Policy-based network configuration management
- H04L 41/142: using statistical or mathematical methods
- H04L 41/145: {involving simulating, designing, planning or modelling of a network}
- H04L 41/5029: {Service quality level-based billing, e.g. dependent on measured service level customer is charged more or less}
- H04L 41/5041: characterised by the time relationship between creation and deployment of a service
- H04L 41/5045: {Making service definitions prior to deployment}
- H04L 41/5054: Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
- H04L 43/026: using flow identification
- H04L 43/08: Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L 43/16: Threshold monitoring
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

According to one aspect of the present disclosure a system identifies a service level agreement between an originator of a network flow, and service level objectives associated with the agreement. The system generates and inserts one or more packet contracts into one or more packets in a data flow, with each packet contract specifying instructions that nodes that process the packet to generate accounting data, enabling measurement of the service level objectives, which is stored with the packet. Packet contract generation occurs by retrieving one or more packet contract templates associated with the service level agreement and generates an agreement based on the template. The accounting data can be carried with the packet to an egress node which can use the accounting data to determine whether the customer service levels are being met.

## Claims

### Claim 1

A computer implemented method of generating network accounting data for a network domain having an ingress node and an egress node, comprising:
determining, for a packet received at the ingress node, one or more service level objectives defined by a service level agreement by determining a network client associated with the packet;
generating one or more packet conditional directives comprising packet processing instructions executable at the one or more network nodes that, when processed by any one or more nodes in the network domain, generate accounting data which enables measurement of the one or more service level objectives, the one or more packet conditional directives generated by instantiating one or more packet conditional directive templates corresponding to the service level agreement, each packet conditional directive template of the one or more packet conditional directive templates including one or more conditions and one or more actions to create the packet processing instructions; and
adding the one or more packet conditional directives to the packet at the ingress node before the packet moves to a next node of the network.

### Claim 2 (depends on 1)

The computer implemented method of claim 1 wherein the determining comprises:
identifying the service level agreement associated with the network client; and
retrieving one or more service level objectives associated with the service level agreement.

### Claim 3 (depends on 1)

The computer implemented method of claim 1 wherein the generating comprises:
generating the one or more packet conditional directives from the one or more packet conditional directive templates including inserting the instructions into the packet based on the packet conditional directive template.

### Claim 4 (depends on 1)

The computer implemented method of claim 1 wherein the adding comprises inserting the packet conditional directive into the packet wherein the packet is configured using a protocol supporting conditional directives.

### Claim 5 (depends on 1)

The computer implemented method of claim 1 further including determining by a processing system whether the service level objective is met based on the accounting data extracted.

### Claim 6 (depends on 1)

The computer implemented method of claim 1 wherein the packet is forwarded to one or more additional nodes in a flow path, and instructions in the packet conditional directive instruct the additional nodes to update accounting data carried by the packet.

### Claim 7 (depends on 1)

The computer implemented method of claim 1 wherein the instructions comprise at least one or more conditional directives to generate the accounting data based on a condition based on a service level objective, and store the accounting data in a metadata field of the packet based on the one or more conditional directive.

### Claim 8 (depends on 1)

The computer implemented method of claim 1 wherein each SLO comprises one or more SLVs, the generating one or more packet conditional directives comprising packet processing instructions that, when processed by the node, generate accounting data, enabling measurement of the SLVs.

### Claim 9

A network device in a network domain having an ingress node and an egress node, comprising:
a receiver configured to receive a packet;
a transmitter configured to transmit the packet;
a non-transitory memory storage comprising instructions; and
at least one processor in communication with the memory, the receiver, and the transmitter, the at least one processor configured, upon receipt of the packet and upon execution of the instructions, to perform the following steps:
determine, for the packet, one or more service level objectives defined by a service level agreement by determining an originator of the packet;
generate a packet contract including one or more packet conditional directives comprising packet processing instructions executable at the one or more network nodes that, when processed by any one or more nodes in the network domain, generate accounting data which enables measurement of the one or more service level objectives, the one or more packet conditional directives generated by instantiating one or more packet conditional directive templates corresponding to the service level agreement, each packet conditional directive template of the one or more packet conditional directive templates including one or more conditions and one or more actions to create the packet processing instructions; and
add the packet contract including the one or more packet conditional directives to the packet at the ingress node before the packet moves to a next node of the network via the transmitter.

### Claim 10 (depends on 9)

The network device of claim 9 wherein the at least one processor executes the instructions to:
determine the originator is a network client for whom the packet is transmitted by the network; and
retrieve the service level agreement for the client and one or more service level objectives associated with the service level agreement.

### Claim 11 (depends on 10)

The network device of claim 10 wherein the at least one processor executes the instructions to determine the network client and retrieve the service level objectives by querying a customer database maintained by a network support system.

### Claim 12 (depends on 10)

The network device of claim 10 wherein the at least one processor executes the instructions to determine the network client and retrieve the service level objects by querying cached customer information in the non-transitory memory storage of the network device.

### Claim 13 (depends on 9)

The network device of claim 9 wherein the at least one processor executes the instructions to generate the packet contract by:
generating the packet contract from the template the one or more packet conditional directive templates, including inserting the instructions into the packet based on the one or more packet conditional directive templates.

### Claim 14 (depends on 9)

The network device of claim 9 wherein the at least one processor executes the instructions to update metadata in the packet according to instructions contained in the packet contract.

### Claim 15 (depends on 9)

The network device of claim 9 wherein the at least one processor executes the instructions to determine whether the service level objective is met.

### Claim 16 (depends on 9)

The network device of claim 9 wherein the packet is forwarded to one or more additional nodes in a flow path, and instructions in the packet contract cause accounting data carried by the packet to be updated at each node in the flow path.

### Claim 17

A non-transitory computer-readable medium storing computer instructions to generate network accounting data for a network domain having an ingress node and an egress node, that configure at least one processor, upon execution of the instructions, to perform the following steps:
determining, for a packet received at the ingress node, one or more service level objectives of a service level agreement by determining a network client associated with the packet;
generating a packet contract including one or more packet conditional directives comprising packet processing instructions executable at the one or more network nodes that, when processed by any one or more nodes in the network domain, generate accounting data which enables measurement of the one or more service level objectives, the one or more packet conditional directives generated by instantiating one or more packet conditional directive templates corresponding to the service level agreement, each packet conditional directive template of the one or more packet conditional directive templates including one or more conditions and one or more actions to create the packet processing instructions; and
adding the packet contract including the one or more packet conditional directives to the packet at the ingress node before the packet moves to a next node of the network.

### Claim 18 (depends on 17)

The non-transitory computer-readable medium of claim 17 wherein the determining comprises:
identifying an service level agreement for the network client for whom the packet is transmitted by accessing a database maintained by a network system operator;
retrieving the service level agreement for the network client and one or more service level objects associated with the service level agreement.

### Claim 19 (depends on 17)

The non-transitory computer-readable medium of claim 17 wherein the generating comprises:
generating the packet contract including the one or more packet conditional directives from the one or more packet conditional directive templates including inserting the instructions into the packet based on the one or more packet conditional directive templates.

### Claim 20 (depends on 17)

The non-transitory computer-readable medium of claim 17 wherein the steps further include determining by the at least one processor whether the service level objective is met.
