EP-4360281-B1 - DATA PACKET PRIORITIZATION IN MULTIPLEXED SESSIONS
Inventors
- PARLA, Vincent, E.
- ZAWADOWSKIY, ANDREW
- BESSONOV, Oleg
- BOSCH, Hendrikus, G., P.
Dates
- Publication Date
- 20260506
- Application Date
- 20220624
Claims (6)
- A method (500, 600) for an apparatus, for defining priority of a number of data packets within a queue, comprising: receiving a policy, from a data store of the apparatus, the policy defining whether data packets are to be sent over a first multiplexed channel and a second multiplexed channel, based at least in part on applications from which the data packets are generated, wherein: the first multiplexed channel has a first priority; and the second multiplexed channel has a second priority, and wherein the first priority is defined as being of a higher priority relative to the second priority; routing (601), the data packets over the first multiplexed channel and the second multiplexed channel based at least in part on the policy; adding (606) the number of data packets transmitted over the first multiplexed channel and the second multiplexed channel to the queue; and processing (506, 610) the number of data packets transmitted via the first multiplexed channel prior to processing the number of data packets transmitted via the second multiplexed channel based at least in part on the policy, the policy further defining processing the data packets based at least in part on: a first mean sojourn time and a first average number of data packets for high priority data packets sent via the first multiplexed channel, a second mean sojourn time and a second average number of data packets for low priority data packets sent via the second multiplexed channel.
- The method (500, 600) of claim 1, further comprising performing a cryptographic process based on the policy, the cryptographic process including encrypting the number of the data packets, decrypting the number of the data packets, decapsulation, forwarding, and combinations thereof.
- The method (500, 600) of any of claims 1 to 2, wherein: routing the data packets comprises routing the data packets over a plurality of sessions, the policy defines prioritization of a first session of the plurality of sessions over a second session of the plurality of sessions, the first session is associated with a live session where data is transmitted in real time, and the second session is associated with a non-live session where data is transmitted at non-real time instances.
- Apparatus for defining priority of a number of data packets within a queue, comprising: means for receiving, from a data store of the apparatus, a policy, the policy defining whether data packets are to be sent over a first multiplexed channel and a second multiplexed channel, based at least in part on applications from which the data packets are generated, wherein: the first multiplexed channel has a first priority; and the second multiplexed channel has a second priority, wherein the first priority is defined as being of a higher priority relative to the second priority; and means for routing (601) the data packets over the first multiplexed channel and the second multiplexed channel based at least in part on the policy; means for adding (606) the number of data packets transmitted over the first multiplexed channel and the second multiplexed channel to the queue; and means for processing (506, 610) the number of data packets transmitted via the first multiplexed channel prior to processing the number of data packets transmitted via the second multiplexed channel based at least in part on the policy, the policy further defining processing the data packets based at least in part on: a first mean sojourn time and a first average number of data packets for high priority data packets sent via the first multiplexed channel, a second mean sojourn time and a second average number of data packets for low priority data packets sent via the second multiplexed channel.
- The apparatus according to claim 4 further comprising means for implementing the method (500, 600) according to any of claims 2 to 3.
- A computer program, computer program product or computer readable medium comprising instructions which, when executed by a computer, cause the computer to carry out the steps of the method (500, 600) of any of claims 1 to 3.
Description
TECHNICAL FIELD The present disclosure relates generally to data packet transmissions. Specifically, the present disclosure relates to systems and methods for deciding the priority of a packet prior to performing a decryption and/or encryption process. BACKGROUND Computers networks may be used to transmit data from one computing device to another for a myriad of reasons. Head-of-line (HOL) blocking in computer networking is a performance-limiting phenomenon that occurs when a line of packets form a queue and is held up by a first packet in the que. HOL blocking may occur, for example, in input-buffered network switches where out-of-order delivery of packets may occur and may occur when multiple requests are transmitted in hypertext transfer protocol (HTTP) pipelining. Futher, other than reordering, HOL blocking, in terms of prioritization, may be caused by a large number of low priority packets being ahead of the high priority packets within the same queue. Such a switch may be composed of input buffered ports, output buffered ports, and switch fabric. When first-in first-out input buffers are used, only the first received packet is prepared to be forwarded. All packets received afterwards are not forwarded if the first one cannot be forwarded resulting in an HOL blocking situation. US 2012/039337 discloses a technique for QoS of encrypted network traffic. US 2006/187942 discloses packet forwarding and communication bandwidth control. BRIEF DESCRIPTION OF THE DRAWINGS The detailed description is set forth below with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The use of the same reference numbers in different figures indicates similar or identical items. The systems depicted in the accompanying figures are not to scale and components within the figures may be depicted not to scale with each other. FIG. 1 illustrates a system-architecture diagram of a network that utilizes a number of cryptographic channels including a number of high-priority channels and low-priority channels, according to an example of the principles described herein.FIG. 2 illustrates a component diagram of example components of a client device, according to an example of the principles described herein.FIG. 3 illustrates a component diagram of example components of a server, according to an example of the principles described herein.FIG. 4 illustrates a diagram of an example M/M/1 queueing model, according to an example of the principles described herein.FIG. 5 illustrates a flow diagram of an example method for defining priority of a number of data packets within a queue, according to an example of the principles described herein.FIG. 6 illustrates a flow diagram of an example method for defining priority of a number of data packets within a queue, according to an example of the principles described herein.FIG. 7 illustrates a computing system diagram illustrating a configuration for a data center that may be utilized to implement aspects of the technologies disclosed herein.FIG. 8 illustrates a computer architecture diagram showing an example computer hardware architecture for implementing a computing device that may be utilized to implement aspects of the various technologies presented herein. DESCRIPTION OF EXAMPLE EMBODIMENTS HOL blocking in computer networking may limit the performance of network of computing devices. Any system that incorporates and utilizes a queue limits performance, and the mixing of data packets having different priorities in a single queue results in HOL blocking. If there is no HOL blocking occurring, data packets that have arrived have the chance to be forwarded around a stuck data packet processing data packets out of order. A number of different mechanisms may be employed to reorder packets. Protocols that multiplex data into a single encrypted channel or tunnel may include, for example, the QUIC general-purpose transport layer network protocol (e.g., HTTP/2 and/or HTTP/3), datagram transport layer security (DTLS) communications protocol, virtual private network (VPN) protocols, Internet protocol security (IPsec) VPN protocols, and protocols associated with software-defined networking (SDN) in a wide area network (WAN) (SD-WAN) such as, for example, an SD-WAN service VPN. These protocols are capable of addressing HOL blocking in terms of cryptography (e.g., encrypting and/or decrypting). These protocols may decrypt received data packets and/or payloads out of order. This offers significant benefits over transport layer security (TLS)-based protocols such as HTTPs and secure sockets layer (SSL)/TLS VPNs. Further, HOL blocking of higher priority packets may be a result of multiplexing multiple data flows of differing priorities, and, as a result, lower priority data packets may be processed ahead of high priority data packets. However, none of the above protocols completely solve the pr