IP Library Granted Patent US 6,866,587
Granted Patent B1
US 6,866,587 · App. 09/669,479 · Granted Mar 15, 2005

Wide area real-time software environment

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 6,866,587
App. No.
09/669,479
Granted
Mar 15, 2005
Kind
B1
Abstract

A system for the remote monitoring or modification, whether temporary or permanent, of a running application's attributes. These attributes include, for example, art, sound, music, text, environmental variables or artificial intelligence parameters, program source code, program pseudo code, program compiled code or any other computerized attributes. The application is enabled so that there is the ability to dynamically monitor an application's internal data, components and functionality via a remote station and/or dynamically save application usage data while that application is executing. Further, this program has the ability to temporarily or permanently change internal settings and attributes of the application and add extra functionality to the application. If charges or added functionality are permanent, they can be used when the application is executed.

Claims (72)

1. A computer-implemented method for remotely monitoring and dynamically changing the operation of a computer game executing on a first computer while the computer game is executing, the computer game comprising computer code, the method comprising the steps of:

establishing a network connection between the first computer and a remote second computer;

monitoring, at the second computer, the operation of the computer game executing on the first computer while the computer game is executing;

issuing a command from the second computer to modify the computer code of the computer game while the computer game is executing;

modifying the computer code of the computer game at the first computer while the computer game is executing; and

continuing to execute the computer game at the first computer in accordance with the modified computer code without ceasing execution of the computer game.

2. The method of claim 1 wherein the step of issuing a command to modify the computer code of the computer game while the computer game is executing comprises issuing a command to temporarily modify the computer code of the computer game while the computer game is executing.

3. The method of claim 1 wherein the step of issuing a command to modify the computer code of the computer game while the computer game is executing comprises issuing a command to permanently modify the computer code of the computer game while the computer game is executing.

4. The method of claim 1 further comprising the steps of:

operating the computer game prior to establishing the network connection between the first computer and the remote second computer;

storing, at the first computer, data relating to the operation of the computer game;

uploading the data to the second computer after the network connection is established; and

analysing the data at the second computer to assist in determining how to modify the computer code of the computer game.

5. The method of claim 1 further comprising the steps of:

maintaining a server routing list at the first computer;

querying, at the first computer, the computer game to determine a list of available data;

sending the list of available data from the first computer to the second computer;

determining, at the second computer, a sub-set of the available data from the list of available data;

sending the sub-set of the available data from the second computer to the first computer;

collecting, at the first computer, data in accordance with the sub-set of the available data from the computer game; and

providing the data collected in accordance with the sub-set of available data to the second computer.

6. The method of claim 1 wherein the step of issuing a command to modify the computer code of the computer game while the computer game is executing further comprises adjusting a resource value of the computer game.

7. The method of claim 1 wherein the step of issuing a command to modify the computer code of the computer game while the computer game is executing further comprises adjusting the amount of memory allocated to the computer game.

8. The method of claim 1 wherein the step of issuing a command to modify the computer code of the computer game while the computer game is executing further comprises adjusting the amount of memory allocated to pair of the computer game.

9. The method of claim 1 wherein the step of issuing a command to modify the computer code of the computer game while the computer game is executing further comprises changing an artificial intelligence module in the computer game.

10. The method of claim 1 further comprising the step of monitoring the operation of the computer game at the second computer after the modification has taken effect.

11. A computer-implemented method for remotely monitoring and dynamically changing the operation of an application program executing on a first computer while the application program is executing, the application program comprising computer code, the method comprising the steps of:

establishing a network connection between the first computer and a remote second computer;

monitoring, at the second computer, the operation of the application program executing on the first computer while the application program is executing;

issuing a command from the second computer to modify the computer code of the application program while the application program is executing;

modifying the computer code of the application program at the first computer while the application program is executing; and

continuing to execute the application at the first computer in accordance with the modified computer code without having to shut down the application program.

12. The method of claim 11 wherein the step of issuing a command to modify the application program while executing comprises issuing a command to temporarily modify the computer code of the application while the application program is executing.

13. The method of claim 11 wherein the step of issuing a command to modify the computer code of the application program while the application program is executing comprises issuing a command to permanently modify the computer code of the application program while the application program is executing.

14. The method of claim 11 further comprising the steps of:

operating the application program prior to establishing the network connection between the first computer and the remote second computer;

storing, at the first computer, data relating to the operation of the application program;

uploading the data to the second computer after the network connection is established; and

analysing the data at the second computer to assist in determining how to modify the computer code of the application program.

15. The method of claim 11 further comprising the steps of:

maintaining a server routing list at the first computer;

querying the application program to determine a list of available data;

collecting a sub-set of the available data from the application program at the first computer; and

providing the sub-set of available data to the second computer.

16. The method of claim 11 wherein the step of issuing a command to modify the computer code of the application program while the application program is executing further comprises adjusting the amount of memory allocated to part of the application program.

17. The method of claim 11 further comprising the step of monitoring the operation of the application program at the second computer after the modification has taken effect.

18. A computer-implemented system for remotely monitoring and dynamically changing the operation of an application program while the application program is executing, the application program comprising computer code, the system comprising:

a first computer executing the application program;

a second computer executing a monitoring program;

a network connection between the first computer and the second computer;

computer program means, located at the second computer, for monitoring the operation of the application program executing on the first computer while the application program is executing;

computer program means, located at the second computer, for issuing a command to modify the computer code of the application program while the application program is executing;

computer program means at the first computer for modifying the computer code of the application program while the application program is executing; and

computer program means, at the first computer, for continuing to execute the application in accordance with the modified computer code.

19. The system of claim 18 further comprising:

a routing list, located at the first computer; and

collector means, located at the first computer.

20. A computer-implemented system for remotely monitoring and dynamically changing the operation of an application program while the application program is executing, the application program comprising computer code, the system comprising:

a first computer executing the application program;

a second computer executing a monitoring program;

a network connection between the first computer and the second computer;

a plurality of collectors, located at the first computer, each collector querying the application program to determine available data and obtaining available data from the application program;

a server program, located at the first computer, for providing data to a remote program;

a routing list, located at the first computer, for providing routing information to an appropriate client;

a plurality of consoles, located at the second computer, to provide an interface to allow a remote user to specify commands to observe and change the operation of part of the application program; and

a second routing list, located at the second computer, to route data provided by server program to a select one of the consoles.

21. A set of instructions residing in a storage medium, said set of instructions capable of being executed by a processor to implement a method for remotely monitoring and dynamically changing the operation of an application program executing on a first computer, the method comprising the steps of:

establishing a network connection between the first computer and a remote second computer;

monitoring from the second computer the operation of the application program executing on the first computer while the application program is executing;

issuing a command from the second computer to modify the computer code of the application program while the application program is executing;

modifying the computer code of the application program at the first computer without having to shut down the application program; and

continuing to execute the application at the first computer in accordance with the modified computer code.

Assignments (6)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE NATURE OF CONVEYANCE PREVIOUSLY RECORDED AT REEL: 056981 FRAME: 0631. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Feb 16, 2022
From: COMMWORKS SOLUTIONS, LLC
To: UNWIRED BROADBAND, INC.
Reel/Frame 059907/0563 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED AT REEL: 054443 FRAME: 0958. ASSIGNOR(S) HEREBY CONFIRMS THE LICENSE. Recorded Feb 4, 2021
From: COMMWORKS SOLUTIONS, LLC
To: UNWIRED BROADBAND, INC.
Reel/Frame 056981/0631 →
LICENSE Recorded Nov 5, 2020
From: COMMWORKS SOLUTIONS, LLC
To: UNWIRED SOLUTIONS, INC.
Reel/Frame 054443/0958 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 3, 2020
From: INTELLECTUAL VENTURES ASSETS 135 LLC
To: COMMWORKS SOLUTIONS, LLC
Reel/Frame 051463/0138 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 1, 2019
From: S. AQUA SEMICONDUCTOR, LLC
To: INTELLECTUAL VENTURES ASSETS 135 LLC
Reel/Frame 050886/0724 →
MERGER Recorded Oct 15, 2015
From: S.W. CALDWELL & COMPANY LLC
To: S. AQUA SEMICONDUCTOR, LLC
Reel/Frame 036804/0450 →