IP Library Patent Application 12827056
Patent Application
App. No. 12/827,056

APPROACHES FOR INSTALLING SOFTWARE USING BIOS

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 None
App. No.
12/827,056
Abstract

Approaches for installing software, configuration changes, or content on a machine using BIOS residing thereon. BIOS executing on a client contains an injector module, which is a component detects whether a bootstrap program is installed on the client, and, barring a valid reason for the absence of the bootstrap program, installs the bootstrap program on the client. The bootstrap program is a software program, stored by the operating system of the client, which determines whether an OS component program is installed and executing on the client, and, barring a valid reason for the absence of the OS component program, installs the OS component program on the client. The OS component program monitors the actions of the user of the client to ascertain whether any legitimate changes have been made to the software programs installed thereon and installs any additional desired software, configuration changes, or content on the client.

Claims (48)

1 . A machine-readable storage medium storing one or more sequences of instructions, which when executed, cause:

an injector module, executing within the basic input/output system (BIOS) of a client, determining whether a bootstrap program is stored by an file system provided by an operating system of the client; and

in response to the injector module determining that the bootstrap program is not stored by the file system, the injector module installing the bootstrap program on the file system,

wherein the bootstrap program is configured to determine whether an operating system component program is stored by the file system, wherein the operating system component program is one or more software modules that are configured to (a) monitor actions of a user of the client to determine whether the actions include any legitimate change to a software program installed on the client, and (b) install a set of one or more software programs at the request of a server.

2 . The machine-readable storage medium of claim 1 , wherein a legitimate change to the software program is a request to uninstall the software program which accompanies a disable key.

3 . The machine-readable storage medium of claim 1 , wherein a legitimate change to the software program is a request to change a configuration setting of the software program which accompanies a disable key.

4 . The machine-readable storage medium of claim 1 , wherein the injector module is a plug-in which has been installed in the BIOS of the client.

5 . A machine-readable storage medium storing one or more sequences of instructions for, which when executed, cause:

an operating system storing an operating system component program configured to (a) monitor actions of a user of a client to determine whether the actions include any legitimate change to a software program installed on the client, and (b) install a set of one or more software programs, configuration changes, or multimedia content at the request of a server; and

upon the operating system component program determining that the user has performed a change to a software program installed on the client, the operating system component program persistently storing a record that identifies the change.

6 . The machine-readable storage medium of claim 5 , wherein the operating system component program determines the change is a legitimate change because the user submitted a disable key to the operating system component program.

7 . The machine-readable storage medium of claim 5 , wherein the operating system component program persistently stores the record in the basic input/output system (BIOS) of the client.

8 . The machine-readable storage medium of claim 5 , wherein the operating system component program persistently stores the record by communicating data describing the record over a communications link to a server.

9 . The machine-readable storage medium of claim 5 , wherein execution of the one or more sequences of instructions further cause:

the operating system component program sending a message to a server requesting the server to identify a set of software programs which the client should install.

10 . The machine-readable storage medium of claim 9 , wherein the message identifies the client but does not identify the user of the client.

11 . The machine-readable storage medium of claim 9 , wherein the message identifies changes made by the user of the client to software programs installed on the client.

12 . The machine-readable storage medium of claim 5 , wherein the operating system component program is further configured to change a configuration setting of a software program installed on the client in response to a request from the server.

13 . A method for updating an operating system, comprising:

an injector module, executing within a basic input/output system (BIOS) of a client, determining whether a bootstrap program is stored by a file system provided by an operating system of the client; and

in response to the injector module determining that the bootstrap program is not stored by the file system, the injector module installing the bootstrap program on the file system,

wherein the bootstrap program is configured to determine whether an operating system component program is stored by the file system, wherein the operating system component program is one or more software modules that are configured to (a) monitor actions of a user of the client to determine whether the actions include any legitimate change to a software program installed on the client, and (b) install a set of one or more software programs at the request of a server.

14 . The method of claim 13 , wherein a legitimate change to the software program is a request to uninstall the software program which accompanies a disable key.

15 . The method of claim 13 , wherein a legitimate change to the software program is a request to change a configuration setting of the software program which accompanies a disable key.

16 . The method of claim 13 , wherein the injector module is a plug-in which has been installed in the BIOS of the client.

17 . A method for updating a client, comprising:

an operating system storing an operating system component program configured to (a) monitor actions of a user of the client to determine whether the actions include any legitimate change to a software program installed on the client, and (b) install a set of one or more software programs, configuration changes, or multimedia content at the request of a server; and

upon the operating system component program determining that the user has performed a change to a software program installed on the client, the operating system component program persistently storing a record that identifies the change.

18 . The method of claim 17 , wherein the operating system component program determines the change is a legitimate change because the user submitted a disable key to the operating system component program.

19 . The method of claim 17 , wherein the operating system component program persistently stores the record in a basic input/output system (BIOS) of the client.

20 . The method of claim 17 , wherein the operating system component program persistently stores the record by communicating data describing the record over a communications link to a server.

21 . The method of claim 17 , wherein execution of the one or more sequences of instructions further cause:

the operating system component program sending a message to a server requesting the server to identify a set of software programs which the client should install.

22 . The method of claim 21 , wherein the message identifies the client but does not identify the user of the client.

23 . The method of claim 21 , wherein the message identifies changes made by the user of the client to software programs installed on the client.

24 . The method of claim 17 , wherein the operating system component program is further configured to change a configuration setting of a software program installed on the client in response to a request from the server.

25 . The machine-readable storage medium of claim 5 , wherein at least one of the one or more software programs, when executed at the client, updates a configuration setting of (a) a software application residing on the client or (b) a hardware component of the client.

26 . The method of claim 17 , wherein at least one of the one or more software programs, when executed at the client, updates a configuration setting of (a) a software application residing on the client or (b) a hardware component of the client.

27 . The machine-readable storage medium of claim 5 , wherein the multimedia content comprises one or more of: video, music, advertisements, games, and books.

28 . The method of claim 17 , wherein the multimedia content comprises one or more of: video, music, advertisements, games, and books.

29 . A machine-readable storage medium storing one or more sequences of instructions, which when executed, cause:

an operating system, executing on a client, comprising an operating system component program that includes one or more profile managers, wherein each of the one or more profile managers is configured to obtain information about characteristics of the client and subsequently communicate the information about the characteristics of the client to a server, and wherein the operating system component program is configured to install a set of one or more software programs, configuration changes, or multimedia content, on the client, at the request of the server; and

upon the operating system component program determining that a user, of the client, has performed a legitimate action on the client, the operating system component program persistently storing a record that identifies the legitimate action,

wherein at least one profile manager, of the one or more profile managers, monitors the records identifying legitimate actions performed by the user.

30 . The method for updating a client, comprising:

an operating system, executing on the client, comprising an operating system component program that includes one or more profile managers, wherein each of the one or more profile managers is configured to obtain information about characteristics of the client and subsequently communicate the information about the characteristics of the client to a server, and wherein the operating system component program is configured to install a set of one or more software programs, configuration changes, or multimedia content, on the client, at the request of the server; and

upon the operating system component program determining that a user, of the client, has performed a legitimate action on the client, the operating system component program persistently storing a record that identifies the legitimate action,

wherein at least one profile manager, of the one or more profile managers, monitors the records identifying legitimate actions performed by the user.

Assignments (8)
CORRECTIVE ASSIGNMENT TO CORRECT THE NAME OF INVENTOR. PREVIOUSLY RECORDED ON REEL 024616 FRAME 0710. ASSIGNOR(S) HEREBY CONFIRMS THE NAME OF INVENTOR SHOULD BE GAURAV BANGA. Recorded Mar 28, 2013
From: BANGA, GAURAV
To: PHOENIX TECHNOLOGIES LTD.
Reel/Frame 030106/0728 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 22, 2013
From: HONG KONG TECHNOLOGIES GROUP LIMITED
To: INSYDE SOFTWARE CORPORATION
Reel/Frame 029672/0842 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2012
From: KINGLITE HOLDINGS INC.
To: HONG KONG TECHNOLOGIES GROUP LIMITED
Reel/Frame 029489/0861 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2012
From: PHOENIX TECHNOLOGIES LTD.
To: KINGLITE HOLDINGS INC.
Reel/Frame 029339/0716 →
RELEASE OF SECURITY INTEREST Recorded Nov 15, 2012
From: MEP PLP, LLC
To: PHOENIX TECHNOLOGIES LTD.
Reel/Frame 029307/0590 →
SECURITY AGREEMENT Recorded Nov 13, 2012
From: HIGHBRIDGE PRINCIPAL STRATEGIES, LLC
To: MEP PLP, LLC
Reel/Frame 029291/0354 →
GRANT OF SECURITY INTEREST - PATENTS Recorded Nov 24, 2010
From: PHOENIX TECHNOLOGIES LTD.
To: HIGHBRIDGE PRINCIPAL STRATEGIES, LLC, AS COLLATERAL AGENT
Reel/Frame 025406/0604 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2010
From: BANGA, GAURAV, DR.
To: PHOENIX TECHNOLOGIES LTD.
Reel/Frame 024616/0710 →