(57)【要約】【課題】履歴型の情報蓄積検索システムにおいて、スキーマレスな検索による汎用性を維持しつつ、最新の情報を取得する機能を実現する。【解決手段】記憶装置１０７は、時刻属性を含む複数の「属性=値」の組の並び形式で表現される情報としてタプルを記憶する。履歴検索処理部１０４は、記憶装置１０７のタプル群から、入力される検索式の各々の属性が含まれ、かつ、その対応する値が検索式内の対応する値範囲条件に合致するタプル群を選択する。データ表１０８内のタプルを上から下に１つずつ調べながら、検索式の検索対象と照合し、合致する各々のタプルに対して、キー属性が含む各属性について該タプルに含まれる該属性に対応する「属性＝値」の組を抽出し、該並びをキーとして、最新値表１０６に対して、対応する値を該値で更新、または追加する。【選択図】図１
2011044083.tif 000002
【特許請求の範囲】
【請求項１】
蓄積検索対象の情報の単位であるタプルを入力とし、前記タプルを記憶する蓄積手順を有し、
前記蓄積手順は、
前記タプルは属性−値の組の並びを含み、
前記並び内の１の属性として時刻属性を含みもしくは前記並びに時刻属性と値の組を追加し、
前記タプルは結果として属性−値の組の並びが２以上の長さを有し、
前記タプルを既に記憶している情報に追加して記憶する手順であり、
さらに、
検索式を入力とし記憶しているタプル群から前記検索式に合致する対象を選択して検索結果のタプル群を得る履歴検索手順を有し、
前記履歴検索手順は、
前記検索式は属性−値範囲の組の並びを含み、
前記並びは１以上の長さを有し、
前記並び内の各々の属性について必ずその属性が記憶しているタプル内にも属性として含まれかつその対応する値が前記検索式内の対応する値範囲条件に合致するものを選択して検索結果として得る手順であり、
さらに
検索式を入力とし記憶しているタプル群から前記検索式に合致する対象を選択して検索結果のタプル群を得る最新値検索手順を有し、
前記最新値検索手順は、
前記検索式として記憶しているタプル群の中から検索操作を行う範囲を限定する情報である検索対象と１以上の長さを有する属性−値範囲の組の並びを含む条件式を情報として含み、
前記検索対象に含まれるタプルであってかつ前記条件式に含まれる属性−値範囲の組の並びの各々の属性について必ずその属性が記憶されているタプル内にも属性として含まれかつその対応する値が前記条件式内の対応する値範囲条件に合致するものであってかつ前記タプル内に含まれる特定の１以上の属性に対応する値が前記検索対象に含まれるタプル内であって同一の属性および値を有するタプル群に関して前記タプル内に含まれる時刻属性に対応する値が前記同一の属性および値を有するタプル群よりも前記タプル自身を除き新しいことを満たすものを選択して検索結果として得る手順である
ことを特徴とする情報蓄積検索方法。
【請求項２】
前記最新値検索手順は、
入力とする検索式に少なくとも１以上の属性の並びであるキー属性をさらに含み、
前記手順における特定の１以上の属性として前記キー属性を用いることを特徴とする情請求項１に記載の情報蓄積検索方法。
【請求項３】
前記蓄積手順は、蓄積しようとするタプルが含む属性の並びが既に記憶している他の１のタプルが含む属性の並びと同じかまたは異なり、
前記履歴検索手順は、前記蓄積されたタプルに対して履歴検索を行い、
前記最新値検索手順は、検索式を含む検索対象として範囲に含まれるタプル群における各々のタプルが含む属性の並びがタプル間で同じかまたは異なるような範囲を指定する前記検索対象を入力として検索結果を得ることを特徴とする請求項１または２に記載の情報蓄積検索方法。
【請求項４】
前記最新値検索手順は、
前記検索対象に含まれるタプルを選択する手順と、
特定の１以上の属性もしくはキー属性に対応する値を前記タプルから抽出する手順と、
前記抽出した値と前記タプルとで最新値表を更新する手順と、
前記最新値表が含むタプルから前記条件式に合致するものを照合して選択する手順とをさらに含むことを特徴とする請求項１から３のいずれかに記載の情報蓄積検索方法。
【請求項５】
蓄積検索対象の情報の単位であるタプルを入力とし、前記タプルを記憶する蓄積手段を備え、
前記蓄積手段は、
前記タプルは属性−値の組の並びを含み、
前記並び内の１の属性として時刻属性を含みもしくは前記並びに時刻属性と値の組を追加し、
前記タプルは結果として属性−値の組の並びが２以上の長さを有し、
前記タプルを既に記憶している情報に追加して記憶する手段であり、
さらに、
検索式を入力とし記憶しているタプル群から前記検索式に合致する対象を選択して検索結果のタプル群を得る履歴検索手段を備え、
前記履歴検索手段は、
前記検索式は属性−値範囲の組の並びを含み、
前記並びは１以上の長さを有し、
前記並び内の各々の属性について必ずその属性が記憶しているタプル内にも属性として含まれかつその対応する値が前記検索式内の対応する値範囲条件に合致するものを選択して検索結果として得る手段であり、
さらに、
検索式を入力とし記憶しているタプル群から前記検索式に合致する対象を選択して検索結果のタプル群を得る最新値検索手段を備え、
前記最新値検索手段は、
前記検索式として記憶しているタプル群の中から検索操作を行う範囲を限定する情報である検索対象と１以上の長さを有する属性−値範囲の組の並びを含む条件式を情報として含み、
前記検索対象に含まれるタプルであってかつ前記条件式に含まれる属性−値範囲の組の並びの各々の属性について必ずその属性が記憶されているタプル内にも属性として含まれかつその対応する値が前記条件式内の対応する値範囲条件に合致するものであってかつ前記タプル内に含まれる特定の１以上の属性に対応する値が前記検索対象に含まれるタプル内であって同一の属性および値を有するタプル群に関して前記タプル内に含まれる時刻属性に対応する値が前記同一の属性および値を有するタプル群よりも前記タプル自身を除き新しいことを満たすものを選択して検索結果として得る手段である
ことを特徴とする情報蓄積検索装置。
【請求項６】
前記最新値検索手段は、
入力とする検索式に少なくとも１以上の属性の並びであるキー属性をさらに含み、
前記手段における特定の１以上の属性として前記キー属性を用いることを特徴とする情請求項５に記載の報蓄積検索装置。
【請求項７】
前記蓄積手段は、蓄積しようとするタプルが含む属性の並びが既に記憶している他の１のタプルが含む属性の並びと同じかまたは異なり、
前記履歴検索手段は、前記蓄積されたタプルに対して履歴検索を行い、
前記最新値検索手段は、検索式を含む検索対象として範囲に含まれるタプル群における各々のタプルが含む属性の並びがタプル間で同じまたは異なるような範囲を指定する前記検索対象を入力として検索結果を得ることを特徴とする請求項５または６に記載の情報蓄積検索装置。
【請求項８】
前記最新値検索手段は、
前記検索対象に含まれるタプルを選択する手段と、
特定の１以上の属性もしくはキー属性に対応する値を前記タプルから抽出する手段と、
前記抽出した値と前記タプルとで最新値表を更新する手段と、
前記最新値表が含むタプルから前記条件式に合致するものを照合して選択する手段とをさらに備えることを特徴とする請求項５から７のいずれかに記載の情報蓄積検索装置。
【請求項９】
コンピュータに情報蓄積検索処理を行わせる情報蓄積検索プログラムであって、
蓄積検索対象の情報の単位であるタプルを入力とし、前記タプルを記憶する蓄積ステップを有し、
前記蓄積ステップは、
前記タプルは属性−値の組の並びを含み、
前記並び内の１の属性として時刻属性を含みもしくは前記並びに時刻属性と値の組を追加し、
前記タプルは結果として属性−値の組の並びが２以上の長さを有し、
前記タプルを既に記憶している情報に追加して記憶するステップであり、
さらに、
検索式を入力とし記憶しているタプル群から前記検索式に合致する対象を選択して検索結果のタプル群を得る履歴検索ステップを有し、
前記履歴検索ステップは、
前記検索式は属性−値範囲の組の並びを含み、
前記並びは１以上の長さを有し、
前記並び内の各々の属性について必ずその属性が記憶しているタプル内にも属性として含まれかつその対応する値が前記検索式内の対応する値範囲条件に合致するものを選択して検索結果として得るステップであり、
さらに
検索式を入力とし記憶しているタプル群から前記検索式に合致する対象を選択して検索結果のタプル群を得る最新値検索ステップを有し、
前記最新値検索ステップは、
前記検索式として記憶しているタプル群の中から検索操作を行う範囲を限定する情報である検索対象と１以上の長さを有する属性−値範囲の組の並びを含む条件式を情報として含み、
前記検索対象に含まれるタプルであってかつ前記条件式に含まれる属性−値範囲の組の並びの各々の属性について必ずその属性が記憶されているタプル内にも属性として含まれかつその対応する値が前記条件式内の対応する値範囲条件に合致するものであってかつ前記タプル内に含まれる特定の１以上の属性に対応する値が前記検索対象に含まれるタプル内であって同一の属性および値を有するタプル群に関して前記タプル内に含まれる時刻属性に対応する値が前記同一の属性および値を有するタプル群よりも前記タプル自身を除き新しいことを満たすものを選択して検索結果として得るステップである
ことを特徴とする情報蓄積検索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報蓄積検索方法、情報蓄積検索装置、およびプログラムに関する。
【背景技術】
【０００２】
ＲＤＢ（リレーショナルデータベース）は、情報蓄積検索システム（データベース）の１つである。一般にこのような基盤的なシステムの基本的役割は、アプリケーションによらない共通的な機能を、別途、汎用のシステムとして提供することにより、個々のアプリケーションの開発工数を削減するとともに、アプリケーションで共通的に利用できるようにすることにねらいがある。
【０００３】
実世界の事象を様々なセンサにより検知しあるいはアクチュエータにより操作し、該センサにより検知した情報を扱うアプリケーションの構築にあたっても、それら情報を蓄積・検索する上記同様の基盤的な情報蓄積検索システムを提供するメリットがある。このようなセンサ情報蓄積検索システムの１つに、ｕＴｕｐｌｅＳｐａｃｅがある（例えば、非特許文献１参照）。
【０００４】
ｕＴｕｐｌｅＳｐａｃｅの特徴の１つに、履歴型の情報蓄積検索システムであることが挙げられる。すなわち、センサからのデータ（ｕＴｕｐｌｅＳｐａｃｅの用語では、ＥｖｅｎｔＡｃｔｕａｌ（ＥＡ））は、システム内に履歴として全て蓄積される。また、検索要求（ｕＴｕｐｌｅＳｐａｃｅの用語では、ＥｖｅｎｔＦｏｒｍａｌ（ＥＦ））は、時刻や、値などの範囲条件を指定することで、単一、あるいは複数のセンサからの情報を、過去の履歴の中で条件に合致するもの全てを検索して取得できる。このように、センサ情報の過去の経緯を調べる操作をアプリケーションで容易に実現できることから、履歴型の情報蓄積検索システムにはメリットがある。
【０００５】
また、センサ情報蓄積検索システムの望まれる特性の１つに、スキーマレスな検索機能がある。ＲＤＢでは、一般に、個々のテーブルに記憶する情報の型定義をスキーマとして与え、単一テーブル内では、同じ型を持つ情報を蓄積する。
【０００６】
しかし、様々なセンサの情報を扱う際には、多種多様なセンサが多種多様な情報の組み合わせを生成することから、それらを蓄積して横通しで検索することが求められる。このため、スキーマ定義を必要とせず（スキーマレス）蓄積検索する機能が求められる。これによって該システムに、基盤的システム一般に求められる汎用性を備えることができる。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】「実世界データ共有機構uTupleSpaceにおける動的スケール化方式の評価」、荒川ほか著、電子情報通信学会  ＩＮ研究会報告、２００９年６月
【発明の概要】
【発明が解決しようとする課題】
【０００８】
履歴型のセンサ情報蓄積検索システムを用いて典型的アプリケーションを構築しようとすると、従来提供されていた検索機能では、アプリケーションを容易に構築できないという以下に指摘する課題があった。
【０００９】
説明のため、一例として、状態センサと通信機能とを具備する物品を管理するアプリケーションを考える。ここで、状態とは、例えば、物品の位置座標を、物品がその通信機能によって定期的に送信しているものとする。また、基本的管理機能の一例として、管理対象物品を一覧表として表示することを考える。その際、物品名や、物品番号、所有者等に加え、状態センサから取得した物品の状態を表に含めて表示するものとする。
【００１０】
該一覧表機能の実現にあたっては、表の各行、すなわち各対象物品に対して、その状態の最新の値を取得し、物品名等、その他の情報と並べて描画する必要がある。似たような機能は、他の多くのアプリケーションでも同様に必要となる。
【００１１】
状態の最新の値を取得する操作は、例えば、ｕＴｕｐｌｅＳｐａｃｅのＥＦを用いて直接実現することができないという問題があった。その理由は、履歴型のセンサ情報蓄積検索システムにおいては、その提供する基本操作により直接取得できるのは、全履歴、または時間範囲を指定した一部履歴であって、着目する対象物の最新の値ではないためである。
【００１２】
あるいは、該アプリケーションは、例えば、履歴型のセンサ情報蓄積検索システムを用いず、別途ＲＤＢ等を利用して、センサ情報を受け取り、その内容に従って、対応する物品の最新値を都度更新する手順をプログラムとして実現し、上記機能を実現することはできる。
【００１３】
しかし、この実現方法では、別の種類のアプリケーションにおいては、同様にＲＤＢ等を利用してセンサ情報を受け取り、その内容に従って、対応する物品の最新値を都度更新する手順を別のプログラムとして都度実現しなければならない。従って、この実現方法では、基盤的システムで一般に得られる基本的役割によるメリットを享受できないという問題があった。
【００１４】
さらに、上述した、ＲＤＢ等を利用してセンサ情報を受け取り、その内容に従って、対応する物品の最新値を都度更新する手順を、単純に独立したプログラムとして実現し、基盤的システムを構築するという方法が考えられる。
【００１５】
しかし、上記方法では、スキーマレスな検索機能が本来有する汎用性を損ねるという問題があった。その理由は、上記方法内の手順に含む「対応する物品」という概念が、アプリケーションごとに異なっているという点に起因する。
【００１６】
物品の識別子がどのような属性としてシステム内に蓄積されているか、あるいはそもそも、物品という概念とは何か、すなわち格納されている個々の情報のうち、何の情報が等しい際にそれら複数の情報を単一の物品に関する情報であると認識すべきかについては、アプリケーションの設計に深く依存する事柄であって、本来、汎用のシステムが何ら仮定することはできない。
【００１７】
従って、例えば、該方法の実現例の一として、「物品の識別子には『物品ＩＤ』という属性で示される値を用いるという識別方法とし、該識別方法に従って対応する物品の最新値を都度更新する」という実現方法を採ったとしても、そのような蓄積検索システムは、該システムが本来有すべき汎用性を十分に有しているとは言えず、汎用性を損ねるという問題があった。
【００１８】
また、情報蓄積検索システムにおいては、一般的に、検索の際に検索対象を限定する引数を受け取り、その対象範囲内で検索を行う機能が提供される。さらに、検索の際に条件文を受け取り、その条件に合致したものを検索する機能が提供される。これら２つの機能は、検索結果の範囲を指定するという意味において、同一種の意味論を提供すると理解することができる。
【００１９】
例えば、ＲＤＢのＳＱＬ言語では、ＳＥＬＥＣＴ文のＦＲＯＭ句で、検索対象のテーブルを指定することができ、これにより検索処理の範囲を定めることができる。さらに、ＳＥＬＥＣＴ文のＷＨＥＲＥ句では、条件文を指定することができ、これにより検索結果を限定することができる。これら２つの語句は、記述法や、指定できる対象こそ違いがあるが、そのＲＤＢが保持する全データのうち、検索を行う対象を限定して結果として返却するデータを絞り込むという意味においては、同一の機能性を有している。
【００２０】
しかし、履歴型のセンサ情報蓄積検索システムにおいて、物品の最新値を検索する機能を提供し、その際、検索を行う対象を限定するという意味の検索対象範囲を指定する機能を単純に提供するだけでは、次に指摘するように、アプリケーション実現のための必要な機能性を提供できないという課題があった。
【００２１】
すなわち、例えば、物品を管理する該アプリケーションにおいて、物品が持ち運ばれ移動し、異なる位置情報の履歴が次々と蓄積されたとする。ここで、該アプリケーションが「指定する位置範囲に現在ある物品の一覧」を取得する検索操作を実行するとする。該アプリケーションが、履歴型のセンサ情報蓄積検索システムで提供する物品の最新値を検索する機能を呼び出し、その際検索対象として、「状態センサの送信情報であって、かつ、指定する位置範囲内」を条件として含める。
【００２２】
該センサ情報蓄積検索システムは、保持する履歴の中で、該情報かつ該検索対象の位置範囲条件に合致するもののみを対象として検索を行い、対象データを取得する。そして、該取得データから物品の一覧を作成し、「指定する位置範囲に現在ある物品の一覧」の検索結果として、該アプリケーションに返却する実現方式にしたとする。
【００２３】
この場合、上記実現方式は、誤っており、正しい結果を返却できない。なぜならば、ある物品は、過去に該位置範囲内に存在した後に、現在、該位置範囲外に存在するかもしれず、そのような物品は、一覧として含めてはならない。しかし、該実現方式においては、このような物品も検索結果として含まれてしまい、誤りとなってしまう。
【００２４】
このように、検索走査を行う対象を限定するという意味の検索対象範囲を指定する機能は、必要な機能ではあるが、この機能だけでは、上記指摘したように、アプリケーション実現のための必要な機能性を提供できない。
【００２５】
本発明は、このような事情を考慮してなされたものであり、その目的は、履歴型の情報蓄積検索システムにおいて、スキーマレスな検索による汎用性を維持しつつ、最新の情報を取得する機能を実現することができる情報蓄積検索方法、情報蓄積検索装置、およびプログラムを提供することにある。
【課題を解決するための手段】
【００２６】
本発明は、蓄積検索対象の情報の単位であるタプルを入力とし、前記タプルを記憶する蓄積手順を有し、前記蓄積手順は、前記タプルは属性−値の組の並びを含み、前記並び内の１の属性として時刻属性を含みもしくは前記並びに時刻属性と値の組を追加し、前記タプルは結果として属性−値の組の並びが２以上の長さを有し、前記タプルを既に記憶している情報に追加して記憶する手順であり、さらに、検索式を入力とし記憶しているタプル群から前記検索式に合致する対象を選択して検索結果のタプル群を得る履歴検索手順を有し、前記履歴検索手順は、前記検索式は属性−値範囲の組の並びを含み、前記並びは１以上の長さを有し、前記並び内の各々の属性について必ずその属性が記憶しているタプル内にも属性として含まれかつその対応する値が前記検索式内の対応する値範囲条件に合致するものを選択して検索結果として得る手順であり、さらに検索式を入力とし記憶しているタプル群から前記検索式に合致する対象を選択して検索結果のタプル群を得る最新値検索手順を有し、前記最新値検索手順は、前記検索式として記憶しているタプル群の中から検索操作を行う範囲を限定する情報である検索対象と１以上の長さを有する属性−値範囲の組の並びを含む条件式を情報として含み、前記検索対象に含まれるタプルであってかつ前記条件式に含まれる属性−値範囲の組の並びの各々の属性について必ずその属性が記憶されているタプル内にも属性として含まれかつその対応する値が前記条件式内の対応する値範囲条件に合致するものであってかつ前記タプル内に含まれる特定の１以上の属性に対応する値が前記検索対象に含まれるタプル内であって同一の属性および値を有するタプル群に関して前記タプル内に含まれる時刻属性に対応する値が前記同一の属性および値を有するタプル群よりも前記タプル自身を除き新しいことを満たすものを選択して検索結果として得る手順であることを特徴とする。
【００２７】
本発明は、前記最新値検索手順は、入力とする検索式に少なくとも１以上の属性の並びであるキー属性をさらに含み、前記手順における特定の１以上の属性として前記キー属性を用いることを特徴とする。
【００２８】
本発明は、前記蓄積手順は、蓄積しようとするタプルが含む属性の並びが既に記憶している他の１のタプルが含む属性の並びと同じかまたは異なり、前記履歴検索手順は、前記蓄積されたタプルに対して履歴検索を行い、前記最新値検索手順は、検索式を含む検索対象として範囲に含まれるタプル群における各々のタプルが含む属性の並びがタプル間で同じかまたは異なるような範囲を指定する前記検索対象を入力として検索結果を得ることを特徴とする。
【００２９】
本発明は、前記最新値検索手順は、前記検索対象に含まれるタプルを選択する手順と、特定の１以上の属性もしくはキー属性に対応する値を前記タプルから抽出する手順と、前記抽出した値と前記タプルとで最新値表を更新する手順と、前記最新値表が含むタプルから前記条件式に合致するものを照合して選択する手順とをさらに含むことを特徴とする。
【００３０】
本発明は、蓄積検索対象の情報の単位であるタプルを入力とし、前記タプルを記憶する蓄積手段を備え、前記蓄積手段は、前記タプルは属性−値の組の並びを含み、前記並び内の１の属性として時刻属性を含みもしくは前記並びに時刻属性と値の組を追加し、前記タプルは結果として属性−値の組の並びが２以上の長さを有し、前記タプルを既に記憶している情報に追加して記憶する手段であり、さらに、検索式を入力とし記憶しているタプル群から前記検索式に合致する対象を選択して検索結果のタプル群を得る履歴検索手段を備え、前記履歴検索手段は、前記検索式は属性−値範囲の組の並びを含み、前記並びは１以上の長さを有し、前記並び内の各々の属性について必ずその属性が記憶しているタプル内にも属性として含まれかつその対応する値が前記検索式内の対応する値範囲条件に合致するものを選択して検索結果として得る手段であり、さらに、検索式を入力とし記憶しているタプル群から前記検索式に合致する対象を選択して検索結果のタプル群を得る最新値検索手段を備え、前記最新値検索手段は、前記検索式として記憶しているタプル群の中から検索操作を行う範囲を限定する情報である検索対象と１以上の長さを有する属性−値範囲の組の並びを含む条件式を情報として含み、前記検索対象に含まれるタプルであってかつ前記条件式に含まれる属性−値範囲の組の並びの各々の属性について必ずその属性が記憶されているタプル内にも属性として含まれかつその対応する値が前記条件式内の対応する値範囲条件に合致するものであってかつ前記タプル内に含まれる特定の１以上の属性に対応する値が前記検索対象に含まれるタプル内であって同一の属性および値を有するタプル群に関して前記タプル内に含まれる時刻属性に対応する値が前記同一の属性および値を有するタプル群よりも前記タプル自身を除き新しいことを満たすものを選択して検索結果として得る手段であることを特徴とする。
【００３１】
本発明は、前記最新値検索手段は、入力とする検索式に少なくとも１以上の属性の並びであるキー属性をさらに含み、前記手段における特定の１以上の属性として前記キー属性を用いることを特徴とする。
【００３２】
本発明は、前記蓄積手段は、蓄積しようとするタプルが含む属性の並びが既に記憶している他の１のタプルが含む属性の並びと同じかまたは異なり、前記履歴検索手段は、前記蓄積されたタプルに対して履歴検索を行い、前記最新値検索手段は、検索式を含む検索対象として範囲に含まれるタプル群における各々のタプルが含む属性の並びがタプル間で同じまたは異なるような範囲を指定する前記検索対象を入力として検索結果を得ることを特徴とする。
【００３３】
本発明は、前記最新値検索手段は、前記検索対象に含まれるタプルを選択する手段と、特定の１以上の属性もしくはキー属性に対応する値を前記タプルから抽出する手段と、前記抽出した値と前記タプルとで最新値表を更新する手段と、前記最新値表が含むタプルから前記条件式に合致するものを照合して選択する手段とをさらに備えることを特徴とする。
【００３４】
本発明は、コンピュータに情報蓄積検索処理を行わせる情報蓄積検索プログラムであって、蓄積検索対象の情報の単位であるタプルを入力とし、前記タプルを記憶する蓄積ステップを有し、前記蓄積ステップは、前記タプルは属性−値の組の並びを含み、前記並び内の１の属性として時刻属性を含みもしくは前記並びに時刻属性と値の組を追加し、前記タプルは結果として属性−値の組の並びが２以上の長さを有し、前記タプルを既に記憶している情報に追加して記憶するステップであり、さらに、検索式を入力とし記憶しているタプル群から前記検索式に合致する対象を選択して検索結果のタプル群を得る履歴検索ステップを有し、前記履歴検索ステップは、前記検索式は属性−値範囲の組の並びを含み、前記並びは１以上の長さを有し、前記並び内の各々の属性について必ずその属性が記憶しているタプル内にも属性として含まれかつその対応する値が前記検索式内の対応する値範囲条件に合致するものを選択して検索結果として得るステップであり、さらに検索式を入力とし記憶しているタプル群から前記検索式に合致する対象を選択して検索結果のタプル群を得る最新値検索ステップを有し、前記最新値検索ステップは、前記検索式として記憶しているタプル群の中から検索操作を行う範囲を限定する情報である検索対象と１以上の長さを有する属性−値範囲の組の並びを含む条件式を情報として含み、前記検索対象に含まれるタプルであってかつ前記条件式に含まれる属性−値範囲の組の並びの各々の属性について必ずその属性が記憶されているタプル内にも属性として含まれかつその対応する値が前記条件式内の対応する値範囲条件に合致するものであってかつ前記タプル内に含まれる特定の１以上の属性に対応する値が前記検索対象に含まれるタプル内であって同一の属性および値を有するタプル群に関して前記タプル内に含まれる時刻属性に対応する値が前記同一の属性および値を有するタプル群よりも前記タプル自身を除き新しいことを満たすものを選択して検索結果として得るステップであることを特徴とする。
【発明の効果】
【００３５】
この発明によれば、履歴型の情報蓄積検索システムにおいて、スキーマレスな検索による汎用性を維持しつつ、最新の情報を取得する機能を実現することができる。
【図面の簡単な説明】
【００３６】
【図１】本発明の実施形態による情報蓄積検索装置の構成を示すブロック図である。
【図２】本実施形態によるデータ表１０８の内容、および蓄積要求の処理の様子を示す概念図である。
【図３】本実施形態による、履歴検索の検索式を示す概念図である。
【図４】本実施形態による、最新値検索の検索式を示す概念図である。
【図５】本実施形態による、最新値検索の処理の手順を示すフローチャートである。
【図６】本実施形態による、最新値表の内容を示す概念図である。
【発明を実施するための形態】
【００３７】
以下、本発明の一実施形態を、図面を参照して説明する。
本発明は、履歴型の蓄積システムに記憶されているタプル群の中から入力された検索式に合致するタプルを選択する情報検索方法において、タプルは、時刻属性を含む複数の「属性=値」の組の並び形式で表現される情報として記憶されており、検索式は、記憶されているタプル群の中から検索操作を行う範囲を限定する情報である検索対象情報と１以上の「属性＝値範囲」の組からなる条件式とを含んでいる。タプルの検索に当たっては、記憶されているタプル群の中から、該検索対象情報で指定された検索対象に含まれ、かつ該条件式で指定された属性が全て含まれ、かつ該指定された属性に対応する値が該条件式に合致するタプル群を全て選択し、該選択されたタプル群のうち、時刻属性を除いて「属性＝値」の組の並びが全て同一のタプルが複数存在する場合には、該複数のタプル群の中から、時刻属性に基づき最新のタプルを選択する。
【００３８】
図１は、本発明の実施形態による情報蓄積検索装置の構成を示すブロック図である。図において、情報蓄積検索装置１００は、要求受付部１０１、応答送出部１０２、蓄積処理部１０３、履歴検索処理部１０４、最新値検索処理部１０５、および記憶装置１０７を備えている。最新値検索処理部１０５は、最新値表１０６を保持する。記憶装置１０７は、データ表１０８を保持する。
【００３９】
要求受付部１０１は、外部からの要求１１０を受け取り、要求内容に応じて、蓄積処理部１０３、履歴検索処理部１０４、または最新値検索処理部１０５に処理を指示する。応答送出部１０２は、蓄積処理部１０３、履歴検索処理部１０４、または最新値検索処理部１０５の処理結果を必要に応じて応答１１１として外部に送出する。蓄積処理部１０３、履歴検索処理部１０４、または最新値検索処理部１０５は、必要に応じて記憶装置１０７に読み書きを行う。
【００４０】
図２は、本実施形態によるデータ表１０８の内容、および蓄積要求の処理の様子を示す概念図である。タプルは、「属性１＝値１，属性２＝値２，属性３＝値３，……」のように「属性＝値」の組の並び形式で表現される情報である。該並びの長さには、記憶容量等による制約を除いては必ずしも上限を設ける必要はない（多次元）。
【００４１】
データ表１０８は、タプルの並びを順序よく保持する。この際、各タプル間では、属性が必ずしも一致していなくてもよい。値の型は、数値、文字列等の一般的なデータ型であれば良く、範囲指定の都合から大小関係が定まることが望ましいが、それに限るものではない。また、同一の属性に対しては、同一の値の型であることが望ましい。
【００４２】
要求受付部１０１は、蓄積要求としてタプルＡ２０１を受け取る。蓄積処理部１０３は、該タプルＡ２０１に時刻属性が含まれていない場合には、「時刻＝（現在時刻）」の情報を内部に追加する一方、時刻属性が含まれていた場合には、その値を現在時刻で置き換えて、該タプルＡ２０１をデータ表１０８の最後部に追加２１０する。
【００４３】
上述した蓄積処理により、データ表１０８内の全てのタプルには、時刻属性が含まれ、かつ、上から下にいくにつれ、新しい時刻となることが保証される。
【００４４】
図３は、本実施形態による、履歴検索の検索式を示す概念図である。
履歴検索要求として検索式Ａ３０１を要求受付部１０１が受け取る。検索式Ａ３０１は、「属性＝値範囲」の組の並びを含む。履歴検索処理部１０４は、データ表１０８内のタプルを上から下に１つずつ調べながら、検索式Ａ３０１と照合し、合致するものの集合を検索結果として取得する。
【００４５】
上記照合は、以下の規則で行う。
まず、検索式内の各「属性＝値範囲」の組について、該属性が、データ表１０８内の照合中のタプルにも必ず含まれていなくてはならない。次に、該照合中のタプルに含まれる該属性に対応する値が、該検索式内の該値範囲と比較して、その範囲内に含まれていなくてはならない。なお、該値と該値範囲のデータ型とが一致しない場合には、照合不成立である。また、該値範囲は、始値〜終値の組として表現されるか、もしくは単一の値であってもよい。
【００４６】
以上、２つの条件が双方とも、該検索式内の全ての該組について成立するときのみ、該照合中のタプルが合致すると判定する。該検索結果を応答送出部１０２が応答１１１として返す。
【００４７】
なお、本実施形態で示した蓄積および履歴検索においては、ＲＤＢにおけるスキーマに該当する型定義は必要としない（スキーマレス）。蓄積の際には、任意の属性の並びをタプルとして投入でき、履歴検索の際には、最低限含まれていて欲しい属性のみを検索式として指定することができ、タプルとして検索式に含まれないその他の情報が盛り込まれていたとしても問題なく検索式に合致した検索結果を得ることができる。
【００４８】
本発明においては、ＲＤＢにおけるテーブルの概念、もしくはスキーマの概念を含む蓄積検索システムであっても何ら問題なく実施することができる。一方、このため、本実施形態においては、ＲＤＢにおけるテーブルの概念、およびスキーマの概念は、必ずしも必要でなく、全ての種類のデータを単一のデータ表内に保持でき、全ての種類のデータを横通しで履歴検索することが可能である。
【００４９】
なお、ある種類のデータを全て取得したいといった場合には、その種類を特徴づける属性がタプル内に有すると解することができるので、検索式として「該属性＝−∞〜＋∞」なる範囲を指定することで目的を達し得る。
【００５０】
図４は、本実施形態による、最新値検索の検索式を示す概念図である。また、図５は、本実施形態による、最新値検索の処理の手順を示すフローチャートである。
【００５１】
要求受付部１０１は、最新値検索要求として検索式Ｂ４０１を受け取る（ステップＳ１）。検索式Ｂ４０１は、図４に示すように、検索対象４０２とキー属性４０３と条件式４０４とを含む。検索対象４０２は「属性＝値範囲」の組の並びを含み、キー属性４０３は、「属性」の並びを含み、条件式４０４は、「属性＝値範囲」の組の並びを含む。
【００５２】
最新値検索処理部１０５は、データ表１０８内のタプルのうち、検索式Ｂ４０１と合致するものの集合を、以下に示す手順で求め、検索結果として得る。まず、最新値検索処理部１０５は、最新値表１０６の内容を全て削除する初期化を行ってもよい（ステップＳ２）。次に、最新値検索処理部１０５は、データ表１０８内のタプルを上から下に１つずつ調べながら（ステップＳ３）、検索対象４０２と照合し（ステップＳ４）、合致する各々のタプルのみに対して、以下の手順を行う。なお、該照合の規則は、履歴検索要求の際に検索式を照合する際の該規則と同一のものを用いる。
【００５３】
次に、最新値検索処理部１０５は、該合致する各々のタプルに対して、キー属性が含む各属性について該タプルに含まれる該属性に対応する「属性＝値」の組を抽出し（ステップＳ５）、その並びとして得る。なお、該抽出すべき組が該タプルに存在しなかったときは、処理エラーとなる。要求の際、該検索対象を適切に指定し、必ず該タプルが存在する条件とすれば、該エラーを回避できる。
【００５４】
次に、該並びをキーとして、対応する値として該タプル全体を含み、最新値表１０６を更新する（ステップＳ６）。該最新値表１０６が既に該キーを要素として含めば、対応する値を該値で更新し、含まなければ、該最新値表１０６に追加する。ここで、図６は、本実施形態による、最新値表の内容を示す概念図である。最新値表１０６は、キーの列６０１と値の列６０２とを含む。以上を照合成功した全てのタプルについて繰り返す（ステップＳ３〜Ｓ６）。
【００５５】
このようにして、最終的に得られた最新値表１０６は、データ表１０８内のタプルが上から下にいくにつれて新しい時刻となるよう、順序よく記憶されていることから、キー属性４０３によって区別される、それぞれの対象物に対して、古い値が常に新しい値によって最新値表１０６内で上書きされ、結果として、それぞれの対象物に対する最新の値が得られる。
【００５６】
このようにして、最終的に得られた最新値表１０６のうち、全ての行の値の列、すなわちタプルについて、条件式４０４と照合し、合致するタプルのみを選択する（ステップＳ７）。なお、該照合の規則は、履歴検索要求の際に検索式を照合する際の該規則と同一のものを用いる。該選択結果が、該検索結果となる。応答送出部１０２は、該検索結果を応答として返す（ステップＳ８）。
【００５７】
本実施形態では、検索対象４０２との照合は、検索捜査を行う対象を限定するという意味の検索対象範囲を指定するものとして機能する。一方、条件式４０４との照合は、該条件の範囲を超えてデータ表１０８内のタプルに対して処理を行い、最終的な結果を返すかどうかの時点で該条件との照合を行うものとして機能する。
【００５８】
このように、２つの異なる意味を持つ範囲指定機能を併せて提供し、それを上記説明した手順により実現する装置としたことで、従来ではなし得なかった広汎なアプリケーション実現のための必要な機能性を提供することを可能とした。
【００５９】
なお、本実施形態においては、最新値検索要求を受け取った後に、最新値検索処理部１０５が、最新値表１０６を更新することとした。本発明の範囲は、これに限るものではなく、該要求を受け取る以前に、最新値検索処理部１０５が前もって、該更新処理を行っても良い。
【００６０】
最新値検索要求を受け取った後に、最新値検索処理部１０５が最新値表１０６の更新を始めるに先立って、最新値表１０６の内容を初期化（図５のステップＳ２）することは自然である。但し、データ表１０８内の蓄積済みタプルに更新も削除も行われておらず、該最新値検索要求が前回の該要求と同一内容であれば、最新値表１０６の内容の初期化を省略でき、その場合も得られる結果は同一である。特に、最新値検索処理部１０５が該要求を受け取る以前に、前もって該更新処理を行う際には、最新値表１０６の内容の初期化を必要最小限に留めることは処理効率上の利点がある。
【００６１】
なお、本実施形態においては、最新値検索要求にキー属性を含めることとした。これにより該装置の汎用性を高めることができる。本発明の範囲は、これに限るものではなく、該情報蓄積検索装置１００が事前にキー属性相当の情報を決め打ちしておき、最新値検索要求としてキー属性を含めない要求を受け取り、代わりに該決め打ちした情報を使うことでキー属性をも含めた要求として受け取ったかのように、以降の処理を実行することもできる。例えば、属性として「識別子」、「センサＩＤ」、「物品番号」、「氏名」などが該決め打ちキー属性の候補として挙げられる。また、該要求の含む検索対象４０２が含む属性から上記属性例を探して、以て該決め打ちキー属性の候補とすることも可能である。
【００６２】
本発明によれば、履歴型のセンサ情報蓄積検索システムの利点であるセンサ情報の過去の経緯を調べる操作をアプリケーションで容易に実現できることを達成しつつ、センサ情報を扱う典型的アプリケーションで多く用いられる状態の最新の値を取得する操作を提供しつつ、アプリケーションごとに異なる「物品を同定する概念」を任意に指定することができ、スキーマレスな検索機能が本来有する汎用性を維持することができるとともに、検索走査を行う対象を限定するという意味の検索対象に加え、最新の値に応じて検索結果を絞り込む条件式を指定することができ、アプリケーションに必要な機能性を提供しつつ、アプリケーションによらない共通的な機能を別途汎用のシステムとして提供することによる基盤的なシステムの基本的役割を充足することができる。
【００６３】
なお、上述した実施形態においては、情報蓄積検索装置の蓄積処理部１０３、履歴検索処理部１０４、最新値検索処理部１０５の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものであってもよい。また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【００６４】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Dynamic Random Access Memory））のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【００６５】
１００  情報蓄積検索装置
１０１  要求受付部
１０２  応答送出部
１０３  蓄積処理部
１０４  履歴検索処理部
１０５  最新値検索処理部
１０６  最新値表
１０７  記憶装置
１０８  データ表
２０１  タプル
３０２  検索式Ａ
４０１  検索式Ｂ
４０２  検索対象
４０３  キー属性
４０４  条件式
６０１  キーの列
６０２  値の列
【図１】
2011044083.tif 000003
【図２】
2011044083.tif 000004
【図３】
2011044083.tif 000005
【図４】
2011044083.tif 000006
【図５】
2011044083.tif 000007
【図６】
2011044083.tif 000008