IP Library Granted Patent US 11,681,785
Granted Patent B2
US 11,681,785 · App. 17/070,621 · Granted Jun 20, 2023

Detecting and tracking virtual containers

Inventors: Michael K. Boudreau (Orange, CA); Blair Googer (Georgetown, SC); Jamie B. Marsnik (Annandale, MN); Bradley T. Moore (Lagune Niguel, CA)
Assignee: ServiceNow, Inc.
G06F21/105G06F8/63G06F16/2358G06F16/25G06F16/284G06F16/287G06F16/5866G06F21/10G06F2221/0773
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,681,785
App. No.
17/070,621
Filed
Oct 14, 2020
Granted
Jun 20, 2023
Kind
B2
Examiner
LE, HUNG D
Art Unit
2161
USPC
707/704
Abstract

Examples of techniques for detecting and tracking virtual containers are disclosed. In one example implementation according to aspects of the present disclosure, a computer-implemented method includes detecting a virtual container. The method further includes collecting virtual container data for the virtual container. The method also includes associating, by a processing device, the virtual container to at least one of a plurality of images. Additionally, the method includes building, by the processing device, a container event database based on the virtual container data and the association of the virtual container to the at least one of the plurality of images, so as to enable tracking of software in the plurality of images and in live virtual containers.

Claims (40)

1. A system, comprising:

one or more hardware processors; and

a non-transitory memory, the non-transitory memory storing computer-readable instructions that, when executed by the one or more hardware processors, causes the one or more hardware processors to perform operations comprising:

determining whether an event associated with a virtual container of a plurality of virtual containers is a create event indicative of a creation of the virtual container or a destroy event indicative of a removal of the virtual container, wherein the virtual container of the plurality of virtual containers is configured to run a set of images corresponding to a licensed software application;

in response to the event being determined to be the create event, determining whether the set of images associated with the virtual container are known or unknown; and

in response to the set of images associated with the virtual container being determined to be known, creating a virtual container record comprising an image ID, a container ID, an indication of an action associated with the event, an indication of a time the action occurred, an indication of a mapped component associated with the licensed software application, or a license quantity limit associated with the licensed software application, or any combination thereof.

2. The system of claim 1 , wherein the operations comprise determining whether the license quantity limit is exceeded based on the virtual container record.

3. The system of claim 2 , wherein the operations comprise reporting a licensing violation when it is determined that the license quantity limit is exceeded.

4. The system of claim 1 , wherein the operations comprise, in response to the set of images associated with the virtual container being determined to be unknown, looking up the set of images in a container event database.

5. The system of claim 4 , wherein looking up the set of images comprises submitting an image history of the set of images to a submission queue, wherein the image history corresponds to a portion of a hierarchical tree associated with the set of images.

6. The system of claim 1 , wherein the operations comprise, in response to the event being determined to be the destroy event, removing the image ID and the container ID of the destroy event associated with the virtual container from a container event database.

7. The system of claim 1 , wherein the operations comprise detecting the event associated with the virtual container by monitoring a container engine of a host computing device.

8. The system of claim 1 , wherein the set of images comprises a base image and subsequent images, wherein the subsequent images are hierarchically related to the base image.

9. The system of claim 1 , wherein the operations comprise determining and storing a container image history indicating a historical development of a hierarchical structure of the set of images over time.

10. The system of claim 1 , wherein the set of images correspond to a template of the licensed software application.

11. A computer-implemented method, comprising:

determining, via a processing device, whether an event associated with a virtual container of a plurality of virtual containers is a create event indicative of a creation of the virtual container or a destroy event indicative of a removal of the virtual container, wherein the virtual container of the plurality of virtual containers is configured to run a set of images corresponding to a licensed software application;

in response to the event being determined to be the create event, determining, via the processing device, whether the set of images associated with the virtual container are known; and

in response to the set of images associated with the virtual container being determined to be known, creating, via the processing device, a virtual container record comprising an image ID, a container ID, an indication of an action associated with the event, an indication of a time the action occurred, an indication of a mapped component associated with the licensed software application, or a license quantity limit associated with the licensed software application, or any combination thereof.

12. The computer-implemented method of claim 11 , comprising:

determining, via the processing device, whether the license quantity limit stored in a software license database is exceeded based on the virtual container record; and

reporting, via the processing device, a licensing violation when it is determined that the license quantity limit is exceeded.

13. The computer-implemented method of claim 11 , comprising, in response to the set of images associated with the virtual container being determined to be unknown, looking up the set of images, via the processing device, in a container event database.

14. The computer-implemented method of claim 13 , wherein looking up the set of images comprises submitting, via the processing device, an image history of the set of images to a submission queue, wherein the image history corresponds to a portion of a hierarchical tree associated with the set of images.

15. The computer-implemented method of claim 11 , comprising detecting, via the processing device, the event associated with the virtual container by monitoring a container engine of a host computing device.

16. A non-transitory computer-readable medium comprising computer-readable code, that when executed by one or more processors, causes the one or more processors to perform operations comprising:

determining whether an event associated with a virtual container of a plurality of virtual containers is a create event indicative of a creation of the virtual container or a destroy event indicative of a removal of the virtual container, wherein the virtual container of the plurality of virtual containers is configured to run a set of images corresponding to a licensed software application;

in response to the event being determined to be the create event, determining whether the set of images associated with the virtual container are known; and

in response to the set of images associated with the virtual container being determined to be known, creating a virtual container record comprising an image ID, a container ID, an indication of an action associated with the event, an indication of a time the action occurred, an indication of a mapped component associated with the licensed software application, or a license quantity limit associated with the licensed software application, or any combination thereof.

17. The non-transitory computer-readable medium of claim 16 , wherein the operations comprise:

determining whether the license quantity limit is exceeded based on the virtual container record; and

reporting a licensing violation when it is determined that the license quantity limit is exceeded.

18. The non-transitory computer-readable medium of claim 16 , wherein the operations comprise, in response to the set of images associated with the virtual container being determined to be unknown, submitting an image history of the set of images to a submission queue, wherein the image history corresponds to a portion of a hierarchical tree associated with the set of images.

19. The non-transitory computer-readable medium of claim 16 , wherein the operations comprise, in response to the event being determined to be the destroy event, removing the image ID and the container ID of the destroy event associated with the virtual container from a container event database.

20. The non-transitory computer-readable medium of claim 16 , wherein the set of images comprises a base image and subsequent images, wherein the subsequent images are hierarchically related to the base image.

21. A system, comprising:

one or more hardware processors; and

a non-transitory memory, the non-transitory memory storing computer-readable instructions that, when executed by the one or more hardware processors, causes the one or more hardware processors to perform operations comprising:

determining whether an event associated with a virtual container of a plurality of virtual containers is a destroy event indicative of a removal of the virtual container, wherein the virtual container of the plurality of virtual containers is configured to run a set of images corresponding to a licensed software application; and

in response to the event being determined to be the destroy event, removing an image ID and a container ID of the destroy event associated with the virtual container from a container event database.

Continuity (5)
Continuation 16244868 · Jan 10, 2019
Continuation 15939613 · Mar 29, 2018
Continuation 15212435 · Jul 18, 2016
Continuation 14990182 · Jan 7, 2016
Related Publication 20210026932A1 · Jan 28, 2021