(57)【要約】【課題】プログラム提供サーバからプログラムの提供を受けるクライアント端末の無駄な通信によって発生するトラフィックを軽減する。【解決手段】プログラム提供サーバ２０ａ〜２０ｃが提供するプログラムの識別子とプログラムの記憶位置とを関連付けるレコードを含む提供プログラムデータ１３１と、クライアント端末の識別子とクライアント端末が提供を希望するプログラムの識別子とを関連付けるレコードを含むリクエストデータ１３２とから、一致するプログラムの識別子を検索する検索ステップと、一致するプログラムの識別子が検索されると、リクエストデータで一致するプログラムの識別子に関連付けられる識別子のクライアント端末３０ａ〜３０ｃに、提供プログラムデータで一致するプログラムの識別子と関連付けられる記憶位置を含むデータを送信する送信ステップとをコンピュータに実行させる。【選択図】  図１
2009129060.tif 000002
【特許請求の範囲】
【請求項１】
クライアント端末と、予め記憶装置に記憶されるプログラムを前記クライアント端末に提供するプログラム提供サーバとに接続され、前記クライアント端末からのリクエストに応じて前記プログラムの記憶位置を含むデータを前記クライアント端末に送信する管理装置で用いられる管理プログラムであって、
前記プログラム提供サーバが提供するプログラムの識別子と前記プログラムの記憶位置とを関連付けるレコードを含む提供プログラムデータと、クライアント端末の識別子と前記クライアント端末が提供を希望するプログラムの識別子とを関連付けるレコードを含むリクエストデータとから、一致するプログラムの識別子を検索する検索ステップと、
一致するプログラムの識別子が検索されると、前記リクエストデータで前記一致するプログラムの識別子に関連付けられる識別子の前記クライアント端末に、前記提供プログラムデータで前記一致するプログラムの識別子と関連付けられる前記記憶位置を含むデータを送信する送信ステップと、
をコンピュータに実行させることを特徴とする管理プログラム。
【請求項２】
前記プログラム提供サーバから、プログラムの識別子及び前記プログラムの記憶位置を含む登録リクエストを受信する受信ステップと、
前記プログラムの識別子及び前記記憶位置を関連付けたレコードを追加して前記提供プログラムデータを更新する登録処理ステップと、
を備えることを特徴とする請求項１に記載の管理プログラム。
【請求項３】
前記クライアント端末から、プログラムの識別子を含む検索リクエストを受信する受信ステップと、
前記クライアント端末の識別子及び前記プログラムの識別子を関連付けたレコードを追加して前記リクエストデータを更新する登録処理ステップと、
を備えることを特徴とする請求項１又は２に記載の管理プログラム。
【請求項４】
前記プログラム提供サーバから、プログラムの識別子を含む中止通知を受信する受信ステップと、
前記プログラムの識別子を含むレコードを削除して前記提供プログラムデータを更新する中止登録処理ステップと、
前記リクエストデータが前記プログラムの識別子を含むレコードを記憶しているとき、前記プログラムの提供が中止された旨の通知を、前記レコードで前記プログラムの識別子に関連付けられる識別子のクライアント端末に送信する送信ステップと、
を備えることを特徴とする請求項１乃至３のいずれか１に記載の管理プログラム。
【請求項５】
クライアント端末と、予め記憶装置に記憶されるプログラムを前記クライアント端末に提供するプログラム提供サーバとに接続され、前記クライアント端末からのリクエストに応じて前記プログラムの記憶位置を含むデータを前記クライアント端末に送信する管理装置であって、
プログラム提供サーバが提供するプログラムの識別子と前記プログラムの記憶位置とを関連付けるレコードを含む提供プログラムデータを記憶する提供プログラムデータ記憶部と、
クライアント端末の識別子と前記クライアント端末が提供を希望するプログラムの識別子とを関連付けるレコードを含むリクエストデータを記憶するリクエストデータ記憶部と、前記提供プログラムデータと前記リクエストデータとから一致するプログラムの識別子を検索する検索部と、
前記検索部において一致するプログラムの識別子が検索されると、前記リクエストデータで前記一致するプログラムの識別子に関連付けられる識別子の前記クライアント端末に、前記提供プログラムデータで前記一致するプログラムの識別子と関連付けられる前記記憶位置を含むデータを送信する送信部と、
を備えることを特徴とする管理装置。
【請求項６】
前記プログラム提供サーバから、プログラムの識別子及び前記プログラムの記憶位置を含む登録リクエストを受信するサーバデータ受信部と、
前記プログラムの識別子及び前記記憶位置を関連付けたレコードを追加して前記提供プログラムデータを更新するサーバ登録処理部と、
を備えることを特徴とする請求項５に記載の管理装置。
【請求項７】
前記クライアント端末から、プログラムの識別子を含む検索リクエストを受信するクライアントデータ受信部と、
前記クライアント端末の識別子及び前記プログラムの識別子を関連付けたレコードを追加して前記リクエストデータを更新するクライアント登録処理部と、
を備えることを特徴とする請求項５又は６に記載の管理装置。
【請求項８】
前記プログラム提供サーバから、プログラムの識別子を含む中止通知を受信するサーバデータ受信部と、
前記プログラムの識別子を含むレコードを削除して前記提供プログラムデータを更新する中止登録処理部と、
前記リクエストデータが前記プログラムの識別子を含むレコードを記憶しているとき、前記プログラムの提供が中止された旨の通知を、前記レコードで前記プログラムの識別子に関連付けられる識別子のクライアント端末に送信する送信部と、
を備えることを特徴とする請求項５乃至７のいずれか１に記載の管理装置。
【請求項９】
クライアント端末と、予め記憶装置に記憶されるプログラムを前記クライアント端末に提供するプログラム提供サーバとに接続され、前記クライアント端末からのリクエストに応じて前記プログラムの記憶位置を含むデータを前記クライアント端末に送信する管理装置で実行される管理方法であって、
前記プログラム提供サーバが提供するプログラムの識別子と前記プログラムの記憶位置とを関連付けるレコードを含む提供プログラムデータと、前記クライアント端末の識別子と前記クライアント端末が提供を希望するプログラムの識別子とを関連付けるレコードを含むリクエストデータとから、一致するプログラムの識別子を検索する検索ステップと、
一致するプログラムの識別子が検索されると、前記リクエストデータで前記一致するプログラムの識別子に関連付けられる識別子の前記クライアント端末に、前記提供プログラムデータで前記一致するプログラムの識別子と関連付けられる前記記憶位置を含むデータを送信する送信ステップと、
を備えることを特徴とする管理方法。
【請求項１０】
前記プログラム提供サーバから、プログラムの識別子及び前記プログラムの記憶位置を含む登録リクエストを受信する受信ステップと、
前記プログラムの識別子及び前記記憶位置を関連付けたレコードを追加して前記提供プログラムデータを更新する登録処理ステップと、
を備えることを特徴とする請求項９に記載の管理方法。
【請求項１１】
前記クライアント端末から、プログラムの識別子を含む検索リクエストを受信するクライアントデータ受信ステップと、
前記クライアント端末の識別子及び前記プログラムの識別子を関連付けたレコードを追加して前記リクエストデータを更新する登録処理ステップと、
を備えることを特徴とする請求項９又は１０に記載の管理方法。
【請求項１２】
前記プログラム提供サーバから、プログラムの識別子を含む中止通知を受信する受信ステップと、
前記プログラムの識別子を含むレコードを削除して前記提供プログラムデータを更新する登録処理ステップと、
前記リクエストデータが前記プログラムの識別子を含むレコードを記憶しているとき、前記プログラムの提供が中止された旨の通知を、前記レコードで前記プログラムの識別子に関連付けられる識別子のクライアント端末に送信する送信ステップと、
を備えることを特徴とする請求項９乃至１１のいずれか１に記載の管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム提供サーバからプログラムの提供を受けるクライアント端末の無駄な通信によって発生するトラフィックを軽減する管理プログラム、管理装置及び管理方法に関する。
【背景技術】
【０００２】
従来、分散オブジェクト環境等のように、クライアント装置が、ネットワークを介して接続されるサーバ（プログラム提供サーバ）にアクセスし、プログラム提供サーバに記憶されているプログラムを利用する技術がある。このようなプログラム提供サーバでは、記憶装置に複数のプログラムを記憶しており、クライアント端末からの要求に応じて記憶装置に記憶されるプログラムをクライアント端末に提供している。
【０００３】
このとき、クライアント端末では、使用を希望するプログラム名などの識別情報を把握していても、プログラムが記録されているロケーション（記憶位置）を把握していないことが多い。プログラムの記憶位置を把握していないクライアント端末は、プログラム取得の際にアクセス先が不明であり、プログラムの取得が困難となる。
【０００４】
これに対し、従来はネーミングサービス等の技術が利用されていた（例えば、特許文献１参照）。
【０００５】
従来のシステムの一例について、図８を用いて説明する。クライアント端末７０には、図８に示すように、プログラム提供サーバ６０と管理装置５０とが接続されている。管理装置５０は、ネームサーバとして一般的に知られている装置であり、プログラム提供サーバ６０が提供するプログラムの識別子であるプログラム名と、プログラムの記憶位置とのリストを管理している。クライアント端末７０は、プログラムを利用しようとするとき、管理装置５０からプログラムの記憶位置を取得した後、プログラム提供サーバ６０にアクセスしてプログラムを利用している。
【０００６】
しかしながら、従来の方法では、クライアント端末７０は、定期的に管理装置５０にアクセスしないと最新の情報を得ることができない問題があった。
【０００７】
例えば、図９に示すように、従来のシステムでは、管理装置５０が、プログラムの記憶位置が登録される前にクライアント端末７０から検索リクエストを受信すると（Ｓ３０１）、記憶位置を検索することができず（Ｓ３０２）、検索結果としてエラー通知を送信する（Ｓ３０３）。
【０００８】
その後、管理装置５０にプログラムの記憶位置が登録されても（Ｓ３０４）、クライアント端末７０から再び検索リクエストが送信されるまで（Ｓ３０５）、管理装置５０からクライアント端末７０に記憶位置は通知されない（Ｓ３０６）。したがって、クライアント端末７０は、プログラムの利用を希望する場合には、記憶位置を取得できるまで複数回、管理装置５０に検索リクエストを送信しなければプログラムを実行することはできなかった。
【０００９】
また、図１０に示すように、プログラム提供サーバ６０がハードウェア障害等によって異常を検知し（Ｓ４０１）、管理装置５０にプログラムの提供を中止する中止通知を送信したとき（Ｓ４０２）、管理装置５０は、提供が中止されたプログラムの記憶位置をリストから削除する（Ｓ４０３）。
【００１０】
しかし、異常が検知される前に既に記憶位置を取得していたクライアント端末７０では、プログラムの中止を知らないため、異常検知の前に取得した記憶位置を利用して提供リクエストを送信する。しかし、プログラム提供サーバ６０で異常が発生していると、クライアント端末７０は、プログラム提供サーバ６０に複数回アクセスを試みても成功しない問題があった（Ｓ４０４〜Ｓ４０６）。
【００１１】
また、プログラム提供サーバ６０が、異常を解決し（Ｓ４０７）、前回とは他の記憶位置にプログラムを記録して登録リクエストが送信されたとき（Ｓ４０８）、管理装置５０は、新たな記憶位置を登録する（Ｓ４０９）。
【００１２】
しかし、このときにもクライアント端末７０は、記憶位置の変更を知らないため、ステップＳ４０４〜Ｓ４０６と同一の記憶位置にアクセスを試みても成功しない問題があった（Ｓ４１０〜Ｓ４１２）。
【特許文献１】特開２００６−３２３７８６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
上述したように、従来の方法では、クライアント端末７０は、プログラム提供サーバ６０から利用を希望するプログラムが提供されるまで、複数回の管理装置５０及びプログラム提供サーバ６０へアクセスする必要があった。したがって、クライアント端末７０からのアクセスが多くなり、ネットワーク４０におけるトラフィックの混雑が問題となることがあった。
【００１４】
上記課題に鑑み、本発明は、プログラム提供サーバからプログラムの提供を受けるクライアント端末の無駄な通信によって発生するトラフィックを軽減する管理プログラム、管理装置及び管理方法を提供する。
【課題を解決するための手段】
【００１５】
本発明の特徴に係る管理プログラムは、クライアント端末と、予め記憶装置に記憶されるプログラムをクライアント端末に提供するプログラム提供サーバとに接続され、クライアント端末からのリクエストに応じてプログラムの記憶位置を含むデータをクライアント端末に送信する管理装置で用いられる管理プログラムであって、プログラム提供サーバが提供するプログラムの識別子とプログラムの記憶位置とを関連付けるレコードを含む提供プログラムデータと、クライアント端末の識別子とクライアント端末が提供を希望するプログラムの識別子とを関連付けるレコードを含むリクエストデータとから、一致するプログラムの識別子を検索する検索ステップと、一致するプログラムの識別子が検索されると、リクエストデータで一致するプログラムの識別子に関連付けられる識別子のクライアント端末に、提供プログラムデータで一致するプログラムの識別子と関連付けられる記憶位置を含むデータを送信する送信ステップとをコンピュータに実行させる。
【発明の効果】
【００１６】
本発明によれば、プログラム提供サーバからプログラムの提供を受けるクライアント端末の無駄な通信によって発生するトラフィックを軽減することができる。
【発明を実施するための最良の形態】
【００１７】
〈プログラム提供システム〉
図１に示すように、本発明の最良の実施形態に係るプログラム提供システム１は、管理装置１０と、複数のプログラム提供サーバ２０ａ〜２０ｃと、複数のクライアント端末３０ａ〜３０ｃがネットワーク４０を介して接続されている。管理装置１０は、プログラム提供サーバ２０ａ〜２０ｃがクライアント端末３０ａ〜３０ｃで使用を希望するプログラムを提供しているとき、プログラムの記憶位置を通知する。クライアント端末３０ａ〜３０ｃは、管理装置１０から取得した記憶位置に基づいてプログラム提供サーバ２０ａ〜２０ｃにアクセスしてプログラムを実行する。
【００１８】
図１に示すプログラム提供システム１は、それぞれ３台のプログラム提供サーバ２０ａ〜２０ｃとクライアント端末３０ａ〜３０ｃとを備えているが、プログラム提供システム１が備えるプログラムサーバおよびクライアント端末の数は３台に限られない。
【００１９】
《プログラム提供サーバ》
プログラム提供サーバ２０ａは、複数のプログラムａ１，ａ２・・・を記憶する記憶装置を備えている。
【００２０】
プログラム提供サーバ２０ａは、所定のタイミングで管理装置１０に対し、ネットワーク４０を介してプログラム提供サーバ２０ａが提供するプログラムの記憶位置（ロケーション）の登録を要求する「登録リクエスト」を送信する。所定のタイミングとは、オフにされていた電源がオンにされてスタートアップしたタイミングや記憶装置に新たなプログラムが記憶された等のプログラム提供が準備されたタイミングである。また、プログラムの記憶位置には、プログラム提供サーバ２０ａにおけるプログラムの記憶位置とともに、サーバにアクセスするためのＩＰアドレスやポート番号を含むデータである。
【００２１】
また、プログラム提供サーバ２０ａは、管理装置１０に対し、プログラム提供サーバ２０ａが提供を中止するプログラムの記憶位置を削除する「中止通知」を送信する。例えば、プログラム提供サーバ２０ａに障害が発生したとき、プログラム提供サーバ２０ａの通信部（図示せず）はネットワーク４０を介して管理装置１０に中止通知を送信する。ここで、プログラム提供サーバ２０ａは、予め有している障害通知手段等を利用して障害の発生を検知することができる。障害の発生とは、例えば、ハードウェア障害の発生などであり、所定期間経過後には再起動等により、プログラム提供サーバ２０ａは復旧する。
【００２２】
さらに、プログラム提供サーバ２０ａは、クライアント端末３０ａ〜３０ｃからプログラムのリクエストを受信すると、リクエストされたプログラムをクライアント端末３０ａ〜３０ｃに提供する。例えば、プログラム提供サーバ２０ａは、リクエストされた記憶装置（図示せず）から読み出してネットワーク４０を介して送信し、クライアント端末３０ａ〜３０ｃ上でプログラムを実行させてもよいし、クライアント端末３０ａ〜３０ｃがプログラム提供サーバ２０ａにアクセスしてプログラム提供サーバ２０ａ上でプログラムを実行するようにしても良い。
【００２３】
プログラム提供サーバ２０ｂ，２０ｃもプログラム提供サーバ２０ａと同一の構成であるため、ここでは説明を省略する。また、以下の説明では、主にプログラム提供サーバ２０ａを用いて説明するが、適宜、他のプログラム提供サーバ２０ｂ，２０ｃに置き換えても同様である。
【００２４】
《クライアント端末》
クライアント端末３０ａ〜３０ｃは、図示を用いた説明を省略するが、中央処理装置、記憶装置、通信インタフェース、キーボードやマウス等の入力装置、ディスプレイ等の表示装置を備える一般的なコンピュータである。
【００２５】
クライアント端末３０ａ〜３０ｃは、クライアントによって入力される操作に従って、プログラム提供サーバ２０ａ〜２０ｃにアクセスしてプログラムを利用する。その際、クライアント端末３０ａ〜３０ｃは、まず、管理装置１０から提供を受けたいプログラムの記憶位置を取得し、取得した記憶位置にアクセスすることで、プログラムの利用が可能となる。
【００２６】
以下の説明では、主にクライアント端末３０ａを用いて説明するが、適宜、他のクライアント端末３０ｂ，３０ｃに置き換えても同様である。
【００２７】
《管理装置》
管理装置１０は、図１に示すように通信インタフェース１１、中央処理装置１２及び記憶装置１３を有している。具体的には、通信インタフェース１１は、サーバデータ受信部１１１、クライアントデータ受信１１２及びサーバデータ送信部１１３を備えている。また、中央処理装置１２は、サーバ登録処理部１２１、クライアント検索処理部１２２、クライアント登録処理部１２３、サーバ検索処理部１２４、中止処理部１２５、中止検索処理部１２６及び更新処理部１２７を備えている。さらに、記憶装置１３は、提供プログラムデータ１３１及びリクエストデータ１３２を記憶している。
【００２８】
提供プログラムデータ１３１は、図２に一例を示すように、プログラムの識別子であるプログラム名に、プログラムが記憶される記憶位置（ロケーション）を関連付けるレコードを有するデータである。この提供プログラムデータ１３１で記憶されるプログラムの識別子は、管理装置１０とネットワーク４０を介して接続されるいずれかのプログラム提供サーバ２０ａ〜２０ｃが提供するプログラムの識別子である。また、記憶位置は、上述したように、プログラム提供サーバ２０ａ〜２０ｃにおけるプログラムの記憶位置とともに、サーバにアクセスするためのＩＰアドレスやポート番号を含むデータである。プログラム提供サーバ２０ａがプログラムの提供を終了すると、提供を中止したプログラムの識別子を含むレコードは、提供プログラムデータ１３１から削除される。
【００２９】
リクエストデータ１３２は、図３に一例を示すように、プログラムの識別子であるプログラム名に、プログラムの使用を希望するクライアント端末３０ａ〜３０ｃの識別子を関連付けるレコードを有するデータである。例えば、図３に示すリクエストデータ１３２によれば、「クライアントＡ」は「プログラムａ１」の利用を希望し、「クライアントＢ」は「プログラムｃ１」の利用を希望し、「クライアントＣ」は「プログラムｘ」の利用を希望していることが分かる。
【００３０】
サーバデータ受信部１１１は、プログラム提供サーバ２０ａから送信される「登録リクエスト」や「中止通知」を、ネットワーク４０を介して受信する。ここで、サーバデータ受信部１１１が受信する「登録リクエスト」は、プログラム提供サーバ２０ａが提供するプログラムの識別子であるプログラム名と、プログラムの記憶位置である記憶位置を含み、管理装置１０の提供プログラムデータ１３１への登録を要求する。また、サーバデータ受信部１１１が受信する「中止通知」は、プログラム名と、プログラムの記憶位置を含み、管理装置１０によるプログラムの提供の中止を通知する。
【００３１】
クライアントデータ受信部１１２は、クライアント端末３０ａから送信される「検索リクエスト」や「更新通知」を、ネットワーク４０を介して受信する。ここで、クライアントデータ受信部１１２が受信する「検索リクエスト」は、プログラム名とクライアント端末の識別子を含み、クライアント端末３０ａが利用を希望するプログラムの記憶位置の検索を要求する。また、クライアントデータ受信部１１２が受信する「更新通知」は、プログラム名と、クライアント端末の識別子を含み、クライアント端末３０ａによるプログラムの利用の終了を通知する。
【００３２】
サーバ登録処理部１２１は、サーバデータ受信部１１１が受信した登録リクエストに含まれるプログラム名及び記憶位置を含むレコードを追加して提供プログラムデータ１３１を更新する。
【００３３】
クライアント検索処理部１２２は、提供プログラムデータ１３１に新たなレコードが追加されると、追加されたレコードが含むプログラム名がリクエストデータ１３２で記憶されているか否かを検索する。また、リクエストデータ１３２から該当するレコードが検索されると、クライアント検索処理部１２２は、検索結果に基づいて「サーバデータ」を生成し、サーバデータ送信部１１３に出力する。このときクライアント検索処理部１２２が生成する「サーバデータ」は、提供プログラムデータ１３１に追加されたレコードに含まれるプログラム名と記憶位置とを含み、クライアント端末３０ａに希望しているプログラムの記憶位置を通知するデータである。
【００３４】
クライアント登録処理部１２３は、クライアントデータ受信部１１２が受信した検索リクエストに含まれるプログラム名及びクライアント端末の識別子を含むレコードを追加してリクエストデータ１３２を更新する。
【００３５】
サーバ検索処理部１２４は、リクエストデータ１３２に新たなレコードが追加されると、追加されたレコードが含むプログラム名が提供プログラムデータ１３１で記憶されているか否かを検索する。また、提供プログラムデータ１３１から該当するレコードが検索されると、サーバ検索処理部１２４は、検索結果に基づいて「サーバデータ」を生成し、サーバデータ送信部１１３に出力する。このときサーバ検索処理部１２４が生成する「サーバデータ」は、提供プログラムデータ１３１から検索されたレコードに含まれるプログラム名と記憶位置とを含み、クライアント端末３０ａに希望しているプログラムの記憶位置を通知するデータである。
【００３６】
中止通知処理部１２５は、サーバデータ受信部１１１が受信した中止通知に含まれるプログラム名及び記憶位置を含むレコードを提供プログラムデータ１３１から削除して、提供プログラムデータ１３１を更新する。
【００３７】
中止検索処理部１２６は、提供プログラムデータ１３１からレコードが削除されると、削除されたレコードが含むプログラム名がリクエストデータ１３２で記憶されているか否かを検索する。また、中止検索処理部１２６は、検索結果に基づいて「サーバデータ」を生成し、サーバデータ送信部１１３に出力する。このとき中止検索処理部１２６が生成する「サーバデータ」は、提供プログラムデータ１３１から削除されたレコードに含まれるプログラム名と記憶位置を含み、クライアント端末３０ａが利用しているプログラムの提供が中止された旨を通知する。
【００３８】
更新処理部１２７は、クライアントデータ受信部１１２が受信した更新通知に含まれるプログラム名及びクライアント端末の識別子を含むレコードをリクエストデータ１３２から削除して、リクエストデータ１３２を更新する。
【００３９】
サーバデータ送信部１１３は、クライアント検索処理部１２２、サーバ検索処理部１２４及び中止検索処理部１２６から入力した「サーバデータ」を該当するクライアント端末３０ａに送信する。
【００４０】
続いて、図４〜図６に示すシーケンス図を用いて、プログラム提供システム１における処理を説明する。
【００４１】
図４は、先に、プログラム提供サーバ２０ａから管理装置１０に登録されているプログラムの検索が、クライアント端末３０ａから要求された場合の処理の一例を説明するシーケンス図である。
【００４２】
まず、プログラム提供サーバ２０ａから管理装置１０に登録リクエストが送信されると（Ｓ００１）、登録リクエストを受信したサーバデータ受信部１１１は、登録リクエストを中央処理装置１２のサーバ登録処理部１２１に出力する（Ｓ００２）。
【００４３】
サーバ登録処理部１２１は、登録リクエストに含まれるプログラム名及び記憶位置を含むレコードを提供プログラムデータ１３１に追加する（Ｓ００３）。また、クライアント検索処理部１２２は、リクエストデータ１３２を参照し、登録されたプログラムの使用を希望するクライアント端末を検索する（Ｓ００４）。ここで、登録されたプログラムの使用を希望するクライアント端末がリクエストデータ１３２に登録されていないとき、次のリクエストを受信するまで、中央処理装置１２は待機状態となる。
【００４４】
続いて、クライアント端末３０ａから管理装置１０に検索リクエストが送信されると（Ｓ００５）、検索リクエストを受信したクライアントデータ受信部１１２は、検索リクエストを中央処理装置１２のクライアント登録処理部１２３に出力する（Ｓ００６）。
【００４５】
クライアント登録処理部１２３は、検索リクエストに含まれるプログラム名及びクライアント端末の識別子を含むレコードをリクエストデータ１３２に追加する（Ｓ００７）。また、サーバ検索処理部１２４は、提供プログラムデータ１３１を参照し、要求されたプログラムを提供するプログラム提供サーバ２０ａの記憶位置を検索する（Ｓ００８）。
【００４６】
ここで、検索リクエストで要求されたプログラムを提供するサーバの記憶位置が検索されると、サーバ検索処理部１２４は、記憶位置を含むサーバデータを生成してサーバデータ送信部１１３に出力する（Ｓ００９）。また、サーバデータ送信部１１３は、入力したサーバデータをステップＳ００５で検索リクエストを送信したクライアント端末３０ａに送信する（Ｓ０１０）。
【００４７】
サーバデータを受信したクライアント端末３０ａは、プログラム提供サーバ２０ａに提供リクエストを送信し、サーバデータに含まれる記憶位置で記憶しているプログラムの提供を要求する（Ｓ０１１）。
【００４８】
プログラム提供サーバ２０ａは、提供リクエストに含まれる記憶位置に記録されているプログラムを読み出して、クライアント端末３０ａに送信する（Ｓ０１２）。
【００４９】
その後、クライアント端末３０ａは、ステップＳ０１２で受信したプログラムの使用が終了すると、管理装置１０に終了通知を送信する（Ｓ０１３）。
【００５０】
終了通知を受信したクライアントデータ受信部１１２は、終了通知を中央処理装置１２の更新処理部１２７に出力する（Ｓ０１４）。更新処理部１２７は、入力した終了通知に含まれるプログラム名とクライアント端末の識別子が関連付けられるレコードをリクエストデータ１３２から削除する（Ｓ０１５）。
【００５１】
図５は、図４の場合と異なり、先に、クライアント端末３０ａから記憶位置の検索が要求されたプログラムが、プログラム提供サーバ２０ａから管理装置１０に登録された場合の処理の一例を説明するシーケンス図である。
【００５２】
まず、クライアント端末３０ａから管理装置１０に検索リクエストが送信されると（Ｓ１０１）、クライアントデータ受信部１１２は、検索リクエストをクライアント登録処理部１２３に出力する（Ｓ１０２）。
【００５３】
クライアント登録処理部１２３は、入力した検索リクエストに含まれるプログラム名及びクライアント端末の識別子を含むレコードをリクエストデータ１３２に追加する（Ｓ１０３）。また、サーバ検索処理部１２４は、検索が要求されたプログラムの記憶位置を検索する（Ｓ１０４）。ここで、検索が要求されたプログラムの記憶位置が提供プログラムデータ１３１に登録されていないとき、次のリクエストを受信するまで、中央処理装置１２は待機状態となる。なお、ステップＳ１０１〜Ｓ１０４の処理は、図４を用いて上述したステップＳ００５〜Ｓ００８までの処理と同一である。
【００５４】
続いて、プログラム提供サーバ２０ａから管理装置１０に登録リクエストが送信されると（Ｓ１０５）、サーバデータ受信手段１１１は、登録リクエストをサーバ登録処理部１２１に出力する（Ｓ１０６）。
【００５５】
サーバ登録処理部１２１は、入力した登録リクエストに基づいて提供プログラムデータ１３１を更新する（Ｓ１０７）。また、クライアント検索処理部１２２は、登録されたプログラムの利用を要求するクライアント端末を検索する（Ｓ１０８）。
【００５６】
ここで、登録リクエストにより登録されたプログラムの利用を要求するクライアント端末３０ａが検索されると、クライアント検索処理部１２２は、プログラムの記憶位置を含むサーバデータを生成してサーバデータ送信部１１３に出力する（Ｓ１０９）。また、サーバデータ送信部１１３は、入力したサーバデータをステップＳ１０８で検索されたクライアント端末３０ａに送信する（Ｓ１１０）。なお、ステップＳ１０５〜Ｓ１０９の処理は、図４を用いて上述したステップＳ００１〜Ｓ０１０までの処理と同一である。
【００５７】
その後、ステップＳ１１１〜Ｓ１１５において、図４のステップＳ０１１〜Ｓ０１５で上述した処理と同様の処理により、クライアント端末３０ａはプログラムを取得して実行した後に、終了通知がされる。
【００５８】
図６は、既にクライアント端末３０ａにプログラムを提供していたプログラム提供サーバ２０ａで異常が検知されて一度プログラムの提供が中止となった後、再び提供が開始される場合の一例を説明するシーケンス図である。
【００５９】
まず、クライアント端末３０ａからステップＳ２０１において送信される提供リクエストに応じて、プログラムを提供しているプログラム提供サーバにおいて（Ｓ２０２）、異常が検知されたとする（Ｓ２０３）。異常を検知したプログラム提供サーバ２０ａは、管理装置１０に中止通知を送信する（Ｓ２０４）。
【００６０】
中止通知を受信したサーバデータ受信部１１１は、中止通知を中止登録処理部１２５に出力する（Ｓ２０５）。中止登録処理部１２６は、入力した中止通知が含むプログラム名及び記憶位置を含むレコードを提供プログラムデータ１３１から削除する（Ｓ２０６）。
【００６１】
また、中止検索処理部１２６は、リクエストデータ１３２から提供が中止されたプログラムの使用を希望するクライアント端末３０ａを検索する（Ｓ２０７）。このとき、該当するクライアント端末３０ａが検索されると、中止検索処理部１２６は、中止通知を生成し、サーバデータ送信部１１３に出力する（Ｓ２０８）。また、サーバデータ送信部１１３は、入力した中止通知をステップＳ２０７で検索されたクライアント端末３０ａに送信する（Ｓ２０９）。
【００６２】
その後、ステップＳ２０３で検知した異常を解決すると（Ｓ２１０）、ステップＳ２０４で送信した中止通知で通知されたプログラムの提供が再び可能となる。したがって、プログラム提供サーバ２０ａは、管理装置１０に登録リクエストを送信する（Ｓ２１１）。
【００６３】
登録リクエストを受信したサーバデータ受信部１１１は、登録リクエストをサーバ登録処理部１２１に出力する（Ｓ２１２）。
【００６４】
その後、ステップＳ２１３〜Ｓ２２１において、図４のステップＳ００７〜Ｓ０１５で上述した処理と同様の処理により、クライアント端末３０ａにおいてプログラムが実行され、終了する。
【００６５】
管理装置１０では、例えば図７に示すようなＣＯＲＢＡを導入したプログラムを利用することによって、図４乃至図６で上述したように各処理が実行される。例えば、ＣＯＲＢＡを利用することによって、他の技術を利用する場合と比較して、システムの実現が容易となる。
【００６６】
上述したように、本発明の最良の実施形態に係る管理装置１０では、プログラム提供サーバ２０ａが提供するプログラムに関する提供プログラムデータ１３１とともに、プログラムの提供を受けたいクライアント端末３０ａに関するリクエストデータ１３２を記憶している。
【００６７】
したがって、いずれかのプログラム提供サーバ２０ａからリクエストデータ１３２で記憶されているプログラム名のプログラムの提供が開始されると、管理装置１０は、最新のプログラムの記憶位置を該当するクライアント端末３０ａに通知する。また、プログラムの提供が中止されると、管理装置１０は、プログラムの中止を該当するクライアント端末３０ａに通知する。これにより、クライアント端末３０ａは、プログラムが提供されている場合にのみプログラム提供サーバ２０ａにアクセスすることが可能となり、管理装置１０に複数回アクセスすることが必要なくなるため、ネットワーク４０におけるトラフィックを軽減することができる。
【００６８】
また、プログラムの提供を希望していたクライアント端末３０ａは、プログラムの利用を終了すると、管理装置１０にプログラムの利用の終了を通知する。これにより、管理装置１０は、プログラムの利用を終了したクライアント端末２０ａには、最新のプログラムの記憶位置を通知する必要が無くなるため、ネットワーク４０におけるトラフィックを軽減することができる。
【図面の簡単な説明】
【００６９】
【図１】本発明の最良の実施形態に係る管理装置を説明する機能ブロック図である。
【図２】図１の管理装置が利用する提供プログラムデータの一例である。
【図３】図１の管理装置が利用するリクエストデータの一例である。
【図４】図１の管理装置、プログラム提供サーバ及びクライアント端末における処理の一例を説明するシーケンス図である。
【図５】図１の管理装置、プログラム提供サーバ及びクライアント端末における処理の他の例を説明するシーケンス図である。
【図６】図１の管理装置、プログラム提供サーバ及びクライアント端末における処理の他の例を説明するシーケンス図である。
【図７】図１の管理装置が利用するプログラムの一例である。
【図８】従来の管理装置について説明する概念図である。
【図９】図８の管理装置、プログラム提供サーバ及びクライアント端末における処理の一例を説明するシーケンス図である。
【図１０】図８の管理装置、プログラム提供サーバ及びクライアント端末における処理の一例を説明するシーケンス図である。
【符号の説明】
【００７０】
１…プログラム提供システム
１０…管理装置
１１…通信インタフェース（通信Ｉ／Ｆ）
１２…中央処理装置
１１１…サーバデータ受信部
１１２…クライアントデータ受信部
１１３…サーバデータ送信部（送信部）
１２１…サーバ登録処理部
１２２…クライアント検索処理部（検索部）
１２３…クライアント登録処理部
１２４…サーバ検索処理部（検索部）
１２５…中止通知処理部
１２５…更新処理部
１２６…中止検索処理部
１２７…更新処理部
１３…記憶装置（提供プログラムデータ記憶部、リクエストデータ記憶部）
１３１…提供プログラムデータ
１３２…リクエストデータ
２０ａ〜２０ｃ…プログラム提供サーバ
３０ａ〜３０ｃ…クライアント端末
４０…ネットワーク
【図１】
2009129060.tif 000003
【図２】
2009129060.tif 000004
【図３】
2009129060.tif 000005
【図４】
2009129060.tif 000006
【図５】
2009129060.tif 000007
【図６】
2009129060.tif 000008
【図７】
2009129060.tif 000009
【図８】
2009129060.tif 000010
【図９】
2009129060.tif 000011
【図１０】
2009129060.tif 000012