(57)【要約】【課題】通信履歴を確実に記録できるデータ配信システムおよび方法を提供する。【解決手段】クライアント端末１１−Ｘからデータサーバ２１へデータ配信を要求するリクエストＸが送信される。ゲートウェイ装置１２、２２は、それぞれ、リクエストＸを識別するメッセージＩＤおよびリクエストＸに係わる通信履歴を生成する。通信履歴管理サーバ３０は、ゲートウェイ装置１２、２２により生成された通信履歴を、メッセージＩＤに関連づけて管理する。データサーバ２１は、リクエストＸについて、ゲートウェイ装置１２、２２により生成された通信履歴の双方が記録されているときに、リクエストＸに対応するデータをクライアント端末１１−Ｘへ配信する。【選択図】図１
2010067013.tif 000002
【特許請求の範囲】
【請求項１】
クライアント端末を備えるクライアントシステムおよびデータサーバを備えるサーバシステムを含むデータ配信システムであって、
前記クライアントシステムに設けられ、前記クライアント端末から送信される送信リクエストメッセージを識別する第１のメッセージ識別子および前記送信リクエストメッセージに係わる第１の通信履歴を生成する第１の生成部と、
前記サーバシステムに設けられ、受信リクエストメッセージを識別する第２のメッセージ識別子および前記受信リクエストメッセージに係わる第２の通信履歴を生成する第２の生成部と、
前記第１および第２のメッセージ識別子を互いに比較する比較部と、
前記比較部による比較結果に基づいて前記第１および第２の通信履歴を記録する記録部と、
前記記録部に記録されている通信履歴の状態に基づいて前記受信リクエストメッセージに対応するデータ配信を許可するか否かを判定する判定部と、
前記判定部による判定結果に基づいて前記受信リクエストメッセージに対応するデータ配信を制御する配信制御部と、
を有するデータ配信システム。
【請求項２】
請求項１に記載のデータ配信システムであって、
前記判定部は、前記第１および第２のメッセージ識別子が互いに一致していたときは、前記受信リクエストメッセージに対応するデータ配信を許可することを特徴とするデータ配信システム。
【請求項３】
請求項１に記載のデータ配信システムであって、
前記記録部は、前記第１および第２のメッセージ識別子が互いに一致していたときに、前記第１のメッセージ識別子に関連づけて前記第１および第２の通信履歴を記録し、
前記判定部は、前記第１のメッセージ識別子に関連づけて記録されている通信履歴の個数に基づいて、前記クライアントシステムと前記サーバシステムとの間の通信履歴の管理状態を判定する
ことを特徴とするデータ配信システム。
【請求項４】
請求項３に記載のデータ配信システムであって、
前記データサーバに設けられ、前記受信リクエストメッセージを識別する第３のメッセージ識別子を生成して前記判定部に送信するクエリ部をさらに有し、
前記判定部は、前記第３のメッセージ識別子が前記第１および第２のメッセージ識別子に一致しているときには、前記第１のメッセージ識別子に関連づけて記録されている通信履歴の個数に基づいて、前記受信リクエストメッセージに対応するデータ配信を許可するか否かを表すメッセージを前記配信制御部に送信する
ことを特徴とするデータ配信システム。
【請求項５】
請求項３に記載のデータ配信システムであって、
前記判定部は、前記第１および第２のメッセージ識別子が互いに一致していたときは、前記第１のメッセージ識別子に関連づけて記録されている通信履歴の個数に基づいて、前記受信リクエストメッセージに対応するデータ配信を許可するか否かを表すメッセージを前記配信制御部に送信する
ことを特徴とするデータ配信システム。
【請求項６】
請求項１に記載のデータ配信システムであって、
前記比較部、記録部、判定部は、前記データサーバ内に設けられることを特徴とするデ
ータ配信システム。
【請求項７】
請求項１に記載のデータ配信システムであって、
許可されたデータ配信のセッションを識別するセッション識別子を保持するセッション情報保持部をさらに有し、
前記配信制御部は、前記セッション情報保持部に保持されているセッション識別子と同じセッション識別子が設定されている新たなリクエストメッセージを受信したときは、前記新たなリクエストメッセージに対応するデータ配信を実行する
ことを特徴とするデータ配信システム。
【請求項８】
クライアント端末を備えるクライアントシステムおよびデータサーバを備えるサーバシステムを含むデータ配信システムにおいて使用されるデータ配信方法であって、
前記クライアントシステムにおいて、前記クライアント端末から送信される送信リクエストメッセージを識別する第１のメッセージ識別子および前記送信リクエストメッセージに係わる第１の通信履歴を生成し、
前記サーバシステムにおいて、受信リクエストメッセージを識別する第２のメッセージ識別子および前記受信リクエストメッセージに係わる第２の通信履歴を生成し、
前記第１のメッセージ識別子と第２のメッセージ識別子との比較結果に基づいて前記第１および第２の通信履歴を記録し、
記録されている通信履歴の状態に基づいて前記受信リクエストメッセージに対応するデータ配信を許可するか否かを判定し、
前記判定結果に基づいて前記受信リクエストメッセージに対応するデータ配信を制御する
ことを特徴とするデータ配信方法。
【請求項９】
請求項８に記載のデータ配信方法であって、
前記第１および第２のメッセージ識別子が互いに一致していたときに、前記第１のメッセージ識別子に関連づけて前記第１および第２の通信履歴を記録し、
前記第１のメッセージ識別子に関連づけて記録されている通信履歴の個数に基づいて、前記クライアントシステムと前記サーバシステムとの間の通信履歴の管理状態を判定する
ことを特徴とするデータ配信方法。
【請求項１０】
クライアント端末から送信される送信リクエストメッセージを識別する第１のメッセージ識別子および前記送信リクエストメッセージに係わる第１の通信履歴を生成する第１の通信装置、およびデータサーバ宛の受信リクエストメッセージを識別する第２のメッセージ識別子および前記受信リクエストメッセージに係わる第２の通信履歴を生成する第２の通信装置を備える通信システムにおいて使用される通信履歴管理サーバであって、
前記第１および第２のメッセージ識別子を互いに比較する比較部と、
前記比較部による比較結果に基づいて前記第１および第２の通信履歴を記録する記録部と、
前記記録部に記録されている通信履歴の状態に基づいて前記受信リクエストメッセージに対応するデータ配信を許可するか否かを判定する判定部と、
を有する通信履歴管理サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ配信システム、データ配信方法および通信履歴管理サーバに係わり、通信履歴を管理する機能を備えるデータ配信システムに適用可能である。
【背景技術】
【０００２】
通信技術の高度化に伴って、様々な領域において情報のネットワーク化が進みつつある。例えば、医療分野では、医療の質の向上あるいは利用者の利便性の向上を目的として、複数の医療機関をネットワークで結び、ネットワークを介して医療情報のやりとりを行う医療ネットワークの実現に向けた取り組みが行われている。
【０００３】
ネットワークを介して重要な情報が転送されることが増加している。重要な情報は、暗号化通信を利用して転送するだけでなく、その通信履歴（例えば、いつ、誰が、どこからどこへ、どのような情報を送信したのか等）を保存および管理しておくことが強く求められる。例えば、医療ネットワークでは、個人情報を含む診療データを取り扱うため、通信履歴の厳格な管理が求められている。
【０００４】
図１７は、通信履歴を管理する機能を備えたデータ配信システムの一例を示す構成図である。この例では、複数の拠点（拠点Ａ〜Ｄ）がネットワークを介して接続されている。また、拠点間は、仮想私設網（ＶＰＮ：Virtual Private Network）で接続されている。さらに、各拠点にはゲートウェイ装置（ＧＷ）が設けられている。
【０００５】
上記構成のデータ配信システムにおいて、クライアント１０１−Ｘがデータサーバ１１１に格納されているデータＸ（例えば、診療データ）を要求するものとする。この場合、クライアント１０１−Ｘは、ゲートウェイ装置１０２を介してリクエストＸをデータサーバ１２１へ送信する。これにより、リクエストＸは、拠点Ｂに転送される。このとき、ゲートウェイ装置１０２、１１２は、それぞれ、リクエストＸに係わる通信履歴Ｘを生成して通信履歴管理サーバ１２１に送信する。
【０００６】
データサーバ１１１は、リクエストＸに応じてデータＸを抽出し、ゲートウェイ装置１１２を介してそのデータＸをクライアント１０１−Ｘへ送信する。このとき、図示しないが、ゲートウェイ装置１１２、１０２は、それぞれ、データＸに係わる通信履歴を生成して通信履歴管理サーバ１２１に送信する。
【０００７】
このように、ゲートウェイ装置１０２、１１２が通信履歴情報を生成する機能を備え、通信履歴管理サーバ１２１には、リクエストＸおよびデータＸに係わる通信履歴が記録される。すなわち、通信履歴管理サーバ１２１によりネットワーク上の通信履歴が一元管理される。このとき、クライアント端末またはデータサーバは、通信履歴を生成する必要はない。よって、利用者が通信技術に係わる特別な知識を持たない場合であっても、端末の管理・運用状態（例えば、セキュリティパッチ適用状態やログ記録設定状態）によらず、確実にデータ配信情報を記録することが可能である。
【０００８】
関連する技術として、不正通信を検出する装置が知られている。この不正通信検出装置は、外部ノードから保護対象ノードへの通信経路上に設けられ、保護対象ノードに対する通信内容を監視する。この不正通信検出装置において、外部ノードから保護対象ノードへ送信される情報の少なくとも一部が記録され、予め定められた不正通信基準ルールに合致するか否かが判断される。記録された情報が不正通信基準ルールに合致した場合には、不正な通信であるものと判断される。（例えば、特許文献１）
【特許文献１】特開２００５−４４２７７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
図１７に示すシステムにおいて、ゲートウェイ装置を介さない通信が行われた場合、あるいはゲートウェイ装置が何らかの理由で通信履歴を記録できない場合には、通信履歴が通信履歴管理サーバ１２１に記録されることなく、データサーバ１１１からデータが配信されてしまう。例えば、クライアント１０１−Ｙがゲートウェイ装置１０２、１１２を介さずにデータサーバ１１１にアクセスした場合には、リクエストＹに係わる通信履歴はどこにも記録されない。また、リクエストＹに対応するデータＹがゲートウェイ装置を介さずに送信されると、データＹに係わる通信履歴も記録されない。このような状況は、通信履歴の管理を重視するシステム（例えば、医療ネットワークシステム）においては深刻な問題となり得る。
【００１０】
本発明の課題は、通信履歴を確実に記録できるデータ配信システムおよびデータ配信方法を提供することである。
【課題を解決するための手段】
【００１１】
実施形態のデータ配信システムは、クライアント端末を備えるクライアントシステムおよびデータサーバを備えるサーバシステムを含み、前記クライアントシステムに設けられ、前記クライアント端末から送信される送信リクエストメッセージを識別する第１のメッセージ識別子および前記送信リクエストメッセージに係わる第１の通信履歴を生成する第１の生成部と、前記サーバシステムに設けられ、受信リクエストメッセージを識別する第２のメッセージ識別子および前記受信リクエストメッセージに係わる第２の通信履歴を生成する第２の生成部と、前記第１および第２のメッセージ識別子を互いに比較する比較部と、前記比較部による比較結果に基づいて前記第１および第２の通信履歴を記録する記録部と、前記記録部に記録されている通信履歴の状態に基づいて前記受信リクエストメッセージに対応するデータ配信を許可するか否かを判定する判定部と、前記判定部による判定結果に基づいて前記受信リクエストメッセージに対応するデータ配信を制御する配信制御部と、を有する。
【００１２】
上記構成のデータ配信システムにおいて、クライアント端末から送信されたリクエストメッセージが第１の生成部および第２の生成部を経由してサーバシステムに転送された場合には、第１および第２のメッセージ識別子は互いに一致する。この場合、第１および第２の通信履歴は、１つのリクエストメッセージに関連づけて記録される。したがって、記録部に記録されている通信履歴の状態に基づいて、通信履歴が適切に管理されているか否かを判断することができる。
【００１３】
前記記録部は、前記第１および第２のメッセージ識別子が互いに一致していたときに、前記第１のメッセージ識別子に関連づけて前記第１および第２の通信履歴を記録するようにしてもよい。この場合、前記判定部は、前記第１のメッセージ識別子に関連づけて記録されている通信履歴の個数に基づいて、前記クライアントシステムと前記サーバシステムとの間の通信履歴の管理状態を判定する。
【発明の効果】
【００１４】
開示の構成および方法によれば、データ配信システムにおいて通信履歴を確実に記録することができる。
【発明を実施するための最良の形態】
【００１５】
＜第１の実施形態＞
図１は、第１の実施形態のデータ配信システムの構成を示す図である。この実施形態では、複数の拠点（拠点Ａ〜Ｄ）がネットワークを介して接続されている。拠点Ａには、クライアントシステム１０が設けられている。クライアントシステム１０は、クライアント端末１１−Ｘ、１１−Ｙ、ゲートウェイ装置１２、ＶＰＮ装置１３を備える。なお、クライアント端末１１−Ｘは、ゲートウェイ装置１２の配下に接続されているが、クライアント端末１１−Ｙは、ゲートウェイ装置１２に収容されていないものとする。拠点Ｂには、サーバシステム２０が設けられている。サーバシステム２０は、データサーバ２１、ゲートウェイ装置２２、ＶＰＮ装置２３を備える。データサーバ２１は、例えばＨＴＴＰプロトコルで、データ配信サービスを提供する。ＶＰＮ装置１３、２３は、ＶＰＮルータまたはＶＰＮゲートウェイであり、拠点Ａ、Ｂ間にセキュアな通信路（例えば、ＩＰＳｅｃ）を形成する。なお、特に図示しないが、他の拠点にもクライアントシステムまたはサーバシステムが設けられている。また、拠点間では、１または複数のルータを介してＩＰパケットが転送される。
【００１６】
通信履歴管理サーバ３０は、履歴管理データベース３１を備え、クライアントシステムとサーバシステムとの間の通信の履歴を記録および管理する。なお、各拠点と通信履歴管理サーバ３０との間には、セキュアな通信路（例えば、ＨＴＴＰＳ）が形成されているものとする。
【００１７】
図２は、第１の実施形態のデータ配信方法を提供する機能を説明する図である。図２において、クライアント端末１１（１１−Ｘ）は、クライアント機能を備える。クライアント機能は、データサーバ２１に対してデータの配信を要求するリクエストメッセージを送信する。
【００１８】
ゲートウェイ装置１２は、ネットワークを流れるＩＰパケットからアプリケーションレイヤデータグラム（以下、データメッセージと呼ぶ。）を再構築し、そのデータメッセージを解析する。これにより、データメッセージの詳細な情報（例えば、アプリケーションの種別およびその内容）を認識すると共に、データメッセージを中継するときのネットワーク情報（送信先／送信元ＩＰアドレス情報など）を含む通信履歴情報を作成する。
【００１９】
ゲートウェイ装置１２は、通信履歴生成部１２ａ、メッセージＩＤ生成部１２ｂ、履歴送信部１２ｃを備える。通信履歴生成部１２ａは、上述したように、データメッセージを中継する際に、そのデータメッセージに係わる通信履歴を生成する。メッセージＩＤ生成部１２ｂは、データメッセージを一意に識別するメッセージＩＤを生成する。履歴送信部１２ｃは、通信履歴およびメッセージＩＤを通信履歴管理サーバ３０へ送信する。
【００２０】
サーバシステム２０が備えるゲートウェイ装置２２の構成および動作は、基本的にゲートウェイ装置１２と同じである。すなわち、ゲートウェイ装置２２は、通信履歴生成部２２ａ、メッセージＩＤ生成部２２ｂ、履歴送信部２２ｃを備え、データメッセージの通信履歴およびメッセージＩＤを生成して通信履歴管理サーバ３０へ送信する。
【００２１】
通信履歴管理サーバ３０は、履歴管理データベース３１を備え、各ゲートウェイ装置（ここでは、１２、２２）により生成される通信履歴を収集して一元的に管理する。履歴管理データベース３１は、メッセージＩＤに関連づけて通信履歴を管理する。この実施例では、「メッセージＩＤ＝Ｘ」に関連づけて履歴１および履歴２が記録され、「メッセージＩＤ＝Ｙ」に関連づけて履歴３が記録されている。
【００２２】
データサーバ２１は、メッセージＩＤ生成部２１ａ、クエリ部２１ｂ、フィルタリング部２１ｃ、サービス機能部２１ｄを備える。メッセージＩＤ生成部２１ａは、クライアントから受信したデータメッセージを一意に識別するメッセージＩＤを生成する。クエリ部
２１ｂは、生成されたメッセージＩＤをパラメータとして、通信履歴管理サーバ３０に対して、受信したデータメッセージに係わる通信履歴が適切に管理されているかを問い合わせる。履歴検索部３２は、クエリ部２１ｂからの問合せに応じて履歴管理データベース３１を検索し、通信履歴が適切に管理されているかを調べる。このとき、例えば、クエリ部２１ｂから受信したメッセージＩＤに関連づけて２以上の通信履歴（送信側ゲートウェイ装置において得られた通信履歴および受信側ゲートウェイ装置において得られた通信履歴を含む）が記録されていれば、通信履歴が適切に管理されていると判定される。一方、クエリ部２１ｂから受信したメッセージＩＤに関連づけて記録されている通信履歴の個数が２未満であれば、通信履歴が適切に管理されていないと判定される。そして、この検索により得られる通信履歴管理状態情報は、データサーバ２１に返送される。
【００２３】
フィルタリング部２１ｃは、上記問合せに対する応答メッセージに応じて、受信したデータメッセージをフィルタリングする。すなわち、通信履歴が適切に管理されている場合は、フィルタリング部２１ｃは、受信したデータメッセージをサービス機能部２１ｄに転送する。この場合、サービス機能部２１ｄは、受信したデータメッセージに対応するサービスを提供する。例えば、クライアントからデータ配信のリクエストを受信したときは、サービス機能部２１ｄは、指定されたデータを配信する。一方、通信履歴が適切に管理されていない場合は、フィルタリング部２１ｃは、受信したデータメッセージを拒否し、サービス機能部２１ｄはデータ配信を実行しない。このとき、フィルタリング部２１ｃは、データメッセージを拒否することを表す応答メッセージをクライアントに返送するようにしてもよい。
【００２４】
このように、実施形態のデータ配信方法においては、クライアントシステム１０で生成された通信履歴およびサーバシステム２０で生成された通信履歴の双方が通信履歴管理サーバ３０に記録されていた場合に限って、データサーバ２１によるデータ配信が許可される。したがって、通信履歴が記録されることなく重要なデータがネットワークを介して配信される事態を回避することができる。
【００２５】
次に、図１および図３を参照しながら、第１の実施形態のデータ配信方法の手順を説明する。ここでは、クライアント端末１１−Ｘが備えるウェブブラウザを使用して、データサーバ２１に格納されているデータ（例えば、電子カルテファイル）を取得および／または閲覧するものとする。なお、図３では、ＶＰＮ装置は省略されている。
【００２６】
クライアント端末１１−Ｘは、ユーザが所望する電子カルテファイルのＵＲＬが入力されると、リクエストメッセージＸ（図１では、リクエストＸ）を作成して送信する。このリクエストメッセージＸは、ＩＰパケットに格納されて送信される。
【００２７】
図４は、リクエストメッセージの一例である。リクエストメッセージは、ＨＴＴＰヘッダ部およびＨＴＴＰボディ部を含んで構成される。ＨＴＴＰヘッダ部には、ユーザにより指定されたファイルのＵＲＬ、ホスト名などが書き込まれている。また、ＨＴＴＰボディ部には、この例では、ヘッダとボディのセパレータとしての改行コードのみが設定されている。なお、ＨＴＴＰヘッダ部およびＨＴＴＰボディ部は、特に限定されるものではないが、いずれも汎用的な形式を利用することができる。
【００２８】
ゲートウェイ装置１２は、クライアント端末１１−Ｘから送信されたリクエストメッセージＸを再構築する。このとき、リクエストメッセージが複数のＩＰパケットを利用して送信された場合には、ゲートウェイ装置１２は、それら複数のＩＰパケットを結合することにより、リクエストメッセージを再構築する。そして、ゲートウェイ装置１２は、リクエストメッセージＸを一意に識別するメッセージＩＤ、およびリクエストメッセージＸに係わる通信履歴を生成する。
【００２９】
メッセージＩＤは、例えば、リクエストメッセージＸに対してＨＡＳＨ演算（ＳＨＡ−１等）を実行することにより得られる。この演算結果は、リクエストメッセージＸを一意に識別する。なお、メッセージＩＤは、他の方法で生成されるようにしてもよい。
【００３０】
通信履歴は、この例では、ネットワーク情報（NetworkInformation）、コンテンツ情報（ContentInformation）、ゲートウェイ情報（GatewayInformation）、および他の情報（Others）を含んで構成される。ネットワーク情報は、例えば、送信元ＩＰアドレス、送信元ポート番号、送信先ＩＰアドレス、送信先ポート番号を含み、ＩＰパケットのヘッダ情報を参照して生成される。コンテンツ情報は、メッセージの内容を参照して生成される。ただし、リクエストメッセージに対応する通信履歴においては、コンテンツ情報は必ずしも生成されない。ゲートウェイ情報は、通信履歴を生成しているゲートウェイを識別する。他の情報としては、例えば、通信履歴を生成している日時が記録される。
【００３１】
図５は、通信履歴通知メッセージの一例である。図５（ａ）に示す通信履歴通知メッセージは、生成した通信履歴およびメッセージＩＤを通信履歴管理サーバ３０に通知する。したがって、通信履歴メッセージのヘッダにおいて、ホスト名として通信履歴管理サーバ３０（log.manager.com）が指定されている。また、ペイロードには、上述したネットワーク情報、コンテンツ情報、ゲートウェイ情報、他の情報に加えて、メッセージＩＤが格納されている。
【００３２】
上述のようにして生成された通信履歴通知メッセージは、通信履歴管理サーバ３０に送信される。なお、図３では省略しているが、通信履歴管理サーバ３０は、通信履歴通知メッセージを受信すると、図５（ｂ）に示す応答メッセージをゲートウェイ装置１２に返送する。そして、ゲートウェイ装置１２は、応答メッセージを受信すると、クライアント端末１１−Ｘから送信されたリクエストメッセージＸをネットワーク上へ中継する。
【００３３】
リクエストメッセージＸは、ネットワークを介して転送され、ゲートウェイ装置２２により受信される。ゲートウェイ装置２２は、上述したゲートウェイ装置１２と同様の処理を実行する。すなわち、ゲートウェイ装置２２は、リクエストメッセージＸを識別するメッセージＩＤおよび通信履歴を生成する。このとき、ゲートウェイ装置２２は、ゲートウェイ装置１２と同じ方法（この例では、ＨＡＳＨ演算）でメッセージＩＤを生成する。よって、ゲートウェイ装置１２において生成されるメッセージＩＤおよびゲートウェイ装置２２において生成されるメッセージＩＤは、互いに同じである。また、ゲートウェイ装置２２において生成される通信履歴は、基本的には、ゲートウェイ装置１２において生成される通信履歴と同じである。ただし、ゲートウェイ装置２２において生成される通信履歴においては、ゲートウェイ情報はゲートウェイ装置２２を識別し、他の情報としてゲートウェイ装置２２において通信履歴が生成された日時が記録されている。
【００３４】
ゲートウェイ装置２２は、生成したメッセージＩＤおよび通信履歴を通信履歴管理サーバ３０へ送信する。そうすると、通信履歴管理サーバ３０は、ゲートウェイ装置２２に応答メッセージを返送する。そして、ゲートウェイ装置２２は、応答メッセージを受信すると、リクエストメッセージＸをデータサーバ２１へ転送する。
【００３５】
このように、ゲートウェイ装置１２、２２は、通信履歴通知メッセージを生成して通信履歴管理サーバ３０へ送信する。図１に示す例では、ゲートウェイ装置１２から通信履歴管理サーバ３０へ「通信履歴情報１（メッセージＩＤ＝Ｘ）」が送信され、ゲートウェイ装置２２から通信履歴管理サーバ３０へ「通信履歴情報２（メッセージＩＤ＝Ｘ）」が送信されている。
【００３６】
通信履歴管理サーバ３０は、ゲートウェイ装置１２、２２から通信履歴通知メッセージを受信すると、そのペイロードからメッセージＩＤを抽出する。そして、通信履歴通知メッセージにより通知された通信履歴は、メッセージＩＤと関連づけて履歴管理データベース３１に記録される。このとき、通信履歴通知メッセージから抽出したメッセージＩＤが履歴管理データベース３１に既に登録されているかがチェックされる。そして、通信履歴通知メッセージから抽出したメッセージＩＤが履歴管理データベース３１に登録されていなければ、そのメッセージＩＤをエントリキーとして対応する通信履歴を記録する。一方、通信履歴通知メッセージから抽出したメッセージＩＤが既に履歴管理データベース３１に登録されている場合には、そのメッセージＩＤのエントリに対応する通信履歴を追加する。
【００３７】
このように、通信履歴管理サーバ３０は、ゲートウェイ装置１２、２２から受信したメッセージＩＤを互いに比較する。そして、ゲートウェイ装置１２、２２から受信した通信履歴は、その比較結果に応じて履歴管理データベース３１に記録される。すなわち、ゲートウェイ装置１２、２２から受信したメッセージＩＤが互いに一致する場合には、ゲートウェイ装置１２、２２から受信した通信履歴１、２は、１つのエントリ内に記録される。一方、ゲートウェイ装置１２、２２から受信したメッセージＩＤが互いに異なっている場合には、ゲートウェイ装置１２、２２から受信した通信履歴１、２は、別々のエントリに記録される。
【００３８】
図１を参照しながら通信履歴を記録する手順の実施例を説明する。通信履歴管理サーバ３０は、ゲートウェイ装置１２から「通信履歴情報１（メッセージＩＤ＝Ｘ）」を受信すると、履歴管理データベース３１に「メッセージＩＤ＝Ｘ」をキーとするエントリが存在するか否かをチェックする。ここでは、「メッセージＩＤ＝Ｘ」をキーとするエントリが存在しないものとする。そうすると、履歴管理データベース３１において、「メッセージＩＤ＝Ｘ」をキーとするエントリが作成され、そのエントリに「通信履歴１」が記録される。
【００３９】
続いて、通信履歴管理サーバ３０は、ゲートウェイ装置２２から「通信履歴情報２（メッセージＩＤ＝Ｘ）」を受信する。このとき、履歴管理データベース３１には「メッセージＩＤ＝Ｘ」をキーとするエントリが存在している。よって、この場合、このエントリに「通信履歴２」が追加される。
【００４０】
履歴管理データベース３１において、１つのメッセージＩＤに対して２以上の通信履歴が記録されている場合には、そのメッセージを転送する通信に係わる通信履歴が適切に管理されていると判定される。図１に示す履歴管理データベース３１においては、「メッセージＩＤ＝Ｘ」について２つの通信履歴（履歴１、２）が記録されている。よって、この場合、リクエストメッセージＸに係る通信履歴が適切に管理されていると判定され、履歴管理状態として「ＯＫ」が設定されている。一方、「メッセージＩＤ＝Ｙ」については１つだけ通信履歴（履歴３）が記録されている。よって、この場合、リクエストメッセージＹに係る通信履歴が適切に管理されていないと判定され、履歴管理状態として「ＮＧ」が設定されている。
【００４１】
なお、履歴管理状態を表す情報（ＯＫ／ＮＧ）は、履歴管理データベース３１に記録されなくてもよい。例えば、通信履歴管理サーバ３０は、サーバシステム２０からの問合せに応じて対応するメッセージＩＤに対して記録されている通信履歴の数をカウントし、そのカウント値に基づいて通信履歴が適切に管理されているか判定するようにしてもよい。すなわち、問合せに応じて判定するようにしてもよい。
【００４２】
データサーバ２１は、上述のようにしてクライアント端末１１−Ｘから送信されたリク
エストメッセージＸを受信する。この場合、データサーバ２１は、リクエストメッセージＸに係わる通信履歴が通信履歴管理サーバ３０によって適切に管理されているかを確認する。すなわち、データサーバ２１は、まず、リクエストメッセージＸを識別するメッセージＩＤを生成する。このとき、データサーバ２１は、ゲートウェイ装置１２、２２と同じ方法（この例では、ＨＡＳＨ演算）でメッセージＩＤを生成する。よって、データサーバ２１において生成されるメッセージＩＤ（すなわち、ＩＤ＝Ｘ）は、ゲートウェイ装置１２、２２において生成されるメッセージＩＤと同じである。
【００４３】
続いて、データサーバ２１は、クエリメッセージを生成して通信履歴管理サーバ３０へ送信する。クエリメッセージの実施例を図６（ａ）に示す。この例では、クエリメッセージのペイロードにメッセージＩＤが格納されている。そして、データサーバ２１は、通信履歴管理サーバ３０からの応答を待つ。
【００４４】
通信履歴管理サーバ３０は、データサーバ２１から受信したクエリメッセージからメッセージＩＤを抽出し、そのメッセージＩＤを検索キーとして履歴管理データベース３１を参照する。そして、クエリ応答メッセージとして、通信履歴管理状態情報（ＯＫ／ＮＧ）がデータサーバ２１に返送される。クエリ応答メッセージの例を図６（ｂ）に示す。この例では、「メッセージＩＤ＝Ｘ」の通信履歴管理状態として「ＯＫ」が記録されている。よって、クエリ応答メッセージとして「通信履歴管理状態＝ＯＫ」がデータサーバ２１に送信される。なお、通信履歴管理サーバ３０は、クエリメッセージを受信したときに履歴管理データベース３１に記録されている履歴の個数をカウントし、その結果をデータサーバ２１に通知するようにしてもよい。
【００４５】
データサーバ２１は、通信履歴管理サーバ３０から受信するクエリ応答（履歴管理状態情報）に従って、リクエストメッセージＸをフィルタリングする。この例では、クエリ応答により「履歴管理状態＝ＯＫ」が得られるので、クライアント／サーバ間の通信の履歴が適切に記録されていると判断される。したがって、データサーバ２１は、受信したリクエストメッセージＸに対応するサービスを提供する。この例では、データサーバ２１は、リクエストメッセージＸに対応する応答として、指定された電子カルテファイルをクライアント端末１１−Ｘへ配信する。データサーバ２１から配信される応答メッセージ（コンテンツメッセージ）の実施例を図７に示す。
【００４６】
コンテンツメッセージは、ゲートウェイ装置２２、１２を介してクライアント端末１１−Ｘへ転送される。このとき、ゲートウェイ装置２２、１２は、それぞれ、コンテンツメッセージを識別するメッセージＩＤおよびコンテンツメッセージにかかわる通信履歴を生成し、通信履歴管理サーバ３０へ送信する。メッセージＩＤおよび通信履歴を生成する方法は、上述した通りである。そして、通信履歴管理サーバ３０は、これらの通信履歴をメッセージＩＤに関連づけて記録する。
【００４７】
このように、実施形態のデータ配信システムにおいては、通信履歴管理サーバ３０に通信履歴が適切に管理されている場合に、データ配信が許可される。したがって、データサーバ２１からのデータ配信に係わる通信履歴が確実に記録される。
【００４８】
図８は、通信履歴が適切に記録されていないときの動作を示すシーケンス図である。この例では、ゲートウェイ装置１２に収容されていないクライアント端末１１−Ｙが、データサーバ２１にリクエストメッセージＹを送信するものとする。
【００４９】
リクエストメッセージＹは、ゲートウェイ装置１２を介することなく、ゲートウェイ装置２２へ転送される。すなわち、ゲートウェイ装置１２においてリクエストメッセージＹに係わる通信履歴が生成されることはない。このため、通信履歴管理サーバ３０には、ゲ
ートウェイ装置２２により生成された通信履歴のみが記録される。図１においては、「メッセージＩＤ＝Ｙ」に関連づけて「履歴３」のみが記録されている。
【００５０】
データサーバ２１は、リクエストメッセージＹを受信すると、メッセージＩＤを生成して通信履歴管理サーバ３０へクエリを送信する。しかし、通信履歴管理サーバ３０において、リクエストメッセージＹに係わる通信履歴は１つしか記録されていない。よって、通信履歴管理サーバ３０は、クエリ応答として「ＮＧ」を返送する。そうすると、データサーバ２１は、リクエストメッセージＹに係わる通信履歴が適切に記録されていないと判断し、データ配信を行わない。そして、データサーバ２１は、クライアント端末１１−Ｙに対してエラーメッセージを送信する。なお、エラーメッセージの送信は、必須の手順ではない。
【００５１】
このように、第１の実施形態では、データサーバ２１において、クライアント・サーバ間の通信履歴の記録状態を確認した後にデータ配信を行うので、通信履歴の記録が適切に実施されていない通信を事前に検出できる。したがって、通信履歴が残らないようなデータ配信を未然に防ぐとともに、通信履歴を確実に記録・保管することができる。
【００５２】
＜第２の実施形態＞
第１の実施形態では、通信履歴が適切に記録されているか否かをデータサーバから通信履歴管理サーバに問い合わせる手順が行われる。これに対して、第２の実施形態では、このような問合せは不要である。
【００５３】
図９は、第２の実施形態のデータ配信方法を提供する機能を説明する図である。第２の実施形態においては、通信履歴管理サーバ３０は、同一のメッセージＩＤについてゲートウェイ装置１２、２２の双方から通信履歴を受け取ると、そのメッセージＩＤの通信履歴状態通知フラグを「ＯＫ」に設定する。履歴状態通知部３３は、通信履歴状態通知フラグが「ＯＫ」に設定されたメッセージＩＤを検出すると、そのメッセージＩＤと共に「履歴管理状態＝ＯＫ」をデータサーバ２１に通知する。
【００５４】
データサーバ２１において、メッセージＩＤ生成部２１ａは、リクエストメッセージを識別するメッセージＩＤを生成する。メッセージＩＤを生成する方法は、第１の実施形態と同じである。そして、生成したメッセージＩＤは、フィルタリング部２１ｃに渡される。ただし、データサーバ２１は、通信履歴管理サーバ３０に対してクエリを行わない。
【００５５】
フィルタリング部２１ｃは、リクエストメッセージを受信してから所定時間、メッセージＩＤ生成部２１ａにより生成されたメッセージＩＤに対応する履歴管理状態情報が通信履歴管理サーバ３０から送られてくるのを待つ。そして、フィルタリング部２１ｃは、上記メッセージＩＤについて「履歴管理状態＝ＯＫ」を受信すると、受信したリクエストメッセージをサービス機能部２１ｄへ転送する。
【００５６】
図１０および図１１を参照しながら、第２の実施形態のデータ配信方法の手順を説明する。ここでは、第１の実施形態の説明と同様に、クライアント端末１１−ＸがリクエストメッセージＸを送信するものとする。
【００５７】
クライアント端末１１−Ｘからデータサーバ２１へリクエストメッセージＸが転送される際に、ゲートウェイ装置１２、２２は、それぞれ、通信履歴およびメッセージＩＤを生成する。そして、これらの通信履歴は、第１の実施形態と同様に、履歴管理データベース３１においてメッセージＩＤに関連づけて記録される。すなわち、図１０に示すように、「メッセージＩＤ＝Ｘ」に対して２つの通信履歴（ゲートウェイ装置１２により生成された履歴１、ゲートウェイ装置２２により生成された履歴２）が記録される。
【００５８】
データサーバ２１は、リクエストメッセージＸを受信すると、タイマを利用して経過時間のカウントを開始する。一方、通信履歴管理サーバ３０は、「メッセージＩＤ＝Ｘ」に対して２つの通信履歴が記録されていることを検出すると、そのメッセージＩＤと共に、「履歴管理状態＝ＯＫ」をデータサーバ２１へ送信する。そして、データサーバ２１は、タイマが満了する前に履歴管理状態情報を受信すると、リクエストメッセージＸに係わる通信履歴が適切に記録されていると判定し、リクエストメッセージＸに対応するデータ配信を実行する。
【００５９】
一方、リクエストメッセージを受信したときから所定時間内に通信履歴管理サーバ３０から履歴管理状態情報を受信できなかったときは、データ配信を行わない。図１０に示す例では、リクエストメッセージＹについては、「メッセージＩＤ＝Ｙ」に対して通信履歴が１つしか記録されていない。この場合、通信履歴管理サーバ３０は、データサーバ２１に履歴管理状態情報を送信しない。したがって、データサーバ２１においてタイマが満了してしまい、リクエストメッセージＹに対応するデータ配信は実行されない。
【００６０】
このように、第２の実施形態においても、通信履歴が適切に記録される前にデータ配信が行われることは回避される。また、第２の実施形態においては、データサーバ２１から通信履歴管理サーバ３０へのクエリを行う必要がない。
【００６１】
＜第３の実施形態＞
第１および第２の実施形態では、通信履歴管理サーバ３０は、データサーバ２１とは別のコンピュータで実現されている。これに対して第３の実施形態では、通信履歴管理サーバ３０を実現するための機能がデータサーバ２１の中に設けられている。
【００６２】
図１２は、第３の実施形態のデータ配信方法を提供する機能を説明する図である。第３の実施形態においては、履歴管理データベース３１は、データサーバ２１に設けられる。また、ゲートウェイ装置１２、２２において生成される通信履歴およびメッセージＩＤは、データサーバ２１に送信される。
【００６３】
図１３は、第３の実施形態のデータ配信システムの構成を示す図である。また、図１４は、第３の実施形態のデータ配信方法のシーケンスを示す図である。第３の実施形態の手順は、基本的には、第１または第２の実施形態と同じである。ただし、第１または第２の実施形態におけるデータサーバ２１と通信履歴管理サーバ３０との間のデータ送受信は、第３の実施形態では、１つの装置内のローカルメッセージ通信により実現される。
【００６４】
なお、通信履歴状態の判定結果は、第１の実施形態と同様に、フィルタリング部２１ｃから履歴管理データベース３１へクエリを送信して問い合わせるようにしてもよい。あるいは、クエリを行うことなしに、履歴管理データベース３１からフィルタリング部２１ｃへ通信履歴管理状態を通知するようにしてもよい。
【００６５】
このように、第３の実施形態においても、通信履歴が適切に記録される前にデータ配信が行われることは回避される。なお、第３の実施形態のデータ配信システムは、特に限定されるものではないが、小規模ネットワークに適している。
【００６６】
＜第４の実施形態＞
クライアントとサーバとの間の通信では、同一セッション内で複数のリクエストが送信されることがある。そこで、第４の実施形態では、同一セッション内で複数のリクエストが送信される場合には、２回目以降のリクエストについては履歴管理状態を確認することなくデータ配信が実行される。
【００６７】
図１５は、第４の実施形態のデータ配信方法のシーケンスを示す図である。この実施例では、クライアント端末１１−Ｘとデータサーバ２１との間の通信を識別する１つのセッション内で、クライアント端末１１−ＸがリクエストメッセージＸ１、Ｘ２を送信するものとする。なお、図１５では、ゲートウェイ装置１２、２２において通信履歴およびメッセージＩＤを生成する手順、および生成した通信履歴およびメッセージＩＤを通信履歴管理サーバ３０へ送信する手順は、省略されている。
【００６８】
１回目のリクエスト（すなわち、リクエストメッセージＸ１）が送信されたときの手順は、第１〜第３の実施形態と同じである。すなわち、ゲートウェイ装置１２、２２により、それぞれ通信履歴およびメッセージＩＤが生成され、履歴管理データベース３１においてメッセージＩＤに関連づけて記録される。ただし、データサーバ２１は、リクエストメッセージＸ１を受信したときに、セッションを識別するセッション識別子を生成し管理する。そして、リクエストメッセージＸ１に対応するコンテンツを配信する際に、セッション識別子も合わせて送信する。
【００６９】
セッション識別子は、この実施例では、Cookie情報である。Cookie情報は、例えば、メッセージＩＤまたはデータサーバが生成する一意の乱数である。また、Cookie情報の通知は、たとえば、応答データをクライアントへ送信する際に、セッション識別子を含むSet-CookieヘッダをＨＴＴＰヘッダに付与することで実現可能である。
【００７０】
２回目以降のリクエスト（すなわち、リクエストメッセージＸ２）は、データサーバ２１から通知されたCookie情報が付与されて送信される。このとき、クライアント端末１１−Ｘのウェブブラウザは、標準的なブラウザ仕様にしたがって、セッション識別子を含むCookie情報をＨＴＴＰリクエストヘッダに埋め込んで送信する。
【００７１】
データサーバ２１は、このリクエストメッセージに含まれるCookie情報と、データサーバ２１内で管理しているセッション識別子とを比較する。そして、これらが互いに一致する場合には、受信したリクエストメッセージのセッションに係わる通信履歴の管理状態が既に確認されていると判断する。すなわち、このセッションに係わる通信履歴が適切に記録されていると判断される。この場合、データサーバ２１は、通信履歴管理サーバ３０における通信履歴の管理状態をチェックすることなく、要求されたデータを即座に配信する。
【００７２】
図１６（ａ）は、データサーバ２１からクライアント端末１１−Ｘへ送信されるコンテンツメッセージの実施例である。このコンテンツメッセージのヘッダには、Cookie情報としてセッション識別子が書き込まれている。
【００７３】
図１６（ｂ）は、２回目以降のリクエストメッセージの実施例である。このリクエストメッセージのヘッダには、Cookie情報として、データサーバ２１から通知されたセッション識別子が設定されている。
【００７４】
このように、第４の実施形態では、同一セッション内で複数のリクエストが送信される場合、通信履歴の管理状態を確認する手順を省略することができる。したがって、クライアント・サーバ間のアクセス時間の短縮が可能となる。
【００７５】
＜ハードウェア構成＞
上述のクライアント端末、ゲートウェイ装置、データサーバ、通信履歴管理サーバは、コンピュータにより実現される。コンピュータは、ＣＰＵ、記憶装置、メモリ、通信インタフェース、入出力装置等を備える。記憶装置は、例えばハードディスク装置であり、そ
れぞれ、上述の実施形態のデータ配信手順に係わる機能を記述したプログラムを格納している。メモリは、例えば半導体メモリであり、ＲＡＭ領域およびＲＯＭ領域を含んで構成される。履歴管理データベース３１は、通信履歴管理サーバが備えるメモリまたは記憶装置に設けられる。
【図面の簡単な説明】
【００７６】
【図１】第１の実施形態のデータ配信システムの構成を示す図である。
【図２】第１の実施形態のデータ配信方法を提供する機能を説明する図である。
【図３】第１の実施形態のデータ配信方法のシーケンスを示す図である。
【図４】リクエストメッセージの実施例である。
【図５】通信履歴通知メッセージの実施例である。
【図６】クエリメッセージおよびクエリ応答メッセージの実施例である。
【図７】応答メッセージの実施例である。
【図８】通信履歴が適切に記録されていないときの動作を示すシーケンス図である。
【図９】第２の実施形態のデータ配信方法を提供する機能を説明する図である。
【図１０】第２の実施形態のデータ配信システムの構成を示す図である。
【図１１】第２の実施形態のデータ配信方法のシーケンスを示す図である。
【図１２】第３の実施形態のデータ配信方法を提供する機能を説明する図である。
【図１３】第３の実施形態のデータ配信システムの構成を示す図である。
【図１４】第３の実施形態のデータ配信方法のシーケンスを示す図である。
【図１５】第４の実施形態のデータ配信方法のシーケンスを示す図である。
【図１６】第４の実施形態で使用されるメッセージの実施例である。
【図１７】通信履歴を管理する機能を備えたデータ配信システムの一例を示す構成図である。
【符号の説明】
【００７７】
１０      クライアントシステム
１１−Ｘ  クライアント端末
１１−Ｙ  クライアント端末
１２      ゲートウェイ装置
１２ａ、２２ａ  通信履歴生成部
１２ｂ、２１ａ、２２ｂ  メッセージＩＤ生成部
１２ｃ、２２ｃ  履歴送信部
２０      サーバシステム
２１      データサーバ
２１ｂ    クエリ部
２１ｃ    フィルタリング部
２１ｄ    サービス機能部
２２      ゲートウェイ装置
３０      通信履歴管理サーバ
３１      履歴管理データベース
３２      履歴検索部
３３      履歴状態通知部
【図２】
2010067013.tif 000003
【図３】
2010067013.tif 000004
【図４】
2010067013.tif 000005
【図５】
2010067013.tif 000006
【図６】
2010067013.tif 000007
【図７】
2010067013.tif 000008
【図８】
2010067013.tif 000009
【図９】
2010067013.tif 000010
【図１１】
2010067013.tif 000011
【図１２】
2010067013.tif 000012
【図１３】
2010067013.tif 000013
【図１４】
2010067013.tif 000014
【図１５】
2010067013.tif 000015
【図１６】
2010067013.tif 000016
【図１７】
2010067013.tif 000017
【図１】
2010067013.tif 000018
【図１０】
2010067013.tif 000019