IP Library Granted Patent US 8,909,761
Granted Patent B2
US 8,909,761 · App. 13/022,906 · Granted Dec 9, 2014

Methods and computer program products for monitoring and reporting performance of network applications executing in operating-system-level virtualization containers

Inventors: Patrick A. Reynolds (Chapel Hill, NC); Glenn T. Nethercutt (Raleigh, NC); John B. Bley (Durham, NC); Nathaniel C. Williams (Durham, NC)
Assignee: BlueStripe Software, Inc.
G06F11/3495G06F9/45558G06F11/3419G06F11/3409G06F2009/45595G06F2201/815
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 8,909,761
App. No.
13/022,906
Granted
Dec 9, 2014
Kind
B2
Abstract

Provided are methods and computer program products for monitoring the performance of network applications executing within operating-system-level virtualization containers. Methods may include enumerating operating-system-level virtualization containers on a networked device; creating a named pipe accessible by at least one application running in each operating-system-level virtualization container; retrieving, via the named pipe, performance data gathered by the at least one application, including an identification of each operating-system-level virtualization container; generating metrics based on the retrieved performance data; and generating an event incorporating the metrics, including operating-system-level virtualization container identifiers.

Claims (51)

1. A method for monitoring application performance in a networked device that provides operating-system-level virtualization containers, the method comprising:

enumerating one or more operating-system-level virtualization containers on the networked device;

creating a named pipe that is accessible by at least one application running in a respective one of the one or more operating-system-level virtualization containers and that is configured to receive data from within the respective one of the one or more operating-system-level virtualization containers;

retrieving, via the named pipe that is accessible by the at least one application running in the respective one of the one or more operating-system-level virtualization containers, performance data gathered by the at least one application running in the respective one of the one or more operating-system-level virtualization containers, wherein the collected performance data includes an identification of the respective one of the one or more operating-system-level virtualization containers;

maintaining a write connection to the named pipe that is accessible by the at least one application running in the respective one of the one or more operating-system-level virtualization containers, wherein the write connection is operative to prevent the named pipe from being automatically closed;

generating a plurality of metrics based on the retrieved performance data; and

generating an event incorporating at least one of the plurality of metrics;

wherein said enumerating one or more operating-system-level virtualization containers, creating a named pipe, retrieving performance data, generating a plurality of metrics, and/or generating an event comprise operations performed using at least one programmed computer processor circuit.

2. The method of claim 1 , wherein creating the named pipe that is accessible by the at least one application running in the respective one of the one or more operating-system-level virtualization containers comprises creating the named pipe within a file system for the respective one of the one or more operating-system-level virtualization containers.

3. The method of claim 1 , wherein the generated event comprises a container identifier associated with the one or more operating-system-level virtualization containers.

4. The method of claim 1 , wherein enumerating one or more operating-system-level virtualization containers on the networked device comprises determining, for a respective one of the one or more operating-system-level virtualization containers

a root location of a file system in a machine global context.

5. The method of claim 1 , wherein enumerating one or more operating-system-level virtualization containers on the networked device occurs responsive to a system startup.

6. The method of claim 5 , wherein enumerating one or more operating-system-level virtualization containers further occurs responsive to a startup and/or a shutdown of an operating-system-level virtualization container on the networked device.

7. The method of claim 1 , the method further comprising:

monitoring, for a respective one of the one or more operating-system-level virtualization containers, a call to a container shutdown function; and

removing the named pipe that is accessible by the at least one application running in the respective one of the one or more operating-system-level virtualization containers responsive to detecting the call to the container shutdown function.

8. The method of claim 1 , the method further comprising:

monitoring a call to a system shutdown and/or a system reboot function; and

removing the named pipe that is accessible by the at least one application running in the respective one of the one or more operating-system-level virtualization containers responsive to detecting the call to the system shutdown and/or the system reboot function.

9. A computer program product comprising:

a non-transitory computer readable storage medium having computer readable program code embodied therein, the computer readable program code executable on a processor, comprising:

computer readable program code configured to enumerate one or more operating-system-level virtualization containers on a networked device;

computer readable program code configured to create a named pipe that is accessible by at least one application running in a respective one of the one or more operating-system-level virtualization containers and that is configured to receive data from within the respective one of the one or more operating-system-level virtualization containers;

computer readable program code configured to retrieve, via the named pipe that is accessible by the at least one application running in the respective one of the one or more operating-system-level virtualization containers, performance data gathered by the at least one application running in the respective one of the one or more operating-system-level virtualization containers, wherein the collected performance data includes an identification of the respective one of the one or more operating-system-level virtualization containers;

computer readable program code configured to maintain a write connection to the named pipe that is accessible by the at least one application running in the respective one of the one or more operating-system-level virtualization containers, wherein the write connection is operative to prevent the named pipe from being automatically closed;

computer readable program code configured to generate a plurality of metrics based on the retrieved performance data; and

computer readable program code configured to generate an event incorporating at least one of the plurality of metrics.

10. The computer program product of claim 9 , wherein the computer readable program code configured to create the named pipe that is accessible by the at least one application running in the respective one of the one or more operating-system-level virtualization containers comprises computer readable program code configured to create the named pipe within a file system for the respective one of the one or more operating-system-level virtualization containers.

11. The computer program product of claim 9 , wherein the generated event comprises a container identifier associated with the one or more operating-system-level virtualization containers.

12. The computer program product of claim 9 , wherein the computer readable program code configured to enumerate one or more operating-system-level virtualization containers on the networked device comprises computer readable program code configured to determine, for a respective one of the one or more operating-system-level virtualization containers a root location of a file system in a machine global context.

13. The computer program product of claim 9 , wherein the computer readable program code configured to enumerate one or more operating-system-level virtualization containers on the networked device is further configured to enumerate one or more operating-system-level virtualization containers on the networked device responsive to a system startup.

14. The computer program product of claim 13 , wherein the computer readable program code configured to enumerate one or more operating-system-level virtualization containers on the networked device is further configured to enumerate one or more operating-system-level virtualization containers on the networked device responsive to a startup and/or a shutdown of an operating-system-level virtualization container on the networked device.

15. The computer program product of claim 9 , the computer readable program code comprising further comprising:

computer readable program code configured to monitor, for a respective one of the one or more operating-system-level virtualization containers, a call to a container shutdown function; and

computer readable program code configured to remove the named pipe that is accessible by the at least one application running in the respective one of the one or more operating-system-level virtualization containers responsive to detecting the call to the container shutdown function.

16. The computer program product of claim 9 , the computer readable program code further comprising:

computer readable program code configured to monitor a call to a system shutdown and/or a system reboot function; and

computer readable program code configured to remove the named pipe that is accessible by the at least one application running in the respective ones of the one or more operating-system-level virtualization containers responsive to detecting the call to the system shutdown and/or the system reboot function.

17. A computer implemented method embodied on a non-transitory computer-readable medium and executable by a processor, the method comprising:

creating a named pipe that is accessible by at least one application running in a respective one of one or more operating-system-level virtualization containers on a networked device, and that is configured to receive data from within the respective one of the one or more operating-system-level virtualization containers on the networked device; and

retrieving, via the named pipe that is accessible by the at least one application running in the respective one of the one or more operating-system-level virtualization containers, performance data gathered by the at least one application running in the respective one of the one or more operating-system-level virtualization containers, wherein the collected performance data includes an identification of the respective one of the one or more operating-system-level virtualization containers; and

maintaining a write connection to the named pipe that is accessible by the at least one application running in the respective one of the one or more operating-system-level virtualization containers, wherein the write connection is operative to prevent the named pipe from being automatically closed.

18. The method of claim 17 , further comprising:

generating a plurality of metrics based on the retrieved performance data; and

generating an event incorporating at least one of metrics.

19. The method of claim 1 , wherein the generated event comprises an IP address and/or a port.

20. The method of claim 1 , wherein enumerating one or more operating-system-level virtualization containers on the networked device comprises determining, for a respective one of the one or more operating-system-level virtualization containers:

a name,

an identifier, and/or

one or more IP addresses assigned to the respective one of the one or more operating-system-level virtualization containers.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2015
From: BLUE STRIPE SOFTWARE, INC.
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 035966/0655 →
RELEASE OF SECURITY INTEREST Recorded Jun 19, 2015
From: SQUARE 1 BANK
To: BLUE STRIPE SOFTWARE, INC.
Reel/Frame 035869/0518 →
SECURITY INTEREST Recorded Oct 7, 2014
From: BLUE STRIPE SOFTWARE, INC.
To: SQUARE 1 BANK
Reel/Frame 033903/0255 →
RELEASE OF SECURITY INTEREST Recorded Oct 4, 2013
From: SQUARE 1 BANK
To: BLUE STRIPE SOFTWARE, INC.
Reel/Frame 031351/0639 →
SECURITY AGREEMENT Recorded Jul 29, 2013
From: BLUE STRIPE SOFTWARE, INC.
To: SQUARE 1 BANK
Reel/Frame 030919/0136 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2011
From: REYNOLDS, PATRICK A.; NETHERCUTT, GLENN T.; BLEY, JOHN B.; WILLIAMS, NATHANIEL C.
To: BLUE STRIPE SOFTWARE, INC.
Reel/Frame 026160/0797 →
Continuity (1)
Related Publication 20120203890A1 · Aug 9, 2012