IP Library Granted Patent US 9,612,852
Granted Patent B1
US 9,612,852 · App. 13/718,805 · Granted Apr 4, 2017

Techniques for redirecting input/output

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,612,852
App. No.
13/718,805
Granted
Apr 4, 2017
Kind
B1
Abstract

Techniques for redirecting input/output are disclosed. In one particular embodiment, the techniques may be realized as a method for redirecting input/output comprising the steps of method for redirecting input/output comprising configuring a first virtual machine with a recorder for library interposition, configuring a replica virtual machine with a player for library interposition, receiving a first recorded event from the first virtual machine, and transferring the first recorded event to the replica virtual machine for replay.

Claims (51)

1. A computer-implemented method for redirecting input/output comprising:

configuring a first virtual machine with a recorder for library interposition;

configuring a replica virtual machine with a player for library interposition;

receiving a first recorded event from the first virtual machine; and

transferring, via an input/output redirection module, the first recorded event to the replica virtual machine for replay,

wherein the replica virtual machine further comprises an interpose player configured to send read requests to an executable program and receive socket input requests from the executable program, and

wherein the replica virtual machine further comprises a replica system library, the replica system library comprising libc as a standard C library and configured to receive and process the socket input requests from the interpose player.

2. The computer-implemented method of claim 1 , further comprising receiving a subsequent recorded event from the first virtual machine after the first recorded event was transferred for replay.

3. The computer-implemented method of claim 1 , further comprising:

configuring a plurality of replica virtual machines, wherein each replica virtual machine of the plurality of replica virtual machines is configured with a player of a plurality of players for library interposition; and

transferring the first recorded event to at least two replica virtual machines of the plurality of replica virtual machines for replay,

wherein the first recorded event is transferred to the at least two replica virtual machines of the plurality of replica virtual machines concurrently for replay.

4. The computer-implemented method of claim 1 , wherein the first virtual machine comprises a first architecture, and wherein the replica virtual machine comprises a second architecture different from the first architecture.

5. The computer-implemented method of claim 1 , wherein the first recorded event is a network-based input/output event.

6. The computer-implemented method of claim 1 , wherein the first recorded event is transferred through a local pipe.

7. The computer-implemented method of claim 1 , wherein the first recorded event is transferred through a network pipe.

8. The computer-implemented method of claim 1 , wherein the first recorded event comprises a data transmission associated with the event.

9. A system for redirecting input/output comprising:

one or more hardware processors communicatively coupled to a network; wherein the one or more hardware processors are configured to:

configure a first virtual machine with a recorder for library interposition;

configure a replica virtual machine with a player for library interposition;

receive a first recorded event from the first virtual machine; and

transfer the first recorded event to the replica virtual machine for replay,

wherein the replica virtual machine further comprises an interpose player configured to send read requests to an executable program and receive socket input requests from the executable program, and

wherein the replica virtual machine further comprises a replica system library, the replica system library comprising libc as a standard C library and configured to receive and process the socket input requests from the interpose player.

10. The system of claim 9 , wherein the one or more hardware processors are further configured to receive a subsequent recorded event from the first virtual machine after the first recorded event was transferred for replay.

11. The system of claim 9 , wherein the one or more hardware processors are further configured to:

configure a plurality of replica virtual machines, wherein each replica virtual machine of the plurality of replica virtual machines is configured with a player of a plurality of players for library interposition; and

transfer the first recorded event to at least two replica virtual machines of the plurality of replica virtual machines for replay,

wherein the first recorded event is transferred to the at least two replica virtual machines of the plurality of replica virtual machines concurrently for replay.

12. The system of claim 9 , wherein the first recorded event is a network-based input/output event.

13. The system of claim 9 , wherein the first recorded event is transferred through a network pipe.

14. The system of claim 9 , wherein the first recorded event comprises a data transmission associated with the event.

15. An article of manufacture for redirecting input/output, the article of manufacture comprising:

at least one non-transitory processor readable storage medium; and

instructions stored on the at least one medium;

wherein the instructions are configured to be readable from the at least one medium by at least one processor and thereby cause the at least one processor to operate so as to:

configure a first virtual machine with a recorder for library interposition;

configure a replica virtual machine with a player for library interposition;

receive a first recorded event from the first virtual machine; and

transfer the first recorded event to the replica virtual machine for replay,

wherein the replica virtual machine further comprises an interpose player configured to send read requests to an executable program and receive socket input requests from the executable program, and

wherein the replica virtual machine further comprises a replica system library, the replica system library comprising libc as a standard C library and configured to receive and process the socket input requests from the interpose player.

16. The article of manufacture of claim 15 , wherein the instructions cause the at least one processor to operate further so as to receive a subsequent recorded event from the first virtual machine after the first recorded event was transferred for replay.

17. The article of manufacture of claim 15 , wherein the instructions cause the at least one processor to operate further so as to:

configure a plurality of replica virtual machines, wherein each replica virtual machine of the plurality of replica virtual machines is configured with one player of a plurality of players for library interposition; and

transfer the first recorded event to the plurality of replica virtual machines for replay,

wherein the first recorded event is transferred to each replica virtual machine of the plurality of replica virtual machines concurrently for replay.

18. The article of manufacture of claim 15 , wherein the first recorded event is a network-based input/output event.

19. The article of manufacture of claim 15 , wherein the first recorded event is transferred through a network pipe.

20. The article of manufacture of claim 15 , wherein the first recorded event comprises a data transmission associated with the event.

Assignments (10)
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038483/0203 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037693/0158 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 22, 2013
From: BENAMEUR, AZZEDINE; EVANS, NATHAN S.
To: SYMANTEC CORPORATION
Reel/Frame 030065/0919 →