(57)【要約】【課題】本発明は、アプリケーションにリアルタイムデータを良好に転送することができるリアルタイムデータ転送システム及びリアルタイムデータ転送方法を提供することを目的とする。【解決手段】リアルタイムデータ転送システム１は、アプリケーションに送信するリアルタイムデータを含むデータをリアルタイムデータ送信システム１１から受信するデータ受信システム３と、データ受信システムで受信した受信データを一時的に保持する受信側データ保持装置５と、受信側データ保持装置５から取得した受信データに含まれるリアルタイムデータを送信側に転送する転送サーバ７と、転送サーバ７から転送されたリアルタイムデータを一時的に保持する送信側データ保持装置９とを有している。【選択図】図１
2014165675.tif 000002
【特許請求の範囲】
【請求項１】
リアルタイムデータ送信システムから受信したリアルタイムデータを送信側のアプリケーションに転送するリアルタイムデータ転送方法であって、
前記アプリケーションに転送される前記リアルタイムデータを含むデータを前記リアルタイムデータ送信システムから受信するデータ受信ステップと、
前記データ受信ステップで受信された前記データである受信データを一時的に保持する受信側データ保持ステップと、
前記受信側データ保持ステップで保持された前記受信データに含まれる前記リアルタイムデータを前記送信側のアプリケーション側に転送する転送ステップと、
前記転送ステップで転送された前記リアルタイムデータを一時的に保持する送信側データ保持ステップと、
前記受信データに含まれて前記リアルタイムデータでない非リアルタイムデータをフィルタリングする非リアルタイムデータフィルタリングステップと、
前記受信データに含まれて前記アプリケーションに送信する情報を格納した通常メッセージを削除する場合に前記受信データに含まれる削除メッセージが、所定条件が成立した場合に前記アプリケーションに送信されないようにフィルタリングする削除メッセージフィルタリングステップと、
前記リアルタイムデータに含まれる前記通常メッセージにタグを付与し、付与した前記タグに応じて、タグ付けされた前記通常メッセージを前記アプリケーションに振り分ける通常メッセージ振分ステップと
を有することを特徴とするリアルタイムデータ転送方法。
【請求項２】
前記データ受信ステップにおいて、前記受信データを受信した直後の日時である受信直後日時を前記受信データに付与すること
を特徴とする請求項１記載のリアルタイムデータ転送方法。
【請求項３】
前記非リアルタイムデータフィルタリングステップには、
前記受信側データ保持ステップで保持された前記受信データを解析して前記受信データ内の日時情報を読み取る日時情報読み取りステップと、
前記日時情報に含まれる日時と、解析した前記受信データに付与された前記システム日時とを比較する日時比較ステップと、
前記日時比較ステップにおいて、前記日時情報に含まれる日時と、解析した前記受信データに付与された前記受信直後日時とが所定の閾値以上乖離していると判定された場合に、解析された前記受信データを削除する受信データ削除ステップと
が含まれること
を特徴とする請求項２記載のリアルタイムデータ転送方法。
【請求項４】
前記受信データに含まれて前記アプリケーションに送信されるリアルタイムデータを、前記受信側データ保持ステップにおける前記受信データの取得経路とは異なる取得経路で受信して一時的に保持する別の受信側データ保持ステップと、
現在の時刻と、前記データ受信ステップで前記受信データに付与された前記受信直後日時の時刻とを比較するシステム時刻比較ステップと、
前記システム時刻比較ステップにおいて、前記現在の時刻と前記受信直後日時の時刻とが予め定めた所定時間よりも乖離していると判定された場合に、前記受信データの取得経路を前記受信側データ保持ステップにおける前記取得経路から前記別の受信側データ保持ステップにおける前記取得経路に切り替える取得経路切替ステップと
を有することを特徴とする請求項２記載のリアルタイムデータ転送方法。
【請求項５】
前記削除メッセージフィルタリングステップには、
前記受信側データ保持ステップで保持された前記受信データ内の日時情報及びＩＤ情報を読み取る情報読み取りステップと、
読み取った前記日時情報及び前記ＩＤ情報の少なくとも一方に基づいて前記削除メッセージの有効期間を判定する有効期間判定ステップと、
前記有効期間を超えていると判定された場合には、前記削除メッセージをフィルタリングするフィルタリングステップと
が含まれること
を特徴とする請求項１から４までのいずれか一項に記載のリアルタイムデータ転送方法。
【請求項６】
前記通常メッセージ振分ステップには、
前記転送ステップで取得された前記受信データに含まれる前記リアルタイムデータの前記通常メッセージを言語解析を用いて解析する言語解析ステップと、
解析結果に基づいて前記通常メッセージに前記タグを付与するタグ付けステップと、
前記タグ付けステップで付与された前記タグに応じて前記通常メッセージを振り分ける振分ステップと
が含まれること
を特徴とする請求項１から５までのいずれか一項に記載のリアルタイムデータ転送方法。
【請求項７】
リアルタイムデータ送信システムから受信したリアルタイムデータを送信側のアプリケーションに転送するリアルタイムデータ転送システムであって、
前記アプリケーションに転送する前記リアルタイムデータを含むデータを前記リアルタイムデータ送信システムから受信するデータ受信システムと、
前記データ受信システムが受信した前記データである受信データを一時的に保持する受信側データ保持装置と、
前記受信側データ保持装置から取得した前記受信データに含まれる前記リアルタイムデータを前記送信側のアプリケーション側に転送する転送サーバと、
前記転送サーバから転送された前記リアルタイムデータを一時的に保持する送信側データ保持装置と、
前記受信データに含まれて前記リアルタイムデータでない非リアルタイムデータをフィルタリングするデータフィルタリング部と、
前記受信データに含まれて前記アプリケーションに送信する情報を格納する通常メッセージを削除する場合に前記データに含まれる削除メッセージを、所定条件が成立した場合に前記アプリケーションに送信されないようにフィルタリングする削除メッセージフィルタリング部と、
前記リアルタイムデータに含まれる前記通常メッセージにタグを付与し、付与した前記タグに応じて、タグ付けされた前記通常メッセージを前記アプリケーションに振り分ける通常メッセージ振分部と
を有することを特徴とするリアルタイムデータ転送システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線移動通信ネットワーク及びインターネット通信を利用して、ユーザにリアルタイムサービスを提供するリアルタイムデータ転送システム及びリアルタイムデータ転送方法に関する。
【背景技術】
【０００２】
近年、ミニブログまたはマイクロブログによるコミュニケーションが一般化してきている。マイクロブログは、数十から百数十文字程度で構成される短い文章をマイクロブログの利用者（以下、「ユーザ」と称する）がマイクロブログに投稿するのが特徴である。マイクロブログは、ユーザが何気ない一言をマイクロブログに投稿し自分の状況を他ユーザとシェアする簡易型ブログとしての活用が目立っている。
【０００３】
また、ミニブログは、自分が興味を持ったニュース記事などをそのニュース記事などが記載されたＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）を付してコメントを投稿することで、他ユーザと情報を共有することが可能である。このため、ミニブログは、友人の近況を得るツールに留まらず、情報収集ツールとしても広く活用されている。例えばミニブログでは、自分が興味のあるユーザを自分の閲覧リストに登録しておくことで、そのユーザの発言内容が自動的に送信（ＰＵＳＨ）される。最近では多くのメディアはＴｗｉｔｔｅｒ（登録商標）アカウントを活用し、情報を配信することも珍しくない。
【０００４】
マイクロブログで有名なＴｗｉｔｔｅｒ（登録商標）は、リアルタイムサービスの典型的な例である。従来、リアルタイムサービスにおける転送システムは、受信した受信データを加工せずにそのまま送信先に送信するのが一般的である。
なお、特許文献１には、リアルタイムデータではない受信データに含まれる日付情報を利用する技術が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開９−２１２４５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
例えばＴｗｉｔｔｅｒ（登録商標）などから提供されているＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）のひとつにストリーミングＡＰＩと呼ばれるものがある。ストリーミングＡＰＩは、ＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）接続を開いたままにしてサーバ側から更新情報をクライアント側に送り出す仕組みになっている。このようなＡＰＩから取得したリアルタイムなデータをアプリケーション側へ供給する際、一般的に転送システムの出力側のバッファ装置に、供給する全データを複製した上で、供給する。このため、当該バッファ装置とアプリケーションとの間に大きな負荷がかってしまう。これにより、当該バッファ装置とアプリケーションとの間に障害が発生し、アプリケーション側にリアルタイムデータが良好に転送されないという問題が生じる。
本発明の目的は、リアルタイムデータをアプリケーションに良好に転送することができるリアルタイムデータ転送システム及びリアルタイムデータ転送方法を提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の一態様によるリアルタイムデータ転送方法は、リアルタイムデータ送信システムから受信したリアルタイムデータを送信側のアプリケーションに転送するリアルタイムデータ転送方法であって、前記アプリケーションに転送される前記リアルタイムデータを含むデータを前記リアルタイムデータ送信システムから受信するデータ受信ステップと、前記データ受信ステップで受信された前記データである受信データを一時的に保持する受信側データ保持ステップと、前記受信側データ保持ステップで保持された前記受信データに含まれる前記リアルタイムデータを前記送信側のアプリケーション側に転送する転送ステップと、前記転送ステップで転送された前記リアルタイムデータを一時的に保持する送信側データ保持ステップと、前記受信データに含まれて前記リアルタイムデータでない非リアルタイムデータをフィルタリングする非リアルタイムデータフィルタリングステップと、前記受信データに含まれて前記アプリケーションに送信する情報を格納した通常メッセージを削除する場合に前記受信データに含まれる削除メッセージが、所定条件が成立した場合に前記アプリケーションに送信されないようにフィルタリングする削除メッセージフィルタリングステップと、前記リアルタイムデータに含まれる前記通常メッセージにタグを付与し、付与した前記タグに応じて、タグ付けされた前記通常メッセージを前記アプリケーションに振り分ける通常メッセージ振分ステップとを有することを特徴とする。
このような構成によれば、リアルタイムデータをアプリケーションに良好に転送することができる。
【０００８】
前記データ受信ステップにおいて、前記受信データを受信した直後の日時である受信直後日時を前記受信データに付与し得る。
このような構成によれば、受信したデータがリアルタイムデータであるか否かを判定できる。
前記非リアルタイムデータフィルタリングステップには、前記受信側データ保持ステップで保持された前記受信データを解析して前記受信データ内の日時情報を読み取る日時情報読み取りステップと、前記日時情報に含まれる日時と、解析した前記受信データに付与された前記システム日時とを比較する日時比較ステップと、前記日時比較ステップにおいて、前記日時情報に含まれる日時と、解析した前記受信データに付与された前記受信直後日時とが所定の閾値以上乖離していると判定された場合に、解析された前記受信データを削除する受信データ削除ステップとが含まれ得る。
このような構成によれば、受信したデータがリアルタイムデータであるか否かを判定できる。
【０００９】
前記受信データに含まれて前記アプリケーションに送信されるリアルタイムデータを、前記受信側データ保持ステップにおける前記受信データの取得経路とは異なる取得経路で受信して一時的に保持する別の受信側データ保持ステップと、現在の時刻と、前記データ受信ステップで前記受信データに付与された前記受信直後日時の時刻とを比較するシステム時刻比較ステップと、前記システム時刻比較ステップにおいて、前記現在の時刻と前記受信直後日時の時刻とが予め定めた所定時間よりも乖離していると判定された場合に、前記受信データの取得経路を前記受信側データ保持ステップにおける前記取得経路から前記別の受信側データ保持ステップにおける前記取得経路に切り替える取得経路切替ステップと  を有し得る。
このような構成によれば、受信データの一に取得経路に障害が発生しても、受信データを別の取得経路から取得できるため、リアルタイムデータ転送システムのダウンタイムの短縮化を図ることができる。
【００１０】
前記削除メッセージフィルタリングステップには、前記受信側データ保持ステップで保持された前記受信データ内の日時情報及びＩＤ情報を読み取る情報読み取りステップと、読み取った前記日時情報及び前記ＩＤ情報の少なくとも一方に基づいて前記削除メッセージの有効期間を判定する有効期間判定ステップと、前記有効期間を超えていると判定された場合には、前記削除メッセージをフィルタリングするフィルタリングステップとが含まれ得る。
このような構成によれば、アプリケーションに不要なメッセージが送信されるのを防止できる。
【００１１】
前記通常メッセージ振分ステップには、前記転送ステップで取得された前記受信データに含まれる前記リアルタイムデータの前記通常メッセージを言語解析を用いて解析する言語解析ステップと、解析結果に基づいて前記通常メッセージに前記タグを付与するタグ付けステップと、前記タグ付けステップで付与された前記タグに応じて前記通常メッセージを振り分ける振分ステップとが含まれ得る。
このような構成によれば、アプリケーションに適切なメッセージを送信することができる。
【００１２】
上記目的を達成するために、本発明の一態様によるリアルタイムデータ転送システムは、リアルタイムデータ送信システムから受信したリアルタイムデータを送信側のアプリケーションに転送するリアルタイムデータ転送システムであって、前記アプリケーションに転送する前記リアルタイムデータを含むデータを前記リアルタイムデータ送信システムから受信するデータ受信システムと、前記データ受信システムが受信した前記データである受信データを一時的に保持する受信側データ保持装置と、前記受信側データ保持装置から取得した前記受信データに含まれる前記リアルタイムデータを前記送信側のアプリケーション側に転送する転送サーバと、前記転送サーバから転送された前記リアルタイムデータを一時的に保持する送信側データ保持装置と、前記受信データに含まれて前記リアルタイムデータでない非リアルタイムデータをフィルタリングするデータフィルタリング部と、前記受信データに含まれて前記アプリケーションに送信する情報を格納する通常メッセージを削除する場合に前記データに含まれる削除メッセージを、所定条件が成立した場合に前記アプリケーションに送信されないようにフィルタリングする削除メッセージフィルタリング部と、前記リアルタイムデータに含まれる前記通常メッセージにタグを付与し、付与した前記タグに応じて、タグ付けされた前記通常メッセージを前記アプリケーションに振り分ける通常メッセージ振分部とを有することを特徴とする。
このような構成によれば、リアルタイムデータをアプリケーションに良好に転送することができる。
【発明の効果】
【００１３】
本発明によれば、リアルタイムデータをアプリケーションに良好に転送することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１の実施の形態によるリアルタイムデータ転送システム１の概略構成を示すブロック図である。
【図２】本発明の第１の実施の形態によるリアルタイムデータ転送システム１に備えられた転送サーバ７の概略構成を示すブロック図である。
【図３】本発明の第１の実施の形態によるリアルタイムデータ転送方法の流れの一例を示すフローチャートである。
【図４】本発明の第１の実施の形態によるリアルタイムデータ転送方法における削除メッセージの有効期間の判定処理（ステップＳ１７）の流れの一例を示すフローチャートである。
【図５】本発明の第１の実施の形態によるリアルタイムデータ転送方法におけるタグを用いたメッセージの振分処理（ステップＳ２３）の流れの一例を示すフローチャート及び各種テーブル等を示す図である。
【図６】本発明の第１の実施の形態によるリアルタイムデータ転送方法における削除メッセージの有効期間の判定処理（ステップＳ１７）の変形例の流れの一例を示すフローチャート及び各種テーブル等を示す図である。
【図７】本発明の第１の実施の形態によるリアルタイムデータ転送方法におけるタグを用いたメッセージの振分処理（ステップＳ２３）の変形例の流れの一例を示すフローチャート及び各種テーブル等を示す図である。
【図８】本発明の第２の実施の形態によるリアルタイムデータ転送システム２の概略構成を示すブロック図である。
【図９】本発明の第２の実施の形態によるリアルタイムデータ転送システム２に備えられた転送サーバ８の概略構成を示すブロック図である。
【図１０】本発明の第２の実施の形態によるリアルタイムデータ転送方法の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【００１５】
〔第１の実施の形態〕
（リアルタイムデータ転送システム１及び転送サーバ７の概略構成）
本発明の第１の実施の形態によるリアルタイムデータ転送システム及びリアルタイムデータ転送方法について図１から図７を用いて説明する。まず、本実施の形態によるリアルタイムデータ転送システムの概略構成について図１及び図２を用いて説明する。
【００１６】
図１は、本実施の形態によるリアルタイムデータ転送システム１の概略構成を示している。なお、図１には、理解を容易にするため、リアルタイムデータ転送システム１の他に、リアルタイムデータ転送システム１の受信側に備えられたリアルタイムデータ送信システム１１と、送信側に備えられたアプリケーション群１３とが図示されている。
図１に示すように、本実施の形態によるリアルタイムデータ転送システム１は、リアルタイムデータ送信システム１１から受信したリアルタイムデータを送信側のアプリケーション群１３内のｎ個アプリケーション１３−１、１３−２、・・・、１３−ｎ（ｎは自然数）に転送するシステムである。リアルタイムデータ転送システム１は、データ受信システム３と、受信側データ保持装置５と、転送サーバ７と、送信側データ保持装置９とを有している。
【００１７】
データ受信システム３は、アプリケーション１３−１、１３−２、１３−ｎに転送されるリアルタイムデータを含むデータをリアルタイムデータ送信システム１１から受信するようになっている。また、データ受信システム３は、リアルタイムデータ送信システム１１からデータを受信した直後のリアルタイムデータ転送システム１のシステム日時（受信直後日時の一例）を当該データに付与するようになっている。
【００１８】
リアルタイムデータ送信システム１１が送信するデータには、リアルタイムデータとリアルタイムデータではない非リアルタイムデータとが含まれる。リアルタイムデータは、遅延時間が一定時間内と予め決められているデータである。当該遅延時間には、例えばリアルタイムデータが生成されてからリアルタイムデータ転送システム１に送信されるまでの時間やリアルタイムデータ転送システム１が受信したリアルタイムデータをアプリケーション群１３に転送するまでの時間が含まれる。非リアルタイムデータは、本来はリアルタイムデータであったが、遅延時間が一定時間を超えてしまったデータである。
【００１９】
リアルタイムデータ及び非リアルタイムデータには、通常メッセージが含まれる。通常メッセージは、当該通常メッセージの作成日時の情報とともに、アプリケーションに転送すべき情報を格納している。また、リアルタイムデータ及び非リアルタイムデータには、通常メッセージを削除したい場合に付与される削除メッセージが含まれる。削除メッセージは、削除対象の通常メッセージのＩＤ情報を保持している。リアルタイムデータ転送システム１は、所定条件が成立しない場合（詳細は後述する）に、当該ＩＤ情報を有する通常メッセージを送信したアプリケーションに当該削除メッセージを転送するようになっている。当該削除メッセージを受信したアプリケーションは、当該ＩＤ情報に基づいて削除対象の通常メッセージを削除するようになっている。
【００２０】
受信側データ保持装置５は、データ受信システム３が受信したデータである受信データを一時的に保持するようになっている。受信側データ保持装置５は、当該受信データを一時的に保持するバッファ装置として機能する。このため、例えば送信側データ保持装置９とアプリケーション群１３との間で通信障害が発生したり転送サーバ７のシステム入れ替えが実行されたりしてデータ転送ができない場合にも、リアルタイムデータ送信システム１１からデータを受信し続けることができる。これにより、リアルタイムデータ転送システム１は、システムの停止時間であるダウンタイムの短縮を図ることができる。
【００２１】
転送サーバ７は、受信側データ保持装置５に保持された受信データに含まれるリアルタイムデータを受信側データ保持装置５から取得し、送信側のアプリケーション群１３側に転送するようになっている。より具体的には、転送サーバ７は、取得した受信データに含まれるリアルタイムデータを送信側データ保持装置９を介して送信側のアプリケーション群１３に転送するようになっている。
【００２２】
ここで、転送サーバ７の概略構成について図１を参照しつつ図２を用いて説明する。図２は、転送サーバ７の概略構成を示すブロック図である。図２に示すように、転送サーバ７は、制御部７ａと、データ取得・保持部７ｂと、非リアルタイムデータフィルタリング部７ｃと、削除メッセージフィルタリング部７ｄと、通常メッセージ振分部７ｅと、通常メッセージ出力部７ｆと、バスライン７ｇとを有している。
【００２３】
制御部７ａは、データ取得・保持部７ｂと、非リアルタイムデータフィルタリング部７ｃと、削除メッセージフィルタリング部７ｄと、通常メッセージ振分部７ｅと、通常メッセージ出力部７ｆとを統括的に制御するようになっている。制御部７ａは、バスライン７ｇを介してこれらの構成要素間でのデータの送受信を制御する。
データ取得・保持部７ｂは、制御部７ａの指令に基づいて、受信側データ保持装置５に保持されている受信データを取得するとともに一時的に保持するようになっている。
【００２４】
非リアルタイムデータフィルタリング部７ｃは、受信データに含まれた非リアルタイムデータをフィルタリング、すなわち削除するようになっている。非リアルタイムデータフィルタリング部７ｃは、転送サーバ７に設けられたデータ取得・保持部７ｂが取得した受信データを解析して当該受信データ内の日時情報（当該受信データに含まれる通常メッセージの作成日時の情報）を読み取る。また、非リアルタイムデータフィルタリング部７ｃは、読み取った日時情報に含まれる日時と、データ受信システム３によって解析した受信データに付与された転送サーバ７のシステム日時とを比較する。さらに、非リアルタイムデータフィルタリング部７ｃは、受信データの日時と転送サーバ７のシステム日時とが所定の閾値以上に乖離があると判定すると、当該受信データに含まれる通常メッセージを削除するようになっている。このように、転送サーバ７は、リアルタイムデータではない非リアルタイムデータを削除してアプリケーションに転送しないようになっている。これにより、リアルタイムデータ転送システム１は、不要メッセージをアプリケーションに送信することを防止できる。
【００２５】
また、詳細は後述するが、非リアルタイムデータフィルタリング部７ｃは、当該受信データが削除メッセージであるか否か、すなわち削除メッセージ及び通常メッセージのいずれであるのかを判定するようになっている。非リアルタイムデータフィルタリング部７ｃは、当該受信データが通常メッセージであると判定すると、非リアルタイムデータの削除判定・削除処理を実行する。
【００２６】
非リアルタイムデータフィルタリング部７ｃが当該受信データを削除メッセージであると判定すると、削除メッセージフィルタリング部７ｄは、所定条件が成立した場合に削除メッセージをアプリケーション群１３に送信しないようにフィルタリング、すなわち削除するようになっている。削除メッセージフィルタリング部７ｄは、データ取得・保持部７ｂが取得した受信データに含まれる通常メッセージの日時情報及びＩＤ情報を読み取り、読み取った当該日時情報及び当該ＩＤ情報の少なくとも一方に基づいて削除メッセージの有効期間を判定する。
【００２７】
当該有効期間は削除メッセージが有効な期間、すなわち、削除メッセージが削除対象とする通常メッセージが削除され得る期間である。
削除メッセージフィルタリング部７ｄは、有効期間を超えている削除メッセージをフィルタリング、すなわち削除するようになっている。また、削除メッセージフィルタリング部７ｄは、当該有効期間を超えていない削除メッセージを送信側データ保持装置９を介してアプリケーションに送信するようになっている。このように、転送サーバ７は、有効期間を超えた削除メッセージをアプリケーションに転送しない。これにより、リアルタイムデータ転送システム１は、不要な削除メッセージをアプリケーションに送信することを防止できる。
【００２８】
通常メッセージ振分部７ｅは、リアルタイムデータに含まれる通常メッセージにタグを付与し、付与したタグに応じて通常メッセージをアプリケーションに振り分けるようになっている。通常メッセージ振分部７ｅは、当該タグをキー（ｋｅｙ）として通常メッセージをアプリケーションに振り分ける。通常メッセージ振分部７ｅは、データ取得・保持部７ｂが取得した受信データに含まれるリアルタイムデータの通常メッセージを言語解析を用いて解析する。また、通常メッセージ振分部７ｅは、解析結果に基づいて通常メッセージにタグを付与し、付与したタグに応じて通常メッセージをアプリケーションに振り分けるようになっている。
【００２９】
通常メッセージ出力部７ｆは、通常メッセージ振分部７ｅで振り分けられた通常メッセージや有効期間内の削除メッセージを送信側データ保持装置９に送信するようになっている。
図１に戻って、送信側データ保持装置９は、転送サーバ７から転送されたリアルタイムデータに含まれる通常メッセージを一時的に保持するようになっている。送信側データ保持装置９は、通常メッセージを一時的に保持するバッファ装置として機能する。送信側データ保持装置９は、アプリケーション群１３内のアプリケーション１３−１、１３−２、１３−ｎのそれぞれに応じた通常メッセージを転送キューに格納するようになっている。通常メッセージは、転送キューに格納され、アプリケーションからアクセスされた時点で転送が開始され、対応するアプリケーション１３−１、１３−２、・・・、１３−ｎに送信される。送信側データ保持装置９には、各サービス（アプリケーション）からアクセスがない場合に通常メッセージを自動的に削除する満了時間が指定されている。送信側データ保持装置９は、通常メッセージが登録されてから指定した満了時間が経過したら、登録された通常メッセージ（リアルタイムデータ）を自動的に削除するように構成されている。これにより、リアルタイムデータ転送システム１は、送信側データ保持装置９にリアルタイムデータが長時間かつ大量に蓄積することを防止できる。送信側データ保持装置９は、当該満了時間を設定ファイルにより保持している。
【００３０】
アプリケーション群１３には、複数（本例ではｎ個）のアプリケーション１３−１、１３−２、・・・、１３−ｎが含まれている。プリケーション１３−１、１３−２、・・・、１３−ｎは、コンピュータや移動端末装置等の利用者がコンピュータや移動端末装置等上で実行したい作業を実施する機能を有するソフトウェアである。
【００３１】
リアルタイムデータ送信システム１１とデータ受信システム３との接続、及び、送信側データ保持装置９と各アプリケーション１３−１、１３−２、・・・、１３−ｎとの接続は、無線方式及び有線方式のどちらでもよい。また、これらの接続は、直接接続されていてもよいし、あるいは、任意の通信ネットワークを介するロジック接続でもよい。
データ受信システム３、受信側データ保持装置５、転送サーバ７及び送信側データ保持装置９は、物理的に別の装置としてそれぞれ実現されていてもよいし、リアルタイムデータ転送システム１の一機能としてそれぞれ実現されていてもよい。
【００３２】
本実施の形態では、転送サーバ７は、非リアルタイムデータフィルタリング部７ｃと、削除メッセージフィルタリング部７ｄと、通常メッセージ振分部７ｅとを有しているが、非リアルタイムデータフィルタリング部７ｃ、削除メッセージフィルタリング部７ｄ及び通常メッセージ振分部７ｅの少なくともいずれか１つは、転送サーバ７とは別にリアルタイムデータ転送システム１に設けられていてもよい。
【００３３】
（リアルタイムデータ転送方法）
次に、本実施の形態によるリアルタイムデータ転送方法について図１及び図２を参照しつつ、図３から図７を用いて説明する。図３は、本実施の形態によるリアルタイムデータ転送方法の流れの一例を示すフローチャートである。
図３に示すように、本実施の形態によるリアルタイムデータ転送方法では、まず、データを受信し（ステップＳ１（データ受信ステップの一例））、ステップＳ３に移行する。ステップＳ１では例えば、リアルタイムデータ転送システム１に設けられたデータ受信システム３は、アプリケーション１３−１、１３−２、・・・、１３−ｎに送信するリアルタイムデータを含むデータをリアルタイムデータ送信システム１１から受信する。
【００３４】
ステップＳ１の次のステップＳ３では、受信した受信データにシステム日時を付与し、ステップＳ５に移行する。ステップＳ３では例えば、データ受信システム３は、リアルタイムデータ送信システム１１からデータを受信した直後のリアルタイムデータ転送システム１のシステム日時（受信直後日時の一例）を当該データに付与する。例えば、データ受信システム３が受信した受信データがＪＳＯＮ（ＪａｖａＳｃｒｉｐｔ（登録商標）  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ）形式の場合、当該受信データには複数のメッセージがまとめられている。また、この複数のメッセージには、通常メッセージと削除メッセージとが含まれている。データ受信システム３は、システム日時の情報を例えば「“ｔｉｍｅｓｔａｍｐ”：」の形式で当該受信データに付与する。これにより、当該複数のメッセージに日時の同じシステム日時が付与される。
【００３５】
ステップＳ３の次のステップＳ５では、ステップＳ１で受信した受信データを格納し、ステップＳ７に移行する。ステップＳ５（受信側データ保持ステップの一例）では例えば、データ受信システム３が受信した受信データを受信側データ保持装置５に一時的に保持する。
ステップＳ５の次のステップＳ７では、受信データを１メッセージごとに分割し、ステップＳ９に移行する。ステップＳ７では例えば、転送サーバ７に設けられたデータ取得・保持部７ｂは、取得した受信データに含まれる例えば１０００件の通常メッセージを１メッセージごとに分割して保持する。
【００３６】
ステップＳ７の処理、次のステップＳ９から始まるループ１の処理（ステップＳ９〜Ｓ２３）及びループ２の処理（ステップＳ２５〜Ｓ２９）により、受信側データ保持ステップ（ステップＳ５）で保持された受信データに含まれるリアルタイムデータを送信側のアプリケーション群１３側に転送する転送ステップが実行される。
ステップＳ９では、ループ１の処理が開始され、ステップＳ１１に移行する。
【００３７】
ステップＳ１１では、メッセージを解析して日時情報を読み取り、ステップＳ１３に移行する。ステップＳ１１（日時情報読み取りステップの一例）では例えば、受信側データ保持ステップ（ステップＳ５）で保持された受信データを解析して受信データ内の日時情報を読み取る。より具体的には、非リアルタイムデータフィルタリング部７ｃは、ステップＳ５で保持され、ステップＳ７で取得されて分解された複数（本例では１０００個）のメッセージのうちの１つ目のメッセージをデータ取得・保持部７ｂから取得するとともに解析して日時情報（当該１つ目のメッセージの作成日時の情報）を読み取る。
【００３８】
ステップＳ１１の次のステップＳ１３では、メッセージの日時情報と、ステップＳ３において付与したシステム日時とを比較して、ステップＳ１５に移行する。ステップＳ１３（日時比較ステップの一例）では例えば、非リアルタイムデータフィルタリング部７ｃは、ステップＳ１３で解析した１つ目のメッセージの日時情報に含まれる日時と、当該１つ目のメッセージを含む受信データにステップＳ３で付与された例えば「“ｔｉｍｅｓｔａｍｐ”：」のシステム日時とを比較する。
【００３９】
ステップＳ１３の次のステップＳ１５では、当該１つ目のメッセージが削除メッセージか否かを判定する。ステップＳ１５において、当該１つ目のメッセージが削除メッセージであると判定するとステップＳ１７に移行し、当該１つ目のメッセージが削除メッセージでない、すなわち通常メッセージであると判定するとステップＳ１９に移行する。ステップＳ１５では例えば、非リアルタイムデータフィルタリング部７ｃは、当該１つ目のメッセージが削除メッセージであるか否かを判定する。非リアルタイムデータフィルタリング部７ｃは、例えば当該１つ目のメッセージのフォーマット形式（本例では、ＪＳＯＮ形式）や当該１つ目のメッセージ内に格納された日時情報の有無などに基づいて、当該１つ目のメッセージが削除メッセージであるか否かを判定する。
【００４０】
ステップＳ１５のＮｏの次のステップＳ１９では、メッセージの日時とシステム日時の日時とが所定の閾値以上に乖離しているか否かを判定する。ステップＳ１９（日時比較ステップの一例）において、メッセージの日時とシステム日時の日時とが所定の閾値以上に乖離していると判定した場合にはステップＳ２１に移行し、メッセージの日時とシステム日時の日時とが所定の閾値以上に乖離していないと判定した場合にはステップＳ２３に移行する。ステップＳ１９では例えば、非リアルタイムデータフィルタリング部７ｃは、ステップＳ１１で読み取った１つ目のメッセージの日時と、ステップＳ３で付与されたシステム日時の日時とが所定の閾値以上に乖離していると判定した場合には、ステップＳ２１の処理を実行する。一方、非リアルタイムデータフィルタリング部７ｃは、ステップＳ１１で読み取った１つ目のメッセージの日時と、ステップＳ３で付与されたシステム日時の日時とが所定の閾値以上に乖離していないと判定した場合には、ステップＳ２３の処理を実行する。
【００４１】
ステップＳ１９のＹｅｓの次のステップＳ２１では、メッセージを削除し、ステップＳ２５に移行する。ステップＳ２１（受信データ削除ステップの一例）では例えば、非リアルタイムデータフィルタリング部７ｃは、受信データに含まれた当該１つ目のメッセージがリアルタイムデータとして処理可能な遅延時間を超えていると判定し、当該１つ目のメッセージを削除する。例えば、非リアルタイムデータフィルタリング部７ｃは、当該１つ目のメッセージが削除対象であることを制御部７ａに通知する。非リアルタイムデータフィルタリング部７ｃから通知を受けた制御部７ａは、データ取得・保持部７ｂに当該１つ目のメッセージの削除指令を送信する。当該削除指令を受信したデータ取得・保持部７ｂは、削除対象のメッセージを削除する。
【００４２】
一方、ステップＳ１５のＹｅｓの次のステップＳ１７では、削除メッセージの有効期間の判定処理が実行され、ステップＳ２５に移行する。ステップＳ１７（削除メッセージフィルタリングステップの一例）では、ステップＳ１で受信したデータに含まれてアプリケーションに送信する情報を格納する通常メッセージを削除する場合に当該データに含まれる削除メッセージが、所定条件が成立した場合に、アプリケーションに送信されないようにフィルタリングする。
【００４３】
図４は、削除メッセージ有効期間の判定処理の流れの一例を示すフローチャートである。図４に示すように、削除メッセージ有効期間の判定処理では、まず、ステップＳ７で転送サーバ７が取得した受信データに含まれる複数の通常メッセージのうち、ＩＤ番号（ＩＤ情報の一例）が最新の通常メッセージを抽出し（ステップＳ１０１）、ステップＳ１０３に移行する。本実施形態では、当該ＩＤ番号は、例えば新しいメッセージほど大きい値となる。なお、当該ＩＤ番号の値の当該振り分け順は一例であり、最新の通常メッセージが抽出できるようにＩＤ番号が振り分けられていれば、これに限られない。ステップＳ１０１（情報読み取りステップの一例）では例えば、削除メッセージフィルタリング部７ｄは、データ取得・保持部７ｂに保持されている全ての通常メッセージを取得し、ＩＤ番号が最新の通常メッセージを抽出する。例えば、ＪＳＯＮ形式のデータの場合、当該データには複数の通常メッセージが含まれているので、削除メッセージフィルタリング部７ｄは、当該複数の通常メッセージのＩＤ番号を読み取り、最新の通常メッセージを抽出する。
【００４４】
ステップＳ１０１の次のステップＳ１０３では、削除メッセージのＩＤ番号と、抽出した通常メッセージの最新のＩＤ番号とを比較し、ステップＳ１０５に移行する。ステップＳ１０３（有効期間判定ステップの一例）では例えば、削除メッセージフィルタリング部７ｄは、最新のＩＤ番号を有する通常メッセージと一塊となって一緒に送信された削除メッセージのＩＤ番号と、抽出した通常メッセージの最新のＩＤ番号とを比較する。ステップＳ１０３において、削除メッセージフィルタリング部７ｄは、最新のＩＤ番号を有する通常メッセージと一緒に送信された削除メッセージが存在しないと判定した場合には、ステップＳ１０５及びステップ１０７を実行せずに、削除メッセージの有効期間の判定処理を終了し、ステップＳ２５（図３参照）に移行する。
【００４５】
ステップＳ１０３の次のステップＳ１０５では、通常メッセージの最新のＩＤ番号と削除メッセージのＩＤ番号との差が閾値以上であるか否かを判定する。ステップＳ１０５（有効期間判定ステップの一例）において、当該差が当該閾値以上であると判定した場合（所定条件が成立した場合）にはステップＳ１０７に移行し、当該差が当該閾値より小さいと判定した場合には削除メッセージの有効期間の判定処理を終了し、ステップＳ２１（図３参照）に移行する。ステップＳ１０５では例えば、削除メッセージフィルタリング部７ｄは、通常メッセージの最新のＩＤ番号から削除メッセージのＩＤ番号を減算し、減算結果が閾値以上であるか否かを判定する。
【００４６】
当該閾値は、例えば、所定の係数（例えば、比較されるＩＤ番号の桁数）に蓄積日数を乗算した値に設定される。例えば、通常メッセージのＩＤ番号と削除メッセージのＩＤ番号の上位４桁同士を比較して判定する場合には、当該所定の係数は「４」となる。本実施形態では、例えば蓄積日数は「３」に設定される。また、当該所定の係数や当該蓄積日数は例えば設定ファイルで変更できるようになっている。  また、通常メッセージのＩＤ番号と削除メッセージのＩＤ番号の全桁を用いて比較する場合には、当該閾値は、所定の値（例えば、１，０００，０００，０００，０００）に設定される。なお、当該所定の値は例えば設定ファイルで変更できるようになっている。
【００４７】
ステップＳ１０５の次のステップＳ１０７では、削除メッセージをドロップし、削除メッセージの有効期間の判定処理を終了し、ステップＳ２５（図３参照）に移行する。ステップＳ１０７（削除メッセージをフィルタリングするフィルタリングステップの一例）では例えば、削除メッセージフィルタリング部７ｄは、削除メッセージをフィルタリング、すなわち削除する。例えば、削除メッセージフィルタリング部７ｄは、削除メッセージが削除対象であることを制御部７ａに通知する。削除メッセージフィルタリング部７ｄから通知を受けた制御部７ａは、データ取得・保持部７ｂに当該削除メッセージの削除指令を送信する。当該削除指令を受信したデータ取得・保持部７ｂは、削除対象の削除メッセージを削除する。
【００４８】
ここで、削除メッセージの有効期間の判定処理を具体的に説明する。
一般的に、リアルタイムデータ送信システム１１から送信される例えばＪＳＯＮ形式のデータは、複数の削除メッセージと複数の通常メッセージとが一塊の形となっている。転送サーバ７はその一塊のデータを取得する。
削除メッセージは、通常メッセージを削除したい場合に送信され、削除対象の通常メッセージのＩＤ情報を保持している。
【００４９】
通常メッセージには、ＩＤ情報と当該通常メッセージの投稿日時とがＪＳＯＮ形式のデータ中に含まれている。このため、投稿日時が古いデータは、その投稿日時情報を使用して削除することができる。これに対し、削除メッセージには、ＪＳＯＮ形式のデータ中に日時情報が含まれずＩＤ情報しか含まれていない。このため、当該削除メッセージが削除対象とするデータ（通常メッセージ）が生存させておく必要のあるデータであるのか否かを日時情報を使って判定することができない。
【００５０】
そこで、本実施の形態では、削除メッセージと一緒に取得された通常メッセージのＩＤ情報を用いて削除メッセージのフィルタリングを行う。リアルタイムデータに含まれる通常メッセージのＩＤ情報の１つであるＩＤ番号は、一のＪＳＯＮ形式のデータにおいて連番で付与されている。このため、本実施の形態では、削除メッセージのＩＤ番号と、当該削除メッセージと一緒に送信された通常メッセージのＩＤ番号とを比較し、比較結果に応じて、当該削除メッセージを各アプリケーションに転送するか否かを判定する。本実施の形態によるリアルタイムデータ転送方法及びリアルタイムデータ転送システム１は、受信したデータ内の通常メッセージの最新のＩＤ番号と削除メッセージのＩＤ番号との差が閾値以上であった場合に、当該削除メッセージをアプリケーションへの転送対象外と判定して、削除メッセージをフィルタリングする。当該閾値は設定ファイルで変更可能に構成されている。
【００５１】
図３に戻って、ステップＳ１９のＮｏの次のステップＳ２３では、タグを用いてメッセージの振分処理を実行する。ステップＳ２３（通常メッセージ振分ステップの一例）では、ステップＳ５で格納したデータに含まれる通常メッセージにタグを付与し、付与したタグに応じて、タグ付けされた通常メッセージをアプリケーションに振り分けるための設定処理を行う。
【００５２】
図５は、タグを用いたメッセージの振分処理の流れの一例を示すフローチャートである。また、図５には、当該フローチャートの右隣に、タグを用いたメッセージの振分処理で用いられるマップ及び設定ファイルが図示されている。
図５に示すように、タグを用いたメッセージの振分処理では、まず、ステップＳ７で転送サーバ７が取得した受信データに含まれる通常メッセージを言語判定（言語解析の一例）を用いて解析する（ステップＳ２０１）。ステップＳ２０１（言語解析ステップの一例）では例えば、通常メッセージ振分部７ｅは、ステップ７で分割された１メッセージごとに言語判定を実行する。
【００５３】
ステップＳ２０１において例えば、通常メッセージ振分部７ｅは、リアルタイムデータ送信システム１１から受信したデータに含まれ、改行コードで１メッセージごとに分割された１つ目のメッセージの言語判定を実施する。通常メッセージ振分部７ｅは、一般的な言語判定モジュールを用いて言語判定を実行する。通常メッセージ振分部７ｅは、当該１つ目のメッセージの言語判定結果を出力する。
【００５４】
ステップＳ２０１の次のステップＳ２０３では、タグ付けデータをマップに追加し、ステップＳ２０５に移行する。図５の図中のフローチャートの右隣に示すように、通常メッセージ振分部７ｅは、タグ付けデータ保持マップＭ１を有している。タグ付けデータ保持マップＭ１は、２つの欄で構成されている。第１欄の「タグ（言語）」はメッセージの言語に対応するタグを示している。第２欄の「Ｖａｌｕｅ」は、タグ付けデータマップＭ１で保持される通常メッセージを示している。図５では、例えば、「タグ（言語）」欄には、本実施形態において用いられるタグとして、日本語を示す「Ｊａ」と、英語を示す「Ｅｎｇ」と、判定された全ての言語タグを示す「Ａｌｌ」とが列挙されている。なお、本例では、日本語及び英語の全てを取得する際に、タグとして「Ａｌｌ」が指定される。また、「Ｖａｌｕｅ」欄に列挙された「テキストＡ」、「テキストＢ」及び「テキストＣ」は、通常メッセージを示している。
【００５５】
ステップＳ２０３（タグ付けステップの一例）において例えば、通常メッセージ振分部７ｅは、ステップＳ２０１の言語判定結果に基づいて通常メッセージにタグを付与してタグ付けデータ保持マップＭ１に通常メッセージを追加する。より具体的には、通常メッセージ振分部７ｅは、１つ目のメッセージが日本語であると判断した場合には、タグ付けデータ保持マップＭ１のタグの「Ｊａ」に対応付けられたＶａｌｕｅ欄に当該１つ目のメッセージを追加する（本例では、当該１つ目のメッセージを「テキストＡ」と表されている）。
【００５６】
ステップＳ２０３の次のステップＳ２０５では、タグに対応するメッセージを通常メッセージ出力部７ｆの転送キューに登録する登録処理を開始する。
ステップＳ２０５で当該転送キューへの登録処理が開始すると、次に、送信側データ保持装置９で使用するタグ（転送キューに設定されているタグ）と、タグ付けデータ保持マップＭ１の「タグ」欄に列挙されたタグとが一致するか否かを判定する（ステップＳ２０７）。両タグが一致すると判定するとステップＳ２０９に移行し、両タグが一致しないと判定するとステップＳ２１１に移行する。ステップＳ２０７では、送信側データ保持装置９で使用するタグとして登録された全てのタグについて当該判定処理を順次実行する。
【００５７】
ステップＳ２０７では例えば、図５の図中のタグ付けデータ保持マップＭ１の下方に示すように、送信側データ保持装置９の１つ目の転送キューに「Ｊａ」が設定されているとする。通常メッセージ振分部７ｅは、タグ付けデータ保持マップＭ１の「タグ」欄の１行目の「Ｊａ」と、送信側データ保持装置９の設定ファイルに設定されたタグ「Ｊａ」とが一致すると判定しステップＳ２０９に移行する。
【００５８】
ステップＳ２０７の次のステップＳ２０９では、タグに対応するメッセージを転送キューに登録する。ステップＳ２０９では例えば、通常メッセージ振分部７ｅは、設定ファイルＦ１に設定されたタグと一致するタグに対応付けられた通常メッセージを通常メッセージ出力部７ｆに設けられた不図示の転送キュー（メッセージ格納部の一例）に登録する。例えば、通常メッセージ振分部７ｅは、タグ「Ｊａ」及び当該タグに対応付けられた１つ目のメッセージが転送キューへの登録対象であることを制御部７ａに通知する。通常メッセージ振分部７ｅから通知を受けた制御部７ａは、１つ目のメッセージをタグ「Ｊａ」に対応する転送キューに登録する登録指令を送信する。当該登録指令を受信した通常メッセージ出力部７ｆは、タグ「Ｊａ」に対応する転送キューに１つ目のメッセージを登録する。
【００５９】
ステップＳ２０７において両タグが一致しないと判定したら、ステップＳ２１１に移行する。
ステップＳ２０７のＮｏ又はステップＳ２０９の次のステップＳ２１１では、全ての転送キューの処理が終了したか否かを判定し、全ての転送キューの処理が終了していると判定したら、タグを用いたメッセージの振分処理を終了し、ステップＳ２３（図３参照）に移行する。一方、ステップＳ２１１において全ての転送キューの処理が終了していないと判定したらステップＳ２０５に戻り、全ての転送キューの処理が終了するまで、ステップＳ２０５からＳ２１１の処理を繰り返し実行する。
【００６０】
図３に戻り、ステップＳ１７又はステップＳ２１の次のステップＳ２５では、全てのメッセージについて、受信側データ保持ステップ（ステップＳ５）で取得した受信データに含まれるリアルタイムデータを送信側に転送する転送ステップが終了したか否かを判定する。ステップＳ２３において、全てのメッセージについて当該転送ステップが終了したと判定したらステップＳ２５に移行する。一方、全てのメッセージについて当該転送ステップが終了していないと判定したら、ステップＳ９に戻り、次のメッセージを取得して、ステップＳ１１からステップＳ２５までの処理を実行する。全てのメッセージについて当該転送ステップが終了するまで、ステップＳ９からＳ２５までの処理を繰り返し実行する。
ステップＳ２５の次のステップＳ２７では、全てのタグについて送信側データ保持装置に対してメッセージの格納処理を開始する。
【００６１】
ステップＳ２７の次のステップＳ２９では、送信側データ保持装置にメッセージを格納し、ステップＳ３１に移行する。例えば、通常メッセージ出力部７ｆは、自己の転送キューに登録された通常メッセージを、送信側データ保持装置９に設けられ、当該通常メッセージを対応付けたタグと同一のタグに対応する転送キューに転送する。通常メッセージ出力部７ｆの転送キューに登録された全ての通常メッセージについて、送信側データ保持装置９へのメッセージ転送処理が終了したと判定したらリアルタイムデータ転送処理は終了する。一方、全ての通常メッセージについて当該メッセージ転送処理が終了していないと判定したら、ステップＳ２７に戻り、次の通常メッセージを取得して、ステップＳ２９及びステップＳ３１の処理を実行する。全てのメッセージについて当該メッセージ転送処理が終了するまで、ステップＳ２７からＳ３１の処理を繰り返し実行する。
送信側データ保持装置９の転送キューには、受信側データ保持装置５で受信した通常メッセージが複製されて登録される。当該転送キューに登録された通常メッセージは、アクセスしたアプリケーション１３−１、１３−２、・・・、１３−ｎに送信される。
【００６２】
以上説明したように、本実施の形態によるリアルタイムデータ転送システム１は、データの受信側とデータの送信側のそれぞれに一時的にデータを保持する受信側データ保持装置及び送信側データ保持装置を有している。すなわち、リアルタイムデータ転送システム１は、データ受信部とデータ送信部とを機能ごとにブロック化し、両機能ブロックを転送サーバでつなぐ構成を有している。これにより、リアルタイムデータ転送システム１は、障害発生における問題点の切り分けがしやすくなり、障害発生のポイントを局所化することができる。
【００６３】
また、リアルタイムデータ転送システム１は、データ受信システムでデータを受信したシステム日時と、受信データ自身が持つ日時情報とを比較し、両日時が一定期間以上の乖離がある場合には、当該受信データをアプリケーション側に送信しないようになっている。これにより、リアルタイムデータ転送システム１は、誤データ送信を防止することが可能となる。
また、リアルタイムデータ転送システム１は、削除メッセージと一緒に受信した通常メッセージのＩＤ情報を用いて削除メッセージの要否を判定するようになっている。これにより、リアルタイムデータ転送システム１は、日付情報のない削除メッセージをフィルタリングすることができる。
【００６４】
また、リアルタイムデータ転送システム１は、リアルタイムデータにタグ付けを行い、タグに応じてリアルタイムデータをアプリケーションに転送することができる。リアルタイムデータ転送システム１は、言語判定及び後述する形態素解析の少なくとも一方を用いてリアルタイムデータにタグ付けを行い、付与したタグと同じタグを使うアプリケーションにリアルタイムデータを転送することができる。これにより、リアルタイムデータ転送システム１は、必要なデータのみをアプリケーションに転送できるので、アプリケーション側への負荷軽減を図ることができる。
【００６５】
（変形例１）
次に、本実施の形態の変形例１によるリアルタイムデータ転送システム及びリアルタイムデータ転送方法について図１から図３を参照しつつ図６を用いて説明する。本変形例によるリアルタイムデータ転送システム及びリアルタイムデータ転送方法は、図３に示す削除メッセージの有効期間の判定処理（ステップＳ１７）が異なる点を除いて、上記実施の形態によるリアルタイムデータ転送システム及びリアルタイムデータ転送方法と同様である。このため、以下、本変形例における削除メッセージの有効期間の判定処理（ステップＳ１７）のみを説明し、当該判定処理以外のリアルタイムデータ転送方法やリアルタイムデータ転送システムの構成の説明は省略する。
【００６６】
図６は、本変形例における削除メッセージ有効期間の判定処理の流れの一例を示すフローチャートである。また、図６には、当該フローチャートの右隣に、削除メッセージの有効期間の判定処理で用いられるテーブル及び設定ファイルが図示されている。図６に示すように、本変形例における削除メッセージ有効期間の判定処理では、まず、リアルタイムデータ内の通常メッセージのうち、各日の最初の通常メッセージのＩＤ情報（ＩＤ番号）及び日時情報を取得するとともに保持し（ステップＳ３０１）、ステップＳ３０３に移行する。ステップＳ３０１では例えば、削除メッセージフィルタリング部７ｄは、データ取得・保持部７ｂに保持されている通常メッセージの全ての日付と、同じ日付であって最小のＩＤ番号とを取得するとともに、図６の図中にフローチャートの右隣に示す最小ＩＤ番号管理テーブルＴ１に保持する。最小ＩＤ番号管理テーブルＴ１は、「ｄａｔａ」と「Ｓｔａｒｔ＿ＩＤ」の２つの項目で構成されている。「ｄａｔａ」は、削除メッセージフィルタリング部７ｄがデータ取得・保持部７ｂから取得した日付を示している。「Ｓｔａｒｔ＿ＩＤ」は、削除メッセージフィルタリング部７ｄがデータ取得・保持部７ｂから取得した最小のＩＤ番号を示している。最小ＩＤ番号管理テーブルＴ１は、削除メッセージフィルタリング部７ｄがデータ取得・保持部７ｂから取得した日時と最小のＩＤ番号とを対応付けて保持できるようになっている。
【００６７】
例えば、データ取得・保持部７ｂに保持されて日時情報の日付が「１０月１６日」である通常メッセージのうちの最小のＩＤ番号が「１」であり、日時情報の日付が「１０月１７日」である通常メッセージのうちの最小のＩＤ番号が「１０１」であるとする。この場合、図６に示すように、削除メッセージフィルタリング部７ｄは、「ｄａｔａ」欄の１行目に１０月１６日（１０／１６）を保持し、「Ｓｔａｒｔ＿ＩＤ」欄の１行目に「１」を保持する。また、削除メッセージフィルタリング部７ｄは、「ｄａｔａ」欄の２行目に１０月１７日（１０／１７）を保持し、「Ｓｔａｒｔ＿ＩＤ」欄の２行目に「１０１」を保持する。
【００６８】
ステップＳ３０１の次のステップＳ３０３では、削除メッセージの受信があったか否かを判定する。ステップＳ３０３において、削除メッセージの受信ありと判定するとステップＳ３０５に移行し、削除メッセージの受信なしと判定すると、後述するステップＳ３０５から３１１を実行せずに削除メッセージの有効期間の判定処理を終了してステップＳ２１（図３参照）に移行する。ステップＳ３０３では例えば、削除メッセージフィルタリング部７ｄは、データ取得・保持部７ｂに削除メッセージが保持されていると削除メッセージの受信ありと判定し、データ取得・保持部７ｂに削除メッセージが保持されていないと削除メッセージの受信なしと判定する。
【００６９】
ステップＳ３０３の次のステップＳ３０５では、保持した通常メッセージのＩＤ番号及び日時情報（日付）に基づき、削除メッセージの受信日時を決定し、ステップＳ３０７に移行する。ステップＳ３０７では例えば、削除メッセージフィルタリング部７ｄは、データ取得・保持部７ｂに保持された削除メッセージのＩＤ番号を取得し、当該ＩＤ番号と、最小ＩＤ番号管理テーブルＴ１に保持された通常メッセージのＩＤ番号とを比較して削除メッセージの受信日時を決定する。図６の図中の最小ＩＤ番号管理テーブルＴ２の下方に示すように、削除メッセージのＩＤ番号（Ｓｔａｒｔ＿ＩＤ）が「５０」であるとする。削除メッセージフィルタリング部７ｄは、最小ＩＤ番号管理テーブルＴ１を参照し、日付「１０月１６日」にはＩＤ番号「１」が対応付けられ、日付「１０月１７日」にはＩＤ番号「１０１」が対応付けられているため、ＩＤ番号「１」から「１００」までは受信日時が１０月１６日であると判定する。削除メッセージフィルタリング部７ｄは、削除メッセージのＩＤ番号が「５０」であるため、削除メッセージの受信日時が１０月１６日であると判定する。
【００７０】
ステップＳ３０５の次のステップＳ３０７では、削除対象の通常メッセージが生存しているか否かを判定し、削除対象の通常メッセージが生存していると判定するとステップＳ３０９に移行し、削除対象の通常メッセージが生存していないと判定するとステップＳ３１１に移行する。ステップＳ３０７では例えば、削除メッセージフィルタリング部７ｄは、削除メッセージの受信日時が削除メッセージの有効期間内であると判定すると、削除対象の通常メッセージが生存している判定する。一方、削除メッセージフィルタリング部７ｄは、削除メッセージの受信日時が削除メッセージの有効期間を超えていると判定すると、削除対象の通常メッセージが生存していないと判定する。削除メッセージフィルタリング部７ｄは、有効期間を設定した設定ファイルに基づいて、削除メッセージの受信日時が削除メッセージの有効期間内であるか否かを判定する。図６の図中の削除メッセージの下方に示すように、有効期間を設定した設定ファイルＦ２は、メッセージ保存期間の日数（図６では、当該日数は「ｘ」で表されている）を規定している。削除メッセージフィルタリング部７ｄは、現在の転送サーバ７のシステム時刻（日付を含む）を取得し、当該システム時刻と削除メッセージの受信日時との差がメッセージ保存期間の日数以内である場合には有効期間内と判定し、当該差が当該日数を超えている場合には有効期間外と判定する。
【００７１】
ステップＳ３０７の次のステップＳ３０９では、削除メッセージを送信側データ保持装置に転送し、削除メッセージの有効期間の判定処理を終了してステップＳ２５（図３参照）に移行する。ステップＳ３０９では例えば、削除メッセージフィルタリング部７ｄは、通常メッセージ出力部７ｆを介して削除メッセージを送信側データ保持装置９に送信する。例えば、削除メッセージフィルタリング部７ｄは、削除メッセージが有効期間内であることを制御部７ａに通知する。削除メッセージフィルタリング部７ｄから通知を受けた制御部７ａは、通常メッセージ出力部７ｆに削除メッセージを送信側データ保持装置９に出力する出力指令を送信する。当該出力指令を受信した通常メッセージ出力部７ｆは、削除メッセージを送信側データ保持装置９に出力する。
【００７２】
一方、ステップＳ３０７の次のステップＳ３１１では、削除メッセージをドロップし、削除メッセージの有効期間の判定処理を終了し、ステップＳ２５（図３参照）に移行する。ステップＳ３１１では例えば、削除メッセージフィルタリング部７ｄは、削除メッセージをフィルタリング、すなわち削除する。例えば、削除メッセージフィルタリング部７ｄは、削除メッセージが削除対象であることを制御部７ａに通知する。削除メッセージフィルタリング部７ｄから通知を受けた制御部７ａは、データ取得・保持部７ｂに当該削除メッセージの削除指令を送信する。当該削除指令を受信したデータ取得・保持部７ｂは、削除対象の削除メッセージを削除する。
【００７３】
以上説明したように、本変形例によるリアルタイムデータ転送システム及びリアルタイムデータ転送方法によれば、有効期間外の削除メッセージを送信側データ保持装置に転送するのを防止できる。これにより、本変形例によるリアルタイムデータ転送システム及びリアルタイムデータ転送方法は、転送サーバにおいて不要データを削除できるので、送信側データ保持装置とアプリケーションとの間での障害発生確率を低減することができる。
【００７４】
（変形例２）
次に、本実施の形態の変形例２によるリアルタイムデータ転送システム及びリアルタイムデータ転送方法について図１から図３を参照しつつ図７を用いて説明する。本変形例によるリアルタイムデータ転送システム及びリアルタイムデータ転送方法は、図３に示すタグを用いたメッセージの振分処理（ステップＳ２３）が異なる点を除いて、上記実施の形態によるリアルタイムデータ転送システム及びリアルタイムデータ転送方法と同様である。このため、以下、本変形例におけるタグを用いたメッセージの振分処理（ステップＳ２３）のみを説明し、当該判定処理以外のリアルタイムデータ転送方法やリアルタイムデータ転送システムの構成の説明は省略する。
【００７５】
図７は、タグを用いたメッセージの振分処理の流れの一例を示すフローチャートである。また、図７には、当該フローチャートの右隣に、タグを用いたメッセージの振分処理で用いられる各種テーブル等が図示されている。
図７に示すように、タグを用いたメッセージの振分処理では、まず、ステップＳ７（図３参照）で転送サーバ７が取得した受信データに含まれる通常メッセージを形態素解析（言語解析の一例）を用いて解析する（ステップＳ４０１）。ステップＳ４０１（言語解析ステップの一例）では例えば、通常メッセージ振分部７ｅは、ステップ７で分割された１メッセージごとに形態素解析を実行する。
【００７６】
図７の図中右側に示すように、通常メッセージ振分部７ｅは、アプリケーションで使用される単語（形態素）と、アプリケーション固有のタグとを対応付けた形態素解析用テーブルＴ２を有している。形態素解析用テーブルＴ２は、３つの欄で構成されている。第１欄の「形態素」はアプリケーションで使用される単語を示し、第２欄の「品詞」は「形態素」としての単語の品詞を示し、第３欄の「タグ」はアプリケーション固有のタグを示している。本例では、形態素の「京都」は、品詞の「名詞」とタグの「Ｐｏｉ」に対応付けられている。また、形態素の「殺人未遂」は、品詞の「名詞」とタグの「ＮＧ」に対応付けられている。また、形態素の「電車」は、品詞の「名詞」とタグの「Ｔｒａｉｎ」に対応付けられている。さらに、形態素の「番組」は、品詞の「名詞」とタグの「ＴＶ」に対応付けられている。なお、この形態素解析用テーブルＴ２は、一例であって、「形態素」としての単語には動詞や形容詞等を含めることももちろん可能である。
【００７７】
ステップＳ４０１において、通常メッセージ振分部７ｅは、形態素解析用テーブルＴ２を参照し、１つ目のメッセージに形態素解析用テーブルＴ２の「形態素」欄に列挙された単語と一致する単語を発見した場合には、形態素解析結果として、当該単語と、「タグ」欄に列挙されて当該単語に対応付けられたタグとを出力する。
ステップＳ４０１の次のステップＳ４０３では、タグ付けデータをマップに追加し、ステップＳ４０５に移行する。図７の図中の形態素解析用テーブルＴ２の下方に示すように、通常メッセージ振分部７ｅは、タグ付けデータ保持マップＭ２を有している。タグ付けデータ保持マップＭ２は、２つの欄で構成されている。第１欄の「タグ」は形態素解析用テーブルＴ２の第３欄の「タグ」と同一のタグを示している。当該「タグ」欄には、形態素解析用テーブルＴ２の第３欄の「タグ」に列挙されたのと同じタグが列挙されている。第２欄の「Ｖａｌｕｅ」は、タグ付けデータマップＭ２で保持される通常メッセージを示している。
【００７８】
ステップＳ４０３（タグ付けステップの一例）において例えば、通常メッセージ振分部７ｅは、ステップＳ４０１の形態素解析結果に基づいて、通常メッセージにタグを付与してタグ付けデータ保持マップＭ２に通常メッセージを追加する。より具体的には、通常メッセージ振分部７ｅは、１つ目のメッセージに例えば「京都」の単語を発見した場合には、タグ付けデータ保持マップＭ２のタグの「Ｐｏｉ」に対応付けられたＶａｌｕｅ欄に当該１つ目のメッセージを追加する（本例では、当該１つ目のメッセージを「テキスト１」と表されている）。通常メッセージ振分部７ｅは、同様に、１つ目のメッセージに、形態素解析用テーブルＴ２の「形態素」欄に列挙された単語を発見した場合には、当該単語に対応するタグに対応付けられた「Ｖａｌｕｅ」欄に当該１つ目のメッセージを追加する。
【００７９】
ステップＳ４０３の次のステップＳ４０５では、タグに対応するメッセージを通常メッセージ出力部７ｆの転送キューに登録する登録処理を開始する。
ステップＳ４０５で当該転送キューへの登録処理が開始すると、次に、送信側データ保持装置９で使用するタグ（転送キューに設定されているタグ）と、タグ付けデータ保持マップＭ２の「タグ」欄に列挙されたタグとが一致するか否かを判定する（ステップＳ４０７）。両タグが一致すると判定するとステップＳ４０９に移行し、両タグが一致しないと判定するとステップＳ４１１に移行する。ステップＳ４０７では、送信側データ保持装置９で使用するタグとして登録された全てのタグについて当該判定処理を順次実行する。
【００８０】
ステップＳ４０７では例えば、図７の図中のタグ付けデータ保持マップＭ２の下方に示すように、送信側データ保持装置９の１つ目の転送キューに「Ｐｏｉ」が設定されているとする。通常メッセージ振分部７ｅは、タグ付けデータ保持マップＭ１の「タグ」欄の１行目の「Ｐｏｉ」と、送信側データ保持装置９の設定ファイルに設定されたタグ「Ｐｏｉ」とが一致すると判定しステップＳ４０９に移行する。
【００８１】
ステップＳ４０７の次のステップＳ４０９では、タグに対応するメッセージを転送キューに登録する。ステップＳ４０９では例えば、通常メッセージ振分部７ｅは、設定ファイルＦ３に設定されたタグと一致するタグに対応付けられた通常メッセージを通常メッセージ出力部７ｆに設けられた不図示の転送キュー（メッセージ格納部の一例）に登録する。例えば、通常メッセージ振分部７ｅは、タグ「Ｐｏｉ」及び当該タグに対応付けられた１つ目のメッセージが転送キューへの登録対象であることを制御部７ａに通知する。通常メッセージ振分部７ｅから通知を受けた制御部７ａは、１つ目のメッセージをタグ「Ｐｏｉ」に対応する転送キューに登録する登録指令を通常メッセージ出力部７ｆに送信する。当該登録指令を受信した通常メッセージ出力部７ｆは、タグ「Ｐｏｉ」に対応する転送キューに１つ目のメッセージを登録する。
【００８２】
ステップＳ４０７において両タグが一致しないと判定したら、ステップＳ４１１に移行する。
ステップＳ４０７のＮｏ又はステップＳ４０９の次のステップＳ４１１では、全ての転送キューの処理が終了したか否かを判定し、全ての転送キューの処理が終了していると判定したら、タグを用いたメッセージの振分処理を終了し、ステップＳ２５（図３参照）に移行する。一方、ステップＳ４１１において全ての転送キューの処理が終了していないと判定したらステップＳ４０５に戻り、次のメッセージを取得して、ステップＳ４０７からＳ４１１までの処理を実行する。全ての転送キューの処理が終了するまで、ステップＳ４０５からＳ４１１の処理を繰り返し実行する。
【００８３】
以上説明したように、本変形例によるリアルタイムデータ転送システム及びリアルタイムデータ転送方法によれば、言語判定を用いてリアルタイムデータにタグ付けを行い、付与したタグと同じタグを使うアプリケーションにリアルタイムデータを転送することができる。これにより、リアルタイムデータ転送システムは、アプリケーション側への負荷軽減を図ることができる。
【００８４】
〔第２の実施の形態〕
（リアルタイムデータ転送システム２及び転送サーバ８の概略構成）
次に、本発明の第２の実施の形態によるリアルタイムデータ転送システム及リアルタイムデータ転送方法について、図８から図１０を用いて説明する。まず、本実施の形態によるリアルタイムデータ転送システムの概略構成について図８を用いて説明する。
【００８５】
図８は、本実施の形態によるリアルタイムデータ転送システム２の概略構成を示している。なお、図８には、理解を容易にするため、リアルタイムデータ転送システム２の他に、リアルタイムデータ転送システム２の受信側に備えられたリアルタイムデータ送信システム１１と、受信側に備えられたアプリケーション群１３とが図示されている。また、上記第１の実施の形態によるリアルタイムデータ転送システム１と同様の機能・作用を奏する構成要素には、同一の符号を付してその説明を省略する。
【００８６】
図８に示すように、リアルタイムデータ転送システム２は、データ受信システム３と、受信側データ保持装置５と、転送サーバ８と、送信側データ保持装置９とを有している。さらに、リアルタイムデータ転送システム２は、受信側データ保持装置５と同じ構成を備え、受信データに含まれてアプリケーションに送信されるリアルタイムデータを一時的に保持する受信側データ保持装置（別の受信側データ保持装置の一例）１５を有している。受信側データ保持装置１５には、受信側データ保持装置５と同じデータがほぼ同時に入力するようになっている。受信側データ保持装置５は、通常使用される装置（正としての受信側データ保持装置）である。受信側データ保持装置１５は、受信側データ保持装置５に障害が発生した場合などに用いられる副（予備）の装置（副としての受信側データ保持装置）である。このように、リアルタイムデータ転送システム２の受信側データ保持装置は、正と副の２プロセスが立ち上がっており、通常、転送サーバ８は、正とした受信側データ保持装置５のプロセスにアクセスして受信データを取得する。転送サーバ８は、受信データを取得しに行った際に、受信側データ保持装置５のプロセスに例外異常などが発生していると、副とした受信側データ保持装置１５のプロセスから受信データを取得できるように、受信データの取得経路を切り替えるようになっている。
【００８７】
ここで、転送サーバ８の概略構成について図８を参照しつつ図９を用いて説明する。図９は、転送サーバ８の概略構成を示すブロック図である。図９に示すように、転送サーバ８は、制御部８ａと、データ取得・保持部８ｂと、非リアルタイムデータフィルタリング部８ｃと、削除メッセージフィルタリング部８ｄと、通常メッセージ振分部８ｅと、メッセージ出力部８ｆと、バスライン８ｇと、システム時刻比較部８ｈと、取得経路切替部８ｉとを有している。制御部８ａ、データ取得・保持部８ｂ、非リアルタイムデータフィルタリング部８ｃ、削除メッセージフィルタリング部８ｄ、通常メッセージ振分部８ｅ、メッセージ出力部８ｆ及びバスライン８ｇは、制御部７ａ、データ取得・保持部７ｂ、非リアルタイムデータフィルタリング部７ｃ、削除メッセージフィルタリング部７ｄ、通常メッセージ振分部７ｅ、通常メッセージ出力部７ｆ及びバスライン７ｇとそれぞれ同じ構成を有し、同じ機能を発揮するようになっている。
【００８８】
システム時刻比較部８ｈは、転送サーバ８の現在のシステム時刻と、データ受信システム３が受信データに付与したシステム日時の時刻とを比較するようになっている。また、取得経路切替部８ｉは、システム時刻比較部８ｈが現在のシステム時刻と、データ受信システム３が受信データに付与したシステム日時の時刻とが予め定めた所定時間よりも乖離していると判定した場合に、受信データの取得経路を受信側データ保持装置５から受信側データ保持装置１５に切り替えるようになっている。
【００８９】
（変形例２によるリアルタイムデータ転送方法）
次に、本変形例によるリアルタイムデータ転送方法について、図８及び図９を参照しつつ、図１０を用いて説明する。本変形例によるリアルタイムデータ転送方法は、受信データの取得経路を変更する点を除いて、上記実施の形態によるリアルタイムデータ転送方法とほぼ同様であるため、以下、異なる点を説明する。
【００９０】
図１０は、本変形例によるリアルタイムデータ転送方法の流れの一例を示すフローチャートである。図１０に示すステップＳ５０１〜Ｓ５０９の処理は、図３に示すステップＳ１〜Ｓ９の処理と同様であるため説明は省略する。なお、本実施の形態では、ステップＳ５０１において、受信側データ保持装置１５は、受信側データ保持装置５が受信データシステム３からデータを受信する際に、受信データシステム３からデータを受信する（別の受信側データ保持ステップの一例）。
【００９１】
ステップＳ５０９の次のステップＳ５１１では、現在のシステム時刻を取得し、ステップＳ５１３に移行する。ステップＳ５１１では例えば、システム時刻比較部８ｈは、転送サーバ８の現在のシステム時刻を取得する。
ステップＳ５１１の次のステップＳ５１３では、転送サーバ８の現在のシステム時刻と、ステップＳ５０３において付与したシステム日時の時刻とを比較して、ステップＳ５１５に移行する。ステップＳ５１３（システム時刻比較ステップの一例）では例えば、システム時刻比較部８ｈは、ステップＳ５１１において取得した転送サーバ８の現在のシステム時刻と、ステップＳ５０３において１つ目のメッセージを含む受信データに付与された例えば「“ｔｉｍｅｓｔａｍｐ”：」のシステム日時の時刻とを比較する。
【００９２】
ステップＳ５１３の次のステップＳ５１５では、当該１つ目のメッセージが削除メッセージか否かを判定する。ステップＳ５１５において、当該１つ目のメッセージが削除メッセージであると判定するとステップＳ５１７に移行し、当該１つ目のメッセージが削除メッセージでない、すなわち通常メッセージであると判定するとステップＳ５１９に移行する。ステップＳ５１５では例えば、非リアルタイムデータフィルタリング部８ｃは、当該１つ目のメッセージが削除メッセージであるか否かを判定する。
【００９３】
ステップＳ５１５のＮｏの次のステップＳ５１９では、現在のシステム時刻と、１つ目のメッセージを含む受信データに付与されたシステム日時の時刻との差が予め定めた所定時間よりも乖離しているか否かを判定する。ステップＳ５１９において、両時刻が所定時間よりも乖離していると判定するとステップＳ５２１に移行し、両時刻が所定時間よりも乖離していないと判定するとステップＳ５２３に移行する。ステップＳ５１９では例えば、システム時刻比較部８ｈは、転送サーバ８の現在のシステム時刻と、１つ目のメッセージを含む受信データに付与されたシステム日時の時刻との差が所定時間よりも乖離していないと判定したらステップＳ５２３に移行する。一方、システム時刻比較部８ｈは、両時刻の差が所定時間よりも乖離していると判定したら、ステップＳ５２１に移行する。
【００９４】
ステップＳ５１５のＹｅｓの次のステップＳ５１７から始まるステップＳ５３０までの処理は、ステップＳ５１３を除いて、上記第１の実施の形態におけるステップＳ１７からステップＳ３１までの処理と同様であるため、説明は省略する。
ステップＳ５１９のＹｅｓの次のステップＳ５２１では、受信データの取得経路を切替えて受信データを取得し、ステップＳ５０７に移行する。ステップＳ５２１（取得経路切替ステップの一例）では、取得経路切替部８ｉは、受信データの取得経路を受信側データ保持装置５から受信側データ保持装置１５に切り替える。
【００９５】
ステップＳ５２１の次のステップＳ５０７では、受信側データ保持装置１５から受信した受信データを１メッセージごとに分割し、ステップＳ５０９に移行する。ステップＳ５０７では例えば、転送サーバ８に設けられたデータ取得・保持部７ｂは、取得した受信データに含まれる複数の通常メッセージを１メッセージごとに分割して保持する。
【００９６】
ステップＳ５２１からステップＳ５０７において転送サーバ８は次のように動作する。例えば、取得経路切替部８ｉは、受信データの取得経路を切り替えることを制御部８ａに通知する。取得経路切替部８ｉから通知を受けた制御部８ａは、データ取得・保持部８ｂに受信側データ保持装置１５から受信データを取得する取得指令を送信する。当該取得指令を受信したデータ取得・保持部８ｂは、受信側データ保持装置５に接続されていた取得経路に代えて、受信側データ保持装置１５と接続される取得経路から受信データを取得して保持する。なお、図８では、受信側データ保持装置５側の取得経路は、受信側データ保持装置５と転送サーバ８との間を結ぶ実線のみで表され、受信側データ保持装置１５側の取得経路は、受信側データ保持装置５と転送サーバ８との間を結ぶ破線及び実線で表されている。
【００９７】
本実施の形態によるリアルタイムデータ転送システム２は、ステップＳ５１９において、現在のシステム時刻と付与したシステム時刻との差が所定時間よりも乖離していると判定した場合には、予備である受信側データ保持装置１５側に取得経路を切替えるようになっている。これにより、リアルタイムデータ転送システム２は、リアルタイムデータ転送の早期復旧が可能になる。
【００９８】
取得経路が切り替わった後のステップＳ５０９以降の処理は、取得経路が切り替わる前のステップＳ５０９以降の処理と同様である。但し、取得経路切り替わり後のステップＳ５１９において、現在のシステム時刻と付与したシステム時刻との差が所定時間よりも乖離していると判定された場合には、リアルタイムデータ転送システム２はデータ転送動作を終了する。この場合、正副いずれの取得経路とも何らかの障害が発生している可能性がある。このため、リアルタイムデータ転送システム２は、データ転送処理を中断し、リアルタイムデータ転送システム２の保守者に異常を報知するようになっている。
【００９９】
以上説明したように、本実施の形態によるリアルタイムデータ転送システム２は、上記第１の実施の形態によるリアルタイムデータ転送システム１と同様の効果が得られる。
さらに、本実施の形態によるリアルタイムデータ転送システム２は、データ受信システムで付与された日時情報と転送サーバのシステム時刻とに基づいてリアルタイムデータの流れを監視することができる。これにより、リアルタイムデータ転送システム２は、データ受信システムと転送サーバとの間の通信経路においてデータスタックなどの障害の発生を自動検知することができる。また、リアルタイムデータ転送システム２は、データの取得経路を予備側の経路（バックアップ経路）に切り替えることにより、障害発生を防止したり予防したりすることができる。
【０１００】
本発明は、上記実施の形態に限らず種々の変形が可能である。
上記第１の実施の形態では、削除メッセージのフィルタリングは、削除メッセージや通常メッセージのＩＤ番号のみを用いる方法（図４参照）と、削除メッセージのＩＤ番号と通常メッセージのＩＤ番号及び日時情報とを用いる方法（図６参照）とのいずれか一方で実行されるようになっているが、本発明はこれに限られない。例えば、リアルタイムデータ転送システムは、両方の方法を用いて削除メッセージをフィルタリングするようになっていてもよい。
【０１０１】
また、上記第１の実施の形態では、言語解析に形態素解析及び言語判定のいずれか一方を用いるようになっているが、本発明はこれに限られない。例えば、リアルタイムデータ転送システムは、形態素解析及び言語判定の両方を用いて言語解析を行うようになっていてもよい。これにより、リアルタイムデータ転送システムは、多岐にわたるアプリケーションに適切なメッセージを送信することができる。
【０１０２】
また、第１実施形態における転送サーバ７は、図３に示すステップＳ１１、Ｓ１３及びＳ１９の各処理に代えて、第２実施形態における図１０に示すステップＳ５１１、Ｓ５１３及びＳ５１９の各処理が実行できるように、システム時刻比較部を備えていてもよい。また、第２実施形態における転送サーバ８は、図１０に示すステップＳ５１１、Ｓ５１３及びＳ５１９の各処理に代えて、第１実施形態における図３に示すステップＳ１１、Ｓ１３及びＳ１９の各処理を実行してもよい。
【０１０３】
本発明の範囲は、図示され記載された例示的な実施形態に限定されるものではなく、本発明が目的とするものと均等な効果をもたらすすべての実施形態をも含む。さらに、本発明の範囲は、請求項により画される発明の特徴の組み合わせに限定されるものではなく、すべての開示されたそれぞれの特徴のうち特定の特徴のあらゆる所望する組み合わせによって画されうる。
【符号の説明】
【０１０４】
１、２  リアルタイムデータ転送システム
３  データ受信システム
５  受信側データ保持装置
７、８  転送サーバ
７ａ、８ａ  制御部
７ｂ、８ｂ  データ取得・保持部
７ｃ、８ｃ  非リアルタイムデータフィルタリング部
７ｄ、８ｄ  削除メッセージフィルタリング部
７ｅ、８ｅ  通常メッセージ振分部
７ｆ、８ｆ  通常メッセージ出力部
７ｇ、８ｇ  バスライン
８ｈ  システム時刻比較部
８ｉ  取得経路切替部
９  送信側データ保持装置
１１  リアルタイムデータ送信システム
１３   アプリケーション群
１３−１、１３−２、１３−ｎ  アプリケーション
【図１】
2014165675.tif 000003
【図２】
2014165675.tif 000004
【図３】
2014165675.tif 000005
【図４】
2014165675.tif 000006
【図５】
2014165675.tif 000007
【図６】
2014165675.tif 000008
【図７】
2014165675.tif 000009
【図８】
2014165675.tif 000010
【図９】
2014165675.tif 000011
【図１０】
2014165675.tif 000012