本明細書に記述されている主題は、長距離ネットワークサービスを一つ又は複数の短距離無線(Short-Range Wireless:SRW)装置に提供するシステムの詳細及び実装形態を含む。これらの実装形態の開示と一貫性を有する状態において、SRW装置は、長距離送信能力(例えば、WiFi、3G、及び/又は、4G能力)を欠いた物理装置である。但し、SRW装置は、限定を伴うことなしに、Bluetooth、Bluetooth Low Energy、ZigBee、IEEE802.15、6LoWPAN、Sub-GHz Wireless Radio、NFC、及びRFIDを含む一つ又は複数の短距離無線通信プロトコルに準拠した短距離無線信号を送受信する能力を有する短距離トランシーバを装備している。
一般に、SRW装置は、低静電容量のエネルギ源によって電力供給されている。電力消費量を低減するべく、SRW装置は、通常、ネットワークの別のエンティティ(例えば、アプリケーションサーバ又はローカル接続されていないSRW装置)との情報交換が必要となる時点まで、ネットワークに接続されはしない。そして、ネットワーク接続の確立の際にも、エネルギを節約するべく、SRW装置は、限られた地理的到達範囲を有する信号を送受信するように構成されている。例えば、BLE装置は、通常、30メートルの送信半径を有する。従って、SRW装置は、通常、なんらの長距離無線能力をも含んでいない。リモート接続(例えば、インターネット接続)を確立するべく、SRW装置は、限定を伴うことなしに、WiFi IEEE802.11、3GPP、及び 4G LTE を含む一つ又は複数の長距離無線通信プロトコルに準拠した信号を送受信し得るルーティング装置を必要としている。
本開示のいくつかの実装形態によれば、長距離無線(Long-Range Wireless:LRW)装置は、SRW装置と遠隔配置されたネットワークエンティティ(例えば、アプリケーションサーバ又はローカル接続されていない別のSRW)との間において、且つ、SRW装置の送信到達範囲を超えて、リモート接続を確立するためのルータとして適合させることができる。これらの実装形態の開示と一貫性を有する状態において、LRW装置は、SRW装置と通信するのみならず、上述のように一つ又は複数の長距離無線通信プロトコルに準拠した信号を送受信する能力をも有する物理装置であってもよい。一実装形態においては、例えば、LRW装置は、短距離及び長距離送信能力の両方を装備したスマートフォン、コンピュータタブレット、又は携帯型コンピュータなどのモバイル装置であってもよい。LRW装置は、一つ又は複数のSRW装置にサービスするように、事前加入処理することができる。加入処理されたLRW装置は、グローバルに一意である加入識別子の組を登録することにより、SRW装置を認識し、或いは、実行されるサービスを認識する。適切な加入識別子を検出した際に、LRW装置は、一つ又は複数のSRW装置との間において自動的に短距離無接続を確立することになる。LRW装置は、自身が人間操作者からのなんらの監督又は介入をも必要としないように、この短距離無線接続を自律的な方式によって確立する。
機能の観点においては、本開示のいくつかの実装形態は、LRW装置をルータとして使用することにより、一つ又は複数のSRW装置用のシームレスな長距離ネットワークサービスを提供する。本明細書に記述されているシステム及び方法を採用することにより、SRW装置は、ネットワークエンティティとの間におけるデータ交換のニーズが存在する際には常に長距離接続を開始及び維持可能でありつつ、エネルギを節約することができる。更には、LRW装置は、人間ユーザに不便をかけることなしに、このようなニーズを自動的に検出することが可能であり、且つ、要求された接続を提供することができる。換言すれば、LRW装置は、自律的に、且つ、人間操作者からのなんらかの監督又は介入とは独立した方式により、一つ又は複数のSRW装置にサービスすることができる。
図1は、本開示の一態様によるリモート通信システム100の一例を示している。リモート通信システム100は、リモート通信チャネル136を介してサーバ160と接続されたローカル通信システム102を含む。ローカル通信システム102は、短距離通信システム103などの一つ又は複数の短距離通信システム用のルータとして機能する少なくとも一つの長距離無線(LRW)装置140によってサービスされている。LRW装置140は、サーバ160との間においてリモート通信チャネル136を確立するための長距離トランシーバ(LRTX)144を含む。リモート通信チャネル136の特性に応じて、LRTX144は、それぞれが別個のタイプの通信信号の送受信の責任を担う一つ又は複数の回路を有するように構成することが可能であり、且つ/又は、これを装備することができる。
一実装形態においては、例えば、LRTX144は、一つ又は複数のWiFi規格に準拠した通信信号を送受信するための回路を有するように構成することが可能であり、且つ/又は、これを装備することができる。別の実装形態においては、例えば、LRTX144は、一つ又は複数の3GPP規格に準拠した通信信号を送受信するための回路を有するように構成することが可能であり、且つ、これを装備することができる。更に別の実装形態においては、例えば、LRTX144は、一つ又は複数の4G LTE規格に準拠した通信信号を送受信するための回路を有するように構成することが可能であり、且つ/又は、これを装備することができる。
又、LRW装置140は、SRW装置110などの少なくとも一つの短距離無線(SRW)装置を含む短距離通信システム103と通信するための短距離トランシーバ(SRTX)142をも含む。SRW装置110は、一つ又は複数の特定の機能を実行すると共にこれらの特定の機能と関係付けられた情報を処理する能力を有する物理装置である。これらの特定の機能は、通常、一般に短距離無線信号の送受信とは関係していない一つ又は複数の物理的状態(例えば、温度、光、電気・ガス・水道の流量など)の検知及び/又は記録に関係している。
本開示の一実装形態によれば、例えば、SRW装置110は、トラックの保管エリアの温度を検知するように指定された温度記録器であってもよい。このような温度記録器は、特定の時間インターバルにおいて内部温度を検知し、且つ、検知された温度を、トラックを運用している会社に報告する能力を有する。特定の温度記録の機能を実行するSRW装置110は、SRW装置110が報告の準備が完了したら、LRW装置140に対して接続サービスを要求することができる。LRW装置140の人間操作者は、トラック会社に勤務するトラック運転手であってもよく、トラック運転手は、SRW装置110の場所及び/又は動作について認知していてもよく、或いは、そうでなくてもよい。要求されたLRW装置140が、このようなSRW装置110用の接続サービスを実行するように、加入処理されている場合には、LRW装置140は、要求元のSRW装置110との間に短距離無線接続を自動的に確立し、且つ、SRW装置110によって生成された温度報告をトラック会社にサービスしているアプリケーションサーバ(例えば、サーバ160)に中継することになる。有利には、LRW装置140は、自律的に、且つ、人間操作者からのなんらかの入力、監督、又は介入を必要とすることなしに、そのサービスを供給することができる。
本開示の別の実装形態によれば、例えば、SRW装置110は、住宅の水の消費量を計測するように指定された水量計であってもよい。このような水量計は、毎日、増分的な水の消費量を記録し、且つ、日々の水の消費量を住宅にサービスしている水道会社に報告する能力を有する。特定の水の計量の機能を実行するSRW装置110は、一日に一度ずつ、LRW装置140に対して接続サービスを要求することができる。LRW装置140の人間操作者は、住宅の住人であってもよく、或いは、その代わりに、定期的に住宅を訪問するサービス要員であってもよい。いずれの場合にも、LRW装置140の人間操作者は、LRW装置140が接続サービスを実行するために、SRW装置110の場所及び/又は動作について認知している必要はない。要求されたLRW装置140が、このようなSRW装置110用の接続サービスを実行するように、加入処理されている場合には、LRW装置140は、要求元のSRW装置110との間に短距離無線接続を自動的に確立し、且つ、SRW装置110によって計量された毎日の水の消費量を水道会社にサービスしているアプリケーションサーバ(例えば、サーバ160)に中継することになる。有利には、LRW装置140は、自動的に、且つ、人間操作者からのなんらの入力、監督、又は介入をも必要とすることなしに、そのサービスを供給することができる。
SRW装置110に加えて、短距離通信システム103は、短距離無線ナッジング(Short-Range Wireless Nudging:SRWN)装置120を含む。SRWN装置120は、SRW装置110などのピアSRW装置のグループと関連付けられており、且つ、SRWN装置120は、ピアSRW装置から接続要求を受信する。接続要求を受信した際に、SRWN装置120は、要求された接続を提供するように、LRW装置140を誘導又はナッジングする責任を担っている。更には、SRWN装置120は、ピアSRW装置によって要求された接続サービスに優先順位付けする責任を担ってもよい。一実装形態においては、SRWN装置120は、通知期間において加入ゾーンを宣言するべく誘導信号を送信するように構成されている。LRW装置140が、加入ゾーン内に配置されており、且つ、ネットワークサービスを実行するように加入処理されている場合には、LRW装置140は、誘導信号を認識することになる。従って、LRW装置140は、その存在をアナウンスしているSRW装置(例えば、SRW装置110)を接続する前に、それらのSRW装置について自動的にサーチすることになる。具体的には、LRW装置140は、スキャン応答信号をSRW装置に対して求めるスキャン要求信号を送出することができる。
SRW装置から有効なスキャン応答信号が受信された際に、LRW装置140は、応答しているSRW装置との間にローカル通信チャネル134を確立することになる。LRW装置140は、ローカル通信チャネル134を介して、接続されているSRW装置に対して、一つ又は複数の加入処理されたサービスを提供することができる。一実装形態においては、例えば、LRW装置140は、SRW装置110から認証データを取得するように構成することができる。LRW装置140は、SRW装置110の信頼性を検証するためのプロキシ認証器として機能してもよい。この代替肢においては、LRW装置140は、認証データをサーバ160に転送することが可能であり、且つ、認証を実行するようにサーバに要求することができる。SRW装置110の信頼性が検証された場合に、LRW装置140は、SRW装置110とサーバ160の間にデータ経路を確立することができる。
確立されるデータ経路は、データがそれを通じてリアルタイムでSRW装置110とサーバ160との間において交換される物理的データ経路であってもよい。或いは、この代わりに、このデータ経路は、SRW装置110とサーバ160との間における複数のセグメントを有する論理的データ経路であってもよい。構造的な観点においては、確立されるデータ経路は、ローカル通信チャネル134と、リモート通信チャネル136と、を含む。データ経路がリアルタイムで動作する場合には、ローカル通信チャネル134とリモート通信チャネル136は、同時にターンオンされる。但し、データ経路が論理的なものである場合には、ローカル通信チャネル134とリモート通信チャネル136は、異なる時点においてターンオンされてもよい。その場合には、LRW装置140は、SRW装置110とサーバ160との間において交換されるデータを保存すると共に転送するためのハブとして機能する。いずれの場合にも、LRW装置140は、確立されたデータ経路を介して、SRW装置110からサーバ160に、且つ、この逆に、データを中継する。
確立されたデータ経路のセキュリティを改善するべく、接続されたSRW装置110及びサーバ160は、その特定のSRW装置110及びサーバ160にのみ認知されている秘密キーを適用することにより、エンドツーエンドの暗号化を実行することができる。この結果、LRW装置140は、保護されたデータ経路に沿って送信されている暗号化されたデータのコンテンツにアクセスできなくなる。
機能的な観点においては、誘導信号の送信により、ローカル通信チャネル134のみならず、データ経路の確立が開始される。このような開始プロセスは、なんらの人間の監督又は介入を伴うことなしに実行される。誘導信号を生成及び送信することにより、SRWN装置120は、人間ユーザに対する通知を必要としない一連のバックグラウンド動作を実行するように、LRW装置140を誘導している。これらのバックグラウンド動作は、SRW装置110などの一つ又は複数のSRW装置に提供されるシームレスなネットワークサービスを円滑に実行する。
エネルギを節約するべく、LRW装置140は、既定量の時間にわたってのみバックグラウンド動作を実行するサービスポリシーに準拠してもよい(具体的な一例として、Apple iPhone は、BLE対応型装置との通信用のバックグラウンド動作を3分以内において終了している)。換言すれば、LRW装置140は、この既定量の時間が経過した後に、誘導信号によって宣言された加入ゾーンを満了させてもよい。
LRW装置140が、エネルギを節約するべく加入ゾーンを満了させることになると予期することにより、SRWN装置120は、LRW装置140が加入ゾーンから離脱すると共に後から再進入できるようにするべく、リセット期間において加入ゾーンを破棄している。加入ゾーンを破棄するべく、SRWN装置120は、リセット期間において誘導信号を隠蔽する。誘導信号の隠蔽の一般的な目的は、誘導信号がLRW装置140によって検出されることを防止するという点にある。SRWN装置が誘導信号を隠蔽し得るいくつかの方法が存在している。一実装形態においては、例えば、SRWN装置120は、誘導信号132の送信を停止、中断、又は中止することにより、誘導信号132を隠蔽することができる。別の実装形態においては、例えば、SRWN装置120は、LRW装置140が誘導信号132を検出できなくなるように、その送信振幅を低減することにより、誘導信号132を隠蔽することができる。更に別の実装形態においては、SRWN装置120は、LRW装置140が誘導信号132を検出できなくなるように、異なる送信周波数を使用することにより、誘導信号132を隠蔽することができる。更に別の実装形態においては、例えば、SRWN装置120は、リセット期間において、短距離トランシーバ128を起動停止又はターンオフすることにより、誘導信号132を隠蔽することができる。
加入ゾーンを破棄する目的は、LRW装置140の加入ゾーンの論理的な離脱を演出するというものである。本開示の一態様によれば、LRW装置140は、LRW装置140が加入ゾーンを満了させたら、SRW装置110を接続するためのバックグラウンド動作を再開してもよく、或いは、そうでなくてもよい。これは、LRW装置140が加入ゾーン内に留まっている際に特に当て嵌まる。従って、LRW装置140は、LRW装置140が誘導信号132を継続的に検出している場合にも、SRW装置110用の接続サービスを再開することにならない。それにも拘わらず、LRW装置140は、再進入ポリシーに従ってバックグラウンド動作をリセットすることになり、その結果、LRW装置140は、その最後の離脱以降の既定量の時間経過の後に、加入ゾーンに再進入することができる(一例として、Apple iPhone は、最大で加入ゾーンの離脱の20分後に再進入を許容している)。誘導信号132を隠蔽することにより、SRWN装置120は、LRWが誘導信号132を検出することを防止する。この結果、LRW装置が加入ゾーンの物理的境界内に留まっているにもかかわらず、SRWN装置120は、加入者ゾーンを論理的に離脱するように、LRW装置140をリードする。この結果、LRW装置140は、加入ゾーンをリセットすると共にこれに再進入することが可能であり、且つ、別の誘導信号132を検出した際に、SRW装置110用の接続サービスを再開する用意が整うことになる。
SRWN装置120は、加入ゾーンの宣言と破棄が定期的に且つ交互に発生するように、通知期間とリセット期間とを交互に変化させるべく構成されている。加入ゾーンの宣言及び破棄を交互に変化させることにより、SRWN装置120は、LRW装置140を物理的に加入ゾーンから離脱させることなしに、LRW装置140が加入ゾーンに論理的に進入し、離脱し、且つ、再進入できるようにしている。これにより、SRWN装置120は、ピアSRW装置(例えば、SRW装置110)によって要求された接続サービスがLRW装置140によって時期尚早に終了してしまわないことを保証している。通知期間とリセット期間とは、SRWN装置120、ピアSRW装置110、LRW装置140、及び/又はサーバ160によって較正することができる。或いは、この代わりに、通知期間とリセット期間とは、事前構成プロセスにおいて、SRWN装置120の製造者によって較正することもできる。較正の後に、LRW装置140のサービスポリシーを追跡するべく、通知期間を使用することが可能であり、LRW装置140の再進入ポリシーを追跡するべく、リセット期間を使用することができる。
いくつかの方法により、サービスポリシーを追跡するように、通知期間を較正することができる。一実装形態においては、例えば、加入ゾーンを満了させる前にネットワークサービスを実行するべくLRW装置140が割り当てた時間量に対応した期間を近似することにより、サービスポリシーを追跡するように、通知期間を較正することができる。別の実装形態においては、例えば、LRW装置140との間の事前接続に従って更新されることにより、サービスポリシーを追跡するように、通知期間を較正することができる。更に具体的な例として、SRWN装置120は、通知期間を一連の以前の接続の最小接続時間又は平均接続時間に対応した期間に更新することができる。別の実装形態においては、例えば、LRW装置140によって提供されるフィードバックに従って更新されることにより、サービスポリシーを追跡するように、通知期間を較正することができる。更に別の実装形態においては、例えば、SRW装置(例えば、SRW装置110)とLRW装置140との間において動作を同期させるように指定されたサーバ160から調節データを受信することにより、サービスポリシーを追跡するように、通知期間を較正することができる。
同様に、いくつかの方法により、再進入ポリシーを追跡するように、リセット期間を較正することができる。一実装形態においては、例えば、加入ゾーンを離脱すると共にこれに再進入するべくLRW装置140が通常所要する時間量に対応した期間を近似することにより、再進入ポリシーを追跡するように、リセット期間を較正することができる。別の実装形態においては、例えば、LRW装置140との事前接続に従って更新されることにより、再進入ポリシーを追跡するように、リセット期間を較正することができる。更に具体的な例として、SRWN装置120は、通知期間をそれぞれの事前接続の後に加入ゾーンを離脱すると共にこれに再進入するべくLRW装置140が所要した最大又は平均時間に対応した期間に更新することができる。別の実装形態においては、例えば、LRW装置140によって提供されるフィードバックに従って更新されることにより、再進入ポリシーを追跡するように、リセット期間を較正することができる。更に別の実装形態においては、例えば、SRW装置(例えば、SRW装置110)とLRW装置140との間において動作を同期させるべく指定されたサーバから調節データを受信することにより、再進入ポリシーを追跡するように、リセット期間を較正することができる。
本開示の一態様によれば、LRW装置140は、誘導信号132を検出し、処理し、且つ、これに応答するためのハードウェア及びソフトウェアを装備している。一実装形態においては、LRW装置140は、プロセッサ回路146と、メモリ147と、人間ユーザインタフェース(Human User Interface:HUI)156と、を装備している。プロセッサ回路146は、一つ又は複数の誘導信号132を検出し、処理し、且つ、これに応答するためのプログラミング命令の組を実装するように構成された汎用プロセッサチップであってもよい。或いは、この代わりに、プロセッサ回路146は、一つ又は複数の誘導信号134を検出し、処理し、且つ、これに応答するためのプログラミング命令の組が組み込まれた用途固有の集積回路(Application Specific Integrated Circuit:ASIC)であってもよい。
メモリ147は、LRW装置140の物理的及び論理的フレームワークにおいて設置及び内蔵される能力を有する任意のメモリ装置であってもよい。メモリ147は、プロセッサ回路146と結合されており、且つ、メモリ147は、いくつかの入力要素をプロセッサ回路146に提供するのみならず、プロセッサ回路146の出力要素を保存する。一実装形態においては、メモリ147は、一つ又は複数のプログラムアプリケーションを含むアプリケーションバンク150を保存することができる。これらのプログラムアプリケーションは、LRW装置140の製造者が事前インストールすることができる。或いは、この代わりに、LRW装置140のユーザが、リモート通信チャネル136を介してサーバ160からプログラムアプリケーションをダウンロードするように、LRW装置140を制御してもよい。
それぞれのプログラムアプリケーションは、一つのフォアグラウンドスレッド154と、一つ又は複数のバックグラウンドスレッド152と、を含んでもよい。本明細書に開示されているフォアグラウンドスレッド154は、人間ユーザとやり取りするためのプログラムアプリケーションの一部分である。例えば、フォアグラウンドスレッド154Aは、プログラムアプリケーション150Aの一部分であり、且つ、これは、人間HUI156を動作させるための一つ又は複数の信号を生成するべく、プロセッサ回路146によってコンパイル及び/又は実行することができる。フォアグラウンドスレッド154を通じて、プロセッサ回路146は、HUI156を介して入力を提供するように人間ユーザに要求することが可能であり、HUI156は、このような要求を伝達するための視覚的ディスプレイ及び/又はスピーカを含んでもよい。そして、フォアグラウンドスレッドを通じて、プロセッサ回路146は、HUI156を介して人間ユーザから入力を受け取ることが可能であり、HUI156は、タッチスクリーン、キーボード、及び/又はその他のモーションセンサを含んでもよい。更には、フォアグラウンドスレッド154を通じて、プロセッサ回路146は、プログラムアプリケーション150の動作に関係した情報及び/又はプログラムアプリケーション150によって生成された任意の出力を人間ユーザに通知することができる。
本明細書において開示されているバックグラウンドスレッド152は、人間ユーザからのなんらの介入又は入力をも必要とすることなしに動作するプログラムアプリケーションの一部分である。例えば、バックグラウンドスレッド152Aは、プログラムアプリケーション150Aの一部分であり、且つ、これは、短距離トランシーバ(SRTX)142、長距離トランシーバ(LRTX)144、及びメモリ148の動作を制御するための一つ又は複数の信号を生成するべく、プロセッサ回路146によってコンパイル及び/又は実行することができる。
一般に、プロセッサ回路146は、人間ユーザが、そのプログラムアプリケーションを中断すると決定するか、或いは、そのプログラムアプリケーションと特定の時間量にわたってやり取りしていない場合に、プログラムアプリケーション(例えば、プログラムアプリケーション150A)を起動停止又はターンオフすることができる。誘導信号を検出した際に、プロセッサ回路146は、フォアグラウンドスレッド154を起動停止された状態において維持しつつ、プログラムアプリケーショ146の一つ又は複数のバックグラウンドスレッド152を再起動することができる。この起動停止−再起動の二分法は、LRW装置140が、高優先順位動作の性能を損なうことなしに、エネルギを節約できるようにしている。具体的には、プロセッサ回路146は、誘導信号132がプログラムアプリケーション150のうちの任意のものと関連付けられているかどうかを判定することができる。例えば、誘導信号132がプログラムアプリケーション150Bと関連付けられている場合には、プロセッサ回路146は、フォアグラウンドスレッド154B及び残りのプログラムアプリケーション(即ち、150A及び150C〜150G)を起動停止された状態において維持しつつ、バックグラウンドスレッド152Bを起動するように構成される。別の例として、誘導信号132がプログラムアプリケーション150C及び150Dと関連付けられている場合には、プロセッサ回路146は、フォアグラウンドスレッド150C及び150Dのみならず、残りのプログラムアプリケーション(即ち、150A〜150B及び150E〜150G)をも起動停止された状態において維持しつつ、バックグラウンドスレッド152C及び150Dを起動するように構成される。本開示の一態様によれば、プロセッサ回路146は、人間ユーザが、監督したり、介入したり、或いは、なんらかの形態の入力を提供する必要がないように、バックグラウンドスレッド152を自律的に起動するべく構成されている。従って、バックグラウンドスレッド142の起動は、シームレスであり、且つ、人間ユーザにとってトランスペアレントであり、これにより、誘導信号への応答と起動プロセスの管理から、人間ユーザを解放している。一代替実装形態においては、プロセッサ回路146は、誘導信号142を検出した際に、フォアグラウンドスレッド154と共に、バックグラウンドスレッド152を再起動することができる。バックグラウンドスレッド152の起動と同様に、フォアグラウンドスレッド154の起動も、自律的に、且つ、人間ユーザの介入又は監督を伴うことなしに、実行される。更には、フォアグラウンドスレッド154の起動により、送信された誘導信号152に関係した情報を受信すると共に/又は、対応する加入サービスの提供の一つ又は複数の態様を制御するための機会が人間ユーザに対して提供される。
バックグラウンドスレッド152を通じて、プロセッサ回路146は、SRWN装置120によって送信された誘導信号132を検出及びデコードすることができる。そして、バックグラウンドスレッド152を通じて、プロセッサ回路146は、デコードされた誘導信号132に基づいて、LRW装置140が一つ又は複数のSRW装置(例えば、SRW装置11)に接続サービスを提供するように加入処理されているかどうかを判定することができる。更には、バックグラウンドスレッド152を通じて、プロセッサ回路146は、関連付けられたSRW装置(例えば、SRW装置110)との間にローカル通信チャネル134を確立するように、SRTX142を制御することができる。更には、バックグラウンドスレッド152を通じて、プロセッサ回路146は、関連付けられたSRW装置(例えば、SRW装置110)用のネットワークサービスを提供するように、LRTX144と共に、SRTX142を制御することができる。一実装形態においては、ネットワークサービスは、ローカル通信チャネル134とリモート通信チャネル136を物理的又は論理的に結合することにより、データ経路を確立するステップを含む。本開示の一態様によれば、プロセッサ回路146は、人間ユーザが監督するか、介入するか、又はなんらかの形態の入力を提供する必要がないように、バックグラウンドスレッド152を自律的に稼働させるべく構成されている。従って、バックグラウンドスレッド152の動作は、シームレスであり、且つ、人間ユーザにとってトランスペアレントであり、これにより、SRW装置用に提供される接続サービス及び/又はネットワークサービスの管理から、人間ユーザが解放されている。
LRW装置140は、一つ又は複数のSRW装置用の接続サービス及び/又はネットワークサービスを提供するように、人間ユーザにより、或いは、事前構成により、加入処理することができる。本開示の一態様によれば、LRW装置150の人間ユーザ(即ち、所有者又は認可された操作者)は、加入識別子の組を認識し得るプログラムアプリケーション(例えば、プログラムアプリケーション150A)をインストールすることにより、加入プロセスを開始することができる。インストールの後に、プロセッサ回路146は、次いで、アプリケーション150のフォアグラウンドスレッド154をコンパイル及び/又は実行するように構成されており、この結果、一つ又は複数のサービス契約がユーザに提示されることになる。
それぞれのサービス契約は、LRW装置の短距離及び/又は長距離能力に関係した一連のSRW装置又はサービスをカバーしてもよい。一実装形態においては、それぞれの契約は、ユーザが接続サービス及び/又はネットワークサービスの提供に同意した所定の種類のSRW装置をカバーすることができる。例えば、インストールされたアプリケーション150Aは、特定の会社(例えば、食品運送会社)によって所有及び稼働されている温度記録装置をカバーした契約書を提示することができる。別の実装形態においては、それぞれの契約は、ユーザがサービス受領者の装置分類とは無関係に提供することに合意した所定の種類のサービスをカバーすることができる。例えば、インストールされたアプリケーション150Bは、既定のサービス期間(例えば、5分)にわたるすべての事前承認されたSRW装置用の Bluetooth 接続サービスを具体的にカバーした契約を提示することができる。更に別の実装形態においては、それぞれの契約は、特定の種類のサービスを受け取るための特定の種類のSRW装置を包含することができる。更に別の実装形態においては、それぞれの契約は、LRW装置からの特定のタイプの短距離無線サービス及び/又は特定のタイプの長距離無線サービスを包含することができる。
ユーザは、HUI156を使用することにより、これらのサービス契約のうちの任意のものを選択してもよく、且つ、受け入れてもよく、HUI156は、責任を担うプログラムアプリケーション(例えば、プログラムアプリケーション150A)のフォアグラウンドスレッド(例えば、フォアグラウンドスレッド154A)にユーザの入力を提供することになる。本開示の一態様によれば、サービス契約を受け入れるユーザは、LRW装置140が接続サービスを提供するように加入処理されたSRW装置を所有する必要はなく、或いは、これを動作させるべく認可されている必要もない。有利には、本開示によって包含されているシステムは、コヒーレントなネットワーク(例えば、機械間(Machine-to-Machine:M2M)ネットワーク又はモノのインターネット(IOT)ネットワーク)を確立する際に、異なるユーザによって所有され得るか又は動作させられ得る多数のLRW装置の可動性及び接続性を活用することができる。
ユーザがサービス契約を受け入れたら、LRW装置140は、そのサービス契約において提示されているサービスに対して加入処理される。その結果、LRW装置140は、サービス契約に記述されている加入処理されたサービスと関連付けられた加入識別子の組を受信することになる。特定の構成に応じて、それぞれの加入識別子は、SRW装置(例えば、SRW装置110)、SRWN装置(例えば、SRWN装置120)、SRW装置のグループのために提供される特定のサービス、及び/又はSRWN装置のピアであるピアSRW装置のグルーブに対して提供される特定のサービスと関連付けることができる。LRW装置140は、複数の加入識別子を同一種類のサービス及び/又は同一グループのSRW装置を認識する単一のプログラムアプリケーション(例えば、プログラムアプリケーション150A)に属するものと考えてもよいが、それぞれの加入識別子は、グローバルに一意である。それぞれの加入者識別子は、複数のセグメントを含んでもよく、それぞれのセグメントは、由来するプログラムアプリケーション150、サービスの種類、SRW装置の識別子、又はサービス優先順位のレベルに関係した情報を表している。一例として、加入識別子を生成するべく、iBeacon信号に組み込まれたユニバーサルな一意の識別子(Universal Unique IDentifier:UUID)を適合させることができる。別の例として、一意の加入識別子を含むように、近距離通信(Near-Field Communication:NFC)信号フォーマットを適合させることができる。
LRW装置140は、複数の供給源から加入識別子の組を受信してもよい。一実装形態においては、LRW装置140は、サーバ160から加入識別子の組をダウンロードすることができる。別の実装形態においては、LRW装置140は、インストールされたアプリケーションを介して加入識別子の組を受信することができる。別の実装形態においては、LRW装置140は、SRW装置に付着されたラベル(例えば、バーコード、RFIDタグ、NFCタグ、又は磁気ストリップ)をスキャニングすることにより、加入識別子の組を取得することができる。更に別の実装形態においては、LRW装置140は、HUI156を介して人間ユーザから加入識別子の組を受け取ることができる。LRW装置140が加入識別子の組を受信したら、対応するプログラムアプリケーション150は、加入識別子を加入レジストリ148内において保存するようにプロセッサ回路146を制御することになる。LRW装置140のシステムアーキテクチャに応じて、加入レジストリ148は、メモリ147内において生成することも可能であり、或いは、この代わりに、メモリ147とは独立したメモリ構造内において生成することもできる。
加入識別子は、一つ又は複数のエンティティが発行することができる。一実装形態においては、例えば、加入識別子は、接続サービスを要求したSRW装置の製造者が発行することができる。別の実装形態においては、例えば、加入識別子は、サービス契約を仲介した認証サーバ(例えば、サーバ160)が発行することができる。更に別の実装形態においては、例えば、加入識別子は、加入処理されたサービスの実行を監視及び/又は管理しているアプリケーションサーバ(例えば、サーバ160)が発行することができる。加入処理されたサービス及び発行するエンティティの特性に応じて、加入識別子の組は、一つ又は複数の条件に基づいて、時間に伴って、拡張することも可能であり、低減することも可能であり、且つ、その他の方法で更新することもできる。これらの条件には、限定を伴うことなしに、サービス契約に追加されるか又はこれから削除されたSRW装置、サービス契約に追加されるか又はこれから削除されたサービスの種類、及びユーザとプログラムアプリケーション150を公開及び維持している会社の間における継続した関係が含まれる。
加入識別子の組が受信及び保存されたら、LRW装置140のプロセッサ回路46は、加入プロセスの開始を支援するプログラムアプリケーション(例えば、プログラムアプリケーション150A)をターンオフ又は起動停止することができる。プログラムアプリケーション150が起動停止された際には、LRW装置140は、起動停止されたプログラムアプリケーション150に基づいてSRW装置になんらの接続サービスをも提供しない。プログラムアプリケーション150の起動停止の際に、LRW装置140は、短距離トランシーバ(SRTX)142を使用することにより、誘導信号132などの一つ又は複数の誘導信号を検出するように構成されている。
それぞれの誘導信号は、識別子を担持しており、この識別子は、LRW装置140のプロセッサ回路146によって検出することができる。例えば、LRW装置140のプロセッサ回路146は、UUIDを有する iBeacon 信号を誘導信号として検出することができる。検出された識別子が加入レジストリ148内において保存されている加入識別子とマッチングしている場合には、プロセッサ回路146は、LRW装置140が、マッチングした加入識別子と関連付けられたサービスに加入処理されていると判定することになる。従って、プロセッサ回路146は、対応したプログラムアプリケーション150のバックグラウンドスレッド152を自動的に起動する。例えば、加入識別子SNが、受信され、且つ、プログラムアプリケーション150Dとの関連において保存された場合に、プロセッサ回路146は、到来した識別子が加入レジストリ148内の加入識別子SNとマッチングした際に、バックグラウンドスレッド152Dを起動することになる。本開示の一態様によれば、この起動プロセスは、人間の入力又は人間の介入のニーズを除去するように、LRW装置140によって自律的に実行される。これを目的として、LRW装置140は、人間ユーザに通知するか又は不便をかけることなしに、バックグラウンドスレッド152の一つ又は複数の機能を呼び出してもよい。
起動されたら、バックグラウンドスレッド152は、マッチングした加入識別子との関連において加入処理されたサービスを提供するための一連の機能をプロセッサ回路146に実行させることになる。これを目的として、プロセッサ回路146は、マッチングした加入識別子と関連付けられたSRW装置(例えば、SRW装置110)をサーチすると共にこれとの間において接続を確立するように、SRTX142を自律的に制御する。一実装形態においては、バックグラウンドスレッド152は、プロセッサ回路146に、スキャン要求信号を生成させると共に、これを周囲のSRW装置に送信するようにSRTX142を制御させることができる。
スキャン要求信号に応答して、SRW装置(例えば、SRW装置110)は、一つ又は複数の条件が充足された場合に、スキャン応答信号を生成及び送信することができる。例えば、SRW装置は、アプリケーションサーバ(例えば、サーバ160又はリモートSRW装置)と通信するための十分なデータを有する場合に、スキャン応答信号を生成及び送信することができる。スキャン応答信号の目的は、SRW装置の存在及びSRWの接続ニーズについてLRW装置140に通知するというものである。従って、SRW装置は、接続が必要とされていない場合には、スキャン応答信号の生成を取り止めてもよい。その場合には、LRW装置140は、SRW装置との間においてなんらの接続をも確立しない。
プロセッサ回路146は、スキャン応答信号の有効性をいくつかの方法で検証することができる。一般に、プロセッサ回路146は、スキャン応答信号がSRW装置のアドレス指定方式に準拠しているかどうかを判定する。一実装形態においては、プロセッサ回路146は、既定のデータフォーマットに基づいてスキャン応答信号の有効性を判定することができる。例えば、プロセス回路146は、SRW装置クラスのアドレス及び/又はSRW装置とサーバとの間の送信プロトコルを検証することができる。別の実装形態においては、プロセッサ回路146は、リモート通信チャネル136を介してアプリケーションサーバ(例えば、サーバ160)との間において、スキャン応答信号の有効性を検証することができる。有効なスキャン応答信号を検出した際に、バックグラウンドスレッド152は、SRTX134を使用することにより、対応するSRW装置(例えば、SRW装置110)との間におけるローカル通信チャネル134をプロセッサ回路146に確立させることができる。ローカル通信チャネル134とリモート通信チャネル136との間のインタフェースとして機能することにより、LRW装置140は、SRW装置110をサーバ160(又は、リモートSRW装置)に接続するデータ経路を完成させる。その結果、LRW装置140は、データをSRW装置110からサーバ160に自律的な方式で中継することが可能であり、これには、人間ユーザからのなんらの入力又は介入も必要とされてはいない。
SRW装置110は、短距離通信規格に準拠した短距離通信信号を送受信するための短距離通信モジュール(Short-Range Communication module:SRC)モジュール112を含み、短距離通信規格には、限定を伴うことなしに、Bluetooth、Bluetooth Low Energy、ZigBee、IEEE802.15、6LoWPAN、Sub-GHz Wireless Radio、NFC、及びRFIDが含まれる。SRCモジュール112は、メモリ114と、プロセッサ回路116と、短距離トランシーバ(SRTX)118と、を含むハードウェアコンポーネントである。プロセッサ回路116は、LRW装置140との間において短距離無線接続を確立するためのプログラミング命令の組を実装するように構成された汎用プロセッサチップであってもよい。この代替肢において、プロセッサ回路116は、LRW装置140との間において短距離無線接続を確立するためのプログラミング命令の組が組み込まれた用途固有の集積回路(ASIC)であってもよい。
更には、プロセッサ回路116は、SRW装置110の一つ又は複数の特定の機能を実行するように構成することができる。具体的には、プロセッサ回路116は、これらの特定の機能の実行に関係したデータを受信及び処理することができる。一実装形態においては、例えば、プロセッサ回路116は、温度記録器に統合することができる。別の実装形態においては、例えば、プロセッサ回路116は、水量計に統合することができる。
メモリ114は、プロセッサ116とは独立した物理コンポーネントであってもよく、或いは、プロセッサ回路116を包含する集積回路の論理コンポーネントであってもよい。いずれの場合にも、メモリ114は、プロセッサ回路116と結合されており、且つ、メモリ114は、プロセッサ回路116の動作に関係したデータを保存する責任を担っている。一実装形態においては、メモリ114は、プロセッサ回路116の短距離無線通信動作と関係した入力及び/又は出力データを保存するべく、使用することができる。別の実装形態においては、メモリ114は、温度の記録又は水の計量などのプロセッサ回路116の特定の動作と関係した入力及び/又は出力データを保存するべく、使用することができる。更に別の実装形態においては、メモリ114は、一つ又は複数の動作を実行するべくプロセッサ回路116によってコンパイル及び/又は実行されるプログラミング命令を保存するべく、使用することができる。
関連するプログラム命令をコンパイル及び/又は実行した際に、プロセッサ回路116は、一つ又は複数の短距離通信信号を送信するように、SRTX118を駆動することになる。一般に、これらの短距離通信信号は、短距離無線ナッジング(SRWN)装置120又は長距離無線(LRW)装置140のために意図されている。SRW装置110がサーバ160又はリモートSRW装置(図示されはいない)と通信する必要がある際には、例えば、プロセッサ回路116は、短距離要求信号をSRWN装置120に送信することによって誘導信号132の生成及び送信を要求するように、SRTX118を駆動することになる。SRWN装置120が、要求元のSRW装置110のピアである場合には、SRWN装置120は、誘導信号132を生成及び送信することにより、要求を認可することになる。この時点において、LRW装置140は、誘導信号132を受信してもよく、且つ、誘導信号132によって搬送された加入識別子と関連付けられた加入処理されたサービスを認識してもよい。合意された加入を履行するべく、LRW装置140は、SRW装置110などの近傍のSRW装置との間において検証プロセスを開始する。この検証プロセスに参加するべく、プロセッサ回路116は、検証コード及び/又は認証情報を交換するための一つ又は複数の応答信号を送信するように、STRX118を駆動することになる。
SRW装置110及びLRW装置140が相互の信頼を確立した後に、プロセッサ回路116は、データをサーバ160又はリモートSRW装置に転送するための短距離データ信号を送信するように、SRTX118を駆動することになる。一実装形態においては、データ信号は、送信するSRW装置110とサーバ160とにのみ既知である秘密キーによって暗号化及び暗号解読することができる。このような実装形態においては、ローカル通信チャネル134及びリモート通信チャネル136によって確立されるデータ経路は、保護されている。その結果、短距離データ信号のコンテンツは、LRW装置140及び/又はリモート通信チャネル134に沿ったその他の中間ノードによる発見から保護される。
SRWN装置120は、SRW装置110のSRCモジュール112に類似した短距離通信モジュール(SRC)モジュール122を含む。具体的には、SRCモジュール112は、短距離通信規格に準拠した短距離通信信号を送受信するように構成されており、短距離通信規格には、限定を伴うことなしに、Bluetooth、Bluetooth Low Energy、ZigBee、IEEE802.15、6LoWPAN、Sub-GHz Wireless Radio、NFC、及びRFIDが含まれる。SRCモジュール112と同様に、SRCモジュール122は、メモリ124と、プロセッサ回路126と、短距離トランシーバ(SRTX)128と、を含むハードウェアコンポーネントである。プロセッサ回路126は、一つ又は複数の誘導信号132を生成するためのプログラム命令の組を実装するように構成された汎用プロセッサチップであってもよい。或いは、この代わりに、プロセッサ回路116は、一つ又は複数の誘導信号132を生成するためのプログラミング命令の組が組み込まれた用途固有の集積回路(ASIC)であってもよい。
メモリ124は、プロセッサ回路126とは独立した物理コンポーネントであってもよく、或いは、プロセッサ回路126を包含した集積回路の論理コンポーネントであってもよい。いずれの場合にも、メモリ124は、プロセッサ回路126と結合されており、且つ、メモリ124は、誘導信号132の生成、送信、及び隠蔽と関係したデータを保存する責任を担っている。本開示の一態様によれば、メモリ124は、LRW装置140によって加入処理された一つ又は複数の接続サービスと関連付けられた加入識別子のリストを保存するべく、使用することができる。従って、プロセッサ回路126は、誘導信号132を生成するべく、保存されている加入識別子のそれぞれを取得することができる。
加入識別子のリストは、複数の供給源から受信することができる。一実装形態においては、例えば、加入識別子のリストは、SRWN装置120の製造者がメモリ124上に予め読み込むことができる。別の実装形態においては、例えば、加入識別子のリストは、SRWN装置120がSRW装置のピア状態を認識した後に、SRW装置110などのピアSRW装置から受信することができる。更に別の実装形態においては、例えば、加入識別子のリストは、LRW装置140が、SRWN装置120とサーバ160との間において保護されたデータ経路を確立した場合に、サーバ160から受信することができる。
更には、メモリ124は、プロセッサ回路126に、誘導信号132を生成させ、且つ、その送信及び隠蔽を制御させるように、プロセッサ回路126によってコンパイル及び/又は実行されるプログラミング命令を保存するべく、使用することもできる。本開示の一態様によれば、プロセッサ回路126は、一つ又は複数の加入識別子に基づいて誘導信号132を生成するように構成されている。データ構造の観点においては、誘導信号132のペイロードは、Bluetooth、Bluetooth Low Energy、ZigBee、IEEE802.15、6LoWPAN、Sub-GHz Wireless Radio、NFC、及びRFIDなどの一つ又は複数の短距離無線通信規格において採用されている広報信号(Advertising Signal)にならってモデル化することができる。特定の実装形態として、例えば、誘導信号132は、LRW装置140が Apple iPhone であり、且つ、SRWN装置120がBLE対応型装置である場合には、iBeacon 信号にならってモデル化することができる。別の実装形態においては、誘導信号132は、LRW装置が Android 対応型スマートフォンである場合には、別のプロプライエタリなフォーマットにならってモデル化することができる。
本開示の別の態様によれば、更に、誘導信号132のペイロードは、LRW装置140に対する一つ又は複数のサービスパラメータを規定するためのデータフィールを含んでもよい。一実装形態においては、例えば、誘導信号132は、LRW装置140が複数のSRWN装置から複数の誘導信号132を受信している場合に、要求されたサービスの優先順位を規定するためのデータフィールドを含んでもよい。別の実装形態においては、例えば、誘導信号132は、LRW装置140がサービスの実行方式を判定できるように、要求されたサービスと関係した帯域幅要件を規定するためのデータフィールドを含んでもよい。更に別の実装形態においては、例えば、誘導信号132は、LRW装置140が接続サービスを提供するための十分なサービスサイクルを割り当てることができるように、ペイロードのデータサイズを規定するためのデータフィールドを含んでもよい。
誘導信号132を生成した後に、プロセッサ回路126は、LRW装置140によって提供されるサービスの品質及び持続時間を最適化するために特定の期間において誘導信号132を送信及び隠蔽するように、SRTX128を制御するべく構成されている。更に詳しくは、誘導信号132の送信は、誘導信号の隠蔽と交互に変化している。この交互に変化する送信−隠蔽の方式は、その主要な目的がSRW装置110などの短距離無線装置の存在を宣言することである従来の広報信号の送信方式とは別個である。
図2Aに示されているように、参考までに、SRW装置(例えば、SRW装置110)は、SRW装置が検出及び別の無線装置への接続を所望している際に、広報信号210を生成及び送信することができる。SRW装置の出力S(t)は、SRW装置が起動された状態に留まっている限り、同一の広報信号210を放出する。残念ながら、広報信号210の不断の送信は、LRW装置(例えば、LRW装置140)に一回しか警告することができない。広報信号210に応答して、LRW装置は、SRW装置の存在についてユーザに警告してもよく、且つ、広報信号210と関連付けられたメッセージをユーザに表示してもよい。ユーザがこのような警告を無視するか又は見落とした場合には、LRW装置は、更なる動作を実行しない。更には、LRW装置が、検出された広報信号210に基づいて動作したら、LRW装置は、連続的な広報信号210の更なる検出を無視することになる。その結果、広報信号210などの広報信号の不断の送信は、人間ユーザの監督及び/又は介入が欠如した状態において、安定した接続サービスを提供するようにLRW装置を誘導しない。
従来の広報信号とは異なり、誘導信号は、交互に変化するパターンに従って送信される。図2Bに示されているように、例えば、SRWN装置(例えば、SRWN装置120)の出力NA(t)は、連続的な通知期間において又はその最中において誘導信号IAを定期的に放出している。一実装形態においては、SRWN装置は、誘導信号232を第一通知期間221(即ちt1<t<t2)において、誘導信号234を第二通知期間223(即ち、t3<t<t4)において、誘導信号236を第三通知期間225(即ち、t5<t<t6)において、誘導信号238を第四通知期間227において、且つ、以下同様に、送信するように構成されている。
誘導信号IAの送信の際に、SRWN装置は、加入ゾーンを宣言する。図3Aに示されているように、例えば、SRWN装置320は、第一通知期間(t1<t<t2)において誘導信号IAを送信し、これにより、加入ゾーンSZAを宣言する。一般に、加入ゾーンSZAなどの加入ゾーンは、物理的境界と、論理的境界と、を有する。加入ゾーンの物理的境界は、誘導信号IAの送信範囲又は送信半径によって定義することができる。従って、LRW装置340は、自身が誘導信号IAの送信半径内に存在している際に、物理的に加入ゾーンSZAに進入している。加入ゾーンの論理的境界は、任意の時点における誘導信号IAの相対信号強度によって定義することができる。特定の実装形態に応じて、誘導信号IAの相対信号強度は、誘導信号IAの強度を閾値又は別の誘導信号の強度と比較することにより、判定することができる。
誘導信号IAの相対信号強度が十分に大きい際には、LRW装置は、加入ゾーンSZAの宣言(即ち、宣言された加入ゾーン311)を検出することができる。そして、LRW装置が、誘導信号IAに組み込まれた加入識別子との関連において接続サービスを提供するように加入処理されている場合には、LRW装置は、加入ゾーンに論理的に進入したものと見なされる。図3Aに示されているように、例えば、LRW装置340は、加入ゾーンSZAの物理的境界及び論理的境界内に存在している。加入ゾーンSZAの論理的境界に進入した際に、LRW装置340は、加入ゾーンSZAの近傍に配置されたSRW装置に対して、且つ、対応した加入契約に従って、ネットワーク接続サービスを提供することになる、一実装形態においては、SRW装置は、SRW装置が加入ゾーンの物理的境界内に配置された場合に、加入ゾーンの近傍に位置している。別の実装形態においては、SRW装置は、SRW装置が加入ゾーンの物理的境界内に配置されたノードを有するピアツーピアネットワークに接続されている場合に、加入ゾーンの近傍に位置している。
誘導信号IAの相対信号強度が、LRW装置がもはやなんらの加入ゾーンの存在をも検出しえないように十分に小さい際には、LRW装置は、加入ゾーンを論理的に離脱するか又はこれを離れたものと見なされる。本開示の一態様によれば、SRWN装置は、リセット期間のそれぞれにおいて加入ゾーンを破棄するように構成されている(即ち、破棄された加入ゾーン312)。これを目的として、SRWN装置は、誘導信号IAの相対信号強度を低減するべく、リセット期間において誘導信号IAを隠蔽している。図2Bを再度参照すれば、例えば、SRWN装置は、誘導信号232を第一リセット期間222(即ち、t2<t<t3)において、誘導信号234を第二リセット期間224(即ち、t4<t<t5)において、誘導信号236を第三リセット期間226において、且つ、以下同様に、隠蔽するように構成されている。
上述のように、誘導信号を隠蔽するためのいくつかの方法が存在しており、これらには、限定を伴うことなしに、LRW装置よる誘導信号の検出を不可能とするための誘導信号の送信の停止、誘導信号の送信振幅の低減、及び/又は誘導信号用の異なる送信周波数の採用が含まれる。隠蔽プロセスの結果として、LRW装置は、自身が加入ゾーンを離脱するか又はこれを離れたと判定するようにリードされることになる。但し、このような判定は、LRW装置が加入ゾーンの物理的境界の外側に移動することを必要としてはいない。図3Aを再度参照すれば、例えば、LRW装置340は、LRW装置340が加入ゾーンSZAの物理的境界内に留まっているにもかかわらず、リセット期間(即ち、t2<t<t3)において、加入ゾーンSZAを論理的に離脱している。加入ゾーンSZAを論理的に離脱するか又はこれを離れることにより、LRW装置340は、関連付けられた加入識別子をリセットすることが可能であり、且つ、同一の加入ゾーンへの後からの再進入を許容することができる。従って、誘導信号IAの送信及び隠蔽の交互に変化するパターンにより、SRW装置は、人間ユーザからのなんらの監督又は介入をも必要とすることなしに、連続的な安定した接続サービスを受け取ることができる。
LRW装置によって提供される接続サービスを最適化するべく、図1に示されている短距離通信システム103は、補助SRWN装置(図示されてはいない)を含んでもよい。補助SRWN装置の物理的構造は、実質的にSRWN装置120と同一である。従って、補助SRWN装置は、スタンドアロン装置であってもよく、或いは、SRWN装置120の一体的な部分であってもよい。図2Cに示されているように、SRWN装置の機能は、補助誘導信号IBを生成するステップと、リセット期間のそれぞれにおいて又はその最中において補助誘導信号IBを送信するステップと、通知期間のそれぞれにおいて又はその最中において補助誘導信号IBを隠蔽するステップと、を含む。
一般に、補助誘導信号IBを生成、送信、及び隠蔽するためのプロセスは、誘導信号IAの場合と実質的に同一である。例えば、補助誘導信号は、加入サービスと関連付けられた又はその下において認識された補助加入識別子を内蔵することにより、生成することができる。補助加入識別子は、加入識別子と同一のデータ構造を共有してもよいが、補助加入識別子は、グローバルに一意であり、且つ、従って、加入識別子とは別個である。誘導信号IAと同様に、補助誘導信号IBは、従来の広報信号(例えば、iBeacon 信号)にならってモデル化することにより、生成することができる。更には、補助誘導信号は、LRW装置に対する一つ又は複数のサービスパラメータを規定するための更なるデータフィールドを含んでもよい。これらのサービスパラメータは、通常、誘導信号IAなどの誘導信号に含まれているものに準拠している。
誘導信号IAと同様に、補助誘導信号IBも交互に変化しているが、反転されたパターンに従って送信される。図2Cを再度参照すれば、例えば、補助SRWN装置(例えば、SRWN装置120又はSRW装置320)の出力NB(t)は、連続的なリセット期間において又はその最中において定期的に補助誘導信号IBを放出している。一実装形態においては、補助SRWN装置は、補助誘導信号242を通知前リセット期間(即ち、t<t1)において、補助誘導信号244を第一リセット期間222(即ち、t2<t<t5)において、補助誘導信号246を第二リセット期間224において、補助誘導信号248を第三リセット期間226において、且つ、以下同様に、送信するように構成されている。
誘導信号IBの送信の際に、補助SRWN装置は、加入ゾーンを宣言する。図3Bに示されているように、例えば、補助SRWN装置320は、補助誘導信号IBを第一リセット期間(t2<t<t3)において送信し、これにより、補助加入ゾーンSZBを宣言する(即ち、宣言された補助加入ゾーン314)。LRW装置340が加入識別子と関連付けられた又はその下において認識された接続サービスを提供するように加入処理されている場合には、加入処理されたサービスも補助加入識別子と関連付けられるか又はその下において認識される可能性が高い。従って、LRW装置340は、リセット期間において補助加入ゾーンに論理的に進入したものと見なされる。
補助加入ゾーンSZBの論理的境界に進入した際に、LRW装置340は、接続サービスを加入ゾーンSZBの近傍に配置されたSRW装置に対して、且つ、対応した加入契約に従って、提供することになる。一実装形態においては、SRW装置は、SRW装置が補助加入ゾーンの物理的境界内に配置されている場合に、補助加入ゾーンの近傍に位置している。別の実装形態においては、SRW装置は、SRW装置が補助加入ゾーンの物理的境界内に配置されたノードを有するピアツーピアネットワークに接続されている場合に、補助加入ゾーンの近傍に位置している。
補助加入ゾーン(例えば、SZB)を宣言する目的は、加入ゾーン(例えば、SZA)を補完することにある。SRWN装置(例えば、320)は、LRW装置(例えば、340)が加入ゾーンの物理的境界に進入することになる時点を予期することができないことから、SRWN装置は、LRW装置が加入ゾーンの物理的境界内に位置している間にLRW装置が誘導信号(例えば、IA)を受信し得ることを保証することができない。例えば、LRW装置は、自身が連続的な通知期間の間において(即ち、リセット期間において)加入ゾーンの物理的境界に進入すると共にこれを離脱した場合には、なんらの誘導信号をも受け取らない。その結果、LRW装置は、LRW装置が、なんらかの接続サービスをSRW装置に提供するように加入処理されている場合にも、これを実行しない。この状況を回避するべく、補助加入ゾーンの宣言は、いずれかのリセット期間において加入ゾーンの物理的境界に進入したLRW装置を誘導するためのバックアップメカニズムを提供している。
補助誘導信号IBの相対信号強度が、LRW装置340がもはやなんらの補助加入ゾーンSZBの存在をも検出しえないように十分に小さい際には、LRW装置340は、補助加入ゾーンSZBを論理的に離脱するか又はこれを離れたものと見なされる。一実装形態においては、補助SRWN装置は、通知期間のそれぞれにおいて、補助加入ゾーンSZBを破棄するように構成されている(即ち、破棄された加入ゾーン313)。これを目的として、補助SRWN装置は、補助誘導信号IBの相対信号強度を低減するべく、通知期間において補助誘導信号IBを隠蔽している。図2Cを再度参照すれば、例えば、補助SRWN装置は、補助誘導信号242を第一通知期間221において、補助誘導信号244を第二通知期間223において、補助誘導信号246を第三通知期間225において、且つ、以下同様に、隠蔽するように構成されている。
本開示の一態様によれば、LRW装置は、補助加入ゾーンSZBが加入ゾーンSZAと空間的にオーバーラップしているという条件の下に、実質的に加入信号IAの場合と同一の方法により、補助加入信号IBに対して応答している。空間的オーバーラップの定義は、特定の実装形態に応じて変化してもよい。一実装形態においては、例えば、補助加入ゾーンSZBは、その個々の物理的境界の80%が互いにオーバーラップしている場合に、加入ゾーンSZAと空間的にオーバーラップしている。別の実装形態においては、例えば、補助加入ゾーンSZBは、SRWN装置及び補助SRWN装置がその個々の送信半径の50%以下だけ、分離されている場合に、空間的に加入ゾーンSZAとオーバーラップしている。更に別の実装形態においては、例えば、補助加入ゾーンSZBは、補助SRWN装置とSRWN装置とが単一の装置に内蔵されている場合に、加入ゾーンSZAと空間的にオーバーラップしている。
図2Dは、例えば、単一のSRWN装置が交互に変化する誘導信号IAと補助誘導信号IBとのペアを生成及び送信できることを示している。通知期間のそれぞれのものの最中において又はその内部において、SRWN装置の出力NC(t)は、誘導信号IAを送信すると共に補助誘導信号IBを隠蔽するように構成されている。そして、リセット期間のそれぞれのものの最中において又はその内部において、SRWN装置の出力NC(t)は、補助誘導信号IBを送信すると共に誘導信号IAを隠蔽するように構成されている。この結果、図3Cに示されているように、SRW装置320は、加入ゾーンSZAの宣言(即ち、宣言された加入ゾーン311)と補助加入ゾーンSZBの宣言(即ち、宣言された補助加入ゾーン314)とを交互に変化させている。そして、類似の方式により、SRW装置320は、加入ゾーンSZAの破棄(即ち、破棄された加入ゾーン312)と補助加入ゾーンSZBの破棄(即ち、破棄された補助加入ゾーン313)とを交互に変化させている。
上述のように、リセット期間は、LRW装置(例えば、LRW装置140又はLRW装置340)の再進入ポリシーを追跡するように、使用することができる。この追跡プロセスは、SRWN装置(例えば、SRWN装置120又はSRWN装置320)がLRW装置の再進入ポリシーを近似又は予測するべく十分なデータを有していない場合には、接続サービスを最適化するべく十分に正確なものであってもよく、或いは、そうでなくてもよい。これは、SRWN装置が予めLRW装置の再進入ポリシーに関するなんらの情報又は更新をも受け取っていないケースに当て嵌まるであろう。
リセット期間が過剰に短く設定されている場合には、LRW装置は、後続の誘導信号(例えば、誘導信号IA)を受信する前に加入ゾーン(例えば、加入ゾーンSZA)の破棄を認識するべく十分な時間を有することにならない。その結果、LRW装置は、加入ゾーンを論理的に離脱せず、且つ、加入ゾーンに論理的に再進入することができなくなる。LRW装置は、LRW装置が加入ゾーンに進入するたびに、接続サービスを実行するべく一つのサービスサイクルを提供することから、LRW装置は、加入ゾーンを論理的に離脱しない場合には、接続サービスを実行するべく一つのサービスサイクルしか提供しなくなる。LRW装置が Apple iPhone であるシステムにおいては、それぞれのサービスサイクルは、最大で3分のサービス期間(即ち、LRW装置が接続サービスを実行するべく対応したバックグラウンドスレッドによって駆動される期間)と、最大で20分のタイムアウト期間(即ち、対応したバックグラウンドスレッドがエネルギを節約するべく起動停止される期間)と、を含み得る。SRW装置によって要求される特定のデータアップロードサービスの場合に、一つのサービスサイクルが、タスクを完了させるには不十分である場合がある。
その一方で、リセット期間が過剰に長く設定されている場合には、SRW装置は、LRW装置が加入ゾーンを論理的に離脱した後に長期間にわたってLRW装置から接続切断された状態となる。その結果、接続サービスが効率的ではなくなり、その理由は、SRW装置の平均接続時間が、LRW装置の再進入ポリシーが許容し得るものを下回るからである。換言すれば、リセット期間がLRW装置のタイムアウト期間をわずかにのみ上回っている場合には、LRW装置は、その離脱の直後に加入ゾーンに再進入することができる。この結果、連続したサービスサイクルの間の時間経過が低減されることになり、且つ、LRW装置による有限の期間におけるサービス期間の数の極大化が許容されることになる。
リセット期間の較正不足及び/又は較正過多の問題を軽減するべく、SRWN装置(例えば、SRWN装置120又はSRWN装置320)は、それぞれのリセット期間の最中において又はその内部において複数の補助誘導信号を導入することができる。一般に、複数の補助誘導信号を生成、送信、及び隠蔽するプロセスは、誘導信号と実質的に同一である。例えば、補助誘導信号のそれぞれは、加入サービスと関連付けられた又はその下において認識された補助加入識別子を内蔵することにより、生成することができる。補助加入識別子は、加入識別子との間において類似したデータ構造を共有してもよいが、補助加入識別子は、グローバルに一意であり、且つ、従って、加入識別子とは別個である。誘導信号IAと同様に、それぞれの補助誘導信号は、従来の広報信号(例えば、iBeacon 信号)にならってモデル化することにより、生成することができる。更には、それぞれの補助誘導信号は、LRW装置に対する一つ又は複数のサービスパラメータを規定するための更なるデータフィールドを含んでもよい。これらのサービスパラメータは、通常、誘導信号IAに含まれているものに準拠している。
図2Eに示されているように、例えば、補助SRWN装置(例えば、SRWN装置120又はSRWN装置320)の出力ND(t)は、連続的なリセット期間の内部において又はその最中において、第一補助誘導信号IC及び第二補助誘導信号IDを定期的に放出している。補助誘導信号IC及びIDのそれぞれは、送信インターバルを有する。一実装形態においては、例えば、t2a<t<t4が、第一補助誘導信号IC252及び254の間の送信インターバルであり、t4a<t<t6が、第一補助誘導信号IC254及び256の間の送信インターバルであり、且つ、以下同様である。別の実装形態においては、例えば、t1<t<t2aが、第二補助誘導信号ID261及び262の間の送信インターバルであり、t3<t<t4aが、第二補助誘導信号ID262及び264の間の送信インターバルであり、t5<t<t6aが、第二補助誘導信号ID264及び266の間の送信インターバルであり、且つ、以下同様である。
それぞれの補助誘導信号の送信インターバルは、LRW装置の再進入ポリシーを動的に追跡するように、較正される。SRWN装置が、LRW装置の再進入ポリシーを近似又は予測するべく十分なデータを有していない場合には、リセット期間は、LRW装置が、リセット期間が終了する時点までに、加入ゾーン(例えば、加入ゾーンSZA)を離脱するか又はこれを離れることを保証するべく、十分に大きな値に較正される。この方式により、一般に、リセット期間の較正不足の問題を解決することができる。リセット期間の較正過多を防止するべく、それぞれの補助誘導信号の送信インターバルは、LRW装置の潜在的なタイムアウト期間を近似するように、リセット期間を下回る値において構成することができる。例えば、リセット期間が20分において較正されている場合には、第一補助誘導信号ICの送信インターバルは、15分であってもよく、第二補助誘導信号IDの送信インターバルは、10分であってもよい。LRW装置が異なる加入識別子を有する誘導信号を受信した際に、LRW装置は、自身が異なる加入ゾーンに進入したものと判定することになる。従って、図2Eに示されている例においては、LRW装置は、誘導信号IAによって開始されるそれぞれのサービスサイクルにおいて3回にわたって誘導されている。誘導されているそれぞれのインスタンスごとに、LRW装置は、更なるサービス期間を対応したバックグラウンドスレッドに割り当てることになる。その理由は、LRW装置が、初期加入ゾーン(例えば、加入ゾーンSZA)の同一の物理的境界内に留まっている場合にも、LRW装置が新しい加入ゾーンの進入を認識するからである。複数の補助誘導信号の支援により、SRW装置(例えば、SRW装置110)は、LRW装置のサービスサイクル内において更なるサービス期間にアクセス可能となり、これにより、LRW装置の接続サービスの全体的な効率を改善してもよい。
図2Eは、二つの補助誘導信号IC及びIDがそれぞれのリセット期間内において又はその最中において送信されることを示しているが、LRW装置の再進入ポリシーを動的に追跡するべく、その他の実装形態が可能であろう。一実装形態においては、例えば、SRWN装置は、それぞれのリセット期間において又はその最中において、二つを上回る数の補助誘導信号を送信することができる。別の実装形態においては、例えば、SRWN装置は、リセット期間において又はその最中において、複数回にわたって第一補助誘導信号ICを送信することができる。更に別の実装形態においては、例えば、SRWN装置は、第二補助誘導信号IDを一つおきのリセット期間において又はその最中において送信することができる。
本開示の一態様によれば、SRWN装置は、一つ又は複数のSRW装置からの緊急要求を処理するべく、緊急加入識別子の組を保持することができる。通常の加入識別子(即ち、加入識別子及び補助加入識別子)と同様に、緊急加入識別子のそれぞれも、グローバルに一意であり、且つ、そのそれぞれは、LRW装置によって加入処理された接続サービスと関連付けられているか、又はその下において認識される。SRWN装置は、ピアSRW装置から緊急要求を受信するか、又は緊急接続が必要であると判定した際に、一つ又は複数の緊急誘導信号を生成することができる。
一実装形態においては、SRWN装置は、特定の煙検出の機能を実行するピアSRW装置から、緊急要求を受信してもよい。ピアSRW装置が、住居内において蓄積される大量の煙を検出した際に、そのSRW装置は、緊急要求をSRWN装置に送信することになる。緊急要求に応答して、SRWN装置は、緊急加入識別子のうちの一つに基づいて緊急誘導信号を生成することになる。別の実装形態においては、SRWN装置は、自発的に、ピアSRW装置からの特定の接続要求が高優先順位を有していると判定してもよい。例えば、SRWN装置は、その要求がLRW装置140などの近傍の無線装置によって反復的に行われた際に、自発的に、特定の接続要求が高優先順位を有していると判定してもよい。このような判定を下した際に、SRWN装置は、緊急加入識別子のうちの一つに基づいて緊急誘導信号を生成することになる。
但し、緊急誘導信号の送信は、通常の誘導信号(即ち、誘導信号IA及び補助誘導信号IB、IC、及びID)の交互に変化するパターンに準拠する必要はない。図2A〜図2Eに示されているように、緊急誘導信号IXの送信は、その独自の交互に変化するパターンを有しており、且つ、通常の誘導信号の任意の通知期間及び/又はリセット期間内において又はその最中において開始することができる。緊急誘導信号を受信したLRW装置は、LRW装置が加入ゾーンSZAの物理的境界内に留まっている限り、誘導信号IAによって開始されるサービスサイクルとは異なるサービスサイクルを開始してもよい。
以上においては、SRW装置(例えば、SRW装置110)とSRWN装置(例えば、SRWN装置120又はSRWN装置320)とは、二つの別個の装置として記述されている。この特定のシステム(例えば、ローカル通信システム102)においては、SRWN装置は、加入処理されたサービスを提供するようにLRW装置(例えば、LRW装置140)を誘導するべく、誘導信号を生成及び送信する責任を担っている。但し、SRWN装置がLRW装置のスキャン要求に対して応答しないことから、LRW装置は、SRWN装置に対して接続サービスを提供しない。
一代替実装形態においては、SRWN装置のハードウェア及びソフトウェアは、単一の装置を形成するべく、SRW装置に内蔵することができる。この代替実装形態においては、メモリ114は、メモリ124の付加的ストレージ責任を担っており、プロセッサ回路116は、プロセッサ回路126の付加的処理責任を担っている。この目的のために、SRW装置110のプロセッサ回路116は、図2A〜図2Eに示されているように、誘導信号IA、IB、IC、ID、及びIXを含む一つ又は複数の誘導信号を生成、送信、及び隠蔽する機能を実行するように構成されている。この代替実装形態においては、LRW装置(例えば、LRW装置140)は、誘導信号を生成及び送信するSRW装置に対して接続サービスを提供している。
図4A〜図4Cは、リモート通信システムにおいて使用される短距離無線装置(SRWD)によって実行される方法400の例示用のフローチャートを示している。SRWDは、図1及び図3A〜図3Cに示されているSRWN装置(例えば、120及び320)であってもよく、或いは、SRWN装置の機能的特徴を内蔵したSRW装置(例えば、110)であってもよい。図4A〜図4Cに示されているフローチャートは、SRWDの更なる及び/又は代替特徴を含んでいるが、これらの特徴は、図1、図2A〜図2E、及び図3A〜図3Cに関する開示と一貫性を有する方式で理解及び実装することを要する。
更には、方法400は、一時的ではないコンピュータ可読媒体(例えば、メモリ114又はメモリ124)内に保存され得るプログラミング命令の組に変換することができる。このようなプログラミング命令をコンパイル及び/又は実行した際に、SRWDは、方法400の一つ又は複数のステップを実行することができる。特定の実装形態に応じて、SRWDは、これらの方法ステップのうちのそれぞれを実行するべく、一つ又は複数のデータ処理手段(例えば、プロセッサ回路116又は126)と、データ通信手段(例えば、SRTX118又は128)と、を含んでもよい。
特定の動作モードに応じて、方法400は、開示されているステップのうちの任意のものにおいて始まってもよい。一実装形態においては、例えば、方法400は、ステップ402において始まっており、ここで、SRWDは、短距離無線装置と関連付けられたサービスを実行するように、加入処理された長距離無線装置を誘導するための加入識別子を生成している。或いは、この代わりに、加入識別子は、限定を伴うことなしに、SRWD装置、ピアSRWD装置、或いは、アプリケーションサーバ160などのアプリケーションサーバの製造者を含むその他のエンティティが生成することもできる。
ステップ404において、SRWDは、短距離無線装置と関連付けられた同一のサービスを実行するように、加入処理された長距離無線装置を誘導するための補助加入識別子を生成している。或いは、この代わりに、補助加入識別子は、限定を伴うことなしに、SRWD装置又はアプリケーションサーバ160などのアプリケーションサーバの製造者を含むその他のエンティティが生成することもできる。
ステップ406において、SRWDは、これらの識別子がSRWDによってローカル生成されたのか又はその他のエンティティから受信されたのかとは無関係に、加入識別子及び補助加入識別をメモリ内において保存している。特定の実装形態に応じて、メモリは、内部メモリ(即ち、メモリ114又はメモリ124)であってもよく、或いは、SRWDからアクセス可能な外部メモリ(図示されてはいない)であってもよい。
ステップ408において、SRWDは、SRWDを起動するかどうかを判定している。SRWDは、事前認可されたピアSRWDから接続要求を受信した場合に、或いは、アプリケーションサーバへの内部データの送信のために接続サービスが必要とされていると判定した際に、起動される。SRWDが起動された場合に、SRWDは、一つ又は複数の誘導信号を生成するための手順410を開始することになる。さもなければ、SRWDは、起動状態となる時点まで、ステップ408において留まることになる。
手順410は、ステップ412〜ステップ418を含む。ステップ412において、SRWDは、保存された加入識別子を取得している。ステップ414において、SRWDは、加入ゾーンを宣言するべく、取得した加入識別子に基づいて誘導信号を生成している。ステップ416において、SRWDは、保存された補助加入識別子を取得している。ステップ418において、SRWDは、補助加入ゾーンを宣言するべく、取得した補助加入識別子に基づいて補助誘導信号を生成している。特定の実装形態に応じて、SRWDは、接続サービスを最適化するべく、図2Eとの関連において記述されているように、複数の補助誘導信号を生成してもよい。誘導信号及び補助誘導信号は、手順410において生成されているが、これらの信号は、後の時点まで送信されない。従って、加入ゾーン及び補助加入ゾーンは、手順410において宣言されてはいない。
SRWDは、手順410を実行した後に、これら二つのパラメータがまだ設定されていない場合に、或いは、SRWDがこれら二つのパラメータに関するなんらかの更新を受信した場合に、通知期間及びリセット期間を較正するための手順420を開始してもよい。手順420は、ステップ422及び424を含む。ステップ422において、SRWDは、加入ゾーン内においてサービスを実行するための長距離無線装置のポリシーに対応した通知期間を較正している。通知期間の較正は、長距離無線装置によって提供されるサービス期間を追跡している。ステップ424において、SRWDは、加入ゾーンを離脱すると共にこれに再進入するための長距離無線装置のポリシーに対応したリセット期間を較正している。リセット期間の較正は、長距離無線装置によって課されるタイムアウト期間を追跡している。
SRWDは、手順420を実行した後に、通知期間において一つ又は複数の動作を実行するための手順430を開始することになる。手順430は、ステップ432〜436を含む。ステップ432において、SRWDは、SRWDが通知期間において動作しているかどうかを判定している。一例として、SRWDは、このような判定を下すべく、通知期間をカウントダウンすることができる。SRWDが通知期間において動作している場合には、SRWDは、ステップ434及び436に移動することになる。通知期間が終了している場合には、SRWD装置は、次の手順に移動することになる。
ステップ434において、SRWDは、加入ゾーンを宣言するべく、誘導信号を送信している。ステップ436において、SRWDは、補助加入ゾーンが予め宣言されている場合に、補助加入ゾーンを破棄するべく、補助誘導信号を隠蔽している。補助誘導信号の隠蔽は、上述のように、いくつかの方法のうちの一つによって実現することができる。特定の実装形態に応じて、ステップ434及び436を実行するための構造的手段は、プロセッサ回路(例えば、プロセッサ回路116又は126)及び短距離トランシーバ(例えば、SRTX118又は128)を含んでもよい。ステップ436を実行した後に、SRWDは、通知が満了したかどうかを判定するべく、ステップ432に戻ることになる。
通知期間が満了した後に、SRWDは、リセット期間において一つ又は複数の動作を実行するための手順440を開始する。手順440は、ステップ442〜446を含む。ステップ442において、SRWDは、SRWDがリセット期間において動作しているかどうかを判定している。一例として、SRWDは、このような判定を下すべく、リセット期間をカウントダウンすることができる。SRWDがリセット期間において動作している場合には、SRWDは、ステップ444及び446に移動することになる。リセット期間が終了している場合には、SRWDは、次のステップに移動することになる。
ステップ444において、SRWDは、補助加入ゾーンを宣言するべく、補助誘導信号を送信している。特定の実装形態に応じて、SRWDは、接続サービスを最適化するべく、図2Eとの関連において記述されているように、複数の補助誘導信号を送信してもよい。ステップ446において、SRWDは、加入ゾーンが予め宣言されている場合に、加入ゾーンを破棄するべく、誘導信号を隠蔽している。誘導信号の隠蔽は、上述のように、いくつかの方法のうちの一つによって実現することができる。特定の実装形態に応じて、ステップ444及び446を実行するための構造的手段は、プロセッサ回路(例えば、プロセッサ116又は126)と、短距離トランシーバ(例えば、SRTX118又は128)と、を含んでもよい。ステップ446を実行した後に、SRWDは、通知が満了しているかどうかを判定するべく、ステップ442に戻ることになる。
リセット期間が満了した後に、SRWDは、通知期間及び/又はリセット期間を更新するための手順450を開始する。手順450は、ステップ452〜458を含む。ステップ452において、SRWDは、LRWDのサービスポリシーに対するサービス更新が受信されたかどうかを判定している。SRWDは、サービス更新をLRWDから又はLRWSと接続されたピアSRWDから受信することができる。SRWDがなんらのサービス更新をも受信しない場合には、SRWDは、ステップ456に移動することになる。さもなければ、SRWDは、ステップ454を実行し、ここで、SRWDは、サービス更新に基づいて通知期間を較正することにより、LRWDのサービスポリシーを追跡している。
ステップ456において、SRWDは、加入ゾーンを離脱するためのLRWDのポリシーに関するタイムアウト更新が受信されたかどうかを判定する。SRWDは、タイムアウト更新をLRWDから又はLRWDと接続されたピアSRWDから受信することができる。SRWDがなんらのタイムアウト更新をも受信していない場合には、SRWDは、ステップ460に移動することになる。さもなければ、SRWDは、ステップ458を実行し、ここで、SRWDは、タイムアウト更新に基づいてリセット期間を較正することにより、LRWDの再進入ポリシーを追跡している。
ステップ460において、SRWDは、SRWDを起動停止するかどうかを判定している。SRWDは、事前認可されたピアSRWDのいずれかからの接続要求の受信を停止している場合に、起動停止される。これは、ピアSRWDの接続要求が充足された際に、或いは、ピアSRWDがSRWDの加入ゾーンの物理的境界から外に移動した際に、発生し得る。或いは、この代わりに、SRWDは、接続サービスが、もはや、アプリケーションサーバに対する内部データの送信のために必要とされていないと判定した際に、起動停止される。これは、SRWDが内部データをアプリケーションサーバに正常に送信した際に発生し得る。SRWDが起動停止された場合に、SRWDは、ステップ408に戻ることになり、ここで、SRWDは、別の起動のラウンドを待つことになる。さもなければ、SRWDは、ステップ432に戻ることになり、ここで、SRWDは、通知期間において一つ又は複数の動作を実行するための手順430を開始することになる。
方法400を実行する目的は、SRWDとの間において短距離無線通信チャネルを確立するように、長距離無線装置を誘導することにある。長距離無線装置は、誘導されたら、短距離無線通信チャネル(例えば、ローカル通信134)を確立する前に、SRWDとの間において相互認証プロセスを実行することになる。そして、短距離無線通信チャネルが確立された後に、SRWDは、暗号化プロセスを適用することにより、サーバと通信することができる。
図5A〜図5Eは、リモート通信システムにおいて使用される長距離無線装置(LRWD)によって実行される方法500の例示用のフローチャートを示している。LRWDは、図1及び図3A〜図3Cに示されているLRW装置(例えば、140及び340)であってもよい。図5A〜図5Eに示されているフローチャートは、LRWDの更なる且つ/又は代替特徴を含んでいるが、これらの特徴は、図1、図2A〜図2E、及び図3A〜図3Cに関する開示と一貫性を有する方式で理解及び実装することを要する。更には、方法500は、一時的ではないコンピュータ可読媒体(例えば、メモリ147)内において保存され得るプログラミング命令の組に変換することもできる。このようなプログラミング命令をコンパイル及び/又は実行した際に、LRWDは、方法500の一つ又は複数のステップを実行することができる。特定の実装形態に応じて、LRWDは、これらの方法ステップのうちのそれぞれを実行するべく、一つ又は複数の処理手段(例えば、処理回路146)と、データ通信手段(例えば、SRTX142及び/又はLRTX144)と、を含んでもよい。
特定の動作モードに応じて、方法500は、開示されているステップのうちの任意のものにおいて始まってもよい。一実装形態においては、例えば、方法500は、ステップ501において始まっており、ここで、LRWDは、フォアグラウンドスレッドと、バックグラウンドスレッドと、を有するアプリケーションをインストールしている。ステップ502において、LRWDは、アプリケーションのフォアグラウンドスレッドを通じて、短距離無線通信装置(SRWD)に関係したサービス加入を表示している。サービス加入により、LRWDは、人間ユーザがサービス加入を受け入れたら、人間ユーザからのなんらの監督又は介入をも伴うことなしに、短距離無線接続サービス及びデータ転送サービスをSRWDに提供することができる。人間ユーザがサービス加入を受け入れるべく選択した場合に、LRWDは、ステップ503において、受け入れられた加入要求をアプリケーションのフォアグラウンドスレッドを通じて登録することになる。
ステップ504において、LRWDは、加入要求に基づいて、サーバから加入識別子をダウンロードしている。特定の実装形態に応じて、LRWDは、複数の加入識別子をダウンロードしてもよく、或いは、別の供給源から加入識別子を受信してもよい。加入識別子のそれぞれは、グローバルに一意であり、且つ、サービス加入と関連付けられている。それぞれの加入識別子ごとに、LRWDは、SRWDに対して発行されたマッチングした加入識別子をダウンロードするか又は受信する。次いで、ステップ505において、LRWDは、加入識別子をアプリケーション及びSRWDと関係付けられた加入レジストリ内において保存している。一実装形態においては、例えば、LRWDは、特定の加入識別子の下において加入レジストリレコードをチェックすることにより、アプリケーション又はSRWDを認識することができる。
加入識別子を保存した後に、LRWDは、ステップ506において、エネルギを節約するべく、アプリケーションを起動停止している。LRWDのユーザが、ステップ506の後に、アプリケーションを動作させない場合には、アプリケーションのバックグラウンドスレッド及びフォアグランドスレッドは、起動停止された状態において留まることになる。同時に、LRWDは、誘導信号を検出するべく、到来する短距離無線信号を監視することになる。LRWDが、ステップ507において、誘導信号を受信した場合には、LRWDは、ステップ508において、誘導信号から識別子を取得することになる。次いで、ステップ509において、LRWDは、マッチングした加入識別子を見出すべく、取得した識別子を加入レジストリと比較している。
ステップ510において、LRWDは、マッチングした加入識別子が加入レジストリ内に配置されているかどうかを判定している。一般に、加入レジストリは、LRWDのユーザが、マッチングした加入識別子と関連付けられた加入サービスを以前に受け入れている場合に、マッチングした加入識別子を有するレコードを含んでいる。マッチングした加入識別子が存在している場合には、LRWDは、マッチングした加入識別子と関連付けられた加入ゾーンへの進入を登録するべく、ステップ511に進むことになる。その一方で、マッチングした加入識別子が存在しない場合には、LRWDは、次の誘導信号を待つべく、ステップ507に戻ることになる。
加入ゾーンへの進入を登録した後に、LRWDは、マッチングした加入識別子と関連付けられたアプリケーションのバックグラウンドスレッドを起動するべく、ステップ512に進む。一実装形態においては、LRWDは、いずれのアプリケーションが、マッチングした加入識別子と関連付けられているのかを判定するべく、加入レジストリをチェックしてもよい。それぞれの加入識別子は、グローバルに一意であるが、複数のアプリケーションと関連付けることができる。従って、LRWDは、マッチングした加入識別子が複数のアプリケーションと関連付けられている際には、複数のバックグラウンドスレッドを起動することができる。
関連付けられたアプリケーションのバックグラウンドスレッドを起動することにより、LRWDは、加入ゾーンの近傍に位置したSRWDと通信するための手順を開始する。人間ユーザからの入力、監督、又は介入が、この手順においては必要とされないことから、LRWDは、自律的に通信手順を実行する。バックグラウンドスレッドを起動している間に、LRWDは、人間ユーザからのフォアグラウンド要求を受信する時点まで、ステップ513において、フォアグランドスレッドを起動停止された状態において維持している。
バックグラウンドスレッドを実行することにより、LRWDは、ステップ514において、加入識別子に基づいてスキャン要求信号を生成しており、且つ、ステップ515において、短距離トランシーバ(例えば、SRTX142)を使用することにより、スキャン要求信号を送信している。フォアグラウンドスレッドは、スキャン要求信号の生成及び送信の際に必要とされないことから、人間ユーザからの入力、監督、又は介入は、必要とされていない。スキャン要求信号は、加入ゾーンの近傍に配置されたすべての事前認可されたSRWDのために、意図されている。一般に、接続を所望しているSRWDは、スキャン応答信号を生成及び送信することにより、スキャン要求信号に応答することになる。
スキャン要求信号を送信した後に、LRWDは、ステップ516において、スキャン応答信号が検出されているかどうかを判定している。LRWDが、まだ、なんらのスキャン応答信号をも検出していない場合には、LRWDは、ステップ517に進むことになり、ここで、LRWDは、スキャン期間が満了したかどうかを判定している。一般に、スキャン期間は、LRWDがスキャン応答信号のために所望する時間量である。スキャン期間が満了している場合には、LRWDは、次の誘導信号を待つべく、ステップ507に戻ることになる。但し、スキャン期間がまだ満了していない場合には、LRWDは、スキャン応答信号のサーチを継続するべく、ステップ516に戻ることになる。スキャン応答信号がステップ516において検出された場合には、LRWDは、ステップ518に進むことになり、ここで、LRWDは、SRWDからスキャン応答信号を受信している。
特定の実装形態に応じて、スキャン応答信号を送信するSRWDは、誘導信号を送信するSRWDであってもよく、或いは、そうでなくてもよい。一実装形態においては、例えば、スキャン応答信号を送信するSRWDは、SRWDが、用途固有の装置(例えば、BLE温度記録器又はBLE水量計)のみならず、ナッジング装置(例えば、SRWN120又はSRWN320)としても機能する際には、誘導信号を送信する同一のSRWDである。別の実装形態においては、例えば、スキャン応答信号を送信するSRWDは、誘導信号を送信するSRWDのピアである。
スキャン応答信号を受信した後に、LRWDは、ステップ519において、リモート通信チャネル136などのリモート通信チャネルを介してサーバとの間においてスキャン応答信号の有効性を検証している。検証プロセスは、バックグラウンドスレッドを通じて実行されており、且つ、従って、なんらの人間の監督又は介入をも必要としていない。或いは、この代わりに、検証プロセスは、サーバを伴うことなしに実行することもできる。一実装形態においては、例えば、LRWDは、スキャン応答信号の有効性を検証するべく、予めインストールされたパラメータの組に依存してもよい。
LRWDが、ステップ520において、スキャン応答信号が無効であると判定した場合には、LRWDは、スキャン応答信号のサーチを継続するべく、ステップ516に戻ることになる。但し、LRWDが、ステップ520において、スキャン応答信号が無効であると判定した場合には、LRWDは、ステップ521に進むことになり、ここで、LRWDは、ユーザによって加入処理されると共に対応した加入識別子と関連付けられたサービスの開始を登録している。これは、サービスサイクルの開始をマーキングしており、サービスサイクルは、一般に、サービス期間と、タイムアウト期間と、を含む。ステップ522において、LRWDは、バックグラウンドスレッドを通じて、且つ、なんらの人間介入の要求をも伴うことなしに、検証されたSRWDとの間において短距離無線接続を確立している。
次に、ステップ523において、LRWDは、加入識別子と関連付けられたサービスポリシーに従って確立された短距離無線接続を介して、サービスを実行している。サービスは、バックグラウンドスレッドを使用して実行されることから、LRWDは、なんらの人間の監督又は介入をも要求しない。サービスポリシーにおいて規定されるサービスは、アプリケーションごとに変化してもよい。一実装形態においては、例えば、サービスポリシーは、SRWDとサーバ160などの指定されたサーバとの間に保護されたデータ経路を確立するステップを含むように、サービスを規定してもよい。別の実装形態においては、例えば、サービスポリシーは、SRWDから指定されたサーバにデータを中継するステップを含むように、サービスを規定してもよい。
ステップ524において、LRWDは、サービス期間が終了したかどうかをサービスポリシーに基づいて判定している。特定の実装形態に応じて、サービスポリシーは、固定サービス期間、可変サービス期間、又はこれらの組合せを規定してもよい。従って、サービス期間の持続時間は、いくつかの例においては、アプリケーションに固有のものであってもよい。サービス期間がまだ終了していない場合には、LRWDは、サービスの実行を継続するべくステップ523に戻ることになる。但し、サービス期間が終了している場合には、LRWDは、ステップ525に進むことになり、ここで、LRWDは、サービスの実行結果に基づいてサービス状態を登録している。一実装形態においては、例えば、LRWDは、SRWDからサーバに送信することを要する残りのデータのパーセンテージを報告するデータ送信状態を登録することができる。別の実装形態においては、例えば、LRWDは、統計及び/又は課金を目的として、短距離無線通信の平均スループットを登録することができる。更に別の実装形態においては、例えば、LRWDは、LRWDがサービス期間内においてサービス全体を完了させることができた場合に、完了状態を登録することができる。
サービス状態を登録した後に、LRWDは、ステップ526において、接続されているSRWDにサービス状態及びサービスポリシーを送信している。この送信により、SRWDは、要求されたサービスの進捗状況のみならず、サービスポリシー内において規定されているサービス期間をも追跡することができる。次いで、LRWDは、ステップ527に進むことになり、ここで、LRWDは、検証されたSRWDとの間における短距離無線接続を除去している。
SRWDとの間の接続を終了した際に、LRWDは、ステップ528において、LRWDが加入ゾーンを離脱したかどうかを再進入ポリシーに基づいて判定している。特定の実装形態に応じて、再進入ポリシーは、LRWDが加入ゾーンを離脱したかどうかを判定するためのタイムアウト期間を規定してもよい。例えば、LRWDは、LRWDが、タイムアウト期間を超過する期間にわたって対応した誘導信号を受信していない場合に、加入ゾーンの離脱を判定することができる。従って、LRWDは、LRWDが加入ゾーンの物理的境界を離れた際に、且つ/又は、SRWDが対応した誘導信号を隠蔽した際に、加入ゾーンの離脱を判定することができる。
又、特定の実装形態に応じて、再進入ポリシーは、固定タイムアウト期間、可変タイムアウト期間、又はこれらの組合せを規定してもよい。従って、タイムアウト期間の持続時間は、いくつかの例においては、アプリケーションに固有のものであってもよい。任意選択により、LRWDは、SRWDが次のサービスサイクルのタイムアウト期間を追跡することができるように、ステップ526において、再進入ポリシーをSRWDに伝達することができる。
LRWDが、自身が依然として加入ゾーン内に位置していると判定した場合に、LRWDは、ステップ528に戻ることになり、ここで、LRWDは、加入ゾーンの離脱を待つ。その一方において、LRWDが、自身が加入ゾーンを離脱していると判定した場合には、LRWDは、ステップ529に進むことになり、ここで、LRWDは、加入ゾーンからの離脱を登録している。これは、サービスサイクルの完了をマーキングしており、この時点において、LRWDは、次の誘導信号を待つべく、ステップ507に戻る。
以上、いくつかの実施形態について詳細に説明したが、様々な変更が可能である。本明細書に記述されている機能的動作を含む開示された主題は、(メモリ装置、ストレージ装置、機械可読ストレージ基材、又はその他の物理的機械可読媒体、又はこれらのうちの一つ又は複数のものの組合せなどの)一つ又は複数のデータ処理装置に、記述されている方法及び/又は動作を実行させるように動作可能であるプログラムを潜在的に含む本明細書において開示されている構造的手段及びその構造的均等物などの電気回路、コンピュータハードウェア、ファームウェア、ソフトウェア、又は、これらの組合せにおいて実装することができる。
プログラム(コンピュータプログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコードとも呼称される)は、コンパイラ又はインタープリタ言語、或いは、宣言型又は手続型言語を含む任意の形態のプログラミング言語において記述することが可能であり、且つ、スタンドアロンプログラム、或いは、モジュール、コンポーネント、サブルーチン、又は演算環境において使用されるのに適したその他の単位を含む任意の形態において配備することができる。プログラムは、必ずしも、ファイルシステムにおける一つのファイルに対応してはいない。プログラムは、その他のプログラム又はデータを保持するファイルの一部分において(例えば、マークアップ言語文書内において保存された一つ又は複数のスクリプト)、対象のプログラムに専用の単一のファイル内において、或いは、複数の調整されたファイル内において(例えば、一つ又は複数のモジュール、サブプログラム、又はコードの一部分を保存するファイル)、保存することができる。プログラムは、一つのコンピュータ上において、或いは、一つのサイトにおいて配置されるか又は複数のサイトにわたって分散されると共に通信ネットワークによって相互接続された複数のコンピュータ上において、稼働するように、配備することができる。
本明細書は、多くの具体的な事項を含んでいるが、これらは、特許請求され得る内容の範囲に対する限定として、ではなく、むしろ、特定の実施形態に固有であり得る特徴の説明として、解釈することを要する。又、別個の実施形態の文脈において本明細書において記述されている特定の特徴は、単一の実施形態において、組合せとして実装することができる。又、逆に、単一の実施形態の文脈において記述されている様々な特徴も、複数の実施形態において別個に、或いは、任意の適切なサブ組合せとして、実装することができる。更には、特徴が、特定の組合せにおいて機能するものとして上述されている場合もあり、且つ、場合によっては、そのように、当初、特許請求されている場合もあるが、特許請求された組合せのうちの一つ又は複数の特徴は、いくつかのケースにおいては、組合せから削除することが可能であり、且つ、特許請求されている組合せは、サブ組合せ又はサブ組合せの変形を対象としてもよい。
同様に、図面には、動作が、特定の順序において示されているが、これは、その順序が一つ又は複数の請求項において記述されていない限り、望ましい結果を実現するために、それらの動作が図示の特定の順序において又は連続的な順序において実行されることを要するものとして、或いは、すべての図示の動作が実行されることを要するものとして、理解するべきではない。特定の状況においては、マルチタスク処理及び並列処理が有利であろう。更には、上述の実施形態における様々なシステムコンポーネントの分離は、その分離がすべての実施形態において必要とされているものと理解するべきではない。