説明

データ配信システム、データ配信方法、および通信履歴管理サーバ

【課題】通信履歴を確実に記録できるデータ配信システムおよび方法を提供する。
【解決手段】クライアント端末11−Xからデータサーバ21へデータ配信を要求するリクエストXが送信される。ゲートウェイ装置12、22は、それぞれ、リクエストXを識別するメッセージIDおよびリクエストXに係わる通信履歴を生成する。通信履歴管理サーバ30は、ゲートウェイ装置12、22により生成された通信履歴を、メッセージIDに関連づけて管理する。データサーバ21は、リクエストXについて、ゲートウェイ装置12、22により生成された通信履歴の双方が記録されているときに、リクエストXに対応するデータをクライアント端末11−Xへ配信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ配信システム、データ配信方法および通信履歴管理サーバに係わり、通信履歴を管理する機能を備えるデータ配信システムに適用可能である。
【背景技術】
【0002】
通信技術の高度化に伴って、様々な領域において情報のネットワーク化が進みつつある。例えば、医療分野では、医療の質の向上あるいは利用者の利便性の向上を目的として、複数の医療機関をネットワークで結び、ネットワークを介して医療情報のやりとりを行う医療ネットワークの実現に向けた取り組みが行われている。
【0003】
ネットワークを介して重要な情報が転送されることが増加している。重要な情報は、暗号化通信を利用して転送するだけでなく、その通信履歴(例えば、いつ、誰が、どこからどこへ、どのような情報を送信したのか等)を保存および管理しておくことが強く求められる。例えば、医療ネットワークでは、個人情報を含む診療データを取り扱うため、通信履歴の厳格な管理が求められている。
【0004】
図17は、通信履歴を管理する機能を備えたデータ配信システムの一例を示す構成図である。この例では、複数の拠点(拠点A〜D)がネットワークを介して接続されている。また、拠点間は、仮想私設網(VPN:Virtual Private Network)で接続されている。さらに、各拠点にはゲートウェイ装置(GW)が設けられている。
【0005】
上記構成のデータ配信システムにおいて、クライアント101−Xがデータサーバ111に格納されているデータX(例えば、診療データ)を要求するものとする。この場合、クライアント101−Xは、ゲートウェイ装置102を介してリクエストXをデータサーバ121へ送信する。これにより、リクエストXは、拠点Bに転送される。このとき、ゲートウェイ装置102、112は、それぞれ、リクエストXに係わる通信履歴Xを生成して通信履歴管理サーバ121に送信する。
【0006】
データサーバ111は、リクエストXに応じてデータXを抽出し、ゲートウェイ装置112を介してそのデータXをクライアント101−Xへ送信する。このとき、図示しないが、ゲートウェイ装置112、102は、それぞれ、データXに係わる通信履歴を生成して通信履歴管理サーバ121に送信する。
【0007】
このように、ゲートウェイ装置102、112が通信履歴情報を生成する機能を備え、通信履歴管理サーバ121には、リクエストXおよびデータXに係わる通信履歴が記録される。すなわち、通信履歴管理サーバ121によりネットワーク上の通信履歴が一元管理される。このとき、クライアント端末またはデータサーバは、通信履歴を生成する必要はない。よって、利用者が通信技術に係わる特別な知識を持たない場合であっても、端末の管理・運用状態(例えば、セキュリティパッチ適用状態やログ記録設定状態)によらず、確実にデータ配信情報を記録することが可能である。
【0008】
関連する技術として、不正通信を検出する装置が知られている。この不正通信検出装置は、外部ノードから保護対象ノードへの通信経路上に設けられ、保護対象ノードに対する通信内容を監視する。この不正通信検出装置において、外部ノードから保護対象ノードへ送信される情報の少なくとも一部が記録され、予め定められた不正通信基準ルールに合致するか否かが判断される。記録された情報が不正通信基準ルールに合致した場合には、不正な通信であるものと判断される。(例えば、特許文献1)
【特許文献1】特開2005−44277号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
図17に示すシステムにおいて、ゲートウェイ装置を介さない通信が行われた場合、あるいはゲートウェイ装置が何らかの理由で通信履歴を記録できない場合には、通信履歴が通信履歴管理サーバ121に記録されることなく、データサーバ111からデータが配信されてしまう。例えば、クライアント101−Yがゲートウェイ装置102、112を介さずにデータサーバ111にアクセスした場合には、リクエストYに係わる通信履歴はどこにも記録されない。また、リクエストYに対応するデータYがゲートウェイ装置を介さずに送信されると、データYに係わる通信履歴も記録されない。このような状況は、通信履歴の管理を重視するシステム(例えば、医療ネットワークシステム)においては深刻な問題となり得る。
【0010】
本発明の課題は、通信履歴を確実に記録できるデータ配信システムおよびデータ配信方法を提供することである。
【課題を解決するための手段】
【0011】
実施形態のデータ配信システムは、クライアント端末を備えるクライアントシステムおよびデータサーバを備えるサーバシステムを含み、前記クライアントシステムに設けられ、前記クライアント端末から送信される送信リクエストメッセージを識別する第1のメッセージ識別子および前記送信リクエストメッセージに係わる第1の通信履歴を生成する第1の生成部と、前記サーバシステムに設けられ、受信リクエストメッセージを識別する第2のメッセージ識別子および前記受信リクエストメッセージに係わる第2の通信履歴を生成する第2の生成部と、前記第1および第2のメッセージ識別子を互いに比較する比較部と、前記比較部による比較結果に基づいて前記第1および第2の通信履歴を記録する記録部と、前記記録部に記録されている通信履歴の状態に基づいて前記受信リクエストメッセージに対応するデータ配信を許可するか否かを判定する判定部と、前記判定部による判定結果に基づいて前記受信リクエストメッセージに対応するデータ配信を制御する配信制御部と、を有する。
【0012】
上記構成のデータ配信システムにおいて、クライアント端末から送信されたリクエストメッセージが第1の生成部および第2の生成部を経由してサーバシステムに転送された場合には、第1および第2のメッセージ識別子は互いに一致する。この場合、第1および第2の通信履歴は、1つのリクエストメッセージに関連づけて記録される。したがって、記録部に記録されている通信履歴の状態に基づいて、通信履歴が適切に管理されているか否かを判断することができる。
【0013】
前記記録部は、前記第1および第2のメッセージ識別子が互いに一致していたときに、前記第1のメッセージ識別子に関連づけて前記第1および第2の通信履歴を記録するようにしてもよい。この場合、前記判定部は、前記第1のメッセージ識別子に関連づけて記録されている通信履歴の個数に基づいて、前記クライアントシステムと前記サーバシステムとの間の通信履歴の管理状態を判定する。
【発明の効果】
【0014】
開示の構成および方法によれば、データ配信システムにおいて通信履歴を確実に記録することができる。
【発明を実施するための最良の形態】
【0015】
<第1の実施形態>
図1は、第1の実施形態のデータ配信システムの構成を示す図である。この実施形態では、複数の拠点(拠点A〜D)がネットワークを介して接続されている。拠点Aには、クライアントシステム10が設けられている。クライアントシステム10は、クライアント端末11−X、11−Y、ゲートウェイ装置12、VPN装置13を備える。なお、クライアント端末11−Xは、ゲートウェイ装置12の配下に接続されているが、クライアント端末11−Yは、ゲートウェイ装置12に収容されていないものとする。拠点Bには、サーバシステム20が設けられている。サーバシステム20は、データサーバ21、ゲートウェイ装置22、VPN装置23を備える。データサーバ21は、例えばHTTPプロトコルで、データ配信サービスを提供する。VPN装置13、23は、VPNルータまたはVPNゲートウェイであり、拠点A、B間にセキュアな通信路(例えば、IPSec)を形成する。なお、特に図示しないが、他の拠点にもクライアントシステムまたはサーバシステムが設けられている。また、拠点間では、1または複数のルータを介してIPパケットが転送される。
【0016】
通信履歴管理サーバ30は、履歴管理データベース31を備え、クライアントシステムとサーバシステムとの間の通信の履歴を記録および管理する。なお、各拠点と通信履歴管理サーバ30との間には、セキュアな通信路(例えば、HTTPS)が形成されているものとする。
【0017】
図2は、第1の実施形態のデータ配信方法を提供する機能を説明する図である。図2において、クライアント端末11(11−X)は、クライアント機能を備える。クライアント機能は、データサーバ21に対してデータの配信を要求するリクエストメッセージを送信する。
【0018】
ゲートウェイ装置12は、ネットワークを流れるIPパケットからアプリケーションレイヤデータグラム(以下、データメッセージと呼ぶ。)を再構築し、そのデータメッセージを解析する。これにより、データメッセージの詳細な情報(例えば、アプリケーションの種別およびその内容)を認識すると共に、データメッセージを中継するときのネットワーク情報(送信先/送信元IPアドレス情報など)を含む通信履歴情報を作成する。
【0019】
ゲートウェイ装置12は、通信履歴生成部12a、メッセージID生成部12b、履歴送信部12cを備える。通信履歴生成部12aは、上述したように、データメッセージを中継する際に、そのデータメッセージに係わる通信履歴を生成する。メッセージID生成部12bは、データメッセージを一意に識別するメッセージIDを生成する。履歴送信部12cは、通信履歴およびメッセージIDを通信履歴管理サーバ30へ送信する。
【0020】
サーバシステム20が備えるゲートウェイ装置22の構成および動作は、基本的にゲートウェイ装置12と同じである。すなわち、ゲートウェイ装置22は、通信履歴生成部22a、メッセージID生成部22b、履歴送信部22cを備え、データメッセージの通信履歴およびメッセージIDを生成して通信履歴管理サーバ30へ送信する。
【0021】
通信履歴管理サーバ30は、履歴管理データベース31を備え、各ゲートウェイ装置(ここでは、12、22)により生成される通信履歴を収集して一元的に管理する。履歴管理データベース31は、メッセージIDに関連づけて通信履歴を管理する。この実施例では、「メッセージID=X」に関連づけて履歴1および履歴2が記録され、「メッセージID=Y」に関連づけて履歴3が記録されている。
【0022】
データサーバ21は、メッセージID生成部21a、クエリ部21b、フィルタリング部21c、サービス機能部21dを備える。メッセージID生成部21aは、クライアントから受信したデータメッセージを一意に識別するメッセージIDを生成する。クエリ部
21bは、生成されたメッセージIDをパラメータとして、通信履歴管理サーバ30に対して、受信したデータメッセージに係わる通信履歴が適切に管理されているかを問い合わせる。履歴検索部32は、クエリ部21bからの問合せに応じて履歴管理データベース31を検索し、通信履歴が適切に管理されているかを調べる。このとき、例えば、クエリ部21bから受信したメッセージIDに関連づけて2以上の通信履歴(送信側ゲートウェイ装置において得られた通信履歴および受信側ゲートウェイ装置において得られた通信履歴を含む)が記録されていれば、通信履歴が適切に管理されていると判定される。一方、クエリ部21bから受信したメッセージIDに関連づけて記録されている通信履歴の個数が2未満であれば、通信履歴が適切に管理されていないと判定される。そして、この検索により得られる通信履歴管理状態情報は、データサーバ21に返送される。
【0023】
フィルタリング部21cは、上記問合せに対する応答メッセージに応じて、受信したデータメッセージをフィルタリングする。すなわち、通信履歴が適切に管理されている場合は、フィルタリング部21cは、受信したデータメッセージをサービス機能部21dに転送する。この場合、サービス機能部21dは、受信したデータメッセージに対応するサービスを提供する。例えば、クライアントからデータ配信のリクエストを受信したときは、サービス機能部21dは、指定されたデータを配信する。一方、通信履歴が適切に管理されていない場合は、フィルタリング部21cは、受信したデータメッセージを拒否し、サービス機能部21dはデータ配信を実行しない。このとき、フィルタリング部21cは、データメッセージを拒否することを表す応答メッセージをクライアントに返送するようにしてもよい。
【0024】
このように、実施形態のデータ配信方法においては、クライアントシステム10で生成された通信履歴およびサーバシステム20で生成された通信履歴の双方が通信履歴管理サーバ30に記録されていた場合に限って、データサーバ21によるデータ配信が許可される。したがって、通信履歴が記録されることなく重要なデータがネットワークを介して配信される事態を回避することができる。
【0025】
次に、図1および図3を参照しながら、第1の実施形態のデータ配信方法の手順を説明する。ここでは、クライアント端末11−Xが備えるウェブブラウザを使用して、データサーバ21に格納されているデータ(例えば、電子カルテファイル)を取得および/または閲覧するものとする。なお、図3では、VPN装置は省略されている。
【0026】
クライアント端末11−Xは、ユーザが所望する電子カルテファイルのURLが入力されると、リクエストメッセージX(図1では、リクエストX)を作成して送信する。このリクエストメッセージXは、IPパケットに格納されて送信される。
【0027】
図4は、リクエストメッセージの一例である。リクエストメッセージは、HTTPヘッダ部およびHTTPボディ部を含んで構成される。HTTPヘッダ部には、ユーザにより指定されたファイルのURL、ホスト名などが書き込まれている。また、HTTPボディ部には、この例では、ヘッダとボディのセパレータとしての改行コードのみが設定されている。なお、HTTPヘッダ部およびHTTPボディ部は、特に限定されるものではないが、いずれも汎用的な形式を利用することができる。
【0028】
ゲートウェイ装置12は、クライアント端末11−Xから送信されたリクエストメッセージXを再構築する。このとき、リクエストメッセージが複数のIPパケットを利用して送信された場合には、ゲートウェイ装置12は、それら複数のIPパケットを結合することにより、リクエストメッセージを再構築する。そして、ゲートウェイ装置12は、リクエストメッセージXを一意に識別するメッセージID、およびリクエストメッセージXに係わる通信履歴を生成する。
【0029】
メッセージIDは、例えば、リクエストメッセージXに対してHASH演算(SHA−1等)を実行することにより得られる。この演算結果は、リクエストメッセージXを一意に識別する。なお、メッセージIDは、他の方法で生成されるようにしてもよい。
【0030】
通信履歴は、この例では、ネットワーク情報(NetworkInformation)、コンテンツ情報(ContentInformation)、ゲートウェイ情報(GatewayInformation)、および他の情報(Others)を含んで構成される。ネットワーク情報は、例えば、送信元IPアドレス、送信元ポート番号、送信先IPアドレス、送信先ポート番号を含み、IPパケットのヘッダ情報を参照して生成される。コンテンツ情報は、メッセージの内容を参照して生成される。ただし、リクエストメッセージに対応する通信履歴においては、コンテンツ情報は必ずしも生成されない。ゲートウェイ情報は、通信履歴を生成しているゲートウェイを識別する。他の情報としては、例えば、通信履歴を生成している日時が記録される。
【0031】
図5は、通信履歴通知メッセージの一例である。図5(a)に示す通信履歴通知メッセージは、生成した通信履歴およびメッセージIDを通信履歴管理サーバ30に通知する。したがって、通信履歴メッセージのヘッダにおいて、ホスト名として通信履歴管理サーバ30(log.manager.com)が指定されている。また、ペイロードには、上述したネットワーク情報、コンテンツ情報、ゲートウェイ情報、他の情報に加えて、メッセージIDが格納されている。
【0032】
上述のようにして生成された通信履歴通知メッセージは、通信履歴管理サーバ30に送信される。なお、図3では省略しているが、通信履歴管理サーバ30は、通信履歴通知メッセージを受信すると、図5(b)に示す応答メッセージをゲートウェイ装置12に返送する。そして、ゲートウェイ装置12は、応答メッセージを受信すると、クライアント端末11−Xから送信されたリクエストメッセージXをネットワーク上へ中継する。
【0033】
リクエストメッセージXは、ネットワークを介して転送され、ゲートウェイ装置22により受信される。ゲートウェイ装置22は、上述したゲートウェイ装置12と同様の処理を実行する。すなわち、ゲートウェイ装置22は、リクエストメッセージXを識別するメッセージIDおよび通信履歴を生成する。このとき、ゲートウェイ装置22は、ゲートウェイ装置12と同じ方法(この例では、HASH演算)でメッセージIDを生成する。よって、ゲートウェイ装置12において生成されるメッセージIDおよびゲートウェイ装置22において生成されるメッセージIDは、互いに同じである。また、ゲートウェイ装置22において生成される通信履歴は、基本的には、ゲートウェイ装置12において生成される通信履歴と同じである。ただし、ゲートウェイ装置22において生成される通信履歴においては、ゲートウェイ情報はゲートウェイ装置22を識別し、他の情報としてゲートウェイ装置22において通信履歴が生成された日時が記録されている。
【0034】
ゲートウェイ装置22は、生成したメッセージIDおよび通信履歴を通信履歴管理サーバ30へ送信する。そうすると、通信履歴管理サーバ30は、ゲートウェイ装置22に応答メッセージを返送する。そして、ゲートウェイ装置22は、応答メッセージを受信すると、リクエストメッセージXをデータサーバ21へ転送する。
【0035】
このように、ゲートウェイ装置12、22は、通信履歴通知メッセージを生成して通信履歴管理サーバ30へ送信する。図1に示す例では、ゲートウェイ装置12から通信履歴管理サーバ30へ「通信履歴情報1(メッセージID=X)」が送信され、ゲートウェイ装置22から通信履歴管理サーバ30へ「通信履歴情報2(メッセージID=X)」が送信されている。
【0036】
通信履歴管理サーバ30は、ゲートウェイ装置12、22から通信履歴通知メッセージを受信すると、そのペイロードからメッセージIDを抽出する。そして、通信履歴通知メッセージにより通知された通信履歴は、メッセージIDと関連づけて履歴管理データベース31に記録される。このとき、通信履歴通知メッセージから抽出したメッセージIDが履歴管理データベース31に既に登録されているかがチェックされる。そして、通信履歴通知メッセージから抽出したメッセージIDが履歴管理データベース31に登録されていなければ、そのメッセージIDをエントリキーとして対応する通信履歴を記録する。一方、通信履歴通知メッセージから抽出したメッセージIDが既に履歴管理データベース31に登録されている場合には、そのメッセージIDのエントリに対応する通信履歴を追加する。
【0037】
このように、通信履歴管理サーバ30は、ゲートウェイ装置12、22から受信したメッセージIDを互いに比較する。そして、ゲートウェイ装置12、22から受信した通信履歴は、その比較結果に応じて履歴管理データベース31に記録される。すなわち、ゲートウェイ装置12、22から受信したメッセージIDが互いに一致する場合には、ゲートウェイ装置12、22から受信した通信履歴1、2は、1つのエントリ内に記録される。一方、ゲートウェイ装置12、22から受信したメッセージIDが互いに異なっている場合には、ゲートウェイ装置12、22から受信した通信履歴1、2は、別々のエントリに記録される。
【0038】
図1を参照しながら通信履歴を記録する手順の実施例を説明する。通信履歴管理サーバ30は、ゲートウェイ装置12から「通信履歴情報1(メッセージID=X)」を受信すると、履歴管理データベース31に「メッセージID=X」をキーとするエントリが存在するか否かをチェックする。ここでは、「メッセージID=X」をキーとするエントリが存在しないものとする。そうすると、履歴管理データベース31において、「メッセージID=X」をキーとするエントリが作成され、そのエントリに「通信履歴1」が記録される。
【0039】
続いて、通信履歴管理サーバ30は、ゲートウェイ装置22から「通信履歴情報2(メッセージID=X)」を受信する。このとき、履歴管理データベース31には「メッセージID=X」をキーとするエントリが存在している。よって、この場合、このエントリに「通信履歴2」が追加される。
【0040】
履歴管理データベース31において、1つのメッセージIDに対して2以上の通信履歴が記録されている場合には、そのメッセージを転送する通信に係わる通信履歴が適切に管理されていると判定される。図1に示す履歴管理データベース31においては、「メッセージID=X」について2つの通信履歴(履歴1、2)が記録されている。よって、この場合、リクエストメッセージXに係る通信履歴が適切に管理されていると判定され、履歴管理状態として「OK」が設定されている。一方、「メッセージID=Y」については1つだけ通信履歴(履歴3)が記録されている。よって、この場合、リクエストメッセージYに係る通信履歴が適切に管理されていないと判定され、履歴管理状態として「NG」が設定されている。
【0041】
なお、履歴管理状態を表す情報(OK/NG)は、履歴管理データベース31に記録されなくてもよい。例えば、通信履歴管理サーバ30は、サーバシステム20からの問合せに応じて対応するメッセージIDに対して記録されている通信履歴の数をカウントし、そのカウント値に基づいて通信履歴が適切に管理されているか判定するようにしてもよい。すなわち、問合せに応じて判定するようにしてもよい。
【0042】
データサーバ21は、上述のようにしてクライアント端末11−Xから送信されたリク
エストメッセージXを受信する。この場合、データサーバ21は、リクエストメッセージXに係わる通信履歴が通信履歴管理サーバ30によって適切に管理されているかを確認する。すなわち、データサーバ21は、まず、リクエストメッセージXを識別するメッセージIDを生成する。このとき、データサーバ21は、ゲートウェイ装置12、22と同じ方法(この例では、HASH演算)でメッセージIDを生成する。よって、データサーバ21において生成されるメッセージID(すなわち、ID=X)は、ゲートウェイ装置12、22において生成されるメッセージIDと同じである。
【0043】
続いて、データサーバ21は、クエリメッセージを生成して通信履歴管理サーバ30へ送信する。クエリメッセージの実施例を図6(a)に示す。この例では、クエリメッセージのペイロードにメッセージIDが格納されている。そして、データサーバ21は、通信履歴管理サーバ30からの応答を待つ。
【0044】
通信履歴管理サーバ30は、データサーバ21から受信したクエリメッセージからメッセージIDを抽出し、そのメッセージIDを検索キーとして履歴管理データベース31を参照する。そして、クエリ応答メッセージとして、通信履歴管理状態情報(OK/NG)がデータサーバ21に返送される。クエリ応答メッセージの例を図6(b)に示す。この例では、「メッセージID=X」の通信履歴管理状態として「OK」が記録されている。よって、クエリ応答メッセージとして「通信履歴管理状態=OK」がデータサーバ21に送信される。なお、通信履歴管理サーバ30は、クエリメッセージを受信したときに履歴管理データベース31に記録されている履歴の個数をカウントし、その結果をデータサーバ21に通知するようにしてもよい。
【0045】
データサーバ21は、通信履歴管理サーバ30から受信するクエリ応答(履歴管理状態情報)に従って、リクエストメッセージXをフィルタリングする。この例では、クエリ応答により「履歴管理状態=OK」が得られるので、クライアント/サーバ間の通信の履歴が適切に記録されていると判断される。したがって、データサーバ21は、受信したリクエストメッセージXに対応するサービスを提供する。この例では、データサーバ21は、リクエストメッセージXに対応する応答として、指定された電子カルテファイルをクライアント端末11−Xへ配信する。データサーバ21から配信される応答メッセージ(コンテンツメッセージ)の実施例を図7に示す。
【0046】
コンテンツメッセージは、ゲートウェイ装置22、12を介してクライアント端末11−Xへ転送される。このとき、ゲートウェイ装置22、12は、それぞれ、コンテンツメッセージを識別するメッセージIDおよびコンテンツメッセージにかかわる通信履歴を生成し、通信履歴管理サーバ30へ送信する。メッセージIDおよび通信履歴を生成する方法は、上述した通りである。そして、通信履歴管理サーバ30は、これらの通信履歴をメッセージIDに関連づけて記録する。
【0047】
このように、実施形態のデータ配信システムにおいては、通信履歴管理サーバ30に通信履歴が適切に管理されている場合に、データ配信が許可される。したがって、データサーバ21からのデータ配信に係わる通信履歴が確実に記録される。
【0048】
図8は、通信履歴が適切に記録されていないときの動作を示すシーケンス図である。この例では、ゲートウェイ装置12に収容されていないクライアント端末11−Yが、データサーバ21にリクエストメッセージYを送信するものとする。
【0049】
リクエストメッセージYは、ゲートウェイ装置12を介することなく、ゲートウェイ装置22へ転送される。すなわち、ゲートウェイ装置12においてリクエストメッセージYに係わる通信履歴が生成されることはない。このため、通信履歴管理サーバ30には、ゲ
ートウェイ装置22により生成された通信履歴のみが記録される。図1においては、「メッセージID=Y」に関連づけて「履歴3」のみが記録されている。
【0050】
データサーバ21は、リクエストメッセージYを受信すると、メッセージIDを生成して通信履歴管理サーバ30へクエリを送信する。しかし、通信履歴管理サーバ30において、リクエストメッセージYに係わる通信履歴は1つしか記録されていない。よって、通信履歴管理サーバ30は、クエリ応答として「NG」を返送する。そうすると、データサーバ21は、リクエストメッセージYに係わる通信履歴が適切に記録されていないと判断し、データ配信を行わない。そして、データサーバ21は、クライアント端末11−Yに対してエラーメッセージを送信する。なお、エラーメッセージの送信は、必須の手順ではない。
【0051】
このように、第1の実施形態では、データサーバ21において、クライアント・サーバ間の通信履歴の記録状態を確認した後にデータ配信を行うので、通信履歴の記録が適切に実施されていない通信を事前に検出できる。したがって、通信履歴が残らないようなデータ配信を未然に防ぐとともに、通信履歴を確実に記録・保管することができる。
【0052】
<第2の実施形態>
第1の実施形態では、通信履歴が適切に記録されているか否かをデータサーバから通信履歴管理サーバに問い合わせる手順が行われる。これに対して、第2の実施形態では、このような問合せは不要である。
【0053】
図9は、第2の実施形態のデータ配信方法を提供する機能を説明する図である。第2の実施形態においては、通信履歴管理サーバ30は、同一のメッセージIDについてゲートウェイ装置12、22の双方から通信履歴を受け取ると、そのメッセージIDの通信履歴状態通知フラグを「OK」に設定する。履歴状態通知部33は、通信履歴状態通知フラグが「OK」に設定されたメッセージIDを検出すると、そのメッセージIDと共に「履歴管理状態=OK」をデータサーバ21に通知する。
【0054】
データサーバ21において、メッセージID生成部21aは、リクエストメッセージを識別するメッセージIDを生成する。メッセージIDを生成する方法は、第1の実施形態と同じである。そして、生成したメッセージIDは、フィルタリング部21cに渡される。ただし、データサーバ21は、通信履歴管理サーバ30に対してクエリを行わない。
【0055】
フィルタリング部21cは、リクエストメッセージを受信してから所定時間、メッセージID生成部21aにより生成されたメッセージIDに対応する履歴管理状態情報が通信履歴管理サーバ30から送られてくるのを待つ。そして、フィルタリング部21cは、上記メッセージIDについて「履歴管理状態=OK」を受信すると、受信したリクエストメッセージをサービス機能部21dへ転送する。
【0056】
図10および図11を参照しながら、第2の実施形態のデータ配信方法の手順を説明する。ここでは、第1の実施形態の説明と同様に、クライアント端末11−XがリクエストメッセージXを送信するものとする。
【0057】
クライアント端末11−Xからデータサーバ21へリクエストメッセージXが転送される際に、ゲートウェイ装置12、22は、それぞれ、通信履歴およびメッセージIDを生成する。そして、これらの通信履歴は、第1の実施形態と同様に、履歴管理データベース31においてメッセージIDに関連づけて記録される。すなわち、図10に示すように、「メッセージID=X」に対して2つの通信履歴(ゲートウェイ装置12により生成された履歴1、ゲートウェイ装置22により生成された履歴2)が記録される。
【0058】
データサーバ21は、リクエストメッセージXを受信すると、タイマを利用して経過時間のカウントを開始する。一方、通信履歴管理サーバ30は、「メッセージID=X」に対して2つの通信履歴が記録されていることを検出すると、そのメッセージIDと共に、「履歴管理状態=OK」をデータサーバ21へ送信する。そして、データサーバ21は、タイマが満了する前に履歴管理状態情報を受信すると、リクエストメッセージXに係わる通信履歴が適切に記録されていると判定し、リクエストメッセージXに対応するデータ配信を実行する。
【0059】
一方、リクエストメッセージを受信したときから所定時間内に通信履歴管理サーバ30から履歴管理状態情報を受信できなかったときは、データ配信を行わない。図10に示す例では、リクエストメッセージYについては、「メッセージID=Y」に対して通信履歴が1つしか記録されていない。この場合、通信履歴管理サーバ30は、データサーバ21に履歴管理状態情報を送信しない。したがって、データサーバ21においてタイマが満了してしまい、リクエストメッセージYに対応するデータ配信は実行されない。
【0060】
このように、第2の実施形態においても、通信履歴が適切に記録される前にデータ配信が行われることは回避される。また、第2の実施形態においては、データサーバ21から通信履歴管理サーバ30へのクエリを行う必要がない。
【0061】
<第3の実施形態>
第1および第2の実施形態では、通信履歴管理サーバ30は、データサーバ21とは別のコンピュータで実現されている。これに対して第3の実施形態では、通信履歴管理サーバ30を実現するための機能がデータサーバ21の中に設けられている。
【0062】
図12は、第3の実施形態のデータ配信方法を提供する機能を説明する図である。第3の実施形態においては、履歴管理データベース31は、データサーバ21に設けられる。また、ゲートウェイ装置12、22において生成される通信履歴およびメッセージIDは、データサーバ21に送信される。
【0063】
図13は、第3の実施形態のデータ配信システムの構成を示す図である。また、図14は、第3の実施形態のデータ配信方法のシーケンスを示す図である。第3の実施形態の手順は、基本的には、第1または第2の実施形態と同じである。ただし、第1または第2の実施形態におけるデータサーバ21と通信履歴管理サーバ30との間のデータ送受信は、第3の実施形態では、1つの装置内のローカルメッセージ通信により実現される。
【0064】
なお、通信履歴状態の判定結果は、第1の実施形態と同様に、フィルタリング部21cから履歴管理データベース31へクエリを送信して問い合わせるようにしてもよい。あるいは、クエリを行うことなしに、履歴管理データベース31からフィルタリング部21cへ通信履歴管理状態を通知するようにしてもよい。
【0065】
このように、第3の実施形態においても、通信履歴が適切に記録される前にデータ配信が行われることは回避される。なお、第3の実施形態のデータ配信システムは、特に限定されるものではないが、小規模ネットワークに適している。
【0066】
<第4の実施形態>
クライアントとサーバとの間の通信では、同一セッション内で複数のリクエストが送信されることがある。そこで、第4の実施形態では、同一セッション内で複数のリクエストが送信される場合には、2回目以降のリクエストについては履歴管理状態を確認することなくデータ配信が実行される。
【0067】
図15は、第4の実施形態のデータ配信方法のシーケンスを示す図である。この実施例では、クライアント端末11−Xとデータサーバ21との間の通信を識別する1つのセッション内で、クライアント端末11−XがリクエストメッセージX1、X2を送信するものとする。なお、図15では、ゲートウェイ装置12、22において通信履歴およびメッセージIDを生成する手順、および生成した通信履歴およびメッセージIDを通信履歴管理サーバ30へ送信する手順は、省略されている。
【0068】
1回目のリクエスト(すなわち、リクエストメッセージX1)が送信されたときの手順は、第1〜第3の実施形態と同じである。すなわち、ゲートウェイ装置12、22により、それぞれ通信履歴およびメッセージIDが生成され、履歴管理データベース31においてメッセージIDに関連づけて記録される。ただし、データサーバ21は、リクエストメッセージX1を受信したときに、セッションを識別するセッション識別子を生成し管理する。そして、リクエストメッセージX1に対応するコンテンツを配信する際に、セッション識別子も合わせて送信する。
【0069】
セッション識別子は、この実施例では、Cookie情報である。Cookie情報は、例えば、メッセージIDまたはデータサーバが生成する一意の乱数である。また、Cookie情報の通知は、たとえば、応答データをクライアントへ送信する際に、セッション識別子を含むSet-CookieヘッダをHTTPヘッダに付与することで実現可能である。
【0070】
2回目以降のリクエスト(すなわち、リクエストメッセージX2)は、データサーバ21から通知されたCookie情報が付与されて送信される。このとき、クライアント端末11−Xのウェブブラウザは、標準的なブラウザ仕様にしたがって、セッション識別子を含むCookie情報をHTTPリクエストヘッダに埋め込んで送信する。
【0071】
データサーバ21は、このリクエストメッセージに含まれるCookie情報と、データサーバ21内で管理しているセッション識別子とを比較する。そして、これらが互いに一致する場合には、受信したリクエストメッセージのセッションに係わる通信履歴の管理状態が既に確認されていると判断する。すなわち、このセッションに係わる通信履歴が適切に記録されていると判断される。この場合、データサーバ21は、通信履歴管理サーバ30における通信履歴の管理状態をチェックすることなく、要求されたデータを即座に配信する。
【0072】
図16(a)は、データサーバ21からクライアント端末11−Xへ送信されるコンテンツメッセージの実施例である。このコンテンツメッセージのヘッダには、Cookie情報としてセッション識別子が書き込まれている。
【0073】
図16(b)は、2回目以降のリクエストメッセージの実施例である。このリクエストメッセージのヘッダには、Cookie情報として、データサーバ21から通知されたセッション識別子が設定されている。
【0074】
このように、第4の実施形態では、同一セッション内で複数のリクエストが送信される場合、通信履歴の管理状態を確認する手順を省略することができる。したがって、クライアント・サーバ間のアクセス時間の短縮が可能となる。
【0075】
<ハードウェア構成>
上述のクライアント端末、ゲートウェイ装置、データサーバ、通信履歴管理サーバは、コンピュータにより実現される。コンピュータは、CPU、記憶装置、メモリ、通信インタフェース、入出力装置等を備える。記憶装置は、例えばハードディスク装置であり、そ
れぞれ、上述の実施形態のデータ配信手順に係わる機能を記述したプログラムを格納している。メモリは、例えば半導体メモリであり、RAM領域およびROM領域を含んで構成される。履歴管理データベース31は、通信履歴管理サーバが備えるメモリまたは記憶装置に設けられる。
【図面の簡単な説明】
【0076】
【図1】第1の実施形態のデータ配信システムの構成を示す図である。
【図2】第1の実施形態のデータ配信方法を提供する機能を説明する図である。
【図3】第1の実施形態のデータ配信方法のシーケンスを示す図である。
【図4】リクエストメッセージの実施例である。
【図5】通信履歴通知メッセージの実施例である。
【図6】クエリメッセージおよびクエリ応答メッセージの実施例である。
【図7】応答メッセージの実施例である。
【図8】通信履歴が適切に記録されていないときの動作を示すシーケンス図である。
【図9】第2の実施形態のデータ配信方法を提供する機能を説明する図である。
【図10】第2の実施形態のデータ配信システムの構成を示す図である。
【図11】第2の実施形態のデータ配信方法のシーケンスを示す図である。
【図12】第3の実施形態のデータ配信方法を提供する機能を説明する図である。
【図13】第3の実施形態のデータ配信システムの構成を示す図である。
【図14】第3の実施形態のデータ配信方法のシーケンスを示す図である。
【図15】第4の実施形態のデータ配信方法のシーケンスを示す図である。
【図16】第4の実施形態で使用されるメッセージの実施例である。
【図17】通信履歴を管理する機能を備えたデータ配信システムの一例を示す構成図である。
【符号の説明】
【0077】
10 クライアントシステム
11−X クライアント端末
11−Y クライアント端末
12 ゲートウェイ装置
12a、22a 通信履歴生成部
12b、21a、22b メッセージID生成部
12c、22c 履歴送信部
20 サーバシステム
21 データサーバ
21b クエリ部
21c フィルタリング部
21d サービス機能部
22 ゲートウェイ装置
30 通信履歴管理サーバ
31 履歴管理データベース
32 履歴検索部
33 履歴状態通知部


【特許請求の範囲】
【請求項1】
クライアント端末を備えるクライアントシステムおよびデータサーバを備えるサーバシステムを含むデータ配信システムであって、
前記クライアントシステムに設けられ、前記クライアント端末から送信される送信リクエストメッセージを識別する第1のメッセージ識別子および前記送信リクエストメッセージに係わる第1の通信履歴を生成する第1の生成部と、
前記サーバシステムに設けられ、受信リクエストメッセージを識別する第2のメッセージ識別子および前記受信リクエストメッセージに係わる第2の通信履歴を生成する第2の生成部と、
前記第1および第2のメッセージ識別子を互いに比較する比較部と、
前記比較部による比較結果に基づいて前記第1および第2の通信履歴を記録する記録部と、
前記記録部に記録されている通信履歴の状態に基づいて前記受信リクエストメッセージに対応するデータ配信を許可するか否かを判定する判定部と、
前記判定部による判定結果に基づいて前記受信リクエストメッセージに対応するデータ配信を制御する配信制御部と、
を有するデータ配信システム。
【請求項2】
請求項1に記載のデータ配信システムであって、
前記判定部は、前記第1および第2のメッセージ識別子が互いに一致していたときは、前記受信リクエストメッセージに対応するデータ配信を許可することを特徴とするデータ配信システム。
【請求項3】
請求項1に記載のデータ配信システムであって、
前記記録部は、前記第1および第2のメッセージ識別子が互いに一致していたときに、前記第1のメッセージ識別子に関連づけて前記第1および第2の通信履歴を記録し、
前記判定部は、前記第1のメッセージ識別子に関連づけて記録されている通信履歴の個数に基づいて、前記クライアントシステムと前記サーバシステムとの間の通信履歴の管理状態を判定する
ことを特徴とするデータ配信システム。
【請求項4】
請求項3に記載のデータ配信システムであって、
前記データサーバに設けられ、前記受信リクエストメッセージを識別する第3のメッセージ識別子を生成して前記判定部に送信するクエリ部をさらに有し、
前記判定部は、前記第3のメッセージ識別子が前記第1および第2のメッセージ識別子に一致しているときには、前記第1のメッセージ識別子に関連づけて記録されている通信履歴の個数に基づいて、前記受信リクエストメッセージに対応するデータ配信を許可するか否かを表すメッセージを前記配信制御部に送信する
ことを特徴とするデータ配信システム。
【請求項5】
請求項3に記載のデータ配信システムであって、
前記判定部は、前記第1および第2のメッセージ識別子が互いに一致していたときは、前記第1のメッセージ識別子に関連づけて記録されている通信履歴の個数に基づいて、前記受信リクエストメッセージに対応するデータ配信を許可するか否かを表すメッセージを前記配信制御部に送信する
ことを特徴とするデータ配信システム。
【請求項6】
請求項1に記載のデータ配信システムであって、
前記比較部、記録部、判定部は、前記データサーバ内に設けられることを特徴とするデ
ータ配信システム。
【請求項7】
請求項1に記載のデータ配信システムであって、
許可されたデータ配信のセッションを識別するセッション識別子を保持するセッション情報保持部をさらに有し、
前記配信制御部は、前記セッション情報保持部に保持されているセッション識別子と同じセッション識別子が設定されている新たなリクエストメッセージを受信したときは、前記新たなリクエストメッセージに対応するデータ配信を実行する
ことを特徴とするデータ配信システム。
【請求項8】
クライアント端末を備えるクライアントシステムおよびデータサーバを備えるサーバシステムを含むデータ配信システムにおいて使用されるデータ配信方法であって、
前記クライアントシステムにおいて、前記クライアント端末から送信される送信リクエストメッセージを識別する第1のメッセージ識別子および前記送信リクエストメッセージに係わる第1の通信履歴を生成し、
前記サーバシステムにおいて、受信リクエストメッセージを識別する第2のメッセージ識別子および前記受信リクエストメッセージに係わる第2の通信履歴を生成し、
前記第1のメッセージ識別子と第2のメッセージ識別子との比較結果に基づいて前記第1および第2の通信履歴を記録し、
記録されている通信履歴の状態に基づいて前記受信リクエストメッセージに対応するデータ配信を許可するか否かを判定し、
前記判定結果に基づいて前記受信リクエストメッセージに対応するデータ配信を制御する
ことを特徴とするデータ配信方法。
【請求項9】
請求項8に記載のデータ配信方法であって、
前記第1および第2のメッセージ識別子が互いに一致していたときに、前記第1のメッセージ識別子に関連づけて前記第1および第2の通信履歴を記録し、
前記第1のメッセージ識別子に関連づけて記録されている通信履歴の個数に基づいて、前記クライアントシステムと前記サーバシステムとの間の通信履歴の管理状態を判定する
ことを特徴とするデータ配信方法。
【請求項10】
クライアント端末から送信される送信リクエストメッセージを識別する第1のメッセージ識別子および前記送信リクエストメッセージに係わる第1の通信履歴を生成する第1の通信装置、およびデータサーバ宛の受信リクエストメッセージを識別する第2のメッセージ識別子および前記受信リクエストメッセージに係わる第2の通信履歴を生成する第2の通信装置を備える通信システムにおいて使用される通信履歴管理サーバであって、
前記第1および第2のメッセージ識別子を互いに比較する比較部と、
前記比較部による比較結果に基づいて前記第1および第2の通信履歴を記録する記録部と、
前記記録部に記録されている通信履歴の状態に基づいて前記受信リクエストメッセージに対応するデータ配信を許可するか否かを判定する判定部と、
を有する通信履歴管理サーバ。

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図1】
image rotate

【図10】
image rotate


【公開番号】特開2010−67013(P2010−67013A)
【公開日】平成22年3月25日(2010.3.25)
【国際特許分類】
【出願番号】特願2008−232789(P2008−232789)
【出願日】平成20年9月11日(2008.9.11)
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成19年度、独立行政法人情報通信研究機構、「ネットワーク認証型コンテンツアクセス制御技術の研究開発」委託研究、産業技術力強化法第19条の適用を受ける特許出願
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】