(57)【特許請求の範囲】
【請求項１】
ネットワークに接続された端末装置からの要求を受け、前記ネットワークに接続された情報提供装置群に分散して配置された構造化情報を提供する情報提供方法であって、
前記端末装置からの第１の構造化情報の参照要求を受け付けるステップと、
前記第１の構造化情報中に含まれる第２の構造化情報または第２の構造化情報群に対する部分参照の記述を抽出するステップと、
抽出された前記第２の構造化情報または前記第２の構造化情報群が格納されている情報提供装置または情報提供装置群に対し、前記第２の構造化情報または前記第２の構造化情報群の部分参照記述に指定された該当部分を要求するステップと、
要求した前記第２の構造化情報または前記第２の構造化情報群の該当部分が取得できた場合、前記第２の構造化情報または前記第２の構造化情報群の該当部分を前記第１の構造化情報に埋め込み、前記端末装置に送出するステップと、
を含む情報提供方法。
【請求項２】
ネットワークを介して情報表示装置に接続される情報提供装置群に含まれる第１情報提供装置に用いられる情報提供方法であって、
前記ネットワーク上の第２リソースへの参照の記述を含む第１リソースの提供要求を、前記情報表示装置から受け付ける受付ステップと、
前記第１リソースを読み出し、前記第２リソースへの参照の記述を、前記第１リソースから抽出する参照抽出ステップと、
前記第２リソースへの参照の記述に基づいて、前記第２リソースが前記第１情報提供装置に保持されているのかまたは前記情報提供装置群に含まれる第２情報提供装置に保持されているのかを判断するアドレス判断ステップと、
前記第２リソースが前記第１情報提供装置に保持されている場合、前記第２リソースを読み出すリソース読出ステップと、
前記第２リソースが前記第１情報提供装置に保持されていない場合、前記第２リソースを保持している前記第２情報提供装置に対して前記第２リソースを要求して取得するリソース取得ステップと、
前記第２リソースを前記第１リソースに埋め込む埋込ステップと、
前記第２リソースが埋め込まれた前記第１リソースを前記ネットワークを介して前記情報表示装置に送信する送信ステップと、
を含む情報提供方法。
【請求項３】
前記リソース取得ステップは、前記第２情報提供装置への前記取得要求に加え、リソース取得要求元を識別する要求元識別子を送るステップをさらに含む、請求項２に記載の情報提供方法。
【請求項４】
第１リソースを保持する第１情報提供装置にネットワークを介して接続され、前記第１リソースが参照する第２リソースを保持する第２情報提供装置に用いられる情報提供方法であって、
前記第２リソースの取得要求を前記第１情報提供装置から受け付ける要求受付ステップと、
前記第２リソースを含むリソースの中から前記第２リソースを抽出する抽出ステップと、
前記ネットワークを介し、前記第２リソースを前記第１情報提供装置に送信する送信ステップと、
を含む情報提供方法。
【請求項５】
ネットワークを介して情報表示装置に接続される情報提供装置群に含まれる第１情報提供装置に用いられる情報提供プログラムを記録した、コンピュータ読み取り可能な記録媒体であって、
前記ネットワーク上の第２リソースへの参照の記述を含む第１リソースの提供要求を、前記情報表示装置から受け付ける受付ステップと、
前記第１リソースを読み出し、前記第２リソースへの参照の記述を、前記第１リソースから抽出する参照抽出ステップと、
前記第２リソースへの参照の記述に基づいて、前記第２リソースが前記第１情報提供装置に保持されているのかまたは前記情報提供装置群に含まれる第２情報提供装置に保持されているのかを判断するアドレス判断ステップと、
前記第２リソースが前記第１情報提供装置に保持されている場合、前記第２リソースを読み出すリソース読出ステップと、
前記第２リソースが前記第１情報提供装置に保持されていない場合、前記第２リソースを保持している前記第２情報提供装置に対して前記第２リソースを要求して取得するリソース取得ステップと、
前記第２リソースを前記第１リソースに埋め込む埋込ステップと、
前記第２リソースが埋め込まれた前記第１リソースを前記ネットワークを介して前記情報表示装置に送信する送信ステップと、
を実行するための情報提供プログラムを記録した、コンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワーク上のリソース、なかでも構造化文書をユーザ端末に提供するための技術に関する。
【０００２】
本発明において、リソースとは、データ形式を問わずネットワーク上で提供可能なデータである。例えば、構造化文書、テキストファイル、画像ファイル、プログラムファイルなどがリソースの一例として挙げられる。また、リソースとは、データファイルの全部であっても、また一部であっても良い。例えば、構造化文書の一部もリソースになり得る。
【０００３】
構造化文書とは、ＸＭＬ（Extensible Markup Language）、ＳＧＭＬ（Standard Generalized Markup Language）などの構造化言語（Markup language）により記述されたデータファイルを言う。フラグメントとは、構造化文書の一部を言う。
【０００４】
【従来の技術】
ネットワーク上のリソースをユーザ端末上で表示するにあたり、ネットワーク及びユーザ端末の負荷が大きい方法が用いられている。図１４は、ユーザ端末１が、リソースを蓄積するサーバＳ１，Ｓ２にネットワーク２で接続されていることを示す。サーバＳ１に蓄積されている構造化文書ｄ１には、フラグメントｆ２へのリンクが含まれている。このフラグメントｆ２は、別のサーバＳ２に蓄積されている構造化文書ｄ２の一部である。
【０００５】
ユーザ端末１は、構造化文書ｄ１をサーバＳ１に要求し、これをサーバＳ１から取得する。次いで、ユーザ端末１は、構造化文書ｄ１の構造解析を行う。ユーザ端末１は、構造化文書ｄ１内で他の構造化文書ｄ２に対する部分参照が行われていると、構造化文書ｄ２をサーバＳ２から取得する。
【０００６】
次に，ユーザ端末１は、構造化文書ｄ２を構造解析し、構造化文書ｄ１内の部分参照識別子ｘｌ２によって指し示されているフラグメントｆ２を構造化文書ｄ２から抽出する。その後、ユーザ端末１は、抽出したフラグメントｆ２を構造化文書ｄ１に埋め込む。
【０００７】
【発明が解決しようとする課題】
前記の処理を行う場合、部分参照ｘｌ２が構造化文書ｄ２の一部ｆ２のみを参照している場合であっても、ユーザ端末１は構造化文書ｄ２全体を取得しなければならない。しかし、部分参照先は構造化文書全体に比べて十分小さいことが多い。従って、構造化文書のごく一部を取得する目的でその構造化文書全体をネットワーク経由で取得するのは無駄が多い処理である。
【０００８】
なぜなら、データ転送に要する時間が、構造化文書の処理時間において大きな比重を占めてしまうからである。これは、ネットワークのデータ転送速度がコンピュータ内のバスのデータ転送速度に比べて一般に低速であることに起因する。なかでも、サーバ−ユーザ端末間のネットワークはサーバ間のネットワークに比べてかなり低速である。従って、前述の処理をユーザ端末で行った場合、多くの時間がデータ転送に費やされる上、取得した構造化文書の殆どの部分は不要な情報として廃棄されてしまう。
【０００９】
しかも、構造化文書内の部分参照が増えた場合や、参照先の構造化文書内にさらなる部分参照が含まれる場合、ユーザ端末に係る処理負担が大きくなってしまう。なぜなら、関連する構造化文書全てに対して構造解析を行い、フラグメントを抽出しなければならないからである。
【００１０】
一方、サーバ側では、ユーザ端末が構造化文書全体を参照したいのか、構造化文書の一部を参照したいのかを判断できない。そのため、部分参照に対する著作権の問題が発生するおそれがある。なぜならば、文書提供者の多くは、文書がオリジナルのまま参照されることを想定している。すなわち、文書提供者は、無許可で構造化文書の一部が抽出されて他の構造化文書に埋め込まれ、なおかつその参照された箇所を把握できないことを快く思わない。
【００１１】
さらに、前述の方法では、文書提供者の意図に従って部分参照の参照先を制御することが困難である。なぜなら、ユーザ端末側で構造化文書の取得及びフラグメントの抽出処理を行うからである。例えば、参照者であるユーザに応じて提供するフラグメントを制御するというサービスを考える。この場合、部分参照の参照先をユーザ端末側の制御に任せることは安全ではない。ユーザ端末は、前記構造化文書の全ての情報を入手することが出来るからである。
【００１２】
同様に、参照先の構造化文書の管理者は、ある特定の構造化文書からの部分参照のみを許すなどの処理を実現することが難しい。このため、管理者は、構造化文書の参照のされ方を自分で監視しなければならない。
【００１３】
本発明は、ネットワーク上のリソースを利用するに当たり、ネットワークの負荷を低減する技術を提供することを目的とする。
【００１４】
【課題を解決するための手段】
前記課題を解決するために、本願第１発明は、ネットワークに接続された端末装置からの要求を受け、前記ネットワークに接続された情報提供装置群に分散して配置された構造化情報を提供する情報提供方法を提供する。この方法は下記のステップを含んでいる。
Ａ：前記端末装置からの第１の構造化情報の参照要求を受け付けるステップ、
Ｂ：前記第１の構造化情報中に含まれる第２の構造化情報または第２の構造化情報群に対する部分参照の記述を抽出するステップ、
Ｃ：抽出された前記第２の構造化情報または前記第２の構造化情報群が格納されている情報提供装置または情報提供装置群に対し、前記第２の構造化情報または前記第２の構造化情報群の部分参照記述に指定された該当部分を要求するステップ、
Ｄ：要求した前記第２の構造化情報または前記第２の構造化情報群の該当部分が取得できた場合、前記第２の構造化情報または前記第２の構造化情報群の該当部分を前記第１の構造化情報に埋め込み、前記端末装置に送出するステップ。
【００１５】
この方法は、例えばリソースとして構造化文書を蓄積するサーバに適用される。サーバは、要求された構造化文書ｄ１から構造化文書ｄ２のフラグメントｆ２への参照を抽出し、フラグメントｆ２を他のサーバから取得し、フラグメントｆ２を構造化文書ｄ１に埋め込んで要求元に返信する。フラグメントｆ２が構造化文書ｄ２の一部である場合、必要部分だけがネットワーク上を伝送されるので、ネットワーク負荷を軽減することができる。また、端末装置は、目的とする構造化文書ｄ１以外の文書ｄ２を取得したり、構造解析したりする処理が軽減される。
【００１６】
本願第２発明は、ネットワークを介して情報表示装置に接続される情報提供装置群に含まれる第１情報提供装置に用いられる情報提供方法を提供する。この方法は、
前記ネットワーク上の第２リソースへの参照の記述を含む第１リソースの提供要求を、前記情報表示装置から受け付ける受付ステップと、
前記第１リソースを読み出し、前記第２リソースへの参照の記述を、前記第１リソースから抽出する参照抽出ステップと、
前記第２リソースへの参照の記述に基づいて、前記第２リソースが前記第１情報提供装置に保持されているのかまたは前記情報提供装置群に含まれる第２情報提供装置に保持されているのかを判断するアドレス判断ステップと、
前記第２リソースが前記第１情報提供装置に保持されている場合、前記第２リソースを読み出すリソース読出ステップと、
前記第２リソースが前記第１情報提供装置に保持されていない場合、前記第２リソースを保持している前記第２情報提供装置に対して前記第２リソースを要求して取得するリソース取得ステップと、
前記第２リソースを前記第１リソースに埋め込む埋込ステップと、
前記第２リソースが埋め込まれた前記第１リソースを前記ネットワークを介して前記情報表示装置に送信する送信ステップと、
を含んでいる。
【００１７】
この方法は、例えば構造化文書ｄ１，ｄ２を蓄積している第１サーバに適用される。構造化文書ｄ１は、構造化文書ｄ２に含まれるフラグメントｆ２を参照している。第１サーバは、構造化文書ｄ１を要求された場合、フラグメントｆ２を読み出してまたはフラグメントｆ２を第２サーバから取得して構造化文書ｄ１に埋め込み、要求元に返信する。
【００１８】
本願第３発明は、前記第２発明において、前記リソース取得ステップは、前記第２情報提供装置への前記取得要求に加え、リソース取得要求元を識別する要求元識別子を送るステップをさらに含む、情報提供方法を提供する。
【００１９】
第１サーバは、第２リソースの取得要求と要求者の識別情報とを第２サーバに送信する。第２サーバは、リソースと要求者の識別情報とを対応付けて記憶しておくことにより、誰がどのリソースを何回参照したかなどの情報を、把握することができる。
【００２０】
本願第４発明は、第１リソースを保持する第１情報提供装置にネットワークを介して接続され、前記第１リソースが参照する第２リソースを保持する第２情報提供装置に用いられる情報提供方法を提供する。この方法は、
前記第２リソースの取得要求を前記第１情報提供装置から受け付ける要求受付ステップと、
前記第２リソースを含むリソースの中から前記第２リソースを抽出する抽出ステップと、
前記ネットワークを介し、前記第２リソースを前記第１情報提供装置に送信する送信ステップと、
を含んでいる。
【００２１】
今、構造化文書ｄ１（第１リソース）が、構造化文書ｄ２内のフラグメントｆ２（第２リソース）を参照しているとする。この方法は、前記第１発明に係る第１サーバ（第１情報提供装置）からフラグメントｆ２を要求される第２サーバ（第２情報提供装置）に適用される。第２サーバは、自分が保持するフラグメントｆ２を、第１サーバに返信する。
【００２２】
本願第５発明は、ネットワークを介して情報表示装置に接続される情報提供装置群に含まれる第１情報提供装置に用いられる情報提供プログラムを記録した、コンピュータ読み取り可能な記録媒体を提供する。この記録媒体は、以下のステップを実行するための情報提供プログラムを記録している。
【００２３】
前記ネットワーク上の第２リソースへの参照の記述を含む第１リソースの提供要求を、前記情報表示装置から受け付ける受付ステップと、
前記第１リソースを読み出し、前記第２リソースへの参照の記述を、前記第１リソースから抽出する参照抽出ステップと、
前記第２リソースへの参照の記述に基づいて、前記第２リソースが前記第１情報提供装置に保持されているのかまたは前記情報提供装置群に含まれる第２情報提供装置に保持されているのかを判断するアドレス判断ステップと、
前記第２リソースが前記第１情報提供装置に保持されている場合、前記第２リソースを読み出すリソース読出ステップと、
前記第２リソースが前記第１情報提供装置に保持されていない場合、前記第２リソースを保持している前記第２情報提供装置に対して前記第２リソースを要求して取得するリソース取得ステップと、
前記第２リソースを前記第１リソースに埋め込む埋込ステップと、
前記第２リソースが埋め込まれた前記第１リソースを前記ネットワークを介して前記情報表示装置に送信する送信ステップ。
【００２４】
このプログラムは、第２発明と同様の作用効果を有する。
【００２５】
【発明の実施の形態】
＜発明の概要＞
図１は、本発明を適用した情報提供システムの全体概念図である。このシステムは、サーバ１ａ、ｂ、ｃ、クライアント２ａ、ｂ及びネットワーク３を含む。リソースはネットワーク３上に分散している。ここでは、構造化文書ｄ１，ｄ２はサーバ１ａに、構造化文書ｄ３，ｄ４はサーバ１ｂに、構造化文書ｄ５はサーバ１ｃに分散している。
【００２６】
このような状態において、例えばサーバ１ａは、１）クライアント２ａから構造化文書ｄ１の参照要求を受け付け、２）構造化文書ｄ１中に含まれる部分参照、ｘｌ２、ｘｌ３、ｘｌ４の参照先のフラグメントｆ２、ｆ３、ｆ４、ｆ５をサーバ１ａ自身及び他サーバ１ｂ，ｃから取得し、３）フラグメントｆ２〜ｆ５を構造化文書ｄ１に埋め込み、４）埋め込み処理後の構造化文書ｄ１を要求元クライアント２ａに送信する。
【００２７】
図２は、構造化文書ｄ１〜ｄ５の参照関係図である。構造化文書ｄ１は構造化文書ｄ２、ｄ３、ｄ４を参照し、さらに構造化文書ｄ４は構造化文書ｄ５を参照している。具体的には、構造化文書ｄ１は部分参照ｘｌ２、ｘｌ３、ｘｌ４を含む。ここで、部分参照とはネットワーク上のリソースへのリンクをいう。部分参照ｘｌ２、ｘｌ３及びｘｌ４は、フラグメントｆ２、ｆ３及びｆ４をそれぞれ参照している。フラグメントｆ２、ｆ３及びｆ４は、それぞれ構造化文書ｄ２、ｄ３及びｄ４の一部である。さらに、フラグメントｆ４は、フラグメントｆ５を参照する部分参照ｘｌ５を含んでいる。
【００２８】
なお、図示していないが、参照先または参照元のフラグメントは、そのフラグメントの公開レベルを含む場合がある。この公開レベルは、クライアント２の参照レベルと比較され、クライアント２へフラグメントを提供するか否かの判断に用いられる（後述する図４参照）。また、サーバ１間でのフラグメントの送受信に、時間制限を設けたり、取得回数制限を設けることが可能である（後述する図９参照）。参照先リソースの取得が無限に続いたり、ネットワークの混雑によりサーバ１間でのデータ転送に時間がかかることも考えられるからである。
【００２９】
図３は、フラグメントｆ２〜ｆ５が埋め込まれた構造化文書ｄ１の概念説明図である。本実施形態例では、サーバ１ａによりフラグメントｆ２〜ｆ５の埋め込みを行い、参照先のコンテンツが埋め込まれた構造化文書ｄ１を提供する。図示していないが、埋め込まれたフラグメントは著作権情報を含む場合がある。
【００３０】
このように、本発明では、要求された構造化文書に関連するリソースを、サーバにより構造化文書に埋め込む。従って、サーバ１とクライアント２との間で無駄なデータ転送を行わずに済み、ネットワークの負荷やクライアントの処理負担を軽減することができる。
【００３１】
＜第１実施形態例＞
次に、本発明に係る情報提供方法について、第１実施形態例を挙げて具体的に説明する。以下、説明を容易にするため、サーバ１ａが前記構造化文書ｄ１にフラグメントｆ２〜ｆ５を埋め込み、クライアント２ａに提供する場合を例に取り説明する。
【００３２】
［構成］
（１）全体構成
再び図１を参照し、本発明の第１実施形態例に係る情報提供システムの全体構成を説明する。情報提供装置であるサーバ１ａ、ｂ、ｃは、ネットワーク３を介し、クライアント２ａ、ｂと接続されている。クライアント２としては、コンピュータ上で動作するウェブブラウザを用いることができる。ネットワーク３としては、インターネット、専用回線、公衆電話回線、移動体通信網などを用いることができる。
【００３３】
（２）サーバ
サーバ１は、構造化文書にフラグメントを埋め込む埋込処理と、フラグメントを抽出して他のサーバ１に提供するフラグメント抽出処理とを行う。以下、サーバ１の機能を、埋込処理についてはサーバ１ａを、フラグメント抽出処理についてはサーバ１ｂを例に挙げて説明する。ただし、サーバ１ａ，ｂ，ｃは両処理を実行可能であることが好ましい。
【００３４】
（２−１）サーバ１ａ（埋込処理機能）
サーバ１ａは、通信部１１ａと、構造解析部１２ａと、フラグメント受信部１３ａと、埋込部１４ａと、文書ＤＢ１５ａとを備えている。
【００３５】
通信部１１ａは、例えばＷＷＷサーバを用いて実現することができる。通信部１１ａは、クライアント２ａから構造化文書ｄ１の要求を受け付け、埋込処理後の構造化文書ｄ１をクライアント２ａに送信する。また、通信部１１ａは、フラグメントｆ３、ｆ４の抽出要求を、サーバ１ｂに送信する。
【００３６】
構造解析部１２ａは、要求された構造化文書ｄ１を文書ＤＢ１５ａから読み出して構造解析し、文書ｄ１に含まれる部分参照ｘｌ２、ｘｌ３、ｘｌ４を抽出する。構造解析部１２は、部分参照先が自サーバにあるか他サーバにあるかで次の処理を行う。自サーバにある部分参照先については、構造化文書ｄ２を文書ＤＢ１５ａから読み出して構造解析し、フラグメントｆ２を抽出する。一方、構造解析部１２は、他のサーバ１ｂにある部分参照先については、他のサーバ１ｂにフラグメントｆ３、ｆ４の抽出要求を送信する。
【００３７】
フラグメント受信部１３ａは、抽出されたフラグメントｆ３、ｆ４をサーバ１ｂから受信する。埋込部１４ａは、フラグメントｆ２、ｆ３、ｆ４を構造化文書ｄ１に埋め込む。文書ＤＢ１５ａには、構造化文書ｄ１、ｄ２が蓄積されている。
【００３８】
（２−２）サーバ１ｂ（フラグメント抽出処理機能）
サーバ１ｂは、通信部１１ｂと、構造解析部１２ｂと、フラグメント受信部１３ｂと、埋込部１４ｂと、文書ＤＢ１５ｂとを備えている。文書ＤＢ１５ｂには構造化文書ｄ３，ｄ４が蓄積されている。通信部１１ｂは、前記通信部１１ａと同様の機能を有する。
【００３９】
構造解析部１２ｂは、サーバ１ａから要求されたフラグメントｆ３、ｆ４を含む構造化文書ｄ３、ｄ４を、文書ＤＢ１５ｂから読み出す。また構造解析部１２ｂは、構造化文書ｄ３，ｄ４を構造解析し、フラグメントｆ３，ｆ４を抽出する。また構造解析部１２ｂは、フラグメントｆ５を参照する部分参照ｘｌ５をフラグメントｆ４から抽出し、フラグメントｆ５の抽出を通信部１１ｂを介してサーバ１ｃに要求する。
【００４０】
フラグメント受信部１３ｂは、他サーバ１ｃからフラグメントｆ５のコンテンツを受信する。
埋込部１４ｂは、フラグメントｆ５をフラグメントｆ４に埋め込む。
【００４１】
［構造化文書の具体例］
次に、図４〜図７を参照し、構造化文書ｄ１〜ｄ５及び部分参照の具体例を示す。ここでは、構造化文書ｄ１〜ｄ５がＸＭＬで記述されている場合を示す。
【００４２】
図４は、構造化文書ｄ１の具体例である。構造化文書ｄ１には、フラグメントｆ２，ｆ３，ｆ４への部分参照ｘｌ２，ｘｌ３，ｘｌ４が記述されている。この例では、部分参照を行うための記述に、Xlink Working Draft 3-March-1998を使用し、フラグメント指定の記述にXpointer(XML Pointer Language)を使用している。
【００４３】
例えば、フラグメントｆ３への部分参照ｘｌ３では、タグ<xlink>が部分参照を行うことを指定している。また、タグ<xlink>の中のタグ<locator>には、フラグメントｆ３の指定「"http://izumi.flab.fujitsu.co.jp/washio/sample/doc3.xml#child(1,head).child(1,title)"」が記述されている。ここでは、サーバ１ｂ内の構造化文書ｄ３のタグ<head>の中のタグ<title>のコンテンツが、部分参照先に指定されている。
【００４４】
また、部分参照ｘｌ３には、公開レベル「fjreflevel="3"」が指定されている。この公開レベルは、クライアント２ａの参照レベルと比較される。比較結果に応じ、クライアント２ａからフラグメントｆ３への参照が制限される。クライアント２の参照レベルは、例えばサーバ１との契約により決定され、サーバ内のデータベース（図示せず）に蓄積されている。なお、部分参照に参照レベルが含まれない場合は、参照の制限はされておらず、そのフラグメントを誰でも参照できる。
【００４５】
図５（ａ）、（ｂ）、（ｃ）は、それぞれ構造化文書ｄ２、ｄ３、ｄ４の具体例である。構造化文書ｄ２、ｄ３、ｄ４には、部分参照ｘｌ２、ｘｌ３及びｘｌ４により参照されるフラグメントｆ２、ｆ３及びｆ４のコンテンツがそれぞれ記述されている。例えば、構造化文書ｄ３のタグ<head>の中のタグ<title>には、フラグメントｆ３のコンテンツ「ＸＬｉｎｋ講座基礎編」が記述されている。また、構造化文書ｄ４のタグ<title>には、フラグメントｆ４のコンテンツとして、「ＸＬｉｎｋ講座応用編」及びフラグメントｆ５への部分参照ｘｌ５が記述されている。
【００４６】
図６は、構造化文書ｄ５の具体例である。構造化文書ｄ５には、タグ<head>の中のタグ<title>には、フラグメントｆ５のコンテンツ「応用編１」が記述されている。
【００４７】
図７は、埋込処理後の構造化文書ｄ１の具体例である。埋込処理後の構造化文書ｄ１には、図５及び図６に示したフラグメントｆ２〜ｆ５が埋め込まれている。具体的には、各部分参照ｘｌ２〜ｘｌ４に代えて、フラグメントｆ２〜ｆ４のコンテンツが埋め込まれている。また、フラグメントｆ４の中の部分参照ｘｌ５に代え、フラグメントｆ５のコンテンツがフラグメント４の中に埋め込まれている。さらに、フラグメントｆ３，ｆ４の著作権に関する情報がコンテンツと共に埋め込まれている。
【００４８】
［処理の流れ］
次に、本システムにおける処理の流れについて、（１）全体の処理、（２）サーバ間でのフラグメント送受信方法、（３）サーバでの処理、の順に説明する。以下において、構造化文書ｄ１〜ｄ５が前記図４〜６に示したＸＭＬ文書である場合を例に取る。
【００４９】
（１）全体の処理
図８は、本実施形態例に係る情報提供システムが行う処理の全体的な流れを示す説明図である。
【００５０】
クライアント２ａが構造化文書ｄ１を要求すると、サーバ１ａは、構造化文書ｄ１を文書ＤＢ１５ａから読み出し、構造化文書ｄ１を構造解析する（＃１，＃２）。サーバ１ａは、構造解析の結果、部分参照ｘｌ２，ｘｌ３及びｘｌ４を抽出する。同一サーバ内に参照先の構造化文書ｄ２が存在する部分参照ｘｌ２については、サーバ１ａは、文書ＤＢ１５ａから構造化文書ｄ２を読み出して構造解析し、フラグメントｆ２を抽出する（＃３）。一方、他のサーバ１ｂに参照先の構造化文書ｄ３、ｄ４が存在する部分参照ｘｌ３及びｘｌ４については、サーバ１ａは、サーバ１ｂに対してフラグメントｆ３及びｆ４の抽出要求を送信する（＃４）。
【００５１】
サーバ１ｂは、フラグメントｆ３及びｆ４の抽出要求を受信すると、文書ＤＢ１５ｂから構造化文書ｄ３及びｄ４を読み出して構造解析し、フラグメントｆ３及びｆ４を抽出する（＃５）。フラグメントｆ４には部分参照ｘｌ５が含まれるので、サーバ１ｂは、参照先となる構造化文書ｄ５が存在するサーバ１ｃに対してフラグメントｆ５の抽出要求を送信する（＃６）。
【００５２】
サーバ１ｃは、フラグメントｆ５の抽出要求を受信すると、文書ＤＢ１５ｃから構造化文書ｄ５を読み出して構造解析し、フラグメントｆ５を抽出する（＃７）。そしてサーバ１ｃは、抽出したフラグメントｆ５をサーバ１ｂに送信する（＃８）。
【００５３】
サーバ１ｂは、フラグメントｆ５を受信すると、フラグメントｆ５をフラグメントｆ４に埋め込む（♯９，１０）。そしてサーバ１ｂは、フラグメントｆ３と埋め込み処理後のフラグメントｆ４とを、サーバ１ａに送信する（♯１１）。
【００５４】
サーバ１ａは、フラグメントｆ３及びｆ４を受信し、抽出したフラグメントｆ２と受信したフラグメントｆ３及びｆ４とを、構造化文書ｄ１に埋め込む（♯１２，１３）。次いでサーバ１ａは、埋込処理後の構造化文書ｄ１をクライアント２ａに送信する（♯１４）。クライアント２ａは、埋込処理後の構造化文書ｄ１を受信し、表示を行う（＃１５）。
【００５５】
（２）フラグメントの送信要求
図９は、サーバ１ａ，ｂ，ｃ間でのフラグメントの抽出要求及び受信の方式を説明する説明図である。ここでは、サーバ１ａが、サーバ１ｂに対してフラグメントｆ３の抽出要求を送信し、サーバ１ｂからフラグメントｆ３を受信する場合を例に取り説明する。
【００５６】
図９（ａ）は、抽出要求のフォーマット例を示す。サーバ１ａ、ｂ、ｃ間の通信をＨＴＴＰで行う場合、サーバ１ａからサーバ１ｂへの抽出要求はＧＥＴメソッドにより記述される。この抽出要求は、構造化文書ｄ３のＵＲＬと、フラグメント識別子と、要求識別子とを含む。フラグメント識別子を示す「fjpointer=」に続いては、部分参照ｘｌ３で指定されているフラグメントが記述される。
【００５７】
要求識別子を示す「fjfragmentid=」に続いては、各抽出要求を特定するための情報が記述される。ここでは、下記１）〜４）が要求識別子に含まれている。
１）フラグメントｆ３の抽出要求を示す「FJ＿LSP＿DF」、
２）抽出を要求したサーバ１ａのアドレス「aoba.fujitsu.co.jp」、
３）クライアント２ａから参照要求を受信した時刻「975486504」、
４）乱数「391077169」。
【００５８】
サーバ１ｂは、この抽出要求を受信すると、フラグメント識別子に基づいてフラグメントｆ３を抽出する。なお、参照要求を受信した時刻は、後述するように、クライアント２への応答期限の設定に用いることができる。
【００５９】
図９（ｂ）はフラグメントを送信するためのフラグメント文書の例を示す。サーバ１ｂからサーバ１ａへのフラグメントの送信は、ＸＭＬにより記述されたフラグメント文書により行われる。フラグメント文書は、前記要求識別子と、要求されたフラグメントｆ３とを含む。要求識別子「FJ＿LSP＿DF＿aoba.fujitsu.co.jp＿975486504＿391077169」は、フラグメント文書を前記抽出要求と対応付けるためにタグ名に用いられる。サーバ１ａは、このフラグメント文書を受信すると、フラグメント文書に含まれる要求識別子に基づいて、抽出要求と受信したフラグメントｆ３とを対応付ける。
【００６０】
また、構造化文書ｄ３に著作権情報がある場合、フラグメント文書に著作権情報も添付することができる。この例では、著作権情報「FJ＿LSP＿CR＿aoba.fujitsu.co.jp＿975486504＿391077169="Fujitsu Lab Ltd."」を、タグ<title>に埋め込んでいる。ここで、「FJ＿LSP＿CR」は、前記要求識別子に対応する著作権情報であることを示している。著作権情報は、参照先の構造化文書ｄ３に含まれている場合もあれば、サーバ１ｂの文書ＤＢ１５ｂに含まれている場合もある。サーバ１ｂは、著作権情報の要求識別子を含む抽出要求を受け取ると、要求された構造化文書ｄ３の該当部分を抽出すると共に、構造化文書ｄ３に含まれる著作権情報あるいは文書ＤＢ１５ｂ中の著作権情報を取得し、フラグメントを生成する。
【００６１】
なお、フラグメント抽出処理機能を有しないサーバ、例えば通常のウェブサーバは、抽出要求に含まれるフラグメント識別子及び要求識別子を認識しない。このようなサーバは、抽出要求に含まれるＵＲＬまで解析し、構造化文書ｄ３全体をサーバ１ａに送信する。サーバ１ａは、送信された構造化文書ｄ３に要求識別子が記述されていないことにより、フラグメントｆ３ではなく構造化文書ｄ３自体が送信されたことを認識する。この場合、サーバ１ａは、構造化文書ｄ３を構造解析し、フラグメントｆ３を抽出する。従って、本発明に係るサーバ１と既存のサーバとがネットワーク上で併存していても問題ない。また、これらの要素「FJ＿LSP＿DF」あるいは属性「FJ＿LSP＿CR」に名前空間接頭辞を付加し、特定の名前空間（例えば、fujitsu：等）の要素・属性として定義してもよい。
【００６２】
（３）サーバでの処理
次に、サーバ１における処理について具体的に説明する。
（３−１）埋込処理
図１０は、サーバ１ａにおける埋込処理の流れを示すフローチャートである。
【００６３】
ステップＳ２１：通信部１１ａは、クライアント２から構造化文書の参照要求を待機しており、参照要求を受信した場合はステップＳ２２に移行する。本実施形態例では、通信部１１ａがクライアント２ａから構造化文書ｄ１の参照要求を受信し、ステップＳ２２に移行する。また、通信部１１ａは、参照要求を受信した時刻Ｔｒと、時刻Ｔｒから所定時間ΔＴ経過した時刻Ｔｓを、一時的に記憶する。時刻Ｔｓは、クライアント２ａへの応答期限時刻に設定される。
【００６４】
ステップＳ２２：構造解析部１２ａは、要求された構造化文書ｄ１を文書ＤＢ１５ａから読み出す。
ステップＳ２３：構造解析部１２ａは、読み出した構造化文書ｄ１を構造解析する。
【００６５】
ステップＳ２４：構造解析部１２ａは、構造化文書ｄ１に部分参照が含まれるか否か判断する。部分参照が含まれない場合は後述するステップＳ３７に移行する。部分参照が含まれる場合はステップＳ２５に移行する。本実施形態例では、構造化文書ｄ１に部分参照ｘｌ２，ｘｌ３及びｘｌ４が含まれているので、ステップＳ２５に移行する。
【００６６】
ステップＳ２５：構造解析部１２ａは、自サーバ１ａ内にあるフラグメントへの参照があるか否かを判断する。“Ｙｅｓ”と判断するとステップＳ２６に移行する。“Ｎｏ”と判断すると後述するステップＳ３１に移行する。本実施形態例では、文書ｄ１は自サーバ１ａ内のフラグメントｆ２への部分参照ｘｌ２を含んでいるので、ステップＳ２６に移行する。
【００６７】
ステップＳ２６：構造解析部１２ａは、クライアント２ａがフラグメントｆ２を参照する権限を有するか否かを確認する。参照権限を有する場合はステップＳ２７に移行する。参照権限を有しない場合は当該フラグメントの抽出を行わず、後述するステップＳ２８に移行する。本実施形態例では、部分参照ｘｌ２には公開レベルが含まれず、フラグメントｆ２にも公開レベルが設定されていない。従って、クライアント２ａはフラグメントｆ２を参照する権限を有していることになる。
【００６８】
ステップＳ２７：構造解析部１２ａは、構造化文書ｄ２を文書ＤＢ１５ａから読み出して構造解析し、フラグメントｆ２を抽出する。
ステップＳ２８：構造解析部１２ａは、サーバ１ａ内の参照先を全て抽出したか否か判別する。“Ｙｅｓ”と判断した場合はステップＳ２９に移行する。サーバ１ａ内の参照先が複数あり、全てを未だ抽出していない場合はステップＳ２６に移行する。本実施形態例では、フラグメントｆ２を抽出していればステップＳ２９に移行し、フラグメントｆ２を抽出していない場合はステップＳ２６に戻り、サーバ１ａ内にある未抽出のフラグメントの抽出を行う。
【００６９】
ステップＳ２９：構造解析部１２ａは、自サーバ１ａ以外の他サーバ内のフラグメントへの参照があるか否かを判別する。“Ｙｅｓ”と判断するとステップＳ３０に移行し、“Ｎｏ”と判断するとステップＳ３６に移行する。本実施形態例では、部分参照ｘｌ３及びｘｌ４は他サーバ１ｂのフラグメントｆ３及びｆ４を参照しているので、ステップＳ３０に移行する。
【００７０】
ステップＳ３０：構造解析部１２ａは、クライアント２ａがフラグメントを参照する権限を有するか否かを、各部分参照毎に確認する。参照権限を有しない場合は、当該フラグメントの抽出要求を行わない。本実施形態例では、フラグメントｆ３及びｆ４のそれぞれについて、クライアント２ａの参照レベルが部分参照ｘｌ３及びｘｌ４の公開レベルより高いか否かを比較する。例えばクライアント２ａの参照レベルが「４」であるとすると、部分参照ｘｌ３及びｘｌ４の公開レベルは「３」であるので、フラグメントｆ３及びｆ４について参照権限を有することになる。
【００７１】
ステップＳ３１：構造解析部１２ａは、参照権限ありと判断されたフラグメントについて、抽出要求をサーバ１ｂに送信し、前記要求に対する応答を受信する。
【００７２】
ステップＳ３２：フラグメント受信部１３ａは、サーバ１ｂから受信したデータがフラグメント抽出されたデータか否かを判断する。サーバ１ｂが本発明のフラグメント抽出機能を有しない場合、フラグメント抽出はなされず、従来技術で説明したように、要求された構造化文書全体が要求元であるサーバ１ａに送出される。受信したデータがフラグメント抽出されていないデータであれば、ステップＳ３３に移行する。受信データがフラグメントであれば、後述するステップＳ３４に移行する。
【００７３】
ステップＳ３３：フラグメント受信部１３ａは、取得したデータに対してフラグメント抽出処理を行い、所望のフラグメントを取得する。
ステップＳ３４：フラグメント受信部１３ａは、抽出要求を送信したフラグメントを全て受信したか否かを判断する。“Ｙｅｓ”と判断すると後述するステップＳ３６に移行する。“Ｎｏ”と判断するとステップＳ３５に移行する。
【００７４】
ステップＳ３５：フラグメント受信部１３ａは、時刻が期限時刻Ｔｓになったか否かを確認する。“Ｙｅｓ”と判断するとステップＳ３６に移行する。“Ｎｏ”と判断すると、未だ受信していないフラグメントを受信するためにステップＳ３０に戻る。
【００７５】
ステップＳ３６：埋込部１４ａは、ステップＳ３１で受信したフラグメント及びステップＳ２７で抽出したフラグメントを、構造化文書ｄ１に埋め込む。本実施形態例では、受信したフラグメントｆ３，ｆ４及び抽出したフラグメントｆ２を、構造化文書ｄ１に埋め込む。なお、ステップＳ３５において期限切れになった場合、既に受信または抽出しているフラグメントのみの埋め込みを行う。
【００７６】
ステップＳ３７：通信部１１ａは、他のリソースへの参照を含まない構造化文書または参照先のフラグメントが埋め込まれた構造化文書を、クライアント２ａに送信する。本実施形態例では、フラグメントｆ２、ｆ３及びｆ４が埋め込まれた構造化文書ｄ１を、クライアント２ａに送信する。クライアント２ａは、受信した構造化文書ｄ１を表示する（後述する図１２参照）。
【００７７】
なお、参照権限を有しないフラグメントへの参照を含む場合は、参照の記述をそのままの状態にしてクライアント２に構造化文書を送信する。
（３−２）サーバ１ｂにおけるフラグメント抽出処理
図１１は、サーバ１ｂにおけるフラグメントｆ３及びｆ４の抽出処理の流れを示すフローチャートである。
【００７８】
ステップＳ５１：通信部１１ｂは、他のサーバからのフラグメントの抽出要求を待機しており、受信するとステップＳ５２に移行する。本例では、通信部１１ｂがサーバ１ａからフラグメントｆ３またはｆ４の抽出要求を受信すると、ステップＳ５２に移行する。また、通信部１１ｂは、抽出要求の受信時刻Ｔｒ２を一時的に記憶しておく。
【００７９】
ステップＳ５２：構造解析部１２ｂは、要求されたフラグメントｆ３またはｆ４を含む構造化文書ｄ３またはｄ４を、文書ＤＢ１５ｂから読み出す。
ステップＳ５３：構造解析部１２ｂは、読み出した構造化文書ｄ３またはｄ４を構造解析し、フラグメントｆ３またはｆ４を抽出する。
【００８０】
ステップＳ５４：構造解析部１２ｂが、抽出したフラグメントｆ３またはｆ４に部分参照が含まれるか否か判断する。部分参照が含まれない場合は後述するステップＳ６７に移行する。部分参照が含まれる場合はステップＳ５５に移行する。例えば、フラグメントｆ３の抽出要求を受けた場合は、ステップＳ６７に移行する。フラグメントｆ４の抽出要求を受けた場合は、部分参照ｘｌ５が含まれているのでステップＳ５５に移行する。
【００８１】
ステップＳ５５：構造解析部１２ｂは、部分参照が自サーバ１ｂ内にあるフラグメントへの参照があるか否かを判断する。“Ｙｅｓ”と判断するとステップＳ５６に移行する。“Ｎｏ”と判断すると後述するステップＳ５９に移行する。例えば、部分参照ｘｌ５はサーバ１ｃにあるフラグメントｆ５を参照しているので、ステップＳ５６に移行する。
【００８２】
ステップＳ５６〜Ｓ５８：前記図１０のステップＳ２６〜Ｓ２８と同様の処理により、自サーバ１ｂ内にあるフラグメントの抽出を行う。なお、本例では、抽出したフラグメントｆ３またはｆ４は、自サーバ内にあるフラグメントを参照しておらず、これらの処理は行われない。
【００８３】
ステップＳ５９〜Ｓ６５：前記図１０のステップＳ２９〜Ｓ３５と同様の処理により、他のサーバ１ｃにあるフラグメントｆ５を取得する。すなわち、ステップＳ５９では、構造解析部１２ｂは、部分参照が自サーバ１ｂ以外の他のサーバにあるフラグメントへの参照があるか否か判断する。“Ｙｅｓ”と判断するとステップＳ６０に移行し、“Ｎｏ”と判断するとステップＳ６６に移行する。本例では、フラグメントｆ４内の部分参照ｘｌ５がサーバ１ｃにあるフラグメントｆ５を参照している。
【００８４】
ステップＳ６０：構造解析部１２ｂは、クライアント２ａがフラグメントの参照権限を有するか否かを、各部分参照毎に判断する。
ステップＳ６１：構造解析部１２ｂは、参照権限ありと判断されたフラグメントについて、抽出要求をサーバ１ｃに送信し、前記要求に対する応答を受信する。また、構造解析部１２ｂは、フラグメント文書の受信期限Ｔｓ２の設定を行う。本実施形態例では、受信期限Ｔｓ２を下式により設定する。
Ｔｓ２＝Ｔｓ―２＊（Ｔｒ２−Ｔｒ）
ここで、（Ｔｒ２−Ｔｒ）は、サーバ１ａとサーバ１ｂとの間の往復の通信に要する推定時間である。
【００８５】
ステップＳ６２：フラグメント受信部１３ｂは、サーバ１ｂから受信したデータがフラグメント抽出されたデータか否かを判断する。サーバ１ｃが本発明のフラグメント抽出機能を有しない場合、フラグメント抽出はなされず、従来技術で説明したように、要求された構造化文書全体が要求元であるサーバ１ｂに送出される。受信したデータがフラグメント抽出されているデータであれば、後述するステップＳ６４に移行する。受信したデータがフラグメント抽出されていないデータであれば、ステップＳ６３に移行する。
【００８６】
ステップＳ６３：フラグメント受信部１３ｂは、取得したデータに対してフラグメント抽出処理を行い、所望のフラグメントを取得する。
ステップＳ６４：フラグメント受信部１３ｂは、抽出要求を送信したフラグメントを全て受信したか否かを判断し、後述するステップＳ６６またはＳ６５に移行する。例えば、フラグメントｆ５を受信した場合はステップＳ６６に移行し、フラグメントｆ５を未だ受信していない場合はステップＳ６５に移行する。
【００８７】
ステップＳ６５：フラグメント受信部１３ｂは、時刻が受信期限Ｔｓ２になったか否かを判断し、ステップＳ６６またはステップＳ６０に移行する。
ステップＳ６６：埋込部１４ｂは、取得したフラグメントを、参照元のフラグメントに埋め込む。例えば、フラグメントｆ５をフラグメントｆ４に埋め込む。
【００８８】
ステップＳ６７：通信部１１ｂは、部分参照のないフラグメントまたは取得したフラグメントが埋め込まれたフラグメントを、サーバ１ａに送信する。例えば、フラグメントｆ３の抽出要求に対しては、フラグメントｆ３がそのまま送信される。フラグメントｆ４の抽出要求に対しては、フラグメントｆ５が埋め込まれたフラグメントｆ４がサーバ１ａに送信される。
【００８９】
（３−３）サーバ１ａ〜１ｃにおける処理
なお、サーバ１ｃにおけるフラグメントｆ５の抽出処理は、上記サーバ１ｂにおけるフラグメント抽出処理と同様のフローにより行われる。
【００９０】
また、前述したように、サーバ１ａ〜１ｃのいずれにおいても、上記埋込処理及びフラグメント抽出処理が独立に行われることが好ましい。
（３−４）埋込処理後の文書の表示例
図１２は、埋込処理後の構造化文書ｄ１のクライアント２ａにおける表示例である。部分参照の記述に代え、参照先フラグメントｆ２〜ｆ５のコンテンツが所定の形式で表示される。フラグメントｆ３及びｆ４には、著作権情報が共に表示されている。
【００９１】
以上のように、構造化文書のフラグメントのみを送受信することにより、ネットワーク負担を軽減することができる。しかも、従来技術との互換が保たれており、ネットワーク上のサーバの一部だけを本発明に係るサーバに置き換えた場合であっても運用が可能である。また、構造化文書の提供者の意図に沿って構造化文書を利用してもらうことが可能となる。
【００９２】
＜他の実施形態例＞
（Ａ）フラグメントの参照制限の他の方法その１
構造化文書ｄ１とは別のファイル（以下、リンクベースという）に部分参照を記述し、クライアントごとに異なるリンクベースに基づいて埋込処理を行うようにしても良い。部分参照の記述や参照制限と、構造化文書ｄ１とを分離することができる。
【００９３】
図１３は、本発明の第２実施形態例に係る参照制限の方式を示す説明図である。サーバ１ａは、リンクベースＬＢ１〜４をさらに備えている。リンクベースＬＢ１〜４は、クライアントの参照レベルに応じて複数設けられている。各リンクベースＬＢ１〜４には、参照レベルに応じた部分参照の記述が蓄積されている。構造化文書ｄ１には、部分参照ｘｌ２〜ｘｌ４に代え、各リンクベースＬＢ１〜４へのポインタｘｐ２〜ｘｐ４が記述されている。
【００９４】
サーバ１ａは、参照レベル“４”のクライアント２ａから構造化文書ｄ１の要求を受けると、構造化文書ｄ１を構造解析し、ポインタｘｐ２〜ｘｐ４を抽出する。サーバ１ａは、参照レベル４に対応するリンクベースＬＢ４にアクセスし、ポインタｘｐ２〜ｘｐ４で示されている部分参照の記述を読み出す。その後、前期同様に埋込処理を行う。
【００９５】
（Ｂ）フラグメントの参照制限の他の方法その２
上記実施形態例では、参照元の構造化文書ｄ１により参照制限を行っているが、参照先のリソースにより参照制限を行ってもよい。例えば、図５に示す構造化文書ｄ３のタグ<head>に、公開レベル「fjreflevel="3"」を記述しておく。この場合、参照制限の処理は次のように行われる。サーバ１ａは、フラグメントｆ３の抽出要求に、クライアント２ａの参照レベルを記述する。参照先サーバ１ｂは、タグ<head>に書かれたフラグメントｆ３の公開レベルと、クライアント２ａの参照レベルとを比較し、フラグメントを返信するか否かを決定する。
【００９６】
（Ｃ）クライアントへの応答時間の制限の他の方法
クライアントへの応答期限時刻を設定する代わりに、参照先をたどる回数に制限を設けても良い。また、サーバ１ａをルートとするツリー構造のサーバレベルを設定し、サーバレベルに制限を設けても良い。
【００９７】
（Ｄ）前記第１実施形態例においては、リソースが構造化文書である場合を例に取り説明したが、リソースは構造化文書でなくても良い。例えば、構造化文書ｄ１の参照先が画像ファイルや音声ファイルなどであってもよい。
【００９８】
（Ｅ）フラグメントの参照履歴の作成
前記第１実施形態例において、フラグメントの参照履歴を作成することも可能である。クライアント２ａから構造化文書ｄ１の要求と共に、クライアント２ａの識別情報を取得する。サーバ１ａは、構造化文書ｄ１及びその参照先であってサーバ１ａが保持しているリソースを、クライアント２ａと対応付けて記憶する。具体的には、構造化文書ｄ１とフラグメントｆ２とが、それぞれクライアント２ａと対応付けられて記憶される。
【００９９】
また、サーバ１ａやサーバ１ｂは、他のサーバにフラグメントの抽出するときに、クライアント２ａの識別情報を併せて送信する。サーバ１ｂ及び１ｃは、構造化文書ｄ１の参照先であって、それぞれ自サーバ内に保持するリソースを、クライアント２ａと対応付けて記憶する。具体的には、サーバ１ｂは、フラグメントｆ３とｆ４とを、クライアント２ａと対応付けて記憶する。また、サーバ１ｃは、フラグメントｆ５とクライアント２ａとを対応付けて記憶する。
【０１００】
このように、各サーバが自分自身で保持しているリソースの参照者を記憶することにより、誰がどのリソースを何回参照しているか等のリソースの管理が容易になる。リソースと参照者とに加え、参照日時などの情報を適宜記憶することも考えられる。
【０１０１】
（Ｆ）前記方法を実行するプログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体は、本発明に含まれる。ここで記録媒体としては、コンピュータが読み書き可能なフロッピーディスク、ハードディスク、半導体メモリ、CD-ROM、ＤＶＤ、光磁気ディスク（ＭＯ）、その他のものが挙げられる。
＜付記＞
（付記１）
ネットワークに接続された端末装置からの要求を受け、前記ネットワークに接続された情報提供装置群に分散して配置された構造化情報を提供する情報提供方法であって、
前記端末装置からの第１の構造化情報の参照要求を受け付けるステップと、
前記第１の構造化情報中に含まれる第２の構造化情報または第２の構造化情報群に対する部分参照の記述を抽出するステップと、
抽出された前記第２の構造化情報または前記第２の構造化情報群が格納されている情報提供装置または情報提供装置群に対し、前記第２の構造化情報または前記第２の構造化情報群の部分参照記述に指定された該当部分を要求するステップと、
要求した前記第２の構造化情報または前記第２の構造化情報群の該当部分が取得できた場合、前記第２の構造化情報または前記第２の構造化情報群の該当部分を前記第１の構造化情報に埋め込み、前記端末装置に送出するステップと、
を含む情報提供方法。
【０１０２】
（付記２）
ネットワークを介して情報表示装置に接続される情報提供装置群に含まれる第１情報提供装置に用いられる情報提供方法であって、
前記ネットワーク上の第２リソースへの参照の記述を含む第１リソースの提供要求を、前記情報表示装置から受け付ける受付ステップと、
前記第１リソースを読み出し、前記第２リソースへの参照の記述を、前記第１リソースから抽出する参照抽出ステップと、
前記第２リソースへの参照の記述に基づいて、前記第２リソースが前記第１情報提供装置に保持されているのかまたは前記情報提供装置群に含まれる第２情報提供装置に保持されているのかを判断するアドレス判断ステップと、
前記第２リソースが前記第１情報提供装置に保持されている場合、前記第２リソースを読み出すリソース読出ステップと、
前記第２リソースが前記第１情報提供装置に保持されていない場合、前記第２リソースを保持している前記第２情報提供装置に対して前記第２リソースを要求して取得するリソース取得ステップと、
前記第２リソースを前記第１リソースに埋め込む埋込ステップと、
前記第２リソースが埋め込まれた前記第１リソースを前記ネットワークを介して前記情報表示装置に送信する送信ステップと、
を含む情報提供方法。
【０１０３】
（付記３）
前記ネットワーク上の第３リソースへの参照の記述を前記第２リソース内で検索する参照検索ステップと、
前記第３リソースへの参照がある場合、前記アドレス判断ステップ及び前記リソース取得ステップを前記第３リソースについて行う制御ステップと、
をさらに含む、付記２に記載の情報提供方法。
【０１０４】
例えば、フラグメントｆ２に、構造化文書ｄ３内のフラグメントｆ３への参照が記述されている場合、第１サーバはこれを抽出する。その後第１サーバは、第３リソースが第１サーバ内にあるか否かを判断し、第１サーバ内にあればこれを読み出してフラグメントｆ２に埋め込む。
【０１０５】
（付記４）
前記リソース要求ステップは、前記第２リソースの要求に加え、前記第２リソースの要求を特定する要求識別子を送信するステップをさらに含み、
前記リソース取得ステップは、前記第２リソースに加え、前記要求識別子を取得するステップをさらに含む、
付記２に記載の情報提供方法。
【０１０６】
第１サーバは、第１サーバから第２サーバへのフラグメントｆ２の要求と、第２サーバから第１サーバへ送信されてきたフラグメントｆ２とを、要求識別子により対応付ける。
【０１０７】
（付記５）
前記リソース要求ステップは、前記第２リソースの要求に加え、前記第２リソースの取得を停止する停止条件を送信するステップをさらに含む、
付記２に記載の情報提供方法。
【０１０８】
例えば第１サーバは、停止条件として応答の制限時間を送信する。これを受け取った第２サーバは、制限時間以内に第２リソースを送信する。また、停止条件として、残り参照回数を送信しても良い。
【０１０９】
（付記６）
前記受付ステップは、前記情報表示装置からの前記提供要求に加え、前記情報表示装置の参照レベルを受け付けるステップをさらに含み、
参照先または参照元のリソースに含まれる公開レベルと、前記参照レベルとを比較する比較ステップと、
前記比較結果に基づいて、前記参照先リソースの前記参照元リソースへの埋込を制限する参照制限ステップと、
をさらに含む、付記２に記載の情報提供方法。
【０１１０】
例えば、構造化文書ｄ１の参照先フラグメントｆ２に公開レベル“３”が設定されている。また、情報表示装置の参照レベルが“４”とする。この場合、参照レベルの方が公開レベルよりも高いので、フラグメントｆ２の埋め込みが実行される。
【０１１１】
（付記７）
前記リソース取得ステップは、前記第２情報提供装置への前記取得要求に加え、リソース取得要求元を識別する要求元識別子を送るステップをさらに含む、付記２に記載の情報提供方法。
【０１１２】
（付記８）
第１リソースを保持する第１情報提供装置にネットワークを介して接続され、前記第１リソースが参照する第２リソースを保持する第２情報提供装置に用いられる情報提供方法であって、
前記第２リソースの取得要求を前記第１情報提供装置から受け付ける要求受付ステップと、
前記第２リソースを含むリソースの中から前記第２リソースを抽出する抽出ステップと、
前記ネットワークを介し、前記第２リソースを前記第１情報提供装置に送信する送信ステップと、
を含む情報提供方法。
【０１１３】
（付記９）
前記第２リソースを読み出し、前記ネットワーク上の第３リソースへの参照の記述を前記第２リソース内で検索する検索ステップと、
前記第３リソースへの参照の記述がある場合、前記第３リソースが前記第２情報提供装置に保持されているのか否かを判断するアドレス判断ステップと、
前記第３リソースが前記第２情報提供装置に保持されている場合、前記第３リソースを読み出すリソース読出ステップと、
前記第３リソースを前記第２リソースに埋め込む埋込ステップと、
をさらに含む、付記８に記載の情報提供方法。
【０１１４】
第２サーバは、要求されたフラグメントｆ２に自サーバ内のフラグメントｆ３への参照の記述がある場合、フラグメントｆ３をフラグメントｆ２に埋め込む。フラグメントｆ３にさらに他のリソースへの参照記述がある場合も同様の処理を行う。
【０１１５】
（付記１０）
前記第３リソースが前記第２情報提供装置に保持されていない場合、前記第３リソースを保持する前記ネットワーク上の第３情報提供装置に対し、前記第３リソースを要求するリソース要求ステップと、
前記第３情報提供装置から前記第３リソースを取得するリソース取得ステップと、
をさらに含む、付記９に記載の情報提供方法。
【０１１６】
第２サーバは、要求されたフラグメントｆ２の参照先ｆ３が他の第３サーバにある場合、参照先ｆ３のコンテンツを第３サーバから取得する。
（付記１１）
前記要求受付ステップは、前記第２リソースの要求に加え、前記第２リソースの要求を特定する要求識別子を受信するステップをさらに含み、
前記リソース要求ステップは、前記第３リソースの要求に加え、前記要求識別子を送信するステップをさらに含み、
前記リソース取得ステップは、前記第３リソースの取得に加え、前記要求識別子を取得するステップをさらに含む、
付記１０に記載の情報提供方法。
【０１１７】
第２サーバは、第２リソースの要求と関連づけてフラグメントｆ３の要求を行う。
（付記１２）
前記要求受付ステップは、前記第２リソースの取得要求に加え、前記第３リソースの取得を停止する停止条件を受け付けるステップをさらに含み、
前記停止条件に基づいて前記第３リソースの取得を停止する停止ステップをさらに含む、
付記１０に記載の情報提供方法。
【０１１８】
第２サーバは、第１サーバから例えばタイムリミットを通知される。第２サーバは、タイムリミット内にフラグメントｆ２が参照するフラグメントｆ３を取得できない場合、フラグメントｆ３の取得を停止する。
【０１１９】
（付記１３）
前記要求受付ステップは、前記第２リソースの取得要求に加え、前記第１リソースの提供を要求した前記情報表示装置の参照レベルを受け付けるステップをさらに含み、
前記リソース要求ステップは、前記第３リソースの要求に加え、前記第１リソースの提供を要求した情報表示装置の参照レベルを送信するステップをさらに含む、
付記１０に記載の情報提供方法。
【０１２０】
第２サーバは、第１サーバに要求されたフラグメントｆ２が第３サーバのフラグメントｆ３への参照を含んでいる場合、フラグメントｆ３の要求に情報表示装置の参照レベルを付加する。
【０１２１】
（付記１４）
前記要求受付ステップは、前記第２リソースの要求に加え、前記第２リソースの要求を特定する要求識別子を受信するステップをさらに含み、
前記送信ステップは、前記第２リソースに加え、前記要求識別子を送信するステップをさらに含む、
付記８に記載の情報提供方法。
【０１２２】
第２サーバは、第１サーバが要求と共に送信する要求識別子を、リソースに付加して送信する。
（付記１５）
前記要求受付ステップは、前記第２リソースの取得要求に加え、前記第１リソースの提供を要求した前記情報表示装置の参照レベルを受け付けるステップをさらに含み、
参照先または参照元のリソースに含まれる公開レベルと、前記参照レベルとを比較する比較ステップと、
前記比較結果に基づいて、前記参照先リソースの前記参照元リソースへの埋め込みを制限する参照制限ステップと、
をさらに含む付記８に記載の情報提供方法。
【０１２３】
例えば、第２サーバが保持するフラグメントｆ２の公開レベルが“５”であるとする。この場合、第２サーバは、参照レベル“４”の情報表示装置からのフラグメントｆ２の参照要求を拒絶する。
【０１２４】
（付記１６）
前記受付ステップは、前記第１情報提供装置からのリソース取得要求に加え、前記第２リソースの提供を要求した要求元を識別する要求元識別子を受け付けるステップをさらに含み、
前記第２リソースと前記要求元識別子とを、及び前記第２リソースの参照先であって前記第２情報提供装置が保持するリソースと前記要求元識別子とを、それぞれ対応付けて蓄積する履歴ステップをさらに含む、
付記８に記載の情報提供方法。
【０１２５】
第１サーバからフラグメントｆ２の要求を受ける第２サーバにおいても、リソースのアクセス履歴を作成する。
（付記１７）
前記第２リソースが構造化文書の一部であり、前記構造化文書を構造解析することにより前記第２リソースを前記構造化文書から抽出する抽出ステップをさらに含む、付記８に記載の情報提供方法。
【０１２６】
（付記１８）
ネットワークを介して情報表示装置に接続される情報提供装置群に含まれる第１情報提供装置であって、
前記ネットワーク上の第２リソースへの参照の記述を含む第１リソースの提供要求を、前記情報表示装置から受け付ける受付手段と、
前記第１リソースを読み出し、前記第２リソースへの参照の記述を、前記第１リソースから抽出する参照抽出手段と、
前記第２リソースへの参照の記述に基づいて、前記第２リソースが前記第１情報提供装置に保持されているのかまたは前記情報提供装置群に含まれる第２情報提供装置に保持されているのかを判断するアドレス判断手段と、
前記第２リソースが前記第１情報提供装置に保持されている場合、前記第２リソースを読み出すリソース読出手段と、
前記第２リソースが前記第１情報提供装置に保持されていない場合、前記第２リソースを保持している前記第２情報提供装置に対して前記第２リソースを要求して取得するリソース取得手段と、
前記第２リソースを前記第１リソースに埋め込む埋込手段と、
前記第２リソースが埋め込まれた前記第１リソースを前記ネットワークを介して前記情報表示装置に送信する送信手段と、
を備える第１情報提供装置。
【０１２７】
この装置は、第２発明と同様の作用効果を有する。
（付記１９）
ネットワークを介して情報表示装置に接続される情報提供装置群に含まれる第１情報提供装置に用いられる情報提供プログラムを記録した、コンピュータ読み取り可能な記録媒体であって、
前記ネットワーク上の第２リソースへの参照の記述を含む第１リソースの提供要求を、前記情報表示装置から受け付ける受付ステップと、
前記第１リソースを読み出し、前記第２リソースへの参照の記述を、前記第１リソースから抽出する参照抽出ステップと、
前記第２リソースへの参照の記述に基づいて、前記第２リソースが前記第１情報提供装置に保持されているのかまたは前記情報提供装置群に含まれる第２情報提供装置に保持されているのかを判断するアドレス判断ステップと、
前記第２リソースが前記第１情報提供装置に保持されている場合、前記第２リソースを読み出すリソース読出ステップと、
前記第２リソースが前記第１情報提供装置に保持されていない場合、前記第２リソースを保持している前記第２情報提供装置に対して前記第２リソースを要求して取得するリソース取得ステップと、
前記第２リソースを前記第１リソースに埋め込む埋込ステップと、
前記第２リソースが埋め込まれた前記第１リソースを前記ネットワークを介して前記情報表示装置に送信する送信ステップと、
を実行するための情報提供プログラムを記録した、コンピュータ読み取り可能な記録媒体。
【０１２８】
（付記２０）
ネットワークを介して情報表示装置に接続される情報提供装置群に含まれる第１情報提供装置としてコンピュータを機能させる情報提供プログラムであって、
前記ネットワーク上の第２リソースへの参照の記述を含む第１リソースの提供要求を、前記情報表示装置から受け付ける受付手段と、
前記第１リソースを読み出し、前記第２リソースへの参照の記述を、前記第１リソースから抽出する参照抽出手段と、
前記第２リソースへの参照の記述に基づいて、前記第２リソースが前記第１情報提供装置に保持されているのかまたは前記情報提供装置群に含まれる第２情報提供装置に保持されているのかを判断するアドレス判断手段と、
前記第２リソースが前記第１情報提供装置に保持されている場合、前記第２リソースを読み出すリソース読出手段と、
前記第２リソースが前記第１情報提供装置に保持されていない場合、前記第２リソースを保持している前記第２情報提供装置に対して前記第２リソースを要求して取得するリソース取得手段と、
前記第２リソースを前記第１リソースに埋め込む埋込手段と、
前記第２リソースが埋め込まれた前記第１リソースを前記ネットワークを介して前記情報表示装置に送信する送信手段と、
として前記コンピュータを機能させる情報提供プログラム。
【０１２９】
このプログラムは、第２発明と同様の作用効果を有する。
（付記２１）
第１リソースを保持する第１情報提供装置にネットワークを介して接続され、前記第１リソースが参照する第２リソースを保持する第２情報提供装置であって、
前記第２リソースの取得要求を前記第１情報提供装置から受け付ける要求受付手段と、
前記第２リソースを含むリソースの中から前記第２リソースを抽出する抽出手段と、
前記ネットワークを介し、前記第２リソースを前記第１情報提供装置に送信する送信手段と、
を備える第２情報提供装置。
【０１３０】
この装置は、第４発明と同様の作用効果を有する。
（付記２２）
第１リソースを保持する第１情報提供装置にネットワークを介して接続され、前記第１リソースが参照する第２リソースを保持する第２情報提供装置に用いられる情報提供プログラムを記録した、コンピュータ読み取り可能な記録媒体であって、
前記第２リソースの取得要求を前記第１情報提供装置から受け付ける要求受付ステップと、
前記第２リソースを含むリソースの中から前記第２リソースを抽出する抽出ステップと、
前記ネットワークを介し、前記第２リソースを前記第１情報提供装置に送信する送信ステップと、
を実行するための情報提供プログラムを記録したコンピュータ読み取り可能な記録媒体。
【０１３１】
このプログラムは、第４発明と同様の作用効果を有する。
（付記２３）
第１及び第２情報提供装置を含みネットワークに接続された情報提供装置群に分散して配置された構造化情報群を、前記第２情報提供装置から提供する情報提供方法であって、
前記第１情報提供装置からの第１の構造化情報の一部分に対する要求を受け付けるステップと、
前記第２情報提供装置内に格納された前記第１の構造化情報の一部分を取得し、前記第１の構造化情報の一部分中に第２の構造化情報に対する部分参照の記述の有無を確認し、前記第２の構造化情報に対する部分参照が存在する場合は、さらに前記第２の構造化情報を取得し、前記第１の構造化文書中に埋め込んで要求元の前記第１情報提供装置に送出するステップと、
を含むことを特徴とする情報提供方法。
【０１３２】
（付記２４）
第１及び第２情報提供装置を含みネットワークに接続された情報提供装置群に分散して配置された構造化情報を、前記第２情報提供装置から提供する情報提供方法であって、
前記第１情報提供装置から、情報要求元の識別情報を含む第１の構造化情報の一部分に対する要求を受け付けるステップと、
前記第２情報提供装置内に格納された前記第１の構造化情報の一部分を取得して要求元の前記第１情報提供装置に送出し、前記第１の構造化情報の一部分と前記情報要求元の識別情報とを対応付けて記憶するステップと、
を含むことを特徴とする情報提供方法。
【０１３３】
【発明の効果】
本発明を利用すれば、ネットワーク上で無駄なリソースの送受信を防止でき、ネットワーク資源を有効に活用し、クライアントの処理負担を軽減することができる。
【図面の簡単な説明】
【図１】第１実施形態例に係る情報提供システムの全体構成図。
【図２】図１における構造化文書ｄ１〜ｄ５の参照関係図。
【図３】フラグメントｆ２〜ｆ５が埋め込まれた構造化文書ｄ１の概念図。
【図４】構造化文書ｄ１の具体例。
【図５】（ａ）構造化文書ｄ２の具体例。
（ｂ）構造化文書ｄ３の具体例。
（ｃ）構造化文書ｄ４の具体例。
【図６】構造化文書ｄ５の具体例。
【図７】埋込処理が施された構造化文書ｄ１の具体例。
【図８】図１の情報提供システムにおける全体の処理の流れを示す説明図。
【図９】フラグメントの抽出要求及び受信の方式を説明する図。
【図１０】埋込処理の流れを示すフローチャート。
【図１１】フラグメント抽出処理の流れを示すフローチャート。
【図１２】クライアント２ａにおける構造化文書ｄ１の表示例。
【図１３】構造化文書の参照制限の他の方式を示す説明図。
【図１４】従来の技術の説明図。
【符号の説明】
１；  サーバ
２；  クライアント
３；  ネットワーク
１１；  通信部
１２；  構造解析部
１３；  フラグメント受信部
１４；  埋込部
１５；  文書ＤＢ
【図１】
0003857078.tif 000002
【図２】
0003857078.tif 000003
【図３】
0003857078.tif 000004
【図４】
0003857078.tif 000005
【図５】
0003857078.tif 000006
【図６】
0003857078.tif 000007
【図７】
0003857078.tif 000008
【図８】
0003857078.tif 000009
【図９】
0003857078.tif 000010
【図１０】
0003857078.tif 000011
【図１１】
0003857078.tif 000012
【図１２】
0003857078.tif 000013
【図１３】
0003857078.tif 000014
【図１４】
0003857078.tif 000015