JP2016035684A - 情報管理システム、情報管理方法、及び情報管理プログラム - Google Patents

情報管理システム、情報管理方法、及び情報管理プログラム Download PDF

Info

Publication number
JP2016035684A
JP2016035684A JP2014158621A JP2014158621A JP2016035684A JP 2016035684 A JP2016035684 A JP 2016035684A JP 2014158621 A JP2014158621 A JP 2014158621A JP 2014158621 A JP2014158621 A JP 2014158621A JP 2016035684 A JP2016035684 A JP 2016035684A
Authority
JP
Japan
Prior art keywords
attribute
attributes
pattern
information management
combination
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2014158621A
Other languages
English (en)
Inventor
川原 亮一
Ryoichi Kawahara
亮一 川原
斎藤 洋
Hiroshi Saito
洋 斎藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2014158621A priority Critical patent/JP2016035684A/ja
Publication of JP2016035684A publication Critical patent/JP2016035684A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】オブジェクトが有する様々な属性に基づくオブジェクトの特定を可能とすること。【解決手段】情報管理装置は、登録要求に係るオブジェクトの複数の属性の値から、一部の属性に関する組み合わせを示すパタンごとに、当該パタンに該当する属性の値の組み合わせを抽出し、当該組み合わせをオブジェクトの識別情報に対応付けて、複数のデータ構造の中で当該パタンに対応するデータ構造に登録し、複数の属性ごとに条件が指定された検索要求から、前記パタンごとに、当該パタンに該当する属性に対する条件の組み合わせを抽出し、当該パタンに対応するデータ構造から、当該組み合わせに含まれる各条件を満たす前記属性の値の組み合わせに対応付けられている識別情報を検索し、前記パタンごとの検索結果の全てに含まれている識別情報を、検索要求の送信元に返信し、前記条件に関する確率分布情報を用いて、前記各パタンを生成する。【選択図】図3

Description

本発明は、情報管理システム、情報管理方法、及び情報管理プログラムに関する。
従来の情報通信ネットワークは、一意に特定するアドレスにより通信対象を指定している。例えば、固定電話では電話番号、インターネットではIP(Internet Protocol)アドレスがそれにあたり、これらはネットワーク上の位置にも対応しているため、その位置に接続することで通信が可能となる。
一方、携帯電話の電話番号やインターネットでのURL(Uniform Resource Locator)は、より上位の論理アドレス又は名前と解釈できる。つまり、これらは通信相手や情報の論理位置を示すが、ネットワーク上の接続位置は示していないため、前者ではLR(ロケーションレジスタ)、後者ではDNS(ドメインネームサーバ)により、ネットワーク上の接続位置を示すアドレスへの変換(いわゆる名前解決)が必要となる。後者の場合であれば、URLから変換後のIPアドレスを用い、接続する(例えば、非特許文献1、非特許文献2参照)。
弓場英明監修、未来ねっと技術シリーズ ユビキタスネットワーク技術、電気通信協会、2003. "インターネット10分講座:DNS"、[online]、[平成26年7月16日検索]、インターネット<http://www.nic.ad.jp/ja/newsletter/No22/080.html> A. Guttman, "R-Trees: A Dynamic Index Structure for Spatial Searching", ACM SIGMOD 1984 L. Arge et al., "The Priority R-tree: a practically efficient and worst-case optimal R-tree", SIGMOD 2004 "kd木_kd木の概要"、[online]、[平成26年7月28日検索]、インターネット<http://www.weblio.jp/wkpja/content/kd木_kd木の概要 J. Gao and P. Steenkiste, "An Adaptive Protocol for Efficient Support of Range Queries in DHT-based Systems", ICNP 2004 A. R. Bharambe et al., "Mercury: Supporting Scalable Multi-¬Attribute Range Queries", ACM SIGCOMM 2004 C. Bohm et al., "Searching in high-dimensional spaces: Index structures for improving the performance of multimedia databases", ACM Computing Surveys, 2001 J. Gao and P. Steenkiste. "Design and evaluation of a distributed scalable content discovery system. IEEE J.Sel. A. Commun.", 22(1):54-66, Jan. 2004
ところで、今後、非常に多数のオブジェクトがネットワークに接続されるようになったときに、個々のオブジェクトに一意に付与された名前をユーザが把握した上で通信を行う代わりに、そのオブジェクトの状態等を特定することで、当該オブジェクトとの通信が可能となれば便利である。
例えば、或る地域で或る時間帯に温度が20度以上を示したセンサと通信したい、あるいは、台風の進路予想図上にある降雨・風速センサと通信し,それらセンサの設定を変更する(測定周期を短くして詳細な測定ができるようにする)といった通信条件を指定することができれば、必要な情報を効率良く収集することができる。
しかしながら、既存のシステムでは、個々のオブジェクトに一意に付与された名前をユーザが把握した上で、その名前を指定して通信を行う。例えば、携帯電話であれば電話番号をユーザが指定することで通信を行う。そのため、上述のような利用形態を実現することは困難である。
本発明は、上記の点に鑑みてなされたものであって、オブジェクトが有する様々な属性に基づくオブジェクトの特定を可能とすることを目的とする。
そこで上記課題を解決するため、複数の属性を有する1以上のオブジェクトと、前記オブジェクトにネットワークを介して接続される情報管理装置とを含む情報管理システムにおいて、前記情報管理装置は、いずれかの前記オブジェクトを一意に特定する識別情報と、当該オブジェクトが有する複数の属性の値の集合との登録要求を受信する第一の受信部と、それぞれが前記複数の属性のうちの一部の属性に関して順序付けられた組み合わせを示すパタンごとに、前記登録要求に含まれている複数の属性の値の集合から当該パタンに該当する属性の値の組み合わせを抽出し、抽出された組み合わせを前記識別情報に対応付けて、複数のツリー型のデータ構造の中で、当該パタンに対応するデータ構造に登録する登録部と、前記複数の属性のうちの全部又は一部の属性ごとに当該属性に対する条件が指定された検索要求を受信する第二の受信部と、前記複数のパタンのうちの全部又は一部のパタンのそれぞれごとに、前記検索要求に含まれている条件から、当該パタンに該当する属性に対する条件の組み合わせを抽出し、当該パタンに対応する前記データ構造から、当該組み合わせに含まれる各条件を満たす前記属性の値の組み合わせに対応付けられている前記識別情報を検索し、前記パタンごとの検索結果の全てに含まれている前記識別情報を、前記検索要求の送信元に返信する検索部と、前記条件に関する確率分布情報を用いて、前記各パタンを生成する生成部と、を有する。
オブジェクトが有する様々な属性に基づくオブジェクトの特定を可能とすることができる。
第一の実施の形態における情報管理システムの構成例を示す図である。 第一の実施の形態における情報管理装置のハードウェア構成例を示す図である。 第一の実施の形態における情報管理装置の機能構成例を示す図である。 オブジェクトの登録処理の処理手順の一例を説明するためのフローチャートである。 オブジェクトの検索処理の処理手順の一例を説明するためのフローチャートである。
以下、図面に基づいて本発明の実施の形態を説明する。図1は、第一の実施の形態における情報管理システムの構成例を示す図である。図1に示される情報管理システム1おいて、1以上のオブジェクト20と情報管理装置10とは、情報通信用のネットワークN1を介して通信可能に接続される。本実施の形態において、ネットワークN1は、例えば、IPネットワークである。但し、IPアドレス以外の論理アドレスを用いた他のネットワークであってもよい。つまり、論理アドレスがネットワーク上の位置を指し、かつ、その論理アドレスを指定すれば所望の宛先までデータやパケットを転送することが可能であれば他のネットワークであってもよい。IPネットワーク以外が用いられる場合、以下の説明における「IPアドレス」は、当該ネットワークにおいて利用される論理アドレスに置き換えられてもよい。
オブジェクト20は、通信機能を有する装置である。オブジェクト20の一例として、スマートフォン、フィーチャーフォン、タブレット端末、PC(Personal Computer)、家電製品、車載機、センサ等が挙げられる。各オブジェクト20は、ネットワークN1において当該オブジェクト20を一意に特定可能な識別情報(例えば、IPアドレス)を有する。また、各オブジェクト20は、例えば、時刻情報、位置情報、色、センサの検出値等の複数の属性に対する値(例えば、時刻=10:00、位置=緯度XXX,経度YYY、色=赤、気温=20度等)を有する。以下、複数の属性に関する情報を、「多属性情報」という。なお、オブジェクト20の多属性情報には、当該オブジェクト20の所有者の属性の属性値等、当該オブジェクト20に関係する情報が含まれてもよい。
情報管理装置10は、各オブジェクト20のIPアドレスと多属性情報との対応情報を記憶する1以上のコンピュータである。情報管理装置10は、多属性情報に関する条件を含む検索要求(クエリ)に応じ、当該条件を満たすオブジェクト20を検索し、当該オブジェクト20のIPアドレスを返信する。
図2は、第一の実施の形態における情報管理装置10のハードウェア構成例を示す図である。図2の情報管理装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、及びインタフェース装置105を有する。
情報管理装置10での処理を実現するプログラムは、CD−ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従って情報管理装置10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。
図3は、第一の実施の形態における情報管理装置10の機能構成例を示す図である。図3において、情報管理装置10は、登録要求受付部11、オブジェクト登録部12、K次元ベクトル生成部13、名前解決要求受付部14、及びオブジェクト検索部15等を有する。これら各部は、情報管理装置10にインストールされた1以上のプログラムが、CPU104に実行させる処理により実現される。情報管理装置10は、また、K次元ベクトル記憶部16及びK次元データベース17を利用する。K次元ベクトル記憶部16及びK次元データベース17は、補助記憶装置102、又は情報管理装置10にネットワークを介して接続される記憶装置等を用いて実現可能である。
登録要求受付部11は、オブジェクト20の登録要求を受信する。当該登録要求には、オブジェクト20が有する属性の属性値の集合(配列)である属性ベクトルvが含まれる。オブジェクト登録部12は、オブジェクト20の登録要求に含まれている属性ベクトルvに含まれている属性値の集合から、S個のK次元ベクトルに基づいて、S通りの属性値の順序付けられた組み合わせ(配列)を抽出する。各K次元ベクトルは、属性ベクトルvにその値が含まれている属性のうちの一部の組み合わせを示すパタンである。K次元ベクトルは、K次元ベクトル生成部13によって生成され、K次元ベクトル記憶部16に記憶されている。オブジェクト登録部12は、抽出されたS通りの属性の属性値の組み合わせごとに、オブジェクト20の登録要求に含まれているIPアドレス(以下、「IP#A」と記す。)との対応情報を、K次元データベース17に登録する。
名前解決要求受付部14は、オブジェクト20の検索要求(名前解決要求)を受信する。当該検索要求には、オブジェクト20の属性ごとに条件が指定されている。当該条件の配列を、クエリベクトルqという。オブジェクト検索部15は、クエリベクトルqを満たす属性値の組み合わせを、K次元データベース17から検索し、検索された組み合わせに対応付けられているIP#Aを、検索要求元に返信する。
以下、オブジェクト20及び情報管理装置10が実行する処理手順について説明する。図4は、オブジェクトの登録処理の処理手順の一例を説明するためのフローチャートである。
オブジェクト20は、例えば、ネットワークN1に接続されたことを検知すると、当該オブジェクト20の多属性情報に基づいて、属性ベクトルvを生成する(S101)。ここで、当該多属性情報を構成する属性iが、i=1からdまで存在し、属性iの属性値の取りうる範囲が、[0,m_i]であるとする。属性iに対する属性値がx_iであるとすると、オブジェクト20は、属性ベクトルvを、v=[x_1,x_2,…,x_i,…,x_d]として生成する。すなわち、属性ベクトルは、オブジェクト20が有する属性値の集合又は組み合わせである。
続いて、オブジェクト20は、生成された属性ベクトルvと、当該オブジェクト20のIP#Aとを含むパケットを、オブジェクト20のオブジェクト登録要求パケットとして情報管理装置10の登録要求受付部11に送信する(S102)。登録要求受付部11は、オブジェクト20のオブジェクト登録要求パケットを受信すると、当該属性ベクトルv及び当該IP#Aを、当該オブジェクト20のオブジェクト登録要求パケットから読み出し、当該属性ベクトルv及び当該IP#Aを、オブジェクト登録部12へ送信する。
続いて、オブジェクト登録部12は、K次元ベクトル記憶部16に記憶されているS個のK次元ベクトルに基づいて、当該属性ベクトルvから、S通りの属性値の組み合わせを抽出する(S103)。
K次元ベクトルは、予め、K次元ベクトル生成部13によって生成され、K次元ベクトル記憶部16に記憶されている。又は、K次元ベクトル生成部13は、ステップS103のタイミングでK次元ベクトルを生成してもよい。
K次元ベクトルは、要素数をK(K<d)とし、要素の値を属性の順番(クエリベクトルにおける順番。但し、要素の値は属性の識別子でもよい)とする、1以上の属性の組み合わせ順を示すパタン(配列)の一例である。以下、K次元ベクトルを、perm_s^K(s=1,…,S)と記す。K次元ベクトル生成部13は、クエリベクトルqに関する確率分布情報を用いてperm_s^Kを生成する。この際、各perm_s^Kが、相互に同じパタンを示さないようにK次元ベクトルが生成される。クエリベクトルqに関する確率分布情報の一例として、或るクエリ(検索要求)において属性iに条件が指定される確率p_i(i=1,…,d)、又はクエリで指定される属性iの値と属性jの値との相関係数r(i,j)等が挙げられる。これらを用いて、クエリで同時に指定されやすい属性を集め、集められた属性が同じperm_s^Kに含まれるようにする。
オブジェクト登録部12は、上記perm_s^Kで指定された組み合わせに含まれる属性に係る属性値を、属性ベクトルvの要素(属性値)から抽出する。この際、抽出された属性値の並び順は、perm_s^Kが示す属性の並び順に従う。すなわち、perm_s^Kは、属性の組み合わせに加え、当該組み合わせに含まれる属性の順番をも規定する。perm_s^Kに基づく、属性ベクトルvからの属性値の抽出操作を、perm_s^K(v)として記す。例えば、d=5であり、perm_s^K=[3,4]である場合、perm_s^K(v)=[x_3,x_4]となる。オブジェクト登録部12は、属性ベクトルvからの属性値の抽出を、S個のperm_s^Kに関して実施する。
続いて、オブジェクト登録部12は、S個の抽出結果(perm_s^K(v))を、K次元データベース17に登録する(S104)。K次元データベース17には、例えば、R−treeやkd−treeと呼ばれる多次元データに対するツリー型のS個のデータ構造が用意されており、s番目(s=1,…,S)のK次元ベクトルによる抽出結果とIP#Aとの対応情報は、s番目のツリー型のデータ構造(以下、「tree_s」という。)にエントリされる。すなわち、perm_s^K(v)⇔IP#Aの対応情報が、tree_sにエントリされる。なお、IP#A以外にオブジェクト20を一意に特定可能な識別情報が、IP#Aの代わりに又はIP#Aと共に、登録されてもよい。
次に、オブジェクト20の検索時(名前解決時)の処理手順について説明する。図5は、オブジェクトの検索処理の処理手順の一例を説明するためのフローチャートである。
ステップS201において、情報管理装置10の名前解決要求受付部14は、検索対象とするオブジェクト20の属性ごとに条件が指定されたオブジェクト検索要求パケットを受信する。オブジェクト検索要求パケットは、いずれかのオブジェクト20から送信されてもよいし、非図示の装置から送信されてもよい。なお、条件は、例えば、属性iが気温とした場合、気温の値x_iが、「20度≦x_i≦25度」というような、属性値に対するレンジ指定を含む情報である。
具体的には、属性iに対するレンジ指定が「xlow_i≦x_i≦xhigh_i」である場合、以下のようなクエリベクトルqが検索要求元(例えば、いずれかのオブジェクト20)で生成され、クエリベクトルqを含むパケットが、オブジェクト検索要求パケットとされる。
q=[xlow_1〜xhigh_1,xlow_2〜xhigh_2,...,xlow_i〜xhigh_i,…,xlow_d〜xhigh_d]
なお、或る属性iに対して条件が指定されない場合、当該属性iのレンジは、0≦x_i≦m_iとされ、クエリベクトルqは、以下のように生成されてもよい。
q=[xlow_1〜xhigh_1,xlow_2〜xhigh_2,...,0〜m_i,…,xlow_d〜xhigh_d]
また、或る属性iに対して特定の値が条件として指定される場合、xlow_iとxhigh_iとには、当該特定の値(すなわち、同じ値)が指定されてもよいし、xlow_i又はxhigh_iのみが指定されてもよい。
名前解決要求受付部14は、受信されたオブジェクト検索要求パケットからクエリベクトルqを読み出し、当該クエリベクトルqを、オブジェクト検索部15へ送信する。
続いて、オブジェクト検索部15は、K次元ベクトル記憶部16に記憶されているS個のK次元ベクトルに基づいて、クエリベクトルqから、S通りの条件の組み合わせを抽出する(S202)。すなわち、オブジェクト検索部15は、K次元ベクトル記憶部16に記憶されているperm_s^K(s=1,…,S)を用いて、perm_s^K(q)を生成する。例えば、perm_s^K=[3,4]の場合、perm_s^K(q)=[xlow_3〜xhigh_3,xlow_4〜xhigh_4]となる。
続いて、オブジェクト検索部15は、S個のperm_s^K(q)の中から、S'(≦S)個のperm_s^K(q)を選択し、選択されたperm_s^K(q)に基づいて、K次元データベース17を検索する(S203)。具体的には、選択されたperm_s^K(q)に対応するtree_sが検索され、当該tree_sからperm_s^K(q)の条件を満たす属性値の組み合わせ(配列)及び当該組み合わせに対応付けられているIP#Aが抽出される。オブジェクト検索部15は、S'個のperm_s^K(q)及びtree_sに関してこのような検索処理を実行する。その結果、S'通りの検索結果が得られる。オブジェクト検索部15は、S'通りの全ての検索結果に含まれているIP#Aを、クエリベクトルqを満たすIP#Aとして、検索要求元(例えば、いずれかのオブジェクト20)に返信する。IP#Aを受信した検索要求元は、例えば、当該IP#Aを用いて、当該IP#Aに係るオブジェクト20と通信することができる。なお、IP#A以外にオブジェクト20を一意に特定可能な識別情報が、IP#Aの代わりに又はIP#Aと共に、検索されてもよい。
なお、R−treeに関しては、非特許文献3及び非特許文献4に詳しい。また、kd−treeに関しては、非特許文献5に詳しい。
また、複数の属性に関して、レンジを指定することで条件にマッチするオブジェクトを探索する方法として、分散ハッシュテーブル(DHT)を用いて、検索を行う方法についての提案も有る(例えば、非特許文献6、非特許文献7参照)。ここで、非特許文献6では、属性ごとにRST(range search tree)を構成しており、クエリでレンジ指定のあった属性のうち、いずれかの属性に対するRST上を検索する。その際、RST上の各ノードが担当する範囲がクエリのレンジ(の一部あるいは全部)を含むようなノードのIDをハッシュ関数により計算し、当該ノードにアクセスすることでオブジェクトの検索を行う。しかしながら、属性の数(=次元数)が大きくなると、このようなツリー型のデータ構造を用いた検索では、全ノード探索に近づく問題(次元の呪いとよばれる)が指摘されている(例えば、非特許文献8参照)。すなわち、非特許文献6の方法では、一つの属性でRST上を検索し、該当するノード内に登録されているオブジェクトを探索する。複数属性の場合は、非特許文献9のように、或る一つの属性で該当するノードにアクセスし、当該ノード内に登録されているオブジェクトに対して、残りの属性についてもクエリ条件を満たすかをチェックする方法がある。この場合、一つの属性だけでオブジェクト候補を絞り込めない場合には、多数のオブジェクトの残りの属性を調べる必要が生じる可能性がある。
本実施の形態では、このような問題に対処するため、いくつかの低次元(K次元)ツリーにオブジェクト20をマッピングし、その低次元ツリー上で検索が行われる。また、マッピングを行う際に、クエリに関する確率分布情報を用いることで、クエリで同時に指定されやすい属性が、なるべく同じツリーにマッピングされるようにしている。そうすることで、低次元ツリー上で検索が行われるだけでも所望のオブジェクト20を効率的に絞り込んで計算コストを削減しつつ、所望のオブジェクト20以外のオブジェクト20が誤検出される確率を小さく抑えることを可能としている。
上述したように、第一の実施の形態によれば、オブジェクト20が有する様々な属性(物理空間上の位置、色、時刻等)に対する条件指定を行うことで、条件にマッチするオブジェクト20を特定し、該オブジェクト20を一意に特定可能な情報(例えば、IPアドレス)を特定する名前解決が可能となる。
次に、第二の実施の形態について説明する。第二の実施の形態では第一の実施の形態と異なる点について説明する。ここで特に言及されない点については、第一の実施の形態と同様でもよい。
第二の実施の形態では、図4のステップS103におけるperm_s^Kの生成方法として、或るクエリにおいて属性iに条件が指定される確率p_i(i=1,…,d)を用いる方法の一例を説明する。
K次元ベクトル生成部13は、属性ベクトルvの要素を、各要素に係る属性の確率p_iに関して降順に整列する。例えば、d=3であり、p_1=0.5、p_2=0.2、p_3=0.3である場合、p_1、p_3,p_2の順に対応するように、属性iが並び替えられる。属性ベクトルvが、v=[x_1,x_2,x_3]であれば、x_1、x_3、x_2の順に、属性iが並び替えられる。なお、確率p_iは、何らかの方法で与えられればよい。
続いて、K次元ベクトル生成部13は、perm_1^K=[1,2,..,K]、perm_2^K=[w+1,w+2,…,w+K]、…、perm_s^K=[(s−1)w+1,(s−1)w+2,…,(s−1)w+K]、…として、perm_s^Kを生成する。なお、wは予め定めるパラメータ(正の整数)である。すなわち、各perm_s^Kの要素が、p_iに関して降順に整列された属性ベクトルの要素(属性値)に関して、一定のずれを有するように生成される。そうすることで、各perm_s^Kは、相互に異なるものとなる。
又は、例えば、確率p_iで属性iを選択するという非復元抽出をK回実施し、その結果選択された属性群をperm_s^Kとし、その手順をS回繰り返してもよい。
上記によれば、属性の選択されやすさに応じたperm_s^Kを生成することができる。また、正の整数であるwを用いて、属性1,2,・・・,dの並びから要素をずらして選択するという規則化された演算をすることで、効率的にperm_s^Kを生成することができる。
第二の実施の形態を用いた場合の数値計算による評価結果について述べる。
全属性数d=100、オブジェクト20数N=240、特定すべきオブジェクト20(つまり、クエリベクトルqの条件を全て満たすオブジェクト20)の数の期待値をH=100個とする。また、K=10とする。オブジェクト20は、各属性に関して一様に分布しているとする。各属性iについて、検索範囲を設定する次元をd2=25個選択する。その際、Zipf分布に従って属性iを選択する(属性iが条件指定属性として選択される確率をp_iとする)。また、選択されたd2個の属性各々について、クエリの範囲を以下のように設定する。
平均Tavg=(H/N)(1/d2)、標準偏差Tsd=min(Tavg/2,(1−Tavg)/2)の正規分布に従う乱数の値をレンジ長Tlenとする。それをさらに、Tlen←max(0.001,min(1,Tlen))とする。
xlowを、[0,1−Tlen]の間の一様分布に従う乱数の値とし、xhigh=xlow+Tlenとする。
ここで、第二の実施の形態に示した方法を用いないで、要素がランダムに選択されたperm_s^Kを、S=10個用意する方法を、「ランダム法」と呼ぶ。但し、perm_s^Kと、perm_s'^Kとはs≠s'のとき重複がないようにする。それに対し、属性iに条件が指定される確率p_iを用いて、第二の実施の形態の手順に従ってperm_s^Kを生成する方法を「提案法」と呼ぶ。その際、w=Kとし、S=10個のperm_s^Kを生成した場合を「提案法その1」、w=K/2とし、S=19個のperm_s^Kを生成した場合を「提案法その2」と呼ぶ。なお、いずれの方法においても、S個のperm_s^Kの中からS'=1個を同様の方法で選択し、オブジェクト20の検索も同様の手順で行うこととする。こうすることで、perm_s^Kの生成方法の違いによる性能の比較を行う。
このときの評価結果は以下の通りである。ランダム法では、検索コストは、0.036N、誤検出率は、6.0E−08程度であったのに対して、提案法その1では、検索コストは、0.0078N、誤検出率は、1.54E−8程度、提案法その2では、検索コストは、0.0063N、誤検出率は、1.45E−8程度と、提案法では、ランダム法に対して、検索コストと検出率とについて改善できている。
次に、第三の実施の形態について説明する。第三の実施の形態では第一の実施の形態と異なる点について説明する。ここで特に言及されない点については、第一の実施の形態と同様でもよい。
第三の実施の形態では、図4のステップS103におけるperm_s^Kの生成方法として、クエリで指定される属性iの値と属性jの値とに関する相関係数r(i,j)を用い方法の一例について説明する。第三の実施の形態において、K次元ベクトル生成部13は、例えば、以下の手順でr(i,j)を計算する。
Nq個のクエリベクトルq_k(k=1,…,Nq)が、与えられているとする。Nq個のクエリベクトルq_kは、過去のクエリベクトルqの履歴でもよいし、何らかの生成ルールに基づいて疑似的に生成されてもよい。
まず、K次元ベクトル生成部13は、クエリベクトルq_kにおいて、属性iに対して条件指定が無い場合(つまり、q_kのi番目の要素が0〜m_iの場合)、i番目の要素を0とし、条件指定が有る場合はi番目の要素を1とするベクトルq'_kを生成する。
続いて、K次元ベクトル生成部13は、ベクトルq'_kを行として有する行列(Nq行d列の行列)を生成する。
続いて、K次元ベクトル生成部13は、i番目の列ベクトルとj番目の列ベクトルとについて相関係数を計算し、それをr(i,j)とする。
なお、ベクトルq'_kは、次のように生成されてもよい。Nq個のクエリベクトルq_kにおいて、属性iに対する条件指定(xlow_i〜xhigh_i)が有る場合、当該xlow_i及び当該xhigh_iを用いて計算される値をi番目の要素とし、条件指定が無い場合、0をi番目の要素とするようにベクトルq'_kが生成されてもよい。属性iに対する条件指定(xlow_i〜xhigh_i)が有る場合、例えば、1/(xhigh_i−xlow_i)が、i番目の要素とされてもよい。又は、オブジェクト20の分布関数がF_i(x)=P[オブジェクト20の属性iの値≦x]で与えられるとして、1/(F_i(xhigh_i)−F_i(xlow_i))が、i番目の要素とされてもよい。
K次元ベクトル生成部13は、上記によって計算されたr(i,j)に基づいて、次のようにperm_s^Kを生成する。
まず、K次元ベクトル生成部13は、或る属性i(ここでは、i=1であるとする。)を選択し、r(1,j)に関して上位(K−1)個の属性jを選択する。選択された属性jを、j_1(1),j_1(2),…,j_1(K−1)と記すとすると、K次元ベクトル生成部13は、perm_1^K=[1,j_1(1),j_1(2),…,j_1(K−1)]となるように、perm_1^Kを生成する。
続いて、K次元ベクトル生成部13は、属性1以外の属性(例えば、属性2)を選択し、同様の手順により、perm_2^K=[2,j_2(1),j_2(2),…,j_2(K−1)]となるように、perm_2^Kを生成する。
K次元ベクトル生成部13は、以上をS個の(例えば、S番目までの)属性について繰り返す。したがって、perm_s^K=[s,j_s(1),j_s(2),…,j_s(K−1)]となる。
なお、perm_s^K(s≧2)を生成する際に、r(s,j)に関する上位(K−1)個の属性が選択されるが、perm_1^K、perm_2^K、…,perm_{s−1}^Kに関して既に使われた全て又は一部の属性が除かれてから、上位(K−1)個の属性の選択が行われてもよい。
また、perm_s^Kの生成は、最初に、属性iがp_iに関して降順に整列されてから実施されてもよい。
第三の実施の形態によれば、相関関数を用いることで、perm_s^Kを効率的に生成することができる。
次に、第四の実施の形態について説明する。第四の実施の形態では第一の実施の形態と異なる点について説明する。ここで特に言及されない点については、第一の実施の形態と同様でもよい。
第四の実施の形態では、確率p_iは、既知ではないとする。そこで、K次元ベクトル生成部13は、当初において、S個のperm_s^Kの要素をランダムに選択する。但し、各perm_s^Kの内容が、相互に重複しないようにする。
このようにして生成されたperm_s^Kを用いて、一定期間、情報管理装置10の運用が行われる。すなわち、図4及び図5において説明した処理が実行される。
一定期間が経過すると、K次元ベクトル生成部13は、当該期間内に受信されたクエリベクトルqの履歴に基づいて、p_iを得る。p_iが得られたら、K次元ベクトル生成部13は、第二の実施の形態において説明した方法によって、S個のperm_s^Kを生成し直す。以下、生成し直し前のperm_s^Kを「旧perm_s^K」といい、生成し直し後のperm_s^Kを「新perm_s^K」という。
オブジェクト登録部12は、新perm_s^Kの生成に応じ、旧perm_s^Kに基づいて登録された情報(perm_s^K(v)⇔IP#Aの対応)を、新perm_s^Kに基づいて移行する。すなわち、perm_s^Kが変化することで、同じ情報であっても、エントリされるべきtree_sが異なる可能性が有るからである。移行完了後は、新perm_s^Kが用いられて、図4及び図5において説明した処理が実行される。
その後、perm_s^Kの生成のし直しが、一定期間ごとに繰り返されてもよい。なお、上記ではp_iを用いた例を述べているが、p_i代わりに、相関係数r(i,j)が用いられて、perm_s^Kの生成のし直しが実行されてもよい。
なお、上記各実施の形態において、情報管理装置10は、情報管理システムの一例である。登録要求受付部11は、第一の受信部の一例である。オブジェクト登録部12は、登録部の一例である。名前解決要求受付部14は、第二の受信部の一例である。オブジェクト検索部15は、検索部の一例である。K次元ベクトル生成部13は、生成部の一例である。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
1 情報管理システム
10 情報管理装置
11 登録要求受付部
12 オブジェクト登録部
13 K次元ベクトル生成部
14 名前解決要求受付部
15 オブジェクト検索部
16 K次元ベクトル記憶部
17 K次元データベース
20 オブジェクト
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
B バス
N1 情報通信用のネットワーク

Claims (7)

  1. 複数の属性を有する1以上のオブジェクトと、前記オブジェクトにネットワークを介して接続される情報管理装置とを含む情報管理システムであって、
    前記情報管理装置は、
    いずれかの前記オブジェクトを一意に特定する識別情報と、当該オブジェクトが有する複数の属性の値の集合との登録要求を受信する第一の受信部と、
    それぞれが前記複数の属性のうちの一部の属性に関して順序付けられた組み合わせを示すパタンごとに、前記登録要求に含まれている複数の属性の値の集合から当該パタンに該当する属性の値の組み合わせを抽出し、抽出された組み合わせを前記識別情報に対応付けて、複数のツリー型のデータ構造の中で、当該パタンに対応するデータ構造に登録する登録部と、
    前記複数の属性のうちの全部又は一部の属性ごとに当該属性に対する条件が指定された検索要求を受信する第二の受信部と、
    前記複数のパタンのうちの全部又は一部のパタンのそれぞれごとに、前記検索要求に含まれている条件から、当該パタンに該当する属性に対する条件の組み合わせを抽出し、当該パタンに対応する前記データ構造から、当該組み合わせに含まれる各条件を満たす前記属性の値の組み合わせに対応付けられている前記識別情報を検索し、前記パタンごとの検索結果の全てに含まれている前記識別情報を、前記検索要求の送信元に返信する検索部と、
    前記条件に関する確率分布情報を用いて、前記各パタンを生成する生成部と、
    を有することを特徴とする情報管理システム。
  2. 前記生成部は、前記各属性が前記条件に指定される確率の降順に前記複数の属性を整列し、整列後の順番に対して前記各パタンが一定のずれを有するように、前記各パタンを生成する、
    ことを特徴とする請求項1記載の情報管理システム。
  3. それぞれが、前記複数の属性のうちの全部又は一部の属性ごとに当該属性に対する条件を含む、複数通りの情報に基づいて、前記パタンの個数分の属性ごとに、当該属性と他の属性との相関係数を計算し、当該属性と、当該属性との相関係数が上位の前記他の属性、又は前記他の属性の中から他のパタンには含まれていない属性の全部又は一部が除かれた状態で前記相関係数が上位である属性とを含むように、前記パタンを生成する、
    ことを特徴とする請求項1記載の情報管理システム。
  4. 複数の属性を有する1以上のオブジェクトにネットワークを介して接続される情報管理装置が、
    いずれかの前記オブジェクトを一意に特定する識別情報と、当該オブジェクトが有する複数の属性の値の集合との登録要求を受信する第一の受信手順と、
    それぞれが前記複数の属性のうちの一部の属性に関して順序付けられた組み合わせを示すパタンごとに、前記登録要求に含まれている複数の属性の値の集合から当該パタンに該当する属性の値の組み合わせを抽出し、抽出された組み合わせを前記識別情報に対応付けて、複数のツリー型のデータ構造の中で、当該パタンに対応するデータ構造に登録する登録手順と、
    前記複数の属性のうちの全部又は一部の属性ごとに当該属性に対する条件が指定された検索要求を受信する第二の受信手順と、
    前記複数のパタンのうちの全部又は一部のパタンのそれぞれごとに、前記検索要求に含まれている条件から、当該パタンに該当する属性に対する条件の組み合わせを抽出し、当該パタンに対応する前記データ構造から、当該組み合わせに含まれる各条件を満たす前記属性の値の組み合わせに対応付けられている前記識別情報を検索し、前記パタンごとの検索結果の全てに含まれている前記識別情報を、前記検索要求の送信元に返信する検索手順と、
    前記条件に関する確率分布情報を用いて、前記各パタンを生成する生成手順と、
    を有することを特徴とする情報管理方法。
  5. 前記生成手順は、前記各属性が前記条件に指定される確率の降順に前記複数の属性を整列し、整列後の順番に対して前記各パタンが一定のずれを有するように、前記各パタンを生成する、
    ことを特徴とする請求項4記載の情報管理方法。
  6. それぞれが、前記複数の属性のうちの全部又は一部の属性ごとに当該属性に対する条件を含む、複数通りの情報に基づいて、前記パタンの個数分の属性ごとに、当該属性と他の属性との相関係数を計算し、当該属性と、当該属性との相関係数が上位の前記他の属性、又は前記他の属性の中から他のパタンには含まれていない属性の全部又は一部が除かれた状態で前記相関係数が上位である属性とを含むように、前記パタンを生成する、
    ことを特徴とする請求項4記載の情報管理方法。
  7. コンピュータを、
    請求項1乃3のいずれか1項に記載の情報管理装置の各機能部として機能させるための情報管理プログラム。
JP2014158621A 2014-08-04 2014-08-04 情報管理システム、情報管理方法、及び情報管理プログラム Pending JP2016035684A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014158621A JP2016035684A (ja) 2014-08-04 2014-08-04 情報管理システム、情報管理方法、及び情報管理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014158621A JP2016035684A (ja) 2014-08-04 2014-08-04 情報管理システム、情報管理方法、及び情報管理プログラム

Publications (1)

Publication Number Publication Date
JP2016035684A true JP2016035684A (ja) 2016-03-17

Family

ID=55523497

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014158621A Pending JP2016035684A (ja) 2014-08-04 2014-08-04 情報管理システム、情報管理方法、及び情報管理プログラム

Country Status (1)

Country Link
JP (1) JP2016035684A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023162273A1 (ja) * 2022-02-28 2023-08-31 富士通株式会社 生成方法、生成プログラムおよび情報処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023162273A1 (ja) * 2022-02-28 2023-08-31 富士通株式会社 生成方法、生成プログラムおよび情報処理装置

Similar Documents

Publication Publication Date Title
AU2016382908B2 (en) Short link processing method, device and server
Römer et al. Real-time search for real-world entities: A survey
CN109741060B (zh) 信息查询系统、方法、装置、电子设备及存储介质
US9165068B2 (en) Techniques for cloud-based similarity searches
CN101404032B (zh) 一种基于内容的视频检索方法及系统
WO2015070788A1 (zh) 一种识别ip地址的区域归属地信息的方法和装置
JP6608972B2 (ja) ソーシャルネットワークに基づいてグループを探索する方法、デバイス、サーバ及び記憶媒体
CN109165222A (zh) 一种基于协处理器的HBase二级索引创建方法以及系统
CN103902705B (zh) 一种基于元数据的跨机构云端数字内容集成系统和方法
Shemshadi et al. Searching for the internet of things: where it is and what it looks like
CN104636368A (zh) 数据检索方法、装置及服务器
CN111400301B (zh) 一种数据查询方法、装置及设备
US8825698B1 (en) Showing prominent users for information retrieval requests
US11455359B2 (en) Method and system for asynchronous correlation of data entries in spatially separated instances of heterogeneous databases
US10147095B2 (en) Chain understanding in search
CN110120918B (zh) 一种标识解析方法及装置
US10318594B2 (en) System and method for enabling related searches for live events in data streams
JP2016035684A (ja) 情報管理システム、情報管理方法、及び情報管理プログラム
JP5957411B2 (ja) アドレス解決システム及び方法
JP5132359B2 (ja) データ分散処理システム及び方法
Shemshadi et al. Searching for the Internet of Things on the Web: Where it is and what it looks like
JP5965353B2 (ja) アドレス解決システム及び方法
JP5909199B2 (ja) アドレス解決システム及び方法
WO2002084528A1 (en) System and method for searching in a distributed computing environment
Dong et al. IoT search method for entity based on advanced density clustering