IP Library Granted Patent US 8,356,293
Granted Patent B1
US 8,356,293 · App. 13/026,257 · Granted Jan 15, 2013

System and method for controlling installed third party software components

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,356,293
App. No.
13/026,257
Granted
Jan 15, 2013
Kind
B1
Abstract

A method of controlling operation of an installed component includes generating auxiliary information relating to the installed component in user space; launching a control program in operating system space for controlling operation of the installed component; and controlling, from the operating system space, the operation of the installed component using the auxiliary information. The installed component can be an operating system component running in a Virtual Private Server, or a component of third party software. The auxiliary information can be, e.g., time stamps, CRC, access control information, function names, function address offsets and function parameter passing information derived from the debug file. The controlling step can patch the installed component. The patch can be version-specific to the installed component. The controlling step can monitor behavior of the installed component. The auxiliary information can be generated based on a debug file/pdb file.

Claims (41)

1. A method for configuring an installed server component, the method comprising:

installing, on a computer, the server component into an execution environment that is initially different from an environment anticipated by the installed server component, the computer having an operating system managing a file system and a control program to monitor the installed component and the execution environment configuration;

receiving, from a remote source that supports configuration of the installed server component, auxiliary information that includes an identifier, a descriptor, a list of files and links to the files of the installed server component,

wherein the descriptor contains file structure information, a root catalog used by the installed server component or allocation of files in the file structure, and

wherein the identifier uses a number, a checksum or a name of a file or a name of a procedure of the installed server component;

generating at least one template associated with files being affected upon installation of the server component by the control program using the received auxiliary information,

wherein at least one template provides links to the modified files corresponding to a file from the list of files and relates to a correspondence of the file with the operating system's shared area or private area, including names of the files and their metadata correspondence with the list of files,

using the control program and the auxiliary information to activate the installed server component, the activation including:

(i) providing the server component with file templates for files from the list of files,

(ii) modifying behavior of the installed component, by patching of the installed component or by relocation of the installed component files and providing the execution environment with access to the generated file templates, so that the links included in the file templates point to the modified files that result from patching the server component with patched code; and

(iii) using the identifier, the descriptor and the file templates by the control program to load the patched code into memory of the execution environment and to enable operation of the activated installed server component for subsequent operations, thereby ensuring that the files affected by the patching or redirected via relocation operate properly with the execution environment which is initially different from that designed to receive the installed server component.

2. The method of claim 1 , wherein the receiving step comprises generating auxiliary information relating to the installed component.

3. The method of claim 1 , wherein the auxiliary information comprises a directory descriptor in which the installed component is contained.

4. The method of claim 1 , wherein the auxiliary information comprises configuration files for installation of the installed component.

5. The method of claim 1 , wherein the installed component is a component of an operating system running inside a Virtual Private Server.

6. The method of claim 1 , wherein the identifier includes any of time stamps, CRC, access control information and function names.

7. The method of claim 1 , wherein the descriptor includes any of an access control list, a function address offset and a function parameter.

8. The method of claim 1 , wherein the descriptor is derived from a debug file of the installed component.

9. The method of claim 1 , wherein the auxiliary information is version-specific to the installed component.

10. The method of claim 1 , further comprising relocation of the installed component.

11. The method of claim 1 , further comprising generating offset address information for functions in object code of the installed component.

12. The method of claim 1 , further comprising intercepting, in the control software, input/output operations of the installed component using the auxiliary information.

13. The method of claim 1 , wherein register and install file contacts are analyzed and an analogous system is recreated on a Virtual Private Server.

14. The method of claim 1 , wherein configuration data used by the control program is generated during the installation of a physical server with a corresponding hardware configuration.

15. The method of claim 1 , wherein the identifier includes file metadata that is added to those files that previously did not have the file metadata.

16. The method of claim 1 , wherein the control software uses the auxiliary information to replace at least some files with links to the files.

17. The method of claim 1 , wherein, when a version of the installed component is incompatible with a current version of the operating system, the control software requests, over a network, the auxiliary information.

18. A computer program product comprising non-transitory computer-useable storage medium storing code for implementing the steps of claim 1 .

19. A system for configuring an installed server component, the system equipped with a processor coupled with an operating system memory storage, and comprising

a server component installed into an execution environment on the computer, the execution environment being initially different from an environment anticipated by the installed server component, the computer having an operating system managing a file system;

the configuring comprising:

installing, on a computer, the server component into, the computer having an operating system managing a file system, the execution environment having an installed control program to monitor the installed component and the execution environment configuration;

auxiliary information received from a remote source that supports configuration of the installed server component, the auxiliary information including an identifier, a descriptor, a list of files and links to the files of the installed server component,

wherein the descriptor contains file structure information, a root catalog used by the installed server component or allocation of files in the file structure, and

wherein the identifier uses a number, a checksum or a name of a file or a name of a procedure of the installed server component;

generating at least one template associated with files being affected upon installation of the server component by the control program using the received auxiliary information,

the at least one template providing links to the modified files corresponding to a file from the list of files and relating to a correspondence of the file with the operating system's shared area or private area, including names of the files and their metadata correspondence with the list of files,

using the control program and the auxiliary information to activate the installed server component, the activation including:

(i) providing the server component with file templates for files from the list of files,

(ii) modifying behavior of the installed component, by patching of the installed component or by relocation of the installed component files and providing the execution environment with access to the generated file templates, so that the links included in the file templates point to the modified files that result from patching the server component with patched code; and

(iii) using the identifier, the descriptor and the file templates by the control program to load the patched code into memory of the execution environment and to enable operation of the activated installed server component for subsequent operations, thereby ensuring that the files affected by the patching or redirected via relocation operate properly with the execution environment which is initially different from that designed to receive the installed server component.

Assignments (3)
SECURITY INTEREST IN TRADEMARK, PATENT, AND COPYRIGHT RIGHTS Recorded Dec 22, 2022
From: VIRTUOZZO INTERNATIONAL GMBH; ONAPP LIMITED
To: WILMINGTON TRUST (LONDON) LIMITED
Reel/Frame 062206/0557 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2018
From: PARALLELS IP HOLDINGS GMBH
To: VIRTUOZZO INTERNATIONAL GMBH
Reel/Frame 045179/0537 →
RELEASE OF SECURITY INTEREST Recorded Dec 14, 2015
From: SILICON VALLEY BANK
To: PARALLELS HOLDINGS LTD. (F/K/A SWSOFT HOLDINGS LTD.)
Reel/Frame 037289/0685 →