IP Library Granted Patent US 8,051,432
Granted Patent B2
US 8,051,432 · App. 12/271,247 · Granted Nov 1, 2011

Techniques for establishing virtual devices

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,051,432
App. No.
12/271,247
Granted
Nov 1, 2011
Kind
B2
Abstract

Techniques for establishing virtual devices are presented. A legacy control system is encapsulated as a virtual device. The virtual device is isolated within a host hardware associate with a host OS and access to and from the virtual device is authenticated and controlled by the host OS. Legacy hardware used by the legacy control system is connected to the host hardware, thereby permitting the legacy control system to continue to access the legacy hardware when the virtual device processes.

Claims (43)

1. A machine-implemented method, comprising:

creating a virtual image of a legacy processing environment associated with a first or native Operating System (OS), the virtual image including a legacy control system;

connecting native hardware accessed by the legacy control system to host hardware that processes a second OS;

installing the virtual image in the host hardware with the first OS designated as a guest OS and the second OS designates as a host OS;

establishing a secure trust communication relationship between the guest OS and the host OS;

exposing, via an application associated with the legacy control system, the native hardware for access by the host OS; and

executing the legacy control system via the guest OS within the host hardware.

2. The method of claim 1 , wherein establishing further includes permitting the legacy control system, via the guest OS, to directly access the native hardware once the secure trust communication relationship has been established and the guest OS is authenticated.

3. The method of claim 1 , wherein exposing further includes identifying the application as a generic device driver that exposes each device associated with the native hardware to the host OS as a particular device driver accessible to the host OS.

4. The method of claim 1 , wherein exposing further includes identifying the application as a Remote Procedure Call (RPC) that permits the host OS to establish a remote connection that exposes device drivers for devices of the native hardware to the host OS.

5. The method of claim 1 , wherein exposing further includes identifying the application as an application connection layer provided for the native hardware that includes an Application Programming Interface (API) for the host OS to connect to the native hardware.

6. The method of claim 1 , wherein executing further includes receiving input data for the legacy control system via other applications processing on the host OS and verifying the security and validity of that input data before passing the input data to the guest OS.

7. The method of claim 1 , wherein executing further includes isolating the guest OS and the native hardware so that neither can connect to external networks or external resources to ensure that all input provided and all output produced from the legacy control system are self-contained within the guest OS or first-filtered through the host OS.

8. A machine-implemented method, comprising:

encapsulating a legacy control system and its native Operating System (OS) as a virtual device;

authenticating the virtual device;

installing the virtual device within host hardware of a host OS;

permitting the legacy control system, via the virtual device, to access native hardware having native hardware interfaces;

executing the virtual device within the host hardware;

validating input data gathered on the host OS that is designated for the legacy control system of the virtual device; and

passing the validated input data from the host OS to the virtual device for processing by the legacy control system.

9. The method of claim 8 , wherein encapsulating further includes creating a virtual image that includes a native processing environment of the legacy control system, the native OS, and the legacy control system, wherein the virtual image once installed on the host hardware represents the virtual device.

10. The method of claim 8 , wherein installing further includes preventing external connections available to the virtual device within the host OS so that connections to external networks or external resources have to pass through the host OS.

11. The method of claim 8 , wherein permitting further includes connecting the native hardware used by the legacy control system to the host OS via the virtual device.

12. The method of claim 11 , wherein connecting further includes using an interface from the virtual device to the host OS that exposes the native hardware and permits the host OS to access the native hardware.

13. The method of claim 8 , wherein passing further includes gathering the input data, manipulating the input data, and/or processing a number of enhanced input data services against the input data before passing the validated input data from the host OS to the virtual device.

14. The method of claim 8 further comprising, processing enhancement services against output data produced by the legacy control system on the virtual device when the output data is received from the virtual device in response to the validated input data, and wherein the enhancement services are processed within the host OS.

15. A machine-implemented system, comprising:

a host Operating System (OS) implemented in a computer-readable storage medium and to process on host hardware; and

a virtual device configuration service implemented in a computer-readable storage medium and to process on the host hardware;

wherein the virtual device configuration service creates a virtual image for a legacy control system, a legacy processing environment used by the legacy control system, and a legacy OS used by the legacy processing environment, and wherein the virtual image is installed and isolated within the host hardware and the virtual device executed as a guest OS, and wherein external access to and from the virtual device is validated and controlled by the host OS.

16. The system of claim 15 , wherein legacy hardware accessed by the legacy control system is connected to the host hardware for access by the virtual device.

17. The system of claim 16 , wherein a generic interface exposes the legacy hardware to the host OS and permits the host OS to access the legacy hardware.

18. The system of claim 17 , wherein the host OS uses the generic interface to authenticate the legacy hardware.

19. The system of claim 15 further comprising, an application implemented in a computer-readable storage medium that processes within the host OS on the host hardware, wherein the application gathers and supplies input data to the virtual device for processing by the legacy control system, the input data validated and verified for security purposes before being passed from the host OS to the virtual device.

20. The system of claim 19 , wherein the application gathers and further alters output data received from the legacy control system via the virtual device, the output data produced by the legacy control system in response to the input data.

21. A machine-implemented system, comprising:

a legacy hardware connection service implemented in a computer-readable storage medium and to process on a host Operating System (OS) that executes on host hardware; and

a guest OS implemented in a computer-readable storage medium and to process on the host hardware;

wherein the legacy hardware connection service exposes legacy hardware accessed by a legacy control system to the host OS, and wherein the legacy control system is encapsulated and isolated for processing within the guest OS, external access to and from the guest OS is controlled by the host OS, and the legacy hardware connection service permits the legacy control system to access the legacy hardware while the legacy control system executes within the guest OS.

22. The system of claim 21 , wherein the host OS validates and verifies for security purposes all input passed from the host OS to the legacy control system via the guest OS.

23. The system of claim 21 , wherein the host OS executes an enhancement service that alters output data produced by the legacy control system via the guest OS.

24. The system of claim 21 , wherein direct connections to and emanating from the guest OS to external networks and external resources are prohibited by the host OS.

Assignments (16)
RELEASE OF SECURITY INTEREST REEL/FRAME 035656/0251 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.)
Reel/Frame 062623/0009 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT TYPO IN APPLICATION NUMBER 10708121 WHICH SHOULD BE 10708021 PREVIOUSLY RECORDED ON REEL 042388 FRAME 0386. ASSIGNOR(S) HEREBY CONFIRMS THE NOTICE OF SUCCESSION OF AGENCY. Recorded Jul 26, 2018
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 048793/0832 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
NOTICE OF SUCCESSION OF AGENCY Recorded May 2, 2017
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 042388/0386 →
CHANGE OF NAME Recorded Sep 13, 2016
From: NOVELL, INC.
To: MICRO FOCUS SOFTWARE INC.
Reel/Frame 040020/0703 →
SECURITY INTEREST Recorded May 13, 2015
From: MICRO FOCUS (US), INC.; BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; NOVELL, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 035656/0251 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0316 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: NOVELL, INC.
Reel/Frame 034469/0057 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0216 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: NOVELL, INC.
Reel/Frame 034470/0680 →
GRANT OF PATENT SECURITY INTEREST FIRST LIEN Recorded May 23, 2012
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028252/0216 →
GRANT OF PATENT SECURITY INTEREST SECOND LIEN Recorded May 23, 2012
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028252/0316 →
RELEASE OF SECURITY IN PATENTS SECOND LIEN (RELEASES RF 026275/0018 AND 027290/0983) Recorded May 22, 2012
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: NOVELL, INC.
Reel/Frame 028252/0154 →
RELEASE OF SECURITY INTEREST IN PATENTS FIRST LIEN (RELEASES RF 026270/0001 AND 027289/0727) Recorded May 22, 2012
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: NOVELL, INC.
Reel/Frame 028252/0077 →
GRANT OF PATENT SECURITY INTEREST (SECOND LIEN) Recorded May 13, 2011
From: NOVELL, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 026275/0018 →
GRANT OF PATENT SECURITY INTEREST Recorded May 12, 2011
From: NOVELL, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 026270/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2008
From: DASH, SAMBIT KUMAR; WALIA, HARPREET SINGH
To: NOVELL, INC.
Reel/Frame 021955/0841 →