(57)【要約】 異なるサーバ装置により提供されるデータを１つのページ内に含めて表示させる。 サーバ装置から取得したデータを含むページをクライアント端末に提供する提供装置であって、クライアント端末からページ取得要求を受信したことに応じて、クライアント端末上で実行されて、当該提供装置へとデータを送信することを指示するデータ送信指示をクライアント端末からサーバ装置へと送信するコードを含むページを返信するページ返信部と、クライアント端末からデータ送信指示を受け取ったサーバ装置が送信するデータを受信するデータ受信部と、サーバ装置から受信したデータをクライアント端末に転送する転送部と、を備える提供装置を提供する。
2010055781.tif 000002
【特許請求の範囲】
【請求項１】
サーバ装置から取得したデータを含むページをクライアント端末に提供する提供装置であって、
前記クライアント端末からページ取得要求を受信したことに応じて、前記クライアント端末上で実行されて、当該提供装置へと前記データを送信することを指示するデータ送信指示を前記クライアント端末から前記サーバ装置へと送信するコードを含むページを返信するページ返信部と、
前記クライアント端末から前記データ送信指示を受け取った前記サーバ装置が送信する前記データを受信するデータ受信部と、
前記サーバ装置から受信した前記データを前記クライアント端末に転送する転送部と、  を備える提供装置。
【請求項２】
前記ページ返信部は、前記クライアント端末上で実行されて、前記データ送信指示を前記サーバ装置へと送信すると共に、前記データの取得要求を当該提供装置へと送信する前記コードを含むページを返信し、
前記転送部は、前記クライアント端末からデータ取得要求を受信したことに応じて、前記サーバ装置から受信した前記データを前記クライアント端末に転送して、前記ページ返信部が返信したページに含めて表示させる
請求項１に記載の提供装置。
【請求項３】
前記ページ返信部は、前記クライアント端末上で実行されて、前記データ送信指示を前記サーバ装置へと送信すると共に、当該提供装置に対して前記ページ取得要求を再送する前記コードを含むページを返信し、
当該提供装置は、前記サーバ装置から受信した前記データを含むページを生成するページ生成部を更に備え、
前記転送部は、前記クライアント端末から前記ページ取得要求の再送を受けたことに応じて、前記ページ生成部が生成したページを返信する
請求項１または２に記載の提供装置。
【請求項４】
前記ページ返信部は、前記クライアント端末から前記ページ取得要求を受信したことに応じて、前記クライアント端末上で実行されて、前記データ送信指示を、当該提供装置からのデータ取得要求を遮断する内部ネットワークに前記クライアント端末と共に接続された内部サーバ装置へと送信するコードを含むページを返信し、
当該提供装置は、
前記クライアント端末から前記ページ取得要求を受信したことに応じて、当該提供装置からのデータ取得要求が遮断されない外部ネットワークに接続された外部サーバ装置からデータを取得するデータ取得部と、
前記データ取得部が取得したデータを前記クライアント端末に送信する外部データ送信部と、
を更に備える請求項１から３のいずれかに記載の提供装置。
【請求項５】
当該提供装置は、当該提供装置が提供するページに含めるべきデータの指定を前記クライアント端末から入力する入力部を更に備え、
前記ページ返信部は、前記クライアント端末からページ取得要求を受信したことに応じて、前記クライアント端末上で実行されて、指定された前記データを当該提供装置へと送信することを指示する前記データ送信指示を前記クライアント端末から前記サーバ装置へと送信する前記コードを含むページを返信する請求項１から４のいずれかに記載の提供装置。
【請求項６】
前記ページ返信部は、前記クライアント端末上で実行されて、前記データ送信指示として前記サーバ装置上のスクリプトを呼び出すコードを含むページを返信し、
前記データ受信部は、前記クライアント端末によって呼び出されるスクリプトの取得要求を受け取った前記サーバ装置が、スクリプトの取得要求を受けたことに応じて当該提供装置へと送信する前記データを受信する
請求項１から５のいずれかに記載の提供装置。
【請求項７】
前記ページ返信部は、前記クライアント端末上で実行されて、前記データ送信指示として、前記クライアント端末の暗号化キーをパラメータとして含んで前記サーバ装置上のスクリプトを呼び出すコードを含むページを返信し、
前記データ受信部は、前記クライアント端末によって呼び出されるスクリプトの取得要求を受け取った前記サーバ装置が、スクリプトの取得要求を受けたことに応じて当該提供装置へと送信する暗号化された前記データを受信し、
前記転送部は、前記サーバ装置から受信した暗号化された前記データを前記クライアント端末に転送する
請求項１から６のいずれかに記載の提供装置。
【請求項８】
前記ページ返信部は、前記クライアント端末上で実行されて、前記データ送信指示を前記サーバ装置へと送信する前記コードと、当該提供装置から前記ページ内における所定領域の表示内容を取得して前記ページに含めることを指示するコードを含むページを返信し、
当該提供装置は、前記サーバ装置から受信した前記データを含む前記表示内容を生成する表示内容生成部を更に備え、
前記転送部は、前記コードにより指定された表示内容の取得要求を前記クライアント端末から受信したことに応じて、前記表示内容生成部が生成した表示内容を返信する
請求項１から７のいずれかに記載の提供装置。
【請求項９】
データを提供するサーバ装置と、前記データを含むページをクライアント端末に提供する提供装置とを備えるシステムであって、
前記提供装置は、
前記クライアント端末からページ取得要求を受信したことに応じて、前記クライアント端末上で実行されて、当該提供装置へと前記データを送信することを指示するデータ送信指示を前記クライアント端末から前記サーバ装置へと送信するコードを含むページを返信するページ返信部と、
前記クライアント端末から前記データ送信指示を受け取った前記サーバ装置が送信する前記データを受信するデータ受信部と、
前記サーバ装置から受信した前記データを前記クライアント端末に転送する転送部と、  を備え、
前記サーバ装置は、前記クライアント端末から前記データ送信指示を受信したことに応じて、前記データを前記提供装置へと送信するデータ送信部を備える
システム。
【請求項１０】
請求項１から８のいずれかに記載の提供装置に対してデータを提供するサーバ装置であって、
前記提供装置から前記コードを含むページを受信した前記クライアント端末が送信する前記データ送信指示を受信する送信指示受信部と、
前記データ送信指示を受信したことに応じて、前記データ送信指示により指定された前記データを、前記提供装置へと送信するデータ送信部と、
を備えるサーバ装置。
【請求項１１】
サーバ装置から取得したデータを含むページをクライアント端末に提供する提供装置として、コンピュータを機能させるプログラムであって、
前記コンピュータを、
前記クライアント端末からページ取得要求を受信したことに応じて、前記クライアント端末上で実行されて、当該提供装置へと前記データを送信することを指示するデータ送信指示を前記クライアント端末から前記サーバ装置へと送信するコードを含むページを返信するページ返信部と、
前記クライアント端末から前記データ送信指示を受け取った前記サーバ装置が送信する前記データを受信するデータ受信部と、
前記サーバ装置から受信した前記データを前記クライアント端末に転送する転送部と、  して機能させるプログラム。
【請求項１２】
請求項１から８のいずれかに記載の提供装置に対してデータを提供するサーバ装置として、コンピュータを機能させるプログラムであって、
前記コンピュータを、
前記提供装置から前記コードを含むページを受信した前記クライアント端末が送信する前記データ送信指示を受信する送信指示受信部と、
前記データ送信指示を受信したことに応じて、前記データ送信指示により指定された前記データを、前記提供装置へと送信するデータ送信部と、
して機能させるプログラム。
【請求項１３】
サーバ装置から取得したデータを含むページをクライアント端末に提供する提供装置において実行される方法であって、
前記クライアント端末からページ取得要求を受信したことに応じて、前記クライアント端末上で実行されて、当該提供装置へと前記データを送信することを指示するデータ送信指示を前記クライアント端末から前記サーバ装置へと送信するコードを含むページを返信するページ返信ステップと、
前記クライアント端末から前記データ送信指示を受け取った前記サーバ装置が送信する前記データを受信するデータ受信ステップと、
前記サーバ装置から受信した前記データを前記クライアント端末に転送する転送ステップと、
を実行する方法。
【請求項１４】
請求項１から８のいずれかに記載の提供装置に対してデータを提供するサーバ装置において実行される方法であって、
前記提供装置から前記コードを含むページを受信した前記クライアント端末が送信する前記データ送信指示を受信する送信指示受信ステップと、
前記データ送信指示を受信したことに応じて、前記データ送信指示により指定された前記データを、前記提供装置へと送信するデータ送信ステップと、
を実行する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ページをクライアント端末に提供する提供装置、システム、サーバ装置、プログラム及び方法に関する。
【背景技術】
【０００２】
マッシュアップと呼ばれるサービスを提供するマッシュアップサービスプロバイダが知られている。マッシュアップサービスプロバイダは、ユーザにより指定された別個のサーバ装置により提供されるデータを、１つのウェッブページ内に合成してクライアント端末に提供する。例えば、サーバ装置Ａにより提供される天気データおよびサーバ装置Ｂにより提供される株価データの指定をユーザから予め受けておき、ユーザからのページ取得要求を受けると、天気データ及び株価データを含むウェッブページを、当該ユーザに対して提供する。このようなマッシュアップサービスプロバイダは、ユーザ毎に固有のウェッブページを提供することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−３３４８４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、例えば企業内のイントラネット上のサーバ装置により提供されるデータと、外部のサーバ装置により提供されているデータとを含むウェッブページを取得したい場合がある。例えば、企業内のイントラネット上のサーバ装置により提供される出張費申請画面と、外部のサーバ装置により提供される路線案内画面とを含むウェッブページを取得したい場合がある。【０００５】
しかしながら、企業内のイントラネットのサーバ装置はファイアウォールにより外部から遮断されているので、外部の一般のサーバ装置からはアクセスができない。従って、マッシュアップサービスプロバイダは、企業内のサーバ装置により提供されるデータと、外部のサーバ装置により提供されているデータとを含むウェッブページを提供することができない。【０００６】
また、ブラウザは、クロスドメイン問題により、複数のサーバ装置から取得したデータを１画面内に表示できない構成となっている。従って、クライアント装置が、外部のサーバ装置から取得したデータと、企業内のサーバ装置により提供されるデータとを合成した画面を生成することもできない。【０００７】
また、特許文献１には、スクリプトを動的に生成することにより、クライアント装置が別ドメインの情報を取得する方法が記載されている。しかしながら、特許文献１に記載された方法では、マッシュアップを目的とするアクセスに限らず、クライアントからのどのようなアクセスに対してもサーバ装置がデータを返信する構成となるので、セキュリティ的に脆弱となる可能性がある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明の第１の態様においては、サーバ装置から取得したデータを含むページをクライアント端末に提供する提供装置であって、前記クライアント端末からページ取得要求を受信したことに応じて、前記クライアント端末上で実行されて、当該提供装置へと前記データを送信することを指示するデータ送信指示を前記クライアント端末から前記サーバ装置へと送信するコードを含むページを返信するページ返信部と、前記クライアント端末から前記データ送信指示を受け取った前記サーバ装置が送信する前記データを受信するデータ受信部と、前記サーバ装置から受信した前記データを前記クライアント端末に転送する転送部と、を備える提供装置を提供する。さらに、このような提供装置としてコンピュータを機能させるプログラムおよび方法を提供する。【０００９】
また、本発明の第２の態様においては、前記第１の態様の提供装置に対してデータを提供するサーバ装置であって、前記提供装置から前記コードを含むページを受信した前記クライアント端末が送信する前記データ送信指示を受信する送信指示受信部と、前記データ送信指示を受信したことに応じて、前記データ送信指示により指定された前記データを、前記提供装置へと送信するデータ送信部と、を備えるサーバ装置を提供する。さらに、このようなサーバ装置としてコンピュータを機能させるプログラムおよび方法を提供する。【００１０】
また、本発明の第３の態様においては、前記第１の態様の提供装置と、前記第２の態様のサーバ装置とを備えるシステムを提供する。なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態に係る情報提供システム１００の構成を示す。
【図２】本実施形態に係る提供装置１２０により提供されるウェッブページ２００の一例を示す。
【図３】第１例に係る情報提供システム１００内の提供装置１２０および内部サーバ装置１１４の機能構成を、外部サーバ装置１１２及びクライアント端末１３０と共に示す。
【図４】第１例に係る情報提供システム１００における、ページの提供処理の流れを示す。
【図５】第２例に係る情報提供システム１００内の提供装置１２０および内部サーバ装置１１４の機能構成を、外部サーバ装置１１２及びクライアント端末１３０と共に示す。
【図６】図６は、第２例に係る情報提供システム１００における、ページの提供処理の流れを示す。
【図７】第１例に係るクライアント端末１３０から送信されたページ取得要求に応じて提供装置１２０が返信する、ＨＴＭＬページの擬似コードの一例を示す。
【図８】図７のＨＴＭＬページから呼び出されるスクリプトの擬似コードの一例を示す。
【図９】第１例及び第２例に係る内部サーバ装置１１４内のプッシュブローカモジュールの擬似コードの一例を示す。
【図１０】第１例及び第２例に係る提供装置１２０内のサービスブリッジモジュールの擬似コードの一例を示す。
【図１１】第２例に係るクライアント端末１３０から送信されたページ取得要求に応じて提供装置１２０が返信する、最初のＨＴＭＬページの擬似コードの一例を示す。
【図１２】第２例に係るクライアント端末１３０から再送されたページ取得要求に応じて提供装置１２０が返信する、２回目のＨＴＭＬページの擬似コードの一例を示す。
【図１３】本発明の実施形態に係るコンピュータ１９００のハードウェア構成の一例を示す。
【発明を実施するための形態】
【００１２】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１３】
図１は、本実施形態に係る情報提供システム１００の構成を示す。情報提供システム１００は、１又は複数の外部サーバ装置１１２と、内部サーバ装置１１４と、提供装置１２０と、クライアント端末１３０とを備える。
【００１４】
各外部サーバ装置１１２および内部サーバ装置１１４は、サーバ装置の一例であって、与えられた要求に応じてデータを提供する。提供装置１２０は、各外部サーバ装置１１２および内部サーバ装置１１４から取得したデータを含むページをクライアント端末１３０に提供する。提供装置１２０は、例えば、ウェッブページをクライアント端末１３０にネットワークを介して提供する。クライアント端末１３０は、提供装置１２０により提供されたページをユーザに表示する。
【００１５】
ここで、各外部サーバ装置１１２及び提供装置１２０は、情報のやり取りが互いに遮断されない外部ネットワーク上に接続されている。なお、ネットワーク上に接続されているとは、ネットワーク上の他の機器との間で通信ができることをいい、有線又は無線を問わない。
【００１６】
これに対して、内部サーバ装置１１４及びクライアント端末１３０は、外部ネットワーク上に接続された機器からのアクセスが、例えばファイアウォール等により遮断される内部ネットワーク上に接続されている。従って、内部サーバ装置１１４及びクライアント端末１３０は、互いに通信をすることはできるが、外部ネットワーク上に接続された機器からのアクセスは受け付けない。なお、内部サーバ装置１１４及びクライアント端末１３０は、外部ネットワーク上に接続された機器へ情報を送信すること、及び、外部ネットワーク上に接続された機器から情報を取得することはできる。
【００１７】
本実施形態に係る提供装置１２０は、ユーザから、当該ユーザが取得を希望するデータを提供する少なくとも１つのサーバ装置（外部サーバ装置１１２及び内部サーバ装置１１４）の指定を受け付ける。そして、提供装置１２０は、ユーザによるページ取得要求に応じて、指定された外部サーバ装置１１２及び内部サーバ装置１１４からデータを取得して、取得したデータを含むページをクライアント端末１３０に提供する。例えば、提供装置１２０は、マッシュアップサービスを提供してよい。即ち、提供装置１２０は、外部サービスにより提供されたデータおよび企業内サービスにより提供されたデータをマッシュアップしたウェッブページを、クライアント端末１３０に提供する。
【００１８】
図２は、本実施形態に係る提供装置１２０により提供されるウェッブページ２００の一例を示す。提供装置１２０は、一例として、図２に示されるような、ページ２００をクライアント端末１３０に提供してよい。ページ２００は、外部サーバ装置１１２により提供されるデータ及び内部サーバ装置１１４により提供されるデータを含む。
【００１９】
さらに、例えば、ページ２００は、それぞれが異なる外部サーバ装置１１２により提供される、検索データ２１１、天気データ２１２、株価データ２１３および為替データ２１４を含む。また、ページ２００は、内部サーバ装置１１４により提供される社内カレンダデータ２２１を含む。
【００２０】
提供装置１２０は、ページ２００に含めるべきデータの指定および各データのページ上の配置をクライアント端末１３０から予め受けておく。そして、提供装置１２０は、クライアント端末１３０からページ取得要求を受けると、指定されたデータを指定された配置位置に表示したページを、クライアント端末１３０に提供する。
【００２１】
図３は、第１例に係る情報提供システム１００内の提供装置１２０および内部サーバ装置１１４の機能構成を、外部サーバ装置１１２及びクライアント端末１３０と共に示す。第１例に係る提供装置１２０は、入力部３２と、ページ返信部３４と、データ取得部３６と、外部データ送信部３８と、データ受信部４０と、転送部４４とを有する。
【００２２】
入力部３２は、当該提供装置１２０が提供するページに含めるべきデータの指定をクライアント端末１３０から、ページの提供に先立って入力する。入力部３２は、ページに含めるべきデータの配置もクライアント端末１３０から入力してよい。
【００２３】
ページ返信部３４は、クライアント端末１３０からページ取得要求を受信したことに応じて、クライアント端末１３０上で実行されるコードを含むページを返信する。より詳しくは、ページ返信部３４は、クライアント端末１３０上で実行されて、指定されたデータを当該提供装置１２０へと送信することを指示するデータ送信指示をクライアント端末１３０から内部サーバ装置１１４へと送信するコードを含むページを返信する。即ち、当該ページは、データ送信指示を、当該提供装置１２０からのデータ取得要求を遮断する内部ネットワークにクライアント端末１３０と共に接続された内部サーバ装置１１４へと送信するコードを含む。
【００２４】
本例においては、ページ返信部３４は、データ送信指示を内部サーバ装置１１４へと送信すると共に、データの取得要求を当該提供装置１２０へと送信するコードを含むページを返信する。また、ページ返信部３４は、クライアント端末１３０上で実行されて、データ送信指示として、クライアント端末１３０の暗号化キーをパラメータとして含んで内部サーバ装置１１４上のスクリプトを呼び出すコードを含むページを返信してよい。
【００２５】
データ取得部３６は、クライアント端末１３０からページ取得要求を受信したことに応じて、当該提供装置１２０からのデータ取得要求が遮断されない外部ネットワークに接続された外部サーバ装置１１２から、指定されたデータを取得する。外部データ送信部３８は、データ取得部３６が取得したデータをクライアント端末１３０に送信して、ページ返信部３４により返信されたページに含めて表示される。なお、提供装置１２０は、ページに含めるデータの指定内容によっては、外部サーバ装置１１２からデータを取得しない構成であってもよい。
【００２６】
データ受信部４０は、クライアント端末１３０からデータ送信指示を受け取った内部サーバ装置１１４が送信するデータを受信する。データ受信部４０は、一例として、クライアント端末１３０によって呼び出されるスクリプトの取得要求を受け取った内部サーバ装置１１４が、スクリプトの取得要求を受けたことに応じて当該提供装置１２０へと送信する暗号化されたデータを受信してよい。
【００２７】
転送部４４は、クライアント端末１３０からデータ取得要求を受信したことに応じて、内部サーバ装置１１４から受信したデータをクライアント端末１３０に転送して、ページ返信部３４が返信したページに含めて表示させる。転送部４４は、一例として、内部サーバ装置１１４から受信した暗号化されたデータをクライアント端末１３０に転送してよい。
【００２８】
また、内部サーバ装置１１４は、送信指示受信部５２と、データ送信部５４とを有する。送信指示受信部５２は、提供装置１２０からコードを含むページを受信したクライアント端末１３０が送信するデータ送信指示を受信する。データ送信部５４は、送信指示受信部５２がデータ送信指示を受信したことに応じて、当該データ送信指示により指定されたデータを、提供装置１２０へと送信する。この場合において、データ送信部５４は、内部ネットワーク上に接続された他のサーバ装置からデータを取得して提供装置１２０へと送信してもよいし、当該内部サーバ装置１１４自身が提供するデータを提供装置１２０へと送信してもよい。
【００２９】
図４は、第１例に係る情報提供システム１００における、ページの提供処理の流れを示す。まず、クライアント端末１３０は、提供装置１２０に対してページ取得要求を送信する（Ｓ１１）。続いて、提供装置１２０のページ返信部３４は、クライアント端末１３０からページ取得要求を受信したことに応じて、ページを生成する（Ｓ１２）。続いて、提供装置１２０のページ返信部３４は、生成したページをクライアント端末１３０に返信する（Ｓ１３）。
【００３０】
ここで、提供装置１２０のページ返信部３４は、クライアント端末１３０上で実行されるコードを含んだページを返信する。より詳しくは、提供装置１２０のページ返信部３４は、指定されたデータを当該提供装置１２０へと送信することを指示するデータ送信指示を内部サーバ装置１１４へ送信させるためのコード、及び、指定されたデータの取得要求をクライアント端末１３０から当該提供装置１２０へと送信させるためのコードを含むページを返信する。
【００３１】
なお、データ送信指示を内部サーバ装置１１４へ送信させるためのコードは、当該クライアント端末１３０の暗号化キーをパラメータとして含んだデータ送信指示を内部サーバ装置１１４へ送信させる。また、データ送信指示を内部サーバ装置１１４へ送信させるためのコードは、例えばスクリプトタグのような、内部サーバ装置１１４からスクリプトを呼び出すコードであってよい。これに代えて、データ送信指示を内部サーバ装置１１４へ送信させるためのコードは、例えばイメージタグのような、内部サーバ装置１１４からイメージデータを呼び出すコードであってもよい。
【００３２】
続いて、提供装置１２０のデータ取得部３６は、ページに含めるべきデータの取得要求を外部サーバ装置１１２に送信する（Ｓ１４）。続いて、提供装置１２０のデータ取得部３６は、データ取得要求に応じて外部サーバ装置１１２から返信されたデータを取得する（Ｓ１５）。提供装置１２０のデータ取得部３６は、一例として、天気データ等の取得要求を指定された外部サーバ装置１１２から取得してよい。続いて、提供装置１２０の外部データ送信部３８は、データ取得部３６が取得したデータをクライアント端末１３０に送信する（Ｓ１６）。
【００３３】
続いて、クライアント端末１３０は、ページ取得要求に応じて提供装置１２０から返信されたページを、ステップＳ１６において送信されたデータを含めて表示する（Ｓ１７）。即ち、クライアント端末１３０は、外部サーバ装置１１２により提供されたデータを含むページを表示する。
【００３４】
続いて、クライアント端末１３０は、提供装置１２０から返信されたページに含まれるコードを実行する。即ち、クライアント端末１３０は、指定されたデータを提供装置１２０へと送信することを指示するデータ送信指示を内部サーバ装置１１４へ送信する（Ｓ１８）。これとともに、クライアント端末１３０は、指定されたデータのデータ取得要求を提供装置１２０へ送信する（Ｓ１９）。なお、クライアント端末１３０は、データ送信指示の送信に先立って、暗号化キーを生成する。そして、クライアント端末１３０は、生成した暗号化キーをデータ送信指示のパラメータとして含めて、内部サーバ装置１１４に送信する。
【００３５】
続いて、内部サーバ装置１１４の送信指示受信部５２は、クライアント端末１３０が送信したデータ送信指示を受信する。そして、送信指示受信部５２は、受信したデータ送信指示により指定されたデータを取得する（Ｓ２０）。送信指示受信部５２は、例えば、社内カレンダデータ等を取得してよい。
【００３６】
続いて、内部サーバ装置１１４の送信指示受信部５２は、取得したデータを、データ送信指示にパラメータとして含まれた暗号化キーで暗号化する（Ｓ２１）。続いて、内部サーバ装置１１４のデータ送信部５４は、送信指示受信部５２により暗号化されたデータを提供装置１２０へ送信する（Ｓ２２）。
【００３７】
一方、提供装置１２０の転送部４４は、クライアント端末１３０から指定されたデータのデータ取得要求を受信する。そして、転送部４４は、指定されたデータの返信の準備が完了するまで処理を待機する（Ｓ２３）。
【００３８】
続いて、提供装置１２０のデータ受信部４０は、内部サーバ装置１１４が送信した暗号化されたデータを受信する。続いて、提供装置１２０の転送部４４は、内部サーバ装置１１４から送信された暗号化されたデータをデータ受信部４０が受信すると、データ受信部４０が受信したデータをクライアント端末１３０に転送する（Ｓ２４）。
【００３９】
続いて、クライアント端末１３０は、提供装置１２０が送信した暗号化されたデータを受信する。そして、クライアント端末１３０は、暗号化されたデータを、当該クライアント端末１３０の暗号化キーにより復号する（Ｓ２５）。
【００４０】
続いて、クライアント端末１３０は、表示しているページに、復号したデータを挿入する（Ｓ２６）。これにより、クライアント端末１３０は、内部サーバ装置１１４により提供されるデータを含んだページを表示することができる。
【００４１】
このような第１例に係る情報提供システム１００によれば、異なるサーバ装置により提供されるデータを１つのページ内に含めて表示させることができる。従って、第１例に係る情報提供システム１００によれば、外部ネットワークに接続された外部サーバ装置１１２により提供されるデータ（例えば天気データ）と、企業内の内部ネットワークに接続される内部サーバ装置１１４により提供されるデータ（例えば社内カレンダデータ）とを、１つのページ内に含めて表示することができる。
【００４２】
更に、情報提供システム１００によれば、内部サーバ装置１１４により提供されるデータ（例えば社内カレンダデータ）をクライアント端末１３０の暗号化キーで暗号化して提供装置１２０に送信するので、内部サーバ装置１１４により提供されるデータの秘匿性も維持することができる。なお、情報提供システム１００は、内部サーバ装置１１４により提供されるデータを秘匿しなくてもよい場合には、内部サーバ装置１１４により提供されるデータを暗号化しない構成であってよい。
【００４３】
なお、提供装置１２０のページ返信部３４は、データ送信指示を内部サーバ装置１１４へと送信するコードと共に、当該提供装置１２０からページ内における所定領域の表示内容を取得してページに含めることを指示するコードを含むページを返信する構成であってもよい。例えば、ページ返信部３４は、提供装置１２０から表示内容を取得して、取得した表示内容をページ内に形成されたＩＦｒａｍｅ（インラインフレーム）内に表示させるコードを含むページを返信する構成であってもよい。
【００４４】
このような構成の場合、提供装置１２０は、内部サーバ装置１１４から受信した暗号化されたデータを含む表示内容を生成する表示内容生成部を更に有する。そして、このような構成の場合、転送部４４は、クライアント端末１３０からデータ取得要求を受信したことに応じて、内部サーバ装置１１４から受信したデータを含む表示内容生成部が生成した表示内容をクライアント端末１３０に転送して、ページ返信部３４が返信したページに含めて表示させる。
【００４５】
図５は、第２例に係る情報提供システム１００内の提供装置１２０および内部サーバ装置１１４の機能構成を、外部サーバ装置１１２及びクライアント端末１３０と共に示す。なお、第２例に係る情報提供システム１００は、図３に示される第１例に係る情報提供システム１００と略同一の構成および機能を採るので、図３に示された第１例に係る情報提供システム１００が備える部材と略同一の構成および機能の部材に同一の符号を付け、以下相違点を除き説明を省略する。
【００４６】
第２例に係る提供装置１２０は、入力部３２と、ページ返信部３４と、データ取得部３６と、データ受信部４０と、ページ生成部６０と、転送部４４とを有する。ページ返信部３４は、クライアント端末１３０上で実行されて、データ送信指示を内部サーバ装置１１４へと送信すると共に、当該提供装置１２０に対してページ取得要求を再送するコードを含むページを返信する。ページ取得要求を再送するコードは、同一のページを再送（即ち、リダイレクト）させるコードであってもよいし、異なるページを送信させるコードであってもよい。
【００４７】
ページ生成部６０は、データ取得部３６が外部サーバ装置１１２から取得したデータ及びデータ受信部４０が内部サーバ装置１１４から受信した暗号化したデータを含むページを生成する。転送部４４は、クライアント端末１３０からページ取得要求の再送を受けたことに応じて、ページ生成部６０が生成したページを返信する。
【００４８】
図６は、第２例に係る情報提供システム１００における、ページの提供処理の流れを示す。まず、クライアント端末１３０は、提供装置１２０に対してページ取得要求を送信する（Ｓ３１）。続いて、提供装置１２０のページ返信部３４は、クライアント端末１３０からページ取得要求を受信したことに応じて、初期ページを生成する（Ｓ３２）。続いて、提供装置１２０のページ返信部３４は、生成した初期ページをクライアント端末１３０に返信する（Ｓ３３）。
【００４９】
ここで、提供装置１２０のページ返信部３４は、クライアント端末１３０上で実行されるコードを含んだページを返信する。より詳しくは、提供装置１２０のページ返信部３４は、指定されたデータを当該提供装置１２０へと送信することを指示するデータ送信指示を内部サーバ装置１１４へ送信させるためのコード、及び、提供装置１２０に対してページ取得要求を再送するコードを含む初期ページを返信する。
【００５０】
続いて、提供装置１２０は、ページに含めるべきデータ（天気データ等）の取得要求を外部サーバ装置１１２に送信する（Ｓ３４）。続いて、提供装置１２０のデータ取得部３６は、データ取得要求に応じて外部サーバ装置１１２から返信されたデータを取得する（Ｓ３５）。
【００５１】
続いて、クライアント端末１３０は、提供装置１２０から返信されたページに含まれるコードを実行する。即ち、クライアント端末１３０は、指定されたデータを提供装置１２０へと送信することを指示するデータ送信指示を内部サーバ装置１１４へ送信する（Ｓ３６）。これとともに、クライアント端末１３０は、ページの取得要求を提供装置１２０へ再送する（Ｓ３７）。なお、クライアント端末１３０は、データ送信指示の送信に先立って、暗号化キーを生成する。そして、クライアント端末１３０は、生成した暗号化キーをデータ送信指示のパラメータとして含めて、内部サーバ装置１１４に送信する。
【００５２】
続いて、内部サーバ装置１１４の送信指示受信部５２は、クライアント端末１３０が送信したデータ送信指示を受信する。そして、送信指示受信部５２は、受信したデータ送信指示により指定されたデータ（社内カレンダデータ等）を取得する（Ｓ３８）。続いて、内部サーバ装置１１４の送信指示受信部５２は、取得したデータを、データ送信指示にパラメータとして含まれた暗号化キーで暗号化する（Ｓ３９）。続いて、内部サーバ装置１１４のデータ送信部５４は、送信指示受信部５２により暗号化されたデータを提供装置１２０へ送信する（Ｓ４０）。
【００５３】
一方、提供装置１２０の転送部４４は、クライアント端末１３０により再送されたページ取得要求を受信する。そして、転送部４４は、再送を要求されたページの返信の準備が完了するまで処理を待機する（Ｓ４１）。
【００５４】
続いて、提供装置１２０のデータ受信部４０は、内部サーバ装置１１４が送信した暗号化されたデータを受信する。続いて、提供装置１２０のページ生成部６０は、ステップＳ３５においてデータ取得部３６が外部サーバ装置１１２から取得したデータ（天気データ等）と、ステップＳ４０においてデータ受信部４０が内部サーバ装置１１４から取得したデータ（社内カレンダデータ等）を含んだページを生成する（Ｓ４２）。内部サーバ装置１１４から取得したデータが暗号化されている場合には、ページ生成部６０は、暗号化されたデータをそのままページ内に含める。ページ生成部６０は、一例として、暗号化されたデータを、テキストデータとして含めてよい。続いて、提供装置１２０の転送部４４は、ページ生成部６０が生成したページをクライアント端末１３０に送信する（Ｓ４３）。
【００５５】
続いて、クライアント端末１３０は、再送されたページ取得要求に応じたページとして、提供装置１２０の転送部４４が再送したページを受信する。そして、クライアント端末１３０は、再送したページ取得要求に応じて提供装置１２０から返信されたページを表示する（Ｓ４４）。この場合において、クライアント端末１３０は、ページ内に含まれる内部サーバ装置１１４により暗号化されたデータを当該クライアント端末１３０の暗号化キーにより復号して、当該ページに再挿入する。
【００５６】
このような第２例に係る情報提供システム１００によれば、第１例と同様の効果を有する。即ち、このような第２例に係る情報提供システム１００によれば、異なるサーバ装置により提供されるデータを１つのページ内に含めて表示させることができる。従って、情報提供システム１００によれば、外部ネットワークに接続された外部サーバ装置１１２により提供されるデータ（例えば天気データ）と、企業内の内部ネットワークに接続される内部サーバ装置１１４により提供されるデータ（例えば社内カレンダデータ）とを、１つのページ内に含めて表示することができる。
【００５７】
更に、第２例に係る情報提供システム１００によれば、内部サーバ装置１１４により提供されるデータ（例えば社内カレンダデータ）をクライアント端末１３０の暗号化キーで暗号化して提供装置１２０に送信するので、内部サーバ装置１１４により提供されるデータの秘匿性も維持することができる。なお、情報提供システム１００は、内部サーバ装置１１４により提供されるデータを秘匿しなくてもよい場合には、内部サーバ装置１１４により提供されるデータを暗号化しない構成であってよい。
【００５８】
図７は、第１例に係るクライアント端末１３０から送信されたページ取得要求に応じて提供装置１２０が返信する、ＨＴＭＬ（Ｈｙｐｅｒｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ページの擬似コードの一例を示す。図８は、図７のＨＴＭＬページから呼び出されるスクリプトの擬似コードの一例を示す。図７及び図８に示されるコードは、第１例に係るクライアント端末１３０が提供装置１２０へページ取得要求を送信したことに応じて返信されて、第１例に係るクライアント端末１３０により実行される。
【００５９】
図７の０４行のコードは、図８のスクリプトを呼び出す。図７の０８行のコードは、"ｃｏｎｔｅｎｔｓ"に示された内容のデータを表示する。図７の０９行のコードは、"ｇｅｔＤａｔａ"ボタンがクリックされたことを条件として、関数"ｇｅｔＤａｔａ（）"を実行する。
【００６０】
図８の０５行〜０８行のコードは、関数"ｇｅｔＤａｔａ（）"を示す。関数"ｇｅｔＤａｔａ（）"は、関数"ｃａｌｌＰｕｓｈＢｒｏｋｅｒ（）"及び関数"ｍａｋｅＲｅｑｕｅｓｔ（）"を実行する。
【００６１】
図８の０９行〜１４行のコードは、関数"ｏｎＲｅｃｅｉｖｅ（ｅｖｔ）"を示す。関数"ｏｎＲｅｃｅｉｖｅ（ｅｖｔ）"は、提供装置１２０から受信したデータを変数"ｄａｔａ"に格納し、変数"ｄａｔａ"に格納されたデータを復号して、図７の０８行で示される"ｃｏｎｔｅｎｔｓ"というｉｄ属性を持つ要素に挿入する。ここで、提供装置１２０から受信するデータには、内部サーバ装置１１４が提供する暗号化されたデータ（例えば暗号化された社内カレンダ）が含まれる。従って、クライアント端末１３０は、関数"ｏｎＲｅｃｅｉｖｅ（ｅｖｔ）"を実行することにより、内部サーバ装置１１４が提供するデータをページ内に表示することができる。
【００６２】
図８の１５行〜２０行のコードは、関数"ｃａｌｌＰｕｓｈＢｒｏｋｅｒ（）"を示す。クライアント端末１３０は、関数"ｃａｌｌＰｕｓｈＢｒｏｋｅｒ（）"を実行することにより、データ送信指示を内部サーバ装置１１４のプッシュブローカモジュールに送信することができる。ここで、プッシュブローカモジュールは、内部サーバ装置１１４において実行されるモジュールであって、図３及び図４に示される送信指示受信部５２及データ送信部５４の機能を実現する。なお、クライアント端末１３０は、少なくともプッシュブローカモジュールに動作開始のトリガを与えられればよいので、プッシュブローカモジュールから実際にスクリプトが取得できない構成であってもよい。
【００６３】
また、関数"ｃａｌｌＰｕｓｈＢｒｏｋｅｒ（）"は、プッシュブローカモジュールに対するスクリプトの取得要求とともに、提供装置１２０のデータ受信転送モジュール（サービスブリッジモジュール）のアドレス（変数"ｓｅｒｖｉｃｅＢｒｉｄｇｅ"）、内部サーバ装置１１４が提供するデータのアドレス（変数"ｉｎｔｅｒｎａｌＳｅｒｖｉｃｅ"）および当該クライアント端末１３０の暗号化キー（変数"ｅｎｃｒｙｐｔｉｏｎＫｅｙ"）を送信する。ここで、サービスブリッジモジュールは、提供装置１２０において実行されるモジュールであって、図３に示されるデータ受信部４０及び転送部４４の機能、又は、図５に示されるデータ受信部４０、ページ生成部６０及び転送部４４の機能を実現する。これにより、クライアント端末１３０からデータ送信指示を受けた内部サーバ装置１１４は、指定されたデータを取得して、取得したデータを暗号化して提供装置１２０へと送信することができる。
【００６４】
図８の２２行〜２７行のコードは、関数"ｍａｋｅＲｅｑｕｅｓｔ（）"を示す。関数"ｍａｋｅＲｅｑｕｅｓｔ（）"は、提供装置１２０から指定したデータを取得するライブラリを呼び出す。クライアント端末１３０は、関数"ｍａｋｅＲｅｑｕｅｓｔ（）"を実行することにより、データ取得要求を提供装置１２０へ送信することができる。なお、関数"ｍａｋｅＲｅｑｕｅｓｔ（）"により呼び出されるライブラリには、クライアント端末１３０がデータ送信指示を与えた内部サーバ装置１１４が提供するデータのアドレス（変数"ｉｎｔｅｒｎａｌＳｅｒｖｉｃｅ"）が与えられる。これにより、データ取得要求を受けた提供装置１２０は、クライアント端末１３０がデータ送信指示を与えた内部サーバ装置１１４により送信されたデータを、クライアント端末１３０へと転送することができる。
【００６５】
図９は、第１例及び第２例に係る内部サーバ装置１１４内のプッシュブローカモジュールの擬似コードの一例を示す。図９に示されるコードは、クライアント端末１３０が関数"ｃａｌｌＰｕｓｈＢｒｏｋｅｒ（）"を実行することに応じて呼び出され、第１例及び第２例に係る内部サーバ装置１１４により実行される。
【００６６】
図９の０６行のコードは、変数"ｉｎｔｅｒｎａｌＳｅｒｖｉｃｅ"により指定されたアドレスからデータを取得して、変数"ｄａｔａ"に格納する。図９の０７行〜０８行のコードは、変数"ｅｎｃｒｙｐｔｉｏｎＫｅｙ"の値がヌルでないことを条件として、変数"ｄａｔａ"に格納されたデータを、変数"ｅｎｃｒｙｐｔｉｏｎＫｅｙ"に格納された暗号化キーにより暗号化して、変数"ｄａｔａ"に書き戻す。
【００６７】
図９の０９行のコードは、変数"ｄａｔａ"を、変数"ｓｅｒｖｉｃｅＢｒｉｄｇｅ"により指定されたアドレスの提供装置１２０内のサービスブリッジモジュールへ送信する。内部サーバ装置１１４は、このようなコードを実行することにより、クライアント端末１３０により指定されたデータを取得して、取得したデータを暗号化して提供装置１２０へと送信することができる。
【００６８】
図１０は、第１例及び第２例に係る提供装置１２０内のサービスブリッジモジュールの擬似コードの一例を示す。図１０に示されるコードは、第１例及び第２例に係る提供装置１２０により実行される。
【００６９】
図１０の０７行〜１１行のコードは、内部サーバ装置１１４から送信されたデータを当該提供装置１２０が受信したことに応じて、呼び出される。図１０の０９行のコードは、内部サーバ装置１１４から送信されたデータを読み出し、変数"ｄａｔａ"へ格納する。図１０の１０行のコードは、読み出したデータをテーブル（ｐｏｓｔｅｄＤａｔａＭａｐ）内に、当該データが提供されたアドレス（変数"ｉｎｔｅｒｎａｌＳｅｒｖｉｃｅ"）により識別して格納する。提供装置１２０は、このようなコードを実行することにより、クライアント端末１３０からデータ送信指示を受け取った内部サーバ装置１１４が送信するデータを、受信することができる。
【００７０】
図１０の１６行〜２２行のコードは、クライアント端末１３０から送信されたデータ取得要求を当該提供装置１２０が受信したことに応じて、呼び出される。図１０の１８行のコードは、内部サーバ装置１１４からデータを受信するまで処理を待機する。図１０の１９行のコードは、クライアント端末１３０から送信されたデータ取得要求により指定された変数"ｉｎｔｅｒｎａｌＳｅｒｖｉｃｅ"に対応するデータが、テーブル（ｐｏｓｔｅｄＤａｔａＭａｐ）内に格納されると、当該データをクライアント端末１３０に転送する。提供装置１２０は、このようなコードを実行することにより、クライアント端末１３０からデータ取得要求を受信したことに応じて、内部サーバ装置１１４から受信したデータをクライアント端末１３０に転送することができる。
【００７１】
図１１は、第２例に係るクライアント端末１３０から送信されたページ取得要求に応じて提供装置１２０が返信する、最初のＨＴＭＬページの擬似コードの一例を示す。図１１に示されるコードは、第２例に係るクライアント端末１３０が提供装置１２０へページ取得要求を送信したことに応じて返信されて、第２例に係るクライアント端末１３０により実行される。
【００７２】
図１１の０８行〜１０行のコードは、関数"ｇｅｎｅｒａｔｅＥｎｃｒｙｐｔｉｏｎＫｅｙ（）"を示す。関数"ｇｅｎｅｒａｔｅＥｎｃｒｙｐｔｉｏｎＫｅｙ（）"は、暗号化キー（変数"ｅｎｃｒｙｐｔｉｏｎＫｅｙ"）を生成する。
【００７３】
図１１の１１行〜１７行のコードは、関数"ｃａｌｌＰｕｓｈＢｒｏｋｅｒ（）"を示す。関数"ｃａｌｌＰｕｓｈＢｒｏｋｅｒ（）"は、図８に示された内容と同様である。
【００７４】
図１１の１８行〜２０行のコードは、関数"ｒｅｄｉｒｅｃｔＴｏＡｃｔｕａｌＰａｇｅ（）"を示す。 関数"ｒｅｄｉｒｅｃｔＴｏＡｃｔｕａｌＰａｇｅ（）"は、提供装置１２０に対してリダイレクトをして再度ＨＴＭＬページを取得する。クライアント端末１３０は、 関数"ｒｅｄｉｒｅｃｔＴｏＡｃｔｕａｌＰａｇｅ（）"を実行することにより、提供装置１２０に対してページ取得要求を再送することができる。なお、再送して取得するページのアドレスは、最初のページと同一であっても、異なってもよい。
【００７５】
図１１の２２行のコードは、関数"ｇｅｎｅｒａｔｅＥｎｃｒｙｐｔｉｏｎＫｅｙ（）を呼び出す。図１１の２３行のコードは、関数"ｃａｌｌＰｕｓｈＢｒｏｋｅｒ（）"を呼び出す。図１１の２４行のコードは、関数"ｒｅｄｉｒｅｃｔＴｏＡｃｔｕａｌＰａｇｅ（）"を呼び出す。クライアント端末１３０は、このようなコードを実行することにより、データ送信指示を内部サーバ装置１１４へと送信すると共に、提供装置１２０に対してページ取得要求を再送することができる。
【００７６】
図１２は、第２例に係るクライアント端末１３０から再送されたページ取得要求に応じて提供装置１２０が返信する、２回目のＨＴＭＬページの擬似コードの一例を示す。図１２に示されるコードは、第２例に係るクライアント端末１３０が提供装置１２０へページ取得要求を再送したことに応じて返信されて、第２例に係るクライアント端末１３０により実行される。
【００７７】
図１２の０５行〜０７行のコードは、関数"ｇｅｔＥｎｃｒｙｐｔｉｏｎＫｅｙ（）"を示す。関数"ｇｅｔＥｎｃｒｙｐｔｉｏｎＫｅｙ（）"は、図１１の関数"ｇｅｎｅｒａｔｅＥｎｃｒｙｐｔｉｏｎＫｅｙ（）"を実行して生成された暗号化キー（変数"ｅｎｃｒｙｐｔｉｏｎＫｅｙ"）を何らかの方法により取得する。
【００７８】
図１２の０８行〜１０行のコードは、関数"ｄｅｃｒｙｐｔ（ｔｅｘｔ，ｋｅｙ）"を示す。関数"ｄｅｃｒｙｐｔ（ｔｅｘｔ，ｋｅｙ）"は、関数"ｇｅｔＥｎｃｒｙｐｔｉｏｎＫｅｙ（）"により取得した暗号化キーにより、テキスト"ｔｅｘｔ"を復号する。
【００７９】
図１２の２０行のコードは、"ｃｏｎｔｅｎｔｓ"に示されたデータを表示する。なお、提供装置１２０から送信されたページには、暗号化されたデータがタグ内に挿入されている。
【００８０】
図１２の１１行〜１５行のコードは、関数"ｉｎｉｔ（）"を示す。関数"ｉｎｉｔ（）"は、関数"ｄｅｃｒｙｐｔ（ｔｅｘｔ，ｋｅｙ）"を呼び出して当該"ｃｏｎｔｅｎｔｓ"の内容を復号して、当該エレメントに再挿入する。クライアント端末１３０は、このようなコードを実行することにより、ページ内に含まれる内部サーバ装置１１４により暗号化されたデータを当該クライアント端末１３０の暗号化キーにより復号して、当該ページに再挿入することができる。
【００８１】
図１３は、本実施形態に係るコンピュータ１９００のハードウェア構成の一例を示す。本実施形態に係るコンピュータ１９００は、ホスト・コントローラ２０８２により相互に接続されるＣＰＵ２０００、ＲＡＭ２０２０、グラフィック・コントローラ２０７５、及び表示装置２０８０を有するＣＰＵ周辺部と、入出力コントローラ２０８４によりホスト・コントローラ２０８２に接続される通信インターフェイス２０３０、ハードディスクドライブ２０４０、及びＣＤ−ＲＯＭドライブ２０６０を有する入出力部と、入出力コントローラ２０８４に接続されるＲＯＭ２０１０、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０を有するレガシー入出力部とを備える。
【００８２】
ホスト・コントローラ２０８２は、ＲＡＭ２０２０と、高い転送レートでＲＡＭ２０２０をアクセスするＣＰＵ２０００及びグラフィック・コントローラ２０７５とを接続する。ＣＰＵ２０００は、ＲＯＭ２０１０及びＲＡＭ２０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ２０７５は、ＣＰＵ２０００等がＲＡＭ２０２０内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置２０８０上に表示させる。これに代えて、グラフィック・コントローラ２０７５は、ＣＰＵ２０００等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【００８３】
入出力コントローラ２０８４は、ホスト・コントローラ２０８２と、比較的高速な入出力装置である通信インターフェイス２０３０、ハードディスクドライブ２０４０、ＣＤ−ＲＯＭドライブ２０６０を接続する。通信インターフェイス２０３０は、ネットワークを介して他の装置と通信する。ハードディスクドライブ２０４０は、コンピュータ１９００内のＣＰＵ２０００が使用するプログラム及びデータを格納する。ＣＤ−ＲＯＭドライブ２０６０は、ＣＤ−ＲＯＭ２０９５からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。
【００８４】
また、入出力コントローラ２０８４には、ＲＯＭ２０１０と、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０の比較的低速な入出力装置とが接続される。ＲＯＭ２０１０は、コンピュータ１９００が起動時に実行するブート・プログラム、及び／又は、コンピュータ１９００のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ２０５０は、フレキシブルディスク２０９０からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。入出力チップ２０７０は、フレキシブルディスク・ドライブ２０５０を入出力コントローラ２０８４へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ２０８４へと接続する。
【００８５】
ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供されるプログラムは、フレキシブルディスク２０９０、ＣＤ−ＲＯＭ２０９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、ＲＡＭ２０２０を介してコンピュータ１９００内のハードディスクドライブ２０４０にインストールされ、ＣＰＵ２０００において実行される。
【００８６】
コンピュータ１９００にインストールされ、コンピュータ１９００を第１例に係る提供装置１２０として機能させるプログラムは、入力モジュールと、ページ返信モジュールと、データ取得モジュールと、外部データ送信モジュールと、データ受信モジュールと、転送モジュールとを備える。これらのプログラム又はモジュールは、ＣＰＵ２０００等に働きかけて、コンピュータ１９００を、入力部３２、ページ返信部３４、データ取得部３６、外部データ送信部３８、データ受信部４０および転送部４４としてそれぞれ機能させる。
【００８７】
また、コンピュータ１９００にインストールされ、コンピュータ１９００を第２例に係る提供装置１２０として機能させるプログラムは、入力モジュールと、ページ返信モジュールと、データ取得モジュールと、データ受信モジュールと、ページ生成モジュールと、転送モジュールとを備える。これらのプログラム又はモジュールは、ＣＰＵ２０００等に働きかけて、コンピュータ１９００を、入力部３２、ページ返信部３４、データ取得部３６、データ受信部４０、ページ生成部６０および転送部４４としてそれぞれ機能させる。
【００８８】
これらのプログラムに記述された情報処理は、コンピュータ１９００に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である提供装置１２０として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ１９００の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の提供装置１２０が構築される。
【００８９】
また、コンピュータ１９００にインストールされ、コンピュータ１９００を内部サーバ装置１１４として機能させるプログラムは、送信指示受信モジュールと、データ送信モジュールとを備える。これらのプログラム又はモジュールは、ＣＰＵ２０００等に働きかけて、コンピュータ１９００を、送信指示受信部５２およびデータ送信部５４としてそれぞれ機能させる。
【００９０】
これらのプログラムに記述された情報処理は、コンピュータ１９００に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である内部サーバ装置１１４として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ１９００の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の内部サーバ装置１１４が構築される。
【００９１】
一例として、コンピュータ１９００と外部の装置等との間で通信を行う場合には、ＣＰＵ２０００は、ＲＡＭ２０２０上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス２０３０に対して通信処理を指示する。通信インターフェイス２０３０は、ＣＰＵ２０００の制御を受けて、ＲＡＭ２０２０、ハードディスクドライブ２０４０、フレキシブルディスク２０９０、又はＣＤ−ＲＯＭ２０９５等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス２０３０は、ＤＭＡ（ダイレクト・メモリ・アクセス）方式により記憶装置との間で送受信データを転送してもよく、これに代えて、ＣＰＵ２０００が転送元の記憶装置又は通信インターフェイス２０３０からデータを読み出し、転送先の通信インターフェイス２０３０又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【００９２】
また、ＣＰＵ２０００は、ハードディスクドライブ２０４０、ＣＤ−ＲＯＭドライブ２０６０（ＣＤ−ＲＯＭ２０９５）、フレキシブルディスク・ドライブ２０５０（フレキシブルディスク２０９０）等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をＤＭＡ転送等によりＲＡＭ２０２０へと読み込ませ、ＲＡＭ２０２０上のデータに対して各種の処理を行う。そして、ＣＰＵ２０００は、処理を終えたデータを、ＤＭＡ転送等により外部記憶装置へと書き戻す。このような処理において、ＲＡＭ２０２０は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはＲＡＭ２０２０および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、ＣＰＵ２０００は、ＲＡＭ２０２０の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはＲＡＭ２０２０の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもＲＡＭ２０２０、メモリ、及び／又は記憶装置に含まれるものとする。
【００９３】
また、ＣＰＵ２０００は、ＲＡＭ２０２０から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、ＲＡＭ２０２０へと書き戻す。例えば、ＣＰＵ２０００は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合（又は不成立であった場合）に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
【００９４】
また、ＣＰＵ２０００は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第１属性の属性値に対し第２属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、ＣＰＵ２０００は、記憶装置に格納されている複数のエントリの中から第１属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第２属性の属性値を読み出すことにより、所定の条件を満たす第１属性に対応付けられた第２属性の属性値を得ることができる。
【００９５】
以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク２０９０、ＣＤ−ＲＯＭ２０９５の他に、ＤＶＤ又はＣＤ等の光学記録媒体、ＭＯ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ１９００に提供してもよい。
【００９６】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００９７】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【００９８】
１００  情報提供システム
１１２  外部サーバ装置
１１４  内部サーバ装置
１２０  提供装置
１３０  クライアント端末
３２  入力部
３４  ページ返信部
３６  データ取得部
３８  外部データ送信部
４０  データ受信部
４４  転送部
５２  送信指示受信部
５４  データ送信部
６０  ページ生成部
２００  ページ
２１１  検索データ
２１２  天気データ
２１３  株価データ
２１４  為替データ
２２１  社内カレンダデータ
１９００  コンピュータ
２０００  ＣＰＵ
２０１０  ＲＯＭ
２０２０  ＲＡＭ
２０３０  通信インターフェイス
２０４０  ハードディスクドライブ
２０５０  フレキシブルディスク・ドライブ
２０６０  ＣＤ−ＲＯＭドライブ
２０７０  入出力チップ
２０７５  グラフィック・コントローラ
２０８０  表示装置
２０８２  ホスト・コントローラ
２０８４  入出力コントローラ
２０９０  フレキシブルディスク
２０９５  ＣＤ−ＲＯＭ
【図１】
2010055781.tif 000003
【図２】
2010055781.tif 000004
【図３】
2010055781.tif 000005
【図４】
2010055781.tif 000006
【図５】
2010055781.tif 000007
【図６】
2010055781.tif 000008
【図７】
2010055781.tif 000009
【図８】
2010055781.tif 000010
【図９】
2010055781.tif 000011
【図１０】
2010055781.tif 000012
【図１１】
2010055781.tif 000013
【図１２】
2010055781.tif 000014
【図１３】
2010055781.tif 000015
【国際調査報告】
2010055781.tif 000016
2010055781.tif 000017