(57)【要約】「論理センサー・サーバー」即ち「ＬＳＳ」は、種々の入力ソースによって発表された信号またはイベントを、他のサブスクライブしたセンサー、デバイス、またはシステムによって消費または使用することができる信号または高次イベントに変換し、モルフィングし、または転送することによって、関係あるまたは無関係なセンサー、デバイス、または他のシステム間でスマート・ハブとして動作する。更に具体的には、ＬＳＳは、単独でまたは論理センサー・プラットフォーム（ＬＳＰ）との組み合わせで、インテリジェントなイベント・ドリブン挙動が比較的単純な入力ソースの集合体から出現することを可能にするやり方で、異なる入力ソースから受けたメッセージを著作し、変形し、１つ以上のサブスクライバーに利用可能にする種々の技法を可能にするように機能する。自動構成またはユーザー入力の任意の組み合わせが、１つ以上の発表に対して特定のサブスクライバーによって受けられるように、変形された入力のフォーマットを定めるために使用される。変形イベントを受けたサブスクライバーは、それら自体のアクションを、これらのイベントに基づいて制御する。【選択図】図２
2016503539.tif 000002
【特許請求の範囲】
【請求項１】
イベント・データーを変換し共有するコンピューター実装方法であって、
計算デバイスを使用して、
変換サービスに発表するために複数の入力ソースを登録し、
前記変換サービスから１つ以上の予め定められた出力イベントを受けるために複数のサブスクライバーを登録し、
前記登録された入力ソースの１つ以上が、前記入力ソースによって実行された１つ以上のアクションに応答して、１つ以上の発表を前記変換デバイスに供給し、各発表がデーター報告およびイベントの任意の組み合わせを表し、
前記変換サービスによって受けた任意の発表に対して、予め定められた発表変換、予め定められた発表変形、および予め定められた発表転送アクションの任意の組み合わせを実行することによって、前記出力イベントの１つ以上をトリガーし、
前記変換サービスが任意の出力イベントをトリガーしたときはいつもで、当該出力イベントを、当該出力イベントを受けるために登録された任意のサブスクライバーに供給するためのプロセス・アクションを実行することを含む、コンピューター実装方法。
【請求項２】
請求項１記載のコンピューター実装方法において、各サブスクライバーが、任意の受けた出力イベントにローカルに応答する、コンピューター実装方法。
【請求項３】
請求項１記載のコンピューター実装方法において、前記入力ソースの１つ以上が、ソフトウェア・ベースのアプリの形態とした論理センサーである、コンピューター実装方法。
【請求項４】
請求項１記載のコンピューター実装方法において、前記入力ソースの１つ以上が、当該入力ソースの１つ以上の発表と組み合わせて、信頼度レベルを提供する、コンピューター実装方法。
【請求項５】
請求項４記載のコンピューター実装方法において、前記出力イベントの１つ以上が、１つ以上の対応する発表の前記信頼度レベルに基づいてトリガーされる、コンピューター実装方法。
【請求項６】
請求項１記載のコンピューター実装方法であって、更に、前記サブスクライバーの１つ以上を入力ソースとして登録するプロセス・アクションを含む、コンピューター実装方法。
【請求項７】
イベント・データーを変換し配信するシステムであって、
変換、変形、およびデーター転送の任意の組み合わせを表す発表をイベント変換デバイスに供給するために、１つ以上の入力ソースを登録するデバイスと、
前記イベント変換デバイスから１つ以上の予め定められた出力イベントを受けるために、１つ以上のサブスクライバーを登録するデバイスと、
任意の登録された入力ソースから受けた任意の発表に応答して、予め定められた発表変換、予め定められた発表変形、および予め定められた発表転送アクションの任意の組み合わせを使用して、前記１組の予め定められた出力イベントからの出力イベントの内１つ以上をトリガーするために前記イベント変換デバイスを使用し、
前記イベント変換デバイスによってトリガーされた任意の出力イベントを、これらの特定の出力イベントを受けるために登録された任意のサブスクライバーに供給するデバイスと、
を含む、システム。
【請求項８】
請求項７記載のシステムにおいて、
前記入力ソースの１つ以上が、当該入力ソースの１つ以上の発表と組み合わせて、信頼度レベルを提供し、
前記出力イベントの１つ以上が、１つ以上の対応する発表の前記信頼度レベルに基づいてトリガーされる、システム。
【請求項９】
請求項７記載のシステムであって、更に、前記サブスクライバーの１つ以上を入力ソースとして登録することを含み、入力ソースとして登録された前記サブスクライバーの１つ以上が、これらのサブスクライバーによって供給される前記出力イベントの１つ以上に応答して、新たな発表を前記イベント変換デバイスに供給する、システム。
【請求項１０】
情報を共有するためのコンピューター実行可能命令が格納されているコンピューター読み取り可能媒体であって、前記命令が、
変換、変形、およびデーター転送の任意の組み合わせを表す発表をイベント変換サービスに供給するために、１つ以上の入力ソースを登録するステップと、
前記イベント変換サービスから１つ以上の予め定められた出力イベントを受けるために、１つ以上のサブスクライバーを登録するステップと、
任意の登録された入力ソースから受けた任意の発表に応答して、予め定められた発表変換、予め定められた発表変形、および予め定められた発表転送アクションの任意の組み合わせを使用して、前記１組の予め定められた出力イベントからの出力イベントの内１つ以上をトリガーするために前記イベント変換サービスを使用するステップと、  
前記イベント変換サービスによってトリガーされた任意の出力イベントを、これらの特定の出力イベントを受けるために登録された任意のサブスクライバーに供給するステップと、
前記イベント変換サービスから受けた任意の出力イベントに対して、各サブスクライバーにローカルに応答させるステップと、 
を含む方法を計算デバイスに実行させる、コンピューター読み取り可能命令。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]  技術は、人にとっては些細に思われるかもしれない状況に対して感応しないことが多い。例えば、タイマーによって制御される事務所の照明は、フロアーに未だ人がいても、夕方には照明を切ることがあり得る。同様に、動き検出センサーに基づくシステムは、人々が彼らの机のところで静止していると、照明を切ることもあり得る。生憎、複数の独立したタイプのセンサーを設置し、これらの入力を組み合わせることは、システム全体を複雑化し、そのコストを増大させる虞がある。
【０００２】
[0002]  人間と対話処理する技術を開発するときの課題の１つは、複雑な環境に対してその技術をインテリジェントに感応させることである。一般に、インテリジェントな感度は、通例、カメラ、温度計、動きセンサー等のような、複数のセンサーによって収集される実世界からの豊富な情報の総合的分析に依存する。この分析は、通例、複雑なタスクとなる。何故なら、単純な判断（例えば、建物の特定のフロアーに人がいる間照明を点けたままにする）であっても複数の異なるタイプのセンサーからの入力（更には、カレンダーまたは時計というような論理コンテキスト）を必要とする場合もあるからである。
【０００３】
[0003]  多くの単純なシステムは、基本的なセンサーを利用し、これらのセンサーによって供給される入力に対して作用して、何らかの種類のプログラミング前アクションを開始する。例えば、典型的なサーモスタットは、密に結合された温度センサーからの温度読み取り値を受信し、この読み取り値に基づいて、加熱または冷却システムを起動させるか、またそうでなければ調節させる。生憎、サーモスタットにおける温度センサーは、一般にサーモスタット専用であるか、サーモスタットと一体であるので、このセンサーからの温度情報は、他の使用には一般に利用できない。その結果、暑く日照のある日に窓遮蔽を閉じる自動化システムのような、温度も利用するかもしれない他のシステムは、通例、制御目的のためにそれら自体の専用センサーまたは手動スイッチを使用することになる。
【０００４】
[0004]  同様に、ソフトウェアに基づくセンサー入力処理の場合、多くのこのようなシステムは、１つ以上の特定のセンサーと、センサー・データーを処理し次いで何らかの対応するアクションを開始する１つ以上のソフトウェア・ベース・システムとの間における密結合に基づいて動作する。例えば、典型的な家庭用セキュリティ・システムは、アラーム・システムが装備状態(armed state)にあるとき、１つ以上の設置された動きセンサーのトリガ(triggering)に応答して、アラームをトリガーする（そして、恐らくはセキュリティ・サービスおよび／または９１１への自動コールもトリガーする）。これらのタイプの解決手段は、多くの場合専用センサーのネットワークに依存する。このようなネットワークは、多くの場合、既知のタイプの互換性がある追加のセンサー（例えば、互換性のあるドア・コンタクト・センサー、セキュリティ・カメラ、マイクロ波または赤外線動きセンサー等）を追加することによって拡張することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
[0005]  生憎、このようなセンサー・ネットワークの拡張は、大抵の場合、互換性のあるセンサーまたはデバイスの追加に制限される。何故なら、例えば、家庭用セキュリティ・システムのような特別の目的のために作られたシステムは、一般に、他のセンサーまたはデバイスによって供給することができる論理情報の代替ソースに対処(accommodate)できないからである。その結果、複数の異なるシステムが同じ総合エリア内で動作している場合、このようなシステムは、他の場合では重複になる複数のセンサーを使用し、それらの対応するシステムに特定のフォーマットで入力を供給する。例えば、動きアクティブ化照明スイッチに結合された１つの動きセンサーを、同じ部屋において、無関係なローカル・セキュリティ・システムに専用な動きセンサーとして使用することもできる。しかしながら、照明スイッチもセキュリティ・システムも、他のシステムと関連付けられた動きセンサーを利用しない。
【課題を解決するための手段】
【０００６】
[0006]  この摘要は、詳細な説明において以下で更に説明する概念から選択したものを、簡略化した形態で紹介するために設けられている。この摘要は、特許請求する主題の主要な特徴や必須の特徴を特定することを意図するのではなく、特許請求する主題の範囲を判断するときに補助として用いられることを意図するのでもない。更に、先行技術のある種の欠点が本明細書において特記されるまたは説明される場合があるが、特許請求する主題は、これら先行技術の欠点の一部または全てを解決するまたは取り組むことができる実現例に限定されることを意図するのではない。
【０００７】
[0007]  一般に、「論理センサー・サーバー」（ＬＳＳ）は、本明細書において説明するように、多種多様な入力ソースによって発表される(publish)信号またはイベントを変換(translate)、モーフィング(morph)、または転送して、他のセンサー、デバイス、またはシステムによって消費または使用することができる信号またはイベントにすることによって、関係のないセンサーまたは他のデバイス間においてスマート・ハブとして機能する。言い換えると、ＬＳＳは種々のソースから入力を受信し、これらの入力を種々のフォーマットに変換または変形(transform)し、次いで変換または変形した入力、あるいはこれらの入力に対応するイベントを、１つ以上の他の無関係なセンサー、エージェント、デバイス、システム等に供給する。これは、無関係なセンサー、エージェント、デバイス、システム等が、他の入力ソースによって供給された入力を利用することを可能にする。
【０００８】
[0008]  ＬＳＳのアーキテクチャーに関して、一般的な考えは、種々の関係ある入力ソースまたは無関係な入力ソースがそれらの入力またはイベントをＬＳＳに発表するということである。例えば、このような入力は、検出された温度、動き等のようなセンサー読み取り値、「エアコンのスイッチを入れる」、「テレビジョンのスイッチを入れる」、「リモコン・デバイス上で「オン」ボタンを押す等のような「イベント」、「エレベーター・ボタン押下」、「照明スイッチ・オフ」等のようなインフラストラクチャー・イベントを含むが、これらに限定されるのではない。次いで、ＬＳＳはこの入力を、サブスクライブしたデバイス(subscribing devices)、エージェント等と互換性がある種々のフォーマットに変換し、この変換した入力をサブスクライバー(subscriber)に供給する。次いで、この変換入力を受信したサブスクライバーは、それ以上の入力やＬＳＳからのもっと高いレベルの制御を必要とすることなく、この入力に対して作用することができる。
【０００９】
[0009]  この概念の単純な例は、ＬＳＳが、コーヒー・メーカーから、コーヒーを入れるためにスイッチを入れられたことを示す入力を受信することである（即ち、ＬＳＳは、コーヒー・メーカーから、その「オン」ボタンが押されたことを示す発表を受信する）。次いで、ＬＳＳはこの発表を、他のデバイス、エージェント、またはシステムによる使用のために変形する。例えば、オン・ボタンが押されたの単純な変形は、「人存在」イベント等を含むが、これに限定されるのではない。次いで、「人存在」イベントの供給（他のデバイスまたはシステムによって使用可能なフォーマットで）は、例えば、人がいるときには照明を点ける自動照明スイッチのような、種々の目的に使用することができる。この場合、自動照明スイッチは、人存在タイプのイベントをＬＳＳから受信する。次いで、照明スイッチは、応答して、照明を巡回させることができる。
【００１０】
[0010]  尚、以上の例における照明スイッチは、複雑な処理が可能である必要はないことを注記しておく。例えば、ＬＳＳは、「オン」または「オフ」を照明スイッチに指示するために、単に論理１または０（あるいは何らかの他のアナログまたはディジタル信号または指示）を照明スイッチに供給するだけとすることができる。この場合、照明スイッチは、任意の１つ以上の入力ソースから発した、人がいることを示すイベントを受信するためには、単にＬＳＳにサブスクライブすればよい。このようなイベントは、照明スイッチに有用などんなフォーマットでも、ＬＳＳによって照明スイッチに供給される。
【００１１】
[0011]  更に、ＬＳＳは、既存のセンサーまたは入力デバイスの出力または発表を処理して、新たな「論理センサー」の作成を可能にし、これによって種々のセンサーまたは入力ソースの出力または発表には通常関連がないアクションの開始も可能にするメカニズムを提供する。例えば、ユーザーの自宅には動きセンサーがない、または既存の動きセンサーが何らかの理由のため（例えば、このセンサーのバッテリーが切れている）オフラインになっていると仮定する。応答して、ＬＳＳは、種々の入力ソースからの広範囲の発表の内１つ以上に基づいて、論理動きセンサーを「同期する」ことができる。例えば、ＴＶリモコンの使用を示す発表、または水道計によって流量から推論される手洗いの水洗を示す発表のいずれかまたは双方を、「人在宅」タイプの出力イベントに変換することができ、次いでこのイベントは、更に他のアクションのために１つ以上のサブスクライバーに供給される。
【００１２】
[0012]  以上の摘要を検討すると、本明細書において説明するＬＳＳは、インテリジェントなイベント・ドリブン行動が比較的単純な無関係の入力ソースの集合体から出現することを可能にする態様で、異なる入力ソースから受信されたメッセージを著作し(author)、変形し、１つ以上のサブスクライバーに利用可能にする種々の技法を提供することが明らかである。今説明した利点に加えて、ＬＳＳの他の利点は、以下に続く詳細な説明を添付図面と併せて検討することにより明白になろう。
【図面の簡単な説明】
【００１３】
[0013]  特許請求する主題の具体的な特徴、形態、および利点は、以下の説明、添付する特許請求の範囲、および添付図面に関して、一層良く理解されよう。
【図１】図１は、本明細書において説明するように、任意の入力ソースが入力またはイベントを「論理センサー・サーバー」（ＬＳＳ）に発表し、次いでＬＳＳがこれらの発表を、変換された情報を受信するためにサブスクライブした他のデバイスまたはシステムによって消費することができるフォーマットまたは他のイベントに変換する、全体的なアーキテクチャー図を示す。
【図２】図２は、本明細書において説明するように、ＬＳＳの種々の実施形態を実現するためのプログラム・モジュールを示す流れ図の一例を示す。
【図３】図３は、本明細書において説明するように、ＬＳＳの種々の実施形態と共に使用するためのユーザー・インターフェースの一例を示す。
【図４】図４は、本明細書において説明するように、ＬＳＳの種々の実施形態を実現するための方法例を示す、全体的なシステム流れ図を示す。
【図５】図５は、本明細書において説明するように、ＬＳＳの種々の実施形態を実現するときに使用するための、簡略化した計算およびＩ／Ｏ処理能力を有する、簡略化した汎用計算デバイスを示す全体的なシステム図である。
【発明を実施するための形態】
【００１４】
[0019]  特許請求する主題の実施形態についての以下の説明では、添付図面を参照する。添付図面は、本明細書の一部をなし、特許請求する主題を実施することができる具体的な実施形態を例示として示す。尚、他の実施形態を利用してもよく、ここで特許請求する主題の範囲から逸脱することなく、構造的な変化が行われてもよいことは理解されてしかるべきである。
【００１５】
[0020]  １．０  序言
[0021]  説明の目的上、以下の説明における「入力ソース」または「パブリッシャー」(publisher)という用語は、物理的現象または量を検出または測定し、これらを都合のよび電気信号、無線周波数信号、オーディオ信号、または光信号に変換するデバイスとして、具体的に定めることとする。次いで、これらの信号は、入力またはイベントとして、「論理センサー・サーバー」（ＬＳＳ）に発表される。入力ソースの例には、多種多様なデバイス、センサー、音声入力メカニズム、ジェスチャーまたはタッチ・ベース入力メカニズム、ソフトウェア・エージェント、ソフトウェア・イベント、インフラストラクチャー・イベント等が含まれるがこれらに限定されるのではない。加えて、「論理センサー」とは、センサーまたは他の入力ソースを具体化する「ソフトウェア・エージェント」と定めることとする。尚、ＬＳＳによって実行される発表の変換(translation)、変形(transform)、および／または伝搬アクションは、ＬＳＳの「イベント変換サービス」によって行われることを注記しておく。更に、以下の説明における用語「サブスクライバー」は、１つ以上の入力ソースの発表から変換または変形された、ＬＳＳからの上位イベントを受信する、多種多様のデバイス、センサー、ソフトウェア・エージェント、他のＬＳＳ等を指すと具体的に定めることとする。
【００１６】
[0022]  一般に、ＬＳＳは、多種多様な入力ソースによって発表された信号またはイベントを他のセンサー、デバイス、またはシステムによって消費または使用することができる信号または上位イベントに変換し、モルフィングし、または転送することによって、関係あるまたは無関係なセンサー、デバイス、または他のシステム間におけるスマート・ハブの一形態として機能する。更に具体的には、ＬＳＳは、インテリジェントなイベント・ドリブン行動が比較的単純な入力ソースの集合体から出現することを可能にする態様で、異なる入力ソースから受信されたメッセージを著作し(author)、変形し、１つ以上のサブスクライバーに利用可能にする種々の技法を可能にするために、単独でまたは論理センサー・プラットフォーム（ＬＳＰ）と組み合わせて動作する。
【００１７】
[0023]  有利なこととして、これらの処理能力は、上位イベントを発表しこれらにサブスクライブするためのハードウェアに依存しないプラットフォームを提供し、ＬＳＳが、既存のシステムを変更する必要なく、このようなシステムにインテリジェントな感度(sensitivity)の層を追加することによって、既存のシステムが経時的に発展するのを助けることを可能にする。更に有利なこととして、これは、ＬＳＳ自体が、サブスクライブしたデバイス、エージェント等の内任意のものを制御するために必要とされる複雑さを不要とすることを意味する。何故なら、これは、単に、これらのサブスクライバーがそれら自体の制御メカニズムを使用してこれらの変形イベントに対して作用することを可能にするフォーマットで、変形イベントを提供するだけだからである。
【００１８】
[0024]  言い換えると、ＬＬＳは、パブリッシャーやサブスクライバーがいずれも実際に制御するためのロジックを内蔵する必要なく、パブリッシャーおよびサブスクライバーに関して、イベントの変形および伝搬を決定するロジックを内蔵する。例えば、種々の実施形態において、ＬＳＳは、「動き検出」信号またはイベントが動き検出センサーからの発表として受信されたときに、「フロアー上で人を検出した」および「建物内人検出」というような上位イベントを生成するまたはトリガーするように構成される。フロアーおよび建物照明制御システムのような種々のサブスクライバーは、「フロアー上人検出」イベントおよび「建物内人検出」イベントにも登録することができる。これらの登録されたシステムには、次に、パブリッシャー（即ち、動き検出センサー）によってＬＳＳに供給される「動き検出」信号またはイベントに応答して、ＬＳＳによって生成された「フロアー上で人を検出した」イベントおよび「建物内人検出」イベントが通知される。応答して、フロアーおよび建物照明制御システムは、所望の応答を作動させる(actuate)ことができる（例えば、人が存在するので、照明を点けることによって、自動的にこの出力イベントに応答する）。
【００１９】
[0025]  また、複数のサブスクライバーが全て同じ変形入力を受信することができるので（個々の各サブスクライバーにどのフォーマットが使用可能かには関係なく）、これらのデバイス、システム、またはエージェントが、任意の所望のやり方で、個々に変換入力に応答することができることを注記しておく。更に、ソフトウェア・エージェントまたは他のシステムが、１つ以上の関係ある入力ソースまたは無関係な入力ソースから受信した発表に応答して、ＬＳＳによって供給された変形入力またはイベントに、複数のデバイスに応答させることもできる。
【００２０】
[0026]  例えば、ＬＳＳが、人がテレビジョンをオンにして（例えば、ＴＶリモコンの電源ボタンを押す、テレビジョンが電力を引き込み始め電源オン状態を示す等）、入力が変形されソフトウェア・エージェントまたは他のシステムに上位イベントとして、例えば、「人がテレビジョンを視聴する」タイプ・イベントとして供給されると仮定する。応答して、ソフトウェア・エージェントまたは他のシステムは、次に、例えば、照明を暗くする、ブラインドを閉じる、ポップコーン・ポッパーを起動する、音声メールにフォン・コールを送るために、無関係な自動システムを同時に制御するというように、コマンドを開始するまたは作動させることによって応答する。また、これらの無関係な自動システムの各々を個別に「人テレビジョン視聴」タイプ・イベントに登録することができ、ＬＳＳからのこのようなイベントの受信に応答して、それら自体のアクションを開始できることも注記しておく。
【００２１】
[0027]  更に、ＬＳＳは、多種多様の入力ソースによって供給される信号またはイベントを、他のセンサー、デバイス、またはシステムによって消費または使用することができる信号または上位イベントに変換し、モルフィングし、または転送するので、ＬＳＳは、新たな制御システムが、それら自体のセンサーを有してもまたは有さなくても、サブスクライバーとして登録することができる中央位置になる。例えば、アラーム制御システムが、それ自体の動きセンサーを全く有さなくても、広範囲の入力ソースの内任意のものから得られる動きイベントを示す発表を受信するために、ＬＳＳに単に登録するだけで済ませることができる。これは、アラーム制御システムが、「人在宅」タイプ・イベントに変形された「ＴＶリモコンの押下」発表のような入力に基づいて、アラームをトリガーすることを可能にする。
【００２２】
[0028]  言い換えると、広範囲の用途の内任意のものに対する新たな制御システムは、既存のセンサー・インフラストラクチャー（物理的および／または論理的）およびＬＳＳによって生成される対応出力イベントを利用しつつ、ＬＳＳにサブスクライブすることができる。その結果、ＬＳＳにサブスクライブすることによって、多くのタイプの制御システムを設置するためのコストおよび手間は、特定的にこのような制御システムに専用とされる従来の検知デバイスを抑制する、または排除さえすることによって、劇的に低減することができる。したがって、事実上あらゆる所望の目的のための新たな制御システムを設置し、ＬＳＳから利用可能な出力イベントの内１つ以上に単にサブスクライブすることによって制御することができる。
【００２３】
[0029]  以上で説明した概念を全体的に図１に示す。図１は、全体的なアーキテクチャー図を示し、任意の入力ソースが入力またはイベントをＬＳＳに発表し、一方ＬＳＳはこれらの発表をフォーマットまたは他のイベントに変換し、次いで変換された情報を受信するためにサブスクライブした他のデバイスまたはシステムによって消費される。
【００２４】
[0030]  具体的に、図１は、ＬＳＰ１００（２．８章における説明を参照のこと）内部において一コンポーネントとして任意に動作するＬＳＳを示す。ＬＳＳは、任意の数の任意のセンサー（例えば、１２０、１３０）、デバイス（例えば、１４０）、ハードウェアまたはソフトウェア・エージェント（例えば、１５０、１７０）、インフラストラクチャー・イベント１８０、ソフトウェア・イベント１９０、他のＬＳＳ１５０、他のＬＳＰ１１５等からの発表を受信する。
【００２５】
[0031]  応答して、ＬＳＳ１００は、受信した発表を、例えば、デバイス（例えば、１４０）、エージェント（例えば、１５０、１６０）、他のＬＳＳ１０５、他のＬＳＰ１１５等のような種々のサブスクライバーによって使用可能な上位イベントまたはフォーマットに変形する。尚、デバイスおよびエージェントの一部（例えば、「デバイス１」１４０および「エージェント１」１５０）は、パブリッシャーおよびサブスクライバー双方として動作することを注記しておく。更に、エージェント（例えば、「エージェント２」１６０）あるいはＬＳＳに登録されている他のデバイスまたはシステムは、他のエージェント（例えば、エージェントｍ」１７０）あるいは他のデバイスまたはシステムへのサブスクライブによって、受信した情報を再発表することができる。
【００２６】
[0032]  更に、種々のデバイス、エージェント、システム等は、情報を直接エージェント、デバイス、または他のシステムに伝達する。図１に示す例は、「デバイスｎ」によってＬＳＳ１００に伝達された情報を発表するための仲介物として動作する「エージェントｍ」１７０を含む。加えて、図１に示すように、種々のセンサー（例えば、センサー１２０および１３０）が情報を他のデバイス、エージェント等（例えば、「デバイス１」１４０および「エージェント２」１６０）に伝達することもできる。
【００２７】
[0033]  最後に、個々のサブスクライブしたデバイス（例えば、「デバイス１」１４０）、エージェント（例えば、エージェント１５０および１６０）、他のＬＳＳ１０５、他のＬＳＰ１１５等は、これらのデバイス、エージェント等のサブスクライブに応答してＬＳＳ１００から受信した変換入力または上位イベントに応答して、種々のアクションを作動させるまたは開始する。
【００２８】
[0034]   １．１システムの全体像
[0035]  先に注記したように、ＬＳＳは、インテリジェントなイベント・ドリブン行動が比較的単純な関係ある入力ソースまたは無関係な入力ソースの集合体から出現することを可能にする態様で、異なる入力ソースから受信されたメッセージを著作し(author)、変形し、１つ以上のサブスクライバーに利用可能にする種々の技法を可能にする種々の技法を提供する。以上で纏めたプロセスを、図２の全体的システム図によって示す。具体的には、図２のシステム図は、本明細書において説明するＬＳＳの種々の実施形態を実現するためのプログラム・モジュール間における関係を示す。更に、図２のシステム図はＬＳＳの種々の実施形態の上位図を示すが、図２は、本文書全体にわたって説明するＬＳＳのあらゆる可能な実施形態の網羅的な図や完全な図を示すことを意図するのではない。
【００２９】
[0036]  加えて、図２において点線によって表されてもよい任意のボックス、および破線またはボックス間の相互接続は、本明細書において説明するＬＳＳの代替実施形態を表すこと、そして以下で説明するこれらの代替実施形態の内任意のものまたは全ては、本文書全体にわたって説明される他の代替実施形態と組み合わせて使用されてもよいことは、認められてしかるべきである。
【００３０】
[0037]  一般に、図２に示すように、ＬＳＳによってイネーブルされるプロセスは、発表受信モジュール２００を使用して、デバイス２０５、センサー２１０、エージェント２１５、ソフトウェア・イベント２２０、インフラストラクチャー・イベント２２５、他のＬＳＳまたはＬＳＰ（２３０）等を含む「入力ソース」の任意の組み合わせから入力および／またはイベントの発表を受信することによって、動作を開始する。加えて、発表受信モジュール２００は、任意に、種々のソースから匿名の発表を受信するためのオープン・チャネルまたは他の入力手段も含む。尚、２．５章において説明するように、匿名ソースからの発表を扱うときには、種々のセキュリティ予防措置を実施するとよいことを注記しておく。
【００３１】
[0038]  デバイス２０５、センサー２１０、エージェント２１５、ソフトウェア・イベント２２０、インフラストラクチャー・イベント２０５、他のＬＳＳまたはＬＳＰ（２３０）等を含む「入力ソース」の登録のために、任意の登録モジュール２３５が使用される。一般に、登録モジュール２３５は、入力ソースの発表の手動および／または自動登録、ならびに変換イベントを受信するためのサブスクライバー・デバイス２６５、サブスクライバーサービス２７０、サブスクライバー・エージェント２７５、サブスクライバーＬＳＳまたはＬＳＰ２８０等を含むサブスクライバーの手動および／または自動登録を実行する。発表受信モジュール２００、登録モジュール２３５、および変換モジュール２４５と組み合わせて、公開、変換、サブスクライブを選択またはカスタム化し、種々の発表またはサブスクライブについてのセキュリティまたはアクセス・レベルを設定し、イベントまたは変換についての信頼度レベルを設定または調節する等のために、任意のユーザー・インターフェース・モジュール２４０が使用される。
【００３２】
[0039]  変換モジュール２４５は、発表を、１つ以上のサブスクライバー（例えば、サブスクライバー・デバイス２６５、サブスクライバーサービス２７０、サブスクライバー・エージェント２７５、サブスクライバーＬＳＳまたはＬＳＰ２８０等）による消費のためにフォーマットされた「出力イベント」２５０または情報に変換するために使用される。更に、種々の実施形態では、信頼度モジュールが、信号信頼度レベルを提供するセンサーまたはイベントからの発表に基づいて、確率に基づく変換に対する閾値または信頼度レベルを設定または調節するために使用される。尚、異なる信頼度レベルを有する複数の発表を組み合わせて、信頼度レベルを有する出力を生成またはトリガーしてもよいことを注記しておく。このようなレベルは、次に、サブスクライバーによって特定のアクションを作動させるまたは開始するか否か決定するときに使用することができる。
【００３３】
[0040]  サブスクライブされた出力イベント２５０または他の情報（例えば、特定の温度読み取り値、ビデオ・フィード、オーディオ・フィード等のような転送された発表）が受信されたときはいつでも、サブスクライブ・サービス・モジュール(subscription servicing module) ２６０は、イベントまたは情報を任意のサブスクライバー（例えば、サブスクライバー・デバイス２６５、サブスクライバーサービス２７０、サブスクライバー・エージェント２７５、サブスクライバーＬＳＳまたはＬＳＰ２８０等）に供給する。これらのイベントを解釈し、アクションを起こし、任意に新たなイベントを再発表するのは、個々のサブスクライバー次第であり、新たなイベントは、他のサブスクライバーによって取り上げられ、処理し、および／または動作し(act upon)、および／または新たな上位イベントとして再発表する等を行うことができる。
【００３４】
[0041]  ２．０  論理センサー・サーバーの動作の詳細
[0042]  以上で説明したプログラム・モジュールは、ＬＳＳの種々の実施形態を実現するために採用される。以上で概要を説明したように、ＬＳＳは、インテリジェントなイベント・ドリブン行動が比較的単純な無関係の入力ソースの集合体から出現することを可能にする態様で、異なる入力ソースから受信されたメッセージを著作し(author)、変形し、１つ以上のサブスクライバーに利用可能にする種々の技法を提供する。以下の章では、ＬＳＳの種々の実施形態の動作について詳細な説明を行い、更に図１および図２に関して１章で説明したプログラム・モジュールを実現するための方法例について詳細な説明を行う。具体的には、以下の章は、ＬＳＳの種々の実施形態の例および動作の詳細を示し、以下を含む。
【００３５】
・ＬＳＳの動作の全体像
・入力ソースおよびサブスクライバー
・サブスクライバーのための入力ソースからの発表の変換
・任意のイベント信頼度レベル
・セキュリティの考慮事項
・データーを共有し増強するためのＬＳＳのアドホック・グループ
・１つ以上のダウンロード可能なアプリを得るＬＳＳ動作(performance)の拡張
・論理センサー・プラットフォーム（ＬＳＰ）内におけるコンポーネントとしてのＬＳＳの実現
[0043]  ２．１  動作の全体像
[0044]  物理センサーの生の測定値からイベント・ドリブン行動を導く解決手段を開発することは、通例、これらの生の測定値を最初に処理し、フィルタリングして最適なアクションを決定することを意味する。このような処理は、大抵の場合、アプリケーションに特定であり、カスタム・アルゴリズム（所定の１組のセンサーによる作業に限定される）は、一般に、他の(otherwise)無関係なアプリケーション間では共有されない。
【００３６】
[0045]  例えば、典型的な家庭用サーモスタットは、温度を調べ、種々のユーザーの好みおよび内部カレンダー／時計設定値を考慮に入れて、気候制御システムをオンまたはオフに切り替える。しかしながら、温度センサーおよび内部カレンダー／時計設定値のみに頼ると、気候制御システムがオフのままになっていること、または何らかの代替設定値に留まることを確保するのに有用であるかもしれない関連情報の代替ソースが利用されない。例えば、家庭用セキュリティ・システムのような無関係なシステムが、誰かが自宅にいるか否か「知っている」かもしれない。この情報は、サーモスタットまたは気候制御システムに提供されれば、人が自宅にいる時間まで気候制御システムの使用を制限することによって、より多くのエネルギを節約することができる潜在的可能性がある。
【００３７】
[0046]  有利なこととして、ＬＳＳは、サーモスタット、気候制御システム、および／または家庭用セキュリティ・システムがそれらの読み取り値、およびこれらの読み取り値に基づく任意の他の「アクション可能なイベント」（たとえば、サーモスタットの「寒すぎ」または「暑すぎ」、セキュリティ・システムの「宅内無人」）をＬＳＳに発表することを可能にすることによって、このような問題に取り組む。サーモスタット、気候制御システム、および／または自宅用セキュリティ・システム、あるいは他のシステムは、次いで、ＬＳＳからのもっと高次のイベントに登録することができ、これらが受信する任意のイベントに基づいてアクションを実行することができる（例えば、気候制御システムは、サブスクライブに応答して、「宅内無人」タイプ・イベントが受信されている場合、サーモスタットへの応答を無効にする）。興味深いのは、更に変換されたイベントを引き起こす(spawn)またはトリガーするために、任意の特定の変換イベント（即ち、出力イベント）を使用できることであり、これによってＬＳＳは複雑な制御挙動を可能にするために、イベントをサブスクライバーに提示することができる。
【００３８】
[0047]  更に、人間の存在または温度を検出する新たな能力を有する新たなデバイスが、ＬＳＳに対するパブリッシャーのリストに追加されるとき、サーモスタットや気候制御システムに対する変更は不要である。例えば、ネット接続ＴＶ上のＴＶリモコンをユーザーが走査すると、ＴＶが実際に使用されていたことの指示が、ＴＶによってＬＳＳに発表される。応答して、ＬＳＳは、この使用指示を、「人在宅」のようなイベントに変形し、次いでこのイベントが、このタイプのイベントに関心がある任意のサブスクライバー（例えば、サーモスタット、気候制御システム、セキュリティ・システム等）に供給される。尚、「人在宅」は、この特定のイベントにサブスクライブする任意の異なるサブスクライバー毎に、異なるフォーマットにしてもよいことを注記しておく。
【００３９】
[0048]  有利なこととして、このような処理能力は、ＬＳＳが単純な技術を「スマート」にすることを可能にし、これによって効果的な人間−技術対話処理体験が可能になる。一般に、ＬＳＳは、他のシステムによる使用のために複雑なイベント決定を行うときに既存のインフラストラクチャーを使用して補助することを可能にする。例えば、コーヒー・マシンのボタン、陸線電話の使用、エレベーター・ボタン等を評価することによって誰かが建物のフロアーにいるか否か判断する。しかしながら、これらのソース全てを照明制御システムのような何かに配線することを必要とする解決手段は、法外なコストがかかるであろう。代わりに、ＬＳＳは、これらのデバイスが発表し中央当局(centralized authority)に登録することを可能にするメカニズムを提供する。中央当局は、情報を受信し、変換または変形し、他では無関係なデバイス、システム、エージェント等の間で情報を共有し、新たな物理的または論理的（即ち、ソフトウェア・ベースの）センサー、デバイス等が、ＬＳＳに結合された他のセンサー、デバイス等を全く変更することなく、システムに追加される。
【００４０】
[0049]  更に、複雑さを低減するために、種々の実施形態では、ＬＳＳ自体はイベントを解釈するときに何の役割も果たさず、代わりに１つのタイプのイベント（またはセンサー読み取り値）を収集し、単に静止的なセマンティック・ルールに基づいて、他のタイプに変形するだけとする。例えば、「エレベーター・ボタン押下」イベントまたは発表は、ＬＳＳによって、「ロビー人検出」、「Ｘ階人検出」、「建物内人有」等のようなイベントに変形され、これらのイベントの内任意のものにサブスクライブする全てのアプリケーション、デバイス、制御システム等に送ることができる。次いで、これらのイベントを解釈する、アクションを起こす、そして任意に新たなイベントを再発表するのは、個々のサブスクライバー次第である。新たなイベントは、他のサブスクライバーによって取り上げられ、処理され、アクションが行われ、および／または新たな上位イベントとして再発表される等が可能である。
【００４１】
例えば、次のシーケンス例について考える。
１．温度計センサーが温度データーをＬＳＳに発表する。
２．温度変化速度ソフトウェア・エージェントが、ＬＳＳから温度データーを受信するためにサブスクライブされ、温度が低下または上昇する速度をＬＳＳに発表する（無関係なセンサーからの発表へのサブスクライブの受領に応答した、エージェントによる発表の例であることに留意すること）、
３．温度データー、および温度が低下または上昇する速度の双方をＬＳＳから受信するために、家庭用サーモスタットをサブスクライブし、温度の絶対値だけでなく、その変化速度にも依存して、ＨＶＡＣユニットを制御する。
【００４２】
[0050]  種々の実施形態では、ＬＳＳは、以下の能力の任意の組み合わせを可能にするロジックも含む。
・重複／周回イベント変形検出および除去。
【００４３】
・トラブルシューティングおよび他の目的のための合成（自動または主導）イベント生成。
・セキュリティ面（例えば、サブスクライバーのアクセス・レベル）に基づいて、イベント・データーを変更する（例えば、あるサブスクライバーには低解像度画像、他のサブスクライバーには高解像度画像というように、信号の品質を変化させる）。
【００４４】
・センサーからの発表または信号信頼度レベルを提供するイベントに基づいて確率に基づく変換を定めるためのシンタックスおよびロジック。
・新たなセンサーをＬＳＳに登録し、変形を定めることは、許可されたエージェント（例えば、ユーザー・インターフェース、制御パネル・アプリケーション等）によって行うことができる。
【００４５】
・センサーおよびアプリケーションは、それら自体のイベント・タイプを定めることができ、これらの新たなイベント・タイプを、消費者（即ち、サブスクライバー）を有するイベントに変形するようにＬＳＳ規則を設定することができる。
【００４６】
[0051]  ２．２  入力ソースおよびサブスクライバー
[0052]  先に注記したように、説明の目的に限って、以下の説明における「入力ソース」という用語は、物理的現象および量を検出または測定し、これらを便利な電気信号、無線周波数信号、オーディオ信号、または光信号に変形し、次いで入力またはイベントとしてＬＳＳに発表するデバイスとして、特定的に定められる。入力ソースの例には、多種多様なデバイス、センサー、音声入力メカニズム、ジェスチャーまたはタッチに基づく入力メカニズム、ソフトウェア・エージェント、インフラストラクチャー・イベント等が含まれるが、これらに限定されるのではない。
【００４７】
[0053]  デバイスの例には、コーヒー・メーカー、換気扇、電話機、テレビジョン、リモコン、アプライアンス等が含まれるが、これらに限定されるのではない。センサーの例には、動きセンサー、温度センサー、カメラ、マイクロフォン、消費者用デバイスに埋め込まれたセンサー等が含まれるが、これらに限定されるのではない。ソフトウェア・イベントの例には、タブレット、ネットブック、ノートブック、デスクトップのような計算デバイス、メディア・プレーヤー、セル・フォン、他の形態のコンピューター上におけるユーザーの活動(activity)、スクリーンセーバーのオンまたはオフ、電力節約モードの開始または終了、電子メール受信等のような、このようなデバイスにおける自動アクションまたは通知が含まれるが、これらに限定されるのではない。インフラストラクチャー・イベントの例には、アプライアンスの使用、エレベーター・ボタンの押下、照明スイッチの切り替え(flipping)、温度制御装置の調節等が含まれるが、これらに限定されるのではない。
【００４８】
[0054]  更に、先に注記したように、以下の説明における「サブスクライバー」という用語は、１つ以上の入力ソースの発表から変換または変形された、ＬＳＳからの上位イベントを受信する、多種多様のデバイス、センサー、ソフトウェア・エージェント、他のＬＳＳ等を指すときに総合的に使用される。加えて、パブリッシャーは、ＬＳＳによって受信された入力に応答して、他のパブリッシャーから生成された情報に対するサブスクライバーであることもできる。更に、サブスクライバーは、他のパブリッシャー（または他のサブスクライバー）からの発表に応答してＬＳＳから受信したイベントまたは情報に応答して、イベントを再発表する、または新たなイベントを発表することもできる。
【００４９】
[0055]  一般に、入力ソースは、変換または変形および１つ以上のサブスクライバーへの配信のために、これらの入力ソースによって生成された１つ以上の発表をＬＳＳに供給する。ＬＳＳは、種々の従来技術の内任意のものを使用して、種々の入力ソースからの発表を受信する。このような技法には、イーサネット（登録商標）、ＵＳＢ、Fire Wire（商標）、Thunderbolt（商標）、IEEE 802.x、ＲＦＩＤ等のような種々の有線またはワイヤレス・インターフェースを介して、データー・メッセージまたは信号によって受信された発表が含まれるが、これらに限定されるのではない。更に、通信能力がない既存のデバイスを、ＬＳＳによる使用のために、簡単な発表能力を設けるように改造することもできる。例えば、有線またはワイヤレス・ネットワーキング能力を有する従来の電流計を、ランプ、コーヒー・メーカー、サイクル・マシン(exercise bike)等のようなデバイスの電源コードに沿って(in line with)差し込み、デバイスの電力使用に基づいて、デバイスが使用中であるときの指示を発表することができる。
【００５０】
[0056]  使用する通信プロトコルには関係なく、また特定の入力ソースに通信能力が増強されているか否かにも関係なく、全体的な理念は、入力ソースが単にその現在の状態（例えば、オンまたはオフ、温度の読み取り値等）のような情報、および／またはイベント、あるいは入力ソースによって生成された他の情報を報告することである。任意の入力ソースによって生成されたイベントまたは他の情報のタイプは、明らかに、その入力ソースが何であるか、そしてこの入力ソースがどのような通信能力を有することができるかに依存する。例には、アプライアンスの電源ボタン押下、動きセンサーによって検出された動き、ビデオ・カメラからの画像ストリーム等が含まれるが、これらに限定されるのではない。
【００５１】
[0057]  ２．２．１  論理センサー
[0058]  通常センサーとは考えられない種々のデバイスも、ＬＳＳへの発表のための貴重なデーター・ソースとして動作することができる（例えば、コーヒー・メーカーの作動開始、またはエレベーター・ボタンの押下が、人感センサーとして動作する）。このようなデバイスからアクション可能なイベントを導くことは、これらのデバイスを既存の意思決定エージェントへの物理的および論理的配線に伴うコストのため、通常では行われない。しかしながら、ＬＳＳの多くの利点の１つは、入力ソース、およびこの入力ソースからの入力または発表が何を表すのか単に周知させることによって（例えば、エレベーター・ボタンの押下は、人がそのエレベーター・ボタンに隣接することを示す）、その入力ソースがＬＳＳに発表することを可能にすることである。
【００５２】
[0059]  更に、他の目的に通常使用されるセンサーを内蔵するデバイスを、ダウンロード可能なアプリ等を介して、ＬＳＳによる使用のために論理センサーとして機能させることができる。例えば、多くの最新型セル・フォンは、加速度計、マイクロフォン、カメラ、ＧＰＳ等のようなセンサーを内蔵し、このようなセンサーからの読み取り値を、Wi-Fiまたは他のワイヤレス・ネットワーキング能力によって伝達することができる。このような目的に設計された単純なアプリを使用して、セル・フォンにおける既存のセンサーの内任意のものをオンにして、データー（例えば、オーディオ、ビデオ、動き、位置等）を収集するために使用することができ、次いで、セル・フォンに統合された種々の通信能力を使用して、このデーターは任意の１つ以上のＬＳＳに発表される。
【００５３】
[0060]  物理センサーの設置は、何らかの制御パネル、または何かを介してネットワークに登録することを伴う。何かとは、そのセンサーと一緒に動作して、その調査読み取り値をＬＳＰが吸収できる何かに変換する、その物理的進歩(stature)のために本質的に論理センサーとなるように設計された新たなアプリの全てのエピソードである。
【００５４】
[0061]  同様に、ソフトウェア・ベースのセンサーは、ＬＳＳに発表することができるソフトウェア・ベースのイベントを表す。例えば、種々のオペレーティング・システムは、活動ベースのインディケーター（例えば、スクリーンセーバー、ある期間使用しないときの自動節電等）と共に設計される。オペレーティング・システムの下で実行しこのようなイベントの開始を取り込み転送するアプリは、ソフトウェア・ベースのセンサーを形成し、これらはＬＳＳによって任意の他の入力ソースとして使用することができる。ソフトウェア・ベースのセンサーを形成するアプリの他の例には、計算デバイスに関連するマイクロフォン、カメラ、または他の入力手段をアクティブにして監視し、人が存在するか否か、その人々が何をしているのか、またはアクティブにした特定のセンサーに依存する他の情報を判定するアプリが含まれる。この場合も、これらのアプリは、任意の他の入力ソースと同様、データーを取り込み、ＬＳＳによる使用のために処理し、または転送することができる。
【００５５】
[0062]  更に、純粋にソフトウェアで生成されるイベントもＬＳＳに発表することができる。このような処理能力は、追加のインフラストラクチャーまたは照明制御システムの変更を全く行わずに、ＬＳＳ接続コンピューターを介して、ユーザーが登録された照明制御システムを制御することを可能にするというように、種々のシナリオを可能にする。
【００５６】
[0063]  加えて、種々の実施形態では、ＬＳＳは、既存のセンサーまたは入力デバイスの出力または発表を処理して、新たな論理センサーの形成、および／または種々のセンサーまたは入力ソースの出力または発表には通常関連しない新たな論理センサーの作成、および／またはアクションの開始を可能にするメカニズムも提供する。例えば、ユーザーの自宅に動きセンサーがある、または既存の動きセンサーが何らかの理由で（例えば、そのセンサーのバッテリーが切れた）オフラインになっていると仮定する。応答して、ＬＳＳは、種々の入力ソースからの広範囲の発表の内１つ以上に基づいて、論理動きセンサーを合成することができる。例えば、ＴＶリモコンの使用を示す発表、または水量計によって流速から推論した手洗いの水洗を示す発表であっても、これらのいずれかまたは双方を、「人在宅」型出力イベントに変形することができ、次いでこの出力イベントを１つ以上のサブスクライバーに供給する。
【００５７】
[0064]  更に、機械学習のコンテキストでは、これは、ＬＳＳが、観察された相関関係に基づいて、自動的に新たな論理センサーを合成し登録することを可能にする。例えば、手洗いの水洗が常に物理動き検出デバイスのトリガリング(triggering)に続くが、この動きセンサーが突然報告またはトリガリングを停止した場合でも、ＬＳＳは動きイベントをなおもトリガーすることができる（手洗いの水洗のみに基づいてトリガーする、パブリッシャーとして自動的に登録された、論理動きセンサーの自動形成によって）。有利なこととして、これは、ＬＳＳが他の物理現象を「検知」することも可能にする。即ち、実際の動き検出デバイスが誤動作しているかもしれない。この「検知された」物理現象は、次いで、更に他のアクションのため（例えば、動きセンサーのバッテリーを交換することの警告等）ユーザーまたは他のサービスに報告することができる。
【００５８】
[0065]  ２．２．２  エージェント
[0066]  一般に、ＬＳＳに登録されたソフトウェア・エージェントは、「ＴＶオン切り替え」イベントのような、ＬＳＳから受信した情報に応答して、種々の作動（例えば、照明を消す、およびブラインドを下げる）を実行または開始する。その結果、典型的なセンサー結合とは対照的に、ＬＳＳは、ソフトウェア・エージェントをデーター・センサーに結合することを可能にする。データー・センサーは、任意の特定のソフトウェア・エージェントを物理的に特定のセンサーと結合する必要がないという意味で、論理的である。言い換えると、センサー（または他の入力ソース）に物理的に結合されるのではなく、エージェントは、代わりに、ＬＳＳへの登録によって、１つ以上の特定のタイプのイベントに結合される。
【００５９】
[0067]  更に、ＬＳＳは、任意の数の入力ソースが情報を発表することを可能にし、その結果、イベントの内任意のものにエージェントがサブスクライブされる。これらの入力ソースには、物理センサー、ＬＳＳへの発表の前に任意に読み取り値を処理する（例えば、生データーのノイズ濾波）中間ソフトウェア・コンポーネント、温度のような情報を発表するために実世界と全く対話処理しない完全に論理的なセンサー等が含まれる。
【００６０】
[0068]  その結果、ＬＳＳに登録されたカスタム化可能なソフトウェア・エージェントを使用することによって、これらのエージェントが、他の無関係なセンサー、デバイス等からの入力または発表に応答してＬＳＳによって生成またはトリガーされたイベントに応答して、多種多様なタスクまたはアクションを実行または開始することを可能にする。これによって、ユーザーは特定のタイプのイベントに応答して特定のタスクを実行または開始するように設計され、他の場合には範囲やこれらが行うことが制限されるエージェントを追加またはカスタム化することが可能になる。有利なこととして、種々の実施形態では、管理者、または、例えば、ＬＳＳ関係サービスまたはサポートを提供する会社のような第三者によって、ＬＳＳを離れて更新することもできる。
【００６１】
[0069]  例えば、種々の実施形態では、ソフトウェア・エージェントは、ＬＳＳによって提供される特定のユーザー定義可能なイベントの受信を待ち、次いで、例えば、単純なネットワーク・ベースの電子スイッチまたはリレーのようなデバイスを制御するためにアナログまたはディジタル信号（例えば、論理「０」または「１」）を送るように設計することができる。有利なこととして、これによって、単純なネットワーク・ベースの電子スイッチまたはリレーと組み合わせたエージェントの使用が、他の電子デバイスをオンまたはオフに切り替えることが可能になり（これらの電子デバイスへの電力を巡回させることによって）、これらの電子デバイスが他の場合にはネットワークやＬＳＳに直接接続することができない場合であっても、これが可能になる。
【００６２】
[0070]  ２．３  発表の変換
[0071]  先に注記したように、ＬＳＳは種々の入力ソースから発表を受信し、これらの発表を変換または変形して、１つ以上のサブスクライバーによって使用可能な信号またはイベントにする。例えば、ネットワーク接続ＴＶに関連し、および／または別のネットワーク接続受信機（例えば、ネットワーク・ベースのＩＲ受信機）によって監視されるＩＲベースＴＶリモコンについて考える。この例では、ＬＳＳは、リモコンのオン・ボタンが押されたことを示す発表を受信し、この発表を１つ以上のイベント（例えば、「居間に誰か存在」タイプ・イベント）に変換する。したがって、これは、ＴＶリモコンのボタンを押すだけで、ＬＳＳに、１組の１つ以上の予め定められた変換を発火させる。予め定められた変換には、カスタム・コード化されたＨＴＭＬまたはＸＭＬスクリプトに基づく変換またはイベントを含むことができる。
【００６３】
[0072]  有利なこととして、以上の例におけるＴＶリモコンは、追加の回路も、インテリジェンスも、処理能力も必要としない。ネットワーク接続ＴＶまたはＩＲ受信機は、単に、ボタンが押されたという事実をＬＳＳに発表するだけであり、ＬＳＳは、単に、１つ以上の組の予め定められたまたはユーザー・カスタム化可能な変換規則に基づいて、このボタン押下を、任意の他のサブスクライバーによる使用のために、１つ以上のイベントに変形するだけである。
【００６４】
[0073]  例えば、ＴＶがオンに切り替えられたときに照明を暗くする照明システムは、これが間接的にＴＶリモコンに応答していることを知らない。代わりに、ＬＳＳは、ＴＶリモコンのオン・ボタンが押されたとき、このボタン押下が「部屋内誰か存在」タイプ・イベント、および「ＴＶオン切り替え」タイプ・イベントに変形される。この場合、新たな「照明暗化」タイプ・イベントをトリガーするため、または照明エージェントが、人がテレビジョンを視聴できるように照明を暗くするというような、何らかのアクションを行う結果になるために、「室内誰か存在」イベントおよび「ＴＶオン切り替え」イベントのいずれかまたは双方に照明システムをサブスクライブすることができる。言い換えると、ＬＳＳは、「室内誰か存在」および「ＴＶオン切り替え」から、ＬＳＳにサブスクライブされた照明システムによって消費される「照明暗化」イベントへのソフト変換を可能にする。    
【００６５】
[0074]  言い換えると、例えば、ＴＶリモコンのようなデバイスを仮定すると、ＬＳＳがこのデバイスから直接または１つ以上の仲介物を介して、発表を理解しそして受け入れるように、このデバイスはＬＳＳに登録されるか、またはそれ以外で関連付けられる。ＬＳＳの種々の実施形態では、ユーザーには制御パネル等が提示され、ユーザーが、カスタム変換スクリプト等を書くことによって、リスト、ウィザードを介して特定の発表に対する変換を選択してまたは定めて、これらの発表を種々のサブスクライバーによるアクションと関連付けることが可能になる。単純な例は、任意のＬＳＳユーザー・インターフェースを使用して、ＴＶリモコン・ボタンの押下を、照明を暗くするというような他の何らかのアクションと関連付けることである。発表されたボタンの押下を、サブスクライブされた照明制御システムによって使用可能なフォーマットに変換して、リモコン・ボタンが押されたときに、このシステムに照明を暗くさせる。
【００６６】
[0075]  図３は、ＬＳＳユーザー・インターフェースを実現するための制御パネル、ウィザード、またはアプリケーションの簡単な例を示す。先に注記したように、ＬＳＳは、発表のための入力ソースの登録（図３には示されない）、およびＬＳＳで使用するためのサブスクライバーの登録（図３には示されない）を可能にする。つまり、入力ソースおよびサブスクライバーの登録を仮定すると、図３は、登録されている入力ソースの発表のユーザー選択（３１０）、および選択した発表を１つ以上の変換出力イベントと関連付ける（３２０）ことを示す。
【００６７】
[0076]  また、図３は、特定のサブスクライバーのユーザー選択（３３０）、および選択されたサブスクライバーに対する１つ以上の出力イベントの割り当て（３４０）も示す。したがって、任意の入力ソースの発表に応答してＬＳＳによって出力イベントがトリガーされたときはいつでも、ＬＳＳはその出力イベントを発火するか、またはその出力イベントが割り当てられた全てのサブスクライバーにその出力イベントを送る。また、このユーザー・インターフェース例は、特定の出力イベントの受信に応答してサブスクライバーによって実行される作動、またそうでなければ開始される作動のカスタム化（３５０）または選択も示す。
【００６８】
[0077]  最後に、図３のユーザー・インターフェースは、選択されたサブスクライバーによって実行される作動、またそうでなければ開始される作動を制御するために、ユーザーが出力イベントの１つ以上に関連する信頼度閾値を設定する（３６０）または調節することも可能にする。例えば、カメラからのビデオ・フィードがソフトウェア・エージェントによって評価され、次いでこのソフトウェア・エージェントが「ジョン・スミス」の顔表現結果を、信頼度レベルを７０％として、ＬＳＳに発表すると仮定する。次に、ＬＳＳは、「ジョン・スミスは部屋にいる」タイプのイベントのような出力イベントを、この７０％信頼度レベルと共に(along with)トリガーすることができる。すると、部屋に誰がいるかに依存して異なる音楽を再生する音楽プレーヤーがサブスクライブされた場合、少なくとも７０％の信頼度レベルで人が識別されたときはいつでも、その人の大好きな曲(song)の再生を開始する。
【００６９】
[0078]  図３をもっと近くから見ると、図３は、「ＴＶリモコン・ボタン」発表の選択（３１０）、ならびに「部屋内人在り」出力イベントおよび「ＴＶオン切り替え」出力イベントの双方が関連付けられ（３２０）、次いでＴＶリモコン上でボタンが押されたことに応答して、ＬＳＳによってトリガーされることを示す。これらの出力イベントを仮定すると、ユーザーは次に、図３に示したような、「照明制御」サブスクライバーのような１つ以上のサブスクライバーを選択することができる（３３０）。
【００７０】
[0079]  次に、「照明制御」サブスクライバーの選択を仮定すると、ユーザーは次に入手可能な出力イベントの内１つ以上をこのサブスクライバーに割り当てる（例えば、「室内人存在」、「ＴＶオン切り替え」、および「宅内無人」）（３４０）。これによって、この場合、任意の入力ソースからの任意の発表に応答して、これらのイベントの内任意のものがＬＳＳによって生成またはトリガーされたときはいつでも、「照明制御」サブスクライバーは、割り当てられた出力イベントを受信する。
【００７１】
[0080]  更に、照明制御システムのようなサブスクライバーは通例種々の作動（例えば、この例では、「照明入」、「照明切」、または「照明暗化」）が可能であると仮定すると、ユーザーは、次に、これらの利用可能な作動から任意のものを選択し、「照明制御」に関連する出力イベントの内どれが特定の作動をトリガーするか選択することができる。例えば、図３に示すように、「照明制御」サブスクライバーは、「部屋内人在り」出力イベントおよび「ＴＶオン切り替え」出力イベント双方の受信に応答して、「照明暗化」作動を開始する。
【００７２】
[0081]  これまでの例に関して、ＬＳＳの種々の実施形態は、ユーザーが１つ以上の利用可能な出力イベントを種々のサブスクライバーまたはアクチュエーター（例えば、照明制御システム、自動陰影、音響システム等）、利用可能なアクチュエーターの特定のカテゴリー、特定の部屋、建物、エリアにおいて利用可能なアクチュエーター等に割り当てるまたは関連付けることを可能にする選択肢を含むことは明らかなはずである。したがって、ユーザーは、任意の特定の発表に応答して、彼らが望む任意の特定のアクチュエーターを単に選択するだけで済ますことができる。
【００７３】
[0082]  ２．３．１  スクリプト・ベースの変換フォーマットの例
[0083]  以上で説明したように、ＬＳＳは、出力イベントを作るために発表を変形または変換し、これらのイベントを種々のサブスクライバーに伝える。種々の実施形態において、ＬＳＳは、出力イベントの変形およびサブスクライバーへの伝搬を決定するための構成情報を含む、スクリプト・ベースのシナリオ（例えば、ＨＴＭＬ、ＸＭＬ等）を使用して、これらの変形または変換を実行する。
【００７４】
[0084]  例えば、ＬＳＳは、「動き検出」発表を動き検出センサーから受信したとき、「フロアー上人検出」出力イベントおよび「建物内人検出」出力イベントを発火するように構成することもできる。フロアーおよび建物照明制御システムのようなサブスクライバーは、「フロアー上人検出」および「建物内人検出」イベントのいずれかまたは双方に登録されてもよい。その結果、「動き検出」イベントが発火されるときはいつでも、これらのシステムには、ＬＳＳによって、「フロアー上人検出」および「建物内人検出」イベントが通知される。
【００７５】
[0085]  以上で説明した構成を表現する一例を、表１に提示するスクリプトによって、以下に示す。しかしながら、発表を変形しサブスクライバーに対して出力イベントを発火するためのスクリプト作成(scripting)は、以下で例示するスクリプト・フォーマットに限定されることを意図するのではないこと、そして以下に例示するスクリプトは説明および例示の目的に限って示されることは、理解されてしかるべきである。
【００７６】
【表１】
2016503539.tif 000003
【００７７】
[0086]  次いで、表１の例を続けると、新たなセンサーまたはコーヒー・マシンのような他のパブリッシャーがセンサー・レジストリーに追加されると、ＬＳＳはその発表も「動き検出」イベントに変形するように構成することができる。すると、この新たな「動き検出」イベントは他のイベントを引き起こし、これらのイベントのサブスクライバーへの発火を引き起こす。これは、先に説明したフロアーおよび建物照明システムに対して、動き検出センサーの検出（即ち、"<SensorID="123">"）と同じ効果を有する。この新たな変形は、表１のスクリプトを変更し、表２によって示されるスクリプトを生成することによって、表現することができる。
【００７８】
【表２−１】
2016503539.tif 000004
【００７９】
【表２−２】
2016503539.tif 000005
【００８０】
[0087]  表２において、コーヒーおよびラッテ・マシンによって発表された「コーヒー注文」イベントが直接それよりも高次の「フロアー上人検出」イベントや「建物内人検出」イベントに変形しないことに注意されたい。代わりに、この変形は２つのパスを取り、「コーヒー注文」イベントが最初に「動き検出」イベントに変形され、次いでこれが「フロアー上人検出」および「建物内人検出」イベントの双方に変形される。有利なこととして、このタイプのマルチパス変形は、重複を回避し、変換セマンティック・ツリーのサイズを小さく抑える。
【００８１】
[0088]  以上で示したスクリプト例は、比較的短く単純な変形の例を示す。しかしながら、マルチパス変換を可能にすることの他の利点は、このような処理能力が、自由裁量による複雑な(arbitrarily complex)変換ネットワークの構築を可能にすることであり、アプリケーションまたはサブスクライバーは１つの抽象レベルにおいてイベントを受信し、これらの受信したイベントに応答してアクションを行い、次いで元のイベントに応答して行われたアクションに応答して、他の抽象レベルで新たなイベントを発表する。このような変換チェーンは、ここでは「ｔ−チェーン」と呼ばれ、自由裁量による高いレベルのイベント抽象化を容易にし、このイベント抽象化の結果、人間並みのレベルのコンテキスト認識が得られ、「ソファ上で人が眠っている」というような出力イベントが得られる。次いで、この出力イベントに感応する該当のエージェントまたはサブスクライブしたシステムは、例えば、ＴＶの音量を下げる、部屋の照明を消す、室温を調節する、着信電話コールをボイスメールに送る等のような作動をトリガーすることができる。
【００８２】
[0089]  有利なこととして、このタイプのより高いレベルのコンテキスト認識は、任意の所与のレベルにおいて複雑さを高めた結果ではなく、ＬＳＳによって提供されるシステム全体の創発挙動(emergent behavior)であり、各エージェントは特殊化され、単純であり、離れたレベルでエージェントから垂直に隔離される。その結果、より多くのエージェントが発表およびサブスクライブのために登録するに連れて、ＬＳＳは、より多くの接続およびノードを追加して、サイズが著しく増大することができるが、論理的に単純でビジネス・ロジック不要(business logic-free)のままでいられる。
【００８３】
[0090]  以上で説明したプロセスに対する更なる改善は、選択的（プロパティに基づく）変形およびイベントの伝搬に対する規則を作るために、信頼度レベルまたは閾値を指定することを可能にする変換シンタックスまたはフォーマットを使用することによって可能になる。例えば、信頼度レベルまたは閾値を使用して、信頼度レベルがある閾値以上である場合にのみ、動き検出センサーからの「動き検出」イベントを「フロアー上人検出イベント」に変形する。イベント信頼度レベルに関する更なる説明については、章２．４を参照のこと。
【００８４】
[0091]  ２．３．２  自動変換のシナリオ
[0092]  以上で説明したＬＳＳのユーザー中心的実施形態に加えて、種々の実施形態では、ＬＳＳは標準的なまたは予め定められた応答を特定の入力に対して供給する。例えば、ユーザーがテレビジョンをオンに切り替えるとき、「ムービー視聴モード」を開始するといような、他のイベントが望まれる可能性がある。これは、自動的に照明を消し、窓の日よけを閉じる。
【００８５】
[0093]  更に具体的には、種々の実施形態において、特定のユーザー・アクションに応答するための予め定められたシナリオまたはスクリプトを自動的にＬＳＳに供給することができる（例えば、ＬＳＳが提供されるローカル・スクリプト・ライブラリー、ダウンロード可能なアプリ、スクリプト等）。これらの予め定められたシナリオまたはスクリプトは、ＬＳＳに、特定のタイプの発表を変換し、対応する出力イベントを特定のタイプのサブスクライバーに供給し、これらのサブスクライバーが特定のアクションを開始できるようにするための命令または規則を供給する。
【００８６】
[0094]  有利なこととして、このような予め定められたスクリプトまたはシナリオは、ユーザーが特定のハードウェアまたはソフトウェアを有していないとき、このようなハードウェアまたはソフトウェアをユーザーに提案することも可能にする。例えば、ＬＳＳが、窓の日よけを閉じるための制御システム（ハードウェアおよび／またはソフトウェア）を自動的にサブスクライブし、更に発表に応答して照明を暗くするための照明制御システムにも登録し、対応する出力イベントが、テレビジョンをオンに切り替えたことに応答して、生成またはトリガーされると仮定する。ユーザーが照明を暗くするための制御システムを有するが、窓の日よけを閉じるための制御システムを有していない場合、ＬＳＳは、ユーザーに、窓の日よけを閉じるために制御システムに指令するおよび／または制御システムを構成するソースをユーザーに示唆することができる。種々の実施形態において、これは、ユーザーの現在の構成の特定のアクションおよび発表に対して、ＬＳＳの使用に関してユーザー体験を改良するために、ＬＳＳが、ハードウェアおよび／またはソフトウェア制御システム、アクチュエーター、設置サービス等についての広告をユーザーにプッシュすることも可能にする。
【００８７】
[0095]  ２．３．３．  自動学習ベースのシナリオ
[0096]  一般に、ユーザーの行動を経時的に評価してユーザーの行動またはパターンを明瞭するための自動学習技法が、当業者には知られており、ここでは説明しない。有利なこととして、ＬＳＳの種々の実施形態は、更に、経時的にユーザーの行動を評価するコンピューター学習技法を、１つ以上の発表および対応する出力イベントに対して、種々のサブスクライバーまたはアクチュエーターの構成を自動的に提供するように構成する(adapt)。
【００８８】
[0097]  例えば、ユーザーがムービーの再生を開始し、続いて内部照明(local lights)を暗くし、室内の(local)窓の日よけを閉じることを繰り返す場合、ＬＳＳは従来の学習技法を使用して、これらのアクションを経時的に学習することができる。すると、有利なこととして、ＬＳＳはこれらのアクションを任意の順序で自動化することができる。例えば、ユーザーが、最初に日よけを閉じず、照明を暗くせずにムービーの再生を開始した場合、ＬＳＳは、日よけおよび照明に関連するエージェントまたは制御システムに対して出力イベントをトリガーして、ユーザーによる更なるアクションを必要とせずに、閉鎖および照明の暗化を行わせることができる。
【００８９】
[0098]  言い換えると、ＬＳＳの種々の実施形態は、コンピューター学習技法を使用して、種々の発表を１つ以上の変換された出力イベントに自動的に関連付ける、または割り当てる。これらの変換された出力イベントは、次に、直接的なユーザー入力を必要とせずに、種々のシステム制御シナリオを自動化するために、種々のサブスクライバーに自動的に渡される。尚、種々の実施形態において、ユーザーには、任意の自動化された行動、登録、発表の変換等を調節またはカスタム化するためにユーザー・インターフェースが設けられることを注記しておく。
【００９０】
[0099]  更に具体的には、種々の実施形態において、ＬＳＳはユーザーの行動から自動的に学習して、特定の発表に割り当てる変換出力イベントを決定し、これらの出力イベントは、自動的に種々のタイプのサブスクライバーに対して発火される。例えば、ユーザーがテレビジョンをオンに切り替えるとき、例えば、照明を消すまたは暗くする、および窓の日よけを閉じるというような、他のイベントがユーザーによって手動で開始されることもあり得る。照明制御システムおよび窓日よけ制御が、ユーザー・アクションを示す発表をＬＳＳに供給すると仮定すると、ＬＳＳはこれらのアクションを観察および記録し、ＴＶのリモコン上でオン・ボタンを押すというような特定のアクションに続いて、ユーザーによって行われたアクションを自動的に繰り返すことができる。
【００９１】
[0100]  有利なこととして、ＬＳＳは特定のユーザー行動から、または大きなユーザー集合の行動から学習することができる（例えば、ユーザーが、ユーザー行動ならびにパブリッシャーおよびサブスクライバーの構成のＬＳＳに対する匿名報告を許す任意の実施形態において）。これによって、多種多様なシナリオまたはプログラムをユーザーのＬＳＳにプッシュするまたそうでなければ提供することができ、次いで、ユーザーの好みに基づいてユーザーのＬＳＳをローカルにカスタム化することができる。更に、ユーザーのＬＳＳに関連するハードウェアおよびソフトウェア（即ち、パブリッシャーおよびサブスクライバー）の一部または全部が、ユーザーのＬＳＳに提供される特定のシナリオまたはプログラムに関係しても、しなくてもよい。しかしながら、先に説明したように、ユーザーは、パブリッシャーおよびサブスクライバーを任意の時点においてＬＳＳに追加すること、除去すること、構成すること等ができる。有利なこととして、先に注記したように、種々の実施形態において、ＬＳＳは、ユーザーの現在の構成の特定のアクションおよび発表に関するＬＳＳの使用に関してユーザー体験を改良するために、ハードウェアおよび／またはソフトウェア制御システム、アクチュエーター、設置サービス等に関係する情報発表または広告をユーザーにプッシュすることができる。
【００９２】
[0101]  ２．４  イベント信頼度レベル
[0102]  先に注記したように、種々の実施形態において、ＬＳＳは、信号信頼度レベルを提供するセンサーまたはイベントからの発表に基づいて、確率に基づく変換のために、閾値または信頼度レベルを任意に設定または調節することができる（例えば、ソフトウェア・エージェントが、７０％の精度信頼性で顔認識を戻す）。尚、異なる信頼度レベルを有する複数の発表を、任意の望まれる方法で組み合わせてまたは集計して、総合信頼度レベルを有する出力を生成またはトリガーできることも注記しておく。次いで、このようなレベルは、特定のアクションを作動させるまたは開始するか否か判断するときに、サブスクライバーによって使用することができる。
【００９３】
[0103]  一般に、ＬＳＳは二進イベントに基づいてイベントを変換する。例えば、ユーザーがガレージ・ドアを開くためにリモコンのボタンを押す場合、「ガレージ・ドア開放」というような二進イベントをＬＳＳによってトリガーすることができる。しかしながら、特定のセンサー（またはセンサーの組み合わせ）またはパブリッシャーが、発表が正しいという対応する確率的な信頼度レベルと組み合わせてこの発表を提供できる場合、ＬＳＳは特定の変換をトリガーするため、または更に別のアクションのために、これらの信頼度レベルをサブスクライバーに渡すためにこの情報を利用することができる。例えば、誰かが寝ているのか、怪我しているのか、または死んでいるのか判定するために動きセンサーを使用する場合、異なるレベルの信頼度が恐らく必要となり、更に他のセンサーの入力も恐らく必要となるであろう（例えば、Kinect（商標）デバイスを使用する骨格追跡、および赤外線温度センサーを使用する遠隔体温測定）。
【００９４】
[0104]  更に、このような動き検出器に関して、換気扇を動かすというような他のアクションが、人が部屋にいないときに動きセンサーをトリガーすることが潜在的に可能である。このような場合、動きセンサーがトリップした(trip)とき、比較的低い信頼度レベルで、「室内人存在」型イベントをトリガーすることができる。対照的に、手動照明スイッチが逆側に動かされた(flip)またはエレベーター・ボタンが押されたというようなインフラストラクチャー・イベントを使用する場合、ほぼ１００％の信頼度で「室内人存在」タイプ・イベントとトリガーするために使用することができる。何故なら、このようなイベントが、人の介在なしで起こることはほぼあり得ないからである。したがって、異なる発表に応答して、異なる信頼度レベルで同じイベントがトリガーされる可能性があることは明らかなはずである。
【００９５】
[0105]  更に、他の発表またはイベントに関連する信頼度レベルに依存して、特定のイベントをトリガーするために、異なる信頼度レベルを使用することもできる。言い換えると、種々の実施形態において、１つ以上のセンサーの発表からの何らかの解釈または分析または入力によって信頼度が判定されるとき、ＬＳＳは、異なるアクションを、これらのアクションに関連する信頼度レベルの０から１００％までのどこででも、開始することを可能にする。有利なこととして、種々の実施形態において、ＬＳＳは経時的にイベントを監視して、特定の発表またはイベントに関連する信頼度レベルを導くためにモデルを構築し、これらのモデルの有効性を判断するために、これらに対して任意に検査することができる。
【００９６】
[0106]   ２．５  セキュリティについての検討
[0107]  種々の実施形態において、任意に、ＬＳＳは、発表、登録、およびイベントの組み合わせを許可済みの当事者(authorized parties)（許可済みまたは検証済みのユーザー、許可済みまたは検証済みのパブリッシャー、および許可済みまたは検証済みのサブスクライバーを含む）のみに制限することによって、センサーによって収集されたデーター、およびＬＳＳに発表されたイベントのセキュリティおよびプライバシーを確保する。信頼できるデバイス、ユーザー、サブスクライバー等だけがＬＳＳに接続されることを保証する既存のセキュリティ・プロトコルが使用される。更に、信頼できないパブリッシャーまたはサブスクライバーには、特定のイベントまたは発表に対して限定されたアクセスが許可されてもよい。言い換えると、種々の実施形態において、ＬＳＳは種々のセキュリティ・メカニズムを採用して、センサーをアクティブにしてネットワークの下で発表し、サブスクライブを受けることが全て、安全で認定されたやり方で行われることを保証する。
【００９７】
[0108]  更に、種々の状況下において、既知のソースまたは未知のソースからの信頼できない発表が、ＬＳＳによって受け入れられてもよい。例えば、部屋における信頼できるマイクロフォンとほぼ同じオーディオ・フィードを発表する未知のマイクロフォン（例えば、近くにいる知らないユーザーのセル・フォンにおけるマイクロフォン）からのオーディオ・フィードを、信頼できるオーディオ・フィードと組み合わせて、従来のオーディオ処理技法を使用して、品質が改良されたオーディオ信号を生成することができる。同様に、他のユーザーに関連する信頼できないＬＳＳのその場限りのグループも、ＬＳＳに情報を発表することを許可してもよい（例えば、騒がしい部屋において、複数のユーザーの電話機を全て使用して、オーディオ・データーを取り込むことができ、オーディオ・ストリームの数が増えるに連れて、従来のオーディオ処理技法によってオーディオ・データーを著しく改良することができる。
【００９８】
[0109]  したがって、種々の実施形態において、ＬＳＳによる発表の変形は、センサー・データーまたは発表を増強させることができ、あるいは種々のセキュリティの理由のために、このセンサー・データーまたは発表を劣化させることができることは明らかなはずである。このような増強または劣化は、パブリッシャーとサブスクライバーとの間でソフトウェア・エージェントを使用し、望まれるやり方であればいずれでも、セキュリティを高めるまたはプライバシーを保障する方法で、データーを変更することによって行われる。
【００９９】
[0110]  加えて、複数の異なるセキュリティ・レベルを設けることもできる。例えば、許可されたユーザーは、自宅においてカメラの高品位発表を受信することを許可してもよく、一方家の外で座っている警備員は、同じカメラ・ビューの低解像度バージョンを受信することだけを許可してもよい。このような実施形態は、異なるアクセスまたはセキュリティ・レベルでのサブスクライブに応答して提供されるセンサー・データーまたは他の発表に対して、異なるアクセス・レベルまたは異なるサービス品質を提供するために、サブスクライバーのセキュリティ・レベルを設定または決定することによって、可能になる。
【０１００】
[0111]  ２．５．１  匿名発表
[0112]  有利なこととして、種々の実施形態において、ＬＳＳは、匿名発表を許可することによって、発表プロセスを構成するプロセスを簡略化する。これは、ユーザーが特定の入力ソースをＬＳＳに登録する必要なく、発表を許可する。更に、発表のタイプに依存して、ＬＳＳは単に匿名発表を許可または拒絶することもできる。例えば、５人が部屋に入り、グループ・ディスカッションを開始し、ひとりひとりが彼らのセル・フォンにおけるマイクロフォンで会話のオーディオ・データーを取り込ませ、これらのユーザーのＬＳＳの内１つ以上にストリーミングさせると仮定する。
【０１０１】
[0113]  このような場合、ＬＳＳは匿名のオーディオ・ストリーム発表を受信し、匿名発表を受信することによるセキュリティの危険性が殆どまたは全くなく、従来のオーディオ処理技法を使用して、複合および改良オーディオ・ストリームを作ることができる。対照的に、ＬＳＳに登録することのセキュリティの危険性は、高くなる虞がある。結果的に、種々の実施形態において、匿名のサブスクライバーは、ＬＳＳによって提供される出力イベントまたは他の情報に対してアクセスが許可されないか、あるいは制限されたアクセスまたは劣化されたアクセスが付与される。
【０１０２】
[0114]  したがって、種々の実施形態において、誰でもＬＳＳに登録または発表できる完全開放から任意のレベルでＬＳＳを構成することができる。更に、ＬＳＳは、許可されたパブリッシャー、サブスクライバー、またはユーザーの１つ以上のレベルに、登録および／または発表を限定または制限するように構成することもできる。
【０１０３】
[0115]  ２．６  その場限りのグループ
[0116]  静止環境（例えば、建物、自宅等）にＬＳＳを設けることに加えて、ＬＳＳの種々の実施形態は、移動体のシナリオでも実現される。この場合、任意のセンサーまたは他のパブリッシャーが利用可能になったとき、または欠落したときはいつでも、パブリッシャーのその場限りのグループを構築すること、または破壊することができる。更に、多くのパブリッシャーが利用可能であり、移動体ＬＳＳに発表している移動体の場合では、個々のユーザーまたはＬＳＳが複数の発表、あるいは発表のタイプまたはカテゴリーからどれを受け入れるかまたは拒絶するか決定することができる。更に、個々のユーザーは、それらのＬＳＳが特定のイベントまたはセンサー・データーを他のＬＳＳまたは他のサービスに発表すること、または再発表することを許可するか否か決定することもできる。加えて、複数のＬＳＳを接続して、発表および登録の一部または全部を共有するＬＳＳの相互接続グループまたはネットワークを形成することもできる。
【０１０４】
[0117]  ２．７  アプリ 
[0118]  任意の許可されたエンティティがセンサーまたはパブリッシャーの役割を果たすことができるので、種々の実施形態では、ＬＳＳは仮想（ソフトウェア・ベースの）論理センサーのために、アプリ・ストアまたはマーケットプレースへのアクセスを与える。このようなアプリは、任意の互換性があるプラットフォーム（例えば、移動体電話機、ＰＣ、埋め込みデバイス等）に配信しインストールすることができる。このようなアプリは、ＬＳＳに接続されると、これらのアプリのロジックに基づいて、追加の検知を提供することができる。例えば、ユーザーのセル・フォンにおける加速度計および／またはＧＰＳハードウェアにアクセスすることが許可されているアプリは、ユーザーの移動体デバイス（つまり、ユーザー）が、「歩いているのか」、「運転しているのか」、または「静止しているのか」判定することができる。
【０１０５】
[0119]  アプリは、任意の所望の機能を提供するように設計することができ、種々の発表のカスタム変換または変形を含むまたは表すこともできる。加えて、種々のアプリは、特定のハードウェア（例えば、窓の日よけの開閉を自動化するハードウェア・メカニズム）と動作するように設計することもできる。アプリをこのようなハードウェアとバンドルし、アプリ・マーケットプレースまたは他のソースから入手することができる。
【０１０６】
[0120]  更に、種々の実施形態において、ＬＳＳまたはＬＳＳに関連するサービスは、ユーザー・アクションに基づいて、特定のアプリをユーザーに自動的に提案することができる。例えば、ユーザーがしばしばムービーを視聴するとする。ＬＳＳまたはＬＳＳに関連するサービスは、ムービーを視聴する他のユーザーがＬＳＳ（サブスクライバーおよびハードウェア・アクチュエーターが関連付けられている）を使用して自動的に照明を暗くして窓の日よけを閉じることを、ユーザーに自動的に警告することができる。次いで、ＬＳＳまたはＬＳＳに関連するサービスは、ユーザー自身のシステムを強化してムービーを視聴する他のユーザーの機能をイネーブルするために使用することができるアプリおよび／またはハードウェア（またはプロの設置サービス）をユーザーに提案または提供することができる。
【０１０７】
[0121]  ２．８  論理センサー・プラットフォーム（ＬＳＰ）
[0122]  以上で説明したように、種々の実施形態においてＬＳＳは、種々のデバイス、システム、エージェント等の発表および登録を、先に特筆した発表変換および変形に加えて、管理する。しかしながら、関係する実施形態では、ＬＳＳは発表の変換および変形を「論理センサー・プラットフォーム」（ＬＳＰ）のサブコンポーネントとして単に扱うだけである。言い換えると、種々の実施形態において、ＬＳＰはＬＳＳの周囲に任意のラッパー（wrapper)を提供し、発表およびサブスクライブ(subscription)の登録(registration)ならびにユーザー・インターフェースを提供することにより、負担の一部をＬＳＳから取り除き、こうして、ＬＳＳが単に発表を受信し変換すればよいようにする。この場合、ＬＳＰはセンサー・データーを発表、登録、および変形する（ＬＳＳを介して）ための統一ハードウェア非依存プラットフォームを提供する。種々の実施形態において、ＬＳＰは、様々な基本的な基礎的要素を含む。これらには以下のものが含まれるが、それに限定されるのではない。
【０１０８】
・センサー・データー、アプリケーション定義情報、上位イベント等を登録および発表するためのシンタックスを定めるインターフェース。
・物理および論理センサー、デバイス、システム、エージェント、ならびに他のイベント・パブリッシャーから入力を受信し、ＬＳＳロジックをホストするソフトウェア・コンポーネントを提供する登録サービス（または「アグリゲーター」）。
【０１０９】
・実際にＬＳＰによって受信された発表の変換および変形を実行する前述のＬＳＳ。
[0123]  先に注記したように、ＬＳＰインターフェースは、センサー・データー、アプリケーション定義情報、上位イベント等を登録および発表するためのシンタックスを定める。ＬＳＰインターフェースは、安全で開いたプロトコルによって、センサー、デバイス、システム、エージェント、および他のイベント・パブリッシャー／サブスクライバーへの読み取り／書き込みのためにアクセスすることができる。更に、異なるセンサー、デバイス、システム、エージェント、および他のイベント・パブリッシャー／サブスクライバーが同時に安全なまたは開いたプロトコルの異なる組み合わせを使用することができる。
【０１１０】
[0124]  ＬＳＰインターフェースの発表シンタックスは、発表されるデーター（またはイベント）のタイプ、イベントに関連するデーターおよびメタデーター（センサー読み取り値、タイムスタンプ、パブリッシャーＩＤ、ＱＯＳ等のような）、ならびに時間またはアクセス権等に基づいて適用される、失効日、品質の低下(degradation)のような、追加の規則を指定することを可能にする。このインターフェースの登録シンタックスは、通知（即ち、変換または変形された発表あるいは上位イベント）に対して、それらのタイプまたは他の条件に基づいて、登録のためのパラメータを定める。尚、このインターフェースは、一層精巧な選択ステートメントのためにクエリー・シンタックスも定めることもできる（例えば、「センサーＡ」および「センサーＢ」の双方が特定のセンサー読み取り値を発表する場合、「イベントＣ」を１つ以上の特定のサブスクライバーに提供する）。
【０１１１】
[0125]  ＬＳＰ登録サービスは、物理および論理センサーから入力を受信し、ＬＳＳロジックをホストするソフトウェア・コンポーネントである。この登録サービスは、サブスクライブした者(subscribed parties)に対してプッシュ・タイプまたはプル・タイプの通知をサポートし、接続されたセンサーの最新状態の一部または全部を提供することができる。任意の許可された者がパブリッシャーまたはサブスクライバーになるように登録することができるので、登録サービスはそれら自体がセンサーまたはサブスクライバーとして動作することができ、つまり、互いに接続されると、コンポーザビリティを可能にし、特殊化を許容し、性能、再送信等を補助する。
【０１１２】
[0126]  読み取り／書き込みのためにＬＳＰ登録サービスにアクセスすることは、任意に、安全に行われる。無許可のセンサー、サブスクライバー・エージェント、または管理用アプリケーションは、イベントを発表することやイベントにサブスクライブすること、更にはＬＳＳの変換および変形規則またはスクリプトを見ることも変更することも可能にさせない。センサー・ネットワークにわたって流れるデーターに対する傍受（例えば、ワイヤレス・スヌーピング）は、種々の実施形態において、クレーム・ベース認証、ＳＳＬ、暗号化等を含むがこれらには限定されない従来のセキュリティ・プロトコルを使用して、防止される。
【０１１３】
[0127]  ３．０  論理センサー・サーバーの動作概要
[0128]  図１から図３までに関して以上で説明し、更に第１および２章において以上で示した詳細な説明を考慮したプロセスを、図４の全体的な動作流れ図によって示す。具体的には、図４は、ＬＳＳの種々の実施形態の内一部の動作を纏めた動作流れ図の一例を示す。尚、図４は、本明細書において説明したＬＳＳの種々の実施形態の全ての網羅的表現であることを意図していないこと、そして図４において表される実施形態は説明の目的に限って示されることを注記しておく。
【０１１４】
[0129]  更に、図４において破線または点線で表すことができるボックス、およびボックス間の相互接続線はいずれも、ＬＳＳの任意の実施形態または代替実施形態を表すこと、更にこれらの任意の実施形態または代替実施形態の内任意のものまたは全ては、本文書にわたって説明したＬＳＳの他の実施形態と組み合わせて使用されてもよいことは、認められてしかるべきである。
【０１１５】
[0130]  一般に、図４によって示されるように、ＬＳＳは、１つ以上の入力ソース（４０５）を登録し（４００）、変換、変形、データー転送等の任意の組み合わせを表す発表を、ＬＳＳのイベント変換サービス（４１０）コンポーネントに供給することによって、動作を開始する。加えて、イベント変換サービス（４１０）から１つ以上の予め定められた出力イベント（４３５）を受信する１つ以上のサブスクライバー（４２０）を登録する（４１５）。
【０１１６】
[0131]  次に、イベント変換サービス４１０は、入力ソースによって実行された任意の「アクション」に応答して、入力ソース（４０５）の内任意のものによって生成されたデーター報告およびイベントの任意の組み合わせを表す任意の発表を受信する（４２５）。一般に、直前の説明に関して、入力ソースによって実行される「アクション」は、センサー・データー（例えば、温度、ビデオ・データー、オーディオ・データー等）を取り込むこと、センサー動作に応答してイベントをトリガーすること（例えば、動きセンサーによる「動き検出」イベント）、インフラストラクチャー・イベント（例えば、「エレベーター・ボタン押下」）をトリガーすること、ソフトウェア・エージェント、アプリ等を使用して論理イベントを生成すること等を含む。
【０１１７】
[0132]  イベント変換サービス（４１０）によって受信された各発表に応答して、ＬＳＳは次に、先に説明したように、予め定められた発表変換、予め定められた発表変形、および予め定められた発表転送アクション（例えば、１つのセンサーからの温度読み取り値をサブスクライブしたデバイスに渡すまたは転送する）の任意の組み合わせを実行することによって、１組の予め定められた出力イベント（４３５）からの出力イベントの内１つ以上を生成（４３０）またはトリガーする。次いで、任意の発表に応答してイベント変換サービス（４１０）によって生成された任意の出力イベントを、これらの特定の出力イベントを受信するために登録されている任意のサブスクライバーに提供する（４４０）。次いで、各サブスクライバーは、イベント変換サービス（４１０）から受信した任意の出力イベントにローカルに応答し（４４５）、任意に他の入力ソースとして動作し（４０５）、サブスクライバーによって受信された出力イベントに応答して生成またはトリガーされた新たなイベントを発表または再発表する。
【０１１８】
[0133]  加えて、種々の実施形態において、任意に入力ソースおよびサブスクライバーを登録し（４００および４１５）、入力ソース（４０５）の発表、イベント変換サービス（４１０）によって実行された変換、種々の予め定められた出力イベント（４３５）を選択またはカスタム化し、セキュリティ・レベルを設定し、信頼度レベルを設定または調節し、アプリをダウンロードし、情報発表または広告を受信するおよび／またはこれらに応答する等のために、任意のユーザー・インターフェース（４５０）が設けられる。更に、以上で説明したように、ＬＳＳまたはユーザーが仮想（ソフトウェア・ベースの）論理センサー、または特定のハードウェア（例えば、窓の日よけの開閉を自動化するためのハードウェア・メカニズム）と動作するように設計された種々のアプリをダウンロードし利用することを可能にするために、任意のアプリ・ストア（４５５）等が設けられる。更に、このようなアプリをハードウェアにバンドルし、アプリ・マーケットプレースまたは他のソースを介して入手することができる。
【０１１９】
[0134]  ４．０  動作環境例
[0135]  本明細書において説明したＬＳＳは、複数のタイプの汎用または特殊目的計算システム環境または構成において動作する。図５は、本明細書において説明したＬＳＳの種々の実施形態およびエレメントを実現することができる汎用コンピューター・システムの簡略化した例を示す。尚、図５において破線または点線で表されたボックスはいずれも、簡略化した計算デバイスの代替実施形態を表すこと、そしてこれらの代替実施形態の内任意のものまたは全ては、以下で説明するように、本文書にわたって説明した他の代替実施形態と組み合わせて使用されてもよいことは、認められてしかるべきである。
【０１２０】
[0136]  例えば、図５は、種々のパブリッシャーおよび／またはサブスクライバー５９０と通信可能な、簡略化した計算デバイス５００を示す全体的なシステム図を示す。このような計算デバイスは、典型的に、少なくとも何らかの最小限の計算処理能力を有するデバイスにおいて見出すことができ、パーソナル・コンピューター、サーバー・コンピューター、ハンドヘルド計算デバイス、ラップトップまたは移動体コンピューター、タブレット、セル・フォンおよびＰＤＡのような通信デバイス、マルチプロセッサー・システム、マイクロプロセッサー・ベースのシステム、セット・トップ・ボックス、プログラマブル消費者用電子機器、ネットワークＰＣ、ミニコンピューター、メインフレーム・コンピューター、オーディオまたはビデオ・メディア・プレーヤー等が含まれるが、これらに限定されるのではない。
【０１２１】
[0137]  ＬＳＳを実現するのに適した計算デバイスは、基本的な計算動作を可能にするのに十分な計算処理能力およびシステム・メモリーを有するデバイスを含む。具体的には、図５によって示されるように、計算処理能力は、全体的に、１つ以上の処理ユニット（１つまたは複数）５１０によって例示され、任意に１つ以上のＧＰＵ５１５を含み、これらのいずれかまたは双方はシステム・メモリー５２０と通信可能である。尚、汎用計算デバイスの処理ユニット（１つまたは複数）５１０は、ＤＳＰ、ＶＬＩW、または他のマイクロコントローラーのような、特殊マイクロプロセッサーであってもよく、あるいは特殊なＧＰＵベースのコアをマルチコアＣＰＵ内に含む、１つ以上の処理コアを有する従来のＣＰＵも可能であることを注記しておく。
【０１２２】
[0138]  加えて、図５の簡略化した計算デバイスは、例えば、通信インターフェース５３０のような他のコンポーネントも含んでもよい。また、図５の簡略化した計算デバイスは、１つ以上の従来のコンピューター入力デバイス５４０（例えば、ポインティング・デバイス、キーボード、オーディオ入力デバイス、ビデオ入力デバイス、触覚入力デバイス、有線またはワイヤレス・データー送信を受信するデバイス等）も含んでも良い。また、図５の簡略化した計算デバイスは、例えば、１つ以上の従来のコンピューター出力デバイス５５０（例えば、ディスプレイ・デバイス（１つまたは複数）５５５、オーディオ出力デバイス、ビデオ出力デバイス、有線またはワイヤレス・データー送信(data transmissions)を送信するデバイス等）のような他の任意のコンポーネントも含んでも良い。尚、汎用コンピューターの典型的な通信インターフェース５３０、入力デバイス５４０、出力デバイス５５０、および記憶デバイス５６０は、当業者には周知であり、ここでは詳細に説明しない。
【０１２３】
[0139]  また、図５の簡略化した計算デバイスは、種々のコンピューター読み取り可能媒体も含んでもよい。コンピューター読み取り可能媒体は、記憶デバイス５６０を介して計算デバイス５００によってアクセスすることができる任意の入手可能な媒体とすることができ、コンピューター読み取り可能またはコンピューター実行可能命令、データー構造、プログラム・モジュール、あるいは他のデーターというような情報の格納のための、リムーバブル５７０および／または非リムーバブル５８０のいずれかである揮発性および不揮発性媒体の双方を含む。一例として、そして限定ではなく、コンピューター読み取り可能媒体は、コンピューター記憶媒体および通信媒体を含む。コンピューター記憶媒体は、ＤＶＤ、ＣＤ、フロッピー（登録商標）・ディスク、テープ・ドライブ、ハード・ドライブ、光ドライブ、ソリッド・ステート・メモリー・ドライブ、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリーまたは他のメモリー技術、磁気カセット、磁気テープ、磁気ディスク・ストレージまたは他の磁気記憶デバイス、あるいは所望の情報を格納するために使用することができ１つ以上の計算デバイスによってアクセスすることができる任意の他のデバイスというような、コンピューターまたは機械読み取り可能媒体あるいは記憶デバイスを含むが、これらに限定されるのではない。
【０１２４】
[0140]  コンピューター読み取り可能またはコンピューター実行可能命令、データー構造、プログラム・モジュール等のような情報の格納は、種々の前述した通信媒体の内任意のものを使用して１つ以上の変調データー信号または搬送波、あるいは他の移送メカニズムまたは通信プロトコルをエンコードすることによって遂行することもでき、任意の有線またはワイヤレス情報配信メカニズムを含む。尚、「変調データー信号」または「搬送波」という用語は、一般に、情報を信号内にエンコードするようなやり方でその特性の１つ以上が設定または変化させられた信号を指すことを注記しておく。例えば、通信媒体は、有線ネットワーク、または１つ以上の変調データー信号を搬送する直接有線接続のような有線媒体と、音響、ＲＦ、赤外線、レーザー、ならびに１つ以上の変調データー信号または搬送波を送信および／または受信する他のワイヤレス媒体のようなワイヤレス媒体とを含む。以上の内任意のものの組み合わせも、通信媒体の範囲内に含まれてしかるべきである。
【０１２５】
[0141]  更に、本明細書において説明したＬＳＳの種々の実施形態の一部または全部を具体化するソフトウェア、プログラム、および／またはコンピューター・プログラム製品、あるいはその一部は、コンピューターまたは機械読み取り可能媒体または記憶デバイスと、コンピューター実行可能命令または他のデーター構造という形態の通信媒体との任意の所望の組み合わせから、格納され、受信され、送信され、または読み取られてもよい。
【０１２６】
[0142]  最後に、本明細書において説明したＬＳＳは、更に、計算デバイスによって実行される、プログラム・モジュールのような、コンピューター実行可能命令という一般的なコンテキストで説明することもできる。一般に、プログラム・モジュールは、ルーチン、プログラム、オブジェクト、コンポーネント、データー構造等を含み、特定のタスクを実行するか、または特定の抽象データー型を実装する。また、本明細書において説明した実施形態は、分散型計算環境においても実施することができる。分散型計算環境では、タスクは、１つ以上の通信ネットワークを介してリンクされた、１つ以上のリモート処理デバイスによって、または１つ以上のデバイスのクラウド内部で実行される。分散型計算環境では、プログラム・モジュールは、メディア記憶デバイスを含む、ローカルおよびリモート双方のコンピューター記憶媒体に配置されてもよい。更にまた、前述の命令は、部分的にまたは全体的に、プロセッサーを含んでも含まなくてもよい、ハードウェア論理回路として実現することもできる。
【０１２７】
[0143]  以上のＬＳＳの説明は、例示および説明の目的に限って提示された。これは、網羅的であることも、特許請求する主題を開示した形態そのものに限定することも意図していない。以上の教示を参照すれば、多くの変更および変形が可能である。更に、前述の代替実施形態の内任意のものまたは全ては、ＬＳＳの追加の混成実施形態を形成するのに望まれる任意の組み合わせでも使用できることは認められてしかるべきである。本発明の範囲は、詳細な説明によって限定されるのではなく、以下に添付する特許請求の範囲によって限定されることを意図している。
【図１】
2016503539.tif 000006
【図２】
2016503539.tif 000007
【図３】
2016503539.tif 000008
【図４】
2016503539.tif 000009
【図５】
2016503539.tif 000010
【国際調査報告】
2016503539.tif 000011
2016503539.tif 000012
2016503539.tif 000013