(58)【調査した分野】(Int.Cl.,DB名)
少なくとも1つのプロセッサと、コンピュータ・プログラム・コードを含む少なくとも1つのメモリとを備える装置であって、前記少なくとも1つのメモリと、前記コンピュータ・プログラム・コードとは、前記プロセッサで、前記装置に、少なくとも、
第1のデバイスおよび第2のデバイスのうちの少なくとも1つとのユーザのインタラクションに基づいて、該第1のデバイスにおいて規則コピー・アクションを検出することと、
前記規則コピー・アクションに応じて前記第2のデバイスを識別することと、ここで、該第2のデバイスは、少なくとも1つの規則にしたがって動作するように構成されるものであり、
前記規則コピー・アクションの検出に応答して、前記少なくとも1つの規則にしたがって動作するように前記第1のデバイスを構成するように、前記少なくとも1つの規則を前記第1のデバイスに適用させることと、
をさせるように構成される、装置であり、
該装置は、前記ユーザにデバイス状態情報を提供するために前記第1のデバイスおよび前記第2のデバイスの状態をモニターしている、
装置。
前記少なくとも1つのメモリと、前記コンピュータ・プログラム・コードとは、前記プロセッサで、前記規則コピー・アクションにおける前記第2のデバイスの参加に基づいて、前記装置に
前記第2のデバイスを識別させる
ように構成される、請求項1に記載の装置。
前記少なくとも1つのメモリと、前記コンピュータ・プログラム・コードとは、前記プロセッサで、前記装置に、前記第1のデバイスとの通信を介して前記少なくとも1つの規則を前記第1のデバイスに適用させるように構成される、請求項1に記載の装置。
前記規則コピー・アクションを検出するステップは、(a)実質的に同時に、前記第1のデバイスの上、および、前記第2のデバイスの上で与えられる動き、(b)前記第1のデバイスの前記第2のデバイスへの近接性、または、(c)前記第2のデバイスに関する前記第1のデバイスの位置、のうちの少なくとも1つを検出することを含む、請求項9に記載の方法。
前記第2のデバイスを識別するステップは、前記規則コピー・アクションにおける前記第2のデバイスの参加に基づいて、前記第2のデバイスを識別することを含む、請求項9に記載の方法。
前記第2のデバイスから前記少なくとも1つの規則のコピーを受信させ、前記第1のデバイスのメモリに格納させるステップは、前記第2のデバイスと通信することを含む、請求項9に記載の方法。
前記第2のデバイスから前記少なくとも1つの規則のコピーを受信させ、前記第1のデバイスのメモリに格納させるステップは、サーバと通信することを含む、請求項9に記載の方法。
前記規則コピー・アクションを検出する前記コンピュータ・プログラム部分は、前記第2のデバイスに関して、前記第1のデバイスの位置を検出するようにさらに構成される、請求項14に記載のコンピュータ・プログラム。
前記第2のデバイスを識別する前記コンピュータ・プログラム部分は、前記規則コピー・アクションにおける前記第2のデバイスの参加に基づいて、前記第2のデバイスを識別するようにさらに構成される、請求項14に記載のコンピュータ・プログラム。
前記少なくとも1つの規則を、前記第1のデバイスに適用させる前記コンピュータ・プログラム部分は、前記第2のデバイスと通信するコンピュータ・プログラム部分を備える、請求項14に記載のコンピュータ・プログラム。
前記少なくとも1つの規則を、前記第1のデバイスに適用させる前記コンピュータ・プログラム部分は、サーバと通信するコンピュータ・プログラム部分を備える請求項14に記載のコンピュータ・プログラム。
前記少なくとも1つの規則を、前記第1のデバイスに適用させる前記コンピュータ・プログラム部分は、前記第1のデバイスと通信するコンピュータ・プログラム部分を備える請求項14に記載のコンピュータ・プログラム。
【発明を実施するための形態】
【0011】
本願発明のいくつかの例示的実施形態は、以下に、添付の図面を参照して、より詳細に記述される。そのいくつかにおいて、しかし、すべてではないが、本願発明の実施形態が示される。実際に、本願発明の種々の例示的実施形態は、多くの異なる形で具体化することができる、そして、ここに述べられる実施形態に制限されると解釈されてはならない。むしろ、これらの例示的実施形態は、この開示が適用可能な法的要求を満たすように、提供される。以下を通して、同様の参照番号は、同様の要素を参照する。ここに使われるように、「データ」、「コンテンツ」、「情報」の用語、および、同様の用語は、本願発明の実施形態にしたがって、送信され、受信され、および/または、格納されることが可能なデータを指すために、互換的に用いることができる。しかるに、そのような用語の使用が、本願開示の要旨および本願発明の実施形態の範囲を制限するためであるととってはならない。
【0012】
加えて、ここに使われるように、「回路(circuitry)」という用語は、(a)ハードウェアのみの回路インプリメンテーション(例えばアナログおよび/またはディジタル回路だけのインプリメンテーション)、(b)回路と、一緒に動作して装置に、ここに記述される1つ以上の機能を実行させる1つ以上のコンピュータで読取り可能メモリに格納されるソフトウェアやファームウェア命令を備えるコンピュータ・プログラム・プロダクトとの組合せ、および、(c)例えば、たとえソフトウェアまたはファームウェアが物理的に存在しないとしても動作のためにソフトウェアまたはファームウェアを要求するマイクロプロセッサまたはマイクロプロセッサの一部分などの回路、を指す。この「回路」の定義は、ここにおける、すべての請求項を含む、すべてのこの用語の使用に適用される。さらなる例として、ここに使われるように、用語「回路」は、また、1つ以上のプロセッサやその部分、および、付随するソフトウェアやファームウェアを含むインプリメンテーションを含む。別の例として、ここで用いられる用語「回路」は、また、たとえば、ベースバンド集積回路、または、携帯電話のための応用プロセッサ集積回路、あるいは、サーバにおける同様の集積回路、携帯電話ネットワーク・デバイス、他のネットワーク・デバイス、および/または他のコンピューティング装置を含む。
【0013】
ここに規定されるように、物理的ストレージ・メディア(例えば、揮発性あるいは揮発性メモリ・デバイス)を指す「コンピュータ読取り可能媒体」は、電磁気信号を指す「コンピュータ読取り可能伝送媒体」と区別することができる。
【0014】
上記したように、温度センサ、および、他のタイプのセンサなどの小さなフォーム・ファクター・デバイスは、ユーザ・インタフェース機能を制限することができた。たとえば、温度センサの上でのユーザ・インタフェースは、単一のボタンやLEDから成ることができる。これらの小さなフォーム・ファクター・デバイスは、特定の規則にしたがって動作するように構成することができる。例えば、上述の温度センサ・デバイスは、モニターされている温度が80°Fをこえるとき、インターネットなどネットワークをわたって、サーバに信号を送るようにプログラム化されることができる。
【0015】
いくつかの場合において、ユーザは、複数のセンサが、規則の同じセットにしたがって動作することを要求することができる。温度センサの例を続けると、ユーザが、温度センサを使用して、複数の場所で大きなオブジェクトの温度をモニターしていることがあり得る。この例においては、各々のセンサは、モニターされている温度が80°Fをこえるとき(例のように)、インターネット上で信号をサーバに送信するため、など同一の規則にしたがって、動作しなければならない。これに加えて、ユーザが、異なる時に、センサのネットワークにセンサを追加したり、あるいは、取り除いたりする必要があり得る。
【0016】
記述された例のセンサなどの小フォーム・ファクター・デバイスは、制限されたユーザ・インタフェースを有することがあり得るので、ユーザが、デバイスの挙動をコントロールする規則を設定するのに、個別的にデバイスとインタラクトすることは困難であり得る。ユーザは、したがって、各々のデバイスに適用される規則のセットを制御するために、ウェブ、携帯、または、他の計算インタフェースとインタラクトせざるを得ないことがあり得る。しかしながら、そのようなシナリオは、デバイスを構成するのに要求される個々のセットアップ時間を増加することがあり得る。かつ、いくつかのケースにおいて、あまりに重荷となり得、単純に、実行できない、非常に控え目にみても、ユーザに大きなフラストレーションを経験させることになり得る。
【0017】
したがって、本願発明の実施形態は、1つのデバイスの規則を複製し、および、そのデバイスとのユーザ・インタラクションだけを通して(例えば、ユーザに、インターネット、サーバ、または、別の他のサード・パーティ・デバイス、または、ユーザ・インタフェース・プラットホームとインタラクトすることを要求することなく)別のデバイスに規則を適用する規則を印加することを、ユーザに許可する。この点について、後で更に詳しく記載するように、規則コピー・アクションを提供するために、ユーザは、1つまたは2つのデバイス(例えば、格納された規則を保持するデバイスおよび、この規則を適用するデバイス)とインタラクトすることができる。それらのデバイスの1つによる、または、両方のデバイスと通信している第3のデバイス(例えば、サーバ)による、のいずれかで、規則コピー・アクションの検出の際に、1つのデバイスの規則は、同じ規則セットにしたがって、両方のデバイスが動作するように、他方のデバイスに適用することができる。そのような規則コピー・アクションは、たとえば、動きベース(例えば、1つの手で両方のデバイスを振ること)、位置ベース(例えば、デバイスを一緒にスタックし、規則コピー機能を起動すること)、または、近傍ベースである(例えば、規則を有しないデバイスに要求しているデバイスに接触しているか、または、近傍にあるか、のいずれかの同様のデバイスから規則を要求することを許可すること)であることができる。このようにして、そのユーザは、1つのデバイスに適用可能な規則を、別のデバイスにも適用できるようにするために、小さなフォーム・ファクター・デバイスで対話する直観的で簡単な方法を有することができる。
【0018】
本願発明の例示的実施形態は、次に、
図1を参照して記述される。これは、規則を複製し、1つ以上のデバイスに規則を適用する装置50のある要素を表す。
図1の装置50は、たとえば、
図2の第1のデバイス100とともに、使用することができる。しかしながら、
図1の装置50は、以下に記す
図2のサーバ110など携帯や固定の両方の種々の他のデバイスに関連して使用することもでき、したがって、本願発明の実施形態は、
図2および
図3の第1のデバイス100などのデバイスの上のアプリケーションに制限されてはならないことに留意する。例えば、装置50は、パーソナル・コンピュータ、タブレット、携帯電話、モバイル・コンピューティング・デバイス、または、他のユーザ端末などの他のデバイスに採用されることができる。さらに、いくつかのケースにおいて、装置50の部分またはすべては、サーバ(例えば、
図2のサーバ110)または他のサービス・プラットホームなどの固定デバイスの上にあることができる。そして、そのコンテンツを、固定デバイスにおいて行われる処理に基づいてユーザ端末(例えば、モバイル端末)などの遠隔デバイスの上で(例えば、サーバ/クライアント関係を介して)提示することができる。
【0019】
また、
図1は、マルチプル・デバイスの間の規則の複製を提供するための装置の構成の1つの例を図示するが、多数の他の構成を、また、本願発明の実施形態をインプリメントするのに使用することができることに留意する。このため、いくつかの実施形態において、デバイス、または、要素が、互いに通信しているものとして示されているが、以下では、そのようなデバイスまたは要素は、同じデバイスまたは要素の中で、実現可能であると考えなければならない。したがって、通信において示されるデバイスまたは要素は、代替的に、同一のデバイスの部分または要素であるとして理解されるべきである。
【0020】
図1を参照すると、マルチプル・デバイスの間の規則の複製を提供するための装置50は、プロセッサ70、通信インタフェース74、および、メモリ・デバイス76を含むか、または、さもなければ、それらと通信を行うことができる。いくつか実施形態において、プロセッサ70(および/または、コプロセッサまたは、プロセッサ70を助ける、または、さもなければ、それと関連する他のどの処理回路)は、装置50のコンポーネントの間で情報をパスするために、バスを介してメモリ・デバイス76と通信を行っていることができる。メモリ・デバイス76は、例えば、1つ以上の揮発性および/または不揮発性メモリを含むことができる。言い換えると、たとえば、メモリ・デバイス76は、マシン(例えば、プロセッサ70のようなコンピューティング・デバイスなど)で検索可能である(例えば、ビットなどの)データを格納するように構成されるゲートを備える(例えば、コンピュータ読取り可能ストレージ・メディアなど)電子ストレージ・デバイスであり得る。メモリ・デバイス76は、装置が本願発明の例示的実施形態にしたがって、種々の機能を実行することを可能にするために、情報、データ、コンテンツ、アプリケーション、命令、規則、または、その他を格納するように構成することができる。例えば、メモリ・デバイス76は、後で更に詳しく記載するように、プロセッサ70による実行のための、または、別のデバイスを指示するための規則を格納するように構成することができる。
【0021】
装置50は、いくつかの実施形態において、本願発明の例示的実施形態を採用するように構成される、センサ、モバイル端末、または、固定通信デバイス、または、(例えば、サーバなど)コンピューティング・デバイスなどの、小フォーム・ファクター・デバイスであることができる。しかしながら、いくつかの実施形態において、装置50は、チップまたはチップ・セットとして具体化することができる、言い換えると、装置50は、材料、コンポーネントや、構造アセンブリ上の配線(例えば、ベースボード)を含む(例えば、チップなどの)1つ以上の物理パッケージを含むことができる。構造的アセンブリは、物理強度、サイズの保護、および/または、そこに含まれるコンポーネント回路に対する電気的インタラクションの制限を提供することができる。装置50は、したがって、いくつかのケースにおいて、単一チップ、あるいは、チップ上の単一「システム」として本願発明の実施形態をインプリメントするように構成されることができる。このため、いくつかのケースにおいて、チップまたはチップ・セットは、ここに記述される機能を提供するための、1つ以上の動作を実行するための手段を構成することができる。
【0022】
プロセッサ70は、いくつかの異なる方法において、具体化することができる、例えば、プロセッサ70は、コプロセッサ、マイクロプロセッサ、コントローラ、ディジタル信号処理装置(DSP)、DSPを有する、または、有さない処理要素、または、たとえば、ASIC(application specific integrated circuit)、FPGA(フィールドプログラマブルゲートアレイ)、マイクロコントローラ・ユニット(MCU)、ハードウェア・アクセラレータ、特殊目的コンピューター・チップ、または、その他の、集積回路を含む種々の他の処理回路などの1つ以上の種々のハードウェア処理手段として、具体化することができる、このため、いくつかの実施形態において、プロセッサ70は、独立して実行するように構成される1つ以上の処理コアを含むことができる。マルチコア・プロセッサは、単一の物理パッケージの内でマルチプロセッシングを可能にすることができる。追加的に、または、代替的に、プロセッサ70は、命令の独立した実行、パイプライン化やマルチスレッディングを可能にするためにバスを介してタンデムに構成されるプロセッサを含むことができる。
【0023】
例示的実施形態において、プロセッサ70は、メモリ・デバイス76に保存された命令を実行するか、または、さもなければ、プロセッサ70にアクセスできるように構成することができる。代替的に、または、追加的に、プロセッサ70は、ハード・コードされた機能を実行するように構成することができる。このため、ハードウェアでまたはソフトウェア方法で構成されるか、または、その組合せによって、構成されるかにかかわらず、プロセッサ70は、本願発明の実施形態にしたがって、それに応じて構成されており、動作を実行することができる(例えば、物理的に回路に具体化された)エンティティを表現することができる。このように、たとえば、プロセッサ70が、ASIC、FPGAまたは、その他として具体化されるとき、プロセッサ70は、ここに記述される動作の遂行するために特に構成されたハードウェアであることができる。代替的に、別の例として、プロセッサ70が、ソフトウェア命令の実行器として具体化されるとき、この命令は、特に、プロセッサ70をアルゴリズム、および/または、命令が実行されるとき、ここに記述される動作を実行するように構成することができる。しかしながら、いくつかのケースにおいて、プロセッサ70は、ここに記述されるアルゴリズムや動作を実行するための命令によってプロセッサ70の更なる構成により、本願発明の実施形態を使用することに適している(例えば、モバイル端末またはネットワーク・デバイスなど)特定のプロセッサ・デバイスであることができる。プロセッサ70は、とりわけ、クロック、演算ロジック・ユニット(ALU)、および、プロセッサ70の動作をサポートするように構成された論理ゲートを含むことができる。
【0024】
一方、通信インタフェース74は、デバイス、または、ネットワークや、装置50と通信を行っている任意の他のデバイスまたはモジュールとデータを送受信するように構成されたハードウェアや、ハードウェアとソフトウェアとの組合せで具体化される回路などいかなる手段でもあり得る。この点について、通信インタフェース74は、たとえば、アンテナ、および、無線通信ネットワークとの通信を可能にするためのサポートしているハードウェアやソフトウェアを含むことができる。加えて、または、代替的に、通信インタフェース74は、アンテナを介して信号を送信させるため、または、アンテナを介して受信した信号を取り扱うためにアンテナとインタラクトするための回路を含むことができる。いくつかの環境において、通信インタフェース74は、代替的に、あるいは、追加的に、有線通信をサポートする。このため、たとえば、通信インタフェース74は、ケーブル、ディジタル加入者線(DSL)、USB(universal serial bus)、または、他のメカニズムを介した通信をサポートするために、コミュニケーション・モデムや他のハードウェア/ソフトウェアを含むことができる。
【0025】
次に、
図2を参照すると、第1のデバイス100、第2のデバイス105、および、サーバ110を含むシステムが示される。第1のデバイス100は、たとえば、センサ、(例えば、温度センサ湿度センサ、光センサ、等)など小フォーム・ファクター・デバイスであり得る。第2のデバイス105は、同様に、別のセンサなどの別の小フォーム・ファクター・デバイスであり得る。第1および第2のデバイス100、105は、特定の規則にしたがって動作するように構成することができる。サーバ110は、センサ100、105の各々と、ネットワーク(例えば、インターネット)の上で、通信していることができる。
【0026】
いくつか実施形態において、サーバ110は、第1および第2のデバイス100、105が動作するものにしたがって、規則を管理するように構成することができる。その規則は、たとえば、デバイス100、105の各々に、(例えば、温度、湿度、圧力、光強度、その他)特定の変数を測定し、そして、信号を(例えば、サーバ110に、または、異なるデバイスに)特定の条件に合致したときに、送信するように指示する1つ以上の命令のセットであることができる。例えば、温度センサであるデバイス100、105は、それらのデバイスに適用される規則にしたがって、液体の温度を検出し、かつ、信号を(例えば、サーバ110に)温度が特定の閾値を上回るときに(例えば、温度が、80°Fより高いときに)、値の特定の範囲の外にあるときに(例えば、50°Fより低いか、72°Fより高い)、などのときに、送信するように構成されることができる。
【0027】
この点について、第1および第2のデバイス100、105の各々に、ユニークな識別子を(例えば、サーバ110により)割り当てることができる。サーバ110は、場合によっては、(例えば、どのデバイスが機能しているか、各々のデバイスによって測定される変数の現在の値、および/または、デバイスの位置等に関する情報をユーザに提供するために、)デバイスの状態をモニターするように設定することができる。
【0028】
図3を参照して、いくつかの実施形態において、第1および第2のデバイス100、105の各々は、
図1のメモリ76などのメモリ120を含むことができる。したがって、いくつかのケースにおいて、第1および第2のデバイスによって適用される規則は、特定のデバイス100、105のメモリ120に格納することができる。そのような場合において、サーバ110は、各々のデバイスが、それ自身のメモリに格納された規則を参照して動作することができるように、(例えば、それぞれのデバイスをプログラムするためにサーバとインタラクトしているユーザからの入力に応じて)構成されるべき特定のデバイスの1つ以上の規則を、メモリ120に格納することにより、デバイス100、105を構成することができる。
【0029】
他の実施形態においては、しかしながら、第1および第2のデバイス100、105は、
図4に示されるサーバ110のメモリ130などのサーバ110と結びついたメモリに格納される規則にしたがって動作することができる。例えば、そのような場合において、デバイス100、105自体は、規則を格納するように構成されたメモリを含むことができない。したがって、その代わりに、各々のデバイスは、そのサーバにより提供される適用できる規則によって指示されるようにサーバ110と通信することによって、動作するように構成することができる。
【0030】
したがって、いくつかの実施形態において、1つのデバイスに適用される規則をコピーし、その規則を別のデバイスに適用する装置50は、そのデバイスがメモリ120を含むときなど、デバイス自体(例えば、
図3に示される第1のデバイス100)によって、具体化することができる。一方、他の実施形態において、その装置は、デバイス100がそれ自身のメモリを含まないときなど、
図3に示されるサーバ110により具体化することができる。どちらのケースでも、本願発明の実施形態は、1つのデバイス(例えば、ここに記述される例における第2のデバイス105など)に適用されている規則がユーザのデバイス(例えば、第1のおよび/または第2のデバイスなど)とのインタラクションのみを通して、別のデバイス(例えば、第1のここに記述される例におけるデバイス100など)に適用されることを可能にする。言い換えると、ユーザは、第1のデバイス100への規則の適用を達成するために直接サーバ110とインタラクトする必要はない。それによって、ユーザの時間を節約し、そして、ユーザに、デバイスを、後で更に詳しく記載するように、別のデバイスが動作するのと同様に、動作するように構成する、より直観的な方法を提供する。
【0031】
したがって、少なくとも1つのプロセッサと、少なくとも1つのメモリ(例えば、
図1のメモリ76、
図3のメモリ120、または、
図4のメモリ130)とを含む装置が、提供される。それは、コンピュータ・プログラム・コードを含む。その少なくとも1つのメモリおよびコンピュータ・プログラム・コードは、このプロセッサで、この装置に、少なくとも、第1のデバイス100で生起する規則コピー・アクションを検出させ、規則コピー・アクションに応答して、第2のデバイス105を識別させ、ここで、この第2のデバイスは、少なくとも1つの規則にしたがって、動作するように構成されており、そして、その少なくとも1つの規則にしたがって動作するように第1のデバイスを構成するように、その規則コピー・アクションの検出に応答して、その少なくとも1つの規則を第1のデバイスに適用させるように構成することができる。
【0032】
いくつか実施形態においては、少なくとも1つのメモリとコンピュータ・プログラム・コードとは、そのプロセッサで、装置に、第2のデバイス105との通信を介して、その少なくとも1つの規則が第1のデバイス100に適用されるようにさせるように構成することができる。そのような通信は、たとえば、2つのデバイス100、105の間のアドホックな無線ネットワークを介して、起こることができる。
図2および
図3を参照すると、上で記述されたように、たとえば、いくつかの実施形態で、第1および第2のデバイス100、105の各々は、メモリ120、プロセッサ125(これらは、いくつかのケースにおいて、
図1のプロセッサ76であることができる)、そして、通信インタフェース128(これは、いくつかのケースにおいて、図の1通信インタフェース76であることができる)を含むことができる。少なくとも1つの規則は、第2のデバイス105のメモリ120に格納することができ、その第2のデバイスは、その少なくとも1つの規則にしたがって動作するように構成することができる。ユーザは、この例においては、同一の規則、または、第2のデバイス105がしたがって動作している規則にしたがって、動作するように第1のデバイス100を構成するように望むことができる。このように、そのユーザは、第1のデバイス100の上で規則コピー・アクション(以下に記す)を実行することができ、その結果として、第2のデバイス105のメモリの上に格納された、その少なくとも1つの規則を、第2のデバイスのメモリからコピーすることができ、(矢印140で
図2の中で図示されるように)各々のそれぞれのデバイスの通信インタフェース128を使用するなどの第1および第2のデバイスの間の直接通信を介して、第1のデバイスのメモリの上に格納することができる。例えば、規則コピー・アクションの検出に際して、第1のデバイス100は、それぞれの通信インタフェース128を介して、第2のデバイスのメモリの上に格納された規則のコピーに対する要求を、前記第2デバイス105に、送信することができる。第2のデバイス105は、また、順に、規則のコピーを作成し、それぞれの通信インタフェース128を介して、第1のデバイス100に規則を送信することができる。次に、第1のデバイスは、それを、そのメモリに格納することができる。結果として、この例においては、次に、第1のデバイス100は、第2のデバイス105からコピーされた規則にしたがって動作するように構成される。
【0033】
第1および第2のデバイス100、105が(
図3に示されるように、)規則を格納することができるメモリ120を含むが、しかし、(
図4に示される)サーバ110が、装置50を具体化するような、実施形態などの他の実施形態においては、第1のデバイス100における規則コピー・アクションの検出に際して、第1のデバイス100は、サーバ110に、規則のコピー、第2のデバイス(矢印150によって
図2の中で表される)のメモリの上に格納されたまたは規則に対する要求を送信することができる。サーバ110は、プロセッサ135(
図1のプロセッサ70でありえる)、および、通信インタフェース138(
図1の通信インタフェース74であり得る)を含むことができる。サーバ110は、第1のデバイス100からの要求を受信する際に、規則のコピーを要求するために、(矢印155によって
図4の中で表されるように)通信インタフェース138を介して第2のデバイスと通信することができる。また、第2のデバイスは、規則のコピーを作成し、サーバにその規則を送信することによって、
図3のそれぞれの通信インタフェース128を介して、応答することができる。サーバ110は、次に、第1のデバイス100(通信矢印150)に少なくとも1つの規則を送信することができる。それは、第1のデバイスが、次に、そのメモリに格納することができる。また、この例における結果は、第1のデバイス100が、第2のデバイス105からコピーされた規則にしたがって動作するように構成されることである。
【0034】
いくつか実施形態においては、第1および第2のデバイス100、105は、(
図3に示されるメモリ120のような)メモリを含むことができる。しかしながら、その少なくとも1つの規則は、そのサーバ110と関連したメモリ(例えば、
図4に示されるメモリ130)に格納することができ、第2のデバイス105は、そのサーバと結びついたメモリに格納された規則にしたがって、動作するように構成することができる。装置50は、そのような場合において、第1のデバイス100によって具体化されることができる。その装置は、そのような場合において、その少なくとも1つのメモリと、コンピュータ・プログラム・コードとが、前記プロセッサで、装置に、少なくとも1つの規則を、サーバ110との通信を介して、第1のデバイス100に適用させるように構成されるように構成されることができる。言い換えると、第1のデバイス100における規則コピー・アクションの検出の際、第1のデバイス100は、要求を(通信インタフェース128を介して)第2のデバイスが、したがって動作するように構成される規則を、第1のデバイスに適用させるように、サーバ110に送信することができる(矢印150を介して、
図2の中に示される)。サーバ110は、次に、第2のデバイス105に関して、サーバ・メモリ130に格納された規則を識別することができ、かつ、(例えば、プロセッサ135を介して)、第2のデバイス105がしたがって動作するように構成される規則にしたがって第1のデバイス100が動作するように構成されるように、単に第1のデバイス100に同じ規則を適用することができる。したがって、第1のデバイス100は、結果として、第2のデバイス105が動作するように指示されるのと同じように、かつ、サーバ110に結びついたメモリ130の上に格納される規則を参照して動作するように指示される。
【0035】
第1および第2のデバイス100、105がメモリを含まない他の実施形態において、第2のデバイス105は、先に述べたように、
図2および
図4に示されるサーバ110に結びついたメモリ130に格納された規則にしたがって、動作していることができる。そして、装置50(
図1)は、サーバ110によって具体化することができる。この装置は、そのような場合において、その少なくとも1つのメモリと、そして、コンピュータ・プログラム・コードとが、そのプロセッサで、装置に、その少なくとも1つの規則を、第1のデバイス100に、第1のデバイスとの通信を介して適用させるように構成されるように構成されることができる。したがって、第1のデバイス100における規則コピー・アクションの検出の際、サーバ110は、第2のデバイス105に関して、メモリ130に保存された規則を識別することができ、かつ、第1のデバイス100が、第2のデバイスが動作するように誘導されたのと同じように、また、サーバ110に結びついたメモリ130の上に格納される規則を参照して、第2のデバイス105がしたがって動作するように構成される規則にしたがって動作するように指示されるように、単にその規則を(例えば、プロセッサ135を介して)第1のデバイス100に適用することができる。このように、この特定のシナリオにおいて、装置(サーバ110で具体化される)は、規則コピー・アクションを検出するために、(例えば、
図2の矢印150に沿ったそれぞれの通信インタフェース128、138を介して、規則コピー・アクションに関する第1のデバイスから信号を受信することによって、)第1のデバイス100と通信する。
【0036】
上記したように、第1のデバイス100において、ユーザによって(サーバとのインタラクションに対して)第1のデバイスとのインタラクションを介して与えられた規則コピー・アクションは、多く異なる形式をとることができる。いくつかの場合において、たとえば、そのユーザは、第1および第2のデバイス100、105を、ユーザの手に持ち、両方のデバイスを一緒に振ることによって規則コピー・アクションを実行することができる(例えば、モーション・ベース規則コピー・アクション)。他のケースにおいて、ユーザは、第1および第2のデバイス100、105を互いの上に積み重ねることができ、そして、規則コピー・アクションを生じるために、(例えば、スタックの一番上のデバイスをタップによって)入力の起動を提供することができる(例えば、位置ベース規則コピー・アクション)。さらに他のケースで、そのユーザは、(2つのデバイス間のコンタクトの有無にかかわらず)第2のデバイス105のある所定の距離の範囲内に第1のデバイス100を配置することができる。これは、規則コピー入力としての役割をする(例えば、近接性ベース規則コピー・アクション)。
【0037】
したがって、その少なくとも1つのメモリと、コンピュータ・プログラム・コードと(第1のデバイス100またはサーバ110のいずれかで具体化される)は、プロセッサで、装置に、実質的に同じ時間に(例えば、各々互いの1秒以内に)、第1のデバイスの上で、また、第2のデバイスの上で与えられる動作を検出することによって、その規則コピー・アクションを検出させるように構成することができる。動作ベース規則コピー・アクションの場合において、第1および第2のデバイス100、105は、たとえば、ジャイロや加速度計、その他のそれぞれのデバイスの動作を検出するように構成される(
図3に示す)1つ以上の動きセンサ160を含むことができる。動きセンサ160を、したがって、第1および第2のデバイスの他のセンサに加えることができる(例えば、そのデバイスが、温度をモニターするために構成される場合に、温度を測定するために使用されるセンサ80など)。さらに、第1および第2のデバイス100、105は、いくつかのケースにおいて、そのアクションが起こったときに、(例えば、その動きが、動きセンサ160で感じられたときに)、そのアクションの期間(例えば、そのデバイスがどのくらい長く振られたか)など、規則コピー・アクションの時間的態様を測定するように構成されるクロックまたは他の時間管理メカニズムをさらに含むことができる。他のケースにおいて、しかしながら、第1および第2のデバイス100、105は、クロックを含むことができない。むしろ、その規則コピー・アクションの時間的態様を、サーバ110を参照して決定することができる。それは、クロックを含むことができ、後で更に詳しく記載するように、時間的態様と規則コピー・アクションを相関するように構成することができる。
【0038】
動作ベース規則コピー・アクションの場合において、たとえば、第1のデバイス100の動きセンサ160、および、第2のデバイス105の動きセンサ160で検出される動きは、(例えば、互いから所定のウィンドウの内で、同時に起きたと解釈されるように、)2つの動き入力が同時に起こったかどうかを(デバイス自体により、または、サーバ110により)決定するために、動きが起こった時と相関することができる。第1および第2のデバイス100、105で検出される動きが、同時に起こったと考えられる場合には、その動きは、規則コピー・アクションと考えられる。上記したように、応答して、第2のデバイス105は、識別されることができ、第2のデバイスに適用されている少なくとも1つの規則は、第1のデバイスに適用することができる。
【0039】
他の実施形態においては、その少なくとも1つのメモリと、そして、コンピュータ・プログラム・コードとが、プロセッサで、装置に、第2のデバイス105への第1のデバイス100の近傍性を検出することによって、その規則コピー・アクションを検出させるように構成される。例えば、各々のデバイス100、105は、他に関して1つのデバイスの位置を、決定することができるように、グローバル・ポジショニング機能(GPS)を備えることができる。デバイス100、105のおよその物理コロケーション(例えば、15センチメートル以内など、ある距離の範囲内に位置すること)は、したがって、いくつかのケースの規則コピー・アクションと考えられる。物理コロケーションは、1つまたは両方のデバイスが要求するデバイス間の通信を介してなどで、デバイス100、105の1つまたは両方によって、決定することができ、そして、他のデバイスから、そのデバイス位置に関して情報を受信することができる。いくつかの場合において、1つまたは両方のデバイス100、105は、特定の距離の範囲内の他のデバイスの近傍性を検出するように構成された赤外線または他のセンサなどの、他のタイプの近接性検出器170(代わりに、またはそれに加えて、たとえばGPS機能)を含むことができる。
【0040】
他のケースにおいて、サーバ110は、それらのデバイスにより送受信されたメッセージが同じ無線基地局または近傍の無線基地局を介してインターセプトされたかどうかを判断することによってなどで、デバイス100、105がコロケーションしているかどうか判断することができる。別の例において、第1および第2のデバイス100、105が環境センサであるときのように、サーバ110は、レポートされた値が、コロケーションを示すように互いに非常に同じようである(例えば、5%など所定の許容度の範囲内である)かどうかを判断するために、各々のデバイスによって測定されたセンサ値を分析することができる。デバイス100、105がコロケーションしているとの判断は、したがって、規則コピー・アクションとして役立つ。応答して、以上のとおり、第2のデバイス105を、識別することができ、第2のデバイスに適用されている少なくとも1つの規則は、第1のデバイス100に適用することができる。
【0041】
さらに他の実施形態において、その少なくとも1つのメモリと、そして、コンピュータ・プログラム・コードとが、プロセッサで、装置に、第2のデバイス105に関して、第1のデバイス100の位置を検出することによって、その規則コピー・アクションを検出させるように構成される。例えば、各々のデバイス100、105は、1つのデバイスの他のデバイスとの相対位置を検出するように構成される位置検出器180を含むことができる。位置検出器180は、たとえば、磁気センサを含むことができる。
図5Aおよび
図5Bを参照して、いくつかのケースにおいて、
図3の位置検出器180は、1つのデバイス105の表面から突き出るバンプ190を含むことができ、例えば、2つのデバイス(
図5A)が一緒になる(
図5B)とき、コンタクトを介して、他のデバイス100の上の容量性表面195をアクティブにするように構成される。この点について、位置検出器180は、第1のデバイスが第2のデバイスの上に置かれるとき、または、その逆であるとき(例えば、スタック構成において)、第2のデバイス105に関して、第1のデバイス100の位置を検出するように構成することができる。バンプ190が、
図5Aの中で、第2のデバイス105の上面に位置するように表されているが、バンプ190は、第2のデバイスの底面または周辺面の上にあることができる。さらに、バンプ190は、いくつかのケースにおいて、第1のデバイス100の表面にあることができ、そして、容量性表面195は、第2のデバイス105の上に位置することができる。あるいは、各々のデバイスが、別のデバイスの相対位置を検出するように構成されるように、両方のデバイスが、バンプおよび容量性表面を有することができる。さらに他の実施形態において、そのユーザは、デバイス100、105がスタックされると、規則コピー・アクションを完了するために、それらのデバイスの1つの表面上で、「タップ」または他のコンタクト入力などの、追加的な入力を提供することを要求される(それは、たとえば、別の容量性表面、動きセンサなどを介して感知することができる)。
【0042】
偽陽性(例えば、ユーザが規則コピー・アクションを意図しないときの規則コピー・アクションの誤った検出)を、最小化、または、異なる技術を用いて除去することができる。いくつかの場合において、動きベース、近傍性ベース、または、位置ベースのどの規則コピー・アクションが使用されるかに拘わらず、単に、(例えば、第1のおよび第2のデバイス100、105など)参加しているデバイスが、コロケーションされたときに、規則コピー・アクションが起こったと考えられる。デバイス100、105の物理コロケーションは、上に記載したように、例えば、両方のデバイスからのメッセージが、同一のまたは非常に近傍の無線基地局を使用して送受信されたかどうか、または、両方のデバイスを使用して測定される(例えば、湿気、温度、など)環境条件のセンサ値が、同様の値を報告するかによって、決定することができる。
【0043】
規則コピー・アクションが、どのように検出されるか、または、どのエンティティ(第1のデバイス100、第2のデバイス105、および/または、サーバ110)によって検出されるかに関係なく、一旦、規則コピー・アクションが第1のデバイスにおいて検出されると、第2のデバイスは、応答して、識別されなければならない。いくつか実施形態においては、その少なくとも1つのメモリと、そして、コンピュータ・プログラム・コードとが、このプロセッサで、装置に、規則コピー・アクションにおける第2のデバイスの参加に基づいて、第2のデバイス105を識別させるように構成することができる。例えば、モーション・ベース規則コピー・アクションの検出は、デバイスの動き、および/または、コロケーションのタイミングに基づいて、第1のデバイス100と第2のデバイス105と間に起こったと決定することができる。したがって、第2のデバイス105が規則−コピー動きに関係していたので、第2のデバイス105は、規則が第1のデバイスによって適用されるデバイスであると決定される。同様に、近傍性ベース規則コピー・アクションの場合において、第1のデバイス100が、第2のデバイス105の近傍閾値の中に来るならば、または、位置ベース規則コピー・アクションにおいて、第1のデバイス100は、第2のデバイス105の上にスタックされているならば、第2のデバイス105は、規則コピー・アクションにおける参加者とみなされ、そして、このため、第2のデバイス105に適用される規則が、第1のデバイス100に適用されるように、識別される。
【0044】
図6は、本願発明の例示的実施形態にしたがう、システム、方法、コンピュータ・プログラム・プロダクトのフローチャートを図示する。フローチャートの各々のブロック、および、フローチャートにおけるブロックの組合せは、例えば、ハードウェア、ファームウェア、プロセッサ回路、および/または、1つ以上のコンピュータ・プログラム命令を含むソフトウェアの実行に結びついた他のデバイスなど種々の手段によりインプリメントすることができることが理解される。例えば、上に記述された1つ以上の手続きは、コンピュータ・プログラム命令により具体化することができる。この点について、上述の手続きを具体化するコンピュータ・プログラム命令は、本願発明の例示的実施形態を使用する装置のメモリ・デバイスで格納することができる。そして、プロセッサによって、その装置において、実行されることができる。理解されるように、そのような任意のコンピュータ・プログラム命令は、コンピュータ、または、マシンを生成する(例えば、ハードウェアなどの)他のプログラム可能な装置の上へ、結果としてのコンピュータ、または、他のプログラム可能な装置がフローチャート・ブロックにおいて特定される機能をインプリメントするように、ロードされることができる、これらのコンピュータ・プログラム命令は、また、コンピュータ読取り可能メモリに格納された命令が、フローチャート・ブロックで特定された機能のインプリメントを実行する製造物品を生成するように、特定のやり方で機能することをコンピュータまたは他のプログラム可能な装置に指示することができるコンピュータ読取り可能メモリの中に保存することができる。コンピュータ・プログラム命令は、また、コンピュータまたは他のプログラム可能な装置の上で実行する命令が、フローチャート・ブロックの中で特定される機能をインプリメントするための動作を提供するように、コンピュータ・インプリメントされたプロセスを生成するために、コンピュータまたは他のプログラム可能な装置の上で実行される一連の動作を引き起こすために、コンピュータまたは他のプログラム可能な装置の上へロードされることもできる。
【0045】
したがって、フローチャートのブロックは、特定の機能を実行するための手段の組合せ、特定された機能を実行するための動作の組合せ、および、特定された機能を実行するためのプログラム命令手段をサポートする。フローチャートの1つ以上のブロック、および、フローチャートの中のブロックの組合せは、指定された機能を実行する特殊目的ハードウェア・ベースの計算機システムにより、または、特殊目的ハードウェアおよびコンピュータ命令の組合せにより、インプリメントすることができることも、また、理解される。
【0046】
この点について、第1のデバイスにもまた適用される、第2のデバイスに適用可能な規則を提供するための方法の1つの例示的実施形態は、
図6に示される。
図6は、ブロック200において、第1のデバイスで規則コピー・アクションを検出することを含む第1のデバイスに規則を適用し、規則コピー・アクションに応答して、第2のデバイスを識別し、ここで、第2のデバイスは、ブロック210において、少なくとも1つの規則にしたがって、動作するように構成されており、および、ブロック220において、その少なくとも1つの規則にしたがって動作するように第1のデバイスを構成するように、その規則コピー・アクションの検出に応答して、少なくとも1つの規則を、第1のデバイスに適用させるための方法の例示的実施形態を表す。規則コピー・アクションを検出することは、先に述べたように、実質的に同じ時刻に、第1のデバイスの上で、そして、第2のデバイスの上で与えられた動きを検出することを含むことができる。追加的に、または、代替的に、その規則コピー・アクションを検出することは、第1のデバイスの第2のデバイスへの近傍性を検出すること、および/または、第2のデバイスに関して、第1のデバイスの位置を検出することを含むことができる。さらに、いくつかの実施形態において、第2のデバイスは、規則コピー・アクションの参加に基づいて、識別されることができる。
【0047】
装置がどのように具体化されるか(例えば、第1のデバイスによって、または、サーバによって)、また、どこに、その規則が格納されるか(第1および第2のデバイス上、および/または、サーバ上)に依存して、いくつかの実施形態において、その少なくとも1つの規則を、第1のデバイスに適用させることは、ブロック230において、第2のデバイスと通信することを含むことができる。他の実施形態において、その少なくとも1つの規則を、第1のデバイスに適用させることは、ブロック240において、サーバと通信することを含むことができる。一方、さらに他の実施形態において、その少なくとも1つの規則を、第1のデバイスに適用させることは、ブロック250において、第1のデバイスと通信することを含むことができる。
【0048】
いくつか実施形態においては、上記の動作のあるものは、下記のように、修正、または、さらに拡大することができる。更にまた、いくつかの実施形態において、追加的なオプションの動作を、を含むことができる。そのいくつかの例が、
図6において破線で囲まれた中に示される。上記の動作に対する修正、追加または増幅は、いかなる順序でも、かつ、いかなる組合せででも、実行することができる。
【0049】
例示的実施形態において、上の
図6の方法を実行するための装置は、上述の動作(200−250)のいくつかまたは各々を実行するように構成される(例えば、
図1のプロセッサ70などの)プロセッサを備えることができる。プロセッサは、たとえば、ハードウェア・インプリメントされた論理機能を実行することにより、格納された命令を実行することにより、または、動作の各々を実行するためのアルゴリズムを実行することにより、動作(200−250)を実行するように構成することができる。代替的に、その装置は、上述の動作の各々を実行することするための手段を備えることができる。この点について、例示的実施形態にしたがって、動作200、210および230−250の少なくとも部分を実行するための手段の例は、たとえば、プロセッサ70、通信インタフェース74、および/または、上記したように、命令を実行する、または、情報を処理するためのアルゴリズムを実行するためのデバイスまたは回路を含むことができる。動作220を実行するための手段の例は、たとえば、プロセッサ70、通信インタフェース74、メモリ・デバイス76、および/または、上記したように、命令を実行する、または、情報を処理するためのアルゴリズムを実行するためのデバイスまたは回路を含むことができる。
【0050】
ここに述べられる発明の多くの修正や他の実施形態が、これらの発明が関係する技術領域の当業者には、前述の説明、そして、関連する図面で提示された教示の利益を有することが、思い浮かぶであろう。したがって、本願発明は、開示された特定の実施形態に制限されるものではないこと、および、修正や他の実施形態が、本願に添付された特許請求の範囲の中に含まれることを意図するものであることことが理解されるべきである。さらに、前述の記載、そして、要素や機能の特定の例の組合せのコンテキストにおいて、関連する図面は、例自適実施形態を記述するものであるけれども、異なる要素の組合せ、および/または、機能も、添付の請求項の範囲を逸脱することなく、代替的な実施形態によって提供されることができることが理解されるべきである。この点について、たとえば、要素の異なる組合せや明示的に上述のそれらより機能は、また、添付の請求項のいくつかにおいて述べられるように、考えられる。特定の用語がここにおいて使用されるが、それらは、一般的、説明的な意味においてのみ使用されており、制限の目的のためではない。