# US 11,121,976 B2 · System, device, and method for providing distributed quality-of-service control and policy enforcement

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

- Number: US 11,121,976 B2
- Document ID: US11121976B2
- Status: Granted
- Kind: B2
- Application number: 16/676,487
- Filed: 2019-11-07
- Published: 2021-05-13
- Granted: 2021-09-14
- Earliest claimed: 2019-11-07
- Assignees: Allot Ltd.
- Applicants: Allot Communications Ltd.
- Inventors: Lior Plat; Idan Bariach; Michal Rapaport; Liran Sinay; Itai Weissman; Boris Lifshitz
- Web page: https://patentgrep.com/patent/US11121976B2

## CPC

- H04L 45/48: Routing tree calculation
- H04L 43/0894: Packet rate
- H04L 47/20: Traffic policing
- H04L 47/2416: Real-time traffic
- H04L 47/2441: relying on flow classification, e.g. using integrated services [IntServ]
- H04L 47/2458: {Modification of priorities while in transit}
- H04L 47/6255: {queue load conditions, e.g. longest queue first}
- H04L 45/30: Routing of multiclass traffic
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

System, device, and method for providing distributed quality-of-service control and policy enforcement. A tree hierarchy representation is constructed for distributed enforcement of a Quality-of-Service (QoS) policy on incoming packets that are intended for transmission towards a destination, by at least two separate Processing Units (PUs) that separately process different packets that are intended for transmission towards that destination. A cross-PU Instances Synchronization Unit automatically determines that a first PU caused modification of a first set of instances of parent-child Policy Objects that are utilized by the first PU, and dynamically causes a corresponding modification to a second set of instances of parent-child Policy Objects that are utilized by a second PU. The QoS policy is enforced, on a packet-by-packet basis, by different member entities of the tree hierarchy representation, to achieve the overall QoS policy.

## Claims

### Claim 1

A method comprising:
constructing a tree hierarchy representation that corresponds to distributed enforcement of a Quality-of-Service (QoS) policy on incoming packets that are intended for transmission towards a destination, said tree hierarchy representation utilized by at least two separate Processing Units (PUs) that separately process different packets that are intended for transmission towards said destination;
generating an association between (I) a first set of instances of parent-child Policy Objects of QoS enforcement, and (II) a first PU; and generating a separate association between (i) a second set of instances of said parent-child Policy Objects of QoS enforcement, and (ii) a second PU;
performing a cross-PU Instances Synchronization process, which automatically determines that the first PU caused modification of said first set of instances of said parent-child Policy Objects that are utilized by the first PU, and which dynamically causes a corresponding modification to said second set of instances of said parent-child Policy Objects that are utilized by the second PU;
wherein the Cross-PU Instances Synchronization process is to dynamically synchronize, in real-time or in near-real-time, multiple instances of a Parent policy object of QoS enforcement that are associated separately with two or more PUs;
wherein the Cross-PU Instances Synchronization process is to dynamically synchronize, in real-time or in near-real-time, multiple instances of a Child policy object of QoS enforcement that are associated separately with two or more PUs.

### Claim 2

A non-transitory storage medium having stored thereon instructions that, when executed by a processor, cause the processor to perform a method comprising:
constructing a tree hierarchy representation that corresponds to distributed enforcement of a Quality-of-Service (QoS) policy on incoming packets that are intended for transmission towards a destination, said tree hierarchy representation utilized by at least two separate Processing Units (PUs) that separately process different packets that are intended for transmission towards said destination;
generating an association between (I) a first set of instances of parent-child Policy Objects of QoS enforcement, and (II) a first PU; and generating a separate association between (i) a second set of instances of said parent-child Policy Objects of QoS enforcement, and (ii) a second PU;
performing a cross-PU Instances Synchronization process, which automatically determines that the first PU caused modification of said first set of instances of said parent-child Policy Objects that are utilized by the first PU, and which dynamically causes a corresponding modification to said second set of instances of said parent-child Policy Objects that are utilized by the second PU;
wherein the Cross-PU Instances Synchronization process is to dynamically synchronize, in real-time or in near-real-time, multiple instances of a Parent policy object of QoS enforcement that are associated separately with two or more PUs;
wherein the Cross-PU Instances Synchronization process is to dynamically synchronize, in real-time or in near-real-time, multiple instances of a Child policy object of QoS enforcement that are associated separately with two or more PUs.

### Claim 3

A system comprising:
one or more hardware processor to execute code,
operably associated with one or more memory units to store code,
wherein the one or more hardware processors are configured:
to construct a tree hierarchy representation that corresponds to distributed enforcement of a Quality-of-Service (QoS) policy on incoming packets that are intended for transmission towards a destination, said tree hierarchy representation utilized by at least two separate Processing Units (PUs) that separately process different packets that are intended for transmission towards said destination;
to generate an association between (I) a first set of instances of parent-child Policy Objects of QoS enforcement, and (II) a first PU; and to generate a separate association between (i) a second set of instances of said parent-child Policy Objects of QoS enforcement, and (ii) a second PU;
to perform a cross-PU Instances Synchronization process, which automatically determines that the first PU caused modification of said first set of instances of said parent-child Policy Objects that are utilized by the first PU, and which dynamically causes a corresponding modification to said second set of instances of said parent-child Policy Objects that are utilized by the second PU;
wherein the Cross-PU Instances Synchronization process is to dynamically synchronize, in real-time or in near-real-time, multiple instances of a Parent policy object of QoS enforcement that are associated separately with two or more PUs;
wherein the Cross-PU Instances Synchronization process is to dynamically synchronize, in real-time or in near-real-time, multiple instances of a Child policy object of QoS enforcement that are associated separately with two or more PUs.
