(57)【特許請求の範囲】
【請求項１】
他の複数のコンピュータとデータ通信可能に接続されたコンピュータにおいて、
前記コンピュータのユーザが実行させようとするソフトウェアが当該コンピュータにインストールされているか否かを判定するソフトウェア存否判定手段と、
前記ソフトウェアが当該コンピュータにインストールされていないと前記ソフトウェア存否判定手段によって判定された場合に、前記他の複数のコンピュータのうちのいずれかから当該ソフトウェアをインストールするためのファイルを取得するファイル取得手段と、
前記ファイル取得手段によって取得された前記ファイルに基づいて、当該ソフトウェアを当該コンピュータにインストールするインストール手段と、
前記ユーザが前記ソフトウェアの利用を終了したことを検出する検出手段と、
前記検出手段にて前記ソフトウェアの利用が終了したと検出された場合に、前記他の複数のコンピュータのいずれかに前記ソフトウェアがインストールされているか否かを判別するソフトウェア所有判別手段と、
前記ソフトウェア所有判別手段にて、前記他の複数のコンピュータのいずれかに前記ソフトウェアがインストールされていると判別された場合に当該ソフトウェアをアンインストールする削除手段と、
を有することを特徴とするコンピュータ。
【請求項２】
前記インストール手段は、前記ソフトウェアの実行権限を有するユーザが実行させようとした場合にのみ、当該ソフトウェアを当該コンピュータにインストールする、
請求項１記載のコンピュータ。
【請求項３】
他の複数のコンピュータとデータ通信可能に接続されたコンピュータの管理方法であって、
当該コンピュータが、
当該コンピュータのユーザが実行させようとするソフトウェアが当該コンピュータにインストールされているか否かを判定し、
前記ソフトウェアが当該コンピュータにインストールされていないと判定した場合に、前記他の複数のコンピュータのうちのいずれかから当該ソフトウェアをインストールするためのファイルを取得し、
取得した前記ファイルに基づいて、当該ソフトウェアを当該コンピュータにインストールし、
前記ユーザが前記ソフトウェアの利用を終了したことを検出した場合に、前記他の複数のコンピュータのいずれかに前記ソフトウェアがインストールされているか否かを判別し、
前記他の複数のコンピュータのいずれかに前記ソフトウェアがインストールされていると判別した場合に当該ソフトウェアをアンインストールする、
ことを特徴とするコンピュータの管理方法。
【請求項４】
他の複数のコンピュータとデータ通信可能に接続されたコンピュータに用いられるコンピュータプログラムであって、
当該コンピュータに、
当該コンピュータのユーザが実行させようとするソフトウェアが当該コンピュータにインストールされているか否かを判定する処理を実行させ、
前記ソフトウェアが当該コンピュータにインストールされていないと判定した場合に、前記他の複数のコンピュータのうちのいずれかから当該ソフトウェアをインストールするためのファイルを取得する処理を実行させ、
取得した前記ファイルに基づいて、当該ソフトウェアを当該コンピュータにインストールする処理を実行させ、
前記ユーザが前記ソフトウェアの利用を終了したことを検出した場合に、前記他の複数のコンピュータのいずれかに前記ソフトウェアがインストールされているか否かを判別する処理を実行させ、
前記他の複数のコンピュータのいずれかに前記ソフトウェアがインストールされていると判別した場合に当該ソフトウェアをアンインストールする処理を実行させる、
ことを特徴とするコンピュータプログラム。
【請求項５】
第一のコンピュータと第二のコンピュータとが接続されたネットワークシステムにおいて、
前記第一のコンピュータは、
前記第一のコンピュータのユーザが実行させようとするソフトウェアが当該第一のコンピュータにインストールされているか否かを判定するソフトウェア存否判定手段と、
前記ソフトウェアが当該第一のコンピュータにインストールされていないと前記ソフトウェア存否判定手段によって判定された場合に、前記第二のコンピュータから当該ソフトウェアをインストールするためのファイルを取得するファイル取得手段と、
前記ファイル取得手段によって取得された前記ファイルに基づいて、当該ソフトウェアを当該第一のコンピュータにインストールするインストール手段と、
前記ユーザが前記ソフトウェアの利用を終了したことを検出する検出手段と、
前記検出手段にて前記ソフトウェアの利用が終了したと検出された場合に、前記第二のコンピュータに前記ソフトウェアがインストールされているか否かを判別するソフトウェア所有判別手段と、
前記ソフトウェア所有判別手段にて、前記第二のコンピュータに前記ソフトウェアがインストールされていると判別された場合に当該ソフトウェアをアンインストールする削除手段と、を有し、
前記第二のコンピュータは、
前記第一のコンピュータから前記ファイルを要求された場合に、当該ファイルを提供する、必要ファイル提供手段、を有する、
ことを特徴とするネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のユーザが共有するコンピュータなどに関する。
【背景技術】
【０００２】
近年、小学校、中学校、高校、または大学などの学校に、複数台の端末装置が配置されたＰＣ教室が設けられている。
【０００３】
このようなＰＣ教室においては、生徒および教師などが、空席を見つけて着席し、その席に置かれたパーソナルコンピュータなどの端末装置を操作して、様々なアプリケーションソフトを使用する。
【０００４】
特許文献１には、上述のＰＣ教室のような複数台のコンピュータが配置されている環境において、それらのコンピュータにソフトウェアツールをインストールするインスタレーション方法が、開示されている。このインスタレーション方法によると、はじめに、ソフトウェアツール毎に決められたコマンドをコンピュータのユーザが入力する。すると、そのソフトウェアツールがそのコンピュータに存在しない場合は、ホストコンピュータからそのソフトウェアツールがダウンロードされ、ユーザが使用するコンピュータにおいて起動される。
【特許文献１】特開平５−２７４１２３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来の方法によると、ＰＣ教室においては、例えば、ある１つのアプリケーションソフトを使用するユーザの人数よりも端末装置の台数の方が多い場合であっても、全ての端末装置にそのアプリケーションソフトをインストールしておく必要がある。ユーザが、どの端末装置を使用する場合であっても、そのアプリケーションソフトを使用できるようにするためである。
【０００６】
しかし、この方法では、１〜２人のみが使用するアプリケーションソフトを含む、各ユーザが使用する全てのアプリケーションソフトを、あらかじめ全ての端末装置にインストールしておく必要がある。端末装置が数十台〜数百台におよぶ場合は、その作業量は膨大である。
【０００７】
さらに、使用に際してＣＰＵライセンスが必要なアプリケーションソフトに関しては、そのアプリケーションソフトを使用するユーザの数が２〜３人であったとしても、インストールする端末装置の台数分のライセンスを購入しなければならない。
【０００８】
特許文献１の方法によると、端末装置ごとに、インストールするアプリケーションソフトをあらかじめ決めておかなければならない。したがって、ＰＣ教室において、ユーザは、自らが使用しようとするアプリケーションソフトによって、操作できる端末装置がおのずと限定されてしまう。
【０００９】
本発明は、このような点に鑑み、ＰＣ教室における端末装置へのアプリケーションソフトのインストールを、従来よりも費用を抑えながらも簡便に行い、かつ、ユーザが使用できる端末装置の選択の余地を広げることを、目的とする。
【課題を解決するための手段】
【００１０】
本発明の一実施形態に係るコンピュータは、他の複数のコンピュータとデータ通信可能に接続されたコンピュータにおいて、前記コンピュータのユーザが実行させようとするソフトウェアが当該コンピュータにインストールされているか否かを判定するソフトウェア存否判定手段と、前記ソフトウェアが当該コンピュータにインストールされていないと前記ソフトウェア存否判定手段によって判定された場合に、前記他の複数のコンピュータのうちのいずれかから当該ソフトウェアをインストールするためのファイルを取得するファイル取得手段と、前記ファイル取得手段によって取得された前記ファイルに基づいて、当該ソフトウェアを当該コンピュータにインストールするインストール手段と、前記ユーザが前記ソフトウェアの利用を終了したことを検出する検出手段と、前記検出手段にて前記ソフトウェアの利用が終了したと検出された場合に、前記他の複数のコンピュータのいずれかに前記ソフトウェアがインストールされているか否かを判別するソフトウェア所有判別手段と、前記ソフトウェア所有判別手段にて、前記他の複数のコンピュータのいずれかに前記ソフトウェアがインストールされていると判別された場合に当該ソフトウェアをアンインストールする削除手段と、を有する。
【００１１】
好ましくは、前記インストール手段は、前記ソフトウェアの実行権限を有するユーザが実行させようとした場合にのみ、当該ソフトウェアを当該コンピュータにインストールする。
【００１３】
本発明の一実施形態に係るネットワークシステムは、第一のコンピュータと第二のコンピュータとが接続されたネットワークシステムにおいて、前記第一のコンピュータは、前記第一のコンピュータのユーザが実行させようとするソフトウェアが当該第一のコンピュータにインストールされているか否かを判定するソフトウェア存否判定手段と、前記ソフトウェアが当該第一のコンピュータにインストールされていないと前記ソフトウェア存否判定手段によって判定された場合に、前記第二のコンピュータから当該ソフトウェアをインストールするためのファイルを取得するファイル取得手段と、前記ファイル取得手段によって取得された前記ファイルに基づいて、当該ソフトウェアを当該第一のコンピュータにインストールするインストール手段と、前記ユーザが前記ソフトウェアの利用を終了したことを検出する検出手段と、前記検出手段にて前記ソフトウェアの利用が終了したと検出された場合に、前記第二のコンピュータに前記ソフトウェアがインストールされているか否かを判別するソフトウェア所有判別手段と、前記ソフトウェア所有判別手段にて、前記第二のコンピュータに前記ソフトウェアがインストールされていると判別された場合に当該ソフトウェアをアンインストールする削除手段と、を有し、前記第二のコンピュータは、前記第一のコンピュータから前記ファイルを要求された場合に、当該ファイルを提供する、必要ファイル提供手段、を有する。
【発明の効果】
【００１４】
本発明によると、ＰＣ教室における端末装置へのアプリケーションソフトのインストールを、従来よりも費用を抑えながらも簡便に行い、かつ、ユーザが使用できる端末装置の選択の余地を広げることができる。
【発明を実施するための最良の形態】
【００１５】
図１はＰＣ教室ネットワーク１の全体的な構成の例を示す図、図２は端末装置２のハードウェア構成の例を示す図、図３は端末装置２の機能的構成の例を示す図、図４はメニュー画面の例を示す図、図５はインストール処理部２０３の構成の例を示す図、図６は必要データ提供部２０４の構成の例を示す図である。
【００１６】
ＰＣ教室ネットワーク１は、図１に示すように、複数台の端末装置２ａ，２ｂ，２ｃ，…、および通信回線４などによって構成される。端末装置２ａ，２ｂ，２ｃ，…は、通信回線４を介して互いに通信を行うことができる。以下、端末装置２ａ，２ｂ，２ｃ，…を「端末装置２」と総称することがある。
【００１７】
ＰＣ教室ネットワーク１は、小学校、中学校、高校、または大学などの学校のＰＣ教室に設けられているネットワークシステムである。ＰＣ教室ネットワーク１には、ワープロソフト、表計算ソフト、描画ソフト、または音楽編集ソフトなど様々なアプリケーションソフトが用意されている。生徒および教師など（以下、「ユーザ」と記載する。）は、端末装置２を操作してこれらのアプリケーションソフトを使用することができる。各ユーザは、複数台の端末装置２のうちどれを使用するべきか特に決められておらず、毎回異なる端末装置２を使用することができる。
【００１８】
ＰＣ教室ネットワーク１の管理者は、これらのアプリケーションソフトをすべての端末装置２にインストールしておく必要はない。少なくともいずれか１台の端末装置２に予めインストールしておけばよい。端末装置２は、ユーザが使用しようとしたアプリケーションソフトが自らにインストールされていない場合は、他の端末装置２からそのアプリケーションソフトを取得しインストールする。この仕組みについては、後に詳しく説明する。
【００１９】
ＰＣ教室ネットワーク１が設けられている学校においては、ユーザ１人１人に対してＵＳＢフラッシュメモリ６が１つずつ配付されている。ＵＳＢフラッシュメモリ６には、そのＵＳＢフラッシュメモリ６の所有者であるユーザがアプリケーションソフトの使用のためのライセンスを受けていることを示すデータ（以下、「ライセンスデータＬＤ」と称する）が記憶されている。
【００２０】
ＵＳＢフラッシュメモリ６には、ユーザが複数のアプリケーションソフトのライセンスを受けている場合は、それら１つ１つのライセンスデータＬＤが記憶されている。さらに、ＵＳＢフラッシュメモリ６には、これらのアプリケーションソフトをユーザに選択させるメニュー画面を端末装置２に表示するためのメニュー画面表示プログラムが記憶されている。
【００２１】
ユーザは、ＰＣ教室に入室すると、誰も使用していない端末装置２を見つけ、その端末装置２にＵＳＢフラッシュメモリ６を接続して、ライセンスを受けているアプリケーションソフトを使用する。この際、その端末装置２にそのアプリケーションソフトがインストールされていない場合は、他の端末装置２からそのアプリケーションソフトが取得され、その端末装置２にインストールされる。インストール後、ユーザはそのアプリケーションソフトを使用することができる。
【００２２】
端末装置２は、図２に示すように、ＣＰＵ２０ａ、ＲＡＭ２０ｂ、ＲＯＭ２０ｃ、ハードディスク２０ｄ、ＵＳＢ（universal serial bus）インタフェース２０ｅ、液晶ディスプレイ２０ｆ、キーボード２０ｇ、ポインティングデバイス２０ｈ、およびネットワークインタフェース２０ｉなどによって構成される。端末装置２として、例えばパーソナルコンピュータが用いられる。
【００２３】
ＵＳＢインタフェース２０ｅは、ＵＳＢフラッシュメモリ、デジタルカメラ、およびマウスなどのＵＳＢデバイスを端末装置２に接続するためのインタフェースである。
【００２４】
ネットワークインタフェース２０ｉは、他の端末装置２などとＴＣＰ／ＩＰなどのプロトコルによって通信を行うためのＮＩＣ（Network Interface Card）である。
【００２５】
ＲＯＭ２０ｃまたはハードディスク２０ｄには、図３に示すようなライセンス認証部２０１、アプリケーション存否判定部２０２、インストール処理部２０３、必要データ提供部２０４、アプリケーション起動部２０５、後処理部２０６、および実行禁止処理部２０７などを実現するためのプログラムおよびデータが記憶されている。さらに、ハードディスク２０ｄには、上述のようなアプリケーションソフトがインストールされている場合がある。
【００２６】
端末装置２は、これらの部位によって、他の端末装置２との間でアプリケーションソフトのやり取りの処理を行う。以下、これらの部位の処理内容を、端末装置２ａが他のいずれかの端末装置２（２ｂ，２ｃ，…）からアプリケーションソフトを取得しインストールする場合を例に挙げて説明する。
【００２７】
端末装置２ａにおいて、ライセンス認証部２０１は、ユーザが起動させようとしたアプリケーションソフトのライセンスをそのユーザが受けていることを認証する処理を行う。この処理は、次のような手順で行われる。
【００２８】
ユーザは、端末装置２ａの席に着くと、自分のＵＳＢフラッシュメモリ６を端末装置２ａに接続する。すると、端末装置２ａはメニュー画面表示プログラムをＵＳＢフラッシュメモリ６からロードして起動する。起動後、端末装置２ａのデスクトップには、図４のようなメニュー画面ＨＧ１が表示される。
【００２９】
メニュー画面ＨＧ１には、そのＵＳＢフラッシュメモリ６に記憶されているライセンスデータＬＤごとのアプリケーションソフトに対応するボタンＢＴ（ＢＴ１、ＢＴ２、…）が配置されている。ここで、ユーザは、所望のアプリケーションソフトを、それに対応するボタンＢＴをクリックすることによって選択する。または、アプリケーションソフトのパスまたはプログラム名をキーボードで入力することによって選択してもよい。以下、ユーザが選択したアプリケーションソフトを「選択アプリケーションソフト」と記載する。
【００３０】
すると、ライセンス認証部２０１は、選択アプリケーションソフトのライセンスデータＬＤがＵＳＢフラッシュメモリ６に保存されているか否かをチェックし、そのライセンスデータＬＤが正しいものであるか否かを判定する。そして、正しいものであると判定できた場合は、そのユーザが選択アプリケーションソフトのライセンスを受けていると認証する。
【００３１】
アプリケーション存否判定部２０２は、ユーザが選択アプリケーションソフトのライセンスを受けていることがライセンス認証部２０１によって認証されると、端末装置２ａ自身のハードディスク２０ｄの中からその選択アプリケーションソフトを検索する。つまり、その選択アプリケーションソフトがインストールされているか否かを判定する。
【００３２】
なお、本実施形態では、説明の簡単のため、アプリケーションソフトが１つのプログラムファイル（いわゆる実行ファイルまたはＥＸＥファイル）だけで構成されている場合を例に説明する。複数のファイルを要するアプリケーションソフトの場合の処理については、後に説明する。また、選択アプリケーションソフトを構成するプログラムファイルを「プログラムファイルＮＤ」と記載する。
【００３３】
インストール処理部２０３は、図５に示すように、存否問合せ処理部２３１、存否回答受信部２３２、必要データ要求部２３３、必要データ受信部２３４、およびインストール実行部２３５によって構成される。このような構成により、インストール処理部２０３は、その選択アプリケーションソフトが端末装置２ａにインストールされていないとアプリケーション存否判定部２０２によって判定された場合に、他の端末装置２（２ｂ、２ｃ、…）のいずれかからその選択アプリケーションソフトを取得し端末装置２ａ自身にインストールする処理を行う。
【００３４】
一方、端末装置２ｂ、２ｃ、…の必要データ提供部２０４は、図６に示すように、存否問合せ受信部２４１、アプリケーション存否判定部２４２、存否回答部２４３、必要データ要求受信部２４４、および必要データ送信部２４５によって構成される。必要データ提供部２０４は、このような構成により、他の端末装置（本例は、端末装置２ａ）からの要求に基づいて、自らが有するアプリケーションソフトを当該他の端末装置に提供するための処理を行う。
【００３５】
図７はアプリケーションソフトを取得してインストールするための処理の流れの例を説明するフローチャート、図８はアプリケーションソフトを他の端末装置に提供するための処理の流れの例を説明するフローチャートである。
【００３６】
ここで、端末装置２ａのインストール処理部２０３を構成する各部および端末装置２ｂ、２ｃ、…の必要データ提供部２０４を構成する各部の処理を、図７および図８のフローチャートを参照して説明する。
【００３７】
端末装置２ａの存否問合せ処理部２３１は、選択アプリケーションソフトが端末装置２ａ自身にインストールされていないとアプリケーション存否判定部２０２によって判定されると、選択アプリケーションソフトがインストールされているか否かを問い合わせるための信号である存否問合せ信号ＴＳを、ブロードキャストによって、端末装置２ｂ、２ｃ、…に送信する（図７の＃２０１）。
【００３８】
すると、端末装置２ｂ、２ｃ、…のそれぞれにおいて、存否問合せ受信部２４１は、端末装置２ａから存否問合せ信号ＴＳを受信する（図８の＃５０１）。プログラム存否判定部２４２は、自らのハードディスク２０ｄの中からその選択アプリケーションソフトを検索する（＃５０２）。つまり、自らにその選択アプリケーションソフトがインストールされているか否かを判定する。
【００３９】
存否回答送信部２４３は（＃５０３でＹｅｓ）、自らにその選択アプリケーションソフトがインストールされているとアプリケーション存否判定部２４２によって判定されると、インストールされている旨を示す信号である回答信号ＫＳを問合せ元つまり端末装置２ａに送信する（＃５０４）。ここでは、端末装置２ｂの存否回答部２４３だけが回答信号ＫＳを送信する。
【００４０】
端末装置２ａにおいて、存否回答受信部２３２が他のいずれかの端末装置２から回答信号ＫＳを受信すると（＃２０２）、当該他の端末装置２にその選択アプリケーションソフトに必要なデータがインストールされていると判別する。必要データ要求部２３３は、その選択アプリケーションソフトに必要なデータを要求する信号であるプログラムファイル要求信号ＰＳを、その回答信号ＫＳの送信元に対して送信する（＃２０３）。本例では、存否回答受信部２３２は端末装置２ｂのみから回答信号ＫＳを受信するので、必要データ要求部２３３は端末装置２ｂに対してプログラムファイル要求信号ＰＳを送信する。
【００４１】
なお、回答信号ＫＳを複数の端末装置２から受信した場合は、いずれか１つの端末装置２にプログラムファイル要求信号ＰＳを送信すればよい。例えば、最も早く受信した回答信号ＫＳの送信元に、必要データ要求信号ＰＳを送信すればよい。
【００４２】
端末装置２ｂにおいて、必要データ要求受信部２４４は、端末装置２ａからプログラムファイル要求信号ＰＳを受信する（＃５０５）。
【００４３】
端末装置２ｂの必要データ送信部２４５は、そのプログラムファイル要求信号ＰＳに基づいてプログラムファイルＮＤを端末装置２ｂのハードディスク２０ｄから読み出し、要求元つまり端末装置２ａに送信する（＃５０６）。
【００４４】
端末装置２ａにおいて、必要データ受信部２３４は、端末装置２ｂからプログラムファイルＮＤを受信する（＃２０４）。
【００４５】
そして、インストール実行部２３５は、受信されたプログラムファイルＮＤを端末装置２ａ自身のハードディスク２０ｄに記憶させることによって、選択アプリケーションソフトをインストールする（＃２０５）。
【００４６】
図３に戻って、アプリケーション起動部２０５は、ユーザが指定した選択アプリケーションソフトを起動させる。これにより、ユーザは、その選択アプリケーションソフトを用いて種々の処理を端末装置２に行わせることができる。なお、この選択アプリケーションソフトは、上述の通り、今回の指定に伴って他の端末装置２から取得されインストールされたものである場合もあれば、それ以前からその端末装置２自身にインストールされていたものである場合もある。
【００４７】
後処理部２０６は、ユーザの操作などによって選択アプリケーションソフトが終了したことを検知すると、選択アプリケーションソフトをアンインストールする処理を行う。
【００４８】
図９は選択アプリケーションソフトを終了した後の処理の流れの例を説明するフローチャートである。ここで、端末装置２ａの後処理部２０６を例に、後処理部２０６の処理の手順を、図９のフローチャートを参照して説明する。
【００４９】
選択アプリケーションソフトが終了すると、その選択アプリケーションソフトについての存否問合せ信号ＴＳを、ブロードキャストによって、他の端末装置２（端末装置２ｂ、２ｃ、…）に送信する（図９の＃３０１）。これらの他の端末装置２は、存否問合せ信号ＴＳを受信すると、自らにその選択アプリケーションソフトがインストールされている場合は、回答信号ＫＳを端末装置２ａに送信する。
【００５０】
回答信号ＫＳを他のいずれかの端末装置２から受信すると（＃３０２でＹｅｓ）、端末装置２ａ以外にも選択アプリケーションソフトがインストールされている端末装置２が存在すると判断できる。そこで、端末装置２ａ自身のハードディスク２０ｄからその選択アプリケーションソフトをアンインストールする（＃３０３）。
【００５１】
回答信号ＫＳをどの端末装置２からも受信しなかった場合は（＃３０２でＮｏ）、選択アプリケーションソフトが端末装置２ｂ、２ｃ、…にはインストールされていない、つまり、端末装置２ａにしかインストールされていないと判断できる。そこで、アンインストールは行わない。
【００５２】
なお、上述の選択アプリケーションソフトのインストールの処理の場合と同様に、存否問合せ信号ＴＳが送信されてから一定の時間が経過して１つも回答信号ＫＳが受信されない場合は、選択アプリケーションソフトが他のいずれの端末装置２（端末装置２ｂ、２ｃ、…）にもインストールされていないと判断してもよい。次に説明する実行禁止処理部２０７も、同様に判断する。
【００５３】
図３に戻って、実行禁止処理部２０７は、ユーザがメニュー画面ＨＧ１（図４参照）の中から選択したアプリケーションソフト（選択アプリケーションソフト）のライセンスを受けていないとライセンス認証部２０１によって判別された場合に、その選択アプリケーションソフトを実行（起動）するのを禁止する。
【００５４】
すなわち、例えば、そのユーザがその端末装置２を使用している間は、その選択アプリケーションソフトがメニュー画面ＨＧ１において何度選択されても実行するのを拒否する。パスまたはプログラム名をキーボードで指定されても、実行するのを拒否する。また、他の端末装置２にもその選択アプリケーションソフトがインストールされている場合は、その選択アプリケーションソフトをその端末装置２自身からアンインストールする。
【００５５】
図１０は選択アプリケーションソフトの実行を禁止するための処理の流れの例を説明するフローチャートである。ここで、端末装置２ａの実行禁止処理部２０７が選択アプリケーションソフトをアンインストールする際の処理の手順を、図１０のフローチャートを参照して説明する。
【００５６】
ユーザがその選択アプリケーションソフトのライセンスを受けていることがライセンス認証部２０１によって認証されなかった場合は、その選択アプリケーションソフトについての存否問合せ信号ＴＳを、ブロードキャストによって、他の端末装置２（端末装置２ｂ、２ｃ、…）に送信する（図１０の＃４０１）。これらの他の端末装置２は、存否問合せ信号ＴＳを受信すると、自らにその選択アプリケーションソフトがインストールされている場合は、回答信号ＫＳを端末装置２ａに送信する。
【００５７】
回答信号ＫＳを他のいずれかの端末装置２から受信すると（＃４０２でＹｅｓ）、端末装置２ａ以外にその選択アプリケーションソフトがインストールされている端末装置２が存在するので、端末装置２ａ自身のハードディスク２０ｄからその選択アプリケーションソフトをアンインストールする（＃４０３）。
【００５８】
回答信号ＫＳを他のいずれの端末装置２からも受信しなかった場合は（＃４０２でＮｏ）、その選択アプリケーションソフトがインストールされているのは端末装置２ａだけなので、アンインストールは行わない。
【００５９】
そして、「選択したアプリケーションソフトを使用することはできません。」などのメッセージを、端末装置２ａの液晶ディスプレイ２０ｆに表示して（＃４０４）、アプリケーションソフトを実行させることなく、処理を終了する。
【００６０】
図１１はユーザに使用される際の端末装置２の全体的な処理の流れの例を説明するフローチャートである。
【００６１】
次に、あるユーザＸが端末装置２ａを使用する際の端末装置２ａの処理の流れを、図１１を参照しながら説明する。
【００６２】
ユーザＸが自分のＵＳＢフラッシュメモリ６を端末装置２ａに接続すると、端末装置２ａは、ユーザＸがライセンスを受けているアプリケーションソフトの一覧を示すメニュー画面ＨＧ１を液晶ディスプレイ２０ｆに表示する（図１１の＃１０１）。
【００６３】
ユーザＸが所望のアプリケーションソフトを選択すると（＃１０２）、端末装置２ａは、ＵＳＢフラッシュメモリ６に保存されているライセンスデータＬＤを用いて、ライセンスの認証を行う（＃１０３）。
【００６４】
ユーザＸが正しいライセンスを受けている場合は（＃１０４でＹｅｓ）、端末装置２ａは、自らに選択アプリケーションソフトがインストールされているか否かを判定する（＃１０５）。
【００６５】
端末装置２ａに選択アプリケーションソフトがインストールされていないと判定された場合は（＃１０６でＮｏ）、端末装置２ｂ、２ｃ、…のいずれかから選択アプリケーションソフトを取得し端末装置２ａにインストールする処理を行う（＃１０７）。ステップ＃１０７の処理は、図７を用いて前に説明した通りである。
【００６６】
選択アプリケーションソフトをインストールすると、選択アプリケーションソフトを起動させ、ユーザの操作などに従って種々の処理を実行する（＃１０８）。
【００６７】
ユーザが選択アプリケーションソフトを終了させると、端末装置２ａは、その選択アプリケーションソフトをアンインストールするための処理（後処理）を行う（＃１０９）。ステップ＃１０９の処理は、図９を用いて前に説明した通りである。
【００６８】
既に端末装置２ａにその選択アプリケーションソフトがインストールされている場合は（＃１０６でＹｅｓ）、他の端末装置２からそれを取得することなく、それを起動する（＃１０８）。
【００６９】
ユーザが正しいライセンスを受けていない場合は（＃１０４でＮｏ）、その選択アプリケーションソフトの実行を禁止する（＃１１０）。その際に、その選択アプリケーションソフトを適宜、アンインストールする。アンインストールの処理の手順は、図１０を用いて前に説明した通りである。
【００７０】
本実施形態によると、ＰＣ教室ネットワーク１の管理者は、１つのアプリケーションソフトを、使用される可能性のあるすべての端末装置２にインストールする必要はなく、１台の端末装置２にインストールしておくだけでよい。
【００７１】
よって、管理者は、ＰＣ教室ネットワーク１における端末装置２へのアプリケーションソフトのインストールを従来よりも簡便に行うことができる。また、ユーザは、自分が使いたいアプリケーションソフトがインストールされているか否かを調べることなく、端末装置２を自由に選ぶことができる。
【００７２】
しかも、使用される可能性のあるすべての端末装置２の分のライセンスを用意する必要がなく、使用するユーザの人数分だけ用意すればよいので、ライセンスに掛かる費用を従来よりも抑えることができる場合がある。特に、使用するユーザの人数が端末装置２の台数よりも少ないアプリケーションソフトのライセンスの費用を効果的に抑えることができる。このようなライセンス管理は、ユーザごとに、使用するアプリケーションソフトのライセンスデータＬＤを記憶させたＵＳＢフラッシュメモリ６を配付することによって、容易に実現することができる。
【００７３】
また、本実施形態によると、端末装置２は、他の端末装置２にも同じアプリケーションソフトがインストールされていれば、そのアプリケーションソフトをアンインストールする。よって、ＰＣ教室ネットワーク１全体として取り扱うアプリケーションソフトの品数が多くなっても、それぞれの端末装置２にインストールされているアプリケーションソフトが複雑になることはなく、端末装置２の管理の作業を従来よりも簡便にすることができる。
【００７４】
また、本実施形態によると、いわゆるライセンスサーバを用意する必要がないので、ＰＣ教室ネットワークを簡単に構成することができる。
【００７５】
図１２はアプリケーションソフトのやり取りの処理の流れの変形例を説明するフローチャートである。
【００７６】
本実施形態では、端末装置２ａが選択アプリケーションソフトを提供してもらうための処理を実行し、端末装置２ｂ、２ｃ、…が選択アプリケーションソフトを提供するための処理を実行する場合を例に説明したが、端末装置２ａも他の端末装置２に対して選択アプリケーションソフトを提供するための処理を実行することがある。また、端末装置２ｂ、２ｃ、…も、他の端末装置２から選択アプリケーションソフトを提供してもらうための処理を実行することがある。つまり、端末装置２ａ、２ｂ、２ｃ、…はすべて、アプリケーションソフトのサーバとして機能することもあれば、クライアントとして機能することもある。
【００７７】
アプリケーションソフトが複数のファイルによって構成される場合は、そのアプリケーションソフトのインストーラおよびアンインストーラを用意しておけばよい。そして、提供側の端末装置２は、要求側の端末装置２に対してこれらのインストーラおよびアンインストーラを提供すればよい。
【００７８】
または、図１２に示すような方法で、選択アプリケーションソフトのファイルを提供してもよい。以下、提供する側の端末装置２が端末装置２ｂであり、提供される側の端末装置２が端末装置２ａである場合を例に説明する。
【００７９】
端末装置２ｂは、選択アプリケーションソフトのメインプログラムのファイルのみを端末装置２ａに対して送信する（図１２の＃２５１）。
【００８０】
端末装置２ａは、これを受信し自らのハードディスク２０ｄに保存する（＃２６１）。そして、メインプログラムを起動する（＃２６２）。
【００８１】
メインプログラムを実行している最中に必要なファイルが生じたら（＃２６４でＹｅｓ）、端末装置２ｂに対してそのファイルを要求する（＃２６５）。
【００８２】
端末装置２ｂは、要求を受け付けると（＃２５２）、その要求に係るファイルを端末装置２ａに送信する（＃２５３）。
【００８３】
端末装置２ａは、このファイルを受信し自らのハードディスク２０ｄに保存する（＃２６６）。
【００８４】
アプリケーションソフトが終了するまでの間、必要なファイルが生じるたびに、端末装置２ｂに対してそれを要求する。なお、必要なファイルは、常に端末装置２ｂに対して要求するのではなく、端末装置２ｂ以外の端末装置２に対して要求してもよい。
【００８５】
本実施形態では、図９で説明したアプリケーションソフトのアンインストールの処理を、そのアプリケーションソフトが終了する際に実行する例を説明したが、そのアプリケーションソフトが一定期間起動されないときに実行するようにしてもよい。
【００８６】
本実施形態では、ＵＳＢフラッシュメモリ６にライセンスデータＬＤを記憶しておく場合を例に説明したが、サーバでライセンスデータＬＤを一元管理し、ネットワークへのログインによりライセンスを認証するようにしてもよい。
【００８７】
本実施形態では、学校のＰＣ教室に設けられているＰＣ教室ネットワーク１を例に説明したが、本発明は、学校以外に設けられている複数台の端末装置によって構成されるネットワークシステムにも適用可能である。例えば、企業の研修室およびインターネットカフェなどにも適用可能である。
【００８８】
本実施形態では、端末装置２としてパーソナルコンピュータを用いる場合を例に説明したが、ＰＤＡ（personal digital assistant）または携帯電話などを用いてもよい。
【００８９】
その他、ＰＣ教室ネットワーク１、端末装置２の全体または各部の構成、処理内容、処理順序などは、本発明の趣旨に沿って適宜変更することができる。
【図面の簡単な説明】
【００９０】
【図１】ＰＣ教室ネットワークの全体的な構成の例を示す図である。
【図２】端末装置のハードウェア構成の例を示す図である。
【図３】端末装置の機能的構成の例を示す図である。
【図４】メニュー画面の例を示す図である。
【図５】インストール処理部の構成の例を示す図である。
【図６】必要データ提供部の構成の例を示す図である。
【図７】アプリケーションソフトを取得してインストールするための処理の流れの例を説明するフローチャートである。
【図８】アプリケーションソフトを他の端末装置に提供するための処理の流れの例を説明するフローチャートである。
【図９】選択アプリケーションソフトを終了した後の処理の流れの例を説明するフローチャートである。
【図１０】選択アプリケーションソフトの実行を禁止するための処理の流れの例を説明するフローチャートである。
【図１１】ユーザに使用される際の端末装置の全体的な処理の流れの例を説明するフローチャートである。
【図１２】アプリケーションソフトのやり取りの処理の流れの変形例を説明するフローチャートである。
【符号の説明】
【００９１】
１  ＰＣ教室ネットワーク（ネットワークシステム）
２  端末装置（コンピュータ）
２ａ  端末装置（第一のコンピュータ）
２ｂ  端末装置（第二のコンピュータ）
２０２  アプリケーション存否判定部（プログラム存否判定手段）
２０３  インストール処理部（データ取得手段、インストール手段）
２０４  必要データ提供部（必要データ提供手段）
２０６  後処理部（検出手段、削除手段）
２３４  必要データ受信部（データ取得手段）
２３５  インストール実行部（インストール手段）
ＮＤ  プログラムファイル（必要なデータ）
【図１】
0005109656.tif 000002
【図２】
0005109656.tif 000003
【図３】
0005109656.tif 000004
【図４】
0005109656.tif 000005
【図５】
0005109656.tif 000006
【図６】
0005109656.tif 000007
【図７】
0005109656.tif 000008
【図８】
0005109656.tif 000009
【図９】
0005109656.tif 000010
【図１０】
0005109656.tif 000011
【図１１】
0005109656.tif 000012
【図１２】
0005109656.tif 000013