Accounting and enforcing non-process execution by container-based software transmitting data over a network

US10545786B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10545786-B2
Application numberUS-201715712194-A
CountryUS
Kind codeB2
Filing dateSep 22, 2017
Priority dateSep 22, 2017
Publication dateJan 28, 2020
Grant dateJan 28, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Utilizing a computing device to determine and enforce limits on cloud computing containers transmitting data over a network. A determination is made of total container time remaining available for a first container to execute in a computing environment, the first container utilizing one or more processor threads executing on a computing device. Processor packet transmission time is determined for processing and transmission of a packet or a batch of packets via a network stack associated with the computing device by the one or more processor threads utilized by the first container. An updated total container time remaining for the first container is calculated, accounting for the processor packet transmission time. The updated total container time remaining is enforced by descheduling all processor threads utilized by the first container if the updated total container time remaining is insufficient.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of utilizing a computing device to determine and enforce limits on cloud computing containers transmitting data over a network, the method comprising: determining a total container time remaining available for a first container to execute in a computing environment, the first container utilizing one or more processor threads executing on a computing device; determining a processor packet transmission time for processing and transmission of a packet or a batch of packets via a network stack associated with the computing device by the one or more processor threads utilized by the first container, wherein the processor packet transmission time is based on a per-packet estimated transmission time; calculating an updated total container time remaining for the first container accounting for the processor packet transmission time after transmission of the packet or batch of packets on behalf of the first container; and enforcing the updated total container time remaining by descheduling all processor threads utilized by the first container if the updated total container time remaining is insufficient causing transmission of the packet or the batch of packets to be throttled. 2. The method of claim 1 , further comprising receiving an interrupt on behalf of the first container when a process residing within a second container is executing, the interrupt requesting transmission of the packet or the batch of packets on behalf of the first container. 3. The method of claim 2 , wherein the interrupt causes execution of the second container to pause and switch execution to process the interrupt to transmit the packet or batch of packets on behalf of the first container. 4. The method of claim 1 , wherein the packet or batch of packets from the first container are processed by a kernel thread of the computing environment responsible for processing interrupts on behalf of the first container, and when calculating the updated container time remaining for the first container the packet or batch of packets processed by the kernel thread are correctly accounted for. 5. The method of claim 1 , wherein the processor packet transmission time is determined according to selectively one of the following: a per-packet basis, a sampling per-queue basis, a per-flow basis, a per-core basis, a per-container basis, and a per-tenant basis. 6. The method of claim 1 , wherein calculating the updated container time remaining occurs after transmission of the packet or batch of packets on behalf of the first container, and enforcing the updated total container time remaining causes transmission of a proximate packet or proximate batch of packets to be throttled by descheduling the one or more processor threads utilized by the first container. 7. The method of claim 1 , wherein calculating the updated container time remaining occurs before the transmission of the packet or batch of packets on behalf of the first container, and enforcing the updated total container time remaining causes transmission of the packet or batch of packets to be throttled by descheduling the one or more processor threads utilized by the first container. 8. The method of claim 1 , wherein when determining the processor packet transmission time for processing and transmission of a packet or a batch of packets, the computing device utilizes recorded time for a transmission of a previously transmitted batch of packets, divides the recorded time for the transmission by a number of the previously transmitted packet or batch of packets, and generates a per-packet estimated transmission time to determine the processor packet transmission time. 9. A computer program product utilizing a computing device to determine and enforce limits on cloud computing containers transmitting data over a network, the computer program product comprising: one or more non-transitory computer-readable storage media and program instructions stored on the one or more non-transitory storage media, the program instructions, when executed by the computing device, cause the computing device to perform a method comprising: determining a total container time remaining available for a first container to execute in a computing environment, the first container utilizing one or more processor threads executing on a computing device; determining a processor packet transmission time for processing and transmission of a packet or a batch of packets via a network stack associated with the computing device by the one or more processor threads utilized by the first container, wherein the processor packet transmission time is based on a per-packet estimated transmission time; calculating an updated total container time remaining for the first container accounting for the processor packet transmission time after transmission of the packet or batch of packets on behalf of the first container; and enforcing the updated total container time remaining by descheduling all processor threads utilized by the first container if the updated total container time remaining is insufficient causing transmission of the packet or the batch of packets to be throttled. 10. The computer program product of claim 9 , further comprising receiving an interrupt on behalf of the first container when a process residing within a second container is executing, the interrupt requesting transmission of the packet or the batch of packets on behalf of the first container. 11. The computer program product of claim 10 , wherein the interrupt causes execution of the second container to pause and switch execution to process the interrupt to transmit the packet or batch of packets on behalf of the first container. 12. The computer program product of claim 9 , wherein the packet or batch of packets from the first container are processed by a kernel thread of the computing environment responsible for processing interrupts on behalf of the first container, and when calculating the updated container time remaining for the first container the packet or batch of packets processed by the kernel thread are correctly accounted for. 13. The computer program product of claim 9 , wherein the processor packet transmission time is determined according to selectively one of the following: a per-packet basis, a sampling per-queue basis, a per-flow basis, a per-core basis, a per-container basis, and a per-tenant basis. 14. The computer program product of claim 9 , wherein calculating the updated container time remaining occurs after transmission of the packet or batch of packets on behalf of the first container, and enforcing the updated total container time remaining causes transmission of a proximate packet or proximate batch of packets to be throttled by descheduling the one or more processor threads utilized by the first container. 15. A computer system utilizing a computing device to determine and enforce limits on cloud computing containers transmitting data over a network, the computer system comprising: one or more computer processors; one or more computer-readable storage media; program instructions stored on the computer-readable storage media for execution by at least one of the one or more processors, the program instructions comprising: program instructions to determine a total container time remaining available for a first container to execute in a computing environment, the first container utilizing one or more processor threads executing on a computing device; program instructions to determine a processor packet transmission time for processing and transmission of a packet or a batch of packets via a network stack associated with the com

Assignees

Inventors

Classifications

  • in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46) · CPC title

  • G06F9/46Primary

    Multiprogramming arrangements · CPC title

  • Priority circuits therefor · CPC title

  • H04L67/62Primary

    Establishing a time schedule for servicing the requests · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10545786B2 cover?
Utilizing a computing device to determine and enforce limits on cloud computing containers transmitting data over a network. A determination is made of total container time remaining available for a first container to execute in a computing environment, the first container utilizing one or more processor threads executing on a computing device. Processor packet transmission time is determined f…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F9/46. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 28 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 9 related publications on this page (citations in our corpus or others sharing the same primary CPC).