(57)【特許請求の範囲】
【請求項１】
複数のクライアントからサーバにデータ転送要求を行い、該データ転送要求に応じて該サーバから該複数のクライアントにデータを送信する情報処理システムにおいて、
前記サーバは、前記複数のクライアント各々のデータ転送要求に基づいて前記複数のクライアント各々のアクセス状態を示すアクセス情報を作成し、該アクセス情報に基づいて前記複数のクライアント各々の前記サーバへのアクセスを管理し、前記複数のクライアントのアクセスを制御するアクセス管理部を含み、
前記アクセス管理部は、前記アクセス情報を前記クライアント毎に記憶するアクセス情報記憶部を備え、
前記アクセス情報記憶部に記憶されるアクセス情報は、アクセスの開始時刻、アクセス終了時刻、前記クライアントに送信するデータのデータ容量、前記データを前記サーバから前記クライアントに送信する必要なデータ転送実行時間、前記データ容量を前記データ転送実行時間で除算して得られる前記サーバから前記クライアントへのデータ転送レートを含み、
前記アクセス管理部は、所定のクライアントからアクセス要求があり、前記所定のクライアントのアクセスを許可すると、今回のアクセス許可で前記所定のクライアントから転送要求のあった転送データ容量及びアクセスの開始時刻を前記アクセス情報記憶領域の前記転送データ容量及び前記開始時刻として記憶し、前記所定のクライアントへのデータ転送を開始するとともに、前記アクセス情報記憶領域に記憶された前記所定のクライアントの過去のデータ転送レートにより前記アクセス情報記憶領域に記憶した前記データ転送容量を除算することにより前記データ転送実行時間を算出し、算出した前記データ転送実行時間を前記アクセス情報記憶領域に記憶し、前記データ転送実行時間を前記アクセス情報記憶領域に記憶された前記開始時刻に加算することにより前記終了時刻を算出し、算出した終了時刻を前記アクセス情報記憶領域に記憶し、前記所定のクライアントの過去のデータ転送レートが記憶されていない場合には、予め設定されたデフォルト値を前記アクセス情報記憶領域に記憶された前記開始時刻に加算することにより前記終了時刻を算出し、算出した終了時刻を前記アクセス情報記憶領域に記憶し、前記クライアントのアクセスが許可せずに拒絶応答を行う場合、前記アクセス情報記憶領域に記憶された前記アクセスが許可されているクライアントの前記終了時刻のうち、最早の最終時刻に応じた時刻を、次回リトライ時刻として前記拒絶応答とともに、前記アクセスが許可されないクライアントに通知する情報処理システム。
【請求項２】
前記クライアントは、前記サーバから通知される前記次回リトライ時刻に基づいて前記サーバにアクセスする請求項１記載の情報処理システム。
【請求項３】
複数のクライアントからデータ転送要求に応じて該複数のクライアントにデータを送信する情報処理装置において、
前記複数のクライアント各々のデータ転送要求に基づいて前記複数のクライアント各々のアクセス状態を示すアクセス情報を作成し、該アクセス情報に基づいて前記複数のクライアント各々からのアクセスを管理し、前記複数のクライアントのアクセスを制御するアクセス管理部を含み、
前記アクセス管理部は、前記アクセス情報を前記クライアント毎に記憶するアクセス情報記憶部を備え、
前記アクセス情報記憶部に記憶されるアクセス情報は、アクセスの開始時刻、アクセス終了時刻、前記クライアントに送信するデータのデータ容量、前記データを前記クライアントに送信する必要なデータ転送実行時間、前記データ容量を前記データ転送実行時間で除算して得られる前記クライアントへのデータ転送レートを含み、
前記アクセス管理部は、所定のクライアントからアクセス要求があり、前記所定のクライアントのアクセスを許可すると、今回のアクセス許可で前記所定のクライアントから転送要求のあった転送データ容量及びアクセスの開始時刻を前記アクセス情報記憶領域の前記転送データ容量及び前記開始時刻として記憶し、前記所定のクライアントへのデータ転送を開始するとともに、前記アクセス情報記憶領域に記憶された前記所定のクライアントの過去のデータ転送レートにより前記アクセス情報記憶領域に記憶した前記データ転送容量を除算することにより前記データ転送実行時間を算出し、算出した前記データ転送実行時間を前記アクセス情報記憶領域に記憶し、前記データ転送実行時間を前記アクセス情報記憶領域に記憶された前記開始時刻に加算することにより前記終了時刻を算出し、算出した終了時刻を前記アクセス情報記憶領域に記憶し、前記所定のクライアントの過去のデータ転送レートが記憶されていない場合には、予め設定されたデフォルト値を前記アクセス情報記憶領域に記憶された前記開始時刻に加算することにより前記終了時刻を算出し、算出した終了時刻を前記アクセス情報記憶領域に記憶し、前記クライアントのアクセスが許可せずに拒絶応答を行う場合、前記アクセス情報記憶領域に記憶された前記アクセスが許可されているクライアントの前記終了時刻のうち、最早の最終時刻に応じた時刻を、次回リトライ時刻として前記拒絶応答とともに、前記アクセスが許可されないクライアントに通知する情報処理装置。
【請求項４】
サーバにデータ転送要求を行い、該データ転送要求に応じて該サーバからデータを受信する情報処理装置であって、
前記サーバは、前記複数のクライアント各々のデータ転送要求に基づいて前記複数のクライアント各々のアクセス状態を示すアクセス情報を作成し、該アクセス情報に基づいて前記複数のクライアント各々の前記サーバへのアクセスを管理し、前記複数のクライアントのアクセスを制御するアクセス管理部を含み、
前記アクセス管理部は、前記アクセス情報を前記クライアント毎に記憶するアクセス情報記憶部を備え、
前記アクセス情報記憶部に記憶されるアクセス情報は、アクセスの開始時刻、アクセス終了時刻、前記クライアントに送信するデータのデータ容量、前記データを前記サーバから前記クライアントに送信する必要なデータ転送実行時間、前記データ容量を前記データ転送実行時間で除算して得られる前記サーバから前記クライアントへのデータ転送レートを含み、
前記アクセス管理部は、所定のクライアントからアクセス要求があり、前記所定のクライアントのアクセスを許可すると、今回のアクセス許可で前記所定のクライアントから転送要求のあった転送データ容量及びアクセスの開始時刻を前記アクセス情報記憶領域の前記転送データ容量及び前記開始時刻として記憶し、前記所定のクライアントへのデータ転送を開始するとともに、前記アクセス情報記憶領域に記憶された前記所定のクライアントの過去のデータ転送レートにより前記アクセス情報記憶領域に記憶した前記データ転送容量を除算することにより前記データ転送実行時間を算出し、算出した前記データ転送実行時間を前記アクセス情報記憶領域に記憶し、前記データ転送実行時間を前記アクセス情報記憶領域に記憶された前記開始時刻に加算することにより前記終了時刻を算出し、算出した終了時刻を前記アクセス情報記憶領域に記憶し、前記所定のクライアントの過去のデータ転送レートが記憶されていない場合には、予め設定されたデフォルト値を前記アクセス情報記憶領域に記憶された前記開始時刻に加算することにより前記終了時刻を算出し、算出した終了時刻を前記アクセス情報記憶領域に記憶し、前記クライアントのアクセスが許可せずに拒絶応答を行う場合、前記アクセス情報記憶領域に記憶された前記アクセスが許可されているクライアントの前記終了時刻のうち、最早の最終時刻に応じた時刻を、次回リトライ時刻として前記拒絶応答とともに、前記アクセスが許可されないクライアントに通知しており、
前記サーバから通知される前記次回リトライ時刻に基づいて前記サーバにアクセスするアクセス制御部を含む情報処理装置。
【請求項５】
複数のクライアントからサーバにデータ転送要求を行い、該データ転送要求に応じて該サーバから該複数のクライアントにデータを送信する情報処理システムのアクセス分散方法であって、
前記サーバは、前記複数のクライアント各々のデータ転送要求に基づいて前記複数のクライアント各々のアクセス状態を示すアクセス情報を作成し、該アクセス情報に基づいて前記複数のクライアント各々の前記サーバへのアクセスを管理し、前記複数のクライアントのアクセスを制御するアクセス管理部を含み、
前記アクセス管理部は、前記アクセス情報を前記クライアント毎に記憶するアクセス情報記憶部を備え、
前記アクセス情報記憶部に記憶されるアクセス情報は、アクセスの開始時刻、アクセス終了時刻、前記クライアントに送信するデータのデータ容量、前記データを前記サーバから前記クライアントに送信する必要なデータ転送実行時間、前記データ容量を前記データ転送実行時間で除算して得られる前記サーバから前記クライアントへのデータ転送レートを含み、
前記アクセス管理部は、所定のクライアントからアクセス要求があり、前記所定のクライアントのアクセスを許可すると、今回のアクセス許可で前記所定のクライアントから転送要求のあった転送データ容量及びアクセスの開始時刻を前記アクセス情報記憶領域の前記転送データ容量及び前記開始時刻として記憶し、前記所定のクライアントへのデータ転送を開始するとともに、前記アクセス情報記憶領域に記憶された前記所定のクライアントの過去のデータ転送レートにより前記アクセス情報記憶領域に記憶した前記データ転送容量を除算することにより前記データ転送実行時間を算出し、算出した前記データ転送実行時間を前記アクセス情報記憶領域に記憶し、前記データ転送実行時間を前記アクセス情報記憶領域に記憶された前記開始時刻に加算することにより前記終了時刻を算出し、算出した終了時刻を前記アクセス情報記憶領域に記憶し、前記所定のクライアントの過去のデータ転送レートが記憶されていない場合には、予め設定されたデフォルト値を前記アクセス情報記憶領域に記憶された前記開始時刻に加算することにより前記終了時刻を算出し、算出した終了時刻を前記アクセス情報記憶領域に記憶し、前記クライアントのアクセスが許可せずに拒絶応答を行う場合、前記アクセス情報記憶領域に記憶された前記アクセスが許可されているクライアントの前記終了時刻のうち、最早の最終時刻に応じた時刻を、次回リトライ時刻として前記拒絶応答とともに、前記アクセスが許可されないクライアントに通知する情報処理システムのアクセス分散方法。
【請求項６】
アクセスの開始時刻、アクセス終了時刻、前記クライアントに送信するデータのデータ容量、前記データを前記クライアントに送信する必要なデータ転送実行時間、前記データ容量を前記データ転送実行時間で除算して得られる前記クライアントへのデータ転送レートを含むアクセス情報を記憶するアクセス情報記憶部を含み、複数のクライアントからデータ転送要求に応じて該複数のクライアントにデータを送信するコンピュータに、
所定のクライアントからアクセス要求があり、前記所定のクライアントのアクセスを許可すると、今回のアクセス許可で前記所定のクライアントから転送要求のあった転送データ容量及びアクセスの開始時刻を前記アクセス情報記憶領域の前記転送データ容量及び前記開始時刻として記憶し、前記所定のクライアントへのデータ転送を開始する手順と、
前記アクセス情報記憶領域に記憶された前記所定のクライアントの過去のデータ転送レートにより前記アクセス情報記憶領域に記憶した前記データ転送容量を除算することにより前記データ転送実行時間を算出し、算出した前記データ転送実行時間を前記アクセス情報記憶領域に記憶し、前記データ転送実行時間を前記アクセス情報記憶領域に記憶された前記開始時刻に加算することにより前記終了時刻を算出し、算出した終了時刻を前記アクセス情報記憶領域に記憶させ、前記所定のクライアントの過去のデータ転送レートが記憶されていない場合には、予め設定されたデフォルト値を前記アクセス情報記憶領域に記憶された前記開始時刻に加算することにより前記終了時刻を算出し、算出した終了時刻を前記アクセス情報記憶領域に記憶させる手順と、
前記クライアントのアクセスが許可せずに拒絶応答を行う場合、前記アクセス情報記憶領域に記憶された前記アクセスが許可されているクライアントの前記終了時刻のうち、最早の最終時刻に応じた時刻を、次回リトライ時刻として前記拒絶応答とともに、前記アクセスが許可されないクライアントに通知させる手順とを実行させるコンピュータ読取可能なプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は情報処理システム、及び情報処理装置、並びにアクセス分散方法に係り、特に、クライアントからのデータ転送要求に応じてサーバからクライアントにデータを転送する情報処理システム、及び情報処理装置、並びにアクセス分散方法に関する。
【０００２】
【従来の技術】
図１にクライアント−サーバシステムのブロック構成図を示す。
【０００３】
クライアント−サーバシステム１は、複数のクライアント１１−１〜１１−ｎがネットワーク１２を介してサーバ１３にアクセスし、所望のデータを取得可能とされている。このようなシステムにおいては、データやプログラムのアップデートのためにクライアント１１−１〜１１−ｎからサーバ１３に定期的にアクセスし、データやプログラムの収集を行う場合がある。  従来、クライアント１１−１〜１１−ｎからサーバ１３へのアクセス時刻をクライアント１１−１〜１１−ｎの運用時間に合わせて、クライアント１１−１〜１１−ｎで設定可能とされていた。
【０００４】
図２は従来のクライアント−サーバシステムの動作説明図を示す。図２（Ａ）は拒絶応答の場合、図２（Ｂ）は正常応答の場合のクライアント−サーバ間の応答を示す。
【０００５】
まず、拒絶応答時の動作を説明する。
【０００６】
ステップＳ１−１でクライアント１１−１〜１１−ｎのうちの一つのクライアント１１−ｉからサーバ１３にデータ要求が行われると、サーバ１３ではステップＳ１−２でクライアント１１−ｉからのデータ要求を受信すると、データ転送が可能な状態か否かが判定される。ステップＳ１−２でサーバ１３がビジーでクライアント１１−ｉにデータ転送が行えない場合には、ステップＳ１−３でサーバ１３からＮＧ（no good）応答がクライアント１１−ｉに通知される。
【０００７】
クライアント１１−ｉは、サーバ１３からＮＧ応答が通知されると、ステップＳ１−４で一定時間計時し、一定時間経過後ステップＳ１−５で再びデータ要求を行う。
【０００８】
次に、正常応答時の動作を説明する。
【０００９】
ステップＳ１−１１でクライアント１１−１〜１１−ｎのうちの一つのクライアント１１−ｉからサーバ１３にデータ要求が行われると、サーバ１３ではステップＳ１−１２でクライアント１１−ｉからのデータ要求を受信すると、データ転送が可能な状態か否かを判定する。ステップＳ１−１２でサーバ１３がデータ転送可能な状態であれば、ステップＳ１−１３でサーバ１３からＯＫ応答がクライアント１１−ｉに通知されるとともに、要求データがクライアント１１−ｉに送信される。
【００１０】
クライアント１１−ｉは、サーバ１３からＯＫ応答及び要求データが送信されると、ステップＳ１−１４で完了報告をサーバ１３に通知する。
【００１１】
このように、サーバ１３がビジーのときには、クライアント１１−ｉはサーバ１３からデータ転送が可能となるまで、一定時間毎にデータ要求を通知していた。
【００１２】
また、クライアント１１−１〜１１−ｎは、管理者によりサーバ１３へのアクセス時間を設定できる機能が設けられていた。
【００１３】
【発明が解決しようとする課題】
しかるに、クライアント側の管理者がアクセス時間を設定すると、業務時間はどのクライアントも同じであるため、アクセスが必要な時間が集中し、サーバへのアクセスが集中し、サーバが一時的に処理能力限界を超えてしまう場合がある。また逆にアクセスがない時間帯では、サーバ資源に空きを生じることがある。このように、サーバの資源が効率的に使用されないという問題があった。
【００１４】
また、サーバへのアクセスが集中し、一時的に処理能力限界を超えてしまう場合には、図２（Ａ）に示すようにサーバはクライアントに対して、リトライをさせるための拒絶応答を行う。従来このリトライ間隔は一定時間毎に行っているため、アクセスが集中している状態が続くと、データ要求をリトライした場合に、サーバから再び拒絶応答を受ける可能性がある。
【００１５】
また、サーバが空いた瞬間に運良くリトライしたクライアントは以前よりリトライを続けているクライアントよりも先にサービスを受けることになる。よって、クライアントのリトライのタイミングによってデータ転送などのサービスの偏りが生じるという問題がある。
【００１６】
クライアントとサーバとの間で転送するデータ量が多く、かつその間にインターネットを経由していると、インターネットでの使用可能な帯域が不確定であることから、各クライアント毎の処理時間が不確定となり、サーバの負荷の予測が困難である問題があった。
【００１７】
サーバからクライアントに対して次回リトライ時刻、または時間を指定された場合に、クライアントでの都合によりその時間帯にリトライできないため、単純にサーバからリトライ時刻または時間を通知できない問題があった。
【００１８】
サーバに格納されているクライアントに共通なデータ資源を変更した時、クライアントが次回のアクセスで一斉にデータ転送要求すると予想される。この場合、従来ではクライアント数からだけでサーバの負荷を予測していたが、各クライアントで処理能力や通信帯域が異なるため、終了予測が不確実となる場合が多く、結果的にサーバでの負荷の制御ができない問題があった。
【００１９】
本発明は上記の点に鑑みてなされたもので、サーバとクライアントとの通信を効率よく行える情報処理システム、及び情報処理装置、並びにアクセス分散方法を提供することを目的とする。
【００２０】
【課題を解決するための手段】
本発明は、複数のクライアントからサーバにデータ転送要求を行い、該データ転送要求に応じて該サーバから該複数のクライアントにデータを送信する情報処理システムにおいて、前記サーバは、前記複数のクライアント各々のデータ転送要求に基づいて前記複数のクライアント各々のアクセス状態を示すアクセス情報を作成し、該アクセス情報に基づいて前記複数のクライアント各々の前記サーバへのアクセスを管理し、前記複数のクライアントのアクセスを制御するアクセス管理部を含み、前記アクセス管理部は、前記アクセス情報を前記クライアント毎に記憶するアクセス情報記憶部を備え、前記アクセス情報記憶部に記憶されるアクセス情報は、アクセスの開始時刻、アクセス終了時刻、前記クライアントに送信するデータのデータ容量、前記データを前記サーバから前記クライアントに送信する必要なデータ転送実行時間、前記データ容量を前記データ転送実行時間で除算して得られる前記サーバから前記クライアントへのデータ転送レートを含み、前記アクセス管理部は、所定のクライアントからアクセス要求があり、前記所定のクライアントのアクセスを許可すると、今回のアクセス許可で前記所定のクライアントから転送要求のあった転送データ容量及びアクセスの開始時刻を前記アクセス情報記憶領域の前記転送データ容量及び前記開始時刻として記憶し、前記所定のクライアントへのデータ転送を開始するとともに、前記アクセス情報記憶領域に記憶された前記所定のクライアントの過去のデータ転送レートにより前記アクセス情報記憶領域に記憶した前記データ転送容量を除算することにより前記データ転送実行時間を算出し、算出した前記データ転送実行時間を前記アクセス情報記憶領域に記憶し、前記データ転送実行時間を前記アクセス情報記憶領域に記憶された前記開始時刻に加算することにより前記終了時刻を算出し、算出した終了時刻を前記アクセス情報記憶領域に記憶し、前記所定のクライアントの過去のデータ転送レートが記憶されていない場合には、予め設定されたデフォルト値を前記アクセス情報記憶領域に記憶された前記開始時刻に加算することにより前記終了時刻を算出し、算出した終了時刻を前記アクセス情報記憶領域に記憶し、前記クライアントのアクセスが許可せずに拒絶応答を行う場合、前記アクセス情報記憶領域に記憶された前記アクセスが許可されているクライアントの前記終了時刻のうち、最早の最終時刻に応じた時刻を、次回リトライ時刻として前記拒絶応答とともに、前記アクセスが許可されないクライアントに通知する。
【００２１】
また、クライアントからサーバへのアクセスが成功した時刻を、少なくとも次回のアクセス時刻に設定することを特徴とする。
【００２２】
さらに、サーバにアクセスされるクライアントを抽出し、抽出されたクライアントのアクセス時刻を拒絶応答がないように設定し、設定されたアクセス時刻をクライアントに通知し、サーバから通知されたアクセス時刻にクライアントからサーバにアクセスすることを特徴とする。
【００２３】
本発明によれば、サーバに個々のクライアントからのアクセス時刻や処理時間などのアクセス情報を管理することにより、次回アクセスからの終了予定時刻を予想できる。
【００２４】
また、本発明によれば、サーバが処理可能なクライアント数をオーバした場合には、アクセス情報に基づいて各クライアントの終了時刻を予想し、拒絶応答とともに次回リトライ時刻をクライアントに通知することによってサーバでの負荷分散を図ることができる。
【００２５】
さらに、本発明によれば、クライアントからの要求とともにアクセス情報としてリトライ回数をサーバに通知し、サーバでリトライ回数を加味して要求を受け付けることにより、クライアント間のサービスの偏りを減らすことができる。
【００２６】
また、本発明によれば、各クライアントで、要求に成功した時刻を記録し、次回からその時刻にアクセスすることにより、クライアントがサーバにアクセスする負荷を分散することができる。
【００２７】
さらに、本発明によれば、クライアントがリトライ可能な時間帯を超えてリトライが必要なときには、ランダムにリトライ時刻を設定し直し、不可能な時間帯のリトライ要求を回避することができる。
【００２８】
本発明によれば、サーバのデータが更新された場合、クライアントからの要求を予めサーバがスケジュール化し、それをクライアント側に通知することにより、負荷分散を図ることができる。
【００２９】
また、本発明によれば、データの属性を加味した上で、スケジュール化し、それをクライアント側に通知することにより、正確に終了時刻などを把握できるため、確実に負荷分散を図ることができる。
【００３０】
【発明の実施の形態】
図３は本発明の第１実施例のシステム構成図を示す。同図中、図１と同一構成部分には同一符号を付し、その説明は省略する。
【００３１】
本実施例のシステム１００は、クライアント１０１−１〜１０１−ｎ及びサーバ１０２の処理が従来とは相違する。
【００３２】
図４はクライアント１０１−ｉのブロック構成図を示す。
【００３３】
クライアント１０１−ｉは、クライアント１０１−１〜１０１−ｎのうちの一つのクライアントであり、入力部１１１、ＣＰＵ（central processing unit）１１２、ＲＯＭ（read only memory）１１３、ハードディスクドライブ１１４、ＲＡＭ（random access memory）１１５、ＣＤ−ＲＯＭドライブ１１６、表示部１１７、通信部１１８を含む構成とされている。入力部１１１は、キーボード、マウスから構成され、データあるいはコマンドの入力に用いられる。ＣＰＵ１１２は、ＲＯＭ１１３及びハードディスクドライブ１１４に記憶されたＯＳ（operating system）及びプログラム並びにデータに基づいて各種処理を実行する。ハードディスクドライブ１１４は、プログラム記憶領域１１４ａ、データ記憶領域１１４ｂ、アクセス情報記憶領域１１４ｃを含む構成とされている。プログラム記憶領域１１４ａには、ＯＳやプログラムが記憶されている。データ記憶領域１１４ｂには、各種データが記憶されている。アクセス情報記憶領域１１４ｃには、次回アクセス時刻などのアクセス情報が記憶されている。なお、ＲＡＭ１１５は、ＣＰＵ１１２の作業用記憶領域として用いられる。ＣＤ−ＲＯＭドライブ１１６は、ＣＤ−ＲＯＭ１１９などの可換式記録媒体からデータ読み取る装置である。例えば、ハードディスクドライブ１１４のプログラム記憶領域１１４ａに記憶されたプログラムは、ＣＤ−ＲＯＭ１１９の記憶データとして提供され、ＣＤ−ＲＯＭドライブ１１６によりＣＤ−ＲＯＭ１１９から読み取られて、ハードディスクドライブ１１４のプログラム記憶領域１１４ａにインストールされる。なお、ハードディスクドライブ１１４のプログラム記憶領域１１４ａに記憶されたプログラムは、通信部１１８によりネットワーク１２を介して他のサーバから取得するようにしてもよい。
【００３４】
表示部１１７は、ＣＲＴ（cathode ray tube）、ＬＣＤ（liquid crystal display）などから構成され、表示画面上に処理データを表示する。通信部１１８は、ネットワーク１２を介してサーバ１０２との通信を行う。
【００３５】
次に、サーバ１０２の構成を説明する。
【００３６】
図５はサーバ１０２のブロック構成図を示す。
【００３７】
サーバ１０２は、入力部１２１、ＣＰＵ１２２、ＲＯＭ１２３、ハードディスクドライブ１２４、ＲＡＭ１２５、ＣＤ−ＲＯＭドライブ１２６、表示部１２７、通信装置１２８を含む構成とされている。
【００３８】
入力部１２１は、キーボード、マウスから構成され、データあるいはコマンドの入力に用いられる。ＣＰＵ１２２は、ＲＯＭ１２３及びハードディスクドライブ１２４に記憶されたＯＳ（operating system）及びプログラム並びにデータに基づいて各種処理を実行する。ハードディスクドライブ１２４は、プログラム記憶領域１２４ａ、データ記憶領域１２４ｂ、アクセス情報記憶領域１２４ｃを含む構成とされている。プログラム記憶領域１２４ａには、クライアント１０１からのデータ要求に応じてデータ記憶領域１２４ｂからデータあるいはプログラムをクライアント１０１に転送する転送プログラム及びアクセス情報を作成し、アクセス情報記憶領域１２４ｃに記憶するアクセス情報作成プログラムが記憶されている。
アクセス情報記憶領域１２４ｃには、アクセス情報作成プログラムにより作成される管理テーブルが記憶されている。なお、ＲＡＭ１２５は、ＣＰＵ１２２の作業用記憶領域として用いられる。ＣＤ−ＲＯＭドライブ１２６は、ＣＤ−ＲＯＭ１２９などの可換式記録媒体からデータ読み取る装置である。例えば、ハードディスクドライブ１２４のプログラム記憶領域１２４ａに記憶されたプログラムは、ＣＤ−ＲＯＭ１２９の記憶データとして提供され、ＣＤ−ＲＯＭドライブ１２６によりＣＤ−ＲＯＭ１２９から読み取られて、ハードディスクドライブ１２４のプログラム記憶領域１２４ａにインストールされる。なお、ハードディスクドライブ１２４のプログラム記憶領域１２４ａに記憶されたプログラムは、通信部１２８によりネットワーク１２を介して他のサーバから取得するようにしてもよい。
【００３９】
表示部１２７は、ＣＲＴ（cathode ray tube）、ＬＣＤ（liquid crystal displayｓ）などから構成され、表示画面上に処理データを表示する。通信部１２８は、ネットワーク１２を介してクライアント１０２との通信を行う。
【００４０】
なお、本実施例ではサーバ１０２は、プログラム記憶領域１２４ａに記憶されたプログラムによりクライアント１０１−１〜１０１−ｎからのアクセスに応じてそのアクセス開始時刻や終了時刻、データ容量、処理実行時間などをアクセス情報としてアクセス情報記憶領域１２４ｃの管理テーブルに記憶し、次回アクセスからの終了予定時刻を予想する。予測された終了予定時刻は、アクセス情報記憶領域１２４ｃの管理テーブルに記憶される。
【００４１】
図６、図７はアクセス情報記憶領域１２４ｃの管理テーブルの構成図を示す。図６はクライアント１１−１〜１１−ｎからデータ転送要求前の状態、図７はクライアント１１−１〜１１−ｎからデータ転送要求が有った後の状態を示す。
【００４２】
アクセス情報記憶領域１２４ｃは、装置情報、開始時刻情報、終了時刻情報、データ容量情報、実行時間情報、転送レート情報などの情報がクライアント１１−１〜１１−ｎ毎に記憶可能とされている。装置情報は、クライアント１１−１〜１１−ｎを識別するための情報である。開始時刻情報は、クライアント１１−ｉからデータ転送要求があった時刻である。終了時刻情報は、クライアント１１−ｉへのデータ転送が終了した時刻である。データ容量情報は、クライアント１１−ｉへの転送データの容量である。実行時間情報は、クライアント１１−ｉへのデータ転送にかかった時間である。転送レート情報は、クライアント１１−ｉへのデータ転送レートを示しており、実行時間情報によりデータ容量情報を除算することにより決定される。
【００４３】
図７に示すようにクライアント１１−１〜１１−ｎからデータ転送要求がある毎に上記各情報がアクセス情報記憶領域１２４ｃに記憶される。
【００４４】
次に、サーバ１０２のＣＰＵ１２２で実行される終了時刻予測処理について説明する。
【００４５】
図８は終了時刻予測処理のフローチャートを示す。
【００４６】
クライアント１０１−ｉからサーバ１０２にアクセスがあると、サーバ１０２は、ステップＳ２−１で転送要求のあった転送データ容量と開始時刻をサーバ１０２のアクセス情報記憶領域１２４ｃに書き込む。続いてステップＳ２−２でデータ転送を開始する。
【００４７】
ステップＳ２−３でクライアント１０１−ｉから過去にデータ転送要求があったか否かを判定する。ステップＳ２−３で過去にクライアント１０１−ｉからデータ転送要求がある場合には、ステップＳ２−４でアクセス情報記憶領域１２４ｃに過去にデータ転送したときの転送レートが転送レート情報として記憶されているので、この転送レートとステップＳ２−１でアクセス情報記憶領域１２４ｃに記憶されたデータ転送容量とから終了時刻を予測する。データ転送容量を転送レートで除算することにより終了時間が求められ、開始時刻に加算することにより終了時刻が予測される。また、ステップＳ２−３でクライアント１０１−ｉから過去にデータ転送要求がない場合には、ステップＳ２−５で開始時刻に予め設定された終了時間のデフォルト値を加算し終了時刻を求める。
【００４８】
クライアント１１−ｉへのデータ転送が終了すると、ステップＳ２−６でサーバ１０２はステップＳ２−４、Ｓ２−５で求められた終了時刻をアクセス情報記憶領域１２４ｃに書き込む。また、ステップＳ２−７で、実行時間を計算し、実時間によりデータ容量を除算することにより転送レートを求め、アクセス情報記憶領域１２４ｃの転送レートを更新する。この更新された値は次回使用される。
【００４９】
このとき、サーバ１０２が処理可能なクライアント数をオーバした場合などに上記の方法により求められた各クライアント１０１−１〜１０１−ｉの終了予想時刻から次回リトライ時刻を求め、拒絶応答とともにクライアント１１−ｉに通知する。これによりサーバ１０２での負荷分散を図ることができる。
【００５０】
図９は本発明の第１実施例の拒絶応答時のシーケンス図を示す。
【００５１】
ステップＳ３−１でクライアント１０１−ｉからサーバ１０２にデータ要求があると、ステップＳ３−２でサーバ１０２はデータ転送可能か否かを判断し、処理可能なクライアント数をオーバして、クライアント１０１−ｉへのデータ転送が不可能である場合には、ＮＧ応答とリトライ時刻情報をクライアント１０１−ｉに通知する。リトライ時刻情報は、クライアント１０１−ｉの次回のデータ要求時刻であり、アクセス情報記憶領域１２４ｃに基づいて求められる。リトライ時刻情報の求め方については後で詳細に説明する。
【００５２】
クライアント１０１−ｉはサーバ１０２からＮＧ応答とリトライ時刻情報を受け取ると、ステップＳ３−３でリトライ時刻まで待機する。リトライ時刻になると、サーバ１０２に再びデータ要求を行う。
【００５３】
サーバ１０２は、ステップＳ３−５でデータ転送可能か否かを判断する。このとき、リトライ時刻は、データ転送可能となる時刻に設定されているため、クライアント１０１−ｉからの要求データをＯＫ応答とともにクライアント１０１−ｉに送信する。クライアント１０１−ｉはサーバ１０２から要求データ及びＯＫ応答を受信すると、サーバ１０２に完了応答を送信する。
【００５４】
次に拒絶応答時のサーバ１０２で実行される処理についてさらに詳細に説明する。
【００５５】
サーバ１０２は、同時接続管理チェーン及び空きクライアント管理チェーンに基づいて同時接続クライアント数の管理と、終了予測時刻情報の管理を行う。
【００５６】
図１０は同時接続管理チェーン及び空きクライアント管理チェーンの動作を説明するための図を示す。図１０（Ａ）は初期状態、図１０（Ｂ）クライアント１０１−１がサーバ１０２にアクセスした状態、図１０（Ｃ）はクライアントのアクセス数がサーバ１０２で同時接続可能なクライアント数に達した状態の同時接続管理チェーン及び空きクライアント管理チェーンの状態を示す。
【００５７】
初期状態、すなわち、クライアント１０１−１〜１０１−ｎのいずれもサーバ１０２にアクセスしていな状態では、図１０（Ａ）に示すように同時接続管理チェーンの開始ポインタは、「なし」とされる。このとき、サーバ１０２には、サーバ１０２に接続可能なｍ個の空きクライアント管理テーブルＴe１〜Ｔeｍが作成されている。管理テーブルＴe１〜Ｔeｍは、開始時刻情報、終了予測時刻情報、装置識別情報、ポインタ情報を含む構成とされている。
【００５８】
初期状態で、クライアント１１−ｉから時刻「１０：００」にデータ要求があると、このデータ要求時刻がクライアント１１−ｉの開始時刻情報として取得される。また、開始時刻情報及びデータ容量情報並びに転送レート情報に基づいて終了予測時刻、例えば「１０：０８」が算出される。以上により、図１０（Ｂ）に示すような同時接続管理テーブルＴｆ１が作成される。
【００５９】
このとき、同時接続管理チェーンの開始ポインタは同時接続管理テーブルＴｆ１を指すように設定される。このとき、他にクライアントは接続されていないので、同時接続管理テーブルＴｆ１のポインタは、「なし」となる。また、空きクライアント管理テーブルＴｅ１が同時接続管理テーブルＴｆ１として使用されるので、空きクライアント管理テーブルは、Ｔｅ２〜Ｔｅｍの（ｍ−１）個とされ、空きクライアント管理テーブルチェーンの開始ポインタは管理テーブルＴｅ２を指すように設定される。
【００６０】
次に、ｍ個のクライアントがサーバ１０２に同時接続されると、図１０（Ｃ）に示すように接続されたｍ個のクライアントの管理テーブルＴｆ１〜Ｔｆｍから構成される同時接続管理テーブルチェーンが構成される。また、このとき、空きクライアント管理テーブルはなくなるので、空きクライアント管理テーブルチェーンの開始ポインタは「なし」とされる。
【００６１】
サーバ１０２は、上記のような同時接続管理テーブルチェーン及び空きクライアント管理テーブルチェーンに基づいて同時接続クライアント数の管理と終了予測時刻の管理を行う。
【００６２】
図１１は本発明の第１実施例のクライアントからの要求時のサーバ１０２の動作フローチャートを示す。
【００６３】
ステップＳ４−１でクライアント１０１−ｉから要求があると、ステップＳ４−２で空きクライアント管理テーブルチェーンの開始ポインタを読み出す。サーバ１０２は、ステップＳ４−３で、空きクライアント管理テーブルチェーンの開始ポインタが「なし」か否かを判定する。ステップＳ４−３で空きクライアント管理テーブルチェーンの開始ポインタが「なし」でない場合、すなわち、空きクライアント管理テーブルがまだ存在する場合には、クライアント１０１−ｉの接続が可能であるので、次に、ステップＳ４−４で空きクライアント管理テーブルをＴｅｉを同時接続管理テーブルチェーンに接続し直し、クライアント１０１−ｉの開始時間情報、終了予測時間情報、識別情報を接続し直した同時接続管理テーブルＴｆｉに書き込む。次にサーバ１０２は、ステップＳ４−５で要求データをクライアント１０１−ｉに転送する。
【００６４】
サーバ１０２は、要求データをクライアント１０１−ｉに転送し終わると、ステップＳ４−６で同時接続管理テーブルチェーンを開始ポインタから順次検索してクライアント１０１−ｉの管理テーブルＴｆｉを求める。
【００６５】
次に、ステップＳ４−７でクライアント１０１−ｉの管理テーブルＴｆｉを空きクライアント管理テーブルチェーンに付け替え、その管理テーブル及びその前後の管理テーブルの内容をチェーンが継続するように書き換える。
【００６６】
また、ステップＳ４−３で空きクライアント管理テーブルチェーンの開始ポインタが「なし」、すなわち、クライアント１０１−ｉがサーバ１０２に接続できない場合には、次にステップＳ４−８で同時接続管理テーブルチェーンのポインタが指す管理テーブルをステップＳ４−９で管理テーブルのポインタが「なし」になるまで読み出す。ステップＳ４−９で読み出された管理テーブルのポインタが「なし」か、否かを判定している。
【００６７】
ステップＳ４−９で読み出された管理テーブルのポインタが「なし」でない、すなわち、同時接続管理テーブルチェーンの途中の管理テーブルであると、ステップＳ４−１０で読み出された管理テーブルの終了時刻情報がサーバ１０２内部に予め設定された最早終了時刻領域に設定された最早終了時刻より小さいか否かを判定する。ステップＳ４−１０で読み出された管理テーブルの終了時刻情報がサーバ１０２内部に予め設定された最早終了時刻より小さくなければ、次にステップ４−１３で現在の管理テーブルのポインタから次の管理テーブルのポインタを読出し、ステップＳ４−９の処理に戻る。
【００６８】
ステップＳ４−１０で読み出された管理テーブルの終了時刻情報がサーバ１０２内部に設定される最早終了時刻より小さい場合には、次にステップＳ４−１１で管理テーブルの最終時刻が次回リトライ時刻より大きいか否かを判定する。ステップＳ４−１１で管理テーブルの終了時刻が次回リトライ時刻より大きくなければ、ステップＳ４−１３の処理に移行する。ステップＳ４−１１で管理テーブルの最終時刻が次回リトライ時刻より大きければ、ステップＳ４−１２で最早終了時刻領域に管理テーブルの終了時刻を書き込み、ステップＳ４−１３の処理に移行する。
【００６９】
上記ステップＳ４−１０〜Ｓ４−１３を同時接続管理テーブルチェーンのポインタが「なし」になるまで繰り返し、ステップＳ４−９で同時接続管理テーブルチェーンのポインタが「なし」になると、ステップＳ４−１４で最早終了時刻領域に設定された最早終了時刻を次回リトライ時刻として応答する。
【００７０】
図１２は本発明の第１実施例の拒絶応答時の動作説明図を示す。図１２は同時接続クライアント数が設定により決められている場合の例であり、横軸には時間を、縦軸にはクライアントからサーバへのアクセスの状態を示す。縦軸の上側、超過と書いてある部分には同時接続可能なクライアントを超えた分のアクセスを示す。斜線部分は、クライアントからサーバへのアクセスの予定がある状態、すなわち、既にリザーブされた部分を示し、太線で囲った部分が超過したアクセス、二重線で囲った部分が超過したアクセスに対して設定されたリトライによるアクセス予定を示している。また、ｔ０は、例えば、クライアントからサーバへのアクセス時間の最小単位を示している。
【００７１】
サーバ１０２にクライアント１０１−ｉからデータ要求があった場合に、その時点における、図１２の縦軸で同時接続可能なアクセス部分で、空いているところ、すなわち、斜線がない部分を探し、リザーブする。上記の動作を接続要求のあったクライアントに対して行っていく。クライアント１０１−ｉは、時刻Ｔ０でデータ要求時にサーバ１０２に接続できなかった場合であり、そこから単位時間ｔ０ずつ進めて、縦軸に空いている場所を探す。空いているところがあるまで時間を進めて行き、見つかった時刻を次回リトライ時刻として応答を返す。この例では図１２に二重線枠で示す部分に空いているところがあったので、その時刻Ｔ１を次回リトライ時刻として応答を返す。
【００７２】
本実施例によれば、クライアント１０１−ｉからサーバ１０２への接続が太線で示す同時接続が可能な部分にリザーブされるため、クライアント１０１−ｉが次回リトライ時刻Ｔ１に再度データ要求を行ったときにはサーバ１０２に確実に接続でき、データを取得できる。
【００７３】
なお、本実施例では、サーバ１０２でクライアントのデータ転送開始時刻、終了時刻などを管理したが、クライアントがデータ要求時に拒絶通知を行った場合にリトライ回数を計数し、サーバがリトライ回数に基づいてクライアントからのデータ要求の優先順位を決定することにより、クライアント間のサービスの偏りを減らすようにしてもよい。
【００７４】
サーバがリトライ回数に基づいてクライアントからのデータ要求の優先順位を決定することにより、クライアント間のサービスの偏りを減らす方法を用いた実施例を説明する。
【００７５】
なお、本実施例のシステム構成は、第１実施例と同様であり、クライアント１０１−１〜１０１−ｉの構成及び処理並びにサーバ１０２の構成及び処理が第１実施例と相違する。
【００７６】
図１３は本発明の第２実施例のクライアントのブロック構成図を示す。なお、図４と同一構成部分には同一符号を付し、その説明は省略する。
本実施例のクライアント１０１−１〜１０１−ｎは、ハードディスクドライブ１１４にアクセス情報記憶領域１１４ｃに代えてリトライ回数を管理するリトライ回数管理領域１１４ｄを有する。リトライ回数管理領域１１４ｄには、リトライ回数が記憶される。リトライ回数管理領域１１４ｄに記憶されるリトライ回数は、初期状態では「０」であり、ＮＧ応答毎に＋１される。
【００７７】
図１４は、本発明の第２実施例のクライアントの処理フローチャートを示す。
【００７８】
まず、ステップＳ５−１でサーバ１０２へのデータ要求があると、ステップＳ５−２でデータ要求にリトライ回数情報を付与したものをサーバ１０２に送信する。ステップＳ５−３でサーバ１０２から応答がＮＧ応答か否かを判定する。ステップＳ５−３でサーバ１０２からの応答がＮＧ応答である場合には、ステップＳ５−４でリトライ回数管理部のリトライ回数を＋１する。また、ステップＳ５−３でサーバ１０２からの応答がＮＧ応答でない、すなわち、ＯＫ応答のときには、ステップＳ５−５でリトライ回数管理部のリトライ回数をクリアし、「０」にする。
【００７９】
図１５は本発明の第２実施例のサーバのブロック構成図を示す。
【００８０】
本実施例のサーバ１０２は、ハードディスクドライブ１２４にアクセス情報記憶領域１２４ｃに代えてクライアント制御領域２０１を有する。
【００８１】
サーバ１０２は、クライアント１０１−１〜１０１−ｎからのデータ要求に付与されたリトライ回数情報に基づいてクライアント制御領域２０１の設定を更新している。また、サーバ１０２は、クライアント制御領域２０１からの設定に応じてクライアント１０１−１〜１０１−ｎからのデータ要求に対する処理を制御している。
【００８２】
図１６はクライアント制御領域２０１のデータ構成図を示す。
【００８３】
クライアント制御領域２０１は、クライアント数領域２０２、リトライ用制御領域２０３−０〜２０３−ｎを含む構成とされている。
【００８４】
クライアント数領域２０２には、現在処理されているクライアント数が記憶される。リトライ用制御領域２０３−０には、リトライ回数「０」回のクライアント数、リトライ用制御領域２０３−１にはリトライ回数「１」回のクライアント数、リトライ用制御領域２０３−ｎにはリトライ回数「ｎ」回のクライアント数が記憶される。サーバ１０２は、このクライアント制御部２０１に応じて以下に示すような処理を行う。
【００８５】
図１７は本発明の第２実施例のサーバの処理フローチャートを示す。
【００８６】
サーバ１０２は、クライアント１０１−ｉからｎ回目のリトライによるデータ要求があると、ステップＳ６−１で処理可能なクライアント数が「０」であるか否かが判定される。クライアント１０１−ｉは、データ要求時にリトライ回数を付与してサーバ１０２にデータ要求を行う。ステップＳ６−１で処理可能なクライアント数が「０」の場合、ステップＳ６−２でリトライ用制御領域２０１―ｎを＋１し、ステップＳ６−３でクライアント１０１−ｉにＮＧ応答を返す。
【００８７】
また、ステップＳ６−１で処理可能なクライアント数が「０」でない場合、ステップＳ６−４で処理可能なクライアント数からリトライ用制御領域２０２−ｎのリトライ回数を減算した値が「０」より大きいか否かを判定する。すなわち、サーバ１０２で処理可能か否かを判定する。ステップＳ６−４で処理可能なクライアント数からリトライ用制御領域２０２−ｉのリトライ回数を減算した値が「０」より大きくない場合には、ステップＳ６−２、Ｓ６−３を実行する。
【００８８】
ステップＳ６−４で処理可能なクライアント数からリトライ用制御領域２０２−ｉのリトライ回数を減算した値が「０」より大きい場合には、ステップＳ６−５でクライアント数領域２０２に記憶されたクライアント数を「−１」する。
【００８９】
次にステップＳ６−６でクライアント１０１−ｉがリトライ回数「０」のアクセスか否かを判定する。ステップＳ６−６でクライアント１０１−ｉがリトライ回数「０」のアクセスでない場合には、ステップＳ６−７でリトライ用制御領域２０３−（ｎ−１）のリトライ回数を「−１」する。次にステップＳ６−８でクライアント１０１−ｉにＯＫ応答及び要求データを転送し、ステップＳ６−９でクライアント数領域２０２の処理可能クライアント数を「＋１」する。
【００９０】
また、ステップＳ６−６でリトライ回数「０」のアクセスの場合には、ステップＳ６−８の処理に移行する。
【００９１】
図１８、図１９は第２実施例の具体的動作を説明するための図を示す。
【００９２】
時刻ｔ１でサーバ１０２はクライアント１０１−１からのアクセスに基づいて処理を行っている。次に時刻ｔ２でサーバ１０２はクライアント１０１−２からのアクセスに基づいて処理を行っている。
【００９３】
次に時刻ｔ３でクライアント１０１−３からアクセスがある。このとき、サーバ１０２で同時接続処理可能なクライアント数は「２」であると、既にクライアント１０１−１及びクライアント１０１−２の２つのクライアントが処理中であるため、クライアント１０１−３にはエラーを返す。リトライ用制御領域２０３−０を「＋１」する。このとき、リトライ用制御領域２０３−０は「１」になる。
【００９４】
時刻ｔ４でクライアント１０１−１の処理が完了すると、クライアント数領域２０２が−１され、「１」となる。時刻ｔ５でクライアント１０１−４からリトライによるものでないアクセスがある。このとき、リトライ用制御領域２０３−０が「１」であり、処理待ちのクライアント１０１−３が存在するので、クライアント１０１−４のアクセスに対する処理は行わず、一旦エラー応答を返す。リトライ用制御領域２０３−０を「＋１」する。よって、リトライ用制御領域２０３−０は、「２」になる。時刻ｔ６でクライアント１０１−２の処理が完了すると、クライアント数領域２０２が−１され、「２」となる。
【００９５】
次に時刻ｔ７でクライアント１０１−３から１回目のリトライによりアクセスがあると、リトライ用制御領域２０３−１は「０」であり、後にリトライ待ちのクライアントはなく、また、このとき、クライアント数領域２０２は「２」であり、同時接続処理可能なクライアント数が２であるため、サーバ１０２はクライアント１０１−３からのアクセスに応じた処理を行う。リトライ回数１回目のクライアントの処理が行われるので、リトライ用制御領域２０３−０を−１し、「１」とする。
【００９６】
以上の動作により、リトライのアクセスを、リトライなしのアクセスよりも優先して受け付ける。
【００９７】
なお、各クライアント１０１−１〜１０１−ｎでサーバ１０２への要求が成功した時刻を記憶しておき、その時刻にアクセスを行うことにより負荷を分散するようにしてもよい。
【００９８】
次に各クライアント１０１−１〜１０１−ｎでサーバ１０２への要求が成功した時刻を記憶しておき、その時刻にアクセスを行うことにより負荷を分散する実施例について説明する。
【００９９】
なお、そのシステム構成は、第１実施例と同様であり、クライアント１０１−１〜１０１−ｎの構成及び処理が第１実施例は相違する。また、サーバ１０２は、従来のサーバ１３と同様な処理を行う。
【０１００】
図２０は本発明の第３実施例のクライアント１０１−ｉのブロック構成図を示す。同図中、図４と同一構成部分には同一符号を付し、その説明は省略する。
【０１０１】
本実施例のクライアント１０１−ｉは、アクセス成功時刻管理領域１１４ｅを有する。
【０１０２】
次にクライアントと１０１−ｉの処理について説明する。
【０１０３】
図２１は本発明の第３実施例のクライアントのフローチャートを示す。
【０１０４】
ステップＳ７−１はアクセス成功時刻になったか否かを判定する。ステップＳ７−１でアクセス成功管理領域１１４ｅに記憶されたアクセス成功時刻になったと判断されたときには、ステップＳ７−２でサーバ１０２にアクセスする。ステップＳ７−３でクライアント１０１−ｉはサーバ１０２からの応答がＮＧ応答か否かを判断する。ステップＳ７−３でクライアント１０１−ｉからの応答がＮＧ応答でない、すなわち、ＯＫ応答のときには、そのまま処理を終了する。
【０１０５】
また、ステップＳ７−３でクライアント１０１−ｉからの応答がＮＧ応答のときには、ステップＳ７−４で所定時間経過後、サーバ１０２に対してデータ要求のリトライ処理を行う。次に、ステップＳ７−５でサーバ１０２からの応答がＮＧ応答か否かを判定する。
【０１０６】
ステップＳ７−５でサーバ１０２からの応答がＮＧ応答のときには、ステップＳ７−４に戻って再びリトライを行う。ステップＳ７−５でＯＫ応答のときには、ステップＳ７−６でそのときのリトライ時刻をアクセス成功管理領域１１４ｅに記憶して処理を終了する。これにより次回アクセス時は、アクセスが成功したアクセス成功時刻にサーバ１０２へのアクセスが行われる。
【０１０７】
次に第３実施例の動作を具体例を用いて説明する。
【０１０８】
図２２、図２３は、第３実施例の具体例を動作するための図を示す。
【０１０９】
時刻ｔ１、１０：０２にクライアント１０１−ｉからデータ転送要求がある。このとき、サーバ１０２がデータ転送可能か判断する。この場合は拒絶応答をしたとする。
【０１１０】
クライアント１０１−ｉはサーバ１０２からのＮＧ応答に対し、リトライを時刻ｔ２、１０：０４に実施する。このとき、サーバ１０２はクライアント１０１−ｉからの要求に対する処理を実行し、クライアント１０１−ｉにＯＫ応答を行う。
【０１１１】
クライアント１０１−ｉは、転送終了後、アクセス成功管理領域１１４ｅにサーバ１０２との接続が成功した時刻ｔ３、１０：０４を記憶する。
【０１１２】
次に、クライアント１０１−ｉは、アクセス成功管理領域１１４ｅに記憶された時刻１０：０４になると、サーバ１０２にアクセスを行う。
【０１１３】
本実施例によれば、クライアント側の処理を変更するだけでサーバ１０２への負荷を分散することができる。
【０１１４】
なお、クライアントがリトライ可能な時間帯を超えてリトライが必要なときには、ランダムにリトライ時刻を設定し直し、不可能な時間帯のリトライ要求を回避するようにしてもよい。
【０１１５】
図２４は本発明の第３実施例のクライアントの処理の変形例のフローチャートを示す。同図中、図２１と同一処理部分には同一符号を付し、その説明は省略する。
【０１１６】
本変形例では、ステップＳ７−５でＮＧ応答でない、すなわち、ＯＫ応答のときには、ステップＳ７−１１でアクセス成功時刻は、運用時間帯か否かを判定する。ステップＳ７−１１でアクセス成功時刻が運用時間帯の場合には、ステップＳ７−６でリトライが成功した時刻をアクセス成功時刻としてアクセス成功管理領域１２４ｅに記憶する。また、ステップＳ７−１１でアクセス成功時刻が運用時間帯でない場合には、ステップＳ７−１２でアクセス成功時刻を運用時間帯の内からランダムに選択された時刻をアクセス成功管理領域１２４ｅに記憶する。
【０１１７】
次に、本変形例の具体的な動作を図面とともに説明する。
【０１１８】
図２５、図２６は本発明の第３実施例の変形例の動作を説明するための図を示す。
【０１１９】
まず、時刻ｔ１、１６：５７にクライアント１０１−ｉからデータ転送要求がある。このとき、サーバ１０２がデータ転送可能か判断し、拒絶応答をする。
【０１２０】
クライアント１０１−ｉはリトライを時刻ｔ２、１６：５９に実施する。サーバ１０２はリトライ時の要求を受け付ける。
【０１２１】
転送終了後、クライアント１０１−ｉは、サーバ１０２との接続が成功した時刻ｔ２、１６：５９が運用時間帯か否かを判定する。運用時間帯は、例えば、稼動時間範囲内の１時間前に設定する。時刻ｔ２が運用時間帯を外れていれば、アクセス時刻をランダムに選択し、アクセス成功管理領域１２４ｅを書き換える。例えば、ここでは、時刻ｔ３、１３：００に書き換えられる。
【０１２２】
本実施例によれば、予め設定された運用時間帯のうちでアクセスが成功した時刻に処理を行うことができる。
【０１２３】
なお、サーバのデータが更新された場合、クライアントからの要求を予めサーバがスケジュール化し、それをクライアント側に通知することにより、負荷分散を図るようにすることもできる。
【０１２４】
サーバのデータが更新された場合、クライアントからの要求を予めサーバがスケジュール化し、それをクライアント側に通知することにより、負荷分散を図る実施例について説明する。
【０１２５】
本実施例のシステム構成は、第１実施例と同様であるので、その説明は省略する。本実施例は、従来のクライアント１１と同様な構成であり、処理が相違するとともに、サーバ１０２の構成及び処理が第１実施例と相違する。
【０１２６】
実施例は、クライアントに共通なデータ資源がサーバに置かれており、それをサーバ側で変更した時、クライアントが次回のアクセスで一斉にデータ転送要求する場合の負荷分散する。
【０１２７】
まず、サーバ１０２の構成について説明する。
【０１２８】
図２７は本発明の第４実施例のサーバのブロック構成図を示す。同図中、図５と同一構成部分には同一符号を付し、その説明は省略する。
【０１２９】
本実施例のサーバ１０２は、アクセス情報記憶領域１２４ｃに代えてデータ資源対象管理領域１２４ｆ及びスケジュール表管理領域１２４ｇを有する。
【０１３０】
データ資源対象管理領域１２４ｆは、データ資源とその対象となるクライアントとの対応が関連付けられたテーブルである。スケジュール表管理領域１２４ｇは、データ資源変更の対象となるクライアントのアクセススケジュールが記憶されている。
【０１３１】
図２８はスケジュール表管理領域１２４ｇのデータ構成図を示す。
【０１３２】
スケジュール表管理領域１２４ｇには、サーバ１０２の処理スケジュール表が記憶されている。処理スケジュール表は、図２８に示すようにクライアント１０１−１〜１０１−ｉのうち対象となるクライアント１０１−11〜１０１−26のアクセス時刻が設定された構成とされている。
【０１３３】
まず、第４実施例の全体の処理の流れについて説明する。
【０１３４】
図２９は本発明の第４実施例の処理フローチャートを示す。
【０１３５】
ステップＳ８−１でデータ資源変更があると、ステップＳ８−２でデータ資源変更の影響があるクライアントをデータ資源対象管理領域１２４ｆに基づいて抽出する。
【０１３６】
ステップＳ８−３では、ステップＳ８−２で抽出されたクライアントの開始、終了時刻が計算される。
【０１３７】
図３０はクライアントの開始、終了時刻を計算するための処理フローチャートを示す。
【０１３８】
データ資源変更の対象となるクライアントが抽出されるとから要求があると、ステップＳ９−１で空きクライアント管理テーブルチェーンの開始ポインタを読み出す。次にサーバ１０２は、ステップＳ９−２で、空きクライアント管理テーブルチェーンの開始ポインタが「なし」か、否かを判定する。ステップＳ９−２で空きクライアント管理テーブルチェーンの開始ポインタが「なし」でない場合、すなわち、空きクライアント管理テーブルが存在する場合には、抽出されたクライアント１０１−ｉの接続が可能であるので、次に、ステップＳ９−３で空きクライアント管理テーブルＴｅｉを同時接続管理テーブルチェーンに接続し直し、クライアント１０１−ｉの開始時間情報、終了予測時間情報、識別情報を接続し直した同時接続管理テーブルＴｆｉに書き込む。次にサーバ１０２は、ステップＳ９−４でサーバ１０２は、対象とするクライアントがなくなったか否かを判定する。ステップＳ９−４で対象とするクライアントが存在する場合には、ステップＳ９−５で抽出されたクライアントのうち次のクライアント１０１−ｉに対してステップＳ９−２に戻って処理を実行する。
【０１３９】
また、サーバ１０２はステップＳ９−２で空きクライアント管理テーブルチェーンの開始ポインタが「なし」ではない場合には、ステップＳ９−６で同時接続管理テーブルチェーンを開始ポインタから順次検索し、順次に抽出したクライアントの管理テーブルを獲得する。また、獲得した管理テーブル数、すなわち、クライアント数をカウントする。
【０１４０】
次に、ステップＳ９−７で獲得した管理テーブルの内容を読み出しポインタを獲得する。ステップＳ９−８で獲得した管理テーブルのポインタが「ない」か、否かを判定する。
【０１４１】
ステップＳ９−８で獲得した管理テーブルから読み出したポインタが同時接続管理テーブルチェーンが管理テーブルがないことを示す「なし」ではない、すなわち、同時接続管理テーブルチェーンが以降続くものである場合には、ステップＳ９−９でその管理テーブルに記憶された終了時刻がそれまでの最早終了時刻より小さいか否かが判断される。ステップＳ９−９でその管理テーブルの終了時刻が最早終了時刻より小さいと判断された場合には、ステップＳ９−１０でその管理テーブルの終了時刻を最早終了時刻として設定する。
【０１４２】
次に、ステップＳ９−１１でその管理テーブルのポインタから次に管理テーブルを読み出し、ステップＳ９−８に戻って管理テーブルのポインタが「なし」になるまで同様な処理を行う。ステップＳ９−８で管理テーブルのポインタが「なし」になると、サーバ１０２はステップＳ９−１２でステップＳ９−６で獲得した管理テーブルの開始時刻にステップＳ９−１0で設定された最早終了時刻を書き込む。
【０１４３】
次にステップＳ９−１３で、ステップＳ９−６で獲得した管理テーブルの終了時刻をデータ容量及び転送レート並びに開始時刻から予測する。終了時刻は、例えば、データ容量を転送レートで除算した結果を開始時刻に加算したものとなる。次にステップＳ９−１４で、ステップＳ９−６で獲得した管理テーブルを同時接続管理チェーンにつなぎ直し、ステップＳ９−４に戻って処理を続ける。
【０１４４】
上記操作を繰り返すことにより図２８に示すように拒絶応答されるクライアントが存在しないスケジュール表が作成できる。
【０１４５】
ここで、再び図２９に戻って説明を続ける。
【０１４６】
ステップＳ８−３で図２８に示すようなスケジュール表が作成されると、クライアント１０１−ｉからの要求を待つ。ステップＳ8−１１でクライアント１０１−ｉから要求があると、サーバ１０２はステップＳ８−４で既に作成されたスケジュール表からクライアント１０１−ｉの開始時間を抽出し、定義ファイルを作成する。次にステップＳ８−５で、サーバ１０２からクライアント１０１−ｉに拒絶応答とともに、ステップＳ８−４で作成された定義ファイルを通知する。
【０１４７】
次にクライアント１０１−ｉは、ステップＳ８−１２で、次回の要求時刻を定義ファイルで定義された時刻に書き換える。
【０１４８】
図３１はクライアント１０１−１〜１０１−ｎに設定された要求時刻を示す図である。
【０１４９】
例えば、クライアント１０１−１〜１０１−ｎのアクセス情報記憶領域１１４ｃに図３１に示すようにサーバ１０２で定義された次回要求時刻が設定される。
【０１５０】
クライアント１０１−ｉは、要求時刻になると、ステップＳ８−１３でサーバ１０２にデータ要求を行う。
【０１５１】
サーバ１０２は、ステップ８−６でクライアント１０１−ｉからデータ要求を受信すると、サーバ１０２は要求されたデータをクライアント１０１−ｉに転送する。このとき、クライアント１０１−ｉからの要求はスケジュール表の通りであり、サーバ１０２は処理可能な状態にあるので、拒絶応答することなくデータが転送可能となる。
【０１５２】
ステップＳ８−１４でクライアント１０１−ｉが要求データの受信を完了すると、完了報告をサーバ１０２に通知し、処理は終了する。
【０１５３】
本実施例によれば、予め決められたスケジュール表の通りにサーバ１０２がクライアント１０１−１〜１０１−ｎからの要求を受け付けることによりクライアント１０１−１〜１０１−ｎは何回も拒絶応答を受けることなく必要なデータを受けることができる。また、サーバ１０２は、スケジュール表の通りに処理を進めることにより効率よく処理を進めることができる。
【０１５４】
なお、本実施例のステップＳ８−３で、図２８に示されるスケジュール表を作成する際に、データの属性、例えば、暗号化などの有無による時間を加味して終了時間を予測するようにしてもよい。
【０１５５】
図３２は管理テーブルのデータ構成図、図３３はスケジュール表を示す図である。同図中、図６、図２８と同一構成部分には同一符号を付し、その説明は省略する。
【０１５６】
本実施例の管理テーブル３００には、データ属性３０１が付与される。データ属性３０１は、例えば、図３２に示すように暗号化の時間である。図３２に示す管理テーブル３００に基づいて図３３に示すスケジュール表を作成する際に、算出された終了時刻にデータ属性３０１の暗号化時間ｔaを加算した時間をスケジュール表上での終了時刻とする。
【０１５７】
これにより、暗号化時間ｔａなどのデータ属性３０１に基づいて消費される時間を含んで終了時刻を予測できるため、正確に終了時刻を予測できる。
【０１５８】
なお、本実施例には下記の付記事項が含まれる。
【０１５９】
（付記１）  クライアントからサーバにデータ転送要求を行い、該データ転送要求に応じて該サーバから該クライアントにデータを送信する情報処理システムにおいて、
前記サーバは、前記クライアントからのデータ転送要求に基づいて前記クライアントからのアクセス状態を示すアクセス情報を作成し、該アクセス情報に基づいて前記クライアントから前記サーバへのアクセスを管理するアクセス管理部を有することを特徴とする情報処理システム。
【０１６０】
（付記２）  前記サーバは、前記アクセス管理部に記憶されたアクセス情報に基づいて次回アクセス情報を作成し、前記クライアントに通知するアクセス情報通知部を有することを特徴とする付記１記載の情報処理システム。
【０１６１】
（付記３）  前記クライアントは、前記サーバからの前記次回アクセス情報に基づいて前記サーバにアクセスすることを特徴とする付記２記載の情報処理システム。
【０１６２】
（付記４）  前記サーバは、前記アクセス情報として前記アクセス回数を管理しており、前記アクセス回数に基づいて前記クライアントからのアクセスの許可を制御することを特徴とする付記１記載の情報処理システム。
【０１６３】
（付記５）  前記アクセス情報は、前記クライアントから前記サーバへのアクセスを開始した開始時刻及びアクセスを終了した終了時刻並びにその処理時間であることを特徴とする付記１乃至３のいずれか一項記載の情報処理システム。
【０１６４】
（付記６）  クライアントからサーバにデータ転送要求を行い、該データ転送要求に応じて該サーバから該クライアントにデータを送信する情報処理システムにおいて、
前記クライアントは、前記サーバへのアクセスが成功した時刻を少なくとも次回のアクセス時刻に設定することを特徴とする情報処理システム。
【０１６５】
（付記７）  前記クライアントは、設定されたアクセス時刻にアクセスが失敗した場合には、次回アクセス時刻をランダムに設定することを特徴とする付記５記載の情報処理システム。
【０１６６】
（付記８）  クライアントからサーバにデータ転送要求を行い、該データ転送要求に応じて該サーバから該クライアントにデータを送信する情報処理システムにおいて、
前記サーバは、アクセスされるクライアントを抽出し、該抽出されたクライアントのアクセス時刻を拒絶応答がないように設定し、設定された前記アクセス時刻を前記クライアントに通知し、
前記クライアントは、前記サーバから通知されたアクセス時刻に前記サーバにアクセスすることを特徴とする情報処理システム。
【０１６７】
（付記９）  前記サーバは、前記クライアントに送信するデータに予め設定されたデータ属性に応じて前記アクセス時刻を補償することを特徴とする付記８記載の情報処理システム。
【０１６８】
（付記１０）  クライアントからのデータ転送要求に応じて該クライアントにデータを送信する情報処理装置において、
前記クライアントからのデータ転送要求に基づいて該クライアントからのアクセス状態を示すアクセス情報を作成させ、前記アクセス情報に基づいて前記クライアントからのアクセスを分散させるように前記クライアントからのアクセスを制御させるアクセス管理部を有することを特徴とする情報処理装置。
【０１６９】
（付記１１）  前記アクセス管理部は、前記アクセス情報に基づいて前記クライアントの次回アクセス時刻を作成し、該次回アクセス時刻を前記クライアントに通知させることを特徴とする付記１０記載の情報処理装置。
【０１７０】
（付記１２）  サーバにデータ転送要求を行い、該データ転送要求に応じたデータを前記サーバから転送させる情報処理装置において、
前記サーバへのアクセスが成功した時刻を前記クライアントの次回のアクセス時刻に設定させるアクセス管理部を有することを特徴とする情報処理装置。
【０１７１】
（付記１３）  前記アクセス管理部は、前記アクセス時刻に前記サーバへのアクセスに失敗した場合には、次回アクセス時刻をランダムに設定させることを特徴とする付記１２記載の情報処理装置。
【０１７２】
（付記１４）  クライアントからのデータ転送要求に応じて該クライアントにデータを送信する情報処理装置において、
データ転送を行うべきクライアントを抽出させ、該抽出されたクライアントのアクセス時刻を拒絶応答がないように設定させ、設定された前記アクセス時刻を前記クライアントに通知させるアクセス管理部を有することを特徴とする情報処理装置。
【０１７３】
（付記１５）  前記アクセス管理部は、前記サーバから前記クライアントに送信するデータに予め設定されたデータ属性に応じて前記クライアントが前記サーバにアクセスする前記アクセス時刻を補償させることを特徴とする付記１４記載の情報処理装置。
【０１７４】
（付記１６）  クライアントからサーバにデータ転送要求を行い、該データ転送要求に応じて該サーバから該クライアントにデータを送信するシステムのアクセス分散方法において、
前記クライアントからのデータ転送要求に基づいて前記クライアントからのアクセス状態を示すアクセス情報を作成し、前記アクセス情報に基づいて前記クライアントからのアクセスが分散されるように制御することを特徴とするアクセス分散方法。
【０１７５】
（付記１７）  前記アクセス情報に基づいて前記クライアントの次回アクセス時刻を作成し、前記クライアントに通知することを特徴とする付記１６記載のアクセス分散方法。
【０１７６】
（付記１８）  前記次回アクセス時刻に前記クライアントから前記サーバにアクセスを行わせることを特徴とする付記１７記載のアクセス分散方法。
【０１７７】
（付記１９）  クライアントからサーバにデータ転送要求を行い、該データ転送要求に応じて該サーバから該クライアントにデータを送信するシステムのアクセス分散方法において、
前記サーバへのアクセスが成功した時刻を前記クライアントの次回のアクセス時刻に設定することを特徴とするアクセス分散方法。
【０１７８】
（付記２０）  前記クライアントが前記アクセス時刻にアクセスに失敗した場合には、次回アクセス時刻をランダムに設定することを特徴とする付記１９記載のアクセス分散方法。
【０１７９】
（付記２１）  クライアントからサーバにデータ転送要求を行い、該データ転送要求に応じて該サーバから該クライアントにデータを送信するシステムのアクセス分散方法において、
データ転送を行うべきクライアントを抽出し、該抽出されたクライアントのアクセス時刻を拒絶応答がないように設定し、設定された前記アクセス時刻を前記クライアントに通知し、
前記サーバから通知されたアクセス時刻に前記クライアントを前記サーバにアクセスさせることを特徴とするアクセス分散方法。
【０１８０】
（付記２２）  前記サーバから前記クライアントに送信するデータに予め設定されたデータ属性に応じて前記クライアントが前記サーバにアクセスする前記アクセス時刻を補償することを特徴とする付記２１記載のアクセス分散方法。
【０１８１】
（付記２３）  コンピュータに、
クライアントからのデータ転送要求に基づいて該クライアントからのアクセス状態を示すアクセス情報を作成させ、
前記アクセス情報に基づいて前記クライアントからのアクセスを分散させるように前記クライアントからのアクセスを制御させることを特徴とするプログラム。
【０１８２】
（付記２４）  前記アクセス情報に基づいて前記クライアントの次回アクセス時刻を作成し、該次回アクセス時刻を前記クライアントに通知させることを特徴とする付記２３記載のプログラム。
【０１８３】
（付記２５）  クライアントからサーバにデータ転送要求を行い、該データ転送要求に応じて該サーバから該クライアントにデータを送信するシステムであって、
コンピュータに、前記サーバへのアクセスが成功した時刻を前記クライアントの次回のアクセス時刻に設定させることを特徴とするプログラム。
【０１８４】
（付記２６）  前記アクセス時刻に前記サーバへのアクセスに失敗した場合には、次回アクセス時刻をランダムに設定させることを特徴とする付記２５記載のプログラム。
【０１８５】
（付記２７）  コンピュータに、
データ転送を行うべきクライアントを抽出させ、該抽出されたクライアントのアクセス時刻を拒絶応答がないように設定させ、設定された前記アクセス時刻を前記クライアントに通知させることを特徴とするプログラム。
【０１８６】
（付記２８）  前記サーバから前記クライアントに送信するデータに予め設定されたデータ属性に応じて前記クライアントが前記サーバにアクセスする前記アクセス時刻を補償させることを特徴とする付記２７記載のプログラム。
【０１８７】
【発明の効果】
上述の如く、本発明によれば、クライアントとサーバ間にインターネットのような性能が不確定なネットワークを経由した場合でも、各クライアントの処理時間が予測できるので、クライアントに対して最適なリトライ時刻を示すことができる。その結果、サーバ、クライアントの双方において余分な負荷がかかることなく、かつ効率的に通信を行える。
【０１８８】
また、クライアントからのリトライ回数に応じて、要求に優先順位付けを行うことにより、極端にサービス待ちが長くなるクライアントが出ることを防止できる。
【０１８９】
さらに、クライアントからのアクセスで一斉にデータ転送要求が予想される場合、各クライアント毎に終了予測を行い、各クライアントの次回のアクセス時刻をサーバからの指示で変更することにより、サーバでの負荷の制御を確実に実施できる。
【図面の簡単な説明】
【図１】クライアント−サーバシステムのブロック構成図である。
【図２】従来のクライアント−サーバシステムの動作説明図である。
【図３】本発明の一実施例のシステム構成図である。
【図４】クライアント１１−ｉのブロック構成図である。
【図５】サーバ１０２のブロック構成図である。
【図６】アクセス情報記憶領域１２４ｃの管理テーブルの構成図である。
【図７】アクセス情報記憶領域１２４ｃの管理テーブルの構成図である。
【図８】終了時刻予測処理のフローチャートである。
【図９】本発明の第１実施例の拒絶応答時のシーケンス図である。
【図１０】同時接続管理チェーン及び空きクライアント管理チェーンの動作を説明するための図である。
【図１１】本発明の第１実施例のクライアントからの要求時のサーバ１０２の動作フローチャートである。
【図１２】本発明の第１実施例の拒絶応答時の動作説明図である。
【図１３】本発明の第２実施例のクライアントのブロック構成図である。
【図１４】本発明の第２実施例のクライアントの処理フローチャートである。
【図１５】本発明の第２実施例のサーバのブロック構成図を示す。
【図１６】クライアント制御領域２０１のデータ構成図である。
【図１７】本発明の第２実施例のサーバの処理フローチャートである。
【図１８】本発明の第２実施例の具体的動作を説明するための図である。
【図１９】本発明の第２実施例の具体的動作を説明するための図である。
【図２０】本発明の第３実施例のクライアント１０１−ｉのブロック構成図である。
【図２１】本発明の第３実施例のクライアントのフローチャートである。
【図２２】第３実施例の具体例を動作するための図である。
【図２３】第３実施例の具体例を動作するための図である。
【図２４】本発明の第３実施例のクライアントの処理の変形例のフローチャートである。
【図２５】本発明の第３実施例の変形例の動作を説明するための図である。
【図２６】本発明の第３実施例の変形例の動作を説明するための図である。
【図２７】本発明の第４実施例のサーバのブロック構成図である。
【図２８】スケジュール表管理領域１２４ｇのデータ構成図である。
【図２９】本発明の第４実施例の処理フローチャートである。
【図３０】クライアントの開始、終了時刻を計算するための処理フローチャートである。
【図３１】クライアント１０１−１〜１０１−ｎに設定された要求時刻を示す図である。
【図３２】管理テーブルのデータ構成図である。
【図３３】スケジュール表を示す図である。
【符号の説明】
１２  ネットワーク
１００  システム
１０１−１〜１０１−ｎ  クライアント
１０２  サーバ
１１１、１２１  入力部
１１２、１２２  ＣＰＵ
１１３、１２３  ＲＯＭ
１１４、１２４  ハードディスクドライブ
１１４ａ、１２４ａ  プログラム記憶領域
１１４ｂ、１２４ｂ  データ記憶領域
１１４ｃ、１２４ｃ  アクセス情報記憶領域
１１５、１２５  ＲＡＭ
１１６、１２６  ＣＤ−ＲＯＭドライブ
１１７、１２７  表示部
１１８、１２８  通信部
１１９、１２９  ＣＤ−ＲＯＭディスク
【図１】
0004469535.tif 000002
【図２】
0004469535.tif 000003
【図３】
0004469535.tif 000004
【図４】
0004469535.tif 000005
【図５】
0004469535.tif 000006
【図６】
0004469535.tif 000007
【図７】
0004469535.tif 000008
【図８】
0004469535.tif 000009
【図９】
0004469535.tif 000010
【図１０】
0004469535.tif 000011
【図１１】
0004469535.tif 000012
【図１２】
0004469535.tif 000013
【図１３】
0004469535.tif 000014
【図１４】
0004469535.tif 000015
【図１５】
0004469535.tif 000016
【図１６】
0004469535.tif 000017
【図１７】
0004469535.tif 000018
【図１８】
0004469535.tif 000019
【図１９】
0004469535.tif 000020
【図２０】
0004469535.tif 000021
【図２１】
0004469535.tif 000022
【図２２】
0004469535.tif 000023
【図２３】
0004469535.tif 000024
【図２４】
0004469535.tif 000025
【図２５】
0004469535.tif 000026
【図２６】
0004469535.tif 000027
【図２７】
0004469535.tif 000028
【図２８】
0004469535.tif 000029
【図２９】
0004469535.tif 000030
【図３０】
0004469535.tif 000031
【図３１】
0004469535.tif 000032
【図３２】
0004469535.tif 000033
【図３３】
0004469535.tif 000034