JP2018205990A - プログラム設定システム、プログラム設定方法、電子機器 - Google Patents

プログラム設定システム、プログラム設定方法、電子機器 Download PDF

Info

Publication number
JP2018205990A
JP2018205990A JP2017109502A JP2017109502A JP2018205990A JP 2018205990 A JP2018205990 A JP 2018205990A JP 2017109502 A JP2017109502 A JP 2017109502A JP 2017109502 A JP2017109502 A JP 2017109502A JP 2018205990 A JP2018205990 A JP 2018205990A
Authority
JP
Japan
Prior art keywords
electronic device
program
information
activation
application
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
JP2017109502A
Other languages
English (en)
Inventor
悠介 林
Yusuke Hayashi
悠介 林
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2017109502A priority Critical patent/JP2018205990A/ja
Priority to US15/991,219 priority patent/US20180349065A1/en
Publication of JP2018205990A publication Critical patent/JP2018205990A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/123Software or firmware update, e.g. device firmware management
    • 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/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • G06F21/608Secure printing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1239Restricting the usage of resources, e.g. usage or user levels, credit limit, consumables, special fonts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1293Printer information exchange with computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2105Dual mode as a secondary aspect
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/1231Device related settings, e.g. IP address, Name, Identification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Facsimiles In General (AREA)

Abstract

【課題】電子機器の更新が容易なプログラム設定システムを提供する。
【解決手段】情報処理装置と通信する第一の電子機器30Aと、情報処理装置と通信する第二の電子機器30Bとを有するプログラム設定システムであって、第一の電子機器は、第一の電子機器の識別情報及び第一の電子機器で動作しているプログラムの識別情報を情報処理装置に送信する情報送信手段を有する。第二の電子機器は、第一の電子機器の識別情報で特定されるプログラムの識別情報を、情報処理装置から受信する情報受信手段と、前記プログラムの識別情報で特定されるプログラムを取得し、第二の電子機器にインストールするインストール手段と、を有する。
【選択図】図1

Description

本発明は、プログラム設定システム、プログラム設定方法、及び電子機器に関する。
オフィス等ではプリンタなどの電子機器が使用されているが、電子機器では各種のアプリケーションと呼ばれるプログラムが動作している。どのようなアプリケーションが動作するかは電子機器及びユーザによって様々であるが、例えば読み取った原稿の画像データを文字認識したり翻訳したりするアプリケーションなど多くの種類のアプリケーションが動作可能である。ユーザは自分たちが使いやすいようにアプリケーションをカスタマイズすることができるので、各アプリケーションはユーザによって異なる設定データを有する。
ところで、ユーザが古くなった電子機器を更新するために新しい電子機器を購入する場合がある。新しい電子機器を更新ではなく追加で購入する場合もある。これらの場合、更新前の電子機器と同じアプリケーションを同じ設定データで使用したいというユーザからの要望がある。このため、カスタマーエンジニア等は、元の電子機器でカスタマイズされた設定データを保存(エクスポート)し、新しい電子機器に導入する(インポート)必要がある。そこで、従来から設定データの保存と導入を支援する技術が考案されている(例えば、特許文献1参照。)。特許文献1には、クライアントIDとバックアップデータを紐付けて、設定データをインポートする方法が開示されている。
しかしながら、特許文献1に記載されたバックアップ方法ではアプリケーションのバックアップについて考慮されていないという問題がある。新しい電子機器でも同じアプリケーションを利用するために、カスタマーエンジニア等はアプリケーションそのものをバックアップする必要があるが、アプリケーションの保存に必要なデータ容量は大きくなってしまい、また、保存そのものに時間がかかってしまう。また、バックアップされたアプリケーションがクラウド上のサーバに保存される場合、サーバの容量を占有してしまうためコスト高となってしまう。
本発明は上記課題に鑑み、プログラムの更新が容易なプログラム設定システムを提供することを目的とする。
本発明は、情報処理装置と通信する第一の電子機器と、前記情報処理装置と通信する第二の電子機器とを有するプログラム設定システムであって、
前記第一の電子機器は、前記第一の電子機器の識別情報、及び、前記第一の電子機器で動作しているプログラムの識別情報を前記情報処理装置に送信する情報送信手段を有し、
前記第二の電子機器は、前記第一の電子機器の識別情報で特定される、前記プログラムの識別情報を前記情報処理装置から受信する情報受信手段と、前記プログラムの識別情報で特定されるプログラムを取得し前記第二の電子機器にインストールするインストール手段と、を有する。
本発明によれば、プログラムの更新が容易なプログラム設定システムを提供することができる。
本実施形態のプログラム設定システムの概略的な動作を説明する図の一例である。 プログラム設定システムの概略構成図の一例である。 電子機器のハードウェア構成の一例を示す図である。 バックアップサーバのハードウェア構成図の一例である。 プログラム設定システムが有する電子機器、バックアップサーバ、アクティベーションサーバ、及びアプリケーションサーバの機能ブロック図の一例である。 CEがアプリケーションの設定データをバックアップサーバに保存する際の手順を示すシーケンス図の一例である。 バックアップ操作画面の一例を示す図である。 アクティベーションサーバの動作手順を示すフローチャート図の一例である。 CEがアプリケーションの設定データを電子機器に保存する際の手順を示すシーケンス図の一例である。 導入操作画面の一例を示す図である。 アクティベーションサーバの動作手順を示すフローチャート図の一例である。 電子機器がアプリケーションをインストールする際の手順を示すシーケンス図の一例である。 アプリケーションがアクティベーションの有無によって起動するか否かを判断するシーケンス図の一例である。 設定データのエクスポートの手順とインポートの手順を示すシーケンス図の一例である。
以下、本発明を実施するためのプログラム設定システムとプログラム設定方法について、図面を参照しながら説明する。
<概略的な動作>
図1は、本実施形態のプログラム設定システム100の概略的な動作を説明する図の一例である。動作の概略を説明する。
(1)CE9(カスタマーエンジニア)は更新前の電子機器30Aを操作して、電子機器30Aの設定データと共にアプリケーションのプロダクトIDとプロダクトキーをバックアップサーバ40に保存する。プロダクトIDはユーザに配布されたアプリケーションを識別するための識別情報である。プロダクトキーはアプリケーションを使用する権利をユーザが有することを証明する重複しないライセンス情報である。
(2)CE9はアクティベーションサーバ50に対してアプリケーションをディアクティベーションする。ディアクティベーションとはアプリケーションを使用していないことを登録することをいう。ディアクティベーションにより元の電子機器30Aでアプリケーションを使用できなくなる代わりに、別の電子機器30Bでアプリケーションを使用できるようになる。
(3)次に、CE9は更新後の電子機器30Bを操作して、バックアップサーバ40から更新後の電子機器30Bに設定データ、プロダクトID及びプロダクトキーを取得する。
(4)また、CE9はプロダクトIDで特定されるアプリケーションをアプリケーションサーバ60から更新後の電子機器30Bにダウンロードする。
(5)そして、CE9はアクティベーションサーバ50に対し、プロダクトID、プロダクトキーを使用してダウンロードしたアプリケーションをアクティベーションする。アクティベーションとはアプリケーションの使用の許可を受けることをいう。CE9がディアクティベーションして更にアクティベーションすることにより、電子機器30Aで使用されていたアプリケーションを電子機器30Bで引き続き使用できる。電子機器30Bはアクティベーションされたアプリケーションに設定データを導入する。
このように、ディアクティベーション及びアクティベーションの仕組みを利用することにより電子機器30の更新時にCE9がアプリケーションをバックアップしなくても、更新後の電子機器30Bでユーザがアプリケーションを使用できる。したがって、アプリケーションのバックアップのために多くのデータ容量が必要になったり、バックアップに時間がかかったりすることを抑制できる。
<用語について>
電子機器で動作しているプログラムは、電子機器で動作していればよく、本実施形態でエクスポートされる設定データの変更によりカスタマイズが可能であることは必要でない。また、このプログラムには、アプリケーションの他、OS(Operating System)、ファームウェア、デバイスドライバなどと呼ばれるものが含まれてよい。
設定データとは、プログラムに設定される又は使用する各種の情報である。あるいは、プログラムが挙動を変える外部から設定可能な情報ということができる。設定データは何らかの意味でプログラムにより使用されると考えられるが、プログラムと関係がない設定データでもよい。具体例は表1に示す。
<システム構成例>
図2は、プログラム設定システム100の概略構成図の一例を示す。プログラム設定システム100はネットワーク8を介して通信可能な少なくとも2台の電子機器30A,30B、バックアップサーバ40、アクティベーションサーバ50、及び、アプリケーションサーバ60を有する。以下では、複数の電子機器30A,30Bのうち任意の電子機器を電子機器30と称する。
ネットワーク8は、電子機器30A、30Bが設置されている施設などに構築されているLAN、LANをインターネットに接続するプロバイダのプロバイダネットワーク、及び、回線事業者が提供する回線等により構築されている。ネットワーク8が複数のLANを有する場合、ネットワーク8はWANと呼ばれる。WANやインターネットを含まずにLAN又は広域イーサネット(登録商標)でネットワーク8が構築されている場合もある。ネットワーク8は有線又は無線のどちらで構築されてもよく、また、有線と無線が組み合わされていてもよい。また、電子機器30A、30Bが直接、公衆回線網に接続する場合は、LANを介さずにプロバイダネットワークに接続することができる。
電子機器30Aは、1つ以上のアプリケーションが動作し、アプリケーションの動作に関する設定データが設定され、その設定データを他の電子機器30Bが再利用する何らかの装置である。例えば、企業において新しい電子機器30Bに入れ替えられる古い電子機器30が本実施例の電子機器30Aである。一方、同じアプリケーションが新たにインストールされ設定データが再利用される新しい電子機器30が電子機器30Bである。電子機器30A(第一の電子機器)は設定データをバックアップサーバ40に保存し、電子機器30B(第二の電子機器)は設定データをバックアップサーバ40から導入する。
電子機器30としては、例えば、複合機、プロジェクタ、電子黒板、及びテレビ会議端末などが挙げられる。なお、複合機はMFP(Multi-Function Peripheral)、複写機、コピー機、画像形成装置、画像処理装置、又はプリンタなどと呼ばれる場合がある。プロジェクタは投影装置と呼ばれる場合がある。電子黒板は電子情報ボード、電子ホワイトボードなどと呼ばれる場合がある。この他、電子機器30はデジタルサイネージ、デジタルカメラ、ドローンなどでもよい。電子機器30は何らかのアプリケーションが動作して、設定データが再利用される電子機器であればよい。
バックアップサーバ40は、電子機器30Aから送信された設定データ、プロダクトID及びプロダクトキーを保存する情報処理装置である。このような、バックアップサーバ40への保存をエクスポート、バックアップ又はアップロード等という場合がある。また、バックアップサーバ40は、電子機器30Bに設定データ、プロダクトID及びプロダクトキーを送信する。新しい電子機器30Bがバックアップサーバ40から設定データ、プロダクトID及びプロダクトキーを導入することを、インポート、リストア又はダウンロード等という場合がある。
アクティベーションサーバ50は、アプリケーションのアクティベーション及びディアクティベーションを行う情報処理装置である。アプリケーションはプロダクトキーによる認証が成立したとアクティベーションサーバ50が判断しないと電子機器30上で動作できない。アクティベーションはアクティブにするという意味であり、使用可能にすること、活性化、又は有効化、という意味である。ディアクティベーションはこの逆に、アクティブでない状態にするという意味であり、非活性化、不活性化、又は無効化、という意味である。
アプリケーションサーバ60には、電子機器30が実行する可能性がある各種のアプリケーションが登録されると共に、電子機器30に配布する情報処理装置である。なお、アプリケーションは可搬型の記憶媒体に記憶された状態で頒布されてもよい。この場合、アプリケーションサーバ60は不要になる。可搬型の記憶媒体は、例えば、SDカード(登録商標)、USBメモリ、コンパクトフラッシュ(登録商標)、マルチメディアカード 、フロッピー、メモリースティック(登録商標)、外付けのハードディスクドライブ、などである。
なお、バックアップサーバ40、アクティベーションサーバ50、及び、アプリケーションサーバ60のうち1台以上はクラウドコンピューティングに対応していることが好ましい。クラウドコンピューティングとは、特定ハードウェア資源が意識されずにネットワーク上のリソースが利用される利用形態をいう。
<ハードウェア構成例>
<<電子機器のハードウェア構成について>>
図3は、電子機器30のハードウェア構成の一例を示す図である。図3の電子機器は複合機が想定されている。図3に示すように、電子機器は、本体10と、操作部20と、を備える。本体10と操作部20は、専用の通信路300を介して相互に通信可能に接続されている。通信路300は、例えばUSB(Universal Serial Bus)規格のものを用いることもできるが、有線か無線かを問わず任意の規格のものであってよい。
なお、本体10は、操作部20で受け付けた操作に応じた動作を行うことができる。また、本体10は、クライアントPC(パーソナルコンピュータ)等の外部装置とも通信可能であり、外部装置から受信した指示に応じた動作を行うこともできる。
次に、本体10のハードウェア構成について説明する。図3に示すように、本体10は、CPU(Central Processing Unit)11と、ROM(Read Only Memory)12と、RAM(Random Access Memory)13と、HDD(Hard Disk Drive)14と、通信I/F(Interface)15と、接続I/F16と、エンジン部17とを備え、これらがシステムバス18を介して相互に接続されている。説明の便宜上、図3では、本体10はHDD14を有している構成を例に挙げて説明したが、例えばHDD14を有しておらず、十分な記憶領域を確保できない構成もあり得る。
CPU11は、本体10の動作を統括的に制御する。CPU11は、RAM13をワークエリア(作業領域)としてROM12又はHDD14等に格納されたプログラムを実行することで、本体10全体の動作を制御し、上記したコピー機能、スキャナ機能、ファクス機能、プリンタ機能などの各種機能を実現する。
通信I/F15は、ネットワーク8と接続するためのインタフェースである。接続I/F16は、通信路300を介して操作部20と通信するためのインタフェースである。
エンジン部17は、コピー機能、スキャナ機能、ファクス機能、及び、プリンタ機能を実現させるための、汎用的な情報処理及び通信以外の処理を行うハードウェアである。例えば、原稿の画像をスキャンして読み取るスキャナ(画像読取部)、用紙等のシート材への印刷を行うプロッタ(画像形成部)、ファクス通信を行うファクス部などを備えている。更に、印刷済みシート材を仕分けるフィニッシャや、原稿を自動給送するADF(自動原稿給送装置)のような特定のオプションを備えることもできる。
次に、操作部20のハードウェア構成について説明する。図3に示すように、操作部20は、CPU21と、ROM22と、RAM23と、フラッシュメモリ24と、通信I/F25と、接続I/F26と、操作パネル27とを備え、これらがシステムバス28を介して相互に接続されている。説明の便宜上、図3では、操作部20はフラッシュメモリ24を有している構成を例に挙げて説明したが、例えばフラッシュメモリ24を有していない構成もあり得る。要するに、電子機器は、受信したコンテンツを記憶するための記憶装置を有していない構成もあり得る。
<<バックアップサーバ、アクティベーションサーバ、アプリケーションサーバ>>
図4は、バックアップサーバ40のハードウェア構成図の一例である。ここでは、バックアップサーバ40を対象に説明する。バックアップサーバ40は、CPU301と、ROM302と、RAM303と、通信I/F304と、入力装置305と、表示装置306とを備える。CPU301は、バックアップサーバ40の動作を統括的に制御する。ROM302は、プログラム等の各種のデータを記憶する不揮発性のメモリである。RAM303は、CPU301が実行する各種の処理の作業領域(ワークエリア)として機能する揮発性のメモリである。通信I/F304は、ネットワーク8と接続するためのインタフェースである。入力装置305は、ユーザによる操作の入力に用いられるデバイスであり、例えばマウスやキーボードなどで構成される。表示装置306は各種の情報を表示するデバイスであり、例えば液晶型ディスプレイ装置などで構成される。
アクティベーションサーバ50、及びアプリケーションサーバ60のハードウェア構成はバックアップサーバ40と同じであるか、又は異なっていても本実施形態の説明に支障はないものとする。
図示したハードウェア構成は、1つの筐体に収納されていたりひとまとまりの装置として備えられていたりする必要はなく、バックアップサーバ40が備えていることが好ましいハード的な要素を示す。また、クラウドコンピューティングに対応するため、本実施例のバックアップサーバ40の物理的な構成は固定的でなくてもよく、負荷に応じてハード的なリソースが動的に接続・切断されることで構成されてよい。
<機能について>
次に、図5を用いて、プログラム設定システム100が有する機能について説明する。図5は、プログラム設定システム100が有する電子機器30、バックアップサーバ40、アクティベーションサーバ50、及びアプリケーションサーバ60の機能ブロック図の一例である。
<<電子機器>>
電子機器30A,30Bの機能は同じであり電子機器30Aが有する機能は電子機器30Bも有し、電子機器30Bが有する機能は電子機器30Aも有するが、説明のため電子機器30Aと電子機器30Bを別々に示した。
電子機器30Aは、通信部31、操作受付部32、表示制御部33、設定データ管理部34、非活性化要求部35、制御部39を有している。なお、電子機器は本体10と操作部20を有しているが、図5に示した各機能は本体10と操作部20のどちらに格納されていてもよい。ただし、一例として、通信部31は本体10が有し、それ以外は操作部20が各機能を有するように構成できる。
電子機器30Aが有するこれら各機能部は、図3に示された各構成要素のいずれかが、HDD14からRAM13に展開されたプログラム、又は、フラッシュメモリ24からRAM23に展開されたプログラムに従ったCPU11、21からの命令により動作することで実現される機能又は手段である。このプログラムは、プログラム配信用のサーバから配信されるか又は記憶媒体に記憶された状態で配布される。
通信部31は、ネットワーク8を介してバックアップサーバ40、アクティベーションサーバ50及びアプリケーションサーバ60と各種のデータの送受信を行う。通信部31は図3のCPU11がプログラムを実行し通信I/F15を制御すること等により実現される。
操作受付部32は、CE9又はユーザから電子機器に対する各種の操作を受け付ける。操作受付部32は、図3のCPU21がプログラムを実行し操作パネル27を制御すること等により実現される。
表示制御部33は、操作パネル27に各アプリケーションが作成する各種の画面を表示する。本実施形態では、電子機器30の更新なのか追加なのかを選択するためのバックアップ操作画面及び導入操作画面を操作パネル27に表示する。
設定データ管理部34は、アプリケーションに対するユーザの設定を取得して記憶部3000に設定データとして記憶させたり、記憶部3000から設定データを読み出したりするなど、設定データを管理する。設定データについては表1で説明する。設定データ管理部34は、図3のCPU21がプログラムを実行すること等により実現される。
非活性化要求部35は、アクティベーションサーバ50に対しアプリケーションのディアクティベーションを要求する。非活性化要求部35は、図3のCPU21がプログラムを実行すること等により実現される。
制御部39は、アプリケーションの起動に関する制御を行う。すなわち、後述するアクティベーション許可情報3004を参照してアプリケーションを起動できるか否かを判断し、起動できない場合はアクティベーションが必要である旨をユーザに通知する。制御部39は図3のCPU21がプログラムを実行すること等により実現される。
また、電子機器30Aは記憶部3000を有している。記憶部3000は図3のフラッシュメモリ24、RAM23、ROM22、HDD14、RAM13、又はROM12の1つ以上により実現される記憶手段である。記憶部3000には設定データ3001、プロダクトID3002、プロダクトキー3003、及び、アクティベーション許可情報3004が記憶される。
Figure 2018205990
表1は、設定データ3001の一例を示す。設定データ3001の具体的な内容はアプリケーションによって様々であり、また、複数のアプリケーションに共通に使用される設定データが存在してもよい。更に、アプリケーションに関係なく電子機器の動作に対する設定データが存在してもよい。下記はあくまで設定データの一例である。
例えば、表1のAは複数のアプリケーションに共通の設定データであり、Bはプリントアプリの設定データであり、Cは電子機器の動作に対する設定データであり、Dはアプリケーション又は電子機器の動作に対する設定データであり、Eはプリントアプリ及びコピーアプリに共通の設定データである。
Figure 2018205990
表2は、プロダクトID3002の一例を示す。プロダクトID3002はユーザに配布されたアプリケーションの識別情報である。プロダクトID3002は同じアプリケーションであれば配布先の電子機器30が異なっても同じである。プロダクトIDによりアプリケーションの種別が特定される。
なお、IDはIdentificationの略であり識別子や識別情報という意味である。IDは複数の対象から、ある特定の対象を一意的に区別するために用いられる名称、符号、文字列、数値又はこれらのうち1つ以上の組み合わせをいう。プロダクトID以外のIDについても同様である。
Figure 2018205990
表3は、プロダクトキー3003の一例を示す。プロダクトキー3003はアプリケーションの購入によりユーザに配布され、正規のユーザであることを保証するライセンス情報である。ライセンスキー又は認証キー等と呼ばれる場合がある。アクティベーションサーバ50には有償であるため販売という形態で配布されたアプリケーションのプロダクトIDとプロダクトキーの組等が登録される。電子機器30からプロダクトIDとプロダクトキーが送信されると、アクティベーションサーバ50はすでにアクティベーションが完了しているか否かを確認する。なお、電子機器30はプロダクトIDを常に記憶していることは要求されず、アクティベーションとディアクティベーションの際に電子機器30が有していればよい。
Figure 2018205990
表4は、アクティベーション許可情報3004の一例を示す。アクティベーション許可情報3004は、アクティベーションサーバ50によりアクティベーションが許可されたかどうかをプログラムごとに示す情報である。アクティベーション許可情報3004は、保存場所が秘匿されており第三者がコピーすることは困難になっている。あるいは、アクティベーション許可情報3004はアプリケーションがインストールされた電子機器30の機器固有の情報から生成されたハッシュ値を含んでおり、起動時に電子機器30が機器固有の情報から生成したハッシュ値と一致しないとアプリケーションを起動できない。
アクティベーション許可情報3004にはプロダクトIDにアクティベート済みか未完か(True:済み、False:未完)が対応付けられている。初期状態は全てFalseである。電子機器30Aは、ユーザの指示に応じてアクティベーションサーバ50に対してアクティベートを要求する。電子機器30Aはアクティベーションサーバ50からの応答に基づいて、インストールされたアプリケーションのプロダクトIDと、アプリケーションがアクティベート済みか否かを示す情報(True、False)とを対応付けてアクティベーション許可情報3004に設定する。アクティベーションサーバ50から応答されたアクティベート結果を電子機器30Aが保持することで、アプリケーションを起動するたびにアクティベーションサーバ50にアクティベート済みか否かを問い合わせる必要がない。
続いて、電子機器30Bについて説明する。電子機器30Bは、通信部31、操作受付部32、表示制御部33、設定データ管理部34、活性化要求部36、及び、アプリインストール部37を有する。これらのうち電子機器30Bが有する機能について説明する。
活性化要求部36は、アクティベーションサーバ50に対しアプリケーションのアクティベーションを要求する。活性化要求部36は、図3のCPU21がプログラムを実行すること等により実現される。
アプリインストール部37は、アプリケーションサーバ60から取得したアプリケーションを電子機器30にインストールし、更に設定データを設定する。アプリインストール部37は、図3のCPU21がプログラムを実行すること等により実現される。
電子機器30Bの記憶部3000に記憶された設定データ3001、プロダクトID3002、及びプロダクトキー3003はバックアップサーバ40から送信される。また、アクティベーション許可情報3004は、アクティベーションサーバ50によるアクティベーションとディアクティベーションの結果により更新される。
<<バックアップサーバ>>
バックアップサーバ40は、通信部41、設定データ保存部42、及び設定データ読出部43を有している。バックアップサーバ40が有するこれら各機能部は、図4に示された各構成要素のいずれかが、HDD307からRAM303に展開されたプログラムに従ったCPU301からの命令により動作することで実現される機能又は手段である。このプログラムは、プログラム配信用のサーバから配信されるか又は記憶媒体に記憶された状態で配布される。
通信部41は、電子機器30Aから設定データ3001、プロダクトID3002、及びプロダクトキー3003を受信し、また、電子機器30Bに設定データ3001、プロダクトID3002、及びプロダクトキー3003を送信する。通信部41は、図4のCPU301がプログラムを実行し通信I/F304を制御すること等により実現される。
設定データ保存部42は、電子機器30Aから送信された設定データ3001、プロダクトID3002、及びプロダクトキー3003を記憶部3000の設定データDB4001に記憶させる。設定データ保存部42は、図4のCPU301がプログラムを実行すること等により実現される。
設定データ読出部43は、設定データDB4001から設定データ3001、プロダクトID3002、及びプロダクトキー3003を読み出す。設定データ読出部43は、図4のCPU301がプログラムを実行すること等により実現される。
また、バックアップサーバ40は記憶部4000を有している。記憶部4000は図4のHDD307、RAM303、又はROM302の1つ以上により実現される記憶手段である。記憶部4000には設定データDB4001が記憶される。
Figure 2018205990
表5は、設定データDB4001に記憶される情報を模式的に示す。設定データDB4001には、設定データ、プロダクトID、プロダクトキー、及び、機器IDが対応付けて記憶されている。プロダクトIDとプロダクトキーに対応付けられる設定データは主にアプリケーションに関係するものであるが、アプリケーションに関係のない設定データが記憶されてもよい。機器IDは更新前の電子機器30Aを識別するための識別情報である。機器IDは設定データ、プロダクトID、及び、プロダクトキーを電子機器30Bに導入する際に指定される。機器IDにより設定データ等を送信した電子機器30Aが特定される。複数のアプリケーションをバックアップサーバ40に保存する場合でも、CE9は電子機器30Aの機器IDをメモしたり記憶したりしておけばアプリケーションの導入(インポート)が可能である。
このようにバックアップサーバ40に設定データ、プロダクトID、及び、プロダクトキーが対応付けて記憶されていることで、CE9は新しい電子機器30Bに設定データ、プロダクトID、及び、プロダクトキーを導入することができる。
<<アクティベーションサーバ>>
アクティベーションサーバ50は、通信部51、活性化部52、及び非活性化部53を有している。アクティベーションサーバ50が有するこれら各機能部は、図4に示された各構成要素のいずれかが、HDD307からRAM303に展開されたプログラムに従ったCPU301からの命令により動作することで実現される機能又は手段である。このプログラムは、プログラム配信用のサーバから配信されるか又は記憶媒体に記憶された状態で配布される。
通信部51は、電子機器30からアクティベーション要求又はディアクティベーション要求を受信し、アクティベーション許可又はアクティベーション無許可を送信する。通信部51は、図4のCPU301がプログラムを実行し通信I/F304を制御すること等により実現される。
活性化部52は、電子機器30Bからアクティベーション要求された場合、アクティベーションを許可するか又はしないかを判断する。アクティベーションを許可する場合は、記憶部5000のプロダクト管理DB5001にアクティベーションが完了した旨を登録する。活性化部52は、図4のCPU301がプログラムを実行すること等により実現される。
非活性化部53は、電子機器30Aからディアクティベーション要求された場合、ディアクティベーションを許可するか又はしないかを判断する。ディアクティベーションを許可する場合は、記憶部5000のプロダクト管理DB5001からアクティベーションが完了した旨を削除する。非活性化部53は、図4のCPU301がプログラムを実行すること等により実現される。
また、アクティベーションサーバ50は記憶部5000を有している。記憶部5000は図4のHDD307、RAM303、又はROM302の1つ以上により実現される記憶手段である。記憶部5000にはプロダクト管理DB5001が記憶される。
Figure 2018205990
表6は、プロダクト管理DB5001に記憶される情報を模式的に示す。プロダクト管理DB5001には、プロダクトID、プロダクトキー、使用済みライセンス数、ライセンス済み機器ID、ライセンス数の上限、及び、ユーザIDが登録されている。まず、1つのプロダクトキーでアクティベーションが可能なライセンス数(つまり電子機器30の数)が決まっておりこのライセンス数が「ライセンス数の上限」である。「使用済みライセンス数はこのアプリケーションをアクティベーションした電子機器30の数である。「ライセンス済み機器ID」はアプリケーションをアクティベーションした電子機器30の機器IDのリストである。ユーザIDは顧客を識別するための識別情報である。
このように、プロダクトIDごとにアクティベーションできる電子機器30の数が決まっているので、この数より多い電子機器30でユーザが1つのプロダクトキーでアプリケーションを実行することを抑制できる。
プロダクト管理DB5001に登録される情報の処理について説明する。まず、ユーザの所定の購入手続によりプロダクト管理DB5001にはプロダクトID,プロダクトキー、及び、「ライセンス数の上限」が登録される。アクティベーションサーバ50は、プロダクト管理DB5001に基づいて、電子機器30から送信されたプロダクトIDとプロダクトキーが対応付けて記憶されているかを判断する。対応付けて記憶されていれば、ユーザが入力したプロダクトキーは正規なものと判断できる。一方、対応付けて記憶されていなければ、ユーザが入力したプロダクトキーは不正なものと判断し、アクティベート失敗を示す情報を電子機器30に送信する。
プロダクトキーが正規なものと判断した場合、送信された機器IDが「ライセンス済み機器ID」に既に登録されているか否かを判断する。登録されていれば、アクティベーションサーバ50はアクティベート成功を電子機器30に応答し、登録されていなければ、使用済みのライセンス数が「ライセンス数の上限」に達しているか否かを判断する。達していなければ、「使用済みライセンス数」を1インクリメントし(1つ大きくし)、送信された機器IDを「ライセンス済み機器ID」に登録する。アクティベーションサーバ50はアクティベート成功を示す情報を電子機器30に送信する。「ライセンス数の上限」に達している場合、アクティベート失敗及びライセンス数超過であることを電子機器30に送信する。
<<アプリケーションサーバ>>
アプリケーションサーバ60は、通信部61、及び、アプリ提供部62を有している。アプリケーションサーバ60が有するこれら各機能部は、図4に示された各構成要素のいずれかが、HDD307からRAM303に展開されたプログラムに従ったCPU301からの命令により動作することで実現される機能又は手段である。このプログラムは、プログラム配信用のサーバから配信されるか又は記憶媒体に記憶された状態で配布される。
通信部61は、電子機器30Bからアプリケーション要求を受信し、要求されたアプリケーションを送信する。通信部61は、図4のCPU301がプログラムを実行し通信I/F304を制御すること等により実現される。
アプリ提供部62は、電子機器30BからプロダクトIDにより要求されたアプリケーションをアプリDB6001から読み出す。アプリ提供部62は、図4のCPU301がプログラムを実行すること等により実現される。
また、アプリケーションサーバ60は記憶部6000を有している。記憶部6000は図4のHDD307、RAM303、又はROM302の1つ以上により実現される記憶手段である。記憶部6000にはアプリDB6001が記憶される。
Figure 2018205990
表7は、アプリDB6001に記憶される情報を模式的に示す。アプリDB6001には、プロダクトID、アプリ名、及び適応情報が登録されている。プロダクトIDは上記のようにアプリケーションを識別するための識別情報である。アプリ名は、アプリケーションの呼称や表記に使われるアプリの名称である。アプリ名は説明のための示されておりアプリDB6001に登録されていなくてもよい。適応情報は、アプリケーションがインストール可能な電子機器30の機種に関する情報である。表7の例では、コピーアプリ、プリントアプリ、スキャンアプリ及びOCRアプリは全機種に対応しているが、IDカードアプリとサイズ混載アプリは特定の機種の電子機器30にしか対応していない。また、翻訳アプリはバージョンによって対応する機種が異なっている。電子機器30Bはアプリケーションのインストール時に適応情報を考慮するので、自機では動作しないアプリケーションをインストールすることを抑制できる。
<設定データを保存する際の動作手順>
図6は、CE9がアプリケーションの設定データをバックアップサーバ40に保存する際の手順を示すシーケンス図の一例である。適宜、図7のバックアップ操作画面を参照して説明する。なお、バックアップサーバ40やアクティベーションサーバ50へのCE9のログインは適宜実行されている。
S1:電子機器30を更新又は追加する際、CE9は電子機器30Aを操作して、アプリケーションの設定データをバックアップサーバ40に保存する操作を行う。図7に示すようにこの操作には、電子機器の更新と追加の2種類がある。CE9は手動で操作パネル27を操作してもよいし、PCと電子機器30Aを接続しPCから同様の信号を電子機器30Aに送信してもよい。この設定によって、非活性化要求部35はバックアップするアプリケーションをディアクティベートするか否か決定する。なお、どのアプリケーションをバックアップするかは、ユーザが設定することができる。アプリケーションを一切バックアップしない場合でも設定値のみをバックアップすることができてよい。バックアップサーバ40にバックアップされる設定データの詳細を表8に示す。
S2:電子機器30Aの操作受付部32はCE9の操作を受け付ける。これにより、設定データ管理部34が記憶部3000の設定データ3001を読み出し、通信部31を介して機器IDと共にバックアップサーバ40に設定データを送信する。
S3:また、設定データ管理部34はCE9の操作に対し通信部31を介して、プロダクトIDとプロダクトキーをバックアップサーバ40に送信する。なお、ステップS2とS3は説明のため2つの処理に分けられているが、一連の処理として実行される。
S4:バックアップサーバ40の通信部41は機器ID、設定データ、プロダクトID及びプロダクトキーを受信して、設定データ保存部42が設定データDB4001にこれらを対応付けて記憶させる。
ステップS5の処理は、バックアップ操作画面で電子機器の更新が選択された場合に実行される。
S5:非活性化要求部35は通信部31を介してディアクティベーション要求をアクティベーションサーバ50に送信する。ディアクティベーション要求にはプロダクトID、プロダクトキー及び機器IDが含まれる。なお、ディアクティベーション要求は全てのアプリケーションについて行われる。プロダクトIDとプロダクトキーによりディアクティベーションされるアプリケーションが特定され、機器IDはライセンス済み機器IDから削除される。
S6:アクティベーションサーバ50の通信部51はディアクティベーション要求を受信して、非活性化部53がディアクティベーションに関する処理を行う。詳細を図8にて説明する。
電子機器30Aが電子機器30Bに更新される場合、ディアクティベーションしておかないと電子機器30BにおいてCE9がアプリケーションをアクティベーションできないおそれがある。アプリケーションをディアクティベーションすることで、電子機器30Bがアプリケーションをアクティベーションできる。
Figure 2018205990
表8は、バックアップサーバ40にバックアップされる設定データの詳細を示す。設定データは、プリファレンスID、シークレット、ユニーク、バイナリ、項目名、及び、設定値の各項目を有する。
プリファレンスIDの先頭3文字は各アプリケーションに割り振られたアプリ固有の値となっている。下5桁はアプリケーションごとに自由に設定可能な数値となっている。プリファレンスIDはアプリケーションの設定項目を識別可能にする。シークレットはパスワード等の機密情報を含んでいるか否かを示す。ユニークは機器固有のデータを含んでいるか否かを示す。バイナリは設定項目のデータがバイナリデータであるか否かを示す。項目名は各アプリケーションが有する設定データの設定項目の名前を示す。設定値は実際にバックアップされるデータそのものである。
これらの情報はバックアップ時に設定データ管理部34が各アプリケーションから収集し、1つのCSVファイルに集約する。インポート時には設定データ管理部34がCSVファイルを参照し、プリファレンスIDを元に各アプリケーションに反映するべき、設定値を取得する。表5に示すように、バックアップサーバ40はこのCSVファイルを機器IDごとに保存することで、電子機器30ごとのバックアップデータとして管理する。
表8では一例として、
プリファレンスID=10300015はブラウザアプリが保存している設定データであり、JavaScript(登録商標)の有効無効の設定である。
プリファレンスID=10000001は操作部の設定データでありWi-Fiの設定である。
プリファレンスID=10500002はバックアップされたアプリケーションの情報である。
なお、参考として、アプリケーションの情報がJSON形式でどのように表示されるかを以下に示す。
[{
"PackageName": "SamplePackage1",
"ProductId": 12345678,
"ProductKey": "ABCDEFGHIJKLMN"
},{
"PackageName": "SamplePackage2",
"ProductId": 87654321,
"ProductKey": "NMLKJIHGFEDCBA"
}]
PackageNameはアプリ固有の名称であり、ProductIdは上記のプロダクトIDでありアプリ固有にそれぞれ割り振られた数字である。ProductKeyは上記のプロダクトキーである。
<バックアップ操作画面>
図7は、バックアップ操作画面401の一例を示す図である。バックアップ操作画面401は電子機器30の更新ボタン402と、電子機器30の追加ボタン403を有する。電子機器30Aを電子機器30Bに更新する場合、CE9は電子機器30の更新ボタン402を押下する。ユーザが電子機器30Aを使い続けながら、新たに購入した(追加した)電子機器30に電子機器30Aと同じ設定データを設定する場合、CE9は電子機器30の追加ボタン403を押下する。このようなユーザインタフェースにより、CE9はアプリケーションをディアクティベーションするか否かを切り替えることができる。
<アクティベーションサーバ50の動作>
図8は、アクティベーションサーバ50の動作手順を示すフローチャート図の一例である。図8(a)は電子機器30Aの処理を示し、図8(b)はアクティベーションサーバ50の処理を示す。
まず、ユーザはアプリケーションをディアクティベーションする際に、アプリケーションを選択しプロダクトキーを入力し、ディアクティベーションを指示する。電子機器30Aの操作受付部32はこれらの操作を受け付ける(S10)。
電子機器30Aの非活性化要求部35は通信部31を介してプロダクトID、プロダクトキー及び機器IDと共にディアクティベーション要求をアクティベーションサーバ50に送信する(S20)。プロダクトIDは選択されたアプリケーションによって自動的に定まる。
アクティベーションサーバ50の通信部51はディアクティベーション要求を受信する。ディアクティベーション要求にはプロダクトID、プロダクトキー及び機器IDが含まれる。
非活性化部53は送信された機器IDにプロダクトIDとプロダクトキーがプロダクト管理DB5001に対応付けて登録されているか否かを判断する(S110)。ディアクティベーションの際、プロダクトIDとプロダクトキーはプロダクト管理DB5001に登録されている。通常、プロダクトキーは秘匿されているので、第三者がプロダクトIDのみを入手してもディアクティベーションすることを抑制できる。
ステップS120の判断がNoの場合、活性化部52はエラーメッセージを電子機器30Bに送信する(S130)。この場合、例えば「プロダクトIDとプロダクトキーが登録されていません。」などのメッセージを送信する。
ステップS120の判断がYesの場合、非活性化部53は機器IDが「ライセンス済み機器ID」に登録済みであるか否かを判断する(S140)。
ステップS150の判断がNoの場合、非活性化部53はすでにディアクティベーション済みである旨のエラーメッセージを電子機器30Aに送信する(S180)。この場合、例えば「すでにディアクティベーションされています。」などのメッセージを送信する。
ステップS150の判断がYesの場合、非活性化部53は「使用済みライセンス数」を1デクリメントし(削除し)、機器IDを「ライセンス済み機器ID」から削除する(S160)。そしてディアクティベーション成功を電子機器30Bに送信する(S170)。「ライセンス済み機器ID」に電子機器30Aが送信した機器IDが登録されている場合、「使用済みライセンス数」は1つ以上であると考えられるが、仮に「使用済みライセンス数」が0(ゼロ)の場合、非活性化部53はエラーメッセージを電子機器30Aに送信する。
電子機器30Aの通信部31はアクティベーション成功又は失敗をアクティベーションサーバ50から受信する。電子機器30Aの非活性化要求部35はディアクティベーション成功か否かを判断する(S30)。
ステップS40の判断がNoの場合(ディアクティベーション失敗)、表示制御部33は操作パネル27にその旨を表示する(S50)。この場合、表4のアクティベーション許可情報3004のTrueは変更しない(Trueのまま)。
ステップS40の判断がYesの場合(ディアクティベーション成功、又は、ディアクティベーション済み)、表示制御部33は操作パネル27にその旨を表示し、表4のアクティベーション許可情報3004にFalseを登録する(S60)。
このように、ディアクティベーションすることで電子機器30Bはアプリケーションをアクティベーションすることが可能になる。
<設定データを導入する際の動作手順>
図9は、CE9がアプリケーションの設定データを電子機器30Bに導入する際の手順を示すシーケンス図の一例である。適宜、図10の導入操作画面を参照して説明する。なお、バックアップサーバ40、アクティベーションサーバ50及びアプリケーションサーバ60へのCE9のログインは適宜実行されている。
S1:CE9は電子機器30Bを操作して、アプリケーションの設定データをバックアップサーバ40から電子機器30Bに導入する操作を行う。図10に示すようにこの操作には、電子機器の更新と追加の2種類がある。手動で操作パネル27を操作してもよいし、PCと電子機器30Bを接続しPCから同様の信号を電子機器30Bに送信してもよい。この操作により、導入したアプリケーションのアクティベーションを行うかが決定される。
S2:電子機器30Bの操作受付部32はCE9の操作を受け付ける。これにより、設定データ管理部34は、通信部31を介してバックアップサーバ40に設定データ導入要求を送信する。設定データ導入要求には電子機器30Aの機器IDが含まれる。電子機器30Aの機器IDはCE9が書き留めておいてもよいし、電子機器30Aが電子機器30Bに予め送信しておいてもよい。
S3:バックアップサーバ40の通信部41は機器IDを含む設定データ導入要求を受信して、設定データ読出部43が設定データDB4001から機器IDに対応付けられた設定データ、プロダクトID及びプロダクトキーを読み出す。
S4:バックアップサーバ40の通信部41は設定データ、プロダクトID及びプロダクトキーを電子機器30Bに送信する。
S5:電子機器30Bの通信部31は設定データ、プロダクトID及びプロダクトキーを受信する。これにより、アプリインストール部37がアプリケーション取得要求と共にプロダクトIDをアプリケーションサーバ60に送信する。
S6:アプリケーションサーバ60の通信部61はアプリ要求を受信し、アプリ提供部62はプロダクトIDに基づいて特定されるアプリケーションをアプリDB6001から読み出す。
S7:アプリケーションサーバ60の通信部61はプロダクトIDで特定されたアプリケーションを電子機器30Bに送信する。
S8:電子機器30Bの通信部31はアプリケーションを受信する。これによりアプリインストール部37がアプリケーションを電子機器30Bにインストールする。なお、アプリケーションを可搬性の記憶媒体から読み出してインストールしてもよい。
ステップS9、S10の処理は、導入操作画面で電子機器の更新が選択された場合に実行される。
S9:活性化要求部36は通信部31を介してアクティベーション要求をアクティベーションサーバ50に送信する。アクティベーション要求にはプロダクトID、プロダクトキー及び機器IDが含まれる。プロダクトIDとプロダクトキーによりアプリケーションのライセンスを有するか否かが判断され、機器IDがアクティベーション許可情報3004の「ライセンス済み機器ID」に登録される。
S10:アクティベーションサーバ50の通信部51はアクティベーション要求を受信し、活性化部52がアクティベーションに関する処理を行う。詳細を図11にて説明する。
S11:設定データ管理部34はアプリケーションのアクティベーションが完了するとアプリケーションに設定データを設定する。これにより、電子機器30Bに電子機器30Aで動作していたアプリケーションがインストールされ、電子機器30Aの設定データが設定された。
<アクティベーションの不都合>
エクスポート要求とインポート要求はそれぞれ独立しているため、ユーザはエクスポート要求時には機器追加を選択し(ディアクティベーションなし)、インポート要求時には機器更新を選択する(アクティベーションあり)こと、又は、この逆を設定して実行することも可能である。この場合はインポート実行時にアクティベーションに失敗する可能性があるという不都合がある。
この不都合を解消するための方法として、バックアップされた設定データに、電子機器30の更新用の設定データであるのか又は追加用の設定データであるのかを示す情報を電子機器30Bが添付してバックアップサーバ40に送信し、インポート元の電子機器30Bが、ユーザによる更新又は追加の設定が正しいか否かを判別する方法が考えられる。エクスポート要求時に機器追加が選択されていた場合、電子機器30Bの活性化要求部36はインポート要求時に機器更新の選択を拒否する。この逆の場合も同様に、エクスポート要求時に機器更新が選択されていた場合、電子機器30Bの活性化要求部36はインポート要求時に機器追加の選択を拒否する。
電子機器30Aで電子機器の更新又は追加のどちらが選択されたのかによって、電子機器30Bで活性化要求部36は電子機器の更新又は追加の選択を拒否できる。この方法を採用することにより、エクスポート時とインポート時の設定の不整合を防ぐことができる。
<バックアップ操作画面>
図10は、導入操作画面411の一例を示す図である。導入操作画面411は電子機器の更新ボタン412と、電子機器の追加ボタン413を有する。電子機器30Aを電子機器30Bに更新する場合は、CE9は電子機器の更新ボタン412を押下する。ユーザが電子機器30Aを使い続けながら、新たに購入した(追加した)電子機器30に電子機器30Aと同じ設定データを設定する場合、CE9は電子機器の追加ボタン413を押下する。このようなユーザインタフェースにより、CE9はアプリケーションをアクティベーションするか否かを切り替えることができる。
<アクティベーションサーバの動作>
図11は、アクティベーションサーバ50の動作手順を示すフローチャート図の一例である。図11(a)は電子機器30Bの処理を示し、図11(b)はアクティベーションサーバ50の処理を示す。
まず、ユーザはアプリケーションをインストールする際に、プロダクトキーを入力し、アクティベートを指示する。電子機器30Bの操作受付部32はこれらの操作を受け付ける(S10)。
電子機器30Bの活性化要求部36は通信部31を介してプロダクトID、プロダクトキー及び機器IDと共にアクティベーション要求をアクティベーションサーバ50に送信する(S20)。プロダクトIDはインストールするアプリケーションによって自動的に定まる。
アクティベーションサーバ50の通信部51はアクティベーション要求を受信する。アクティベーション要求にはプロダクトID、プロダクトキー及び機器IDが含まれる。
活性化部52はプロダクトIDとプロダクトキーがプロダクト管理DB5001に登録されているか否かを判断する(S110)。プロダクトIDとプロダクトキーは、例えばユーザがアプリケーションを購入する時にプロダクト管理DB5001に登録される。
ステップS120の判断がNoの場合、活性化部52はエラーメッセージを電子機器30Bに送信する(S130)。この場合、例えば「プロダクトIDとプロダクトキーが登録されていません。」などのメッセージを送信する。
ステップS120の判断がYesの場合、活性化部52は、機器IDが「ライセンス済み機器」に登録済みであるか否かを判断する(S140)。
ステップS150の判断がYesの場合、新たな登録は不要なので、活性化部52は通信部51を介してアクティベーション成功を電子機器30Bに送信する(S160)。
ステップS150の判断がNoの場合、活性化部52は「使用済みライセンス数」が「ライセンス数の上限」に達しているか否かを判断する(S180)。
ステップS190の判断がNoの場合、活性化部52は「使用済みライセンス数」を1インクリメントし、機器IDを「ライセンス済み機番」に登録する(S170)。そしてアクティベーション成功を電子機器30Bに送信する(S160)。
ステップS190の判断がYesの場合、活性化部52はアクティベーション失敗を電子機器30Bに送信する(S200)。
電子機器30Bの通信部31はアクティベーション成功又は失敗をアクティベーションサーバ50から受信する。電子機器30Bの活性化要求部36はアクティベーション成功か否かを判断する(S30)。
ステップS40の判断がNoの場合、表示制御部33は操作パネル27にその旨を表示し、表4のアクティベーション許可情報3004にFalseを登録する(S50)。電子機器30Bにはアクティベーションが許可されないので、アプリケーションが上限以上の数の電子機器30で実行されることを抑制できる。
ステップS40の判断がYesの場合、表示制御部33は操作パネル27にその旨を表示し、表4のアクティベーション許可情報3004にTrueを登録する(S60)。
このように、バックアップサーバ40にプロダクトIDとプロダクトキーを保存しておくことで、電子機器30Aがアプリケーションをバックアップサーバ40に保存しなくても、電子機器30Bがアプリケーションをインストールしてアクティベーションすることが可能になる。
<アプリケーションのインストール>
図9のシーケンス図では電子機器30Bがアプリケーションをインストールすると説明したが、電子機器30とアプリケーションの組み合わせによってはインストールできないアプリケーションも存在する。例えば、アプリケーションが古く電子機器30が新しい場合、この逆に、アプリケーションが新しく電子機器30が古い場合、電子機器30Bがアプリケーションを実行できない場合がある。
このため、電子機器30Bはアプリケーションをインストールする前に、インストールの可否を判断することが好ましい。
図12は、電子機器30Bがアプリケーションをインストールする際の手順を示すシーケンス図の一例である。
S1:上記のように、電子機器30Bの通信部31はプロダクトIDで特定されたアプリケーションを受信する。
S2:この時、電子機器30Bの通信部31は受信したアプリケーションの適応情報も受信する。
S3:電子機器30Bのアプリインストール部37は適応情報を参照してインストールの妥当性を判断する。すなわち、適応情報に、特定の機種の電子機器30にしか対応していないことが記載されている場合、電子機器30Bの機種が適応しているか否かを判断する。また、適応情報に、バージョンによって対応する機種が異なることが記載されている場合、取得したアプリケーションのバージョンが対応する機種に電子機器30Bの機種が適応しているか否かを判断する。
S4:インストールが妥当であると判断した場合、アプリインストール部37はアプリケーションをインストールする。
インストールが妥当でないと判断した場合、アプリインストール部37はアプリケーションをインストールしない。この場合、電子機器30Bは操作パネル27にインストールできないアプリケーションを表示したり、ログを記録したり、印刷したりする。
このように、電子機器30Bがアプリケーションの適応情報を確認することで、動作することが保証されたアプリケーションをインストールすることができる。
<アプリケーションの動作>
図13は、アプリケーションがアクティベーションの有無によって起動するか否かを判断するフローチャート図の一例である。
S1:ユーザはアプリケーションを起動する操作を電子機器30に対して行う。電子機器30の操作受付部32はアプリケーションの実行要求を受け付ける。電子機器30の制御部39は起動の操作が行われたアプリケーションのアクティベーション状態を記憶部3000のアクティベーション許可情報3004から読み取る。
S2:アクティベート済みがTrueの場合、制御部39は表示制御部33にアクティベーション要求画面を表示させる。したがって、ユーザはアクティベーションが必要であることを把握できる。
S3:アクティベート済みがFalseの場合、制御部39はアプリケーションを起動させる。この場合、電子機器30Aは操作パネル27にアクティベートされていないことを表示してもよい。
このように、アプリケーションはアクティベーション状態によって、振る舞いを変えることができる。なお、管理者等はアプリケーションの挙動をアプリケーションごとに自由に設定できる。例えば、アクティベート済みがFalseでも起動を許可してもよいし、一定回数に限って起動を許可してもよい。
<アプリケーションのバックアップとエクスポート、インポートの関係>
図14(a)は、設定データのエクスポートの手順を示すシーケンス図の一例である。図14では操作部20でアプリケーションが動作しているものとして説明する。
S1:CE9はエクスポートの操作を電子機器30Aに入力する。
S2:電子機器30Aの操作部20は該操作を受け付け、設定データを保存する。
S3:電子機器30Aの操作部20はアプリケーションの設定データを作成する。
S4:電子機器30Aの操作部20はエクスポート用のアプリケーションの設定データを本体10に送信する。
S5:電子機器30Aの本体10はアドレス帳などの本体10のエクスポート用の設定データを作成する。
S6:電子機器30Aの本体10は操作部20の設定データと本体10の設定データを集約する。
S7:電子機器30Aの本体10は集約した設定データ(プロダクトIDとプロダクトキーを含む)と機器IDをバックアップサーバ40に送信する。
図14(b)は、設定データのインポートの手順を示すシーケンス図の一例である。
S1:CE9はインポートの操作を電子機器30Bに入力する。
S2:電子機器30Bの操作部20はインポート要求を本体10に送信する。
S3:電子機器30Bの本体10は機器IDと共に設定データの取得要求をバックアップサーバ40に送信する。
S4:バックアップサーバ40の設定データ読出部43は設定データDB4001から機器IDに対応付けられたプロダクトID,プロダクトキー、及び設定データを読み出し、通信部41が本体10に送信する。
S5:電子機器30Bの本体10は本体10の設定データをインポートする。
S6:本体10は設定データを操作部20に送信する。
S7:操作部20はアプリケーションを復元する。すなわち、プロダクトIDを使ってアプリケーションサーバ60からアプリケーションを取得してインストールする。また、プロダクトID、プロダクトキーを使ってアプリケーションをアクティベーションする。
S8:電子機器30Bの操作部20は操作部20の設定データをインポートする。
<まとめ>
以上説明したように本実施形態のプログラム設定システム100は、電子機器30の更新時にアプリケーションをバックアップしなくても、プロダクトIDとプロダクトキーをバックアップしておくことで、更新後の電子機器30Bはアプリケーションサーバ60からアプリケーションを取得できる。また、ディアクティベーション及びアクティベーションの仕組みを利用することにより、電子機器30Bでユーザがアプリケーションを使用できる。したがって、アプリケーションのバックアップのために多くのデータ容量が必要になったり、バックアップに時間がかかったりすることを抑制できる。
<その他の適用例>
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
例えば、本実施形態ではディアクティベーションとアクティベーションが行われると説明したが、ディアクティベーションとアクティベーションは行われなくてもよい。例えば、アプリケーションの起動時に所定のサーバに電子機器30がログインしなければならない起動方法の場合、複数の電子機器30の同時のログインを該サーバが禁止することで、実質的にディアクティベーション及びアクティベーションと同様の効果が得られる。したがって、ディアクティベーションとアクティベーションが電子機器30の更新時に行われる代わりに起動ごとの認証処理が行われる。
また、図2のプログラム設定システム100の構成例のように、バックアップサーバ40、アクティベーションサーバ50及びアプリケーションサーバ60はそれぞれが独立に存在する他、1つ又は2つのサーバに集約されていてもよい。あるいは、バックアップサーバ40、アクティベーションサーバ50及びアプリケーションサーバ60の1つ以上の機能が、複数のサーバに分散されていてもよい。
また、図5などの構成例は、電子機器30、バックアップサーバ40、アクティベーションサーバ50及びアプリケーションサーバ60による処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本願発明が制限されることはない。電子機器30、バックアップサーバ40、アクティベーションサーバ50及びアプリケーションサーバ60の処理は、処理内容に応じて更に多くの処理単位に分割することもできる。また、1つの処理単位が更に多くの処理を含むように分割することもできる。
なお、情報送信手段は電子機器30Aの通信部31の一例であり、情報受信手段は電子機器30Bの通信部31の一例であり、アプリインストール部37はインストール手段の一例であり、非活性化要求部35は非活性化要求手段の一例であり、活性化要求部36は活性化要求手段の一例であり、表示制御部33は表示制御手段の一例であり、操作受付部32は操作受付手段の一例である。バックアップ操作画面401は第一の画面の一例であり、導入操作画面411は第二の画面の一例である。
30 電子機器
32 操作受付部
33 表示制御部
34 設定データ管理部
35 非活性化要求部
36 活性化要求部
37 アプリインストール部
40 バックアップサーバ
50 アクティベーションサーバ
60 アプリケーションサーバ
100 プログラム設定システム
特開2003−288277号公報

Claims (10)

  1. 情報処理装置と通信する第一の電子機器と、前記情報処理装置と通信する第二の電子機器とを有するプログラム設定システムであって、
    前記第一の電子機器は、
    前記第一の電子機器の識別情報、及び、前記第一の電子機器で動作しているプログラムの識別情報を前記情報処理装置に送信する情報送信手段を有し、
    前記第二の電子機器は、
    前記第一の電子機器の識別情報で特定される、前記プログラムの識別情報を前記情報処理装置から受信する情報受信手段と、
    前記プログラムの識別情報で特定されるプログラムをアプリケーションサーバから取得し前記第二の電子機器にインストールするインストール手段と、
    を有するプログラム設定システム。
  2. 前記第一の電子機器は、
    前記プログラムの識別情報と共に前記プログラムのディアクティベーション要求をアクティベーションサーバに送信する非活性化要求手段を有し、
    前記情報送信手段は、更に、前記プログラムを使用する権利に関するライセンス情報を前記情報処理装置に送信し、
    前記情報受信手段は、前記第一の電子機器の識別情報で特定される前記ライセンス情報を前記情報処理装置から受信し、
    前記第二の電子機器は、前記プログラムの識別情報及び前記ライセンス情報と共に前記プログラムのアクティベーション要求をアクティベーションサーバに送信する活性化要求手段を有する請求項1に記載のプログラム設定システム。
  3. 前記第一の電子機器の前記情報送信手段は、更に、前記プログラムの設定に関する設定データを前記情報処理装置に送信し、
    前記第二の電子機器の前記情報受信手段は、更に、前記第一の電子機器の識別情報で特定される前記設定データを前記情報処理装置から受信し、
    前記インストール手段は、前記第二の電子機器にインストールした前記プログラムに前記設定データを設定する請求項2に記載のプログラム設定システム。
  4. 前記第一の電子機器は、電子機器の更新又は電子機器の追加の選択を受け付ける第一の画面を操作パネルに表示する表示制御手段と、
    前記第一の画面に対する電子機器の更新又は電子機器の追加の選択を受け付ける操作受付手段と、を有し、
    前記操作受付手段が電子機器の更新を受け付けた場合、前記非活性化要求手段は前記プログラムのディアクティベーション要求をアクティベーションサーバに送信し、
    前記操作受付手段が電子機器の追加を受け付けた場合、前記非活性化要求手段は前記プログラムのディアクティベーション要求をアクティベーションサーバに送信しない請求項2に記載のプログラム設定システム。
  5. 前記第二の電子機器は、電子機器の更新又は電子機器の追加の選択を受け付ける第二の画面を操作パネルに表示する表示制御手段と、
    前記第二の画面に対する電子機器の更新又は電子機器の追加の選択を受け付ける操作受付手段と、を有し、
    前記操作受付手段が電子機器の更新を受け付けた場合、前記活性化要求手段は前記プログラムのアクティベーション要求をアクティベーションサーバに送信し、
    前記操作受付手段が電子機器の追加を受け付けた場合、前記活性化要求手段は前記プログラムのアクティベーション要求をアクティベーションサーバに送信しない請求項4に記載のプログラム設定システム。
  6. 前記情報送信手段は、電子機器の更新又は追加のどちらが選択されたのかを前記情報処理装置に送信しておき、
    前記情報受信手段は、前記情報処理装置から電子機器の更新又は追加のどちらが選択されたのか受信し、
    前記活性化要求手段は、前記第一の電子機器で電子機器の更新又は追加のどちらが選択されたのによって、前記第二の電子機器で電子機器の更新又は追加の選択を拒否する請求項5に記載のプログラム設定システム。
  7. 前記インストール手段は、前記プログラムの識別情報で特定されるプログラムを取得する際、取得したプログラムをインストールするための適応情報を取得し、前記第二の電子機器が前記適応情報に適応する場合に、取得したプログラムをインストールする請求項1〜6のいずれか1項に記載のプログラム設定システム。
  8. 電子機器は、各プログラムに対応付けてアクティベーション済みか否かが登録されたアクティベーション許可情報の記憶部と、
    プログラムの実行要求を受け付けた場合、前記プログラムがアクティベーション済みか否かを前記アクティベーション許可情報に基づいて判断し、
    アクティベーション済みの場合はプログラムを起動し、アクティベーション済みでない場合はアクティベーションが必要な旨を表示装置に表示する制御手段と、を有する請求項2〜5のいずれか1項に記載のプログラム設定システム。
  9. 情報処理装置と通信する第一の電子機器と、前記情報処理装置と通信する第二の電子機器とを有するプログラム設定システムによるプログラム設定方法であって、
    前記第一の電子機器が、前記第一の電子機器の識別情報、及び、前記第一の電子機器で動作しているプログラムの識別情報を前記情報処理装置に送信するステップと、
    前記第二の電子機器が、前記第一の電子機器の識別情報で特定される、前記プログラムの識別情報を前記情報処理装置から受信するステップと、
    前記プログラムの識別情報で特定されるプログラムを取得し前記第二の電子機器にインストールするステップと、
    を有するプログラム設定方法。
  10. 情報処理装置と通信する電子機器であって、
    前記電子機器の識別情報、及び、前記電子機器で動作しているプログラムの識別情報を前記情報処理装置に送信する情報送信手段と、
    前記電子機器の識別情報で特定される、前記プログラムの識別情報を前記情報処理装置から受信する情報受信手段と、
    前記プログラムの識別情報で特定されるプログラムを取得し電子機器にインストールするインストール手段と、
    を有する電子機器。
JP2017109502A 2017-06-01 2017-06-01 プログラム設定システム、プログラム設定方法、電子機器 Pending JP2018205990A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017109502A JP2018205990A (ja) 2017-06-01 2017-06-01 プログラム設定システム、プログラム設定方法、電子機器
US15/991,219 US20180349065A1 (en) 2017-06-01 2018-05-29 Program setting system, program setting method, and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017109502A JP2018205990A (ja) 2017-06-01 2017-06-01 プログラム設定システム、プログラム設定方法、電子機器

Publications (1)

Publication Number Publication Date
JP2018205990A true JP2018205990A (ja) 2018-12-27

Family

ID=64459669

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017109502A Pending JP2018205990A (ja) 2017-06-01 2017-06-01 プログラム設定システム、プログラム設定方法、電子機器

Country Status (2)

Country Link
US (1) US20180349065A1 (ja)
JP (1) JP2018205990A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7230592B2 (ja) * 2019-03-05 2023-03-01 京セラドキュメントソリューションズ株式会社 機器セットアップシステム、機器セットアップ方法及び電子機器
JP7183873B2 (ja) * 2019-03-05 2022-12-06 京セラドキュメントソリューションズ株式会社 電子機器及び電子機器の制御方法
JP7336249B2 (ja) * 2019-04-23 2023-08-31 キヤノン株式会社 情報処理システム、モバイル端末、プログラム
JP7342443B2 (ja) 2019-06-18 2023-09-12 株式会社リコー 情報処理装置、方法、およびプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4936538B2 (ja) * 2007-07-19 2012-05-23 キヤノン株式会社 情報処理装置、使用権譲渡方法、使用権取得方法、及びコンピュータプログラム
US8316423B2 (en) * 2008-06-17 2012-11-20 Kyocera Document Solutions Inc. Image forming apparatus, key management server, activation system, and deactivation system
JP5428668B2 (ja) * 2009-09-07 2014-02-26 株式会社リコー ライセンス管理サーバ、ライセンス管理方法およびプログラム
JP2016162314A (ja) * 2015-03-03 2016-09-05 キヤノン株式会社 画像形成装置及びその制御方法

Also Published As

Publication number Publication date
US20180349065A1 (en) 2018-12-06

Similar Documents

Publication Publication Date Title
US11212412B2 (en) Information processing system, information processing apparatus, image forming apparatus, information processing method, and computer program product
JP7205522B2 (ja) 情報処理システム、情報処理装置およびプログラム
US20200409685A1 (en) Electronic apparatus, information processing system, and information processing method
JP6787115B2 (ja) 画像形成装置、機能追加方法、プログラム、
JP2018205990A (ja) プログラム設定システム、プログラム設定方法、電子機器
JP6117165B2 (ja) 画像形成装置、画像形成システムおよびジョブ管理プログラム
JP2016115285A (ja) 情報処理システム、情報処理装置、情報処理方法およびプログラム
JP2009054027A (ja) 情報処理装置、表示画面カスタマイズ方法、及び表示画面カスタマイズプログラム
JP6620530B2 (ja) 情報処理システム、情報処理装置、情報処理方法およびプログラム
US11489929B2 (en) System and method for determining client program based on login method
JP6759897B2 (ja) 情報処理装置、情報処理プログラム、情報処理システムおよび情報処理方法
JP6627477B2 (ja) 外部機器、機器、情報処理システム、情報処理プログラム、機器連携方法、外部機器連携方法及び情報処理方法
JP2016015580A (ja) 連携処理システム、及び連携処理方法
JP2019139661A (ja) プリントシステム、ジョブリスト提供方法、プリントサーバ装置、管理サーバ装置及びプログラム
JP5573411B2 (ja) 画像形成装置、プログラム、及びインストール方法
JP4967936B2 (ja) プリンタシステム、プリンタ装置、およびプログラム
JP6986874B2 (ja) 画像処理装置とその制御方法及びプログラム
JP2015049862A (ja) 情報処理装置、システム、方法およびプログラム
JP6424441B2 (ja) 複合機、情報処理方法、情報処理プログラム、および情報処理システム
JP2019192118A (ja) 情報処理装置及びプログラム
JP6930579B2 (ja) 情報処理システム、情報処理装置、情報処理方法およびプログラム
JP6597874B2 (ja) 画像出力装置及びサーバ
JP6769023B2 (ja) 情報処理装置、情報処理システム、情報処理方法、プログラム及び記憶媒体
JP2016081438A (ja) 画像形成システム
JP2022095081A (ja) 画像形成システム