センサネットワーク
図1は、例示的なセンサネットワーク100を示す。センサネットワーク100は、センサアレイ110、分析システム180及びディスプレイシステム190を含む。センサネットワーク100は、センサデータの収集、処理、分析、共有、可視化、表示、アーカイビング、及びサーチを可能にする。センサアレイ110においてセンサ112により収集されたデータは、センサセットワーク100の計算及びデータ記憶リソースを使用して処理、分析及び記憶される。これは、中央集約化された計算及び記憶リソース及び分散された計算及び記憶リソースの両者により行われる。センサネットワーク110は、広域にわたり、異種のセンサ、データ及び計算リソースを統合する。センサネットワーク100は、生理的、心理的、行動、及び環境のモニタリング及び分析のような様々なタスクを行うために使用される。
センサアレイ110は、1以上のセンサ112を備える。センサ112は、刺激を受け、受けた刺激をデータストリームに変換する。センサアレイ110におけるセンサ112は、同じタイプ(例えば複数の温度計)又は様々なタイプ(例えば温度計、気圧計及び高度計)からなる。センサアレイ110は、1以上の刺激に基づいて1以上のデータストリームを任意の適切なネットワークを通して1以上の分析システム180に送信する。特定の実施の形態では、センサ112の埋め込まれたプロセッサは、例えば分析システム180又はディスプレイシステム190のようなセンサネットワーク100の他のコンポーネントによっても実行される所定の計算のアクティビティを実行する。
本明細書で使用されたとき、センサアレイ110におけるセンサは、ある対象者(物)に関して記載される。従って、センサ112は、その対象者に関してパーソナル又はリモートである。パーソナルセンサは、例えば対象者からの刺激又は対象者に関連する刺激を受ける。パーソナルセンサは、例えば対象者に固定されるか又は対象者により持ち運ばれるセンサ(例えば心拍数モニタ、対象者によるスマートフォンへの入力)、対象者に近いセンサ(例えば対象者が位置する部屋における温度計)、又は対象者に関連するセンサ(例えば対象者のGPSの位置、対象者の意思による医療の報告、対象者の電子メールのインボックス)を含む。リモートセンサは、対象者の外部にあるか又は対象者に直接関連しない刺激を受ける。リモートセンサは、例えば環境センサ(例えば気象観測気球、株式市場のティッカ)、ネットワークデータフィード(例えばニュースフィード)、外部情報に関連するセンサを含む。センサ112は、状況に依存してパーソナル及びリモートの両者である。例として限定されるものではないが、対象者が特定の人物である場合、対象者が家にいる間に対象者の家における温度計は、パーソナルであると考えられ、対象者が家から離れているときにはリモートであると考えられる。別の例として限定されるものではないが、対象者が特定の家である場合、家における温度計は、ある人物が家にいるか又は家から離れているかに係らず、家にとってパーソナルであると考えられる。
分析システム180は、センサアレイ110からの1以上のデータストリームをモニタ、記憶及び分析する。分析システム180は、ローカルであるサブコンポーネント120、リモートであるサブコンポーネント150又はその両者であるサブコンポーネントを有する。ディスプレイシステム190は、分析システム180の出力に基づいて1以上のユーザに対してレンダリング、可視化、表示、メッセージング及び公表を行う。ディスプレイシステム190は、ローカルのサブコンポーネント130、リモートのサブコンポーネント140又は両者のサブコンポーネントを有する。
本明細書で使用されたとき、センサネットワーク100の分析及び表示コンポーネントは、センサ112に関して記載される。従って、コンポーネントは、センサ112に関してローカル又はリモートである。ローカルコンポーネント(すなわちローカル分析システム120、ローカル表示システム130)は、センサに内蔵されるか又はセンサ112の近くにあるコンポーネントを含む。例として限定されるものではないが、センサ112は、ローカル分析システム120及びローカル表示システム130として機能する統合された計算システム及びLCDモニタを含む。リモートコンポーネント(すなわちリモート分析システム150、リモート表示システム190)は、センサ112の外部又はセンサ112とは独立なコンポーネントを含む。別の例として限定されるものではないが、センサ112は、データストリームをネットワークを通して医療施設にあるリモートサーバに送信し、専用の計算システム及びモニタは、リモート分析システム150及びリモート表示システム190として機能する。特定の実施の形態では、センサアレイ110におけるそれぞれのセンサ112は、ローカル表示及び分析コンポーネント、リモート表示及び分析コンポーネント、又はその両者の何れかを利用する。特定の実施の形態では、ユーザは、センサアレイ110における1以上のセンサ112からのデータストリームを選択的にアクセス、分析及び表示する。これは、例えば特定のアプリケーション又はデータ分析アルゴリズムを実行する一部として行われる。ユーザは、特定のタイプのセンサ112からのデータ(例えば全てのサーモカップルデータ)、特定のタイプのデータを測定するセンサ112(例えば全ての環境センサ)からのデータにアクセスするか、又は他の基準に基づく。
図1は、センサアレイ110、センサ112、分析システム180、ローカル分析システム120、リモート分析システム150、ディスプレイシステム190、ローカルディスプレイシステム130、リモートディスプレイシステム140及びネットワーク160からなる特定のアレンジメントを例示しているが、この開示は、センサアレイ110、センサ112、分析システム180、ローカル分析システム120、リモート分析システム150、ディスプレイシステム190、ローカル表示システム130、リモートディスプレイシステム140及びネットワーク160からなる任意の適切なアレンジメントを想定している。例として限定されるものではないが、2以上のセンサアレイ110、センサ112、分析システム180、ローカル分析システム120、リモート分析システム150、ディスプレイシステム190、ローカルディスプレイシステム130、及びリモートディスプレイシステム140は、バイパスネットワーク160にダイレクトに互いに接続される。別の例として、1以上のセンサ112は、センサアレイ110の一部であることなしに、通信ネットワーク160にダイレクトに接続される。別の例として、2以上のセンサアレイ110、センサ112、分析システム180、ローカル分析システム120、リモート分析システム150、ディスプレイシステム190、ローカルディスプレイシステム130、及びリモートディスプレイシステム140は、物理的又は論理的に、全体的に又は部分的に同一の場所に位置される。さらに、図1は、特定の数のセンサアレイ110、センサ112、分析システム180、ローカル分析システム120、リモート分析システム150、ディスプレイシステム190、ローカルディスプレイシステム130、リモートディスプレイシステム140及びネットワーク160を示しているが、この開示は、任意の適切な数のセンサアレイ110、センサ112、分析システム180、ローカル分析システム120、リモート分析システム150、ディスプレイシステム190、ローカルディスプレイシステム130、リモートディスプレイシステム140、及びネットワーク160を想定している。例として限定されるものではないが、センサネットワーク100は、複数のセンサアレイ110、センサ112、分析システム180、ローカル分析システム120、リモート分析システム150、ディスプレイシステム190、ローカルディスプレイシステム130、リモートディスプレイシステム140及びネットワーク160を含む。
この開示は、任意の適切なネットワーク160を想定している。例として限定されるものではないが、ネットワーク160の1以上の部分は、アドホックネットワーク、イントラネット、エクストラネット、VPN(Virtual Private Network)、LAN(Local Area Network)、無線LAN(WLAN)、WAN(Wide Area Network)、無線WAN(WWAN)、MAN(Metropolitan Area Network)、Internetの一部、Public Switched Telephone Network(PSTN)、携帯電話網、又はこれらの2以上の組み合わせを含む。ネットワーク160は、1以上のネットワーク160を含む。同様に、この開示は、任意の適切なセンサアレイ110を想定する。例として限定されるものではないが、センサアレイ110の1以上の部分は、アドホックネットワーク、イントラネット、エクストラネット、VPN、LAN、WLAN、WAN、WWAN、MAN、Internetの一部、PSTNの一部、携帯電話網、又はこれらの2以上の組合せを含む。センサアレイ110は、1以上のセンサアレイ110を含む。
コネクション116は、センサアレイ110、センサ112、分析システム180、ローカル分析システム120、リモート分析システム150、ディスプレイシステム190、ローカルディスプレイシステム130、及びリモートディスプレイシステム140をネットワーク160に接続するか又は互いに接続する。同様に、コネクション116は、センサ112をセンサアレイ119において互いに接続するか、(又はセンサアレイ110における他の機器に接続するか)或いはネットワーク160に接続する。この開示は、任意の適切なコネクション116を想定している。特定の実施の形態では、1以上のコネクション116は、(例えばDSL(Digital Subscriber Line)又はDOCSIS(Data Over Cable Service Interface Specification)、(例えばWi-Fi又はWiMAX(Worldwide Interoperability for Microwave Access)のような)無線接続、又は(例えばSONET(Synchronous Optical Network)又はSDH(Synchronous Digital Hierarchy))光接続のような)1以上の有線接続を含む。特定の実施の形態では、1以上のコネクション116は、それぞれアドホックネットワーク、イントラネット、エクストラネット、VPN、LAN、WLAN、WAN、WWAN、MAN、Internetの一部、PSTNの一部、携帯電話網、別のコネクション116、又は2以上の係るコネクション116の組み合わせを含む。コネクション116は、必ずしも、同じセンサネットワーク100である必要はない。1以上の第一のコネクション116は、1以上の第二のコネクション116からの1以上の観点で異なる。
図2Aは、センサネットワークにおける例示的なデータフローを示す。様々な実施の形態では、センサアレイ210における1以上のセンサは、1以上の刺激を受ける。センサアレイ210は、1以上の刺激に基づいて1以上のデータストリームを、何れか適切なネットワークを通して1以上の分析システム280に送信する。例として限定されるものではないが、あるセンサは、複数のデータストリームを複数の分析システムに送信する。別の例として限定されるものではないが、複数のセンサは、複数のデータストリームを1つの分析システムに送信する。
特定の実施の形態では、センサアレイ210におけるセンサは、それら自身のデータストリームをそれぞれ生成し、これらデータストリームは、分析システム280に送信される。他の実施の形態では、センサアレイ210における1以上のセンサは、1つのデータストリームに結合されるそれらの出力を有する。
分析システム280は、1以上のデータストリームをモニタ、記憶及び分析する。分析システム280は、ローカル、リモート又はこれら両者である。分析システム280は、1以上のデータストリームに基づいて、1以上の分析の出力を1以上のディスプレイシステム290に送信する。例として限定されるものではないが、1つの分析システムは、複数の分析出力を複数のディスプレイシステムに送信する。別の例として限定されるものではないが、複数の分析システムは、複数の分析出力を1つのディスプレイシステムに送信する。分析システム280は、後の処理のために1以上の分析出力を記憶する。
ディスプレイシステム290は、1以上の分析出力に基づいて、1以上のユーザについてレンダリング、可視化、表示、メッセージング及び公表する。ディスプレイシステム290は、ローカル、リモート又はその両者である場合がある。様々な実施の形態では、センサアレイ210は、1以上のデータストリームをディスプレイシステム290にダイレクトに送信する。これは、例えば送信側による刺激の読取りの表示を可能にする。
図2Aは、センサアレイ210、分析システム280及びディスプレイシステム290の特定の構成を示しているが、この開示は、センサアレイ210、分析システム280及びディスプレイシステム290からなる任意の適切なアレンジメントを想定している。さらに、図2Aは、センサアレイ210、分析システム280及びディスプレイシステム290の間での特定のデータフローを示しているが、この開示は、センサアレイ210、分析システム280及びディスプレイシステム290の間の任意の適切なデータフローを想定している。
センサ
図2Bは、例示的なセンサ212、及びセンサへのデータの流れ並びにセンサからのデータの流れを示す。センサ212は、ある刺激を受け、ある刺激に応答する装置である。ここで、用語「刺激」は、何れかの信号、特性、測定、又は量を意味する。
特定の実施の形態では、センサ212は、ある対象物からの刺激を受ける。例として限定されるものではないが、対象物は、人(又は人のグループ又はエンティティ)、(例えば地理的な位置のような)場所、又は(例えば建物、道路、航空機又は自動車のような)物である。この開示は、特定のタイプの対象物を記載しているが、この開示は、任意の適切なタイプの対象物を想定している。特定の実施の形態では、1以上のセンサ112の1以上の対象物は、他のセンサ112、分析システム180又はディスプレイシステム190のようなセンサネットワーク100の他のコンポーネントのユーザである。係るように、用語「対象物」及び「ユーザ」は、特に断りがない限り、同じ人を示す。
センサ212は、ある刺激に対応するデータストリームを生成することで、ある刺激に応答する。データストリームは、任意の適切な伝送媒体を通して送信され、電子装置で更に使用されるデジタル又はアナログ信号である。本明細書で使用されたとき、用語「センサ」は、ある刺激を受け、データストリームに変換する装置を示すように広義に使用される。この開示は、センサ212からのデータストリームの出力が、特に断りがない限り、分析システムに送信されることを想定している。
特定の実施の形態では、1以上のセンサ212は、刺激受信エレメント(すなわち感知素子)、通信素子、及び関連回路をそれぞれ含む。センサ212は、一般に、小型、バッテリから電力が供給され、携帯用であり、マイクロプロセッサ、データ記憶のための内部メモリ、刺激を受けるトランスデューサ又は他のコンポーネントを備えている。しかし、センサ212は、分析、検査又は測定である場合もある。センサ212は、パーソナルコンピュータと相互作用し、ソフトウェアを利用してセンサ212を作動し、収集されたデータを閲覧及び分析する。また、センサ212は、(例えばキーパッド、LCDである)ローカルインタフェース装置を有し、スタンドアロン装置として使用されるのを可能にする。特定の実施の形態では、センサ212は、例えばセンサネットワークにおける1以上の他のコンポーネントに、通信チャネルを通して(データストリームのような)情報を受信又は送信する1以上の通信エレメントを含む。
特定の実施の形態では、1以上のセンサ212は、生理的、心理的、行動、及び環境の刺激を含む様々な物を測定する。生理的な刺激は、例えば人の身体的な態様(例えば人のストレッチの動き、及び付属品の位置)、人の代謝の態様(例えば、グルコースレベル、酸素レベル、オスモル濃度)、人の生化学的な態様(酵素、ホルモン、神経伝達物質、サイトカイン)、及び身体の健康、病気及び恒常性に関連する人の他の態様を含む。心理的な刺激は、例えば情緒、気分、感情、心配、ストレス、落ち込み、及び人の他の心理的又は精神的な状態を含む。行動の刺激は、例えば人の行動に関連する刺激(例えば仕事、交際、議論、飲酒、休憩、運転)、グループに関連する行動(例えば行進、抗議、暴徒の行動)、及び行動に関連する他の態様を含む。環境の刺激は、例えば環境の物理的な態様(例えば光、動き、温度、磁場、重力、湿度、振動、圧力、電場、音、GPS位置)、環境分子(例えば毒素、栄養素、フェロモン)、環境の条件(例えば花粉数、天気)、他の外部条件(例えば交通状態、株式市場の情報、ニュースフィード)を含む。
例として限定されるものではないが、特定の実施の形態は、1以上の以下のタイプのセンサ212を含む。加速度計、アフィニティ電気泳動、風量形、飛行速度計、防犯センサ、高度計、流速計、動脈血ガスセンサ、姿勢表示、自記気圧計、気圧計、バイオセンサ、ボロメータ、ブースト管真空計、ブルドン管真空計、ブレサライザ、カロリー摂取モニタ、熱量計、容量変位センサ、キャピラリ電気泳動、二酸化炭素センサ、一酸化炭素検出器、触媒ビード型センサ、電荷結合素子、化学的電界効果トランジスタ、クロマトグラフ、測色計、方位磁石、密着型センサ、電流センサ、デプスゲージ、DNAマイクロアレイ、心電計(ECG又はEKG)、電気化学ガスセンサ、電解質−絶縁膜−半導体センサ、筋電計(EMG)、電子鼻、電気光センサ、排気温度ゲージ、光ファイバセンサ、フレーム検出器、流量センサ、フラックスゲート方位磁石、足踏みスイッチ、力センサ、フリーフォールセンサ、電気皮膚反応センサ、検流計、ガルドンゲージ、ガス検知器、ガスメータ、ガイガーカウンタ、受振器、ゴニオメータ、比重計、ジャイロスコープ、ホールプローブ、心拍センサ、熱流束センサ、HPLC(High Performance Liquid Chromatograph)、熱フィラメントイオン化ゲージ、水素センサ、水素硫化物センサ、ハイドロフォン、免疫測定法、傾斜計、慣性基準ユニット、赤外部センサ、赤外線放射温度計、インスリンモニタ、イオン化ゲージ、イオン選択電極、キーボード、運動感覚センサ、レーザ測距器、箔検電器、LED光センサ、リニアエンコーダ、LVDT(Linear Variable Differentiation Transformer)、液体容量傾斜計、磁気異常検出器、磁気コンパス、磁気探知機、質量流量センサ、マックロードゲージ、金属検知器、MHDセンサ、マイクロボロメータ、マイクロフォン、マイクロ波化学センサ、マイクロ波ラジオメータ、ムードセンサ、動きセンサ、マウス、マルチメータ、純放射計、中性子検出、ニコルズ放射計、酸化窒素センサ、非分散型赤外線センサ、占有センサ、走行距離計、オーム計、オルファクトメータ、オプトード、発振Uチューブ、酸素センサ、ペインセンサ、粒子検出器、パッシブ赤外線センサ、歩数計、ぺリストール、pHガス電力、光電脈波センサ、光検出器、フォトダイオード、光電子センサ、光イオン化検出器、光電子倍増管、フォトレジスタ、フォトスイッチ、フォトトランジスタ、フォトチューブ、圧電性加速度計、ピラニ真空計、位置センサ、ポテンシオメータ、電位差測定センサ、圧力ゲージ、圧力センサ、近接センサ、乾湿計、パルス酸素濃度センサ、パルス波速度モニタ、無線方位測定器、雨量計、レインセンサ、酸化還元電極、リードスイッチ、抵抗温度検出器、抵抗温度計、呼吸センサ、リングレーザジャイロスコープ、ロータリエンコーダ、可変作動変圧器、シンチレーションカウンタ、地震計、セルシン、シャックハルトマン、シリコンバンドギャップ温度センサ、煙検出器、雪量計、土壌の水分センサ、スピーチモニタ、速度センサ、ストリームゲージ、スタッドファインダ、突然の動きのセンサ、タコメータ、触覚センサ、温度ゲージ、サーミスタ、サーモカップル、温度計、検潮器、チルトセンサ、時間制約ゲージ、タッチスイッチ、三角センサ、ターンコーディネータ、超音波厚さ計、バリオメータ、振動構造ジャイロスコーープ、水道メータ、積算電力系、波面センサ、ワイヤドグローブ、ヨーレートセンサ、及び酸化亜鉛ナノロッドセンサ。この開示は、特定のタイプのセンサを記載しているが、この開示は、任意の適切なタイプのセンサを想定している。
バイオセンサは、生物学的刺激を受けて、これをデータストリームに変換するセンサ112の対応である。本明細書で使用されたとき、用語「バイオセンサ」は、広義に使用される。
特定の実施の形態では、バイオセンサは、検体の検出のための装置である。検体は、分析手順において決定される物質又は化学的成分である。例えば、免疫測定法において、検体は、配位子又は結合剤であり、血糖検査において、検体はグルコースである。医学において、検体は、検査が人体における化学物質の存在及び/又は濃度を通常決定するとき、患者で実行されている検査の対応を典型的に示す。
商業的なバイオセンサの一般的な例は、血糖モニタであり、酵素グルコース酸化物を使用して、血糖を分析する。そのようにすることにおいて、血糖モニタは、グルコースを酸化させ、2つの電子を使用してFAD(フラビンアデニンジヌクレオチド、酵素の成分)をFADH2(1,5-ジヒドロ-FAD)に還元する。これは、多数のステップにおいて(電極から2つの電子を受ける)電極により酸化される。結果として得られる電流は、グルコースの濃度の測度である。この場合、電極はトランスデューサであり、酵素は、生物学的に活性成分である。
特定の実施の形態では、バイオセンサは、生物学的要素を物理化学の検出成分と結合する。典型的なバイオセンサは、高感度の生物学的エレメント(例えば生物学的物質(組織、微生物、細胞小器官、細胞受容体、酵素、抗体、核、酸等)、生物学的に導出された物質、生物模擬)、測定及び定量化された別の信号(すなわちトランスデューサ)に生物学的エレメントとの検体の相互作用から生じる信号(すなわち入力の刺激)を変換する物理化学トランスデューサ/検出器エレメント(例えば光、圧電、電気化学)、及び入力刺激に対応するデータストリームを生成及び送信する関連するエレクトロニクス又はシグナルプロセッサ、を含む。バイオセンサにおける生体学的要素のカプセル化は、(例えば透析膜又はヒドロゲル)半透過性のバリア、(例えば高感度の高分子を物理的又は化学的に束縛することによる)3Dポリマー・マトリクス、又は他の手段により行われる。
特定の実施の形態では、センサ112は、離散時間で入力刺激をサンプリングする。サンプリングレート、サンプルレート又はサンプリング周波数は、離散的なデータ信号を形成するため、連続的又は半連続的な刺激から採取される毎秒当たりのサンプル数を定義する。時間領域の信号について、サンプリングレートの単位は、1/s(ヘルツ)である。サンプリング周波数の逆数は、サンプリング周期又はサンプリングインターバルであり、これはサンプル間の時間である。センサ112のサンプリングレートは、ローカルに、リモートに又は両者で制御される。
特定の実施の形態では、センサアレイ110における1以上のセンサ112は、動的なサンプリングレートを有する。ダイナミックサンプリングは、あるプロセスの現在の結果が幾つかの指定された値又は値の範囲内にあるか、或いは幾つかの指定された値又は値の範囲とは異なる場合に、サンプリングレートを変える決定が行われたときに実行される。例として限定されるものではないが、刺激が幾つかのモデルにより予測される結果とは異なるか、幾つかの閾値の範囲外にある場合、センサ112は、これに応答してそのサンプリングレートを増加又は減少する。ダイナミックサンプリングは、センサ112の動作を最適化し、環境を変えるためにアクチュエータの動作に影響を及ぼすために使用される。
特定の実施の形態では、センサ112のサンプリングレートは、特定の刺激の受信に基づく。例として限定されるものではないが、加速度計は、1/sのデフォルトのサンプルレートを有するが、非ゼロの値を測定するときは何時でもそのサンプリングレートを60/sに増加させ、次いで、60の連続するサンプルをゼロにした後に1/sのサンプリングレートに戻る。別の例として限定されるものではないが、特定の時間範囲を通して測定される刺激が著しく変動する場合、センサ112は、そのサンプリングレートを低減する。
特定の実施の形態では、センサ112のサンプリングレートは、センサのセットワーク100の1以上のコンポーネントからの入力に基づく。例として限定されるものではないが、心拍モニタは、1/minのデフォルトのサンプリングレートを有するが、分析システム180からの信号又は命令に応答してそのサンプリングレートを増加する。
特定の実施の形態では、センサアレイ110における1以上のセンサ112は、センサ112が入力をサンプリングする精度を増加又は低減する。例として限定されるものではないが、グルコースモニタは、デフォルトでユーザの血糖レベルを記録するために4ビットを使用する。しかし、ユーザの血糖レベルが迅速に変化し始めた場合、グルコースモニタは、その精度を8ビットの測定に増加する。
特定の実施の形態では、センサ112により受信される刺激は、被検体(すなわちセンサのユーザ)からの入力である。被検体は、様々なやり方で入力を提供する。ユーザ入力は、例えば、量又は値をセンサに入力すること、他のオーディオ入力をセンサに話す又は提供すること、及び他の刺激をセンサに接触又は提供することを含む。適切なI/O装置をもつ任意のクライアントシステムは、ユーザ入力センサとしても役割を果たす。適切なI/O装置は、英数字キーボード、数字キーボード、タッチパッド、タッチスクリーン、入力キー、ボタン、スイッチ、マイクロフォン、ポインティングデバイス、ナビゲーションボタン、スタイラス、スクロールダイアル、別の適切なI/O装置、又はこれら2以上の組み合わせを含む。
特定の実施の形態では、センサ112は、センサ112に情報を入力するように被検体に問い合わせる。1実施の形態では、センサ112は、固定された間隔(例えば1時間毎)で被検体に問い合わせる。別の実施の形態では、センサ112は、動的なレートで被検体に問い合わせる。ダイナミックなレートは、センサ112への前の入力、センサアレイ110における他のセンサ112からのデータ、分析システム180からの出力等、様々な要素に基づく。例として限定されるものではないが、センサアレイ110における心拍モニタは被検体の心拍における増加を示す場合、ユーザ入力のセンサは、彼の現在のアクティビティを入力するために被検体に即座に問い合わせる。
特定の実施の形態では、センサ112は、データフィードである。データフィードは、1以上のソースから生理的、心理的、行動又は環境データを受信及び収集し、収集されたデータに基づいて1以上のデータストリームを送信するコンピューティングシステムである。代替的に、データフィードは、収集されたデータに基づく1以上のデータストリームである。例として限定されるものではないが、データフィードは、株式市場のティッカー、天気予報、ニュースフィード、交通情報のアップデート、公衆衛生の掲示、電子カレンダ、(例えば別のユーザからの生理的、心理的、又は行動的データのような)1以上の他のユーザからのデータ、或いは任意の他の適切なデータフィードである。データフィードは、先に記載されたように、パーソナル且つリモートデータを含む場合がある。データフィードは、(例えばコンピュータシステム1700のような)任意の適切なコンピューティング装置である。
本実施の形態で図示及び記載される例示的なデータフィードは、例示するために提供され、限定されることを意図していない。この開示は、任意の適切なデータフィードの使用を想定している。
データストリーム
特定の実施の形態では、データストリームは、センサアレイ110における1以上のセンサ112から送信された1以上のデータを含む。データストリームは、任意の適切な伝送媒体を通して伝送され、電子装置で更に使用されるデジタル又はアナログ信号である。センサアレイ110は、任意の適切なネットワークを通して1以上の分析システム180に、1以上の刺激に基づいて1以上のデータストリームを送信する。
データストリームは、生理的、心理的、行動的及び環境的センサを含む様々なタイプのセンサ112からの信号を含む。センサ112は、受信する刺激に対応するデータストリームを生成する。例として限定されるものではないが、生理学的センサ(例えば加速度計)は、生理的なデータストリーム(例えば時間を通して被検体の加速度に関するデータを含む加速度データストリーム)を生成する。
センサデータは、任意の適切な情報を含む。特定の実施の形態では、センサデータは、1以上のセンサ112により行われる測定を含む。センサデータは、任意の適切なフォーマットを有するサンプルを含む。特定の実施の形態では、サンプルのフォーマットは、1以上のデータパラメータを有するタプル(又は順序集合)であり、特定のサンプルは、1以上のデータパラメータの1以上の値のタプルである。例として限定されるものではないが、タプルフォーマット(t,p)は、データパラメータt及び圧力pを有し、特定のサンプル(t0,p0)は、時間t0で測定された圧力p0を有する。タプルフォーマットは、1以上のセンサパラメータ及び/又は1以上のテストパラメータのような任意の適切なデータパラメータを含む。センサパラメータは、1以上のセンサ112に対応し、センサ値は、1以上のセンサ112により行われる1以上の測定を記録する。例として限定されるものではないが、センサ値は、センサ112により行われた測定を記録する。テストパラメータは、測定プロセスの時間、空間及び/又は環境の特徴を記述する要素に対応し、テスト値は、測定が行われるときに特徴の値を記録する。例として限定されるものではないが、パラメータは、時間であり、パラメータは、測定が行われる特定の時間を記録する。
特定の実施の形態では、センサ112は、離散時間で1以上のデータを送信する。送信速度、伝送速度、又は伝送周波数は、離散データ信号を形成するため、センサにより送出される毎秒当たり(又は他の単位当たり)の送信数を定義する。時間領域の信号について、伝送速度の単位は、1/s(ヘルツ)である。伝送速度の逆数は、伝送周期又は伝送間隔であり、これは送信間の時間である。1個のデータは、連続的、周期的、ランダムに、又は任意の他の適切な周波数又は期間で送信される。これは、センサのサンプリングレートと相関する場合と相関しない場合がある。
センサデータに対する参照は、センサのデータストリームを包含し、必要に応じて、逆に、センサのデータストリームを包含することは、センサデータを参照することになる。センサデータは、センサの被検体に関連し、センサ112は、被検体からの刺激又は被検体に関連する刺激を受ける。センサデータ又はデータストリームは、任意の適切なやり方でセンサの被検体に関連する。例として限定されるものではないが、センサデータは、センサの被検体に関連する。これは、1以上のセンサ112は、センサの被検体により生成された1以上の刺激からセンサデータを生成するからである。別の例として限定されるものではないが、センサデータは、センサの被検体に関連する。これは、センサデータが、センサの被検体の洞察又は更なる理解を提供するからである。更に別の例として限定されるものではないが、センサデータは、センサの被検体に関連する。これは、センサの被検体に関する1以上の問題又はイベントの発生を検出又は予測するためである。更に別の例として限定されるものではないが、センサデータは、センサの被検体に関連する。これは、センサの被検体のモニタリングを容易にするためである。
特定の実施の形態では、センサネットワーク100のコンポーネントは、分析システム180による使用向けにデータストリーム信号を更に処理するため、幾つかのタイプのデータ取得システムを利用する。例として限定されるものではないが、データ取得システムは、アナログ波形信号をデジタル値に変換する。別の例として限定されるものではないが、データ取得システムは、10進値を2進値に変換する。データ取得システムは、例えばセンサアレイ110におけるセンサ112に統合されるか又はローカル分析システム120に統合されるようにローカルである。また、データ取得システムは、例えばリモート分析システム150又は独立のシステムに統合されるようにリモートである。
特定の実施の形態では、データ取得システムは、(例えばセンサ112からの信号が使用されている分析システム180のタイプに適さない場合)1以上の信号調節プロセスを実行する。例として限定されるものではないが、データ取得システムは、信号を増幅、フィルタリング、又は復調する。信号調節の様々な他の例は、センサに対する電流又は電圧の励起、アイソレーション、タイムベース補正、及び線形化を提供する、橋梁完成である。特定の実施の形態では、シングルエンドアナログ信号は、差分信号に変換される。特定の実施の形態では、デジタル信号は、伝送誤りを低減及び訂正するために符号化されるか、又は伝送電力の要件を低減するためにダウンサンプルされる。
特定の実施の形態では、センサネットワーク100のコンポーネントは、時間を通して1以上のデータストリームからのデータを記録、カテゴリ化、記憶及びファイルする幾つかのタイプのデータロギングシステムを利用する。データロギングシステムは、ローカルであり、例えばセンサアレイ110におけるセンサ112に統合されるか又はローカル分析システム120に統合される。データロギングシステムはリモートであり、例えばリモート分析システム150又は独立のシステムに統合される。また、データロギングシステムは、データを記録するために分散されたリソースを使用する。データロギングシステムは、例えばデータストア1840のような任意の適切なデータストアにデータを記憶する。
データロギングシステムは、1以上のデータセットとしてデータストリームを記録する。データセットは、データストリームからの1以上のデータを含む。データセットは、様々な基準に基づいてカテゴリ化又は形成される。例として限定されるものではないが、データストリームは、特定の被検体、センサ、時間周期、イベント又は他の基準に基づいて1以上のデータセットとして記録される。
特定の実施の形態では、データストリームからの1以上のデータセットは、データセットを表す二分決定図(BDD)を構築するために使用される。
二分決定図
二分決定図は、ブール関数を表すために使用されるデータ構造である。BDDは、1以上の内部決定ノード及び2つの端末ノードを有する根を下ろした(rooted)、方向を持った(directed)、及び非環式(acyclic)グラフとして表される。それぞれの決定ノードは、ブール関数の異なる変数を表し、グラフにおける円として典型的に示される。2つの端末ノードである、0端末ノード及び1端末ノードは、グラフにおいて方形として典型的に示される。それぞれの決定ノードは、2つのエッジを有しており、グラフにおいて波線又は点線として典型的に示される0エッジと、グラフにおいて実線として典型的に示される1エッジとを有する。それぞれのエッジは、別の決定ノード又は端末ノードのうちの1つに接続される。
グラフにおけるそれぞれのパスは、1以上の決定ノードとそれらの関連するエッジとにより形成され、0端末ノード又は1端末ノードの何れかに最終的に繋がる。特定の経路を形成する決定ノードは、ブール関数の異なる変数をそれぞれ表す。すなわち、単一の経路に沿って、2つの決定ノードは同じ変数を表さない。0端末ノードにつながる経路は、ブール関数が経路の決定ノードにより表される変数に割り当てられる値についてFALSEに評価することを示し、1端末ノードにつながる経路は、ブール関数が経路の決定ノードにより表される変数に割り当てられた値についてTRUEを評価することを示す。
図3Aは、3つの変数x1,x2及びx3を有するブール関数を表す例となるBDD300を示す。BDD300により表されるブール関数は、3つの変数を有するが、BDD300は、多くとも3つの決定ノードレイヤであるレイヤ1,2及び3を有する。すなわち、少なくとも1つの決定ノードをそれぞれ有するBDD300において多くとも3つのレイヤが存在する。x1を表す決定ノードは、BDD300のレイヤ1にあり、変数x2を表す決定ノードは、BDD300のレイヤ2にあり、変数x3を表す決定ノードは、BDD300のレイヤ3にある。BDD100におけるそれぞれの経路は、決定ノード及びそれら関連するエッジにより形成され、ブール関数がFALSE又はTRUEのそれぞれに評価することを示す、0端末ノード又は1端末ノードの何れかに繋がる。可読性のため、0端末ノード及び1端末ノードは、図3Aにおいて複数回複製される。
最小項は、補数演算子及び結合演算子のみを使用するn個の変数の論理表現である。n個の変数のブール関数について、最小項は、相補の形式又は非相補の形式の何れかにおいて、n個の変数のそれぞれが一度現れた積項である。特定の実施の形態では、データセットからのそれぞれの1個のデータは、最小項のセットを得るために最小項として表される。特性関数は、最小項から生成され、特性関数は、所与の最小項が最小項のセットのうちのメンバであるかを示す。
特定の実施の形態では、データセットSの特性関数
(外1)
は、(最小項により表される)所与のエレメントがデータセットSのメンバであるかを示す。例として限定されるものではないが、データストリームのデータセットは、
(外2)
がデータセットSのエレメントの2進表現である場合にのみ
(外3)
であるように、データセットS⊂Nのブール関数
(外4)
により特徴付けされる。例えば、S={1,3}について、f(0,0)=f(1,0)=0及びf(0,1)=f(1,1)=1である。同様に、複数のセンサからの複数のデータストリームは、ブール関数により特徴付けされる。データセットは、式
(外5)
のタプルのセットを有し、この場合、s
i jは、時間の瞬間iでのセンサjからの入力である。対応するブール関数は、
(外6)
である。例として限定されるものではないが、センサアレイ110は、センサA及びセンサBを備える。センサA及びBからのデータストリームは、ブール関数
(外7)
によりそれぞれ特徴付けされる。この場合、(t1,t2)は、センサの測定に関連する時間であり、(x1,x2,x3)は、所与の時間でのセンサAによる測定であり、(x4,x5,x6)は、所与の時間でのセンサBによる測定である。
ブール関数f
A及びf
Bは、BDD
A及びBDD
Bのそれぞれのような2つのBDDにより表される。代替的に、センサA及びBからのデータストリームは、BDD
ABのような単一のBDDにより表される、単一のブール関数
(外8)
により特徴付けされる。
BDD300は、BDD300におけるノードの幾つかが冗長であり且つBDD300の部分は同一構造であるので、ブール関数の最も最適化された表現ではない。例えば、経路310及び312を考え、これらの両者は、0端末ノードで終了する。経路310及び312で決定ノードを調べることで、変数x2を表す決定ノード330がその0エッジに沿って分岐する限り、変数x3を表す決定ノード340がどの分岐に沿って進行するかに係らず、ブール関数がFALSEを評価することが決定される。従って、決定ノード340は、0端末ノードにより置き換えられる。同様に、経路322及び324は、1端末ノードで終了する。決定ノードをこれら2つの経路で調べることで、変数x2を表す決定ノード350がその1エッジに沿って分岐する限り、変数x3を表す決定ノード360がどの分岐に沿って進行するかに係らず、ブール関数はTRUEに評価することが決定される。従って、決定ノード360は、1端末ノードにより置き換えられる。別の例として、決定ノード370及び380を考え、これらの両者は変数x3を表す。決定ノード370及び380の両者は、0端末ノードにつながる0エッジを有し、1端末ノードにつながる1エッジを有する。従って、これらは、複製であり、互いに同一構造である。従って、これらのうちの1つは、BDD300から除かれる。図3Bは、BDD300により表される同じブール関数を表す例となるBDD390を示すが、BDD300よりも最適化されている。これは、冗長な決定ノード及びBDD300の同一構造の部分を除いた結果として同じブール関数を表すために少ないノードを使用するためである。
その冗長な決定ノード及び同一構造のサブグラフが除かれ、その決定ノードがBDDにおける全ての経路に沿ってルートから端末ノードに同じ順序で現れるBDDは、ROBDD(Reduced Ordered Binary Decision Diagram)と呼ばれる。ROBDDの利点は、特定の関数及び可変次数について正準(canonical)であることであり、機能的な等価チェック及び機能的な技術マッピングのような様々なタイプの実用的な応用において有効となる。
ROBDDは、2つの重要な特性を有する。はじめに、ROBDDが順序付けされる。すなわち、非端末ノードvについて、low(v)及びhigh(v)が非端末ノードである場合に、
(外9)
が成立するように、固定された順序
(外10)
が存在する。この場合、index(v)は、ノードvに関連する変数のインデックスを示し、low(v)は、ノードvに関連する変数に0が割り当てられた場合に対応し、high(v)は、ノードvに関連する変数に1が割り当てられた場合に対応する。第二に、ROBDDが低減される。すなわち、low(v)=high(v)である非端末ノードv∈Vが存在し、v及びv’により根を下ろしたサブBDDが同一構造であるように、2つの非端末ノードv及びv’が存在する。なお、非端末ノードは、決定ノードではない。例えば、図3Bでは、BDD390は、3つの変数を有するブール関数を表すとき、3つのレイヤを有する。BDD390は順序付けされているので、それぞれのレイヤは、特定の変数に対応する決定ノードを含む。例えば、レイヤ2は、変数x2に対応する決定ノードのみを含み、別の変数(例えばx1又はx3)に対応する決定ノードを含まない。
BDD及びROBDDに加えて、BDDの他の例は、POBDD(Partitioned Ordered Binary Decision Diagrams)、ZDD(Zero-suppressed Decision Diagrams)、nanoDDs(nano binary decision diagrams)、nanoZDDs(Zero-suppressed nano binary decision diagrams)、又は他の適切な二分決定図を含む。この開示は、特定のBDDを使用することを記載しているが、この開示は、任意の適切な応用において、任意の適切なタイプのBDDを使用することを想定している。
BDDは、多くの実用的な応用を有し、この開示で開示された様々なアルゴリズムは、何れかの応用のBDDにより使用される。例として限定されるものではないが、集積回路(IC)設計の分野において、ICはBDDにより表される機能を実現するために使用される。IC設計が満足する必要がある特性は、BDDにより表され、次いで、回路の設計を形式的に確認するのと共に使用される。ヘルスケアの分野において、BDDは、メディカルセンサにより収集されるデータを表すために使用される。BDD又はより詳細にはBDDを形成するデータは、コンピュータにより読取り可能な非一時的な記憶媒体で記憶される。BDDの変数がこの開示で記載されるアルゴリズムを使用して処理されたとき、データは、コンピュータにより読取り可能な非一時的な記憶媒体により実施されるように変換される。
特定の実施の形態では、任意の整数のセットは、ブール関数として表され、ブール関数は、BDDにより表される。整数のセットが与えられると、特定の実施の形態は、セットにおける最も大きい整数を表すために必要とされる最少のビット数を決定する。このビット数は、ブール関数の変数の数である。次いで、セットのおけるそれぞれの整数について、ブール関数はTRUEを評価し、セットにない整数について、ブール関数はFALSEを評価する。
特定の実施の形態において、BDDは、1以上のデータストリームから1以上のデータセットを表すために使用される。1端末ノードにつながるBDDにおけるそれぞれの経路について、その経路に沿った全てのノードにより表される値(すなわちデータポイント)がデータセットに属することを示す。同様に、0端末ノードにつながるBDDにおけるそれぞれの経路は、その経路に沿った全ての決定ノードにより表される値がデータセットに含まれないことを示す。
BDDを使用してデータセットを表すため、BDDについて必要とされる最少の変数の数は、データセットにおける最大の値(すなわちデータポイント)を表すために必要とされる最少のビット数に等しい。例として限定されるものではないが、整数のセット{3,5,6,7}を含むデータセットを考える。セットにおける最大の数は7であり、これは3ビットを必要とする。従って、この整数のセットを表すために使用されるブール関数は、3つの変数x1,x2及びx3を必要とする。以下の表は、{3,5,6,7}を表すために使用されるとき、3つの変数の値及びブール関数を例示する。
関数f(x1,x2,x3)は、図3Aで例示されるBDD300又は図3Bで例示されるBDD390により表される。
特定の実施の形態では、センサネットワーク100の1以上のコンポーネントは、BDDライブラリに1以上のBDDを記憶する。BDDライブラリは、例えばノード構成、それぞれの2進の変数、2つの可能性のある変数の評価に対応するノードへのインデックス、インデックスの補完、又はのBDDに関する他の適切な情報のようなBDDに関する任意の適切な情報を含む。例として限定されるものではないが、BDDライブラリは、BDDのサイズの関数として、インデックス及び変数の識別子を維持する。BDDは、BDDライブラリにより実行される一部又は全部の操作を通して多くともk個のノードを有する。
BDDのそれぞれのノードは、多くともv個の変数の識別子のうちの1つでラベル付けされる。従って、ノードへのインデックスは、任意の変数を索引付けするために多くとも
(外11)
を必要とする。従って、ノードは、
(外12)
ビットのみを必要とする。さらに、2ビットが確保され、1ビットは、補完されたエッジを識別するために使用され(単一のノードによるその否定と同様に関数の表現を可能にする)、別のビットは、ガーベージコレクションの間に使用される一般的なマークビットとして使用される。v及びkの値は、任意の適切なやり方で決定される。例えばユーザは、vを指定し、デフォルトのkの値は、はじめに使用される。デフォルトのkの値により許容されるアドレス空間が使い尽くされたとき、kの値が増加され、ノードテーブルが再構築される。別の例において、v及びkの最大の値が想定される。
特定の実施の形態では、センサネットワーク100の1以上のコンポーネントは、センサデータを1以上のBDDとして記憶する。センサアレイ110における1以上のセンサ112は、複数のサンプルを採取し(すなわち複数の刺激を受け)、サンプルに基づいてデータセットSを生成する。特定の実施の形態では、それぞれのサンプルは、1以上のセンサ値のタプルを含む。それぞれのセンサ値は、1以上のセンサにより受信された1以上の刺激を記録する。データセットSは、任意の適切なやり方で生成される。特定の実施の形態では、センサ112のサンプリング周波数に従って又は所望の精度について時間が量子化される。それぞれ時間tiについて、センサ値のセットSは、
(外13)
を得るために得られる。q
i jは、時間の瞬間iでセンサjからの量子化された入力である。それぞれのサンプルは、最小項として表される。特定の実施の形態では、1以上の変数があるサンプルのそれぞれのデータ値に割り当てられる。例として限定されるものではないが、Nt個の変数は、時間について割り当てられ、Ns1個の変数は、第一のセンサセンサについて割り当てられる、Ns2の変数は、第二のセンサについて割り当てられる。従って、あるサンプルは、形式t
1...t
Nt・s
1 1...s
Ns1 1・s
1 2...s
Ns2 2の最小項に対応する。例えば、Nt=16,Ns1=8及びNs2=8の場合、サンプルは、形式のt
1...t
16・s
1 1...s
8 1・s
1 2...s
8 2の最小項に対応する。それぞれのセンササンプルは、割り当てられた変数を使用して2進数として表される。例として、Sのサブセットは{(1,70,3),(2,70,3),(3,70,4)}である。関連する最小項は、以下に示される。
特定の実施の形態では、特性関数f
Sは、最小項のセットから生成される。特性関数f
Sは、何れか適切なやり方で生成される。例として限定されるものではないが、論理演算は、特性関数f
Sを生成するために最小項に適用される。この開示は、適切な論理演算を使用して特性関数を生成することを想定する。例として限定されるものではないが、論理演算は、AND、OR、XOR、NOT、又はこれら2以上の組み合わせを含む。論理OR演算を多数のオペランドに適用することは、オペランドの論理ORが得られる。対応する特性関数
(外14)
は、全ての最小項の論理ORである。特性関数f
Sは、任意の適切なやり方で更なるデータセットを含むように更新される。例として限定されるものではないが、新たなデータセットは、新たな最小項のセットとして表され、論理OR演算は、特性関数f
S及び新たな最小項のセットに適用され、更新された特性関数f
Sが得られる。
特性関数fSは、任意の適切なやり方で報告される。例として限定されるものではないが、ディスプレイシステム190は、適切なI/O装置で特性関数fSの表示を容易にする。
分析
分析システム180は、センサアレイ110における1以上のセンサ112から1以上のデータストリームをモニタ、記憶及び分析する。センサ112からのデータストリームは、何れかの適切な媒体を通して分析システム180に送信される。分析システム180は、1以上のデータストリームに基づいて1以上の分析出力を、例えばセンサ112、他の分析システム180、又はディスプレイシステム190のようなセンサネットワーク100の1以上の他のコンポーネントに送信する。分析システム180は、例えばコンピュータシステム1700のような任意の適切なコンピューティング装置である。
特定の実施の形態では、分析システム180は、1以上のローカル分析システム120又は1以上のリモート分析システム150を含む。分析システム180は、複数のサブシステム(例えばローカル分析システム120及びリモート分析システム150)を含む場合、データストリームの処理及び分析は、シリアル又はパラレルに生じる。例として限定されるものではないが、分析システム180は、ローカル分析システム120及びリモート分析システム150の両者でセンサからの同一のデータストリームを受信する。別の例として限定されるものではないが、分析システム180は、ローカル分析システム120でデータストリームを受信し、ローカル分析システムは、データストリームを処理し、次いで変更されたデータストリーム/分析出力をリモート分析システム150に送信する。
特定の実施の形態では、分析システム180は、データストリームからの1以上のデータセットにアクセスして分析する。分析システム180は、センサアレイから受信されときに、リアルタイムでデータストリームを分析するか、又はデータストリームをその後に処理するためにセンサアレイ110から受信された後にデータストリームに記憶する。分析システム180は、何れかの適切な処理、計算又は技術を使用して、データストリームを分析する。例として限定されるものではないが、分析システム180は、データの測距、調査、清浄、フィルタリング、変換、モデル化、正規化、平均、注釈、相関、又は文脈への当てはめを含めて様々な処理及び計算を実行する。別の例として限定されるものではないが、分析システム180は、データマイニング、データ融合、分散データベース処理、又は人口知能を含む様々なデータ分析を使用する。これらの技術は、様々なデータストリームを分析してデータに基づいて相関及び結論を生成するために適用される。分析システム180は、データストリームが関連するかを判定するために複数のデータストリームを分析する。データストリーム間の関係は、例えば、相関、因果関係、従属関係、相互関係、データの等価、別の適切な関係、又は2以上の係る関係を含む。特定の実施の形態では、分析システム180は、1以上のデータストリームを表す1以上にBDDにアクセス又は生成し、BDDに様々な処理及び計算を実行する。この開示は特定の技術を使用して特定の分析プロセスを実行する分析システム180を記載しているが、この開示は、任意の適切な技術を使用した任意の適切な分析プロセスを実行する分析システム180を想定している。
特定の実施の形態では、分析システム180は、1以上のデータストリームに基づいてモデルを生成する。モデルは、システム又はオブジェクトを記述する手段である。例として限定されるものではないが、モデルは、データセット、関数、アルゴリズム、微分方程式、チャート、テーブル、決定木、二分決定図、シミュレーション、別の適切なモデル、又は2以上の係るモデルである。モデルは、1以上の人の生理的、心理的、行動又は環境のうちの1以上の態様を含む、様々なシステム又はオブジェクトを記載する。この開示は、特定のモデルを生成する特定のコンポーネントを記載しているが、この開示は、任意の適切なモデルを生成する任意の適切なコンポーネントを想定している。さらに、この開示は、特定の技術を使用して特定のモデルを生成することを記載しているが、この開示は、任意の適切な技術を使用した任意の適切なモデルを生成することを想定している。
分析システム180は、経験的、理論的、線形、非線形、決定的、確率的、スタティック、ダイナミック、異種、又は同種であるモデルを生成する。分析システム180は、例えばカーブフィッティング、モデルトレーニング、補間、外挿、統計モデリング、ノンパラメトリック統計、微分方程式等を含む様々な技術を使用して1以上のデータポイントに適合するモデルを生成する。
分析システム180は、ベースラインモデル、統計モデル、予測モデル等を含む様々なタイプのモデルを生成する。ベースラインモデルは、比較の基準としての役割を果たすモデルであり、指定された期間(すなわち制御期間)を通して制御されるデータ(すなわちベースラインデータ)を使用して典型的に生成される。制御期間は、任意の適切な期間である。例として限定されるものではないが、被検体の血圧のベースラインモデルは、血圧モニタにより一週間の経過を通して行われる一連の血圧測定から計算される被検体の平均の血圧である。予測モデルは、1以上の独立変数の観点でシステム又はオブジェクトの振る舞いを記述する数学関数(又は関数のセット)である。例として限定されるものではないが、1以上の実際のセンサ測定に基づいて生理的状態を計算するため、予測モデルが使用される。あるタイプの予測モデルは、統計モデルであり、ランダム変数及びそれらの関連する確率分布の観点で、オブジェクトの振る舞いを記述する数学的関数(又は関数のセット)である。最も基本的な統計モデルの1つは、簡単な線形回帰モデルであり、2つの測定された変数間の線形の関係を想定する。例として限定されるものではないが、分析システム180は、パルス酸素濃度計及びバロメータからのデータを比較し、被検体の位置での被検体の血中酸素レベルと気圧との間の線形の相関を識別する。特定の実施の形態では、予測モデルは、ベースラインモデルとして使用され、予測モデルは、指定された期間を通して制御されるデータを使用して生成される。
特定の実施の形態では、分析システム180は、1以上のデータストリームを正規化又は平均化することでモデルを生成する。例として限定されるものではないが、単一のセンサ112からのデータストリームのモデルは、幾つかの初期化の期間を通してセンサ112により行われる平均のセンサ測定である。別の例として限定されるものではないが、モデルは、制御期間の間に行われる単一のセンサ測定である。
特定の実施の形態では、分析システム180は、1以上のデータセットを数学関数にフィットさせることでモデルを生成する。例として限定されるものではないが、モデルは、幾つかの制御期間を通して1以上のセンサにより行われるセンサ測定に基づくアルゴリズムである。モデルは、1以上のデータストリーム及び1以上の固定された変数からのデータを含む、様々な変数を含む。以下は、分析システム180がシステム又はオブジェクトをモデル化するために生成する例示的なアルゴリズムである。
この場合、f
mはモデルであり、(D
1 sensor,...,D
N sensor)は、データストリーム1〜N
である。(Y
1,...,Y
M)は、固定された変数1〜Mである。
特定の実施の形態では、モデルは、理論的又は経験的システムにおける仮説に基づいたセンサ測定を予測するために使用される。特定の実施の形態では、モデルは、被検体の生理的又は心理的状態を判定又は分類するために使用される。例として限定されるものではないが、モデルは、抽象的又は統計的結果をもつ所定の病状について被検体のリスクを決定する。モデルは、病気を進展させる「高いリスク」であるとして被検体を識別するか、病気を進展させる80%の可能性であるとして被検体を識別する。別の例として限定するものではないが、モデルは、被検体の深刻さ又は病状の等級を決定する。
特定の実施の形態では、センサアレイ110における1以上のセンサ112は、被検体の健康に関するデータを分析システム180に連続的に送信し、分析システムは、被検体の健康状態における変化をモニタして自動的に検出する。本明細書で使用されたときに、「健康状態」は、病理及び病気に関して人の状態を含めて、人の生理的及び心理的な状態を示す。生理的、心理的、行動、及び環境データをモニタするために統合されたセンサアレイ110を使用することで、分析システム180は、個々のセンサ112で可能なよりも高い精度で、病理、病状、感度、及び他の健康に関連する状態を識別する。
特定の実施の形態では、センサアレイ110における1以上のセンサ112は、1以上の生体指標を測定する。生体指標は、生体内作用、発病過程、又は薬理反応の指標として測定及び評価される特性である。例として限定されるものではないが、薬理ゲノム学において、生体指標は、薬物反応と相関する特定の遺伝的変異である。別の例として限定されるものではないが、神経化学において、生体指標は、人のプラズマグルココルチコイドレベルと相関する人の主観的なストレスレベルである。更に別の例として限定されるものではないが、神経心理学において、生体指標は、人の落ち込みレベルと相関する人のセロトニンの摂取率である。更に別の例として限定されるものではないが、生化学において、生体指標は、心臓麻痺のような心臓病の人の危険と相関する人のLDLコレステロールレベルである。生体指標は、別の生理学的又は心理的特性を測定するサロゲートである。生体指標は、生理学的、心理的、行動、又は環境の刺激を含む、任意のタイプの刺激を含む。
特定の実施の形態では、分析システム180は、ある被検体の病状、病態、及び他の健康状態を識別する。所定の生理学的、心理的、行動又は環境データは、所定の病状、病態及び他の健康の状態と相関する。例として限定されるものではないが、分析システム180は、3週間の間に血圧のデータストリームをモニタし、被検体の血圧が少なくとも140/90mmHgである実質的な期間を識別することで被検体が高血圧を有するかを判定し、上昇された血圧のこれら実質的な期間は、高血圧を構成する。識別の精度は、データストリームの数が増加されるときに一般的に増加される。分析システム180は、複数のデータストリームからのデータを文脈に当てはめて関連付けし、そのデータストリームからの交絡因子を除去して、偽陽性及び偽陰性の病態の診断を生成する可能性を低減する。例として限定されるものではないが、上述された高血圧の診断システムは、被検体の血圧を自然に上昇させる、被検体が長期の身体活動に従事する場合、高血圧の偽陽性の診断を生成する。従って、分析システム180が被検体の心拍データストリームをモニタしている場合、高い心拍数の時間と相関する血圧のデータセットを除去し、これにより誤った高血圧の診断を生成する可能性を低減する。
特定の実施の形態では、分析システム180は、生理学的、心理的、行動及び環境データストリームを分析し、所定のデータセットと被検体の健康状態との間の相関を識別する。例として限定されるものではないが、分析システム180は、被検体が戦い(fight)を有したことを示す行動のデータセットを、上昇された心拍の原因として戦いを識別するために被検体が上昇された心拍を有することを示す生理学的データセットと相関付けることができる。別の例として限定されるものではないが、分析システム180は、被検体が上昇された皮膚の温度を有したことを示す生理学的なデータセットを、症状された皮膚の温度の原因として、身体活動を識別するため、被検体が身体活動に従事していたことを示す行動のデータセットと関連付けることができる。更に別の例として限定されるものではないが、分析システム180は、被検体が落ち込んでいることを示す心理的なデータセットを、被検体の落ち込みの原因として、株価の低下を識別するため、被検知の株式のポートフォリオが患者の落ち込み込みの始まりの直前に実質的に下降したことを示す環境のデータセットと関連付けする。分析システム180は、様々な方法を使用して、相関を識別し、因果関係の仮説を生成する。
特定の実施の形態では、分析システム180は、被検体の健康状態のモデルを生成する。例として限定されるものではないが、分析システム180は、制御期間の間に1以上のデータストリームを分析することで、被検体の生理学的又は心理的状態のベースラインモデルを生成する。ひとたびベースラインモデルが確立されると、分析システム180は、被検体を連続的にモニタし、ベースラインモデルに比較して、データストリームにおける逸脱、変動性、又は変化を識別する。別の例として限定されるものではないが、分析システム180は、1以上のデータストリームを分析して、センサ測定に適合する1以上のアルゴリズムを生成することで、被検体の生理学的又は心理的な状態の予測モデルを生成する。ひとたび予測モデルが確立されると、分析システム180は、将来の健康状態、予測される又は仮説に基づいたセンサの読取り、及び被検体の生理学的又は生理的な他の態様を予測するために使用される。また、分析システム180は、センサアレイ110により生成される新たなデータに基づいて予測モデルを更新及びリファインする。
特定の実施の形態では、分析システム180は、時間を通して病態の進展及び他の健康状態の変化をモニタする。例として限定されるものではないが、分析システム180は、時間を通しての被検体の血圧を連続的にモニタし、被検体の高血圧が改善しているかを判定する。係るモニタリングは、傾向を識別して可能性のある健康状態に関する警告又は予測を生成する。同様に、分析システム180は、処置又は治療の情報を含むデータストリームをモニタし、処置又は治療が有効であるかを判定する。例として限定されるものではないが、分析システム180は、時間を通しての被検体の血圧をモニタして、ACE阻害剤処理が被検体の高血圧に影響を及ぼしているかを判定する。
特定の実施の形態では、分析システム180は、人のグループから様々なデータストリームをモニタ及び分析して、新たな病気に係る前の状態又は危険な状態を識別する。例として限定されるものではないが、1以上のセンサアレイ110は、複数の被検体をモニタする。複数の被検体が所定の病気を進展させるとき、分析システム180は、これらの被検体の前のそれらの病気の進展からデータセットを設定する。これらデータセットの分析は、分析システム180が病気を進展させる危険のレベルと相関する所定の健康状態を識別するのを可能にする。
分析の最適化のための医療向け2分決定図の結合/分割
特定の実施の形態では、センサネットワーク110は、1以上の他のBDDからの分析の最適化について1以上のBDDを構築する。分析の最適化は、分析プロセスの速度又は効率を増加することを示す。例として限定されるものではないが、センサネットワーク100は、分析の容易さに基づいてあるBDDを複数のサブBDDに分割する。別の例として限定されるものではないが、センサネットワーク100は、分析の容易さに基づいて、複数のBDDの1以上の部分を新たなBDDに結合する。この開示は、1以上の他のBDDからの分析の最適化のため、特定のプロセスを実行して1以上のBDDを構築する特定のコンポーネントを記載しているが、この開示は、1以上の他のBDDからの分析の最適化のため、任意の適切なコンポーネントを使用して1以上のBDDを構築することを想定している。
特定の実施の形態では、分析システム180は、複数のセンサ112からの1以上のデータストリームを表す1以上のBDDにアクセスする。それぞれのデータストリームは、複数のコンポーネントを有する場合がある。図4は、複数のコンポーネントをもつ例示的なデータストリームを示す。例として限定されるものではないが、分析システム180は、図4に示されるデータストリームを表すBDDにアクセスし、図4は、時間を通して心筋におけるマイクロ電圧を測定する典型的な心電計の波形の単一のインターバルの図である。図4はデータストリームにおける単一のECG波形を示しているが、この開示は、データストリームにおける任意の適切な数のECG波形を想定している。ECG波形のコンポーネントは、PRインターバル、QTインターバル、PRセグメント、QRSコンプレックス、及びSTセグメントを含む。データストリームのコンポーネントは、データストリームの別のコンポーネントと全体的に又は部分的にオーバラップする。例として限定されるものではないが、STセグメントは、QTインターバルと全体的にオーバラップする。この開示及び図4は特定のコンポーネントをもつ特定のデータストリームを記載及び図示しているが、この開示は、任意の適切なコンポーネントをもつ任意の適切なデータストリームを想定している。データストリームを表すBDDは、複数の部分を含み、それぞれの部分は、データストリームの1つのコンポーネントを表す。BDDのある部分は、BDDにおける経路のセットのうちの経路を含む。例として限定されるものではないが、図4に図示されるECG波形は、BDDE1のようなBDDにより表されるが、ECGのそれぞれのコンポーネントは、BDDE1のある部分により表される。BDDのそれぞれの部分は、その部分により現されるデータストリームのコンポーネントを表すサブBDDにより表される。例として限定されるものではないが、PRインターバル、QTインターバル、PRセグメント、QRSコンプレックス、及びSTセグメントは、BDDE1のサブBDDである、BDDのBDDPR1、BDDQT1、BDDPR1、BDDQRS1、及びBDDST1のそれぞれにより表される。この開示は、特定のデータストリームを表す特定のBDDにアクセスすることを記載しているが、この開示は、任意の適切なデータストリームを表すに任意の適切なBDDにアクセスすることを想定している。さらに、この開示は、BDDにアクセスする特定のコンポーネントを記載しているが、この開示は、BDDにアクセスする任意の適切なコンポーネントを想定している。
特定の実施の形態では、分析システム180は、データストリームにおけるコンポーネントを識別する。データストリームのコンポーネントは、任意の適切なやり方で識別される。特定の実施の形態では、分析システム180は、データストリームの構造的な特性に基づいてデータストリームにおけるコンポーネントを識別する。データストリームの構造的な特性は、センサ112により出力される信号の波形の構造的な特性、センサ112により出力される信号の波形の周期性、コンポーネントを定義するデータストリームに埋め込まれる識別子、別の適切な構造的な特性、又は2以上の係る構造的な特性である。例として限定されるものではないが、ECGのコンポーネントは、心電計により出力される波形の構造的な特性に基づいて識別される。図4を参照して、PRセグメントは、P波とQRSコンプレックスとの間の心臓の波形のコンポーネントとして識別される。P波とQRSコンプレックスの構造は、コンポーネントの形状により定義される(すなわちマイクロ電圧対時間の曲線)。別の例として限定されるものではないが、ECG波のコンポーネントは、心電計により出力される波形の周期性に基づいて識別される。図4を参照して、波形の周期性は、R波と次のR波との間の間隔(RRインターバル)により定義され、これは、心拍数の逆数であり、規則的に生じる。更に別の例として限定されるものではないが、ECG波のコンポーネントは、コンポーネントを定義するデータストリームに埋め込まれた識別子に基づいて識別される。図4を参照して、心電計は、心臓の波形の終わりを識別するため、例えばT波後のピークのような、波形において識別子を埋め込む。特定の実施の形態では、分析システム180は、データストリームの機能的な特性に基づいてデータストリームにおけるコンポーネントを識別する。データストリームの機能的な特性は、センサ112により出力される信号の波形の変化の割合、センサ112により出力される信号の波形の最小及び/又は最大の値、別の適切な機能的な特性、又は2以上の係る機能的な特性である。特定の実施の形態では、分析システム180は、ユーザ又は別の適切なソースにより提供される予め定義されたコンポーネントの定義に基づいてデータストリームにおけるコンポーネントを識別する。例として限定されるものではないが、ECG波のコンポーネントは、ユーザにより特定される。図4を参照して、ユーザは、PRセグメント、QRSコンプレックス(QRS complex)、及びSTセグメントから構成される“PTインターバル”を定義する。この開示は特定のデータストリームにおいて特定のコンポーネントを識別することを記載しているが、この開示は、任意の適切なデータストリームにおける任意の適切なコンポーネントを識別することを想定している。さらに、この開示はデータストリームにおいてコンポーネントを識別する特定のプロセスを記載しているが、この開示は、データストリームにおけるコンポーネントを識別する任意の適切なプロセスを想定している。
特定の実施の形態では、分析システム180は、分析の容易さに基づいて、1以上のBDDにおける複数の部分から1以上の部分を選択する。分析の容易さは、データセットを参照する分析システムの速度又は効率を高めるために1以上のデータセットを変更することを示す。データセットは、データセットの組み合わせ、分割、圧縮、再構成、統合、調節、再編成、書換え、注釈、又はさもなければ適切な変更により、分析の容易さのために変更される。例として限定されるものではないが、分析の容易さの分解は、図4のECG波形を表すBDDを、PRインターバル、QRSコンプレックス、及びQTインターバルのようなECG信号の主要なコンポーネントを表すBDDに分解することを示す。特定の実施の形態では、分析の容易さは、特定の分析プロセスに関する。分析システム180は、特定の分析プロセスを記述する情報を受け、次いで、特定の分析プロセスについて必要とされる1以上のデータストリームから1以上のコンポーネントを識別する。分析システム180は、識別されたコンポーネントを表すBDDの一部を選択する。例として限定されるものではないが、分析システム180は、分析プロセスを記述する情報を受信して、ある人の心拍を決定する。図4を参照して、R波と次のR波(RRインターバル)との間のインターバルは、心拍の逆数である。分析システム180は、人の心拍を決定するために必要とされるデータストリームのコンポーネントとしてQRSコンプレックスを識別し、データストリームの更なるコンポーネントは必要とされない。次いで、分析システム180は、QRSコンプレックスを表すBDDの部分を選択する。
特定の実施の形態では、分析の容易さは、選択されたコンポーネントからサブBDDを構築することで達成される圧縮率に関する。高い圧縮率は、データセットの高速な操作につながり、従って容易な分析につながるが、係る相関は、常に存在せず、常に必要とされない。例として限定されるものではないが、分析システム180は、単一のBDDとしてECG波を記憶することに比較して、ECG波の様々なコンポーネントからサブBDDを構築することで高い圧縮率を達成する。図4を参照して、図示されるECG波は、BDDE1として記憶される。BDDE1は、QRSコンプレックスデータを記憶するBDDQRS1及びECG波の残りを記憶するBDDE2のような、サブBDDに分割される。BDDQRS1は、QRSコンプレックスを含むデータストリームの部分のみを記憶するため、BDDQRS1は、比較的高い圧縮率を有する場合がある。さらに、BDDQRS1及びBDDE2のサイズの合計は、BDDE1のサイズよりも小さい。この開示は、特定のBDDの特定の部分を選択することを記載しているが、この開示は、任意の適切なBDDの任意の適切な部分を選択することを記載する。さらに、この開示は、特定の要素に関して分析の容易さを記載しているが、この開示は、任意の適切な要素に関する分析の容易さを想定している。
特定の実施の形態では、分析システム180は、第一のBDDを分割することで複数のサブBDDを構築する。サブBDDは、分析の容易さに基づいて選択された部分を表す第一のサブBDD、及び選択されていない部分を表す1以上の第二のサブBDDを含む。サブBDDは、任意の適切なやり方で構築される。BDDは、既存のBDD分割ルールに従って複数のサブBDDに分割される。例として限定されるものではないが、ブール関数f(x1,…,xn)を表すBDDは、ブール関数f1(x1,…,xn)〜fm(x1,…,xn)を表す2以上のサブBDDに分割される。ブール関数のそれぞれは、オリジナルのブール関数fの一部であると考えられる。ブール関数f1〜fmのそれぞれがBDDにより表される場合、オリジナルのブール関数fを表すBDDは、f(すなわちf1〜fm)の部分を表す全てのBDDに論理和演算を施すことで得られる。別の例として限定されるものではないが、図4に示されるECG波であるBDDE1を表すBDDは、QRSコンプレックスを表すBDDQRS1及びECG波の残りを表すBDDE2のような、ECG波の様々なコンポーネントを表す2以上のサブBDDに分割される。特定の実施の形態では、分析システム180は、1以上のサブBDDにより特定の分析プロセスを実行する。特定の実施の形態では、分析システム180は、分析の容易さに基づいて選択された部分を表す第一のサブBDDの1以上を記憶し、選択されない部分を表す第二のサブBDDの1以上を削除する。この開示は特定のコンポーネント及び特定のプロセスを使用して第一のBDDを分割することで複数のサブBDDを構築することを記載しているが、この開示は、任意の適切なコンポーネント及び任意の適切なプロセスを分割することで、複数のサブBDDを構築することを想定している。
特定の実施の形態では、分析システム180は、複数の第一のBDDからの複数の部分を結合することで、第二のBDDを構築する。複数の部分は、分析の容易さに基づいて選択された部分を含む。例として限定されるものではないが、結合されたBDDが少ないスペースを必要とするかに基づいて部分が選択される。第二のBDDは、任意の適切なやり方で第一のBDDの複数の部分から構築される。例として限定されるものではないが、ブール関数f1(x1,…,xn)〜fm(x1,…,xn)を表す複数の第一のBDDは、ブール関数F(x1,…,xn)を表す第二のBDDに結合される。ブール関数f1(x1,…,xn)〜fm(x1,…,xn)のそれぞれは、複数の第一のBDDにより表されるブール関数の一部であると考えられる。ブール関数f1〜fmのそれぞれがBDDにより表された場合、ブール関数Fを表す第二のBDDは、f1〜fmを表す全てのBDDに論理和演算を施すことで得られる。別の例として限定されるものではないが、図4に示される波形のような、複数のECG波形を表す複数の第一のBDDからの複数の部分は、第二のBDDに結合される。QRSコンプレックスを表すそれぞれ第一のBDDの部分は、それぞれの第一のBDDからのQRSコンプレックスを表す第二のBDDに結合される。特定の実施の形態では、分析システム180は、第二のBDDで特定の分析プロセスを実行する。特定の実施の形態では、分析システム180は、分析の容易さに基づいて選択された第一のBDDの部分を表す第二のBDDを記憶する。この開示は、特定のコンポーネント及び特定のプロセスを使用して複数の第一のBDDから複数の部分を結合することで、第二のBDDを構築することを記載しているが、この開示は、任意の適切なコンポーネント及び任意の適切なプロセスを使用して複数の第一のBDDから第一の部分を結合することで、第二のBDDを構築することを想定している。
特定の実施の形態では、分析システム180は、BDDを結合又は分割する前にBDDのサイズを最適化する。例として限定されるものではないが、分析システム180は、変数の並べ替えを使用して、BDDのサイズを最適化する。
図5は、分析の最適化の医療向け二分決定図を結合する例示的な方法を示す。本方法は、ステップ510で開始し、分析システム180は、複数のセンサ112からの複数のデータストリームを表す複数の第一のBDDにアクセスする。複数のデータストリームは、複数のコンポーネントを含み、第一のBDDは、複数の部分を含み、それぞれの部分は、1つのコンポーネントを表す。ステップ520で、分析システム180は、分析の容易さに基づいて、第一のBDDにおける複数の部分から1以上の部分を選択する。ステップ530で、分析システム180は、第一のBDDの選択された部分の間で論理和演算を行うことで第二のBDDを構築する。この開示は、図5の方法の特定のステップが特定の順序で行われるように記載及び図示しているが、この開示は、図5の方法の任意の適切なステップが任意の適切な順序で行われることを想定している。さらに、この開示は図5の方法の特定のステップを実行する特定のコンポーネントを記載及び図示しているが、この開示は、図5の方法の任意の適切なステップを実行する任意の適切なコンポーネントの任意の適切な組み合わせを想定している。
図6は、分析の最適化の医療向けに二分決定図を分割する例示的な方法を示す。本方法はステップ610で開始し、分析システム180は、1以上のセンサ112から1以上のデータストリームを表す第一のBDDにアクセスし、1以上のデータストリームは、複数のコンポーネントを含み、第一のBDDは、複数の部分を含み、それぞれの部分は、1つのコンポーネントを表す。ステップ620で、分析システム180は、分析の容易さに基づいて、第一のBDDにおける複数の部分から1以上の部分を選択する。ステップ630で、分析システム180は、第一のBDDを分割することで複数のサブBDDを構築し、複数のサブBDDは、選択された部分を表す第一のサブBDD、及び選択されていない部分の1以上を表す1以上の第二のサブBDDを含む。この開示は、図6の方法の特定のステップが特定の順序で行われるように記載及び図示しているが、この開示は、図6の方法の任意の適切なステップが任意の適切な順序で行われることを想定している。さらに、この開示は、図6の方法の特定のステップを実行する特定のコンポーネントを記載及び図示しているが、この開示は、図6の方法の任意の適切なステップを実行する任意の適切なコンポーネントの任意の適切な組み合わせを想定している。
サイズ最適化のための医療向けの二分決定図の結合/分割
特定の実施の形態では、センサネットワーク100は、1以上の他のBDDからサイズの最適化のために1以上のBDDを構築する。サイズの最適化は、サイズを縮小するか、記憶又は処理のためにデータの圧縮率を増加することを示す。例として限定されるものではないが、センサネットワーク100は、サイズの最適化に基づいて、複数の第一のBDDを1以上の第二のBDDに結合する。別の例として限定されるものではないが、センサネットワーク100は、サイズの最適化に基づいてBDDを複数のサブBDDに分割する。この開示は、特定のプロセスを実行して、1以上の他のBDDからサイズの最適化のために1以上のBDDを構築する特定のコンポーネントを記載しているが、この開示は、任意の適切なコンポーネントを使用して、1以上の他のBDDからのサイズの最適化のために1以上のBDDを構築することを想定している。
特定の実施の形態では、分析システム180は、複数のセンサ112からの1以上のデータストリームを表す1以上のBDDにアクセスする。それぞれのデータストリームは、複数のコンポーネントを含む。データストリームを表すBDDは、複数の部分を含み、それぞれの部分は、データストリームの1つのコンポーネントを表す。BDDの部分は、BDDにおける経路又は経路のセットを含む。BDDのそれぞれの部分は、部分により表されるデータストリームのコンポーネントを表すサブBDDにより表される。例として限定されるものではないが、分析システム180は、図4に示されるデータストリームを表すBDDE1にアクセスする。
特定の実施の形態では、分析システム180は、複数の第一のBDDを結合することで第二のBDDを構築する。第二のBDDは、任意の適切なプロセスにより複数の第一のBDDから構築される。例として限定されるものではないが、ブール関数f1(x1,…,xn)〜fm(x1,…,xn)を表す複数の第一のBDDは、ブール関数F(x1,…,xn)を表す第二のBDDに結合される。ブール関数f1〜fmのそれぞれが第一のBDDにより表される場合、ブール関数Fを表す第二のBDDは、f1〜fmを表す全ての第一のBDDに論理和演算を施すことで得られる。別の例として限定されるものではないが、図4に示される波形のように、複数のECG波形を表す複数の第一のBDDは、複数のECG波形を表す第二のBDDに結合される。この開示は特定のコンポーネント及び特定のプロセスを使用して複数の第一のBDDを結合することで、第二のBDDを構築することを記載しているが、この開示は、任意の適切なコンポーネント及び任意の適切なプロセスを使用して複数の第一のBDDを結合することで第二のBDDを構築することを想定する。
特定の実施の形態では、分析システム180は、1以上の第一のBDDにおける複数の部分から1以上の部分を選択する。例として限定されるものではないが、分析システム180は、ブール関数f(x1,…,xn)を表すBDDの1以上の部分を選択する。別の例として限定されるものではないが、分析システム180は、図4に示されるQRSコンプレックスを表すBDDE1の部分を選択する。特定の実施の形態では、分析システム180は、選択された部分を表す第二のBDDと選択されていない部分を表す第三のBDDを構築する。第二及び第三のBDDは、例えば既存のBDDの分割ルールに従って、第一のBDDを第二及び第三のBDDに分割することによるような、任意の適切なやり方で構築される。例として限定されるものではないが、ブール関数f(x1,…,xn)を表す第一のBDDは、第一のBDDの選択された部分を表すブール関数f1 s(x1,…,xn)を表す1以上の第二のBDDと、第一のBDDの選択されていない部分を表すブール関数f1 ns(x1,…,xn)〜fp ns(x1,…,xn)を表す1以上の第三のBDDとに分割される。ブール関数のそれぞれは、オリジナルのブール関数fの分割であると考えられる。f1 s〜fm s及びf1 ns〜fp nsのそれぞれがBDDにより表された場合、オリジナルのブール関数fを表すBDDは、fの分割(f1 s〜fm s及びf1 ns〜fp ns)を表す全てのBDDに論理和演算を施すことで得られる。別の例として限定されるものではないが、図4に示されるECG波形を表すBDDは、ECG波形の様々なコンポーネントを表す2以上のサブBDDに分割される。選択された部分がQRSコンプレックスを表す部分である場合、分析システム180は、BDDE1を、QRSコンプレックスを表すBDDQRS1、及びBDDE1の選択されない部分を表すBDDE2に分割する。BDDE2は、ECG波の残りを表す。この開示は、特定のコンポーネント及び特定のプロセスを使用して、選択された部分を表す第二のBDDと選択されていない部分を表す第三のBDDとを構築することを記載しているが、この開示は、任意の適切なコンポーネント及び任意の適切なプロセスを使用して、選択された部分を表す第二のBDDと選択されていない部分を表す第三のBDDとを構築することを想定している。
特定の実施の形態では、分析システム180は、1以上のBDDのサイズを決定する。BDDのサイズは、BDDが表す関数及びBDDにおける変数の順序付けに基づく。BDDのサイズは、BDDにおけるノード数からダイレクトに得られる。例として限定されるものではないが、BDDは、どの位多くのストレージがBDDに関連しているかを示すビット数として表現されるサイズを有する。特定の実施の形態では、分析システム180は、BDDのサイズを決定する前に1以上のBDDのサイズを最適化する。例として限定されるものではないが、分析システム180は、変数の並べ替えを使用してBDDのサイズを最適化する。この開示はBDDのサイズを決定する特定のプロセスを記載しているが、この開示は、BDDのサイズを決定する任意の適切なプロセスを想定している。
特定の実施の形態では、分析システム180は、1以上のオリジナルBDDと、オリジナルBDDを結合又は分割することで構築された1以上のBDDとのサイズを比較する。BDDのサイズは、任意の適切なやり方で比較される。例として限定されるものではないが、分析システム180は、特定のデータストアにBDDを記憶するために必要とされるビット数を決定する。特定の実施の形態では、分析システム180は、BDDのサイズを比較した後、小さなサイズをもつBDDを記憶し、大きなサイズをもつBDDを記憶する。BDDはm任意の適切なデータストアで記憶される。例として限定されるものではないが、第二のBDDが複数の第一のBDDを結合することで構築されるとき、第二のBDDのサイズが第一のBDDのサイズの合計よりも小さい場合、分析システムは、第二のBDDを記憶して第一のBDDを削除し、さもなければ、分析システム180は、第一のBDDを記憶して第二のBDDを削除する。別の例として限定されるものではないが、第一のBDDが第二及び第三のBDDに分割されるとき、第一のBDDのサイズが第二及び第三のBDDのサイズの合計よりも小さい場合、分析システム180は、第二及び第三のBDDを記憶し、第一のBDDを削除する。この開示は、特定のBDDのサイズを比較することを記載しているが、この開示は、任意の適切なBDDのサイズを比較することを想定している。さらに、この開示は、特定のサイズの比較に基づいてBDDの記憶及び削除を記載しているが、この開示は、任意の適切なサイズの比較に基づいてBDDの記憶及び削除することを想定している。
この開示はサイズの最適化について特定の数のBDDを結合することを記載しているが、この開示は、サイズの最適化について任意の適切な数のBDDを結合することを想定している。例として限定されるものではないが、分析システム180は、第一のセンサ112からの第一のデータストリームを表す第一のBDDと、第二のセンサ112からの第二のデータストリームを表す第二のBDDと、第三のセンサ112からの第三のデータストリームを表す第三のBDDとにアクセスする。次いで、分析システム180は、第一のBDDと第二のBDDとの間で論理和演算を行うことで第四のBDDを構築し、第一のBDDと第三のBDDとの間で論理和演算を行うことで第五のBDDを構築し、第二のBDDと第三のBDDとの間で論理和演算を行うことで第六のBDDを構築し、第一のBDD、第二のBDD及び第三のBDDの間で論理和演算を行うことで第七のBDDを構築する。次いで、分析システム180は、第一のBDDの第一のサイズ、第二のBDDの第二のサイズ、及び第三のBDDの第三のサイズ、第四のBDDの第四のサイズ、第五のBDDの第五のサイズ、第六のBDDの第六のサイズ、第七のBDDの第七のサイズ、第一及び第六のBDDのサイズの合計、第二及び第五のBDDのサイズの合計、第三及び第四のBDDのサイズの合計、第一、第二及び第三のBDDのサイズの合計を決定する。分析システム180は、第七のBDDの第七のサイズ、第一及び第六のBDDのサイズの合計、第二及び第五のBDDのサイズの合計、第三及び第四のBDDのサイズの合計、並びに第一、第二及び第三のBDDのサイズの合計、からなるグループから最も小さいサイズを選択する。次いで、分析システム180は、選択されたグループに対応するBDDを記憶し、残りのBDDを削除する。
この開示は、あるBDDを、サイズの最適化について特定の数のBDDに分割することを記載しているが、この開示は、あるBDDを、サイズの最適化について任意の適切な数のBDDに分割することを想定している。例として限定されるものではないが、分析システム180は、1以上のセンサ112からの1以上のデータストリームを表す第一のBDDにアクセスする。データストリームは、複数のコンポーネントを有する。第一のBDDは、複数の部分を含み、それぞれの部分は、1以上のデータストリームの1以上のコンポーネントを表す。次いで、分析システム180は、第一のBDDにおける複数の部分から1以上の第一の部分を選択し、第一のBDDにおける複数の部分から1以上の第二の部分を選択する。次いで、分析システム180は、第一の選択された部分を表す第二のBDDを構築し、第二の選択された部分を表す第三のBDDを構築し、選択されていない部分を表す第四のBDDを構築し、第一及び第二の選択された部分の組み合わせを表す第五のBDDを構築し、第二の選択された部分と選択されていない部分との組み合わせを表す第六のBDDを構築し、第一の選択された部分と選択されていない部分との組み合わせを表す第七のBDDを構築する。次いで、分析システム180は、第一のBDDの第一のサイズ、第二のBDDの第二のサイズ、第三のBDDの第三のサイズ、第四のBDDの第四のサイズ、第五のBDDの第五のサイズ、第六のBDDの第六のサイズ、第七のBDDの第七のサイズ、第二及び第六のBDDのサイズの合計、第七及び第三のBDDのサイズの合計、第五及び第四のBDDのサイズの合計、並びに第二、第三及び第四のBDDのサイズの合計を決定する。分析システム180は、第一のBDDの第一のサイズ、第二及び第六のBDDのサイズの合計、第七及び第三のBDDのサイズの合計、第五及び第四のBDDのサイズの合計、並びに第二、第三及び第四のBDDのサイズの合計、からなるグループから最小のサイズを選択する。次いで、分析システム180は、最小サイズに対応するBDDを記憶し、残りのBDDを削除する。
例として限定されるものではないが、分析システム180は、1以上のセンサ112からの1以上のデータストリームを表す第一のBDDにアクセスする。データストリームは、複数のコンポーネントを含む。第一のBDDは、複数の部分を含み、それぞれの部分は、1以上のデータストリームの1以上のコンポーネントを表す。次いで、分析システム180は、p≧3として第一のBDDをp個の第二のBDDに分割する。それぞれの第二のBDDは、第一のBDDに等価である。次いで、分析システム180は、
(外15)
個の第三のBDDを構築し、m個の第三のBDDのそれぞれは、k個の第二のBDDの固有の組み合わせである。次いで、分析システム180は、第二又は第三のBDDに基づいてo値を決定し、それぞれのo値は、ゼロ以上の第二のBDDのゼロ以上の第二のサイズのそれぞれと、ゼロ以上の第三のBDDのゼロ以上の第三のサイズのそれぞれとの合計に等しい。o値の決定において、ゼロ以上の第二のBDDとゼロ以上の第三のBDDの組み合わせは、第一のBDDに等価である。次いで、分析システム180は、第一のBDDとo値の第一のサイズのうちで最小の値を選択する。次いで、分析システム180は、1以上の第一のBDD、p個の第二のBDD、又は、最小のサイズに対応するm個の第三のBDDを記憶する。
図7は、サイズの最適化について医療向け二分決定図を結合する例示的な方法を示す。本方法は、ステップ710で開始し、分析システム180は、第一のセンサ112からの第一のデータストリームを表す第一のBDD及び第二のセンサ112からの第二のデータストリームを表す第二のBDDにアクセスする。ステップ720で、分析システム180は、第一のBDDと第二のBDDの間で論理和演算を行うことで第三のBDDを構築する。ステップ730で、分析システム180は、第一のBDDの第一のサイズ、第二のBDDの第二のサイズ、及び第三のBDDの第三のサイズを決定する。ステップ740で、分析システム180は、第三のBDDのサイズが第一及び第二のBDDのサイズの合計未満である場合、分析システム180は、ステップ750で第三のBDDを記憶する。しかし、第三のBDDのサイズが第一及び第二のBDDのサイズの合計未満ではない場合、分析システム180は、第一及び第二のBDDを記憶する。この開示は、図7の方法の特定のステップが特定の順序で行われるように記載及び図示しているが、この開示は、図7の方法の任意の適切なステップが任意の適切な順序で行われることを想定している。さらに、この開示は図7の方法の特定のステップを実行する特定のコンポーネントを記載及び例示しているが、この開示は、図7の方法の任意の適切なステップを実行する任意の適切なコンポーネントの任意の適切な組み合わせを想定している。
図8は、サイズの最適化の医療向け二分決定図を分割する例示的な方法を示す。本方法は、ステップ810で開始し、分析システム180は、1以上のセンサ112からの1以上のデータストリームを表す第一のBDDにアクセスする。1以上のデータストリームは、複数のコンポーネントを含み、第一のBDDは、複数の部分を含み、それぞれの部分は、1つのコンポーネントを表す。ステップ820で、分析システム180は、第一のBDDにおける複数の部分から1以上の部分を選択する。ステップ830で、分析システム180は、選択された部分を表す第二のBDD及び選択されていない部分を表す第三のBDDを構築する。ステップ840で、分析システム180は、第一のBDDの第一のサイズ、第二のBDDの第二のサイズ、及び第三のBDDの第三のサイズを決定する。ステップ850で、分析システム180は、第一のBDDのサイズが第二及び第三のBDDのサイズの合計未満であるかを判定する。第一のサイズが第二及び第三のBDDのサイズの合計未満である場合、分析システム180は、ステップ860で第一のBDDを記憶する。しかし、第一のBDDのサイズが第二及び第三のBDDのサイズの合計未満ではない場合、分析システム180は、ステップ870で第二及び第三のBDDを記憶する。この開示は、図8の方法の特定のステップが特定の順序で行われることを記載及び図示しているが、この開示は、図8の方法の任意の適切なステップが任意の適切な順序で行われることを想定する。さらに、この開示は、図8の方法の特定のステップを実行する特定のコンポーネントを記載及び図示しているが、この開示は、図8の方法の任意の適切なステップを実行する任意の適切なコンポーネントの任意の適切な組み合わせを想定している。
医療向けBDDにおける相関の識別
特定の実施の形態では、センサネットワーク100は、データストリームが関連されるかを判定するため、複数のデータストリームを表す1以上のBDDを構築する。データストリーム間の関係は、例えば相関、因果関係、依存関係、相互関係、データ等価、別の適切な関係、又は2以上の係る関係を含む。相関は、あるデータセットと別のデータセットとの間の因果関係、相補関係、並列関係又は相互関係を確立又は示す。例として限定されるものではないが、ある人における活動レベルとその人の心拍との間に正の相関がある。相関の度合いは、2以上の測定が同時に変化する程度である。これらの相関は、(例えばピアソンの積率相関係数により決定されるとき)依存の変動する程度からなる。一般に、分析システム180は、より多くのデータがセンサアレイ110から利用可能となるとき、より正確な関連付けを行う。次いで、分析システム180は、これらの相関を使用して、変動する信頼の度合いの因果関係の仮説を生成する。一般的に、分析システム180は、より多くのデータがセンサアレイ110から利用可能となるときに、より正確な関連付けを行う。例として限定されるものではないが、センサネットワーク100は、複数のデータストリームを表す複数のBDDを結合して、オリジナルのBDDのサイズを結合されたBDDのサイズに比較することでデータストリームが関連されるかを判定する。例として限定されるものではないが、センサネットワーク100は、複数のデータストリームを表すBDDを複数のサブBDDに分割して、BDDのサイズをサブBDDのサイズに比較することでデータストリームが関連するかを判定する。
この開示は、複数のデータストリームを表す1以上のBDDを構築して、データストリームが関連するかを判定する特定のプロセスを実行する特定のコンポーネントを記載しているが、この開示は、複数のデータストリームを表す1以上のBDDを構築して、データストリームが関連するかを判定する任意の適切なプロセスを実行する任意の適切なコンポーネントを想定している。
特定の実施の形態では、分析システム180は、複数のセンサ112からの1以上のデータストリームを表す1以上のBDDにアクセスする。データストリームを表すBDDは、複数の部分を有し、それぞれの部分は、1つのデータストリームを表す。BDDのある部分は、BDDにおけるある経路又は経路のセットを含む。BDDのそれぞれの部分は、その部分により表されるデータストリームを表すサブBDDにより表される。例として限定されるものではないが、分析システム180は、センサAからのデータストリームを表すBDDAにアクセスし、センサBからのデータストリームを表すBDDBにアクセスする。別の例として限定されるものではないが、分析システム180は、センサA及びBからのデータストリームを表すBDDABにアクセスする。
特定の実施の形態では、分析システム180は、BDDを結合又は分割し、オリジナルのBDDのサイズと結果として得られるBDDのサイズとを決定し、データストリームがBDDのサイズに基づいて関連されるか又は関連付けされないことを示すことで、1以上のBDDにより表される1以上のデータストリームが関連付けされるかを判定する。2つのデータセットが関連される場合、それぞれのデータセットを表す2つのBDDは、両方のデータセットを表す1つのBDDのサイズよりも大きいサイズの合計を有する。同様に、2つのデータセットが関連されない場合、それぞれのデータセットを表す2つのBDDは、両方のデータセットを表す単一のBDDのサイズよりも小さいサイズの合計を有する。2つのBDDは、オリジナルのBDDのサイズの合計よりも小さいサイズを有する新たなBDDにBDDが結合された場合に「互換性がある“compatible”」であるとして記述される。その2つのBDDが互換性があることは、必ずしも、それらBDDにより表されるデータが相関することを意味しない。しかし、より互換性があるBDD(すなわち結合されたときに、より大きいサイズの低減を示すBDD)は、より高い相関の程度を一般に有する。
特定の実施の形態では、分析システム180は、複数のBDDの組み合わせを表すBDDを構築する。第三のBDDは、任意の適切なやり方で構築される。例として限定されるものではないが、ブール関数f1(x1,…,xn)を表す第一のBDD及びブール関数f2(x2,…,xn)を表す第二のBDDは、ブール関数f3(x1,…,xn)を表す第三のBDDに結合される。ブール関数f1及びf2が第一及び第二のBDDのそれぞれにより表される場合、ブール関数f3を表している第三のBDDは、f1を表す第一のBDDをf2を表す第二のBDDに論理和演算を施すことにより得られる。別の例として限定されるものではないが、センサAからのデータストリームを表すBDDA及びセンサBからのデータストリームを表すBDDBは、BDDA及びBDDBに論理和演算を施すことで、センサA及びBからデータストリームを表すBDDABに結合される。この開示は特定のコンポーネント及び特定のプロセスを使用してBDDを構築することを記載しているが、この開示は、任意の適切なコンポーネント及び任意の適切なプロセスを使用してBDDを構築することを想定している。
特定の実施の形態では、分析システム180は、複数のデータストリームを表すBDDを、複数のサブBDDに分割する。それぞれのサブBDDは、データストリームを表す。サブBDDは、任意の適切なやり方で構築される。BDDは、既存のBDDの分割ルールに従って複数のサブBDDに分割される。例として限定されるものではないが、ブール関数f(x1,…,xn)を表すBDDは、センサ1〜mからのデータストリーム1〜mを表す。ブール関数f(x1,…,xn)を表すBDDは、データストリーム1〜mをそれぞれ表すブール関数f1(x1,…,xn)〜fm(x1,…,xn)を表す複数のサブBDDに分割される。ブール関数のそれぞれは、オリジナルのブール関数fの分割であると考えられる。ブール関数f1〜fmのそれぞれがBDDにより表される場合、オリジナルのブール関数fを表すBDDは、f(すなわちf1〜fm)の分割を表す全てのBDDに論理和演算を施すことで得られる。例として限定されるものではないが、センサA及びセンサBからのデータストリームを表すBDDABは、センサAからのデータストリームを表すBDDA及びセンサBからのデータストリームを表すBDDBに分割される。この開示は、特定のコンポーネント及び特定のプロセスを使用してBDDを構築することを記載しているが、この開示は、任意の適切なコンポーネント及び任意の適切なプロセスを使用してBDDを構築することを想定している。
特定の実施の形態では、分析システム180は、1以上のBDDのサイズを決定する。BDDのサイズは、BDDが表す関数とBDDにおける変数の順序付けとに基づく場合がある。BDDのサイズは、BDDにおけるノードの数から直接的に得られる。例として限定されるものではないが、BDDは、どのくらい多くの記憶がBDDと関連されるかを示すビット数として表されるサイズを有する。特定の実施の形態では、分析システム180は、BDDのサイズを決定する前に1以上のBDDのサイズを最適化する。例として限定されるものではないが、分析システム180は、変数のオーダリングを使用してBDDのサイズを最適化する。この開示は、BDDのサイズを決定する特定のプロセスを記載しているが、この開示は、BDDのサイズを決定する任意の適切なプロセスを想定している。
特定の実施の形態では、分析システム180は、1以上のオリジナルのBDDのサイズと、オリジナルのBDDを結合又は分割することで構築された1以上のBDDのサイズを比較し、サイズの比較に基づいて第一及び第二のデータストリームが関連されることを示す。BDDのサイズは、任意の適切なやり方で比較される。例として限定されるものではないが、第二のBDDは、複数のデータストリームを表す複数の第一のBDDを結合することで構築され、第二のBDDのサイズが第一のBDDのサイズの合計未満である場合に、分析システム180は、データストリームが関連することを示し、さもなければ、分析システム180は、データストリームが関連しないことを示す。別の例として限定されるものではないが、複数のデータストリームを表す第一のBDDが第二及び第三のBDDに分割される場合、第一のBDDのサイズが、第二及び第三のBDDのサイズの合計未満である場合、分析システム180は、データストリームが関連されることを示し、さもなければ、分析システム180は、データストリームが関連しないことを示す。この開示は、特定のBDDのサイズを比較することを記載しているが、この開示は、任意の適切なBDDのサイズを比較することを想定している。
特定の実施の形態では、分析システム180は、データセット間の関係が相関することを判定する。分析システム180は、1以上のオリジナルのBDDのサイズと、オリジナルのBDDを結合又は分割することで構築された1以上のBDDのサイズとを比較し、サイズの比較に基づいて第一及び第二のデータストリームが相関することを示す。データセットが相関する場合、結合されたBDD(すなわち2以上のデータストリームを表すBDD)のサイズは、個々のBDD(すなわち単一のデータストリームを表すBDD)のサイズの合計未満である。しかし、データセットが相関しない場合、結合されたBDDのサイズは、個人のBDDのサイズの合計に等しいか又は個人のBDDのサイズの合計よりも大きい。例として限定されるものではないが、センサアレイ100がセンサAとセンサBを有する場合、センサからのデータストリームは、BDDA及びBDDBのそれぞれにより表される。センサA及びBからのデータストリームが相関する場合、BDDABのサイズは、BDDABのサイズがBDDA及びBDDBのサイズの合計に等しいか又はBDDA及びBDDBのサイズの合計よりも大きい場合に相関しない。しかし、センサA及びBからのデータストリームは、BDDABのサイズがBDDA及びBDDBのサイズの合計に等しいか又はBDDA及びBDDBのサイズの合計よりも大きい場合に相関しない。センサアレイ110が複数のセンサ112を含む場合、最適なBDDの表現は、必ずしも、単一のBDDにおける全てのセンサの出力を結合することで得られる。例として限定されるものではないが、図4に示されるデータストリームのような迅速に変化するEKGからのデータストリームは、迅速に変化する脳波図からの出力とBDD内で良好に共存しない。別の例として限定されるものではないが、心拍及び呼吸数は、比較的緩やかに変化し、一般的に関連する。従って、心拍センサ及び呼吸センサからのデータストリームを表すBDDは、心拍データと呼吸データを個別に表す2つのBDDよりも小さいサイズを有する。特定の実施の形態では、分析システムは、個々のデータストリームを表しているBDDを記憶し、結果として得られるグラフは個々のBDDよりも小さいときにBDDを結合する。このアプローチは、複数のセンサ112からのデータを記憶するため、複数のBDDが生成され、古典的に分割されたOBDDの表現が得られる。
特定の実施の形態では、分析システム180は、第一及び第二のデータストリームを表しているBDDのサイズと、第一のデータストリームを表しているBDD及び第二のデータストリームを表しているBDDのサイズの合計とを比較して、第一及び第二のデータストリームが相関する程度を決定する。第一及び第二のデータストリームが相関する程度は、第一及び第二のデータストリームを表しているBDDのサイズが、第一のデータストリームを表しているBDDのサイズと第二のデータストリームを表しているBDDのサイズの合計未満である量により示される。言い換えれば、結合されたBDDのサイズが個々のBDDのサイズの合計に関して減少するときに、相関の程度が増加する。例として限定されるものではないが、分析システムは、センサAからのデータストリームを表しているBDDAを、センサBからのデータストリームを表しているBDDBと結合して、両方のデータストリームを表しているBDDABを形成する。BDDABのサイズがBDDA及びBDDBのサイズの合計未満である場合、センサA及びBからのデータストリームは相関する。さらに、BDDABがBDDA及びBDDBのサイズの合計に関して小さいと、センサA及びBからのデータストリーム間の相関の度合いが高くなる。この開示は、特定の数のデータストリームを表している特定の数のBDDを結合して、データストリームが関連されるかを判定することを記載しているが、この開示は、任意の適切な数のデータストリームを表している任意の適切な数のBDDを結合して、データストリームが関連するかを判定することを想定している。さらに、この開示は、特定の数のデータストリームを表しているBDDを、特定の数のサブBDDに分割して、データストリームが関連されるかを判定することを記載しているが、この開示は、任意の数のデータストリームを表しているBDDを任意の適切な数のサブBDDに分割して、データストリームが関連されるかを判定することを想定している。例として限定されるものではないが、分析システム180は、本明細書で記載されるように様々な個々のBDDを組み合わせる複数の結合されたBDDを形成し、結合された個々のBDDのサイズを分析することで、3以上のデータストリームを表しているBDDに本明細書で記載された1以上の方法を実行する。
図9は、医療向け二分決定図を結合してデータが関連されるかを判定する例示的な方法を示す。本方法はステップ910で開始し、分析システム180は、第一のセンサ112からの第一のデータストリームを表している第一のBDD及び第二のセンサ112からの第二のデータストリームを表している第二のBDDにアクセスする。ステップ920で、分析システム180は、第一及び第二のデータが関連するかを判定する。第一及び第二のデータストリームの間で相関がある場合がある。ステップ930で、分析システム180は、第一及び第二のBDDの組み合わせを表す第三のBDDを構築する。ステップ940で、分析システム180は、第一のBDDの第一のサイズ、第二のBDDの第二のサイズ、及び第三のBDDの第三のサイズを決定する。ステップ950で、分析システム180は、第三のサイズが第一及び第二のサイズの合計未満である場合に、第一及び第二のデータストリームが関連することを示す。この開示は、図9の方法の特定のステップが特定の順序で行われることを記載及び図示しているが、この開示は、図9の方法の任意の適切なステップが任意の特定の順序で行われることを想定している。さらに、この開示は、図9の方法の特定のステップを実行する特定のコンポーネントを記載及び図示しているが、この開示は、図9の方法の任意の適切なステップを実行する任意の適切なコンポーネントの任意の適切な組み合わせを想定している。
図10は、医療向け二分決定図を分割してデータが関連するかを判定する例示的な方法を示す。本方法はステップ1010で開始し、分析システム180は、第一のセンサ112からの第一のデータストリームと第二のセンサ112からの第二のデータストリームとの組み合わせを表す第一のBDDにアクセスする。ステップ1020で、分析システム180は、第一及び第二のデータストリームが関連されるかを判定する。第一及び第二のデータストリームの間で相関がある場合がある。ステップ1030で、分析システム180は、第一のBDDを、第一のデータストリームを表している第二のBDDと第二のデータストリームを表している第三のBDDとに分割する。ステップ1040で、分析システム180は、第一のBDDの第一のサイズ、第二のBDDの第二のサイズ、及び第三のBDDの第三のサイズを決定する。ステップ1050で、分析システム180は、第一のサイズが第二及び第三のサイズの合計未満である場合、第一及び第二のデータストリームが関連することを示す。この開示は、図10の方法の特定のステップが特定の順序で行われることを記載及び図示しているが、この開示は、図10の方法の任意の適切なステップが任意の適切な順序で行われることを想定している。さらに、この開示は、図10の方法の特定のステップを実行する特定のコンポーネントを記載及び図示しているが、この開示は、図10の方法の任意の適切なステップを実行する任意の適切なコンポーネントの任意の適切な組み合わせを想定している。
二分決定図の圧縮閾値の分析
特定の実施の形態では、センサネットワーク100は、データがBDDに加えられているときに、BDDの圧縮率を分析及びモニタし、データの記憶容量を改善するためにBDDのノードをエンコードするための更なるビットを使用すること又は更なるBDDを生成することが使用されるかを判定する。この開示は、特定のプロセスを実行して、データがBDDに加えられているときに、BDDの圧縮率を分析及びモニタし、データの記憶容量を改善するためにBDDのノードをエンコードするための更なるビットを使用すること又は更なるBDDを生成することが使用されるかを判定することを記載しているが、この開示は、任意の適切なコンポーネント及び任意の適切なプロセスを使用して、データがBDDに加えられているときに、BDDの圧縮率を分析及びモニタし、データの記憶容量を改善するためにBDDのノードをエンコードするための更なるビットを使用すること又は更なるBDDを生成することが使用されるかを判定することを想定している。
特定の実施の形態では、分析システム180は、BDDとして記憶のための1以上のデータセットを受信する。1実施の形態では、1以上のデータセットは、センサアレイ110における1以上のセンサ112からの1以上のデータストリームからのものである。次いで、分析システム180は、データセットを表しているBDDを構築する。BDDは、1以上のノードを有しており、1以上のノードのそれぞれは、nビットを使用して符号化される。BDDは、任意の適切なやり方で構築される。例として限定される限定されるものではないが、分析システム180は、BDDの0エッジを表しているkビットと、1エッジを表しているkビットをもつ空のBDDを生成する。データセットSiは、BDDS iのようなBDDとして表される。分析システム180は、論理和演算を空のBDDとBDDS iとに適用して、データセットを表しているBDDを生成する。分析システム180がデータセットSiを受信したとき、分析システムは、任意の適切なやり方でBDDにデータセットを繰り返し加える。例として限定されるものではないが、更なるデータセットSi+1は、BDDS i+1とのような別のBDDとして表現され、論理和演算は、BDDとBDDS i+1とに適用され、更新されたBDDを得る。この開示は、特定のコンポーネント及び特定のプロセスを使用してBDDを構築することを記載しているが、この開示は、任意の適切なコンポーネント及び任意の適切なプロセスを使用してBDDを構築することを想定している。さらに、この開示は、特定のコンポーネント及び特定のプロセスを使用して1以上のデータセットをBDDに繰り返し加えることを開示しているが、この開示は、任意の適切なコンポーネント及び任意の適切なプロセスを使用して1以上のデータセットからBDDにデータを繰り返し加えることを想定している。
特定の実施の形態では、分析システム180は、BDDを分析して、BDDの圧縮率を決定する。圧縮率は、データセットを表しているBDDを記憶するために必要とされるスペースにわたる連続的な、バイナリ形式でのタプルとしてデータセットを記憶するために必要とされるスペースの割合として定義される。分析システム180は、任意の適切な時間で及び任意の適切な頻度でBDDを分析する。例として限定されるものではないが、分析システム180は、指定された時間間隔で、又は別の適切な時間で、それぞれの繰り返しのデータの追加後にBDDを分析する。特定の実施の形態では、分析システム180は、その圧縮率を決定する前に、BDDのサイズを最適化する。例として限定されるものではないが、分析システム180は、変数の並べ替えを使用して、BDDのサイズを最適化する。この開示は、特定のコンポーネント及び特定のプロセスを使用してBDDの圧縮率を決定することを記載してるが、この開示は、任意の適切なコンポーネント及び任意の適切なプロセスを使用してBDDの圧縮率を決定することを想定している。
特定の実施の形態では、ひとたびBDDの圧縮率が閾値の圧縮率以下に下がると、分析システム180は、更なるビットを使用してBDDの1以上のノードのそれぞれを符号化する。BDDの閾値の圧縮率は、BDDへの新たなデータセットの加算がBDDの圧縮率を大幅に減少させるポイントである。例として限定されるものではないが、BDDの0エッジを表しているkビットと1エッジを表しているkビットとをもつBDDについて、閾値の圧縮率は、BDDにおけるノード数が2k-1未満であるか2k-1に等しいときの値である。分析システム180は、BDDに更なるデータセットを加えるとき、BDDの圧縮率は、所定のサンプル数がBDDに加えられるまで増加し続ける。ひとたび所定のデータ量がBDDに加えられると、BDDの現在の構造により許容される全てのアドレス空間が使い尽くされる。BDDに更なるデータセットを加え続けるため、分析システム180は、BDDに更なるノードを加える必要があり、これは、圧縮率を有意に減少させる。例として限定されるものではないが、BDDは、1以上のノードを含み、1以上のノードのそれぞれは、nビットを使用して符号化される。BDDの圧縮率が閾値の圧縮率以下に下がる場合、分析システム180は、n+dビットを使用してBDDの1以上のノードのそれぞれを符号化する。このプロセスは、BDDの閾値の圧縮率が閾値の圧縮率以下に下がるたびに、更なるdビットを使用してBDDのノードを符号化するために繰返される。この開示は、特定のBDDの特定の閾値の圧縮率を記載しているが、この開示は、任意の適切なBDDの任意の適切な閾値の圧縮率を想定している。さらに、この開示は、特定のやり方でBDDのノードを符号化することを記載しているが、この開示は、任意の適切なやり方でBDDのノードを符号化することを想定している。
特定の実施の形態では、ひとたび(第一の)BDDが閾値の圧縮率に到達すると、分析システム180は、更なるデータセットを記憶するために新たな(第二の)BDDを生成する。例として限定されるものではないが、分析システム180は、第一のBDDの圧縮率が閾値の圧縮率に到達するまで、1以上のデータセットから第一のBDDにデータを繰り返し加える。次いで、分析システム180は、データを第一のBDDに繰り返し加えるのを停止し、第二のBDDを構築して更なるデータセットを記憶する。第二のBDDは、任意の適切なやり方で構築される。例として限定されるものではないが、分析システム180は、BDDの0エッジを表しているkビットと1エッジを表しているkビットとをもつ空のBDDを生成する。データセットSiは、BDDS iのようなBDDとして表される。次いで、分析システム180は、論理和演算を空のBDD及びBDDS iに適用して、第二のBDDを生成する。分析システム180が更なるデータセットSiを受信したとき、任意の適切なやり方で、第二のBDDにデータセットを繰り返し加える。例として限定されるものではないが、更なるデータセットSi+1は、BDDS i+1のような別のBDDとして表され、論理和演算は、第二のBDDとBDDS i+1に適用され、更新された第二のBDDが得られる。幾つかの実施の形態では、第一のBDD及び第二のBDDは、BDDの0エッジを表すkビットと1エッジを表すkビットの両方を有する。この開示は、特定のコンポーネント及び特定のプロセスを使用して、ひとたび第一のBDDが閾値の圧縮率に到達すると第二のBDDを生成することを記載しているが、この開示は、任意の適切なコンポーネント及び任意の適切なプロセスを使用して、ひとたび第一のBDDが閾値の圧縮率に到達すると第二のBDDを生成することを想定している。さらに、この開示は、特定のコンポーネント及び特定のプロセスを使用して第二のBDDに1以上のデータセットからデータを繰り返し加えることを記載しているが、この開示は、任意の適切なコンポーネント及び任意の適切なプロセスを使用して、1以上のデータセットから第二のBDDにデータを繰り返し加えることを想定している。
図11は、BDDの圧縮率に対するBDDにより表されるサンプル数を測定する例示的なグラフを示す。この例におけるBDDは、6ビット超であるノードを有する。サンプルがBDDに加えられたとき、閾値の圧縮率に到達するまで、BDDの圧縮率は増加する。例として限定されるものではないが、図11に示される閾値の圧縮率は、約2千8百万サンプルで生じる。このポイントで、BDDにおけるノードは、6ビット長から7ビット長に増加するように再構築され、これによりBDDの圧縮率は約54から46に下がる。この開示及び図11は、BDDの圧縮率とBDDにより表されるサンプル数との間の特定の関係を示しているが、この開示は、BDDの圧縮率とBDDにより表されるサンプル数との間の任意の適切な関係を想定している。
図12は、二分決定図に関する圧縮の閾値の分析を実行する例示的な方法を示す。本方法はステップ1210で開始し、分析システム180は、1以上のデータセットを受信する。ステップ1220で、分析システム180は、1以上のデータセットを表す第一のBDDを構築する。ステップ1230で、分析システム180は、第一のBDDの圧縮率が閾値の圧縮率に到達するまで、1以上のデータセットを第一のBDDに繰り返し加える。ステップ1240で、分析システム180は、第一のBDDの圧縮率が閾値の圧縮率に等しくなった後に受信された1以上のデータセットからのデータを表す第二のBDDを構築する。ステップ1250で、分析システム1250は、1以上のデータセットから第二のBDDにデータを繰り返し加える。この開示は、図12の方法の特定のステップが特定の順序で行われるように記載及び図示しているが、この開示は、図12の方法の任意の適切なステップが任意の適切な順序で行われることを想定している。さらに、この開示は図12の方法の特定のステップを実行する特定のコンポーネントを記載及び図示しているが、この開示は、図12の方法の任意の特定のステップを実行する任意の適切なコンポーネントの任意の適切な組み合わせを想定している。
二分決定図の圧縮分析を使用したセンサ異常の検出
特定の実施の形態では、センサセットワーク100は、センサ112からのデータストリームを表すBDDの圧縮率を分析及びモニタして、センサ112が誤動作しているかを判定する。この開示は、センサからのデータストリームを表すBDDの圧縮率を分析及びモニタして、センサが誤動作しているかを判定する特定のプロセスを実行する特定のコンポーネントを記載しているが、この開示は、センサからのデータストリームを表すBDDの圧縮率を分析及びモニタして、センサが誤動作しているかを判定する任意の適切なコンポーネント及び任意の適切なプロセスを使用することを想定している。
特定の実施の形態では、分析システム180は、BDDとして記憶のために1以上のデータセットを受信し、データセットを表すBDDを構築し、データセットが受信されたときにBDDにデータセットを繰り返し加える。先に記載されたコンポーネント及びプロセスを使用することを含めて、任意の適切なやり方でBDDが構築され、データは、BDDに繰り返し加えられる。1実施の形態では、1以上のデータセットは、センサアレイ110における1以上のセンサ112からの1以上のデータストリームからのデータセットである。
特定の実施の形態では、分析システム180は、BDDを分析してBDDの圧縮率を決定する。圧縮率は、先に記載されたコンポーネント及びプロセスを使用することを含めて、任意の適切なやり方で決定される。分析システム180は、任意の適切な時間で、任意の適切な頻度でBDDを分析する。例として限定されるものではないが、分析システム180は、それぞれのデータを繰り返し加えた後、特定の時間間隔で、又は別の適切な時間でBDDを分析する。分析システム180は、その圧縮率を決定する前に、BDDのサイズを最適化する。BDDのサイズを最適化することは、先に記載されたプロセスを使用することを含めて、任意の適切なプロセスを使用して実行される。
特定の実施の形態では、センサ112からのデータストリームを表すBDDは、指定された圧縮率の範囲を有しており、指定された圧縮率の範囲は、センサ112が指定されたように動作すること(例えば正常に動作すること、期待されたように動作すること、仕様内で動作すること等)を示すBDDの圧縮率の範囲を表す。指定された圧縮率の範囲は、例えばセンサのタイプ、センサの被検体、センサのサンプルレート、BDDの構造又はタイプ、BDDにより記憶されるサンプル数、他の適切な要素、又は2以上の係る要素のような様々な要素に基づく。圧縮率の範囲は、下限及び上限を有する。下限は、範囲における最小の圧縮率であり、上限は、範囲における最大の圧縮率である。例として限定されるものではないが、BDDは2Xの下限と100Xの上限とをもつ指定された圧縮率の範囲を有する。この範囲は、特定のセンサ112からの特定のデータストリームを表すBDDについて通常の圧縮率の下限及び上限を表す。
特定の実施の形態では、指定された圧縮率の範囲は、ランダムノイズを表すBDDを構築するときに達成される圧縮率に近似的に等しい下限を有する。(例えば一連のランダム数又は白色雑音のような)ランダムノイズの圧縮率は、約2Xである。例として限定されるものではないが、指定された圧縮率は、2X,3X,4X,5X,6X,7X,8X,9X,10X,15X,20X,25X,30X,35X,40X,45X,50X、又は別の適切な圧縮率に等しい下限を有する。センサ112が誤動作している場合、センサは不正確な又はランダムな値を送信し始め、これはBDDの圧縮率を減少させる。
特定の実施の形態では、指定された圧縮率の範囲は、単一の連続的に繰返す番号を表すBDDを構築するときに達成される圧縮率に近似的に等しい上限を有する。単一の繰返す数の圧縮率は、受信されたサンプル数に依存し、上限なしに連続的に増加する。例として限定されるものではないが、指定された圧縮率は、5X,6X,7X,8X,9X,10X,15X,20X,25X,30X,35X,40X,45X,50X,60X,70X,80X,90X,100X,200X,300X,400X,500X,又は別の適切な圧縮率に等しい上限を有する。センサ112が誤動作している場合、センサは、以上に長い期間について規則的、繰り返し又は連続して同じ値を送信する。このデータを記憶するBDDは、センサ112からの典型的なデータストリームについて発見される圧縮率よりも有意に高い、異常に大きい圧縮率を有する場合があり、これは、データが無効であるか又は欠陥があることを示す。例として限定されるものではないが、心拍モニタが16時間の間に60bpmの心拍を出力する場合、分析システム180は、心拍モニタの指定された圧縮率の範囲の上限を超える高い心拍をもつ単一のノードBDDを生成する。
特定の実施の形態では、分析システム180は、センサ112からのデータストリームを表すBDDの圧縮率が指定された圧縮率の範囲から逸脱する場合に、センサ112におけるセンサが正常に機能しないことを示す。センサの誤動作は、様々な要素により引き起こされる。例として限定されるものではないが、センサの誤動作は、センサ112からの無効なデータセットの送信(例えばデータが送信の間に破壊された場合)、センサ112による無効な刺激の受信(例えば被検体から分離された場合)、センサネットワーク100のコンポーネントにおけるソフトウェアエラー、センサ112におけるハードウェアの誤動作、別の適切な誤動作、又は2以上の係る誤動作、を含む。分析システム180は、任意の適切なプロセスを使用してセンサの誤動作のタイプを判定する。
特定の実施の形態では、分析システム180は、センサの誤動作により引き起こされるBDDの圧縮率の変化と、被検体の活動により引き起こされる変化とを区別する。例として限定されるものではないが、被検体が運動を開始した場合、被検体により装着されるEKGセンサは、短縮された周期をもつ心拍波形を出力し始める。しかし、心拍波形の形状は、一般に同じであり、幾つかのポイントで安定する。BDDの指定された圧縮率の範囲は、被検体の活動により引き起こされるBDDの圧縮率における正常な又は期待されるずれを考慮するように設定される。
特定の実施の形態では、センサアレイ110における第一のセンサ112におけるセンサの誤動作を示した後、分析システム180は、センサアレイ110における第二のセンサ112からデータストリームを表すBDDを分析して、第一のセンサ112が本当に誤動作していることを検証する。第一のセンサ112からのデータストリームを表すBDDの圧縮率が指定された圧縮率の範囲から逸脱する場合、データストリームが異常であり、第一のセンサ112が誤動作していることを示すが、警告を発するか又はディスプレイシステム190に示唆を送信する前に、第一のセンサ112が誤動作していることを裏付けるか又は検証することが望まれる。例として限定されるものではないが、分析システム180は、センサアレイ112からのデータストリームを表す(第二の)BDDにアクセスし、第二のBDDを分析してBDDの圧縮率を決定する。第二のBDDは、第二のセンサ112は指定されたように動作していることを示すBDDの圧縮率の範囲を表す指定された圧縮率の範囲を有する。第二のBDDの圧縮率が指定された圧縮率の範囲内にある場合、分析システム180は、第一のセンサ112に関してセンサの誤動作の示唆を検証する。しかし、第二のBDDの圧縮率が指定された圧縮率の範囲内にない場合、分析システム180は、第一のセンサ112に関してセンサの誤動作の示唆を否定する。後者の場合では、第一及び第二のBDDの両者がそれらの指定された圧縮率の範囲からずれ、分析システム180は、実際のセンサの誤動作があるかを判定することができない。例えば、第一及び第二のセンサ112が誤動作している場合がある。代替的に、分析システムが誤動作している可能性がある。センサアレイ110における他のセンサ112からの他のデータストリームを表している他のBDDの分析は、センサの誤動作を検証するために実行される。
特定の実施の形態では、分析システム180は、BDDを分析してBDDの圧縮率の変化の割合を決定する。圧縮率の変化の割合は、先に記載されたコンポーネント及びプロセスを使用することを含めて、任意の適切なやり方で決定される。次いで、分析システム180は、センサ112からのデータストリームを表すBDDの圧縮率が圧縮率の範囲の変化の指定された割合からずれる場合に、センサ112におけるセンサの誤動作を示す。センサの誤動作は、BDDの圧縮率の変化の割合が、圧縮率の範囲の変化の指定された割合の下限よりも下回るか又は上限を超えて上回る場合に示される。例として限定されるものではないが、迅速に変化している圧縮率をもつBDDは、センサの誤動作を示す場合がある。
センサの誤動作の示唆は、任意の適切なやり方で報告される。例として限定されるものではないが、センサの誤動作の示唆は、ディスプレイシステム190で表示される。
図13は、二分決定図の圧縮分析を使用したセンサの誤動作を検出する例示的な方法を示す。本方法はステップ1310で開始し、分析システム180は、第一のセンサ112からの第一のデータストリームを表す第一のBDDを分析して、第一のBDDの圧縮率を決定する。ステップ1320で、分析システム180は、第一のBDDの圧縮率が指定された圧縮率の範囲から逸脱する場合に、第一のセンサ112におけるセンサの誤動作を示す。この開示は図13における方法の特定のステップが特定の順序で行われることを記載及び図示しているが、この開示は、図13の方法の任意の適切なステップが任意の適切な順序で行われることを想定している。さらに、この開示は、図14の方法の特定のステップを実行する特定のコンポーネントを記載及び例示しているが、この開示は、図13の方法の任意の適切なステップを実行する任意の適切なコンポーネントの任意の適切な組み合わせを想定している。
ハッシュ技法を使用した医療向け二分決定図におけるデータ破壊の検出
特定の実施の形態では、データ破壊は、様々なハッシュ技法を使用することで1以上のセンサからの1以上のデータストリームを表すBDDにおいて検出される。この開示は、特定のコンポーネントを使用してBDDにおけるデータ破壊を検出することを記載しているが、この開示は、任意の適切なコンポーネントを使用してBDDにおけるデータ破壊を検出することを想定している。さらに、この開示は、特定のハッシュ技法を記載しているが、この開示は、任意の適切なハッシュ技法を使用することを想定している。
特定の実施の形態では、センサネットワーク100の第一のコンポーネントは、BDDの第一のインスタンスにアクセスし、BDDの第一のインスタンスに算術変換を施すことで、BDDの第一のインスタンスを第一の算術関数に変換する。1実施の形態では、BDDの第一のインスタンスは、センサアレイ110における1以上のセンサ112からの1以上のデータストリームの1以上のデータセットを表す。BDDは、任意の適切なやり方で変換される。例として限定されるものではないが、算術変換は、以下のルールの1以上に従って実行される。
「→」は、「〜に変換される」を表し、“AND”は、論理積を表し、“OR”は、論理和を表し、“NOT”は、論理否定を表し、“X AND X”は、冪等性(idempotence)を表し、×は乗算を表し、+は加算を表し、上付き記号は、指数を表す。例として限定されるものではないが、ブール関数がf=X OR Yである場合、算出関数A[f]=X+Y−X×Yである。特定の実施の形態では、有限の整数の場がサイズpを有する場合、計算は法pで実行される。この開示は、特定のプロセスを使用してBDDを算術関数に変換することを開示しているが、この開示は、任意の適切なプロセスを使用してBDDを算術関数に変換することを想定している。
特定の実施の形態では、第一のハッシュコードは、第一の算術関数と入力とから第一のハッシュコードを計算することで、センサネットワーク100の第一のコンポーネントにより生成される。任意の適切な入力が使用される。特定の実施の形態では、入力は、ランダムに生成された整数である。例として限定されるものではないが、入力X=5及びY=7が算術関数A[f]=X+Y−X×Yに提供される場合、ハッシュコードはA[f]=5+7−5×7=-23である。特定の実施の形態では、ハッシュコードHは、ブール関数f1及びf2の論理結合について決定される。ハッシュコードHがハッシュコードH1及びH2の算術の組み合わせから決定される場合があり、H1は、ブール関数f1のハッシュコードであり、H2は、ブール関数f2のハッシュコードである。特定の実施の形態では、直交性の理論が適用される。ブール関数f1及びf2が時間的にオーバラップしない場合、ハッシュコードは、f1∨f2=H1+H2=Hである。この開示は、特定のプロセスを使用してハッシュコードを生成することを開示しているが、この開示は、任意の適切なプロセスを使用してハッシュコードを生成することを想定している。
特定の実施の形態では、センサネットワーク100の第一のコンポーネントは、BDDの第一のインスタンス、第一のハッシュコード及び入力をセンサネットワーク100の第二のコンポーネントに送信する。BDDの第一のインスタンスは送信の間に破壊される場合があるので、センサネットワーク100の第二のコンポーネントは、受信されたデータがセンサネットワーク100の第一のコンポーネントにより送信されたBDDの第一のインスタンスと同一であることを仮定することができない。従って、例示のためであって限定されるものではなく、センサネットワーク100の第二のコンポーネントにより受信されたBDDの第一のインスタンスを表すデータは、BDDの第二のインスタンスと呼ばれる。次いで、センサネットワーク100の第二のコンポーネントは、BDDの第二のインスタンスにアクセスし、BDDの第二のインスタンスに算術変換を実行することで、BDDの第二のインスタンスを第二の算術関数に変換する。BDDの第二のインスタンスは、任意の適切なやり方で変換される。次いで、入力は第二の算術関数に供給され、第二のハッシュコードが生成される。第二のハッシュコードは、任意の適切なやり方で生成される。
特定の実施の形態では、センサネットワーク100の第二のコンポーネントは、第一のハッシュコード及び第二のハッシュコードを比較する。等価な関数のハッシュコードは同じであり、異なる関数のハッシュコードはおそらく異なる。従って、2つの関数が等価なことは、非常に低いエラーの可能性で検証される。算術表現がランダム化の下で有限の整数の場で評価される場合、
(外16)
個のブール関数の個別のペアは、何れかの異なるペアは、殆どの場合、異なるハッシュコードにマッピングされ、この場合、nは、入力の数である。エラーの確率qは、n/(整数の場のサイズ)であり、整数の場Zp={0,1,…,p-1}であり、pは素数である。素数pが増加するとき、エラーの確率qは減少し、0に近づく。従って、大きい素数pは、より正確なハッシュコードを得るために選択され、小さい素数pは、より正確でないハッシュコードを得るために選択される。特定の実施の形態では、ハッシュコードは、精度を改善するために繰り返し生成される。ハッシュコードがk個のランについて生成される場合、エラーの確率は、q≦(n/p)
kである。従って、エラーの確率は、それぞれのランの後に指数的に減少する。
特定の実施の形態では、第一のハッシュコードが第二のハッシュコードに等しい場合、センサネットワーク100の第二のコンポーネントは、BDDの第二のインスタンスが破壊されていないデータ(すなわちBDDの第一のインスタンス及びBDDの第二のインスタンス)を含むことを示す。しかし、第一のハッシュコードが第二のハッシュコードに等しくない場合、センサネットワーク100の第二のコンポーネントは、BDDの第二のインスタンスが破壊されたデータ(すなわちBDDの第一のインスタンス及びBDDの第二のインスタンスが等価ではない)を含むことを示す。特定の実施の形態では、センサネットワーク100の第二のコンポーネントが、BDDの第二のインスタンスが破壊されたデータを含むことを示す場合、BDDがセンサネットワーク100の第一のコンポーネントからの送信の間に破壊されたことを示す。ハッシュコードの比較結果は、任意の適切なやり方で報告される。例として限定されるものではないが、比較の結果は、ディスプレイシステム190で表示される。特定の実施の形態では、分析システム180は、破壊されていないデータを含むことを判定した場合、BDDの第二のインスタンスを記憶し、破壊されたデータを含むことを判定した場合、BDDの第二のインスタンスを削除する。
特定の実施の形態では、第一のハッシュコードが第二のハッシュコードに等しくない場合、センサネットワーク100の第二のコンポーネントは、センサネットワーク100の第一のコンポーネントを送信し、BDDの第一のインスタンス及び第一のハッシュコードを再送出する。センサネットワーク100の第一のコンポーネントは、BDDの第一のインスタンス、第一のハッシュコード、及び入力を再送信する。例として限定されるものではないが、センサネットワーク100の第二のコンポーネントにより再受信されたBDDの第一のインスタンスを表すデータは、BDDの第三のインスタンスと呼ばれる。次いで、センサネットワーク100の第二のコンポーネントは、BDDの第三のインスタンスに算術変換を施すことで、BDDの第三のインスタンスを第三の算術関数に変換する。次いで、センサネットワーク100の第二のコンポーネントは、第三の算術関数と入力とから第三のハッシュコードを計算する。次いで、センサネットワーク100の第二のコンポーネントは、第一及び第三のハッシュコードを比較する。第一のハッシュコードが第三のハッシュコードに等しい場合、センサネットワーク100の第二のコンポーネントは、BDDの第三のインスタンスが破壊されていないデータを含むことを示す。しかし、第一のハッシュコードが第三のハッシュコードに等しくない場合、センサネットワーク100の第二のコンポーネントは、BDDの第三のインスタンスが破壊されたデータを含むことを示す。センサネットワーク100の第二のコンポーネントがBDDが破壊されたデータであることを2度示した場合、送信の間ではなく送信の前にBDDが破壊されたことを示す。例えば、センサネットワーク100の第一のコンポーネントに記憶されたBDDは、破壊されている場合がある。特定の実施の形態では、第一のハッシュコードが第三のハッシュコードに等しくない場合、センサネットワーク100の第二のコンポーネントは、送信の前にBDDが破壊されたことを示す。
特定の実施の形態では、ハッシュコードは、(例えば1以上のコネクション116のような)1以上の通信リンクを通してブール関数又はBDDの通信を検証するために使用される。例として限定されるものではないが、センサアレイ110は、BDD及びBDDから生成された1以上のハッシュコードを分析システム180に送信する。1実施の形態では、ハッシュコードは暗号化される。複数のハッシュコードが送出されるか又は同じハッシュコードが複数回にわたり送出される。分析システム180は、受信されたBDDについてハッシュコードを計算し、計算されたハッシュコードをBDDと共に受信されたハッシュコードと比較する。ハッシュコードは同じである場合、分析システム180は、受信されたBDDが有効である(すなわち適切に受信された)ことを判定する。さもなければ、分析システム180は、受信されたBDDが無効である(すなわち適切に受信されず、破壊されている)ことを判定する。この開示は、特定のコンポーネント及び特定のプロセスを使用してブール関数又はBDDとハッシュコードとの通信を検証することを記載しているが、この開示は、任意の適切なコンポーネント及び任意の適切なプロセスを使用して、ブール関数又はBDDとハッシュコードとの通信を検証することを想定している。
特定の実施の形態では、ハッシュコードは、センサネットワーク100のコンポーネントにおいて、ブール関数又はBDDとして記憶されたデータをマークして後に有効にするために使用される。例として限定されるものではないが、分析システム180は、BDDの第一のインスタンスと入力とからハッシュコードを計算し、次いで、BDDの第一のインスタンスと第一のハッシュコードとを個別に計算する。後の時間で、分析システム180は、記憶されたハッシュ関数を使用して、記憶されたBDDを有効にする。BDDの第一のインスタンスは、記憶の間に破壊されるので、分析システム180は、分析システム180によりオリジナルに記憶されたときに、後の時間でアクセスされた記憶されたデータがBDDの第一のインスタンスと同じであることを仮定することができない。従って、例示のために限定されるものではないが、分析システム180により記憶されるBDDの第一のインスタンスを表すデータは、BDDの第二のインスタンスと呼ばれる。分析システム180は、BDDの第二のインスタンスにアクセスし、BDDの第二のインスタンス及び入力から第二のハッシュコードを計算する。次いで、第二のハッシュコードは、記憶されている第一のハッシュコードと比較される。第一及び第二のハッシュコードが同じである場合、BDDの第二のインスタンスは、有効なデータ又は破壊されていないデータであると考えられる。より正確なハッシュコードは、より重要なデータをマークするために使用され、より正確でないハッシュコードは、より重要でないデータをマークするために使用される。例として限定されるものではないが、正確さの低いハッシュコードは、携帯電話における記憶のような、処理能力が制限される場合に使用される。この開示は特定のコンポーネント及び特定のプロセスを使用して、ハッシュコードと共にブール関数又はBDDとして記憶されるデータを検証することを記載しているが、この開示は、任意の適切なコンポーネント及び任意の適切なプロセスを使用して、ハッシュコードと共にブール関数又はBDDとして記憶されるデータを検証することを想定している。
図14は、ハッシュ技法を使用して医療向け二分決定図におけるデータ破壊を検出する例示的な方法を例示する。本方法はステップ1410で開始し、分析システム180は、(例えばセンサアレイ110のような)リモートシステムから、1以上のセンサ112からの1以上のデータストリームを表すBDD、入力、及び第一のハッシュコードを受け、第一のハッシュコードは、BDDに算術変換を施してBDDを第一の算術関数に変換し、第一の算術関数と入力とから第一のハッシュコードを計算することで、リモートシステムで生成される。ステップ1420で、分析システム180は、受信されたBDDに算術変換を施すことで、受信されたBDDを第二の算術関数に変換する。ステップ1430で、分析システム180は、第二の算術関数と入力とから第二のハッシュコードを計算する。ステップ1440で、分析システム180は、第一のハッシュコードが第二のハッシュコードに等しいかを決定する。第一のハッシュコードが第二のハッシュコードに等しい場合、ステップ1450で、分析システム180は、受信されたBDDが破壊されていないデータであることを示す。しかし、第一のハッシュコードが第二のハッシュコードに等しくない場合、ステップ1460で、分析システム180は、受信されたBDDが破壊されていることを示す。この開示は、図14の方法の特定のステップが特定の順序で行われることを記載及び図示しているが、この開示は、図14の方法の任意の適切なステップが任意の適切な順序で行われることを想定している。さらに、この開示は、図14の方法の特定のステップを実行する特定のコンポーネントを記載及び図示しているが、この開示は、図14の方法の任意の適切なステップを実行する任意の適切なコンポーネントの任意の適切な組み合わせを想定している。
二分決定図における範囲の問合せ
特定の実施の形態では、センサネットワーク100は、指定された範囲内でデータを問い合わせ、データは、1以上のBDDにより表される。この開示は、特定のコンポーネントを使用してBDDを問い合わせすることを記載しているが、この開示は、任意の適切なコンポーネントを使用してBDDを問い合わせることを想定している。さらに、この開示は、特定のプロセスを使用してBDDを問合せることを記載しているが、この開示は、任意の適切なプロセスを使用してBDDを問い合わせることを想定している。
特定の実施の形態では、分析システム180は、指定された範囲内にある1以上のデータセットにおけるデータについて1以上の問合せを受信する。問合せは、任意の適切なフォーマットを有する。特定の実施の形態では、問合せは、1以上のデータパラメータの値の1以上の要求された値又は範囲を示し、要求を満足するサンプルの取得を要求する。任意の適切なデータパラメータが使用される。例として限定されるものではないが、適切なデータパラメータは、センサの被検体、センサのタイプ、サンプル値、サンプル時間、及び他の適切なパラメータを含む。データセットSは、fSのようなブール関数として表されるか、BDDSのようなBDDとして表される。1実施の形態では、1以上の問合せされるデータセットは、センサアレイ110における1以上のセンサ112から1以上のデータストリームからのデータセットである。
特定の実施の形態では、分析システム180は、(例えば時間範囲又はセンサの出力範囲のような)指定された範囲を表す問い合わせBDDを構築する。例として限定されるものではないが、問合せは、問合せ関数fRにより表される。分析システム180は、問合せ関数fRをダイレクトに受信するか、適切な問合せから問合せ関数を生成する。
問合せ関数f
Rは、任意の適切なやり方で定式化される。問合せ関数f
Rは、要求された値を有するサンプル(BDDにより表される)を識別するために使用される。特定の実施の形態では、それぞれの要求された値は、要求された最小項として表され、問合せ関数f
Rは、要求された最小項から定式化される。例として限定されるものではないが、問合せ要求の値が
(外17)
である場合、問合せ関数は
(外18)
である。次いで、分析システム180は、例えばBDD
Rのような問合せ関数f
Rを表すBDDを構築する。問合せBDDは、任意の適切なやり方で構築される。特定の実施の形態では、BDD
Rは、指定された範囲における全ての値について1に評価され、指定された範囲にない全ての値について0に評価される。例として限定されるものではないが、BDD
Rが範囲[a,b]を表す場合、BDD
Rは、範囲[a,max]を表すBDD
Lを最初に構築し、[b+1,max]を表すBDD
Uを構築することで構築される。次いで、分析システム180は、論理積演算をBDD
Lに施し、NOT(BDD
U)を施して、BDD
Rを生成する。別の例として限定されるものではないが、問合せ関数f
Rは、範囲[α,max]を表し、ブール関数
(外19)
に等しく、このブール関数は、ベクトル
(外20)
により表される数が値αに等しいか又は値αよりも大きいときに1に評価される。
(外21)
を表すBDDは、以下の擬似コードにより記述されるアルゴリズムにより計算される。
先の擬似コードでは、bitsは、ベクトル
(外22)
のサイズであり、valueは、αに等しく、var
jは、j番目の値を表すBDDである。より詳細には、var
jは、ν
j=0であるときを除いて常に1に評価されるブール関数
(外23)
を表すBDDである。
幾つかの実施の形態では、BDDSの上位nレイヤは、指定された範囲を表すn個の変数に対応する。問合せBDDは、BDDSの上位n個の変数の観点で指定される。例として限定されるものではないが、m個の全体のレイヤを有し、上位n個のレイヤは、指定された範囲を表すn個の変数に対応し、BDDSにおけるm個のレイヤの上位n個(m≧n)は、それぞれ、問合せBDDにおけるm個の変数のうちのnに対応する。分析システム180は、指定された範囲を表すn個の変数に対応するn個のレイヤを有するBDDRを生成する。1実施の形態では、分析システム180は、BDDSのm個のレイヤのうちの上位n個が問合せにおける指定された範囲を表すm個の変数のうちのnにそれぞれ対応するように、1以上のBDDSの変数を並べ替える。例として限定されるものではないが、分析システム180は、プレインチェンジアルゴリズム、シフティングアルゴリズム、ウィンドウアルゴリズム、パラレルパーミュテーションアルゴリズム、4変数によるBDDSの最適レイヤ−スワッピングスケジュール、BDD変数のペア毎のグルーピング、BDD変数の再帰型分離、パラレルウィンドウアルゴリズム、最大並列化アルゴリズムを使用したウィンドウアルゴリズム、別の適切な並べ替えプロセス、又は2以上の係るプロセスを使用して、BDDを並べ替える。代替的な実施の形態では、1以上のデータセットSを表すBDDSは、m個の変数とm個の変数に対応するk個のノードにそれぞれ対応するm個のレイヤを有し、m個のレイヤのそれぞれは、k個のノードのうちの1以上を有する。分析システム180は、分析システム180により受信された問合せにおける指定された範囲を表すBDDRを生成する。BDDRにより表される指定された範囲は、m≧nとして、m個の変数のうちのnに対応する。BDDSにおいて、指定された範囲におけるm個の変数のうちのnに対応するk個のノードのうちのjは、BDDSのm個のレイヤのうちの上位nである。特定の実施の形態では、BDDSは、1以上のセンサからの1以上のセンサデータのセットSを表し、この場合、センサデータは、時間について固有である。問合せBDDは、時間範囲の観点で指定される。BDDSは、m個の変数を有し、m個の変数のうちのiは、m>jとして、センサデータに関連する時間データに対応し、m個の変数のうちのjは、m>jとして、センサデータに対応する。この開示は、特定のコンポーネント及び特定のプロセスを使用して問合せBDDを構築することを記載しているが、この開示は、任意の適切なコンポーネント及び任意の適切なプロセスを使用して問合せBDDを構築することを想定している。
特定の実施の形態では、分析システム180は、問合せBDD及びデータセットを表すBDDを使用して、指定された範囲におけるデータを表す(第三の)BDDを構築する。第三のBDDは、1以上の要求された値を有する1以上のサンプルを識別する。例として限定されるものではないが、BDDR及びBDDSは、サーチ結果を得るために使用される。BDDR及びBDDSは、任意の適切なやり方で使用される。特定の実施の形態では、BDDR及びBDDSは、(論理積演算のような)論理演算をBDDSに施すことで論理的に結合される。論理積演算を多数のオペランドに適用することで、オペランドの論理積が得られる。例として限定されるものではないが、分析システム180は、論理積演算をBDDR及びBDDSに適用して、要求されたデータを表す第三のBDDを生成する。第三のBDDは、問合せの結果を表し、要求された値を有する1以上のサンプルを表すか、又は要求された値を有するサンプル数を有する。サンプルが指定された範囲に含まれない場合、分析システム180は、空である第三のBDDを生成する。サーチ結果は、任意の適切なやり方で報告される。例として限定されるものではないが、サーチ結果は、ディスプレイシステム190に表示される。
図15は、二分決定図における指定された範囲内のデータを問い合わせる例示的な方法を示す。本方法はステップ1510で開始し、分析システム180は、指定された範囲内にある1以上のデータセットにおけるデータの問合せを受信する。ステップ1520で、分析システム180は、指定された範囲を表す第一のBDDを構築する。ステップ1530で、分析システム180は、1以上のデータセットを表す第一のBDDと第二のBDDとの間で論理積演算を行うことで、指定された範囲におけるデータを表す第三のBDDを構築する。この開示は、図15の方法の任意の適切なステップが任意の適切な順序で行われることを記載及び図示しているが、この開示は、図15の方法の任意の適切なステップが任意の適切な順序で行われることを想定している。さらに、この開示は、図15の方法の特定のステップを実行する特定のコンポーネントを記載及び図示しているが、この開示は、図15の方法の任意の適切なステップを実行する任意の適切なコンポーネントを想定している。
医療向け二分決定図の健康状態情報による注釈
特定の実施の形態では、センサネットワーク100は、BDDにより表されるセンサデータを健康状態の情報で注釈付けする。この開示は、特定のコンポーネントを使用してBDDを注釈付けすることを開示しているが、この開示は、任意の適切なコンポーネントを使用してBDDを注釈付けすることを想定している。さらに、この開示は、特定のプロセスを使用してBDDを注釈付けすることを記載しているが、この開示は、任意の適切なプロセスを使用してBDDを注釈付けすることを想定している。
特定の実施の形態では、分析システム180は、複数の健康状態を表すモデルBDDを構築する。分析システム180は、モデルセンサデータからモデルBDDを生成する。モデルセンサデータは、センサ値のそれぞれ指定されたデータ範囲が1以上の健康状態と関連付けされる、センサ値の1以上の指定されたデータ範囲と、関連付けされた健康状態のセンサ値のそれぞれの指定されたデータ範囲の1以上の注釈とを含む。モデルセンサデータは、データを分類するため、1以上のセンサ112から得られたセンサデータに注釈を付すために使用される。例として限定されるものではないが、所定のモデルセンサデータは、分類され、「正常“normal”」の注釈が付され、他のセンサデータは、分類され、「異常“abnormal”」の注釈が付される。正常なモデルセンサに整合する測定から得られたセンサデータは、正常であるとして分類され、異常なモデルセンサに整合する測定されたセンサデータは、異常であるとして分類される。任意の適切な注釈が使用される。
特定の実施の形態では、医療のセンサデータを分類するため、医療向けの注釈が使用される。例として限定されるものではないが、医療の注釈は、正常な医療のセンサデータの「正常」の注釈と、異常な医療のセンサデータの「異常」の注釈を含む。任意の適切な医療の注釈が使用される。医療の注釈は、特定の病気、状態、兆候、重症度、他の適切な医療の注釈、又は2以上の係る医療の注釈向けの注釈を含む。
例として限定されるものではないが、分析システム180は、複数のインスリン耐性の等級に関連する医療の注釈を使用する。分析システム180は、ある人におけるインスリン耐性の重症度を評価する、定量的且つ定性的な様々なスケールを使用する。例えば、スケールは、0〜100のスケールに関してインスリン耐性の重症度を等級分けし、0は、インスリン耐性がなく、100は、完全なインスリン耐性である。
別の例として限定されるものではないが、分析システム180は、複数の筋骨格の病理の等級に関連する医療の注釈を使用する。筋骨格の病理の程度は、存在する兆候の数及びそれらの強度の両者により評価される。分析システム180は、ある人における筋骨格の病理の重症度を評価するため、定量的且つ定性的の両者である様々なスケールを使用する。例として限定されるものではないが、ユーザは、筋肉痛及び衰弱の両者を報告する。簡単な5つのポイントのスケールは、様々な兆候の強度を定量化するために考案される。別のユーザは、筋肉のけいれん及び衰弱を報告し、更に別のユーザは、全ての3つの兆候を報告する。それぞれの兆候は、強度について採点され、次いで筋骨格の病理の程度を記述する複合スケールにアルゴリズムで結合される。例として限定されるものではないが、スケールは、0〜100のスケールに関する筋骨格の病理の重症度を等級分けし、0は、動きの低下に関するアクティビティレベル又は範囲がないことに対応し、100は、任意の動きをもつ深刻な筋肉痛に対応する。分析システム180は、異なるタイプの筋骨格の病理に異なるスケールを使用する。例として限定されるものではないが、第一のスケールは、筋疾患を等級分けするために使用され、第二のスケールは、関節炎の重症度を等級分けするために使用される。
更に別の例として限定されるものではないが、分析システム180は、複数の呼吸困難の等級に関連する医療の注釈を使用する。分析システム180は、MRC息切れスケールを参照して、センサデータの指定されたデータ範囲を息切れの等級で注釈を付ける。スケールは、息切れが生じる状況に基づいて、息切れの5つの異なる等級を提供する。
分析システム180は、ある人における息切れの重症度を評価するため、定量的且つ定性的の両者で、MRC息切れスケール又は他のスケールの変数を使用する。例えば、代替的なスケールは、0〜100のスケールに関する息切れの重症度を等級分けし、人の息切れに関して更に改善された、更に正確な診断が可能となる。
更に別の例として限定されるものではないが、分析システム180は、複数のストレスの等級に関連する医療の注釈を使用する。分析システム180は、ある人におけるストレスレベルを評価するため、定量的且つ定性的の両者で、様々なスケールを使用する。例として限定されるものではないが、分析システム180は、0−4のリッカート尺度である人のストレスレベルを等級分けし、この場合、5レベルのリッカートのアイテムは、以下の通りである。
他の適切なリッカートのアイテムが使用される。リッカートのアイテムは、インターバルレベルのデータとして分析されるか、又は順序付けされた分類データとして分析される。別の例として限定されるものではないが、分析システム180は、0〜100のスケールでストレスレベルを等級分けし、0は、リラックス及び休息しているときのユーザのベースラインストレスであり、100は、ユーザの最大のストレスである。
この開示は、BDDに特定の注釈を付すことを記載しているが、この開示は、BDDに任意の適切な注釈を付すことを想定している。さらに、この開示は、BDDに特定の健康状態の注釈を付すことを記載しているが、この開示は、BDDに任意の適切な健康状態の注釈を付すことを想定している。
特定の実施の形態では、分析システム180は、モデルセンサデータの1以上のセットA
iにアクセスする。それぞれのセットは、1以上の注釈a
iの対応する注釈についてモデルサンプルを含む。モデルセンサのデータセットA
iは、f
aiのようなブール関数として、又はBDD
AiのようなBDDとして表される。特定の実施の形態では、分析システム180は、それぞれの注釈a
iについて注釈関数f
aiを生成する。注釈関数f
aiは、1以上の健康状態の注釈が付されたモデルサンプルを表す。注釈関数f
aiは、健康状態の情報で指定された範囲において測定されたサンプルに注釈を付すために使用される。注釈関数f
aiは、任意の適切なやり方で生成される。特定の実施の形態では、それぞれのモデルセンサのデータセットA
iは、モデルの最小項のセットとして表され、注釈関数f
aiは、例えば(論理和演算のような)論理演算を最小項に適用することで、モデルの最小項から生成される。注釈関数f
aiは、所与のモデルの最小項のメンバであるかを示す。例として限定されるものではないが、特定のセンサからのサンプルは、時間について割り当てられた32の変数とセンサの測定について割り当てられた8つの変数をもつ最小項により表される。分析システム180は、時間[0,31]でのk番目のセンサ値[64,127]を、以下の注釈関数
(外24)
を使用して「正常」の属性で注釈を付す。特定の実施の形態では、モデルセンサデータを表すモデル関数f
mは、注釈関数f
aiを得るために注釈される。注釈関数f
aiは、任意の適切なやり方で注釈が付される。特定の実施の形態では、注釈a
iを表すためにブール関数が使用される。(積演算のような)算術演算は、ブール変数a
i及びモデル関数f
mに適用され、注釈関数f
aiが得られる。次いで、分析システム180は、例えばBDD
Aiのような注釈関数を表すBDDを構築する。注釈BDDは、任意の適切なやり方で構築される。特定の実施の形態では、BDD
Aiは、モデルの最小項と、指定されたデータの範囲を特定の注釈と関連付ける適切な注釈情報とから直接に生成される。この開示は、特定のコンポーネント及び特定のプロセスを使用して注釈BDDを構築することを記載しているが、この開示は、任意の適切なコンポーネント及び任意の適切なプロセスを使用して注釈のBDDを構築することを想定している。
特定の実施の形態では、分析システム180は、1以上の注釈関数f
aiを表す一般的な注釈関数gを生成する。一般的な注釈関数gは、任意の適切なやり方で生成される。特定の実施の形態では、(論理和演算のような)論理演算が1以上の注釈関数f
aiに適用され、一般的な注釈関数
(外25)
が得られる。特定の実施の形態では、(論理和演算のような)論理演算が1以上の注釈のBDDに適用され、BDD
Gのような一般的な注釈BDDが得られる。
特定の実施の形態では、分析システム180は、一般的な注釈関数gを使用して、センサデータのサンプルを表す関数fSに注釈を付す。サンプルは、任意の適切なやり方で注釈が付される。特定の実施の形態では、fS及びgは、(論理積演算のような)論理演算を関数に適用することで結合される。論理積演算を多数のオペランドに適用することで、オペランドの論理積が得られる。例として限定されるものではないが、分析システム180は、以下の演算fQ=fS・gを実行することで、注釈が付された関数fSのサンプルを表す注釈が付された関数fQを生成する。注釈が付された関数fQは、BDDQのようなBDDにより表される。
特定の実施の形態では、分析システム180は、BDDGのような一般的な注釈BDDを使用して、BDDSのようなセンサデータのサンプルを表すBDDに注釈を付す。サンプルは、任意の適切なやり方で注釈が付される。特定の実施の形態では、BDDS及びBDDGは、(論理積演算のような)論理演算を関数に適用することで論理的に結合される。論理積演算を多数のオペランドに適用することで、オペランドの論理積が得られる。例として限定されるものではないが、分析システム180は、BDDSとBDDGとの間のAND演算を実行することで、注釈が付された二分決定図のBDDQを生成し、BDDQは、BDDSにより表されるセンサデータを表し、健康状態に関連される指定された範囲におけるセンサデータは、健康状態の注釈が付される。注釈が付されたセンサデータは、任意の適切なやり方で報告される。例として限定されるものではないが、注釈が付されたセンサデータは、ディスプレイシステム190で表示される。
特定の実施の形態では、分析システム180は、注釈が付されたfQ又は注釈が付された二分決定図BDDQに1以上の後続の演算を実行する。例として限定されるものではないが、BDDQは、特定の注釈を有するサンプルを識別するために問合せされる。問合せは、(論理積演算のような)論理演算をBDDに適用することで、例えば問合せの二分決定図BDDRとBDDQを論理的に結合することのような、任意の適切なやり方で実行される。サーチ結果は、任意の適切なやり方で報告される。
特定の実施の形態では、分析システム180は、データストリームにおける他のデータセットからの幾つかのタイプのずれ、ばらつき又は変化を示すデータストリームからのデータセットSに注釈を付す。データセットSは、fSのようなブール関数として表されるか、又はBDDSのようなBDDとして表される。例として限定されるものではないが、被検体は、心拍データストリーム及び加速度計データをそれぞれ送信する心拍モニタ及び加速度計を装着している場合がある。このシステムは、生理学的なデータストリームをモニタし、データストリームに注釈を付して、被検体を示しているデータセットが異常な心拍を有することを示すために使用される。例えば、心拍データストリームにおけるデータセットは、被検体が所定の期間の間に上昇された心拍を有したことを示す。加速度計のデータストリームにおけるデータセットは、被検体が同じ期間の間に少々されたアクティビティを有したことを示す。これらのデータセットをマッピング及び比較することで、分析システム180は、データストリームに注釈を付す。例えば、増加されたアクティビティと一致する上昇された心拍は、データストリームに注釈を付す。しかし、限界の上昇された身体的なアクティビティに一致する心拍におけるスパイクは、正常な応答ではない場合がある。分析システム180は、比較に基づいて、所定のレベルのアクティビティが被検体における異常な心拍のスパイクを生成し、「異常」としてセンサデータに注釈を付すかを判定する。
図16は、医療の二分決定図を健康状態の情報で注釈を付す例示的な方法を示す。本方法はステップ1610で開始し、分析システム180は、1以上のセンサ112から1異常のデータストリームを表す第一のBDDにアクセスする。ステップ1620で、分析システム180は、複数の健康状態及び複数の指定されたデータ範囲を表す第二のBDDにアクセスする。それぞれの指定されたデータの範囲は、1つの健康状態と関連される。ステップ1630で、分析システム180は、第一及び第二のBDDの間でAND演算を実行することで第三のBDDを構築する。第三のBDDは、指定されたデータ範囲のうちの1以上に含まれる1以上のデータストリームからのデータを表し、それぞれの指定されたデータの範囲におけるデータは、指定されたデータ範囲に関連する健康状態の示唆で注釈が付される。この開示は、図16の方法の特定のステップが特定の順序で行われることを記載及び図示しているが、この開示は、図16の方法の任意の適切なステップが任意の適切な順序で行われることを想定している。さらに、この開示は、図16の方法の特定のステップを実行する特定のコンポーネントを記載及び図示しているが、この開示は、図16の方法の任意の適切なステップを実行する任意の適切なコンポーネントの任意の適切な組み合わせを想定している。
ディスプレイ
ディスプレイシステム190は、分析システム180からの1以上の分析出力に基づいて、1以上のユーザに対してレンダリング、可視化、表示、メッセージ及び公開する。特定の実施の形態では、1以上のセンサ112からの1以上の被検体は、ディスプレイシステム190のユーザである。分析システム180からの分析出力は、任意の適切な媒体を通してディスプレイシステム190に送信される。ディスプレイシステム190は、ある人とディスプレイシステム190との間の通信を可能にする任意の適切なI/O装置を含む。例として限定されるものではないが、ディスプレイシステム190は、ビデオモニタ、スピーカ、タッチスクリーン、プリンタ、別の適切なI/O装置又はこれらの2以上の組み合わせを含む。ディスプレイシステム190は、コンピュータシステムのような適切なI/O装置をもつコンピューティング装置である。
特定の実施の形態では、ディスプレイシステム190は、1以上のローカルディスプレイシステム130又は1以上のリモートディスプレイシステム1440を含む。ディスプレイシステム190が複数のサブシステム(例えばローカルディスプレイシステム及びリモートディスプレイシステム140)を含む場合、分析出力の表示は、1以上のサブシステム上で行われる。例として限定されるものではないが、ローカルディスプレイシステム130及びリモートディスプレイシステム140は、分析出力に基づいて同じ表示を提示する。別の例として限定されるものではないが、ローカルディスプレイシステム130及びリモートディスプレイシステム140は、分析出力に基づいて異なる表示を提示する。特定の実施の形態では、センサアレイ110におけるユーザ入力センサは、ディスプレイシステム190としても機能する。適切なI/O装置をもつ任意のクライアントシステムは、ユーザ入力センサ及びディスプレイシステム190としての役割を果たす。例として限定されるものではないが、タッチスクリーンをもつスマートフォンは、ユーザ入力センサ及びディスプレイシステム190の両者として機能する。
特定の実施の形態では、ディスプレイシステム190は、分析システム180から受信されたとき、リアルタイムで分析出力を表示する。様々な実施の形態では、分析システム180によりセンサアレイ110からのデータストリームのリアルタイム分析は、ユーザが被検体の健康状態に関するリアルタイム情報を受信するのを可能にする。また、(例えば健康のリスクに関する警告、治療の推薦等といった)ディスプレイシステム190からのリアルタイムのフィードバックをユーザが受信することも可能である。
この開示は、特定の技法を使用して特定の表示に関連するプロセスを実行するディスプレイシステム190を記載しているが、この開示は、任意の適切な技法を使用して任意の適切なディスプレイに関連するプロセスを実行するディスプレイシステム190を想定している。
特定の実施の形態では、ディスプレイシステム190は、分析システム180からの分析出力に基づいてデータをレンダリングして可視化する。ディスプレイシステム190は、ビデオモニタ、スピーカ、タッチスクリーン、プリンタのような適切なI/O装置、別の適切なI/O装置、又はこれら2以上の組み合わせをもつコンピュータシステム1400を含めて、任意の適切な手段を使用してレンダリング及び可視化を行う。
レンダリングは、あるモデルから画像を生成するプロセスである。モデルは、定義された言語又はデータ構造におけるオブジェクトの記述である。記述は、色、サイズ、向き、形状、視点、テクスチャ、光、影及び他のオブジェクト情報を含む。レンダリングは、デジタル画像又はラスタグラフィックス画像のような任意の適切な画像である。レンダリングは、任意の適切なコンピューティング装置で実行される。
可視化は、情報をユーザに伝達するために画像、図、又は動画を作成するプロセスである。可視化は、図、画像、オブジェクト、グラフ、チャート、リスト、マップ、テキスト等を含む。可視化は、ビデオモニタ、スピーカ、タッチスクリーン、プリンタ、別の適切なI/O装置又はこれらの2以上の組み合わせを含めて、ユーザに情報を提示する任意の適切な装置で実行される。
幾つかの実施の形態では、レンダリングは、分析システムで部分的に行われ、ディスプレイシステム190で部分的に行われる。他の実施の形態では、レンダリングは、分析システム180で完全に行われ、可視化は、ディスプレイシステム190で実行される。
特定の実施の形態では、ディスプレイシステム190は、分析システム180からの分析出力に基づいてデータを伝達して公開する。ディスプレイシステム190は、電子メール、インスタントメッセージ、テキストメッセージ、オーディオメッセージ、ページ、MMSテキスト、ソーシャルネットワークメッセージ、別の適切な伝達又は公開手段、これらの2以上の組み合わせを含む、任意の適切な手段を使用して伝達及び公開する。
特定の実施の形態では、ディスプレイシステム190は、公開が1以上の第三者により閲覧されるように、分析出力の一部又は全部を公開する。1実施の形態では、ディスプレイシステム190は、1以上にウェブサイトに分析出力を自動的に公開する。例として限定されるものではないが、(例えばスマートフォンのような)GPSセンサの被検体は、(例えばFacebook、Twitter又はFoursquareのような)ソーシャルネットワーキングサイトに公開される彼の位置を自動的に有する。
特定の実施の形態では、ディスプレイシステム190は、1以上に第三者に分析出力の一部又は全部を送出又は伝達する。1実施の形態では、ディスプレイシステム190は、1以上のヘルスケアプロバイダに分析出力を自動的に送出する。例として限定されるものではないが、携帯用の血糖モニタを装着した被検体は、そのセンサからのデータの全てを彼の医師に送信する。別の実施の形態では、ディスプレイシステム190は、1以上の閾値の基準に一致したときに、ヘルスケアプロバイダに分析出力のみを送出する。例として限定されるものではないが、携帯用の血糖モニタを装着している被検体は、彼が深刻な低血糖症(例えば2.8mmol/l以下)であることを彼の血糖データが示さないかぎり、そのセンサからのデータを彼の医師に送信しない。特定の実施の形態では、ディスプレイシステム190は、分析出力に基づいて、ユーザ又は第三者に1以上の警告を伝達する。警告は、ユーザ又は第三者について通知、警告、又は推薦を含む。例として限定されるものではないが、血糖モニタを装着している被検体は、彼が適度に低血糖である(例えば3.5mmol/l以下)ことを彼の血糖レベルが示す場合に、低血糖を警告し、彼が何かを食べることを推薦する警告を受信する。
特定の実施の形態では、ディスプレイシステム190は、分析システム180からの分析出力に基づいてユーザの1以上の治療を表示する。治療は、ユーザにとって推薦される治療であるか又はユーザに直接に治療の利益を与える治療のフィードバックである。ディスプレイシステム190は、治療介入、バイオフィードバック、呼吸運動、漸進的筋弛緩法、(例えば音楽、パーソナルピクチャ等といった)パーソナルメディアの提示、撤退作戦の提供(例えばユーザがストレスのある状況を離れる言い訳を有するように彼に電話をする)、精神療法の範囲の参照、及び警告のグラフィカルな表現(例えば時間を通した健康のメトリクスの例示)、認知再構成治療、及び他の治療のフィードバックのような様々な治療を伝達する。この開示は、特定の治療を伝達するディスプレイシステム190を記載しているが、この開示は、任意の適切な治療を伝達するディスプレイシステム190を想定している。
システム及び方法
図17は、例示的なコンピュータシステムを例示する。特定の実施の形態では、1以上のコンピュータシステム1700は、本明細書で記載又は図示された1以上の方法の1以上のステップを実行する。特定の実施の形態では、1以上のコンピュータシステム1700は、本明細書で記載又は図示された機能を提供する。特定の実施の形態では、1以上のコンピュータシステム1700で実行しているソフトウェアは、本明細書で記載又は図示された1以上の方法の1以上のステップを実行するか又は本明細書で記載又は図示された機能を提供する。特定の実施の形態は、1以上のコンピュータシステム1700のうちの1以上の部分を含む。
この開示は、任意の適切な数のコンピュータシステム1700を想定している。この開示は、任意の適切な物理的な形式を取るコンピュータシステム1700を想定している。例として限定されるものではないが、コンピュータシステム1700は、埋込式コンピュータシステム、システムオンチップ(SOC)、(例えばコンピュータオンモジュール(COM)又はシステムオンモジュール(SOM)のような)シングルボードコンピュータシステム(SBC)、デスクトップコンピュータシステム、ラップトップ又はノートブックコンピュータシステム、インタラクティブキオスク、メインフレーム、コンピュータシステムのメッシュ、携帯電話、パーソナルデジタルアシスタント(PDA)、サーバ、タブレットコンピュータシステム、又はこれらの2以上の組み合わせである。必要に応じて、コンピュータシステム1700は、1以上のコンピュータシステム1700を含むか、中央集約型又は分散型、複数の位置にまたがるか、複数のマシンにまたがるか、複数のデータセンタにまたがるか、又は1以上のネットワークにおける1以上のクラウドコンポーネントを含むクラウドにある。必要に応じて、1以上のコンピュータシステム1700は、実質的な空間又は時間の制約なしに、本明細書で記載又は図示される1以上の方法の1以上のステップを実行する。例として限定されるものではないが、1以上のコンピュータシステム1700は、本明細書で記載又は図示される1以上の方法の1以上のステップをリアルタイムで又はバッチモードで実行する。1以上のコンピュータシステム1700は、必要に応じて、本明細書で記載又は図示される1以上の方法の1以上のステップを異なる時間で又は異なる位置で実行する。
特定の実施の形態では、コンピュータシステム1700は、プロセッサ1702、メモリ1704、ストレージ1706、入力/出力(I/O)インタフェース1708、通信インタフェース1710及びバス1712を含む。この開示は特定のアレンジメントで特定数の特定のコンポーネントを有する特定のコンピュータシステムを記載及び図示しているが、この開示は、任意の適切なアレンジメントで任意の適切な数の任意の適切なコンポーネントを有する任意の適切なコンピュータシステムを想定している。
特定の実施の形態では、プロセッサ1702は、コンピュータシステムを構成する命令のような命令を実行するハードウェアを含む。例として限定されるものではないが、命令を実行するため、プロセッサ1702は、内部レジスタ、内部キャッシュ、メモリ1704、又はストレージ1706からの命令を取得(又はフェッチ)し、それらをデコード及び実行し、次いで、1以上の結果を内部レジスタ、内部キャッシュ、メモリ1704又はストレージ1706に書き込む。特定の実施の形態では、プロセッサ1702は、データ、命令又はアドレスの1以上の内部キャッシュを含む。この開示は、必要に応じて、任意の適切な数の任意の適切な内部キャッシュを含むプロセッサ1702を想定している。例として限定されるものではないが、プロセッサ1702は、1以上の命令キャッシュ、1以上のデータキャッシュ、及び1以上の変換ルックアサイドバッファ(TLB)を含む。命令キャッシュにおける命令は、メモリ1704又はストレージ1706における命令のコピーであり、命令キャッシュは、プロセッサ1702により命令の読出しを高速にする。データキャッシュにおけるデータは、プロセッサ1702で実行する命令についてメモリ1704又はストレージ1706におけるデータのコピー、プロセッサ1702で実行するその後の命令によるアクセス又はメモリ1704又はストレージ1706への書込みのためにプロセッサ1702で実行された前の実行の結果、又は他の適切なデータである。データキャッシュは、プロセッサ1702による読取り又は書込み動作を高速にする。TLBは、プロセッサ1702の仮想アドレス変換を高速にする。特定の実施の形態では、プロセッサ1702は、データ、命令又はアドレスの1以上の内部レジスタを含む。この開示は、必要に応じて、任意の適切な数の任意の適切な内部レジスタを含むプロセッサ1702を想定している。必要に応じて、プロセッサ1702は、1以上の算術論理ユニット(ALU)、マルチコアプロセッサ、又は1以上のプロセッサ1702を含む。この開示は、特定のプロセッサ1702を含む。この開示は特定のプロセッサを記載及び図示しているが、この開示は、任意の適切なプロセッサを想定している。
特定の実施の形態では、メモリ1704は、プロセッサ1702の命令を記憶するか、又はプロセッサ1702が処理するデータを記憶するメインメモリを含む。例として限定されるものではないが、コンピュータシステム1700は、ストレージ1706又は(例えば別のコンピュータシステム1700のような)別のソースからメモリ1704に命令をロードする。次いで、プロセッサ1702は、メモリ1704から内部レジスタ又は内部キャッシュに命令をロードする。命令を実行するため、プロセッサ1702は、内部レジスタ又は内部キャッシュから命令を取得し、取得した命令をデコードする。命令の実行の間又は命令の実行の後、プロセッサ1702は、(中間結果又は最終結果である)1以上の結果を内部レジスタ又は内部キャッシュに書き込む。次いで、プロセッサ1702は、結果のうちの1以上をメモリ1704に書き込む。特定の実施の形態では、プロセッサ1702は、1以上の内部レジスタ又は内部キャッシュに命令のみを記憶するか、(ストレージ1706又はその他とは対照的に)メモリ1704に命令のみを記憶するか、1以上の内部レジスタ又は内部キャッシュにおけるデータのみを処理するか、(ストレージ1706又はその他とは対照的に)メモリ1704におけるデータのみを処理する。(アドレスバス及びデータバスをそれぞれ含む)1以上のメモリバスは、プロセッサ1702をメモリ1704に結合する。バス1712は、以下に記載されるように、1以上のメモリバスを含む。特定の実施の形態では、1以上のメモリ管理ユニット(MMU)は、プロセッサ1702とメモリ1704との間にあり、プロセッサ1702により要求されるメモリ1704へのアクセスを容易にする。特定の実施の形態では、メモリ1704は、ランダムアクセスメモリ(RAM)を含む。このRAMは、必要に応じて揮発性メモリである場合がある。必要に応じて、このRAMは、ダイナミックRAM(DRAM)又はスタティックRAM(SRAM)である。さらに、必要に応じて、このRAMは、シングルポート又はマルチポートRAMである。この開示は、任意の適切なRAMを想定している。メモリ1704は、必要に応じて、1以上のメモリ1704を含む。この開示は、特定のメモリを記載及び図示しているが、この開示は、任意の適切なメモリを想定している。
特定の実施の形態では、ストレージ1706は、データ又は命令の大容量記憶を含む。例として限定されるものではないが、ストレージ1706は、HDD、フロプティカルディスクドライブ、フラッシュメモリ、光ディスク、光磁気ディスク、磁気テープ、又はUSB(Universal Serial Bus)ドライブ又はこれらの2以上の組み合わせを含む。ストレージ1706は、必要に応じて、取り外し可能な媒体又は取り外し不可能な(又は固定された)媒体を含む。ストレージ1706は、必要に応じて、コンピュータシステム1700の内部又は外部にある。特定の実施の形態では、ストレージ1706は、不揮発性、固体メモリである。特定の実施の形態では、ストレージ1706は、リードオンリメモリ(ROM)を含む。必要に応じて、このROMは、マスクプログラムROM、プログラマブルROM(PROM)、消去可能なPROM(EROM)、電気的に消去可能なPROM(EEPROM)、電気的に変更可能なROM(EAROM)、又はフラッシュメモリ或いはこれらの2以上の組み合わせである。この開示は、任意の適切な物理的な形式を取る大容量ストレージ1706を想定している。ストレージ1706は、必要に応じて、プロセッサ1702とストレージ1706との間の通信を容易にする1以上の記憶制御ユニットを含む。必要に応じて、ストレージ1706は、1以上のストレージ1706を含む。この開示は、特定のストレージを記載及び図示しているが、この開示は、任意の適切なストレージを想定している。
特定の実施の形態では、I/Oインタフェース1708は、コンピュータシステム1700と1以上のI/O装置との間の通信向け1以上のインタフェースを提供するハードウェア、ソフトウェア、又はその両者を含む。コンピュータシステム1700は、必要に応じて、これらI/O装置のうちの1以上を含む。これらのI/O装置のうちの1以上は、ある人とコンピュータシステム1700との間の通信を可能にする。例として限定されるものではないが、I/O装置は、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチルカメラ、スタイラス、タブレット、タッチスクリーン、トラックボール、ビデオカメラ、別の適切なI/O装置又はこれらの2以上の組み合わせを含む。I/O装置は、1以上のセンサを含む。この開示は、任意の適切なI/O装置及び任意の適切なI/Oインタフェース1708を想定している。必要に応じて、I/Oインタフェース1708は、これらI/O装置のうちの1以上をプロセッサ1702が駆動するのを可能にする1以上の装置又はソフトウェアドライバを含む。I/Oインタフェース1708は、必要に応じて、1以上のI/Oインタフェース1708を含む。この開示は、特定のI/Oインタフェースを記載及び図示しているが、この開示は、任意の適切なI/Oインタフェースを想定している。
特定の実施の形態では、通信インタフェース1710は、コンピュータシステム1700と1以上の他のコンピュータ又は1以上のネットワークとの間の(例えばパケットに基づく通信のような)通信向けの1以上のインタフェースを提供するハードウェア、ソフトウェア、又はその両者を含む。例として限定されるものではないが、通信インタフェース1710は、Eithernet又は他の有線ネットワークネットワークと通信するインタフェースコントローラ(NIC)又はネットワークアダプタを含むか、又はWI-FIネットワークのような無線ネットワークと通信する無線NIC(WNIC)又は無線アダプタを含む。この開示は、任意の適切なネットワーク及び任意の適切な通信インタフェース1710を想定している。例として限定されるものではないが、コンピュータシステム1700は、アドホックネットワーク、パーソナルエリアネットワーク(PAN)、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、又はInternetの1以上の部分或いはこれらの2以上の組み合わせと通信する。1以上のこれらのネットワークの1以上の部分は、有線又は無線である。例として、コンピュータシステム1700は、(例えばBLUETOOTH WPANのような)無線PAN(WPAN)、WI-FIネットワーク、WI-MAXネットワーク、(例えばGSM(登録商標)(Global System for Mobile Communication)ネットワークのような)携帯電話網、又は他の適切な無線ネットワーク或いはこれらの2以上の組み合わせと通信する。コンピュータシステム1700は、必要に応じて、これらのネットワークの何れかについて、任意の適切な通信インタフェース1710を含む。通信インタフェース1710は、必要に応じて1以上の通信インタフェース1710を含む。この開示は、特定の通信インタフェースを記載及び図示しているが、この開示は、任意の適切な通信インタフェースを想定している。
特定の実施の形態では、バス1712は、コンピュータアイステム1700のコンポーネントを互いに結合するハードウェア、ソフトウェア又はその両者を含む。例として限定されるものではないが、バス1712は、AGP(Accelerated Graphics Port)又は他のグラフィックバス、EISA(Enhanced Industry Standard Architecture)バス、FSB(Front-Side)バス、HT(HyperTransport)相互接続、ISA(Industry Standard Architecture)バス、INFINIBAND相互接続、LPC(Low-Pin-Count)バス、メモリバス、MCA(Micro Channel Architecture)バス、PCI(Peripheral Component Interconnect)バス、PCIe(PCI-Express)バス、SATA(Serial Advanced Technology Attachment)バス、VLB(Video Electronics Standards Association Local)バス、又は別の適切なバス或いはこれらの2以上の組み合わせを含む。バス1712は、必要に応じて、1以上のバス1712を含む。この開示は、特定のバスを記載及び図示しているが、この開示は、任意の適切なバス又は相互接続を想定している。
ここで、コンピュータ読み取り可能な記録媒体の参照は、1以上の一時的でない、有形のコンピュータ読み取り可能な記録媒体を有する構造を包含する。例として限定されるものではないが、コンピュータ読み取り可能な記録媒体は、必要に応じて、(例えばフィールドプログラマブルゲートアレイ(FPGA)又は特定用途向けIC(ASIC)のような)半導体に基づく集積回路又は他の集積回路(IC)、ハードディスク、HDD、ハイブリッドハードドライブ(HHD)、光ディスク、光ディスクドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロプティカルディスク、フロプティカルディスクドライブ(FDD)、ホログラフィック記録媒体、固体ドライブ(SSD)、RAMドライブ、SECURE DIGITALカード、SECURE DIGITALドライブ、又は別の適切なコンピュータ読み取り可能な記録媒体、或いはこれらの2以上の組み合わせを含む。ここで、コンピュータ読み取り可能な記録媒体への参照は、35 U.S.C.§101の下での特許保護の適格でない媒体を排除する。ここで、コンピュータ読み取り可能な記録媒体への参照は、35 U.S.C §101の下での特許の保護に的確でない範囲に、(電気信号又は電磁信号を伝搬させるような)信号伝送の一時的な形式を排除する。コンピュータ読み取り可能な一時的でない記憶媒体は、必要に応じて、揮発性、不揮発性、又は揮発性と不揮発性との組み合わせである。
この開示は、任意の適切なストレージを実現する1以上のコンピュータ読み取り可能な記録媒体を想定している。特定の実施の形態では、コンピュータ読み取り可能な記録媒体は、必要に応じて、(例えば1以上の内部レジスタ又はキャッシュのような)プロセッサ1702の1以上の部分、メモリ1704の1以上の部分、ストレージ1706の1以上の部分、又はこれらの組み合わせを実現する。特定の実施の形態では、コンピュータ読み取り可能な記録媒体は、RAM又はROMを実現する。特定の実施の形態では、コンピュータ読み取り可能な記録媒体は、揮発性又は永続性のあるメモリを実現する。特定の実施の形態では、1以上のコンピュータ読み取り可能な記録媒体は、ソフトウェアを実現する。ここで、ソフトウェアへの参照は、必要に応じて、1以上のアプリケーション、バイトコード、1以上のコンピュータプログラム、1以上の実行ファイル、1以上の命令、ロジック、マシンコード、1以上のスクリプト、又はソースコードを包含し、逆に、1以上のアプリケーション、バイトコード、1以上のコンピュータプログラム、1以上の実行ファイル、1以上の命令、ロジック、マシンコード、1以上のスクリプト、又はソースコードを包含することは、ソフトウェアを参照することになる。特定の実施の形態では、ソフトウェアは、1以上のアプリケーションプログラミングインタフェース(API)を含む。この開示は、任意の適切なプログラミング言語又はプログラミング言語の組み合わせで書かれるか又はさもなければ表現される任意の適切なソフトウェアを想定する。特定の実施の形態では、ソフトウェアは、ソースコード又はオブジェクトコードとして表現される。特定の実施の形態では、ソフトウェアは、例えばC,Perl又はその適切な拡張のような高水準のプログラミング言語で表現される。特定の実施の形態では、ソフトウェアは、アセンブリ言語(又はマシンコード)のような、低水準プログラミング言語で表現される。特定の実施の形態では、ソフトウェアは、JAVA(登録商標)で表される。特定の実施の形態では、ソフトウェアは、HTML(Hyper Text Markup Language)、XML(Extensible Markup Language)、又は他の適切なマークアップ言語で表される。
図18は、例示的なネットワーク環境1800を例示する。この開示は、任意の適切なネットワーク環境1800を想定する。例として限定されるものではないが、この開示は、クライアント−サーバモデルを実現するネットワーク環境1800を記載及び図示しているが、この開示は、必要に応じて、ピアツーピアであるネットワーク環境1800の1以上の部分を想定している。特定の実施の形態では、1以上のネットワーク環境1800において全体的に又は部分的に動作する。特定の実施の形態では、ネットワーク環境1800の1以上のエレメントは、本明細書で記載又は図示される機能を提供する。特定の実施の形態は、ネットワーク環境1800の1以上の部分を含む。ネットワーク環境1800は、1以上のサーバ1820を1以上のクライアント1830を互いに結合するネットワーク1810を含む。この開示は、任意の適切なネットワーク1810を想定している。例として限定されるものではないが、ネットワーク1810の1以上の部分は、アドホックネットワーク、イントラネット、エクストラネット、VPN(Virtual Private Network)、LAN(Local Area Network)、WLAN(Wireless LAN)、MAN(Metropolitan Area Network)Internetの一部、PSTN(Public Switched Telephone Network)、携帯電話網、或いはこれらの2以上の組み合わせを含む。ネットワーク1810は、1以上のネットワーク1810を含む。
リンク1850は、サーバ1820及びクライアント1830をネットワーク1810又は互いに結合する。この開示は、任意の適切なリンク1850を想定している。例として限定されるものではないが、1以上のリンク1850のそれぞれは、(例えばDSL(Digital Subscriber Line)又はDOCSIS(Data Over Cable Service Specification)のような)1以上の有線、(例えばWi-Fi又はWiMAX(WorldWide Interoperability for Microwave Access)のような)無線、又は(例えばSONET(Synchronous Optical Network)又はSDH(Synchronous Digital Hierarchy)リンク1850のような)光を含む。特定の実施の形態では、1以上のリンク1850のそれぞれは、イントラネット、エクストラネット、VPN、LAN、WLAN、WAN、MAN、通信ネットワーク、サテライトネットワーク、Internetの一部、又は別のリンク1850、又は2以上の係るリンク1850の組み合わせを含む。リンク1850は、ネットワーク環境1800を通して必ずしも同じである必要はない。1以上の第一のリンク1850は、1以上の第二のリンク1850とは1以上の観点で異なる場合がある。
この開示は任意の適切なサーバ1820を想定している。例として限定されるものではないが、1以上のサーバ1820のそれぞれは1以上の広告サーバ、アプリケーションサーバ、カタログサーバ、通信サーバ、データベースサーバ、交換サーバ、ファックスサーバ、ファイルサーバ、ゲームサーバ、ホームサーバ、メールサーバ、メッセージサーバ、ニュースサーバ、ネーム又はDNSサーバ、プリントサーバ、プロキシサーバ、サウンドサーバ、スタンドアロンサーバ、ウェブサーバ、又はウェブフィードサーバを含む。特定の実施の形態では、サーバ1820は、サーバ1820の機能を提供するハードウェア、ソフトウェア又はその両者を含む。例として限定されるものではないが、ウェブサーバとして動作するサーバ1820は、ウェブページ又はウェブページのエレメントを含むウェブサイトを主催可能であり、ウェブページを主催するためのハードウェア、ソフトウェア又はその両者を含む。特定の実施の形態では、ウェブサーバは、HTML又は他の適切なファイルを主催するか、又は要求に応じてウェブページのファイルを動的に作成又は構成する。クライアント1830からのHTTP(Hypertext Transfer Protocol)又は他の要求に応答して、ウェブサーバは、1以上の係るファイルをクライアント1830に伝達する。別の例として、メールサーバとして動作するサーバ1820は、電子メールサービスを1以上のクライアント1830に提供可能である。別の例として、データベースサーバとして動作するサーバ1820は、(例えば以下に記載されるデータストア1840のような)1以上のデータストアと相互作用するインタフェースを提供可能である。必要に応じて、サーバ1820は、1以上のサーバ1820を含むか、中央集約型又は分散型であるか、複数の位置にまたがるか、複数のマシンにまたがるか、複数のデータセンタにまたがるか、或いは、1以上のネットワークにおける1以上のクラウドコンポーネントを含むクラウドにある。
特定の実施の形態において、1以上のリンク1850は、サーバ1820を1以上のデータストア1840に結合する。データストア1840は、任意の適切な情報を記憶し、データストア1840の内容は、任意の適切なやり方で編成される。例として限定されるものではないが、データストア1840の内容は、次元、平坦、階層的、ネットワーク、オブジェクト指向、リレーショナル、XML、又は他の適切なデータベース或いはこれらの2以上の組み合わせとして記憶される。データストア1840(又はデータストアに結合されるサーバ1820)は、データストア1840のコンテンツを管理するデータベース管理システム又は他のハードウェア又はソフトウェアを含む。データベース管理システムは、読取り及び書込み動作を実行し、データを削除又は消去し、データの複製を行い、データストア1840のコンテンツを問合せ又はサーチするか、又はデータストア1840への他のアクセスを提供する。
特定の実施の形態では、1以上のサーバ1820のそれぞれは、1以上のサーチエンジン1822を含む。サーチエンジン1822は、サーチエンジン1822の機能を提供するハードウェア、ソフトウェア又はその両者を含む。例として限定されるものではないが、サーチエンジン1822は、サーチエンジン1822で受信されるサーチ問合せに応答してネットワークリソースを識別する1以上のサーチアルゴリズム、識別されたネットワークリソースをランク付けする1以上のランク付けアルゴリズム、又は識別されたネットワークリソースを要約する1以上の要約アルゴリズムを実現する。特定の実施の形態では、サーチエンジン1822により実現されるランク付けアルゴリズムは、マシンで学習されたランク付けの公式を使用し、ランク付けのアルゴリズムは、必要に応じて、サーチ問合せと選択されたURL(Uniform Resource Locators)とのペアから構築されたトレーニングデータのセットから自動的に取得する。
特定の実施の形態では、1以上のサーバ1820のそれぞれは、1以上のデータモニタ/コレクタ1824を含む。データモニタ/コレクタ1824は、データモニタ/コレクタ1824の機能を提供するハードウェア、ソフトウェア、又はその両者を含む。例として限定されるものではないが、サーバ1820でのデータモニタ/コレクタ1824は、サーバ1820でネットワークトラフィックデータをモニタ及び収集し、ネットワークトラフィックデータを1以上のデータストア1840に記憶する。特定の実施の形態では、サーバ1820又は別の装置は、必要に応じて、サーチ問合せと選択されたURLとのペアを抽出する。
この開示は、任意の適切なクライアント1830を想定する。クライアント1830は、クライアント1830でのユーザがネットワーク1810、サーバ1820又は他のクライアント1830にアクセスするか又はさもなければ通信するのを可能にする。例として限定されるものではないが、クライアント1830は、MICROSOFT INTERNET EXPLORER又はMOZILLA FIREFOXのようなウェブブラウザを有し、GOOGLE TOOLBAR又はYOHOO TOOLBARのような1以上のアッドオン、プラグイン、又は他の拡張を有する。クライアント1830は、クライアント1830の機能を提供するハードウェア、ソフトウェア又はその両者を含む電気装置である。例として限定されるものではないが、クライアント1830は、必要に応じて、埋込型コンピュータシステム、SOC、(例えばCOM又はSOMのような)SBC、デスクトップコンピュータシステム、ラップトップ又はノートブックコンピュータシステム、インタラクティブキオスク、メインフレーム、コンピュータシステムのメッシュ、携帯電話、PDA、ネットブックコンピュータシステム、サーバ、タブレット型コンピュータシステム、又はこれらの2以上の組み合わせである。必要に応じて、クライアント1830は、1以上のクライアント1830を含むか、中央集約型又は分散型であるか、複数の位置にまたがるか、複数のマシンにまたがるか、複数のデータセンタにまたがるか、或いは1以上のネットワークにおける1以上のクラウドコンポーネントを含むクラウドにある。
雑則
ここで、「又は“or”」は、明示的に示されないか又はコンテクストにより示唆されない限り、包括的又は排他的ではない。従って、本明細書において「A又はB」は、明示的に示されないか又はコンテクストにより示唆されない限り、「A、B又は両者」を意味する。さらに、「及び“and”」は、明示的に示されないか又はコンテクストにより示唆されない限り、共同(jointly severally)である。従って、本明細書において「A及びB」は、明示的に示されないか又はコンテクストにより示唆されない限り、「共同でA及びB」を意味する。さらに、“a”、“an”又は“the”は、明示的に示されないか又はコンテクストにより示唆されない限り、「1以上」を意味することが意図される。従って、本明細書において、“an A”又は“the A means”は、明示的に示されないか又はコンテクストにより示唆されない限り、「1以上のA」を意味する。
この開示は、当業者が理解するであろう本明細書の例示的な実施の形態に対する全ての変化、置換え、変形、変更及び修正を包含する。同様に、必要に応じて、特許請求の範囲は、当業者が理解するであろう全ての変化、置換え、変形、変更及び集積を包含する。さらに、この開示は、任意の例示的な実施の形態からの1以上の特徴と、当業者が理解するであろう本明細書における他の例示的な実施の形態の1以上の特徴との任意の適切な組み合わせを包含する。さらに、特定の機能を実行するために適応されるか、構成されるか、実行可能であるか、設定されるか、実行することが可能であるか、実行するように動作可能であるか、実行するように動作する装置又はシステム、或いは装置又はシステムのコンポーネントに対する特許請求の範囲における参照は、特定の機能が作動されるか否かに係らず、装置、システム、又はコンポーネントがそのように適合、構成、実行可能、設定、実行可能又は動作可能又は動作する限り、特許請求の範囲における参照は、装置、システム、コンポーネントがオンにされるか又はロックが解除されることを包含する。