(57)【要約】  複数のストリームデータの入力を受け、前記ストリームデータを処理するための基準時刻を用いて、前記ストリームデータを処理するストリーム処理計算機が、所定の時間の長さを示す時刻精度を保持し、ストリームデータに含まれる時刻情報を抽出し、抽出された時刻情報から基準時刻を減算した結果と、時刻精度とを比較し、比較の結果、減算した結果が小さい場合、ストリームデータを記憶領域に保留し、又比較の結果、減算した結果が大きい場合、保留したストリームデータを同一の時刻情報を含むものとして処理する。
2012059976.tif 000002
【特許請求の範囲】
【請求項１】
複数のストリームデータの入力を受け、前記ストリームデータを処理するための基準時刻を用いて、前記ストリームデータを処理するストリーム処理計算機に、
所定の時間の長さを示す時刻精度を保持する機能と、
前記ストリームデータに含まれる時刻情報を抽出する機能と、
前記抽出された時刻情報から前記基準時刻を減算した結果と、前記時刻精度とを比較する機能と、
前記比較の結果、前記減算した結果が小さい場合、ストリームデータを記憶領域に保留する機能と、
前記比較の結果、前記減算した結果が大きい場合、前記保留したストリームデータを同一の時刻情報を含むものとして処理する機能と、
を実現させることを特徴とするプログラム。
【請求項２】
請求項１に記載のプログラムであって、
前記時刻精度を更新する指示を受信する機能と、
前記受信した指示に応じて前記時刻精度を更新する機能と、
を更に実現させることを特徴とするプログラム。
【請求項３】
請求項２に記載のプログラムであって、
前記時刻精度を更新する指示を、前記ストリームデータ処理計算機が備えるデータ入力装置を介して受信する機能を実現させることを特徴とするプログラム。
【請求項４】
請求項２又は３に記載のプログラムであって、
クエリによって前記ストリームデータを処理する機能と、
前記クエリを更新する指示を受信する機能と、
前記受信したクエリを更新する指示に含まれる時刻精度を抽出する機能と、
前記抽出した時刻精度を保持する機能と、
を更に実現させることを特徴とするプログラム。
【請求項５】
請求項１に記載のプログラムであって、
前記抽出した各時刻情報に基づいて、前記時刻精度を算出する機能と、
前記算出した時刻精度を保持する機能と、
を実現させることを特徴とするプログラム。
【請求項６】
請求項５に記載のプログラムであって、
前記抽出した各時刻情報から、連続した所定数のストリームデータの各時刻情報の複数の組を抽出する機能と、
前記時刻情報の各組のうち最も後に入力された前記ストリームデータの時刻情報と、最も先に入力された前記ストリームデータの時刻情報とを抽出する機能と、
前記抽出された最も後に入力された前記ストリームデータの時刻情報から、前記最も先に入力されたストリームデータの時刻情報を減算することによって、前記各組の時刻差を算出する機能と、
前記複数の組の時刻差の平均値を算出する機能と、
前記平均値を保持する機能と、
を実現させることを特徴とするプログラム。
【請求項７】
請求項１〜６の何れか一項に記載のプログラムであって、
前記比較の結果、前記減算した結果が大きい場合、
前記基準時刻に前記時刻精度を加算する機能と、
前記加算された結果によって、前記基準時刻を更新させる機能と、
を更に実現させることを特徴とするプログラム。
【請求項８】
複数のストリームデータの入力を受け、前記ストリームデータを処理するための基準時刻を用いて、前記ストリームデータを処理するストリーム処理計算機のストリームデータ処理方法であって、
前記計算機が、
所定の時間の長さを示す時刻精度を保持し、
前記ストリームデータに含まれる時刻情報を抽出し、
前記抽出された時刻情報から前記基準時刻を減算した結果と、前記時刻精度とを比較し、
前記比較の結果、前記減算した結果が小さい場合、ストリームデータを記憶領域に保留し、
前記比較の結果、前記減算した結果が大きい場合、前記保留したストリームデータを同一の時刻情報を含むものとして処理することを特徴とするストリームデータ処理方法。
【請求項９】
請求項８に記載のストリームデータ処理方法であって、
前記計算機が、更に、
前記時刻精度を更新する指示を受信し、
前記受信した指示に応じて前記時刻精度を更新することを特徴とするストリームデータ処理方法。
【請求項１０】
請求項９に記載のストリームデータ処理方法であって、
前記時刻精度を更新する指示を、前記ストリームデータ処理計算機が備えるデータ入力装置を介して受信することを特徴とするストリームデータ処理方法。
【請求項１１】
請求項９又は１０に記載のストリームデータ処理方法であって、
前記計算機が、更に、
クエリによって前記ストリームデータを処理し、
前記クエリを更新する指示を受信し、
前記受信したクエリを更新する指示に含まれる時刻精度を抽出し、
前記抽出した時刻精度を保持することを特徴とするストリームデータ処理方法。
【請求項１２】
請求項８に記載のストリームデータ処理方法であって、
前記計算機が、
前記抽出した各時刻情報に基づいて、前記時刻精度を算出し、
前記算出した時刻精度を保持することを特徴とするストリームデータ処理方法。
【請求項１３】
請求項１２に記載のストリームデータ処理方法であって、
前記計算機が、
前記抽出した各時刻情報から、連続した所定数のストリームデータの各時刻情報の複数の組を抽出し、
前記時刻情報の各組のうち最も後に入力された前記ストリームデータの時刻情報と、最も先に入力された前記ストリームデータの時刻情報とを抽出し、
前記抽出された最も後に入力された前記ストリームデータの時刻情報から、前記最も先に入力されたストリームデータの時刻情報を減算することによって、前記各組の時刻差を算出し、
前記複数の組の時刻差の平均値を算出し、
前記平均値を保持することを特徴とするストリームデータ処理方法。
【請求項１４】
請求項８〜１３の何れか一項に記載のストリームデータ処理方法であって、
前記計算機が、更に、
前記比較の結果、前記減算した結果が大きい場合、
前記基準時刻に前記時刻精度を加算し、
前記加算された結果によって、前記基準時刻を更新することを特徴とするストリームデータ処理方法。
【請求項１５】
ストリームデータを処理するための基準時刻を保持する記憶装置と、入力された複数のストリームデータを処理する制御部と、を有するストリームデータ処理計算機であって、
前記制御部は、
所定の時間の長さを示す時刻精度を前記記憶部に保持し、
前記ストリームデータに含まれる時刻情報を抽出し、
前記抽出された時刻情報から前記基準時刻を減算した結果と、前記時刻精度とを比較し、
前記比較の結果、前記減算した結果が小さい場合、ストリームデータを記憶領域に保留し、
前記比較の結果、前記減算した結果が大きい場合、前記保留したストリームデータを同一の時刻情報を含むものとして処理することを特徴とするストリームデータ処理計算機。
【請求項１６】
請求項１５に記載のストリームデータ処理計算機であって、
前記制御部は、
前記時刻精度を更新する指示を受信し、
前記受信した指示に応じて前記時刻精度を更新することを特徴とするストリームデータ処理計算機。
【請求項１７】
請求項１６に記載のストリームデータ処理計算機であって、
前記制御部は、
前記時刻精度を更新する指示を、前記ストリームデータ処理計算機が備えるデータ入力装置を介して受信することを特徴とするストリームデータ処理計算機。
【請求項１８】
請求項１６又は１７に記載のストリームデータ処理計算機であって、
前記制御部は、
クエリによって前記ストリームデータを処理し、
前記クエリを更新する指示を受信し、
前記受信したクエリを更新する指示に含まれる時刻精度を抽出し、
前記抽出した時刻精度を保持することを特徴とするストリームデータ処理計算機。
【請求項１９】
請求項１５に記載のストリームデータ処理計算機であって、
前記制御部は、
前記抽出した各時刻情報に基づいて、前記時刻精度を算出し、
前記算出した時刻精度を保持することを特徴とするストリームデータ処理計算機。
【請求項２０】
請求項１９に記載のストリームデータ処理計算機であって、
前記制御部は、
前記抽出した各時刻情報から、連続した所定数のストリームデータの各時刻情報の複数の組を抽出し、
前記時刻情報の各組のうち最も後に入力された前記ストリームデータの時刻情報と、最も先に入力された前記ストリームデータの時刻情報とを抽出し、
前記抽出した最も後に入力された前記ストリームデータの時刻情報から、前記最も先に入力されたストリームデータの時刻情報を減算することによって、前記各組の時刻差を算出し、
前記複数の組の時刻差の平均値を算出し、
前記平均値を前記記憶装置に保持することを特徴とするストリームデータ処理計算機。
【発明の詳細な説明】
【技術分野】
【０００１】
ストリームデータ処理装置に係り、特に、所定の時刻間隔毎にストリームデータを処理するプログラム、ストリームデータ処理方法及びストリームデータ処理装置に関する。
【背景技術】
【０００２】
現在、交通状況のモニタリング又は商取引等を行うためのＩＴシステムは、大量に発生する時系列データを処理するため、ストリームデータ処理システムを一般的に備える。【０００３】
ストリームデータ処理システムは、ストリームデータに付加された時刻情報（以下、タイムスタンプと記載する。）に基づいてストリームデータを処理することによって、高速且つリアルタイムな時系列処理を提供する。すなわちストリームデータ処理システムは、ストリームデータに付加されるタイムスタンプの値の違いに基づいて、個々のストリームデータを識別する（非特許文献１参照）。以下に、タイムスタンプに関する処理について、種々のストリームデータ処理システムを説明する。【０００４】
先ず第１に、図１３を用いて、従来技術のストリームデータ処理システムによる一処理例を説明する。【０００５】
従来技術のストリームデータ処理システム１３００は、時刻管理部１３０４及びクエリ処理制御部１３０６を有する。クエリ処理制御部１３０６は、ストリームデータをクエリによって処理する機能を有する。時刻管理部１３０４は、クエリ処理制御部１３０６がストリームデータを処理するための基準時刻１３０５を保持する機能を有する。【０００６】
ストリームデータは、識別子１３０１、値１３０２及びタイムスタンプ１３０３を含む。識別子１３０１には、各々Ａ〜Ｅの値が与えられる。また、ストリームデータ処理システム１３００では、タイムスタンプ１３０３が"１０時００分００秒"から"１０時０１分００秒"までの五つのストリームデータ（以下、ストリームデータＡ〜Ｅと記載する。）が入力される。クエリ処理制御部１３０６は、入力された複数のストリームデータの値１３０２の合計値を算出するクエリによって、ストリームデータを処理する。【０００７】
時刻管理部１３０４が、基準時刻１３０５に"１０時００分００秒"を保持する場合、時刻管理部１３０４は、"１０時００分００秒"を示す基準時刻１３０５をクエリ処理制御部１３０６に送信する。そして、クエリ処理制御部１３０６は、ストリームデータＡ〜Ｅのうち、タイムスタンプが"１０時００分００秒"を示すストリームデータＡのみを処理する。この結果、クエリ処理制御部１３０６は、ストリームデータＡの合計値のみを算出する。【０００８】
その後、時刻管理部１３０４は、システム時刻を基準時刻１３０５に加算し、加算された結果によって基準時刻１３０５を更新する。ここで、システム時刻とは、時刻管理部１３０４が実装される計算機のオペレーティングシステム（以下、ＯＳという。）が保持する時刻である。そして、クエリ処理制御部１３０６は、更新された基準時刻１３０５を参照することによって、次のストリームデータを処理する。【０００９】
前述のように、従来技術のストリームデータ処理システム１３００は、基準時刻１３０５と同じタイムスタンプを付加されたストリームデータを処理するようになっている。【００１０】
次いで、第２に、タイムスタンプと時間との関係に関する他の従来技術として、固定的に設定された時刻の情報（以下、時刻精度と記載する。）に基づいてストリームデータのタイムスタンプの違いを判定するストリームデータ処理システムを説明する。時刻精度とは、ストリームデータ処理システム内において、時刻の経過を示す最小の時刻間隔であり、時刻の区分を表現する最小の時間のことである。処理対象となるストリームデータを指定することを可能とする。【００１１】
図１４に、時刻精度を用いるストリームデータ処理システム１４００の処理例を模式的に示す。ストリームデータ処理システム１４００は、図１３に示すストリームデータ処理システム１３００と同様に、時刻管理部１４０４及びクエリ処理制御部１４０６を有し、更に、時刻精度管理部１４０７を有する。時刻精度管理部１４０７は、時刻精度を保持し、この時刻精度は固定的なものである。図１４では、時刻精度が「１秒」である例を示している。また、クエリ処理制御部１４０６は、ストリームデータの合計値を算出するようになっている。この例の場合、時刻精度を用いるストリームデータ処理システム１４００では、"１０時００分００秒"のタイムスタンプを有するストリームデータＡ、Ａ´及びＢと、"１０時００分０１秒"のタイムスタンプを有するストリームデータＣとを、それぞれ異なる時刻におけるストリームデータとして別々に処理するようになっている。更に、"１０時００分００秒"というタイムスタンプを有する３つのストリームデータＡ、Ａ´及びＢの入力を受けたした場合には、時刻制度を用いるストリームデータ処理システム１４００は、３つのストリームデータを同じストリームデータとして同時に処理するようになっている。【００１２】
また、第３に、非特許文献１には、"ウィンドウ"に関する技術も開示されている。ウィンドウとは、理論的に無限に発生するストリームデータを、有限の記憶域によって処理することを目的とし、ストリームデータを所定の時刻間隔又は所定のストリームデータ数によって区切って処理を行う技術である。【００１３】
図１５に、ウィンドウを用いたストリームデータ処理システム１５００の処理を模式的に示す。ストリームデータ処理システム１５００は、図１３に示すストリームデータ処理システム１３００及び図１４に示すストリームデータ処理システム１４００と同様に、時刻管理部１５０４及びクエリ処理制御部１５０６を有し、ストリームデータＡ〜Ｅが入力されるようになっている。また、クエリ処理制御部１５０６は、ストリームデータの合計値を算出するクエリによって、ストリームデータを処理する。【００１４】
更に、ストリームデータ処理システム１４００が用いるウィンドウは、所定の時刻間隔によって指定される。例えば、時刻間隔が１分であるとすると、ストリームデータＡ〜Ｄ、即ち１０時００分００秒から１０時００分５９秒までのタイムスタンプが付加されたストリームデータが処理対象として指定される。ストリームデータＡ、Ｂ、Ｃ及びＤの値１４０２は、夫々「１０」、「-１」、「４」及び「７」である。【００１５】
ストリームデータ処理システム１４００は、ストリームデータＡの入力を受けた後、処理結果に「１０」を取得する。さらに、ストリームデータＢの入力後、ストリームデータＡの値１４０２（「１０」）と、ストリームデータＢの値１４０２（「−１」）との合計値を算出し、「９」という結果を取得する。次に、ストリームデータＣの入力後、ストリームデータＡの値１４０２と、ストリームデータＢの値１４０２と、ストリームデータＣの値１４０２との合計値を算出し、算出された結果である「１３」を、処理した結果として取得する。ここで、指定されたウィンドウの時刻間隔は１分であることから、ストリームデータＤまでを処理した結果（「２０」）を最終処理結果として出力する。
【先行技術文献】
【非特許文献】
【００１６】
【非特許文献１】R.Motwani, J.Widom, A.Arasu, B.Babcock, S.Babu, M.Datar, G.Manku, C.Olston, J.Rosenstein, R.Varma, "Query Processing,Resource Management,and Approximation in a Data Stream Management System", In Proc.of the 2003 Conference on Innovative Data Systems Research(CIDR), January 2003
【発明の概要】
【発明が解決しようとする課題】
【００１７】
ここで、大量に発生するストリームデータについて、例えば、１０分毎の合計値を出力させるというような、所定の時刻間隔に応じてストリームデータをまとめて処理する場合を考える。【００１８】
先ず、上記第１で述べた、図１３に示すストリームデータ処理システム１３００では、システム時刻毎に基準時刻が更新されるため、ストリームデータがシステム時刻毎に処理されるようになる。このようなシステムでは、例えば、１０分毎といった所定の時間間隔毎で合計値を出力させるような処理は困難である。【００１９】
また、上記第２で述べた、時刻精度を利用するストリームデータ処理システムでも、タイムスタンプが時刻精度内であるストリームデータを同じストリームデータとして処理することもできるが、時刻精度は固定的なものであるため、時刻精度より長い時刻間隔で入力された複数のストリームデータをまとめて処理することは困難である。同様に時刻精度より短い時間隔でストリームデータの処理を実行させることもできない。【００２０】
なお、時刻精度が予め指定されたストリームデータ処理システムにおいて、所定の時刻間隔に存在する複数のストリームデータのタイムスタンプを、システムの時刻精度が示す時刻毎に、同一の時刻に更新することで、時刻精度より長い時刻間隔に含まれるタイムスタンプを有するストリームデータをまとめて処理するようにすることも考えられる。即ち時刻精度を利用するストリームデータ処理システムは、所定の時刻精度内にあるストリームデータを同じストリームデータとして同時に処理する。よって、所定の時間間隔にあるストリームデータのタイムスタンプを時刻精度内の時刻に更新することで、システムは、それらを同じストリームデータであるとして同時に処理することができる。所謂データの丸め込み処理の一つである。【００２１】
しかしながら、このようにタイムスタンプを時刻精度内の時刻に更新してしまうと、本来のタイムスタンプを破棄することになってしまう。つまり、本来のタイムスタンプを有するストリームデータ（以下、生データと記述する。）の保存ができなくなる。更に、生データの保存を考慮し、生データのタイムスタンプを更新せずに、タイムスタンプが変更されたストリームデータの複製を生成し、その複製データで処理を実行し、生データは別に保存することもできるが、その分、処理負荷の増大やリソースの確保が要求されることになる。【００２２】
更に、上記第３で述べた、ウィンドウを用いたストリームデータ処理では、図１４のようにウィンドウの間隔に含まれる各ストリームデータを逐次処理する。このため、最終的な結果を取得するためにストリームデータをクエリによって４回処理することになる。従って、ウィンドウを用いたストリームデータ処理システムは、複数のストリームデータの処理において、無駄な処理が発生し、処理負荷及び資源負荷を増大させる。【００２３】
本発明は、ストリームデータ処理の丸め込み処理をより効率的に行うとともにその利便性を向上させることを目的とする。
【課題を解決するための手段】
【００２４】
本発明の代表的な一形態によると、複数のストリームデータの入力を受け、前記ストリームデータを処理するための基準時刻を用いて、前記ストリームデータを処理するストリーム処理計算機に、所定の時間の長さを示す時刻精度を保持する機能と、前記ストリームデータに含まれる時刻情報を抽出する機能と、前記抽出された時刻情報から前記基準時刻を減算した結果と、前記時刻精度とを比較する機能と、前記比較の結果、前記減算した結果が小さい場合、ストリームデータを記憶領域に保留する機能と、前記比較の結果、前記減算した結果が大きい場合、前記保留したストリームデータを同一の時刻情報を含むものとして処理する。
【発明の効果】
【００２５】
本発明の一実施形態によると、所定時間内に含まれるストリームデータを効率的に処理することができ又利便性を向上することができる。
【図面の簡単な説明】
【００２６】
【図１】本発明の実施形態のストリームデータ処理システムが含まれる計算機システムを示すブロック図である。
【図２】本発明の第１の実施形態のストリームデータ処理システムの論理的な構成を示すブロック図である。
【図３Ａ】本発明の第１の実施形態の時刻精度入力部へファイルによって時刻精度を入力する場合の入力値の例を示す説明図である。
【図３Ｂ】本発明の第１の実施形態の時刻精度入力部へコマンドによって時刻精度を入力する場合の入力値の例を示す説明図である。
【図３Ｃ】本発明の第１の実施形態の時刻精度入力部へＣＬＩによって時刻精度を入力する場合の入力値の例を示す説明図である。
【図３Ｄ】本発明の第１の実施形態の時刻精度入力部へ時刻精度を入力するための入力装置の画面の例を示す説明図である。
【図４】本発明の第１の実施形態の時刻精度情報テーブルに格納される時刻精度を示す説明図である。
【図５】本発明の第１の実施形態のストリームデータ処理システムの処理の概要を示す模式図である。
【図６】本発明の第１の実施形態のストリームデータ処理システムの処理の詳細を示すフローチャートである。
【図７】本発明の第２の実施形態のストリームデータ処理システムの論理的な構成を示すブロック図である。
【図８Ａ】本発明の第２の実施形態のクエリ登録部への入力値の例を示す説明図である。
【図８Ｂ】本発明の第２の実施形態のクエリ登録部への別の入力値の例を示す説明図である。
【図９】本発明の第２の実施形態の時刻精度情報テーブルを示す説明図である。
【図１０】本発明の第２の実施形態の時刻精度情報テーブルを更新する処理を示すフローチャートである。
【図１１】本発明の第３の実施形態のストリームデータ処理システムの論理的な構成を示すブロック図である。
【図１２】本発明の第３の実施形態の時刻精度判定部の処理を示すフローチャートである。
【図１３】従来技術のストリームデータ処理システムによるストリームデータの処理の流れを示す模式図である。
【図１４】従来技術のストリームデータ処理システムによるストリームデータの処理の流れを示す模式図である。
【図１５】従来技術のストリームデータ処理システムにおけるウィンドウを用いたストリームデータの処理を示す模式図である。
【発明を実施するための形態】
【００２７】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
【００２８】
（システム構成）
図１は、本発明の実施形態のストリームデータ処理システム１０７が含まれる計算機システムを示すブロック図である。
【００２９】
図１は、本発明を適用した一実施形態である計算機システム１を示すブロック図である。計算機システム１は、ストリームデータ送信計算機１２６と、ストリームデータ処理計算機１０１と、ストリームデータ処理結果計算機１２７とが、夫々ネットワーク１２８、ネットワーク１２９を介して通信可能に接続されて構成される。ストリームデータ送信計算機１２６は、ストリームデータを生成してストリームデータ処理計算機１０１に送信する計算機である。ストリームデータ処理計算機１０１は、ストリームデータの入力を受け、外部からの入力或いは予め設定されたクエリ（要求や問合せ）に応じて、ストリームデータに所定の処理を行い、処理結果を出力する計算機である。ストリームデータ処理結果計算機１２７は、ストリームデータの処理結果の入力を受け、処理結果の表示やその結果に対して更なる処理を行った結果等を表示する計算機である。
【００３０】
なお、本実施形態では、これらストリームデータ処理計算機１０１、ストリームデータ送信計算機１２６及びストリームデータ処理結果計算機１２７をネットワークで通信可能とする構成としたが、同一計算機上にこれら各計算機の一部又は全部の機能を有する構成としてもよい。
【００３１】
ネットワーク１２８及びネットワーク１２９は、インターネット又はＷＡＮ等のネットワークである。また、ストリームデータ処理計算機１０１、ストリームデータ送信計算機１２６及びストリームデータ処理結果計算機１２７は、ＮＩＣ等を介してネットワーク１２８又はネットワーク１２９に接続される。
【００３２】
以下に、上述した各計算機の構成について詳細に説明する。
【００３３】
ストリームデータ送信計算機１２６は、ＣＰＵ１０、主記憶２０及び補助記憶装置３０を備える計算機であり、ストリームデータをストリームデータ処理計算機１０１に送信する。図１に示すストリームデータ送信計算機１２６は一つであるが、本発明の計算機システムは、複数のストリームデータ送信計算機１２６を備えてもよい。
【００３４】
ストリームデータ送信計算機１２６の主記憶２０には、ストリームデータ送信部及びアプリケーション実行部が含まれる。ストリームデータ送信部２１及びアプリケーション実行部２２は、ＣＰＵ１０とプログラムとの協働によって構成された機能部である。アプリケーション実行部２２は、所定のアプリケーション処理を実行し、その処理によってストリームデータを生成する。ストリームデータ送信部２１は、アプリケーション実行部２２によって生成されたストリームデータをストリームデータ処理計算機１０１に送信する。
【００３５】
ストリームデータ処理結果計算機１２７は、ＣＰＵ１５０、主記憶１６０及び補助記憶装置１７０を備える計算機であり、所定の処理が行われたストリームデータをストリームデータ処理計算機１０１から受信する。本実施形態において、計算機システム１のストリームデータ処理結果計算機１２７は一つであるが、複数のストリームデータ処理結果計算機１２７を備えてもよい。
【００３６】
主記憶１６０には、ストリームデータ受信部１６２及びアプリケーション実行部１６１が含まれる。ストリームデータ受信部１６２及びアプリケーション実行部１６１は、プログラムであり、ＣＰＵ１５０と協働によって構成された機能部である。ストリームデータ受信部１６２は、ストリームデータ処理計算機１０１から所定の処理が行われたストリームデータを受信する。アプリケーション実行部１６１は、ストリームデータ処理計算機１０１から、所定の処理がなされたストリームデータの入力を受け、その処理結果を出力（表示、印刷、データ格納）するための所定のアプリケーションを実行するためのアプリケーションプログラムである。ストリームデータ受信部１６２は、ストリームデータ処理計算機１０１から所定の処理が行なわれたストリームデータを受信する。
【００３７】
ストリームデータ処理計算機１０１は、ＣＰＵ１０３、主記憶１０２、補助記憶装置１０４、入力装置１０５及び出力装置１０６を備える。ＣＰＵ１０３は、主記憶１０２に保持されるプログラムを実行するためのプロセッサである。主記憶１０２は、一時的な記憶領域を持つ記憶装置である。補助記憶装置１０４は、ハードディスクドライブ等の不揮発性記憶装置である。
【００３８】
入力装置１０５は、管理者又はユーザ等が、ストリームデータ処理計算機１０１にデータを入力するために用いる装置である。入力装置１０５は、例えば、キーボード又はマウス等である。入力装置１０５を介して、ストリームデータ送信計算機１２６から受信したストリームデータの処理内容であるクエリ（要求や問合せ）や後述する時刻精度を入力するができるようになっている。出力装置１０６は、クエリの入力画面や処理に関する種々の情報を管理者又はユーザ等に、提示するディスプレイや、ストリームデータ処理計算機１０１による処理の結果を出力するためのプリンタ等から構成される。
【００３９】
主記憶１０２は、オペレーティングシステム１０８及びストリームデータ処理システム１０７を保持する。オペレーティングシステム１０８は、ストリームデータ処理計算機１０１に備わるＣＰＵ１０３等のハードウェアに、主記憶１０２に保持されるプログラムを実行させるためのプログラムである。オペレーティングシステム１０８は、ストリームデータ処理計算機１０１において用いられるシステム時刻１２５を保持する。
【００４０】
ストリームデータ処理システム１０７は、ストリームデータ送信計算機１２６から受信したストリームデータを処理し、処理した結果をストリームデータ処理結果計算機１２７に送信するためのプログラムである。また、本実施形態のストリームデータ処理システム１０７は、入力装置１０５から入力されたクエリ等を受信するようになっている。
【００４１】
ストリームデータ処理システム１０７には、クエリ管理部１０９、ストリームデータ処理部１１０、時刻精度管理部１１１及び時刻管理部１１２が含まれる。クエリ管理部１０９、ストリームデータ処理部１１０、時刻精度管理部１１１及び時刻管理部１１２はＣＰＵ１０３が所定のプログラムを実行することによって実現される。
【００４２】
（第１の実施形態）
図２は、本発明の第１の実施形態のストリームデータ処理システム１０７の論理的な構成を示すブロック図である。第１の実施形態では、管理者やユーザからの入力指定によって任意に設定できる点を特徴の一つとする。
【００４３】
クエリ管理部１０９は、ストリームデータを処理するクエリを保持するための機能である。クエリは、ストリームデータを処理する方法や処理の内容を示す。
【００４４】
クエリ管理部１０９は、クエリ登録部１１３、クエリ解析部１１４、クエリ情報テーブル１１５、クエリ定義１１６及びストリーム定義１１７を含む。クエリ登録部１１３は、管理者又はユーザ等によって入力されたクエリを、クエリ解析部１１４を介してクエリ情報テーブル１１５に格納するための機能である。
【００４５】
クエリ情報テーブル１１５は、クエリ定義１１６及びストリーム定義１１７を保持することによって、ストリームデータへの処理内容を示すクエリを保持する。ストリーム定義１１７には、ストリームデータの種類等、ストリームデータを識別するための情報が含まれ、クエリ定義１１６には、ストリーム定義１１７が示すストリームデータに対応するクエリが含まれる。
【００４６】
クエリ解析部１１４は、クエリ登録部１１３から送信されたクエリを、クエリ情報テーブル１１５に格納する。また、クエリ解析部１１４は、クエリ情報テーブル１１５を参照することによって、ストリームデータへの処理内容を示すクエリを抽出する。そして、ストリームデータ処理部１１０にクエリを送信する。
【００４７】
なお、クエリ解析部１１４は、クエリとともに、クエリに関する情報をストリームデータ処理部１１０に送信してもよい。このクエリに関する情報には、クエリを一意に識別するための識別子が含まれる。
【００４８】
ストリームデータ処理部１１０は、ストリームデータ送信計算機１２６から送信されたストリームデータを、クエリ管理部１０９から送信されるクエリによって処理するための機能である。そして、クエリによって処理されたストリームデータを、ストリームデータ処理結果計算機１２７に送信するための機能である。
【００４９】
ストリームデータ処理部１１０は、ストリームデータ受信部１１８、クエリ処理制御部１１９及びストリームデータ送信部１２０を含む。ストリームデータ受信部１１８は、ストリームデータ送信計算機１２６から送信されるストリームデータを受信するための機能である。
【００５０】
クエリ処理制御部１１９は、クエリ解析部１１４から送信されたクエリと、時刻管理部１１２から送信された基準時刻１２４とに基づいて、ストリームデータを処理するための機能である。ストリームデータ送信部１２０は、クエリ処理制御部１１９において、クエリによって処理されたストリームデータを、ストリームデータ処理結果計算機１２７に送信するための機能である。
【００５１】
時刻精度管理部１１１は、本実施形態の時刻精度を保持するための機能である。時刻精度管理部１１１は、時刻精度情報テーブル１２２及び時刻精度入力部１２３を含む。
【００５２】
時刻精度情報テーブル１２２は、時刻精度の値を保持する。時刻精度入力部１２３は、管理者又はユーザ等によって入力された時刻精度の値を、入力装置１０５を介して受信し、受信された時刻精度の値を時刻精度情報テーブル１２２に格納するための機能である。
【００５３】
時刻管理部１１２は、基準時刻１２４を保持するための機能である。時刻管理部１１２は、時刻精度管理部１１１から時刻精度を取得する。そして、時刻管理部１１２は、基準時刻１２４と時刻精度とをクエリ処理制御部１１９に送信する。
【００５４】
図３Ａは、第１の実施形態の時刻精度入力部１２３へファイルによって時刻精度を入力する場合の入力値の例を示す説明図である。
【００５５】
管理者又はユーザ等は、入力装置１０５を介して、時刻精度を時刻精度入力部１２３へ入力する。図３Ａに示す入力値３０１は、時刻精度情報テーブル１２２に時刻精度を格納するためのファイル等に記載する例である。時刻精度入力部１２３は、入力装置１０５から、時刻精度を格納するためのファイルを受信し、受信されたファイルから時刻精度を抽出する。
【００５６】
図３Ｂは、第１の実施形態の時刻精度入力部１２３へコマンドによって時刻精度を入力する場合の入力値の例を示す説明図である。
【００５７】
図３Ｃは、第１の実施形態の時刻精度入力部１２３へＣＬＩによって時刻精度を入力する場合の入力値の例を示す説明図である。
【００５８】
また、管理者又はユーザ等は、図３Ｂに示す入力値３０２のようにコマンドによって時刻精度を時刻精度入力部１２３へ入力してもよい。また、管理者又はユーザ等は、図３Ｃの入力値３０２のように、入力装置１０５によって提供されるＣＬＩ（Ｃｏｍａｎｄ  Ｌｉｎｅ  Ｉｎｔｅｒｆａｃｅ）によって時刻精度を時刻精度入力部１２３へ入力してもよい。
【００５９】
図３Ｄは、第１の実施形態の時刻精度入力部１２３へ時刻精度を入力するための入力装置１０５の画面３０４の例を示す説明図である。
【００６０】
管理者又はユーザ等は、図３Ｄに示す画面３０４のように、入力装置１０５によって提供されるＧＵＩによって時刻精度を時刻精度入力部１２３へ入力してもよい。図３Ｄに示す画面３０４では、入力された時刻精度の数値は１０であり、時刻精度の単位は分である例を示している。
【００６１】
なお、図３Ａ〜図３Ｄに示す時刻精度入力部１２３への入力するための方法は、例であり、時刻精度の数値を時刻精度入力部１２３に入力できれば、いかなる方法を用いてもよい。
【００６２】
図４は、第１の実施形態の時刻精度情報テーブル１２２に格納される時刻精度を示す説明図である。
【００６３】
時刻精度入力部１２３は、入力装置１０５から入力された時刻精度を、図４に示す時刻精度情報テーブル１２２に格納する。時刻精度情報テーブル１２２は、時刻精度の数値を数値４０１に保持し、時刻精度の単位を単位４０２に格納する。
【００６４】
なお、図４に示す時刻精度情報テーブル１２２は例であり、時刻精度の値を保持できれば、時刻精度情報テーブル１２２がいかなる方法によって時刻精度を保持してもよい。
【００６５】
次に、以上の構成を有する計算機システム１の処理について説明する。
【００６６】
図５は、第１の実施形態のストリームデータ処理システム１０７の処理の概要を示す模式図である。
【００６７】
図５は、本実施形態のストリームデータ処理システム１０７、時刻精度管理部１１１、時刻管理部１１２及びクエリ処理制御部１１９を示す。なお、図５ではクエリ管理部１０９（図２）等は省略している。クエリ処理制御部１１９は、クエリを解析し、その内容に従って種々の演算を行う。本実施形態では、ストリームデータの合計値を算出することを例に説明するものとする。
【００６８】
先ず、ストリームデータ処理システム１０７は、ストリームデータＡ〜Ｅを受信する（入力を受ける）。ストリームデータＡ〜Ｅは、識別子２０１、値２０２及びタイムスタンプ２０３を含む（上述の従来技術で述べた図１３や図１４の、識別子１３０１、値１３０２及びタイムスタンプ１３０３等と同様である）。
【００６９】
時刻精度管理部１１１は、時刻精度が１分であることを示す情報を保持する。また、時刻管理部１１２は、基準時刻１２４に１０時００分００秒を保持する。この時、クエリ処理制御部１１９は、基準時刻１２４から１分の時刻精度によって、ストリームデータを処理する。即ちクエリ処理制御部１１９は、１０時００分００秒を示すタイムスタンプを付加されたストリームデータＡから１０時００分００秒から１分の間を示すタイムスタンプを付加されたストリームデータＤまでを、同じストリームデータであると識別して処理する。具体的には、ストリームデータＡ〜Ｄを同じストリームデータであると識別し、更に、ストリームデータＡ〜Ｄの合計値をまとめて演算する。つまり、クエリ処理制御部１１９は、ストリームデータＡ〜Ｄの合計値を取得するため、１回だけ、クエリによって処理する。
【００７０】
また、時刻精度を利用する構成であることから、ストリームデータ自体のタイムスタンプ２０３を更新することなく、処理する。  クエリ処理制御部１１９での演算方法について、より詳細に説明すると、従来のストリームデータ処理では、ストリームデータＡ〜Ｄという４つのストリームデータの値の合計を算出する場合、先ず１つ目のストリームデータの値Ａ及び２つ目のストリームデータの値Ｂの合計を演算して出力し、次いで、Ａ、Ｂ及び３つ目のストリームデータの値Ｃの合計を演算して出力し、次いで、Ａ、Ｂ、Ｃ及び４つ目のストリームデータの値Ｄの合計を演算して出力する。これに対し、本実施形態のクエリ処理制御部１１９は、ストリームデータＡ〜Ｄを１回の演算によって処理するため、クエリによる処理が従来に比して格段に低減され、性能向上、処理時間の短縮及び負荷の低減を実現できるという特徴がある。本実施形態では、４つのストリームデータの値を合計することを例としているが、演算対象とするストリームデータの数が増加するほど、この演算方法の差がストリームデータ処理での性能等に大きく影響する。
【００７１】
図６は、第１の実施形態のストリームデータ処理システム１０７の処理の詳細を示すフローチャートである。
【００７２】
図６に示す処理は、ストリームデータを受信する毎に、ストリームデータ処理システム１０７によって実行される。なお、第１の実施形態において、時刻精度管理部１１１は、図６に示す処理の前に、管理者又はユーザ等によって時刻精度が入力される。
【００７３】
まず、クエリ処理制御部１１９が、主記憶１０２の所定のメモリ空間上にストリームデータの入力を検出すると、時刻管理部１１２は、クエリ処理制御部１１９から送信される指示に従って、時刻精度管理部１１１に含まれる時刻精度情報テーブル１２２から時刻精度を取得する（Ｓ６０１）。なお、クエリ処理制御部１１９から時刻管理部１１２に送信される指示には、基準時刻１２４をクエリ処理制御部１１９に送る指示が含まれる。
【００７４】
そして、Ｓ６０１におけるクエリ処理制御部１１９は、基準時刻１２４と時刻精度とを、時刻管理部１１２から受信する。さらに、Ｓ６０１におけるクエリ処理制御部１１９は、入力を検出したストリームデータのうち、最も先に入力され、かつ、クエリに応じた処理がまだされていないストリームデータを抽出し、抽出されたストリームデータに付加されたタイムスタンプ２０３を、さらに抽出する。
【００７５】
またクエリ処理制御部１１９は、ストリームデータを受信した際、クエリ解析部１１４にストリームデータを処理すべきクエリを要求し、クエリ解析部１１４からクエリを受信する。
【００７６】
Ｓ６０１又はＳ６０７の後、クエリ処理制御部１１９は、Ｓ６０１又はＳ６０７において抽出されたタイムスタンプ２０３から、基準時刻１２４を減算することによって、ストリームデータのタイムスタンプ２０３と基準時刻１２４との時刻差を算出する（Ｓ６０２）。
【００７７】
Ｓ６０２の後、クエリ処理制御部１１９は、Ｓ６０２において算出された時刻差が、Ｓ６０１において受信した時刻精度よりも小さい値であるか否かを判定する（Ｓ６０３）。Ｓ６０２において算出された時刻差が、Ｓ６０１において取得された時刻精度以上であると判定された場合、受信されたストリームデータを処理するため、クエリ処理制御部１１９は、Ｓ６０４に移行する。
【００７８】
Ｓ６０２において算出された時刻差が、Ｓ６０１において受信された時刻精度よりも小さい値であると、Ｓ６０３において判定された場合、クエリ処理制御部１１９は、Ｓ６０２において時刻差を算出したストリームデータを保持する（Ｓ６０６）。そして、Ｓ６０６において保持されたストリームデータの次に受信されたストリームデータを抽出し、抽出されたストリームデータに付加されたタイムスタンプ１３０３を、さらに抽出する（Ｓ６０７）。
【００７９】
Ｓ６０２、Ｓ６０３、Ｓ６０６及びＳ６０７の処理を繰り返すことによって、クエリ処理制御部１１９は、基準時刻１２４から時刻精度が示す時間までにタイムスタンプ２０３が含まれるストリームデータを保持する。なお、Ｓ６０２、Ｓ６０３、Ｓ６０６及びＳ６０７の処理は、時刻管理部１１２によって行われてもよい。
【００８０】
なお、Ｓ６０２、Ｓ６０３、Ｓ６０６及びＳ６０７の処理を時刻管理部１１２が行う場合、時刻管理部１１２は、ストリームデータのタイムスタンプをクエリ処理制御部１１９を介して取得する。そして、基準時刻１２４から時刻精度が示す時間までにタイムスタンプ２０３が含まれるストリームデータをクエリ処理制御部１１９に送る。
【００８１】
Ｓ６０３の後、クエリ処理制御部１１９は、クエリ処理制御部１１９に保持されたストリームデータを、クエリ解析部１１４から送信されたクエリによって処理する（Ｓ６０４）。Ｓ６０４におけるクエリ処理制御部１１９は、基準時刻１２４における処理として、ストリームデータを処理した結果をストリームデータ送信部１２０に送信する。
【００８２】
Ｓ６０４の処理によってクエリ処理制御部１１９は、基準時刻１２４から時刻精度が示す時間までに、タイムスタンプ２０３が含まれるストリームデータを、同じ基準時刻１２４におけるストリームデータとして処理することができる。
【００８３】
Ｓ６０４の後、時刻管理部１１２は、時刻管理部１１２に保持される基準時刻１２４に、時刻精度が示す時間を加算し、加算された結果によって基準時刻１２４を更新する（Ｓ６０５）。時刻管理部１１２は、Ｓ６０４が終了する際に、クエリ処理制御部１１９から処理が終了した旨を受信することによってＳ６０５を開始する。
【００８４】
Ｓ６０５の処理によって、時刻管理部１１２は、基準時刻１２４を時刻精度ごとに更新することができる。
【００８５】
Ｓ６０５の後、ストリームデータ処理システムは、Ｓ６０１に戻る。そして、Ｓ６０１において時刻管理部１１２は、更新後の新たな時刻精度を取得する。
【００８６】
ここで、Ｓ６０５の処理の後、Ｓ６０１において抽出されるタイムスタンプ２０３は、Ｓ６０３において、時刻差が時刻精度以上であると判定された際のタイムスタンプ２０３と同じである。すなわち、クエリ処理制御部１１９は、前回処理されたＳ６０３において、別のストリームデータであると識別されたストリームデータを、再度Ｓ６０１において処理する。
【００８７】
図６に示す処理によって、クエリ処理制御部１１９は、受信されたストリームデータのタイムスタンプ２０３を更新することなく、時刻精度毎に、受信されたストリームデータをクエリによって処理できる。
【００８８】
なお、図６のＳ６０２、Ｓ６０３、Ｓ６０６及びＳ６０７は、クエリ処理制御部１１９によって実行されたが、時刻管理部１１２によって実行されてもよい。この時、時刻管理部１１２は、ストリームデータ受信部１１８からストリームデータのタイムスタンプ２０３を受信することによって、Ｓ６０２、Ｓ６０３を実行し、Ｓ６０６において、ストリームデータをクエリ処理制御部１１９に入力するよう、ストリームデータ受信部１１８に指示してもよい。
【００８９】
以上が、第１実施形態の説明である。
【００９０】
本実施形態によれば、ストリームデータを丸め込んで処理する場合に、ストリームデータのタイムスタンプを書き換えることがない、よって、オリジナルのストリームデータを損なうことがないという効果がある。
【００９１】
また、本実施形態では、ストリームデータを丸め込んで処理する場合に、更に、丸め込みの対象とするストリームデータに対する演算性能向上、負荷低減及び処理時間の短縮という効果がある。
【００９２】
また本実施形態では、入力装置１０５を介して、管理者やユーザ等から任意の時刻精度を指定することができるようになっていることから、ストリームデータの丸め込み処理の利便性が向上するという効果がある。
【００９３】
（第２の実施形態）
次に、第２の実施形態について説明する。第２の実施形態は、クエリによって時刻精度を制御する点を特徴の一つとする。
【００９４】
図７は、本発明の第２の実施形態のストリームデータ処理システム１０７の論理的な構成を示すブロック図である。
【００９５】
図７に示すストリームデータ処理システム１０７は、図２に示す第１の実施形態のストリームデータ処理システム１０７と異なり、時刻精度入力部１２３を必ずしも有する必要がない構成である。そして、時刻精度情報テーブル１２２は、クエリ解析部１１４と接続される。このため、時刻精度管理部１１１以外の、第２の実施形態のストリームデータ処理システム１０７の要素は、第１の実施形態のストリームデータ処理システム１０７の要素と同じである。
【００９６】
また、第２の実施形態のストリームデータ処理システム１０７が含まれる計算機システムは、図１に示す計算機システム１と同じである。
【００９７】
図８Ａは、本発明の第２の実施形態のクエリ登録部１１３への入力値１００１の例を示す説明図である。
【００９８】
図８Ｂは、本発明の第２の実施形態のクエリ登録部１１３への別の入力値１００２の例を示す説明図である。
【００９９】
管理者又はユーザ等は、入力装置１０５を介して、入力値１００１又は入力値１００２をクエリ登録部１１３に入力する。入力値１００１及び入力値１００２には、共に、クエリＱ１を用いる処理には、時刻精度を１０分とすることを示す情報が含まれる。
【０１００】
図９は、本発明の第２の実施形態の時刻精度情報テーブル１２２を示す説明図である。
【０１０１】
第２の実施形態の時刻精度情報テーブル１２２は、第１の実施形態の時刻精度情報テーブル１２２と同様に、数値４０１及び単位４０２を含む。そして、第２の実施形態の時刻精度情報テーブル１２２は、さらにクエリ名４０３を含む。クエリ名４０３には、クエリを一意に示す識別子が格納される。第２の実施形態の時刻精度情報テーブル１２２は、クエリ名４０３毎に、数値４０１及び単位４０２を含む。
【０１０２】
クエリ登録部１１３は、図８Ａ又は図８Ｂに示すようなクエリを登録された後、登録されたクエリをクエリ解析部１１４に送信する。クエリ解析部１１４は、クエリ登録部１１３から送信されたクエリに関する情報を、時刻精度管理部１１１に送る。時刻精度管理部１１１は、受信したクエリに関する情報に基づいて、時刻精度情報テーブル１２２を更新する。
【０１０３】
図１０は、本発明の第２の実施形態の時刻精度情報テーブル１２２を更新する処理を示すフローチャートである。
【０１０４】
クエリがクエリ情報テーブル１１５に新たに格納されるか又はクエリ情報テーブル１１５に格納されたクエリが変更された後、クエリ解析部１１４は新たなクエリに関する情報、又は、変更されたクエリに関する情報を時刻精度管理部１１１に送信する（Ｓ５０１）。
【０１０５】
クエリに関する情報には、クエリを一意に識別するための識別子が含まれる。クエリを一意に識別するための識別子は、クエリ名４０３に対応する。
【０１０６】
時刻精度管理部１１１は、クエリ解析部１１４から送信されたクエリに関する情報から識別子を抽出し、抽出された識別子を時刻精度情報テーブル１２２のクエリ名４０３に格納する（Ｓ５０２）。なお、Ｓ５０１において、クエリがクエリ情報テーブル１１５から削除される場合、Ｓ５０２において時刻精度管理部１１１は、時刻精度情報テーブル１２２から削除されたクエリを含む行を削除してもよい。
【０１０７】
Ｓ５０２の後、時刻精度管理部１１１は、クエリ解析部１１４から送信されたクエリに関する情報に、時刻精度を指定する情報が含まれているか否かを判定する（Ｓ５０３）。Ｓ５０３において、クエリ解析部１１４から送信されたクエリに関する情報に、時刻精度を指定する情報が含まれていないと判定された場合、時刻精度管理部１１１は、時刻精度情報テーブル１２２に含まれる時刻精度の情報を変更する必要がないため、図１０に示す処理を終了する。
【０１０８】
Ｓ５０３において、クエリ解析部１１４から送信されたクエリの情報に、時刻精度を指定する情報が含まれていると判定された場合、時刻精度情報テーブル１２２に時刻精度の情報を格納するため、時刻精度管理部１１１は、Ｓ５０４に移行する。時刻精度管理部１１１は、クエリ解析部１１４から送信されたクエリの情報から時刻精度を示す情報を抽出する。そして、抽出された時刻精度を示す情報のうち、数値部分を数値４０１に格納し（Ｓ５０４）、単位部分を単位４０２に格納する（Ｓ５０５）。
【０１０９】
図１０に示す処理によって、クエリに含まれる時刻精度を、時刻精度情報テーブル１２２に格納することが可能である。
【０１１０】
第２の実施形態において、クエリ処理制御部１１９は、ストリームデータを処理するため、図６に示す処理を実行する。ただし、第２の実施形態の時刻管理部１１２は、図６のＳ６０１において、基準時刻１２４をクエリ処理制御部１１９に送る指示とともに、クエリ処理制御部１１９が用いるクエリに関する情報を、クエリ処理制御部１１９から送信される。クエリに関する情報は、クエリ解析部１１４がクエリ処理制御部１１９に送信した情報であり、クエリ名４０３に対応する識別子が含まれる。
【０１１１】
第２の実施形態の時刻管理部１１２は、Ｓ６０１において、クエリに関する情報に基づいて時刻精度情報テーブル１２２を検索する。そして、検索結果に基づいて、クエリに関する情報に対応する数値４０１及び単位４０２を抽出し、抽出結果が示す時刻精度を取得する。
【０１１２】
以上が、第２の実施形態の説明である。  本実施形態によれば、クエリ処理制御部１１９が用いるクエリによって、時刻精度を変更することが可能である。また、第２の実施形態のストリームデータ処理システムは、クエリによって時刻精度を指定されることによって、クエリ毎に時刻精度を保持することができるという効果がある。
【０１１３】
なお、本実施形態は、クエリによって時刻精度を制御する構成となっているが、第１の実施形態で述べた入力装置１０５を介してのユーザ設定の構成と併用することも当然に可能である。クエリ毎に時刻精度を制御可能であるとともに任意の時刻精度を適宜設定できることから、更に、ストリームデータ処理の利便性が向上する。また、第１の実施形態のユーザによる時刻精度指定と、第２の実施形態のクエリを用いた時刻精度指定とをモードの切替により使い分ける構成や、競合する場合に両者のいずれかを優先する等の構成とすることは当然に可能である。
【０１１４】
（第３の実施形態）
次に、第３の実施形態について説明する。第３の実施形態は、時刻精度をストリームデータから算出することを特徴の一つとする。
【０１１５】
図１１は、本発明の第３の実施形態のストリームデータ処理システム１０７の論理的な構成を示すブロック図である。
【０１１６】
第３の実施形態のストリームデータ処理システム１０７において、時刻精度管理部１１１は、時刻精度判定部１２１を含む。時刻精度判定部１２１は、ストリームデータ受信部１１８によって受信されたストリームデータを参照し、時刻精度を算出するための機能である。
【０１１７】
第３の実施形態のストリームデータ処理システム１０７の要素は、時刻精度判定部１２１以外、第１の実施形態のストリームデータ処理システム１０７と同じ要素である。また、第２の実施形態のストリームデータ処理システム１０７が含まれる計算機システムは、図１に示す計算機システムと同じである。
【０１１８】
図１２は、本発明の第３の実施形態の時刻精度判定部１２１の処理を示すフローチャートである。
【０１１９】
図１２に示す処理は、ストリームデータ受信部１１８がストリームデータを受信する毎に、時刻精度判定部１２１によって実行されてもよい。また、１週間又は１カ月などの所定の周期において実行されてもよい。
【０１２０】
まず、時刻精度判定部１２１は、ストリームデータ受信部１１８によって受信されたストリームデータのタイムスタンプ２０３を取得する（Ｓ１２０１）。
【０１２１】
Ｓ１２０１の後、時刻精度判定部１２１は、Ｓ１２０１においてタイムスタンプ２０３を取得されたストリームデータよりも、一つ前に受信されたストリームデータのタイムスタンプ２０３を取得する。そして、Ｓ１２０１において取得したタイムスタンプ２０３から、一つ前に受信されたストリームデータのタイムスタンプ２０３を減算することによって、二つの連続したストリームデータの時刻差を算出する。そして、算出された時刻差を主記憶１０２等に一時的に保持する。（Ｓ１２０２）。
【０１２２】
Ｓ１２０２の後、時刻精度判定部１２１は、主記憶１０２等に保持された複数の時刻差に基づいて、以前に受信された二つの連続したストリームデータの時刻差の平均値を算出する（Ｓ１２０３）。さらにＳ１２０３の後、Ｓ１２０３において算出された時刻差の平均値と時刻精度情報テーブル１２２に格納される時刻精度とが相違するか否かを判定する（Ｓ１２０４）。
【０１２３】
Ｓ１２０４において、時刻差の平均値と時刻精度情報テーブル１２２に格納される時刻精度とが等しいと判定された場合、時刻精度判定部１２１は、時刻精度を更新する必要がないため、Ｓ１２０１に戻る。
【０１２４】
Ｓ１２０４において、時刻差の平均値と時刻精度情報テーブル１２２に格納される時刻精度とが相違すると判定された場合、時刻精度を、時刻差の平均値に更新するため、時刻精度判定部１２１は、時刻精度情報テーブル１２２の数値４０１及び単位４０２に、時刻差の平均値を格納する（Ｓ１２０５）。そして、Ｓ１２０５の後、時刻精度判定部１２１は、Ｓ１２０１に戻る。
【０１２５】
なお、Ｓ１２０２において時刻精度判定部１２１は、例えば、五つの連続したストリームデータＡ〜Ｅの各々のストリームデータのタイムスタンプ２０３を取得し、最も古く受信されたストリームデータＡから最も新しく受信されたストリームデータＥまでの時刻差を算出してもよい。そして、Ｓ１２０３において、五つの連続したストリームデータの時刻差の平均値を算出し、算出された時刻差の平均値と時刻精度とを、Ｓ１２０４において比較してもよい。
【０１２６】
前述の例によれば、時刻精度判定部１２１は、所定の個数のストリームデータを処理するための時刻精度を算出することができる。
【０１２７】
また、クエリ処理制御部１１９が用いるクエリによって、時刻精度を判定してもよい。すなわち、時刻精度管理部１１１は、クエリ解析部１１４から送信されるクエリに関する情報を、クエリ処理制御部１１９及び時刻管理部１１２を介して取得してもよい。そして、Ｓ１２０５において、クエリに関する情報が示すクエリ名４０３と対応させて、数値４０１及び単位４０２に、時刻差の平均値を格納してもよい。
【０１２８】
さらに、第３の実施形態のクエリ処理制御部１１９も、ストリームデータをクエリによって処理する際、図６に示す処理と同じ処理を実行する。
【０１２９】
以上が第３の実施形態の説明である。
【０１３０】
本実施形態によれば、管理者又はユーザ等によって、時刻精度を入力されることなく、自動的に時刻精度を算出することができる。
【０１３１】
また、本実施形態によれば、時刻精度を変更することによって、所定時間内に含まれるストリームデータを効率的に処理し、処理の遅延及び資源への負荷を低減することができる。すなわち、無駄な処理を実行することなく、所定時間内に含まれる複数のストリームデータを処理することができる。
【０１３２】
なお、本実施形態のストリームデータ処理システムは、第１、第２及び第３の実施形態のうち少なくとも二つの実施形態によって実装されることが可能である。
【０１３３】
以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。
【０１３４】
特に、上記種々の処理の一部又は全部を、ソフトウェア又はハードウェアで構成することも可能である。また、ソフトウェアは、磁気記憶媒体、光学式記録媒体、ＳＳＤ（Solid state Disk）等の半導体記録媒体など、種々の記録媒体に格納することも当然に可能であるし、ネットワーク等を介してダウンロードすることも可能である。
【産業上の利用可能性】
【０１３５】
本発明は、複数のストリームデータを処理するストリームデータ処理システムに適用できる。
【図１】
2012059976.tif 000003
【図２】
2012059976.tif 000004
【図３Ａ】
2012059976.tif 000005
【図３Ｂ】
2012059976.tif 000006
【図３Ｃ】
2012059976.tif 000007
【図３Ｄ】
2012059976.tif 000008
【図４】
2012059976.tif 000009
【図５】
2012059976.tif 000010
【図６】
2012059976.tif 000011
【図７】
2012059976.tif 000012
【図８Ａ】
2012059976.tif 000013
【図８Ｂ】
2012059976.tif 000014
【図９】
2012059976.tif 000015
【図１０】
2012059976.tif 000016
【図１１】
2012059976.tif 000017
【図１２】
2012059976.tif 000018
【図１３】
2012059976.tif 000019
【図１４】
2012059976.tif 000020
【図１５】
2012059976.tif 000021
【手続補正書】
【提出日】平成25年10月4日(2013.10.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のストリームデータの入力を受け、前記ストリームデータを処理するための基準時刻を用いて、前記ストリームデータを処理するストリームデータ処理計算機に、
所定の時間の長さを示す時刻精度を保持する機能と、
前記ストリームデータに含まれる時刻情報を抽出する機能と、
前記抽出された時刻情報から前記基準時刻を減算した結果と、前記時刻精度とを比較する機能と、
前記比較の結果、前記減算した結果が小さい場合、ストリームデータを記憶領域に保留する機能と、
前記比較の結果、前記減算した結果が大きい場合、前記保留したストリームデータを同一の時刻情報を含むものとして処理する機能と、
前記比較の結果、前記減算した結果が大きい場合、前記基準時刻に前記時刻精度を加算する機能と、
前記加算された結果によって、前記基準時刻を更新させる機能と、
を実現させることを特徴とするプログラム。
【請求項２】
請求項１に記載のプログラムであって、
前記時刻精度を更新する指示を受信する機能と、
前記受信した指示に応じて前記時刻精度を更新する機能と、
を更に実現させることを特徴とするプログラム。
【請求項３】
請求項２に記載のプログラムであって、
前記時刻精度を更新する指示を、前記ストリームデータ処理計算機が備えるデータ入力装置を介して受信する機能を実現させることを特徴とするプログラム。
【請求項４】
請求項２又は３に記載のプログラムであって、
クエリによって前記ストリームデータを処理する機能と、
前記クエリを更新する指示を受信する機能と、
前記受信したクエリを更新する指示に含まれる時刻精度を抽出する機能と、
前記抽出した時刻精度を保持する機能と、
を更に実現させることを特徴とするプログラム。
【請求項５】
請求項１に記載のプログラムであって、
前記抽出した各時刻情報に基づいて、前記時刻精度を算出する機能と、
前記算出した時刻精度を保持する機能と、
を実現させることを特徴とするプログラム。
【請求項６】
請求項５に記載のプログラムであって、
前記抽出した各時刻情報から、連続した所定数のストリームデータの各時刻情報の複数の組を抽出する機能と、
前記時刻情報の各組のうち最も後に入力された前記ストリームデータの時刻情報と、最も先に入力された前記ストリームデータの時刻情報とを抽出する機能と、
前記抽出された最も後に入力された前記ストリームデータの時刻情報から、前記最も先に入力されたストリームデータの時刻情報を減算することによって、前記各組の時刻差を算出する機能と、
前記複数の組の時刻差の平均値を算出する機能と、
前記平均値を保持する機能と、
を実現させることを特徴とするプログラム。
【請求項７】
複数のストリームデータの入力を受け、前記ストリームデータを処理するための基準時刻を用いて、前記ストリームデータを処理するストリームデータ処理計算機のストリームデータ処理方法であって、
前記計算機が、
所定の時間の長さを示す時刻精度を保持し、
前記ストリームデータに含まれる時刻情報を抽出し、
前記抽出された時刻情報から前記基準時刻を減算した結果と、前記時刻精度とを比較し、
前記比較の結果、前記減算した結果が小さい場合、ストリームデータを記憶領域に保留し、
前記比較の結果、前記減算した結果が大きい場合、前記保留したストリームデータを同一の時刻情報を含むものとして処理し、
前記比較の結果、前記減算した結果が大きい場合、前記基準時刻に前記時刻精度を加算し、
前記加算された結果によって、前記基準時刻を更新することを特徴とするストリームデータ処理方法。
【請求項８】
請求項７に記載のストリームデータ処理方法であって、
前記計算機が、更に、
前記時刻精度を更新する指示を受信し、
前記受信した指示に応じて前記時刻精度を更新することを特徴とするストリームデータ処理方法。
【請求項９】
請求項８に記載のストリームデータ処理方法であって、
前記時刻精度を更新する指示を、前記ストリームデータ処理計算機が備えるデータ入力装置を介して受信することを特徴とするストリームデータ処理方法。
【請求項１０】
請求項８又は９に記載のストリームデータ処理方法であって、
前記計算機が、更に、
クエリによって前記ストリームデータを処理し、
前記クエリを更新する指示を受信し、
前記受信したクエリを更新する指示に含まれる時刻精度を抽出し、
前記抽出した時刻精度を保持することを特徴とするストリームデータ処理方法。
【請求項１１】
請求項７に記載のストリームデータ処理方法であって、
前記計算機が、
前記抽出した各時刻情報に基づいて、前記時刻精度を算出し、
前記算出した時刻精度を保持することを特徴とするストリームデータ処理方法。
【請求項１２】
請求項１１に記載のストリームデータ処理方法であって、
前記計算機が、
前記抽出した各時刻情報から、連続した所定数のストリームデータの各時刻情報の複数の組を抽出し、
前記時刻情報の各組のうち最も後に入力された前記ストリームデータの時刻情報と、最も先に入力された前記ストリームデータの時刻情報とを抽出し、
前記抽出された最も後に入力された前記ストリームデータの時刻情報から、前記最も先に入力されたストリームデータの時刻情報を減算することによって、前記各組の時刻差を算出し、
前記複数の組の時刻差の平均値を算出し、
前記平均値を保持することを特徴とするストリームデータ処理方法。
【請求項１３】
ストリームデータを処理するための基準時刻を保持する記憶装置と、入力された複数のストリームデータを処理する制御部と、を有するストリームデータ処理計算機であって、
前記制御部は、
所定の時間の長さを示す時刻精度を前記記憶装置に保持し、
前記ストリームデータに含まれる時刻情報を抽出し、
前記抽出された時刻情報から前記基準時刻を減算した結果と、前記時刻精度とを比較し、
前記比較の結果、前記減算した結果が小さい場合、ストリームデータを記憶領域に保留し、
前記比較の結果、前記減算した結果が大きい場合、前記保留したストリームデータを同一の時刻情報を含むものとして処理し、
前記比較の結果、前記減算した結果が大きい場合、前記基準時刻に前記時刻精度を加算し、
前記加算された結果によって、前記基準時刻を更新することを特徴とするストリームデータ処理計算機。
【請求項１４】
請求項１３に記載のストリームデータ処理計算機であって、
前記制御部は、
前記時刻精度を更新する指示を受信し、
前記受信した指示に応じて前記時刻精度を更新することを特徴とするストリームデータ処理計算機。
【請求項１５】
請求項１４に記載のストリームデータ処理計算機であって、
前記制御部は、
前記時刻精度を更新する指示を、前記ストリームデータ処理計算機が備えるデータ入力装置を介して受信することを特徴とするストリームデータ処理計算機。
【請求項１６】
請求項１４又は１５に記載のストリームデータ処理計算機であって、
前記制御部は、
クエリによって前記ストリームデータを処理し、
前記クエリを更新する指示を受信し、
前記受信したクエリを更新する指示に含まれる時刻精度を抽出し、
前記抽出した時刻精度を保持することを特徴とするストリームデータ処理計算機。
【請求項１７】
請求項１３に記載のストリームデータ処理計算機であって、
前記制御部は、
前記抽出した各時刻情報に基づいて、前記時刻精度を算出し、
前記算出した時刻精度を保持することを特徴とするストリームデータ処理計算機。
【請求項１８】
請求項１７に記載のストリームデータ処理計算機であって、
前記制御部は、
前記抽出した各時刻情報から、連続した所定数のストリームデータの各時刻情報の複数の組を抽出し、
前記時刻情報の各組のうち最も後に入力された前記ストリームデータの時刻情報と、最も先に入力された前記ストリームデータの時刻情報とを抽出し、
前記抽出した最も後に入力された前記ストリームデータの時刻情報から、前記最も先に入力されたストリームデータの時刻情報を減算することによって、前記各組の時刻差を算出し、
前記複数の組の時刻差の平均値を算出し、
前記平均値を前記記憶装置に保持することを特徴とするストリームデータ処理計算機。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２４
【補正方法】変更
【補正の内容】
【００２４】
本発明の代表的な一形態によると、複数のストリームデータの入力を受け、前記ストリームデータを処理するための基準時刻を用いて、前記ストリームデータを処理するストリームデータ処理計算機に、所定の時間の長さを示す時刻精度を保持する機能と、前記ストリームデータに含まれる時刻情報を抽出する機能と、前記抽出された時刻情報から前記基準時刻を減算した結果と、前記時刻精度とを比較する機能と、前記比較の結果、前記減算した結果が小さい場合、ストリームデータを記憶領域に保留する機能と、前記比較の結果、前記減算した結果が大きい場合、前記保留したストリームデータを同一の時刻情報を含むものとして処理する機能と、前記比較の結果、前記減算した結果が大きい場合、前記基準時刻に前記時刻精度を加算する機能と、前記加算された結果によって、前記基準時刻を更新させる機能と、を実現させる。
【国際調査報告】
2012059976.tif 000022
2012059976.tif 000023
2012059976.tif 000024
2012059976.tif 000025