IP Library Granted Patent US 9,213,536
Granted Patent B2
US 9,213,536 · App. 13/453,273 · Granted Dec 15, 2015

Method and architecture for automatic installation and self-updating of client-side computer software

Inventor: Alexander Ocher (San Jose, CA)
Assignee: Business Objects Software Ltd.
G06F8/65
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,213,536
App. No.
13/453,273
Granted
Dec 15, 2015
Kind
B2
Abstract

Embodiments include systems and methods for automated versioning of software on a client machine, allowing installation and updates over multiple platforms with modules written in different computer languages. In an embodiment, the client sends a list of installed modules to the server. This may be done by causing a client processor to perform method calls determining version information of the installed product. The server then checks the list and sends updates (if any) that are then automatically installed on the client. Some embodiments can perform software installation over-the-network, and prerequisite software may also be automatically installed on the client machine. The system may work on multiple platforms (e.g. Windows™, UNIX) and support multiple computer languages (e.g. C++, Java®, Python®, .NET, etc.).

Claims (34)

1. A computer-implemented method comprising:

a Unix daemon on a system of a client computer initiating a processor of the client computer to perform method calls in multiple computer languages to shared runtime libraries and using a native interface, in order to determine a version information of a software product currently installed on a first virtual machine of the client computer, without reference to a manifest and without modifying metadata of the version information;

causing the processor to communicate the version information to a server computer;

causing the server computer to check the version information against a list of client-side components;

communicating an updated version of the software product to the client computer based upon comparison of the version information against the list;

storing the updated version of the software product in a non-transitory computer readable storage medium of the client computer;

causing the updated version of the software product to automatically be installed on the first virtual machine of the client computer; and

causing the updated version of the software product to automatically be installed on a second virtual machine accessing the shared runtime library without a request being sent to the server, wherein the processor is configured to cache data shared by the first virtual machine and the second virtual machine.

2. A method as in claim 1 further comprising updating a map according to the updated version of the software product.

3. A method as in claim 1 wherein the updated version of the software product is received from the server computer.

4. A method as in claim 1 further comprising causing prerequisite software to be communicated to the client computer based upon the version information.

5. A non-transitory computer readable storage medium embodying a computer program for performing a method, said method comprising:

a Unix daemon on a system of a client computer initiating a processor of the client computer to perform method calls in multiple computer languages to shared runtime libraries and using a native interface, in order to determine a version information of a software product currently installed on a first virtual machine of the client computer, without reference to a manifest and without modifying metadata of the version information;

causing the processor to communicate the version information to a server computer;

causing the server computer to check the version information against a list of client-side components;

communicating an updated version of the software product to the client computer based upon comparison of the version information against the list;

storing the updated version of the software product in a non-transitory computer readable storage medium of the client computer;

causing the updated version of the software product to automatically be installed on the client computer; and

causing the updated version of the software product to automatically be installed on a second virtual machine accessing the shared runtime library without a request being sent to the server, wherein the processor is configured to cache data shared by the first virtual machine and the second virtual machine.

6. A non-transitory computer readable storage medium as in claim 5 further comprising updating a map according to the updated version of the software product.

7. A non-transitory computer readable storage medium as in claim 5 wherein the updated version of the software product is received from the server computer.

8. A non-transitory computer readable storage medium as in claim 5 further comprising causing prerequisite software to be communicated to the client computer based upon the version information.

9. A computer system comprising:

one or more processors;

a software program, executable on said computer system, the software program configured to:

cause a Unix daemon on a system of a client computer to initiate a processor of the client computer to perform method calls in multiple computer languages to shared runtime libraries and using a native interface, in order to determine a version information of a software product currently installed on a first virtual machine of the client computer, without reference to a manifest and without modifying metadata of the version information;

cause the processor to communicate the version information to a server computer;

cause the server computer to check the version information against a list of client-side components;

communicate an updated version of the software product to the client computer based upon comparison of the version information against the list;

store the updated version of the software product in a non-transitory computer readable storage medium of the client computer;

cause the updated version of the software product to automatically be installed on the client computer; and

cause the updated version of the software product to automatically be installed on a second virtual machine accessing the shared runtime library without a request being sent to the server, wherein the processor is configured to cache data shared by the first virtual machine and the second virtual machine.

10. A computer system as in claim 9 further comprising updating a map according to the updated version of the software product.

11. A computer system as in claim 9 wherein the updated version of the software product is received from the server computer.

Assignments (2)
CHANGE OF NAME Recorded Jan 26, 2026
From: BUSINESS OBJECTS SOFTWARE LIMITED
To: SAP IRELAND LIMITED
Reel/Frame 074510/0354 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2012
From: OCHER, ALEXANDER
To: BUSINESS OBJECTS SOFTWARE LIMITED
Reel/Frame 028089/0320 →
Continuity (1)
Related Publication 20130283254A1 · Oct 24, 2013