(57)【要約】【課題】  ソフトウェア提供者およびユーザが、煩雑な業務／作業を必要とせず、また低コストでソフトウェアのインストールやアップデート、追加を行なえ、しかも不正コピーを確実に防止できるようにする。【解決手段】  追加機能モジュール（２０１〜２０３）をインストール可能な電子機器（１００）の製造番号リストをあらかじめ暗号化して得た暗号リスト（２０１ａ〜２０３ａ）を用意し、電子機器に対して追加機能モジュールを追加インストールする際、電子機器から該電子機器の製造番号（１０２）を読み出し、暗号リストを復号化して得た製造番号リスト中で電子機器から読み出した製造番号を検索し、当該製造番号を検索できた場合のみ電子機器のアプリケーション本体（１０３）に対する追加機能モジュールの追加インストールを許可する。【選択図】  図１
2006146835.tif 000002
【特許請求の範囲】
【請求項１】
電子機器に既にインストールされているアプリケーション本体に追加機能モジュールを追加インストールするソフトウェアインストール方法において、
前記追加機能モジュールをインストール可能な前記電子機器の製造番号リストをあらかじめ暗号化して得た暗号リストを用い、
前記電子機器に対して前記追加機能モジュールを追加インストールする際、
前記電子機器から該電子機器の製造番号を読み出し、前記暗号リストを復号化して得た製造番号リスト中で当該電子機器から読み出した製造番号を検索し、当該製造番号を検索できた場合のみ当該電子機器のアプリケーション本体に対する前記追加機能モジュールの追加インストールを実行することを特徴とするソフトウェアインストール方法。
【請求項２】
請求項１に記載のソフトウェアインストール方法において、前記暗号リストに、前記追加機能モジュールを追加インストール可能なアプリケーション本体のバージョンまたは製造番号リストを暗号化して含めておき、前記電子機器に対して前記追加機能モジュールを追加インストールする際、電子機器に既にインストールされているアプリケーション本体のバージョンまたは製造番号を読み出し、前記暗号リストを復号化して得たバージョンまたは製造番号リスト中でアプリケーション本体から読み出したバージョンまたは製造番号を検索できた場合のみ当該電子機器のアプリケーション本体に対する前記追加機能モジュールの追加インストールを実行することを特徴とするソフトウェアインストール方法。
【請求項３】
請求項１に記載のソフトウェアインストール方法を実施するためのソフトウェアインストールプログラムであって、前記電子機器または前記電子機器に所定の通信経路を介して接続されたホスト機器上で動作し、前記電子機器に既にインストールされているアプリケーション本体への追加機能モジュールの追加インストールを制御することを特徴とするソフトウェアインストールプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器に既にインストールされているアプリケーション本体に追加機能モジュールを追加インストールするソフトウェアインストール方法、およびソフトウェアインストールプログラムに関するものである。
【背景技術】
【０００２】
従来より、コンピュータや各種のコンピュータ応用電子機器において、ソフトウェアの不正コピーが大きな問題となっている。この不正コピーには、ソフトウェアの記憶媒体自体をコピーしてしまう形態の他、ライセンス上、単一機器へのインストールのみしか許されていないソフトウェアを複数の電子機器にインストールしてしまうものがある。いずれにしても、このような不正コピーが行なわれると、ソフトウェア提供者の利益が著しく損なわれる問題がある。
【０００３】
この不正コピーの問題に鑑み、従来より、（１）アプリケーションのＣＤ−ＲＯＭやマニュアルにシリアル番号や登録キーのような認証情報を格納／記載し、インストールの際にユーザにこれらの認証情報の入力を求める技術、（２）アプリケーションの初回のインストール時にインストール対象の機器の固有情報（たとえば当該機器のＲＯＭなどに書き込まれたシリアル番号やＭＡＣアドレス）からパスワードないし暗証情報を生成し、元のアプリケーションに書き込み、他の機器へインストールしてもアプリケーションが動作しないようにする技術（たとえば下記の特許文献１および特許文献２）、あるいは、（３）ソフトウェア提供者とユーザの間でユーザ登録手続を行ない、その後ユーザの間でソフトウェア提供者からユーザに提供されるパスワードないし暗証情報を入力することで初めてアプリケーションが動作するよう制御する、などの技術（たとえば下記の特許文献３）が知られている。
【特許文献１】特開２００１−２６５５８１号公報
【特許文献２】特開２００２−２３６５２２号公報
【特許文献３】国際特許公開公報  ＷＯ９９／４１６５７
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の従来技術（１）では、ユーザがシリアル番号や登録キーのような認証情報を入力し、また、再インストールなどを考慮してユーザがこれら認証情報を紛失しないように管理する手間が必要であった。
【０００５】
また、上記の従来技術（２）では、対象の電子機器１台あたりソフトウェアパッケージを１本供給する必要があり、ユーザに１００台の機器があれば１００本のソフトウェアパッケージを管理しなければならない面倒があり、また資源節約の見地から見ても無駄が大きい。また、初回のインストール時にパスワードないし暗証情報を生成する方式では、初回のインストールよりも前に行なわれる不正コピーには対処できない、という問題がある。
【０００６】
さらに、上記の従来技術（３）では、ソフトウェア提供者がユーザ登録業務を運営（ユーザとの連絡にはたとえば郵便やＷＥＢページのインターフェースを用いる）する必要があり、ソフトウェア提供者側の管理コストが大きくなる問題があり、またユーザ側でも面倒な登録手続きを行なわなければならず、また登録手続きにともなうタイムラグを０とするのは困難であり、ユーザが実際にソフトウェアを使い始めるまでに時間がかかる、という問題もある。
【０００７】
したがって、ソフトウェア提供者およびユーザが、煩雑な業務／作業を必要とせず、また低コストでソフトウェアのインストールやアップデート、追加を行なえ、不正コピー防止のしくみが望まれている。
【０００８】
また、この種のソフトウェアパッケージは、ソフトウェア本体部分の他に、拡張機能部分を別パッケージ（モジュール）として供給する構成が知られている。このように、ある電子機器に対して、ソフトウェア本体と、拡張機能部分をインストール可能なシステムにおいて、上記の従来技術を用いようとすると、ソフトウェア本体および各拡張機能部分（単数とは限らず、多数の場合がある）それぞれに上述の各認証情報の管理、生成処理、あるいは登録業務が必要となり、ソフトウェア提供者およびユーザが負担しなければならない管理業務の手間とコストは膨大なものになってしまう。
【０００９】
本発明の課題は、上記の問題を解決し、ソフトウェア提供者およびユーザが、煩雑な業務／作業を必要とせず、また低コストでソフトウェアのインストールやアップデート、追加を行なえ、しかも不正コピーを確実に防止できるようにすることにある。
【課題を解決するための手段】
【００１０】
上記課題を解決するため、本発明は、電子機器に既にインストールされているアプリケーション本体に追加機能モジュールを追加インストールするソフトウェアインストール方法およびソフトウェアインストールプログラムにおいて、前記追加機能モジュールをインストール可能な前記電子機器の製造番号リストをあらかじめ暗号化して得た暗号リストを用い、前記電子機器に対して前記追加機能モジュールを追加インストールする際、前記電子機器から該電子機器の製造番号を読み出し、前記暗号リストを復号化して得た製造番号リスト中で当該電子機器から読み出した製造番号を検索し、当該製造番号を検索できた場合のみ当該電子機器のアプリケーション本体に対する前記追加機能モジュールの追加インストールを実行する構成を採用した。
【発明の効果】
【００１１】
本発明では、上記のように、追加機能モジュールをインストール可能な電子機器の製造番号リストをあらかじめ暗号化して得た暗号リストを用意し、電子機器に対して追加機能モジュールを追加インストールする際、電子機器から該電子機器の製造番号を読み出し、暗号リストを復号化して得た製造番号リスト中で電子機器から読み出した製造番号を検索し、当該製造番号を検索できた場合のみ電子機器のアプリケーション本体に対する追加機能モジュールの追加インストールを許可するようにしている。
【００１２】
本発明のソフトウェアインストールの手法は、従来のようなユーザによるインストールキーの入力や管理、メーカー側の煩雑なユーザ登録業務を必要とせず、たとえ追加機能モジュールの数が多数に渡る場合でも、ソフトウェア提供者およびユーザの煩雑な業務／作業を必要とせず、低コストでソフトウェアのインストールやアップデート、追加を適正に行なえ、ソフトウェアの不正コピーを確実に防止できる、という優れた効果がある。
【００１３】
また、本発明は、追加機能モジュールごとに暗号リストの復号化、製造番号の照合、インストールを繰り返すものであり、複数の追加機能モジュールを自動的に確実に追加インストールすることができる。
【発明を実施するための最良の形態】
【００１４】
以下、ホストコンピュータ、計測機器、工業用ロボット、ミシン、画像処理装置などの電子機器に対して既にインストールされているアプリケーション本体に追加機能モジュールを追加インストールするための構成を例示する。
【実施例１】
【００１５】
図１に本発明の情報処理システムの基本構成およびその動作の概略を示す。図１において符号１００はソフトウェアのインストール対象の電子機器である。電子機器１００は、ホストコンピュータ、計測機器、工業用ロボット、ミシン、画像処理装置などコンピュータによってプログラムを実行することにより所定の動作を行なう任意の機器である。
【００１６】
図１の電子機器１００にはメモリ１０１が設けられており、メモリ１０１の不揮発領域（ＲＯＭなど）にはこの電子機器１００に固有の製造番号１０２を書き込んでおく。
【００１７】
メモリ１０１のＲＡＭ領域あるいは外部記憶媒体などから構成されたメモリ領域には、電子機器１００の不図示のＣＰＵにより実行されるアプリケーション本体１０３が格納される。アプリケーション本体１０３には、その製品のバージョン（またはそのソフトウェア製品自体）を識別するバージョンまたは製造番号（以下、バージョン／製造番号と記す）１０４が格納されている。このバージョン／製造番号の利用方法については後で詳述する。
【００１８】
電子機器１００は、上記のメモリ１０１、ＣＰＵの他、不図示の部材（Ｉ／Ｏ制御のためのチップセット、周辺機器のドライバ回路、ネットワークインターフェースなど）を有しており、不図示のＣＰＵがメモリ１０１上の、アプリケーション本体１０３あるいはさらに後述のようにしてインストールされた追加機能から構成されたアプリケーションを実行することにより所定の動作を行なう。
【００１９】
本実施例では、メモリ１０１のアプリケーション本体１０３に対して、インストーラ（インストールプログラム）２００を用いて追加機能モジュール２０１、２０２、２０３（…）をインストールする。
【００２０】
インストーラ２００はネットワーク（あるいは他の適当な通信経路）経由で電子機器１００に接続された所定の機器（たとえばホストコンピュータ）で実行するか、あるいは、電子機器１００に対してフレキシブルディスクやＣＤ−ＲＯＭなどの媒体経由で導入され、メモリ１０１上の所定領域で実行できるようにしておく。
【００２１】
追加機能モジュール２０１、２０２、２０３は、それぞれその追加機能モジュールをインストール可能な電子機器の製造番号１０２と照合される暗号リスト２０１ａ、２０２ａ、２０３ａを含む。これら暗号リスト２０１ａ、２０２ａ、２０３ａは、たとえば追加機能モジュールをインストール可能な電子機器の製造番号１０２の全桁あるいは照合を必要とする所定の一部を暗号化することにより生成されたデータ（製造番号）のリストである。この暗号化には任意の暗号方式（ＤＥＳ、３ＤＥＳなど）を用いることができ、その復号キーはインストーラ２００内に組み込んでおく。
【００２２】
図１の中央部分は、インストーラ２００が追加機能モジュール２０１、２０２、２０３をインストールする際の処理を示している。この例は、電子機器１００に対する追加機能モジュール２０１、２０２、２０３のインストールをインストーラ２００が順次試行する場合の処理を示している。
【００２３】
インストーラ２００が起動されると、電子機器１００のメモリ１０１から製造番号１０２を読み出す一方、追加機能モジュール２０１、２０２、２０３の暗号リスト２０１ａ、２０２ａ、２０３ａを復号化（２０４、２０５、２０６）してデータ（製造番号）のリストを得、電子機器１００のメモリ１０１から読み出した製造番号１０２が上記復号化（２０４、２０５、２０６）により得られた各製造番号リスト中に存在するか否かを判定（２０７、２０８、２０９）する。
【００２４】
そして、復号化（２０４、２０５、２０６）により得られた製造番号リスト中で電子機器１００のメモリ１０１から読み出した製造番号１０２を検索できた場合は、インストール手順（３０１、３０２、３０３）を起動して該当の追加機能モジュール２０１、２０２、２０３を電子機器１００のメモリ１０１上のアプリケーション本体１０３に追加する。もちろん、インストール手順（３０１、３０２、３０３）および各追加機能モジュール２０１、２０２、２０３は、インストール手順（３０１、３０２、３０３）を経由せずには各追加機能モジュール２０１、２０２、２０３をインストールできないように作成しておく（たとえば各追加機能モジュール２０１、２０２、２０３の実行コード自体を暗号化しておくといった対策を施しておく）のはいうまでもない。
【００２５】
以上のようにして、電子機器１００のメモリ１０１のアプリケーション本体１０３に追加すべき各追加機能モジュール２０１、２０２、２０３は、各追加機能モジュール２０１、２０２、２０３に関連づけられた暗号リスト（暗号化された製造番号リスト）に（その全部ないし一部が）含まれる製造番号１０２を持つ電子機器１００のみに追加でき、一方、他の製造番号を持つ電子機器にはインストールできないように制御することができる。
【００２６】
図２は、図１の処理を実現するためのインストーラ２００の制御の流れの一例を示している。
【００２７】
図２のインストーラ２００はネットワーク経由で電子機器１００に接続された所定の機器（たとえばホストコンピュータ）上で実行されるか、あるいは、電子機器１００に対してフレキシブルディスクやＣＤ−ＲＯＭなどの媒体経由で導入され、電子機器１００上で実行される。
【００２８】
図２のステップＳ４０１では、電子機器１００から製造番号１０２を読み出し、続いてステップＳ４０２〜Ｓ４０６のループで追加機能２０１〜２０３のインストールを順次処理する。
【００２９】
まず、ステップＳ４０２では、インストーラ２００とともに格納された（あるいはインストーラ２００と別の記憶媒体やネットワークホストなどに格納されていてもよい）暗号リスト（２０１ａ、２０２ａ、ないし２０３ａ）の１つを読み出し、復号化する。
【００３０】
ステップＳ４０３およびＳ４０４では、復号化した製造番号リストと、ステップＳ４０１で読み出した製造番号（１０２）を照合し、一致を見た場合のみステップＳ４０５で該当の追加機能（２０１、２０２、ないし２０３）をインストール（３０１、３０２、３０３）する。
【００３１】
ステップＳ４０４で、製造番号（１０２）を復号化した製造番号リストで検索できなかった場合は、この時点でエラー処理を行なうことができる。このエラー処理では、電子機器１００が該当の追加機能をインストールできる製造番号を持っておらず、該当の追加機能が電子機器１００にインストールできない（できなかった）ことを表示メッセージ（あるいは音声メッセージなど）を介してユーザに通知する。
【００３２】
ステップＳ４０６では、処理すべき追加機能（２０１、２０２、ないし２０３）が残っているか否かを判定し、処理すべき追加機能が残っている場合はステップＳ４０２にループし、処理を繰り返す。
【００３３】
ステップＳ４０７ではステップＳ４０２〜Ｓ４０６のループで１つ以上の追加機能を有効にインストールしたか否かを判定する。ステップＳ４０２〜Ｓ４０６のループで１つ以上有効なインストールが行なわれた場合には、ステップＳ４０８でインストールできた追加機能とインストールできなかった追加機能をリスト表示し、ユーザに通知する。なお、特に、インストールできなかった追加機能に関しては、上記のエラー処理と同様に、電子機器１００が該当の追加機能をインストールできる製造番号を持っておらず該当の追加機能が電子機器１００にインストールできない（できなかった）ことを表示メッセージ（あるいは音声メッセージなど）により警告してもよい。
【００３４】
ステップＳ４０７で追加機能を１つもインストールできなかった場合は、不正なインストールをユーザが強行した場合が考えられるから、ステップＳ４０９においてより強い警告を行なう。たとえば、全ての追加機能をインストール可能な製造番号と、当該機器の製造番号が全て不一致であり、不正インストールが疑われる点などを警告してもよい。
【００３５】
なお、追加機能をインストール可能な暗号リストを復号化するためのキー情報は、たとえばインストーラ２００とともに格納しておく（ただし、リバースエンジニアリングが不可能あるいは困難である格納形式とするのが望ましい）ことができる。もちろん、開発者レベルやユーザレベルなどの権限情報を設定しておき、たとえばインストーラ２００を実行する機器上において、あるい一定以上の権限を有している場合に暗号リストの閲覧を許容するようにしてもよい。
【００３６】
また、追加機能をインストール可能な暗号リストを復号化するためのキー情報（あるいはパスワードなど）は、インストーラ２００とともに格納しておくのではなく、キーボードやＩＣカードリーダなどからユーザに入力させてもよい。
【００３７】
以上のようにして、製造番号を基準として、暗号リストの形式で電子機器に対して追加する追加機能モジュールごとにその追加機能モジュールを追加できる製造番号を定義し、暗号化された製造番号リストに（その全部ないし一部が）含まれる製造番号を持つ電子機器のみに追加機能モジュールを追加できるようにコントロールすることができ、他の製造番号を持つ電子機器への不正なインストールを防止することができる。
【００３８】
図３は、実際の製品供給に関して本発明のインストール方法をどのように運用できるかを示した例である。
【００３９】
図３のユーザ環境にはグループＡの２０台の電子機器（ａ１〜ａ２０）、グループＢの１５台の電子機器（ｂ１〜ｂ１５）、グループＣの１０台の電子機器（ｃ１〜ｃ１５）が稼働しており、各機器のメモリ（図１の１０１）にはアプリケーション本体１０３が既にインストールされている。
【００４０】
グループＡ、ＢおよびＣの機器は、製品のグレードや、ユーザとメーカーとの契約時の条件などに応じて、メーカー（あるいは販売者、ソフトウェア供給業者）が後からインストール可能な追加機能をあらかじめ選択しておきたい場合がある。
【００４１】
たとえば、図３の例では、（ア）追加機能Ｆ１はグループＡの電子機器、およびグループＣの電子機器にのみインストール可能とし、一方、（イ）追加機能Ｆ２はグループＢの電子機器、およびグループＣの電子機器にのみインストール可能とする、といった形態である。
【００４２】
このような場合には、メーカー（あるいは販売者、ソフトウェア供給業者）が追加機能Ｆ１にはグループＡの電子機器、およびグループＣの電子機器の製造番号を暗号化した暗号リスト５０１を付与し、追加機能Ｆ２にはグループＢの電子機器、およびグループＣの電子機器の製造番号を暗号化した暗号リスト５０２を付与しておけばよい。
【００４３】
このように暗号リスト５０１、５０２を付与しておくことにより、図３の中央に示すように、メーカー（あるいは販売者、ソフトウェア供給業者）の上記の（ア）、（イ）の意図通りに各追加機能Ｆ１およびＦ２のインストールを制御することができる。
【００４４】
以上のように、本実施例によれば、追加機能モジュールをインストール可能な電子機器の製造番号リストをあらかじめ暗号化して得た暗号リストを用意し、電子機器に対して追加機能モジュールを追加インストールする際、電子機器から該電子機器の製造番号を読み出し、暗号リストを復号化して得た製造番号リスト中で電子機器から読み出した製造番号を検索し、当該製造番号を検索できた場合のみ電子機器のアプリケーション本体に対する追加機能モジュールの追加インストールを許可するようにしている。
【００４５】
本実施例のソフトウェアインストールの手法は、従来のようなユーザによるインストールキーの入力や管理、メーカー側の煩雑なユーザ登録業務を必要とせず、たとえ追加機能モジュールの数が多数に渡る場合でも、ソフトウェア提供者およびユーザの煩雑な業務／作業を必要とせず、低コストでソフトウェアのインストールやアップデート、追加を適正に行なえ、ソフトウェアの不正コピーを確実に防止できる、という優れた効果がある。
【００４６】
また、本実施例は、追加機能モジュールごとに暗号リストの復号化、製造番号の照合、インストールを繰り返すものであり、複数の追加機能モジュールを自動的に確実に追加インストールすることができる。
【００４７】
なお、以上では、図１のバージョン／製造番号１０４の利用方法について詳しく述べなかったが、このバージョン／製造番号１０４は次のようにして利用することができる。
【００４８】
図１の追加機能モジュール２０１〜２０３のインストールを制御する場合、上記のように対象の電子機器１００（の製造番号）を識別することによりインストールの可／不可を決定するだけでは足りない場合がある。たとえば、メモリ１０１上のアプリケーション本体１０３のバージョン／製造番号１０４によっては、追加機能モジュール２０１〜２０３をインストールできないような仕様でアプリケーション本体１０３あるいは追加機能モジュール２０１〜２０３が製造される場合がある。
【００４９】
したがって、追加機能モジュール２０１〜２０３を特定のバージョン／製造番号１０４を持つアプリケーション本体１０３に対してしか追加できないように制御することができれば好適である。
【００５０】
このためには、追加機能モジュール２０１〜２０３の暗号リスト２０１ａ〜２０３ａの中に、電子機器の製造番号だけではなく、追加機能２０１〜２０３をそれぞれインストール可能なアプリケーション本体１０３の製造番号（１０４）を暗号化して含めておけばよい。
【００５１】
そして、図１のステップ２０７〜２０９、あるいは図２のステップＳ４０３〜Ｓ４０４においてアプリケーション本体１０３の製造番号（１０４）も各暗号リスト（２０１ａ〜２０３ａ）内の暗号化された製造番号と照合し、一致した場合のみ、インストールを許可し、製造番号が一致しなかった場合には、当該の追加機能モジュールはアプリケーション本体１０３の製造番号１０４が不一致であるのでインストールできない旨の警告表示を行なう。
【００５２】
以上のようにして、電子機器にインストールされているアプリケーション本体１０３と互換性のある追加機能モジュールのみを確実に電子機器にインストールすることができる。
【産業上の利用可能性】
【００５３】
本発明は、ホストコンピュータ、計測機器、工業用ロボット、ミシン、画像処理装置などの各種電子機器に既にインストールされているアプリケーション本体に追加機能モジュールを追加インストールする場合に適用でき、実際に当該の電子機器がどのような動作を行なうかによって本発明が制限を受けないのはもちろんである。
【００５４】
本発明のインストールプログラムは、対象の電子機器や、インストールプログラムを実行する機器の出荷時からＲＯＭなどの記憶媒体に格納しておく他、種々の外部記憶媒体（ＣＤＲＯＭ、フレキシブルディスクなど）からこれらの装置に供給することができ、あるいは任意のサーバからネットワーク経由で供給することもできる。
【図面の簡単な説明】
【００５５】
【図１】本発明による追加機能インストール方式の概略を示した説明図である。
【図２】本発明による追加機能インストール方式を実現するためのインストーラの処理の流れを示したフローチャート図である。
【図３】製品の供給環境に応じた本発明による追加機能インストールの例を示した説明図である。
【符号の説明】
【００５６】
１００  電子機器
１０１  メモリ
１０２  製造番号
１０３  アプリケーション本体
１０４  バージョン／製造番号
２００  インストーラ
２０１、２０２、２０３、Ｆ１、Ｆ２  追加機能モジュール
２０１ａ〜２０３ａ、５０１、５０２  暗号リスト
【図１】
2006146835.tif 000003
【図２】
2006146835.tif 000004
【図３】
2006146835.tif 000005