(57)【特許請求の範囲】
【請求項１】
ネットワーク上の端末装置と通信可能で、サーバ機能を提供するプログラムを実行可能な端末装置であって、
ネットワーク上にサーバ機能を提供するプログラムを実行している端末装置があるか否かを判定する判定手段と、
前記判定手段によってサーバ機能を提供するプログラムを実行している端末装置があると判定された場合に、該サーバ機能を提供するプログラムに対して処理要求を行う第１の要求手段と、
前記判定手段によってサーバ機能を提供するプログラムを実行している端末装置がないと判定された場合自端末装置が有するサーバ機能を提供するプログラムを実行する第１の実行手段と、
前記判定手段によってサーバ機能を提供するプログラムを実行している端末装置がないと判定された場合、前記第１の実行手段によって実行されたサーバ機能を提供するプログラムに対して処理要求を行う第２の要求手段と、
を有することを特徴とする端末装置。
【請求項２】
前記第１の実行手段によってサーバ機能を提供するプログラムを実行した自端末装置をサーバとして前記ネットワーク上の端末装置によって利用可能に登録する登録手段をさらに有することを特徴とする請求項１記載の端末装置。
【請求項３】
前記第２の要求手段によって要求された処理を前記自端末装置が有するサーバ機能を提供するプログラムを用いて実行する第２の実行手段と、
前記第２の実行手段によって前記処理が実行された後に前記サーバ機能を提供するプログラムを終了させる制御手段と、
をさらに有することを特徴とする請求項１又は２記載の端末装置。
【請求項４】
前記サーバ機能を提供するプログラムは、サービス情報を提供するネットワーク上の資源へのアクセス権を管理することを特徴とする請求項１乃至３記載の端末装置。
【請求項５】
前記サーバ機能を提供するプログラムは、前記資源へのアクセス権を排他的に管理することを特徴とする請求項４記載の端末装置。
【請求項６】
前記処理要求は、前記資源へのアクセス権を得る為の要求であることを特徴とする請求項４又は５記載の端末装置。
【請求項７】
ネットワーク上の端末装置と通信可能で、サーバ機能を提供するプログラムを実行可能な端末装置における情報処理方法であって、
ネットワーク上にサーバ機能を提供するプログラムを実行している端末装置があるか否かを判定する判定ステップと、
前記判定ステップによってサーバ機能を提供するプログラムを実行している端末装置があると判定された場合に、該サーバ機能を提供するプログラムに対して処理要求を行う第１の要求ステップと、
前記判定ステップによってサーバ機能を提供するプログラムを実行している端末装置がないと判定された場合自端末装置が有するサーバ機能を提供するプログラムを実行する実行ステップと、
前記判定ステップによってサーバ機能を提供するプログラムを実行している端末装置がないと判定された場合、前記実行ステップによって実行されたサーバ機能を提供するプログラムに対して処理要求を行う第２の要求ステップと、
を有することを特徴とする情報処理方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、ネットワーク上の複数の端末装置と通信可能で、サーバプログラムを実行可能な端末装置および該端末装置における情報処理方法に関するものである。
【０００２】
【従来の技術】
従来、ネットワークサービスを提供するプログラム（サーバーと呼ぶ）は特定なマシンで起動してからネットワークサービスを要求するプログラム（クライアントと呼ぶ）がアクセス可能になり、ネットワーク通信によって情報交換を行う。以下、図７を参照しながら従来のサービス提供処理動作について説明する。
【０００３】
図７は従来のネットワークシステムのサービス情報処理方法を適用するシステム構成を説明するブロック図である。
【０００４】
この図に示す様に、マルチユーザによるデータベースアクセス等ネットワークサービスを共同で使う際、同時に矛盾の変更等を防ぐためにデータ管理を集中し特定な計算装置で行う。ネットワークサービスを提供する計算装置７０１と同サービスを使う計算装置７０２と計算装置７０３はネットワーク手段７０４によって接続される。
【０００５】
サービス提供は、最初にネットワークサービスを提供する計算装置７０１を起動し、必要な準備が終わったらサービス提供が始まる。それから、サービスを使う計算装置７０２または計算装置７０３は必要な時にサービス要求をネットワーク手段７０４を介して送る。ネットワークサービスを提供する計算装置７０１は受けた要求に順番を付けるため、同時変更等の非同期関係な問題は発生しない。
【０００６】
【発明が解決しようとする課題】
しかしながら、従来のネットワークシステム環境の下では、サービスの数が増えた場合、そのサービス毎に専用のサーバーが必要となり、システム構築のためのコストが高くなるとともに、使用頻度が低いサーバー（未使用状態となる）と使用頻度の高いサーバー（オーバーロード状態となる）とが併置されて、システム効率が低下する。
【０００７】
また、システム環境を変更する場合、専用のサーバーもシステム環境への対応が必要となり、システム変更作業が非常に複雑なものとなってしまう。
【０００８】
さらに、サービス情報の種別に応じては、ほとんど使用されいないサーバーがシステム上に存在する場合、該サービスを必要としない場合でも、該サーバーを起動させないと、他のサーバー使用が不能となる場合がある。
【０００９】
また、仮に、サーバー処理を終了する場合、後続してサーバー要求が発生していた場合には、端末装置は、サーバー処理を終了して端末装置としての処理に復帰できないという問題点があった。
【００１０】
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、サーバプログラムを実行している端末装置があると判定された場合に、該サーバプログラムに対して処理要求を行い、サーバプログラムを実行している端末装置がないと判定された場合自端末装置が有するサーバプログラムを実行するとともに、サーバプログラムを実行している端末装置がないと判定された場合、該実行されたサーバプログラムに対して処理要求を行うことにより、ネットワーク上にサーバプログラムを起動している端末装置がない場合にも自端末装置でサーバプログラムを実行し、サーバの処理を自端末装置で行うことができる端末装置および情報処理方法を提供することである。
【００１１】
【課題を解決するための手段】
本発明に係る第１の発明は、ネットワーク上の端末装置と通信可能で、サーバ機能を提供するプログラムを実行可能な端末装置であって、ネットワーク上にサーバ機能を提供するプログラムを実行している端末装置があるか否かを判定する判定手段と、前記判定手段によってサーバ機能を提供するプログラムを実行している端末装置があると判定された場合に、該サーバ機能を提供するプログラムに対して処理要求を行う第１の要求手段と、前記判定手段によってサーバ機能を提供するプログラムを実行している端末装置がないと判定された場合自端末装置が有するサーバ機能を提供するプログラムを実行する第１の実行手段と、前記判定手段によってサーバ機能を提供するプログラムを実行している端末装置がないと判定された場合、前記第１の実行手段によって実行されたサーバ機能を提供するプログラムに対して処理要求を行う第２の要求手段とを有することを特徴とする。
【００１２】
本発明に係る第２の発明は、前記第１の実行手段によってサーバ機能を提供するプログラムを実行した自端末装置をサーバとして前記ネットワーク上の端末装置によって利用可能に登録する登録手段をさらに有することを特徴とする。
【００１３】
本発明に係る第３の発明は、前記第２の要求手段によって要求された処理を前記自端末装置が有するサーバ機能を提供するプログラムを用いて実行する第２の実行手段と、前記第２の実行手段によって前記処理が実行された後に前記サーバ機能を提供するプログラムを終了させる制御手段とをさらに有することを特徴とする。
【００１４】
本発明に係る第４の発明は、前記サーバ機能を提供するプログラムは、サービス情報を提供するネットワーク上の資源へのアクセス権を管理することを特徴とする。
【００１５】
本発明に係る第５の発明は、前記サーバ機能を提供するプログラムは、前記資源へのアクセス権を排他的に管理することを特徴とする。
【００１６】
本発明に係る第６の発明は、前記処理要求は、前記資源へのアクセス権を得る為の要求であることを特徴とする。
本発明に係る第７の発明は、ネットワーク上の端末装置と通信可能で、サーバ機能を提供するプログラムを実行可能な端末装置における情報処理方法であって、ネットワーク上にサーバ機能を提供するプログラムを実行している端末装置があるか否かを判定する判定ステップと、前記判定ステップによってサーバ機能を提供するプログラムを実行している端末装置があると判定された場合に、該サーバ機能を提供するプログラムに対して処理要求を行う第１の要求ステップと、前記判定ステップによってサーバ機能を提供するプログラムを実行している端末装置がないと判定された場合自端末装置が有するサーバ機能を提供するプログラムを実行する実行ステップと、前記判定ステップによってサーバ機能を提供するプログラムを実行している端末装置がないと判定された場合、前記実行ステップによって実行されたサーバ機能を提供するプログラムに対して処理要求を行う第２の要求ステップとを有することを特徴とする。
【００１７】
【実施例】
〔第１実施例〕
図１は本発明の第１実施例を示すネットワークシステムのサービス情報処理方法を適用するシステム例を説明するブロック図である。
【００１８】
図において、１０１はデータベースとして機能する記憶装置である。
【００１９】
ユーザ端末１０２又はユーザ端末１０３から読み書き要求を調停し、記憶装置１０１の読み書き権利を与えて同時に両方に読み書き権利を与えないように該権利の設定を排他的に管理する機能を備えている。
【００２０】
１０２，１０３は例えばワークステーションで構成されるユーザ端末（端末）である。１０４はネットワーク手段で、上記１０１〜１０３が該ネットワーク手段１０４を介して相互に通信処理することが可能に構成されている。なお、ネットワーク手段１０４には、ネットワーク上での通信を制御するプロトコルを記憶するプログラム格納部，サーバー権を管理する種々のテーブルを備え、図示しないネットワーク制御部によりアクセス権の切り換えが制御されている。
【００２１】
以下、図２，図３に示すフローチャートを参照しながら本発明に係る第１のネットワークシステムのサービス情報処理方法におけるクライアント側とサーバー側の動作について説明する。
【００２２】
図２は本発明に係るネットワークシステムのサービス情報処理方法における第１のクライアント処理手順の一例を示すフローチャートである。なお、（１）〜（９）は各ステップを示し、サービスを要求するプログラム（クライアント）側の処理に対応する。
【００２３】
先ず、記憶装置１０１を読み書きする前に権利が必要なので、権利を得る処理を実行する（１）。次いでネットワークサービスを提供するプログラム（サーバ機能を提供するプログラム）が既にあるかどうかを判定する（２）。第一回目の場合は、サーバーは起動されていないので、ステップ（３）に進み、同端末上でサーバーを新規に起動する。そして、サーバーの存在をネットワーク手段１０４に登録して（４）、ステップ（２）に戻る。
【００２４】
これ以降、ステップ（２）の判定は、サーバー有りと判定され、ネットワーク手段１０４を介してサーバーに権利を要求する（５）。そして、権利が許可されているかどうかを判定し（６）、許可されていなかった場合は、ステップ（２）に戻り再度サーバーに権利を要求する。
【００２５】
一方、ステップ（６）の判定で、権利が許可されていた場合には、ネットワーク手段１０４を介して記憶装置１０１の読み書きを行い（７）、サーバーに権利を戻す旨を通知し（８）、処理を終了する（９）。
【００２６】
図３は本発明に係るネットワークシステムのサービス情報処理方法における第１のサーバー処理手順の一例を示すフローチャートである。なお、（１）〜（７）は各ステップを示し、サービスを提供するプログラム（サーバー側）の処理に対応する。
【００２７】
先ず、サーバーが起動されると（１）、初期時点では、クライアントに権利をあたえていないため権利状態を「なし」に設定する（２）。次いで、クライアントからの通信応答を待機する（３）。上述した図２に示したステップ（５）のクライアントから権利要求があった場合は、権利設定状態が「なし」状態かどうかを判定し（４）、ＹＥＳならば権利を許可し（６）、権利状態をクライアント名とともに設定し（７）、ステップ（３）に戻る。
【００２８】
一方、ステップ（４）の判定でＮＯの場合は、権利を拒否し（５）、ステップ（３）に戻る。なお、ステップ（３）の待ち状態で、上述したクライアントの権利を戻す通知があった場合（図２に示したステップ（８）において）、ステップ（２）に戻る。
【００２９】
このように第１実施例に示す第１の本発明によれば、サービス情報提供要求を発行した端末装置に記憶されたクライアントプログラムを起動して前記資源からのサービス情報取得を開始し、サービス情報取得後、前記サーバプログラムにサーバ終了を通知し、該サーバー終了に応じて前記ネットワーク制御手段に仮登録されたサーバーのサーバープログラムを終了して、該サーバーを端末装置に自動復帰させるので、ネットワーク上の資源へのアクセスが発生する場合に限り、サーバー機能を提供するプログラムを起動させるので、ネットワーク上の端末装置が随時サーバーとして機能させることが可能となる。
【００３０】
これにより、何れの端末１０２又は端末１０３もサーバーを要求しなかった場合は、サーバー機能を提供するプログラムは起動されず、無駄に動かす必要はない。
【００３１】
なお、端末１０２がサーバー機能を提供するプログラムを起動した場合、同端末を終了させる場合は、その後端末１０３の要求があったらその時点で端末１０３で新たに起動され連続的にネットワークサービス提供を行なう。
【００３２】
図において、４０１はネットワーク手段で、プログラムによりデータ処理を行う機能を備えた計算装置４０２〜４０４を通信可能に接続する。なお、本実施例におけるネットワークサービスは、入力を受けて計算を行ってから計算結果を送り返す。このネットワークサービスを提供するサーバーは何れの計算装置４０２，４０３，４０４上で実行可能に構成されている。以下、図５，図６に示すフローチャートを参照しながら本発明に係る第２のネットワークシステムのサービス情報処理方法におけるクライアント側とサーバー側の動作について説明する。
【００３３】
図５は本発明に係るネットワークシステムのサービス情報処理方法における第２のクライアント処理手順の一例を示すフローチャートである。なお、（１）〜（１２）は各ステップを示し、サービスを要求するプログラム（クライアント）側の処理に対応する。
【００３４】
先ず、何れの計算装置４０２〜４０４上で実行したネットワークサービスを使用する処理が開始されると（１）、サーバーは既に起動しているかどうかを判定し（２）、ＮＯならばステップ（３）に進み、ネットワーク手段４０１の問い合わせによって計算装置４０２〜４０４のなかのサーバー起動に適するものを取り調べる。次いで、ネットワーク手段４０１を介して、取り調べた結果、適する計算装置上のサーバーを起動し、ネットワーク手段４０１に登録し（４）、起動させた後、ステップ（２）に戻る。
【００３５】
一方、ステップ（２）において、サーバーが既にあった場合は、サーバーにサービスの要求を送信する（５）。このサービスの要求によって、サーバー側では現在使用中のクライアントを知ることが可能となる。次いで、サービスの要求が許可されたかどうかを判定し（６）、許可されないと判定された場合には、ステップ（２）に戻り、許可されたと判定された場合には、データ入力があるかどうかを判定し（７）、ＮＯならばサーバーにサービスの終了通知を送信して（１１）、処理を終了する（１２）。
【００３６】
一方、ステップ（７）の判定でデータ入力ありと判定された場合には、入力されたデータを選択されて起動中のサーバーに送り（８）、サーバーから返信を受け（９）、受信したデータを出力して（１０）、ステップ（７）に戻る。
【００３７】
図６は本発明に係るネットワークシステムのサービス情報処理方法における第２のサーバー処理手順の一例を示すフローチャートである。なお、（１）〜（９）は各ステップを示し、サービスを提供するプログラム（サーバー側）の処理に対応する。
【００３８】
サーバーが起動されると（１）、クライアントリスト（サーバー起動された端末装置のＲＡＭに記憶される）を空に初期化する（２）。初期化が終えたら通信待ち状態となり（３）、サービス要求を受けたら、ステップ（４）に進み、送信した計算装置の特定番号（例えば装置番号）をクライアントリストに追加し、ステップ（３）に戻り、通信待ち状態となる。
【００３９】
通信待ち状態においては、既にサービスを要求したクライアント計算装置からデータを受信したらステップ（５）で計算を行う。なお、本実施例では、計算内容に特に関係ないので、詳細な計算処理については説明を省略する。
【００４０】
次いで、計算の結果を送信した計算装置に返事を送り（６）、ステップ（３）に戻り通信待ち状態に戻る。
【００４１】
一方、ステップ（３）の通信待ち状態において、既にサービスを要求したクライアント計算装置からサービス終了を受信したら、送信した計算装置のサービス要求をクライアントリストから削除する（７）。次いで、削除済みのクライアントリストを調べ、空状態かどうかを判定し（８）、ＮＯならば他のサービスを要求しているクライアントがあるのでそのデータを受信するため、ステップ（３）に戻り、通信状態に戻る。
【００４２】
一方、ステップ（８）でクライアントリストが空であると判定した場合は、サービスを要求しているクライアントはないと判定し、サーバーを終了する（９）。
【００４３】
このように第２実施例に示す第２の発明によれば、サービス情報提供要求を発行した端末装置にサーバー開始を通知し、該通知の取得後、クライアント側の端末から通知されるサーバー終了に応じてサーバープログラムを終了してサーバーを端末装置に自動復帰させるので、専用サーバーをシステムに常駐させなくても、端末装置としての機能処理とネットワーク上でサーバーと機能とを随時切り換えてサービス情報を処理することが可能となる。
〔第３実施例〕
上記第２実施例では、サービスを要求しているクライアントが全部サービスを終了した場合は、そのサーバーは不要となり処理を終了する場合について説明したが、サーバーを終了させる直前に他のクライアントがサービスを要求する事態も発生し得るので、起動中のサーバーを他の計算装置に移管して、継続してサービスを提供できるように構成してもよい。以下、その場合について詳述する。
【００４４】
第２実施例で説明した、図５に示したステップ（４）でサーバーを起動した後、その起動させたクライアントのサービス終了とともにサーバーも終了させるため、図５に示したステップ（１１）でサービス終了の代りにサーバー終了命令を送出する。
【００４５】
このサーバー終了命令をサーバーが受けたら、ステップ（７）によってサービス終了と同様にクライアントリストを更新し、空となった場合は第２実施例と同じ処理によって終了する。
【００４６】
しかし、クライアントリストは空ではない。つまり、サービスを要求しているクライアントが残っている場合は、次のような処理を行う。すなわち、図５に示したステップ（３）と同様に新たにサーバーを起動するための適切な計算装置をネットワーク手段に選択させる。そして、選択された別の計算装置には、サーバーの開始とともに、現在実行中のサーバーのクライアントリストを送信する。
【００４７】
従って、代りに動作するサーバーは同じクライアントリストで始まるようにする。次いで、クライアントリストを渡してから終了と同時に新たなサーバーを登録する。新規サーバーの初期化と再登録の間は、新たなサービス要求があったら終了となるサーバーは断る。その場合は、断られたクライアントは、図５に示したステップ（６）によって、再び要求し、新規サーバーに切り換えられたらサービスの要求が許可される。
【００４８】
この様に第３実施例に示す第３の発明によれば、サービス情報提供要求を発行した端末装置にサーバー開始を通知し、該通知の取得後、クライアント側の端末から通知されるサーバー終了に応じて後続するサーバー待ちとなるクライアント情報を確認し、該確認結果に基づいて次のサーバー候補となる端末装置を選択して新規仮登録し、該新規仮登録された端末装置にサーバー終了する端末装置からクライアント情報を受け継ぎして、サーバー開始をサーバー待ちとなるクライアントに通知して、サーバー先を連続して切り換えるので、サーバー終了時点で、後続するクライアントからのサーバー要求が発生しても、後続するサーバーに支障なくサーバー要求を処理させることが可能となる。
【００４９】
なお、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器から成る装置に適用しても良い。また、本発明はシステムあるいは装置にプログラムを供給することによって達成させる場合にも適用できることは言うまでもない。
【００５０】
【発明の効果】
以上説明したように、本発明によれば、サーバプログラムを実行している端末装置があると判定された場合に、該サーバプログラムに対して処理要求を行い、サーバプログラムを実行している端末装置がないと判定された場合自端末装置が有するサーバプログラムを実行するとともに、サーバプログラムを実行している端末装置がないと判定された場合、該実行されたサーバプログラムに対して処理要求を行うので、ネットワーク上にサーバプログラムを起動している端末装置がない場合にも自端末装置でサーバプログラムを実行し、サーバの処理を自端末装置で行うことができるという効果を奏する。
【図面の簡単な説明】
【図１】本発明の第１実施例を示すネットワークシステムのサービス情報処理方法を適用するシステム例を説明するブロック図である。
【図２】本発明に係るネットワークシステムのサービス情報処理方法における第１のクライアント処理手順の一例を示すフローチャートである。
【図３】本発明に係るネットワークシステムのサービス情報処理方法における第１のサーバー処理手順の一例を示すフローチャートである。
【図４】本発明の第２実施例を示すネットワークシステムのサービス情報処理方法を適用するシステム例を説明するブロック図である。
【図５】本発明に係るネットワークシステムのサービス情報処理方法における第２のクライアント処理手順の一例を示すフローチャートである。
【図６】本発明に係るネットワークシステムのサービス情報処理方法における第２のサーバー処理手順の一例を示すフローチャートである。
【図７】従来のネットワークシステムのサービス情報処理方法を適用するシステム構成を説明するブロック図である。
【符号の説明】
１０１  記憶装置
１０２  端末
１０３  端末
１０４  ネットワーク手段
【図１】
0003548200.tif 000002
【図２】
0003548200.tif 000003
【図３】
0003548200.tif 000004
【図４】
0003548200.tif 000005
【図５】
0003548200.tif 000006
【図６】
0003548200.tif 000007
【図７】
0003548200.tif 000008