IP Library Granted Patent US 9,323,555
Granted Patent B2
US 9,323,555 · App. 14/073,865 · Granted Apr 26, 2016

Correcting packet timestamps in virtualized environments

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 9,323,555
App. No.
14/073,865
Granted
Apr 26, 2016
Kind
B2
Abstract

A network capture element is embodied on a virtual machine, and a utility function is embodied on the actual device, preferably within the virtual machine manager. Both the utility function and the traffic capture element are configured to monitor communication events. To minimize the overhead imposed, the utility function is configured to merely store the time that the event occurred on the actual machine, corresponding to an identifier of the event. The network capture element, on the other hand, performs the time consuming tasks of filtering the communications, selectively storing some or all of the data content of the communications, characterizing the data content, and so on. Instead of storing the virtual time that the communication event occurred at the virtual machine, the network capture element uses the identifier of the communication event to retrieve the actual time that the communication event occurred on the actual machine.

Claims (40)

1. A non-transitory computer-readable medium comprising a program that, when executed by a processor, causes the processor to:

receive a packet from a virtual machine manager, the packet including an associated virtual time of arrival,

retrieve an actual time of arrival of the packet from a storage element in which the virtual machine manager recorded the actual time of arrival, and

replacing the virtual time of arrival with the actual time of arrival;

wherein the processor retrieves the actual time of arrival by one of:

submitting a request to, and receiving a response from the virtual machine manager; and

accessing the storage element directly.

2. The medium of claim 1 , wherein the program causes the processor to maintain a pointer to a buffer in the storage element, and to retrieve the actual time of arrival from the buffer based on the pointer.

3. The medium of claim 2 , wherein the buffer is a circular buffer that is managed by the virtual machine manager.

4. The medium of claim 1 , wherein the program causes the processor to determine a packet identifier corresponding to the packet, and to retrieve the actual time of arrival based on the packet identifier.

5. The medium of claim 4 , wherein the packet identifier includes a hash value corresponding to some or all of the packet.

6. The medium of claim 5 , wherein the hash value corresponds to some or all of a header of the packet.

7. The medium of claim 1 , wherein the program causes the processor to submit a request to the virtual machine manager for the actual time of arrival.

8. The medium of claim 7 , wherein the request includes a packet identifier of the packet.

9. The medium of claim 8 , wherein the packet identifier includes at least a portion of the packet.

10. The medium of claim 9 , wherein the packet identifier includes at least a portion of a header of the packet.

11. The medium of claim 9 , wherein the packet identifier includes a hash value of at least a portion of the packet.

12. A computer-implemented method, comprising:

a computer receiving a packet from a virtual machine manager, the packet including an associated virtual time of arrival,

the computer retrieving an actual time of arrival of the packet from a storage element in which the virtual machine manager recorded the actual time of arrival, and

the computer replacing the virtual time of arrival with the actual time of arrival;

wherein the computer retrieves the actual time of arrival by one of:

submitting a request to, and receiving a response from the virtual machine manager; and

accessing the storage element directly.

13. The computer-implemented method of claim 12 , wherein the method further comprises maintaining a pointer to a buffer in the storage element, and to retrieve the actual time of arrival from the buffer based on the pointer.

14. The computer-implemented method of claim 13 , wherein the buffer is a circular buffer that is managed by the virtual machine manager.

15. The computer-implemented method of claim 12 , wherein the method further comprises determining a packet identifier corresponding to the packet, and to retrieve the actual time of arrival based on the packet identifier.

16. The computer-implemented method of claim 15 , wherein the packet identifier includes a hash value corresponding to some or all of the packet.

17. An apparatus, comprising:

a processor; and

a memory storing instructions that, when executed by the processor, cause the apparatus to perform a method, comprising:

receiving a packet from a virtual machine manager, the packet including an associated virtual time of arrival,

retrieving an actual time of arrival of the packet from a storage element in which the virtual machine manager recorded the actual time of arrival, and

replacing the virtual time of arrival with the actual time of arrival;

wherein retrieving the actual time of arrival comprises performing one of:

submitting a request to, and receiving a response from the virtual machine manager; and

accessing the storage element directly.

18. The apparatus of claim 17 , wherein the method further comprises maintaining a pointer to a buffer in the storage element, and to retrieve the actual time of arrival from the buffer based on the pointer.

19. The apparatus of claim 18 , wherein the buffer is a circular buffer that is managed by the virtual machine manager.

20. The apparatus of claim 17 , wherein the method further comprises determining a packet identifier corresponding to the packet, and to retrieve the actual time of arrival based on the packet identifier.

Assignments (16)
RELEASE OF SECURITY INTEREST Recorded Aug 11, 2023
From: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC; RIVERBED HOLDINGS, INC.
Reel/Frame 064673/0739 →
CHANGE OF NAME Recorded Feb 18, 2022
From: RIVERBED TECHNOLOGY, INC.
To: RIVERBED TECHNOLOGY LLC
Reel/Frame 059232/0551 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS U.S. COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0169 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0108 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0046 →
SECURITY INTEREST Recorded Dec 10, 2021
From: RIVERBED TECHNOLOGY LLC (FORMERLY RIVERBED TECHNOLOGY, INC.); ATERNITY LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS U.S. COLLATERAL AGENT
Reel/Frame 058486/0216 →
PATENT SECURITY AGREEMENT Recorded Oct 27, 2021
From: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 057943/0386 →
PATENT SECURITY AGREEMENT SUPPLEMENT - FIRST LIEN Recorded Oct 14, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 057810/0502 →
PATENT SECURITY AGREEMENT SUPPLEMENT - SECOND LIEN Recorded Oct 14, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
Reel/Frame 057810/0559 →
RELEASE OF SECURITY INTEREST IN PATENTS RECORED AT REEL 056397, FRAME 0750 Recorded Oct 13, 2021
From: MACQUARIE CAPITAL FUNDING LLC
To: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 057983/0356 →
SECURITY INTEREST Recorded May 26, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: MACQUARIE CAPITAL FUNDING LLC
Reel/Frame 056397/0750 →
PATENT SECURITY AGREEMENT Recorded Mar 5, 2021
From: RIVERBED TECHNOLOGY, INC.
To: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
Reel/Frame 055514/0249 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 22, 2019
From: OPNET TECHNOLOGIES LLC
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 048680/0433 →
CHANGE OF NAME Recorded Mar 14, 2019
From: OPNET TECHNOLOGIES, INC.
To: OPNET TECHNOLOGIES LLC
Reel/Frame 048597/0988 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2019
From: MALLOY, PATRICK J.; SHAKULA, ALEXEY; GEHL, RYAN
To: OPNET TECHNOLOGIES, INC.
Reel/Frame 048531/0181 →
SECURITY INTEREST Recorded May 1, 2015
From: RIVERBED TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 035561/0363 →