(57)【要約】【課題】名前解決に要するオーバーヘッドの時間を削減し、かつ、ＤＮＳサーバに対する通信負荷を軽減することによって、ユーザが通信速度の向上を体感できるコンテンツサーバシステムを提供する。【解決手段】コンテンツサーバは、第１のコンテンツが参照する第２のコンテンツを持つ他のコンテンツサーバを特定するコンテンツ解析手段と、他のコンテンツサーバの名前情報を取得する名前解決手段と、第１のコンテンツと名前情報とを対応付けて記憶する名前情報記憶手段と、第１のコンテンツと名前情報とを対応付けて送信するコンテンツ送信手段と、を備え、クライアントコンピュータは、他のコンテンツサーバの名前情報を記憶する名前情報キャッシュ手段と、第１のコンテンツが参照する第２のコンテンツを利用するときに、記憶している名前情報に基づいて第２のコンテンツを要求するコンテンツ要求手段と、を備える。【選択図】図２
2010103844.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツを提供する１または複数のコンテンツサーバと、前記提供されたコンテンツを利用する１または複数のクライアントコンピュータと、前記コンテンツサーバ、および前記クライアントコンピュータのドメイン名とＩＰアドレスを対応付けた名前情報を記憶する１または複数のＤＮＳサーバとが、ネットワークに接続されたコンテンツサーバシステムにおいて、
前記コンテンツサーバは、
自身の持つ第１のコンテンツに基づいて、前記第１のコンテンツが参照する第２のコンテンツを提供する他のコンテンツサーバを特定するコンテンツ解析手段と、
前記コンテンツ解析手段が特定した前記他のコンテンツサーバの名前情報を前記ＤＮＳサーバから取得する名前解決手段と、
前記第１のコンテンツと前記名前解決手段が取得した前記他のコンテンツサーバの名前情報とを対応付けて記憶する名前情報記憶手段と、
前記第１のコンテンツの送信を要求した前記クライアントコンピュータに、前記第１のコンテンツと、前記名前情報記憶手段に記憶された前記他のコンテンツサーバの前記名前情報と、を対応付けて送信するコンテンツ送信手段と、
を備え、
前記クライアントコンピュータは、
前記コンテンツサーバから受信した前記他のコンテンツサーバの前記名前情報を記憶する名前情報キャッシュ手段と、
前記コンテンツサーバから受信した前記第１のコンテンツが参照する前記第２のコンテンツを利用するときに、前記名前情報キャッシュ手段に記憶された前記他のコンテンツサーバの前記名前情報に基づいて、前記他のコンテンツサーバに前記第２のコンテンツを要求するコンテンツ要求手段と、
を備えることを特徴とするコンテンツサーバシステム。
【請求項２】
前記コンテンツ送信手段は、
前記名前情報記憶手段に前記他のコンテンツサーバの名前情報が記憶されていることを示すリンク情報を前記第１のコンテンツに追加して送信し、
前記コンテンツ要求手段は、
前記コンテンツサーバから受信した前記第１のコンテンツ内に前記リンク情報がある場合は、前記コンテンツサーバに記憶されている前記名前情報の送信を要求し、
前記コンテンツサーバから受信した前記名前情報を前記名前情報キャッシュ手段に記憶する
ことを特徴とする請求項１に記載のコンテンツサーバシステム。
【請求項３】
前記コンテンツ送信手段は、
前記名前情報記憶手段に記憶された前記他のコンテンツサーバの前記名前情報を前記第１のコンテンツに追加して送信し、
前記コンテンツ要求手段は、
前記コンテンツサーバから受信した前記第１のコンテンツ内の前記名前情報を前記名前情報キャッシュ手段に記憶する
ことを特徴とする請求項１に記載のコンテンツサーバシステム。
【請求項４】
ネットワークに接続され、コンテンツを提供するコンテンツサーバにおいて、
自身の持つ第１のコンテンツに基づいて、前記第１のコンテンツが参照する第２のコンテンツを提供する他のコンテンツサーバを特定するコンテンツ解析手段と、
前記コンテンツ解析手段が特定した前記他のコンテンツサーバの名前情報を前記ＤＮＳサーバから取得する名前解決手段と、
前記第１のコンテンツと前記名前解決手段が取得した前記他のコンテンツサーバの名前情報とを対応付けて記憶する名前情報記憶手段と、
前記第１のコンテンツの送信を要求した前記クライアントコンピュータに、前記第１のコンテンツと、前記名前情報記憶手段に記憶された前記他のコンテンツサーバの前記名前情報と、を対応付けて送信するコンテンツ送信手段と、
を備えることを特徴とするコンテンツサーバ。
【請求項５】
前記コンテンツ送信手段は、
前記名前情報記憶手段に前記他のコンテンツサーバの名前情報が記憶されていることを示すリンク情報を前記第１のコンテンツに追加して送信する
ことを特徴とする請求項４に記載のコンテンツサーバ。
【請求項６】
前記コンテンツ送信手段は、
前記名前情報記憶手段に記憶された前記他のコンテンツサーバの前記名前情報を前記第１のコンテンツに追加して送信する
ことを特徴とする請求項４に記載のコンテンツサーバ。
【請求項７】
ネットワークに接続され、コンテンツサーバから提供されたコンテンツを利用するクライアントコンピュータにおいて、
前記コンテンツサーバから受信した前記コンテンツサーバ自身が持つ第１のコンテンツが参照する第２のコンテンツを提供する他のコンテンツサーバの名前情報を記憶する名前情報キャッシュ手段と、
前記コンテンツサーバから受信した前記第１のコンテンツが参照する前記第２のコンテンツを利用するときに、前記名前情報キャッシュ手段に記憶された前記他のコンテンツサーバの前記名前情報に基づいて、前記他のコンテンツサーバに前記第２のコンテンツを要求するコンテンツ要求手段と、
を備えることを特徴とするクライアントコンピュータ。
【請求項８】
前記コンテンツ要求手段は、
前記コンテンツサーバから受信した前記第１のコンテンツ内に前記名前情報があることを示すリンク情報がある場合は、前記コンテンツサーバに記憶されている前記名前情報の送信を要求し、
前記コンテンツサーバから受信した前記名前情報を前記名前情報キャッシュ手段に記憶する
ことを特徴とする請求項７に記載のクライアントコンピュータ。
【請求項９】
前記コンテンツ要求手段は、
前記コンテンツサーバから受信した前記第１のコンテンツ内の前記名前情報を前記名前情報キャッシュ手段に記憶する
ことを特徴とする請求項７に記載のクライアントコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、事前に名前解決を行う機能を備えたコンテンツサーバシステム、コンテンツサーバおよびクライアントコンピュータに関する。
【背景技術】
【０００２】
一般に、ワールド・ワイド・ウェブ（ＷＷＷ）などに代表される複数のコンピュータが、インターネット上にサービスを提供するコンピュータ（以下、「コンテンツサーバ」という）や、サービスの提供を受ける利用者が利用するコンピュータ（以下、「クライアント」という）として存在する環境において、インターネット上のコンピュータは、インターネットプロトコル（ＩＰ：Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレス（以下、「ＩＰアドレス」という）と呼ばれる識別符号（以下、「ＩＤ」という）によって識別され、互いに識別されたＩＤを使用して通信を行っている。ＩＰアドレスは、例えば、１０．１．２．３、１９２．１６８．０．１というようにいくつかの数字の組み合わせで表される。
この数字の組み合わせで表されたＩＰアドレスは、コンピュータが処理するのには適しているが、コンピュータの利用者（ユーザ）が通信を行う相手のコンピュータ（以下、「ノード」という）を識別するには、非常に扱いづらい識別符号である。
【０００３】
そのため、ユーザが通信を行うノードを識別しやすくするため、インターネット上に存在するネットワークやノードに付けられた識別子を、例えば、ｗｗｗ．ｅｘａｍｐｌｅ．ｃｏｍというようにユーザが判別しやすい単語の組み合わせで構成したドメイン名と呼ばれる識別子が用いられている。
しかし、このドメイン名は、ユーザにとっては識別しやすい表現であるが、コンピュータが処理する識別符号としてはそのままでは利用できず、使いづらい識別情報である。
【０００４】
このようにコンピュータとユーザとが識別しやすい識別情報の表現は、それぞれ異なっており、この問題を解決してコンピュータとユーザの双方がお互いを認識させるための方法として、ドメイン名とＩＰアドレスを関連付ける仕組み（このドメイン名とＩＰアドレスを関連付ける仕組みを「名前解決」という）が開示されている。
【０００５】
非特許文献１および非特許文献２では、ドメインネームサービス（ＤＮＳ：Ｄｏｍｅｉｎ  Ｎａｍｅ  Ｓｅｒｖｉｃｅ）という仕組みが開示されている。このドメインネームサービスは、ネットワーク上の複数のコンピュータのＩＰアドレスとドメイン名を対応付け、この対応付けられた名前情報（名前情報データベース）を保持したサーバ（以下、「ＤＮＳサーバ」という）が、クライアントまたはネットワーク上のノードからの名前解決の要求に対応する仕組みである。なお、この名前情報データベースは、１台のＤＮＳサーバがネットワーク上の全ての名前情報を管理するのではなく、複数のＤＮＳサーバがそれぞれ名前情報データベースの一部を保持し、各ＤＮＳサーバがネットワーク上で共同して要求された名前解決に対する対応を行っている。
【０００６】
非特許文献１および非特許文献２における名前解決について説明する。図２２は、ＤＮＳサーバを用いたコンテンツの通信手順を示している。図２２において、ユーザからコンテンツサーバ１が提供するコンテンツへの要求が発生すると、まず、クライアントは、名前解決を行うため、処理１において、クライアントからＤＮＳサーバにコンテンツサーバ１の名前情報の問い合わせ、すなわち、コンテンツサーバ１のドメイン名を名前解決の要求メッセージとして、コンテンツサーバ１のＩＰアドレスの問い合わせを行う。続いて、クライアントから名前情報の問い合わせがあったＤＮＳサーバは、名前情報の問い合わせに対する応答、すなわち、コンテンツサーバ１のＩＰアドレスの回答を行う。なお、この処理１が完了するまで次の処理２を実施することができない。
【０００７】
続いて、処理２において、クライアントが、ＤＮＳサーバから入手したドメイン名に対応するＩＰアドレスを用いてコンテンツサーバ１にコンテンツの要求を行い（ここで初めてコンテンツサーバ１に対する通信が行われる）、コンテンツサーバ１が要求されたコンテンツの転送を行う。これによって、ユーザが要求するコンテンツを入手することができる。
【０００８】
続いて、ユーザからコンテンツサーバ２が提供するコンテンツへの要求が発生すると、処理３、処理４において、上記と同様に名前解決が行われた後にコンテンツサーバ２へのコンテンツ要求が行われ、ユーザが要求するコンテンツを入手する。
【０００９】
インターネット上の通信においてユーザが体感する通信速度は、要求したコンテンツの転送に係わる転送速度のみではなく、コンテンツの転送を行う前に実施する名前解決に係わる通信および処理時間を含んだ合計の時間となる。この名前解決の処理は、ユーザがコンテンツの提供を受けるコンテンツサーバが異なると必ず必要となる処理であり、かつ、目的とするコンテンツの転送を開始する前に行う必要がある。このことは、仮に、目的とするコンテンツの転送に係わる通信速度が向上した場合であっても、名前解決の処理に要する時間が向上していない場合には、ユーザが通信速度の向上を必ずしも体感できるわけではないということとなる。
また、クライアントの数が増加した場合には、ユーザからコンテンツが要求されたときに事前に行われる名前解決の処理によって、ＤＮＳサーバの負荷が多くなる。
【００１０】
そこで、非特許文献１および非特許文献２においては、一度問い合わせがあった名前情報をＤＮＳサーバやクライアント内に備える応答速度が速い記憶手段に保持（キャッシュ）しておき、以降、同じコンテンツサーバに対する要求は、応答速度が速い記憶手段に保持している名前情報を使用することによって名前解決の処理を高速化する方法も開示されている。しかし、クライアントに名前情報を保持していない、すなわち、初めてコンテンツを要求するコンテンツサーバに対する要求である場合は、コンテンツの要求が発生したときに新たに名前解決の処理を行うことが必要となる。
このように、名前解決の処理に要する時間が、本来の目的とするコンテンツの要求と転送におけるオーバーヘッドとなり、ユーザの体感する通信速度を低下させる原因となっている。
【００１１】
上記のようなユーザの体感する転送速度の低下を回避するため、特許文献１では、図２３に示すように、クライアントが自動で、ユーザによって将来要求される可能性のあるコンテンツサーバを、例えば、現在提示しているコンテンツ内に記載されている他のコンテンツへのリンク情報等を基にして特定する。その後、特定したコンテンツサーバの名前解決を事前に実施（プリフェッチアクセス）してコンテンツを取得しておき、取得したコンテンツをクライアントが保持（キャッシュ）しておく。そして、ユーザからコンテンツへの要求が発生した場合には、事前にクライアントが取得しておいたコンテンツを提示することによって、コンテンツの要求が発生した後に必要となる名前解決の処理に係わる転送のオーバーヘッドを削減し、ユーザに対してコンテンツを提示するまでの時間を低減することによって、ユーザの体感する通信速度の向上をさせる方法（この方法を「プリフェッチ」という）が開示されている。
【００１２】
また、特許文献１では、図２４に示すように、クライアントがコンテンツを取得する方法ではなく、ユーザから要求されたコンテンツを保持するサーバ（以下、「キャッシュサーバ」という）を介してコンテンツを取得し、このキャッシュサーバが自動で、上述のプリフェッチアクセスと同様に、例えば、現在提示しているコンテンツとユーザのプロファイル情報等を基にして、事前に名前解決を行ってコンテンツを取得し、取得したコンテンツを保持（キャッシュ）しておく。そして、ユーザからコンテンツへの要求が発生した場合には、事前にキャッシュサーバが取得しておいたコンテンツを提示することによって、上述のプリフェッチアクセスと同様に、ユーザの体感する通信速度の向上をさせる方法が開示されている。
【非特許文献１】Ｐ．Ｍｏｃｋａｐｅｔｒｉｓ，“Ｄｏｍａｉｎ  Ｎａｍｅｓ−Ｃｏｎｃｅｐｔｓ  ａｎｄ  Ｆａｃｉｌｉｔｉｅｓ，”，ＩＥＴＦ  ＲＦＣ  １０３４，１９８７．
【非特許文献２】Ｐ．Ｍｏｃｋａｐｅｔｒｉｓ，“Ｄｏｍａｉｎ  Ｎａｍｅｓ−Ｉｍｐｌｅｍｅｎｔａｔｉｏｎ  ａｎｄ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ，”ＩＥＴＦ  ＲＦＣ  １０３５，１９８７．
【特許文献１】特開２００１−１０１０６１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら、特許文献１における方法では、事前に名前解決の処理を行うことにより、コンテンツの要求が発生した時点で行う名前解決の処理が不要となったのみであり、合計の処理回数は同様である。つまり、ＤＮＳサーバに対して行われる名前情報を取得するための通信回数は同じであるため、ＤＮＳサーバの通信負荷を低減することができないという問題がある。
【００１４】
また、クライアントまたはキャッシュサーバによって自動で行われるＤＮＳサーバに対する名前情報の問い合わせの周期は、ユーザがコンテンツを要求する周期に比べて非常に短いため、同時に複数の名前情報の問い合わせが発生する可能性があり、ＤＮＳサーバの通信負荷を低減することができない。このことによって、ＤＮＳサーバの通信負荷が大きく、要求された名前情報を回答するまでに時間がかかる場合は、事前に名前解決が完了せず、コンテンツを取得するまでのオーバーヘッドの時間を短縮することができず、ユーザが通信速度の向上を体感できないという問題がある。
【００１５】
また、ユーザが要求したコンテンツが事前に取得したコンテンツと異なる場合、すなわち事前の名前解決に失敗した場合は、再度、名前解決を行う必要があるため、コンテンツを取得するまでのオーバーヘッドの時間を削減することができず、ユーザが通信速度の向上を体感できないという問題もある。
【００１６】
本発明は、上記の課題認識に基づいてなされたものであり、インターネット上にサービスを提供するコンテンツサーバや、サービスの提供を受けるクライアントが複数存在する環境において、名前解決に要するオーバーヘッドの時間を削減し、かつ、ＤＮＳサーバに対する通信負荷を軽減することによって、ユーザが通信速度の向上を体感できるコンテンツサーバシステムを提供することを目的としている。
【課題を解決するための手段】
【００１７】
上記の課題を解決するため、本発明のコンテンツサーバシステムは、コンテンツを提供する１または複数のコンテンツサーバと、前記提供されたコンテンツを利用する１または複数のクライアントコンピュータと、前記コンテンツサーバ、および前記クライアントコンピュータのドメイン名とＩＰアドレスを対応付けた名前情報を記憶する１または複数のＤＮＳサーバとが、ネットワークに接続されたコンテンツサーバシステムにおいて、前記コンテンツサーバは、自身の持つ第１のコンテンツに基づいて、前記第１のコンテンツが参照する第２のコンテンツを提供する他のコンテンツサーバを特定するコンテンツ解析手段と、前記コンテンツ解析手段が特定した前記他のコンテンツサーバの名前情報を前記ＤＮＳサーバから取得する名前解決手段と、前記第１のコンテンツと前記名前解決手段が取得した前記他のコンテンツサーバの名前情報とを対応付けて記憶する名前情報記憶手段と、前記第１のコンテンツの送信を要求した前記クライアントコンピュータに、前記第１のコンテンツと、前記名前情報記憶手段に記憶された前記他のコンテンツサーバの前記名前情報と、を対応付けて送信するコンテンツ送信手段と、を備え、前記クライアントコンピュータは、前記コンテンツサーバから受信した前記他のコンテンツサーバの前記名前情報を記憶する名前情報キャッシュ手段と、前記コンテンツサーバから受信した前記第１のコンテンツが参照する前記第２のコンテンツを利用するときに、前記名前情報キャッシュ手段に記憶された前記他のコンテンツサーバの前記名前情報に基づいて、前記他のコンテンツサーバに前記第２のコンテンツを要求するコンテンツ要求手段と、を備えることを特徴とする。
【００１８】
また、本発明の前記コンテンツ送信手段は、前記名前情報記憶手段に前記他のコンテンツサーバの名前情報が記憶されていることを示すリンク情報を前記第１のコンテンツに追加して送信し、前記コンテンツ要求手段は、前記コンテンツサーバから受信した前記第１のコンテンツ内に前記リンク情報がある場合は、前記コンテンツサーバに記憶されている前記名前情報の送信を要求し、前記コンテンツサーバから受信した前記名前情報を前記名前情報キャッシュ手段に記憶することを特徴とする。
【００１９】
また、本発明の前記コンテンツ送信手段は、前記名前情報記憶手段に記憶された前記他のコンテンツサーバの前記名前情報を前記第１のコンテンツに追加して送信し、前記コンテンツ要求手段は、前記コンテンツサーバから受信した前記第１のコンテンツ内の前記名前情報を前記名前情報キャッシュ手段に記憶することを特徴とする。
【００２０】
また、本発明のコンテンツサーバは、ネットワークに接続され、コンテンツを提供するコンテンツサーバにおいて、自身の持つ第１のコンテンツに基づいて、前記第１のコンテンツが参照する第２のコンテンツを提供する他のコンテンツサーバを特定するコンテンツ解析手段と、前記コンテンツ解析手段が特定した前記他のコンテンツサーバの名前情報を前記ＤＮＳサーバから取得する名前解決手段と、前記第１のコンテンツと前記名前解決手段が取得した前記他のコンテンツサーバの名前情報とを対応付けて記憶する名前情報記憶手段と、前記第１のコンテンツの送信を要求した前記クライアントコンピュータに、前記第１のコンテンツと、前記名前情報記憶手段に記憶された前記他のコンテンツサーバの前記名前情報と、を対応付けて送信するコンテンツ送信手段と、を備えることを特徴とする。
【００２１】
また、本発明の前記コンテンツ送信手段は、前記名前情報記憶手段に前記他のコンテンツサーバの名前情報が記憶されていることを示すリンク情報を前記第１のコンテンツに追加して送信することを特徴とする。
【００２２】
また、本発明の前記コンテンツ送信手段は、前記名前情報記憶手段に記憶された前記他のコンテンツサーバの前記名前情報を前記第１のコンテンツに追加して送信することを特徴とする。
【００２３】
また、本発明のクライアントコンピュータは、ネットワークに接続され、コンテンツサーバから提供されたコンテンツを利用するクライアントコンピュータにおいて、前記コンテンツサーバから受信した前記コンテンツサーバ自身が持つ第１のコンテンツが参照する第２のコンテンツを提供する他のコンテンツサーバの名前情報を記憶する名前情報キャッシュ手段と、前記コンテンツサーバから受信した前記第１のコンテンツが参照する前記第２のコンテンツを利用するときに、前記名前情報キャッシュ手段に記憶された前記他のコンテンツサーバの前記名前情報に基づいて、前記他のコンテンツサーバに前記第２のコンテンツを要求するコンテンツ要求手段と、を備えることを特徴とする。
【００２４】
また、本発明の前記コンテンツ要求手段は、前記コンテンツサーバから受信した前記第１のコンテンツ内に前記名前情報があることを示すリンク情報がある場合は、前記コンテンツサーバに記憶されている前記名前情報の送信を要求し、前記コンテンツサーバから受信した前記名前情報を前記名前情報キャッシュ手段に記憶することを特徴とする。
【００２５】
また、本発明の前記コンテンツ要求手段は、前記コンテンツサーバから受信した前記第１のコンテンツ内の前記名前情報を前記名前情報キャッシュ手段に記憶することを特徴とする。
【発明の効果】
【００２６】
本発明によれば、コンテンツサーバが自身の提供するコンテンツに係わる名前情報を取得して、コンテンツを提供すると同時に関連する名前情報をコンテンツが要求された時点で提供することができ、クライアントは、コンテンツと同時に取得した名前情報を基に関連する他のコンテンツを要求することができる。
このことによって、クライアントからのコンテンツの要求によって、目的とするコンテンツの転送前に行われる名前解決を削減し、この名前解決を行う際に行われるＤＮＳサーバへの名前情報の問い合わせ回数を削減することによって、ユーザが通信速度の向上を体感できるコンテンツサーバシステムを提供することができる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の実施形態について、図面を参照して説明する。図１は、本実施形態によるコンテンツサーバシステムの全体の構成例を示したブロック図である。図１において、コンテンツサーバシステム１は、コンテンツサーバ１０−１，１０−２，１０−３、ＤＮＳサーバ２０−１，２０−２、クライアントマシン３０−１，３０−２，３０−３から構成され、それぞれがＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）／ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などのネットワーク４０を介して接続されている。
【００２８】
コンテンツサーバ１０−１，１０−２，１０−３（以下、まとめて表すときには「コンテンツサーバ１０」という）は、ネットワーク４０に接続された他のコンピュータからの要求に応じてサービス（コンテンツ）を提供するサーバである。
ＤＮＳサーバ２０−１，２０−２（以下、まとめて表すときには「ＤＮＳサーバ２０」という）は、ネットワーク４０に接続されている複数のコンピュータのＩＰアドレスとドメイン名を対応付けた名前情報を保持し、ネットワーク４０上のコンピュータからの名前解決の要求に応じて、保持している名前情報を回答するサーバである。
【００２９】
クライアントマシン３０−１，３０−２，３０−３（以下、まとめて表すときには「クライアントマシン３０」という）は、サービス（コンテンツ）の提供を受ける利用者が利用するコンピュータである。クライアントマシン３０は、利用者による操作等に応じて、ネットワーク４０に接続されたコンテンツサーバ１０にコンテンツを要求する。また、コンテンツの要求に際して名前解決が完了していない場合は、ネットワーク４０に接続されたＤＮＳサーバ２０に名前情報を要求する。
【００３０】
なお、図１においては、コンテンツサーバ１０およびクライアントマシン３０が３台、ＤＮＳサーバ２０が２台、それぞれネットワーク４０に接続されている例を示しているが、これに限るものではなく、ネットワーク４０に接続されるコンテンツサーバ１０、クライアントマシン３０、ＤＮＳサーバ２０の台数は規定しない。
【００３１】
＜第１実施形態＞
以下、本実施形態におけるコンテンツサーバシステムについて説明する。図２は、本実施形態におけるコンテンツサーバシステムの構成を示したブロック図である。図２において、コンテンツサーバシステム１００は、ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）サーバ１０、ＤＮＳサーバ２０、クライアントマシン３０から構成され、それぞれがネットワーク４０を介して接続されている。
【００３２】
ＨＴＴＰサーバ１０は、コンテンツ１１０−１，１１０−２，１１０−３（以下、まとめて表すときには「コンテンツ１１０」という）、コンテンツ解析部１２０（コンテンツ解析手段）、名前情報データベース（ＤＢ）１３０（名前情報記憶手段）、名前解決部１４０（名前解決手段）、コンテンツ通信部１５０から構成される。また、ＤＮＳサーバ２０は、名前応答部２１を備える。また、クライアントマシン３０は、名前解決部３１０、名前情報キャッシュ３２０（名前情報キャッシュ手段）、クライアント通信部３３０から構成される。
【００３３】
なお、図２のコンテンツサーバシステム１００おいて、ネットワーク４０に接続されているＨＴＴＰサーバ１０、ＤＮＳサーバ２０、クライアントマシン３０は、それぞれ１台である構成を用いて説明するが、複数台のＨＴＴＰサーバ１０、ＤＮＳサーバ２０、クライアントマシン３０がネットワーク４０に接続された場合でも同様である。
【００３４】
ＨＴＴＰサーバ１０は、ネットワーク４０を介してコンテンツ１１０を提供するコンテンツサーバでする。ＨＴＴＰサーバ１０は、ネットワーク４０を介してクライアントマシン３０からコンテンツ１１０が要求されたときに、要求された自ＨＴＴＰサーバ１０内のコンテンツ１１０を提供する。また、ＨＴＴＰサーバ１０は、自ＨＴＴＰサーバ１０内のコンテンツ１１０および該コンテンツ１１０に含まれる他のコンテンツに関する名前情報を管理する。
【００３５】
コンテンツ１１０は、クライアントマシン３０からの要求に応じて提供されるＨＴＴＰサーバ１０自身が持っている、例えば、文書の記述や画像の埋め込み、または参照する他のファイルに関連付け（ハイパーリンク）する記述等がなされたＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ファイルや画像ファイルなどのコンテンツファイルである。なお、コンテンツ１１０に関連付け（リンク）されている他のコンテンツには限定はなく、例えば、自ＨＴＴＰサーバ１０内の別のコンテンツや他のコンテンツサーバが提供するコンテンツがリンクされている。
【００３６】
名前情報ＤＢ１３０は、ＨＴＴＰサーバ１０自身が持つコンテンツ１１０にリンクされている他のコンテンツに関する情報を記憶するデータベースである。名前情報ＤＢ１３０には、コンテンツ管理テーブル１３１、名前情報テーブル１３２、名前情報ファイル１３３−１，１３３−２，１３３−３（以下、まとめて表すときには「名前情報ファイル１３３」という）が記憶されている。
【００３７】
コンテンツ管理テーブル１３１は、ＨＴＴＰサーバ１０自身が持つコンテンツ１１０を管理するためのファイルである。コンテンツ管理テーブル１３１には、ＨＴＴＰサーバ１０自身が持つコンテンツ１１０の状態（例えば、新規作成、修正、削除など）と、コンテンツ１１０に対応する名前情報ファイル１３３とが関連付けられて記憶されている。
【００３８】
名前情報テーブル１３２は、ＨＴＴＰサーバ１０自身が持つコンテンツ１１０にリンクされている他のコンテンツの情報を記録するためのファイルである。名前情報テーブル１３２には、ＨＴＴＰサーバ１０自身が持つコンテンツ１１０にリンクされている他のコンテンツのドメイン名と、該ドメインをリンクしているコンテンツ１１０（抽出元コンテンツ）と、ドメイン名に対応するＩＰアドレスと、該ＩＰアドレスに対するリンクの有効期限とが関連付けられて記憶されている。
【００３９】
名前情報ファイル１３３−１，１３３−２，１３３−３は、コンテンツ１１０−１，１１０−２，１１０−３毎にリンクしているリンク先の情報が示されたファイルである。それぞれの名前情報ファイル１３３には、それぞれ対応するコンテンツ１１０にリンクされている他のコンテンツのＩＰアドレスと、ＩＰアドレスに対応するドメイン名と、該ＩＰアドレスに対するリンクの有効期限とが関連付けられて記憶されている。
【００４０】
コンテンツ解析部１２０は、ＨＴＴＰサーバ１０自身が持つコンテンツ１１０および該コンテンツ１１０にリンクされている他のコンテンツの名前情報を解析するブロックである。コンテンツ解析部１２０は、コンテンツ１１０のいずれかが新規作成、修正、または削除されたときに変更されたコンテンツ１１０内に記載されているリンク情報（例えば、リンク先のドメイン名）を抽出（リストアップ）して、名前情報ＤＢ１３０内のコンテンツ管理テーブル１３１、および名前情報ファイル１３２を作成、または更新する。また、コンテンツ解析部１２０は、名前情報ＤＢ１３０内のコンテンツ管理テーブル１３１、および名前情報ファイル１３２が変更されたことを名前解決部１４０に伝える。
【００４１】
名前解決部１４０は、コンテンツ解析部１２０から入力された名前情報ＤＢ１３０内のコンテンツ管理テーブル１３１、および名前情報ファイル１３２の変更情報に応じて、名前解決を行うブロックである。名前解決部１４０は、コンテンツ解析部１２０によって作成、または更新された名前情報ＤＢ１３０内のコンテンツ管理テーブル１３１内のコンテンツ１１０の状態（例えば、新規作成、修正、削除など）に応じて、名前情報ファイル１３２内にリストアップされている名前解決が完了していないドメイン名の名前解決を行う。名前解決部１４０による名前解決は、コンテンツ通信部１５０にＤＮＳサーバ２０に対する名前情報の問い合わせ要求を出力することで行う。
【００４２】
名前解決部１４０は、コンテンツ通信部１５０から得られた名前情報に基づいて、名前情報テーブル１３２を更新する。また、名前解決部１４０は、更新した名前情報テーブル１３２を基に各コンテンツ１１０に対応する名前情報ファイル１３３を更新する。
【００４３】
コンテンツ通信部１５０は、クライアントマシン３０からのコンテンツの要求、および名前解決部１４０から入力された名前情報問い合わせ要求に応じて、ネットワーク４０を介して、接続されているＤＮＳサーバ２０およびクライアントマシン３０と通信を行うブロックである。
コンテンツ通信部１５０は、クライアントマシン３０からのコンテンツの要求に応じて、自ＨＴＴＰサーバ１０が持つコンテンツ１１０をネットワーク４０を介して送信する。例えば、クライアントマシン３０からコンテンツ１１０−１が要求された場合は、要求されたコンテンツ１１０−１をネットワーク４０を介して送信する。なお、クライアントマシン３０から複数のコンテンツが要求された場合は、自身の持つコンテンツ１１０において該当するコンテンツ、例えば、コンテンツ１１０−１とコンテンツ１１０−２を複数転送することも可能である。
【００４４】
また、コンテンツ通信部１５０がクライアントマシン３０から要求されたコンテンツ１１０を送信する際には、送信するコンテンツ１１０に対応する名前情報ファイル１３３をクライアントマシン３０が取得可能な形式で関連付けて送信する。なお、コンテンツ１１０と名前情報ファイル１３３の関連付けた送信方法は、コンテンツ１１０に名前情報ファイル１３３が存在することを示す情報を追加することによって行われる。
また、コンテンツ通信部１５０は、名前解決部１４０から入力された名前情報問い合わせ要求に応じて、ネットワーク４０を介してＤＮＳサーバ２０に名前情報の問い合わせを行い、ＤＮＳサーバ２０からの名前情報の回答を名前解決部１４０に伝える。
【００４５】
ＤＮＳサーバ２０は、ナットワーク４０を介して問い合わせのあった名前情報を回答するサーバである。
名前応答部２１は、ＤＮＳサーバ２０に問い合わせのあったドメイン名に対応するＩＰアドレスを回答するブロックである。
【００４６】
クライアントマシン３０は、ネットワーク４０を介してＨＴＴＰサーバ１０が持っているコンテンツ１１０の提供を受ける利用者が利用するコンピュータである。クライアントマシン３０は、ＨＴＴＰサーバ１０に対してコンテンツの要求を行う際に、まず、名前解決の処理が完了しているか否かを確認し、名前解決の処理が完了している場合は、解決済みの名前情報に従って、コンテンツの要求を行う。名前解決の処理が完了していない場合は、まず、名前解決の処理を行うために、ＤＮＳサーバ２０に対する名前解決の問い合わせを行い、名前解決の処理が完了後にコンテンツの要求を行う。
【００４７】
クライアント通信部３３０は、ネットワーク４０を介して、ＨＴＴＰサーバ１０およびＤＮＳサーバ２０と通信を行うブロックである。クライアント通信部３３０は、ＨＴＴＰサーバ１０に対してコンテンツを要求するため、まず、名前解決の処理を行う。クライアント通信部３３０は、名前解決の処理を行う際には、ネットワーク４０に接続されているＤＮＳサーバ２０に名前情報の要求を行い、取得した名前情報を名前情報キャッシュ３２０に記憶する。なお、クライアント通信部３３０は、クライアントマシン３０がＨＴＴＰサーバ１０にコンテンツの要求を行う際に、名前情報キャッシュ３２０にすでに名前情報がある場合は、名前解決の処理は行わない。
【００４８】
クライアント通信部３３０は、名前解決の処理結果に応じてＨＴＴＰサーバ１０に対するコンテンツの要求を行う。クライアント通信部３３０は、クライアントマシン３０がＨＴＴＰサーバ１０にコンテンツの要求を行う際には、ネットワーク４０に接続されているＨＴＴＰサーバ１０にコンテンツ１１０の要求を行い、取得したコンテンツ１１０を図示しないインタフェースを介して自クライアントマシン３０を利用する利用者に提示すると共に、名前解決部３１０に出力する。
【００４９】
また、クライアント通信部３３０は、名前解決部３１０からの名前情報ファイル１３３の取得の要求に応じて、ＨＴＴＰサーバ１０に名前情報ファイル１３３の要求を行い、取得した名前情報ファイル１３３を名前情報キャッシュ３２０に記憶する。
また、クライアント通信部３３０は、取得したコンテンツ１１０にリンクされている別のコンテンツの提供を要求する際には、要求を行う別のコンテンツのＩＰアドレスが名前情報キャッシュ３２０にすでにある場合は、ＤＮＳサーバ２０に対する名前解決の問い合わせを行わずに、直接別のコンテンツサーバにコンテンツの要求を行う。
【００５０】
名前解決部３１０は、クライアント通信部３３０から入力されたコンテンツ１１０にリンクされている別のコンテンツに対する名前解決を行うブロックである。
名前解決部３１０は、クライアント通信部３３０から入力されたコンテンツ１１０内に対応する名前情報ファイル１３３が存在することを示す情報が含まれているか否かを確認し、名前情報ファイル１３３が存在することを示す情報が含まれているときは、クライアント通信部３３０に名前情報ファイル１３３の取得を要求する。コンテンツ１１０内に対応する名前情報ファイル１３３が存在することを示す情報が含まれていないときは、クライアント通信部３３０への名前情報ファイル１３３の取得を要求しない。
【００５１】
名前情報キャッシュ３２０は、クライアントマシン３０が取得した名前情報を記憶するブロックである。
名前情報キャッシュ３２０には、名前解決の処理によってＤＮＳサーバ２０から取得した名前情報と、ＨＴＴＰサーバ１０から取得した名前情報ファイル１３３の名前情報が記憶されており、クライアントマシン３０からネットワーク４０に接続されたコンテンツサーバからコンテンツを取得する際に、クライアント通信部３３０から参照される。
【００５２】
次に本実施形態のコンテンツサーバシステム１００において、ＨＴＴＰサーバ１０によって行われる、ＨＴＴＰサーバ１０自身が持つコンテンツ１１０、および該コンテンツ１１０にリンクされている他のコンテンツの名前情報を解析する処理手順について説明する。図３は、コンテンツ解析部１２０がコンテンツ１１０の名前情報を解析する処理手順を示したフローチャートである。
なお、コンテンツ解析部１２０は、自ＨＴＴＰサーバ１０が持つコンテンツ１１０の新規作成、修正、削除の状態を監視し、名前情報ＤＢ１３０内のコンテンツ管理テーブル１３１を登録するが、図３におけるコンテンツ１１０の名前情報を解析では、すでにコンテンツ管理テーブル１３１が登録され、コンテンツ１１０の変更があったものとして説明する。
【００５３】
図４に、登録されたコンテンツ管理テーブル１３１の例を示す。図４に示すコンテンツ管理テーブル１３１は、ＨＴＴＰサーバ１０自身が持つコンテンツ１１０のコンテンツ名と、コンテンツ１１０の状態（例えば、新規作成、修正、削除など）と、コンテンツ１１０に対応する名前情報ファイル１３３とが関連付けられたファイルである。図４において、自ＨＴＴＰサーバ１０が持つコンテンツ１１０のコンテンツ名は、コンテンツ１１０−１＝ｉｎｄｅｘ．ｈｔｍｌ、コンテンツ１１０−２＝ｉｎｄｅｘ２．ｈｔｍｌ、コンテンツ１１０−３＝ｉｎｄｅｘ３．ｈｔｍｌであり、コンテンツ１１０−２とコンテンツ１１０−３には、それぞれ、名前情報ファイル１３３−２（ｉｎｄｅｘ２−ｎａｍｅｉｎｆｏ）と、名前情報ファイル１３３−３（ｉｎｄｅｘ３−ｎａｍｅｉｎｆｏ）とが関連付けられている。
【００５４】
また、コンテンツ１１０−１と、コンテンツ１１０−２とが修正（状態＝“新規作成・修正”）、コンテンツ１１０−３が削除（状態＝“削除”）されたことを示している。なお、コンテンツ１１０の状態において、新規作成と修正との区別を行っていないが、区別して登録することもできる。
【００５５】
まず、コンテンツ解析部１２０は、自ＨＴＴＰサーバ１０が持つコンテンツ１１０の状態が更新され、コンテンツ管理テーブル１３１が変更されると、ステップＳ１０１において、コンテンツ管理テーブル１３１が“新規作成・修正”を示す状態となっているコンテンツがあるか否かを確認し、コンテンツ管理テーブル１３１に“新規作成・修正”を示す状態がある場合は、ステップＳ１０２に進む。また、コンテンツ管理テーブル１３１に“新規作成・修正”を示す状態がない場合は、ステップＳ１０９に進む。
【００５６】
続いて、コンテンツ解析部１２０は、ステップＳ１０２において、コンテンツ管理テーブル１３１において“新規作成・修正”を示すコンテンツ１１０−１内に含まれる他のコンテンツを参照している表現の全てを抽出する。例えば、図５に示すコンテンツ１１０−１に含まれる他のコンテンツを参照する表現を表したＨＴＭＬファイルの例においては、他のコンテンツへのハイパーリンクを示すＡタグ（図５のａ行）に示された、“ｗｗｗ．ｅｘａｍｐｌｅ．ｃｏｍ／ｉｎｄｅｘ．ｈｔｍｌ”と、画像の埋め込みを示すｉｍｇタグ（図５のｂ行）に示された、“ｗｗｗ．ａｂｃ．ｃｏｍ／ｉｍｇ．ｊｐｇ”とが、抽出される。
【００５７】
続いて、コンテンツ解析部１２０は、ステップＳ１０３において、抽出した他のコンテンツを参照する表現からドメイン名、例えば、図５においては、“ｗｗｗ．ｅｘａｍｐｌｅ．ｃｏｍ”と、“ｗｗｗ．ａｂｃ．ｃｏｍ”をリストアップする。なお、ドメイン名のリストアップにおいて、重複するドメイン名は、１個のみリストアップする。また、自ＨＴＴＰサーバ１０のドメイン名と同じもの、すなわち、自ＨＴＴＰサーバ１０内の別のコンテンツへの参照が行われている場合は、リストアップしない。例えば、自ＨＴＴＰサーバ１０のドメイン名が、“ｗｗｗ．ａｂｃ．ｃｏｍ”である場合は、図５においてリストアップされるドメイン名は、“ｗｗｗ．ｅｘａｍｐｌｅ．ｃｏｍ”のみである。
【００５８】
続いて、コンテンツ解析部１２０は、ステップＳ１０４において、リストアップされたドメイン名が、名前情報テーブル１３２に登録されているか否かを確認する。ドメイン名が名前情報テーブル１３２に登録されていない場合は、ステップＳ１０５に進む。また、ドメイン名が名前情報テーブル１３２に登録されている場合は、ステップＳ１０６に進む。
【００５９】
図６に、登録されている名前情報テーブル１３２の例を示す。図６に示す名前情報テーブル１３２は、リストアップされたドメイン名と、そのドメイン名を抽出した抽出元のコンテンツ名と、そのドメイン名に対応するＩＰアドレスと、ＩＰアドレスの有効期限とが関連付けられたファイルである。図６において、３個のドメイン名（“ｗｗｗ．ｅｘａｍｐｌｅ．ｃｏｍ”と、“ｗｗｗ．ｄｅｆ．ｃｏ．ｊｐ”と、“ｗｗｗ．ｄｄｄ．ｃｏ．ｊｐ”）がすでにリストアップされており、その抽出元コンテンツは、全てコンテンツ１１０−２（ｉｎｄｅｘ２．ｈｔｍｌ）である。また、リストアップされた全てのドメイン名は、まだＩＰアドレスの対応がされておらず、その有効期限も設定されていないことを示している。
【００６０】
続いて、コンテンツ解析部１２０は、ステップＳ１０４において、リストアップされたドメイン名が名前情報テーブル１３２に登録されていない場合は、ステップＳ１０５において、名前情報テーブル１３２にリストアップしたドメイン名と、抽出元コンテンツとを登録し、有効期限を現在の時刻に設定する。
【００６１】
また、コンテンツ解析部１２０は、ステップＳ１０４において、リストアップされたドメイン名が名前情報テーブル１３２に登録されている場合は、ステップＳ１０６において、名前情報テーブル１３２に登録されているドメイン名に、抽出元コンテンツを追加（すでにリストアップされたドメイン名の抽出元コンテンツが登録されている場合は、上書きされるが、最終的な名前情報テーブル１３２の内容に変更はない）する。なお、すでに名前情報テーブル１３２に登録されているドメイン名に対しては、有効期限を新たに設定しない。
【００６２】
図７に、名前情報が解析された名前情報テーブル１３２の例を示す。図７に示す名前情報テーブル１３２は、図６に示した名前情報テーブル１３２に対してリストアップされたドメイン名に関する処理を実行したファイルである。図７において、新たにリストアップされたドメイン名（“ｗｗｗ．ａｂｃ．ｃｏｍ”）がステップＳ１０５によって、抽出元コンテンツがコンテンツ１１０−１（ｉｎｄｅｘ．ｈｔｍｌ）、有効期限が現在の時刻として登録されている。また、すでに登録されているドメイン名（“ｗｗｗ．ｅｘａｍｐｌｅ．ｃｏｍ”）がステップＳ１０６によって抽出元コンテンツがコンテンツ１１０−１（ｉｎｄｅｘ．ｈｔｍｌ）が追加されていることを示している。
【００６３】
続いて、コンテンツ解析部１２０は、ステップＳ１０７において、リストアップされた全てのドメイン名に対する名前情報テーブル１３２への登録処理が完了したか否かを確認し、リストアップされた全てのドメイン名の処理が完了している場合は、ステップＳ１０８に進む。また、リストアップされた全てのドメイン名の処理が完了していない場合は、ステップＳ１０４に戻り、ドメイン名の名前情報テーブル１３２への登録処理を繰り返す。
【００６４】
続いて、コンテンツ解析部１２０は、ステップＳ１０８において、コンテンツ管理テーブル１３１が“新規作成・修正”を示す状態となっている全てのコンテンツに対する処理が完了したか否かを確認し、全てのコンテンツに対する処理が完了した場合は、ステップＳ１０９に進む。また、全てのコンテンツに対する処理が完了していない場合は、ステップＳ１０２に戻り、ドメイン名のリストアップと、名前情報テーブル１３２への登録処理とを繰り返す。
【００６５】
続いて、コンテンツ解析部１２０は、ステップＳ１０１において、コンテンツ管理テーブル１３１が“新規作成・修正”を示す状態となっているコンテンツがない場合、または、ステップＳ１０８において、コンテンツ管理テーブル１３１が“新規作成・修正”を示す状態となっている全てのコンテンツに対する処理が完了した場合は、ステップＳ１０９において、コンテンツ管理テーブル１３１が“削除”を示す状態となっているコンテンツがあるか否かを確認し、コンテンツ管理テーブル１３１に“削除”を示す状態がある場合は、ステップＳ１１０に進む。また、コンテンツ管理テーブル１３１に“削除”を示す状態がない場合は、名前情報の解析処理を完了する。
【００６６】
続いて、コンテンツ解析部１２０は、ステップＳ１１０において、削除されたコンテンツ１１０、例えば、コンテンツ１１０−３が名前情報テーブル１３２の抽出元コンテンツに登録されているか否かを確認し、名前情報テーブル１３２の抽出元コンテンツに登録されている場合は、ステップＳ１１１に進む。また、名前情報テーブル１３２の抽出元コンテンツに登録されていない場合は、ステップＳ１１４に進む。
【００６７】
続いて、コンテンツ解析部１２０は、ステップＳ１１０において、削除されたコンテンツ１１０が名前情報テーブル１３２の抽出元コンテンツに登録されている場合は、ステップＳ１１１において、削除されたコンテンツ１１０が抽出元コンテンツとなっているドメイン名を参照している他のコンテンツがないか否かを確認し、他のコンテンツから参照されている場合は、ステップＳ１１２に進む。また、他のコンテンツから参照されていない場合は、ステップＳ１１３に進む。
例えば、コンテンツ１１０−３が削除された場合は、削除されたコンテンツ１１０−３が参照しているドメイン名を、他のコンテンツであるコンテンツ１１０−１、または１１０−２が参照している場合は、ステップＳ１１２に進み、他のコンテンツであるコンテンツ１１０−１、または１１０−２が参照していない場合は、ステップＳ１１３に進む。
【００６８】
続いて、コンテンツ解析部１２０は、ステップＳ１１１において、削除されたコンテンツ１１０が抽出元コンテンツとして登録されているドメイン名を、他のコンテンツが参照している場合は、ステップＳ１１２において、削除されたコンテンツ１１０を名前情報テーブル１３２の抽出元コンテンツから削除する。
【００６９】
また、コンテンツ解析部１２０は、ステップＳ１１１において、削除されたコンテンツ１１０が抽出元コンテンツとして登録されているドメイン名を、他のコンテンツが参照していない場合は、ステップＳ１１３において、削除されたコンテンツ１１０が参照しているドメイン名を名前情報テーブル１３２の登録から削除する。
【００７０】
続いて、コンテンツ解析部１２０は、ステップＳ１１４において、削除された全てのコンテンツ１１０に対する名前情報テーブル１３２の更新処理が完了したか否かを確認し、削除された全てのコンテンツ１１０の処理が完了している場合は、ステップＳ１１５に進む。また、削除された全てのコンテンツ１１０の処理が完了していない場合は、ステップＳ１１０に戻り、削除されたコンテンツ１１０の名前情報テーブル１３２からの削除処理を繰り返す。
【００７１】
続いて、コンテンツ解析部１２０は、ステップＳ１１５において、コンテンツ管理テーブル１３１が“削除”を示す状態となっている全てのコンテンツに対する処理が完了したか否かを確認し、全てのコンテンツに対する処理が完了した場合は、名前情報の解析処理を完了する。また、全てのコンテンツに対する処理が完了していない場合は、ステップＳ１０９に戻り、削除されたコンテンツ１１０の登録状況確認と、名前情報テーブル１３２からの削除処理とを繰り返す。
【００７２】
上記に述べた通り、自ＨＴＴＰサーバ１０の持つコンテンツ１１０であるＨＴＭＬファイルの新規作成、修正、削除などの状態からリンクされているドメイン名をリストアップすることができる。また、リストアップしたドメイン名を基に自ＨＴＴＰサーバ１０の持つコンテンツ１１０からの抽出状況を管理することができる。
【００７３】
なお、本実施形態のステップＳ１０２において、例えば、図５に示したＨＴＭＬファイルを用いてリンクされている全ての別のコンテンツを抽出する例を示したが、コンテンツ１１０のＨＴＭＬファイルにリンクされている別のコンテンツに対するアクセス解析やアクセス記録を事前に記録しておくことによって、アクセス回数が多い順番や、予め定められたアクセス回数以上のアクセスがあった別のコンテンツの情報のみ抽出することもできる。このことにより、実際にアクセス回数の多い別のコンテンツに対する処理のみを行うことができるため、名前情報の解析処理の効率を高めることができる。
【００７４】
次に本実施形態のコンテンツサーバシステム１００において、ＨＴＴＰサーバ１０によって行われる、名前情報の解析処理を行ったコンテンツ１１０に対する名前解決の処理、および別のコンテンツに対する関連づけの処理を行う処理手順について説明する。図８は、名前解決部１４０がコンテンツ１１０の名前解決、および別のコンテンツへの関連づけを行う処理手順を示したフローチャートである。
図９に、名前情報が解析された名前情報テーブル１３２の例を示す。図９に示す名前情報テーブル１３２は、図７に示した名前情報テーブル１３２に対して名前情報の解析処理が完了し、有効期限が全て“現在時刻”となったファイルである。
【００７５】
本実施形態における名前解決、および別のコンテンツへの関連づけの処理は、図４に示した登録されたコンテンツ管理テーブル１３１、および図９に示した前情報が解析された名前情報テーブル１３２に基づいて処理を行う場合を説明する。また、図９においては、全てのドメイン名の有効期限が“現在時刻”であるため、全てのドメイン名が名前解決を行う対象である。
なお、本実施形態における名前解決、および別のコンテンツへの関連づけの処理は、定期的または名前情報テーブル１３２が更新されたときに行う処理である。
【００７６】
まず、名前解決部１４０は、ステップＳ２０１において、更新された名前情報テーブル１３２内の有効期限が、現在の時刻より以前の時刻（現在の時刻を含む）となっているドメイン名があるか否かを確認し、有効期限が、現在の時刻より以前の時刻（現在の時刻を含む）となっているドメイン名がある場合は、ステップＳ２０２に進む。また、有効期限が、現在の時刻より以前の時刻（現在の時刻を含む）となっているドメイン名がない場合は、ステップＳ２０７に進む。
【００７７】
続いて、名前解決部１４０は、ステップＳ２０２において、有効期限が、現在の時刻より以前の時刻（現在の時刻を含む）となっているドメイン名に対する名前情報の要求をコンテンツ通信部１５０に出力する。コンテンツ通信部１５０は、名前解決部１４０からの名前情報の要求に従って、ネットワーク４０を介してＤＮＳサーバ２０の名前応答部２１に名前情報の問い合わせを行い、得られた名前情報を名前解決部１４０に出力する。
【００７８】
続いて、名前解決部１４０は、ステップＳ２０３において、要求した名前情報が得られたか否かを判断する。要求した名前情報が得られない場合は、ステップＳ２０４に進む。また、要求した名前情報が得られた場合は、ステップＳ２０５に進む。
なお、要求した名前情報が得られたか否かの判断は、１度の問い合わせ結果に基づいて判断することもできるが、複数回の問い合わせ結果に基づいて判断することもできる。
【００７９】
続いて、名前解決部１４０は、ステップＳ２０３において、要求した名前情報が得られない場合は、ステップＳ２０４において、要求した名前情報が得られなかったドメインに対応するＩＰアドレスを無効とし、有効期限を予め定められた値に設定する。
【００８０】
続いて、名前解決部１４０は、ステップＳ２０３において、要求した名前情報が得られた場合、および、ステップＳ２０４においてＩＰアドレスと有効期限とが設定された場合は、ステップＳ２０５において、処理しているドメイン名に対して、コンテンツ通信部１５０から得られた名前情報およびステップＳ２０４によって設定されたＩＰアドレスの情報と、有効期限の情報とを名前情報テーブル１３２に登録する。
【００８１】
続いて、名前解決部１４０は、ステップＳ２０６において、全てのドメイン名に対して名前情報テーブル１３２にＩＰアドレスの情報と、有効期限の情報との登録処理が完了したか否かを確認し、名前情報テーブル１３２に記録されている全てのドメイン名の処理が完了している場合は、ステップＳ２０７に進む。また、名前情報テーブル１３２に記録されている全てのドメイン名の処理が完了していない場合は、ステップＳ２０２に戻り、名前情報の問い合わせ、およびＩＰアドレスの情報と、有効期限の情報との名前情報テーブル１３２への登録処理を繰り返す。
【００８２】
図１０に、名前解決された名前情報テーブル１３２の例を示す。図１０に示す名前情報テーブル１３２は、図９に示した名前情報テーブル１３２に対してリストアップされたドメイン名に関するＩＰアドレスの登録と、有効期限の更新がなされたファイルである。図１０において、ドメイン名（“ｗｗｗ．ｅｘａｍｐｌｅ．ｃｏｍ”と、“ｗｗｗ．ａｂｃ．ｃｏｍ”と、“ｗｗｗ．ｄｅｆ．ｃｏ．ｊｐ”）がステップＳ２０３において、要求した名前情報が得られたことにより、ＩＰアドレスが登録され、有効期限が更新されている。また、ドメイン名（“ｗｗｗ．ｄｄｄ．ｃｏ．ｊｐ”）は、ステップＳ２０３において、要求した名前情報が得られなかったことにより、ステップＳ２０４において、ＩＰアドレスが無効とされ、有効期限に予め定められた値（現在時刻＋１８００（秒））が登録されていることを示している。
【００８３】
続いて、名前解決部１４０は、ステップＳ２０７において、コンテンツ管理テーブル１３１が“新規作成・修正”を示す状態となっているコンテンツがあるか否かを確認し、コンテンツ管理テーブル１３１に“新規作成・修正”を示す状態がある場合は、ステップＳ２０８に進む。また、コンテンツ管理テーブル１３１に“新規作成・修正”を示す状態がない場合は、ステップＳ２１７に進む。
【００８４】
続いて、名前解決部１４０は、ステップＳ２０８において、コンテンツ管理テーブル１３１において“新規作成・修正”を示すコンテンツ１１０、例えば、コンテンツ１１０−１に対応する名前情報ファイル１３３−１（ｉｎｄｅｘ−ｎａｍｅｉｎｆｏ）を初期化、すなわち、名前情報ファイル１３３−１の内容を削除する。なお、コンテンツ１１０−１に対応する名前情報ファイル１３３−１が存在しない場合は、名前情報ファイル１３３−１を新規に作成する。
【００８５】
続いて、名前解決部１４０は、ステップＳ２０９において、名前情報ファイル１３３−１に対応するコンテンツ１００−１が参照しているドメイン名が名前情報テーブル１３２に登録されており、かつ、名前解決が完了、すなわち、名前情報テーブル１３２の該当するドメイン名に対応するＩＰアドレスが登録されている場合は、ステップＳ２１０に進む。また、名前情報テーブル１３２の該当するドメイン名に対応するＩＰアドレスが登録されていない場合は、ステップＳ２１１に進む。
【００８６】
続いて、名前解決部１４０は、ステップＳ２１０において、名前情報テーブル１３２の該当するドメイン名と、ドメイン名に対応するＩＰアドレスと、ドメイン名の有効期限とを名前情報ファイル１３３−１に追加する。
【００８７】
図１１に、名前情報ファイル１３３−１（ｉｎｄｅｘ−ｎａｍｅｉｎｆｏ）の例を示す。図１１において、名前情報ファイル１３３−１は、対応するコンテンツ１１０−１が参照するドメイン名（“ｗｗｗ．ｅｘａｍｐｌｅ．ｃｏｍ”と“ｗｗｗ．ａｂｃ．ｃｏｍ”）に関するＩＰアドレスと有効期限との情報が含まれるファイルである。
【００８８】
続いて、名前解決部１４０は、ステップＳ２１１において、コンテンツ管理テーブル１３１が“新規作成・修正”を示す状態となっている全てのコンテンツに対する処理が完了したか否かを確認し、全てのコンテンツに対する処理が完了した場合は、ステップＳ２１２に進む。また、全てのコンテンツに対する処理が完了していない場合は、ステップＳ２０９に戻り、名前情報ファイル１３３へのドメイン名と、ＩＰアドレスと、有効期限との追加処理とを繰り返す。
【００８９】
図１２に、名前情報ファイル１３３−２（ｉｎｄｅｘ２−ｎａｍｅｉｎｆｏ）の例を示す。図１２において、名前情報ファイル１３３−２は、対応するコンテンツ１１０−２が参照するドメイン名（“ｗｗｗ．ｅｘａｍｐｌｅ．ｃｏｍ”と“ｗｗｗ．ｄｅｆ．ｃｏ．ｊｐ”）に関するＩＰアドレスと有効期限との情報が含まれるファイルである。なお、コンテンツ１１０−２が参照するドメイン名（“ｗｗｗ．ｄｄｄ．ｃｏ．ｊｐ”）は、ステップＳ２０３において、要求した名前情報が得られなかったため、名前情報ファイル１３３−２に記録されない。
【００９０】
続いて、名前解決部１４０は、ステップＳ２１２において、いずれかの名前情報ファイル１３３に追加された情報（ドメイン名、ＩＰアドレス、有効期限）があるか否かを確認し、いずれかの名前情報ファイル１３３に情報が追加された場合は、ステップＳ２１３に進む。また、いずれの名前情報ファイル１３３にも情報が追加されていない場合は、ステップＳ２１５に進む。
【００９１】
続いて、名前解決部１４０は、ステップＳ２１２において、いずれかの名前情報ファイル１３３に情報が追加された場合は、ステップＳ２１３において、コンテンツ１１０−１に対応する名前情報ファイル１３３−１へのリンクを作成する。例えば、図１３に示すコンテンツ１１０−１に含まれる他のコンテンツを参照する表現を表したＨＴＭＬファイルの例においては、名前情報ファイル１３３へのリンクを示すｍｅｔａタグ（図１３のｃ行）に示された、名前情報ファイル１３３−１（ｉｎｄｅｘ−ｎａｍｅｉｎｆｏ）に関するリンク情報を追加する。
【００９２】
なお、名前情報ファイル１３３に関するリンク情報の追加は、ＨＴＭＬファイル内にすでに名前情報ファイル１３３に関するリンク情報が登録されている場合は、今回の名前情報ファイル１３３に関するリンク情報を上書きし、ＨＴＭＬファイル内に名前情報ファイル１３３に関するリンク情報が登録されていない場合は、今回の名前情報ファイル１３３に関するリンク情報を新規作成する。
【００９３】
なお、名前情報ファイル１３３に関するリンク情報の追加方法は、例えば、図１３で示した、ＨＴＭＬファイルのＨＥＡＤ領域にｍｅｔａタグを用いて記述する方法や、その他の任意の場所にコメント分として記述する方法などがあるが、これに限るものではなく、コンテンツ１１０−１を取得したクライアントマシン３０が、対応する名前情報ファイル１３３が存在することが判断できる方法であれば、どのような方法でも適用することができる。
【００９４】
続いて、名前解決部１４０は、ステップＳ２１４において、コンテンツ管理テーブル１３１内のコンテンツ１１０−１に関する情報に、名前情報ファイル１３３−１を登録し、コンテンツ管理テーブル１３１内のコンテンツ１１０−１に関する状態を初期化し、ステップＳ２１９に進む。
なお、コンテンツ管理テーブル１３１への名前情報ファイル１３３の登録は、コンテンツ管理テーブル１３１内にすでに名前情報ファイル１３３が登録されている場合は、今回の名前情報ファイル１３３を上書き登録し、コンテンツ管理テーブル１３１内に名前情報ファイル１３３が登録されていない場合は、今回の名前情報ファイル１３３を新規に登録する。
【００９５】
また、名前解決部１４０は、ステップＳ２１２において、いずれの名前情報ファイル１３３にも情報が追加されていない場合は、ステップＳ２１５において、コンテンツ１１０に対応する名前情報ファイル１３３へのリンクを削除する。例えば、コンテンツ１１０−３が削除された場合は、対応する名前情報ファイル１３３−３（ｉｎｄｅｘ３−ｎａｍｅｉｎｆｏ）に関するリンクを削除する。
なお、名前情報ファイル１３３に関するリンク情報の削除は、ＨＴＭＬファイル内にすでに名前情報ファイル１３３に関するリンク情報が登録されている場合は、今回の名前情報ファイル１３３に関するリンク情報を削除し、ＨＴＭＬファイル内に名前情報ファイル１３３に関するリンク情報が登録されていない場合は、何も行わない。
【００９６】
続いて、名前解決部１４０は、ステップＳ２１６において、コンテンツ管理テーブル１３１内のコンテンツ１１０に関する情報から、名前情報ファイル１３３の登録を削除し、コンテンツ管理テーブル１３１内のコンテンツ１１０に関する状態を初期化し、ステップＳ２１９に進む。例えば、コンテンツ１１０−３が削除された場合は、コンテンツ１１０−３に対応する名前情報ファイル１３３−３（ｉｎｄｅｘ３−ｎａｍｅｉｎｆｏ）の登録を削除する。
なお、コンテンツ管理テーブル１３１への名前情報ファイル１３３の登録の削除は、コンテンツ管理テーブル１３１内にすでに名前情報ファイル１３３が登録されている場合は、今回の名前情報ファイル１３３の登録を削除し、コンテンツ管理テーブル１３１内に名前情報ファイル１３３が登録されていない場合は、何も行わない。
【００９７】
また、名前解決部１４０は、ステップＳ２０７において、コンテンツ管理テーブル１３１に“新規作成・修正”を示す状態がない場合は、ステップＳ２１７において、コンテンツ管理テーブル１３１が“削除”を示す状態となっているコンテンツがあるか否かを確認し、コンテンツ管理テーブル１３１に“削除”を示す状態がある場合は、ステップＳ２１８に進む。また、コンテンツ管理テーブル１３１に“削除”を示す状態がない場合は、ステップＳ２１９に進む。
【００９８】
続いて、名前解決部１４０は、ステップＳ２１８において、削除されたコンテンツ１１０の名前情報ファイル１３３を削除し、コンテンツ管理テーブル１３１内のコンテンツ１１０の情報を削除し、ステップＳ２１９に進む。
【００９９】
続いて、名前解決部１４０は、ステップＳ２１９において、コンテンツ管理テーブル１３１の状態が更新された全てのコンテンツに対する処理が完了したか否かを確認し、全てのコンテンツに対する処理が完了した場合は、名前解決、および別のコンテンツへの関連づけの処理を完了する。また、全てのコンテンツに対する処理が完了していない場合は、ステップＳ２０７に戻り、コンテンツ管理テーブル１３１の状態が更新されたコンテンツ１１０に対応する名前情報ファイル１３３の作成と、およびコンテンツ１１０と名前情報ファイル１３３の関連づけの処理とを繰り返す。
【０１００】
図１４に、名前解決されたコンテンツ管理テーブル１３１の例を示す。図１４に示すコンテンツ管理テーブル１３１は、図４に示したコンテンツ管理テーブル１３１に対して、ステップＳ２１４によって、コンテンツ１１０−１（ｉｎｄｅｘ．ｈｔｍｌ）に対応する名前情報ファイル１３３−１（ｉｎｄｅｘ−ｎａｍｅｉｎｆｏ）が新規に登録され、コンテンツ１１０−２（ｉｎｄｅｘ２．ｈｔｍｌ）に対応する名前情報ファイル１３３−２（ｉｎｄｅｘ２−ｎａｍｅｉｎｆｏ）は、図４に示したコンテンツ管理テーブル１３１内にすでに名前情報ファイルが登録されていたため、今回作成した名前情報ファイル１３３−２に更新されている。
一方、ステップＳ２１６によって、コンテンツ１１０−３（ｉｎｄｅｘ３．ｈｔｍｌ）に対応する名前情報ファイル１３３−３（ｉｎｄｅｘ３−ｎａｍｅｉｎｆｏ）が削除されている。
また、全てのコンテンツの状態が初期化されていることを示している。
【０１０１】
上記に述べた通り、自ＨＴＴＰサーバ１０の持つコンテンツ１１０の名前解決が行われ、名前情報ファイル１３３によって、自ＨＴＴＰサーバ１０の持つコンテンツ１１０が参照している他のコンテンツとの関連づけを管理することができる。
【０１０２】
なお、本実施形態のステップＳ２０２において、ドメイン名に対する名前情報の要求は、ドメイン名の１つ１つに対して順番に名前情報の要求を行うのではなく、複数のドメイン名をまとめて名前解決の要求を行う、すなわち、ツリー型の構造を持つＤＮＳサーバ２０を考慮した場合、同じＤＮＳサーバ２０で処理される可能性が高い、同じ上位ドメイン名を持つドメイン名をまとめて名前解決の要求を行うこともできる。例えば、図９に示したドメイン名に対して名前解決を行う全てのドメイン名から上位ドメイン名が同じ“．ｃｏｍ”であるドメイン名（“ｗｗｗ．ｅｘａｍｐｌｅ．ｃｏｍ”と“ｗｗｗ．ａｂｃ．ｃｏｍ”）をまとめて名前解決の要求を行う。また、上位ドメイン名が同じ“．ｃｏ．ｊｐ”であるドメイン名（“ｗｗｗ．ｄｅｆ．ｃｏ．ｊｐ”と“ｗｗｗ．ｄｄｄ．ｃｏ．ｊｐ”）とをまとめて、名前解決の要求を行う。このことによって、ＤＮＳサーバ２０に対して行われる名前情報の問い合わせの効率を高めることができる。
【０１０３】
また、本実施形態のステップＳ２０２において得られたドメイン名に対応する名前情報に複数のＩＰアドレスが含まれていた場合は、全てのＩＰアドレスを名前情報テーブル１３２に登録しておく。そして、ステップＳ２１０において、名前情報テーブル１３２に複数のＩＰアドレスが登録されているドメイン名に関しては、名前情報ファイル１３３にドメイン名に対応するＩＰアドレスを追加する際に、無作為に選択したＩＰアドレスを名前情報ファイル１３３に追加することもできる。このように、無作為に選択したＩＰアドレスを名前情報ファイル１３３に追加することによって、ＨＴＴＰサーバ１０の持つコンテンツ１１０から別のコンテンツが参照される際に、別のコンテンツサーバに対するアクセス負荷の分散をＨＴＴＰサーバ１０側で制御することができる。
なお、全てのＩＰアドレスを名前情報ファイル１３３に追加することもできる。この場合、別のコンテンツサーバに対するアクセス負荷の分散は、クライアントマシン３０が制御することとなる。
【０１０４】
次に本実施形態のコンテンツサーバシステム１００において、クライアントマシン３０によって行われる、コンテンツを取得する処理手順について説明する。図１５は、クライアントマシン３０がコンテンツ１１０を取得する処理手順を示したフローチャートである。
なお、本実施形態におけるクライアントマシン３０は、ＨＴＴＰサーバ１０に図１３に示したＨＴＭＬファイルを含むコンテンツ１１０−１を取得する場合について説明する。
【０１０５】
まず、クライアントマシン３０の図示しない制御部は、ステップＳ３０１において、利用者からコンテンツ、例えば、ＨＴＴＰサーバ１０のコンテンツ１１０−１の要求があるか否かを確認し、コンテンツ１１０−１の要求がある場合は、ステップＳ３０２に進む。また、コンテンツ１１０−１の要求がない場合は、コンテンツを取得する処理を完了する。
利用者からのコンテンツ１１０−１の要求は、例えば、要求するコンテンツ１１０−１を表示するウェブブラウザなどのアプリケーションソフトウェアに、クライアントマシン３０の図示しないインタフェースを介して、要求するコンテンツ１１０−１の所在を示すアドレスを入力することによって行われる。
【０１０６】
続いて、クライアントマシン３０の図示しない制御部は、ステップＳ３０２において、要求されたコンテンツ１１０−１のドメイン名に対応する名前情報が、クライアントマシン３０内の名前情報キャッシュ３２０に登録されているか否かを確認し、要求されたコンテンツ１１０−１に対応する名前情報が名前情報キャッシュ３２０に登録されている場合は、ステップＳ３０４に進む。また、要求されたコンテンツ１１０−１に対応する名前情報が名前情報キャッシュ３２０に登録されていない場合、クライアントマシン３０の図示しない制御部は、名前情報の要求をクライアント通信部３３０に出力し、ステップＳ３０３に進む。
【０１０７】
続いて、クライアント通信部３３０は、ステップＳ３０３において、クライアントマシン３０の図示しない制御部からの名前情報の要求に従って、ネットワーク４０を介してＤＮＳサーバ２０の名前応答部２１に名前情報の問い合わせを行い、得られた名前情報（ＩＰアドレス）を名前情報キャッシュ３２０に登録する。
【０１０８】
続いて、クライアントマシン３０の図示しない制御部は、ステップＳ３０４において、名前情報キャッシュ３２０に登録されている名前情報（ＩＰアドレス）を基に、ＨＴＴＰサーバ１０からのコンテンツ１１０−１の取得要求をクライアント通信部３３０に出力する。
また、クライアント通信部３３０は、クライアントマシン３０の図示しない制御部からの名前情報の要求に従って、ネットワーク４０を介してＨＴＴＰサーバ１０にコンテンツ１１０−１を要求し、ＨＴＴＰサーバ１０から取得したコンテンツ１１０−１を図示しないインタフェースを介してクライアントマシン３０の利用者に提示すると共に、名前解決部３１０に出力する。
【０１０９】
続いて、名前解決部３１０は、ステップＳ３０５において、ＨＴＴＰサーバ１０から取得したコンテンツ１１０−１内に、名前情報ファイル１３３−１へのリンク情報、例えば、図１３に示したｍｅｔａタグ（図１３のｃ行）に名前情報ファイル１３３−１（ｉｎｄｅｘ−ｎａｍｅｉｎｆｏ）が含まれているか否かを確認し、名前情報ファイル１３３−１へのリンク情報が含まれている場合は、名前情報ファイル１３３−１の要求をクライアント通信部３３０に出力し、ステップＳ３０６に進む。また、名前情報ファイル１３３−１へのリンク情報が含まれていない場合は、コンテンツ１１０−１を取得する処理を完了する。
【０１１０】
続いて、クライアント通信部３３０は、ステップＳ３０６において、名前解決部３１０からの名前情報ファイル１３３−１の要求に従って、ネットワーク４０を介してＨＴＴＰサーバ１０に名前情報ファイル１３３−１を要求し、ＨＴＴＰサーバ１０から名前情報ファイル１３３−１を取得する。
【０１１１】
続いて、クライアント通信部３３０は、ステップＳ３０７において、取得した名前情報ファイル１３３−１に含まれるドメイン名、ＩＰアドレス、有効期限を名前情報キャッシュ３２０に登録し、処理を完了する。
なお、前情報キャッシュ３２０に、すでに登録されている情報が含まれている場合は、名前情報ファイル１３３−１に含まれる情報で上書きすることもできる。また、名前情報ファイル１３３−１に含まれる情報で上書きせず、両方の情報を登録して、次にコンテンツサーバに対してアクセスする際に使い分けることもできる。
【０１１２】
また、名前情報ファイル１３３−１に複数のＩＰアドレスが含まれていた場合は、名前情報キャッシュ３２０に１つのＩＰアドレスのみを登録することもできる。また、全てのＩＰアドレスを名前情報キャッシュ３２０に登録することもできる。
そして、利用者から、複数のＩＰアドレスが名前情報キャッシュ３２０に登録されているドメイン名のコンテンツが要求された場合は、無作為にＩＰアドレスを選択することによって、コンテンツサーバに対するアクセス負荷の分散を、クライアントマシン３０が制御することができる。
【０１１３】
上記に述べた通り、名前情報ファイル１３３−１へのリンク情報が含まれたコンテンツ１１０−１を取得した場合には、別途、名前情報ファイル１３３−１の取得を行って、名前情報キャッシュ３２０に登録しておくことにより、クライアントマシン３０が別のコンテンツを要求する際に、再び名前解決を行わずに、別のコンテンツの要求を行うことができる。
すなわち、コンテンツ１１０−１にリンクされている名前情報ファイル１３３−１に含まれる名前情報は、ハイパーリンクや画像の読み込みなどで該コンテンツ１１０−１から参照されるアクセス回数が多いコンテンツや、予め定められた回数以上のアクセスが行われたコンテンツである可能性が高い名前情報であり、実際にこれらの別のコンテンツにアクセスする際に、名前解決の処理を削減することによって、より早く要求された別のコンテンツを利用者に提供することができる。
【０１１４】
次に本実施形態のコンテンツサーバシステム１００において行われる通信手順について説明する。図１６は、コンテンツサーバシステム１００におけるコンテンツの通信手順を示した図である。
なお、本実施形態におけるクライアントマシン３０は、ＨＴＴＰサーバ１０から図１３に示したＨＴＭＬファイルを含むコンテンツ１１０−１を取得する場合について説明する。
【０１１５】
まず、ＨＴＴＰサーバ１０は、処理１において、ＨＴＴＰサーバ１０は、ＤＮＳサーバ２０と通信を行って、ＨＴＴＰサーバ１０自身が持つコンテンツ１１０が参照するコンテンツサーバ２の名前解決の処理を事前に行い、名前情報を登録する。また、コンテンツ１１０に対応する名前情報ファイルを作成して、コンテンツ１１０に関連付けておく。
【０１１６】
続いて、クライアントマシン３０の利用者からＨＴＴＰサーバ１０のコンテンツ１１０−１に対する要求が発生すると、処理２において、クライアントマシン３０は、ＤＮＳサーバ２０と通信を行ってＨＴＴＰサーバ１０に対する名前解決の処理を行う。
続いて、クライアントマシン３０は、処理３において、ＨＴＴＰサーバ１０からコンテンツ１１０−１を取得して、クライアントマシン３０の利用者に提示する。
続いて、クライアントマシン３０は、処理４において、コンテンツ１１０−１に含まれる名前情報ファイル１３３へのリンク情報を基に、ＨＴＴＰサーバ１０から名前情報ファイル１３３−１を取得して、名前情報キャッシュ３２０に登録する。
【０１１７】
続いて、クライアントマシン３０の利用者からＨＴＴＰサーバ１０のコンテンツ１１０−１が参照するコンテンツサーバ２が持つ、別のコンテンツに対する要求が発生すると、処理５において、クライアントマシン３０は、名前解決の処理を行わずに、コンテンツサーバ２からコンテンツを取得して、クライアントマシン３０の利用者に提示する。
【０１１８】
上記に述べた通り、名前情報ファイル１３３−１を取得して予めコンテンツサーバ２の名前情報を登録していることにより、名前解決の処理を行わずにコンテンツサーバ２のコンテンツを取得してクライアントマシン３０の利用者に提示することができるため、クライアントマシン３０の利用者は、通信速度の向上を体感することができる。
【０１１９】
また、クライアントマシン３０の数が増加した場合においても、コンテンツサーバシステム１００において行われる名前解決の処理は、ＨＴＴＰサーバ１０からの名前解決の処理と、クライアントマシン３０から最初に行われるＨＴＴＰサーバ１０に対する名前解決の処理のみとなるため、ＤＮＳサーバ２０に対する通信負荷を軽減することができる。
また、ネットワーク４０上のクライアントマシン３０が接続されている位置に関係なく、ＤＮＳサーバ２０に対する通信負荷の軽減することができる。
【０１２０】
＜第２実施形態＞
以下、本発明の第２の実施形態におけるコンテンツサーバシステムについて説明する。本第２の実施形態におけるコンテンツサーバシステムの構成は、図２に示した第１の実施形態のコンテンツサーバシステムの構成と同様であるが、ＨＴＴＰサーバ１０によって行われる、名前解決の処理後の別のコンテンツに対する関連づけの処理が異なる。
【０１２１】
次に第２の実施形態のコンテンツサーバシステム１００において、ＨＴＴＰサーバ１０によって行われる、名前情報の解析処理を行ったコンテンツ１１０に対する名前解決の処理、および別のコンテンツに対する関連づけの処理を行う処理手順について説明する。図１７は、名前解決部１４０がコンテンツ１１０の名前解決、および別のコンテンツへの関連づけを行う処理手順を示したフローチャートである。
【０１２２】
本第２の実施形態における名前解決、および別のコンテンツへの関連づけの処理は、図４に示した登録されたコンテンツ管理テーブル１３１、および図９に示した前情報が解析された名前情報テーブル１３２に基づいて処理を行う場合を説明する。なお、第２の実施形態のコンテンツサーバシステム１００においては、名前情報ファイル１３３は作成されないため、図４に示した名前情報ファイルに登録された内容は使用しない。また、図９においては、全てのドメイン名の有効期限が“現在時刻”であるため、全てのドメイン名が名前解決を行う対象である。
なお、本実施形態における名前解決、および別のコンテンツへの関連づけの処理は、定期的または名前情報テーブル１３２が更新されたときに行う処理である。
【０１２３】
まず、名前解決部１４０は、ステップＳ４０１からステップＳ４０６において、図８のフローチャート（ステップＳ２０１からステップＳ２０６）と同様に、名前情報の問い合わせ、およびＩＰアドレスの情報と、有効期限の情報との名前情報テーブル１３２への登録処理を行い、図１０に示した名前情報テーブル１３２を得る。
行う。
【０１２４】
続いて、名前解決部１４０は、ステップＳ４０７において、コンテンツ管理テーブル１３１が“新規作成・修正”を示す状態となっているコンテンツがあるか否かを確認し、コンテンツ管理テーブル１３１に“新規作成・修正”を示す状態がある場合は、ステップＳ４０８に進む。また、コンテンツ管理テーブル１３１に“新規作成・修正”を示す状態がない場合は、ステップＳ４１３に進む。
【０１２５】
続いて、名前解決部１４０は、ステップＳ４０８において、コンテンツ管理テーブル１３１において“新規作成・修正”を示すコンテンツ１１０、例えば、図１３に示したコンテンツ１１０−１に含まれる他のコンテンツを参照する表現を表したＨＴＭＬファイルの例において、名前情報ファイル１３３へのリンクを示すｍｅｔａタグ（図１３のｃ行）に示された、名前情報ファイル１３３−１（ｉｎｄｅｘ−ｎａｍｅｉｎｆｏ）に関するリンク情報を初期化する。すなわち、ＨＴＭＬファイル内にｍｅｔａタグの記述があれば、その記述を削除し、ｍｅｔａタグの記述がなければ何も行わない。
【０１２６】
続いて、名前解決部１４０は、ステップＳ４０９において、名前情報ファイル１３３−１に対応するコンテンツ１００−１が参照しているドメイン名が名前情報テーブル１３２に登録されており、かつ、名前解決が完了、すなわち、名前情報テーブル１３２の該当するドメイン名に対応するＩＰアドレスが登録されている場合は、ステップＳ４１０に進む。また、名前情報テーブル１３２の該当するドメイン名に対応するＩＰアドレスが登録されていない場合は、ステップＳ４１１に進む。
【０１２７】
続いて、名前解決部１４０は、ステップＳ４１０において、名前情報テーブル１３２の該当するドメイン名と、ドメイン名に対応するＩＰアドレスと、ドメイン名の有効期限とを含む名前情報をコンテンツ１１０−１に追記する。例えば、図１８に示すコンテンツ１１０−１に含まれる他のコンテンツの名前情報を記述したＨＴＭＬファイルの例においては、ＨＥＡＤ領域にｍｅｔａタグを用いて、ドメイン名＝“ｗｗｗ．ｅｘａｍｐｌｅ．ｃｏｍ”の名前情報を示すｍｅｔａタグ（図１８のｄ行）と、ドメイン名＝“ｗｗｗ．ａｂｃ．ｃｏｍ”の名前情報を示すｍｅｔａタグ（図１８のｅ行）とを追記する。
【０１２８】
続いて、名前解決部１４０は、ステップＳ４１１において、コンテンツ管理テーブル１３１が“新規作成・修正”を示す状態となっている全てのコンテンツに対する処理が完了したか否かを確認し、全てのコンテンツに対する処理が完了した場合は、ステップＳ４１２に進む。また、全てのコンテンツに対する処理が完了していない場合は、ステップＳ４０９に戻り、コンテンツ１１０に対するドメイン名と、ＩＰアドレスと、有効期限との追記処理とを繰り返す。
【０１２９】
続いて、名前解決部１４０は、ステップＳ４１２において、コンテンツ管理テーブル１３１内のコンテンツ１１０に関する状態を初期化し、ステップＳ４１５に進む。
【０１３０】
また、名前解決部１４０は、ステップＳ４０７において、コンテンツ管理テーブル１３１に“新規作成・修正”を示す状態がない場合は、ステップＳ４１３において、コンテンツ管理テーブル１３１が“削除”を示す状態となっているコンテンツがあるか否かを確認し、コンテンツ管理テーブル１３１に“削除”を示す状態がある場合は、ステップＳ４１４に進む。また、コンテンツ管理テーブル１３１に“削除”を示す状態がない場合は、ステップＳ４１５に進む。
【０１３１】
続いて、名前解決部１４０は、ステップＳ４１４において、削除されたコンテンツ１１０の情報をコンテンツ管理テーブル１３１から削除し、ステップＳ４１５に進む。
【０１３２】
続いて、名前解決部１４０は、ステップＳ４１５において、コンテンツ管理テーブル１３１の状態が更新された全てのコンテンツに対する処理が完了したか否かを確認し、全てのコンテンツに対する処理が完了した場合は、名前解決、および別のコンテンツへの関連づけの処理を完了する。また、全てのコンテンツに対する処理が完了していない場合は、ステップＳ４０７に戻り、コンテンツ管理テーブル１３１の状態が更新されたコンテンツ１１０に対する名前情報の関連づけの処理を繰り返す。
【０１３３】
図１９に、名前解決されたコンテンツ管理テーブル１３１の例を示す。図１９に示すコンテンツ管理テーブル１３１は、図４に示したコンテンツ管理テーブル１３１に対して、全てのコンテンツの状態が初期化されていることを示している。
【０１３４】
上記に述べた通り、自ＨＴＴＰサーバ１０の持つコンテンツ１１０の名前解決が行われ、コンテンツ１１０内に名前情報を追記することによって、自ＨＴＴＰサーバ１０の持つコンテンツ１１０が参照している他のコンテンツとの関連づけを管理することができる。
【０１３５】
次に本第２の実施形態のコンテンツサーバシステム１００において、クライアントマシン３０によって行われる、コンテンツを取得する処理手順について説明する。図２０は、クライアントマシン３０がコンテンツ１１０を取得する処理手順を示したフローチャートである。
なお、本第２の実施形態におけるクライアントマシン３０は、ＨＴＴＰサーバ１０から図１８に示したＨＴＭＬファイルを含むコンテンツ１１０−１を取得する場合について説明する。
【０１３６】
まず、クライアントマシン３０の図示しない制御部、およびクライアント通信部３３０は、ステップＳ５０１からステップＳ５０４において、図１５のフローチャート（ステップＳ３０１からステップＳ３０４）と同様に、ＨＴＴＰサーバ１０からコンテンツ１１０−１を取得し、図示しないインタフェースを介してクライアントマシン３０の利用者に提示すると共に、名前解決部３１０に出力する。
行う。
【０１３７】
続いて、名前解決部３１０は、ステップＳ５０５において、ＨＴＴＰサーバ１０から取得したコンテンツ１１０−１内に名前情報、例えば、図１８に示したｍｅｔａタグ（図１８のｄ行、およびｅ行）にドメイン名と、ドメイン名に対応するＩＰアドレスと、ドメイン名の有効期限とを含む名前情報が含まれているか否かを確認し、名前情報が含まれている場合は、ステップＳ５０６に進む。また、名前情報が含まれていない場合は、コンテンツ１１０−１を取得する処理を完了する。
【０１３８】
続いて、クライアント通信部３３０は、ステップＳ５０６において、コンテンツ１１０−１内に含まれるドメイン名、ＩＰアドレス、有効期限を名前情報キャッシュ３２０に登録し、処理を完了する。
なお、前情報キャッシュ３２０に、すでに登録されている情報が含まれている場合は、名前情報ファイル１３３−１に含まれる情報で上書きすることもできる。また、名前情報ファイル１３３−１に含まれる情報で上書きせず、両方の情報を登録して、次にコンテンツサーバに対してアクセスする際に使い分けることもできる。
【０１３９】
上記に述べた通り、名前情報が含まれたコンテンツ１１０−１を取得した場合には、コンテンツ１１０−１から得られた名前情報を、名前情報キャッシュ３２０に登録しておくことにより、クライアントマシン３０が別のコンテンツを要求する際に、再び名前解決を行わずに、別のコンテンツの要求を行うことができる。
このことにより、ＤＮＳサーバ２０に対する名前情報の問い合わせのアクセス回数は、ネットワーク４０に接続されているクライアントマシン３０から要求されるコンテンツの数に関係しなくなる。すなわち、名前解決の処理は、最初にクライアントマシン３０からコンテンツが要求されたときと、ＨＴＴＰサーバ１０が持つコンテンツが変更されたときのみとなる。
このことによって、ＤＮＳサーバ２０に対するアクセスを削減することができ、ＤＮＳサーバ２０の負荷を軽減することができる。
【０１４０】
また、クライアントマシン３０は、利用者からコンテンツの要求があったときに実際に要求されたコンテンツを取得する時間のみで、要求されたコンテンツを利用者に提示することができる。
【０１４１】
次に本第２の実施形態のコンテンツサーバシステム１００において行われる通信手順について説明する。図２１は、コンテンツサーバシステム１００におけるコンテンツの通信手順を示した図である。
なお、本第２の実施形態におけるクライアントマシン３０は、ＨＴＴＰサーバ１０に図１８に示したＨＴＭＬファイルを含むコンテンツ１１０−１を取得する場合について説明する。
【０１４２】
まず、ＨＴＴＰサーバ１０は、処理１において、ＨＴＴＰサーバ１０は、ＤＮＳサーバ２０と通信を行って、ＨＴＴＰサーバ１０自身が持つコンテンツ１１０が参照するコンテンツサーバ２の名前解決の処理を事前に行い、名前情報を登録する。また、コンテンツ１１０に名前情報を追記しておく。
【０１４３】
続いて、クライアントマシン３０の利用者からＨＴＴＰサーバ１０のコンテンツ１１０−１に対する要求が発生すると、処理２において、クライアントマシン３０は、ＤＮＳサーバ２０と通信を行ってＨＴＴＰサーバ１０に対する名前解決の処理を行う。
続いて、クライアントマシン３０は、処理３において、ＨＴＴＰサーバ１０からコンテンツ１１０−１を取得して、クライアントマシン３０の利用者に提示する。また、クライアントマシン３０は、コンテンツ１１０−１に含まれる名前情報を名前情報キャッシュ３２０に登録する。
【０１４４】
続いて、クライアントマシン３０の利用者からＨＴＴＰサーバ１０のコンテンツ１１０−１が参照するコンテンツサーバ２が持つ、別のコンテンツに対する要求が発生すると、処理４において、クライアントマシン３０は、名前解決の処理を行わずに、コンテンツサーバ２からコンテンツを取得して、クライアントマシン３０の利用者に提示する。
【０１４５】
上記に述べた通り、コンテンツ１１０−１に予めコンテンツサーバ２の名前情報を登録していることにより、名前解決の処理を行わずにコンテンツサーバ２のコンテンツを取得してクライアントマシン３０の利用者に提示することができるため、クライアントマシン３０の利用者は、通信速度の向上を体感することができる。
【０１４６】
また、クライアントマシン３０の数が増加した場合においても、コンテンツサーバシステム１００において行われる名前解決の処理は、ＨＴＴＰサーバ１０からの名前解決の処理と、クライアントマシン３０から最初に行われるＨＴＴＰサーバ１０に対する名前解決の処理のみとなるため、ＤＮＳサーバ２０に対する通信負荷を軽減することができる。
また、ネットワーク４０上のクライアントマシン３０が接続されている位置に関係なく、ＤＮＳサーバ２０に対する通信負荷の軽減することができる。
【０１４７】
また、クライアントマシン３０においては、コンテンツ１１０−１を取得すると同時に名前情報を取得することができるため、取得するデータの量は増加するが、コンテンツサーバシステム１００において行われる各装置のよるネットワーク４０のアクセス回数（セッション数）の増加を防ぐことができる。
【０１４８】
上記に述べたとおり、本発明を実施するための最良の形態によれば、クライアントマシンがコンテンツを取得する際に、取得したコンテンツが参照している別のコンテンツに関する名前情報を取得することができる。このことにより、取得したコンテンツが参照している別のコンテンツサーバのコンテンツを取得する際に行われる名前解決の処理を削減することができるため、クライアントマシンの利用者により早く要求された別のコンテンツを利用者に提供することができる。
【０１４９】
また、名前解決の処理を削減することにより、ＤＮＳサーバに対するアクセスを低減することができ、本実施形態のコンテンツサーバシステムのネットワークに接続されているクライアントマシンが多くなったときにおいても、コンテンツサーバが持っている名前情報を利用することができるので、ＤＮＳサーバ２０の通信負荷を軽減することができる。
【０１５０】
なお、本発明は、実施形態で示したようなコンテンツによって参照されているＨＴＴＰサーバを順次アクセスするようなコンテンツサーバシステムに有効である。
また、検索サーバなどでは、検索結果のコンテンツ（ＨＴＭＬ）に、複数のドメインへの参照情報が含まれるような場合に特に有効となる。
【０１５１】
また、本実施形態において、コンテンツサーバの名前解決を事前に実施するプリフェッチアクセスや、プリフェッチアクセスによって取得したコンテンツを保持しておくキャッシュサーバを利用した方法を用いていないが、本実施形態のコンテンツサーバシステムにおいて、プリフェッチアクセスや、キャッシュサーバを用いることによって、利用者に対するコンテンツの提示をさらに早くすることができる。
【０１５２】
また、本実施形態における名前情報とコンテンツとの関連付けは、コンテンツ内に、名前情報ファイルが存在することを示すリンク情報、または名前情報ファイルと同様な記述を追記する例を示したが、コンテンツ内に情報を埋め込んで提示する以外に、コンテンツの提示と同時に関連ファイルとして名前情報ファイルを提示する方法でもよい。
【０１５３】
以上、本発明の実施形態について、図面を参照して説明してきたが、具体的な構成はこの実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲においての種々の変更も含まれる。
【図面の簡単な説明】
【０１５４】
【図１】本発明の実施形態によるコンテンツサーバシステムの全体の構成例を示したブロック図である。
【図２】本発明の第１の実施形態におけるコンテンツサーバシステムの構成を示したブロック図である。
【図３】本発明の第１の実施形態のコンテンツサーバにおいて名前情報を解析する処理手順を示したフローチャートである。
【図４】本発明の第１の実施形態のコンテンツサーバに登録されたコンテンツ管理テーブルの一例を示した図である。
【図５】本発明の第１の実施形態のコンテンツに含まれる他のコンテンツを参照する表現を表したＨＴＭＬファイルの一例を示した図である。
【図６】本発明の第１の実施形態のコンテンツサーバに登録された名前情報テーブルの一例を示した図である。
【図７】本発明の第１の実施形態のコンテンツサーバにおいて名前情報が解析された名前情報テーブルの一例を示した図である。
【図８】本発明の第１の実施形態のコンテンツサーバにおいて名前解決、および別のコンテンツへの関連づけを行う処理手順を示したフローチャートである。
【図９】本発明の第１の実施形態のコンテンツサーバにおいて名前情報が解析された名前情報テーブルの一例を示した図である。
【図１０】本発明の第１の実施形態のコンテンツサーバにおいて名前解決された名前情報テーブルの一例を示した図である。
【図１１】本発明の第１の実施形態のコンテンツサーバにおいて作成された名前情報ファイルの一例を示した図である。
【図１２】本発明の第１の実施形態のコンテンツサーバにおいて作成された名前情報ファイルの一例を示した図である。
【図１３】本発明の第１の実施形態のコンテンツに含まれる他のコンテンツを参照する表現を表したＨＴＭＬファイルの一例を示した図である。
【図１４】本発明の第１の実施形態のコンテンツサーバにおいて名前解決されたコンテンツ管理テーブルの一例を示した図である。
【図１５】本発明の第１の実施形態のクライアントマシンにおいてコンテンツの取得、および名前解決を行う処理手順を示したフローチャートである。
【図１６】本発明の第１の実施形態におけるコンテンツサーバシステムにおけるコンテンツの通信手順を示した図である。
【図１７】本発明の第２の実施形態のコンテンツサーバにおいて名前解決、および別のコンテンツへの関連づけを行う処理手順を示したフローチャートである。
【図１８】本発明の第２の実施形態のコンテンツに含まれる他のコンテンツの名前情報を記述したＨＴＭＬファイルの一例を示した図である。
【図１９】本発明の第２の実施形態のコンテンツサーバにおいて名前解決されたコンテンツ管理テーブルの一例を示した図である。
【図２０】本発明の第２の実施形態のクライアントマシンにおいてコンテンツの取得、および名前解決を行う処理手順を示したフローチャートである。
【図２１】本発明の第２の実施形態におけるコンテンツサーバシステムにおけるコンテンツの通信手順を示した図である。
【図２２】従来のＤＮＳサーバを用いたコンテンツの通信手順を示した図である。
【図２３】従来のＤＮＳサーバを用いたプリフェッチによるコンテンツの通信手順を示した図である。
【図２４】従来のＤＮＳサーバを用いたキャッシュサーバによるコンテンツの通信手順を示した図である。
【符号の説明】
【０１５５】
１，１００  コンテンツサーバシステム  １０−１，１０−２，１０−３  コンテンツサーバ  ２０，２０−１，２０−２  ＤＮＳサーバ  ３０，３０−１，３０−２，３０−３  クライアントマシン  ４０  ネットワーク  １０  ＨＴＴＰサーバ  １１０，１１０−１，１１０−２，１１０−３  コンテンツ  １２０  コンテンツ解析部（コンテンツ解析手段）  １３０  名前情報データベース（名前情報記憶手段）  １３１  コンテンツ管理テーブル  １３２  名前情報テーブル  １３３，１３３−１，１３３−２，１３３−３  名前情報ファイル  １４０  名前解決部（名前解決手段）  １５０  コンテンツ通信部  ２１  名前応答部  ３１０  名前解決部  ３２０  名前情報キャッシュ（名前情報キャッシュ手段）  ３３０  クライアント通信部
【図１】
2010103844.tif 000003
【図２】
2010103844.tif 000004
【図３】
2010103844.tif 000005
【図４】
2010103844.tif 000006
【図５】
2010103844.tif 000007
【図６】
2010103844.tif 000008
【図７】
2010103844.tif 000009
【図８】
2010103844.tif 000010
【図９】
2010103844.tif 000011
【図１０】
2010103844.tif 000012
【図１１】
2010103844.tif 000013
【図１２】
2010103844.tif 000014
【図１３】
2010103844.tif 000015
【図１４】
2010103844.tif 000016
【図１５】
2010103844.tif 000017
【図１６】
2010103844.tif 000018
【図１７】
2010103844.tif 000019
【図１８】
2010103844.tif 000020
【図１９】
2010103844.tif 000021
【図２０】
2010103844.tif 000022
【図２１】
2010103844.tif 000023
【図２２】
2010103844.tif 000024
【図２３】
2010103844.tif 000025
【図２４】
2010103844.tif 000026