(57)【特許請求の範囲】
【請求項１】
データの形式及びデータの構造が予め知られていない任意のデータソースから出力されたデータを習得するためのソフトウェアプラットフォームであるアグノスティックデータブローカに習得されたデータを共通にアクセス可能に統合する方法であって、
前記アグノスティックデータブローカは、少なくとも１つのプロセッサ上で実行する少なくとも１つのソフトウェアコンポーネントと、データを格納するデータ格納所と、を備え、
前記ソフトウェアコンポーネントによって、
前記データと、前記データの形式及び前記データの構造を記述したマニフェストとを含む第１ＡＰＩ呼出を受信する第１ＡＰＩを使用して、前記データをデータソースから習得する段階と、
前記データ格納所に前記習得されたデータを格納する段階と、
前記格納されたデータにアクセスするために、前記データに関連するマニフェストに基づき、ＳＱＬ命令語又はＳＱＬ命令語に準じたデータベース検索を用いて前記データを照会する第２ＡＰＩ呼出を受信する第２ＡＰＩを提供する段階と、を有することを特徴とする方法。
【請求項２】
前記マニフェストは、前記データが離散的なブロック内にあるか又は連続的なストリーム内にあるかを定義する項目別リストを通じて前記データの構造のフォーマットを記述するＸＭＬファイルとして具現されることを特徴とする請求項１に記載の方法。
【請求項３】
前記データ及び前記マニフェストは、前記第１ＡＰＩ呼出に引数として含まれることを特徴とする請求項１に記載の方法。
【請求項４】
前記ソフトウェアコンポーネントによって、加工されていないデータとして前記データを前記データ格納所に格納する段階を更に含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記第１ＡＰＩ呼出は、引数として、前記加工されていないデータが特定のフォーマットに翻訳されて標準化データとして格納される経路を記述した標準化パスを更に含むことを特徴とする請求項４に記載の方法。
【請求項６】
前記第２ＡＰＩ呼出は、頭脳部によって発行され、
前記頭脳部は、前記データを分析する少なくとも１つのアプリケーション及びアルゴリズム若しくはサービスを含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記データを分析した結果は、前記頭脳部によって前記アグノスティックデータブローカにフィードバックされ、他のデータソース及び他の頭脳部からの他のデータに対して提供されることを特徴とする請求項６に記載の方法。
【請求項８】
前記ソフトウェアコンポーネントによって、使用者が加入するオンラインモデルに基づいて、使用者装置に前記データ及び前記頭脳部へのアクセスを提供する段階を更に含むことを特徴とする請求項６に記載の方法。
【請求項９】
前記ソフトウェアコンポーネントによって、前記データソース及び使用者装置に前記格納されたデータ又は前記データを分析した結果を伝送するための命令語を含む第３ＡＰＩを使用する段階を更に含むことを特徴とする請求項７に記載の方法。
【請求項１０】
前記頭脳部は、前記アグノスティックデータブローカにプラグインされるバックエンドクラウドサービス及びダウンロードアプリケーションのうちの少なくとも１つを含むことを特徴とする請求項６に記載の方法。
【請求項１１】
データの形式及びデータの構造が予め知られていない任意のデータソースから出力されたデータを習得するためのソフトウェアプラットフォームであるアグノスティックデータブローカに習得されたデータを共通にアクセス可能に統合するシステムであって、
前記アグノスティックデータブローカは、
少なくとも１つのプロセッサ上で実行する少なくとも１つのソフトウェアコンポーネントと、
前記データを前記データソースから習得するために、前記データと、前記データの形式及び前記データの構造を記述したマニフェストとを含む第１ＡＰＩ呼出を受信する第１ＡＰＩと、
前記習得されたデータを格納するためのデータ格納所と、
前記格納されたデータにアクセスするために、前記データに関連するマニフェストに基づき、ＳＱＬ命令語又はＳＱＬ命令語に準じたデータベース検索を用いて前記データを照会する第２ＡＰＩ呼出を受信する第２ＡＰＩと、を備えることを特徴とするアグノスティックデータブローカシステム。
【請求項１２】
前記マニフェストは、前記データが離散されたブロック内にあるか又は連続的なストリーム内にあるかを定義する項目別リストを通じて前記データの構造のフォーマットを記述するＸＭＬファイルとして具現されることを特徴とする請求項１１に記載のアグノスティックデータブローカシステム。
【請求項１３】
前記データ及び前記マニフェストは、前記第１ＡＰＩ呼出に引数として含まれることを特徴とする請求項１１に記載のアグノスティックデータブローカシステム。
【請求項１４】
前記データは、加工されていないデータとして前記データ格納所に格納されることを特徴とする請求項１１に記載のアグノスティックデータブローカシステム。
【請求項１５】
前記第１ＡＰＩ呼出は、引数として、前記加工されていないデータが特定のフォーマットに翻訳されて標準化データとして格納される経路を記述した標準化パスを更に含むことを特徴とする請求項１４に記載のアグノスティックデータブローカシステム。
【請求項１６】
前記第２ＡＰＩ呼出は、前記データを分析する少なくとも１つのアプリケーション及びアルゴリズム若しくはサービスを含む頭脳部によって発行されることを特徴とする請求項１１に記載のアグノスティックデータブローカシステム。
【請求項１７】
前記データを分析した結果は、前記頭脳部によって前記アグノスティックデータブローカにフィードバックされ、他のデータソース及び他の頭脳部からの他のデータに対して提供されることを特徴とする請求項１６に記載のアグノスティックデータブローカシステム。
【請求項１８】
使用者が加入するオンラインモデルに基づいて、使用者装置に前記データ及び前記頭脳部へのアクセスが提供されることを特徴とする請求項１６に記載のアグノスティックデータブローカシステム。
【請求項１９】
前記データソース及び使用者装置に前記格納されたデータ又は前記データを分析した結果を伝送するための命令語を含む第３ＡＰＩを更に含むことを特徴とする請求項１７に記載のアグノスティックデータブローカシステム。
【請求項２０】
前記頭脳部は、前記アグノスティックデータブローカにプラグインされるバックエンドクラウドサービス及びダウンロードアプリケーションのうちの少なくとも１つを含むことを特徴とする請求項１６に記載のアグノスティックデータブローカシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はアグノスティックデータブローカに関し、さらに具体的にアグノスティックデータブローカにデータを統合する方法及びアグノスティックデータブローカシステムに関する。
【背景技術】
【０００２】
モノのインタネット（通常、ＩｏＴと略称する）は従来のモノからモノへの通信（Ｍ２Ｍ、ｍａｃｈｉｎｅ−ｔｏ−ｍａｃｈｉｎｅ）を超えて、多様なプロトコル、ドメイン、及びアプリケーションを含む装置、システム、及びサービスの向上された連結性を示すのに使用される。１つの解釈として例えば、機械読出し識別器が具備された装置及びセンサのような全世界の物体は、ＷＩＦＩ（登録商標）、ブルートゥース（登録商標）、低電力ラジオ、又は他の選択肢を通じてインタネット／ウェブ（Ｉｎｅｔｅｒｎｅｔ／ＷＥＢ）上に連結されていると言える。幾つかの指標によれば、２０２０年には２６０億乃至３００億個の装置がモノのインタネットに無線連結されると予想される。
【０００３】
このような情報感知装置からデータを収集することは、オンラインプラットフォームの幾つかの類型に収集、格納、及び分析される必要がある、大きく且つ複雑なデータセット、即ち“ビックデータ”の収集につながる。しかし、現在ビックデータプラットフォーム構造は、様々な装置と通信しデータを格納するためのデータの形式及び構造に関する知識のみならず、データが収集される様々な装置の形式に関する知識まで要求する点で、強く制限される。即ち、このようなプラットフォームは一般に特定形式のアプリケーション又は使用事例（例えば、特定ドメイン）に合うようにカスタマイズ（ｃｕｓｔｏｍｉｚｅ）される。
【０００４】
モノのインタネットにおいて装置からデータを収集することを試みるオンラインプラットフォームは、一応、設計し、具現できる。但し、プラットフォームの必要なスコープ及びオンラインプラットフォームに連結される、現在及び未来に亘る多数の装置に関して、大部分のプラットフォームの具現者がこれに対する知識がないので、プラットフォームが適切な或いは関連された使用者経験を提供できるように、任意の時点でのプラットフォームに必要である通信プロトコルと情報を適時に“プログラム”することは不可能である。
【０００５】
従って、既知又は未知の装置が使用者に関連された機能を提供するためにデータを連結及び伝送できる向上されたソフトウェアプラットフォームが要求される。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の実施形態は、アグノスティックデータブローカ、即ち、データの形式及び構造を予め知らないデータブローカに対して前記データを組み込んで統合する方法及びシステムを提供することにある。。
【課題を解決するための手段】
【０００７】
本発明の一実施形態による、アグノスティックデータブローカ、即ち、データの形式及び構造を予め知らないデータブローカに対して前記データを統合する方法は、前記データ及び前記データの形式と前記データの構造とを記述するマニフェストを含む第１ＡＰＩ呼出がそれを通じて受信される第１ＡＰＩを提供することによって、少なくとも１つのプロセッサ上で実行する少なくとも１つのソフトウェアコンポーネントによって、前記データをデータソースから摂取（以下、習得ともいう）する段階、データ格納所に前記データを格納する段階、及び前記マニフェストに基づいて前記データを質疑（ｑｕｅｒｙ）する第２ＡＰＩ呼出がそれを通じて受信される第２ＡＰＩを提供する段階を含む。
（以下、ＡＰＩは、アプリケーションプログラミングインタフェイス（ａｐｐｌｉｃａｔｉｏｎ＿ｐｒｏｇｒａｍｍｉｎｇ＿ｉｎｔｅｒｆａｃｅ）の略である。）
【発明の効果】
【０００８】
本明細書に提供された一実施形態によれば、マニフェストはデータブローカプラットフォームがアグノスティックであることを可能にするようにする手段としてマニフェストが提供されるので、データブローカはソフトウェア又は構造的な調整を何ら要求することなく、データブローカが予め知らなかったデータソースからデータを受信できる。
【図面の簡単な説明】
【０００９】
本発明の一般的な概念の様々な特徴及び長所は添付された以下の図面と共に実施形態に対する説明から明白になり、より容易に理解されよう。
【００１０】
【図１】データアグノスティックソフトウェアプラットフォームの一実施形態を示したブロック図である。
【図２】例示的な実施形態によるアグノスティックデータブローカにデータを統合するための処理過程を示した図面である。
【図３】実施形態によるアグノスティックデータブローカを具現するためのシステムを示した図面である。
【図４】ストリーミングデータの実時間処理、格納、及び公開に対するプロセスを示したフローチャートである。
【発明を実施するための形態】
【００１１】
参照文は現在、本発明の一般的な概念の実施形態、例えば添付された図面、参照番号が同一の構成要素を参照することによって詳細に説明される。このような実施形態は図面を参照しながら、本発明の一般的な概念を説明するように後述される。
【００１２】
本発明の長所、及び特徴、及びこれを達成するための方法は、以下の実施形態の詳細な説明及び添付された図面を参照することで、容易に理解されるであろう。本発明の一般的な概念はしかし、多数且つ多様な形式に実施され、ここで説明する実施形態に限定されるように具現されることではない。むしろ、このような実施形態は開示物が徹底であり、完全になるようにし、本発明の一般的な概念を当業者に伝達するために提供されることであり、本発明の一般的な概念はただ添付された請求項によって定義される。図面に図示された層の厚さと領域とは説明を明確するために誇張された。
【００１３】
“ａ”、“ａｎ”、及び“ｔｈｅ”のような用語の使用及び本発明を説明する文脈の上に類似な指示対象（特に請求項の文脈で）は文脈上で異なって言及されない限り、単数及び複数を全て含むように解釈される。“ｃｏｍｐｒｉｓｉｎｇ”、“ｈａｖｉｎｇ”、“ｉｎｃｌｕｄｉｎｇ”、及び“ｃｏｎｔａｉｎｉｎｇ”の用語は異なって言及されない限り、オープンエンド用語（即ち、例えば、「含む」（ｃｏｍｐｒｉｓｉｎｇ）が、これに限定されないこと）に解釈される。
【００１４】
ここで使用される“コンポーネント”又は“モジュール”のような用語は特定作業を遂行するＦＰＧＡ（ａ  ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）又はＡＳＩＣ（ａｎ  ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）のようなソフトウェア又はハードウェア構成要素を意味するが、これに限定されない。従って、コンポーネント又はモジュールは、例えばソフトウェアコンポーネント、客体指向（ｏｂｊｅｃｔ−ｏｒｉｅｎｔｅｄ）ソフトウェアコンポーネント、クラスコンポーネント、及びタスクコンポーネント、プロセス、関数、属性、プロシージャー、サブルーチン、プログラムコードのセグメント、ドライバ、ファームウェア、マイクロコード、回路、データ、データベース、データ構造、テーブル、アレイ、そして変数を含む。コンポーネント、及びコンポーネント又はモジュールで提供される機能はさらに小さい数のコンポーネント、及びコンポーネント又はモジュールに結合されるか、或いは追加的なコンポーネント、及びコンポーネント又はモジュールに分離されることができる。
【００１５】
異なって定義されなければ、ここで使用される全ての技術的、科学的な用語は一般的に本発明に属する当業者によって理解されることと同一の意味を有する。本詳細な説明に提供された全ての例示又は例示的な用語は本発明をさらに明らかにするための意図のもとに使用されており、明示されない限り、本発明の範囲を制限しない。さらに、異なって定義されなければ、辞典で一般的に使用される定義された用語は過度に説明しない場合がある。
【００１６】
図１はデータアグノスティック・ソフトウェアプラットフォーム（ｄａｔａ  ａｇｎｏｓｔｉｃ  ｓｏｆｔｗａｒｅ  ｆｌａｔｆｏｒｍ）の一実施形態を示したブロック図である。一実施形態はモノのインタネット（ＩｏＴ）の脈絡で任意の全てのデータソース１２から出力されたデータ４を習得できるアグノスティックデータブローカ（ａｇｎｏｓｔｉｃ  ｄａｔａ  ｂｒｏｋｅｒ）１０と称されるソフトウェアプラットフォームを含む。データソース１２の例としてはセンサ及びアルゴリズムを含む。“アグノスティックデータブローカ”という語句は、ソフトウェアプラットフォームが、未知の未来のデータソース１２から出力されたデータの未来のタイプの存在及び構造は言うまでもなく、既存の全てのデータソース１２から出力された既存の全てのデータの存在と構造を知ることができないという仮定下で設計された事実に言及している。このソフトウェアプラットフォームはデータブローカがデータソース１２から入力されたデータ４の形式又はフォーマットに関する何らの仮定や判断をせず、データブローカがアクセスを提供する格納されたデータの形式に関する何らの仮定や判断をしない点でデータアグノスティックである。
【００１７】
既存のプラットフォーム／システムは習得できるデータの形式に限界がある。既存プラットフォームは最初に、処理作業をするべきデータのオントロジ（ｏｎｔｏｌｏｇｙ、概念の明示的仕様）を定義しなければならないので、オントロジによって定義された特定ドメイン内での作動に制限される。アグノスティックデータブローカ１０は、何がデータの許容可能な形式を含むかを定義する必要が無い。それで、アグノスティックデータブローカ１０はオントロジから自由であり（ｏｎｔｏｌｏｇｉｃａｌｌｙ−ｆｒｅｅ）、ドメインに制限されない（ｄｏｍａｉｎ−ｕｎｌｉｍｉｔｅｄ）。
【００１８】
アグノスティックデータブローカ１０の重要な一例として、本出願の出願人によって開発されたモバイル健康のためのウェアラブルセンサプラットフォーム１６を考察する。ウェアラブルセンサプラットフォーム１６は使用者から生理学的なデータを感知する多様な交換可能なセンサ１８が具備されたスマートバンドを含むスマートウォッチ又は他のウェアラブル装置として具現される。ウェアラブルセンサプラットフォーム１６はモジュール性（ｍｏｄｕｌａｒｉｔｙ）があるので、スマートバンドに統合できる新しい形式の交換可能なセンサ１８及びセンサデータ結果を分析する新しいデジタルの健康ソリューションアプリケーション／頭脳部１４を（サードパーティ、以下、第３者という）が設計し、開発できる。
【００１９】
ウェアラブルセンサプラットフォーム（ｗｅａｒａｂｌｅ  ｓｅｎｓｏｒ  ｆｌａｔｆｏｒｍ）１６は使用者が着用したまま、ウェアラブルセンサプラットフォーム１６を充電できる充電メカニズムをさらに含み得る。このような特別な機能があると使用者が装置を脱ぐ必要がないので、真に継続的な健康状態モニターリングを可能にし、センサデータ４の連続的なストリームがアグノスティックデータブローカ１０に入力される。
センサ１８からのデータ４は簡単な、１回性の心拍及び血圧測定のみならず、使用者の健康状態に対する、より深い理解を可能にするように心拍と血圧を計算するのに使用されるフル且つ連続的な、加工されていない（ｒａｗ、生（なま）の）信号を含む。
【００２０】
従って、アグノスティックデータブローカ１０は、再プログラミング（ｒｅｐｒｏｇｒａｍｍｉｎｇ）も、構造的な（ａｒｃｈｉｔｅｃｔｕｒａｌ）変更も無しで、未知の未来の装置（例えば、交換可能なセンサ１８）を含む他の形式のデータソース１２からの他の型のデータ４を習得、処理、及び公開できる。
【００２１】
図２は例示的な実施形態によるアグノスティックデータブローカ１０にデータを統合するための処理過程を示した図面である。図１及び図２を参照すれば、アグノスティックデータブローカ１０を含むソフトウェアコンポーネントは、第１ＡＰＩ（以下、習得ＡＰＩ（２０）として言及される）と、前記第１ＡＰＩ（習得ＡＰＩ（２０））を通じて受信される、習得されるデータ４のみでなくデータの形式及び構造を説明するマニフェスト（ｍａｎｉｆｅｓｔ）６を含む第１ＡＰＩ呼出２と、を提供することによってデータソース１２からのデータ４を習得する（図２のステップ２１）。
【００２２】
一実施形態で、マニフェスト６はデータブローカプラットフォームをアグノスティックにする道具である。このようなデータブローカは何らの構造的な調整を要求せず、データブローカが予め知らなかったデータソースからデータを受信できる。
一実施形態でマニフェスト６は、データ４が離散的（ｄｉｓｃｒｅｔｅ）ブロック内にあるか、又は連続的なストリーム内にあるか、のようなデータの構造及びフォーマットを就中、定義する項目別リストを通じてデータ４の構造及びフォーマットを記述するＸＭＬファイルとして具現される。
例えば、ウェアラブルモジュール型プラットフォーム（ｗｅａｒａｂｌｅ  ｍｏｄｕｌａｒ  ｐｌａｔｆｏｒｍ）１６からのＡＰＩ呼出２は特定のマニフェスト６を含み、該マニフェスト６は、温度計の温度データがデータ４のブロック１における文字列（ｓｔｒｉｎｇ）であり、バイオインピーダンス（ｂｉｏｉｍｐｅｄａｎｃｅ）センサデータはブロック２乃至６における文字列であり、心拍センサデータはストリームであり、ＥＫＧセンサデータはストリームである、こと等を規定する。
【００２３】
一実施形態で、データ４とマニフェスト６を含むＡＰＩ呼出２は、データソース１２が例えばＷｉ−Ｆｉ（登録商標）又はブルートゥース（登録商標）により活性化されたセンサのように通信可能であるとの仮定の下でネットワーク（図示せず）を通じて、直接データソース１２からアグノスティックデータブローカ１０に伝送される。他の実施形態で、データソース１２はＡＰＩ呼出２を起動するホスト装置（ｈｏｓｔ  ｄｅｖｉｃｅ）、例えばウェアラブルモジュール型プラットフォーム１６に統合される。一実施形態で、データ４とマニフェスト６は引数（ａｒｇｕｍｅｎｔ）としてＡＰＩ呼出２に含まれる。代案的な実施形態で、データ４及びマニフェスト６は相異なるＡＰＩ呼出において送信される。
【００２４】
データが習得されると、アグノスティックデータブローカ１０はデータをデータ格納所に格納する（図２のステップ２３）。一実施形態で、データ４は生データとして格納される。しかし、その他の実施形態で、ＡＰＩ呼出２は他の引数として、生データが使用者にとって有用なフォーマットに如何に翻訳され、格納されるかを記述する標準化経路８を選択的に含む。
例えば、ウェアラブルセンサプラットフォーム１６上の温度センサからの温度の生データに対する標準化経路８は、温度の生データがセ氏又はカ氏単位に格納されるように特定する。多数のデータソース１２から大量のデータ４を習得し、格納すること（例えば、ウェアラブルセンサプラットフォーム１６から連続的にストリーミングするデータ）は、学術及び分析のための第３者（例えば研究機関、企業等）が主な関心を有する“ビッグデータ（Ｂｉｇ  Ｄａｔａ）”１１と言及される。
【００２５】
格納されたデータをアクセス可能にするために、アグノスティックデータブローカ１０はマニフェスト６に基づいて第２ＡＰＩ（以下、質疑（ｑｕｅｒｙ）ＡＰＩ（２４）として言及される）をさらに提供し、第２ＡＰＩ（質疑ＡＰＩ（２４））を通じてデータ４を質疑する第２ＡＰＩ呼出が受信される。これに対応して、アグノスティックデータブローカ１０はデータを返還する（図２のステップ２５）。一実施形態で、アグノスティックデータブローカ１０はデータを第３ＡＰＩを通じて返還し、これについては後述する。
【００２６】
質疑ＡＰＩ（２４）を通じてアグノスティックデータブローカ１０は、第２の型の質疑ＡＰＩ呼出を発送することによって、ここで頭脳部１４として言及される相異なる型の第３者アプリケーション（ａｐｐｓ）と第３者アルゴリズム／サービスがデータ４にアクセスする際に使用できるプラットフォームを提供する。
例えば、多数のデータソース１２から出力される連続的、且つ多様なデータから収集、セーブできる“ビックデータ”１１（図１）は、多数の他の使用者から相関関係を検索し、相互作用を観察し、価値ある科学的洞察を開発するためのデータ４を分析及び集計するための新しいビックデータタイプの頭脳部１４を開発できる機会を研究者に提供できる。
【００２７】
ビックデータ１１は主に大型の団体にとり有用であるが、“小さいデータ”（Ｌｉｔｔｌｅ  Ｄａｔａ）１３は個人に役に立ち得る。ここで使用されたように、小さいデータ１３は特定使用者に関する情報を参照する。選択された関心ある頭脳部１４を通じて個人使用者は、小さいデータタイプの頭脳部１４（例えば、コーチング、視覚化道具、及び健康追跡アプリケーション）にアクセスできる。小さいデータタイプの頭脳部１４は特定使用者のウェアラブルセンサプラットフォーム１６から連続的なセンサデータを分析し、例えば特定使用者にフィードバック、激励、及び報償を提供する。
【００２８】
図１において、双方向矢印により示したように、頭脳部１４はアグノスティックデータブローカ１０に習得されたデータ４にアクセス及び分析するだけでなく、アグノスティックデータブローカ１０に分析結果を供給する。このような分析結果は他のデータソース１２及び他の頭脳部によって出力された他のデータと混合されて新しい洞察を導き出す。
【００２９】
一実施形態で頭脳部１４は、アグノスティックデータブローカ１０の使用者が利用できるアグノスティックデータブローカ１０の知能型アドオン（ａｄｄ−ｏｎ）として考慮できる。データ（ビックデータ１１及び小さいデータ１３の類型として）及び多様な形態の頭脳部１４へのアクセスは、有料加入モデル及び多様な方式の収益創出に基づいて使用者が利用可能になる。
例えば、アグノスティックデータブローカ１０は使用者が“加入（ｓｕｂｓｃｒｉｂｅ）”できるオンラインストアを含み、使用者に関連するサービスを提供できる選択された頭脳部１４を、使用者の“個人的なデータクラウド（ｐｅｒｓｏｎａｌ  ｄａｔａ  ｃｌｏｕｄ）”上に追加する。一実施形態として、頭脳部１４は任意の使用者の連結された装置上で動作する。即ち、使用者はより良いサービス及び／又は集積されたデータへのアクセス（連続的な心拍情報、等）がプレミアムを付けて提供される。
【００３０】
図３は、一実施形態によるアグノスティックデータブローカ１０を具現するためのシステム８を示した図面である。アグノスティックデータブローカ１０は各々多様なプロセッサとメモリを含むアプリケーションサーバ、ウェブサーバ及び／又はデータベースサーバ（図示せず）の中で任意の個数を使用して具現される。一実施形態でアグノスティックデータブローカ１０は、公共用クラウドにおける拡張可能な仮想マシンを使用して具現される。
「サービスとしてのインフラ」（ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ａｓ  ａ  ｓｅｒｖｉｃｅ（ＩａａＳ））空間において商業的に利用可能であるクラウド提供業体は例えば、Ａｍａｚｏｎ  Ｗｅｂ  Ｓｅｒｖｉｃｅｓ（ＡＷＳ）（登録商標）、Ｒａｃｋｓｐａｃｅ  Ｐｕｂｌｉｃ  Ｃｌｏｕｄ（登録商標）、及びＤｉｇｉｔａｌ  Ｏｃｅａｎ（登録商標）を含む。代案的な実施形態でアグノスティックデータブローカ１０は、適切なリソースを有するならば、任意の型の独立型コンピュータ又は使用者装置を用いて具現できる。
【００３１】
ＡＰＩ呼出を通じたアグノスティックデータブローカ１０との電子通信は、任意の形式の私的又は公共ネットワーク（図示せず）を使用して発生する。公共ネットワークの例はインタネットを含み、反面、有無線ネットワークの例は、近距離通信網（ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋｓ、ＬＡＮ）、無線近距離通信網（ｗｉｒｅｌｅｓｓ  ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋｓ、ＷＬＡＮ）、無線個人領域ネットワーク（ｗｉｒｅｌｅｓｓ  ｐｅｒｓｏｎａｌ  ａｒｅａ  ｎｅｔｗｏｒｋｓ、ＷＰＡＮｓ）、無線広域ネットワーク、無線網ネットワーク、携帯用ネットワーク、及びグローバル領域ネットワーク（ｇｌｏｂａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ、ＧＡＮ）を含む。
【００３２】
一実施形態によればアグノスティックデータブローカ１０は、ＡＰＩ呼出を通じてデータが予め定義される必要が無い方式により、データソース１２、使用者装置１８、及び頭脳部１４がアグノスティックデータブローカ１０と電子的に通信できるようにする一連のアプリケーションプログラミングインタフェイス（ａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｇｒａｍｍｉｎｇ  ｉｎｔｅｒｆａｃｅｓ、ＡＰＩｓ）及びソフトウェアコンポーネントを提供する。一実施形態で、習得ＡＰＩ（２０）と質疑ＡＰＩ（２４）に追加して、アグノスティックデータブローカ１０はファイアホース（ｆｉｒｅｈｏｓｅ）ＡＰＩ（２２）、動作（起動、活性化、ａｃｔｕａｔｉｏｎ）ＡＰＩ（２６）、管理ＡＰＩ（２８）、アルゴリズムＡＰＩ（３０）、３Ｄアプリケーション（３Ｄアップ）ＡＰＩ（３２）、及びストアＡＰＩ（３４）をさらに含む。
【００３３】
一実施形態で、アグノスティックデータブローカ１０はデータ格納所３６、拡張部４６、及びアップストア４５をさらに含む。一実施形態で、データ格納所３６は生（加工されていない）データベース３８、標準化データベース４０、ヒストリデータベース４２、及び勘定データベース４４を含む。
【００３４】
習得ＡＰＩ（２０）は、多数のデータソース１２がデータをアグノスティックデータブローカ１０に伝送するのを可能にする一方、動作ＡＰＩ（２６）は、動作ＡＰＩ呼出を発送することによってアグノスティックデータブローカ１０及び頭脳部１４が、データソース１２及び使用者装置１８に出力を送信するインタフェイスである。動作ＡＰＩ呼出は、命令語（コマンド）２７の指定されたデータソース１２及び／又は使用者装置１８への伝送を引き起こす。出力はデータ格納所３６に格納されたデータ及び／又は頭脳部１４によって計算された結果物１５を含む。このような脈絡で動作は、データのスクリーン上への表示の可否、又はスイッチングの活性化の可否、等の状態変化を含意する。
【００３５】
先の例のように、使用者はアグノスティックデータブローカ１０と連結されたデータソース１２及び使用者装置１８を使用者の身体と使用者の家屋に有することができる。データソース１２はそれらのデータをアグノスティックデータブローカ１０に送信する。例えば、人体センサ（健康、活動性、等）、家屋センサ（温度、濕度、アラーム、開扉、等）、スマート家電（洗濯機、ＴＶ、照明、スプリンクラー）、携帯電話、エネルギー消費トラッカー、カメラ、等がある。ソース１２及び使用者装置１８からのデータの一部はアグノスティックデータブローカ１０から命令語２７を受信するように構成される。例えば、スマート家電（コーヒーマシン）、照明、ドアロック、ＴＶ、等がある。
【００３６】
上述したように、習得ＡＰＩ（２０）はデータソース１２が「習得ＡＰＩ呼出」（ここでは、「ゲット（ｇｅｔ）呼出２」と言う）を開始できるようにする。これはデータ４、マニフェスト６、及び選択的に引数として標準化経路８を送信することによってアグノスティックデータブローカ１０に任意の形態のデータを押し込む（提供する）。一実施形態で、習得ＡＰＩは多様な他の呼出を含み得る。例えば、データブローカとの通信を可能にするオープン呼出（Ｏｐｅｎ  ｃａｌｌ）、及びデータ４の伝送を中止又は中断させる信号を送るクローズ呼出（Ｃｌｏｓｅ  ｃａｌｌ）等がある。
【００３７】
一実施形態で、アグノスティックデータブローカ１０は使用者勘定及び使用者とデータソース１２に対する記録を勘定データベース４４に維持させる。ゲット呼出２が特定データソース１２から受信される時、データブローカ１０はデータ４をデータ格納所３６に格納し、後述するように、呼出を作ったデータソース１２が何れの既存勘定に属するかを決定するために勘定データベース４４を検索する。仮に所属する既存勘定が無ければ、データブローカ１０はデータソース１２に装置の形態を識別する装置形態ＩＤ、特定装置を識別する装置ＩＤ、そしてデータソース１２の所有者／製造者を識別する使用者ＩＤを割当て、勘定データベース４４にある使用者勘定記録に割当てされたＩＤを追加する。
【００３８】
一実施形態で、データソース１２の使用者（例えば、所有者／製造者）は管理ＡＰＩ（２８）を使用して、手動により使用者勘定を生成し、管理する。一実施形態で、各々の使用者に対する勘定情報は、使用者によって登録されたデータソース１２及び使用者と連関された任意の登録済み使用者装置１８を識別する。
【００３９】
一実施形態で、ゲット呼出２はマニフェストファイル自身を含み、一度受信されたマニフェスト６は、送信中のデータソース１２と関連された使用者勘定内の勘定データベース４４に格納される。多数の他のデータソース１２及び使用者装置１８は各々の使用者と連関され、１つ又はそれ以上のマニフェスト６はデータソース１２によって生成されたデータを記述し、各々のデータソース１２と連関される。
【００４０】
その他の実施形態でゲット呼出２は、マニフェストファイルの全体コピーを含むのではなく、代わりにマニフェスト６に対する参照のみを含む。一実施形態でマニフェスト６に対する参照は、勘定データベース４４に既に提出され、格納された既存マニフェスト６のマニフェストＩＤ、又はマニフェストのＵＲＬを含む。
【００４１】
アグノスティックデータブローカ１０がゲット呼出２を通じてデータ４を受信すると、データ４は自動的に生データとして、即ち、システムによって変更されていない、元来の類型及び構造のデータとして、生データベース３８に格納される。仮に標準化経路８が特定されれば、生データは特定された方法に従って処理され、標準化データとして標準化データベース４０に格納される。
一実施形態で、標準化データは標準化されたフィールド名とフィールド値とを含むＪＳＯＮ（ＪａｖａＳｃｒｉｐｔ（登録商標）  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ）フォーマットになる。データ４がデータ格納所３６に格納される時、データは対応するマニフェストＩＤと関連して格納される。勘定データベース４４の任意のデータソース１２は“公開”されるので、頭脳部１４はデータソース１２とこれに対応するデータにアクセスできる。
【００４２】
一実施形態で、頭脳部１４はデータ格納所３６に格納されたデータを質疑及び分析するアプリケーション及びサービスを含み、使用者に該サービスを提供する。頭脳部１４はアグノスティックデータブローカ１０にプラグイン（ｐｌｕｇ  ｉｎ）可能なバック−エンドクラウドサービス（ｂａｃｋｅｎｄ  ｃｌｏｕｄ  ｓｅｒｖｉｃｅｓ）又はダウンロード可能なアプリケーションとして具現され、使用者に適切な機能を追加して提供する。
例えば、“プラグイン”した頭脳部１４の一類型は、多重の使用者データソース１２（人体センサ、等）から収集されたデータ（追跡された活動パターン、等）に基づく加入ダイエットサービスを含む。
その他の例は、使用者の家屋の照明に連結し、これを制御する頭脳部１４を含む。第３者企業は、家屋内の人の有無、人の活動状態如何、等に基づき照明をオン／オフする、プラットフォームによってデフォルトに、即ち機械的に提供される場合よりも良い管理できるようにするモジュールを使用者に有料又は無料で提供できる。
【００４３】
データ格納所３６からのデータは頭脳部１４によって分析され、結果物１５の形態になって出力され、頭脳部１４は、結果物１５及び新しいマニフェスト６を含むゲット呼出２を発送することによってデータはアグノスティックデータブローカ１０にフィードバックされ、斯くしてフィードバックループ１７を決定する。結果物１５は他の頭脳部１４による使用に備えてヒストリデータベース４２等のデータ格納所３６に格納される。
【００４４】
例えば、マニフェスト６と共に使用者の生体データを送信し、該生体データがデータブローカによって格納される、生体センサを開発した会社について考察する。第３者の頭脳部１４はデータにアクセスし、データから幾つかの形態のスコア（ｓｃｏｒｅ、成績）を計算し、他のマニフェストと共に該スコアを再びデータブローカに送る。このようなスコアは他の人の使用に備えて格納され、掲示される。掲示と共に、スコアはヒストリデータベース４２に格納される。ヒストリデータベース４２に格納されたデータは他のヒストリデータベースにある他のデータと結合されて、例えば傾向及びパターンを開発しようとする他の頭脳部１４によって加工される。従って、アグノスティックデータブローカ１０は、持続的に進行するフィードバックデータの第３者による活用を可能にする。
【００４５】
頭脳部１４は、格納されたマニフェスト６に基づいて質疑ＡＰＩ（２４）とファイアホースＡＰＩ（２２）を使用してデータ格納所３６に格納されたデータ４にアクセスし検索する。一実施形態において、データ４は生データベース３８、標準化データベース４０、ヒストリデータベース４２、及び勘定データベース４４、等のデータベースに格納されているので、質疑ＡＰＩ（２４）を通じて作られた呼出は、例えばＳＱＬ命令語と同様のデータベース質疑と類似している。要請した頭脳部１４から質疑ＡＰＩ呼出受信に応答して、アグノスティックデータブローカ１０はデータを検索し、動作ＡＰＩ（２６）を通じて要請した頭脳部１４にデータを返還する。
【００４６】
一実施形態によれば、ストリーミングデータ（ｓｔｒｅａｍｉｎｇ  ｄａｔａ）は生データベース３８に生データとして格納され、同時にイベントキュー（ｅｖｅｎｔ  ｑｕｅｕｅ）２７に伝送され、ファイアホース（ｆｉｒｅｈｏｓｅ）ＡＰＩ（２２）を通じて外部頭脳部１４が直ちに利用できるように提供される。
【００４７】
図４はストリーミングデータの実時間処理、格納、及び公開に対するプロセスを示したフローチャートである。プロセスは習得ＡＰＩ呼出を通じてデータソース１２から、例えばオーディオ／ビデオストリーム又は連続的な心拍数データ等のデータストリーム４８を獲得することによって開始される（段階５０）。一実施形態で、オープン呼出「Ｏｐｅｎ＿ｃａｌｌ」は、データストリーム４８を伝送するためにアグノスティックデータブローカ１０と共にストリーム／ウェブ「ｓｔｒｅａｍ／Ｗｅｂ」ソケットを開くのに利用される。上述したように、習得ＡＰＩ呼出はマニフェスト６又はそれへの参照、及び標準化経路８を含む。
【００４８】
データストリーム４８は同時にイベントキュー２３に伝送され、生データベース３８に格納される（ステップ５２）。イベントキュー２３において、データストリーム４８は標準化経路８に基づいてフィルタ、変形、及び補強（ａｕｇｍｅｎｔ）され（ステップ５４）て標準化され、次に標準化データベース４０に格納される（ステップ５６）。標準化ストリーミングデータは実時間分析される（ステップ５８）。頭脳部１４の要請によるファイアホースＡＰＩ呼出の受信に応答して、分析結果が検索され、頭脳部１４に送信される（ステップ６０）。
【００４９】
一実施形態で、ファイアホースＡＰＩはデータストリームを質疑するのに特化される。ファイアホースＡＰＩ呼出が頭脳部１４から受信される時、頭脳部１４はイベントキュー２３内の特定イベント又は特定データストリームに登録（ｓｕｂｓｃｒｉｂｅ）される。イベントキュー２３は指定された時間に利用可能な多数のデータストリーム又はイベントを有しているので、このようなＡＰＩはファイアホースと称され、頭脳部１４はファイアホースＡＰＩ呼出において特定された関心あるイベントのみに登録される。
【００５０】
格納の後にいつでも、生データと標準化されたストリーミングデータはバックグラウンドプロセス（ｂａｃｋｇｒｏｕｎｄ  ｐｒｏｃｅｓｓ）６４によって分析される（ステップ６２）。頭脳部１４の要請による質疑ＡＰＩ呼出の受信に応答して、アグノスティックデータブローカ１０は頭脳部１４に分析結果を検索し、伝送する（ステップ６４）。
【００５１】
図３を再び参照して、アグノスティックデータブローカ１０によって提供されたＡＰＩの例示的な概要が記述される。一実施形態で、各々のデータソース１２は、データブローカ１０に質疑して当該データソース（＝ソース装置）１２のためのマニフェスト６がアグノスティックデータブローカ１０上に存在するか否かを決定するように構成されたソフトウェアを実行する。
例えば、質疑ＡＰＩ（２４）の中で１つは“Ｄｏｅｓ  Ｔｈｉｓ  Ｄｅｖｉｃｅ  Ｅｘｉｓｔ”（この装置は存在するか）と称される。データソース１２が活性化される時、データソース１２の内部のソフトウェアはデータソース１２と連関されたマニフェストが存在するか否かを決定する“Ｄｏｅｓ  Ｔｈｉｓ  Ｄｅｖｉｃｅ  Ｅｘｉｓｔ”呼出を使用してデータブローカ１０に質疑する。仮にデータブローカ１０が、該当マニフェストが既に存在すると決定すれば、データブローカ１０はマニフェストＩＤ、例えばＩＤ＃１を返信する。データソース１２がゲット呼出２においてデータを提出する時、データソース１２はマニフェストＩＤ、例えばＩＤ＃１を含む。
そして、データブローカ１０はマニフェストＩＤを使用して格納されたマニフェスト６を検索し、格納されたマニフェスト６に基づいてデータをデータ格納所３６に格納する。データがストリームである場合、データはファイアホースＡＰＩ（２２）を経由してイベント、例えば＃１データ形態のイベントに提供される。そして、ファイアホースＡＰＩ（２２）は、＃１データ形態のイベントが利用可能であることを公開する。
＃１データ形態を分析するために書かれた頭脳部１４は、ファイアホースＡＰＩ（２２）又は質疑ＡＰＩ（２４）を使用してデータにアクセスし、該データを分析して例えば、使用者スコアを計算する。そして頭脳部１４は、動作ＡＰＩ（２６）を通じて、表示及び／又は格納するために分析されたデータとデータ形態（例えば、＃７２形態）を使用者に提出する。他の頭脳部１４はトレンド等を決定するために多数の使用者から分析されたデータを集計し、フィードバックループ１７及び習得ＡＰＩ（２０）を経由してデータブローカに利用可能なデータを提供する。
【００５２】
アグノスティックデータブローカ１０は頭脳部１４が高水準の内部機能にアクセスできるように提供する拡張部４６を含む。拡張部４６はデータブローカ１０内のサービスクラウドと看做され、アルゴリズムＡＰＩ（３０）を通じて頭脳部１４にアクセスできる。拡張部４６はデータブローカ１０内のアルゴリズムの実行のために頭脳部１４に提供されるルールエンジン（ｒｕｌｅｓ  ｅｎｇｉｎｅ）３１、分析部（ａｎａｌｙｔｉｃｓ）３３、及びサンドボックス（ｓａｎｄｂｏｘｅｓ）３５を含む。
【００５３】
サンドボックス３５は、頭脳部１４がアルゴリズムＡＰＩ（３０）を通じて格納されたデータと特定の連関性を有する当該頭脳部１４のアルゴリズムを公開掲示する領域であり、該アルゴリズムは仮想の頭脳部として実行される。これの長所は、該アルゴリズムが操作するデータがデータブローカ１０から外部の頭脳部１４に伝送される必要がないので、実時間アプリケーションのための伝送時間を節約できることである。
サンドボックス３５は、データを送受信して往復する必要がないように、データ格納所３６のデータに対する局地的な実時間アクセスを提供する。サンドボックス３５内のアルゴリズムは公開掲示されているので、他の頭脳部１４は既にサンドボックス３５に存在するアルゴリズムを使用できる。
サンドボックス３５によって出力されたデータはフィードバックループ１７を経ずに、他の頭脳部が使用できるようにデータ格納所３６に直接フィードバックされ、その結果、遅延を削減できる。一般的に拡張部４６はデータブローカ１０内のＣＰＵ時間を貸すことによって、収益を創出できる。
【００５４】
アップストア４５はダウンロード可能なアプリケーションのみならず、頭脳部１４に対するアクセスを提供するオンラインストアである。アップストア４５は個人情報保護／決済サービス３７、格納されたアプリケーション３９、及びウェブストアフロントエンド４１を含む。アップストア４５の一機能は頭脳部１４の存在を公開して他のこれによるアクセスを可能にすることである。３ＤアップＡＰＩ（３２）は頭脳部１４の、公開及び／又は格納を可能にする。同時に、頭脳部１４によって提供されるサービスを記述するマニフェストもやはり提出される。例えば、仮に頭脳部１４によって提供された特定のサービスが呼出された時、特定パラメーターを要求すれば、該サービスに対するマニフェストはパラメーターを定義する。
一実施形態で、該サービスに対するマニフェストは管理ＡＰＩ（２８）を通じて製作者によって提出され、その後、ウェブストアフロントエンド４１を通じたアクセスのために３ＤアプリケーションＡＰＩ（３２）を通じて該サービスが公開掲示される。
ストアＡＰＩ（３４）は、使用者が使用者装置１８を通じて頭脳部／アプリケーション／サービスを質疑できるようにする。ストアＡＰＩ（３４）は、使用者がどのようなサービスが特定の使用者装置１８に与えられるかを質疑できる。（これに対して、データソース１２の場合は、データ提出のみが可能である。）他の実施形態で、使用者装置１８はストアＡＰＩ（３４）に質疑し、アプリケーションを自動的にダウンロードできる。
【００５５】
アグノスティックデータブローカに対する方法及びシステムが開示された。本発明は図示した実施形態に従って記述したが、このような実施形態は変形可能であり、任意の変形は本発明の思想及び範囲内にあるべきである。例えば、本発明はハードウェア、ソフトウェア、プログラム命令語を含むコンピュータ読出し可能媒体、又はこれらの組合せにより具現できる。本発明に従って書かれたソフトウェアはメモリ、ハードディスク、又はＣＤ／ＤＶＤ／ブルーレイディスク、等の幾つかの形態のコンピュータ読出し可能媒体に格納され、プロセッサによって実行できる。従って、添付された請求項の思想及び範囲を逸脱せずに、多様な変更が当業者によって行われ得るであろう。
【符号の説明】
【００５６】
２      ＡＰＩ呼出（ゲット呼出）
４      データ
６      マニフェスト
８      標準化経路
１０      アグノスティックデータブローカ
１１      ビッグデータ
１２      データソース（ソース装置）
１３      小さいデータ
１４      頭脳部（アプリケーション／サービス）
１５      結果物
１６      センサモジュール、ウェアラブルセンサプラットフォーム
１７      フィードバックループ
１８      使用者装置、交換可能なセンサ
２０      習得ＡＰＩ
２２      ファイアホースＡＰＩ
２３      イベントキュー
２４      質疑ＡＰＩ
２６      動作ＡＰＩ
２７      命令語（コマンド）
２８      管理ＡＰＩ
３０      アルゴリズムＡＰＩ
３１      ルールエンジン
３２      ３ＤアップＡＰＩ
３３      分析部
３４      ストアＡＰＩ
３５      サンドボックス
３６      データ格納所
３７      個人情報保護／決済
３８      生（加工されていない）データベース
３９      （格納された）アプリケーション
４０      標準化データベース
４１      ウェブストアフロントエンド
４２      ヒストリデータベース
４４      勘定データベース
４５      アップストア
４６      拡張部
４８      データストリーム
５０      データストリームを獲得
５２      生（加工されていない）データストリームを格納
５４      フィルタ、変形、及び補強
５６      標準化データストリームを格納
５８      実時間分析
６０      ファイアホースＡＰＩ呼出に応答して検索及び伝送
６２      分析
６４      バックグラウンドプロセス
６６      質疑ＡＰＩ呼出に応答して検索及び伝送
【図１】
0006545189.tif 000002
【図２】
0006545189.tif 000003
【図３】
0006545189.tif 000004
【図４】
0006545189.tif 000005