CN1409834A - 具有软件保护的电子设备 - Google Patents

具有软件保护的电子设备 Download PDF

Info

Publication number
CN1409834A
CN1409834A CN00817048A CN00817048A CN1409834A CN 1409834 A CN1409834 A CN 1409834A CN 00817048 A CN00817048 A CN 00817048A CN 00817048 A CN00817048 A CN 00817048A CN 1409834 A CN1409834 A CN 1409834A
Authority
CN
China
Prior art keywords
value
software
electronic equipment
functional block
maximum permissible
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.)
Pending
Application number
CN00817048A
Other languages
English (en)
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Publication of CN1409834A publication Critical patent/CN1409834A/zh
Pending 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
    • G06F21/123Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Remote Sensing (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种具有对运行时软件的软件保护的电子设备。运行时软件的至少一个功能块(4…11)具有一个值。在装置(12)中存有可以被读出的对运行时软件的最大允许值;由计算单元(1)确定运行时软件功能块的和值,并当该和值超过最大允许值时,发出指示信号(14)。功能块及值块可以带有一个OEM标识,以便使系统制造商和OEM能够相互独立地实施软件保护。

Description

具有软件保护的电子设备
本发明涉及一种带有软件保护的电子设备。该电子设备具有一个用于执行程序的计算单元,以及用于存储该计算单元的操作系统软件和运行时软件的存储器。
能给软件带来市场效益的前提是相应的保护,以防止用户在即便未获得相应的使用权时,也在多重使用该软件。因此需要有保护软件不被未经允许的使用的技术措施。特别是对通过将不同的功能模块集成在一起构成控制程序的自动化设备,保护其功能模块不被未经允许的多重使用是必要的。这里并不涉及版权保护,如对在个人计算机中常见的许多软件产品的版权保护。防止未经允许的多重使用的保护意味着,只有当用户获得了授权,即当厂商发给许可证时,才能使自动化设备上的软件运行。
防止软件未经允许被多重使用的保护可与电子设备的单义标识(例如序列号)相结合。所述软件设计成只能在目标系统上运行,因此软件只能在该目标系统中被释放调用。但这样做的缺点是,所述保护不能通用,因为目前并不是在所有目标系统中都有序列号,并且当原始目标系统出现故障时,因只与一单个目标系统耦合,故可能很难更换到另一个同样结构的目标系统上。
另一种防止未经允许被多重使用的保护的可能性是,在工程系统中,借助于目标系统的单义标识(如序列号)对在目标系统中安装已加保护的软件进行监视。但这种可能性也可能会被摒弃,因为大多数目标系统都不具有序列号,而当一个目标系统发生故障时,更换另一个构造相同的目标系统也是很困难的。在这种情况下,保护机制的作用仅限于工程系统。因此对工程系统需要采取对软件版权保护的附加措施。
另外被保护的软件还可以与名称说明,如项目名称相关连。这样工程系统就须检查,被保护的软件是否应该用于不同的项目,并在必要时禁止软件在多个项目中的应用。但这种措施若没有其它补充手段,却是不足够的,因为原理上软件在工程系统之外也可以被复制。因此它不能满足更高的保护功能。
另一种可能性是,利用类似于“停止复制”程序的版权保护程序阻止对所保护的运行时软件的复制。这种版权保护必须既可以在工程系统中起作用也可以在目标系统中发挥作用。但对于这样的版权保护由于存在操作的困难,特别是当使用权丢失时,存在一个是否被制造商和用户接受的问题。因此,必须将工程系统软件中的保护机制也应用在目标系统的所有部件上。
本发明要解决的技术问题是,提供一种防止未经允许多重使用软件的具有完全保护功能的电子设备,并由于其软件的良好的可操作性受到制造商和用户的好评。
为解决这一技术问题,本文开始所提到的这种新型电子设备具有权利要求1所述的特征。在权利要求6和7中描述了一种适用于该新型电子设备的装置及功能块。本发明具有优点的其它构型在从属权利要求中给出。
本发明以具有优点的方式使对安装并运行在一个目标系统中的运行时软件的保护成为可能。“运行时软件的功能块”是指系统功能块、标准功能块、用户功能块、借助于图形投影工具(也被称为连续函数图)所产生的功能块、可充值的驱动程序、操作系统附加功能等、以及其它可充值在计算单元上的可选软件模块。
通常对于软件保护有两个方面,一方面是技术保护,另一方面是防止未经允许的多重使用。通过技术保护防止用户阅读或获得软件的源码;通过这种措施对厂商的技术诀窍或软件技术诀窍加以保护。所述技术保护例如在西门子公司的SIMATIC S7自动化系统中,通过技术诀窍保护属性(KNOWHOW-Protect)来实现。由此通过软件功能块实现的技术功能对用户来说就是不可访问的。“运行时软件”是泛指所有那些可以充值并运行在目标系统中的程序。它们可以是系统功能块、用于技术功能的功能块以及操作系统功能块。
使用权限允许用户使用目标系统(例如一个自动化设备)中的软件。软件在目标系统中可以被任意次数地使用。因此所述使用权限只涉及所使用的软件模块的类型,而不涉及由这些模块在运行时软件中所实现的模块实例。软件是根据为其所设置的值而得到保护的。将对目标系统中所使用的被保护软件在总值上是否被存储在一个装置中的最大值所覆盖进行检查。运行时软件在目标系统中只能在使用权限所允许的范围内被使用。只有当在装置中存有相应的等值时,才有可能使用被保护的软件。相对于对关于经营和技术支持的未加保护的软件的管理来说,系统制造商在管理被保护的软件方面所付出的支出是很少的。被保护的软件可以通过不同的途径,如软盘、CD、存储卡或因特网发行。对于用户来说,管理被保护的软件相对于管理未加保护的软件最多只有些微的改变。此外,还可以对被保扩的和未加保护的软件共同进行管理和运行。在软件制造商的技术支持上的开销,节省了在无故障运行时通过用户和制造商之间的热线联系的开销。在软件运行时不必要求注册号或授权号。如果在电子设备中存储的用于运行运行时软件的值(Wertigkeit)是不充足的,则会通过系统向用户发出明确的提示。电子设备的操作系统的不同版本,如更新或升级,不会影响被保护的软件的应用。对于新版本的管理不要求新的保护机制。
所述保护并不限于各软件模块,而是与其值相关。由此对于系统制造商和用户来说,都可使操作明显地变得更简便和灵活,例如,只要使用权限的值是充足的,就可以顺利地更换或补充被保护的软件模块。
软件保护具有优点的方式是,不使硬件部件(通常用Dongle来表示)与某一被保护的软件形成固定的配置对应。这大大简化了用户的操作,因为对于不同的软件模块不一定要使用不同的硬件部件,而且被保护的软件也不是只能在一个目标系统上运行。
此外,保护机制只在被保护的软件运行期间有效。因此在它们在目标系统中使用之前可以作为来加保护的软件使用,例如可以任意次地进行复制。由此可以避免与版权保护有关的问题。所述的值可以直接并灵活地与价格相对应。
一种在其中存储可读的用于运行时软件的最大允许值的装置,被设计成可安装在电子设备中的,或可连接在电子设备上的硬件模块。这样做的优点是,所述值很容易适应软件的改变。此外,无需对电子设备的硬件进行造成开销的访问,就可实现软件保护。当用户要使用被保护的软件时,除了易更换的硬件模块外,并不需要在现有系统部件之外再增加附加的部件。当电子设备的一组组件被更换时,其对于被保护的和未加保护的软件并无区别。在更换各个组件时,迄今所采用的软件仍可不加修改地继续使用。
使用存储卡作为硬件模块由于不需附加的硬件部件在自动化装置中尤其具有优点,因为存储卡本身大都是插入的。更复杂的硬件配置是多余的,因为存储卡可以更简便的方式插入为其设置的槽中。存储卡的安全性足以满足保护功能。制备具有同样有效值的拷贝是不可能的。
其中存有可读的用于运行时软件的最大允许值的装置较为有利地可具有一个单义的标识、尤其是一个序列号,并且所存储的值被构造成可充值的、只对具有相应标识的装置有效的值块。由此通过将另一个具有所需值的值块充值到该装置中就可方便地增加使用权限的值。值块的销售例如可以通过因特网自动进行。对此不需对硬件进行管理。由此可以避免产生所谓的“废值(Wertigkeitsleiche)”。“废值”是指一种其中固定存有最大允许值的装置,而该最大允许值已不再能够满足某项具体的应用,例如由于该项应用在间隙期间补充了其它受保护的软件模块时。由于在没有可再充值的值块的情况下值的增加或者是完全不可能的,或者只能通过该装置的制造商来实施,因此这样的装置对于用户来说变得毫无价值。值块由于其原理上也是功能块,因此可以无缝地与自动化装置的软件环境集成在一起。
当将功能块划分为组时,尤其是按照制造商用相对应的值块分组时,具有这样的优点:通过唯一一个存有各最大允许值的装置对不同制造商的功能块进行保护。原始设备厂商(OEM),即自行编制和发行软件的用户,利用可再充值值块可以独立地、无需通过电子设备制造商的直接支持而对其软件进行保护。对于用户来说,值的给予或增加是直接的、本地的、且与系统制造商或OEM的硬件无关的。例如,无需再寄送一张存有新的最大允许值的新存储卡,因为可以利用数据技术耦连来存储新的值。
下面借助于说明本发明实施方式的附图,对本发明及本发明的实施方式和优点作进一步的描述,其中:
图1为一个具有软件保护的电子设备的框图,
图2为寄存值的装置的框图,
图3为用于寄存值的装置和功能块的工作原理示意图,
图4表示用于建立值块的输入界面,
图5和图6分别表示检查权限是否充分的流程。
图1所示为一个具有计算单元1的电子设备,该计算单元借助于存储器2中的操作系统软件执行存储器3中的面向应用的运行时软件,该运行时软件例如可以适用于自动化装置的各种控制任务。在所示出的实施方式中,所述运行时软件共包含了八个功能块4…11。功能块4、5和6未加保护,因此不具有值。相反,功能块7…11各设有一个原理上表示使用权限的值。因此每个被保护的功能块都配有一个值。一个想使用这些被保护功能块的用户要取得具有一定值的使用权限。该使用权限通过寄存在装置12中的、可读的该运行时软件的最大允许值再次给出。只要被保护软件的总值被其使用权限覆盖,该用户就可以一直使用这些被保护的软件。所述最大允许值与运行时软件一起被存储在存储卡13上。所示实施方式的一种变型是,对用于操作系统软件的存储器也可以使用相同的存储介质。计算单元1借助于存储器2中的操作系统软件检查寄存在装置12中的所有被保护的功能块(即功能块7…11)的总值是否超过所允许的最大值。如果超过,则发生保护冲突,将发出一个会带来预定反应的指示信号14。
图2示出了一个用于实现带有可再充值值块的装置12的存储卡13。序列号21寄存在存储卡13的特征位存储器20的一个存储单元中。该序列号21仅可以由存储卡13的制造商来制定,而不是由用户来制定。该序列号21使该存储卡13可被单义标识。值块22、23和24是专用于制造商的,被存储在存储卡13的自由存储区25。值块22用于该电子设备的制造商;值块23和24用于第一OEM(原始设备制造商)和第二OEM。由此制造商和OEM可以制造自己的值块并向用户发放自己的使用权限。此外,在存储卡13的自由存储区25中还存有运行时软件,在图2中为了清楚起见未示出。值块在软件结构上与功能块相同,因此可以象使用功能块那样使用值块。但它们不具有可执行的程序代码。值块22、23和24的有效性只有在其与特定的序列号21相结合时才存在。
图3示出了序列号、值块和被保护的功能块之间的相关性。例如被保护的功能块30包含一个由可读的制造商名称和隐藏的用户密码构成的制造商标识31。因此制造商标识还必须作为制造商标识38存在于值块32中,以便使该值块32单义地与功能块30的制造商相对应。在值块32中用户仍不能访问的是序列号33和最大允许值34。值块32的唯一性通过序列号33得以保障,即该值块只有当一个装置在特征位存储器35中的序列号37与值块32中的序列号33相一致时,才能被其有效占用。通过检查序列号33和37的一致性避免了对值块的多重使用。此外,在功能块30中还有一个值36,即存储的用户不可写的、该功能块30的一个值。一个制造商的所有被保护的功能块的总值须用相应制造商的值块32中的值34掩盖,以具有足够的使用权限。
当用户不能读出值块和被保护功能块的内容时,就不必对数据进行编码。在SIMATIC S7中,通过设置技术诀窍保护属性(KNOWHOW-Protect)可以获得足够的安全性。如果不能在未经允许的访问之前实现足够的保护,则必须对数据进行编码。
图4示出了一种用于建立值块的工具的服务界面。OEM可以自由选择图4中用OEM-标识标记的制造商标识。该标识由两部分组成,可视的部分为OEM名称,在这里为Softy公司,用户可随时看到这一部分,以识别一个值块或一个被保护的软件是由哪个制造商提供的;第二部分是OEM密码,它只为各OEM所知,而对用户是隐秘的。由于只有OEM知道密码,能建立值块,因此避免了误用。此外,在图4所示的输入界面中应填入这里标以MC-序列号的存储卡的序列号,以及值块的值。
按照图5总是可以在电子设备起动时,或在运行中以适当的间隔,在充值软件时检查是否存在足够的使用权限。在存储卡50上寄存有功能块FB和值51。为了检查使用权限,计算单元借助于适当的操作系统软件在步骤52查找控制程序的功能块FB,读出各单个值,并计算总值。在步骤53读出运行时软件的最大允许值51。然后在步骤54对在步骤52确定的总值和最大允许值51进行比较,当该总值超过最大允许值51时,在步骤55发出一个指示信号,并进行进一步的故障处理。否则在步骤56进入常规运行。其中,可以检查存储卡50上的所有被保护的功能块。因此所述检查不依赖于功能块类型的实例是否在运行周期中。在图5中,功能块的错接通过程序锁57表示。所描述的检查是针对各个制造商分别进行的。
下面将对图6的流程图所示的另一种对值进行检查的可能性进行描述。功能块FB在第一次调用一个通过该功能块实现的实例时,将其值和制造商标识写入操作系统的一个表。这一过程相当于流程中的步骤60。当应用程序完整地运行一次之后,就可推断出在该表中包含有全部相关功能块的值和制造商标识。在步骤61将对该表进行分析计算,其中,将这些值按照各制造商的标识分别相加得到一个和值。在步骤62将值63从值块中读出,并在步骤64将其与计算出的和值相比较。如果有足够的使用权限,则进入常规运行65,否则将在步骤66发出一个指示信号,并进行相应的故障处理。这种类型的检查只涉及到相应于在运行时软件运行流程中设置的错接67的功能块FB。
对于图5和图6所描述的变型,所述检查优选在电子设备的计算单元起动的过程中实施。对于在运行过程中允许移去带有存储最大允许值的装置而不受影响的计算单元来说,应另外以适当的时间间隔进行检查。
根据应用的不同对缺少使用权限的处理也不同。例如可以使计算单元在输出指示信号时以降低的效率继续工作。但这有可能造成严重的后果,即计算单元在缺少使用权限的情况下进入停止状态,并因此使该电子设备不能工作。
为了简化在设计、测试、开工以及硬件故障时软件保护的操作,为电子设备的用户提供了两种帮助。一种是,为用户提供一种通用的存储卡,其值块包含值∞。利用这种存储卡所有被保护的块都可以无限制地运行。另一种帮助是,通过向一个工程系统写参数,使电子设备的计算单元的运行方式为“试运行”。在这种方式下不进行值的检查。由此所有被保护的功能块又能不受限制地运行。一段时间之后,如200小时之后,试运行结束,所述保护机制将再次发挥作用。
值块的发行可以例如通过寄送实现。用户可以利用存储卡序列号用书面或电话的方式向制造商订购具有一定值的值块,以使用该制造商的功能块库。所述制造商可以例如是该电子设备的制造商,或是一个OEM厂商。该制造商收到付款后生成一个值块,将其存储在软盘上寄给订购者。
因特网为完全自动化的销售发行提供了另一种可能性。用户进入制造商的服务主页,找到菜单项“订购值块”,输入其姓名、电子邮件地址、存储卡的序列号、所期望的值以及所选择的付款方式,如转帐或信用卡,并提交该预订。制造商一方的服务器根据这些输入自动产生一个值块,并将其通过电子邮件发送给订购者。
作为对于所示实施方式的另一种选择,还可以将在此设计为存储卡的一个Dongle作为硬件钥匙,它可以设置在MPI连接电缆的插头内,或者当没有MPI连接时,将其作为空插头插在MPI接口上。但这种实施变型的缺点是,须开发新的附加硬件部件Dongle。此外,该Dongle还须与MPI接口今后的发展相匹配。
作为对这种可再充值值块的一种变型,还可以在存储卡的特征位寄存器中存储一个不能由软件修改的总值。该总值覆盖系统制造商以及OEM所保护的软件的总值。生产的存储卡具有不同的值,而不同的产品还包含不同的订购号,即对于n个不同的值须生产n种存储卡产品,然后将值分别储进。在这种变型方案中,无法区分系统制造商和OEM,因为对于两者只共同存储有一个总值。由于该值不可事后改变,则会产生如上所述的“废值”。
另一种变型是,将系统制造商和OEM各自固定的和值在存储卡的特征位寄存器中分开存储。由此可以区分系统制造商和OEM的软件保护。生产具有不同值的存储卡,其中,对每一种值的组合都有一个带有订购号的独立产品与之对应。由此使产品数量成倍增加,这些产品都必须被储值。附加地,还可以将OEM标识与各个值相对应。
在另一种变型中提供了一种存储卡,其特征位寄存器具有一个区域,在该区域内可写入用户数据。但该区域只有当所属的程序机制是已知的时才能被访问。在该区域内存入所述值和OEM标识。在这种情况下,一个OEM需要一个具有这种程序机制的特殊程序工具,以便能访问特征寄存器的这一区域。这种程序工具可以作为存储卡制造商提供的工程系统的扩充来实现。在这种变型中,OEM可以自行改变其值和标识。因此只须储值较少的产品种类,并且这种保护需要的成本较低。
与上述实施方式不同,还可以将值块存入电子设备的存储器2或3中,以使装置12中存有可读出的、用于运行时软件的最大允许值的存储区由存储器2或3的一部分替代。在这种情况下,装置12具有一个单义的标识,如一个序列号,并优选地设计成可更换的硬件模块。

Claims (7)

1.一种具有软件保护的电子设备,其具有
-一个用于执行程序的计算单元(1),
-一个在其中存放计算单元(1)的操作系统软件的存储器(2),
-一个在其中存放运行时软件的存储器(3),该运行时软件至少包含一个具有一定值的功能块(7…11),
-一个寄存有可读出的、用于运行时软件的最大允许值的装置(2,3,12),其中,设有用于确定运行时软件的功能块(4…11)的和值及用于当该和值超过最大允许值时输出指示信号(14)的器件。
2.根据权利要求1所述的电子设备,其特征在于,
所述其中存有可读出的、用于运行时软件的最大允许值的装置(12)设计成一个可插入电子设备中或可连接到电子设备上的硬件模块。
3.根据权利要求2所述的电子设备,其特征在于,
所述硬件模块是存储卡。
4.根据上述任一项权利要求所述的电子设备,其特征在于,
设有一个装置(12),它具有一个单义的标识,尤其是一个序列号,以及
所述被寄存的值被设计成可充值的值块(22,23,24),它只对具有相应标识的装置(13)具有有效性。
5.根据权利要求4所述的电子设备,其特征在于,
所述功能块尤其按制造商被划分成组,并且每组功能块分别配置有一个值块(22,23,24),以及
具有用于确定一组功能块的和值及用于当该和值超过各值块的最大允许值时输出指示信号的器件。
6.一种被设计成可插入上述任一项权利要求所述的电子设备中或可连接于该电子设备上的硬件模块,尤其是存储卡的装置,其特征在于,
在该装置中存有用于运行时软件的最大允许值和/或一个单义的标识,尤其是一个序列号,所述最大允许值和/或标识可通过该电子设备读出。
7.一种用在如权利要求1至5中任一项所述的电子设备的运行时软件中的功能块,其特征在于,该功能块设有一个值。
CN00817048A 1999-10-18 2000-10-17 具有软件保护的电子设备 Pending CN1409834A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE19950249A DE19950249C1 (de) 1999-10-18 1999-10-18 Elektronisches Gerät mit Softwareschutz
DE19950249.8 1999-10-18

Publications (1)

Publication Number Publication Date
CN1409834A true CN1409834A (zh) 2003-04-09

Family

ID=7926110

Family Applications (1)

Application Number Title Priority Date Filing Date
CN00817048A Pending CN1409834A (zh) 1999-10-18 2000-10-17 具有软件保护的电子设备

Country Status (6)

Country Link
US (1) US20020129270A1 (zh)
EP (1) EP1226484A2 (zh)
JP (1) JP2003512667A (zh)
CN (1) CN1409834A (zh)
DE (1) DE19950249C1 (zh)
WO (1) WO2001029638A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101339595B (zh) * 2008-05-20 2011-08-10 北京深思洛克软件技术股份有限公司 一种通过使用许可控制软件使用的装置

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001216357A (ja) * 2000-02-01 2001-08-10 Toshiba Corp ソフトウェアのライセンス管理方法および電子機器並びに記録媒体
DE10023820B4 (de) * 2000-05-15 2006-10-19 Siemens Ag Software-Schutzmechanismus
DE10105363B4 (de) * 2001-02-06 2008-01-03 Siemens Gebäudetechnik Bayern GmbH & Co. oHG Speicherprogrammierbare Steuerung
JP2004062610A (ja) * 2002-07-30 2004-02-26 Citizen Watch Co Ltd 工作機械のプログラム不正使用防止装置
US20060267808A1 (en) * 2005-05-24 2006-11-30 Imation Corp. Secure drive system enabled by matching media code
US8091084B1 (en) 2006-04-28 2012-01-03 Parallels Holdings, Ltd. Portable virtual machine
JP5168012B2 (ja) * 2008-07-28 2013-03-21 株式会社ジェイテクト プログラマブルコントローラのプログラム編集装置
DE102009059939A1 (de) * 2009-12-22 2011-06-30 Giesecke & Devrient GmbH, 81677 Verfahren zum Komprimieren von Bezeichnern
US9311457B1 (en) 2011-11-02 2016-04-12 Google Inc. Platform for cloud application software
CN105426705A (zh) * 2015-11-05 2016-03-23 肖月华 一种会计软件的加密控制系统
CN115859389B (zh) * 2023-02-17 2023-04-28 浪潮通用软件有限公司 一种基于私有化部署的软件序列号授权方法及系统

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5339419A (en) * 1990-06-25 1994-08-16 Hewlett-Packard Company ANDF compiler using the HPcode-plus compiler intermediate language
US5551033A (en) * 1991-05-17 1996-08-27 Zenith Data Systems Corporation Apparatus for maintaining one interrupt mask register in conformity with another in a manner invisible to an executing program
US5742848A (en) * 1993-11-16 1998-04-21 Microsoft Corp. System for passing messages between source object and target object utilizing generic code in source object to invoke any member function of target object by executing the same instructions
US5530752A (en) * 1994-02-22 1996-06-25 Convex Computer Corporation Systems and methods for protecting software from unlicensed copying and use
FR2720532B1 (fr) * 1994-05-25 1997-09-12 Vincent Lorphelin Système de location sécurisée de logiciels par carte à mémoire.
US5724425A (en) * 1994-06-10 1998-03-03 Sun Microsystems, Inc. Method and apparatus for enhancing software security and distributing software
US5701343A (en) * 1994-12-01 1997-12-23 Nippon Telegraph & Telephone Corporation Method and system for digital information protection
WO1996018939A2 (en) * 1994-12-16 1996-06-20 Graphisoft R & D Software Development Company Limited By Shares Software usage metering system
ATE419586T1 (de) * 1995-02-13 2009-01-15 Intertrust Tech Corp Systeme und verfahren zur gesicherten transaktionsverwaltung und elektronischem rechtsschutz
US5761499A (en) * 1995-12-21 1998-06-02 Novell, Inc. Method for managing globally distributed software components
US5671412A (en) * 1995-07-28 1997-09-23 Globetrotter Software, Incorporated License management system for software applications
US6026485A (en) * 1996-01-24 2000-02-15 Sun Microsystems, Inc. Instruction folding for a stack-based machine
US20010011253A1 (en) * 1998-08-04 2001-08-02 Christopher D. Coley Automated system for management of licensed software
US5892904A (en) * 1996-12-06 1999-04-06 Microsoft Corporation Code certification for network transmission
US6263492B1 (en) * 1997-06-06 2001-07-17 Microsoft Corporation Run time object layout model with object type that differs from the derived object type in the class structure at design time and the ability to store the optimized run time object layout model
US6643775B1 (en) * 1997-12-05 2003-11-04 Jamama, Llc Use of code obfuscation to inhibit generation of non-use-restricted versions of copy protected software applications
US6134659A (en) * 1998-01-07 2000-10-17 Sprong; Katherine A. Controlled usage software
US6189146B1 (en) * 1998-03-18 2001-02-13 Microsoft Corporation System and method for software licensing
US6665796B1 (en) * 1999-08-18 2003-12-16 Sun Microsystems, Inc. Microprocessor instruction result obfuscation
US6757831B1 (en) * 1999-08-18 2004-06-29 Sun Microsystems, Inc. Logic block used to check instruction buffer configuration
US6675298B1 (en) * 1999-08-18 2004-01-06 Sun Microsystems, Inc. Execution of instructions using op code lengths longer than standard op code lengths to encode data
US6308256B1 (en) * 1999-08-18 2001-10-23 Sun Microsystems, Inc. Secure execution of program instructions provided by network interactions with processor
JP2001222424A (ja) * 2000-02-08 2001-08-17 Fujitsu Ltd ソフトウェアライセンス管理装置,ソフトウェアライセンス管理方法およびソフトウェアライセンス管理用プログラム記録媒体
US7121639B2 (en) * 2002-12-02 2006-10-17 Silverbrook Research Pty Ltd Data rate equalisation to account for relatively different printhead widths

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101339595B (zh) * 2008-05-20 2011-08-10 北京深思洛克软件技术股份有限公司 一种通过使用许可控制软件使用的装置

Also Published As

Publication number Publication date
WO2001029638A3 (de) 2001-11-22
JP2003512667A (ja) 2003-04-02
DE19950249C1 (de) 2001-02-01
US20020129270A1 (en) 2002-09-12
WO2001029638A2 (de) 2001-04-26
EP1226484A2 (de) 2002-07-31

Similar Documents

Publication Publication Date Title
US6029145A (en) Software license verification process and apparatus
Band Interfaces on trial: Intellectual property and interoperability in the global software industry
CN1409834A (zh) 具有软件保护的电子设备
US7945596B2 (en) Programming model for customized data objects
US20090171909A1 (en) Computer-Implemented System for Producing, Processing and Managing Structured Data Sets
CN101485129A (zh) 强制的基于席位的许可
GB2316503A (en) Software licence management
AU2016266031A1 (en) Automated rules-based rights resolution
CN101662557A (zh) 图像形成设备、许可确定方法及记录介质
CN101393528B (zh) 软件动态更新中确定实例对象转换次序的方法及系统
CN103809956A (zh) 自动软件稽核系统及自动软件稽核方法
JPH1124918A (ja) 有償ソフトウェアのライセンス管理方式及び方法
US20220043434A1 (en) Method for Managing a Production Process
US20100010842A1 (en) Computer-Implemented Systems and methods for Producing, Processing and Managing Structured Data Sets
US8694434B1 (en) Techniques for unregistering and transferring software licenses
CN114386920A (zh) 基于数据共享的信息化运行系统及方法
Sung et al. A component-based product data management system
Katritzky et al. CODESSA PRO
US20120240097A1 (en) Method of providing software development services
US20100146598A1 (en) Method, System and Apparatus for Processing Rights
CN1190731C (zh) 基于flash存储介质的产品永久序列码生成方法
Boss et al. Setting up architectural sw health builds in a new product line generation
Xiang et al. Formal digital license language with OTS/CafeOBJ method
CN113869921A (zh) 一种通用的产品防伪追溯信息的处理与记录方法及装置
Dawes et al. OCA/OCP: Introduction to Oracle9i SQL Study Guide: Exam 1Z0-007

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication