IP Library Granted Patent US 10,824,697
Granted Patent B2
US 10,824,697 · App. 16/244,868 · Granted Nov 3, 2020

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 10,824,697
App. No.
16/244,868
Filed
Jan 10, 2019
Granted
Nov 3, 2020
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 (35)

1. A computer-implemented method for detecting and tracking a plurality of virtual containers, the computer-implemented method comprising:

determining, via a processing device, whether an event associated with a virtual container of the 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 each virtual container of the plurality of virtual containers is configured to run a corresponding set of images, wherein each image of the corresponding set of images is derived from a base image so as to be related in a hierarchical tree;

in response to the event being determined to be the create event, determining, via the processing device, whether a 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, via the processing device, a virtual container record by inserting an image ID and a container ID of the created virtual container record into a container event database.

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

3. The computer-implemented method of claim 2 , wherein looking up one of the unknown set of images comprises submitting an image history of the unknown set of images to a submission queue, wherein the image history corresponds to a portion of the hierarchical tree associated with the unknown set of images.

4. The computer-implemented method of claim 1 , comprising, in response to the event being determined to be the destroy event, removing, via the processing device, the image ID and the container ID of the destroy event associated with the virtual container from the container event database.

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

6. The computer-implemented method of claim 1 , wherein each virtual container of the plurality of virtual containers corresponds to a particular virtual container record in the container event database.

7. The computer-implemented method of claim 1 , further comprising submitting, via the processing device, data indicative of the event to a software licensing authority.

8. The computer-implemented method of claim 1 , further comprising submitting, via the processing device, a subset of the container event database to a software licensing authority, an administrator, or any combination thereof.

9. The computer-implemented method of claim 8 , wherein submitting the subset of the container event database comprises submitting an event log of the event to the software licensing authority, the administrator, or any combination thereof.

10. The computer-implemented method of claim 1 , further comprising reporting, via the processing device, a licensing violation when it is determined that a license quantity limit stored in a software license database is exceeded.

11. A system for detecting and tracking a plurality of virtual containers, the system comprising:

a processor in communication with one or more memory devices, wherein the processor is configured to:

determine whether an event associated with a virtual container of the 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 each virtual container of the plurality of virtual containers is configured to run a corresponding set of images, wherein each image of the corresponding set of images is derived from a base image so as to be related in a hierarchical tree;

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

in response to the set of images associated with the virtual container being determined to be known, create a virtual container record by inserting an image ID and a container ID of the created virtual container record into a container event database;

in response to the set of images associated with the virtual container being determined to be unknown, look up the unknown set of images in the container event database; and

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

12. The system of claim 11 , wherein the container ID is configured to facilitate identification of the virtual container associated with the container ID.

13. The system of claim 11 , wherein the container event database comprises an action, an action time, a usage duration, a start time, a stop time, a license quantity, or any combination thereof, for each virtual container of the plurality of virtual containers.

14. The system of claim 11 , wherein the processor is further configured to submit a subset of the container event database to a software licensing authority, an administrator, or any combination thereof.

15. A computer program product for detecting and tracking a plurality of virtual containers, the computer program product comprising:

a non-transitory storage medium readable by a processing circuit and storing instructions for execution by the processing circuit to cause the processing circuit to:

determine whether an event associated with a virtual container of the 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 each virtual container of the plurality of virtual containers is configured to run a corresponding set of images, wherein each image of the corresponding set of images is derived from a base image so as to be related in a hierarchical tree;

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

in response to the set of images associated with the virtual container being determined to be known, create a virtual container record by inserting an image ID and a container ID of the created virtual container record into a container event database;

in response to the set of images associated with the virtual container being determined to be unknown, look up the unknown set of images in the container event database; and

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

16. The computer program product of claim 15 , wherein the execution of the instructions cause the processing circuit to detect the event associated with the virtual container by monitoring a container engine of a host computing device.

17. The computer program product of claim 15 , wherein the execution of the instructions causes the processing ciruit to submit data indicative of the event to a software licensing authority.

18. The computer program product of claim 15 , wherein the execution of the instructions cause the processing circuit to submit a subset of the container event database to a software licensing authority, an administrator, or any combination thereof.

19. The computer program product of claim 18 , wherein submitting the subset of the container event database comprises submitting an event log of the event to the software licensing authority, the administrator, or any combination thereof.

20. The computer program product of claim 15 , wherein the execution of the instructions cause the processing circuit to report a licensing violation when it is determined that a license quantity limit stored in a software license database is exceeded.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 16, 2021
From: PAIN REHABILITATION AND CRITICAL CARE MEDICAL GROUP INC.
To: PATIENT SAFETY CO. OF AMERICA
Reel/Frame 057504/0692 →
Continuity (4)
Continuation 15939613 · Mar 29, 2018
Continuation 15212435 · Jul 18, 2016
Continuation 14990182 · Jan 7, 2016
Related Publication 20190220575A1 · Jul 18, 2019