(57)【特許請求の範囲】
【請求項１】
クライアント端末から、該クライアント端末の種別を示すクライアント情報と、送信を要求するコンテンツを示すコンテンツ情報とを含むコンテンツ送信要求を受信し、
所定のクライアント種別が利用可能な形式に所定のコンテンツを変換し、変換済コンテンツをキャッシュする変換サーバを示すサーバ情報、クライアント情報、および、コンテンツ情報を対応付けて記憶した記憶部を参照し、受信した前記コンテンツ送信要求に対応するサーバ情報を取得し、
取得した前記サーバ情報が示す変換サーバに対して、前記クライアント情報と前記コンテンツ情報とを通知する
処理をコンピュータに実行させることを特徴とするコンテンツ変換プログラム。 
【請求項２】
前記通知する処理は、前記クライアント端末との間に確立されたコネクションを示すコネクション情報を更に通知することを特徴とする請求項１に記載のコンテンツ変換プログラム。 
【請求項３】
他のコンピュータから、クライアント端末の種別を示すクライアント情報とコンテンツを示すコンテンツ情報とを通知された場合には、当該通知されたコンテンツ情報が示すコンテンツの形式を当該通知されたクライアント情報が示す種別のクライアント端末が利用可能な形式に変換して自装置のキャッシュに変換済みコンテンツとして記憶しているか否かを判定し、
前記変換済みコンテンツが自装置のキャッシュに記憶されていると判定された場合には、当該自装置のキャッシュに記憶されている変換済みコンテンツを前記クライアント端末へ送信し、
前記変換済みコンテンツが自装置のキャッシュに記憶されていないと判定された場合には、コンテンツサーバとの間にコネクションを確立し、該確立したコネクションを示すコネクション情報を他の変換サーバに通知する
処理をコンピュータに実行させ、
前記他の変換サーバとして動作するコンピュータに、
前記通知したコネクション情報を用いて、前記コンテンツ情報が示すコンテンツを前記コンテンツサーバに対して要求した場合には、当該他の変換サーバが要求したコンテンツを前記コンテンツサーバとの間に確立したコネクションを用いて取得させる処理を実行させる
処理を実行させることを特徴とするコンテンツ変換プログラム。
【請求項４】
前記他の変換サーバとして動作するコンピュータに、
前記変換済みコンテンツが自装置のキャッシュに記憶されていないと判定された場合には、前記他の変換サーバから通知されたコンテンツ情報が示すコンテンツを記憶するコンテンツサーバから当該コンテンツ情報が示すコンテンツを取得し、
取得された前記コンテンツを前記他の変換サーバから通知されたクライアント情報が示す種別のクライアント端末が利用可能な形式に変換し、
当該形式を変換された変換済みコンテンツを前記クライアント端末へ送信する処理とともに、当該変換済みコンテンツを自装置のキャッシュに記憶する、
処理をさらに実行させることを特徴とする請求項３に記載のコンテンツ変換プログラム。
【請求項５】
他のコンピュータから、クライアント端末の種別を示すクライアント情報とコンテンツを示すコンテンツ情報とを通知された場合には、当該通知されたコンテンツ情報が示すコンテンツの形式を当該通知されたクライアント情報が示す種別のクライアント端末が利用可能な形式に変換して自装置のキャッシュに変換済みコンテンツとして記憶しているか否かを判定する判定部と、
前記変換済みコンテンツが自装置のキャッシュに記憶されていると判定された場合には、当該自装置のキャッシュに記憶されている変換済みコンテンツを前記クライアント端末へ送信する送信部と、
前記変換済みコンテンツが自装置のキャッシュに記憶されていないと判定された場合には、前記コンテンツサーバとの間にコネクションを確立し、該確立したコネクションを示すコネクション情報を第二の変換サーバに通知する通知部と
を有する第一の変換サーバと、
前記通知されたコネクション情報を用いて、前記コンテンツ情報が示すコンテンツを前記コンテンツサーバに対して要求した場合には、当該他の変換サーバが要求したコンテンツを前記コンテンツサーバとの間に確立したコネクションを用いて取得する取得部
を有する前記第二の変換サーバと、
を有することを特徴とするコンテンツ変換システム。
【請求項６】
クライアント端末の種別を示すクライアント情報と、送信を要求するコンテンツを示すコンテンツ情報と、所定のクライアント種別が利用可能な形式に所定のコンテンツを変換し、変換済みコンテンツをキャッシュする変換サーバを示すサーバ情報とを対応付けて記憶する記憶部と、
クライアント端末から、該クライアント端末の種別を示すクライアント情報と、送信を要求するコンテンツを示すコンテンツ情報とを含むコンテンツ送信要求を受信した場合は、前記記憶部を参照し、受信したコンテンツ送信要求に対応するサーバ情報を取得する取得部と、
前記取得部によって取得された前記サーバ情報が示す変換サーバに対して、前記クライアント情報と前記コンテンツ情報とを通知する通知部と、
を有することを特徴とするコンテンツ変換サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツ変換プログラム、コンテンツ変換システム及びコンテンツ変換サーバに関する。
【背景技術】
【０００２】
近年、多様な種別の端末が利用されており、端末の種別は増える傾向にある。また、このような端末が利用可能なデータの形式は、端末の種別ごとに異なる。このため、端末からデータ（例えば、コンテンツ）の配信を要求された場合には、コンテンツの配信を要求した端末の種別に応じて、コンテンツの形式を変換するコンテンツ変換システムが知られている。
【０００３】
このようなコンテンツ変換システムは、コンテンツの形式をクライアントの端末が利用可能な形式に変換する変換サーバを有する。このような変換サーバは、例えば、コンテンツサーバに記憶されたＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式のコンテンツを、携帯端末が利用可能なｃＨＴＭＬ（Ｃｏｍｐａｃｔ  ＨＴＭＬ）形式のコンテンツに変換する。
【０００４】
また、変換サーバは、処理を効率的に実行するため、コンテンツの形式を変換した場合には、変換後のコンテンツをキャッシュメモリ（以下、キャッシュと言う）に記憶する。そして、変換サーバは、同一種別の端末から同一コンテンツの要求を受信した場合には、キャッシュに記憶された変換後のコンテンツをクライアントの端末に送信することで、効率的な処理を実行する。
【０００５】
ここで、図３６を用いて、変換サーバが実行する処理の具体例を説明する。例えば、変換サーバは、端末種別が「ＣＬ＿Ａ」であるクライアントの端末からコンテンツ「Ｃ＃２」の要求を受信する（図３６中（１）参照）。そして、変換サーバは、コンテンツ「Ｃ＃２」の形式を端末種別が「ＣＬ＿Ａ」である端末が利用可能な形式に変換した変換後のコンテンツが自装置のキャッシュに記憶されているか否かを判別する。
【０００６】
この結果、変換サーバは、変換後のコンテンツが自装置のキャッシュに記憶されていないと判別した場合には、コンテンツサーバ＃２に対して、コンテンツ「Ｃ＃２」のリクエストを送信する（図３６中（２）参照）。また、変換サーバは、コンテンツサーバ＃２から送信されたコンテンツ「Ｃ＃２」を取得する（図３６中（３）参照）。そして、変換サーバは、取得されたコンテンツ「Ｃ＃２」の形式を端末種別が「ＣＬ＿Ａ」である端末が利用可能な形式に変換し、変換後のコンテンツをクライアントの端末へ送信する（図３６中（４）参照）。
【０００７】
また、変換サーバは、変換後のコンテンツをキャッシュに記憶し、端末種別が「ＣＬ＿Ａ」であるクライアントの端末からコンテンツ「Ｃ＃２」の要求を再度受信した場合には、キャッシュに記憶された変換後のコンテンツをクライアントへ送信する。つまり、変換サーバは、コンテンツ「Ｃ＃２」の変換処理を行わずに変換後のコンテンツをクライアントへ送信する。
【０００８】
このような変換サーバを有するコンテンツ変換システムにおいて、コンテンツ変換システム全体の処理能力を増加させるため、クライアントからの送信要求を複数の変換サーバに振り分けるスケールアウト構成を採用したコンテンツ変換システムが知られている。
【０００９】
例えば、図３７に示す例では、コンテンツ変換システムは、レイヤ４スイッチ、複数の変換サーバ＃１〜＃３、複数のコンテンツサーバ＃１〜＃３を有する。そして、コンテンツ変換システムでは、レイヤ４スイッチが各クライアントからの要求を各変換サーバ＃１〜＃３に振り分け、各変換サーバ＃１〜＃３に処理を実行させることで、システム全体の処理能力を増加させる。
【００１０】
例えば、図３７に示す例では、レイヤ４スイッチは、端末種別が「ＣＬ＿Ａ」であるクライアントの端末からコンテンツ「Ｃ＃２」の要求を受信した場合には、変換サーバ＃１〜＃３の中から要求を振り分ける変換サーバをランダムに選択する。そして、レイヤ４スイッチは、ランダムに選択された変換サーバ＃１に対して、端末種別が「ＣＬ＿Ａ」であるクライアントの端末から受信された要求を振り分ける。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００３−２８９３５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、上述したスケールアウト構成のコンテンツ変換システムでは、各変換サーバに対して各クライアントからの要求をランダムに振り分けるので、各変換サーバに記憶されたキャッシュを適切に利用することができないという問題があった。
【００１３】
例えば、コンテンツ変換システムは、クライアントの端末から要求を受信した際に、変換結果となるキャッシュが変換サーバ＃２に記憶されている場合にも、クライアントの端末からの要求を変換サーバ＃１へ振り分ける場合がある。このような場合には、コンテンツ変換システムは、変換サーバ＃２に記憶されたキャッシュを利用できないため、キャッシュヒット率を低下させ、キャッシュを適切に利用することができない。
【００１４】
また、コンテンツ変換システムが有する各変換サーバのキャッシュを同期させ、キャッシュヒット率を改善することも考えられるが、変換サーバ数が多くなるにつれて、キャッシュを同期させるための処理負荷が増大するという問題がある。例えば、図３８に示す例では、変換サーバ＃１は、キャッシュを同期させるため、コンテンツの形式を変換するたびに、変換済みのコンテンツを他の変換サーバ＃２及び＃３へ送信し、他の変換サーバ＃２及び＃３に変換済みのコンテンツを記憶させる。このため、コンテンツ変換システムは、変換サーバの数が増えるにつれて、変換済みのコンテンツを送信する処理の負荷が増大する。
【００１５】
本願に開示のコンテンツ変換プログラムは、上述した問題に鑑みてなされたものであって、各変換サーバに記憶されたキャッシュを適切に利用することができる効果を奏する。
【課題を解決するための手段】
【００１６】
本願に開示の技術は、クライアント端末から、該クライアント端末の種別を示すクライアント情報と、送信を要求するコンテンツを示すコンテンツ情報とを含むコンテンツ送信要求を受信し、所定のクライアント種別が利用可能な形式に所定のコンテンツを変換し、変換済コンテンツをキャッシュする変換サーバを示すサーバ情報、クライアント情報、および、コンテンツ情報を対応付けて記憶した記憶部を参照し、受信した前記コンテンツ送信要求に対応するサーバ情報を取得し、取得した前記サーバ情報が示す変換サーバに対して、前記クライアント情報と前記コンテンツ情報とを通知する処理をコンピュータに実行させることを特徴とするコンテンツ変換プログラム。
【発明の効果】
【００１７】
本願に開示のコンテンツ変換プログラムは、各変換サーバに記憶されたキャッシュを適切に利用することができるという効果を奏する。
【図面の簡単な説明】
【００１８】
【図１】図１は、実施例１に係る変換サーバを説明するための図である。
【図２】図２は、実施例２に係るコンテンツ変換システムを説明するための図である。
【図３】図３は、レイヤ４スイッチを説明するための図である。
【図４】図４は、実施例２に係るレイヤ４スイッチを説明するための図である。
【図５】図５は、アドレス変換テーブルの一例を説明するための図である。
【図６】図６は、振分先サーバ情報の一例を説明するための図である。
【図７】図７は、レイヤ４スイッチが受信するコネクション制御メッセージの一例を説明するための図である。
【図８】図８は、レイヤ４スイッチが受信するパケットの一例を説明するための図である。
【図９】図９は、実施例２に係る変換サーバを説明するための図である。
【図１０】図１０は、宛先決定テーブル部に記憶された情報の一例を説明するための図である。
【図１１】図１１は、担当サーバ管理テーブルの一例を説明するための図である。
【図１２】図１２は、レイヤ４スイッチ制御用アドレス情報の一例を説明するための図である。
【図１３】図１３は、キャッシュ管理テーブルの一例を説明するための図である。
【図１４】図１４は、コンテンツ変換テーブルの一例を説明するための図である。
【図１５】図１５は、リクエストメッセージの一例を説明するための図である。
【図１６】図１６は、委任要求メッセージの一例を説明するための図である。
【図１７】図１７は、委任応答メッセージの一例を説明するための図である。
【図１８】図１８は、委任先変換サーバから委任元変換サーバへ送信されるＡｃｋの一例を説明するための図である。
【図１９】図１９は、レスポンスメッセージの一例を説明するための図である。
【図２０】図２０は、コンテンツ変換システムの処理の流れを説明するための図である。
【図２１】図２１は、データの流れを説明するための図である。
【図２２】図２２は、レイヤ４スイッチの処理の流れを説明するためのフローチャートである。
【図２３】図２３は、制御メッセージを受信したレイヤ４スイッチの処理の流れを説明するためのフローチャートである。
【図２４】図２４は、リクエストメッセージを受信した変換サーバの処理の流れを説明するためのフローチャートである。
【図２５】図２５は、委任要求メッセージを受信した変換サーバの処理を説明するためのフローチャートである。
【図２６】図２６は、各装置の処理の流れを説明するためのシーケンス図（１）である。
【図２７】図２７は、各装置の処理の流れを説明するためのシーケンス図（２）である。
【図２８】図２８は、従来の処理の流れを説明するためのシーケンス図である。
【図２９】図２９は、実施例３に係る変換サーバを説明するための図である。
【図３０】図３０は、キャッシュがある場合の委任応答メッセージの一例を説明するための図である。
【図３１】図３１は、キャッシュが存在しない場合の委任応答メッセージの一例を説明するための図である。
【図３２】図３２は、リクエストメッセージを受信した変換サーバが実行する処理の流れを説明するためのフローチャートである。
【図３３】図３３は、委任要求メッセージを受信した変換サーバの処理を説明するためのフローチャートである。
【図３４】図３４は、実施例３に係るコンテンツ変換システムが実行する処理の一例を説明するための図である。
【図３５】図３５は、変換プログラムを実行するコンピュータの一例を説明するための図である。
【図３６】図３６は、従来のコンテンツ変換システムを説明するための図である。
【図３７】図３７は、従来のスケールアウトを説明するための図である。
【図３８】図３８は、従来のデータの流れを説明するための図である。
【発明を実施するための形態】
【００１９】
以下に添付図面を参照して本願に係るコンテンツ変換プログラム、コンテンツ変換システム及びコンテンツ変換サーバとについて説明する。
【実施例１】
【００２０】
以下の実施例１では、図１を用いて、変換サーバの一例を説明する。図１は、実施例１に係る変換サーバを説明するための図である。
【００２１】
図１に示すように、変換サーバ１は、サーバ情報記憶部２、取得部３、検索部４、通知部５、判定部６、送信部７およびキャッシュ８を有する。また、変換サーバ１２、１３は、変換サーバ１と同様の構成を有する変換サーバである。
【００２２】
サーバ情報記憶部２は、クライアント端末の種別を示すクライアント情報とコンテンツを示すコンテンツ情報との組と、変換サーバを一意に示すサーバ情報とを対応付けて記憶する。キャッシュ８は、クライアント端末が利用可能な形式に変換されたコンテンツを記憶するキャッシュメモリである。
【００２３】
判別部３は、クライアント端末１０からコンテンツの送信要求を受信した場合には、受信された送信要求を解析し、送信要求を送信したクライアント端末１０の種別を示すクライアント情報と送信を要求されたコンテンツを示すコンテンツ情報とを判別する。
【００２４】
取得部４は、判別部３によって判別されたクライアント情報とコンテンツ情報との組に対応するサーバ情報をサーバ情報記憶部２から取得する。通知部５は、取得部４によって取得されたサーバ情報が示す変換サーバ１２に対して、取得部４によって取得されたクライアント情報およびコンテンツ情報を通知する。
【００２５】
判定部６は、他の変換サーバ１３から通知されたコンテンツ情報が示すコンテンツの形式を当該通知されたクライアント情報が示す種別のクライアント端末が利用可能な形式に変換された変換済みコンテンツが自装置のキャッシュ８に記憶されているか否かを判定する。
【００２６】
送信部７は、判別部６によって変換済みコンテンツが自装置のキャッシュ８に記憶されていると判別された場合には、自装置のキャッシュ８に記憶されている変換済みコンテンツをクライアント端末１１へ送信する。
【００２７】
例えば、図１の例では、端末種別「ＣＬ＿Ａ」とコンテンツ「Ｃ＃２」との組に変換サーバ１２を示すサーバ情報があらかじめ対応付けられて記憶されている。そして、変換サーバ１は、端末種別が「ＣＬ＿Ａ」であるクライアント端末１０からコンテンツ「Ｃ＃２」の送信要求を受信した場合には、コンテンツ「Ｃ＃２」の形式を端末種別「ＣＬ＿Ａ」のクライアント端末が利用可能な形式に変換することを担当する変換サーバ１２を識別する。そして、変換サーバ１は、変換サーバ１２に端末種別「ＣＬ＿Ａ」とコンテンツ「Ｃ＃２」とを送信して変換処理を委任する。
【００２８】
そして、変換サーバ１２は、コンテンツ「Ｃ＃２」の形式を端末種別「ＣＬ＿Ａ」のクライアント端末が利用可能な形式に変換した変換済みコンテンツがキャッシュ８に記憶されているか否かを判別する。そして、変換サーバ１２は、変換済みコンテンツがキャッシュ８に記憶されている場合には、クライアント端末１０に対して、キャッシュ８に記憶されていた変換済みコンテンツを送信する。
【００２９】
つまり、コンテンツ「Ｃ＃２」と端末種別「ＣＬ＿Ａ」との組と、変換サーバ１２を示すサーバ情報とがあらかじめ対応付けて記憶されている。そして、変換サーバ１は、端末種別が「ＣＬ＿Ａ」であるクライアント端末１０からコンテンツ「Ｃ＃２」の送信要求を受信した場合には、処理を変換サーバ１２に対して常に委任する。このように、コンテンツとクライアント端末の種別との組み合わせに対して担当する変換サーバを固定化しているので、システム内にキャッシュが存在する場合は必ずキャッシュにヒットする。この結果、各変換サーバ１、１２、１３は、各変換サーバのキャッシュを同期させることなく、キャッシュヒットを保証するとともに、変換サーバの数に応じた処理能力を発揮する。
【００３０】
このように、各変換サーバ１、１２、１３は、形式を変換するコンテンツとクライアント端末の種別との組とサーバ情報とをあらかじめ対応付けて記憶する。そして、変換サーバ１は、送信要求を受信した場合には、受信された送信要求の送信元であるクライアント端末の種別と送信を要求されたコンテンツとの組に対応付けられた変換サーバに処理を委任する。このため、変換サーバ１は、受信された送信要求にかかわるキャッシュ８が他の変換サーバ１２，１３に記憶されている場合には、キャッシュを有する変換サーバに処理を委任することができる。結果として、各変換サーバ１、１２、１３は、処理負荷を増大させることなく各変換サーバに記憶されたキャッシュを適切に利用することができる。
【実施例２】
【００３１】
以下の実施例２では、クライアントの要求に応じてコンテンツを配信する変換サーバを複数有するコンテンツ変換システムを説明する。
【００３２】
［コンテンツ変換システム］
まず、図２を用いて、コンテンツ変換システムの構成について説明する。図２は、実施例２に係るコンテンツ変換システムを説明するための図である。図２に示す例では、コンテンツ変換システムは、レイヤ４スイッチ２１、複数の変換サーバ２２〜２４、複数のコンテンツサーバ２５〜２７を有する。
【００３３】
クライアント１５〜１７は、レイヤ４スイッチ２１および変換サーバを介して、各コンテンツサーバ２５〜２７に記憶されたコンテンツを要求する端末である。例えば、図２に示す例では、クライアント１５は、端末種別が「ＣＬ＿Ａ」の端末であり、クライアント１６は、端末種別が「ＣＬ＿Ｂ」の端末であり、クライアント１７は、端末種別が「ＣＬ＿Ｃ」の端末である。また、クライアント１５〜１７は、コンテンツサーバ２５〜２７に記憶されたコンテンツの送信要求であるリクエストメッセージを、レイヤ４スイッチ２１へ送信する。
【００３４】
コンテンツサーバ２５〜２７は、コンテンツを記憶するサーバである。例えば、図２に示す例では、コンテンツサーバ２５は、コンテンツ「Ａ１」を記憶し、コンテンツサーバ２６は、コンテンツ「Ｂ１」を記憶し、コンテンツサーバ２７は、コンテンツ「Ｃ１」を記憶する。
【００３５】
レイヤ４スイッチ２１は、クライアント１５〜１７から送信されたリクエストメッセージを変換サーバ２２〜２４のいずれかに振り分けるスイッチである。具体的には、レイヤ４スイッチ２１は、クライアント１５〜１７から送信されたリクエストメッセージを受信した場合には、リクエストメッセージの振分先となる変換サーバをランダムに選択する。そして、レイヤ４スイッチ２１は、クライアントから受信されたリクエストメッセージを選択された変換サーバへ送信する。
【００３６】
変換サーバ２２は、コンテンツの形式をクライアントが利用可能な形式に変換する変換サーバである。具体的には、変換サーバ２２は、あらかじめ、コンテンツを示す情報と端末種別を示す情報との組に変換サーバを示す情報とを対応付けて記憶する。例えば、変換サーバ２２は、コンテンツ「Ｂ１」とクライアント１５の端末種別「ＣＬ＿Ａ」との組に自装置のＩＰアドレスを対応付けて記憶する。また、変換サーバ２２は、を端末種別が「ＣＬ＿Ａ」である端末１５が利用可能な形式にコンテンツ「Ｂ１」の形式を変更する。
【００３７】
次に、変換サーバが実行する処理の流れについて説明する。例えば、図２に示す例では、変換サーバ２３は、クライアント１５からコンテンツ「Ｂ１」の送信を要求するリクエストメッセージを受信した場合には、リクエストメッセージを解析する。そして、変換サーバ２３は、クライアント１５の端末種別を示すクライアント情報「ＣＬ＿Ａ」と送信を要求されたコンテンツを示すコンテンツ情報「Ｂ１」とを判別する。また、変換サーバ２３は、クライアント情報「ＣＬ＿Ａ」とコンテンツ情報「Ｂ１」とに対応付けられた変換サーバ２２を特定する。そして、変換サーバ２３は、コンテンツ情報「Ｂ１」が示すコンテンツをクライアント１５が利用可能な形式に変換する処理とクライアント１５へ変換済みのコンテンツを送信する処理とを特定された変換サーバ２２に委任する。
【００３８】
また、変換サーバ２２は、変換サーバ２３から各処理を委任された場合には、変換済みのコンテンツがキャッシュに記憶されているか否かを判定する。そして、変換サーバ２２は、変換済みのコンテンツがキャッシュに記憶されていると判定した場合には、キャッシュに記憶された変換済みのコンテンツをクライアント１５へ送信する。
【００３９】
また、変換サーバ２２は、変換済みのコンテンツがキャッシュに記憶されていないと判別した場合には、コンテンツ「Ｂ１」をコンテンツサーバ２６から取得する。そして、変換サーバ２２は、取得されたコンテンツ「Ｂ１」を端末種別「ＣＬ＿Ａ」のクライアント１５が利用可能な形式に変換し、変換済みのコンテンツをクライアント１５へ送信する。また、変換サーバ２２は、変換済みのコンテンツをキャッシュに記憶する。
【００４０】
つまり、各変換サーバ２２〜２４は、クライアントからリクエストメッセージを受信した場合には、リクエストメッセージの送信元であるクライアントの種別と送信を要求したコンテンツとの組に対応付けられた変換サーバへ処理を委任する。例えば、変換サーバ２２〜２４は、端末種別が「ＣＬ＿Ａ」であるクライアント１５からコンテンツ「Ｂ１」の送信を要求するリクエストメッセージを受信した場合には、処理を変換サーバ２２のみに委任する。
【００４１】
このため、変換サーバ２２〜２４は、端末種別「ＣＬ＿Ａ」のクライアントからコンテンツ「Ｂ１」の送信を要求する送信要求を再度受信した場合には、変換サーバ２２に記憶された変換済みのコンテンツを利用することができる。つまり、変換サーバ２２〜２４は、変換サーバ２２〜２４のいずれかにキャッシュが存在する場合には、キャッシュヒットを保証することができる。
【００４２】
このように、変換サーバ２２〜２４は、クライアントの種別と送信を要求したコンテンツとの組に対応付けられた変換サーバへ処理を委任するので、各変換サーバのキャッシュの同期を行わずとも、キャッシュヒットを保証する。結果として、変換サーバ２２〜２４は、キャッシュヒットを保証しつつ、各変換サーバのキャッシュの同期を不用とし、変換サーバの数に応じた処理能力を発揮することができる。
【００４３】
次に、図面を用いて、コンテンツ変換システムが有する各部について説明する。以下の説明では、まず、レイヤ４スイッチ２１の処理、続いてレイヤ４スイッチ２１が有する各部について説明する。その後、各変換サーバ２２〜２４が有する各部について具体的に説明し、変換サーバが有する各部の処理例を説明する。
【００４４】
まず、図３を用いて、レイヤ４スイッチ２１の処理について説明する。図３は、レイヤ４スイッチを説明するための図である。図３に示す例では、レイヤ４スイッチ２１は、ＮＡＰＴ（Network Address Port Translation）を用いて、クライアント１５と変換サーバ２３とを接続する。
【００４５】
例えば、レイヤ４スイッチ２１は、クライアント１５からレイヤ４スイッチ２１に対する３  Ｗａｙ  ＨａｎｄｓｈａｋｅのＳＹＮパケットを受信した場合には、振分け先の変換サーバとして変換サーバ２３を選択する。そして、レイヤ４スイッチ２１は、ＳＹＮパケットに宛先として格納されたレイヤ４スイッチ２１のＩＰアドレスを選択された変換サーバ２３のＩＰアドレスに変換する。その後、レイヤ４スイッチ２１は、ＳＹＮパケットを変換サーバ２３へ送信する。
【００４６】
また、レイヤ４スイッチ２１は、ＳＹＮパケットを送信した変換サーバ２３からＡＣＫパケットを受信した場合には、受信されたＡＣＫパケットの送信元をレイヤ４スイッチ２１のＩＰアドレスに変換し、ＡＣＫパケットをクライアント１５へ送信する。そして、レイヤ４スイッチ２１は、クライアント１５から送信されたＡＣＫパケットの宛先を変換サーバ２３のＩＰアドレスに変換し、ＡＣＫパケットを変換サーバ２３へ送信する。
【００４７】
その後、レイヤ４スイッチ２１は、クライアント１５から送信されたリクエストの宛先を変換サーバ２３のＩＰアドレスに変換し、リクエストを変換サーバ２３へ送信する。つまり、レイヤ４スイッチ２１は、クライアント１５と選択された変換サーバ２３との間のコネクションを論理的に一つに保ちつつ、アドレスの変換を実行する。
【００４８】
次に、図４を用いて、レイヤ４スイッチ２１が有する各部について説明する。図４は、実施例２に係るレイヤ４スイッチを説明するための図である。図４に示す例では、レイヤ４スイッチ２１は、変換テーブル管理部３０、アドレス変換テーブル記憶部３１、変換処理部３２、振分先サーバ情報記憶部３３を有する。
【００４９】
なお、以下の説明では、レイヤ４スイッチ２１は、クライアント１５と変換サーバ２２とを論理的に一つのコネクションで接続するものとする。また、クライアント１５は、コンテンツサーバ２６に記憶されたコンテンツのリクエストを送信するものとする。
【００５０】
アドレス変換テーブル記憶部３１は、アドレス変換テーブルを記憶する。ここで、アドレス変換テーブルとは、クライアント側のＩＰアドレス、クライアント側のポート番号、サーバ側の変換元ＩＰアドレス、サーバ側の変換元ポート番号、サーバ側の変換後ＩＰアドレス、サーバ側の変換後ポート番号を対応付けて格納するテーブルである。
【００５１】
例えば、図５に示す例では、アドレス変換テーブルには、クライアント側のＩＰアドレス「１９２．０．２．２５４」、クライアント側のポート番号「１００００」、サーバ側の変換前ＩＰアドレス「１９２．０．２．１」が対応付けて格納される。また、アドレス変換テーブルには、サーバ側の変換前ポート番号「８０」、サーバ側の変換後ＩＰアドレス「１０．１０．１０．２２」、サーバ側の変換後ポート番号「８０」が対応付けて格納される。図５は、アドレス変換テーブルの一例を説明するための図である。
【００５２】
図４に戻って、振分先サーバ情報記憶部３３は、振分先サーバとなる変換サーバの情報を記憶する。具体的には、振分先サーバ情報記憶部３３は、振分先サーバを示す符号と各サーバのＩＰアドレスとポート番号とを対応付けて記憶する。例えば、図６に示す例では、振分先サーバ情報記憶部３３は、振分先サーバを示す符号「＃１」とＩＰアドレス「１０．１０．１０．２２」とポート番号「８０」とを対応づけて記憶する。図３９は、振分先サーバ情報の一例を説明するための図である。
【００５３】
図４に戻って、変換テーブル管理部３０は、アドレス変換テーブル記憶部３１を管理する。具体的には、変換テーブル管理部３０は、各変換サーバ２２〜２４からコネクション制御メッセージを取得する。また、変換テーブル管理部３０は、各変換サーバ２２〜２４からコネクション制御メッセージを取得した場合には、取得されたコネクション制御メッセージに応じて、アドレス変換テーブル記憶部３１に記憶されたアドレス変換テーブルを変更する。
【００５４】
ここで、コネクション制御メッセージについて説明する。例えば、図７に示す例では、コネクション制御メッセージには、レイヤ４スイッチを示すＩＰヘッダ、レイヤ４スイッチを示すＴＣＰヘッダ、サーバ側変換後ＩＰアドレス（変更前）、クライアント側ＩＰアドレスが格納される。また、コネクション制御メッセージには、サーバ側変換後ポート番号（変更前）、クライアント側ポート番号、サーバ側変換後ＩＰアドレス（変更後）、サーバ側変更後ポート番号（変更後）が格納される。図７は、レイヤ４スイッチが受信するコネクション制御メッセージの一例を説明するための図である。
【００５５】
次に、変換テーブル管理部３０が、コネクション制御メッセージに応じてアドレス変換テーブルを変更する処理について説明する。例えば、変換テーブル管理部３０は、コネクション制御メッセージを受信した場合には、コネクション制御メッセージに格納されたサーバ側変更後ＩＰアドレス（変更前）とクライアント側ＩＰアドレスとが一致するエントリをアドレス変換テーブルから検索する。あわせて、変換テーブル管理部３０は、コネクション制御メッセージに格納されたサーバ側変更後ポート番号（変更前）とクライアント側ポート番号が一致するエントリをアドレス変換テーブルから検索する。
【００５６】
そして、変換テーブル管理部３０は、アドレス変換テーブルのうち、検索されたエントリのサーバ側変換後ＩＰアドレスを受信されたコネクション制御メッセージのサーバ側変更後ＩＰアドレス（変更後）に書き換える。また、変換テーブル管理部３０は、アドレス変換テーブルのうち、検索されたエントリのサーバ側変換後ポート番号を受信されたコネクション制御メッセージのサーバ側変更後ポート番号（変更後）に書き換える。
【００５７】
図４に戻って、変換処理部３２は、クライアント１５〜１７からパケットを受信した場合には、アドレス変換テーブル記憶部３１に記憶されたアドレス変換テーブルに応じて、受信されたパケットに格納されたアドレスを変換する。また、変換処理部３２は、変換サーバ２２〜２４からパケットを受信した場合には、アドレス変換テーブル記憶部３１に記憶されたアドレス変換テーブルに応じて、受信されたパケットに格納されたアドレスを変換する。
【００５８】
例えば、変換処理部３２は、図８に例示するパケットをクライアント１５から受信する。図８に示す例では、変換処理部３２は、ＩＰヘッダとＴＣＰヘッダとデータが格納されたパケットを受信する。また、ＩＰヘッダには、バージョン、ヘッダ長、サービスタイプ、パケットの全長、識別子、フラグ、フラグメントオフセット、生存期間、プロトコル、ヘッダチェックサム、送信元ＩＰアドレス、宛先ＩＰアドレスを示す情報が格納される。また、ＴＣＰヘッダには、送信元ポート番号、宛先ポート番号、シーケンス番号、確認応答番号等が格納される。またデータには、リクエストメッセージが格納される。図８は、レイヤ４スイッチが受信するパケットの一例を説明するための図である。
【００５９】
変換処理部３２は、クライアント１５からパケットを受信した場合には、受信したパケットに格納された送信元ＩＰアドレス、パケットの送信元ポート番号、パケットの宛先ＩＰアドレス、パケットのポート番号を識別する。そして、変換処理部３２は、識別されたＩＰアドレス及びポート番号をキーとして、アドレス変換テーブルのクライアント側ＩＰアドレス及びポート番号とパケットの宛先ＩＰアドレス及びポート番号とを検索する。その後、変換処理部３２は、キーと一致するエントリがヒットした場合には、ヒットしたエントリのサーバ側変換後ＩＰアドレスとサーバ側変換後ポート番号とを取得する。
【００６０】
また、変換処理部３２は、受信されたパケットの宛先ＩＰアドレス及びポート番号を取得されたサーバ側変換後ＩＰアドレスとサーバ側変換後ポート番号に変換する。そして、変換処理部３２は、宛先ＩＰアドレス及びポート番号を変換したパケットを送信する。
【００６１】
一方、変換処理部３２は、各ＩＰアドレス及び各ポート番号が一致するエントリがヒットしなかった場合には、振分先サーバ情報記憶部３３に記憶された振分先サーバ情報を参照する。そして、変換処理部３２は、振分先サーバ情報に記憶された変換サーバの中から、パケットの振分先となる変換サーバをランダムに選択する。なお、この例では、パケットの振分先となる変換サーバをランダムに選択することとしたが、変換サーバの選択の仕方は任意であり、他の方法を用いて変換サーバを選択しても良い。
【００６２】
また、変換処理部３２は、パケットの振分先となる変換サーバを選択した場合には、選択された変換サーバのＩＰアドレス及びポート番号を振分先サーバ情報記憶部３３に記憶された振分先サーバ情報より取得する。そして、変換処理部３２は、受信されたパケットの送信元ＩＰアドレス及びポート番号をクライアント側ＩＰアドレス及びポート番号とするエントリを生成する。
【００６３】
また、変換処理部３２は、受信されたパケットに格納されていた宛先ＩＰアドレスをサーバ側変換前ＩＰアドレスとして、生成されたエントリに格納する。また、変換処理部３２は、受信されたパケットに格納されていた宛先ポート番号をサーバ側変換前ポート番号として、生成されたエントリに格納する。また、変換処理部３２は、振分先サーバとして選択された変換サーバのＩＰアドレスをサーバ側変換後ＩＰアドレスとして、生成されたエントリに格納する。また、変換処理部３２は、受信されたパケットに格納されていた変換サーバのポート番号をサーバ側変換後ポート番号として、生成されたエントリに格納する。その後、変換処理部３２は、生成されたエントリをアドレス変換テーブルに格納する。
【００６４】
一方、変換処理部３２は、変換サーバ２２から送信されたパケットを受信した場合には、受信したパケットの送信元ＩＰアドレス及びポート番号とパケットの宛先ＩＰアドレス及びポート番号を識別する。そして、変換処理部３２は、識別された各ＩＰアドレス及びポート番号をキーとして、アドレス変換テーブルのサーバ側変換後ＩＰアドレス及びポート番号とクライアント側ＩＰアドレス及びポート番号を検索する。
【００６５】
その後、変換処理部３２は、キーと一致するエントリがヒットした場合には、ヒットしたエントリのサーバ側変換前ＩＰアドレスとサーバ側変換前ポート番号とを取得する。また、変換処理部３２は、受信されたパケットの送信元ＩＰアドレス及びポート番号を取得されたサーバ側変換前ＩＰアドレスとサーバ側変換前ポート番号に変換する。そして、変換処理部３２は、変換前ＩＰアドレス及びポート番号を変換したパケットを送信する。
【００６６】
このように、レイヤ４スイッチは、クライアント側から送信されたパケットの宛先ＩＰアドレス及び宛先ポート番号を振分先となる変換サーバのＩＰアドレス及びポート番号に変換する。また、レイヤ４スイッチは、変換前の宛先ＩＰアドレス及び宛先ポート番号を記憶し、変換サーバ側から送信されたパケットの送信元アドレス及び送信元ポート番号を記憶された変換前の宛先ＩＰアドレス及び宛先ポート番号に変換する。
【００６７】
つまり、レイヤ４スイッチは、クライアントと変換サーバとの間のコネクションを論理的に一つに保ったままで、クライアントと変換サーバとの間で送受信されるパケットを中継する。
【００６８】
次に、図９を用いて、実施例２に係る変換サーバを説明する。図９は、実施例２に係る変換サーバを説明するための図である。以下の説明では、変換サーバ２２が有する各部について説明するものとし、変換サーバ２２と同様の各部を有する変換サーバ２３、及び変換サーバ２４については、説明を省略するものとする。
【００６９】
また、以下の説明では、コンテンツサーバ２５に記憶されたコンテンツを要求するリクエストメッセージをクライアント１５が送信したものとする。また、クライアント１５によって送信されたメッセージが変換サーバ２２に振り分けられたものとする。また、コンテンツサーバ２６に記憶されたコンテンツを要求するリクエストメッセージをクライアント１６が送信し、クライアント１６によって送信されたメッセージが変換サーバ２４に振り分けられたものとする。また、変換サーバ２２は、後述する委任要求メッセージを変換サーバ２４から取得し、コンテンツサーバ２６に記憶されたコンテンツを変換するものとする。
【００７０】
図９に示すように、変換サーバ２２は、宛先決定テーブル部３４、担当サーバ管理テーブル部３５、レイヤ４スイッチ制御用アドレス情報記憶部３６、キャッシュ管理テーブル部３７、コンテンツ変換テーブル部３８、キャッシュ記憶部４７を有する。また、変換サーバ２２は、ＴＣＰ管理部３９、宛先決定部４０、担当サーバ管理部４１、委任制御部４２、委任受け付け部４３、キャッシュ管理部４４、コンテンツ変換処理部４５、ＴＣＰ管理部４６を有する。
【００７１】
宛先決定テーブル部３４は、宛先決定テーブルを記憶する記憶部である。例えば、宛先決定テーブル部３４は、図１０に示すように、Ｒｅｑｕｅｓｔ−ＵＲＩ（Uniform Resource Identifier）とコンテンツを記憶するコンテンツサーバのＩＰアドレス及びポート番号とを対応付けた宛先決定テーブルを記憶する。図１０は、宛先決定テーブル部に記憶された情報の一例を説明するための図である。
【００７２】
ここで、Ｒｅｑｕｅｓｔ−ＵＲＩとは、各クライント１５〜１７から送信を要求されるコンテンツを一意に示す情報である。例えば、宛先決定テーブル部３４は、Ｒｅｑｕｅｓｔ−ＵＲＩ「／ｃｏｎｔｅｎｔｓ／Ａ１」とＩＰアドレス「１０．１０．１００．２５」とポート番号「８０」とを対応付けた宛先決定テーブルを記憶する。
【００７３】
図９に戻って、担当サーバ管理テーブル部３５は、クライアントの種別を示す種別情報とコンテンツを示すコンテンツ情報との組を記憶する。また、担当サーバ管理テーブル部３５は、種別情報とコンテンツ情報との組に、種別情報が示す種別のクライアントが利用可能な形式にコンテンツ情報が示すコンテンツの形式を変換する変換サーバを一意に示すサーバ情報を対応付けて記憶する。
【００７４】
具体的には、担当サーバ管理テーブル部３５は、Ｒｅｑｕｅｓｔ−ＵＲＩ、Ｕｓｅｒ−Ａｇｅｎｔ、キャッシュＩＤ、担当サーバＩＰアドレス、担当サーバ受信ポート番号、及び担当サーバ制御用ポート番号を対応付けた担当サーバ管理テーブルを記憶する。
【００７５】
ここで、Ｕｓｅｒ−Ａｇｅｎｔとは、クライアントの種別を示す情報であり、例えば、クライアントが使用するブラウザを示す情報である。キャッシュＩＤとは、クライアントが利用可能な形式に変換したコンテンツのキャッシュを一意に示す番号である。
【００７６】
例えば、図１１に示す例では、担当サーバ管理テーブル部３５は、Ｒｅｑｕｅｓｔ−ＵＲＩ「／ｃｏｎｔｅｎｔｓ／Ａ１」、Ｕｓｅｒ−Ａｇｅｎｔ「ＸＸＸ／１．０／ｘｘｘ」、及びキャッシュＩＤ「１」を対応付けた担当サーバ管理テーブルを記憶する。また、担当サーバ管理テーブル部３５は、キャッシュＩＤ「１」に、担当サーバＩＰアドレス「１０．１０．１０．２３」、担当サーバ受信ポート番号「８０」、及び担当サーバ制御用ポート番号「１１１１」を対応付けた担当サーバ管理テーブルを記憶する。なお、図４０は、担当サーバ管理テーブルの一例を説明するための図である。
【００７７】
ここで、キャッシュＩＤについて詳しく説明する。キャッシュＩＤは、変換済みコンテンツを一意に示す番号であり、Ｒｅｑｕｅｓｔ−ＵＲＩとＵｓｅｒ−Ａｇｅｎｔから一意に決まる番号である。例えば、図１１の例では、ＩＰアドレス「１０．１０．１００．２５」の「／ｃｏｎｔｅｎｔｓ／Ａ１」に格納されたコンテンツを「ＸＸＸ／１．０／ｘｘｘ」が利用できる形式に変換した変換済みコンテンツをキャッシュＩＤ「１」として記憶する。
【００７８】
つまり、変換済みコンテンツは、クライアントの種別と変換元のコンテンツとの組ごとに記憶するキャッシュが異なるので、コンテンツのリクエストを送信したクライアントの種別と変換元のコンテンツとの組ごとにキャッシュＩＤが予め定められる。
【００７９】
図９に戻って、レイヤ４スイッチ制御用アドレス情報記憶部３６は、レイヤ４スイッチのＩＰアドレスとレイヤ４スイッチの制御用ポート番号とを記憶する。例えば、図１２に示す例では、レイヤ４スイッチ制御用アドレス情報記憶部３６は、レイヤ４スイッチのＩＰアドレス「１０．１０．１０．２５４」とレイヤ４スイッチ制御用ポート番号「１１１１」とを対応付けて記憶する。図１２は、レイヤ４スイッチ制御用アドレス情報の一例を説明するための図である。
【００８０】
図９に戻って、キャッシュ管理テーブル部３７は、コンテンツをクライアントの種別に応じて変換したキャッシュを記憶する。例えば、図１３に示す例では、キャッシュ管理テーブル部３７は、キャッシュＩＤ「１」、キャッシュの有無「１」、及びキャッシュの格納領域「／ｃａｃｈｅ／１」を対応付けて記憶する。図４１は、キャッシュ管理テーブルの一例を説明するための図である。
【００８１】
ここで、キャッシュの有無には、変換サーバ２２のキャッシュに変換後のコンテンツが記憶されている場合には、「１」が格納され、変換サーバ２２のキャッシュに変換後のコンテンツが記憶されていない場合には、「０」が格納される。例えば、図１３の例では、キャッシュ管理テーブル部３７は、キャッシュＩＤ「１」で示される変換後のコンテンツが変換サーバ２２が有するキャッシュ記憶部４７の格納領域「／ｃａｃｈｅ／１」に記憶されていることを記憶する。
【００８２】
図９に戻って、コンテンツ変換テーブル部３８は、コンテンツ変換テーブルを記憶する記憶部である。具体的には、コンテンツ変換テーブル部３８は、キャッシュＩＤと変換前のコンテンツの種別と変換後のコンテンツの種別とを対応付けて記憶する。例えば、図１４に示す例では、コンテンツ変換テーブル部３８は、キャッシュＩＤ「１」と変換元コンテンツの種別「ＨＴＭＬ（HyperText Markup Language）」と変換後コンテンツの種別「ＣＨＴＭＬ（Compact HTML）」とを対応付けて記憶する。図４２は、コンテンツ変換テーブルの一例を説明するための図である。
【００８３】
図９に戻って、キャッシュ記憶部４７は、変換後のコンテンツを記憶するキャッシュである。例えば、キャッシュ記憶部４７、クライアント１５が実行可能な形式に変換されたコンテンツを記憶する。
【００８４】
図９に戻ってＴＣＰ管理部３９は、後述する委任制御部４２、及び後述する委任受付部４３、及びキャッシュ管理部４４による制御に従って、ＴＣＰ通信を行う終端装置である。具体的には、ＴＣＰ管理部３９は、レイヤ４スイッチを介して、クライアント１５から送信されたパケットを受信する。そして、ＴＣＰ管理部３９は、受信されたパケットの終端処理を行い、パケットに格納されたデータを宛先決定部４０へ送信する。また、ＴＣＰ管理部３９は、受信されたパケットの送信元であるクライアント１５のＩＰアドレス及びポート番号と受信されたパケットに格納されたシーケンス番号と確認応答番号とを委任制御部４２へ通知する。
【００８５】
また、ＴＣＰ管理部３９は、後述する委任制御部４２、委任受付部４３及びキャッシュ管理部４４からデータを受信する。そして、ＴＣＰ管理部３９は、取得したデータをレイヤ４スイッチ２１を介して、クライアント１５〜１７へ送信する。
【００８６】
例えば、ＴＣＰ管理部３９は、レイヤ４スイッチ２１を介して、図１５に例示するリクエストメッセージをクライアント１５から受信する。図４３は、リクエストメッセージの一例を説明するための図である。ここで、図１５に示す例では、リクエストメッセージには、ＩＰヘッダ、ＴＣＰヘッダ、及びレイヤ７プロトコルヘッダが格納される。ＴＣＰ管理部３９は、ＩＰヘッダとＴＣＰヘッダの終端処理を実行し、レイヤ７プロトコルヘッダを宛先決定部４０へ送信する。
【００８７】
図９に戻って、宛先決定部４０は、クライアント１５からコンテンツの送信を要求するリクエストメッセージを受信した場合には、受信されたリクエストメッセージを解析する。そして、宛先決定部４０は、クライアント１５の種別を示すＵｓｅｒ−Ａｇｅｎｔとクライアント１５が送信を要求したコンテンツを示すＲｅｑｕｅｓｔ−ＵＲＩとを判別する。具体的には、宛先決定部４０は、レイヤ７プロトコルヘッダをＴＣＰ管理部３９から受信する。また、宛先決定部４０は、受信したレイヤ７プロトコルヘッダを解析し、レイヤ７プロトコルヘッダに含まれるＵｓｅｒ−ＡｇｅｎｔとＲｅｑｕｅｓｔ−ＵＲＩとを判別する。
【００８８】
また、宛先決定部４０は、判別されたＲｅｑｕｅｓｔ−ＵＲＩと対応づけて記憶されたコンテンツサーバ２５のＩＰアドレスとポート番号とを宛先決定テーブルから取得する。そして、宛先決定部４０は、判別されたＵｓｅｒ−Ａｇｅｎｔ、Ｒｅｑｕｅｓｔ−ＵＲＩ、及び取得されたコンテンツサーバ２５のＩＰアドレスとポート番号とを担当サーバ管理部４１に送信する。
【００８９】
例えば、宛先決定部４０は、図１５に例示するレイヤ７プロトコルヘッダを受信した場合には、受信したレイヤ７プロトコルヘッダからＵｓｅｒ−Ａｇｅｎｔ「ＸＸＸ／１．０／ｘｘｘ／１２３４５」を判別する。また、宛先決定部４０は、受信したレイヤ７プロトコルヘッダからＲｅｑｕｅｓｔ−ＵＲＩ「／ｃｏｎｔｅｎｔｓ／Ａ１」を判別する。
【００９０】
また、宛先決定部４０は、図１０に例示する宛先決定テーブルから「／ｃｏｎｔｅｎｔｓ／Ａ１」と対応付けられたコンテンツサーバ２５のＩＰアドレス「１０．１０．１００．２５」とポート番号「８０」とを取得する。そして、宛先決定部４０は、Ｕｓｅｒ−Ａｇｅｎｔ「ＸＸＸ／１．０／ｘｘｘ／１２３４５」、Ｒｅｑｕｅｓｔ−ＵＲＩ「／ｃｏｎｔｅｎｔｓ／Ａ１」を担当サーバ管理部４１へ送信する。また、宛先決定部４０は、コンテンツサーバ２５のＩＰアドレス「１０．１０．１００．２５」、ポート番号「８０」を担当サーバ管理部４１へ送信する。
【００９１】
図９に戻って、担当サーバ管理部４１は、宛先決定部４０は、宛先決定部４０によって判別されたＵｓｅｒ−ＡｇｅｎｔとＲｅｑｕｅｓｔ−ＵＲＩとの組に対応付けて記憶された変換サーバのＩＰアドレスを担当サーバ管理テーブルから特定する。具体的には、担当サーバ管理部４１は、宛先決定部４０から、Ｕｓｅｒ−ＡｇｅｎｔとＲｅｑｕｅｓｔ−ＵＲＩと、コンテンツサーバ２５のＩＰアドレス及びポート番号とを受信する。
【００９２】
そして、担当サーバ管理部４１は、受信されたＵｓｅｒ−ＡｇｅｎｔとＲｅｑｕｅｓｔ−ＵＲＩとに対応付けて記憶された変換サーバのＩＰアドレスと受信ポート番号と制御用ポート番号とを担当サーバ管理テーブル部３５から特定する。また、担当サーバ管理部４１は、Ｕｓｅｒ−ＡｇｅｎｔとＲｅｑｕｅｓｔ−ＵＲＩとに対応付けられたキャッシュＩＤを担当サーバ管理テーブル部３５から取得する。
【００９３】
また、担当サーバ管理部４１は、特定された変換サーバのＩＰアドレスが自装置のＩＰアドレスであるか否かを判別する。そして、担当サーバ管理部４１は、特定されたＩＰアドレスが自装置のＩＰアドレスであると判別した場合には、取得されたキャッシュＩＤをキャッシュ管理部４４に送信する。
【００９４】
一方、担当サーバ管理部４１は、特定されたＩＰアドレスが自装置のＩＰアドレスではないと判別した場合には、特定されたＩＰアドレス、受信ポート番号、制御用ポート番号、及び取得されたキャッシュＩＤを委任制御部４２へ通知する。また、担当サーバ管理部４１は、特定されたＩＰアドレスが自装置のＩＰアドレスではないと判別した場合には、コンテンツサーバ２５のＩＰアドレス及びポート番号とを委任制御部４２へ通知する。
【００９５】
以下に、変換サーバ２２が有する担当サーバ管理部４１が実行する処理の具体例を説明する。以下の説明では、変換サーバ２２のＩＰアドレスは、「１０．１０．１０．２２」であり、変換サーバ２３のＩＰアドレスは、「１０．１０．１０．２３」であるものとする。
【００９６】
例えば、担当サーバ管理部４１は、宛先決定部４０からＵｓｅｒ−Ａｇｅｎｔ「ＸＸＸ／１．０／ｘｘｘ／１２３４５」とＲｅｑｕｅｓｔ−ＵＲＩ「／ｃｏｎｔｅｎｔｓ／Ａ１」とを受信する。また、担当サーバ管理部４１は、宛先決定部４０からコンテンツサーバ２５のＩＰアドレス「１０．１０．１００．２５」とポート番号「８０」とを受信する。
【００９７】
そして、担当サーバ管理部４１は、Ｕｓｅｒ−Ａｇｅｎｔ「ＸＸＸ／１．０／ｘｘｘ／１２３４５」とＲｅｑｕｅｓｔ−ＵＲＩ「／ｃｏｎｔｅｎｔｓ／Ａ１」との組に対応付けられた変換サーバのＩＰアドレス、受信ポート番号、制御用ポート番号を特定する。図１１に示す例では、「ＸＸＸ／１．０／ｘｘｘ／１２３４５」と「／ｃｏｎｔｅｎｔｓ／Ａ１」との組が、担当サーバ管理テーブルの初めに格納されている。
【００９８】
この例では、担当サーバ管理部４１は、検索された組と対応付けられた担当サーバである変換サーバ２３のＩＰアドレス「１０．１０．１０．２３」、担当サーバの受信ポート番号「８０」、及び担当サーバの制御用ポート番号「１１１１」を取得する。
【００９９】
また、担当サーバ管理部４１は、取得されたＩＰアドレス「１０．１０．１０．２３」が自装置のＩＰアドレスであるか否かを判別する。ここで、担当サーバ管理部４１は、変換サーバ２２のＩＰアドレスが「１０．１０．１０．２２」であるので、取得された担当サーバのＩＰアドレスが自装置のＩＰアドレスではないと判別する。
【０１００】
このため、担当サーバ管理部４１は、取得されたキャッシュＩＤ「１」、担当サーバのＩＰアドレス「１０．１０．１０．２３」、担当サーバの受信ポート番号「８０」、及び担当サーバの制御用ポート番号「１１１１」を委任制御部４２へ通知する。
【０１０１】
図９に戻って、委任制御部４２は、担当サーバ管理部４１によって特定されたＩＰアドレスが示す変換サーバに対して、担当サーバ管理部４１によって特定されたキャッシュＩＤを通知する。また、委任制御部４２は、担当サーバ管理部４１によって特定されたＩＰアドレスが示す変換サーバに対して、クライアントとの間に確立したコネクションを示すコネクション情報を送信する。
【０１０２】
また、委任制御部４２は、担当サーバ管理部４１によって特定されたＩＰアドレスが示す変換サーバからコネクション情報を受信した場合には、受信された情報を用いて、クライアント１５から受信したリクエストメッセージをコンテンツサーバ２５へ送信する。
【０１０３】
具体的には、委任制御部４２は、変換サーバ２３のＩＰアドレス、受信ポート番号、制御用ポート番号、及び担当サーバ管理部４１によって取得されたキャッシュＩＤを示す通知を担当サーバ管理部４１から取得する。また、委任制御部４２は、コンテンツサーバ２５のＩＰアドレス及びポート番号とを示す通知を担当サーバ管理部４１から取得する。また、委任制御部４２は、リクエストメッセージの送信元であるクライアント１５のＩＰアドレス及びポート番号を示す通知をＴＣＰ管理部３９から取得する。そして、委任制御部４２は、取得した各種情報を格納した委任要求メッセージを生成する。
【０１０４】
ここで、図１６は、委任要求メッセージの一例を説明するための図である。図１６に示す例では、委任制御部４２は、変換サーバ２３のＩＰアドレスを委任要求メッセージのＩＰヘッダに格納し、変換サーバ２３の受信ポート番号を委任要求メッセージのＴＣＰヘッダに格納する。また、委任制御部４２は、コンテンツサーバ２５のＩＰアドレスを委任要求メッセージの宛先コンテンツサーバＩＰアドレスに格納し、コンテンツサーバ２５のポート番号を委任要求メッセージの宛先コンテンツサーバポート番号に格納する。
【０１０５】
また、委任制御部４２は、クライアント１５のＩＰアドレスを委任要求メッセージのクライアント側ＩＰアドレスに格納し、クライアント１５のポート番号を委任要求メッセージのクライアント側ポート番号に格納する。また、委任制御部４２は、シーケンス番号、確認応答番号、キャッシュＩＤおよびリクエストメッセージ長を委任要求メッセージに格納する。
【０１０６】
また、委任制御部４２は、委任要求メッセージを生成した場合には、委任要求メッセージを、担当サーバへ送信する。つまり、委任制御部４２は、クライアント１５の種別とクライアント１５が送信を要求したコンテンツとの組に対応付けられた変換サーバ２３へ委任要求メッセージを送信する。
【０１０７】
また、委任制御部４２は、委任要求メッセージを送信した変換サーバ２３から、委任要求メッセージに対する応答である委任応答メッセージを受信する。そして、委任制御部４２は、委任応答メッセージを受信した場合には、受信された委任応答メッセージからサーバ側コネクション情報を取得する。
【０１０８】
ここで、委任応答メッセージとは、委任要求メッセージに対する応答として、委任要求メッセージを送信した変換サーバ２３から送信されるメッセージである。また、委任応答メッセージは、変換サーバ２３とコンテンツサーバ２５との間に確立されたコネクションの情報であるサーバ側コネクション情報を含む。例えば、図１７に示す例では、委任応答メッセージは、変換サーバ２２のＩＰアドレス及びポート番号が格納されたＩＰヘッダ及びＴＣＰヘッダを含む。また、委任応答メッセージは、サーバ側コネクション情報として、送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号、宛先ポート番号、シーケンス番号、及び確認応答番号を含む。図１７は、委任応答メッセージの一例を説明するための図である。
【０１０９】
ここで、サーバ側コネクション情報のうち、送信元ＩＰアドレス、及び送信元ポート番号とは、委任応答メッセージを送信した変換サーバ２３のＩＰアドレス、及びポート番号である。また、宛先ＩＰアドレス、及びポート番号とは、送信要求の対象であるコンテンツを記憶するコンテンツサーバのアドレス、及びポート番号である。また、シーケンス番号とは、変換サーバ２３とコンテンツサーバ２５との間で確立されたコネクションでのシーケンス番号である。確認応答番号とは、変換サーバ２３とコンテンツサーバ２５との間で確立されたコネクションでの確認応答番号である。
【０１１０】
また、委任制御部４２は、取得されたサーバ側コネクション情報を用いて、コネクション制御メッセージを生成する。また、委任制御部４２は、レイヤ４スイッチ制御用アドレス情報記憶部３６よりレイヤ４スイッチ制御用アドレスを取得する。そして、委任制御部４２は、取得されたレイヤ４スイッチ制御用アドレスを用いて、生成したコネクション制御メッセージを送信する。
【０１１１】
また、委任制御部４２は、取得されたサーバ側コネクション情報をＴＣＰ管理部４６に設定する。また、委任制御部４２は、クライアント１５から受信されたリクエストメッセージをパケットに分割して、ＴＣＰ管理部４６に送信する。つまり、委任制御部４２は、ＴＣＰ管理部４６を介して、クライアント１５から受信されたリクエストメッセージをコンテンツサーバ２５へ送信する。
【０１１２】
また、委任制御部４２は、委任要求メッセージを送信した変換サーバ２３を介して、コンテンツサーバ２５へ送信したリクエストメッセージに対する応答であるＡｃｋ（Ａｃｋｎｏｗｌｅｄｇｅｍｅｎｔ）を受信する。委任制御部４２は、Ａｃｋを受信した場合には、リクエストメッセージを全て変換サーバ２５へ送信したか否かを判別し、全て送信したと判別した場合には、Ａｃｋの転送を解除させる通知であるＡＣＫ解除通知を変換サーバ２３へ送信する。
【０１１３】
また、委任制御部４２は、変換サーバ２３とコンテンツサーバ２５との間に確立されたコネクションを利用して、リクエストメッセージをコンテンツサーバ２５へ送信する。このため、コンテンツサーバ２５は、Ａｃｋを変換サーバ２３へ送信する。そこで、変換サーバ２２は、変換サーバ２３を介して、コンテンツサーバ２５から送信されたＡｃｋを受信する。
【０１１４】
ここで、委任制御部４２がリクエストメッセージに対する応答として受信するＡｃｋの一例を図１８に示す。図１８に示す例では、Ａｃｋは、変換サーバ２２のＩＰアドレス及びポート番号が格納されたＩＰヘッダ及びＴＣＰヘッダを含む。また、Ａｃｋは、変換サーバ２３とコンテンツサーバ２５との間に確立されたコネクションの確認応答番号を含む。また、Ａｃｋは、コンテンツサーバ２５側のウィンドウサイズであるコンテンツサーバ側ウインドウサイズ、及び変換サーバ２３のウインドウサイズである委任先変換サーバ側ウインドウサイズを含む。図１８は、委任先変換サーバから委任元変換サーバへ送信されるＡｃｋの一例を説明するための図である。
【０１１５】
次に、委任制御部４２が実行する処理の具体例について説明する。まず、委任制御部４２が実行する処理のうち、委任要求メッセージを送信する処理についての具体例を説明する。例えば、委任制御部４２は、担当サーバ管理部４１から、キャッシュＩＤ「１」、担当サーバのＩＰアドレス「１０．１０．１０．２３」、担当サーバの受信ポート番号「８０」、及び担当サーバの制御用ポート番号「１１１１」を示す通知を受信する。
【０１１６】
また、委任制御部４２は、担当サーバ管理部４１から、クライアント１５のＩＰアドレス「１９２．０．２．２５４」とポート番号「１００００」とを示す通知を受信する。また、委任制御部４２は、ＴＣＰ管理部３９から、クライアント１５とのコネクションに用いられるシーケンス番号「１００１」と確認応答番号「０００２」とを取得する。
【０１１７】
そして、委任制御部４２は、宛先コンテンツサーバＩＰアドレス「１０．１０．１００．２５」、クライアント側ＩＰアドレス「１９２．０．２．２５４」、及び宛先コンテンツサーバポート番号「８０」を格納した委任要求メッセージを生成する。また、委任制御部４２は、クライアント側ポート番号「１００００」、クライアント側ＩＰアドレス「１９２．０．２．２５４」、シーケンス番号「２００１」、確認応答番号「５００１」を委任要求メッセージに格納する。また、委任制御部４２は、キャッシュＩＤ「１」、リクエストメッセージ長「５０ｂｙｔｅ」を格納する。
【０１１８】
その後、委任制御部４２は、担当サーバである変換サーバ２３のＩＰアドレス「１０．１０．１０．２３」と担当サーバの受信ポート番号「８０」とを委任要求メッセージのＴＣＰ／ＩＰヘッダに格納し、委任情報を変換サーバ２３へ送信する。
【０１１９】
また、委任制御部４２は、委任要求メッセージを送信した変換サーバ２３から、委任応答メッセージとして、送信元ＩＰアドレス「１０．１０．１０．２３」、宛先ＩＰアドレス「１０．１０．１００．２５」が格納された委任応答メッセージを受信する。また、委任制御部４２は、委任応答メッセージとして、送信元ポート番号「８０」、宛先ポート番号「８０」、シーケンス番号「５００１」、及び確認応答番号「２００２」が格納された委任応答メッセージを受信する。
【０１２０】
そして、委任制御部４２は、サーバ側変換後ＩＰアドレス（変更前）に自装置のＩＰアドレス「１０．１０．１０．２２」を格納したコネクション制御メッセージを生成する。また、委任制御部４２は、コネクション制御メッセージのクライアント側ＩＰアドレスにクライアント１５のアドレス「１９２．０．２．２５４」を格納し、サーバ側変換後ポート番号（変更前）に自装置のポート番号「８０」を格納する。
【０１２１】
また、委任制御部４２は、コネクション制御メッセージのクライアント側ポート番号に「１００００」を格納し、サーバ側変換後ＩＰアドレス（変更後）に「１０．１０．１０．２３」を格納する。また、委任制御部４２は、サーバ側変換後ポート番号（変換後）に「８０」を格納する。その後、委任制御部４２は、各情報を格納したコネクション制御メッセージをレイヤ４スイッチ２１の変換テーブル管理部３０へ送信する。
【０１２２】
次に、委任制御部４２が実行する処理のうち、コンテンツサーバにコンテンツを要求する処理についての具体例を説明する。まず、委任制御部４２は、委任応答メッセージを変換サーバ２３から受信する。そして、委任制御部４２は、受信された委任応答メッセージのうち、サーバ側コネクション情報である宛先ＩＰアドレス「１０．１０．１００．２５」、及び宛先ポート番号「８０」をＴＣＰ管理部４６に設定する。
【０１２３】
また、委任制御部４２は、シーケンス番号「５００１」、及び確認応答番号「２００２」をＴＣＰ管理部４６に設定する。そして、委任制御部４２は、クライアント１５から受信されたリクエストメッセージをパケットに分割して、ＴＣＰ管理部４６に送信する。
【０１２４】
後述するように、ＴＣＰ管理部４６は、設定されたサーバ側コネクション情報を用いて、リクエストメッセージを送信する。つまり、ＴＣＰ管理部４６は、変換サーバ２３が有するＴＣＰ管理部としてリクエストメッセージをコンテンツサーバ２５へ送信する。このため、変換サーバ２２は、変換サーバ２３とコンテンツサーバ２５との間に確立されたコネクションを利用して、コンテンツサーバにリクエストを送信することができる。
【０１２５】
続いて、委任制御部４２は、変換サーバ２３を介してコンテンツサーバ２５から送信されたＡｃｋを受信する。その後、委任制御部４２は、リクエストメッセージの全てのパケットの送信が終了した場合には、ＡＣＫ解除通知を変換サーバ２３へ送信する。
【０１２６】
図９に戻って、委任受付部４３は、変換サーバ２４から委任要求メッセージを受信した場合には、受信された委任要求メッセージに格納された宛先コンテンツサーバＩＰアドレス、宛先コンテンツサーバポート番号とを取得する。また委任受付部４３は、委任要求メッセージに格納されたクライアント側コネクション情報、キャッシュＩＤ、リクエストメッセージ長を取得する。
【０１２７】
そして、委任受付部４３は、取得されたキャッシュＩＤとクライアント側コネクション情報とをキャッシュ管理部４４へ送信する。また、委任受付部４３は、取得された宛先コンテンツサーバＩＰアドレスと宛先コンテンツサーバポート番号とをＴＣＰ管理部４６へ送信する。
【０１２８】
また、委任受付部４３は、後述するＴＣＰ管理部４６がコンテンツサーバとの間で確立したコネクションについてのコネクション情報をＴＣＰ管理部４６から受信する。また、委任受付部４３は、委任応答メッセージを生成する。そして、委任受付部４３は、委任要求メッセージの送信元である変換サーバ２４へ生成した委任応答メッセージを送信する。また、委任受付部４３は、ＡＣＫ転送解除通知を変換サーバ２４から受信していない場合には、Ａｃｋを変換サーバ２４へ送信する。
【０１２９】
キャッシュ管理部４４は、委任受付部４３からキャッシュＩＤの通知を受ける。また、キャッシュ管理部４４は、通知されたキャッシュＩＤに対応する変換済みコンテンツがキャッシュ管理テーブル部３７に記憶されているか否かを判定する。
【０１３０】
また、キャッシュ管理部４４は、変換済みコンテンツが記憶されていると判定した場合には、変換済みコンテンツをクライアント１６へ送信する。また、キャッシュ管理部４４は、変換済みコンテンツが記憶されていないと判定した場合には、後述するコンテンツ変換処理部４５によって形式を変換されたコンテンツをクライアント１６に送信する。また、キャッシュ管理部４４は、変換サーバ２４とクライアント１６との間に確立されたコネクションを示す情報を用いて、変換済みコンテンツをクライアント１６へ送信する。
【０１３１】
また、キャッシュ管理部４４は、後述するコンテンツ変換処理部４３がコンテンツの形式を変換した場合には、形式を変換されたコンテンツを変換済みコンテンツとして変換サーバ２２のキャッシュ記憶部４７に格納する。
【０１３２】
具体的には、キャッシュ管理部４４は、キャッシュＩＤを委任受付部４３から受信する。そして、キャッシュ管理部４４は、キャッシュ管理テーブル部３７に記憶されたキャッシュ管理テーブルから、受信されたキャッシュＩＤを検索する。その後、キャッシュ管理部４４は、検索されたキャッシュＩＤによって示されるキャッシュが、記憶されているか否かを判別する。
【０１３３】
また、キャッシュ管理部４４は、検索されたキャッシュＩＤによって示されるキャッシュが記憶されていると判別した場合には、検索されたキャッシュＩＤによって示されるキャッシュを取得する。そして、キャッシュ管理部４４は、取得されたキャッシュを格納したレスポンスメッセージを作成する。
【０１３４】
ここで、図１９は、レスポンスメッセージの一例を説明するための図である。図１９に示す例では、キャッシュ管理部４４は、取得されたキャッシュであるＨＴＭＬ文章を格納したレスポンスメッセージを作成する。その後、キャッシュ管理部４４は、生成したレスポンスメッセージのデータをＴＣＰ管理部３９を介して、クライアント１６へ送信する。
【０１３５】
また、キャッシュ管理部４４は、キャッシュＩＤによって示されるキャッシュが記憶されていないと判別した場合には、コンテンツのリクエストメッセージを生成し、生成されたリクエストメッセージをコンテンツサーバ２６へ送信する。つまり、キャッシュ管理部４４は、コンテンツサーバ２６との間にサーバ側コネクションを確立させる。そして、キャッシュ管理部４４は、確立されたサーバ側コネクションの情報を委任受付部４３に送信する。
【０１３６】
また、キャッシュ管理部４４は、変換サーバ２４からコンテンツサーバ２６へ送信されたリクエストメッセージの応答として、コンテンツサーバ２６に記憶されたコンテンツを取得する。そして、キャッシュ管理部４４は、後述するコンテンツ変換処理部４５によって、取得されたコンテンツの形式が変換された場合には、変換済みのコンテンツをコンテンツ変換処理部４５から取得する。そして、キャッシュ管理部４４は、取得された変換済みのコンテンツを変換サーバ２２のキャッシュ記憶部４７に格納する。
【０１３７】
また、キャッシュ管理部４４は、キャッシュＩＤと対応付けて格納されたキャッシュの有無を「１」に変換する。その後、キャッシュ管理部４４は、変換された変換済みのコンテンツをクライアント１６へ送信する。
【０１３８】
コンテンツ変換処理部４５は、キャッシュ管理部４４によって変換済みコンテンツが変換サーバ２２のキャッシュに記憶されていないと判定された場合には、コンテンツサーバ２６に記憶されたコンテンツをクライアント１６が利用可能な形式に変換する。具体的には、コンテンツ変換処理部４５は、キャッシュ管理部４４によって変換済みコンテンツが記憶されていないと判定された場合には、コンテンツサーバ２６に記憶されたコンテンツを取得する。また、コンテンツ変換処理部４５は、変換サーバ２４から送信されたキャッシュＩＤを取得する。
【０１３９】
そして、コンテンツ変換処理部４５は、取得されたキャッシュＩＤをキーとしてコンテンツ変換テーブル部３８を検索し、変換元のコンテンツの形式と変換後のコンテンツの形式とを判別する。その後、コンテンツ変換処理部４５は、コンテンツサーバ２６から取得されたコンテンツを判別された変換後のコンテンツの形式に変換する。そして、コンテンツ変換処理部４５は、変換後のコンテンツをキャッシュ管理部４４へ送信する。
【０１４０】
ＴＣＰ管理部４６は、委任制御部４２から受信したサーバ側コネクション情報に従って、リクエストメッセージをコンテンツサーバ２５へ送信する。また、ＴＣＰ管理部４６は、委任受付部４３が受信したクライアント側コネクション情報を利用して、コンテンツサーバ２６との間にコネクションを確立する。また、ＴＣＰ管理部４６は、コンテンツサーバ２６からコンテンツを受信した場合には、受信されたコンテンツをキャッシュ管理部４４を介して、コンテンツ変換処理部４５に転送する。
【０１４１】
次に、図２０を用いて、コンテンツ変換システムの処理の流れについて説明する。図２０は、コンテンツ変換システムの処理の流れを説明するための図である。図２０に示す例では、変換サーバ２３は、クライアント１５の端末種別を示す種別情報「ＣＬ＿Ａ」とコンテンツサーバ２５に記憶されたコンテンツを示すコンテンツ情報「Ａ１」との組に対応付けられた変換サーバであるものとする。
【０１４２】
まず、クライアント１５は、リクエストメッセージをレイヤ４スイッチ２１へ送信する。レイヤ４スイッチ２１は、リクエストメッセージを受信した場合には、ランダムに選択された変換サーバである変換サーバ２２へリクエストメッセージを送信する。変換サーバ２２は、リクエストメッセージを解析し、宛先コンテンツサーバを判別する。また、変換サーバ２２は、種別情報「ＣＬ＿Ａ」とコンテンツ情報「Ａ１」との組に対応付けられた変換サーバ２３のＩＰアドレスを特定する。
【０１４３】
そして、変換サーバ２２は、特定された変換サーバ２３に委任要求メッセージを送信する。変換サーバ２３は、委任要求メッセージを受信した場合には、コンテンツサーバ２６との間にコネクションを確立する。そして、変換サーバ２３は、確立したコネクションのコネクション情報を含む委任応答メッセージを生成し、生成された委任応答メッセージを変換サーバ２２へ送信する。
【０１４４】
変換サーバ２２は、変換サーバ２３から委任応答メッセージを受信した場合には、受信された委任応答メッセージから変換サーバ２３とコンテンツサーバ２６との間に確立されたコネクションのコネクション情報を解析する。そして、変換サーバ２２は、解析されたコネクション情報を用いて、クライアント１５から送信されたリクエストメッセージをコンテンツサーバ２５へ送信する。つまり、変換サーバ２２は、変換サーバ２３としてコンテンツサーバ２５へリクエストメッセージを送信する。
【０１４５】
また、変換サーバ２２は、コネクション制御メッセージを用いて、レイヤ４スイッチ２１のアドレス変換テーブルを変更する。つまり、変換サーバ２２は、変換サーバ２３から送信される情報をクライアント１５へ送信するようにレイヤ４スイッチ２１を設定する。
【０１４６】
次に、コンテンツサーバ２５は、コンテンツ情報「Ａ１」が示すコンテンツを変換サーバ２３へ送信する。変換サーバ２３は、コンテンツ情報「Ａ１」が示すコンテンツを受信した場合には、コンテンツ情報「Ａ１」が示すコンテンツの形式をクライアント１５が利用可能な形式に変換したコンテンツをキャッシュに記憶しているか否かを判別する。
【０１４７】
そして、変換サーバ２３は、変換済みのコンテンツをキャッシュに記憶していると判別した場合には、レイヤ４スイッチ２１を介して、クライアント１５にキャッシュに記憶されていた変換済みのコンテンツを送信する。また、変換サーバ２３は、変換済みのコンテンツをキャッシュに記憶していないと判別した場合には、コンテンツサーバ２５から受信されたコンテンツの形式をクライアント１５が利用可能な形式に変換する。そして、変換サーバ２３は、変換済みのコンテンツをレイヤ４スイッチ２１を介して、クライアント１５へ送信する。
【０１４８】
このように、変換サーバ２２〜２４は、クライアントの端末種別と送信を要求されたコンテンツとに対応付けられた変換サーバに処理の委任を要求する。例えば、図２１に示す例では、変換サーバ２３には、端末種別「ＣＬ＿Ａ」とコンテンツサーバ２５に記憶されたコンテンツとの組に対応付けられている。図２１は、データの流れを説明するための図である。このような例では、変換サーバ２２は、端末種別「ＣＬ＿Ａ」のクライアント１５からコンテンツサーバ２５に記憶されたコンテンツの送信を要求するリクエストを受信した場合には、処理を変換サーバ２３に委任する。
【０１４９】
つまり、変換サーバ２２〜２４は、端末種別「ＣＬ＿Ａ」の端末からコンテンツサーバ２５に記憶されたコンテンツを要求するリクエストを受信した場合には、変換サーバ２３に処理を必ず委任することとなる。このため、変換サーバ２２〜２４は、いずれかの変換サーバがキャッシュを有する場合には、キャッシュを有する変換サーバに処理を委任することとなる。
【０１５０】
結果として、変換サーバ２２〜２４は、キャッシュヒットを保証しつつ、各変換サーバ２２〜２４のキャッシュの同期を不用とし、変換サーバの数に応じた処理能力を発揮することができる。
【０１５１】
また、変換サーバ２２は、リクエストメッセージを変換サーバ２３に送信するのではなく、変換サーバ２３がコンテンツを取得するために必要な情報のみを変換サーバ２３に送信する。つまり、変換サーバ２２〜２４は、２台の変換サーバの間で少ないデータをやり取りするだけで、キャッシュヒットを保証する。
【０１５２】
例えば、変換テーブル管理部３０、変換処理部３２、ＴＣＰ管理部３９、宛先決定部４０、担当サーバ管理部４１、委任制御部４２、委任受付部４３、キャッシュ管理部４４、コンテンツ変換処理部４５、ＴＣＰ管理部４６は、電子回路である。ここで、電子回路の例として、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ （Field Programmable Gate Array）などの集積回路、またはＣＰＵ（Central Processing Unit）やＭＰＵ（Micro Processing Unit）などを適用する。
【０１５３】
また、アドレス変換テーブル記憶部３１、振分先サーバ情報記憶部３３、宛先決定テーブル部３４、担当サーバ管理テーブル部３５、レイヤ４スイッチ制御用アドレス情報記憶部３６、キャッシュ管理テーブル部３７、キャッシュ記憶部４７は、記憶装置である。また、コンテンツ変換テーブル部３８は、記憶装置である。ここで、記憶装置の例として、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、フラッシュメモリ （flash memory）などの半導体メモリ素子、または、ハードディスク、光ディスクなどを適用する。
【０１５４】
［レイヤ４スイッチの処理の流れ］
次に、図２２及び図２３を用いて、レイヤ４スイッチ２１の処理の流れについて説明する。図２２は、レイヤ４スイッチの処理の流れを説明するためのフローチャートである。図２３は、制御メッセージを受信したレイヤ４スイッチの処理の流れを説明するためのフローチャートである。
【０１５５】
レイヤ４スイッチ２１は、パケットを受信すると（ステップＳ１０１）、受信されたパケットのＴＣＰ／ＩＰヘッダを変更するためのエントリが変換テーブルに記憶されているか否かを判定する（ステップＳ１０２）。レイヤ４スイッチは、エントリが変換テーブルに記憶されていると判別された場合には（ステップＳ１０２肯定）、変換テーブルに記憶された変換テーブルのエントリに従って、受信されたレイヤのＴＣＰ／ＩＰヘッダの書換を行う（ステップＳ１０４）。
【０１５６】
一方、レイヤ４スイッチ２１は、エントリが変換テーブルに記憶されていないと判別された場合には（ステップＳ１０２否定）、新たなエントリを生成する（ステップＳ１０３）。次に、レイヤ４スイッチ２１は、変換テーブルに記憶された変換テーブルのエントリに従って、受信されたレイヤのＴＣＰ／ＩＰヘッダの書換を行う（ステップＳ１０４）。その後、レイヤ４スイッチ２１は、ＴＣＰ／ＩＰヘッダの書換を行ったパケットを送信する（ステップＳ１０５）。
【０１５７】
次に、図２３を用いて、制御メッセージを受信したレイヤ４スイッチ２１の処理の流れについて説明する。レイヤ４スイッチ２１は、変換サーバ２３より制御メッセージを受信すると（ステップＳ２０１）、変換テーブルのエントリを制御メッセージに従って変更する（ステップＳ２０２）。次に、レイヤ４スイッチ２１は、エントリ制御メッセージの送信元である変換サーバにＡｃｋを送信する（ステップＳ２０３）。その後、レイヤ４スイッチ２１は、処理を終了する。
【０１５８】
次に、複数の図を用いて、コンテンツ変換システムが有する各装置が実行する処理の流れについて説明する。まず、図２４を用いて、クライアント１５からリクエストメッセージを取得した変換サーバ２２の処理について説明する。図２４は、リクエストメッセージを受信した変換サーバの処理の流れを説明するためのフローチャートである。
【０１５９】
まず、変換サーバ２２は、クライアント１５からリクエストメッセージを受信すると（ステップＳ３０１）、受信されたリクエストメッセージから、要求対象となるコンテンツを記憶する宛先コンテンツサーバ２５を決定する（ステップＳ３０２）。また、変換サーバ２２は、担当サーバとして、クライアント１５の端末種別「ＣＬ＿Ａ」とクライアント１５が要求したコンテンツとに対応付けられた担当サーバである変換サーバ２３を特定する（ステップＳ３０３）。
【０１６０】
次に、変換サーバ２２は、特定された担当サーバが自装置であるか否かを判別する（ステップＳ３０４）。そして、変換サーバ２２は、担当サーバが自装置ではないと判別した場合には（ステップＳ３０４否定）、担当サーバへ委任要求メッセージを送信する（ステップＳ３０５）。つまり、変換サーバ２２は、変換サーバ２３へ委任要求メッセージを送信する。次に、変換サーバ２２は、変換サーバ２３から委任応答メッセージを受信する（ステップＳ３０６）。また、変換サーバ２２は、コネクション制御メッセージをレイヤ４スイッチ２１へ送信し、レイヤ４スイッチ２１に記憶されたアドレス変換テーブルを制御する（ステップＳ３０７）。
【０１６１】
次に、変換サーバ２２は、ステップＳ３０１にて受信されたリクエストメッセージを分割し、分割されたリクエストメッセージを宛先コンテンツサーバ２５へ送信する（ステップＳ３０８）。次に、変換サーバ２２は、分割されたリクエストメッセージを送信するたびに、返答として宛先コンテンツサーバ２５より送信されるＡｃｋを、変換サーバ２３を介して受信する（ステップＳ３０９）。また、変換サーバ２２は、Ａｃｋを受信した場合には、分割されたリクエストメッセージをすべて送信したか否かを判別する（ステップＳ３１０）。
【０１６２】
そして、変換サーバ２２は、分割されたリクエストメッセージを全て送信していないと判別した場合には（ステップＳ３１０否定）、まだ送信されていないリクエストメッセージをコンテンツサーバ２５へ送信する（ステップＳ３０８）。一方、変換サーバ２２は、分割されたリクエストメッセージを全て送信したと判別した場合には（ステップＳ３１０肯定）、Ａｃｋ転送解除通知を変換サーバ２３へ送信する（ステップＳ３１１）。その後、変換サーバ２２は、処理を終了する。
【０１６３】
また、変換サーバ２２は、ステップＳ３０４にて、担当サーバが自装置であると判別した場合には（ステップＳ３０４肯定）、自装置にキャッシュが記憶されているか否かを判別する（ステップＳ３１２）。つまり、変換サーバ２２は、クライアント１５の端末種別に応じて、リクエスト対象のコンテンツを変換した変換済みコンテンツのキャッシュが自装置に記憶されているか否かを判別する。
【０１６４】
変換サーバ２２は、自装置にキャッシュが記憶されていないと判別した場合には（ステップＳ３１２否定）、コンテンツサーバ２５へリクエストを送信する（ステップＳ３１３）。次に、変換サーバ２２は、コンテンツサーバ２５からレスポンスを受信する（ステップＳ３１４）。つまり、変換サーバ２２は、リクエスト対象のコンテンツを受信する。次に、変換サーバ２２は、リクエストメッセージの送信元であるクライアント１５の端末種別に応じて、受信されたコンテンツを変換する（ステップＳ３１５）。
【０１６５】
次に、変換サーバ２２は、変換済みコンテンツをキャッシュに記憶する（ステップＳ３１６）。また、変換サーバ２２は、コンテンツサーバ２５から受信したレスポンスメッセージのコンテンツを変換済みコンテンツに置き換える（ステップＳ３１７）。そして、変換サーバ２２は、レスポンスメッセージをリクエストメッセージの送信元であるクライアント１５へ送信する（ステップＳ３１９）。その後、変換サーバ２２は、処理を終了する。
【０１６６】
一方、変換サーバ２２は、自装置にキャッシュが記憶されていると判別した場合には（ステップＳ３１２肯定）、キャッシュを用いて、レスポンスメッセージを作成する（ステップＳ３１８）。その後、変換サーバ２２は、作成したレスポンスメッセージをリクエストメッセージの送信元であるクライアント１５へ送信する（ステップＳ３１９）。その後、変換サーバ２２は、処理を終了する。
【０１６７】
次に、図２５を用いて、委任要求メッセージを変換サーバ２４から受信した変換サーバ２２が実行する処理の流れについて説明する。図２５は、委任要求メッセージを受信した変換サーバの処理を説明するためのフローチャートである。図２５に示す例では、変換サーバ２２は、変換サーバ２４から送信された委任要求メッセージを受信するものとする。
【０１６８】
まず、変換サーバ２２は、委任元である変換サーバ２４から委任要求メッセージを受信すると（ステップＳ４０１）、委任要求メッセージに格納されたキャッシュＩＤを用いて、自装置にキャッシュが記憶されているか否かを確認する（ステップＳ４０２）。次に、変換サーバ２２は、宛先コンテンツサーバとのコネクションを確立する（ステップＳ４０３）。また、変換サーバ２２は、委任応答メッセージを作成し、作成した委任応答メッセージを委任元である変換サーバ２４へ送信する（ステップＳ４０４）。
【０１６９】
次に、変換サーバ２２は、ステップＳ４０３にて確立したコネクションからパケットを受信する（ステップＳ４０５）。つまり、変換サーバ２２は、宛先コンテンツサーバからレスポンスメッセージのパケットを受信する。次に、変換サーバ２２は、宛先コンテンツサーバからパケットを受信した場合には、Ａｃｋ転送解除通知を変換サーバ２４から受信済みであるか否かを判別する（ステップＳ４０６）。
【０１７０】
変換サーバ２２は、Ａｃｋ転送解除通知を変換サーバ２４から受信していないと判別した場合には（ステップＳ４０６否定）、宛先コンテンツサーバから受信されたＡｃｋを委任元である変換サーバ２４へ送信する（ステップＳ４０７）。また、変換サーバ２２は、Ａｃｋ転送解除通知を変換サーバから受信したと判別した場合には（ステップＳ４０６肯定）、Ａｃｋの送信を行わずに、次の処理を実行する。
【０１７１】
次に、変換サーバ２２は、レスポンスメッセージの受信が完了したか否かを判別する（ステップＳ４０８）。変換サーバ２２は、レスポンスメッセージの受信が完了していないと判別した場合には（ステップＳ４０８否定）、レスポンスメッセージの受信を継続する（ステップＳ４０５）。また、変換サーバ２２は、レスポンスメッセージの受信が完了したと判別した場合には（ステップＳ４０８肯定）、ステップＳ４０２にて確認されたキャッシュが自装置に記憶されているか否かを判別する（ステップＳ４０９）。
【０１７２】
変換サーバ２２は、自装置にキャッシュが記憶されていないと判別した場合には（ステップＳ４０９否定）、レスポンスメッセージに格納されたコンテンツをクライアントの種別に応じて変換する（ステップＳ４１０）。次に、変換サーバ２２は、変換結果をキャッシュに記憶する（ステップＳ４１１）。また、変換サーバ２２は、レスポンスメッセージのコンテンツを変換結果に置き換える（ステップＳ４１２）。そして、変換サーバ２２は、委任要求メッセージにて通知されたクライアント側コネクション情報に従って、レスポンスメッセージをクライアントへ送信する（ステップＳ４１４）。
【０１７３】
一方、変換サーバ２２は、自装置にキャッシュが記憶されていると判別した場合には（ステップＳ４０９肯定）、宛先コンテンツサーバから受信したレスポンスメッセージのコンテンツをキャッシュに置き換える（ステップＳ４１３）。その後、変換サーバ２２は、委任要求メッセージにて通知されたクライアント側コネクション情報に従って、レスポンスメッセージをクライアントへ送信する（ステップＳ４１４）。
【０１７４】
次に、図２６を用いて、各装置間の処理の流れについて説明する。図２６は、各装置の処理の流れを説明するためのシーケンス図（１）である。まず、クライアント１５と変換サーバ２２とは、レイヤ４スイッチ２１を介して、３Ｗａｙ  Ｈａｎｄｓｈａｋｅを実行し、コネクションを確立する（ステップＳ５０１）。次に、クライアント１５は、確立したコネクションを用いて、リクエストメッセージを変換サーバ２２へ送信する（ステップＳ５０２）。変換サーバ２２は、リクエスト対象のコンテンツを記憶する宛先コンテンツサーバのＩＰアドレス、ポート番号、及びクライアント側コネクション情報を変換サーバ２３へ送信する（ステップＳ５０３）。
【０１７５】
次に、変換サーバ２３は、通知された宛先コンテンツサーバのＩＰアドレス、及びポート番号を用いて、コンテンツサーバ２６との間にコネクションを確立する（ステップＳ５０４）。そして、変換サーバ２３は、コンテンツサーバ２６との間に確立したコネクション情報を変換サーバ２２へ通知する（ステップＳ５０５）。
【０１７６】
変換サーバ２２は、レイヤ４スイッチに対して、コネクション制御メッセージを送信し、ＴＣＰ／ＩＰヘッダの変換ルールを設定する（ステップＳ５０６）。また、変換サーバ２２は、変換サーバ２３とコンテンツサーバ２６との間に確立されたコネクションを利用して、リクエストメッセージをコンテンツサーバ２６へ送信する（ステップＳ５０７）。コンテンツサーバ２６は、リクエストメッセージを受信した場合には（ステップＳ５０８）、レスポンスを変換サーバ２３へ送信する（ステップＳ５０９）。
【０１７７】
変換サーバ２３は、レスポンスの受信後、自装置にキャッシュが記憶されているか否かを判別し、キャッシュがある場合には、レスポンスに格納されたコンテンツをキャッシュに置き換える。また、変換サーバ２３は、自装置にキャッシュが記憶されていないと判別した場合には、レスポンスに格納されたコンテンツを変換する。その後、変換サーバ２３は、レスポンスをクライアント１５へ送信する。つまり、変換サーバ２３は、クライアント１５の端末種別に応じて変換されたコンテンツが格納されたレスポンスをクライアント１５へ送信する。
【０１７８】
ここで、委任元の変換サーバ２２と委任先の変換サーバ２３とは、コネクション情報にシーケンス番号と確認応答番号とを含め、相互に通知する。このため、図２７に示すように、各変換サーバは、シーケンス番号及び確認応答番号に矛盾を生じさせることなく、コンテンツの変換処理を行う事ができる。結果として、変換サーバ２２及び変換サーバ２３は、クライアント１５とコンテンツサーバ２６に対して、新たな手段を付加せずとも、キャッシュヒットを保証しつつ変換サーバの台数に応じた処理能力を提供することができる。図２７は、各装置の処理の流れを説明するためのシーケンス図（２）である。
【０１７９】
また、図２８は、従来の処理の流れを説明するためのシーケンス図である。図２８に示す例では、変換サーバ＃１は、クライアントからリクエストメッセージを受信した場合には、コンテンツサーバに対してコンテンツのリクエストを行う。そして、変換サーバ＃１は、取得されたコンテンツを変換し、変換済みコンテンツをクライアントへ送信する。
【０１８０】
このような処理の後、同一のリクエストメッセージが変換サーバ＃２へ割当てられた場合には、変換サーバ＃１にキャッシュがあるにもかかわらず、変換サーバ＃２は、コンテンツのリクエストを行い、変換処理を実行する。つまり、変換サーバ＃１及び変換サーバ＃２は、キャッシュを適切に用いることができなかった。
【０１８１】
一方、本実施例の各変換サーバ２２〜２４は、コンテンツと端末の種別との組に予め対応付けられている。そして、各変換サーバ２２〜２４は、リクエストメッセージを受信した場合には、リクエストメッセージの送信元であるクライアントの端末種別と送信を要求されたコンテンツとの組に対応付けられた変換サーバへ処理を委任する。このため、各変換サーバは、各変換サーバ２２〜２４のキャッシュを同期させずとも、キャッシュヒットを保証することができる。結果として、各変換サーバ２２〜２４は、変換サーバの台数に応じた処理能力を提供することができる。
【０１８２】
[実施例２の効果]
上述したように、変換サーバ２２は、コンテンツを示す情報と端末の種別を示す情報との組と変換サーバを一意に示すサーバ情報とを対応付けて記憶する。そして、変換サーバ２２は、リクエストメッセージを受信した場合には、受信されたリクエストメッセージを解析し、リクエストメッセージを送信したクライアントの種別を示す種別情報と送信を要求されたコンテンツを示すコンテンツ情報を判別する。そして、変換サーバ２２は、判別された種別情報とコンテンツ情報との組に対応付けられたサーバ情報を特定する。つまり、変換サーバ２２は、変換処理を実行する変換サーバを特定する。そして、変換サーバ２２は、特定されたサーバ情報が示す変換サーバに対して、委任要求メッセージを送信する。
【０１８３】
つまり、変換サーバ２２は、変換処理を振り分ける際に、変換処理の実行結果となるキャッシュがいずれかの変換サーバに記憶されている場合には、実行結果となるキャッシュを有する変換サーバに対して、変換処理を振り分ける。このため、変換サーバ２２は、同一のリクエストメッセージを受信した場合には、同一の変換サーバに変換処理を実行させることができる。この結果、変換サーバ２２は、各変換サーバ２２〜２４に記憶されたキャッシュを適切に利用することができる。
【０１８４】
また、変換サーバ２２は、他の変換サーバ２３〜２４とキャッシュを同期させずとも、各変換サーバ２２〜２４のいずれかにキャッシュが存在する場合には、必ずキャッシュヒットさせることができる。この結果、変換サーバ２２は、処理負荷を増大させることなく、各変換サーバ２２〜２４に記憶されたキャッシュを適切に利用することができる。
【０１８５】
また、変換サーバ２２は、クライアント１５からコンテンツの送信を要求するリクエストメッセージを受信した場合には、受信されたリクエストメッセージに含まれるＵｓｅｒ−ＡｇｅｎｔとＲｅｑｕｅｓｔ−ＵＲＩとを判別する。このため、変換サーバ２２は、クライアント１５に新たな処理を実行させずとも、クライアント１５の端末種別と、クライアント１５が送信を要求したコンテンツとを判別することができる。
【０１８６】
また、変換サーバ２２は、コンテンツサーバ２６との間にコネクションを確立させ、確立させたコネクションの情報であるサーバ側コネクション情報を変換サーバ２４へ送信する。また、変換サーバ２２は、サーバ側コネクション情報を変換サーバ２３から受信した場合には、受信されたサーバ側コネクション情報を用いて、リクエストメッセージをコンテンツサーバ２５へ送信する。
【０１８７】
このため変換サーバ２２は、変換サーバ２３とコンテンツサーバ２５との間のコネクションを保持したままで、コンテンツサーバ２５にリクエストメッセージを送信することができる。また、変換サーバ２２は、コンテンツサーバ２６との間のコネクションを保持したままで、変換サーバ２４からリクエストメッセージをコンテンツサーバ２６に送信させることが出来る。このため、変換サーバ２２は、各クライアント１５〜１７、及び、各コンテンツサーバ２５〜２７に新たな処理を実行させる必要がないという効果を奏する。
【０１８８】
また、変換サーバ２２は、クライアント１５との間に確立したコネクションを示すクライアント側コネクション情報を変換サーバ２３に通知する。また、変換サーバ２２は、クライアント１６と変換サーバ２４との間に確立したコネクションを示すクライアント側コネクション情報を変換サーバ２４から通知される。
【０１８９】
このため、変換サーバ２２は、変換サーバ２３に対して、変換サーバ２２とクライアント１５との間に確立したコネクションを用いて、変換済みコンテンツをクライアント１５に送信させることができる。また、変換サーバ２２は、変換サーバ２４とクライアント１６との間に確立したコネクションを用いて、変換済みコンテンツをクライアント１６へ送信することができる。結果として、変換サーバ２２は、各クライアント１５〜１７に新たな処理を実行させる必要がないという効果を奏する。
【実施例３】
【０１９０】
上述した実施例２では、変換サーバ２２は、変換後のコンテンツがキャッシュに記憶されている場合にも、コンテンツサーバからコンテンツを取得していた。しかし、実施例はこれに限定されるものではなく、例えば、変換後のコンテンツがキャッシュに記憶されている場合には、コンテンツの取得をスキップしてもよい。そこで、以下の実施例では、変換後のコンテンツがキャッシュに記憶されている場合には、コンテンツの取得をスキップするコンテンツ変換システムについて説明する。なお、以下の説明では、実施例２に係る変換サーバ２２〜２４が有する各部と同様の機能を有する部分については、同一の符号を付すものとし、説明を省略する。
【０１９１】
まず、図２９を用いて、実施例３に係る変換サーバ５０について説明する。図４６は、実施例３に係る変換サーバを説明するための図である。図２９に示す例では、変換サーバ５０は、宛先決定テーブル部３４、担当サーバ管理テーブル部３５、レイヤ４スイッチ制御用アドレス情報記憶部３６、キャッシュ管理テーブル部３７、コンテンツ変換テーブル部３８、キャッシュ記憶部４７を有する。また、変換サーバ２２は、ＴＣＰ管理部３９、宛先決定部４０、担当サーバ管理部４１、委任制御部５３、委任受付部５４、キャッシュ管理部５５、コンテンツ変換処理部４５、ＴＣＰ管理部４６を有する。
【０１９２】
また、以下の説明では、変換サーバ５１及び５２は、変換サーバ５０と同様の構成を有するものとし、説明を省略する。また、宛先決定テーブル部３４、担当サーバ管理テーブル部３５、レイヤ４スイッチ制御用アドレス情報記憶部３６、キャッシュ管理テーブル部３７、コンテンツ変換テーブル部３８は、実施例２に係る各部と同様の情報を記憶するものとし、説明を省略する。また、ＴＣＰ管理部３９、宛先決定部４０、担当サーバ管理部４１、コンテンツ変換処理部４５、ＴＣＰ管理部４６、キャッシュ記憶部４７は、実施例２に係る各部と同様の機能を有するものとし、説明を省略する。
【０１９３】
委任制御部５３は、実施例２に係る委任制御部４２と同様の機能を有する。また、委任制御部５３は、委任先変換サーバにキャッシュが存在する場合には、クライアントから受信したリクエストメッセージを委任先変換サーバへ送信する。具体的には、委任制御部５３は、委任先変換サーバ５１から委任応答メッセージを受信する。
【０１９４】
ここで、図３０に例示するように、委任先の変換サーバ５１は、キャッシュが自装置に記憶されていると判別した場合には、変換サーバ５０のＩＰアドレスとポート番号とが格納されたＩＰヘッダ及びＴＣＰヘッダを有する委任応答メッセージを生成する。また、委任先の変換サーバ５１は、キャッシュＩＤとキャッシュの有無を示す情報と「Ｐａｄｄｉｎｇ」とを格納する。ここで、図３０中の「Ｐａｄｄｉｎｇ」とは、委任応答メッセージの大きさを一定に保つためのスタッフィングバイトである。図３０は、キャッシュがある場合の委任応答メッセージの一例を説明するための図である。
【０１９５】
また、図３１に例示するように、委任先の変換サーバ５１は、キャッシュが記憶されていないと判別した場合には、実施例２に係るサーバ側コネクション情報と同じ情報を委任応答メッセージに格納する。図３１は、キャッシュが存在しない場合の委任応答メッセージの一例を説明するための図である。
【０１９６】
図２９に戻って、委任制御部５３は、受信された委任応答メッセージを解析し、委任先の変換サーバにキャッシュが記憶されているか否かを判別する。そして、委任制御部５３は、委任先の変換サーバにキャッシュが記憶されていると判別した場合には、クライアントから送信されたリクエストメッセージを委任先のサーバへ転送する。一方、委任制御部５３は、委任先のサーバにキャッシュが記憶されていないと判別した場合には、実施例２の委任制御部４２と同様に、受信された委任応答メッセージからサーバ側コネクション情報を取得する。
【０１９７】
委任受付部５４は、実施例２に係る委任受付部４３と同様の機能を有する。また、委任受付部５４は、検索されたキャッシュＩＤが示すキャッシュが記憶されていると判別された場合には、検索されたキャッシュＩＤとキャッシュの有無とを格納した委任応答メッセージを生成する。そして、委任受付部５４は、生成された委任応答メッセージを委任元の変換サーバへ送信する。
【０１９８】
また、委任受付部５４は、クライアントから送信されたリクエストメッセージを委任元のサーバから受信する。そして、委任受付部５４は、受信されたリクエストメッセージをキャッシュ管理部５５へ送信する。
【０１９９】
一方、委任受付部５４は、キャッシュ管理部５５によって、検索されたキャッシュＩＤによって示されるキャッシュが記憶されていないと判別された場合には、実施例２に係る委任受付部４３と同様に、コンテンツのリクエストメッセージを生成し、生成されたリクエストメッセージをコンテンツサーバ２６へ送信する。
【０２００】
キャッシュ管理部５５は、実施例２に係るキャッシュ管理部４４と同様の機能を有する。また、キャッシュ管理部５５は、クライアントから送信されたリクエストメッセージを委任受付部５４から受信した場合には、受信されたリクエストメッセージと、キャッシュとを用いて、レスポンスメッセージを生成する。そして、キャッシュ管理部５５は、ＴＣＰ管理部３９を介して、生成されたレスポンスメッセージをクライアントへ送信する。
【０２０１】
次に、図３２を用いて、クライアントからリクエストメッセージを受信した変換サーバ５０が実行する処理の流れについて説明する。図３２は、リクエストメッセージを受信した変換サーバが実行する処理の流れを説明するためのフローチャートである。
【０２０２】
なお、図３２に記載した処理のうち、ステップＳ７０１〜Ｓ７０６、Ｓ７０８〜Ｓ７１２、Ｓ７１５〜Ｓ７２２については、図２４に例示したステップＳ３０１〜Ｓ３０６、Ｓ３０７〜Ｓ３１１、Ｓ３１２〜３１９と同様の処理であるため、説明を省略する。また、以下の例では、変換サーバ５０は、クライアント１５から送信されたリクエストメッセージを受信したものとし、変換サーバ５１に対して、委任要求メッセージを送信したものとする。
【０２０３】
変換サーバ５０は、変換サーバ５１から委任応答メッセージを受信した場合には、受信された委任応答メッセージを用いて、委任先の変換サーバ５１にキャッシュが記憶されているか否かを判別する（ステップＳ７０７）。そして、変換サーバ５０は、委任先の変換サーバ５１にキャッシュが記憶されていると判別した場合には（ステップＳ７０７肯定）、レイヤ４スイッチの制御を行う（ステップＳ７１３）。また、変換サーバ５０は、レイヤ４スイッチの制御を行った場合には、クライアント１５から送信されたリクエストメッセージを委任先の変換サーバ５１へ送信する（ステップＳ７１４）。
【０２０４】
次に、図３３を用いて、委任要求メッセージを受信した変換サーバ５０が実行する処理の流れを説明する。図３３は、委任要求メッセージを受信した変換サーバの処理を説明するためのフローチャートである。なお、以下の説明では、変換サーバ５０は、変換サーバ５２から委任要求メッセージを受信するものとする。
【０２０５】
また、図３３に示す例では、変換サーバ５０は、委任元の変換サーバ５２から委任要求メッセージを受信したことをトリガとして、処理を開始する。また、委任元の変換サーバ５２は、クライアント１７から送信されたリクエストメッセージを受信したものとする。
【０２０６】
なお、図３３に記載した処理のうち、ステップＳ８０１〜Ｓ８０２、Ｓ８０４〜Ｓ８１２、Ｓ８１６については、図２５に記載したステップＳ４０１〜４０２、Ｓ４０３〜４１２、Ｓ４１４と同様の処理であるため、処理を省略する。
【０２０７】
変換サーバ５０は、ステップＳ８０２にて確認されたキャッシュが自装置に記憶されていると判別した場合には（ステップＳ８０３肯定）、委任応答メッセージを変換サーバ５２へ送信する（ステップＳ８１３）。次に、変換サーバ５０は、クライアント１７から送信されたリクエストメッセージを委任元の変換サーバ５２から受信する（ステップＳ８１４）。
【０２０８】
そして、変換サーバ５０は、受信されたリクエストメッセージとキャッシュとからレスポンスメッセージを生成する（ステップＳ８１５）。その後、変換サーバ５０は、生成されたレスポンスメッセージをクライアント１７へ送信する（ステップＳ８１６）。
【０２０９】
次に、図３４を用いて、各装置間の処理の流れについて説明する。図３４は、実施例３に係るコンテンツ変換システムが実行する処理の一例を説明するための図である。なお、図３４に記載した処理のうち、ステップＳ９０１〜Ｓ９０３については、図２６に記載のステップＳ５０１〜Ｓ５０３と同様の処理であるため、説明を省略する。
【０２１０】
変換サーバ５１は、委任要求メッセージに格納されたキャッシュＩＤが示すキャッシュが自装置に記憶されていると判別した場合には、キャッシュが記憶されていることを通知する委任応答メッセージを変換サーバ５０へ送信する（ステップＳ９０４）。変換サーバ５０は、キャッシュが記憶されていることを通知する委任応答メッセージを変換サーバ５１から取得した場合には、レイヤ４スイッチに対して、コネクション制御メッセージを送信し、ＴＣＰ／ＩＰヘッダの変換ルールを設定する（ステップＳ９０５）。
【０２１１】
また、変換サーバ５０は、クライアント１５から送信されたリクエストメッセージを変換サーバ５１へ転送する（ステップＳ９０６）。そして、変換サーバ５１は、ステップＳ９０６にて変換サーバ５１より取得したリクエストメッセージと、自装置に記憶されていたキャッシュとを用いて、レスポンスメッセージを生成する。その後、変換サーバ５１は、生成されたレスポンスメッセージをクライアント１５へ送信する（ステップＳ９０７）。
【０２１２】
[実施例３の効果]
上述したように、実施例３に係る変換サーバ５０は、委任先の変換サーバ５１にキャッシュが存在する場合には、クライアント１５から送信されたリクエストメッセージを委任先の変換サーバ５１へ転送する。また、委任先の変換サーバ５１は、自装置にキャッシュが存在する場合には、コンテンツサーバ２５とのコネクションを確立せず、キャッシュをクライアント１５へ送信する。
【０２１３】
このため、実施例３に係る変換サーバ５０では、変換サーバ５０〜５２とコンテンツサーバ２５〜２７との間で情報を送受信するための処理負荷をさらに削減することができる。
【実施例４】
【０２１４】
これまで本発明の実施例について説明したが実施例は、上述した実施例以外にも様々な異なる形態にて実施されてよいものである。そこで、以下では実施例４として本発明に含まれる他の実施例を説明する。
【０２１５】
（１）変換サーバの数
上述した実施例２、及び３では、３つの変換サーバを有する変換サーバについて説明した。しかし、実施例はこれに限定されるものではなく、複数の変換サーバであればよい。また、クライアントの数やコンテンツサーバの数も任意である。
【０２１６】
（２）変換サーバの構成
上述した実施例２、及び３では、複数の記憶部３４〜３８、４７を有する変換サーバを説明した。しかし、実施例はこれに限定されるものではなく、例えば、変換サーバは、各記憶部３４〜３８、４７の機能を有する一つの記憶装置を有していてもよい。また、実施例２及び３では、変換サーバは、クライアント側とコンテンツ側とで異なるＴＣＰ管理部３９、４６を有していたが、実施例はこれに限定されるものではなく、クライアント側とコンテンツ側とで共用の一つのＴＣＰ管理部であってもよい。
【０２１７】
（３）プログラム
ところで、実施例１に係る変換ネットワーク、および実施例２〜３に係る変換サーバでは、ハードウェアを利用して各種の処理を実現する場合を説明した。しかし、実施例はこれに限定されるものではなく、あらかじめ用意されたプログラムを複数のコンピュータで実行することによって実現するようにしてもよい。そこで、以下では、図３５を用いて、実施例１に示した変換装置と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図３５は、変換プログラムを実行するコンピュータの一例を説明するための図である。
【０２１８】
図３５に例示されたコンピュータ２００は、ＲＡＭ（Random Access Memory）１２０、ＲＯＭ（Read Only Memory）１３０、ＨＤＤ（Hard Disk Drive）１５０がバス１７０で接続される。また、図２３に例示されたコンピュータ２００は、ＣＰＵ（Central Processing Unit）１４０がバス１７０で接続される。さらにバス１７０には、他のコンピュータと情報の送受信をおこなうためのＩ／Ｏ（Input Output）１６０が接続される。
【０２１９】
ＨＤＤ１５０には、サーバ情報テーブル１５１が記憶される。ＲＯＭ１３０には、判別プログラム１３１、取得プログラム１３２、通知プログラム１３３、があらかじめ保持される。また、ＲＯＭ１３０には、判定プログラム１３４、変換プログラム１３５、送信プログラム１３６、キャッシュ実行プログラム１３７があらかじめ保持される。ＣＰＵ１４０が各プログラム１３１〜１３３をＲＯＭ１３０から読み出して実行することによって、図３５に示す例では、各プログラム１３１〜１３３は、判別プロセス１４１、取得プロセス１４２、通知プロセス１４３として機能するようになる。また、ＣＰＵが各プログラム１３４〜１３７をＲＯＭから読み出して実行することによって、判定プロセス１４４、変換プロセス１４５、送信プロセス１４６、キャッシュ実行プロセス１４７として機能するようになる。なお、各プロセス１４１〜１４７は、図１に示した各部２〜６と同様の機能を発揮する。また、各プロセス１４１〜１４７は、実施例２または実施例３に係る各部と同等の機能を発揮するようにすることも可能である。
【０２２０】
なお、本実施例で説明した変換プログラムは、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＭＯ（Magneto Optical Disc）、ＤＶＤ（Digital Versatile Disc）などのコンピュータで読取可能な記録媒体に記録される。また、このプログラムは、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【符号の説明】
【０２２１】
１  変換サーバ
２  サーバ情報記憶部
３  判別部
４  取得部
５  通知部
６  判定部
７  送信部
１０〜１１  クライアント端末
１２〜１３  変換サーバ
【図１】
0005668342.tif 000002
【図２】
0005668342.tif 000003
【図３】
0005668342.tif 000004
【図４】
0005668342.tif 000005
【図５】
0005668342.tif 000006
【図６】
0005668342.tif 000007
【図７】
0005668342.tif 000008
【図８】
0005668342.tif 000009
【図９】
0005668342.tif 000010
【図１０】
0005668342.tif 000011
【図１１】
0005668342.tif 000012
【図１２】
0005668342.tif 000013
【図１３】
0005668342.tif 000014
【図１４】
0005668342.tif 000015
【図１５】
0005668342.tif 000016
【図１６】
0005668342.tif 000017
【図１７】
0005668342.tif 000018
【図１８】
0005668342.tif 000019
【図１９】
0005668342.tif 000020
【図２０】
0005668342.tif 000021
【図２１】
0005668342.tif 000022
【図２２】
0005668342.tif 000023
【図２３】
0005668342.tif 000024
【図２４】
0005668342.tif 000025
【図２５】
0005668342.tif 000026
【図２６】
0005668342.tif 000027
【図２７】
0005668342.tif 000028
【図２８】
0005668342.tif 000029
【図２９】
0005668342.tif 000030
【図３０】
0005668342.tif 000031
【図３１】
0005668342.tif 000032
【図３２】
0005668342.tif 000033
【図３３】
0005668342.tif 000034
【図３４】
0005668342.tif 000035
【図３５】
0005668342.tif 000036
【図３６】
0005668342.tif 000037
【図３７】
0005668342.tif 000038
【図３８】
0005668342.tif 000039