Source: http://www.google.com/patents/US7484207?ie=ISO-8859-1&dq=5,845,077
Timestamp: 2016-02-10 16:56:59
Document Index: 143711260

Matched Legal Cases: ['art 56', 'art 55', 'art 110', 'art 21', 'art 210', 'art 23', 'art 220']

Patent US7484207 - Software execution control system and software execution control program - Google PatentsSearch Images Maps Play YouTube News Gmail Drive More »Sign inPatentsIt 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...http://www.google.com/patents/US7484207?utm_source=gb-gplus-sharePatent US7484207 - Software execution control system and software execution control programAdvanced Patent SearchPublication numberUS7484207 B2Publication typeGrantApplication numberUS 10/538,764PCT numberPCT/JP2003/015779Publication dateJan 27, 2009Filing dateDec 10, 2003Priority dateDec 11, 2002Fee statusPaidAlso published asCN1333314C, CN1723426A, US20060117314, WO2004053666A1Publication number10538764, 538764, PCT/2003/15779, PCT/JP/2003/015779, PCT/JP/2003/15779, PCT/JP/3/015779, PCT/JP/3/15779, PCT/JP2003/015779, PCT/JP2003/15779, PCT/JP2003015779, PCT/JP200315779, PCT/JP3/015779, PCT/JP3/15779, PCT/JP3015779, PCT/JP315779, US 7484207 B2, US 7484207B2, US-B2-7484207, US7484207 B2, US7484207B2InventorsKenji SatoOriginal AssigneeO'z Co., Ltd.Export CitationBiBTeX, EndNote, RefManPatent Citations (21), Non-Patent Citations (2), Referenced by (38), Classifications (7), Legal Events (4) External Links: USPTO, USPTO Assignment, EspacenetSoftware execution control system and software execution control program
US 7484207 B2Abstract
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.
The present invention relates to a software execution control system and software execution control program for updating various types of application software such as game software, office software for creating documents and drawings and the like to software of newer versions, and for controlling the execution of such software.
Generally, in the case of application software such as game software or the like that operates in user computers such as (for example) personal computers, portable information terminals or the like, a plurality of different versions are prepared according to various types of software execution environments such the OS (operating system), language use, hardware construction and the like, or according to whether or not there is any software cost, payment of a fee or the like.
For example, even in the case of the same software, different versions may be prepared according to the language that is used, e.g., as in an English language edition, Japanese language addition, Chinese language edition or the like. Furthermore, it is fairly common for a version that is provided free of cost and a version that is provided for a fee to be prepared, and for the user to be induced to upgrade from the free software to the software that is provided for a fee. Such free software is also called a “test edition” or “trial edition”, and the software that is provided for a fee is called the “product edition” or “complete edition”. Compared to software of the same type that is provided for a fee, free software usually shows a partial limitation of the functions or a restriction on the trial use period or number of times of trial use permitted. Users who recognize the value of the software as a result of such trial use of free software accomplish upgrading of the software version by purchasing the software that is provided for a fee from a web site that provides this software, and downloading the purchased software, or by purchasing packaged software for a fee at a retail outlet.
Accordingly, it is one object of the present invention to provide a software execution control system and software execution control program which are devised so that this system and program can suppress the improper use of software.
Here, the second software is constructed so that this software can be started only by the starting information transferred from the execution control program. Specifically, the execution control program acts as dedicated “launcher software” that starts the second software.
When the execution of the second software is completed, the execution control program disables the second software. This disabling refers to a process that makes it impossible to start or execute the second software. Various methods can be used as disabling methods. For example, disabling can be accomplished by deleting all of the decoded second software. Furthermore, in cases where only a portion of the software is disabled, the second software can be restarted by receiving the deleted portion and the starting argument from the verification part. Alternatively, in cases where the second software includes a program and an accompanying data group, the second software can be disabled by deleting only the program. Furthermore, if the encoded data prior to decoding is stored, the second software can be restarted merely by receiving specified information from the verification part. The term “accompanying data group” refers to a data group other than the program that is used in the execution of the above mentioned program; examples of such data include image data, voice data, musical data, text data and the like.
FIG. 1 is an explanatory diagram showing an overall outline of a software execution control system constituting an embodiment of the present invention;
Embodiments of the present invention will be described in detail below with reference to FIGS. 1 through 13.
The decoding part 56 decodes the encrypted game program 40 by means of the decrypted decoding key. Furthermore, the encrypted file is stored “as is”. The starting part 55 creates a starting statement and starts the decoded game program 40 on the basis of the decrypted game information and starting argument. The starting statement is constructed from the registry path and starting argument of the game program.
First, as is shown in FIG. 4(a), the old edition of the game program has already been installed in the user computer 30. Moreover, in the figures, the old edition of the game program prior to upgrading of the version is indicated as the “initial program”, and the new edition of the game program whose version is upgraded is indicated as the “updated edition of the program”.
As one example, only the new edition of the game program 40 that has been decoded and placed in a state that allows execution (a state that allows starting by the input of the starting statement); here, the encrypted file (prior to decoding) that is acquired from the distribution computer 10 can be stored “as is” in the storage device of the user computer 30.
A method in which only the starting information of the game program 40 is thus re-acquired in cases where the game program 40 is to be played again is convenient. However, the present invention is not limited to such a method; it would also be possible to devise the system so that the encrypted program prior to decoding is re-acquired from the distribution computer 10. Furthermore, it would also be possible to delete only the decoded program proper 41, and to leave the accompanying data group 42 “as is”.
The installer judges whether or not the old edition of the game program 40A that is to be updated has already been installed in the user computer 30 (S22). In cases where the old edition of the game program 40A has not been installed, for example, a warning message such as “OLD EDITION OF GAME HAS NOT BEEN INSTALLED. PROCESSING WILL BE ENDED.” or the like is displayed on the screen, and the processing is ended (S23).
For instance, the supplier computer 100 is used by a software vendor who produces program products. The supplier computer 100 comprises a DRM part 110 that processes the game program 400 and converts this program into a DRM program 700. Here, “DRM” is an abbreviation for “digital rights management”, and refers to the management of rights to the digitized contents of programs such as game programs or the like. In the present specification, “DRM conversion” refers to a process whereby resistance to improper use and the like is improved by setting individual protection (described later) for non-protected game programs.
The DRM conversion computer 200 is one example of a “management computer”. For example, the DRM conversion computer 200 can also be called a “verification management server”. A DRM conversion computer 200 may be provided for each software vendor, or a single DRM conversion computer 200 may be provided for a plurality of software vendors.
Like the verification part 21 of the abovementioned embodiment, the verification part 210 performs user verification on the basis of verification data that is transmitted from the game manager 500 such as (for example) the user ID and password (shown as “PW” in the figures). Furthermore, like the starting information transmission part 23 in the abovementioned embodiment, the starting information transmission part 220 transmits to the game manager 500 (for example) information that is required for the game manager 500 to decode the game program 400 and place this game program 400 in a state that allows starting.
As is shown in FIG. 8(b), the game information data base 250 can be managed by (for example) associating game IDs, game names, game information, decoding keys (activating keys), starting arguments and reporting modes. Here, the term “reporting mode” refers to information that sets the policy relating to periodic reporting to the DRM conversion computer from the game manager 500. For example, the reporting mode can be set by the provider (software vendor) of the game program 400.
When the DRM conversion computer 200 receives the user ID, password and game ID from the game manager 500 (S124), the DRM conversion computer 200 refers to the user information data base 240, and performs user verification (S125). In cases where the user ID and password registered beforehand agree with the user ID and password received from the game manager 500 (S125: YES), user verification is successful. The DRM conversion computer 200 registers the user ID, password, MAC address and the like in association with each other in the user information data base 240 (S127). Conversely, in cases where either the user IDs or the passwords do not agree (S125: NO), user verification fails, and error processing is performed (S126). Conceivable error processing includes the display of a message such as “ID OR PASSWORD IS DIFFERENT” on the screen of the user computer 300. Furthermore, for example, in cases where user verification fails a specified number of times or more, the starting of the game program 400 can be locked. Moreover, user verification information is not limited to the user ID and password; for example, biological information such as voice, fingerprints, iris images or the like can also be used.
The DRM conversion computer 200 predicts future load conditions on the basis of the current load conditions (S185). Specifically, in cases where the reporting period of the game manager 500 is maintained at the current value, the load conditions of the DRM conversion computer 200 at the next reporting time are predicted. In concrete terms, for example, in a case where the current reporting period is set at “1 hour”, the number of users (number of game managers) undergoing on-line verification after 1 hour has elapsed from the current point in time can be grasped by means of the monitoring condition data base 260.
Patent CitationsCited PatentFiling datePublication dateApplicantTitleUS5608805Feb 13, 1995Mar 4, 1997Dolby Laboratories Licensing CorporationDynamic loaderUS5724425 *Jun 10, 1994Mar 3, 1998Sun Microsystems, Inc.Method and apparatus for enhancing software security and distributing softwareUS6178551 *Jul 1, 1998Jan 23, 2001Japan Airlines Co., Ltd.Method of and system for installing a computer programUS6327617 *Apr 25, 2000Dec 4, 2001Microsoft CorporationMethod and system for identifying and obtaining computer software from a remote computerUS6453469 *Jun 18, 1999Sep 17, 2002Phoenix Technologies Ltd.Method and apparatus to automatically deinstall an application module when not functioningUS6832373 *Apr 1, 2003Dec 14, 2004Bitfone CorporationSystem and method for updating and distributing informationUS6889376 *May 8, 2000May 3, 2005Treetop Ventures, LlcMethod for migrating from one computer to anotherUS7055067 *Sep 25, 2002May 30, 2006Siemens Medical Solutions Health Services CorporationSystem for creating, storing, and using customizable software test proceduresUS7062765 *May 25, 1999Jun 13, 2006Realnetworks, Inc.System and method for updating information via a networkUS7069554 *Jan 5, 2000Jun 27, 2006Sun Microsystems, Inc.Component installer permitting interaction among isolated components in accordance with defined rulesUS7203745 *May 29, 2003Apr 10, 2007Akamai Technologies, Inc.Method of scheduling hosts for software updates in a distributed computer networkUS7222339 *Jun 13, 2003May 22, 2007Intel CorporationMethod for distributed update of firmware across a clustered platform infrastructureUS7260557 *Feb 27, 2003Aug 21, 2007Avaya Technology Corp.Method and apparatus for license distributionUS20040199615 *Apr 20, 2004Oct 7, 2004Philyaw Jeffry JovanMethod and apparatus for automatic configuration of equipmentJP2001084137A Title not availableJP2002163578A Title not availableJP2002229660A Title not availableJP2002351564A Title not availableJPH086784A Title not availableJPH10133869A Title not availableWO2000072119A2May 2, 2000Nov 30, 2000Michael O RabinMethods and apparatus for protecting information* Cited by examinerNon-Patent CitationsReference1 *Kaminsky et al. "Decentralized User Authentication in a Global File System", Oct. 2003, ACM, pp. 60-73.2 *Rosenthal et al. "Document Release versus Data Access Controls: Two Sides of the Same Coin?", Oct. 2001, ACM, pp. 544-546.* Cited by examinerReferenced byCiting PatentFiling datePublication dateApplicantTitleUS7818737 *Feb 2, 2006Oct 19, 2010Lg Electronics Inc.Video device having software upgrade function using wireless communication and method for controlling the sameUS8112630 *Sep 7, 2007Feb 7, 2012Samsung Electronics Co., Ltd.Device, system, and method for reporting execution flow of programUS8616958Apr 30, 2008Dec 31, 2013Bally Gaming, Inc.Discovery method and system for dynamically locating networked gaming components and resourcesUS8667457Nov 30, 2012Mar 4, 2014Bally Gaming, Inc.System and method for validating download or configuration assignment for an EGM or EGM collectionUS8784212Nov 9, 2007Jul 22, 2014Bally Gaming, Inc.Networked gaming environment employing different classes of gaming machinesUS8819124Sep 4, 2012Aug 26, 2014Bally Gaming, Inc.System and method for one-way delivery of notifications from server-to-clients using modified multicastsUS8819639 *Sep 15, 2004Aug 26, 2014Lakeside Software, Inc.System for selectively blocking execution of applications on a computer systemUS8870647Apr 12, 2007Oct 28, 2014Bally Gaming, Inc.Wireless gaming environmentUS8920233Nov 12, 2008Dec 30, 2014Bally Gaming, Inc.Assignment template and assignment bundle in a gaming configuration and download systemUS8959508Jun 15, 2009Feb 17, 2015Microsoft Technology Licensing, LlcMitigating user interruption for partially downloaded streamed and virtualized applicationsUS8973093May 29, 2013Mar 3, 2015Samsung Electronics Co., Ltd.Method of executing virtualized application able to run in virtualized environmentUS9005034Apr 30, 2008Apr 14, 2015Bally Gaming, Inc.Systems and methods for out-of-band gaming machine managementUS9015693 *Sep 23, 2011Apr 21, 2015Google Inc.System and method for modifying and updating a speech recognition programUS9032396 *Jun 9, 2011May 12, 2015Sharp Kabushiki KaishaServer apparatus, terminal apparatus, and application control systemUS9058716Feb 9, 2012Jun 16, 2015Bally Gaming, Inc.Remote game play in a wireless gaming environmentUS9101820Nov 9, 2006Aug 11, 2015Bally Gaming, Inc.System, method and apparatus to produce decks for and operate games played with playing cardsUS9120007Jan 18, 2012Sep 1, 2015Bally Gaming, Inc.Network gaming architecture, gaming systems, and related methodsUS20060059469 *Sep 15, 2004Mar 16, 2006Schumacher Michael KSystem for selective blocking of applications on a computer systemUS20070006210 *Feb 2, 2006Jan 4, 2007Lg Electronics Inc.Video device having software upgrade function using wireless communication and method for controlling the sameUS20070219909 *Apr 13, 2006Sep 20, 2007Robert HardackerSystem and method for automatically updating timed DRM keysUS20070243927 *Apr 12, 2007Oct 18, 2007Bally Gaming International, Inc.Wireless gaming environmentUS20080153600 *Nov 9, 2007Jun 26, 2008Bally Gaming, Inc.Gaming system configuration change reportingUS20080155673 *Sep 7, 2007Jun 26, 2008Samsung Electronics Co., Ltd.Device, system, and method for reporting execution flow of programUS20080171588 *Nov 9, 2007Jul 17, 2008Bally Gaming, Inc.Download and configuration server-based system and method with structured dataUS20080200255 *Nov 9, 2007Aug 21, 2008Bally Gaming, Inc.Networked gaming environment employing different classes of gaming machinesUS20080289063 *Apr 18, 2008Nov 20, 2008Monsanto Technology LlcPlastid Transformation of MaizeUS20090131163 *Nov 12, 2008May 21, 2009Bally Gaming, Inc.Assignment template and assignment bundle in a gaming configuration and download systemUS20090163279 *Apr 30, 2008Jun 25, 2009William Dale HermansenDiscovery method and system for dynamically locating networked gaming components and resourcesUS20090275374 *Apr 30, 2008Nov 5, 2009Bally Gaming, Inc.Tournament play in a gaming propertyUS20090275395 *Nov 5, 2009Bally Gaming, Inc.Systems and methods for out-of-band gaming machine managementUS20090275402 *Apr 30, 2008Nov 5, 2009Bally Gaming, Inc.Information distribution in gaming networksUS20090298583 *Dec 3, 2009Bally Gaming, Inc.Web pages for gaming devicesUS20100318987 *Dec 16, 2010Microsoft CorporationBootstrapping streamed and virtualized applicationsUS20100318988 *Dec 16, 2010Microsoft CorporationMitigating user interruption for partially downloaded streamed and virtualized applications.US20110013879 *Oct 29, 2009Jan 20, 2011Nintendo Co., Ltd.Information processing system, information processing apparatus, and computer-readable storage medium having information processing program stored thereinUS20120253800 *Oct 4, 2012Goller Michael DSystem and Method for Modifying and Updating a Speech Recognition ProgramUS20130086577 *Jun 9, 2011Apr 4, 2013Sharp Kabushiki KaishaServer apparatus, terminal apparatus, and application control systemUS20130254553 *Mar 24, 2012Sep 26, 2013Paul L. GreeneDigital data authentication and security system* Cited by examinerClassifications U.S. Classification717/174, 717/126International ClassificationG06F1/00, G06F9/44, G06F9/445Cooperative ClassificationG06F21/121European ClassificationG06F21/12ALegal EventsDateCodeEventDescriptionJun 10, 2005ASAssignmentOwner name: INTERLEX INC., JAPANFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SATO, KENJI;REEL/FRAME:017384/0540Effective date: 20050524Dec 10, 2008ASAssignmentOwner name: O Z CO. LTD., JAPANFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTERLEX INC.;REEL/FRAME:021968/0395Effective date: 20081209Mar 15, 2012ASAssignmentEffective date: 20110328Owner name: SATO, KENJI, MR., JAPANFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:O Z CO., LTD.;REEL/FRAME:027869/0270Jun 27, 2012FPAYFee paymentYear of fee payment: 4RotateOriginal ImageGoogle Home - Sitemap - USPTO Bulk Downloads - Privacy Policy - Terms of Service - About Google Patents - Send FeedbackData provided by IFI CLAIMS Patent Services