CN107251032A - 许可管理方法、适于许可管理的半导体装置及许可管理系统 - Google Patents

许可管理方法、适于许可管理的半导体装置及许可管理系统 Download PDF

Info

Publication number
CN107251032A
CN107251032A CN201580076260.XA CN201580076260A CN107251032A CN 107251032 A CN107251032 A CN 107251032A CN 201580076260 A CN201580076260 A CN 201580076260A CN 107251032 A CN107251032 A CN 107251032A
Authority
CN
China
Prior art keywords
license
software
license management
storage
info
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.)
Granted
Application number
CN201580076260.XA
Other languages
English (en)
Other versions
CN107251032B (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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Publication of CN107251032A publication Critical patent/CN107251032A/zh
Application granted granted Critical
Publication of CN107251032B publication Critical patent/CN107251032B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • 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/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • 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]
    • 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/107License processing; Key processing
    • G06F21/1077Recurrent authorisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • 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/107License processing; Key processing
    • G06F21/1078Logging; Metering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

具备执行软件的执行装置和与执行装置结合的软件存储装置的许可管理方法具备存储表示承诺软件的许可的许可数的许可信息的许可存储装置,具备许可管理工序,在许可管理工序中,在下载被请求承诺许可的软件时,基于存储于许可存储部的许可信息,控制将所下载的软件向所述软件存储装置的保存或由执行装置的执行。

Description

许可管理方法、适于许可管理的半导体装置及许可管理系统
技术领域
本发明涉及许可管理方法、适于许可管理的半导体装置及许可管理系统,特别是涉及软件的许可管理。
背景技术
作为执行软件的半导体装置,例如有微处理器。该情况下,微处理器具备存储软件的存储部和执行软件的处理器。另外,作为使用执行软件的处理器的电子装置,已知有个人电脑、智能手机、电视机、照相机等各种电子装置。为了使这种半导体装置及电子装置进行所希望的动作而存在各种软件。软件大体存在为了使用而被请求取得承诺许可的软件(以下也称作收费软件)、和不需要承诺许可的软件(以下也称作免费软件)。关于请求承诺许可的收费软件,通过支付许可的价值即许可费,允许其使用。
在发布请求承诺许可的收费软件的情况下,需要进行许可的管理。例如,专利文献1中记载有减轻对网络的负担,并且能够简单地管理许可的技术。
现有技术文献
专利文献
专利文献1:日本特开2010-218397号公报
发明内容
在发布请求承诺许可的软件(收费软件)的情况下,由于伴随有许可费的回收,所以为收费发布。在该情况下,要求可靠地进行收费软件的下载及计费管理。另外,期望降低下载收费软件时的用户的麻烦。
本发明人等在本发明之前,对在发布收费软件的情况下回收许可费的系统(以下也称作许可费回收系统)进行了研究。以下,叙述本发明人等研究的三种许可费回收系统。
在第一许可费回收系统中,针对每一个收费软件对应设置可安装的许可数量。该情况下,在发布收费软件的软件发布源,难以管理安装收费软件的用户针对安装有软件的每个装置(半导体装置、电子装置)安装有几个收费软件。因此,针对装置的收费软件的许可管理及许可费的回收很困难,可能产生许可费的漏收。另外,用户预先购买多个许可数量或者支付与装置的制造数量对应的许可费。因此,从用户的角度来看,若许可数多余,则会产生费用的浪费。另外,在根据制造数量支付许可费的情况下,会产生繁杂的处理。
在第二许可费回收系统中,软件发布源与许可数量无关地征收一定的金额来作为许可费回收。该情况下,对于安装收费软件的数;量少的用户,许可费会相对较高。
在第三许可费回收系统中,用户导入管理安装有收费软件的装置的数量等的许可管理装置,将安装数量申告给软件发布源,并且支付与安装数量相对应的许可费。该情况下,特别是用户在量产大量的装置的情况下,许可管理装置的负担增大。因此,作为许可管理装置,要求高速动作的装置,价格高昂。另外,即使导入高速的许可管理装置,当量产装置的数量增加时,因对许可的管理而限制生产的数量,生产效率可能降低。进而,在第三许可费回收系统中,软件发布源需要监视用户所导入的许可管理装置是否被适当运用,对软件发布源也产生负担。
专利文献1中也未公开可靠地实施计费管理,能够降低用户的负担的技术。
其以外的课题和新的特征根据本说明书的记载即附图将变得明了。
本说明书中公开有了多个用于解决的技术方案。在此,仅叙述代表性的解决方案。
一种许可管理方法,其具备执行软件的执行装置、和与执行装置结合的软件存储装置,其中,所述许可管理方法具备存储表示承诺软件的许可的许可数的许可信息的许可存储装置,具备许可管理工序,在许可管理工序中,在下载被请求承诺许可的软件时,基于存储于许可存储装置的许可信息,控制将下载的软件向软件存储装置的保存或由执行装置的执行。
因为基于存储于许可存储装置的许可信息,控制被请求承诺许可的软件向软件存储装置的保存或由执行装置的执行,因此,能够降低软件发布源及用户的许可管理的负担。
发明效果
根据一实施方式,能够提供能够降低许可管理的负担的许可管理方法。
附图说明
图1是表示实施方式1的电子装置的结构的框图。
图2是表示实施方式1的半导体装置的结构的框图。
图3是表示实施方式1的许可管理单元的动作的流程图。
图4是表示实施方式1的许可管理单元的卸载的动作的流程图。
图5是表示实施方式1的许可管理单元的其它卸载的动作的流程图。
图6是表示实施方式2的电子装置的结构的框图。
图7是表示实施方式2的许可管理部的动作的流程图。
图8是表示开发用处理器和量产用处理器的关系的图。
图9是表示实施方式3的许可管理单元的动作的流程图。
图10是表示实施方式4的微处理器的动作的流程图。
图11是说明将实施方式3和实施方式4进行了组合的状态的说明图。
图12是表示实施方式5的半导体装置的结构的框图。
图13是表示实施方式5的软件存储单元的地址空间的说明图。
图14是表示实施方式5的微处理器的容量比率的说明图。
图15是表示实施方式5的许可管理单元的动作的流程图。
图16是表示通过硬件控制实施方式5的软件存储单元的情况下的结构的框图。
图17是表示通过硬件控制实施方式5的软件存储单元的情况下的其它结构的框图。
图18是表示实施方式6的许可管理单元的动作的流程图。
图19是表示实施方式6的通过硬件控制DL应用的执行的情况下的结构的框图。
图20是表示实施方式6的通过硬件控制DL应用的执行的情况下的其它结构的框图。
图21是表示实施方式7的微处理器的动作的概念图。
图22是表示实施方式8的微处理器的动作的概念图。
图23是表示软件的结构的图。
图24是表示实施方式9的许可费回收系统的结构的系统图。
具体实施方式
以下,基于附图详细说明本发明的实施方式。此外,在用于说明实施方式的所有图中,原则对于同一部分标注同一附图标记,且原则上省略其重复的说明。
(实施方式1)
<电子装置>
图1是表示实施方式1的电子装置的结构的框图。图1中,1000表示电子装置。电子装置1000例如是个人电脑、智能手机、打印机、复合机、电视机、照相机等的信息家电。在这些电子装置100中搭载有处理器1001,处理器1001通过执行软件而实现规定的功能。图1中,1002表示与处理器1001结合且保存通过处理器1001执行的软件的软件(以下也称作SW)存储部。在从执行程序的观点观察的情况下,处理器1001能够看作是执行部。
图1中,1003表示保存许可信息的许可存储部,1004表示许可管理部。另外,1005表示配置于电子装置1000的外部的软件提供装置。图1能够看作示出许可管理系统。该情况下,成为许可管理的对象的收费软件由软件提供装置1005向电子装置1000提供。
电子装置1000除上述的处理器1001、软件存储部1002、许可存储部1003及许可管理部1004以外,还具备与各电子装置对应的多个部分。例如,如果是智能手机,则具备与通信相关的收发部等,如果是照相机,则具备自动对焦用的控制部等。但是,图1中,为了避免附图变得复杂,上述的处理器1001、软件存储部1002、许可存储部1003及许可管理部1004以外的部分被省略。
软件提供装置1005被设置于提供软件的软件发布源,经由因特网等通信线路与电子装置1001连接,经由通信线路将收费软件和/或免费软件提供给拥有电子装置1001的用户。
另外,软件提供装置1005例如也可以由光盘再生装置和光盘之类的存储介质构成。该情况下,光盘再生装置例如被设置于拥有电子装置1000的用户侧,通过线缆与电子装置1000连接。另外,在光盘中存储有例如多个收费软件和免费软件。通过利用光盘再生装置再生作为存储介质的光盘,自光盘再生装置向电子装置1000提供收费软件和/或免费软件。
在许可存储部1003中预先存储有许可信息。例如,在用户购买电子装置1000时,向电子装置1000的供应商(制造商)支付包含规定的许可费在内的电子装置1000的销售价格。即,此时的销售价格包含电子装置1000自身的硬件的价格和规定的许可费。该情况下,电子装置1000的供应商将与上述规定的许可费对应的许可信息保存在许可存储部1003并提供给用户。当然,供应商也可以准备搭载了预先保存有互不相同的许可信息的许可存储部1003的多种电子装置1000,供用户选择、购买。该情况下,因为许可信息不同,所以对于每一电子装置,许可费也不同。
许可管理部1004在用户从软件提供装置1005向软件存储部1002下载软件时起作用。即,许可管理部1004相对于来自用户的下载请求,判定由软件提供装置1005提供的软件是收费软件(需要承诺许可的许可承诺软件)、还是免费软件(不需要承诺许可的软件)。在判定的结果为免费软件的情况下,将由软件提供装置1005提供的软件保存到软件存储部1002。存储于软件存储部1002的免费软件由执行部1001执行,实施由该免费软件规定的动作。
与之相对,在许可管理部1004判定为收费软件的情况下,许可管理部1004从许可存储部1003读出许可信息,基于所读出的许可信息来控制是否将所提供的收费软件保存于软件存储部1002。
如上所述,在许可存储部1003预先保存有与许可费相对应的许可信息。该实施方式1中,与许可费对应的数量被作为许可信息使用。如果读出的由许可信息表示的数量例如为1以上,则许可管理部1004将所提供的收费软件存储到软件存储部1002。另外,许可管理部1004在将收费软件存储到软件存储部1002的情况下,将由许可信息表示的数减去例如1,将通过减法运算而得到的数作为许可信息并存储到许可存储部1003。存储于软件存储部1002的收费软件可以由执行部1001执行。
与之相对,如果由许可信息表示的数量为0,则许可管理部1004不将所提供的收费软件存储于软件存储部1002。由此,在预先支付的许可费不足的情况下,禁止执行收费软件。换一种视点,能够防止未进行对等的支付且不正当地执行收费软件的情况,能够防止软件发布源漏收许可费。
许可存储部1003在供应商存储了许可信息后,能够仅由许可管理部1004进行变更。图1中没有特别限制,但许可管理部1004由与处理器1001不同的处理器构成。该情况下,许可管理部1004的功能通过由构成许可管理部1004的处理器执行的软件实现。当然,处理器1001也可以实现执行部的功能和许可管理部1004的功能这两方。
<半导体装置>
图2是表示实施方式1的半导体装置的结构的框图。同图示出微处理器(以下也记载为微处理器1100)作为半导体装置1100。微处理器1100具备执行软件的处理器(中央处理装置,以下也称作执行单元)1101、软件存储单元1102、许可存储单元1103、许可管理单元1104。为了避免附图变得复杂,图2中图示进行了省略,但微处理器1100还具备上述的处理器(执行单元)1101、软件存储单元1102、许可存储单元1103及许可管理单元1104以外的电路单元。例如,除上述的单元以外,微处理器1100具备在与微处理器1100的外部之间进行信号的收发的外围电路单元。
上述的各单元没有特别限制,但通过众所周知的半导体制造技术形成为一个半导体芯片并封固于一个封装。在供应商(制造商)将该微处理器1100提供(销售)给用户时,在封固于封装的状态下进行销售。当然,也可以不封固于封装而以半导体芯片为单位进行销售。
软件存储单元1102与执行单元1101结合,存储软件。执行单元1101从软件存储单元1102读出软件,执行所读出的软件。通过执行单元1101执行软件,微处理器1100执行由软件规定的规定动作。
许可存储单元1103与图1所示的许可存储部1003同样地预先存储许可信息。即,在从供应商(制造商)向用户提供微处理器1100之前,供应商向许可存储单元1103存储许可信息。与图1中所说明的同样地,用户在购买微处理器1100时,将包含规定的许可费在内的微处理器1100的销售价款支付给供应商。因此,此时的销售价款包含微处理器1100自身的硬件价格和规定的许可费。微处理器1100的供应商将与上述的规定的许可费对应的许可信息保存到许可存储单元1103并提供给用户。
许可管理单元1104与图1所示的许可管理部1004同样地,基于来自许可存储单元1103的许可信息,实施是否将从微处理器1100的外部提供的软件存储到软件存储单元1102的控制。判定从微处理器1100的外部提供的软件是收费软件还是免费软件。在判定的结果为所提供的软件是免费软件的情况下,与许可管理部1004(图1)同样地,许可管理单元1104将所提供的免费软件保存于软件存储单元1102。该情况下,执行单元1101从软件存储单元1102读出免费软件并执行。
与之相对,在判定为所提供的软件是收费软件的情况下,许可管理单元1104从许可存储单元1103读出许可信息,基于读出的许可信息,判定是否将所提供的收费软件保存于软件存储单元1102。
在此,也说明由许可信息表示与许可费对应的数量。如果由所读出的许可信息表示的数量例如为1以上,则许可管理单元1004将所提供的收费软件存储到软件存储单元1102。另外,许可管理单元1104在将收费软件存储到软件存储单元1102的情况下,将由许可信息表示的数量减去例如1,以通过减法运算得到的数量作为许可信息存储到许可存储单元1103。存储于软件存储单元1102的收费软件能够由执行单元1101执行。
与之相对,如果由许可信息表示的数量为0,则许可管理单元1104不将所提供的收费软件存储到软件存储单元1102。由此,在预先支付的许可费不足的情况下,禁止收费软件的执行。换一种视点,能够防止未进行对等的支付且不正当地执行收费软件,能够防止软件发布源漏收许可费。
图2中,包含于微处理器1101的软件存储单元1102没有特别限制,但由可电改写的非易失性存储器即快闪存储器构成。因此,作为向微处理器1100提供软件的软件提供装置,使用闪存烧写器(flash writer)1105。当然,软件提供装置不限于闪存烧写器1105。例如,也可以是USB(Universal Serial Bus:通用串行总线)存储器、SD存储卡等存储介质。另外,也可以是图1所述的使用了光盘再生装置和光盘的软件提供装置。无论任何情况,软件提供装置都存储收费软件和/或免费软件,向微处理器1100提供软件。进而,如图1所述,也可以经由通信线路向微处理器1100提供软件。
另外,图2所示的许可存储单元1103也由快闪存储器构成。示出软件存储单元1102及许可存储单元1103由快闪存储器构成的例子,但不限于此,也可以是静态存储器等易失性存储器。但是,在由易失性存储器构成许可存储单元1103的情况下,即使在未被供给电源电压时,也能够通过蓄电池等进行备用,以保持许可信息。
许可存储单元1103在供应商(制造商)存储了许可信息后,能够仅由许可管理单元1104进行变更。图2中没有特别限制,但许可管理单元1104由与执行单元1101不同的执行单元构成。该情况下,许可管理单元1104的功能通过由构成许可管理单元1104的执行单元执行的软件实现。当然,执行单元1001也可以实现执行单元的功能和许可管理单元1104的功能这两方。
关于实施方式1的电子装置1000及半导体装置1100,使用图1及图2说明将从外部提供的收费软件保存于软件存储部1002及1102的情况。即,对将所提供的收费软件下载到软件存储部1002(存储单元1102)的情况进行说明。通过下载而保存于软件存储部1002(存储单元1102)的软件能够通过执行部1001(执行单元1101)执行。因此,在本说明书中,下载不仅是指向软件存储部1002(存储单元1102)保存软件,广义上还指能够执行软件。
另外,安装是指软件能够由执行部1001(执行单元1100)执行。作为与安装相对的术语,有卸载。卸载是指软件不能由执行部1001(执行单元1100)执行。
每次提供(下载)收费软件时,许可管理部1004(许可管理单元1104)如上所述地对许可信息进行减法运算,更新存储于许可存储部1003(许可存储单元1103)中的许可信息。即,每次下载收费软件时,预先支付的许可费减少,当用完预先支付的许可费时,禁止下载收费软件。
对于使下载的收费软件变为不能执行的情况、即在卸载下载的收费软件的情况之后详细说明,但许可管理部1004(许可管理单元1104)可以变更许可信息,也可以不更新许可信息。
<许可管理单元1104的动作>
图3是表示实施方式1的许可管理单元1104的动作的流程图。
首先,在步骤S00中,来自用户的安装软件的指示被赋予至许可管理单元1104。此时,用户指定安装的软件。
在用户指定的软件是收费软件的情况下,许可管理单元1104在步骤S01中从许可存储单元1103读出许可信息。在该实施方式1中,使用与许可费对应的数量作为许可信息。换言之,许可信息表示收费软件(SW)的可安装数。在步骤S02中,许可管理单元1104进行由许可信息所示的收费软件可安装数(图中记载为SW可安装数)是否为1以上。当判定为收费软件可安装数低于1(例如0)时,许可管理单元1104执行步骤S08。在步骤S08中,许可管理单元1104例如将安装失败的消息通知给用户。
另一方面,在步骤S02中,在许可管理单元1104判定为收费软件可安装数为1以上时,许可管理单元1104接着执行步骤S03。在步骤S03中,由闪存烧写器1105接受用户指定的软件。许可管理单元1104在步骤S04中将所接受的软件供给到软件存储单元(快闪存储器)1102并写入(存储到)软件存储单元1102。
接着,在步骤S05,许可管理单元1104将收费软件可安装数减去1,更新进行了减法运算的收费软件可安装数来作为许可信息。之后,许可管理单元1104将更新了的许可信息供给并写入(存储到)许可存储单元1103。由此,更新存储于许可存储单元1103的许可信息。
最后,在步骤S07中,许可管理单元1104将安装成功的消息通知给用户。
每次向微处理器1100安装收费软件时,反复执行上述的步骤S00~S07。通过进行反复,由许可信息表示的收费软件可安装数被进行减法运算,达到低于1(例如0)。当收费软件可安装数低于1时,许可管理单元1104执行步骤S08,将安装失败的消息通知给用户。
即,直至达到与购买半导体装置时预先支付的许可费对应的收费软件可安装数为止,能够将收费软件保存在软件存储单元1103内。保存到软件存储单元1103的软件能够由执行单元1101执行,因此,能够执行与购买时所支付的许可费对应的个数的收费软件。
对安装的软件为收费软件的情况进行了说明,但在安装的软件中也存在免费软件。因此,在将收费软件安装于微处理器1100时,用户只要针对许可管理单元1104以实施图3所示的步骤的方式进行指示即可。
另外,如图23所示,也可以在应安装的软件部分SB附加属性信息部分ATB,由软件部分SB和属性信息部分ATB构成软件。该情况下,图1及图2所说明的软件提供装置1005及闪存烧写器1105中存储的收费软件分别具备如图23所示的应安装的软件部分SB和属性信息部分ATB。在该属性信息部分ATB中预先保存有表示软件部分SB是否是收费软件的属性信息。
像这样,在附加有属性信息部分ATB的情况下,许可管理单元1104在例如图3所示的步骤S00中从闪存烧写器1105接受用户指定的软件。在步骤S00中,许可管理单元1104判定在所接受的软件中于属性信息部分ATB是否保存有表示为收费软件的属性信息。在表示属性信息为收费软件的情况下,实施图3所示的步骤S01、S02、S04~S08。该情况下,在步骤S00中,许可管理单元1104接受软件部分SB,因此,也可以不执行步骤S03。
另一方面,在步骤S00中,在表示保存于属性信息部分ATB的属性信息为免费软件的情况、或者属性信息部分ATB不含于软件SW的情况下,判定为安装的软件是免费软件,许可管理单元1104不执行图3所示的步骤S01~S08。
<卸载>
接着,说明在安装了收费软件后,卸载收费软件的情况下的许可管理单元1104的动作。在此,说明在卸载了收费软件的情况下,变更由许可信息表示的收费软件可安装数的例子、和未变更收费软件可安装数的例子。变更收费软件可安装数的情况和未变更收费软件可安装数的情况中,分别存在效果,因此,也可以根据所希望的效果采用哪个例子。
首先,使用图4说明变更收费软件可安装数的例子。图4是表示卸载收费软件的情况下的许可管理单元1104的动作的流程图。
在步骤S10中,指定用户卸载的收费软件,将卸载指示给许可管理单元1104。由此开始卸载。许可管理单元1104在步骤S11中,从许可存储单元1103读出许可信息。接着,在步骤S12中,许可管理单元1104从软件存储单元1102清除指定了卸载的软件。在下一步骤S13中,使通过在步骤S11中读出的许可信息来表示的收费软件可安装数增加1,更新收费软件可安装数。
许可管理单元1104在步骤S14中,将表示所更新的收费软件可安装数的许可信息写入许可存储单元1103,并在步骤S15中完成卸载。
像这样,在卸载了收费软件时,使收费软件可安装数增加,由此,即使在安装了错误的收费软件的情况下,也能够不减少许可费地重新安装所希望的收费软件。
接着,使用图5说明进行卸载时不更新收费软件可安装数的例子。图5是表示卸载收费软件的情况下的许可管理单元1104的动作的流程图。
与图4的步骤S10同样地,用户在步骤S20中指定卸载的收费软件,指示卸载,由此开始卸载的动作。
许可管理单元1104在接收到卸载的指示时,将所指定的收费软件从软件存储单元1102中清除。之后,在步骤S22中,许可管理单元1104完成卸载的动作。该情况下,许可管理单元1104不从许可存储单元1103读出许可信息。因此,许可信息未进行更新而是维持原状。由此,由许可信息表示的收费软件可安装数未增减而是维持原状。
在图5的例子中,仅在指示了收费软件的卸载的情况下进行卸载的动作。由此,能够防止可无限地安装收费软件。
图4及图5中,作为卸载的动作,示出从软件存储单元1102清除软件的例子,但卸载的动作不限于此。另外,清除的动作也包含替换规定的状态的动作。
该实施方式中,说明了许可信息表示收费软件的可安装数的例子,但不限于此。例如,许可信息可以表示收费软件的可安装的点(point),也可以表示可安装的存储容量。
另外,示出每次安装收费软件时将许可信息表示的收费软件可安装数减去1的例子,但不限于此。例如,也可以在每次安装时减去2以上。进而,也可以按照所安装的收费软件的金额来变更进行减法运算的数量。该情况下,例如,只要在图23中说明的属性信息部ATB保存与收费软件的价格对应的减法数即可。该情况下,许可管理单元1104只要在减去收费软件可安装数时减去保存于属性信息部ATB减法数即可。
许可信息表示收费软件的可安装的点的情况也同样地,可以在每次安装时减去1点或2以上的点,也可以根据收费软件的价格来减去点数。
许可信息表示收费软件的可安装的存储容量的情况也相同。该情况下,许可信息示出的可安装的存储容量表示软件存储单元1102的存储容量。即,表示软件存储单元1102具有的存储容量中的、能够保存收费软件的存储容量。许可管理单元1104能够在从闪存烧写器1105读入了所安装的收费软件时,掌握收费软件的容量,因此,能够根据由许可信息表示的收费软件的可安装容量、和所掌握的收费软件的容量进行可否安装收费软件的判定。另外,能够将通过从可安装容量减去所掌握的收费软件的容量而得到的存储容量更新为许可信息。
许可信息能够看作是表示收费软件的可安装的许可数的信息。该情况下,在实施方式中,不对软件设定许可数,而对半导体装置1100设定许可数。因此,安装的收费软件与类别无关,是任意的,能够安装互不相同的种类的收费软件,直至达到由许可信息表示的许可数为止。
图2中,半导体装置1101具备许可存储单元1103及许可管理单元1104。在许可管理单元1104预先存储表示可安装的许可数的许可信息,由半导体装置1100提供。由此,购买了半导体装置1100的用户能够向半导体装置1100中安装收费软件,直至达到由许可信息表示的许可数为止。即,在半导体装置1100的内部进行许可的管理。由此,用户能够不导入许可管理装置而进行许可的管理,能够降低用户的负担。另外,因为不需要监视许可管理装置,所以能够降低软件发布源的负担。换言之,能够不损害用户的便利性地进行许可的管理。即,能够提供适于许可管理的半导体装置1100。
(实施方式2)
图6是表示实施方式2的电子装置的结构的框图。在实施方式2中,作为电子装置而示出了个人电脑。由于先使用图1说明了实施方式1的电子装置的结构,所以在此主要说明与图1所示的电子装置的不同点。图6也能够看作表示许可管理系统。在此,将成为许可管理的对象的收费软件从软件提供装置提供给电子装置(个人电脑)。
<个人电脑的结构>
图6中,1300表示个人电脑。在个人电脑1300上连接CD-ROM等光盘再生装置、显示器等显示装置、键盘等输入装置、无线通信等通信装置等外围装置,但同图中除说明所需的光盘再生装置1305外,省略外围装置。在此,在光盘再生装置(CD-ROM)1305上安装使用光盘那种存储介质。在光盘中存储有多种软件,通过利用光盘再生装置1305进行再生,将存储于光盘的软件提供给个人电脑1300。因此,能够看作由光盘再生装置1305和光盘构成图1所示的软件提供装置1005。
个人电脑1300具备处理器(CPU)1301、硬盘1302、许可存储部1303及许可管理部1304。除这些以外,个人电脑1300例如具备设置于外围装置和处理器1301之间的外围部,但在图6中省略。另外,个人电脑1300具备在处理器1301执行软件时例如作为作业用而使用的易失性存储器。图6中,将该易失性存储器设为内置于处理器1301的部件来进行说明。
在制造或销售个人电脑1300时,制造商或供应商将规定的许可信息存储到许可存储部1303,进行制造或销售。此时,存储的许可信息表示收费软件可安装数。与购买个人电脑1300的用户希望的许可数对应的收费软件可安装数被作为许可信息由制造商或供应商存储到许可存储部1303。该情况下,将与用户希望的许可数对应的许可费与个人电脑1300的硬件(本体)的价格相加,来作为个人电脑1300的制造或销售价格供用户购买。
处理器1301与硬盘1302相结合,从硬盘1302读出软件,并执行所读出的软件。通过执行该软件,个人电脑1300实现用户所希望的功能。
许可管理部1304在从光盘再生装置1305提供收费软件时,自许可存储部1303读出许可信息,基于所读出的许可信息控制收费软件向硬盘1302的存储。
即,许可管理部1304在许可信息表示的收费软件可安装数为安装的收费软件的规定数以上的情况下,将所提供的收费软件存储到硬盘1302。另外,此时,从由许可信息表示的可安装数减去收费软件的规定数,将通过减法运算而得到的可安装数作为许可信息存储到许可存储部1303。与之相对,在收费软件的规定数超过由许可信息表示可安装数的情况下,许可管理部1304不将所提供的收费软件存储到硬盘1302。另外,此时,不变更可安装数而维持。
存储于硬盘的收费软件由处理器1301读出并执行。由此,个人电脑1300按照收费软件进行动作。
收费软件的规定数与实施方式1同样地,相对于多种收费软件为规定的值,例如与实施方式1同样地,可以为1,也可以按每种收费软件为不同的值。例如,对于每种安装的收费软件,规定数也可以是收费软件的价格、与其大小(容量)成比例的值。
许可存储部1303成为在由制造商或供应商存储了许可信息后,仅能够通过许可管理部1304进行变更的结构。
许可管理部1304例如由与处理器1301不同的处理器构成。该情况下,构成许可管理部1304的处理器根据软件进行动作。但是,不限于此。例如,也可以是处理器1301执行来自硬盘1302的软件,并且也实现许可管理部1304的功能。
<许可管理部1304的动作>
图7是表示许可管理部1304的动作的流程图。在此,以收费软件的规定值为1的情况为例进行说明。
首先,用户在步骤S30中,使用键盘(未图示)等特定安装的收费软件,并指定收费软件的安装。来自键盘的指定及指示由处理器1301识别,处理器1301使许可管理部1304及光盘再生装置1305进行动作。由此,在步骤S30中开始安装动作。
许可管理部1304通过开始动作,在步骤S31中从许可存储部1303读出许可信息。接着,在步骤S32中,许可管理部1304进行所读出的许可信息所表示的收费软件可安装数是否为规定数以上的判定。在此,由于将规定数设为1,所以判定可安装数是否为1以上。
在步骤S32中,在判明了由许可信息表示的收费软件可安装数低于规定数(1)的情况下,许可管理部1304接着执行步骤S38。在步骤S38中,许可管理部1304将安装失败通知给处理器1301。通过该通知,处理器1301例如在显示器进行安装失败的消息的显示,结束安装的动作。
与之相对,在步骤S32中,在判明为由许可信息表示的收费软件可安装数为规定数(1)以上的情况下,许可管理部1304接着执行步骤S33。在步骤S33中,自光盘再生装置1305读出收费软件。在步骤S34中,许可管理部1304将在步骤S33中读出的收费软件写入(存储于)硬盘1302。
之后,在步骤S35中,许可管理部1304从由许可信息表示的收费软件可安装数减去规定数值。在图7的例子中,减去规定数1。接着步骤S35,在步骤S36中,许可管理部1304将通过步骤S35中的减法运算而得到的收费软件可安装数作为许可信息写入(存储于)许可存储部1303。之后,在步骤S37中,许可管理部1304将安装成功的消息通知给处理器1301。接收该消息,处理器1301在显示器进行安装成功的消息的显示,结束安装的动作。
每次安装收费软件时,执行图7所示的步骤。每次执行时,减去存储于许可存储部1303中的许可信息表示的收费软件可安装数。在用户购买时,向硬盘1303写入收费软件,直至达到所存储的由许可信息表示的收费软件可安装数为止。即,处理器1301可执行收费软件,直至达到预先存储的许可信息所表示的可安装数为止。与之相对,当超过预先存储的许可信息所表示的收费软件可安装数时,执行图7的步骤S38,收费软件不被写入至硬盘1303,无法由处理器1301执行。
在该实施方式2中,也与实施方式1同样地,许可信息可以表示收费软件的可安装的点,也可以表示可安装的存储容量,许可信息能够看作表示可安装的许可数。在由点表示许可信息的情况下,能够看作与许可数相当的点由许可信息来表示。另外,在由存储容量表示许可信息的情况下,能够看作与许可数相当的存储容量由许可信息来表示。
另外,与实施方式1中所述的同样地,也可以将收费软件的结构设为图23所示的那种结构。此外,在图23所示的属性信息部ATB存储表示为收费软件的属性信息的情况下,在开始安装时(图7的步骤S30),用户只要仅确定安装的软件即可。
另外,与实施方式1中所述的同样地,在卸载了收费软件的情况下,可以如图4中所说明那样更新许可信息,也可以如图5中所说明那样维持许可信息。
(实施方式3)
图1及图6中说明了嵌入有处理器1001(执行单元1301)的电子装置,但也能够使用具备存储软件的存储部和处理器的微处理器(例如图2的微处理器1100)构成电子装置来提供。该情况下,例如,用户从供应商(制造商)购买微处理器,将其嵌入电子装置,嵌入微机的电子装置由用户提供。
在提供嵌入有微处理器的电子装置的情况下,直至提供为止的阶段大体被分为开发阶段和量产阶段。在开发阶段进行安装于微处理器的软件的开发,在量产阶段将在开发阶段开发的软件安装于多个微处理器的每一个。像这样安装有在开发阶段开发的软件的微处理器被嵌入至电子装置并提供。因此,在量产阶段,软件的安装原则上进行1次即可。
与之相对,在开发阶段,往往相当于微处理器反复进行软件的安装、卸载及再安装。即,关于同一软件,也有时反复进行安装、卸载、再次安装(再安装)。当使用图2所示的微处理器1100说明一例时,为如下情况。
向软件存储单元1102分别安装收费软件和免费软件。之后,改良了所安装的免费软件的结果是,免费软件的大小(容量)会增大,需要将已安装的收费软件移动至软件存储单元1102内的其它区域。其结果,在安装收费软件后将其卸载,进而再进行安装(再安装)。另外,另举一例,在开发阶段的初期,在安装了收费软件后,随着进行开发,该收费软件变得不需要,而将其卸载。之后,进一步进行开发,果然还是需要安装该收费软件,并进行安装(再安装)。该情况下,将同一收费软件进行安装、卸载、进而再安装。
因此,考虑提供微处理器的供应商(制造商)将可自由改写软件的微处理器提供给开发电子装置的用户。但是,像这样,在提供可自由改写软件的微处理器的情况下,可能会在量产阶段将未承诺就拷贝的软件安装于微处理器。
作为该对策,考虑供应商(制造商)分为在开发阶段使用的微处理器(以下也称作开发用微处理器)和在量产阶段使用的微处理器(以下也称作量产用微处理器)进行提供。该情况下,开发用微处理器具有与量产用微处理器的功能相同的功能,还具备适于开发的追加功能。另外,开发用微处理器能够自由进行软件的改写,量产用微处理器不能进行软件的改写或限制软件的改写。此外,这里的改写是指在安装了软件后再次安装同一软件。
该情况下,开发用微处理器和量产用微处理器的切换在供应商(制造商)提供这两种微处理器之后是困难的。作为进行该切换的方法,例如有以下的方法(1)~(6)。
(1)在微处理器上设置仅能够进行1次写入的非易失性存储器。通过在该非易失性存储器进行写入,微处理器例如作为开发用微处理器起作用,只要不进行写入,就作为量产用微处理器起作用。
(2)在微处理器设置有非易失性存储器的情况下,在该非易失性存储器中,设定能够仅通过特别的方法进行写入的特别区域。通过在特别区域进行写入,微处理器例如作为开发用微处理器起作用,只要不进行写入,就作为量产用微处理器起作用。该情况下的特别的方法例如考虑如下方法,在用封装封固了半导体芯片的情况下,将未与外部连接的端子设置于半导体芯片,仅在将特定的代码供给到该端子时,能够进行写入。
(3)在微处理器上设置金属开关。在制造微处理器的制造工序中,将金属开关设为接通状态或断开状态。该情况下,例如,将金属开关设为接通状态的微处理器作为开发用微处理器起作用,将金属开关设为断开状态的微处理器作为量产用微处理器起作用。
(4)内置于微处理器的非易失性存储器根据开发用微处理器和量产用微处理器而不同。
(5)通过改变微处理器的半导体芯片和从封固该半导体芯片的封装突出的引线之间的连接,切换开发用微处理器和量产用微处理器。
(6)通过改变开发用微处理器和量产用微处理器的封装,切换开发用微处理器和量产用微处理器。
图8是表示通过这种方法切换的开发用微处理器和量产用微处理器的关系的图。图8中,左侧表示开发用微处理器,右侧表示量产用微处理器。开发用微处理器的软件的改写是自由(free)的。与之相对,量产用微处理器的软件的改写受限制。例如,在量产用微处理器中,虽然能够进行安装,但不能进行再安装。开发用微处理器包含量产用微处理器的功能,但也具备开发用的追加功能。因此,开发用微处理器的硬件价格与量产用微处理器的硬件价格(价格固定)相比,追加功能的价格(α)为高价。此外,这里的价格不含许可费。即,表示微处理器的本体(硬件)的价格。
在该实施方式3中,通过上述的方法,基于表示是作为开发用微处理器还是作为量产用微处理器的信息,来形成改写限制信息。例如,在通过方法(1)实施切换的情况下,基于来自仅能够进行1次写入的非易失性存储器的输出的值被用作改写限制信息。
另外,在实施方式3中,在实施方式1所示的图2的许可存储单元1103中存储过去安装的收费软件的历史信息。在此,历史信息例如是特定所安装的收费软件的唯一编号ID。假如在特定收费软件的唯一编号ID不存在于收费软件的情况下,在图23中说明的属性信息部ATB中存储特定收费软件的唯一编号ID的信息。
实施方式3中,相对于实施方式1的图2进一步改变许可管理单元1104。即,在卸载所安装的收费软件并进一步进行再安装时,实施方式3的许可管理单元1104基于改写限制信息、历史信息及收费软件的唯一编号ID控制向软件存储单元1102保存收费软件,并且控制是否更新收费软件可安装数。例如,实施方式3的许可管理单元在改写限制信息表示为开发用微处理器的情况、即表示改写自由的情况下,在再安装过去安装过的收费软件时,不更新收费软件可安装数,而将收费软件保存于软件存储单元1102。即,以不更新可安装数而可进行再安装的方式起作用。
实施方式3的微处理器与实施方式1中说明的微处理器1100(图2)类似。即,与图2所示的微处理器1100不同的是许可存储单元1103及许可管理单元1104。如之前所述,实施方式3的许可存储单元在图2所示的许可存储单元1103中追加了历史信息。之后说明实施方式3的许可管理单元的动作。进而,在实施方式3中,在从闪存烧写器1105提供收费软件时,供给特定该收费软件的唯一编号ID。
此外,实施方式3的许可管理单元以下记载为许可管理单元1104(3),许可存储单元以下记载为许可存储单元1103(3)。
<许可管理单元1104(3)的动作>
接着,使用图9说明实施方式3的许可管理单元1104(3)的动作。图9是表示许可管理单元1104(3)的动作的流程图。在步骤S40中,用户指定要安装的收费软件,指示为收费软件的安装。接收该指示,许可管理单元1104(3)开始动作。另外,闪存烧写器1105将确定了的收费软件提供给微处理器1100。即,开始安装。
在步骤S41中,许可管理单元1104(3)判定改写限制信息。在改写限制信息表示有改写限制(量产用微处理器)的情况下,许可管理单元1104(3)接着执行步骤S43。另一方面,在改写限制信息表示自由改写(开发用微处理器)的情况下,许可管理单元1104(3)如下执行步骤S42。
在步骤S42,许可管理单元1104(3)从许可存储单元1103(3)读出过去安装过的收费软件的历史信息。许可管理单元1104(3)将所提供的收费软件中包含的唯一编号ID、和从许可存储单元1103(3)读出的历史信息进行比较(图中记载为SW-ID历史记录一致?)。若比较的结果为一致,则许可管理单元1104(3)接着执行步骤S45,若不一致,则执行步骤S43。
例如,收费软件为图23所示的结构,在属性信息部ATB存储有确定该收费软件的唯一编号ID。许可管理单元1104(3)将存储于该属性信息部ATB中的唯一编号ID与历史信息进行比较,由此,能够判定是否再次安装(再安装)过去安装过的收费软件。
在步骤S43中,许可管理单元1104(3)从许可存储单元1103(3)读出许可信息。在步骤S44中,许可管理单元1104(3)判定读出的许可信息所表示的收费软件可安装数是否为规定数(1)以上。当在步骤S44中判定为收费软件可安装数低于规定值(1)时,许可管理单元1104(3)接着执行步骤S40-F,当判定为收费软件可安装数为规定值(1)以上时,许可管理单元1104(3)接着执行步骤S45。
在步骤S40-F中,许可管理单元1104(3)将安装失败的消息通知给用户。由此,没有改写限制(自由改写),除再安装的情况之外,在收费软件可安装数低于规定数的情况下,禁止收费软件的安装。
在步骤S45中,许可管理单元1104(3)读出由闪存烧写器1105提供的收费软件的软件部分SB。许可管理单元1104(3)在步骤S46中将所读入的软件部分SB写入(存储于)软件存储单元1102。
接着,在步骤S47中,许可管理单元1104(3)将在步骤S43读出的许可信息所表示的收费软件可安装数减去规定数(1),生成表示通过减法运算得到的收费软件可安装数的许可信息。另外,在步骤S48中,许可管理单元1104(3)将与在步骤S46中写入软件存储单元1102的软件部分SB对应的属性信息部ATB中所存储的唯一编号ID作为历史信息而记录于许可存储单元1103(3)。
另外,在步骤S49中,许可管理单元1104(3)将在步骤S47中生成的许可信息写入(存储于)许可存储单元1103(3)。
此外,许可管理单元1104(3)在步骤S42之后实施步骤S45~S49的情况下,不实施步骤S43,因此,许可管理单元1104(3)不从许可存储单元1103(3)读出许可信息。因此,该情况下,不进行步骤S47中的收费软件可安装数的减法运算。另外,也不进行步骤S49中的许可信息向许可存储单元1103(3)的写入。
最后,在步骤S40-C中,许可管理单元1104(3)将收费软件的安装成功的消息通知给用户。
每次安装收费软件时实施上述的步骤。
在该实施方式3中,即使设定了改写限制,即,即使为量产用微处理器,也能够与实施方式1同样地,能够将收费软件向软件存储单元1102写入,直至达到由许可信息表示的收费软件可安装数为止。即,即使是量产用微处理器,也能够以与预先支付的许可费对应的量安装收费软件。
另外,在该实施方式3中,在没有改写限制的情况下(自由改写),即,在对于开发用微处理器安装新的收费软件时,与实施方式1同样地,能够将收费软件写入软件存储单元1102,直至达到由许可信息表示的收费软件可安装数为止。进而,当对于开发用微处理器一次安装收费软件时,将安装的历史记录(唯一编号ID)存储于许可存储单元1103。即使进行卸载,安装的历史记录也保留于许可存储单元1103(3),因此,在再安装同一收费软件的情况下,收费软件可安装数不会减少。即,未进行更新而被维持。换言之,能够不减少收费软件可安装数而将收费软件再次写入软件存储单元1103,能够由执行单元1101执行。
换一种视点,即使收费软件可安装数低于规定数(1),也能够进行收费软件的再安装。因此,在开发阶段使用开发用微处理器的情况下,能够不考虑收费软件可安装数而任意地卸载收费软件,之后再次安装(再安装)同一软件。
以微处理器1100为例进行说明,但不限于此。也可以使用个人电脑或智能手机之类的便携终端来代替微处理器1100。另外,也可以使用光盘再生装置或经由通信线路提供收费软件的软件存储装置来代替闪存烧写器1105。进而,软件存储单元1102也可以使用硬盘或存储卡。这样,即使变更微处理器、闪存烧写器及软件存储单元,也能够得到同样的效果。
<变形例>
有时在收费软件存在问题例如缺陷(bug)的情况下,软件发布源提供实现了缺陷的对策的收费软件(已应对对策的收费软件)。该情况下,已安装的收费软件和已应对对策的收费软件为相同的唯一编号ID。
由于唯一编号ID相同,所以在未设定改写限制的(自由改写)开发用微处理器中,不会对收费软件可安装数带来影响,用户能够再安装已应对对策的收费软件。
与之相对,在有改写限制的量产用微处理器中,只要收费软件可安装数不为规定数以上,就难以安装已应对对策的收费软件。
该变形例中,例如,在图23所示的属性信息部ATB中存储表示存储于软件部SB的收费软件为应对软件的缺陷的已应对对策的收费软件的信息(编码)。另外,在图9所示的步骤S41中,许可管理单元1104(3)在判定为有改写限制后,判定在属性信息部ATB中是否存储表示为已应对对策的收费软件的信息。在判定为存储有表示为已应对对策的收费软件的信息的情况下,许可管理单元1104(3)接着执行步骤S42。由此,即使是量产用微处理器,对于已应对对策的收费软件,也能够与开发用微处理器同样地不减少收费软件可安装数,而再安装已应对对策的收费软件。换一种视点,即使收费软件可安装数低于规定数,量产用微处理器及开发用微处理器这两者也能够再安装已应对对策的收费软件。
许可管理单元1104在判定为属性信息部ATB中存储有表示为已应对对策的收费软件的信息的情况下,也可以以使上述的改写限制信息强制表示改写限制自由的方式对该改写限制信息进行变更。
根据该变形例,能够不依赖于收费软件可安装数而安装已应对对策的收费软件。即,能够不对用户带来负担而更新收费软件。
(实施方式4)
实施方式3中,说明了量产用微处理器和开发用微处理器。如实施方式3中所说明的那样,开发用微处理器与量产用微处理器相比,多数情况是附加了开发用的功能。因此,在除去了许可费以外的硬件价格上,开发用微处理器与量产用微处理器相比高昂。换一种视点,通过消减开发用的功能,使量产用微处理器的硬件价格降低。
开发用微处理器与量产用微处理器相比高昂,因此,考虑不会在量产阶段使用开发用微处理器,但也能够使用。在量产阶段使用开发用微处理器的情况下,能够不需要承诺地拷贝收费软件。为了降低在拷贝时产生的损害,在该实施方式4中,对收费软件的起动次数设定限制。
确定是限制收费软件的起动次数、还是使起动次数自由(flee)的方法使用实施方式3中说明的方法(1)~(6)的某一种。即,将实施方式3中说明的改写限制信息用作起动次数限制信息。通过这样,在供应商(制造商)提供了微处理器后,难以变更起动次数限制信息,而被作为具有起动次数限制的微处理器或起动次数自由的微处理器来提供。
图10是表示实施方式4的微处理器1100的动作的流程图。实施方式4的微处理器1100的结构在图2所示的微处理器的结构中追加存储收费软件的起动次数的起动次数存储单元(未图示)、表示收费软件已执行的已执行标志flag(位)、设定收费软件的执行次数的执行次数单元。在此,起动次数存储单元以即使被重置也能够保持值的方式构成,已执行标志flag若被重置,则在解除重置时被设定为未执行(false)。另外,在执行次数单元中预先设定许可起动的次数。例如,供应商(制造商)将规定的执行次数n设定为执行次数单元并将其提供给用户。
图10中,微处理器1100作为MCU而示出。在步骤S50中,例如通过解除重置(reset),微处理器MCU起动。此时,已执行标志Flag被设定为未执行(false)。
在步骤S51中,微处理器MCU内的执行单元1101执行规定的软件,以使具备微处理器MCU的电子装置实现规定的功能。该规定的软件是调用收费软件(SW)或收费软件(SW)的软件。图10表示上述的规定的软件调用收费软件(SW)的情况。在图10的步骤S51中,作为调用收费软件(SW)的指令,例示指令(跳转(jump)、调用(call)等)。
许可管理单元1104在步骤S52中判定由微处理器MCU执行的软件是否是收费软件(对起动设置了次数的限制的软件)。这例如在读出了软件存储单元1102的特定的区域的软件的情况下,许可管理单元1102判定为执行收费软件。在步骤S52中,在判定为不是收费软件的情况下(否),许可管理单元1104执行步骤S56,在判定为是收费软件的情况下(是),执行步骤S53。图10中,步骤S52记载有“是否有起动次数限制SW”。
在步骤S53中,许可管理单元1104判定已执行标志flag是否已执行(true)。即,在步骤S53中,判定收费软件是否已执行。在已执行的情况下(是),许可管理单元1104接着执行步骤S56,在未执行的情况下(否),执行步骤S54。
在步骤S54中,许可管理单元1104判定存储于起动次数存储单元的起动次数是否超过存储于执行次数单元的执行次数n。在此,在执行次数单元中,作为限制的执行次数,预先设定n。在存储于起动次数存储单元的起动次数超过执行次数n的情况下(否),许可管理单元1104接着执行步骤S57,在起动次数未超过执行次数n的情况下(是),接着执行步骤S55。
在步骤S55中,许可管理单元1104使起动次数增加。例如,增加1并存储于起动次数存储单元。例如,将存储于起动次数存储单元的起动次数从1更新为2。另外,在步骤S55中,将已执行标志flag设定为已执行(true)。之后,在步骤S56中,许可管理单元1104许可微处理器MCU内的执行单元1101执行在步骤S51中调用的收费软件。之后,再次返回步骤S51,在调用了收费软件的情况下,执行步骤S52~S53。该情况下,起初(第一次)在执行收费软件时,在步骤S55中,已执行标志flag从未执行(false)变更为已执行(true),因此许可管理单元1104在步骤S53之后执行步骤S56。其结果为,在步骤S50中,在起动了处理器MUC后,反复执行同一收费软件,且即使起动,存储于起动次数存储单元的起动次数也不增加,不执行步骤S57。
之后,进行重置,通过解除该重置,微处理器MCU再次执行步骤S50时,在步骤S50中,已执行标志flag为未执行(false)。因此,在步骤S55中,许可管理单元1104将存储于起动次数存储单元的起动次数增加。即,将存储于起动次数存储单元的起动次数从2更新为3。以后,执行步骤S51、S52、S53及S56。其结果,该情况下,也在微处理器MCU中执行收费软件。
进而,进行重置,通过解除该重置,微处理器MCU再次执行步骤S50。在步骤S50中,已执行标志flag为未执行(false),在步骤S54中,进行存储于起动次数存储单元的起动次数和执行次数n的比较。在此,例如,在执行次数n为2的情况下,在上次于步骤S50中起动了微处理器MCU时,在起动次数存储单元中存储3作为起动次数。因此,在步骤S54中,因为起动次数(3)超过执行次数n(2),所以许可管理单元1104执行步骤S57。
在步骤S57中,许可管理单元1104禁止执行单元1101执行来自软件存储单元1102的软件。由此,微处理器MCU禁止执行同一收费软件超过执行次数n,该收费软件被设置为不起动。此外,在步骤S57中,许可管理单元1104例如将产生了错误的情况通知给执行单元1101。
像这样,关于起动次数有限制的软件、例如收费软件,每次在步骤S50中起动时,使存储于起动次数存储单元的起动次数增加,在起动次数超过预先设定的执行次数时,禁止该软件的执行。换言之,在未进行重置而使电子装置或微处理器MCU继续动作时,起动次数有限制的软件继续执行。与之相对,在对电子装置或微处理器MCU执行重置等起动时,对起动次数进行计数,若到达规定的次数(执行次数),则停止电子装置或微处理器起动软件。
该实施方式4的微处理器被作为开发用微处理器来使用。由此,在将开发用微处理器作为量产用微处理器使用的情况下,能够防止未承诺的软件(通过拷贝等复制的收费软件)超过执行次数而起动,能够实现损害的降低。
以微处理器MCU(1100)为例进行了说明,但不限于此。也可以使用个人电脑或智能手机之类的便携终端来代替微处理器MCU。另外,也可以使用光盘再生装置或经由通信线路提供收费软件的软件存储装置来代替闪存烧写器1105。进而,软件存储单元1102也可以使用硬盘或存储卡。这样,即使变更微处理器、闪存烧写器及软件存储单元,也能够得到同样的效果。
<变形例>
将实施方式3和实施方式4组合。图11是表示将实施方式3和实施方式4组合时的状态的说明图。
通过上述的改写控制信息,开发用微处理器成为实施方式3中所述的自由改写的状态,且被设定为具有实施方式4中所述的起动次数限制的状态。与之相对,量产用微处理器通过改写控制信息而成为具有实施方式3中所述的改写限制的状态,被设定为实施方式4中所述的起动次数自由的状态。即使对开发用微处理器设定起动次数限制,由于是自由改写,所以只要是开发阶段,就能够通过改写而再安装收费软件。因此,用户在产品开发阶段使用开发用处理器时,不会出现不自由,且能够防止在量产阶段使用开发用微处理器。
(实施方式5)
图12是表示实施方式5的半导体装置的结构的框图。在此,作为半导体装置,以微处理器为例进行说明。图12中,1400表示微处理器。微处理器1400具备执行软件的执行单元1401、与执行单元1401相结合且存储软件的软件存储单元1402及许可管理单元1403。与实施方式1中所述的同样地,微处理器除上述的执行单元1401、软件存储单元1402及许可管理单元1403以外,还具备外围电路单元等,但在图12中也进行了省略。另外,与实施方式1同样地,各单元通过公知的半导体制造技术在1个半导体芯片上形成,没有特别限制,被封固成1个封装。供应商(制造商)在半导体芯片或封固了半导体芯片的封装的状态下将微处理器提供给用户。
该实施方式5中,软件存储单元1402由可电改写的非易失性存储器(快闪存储器)构成。图12中,1105是图2中说明的闪存烧写器,将软件提供给微处理器1400。
执行单元1401从软件存储单元1402读出软件并执行。软件存储单元1402经由许可管理单元1403从闪存烧写器1105提供软件并写入(存储)。
许可管理单元1403将软件存储单元1402所具有的区域(地址空间)作为多个区域进行管理。在此,说明作为2个区域进行管理的例子。即,将软件存储单元1402的区域分为存储收费软件的下载区域(以下也称作DL应用区域)、和除此以外的区域(以下也称作用户区域)进行管理。图13是表示软件存储单元1402的地址空间的说明图。图13中,AR表示软件存储单元1402的区域(地址空间),UAR表示用户区域,DRA表示DL应用区域。
特定的收费软件能够仅安装于DL应用区域DRA,不允许向用户区域UAR的安装。另外,用户另行购买的软件、免费软件和/或用户制作的软件能够安装于DL应用区域及用户区域的任一区域。换言之,特定的收费软件被允许仅保存于DL应用区域DRA,不允许向用户区域UAR保存。
将软件存储单元1402的哪一区域作为DL应用区域DAR,将哪一区域作为用户区域UAR由许可管理单元1403存储。即,根据存储于许可管理单元1403的设定信息来决定DL应用区域DAR和用户区域UAR。DL应用区域及用户区域向许可管理单元1403的设定在供应商(制造商)向用户提供微处理器1400时进行。供应商(制造商)提供后,难以变更DL应用区域及用户区域的设定。例如,能够通过实施方式1中所述的方法(1)~(6)的任一种方法进行设定。
决定DL应用区域DAR及用户区域UAR的设定信息能够看作是许可信息。因此,图12所示的许可管理单元1403能够看作具备存储有许可信息的许可存储单元。
此外,在采用方法(2)的情况下,上述特定的代码未提供给用户,而是由供应商(制造商)保持。因此,例如在用户希望变更DL应用区域DAR和用户区域UAR的存储容量比率的情况、或者对用户提供后退回且将退回的微处理器提供给另一用户的情况下,供应商(制造商)能够使用特定的代码变更存储容量比率再提供。
图14是表示供应商(制造商)对用户提供的微处理器1400的存储容量比率的说明图。图14中,1400-1~1400-4分别表示微处理器。微处理器1400-1~1400-4各自的结构具有与图12所示的微处理器1400相同的结构,只是软件存储单元1402中的存储容量比率不同。
即,在微处理器1400-1中,软件存储单元1402中的区域AR作为DL应用区域DAR被分配1M字节(1MB),作为用户区域UAR被分配7M字节。在微处理器1400-2中,软件存储单元1402中的区域AR作为DL应用区域DAR被分配2M字节(2MB),作为用户区域UAR被分配6M字节。另外,在微处理器1400-3中,软件存储单元1402中的区域AR作为DL应用区域DAR被分配4M字节(4MB),作为用户区域UAR被分配4M字节。同样,在微处理器1400-4中,软件存储单元1402中的区域AR的所有区域被分配给DL应用区域DAR(8M字节)。
像这样,通过变更分配的区域的容量比率,可以任一地提供多种具有同一结构的微处理器。该情况下,DL应用区域DAR的容量(存储容量)越大,越能够存储(存储)更多的的收费软件、或存储更大大小的收费软件。即,DL应用区域DAR越大,越是高的许可费附加到微处理器1400的价格(硬件价格)中,成为微处理器的价格。其结果,如图14所示,从微处理器1400-1面向1400-4,微处理器的销售价格变得高昂。该情况下,用户考虑安装的收费软件的种类、大小等,从微处理器1400-1~1400-4选择并购买任意的微处理器。
<许可管理单元1402>
接着,说明许可管理单元1402的动作。在此,对许可管理单元1402的功能通过由与执行单元1401不同的执行单元(未图示)、和未图示的执行单元实施的软件实现的情况进行说明。
图15是表示许可管理单元1402的动作的流程图。图15中,在步骤S60中,指示对下载的软件进行指定和软件的下载。由此,从闪存烧写器1105向微处理器1400提供所指定的软件。图15中,步骤S60作为下载开始而示出。
许可管理单元1403在步骤S61中判定所提供的软件是否是特定的收费软件。即,判定下载的软件是否是存储于DL应用区域DAR的特定的收费软件(以下也称作特定的DL应用)。判定的结果是,在判定为不是特定的DL应用的情况下(否),许可管理单元1403执行步骤S64。该情况下,在步骤S64中,许可管理单元1403将所提供的软件写入(存储于)软件存储单元1402内的用户区域UAR。通过向用户区域UAR存储,使得执行单元1401成为可执行,因此,在步骤S64中开始下载。
与之相对,在步骤S61中,在许可管理单元1401判定为特定的DL应用的情况下,接着由许可管理单元1401执行步骤S62。在步骤S62中,许可管理单元1403判定从闪存烧写器1105提供的特定的DL应用可否下载到DL应用区域DAR。许可管理单元1403例如在DL应用区域DAR已存储于其它DL应用,且存储所提供的特定的DL应用的区域的存储容量不足的情况下,判定为不能下载(否)。该情况下,许可管理单元1403接着实施步骤S63。与之相对,在判定为可下载的情况下(是),许可管理单元1403实施步骤S64。
在接着步骤S62,实施步骤S64的情况下,许可管理单元1403不向用户区域UAR,而向DL应用区域DAR写入(存储)所提供的软件(特定的DL应用)。即,在步骤S64中,开始向DL应用区域DAR下载特定的DL应用。
另一方面,在步骤S62中,在判定为不能下载的情况下(否),在步骤S63中,许可管理单元1403因下载失败而不实施软件向软件存储单元1402的写入。另外,将产生了错误的情况通知给执行单元1401。
像这样,通过利用许可管理单元1403对每一下载的软件实施下载的软件的判定和向软件存储单元1402的写入,在DL应用区域DAR存储特定的收费软件(DL应用),能够通过执行单元1401实施。
<基于硬件的控制>
图15中,说明通过软件来控制软件存储单元1402的例子,但软件存储单元1402的控制也可以通过硬件实现。即也可以使用逻辑电路等硬件控制软件存储单元1402。图16是表示通过硬件控制软件存储单元1402的情况下的结构的框图。
图16中仅示出与软件存储单元1402关联的部分的结构。图16中,1500表示快闪存储器。图16中,快闪存储器1500在软件存储单元1402中相当于存储软件的部分。快闪存储器1500具备地址端子、写入端子、读出端子及数据端子。图16中仅示出这些端子中的、地址端子ADT和写入端子WT,读出端子及数据端子省略。在快闪存储器1500中,通过向地址端子ADT供给地址信号,向写入端子WT供给高电平的写入信号,在通过向地址端子ADT供给的地址信号指定的区域电写入和存储来自数据端子的数据。
许可管理单元1402形成指定被分配给DL应用区域DAR的地址的范围的DL区域指定信号DLD、和表示下载的软件是否是特定的DL应用的DL应用检测信号DLT。DL区域指定信号DLD基于通过之前说明的方法(1)~(6)设定的信息来形成。另外,通过该DL区域指定信号DLD指定的区域如图14所示,因微处理器1400-1~1400-4而不同。DL应用检测信号DLT在通过例如图23所示的属性信息部ATB中存储的信息表示为特定的DL应用的情况下,形成许可管理单元1403。许可管理单元1402形成的DL区域指定信号DLD因微处理器的价格而变化,因此,能够视为许可信息。
图16的例子中,地址信号AD及写入信号WE由执行单元1401形成。即,相对于快闪存储器1500,表示写入软件的区域的地址信号AD从执行单元1401输出,指示写入的写入信号WE也从执行单元1401输出。当然,地址信号AD及写入信号WE也可以从许可管理单元1403输出。
图16中,1501是比较电路。比较电路1501将地址信号AD和DL指定区域信号DLD进行比较。在由地址信号AD表示的区域在由DL指定区域信号DLD示出的地址的范围内时,比较电路1501输出高电平。另一方面,在由地址信号AD表示的区域在由DL指定区域信号DLD表示的地址的范围之外时,比较电路1501输出低电平。许可管理单元1403在从闪存烧写器1105提供了特定的DL应用时,将DL应用检测信号DLT设为高电平,在不是特定的DL应用的情况下,将DL应用检测信号DLT设为低电平。另外,写入信号WE在进行写入的情况下,成为高电平。
比较电路1501的输出被反转相位且被供给至与电路1502的一端子,向与电路1502的另一端子供给DL应用检测信号DLT。与电路1502的输出被反转相位且被供给至与电路1503的一个输入端,向与电路1503的另一输入端供给写入信号WE。在此,与电路1502的输出作为错误信号被供给至执行单元1401。另外,向快闪存储器1500的地址端子ADT供给地址信号AD,向写入端子WT供给与电路1503的输出。
在从闪存烧写器1105提供特定的DL应用时,写入该DL应用的地址被作为地址信号AD来进行供给。此时,因为是特定的DL应用,所以许可管理单元1403输出高电平的DL应用检测信号DLT。若此时的地址信号AD在由DL指定区域信号DLD表示的地址的范围内,则比较电路1501的输出信号成为高电平。将比较电路1501的输出信号的相反反转,向与电路1502供给低电平,因此,与电路1502的输出信号成为低电平。因此,错误信号也成为低电平。图16的例子中,在错误信号为高电平时,判定为错误。因此,在该状态下,执行单元1401因作为错误而不进行识别。
与电路1502的输出信号成为低电平,由此向与电路1503供给相位被反转的与电路1502的输出信号即高电平、和指示写入的高电平的写入信号WE。由此,与电路1503将高电平的信号向快闪存储器1500的写入端子WT供给。其结果为,在快闪存储器1500中,在通过向地址端子ADT供给的地址信号AD指定的区域进行写入。
与之相对,在许可管理单元1403输出表示为特定的DL应用的高电平的DL应用检测信号DLT时,在地址信号AD指定了由DL指定区域信号DLD表示的地址的范围之外的区域的情况下,与电路1502的输出信号成为高电平。即,错误信号成为高电平,执行单元1401识别产生了错误。另外,通过与电路1502的输出信号成为高电平,与电路1503的输出信号成为低电平。其结果为,向快闪存储器1500的写入端子WT供给低电平,禁止写入。
这样,在下载特定的DL应用时,特定的DL应用的地址处于由DL指定区域信号DLD表示的地址的范围内,判定为特定的DL应用,在该情况下,特定的DL应用被写入快闪存储器1500内的DL应用区域DAR。与之相对,在特定的DL应用的地址表示由DL指定区域信号DLD表示的地址的范围之外的区域的情况下,特定的DL应用不被写入至快闪存储器1500,而产生表示错误的错误信号。
图17是表示通过硬件控制软件存储单元1402的情况下的其它结构的框图。与图16相同,图17中仅示出与上述的软件存储单元1402相关的部分。图17中,1604表示快闪存储器,1600表示写缓冲器。在图17所示的例子中,在软件存储单元1402中,存储软件的部分也相当于快闪存储器1604。快闪存储器1604的写入速度较慢。因此,在图17中,设置有写缓冲器1600。
写缓冲器1600例如由静态存储器构成,与快闪存储器1600相比以高速进行动作。写缓冲器1600具备地址端子、有效标志端子、数据端子。图17中将地址端子及有效标志端子作为ADT及V-F进行表示,数据端子省略。所提供的软件未被写入快闪存储器1604而首先写入写缓冲器1600。写缓冲器1600具备与区域对应的有效位,有效位通过写入对应的区域的数据是否是有效数据来设定。例如,在被写入对应的区域的数据是有效数据的情况下,有效位被设定为高电平,在是无效数据的情况下,被设定为低电平。
在表示有效位为有效数据的情况下(高电平),写缓冲器1600在适当的定时将被写入与有效位对应的区域的数据传送到快闪存储器1604并写入快闪存储器1604来保存。写缓冲器1600因为以较高速进行动作,所以能够实现写入的高速化。此外,在表示有效位为无效数据的情况下(低电平),不将存储于与该有效位对应的区域的数据位传送到快闪存储器1604,不实施向快闪存储器1604的写入。
与图16所示的例子同样地,在图17所示的例子中,也从许可管理单元1403输出DL区域指定信号DLD及DL应用检测信号DLT。另外,从执行单元1401输出地址信号AD。图17中,1601为比较电路,比较电路1601将地址信号AD和DL区域指定信号DLD进行比较。比较电路1601在地址信号AD指定了由DL区域指定信号DLD指定的区域内的区域时,将输出信号设为高电平,在指定了由DL区域指定信号DLD指定的区域外的区域时,将输出信号设为低电平。
比较电路1601的输出信号的相位被反转且向与电路1602的一输入端供给,向与电路1602的另一输入端供给DL应用检测信号DLT。与电路1602的输出信号被供给至与非电路1603的一输入端,并且作为错误信号被供给至执行单元1401。从写缓冲器1600将表示有效位的状态的有效标志VFG相位反转并供给到与非电路1603的另一输入。该与非电路1603的输出信号被供给到写缓冲器1600的有效标志端子V-F。
当从闪存烧写器1105提供特定的DL应用时,许可管理单元1403将DL应用检测信号DLT设为高电平。此外,地址信号AD是指定存储DL应用的快闪存储器1604的区域的地址信号。若由地址信号AD指定的区域在由DL区域指定信号DLD指定的范围内,则比较电路1601的输出信号成为高电平。因为来自比较电路1601的高电平的输出信号的相位被反转且供给到与电路1602,所以与电路1602的输出信号成为低电平。其结果为,错误信号成为表示没有产生错误的低电平,向执行单元1401通知未产生错误的信息。
此时,若在由地址信号ADT指定的写缓冲器1600的区域未存储有效的数据,则写缓冲器1600输出低电平的有效标志VFG。由此,通过向与非电路1603供给来自与电路1602的低电平的输出信号、和通过相位反转而形成的高电平的有效标志VFG,与非电路1603将高电平的信号供给到有效标志端子V-F。其结果,在通过此时的地址信号ADT指定的写缓冲器1600内的区域存储作为DL应用的软件,并且,在与由地址信号ADT指定的区域对应的有效位存储表示为有效数据的高电平。通过将有效位设定为高电平,所存储的DL应用被在适当的定时传送并存储到快闪存储器1604。
与之相对,例如,在由地址信号AD指定的区域为由DL区域指定信号DLD指定的区域外的区域的情况下,比较电路1601的输出信号成为低电平。此时,当DL应用检测信号DLT成为高电平时,与电路1602的输出信号成为高电平。由此,高电平的错误信号被供给到执行单元1401,执行单元1401能够识别出产生了错误。因为从与电路1602向与非电路1603供给高电平的输出信号、和通过相位反转而形成的高电平的有效标志VFG,所以与非电路1603的输出信号成为低电平。其结果为,此时,与由地址信号AD指定的区域对应的有效标志被设定为低电平。通过将有效标志设定为低电平,存储于由此时的地址信号AD指定的区域的数据未被传送到快闪存储器1604,从而不会被写入快闪存储器1604。
这样,在下载特定的DL应用时,特定的DL应用的地址位于由DL指定区域信号DLD表示的地址的范围内,判定为是特定的DL应用,在该情况下,将有效位设定为有效数据。将被写入作为有效数据设定的区域的DL应用写入快闪存储器1604的DL应用区域DAR。通过使用写缓冲器1600,能够实现写入的高速化。与之相对,在特定的DL应用的地址表示由DL指定区域信号DLD表示的地址的范围之外的范围的情况下,特定的DL应用未被写入快闪存储器1604,而产生表示错误的错误信号。
作为半导体装置,以微处理器1401为例进行了说明,但半导体装置不限于此。
进而,也可以使用个人电脑或智能手机之类的便携终端来代替微处理器1401。另外,也可以使用光盘再生装置或经由通信线路提供收费软件的软件存储装置来代替闪存烧写器1105。另外,软件存储单元1402也可以使用硬盘或存储卡。这样,即使变更微处理器、闪存烧写器及软件存储单元,也能够得到同样的效果。
<变形例>
实施方式5例如也可以与实施方式1或实施方式2组合。即,将图2所示的许可存储单元1103(图6所示的许可存储部1305)追加到实施方式5中说明的结构中。该情况下,通过许可管理单元1403实施存储于许可存储单元1103的许可信息的更新,并且也实施由许可信息表示的收费软件可安装数的确认。
其结果为,通过可安装数和DL应用区域DAR的存储容量这两方,来控制软件向软件存储单元1402内的DL应用区域DAR的存储。该情况下,即使存储于许可存储单元1303的许可信息例如被不正当地变更,由于DL应用区域DAR的存储容量被限制,所以仍能够实现损害的降低。
(实施方式6)
在该实施方式6中,与实施方式1~5不同,通过许可管理单元控制执行单元进行的收费软件的执行。
实施方式6的微处理器的结构与实施方式5中说明的微处理器的结构类似。主要不同的部分是许可管理单元。参照图12进行说明,实施方式6的微处理器1400具备执行单元1401和软件存储单元1402及许可管理单元1403。与实施方式5同样地,该实施方式的微处理器1400除上述的单元以外,还具备多个单元,但在此也省略。
另外,在该实施方式6中,也与实施方式5相同,如图13所示,软件存储单元1402的区域(地址空间)AR被分成用户区域UAR和DL应用区域DAR,如图14所示,用户区域UAR和DL应用区域DAR的存储容量比率互不相同的微处理器由供应商(制造商)提供。用户区域UAR及DL应用区域DAR的容量比率与实施方式5相同,通过实施方式1中说明的方法(1)~(6)决定。
接着,使用图18说明实施方式6的许可管理单元1403的动作。图18是表示本实施方式的许可管理单元1403的动作的流程图。
在步骤S70中,执行单元1401从软件存储单元1402读入(调用)软件SW。例如,在执行单元1401执行规定的软件的过程中,通过与调用相关的指令(例如转移指令jump、呼叫指令call等)调用软件(SW)。
许可管理单元1403在步骤S71中判定通过执行单元1401调用的软件(对象SW)是否是DL应用(收费软件)。是否是DL应用的判定例如如下实施。即,在将该DL应用存储到软件存储单元1402时,将存储于该软件的属性信息部ATB的信息、例如唯一编号ID存储于许可管理单元1403。此时,将该软件的地址、例如开始地址以与唯一编号ID对应的方式存储于许可管理单元1403。在步骤S71中,许可管理单元1403根据与调用相关的指令取得软件的开始地址,基于所取得的开始地址来检索存储于许可管理单元1403的开始地址。若通过检索而找到与一致的开始地址对应的唯一编号ID,则判定为DL应用(收费软件),若未找到,则判定为不是DL应用。
在步骤S71中,在判定为软件是DL应用的情况下(是),许可管理单元1403接着执行步骤S72。与之相对,在步骤S71中,在判定为软件不是DL应用的情况下(否),许可管理单元1403接着执行步骤S74。
在步骤S72中,许可管理单元1403判定执行单元1401执行DL应用时的地址(执行地址)是否在DL应用区域DRA内。在此,如图14所示,DL应用区域DRA的范围根据微处理器的种类(1400-1~1400-4)而不同。在步骤S72中,在判定为执行地址为DL应用区域DRA内的情况下(是),许可管理单元1403接着执行步骤S74。与之相对,在步骤S72中,在判定为执行地址为DL应用区域DRA之外的区域的情况下(否),许可管理单元1403接着执行步骤S73。
在步骤S73中,许可管理单元1403禁止执行单元1401执行该软件。另外,在步骤S73中,许可管理单元1403对执行单元1401通知有错误。
在步骤S74中,许可管理单元1403许可执行单元1401进行该软件的调用及执行。由此,执行单元1401能够执行规定的软件。
在步骤S70中,在调用的软件是DL应用的情况下,执行步骤S72。在步骤S72中,若DL应用的执行地址为DL应用区域内的区域,则在步骤S74中许可执行单元1401执行DL应用。与之相对,若DL应用的执行地址为DL应用区域之外的区域,则执行步骤S73。该情况下,禁止通过执行单元1401执行DL应用。另外,若是DL应用,则在步骤S74中基于许可执行单元1401的执行。
像这样,通过许可管理单元1403控制执行单元1401执行DL应用(收费软件)。由此,例如,能够在进行了在用户区域UAR保存DL应用(收费软件)等不正当操作的情况下,防止DL应用被执行。
<硬件进行的控制>
图18中,说明了通过软件控制DL应用的执行的例子,但对执行DL应用的控制也可以由硬件实现。即,也可以使用逻辑电路等硬件进行控制。图19是表示通过硬件控制DL应用的执行的情况下的结构的框图。
图19中,1700表示快闪存储器。该快闪存储器1700相当于软件存储单元1401。因此,快闪存储器1700的存储区域成为软件存储单元1401的存储区域AR,快闪存储器1400的存储区域被分成用户区域UAR和DL应用区域DAR。
如图16中所说明的那样,快闪存储器具备地址端子、写入端子、读出端子及数据端子。图19中,将地址端子作为ADT表示,将读出端子作为RT表示。图19中省略了写入端子及数据端子。
快闪存储器1700通过向读出端子RT供给高电平的读出信号RE而读出在由供给到地址端子ADT的地址信号指示的区域存储的数据。读出的数据经由未图示的数据端子供给到执行单元1401。执行单元1401将所供给的数据作为指令进行执行。由此,微处理器1400进行规定的动作。
许可管理单元1403输出指定DL应用区域DAR的DL区域指定信号DLD、和表示是否是DL应用的DL应用检测信号DLT。在此,DL区域指定信号DLD是表示在快闪存储器1700中分配的DL应用区域DRA的范围的地址信号。另外,DL应用检测信号DLT为在图18的步骤S71中如所说明那样形成的信号即DL应用的情况下,成为高电平,在不是DL应用的情况下,成为低电平。另外,在图19中,地址信号AD通过执行单元1401形成,读出信号RE也通过执行单元1401形成。
图19中,1701为比较电路,比较电路1701将来自执行单元1401的地址信号AD、和来自许可管理单元1403的DL区域指定信号DLD进行比较。通过比较,在由地址信号AD指定的区域存在于由DL区域指定信号DLD指定的区域内的区域时,比较电路1701将输出信号设为高电平。另一方面,在由地址信号AD指定的区域存在于由DL区域指定信号DLD指定的区域之外时,比较电路1701将输出信号设为低电平。
来自比较电路1701的输出信号的相位被反转且向与电路1702的一输入端供给。向与电路1702的另一输入端供给DL应用检测信号DLT,与电路1702的输出信号的相位被反转且向与电路1703的一输入端供给。另外,与电路1702的输出信号被作为错误信号而供给到执行单元1401。向与电路1703的另一输入端供给来自执行单元1401的读出信号RE,且与电路1703的输出信号被供给到快闪存储器1700的读出端子RT。
在执行单元1401执行软件时,执行单元1401将软件的执行地址作为地址信号AD进行输出。另外,为了从快闪存储器1700读出软件,将读出信号RE设为高电平。
若从执行单元1401输出的执行地址即地址信号AD指定由DL区域指定信号DLD指定的区域内的区域,则从比较电路1701输出高电平的输出信号。将该高电平进行相位反转,向与电路1702的一输入端供给低电平。其结果为,与电路1702的输出信号成为低电平。执行单元1401在错误信号为高电平时,识别为产生错误。因此,在供给了低电平的错误信号的状态下,识别为未产生错误。
从与电路1702输出的低电平的输出信号的相位被再次反转且向与电路1703的一输入端供给。此时,执行单元1401为了读出软件而将读出信号设为高电平。其结果为,与电路1703将高电平的输出信号供给到快闪存储器1700的读出端子RT。由此,快闪存储器1700将由执行地址即地址信号AD指定的区域内存储的数据供给到执行单元1401。执行单元1400将所供给的数据作为软件的指令执行。
由此,能够从通过DL区域指定信号DLD指定的区域读出DL应用(收费软件)并由执行单元1401执行。
与之相对,在来自执行单元1401的地址信号AD指定了由DL区域指定信号DLD指定的区域之外的区域的情况下,比较电路1701的输出信号成为低电平。如果DL应用检测信号DLT为高电平,则与电路1702的输出信号成为高电平。其结果为,执行单元1401识别到产生了错误。另外,由于与电路1702的输出信号成为高电平,从而与电路1703的输出信号成为低电平。即,向快闪存储器1700的读出端子RT供给低电平的读出信号。其结果,不从快闪存储器1700输出数据,停止软件向执行单元1401的供给。即,禁止执行单元1401执行DL应用(收费软件)。
这样,在从由DL区域指定信号DLD指定的区域读出了DL应用(收费软件)的情况下,许可执行单元1401进行的执行,在从由DL区域指定信号DLD指定的区域之外的区域读出了DL应用(收费软件)的情况下,禁止执行单元1401进行的执行。
图20是表示通过硬件控制DL应用的执行的情况下的其它结构的框图。
图20中,1800表示指令队列。从软件存储单元1403向指令队列1800依次存储指令,并向执行单元1401供给。指令队列1800具备闪存端子FLT。通过向该闪存端子FLT供给高电平的闪存信号,清除存储于指令队列1800的所有指令。此外,图20中,从软件存储单元1402至指令队列1800的路径省略。
图20所示的地址信号AD、DL区域指定信号DLD、DL应用检测信号DLT及错误信号与图19所示的各信号相同,所以省略说明。
图20中,1801是比较电路,比较电路1801将来自执行单元1401的地址信号AD和DL区域指定信号DLD进行比较。比较电路1801在地址信号AD指定了由DL区域指定信号DLD指定的区域之外的区域的情况下,输出低电平的输出信号。与之相对,在地址信号AD指定由DL区域指定信号DLD指定的区域内的区域的情况下,比较电路1801输出高电平的输出信号。比较电路1801的输出信号的相位被反转且向与电路1802的一输入端供给,且向与电路1802的另一输入端供给DL应用检测信号DLT。与电路1802的输出信号被作为闪存信号供给到指令队列1800的闪存端子FLT,并且被作为错误信号而供给到执行单元1401。
在执行单元1401执行DL应用(收费软件)的情况下,DL应用检测信号DLT成为高电平。在执行单元1401从DL应用区域DAR之外的区域、即用户区域UAR读出执行的DL应用的情况下,地址信号AD指定由DL区域指定信号DLD指定的区域之外的区域。其结果为,比较电路1801的输出信号成为低电平,与电路1802的输出信号成为高电平。即,闪存信号成为高电平,存储于指令队列1800的所有的指令被删除。由此,禁止执行单元1401执行DL应用。另外,此时,因为错误信号成为高电平,所以执行单元1401能够识别出产生了错误。
与之相对,在从DL应用区域DAR读出DL应用的情况下,地址信号AD执行由DL区域指定信号DLD指定的区域内的区域。其结果为,比较电路1801的输出信号成为高电平,向指令队列1800的闪存端子FLT供给低电平的闪存信号,向执行单元1401供给低电平的错误信号。由此,存储于指令队列1800的指令不被删除,而被供给到执行单元1401来执行。即,许可执行单元进行的DL应用(收费软件)的执行。另外,执行单元1401因为错误信号是低电平,所以能够识别出未产生错误。
在图20所示的例子中,通过删除存储于指令队列1800的指令,来禁止执行单元1401执行DL应用。
在执行单元1401识别到因错误信号而产生了错误的情况下,执行错误处理用的软件。通过执行该错误处理用的软件,能够进行各种错误对策。例如,在图20所示的例子中,对在产生了错误时,清除存储于指令队列1800的所有指令进行了说明,但能够通过错误处理的软件实施各种对策。例如,在指令队列1800中设置表示所存储的指令是否有效的有效位,但也可以通过执行错误处理用的软件将有效位变更为表示指令为无效的无效。另外,在指令队列1800中,也可以通过执行错误处理用的软件,使指定存储指令的场所的写指针的更新。
作为半导体装置,以微处理器1401为例进行了说明,但半导体装置不限于此。
进而,也可以使用个人电脑或智能手机之类的便携终端来代替微处理器1401。另外,也可以使用光盘再生装置或经由通信线路提供收费软件的软件存储装置来代替闪存烧写器1105。另外,软件存储单元1402也可以使用硬盘或存储卡。这样,即使变更微处理器、闪存烧写器及软件存储单元,也能够得到同样的效果。
<变形例1>
将实施方式6例如与实施方式1或实施方式2组合。即,将图2所示的许可存储单元1103(图6所示的许可存储部1305)追加到通过实施方式6说明的结构中。该情况下,通过许可管理单元1403实施存储于许可存储单元1103的许可信息的更新,并且也实施通过许可信息表示的收费软件可安装数的确认。
其结果为,通过可安装数和DL应用区域DAR的存储容量这两方,控制向软件存储单元1402内的DL应用区域DAR保存软件。该情况下,即使存储于许可存储单元1303的许可信息例如被不正当地变更,由于限制了DL应用区域DAR的存储容量,所以也能够实现损害的降低。
<变形例2>
将实施方式6与实施方式5组合。由此,能够在下载DL应用时和执行DL应用时这两方进行是否不正当的确认,能够更强固地对抗不正当的行为。
<变形例3>
将实施方式6与实施方式1或2和实施方式5组合。由此,能够实现降低不正当引起的损害,并且能够更强固地对抗不正当的行为。
(实施方式7)
在实施方式5及6中,将软件存储单元1402的区域AR的一部分区域分配给DL应用区域DAR,将除DL应用区域DAR以外的区域分配给用户区域UAR。在该实施方式7中,在通过执行单元1401执行用户区域UAR中的软件时,限制向DL应用区域DAR的访问。
图21是表示实施方式7的微处理器的动作的概念图。在执行单元1401执行用户区域UAR中的软件时,禁止数据项DL应用区域DAR的写入及读出。该情况下,能够通过用户区域UAR中的软件,进行DL应用区域DAR中软件的执行。
由此,能够通过执行用户区域UAR中的软件,防止实施存储于DL应用区域DAR中的软件的分析和/或拷贝。其结果为,能够进行存储于DL应用区域DAR的收费软件的保护(防止分析、拷贝)。
根据该实施方式7,即使不对微处理器设置内存管理功能(MMU)或内存保护功能之类的高功能(高成本),也能够防止软件的分析、拷贝。即,在对用户提供微处理器时,分配DL应用区域DAR和用户区域UAR,但此时,仅设定上述那种访问的限制即可,能够以低成本提高安全。
此外,在执行DL应用区域中的软件时,能够进行数据向用户区域UAR的写入及读出。另外,用户区域UAR中的软件和DL应用区域中的软件之间的数据的交接使用用户区域UAR中的区域或执行单元1401所具备的寄存器来实施。
此外,如图21所示,作为禁止数据的读出以及写入为能够执行软件的结构,例如只要在执行单元1401凹具备的程序计数器访问DL应用区域DAR的情况下,许可访问,在除此以外的情况下,禁止访问即可。
(实施方式8)
在实施方式5及6中,将软件存储单元1402的区域AR的一部分区域分配给DL应用区域DAR,将除DL应用区域DAR以外的区域分配给用户区域UAR。在该实施方式8中,例如用于一次存储数据的数据用的存储单元也分为DL应用用和用户用。
图22是表示实施方式8的微处理器的动作的概念图。图22中,DAR-D表示DL应用用数据区域,UAR-D表示用户用数据区域,数据用的存储单元被分成DL应用用数据区域DAR-D和用户用数据区域UAR-D。在该实施方式8中,在执行单元1401执行用户区域UAR中的软件时,禁止数据项DL应用用数据区域DAR-D的写入及读出。与之相对,在执行单元1401执行DL应用区域DAR中的软件时,许可相对于用户用数据区域UAR-D写入及读出数据。
与之相对,通过实施用户区域UAR中的软件,能够防止不正当地分析和/或拷贝DL应用用数据区域DAR-D中的数据,与实施方式7同样地,能够更强固地保护收费软件。另外,与实施方式7同样地,能够以低成本提高安全。
此外,作为DL应用用数据区域DAR-D和用户用数据区域UAR-D,可以使用内置于微处理器1400的静态存储器,也可以使用设置于微处理器1400的外部的易失性存储器。
当然,实施方式7和实施方式8可以组合使用,也可以分别使用。
(实施方式9)
实施方式9提供使用实施方式1~8中说明的半导体装置及电子装置回收许可费的许可费回收系统。图24是表示许可费回收系统的结构的系统图。图24所示的系统中,供应商和/或制造商将半导体装置或电子装置和收费软件提供给用户,供应商和/或制造商从用户回收这些产品的等价回报。因此,图24也能够看作表示供应商(制造商)和用户之间的商业模式。该情况下,供应商和/或制造商也可以是多个。
图24中,1900表示用户,1910表示供应商和/或制造商。供应商(制造商)1910将实施方式1~8中说明的半导体装置(微处理器)或电子装置和收费软件提供给用户1900。同图中,1911表示供应商(制造商)1910制造、销售的装置,1901表示从供应商(制造商)1910向用户1900提供1915的装置。在此,将实施方式1~8中说明的半导体装置及电子装置统称为装置。即,在此所述的装置1901及1911是实施方式中说明的半导体装置或电子装置。
图24中,1920-1及1920-2分别表示收费软件。收费软件1920-1和/或1920-2例如根据用户1900的请求从供应商(制造商)向用户1900提供1921。在此,为了便于说明,首先说明同一供应商(制造商)提供1915、1921装置1911和收费软件1920-1、1920-2的情况,当然,提供装置1911的供应商(制造商)、和提供收费软件1920-1、1920-2的供应商(制造商)不需要相同。进而,收费软件1920-1和1920-2也可以由不同的供应商(制造商)提供。另外,也可以由提供装置1911的供应商(制造商)提供多个收费软件1920-1、1920-2中的至少一个。
图24中,装置1901、1911的结构具有实施方式1~8中说明的结构,但同图中仅描绘说明所需的结构,其它结构省略。同图中,1912表示软件存储装置,1913表示许可存储装置,1914表示许可管理装置。在此,软件存储装置1912是实施方式中说明的软件存储部(图1中为1002)和软件存储单元(图2中为1102)的总称。另外,许可存储装置1913是许可存储部(图1中为1003)和许可存储单元(图2中为1103)的总称。同样,许可管理装置1914是许可管理部(图1中为1004)和许可管理单元(图2中为1104)的总称。
供应商(制造商)1910在向用户1900提供装置1911之前,将实施方式中说明的许可信息存储于许可存储装置1913。在供应商(制造商)向用户1900提供装置1911时,提供1915具备存储有许可信息的许可存储装置1913的装置1911。如实施方式中所说明的那样,供应商(制造商)1910在许可存储装置1913中存储的许可信息是表示收费软件可安装数、可安装的点、可安装的存储容量等的信息。
此时,在装置1911的硬件价格(HW价格)上附加通过许可信息表示的可安装的量、即与许可数相当的许可费,确定供应商(制造商)1910向用户1900提供的装置1911的价格、即销售价格。即,通过在装置1911的HW价格上附加(加上)与许可数相当的许可费而决定出的销售价格,供应商(制造商)1910向用户1900提供1915装置1911。该情况下,销售价格根据向许可存储装置1913存储的许可信息而变化。
用户1900购买了装置1911后,为了实现用户1900期望的功能,根据需要,经由软件提供装置1904向所购买的装置(图24中,所购买的装置被作为1901表示)下载收费软件。该情况下,如实施方式1~8中所说明,收费软件的下载、即向软件存储装置1912的存储或执行被许可管理装置1914许可,直至达到由存储于许可存储装置1913的许可信息表示的许可数为止。因此,用户1900在下载之前支付收费软件的承诺所要求的许可费。此外,图24中示出为了直至由许可信息表示的许可数为止许可下载,通过许可管理部1914监视下载。
此外,在超过了由许可信息表示的许可数的情况下,许可管理装置1914限制下载或执行。因此,许可信息也能够看作是限制下载或实施的制限信息。
即,在该实施方式中,设为预付许可费。因此,用户1900相对于来自供应商(制造商)1910的装置1911的提供1915。将装置的硬件价格(HW价格)1931和许可费的预付价格1930(图24中记载为预付)一并作为购买价格来提供。此外,在此,供应商(制造商)1910决定的销售价格和用户1900支付的购买价格相同。
下面示出销售价格(购买价格)根据存储于许可存储装置1913的许可信息而变化的例子。
以许可信息表示收费软件可安装数的情况为例,先进行说明。在此,装置1911的硬件价格(HW价格)例如为10美元,每一收费软件为30美元。该情况下,存储有收费软件可安装数示出0的许可信息的装置1911的销售价格为10美元。与之相对,存储有收费软件可安装数示出1的许可信息的装置1911的销售价格为40美元,存储有收费软件可安装数示出2的许可信息的装置1911的销售价格为70美元,之后,收费软件可安装数每增加1,装置1911的销售价格就提高30美元。
另外,对许可信息表示收费软件的可安装的点的情况进行说明。在此,装置1911的硬件价格(HW价格)为10美元,1点为1美元。该情况下,存储有点数示出0的许可信息的装置1911的销售价格为10美元。与之相对,存储有点数示出50的许可信息的装置1911的销售价格为60美元,存储有点数示出100的许可信息的装置1911的销售价格为110美元。以后,点数每增加1,装置1911的销售价格就提高1美元。该情况下,如果针对1个收费软件的许可承诺所要求的点数例如为50点,则相对于销售价格为60美元的装置1911,许可下载1个收费软件,相对于销售价格为110美元的装置1911,许可下载2个收费软件。关于许可的个数以上的收费软件,下载失败。即,下载被限制。
进而,对许可信息表示收费软件的可安装的存储容量(DL应用区域DAR的存储容量)的情况进行说明。在此,装置1911的硬件价格(HW价格)为10美元。该情况下,软件存储装置1912的区域(地址空间)AR也能够看作全部分配给用户区域UAR。在对软件存储装置1911的区域AR中的DL应用区域DAR分配了1M比特(1MB)的情况下,销售价格例如为60美元,在对DL应用区域DAR分配了2M比特(2MB)的情况下,销售价格为110美元,在对DL应用区域DAR分配了4M比特(4MB)的情况下,销售价格为210美元。这样,例如随着每多分配1M比特的存储容量,例如就提高50美元。该情况下,能够进行收费软件的下载直至对DL应用区域DAR分配的存储容量因下载的收费软件而变为不足为止。直至DL应用区域DAR产生不足为止下载的收费软件数量为由许可信息表示的许可数,与该许可数对应的许可费被预付。
在看作许可费回收系统的情况下,许可信息相当于预付的许可费。即,许可信息表示与预付的许可费对应的值。若叙述一例,则根据预付的许可费,许可信息表示的付费软件可安装数变化。许可管理装置1914在存储或执行收费软件时,在通过此时的许可信息表示的许可费满足该收费软件的许可费时,即能够支付该收费软件的许可费时,许可收费软件的存储或执行。另外,许可管理装置1914在许可了收费软件的存储或执行的情况下,将该收费软件的许可费从通过许可信息表示的费用(许可费)减去,将与通过减法运算得到的许可费相当的许可信息存储于许可存储装置。
另外,如实施方式1所述,在卸载了收费软件的情况下,许可管理装置1914能够更新许可信息。这意味着,在看作许可费回收系统的情况下,将与将卸载的收费软件的许可费与此时通过许可存储装置所存储的许可信息表示的费用(许可费)相加而得到的许可费相当的许可信息存储于许可存储装置。
如图14所示,在将软件存储装置的区域AR分成DL应用区域DAR(第一存储区域)和用户区域(第二区域)UAR的情况下,第一存储区域越大,预付的许可费越高,因此,越是第一存储区域大的装置,越高。
关于从供应商(制造商)1910向用户1900的收费软件的提供1921,存在各种方法。在供应商(制造商)提供1921收费软件时,也可以不对用户1900要求与收费软件等价的金额。这是因为,在用户1900购买装置1911时,与可以下载到装置1911的收费软件对应的费用(许可费)包含在装置1911的销售价格中,通过预付支付给了供应商(制造商)。因此,收费软件的提供1921的方法能够采用各种方法。
例如,供应商(制造商)1910将收费软件1920-1及1920-2存储于光盘等存储介质中,将该光盘等存储介质提供1921给用户1910。该情况下,软件提供装置1904例如由光盘再生装置构成。用户1900通过使用该光盘再生装置再生所提供的光盘,对所购买的装置1901提供收费软件。当然,承诺收费软件的许可的许可费仅为预付,关于光盘等存储介质的费用及存储所需的费用,不限制供应商(制造商)1910请求用户1900支付。
另外,也可以在供应商(制造商)1910侧所具备的服务器装置保存有收费软件1920-1、1920-2,用户1900经由因特网等通信线路从供应商(制造商)1910侧的服务器装置购买收费软件,将其提供给装置1901。该情况下,软件提供装置1904例如包含用户1900侧的服务器装置,进行从用户1900侧的服务器装置向装置1901的下载。
例如,在用户1900利用工厂的制造生产线制造搭载有所购买的装置1901的产品的情况下,考虑到在工厂的制造生产线上会存在安装收费软件的工序。该情况下,处于安装工序的制造装置(例如闪存烧写器、ROM写入器等)或与制造装置连接的个人电脑等信息处理装置为软件提供装置1904,在该软件提供装置1904存储收费软件1920-1、1920-2。将所存储的收费软件1920-1、1920-2在安装工序中提供给装置1901。该情况下,关于向制造装置、信息处理装置存储收费软件,不需要特别限制。因此,例如,如果用户1900经由通信线路预先将收费软件存储于制造装置和/或信息处理装置,则每次向装置1901下载收费软件时,不需要每次经由通信线路进行下载。另外,在根据制造产品的计划,用户1900增加制造生产线的情况下,也能够拷贝并利用预先存储的收费软件。相反,在减少制造生产线的情况下,对于多余的收费软件,也能够自由废弃。因此,能够降低用户1900花费的工序,且降低繁琐性。
用户1900购买的装置1901如实施方式1~8中所述,仅能够下载收费软件直至由许可信息表示的许可数为止。换言之,仅能够将与购买价格(销售价格)对应的许可数的收费软件下载到装置1901,且超过该许可数的收费软件的下载被限制。因此,用户1900无需支付用于接收承诺许可的许可费,不用将收费软件下载至装置1901,供应商(制造商)1910能够可靠地回收许可费。
用户1900不需要进行用于根据制造的产品的数量而另行支付许可费的处理。
另外,与收费软件的安装数无关地,用户1900也可以不支付一定的许可费。在支付一定的许可费的情况下,对于安装数少的用户,价格相对较高。根据实施方式,与安装数无关地,无需支付一定的许可费的手续,因此,能够防止许可费变得相对较高。
进而,用户1900无需导入高昂的许可管理装置,仅在制造生产线上设置上述那种制造装置和/或信息处理装置即可,能够降低用户的负担。另外,供应商(制造商)1910无需监视是否适当运用用户1900导入的许可管理装置,因此,也能够实现供应商(制造商)的负担的降低。
许可费被预付,超过预付的许可费安装收费软件的情况被许可管理装置1914的情况限制。因此,收费软件的提供方法能够采用各种方法。例如,即使没有因特网等通信线路,也能够进行许可管理。另外,能够防止在没有承诺的状态下不正当地使用收费软件,能够防止许可费的漏收。
对同一供应商(制造商)1910将收费软件1920-1、1920-2和装置1911提供给用户1900的情况进行说明,但不限于此。将收费软件1920-1、1920-2提供给用户1900的提供者(软件发布源)、和将装置1911提供给用户1900的提供者(供应商、制造商)也可以不同。
例如,也可以是,软件发布源(提供者)A将收费软件1920-1提供给用户1900,软件发布源(提供者)B将收费软件1920-2提供给用户1900,供应商和/或制造商(提供者)1910将装置1911提供给用户1900。即,有时提供收费软件的发布源和提供装置1911的供应商(制造商)不同。
该情况下,供应商(制造商)1910也存储相当于许可数的信息即许可信息,并将装置1911销售给用户1900。用户1900将装置1911的硬件价格(HW价格1931)上附加了与由许可信息表示的许可数对应的许可费(预付价格1930)的金额(销售金额、购买金额)支付给供应商(制造商)1910。供应商(制造商)1910将由用户1900支付的金额中的、许可费(预付价格1930)中的一部分作为收费软件1920-1的许可费1932-1分配给软件发布源A,将剩余的许可费作为收费软件1920-2的许可费1932-2分配给软件发布源B。由此,软件发布源A及B能够分别回收许可费来作为收费软件的对等金额。
此外,分配许可费(预付价格1930)时的分配比率可以一定,例如也可以由用户1900确认有人气的收费软件,使针对有人气的收费软件的分配金额变高。
该情况下,软件发布源A、B也与供应商(制造商)1910同样地,不需要监视向用户1900侧导入的许可管理装置,因此,能够实现负担的降低。另外,能够防止许可费的漏收。
当然,例如,在软件发布源B为供应商(制造商)1910的情况下,可以仅将许可费1932-1分配给软件发布源A。
实施方式1~9中说明的电子装置能够看作是具备基于许可信息管理收费软件的下载的下载管理功能的电子装置。在看作是具备下载管理功能的电子装置的情况下,能够看作寻求收费软件的对等金额即许可费的下载收费系统记载于本说明书中。在这样认为的情况下,在下载收费系统中,在许可存储部预先存储相当于许可费的许可信息。基于所存储的许可信息控制收费软件向软件存储部的存储,通过由预先存储的许可信息表示的许可费许可对承诺了许可的收费软件的执行。
另外,实施方式1~9中说明的半导体装置(微处理器)能够看作是具备基于许可信息管理下载的下载管理功能的半导体装置。在看作是具备下载管理功能的半导体装置的情况下,下载收费系统可以看作是在本说明书中有记载。在这样认为的情况下,在下载收费系统中,在许可存储单元预先存储相当于许可费的许可信息。基于所存储的许可信息,控制收费软件向软件存储单元的存储或执行,通过由预先存储的许可信息表示的许可费许可对承诺许可的收费软件的执行。在此,基于所存储的许可信息进行收费软件向软件存储单元的存储的控制例如如实施方式1及实施方式5中所述那样执行。另外,基于所存储的许可信息,对执行收费软件的控制例如如实施方式6中所述那样执行。
在本说明书中,如实施方式9中所使用,有时将执行单元及执行部统称为执行装置,将软件存储单元及软件存储部统称为软件存储装置,将许可存储单元及许可存储部统称为许可存储装置,将许可管理单元及许可管理部统称为许可管理装置。
本说明书中,能够看作公开了管理收费软件的许可的许可管理方法。该情况下,许可管理方法具备执行装置和软件存储装置。该许可管理方法能够看作具备在下载收费软件时,基于存储于许可管理装置的许可信息,控制下载的收费软件向软件存储装置的存储或执行的工序(许可管理工序)。在许可管理工序中,通过基于许可信息控制存储或执行,通过由许可信息表示的许可费许可对承诺许可的收费软件的执行。在此,也基于所存储的许可信息控制收费软件向软件存储单元的存储的情况例如示于实施方式1及实施方式5。另外,基于所存储的许可信息控制收费软件的执行例如示于实施方式6。
另外,在作为许可管理方法来掌握的情况下,向许可存储装置存储许可信息是由供应商(制造商)进行的,因此,是在许可管理工序之前进行的工序(存储工序)。
在许可信息看作是表示可存储于软件存储装置的收费软件的许可数的信息的情况下,每当存储收费软件时,能够看作通过许可管理装置使许可数减少。在这种情况下,在卸载时,能够看作许可数增加或被维持。另外,在许可信息看作是表示能够由执行装置执行的收费软件的许可数的信息的情况下,因为可执行的收费软件增加,从而能够看作通过许可管理装置使许可数减少。
<附注>
本说明书中公开有多个发明,其中的几个记载于权利要求书中,但也公开有其以外的发明,以下举例其代表性的发明。
(A)一种下载收费系统,使用具备下载管理功能的电子装置,其中,
上述电子装置具备:
执行部,其执行软件;
软件存储部,其与上述执行部结合;
许可存储部,其存储表示承诺软件的许可的许可数的许可信息;以及
许可管理部,在下载请求承诺许可的软件时,基于保存于上述许可存储部的许可信息,控制将所下载的软件向上述软件存储部的保存,
在上述许可存储部预先存储有表示承诺许可的许可数的许可信息,基于所存储的许可信息,控制将请求承诺许可的软件向上述软件存储部的保存。
(B)根据上述(A)所述的下载收费系统,其中,
在上述许可存储部预先存储有表示承诺多个软件的许可的许可数的许可信息,
上述许可管理部将请求承诺许可的软件保存到上述软件存储部,直至达到由预先存储的许可信息表示的许可数为止。
(C)根据上述(B)所述的下载收费系统,其中,
在将请求承诺许可的软件保存于上述软件存储部时,上述许可管理部使由上述许可信息表示的许可数减少。
(D)根据上述(C)所述的下载收费系统,其中,
在卸载了请求承诺许可的软件时,上述许可管理部使由上述许可信息表示的许可数增加。
(E)根据上述(C)所述的下载收费系统,其中,
在下载了请求承诺许可的软件时,上述许可管理部维持由上述许可信息表示的许可数。
(F)一种下载收费系统,使用具备下载管理功能的半导体装置,其中,
上述半导体装置具备:
执行单元,其执行软件;
软件存储单元,其与上述执行单元结合;
许可存储单元,其存储表示承诺软件的许可的许可数的许可信息;以及
许可管理单元,在下载请求承诺许可的软件时,基于保存于上述许可存储单元的许可信息,控制将所下载的软件向上述软件存储单元的保存或由上述执行单元的执行,
在上述许可存储单元预先存储许可信息,基于所存储的许可信息,控制将请求承诺许可的软件向上述软件存储单元的保存或由上述执行单元的执行。
(G)根据上述(F)所述的下载收费系统,其中,
在上述许可存储单元预先存储表示承诺多个软件的许可的许可数的许可信息,上述半导体装置被提供,
上述许可管理单元许可将请求承诺许可的软件向上述软件存储单元的保存或由上述执行单元执行,直至达到由预先存储的许可信息表示的许可数为止。
(H)一种许可管理系统,其具备:
执行部,其执行软件;
软件存储部,其与上述执行部结合;
许可存储部,其保存许可信息;以及
许可管理部,其基于上述许可信息控制将请求承诺许可的软件向上述软件存储部的保存,
在从提供软件的提供装置接收到请求承诺许可的软件的提供时,上述许可管理部基于上述许可信息,控制将上述软件向上述软件存储部的保存,
请求上述承诺许可的软件具备表示请求承诺许可的属性信息,
上述许可管理部基于软件所具备的属性信息,判定是否是被请求承诺许可的软件。
(I)根据上述(H)所述的的许可管理系统,其中,
上述提供装置具备保存有请求承诺许可的软件的存储介质。
(J)根据上述(I)所述的许可管理系统,其中,
上述提供装置经由通信线路提供请求承诺许可的软件。
(K)一种许可费回收系统,在具备执行软件的执行装置的装置中,在执行请求许可承诺的软件的情况下,回收作为许可承诺的对等金额而支付的许可费,其中,
上述装置具备与上述执行装置结合的软件存储装置、许可存储装置、基于存储于上述许可存储装置的许可信息来控制将请求许可承诺的软件向上述软件存储装置的保存或控制上述执行装置的执行的许可管理装置,
在上述许可存储装置预先存储与规定的许可费相当的许可信息,上述装置被以包含上述规定的许可费的价格提供,
在购买的上述装置中,在包括或执行请求许可承诺的软件时,上述许可管理装置在由存储于上述许可存储装置的许可信息表示的费用满足软件的许可费时,许可将软件存储于上述软件存储装置或由上述执行装置执行。
(L)根据上述(K)所述的的许可费回收系统,其中,
上述规定的许可费是超过多个软件的许可费的费用,
在由存储于上述许可存储装置的许可信息表示的费用满足软件的许可费时,上述许可管理装置将与通过从由存储于上述许可存储装置的许可信息表示的费用减去软件的许可费而得到的费用相当的许可信息,存储于上述许可存储装置。
(M)根据上述(L)所述的许可费回收系统,其中,
从上述装置的提供者向提供请求许可承诺的软件的提供者进行与许可费对应的费用的支付。
(N)根据上述(L)所述的许可费回收系统,其中,
在卸载了请求许可承诺的软件时,上述许可管理装置将与通过将所卸载的软件的许可费与由存储于上述许可存储装置的许可信息表示的费用相加而得到的费用相当的许可信息,存储于上述许可存储装置。
(O)根据上述(L)所述的许可费回收系统,其中,
上述软件装置具备许可请求许可承诺的软件的存储的第一存储区域、和不许可请求许可承诺的软件的存储的第二存储区域,第一存储区域和第二存储区域的大小根据上述许可信息而变化,随着上述第一存储区域的大小增大,变得高昂。
(P)一种装置,其具备:
执行装置,其执行软件;
软件存储装置,其与上述执行装置结合;以及
许可管理装置,其输出区域指定信号,所述区域指定信号指定上述软件存储装置的区域中的、能够进行请求承诺许可的软件的存储或执行的区域,
禁止将请求承诺许可的软件向由上述区域指定信号指定的区域外的区域的保存或禁止进行对在由上述区域指定信号指定的区域外的区域保存的、被请求承诺许可的软件的执行。
(Q)根据上述(P)所述的装置,其中,
上述装置是半导体装置。
(R)根据上述(Q)所述的装置,其中,
上述软件存储装置是快闪存储器。
(S)根据上述(P)所述的装置,其中,
上述装置是电子装置。
基于上述实施方式具体说明了由以上本发明人提出的发明,但本发明不限于上述实施方式,在不脱离其宗旨的范围内能够进行各种变更。
附图标记说明
1000 电子装置
1001 执行部
1002 软件存储部
1003 许可存储部
1004 许可管理部
1005 软件存储装置
1100 半导体装置
1101、1401 执行单元
1102、1402 软件存储单元
1103 许可存储单元
1104、1403 许可管理单元
1105 闪存烧写器
1400、1400-1~1400-4 微处理器
1900 用户
1910 供应商(制造商)
1901、1911 装置
1912 软件存储装置
1913 许可存储装置
1914 许可管理装置
1930 预付价格
1931 硬件价格

Claims (20)

1.一种许可管理方法,其具备执行软件的执行装置、和与所述执行装置结合的软件存储装置,其中,
所述许可管理方法具备存储许可信息的许可存储装置,所述许可信息表示承诺软件的许可的许可数,
所述许可管理方法具备许可管理工序,所述许可管理工序在下载被请求承诺许可的软件时,基于保存于所述许可存储装置的许可信息,控制所下载的软件向所述软件存储装置的保存或由所述执行装置进行的执行。
2.根据权利要求1所述的许可管理方法,其中,
所述许可管理方法在所述许可管理工序之前,还具有在所述许可存储装置中存储所述许可信息的存储工序。
3.根据权利要求2所述的许可管理方法,其中,
在所述存储工序中,表示承诺多个软件的许可的许可数的许可信息存储于所述许可存储装置,
通过存储于所述软件存储装置的许可信息表示的许可数在所述许可管理工序中被进行减法运算。
4.一种适于许可管理的半导体装置,其具备:
执行单元,其执行软件;
软件存储单元,其与所述执行单元结合;
许可存储单元,其保存许可信息;以及
许可管理单元,其基于所述许可信息控制被请求承诺许可的软件向所述软件存储单元的保存或由所述执行单元进行的执行。
5.根据权利要求4所述的适于许可管理的半导体装置,其中,
所述许可信息是表示软件的许可数的信息,
所述许可管理单元许可将被请求承诺许可的软件向所述软件存储单元保存或由所述执行单元执行,直至达到由所述许可信息表示的许可数。
6.根据权利要求5所述的适于许可管理的半导体装置,其中,
在将被请求承诺许可的软件保存于所述软件存储单元时,所述许可管理单元使由所述许可信息表示的许可数的数目减少。
7.根据权利要求6所述的适于许可管理的半导体装置,其中,
在卸载了被请求承诺许可的软件时,所述许可管理单元使由所述许可信息表示的许可数的数目增加。
8.根据权利要求6所述的适于许可管理的半导体装置,其中,
在卸载了被请求承诺许可的软件时,所述许可管理单元维持由所述许可信息表示的许可数的数目。
9.根据权利要求6所述的适于许可管理的半导体装置,其中,
被请求所述承诺许可的软件具备表示被请求承诺许可的属性信息,
所述许可管理单元基于软件具备的属性信息,判定是否是被请求承诺许可的软件。
10.根据权利要求6所述的适于许可管理的半导体装置,其中,
所述许可存储单元保存所安装的软件的历史信息,在进行与所述历史信息一致的软件的再安装时,所述许可管理单元维持由所述许可信息表示的许可数的数目。
11.根据权利要求5所述的适于许可管理的半导体装置,其中,
所述许可信息是表示所述软件存储单元中的区域中的、与许可数相当的存储容量的信息。
12.根据权利要求5所述的适于许可管理的半导体装置,其中,
所述许可信息是表示与许可数相当的点的信息。
13.根据权利要求4所述的适于许可管理的半导体装置,其中
在由所述执行单元执行的被请求承诺许可的软件的起动次数超过了规定的执行次数时,所述许可管理单元禁止所述软件的起动。
14.根据权利要求4所述的适于许可管理的半导体装置,其中,
所述执行单元、所述软件存储单元及所述许可管理单元形成于一个半导体芯片。
15.根据权利要求6所述的适于许可管理的半导体装置,其中,
所述半导体装置在所述许可存储单元中存储预定的许可信息并提供该许可信息。
16.一种许可管理系统,其具备:
执行部,其执行软件;
软件存储部,其与所述执行部结合;
许可存储部,其保存许可信息;
许可管理部,其基于所述许可信息来控制被请求承诺许可的软件向所述软件存储部的保存,
在从提供软件的提供装置接收被请求承诺许可的软件的提供时,所述许可管理部基于所述许可信息,控制所述软件向所述软件存储部的保存。
17.根据权利要求16所述的许可管理系统,其中,
所述许可信息是表示能够将被请求承诺许可的软件保存于所述软件存储部的许可数的信息,
所述许可管理部将被请求承诺许可的软件保存到所述软件存储部,直至达到由所述许可信息表示的许可数为止。
18.根据权利要求17所述的许可管理系统,其中,
在将被请求承诺许可的软件保存于所述软件存储部时,所述许可管理部使由所述许可信息表示的许可数的数目减少。
19.根据权利要求18所述的许可管理系统,其中,
在卸载了被请求承诺许可的软件时,所述许可管理部使由所述许可信息表示的许可数的数目增加。
20.根据权利要求18所述的许可管理系统,其中,
在卸载被请求承诺许可的软件时,所述许可管理部维持由所述许可信息表示的许可数的数目。
CN201580076260.XA 2015-08-26 2015-08-26 许可管理方法、适于许可管理的半导体装置及许可管理系统 Active CN107251032B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/074020 WO2017033310A1 (ja) 2015-08-26 2015-08-26 ライセンス管理方法、ライセンス管理に適した半導体装置およびライセンス管理システム

Publications (2)

Publication Number Publication Date
CN107251032A true CN107251032A (zh) 2017-10-13
CN107251032B CN107251032B (zh) 2021-11-05

Family

ID=58101210

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580076260.XA Active CN107251032B (zh) 2015-08-26 2015-08-26 许可管理方法、适于许可管理的半导体装置及许可管理系统

Country Status (7)

Country Link
US (1) US10936702B2 (zh)
EP (1) EP3343417A4 (zh)
JP (1) JP6439051B2 (zh)
KR (1) KR20180044835A (zh)
CN (1) CN107251032B (zh)
TW (1) TW201719473A (zh)
WO (1) WO2017033310A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11586710B2 (en) * 2019-12-24 2023-02-21 Microsoft Technology Licensing, Llc System and method for protecting software licensing information via a trusted platform module
US11681438B2 (en) * 2021-05-28 2023-06-20 Dell Products L.P. Minimizing cost of disk fulfillment

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5671412A (en) * 1995-07-28 1997-09-23 Globetrotter Software, Incorporated License management system for software applications
JP2000010776A (ja) * 1998-06-25 2000-01-14 Nec Corp クライアント・サーバ型環境におけるアプリケーションソフトウエアのコピーガード方法とシステム
US20020138441A1 (en) * 2001-03-21 2002-09-26 Thomas Lopatic Technique for license management and online software license enforcement
US6920567B1 (en) * 1999-04-07 2005-07-19 Viatech Technologies Inc. System and embedded license control mechanism for the creation and distribution of digital content files and enforcement of licensed use of the digital content files
CN101485129A (zh) * 2006-06-29 2009-07-15 艾克索软件公司 强制的基于席位的许可
CN101714229A (zh) * 2008-10-02 2010-05-26 索尼株式会社 许可管理装置、许可管理方法和许可管理系统
US20110004945A1 (en) * 2009-07-06 2011-01-06 Ricoh Company, Ltd. Device managing apparatus, device managing system, and recording medium storing a software management program
CN102918505A (zh) * 2010-06-03 2013-02-06 株式会社理光 信息处理设备、程序安装支持方法和计算机可读记录介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3366143B2 (ja) 1995-01-10 2003-01-14 富士通株式会社 ソフトウェア流通システムにおける識別子管理装置および方法ならびにソフトウェア流通管理装置および方法
JP3688424B2 (ja) 1997-03-27 2005-08-31 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および方法、並びに記録媒体
JP2001266026A (ja) 2000-03-15 2001-09-28 Ntt Data Corp プリペイドシステム
JP2004086588A (ja) 2002-08-27 2004-03-18 Ntt Data Corp ソフトウェア不正使用防止システム
JP4039923B2 (ja) * 2002-09-20 2008-01-30 富士通株式会社 ソフトウェア実行管理装置、ソフトウェア実行管理方法、およびソフトウェア実行管理プログラム
JP5079342B2 (ja) * 2007-01-22 2012-11-21 ルネサスエレクトロニクス株式会社 マルチプロセッサ装置
JP5365286B2 (ja) 2009-03-18 2013-12-11 株式会社リコー 情報処理装置、インストール管理方法、インストール管理プログラム、および遠隔管理システム
JP2013088394A (ja) * 2011-10-21 2013-05-13 Renesas Electronics Corp 半導体装置
JP6291826B2 (ja) * 2013-02-06 2018-03-14 株式会社リコー 情報処理システム及びライセンス管理方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5671412A (en) * 1995-07-28 1997-09-23 Globetrotter Software, Incorporated License management system for software applications
JP2000010776A (ja) * 1998-06-25 2000-01-14 Nec Corp クライアント・サーバ型環境におけるアプリケーションソフトウエアのコピーガード方法とシステム
US6920567B1 (en) * 1999-04-07 2005-07-19 Viatech Technologies Inc. System and embedded license control mechanism for the creation and distribution of digital content files and enforcement of licensed use of the digital content files
US20020138441A1 (en) * 2001-03-21 2002-09-26 Thomas Lopatic Technique for license management and online software license enforcement
CN101485129A (zh) * 2006-06-29 2009-07-15 艾克索软件公司 强制的基于席位的许可
CN101714229A (zh) * 2008-10-02 2010-05-26 索尼株式会社 许可管理装置、许可管理方法和许可管理系统
US20110004945A1 (en) * 2009-07-06 2011-01-06 Ricoh Company, Ltd. Device managing apparatus, device managing system, and recording medium storing a software management program
CN102918505A (zh) * 2010-06-03 2013-02-06 株式会社理光 信息处理设备、程序安装支持方法和计算机可读记录介质

Also Published As

Publication number Publication date
EP3343417A4 (en) 2019-04-24
TW201719473A (zh) 2017-06-01
KR20180044835A (ko) 2018-05-03
WO2017033310A1 (ja) 2017-03-02
US10936702B2 (en) 2021-03-02
JPWO2017033310A1 (ja) 2017-10-19
EP3343417A1 (en) 2018-07-04
JP6439051B2 (ja) 2018-12-19
US20180181726A1 (en) 2018-06-28
CN107251032B (zh) 2021-11-05

Similar Documents

Publication Publication Date Title
RU2159467C2 (ru) Система и способ загрузки прикладных задач на интеллектуальную карточку
US6681995B2 (en) Method of loading an application program into a smart card, smart card, method of loading scripts into a smart card, terminal device capable of operating with a smart card, and storage medium holding an application program
US6970891B1 (en) Smart card with volatile memory file subsystem
CN104412242B (zh) 内存保护
US7046810B2 (en) Data processing method and system of same portable device data processing apparatus and method of same and program
KR100796583B1 (ko) 라이센스 관리를 위한 시스템, 방법 및 기록 매체
KR100205740B1 (ko) 복수의 마이크로 프로세서들간에 애플리케이션 데이터 및 절차들을 공유하기 위한 보안성 애플리케이션 카드
CN1540657B (zh) 非易失性存储设备和数据处理系统
US6338435B1 (en) Smart card patch manager
AU774140B2 (en) Chip card comprising means for managing a virtual memory, associated communication method and protocol
CN103493011A (zh) 与库操作系统的应用兼容性
CA2683230A1 (en) Systems and methods for secure transaction management and electronic rights protection
TW200917084A (en) Metered pay-as-you-go computing experience
CN106529300A (zh) 半导体装置
US7409251B2 (en) Method and system for writing NV memories in a controller architecture, corresponding computer program product and computer-readable storage medium
CN1643532A (zh) 用于电子电路的许可交付与计费的管理系统、方法和设备
JP3516162B2 (ja) 半導体集積回路
CN105830021A (zh) 可更新集成电路无线电
CN109903163A (zh) 一种区块链的出块奖励方法、装置和电子设备
CN107251032A (zh) 许可管理方法、适于许可管理的半导体装置及许可管理系统
JP2723231B2 (ja) ソフトウェア権利管理制御方法
CN107038129A (zh) 许可证管理方法和适于许可证管理的半导体装置
US7593900B2 (en) Host device, memory card, memory capacity changing method, memory capacity changing program and memory capacity charge giving/receiving method
US20230342758A1 (en) Content distribution via usage tracking non-fungible tokens
EP1176491A2 (en) Software program providing system and software program providing method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant