(57)【要約】【課題】  クライアント装置が要求するデータの取得性を向上させ、さらに、適切な手順でデータ転送を行う。【解決手段】  ＷＷＷデータ中継装置１０の制御部１０２は、ＷＷＷクライアント装置３０からデータ要求メッセージを受信すると、ＷＷＷサーバ装置２０ａ〜２０ｃのいずれかにデータ要求メッセージを送信する。ＷＷＷサーバ装置からデータを受信すると、ＷＷＷデータ中継装置１０はそのデータのハッシュ値を求め、そのハッシュ値とデータの所在情報を所在テーブルＴＢ１に格納する。一方要求メッセージを送信したＷＷＷサーバ装置が電源ＯＦＦ、又はファイルを保持していないためデータを取得できなかった場合、ＷＷＷデータ中継装置１０は所在テーブルＴＢ１から代替のデータ取得先を抽出し、そのデータ取得先からのデータ取得を試行する。データが得られたらＷＷＷクライアント装置３０にデータを含む応答メッセージを送信する。【選択図】      図１
2006178745.tif 000002
【特許請求の範囲】
【請求項１】
一の端末装置から取得したデータを他の端末装置へと中継するデータ中継装置において、
中継したデータの内容を特定するデータ特定情報を生成する特定情報生成手段と、
前記中継したデータの所在を表す所在情報と当該データについての前記データ特定情報とを組み合わせて記憶手段に書き込む書き込み手段と、
データの所在情報を含むデータ要求メッセージを端末から受信する受信手段と、
前記受信手段が受信した所在情報に基づいてデータのアクセスを行った結果、要求対象となるデータの取得ができなかった場合に、前記記憶手段を検索して前記受信手段が受信した所在情報と同一の所在情報に対応付けられているデータ特定情報を抽出する特定情報抽出手段と、
前記特定情報抽出手段が抽出したデータ特定情報に対応付けられている所在情報に基づいてデータのアクセスを行い、取得されたデータを前記データ要求メッセージを送出した端末に中継する代替アクセス手段と
を具備することを特徴とするデータ中継装置。
【請求項２】
前記書き込み手段は、前記所在情報と前記データ特定情報とを組み合わせて前記記憶手段に書き込む際に、書き込もうとする所在情報と同一の所在情報が前記記憶手段に既に書き込まれている場合には、既に書き込まれている所在情報に対応して記憶されているデータ特定情報を、新たなデータ特定情報に更新することを特徴とする請求項１に記載のデータ中継装置。
【請求項３】
前記アクセスに対応する応答時間を検出する応答時間検出手段を有し、
前記書き込み手段は前記応答時間検出手段が検出した応答時間を前記所在情報に対応させて前記記憶手段に書き込み、
前記代替アクセス手段は、前記記憶手段内の応答時間に応じてアクセス対象となる所在情報の優先順位を決定することを特徴とする請求項１に記載のデータ中継装置。
【請求項４】
前記アクセスに対応する応答確率を検出する応答確率検出手段を有し、
前記書き込み手段は前記応答確率検出手段が検出した応答確率を前記所在情報に対応させて前記記憶手段に書き込み、
前記代替アクセス手段は、前記記憶手段内の応答確率に応じてアクセス対象となる所在情報の優先順位を決定することを特徴とする請求項１に記載のデータ中継装置。
【請求項５】
前記特定情報生成手段は、ハッシュ関数を用いて前記データ特定情報を生成することを特徴とする請求項１から４いずれかに記載のデータ中継装置。
【請求項６】
一の端末装置から取得したデータを他の端末装置へと中継するデータ中継装置の制御方法において、
中継したデータの内容を特定するデータ特定情報を生成する特定情報生成ステップと、
前記中継したデータの所在を表す所在情報と当該データについての前記データ特定情報とを組み合わせて記憶手段に書き込む書き込みステップと、
データの所在情報を含むデータ要求メッセージを端末から受信する受信ステップと、
前記受信ステップにて受信した所在情報に基づいてデータのアクセスを行った結果、要求対象となるデータの取得ができなかった場合に、前記記憶手段を検索して前記受信ステップにおいて受信した所在情報と同一の所在情報に対応付けられているデータ特定情報を抽出する特定情報抽出ステップと、
前記特定情報抽出ステップが抽出したデータ特定情報に対応付けられている所在情報に基づいてデータのアクセスを行い、取得されたデータを前記データ要求メッセージを送出した端末に中継する代替アクセスステップと
を具備することを特徴とするデータ中継装置の制御方法。
【請求項７】
コンピュータに、
一の端末装置から取得したデータを他の端末装置へと中継するデータ中継する際に、中継したデータの内容を特定するデータ特定情報を生成する特定情報生成機能と、
前記中継したデータの所在を表す所在情報と当該データについての前記データ特定情報とを組み合わせて記憶手段に書き込む書き込み機能と、
データの所在情報を含むデータ要求メッセージを端末から受信する受信機能と、
前記受信機能によって受信した所在情報に基づいてデータのアクセスを行った結果、要求対象となるデータの取得ができなかった場合に、前記記憶手段を検索して前記受信機能によって受信した所在情報と同一の所在情報に対応付けられているデータ特定情報を抽出する特定情報抽出機能と、
前記特定情報抽出機能が抽出したデータ特定情報に対応付けられている所在情報に基づいてデータのアクセスを行い、取得されたデータを前記データ要求メッセージを送出した端末に中継する代替アクセス機能と
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアント装置とサーバ装置間でデータを中継する中継装置に関する。
【背景技術】
【０００２】
従来、電子文書や画像データ等のファイルを、サーバ装置からクライアント装置へと転送するデータ転送システムにおいては、ＨＴＴＰ（Hypertext Transfer Protocol）プロトコルや、ＦＴＰ（File Transfer Protocol）プロトコル、ＳＭＢ（Sever Message Block）プロトコル等のデータ転送プロトコルの規約に従い、転送対象のデータ（ファイル）を、データの所在で指定している。例えば、サーバ装置のＩＰ(Internet Protocol)アドレスやＤＮＳホスト名、サーバ装置上のディレクトリ・パス名やフォルダ名、そして、ファイル名等である。つまり、従来においては内容が同じであっても、その所在が異なると別のデータとして認識される。そのため、例えば、データの所在として指定されたサーバ装置が電源オフの状態であり稼働していない場合などには、たとえ内容が同じデータが他の所在に存在したとしても、クライアント装置はそのデータを受信できないという問題がある。また、クライアント装置からの要求によって転送対象のデータの所在として指定されたサーバ装置以外にも、転送対象のデータと同じ内容のデータを送信可能なサーバ装置が存在し、そちらから受信した方がより短い時間で応答性よくデータを受信可能であるとしても、従来技術では、指定通りの所在から受信するために、無駄に長い時間をかけてデータを受信するという問題がある。
【０００３】
そこで、これらの問題を解決する技術として特許文献１に、ＷＷＷ（World Wide Web）システムにおけるデータ中継装置（プロキシ・サーバ装置）で用いられるキャッシュと呼ばれる技術が開示されている。プロキシ・サーバ装置は、クライアント装置からの要求を受けて、指定された所在のサーバ装置からデータを受信して、クライアント装置へと送信すると共に、受信したデータを圧縮化し、その所在の情報と関連づけて一時的にキャッシュする。そして、その後、他のクライアント装置からの要求で、キャッシュ済みのデータの所在が指定された場合には、該当のキャッシュ済みデータを読み出して要求元のクライアント装置へと送信することにより、データ転送の応答性を改善する。
【特許文献１】特開２００３−３４５７０８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１の技術では、単純にはプロキシ・サーバ装置に、ネットワーク上の全サーバ装置にある全データを格納できるだけの記憶容量を保持させる必要がある。扱うデータが、特に、画像データ等のデータサイズが大きいデータが多数ある場合、そのようなデータを全て記憶容量に保持させるのは記憶容量には限界があるため難しい。
【０００５】
本発明はこのような事情に鑑みてなされたものであり、その目的は、クライアント装置が要求するデータの取得性を向上させ、さらに、適切な手順でデータ転送を行うことにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明は、一の端末装置から取得したデータを他の端末装置へと中継するデータ中継装置において、中継したデータの内容を特定するデータ特定情報を生成する特定情報生成手段と、前記中継したデータの所在を表す所在情報と当該データについての前記データ特定情報とを組み合わせて記憶手段に書き込む書き込み手段と、データの所在情報を含むデータ要求メッセージを端末から受信する受信手段と、前記受信手段が受信した所在情報に基づいてデータのアクセスを行った結果、要求対象となるデータの取得ができなかった場合に、前記記憶手段を検索して前記受信手段が受信した所在情報と同一の所在情報に対応付けられているデータ特定情報を抽出する特定情報抽出手段と、前記特定情報抽出手段が抽出したデータ特定情報に対応付けられている所在情報に基づいてデータのアクセスを行い、取得されたデータを前記データ要求メッセージを送出した端末に中継する代替アクセス手段とを具備することを特徴とするデータ中継装置を提供する。
【０００７】
このデータ中継装置によれば、一の端末装置から他の端末装置にデータを中継する際、中継するデータの特定情報と、中継するデータの所在情報を関連づけて記憶手段に保持する。そのため、端末装置が送信した要求メッセージに含まれるデータの所在情報を元にデータの取得を試み、所望のデータを得られなかった場合、所望のデータを過去に違う端末から取得していれば、記憶手段に所望のデータの所在情報とデータの特定情報が記憶されているので、取得したいデータの特定情報と同一の特定情報と関連づけて記憶されている所在からデータを取得することができる。このように本発明においては、要求メッセージに含まれる所在情報からデータを取得できなかった際、過去に所望のデータを取得した所在からデータを取得することができるので、データの取得性を向上することができる。
【０００８】
また、本発明の好ましい態様においては、前記書き込み手段は、前記所在情報と前記データ特定情報とを組み合わせて前記記憶手段に書き込む際に、書き込もうとする所在情報と同一の所在情報が前記記憶手段に既に書き込まれている場合には、既に書き込まれている所在情報に対応して記憶されているデータ特定情報を、新たなデータ特定情報に更新する。
【０００９】
また、前記アクセスに対応する応答時間を検出する応答時間検出手段を有し、前記書き込み手段は前記応答時間検出手段が検出した応答時間を前記所在情報に対応させて前記記憶手段に書き込み、前記代替アクセス手段は、前記記憶手段内の応答時間に応じてアクセス対象となる所在情報の優先順位を決定する。
【００１０】
また、前記アクセスに対応する応答確率を検出する応答確率検出手段を有し、前記書き込み手段は前記応答確率検出手段が検出した応答確率を前記所在情報に対応させて前記記憶手段に書き込み、前記代替アクセス手段は、前記記憶手段内の応答確率に応じてアクセス対象となる所在情報の優先順位を決定する。また、前記特定情報生成手段は、ハッシュ関数を用いて前記データ特定情報を生成する。
【００１１】
また、本発明は、一の端末装置から取得したデータを他の端末装置へと中継するデータ中継装置の制御方法において、中継したデータの内容を特定するデータ特定情報を生成する特定情報生成ステップと、前記中継したデータの所在を表す所在情報と当該データについての前記データ特定情報とを組み合わせて記憶手段に書き込む書き込みステップと、データの所在情報を含むデータ要求メッセージを端末から受信する受信ステップと、前記受信ステップにて受信した所在情報に基づいてデータのアクセスを行った結果、要求対象となるデータの取得ができなかった場合に、前記記憶手段を検索して前記受信ステップにおいて受信した所在情報と同一の所在情報に対応付けられているデータ特定情報を抽出する特定情報抽出ステップと、前記特定情報抽出ステップが抽出したデータ特定情報に対応付けられている所在情報に基づいてデータのアクセスを行い、取得されたデータを前記データ要求メッセージを送出した端末に中継する代替アクセスステップとを具備することを特徴とするデータ中継装置の制御方法を提供する。
【００１２】
また、本発明は、コンピュータに、一の端末装置から取得したデータを他の端末装置へと中継するデータ中継する際に、中継したデータの内容を特定するデータ特定情報を生成する特定情報生成機能と、前記中継したデータの所在を表す所在情報と当該データについての前記データ特定情報とを組み合わせて記憶手段に書き込む書き込み機能と、データの所在情報を含むデータ要求メッセージを端末から受信する受信機能と、前記受信機能によって受信した所在情報に基づいてデータのアクセスを行った結果、要求対象となるデータの取得ができなかった場合に、前記記憶手段を検索して前記受信機能によって受信した所在情報と同一の所在情報に対応付けられているデータ特定情報を抽出する特定情報抽出機能と、前記特定情報抽出機能が抽出したデータ特定情報に対応付けられている所在情報に基づいてデータのアクセスを行い、取得されたデータを前記データ要求メッセージを送出した端末に中継する代替アクセス機能とを実現させるためのプログラムを提供する。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施形態について説明する。
[構成]
図１は、本発明の一実施形態に係るシステムの全体構成を示す図である。図１において、インターネット１には、図示せぬＩＳＤＮ網（Integrated Services Digital Network）やＡＤＳＬ網（Asymmetric Digital Subscriber Line）或いは専用線などを介してＷＷＷデータ中継装置１０、ＷＷＷサーバ装置２０ａ〜２０ｃ、クライアント装置３０が接続されている。ＷＷＷサーバ装置２０ａ〜２０ｃは、ＵＲＬで示された所在のそれぞれにファイル形式のデータを記憶している。以下、ＷＷＷサーバ装置２０ａ〜２０ｃはＷＷＷクライアント装置３０の要求に従ってＷＷＷクライアント装置３０が指定したＵＲＬに所在しているデータをＷＷＷクライアント装置３０に送信する。以下、ＷＷＷサーバ装置２０ａ〜２０ｃが記憶しているデータを取得対象データと称する。
【００１４】
ＷＷＷクライアント装置３０は例えばパーソナルコンピュータ等であり、ＣＰＵ（Central Processing Unit）やＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）等によって構成される制御部を備えている。またＷＷＷクライアント装置３０は、モデムや各種通信装置等の通信部と、液晶ディスプレイ装置等の表示部と、キーボードやマウス等の操作部とを備えている。また、ＨＤＤ（Hard Disk Drive）等の記憶部を備えており、記憶部にはＷＷＷブラウザプログラムが記憶されている。ユーザはＷＷＷサーバ装置２０ａ〜２０ｃにファイルを要求する際、ＵＲＬ（Uniform Resource Locater）とドメイン名、そしてディレクトリ名、ファイル名とからなる要求メッセージをＷＷＷクライアント装置３０において入力する。ユーザによって、要求メッセージが入力されると、制御部はＷＷＷブラウザプログラムを実行することによってインターネット１を介してＷＷＷサーバ装置２０ａ〜２０ｃにアクセスする。
【００１５】
ＷＷＷデータ中継装置１０はプロキシとして機能するプロキシ・サーバ装置である。図２はＷＷＷデータ中継装置１０の構成を示すブロック図である。図２に示すように、ＷＷＷデータ中継装置１０は、制御部１０２、通信部１０４、そして記憶部１０６を備えている。制御部１０２は、例えばＣＰＵなど演算装置や、ＲＯＭ、ＲＡＭなどの各種メモリを備えている。通信部１０４は、インターネット１に接続するためのモデムや各種通信装置を備えており、制御部１０２による制御の下でインターネット１を介してデータ通信を行うようになっている。
【００１６】
記憶部１０６は、例えばハードディスクなどの大容量記憶装置である。この記憶部１０６には、ＷＷＷデータ中継装置として機能するための手順が記憶されたアプリケーションプログラム１０６ａが記憶されている。また、記憶部１０６にはデータ所在情報とデータ特定情報を関連づけて記憶する所在テーブルＴＢ１が記憶されている。データ所在情報はＷＷＷデータ中継装置１０がＷＷＷサーバ装置２０ａ〜２０ｃから読み出す取得対象データの所在を示す情報であり、本実施形態の場合はＵＲＬである。データ特定情報はハッシュ関数にＷＷＷサーバ装置２０ａ〜２０ｃから読み出した取得対象データを入力して得られるハッシュ値である。所在テーブルＴＢ１に記述された内容の一例を図３に示す。図３に示すように、所在テーブルＴＢ１は、「データ所在情報」フィールドと、「データ特定情報」フィールドとで構成されている。ＷＷＷデータ中継装置１０の制御部１０２はＷＷＷクライアント装置３０の要求に応じてＷＷＷサーバ装置２０ａ〜２０ｃに取得対象データを要求し、所望の取得対象データを取得した時、その取得対象データの所在情報を「データ所在情報」フィールドに、取得対象データをハッシュ関数に入力して得られたハッシュ値を「データ特定情報」フィールドに登録する。
【００１７】
[動作]
本実施形態において制御部１０２が行う制御の態様は次の４つに場合分けされる。
（１）ＷＷＷクライアント装置３０に指定された所在から取得対象データを取得することができたが、その取得対象データは過去に取得したことがなかったため、所在テーブルＴＢ１に登録されていない場合
（２）ＷＷＷクライアント装置３０に指定された所在から取得対象データを取得することができたが、その取得対象データは過去にも取得したことがあったため、所在テーブルＴＢ１に登録されている場合
（３）ＷＷＷクライアント装置３０に指定された所在から取得対象データを取得することができなかったが、その取得対象データは過去に他の所在から取得したことがあったため、所在テーブルＴＢ１に他の所在情報とデータ特定情報とが登録されている場合
（４）ＷＷＷクライアント装置３０に指定された所在から取得対象データを取得することができず、その取得対象データは過去に他の所在からも取得したことがなかったため、所在テーブルＴＢ１に他の所在でも登録されていない場合
以上のような４つの場合について図４を参照しながら、制御部１０２が行う動作を説明する。
【００１８】
まず（１）について説明する。
制御部１０２はクライアント装置３０からデータ要求メッセージを受信すると（ステップＳＡ２；ＹＥＳ）、要求メッセージに従ってＷＷＷサーバ装置２０ａ〜２０ｃに取得対象データを要求する（ステップＳＡ４）。取得対象データを要求したＷＷＷサーバ装置２０ａ〜２０ｃから応答があり（ステップＳＡ５；ＹＥＳ）、要求した取得対象データを受信すると（ステップＳＡ６；ＹＥＳ）、所在テーブルＴＢ１のデータ所在情報と受信した取得対象データの所在情報を照らし合わせて、所在テーブルＴＢ１に、受信した取得対象データの所在情報が登録されているか検索を行う（ステップＳＡ８）。登録されていなかった場合（ステップＳＡ１０；ＮＯ）、制御部１０２は、受信した取得対象データをハッシュ関数に代入して得られたハッシュ値から取得対象データの特定情報を得る（ステップＳＡ１２）。そして、求めたデータの特定情報と、所在情報を所在テーブルＴＢ１に登録する（ステップＳＡ１４）。このように所在テーブルＴＢ１には取得対象データが取得される毎に、取得対象データの所在情報とデータ特定情報とが追加される。そして制御部１０２は、受信した取得対象データをＷＷＷクライアント装置３０に送信する（ステップＳＡ１６）。
【００１９】
次に上記の（２）について説明する。
上記ステップＳＡ２→ステップＳＡ４→ステップＳＡ５→ステップＳＡ６を経て、ステップＳＡ８において、所在テーブルＴＢ１に、受信した取得対象データの所在情報が登録されているか検索する。登録されていた場合（ステップＳＡ１０；ＹＥＳ）、ハッシュ関数に受信した取得対象データを代入して求めたハッシュ値から取得対象データの特定情報を得る（ステップＳＡ１８）。そして所在テーブルＴＢ１に登録してあった特定情報をステップＳＡ１８で求めた特定情報に更新する（ステップＳＡ２０）。このようにＷＷＷサーバ装置２０ａ〜２０ｃから同一の取得対象データを取得する度に、所在テーブルＴＢ１を更新することで、所在テーブルＴＢ１の情報を最新の情報にすることができる。
【００２０】
次に上記の（３）について説明する。
上記ステップＳＡ２を経て、ステップＳＡ４において、ＷＷＷサーバ装置２０ａ〜２０ｃに取得対象データを要求する。そして取得対象データを要求したＷＷＷサーバ装置２０ａ〜２０ｃには、該当の取得対象データがなく、取得対象データを受信できなかった場合（ステップＳＡ５；ＹＥＳ、ステップＳＡ６；ＮＯ）、制御部１０２は所在テーブルＴＢ１の所在情報フィールドに、ステップＳＡ２で受信した要求メッセージに含まれているデータ所在情報と同じデータ所在情報がないか検索する（ステップＳＡ２２）。同じデータ所在情報があった場合（ステップＳＡ２４；ＹＥＳ）、そのデータ所在情報に関連づけて格納されているデータ特定情報を読み出す。そして読み出したデータ特定情報と同一のデータ特定情報に関連付けられて格納されているデータ所在情報をそれぞれ所在テーブルＴＢ１から抽出する。そして図５に示す抽出テーブルＴＢ２を作成する（ステップＳＡ２６）。具体的には抽出テーブルＴＢ２は「インデックス」フィールドと、「データ所在情報」フィールドからなる。インデックス（ｉ）には０から始まる通し番号を格納し、データ所在情報には抽出したデータ所在情報を格納する。そして、ステップＳＡ４で取得対象データを要求したデータ所在情報に対するアクセスにおいて、取得対象データが得られなかった場合は、取得対象データを要求したデータ所在情報と、そのデータ所在情報に関連づけて格納されていたデータ特定情報を所在テーブルＴＢ１から削除する（ステップＳＡ２８）。次に、抽出テーブルＴＢ２のデータ数から１を引いた値をｎとする（ステップＳＡ３０）。図５の抽出テーブルＴＢ２においては、ｎは２である。そしてｉに初期値、０を代入する（ステップＳＡ３２）。その後制御部１０２は抽出テーブルＴＢ２のインデックス０のデータ所在情報でＷＷＷサーバ装置２０ａ〜２０ｃに取得対象データを要求する（ステップＳＡ３４；ＹＥＳ、ステップＳＡ３６）。取得対象データを受信した場合は（ステップＳＡ３８；ＹＥＳ）受信した取得対象データをクライアント装置３０に送信する（ステップＳＡ１６）。取得対象データを受信できなかった場合（ステップＳＡ３８；ＮＯ）、ｉをインクリメントする（ステップＳＡ４０）。そして、抽出テーブルＴＢ２のインデックスが１のデータ所在情報でＷＷＷサーバ装置２０ａ〜２０ｃに取得対象データを要求する（ステップＳＡ３４；ＹＥＳ、ステップＳＡ３６）。このような動作をｉ＜ｎの条件を満たす間繰り返す。その間、取得対象データが得られた場合は、前述のようにクライアント装置３０に取得対象データを送信する（ステップＳＡ４０）。ｉがｎ以上になっても取得対象データを得られなかった場合（ステップＳＡ３４；ＮＯ）、抽出テーブルＴＢ２の「データ所在情報」フィールドのデータ所在情報においても、取得対象データは存在しないということなので、ＷＷＷクライアント装置３０にエラーメッセージを送信する（ステップＳＡ４２）。
【００２１】
また、上記（３）のステップＳＡ５において、取得対象データを要求したＷＷＷサーバ装置２０ａ〜２０ｃから応答がなく、取得対象データを取得することができなかった場合（ステップＳＡ５；ＮＯ）、制御部１０２は所在テーブルＴＢ１の所在情報フィールドに、ステップＳＡ２で受信した要求メッセージに含まれているデータ所在情報と同一のデータ所在情報がないか検索する（ステップＳＡ４４）。同一のデータ所在情報があった場合（ステップＳＡ４６；ＹＥＳ）、そのデータ所在情報に関連づけて格納されているデータ特定情報を読み出し、このデータ特定情報と同一のデータ特定情報に関連付けられて格納されているデータ所在情報を所在テーブルＴＢ１からそれぞれ抽出する。そして上記の図５に示す抽出テーブルＴＢ２を作成する（ステップＳＡ４８）。所在テーブルＴＢ１の所在情報フィールドに、ステップＳＡ２で受信した要求メッセージに含まれているデータ所在情報と同一のデータ所在情報がなかった場合（ステップＳＡ４６；ＮＯ）、制御部１０２はＷＷＷクライアント装置３０にエラーメッセージを送信する（ステップＳＡ４２）。
【００２２】
次に上記の（４）について説明する。
所在テーブルＴＢ１に、ステップＳＡ２において受信した要求メッセージに含まれるデータ所在情報と同じデータ所在情報がない場合（ステップＳＡ２４；ＮＯ）、クライアント装置３０にエラーメッセージを送信する（ステップＳＡ４４）。
【００２３】
[動作例]
次に、図６、図７を参照しながら、上記（１）〜（４）の具体的な動作例について説明する。ここで、ＷＷＷサーバ装置２０ａには「ＨｏｓｔＡ」のドメイン名が割り当てられていたとする。同じように、ＷＷＷサーバ装置２０ｂには「ＨｏｓｔＢ」が、ＷＷＷサーバ装置２０ｃには「ＨｏｓｔＣ」のドメイン名が割り当てられていたとする。また、ＷＷＷデータ中継装置１０の所在テーブルＴＢ１には図３に示す所在テーブルＴＢ１が格納されているとする。
【００２４】
図６に示したシーケンスは、（１）、（２）、及び（４）の動作例を示している。まず、（１）について説明する。ユーザがＷＷＷクライアント装置３０の操作部を操作して、ＷＷＷブラウザプログラムを起動し、表示部にデータ要求メッセージを入力すると、ＷＷＷクライアント装置３０はＷＷＷデータ中継装置１０に要求メッセージｒ１を送信する。この時、ユーザによって入力された要求メッセージは
ｓｍｂ：／／ＨｏｓｔＡ／ＤｉｒｅｃｔｏｒｙＡ／ＦｉｌｅＺ
であったとする。ＷＷＷデータ中継装置１０は要求メッセージｒ１を受信すると、図４のステップＳＡ２の処理を経て、ステップＳＡ４でＷＷＷサーバ装置２０ａ〜２０ｃに要求メッセージｒ２を送信する。この時、ｒ１の要求メッセージに含まれるドメインはＨｏｓｔＡであるので、ＷＷＷデータ中継装置１０はＷＷＷサーバ装置２０ａに要求メッセージｒ２を送信する。ＷＷＷサーバ装置２０ａは要求メッセージｒ２を受信すると、ＤｉｒｅｃｔｏｒｙＡにＦｉｌｅＺが格納されているか検索する。格納されていた場合、ＷＷＷサーバ装置２０ａはデータＦｉｌｅＺを含む応答メッセージｒ３をＷＷＷデータ中継装置１０に送信する。ＷＷＷデータ中継装置１０は、応答メッセージｒ３を受信すると、ステップＳＡ６を経て、ステップＳＡ８において、所在テーブルＴＢ１のデータ所在情報に  ｓｍｂ：／／ＨｏｓｔＡ／ＤｉｒｅｃｔｏｒｙＡ／ＦｉｌｅＺ  と同じデータがないか検索する。この場合、同じデータはないので、ステップＳＡ１０の処理を経て、ＷＷＷデータ中継装置１０はステップＳＡ１２においてＦｉｌｅＺのデータをハッシュ関数に代入してハッシュ値を求める。次に、ステップＳＡ１４において、所在テーブルＴＢ１に「ｓｍｂ：／／ＨｏｓｔＡ／ＤｉｒｅｃｔｏｒｙＡ／ＦｉｌｅＺ」と、求めたＦｉｌｅＺのハッシュ値を登録する。そしてステップＳＡ１６において、ＦｉｌｅＺを含む応答メッセージｒ４をＷＷＷクライアント装置３０に送信する。
【００２５】
次に（２）の動作例について説明する。パターン（１）と同じようにユーザがＷＷＷクライアント装置３０に要求メッセージを入力すると、ＷＷＷクライアント装置３０は要求メッセージｒ１をＷＷＷデータ中継装置１０に送信する。この時、ユーザによって入力された要求メッセージは
ｓｍｂ：／／ＨｏｓｔＡ／ＤｉｒｅｃｔｏｒｙＡ／ＦｉｌｅＡ
であったとする。パターン（１）と同じようにＷＷＷデータ中継装置１０はステップＳＡ２を経て、ステップＳＡ４においてＷＷＷサーバ装置２０ａに要求メッセージｒ２を送信する。ＷＷＷサーバ装置２０ａはＦｉｌｅＡが格納されているか検索し、格納されていた場合、ＦｉｌｅＡを含む応答メッセージｒ３をＷＷＷデータ中継装置に送信する。ＷＷＷデータ中継装置は応答メッセージｒ３を受信するとステップＳＡ５→ステップＳＡ６の処理を経て、ステップＳＡ８において、所在テーブルＴＢ１のデータ所在情報のフィールドにｓｍｂ：／／ＨｏｓｔＡ／ＤｉｒｅｃｔｏｒｙＡ／ＦｉｌｅＡと同一のデータ所在情報がないか検索する。この場合、同じデータ所在情報が存在するので、ステップＳＡ１０の処理を経て、ＷＷＷデータ中継装置１０はステップＳＡ１８においてＦｉｌｅＡをハッシュ関数に代入してＦｉｌｅＡのハッシュ値を求める。そしてステップＳＡ２０において所在テーブルＴＢ１の  ｓｍｂ：／／ＨｏｓｔＡ／ＤｉｒｅｃｔｏｒｙＡ／ＦｉｌｅＡ  に関連づけられて格納されているデータ特定情報の値をステップＳＡ１８において求めたハッシュ値に更新する。そしてステップＳＡ１６において、ＦｉｌｅＡを含む応答メッセージｒ４をＷＷＷクライアント装置３０に送信する。
【００２６】
（４）の動作例においては、前述の（１）、（２）についての動作例における応答メッセージｒ３、ｒ４がエラーを含む応答メッセージになる。
【００２７】
図７に示したシーケンスを用いて（３）の動作例を説明する。始めに（１）、（２）の動作例と同じように、ユーザがＷＷＷクライアント装置３０に要求メッセージを入力すると、ＷＷＷクライアント装置３０は要求メッセージｒ１をＷＷＷデータ中継装置１０に送信する。この時、ユーザによって入力された要求メッセージは
ｆｔｐ：／／ＨｏｓｔＣ／ＰａｔｈＣ／ＦｉｌｅＣ
であったとする。ＷＷＷデータ中継装置１０はステップＳＡ２を経て、ステップＳＡ４においてＷＷＷサーバ装置２０ｃに要求メッセージｒ２を送信する。ＷＷＷサーバ装置２０ｃはＦｉｌｅＣを検索する。ＷＷＷサーバ装置２０ｃにＦｉｌｅＣがなかった場合、ＷＷＷサーバ装置２０ｃはＷＷＷデータ中継装置１０にエラーを含んだ応答メッセージｒ５を送信する。ＷＷＷデータ中継装置１０は応答メッセージｒ５を受信すると、ステップＳＡ６を経てステップＳＡ２２において、所在テーブルＴＢ１のデータ所在情報にｆｔｐ：／／ＨｏｓｔＣ／ＰａｔｈＣ／ＦｉｌｅＣと同じ値がないかを検索する。ここでは該当するデータ所在情報があるのでステップＳＡ２４を経て、ステップＳＡ２６において、該当のデータ所在情報と共に格納されているデータ特定情報を抽出する。抽出されたデータ特定情報はここでは
０ｘ３３３３３３３３３３３３３３３３
である。次に所在テーブルＴＢ１のデータ特定情報において、０ｘ３３３３３３３３３３３３３３３３と同じ値がないかを検索し、このデータ特定情報に関連づけられているデータ所在情報を抽出する。ここでは以下の３つである。
ｓｍｂ：／／ＨｏｓｔＡ／ＤｉｒｅｃｔｏｒｙＡ／ＦｉｌｅＡ
ｈｔｔｐ：／／ＨｏｓｔＢ／ＰａｔｈＢ／ＦｉｌｅＢ
ｈｔｔｐ:／／ＨｏｓｔＣ／ＰａｔｈＣ／ＰｒｏｇｒａｍＣ
このように抽出したデータ所在情報を元に図５に示す抽出テーブルＴＢ２を作成する。
【００２８】
次に、ステップ２８において、所在テーブルＴＢ１からｆｔｐ：／／ＨｏｓｔＣ／ＰａｔｈＣ／ＦｉｌｅＣと、これに関連づけられて格納されていたデータ特定情報０ｘ３３３３３３３３３３３３３３３３を削除する。そしてステップＳＡ３０→ステップＳＡ３２→ステップＳＡ３４を経て、ステップＳＡ３６においてＷＷＷデータ中継装置１０は、抽出テーブルＴＢ２のインデックスが０のデータ所在情報を含む要求メッセージｒ６を送信する。このとき、インデックス０のデータ所在情報はｓｍｂ：／／ＨｏｓｔＡ／ＤｉｒｅｃｔｏｒｙＡ／ＦｉｌｅＡであるので、ＷＷＷデータ中継装置１０はステップＳＡ３６において、ＷＷＷサーバ装置２０ａにこのデータ所在情報を含む要求メッセージｒ６を送信する。ＷＷＷサーバ装置２０ｃは該当のファイルがない場合、ＷＷＷデータ中継装置１０にエラーを含む応答メッセージｒ７を送信する。ＷＷＷデータ中継装置１０は応答メッセージｒ７を受信すると、ステップＳＡ３８を経てステップ４０においてｉをインクリメントする。この場合、ｉの値は１になる。インデックス１のデータ所在情報はｈｔｔｐ：／／ＨｏｓｔＢ／ＰａｔｈＢ／ＦｉｌｅＢであるので、ＷＷＷデータ中継装置はサーバ装置２０ｂにこのデータ所在情報を含む要求メッセージｒ８を送信する。この動作をｉ＜ｎの条件を満たす間、取得対象データを取得するまで行う。その間、取得対象データを含む応答メッセージｒ９を受信すると、ステップＳＡ１６においてＷＷＷデータ中継装置１０はその取得対象データを含む応答メッセージｒ１０をＷＷＷクライアント装置３０に送信する。一方、取得対象データが得られなかった場合、ステップＳＡ４２においてエラーを含む応答メッセージｒ１０をＷＷＷクライアント装置３０に送信する。
【００２９】
前述の、ステップＳＡ４においてＷＷＷデータ中継装置１０がＷＷＷサーバ装置２０ｃに要求メッセージｒ２を送信した際、ＷＷＷサーバ装置２０ｃからの応答がなかった場合、ＷＷＷデータ中継装置１０は、ステップＳＡ５→ステップＳＡ４４→ステップＳＡ４６→ステップＳＡ４８の動作を行う。
【００３０】
以上説明したように、本実施形態によれば、ＷＷＷデータ中継装置１０はデータ所在情報と、取得対象データの特定情報とを関連づけて保持し、取得対象データの内容が同一である取得対象データのデータ所在情報同士を相互に照会する。そのためＷＷＷデータ中継装置１０はＷＷＷクライアント装置３０からの要求で指定された所在から取得対象データを取得できなかった場合、代替の所在から取得対象データを取得することができるため、データ取得の応答性を改善することができる。また、所在テーブルＴＢ１のデータ特定情報にはハッシュ関数によって得られた取得対象データのハッシュ値を格納するため、取得対象データそのものを格納する従来の技術に比べて少ない容量ですむ。そのため、画像データ等のようにサイズが大きな取得対象データの特定情報も格納することができ、常時稼働が期待できないコピー複合機のようなＷＷＷサーバ装置２０ａ〜２０ｃが、ネットワーク・システム上に多数分散しているような条件に対して好適である。
【００３１】
また、本実施形態によれば、内容が同一である取得対象データの所在同士を相互に照会するために必要となる情報は、取得対象データの中継転送を行う中で、取得、及び登録・更新するため、データベースへの情報登録などといった設定・保守管理の操作が不要である。さらに、ＷＷＷサーバ装置２０ａ〜２０ｃ、及びクライアント装置３０は、要求対象のファイルをその所在で指定する形態のまま保持すればよいため、ＷＷＷサーバ装置２０ａ〜２０ｃ、及びクライアント装置３０に対する変更の作業が不要であり、既存のネットワーク・システムへの導入が容易である。
【００３２】
[変形例]
なお、図４のステップＳＡ２６においてＷＷＷデータ中継装置１０が作成する抽出テーブルＴＢ２はＷＷＷデータ中継装置１０がＷＷＷサーバ装置２０ａ〜２０ｃに要求メッセージを送信してから、取得対象データが含まれた応答メッセージを受信するまでの時間が短い順にソートしてもよい。この場合、ＷＷＷデータ中継装置１０において取得対象データ受信時間を測定し、所在テーブルＴＢ１の登録、更新を行う際に、データ所在情報とデータ特定情報に加えて測定したデータ受信時間の登録を行うようにする。そしてＷＷＷデータ中継装置１０の制御部１０２は抽出テーブルＴＢ２のソート順にＷＷＷサーバ装置２０ａ〜２０ｃにアクセスを行うようにする。
【００３３】
また前記抽出テーブルＴＢ２のソート順は、ＷＷＷデータ中継装置１０が過去にＷＷＷサーバ装置２０ａ〜２０ｃに取得対象データを要求した時の取得対象データの取得確率の高い順にしてもよい。この場合、ＷＷＷデータ中継装置１０は、所在テーブルＴＢ１の登録、更新を行う際に取得対象データの取得の成功回数の登録も行うようにする。そしてＷＷＷデータ中継装置１０の制御部１０２は抽出テーブルＴＢ２のソート順にＷＷＷサーバ装置２０ａ〜２０ｃにアクセスを行うようにする。
【００３４】
また、本実施形態においては、ＷＷＷデータ中継装置１０はＷＷＷクライアント装置３０からの要求メッセージで指定されたデータ所在情報に対する要求の試行をまず行い、取得対象データを得られなかった場合、取得対象データの取得が成功するまで、代替のデータ所在情報を１つずつ選択して要求を試行するようにした。しかし、例えば、ＷＷＷクライアント装置３０から要求メッセージを受信した際に、要求メッセージに含まれる所在情報から抽出テーブルＴＢ２を作成し、それら全てのデータ所在情報に対して、同時に要求を行い、いずれか最初に受信できた取得対象データをＷＷＷクライアント装置３０に送信してもよい。
【００３５】
また、ＷＷＷデータ中継装置１０がＷＷＷクライアント装置３０からの要求メッセージで指定されたデータ所在情報に対する要求の試行を行って、エラーであった場合、作成した抽出テーブルＴＢ２をＷＷＷクライアント装置３０に応答メッセージとして送信し、ＷＷＷクライアント装置３０が抽出テーブルＴＢ２から次に試行するデータ所在情報を指定するようにしてもよい。
【００３６】
また、ＷＷＷクライアント装置３０からの要求で指定されたデータ所在情報に対する要求の試行でエラーとなり、代替の所在に対する要求を試行した結果として取得対象データが受信できた場合、その取得対象データの内容が前回所在テーブルＴＢ１に登録されたときのものから更新されている場合、ＷＷＷデータ中継装置１０からＷＷＷクライアント装置３０へ取得対象データを含む応答メッセージを送信する際に、その取得対象データの所在を示す所在情報を付与するようにしてもよい。
【００３７】
また、ＷＷＷクライアント装置３０からの要求メッセージで指定されたデータ所在情報に対する要求の試行を行い、得られた取得対象データの特定情報と、所在テーブルＴＢ１に登録されている同じデータ所在情報に関連づけられて格納されているデータ特定情報とを比較し、一致しない場合は、ＷＷＷクライアント装置３０に取得対象データを送信する際、更新情報を付加してもよい。
【００３８】
また、ＷＷＷサーバ装置２０ａ〜２０ｃとＷＷＷクライアント装置３０間の取得対象データ転送には、ＷＷＷサーバ装置２０ａ〜２０ｃからＷＷＷクライアント装置３０へのデータの送信のみならず、ＷＷＷクライアント装置３０からＷＷＷサーバ装置２０ａ〜２０ｃへのデータ送信もある。本実施形態では、ＷＷＷサーバ装置２０ａ〜２０ｃからＷＷＷクライアント装置３０へのデータ受信の際にのみ、所在テーブルＴＢ１の更新を行う例を示した。しかし、ＷＷＷクライアント装置３０からＷＷＷサーバ装置２０ａ〜２０ｃへのデータ送信の際にも、ＷＷＷデータ中継装置１０においてデータ送信先のデータ所在情報と、データ特定情報とを取得して、所在テーブルＴＢ１に登録するようにしてもよい。
【００３９】
また、実施形態で説明したＷＷＷデータ中継装置１０が実現する機能の一部又は全部を、ＷＷＷサーバ装置２０ａ〜２０ｃやＷＷＷクライアント装置３０が担うようにしてもよい。ＷＷＷ中継装置１０が実現する機能は大別して、所在テーブルＴＢ１を保持するデータ所在情報保持機能と、所在テーブルＴＢ１のデータ所在情報、及びデータ特定情報への登録、更新を行う所在情報登録機能と、ＷＷＷクライアント装置３０の代行としてＷＷＷサーバ装置２０ａ〜２０ｃに取得対象データを要求するデータ要求代行機能とがある。
これらの機能のうち、データ所在情報登録機能とデータ要求代行機能をＷＷＷクライアント装置３０に実現させてもよい。このようにすれば、所在テーブルＴＢ１の登録、更新の判断をユーザが行うことができる。また、ＷＷＷデータ中継装置１０は、データ所在情報保持機能のみを実現することになるので、ＷＷＷデータ中継装置１０の簡略化を図ることができる。
また、データ所在情報登録機能をＷＷＷサーバ装置２０ａ〜２０ｃに実現させ、データ要求代行機能をＷＷＷクライアント装置３０に実現させてもよい。若しくは、ＷＷＷデータ中継装置１０にデータ所在情報保持機能と、データ所在情報登録機能を実現させ、ＷＷＷクライアント装置３０にデータ要求代行機能を実現させてもよい。このようにすれば、抽出テーブルＴＢ２が直接ＷＷＷクライアント装置３０に送信されるため、代替の取得対象データの取得先の選択をユーザが行うことができる。
また、ネットワークシステム中に所在テーブルＴＢ１の更新のみを実現するクライアント装置を設けてもよい。
【図面の簡単な説明】
【００４０】
【図１】本発明の実施形態に係るシステムの全体構成を示すブロック図である。
【図２】同実施形態におけるＷＷＷデータ中継装置の構成を示すブロック図である。
【図３】同実施形態における所在テーブルの内容の一例を示す図である。
【図４】同実施形態におけるＷＷＷデータ中継装置が行う動作を示したフローチャートである。
【図５】同実施形態における抽出テーブルの内容の一例を示す図である。
【図６】同実施形態におけるシステム全体の動作例を示すシーケンス図である。
【図７】同実施形態におけるシステム全体の動作例を示すシーケンス図である。
【符号の説明】
【００４１】
１・・・インターネット、１０・・・ＷＷＷデータ中継装置、２０ａ〜２０ｃ・・・ＷＷＷサーバ装置、３０・・・ＷＷＷクライアント装置、１０２・・・制御部、１０４・・・通信部、１０６・・・記憶部
【図１】
2006178745.tif 000003
【図２】
2006178745.tif 000004
【図３】
2006178745.tif 000005
【図４】
2006178745.tif 000006
【図５】
2006178745.tif 000007
【図６】
2006178745.tif 000008
【図７】
2006178745.tif 000009