CN1333314C - 软件执行控制系统 - Google Patents

软件执行控制系统 Download PDF

Info

Publication number
CN1333314C
CN1333314C CNB200380105688XA CN200380105688A CN1333314C CN 1333314 C CN1333314 C CN 1333314C CN B200380105688X A CNB200380105688X A CN B200380105688XA CN 200380105688 A CN200380105688 A CN 200380105688A CN 1333314 C CN1333314 C CN 1333314C
Authority
CN
China
Prior art keywords
software
executive control
control program
user
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB200380105688XA
Other languages
English (en)
Other versions
CN1723426A (zh
Inventor
佐藤健次
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sato Kenji
Original Assignee
INTERLEX Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by INTERLEX Inc filed Critical INTERLEX Inc
Publication of CN1723426A publication Critical patent/CN1723426A/zh
Application granted granted Critical
Publication of CN1333314C publication Critical patent/CN1333314C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

用户从发送用计算机10下载新版本的游戏程序40(也包含附带数据群)和执行控制程序50(S2)。执行控制程序50进行基于认证用计算机20和在线的认证,取得为了起动游戏程序40所需的起动信息(S3、S4)。执行控制程序50根据起动信息把游戏程序40译码,起动(S5)。如果用户结束游戏,使游戏程序40结束,执行控制程序50就通过删除游戏程序40的全部或一部分,使其无力化(S6)。在把程序和数据预先存储在用户计算机中,利用的下载方式的软件发送中,阻止游戏程序等软件的违法使用。

Description

软件执行控制系统
技术领域
本发明涉及把游戏软件、生成文书和图形的实际业务用软件等各种应用软件更新为新版本的软件,控制其执行的软件执行控制系统和软件的执行控制程序。
背景技术
一般来说,在个人电脑或便携式信息终端等用户计算机上运行的游戏软件等应用软件有时例如按照OS(Operating System)、使用语言、硬件结构等各种软件执行环境或者按照软件的价格和有无货款支付等来准备多种版本。
例如,即使是相同的软件,有时也象英语版本、日语版本、中文版本那样,按所使用的语言来准备不同的版本。另外,准备无偿提供的版本和有偿提供的版本,也经常诱导从无偿软件向有偿软件的升级。无偿软件也称作“体验版”、“测试版”,有偿软件也称作“制品版”或“完全版”。无偿软件与同种的有偿软件相比,常常限制其一部分功能,或在试用期间和试用次数上受到限制。通过试用无偿软件,认同软件的价值的用户从提供源的站点购买有偿软件,下载,或在销售店购买有偿版本软件,进行升级。
而软件是数字数据,容易复制,并且具有几乎不发生复制引起的恶化的特征,所以违法复制和擅自使用成为大问题。因此,从以往就通过用户认证等识别购买软件(软件的执照)的正规用户和未取得执照的违法用户,只让正规用户使用软件。
例如知道在安装软件时,输入软件包或记录媒体上印刷的产品ID,判定是否为正规购买品的技术(例如,参照特开2002-258963号公报段落0003)。
另外,也知道对因特网上设置的执照管理服务器要求用于使用软件的键数据,当通过用户认证承认为正当的用户时,从执照管理服务器取得键数据,通过该键数据使软件起动,使用的技术(例如参照特开2002-6972号公报、特开2002-297254公报)。
通过输入产品ID(产品密匙)判别是否为正规用户的以往技术是在安装时只输入只由文字或记号构成的ID的防御机构,能容易地避开。因此,只具备这种防御机构(著作权保护机构)的软件事实上无法排除违法复制和擅自使用。
在与执照管理服务器之间进行用户认证,当正常认证时,对用户计算机发送键数据,起动的技术与只输入产品ID的技术相比,防御能力提高。但是,软件在用户计算机上已经放置为可起动状态,等待键数据的取得。因此,如果违法复制成为键数据的输入等待状态的软件,用其他方法取得键数据,就能蒙混过防御机构,使用。
另一方面,近年来伴随着计算机的处理能力增大和通信网络的高速化,提出了在用户希望时执行希望的软件的方法。作为能应用于这种软件的按要求发送的发送方法,知道流动方式和下载方式。
在流动方式中,用户计算机从服务器一边接收软件,同时进行再现。而且把结束再现,变为不要的数据立刻抛弃。因此,流动方式在用户的浏览结束的时刻不残留数据,所以只要不使用特殊的软件,就不能违法复制软件。但是,在流动方式中,每当用户希望视听时,有必要每次发送软件的数据,所以即使在宽带中具备高速的通信网络时,如果多个用户同时希望流动发送,则通信网络的流量增大,服务器的负担也增大。
对此,在下载方式上,从服务器把用户希望的软件下载到用户计算机上进行存储,在用户计算机上执行,所以数据流过通信网络的时间少,能响应来自多个用户的发送要求。但是,在下载方式时,软件原封不动地存储在用户计算机内,所以与流动方式相比,能简单地进行违法复制。
另外,例如广泛采用在CD-ROM、DVD-ROM、硬盘、半导体存储器等各种记录媒体中固定游戏软件,流通的方法。此时如上所述,游戏程序被非法复制,保护机构被非法破坏,非法使用。
发明内容
鉴于上述问题的存在,本发明的一个目的在于:提供能抑制软件的非法使用的软件执行控制系统和软件的执行控制程序。
本发明的另一个目的在于:提供当在用户计算机上保存软件执行的下载方式时,能防止违法复制和擅自使用的软件执行控制系统和软件的执行控制程序。
本发明的另一个目的在于:提供能防止在软件的执行中进行非法使用的软件执行控制系统和软件的执行控制程序。
本发明的另一个目的在于:提供考虑负载状态,能动态控制对于非法使用的监视效率的软件执行控制系统和软件的执行控制程序。
从后面描述的实施形态的说明,本发明的其他目的会变得清楚。
本发明的软件执行控制系统把安装在用户计算机上的第一软件更新为第二软件,具有后面描述的发送部和认证部,并且采用进行特征的动作的执行控制程序。
发送部把进行了编码的第二软件和用于控制该第二软件的执行的执行控制程序通过通信网络发送给用户计算机。认证部根据来自用户计算机上安装的执行控制程序的要求,进行用户认证,当确认为正当的用户时,把为了将第二软件译码后起动所需的给定信息通过通信网络发送给执行控制程序。而且,第二软件只能用从执行控制程序传来的起动信息起动,执行控制程序的构成为:(1)根据从认证部接收的给定信息,把进行了编码的第二软件译码,置换为第一软件;(2)根据给定信息生成起动信息,使第二软件起动;(3)在第二软件的执行结束时,使第二软件无力化。
第一软件和第二软件是同一种类的软件,版本不同。也可以把第一软件称作旧版本软件,把第二软件称作新版本软件。作为第一、第二软件,例如能采用游戏、电影、娱乐节目、文化节目、教育节目、文书生成、图形生成、图像编辑等各种应用软件。第一软件和第二软件例如在使用的语言、可执行环境(对应的OS)、功能限制的有无等上不同。作为用户计算机,例如能列举工作站、个人电脑、便携式信息终端、移动电话等。
最初安装在用户计算机上的第一软件不进行后面描述的认证处理等,用户就能自由使用。第一软件例如从软件销售商的站点通过因特网等通信网络,或者通过商店销售的软件包安装到用户计算机上。
接着如果用户从发送部希望第二软件的下载,就从发送部把第二软件和控制第二软件的执行的执行控制程序向用户计算机发送。执行控制程序由用户计算机执行。执行控制程序通过通信网络对认证部要求用户认证。作为用户认证的方法,例如能通过与用户ID、密码、预先登记用户计算机所固有的信息(例如MAC地址(Media AccessControl address)等)的数据比对,进行。须指出的是,并不局限于此,例如也可以使用指纹或声纹等用户固有的生物体信息进行认证。
当认证部认证为正当的用户时,从认证部向用户计算机的执行控制程序发送给定的信息。在该给定信息中包含用于把在编码状态下发送给用户计算机的第二软件译码,使译码的第二软件起动所需的数据。
在此,第二软件只能由从执行控制程序传来的起动信息起动。即执行控制程序作为起动第二软件的专用“起动软件”起作用。
而且,执行控制程序进行以下的处理。(1)首先执行控制程序根据从认证部接收的给定信息,(利用给定信息中包含的译码键,)对第二软件进行译码。把译码的第二软件置换为第一软件。(2)接着,执行控制程序根据从认证部接收的给定信息,(利用给定信息中包含的起动自变数)生成起动信息(由起动自变数和译码的第二软件的寄存器路径构成的起动声明),根据该起动信息,使第二软件起动。据此,用户能在用户计算机上使用第二软件。(3)执行控制程序在第二软件的起动后监视第二软件的执行状态,如果检测到第二软件的执行结束,就使第二软件无力化。据此,用户无法使用第二软件。
当用户希望再度的使用时,可以再次接受基于认证部的认证,取得给定的信息。或者再次使用户计算机访问发送部,再度下载第二软件。如果每必要再度下载第二软件全体,只再度下载程序部分,就能缩短通信时间,减少流量。须指出的是,希望把从认证部向用户计算机发送的给定信息加密。
如果第二软件的执行结束,执行控制程序就使第二软件无力化。无力化意味着无法起动或执行第二软件。作为无力化的方法,能采用各种方法。例如能通过删除译码的第二软件全体,使其无力化。另外,也可以通过删除译码的第二软件的一部分,使其无力化。须指出的是,当只删除一部分时,通过从认证部接收该删除的部分和起动自变数,就能再度起动第二软件。或者当第二软件包含程序和附带数据群时,即使只删除程序,也能使第二软件无力化。须指出的是,通过保存译码前的编码数据,只通过从认证部再度接收给定信息,就能再度使用第二软件。附带数据群意味着在程序的执行时利用的程序以外的数据群,例如能列举图象数据、乐曲数据、文本数据。
在首选的实施形态中,执行控制程序能对应于多种第二软件,在认证部发送给执行控制程序的给定信息中包含有起动的第二软件的存储目标地址信息、起动自变数和用于对第二软件进行译码的译码键信息。
控制通过通信网络的实时在线认证和第二软件的起动以及结束的执行控制程序在第二软件之外另外生成。因此,通过只准备1种执行控制程序,能对应于多种第二软件。
在首选的实施形态中,执行控制程序把包含用户计算机所固有的机器信息和加密键信息的认证用信息发送给认证部,认证部至少根据机器信息进行用户认证,当确认为正当的用户时,用加密键信息把给定信息加密,通过通信网络发送给执行控制程序,并且在认证部能登记多个机器信息。
作为用户计算机所固有的机器信息,例如能列举MAC地址等。而且,可以采用用户计算机的构成信息(例如搭载存储器量、CPU规格、声卡或图形加速卡的制品名)。在认证部中能登记多个机器信息。据此,正当购买第二软件的执照的用户例如能象自家的个人电脑和工作单位的个人电脑那样,使用多台用户计算机利用同一第二软件。
在首选的实施形态中,认证部确认为正当的用户时,该用户把能起动的第二软件的列表数据发送给用户计算机,把有关从列表数据选择的第二软件的给定信息通过通信网络发送给执行控制程序。
当用户正式购买完多种第二软件的执照时,认证部在用户认证后,把列举该用户可利用的第二软件名称的列表数据发送给用户计算机。用户从可起动(可利用)的列表菜单选择希望起动的第二软件。据此,认证部生成用于把选择的第二软件译码、起动的给定信息,发送给执行控制程序。
在首选的实施形态中,执行控制程序在用户计算机上实现:取得用户计算机所固有的机器信息的功能;生成加密键信息的功能;对认证部要求用户认证,至少把机器信息和加密键信息发送给认证部的功能;使用户从由认证部接收的可起动的第二软件的列表数据选择任意一个第二软件,把选择的第二软件通知认证部的功能;接收把选择的第二软件的用户计算机上的存储目标地址信息、起动自变数和译码键信息至少通过加密键信息进行加密而形成的给定信息的功能;至少通过加密键信息把加密的给定信息译码的功能;通过译码的译码键信息把用户计算机内的第二软件译码的功能;根据译码的起动自变数和存储目标地址信息,生成起动信息的功能;通过生成的起动信息起动译码的第二软件的功能;监视起动的第二软件的执行状态,当该第二软件的执行结束时,使第二软件无力化的功能。
另外,在首选的实施形态中,第二软件包含程序和附带数据群,更新程序或附带数据群的至少任意一方。
在此,安装在用户计算机上的第一软件在置换为第二软件之前,不接受基于认证部的认证就能执行。
另外,在首选的实施形态中,执行控制程序无法在第二软件之外强制结束。
即例如使用管理正在运行的任务的程序,无法强制结束执行控制程序。因为无法停止基于执行控制程序的监视,只复制第二软件。更具体而言,如果作为不指定硬件的设备驱动程序生成执行控制程序(因为不指定硬件,所以严格上来讲不是设备驱动程序),作为比应用程序更接近OS一侧的程序或构成OS的一部分的程序,难以象通常的应用程序那样强制结束。作为难以强制结束的程序,除了设备驱动程序,还知道BIOS(Basic Input/Output System)。但是,BIOS基本上只具有与硬件之间直接收发数据的功能,所以无法进行把加密的数据译码或监视第二软件的执行等高级控制。通过把执行控制程序作为象设备驱动程序那样,位于OS和应用程序(第二软件)之间的中间程序构成,能进行高级的处理,能防止恶意使用。
在首选的实施形态中,发送部和认证部分别在不同的计算机上实现。
例如分别按各软件公司设置发送第二软件和执行控制程序的发送部,进行第二软件的起动时认证的认证部能按各国、各地区、各软件公司的团体设置。
本发明能作为系统的发明把握。
即一种软件执行控制系统,把安装在用户计算机上的第一软件更新为第二软件,其特征在于包括:发送部,把进行了编码的所述第二软件和用于控制该第二软件的执行的执行控制程序通过通信网络发送给所述用户计算机;和认证部,根据来自所述用户计算机上安装的所述执行控制程序的要求进行用户认证,当确认为正当的用户时,把为了将所述第二软件译码后起动所需的给定信息通过所述通信网络发送给所述执行控制程序,所述第二软件只能用从所述执行控制程序传来的起动信息起动;所述执行控制程序的构成为:(1)根据从所述认证部接收到的所述给定信息,对所述进行了编码的第二软件进行译码,把所述第一软件置换为译码后的所述第二软件;(2)根据所述给定信息生成起动信息,据此使所述第二软件起动;(3)在所述第二软件的执行结束时,使所述第二软件无力化。
另外,本发明也能作为软件的更新方法把握。
即一种软件的更新方法,其特征在于包含:向用户通知能把安装在用户计算机上的能自由使用的第一软件更新为第二软件的意思的步骤;通过通信网络把所述用户计算机连接到发送所述第二软件的发送用计算机上,要求向所述第二软件的更新的步骤;从所述发送用计算机把进行了编码的所述第二软件和用于控制该第二软件的执行的执行控制程序通过通信网络发送给所述用户计算机的步骤;通过在所述用户计算机上起动的所述执行控制程序,使所述用户计算机和认证用计算机通过通信网络连接,对所述认证用计算机要求用户认证的步骤;当通过所述用户认证确认为正当的用户时,根据从所述认证用计算机发送给所述用户计算机的给定信息,来对所述第二软件进行译码的步骤;根据从所述认证用计算机接收到的所述给定信息,来生成用于起动所述第二软件的起动信息的步骤;通过所述生成后的起动信息使所述第二软件起动的步骤;和监视所述起动的第二软件的执行,当所述第二软件的执行结束时,使所述第二软件无力化的步骤。
另外,本发明也能作为计算机来把握。
即一种计算机,其特征在于包括:认证部,根据来自与置换为第一软件的第二软件一起安装在用户计算机上的执行控制程序的要求来进行用户认证;和信息发送部,当由所述认证部确认为是正当的用户时,把为了对所述第二软件进行译码后起动所需的给定信息发送给所述执行控制程序,所述第二软件只能由从所述执行控制程序传来的起动信息起动;所述执行控制程序的构成为:(1)根据从所述认证部接收到的所述给定信息,对所述进行了编码的第二软件进行译码,置换为所述第一软件;(2)根据所述给定信息来生成起动信息,使所述第二软件起动;(3)在所述第二软件的执行结束时,使所述第二软件无力化。
另外,本发明还能作为管理用计算机来把握。
即一种管理用计算机,通过与和应用程序及监视程序一起安装在用户计算机上的执行控制程序进行通信,来控制所述执行控制程序的动作,其特征在于包括:认证部,根据来自所述执行控制程序的要求来进行用户认证;信息发送部,当由所述认证部确认为是正当的用户时,把所述执行控制程序为了起动所述应用软件所需的第一信息发送给所述执行控制程序;和继续执行管理部,根据在给定时期与所述执行控制程序之间进行的继续确认通信,来管理是否允许所述应用软件的继续执行。
另外,本发明还能作为软件执行控制系统来把握。
即一种软件执行控制系统,具有执行应用软件的用户计算机和管理所述应用软件的执行的管理用计算机,其特征在于:在所述用户计算机中设置:执行控制部,用于控制所述应用软件的执行;和监视部,用于监视所述应用软件和所述执行控制程序的动作,在所述管理用计算机中设置:认证部,根据来自所述执行控制程序的要求来进行用户认证;信息发送部,当由所述认证部确认为是正当的用户时,把为了所述执行控制部起动所述应用软件所需的第一信息发送给所述执行控制部;和继续执行管理部,根据在给定时期与所述执行控制部之间进行的继续确认通信,来管理是否允许所述应用软件的继续执行。
遵从本发明的其他观点的管理用计算机与和应用程序以及监视程序一起安装在用户计算机上的执行控制程序进行通信,控制执行控制程序的动作。而且,管理用计算机包括:根据来自执行控制程序的要求,进行用户认证的认证部;当由认证部确认为正当的用户时,把执行控制程序为了起动应用软件所需的第一信息发送给执行控制程序的信息发送部;根据在给定时期与执行控制程序之间进行的继续确认通信,管理是否允许应用软件的继续执行的继续执行管理部。
在本发明的一个形态中,继续执行管理部比较通过继续确认通信从执行控制程序取得的第一识别信息和预先与用户认证关联的第二识别信息,当双方的识别信息对应时,对于执行控制程序允许应用软件的继续执行,当各识别信息不对应时,对于执行控制程序禁止应用软件的继续执行。
在本发明的一个形态中,继续执行管理部预先在执行控制程序中设定与第二识别信息对应的第一识别信息。
在本发明的一个形态中,继续执行管理部预先在执行控制程序中设定给定时期,当该预先设定的给定时期到来时,从执行控制程序对继续执行管理部进行继续确认通信。
在本发明的一个形态中,继续执行管理部能可变地设定给定时期。
在本发明的一个形态中,继续执行管理部至少考虑预测的将来的负载状态,能可变地设定给定时期。
在本发明的一个形态中,监视程序分别监视应用软件和执行控制程序的工作状态,当停止应用软件或执行控制程序的任意一方时,分别使应用软件和执行控制程序,其自身也停止,执行控制程序分别监视应用软件和监视程序的工作状态,当应用软件或监视程序的任意一方停止工作时,分别使应用软件和监视程序停止,其自身也停止。
遵从本发明的其他观点的计算机程序使计算机执行以下功能,包括:控制应用软件的执行的执行控制部;作为分别监视应用软件和执行监视部的工作状态的监视部起作用,执行控制部通过与管理用计算机通信来要求用户认证的功能;根据从管理用计算机接收的第一信息,使应用软件起动的功能;与管理用计算机之间进行继续确认通信的功能;当通过继续确认通信,禁止应用软件的继续执行时,使应用软件的动作停止的功能;监视部包括:分别监视应用软件和执行控制部的工作状态的功能;当应用软件或执行控制部的任意一方停止工作时,分别使应用软件和执行控制部停止,其自身也停止的功能。
附图说明
下面简要说明附图。
图1是表示本发明实施例的执行控制系统的全体概要的说明图。
图2表示数据库的构造,(a)表示用户信息数据库,(b)表示游戏信息数据库,(c)表示在HTML标题内嵌入加密的起动信息,发送的样子。
图3表示程序的概略构造,(a)表示游戏程序,(b)表示执行控制程序的构造。
图4是表示把用户计算机上安装的旧版本的游戏程序更新为新版本的游戏程序,控制起动的样子的说明图。
图5是表示安装游戏程序和执行控制程序时的处理的程序流程图。
图6是表示执行控制程序和认证用计算机之间进行的在线认证的程序流程图。
图7是表示本发明其他实施例的软件执行控制系统的全体概要的说明图。
图8表示数据库的构造,(a)表示用户信息数据库,(b)表示游戏信息数据库,(c)表示监视状况数据库。
图9是表示软件执行控制系统的全体动作概要的程序流程图。
图10是表示周期地进行的继续确认通信的处理概要的程序流程图。
图11是表示决定进行下次继续确认通信的时期的处理概要的程序流程图。
图12是表示游戏管理器和监视程序相互监视的处理概要的程序流程图。
图13是表示本发明其他实施例的软件执行控制系统的全体概要的程序流程图。
具体实施方式
下面,参照图1~图13说明本发明的实施例。
首先,根据图1~图6说明实施例1。图1是表示软件执行控制系统的全体概要的说明图。在本实施例中,以在线更新游戏程序的系统为例,进行说明。
发送用计算机10把新版本的游戏程序40以及执行控制程序50通过因特网等通信网络发送给各用户的计算机30。发送用计算机10能作为按各软件公司(销售商)分别设置的服务器而构成。
首先,发送用计算机10有关游戏程序数据库12中登记的新版本程序,事先对认证用计算机20进行登记(S1)。例如从发送用计算机10对认证用计算机20登记新版本游戏程序的名称、种类、售价、数据尺寸、版本信息等数据。当一体构成发送用计算机10和认证用计算机时,通过这种外部网络的通知并不一定必要。
发送用计算机10的发送控制部11如果从用户计算机30收到程序的更新要求,就从游戏程序数据库12读出用户希望的游戏程序40,对用户计算机30发送(S2)。在此应该注意的是,新版本的游戏程序40不是单独向用户计算机30发送,而与管理游戏程序40的起动和删除的执行控制程序50一起对用户计算机30发送。
认证用计算机20能作为分别为多个软件公司所属的团体或各机关设置的服务器而构成。此外并不局限于此,可以为各软件公司分别设置认证用计算机20。认证用计算机20具有认证部21、收费处理部22、起动信息发送部23、用户信息数据库24、游戏信息数据库25。
认证部21根据从用户计算机30的执行控制程序50发送的给定认证用数据,进行用户认证。细节在后面描述,但是在认证用数据中包含用户识别信息(用户ID)、密码(PW)、MAC地址(Media AccessControl address)。
收费处理部22在新版本游戏程序40的使用许诺时,对用户收费。在收费方法中能采用各种方法。例如可以统一使用户支付游戏程序的货款(卖完),或者每当用户使用游戏程序时收费。或者每当给定期间或给定次数收费。须指出的是,支付方法也能象信用卡支付、电子货币支付那样,采用各种方法。
起动信息发送部23把用户计算机30的存储装置(例如硬盘)中存储的新版本游戏程序40译码,把起动所需的起动信息向用户计算机30的执行控制程序50发送。
用户通过执行控制程序50与认证用计算机20的认证部21进行认证,当认证为支付完游戏程序40的购买货款(使用权的货款)的正当用户时(S3),从起动信息发送部23向执行控制程序50发送起动信息(S4)。当未支付游戏程序40的货款的用户访问认证用计算机20时,通过收费处理部22进行收费处理后,把起动信息向执行控制程序50发送。
如果着眼于用户计算机30的结构,则用户计算机30作为个人电脑、工作站、便携式信息终端、移动电话等计算机构成。用户计算机30按照必要具有演算处理装置(CPU)、主存储、辅助存储、外部输入输出电路等计算机资源,由游戏程序40和执行控制程序50适当使用各资源。
从发送用计算机10发送给用户计算机30的新版本游戏程序40和执行控制程序50如后所述,通过附属的安装程序安装到用户计算机30上。然后执行控制程序50与认证用计算机20之间进行用户认证,如果取得起动信息,游戏程序40就起动(S5)。须指出的是,在安装新版本的游戏程序40之前,已经安装在用户计算机30上的旧版本的游戏程序置换为新版本的程序,所以以后不能使用。
用户能通过用户计算机30利用新版本的游戏程序40。而且,如果用户结束游戏,使游戏程序40结束,则执行控制程序50删除游戏程序40,进行无力化(S6)。用户再度利用游戏程序40时,再度访问认证用计算机20,进行用户认证,取得起动信息。
在此在用户计算机30的存储装置内,以译码前的加密文件的状态保存新版本的游戏程序40,所以再度使用游戏程序40时,可以从认证用计算机20只取得用于把该加密文件译码的信息(译码键)和用于起动的信息。即在本实施例中,在用户计算机30的本地盘中以加密文件的状态保存新版本游戏程序40,在进行游戏时,与认证用计算机20之间进行在线认证,把加密的游戏程序40译码,起动。然后在游戏结束后,删除译码的游戏程序40,使其无力化。
下面,图2是表示认证用计算机20利用的用户信息数据库24和游戏信息数据库25的构造例的说明图。须指出的是,图2所示的各数据库24、25的内容是一例,没必要具有图示的全部项目。
通过把用户ID、密码、多个MAC地址1~n、确定购买完毕的游戏程序的游戏ID1~n、其他信息分别关联,构成图2(a)所示的用户信息数据库24。在此,之所以可登记多个MAC地址1~n,是因为考虑一个用户分别使用不同的多个用户计算机30,使用游戏程序40时的情形。因此,用户例如能通过工作单位的计算机、自家的计算机等不同的信息处理终端,利用游戏程序40。作为其他信息,能列举用户的名字、年龄、住处、玩游戏的次数、获得的分数(例如按照游戏购买货款和玩的次数,提供分数时)。
通过把游戏ID、游戏信息(表示游戏程序的寄存器路径的信息)、用于把加密的游戏程序40译码的译码键、用于起动译码的游戏程序40的起动自变数、其他信息分别关联,构成图2(b)所示的游戏信息数据库25。作为其他信息,例如能列举游戏的种类(角色扮演游戏、格斗游戏、成人指定的有五)、数据尺寸、著作权管理信息等。
如图2(c)所示,游戏信息、译码键和起动自变数加密,嵌入到HTML(Hyper Text Markup Language)数据中,发送给用户计算机30。即通过在用户计算机30一侧生成的加密键和MAC地址,把起动信息(游戏信息、译码键和起动自变数)加密,嵌入HTML的标题部。因此,认证用服务器20按照来自用户计算机30的HTTP(Hyper TextTransport Protocol)要求,生成加密的起动信息,把包含加密的起动信息的HTTP响应发送给用户计算机30。
接着,图3是表示游戏程序40以及执行控制程序50的概略结构的说明图。
如图3(a)所示,游戏程序40包含程序主体41、附带数据群42。作为附带数据群42,能列举动画数据、静止图象数据、图形数据、乐曲数据、乐曲数据、音乐数据、文本数据。
新版本的游戏程序40与旧版本的程序相比,新生成程序41或附带数据群42的任意一方或双方。当程序主体41和附带数据群42双方比旧版本新时,把程序主体41和附带数据群42双方置换为新版本。当只有附带数据群42新和只有程序主体41新时,把附带数据群42或程序主体41的任意一方置换为新版本。
如图3(b)所示,执行控制程序50在用户计算机30上实现加密用信息生成部51、认证要求部52、游戏选择部53、加密译码部54、起动部55、译码部56、执行监视部57等各功能。作为一例,执行控制程序50作为不确定设备的设备驱动程序而构成。因此,执行控制程序50与游戏程序等应用程序不同,无法从任务管理程序结束。
加密信息生成部51例如除了根据从用户计算机30的内置定时器取得的时刻信息生成加密键,还取得用户计算机30的MAC地址。
认证要求部52在内部调用用户计算机30上安装的网络访问的功能,访问认证用计算机20,对认证用计算机20发送加密键、MAC地址、用户ID和密码,要求用户认证。
游戏选择部53从用户认证结束,从认证用计算机20发送给用户计算机30的列表菜单选择用户希望的游戏。该列表菜单视以列表形式显示用户可利用的(可起动)的游戏程序,能根据用户信息数据库24的购买完毕游戏ID生成。
通过由加密信息生成部51生成的加密键和MAC地址,把用于起动用户选择的游戏程序40的起动信息加密,发送给用户计算机30。加密译码部54根据加密键和MAC地址,把加密的起动信息译码。
译码部56根据译码的译码键,把加密的游戏程序40译码。须指出的是,原封不动保存加密文件。起动部55根据译码的游戏信息和起动自变数,生成起动声明,使译码的游戏程序40起动。起动声明由游戏程序的寄存器路径和起动自变数构成。
如果游戏程序40起动,则执行监视部57监视游戏程序40的执行状态,如果游戏程序40结束,就删除译码的程序主体41。须指出的是,也可以一起删除译码的附带数据群。此外在删除时,可以删除程序或数据的全部,也可以删除一部分。
图4是模式地表示通过本系统把游戏程序更新为最新版本的样子的说明图。
首先如图4(a)所示,在用户计算机30上已经安装有旧版本的游戏程序。须指出的是,在图中,把升级前的旧版本的游戏程序称作“初始程序”,把升级的新版本游戏程序表示为“更新版本程序”。
用户把固定在CD-ROM、DVD-ROM、存储器等记录媒体中的旧版本游戏程序40A安装到用户计算机30上,利用(S11)。或者也能通过因特网等通信网络取得旧版本游戏程序40A。不接受与认证用计算机20的在线认证,就能使用该旧版本游戏程序40A。但是,一旦由本更新系统更新后,即使更新版本程序为旧版本时,如果不接受认证,就无法利用。
对利用旧版本的游戏程序40A的用户通知能向新版本游戏程序40更新的意思。能用各种方法进行该通知。
第一方法例如是积极或消极地向用户通知旧版本的游戏程序40A能向新版本的游戏程序40更新,同时显示发送用计算机10的URL(Uniform Resource Locator)的方法。作为积极的通知,例如考虑到在游戏开始时或结束时,在画面上显示表示可更新的意思和发送用计算机10的URL。作为消极的通知,例如在旧版本的游戏程序40A的帮助菜单中显示表示可更新的意思和发送用计算机10的URL。无论哪种情况,如果只通过点击URL,就使网络浏览器31起动,自动使用户计算机30访问发送用计算机10,则用户使用起来很方便。
第二方法是通过电子媒体积极或消极地向用户通知能向新版本的游戏程序40更新的意思和发送用计算机10的URL。作为积极的通知,能列举给用户的电子邮件。作为消极的通知,考虑在网络上的站点(例如发送用计算机10)对新版本的游戏程序40进行广告宣传。
作为第三方法,也能使用游戏杂志或计算机杂志等纸媒体上的广告宣传、对网络上形成的游戏程序共同爱好协会那样的社团的广告宣传。
如上所述,能向用户通知新版本的游戏程序40的存在。如图4(b)所示,希望更新的用户通过网络浏览器31访问发送用计算机10,要求向新版本的游戏程序40的更新(S12)。
如图4(c)所示,发送用计算机10通过通信网络向用户计算机30发送用户希望的新版本的游戏程序40(也包含附带数据群)(S13)。另外,也与新版本的游戏程序40一起设置执行控制程序50,向用户计算机30发送(S13)。新版本的游戏程序40和执行控制程序50保存到用户计算机30的存储装置中。
在新版本的游戏程序40和执行控制程序50中附带专用的安装程序。通过安装程序,把新版本的游戏程序40和执行控制程序50安装到用户计算机30上。如果执行控制程序起动,则如图4(d)所示,执行控制程序50调用网络访问的功能,访问认证用计算机20,在与认证用计算机20之间进行用户认证和购买处理(收费处理)(S14)。在用户认证和收费处理结束后,认证用计算机20向用户计算机30的执行控制程序50发送加密的起动信息(S15)。
执行控制程序50把加密的起动信息译码,取出译码键和起动自变数。然后执行控制程序50把游戏程序40译码,起动。据此,用户能利用新版本的游戏程序40。游戏程序40的执行状态由执行控制程序50监视。
如图4(e)所示,用户结束玩游戏,如果游戏程序40结束,则执行控制程序50通过删除新版本的游戏程序40,进行无力化(S16)。
作为一例,只删除处于译码、可执行状态(通过起动声明的输入能起动的状态)的新版本的游戏程序40,把从发送用计算机10取得的译码前的加密文件保存到用户计算机30的存储装置内。
据此,当用户希望再玩游戏程序40时,访问认证用计算机20,接受基于在线的用户认证,从认证用计算机20重新取得起动信息,就可以了(S17)。每必要重新从发送用计算机10取得加密的游戏程序40,所以不需要下载的步骤,此外能减轻对通信网络的负担。
当再度玩游戏程序40时,只再度取得游戏程序40的起动信息的方法是方便的,但是本发明并不局限于此,可以从发送用计算机10再度取得译码前的加密的程序。另外,可以只删除译码的程序主体41,保留附带数据群42。
下面,根据图5和图6说明本系统的处理的细节。图中所示的程序流程图表示处理的大致流程,与实际的程序不同。
图5表示安装存储在用户计算机30的存储装置中的新版本游戏程序40以及执行控制程序50的处理。
游戏程序40以及执行控制程序50以加密文件的状态保存在用户计算机30中。例如如果用户用鼠标指针选择加密文件,双击,产生起动事件,安装程序就起动(S21)。
安装程序判定在用户计算机30上是否安装完应该更新的旧版本游戏程序40A(S22)。当未安装旧版本游戏程序40A时,例如在画面上显示“未安装旧版本游戏程序。结束处理。”等警告信息(S23)。
当在用户计算机30上安装有旧版本游戏程序40A时(S22:YES),判定是否初次安装新版本游戏程序40和执行控制程序50(S24)。当过去安装新版本游戏程序40和执行控制程序50时,视为用户登记和收费处理已经结束。因此,S24判定用户登记和收费处理是否已经结束。
当初次安装时,调用网络浏览器31的功能,连接到认证用计算机20上。对用户进行用户登记和收费处理(S25、S26)。
接着安装程序判定执行控制程序50的寄存器,当还未安装执行控制程序50时,安装执行控制程序50(S27)。安装程序为了把旧版本的游戏程序40A置换更新为新版本的游戏程序40,把旧版本的程序主体41和附带数据群42改写为新版本的程序主体41和附带数据群42(S28、S29)。而且,安装程序把执行控制程序50起动,结束处理(S30)。
图6是表示基于执行控制程序50的执行控制持和认证用计算机20的处理的程序流程图。
起动的执行控制程序50取得用户计算机30所固有的机器信息,具体而言,MAC地址(S41)。另外,从用户计算机30的内置定时器取得现在时刻的信息,根据该时刻信息生成加密键(S42)。
接着执行控制程序50调用网络浏览器31的功能(S43),通过通信网络连接到发送用计算机10上,对认证用计算机20要求注册认证(S44)。执行控制程序50把用户ID、密码、MAC地址和加密键发送给认证用计算机20(S44)。认证用计算机20参照用户信息数据库24,判断是否为正当的用户(S61)。
当确认为正当的用户时,认证用计算机20生成用户可利用的游戏程序的列表数据,发送给用户计算机30(S62)。作为用户能利用的游戏程序,在典型上能列举用户购买的游戏程序,但是并不局限于此,例如也能包含软件公司无偿提供的游戏程序等。
执行控制程序50如果从认证用计算机20收到可利用的游戏程序的列表数据,就在用户计算机30的显示器上显示游戏的列表(S45)。根据列表菜单,用户选择希望玩的游戏(S46)。
认证用计算机20参照游戏信息数据库25,生成用于起动用户选择的游戏程序所需的起动信息,把该起动信息通过在S61中取得的加密键和MAC地址加密(S63)。认证用计算机20把加密的起动信息发送给用户计算机30的执行控制程序50(S64)。
执行控制程序50如果从认证用计算机20收到加密的起动信息(S47),就把加密的起动信息通过加密键和MAC地址译码(S48)。
接着,执行控制程序50取得新版本的游戏程序40的寄存器信息(S49),通过寄存器路径和起动自变数生成起动声明(S50)。
另外,执行控制程序50通过从起动信息取出的译码键,把加密的新版本游戏程序40译码,在给定的驱动器的给定目录下展开(S51)。据此,把游戏程序40译码,变为等待起动的状态。
然后,执行控制程序50通过在S50中生成的起动声明,使译码的新版本游戏程序40起动(S52、S70)。据此,用户能用新版本游戏程序40玩(S71)。
执行控制程序50监视游戏程序40的执行状态(S53),当用户结束游戏,使游戏程序40结束时(S72),通过删除译码的程序主体41,把游戏程序40无力化,结束处理(S54)。
须指出的是,当用户再次想用游戏程序40玩时,再度访问认证用计算机20,接受基于在线的认证,取得起动信息。
根据这样构成的本实施例,即使为把程序安装到用户计算机30上的下载式的软件发送时,也能阻止未购买使用权的违法使用。
即在本实施例中,为了起动游戏程序40,在每次使用时,有必要通过执行控制程序50进行基于在线的认证,从认证用计算机20通过通信网络取得起动信息,所以即使单体违法复制游戏程序40,也无法以单体起动违法复制的游戏程序40。
另外,执行控制程序50作为象设备驱动程序那样靠近OS一侧的程序而构成,无法象应用程序那样用通常的方法结束。因此,无法切离执行控制程序50和游戏程序40,违法地址复制游戏程序40,或只拿出游戏程序40。
本发明能在各种交易中充分利用。例如通过把过去违法复制流通的旧版本游戏程序更新为新版本游戏程序,能使违法使用的用户正式地取得使用权,转变为正当的用户。为了使违法的用户改换到新版本的游戏程序,可以准备与该用户的母语对应的附带数据群(游戏关),或新准备追加的关等,刺激用户更新欲望。
下面参照图7~图12,说明其他实施例。在本实施例中,把游戏程序固定在记录媒体中,流通时为例,进行说明。在本实施例中,只要不减小本发明的范围,就能适宜援引所述实施例中的说明。如后所述,在本实施例中,与所述实施例同样,通过执行控制程序(本实施例的游戏管理器)控制游戏程序的执行。而且在本实施例中,能定期执行认证用计算机(本实施例的DRM计算机)和执行控制程序之间的在线认证。
图7是表示本实施例的软件执行控制系统的全体概要的说明图。本系统分别如后所述,能包含供应商计算机100、DRM计算机200、用户计算机300。
由生产程序产品的软件销售商使用供应商计算机100。供应商计算机100具有:加工游戏程序400,变换为DRM化程序700的DRM部110。在此,DRM是Digital Rights Management的简称,意味着管理游戏程序等数字化的内容的权利。在本说明书中,DRM化意味着通过在非保护的游戏程序中设定独自的保护,提高对于非法使用的承受能力。
DRM部110通过在游戏程序400中追加游戏管理器500和监视程序600,对游戏程序400设定独自的保护。保护的游戏程序400作为DRM化程序700记录到记录媒体RM中,在市场上流通。有关游戏管理器500和监视程序600,后面进一步描述。
作为记录媒体RM,例如能适宜使用CD-ROM、DVD-ROM、光盘、硬盘、软盘、半导体存储器、磁带等各种媒体。可以把DRM化程序700压缩,记录到记录媒体RM中,可以不压缩DRM化程序700,就记录到记录媒体RM中。另外,也能在记录媒体RM中存储用于把DRM化程序700安装到用户计算机300上的安装程序。
DRM计算机200是“管理计算机”的一个例子。DRM化计算机200例如也能称作“认证管理服务器”。DRM化计算机200可以为各软件销售商设置,也可以对于多个软件销售商只设置一个。
DRM计算机200通过与在用户计算机300上运行的游戏管理器500之间进行通信,进行起动信息的发送和继续执行的管理。DRM计算机200具有认证部210、起动信息发送部220、继续执行管理部230。
另外,DRM计算机200能利用用户信息数据库240、游戏信息数据库250、监视状况数据库260。须指出的是,DRM计算机200没必要在物理上由单一的计算机构成,可以通过多个计算机的协同动作实现。
认证部210与所述实施例的认证部21同样,根据用户ID、密码等(图中“PW”)从游戏管理器500发送的认证用数据,进行用户认证。起动信息发送部220与所述实施例的起动信息发送部23同样,把游戏管理器500把游戏程序400译码,放在可起动状态所需的信息发送给游戏管理器500。
继续执行管理部230与游戏管理器500之间每隔给定时间进行通信,管理游戏程序400的继续执行的可否。虽然后面进一步描述细节,但是继续执行管理部230比较从游戏管理器500发送的对话ID和预先保持的对话ID,当两者一致时,允许游戏程序400的继续执行。相反,继续执行管理部230当两个对话ID不一致时,对游戏管理器500指示管理游戏程序400的强制结束。
用户计算机300与所述实施例的用户计算机3同样,例如能作为个人电脑或便携式信息终端、移动电话而构成。用户计算机300能按照必要具有象CPU、存储器、辅助存储装置、OS、各种设备驱动程序那样的硬件资源和软件资源。游戏程序400、游戏管理器500、监视程序600能适宜利用用户计算机300具有的硬件资源和软件资源。
把记录媒体RM的存储内容读入用户计算机300,进行给定的安装处理,在用户计算机300上分别执行游戏程序400、游戏管理器500、监视程序600。对于具有正当权限的用户,游戏管理器500作为用于起动游戏程序400的起动程序起作用。但是,游戏管理器500不仅是起动程序,控制游戏程序400的工作。另外,游戏管理器500分别监视游戏程序400以及监视程序600的工作状态,当任意一方的监视对象停止工作时,停止另一方的监视对象以及自身的动作。
监视程序600分别监视游戏程序400和游戏管理器500的工作状态,当任意一方的监视对象停止工作时,停止另一方的监视对象以及自身的动作。正当的用户不觉察监视程序600的存在,就能使用游戏程序400。
图8是表示各数据库240~260的一例的说明图。如图8(a)所示,用户信息数据库240能把用户ID、总线密码、MAC地址、对话ID、其他信息关联管理。如后所述,对话ID是为了判断是否允许继续执行而使用的信息。即为了防止使用与最初认证的用户计算机300不同的用户计算机,非法执行游戏程序400,游戏管理器500和DRM计算机200定期进行通信。此时,比较从游戏管理器500接收的对话ID和用户信息数据库240中登记的对话ID,只当对话ID一致时,允许游戏程序400的继续执行。须指出的是,与图2(a)所示的用户信息数据库24同样,能把多个MAC地址与一个用户ID关联。
如图8(b)所示,游戏信息数据库250例如把游戏ID、游戏名、游戏信息、译码键(激活键)、起动自变数、报告模式关联管理。在此,报告模式是设定有关从游戏管理器500向DRM计算机200的定期报告的频率的方针的信息。例如游戏程序400的提供者(软件销售商)能设定报告模式。
在此,作为报告模式,例如能列举:只在最初起动游戏程序400时向DRM计算机200报告的模式;在起动游戏程序400时对DRM计算机200报告的模式;把监视效率优先,以尽可能的短周期对DRM计算机200报告的模式;考虑DRM计算机200的负载降低,以少的频率对DRM计算机200报告的模式。
如图8(c)所示,监视状况数据库260能把执行游戏程序400的各用户的用户ID、来自各用户计算机300的报告周期、下次的报告周期、各用户执行的游戏程序400的游戏ID、游戏开始时刻关联管理。如后所述,根据DRM计算机200的负载状态和报告模式,动态控制下次的报告周期。
下面,根据图9~图12说明本系统的工作。首先图9是表示本系统的起动时进行的动作概要的程序流程图。
希望利用游戏程序400的用户选择象征所需的游戏程序400的游戏图标,指示起动。如果检测到基于用户的操作,则首先游戏管理器500起动(S101)。
游戏管理器500取得用户计算机300所固有的机器信息的一例即MAC地址(S102),把MAC地址通过通信网络CN发送给DRM计算机200(S103)。
DRM计算机200把从游戏管理器500接收的MAC地址在用户信息数据库240中登记(S121、S122)。在该时刻,只判明MAC地址,不进行与用户ID的关联。须指出的是,不在用户信息数据库240中登记MAC地址,在存储器中保持,当用户认证成功时,可以把MAC地址与用户ID或对话ID一起登记到用户信息数据库240中。
DRM计算机200发行对话ID,此外设定报告周期。对最初使用的报告周期能使用预先设定的初始值。而且DRM计算机200对游戏管理器500通知对话ID和初次的报告周期(S123)。
游戏管理器500如果收到对话ID和报告周期(S104),把这些信息存储到用户计算机300的存储器中。接着,游戏管理器500判定是否从用户输入用户ID和密码(S105)。例如当用户选择操作游戏图标时,显示要求用户ID和密码的输入的画面,从而能催促用户和密码的输入。
游戏管理器500如果确认用户ID和密码的输入(S105:YES),就把输入的用户ID和密码、用户希望执行的游戏程序400的游戏ID发送给DRM计算机200(S106)。
DRM计算机200如果从游戏管理器500收到用户ID、密码和游戏ID(S124),就参照用户信息数据库240,进行用户认证(S125)。当预先登记的用户ID以及密码与从游戏管理器500接收的用户ID以及密码一致时(S125:YES),用户认证成功。DRM计算机200把用户ID、密码、MAC地址关联,登记到用户信息数据库240中(S127)。相反,当用户ID或密码的任意一方不一致时(S125:NO),用户认证失败,进行出错处理(S126)。作为出错处理,例如在用户计算机300的画面上显示“ID或密码不同”等信息。另外,例如当用户认证失败给定次数以上时,也能把游戏程序400的起动锁住。须指出的是,作为用户认证的信息,并不局限于用户ID和密码,可以采用省文、指纹、角膜等生物体信息。
DRM计算机200通过用户认证的成功,决定用户希望的游戏程序400的执行允许(S128)。DRM计算机200生成游戏管理器500能起动允许执行的游戏程序400的信息,加密(S129)。作为该游戏起动用的信息,例如能列举文件名等执行信息或激活键等。DRM计算机200使用对话ID或用户信息(MAC地址)把这些执行信息和激活键加密,把加密的信息向游戏管理器500发送(S130)。
如果游戏管理器500从DRM计算机200收到加密信息(S107),就把加密信息解密(S108),取得激活键和执行信息(S109)。DRM计算机200使用的加密算法对于游戏管理器500已知,解密所需的信息也存在于用户计算机300一侧,所以能把加密信息解密。
游戏管理器500根据取得的激活键把游戏程序400译码,把译码的游戏程序400存储到用户计算机300的存储器中(S110)。
当使用记录媒体RM把游戏程序400安装到用户计算机300上时,游戏程序以编码的状态存储在用户计算机300的辅助存储装置中。在编码的状态下,无法起动游戏程序400。游戏管理器500从DRM计算机200取得激活键,把游戏程序400译码,在放置到用户计算机300的存储器中的时刻,游戏程序400变为能起动。在此,应该注意的是,译码的游戏程序400(执行体程序)不作为文件保存,只存在于存储器内。在游戏程序400的结束时,删除存储器内的程序,所以再度玩游戏时,有必要通过游戏管理器500字读再度进行用户认证和激活键的取得。
而且,游戏管理器500根据执行信息,使放在用户计算机300的存储器中的游戏程序400起动(S111)。据此,用户能起动、玩游戏程序400。另外,游戏管理器500在起动游戏程序400的同时(在物理上严密的意义上,可以不是同时),起动监视程序600(S112)。有关监视程序600的动作,后面进一步描述。
下面根据图10说明用于控制游戏程序400的继续执行的监视处理。
游戏管理器500在起动时参照从DRM计算机200设定的报告周期(S141)。游戏管理器500通过利用用户计算机300具有的定时器功能,判定从DRM计算机200预先设定的报告时期是否到来(S142)。
当报告时期到来时(S142:YES),游戏管理器500从用户计算机300的存储器读出从DRM计算机200设定的对话ID(S143),把读出的对话ID发送给DRM计算机200(S144)。
DRM计算机200如果从游戏管理器500收到对话ID(S161),就参照用户信息数据库240。DRM计算机200比较用户信息数据库240中登记的发行完毕对话ID、从游戏管理器500接收的对话ID,判定两者是否一致(S163)。须指出的是,可以从游戏管理器500对DRM计算机200只发送对话ID,或者除了对话ID,还能包含用户ID等用户信息的全部或一部分。还能包含用户计算机300的环境信息(CPU利用率和存储器使用量)。但是,附加在对话ID上的信息越增大,用户计算机300的负载越增加,此外网络流量也增大。
当从游戏管理器500接收的对话ID与预先登记的对话ID不一致时(S163:NO),DRM计算机200(继续执行管理部230)对游戏管理器500通知控制游戏程序400继续执行的禁止(S164)。当两个对话ID不一致时,是用其他用户计算机执行游戏程序400时,即用一个用户ID多次起动同一游戏程序400。因此,当两个对话ID不一致时,对游戏管理器500指令游戏程序400的强制结束。
当从游戏管理器500接收的对话ID和预先登记的对话ID一致时(S163:YES),DRM计算机200计算新的报告周期即下次的报告周期(S165)。有关该新的报告周期的计算,后面进一步描述,但是考虑DRM计算机200的负载状态,决定。
当两对话ID一致时,DRM计算机200对游戏管理器500通知新计算的报告周期和继续执行的允许(S166)。
游戏管理器500有关继续执行的可否,从DRM计算机200接收响应(S145)。游戏管理器500当允许游戏程序400的继续执行时(S146:YES),把新设定的报告周期保存到用户计算机300的存储器中,返回S141,等待报告周期的到来。
相反,当从DRM计算机200禁止继续执行时(S146:NO),游戏管理器500强制结束正在执行的游戏程序400(S147)。然后游戏管理器500结束监视程序600后(S148),也结束自身(S149)。
如上所述,游戏管理器500与DRM计算机200之间定期进行简单的认证。据此,能防止使用相同的用户ID和密码多次起动游戏程序400的非法利用。
图11是表示报告周期的设定处理的程序流程图。是把图10中的S165的内容具体化的一例。DRM计算机300(具体而言,继续执行管理部230)参照从游戏管理器500收到对话ID的时刻(S181)。接着游戏管理器500参照与该对话ID的接收关联的报告周期(S182)。
游戏管理器500计算对话ID的接收时刻和预先设定的报告周期的偏差。例如当实际的接收时刻比对话ID的接收预定时刻晚时,能把通信流量CN的拥挤引起的信息包到达的延迟、DRM计算机300的负载增大引起的响应性能下降等作为原因来进行列举。
DRM计算机200检测自身的现在的负载状态(S184)。作为负载状态,例如能列举现在正在玩的用户数即应该进行基于在线的定期认证处理的游戏管理器数。而且,也可以检测例如CPU利用率、存储器使用量、数据输入输出处理速度(I/O速度)。
DRM计算机200根据现在的负载状态(S184)预测将来的负载状态(S185)。即,DRM计算机200在把游戏管理器500的报告周期为维持在现在值上的情况下,预测下一报告时期的DRM计算机200的负载状态。具体地说,例如假定把现在的报告时期设定为“一小时”,从现在时刻经过1小时后进行在线认证的用户数量(游戏管理器数量)由监视状况DB260(监视状况数据库260)来把握。
接着,DRM计算机200参照正在执行的游戏程序400中预先设定的报告模式(S186)。与游戏程序400关联的报告模式在记录媒体RM的流通后是可变更的。例如从供应商计算机100对DRM计算机200通知游戏ID和新的报告模式,要求游戏信息数据库250的更新。
最后DRM计算机200根据报告模式、对话ID的接收预定时刻和实际的接收时刻的时间偏差量、将来的预测负载状态,计算新的报告周期,从而监视效率变为最大(S187)。
例如在销售新的有人气的游戏程序时,该游戏程序的用户数急剧增加。因此,进行基于在线的周期的简易认证的DRM计算机200的负载增大。把报告周期设定得越短,对于非法使用的安全性越提高,但是相反,DRM计算机200的负载也增大。如果过分重视安全性,报告周期设定得很短,则DRM计算机200的响应性下降,有可能引起功能停止。因此,象销售新的有人气的游戏程序时那样负载暂时增大时,控制为报告周期增加。
DRM计算机200能设定报告周期(监视定时),从而在监视优先模式时,在不引起功能停止的范围中能取得最大限度的安全性。而在负载减轻模式时,DRM计算机200能设定报告周期,从而能维持最低限度的安全性。
以上是一例,在负载状态的预测和报告周期的设定等中能采用各种算法。
下面,图12是表示基于游戏管理器500和监视程序600的相互监视的处理的程序流程图。在本实施例中,游戏管理器500和监视程序600除了作为公共的监视对象,分别监视游戏程序400的工作状态,还相互作为监视对象,定期监视。如果从外部监视DRM计算机200和游戏管理器500之间的定期的在线认证,就能把基于游戏管理器500和监视程序600的相互监视与在内部的监视对位。
如果先说明游戏管理器500的监视处理,则游戏管理器500判定预先设定的监视时期是否到来(S201)。希望把监视时期设定为比较短的周期。如果监视时期到达(S201:YES),则游戏管理器500确认监视程序600的工作状态(S203),判定监视程序600是否正常工作(S203)。
当监视程序600正常工作时(S203:YES),接着游戏管理器500确认游戏程序400的工作状态(S204),判定游戏程序400是否正常工作(S205)。当游戏程序400正常工作时(S205:YES),游戏管理器500待机直到下一监视时期到来(S201)。
而当监视程序600停止工作时(S203:NO),或者游戏程序400停止工作时(S205:NO),游戏管理器500转移到强制停止处理(S206~S208)。
即游戏管理器500使游戏程序400和监视程序600双方的动作停止后(S206、S207),也使游戏管理器自身停止(S208)。当游戏程序400的动作停止时,立刻从用户计算机300的存储器删除破坏译码的游戏程序400。
须指出的是,有关已经停止的程序,没必要重新命令停止。例如当确认游戏程序400的动作停止,转移到强制停止处理时,没必要重新指示游戏程序400的动作停止。同样,当确认监视程序600的动作停止,转移到强制停止处理时,没必要重新指示监视程序600的动作停止。但是,为了慎重起见,可以对游戏程序400和监视程序600双方命令动作停止。
监视程序600的处理也同样。如果监视视器到来(S221:YES),监视程序600就分别监视游戏管理器500和游戏程序400的工作状态(S222~S225),当任意一方停止工作时(S223:NO或S225:NO),转移到强制停止处理,停止全部程序(S226~S228)。
游戏管理器500和监视程序600等多个动作监视用程序监视游戏程序400的工作状态的同时,分别监视彼此,所以能更可靠地检测游戏程序400的动作停止。另外,当一方的动作监视用程序有意停止时,另一方的动作监视用程序进行全体的关闭,所以能防止非法复制用户计算机300的存储器上展开的游戏程序400。
如上所述,根据本实施例,在控制游戏程序400的动作的游戏管理器500和进行执照认证的DRM计算机200,进行定期的在线认证,所以能提高对非法使用的耐久性。
此外通过对话ID的比较,进行定期的在线认证,所以以比较简易的处理完成。因此,不增大计算机负载,能以比较短的周期进行简单的认证,跨长时间能维持安全性。
根据DRM计算机200的负载状态,动态控制进行基于在线的简易认证的定时(报告周期),所以考虑网络流量和计算机负载等,能实现更高的安全性。
另外,准备游戏管理器500和监视程序600等2种分别独立的动作监视用程序,不仅游戏程序400的工作状态,也进行相互的监视,当有关游戏程序400、游戏管理器500、监视程序600的任意一个,停止工作时,剩下的2个程序的动作也停止,删除游戏程序400,使其无力化,所以能阻止非法读出复制存储器上展开的游戏程序400的行为,能进一步提高可靠性。
图13表示本发明的另一其他实施例。本实施例在实施例1中,实现基于多个监视用程序的相互监视、与监视用计算机之间的定期在线认证。
在本实施例中,从发送用计算机10向用户计算机30发送游戏程序40和执行控制程序50A和监视程序60。
执行控制程序50A除了上述的执行控制程序50的结构和作用,还具有上述的游戏管理器500执行的定期简易在线认证功能和监视功能。另外,监视程序60具有与上述的监视程序600同样的监视功能。
执行控制程序50A通过最初的用户认证进行游戏程序40的译码。另外,执行控制程序50A通过对认证用计算机20定期发送对话ID,在游戏程序40的执行中也进行用户认证。执行控制程序50A在用户认证成功时,允许游戏程序40的继续执行,当用户认证失败时,强制结束游戏程序40。
另外,执行控制程序50A和监视程序60在监视游戏程序40的起动状态的同时,也彼此监视。而且,游戏程序40、执行控制程序50A和监视程序60中的任意一个程序结束时,执行控制程序50A或监视程序60检测到它,使剩下的程序和自身结束。
须指出的是,上述本发明的各实施例只是用于说明本发明的例示,并不表示把本发明的范围限定在实施例中。本领域技术人员在不脱离本发明的宗旨的前提下,能以其他各种各样的形态来实施本发明。

Claims (24)

1.一种软件执行控制系统,把安装在用户计算机上的第一软件更新为第二软件,其特征在于包括:
发送部,把进行了编码的所述第二软件和用于控制该第二软件的执行的执行控制程序通过通信网络发送给所述用户计算机;和
认证部,根据来自所述用户计算机上安装的所述执行控制程序的要求进行用户认证,当确认为正当的用户时,把为了将所述第二软件译码后起动所需的给定信息通过所述通信网络发送给所述执行控制程序,
所述第二软件只能用从所述执行控制程序传来的起动信息起动;
所述执行控制程序的构成为:
(1)根据从所述认证部接收到的所述给定信息,对所述进行了编码的第二软件进行译码,把所述第一软件置换为译码后的所述第二软件;
(2)根据所述给定信息生成起动信息,据此使所述第二软件起动;
(3)在所述第二软件的执行结束时,使所述第二软件无力化。
2.根据权利要求1所述的软件执行控制系统,其特征在于:
所述执行控制程序能对应于多种第二软件;
在所述认证部发送给所述执行控制程序的所述给定信息中包含有起动的第二软件的存储目标地址信息、为了对第二软件进行译码并使其起动所使用的参数和用于对第二软件进行译码的译码键信息。
3.根据权利要求1所述的软件执行控制系统,其特征在于:
所述执行控制程序把包含所述用户计算机所固有的机器信息和加密键信息的认证用信息发送给所述认证部;
所述认证部至少根据所述机器信息进行用户认证,当确认为正当的用户时,用所述加密键信息对所述给定信息进行加密并通过所述通信网络发送给所述执行控制程序;
并且,在所述认证部中能登记多个所述机器信息。
4.根据权利要求1所述的软件执行控制系统,其特征在于:
所述认证部在确认为正当的用户时,把该用户能起动的第二软件的列表数据发送给所述用户计算机,把从所述列表数据中选择的有关第二软件的所述给定信息通过所述通信网络发送给所述执行控制程序。
5.根据权利要求1所述的软件执行控制系统,其特征在于:
所述执行控制程序在所述用户计算机上实现以下功能:
取得所述用户计算机所固有的机器信息的功能;
生成加密键信息的功能;
向所述认证部要求用户认证,至少把所述机器信息和所述加密键信息发送给所述认证部的功能;
使用户从由所述认证部接收到的可起动的第二软件的列表数据中选择任意一个第二软件,并把所选择的第二软件通知给所述认证部的功能;
接收把所述选择后的第二软件的所述用户计算机上的存储目标地址信息、为了对第二软件进行译码并使其起动所使用的参数和译码键信息至少通过所述加密键信息进行加密而形成的给定信息的功能;
至少通过所述加密键信息对所述加密后的给定信息进行译码的功能;
通过所述译码后的译码键信息对所述用户计算机内的第二软件进行译码的功能;
根据所述译码后的、为了对第二软件进行译码后使其起动所使用的参数和所述存储目标地址信息,来生成所述起动信息的功能;
通过所述生成后的起动信息来起动所述译码后的第二软件的功能;
监视所述起动后的第二软件的执行状态,当该第二软件的执行结束时,使所述第二软件无力化的功能。
6.根据权利要求1所述的软件执行控制系统,其特征在于:
所述第二软件包含有程序和附带数据群,更新所述程序或所述附带数据群的至少某一方。
7.根据权利要求1所述的软件执行控制系统,其特征在于:
安装在所述用户计算机上的所述第一软件在置换为所述第二软件之前,不接受基于所述认证部的认证就能执行。
8.根据权利要求1所述的软件执行控制系统,其特征在于:
所述执行控制程序在所述第二软件的执行结束时,通过删除所述第二软件的全部或一部分来使其无力化。
9.根据权利要求1所述的软件执行控制系统,其特征在于:
所述第二软件包含程序和附带数据群;
所述执行控制程序在所述第二软件的执行结束时,一面保存所述第二软件的编码数据,一面仅使在所述译码后的第二软件中的所述程序无力化。
10.根据权利要求1所述的软件执行控制系统,其特征在于:
所述执行控制程序与所述第二软件不同地构成作为不能强制结束的程序。
11.根据权利要求1所述的软件执行控制系统,其特征在于:
所述发送部和所述认证部分别在不同的计算机上实现。
12.根据权利要求1所述的软件执行控制系统,其特征在于:
所述执行控制程序在所述第二软件的执行中,与所述认证部之间进行定期或不定期的用户认证,当该用户认证失败时,就强制性地使所述第二软件结束。
13.根据权利要求12所述的软件执行控制系统,其特征在于:
所述第二软件的执行中进行的定期或不定期的用户认证,考虑预测的将来的认证用计算机的负载状态,可以进行控制。
14.根据权利要求1所述的软件执行控制系统,其特征在于:
所述发送部把所述第二软件、所述执行控制程序与监视程序一起发送给所述用户计算机;
所述监视程序分别监视所述第二软件和所述执行控制程序的工作状态,当所述第二软件或所述执行控制程序的某一方停止工作时,分别使所述第二软件和所述执行控制程序停止,也使其自身停止;
所述执行控制程序分别监视所述第二软件和所述监视程序的工作状态,当所述第二软件或所述监视程序的某一方停止工作时,分别使所述第二软件和所述监视程序停止,也使其自身停止。
15.一种软件的更新方法,其特征在于包含:
向用户通知能把安装在用户计算机上的能自由使用的第一软件更新为第二软件的意思的步骤;
通过通信网络把所述用户计算机连接到发送所述第二软件的发送用计算机上,要求向所述第二软件的更新的步骤;
从所述发送用计算机把进行了编码的所述第二软件和用于控制该第二软件的执行的执行控制程序通过通信网络发送给所述用户计算机的步骤;
通过在所述用户计算机上起动的所述执行控制程序,使所述用户计算机和认证用计算机通过通信网络连接,对所述认证用计算机要求用户认证的步骤;
当通过所述用户认证确认为正当的用户时,根据从所述认证用计算机发送给所述用户计算机的给定信息,来对所述第二软件进行译码的步骤;
根据从所述认证用计算机接收到的所述给定信息,来生成用于起动所述第二软件的起动信息的步骤;
通过所述生成后的起动信息使所述第二软件起动的步骤;和
监视所述起动的第二软件的执行,当所述第二软件的执行结束时,使所述第二软件无力化的步骤。
16.一种计算机,其特征在于包括:
认证部,根据来自与置换为第一软件的第二软件一起安装在用户计算机上的执行控制程序的要求来进行用户认证;和
信息发送部,当由所述认证部确认为是正当的用户时,把为了对所述第二软件进行译码后起动所需的给定信息发送给所述执行控制程序,
所述第二软件只能由从所述执行控制程序传来的起动信息起动;
所述执行控制程序的构成为:
(1)根据从所述认证部接收到的所述给定信息,对所述进行了编码的第二软件进行译码,置换为所述第一软件;
(2)根据所述给定信息来生成起动信息,使所述第二软件起动;
(3)在所述第二软件的执行结束时,使所述第二软件无力化。
17.一种管理用计算机,通过与和应用程序及监视程序一起安装在用户计算机上的执行控制程序进行通信,来控制所述执行控制程序的动作,其特征在于包括:
认证部,根据来自所述执行控制程序的要求来进行用户认证;
信息发送部,当由所述认证部确认为是正当的用户时,把所述执行控制程序为了起动所述应用软件所需的第一信息发送给所述执行控制程序;和
继续执行管理部,根据在给定时期与所述执行控制程序之间进行的继续确认通信,来管理是否允许所述应用软件的继续执行。
18.根据权利要求17所述的管理用计算机,其特征在于:
所述继续执行管理部比较通过所述继续确认通信从所述执行控制程序取得的第一识别信息和预先与所述用户认证关联的第二识别信息,当双方的识别信息对应时,对于所述执行控制程序允许所述应用软件的继续执行,当所述各识别信息不对应时,对于所述执行控制程序禁止所述应用软件的继续执行。
19.根据权利要求18所述的管理用计算机,其特征在于:
所述继续执行管理部预先在所述执行控制程序中设定与所述第二识别信息对应的所述第一识别信息。
20.根据权利要求17所述的管理用计算机,其特征在于:
所述继续执行管理部预先在所述执行控制程序中设定所述给定时期,当该预先设定的给定时期到来时,从所述执行控制程序对所述继续执行管理部进行所述继续确认通信。
21.根据权利要求17所述的管理用计算机,其特征在于:
所述继续执行管理部能可变地设定所述给定时期。
22.根据权利要求21所述的管理用计算机,其特征在于:
所述继续执行管理部考虑预测的将来的负载状态,能可变地设定所述给定时期。
23.根据权利要求17所述的管理用计算机,其特征在于:
所述监视程序分别监视所述应用软件和所述执行控制程序的工作状态,当停止所述应用软件或执行控制程序的某一方时,分别使所述应用软件和所述执行控制程序停止,也使其自身停止;
所述执行控制程序分别监视所述应用软件和所述监视程序的工作状态,当所述应用软件或所述监视程序的某一方停止工作时,分别使所述应用软件和所述监视程序停止,也使其自身停止。
24.一种软件执行控制系统,具有执行应用软件的用户计算机和管理所述应用软件的执行的管理用计算机,其特征在于:
在所述用户计算机中设置:
执行控制部,用于控制所述应用软件的执行;和
监视部,用于监视所述应用软件和所述执行控制程序的动作,
在所述管理用计算机中设置:
认证部,根据来自所述执行控制程序的要求来进行用户认证;
信息发送部,当由所述认证部确认为是正当的用户时,把为了所述执行控制部起动所述应用软件所需的第一信息发送给所述执行控制部;和
继续执行管理部,根据在给定时期与所述执行控制部之间进行的继续确认通信,来管理是否允许所述应用软件的继续执行。
CNB200380105688XA 2002-12-11 2003-12-10 软件执行控制系统 Expired - Fee Related CN1333314C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002359597 2002-12-11
JP359597/2002 2002-12-11

Publications (2)

Publication Number Publication Date
CN1723426A CN1723426A (zh) 2006-01-18
CN1333314C true CN1333314C (zh) 2007-08-22

Family

ID=32500944

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB200380105688XA Expired - Fee Related CN1333314C (zh) 2002-12-11 2003-12-10 软件执行控制系统

Country Status (5)

Country Link
US (1) US7484207B2 (zh)
JP (2) JPWO2004053666A1 (zh)
CN (1) CN1333314C (zh)
AU (1) AU2003289301A1 (zh)
WO (1) WO2004053666A1 (zh)

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9267144B2 (en) * 2002-01-23 2016-02-23 Monsanto Technology Llc Plastid transformation of maize
FR2849704A1 (fr) * 2003-01-02 2004-07-09 Thomson Licensing Sa Dispositifs et procedes de decision conditionnelle d'execution de services recus et de constitution de messages d'informations associes a des services, et produits associes
DE10360535B4 (de) * 2003-12-22 2006-01-12 Fujitsu Siemens Computers Gmbh Einrichtung und Verfahren zur Steuerung und Kontrolle von Überwachungsdetektoren in einem Knoten eines Clustersystems
US7647647B2 (en) * 2004-08-05 2010-01-12 International Business Machines Corporation System, method and program product for temporally authorizing program execution
JP4539240B2 (ja) * 2004-09-01 2010-09-08 日本電気株式会社 ファイル管理システム、およびファイル管理サーバ
US8819639B2 (en) * 2004-09-15 2014-08-26 Lakeside Software, Inc. System for selectively blocking execution of applications on a computer system
US7950061B2 (en) * 2004-10-22 2011-05-24 Om Ahuja Copy-protected audio, video and or data optical disk
WO2006072994A1 (ja) * 2005-01-07 2006-07-13 Systemk Corporation ネットワークカメラへのログイン認証システム
EP1688834A3 (en) * 2005-02-03 2009-01-14 LG Electronics Inc. Video device having software upgrade function using wireless communication and method for controlling the same
WO2006089411A1 (en) * 2005-02-22 2006-08-31 Connectif Solutions Inc. Distributed asset management system and method
US7730525B2 (en) * 2005-06-22 2010-06-01 International Business Machines Corporation Method, system, and computer program product for limiting authorization of an executable action to an application session
KR100724935B1 (ko) * 2005-09-15 2007-06-04 삼성전자주식회사 컨텐츠 보호를 위한 개체 간 연동 방법 및 장치, 그리고 그시스템
NO325438B1 (no) * 2005-12-22 2008-05-05 World Medical Ct Holding Sa Fremgangsmate for sikker overforing av medisinsk data til en mobil enhet/terminal
US20070219909A1 (en) * 2006-03-14 2007-09-20 Robert Hardacker System and method for automatically updating timed DRM keys
US7967682B2 (en) 2006-04-12 2011-06-28 Bally Gaming, Inc. Wireless gaming environment
US8301753B1 (en) 2006-06-27 2012-10-30 Nosadia Pass Nv, Limited Liability Company Endpoint activity logging
US7668954B1 (en) * 2006-06-27 2010-02-23 Stephen Waller Melvin Unique identifier validation
JP4048382B1 (ja) 2006-09-01 2008-02-20 富士ゼロックス株式会社 情報処理システムおよびプログラム
JP2008084233A (ja) * 2006-09-29 2008-04-10 Fuji Xerox Co Ltd 情報処理システムおよび情報処理プログラム
US9101820B2 (en) 2006-11-09 2015-08-11 Bally Gaming, Inc. System, method and apparatus to produce decks for and operate games played with playing cards
US8631501B2 (en) 2006-11-10 2014-01-14 Bally Gaming, Inc. Reporting function in gaming system environment
US8920233B2 (en) * 2006-11-10 2014-12-30 Bally Gaming, Inc. Assignment template and assignment bundle in a gaming configuration and download system
US9275512B2 (en) 2006-11-10 2016-03-01 Bally Gaming, Inc. Secure communications in gaming system
US20080153600A1 (en) * 2006-11-10 2008-06-26 Bally Gaming, Inc. Gaming system configuration change reporting
US9111078B2 (en) 2006-11-10 2015-08-18 Bally Gaming, Inc. Package manager service in gaming system
US8784212B2 (en) * 2006-11-10 2014-07-22 Bally Gaming, Inc. Networked gaming environment employing different classes of gaming machines
US20080171588A1 (en) * 2006-11-10 2008-07-17 Bally Gaming, Inc. Download and configuration server-based system and method with structured data
US8347280B2 (en) * 2006-11-13 2013-01-01 Bally Gaming, Inc. System and method for validating download or configuration assignment for an EGM or EGM collection
US9082258B2 (en) 2006-11-13 2015-07-14 Bally Gaming, Inc. Method and system for providing download and configuration job progress tracking and display via host user interface
US8930461B2 (en) 2006-11-13 2015-01-06 Bally Gaming, Inc. Download and configuration management engine for gaming system
KR101368327B1 (ko) * 2006-12-22 2014-02-26 삼성전자주식회사 프로그램 실행흐름 보고 시스템 및 방법
US8056070B2 (en) * 2007-01-10 2011-11-08 Goller Michael D System and method for modifying and updating a speech recognition program
US9613487B2 (en) 2007-11-02 2017-04-04 Bally Gaming, Inc. Game related systems, methods, and articles that combine virtual and physical elements
US8616958B2 (en) 2007-11-12 2013-12-31 Bally Gaming, Inc. Discovery method and system for dynamically locating networked gaming components and resources
US8725790B2 (en) * 2007-12-12 2014-05-13 Big Fish Games, Inc. Multiple application activation
US20090275374A1 (en) * 2008-04-30 2009-11-05 Bally Gaming, Inc. Tournament play in a gaming property
US9483911B2 (en) * 2008-04-30 2016-11-01 Bally Gaming, Inc. Information distribution in gaming networks
US8856657B2 (en) 2008-04-30 2014-10-07 Bally Gaming, Inc. User interface for managing network download and configuration tasks
US9005034B2 (en) * 2008-04-30 2015-04-14 Bally Gaming, Inc. Systems and methods for out-of-band gaming machine management
US9443377B2 (en) * 2008-05-30 2016-09-13 Bally Gaming, Inc. Web pages for gaming devices
JP4548524B2 (ja) * 2008-07-29 2010-09-22 ソニー株式会社 通信装置、プログラム、通信方法および通信システム
KR101331032B1 (ko) 2008-07-30 2013-11-19 삼성전자주식회사 가상화 환경과 결합된 어플리케이션 실행 방법
US8266213B2 (en) 2008-11-14 2012-09-11 Bally Gaming, Inc. Apparatus, method, and system to provide a multiple processor architecture for server-based gaming
JP5494496B2 (ja) * 2009-01-28 2014-05-14 日本電気株式会社 シンクライアント−サーバシステム、シンクライアント端末、データ管理方法及びコンピュータ読み取り可能な記録媒体
JP2010183506A (ja) * 2009-02-09 2010-08-19 Nippon Telegr & Teleph Corp <Ntt> マルチキャスト通信システム、ルーティング装置、認証サーバ装置、ルーティング装置用プログラム、認証サーバ装置用プログラム、並びにルーティング方法および認証方法
US9424399B2 (en) 2009-05-12 2016-08-23 Microsoft Technology Licensing, Llc Availability of permission models in roaming environments
US20100293536A1 (en) * 2009-05-12 2010-11-18 Microsoft Corporation Enhanced product functionality based on user identification
JP2010282529A (ja) * 2009-06-08 2010-12-16 Konami Digital Entertainment Co Ltd インストールシステム、サーバ装置、インストール方法、ならびに、サーバプログラム
US20100318987A1 (en) * 2009-06-15 2010-12-16 Microsoft Corporation Bootstrapping streamed and virtualized applications
US8959508B2 (en) * 2009-06-15 2015-02-17 Microsoft Technology Licensing, Llc Mitigating user interruption for partially downloaded streamed and virtualized applications
GB0910327D0 (en) * 2009-06-16 2009-07-29 Antix Labs Ltd Rights managed distributable software
JP5551899B2 (ja) * 2009-07-14 2014-07-16 任天堂株式会社 情報処理システム、情報処理装置、情報処理プログラム
US20110083188A1 (en) * 2009-10-07 2011-04-07 Om Ahuja Virus, trojan, worm and copy protection of audio, video, digital and multimedia, executable files and such installable programs
JP5511506B2 (ja) * 2010-05-25 2014-06-04 インターナショナル・ビジネス・マシーンズ・コーポレーション 所定のリソースを監視する監視プログラムの強制終了攻撃に対する耐性を有する装置、所定のリソースを監視する監視プログラムの強制終了攻撃に対する耐性を付与する方法及び該方法を装置で実行することが可能なコンピュータプログラム
JP5449044B2 (ja) * 2010-06-10 2014-03-19 シャープ株式会社 サーバ装置、端末装置およびアプリケーション制御システム
JP2012190268A (ja) * 2011-03-10 2012-10-04 Dainippon Printing Co Ltd コンテンツ利用端末、コンテンツ管理システム、コンテンツ管理方法、コンテンツ管理プログラムおよびサーバ装置
US9058716B2 (en) 2011-06-06 2015-06-16 Bally Gaming, Inc. Remote game play in a wireless gaming environment
US8683457B1 (en) * 2011-06-17 2014-03-25 Western Digital Technologies, Inc. Updating firmware of an electronic device by storing a version identifier in a separate header
US20130167223A1 (en) * 2011-12-27 2013-06-27 Symbol Technologies, Inc. Methods and apparatus for securing a software application on a mobile device
US8914790B2 (en) 2012-01-11 2014-12-16 Microsoft Corporation Contextual solicitation in a starter application
US9120007B2 (en) 2012-01-18 2015-09-01 Bally Gaming, Inc. Network gaming architecture, gaming systems, and related methods
US8974305B2 (en) 2012-01-18 2015-03-10 Bally Gaming, Inc. Network gaming architecture, gaming systems, and related methods
US20130254553A1 (en) * 2012-03-24 2013-09-26 Paul L. Greene Digital data authentication and security system
CN103377350A (zh) * 2012-04-23 2013-10-30 合肥科盛微电子科技有限公司 利用硬件加密模块实现嵌入式软件的代码保护的方法和装置
JP5545325B2 (ja) * 2012-07-13 2014-07-09 株式会社セガ サーバ装置、サーバプログラム、および、ゲームプログラム
JP6225426B2 (ja) * 2013-01-16 2017-11-08 富士通株式会社 情報資源保護プログラム、及び情報資源保護方法
JP5977305B2 (ja) * 2014-10-17 2016-08-24 グリー株式会社 サーバ装置の制御方法、サーバ装置、及びプログラム
US10438170B2 (en) * 2017-01-05 2019-10-08 International Business Machines Corporation Blockchain for program code credit and programmer contribution in a collective
JP6808157B2 (ja) 2017-03-15 2021-01-06 株式会社コナミデジタルエンタテインメント サーバ装置、及びそれに用いられるコンピュータプログラム
JP6767308B2 (ja) * 2017-05-23 2020-10-14 ファナック株式会社 機械と相互通信可能に接続される機械制御用コンピュータ、機械システム、ベースソフトウェア、コンピュータ読取可能な記録媒体、データ構造、及び機械制御方法
JP7238632B2 (ja) * 2019-06-26 2023-03-14 オムロン株式会社 制御システム、制御装置、および管理方法
US11397793B2 (en) * 2019-12-03 2022-07-26 Microsoft Technology Licensing, Llc Delivering digital content for an application
CN114840859B (zh) * 2021-12-21 2023-03-24 许磊 一种通用数据的流媒体化系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH086784A (ja) * 1994-06-15 1996-01-12 Nippon Telegr & Teleph Corp <Ntt> ソフトウェア/著作物の無断複製使用防止システムおよび無断複製使用防止処理方法
JPH10133869A (ja) * 1996-10-30 1998-05-22 Shinichiro Ogawa ソフトウエア製品の流通方法
WO2000072119A2 (en) * 1999-05-05 2000-11-30 Rabin Michael O Methods and apparatus for protecting information
JP2001084137A (ja) * 1999-09-14 2001-03-30 Matsushita Electric Ind Co Ltd ライセンス管理装置およびライセンス管理方法
JP2002229660A (ja) * 2001-01-31 2002-08-16 Toshiba Corp ソフトウェア流通管理システム、ソフトウェア流通管理方法、ソフトウェア使用管理アプレット、ソフトウェア使用管理アプレットを記録した媒体及びソフトウェア流通管理サーバ

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5390256A (en) 1991-01-08 1995-02-14 Dolby Laboratories Licensing Corporation Dynamic loader
US5724425A (en) * 1994-06-10 1998-03-03 Sun Microsystems, Inc. Method and apparatus for enhancing software security and distributing software
US5845077A (en) * 1995-11-27 1998-12-01 Microsoft Corporation Method and system for identifying and obtaining computer software from a remote computer
JPH10177473A (ja) * 1996-12-18 1998-06-30 Japan Airlines Co Ltd コンピュータ・プログラムのインストール方法及びシステム
JP3623347B2 (ja) * 1997-09-11 2005-02-23 三菱電機株式会社 デジタルコンテンツ配布システム装置
AU3722399A (en) * 1998-05-06 1999-11-23 Jcp Computer Services Ltd Processing apparatus and method
US6725260B1 (en) * 1998-09-11 2004-04-20 L.V. Partners, L.P. Method and apparatus for configuring configurable equipment with configuration information received from a remote location
US6889376B1 (en) * 1999-05-12 2005-05-03 Treetop Ventures, Llc Method for migrating from one computer to another
US7062765B1 (en) * 1999-05-25 2006-06-13 Realnetworks, Inc. System and method for updating information via a network
US6453469B1 (en) * 1999-06-18 2002-09-17 Phoenix Technologies Ltd. Method and apparatus to automatically deinstall an application module when not functioning
JP2001100989A (ja) * 1999-09-30 2001-04-13 Casio Comput Co Ltd データ通信装置、データ通信システム、及び記憶媒体
JP3578266B2 (ja) * 2000-01-06 2004-10-20 インターナショナル・ビジネス・マシーンズ・コーポレーション アプリケーションの起動方法、アプリケーションの起動のためのソフトウエア・プロダクト
JP2001337732A (ja) * 2000-05-25 2001-12-07 Infotekku Kk コンピューターソフトウエアの利用認証方法
JP2002163578A (ja) * 2000-08-21 2002-06-07 Credist Inc ソフトウェア貸し出しシステム及び、ソフトウェア貸し出し方法並びに、ソフトウェア貸し出しシステム用のコンピュータプログラム
US6832373B2 (en) * 2000-11-17 2004-12-14 Bitfone Corporation System and method for updating and distributing information
JP2001216041A (ja) * 2000-12-22 2001-08-10 Sakura Consulting:Kk ソフトウェア製品の流通方法
JP3483540B2 (ja) * 2001-04-23 2004-01-06 富士通株式会社 ソフトウェア流通システムにおける識別子管理装置及び方法
KR100614433B1 (ko) * 2001-05-14 2006-08-22 엔티티 도꼬모 인코퍼레이티드 애플리케이션 관리 서버, 이동 단말 및 애플리케이션 관리 방법
JP2002351564A (ja) * 2001-05-22 2002-12-06 Ntt Communications Kk アプリケーション提供サービスのための装置及び方法並びにプログラム
US7055067B2 (en) * 2002-02-21 2006-05-30 Siemens Medical Solutions Health Services Corporation System for creating, storing, and using customizable software test procedures
US7260557B2 (en) * 2003-02-27 2007-08-21 Avaya Technology Corp. Method and apparatus for license distribution
US7203745B2 (en) * 2003-05-29 2007-04-10 Akamai Technologies, Inc. Method of scheduling hosts for software updates in a distributed computer network
US7222339B2 (en) * 2003-06-13 2007-05-22 Intel Corporation Method for distributed update of firmware across a clustered platform infrastructure

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH086784A (ja) * 1994-06-15 1996-01-12 Nippon Telegr & Teleph Corp <Ntt> ソフトウェア/著作物の無断複製使用防止システムおよび無断複製使用防止処理方法
JPH10133869A (ja) * 1996-10-30 1998-05-22 Shinichiro Ogawa ソフトウエア製品の流通方法
WO2000072119A2 (en) * 1999-05-05 2000-11-30 Rabin Michael O Methods and apparatus for protecting information
JP2001084137A (ja) * 1999-09-14 2001-03-30 Matsushita Electric Ind Co Ltd ライセンス管理装置およびライセンス管理方法
JP2002229660A (ja) * 2001-01-31 2002-08-16 Toshiba Corp ソフトウェア流通管理システム、ソフトウェア流通管理方法、ソフトウェア使用管理アプレット、ソフトウェア使用管理アプレットを記録した媒体及びソフトウェア流通管理サーバ

Also Published As

Publication number Publication date
WO2004053666A1 (ja) 2004-06-24
US7484207B2 (en) 2009-01-27
CN1723426A (zh) 2006-01-18
JP2008262580A (ja) 2008-10-30
US20060117314A1 (en) 2006-06-01
JPWO2004053666A1 (ja) 2006-04-13
JP4701446B2 (ja) 2011-06-15
AU2003289301A1 (en) 2004-06-30

Similar Documents

Publication Publication Date Title
CN1333314C (zh) 软件执行控制系统
US7239708B2 (en) Protecting decrypted compressed content and decrypted decompressed content at a digital rights management client
US7080410B2 (en) Protecting decrypted compressed content and decrypted decompressed content at a digital rights management client
US7080043B2 (en) Content revocation and license modification in a digital rights management (DRM) system on a computing device
US9246916B2 (en) Specifying rights in a digital rights license according to events
US7065507B2 (en) Supervised license acquisition in a digital rights management system on a computing device
US7039615B1 (en) Retail transactions involving digital content in a digital rights management (DRM) system
US7272858B2 (en) Digital rights management (DRM) encryption and data-protection for content on a relatively simple device
US7134144B2 (en) Detecting and responding to a clock rollback in a digital rights management system on a computing device
US7149722B1 (en) Retail transactions involving distributed and super-distributed digital content in a digital rights management (DRM) system
EP2618283A1 (en) Methods and apparatus for protected distribution of applications and media content
JP2004517377A (ja) デジタル資産の制御及び管理
JP4769475B2 (ja) コンテンツ配信用サーバ及びこれを備えたコンテンツ配信システム
US7266691B1 (en) Contents providing system
JPH10214297A (ja) インターネットを利用した会員制サービスシステムおよび方法
CN102004890A (zh) 一种基于网络环境的通用数字版权保护方法
JP2004030617A (ja) インターネットを利用したトランザクションサービスシステムおよびその方法
WO2006006241A1 (ja) コンテンツ配信システム及びランチャー
JP4694242B2 (ja) コンテンツファイル生成装置
JP4694241B2 (ja) コンテンツファイルを記憶したコンピュータ読み取り可能な記録媒体
KR100843256B1 (ko) 콘텐츠 보호 방법 및 시스템
JP2004046448A (ja) 配信データ管理システム及びその方法
JP2004030618A (ja) インターネットを利用したサービスシステムおよびその方法
JP2004005632A (ja) インターネットを利用したリモートインストールシステムおよびその方法
JP2004005633A (ja) インターネットを利用したリモートインストールシステムおよびその方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20090116

Address after: Osaka

Patentee after: KK O'Z

Address before: Tokyo, Japan

Patentee before: Interlex Inc.

ASS Succession or assignment of patent right

Owner name: CO., LTD. O Z

Free format text: FORMER OWNER: XIONGTU INFORMATION CO., LTD.

Effective date: 20090116

ASS Succession or assignment of patent right

Owner name: SATO KENJI

Free format text: FORMER OWNER: OZ CORPORATION

Effective date: 20120329

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20120329

Address after: Tokyo, Japan

Patentee after: Sato Kenji

Address before: Osaka

Patentee before: KK O`Z

C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070822

Termination date: 20131210