(57)【特許請求の範囲】
【請求項１】
ネットワークサービスを提供するサービス提供サーバと、
前記ネットワークサービスを利用する場合に、オンライン時は、当該ネットワークサービスの利用に必要なファイルのファイル情報を記述したマニフェストファイルに基づいてファイルをキャッシュし、オフライン時は、キャッシュされたファイルを利用して当該ネットワークサービスの継続を確保するクライアントに通信可能状態で接続されたときに、前記サービス提供サーバと前記クライアントとの間で通信の中継を行うプロキシサーバであって、
前記クライアントが利用する第１の前記ネットワークサービスに係る前記マニフェストファイルを取得するマニフェストファイル取得手段と、
前記クライアントが前記第１のネットワークサービスと並行に利用する第２の前記ネットワークサービスの利用に必要なファイルの第２ファイル情報を取得するファイル情報取得手段と、
前記ファイル情報取得手段で取得した第２ファイル情報を、前記マニフェストファイル取得手段で取得したマニフェストファイルに反映させるファイル情報反映手段と、
前記ファイル情報反映手段で前記第２ファイル情報が反映されたマニフェストファイルを前記クライアントに提供するマニフェストファイル提供手段とを備えることを特徴とするプロキシサーバ。
【請求項２】
請求項１において、
前記ファイル情報取得手段は、前記マニフェストファイルを解析し、その解析結果に基づいて前記第２ファイル情報を取得することを特徴とするプロキシサーバ。
【請求項３】
請求項１および２のいずれか１項において、
前記第２のネットワークサービスを提供する前記サービス提供サーバは、広告サービスを提供する広告サーバであり、
前記広告サーバは、前記ファイル情報を受信し、受信したファイル情報に基づいて前記広告サービスの利用に必要なファイルのファイル情報を要求元に送信し、
前記ファイル情報取得手段は、前記マニフェストファイルから前記ファイル情報を取得し、取得したファイル情報を前記広告サーバに送信し、前記広告サーバから前記ファイル情報を受信することにより前記第２ファイル情報を取得することを特徴とするプロキシサーバ。
【請求項４】
ネットワークサービスを提供するサービス提供サーバと、
前記ネットワークサービスを利用する場合に、オンライン時は、当該ネットワークサービスの利用に必要なファイルのファイル情報を記述したマニフェストファイルに基づいてファイルをキャッシュし、オフライン時は、キャッシュされたファイルを利用して当該ネットワークサービスの継続を確保するクライアントに通信可能状態で接続されたときに、前記サービス提供サーバと前記クライアントとの間で通信の中継を行うプロキシサーバに実行させるための通信中継プログラムであって、
前記クライアントが利用する第１の前記ネットワークサービスに係る前記マニフェストファイルを取得するマニフェストファイル取得ステップと、
前記クライアントが前記第１のネットワークサービスと並行に利用する第２の前記ネットワークサービスの利用に必要なファイルの第２ファイル情報を取得するファイル情報取得ステップと、
前記ファイル情報取得ステップで取得した第２ファイル情報を、前記マニフェストファイル取得ステップで取得したマニフェストファイルに反映させるファイル情報反映ステップと、
前記ファイル情報反映ステップで前記第２ファイル情報が反映されたマニフェストファイルを前記クライアントに提供するマニフェストファイル提供ステップとからなる処理を前記プロキシサーバに実行させるためのプログラムであることを特徴とする通信中継プログラム。
【請求項５】
ネットワークサービスを提供するサービス提供サーバと、
前記ネットワークサービスを利用する場合に、オンライン時は、当該ネットワークサービスの利用に必要なファイルのファイル情報を記述したマニフェストファイルに基づいてファイルをキャッシュし、オフライン時は、キャッシュされたファイルを利用して当該ネットワークサービスの継続を確保するクライアントに通信可能状態で接続されたときに、前記サービス提供サーバと前記クライアントとの間で通信の中継を行う通信中継方法であって、
前記クライアントが利用する第１の前記ネットワークサービスに係る前記マニフェストファイルを取得するマニフェストファイル取得ステップと、
前記クライアントが前記第１のネットワークサービスと並行に利用する第２の前記ネットワークサービスの利用に必要なファイルの第２ファイル情報を取得するファイル情報取得ステップと、
前記ファイル情報取得ステップで取得した第２ファイル情報を、前記マニフェストファイル取得ステップで取得したマニフェストファイルに反映させるファイル情報反映ステップと、
前記ファイル情報反映ステップで前記第２ファイル情報が反映されたマニフェストファイルを前記クライアントに提供するマニフェストファイル提供ステップとを含むことを特徴とする通信中継方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サービス提供サーバとクライアントとの間で通信の中継を行うサーバおよびプログラム、並びに方法に係り、特に、更新確認のレスポンスを向上するのに好適なプロキシサーバおよび通信中継プログラム、並びに通信中継方法に関する。
【背景技術】
【０００２】
近年、Ｗｅｂブラウザを用いて受けられる様々なＷｅｂサービスが提供されている。そのうち、多くのＷｅｂサービスは、ネットワークに接続されたいわゆるオンライン時にのみ使用できる。しかしながら、オフライン時にもＷｅｂサービスを利用することへのユーザの要求は高い。
従来、ユーザが閲覧するＷｅｂページをオフラインでも参照したり、Ｗｅｂサービスをオフライン時にも使用できるように端末内にキャッシュする方法が提供されている（非特許文献１）。これは、Ｗｅｂサービス提供者が、Ｗｅｂサービスの利用に必要なファイルのＵＲＩ（Uniform Resource Identifier）をマニフェストファイルに記述しておき、オンライン時は、マニフェストファイルに基づいてファイルを端末内にキャッシュし、オフライン時は、キャッシュされたファイルを利用してＷｅｂサービスの継続を確保するものである。以下、非特許文献１のように、マニフェストファイルに基づいてキャッシュを行う機能を「オフラインキャッシュ機能」という。
【０００３】
また、多くのＷｅｂサイトでは、Ｗｅｂページの内容に連動した広告を表示するようにしている（非特許文献２）。これらの広告サイトは、Ｗｅｂサービスを提供する事業者とは別の事業者が提供していることが多い。
【非特許文献１】Google、“Google Gears”、［online］、［平成２０年４月３０日検索］、インターネット＜URL：http://code.google.com/apis/gears/＞
【非特許文献２】Google、“Google Adsense”、［online］、［平成２０年４月３０日検索］、インターネット＜URL：http://www.google.com/adsense/＞
【発明の開示】
【発明が解決しようとする課題】
【０００４】
自己のＷｅｂサービスがオフラインでも利用可能になるようにオフラインキャッシュ機能に対応する場合、Ｗｅｂサービス事業者は、自己のＷｅｂサービスの利用に必要なファイルのＵＲＩをマニフェストファイルに記述することになる。このとき、非特許文献２等の広告サービスを利用し、１つのＷｅｂページにより自己のＷｅｂサービスと広告サービスを同時に提供することを考えると、広告の表示に必要なファイルは、自己のＷｅｂサービスに係るマニフェストファイルに記述されていないため、オフライン時には、広告が表示できないか、またはＷｅｂサービスのページ自体が正常にブラウザに表示できなくなる可能性がある。
【０００５】
ここで、広告提供事業者が広告用のマニフェストファイルを用意したとすると、オフライン時にも広告の表示が行えるようになる。しかしながら、マニフェストファイルの更新確認は、自己のＷｅｂサービスについては、Ｗｅｂサービスのページの表示を開始したときに行われるのに対し、広告サービスについては、広告のファイルの表示を開始したときに初めて行われるため、更新確認が遅れレスポンスの低下を招くという問題があった。
【０００６】
そこで、本発明は、このような従来の技術の有する未解決の課題に着目してなされたものであって、更新確認のレスポンスを向上するのに好適なプロキシサーバおよび通信中継プログラム、並びに通信中継方法を提供することを目的としている。
【課題を解決するための手段】
【０００７】
〔発明１〕  上記目的を達成するために、発明１のプロキシサーバは、ネットワークサービスを提供するサービス提供サーバと、前記ネットワークサービスを利用する場合に、オンライン時は、当該ネットワークサービスの利用に必要なファイルのファイル情報を記述したマニフェストファイルに基づいてファイルをキャッシュし、オフライン時は、キャッシュされたファイルを利用して当該ネットワークサービスの継続を確保するクライアントに通信可能状態で接続されたときに、前記サービス提供サーバと前記クライアントとの間で通信の中継を行うプロキシサーバであって、前記クライアントが利用する第１の前記ネットワークサービスに係る前記マニフェストファイルを取得するマニフェストファイル取得手段と、前記クライアントが前記第１のネットワークサービスと並行に利用する第２の前記ネットワークサービスの利用に必要なファイルの第２ファイル情報を取得するファイル情報取得手段と、前記ファイル情報取得手段で取得した第２ファイル情報を、前記マニフェストファイル取得手段で取得したマニフェストファイルに反映させるファイル情報反映手段と、前記ファイル情報反映手段で前記第２ファイル情報が反映されたマニフェストファイルを前記クライアントに提供するマニフェストファイル提供手段とを備える。
【０００８】
このような構成であれば、プロキシサーバでは、マニフェストファイル取得手段により、第１のネットワークサービスに係るマニフェストファイルが取得される。また、ファイル情報取得手段により、第１のネットワークサービスと並行に利用する第２のネットワークサービスの利用に必要なファイルの第２ファイル情報が取得される。そして、ファイル情報反映手段により、取得された第２ファイル情報がマニフェストファイルに反映され、マニフェストファイル提供手段により、そのマニフェストファイルがクライアントに提供される。
【０００９】
クライアントでは、マニフェストファイルを受信すると、オンライン時は、受信したマニフェストファイルに基づいて、第１および第２のネットワークサービスの利用に必要なファイルがキャッシュされる。そして、オフライン時は、キャッシュされたファイルが利用されて第１および第２のネットワークサービスの継続が確保される。
これにより、１つのマニフェストファイルに基づいて第１および第２のネットワークサービスの利用に必要なファイルがキャッシュされるので、更新確認のレスポンスが向上する。
【００１０】
ここで、ファイル情報とは、ネットワークサービスの利用に必要なファイルに関する情報をいい、これには、ファイルの所在、識別子その他の属性を特定するのに必要な情報（例えば、ＵＲＩ、ＵＲＬ（Uniform Resource Locator））、その他ファイルを特定するのに必要な情報（例えば、ハッシュコード）が含まれる。さらに、ファイル情報は、その内容だけでファイルを特定することができるものであってもよいし、他の情報との組み合わせでファイルを特定することができるものであってもよい。後者の場合、例えば、マニフェストファイルのＵＲＩでファイルの所在を特定できれば、ファイル情報は、ファイルの識別子だけで構成することができる。第２ファイル情報についても同様である。以下、発明８の通信中継プログラム、および発明９の通信中継方法において同じである。
【００１１】
また、オフラインとは、クライアントがサービス提供サーバと物理的または論理的に通信できない状態をいい、オンラインとは、クライアントがサービス提供サーバと物理的および論理的に通信できる状態をいう。以下、発明８の通信中継プログラム、および発明９の通信中継方法において同じである。
また、第２のネットワークサービスは、第１のネットワークサービスと並行に利用するネットワークサービスをいい、これには、第１のネットワークサービスと同時に利用されるネットワークサービス、または同時でなくても第１のネットワークサービスの利用に関連して利用されるネットワークサービスが含まれる。前者には、例えば、１つのＷｅｂページで第１および第２のネットワークサービスを提供する場合が該当する。後者には、例えば、第１のネットワークサービスを提供するＷｅｂページに、第２のネットワークサービスを提供するＷｅｂページへのリンクが含まれる場合が該当する。以下、発明８の通信中継プログラム、および発明９の通信中継方法において同じである。
【００１２】
また、マニフェストファイル取得手段は、マニフェストファイルを取得するようになっていればどのような構成であってもよく、例えば、入力装置等からマニフェストファイルを入力してもよいし、外部の装置等からマニフェストファイルを獲得または受信してもよいし、記憶装置や記憶媒体等からマニフェストファイルを読み出してもよい。したがって、取得には、少なくとも入力、獲得、受信および読出が含まれる。以下、取得の概念については同じである。
【００１３】
また、マニフェストファイルへの第２ファイル情報の反映は、例えば、マニフェストファイルの内容を追加、変更、削除、修正その他の編集することにより行うことができる。以下、発明８の通信中継プログラム、および発明９の通信中継方法において同じである。
また、サービス提供サーバを通信可能状態で接続する形態としては、プロキシサーバとサービス提供サーバとが直接接続することのほか、他の端末、機器その他の設備を介してプロキシサーバとサービス提供サーバとが間接的に接続することも含まれる。このことは、プロキシサーバとクライアントとの接続関係、およびクライアントとサービス提供サーバとの接続関係についても同様である。以下、発明８の通信中継プログラム、および発明９の通信中継方法において同じである。
【００１４】
また、本システムは、単一の装置、端末その他の機器として実現するようにしてもよいし、複数の装置、端末その他の機器を通信可能状態で接続したネットワークシステムとして実現するようにしてもよい。後者の場合、各構成要素は、それぞれ通信可能状態で接続されていれば、複数の機器等のうちいずれに属していてもよい。
【００１５】
〔発明２〕  さらに、発明２のプロキシサーバは、発明１のプロキシサーバにおいて、前記ファイル情報取得手段は、前記マニフェストファイルを解析し、その解析結果に基づいて前記第２ファイル情報を取得する。
このような構成であれば、プロキシサーバでは、ファイル情報取得手段により、マニフェストファイルが解析され、その解析結果に基づいて第２ファイル情報が取得される。
これにより、例えば、マニフェストファイルのファイル情報により特定されるファイルに第２ファイル情報または第２ファイル情報の取得に必要な情報を記述しておけば、第２ファイル情報を取得することができる。
【００１６】
〔発明３〕  さらに、発明３のプロキシサーバは、発明１および２のいずれか１のプロキシサーバにおいて、前記第２のネットワークサービスを提供する前記サービス提供サーバは、広告サービスを提供する広告サーバであり、前記広告サーバは、前記ファイル情報を受信し、受信したファイル情報に基づいて前記広告サービスの利用に必要なファイルのファイル情報を要求元に送信し、前記ファイル情報取得手段は、前記マニフェストファイルから前記ファイル情報を取得し、取得したファイル情報を前記広告サーバに送信し、前記広告サーバから前記ファイル情報を受信することにより前記第２ファイル情報を取得する。
【００１７】
このような構成であれば、プロキシサーバでは、ファイル情報取得手段により、マニフェストファイルからファイル情報が取得され、取得されたファイル情報が広告サーバに送信される。
広告サーバでは、ファイル情報を受信すると、受信したファイル情報に基づいて広告サービスの利用に必要なファイルのファイル情報が要求元のプロキシサーバに送信される。
【００１８】
プロキシサーバでは、広告サーバからファイル情報を受信することにより第２ファイル情報が取得される。
これにより、第１のネットワークサービスの提供に伴って広告サービスを提供する場合に、１つのマニフェストファイルに基づいてそれらサービスの利用に必要なファイルがキャッシュされるので、更新確認のレスポンスが向上する。
【００１９】
〔発明４〕  さらに、発明４のプロキシサーバは、発明１および２のいずれか１のプロキシサーバにおいて、前記マニフェストファイルには、前記ネットワークサービスの利用に必要なファイルの格納場所を示すＵＲＩが前記ファイル情報として記述されており、前記ファイル情報取得手段は、前記マニフェストファイルから前記ＵＲＩを取得し、取得したＵＲＩに基づいて前記第２ファイル情報を取得する。
このような構成であれば、キャッシュすべきファイルをＵＲＩで指定することが可能となる。
【００２０】
〔発明５〕  さらに、発明５のプロキシサーバは、発明１および２のいずれか１のプロキシサーバにおいて、前記ファイル情報取得手段は、前記マニフェストファイル自身のＵＲＩを取得し、取得したＵＲＩに基づいて前記第２ファイル情報を取得する。
【００２１】
このような構成であれば、キャッシュすべきファイルをＨＴＭＬ（HyperText Markup Language）ファイル等に記述して指定することが可能となる。
【００２２】
〔発明６〕  さらに、発明６のプロキシサーバは、発明１ないし５のいずれか１のプロキシサーバにおいて、前記第２ファイル情報を記憶するデータベースに通信可能状態で接続され、前記ファイル情報取得手段は、前記データベースから前記第２ファイル情報を取得する。
このような構成であれば、プロキシサーバでは、ファイル情報取得手段により、データベースから第２ファイル情報が取得される。
【００２３】
〔発明７〕  さらに、発明７のプロキシサーバは、発明１ないし６のいずれか１のプロキシサーバにおいて、前記マニフェストファイルは、構造化文書である。
このような構成であれば、マニフェストファイルを構造化文書で記述することができる。
【００２４】
〔発明８〕  一方、上記目的を達成するために、発明８の通信中継プログラムは、ネットワークサービスを提供するサービス提供サーバと、前記ネットワークサービスを利用する場合に、オンライン時は、当該ネットワークサービスの利用に必要なファイルのファイル情報を記述したマニフェストファイルに基づいてファイルをキャッシュし、オフライン時は、キャッシュされたファイルを利用して当該ネットワークサービスの継続を確保するクライアントに通信可能状態で接続されたときに、前記サービス提供サーバと前記クライアントとの間で通信の中継を行うプロキシサーバに実行させるための通信中継プログラムであって、前記クライアントが利用する第１の前記ネットワークサービスに係る前記マニフェストファイルを取得するマニフェストファイル取得ステップと、前記クライアントが前記第１のネットワークサービスと並行に利用する第２の前記ネットワークサービスの利用に必要なファイルの第２ファイル情報を取得するファイル情報取得ステップと、前記ファイル情報取得ステップで取得した第２ファイル情報を、前記マニフェストファイル取得ステップで取得したマニフェストファイルに反映させるファイル情報反映ステップと、前記ファイル情報反映ステップで前記第２ファイル情報が反映されたマニフェストファイルを前記クライアントに提供するマニフェストファイル提供ステップとからなる処理を前記プロキシサーバに実行させるためのプログラムである。
【００２５】
このような構成であれば、コンピュータによってプログラムが読み取られ、読み取られたプログラムに従ってコンピュータが処理を実行すると、発明１のプロキシサーバと同等の作用が得られる。
【００２６】
〔発明９〕  一方、上記目的を達成するために、発明９の通信中継方法は、ネットワークサービスを提供するサービス提供サーバと、前記ネットワークサービスを利用する場合に、オンライン時は、当該ネットワークサービスの利用に必要なファイルのファイル情報を記述したマニフェストファイルに基づいてファイルをキャッシュし、オフライン時は、キャッシュされたファイルを利用して当該ネットワークサービスの継続を確保するクライアントに通信可能状態で接続されたときに、前記サービス提供サーバと前記クライアントとの間で通信の中継を行う通信中継方法であって、前記クライアントが利用する第１の前記ネットワークサービスに係る前記マニフェストファイルを取得するマニフェストファイル取得ステップと、前記クライアントが前記第１のネットワークサービスと並行に利用する第２の前記ネットワークサービスの利用に必要なファイルの第２ファイル情報を取得するファイル情報取得ステップと、前記ファイル情報取得ステップで取得した第２ファイル情報を、前記マニフェストファイル取得ステップで取得したマニフェストファイルに反映させるファイル情報反映ステップと、前記ファイル情報反映ステップで前記第２ファイル情報が反映されたマニフェストファイルを前記クライアントに提供するマニフェストファイル提供ステップとを含む。
【発明の効果】
【００２７】
以上説明したように、発明１のプロキシサーバによれば、１つのマニフェストファイルに基づいて第１および第２のネットワークサービスの利用に必要なファイルがキャッシュされるので、従来に比して、更新確認のレスポンスを向上することができるという効果が得られる。
さらに、発明２のプロキシサーバによれば、例えば、マニフェストファイルのファイル情報により特定されるファイルに第２ファイル情報または第２ファイル情報の取得に必要な情報を記述しておけば、第２ファイル情報を取得することができるという効果が得られる。
【００２８】
さらに、発明３のプロキシサーバによれば、第１のネットワークサービスの提供に伴って広告サービスを提供する場合に、１つのマニフェストファイルに基づいてそれらサービスの利用に必要なファイルがキャッシュされるので、更新確認のレスポンスを向上することができるという効果が得られる。
さらに、発明４のプロキシサーバによれば、キャッシュすべきファイルをＵＲＩで指定することが可能となるという効果が得られる。
【００２９】
さらに、発明５のプロキシサーバによれば、キャッシュすべきファイルをＨＴＭＬファイル等に記述して指定することが可能となるという効果が得られる。
さらに、発明７のプロキシサーバによれば、マニフェストファイルを構造化文書で記述することができるという効果が得られる。
一方、発明８の通信中継プログラム、または発明９の通信中継方法によれば、発明１のプロキシサーバと同等の効果が得られる。
【発明を実施するための最良の形態】
【００３０】
以下、本発明の実施の形態を図面を参照しながら説明する。図１ないし図４は、本発明に係るプロキシサーバおよび通信中継プログラム、並びに通信中継方法の実施の形態を示す図である。
本発明は、様々な修正および代替形態が可能であるが、本発明の特定の実施の形態を図面に例示し、本明細書で詳細に説明する。しかし、本発明は、開示される特定の実施の形態に限定する意図はなく、反対に、本発明は、特許請求の範囲によって定義される本発明の趣旨および範囲内に含まれるすべての変更形態、均等形態および代替形態に及ぶことを理解されたい。一般に、これらの実施の形態は、本発明の具体的な発明的態様または特徴を強調するために選択されたものである。
【００３１】
本明細書全体を通じて、同一の参照番号は、図の記述全体を通して同一の要素を表す。
要素が「接続」または「結合」されるものとして言及されるとき、これらの要素は、相互と直接に接続若しくは結合されてもよく、または１つ若しくは複数の介在要素があってもよい。
本実施の形態は、クライアントの負荷を軽減しながら、クライアントがネットワークに接続されていない場合でも、ユーザがデータ間の関連性のリンクを辿れるように表示することを可能にすることを目的とする。
【００３２】
まず、本発明を適用するネットワークシステムの機能概要を説明する。
図１は、ネットワークシステムの機能概要を示す機能ブロック図である。
ネットワーク１９９ａには、図１に示すように、通信の中継を行うプロキシサーバ１００と、オフラインキャッシュ機能に対応したＷｅｂサービスを提供するＷｅｂサービスサーバ３００と、広告サービスを提供する広告サーバ４００とが接続されている。ネットワーク１９９ａは、例えば、インターネットとして構成することができる。
【００３３】
一方、ネットワーク１９９ｂには、プロキシサーバ１００と、プロキシサーバ１００を介してＷｅｂサービスサーバ３００または広告サーバ４００と通信を行うクライアント２００とが接続されている。ネットワーク１９９ｂは、例えば、イントラネットとして構成することができる。
【００３４】
プロキシサーバ１００は、マニフェストファイルを取得するマニフェストファイル取得部１０と、マニフェストファイル取得部１０で取得したマニフェストファイルを解析し、その解析結果に基づいて広告サービスの利用に必要なファイル（以下、広告サービスファイルという。）の格納場所を示すＵＲＩを取得するマニフェストファイル解析部１２と、マニフェストファイル解析部１２で取得した広告サービスファイルのＵＲＩに基づいてマニフェストファイルを修正するマニフェストファイル修正部１４と、マニフェストファイル修正部１４で修正されたマニフェストファイルをクライアント２００に提供するマニフェストファイル提供部１６とを有して構成されている。
【００３５】
マニフェストファイル取得部１０は、クライアント２００からのリクエストをＷｅｂサービスサーバ３００に転送し、そのレスポンスとして、Ｗｅｂサービスに係るデータ（以下、Ｗｅｂサービスデータという。）をＷｅｂサービスサーバ３００から受信したときは、受信したＷｅｂサービスデータから、Ｗｅｂサービスの利用に必要なファイル（以下、Ｗｅｂサービスファイルという。）の格納場所を示すＵＲＩを記述したマニフェストファイルを取得する。また、受信したＷｅｂサービスデータのうちマニフェストファイル以外のデータをクライアント２００に送信する。
【００３６】
マニフェストファイル解析部１２は、マニフェストファイルを解析してマニフェストファイルからＷｅｂサービスファイルのＵＲＩを取得し、取得したＷｅｂサービスファイルのＵＲＩを広告サーバ４００に送信し、広告サービスファイルのＵＲＩリストを広告サーバ４００から受信する。
マニフェストファイル修正部１４は、マニフェストファイル解析部１２で取得した広告サービスファイルのＵＲＩをマニフェストファイルに追加することによりマニフェストファイルを修正する。
【００３７】
Ｗｅｂサービスサーバ３００は、プロキシサーバ１００からのリクエストに応じ、Ｗｅｂサービスデータをプロキシサーバ１００に送信する。
広告サーバ４００は、プロキシサーバ１００からＷｅｂサービスファイルのＵＲＩを受信したときは、受信したＷｅｂサービスファイルのＵＲＩにより特定されるＷｅｂページに広告を表示する必要があるか否かを判定し、広告を表示する必要があると判定したときは、そのＷｅｂページに広告を表示するための広告サービスファイルのＵＲＩリストをプロキシサーバ１００に送信する。
【００３８】
クライアント２００は、Ｗｅｂブラウザ２０を有して構成されている。
Ｗｅｂブラウザ２０は、プロキシサーバ１００からＷｅｂサービスデータを受信し、受信したＷｅｂサービスデータに基づいてＷｅｂページを表示することができる。また、オフラインキャッシュ機能を有し、オンライン時は、マニフェストファイルに基づいてＷｅｂサービスファイルをキャッシュし、オフライン時は、キャッシュされたファイルを利用してＷｅｂサービスの継続を確保する。なお、オフラインキャッシュ機能としては、非特許文献１の技術に限定する必要はなく、Dojo Offline、ＨＴＭＬ５のOffline Web Application、等、任意のオフラインキャッシュ機能を利用することができる。
【００３９】
次に、プロキシサーバ１００の構成を詳細に説明する。
図２は、プロキシサーバ１００のハードウェア構成を示す図である。
プロキシサーバ１００は、図２に示すように、制御プログラムに基づいて演算およびシステム全体を制御するＣＰＵ３０と、所定領域にあらかじめＣＰＵ３０の制御プログラム等を格納しているＲＯＭ３２と、ＲＯＭ３２等から読み出したデータやＣＰＵ３０の演算過程で必要な演算結果を格納するためのＲＡＭ３４と、外部装置に対してデータの入出力を媒介するＩ／Ｆ３８とで構成されており、これらは、データを転送するための信号線であるバス３９で相互にかつデータ授受可能に接続されている。
【００４０】
Ｉ／Ｆ３８には、外部装置として、ヒューマンインターフェースとしてデータの入力が可能なキーボードやマウス等からなる入力装置４０と、データやテーブル等をファイルとして格納する記憶装置４２と、画像信号に基づいて画面を表示する表示装置４４と、ネットワーク１９９ａ、１９９ｂに接続するための信号線とが接続されている。
ＣＰＵ３０は、マイクロプロセッシングユニット等からなり、ＲＯＭ３２の所定領域に格納されている所定のプログラムを起動させ、そのプログラムに従って、図３のフローチャートに示す通信中継処理を実行する。
【００４１】
図３は、通信中継処理を示すフローチャートである。
通信中継処理は、Ｗｅｂサービスサーバ３００または広告サーバ４００とクライアント２００との間で通信の中継を行う処理であって、ＣＰＵ３０において実行されると、図３に示すように、まず、ステップＳ１００に移行する。
ステップＳ１００では、Ｗｅｂサービスサーバ３００へのリクエストをクライアント２００から受信したか否かを判定し、リクエストを受信したと判定したとき(Yes)は、ステップＳ１０２に移行するが、そうでないと判定したとき(No)は、リクエストを受信するまでステップＳ１００で待機する。
【００４２】
ステップＳ１０２では、受信したリクエストをＷｅｂサービスサーバ３００に転送し、ステップＳ１０４に移行して、ＷｅｂサービスデータをＷｅｂサービスサーバ３００から受信し、ステップＳ１０６に移行する。
ステップＳ１０６では、受信したＷｅｂサービスデータを解析し、ステップＳ１０８に移行して、ステップＳ１０６の解析結果に基づいてＷｅｂサービスデータからマニフェストファイルを検出したか否かを判定し、マニフェストファイルを検出したと判定したとき(Yes)は、ステップＳ１１０に移行する。
【００４３】
ステップＳ１１０では、受信したＷｅｂサービスデータのうちマニフェストファイル以外のデータをクライアント２００に送信し、ステップＳ１１２に移行して、検出したマニフェストファイルを解析してマニフェストファイルからＷｅｂサービスファイルのＵＲＩを取得し、ステップＳ１１４に移行する。
ステップＳ１１４では、取得したＷｅｂサービスファイルのＵＲＩを広告サーバ４００に送信し、ステップＳ１１６に移行して、広告サービスファイルのＵＲＩリストを広告サーバ４００から受信し、ステップＳ１１８に移行する。
【００４４】
ステップＳ１１８では、受信した広告サービスファイルのＵＲＩの重複を排除し、重複のないＵＲＩを、検出したマニフェストファイルに追加することによりマニフェストファイルを修正し、ステップＳ１２０に移行して、修正されたマニフェストファイルをクライアント２００に送信し、一連の処理を終了して元の処理に復帰させる。
一方、ステップＳ１０８で、マニフェストファイルを検出しないと判定したときは、ステップＳ１２２に移行して、受信したＷｅｂサービスデータをクライアント２００に送信し、一連の処理を終了して元の処理に復帰させる。
【００４５】
なお、Ｗｅｂサービスサーバ３００、広告サーバ４００およびクライアント２００は、プロキシサーバ１００と同様に、ＣＰＵ、ＲＯＭ、ＲＡＭおよびＩ／Ｆ等をバス接続した一般的なコンピュータとして構成することができる。
【００４６】
次に、本実施の形態の動作を説明する。
まず、クライアント２００がオンライン状態である場合の動作を説明する。
クライアント２００では、ユーザがＷｅｂブラウザ２０を起動し、Ｗｅｂサービスに係るＷｅｂページのＵＲＩをＷｅｂブラウザ２０に入力すると、Ｗｅｂサービスサーバ３００へのリクエストがプロキシサーバ１００に送信される。
プロキシサーバ１００では、リクエストを受信すると、ステップＳ１０２を経て、受信したリクエストがＷｅｂサービスサーバ３００に転送される。
【００４７】
Ｗｅｂサービスサーバ３００では、リクエストを受信すると、そのレスポンスとして、Ｗｅｂサービスを構成するＨＴＭＬ、Java（登録商標）Script、ＣＳＳ等のデータと、クライアント２００がキャッシュすべきＷｅｂサービスファイルのＵＲＩを記述したマニフェストファイルとを含むＷｅｂサービスデータがプロキシサーバ１００に送信される。
プロキシサーバ１００では、Ｗｅｂサービスデータを受信すると、ステップＳ１０６、Ｓ１０８を経て、受信したＷｅｂサービスデータが解析され、Ｗｅｂサービスデータからマニフェストファイルが検出される。そして、ステップＳ１１０を経て、受信したＷｅｂサービスデータのうちマニフェストファイル以外のデータがクライアント２００に送信される。また、ステップＳ１１２、Ｓ１１４を経て、マニフェストファイルが解析されてＷｅｂサービスファイルのＵＲＩが取得され、取得されたＷｅｂサービスファイルのＵＲＩが広告サーバ４００に送信される。
【００４８】
広告サーバ４００では、ＷｅｂサービスファイルのＵＲＩを受信すると、受信したＷｅｂサービスファイルのＵＲＩに基づいて広告サービスファイルのＵＲＩリストがプロキシサーバ１００に送信される。
プロキシサーバ１００では、広告サービスファイルのＵＲＩリストを受信すると、ステップＳ１１８、Ｓ１２０を経て、受信した広告サービスファイルのＵＲＩに基づいてマニフェストファイルが修正され、修正されたマニフェストファイルがクライアント２００に送信される。
【００４９】
図４は、Ｗｅｂサービスファイルおよび広告サービスファイルの更新タイミングを示すシーケンスチャートである。
クライアント２００では、Ｗｅｂサービスデータを受信し、受信したＷｅｂサービスデータに基づいてＷｅｂページが表示される。また、マニフェストファイルを受信すると、マニフェストファイルに基づいてＷｅｂサービスファイルおよび広告サービスファイルの更新確認が行われる。更新確認においては、図４（ａ）に示すように、プロキシサーバ１００を介して、Ｗｅｂサービスファイルに係るリクエストがＷｅｂサービスサーバ３００に、広告サービスファイルのリクエストがＷｅｂサービスサーバ３００にそれぞれ送信される。これらリクエストの送信はほぼ同時に行われる。そして、プロキシサーバ１００を介して、ＷｅｂサービスファイルをＷｅｂサービスサーバ３００から、広告サービスファイルを広告サーバ４００からそれぞれ受信し、受信したＷｅｂサービスファイルおよび広告サービスファイルが記憶装置４２にキャッシュされる。
【００５０】
これに対し、ＷｅｂサービスファイルのＵＲＩを記述したマニフェストファイルと、広告サービスファイルのＵＲＩを記述したマニフェストファイルとが別々に提供される従来例にあっては、クライアント２００では、図４（ｂ）に示すように、Ｗｅｂサービスファイルに係るレスポンスの送信およびＷｅｂサービスファイルの受信が行われた後に、広告サービスファイルのＵＲＩを記述したマニフェストファイルを受信し、広告サービスファイルに係るレスポンスの送信および広告サービスファイルの受信が行われる。そのため、同図（ｂ）の矢印で示すように、Ｗｅｂサービスファイルに係るレスポンスの送信開始から、広告サービスファイルに係るレスポンスの送信開始までの期間に相当する時間だけ更新確認が遅れレスポンスの低下を招くことになる。
【００５１】
次に、クライアント２００がオフライン状態である場合の動作を説明する。
クライアント２００では、ユーザがＷｅｂブラウザ２０を起動し、Ｗｅｂサービスに係るＷｅｂページのＵＲＩをＷｅｂブラウザ２０に入力すると、オフライン状態であると判定されるので、記憶装置４２にキャッシュされているファイルを利用してＷｅｂサービスおよび広告サービスの継続が確保される。
【００５２】
このようにして、本実施の形態では、プロキシサーバ１００は、ＷｅｂサービスファイルのＵＲＩを記述したマニフェストファイルを取得し、Ｗｅｂサービスと並行に利用する広告サービスファイルのＵＲＩを取得し、取得した広告サービスファイルのＵＲＩに基づいてマニフェストファイルを修正し、修正されたマニフェストファイルをクライアント２００に提供する。
【００５３】
これにより、１つのマニフェストファイルに基づいてＷｅｂサービスファイルおよび広告サービスファイルがキャッシュされるので、従来に比して、更新確認のレスポンスを向上することができる。
さらに、本実施の形態では、プロキシサーバ１００は、マニフェストファイルを解析し、その解析結果に基づいて広告サービスファイルのＵＲＩを取得する。
【００５４】
これにより、例えば、マニフェストファイルのＵＲＩにより特定されるＷｅｂページ等に、広告サービスファイルのＵＲＩまたはそのＵＲＩへのリンクを記述しておけば、広告サービスファイルのＵＲＩを取得することができる。
さらに、本実施の形態では、プロキシサーバ１００は、マニフェストファイルからＷｅｂサービスファイルのＵＲＩを取得し、取得したＷｅｂサービスファイルのＵＲＩを広告サーバ４００に送信し、広告サービスファイルのＵＲＩリストを広告サーバ４００から受信することにより広告サービスファイルのＵＲＩを取得する。
【００５５】
これにより、Ｗｅｂサービスの提供に伴って広告サービスを提供する場合に、１つのマニフェストファイルに基づいてＷｅｂサービスファイルおよび広告サービスファイルがキャッシュされるので、更新確認のレスポンスを向上することができる。
さらに、本実施の形態では、マニフェストファイルには、Ｗｅｂサービスファイルまたは広告サービスファイルの格納場所を示すＵＲＩが記述されている。
【００５６】
これにより、キャッシュすべきファイルをＵＲＩで指定することが可能となる。
上記実施の形態において、Ｗｅｂサービスサーバ３００は、発明１、３、８または９のサービス提供サーバに対応し、マニフェストファイル取得部１０およびステップＳ１０６、Ｓ１０８は、発明１のマニフェストファイル取得手段に対応し、ステップＳ１０６、Ｓ１０８は、発明８または９のマニフェストファイル取得ステップに対応している。また、マニフェストファイル解析部１２およびステップＳ１１２〜Ｓ１１６は、発明１ないし４のファイル情報取得手段に対応し、ステップＳ１１２〜Ｓ１１６は、発明８または９のファイル情報取得ステップに対応し、マニフェストファイル修正部１４およびステップＳ１１８は、発明１のファイル情報反映手段に対応している。
【００５７】
また、上記実施の形態において、ステップＳ１１８は、発明８または９のファイル情報反映ステップに対応し、マニフェストファイル提供部１６およびステップＳ１２０は、発明１のマニフェストファイル提供手段に対応し、ステップＳ１２０は、発明８または９のマニフェストファイル提供ステップに対応している。また、Ｗｅｂサービスは、発明１、８または９の第１のネットワークサービスに対応し、広告サービスは、発明３の第２のネットワークサービスに対応し、ＵＲＩは、発明１、３、４、８または９のファイル情報に対応し、広告サービスファイルのＵＲＩは、発明１ないし４、８または９の第２ファイル情報に対応している。
【００５８】
なお、上記実施の形態において、プロキシサーバ１００は、マニフェストファイルからＷｅｂサービスファイルのＵＲＩを取得し、取得したＷｅｂサービスファイルのＵＲＩに基づいて広告サービスファイルのＵＲＩを取得するように構成したが、これに限らず、マニフェストファイル自身のＵＲＩを取得し、取得したＵＲＩに基づいて広告サービスファイルのＵＲＩを取得するように構成することもできる。
【００５９】
これにより、キャッシュすべきファイルをＨＴＭＬファイル等に記述して指定することが可能となる。
また、上記実施の形態において、プロキシサーバ１００は、広告サービスファイルのＵＲＩを広告サーバ４００から取得するように構成したが、これに限らず、広告サービスファイルのＵＲＩを記憶するデータベースサーバをネットワーク１９９ａまたはネットワーク１９９ｂに接続し、広告サービスファイルのＵＲＩをデータベースサーバから取得するように構成することもできる。
【００６０】
また、上記実施の形態においては、マニフェストファイルのデータ構造について特に説明しなかったが、マニフェストファイルは、ＸＭＬ（eXtensible Markup Language）等の構造化文書として構成することができる。
これにより、マニフェストファイルを構造化文書で記述することができる。
また、上記実施の形態において、クライアント２００、プロキシサーバ１００、Ｗｅｂサービスサーバ３００および広告サーバ４００は、ＣＰＵ、ＲＯＭ、ＲＡＭおよびＩ／Ｆ等をバス接続した一般的なコンピュータとして構成したが、これに限らず、データを記憶および操作することのできるコンピュータまたはその他の任意のデバイスとして構成することができる。例えば、プロキシサーバ１００、Ｗｅｂサービスサーバ３００および広告サーバ４００はサーバコンピュータとして、クライアント２００は携帯端末として構成することができる。携帯端末としては、例えば、携帯電話、携帯型情報端末、ポータブル・ラップトップコンピュータ、ポータブルメディアプレーヤ、パーソナル情報マネージャ、家電機器、または少なくとも何らかのデータ記憶装置を有するその他のデバイスを採用することができる。
【００６１】
また、上記実施の形態においては、プロキシサーバ１００を単独の機器として構成したが、これに限らず、プロキシサーバ１００が有する機能を、Ｗｅｂサービスサーバ３００、広告サーバ４００またはクライアント２００で実現するように構成することもできる。この場合、Ｗｅｂサービスサーバ３００、広告サーバ４００またはクライアント２００がプロキシサーバとなる。
【００６２】
また、上記実施の形態においては、ネットワーク１９９ａ、１９９ｂの通信方式について特に説明しなかったが、任意の通信方式を採用することができる。例として、イーサネット（登録商標）、トークンリング、シリアルまたはパラレル通信等の様々な有線通信プロトコル、様々な無線プロトコル、パケット通信、電話、その他の任意の通信方式が挙げられるが、これらに限定されるものではない。クライアント２００が携帯電話である場合は、携帯電話の公衆回線をネットワーク１９９ｂとすることもできる。場合によっては、様々な暗号化プロトコルを使用することもできる。
【００６３】
また、上記実施の形態において、図３のフローチャートに示す通信中継処理を実行するにあたっては、ＲＯＭ３２にあらかじめ格納されている制御プログラムを実行する場合について説明したが、これに限らず、これらの手順を示したプログラムが記憶された記憶媒体から、そのプログラムをＲＡＭ３４に読み込んで実行するようにしてもよい。
ここで、記憶媒体とは、ＲＡＭ、ＲＯＭ等の半導体記憶媒体、ＦＤ、ＨＤ等の磁気記憶型記憶媒体、ＣＤ、ＣＤＶ、ＬＤ、ＤＶＤ等の光学的読取方式記憶媒体、ＭＯ等の磁気記憶型／光学的読取方式記憶媒体であって、電子的、磁気的、光学的等の読み取り方法のいかんにかかわらず、コンピュータで読み取り可能な記憶媒体であれば、あらゆる記憶媒体を含むものである。
【００６４】
また、上記実施の形態においては、本発明に係るプロキシサーバおよび通信中継プログラム、並びに通信中継方法をプロキシサーバ１００に適用したが、これに限らず、本発明の主旨を逸脱しない範囲で他の場合にも適用可能である。
本発明は、デバイス、システム、方法、および／またはコンピュータプログラム製品として具体化することができる。したがって、本発明の一部またはすべては、ハードウェアおよび／またはソフトウェア（ファームウェア、常駐ソフトウェア、マイクロコード、ステートマシン、ゲートアレイ等を含む）に組み入れることができる。さらに、本発明は、コンピュータによって使用可能な、またはコンピュータ可読の記憶媒体上のコンピュータプログラム製品の形態をとることができ、この媒体には、命令実行システムによって、または命令実行システムとともに使用される、コンピュータによって使用可能な、またはコンピュータ可読のプログラムコードが組み入れられる。本明細書のコンテキストでは、コンピュータによって使用可能な、またはコンピュータ可読の媒体は、命令実行システム、装置若しくはデバイスによって、またはそれらとともに使用されるプログラムを、収録する、記憶する、通信する、伝搬する、または搬送することのできる、任意の媒体とすることができる。
【００６５】
コンピュータによって使用可能な、またはコンピュータ可読の媒体は、例えば、電子、磁気、光学、電磁、赤外線または半導体の、システム、装置、デバイスまたは伝搬媒体とすることができるが、これらに限定されるものではない。コンピュータ可読の媒体には、例として、コンピュータ記憶媒体および通信媒体を含めることができるが、これらに限定されるものではない。
【００６６】
コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータ等の情報を記憶するための任意の方法または技術で実現された、揮発性および不揮発性、着脱可能および着脱不能の媒体が含まれる。コンピュータ記憶媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリその他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）、その他の光記憶、磁気カセット、磁気テープ、磁気ディスク記憶、その他の磁気記憶装置、または、所望の情報を記憶するのに使用でき命令実行システムからアクセスできるその他の任意の媒体が含まれるが、これらに限定されるものではない。プログラムは、例えば、紙媒体または他の媒体を光学的に走査することによって電子的に取り込んでから、必要ならば適切な方式でコンパイル、解釈、または他の方法で処理し、次いでコンピュータメモリに記憶することができるので、コンピュータによって使用可能な、またはコンピュータ可読の媒体は、プログラムが印刷された紙媒体または別の適切な媒体であってもよいことに留意されたい。
【００６７】
通信媒体は、通常、コンピュータ可読命令、データ構造、プログラムモジュールまたはその他のデータを、搬送波やその他の移送機構等の被変調データ信号に組み入れるものであり、通信媒体には任意の情報伝達媒体が含まれる。「被変調データ信号」は、信号中の情報が符号化される形で１つまたは複数の特性が設定または変更される信号を意味する。例えば、通信媒体には、有線ネットワークや直接有線接続等の有線媒体と、音響、ＲＦ、赤外線等の無線媒体およびその他の無線媒体とが含まれるが、これらに限定されるものではない。上記のいずれかの組合せもコンピュータ可読の媒体の範囲内に含まれる。
【００６８】
本発明がコンピュータ実行可能命令の一般的なコンテキストで具体化されるとき、この実施の形態は、１つまたは複数のシステム、コンピュータ、またはその他のデバイスによって実行されるプログラムモジュールを含むことができる。一般に、プログラムモジュールは、特定のタスクを実施するか、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。通常、プログラムモジュールの機能は、様々な実施の形態で望まれるように結合または分散させることができる。
【産業上の利用可能性】
【００６９】
本発明は、サービス提供サーバとクライアントとの間で通信の中継を行い、更新確認のレスポンスを向上するプロキシサーバおよび通信中継プログラム、並びに通信中継方法である。
【図面の簡単な説明】
【００７０】
【図１】ネットワークシステムの機能概要を示す機能ブロック図である。
【図２】プロキシサーバ１００のハードウェア構成を示す図である。
【図３】通信中継処理を示すフローチャートである。
【図４】Ｗｅｂサービスファイルおよび広告サービスファイルの更新タイミングを示すシーケンスチャートである。
【符号の説明】
【００７１】
１００…プロキシサーバ、  １０…マニフェストファイル取得部、  １２…マニフェストファイル解析部、  １４…マニフェストファイル修正部、  １６…マニフェストファイル提供部、  ３０…ＣＰＵ、  ３２…ＲＯＭ、  ３４…ＲＡＭ、  ３８…Ｉ／Ｆ、  ３９…バス、  ４０…入力装置、  ４２…記憶装置、  ４４…表示装置、  ２００…クライアント、  ２０…Ｗｅｂブラウザ、  ３００…Ｗｅｂサービスサーバ、  ４００…広告サーバ、  １９９ａ、１９９ｂ…ネットワーク
【図１】
0005022301.tif 000002
【図２】
0005022301.tif 000003
【図３】
0005022301.tif 000004
【図４】
0005022301.tif 000005