(57)【特許請求の範囲】
【請求項１】
管理データと、
ファイルの識別子を包含するシナリオに基づき前記ファイルへのアクセスを行う端末に前記シナリオを送信するシナリオ送信部と、
前記端末から前記アクセスの結果を受信し、前記管理データおよび前記結果に基づいて前記シナリオ内の識別子を別ファイルのものに変更し、変更後の前記シナリオを前記端末に送信する変更部とを備えるサーバ。
【請求項２】
前記管理データは、複数のファイルのファイル識別子を包含し、
前記変更部は、前記シナリオに包含されるファイルの識別子を、サーバに格納された第１のファイルの識別子から、他の装置に格納された第２のファイルの識別子に変更する、請求項１のサーバ。
【請求項３】
前記管理データは、複数のファイルのファイル識別子とサイズを包含し、
前記変更部は、前記シナリオに包含されるファイルの識別子を第１のファイルのファイル識別子から、前記第１のファイルより小さな第３のファイルの識別子に変更する、請求項１または２のサーバ。
【請求項４】
前記管理データは、複数のファイルのファイル識別子と解像度の指定を包含し、
前記変更部は、前記シナリオに包含されるファイルの前記識別子を第１のファイルの識別子から、前記第１のファイルより解像度が低い第４のファイルの識別子に変更する、請求項１乃至３の何れかのサーバ。
【請求項５】
前記シナリオはファイル群IDを含み、
前記管理データは前記ファイル群IDに対応して前記複数のファイルのファイル識別子を含み、
前記変更部は、同一ファイル群IDのファイルのファイル識別子間の変更を行う、請求項１乃至４の何れかのサーバ。
【請求項６】
前記管理データの変更通知を受けて、前記管理データを更新する管理部を備える請求項１乃至請求項５のサーバ。
【請求項７】
管理データを備えたコンピュータに、
ファイルの識別子を包含するシナリオに基づき前記ファイルへのアクセスを行う端末に前記シナリオを送信するシナリオ送信処理と、
前記端末から前記アクセスの結果を受信し、前記管理データおよび前記結果に基づいて前記シナリオ内の識別子を別ファイルのものに変更し、変更後の前記シナリオを前記端末に送信する変更処理とを実行させるサーバプログラム。
【請求項８】
前記管理データは、複数のファイルのファイル識別子を包含し、
前記変更処理は、前記シナリオに包含されるファイルの識別子を、サーバに格納された第１のファイルの識別子から、他の装置に格納された第２のファイルの識別子に変更する処理である、請求項７のサーバプログラム。
【請求項９】
前記管理データは、複数のファイルのファイル識別子とサイズを包含し、
前記変更処理は、前記シナリオに包含されるファイルの識別子を第１のファイルのファイル識別子から、前記第１のファイルより小さな第３のファイルの識別子に変更する処理である、請求項７または８のサーバプログラム。
【請求項１０】
前記管理データは、複数のファイルのファイル識別子と解像度の指定を包含し、
前記変更処理は、前記シナリオに包含されるファイルの前記識別子を第１のファイルの識別子から、前記第１のファイルより解像度が低い第４のファイルの識別子に変更する処理である、請求項７乃至９の何れかのサーバプログラム。
【請求項１１】
前記シナリオはファイル群IDを含み、
前記管理データは前記ファイル群IDに対応して前記複数のファイルのファイル識別子を含み、
前記変更処理は、同一ファイル群IDのファイルのファイル識別子間の変更を行う処理である、請求項７乃至１０の何れかのサーバプログラム。
【請求項１２】
前記管理データの変更通知を受けて、前記管理データを更新する管理処理を備える請求項７乃至請求項１１のサーバプログラム。
【請求項１３】
管理データを備えたサーバからファイルの識別子を包含するシナリオを受信して、前記シナリオに基づき前記ファイルへのアクセスを行い、前記アクセスの結果を前記サーバに送信し、
前記サーバが前記管理データおよび前記結果に基づいて前記識別子を別ファイルのものに変更した変更後の前記シナリオを前記サーバから受信して、変更後の前記シナリオに基づいて変更後のシナリオが包含する識別子のファイルへのアクセスを行う実行部を備える端末。
【請求項１４】
前記サーバに通信要求を送信する要求部を備え、
前記実行部は、前記サーバが前記通信要求および前記管理データに基づいて作成した前記シナリオを受信する請求項１３の端末。
【請求項１５】
コンピュータに、
管理データを備えたサーバからファイルの識別子を包含するシナリオを受信して、前記シナリオに基づき前記ファイルへのアクセスを行い、前記アクセスの結果を前記サーバに送信し、
前記サーバが前記管理データおよび前記結果に基づいて前記識別子を別ファイルのものに変更した変更後の前記シナリオを前記サーバから受信して、変更後の前記シナリオに基づいて変更後のシナリオが包含する識別子のファイルへのアクセスを行う実行処理を実行させる端末プログラム。
【請求項１６】
前記コンピュータに、
前記サーバに通信要求を送信する要求処理を実行させ、
前記実行処理に於いて、前記サーバが前記通信要求および前記管理データに基づいて作成した前記シナリオを受信させる請求項１５の端末プログラム。
【請求項１７】
請求項１のサーバと請求項１３の端末から成るシステム。
【請求項１８】
請求項２乃至５のサーバと請求項１４の端末から成るシステム。
【請求項１９】
管理データを備えたコンピュータが、
ファイルの識別子を包含するシナリオに基づき前記ファイルへのアクセスを行う端末に前記シナリオを送信するシナリオ送信行程と、
前記端末から前記アクセスの結果を受信し、前記管理データおよび前記結果に基づいて前記シナリオ内の識別子を別ファイルのものに変更し、変更後の前記シナリオを前記端末に送信する変更行程とを有するサーバ制御方法。
【請求項２０】
前記コンピュータが、前記シナリオ送信行程で、前記端末から通信要求を受信し、前記通信要求および前記管理データに基づき前記シナリオを作成して前記端末に送信する請求項１９のサーバ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はクライアント・サーバシステムに於けるサーバ、端末、サーバプログラム、端末プログラム、システムおよびサーバ制御方法に関する。
【背景技術】
【０００２】
多数のクライアントが、少数のサーバのサービスを受ける場合、各クライアントが受けるサービスの時間や内容を変更して調整する必要がある場合がある。
【０００３】
特許文献１は、サービスサーバからクライアントへサービスを提供するためのスケジュール情報を生成するネットワーク管理装置を開示する。このネットワーク管理装置は、サービスサーバから提示されるサービスプロパティ、クライアントから提示されるサービス利用要求条件およびトラフィック情報に基づいてスケジュール情報を生成する。このネットワーク管理装置は、当該スケジュール情報をクライアントに送付する。クライアントは、送付されたスケジュール情報に基づいて、サービスサーバのサービスを受ける。
【０００４】
しかし、このネットワーク管理装置は、クライアントからの報告に基づいて、当該スケジュール情報を変更するものではない。
【０００５】
特許文献２は、通信のデマンド変数とネットワークの輻輳状態を測定し、両者のデータに基づきネットワークソケットの適正数を計算するコンピュータを開示する。
【０００６】
しかし、このコンピュータは、通信相手からの報告に基づいて、当該ソケット数を変更するものではない。
【０００７】
【特許文献１】特開２００３−６９６３１
【特許文献２】特開２００３−２５８８９０
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上記の特許文献の技術は、何れもクライアントが受けたサービス結果に基づいて、サーバが、クライアントの受けるべきサービスシナリオを変更するものではない。したがって、適切な負荷調整ができないという課題があった。本発明の目的は、この課題を解決するサーバ、端末、サーバプログラム、端末プログラム、システムおよびサーバ制御方法を提供することにある。
【課題を解決するための手段】
【０００９】
本発明の一例のサーバは、管理データと、ファイルの識別子を包含するシナリオに基づき前記ファイルへのアクセスを行う端末に前記シナリオを送信するシナリオ送信部と、前記端末から前記アクセスの結果を受信し、前記管理データおよび前記結果に基づいて前記シナリオを変更し、変更後の前記シナリオを前記端末に送信する変更部とを備える。
【００１０】
本発明の一例のサーバプログラムは、管理データを備えたコンピュータに、ファイルの識別子を包含するシナリオに基づき前記ファイルへのアクセスを行う端末に前記シナリオを送信するシナリオ送信処理と、前記端末から前記アクセスの結果を受信し、前記管理データおよび前記結果に基づいて前記シナリオを変更し、変更後の前記シナリオを前記端末に送信する変更処理とを実行させる。
【００１１】
本発明の一例の端末は、管理データを備えたサーバからファイルの識別子を包含するシナリオを受信して、前記シナリオに基づき前記ファイルへのアクセスを行い、前記アクセスの結果を前記サーバに送信し、  前記サーバが前記管理データおよび前記結果に基づいて変更した変更後の前記シナリオを前記サーバから受信して、変更後の前記シナリオに基づいて変更後のシナリオが包含する識別子のファイルへのアクセスを行う実行部を備える。
【００１２】
本発明の一例の端末プログラムは、コンピュータに、管理データを備えたサーバからファイルの識別子を包含するシナリオを受信して、前記シナリオに基づき前記ファイルへのアクセスを行い、前記アクセスの結果を前記サーバに送信し、前記サーバが前記管理データおよび前記結果に基づいて変更した変更後の前記シナリオを前記サーバから受信して、変更後の前記シナリオに基づいて変更後のシナリオが包含する識別子のファイルへのアクセスを行う実行処理を実行させる。
【００１３】
本発明の一例のサーバ制御方法は、管理データを備えたコンピュータが、ファイルの識別子を包含するシナリオに基づき前記ファイルへのアクセスを行う端末に前記シナリオを送信するシナリオ送信行程と、前記端末から前記アクセスの結果を受信し、前記管理データおよび前記結果に基づいて前記シナリオを変更し、変更後の前記シナリオを前記端末に送信する変更行程とを有する。
【発明の効果】
【００１４】
クライアントが受けたサービス結果に基づいて、サーバが、クライアントの受けるべきサービスシナリオを変更することで、適切な負荷調整ができる。
【発明を実施するための最良の形態】
【００１５】
本発明の第１の実施例は以下の通りである。
【００１６】
図１は、本実施例のシステム９０の全体構成を示す。システム９０は、一つまたは複数のサーバ１０と一つまたは複数の端末５０を包含する。また、システム９０は一つまたは複数のファイル装置６０を包含していても良い。
【００１７】
本システム９０において、端末５０は、サーバ１０またはファイル装置６０に格納されるファイル２ｎをアクセスする。アクセスはダウンロード／アップロードといったファイル転送でも良いし、一部データの読み書きでも良い。
【００１８】
サーバ１０は、管理データ１１、シナリオ送信部１２、変更部１３、管理部１４を包含する。サーバ１０は、その機能を果たす専用ハードウェア装置として実装されても良いし、サーバプログラム１５がメモリに格納されてプロセッサーで実行されることにより、その機能を果たすように実装されても良い。
【００１９】
サーバ１０は、端末５０から通信を介してアクセスされるファイル２ｎを包含する。ファイル２ｎは、単数でも複数でも良い。ファイル２ｎは、サーバ１０とは別のファイル装置６０に格納されていても良い。各ファイル２ｎは、端末５０からのアクセスに用いられる識別子３ｎを有する。識別子３ｎは、例えばサーバ１０またはファイル装置６０の通信アドレスとサーバ１０またはファイル装置６０内に於ける一意のファイル名とから構成される。ファイル識別子３ｎは、ＵＲＬ（Uniform Resource Locator）で表現しても良い。
【００２０】
端末５０は、要求部５１と実行部５２を包含する。端末５０は、その機能を果たす専用ハードウェア装置として実装されても良いし、端末プログラム５３がメモリに格納されてプロセッサーで実行されることにより、その機能を果たすように実装されても良い。
【００２１】
管理データ１１は、システム９０内の各ファイル群に対応してファイル群表８０を含む。例えば、ある一つのファイル群に属する各ファイル２ｎは売り上げデータを含む。第２のファイル群に属する各ファイル２ｎは経理データ等を含んでいても良い。第３のファイル群に属する各ファイル２ｎは音楽データを含んでいても良い。第４のファイル群に属する各ファイル２ｎは画像データを含んでいても良い。ファイル群へのアクセス時には、サーバ１０、ファイル装置６０やネットワークの負荷に応じてそのファイル群に属するいずれかのファイル２ｎがアクセスされる。
【００２２】
図２はファイル群表８０の構造を示す。ファイル群表８０は、ファイル群ID８１と、当該ファイル群を格納する一つまたは複数のファイル２ｎの情報から構成される。ファイルID８２ｍは、ファイル群ID８１で識別されるファイル群を格納するファイル２ｎの識別子３ｎを格納する。
【００２３】
通信速度８３ｍは、ファイルID８２ｍ内の識別子３ｎで識別されるファイル２ｎを端末５０との間で通信するときの速度を示す。通常は、当該ファイル２ｎを格納するサーバ１０またはファイル装置６０と、端末５０との間の通信経路によって決まる値である。したがって、端末５０が複数ある時は端末５０ごとに変わる場合がある。
【００２４】
サイズ８４ｍはファイル２ｎの大きさ（バイト数等）を示す。同じファイル群に対応するファイル２ｎのサイズ８４ｍは同じ値であることが多いが、異なる場合がある。同じ画像データファイル群にたいして、解像度が異なる複数のファイル２ｎを対応させる場合があるからである。または、同じ経理データファイル群についても詳細度が異なるデータを格納した複数のファイル２ｎを対応づけることがある。条件８５ｍはこのような解像度やデータ詳細度等のファイル２ｎの状況を示す。この条件８５ｍは、ファイル群のアクセス要求に対し、ファイル群表８０からアクセス対象のファイル２ｎを選択するときに参照される。
【００２５】
負荷情報８６ｍは、対応するファイル２ｎのアクセス負荷に関する情報である。負荷情報８６ｍは、例えば、高負荷時間帯などのデータである。
【００２６】
図３はシナリオ１９を示す。シナリオ１９はサーバ１０から端末５０に送信される。端末５０はこのシナリオ１９に基づいてファイル群の実体を含むファイル２ｎへアクセスする。
【００２７】
シナリオ１９は、ファイル群ID８１、ファイル２ｎの識別子３ｎ、アクセスの種別（ダウンロード／アップロード／データ参照／データ更新などの種別）、アクセス開始時間および打ち切り時間のデータを含む。
【００２８】
図４は、本実施例のシステム９０の動作フローチャートを示す。
【００２９】
先ず、端末５０の要求部５１がサーバ１０に通信要求５８を送信する（Ｔ１：要求行程）。通信要求５８は、端末５０がアクセスしたいファイル群ID８１、アクセスしたい時間帯、アクセスの種別を含む。この通信要求５８は、端末５０において要求発生ごとに送信しても良いし、サーバ１０からの要求に応じて各端末５０からほぼ同時期に送信しても良い。
【００３０】
多数の端末５０の様々なファイル群アクセス要求に関して、適切に負荷調整をするためには、各端末５０はほぼ同時期に通信要求５８をサーバ１０に送信する方が好ましい。サーバ１０が、全要求を配慮して負荷調整できるからである。
【００３１】
サーバ１０においては、シナリオ送信部１２が通信要求５８を受信する。シナリオ送信部１２は、受信した通信要求５８と管理データ１１とからシナリオ１９を作成して端末５０に送信する（Ｓ１：シナリオ送信行程）。
【００３２】
本行程で、シナリオ送信部１２は、通信要求５８に含まれるファイル群ID８１を包含するファイル群表８０を管理データ１１から取得する。シナリオ送信部１２は、そのファイル群表８０から端末５０にアクセスさせるべきファイル２ｎを選択する。選択は以下のルールを配慮して行われる。
１）アクセスを要求する端末５０に対して高い通信速度８３ｍを有するファイル２ｎが優先される。
２）解像度が低い、詳細度が低いなど、好ましくない条件８５ｍが付帯しないファイル２ｎが優先される。
３）負荷情報８６ｍが、端末５０が希望する通信時間帯に低負荷を示すファイル２ｎが優先される。
４）端末５０が希望する通信時間近傍に、同時にアクセスが予定されている端末５０の数が少ないファイル２ｎは優先される。シナリオ送信部１２は、既に作成し他の端末５０に送信したシナリオ１９のデータを参照することで、この端末５０の数を算出する。
【００３３】
シナリオ送信部１２は、上記の各配慮事項を一定の優先順位で配慮する。本発明では、優先順位はシステム９０の設計時に設計者が決定できる。また、同部は、ファイル２ｎの書込禁止状態ロックなど他の状況を配慮しても良い。
【００３４】
シナリオ送信部１２は、選択したファイル２ｎの識別子３ｎを記憶域内のシナリオ作成域に書き込む。
【００３５】
次に、シナリオ送信部１２は端末５０のアクセス開始時間を決定する。シナリオ送信部１２は、選択したファイル２ｎの負荷情報８６ｍが高負荷であることを示す時間を避けて、通信要求５８に含まれる希望アクセス時間以降の近接した時間をアクセス開始時間として決定する。この時間は、端末５０がファイル２ｎにアクセス開始できる時間となる。次に、シナリオ送信部１２は、通信速度８３ｍ、サイズ８４ｍ、負荷情報８６ｍ等からアクセスに要する時間を予想して、打ち切り時間を算出する。シナリオ送信部１２は、この２つの時間を図示せぬ記憶域内のシナリオ作成域に書き込む。シナリオ送信部１２は、このように作成されたシナリオ１９を端末５０に送信する。
【００３６】
端末５０では、実行部５２がシナリオ１９を受信して、当該シナリオ１９に基づいてファイル２ｎにアクセスする。アクセスが正常に終了しなかった場合、その旨が結果５９としてサーバ１０に送信される（Ｔ２：実行行程）。
【００３７】
実行部５２は、ファイル群にアクセスするため、シナリオ１９で指定されたファイル２ｎにアクセス開始時間からアクセスを開始する。アクセスが通信異常やディスク障害等で異常終了すれば、実行部５２は、その旨を結果５９としてサーバ１０に送信する。
【００３８】
アクセスが異常終了しなくても、アクセスの継続中にシナリオ１９で指定された打ち切り時間になれば、実行部５２はアクセスを中止して、その旨を結果５９としてサーバ１０に送信する。このとき、実行部５２はそれまでの通信の速さ（実転送データ量÷経過時間）を結果５９に含める。
【００３９】
ここでアクセスを中止するのは、後続するアクセスに連鎖的に悪影響を与えるのを防止するためである。このような事態の原因は、本システム９０以外に起因する通信路の輻輳、迂回発生などが考えられる。
【００４０】
サーバ１０において、変更部１３は結果５９を受信する。変更部１３は、当該結果５９と管理データ１１とに基づいて、シナリオ１９を変更し、変更後のシナリオ１９を端末５０に送信する（Ｓ２：変更行程）。
【００４１】
変更部１３が行うシナリオ１９の変更処理は、シナリオ送信部１２によるシナリオ１９の作成処理と同様である。シナリオ送信部１２で配慮されるルールは、ここでも配慮される。ただし、以下に示すルールは、変更部１３特有の配慮事項である。
１）結果５９にて、打ち切り時間が経過したためアクセスを中断した旨の報告がなされている場合、変更部１３は、変更前のシナリオ１９で選択されていたファイル２ｎの通信速度８３ｍは、結果５９に含まれている通信の速さであると見なす。
２）結果５９にて、通信異常が報告されている場合、変更部１３は、変更前のシナリオ１９で選択されていたファイル２ｎが格納されているのと同じサーバ１０やファイル装置６０に格納されているファイル２ｎを選択しない。選択するファイルが無い場合は、変更部１３は異常終了する。
３）結果５９にて、ディスク障害が報告されている場合、変更部１３は、変更前のシナリオ１９で選択されていたファイル２ｎを選択しない。選択するファイルが無い場合は、変更部１３は異常終了する。
【００４２】
上記のルールにより、変更後のシナリオ１９は、変更前と異なるファイル装置６０（所謂ミラーサイト）に格納されるファイル２ｎの識別子３ｎを包含することになる場合が多い。あるいは、変更後のシナリオ１９は、解像度が低い等の好ましくない条件８５ｍが有っても、サイズ８４ｍが小さなファイル２ｎの識別子３ｎを包含することになる場合もある。
【００４３】
変更部１３が送信した変更後のシナリオ１９は、端末５０において実行部５２に受信される。そして、実行部５２は当該変更後のシナリオ１９に基づいてファイル２ｎにアクセスする。
【００４４】
なお、上述の説明に於いて、最初のシナリオ１９は、要求部５１からの通信要求５８を受けたシナリオ送信部１２が作成している。本実施例はこれに限定されない。最初のシナリオ１９は、予めサーバ１０に登録されていても良い。この場合、端末５０において、要求部５１の実装は不要で、シナリオ送信部１２は、シナリオ１９の作成は行わず、登録されているシナリオ１９をサーバ１０に送信する。図５はこの場合のシステム９０の構成を示す。
【００４５】
本実施例は、端末５０のアクセスの結果５９および管理データ１１に従って、変更部１３がシナリオ１９を変更するように構成されている。このため、システム９０は、ネットワークの回線速度、負荷状況に応じて、また各ファイル２ｎの負荷状況８６ｍに応じて、端末５０のファイル群へのアクセス要求を適切に調整できる。
【００４６】
本発明の第２の実施例は以下の通りである。
【００４７】
本発明の第２の実施例では、第１の実施例によるシステム９０の構成に、コンソール９１とサーバ１０の管理部１４を追加する。
【００４８】
本実施例に於いて、システム９０の運用者はコンソール９１からファイル群表８０の変更コマンドを入力できる。変更コマンドは、ファイル群表８０の作成および削除、ファイル群表８０へのファイル２ｎの追加およびファイル群表８０からのファイル２ｎの削除、並びにファイル群表８０に登録されているファイル２ｎの情報変更を指示する。管理部１４は、コンソール９１このコマンドの入力通知を受けて、ファイル群表８０を変更する。
【００４９】
管理部１４が、サーバ１０内やファイル装置６０内の図示せぬファイル管理部からファイル２ｎの削除通知を受けて、ファイル群表８０から当該ファイル２ｎの情報を削除しても良い。また、管理部１４が、サーバ１０やファイル装置６０内の図示せぬログ管理部からログ情報の解析通知を受けて、ファイル群表８０の通信速度８３ｍや負荷情報８６ｍを更新しても良い。
【００５０】
本実施例では、管理部１４が存在するため、ファイル群表８０を新しい状態に容易に更新することができる。そして、システム９０の新しい状態に基づいて負荷調整が可能となる。
【図面の簡単な説明】
【００５１】
【図１】本発明にかかるシステムの全体構成を示す図である。
【図２】ファイル群表の構造を示す図である。
【図３】シナリオを示す図である。
【図４】サーバと端末の処理フローチャートを示す図である。
【図５】本発明にかかるシステムの全体構成を示す図である。
【符号の説明】
【００５２】
１０    サーバ
１１    管理データ
１２    シナリオ送信部
１３    変更部
１４    管理部
１５    サーバプログラム
１９    シナリオ
２ｎ    ファイル
３ｎ    識別子
５０    端末
５１    要求部
５２    実行部
５３    端末プログラム
５８    通信要求
５９    結果
６０    ファイル装置
８０    ファイル群表
８１    ファイル群ID
８２ｍ    ファイルID
８３ｍ    通信速度
８４ｍ    サイズ
８５ｍ    条件
８６ｍ    負荷情報
９０    システム
９１    コンソール
【図１】
0004962166.tif 000002
【図２】
0004962166.tif 000003
【図３】
0004962166.tif 000004
【図４】
0004962166.tif 000005
【図５】
0004962166.tif 000006