(57)【要約】【課題】ある端末装置の実行環境を、他の端末装置に作成する場合に、リモートブートの要求をきっかけに、レジストリ情報を自動的に作成し、リモートブートを容易に実現するリモートブート技術を提供できていなかった。また同時に、適正かつ最適なライセンス管理を容易に実現するリモートブート技術を提供できていなかった。【解決手段】リモートブートを容易に実現するリモートブート技術を提供する。端末装置からリモートブートの要求を受けると、前記端末装置のハードウェア情報およびソフトウェア情報を収集するためのプログラムを前記要求元の端末装置に送る手段と、前記要求元の端末装置からハードウェア情報およびソフトウェア情報を受け取ると、それらの情報を用いてレジストリ情報を作成する手段と、前記レジストリ情報に基づき、ブート処理に必要なプログラムを、前記要求元の端末装置に送る手段と、プログラムのライセンスを適正に管理する手段と、を有する共用記憶システムを提供する。【選択図】  図１
2004295270.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続される１以上の計算機により共用される共用記憶システムにおいて、
前記計算機からブートの要求を受けると、前記計算機のＣＰＵの種類および個数を含むハードウェア情報と、オペレーションシステムおよびアプリケーションプログラムの種類を含むソフトウェア情報を収集するためのプログラムを前記要求元の計算機に送る手段と、
前記要求元の計算機からハードウェア情報およびソフトウェア情報を受け取ると、それらの情報を用いてレジストリ情報を作成する手段と、
前記レジストリ情報に基づき、ブート処理に必要なプログラムを、前記要求元の計算機に送る手段とを有する共用記憶システム。
【請求項２】
請求項１に記載の共用記憶システムにおいて、
ブート要求された前記計算機の、前記ハードウェア情報と前記ソフトウェア情報の整合性を判断する手段を有する共用記憶システム。
【請求項３】
請求項１に記載の共用記憶システムにおいて、
前記共用記憶システムは、前記計算機の補助記憶として機能する記憶装置を有し、
前記ソフトウェア情報に適する実行環境が、既に前記記憶装置にあるか否かを判別する手段と、
前記適する実行環境がある場合は、その実行環境のレジストリ情報を利用し、レジストリ情報を編集する手段と、
前記適する実行環境がない場合は、新たにレジストリ情報を生成する手段とを有する共用記憶システム。
【請求項４】
請求項１に記載の共用記憶システムにおいて、
前記ハードウェア情報およびソフトウェア情報を収集するためのプログラムは、前記計算機に表示させ、ソフトウェア情報を入力させるための画面を表示する手段を含む共用記憶システム。
【請求項５】
ネットワークを介して記憶システムが接続される計算機において、
ブートの要求を前記記憶システムに送る手段と、
前記記憶システムから、前記計算機のＣＰＵの種類および個数を含むハードウェア情報と、オペレーションシステムおよびアプリケーションプログラムの種類を含むソフトウェア情報を収集するためのプログラムを受け取り、ハードウェア情報およびソフトウェア情報を収集して前記記憶システムに送る手段と、
ブート処理に必要なプログラムを、前記記憶システムから受け取り、ブートする手段とを有する計算機。
【請求項６】
請求項５に記載の計算機において、
前記プログラムは、ソフトウェア情報を入力させるための画面を表示する手段を含み、
前記計算機は、前記入力画面にソフトウェア情報を入力させる手段を有する計算機。
【請求項７】
１以上の計算機と、ネットワークを介して接続される前記１以上の計算機により共用される共用記憶システムと、を有する情報処理システムにおいて、
前記共用記憶システムは、請求項１に記載の共用記憶システムであり、
前記計算機は、ブートの要求を前記共用記憶システムに送る手段と、
前記共用記憶システムから、前記計算機のハードウェア情報およびソフトウェア情報を収集するためのプログラムを受け取り、ハードウェア情報およびソフトウェア情報を収集して前記記憶システムに送る手段と、
ブート処理に必要なプログラムを、前記共用記憶システムから受け取り、ブートする手段とを有する共用記憶システム。
【請求項８】
第１の情報処理装置にブートを要求する第２の情報処理装置において、前記第２の情報処理装置により実行されるプログラムであって、
前記第２の情報処理装置が要求するオペレーションシステムおよびアプリケーションプログラムの種類を含むソフトウェア情報を入力させるための画面を表示する手段と、
前記第２の情報処理装置から入力されたソフトウェア情報を受け付ける手段と、
前記受け付けたソフトウェア情報を、前記第１の情報処理装置に送る手段と、
を前記第２の情報処理装置に実現させるプログラム。
【請求項９】
第２の情報処理装置をブートするための第１の情報処理装置より実行されるプログラムであって、
前記第２の情報処理装置からブートの要求を受けると、前記第２の情報処理装置のＣＰＵの種類および個数を含むハードウェア情報と、オペレーションシステムおよびアプリケーションプログラムの種類を含むソフトウェア情報を収集するためのプログラムを前記要求元の第２の情報処理装置に送る手段と、
前記要求元の第２の情報処理装置からハードウェア情報およびソフトウェア情報を受け取ると、それらの情報を用いてレジストリ情報を作成する手段と、
前記レジストリ情報に基づき、ブート処理に必要なプログラムを、前記要求元の第２の情報処理装置に送る手段と、
を前記第１の情報処理装置に実現させるプログラム。
【請求項１０】
第２の情報処理装置をブートするための第１の情報処理装置より実行されるプログラムであって、
前記第２の情報処理装置からブートの要求を受けると、前記第２の情報処理装置のＣＰＵの種類および個数を含むハードウェア情報と、オペレーションシステムおよびアプリケーションプログラムの種類を含むソフトウェア情報を収集するためのプログラムを前記要求元の第２の情報処理装置に送るステップと、
前記要求元の第２の情報処理装置からハードウェア情報およびソフトウェア情報を受け取ると、それらの情報を用いてレジストリ情報を作成するステップと、前記レジストリ情報に基づき、ブート処理に必要なプログラムを、前記要求元の第２の情報処理装置に送るステップと、
を前記第１の情報処理装置に実行させるプログラム。
【請求項１１】
ネットワークにより接続された計算機をブートする方法において、
前記計算機からブートの要求を受けると、前記計算機のＣＰＵの種類および個数を含むハードウェア情報と、オペレーションシステムおよびアプリケーションプログラムの種類を含むソフトウェア情報を収集するためのプログラムを前記要求元の計算機に送るステップと、
前記要求元の計算機からハードウェア情報およびソフトウェア情報を受け取ると、それらの情報を用いてレジストリ情報を作成するステップと、
前記レジストリ情報に基づき、ブート処理に必要なプログラムを、前記要求元の計算機に送るステップとを有する方法。
【請求項１２】
請求項１に記載の共用記憶システムにおいて、
少なくとも前記計算機で使用するソフトウェアのライセンス情報およびブート処理に必要なプログラム毎のライセンスの使用状況情報を格納する手段と、
前記ライセンス情報をブート処理に必要なプログラムの操作と連携して管理する手段とを有する共用記憶システム。
【請求項１３】
請求項１に記載の共用記憶システムにおいて、
少なくとも前記計算機で使用するソフトウェアのライセンス情報およびブート処理に必要なプログラム毎のライセンスの使用状況情報を格納する手段と、
前記ライセンス情報をブート処理に必要なプログラムの操作と連携して管理する手段と、
レジストリ情報を作成する場合に、新規にライセンスを確保する手段と、ライセンスを他の計算機に動的に移動する手段と、アップデート等置き換えで多重にライセンスを持つ必要がないことを判断する手段と、および多重に持つ必要がないと判断した時にはライセンスを返す手段とを有する共用記憶システム。
【請求項１４】
請求項１に記載の共用記憶システムにおいて、
少なくとも前記計算機で使用するソフトウェアのライセンス情報およびブート処理に必要なプログラム毎のライセンスの使用状況情報を格納する手段と、
前記ライセンス情報をブート処理に必要なプログラムの操作と連携して管理する手段と、
前記ライセンス情報をモニタする手段と、
モニタ結果をライセンス管理者に通知する手段とを有する共用記憶システム。
【請求項１５】
請求項１に記載の共用記憶システムにおいて、
少なくとも前記計算機で使用するソフトウェアのライセンス情報およびブート処理に必要なプログラム毎のライセンスの使用状況情報を格納する手段と、
前記ライセンス情報をブート処理に必要なプログラムの操作と連携して管理する手段と、
前記ライセンス情報をモニタする手段と、
モニタ結果をライセンス管理者に通知する手段と、
モニタ結果を分析し、ライセンス過不足予想およびライセンスの有効期限との比較によるライセンスの購入仕様を、ライセンス管理者に通知する手段とを有する共用記憶システム。
【請求項１６】
請求項１に記載の共用記憶システムにおいて、
少なくとも前記計算機で使用するソフトウェアのライセンス情報、ブート処理に必要なプログラム毎のライセンスの使用状況情報、および、ソフトウェアを管理するソフトウェア管理情報を格納する手段と、
前記ライセンス情報をブート処理に必要なプログラムの操作と連携して管理する手段と、
前記ソフトウェア管理情報をモニタする手段と、
モニタ結果をライセンス管理者に通知する手段と、
インターネットまたはイントラネットを介して、ソフトウェアの販売情報を入手し、前記ソフトウェア管理情報に格納する手段と、
前記入手したソフトウェアの販売情報に基づき、少なくとも買い替えの時期、買い替えの数、見積もり金額の情報をライセンス管理者に通知する手段とを有する共用記憶システム。
【請求項１７】
請求項１に記載の共用記憶システムにおいて、
少なくとも前記計算機で使用するソフトウェアのライセンス情報およびブート処理に必要なプログラム毎のライセンスの使用状況情報を格納する手段と、
前記ライセンス情報をブート処理に必要なプログラムの操作と連携して管理する手段と、
前記ライセンス情報をモニタする手段と、
モニタ結果をライセンス管理者に通知する手段と、
モニタ結果を分析し、ライセンス過不足予想およびライセンスの有効期限との比較によるライセンスの購入仕様を、ライセンス管理者に通知する手段と、
前記購入仕様に基づき、ライセンスの発注書を作成し、ライセンス管理者に通知し、ライセンス管理者の発注承認を受け付け、発注処理をおこなう発注システムと連携して発注を行なう手段とを有する共用記憶システム。
【請求項１８】
請求項１に記載の共用記憶システムにおいて、
少なくとも前記計算機で使用するソフトウェアのライセンス情報およびブート処理に必要なプログラム毎のライセンスの使用状況情報を格納する手段と、
前記ライセンス情報をブート処理に必要なプログラムの操作と連携して管理する手段と、
前記ライセンス情報をモニタする手段と、
モニタ結果をライセンス管理者に通知する手段と、
モニタ結果を分析し、ライセンス過不足予想およびライセンスの有効期限との比較によるライセンスの購入仕様を、ライセンス管理者に通知する手段と、
ライセンス管理者の指示を受け付ける手段と、
前記指示を受け付け、モニタ結果および前記購入仕様を取得し、ライセンス管理者に通知する手段とを有する共用記憶システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の端末装置により共用される共用記憶システム、および、これを有する情報処理システムに係り、特に、これらの端末装置についてリモートブートを可能とする共用記憶システム、および、これを有する情報処理システムに関する。
【０００２】
【従来の技術】
複数の端末装置が、オペレーティングシステム（以下、ＯＳと略記する）およびアプリケーションプログラムを格納する記憶装置を、ネットワーク接続で共用する形態がある。この接続方法として、ｉＳＣＳＩ（Ｉｎｔｅｒｎｅｔ  Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｆａｃｅ）プロトコルが知られている。ｉＳＣＳＩプロトコルは、イーサネット（Ｅｔｈｅｒｎｅｔ）（登録商標）のようなネットワーク上の通信プロトコルとして、記憶装置にアクセスするためのＳＣＳＩプロトコルを使用したものである。
【０００３】
また、端末装置がリモートブート機能を備えている場合は、ＯＳおよびアプリケーションプログラムのロードを、制御機能を持った記憶装置から行うことができる。このため、リモートブート機能を備えた端末装置と、前記記憶装置をｉＳＣＳＩプロトコルで接続することによって、補助記憶装置を備える必要のない端末装置を実現できる。このような端末装置はディスクレス端末装置と呼ばれる。
【０００４】
前記ディスクレス端末装置のリモートブートにおいて、各端末装置の機種が異なる場合には、機種ごとのＯＳプログラムファイルを共用記憶装置上に用意しておく。リモートブート実行時に、端末装置は、該端末装置の機種に合ったＯＳプログラムファイルを読み出す必要がある。この方法としては、ＭＡＣ（Ｍｅｄｉｕｍ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスを用いる方法がある。ＭＡＣアドレスは、端末装置、前記制御機能を持った共用記憶装置、サーバなどに装着されるＬＡＮボードが有する。すなわち、共用記憶装置上に置かれた複数のＯＳプログラムファイルと、端末装置の機種との対応付けを行い、該端末装置の機種用のＯＳプログラムファイル群が格納されたディレクトリを判別し、該ディレクトリの下のＯＳプログラムファイル群を用いてリモートブートを行う方法がある（下記特許文献１、２参照）。
【０００５】
また、前述のリモートブートを行なう端末装置も一般の端末装置と同様に、Ｏソフトウェアの多くは、ライセンス契約に基づいて使用が許可されている。なお、ソフトウェアとは、ＯＳおよびアプリケーションプログラムをいう。ライセンス契約は大きく２種類に分けられる。１つは使用者を固定して契約を行い、任意の１台の端末装置にインストールして使用する形態である。もうひとつは、企業などがある単位でまとめてライセンスを購入するものであって、誰が何本のライセンスをどの端末装置で使用するかについては、購入した企業側の責任で行う形態がある。特に後者の場合に、ユーザが意識することなくソフトウェアを使用し、またライセンスを提供する方法としては、例えば、下記特許文献３に挙げられた技術がある。この方法は、ユーザからソフトウェアの要求があった場合に、ライセンスの在庫の有無を調べ在庫がない場合に、まだインストールしていない端末装置のソフトウェアを流用する方法、および、新規購入手続きを自動的に行い管理者の負荷が少ない購入決済方法を提供している。
【０００６】
【特許文献１】特開平６−３３２７１６号
【特許文献２】米国特許Ｎｏ．２４０，９５５
【特許文献３】特開２００２−００６９７５号公報
【０００７】
【発明が解決しようとする課題】
前述の端末装置において、ユーザは使用するＯＳ、アプリケーションプログラムを指定し、さらにこれらの起動条件を指定し、これにより端末装置の実行環境が設定される。前記実行環境は、ユーザ毎に異なり、また同一ユーザであっても、行う作業内容によって、使用したいＯＳ、アプリケーションプログラム等の実行環境が異なる場合がある。
【０００８】
リモートブートの方式では、ある端末装置での実行環境を、他の端末装置上に作成する場合、使用する機器情報、ＯＳ、アプリケーションプログラム、使用者情報などのレジストリ情報が必要である。
【０００９】
従来のリモートブート方式では、レジストリ情報を、リモートブートの要求時には収集できない。そのため、レジストリ情報を、制御機能をもった補助記憶装置の管理ディレクトリ等に、予め手作業で作成しなければならなかった。そのため、実行環境を作成する端末装置の台数が多い場合、および、その頻度が高い場合は、システム管理者の作業負荷が大きいという問題があった。また、ある端末装置の実行環境を、他の端末装置に作成する場合としては、ユーザが使用する端末装置が固定されず、毎回違う端末装置を使用する場合、および、新しく導入された端末装置のシステムの構成変更が行われる場合などが考えられる。これらの場合においても、実行環境の作成に際し、前述した場合と同様の問題が生じる。
【００１０】
ライセンス管理に関しても、従来のように、ある端末装置と、その端末装置で使用されるＯＳ、アプリケーションプログラム等の実行環境がが、あらかじめ固定されている場合には、従来の方式でライセンス管理を行うことはできる。しかしながら、１人のユーザが、毎回異なる端末装置から同じ実行環境をリモートブートする場合は、従来のライセンス管理の方式では、使用する端末装置の数だけライセンスを確保しなければならない。すなわち、１人のユーザは、同時に１つのソフトウェアしか使用しないにも関わらず、複数のライセンスが必要となる。これにより、不要なライセンスが存在し、ライセンスの費用も高額になる。
【００１１】
これについては、ユーザにライセンスキーを割り当てて、リモートブートの度にライセンスキーを入力する方法が考えられる。しかしながら、一人のユーザが複数の実行環境を持ち、複数のライセンスを所有していた場合、ユーザのライセンス管理負荷大きく効率的ではない。さらに従来のライセンス管理の方式では、ライセンスの在庫がなくなった時に購入の手続きを行う仕組みを提供しているが、事前にライセンスの購入予算を確保することが困難である、という問題もある。
【００１２】
本発明の目的は、ある端末装置の実行環境を、他の端末装置に作成する場合に、リモートブートの要求をきっかけに、レジストリ情報を自動的に作成し、リモートブートを容易に実現するリモートブート技術を提供することにある。
【００１３】
また同時に、適正かつ最適なライセンス管理を容易に実現するリモートブート技術を提供することにある。
【００１４】
【課題を解決するための手段】
上述した目的を達成するために、本発明は、端末装置からリモートブートの要求を受けると、前記端末装置のハードウェア情報およびソフトウェア情報を収集するためのプログラムを前記要求元の端末装置に送る手段と、前記要求元の端末装置からハードウェア情報およびソフトウェア情報を受け取ると、それらの情報を用いてレジストリ情報を作成する手段と、前記レジストリ情報に基づき、ブート処理に必要なプログラムを、前記要求元の端末装置に送る手段と、を有することを特徴とする共用記憶システム、および、それを有する情報処理システムを提供する。
【００１５】
【発明の実施の形態】
以下、本発明の第１の実施形態について、図面を参照して説明する。
【００１６】
図１は、本発明の第１の実施形態における情報処理システムおよび発注システム５００のシステム構成図である。
【００１７】
情報処理システムは、１以上の端末装置と、前記１以上の端末装置が共用する記憶システムとを有する。本実施形態では、複数台、より具体的には、３台の端末装置２００Ａ、２００Ｂおよび２００Ｃにより、共用記憶システム１００を共用する場合を例として説明する。もちろん、本発明は、これに限定されるものではない。例えば、３台未満また３台を超える端末装置が接続される場合にも適用可能である。
【００１８】
共用記憶システム１００は、前記１以上の端末装置が共用する情報処理装置であり、共用記憶システム１００を制御する制御装置１１０と、端末用記憶装置１６０とを有する。また、共用記憶システム１００は、端末装置２００Ａ、端末装置２００Ｂ、端末装置２００Ｃに、ネットワークを介して接続され、それらに共用される記憶装置として機能する。なお、端末装置は、プログラムにより各種処理を実行する計算機である。
【００１９】
制御装置１１０は、ＣＰＵ１２０、メモリ１３０、ネットワークデバイス１４０および自システム用記憶装置１５０を有する。自システム用記憶装置１５０には、リモートブート処理を行うために用いられる、レジストリ情報を作成するために必要な情報、および、プログラムが格納される。
【００２０】
端末用記憶装置１６０は、制御装置１１０の制御の下に、各端末装置の個別補助記憶装置として機能する。この端末用記憶装置１６０には、各端末装置におけるレジストリ情報、情報処理の実行に必要な１種以上のプログラム、および、当該実行の際に用いられるデータと、リモートブートに必要な情報を収集する情報収集プログラム、および、ブートローダプログラムとが格納される。各端末装置における情報処理の実行に必要な１種以上のプログラムとしては、例えば、各端末装置対応のＯＳ、アプリケーションプログラム等である。
【００２１】
なお、複数の端末装置のうち、一部または全部の端末装置が複数のユーザにより用いられる場合にも対応することができる。その場合には、端末用記憶装置１６０は、ＯＳ、アプリケーションプログラム及びユーザデータの格納を、ユーザ対応に管理することができる。
【００２２】
自システム用記憶装置１５０および端末用記憶装置１６０は、データ、プログラム等を記憶する装置である。これらの記憶装置１５０、１６０は、ハードディスク、半導体メモリ等のランダムアクセスが可能な記憶媒体を有する。本実施形態では、記憶装置１５０および１６０は、いずれもハードディスクを記憶媒体とする、ランダムアクセス可能なハードディスク装置により構成される。なお、自システム用記憶装置１５０および端末用記憶装置１６０は、一つの記憶装置に統合した形態としてもよい。
【００２３】
端末装置Ａ２００Ａ、端末装置Ｂ２００Ｂ、端末装置Ｃ２００Ｃは、それぞれ、ＣＰＵ２０１、メモリ２０２、ネットワークデバイス２０３、入力デバイス２０４、ブート制御回路２０５および出力デバイス２０６を有する。ネットワークデバイス２０３と、共用記憶システム１００のネットワークデバイス１４０とは、ＬＡＮ３００を経由して接続可能である。従って、各端末装置２００Ａ、２００Ｂおよび２２０Ｃと、共用記憶システム１００とは、ネットワークを介して情報の授受を行うことができる。なお、本実施形態ではネットワークとしてＬＡＮ３００を使用しているが、これに限定されるものではない。
【００２４】
入力デバイス２０４として、典型的には、例えば、キーボード、マウス等があげられる。また、出力デバイス２０６として、代表的には表示装置があげられる。なお、出力デバイス１１６として、必要に応じてプリンタを含むことができる。
【００２５】
発注システム５００は、端末装置２００が使用するソフトウェアのライセンスを購入する場合に、共用記憶システム１００から購入情報を受け付け、ソフトウェアの販売会社にネットワークを介して発注するためのシステムである。発注システム５００は、ＣＰＵ５１０、メモリ５２０、ネットワークデバイスＡ５３０、ネットワークデバイスＢ５３１、入力デバイス５４０、出力デバイス５４１、ブート制御回路５５０、発注システム用記憶装置５６０を有する。ネットワークデバイスＡ５３０と、共用記憶システム１００のネットワークデバイス１４０とは、ＬＡＮ３００を経由して接続可能である。従って、発注システム５００と共用記憶システム１００とは、ネットワークを介して情報の授受を行うことができる。また、ネットワークデバイスＢ５３１は、インターネット等のネットワーク４００を介し、外部のシステムと接続可能である。
【００２６】
発注システム５００は、一般的には発注システム用記憶装置５６０にＯＳおよびアプリケーションプログラムを有し、自システム内でブート処理を行う。しかしながら、発注システム用記憶装置５６０にＯＳおよびアプリケーションプログラムを保持せず、端末装置と同様に共有記憶システム１００にブート要求を行い、リモートブート処理を行う方式としてもよい。なお、入力デバイス５４１および出力デバイス５４０については、端末装置２００と同様である。
【００２７】
図２は本発明の第１の実施形態における共用記憶システム１００の機能構成を示す。最初に、共用記憶システム１００を制御する制御装置１１０の機能を説明する。ついで、端末用記憶装置１６０の機能について説明する。
【００２８】
自システム用記憶装置１５０は、以下に述べる各種のプログラムと、データとが格納される。制御装置１１０は、これらのプログラムおよびデータを用いることにより、共用記憶システムにおける各種処理を実現する。
【００２９】
自システム用記憶装置１５０に格納されるプログラムとしては、まず、ストレージＯＳ１１１０が挙げられる。ストレージＯＳ１１１０は、端末用記憶装置１６０を制御するための記憶装置マネージャ（プログラム）１１１１と、ＬＡＮ３００を経由して各端末装置と通信を行うためのネットワークマネージャ（プログラム）１１１２とを有する。また、格納される他のプログラムとしては、ストレージＯＳ１１１０上で機能する各種プログラムが挙げられる。具体的には、各端末装置からのリモートブート要求を処理するリモートブート処理（プログラム）１１２０、各端末装置のレジストリ情報を収集して後述する個別領域の作成を行うブート用情報処理（プログラム）１１３０がある。さらにリモートブート処理に必要なソフトウェアのライセンスを管理するライセンス処理（プログラム）１２７０、またライセンスの納入処理および購入処理を行うライセンスサービス処理（プログラム）１２８０がある。
【００３０】
格納されるデータとしては、ブート用情報処理１１３０が、実行環境を指定する情報を管理するためのデータがある。すなわち、共用記憶システム１００に接続される各端末装置を管理する端末装置情報１１４０と、同様に共用記憶装置を使用するユーザを管理する使用者情報１１５０と、ユーザが使用するＯＳおよびアプリケーションプログラムを管理するソフトウェア情報１１６０とがある。また、記憶装置マネージャ１１１１が参照するデータとして、リモートブートされた端末装置と後述する実行環境との対応関係を示すマップ情報１１７０、および、前記実行環境の情報がそれぞれ格納されている記憶領域を示す個別領域情報１１８０がある。さらに、ソフトウェアのライセンスを管理するための情報として、購入しているライセンスの本数および実際に使用している本数等の情報を管理するライセンス情報１２３０、購入しているライセンスの配布状況を管理するライセンス配布状況情報１２５０、購入しているライセンスの使用状況を管理するライセンス使用状況情報１２１０、ソフトウェアのライセンスを購入する場合に必要な情報を管理するソフトウェア管理情報１２４０、購入処理を行ったライセンスの発注内容を管理する購入管理情報１２６０がある。
【００３１】
端末用記憶装置１６０には、複数の記憶領域が用意される。すなわち、各端末装置をリモートブートするためのブートローダプログラム１６１０を記憶する領域と、各端末装置から情報を収集するための情報収集プログラム１６２０を記憶する領域とである。また、端末用記憶装置１６０には、各端末装置の補助記憶装置としてデータを記憶する部分が設けられている。そして、このデータを記憶部分は、いくつかの領域に分かれている。それらの領域には、各端末装置についてリモートブートする場合に必要な実行環境を示す情報を格納するため個別領域１６４０と、各端末装置が共通に使用する情報を格納する共通領域１６３０とがある。実行環境は、それぞれの端末装置またはユーザごとに定められる。また、各実行環境は、実行環境識別子により識別される。したがって、個別領域１６４０は、実行環境識別子対応に設けられる。例えば、実行環境識別子毎に作成された個別領域として、実行環境識別子Ａの個別領域１６４０Ａ、実行環境識別子Ｂの個別領域１６４０Ｂ、および、実行環境識別子Ｃの個別領域１６４０Ｃが設けられる。このように、個別領域１６４０は、本実施形態の場合、端末装置についてリモートブートする場合に必要な実行環境の情報を格納するための、ハードディスク上の記憶領域を意味する。したがって、個別領域１６４０は、あたかも、個別端末装置または個別ユーザが有する専用のディスク装置であるかのように構成される。各端末装置に設けられた仮想ディスク装置ということもできる。この個別領域の具体的な構成については、後述する（図１７参照）。
【００３２】
図１７は、実行環境識別子を用いて管理される個別領域の構成を示す。個別領域１６４０は、端末装置がリモートブートするのに必要な情報が格納されている領域である。この個別領域１６４０に格納される情報には、レジストリ情報１６４１、ＯＳ１６４６、アプリケーションプログラム群１６４７、ユーザデータ１６４８が含まれる。
【００３３】
レジストリ情報１６４１は、端末装置のシステム構成を管理する情報である。レジストリ情報１６４１は、図１４に示すように、レジストリ管理テーブル１４４２、ハードウェア情報テーブル１６４３、ソフトウェア情報テーブル１６４４、および、ユーザ情報テーブル１６４５を有する。レジストリ管理テーブル１６４２は、各テーブルをポインタによって位置づけている。
【００３４】
なお、情報の格納形式として、この実施形態ではテーブルを用いる例を示す。しかし、情報の格納形式として、本発明において用いることができる形式は、テーブルに限られない。すなわち、任意の形式とすることができる。
【００３５】
ハードウェア情報テーブル１６４３には、対象となる端末装置に存在するハードウェアの情報が格納される。具体的には、プロセッサの種類、周波数、コンフィグレーション情報などの端末装置の性能に関する情報、および、フレキシブルディスクデバイス、キーボード、マウスなどの各種デバイスの動作を制御するための、デバイスコントローラの情報が各種デバイス対応に格納されている。さらに、使用されているネットワークポートＩＤ情報などのネットワークに関する情報が格納されている。
【００３６】
ソフトウェア情報テーブル１６４４には、対象となる端末装置にインストールされるべき、ＯＳおよびアプリケーションプログラムについての、ディレクトリパス名、プログラム名称、バージョン、ベンダ名等の各種プログラム情報と、アプリケーションプログラムにより作成されるドキュメントの種類を示す情報とが格納される。さらに、フォルダおよびプログラムのアイコンに対する、画像情報、名称などのプロパティも併せて格納される。
【００３７】
ユーザ情報テーブル１６４５には、ユーザ毎の、ユーザＩＤ、名前、パスワード、権限などのプロファイル、ユーザが使用する、ＯＳ、アプリケーション、キーボード配列情報などが格納される。このユーザ情報テーブル１６４５は、当該実行環境にリモートブートしたユーザの数だけ作成される。
【００３８】
なお、図示しないが、レジストリ情報１６４１のなかに、課金に関する情報を含めることも考えられる。たとえば、リモートブートを要求する回数に応じて、ユーザにリモートブート費用を請求する場合は、課金に関する情報をレジストリ情報１６４１で管理する必要がある。
【００３９】
これらのレジストリ情報１６４１は、ＣＰＵ１２０によるブート用情報処理１１３０において編集可能な形式で、自システム用記憶装置１５０に保存されている。ブート用情報処理１１３０は、リモートブート要求時の起動条件の内容に合わせて、レジストリ情報を編集する処理である。その編集されたレジストリ情報１６４１に基づいて、該当するＯＳ１６４６、アプリケーションプログラム群１６４７、および、ユーザデータ１６４８を、端末用記憶装置１６０内の個別領域１６４０に格納することが可能となる。
【００４０】
なお、ＯＳ１６４７およびアプリケーションプログラム群１６４８を、この実行環境識別子毎に管理された個別領域１６４０に常駐させる状態で管理することができる。また、共通領域１６３０に予め保管されているＯＳおよびアプリケーションプログラム群を、端末装置がリモートブートする段階で、その都度、共通領域１６３０からコピーして、個別領域１６４０に格納させるようにしてもよい。
【００４１】
図３は、実行環境識別子Ａの個別領域１６４０を、リモートブートした端末装置のソフトウェアの構成を示す。端末装置では、ユーザが指定したＯＳ１６４６上で、アプリケーションプログラム群１６４７が動作する。ＯＳ１６４６は、ＬＡＮ３００を経由して共用記憶システム１００と通信処理を行うネットワーク処理１６４９の機能を備える。ＯＳ１６４７およびアプリケーションプログラム群１６４７などのソフトウェア、および図示していないユーザデータは、各端末装置の電源を入れた時に、リモートブートにより、共用記憶システム１００の個別領域１６４０からロードされる。すなわち、ブート制御回路２０５（図１参照）に格納されたリモートブート機能により、ネットワークデバイス２０３からＬＡＮ３００を経由して、共用記憶システム１００の個別領域１６４０にアクセスして、データをメモリ２０２に読み込む。
【００４２】
図２３は、発注システム５００のソフトウェアの構成を示す。発注システム５００では、発注システム用記憶装置５６０に、ＯＳ５６１および発注処理を行うための発注処理プログラム５６３が記憶され、ＯＳ５６１上で、アプリケーションプログラムである発注処理プログラム５６３が動作する。ＯＳ５６１は、ＬＡＮ３００を経由して共用記憶システム１００と通信処理を行い、またインターネットなどのネットワーク４００を経由してソフトウェア販売会社などの外部システムと通信処理を行うネットワーク処理５６２の機能を備える。これらのＯＳ５６１および発注処理プログラム５６３が、メモリ５２０に読み込まれ、ＣＰＵ５１０が実行することにより、発注処理が実現される。
【００４３】
図４は、端末装置情報１１４０の詳細を模式的に示すテーブル構造図である。端末装置情報１１４０は、各端末装置のネットワークデバイス２０３毎に固有のＭＡＣアドレス１１４１、及び、各端末装置名称１１４２、各端末装置の構成情報から求めたハードウェア情報１１４３を含む。本実施例におけるハードウェア情報１１４３として記録される情報には、レジストリ情報１６４１内の主要な情報となる、ＣＰＵ２０１の周波数、種類、個数、メモリ２０２のサイズ等がある。
【００４４】
図５は、使用者情報１１５０のデータ構造の詳細を模式的に示す。使用者情報１１５０は、ユーザＩＤ１１５１、使用者情報１１５２、ソフトウェア環境情報１１５３、および、実行環境識別子情報１１５４を有する。
【００４５】
ユーザＩＤ１１５１には、ユーザを管理するための識別子が格納される。使用者情報１１５２には、ユーザの名前、パスワードなどのユーザに関する情報が格納される。ソフトウェア環境情報１１５３には、ユーザが使用するソフトウェアの環境、即ちＯＳの種類、使用するアプリケーションプログラムのリスト名称、および、これらのバージョン等の情報が格納される。実行環境識別子情報１１５４には、上記ソフトウェア環境情報１１５３に対応した実行環境識別子が格納される。
【００４６】
この実行環境識別子を用いて、各端末装置の実行環境が記憶されている個別領域１６４０が管理される。図９の個別領域情報１１８０を参照することにより、各実行環境識別子が管理する個別領域１６４０が、端末用記憶装置１６０のどこに記憶されているかがわかる。すなわち、各々の実行環境識別子と、それらが管理する個別領域とが対応付けられている。
【００４７】
図６は、ソフトウェア環境情報１１５３の中に含まれる、アプリケーションプログラム群のリスト名の内容を管理するためのデータ構造の一例を模式的に示す。本実施形態では、テーブル構造となっている。本実施形態では、アプリケーションプログラムリストの名称１１５５と、使用しているアプリケーションプログラムに関する情報構造体へのポインタ１１５６とを持つ。前記ポインタ１１５６の先には、情報構造体のチェーンリスト１１５７がある。チェーンリスト１１５７の終了はＮｕｌｌポインタで識別する。
【００４８】
図７は、各端末装置で使用されるＯＳおよびアプリケーションプログラムのソフトウェアを管理するソフトウェア情報１１６０の詳細を模式的に示す。図７に示す例は、テーブル構造の例である。ソフトウェア情報１１６０は、ソフトウェア識別子１１６１、ソフトウェア名称１１６２、格納位置１１６３、格納サイズ１１６４、および、制限事項１１６５を有する。制限事項１１６５には、対象となるソフトウェアを動作させる際の、ハードウェアおよびソフトウェアの制限事項が格納される。具体的には、対象のソフトウェアが動作するために必要な端末装置のハードウェアについての制限（メモリサイズ、ＣＰＵの性能等）があれば、それらの情報が格納される。
【００４９】
図８は、マップ情報１１７０の詳細の一例を模式的に示す。図８に示す例は、テーブル構造となっている。マップ情報１１７０は、端末装置と、前記端末装置の実行環境とを対応付けたテーブルである。マップ情報１１７０は、端末装置の識別情報であるＭＡＣアドレス１１７１と、実行環境を識別する実行環境識別子情報１１７２とを有する。
【００５０】
図９は、個別領域情報１１８０の詳細の一例を模式的に示す。図９に示す例は、テーブル構造となっている。個別領域情報１１８０は、実行環境識別子と、前記実行環境識別子が管理する個別領域の格納場所を示したテーブルである。本テーブルは、実行環境識別子が格納されている実行環境識別子情報１１８１、前記実行環境識別子の個別領域が格納されている端末用記憶装置１６０の先頭アドレス１１８２、前記個別領域のサイズ１１８３、後述するライセンス使用状況情報テーブル１２１０（図２０参照）へのポインタ情報１１８４を有する。
【００５１】
図１８は、端末装置が使用するソフトウェアのライセンス情報１２３０の詳細の一例を模式的に示す。図１８に示す例では、デーブル構造となっている。ライセンス情報１２３０は、各ソフトウェアを識別するソフトウェア識別子１２３１、ライセンスの種類情報１２３２、契約（購入）しているライセンスの契約本数情報１２３３、現在ユーザに配布されている使用本数情報１２３４、ソフトウェアのライセンスを購入した日付情報１２３５、ライセンスの有効期限情報１２３６、ライセンスの購入状況に関する情報１２３７、後述するライセンスの配布状況情報１２５０（図１９）へのポインタ情報１２３８を有する。
【００５２】
ライセンスの種類情報１２３２は、対象のソフトウェアが、ある特定の会社のライセンスか、一般的なライセンスか、ライセンスがないのか、などのライセンスの種類を示す。ライセンスの有効期限情報１２３６は、年月日で登録するが、有効期限がない場合はＮＵＬＬを登録する。また購入状況情報１２３７には、情報なし、現在購入決定待ち、現在購入中、などの購入の段階的な状況が登録される。これらの購入状況は、例えば、４ビットで構成し、００００は情報無し、０００１は現在購入決定待ち、００１０は現在購入中とすることが考えられる。
【００５３】
図１９は、契約（購入）しているライセンスの配布状況を管理するライセンス配布状況情報１２５０の詳細の一例を模式的に示す。図１９に示す例では、デーブル構造となっている。ライセンス配布状況情報１２５０は、各ソフトウェア毎に作成され、項番１２５１、ライセンスキー１２５２、使用しているユーザのユーザＩＤ１２５３、使用している端末装置の識別子であるＭＡＣアドレス１２５４を有する。
【００５４】
項番１２５１には、例えば、１からライセンスの契約本数までの数値が、割り当てられる。ライセンスキー１２５２は、ソフトウェアの使用制限、機能制限等を解除するためのキーで、ライセンス契約本数の数だけライセンスキーが割り当てられる。ライセンスキー１２５２は、システム管理者以外には参照できないように暗号化して管理する。各ライセンスキーに、そのライセンスキーを使用するユーザＩＤ１２５３またはＭＡＣアドレス１２５４が設定されるが、未使用のライセンスキーについてはＮＵＬＬが設定される。
【００５５】
図２０は、ライセンスの使用状況情報１２１０の詳細の一例を模式的に示す。図２０に示す例では、デーブル構造となっている。ライセンスの使用状況情報１２１０は、ソフトウェアを識別するソフトウェア識別子１２１１、ユーザまたは端末装置に割り当てられたライセンスキー１２１２、そのライセンスが割り当てられた取得日付情報１２１３、ライセンスの有効期限情報１２１４、使用状況を示す情報１２１５とを有する。
【００５６】
ライセンスの有効期限情報１２１４には、ライセンス情報１２３０（図１８参照）の有効期限１２３６と同じの年月日が登録され、期限のない場合にはＮＵＬＬが登録される。また、使用状況情報１２１５には、例えば、４ビットで構成し、００００は契約済みで使用中、０００１は契約済みで未使用、００１０は契約済みだが使用保留、０１０１は購入決定待ち、１００１は購入中、など購入に関する情報を含めた使用状況情報を登録することが考えられる。
【００５７】
図２１は、ソフトウェアの購入をする際に必要となるソフトウェアの情報を管理するソフトウェア管理情報１２４０の詳細の一例を模式的に示す。ソフトウェア管理情報１２４０には、現在購入しているソフトウェアだけでなく、インターネット、イントラネットなどのから情報を収集して、新しいソフトウェア、現在購入済のソフトウェアのバージョンアップ版などのソフトウェアの販売情報も登録される。ソフトウェア管理情報１２４０は、ソフトウェア識別子１２４１、ソフトウェア名称１２４２、ソフトウェアの格納サイズ情報１２４３、ソフトウェアおよびライセンスの購入金額情報１２４４、発売日または今後発売される日付情報１２４５、販売会社情報１２４６、セット販売、現状ライセンスのアップデート版などの購入に関する付加情報１２４７を有する。付加情報１２４７は、例えば４ビットで構成し、０００１はアップデート版、００１０は割引等購入条件有りなど、情報を属性に分けてビット単位で登録することが考えられる。なお、ソフトウェア管理情報１２４０と、図１８のライセンス管理情報１２３０を統合し、１つのテーブルとすることも可能である。
【００５８】
図２２は、購入処理を行っているソフトウェアおよびライセンスの進捗状況を管理する購入情報管理情報１２６０の詳細の一例を模式的に示す。図２２に示す例では、デーブル構造となっている。購入状況管理情報１２６０は、発注したときの発注番号１２６１、購入するソフトウェア識別子１２６２、ソフトウェアの販売会社情報１２６３、購入本数情報１２６４、購入金額１２６５、発注日付情報１２６６、購入したソフトウェアの納品予定日付情報１２６７、購入金額を支払う部署またはプロジェクトなどの支払部署情報１２６８を有する。
【００５９】
次に、各端末装置と、共用記憶システム１００との間の、リモートブートの手順を、図１０、図１１および図１２を参照して、端末装置Ａ２００Ａを例に挙げて説明する。
【００６０】
図１０に示すとおり、最初に端末装置Ａ２００Ａの電源がオンされると（ステップ１０００）、ブート制御回路２０５が起動される。ブート制御回路２０５は、共用記憶システム１００に対して、端末装置識別情報であるＭＡＣアドレスを付加して、リモートブートを要求する（ステップ１００１）。この要求は、ネットワークデバイス２０３を使用して、ＬＡＮ３００のネットワークを経由して行われる。
【００６１】
上記リモートブートの要求は、共用記憶システム１００内の制御装置１１０が、その機能の１つであるリモートブート処理１１２０を実行することにより、受付、および、その後の処理を行う。その処理は次のとおりである。なお、以下では、リモートブート処理のようなプログラムを動作主体として記述する。しかし、実際の処理は、制御装置とプログラムとが協働することによって行われる。
【００６２】
リモートブート処理１１２０は、リモートブート要求をした端末装置Ａ２００Ａから受け取った上記ＭＡＣアドレスが、端末装置情報１１４０（図４参照）に存在するかを検索する。
【００６３】
上記ＭＡＣアドレスが、端末装置情報１１４０に存在しない場合、リモートブート処理１１２０は、新たに共用記憶システム１００を使用する新しい端末装置であると、判別する。また、上記ＭＡＣアドレスが、端末装置情報１１４０に存在する場合は、既に端末装置情報１１４０作成されているため、新しい端末装置ではないと判別する（ステップ１００２）。
【００６４】
上記ＭＡＣアドレスが、端末装置情報１１４０に存在する場合、すなわち新しい端末装置ではない場合は、リモートブート処理１１２０は、マップ情報１１７０（図８参照）、および、個別領域情報（図９参照）を参照し、上記ＭＡＣアドレスに対応する実行環境識別子の個別領域に格納されている前回のレジストリ情報１６４１を取得する（ステップ１００３）。そして、このレジストリ情報１６４１を添付して、端末用記憶装置１６０に格納されている情報収集プログラム１６２０を、リモートブートを要求している端末装置Ａ２００Ａに送信する（ステップ１００４）。
【００６５】
一方、上記ＭＡＣアドレスが、端末装置情報１１４０に存在しない場合、すなわち新しい端末装置の場合は、マップ情報１１７０にも上記ＭＡＣアドレスが存在しない。従って、リモートブート処理１１２０は、レジストリ情報を取得できないため、“レジストリ情報無し”のフラグを添付して、上記情報収集プログラム１６２０を端末装置Ａ２００Ａに送信する（ステップ１００４）。
【００６６】
端末装置Ａ２００Ａは、情報収集プログラム１６２０を受け取る。これ以降、情報収集プログラム１６２０を、端末装置Ａ２００ＡのＣＰＵ２０１が実行することにより、リモートブートに必要な情報を収集する。なお、以下の説明では、プログラムを動作主体として記述する。しかし、端末装置においても、ＣＰＵ２０１が情報収集プログラム１６２０と協働して、各種処理を実行することはいうまでもない。
【００６７】
情報収集プログラム１６２０は、端末装置Ａ２００Ａのハードウェア情報１１４３をＢＩＯＳから収集する（ステップ１００５）。ハードウェア情報１１４３の代表的なものとしては、ＣＰＵ２０１の種類、個数があり、その他としてＣＰＵの周波数、メモリ２０２のサイズ等がある。また、ユーザが入力デバイス２０４から入力したユーザＩＤおよびパスワードを収集する。さらに、オペレーションシステムおよびアプリケーションプログラムの種類を含むソフトウェア情報（以下、「ソフトウェア要求」という）を収集する（ステップ１００６）。情報収集プログラム１６２０は、これら収集した情報に基づいて、前回のレジストリ情報が添付された場合には、レジストリ情報を更新して、レジストリ情報を共用記憶システム１００に送信する（ステップ１００７）。また、前回のレジストリ情報がない場合は、これら収集した情報を、共用記憶システム１００に送信する（ステップ１００７）。
【００６８】
ここで、情報収集プログラム１６２０は、ソフトウェア要求に際し、出力デバイス２０６である表示装置の表示画面に、例えば、図１３に示すような表示を行わせて、入力デバイス２０４から必要なソフトウェアの指示を受け付けることにより行う。すなわち、最初に、表示画面の上部に、使用可能なＯＳの名称を表示する。この状態で、表示されたＯＳのなかから１つのＯＳを選択する入力を、入力デバイス２０４を介して受け付ける。次に、そのＯＳ上で動作するアプリケーションプログラムの種類を表示装置の下部に表示させる。表示させたアプリケーションプログラムの種類についての選択指示を、入力デバイス２０４を介して受け付ける。ここで、アプリケーションプログラムを選択する方法として、アプリケーションプログラムをいくつか組み合わせたグループ単位で指定する方法、個別に必要なアプリケーションプログラムを選択する方法等を挙げている。
【００６９】
なお、ソフトウェア要求は、図１３に示す実施例に限定されるものではなく、ＯＳおよびアプリケーションプログラムをセットとして、ソフトウェア全体で指定する方法など、その他の方法が含まれる。
【００７０】
これらの端末装置Ａ２００Ａの出力デバイス２０６に表示される画面データは、情報収集プログラム１６２０の一つの機能として、情報収集プログラム１６２０とともに、端末装置Ａ２００Ａに送信される（ステップ１００４）。
【００７１】
次に、共用記憶システム１００では、制御装置１１０の機能の１つであるブート用情報処理（プログラム）１１３０が、図１１に示すように、端末装置Ａ２００Ａから送信された上記レジストリ情報、および、収集された情報を受け付ける。
【００７２】
ブート用情報処理（プログラム）１１３０は、端末装置Ａ２００Ａが、新しい端末装置か否かを判別する（ステップ１００８）。端末装置Ａ２００Ａが新しい端末装置であれば、端末装置情報１１４０に端末装置Ａ２００Ａの端末情報を、追加登録する（ステップ１００９）。この時、情報収集プログラム１６２０が収集したハードウェア情報と、端末装置情報１１４０に既に登録されているハードウェア情報１１４３（図４参照）とを照合し、同じ構造の端末装置が端末情報１１４０（図４参照）に存在するかを検索する。
【００７３】
端末装置Ａ２００Ａと同じハードウェア情報１１４３が、端末装置情報１１４０に既に登録されている場合は、その登録されているハードウェア情報１１４３のＭＡＣアドレス１１４１を検出し、マップ情報１１７０（図８参照）を参照して、前記ＭＡＣアドレスに対応する実行環境識別子のレジストリ情報１６４１（図１７参照）を検出する。次に、前記レジストリ情報１６４１のハードウェア情報テーブル１６４３（図１４参照）をコピーして、端末装置Ａ２００Ａのレジストリ情報１６４１のハードウェア情報テーブル１６４３を作成する。
【００７４】
端末装置Ａ２００Ａと同じハードウェア情報１１４３が、端末装置情報１１４０に登録されていない場合は、情報収集プログラム１６２０が収集したハードウェア情報に基づき、新規にレジストリ情報１６４１のハードウェア情報テーブル１６４３を作成する。
【００７５】
次に、ブート用情報処理１１３０は、端末装置Ａ２００Ａから指定されたソフトウェア要求から、既にある実行環境のソフトウェア環境を再利用できるかについて判断する（ステップ１０１０）。前記ソフトウェア要求で指定されたＯＳ、アプリケーションプログラムが、既に存在する実行環境のＯＳ１６４６、および、アプリケーションプログラム群１６４７と同じ場合には、その既存の実行環境を再利用できると判断する。再利用できる場合は、個別領域情報１１８０（図９参照）を参照し、対象となる実行環境識別子の個別領域１６４０の情報、具体的には前記個別領域の格納されている先頭アドレス１１８２、および、前記個別領域のサイズ１１８３を取得する（ステップ１０１１）。
【００７６】
次に、上記実行環境のＯＳおよびアプリケーションプログラムについて、ソフトウェア情報１１６０（図７参照）を参照し、対象となるＯＳおよびアプリケーションプログラムの制限事項１１６５があるかを確認する。制限事項１１６５がある場合は、端末装置Ａ２００Ａのハードウェアが、その制限事項１１６５を満たすか否かのソフトウェアとハードウェアの整合性チェックを行う（ステップ１０１２）。
【００７７】
ソフトウェアとハードウェアの整合性が取れない場合は、ブート用情報処理１１３０は、エラーメッセージを端末装置Ａ２００Ａに送信し、リモートブートの終了処理を行う（ステッ１０１５）。端末装置Ａ２００Ａは、前記エラーメッセージを出力デバイス２０６に出力する。ただし、整合性が取れない対象がＯＳではなく、アプリケーションプログラムの場合は、その整合性がとれないアプリケーションプログラムが使用できないとのメッセージを、端末装置Ａ２００Ａに送信し、そのアプロケーションプログラムを除いて、リモートブート処理を進める（ステップ１０１３、１０１４）。
【００７８】
また、整合性がとれない場合の対応としては、他のソフトウェア、例えばバージョンアップ版、バージョンダウン版、類似アプリケーションなどに置き換えて、ブート処理を続行することも考えられる。具体的には、ブート用情報処理１１３０は、整合性がとれない旨のエラーメッセージを、端末装置Ａ２００Ａに送信し、置き換えて使用可能な他のソフトウェアがある場合は、ユーザにソフトウェアの置き換えを実行するか否かの指示を受け付ける。置き換えの実行指示を受け付けた場合は、当該ソフトウェアに置き換えてリモートブート処理を継続する。そして、他のソフトウェアに置き換える場合において、ブート用情報処理１１３０は、ライセンス処理１２７０が保持する置き換えフラグを、ＯＮにする。なお、置き換えフラグの初期値はＯＦＦとする。
【００７９】
置き換えを実行しない指示を受け付けた場合には、ブート用情報処理１１３０は、整合性のとれないソフトウェアがＯＳであるかまたはアプリケーションプログラムであるかを判断し、ＯＳであればブート処理ができないので、処理を終了する。アプリケーションであれば端末装置Ａ２００Ａにブート処理を継続するか否かを確認し、継続する指示を受け付けた場合はブート処理を継続し、継続しない指示を受け付けた場合はブート処理を終了する。
今までの処理により、ソフトウェアとハードウェアの整合性がとれた場合は、次に、図２４を参照し、ソフトウェアのライセンスについて使用の適否を判断する処理を行う。
【００８０】
まず始めに、ライセンス処理１２７０は、ライセンス配布状況情報１２５０（図１９参照）を参照し、対象のユーザが未だ端末装置に割り当てられていないライセンスキーを取得しているか否かを判断する（ステップ１０６１）。具体的には、ユーザＩＤ１２５３に対象となるユーザＩＤが格納され、かつ、ＭＡＣアドレス１２５４が「ＮＵＬＬ」のライセンスキーが存在するか否かを判断する。ライセンスキーを取得している場合には、ライセンス処理１２７０は該当するＭＡＣアドレス１２５４の欄に、端末装置Ａ２００ＡのＭＡＣアドレスを登録し、ライセンス使用状況情報１２１０（図２０参照）の使用状況１２１５を、契約済みで使用中「００００」に変更し、ライセンスを確保する（ステップ１０６２）。なお、ライセンス使用状況情報１２１０が、未作成の場合は、新規にライセンス使用状況情報１２１０作成する。
【００８１】
また、対象のユーザが未だ端末装置に割り当てられていないライセンスキーを取得していない場合には、ライセンス処理１２７０はライセンス配布状況情報１２５０（図１９参照）を参照し、未使用のライセンスキーがあるか否かを確認する（ステップ１０６３）。未使用か否かは、ユーザＩＤ１２５３およびＭＡＣアドレス１２５４が「ＮＵＬＬ」の状態のライセンスキーがあるか否かにより判定する。そして未使用のライセンスキーがあれば、当該ライセンスキーを確保し、ユーザＩＤ１２５３およびＭＡＣアドレス１２５４に、対象のユーザＩＤおよびＭＡＣアドレスを登録する。さらに、ライセンス情報１２３０（図１８参照）の使用本数１２３４を、カウントアップし、ライセンス使用状況情報１２１０（図２０参照）の使用状況１２１５を、契約済みで使用中「００００」に変更し、ライセンスを確保する（ステップ１０６２）。
【００８２】
次に、ライセンス処理１２７０は、ライセンスを確保した後に、そのソフトウェアが、ハードウェアの整合性を確保するために置き換えたものか否かを、前述の置き換えフラグにより判定する（ステップ１０６４）。置き換えのソフトウェアの場合（置き換えフラグが「ＯＮ」の場合）は、当初要求したソフトウェアのライセンスは使用しないため、ライセンス処理１２７０は、当初要求したソフトウェアのライセンスを解放する（ステップ１０６５）。具体的には、ライセンス処理１２７０は、ライセンス配布状況情報１２５０（図１９参照）の対象となるユーザＩＤをＮＵＬＬにし、ライセンス情報１２３０（図１８参照）の使用本数１２３４を、カウントダウンし、ライセンス使用状況情報１２１０（図２０参照）の使用状況１２１５を、契約済みで未使用「０００１」に変更し、ライセンスを解放する（ステップ１０６５）。そして、ライセンス処理１２７０は、置き換えフラグをＯＦＦに戻す。
【００８３】
ライセンス処理１２７０は、リモートブート要求された全てのソフトウェアについて、ライセンスが確保されたか否かを判定し（ステップ１０６６）、未だライセンスが確保されていないソフトウェアがある場合は、ステップ１０６１に戻り、処理を続行する。
【００８４】
次に、未使用のライセンスがない場合の処理について説明する（ステップ１０６３）。ライセンス処理１２７０は、未使用のライセンスがない場合、もしくは要求するソフトウェアを購入した実績がない場合は、ライセンス情報１２３０（図１８参照）の購入状況１２３７を「購入決定待ち」に更新し、さらに、ライセンス使用状況情報１２１０（図２０参照）の使用状況１２１５を「購入決定待ち」に更新する（ステップ１０６７）。次に、ライセンス処理１２７０は、ソフトウェア管理情報１２４０（図２１参照）から、ソフトウェアの購入に必要な情報を取得し、ソフトウェアを購入するための発注申請書を作成し（ステップ１０６８）、ライセンス管理者に発注申請の手続き書を送付する。そしてライセンス処理１２７０は、エラーメッセージを端末装置Ａ２００Ａに送信し、リモートブートの終了処理を行う（ステッ１０１５）。端末装置Ａ２００Ａは、前記エラーメッセージを出力デバイス２０６に出力する。エラーメッセージを出力し（ステップ１０６９）。なおこの場合、ライセンス処理１２７０は、リモートブート処理を継続するか否かを端末装置Ａ２００Ａに問い合わせ、その結果によってリモートブートを継続するか、またはリモートブートを中止するか判定することとしてもよい。
以上の処理により、ソフトウェアのライセンスについて使用の適否を判断する。
【００８５】
ソフトウェアとハードウェアの整合性がとれ、かつ、ソフトウェアのライセンスが確保できた場合は、レジストリ情報の１６４１編集を行う（ステップ１０１３）。
【００８６】
上記再利用する実行環境のレジストリ情報１６４１に対応するハードウェア情報テーブル１６４３については、端末装置Ａ２００Ａの端末装置情報の内容に書き換える。
【００８７】
ソフトウェア情報テーブル１６４４（図１４参照）については、本実行環境を再利用するため、既存のソフトウェア情報テーブル１６４４を、そのまま使用する。
【００８８】
ユーザ情報テーブル１６４５（図１４参照）については、端末装置Ａ２００Ａから入力されたユーザＩＤおよびパスワードが、既存のユーザ情報テーブル１６４５に存在する同じ場合は、ユーザ情報テーブル１６４５の内容をそのまま使用する。既存のユーザ情報テーブル１６４５に存在しない場合は、使用者情報１１５０を参照し、入力されたユーザＩＤおよびパスワードでユーザ情報を、ユーザ情報テーブル１６４５に新規に追加作成をする。
【００８９】
以上のように、ブート用情報処理１１３０は、レジストリ情報１６４１の編集を行う（ステップ１０１３）。
【００９０】
レジストリ情報１６４１の編集が完了した後に、本実行環境の個別領域１６４０を作成する（ステップ１０１４）。この場合は、既存の実行環境を再利用するため、既存の個別領域１６４０にあるＯＳ１６４６、および、アプリケーションプログラム群１６４７をそのまま再利用することができる。この場合、端末装置Ａ２００Ａは、新しい端末装置であり、かつ、既存の実行環境のいずれかで動作することを示している。
【００９１】
なお、本実施例では、実行環境の多元管理を避けるため、再利用される実行環境のレジストリ情報１６４１を、リモートブートする度に、この実行環境を使用する端末装置用、および、ユーザ用に、書き換える方法を採る。しかし、これに限られない。例えば、新たに個別領域１６４０を確保し、再利用元の実行環境を残す方式を採用してもよい。この方式の場合、レジストリ情報は、再利用元のレジストリ情報をコピーし、変更となる部分の情報を更新して使用してもよい。また、新規にレジストリ情報を作成しても良い。
【００９２】
次に、既存の実行環境のソフトウェア環境を再利用できるか否かの判断において（ステップ１０１０）、再利用できない場合、すなわち、ソフトウェア要求されたＯＳおよびアプリケーションが、既存の実行環境にない場合は、再利用できないと判断する。次に、そのソフトウェア要求されたＯＳおよびアプリケーションと、端末装置Ａ２００Ａのハードウェアと整合性が取れるか否かを、チェックする（ステップ１０１６）。本ステップの処理は、ステップ１０１２と同様である。また、整合性が取れない場合のエラー処理（ステップ１０１５）についても、既に述べたとおりである。次に、ソフトウェアのライセンスについて使用の適否を判断する（図２４参照）。本処理についても、既に述べたとおりである。
【００９３】
整合性が取れ、かつ、ソフトウェアのライセンスが確保できた場合は、新たな実行環境を作成する必要があるため、新たな個別領域１６４０を、端末用記憶装置１６０に確保する（ステップ１０１７）。このとき、端末用記憶装置１６０の容量不足により、新たな個別領域１６４０を確保できない場合は、エラーメッセージを端末装置Ａ２００Ａに送信し、リモートブートの終了処理を行う（ステップ１０１５）。新たな個別領域１６４０を確保できた場合は、新規にレジストリ情報１６４１を生成する（ステップ１０１８）。
【００９４】
ここで、レジストリ情報１６４１のなかのハードウェア情報テーブル１６４３については、端末装置Ａ２００Ａの端末装置情報の内容に基づいて作成する。このとき、端末装置Ａ２００Ａと同じハードウェア情報１１４３が、端末装置情報１１４０に既に登録されている場合は、既に述べたとおり、その登録されているハードウェア情報１１４３に対応するレジストリ情報１６４１のうち、ハードウェア情報テーブル１６４３をコピーして、端末装置Ａ２００Ａのハードウェア情報テーブル１６４３を作成することも可能である。
【００９５】
ソフトウェア情報テーブル１６４４については、端末装置Ａ１００Ａから指定されたソフトウェア要求のＯＳおよびアプリケーションについて、ソフトウェア情報１１６０を参照し、ソフトウェア情報テーブル１６４４を作成する。
【００９６】
ユーザ情報テーブル１６４５については、端末装置Ａ２００Ａから入力されたユーザＩＤおよびパスワードが、既存のユーザ情報テーブル１６４５に存在する同じ場合は、ユーザ情報テーブル１６４５の内容をそのまま使用する。既存のユーザ情報テーブル１６４５に存在しない場合は、使用者情報１１５０を参照し、入力されたユーザＩＤおよびパスワードでユーザ情報を、ユーザ情報テーブル１６４５に新規に追加作成をする。
【００９７】
以上のように、ブート用情報処理１１３０は、レジストリ情報１６４１の編集を行う（ステップ１０１８）。
【００９８】
レジストリ情報１６４１の編集が完了した後に、そのレジストリ情報１６４１に基づき、本実行環境の個別領域１６４０を作成する（ステップ１０１９）。具体的には、上記ソフトウェア情報テーブル１６４４に記録された、ＯＳ１６４６およびアプリケーションプログラム群１６４７を、端末用記憶装置１６０の共通領域１６３０からロードする。この場合、端末装置Ａ２００Ａは、新しい端末装置であり、かつ、新しい実行環境で動作することを示している。
【００９９】
図１２は、端末装置Ａ２００ＡのＭＡＣアドレスが、端末装置情報１１４０に既に存在する場合（図１１のステップ１００８においてＢに進んだ場合）、すなわち端末装置Ａ２００Ａが新規に接続された新しい端末装置でない場合の、処理の流れを示す。
【０１００】
ブート用情報処理１１３０は、端末装置Ａ２００Ａから指定されたソフトウェア要求から、前回使用した実行環境のソフトウェア環境を再利用できるかを判断する（ステップ１０２０）。前記ソフトウェア要求で指定されたＯＳ、アプリケーションプログラムが、前回の実行環境のＯＳ１６４６、および、アプリケーションプログラム群１６４７と同じ場合には、その前回の実行環境を再利用できると判断する。前回使用した実行環境のソフトウェア環境を再利用できない場合は、次に、既にある実行環境のソフトウェア環境を再利用できるか否かを、ブート用情報処理が、判断する（ステップ１０２１）。
【０１０１】
既にある実行環境のソフトウェア環境を再利用できる場合には、その後の処理（ステップ１０２２〜１０２６）は、前述のステップ１０１１〜１０１５と同じ処理である。この場合、端末装置Ａ２００Ａは、既存の端末装置であり、かつ、既存の実行環境のいずれかで動作することを示している。
【０１０２】
一方、既にある実行環境のソフトウェア環境を再利用できない場合には、その後の処理（ステップ１０２７〜１０３０）は、ステップ１０１６〜１０１９と同じである。この場合、端末装置Ａ２００Ａは、既存の端末装置であり、かつ、新しい実行環境で動作することを示している。
【０１０３】
また、前回使用した実行環境のソフトウェア環境を再利用できるかの判断において（ステップ１０２０）、再利用できる場合は、前回使用した実行環境のレジストリ情報１６４１、および、個別領域１６４０をそのまま使用し、リモートブート処理を進める。この場合、端末装置Ａ２００Ａは、既存の端末装置であり、かつ、前回の実行環境で動作することを示している。
【０１０４】
次に、正常に個別領域１６４０が作成できた場合には、図１０に示すように、リモートブート処理１１２０は、端末装置Ａ２００Ａに、ブート処理に必要なプログラムを送信する。ここでブート処理に必要なプログラムには、典型的には、ブートローダプログラム１６１０、ＯＳ１６４６、アプリケーションプログラム群１６４７などがあげられる。だたし、ブート処理に必要なプログラムの一部（たとえば、ブートローダプログラム１６１０）については、あらかじめ端末装置に保持させて、端末装置Ａ２００Ａに送信しない方式も考えられる。本実施例では、以下に説明するように、ブート処理に必要なプログラムとして、ブートローダプログラム１６１０、ＯＳ１６４６、アプリケーションプログラム群１６４７を端末装置Ａ２００Ａに送信する。
【０１０５】
リモートブート処理１１２０は、端末装置Ａ２００Ａに、ブートローダプログラム１６１０送信する（ステップ１０３１）。端末装置Ａ２００Ａは、共用記憶システム１００から送信されたブートローダプログラム１６１０を実行する。そして、端末装置Ａ２００Ａの補助記憶装置として機能する実行環境識別子のＯＳ１６４６、アプリケーションプログラム群１６４７等が格納された個別領域１６４０の送信を、共用記憶システム１００に要求する（ステップ１０３２）。
【０１０６】
共用記憶システム１００のリモートブート処理１１２０は、その要求を受け取り、対象となる個別領域を送信する（ステップ１０３３）。要求元の端末装置Ａ２００Ａは、送信された個別領域に含まれるＯＳ１６４６を起動し（ステップ１０３４）、続いてＯＳ上で動作するアプリケーションプログラム群１６４７の起動処理を行なう（ステップ１０３５）。
【０１０７】
以上により、端末装置Ａ２００Ａのリモートブート処理は、完了する。これにより、端末装置からのリモートブートの要求をきっかけに、リモートブートに必要なハードウェア情報およびソフトウェア情報を、自動的に収集し、システム管理者の作業を発生させず、共用記憶システムにレジストリ情報を自動的に作成し、リモートブートを容易に実現することができる。
【０１０８】
なお、本実施例では情報収集プログラム１６２０と、ブートローダプログラム１６１０とは別のプログラムとしているが、情報収集プログラム１６２０を、ブートローダプログラム１６１０の機能の一部として組み込み、１つのプログラムの中で情報収集機能とブートローダ機能をもつこととしてもよい。
【０１０９】
また、リモートブートの要求の際に、あらかじめ、要求したユーザが、ソフトウェアのライセンスを購入できるか否かを、そのユーザのユーザＩＤ、所属部署、職位などから判断し、その後の処理を継続するか否かを判断することも考えられる。例えば、ユーザＩＤと、購入権限の対応を示した対応テーブルを、制御装置１１０に保持することにより、購入権限がないユーザについては、エラー処理を行い、リモートブート処理を中止することができる。またこの購入権限は、ある特定のソフトウェアのライセンスは購入できるが、他のソフトウェアのライセンスは購入できないなど、任意に定めることができるものとする。さらに、購入権限があるユーザＩＤであって、そのユーザＩＤが使用者情報１１５０に登録されていない場合は、使用者情報にそのユーザＩＤの使用者情報を新規に登録するものとする。
【０１１０】
次に、ライセンスサービス処理１２８０について説明する。図２５は、ライセンスサービス処理の流れを示したものである。ライセンスサービス処理１２８０は、ライセンスを管理するライセンス管理者が行う処理であり、納入処理および購入処理を有する。
【０１１１】
まず、図２５（Ａ）を参照し、納入処理について説明する。ライセンス管理者は、発注したソフトウェアが納入されると、端末装置からライセンスサービス処理１２８０に含まれる納入処理を起動し、納入されたソフトウェアの発注番号を入力する。ライセンスサービス処理１２８０は、入力された発注番号を受け付け（ステップ１０７１）、次に、購入管理情報１２６０（図２２参照）から、該当する発注番号の情報を削除する（ステップ１０７２）。そして、納入されたライセンスを、ライセンス情報１２３０（図１８参照）に追加し（ステップ１０７３）、ライセンス使用状況情報１２１０（図２０参照）の使用状況フラグ１２１５を「購入済みでインストール待ち」に変更する（ステップ１０７４）。なお次回のリモートブート処理時に、ライセンス処理１２７０は、この使用状況フラグ１２１５をに参照し、ユーザに納品されたソフトウェアのインストールを行うかどうかを問い合わせ、必要であればそのソフトウェアを追加インストール、または他のソフトウェアと置き換えてインストールを行うことが可能である。また、ライセンス処理１２７０は、使用を要求しているユーザが、ブート中の場合には、すぐにインストールするか否かを端末装置に問い合わせて、インストールを要求する場合は、即時にインストールを行う方法をとることも考えられる。
【０１１２】
次に、購入処理について、図２５（Ｂ）を参照し説明する。ライセンスサービス処理１２８０は、ある一定の時間ごとに、ライセンス情報１２３０（図１８参照）をモニタリング（取得）する（ステップ１０８１）。そして、ライセンスサービス処理１２８０は、ライセンスの契約本数１２３３と使用本数１２３４を参照し、未使用のライセンス本数、前回モニタリングしたときからの未使用のライセンス本数の増減値等を算出する（ステップ１０８２）。なお、モニタリングした情報は、一定の期間保持し、過去のモニタリング情報の履歴を参照できることとする。
【０１１３】
次に、ライセンスサービス処理１２８０は、ライセンス情報１２３０のライセンスの有効期限１２３６と、現時点の日付またはある指定日付と比較し、有効期限までの日数が所定の日数より少ない場合、すなわち閾値より少ない場合は、ライセンスを更新する必要があると判断する（ステップ１０８３）。次に、ライセンスサービス処理１２８０は、今までモニタリング情報の履歴から、未使用のライセンス本数がゼロになる日を予測し、その日までの日数が所定の日数より少ない場合、すなわち閾値より少ない場合は、ライセンスを追加購入する必要があると判断する（ステップ１０８４）。次に、ライセンスサービス処理１２８０は、ソフトウェア管理情報１２４０（図２１参照）を参照する。そして、現在購入していないソフトウェア、例えば、新発売のソフトウェア、現在購入済のソフトウェアのバージョンアップ版などについて、それらの販売日と現時点の日付またはある指定日付と比較し、発売日までの日数が所定の日数より少ない場合、すなわち閾値より少ない場合は、新規のソフトウェアの購入を提案する必要があると判断する（ステップ１０８５）。
【０１１４】
更新購入、追加購入、または、新規購入の提案が必要な場合は、ライセンスサービス処理１２８０は、ソフトウェア管理情報１２４０を参照し、対象ソフトウェア、ライセンスの本数、見積もり金額などの購入仕様を算出して、発注申請書を作成し（ステップ１０８６）する。そして、ライセンスサービス処理１２８０は、算出した未使用のライセンス本数等の情報（ステップ１８０２）とともに、発注申請書をライセンス管理者に送信する（ステップ１０８７）。また、更新購入、追加購入、および、新規購入の提案が不要な場合は、未使用のライセンス本数等の情報のみを、ライセンス管理者に送信する（ステップ１０８７）。
【０１１５】
なお、本実施の形態では、購入処理を一定時間毎に起動（モニタリング）しているが、ライセンス管理者が随時、購入処理を起動する方式とすることも考えられる。
【０１１６】
このライセンスサービス処理により、ライセンスの在庫がなくなる前に適宜にライセンスを補充し、またライセンス購入の予算を確保する時期にライセンス購入計画を立てることが可能となる。この機能により、ライセンスの購入の手間が削減され、またソフトウェアの使用要求があった場合に、迅速にソフトウェアの使用を実現することができる環境が提供される。
【０１１７】
次に、発注システム５００における発注処理５６３の処理の流れについて説明する。発注処理５６３は、ライセンス処理１２７０からソフトウェアおよびライセンスの購入情報を受け付け、ソフトウェアの販売会社へソフトウェアの発注処理を行う処理である。
【０１１８】
ライセンス管理者は、ライセンス処理１２７０およびライセンスサービス処理１２８０が作成した発注申請書を参照して、ソフトウェアおよびライセンスの購入可否を判断する。そして、ライセンス管理者が購入を承認したソフトウェアおよびライセンスについて、購入管理情報１２６０（図２２参照）にデータが追加され、発注システム５００に購入管理情報１２６０が送信される。
【０１１９】
発注システム５００のネットワーク処理５６２は、ネットワークデバイスＡ５３０を経由して、ライセンス処理１２７０から追加された購入管理情報を受け付け、発注処理５６３にその情報を引き渡す。そして、発注処理５６３は、対象のソフトウェア販売会社に対して、その販売会社に応じた発注依頼書を作成し、ネットワーク処理５６２がネットワークデバイスＢ５３１を経由して、ソフトウェア販売会社に発注依頼書を送信し発注処理を行なう。
【０１２０】
以上、第１の実施の形態について説明した。
次に、第２の実施形態について説明する。本実施形態は、一人のユーザが、複数の実行環境を使用する実施の形態を示している。
【０１２１】
図１５では、ユーザＢは、ＯＳ１６４６がＯＳ−Ｂの実行環境（実行環境識別子Ｂ）、および、ＯＳ１６４６がＯＳ−Ｃの実行環境（実行環境識別子Ｃ）の、二つの異なる実行環境を有することを示している。なお、ユーザＢが複数の実行環境識別子を有する場合は、ＯＳが異なる場合だけでなく、ＯＳ１６４６が同じ場合であっても、使用するアプリケーションプログラム群１６４７が異なる場合にも、複数の実行環境識別子を有するものとする。
【０１２２】
また、実行環境識別子Ｂにおいては、ＯＳおよびアプリケーションプログラムが同じ実行環境を、複数のユーザが使用する場合の個別領域１６４０を示している。前記個別領域１６４０では、ユーザＢとユーザＣが、同じＯＳおよびアプリケーションプログラムを使用する。このため、ＯＳ１６４６およびアプリケーションプログラム１６４７は共用される。また、ユーザデータ１６４８は、各々が別々に格納されている。この場合、レジストリ情報１６４１のユーザ情報テーブル１６４５は、ユーザＢとユーザＣの２件作成される。
【０１２３】
図１６は、使用者情報１１５０のデータ構造の一例を模式的に示す。図１６の例では、テーブル構造となっている。図１６では、ユーザＢが実行環境識別子ＢおよびＣの二つの実行環境を有することを示している。また、ユーザＣが、ユーザＢとともに実行環境識別子Ｂを共有していることを示している。
【０１２４】
これにより、本実施形態は、少なくともユーザが複数の実行環境子を有する点、および、一つの実行環境識別子のなかに複数のユーザデータが格納されている点において、第１の実施形態と相違する。この第２の実施形態においても、第１の実施形態と同様の効果が期待できる。さらに、第２の実施形態は、同一ユーザがＯＳおよびアプリケーションプログラムが異なる複数の実行環境での作業が可能となる、という効果を有する。
【０１２５】
以上説明したように、本発明の各実施形態によれば、ある端末装置の実行環境を、他の端末装置に作成する場合に、リモートブートの要求をきっかけに、リモートブート処理に必要な情報を収集することができる。また、自動的にレジストリ情報を作成することにより、リモートブートを容易に実現でき、これにより、システムの構成変更に容易に対応できるようになる。さらには、ユーザが使用する端末装置が固定されていないため、毎回違う端末装置を使用する場合、新しい端末装置の新規導入などの、システム構成変更の場合に、予めレジストリ情報を作成する必要がなくなる。従って、システム管理者の作業負荷が軽減されるという効果がある。
【０１２６】
【発明の効果】
本発明によれば、ある端末装置の実行環境を、他の端末装置に作成する場合に、リモートブートの要求をきっかけに、レジストリ情報を自動的に作成し、リモートブートを容易に実現することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態に係る情報処理システムおよび発注システムのシステム構成を示すブロック図である。
【図２】共用記憶システムの機能構成を示すブロック図である。
【図３】端末装置で動作するソフトウェアの構成を示すブロック図である。
【図４】端末装置情報のデータ構造の詳細を模式的に示す説明図である。
【図５】使用者情報のデータ構成を模式的に示す説明図である。
【図６】ソフトウェア環境情報の中に含まれる、アプリケーションプログラム群のリスト名の内容を管理するためのデータ構造の一例を模式的に示す説明図である。
【図７】ソフトウェア情報のデータ構造の一例を模式的に示す説明図である。
【図８】マップ情報のデータ構造の一例を模式的に示す説明図である。
【図９】個別領域情報のデータ構造の一例を模式的に示す説明図である。
【図１０】リモートブート処理手順（１／３）を示すフローチャートである。
【図１１】リモートブート処理手順（２／３）を示すフローチャートである。
【図１２】リモートブート処理手順（３／３）を示すフローチャートである。
【図１３】ソフトウェア要求の入力画面の一例を示す正面図である。
【図１４】レジストリ情報のデータ構造の一例を模式的に示す説明図である。
【図１５】本発明の第２の実施形態に係る、実行環境識別子を用いて管理される個別領域の構成を示すブロック図である。
【図１６】本発明の第２の実施形態に係る、使用者情報のデータ構造の一例を模式的に示す説明図である。
【図１７】本発明の第１の実施形態に係る、実行環境識別子を用いて管理される個別領域の構成を示すブロック図である。
【図１８】本発明の第１の実施形態に係る、ライセンス情報のデータ構造の一例を模式的に示す説明図である。
【図１９】本発明の第１の実施形態に係る、ライセンス配布状況情報のデータ構造の一例を模式的に示す説明図である。
【図２０】本発明の第１の実施形態に係る、ライセンス使用状況情報のデータ構造の一例を模式的に示す説明図である。
【図２１】本発明の第１の実施形態に係る、ソフトウェア管理情報のデータ構造の一例を模式的に示す説明図である。
【図２２】本発明の第１の実施形態に係る、購入管理情報のデータ構造の一例を模式的に示す説明図である。
【図２３】本発明の第１の実施形態に係る、発注システムで動作するソフトウェアの構成を示すブロック図である。
【図２４】本発明の第１の実施形態に係る、ライセンス処理手順を示すフローチャートである。
【図２５】本発明の第１の実施形態に係る、ライセンスサービス処理手順を示すフローチャートである。
【符号の説明】
１００…ハードディスク装置、１０１…ＣＰＵ、１０２…メモリ、１０３…ネットワークデバイス、１０４…ハードディスクデバイス、１１０…クライアント計算機、１１１…ＣＰＵ、１１２…メモリ、１１３…ネットワークデバイス、１１４…入出力デバイス、１１５…ブート制御回路、１２０…クライアント計算機、１３０…クライアント計算機、１４０…ＬＡＮ、１５０…サーバ計算機、１５１…ＣＰＵ、１５２…メモリ、１５３…ネットワークデバイス、１５４…入出力デバイス、１５５…ブート制御回路、１５６…ハードディスク、１５７…ネットワークデバイス
【図１】
2004295270.tif 000003
【図２】
2004295270.tif 000004
【図３】
2004295270.tif 000005
【図４】
2004295270.tif 000006
【図５】
2004295270.tif 000007
【図６】
2004295270.tif 000008
【図７】
2004295270.tif 000009
【図８】
2004295270.tif 000010
【図９】
2004295270.tif 000011
【図１０】
2004295270.tif 000012
【図１１】
2004295270.tif 000013
【図１２】
2004295270.tif 000014
【図１３】
2004295270.tif 000015
【図１４】
2004295270.tif 000016
【図１５】
2004295270.tif 000017
【図１６】
2004295270.tif 000018
【図１７】
2004295270.tif 000019
【図１８】
2004295270.tif 000020
【図１９】
2004295270.tif 000021
【図２０】
2004295270.tif 000022
【図２１】
2004295270.tif 000023
【図２２】
2004295270.tif 000024
【図２３】
2004295270.tif 000025
【図２４】
2004295270.tif 000026
【図２５】
2004295270.tif 000027