US7484207B2ExpiredUtilityA1

Software execution control system and software execution control program

Assignee: O Z CO LTDPriority: Dec 11, 2002Filed: Dec 10, 2003Granted: Jan 27, 2009
Est. expiryDec 11, 2022(expired)· nominal 20-yr term from priority
Inventors:Kenji Sato
G06F 21/121
84
PatentIndex Score
50
Cited by
23
References
24
Claims

Abstract

It is possible to prevent unauthorized use of software such as a game program in download type software distribution for using a program and data by storing them in a user computer in advance. A user downloads a game program of new version (including an accompanying data group) and an execution program from a distribution computer. The execution control program performs authentication by online with an authentication computer and acquires start information required for starting the game program. The execution control program decodes the game program according to the start information and starts it. When the user terminates the game by terminating the game program, the execution control program deletes all or part of the game program so as to incapacitate it.

Claims

exact text as granted — not AI-modified
1. A method for installing software, verifying installation of software and executing software in a computer, wherein the method comprises:
 receiving encoded software and an execution control program; 
 executing the execution control program to provide user data that identifies the computer or a user of the computer to a verification server, 
 the verification server comparing the user data to information stored in a database to verify the user data and, if the user data is verified, providing decoding information and starting information to the computer, wherein the decoding information allows encoded software to be decoded and installed in the computer, and the starting information allows the installed decoded software to execute in the computer; 
 executing the execution control program to decode the encoded software in response to the decoding information to obtain decoded software and installing the decoded software; 
 starting execution of the installed decoded software using the starting information, wherein the installed decoded software will not execute without the starting information; 
 providing the user data or session data that identifies the computer or the user of the computer to the verification server one or more times during the execution of the installed decoded software; 
 the verification server comparing the user data or the session data to information stored in the database to verify the user data or the session data during the execution of the installed decoded software; and 
 ending the execution of the installed decoded software in response to the verification server failing to verify the user data or the session data during the execution installed software. 
 
   
   
     2. The method of  claim 1  that comprises:
 receiving a monitoring program from the verification server; and 
 executing the monitoring program;
 wherein the execution of the monitoring program comprises:
 monitoring executions of the installed decoded software and the execution control program; and 
 if one of the executions of the installed decoded software or the execution control program ends, ending the other of the executions of the installed decoded software and the execution control program; 
 
 and wherein the execution of the execution control program further comprises:
 monitoring the executions of the installed decoded software and the monitoring program; and 
 if one of the executions of the installed decoded software and the monitoring program ends, ending the other of the executions of the installed decoded software and the monitoring program. 
 
 
 
   
   
     3. The method of  claim 1  that comprises disabling execution of the installed decoded software when its execution is completed. 
   
   
     4. The method of  claim 3  that disables execution of the installed decoded software by deleting at least a portion of the installed decoded software. 
   
   
     5. The method of  claim 3 , wherein the starting and the disabling execution of the installed decoded software is performed by the execution control program. 
   
   
     6. The method of  claim 1  that comprises:
 determining a reporting period according to a load condition of a verification server; and 
 instructing the computer to send the user data or the session data to the verification server in each reporting period during the execution of the installed decoded software. 
 
   
   
     7. A storage medium recording a program of instructions that is executable by a machine to perform a method for installing software, verifying installation of software and executing software in a computer, wherein the method comprises:
 receiving encoded software and an execution control program; 
 executing the execution control program to provide user data that identifies the computer or a user of the computer to a verification server, 
 the verification server comparing the user data to information stored in a database to verify the user data and, if the user data is verified, providing decoding information and starting information to the computer, wherein the decoding information allows encoded software to be decoded and installed in the computer, and the starting information allows the installed decoded software to execute in the computer; 
 executing the execution control program to decode the encoded software in response to the decoding information to obtain decoded software and installing the decoded software; and 
 starting execution of the installed decoded software using the starting information, wherein the installed decoded software will not execute without the starting information; 
 providing the user data or session data that identifies the computer or the user of the computer to the verification server one or more times during the execution of the installed decoded software; and 
 the verification server comparing the user data or the session data to information stored in the database to verify the user data or the session data during the execution of the installed decoded software; and 
 ending the execution of the installed decoded software in response to the verification server failing to verify the user data or the session data during the execution installed software. 
 
   
   
     8. The medium of  claim 7 , wherein the method comprises:
 receiving a monitoring program from the verification server; and 
 executing the monitoring program;
 wherein the execution of the monitoring program comprises:
 monitoring executions of the installed decoded software and the execution control program; and 
 if one of the executions of the installed decoded software or the execution control program ends, ending the other of the executions of the installed decoded software and the execution control program; 
 
 and wherein the execution of the execution control program further comprises:
 monitoring the executions of the installed decoded software and the monitoring program; and 
 if one of the executions of the installed decoded software and the monitoring program ends, ending the other of the executions of the installed decoded software and the monitoring program. 
 
 
 
   
   
     9. The medium of  claim 7 , wherein the method comprises disabling execution of the installed decoded software when its execution is completed. 
   
   
     10. The medium of  claim 9 , wherein the method disables execution of the installed decoded software by deleting at least a portion of the installed decoded software. 
   
   
     11. The medium of  claim 9 , wherein the starting and the disabling execution of the installed decoded software is performed by the execution control program. 
   
   
     12. The medium of  claim 7 , wherein the method comprises:
 determining a reporting period according to a load condition of a verification server; and 
 instructing the computer to send the user data or the session data to the verification server in each reporting period during the execution of the installed decoded software. 
 
   
   
     13. A computer system comprising a first computer and a second computer for installing software, verifying installation of software and executing software in the first computer, wherein the first computer comprises:
 a first calculation processing unit; 
 first memory; 
 first input-output circuits; 
 one or more first storage devices; and 
 first circuitry that couples the first calculation processing unit, the first memory, the first input-output circuits and the one or more first storage devices; 
 
     wherein the one or more first storage devices record encoded software and an execution control program, the first memory records programs including at least a portion of the execution control program for execution by the first calculation processing unit to:
 send user data through the first input-output circuits that identifies the first computer or a user of the first computer to the second computer, 
 receive through the first input-output circuits decoding information and starting information from the second computer; 
 decode the encoded software in response to the decoding information to obtain decoded software and install the decoded software; 
 start execution of the installed decoded software using the starting information, wherein the installed decoded software will not execute without the starting information; 
 send the user data or session data that identifies the first computer or the user of the first computer through the first input-output circuits to the second computer one or more times during the execution of the installed decoded software; and 
 end the execution of the installed decoded software in response to the second computer failing to verify the execution of the installed decoded software; 
 
     wherein the second computer comprises:
 a second calculation processing unit; 
 second memory; 
 second external input-output circuits; 
 one or more second storage devices storing a database; and 
 second circuitry that couples the second calculation processing unit, the second memory, the second external input-output circuits and the one or more second storage devices; and 
 
     wherein the second memory records programs for execution by the second calculation processing unit to:
 receive user data through the second external input-output circuits that identifies the first computer or a user of the first computer, 
 compare the user data to information stored in the database to verify the user data; 
 if the user data is verified, send decoding information and starting information to the first computer through the second external input-out circuits, 
 
     wherein the decoding information allows encoded software to be decoded and installed in the first computer, and the starting information allows the installed decoded software to execute in the first computer:
 receive the user data or session data from the first computer one or more times through the external input-output circuits during the execution of the installed decoded software; 
 compare the user data or the session data to information stored in the database to verify the user data or the session data during the execution of the installed decoded software; and 
 prohibit the first computer from continuing the execution of the installed decoded software if verifying the user data or the session data fails. 
 
   
   
     14. The computer system of  claim 13 , wherein the first memory records at least a portion of the execution control program for execution by the first calculation processing unit to:
 receive a monitoring program from the second computer; and 
 execute the monitoring program;
 wherein execution of the monitoring program comprises:
 monitoring executions of the installed decoded software and the execution control program; and 
 if one of the executions of the installed decoded software or the execution control program ends, ending the other of the executions of the installed decoded software and the execution control program; 
 
 and wherein the execution of the execution control program further comprises:
 monitoring the executions of the installed decoded software and the monitoring program; and 
 if one of the executions of the installed decoded software and the monitoring program ends, ending the other of the executions of the installed decoded software and the monitoring program. 
 
 
 
   
   
     15. The computer system of  claim 13 , wherein the first calculation processing unit disables execution of the installed decoded software when its execution is completed. 
   
   
     16. The computer system of  claim 15 , wherein the first calculation processing unit disables execution of the installed decoded software by deleting at least a portion of the installed decoded software. 
   
   
     17. The computer system of  claim 15 , wherein the first calculation processing unit starts and disables execution of the installed decoded software by executing the execution control program. 
   
   
     18. The computer system of  claim 13 , wherein the second memory records programs for execution by the second calculation processing unit to:
 determine a reporting period according to a load condition of the second computer; and 
 instruct the first computer to send the user data or the session data in each reporting period during the execution of the installed decoded software. 
 
   
   
     19. A computer system for installing software, verifying installation of software and executing software in a computer, wherein the computer system comprises:
 means for receiving encoded software and an execution control program; 
 means for providing user data that identifies the computer or a user of the computer to a verification server, 
 means for comparing the user data to information stored in a database to verify the user data and, if the user data is verified, for providing decoding information and starting information to the computer, wherein the decoding information allows encoded software to be decoded and installed in the computer, and the starting information allows the installed decoded software to execute in the computer; 
 means for decoding the encoded software in response to the decoding information to obtain decoded software and installing the decoded software; 
 means for starting execution of the installed decoded software using the starting information, wherein the installed decoded software will not execute without the starting information; 
 means for providing the user data or session data that identifies the computer or the user of the computer to the verification server one or more times during the execution of the installed decoded software; 
 means for comparing the user data or the session data to information stored in the database to verify the user data or the session data during the execution of the installed decoded software; and 
 means for ending the execution of the installed decoded software in response to the verification server failing to verify the user data or the session data during the execution installed software. 
 
   
   
     20. The computer system of  claim 19  that comprises:
 means for receiving a monitoring program from the verification server; and 
 means for executing the monitoring program;
 wherein execution of the monitoring program comprises:
 monitoring executions of the installed decoded software and the execution control program; and 
 if one of the executions of the installed decoded software or the execution control program ends, ending the other of the executions of the installed decoded software and the execution control program; 
 
 and wherein execution of the execution control program further comprises:
 monitoring the executions of the installed decoded software and the monitoring program; and 
 if one of the executions of the installed decoded software and the monitoring program ends, ending the other of the executions of the installed decoded software and the monitoring program. 
 
 
 
   
   
     21. The computer system of  claim 19  that comprises means for disabling execution of the installed decoded software when its execution is completed. 
   
   
     22. The computer system of  claim 21  that disables execution of the installed decoded software by deleting at least a portion of the installed decoded software. 
   
   
     23. The computer system of  claim 21 , wherein the starting and the disabling execution of the installed decoded software is performed by the execution control program. 
   
   
     24. The computer system of  claim 19  that comprises:
 means for determining a reporting period according to a load condition of a verification server; and 
 means for instructing the computer to send the user data or the session data to the verification server in each reporting period during the execution of the installed decoded software.

Join the waitlist — get patent alerts

Track US7484207B2 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.