特表2016-540274(P2016-540274A)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧
<>
  • 特表2016540274-プライバシ強化空間解析 図000009
  • 特表2016540274-プライバシ強化空間解析 図000010
  • 特表2016540274-プライバシ強化空間解析 図000011
  • 特表2016540274-プライバシ強化空間解析 図000012
  • 特表2016540274-プライバシ強化空間解析 図000013
  • 特表2016540274-プライバシ強化空間解析 図000014
  • 特表2016540274-プライバシ強化空間解析 図000015
  • 特表2016540274-プライバシ強化空間解析 図000016
  • 特表2016540274-プライバシ強化空間解析 図000017
  • 特表2016540274-プライバシ強化空間解析 図000018
  • 特表2016540274-プライバシ強化空間解析 図000019
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】特表2016-540274(P2016-540274A)
(43)【公表日】2016年12月22日
(54)【発明の名称】プライバシ強化空間解析
(51)【国際特許分類】
   G06F 21/62 20130101AFI20161125BHJP
   G06F 17/30 20060101ALI20161125BHJP
【FI】
   G06F21/62 354
   G06F17/30 170C
【審査請求】未請求
【予備審査請求】未請求
【全頁数】33
(21)【出願番号】特願2016-517571(P2016-517571)
(86)(22)【出願日】2014年9月4日
(85)【翻訳文提出日】2016年3月25日
(86)【国際出願番号】JP2014004558
(87)【国際公開番号】WO2015049831
(87)【国際公開日】20150409
(31)【優先権主張番号】14/045,718
(32)【優先日】2013年10月3日
(33)【優先権主張国】US
(31)【優先権主張番号】14/312,085
(32)【優先日】2014年6月23日
(33)【優先権主張国】US
(81)【指定国】 AP(BW,GH,GM,KE,LR,LS,MW,MZ,NA,RW,SD,SL,ST,SZ,TZ,UG,ZM,ZW),EA(AM,AZ,BY,KG,KZ,RU,TJ,TM),EP(AL,AT,BE,BG,CH,CY,CZ,DE,DK,EE,ES,FI,FR,GB,GR,HR,HU,IE,IS,IT,LT,LU,LV,MC,MK,MT,NL,NO,PL,PT,RO,RS,SE,SI,SK,SM,TR),OA(BF,BJ,CF,CG,CI,CM,GA,GN,GQ,GW,KM,ML,MR,NE,SN,TD,TG),AE,AG,AL,AM,AO,AT,AU,AZ,BA,BB,BG,BH,BN,BR,BW,BY,BZ,CA,CH,CL,CN,CO,CR,CU,CZ,DE,DK,DM,DO,DZ,EC,EE,EG,ES,FI,GB,GD,GE,GH,GM,GT,HN,HR,HU,ID,IL,IN,IR,IS,JP,KE,KG,KN,KP,KR,KZ,LA,LC,LK,LR,LS,LU,LY,MA,MD,ME,MG,MK,MN,MW,MX,MY,MZ,NA,NG,NI,NO,NZ,OM,PA,PE,PG,PH,PL,PT,QA,RO,RS,RU,RW,SA,SC,SD,SE,SG,SK,SL,SM,ST,SV,SY,TH,TJ,TM,TN,TR,TT,TZ,UA,UG,US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.SMALLTALK
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
(74)【代理人】
【識別番号】100110607
【弁理士】
【氏名又は名称】間山 進也
(72)【発明者】
【氏名】ジョナス、ジェフリー ジェイ.
(72)【発明者】
【氏名】クラウス、キーク ジェイ.
(57)【要約】
エンティティの観測値を表すデータを処理するための手法を実行して使用する方法、システムおよびコンピュータ・プログラム・プロダクト。匿名化された鍵が生成される。匿名化された鍵は、エンティティが関連付けられている時空領域を表す。時空間領域は、空間領域と時間間隔とを表す。エンティティは、エンティティのための時空間座標に基づき、時空間領域と関連付けられる。
【選択図】図3
【特許請求の範囲】
【請求項1】
コンピュータに実装される方法であって、
エンティティが関連付けられ、時空間領域を表す匿名化された鍵を生成することを含み、
前記時空間領域が、空間領域および時間間隔を表し、かつ前記エンティティが、前記エンティティのための時空間座標に基づいた時空間領域と関連付けられた方法。
【請求項2】
前記匿名化された鍵を1つまたは複数の既に匿名化された鍵と比較して、エンティティの時空間的な同時発生を発見すること
をさらに含む、請求項1に記載の方法。
【請求項3】
前記エンティティは、人物、場所、事物および事象のうちの1つである、請求項1に記載の方法。
【請求項4】
発見された時空間的な同時発生を使用して、ビジネス・プロセスを拡張すること
をさらに含む、請求項3に記載の方法。
【請求項5】
前記時空間領域は、複数の次元を含み、前記複数の次元は、
−前記空間領域を表現し、経度、緯度のうち1つもしくは複数を含む空間的な次元と、
−前記空間領域を表現する非空間的な次元と、
−前記時間間隔を表現する時間次元と
の1つ以上を含む、請求項1に記載の方法。
【請求項6】
1つまたは複数の次元の粒度を構成可能である、請求項5に記載の方法。
【請求項7】
前記時空間領域の時間次元は、年、月、日、時間、分、秒およびミリ秒のうち1つまたは複数を表す一連の数値である、請求項5に記載の方法。
【請求項8】
エンティティの観測値を表し、かつ少なくとも1つの次元の精度を含むデータを受信することと、
前記データを、定性的な基準に基づいて前記時空間領域に関連付けることと
をさらに含む、請求項5に記載の方法。
【請求項9】
前記定性的な基準は、前記次元の少なくともいくつかの粒度に関連があり、かつ所定の定性的な基準と動的に得られる定性的な基準とのうち1つである、請求項8に記載の方法。
【請求項10】
前記受信データの前記精度が、前記エンティティが1つまたは複数の隣接する時空間領域に関連付けるのに適するとの決定に応じて、前記受信データを前記1つまたは複数の隣接した時空間領域に関連付けることと
をさらに含む、請求項8に記載の方法。
【請求項11】
前記匿名化された鍵は、可逆的な暗号化アルゴリズムと不可逆的な暗号化アルゴリズムのうち1つを使用することによって生成される、請求項1に記載の方法。
【請求項12】
時空間的な同時発生が、1つまたは同じエンティティのうちの1つに付随するか否か、および異なるエンティティに付随するか否かを判定することと、
前記判定の結果を格納することと
をさらに含む、請求項2に記載の方法。
【請求項13】
前記エンティティが、一定の時間間隔にわたる少なくとも一定数の機会に関する、特定の一連の1つまたは複数の時空間領域に関連があるか否かを判定することと、
肯定的な判定に応じて、前記エンティティをハングアウトしたエンティティとして通知することと、
をさらに含む、請求項1に記載の方法。
【請求項14】
プログラム・コードが実装されたコンピュータ読み取り可能な記録媒体を含むコンピュータ・プログラム・プロダクトであって、前記プログラム・コードは、匿名化された鍵を生成するためのプロセッサによって実行可能であり、前記匿名化された鍵は、エンティティと関連付けられた時空間領域を表し、前記時空間領域は、空間領域および時間間隔を表し、前記エンティティは、前記エンティティに用いる時空間座標に基づき時空間領域と関連付けられている、コンピュータ・プログラム・プロダクト。
【請求項15】
プロセッサによって実行可能であり、1つまたは複数の既に匿名化された鍵を用いて匿名化された鍵を比較して、エンティティの時空間的な同時発生を発見するためのプログラム・コードをさらに含む、請求項14に記載のコンピュータ・プログラム・プロダクト。
【請求項16】
前記時空間領域は、複数の次元を含み、前記複数の次元は、
−経度、緯度のうち1つまたは複数を含み、前記空間領域を表示する空間次元と、
−前記空間を表示する非空間次元と、
−前記時間間隔を表示する時間次元と
のうち1つまたは複数を含む、請求項14に記載のコンピュータ・プログラム・プロダクト。
【請求項17】
前記匿名化された鍵は、可逆的な暗号化アルゴリズムと不可逆的な暗号化アルゴリズムのうち1つを使用することによって生成される、請求項14に記載のコンピュータ・プログラム・プロダクト。
【請求項18】
時空間的な同時発生が、1つもしくは同じエンティティのうちの1つに付随するか否か、および異なるエンティティに付随するか否かを判定すること、
前記判定の結果を格納すること
をプロセッサが実行するためのプログラム・コードをさらに含む、請求項15に記載のコンピュータ・プログラム・プロダクト。
【請求項19】
前記エンティティが、一定の時間間隔にわたる少なくとも一定数の機会に関する、特定の一連の1つまたは複数の時空間領域に関連があるか否かを判定すること、
肯定的な判定に応じて、前記エンティティをハングアウトしたエンティティとして通知すること
をプロセッサが実行するためのプログラム・コードをさらに含む、請求項14に記載のコンピュータ・プログラム・プロダクト。
【請求項20】
プロセッサと、
前記プロセッサに対し、
エンティティと関連付けられた時空間領域を表し、前記時空間領域が、空間領域および時間間隔を表す匿名化された鍵を生成することを実行させるための命令を含むメモリと、
を含み、
前記エンティティが、前記エンティティに用いる時空間座標に基づき時空間領域と関連付けられている、システム。
【発明の詳細な説明】
【背景技術】
【0001】
本願の発明は、データ解析に関し、さらに具体的には、プライバシを強化した空間解析および時間解析に関する。ある種の解析は、エンティティ(船舶など)を、フィーチャ(総トン数など)およびフィーチャのエレメント(実測重量および総重量の単位など)に関連付ける。
【0002】
空間解析および時間解析は、さらに、エンティティを空間データおよび時間データに関連付けることを可能にする。いくつかの空間解析および時間解析は、スペースタイム・ボックス(SpaceTimeBox:STB)として知られるエンティティの特徴を使用する。STBは、特定の粒度で空間領域と、時間間隔とを反映する。任意の事象、すなわち、その時間および場所によって特定される時空間の任意の点が、少なくとも1つのSTBに割り当てられる。船舶などのあるエンティティが事象に関連付けられる際には、他のエンティティがそのエンティティと比較されて、STBの粒度によって規定された粒度での或る時間における、そのエンティティの空間位置に関連付けることができる。多くの場合、STBの粒度は、種々の条件におけるSTBのフィルタリングを可能とするパラメータとして、構成可能である。STBの機能は、空間的および時間的な推論能力をもたらし、エンティティの解像度、関連性識別および洞察/妥当性の検出性を改善する。
【0003】
動作の処理は、典型的には空間および時間の量子化に依拠しており、それゆえSTBをこの目的に有用なものとしている。STBに関わるエンティティの動作は、特定のエンティティの挙動をリアルタイムで検出するために使用することができ、下流の解析アプリケーションに公開することができる。また、間隔に量子化された時間内にわたるエンティティの活動はまた、下流の解析アプリケーションに公開することができる特定のエンティティの挙動を検出するために使用することができる。
【0004】
空間的および時間的な動作処理のデータは、非常に価値があり有効であるものの、そのようなデータを収集する組織は、プライバシ、市民的自由の保護、およびそのデータが何を明らかにしているのかということに関して充分に注意しなければならない。一方で、組織は、そのようなデータを適用して、いくつかの可能性を挙げれば、現地に対応した顧客サービス(すなわち位置情報サービス(LBS))、動作処理を介した不正利用検知、および地理的に狙いを定めた顧客への販売提案に、提供することができる。他方で、難題が発生する。例えば、2つの相異なる組織、または同じ組織内にある2つの相異なるグループが、各自で空間、時間またはそれらの組合せのデータを有し、それらを互いに自由に共有することを望まない場合がある。にもかかわらず、それぞれの空間的、時間的またはそれらの組合せのデータが、同様の事象に関するものであるのか、または近い事象であるのかということを、その事象の実際の時空間座標(例えば経度、緯度および日付の値)を互いに明らかにすることなく知ることは、合法であり、かつ双方の組織またはグループにとって有益である。そのため、収集される空間的および時間的なデータを保護すること、ならびに、当事者間で共有または比較される際に、空間的および時間的なデータのプライバシを強化することが求められている。
【発明の概要】
【0005】
本願の発明の一態様によれば、エンティティの観測値を表すデータを処理するための手法を実行し、使用するコンピュータ・プログラム・プロダクトを含む方法および装置が提供される。匿名化された鍵が生成される。匿名化された鍵は、エンティティが関連付けされる時空間領域を表す。時空間領域は、空間領域および時間間隔を表す。エンティティは、エンティティに用いる時空間座標に基づいて、時空間領域に関連付けられる。
【0006】
本発明の1つまたは複数の実施形態の詳細を、以降に添付の図面および記載にて説明する。本発明の他の特徴および利点は、本願の記載および図面から、ならびに本願の特許請求の範囲から、明らかになろう。
【図面の簡単な説明】
【0007】
図1】一実施形態による、動作処理に用いるシステムを示す略ブロック図である。
図2】一実施形態による、図1の演算ノード(10)を示す略ブロック図である。
図3】一実施形態による、匿名化された鍵を作り出すためのプロセスを示すフローチャートである。
図4】一実施形態による、包含円を使用して1つ以上のSTB中の項目を含むために閾値パーセントを選択する概略図である。
図5】一実施形態による、サンプリング・ポイントを使用して1つ以上のSTB中の項目を含むために閾値パーセントを選択する概略図である。
図6】一実施形態による、様々な粒度のSTBを示す概略図である。
図7】一実施形態による、事象がどのようにハングアウト間隔の境界で満了するのかということを示す概略図である。
図8】一実施形態による、ユーザによって供給される認定タイムボックス・パーセントに従ってどのようなハングアウトが検出されるかということを示す概略図である。
図9】一実施形態による、エンティティ・トラッキング・スキップリストの概略図である。
図10】一実施形態による、マルチスレッド型ハングアウト検出部の第1のスレッドのオペレーションを示すフローチャートである。
図11】一実施形態による、マルチスレッド型ハングアウト検出部の第2のスレッドのオペレーションを示すフローチャートである。各種図面の類似の参照記号は、類似の要素を示す。
【発明を実施するための形態】
【0008】
概要
本明細書に記載された様々な実施形態は、事象のリアルタイムの解析に関する。上記に記載したように、解析エンジンは、STBを介してエンティティを事象に関連付けることができ、このSTBのそれぞれは、空間領域と時間間隔との両方を反映している。本明細書に記載された実施形態は、エンティティ・データを収集してSTBに関連付ける際に発生する課題、ならびにデータをどのように続けて処理して当事者間に匿名で共有させ、データのプライバシを確保することができるかということに対処する。
【0009】
地理空間的な動作処理に特化した一実施形態では、STBを、STB算出ルーチンによって生成することができ、この算出ルーチンは、例えば、解析エンジンのプラグイン・モジュールとして、事象(すなわち、特定の地理空間的な場所および特定の時間にエンティティが観察されている)に基づき、時間によって量子化された単純なアルゴリズムと併せて、地理空間的に量子化されたジオハッシュのパブリック・ドメインのアルゴリズムを使用することにより実装される。このルーチンは、アルゴリズムの出力を連結し、事象についてのSTB鍵を形成し、続いて、様々な匿名化手法を使用して、この鍵を匿名化することができるが、これについてはさらに詳細に後述する。
【0010】
STB鍵は、事象を含む空間領域および時間間隔に特異的なものとすることができる。船舶などの2つのエンティティが、どちらともSTB鍵を特徴として有する際に、解析エンジンは、2つのSTB鍵を比較して、それらのエンティティが、一般化された同じ空間および時間の領域にあるか否か、一般化された隣接する空間及び時間の領域にあるか否かなどを判定することができる。解析エンジンは、この情報を使用して、エンティティがそれらの位置に関係があるか否かを判定することができる。充分な粒度があるならば、解析エンジンは、この情報をエンティティに関する他の情報と併せて使用して、エンティティが1つであり同じであるか否かを判定することができる。
【0011】
時間および空間の一般化を柔軟に構成可能とすることは、STBの完全一致比較と共に使用される複数の共起発生した鍵の出力を可能とすることで、さらに進んだエンティティの解像度、関連性識別、および洞察/妥当性の検出が可能になる。この共起発生した鍵は、単独で観察されたエンティティに用いる“密な”および“疎な”粒度のSTBを反映することができる。STB比較は、とりわけ、ある一連のSTBの“ハングアウト”を検出することを可能にする。単独のSTBは、任意の所与の時間で、ゼロの、僅かな、または多数の観察されるエンティティを含むことができる。本発明の様々な実施形態によって、STBに新たに関連付けされる任意のエンティティを迅速に特定し、これらの特定されたエンティティをさらに処理することが可能になる。これらの特徴についてはさらに詳細に後述する。
【0012】
匿名化されたSTBのプライバシを保持する方法は、本明細書に記載することになるが、複数の当事者が、空間および時間の属性を有したエンティティを表す記録を取得し、該エンティティの空間および時間の属性をSTBへと一般化し、匿名化されたSTB鍵(すなわち、匿名化されたSTBを表すストリング)―本明細書では“匿名化された鍵”として参照する―へとSTBを匿名化し、その後にのみ、該匿名化されたSTB鍵を交換することを可能とする。そのため、本法は、同じまたは近似の時空間座標データを“開示することなく発見することを可能にする”と記載することができる。このことは、例えば、2つの組織がそれぞれ1000STBを有し、双方の組織が各自のエンティティ(それぞれがSTBに関連付けられている)のうちのどれが他方の組織のエンティティの近くにあるかを見出したいと考えているものの、どちらの組織とも他方の組織に1000エンティティの位置を明らかにしたくはないと考えている状況では、有用となりうる。2つの一連のSTBを比較することは、空間的および時間的に互いに近くにあるエンティティを明らかにすることになる。例えば、そのような比較によって、3つのエンティティが匿名化された1つのSTBの特徴を共有することが明らかになるものと仮定する。言い換えれば、匿名化されたSTB鍵は、同じである―これらのエンティティに関する根底の(不明瞭にされた)時空間のデータが同じであるか、ある程度近いものであることを反映する。このことによって、他の997個のエンティティの全てが関心の対象外であり、かつそれらの対応のデータは共有される必要がないことが示されうる。
【0013】
以下は、どのようにSTBを使用することができるかということに関する一例であり、様々な実施形態の一般的な概念の理解を高めるためのものである。この例は、ビジネス・プロセスを記載しているが、当業者が理解するように、STBは、他の多くの型式のプロセスに同様に使用されうる。無線コミュニケーション・プロバイダが、加入者のモバイル・デバイスに関する地理空間的なデータを有していることを想定してみる。サンドイッチ店のフランチャイズが、目標を下回る店舗のビジネスを改善したいものの、目標を下回るこれらの店舗の位置を無線コミュニケーション・プロバイダには明らかにしたくないと考えているものとする。そこで、そのサンドイッチ店のフランチャイズは、50のSTBを、匿名化されたSTB鍵の形態にして作成するが、このSTB鍵は、具体的な日付および時間における店舗の位置を表す。該STB鍵は、匿名化されているため、実際の日時を明らかにすることなく無線コミュニケーション・プロバイダと自由に共有することができる。無線コミュニケーション・プロバイダのデータを用いて、サンドイッチ店のフランチャイズ由来の匿名化されたSTB鍵を比較することによって、例えば、目標を下回るサンドイッチ店舗の近くに無線コミュニケーション・プロバイダ由来の加入者がいる際に、それらの加入者にモバイル・デバイスを介してそのサンドイッチ店舗に関する広告を送付するなどのビジネス・プロセスを、トリガすることができるようにして決定することができる。こうして、モバイル・オペレータは、加入者の現在の位置または予想される位置と接点のある、目標を下回るサンドイッチ店舗の位置を知るのみとなる。それゆえに、無線コミュニケーション・プロバイダは、サンドイッチ店フランチャイズの目標を下回る他の店舗について知ることはない。本発明の様々な実施形態の鍵となる利点は、時空間解析を向上させるプライバシを提供する能力であることは、当業者にとって容易にわかるはずである。
【0014】
当業者に理解されるように、本願の発明の態様は、システム、方法またはコンピュータ・プログラム・プロダクトとして具現化されることがある。したがって、本願の発明の態様は、全体的にハードウェアである実施形態、全体的にソフトウェアである実施形態(ファームウェア、常駐ソフトウェア、マイクロ・コードなどを含む)、またはソフトウェアの態様とハードウェアの態様とを組み合せた実施形態の形をとり得、該ソフトウェアおよびハードウェアの態様は、全て一般に本明細書では“サーキット”、“モジュール”または“システム”として参照される。さらに、本願の発明の態様は、コンピュータ読み取り可能なプログラム・コードが具現化されている1つまたは複数のコンピュータ読み取り可能な媒体中に、コンピュータ・プログラム・プロダクトが具現化されているという形態をとりうる。
【0015】
1つまたは複数のコンピュータ読み取り可能な媒体の任意の組合せが利用されうる。コンピュータ読み取り可能な媒体は、コンピュータ読み取り可能なシグナル媒体であってもコンピュータ読み取り可能な記録媒体であってもよい。コンピュータ読み取り可能な記録媒体は、以下に限定されないが、例えば、電気的な、磁気的な、光学的な、電磁気的な、赤外線の、または半導体のシステム、装置もしくはデバイス、またはこれらの任意の適切な組合せとしうる。コンピュータ読み取り可能な記録媒体のさらに具体的な例(非排他的列挙である。)としては、以下が挙げられよう。すなわち、1つまたは複数の有線の電気的な接続、携帯可能なコンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用のメモリ(ROM)、消去可能かつプログラミング可能な読み取り専用のメモリ(EPROMまたはフラッシュ・メモリ)、光ファイバ、携帯可能かつコンパクト・ディスクで読み取り可能なメモリ(CD−ROM)、光学記録デバイス、磁気記録デバイス、またはこれらの任意の適切な組合せである。この書面の文脈では、コンピュータ読み取り可能な記録媒体は、命令実行システム、装置もしくはデバイスに関連してまたはそれらによって使用するためのプログラムを含むまたは格納することができる、実体のある任意の媒体としうる。
【0016】
コンピュータ読み取り可能なシグナル媒体は、具現化されたコンピュータ読み取り可能なプログラム・コードを伴う伝送データシグナルを含み得、例えば、ベースバンドに、または搬送波の一部として含みうる。そのような伝搬データは、種々の形態のうち任意のものをとり得、該形態としては、以下に限定されないが、電磁気的な形態、光学的な形態、またはそれらの任意の適当な組合せが挙げられうる。コンピュータ読み取り可能なシグナル媒体は、任意のコンピュータ媒体としてもよく、該媒体は、コンピュータ読み取り可能な記録媒体ではなく、かつ命令実行システム、装置もしくはデバイスに関連してまたはそれらによって使用するためのプログラムを通信、伝送または移送することができる。
【0017】
コンピュータ読み取り可能な媒体上に具現化されたプログラム・コードは、任意の適切な媒体を使用して通信されうるが、そのような適切な媒体としては、以下に限定されないが、無線、有線、光ファイバ、ケーブル、RFなど、またはそれらの任意の適切な組合せが挙げられる。本願の発明の態様に関する演算を実施するためのコンピュータ・プログラム・コードは、1つまたは複数のプログラミング言語の任意の組合せで書き込まれてもよく、そのようなプログラム言語としては、Java(登録商標)、Smalltalk、C++などのオブジェクト指向のプログラミング言語、および“C”プログラミング言語や類するプログラミング言語など、既存の手続き型プログラミング言語が挙げられる。プログラム・コードは、ユーザのコンピュータで全体的に、ユーザのコンピュータで部分的に、スタンドアローン・ソフトウェア・パッケージとして、ユーザのコンピュータで部分的におよびリモート・コンピュータで部分的に、またはリモート・コンピュータもしくはサーバで全体的に、実行されうる。後者の大筋では、リモート・コンピュータは、任意の型のネットワークを介してユーザ・コンピュータへ接続されてもよく、そのようなネットワークとしては、ローカルエリア・ネットワーク(LAN)またはワイドエリア・ネットワーク(WAN)が挙げられる。あるいは、当該接続は、外部のコンピュータに成されてもよい(例えば、インターネット・サービス・プロバイダを使用してインターネットを介する)。
【0018】
本願の発明の態様を、本発明の実施形態による方法、装置(システム)およびコンピュータ・プログラム・プロダクトのフローチャート図、ブロック図またはそれらの組合せを参照して後述する。フローチャート図、ブロック図またはそれらの組合せの各ブロック、ならびに該フローチャート図、該ブロック図またはそれらの組合せのブロックの組合せは、コンピュータ・プログラム命令によって遂行することができることが理解されよう。これらのコンピュータ・プログラム命令を、汎用コンピュータ、専用コンピュータ、または他のプログラミング可能なデータ処理装置のプロセッサに提供して機械を生成してもよく、その結果、その命令は、コンピュータまたは他のプログラミング可能なデータ処理装置を介して実行され、フローチャート、ブロック図またはそれらの組合せの1つもしくは複数のブロックに指定された機能/役割を遂行するための手段を作り出す。
【0019】
これらのコンピュータ・プログラム命令はまた、コンピュータ、他のプログラミング可能なデータ処理装置、または他のデバイスを指示することができるコンピュータ読み取り可能な媒体中に格納されて、具体的な仕様で機能する場合もあり、その結果、コンピュータ読み取り可能な媒体に格納された命令は、フローチャート、ブロック図またはそれらの組合せの1つもしくは複数のブロックに指定された機能/役割を遂行する命令を含む、製品を生成する。
【0020】
コンピュータ・プログラム命令はまた、コンピュータ、他のプログラミング可能なデータ処理装置、または他のデバイスにロードされ、コンピュータ、他のプログラミング可能なデータ処理装置、または他のデバイスで実施される一連のオペレーションのステップを引き起こして、コンピュータで遂行されるプロセスを生成してもよく、その結果、コンピュータまたは他のプログラミング可能な装置で実行される命令は、フローチャート、ブロック図またはそれらの組合せの1つもしくは複数のブロックに指定された機能/役割を遂行するためのプロセスを提供する。
【0021】
図1は、一実施形態による、動作処理に使用されるシステム(100)の一例の概略を示す。図1に見られるように、システム(100)は、1つまたは複数のノード(10)を備え、さらに詳細に後述するように協働して、1つまたは複数のデータ・ソース(102)からのインバウンド・メッセージ中で受信したデータを処理する。各ノード(10)は、独立したコンピュータまたはプロセッサとすることができ、そのようなコンピュータまたはプロセッサは、1つまたは複数のデータ・ソース(102)からのインバウンド・メッセージによって指定された所与の一連のエンティティおよび事象に対し、本明細書に記載された手法を実施するさらに大きなタスクに寄与する。データ・ソースの一例は、船舶自動識別システム(AIS)である。このシステムは、外航船に使用される自動追跡システムであり、船舶、AIS基地局および周回軌道衛星の電子的なやり取りのデータによって、船舶を特定し配置するための船舶航行サービス(VTS)に拠るものである。これはほんの一例に過ぎず、当業者は、本明細書に提示した手法による動作処理での使用に適した別の代替のデータ・ソースに、容易に想到することを理解されたい。
【0022】
ノード(10)は、リレーショナル・データベース管理システム(RDBMS)(104)に接続されており、RDBMSは、ノード(10)からデータを収集してノード(10)へデータを提供することができる。共有化されたRDBMS(104)は、解析処理、動作処理またはそれらの組合せに適した基盤の一例に過ぎず、本明細書に記載の発明の実施形態の使用または機能の範囲に関するいかなる限定をも示唆することを意図しない。RDBMS(104)は、例えば、データ・ソース、観測値、エンティティ、特徴および要素に関するデータを格納する。データ・ソースは通常、クエリまたは記録システムから抜粋されたデータベース・テーブルである。観測値は、データ・ソース中で記録が追加、変更または削除される際に発生する。エンティティは通常、データベース・テーブル内の顧客のマスター記録やトランザクション記録のような具体的な型式の記録である。フィーチャは、エンティティについての具体的な情報である。時として、テーブルは、同じ事物を実際に描写する複数の場を含むことがある。フィーチャは、全てが同じ事物を描写する一群の場によって表されてもよい。多くの場が、それ自体のみで特徴を表すが、いくつかは、さらに高いレベルに分類される。例として、名前およびメールアドレスは、通常は複数の場または要素を含む。エレメントは、住所の表象の一部をなす郵便番号など、フィーチャのさらなる内訳であり、通常は、テーブル内のフィールドによって表される。
【0023】
共有化されたRDBMS(104)内でこの型の情報を収集することによって、コンピューティング・ノード(10)は、共働して、エンティティおよび特徴を互いに比較すると共に、特徴を共有しているエンティティを決定するが、これらの特徴は、匿名化されたSTB鍵であるか否かは問われない。フィーチャを共有しているエンティティは、1つまたは複数のデータ宛先(106)へのアウトバウンド・メッセージとして提供することができ、該データ宛先は、ユーザによって規定されうる。データ宛先の一例としては、解析エンジン(データ供給源として)を挙げることができる。
【0024】
動作処理は、本明細書に提示した手法を使用する場合がある範囲の一例に過ぎず、当業者は、使用に適したデータ宛先の他の代替に容易に想到することができることを理解されたい。例えば、他の宛先としては、ごく少数の例にふれるだけでも、機械学習システム、旅行者のための自動ナビゲーション・アドバイザー(ダッシュボードに備え付けられた類の、またはハイカーのための)、天体の動きをプロットするためのシステム、および素粒子物理学の研究のためのシステムを挙げることができる。また、ただ1つのデータ・ソース(102)、1つのRDBM(104)および1つのデータ宛先(106)を図1に例示するが、実際の生活のシナリオでは、動作処理システム(100)を含む複数のデータ・ソース(102)、複数(またはゼロ個)のRDBM(104)および複数のデータ宛先(106)があってもよいことを理解されたい。
【0025】
図2は、コンピューティング・ノード(10)の概略例を示している。コンピューティング・ノード(10)は、好ましいコンピューティング・ノード(10)の一例に過ぎず、本明細書に記載の発明の実施形態の使用または機能の範囲に関するいかなる限定をも示唆することを意図しない。いずれにせよ、コンピューティング・ノード(10)は、本明細書に記載された任意の機能が実装されるかまたは実行しうるか、またはそのどちらもできる。コンピューティング・ノード(10)には、コンピューティング・デバイス(12)がある。周知のコンピューティング・デバイスの例としては、以下に限定されないが、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドまたはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサに基づくシステム、セットトップ・ボックス、プログラム可能な家庭用電化製品、ネットワークPC、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、および任意の上記のシステムやデバイスなどを含む分散コンピュータ環境が挙げられる。
【0026】
コンピューティング・デバイス(12)は、コンピュータ・システムによって実行されるプログラム・モジュールなど、コンピュータ・システムが実行可能な命令の一般的な文脈にて記述される場合がある。一般に、プログラム・モジュールは、ルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などを含んでいてもよく、それらは、具体的なタスクを実行するか、具体的な抽象データ型を遂行するコンピューティング・デバイス(12)は、分散クラウド・コンピューティング環境で実行されてもよく、そのような環境では、タスクは、通信ネットワークを介して連結された遠隔処理デバイスによって実行される。分散クラウド・コンピューティング環境では、プログラム・モジュールは、ローカル・コンピュータ・システムと、リモート・コンピュータ・システムの両方の記録媒体に位置させてもよく、これらの媒体には、メモリ記録デバイスが含まれる。
【0027】
図2に示すように、コンピューティング・ノード(10)内のコンピューティング・デバイス(12)は、汎用コンピューティング・デバイスの形態で示される。コンピューティング・デバイス(12)のコンポーネントとしては、以下に限定されないが、1つまたは複数のプロセッサまたは処理ユニット(16)、システム・メモリ(28)、およびシステム・メモリ(28)を含めた様々なシステム・コンポーネントをプロセッサ(16)に結び付けるバス(18)が挙げられる。
【0028】
バス(18)は、いくつかの型のバス構造のうちいずれか1つまたは複数を表し、該バス構造としては、メモリ・バスもしくはメモリ・コントローラ、周辺機器用バス、アクセラレーテッド・グラフィックス・ポート、および種々のバス・アーキテクチャのうちいずれかを使用するプロセッサもしくはローカル・バスが挙げられる。例として、限定するものではないが、そのようなアーキテクチャとしては、工業標準アーキテクチャ(ISA)バス、周辺コンポーネント相互接続(PCI)バス、PCIエクスプレス・バス、インフィニバンド・バス、ハイパートランスポート・バスおよびシリアルATA(SATA)バスが挙げられる。
【0029】
コンピューティング・デバイス(12)は、典型的には、コンピュータ・システムで読み取り可能な種々の媒体を含む。そのような媒体は、コンピューティング・デバイス(12)によってアクセス可能な任意の利用可能な媒体としてもよく、揮発性および不揮発性の媒体および取り外し可能なおよび取り外し不能な媒体の両方が挙げられる。
【0030】
システム・メモリ(28)は、コンピュータ・システムが読み取り可能な揮発性の形態をとる媒体を含むことができ、そのような媒体は、ランダム・アクセス・メモリ(RAM)30、キャッシュ・メモリ32やそれらの組合せなどがある。コンピューティング・デバイス(12)は、他の取り外し可能な/取り外し不能な、揮発性/不揮発性のコンピュータ・システム記録媒体をさらに含んでいてもよい。例示に過ぎないものの、読み出しおよび書き込みのための記録システム(34)を、取り外し不能な不揮発性の磁性媒体(図示しておらず、典型的には“ハード・ドライブ”とよばれる)を備えることができる。図示しないが、取外し可能な不揮発性の記録媒体(例えば“USBフラッシュ・ドライブ”)から読み出すか、またはそれに書き込むための磁性ディスク・ドライブ、およびCD−ROM、DVD−ROMや他の光学系媒体など、取外し可能な不揮発性の光学系ディスクから読み出すか、またはそれに書き込むための光学系ディスク・ドライブを、提供することができる。このような例においては、1つまたは複数のデータ媒体インターフェースによって、それぞれをバス(18)に接続することができる。以後にさらに図示または記載するように、メモリ(28)は、一連の(例えば少なくとも1つの)プログラム・モジュールを有する少なくとも1つのプログラム・プロダクトを含んでいてもよく、このプログラム・モジュールは、本発明の実施形態の機能を行うために構成されている。
【0031】
一連の(少なくとも1つの)プログラム・モジュール(42)を有するプログラム/ユーティリティ(40)は、例としてメモリに格納されていてもよく、限定するのではないが、また、オペレーティング・システム、1つまたは複数のアプリケーション・システム、他のプログラム・モジュール、およびプログラム・データを格納していてもよい。オペレーティング・システム、1つまたは複数のアプリケーション・システム、他のプログラム・モジュール、およびプログラム・データ、またはいくつかのそれらの組合せのそれぞれは、ネットワーク環境での実装を含むことができる。一般にプログラム・モジュール(42)は、本明細書に記載されているように、本発明の実施形態の機能、方法論またはそれらの組合せを遂行する。コンピューティング・デバイス(12)はまた、キーボード、標示デバイス、ディスプレイ24など1つまたは複数の外部デバイス(14)、ユーザがコンピューティング・デバイス(12)とやり取りすることを可能にする1つまたは複数のデバイス、コンピューティング・デバイス(12)や1つまたは複数の他のコンピューティング・デバイスとやり取りすることを可能にする任意のデバイス(例えばネットワーク・カード、モデムなど)、またはそれらの組合せとやり取りする場合もある。そのようなやり取りを、入出力(I/O)インターフェース(22)を介して発生させることができる。さらになお、コンピューティング・デバイス(12)は、ネットワーク・アダプタ(20)を介して、ローカルエリア・ネットワーク(LAN)、汎用ワイドエリア・ネットワーク(WAN)、公的ネットワーク(例えばインターネット)など、1つまたは複数のネットワークとやり取りすることができる。示さないが、他のハードウェア・コンポーネント、ソフトウェア・コンポーネント、またはそれらの組合せを、コンピュータ・システム/サーバと併せて使用することができることを理解されたい。例としては、以下に限定されないが、マイクロ・コード、デバイス・ドライバ、冗長処理ユニット、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、およびデータ・アーカイブ記録システムなどが挙げられる。
STBおよびSTB匿名化
【0032】
上記に記載したように、いくつかの解析は、STBの使用を介して、エンティティを、そのフィーチャおよびフィーチャのエレメントに関連付けることによって実施される。STBは、一般的に、いくつかの次元を有すると考えられており、その次元のそれぞれは特有のフィーチャを表す。次元は、空間的(例えば、緯度値の範囲に連関した経度値の範囲、メートルなどの平方上、立体上やさらに高い空間次元の標準的な測定単位での値、さらに大きな基板内でのシリコン・チップまたはウエハの範囲、望遠鏡によって撮影されるような空の一帯、1辺当たりのピクセルによって描図されるデジタル化された写真の一部など)、非空間的(例えば、ラジオ周波数帯域、オーディオ周波数帯域、デシベル帯域、温度帯域、圧力域、百分率値域、容量域、赤外光もしくは紫外光のスペクトルの一部、受信器の感度および出力の異なる様々な型のWiFiデバイスもしくはWiMaxデバイスを、コーヒー店によって提供されるサービスを介してインターネットに接続することが可能な範囲の、距離範囲に関連付けられたマイクロ波周波数の帯域、2羽の南アフリカサンショクツバメが互いに対話することが可能な範囲の、一連の可視色、可聴音および距離幅域など)、または時間的(例えば、時間間隔、サンプリングの速さ、流速、時計の速さ、カレンダーに書き込む機能など)としうる。STBは、二次元の時空間領域(すなわち、表面領域と時間間隔)、三次元の時空間領域(すなわち、空間領域および時間間隔)や、真に任意のn次元の時空間領域(例えば空間領域、時間間隔およびラジオ周波数帯域の組合せ)で表される。しかし、説明の便宜上、以後の実施例では、地理空間的な領域および時間間隔を反映するものとして、STBを具体的な粒度で使用することにする。STBの“粒度”は、例えば、STBのそれぞれの次元の精度を指定することによって構成される。さらに詳細に後述するように、少なくとも一部を、ユーザによって、エンティティに関連付けられたデータの“粒度”によって、またはそれらの組合せによって、それぞれの次元の精度を決定することができる。
【0033】
図1の動作処理システムに従って、示すように、システム(100)へのデータ宛先(106)として、解析エンジンを使用することができる。使用し易くするために、多くの解析エンジンは、XML(エクステンシブル・マークアップ・ランゲージ)など、標準化されたメッセージ書式の入出力に指向される。この理由から、そのようなエンジンはまた、英数字列の完全一致比較によく適している。
【0034】
所定の地理空間的な領域を表す英数字列を演算するために、パブリック・ドメインのジオハッシュ・アルゴリズムを使用することができる(http://en.wikipedia.org/wiki/Geohashを参照されたい)。このアルゴリズムは、正確に動作しうるが、地理区間的な事象のリアルタイム解析の間に必要な時間を表すには、不十分である場合がある。そのため、本発明の一態様に従って、高性能の時間量子化手法が改良、提供され、その結果、時間量子化への柔軟なアプローチがもたらされ、既存のパブリック・ドメインのジオハッシュ・アルゴリズムが向上する。あるいは、地理空間的な領域、時間間隔、またはそれらの組合せを表すために、ビット・ベクトルを使用することができる。地理空間的な領域および時間間隔をビット・ベクトルとして格納することによって、さらに少ない空間を占めることができ、それゆえ英数字列を格納するよりも拡張性に寄与する。しかし、ビット・ベクトルは、任意の型の空間領域を表すことができ、地理空間的であることを必ずしも必要としないことを留意されたい。
【0035】
一般に、STBを計算するために実装されているルーチンは、単純な時間量子化アルゴリズムと併せて、ジオハッシュ・パブリック・ドメインの地理空間的量子化アルゴリズムを使用することによって、地理空間的な事象に用いるための1つまたは複数のSTBを生成することができる。アルゴリズムの出力は、1つまたは複数のSTB鍵を形成するようプログラムによって連結することができ、該STB鍵は、本明細書の他の箇所に記載されているような本発明の配置ごとに匿名化することができる。図3は、匿名化されたSTB鍵をエンティティについて生成するための一実施形態によるプロセスを示す。
【0036】
図3に示すように、所与の時間に観察されるエンティティは、エンティティの緯度および経度の座標ならびに日付の値(すなわちエンティティについての時空間座標)に基づいて、STB(すなわち時空間領域)に関連付けられる(ステップ302)。次に、STBを表す鍵を読み出す(ステップ304)。鍵についてさらに詳細に後述するが、要するに、鍵とは、STBによって記載される空間範囲および時間間隔を表す英数字列である。そのため、同じ時間間隔の間に同じSTBでそこに在る2つのエンティティは、比較可能な鍵を有することになる。いくつかの実施形態では、ユーザは、STBの地理空間的な粒度を定めるように文字列の長さを構成することができる。典型的には、文字列が長いほど、STBの粒度が高いことを意味する。いくつかの実施形態では、ユーザはまた、1の事象に対応して1の入力座標の組を構成することができ、該入力座標は、様々な地理空間的な粒度の複数のSTBに割り当てられる。このことを、さらに詳細に後述する。
【0037】
最後に、STBを表す鍵を匿名化して(ステップ306)、プロセスを終了させる。上記に議論したように、匿名化は、解析エンジンがエンティティの空間と時間のデータを追跡および格納することを可能にし、それは、エンティティの解像度、関連性識別および洞察/妥当性の検出性を改善するために、データを回復可能に、有用に、またはそのどちらにもさせながら、望まない開示からデータを保護する形でなされる。
【0038】
いくつかの実施形態では、匿名化は、1つまたは複数の暗号化アルゴリズムを介して行うことができ、該アルゴリズムは、保護および機密性のために秘密鍵の使用を含んでいてもよい。例えば、いくつかの実施形態は、不可逆的な暗号化アルゴリズム(例えば一方向性関数)を使用し、ここで、秘密鍵は、“ソルト”値である。他の実施形態は、可逆性の暗号化アルゴリズム(例えば暗号化または符号化)を使用し、ここで、秘密鍵は、データ記録の所有者を明らかにするために必要な復号鍵である。データを匿名化する多くの手法があり、鍵の匿名化は、本明細書に提供される特有の例に限定されないことに留意されたい。多様な匿名化法が、当業者によって想定されうる。
【0039】
本明細書に記載のSTBの機能によって、解析エンジンは、XMLメッセージ構造の形態で、STB生成要求を受け入れ、応答することができるようになる。解析エンジン内へ送られた地理空間的なデータは、解析プラグイン・モジュールによって、またはスタンドアローンの実行可能なモジュールによって拡張され、観察された時空間座標について構成されたSTBを含むことができる。これらの匿名化されたSTB鍵は、次いで、エンティティの解像度、関連性識別、および洞察/妥当性の検出性を改善するためなどに利用可能となる。
【0040】
地理空間的なデータを解析エンジン内へ送るために、ユーザは、既定のXMLメッセージ階層を用いて働きかけて、観測値、観察されたエンティティ、エンティティの特徴および時間の値を特定することができる。ユーザは、解析エンジンに、一連の緯度、経度および時間の値を“GEO_LOC”フィーチャ内のフィーチャ・エレメントとして、送ることができる。以下は、緯度、経度および時間に関連付けられたエンティティの観測値を特定する完全なメッセージの一例である。
【0041】
【数1】
【0042】
【数2】
【0043】
【数3】
STB計算器は、単回の地理空間的な入力事象に応答して、複数のSTBおよび鍵を生成することができる。STBは、各種の粒度での領域および時間間隔を反映することができ、該粒度の全てが事象を包含する。以下は、一連の典型的なSTBを表す完全なメッセージの一例であり、該STBは、先のサンプルXMLで与えられた緯度、経度および時間の値によって反映される事象を包含する。
【0044】
【数4】
【0045】
【数5】
【0046】
【数6】
【0047】
いくつかの実施形態では、解析エンジンの標準的なデータベースのスキーマは、STBプラグイン・モジュールを構成するために使用される2つのテーブルを含む。これらのテーブルは、“PLU_STB_MASTER”テーブルに格納されたSTBマスター・リストと、“PLU_STB_ASSIGN”テーブルに格納されたSTB割り当てリストとを表す。これらのテーブルは共に、STBの組を決定し、プラグイン・モジュールが、所与の地理空間的な事象について生成されることになる。
【0048】
いくつかの実施形態では、PLU_STB_MASTERテーブルは、プラグイン・モジュールを用いて使用される一連の時空間の粒度を確立するために、以下の名前を伴うフィールドを含む。
i.STB_NAME
ii.STB_GRID_ID
iii.STB_SPACE_ORD
iv.STB_TIME_ORD
v.SPACE_FUNC
vi.SPACE_PARMS
vii.TIME_FUNC
viii.TIME_PARMS
【0049】
PLU_STB_MASTERテーブルは、考え得るSTBの型の組全体を規定し、解析エンジンは、一実施形態に従って、プラグイン・モジュールを使用して、この型を追跡し比較することができる。PLU_STB_MASTERテーブル内のエントリは、STBの型と、その地理空間的および時間的な間隔の精度の領域とを規定する。ユーザは、地理空間的な精度をジオハッシュ文字列の長さの値として特定することができ、この値は、生成されたSTB鍵が、2文字から26文字のジオハッシュ値を含むことになるということを示す。ユーザは、ミリ秒、秒、分、時、日または年を含みうる単位で、時間間隔の精度を特定することができる。ユーザはまた、時間単位の指定子の前方に正の整数値を指定して、それらの単位の数の倍数に時間間隔の境界が相当するようなSTBを生成することができる。PLU_STB_MASTERテーブル内のエントリを、以下にさらに詳細に記載することができる。
【0050】
STB_NAME−スペースタイム・ボックスの名称:STBの型の識別子である。典型的には、マスター・リストは、記述識別子を用いて入力されている。例えば、“GR1_GH6_1HOUR”などの識別子は、STBの型を格子1つに表し、その格子の地理空間的な精度は、6文字のジオハッシュ値であり、時間的な精度は、1時間である、STBなどに割り当てられる任意の事象は、同じ6文字のジオハッシュ領域で同じ時間内で起こる他の事象と同じとなる。実際の名前は、任意とすることができるが、人間による可読性を改善するために、いくつかの実施形態では、粒度を表す名前を使用することが有効である。
【0051】
STB_GRID_ID−スペースタイム・ボックスの格子識別子:格子の識別子である。単格子が最も一般的となるが、様々な実施形態によって、格子の識別子番号が支持される場合がある。格子は、重複、競合または全部無関係とさせることができる。
【0052】
STB_SPACE_ORD−スペースタイム・ボックスの地理空間的な順序:地理空間的な順序付けを実施するために使用することができる、STBの型の記述子である。いくつかの実施形態では、ジオハッシュの文字が同数である全てのマスター・テーブルのエントリは、同じ地理空間的な順序の値を有する。
【0053】
STB_TIME_ORD−スペースタイム・ボックスの時間的な順序:時間的な順序付けを実施するために使用することができる、STBの型の記述子である。いくつかの実施形態では、同じ時間間隔の精度である全てのマスター・テーブルのエントリは、同じ時間的な順序の値を有する。
【0054】
SPACE_FUNC−地理空間領域を規定する機能:比較することのできるSTB地理空間領域を生成するために使用される機能の名称である。一実施形態では、“GEOHASHER”機能は、パブリック・ドメインのジオハッシュ・アルゴリズムを使用して英数字列を生成するが、当業者の読み手は、空間を一般化する他の機能も使用することができることを理解している。
【0055】
SPACE_PARMS−地理空間領域を規定するパラメータ:フィルタリング・パラメータと併せて、マスター・リストのエントリに割り当てられた任意のSTBに連関して、実際のジオハッシュの精度で規定される、コンマで区分されたリストである。
【0056】
TIME_FUNC−時間間隔を規定する機能:比較することのできるSTB時間の間隔を生成するために使用される機能である。一実施形態では、“TIMRBOXER”機能は間隔を決定し、この間隔の“さらに下位の”および“さらに上位の”境界は、yyyy−mm−dd hh:mm:ss:uuuの形式で表示される。TIME_PARMS値によって具体的に要求されなければ、TIMRBOXER機能は、日またはそれよりも長い期間の時間間隔に関する下位のフィールドを省き、マイクロ秒のフィールドを省く。しかし、これは一例に過ぎず、他の機能も使うことができることを留意されたい。
【0057】
TIME_PARMS−時間間隔を規定するパラメータ:フィルタリング・パラメータと併せて、マスター・リストのエントリに割り当てられた任意のSTBに連関して、実際のジオハッシュの精度で規定される、コンマで区分されたリストである。一実施形態では、単位を特定する許容されうる列は、EVER、YEAR、MONTH、DAY、HOUR、MIN、SECおよびMSを含む。時間単位がEVERであるSTBに、任意の時間が比較可能である。
【0058】
いくつかの実施形態では、PLU_STB_ASSIGNは、以下の名前を有したフィールドを含み、その目的は、PLU_STB_MASTERテーブルによって規定された考え得るSTBの型のサブセットに、地理空間的な入力事象を関連付けるためである。
i.DSRC_CODE
ii.ETYPE_CODE
iii.STB_NAME
iv.OUT_FTYPE_CODE
v.OUT_UTYPE_CODE
vi.XPATH_FILTER
【0059】
それぞれの入来事象、すなわち、所与の場所および時間のエンティティの観測値に対して、STBプラグイン・モジュールは、一連のSTB、典型的には、割り当てリスト内のそれぞれの割り当てについて1つのSTBを生成する。STB割り当てリストのエントリは、適格事象に関連する一連のSTBの型を指定する。それぞれの事象について、STBプラグイン・モジュールは、割り当てリストに従って、割り当てられた一連のSTBを返す。プラグイン・モジュールは、それぞれの割り当てについてSTBを生成し、この割り当てでは、入力XMLは、割り当てリストのエントリの値に合致するDSRC_CODE値とETYPE_CODE値の両方を有し、XPATH_FILTERは、空であるか、見合った適用可能な条件を指示するかのどちらかである。
【0060】
DSRC_CODE−データ・ソース・コード。“CFG_DSRC”テーブル内のエントリに対応し、かつデータ・ソースを示す識別子であって、該データ・ソースについてSTBが生成される場合がある。地理空間的な入力事象を想定するとき、プラグイン・モジュールは、それらのSTBのみを生成し、該STBについて、割り当てのDSRC_CODE値は、事象を表す入力XMLドキュメント中の対応する値に合致する
【0061】
ETYPE_CODE−エンティティの型のコード:“CFG_ETYPE”テーブル内のエントリに対応し、エンティティの型を示す識別子であって、該エンティティの型についてSTBが生成される場合がある。地理空間的な事象を想定するとき、プラグイン・モジュールは、それらのSTBのみを生成し、該STBについて、割り当てのETYPE_CODE値は、事象を表す入力XMLドキュメント中の対応する値に合致する
【0062】
STB_NAME−スペースタイム・ボックスの名称:マスター・リスト内に規定されるSTBの型の識別子である。地理空間的な事象を想定するとき、プラグイン・モジュールは、一連のSTBを生成することができ、該STBのそれぞれは、各種の時空間粒度でのSTBをそれぞれ表す固有のSTB型を有する。返される全てのSTBは、所与の事象を含むことになる。
【0063】
OUT_FTYPE_CODE−出力フィーチャの型のコード。“CFG_FTYPE”テーブル内のエンティティに対応するフィーチャ型のコードである。このフィールドは、表現化された(プログラムによって生成した)フィーチャの型を指示し、該フィーチャ型は、割り付けリストのエントリに基づくSTB割り付けに関連付けられている。そのデフォルト値は、STB_KEYである。
【0064】
OUT_UTYPE_CODE−出力使用の型のコード。“CFG_UTYPE”テーブル内のエンティティに対応する使用型のコードである。このフィールドは、使用型を指示し、該使用型は、割り付けリストのエントリに基づくSTB割り付けに関連付けられている。
【0065】
XPATH−FILTER−Xpath構文を用いたフィルタリング列:フィルタを記述している文字列である。プラグイン・モジュールは、フィルタリング・ロジックを入力XMLドキュメントに適用し、任意のフィルタを受け入れる。該フィルタの構文は、XPath(XMLパス・ランゲージ)の仕様に従う。いくつかの実施形態では、このフィールドが空のままである際には、フィルタリングが何も適用されない。その他では、このフィールドが、所与の事象について“真”と評価する妥当なXPath表現を含んでいる際には、その事象は、STB_NAMEフィールド内に指示された型のSTBに割り当てられる。この割り当ては、次いで、当該事象について生成された結果セットのSTBに含められる。XPath表現が、所与の事象について“偽”と評価する際には、指示された割り当ては、結果セットのSTBには含まれない。
カスタム・プラグイン・コードを使用した非地理空間的な時空間データを用いた作業
【0066】
解析エンジンの標準的なSTB構成は、地理空間的な事象、例えば緯度、経度および時間などを表すことができる。いくつかの実施形態では、プログラミングに通じているユーザは、解析エンジンのためのカスタム・プラグイン・モジュールを生成することによって、他のSTB型のための支援を追加することができる。プラグイン・モジュールは、解析エンジンによって実行時間に呼び出すことのできる、ある種の所定の機能をエクスポートし、そのような機能としては、STBなど、表現化されたフィーチャを生成するために使用される機能が挙げられる。
スタンドアローン・スペースタイム・ボックス計算手段
【0067】
一連の時空間座標に関するSTBデータを生成するために、解析エンジンを動作させる必要はないことを留意されたい。いくつかの実施形態では、ユーザは、実行可能なモジュールを使用して、このデータを生成することを選択することができ、該モジュールは、インストールされた解析エンジンファイル・セットの部分として、または別々に、提供することができる。本明細書で使用する際の「実行可能なモジュール」という用語は、典型的なソフトウェア・アプリケーションまたはアプレット、例えばWindows(登録商標)、Linux(登録商標)またはSolaris(登録商標)を指し、それらは、ネイティブ、Java(登録商標)もしくは制御コードで、またはスクリプトとして実装可能であり、自前で全て動作し、どのような目的のためでもSTBデータを生成することができる。この実行可能なモジュールを使用して、ユーザは、解析エンジンが使用するのと同じ空間および時間のデータが前処理される間に、STBを生成し、それを用いて作業することができる。この実行可能なモジュールは、コマンド・ライン・スタイル・オプションを用いて呼び出すことができ、該オプションは、入力ファイル、出力ファイル、ならびにSTBマスター・リストおよび割り付けリストのエントリを含むテキスト・ファイルへのパスを標示する。
【0068】
上記に記載したように、様々な実施形態が、それぞれの日時値を、STBで使用するために、無署名の整数の配列として(任意の日時の座標に由来するミリ秒としてよりも)表すことを可能にする。人間に読み取り可能なデータと機械に読み取り可能なデータとの間の変換を回避することによって、時空間の量子化に依存する任意のアプリケーションが、高性能を達成することができる。
スペースタイム・ボックスのスライダ、ファジーな地理空間的/時間的量子化および座標のフィルタリング
【0069】
上記に記載されているように、いくつかの実施形態では、事象に関するインカミング・データは、例えば緯度、経度および日時値など、時空間座標が記載されたXMLフォーマットでの記録からなる。いくつかの実施形態では、追加的な入力データは、時空間の入力座標の精度を表すフィーチャ・エレメントを含むことができる。解析エンジンに用いるためのインバウンド記録は、地理空間的精度と時間的精度の両方の値を含むことができ、
i.LATITUDE
ii.LONGITUDE
iii.GEO_PRECISION
iv.DATETIME
v.TIME_PRECISION
などの形態をとることかできる。
【0070】
GEO_PRECISIONの値は、メートルを表す無署名の整数値で特定することができる。例えば、いくつかの実施形態では、この番号は、20メートル、60メートル、240メートルなどを表す。このフィールドが空欄であるか、または入来XMLで特定されていない際には、0メートルのエラーを示す0として扱われることになる。
【0071】
TIME_PRECISIONの値は、日時スタンプの精度を秒で示すことができる。典型的には、多くのデータ・ソース・システムによって提供されるように、これを0とすることになる。いくつかの実施形態では、それは、日常的に、例えば、0.1(すなわち100ミリ秒に設定されて、生じうるエラーのために調整することができる。
【0072】
GEO_PRECISIONおよびTIME_PRECISIONのフィーチャ・エレメントは、様々な目的に使用することができる。1つの目的は、不十分な精度を伴う入力データをフィルタリングするために、1つまたは複数のGEO_PRECISIONおよびTIME_PRECISIONの値を適格性の基準として使用することを含む。例えば、ジオハッシュ長が6バイト(すなわち610mの精度)である際には、100m以下の精度を有するそれらの地理的位置の記録のみを含めるために、フィルタを設定することができる。一方、ジオハッシュ長が8バイト(すなわち91mの精度)である際には、20m以下の精度を有するそれらの地理的位置の記録のみを含めるために、フィルタを設定することができる。このことは、生成されたSTBを、精度の上で合理的な粒度に制限し、例えば、+/−2000メートルの緯度/経度の精度が19メートルのボックスに割り当てられるのを防ぐ。
【0073】
精度のフィーチャ・エレメントの第2の目的は、本明細書で“スライダ”と称する概念を実行することである。すなわち、システム全体でまたはエンティティの型もしくはデータ・ソースによってのいずれかで、コンフィギュレーションの設定を閾値パーセンテージとして設定することができ、この閾値を超えて、追加的なSTBが生成されて事象を表す。事象が1つまたは複数の隣接した適格なSTBに当てはまることを、入力データの精度が示す際には、STB計算器によって返された一連のSTBのうち、該隣接STB(同じ空間的または時間的な粒度である)を含むように、STB計算器を構成することができる。精度に基づく近接したSTBのこの継承を構成するために、ユーザは、スライダ閾値として既知の値を設定することができる。
【0074】
さらに、設定変更可能な地理空間的範囲に基づいて、時空間座標をフィルタリングすることができる。指定されたジオハッシュに、または設定変更可能な緯度および経度の周囲のおおよその楕円の範囲に座標が当てはまる際には、これらの設定に基づいて(およびそれゆえ、結果のSTBを生成するか生成しないかのどちらかである)、STB計算器は、それらを含むことも除くこともできる。この機能を達成するために、いくつかの実施形態では、以下の構成の設定を、STB生成のために提供される。
【0075】
INCLUDE_IF_GEO_PRECISION−メートルでの地理空間的な精度:地理空間的な精度を表すメートルでの数値であり、その値を超えて割り当てを認めるSTBはない。データ・ソースによって、または観測によってのどちらかで、入来する地理空間的データを精度に関連付けてもよい。事象の精度の値が、GEO_PRECISIONの値以上である際には、事象は、STB_NAMEフィールド内で特定された型のSTBに割り当てられない。しかし、観察された精度の値が、GEO_PRECISIONの値以下である際には、指示された割り当ては、STBの結果セットを含んでいてもよい。例えば、GEO_PRECISIONを200に設定し、事象が2000の精度を有する際には、STBは生成されない。
【0076】
INCLUDE_IF_GEOHASH_LIST−割り当て得るのに適格するジオハッシュ列のリスト:地理空間的な領域を表す列のカンマ区切りリストである。リストがポピュレートされて、事象に関連付けられたジオハッシュ列がリストの列に合致する際には、事象は、STB_NAMEフィールド内で特定された型のSTBに割り当てられてもよい。別の状況では、指示された割り当ては、一連のSTBの結果に含まれない。
【0077】
INCLUDE_IF_NEAR_LAT−適格性ゾーン中心点の緯度:緯度の値を表す小数である。この値を設定して、適格性のおおよその楕円形ゾーンの中心の緯度を画定することができる。事象がゾーンで観察された際には、事象は、STB_NAMEフィールド内で指示された型のSTBに割り当てられてもよい。別の状況では、指示された割り当ては、STBの結果セットに含まれない。
【0078】
INCLUDE_IF_NEAR_LONG−適格性ゾーン中心点の経度:経度の値を表す10進数である。この値を設定して、適格性のおおよその楕円形ゾーンの中心の経度を画定することができる。事象がゾーンで観察された際には、それは、STB_NAMEフィールド内で指示された型のSTBに割り当てられてもよい。別の状況では、指示された割り当ては、一連のSTBの結果に含まれない。
【0079】
INCLUDE_IF_WITHIN_METERS−メートルでの適格性ゾーンの半径:適格性のゾーンの半径を表す数値であり、この値は、INCLUDE_IF_NEAR_LATフィールドおよびINCLUDE_IF_NEAR_LONGフィールドを介して構成される座標の中心に位置する。これらの3つのフィールドの全ては、適格性ゾーンを有効に構成するように設定されなければならない。事象がゾーンで観察された際には、それは、STB_NAMEフィールド内で指示された型のSTBに割り当てられてもよい。別の状況では、指示された割り当ては、一連のSTBの結果に含まれない。
【0080】
GEO_SLIDER_THRESHOLD_PERCENT−隣接STBの包含に関する地理的なエラーのパーセンテージ:エラーのパーセンテージを表す数値であり、STB計算器は、この値を超えて、入力GEO_PRECISION値に基づいて、事象を含みうる隣接STBを生成することができる。このフィールドが空である際には、またはGEO_PRECISION値が事象に関連付けられていない際には、結果セットに含まれる周囲のSTBがない。別の状況では、STB計算器は、事象に関連付けられたGEO_PRECISION値にこのパーセンテージ値を乗じて範囲を決定する。空間的に隣接し、かつエラーのパーセンテージ内で事象を含みうるSTBは、この範囲中にわたって存在することができる。
【0081】
図4は、観測値のGEO_PRECISIONが120メートルであり、GEO_SLIDER_THRESHOLD_PERCENT値が50に設定されている状況の図例を示す。STB計算器は、これらの値(この例では、120メートルの50%、または60メートルを取り上げる)を乗じて、任意の隣接STBが、事象の周囲の半径60メートルの範囲を横断するか否かを決定する。その範囲を横切る任意のSTBが、同等に包含されるのに適格である。さらに具体的には、STB計算器は、事象を含む可能性があるSTBについて、観測値の精度に基づいて、60メートルの半径を有するおおよそ円形の範囲を変換することによって検査する。この円形は、観測値の緯度および経度で中心に位置している。STB計算器は、任意のSTBを結果セットに全体的に含むか、または部分的に上記の範囲に配置する。このようにして、STB計算器は、名目上は事象を含むSTBに隣接した、およびそれと同じ粒度のSTBを生成することができるが、その生成は、事象の所与の座標およびその所与の精度に基づく。それらの座標および精度は、構成された任意のGEO_PRECISION、GEOHASH_LISTおよびXPATH_FILTERの設定に付されるものであり、該設定によって、これらの結果のいくつかまたは全てを除去することができる。
【0082】
図5は、図4に関して上記に記載されている状況の別の実施形態の図例を示す。ここでもまた、GEO_PRECISIONが120メートルであり、GEO_SLIDER_THRESHOLD_PERCENT値が50に設定されているが、包含円を作製する代わりに、上記に記載したように、STB計算器は、事象の名目上の位置の北、東、南および西に位置する4つのサンプリング・ポイントを選ぶ。これらの4点のそれぞれは、GEO_SLIDER_THRESHOLD_PERCENTを乗じたGEO_PRECISIONの名目上の位置から距離をおいて位置しており、ここで、GEO_SLIDER_THRESHOLD_PERCENTは、GEO_PRECISION(すなわちメートル)と同じ測定単位である。STB計算器は、サンプリング・ポイントを含む任意のSTBを結果セットに含む。そのため、ちょうど図4に関して記載されている実施形態にあるように、STB計算器は、名目上は事象を含むSTBに隣接した、およびそれと同じ粒度のSTBを生成することができるが、その生成は、事象の所与の座標およびその所与の精度に基づく。それらの座標および精度は、構成された任意のGEO_PRECISION、GEOHASH_LISTおよびXPATH_FILTERの設定に付されるものであり、該設定によって、これらの結果のいくつかまたは全てを除去することができる。
【0083】
GEO_SLIDER_THRESHOLD_PERCENT値は、25%など、潜在的な精度(エラー)の見積もりを低減する。上記の例では、構成されたパーセンテージが25である際には、STB計算器は、隣接STBについて検査し、その隣接STBでは、事象に最も近い境界が、事象の座標の周囲の半径30メートルの範囲(すなわち、120mの25%)以内に来る(またはそれ以内にサンプリング・ポイントを有する)。次いで、STB計算器は、それらのSTBを結果セット中に含むことができる。
【0084】
GEO_SLIDER_THRESHOLD_PERCENT値はまた、100%よりも大きくすることができる。上記の例では、GEO_SLIDER_THRESHOLD_PERCENT値が105である際には、STB計算器は、隣接STBについて検査し、その隣接STBでは、事象の座標の周囲から126メートル外側に、最も近い境界がある(または、該STBはサンプリング・ポイントを含む)。次いで、STB計算器は、それらのSTBを結果セット中に含むことができる。
【0085】
TIME_SLIDER_THRESHOLD_PERCENT−隣接STBの包含の時間的なエラーのパーセンテージ:エラーのパーセンテージを表す数値であり、STB計算器は、この値を超えて、入力TIME_PRECISION値に基づいて、事象を含みうる隣接STBを生成することができる。このフィールドが空である際には、または設定されているTIME_PRECISION値がない際には、結果セットに含まれる周囲のSTBがない。別の状況では、STB計算器は、事象に関連付けられたTIME_PRECISION値にこのパーセンテージ値を乗じて時間間隔を決定する。時間的に隣接し、かつエラーのパーセンテージ内で事象を含みうるSTBは、この時間間隔にわたって存在することができる。
【0086】
時間は、空間と同様に扱うことができる。上記の例では、イベントのTIME_PRECISION値が1秒である際に、STB計算器は、事象の1秒前および1秒後の時間を検査する。それらが、結果として得られる時間間隔に全体的にまたは部分的に含まれる際に、STB計算器は、隣接(イン・タイム)STBを生成することができる。結果として得られる時間間隔は、構成された任意のGEO_PRECISION、GEOHASH_LISTおよびXPATH_FILTERの値に付される。TIME_SLIDER_THRESHOLD_PERCENT値が50である際には、本実施例では、STB計算器は、生成することが可能な隣接(イン・タイム)STBについて、事象の前後の2分の1秒まで時間間隔のみを検査する。
【0087】
いくつかの実施形態では、ルーチンは、近い時間間隔に対する時間間隔の境界に、所与の日時値が充分に”近接している”か否かを決定して、STBの結果セット中の包含に適格であるようにすることができる。
【0088】
いくつかの実施形態では、ルーチンをスライダ演算に使用して、”さらに低いバウンド”のスライダに使用される時間領域の基盤を一般化することができるが、それは、その時間を、年、月、日、時間、分、秒およびミリ秒のうち1つまたは複数に置き換えることのできる一連の数値として置き換えることによってなされる。日時値を任意の日時からオフセット(ミリ秒または他での)に変換することなく、この演算を実施することによって、他で達成されうるよりも高い性能が可能になる。
高速な候補選択のための時空間の量子化と別個のエンティティのカウンタの使用
【0089】
いくつかの実施形態では、解析エンジンは、既存のエンティティを用いて、インバウンド・エンティティを解明することができる。その際に経るプロセスは、候補の選択によって開始され、当該選択は、匿名化されたSTB鍵を使用して、候補エンティティ同士の時空間的な同時発生(すなわち、2つにエンティティが同じSTBに関連付けられているか否か)を特定することによってなされる。上記に記載したように、船などのエンティティが、STBフィーチャに関連付けられている際には、他のエンティティをそれと比較して、STBによって規定されたある粒度で、ある時間のそのエンティティの地理空間的な位置に、厳密に合致させる(またはさせない)ことができる。観察されたエンティティが、候補エンティティと十分に類似していることが見出された際に、すなわち、候補の船舶が、観察された船と充分なフィーチャを共有している際には、解析エンジンは、観察されたエンティティおよび候補エンティティを、それらが1つのまたは同じエンティティであるものと見做すことによって、解決することができる。
【0090】
単一のSTBは、ゼロ、僅かな数、または多数の以前に観察されたエンティティを含むことから、同じSTBを共有する個々の(固有の)エンティティの数をリアルタイムで計数することは意味がある場合がある。個々のエンティティの計数と、構成可能なリアルタイムでのSTB鍵への粒度による割り当てとの組合せによって、新しいエンティティに用いる候補区画が迅速かつ効率よく作製される。いくつかの実施形態では、この作業は以下の通りである。
【0091】
1.空間および時間は、特定の匿名化されたSTBを有したフィーチャとして表されるSTBに分解することによって、一般化および匿名化することができる。解析エンジンは、他のフィーチャ間でSTB鍵を比較して、2つのエンティティが同じである(対応する鍵を有することによる)かまたは異なる(対応する鍵を有さないことによる)かを決定することができる。すなわち、STBフィーチャに関連付けられた任意のエンティティを、それらのSTB鍵によって区別することができる。STB鍵を共有するエンティティは、STBのコロケーションと、該エンティティの他のフィーチャとに基づいて、単一のエンティティのものに解決することができる。匿名化されたSTB鍵に合わない(例えば、同時に2つの場所に存在することができない)エンティティは、自動的に単個のエンティティに解像することができない。
【0092】
2.エンティティは、異なるSTB粒度に関連付けることができ、したがって、様々な長さのSTB鍵は、データ・ソースの精度と、ユーザによる構成が可能な設定とに基づいて、演算、格納および比較することができる。図6は、それぞれエンティティAおよびエンティティBという2つのエンティティが、相異なるSTBにどのように関連付けられるかに関する概略図を示す。図6に見られるように、エンティティAおよびエンティティBはどちらも、さらに粒度の低い同じエンティティに存在する(すなわち、それらが、匿名化されていないそれぞれのジオハッシュ鍵を割り当てられた地理空間的なエンティティである際には、これらの鍵は一点にまで一致してもよい)が、それらは、さらに粒度の高い相異なるSTBに存在する(すなわち、それらのそれぞれのジオハッシュ鍵の最後の部分が異なる)。
【0093】
3.エンティティのセット(例えば、座標および半径によって、XPathフィルタリングによって、または他に地理空間的な包含および/もしくは排除によって、選択することが可能な空間および時間の幅域)は、ユーザによる構成が可能な設定に従って、匿名化されたSTB鍵を介して選択することで、候補選択の性能と拡張性のどちらをも強化することができる。
【0094】
4.解像に用いる候補のエンティティは、STBに関連する評価に基づいており、一般的には近傍に観察されるエンティティの総数に従って、選択することができる。例えば、20キロメートルの範囲をカバーするSTBは、大都市の設定をカバーしていてもよいし、外洋での設定をカバーしていてもよい。一方、何千ものエンティティが、大都市の設定内で区別されていてもよく、その際には、そのように多数の候補エンティティを検討しようとする試みが、候補の選択のために拡大縮小することはない。一方、少ないエンティティ(例えば船)のみが、海洋の設定内で区別されていてもよく、その際には、同じSTBを共有する比較的少数のエンティティは、それら全てが、予想される解像に用いる候補として、つまりは大規模で認証されることになる。
【0095】
5.いくつかの実施形態では、解析エンジンは、個々のエンティティあたりに1回、エンティティのフィーチャを計数する。1つのSTBで複数の場合に観察されるエンティティは、そのSTBに1回のみ観察されているものとして計数する。この至適化によって、多数の類似の観測値を、比較的少数の単独発生の表象に低減することが可能になり、該単独発生のそれぞれは、特定の追跡されたエンティティを反映する。さらに、この最適化は、任意のエンティティのフィーチャに適用可能であり、そのようなフィーチャとしては、大幅なエンティティ解像度の拡張性を提供するSTBフィーチャが挙げられる。
【0096】
前述の空間および時間の能力のセットは、匿名化された鍵と匿名化されていない鍵のどちらにも適用することができ、拡張可能でありかつプライバシ保護性のある、高度に実用的なエンティティの解像度をもたらし、この解像度は、データ・ソースの領域から入来する地理空間的なデータに基づく。
ハングアウト検出
【0097】
いくつかの実施形態では、動作処理機能を使用して、”ハングアウト”を検出し報告することができ、ハングアウトとはすなわち、ある時間間隔にわたる少なくともある数の機会に関するある一連のSTBでエンティティが観察される状態である。いくつかの実施形態では、ハングアウト検出は、解析エンジンによって処理するための、または任意の別の目的のためのデータを提供する、スタンドアローンの実行ファイルを介して利用可能にすることができる。いくつかの実施形態では、ハングアウト検出は、解析エンジン自体のコンポーネントを介して利用可能にすることができる。
【0098】
ハングアウトを検出する実行ファイルまたはコンポーネントは、エンティティの挙動をモニターし、エンティティが1つまたは複数のSTBにて”ハングアウト”が観察される状態を通知する。ハングアウト検出によってカバーされるデータ・ソース、エンティティの型および空間的な範囲は、全て構成可能である。いくつかの実施形態では、ハングアウト検出器は、メモリ内でのイベント・トラッキングを使用して、至適な効率でハングアウトを検出する。
【0099】
いくつかの実施形態では、ハングアウト検出器のメモリ内の事象データは、プロセスにわたって共有化されていない。そのため、特定のエンティティに関する入来動作データは、該エンティティを追跡している特定のハングアウト検出器ノードへ矛盾無く渡される。一実施形態では、単純なスキームが、同じ観測値ソース鍵(OBS_SRC_KEY)値を通常は通過して、同じ動作処理濃度へ移動することを含む。ハングアウト検出器を配置する際に、ユーザは、単純なモジュロ機能を介してこれを実装することができる。
【0100】
いくつかの実施例では、ハングアウト検出器のメモリ内の事象データは、揮発性である。すなわち、ハングアウト検出器が起動および再起動する度に、任意の処理中のハングアウトが失われる。このことは、プロセスの停止および再起動は、システムが実際のハングアウトを報告し損なう原因となりうることを意味する。これを改善するために、動作データ履歴のいくつかを再実行することができる。例えば、48時間内を遡り、再起動された任意のノードに適用可能なその間の動作記録を再実行する。
【0101】
ハングアウトは、設定変更可能な時間ウィンドウ、または時間軸に基づいて検出することができ、その継続期間では、追跡されているエンティティおよび事象の数に基づく実用上の限界がある。時間が過去の時間軸を移動するにつれて事象は満了し、満了した事象を追跡するために使用されたメモリは再生される。ユーザが、大幅に異なる継続期間の軸を設定する必要がある際には、ユーザは、拡張性に関わる複数のハングアウト検出器のプロセスにタスクを割り当てることができる。プロセスが、分に基づく動作データに働き掛けて、日毎のハングアウト記録を生成する場合もある。次いで、これらの記録を、別のプロセスへ流される事象として処理することもできよう。そのような別のプロセスは、ハングアウトの上にハングアウトを演算する。すなわち、日毎のハングアウトが、動作データとして処理されて、週毎または月毎のハングアップにまとめ上げられる。
【0102】
構成のテーブルまたはファイル(例えばコンマ区切り値「.csv」の形態である)を使用して、”ハングアウト”として定義されているものを構成することができる。構成可能なパラメータには、任意の所与のデータ・ソース、エンティティの型およびSTBに用いる、事象の適格な時間間隔と最小数とが含まれる。これらの閾値が満たされた際に、ハングアウト検出器は、エンティティについてハングアウト記録(XML構造)を生成する。
【0103】
いくつかの実施形態では、ハングアウト検出器の実行可能モジュールを、以下のコンマ区切りフィールドを含むファイルによって、構成することができる。
i.DSRC_CODE
ii.ETYPE_CODE
iii.STB_KEY
iv.QUAL_DUR
v.QUAL_DUR_UOM
vi.MIN_EVENTS
【0104】
一実施形態では、STBハングアウト構成は、データ・ソース、エンティティの型およびSTBを、以下の時間および事象の閾値に関連付ける。
【0105】
DSRC_CODE−データ・ソース・コード:”CFG_DSRC”テーブル中のエントリに対応し、動作データに用いるデータ・ソースを標示する識別子である。このフィールド中の値は、データ・ソースを指し示す任意のコード、例えば”AIS”を表すことができる。
【0106】
ETYPE_CODE−エンティティ型コード:”CFG_ETYPE”テーブル中のエントリに対応し、エンティティ型を標示する識別子である。このフィールド中の値は、エンティティ型を指し示す任意のコード、例えば”VESSEL”を表すことができる。
【0107】
STB_KEY−スペースタイム・ボックス鍵:PLU_STB_MASTER構成テーブル中の、またはSTB構成設定、例えば”GR1_GH6_1HOUR”のいくつかの他のソース中の値を表すSTB型に関する識別子である。
【0108】
QUAL_DUR−適格性継続期間:最大の適格な時間間隔である時間軸を表す数値であり、該時間間隔内では、ハングアウトが時間的に適格とされてゆく。ハングアウトはまた、MIN_EVENTSフィールドに指定された事象の数に基づいて、適格とされなければならない。
【0109】
QUAL_DUR_UOM−適格性継続期間測定単位:QUAL_DUR値に適用可能な測定単位に用いる識別子である。許容されうる識別子としては、例えば、YEAR、MONTH、DAY、HOUR、MIN、SECおよびMSを挙げることができる。
【0110】
MIN_EVENTS−最小の適格事象:事象の適格とされた最小数を表す数値であり、該事象は、ハングアウトが適格とされてゆく前に観察されなければならない。
【0111】
いくつかの実施例では、STBに関連して上記に示したXMLメッセージ・フォーマットをまた、ハングアウト検出器によって使用し、地理空間的な事象を一般化することができる。さらに、ハングアウトのSTBは、静止した時空間座標であるSTBを標準化することができるまさにその方法で、匿名化することができる。
【0112】
いくつかの実施形態では、それぞれの観察されたエンティティについて、ハングアウト検出器は、ハングアウト構成テーブルまたはファイル内で、STB鍵に関連付けられた事象を追跡する。ハングアウト検出器は、いずれ満了する構成された時間軸を超過する任意の事象(ハングアウトとして認められていない)の蓄積を検討する。ハングアウト検出器は、関連の事象がひとたび満了すれば、ハングアウト記録を何ら生成しないことになる。代わりに、それらの蓄積された事象に用いるメモリの割り当てを解除する。
【0113】
一実施形態では、”EXPIRE_EVENTS_BY_STB_INTERVALと称されるオプションに基づき、ハングアウト検出器は、代替的に、完全なSTB情報に関連付けられた事象を追跡することができる。次いで、ハングアウト検出器は、構成された時間軸と、満了するSTB時間間隔の限界とのどちらかよりも以前の、任意の事象を検討することができる。また、EXPIRE_EVENTS_BY_STB_INTERVALオプションが設定されている際には、ハングアウト検出器は、構成された時間軸とSTB間隔とのどちらかに基づいて、満了している事象記録の割り当てを解除することもできる。図7は、ハングアウト間隔の境界で事象がどのように満了するかに関する概略図である。MIN_EVENTSが3に設定されると、図7に示されている3事象全てが、閾値の要件を満たすものとして認められ、ハングアウトが通知される。
【0114】
STB時間間隔の境界で事象が満了する一実施形態では、一般的なSTB内にないそれらの事象は、該STBについて報告するハングアウトには寄与せず、ハングアウトは、MIN_EVENTSが0または1に設定された際にのみ、上記のシナリオ内に通知される。そのような実施形態では、ハングアウト検出器の拡張性および性能がいくらか低減することになることが想定される。
【0115】
図8は、ユーザが、クオリファイング・タイムボックス・パーセンテージ(QUAL_TIMEBOX_PERCENT)を設定して、いつハングアウトを検出するべきかを規定することができる、一実施形態を示す。図8では、エンティティは、STB1にて30%の時間を、STB2にて70%の時間を費やしている。ユーザが、QUAL_TIMEBOX_PERCENTを50%に設定している際には、ハングアウトは、STB2に通知される。ユーザが代わりに、QUAL_TIMEBOX_PERCENTを30%に設定している際には、ハングアウトは、STB1とSTB2のどちらにも通知されることになろう。
【0116】
いくつかの実施形態では、ハングアウトは、適格とされた時間枠内に適格とされた数の事象が発生した際に、直ちに通知される。さらに、同じSTB内に発生した事象は、さらに別のハングアウト・レポートを生じない。すなわち、ハングアウト・レポートは、STBあたりのエンティティにつき1つを超えないよう制限され、そのため、ハングアウト検出は、他にそうなりうるよりもいっそう効率の良いものとなる。
【0117】
いくつかの実施形態では、エンティティおよび事象を迅速に検索するために、ハングアウト検出器は、数字表記のエンティティ鍵によって、スキップリスト内でエンティティを追跡する。追跡されているそれぞれのエンティティに関連付けられた事象を、FIFOキューに記録し、追跡されているエンティティあたり1キューとする。キュー・クリーンアップ・スレッドは、エンティティ・リストおよび事象キューを日常的に巡回し、適格継続期間より以前の任意の事象に関連付けられたトラッキング構造の割り当てを解除する。キュー・クリーンアップ・スレッドはまた、事象キューが全体的に空になりつつある任意のエンティティに関連付けられたトラッキング構造の割り当てを解除する。このことを概略図として図9に示す。本実施形態に関するさらに詳細な議論を、図10および図11を参照して以下に記載する。図10および図11は、2つのフローチャートを示し、一実施形態による、複数スレッドからなるハングアウト検出器のスレッドに関わる処理ステップを表す。
【0118】
図10は、第1のスレッドのオペレーションを示し、図11は、第2のスレッドのオペレーションを示す。図10にみられるように、スレッドは、エンティティを観察することによって開始する(ステップ1002)。次いで、スレッドは、エンティティが認識されているか(すなわち、エンティティ・スキップリストに見出されるか)否かをチェックする(ステップ1004)。エンティティがスキップリスト見出されない際には、スレッドは、ステップ1006へと続き、エンティティがスキップリスト内で追跡される。エンティティがスキップリスト内で追跡される際には、ステップ1004で肯定判定された結果として、またはステップ1006にてエンティティ・スキップリスト内でエンティティの追跡が開始された結果として、スレッドは進み、エンティティを含有しているSTBを判定する(ステップ1008)。次に、STBは、ビット・ベクトルおよび日時構成として、エンティティの事象キューに記録される(ステップ1010)。次いで、スレッドは、エンティティに関連付けられ、かつ構成された時間軸よりも以前のものである、何らかの事象があるか否かを検査する(ステップ1012)。そのような事象がある際には、満了したこれらの事象は削除される(ステップ1014)。そのような事象がない際には、または以前の事象が削除されていない際には、スレッドはステップ1016に進み、最小限の事象数が記録されているか否かをチェックして、ハングアウトを報告するための認証を得る。そのような最小限の事象数が記載されていない際には、スレッドがさらに別の任意の観測値を処理することができるように、ハングアウト検出器は動作を続ける(ステップ1022)。最小限の事象数が記載されている際には、スレッドが進んで、エンティティおよびSTBについてハングアウトが報告されているか否かを判定する(ステップ1018)。ハングアウトが報告されている際には、ハングアウト検出器は、さらに別の観察に備えて動作し続ける(ステップ1022)。エンティティおよびSTBについてハングアウトが報告されていない際には、スレッドはステップ1020へと続き、STB内でのハングアウトとしてエンティティを報告し(ステップ1020)、ハングアウト検出器が動作を続け(ステップ1022)、これを以て第1のスレッドの内容が完結する。
【0119】
第1のスレッドに並列して、図11に示すように第2のスレッドが動作する。図11にみられるように、第2のスレッドは、エンティティ・スキップリストが空か否かを判定する(ステップ1102)。エンティティ・スキップリストが空である際には、スレッドは、エンティティが観察されるまで待機する(ステップ1104)。ステップ1102でスキップリストが空でないことが決定された際には、スレッドは、スキップリストの開始へ進み(ステップ1106)、エンティティに関連付けられ、かつ構成された時間軸より以前のものである、何らかの事象があるか否かを判定する(ステップ1108)。そのような事象がある際には、満了したこれらの事象は削除され(ステップ1110)、スレッドは、スキップリスト内の次のエントリへ進む(ステップ1112)。ステップ1108で、エンティティに関連付けられ、かつ構成された時間軸より以前のものである事象がない際には、スレッドは、スキップリスト内の次のエントリへ進み(ステップ1112)、これを以て第2のスレッドの内容が完結する。スキップリストの次のエントリは、第1のエントリを含み、スレッドがスキップリストの終わりに達した際に、該第1のエントリは次のエントリとなることに留意されたい。
【0120】
いくつかの実施形態では、ハングアウト検出器は、検出条件を解析エンジンに通知する際には、匿名化されたハングアウトに関するデータを解析エンジン内に渡すことによって行う。XMLデータは、STB_KEYというフィーチャタイプ・コードと、HANGOUTという使用タイプ・コードとを用いて、観察されたフィーチャを表す。XMLデータは、フィーチャ・エレメントを含み、該エレメントのコードは、EXPRESSIONであり、該エレメントの値は、検出されたハングアウトが発生した領域に対応するSTB鍵である。
結びの見解
【0121】
本明細書に記載のプライバシ強化エンティティ追跡を実行する際に、ユーザは、観察されたエンティティが、0−nに匿名化されたSTB鍵に関連付けられるように、および本明細書に記載の方法が実行されるように、任意のいくつかの処理ノードによって調整することができる。例えば、1つのコンピュータは、全ての入来記録を処理することができ、次いで、個々のタスクを他のN個のコンピュータ(すなわち、N個の処理ノード)の1つに託す。決定は、数値化されたエンティティと観測値の識別子とに基づいて、N個のノードのうちどのノードにタスクを振るかというように行うことができる。いくつかの実施形態では、この決定は、入力識別子をモジュロNとするような簡単なものにすることができる。
【0122】
上記の実施形態は、XMLに関して記載されており、XMLは、急速に、タグ化されたデータをアプリケーションおよび/またはコンポーネント間で移送するための標準規格となりつつあるが、他にもいくつかの標準化されたメッセージ・フォーマットまたは形態があり、それらにて出力を提供することができることに留意されたい。例えば、1つの代替として、メモリ内データ構造など、タグのない記録装置などがある。該メモリ内データ構造は、アプリケーションまたはコンポーネント間で一致しており、名を付されたパイプ、共有メモリ、キュー、ディスク上ファイルなどの手段を介して共有されている。別の代替例としては、データベースへのデータの書き込み(例えばSQLエンコードの使用)および他のアプリケーションまたはコンポーネントへのデータの読み出しが挙げられる。さらに別の代替例としては、カスタム・データの移送プロトコルの書き込みが挙げられる。理解されるように、データ交換機構の多くのバリエーションが、当業者によって想定されうる。
【0123】
さらに、上記の実施形態の大部分は、経度座標や緯度座標など、地理空間的な領域を表す空間次元について記載されているが、同じ手法は、非空間的次元に適用することができ、この非空間的次元は、特定の携帯電話用タワーによってカバーされる地理空間的な範囲を、例えば、特定の無線ネットワークによってカバーされる地理空間的な範囲などを表すことを留意されたい。多くのバリエーションが、当業者によって想定されうる。これらの手法はまた、地理空間的でない空間領域に適用することができ、そのような空間領域としては、例えば、仕切られた基板の領域、閉鎖系の領域、又は地球外の視点から想定される天体の領域がある。
【0124】
図中のフローチャートおよびブロック図は、本願の発明の様々な実施形態による、ありうるシステム、方法およびコンピュータ・プログラム・プロダクトの実装に関するアーキテクチャ、機能およびオペレーションを説明している。この点、フローチャートまたはブロック図のそれぞれのブロックは、モジュール、セグメント、コード片に置き換わってもよく、それらは、指定された1つまたは複数の論理関数を実装するための、1つまたは複数の実行可能な命令を含む。いくつかの代替の実現例では、ブロックに言及された関数は、図に言及された順序を外れて発生しうることに留意されたい。例えば、連続して示された2つのブロックが、実際には、ほぼ同時に実行されてもよいし、時には、当該ブロックは、含まれる機能に応じて、逆の順番で実行されてもよい。ブロック図とフローチャート図説とのどちらかまたはその両方の各ブロック、および該ブロック図と該フローチャート図説とのどちらかまたはその両方のブロックの組合せを、指定された関数および動作を実行する専用ハードウェア・システム、または専用ハードウェアおよびコンピュータ命令の組合せによって、実装することができることもまた留意されよう。
【0125】
本明細書で使用する用語は、特定の実施形態を説明するためのみに使用され、本発明を限定することを意図するものではない。本明細書で使用されるとき、単数形態“a”、“an”、および“the”は、文脈が明らかに他を示さない限り、同様に複数形態を含むことを意図する。さらに本明細書における用語“含む”または“含んでいる”、またはそれら両方は、記述された特徴、整数、ステップ、操作、要素、またはコンポーネント、またはこれらの如何なる組み合わせの存在を規定するものであって1つ以上の他の特徴、整数、ステップ、操作、要素、コンポーネントまたはそれらのグループやこれらの如何なる組み合わせを排除するものではない。可能な値の範囲を表現するために2つの数値限定XおよびY(例えば、濃度XppmからYppm)を使用する場合、他のことが記述されない限り、値は、X,Y、またはXとYの間の如何なる数とすることができる。
【0126】
添付の特許請求の範囲にある、対応の構造、物、行為、およびあらゆる手段またはステップ・プラス・ファンクションの要素の等価物は、具体的に特許請求の範囲にあるように、特許請求の範囲の他の要素と組み合わせて機能を実行するための任意の構造、物、行為を含むことを意図する。本願の発明の記述は、例示および説明の目的のために提示されたのであって、本発明を開示された形態に終止させるものであるとか、本発明を制限するものとかを意図するものではない。多くの改変および変形は、本発明の範囲および精神を逸脱することなく、当業者にとって明らかとなろう。実施形態は、本発明の原理、実際的な適用を、当業者が本発明を理解することを可能とするために最適に説明するべく選択され、記述されたものであり、意図された具体的な使用に適するように様々な改変を伴う様々な実施形態に用いるためのものである。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
【国際調査報告】