JP4053407B2 - Electronic device capable of communication, communication method therefor, and recording medium for the communication method - Google Patents

Electronic device capable of communication, communication method therefor, and recording medium for the communication method Download PDF

Info

Publication number
JP4053407B2
JP4053407B2 JP2002337230A JP2002337230A JP4053407B2 JP 4053407 B2 JP4053407 B2 JP 4053407B2 JP 2002337230 A JP2002337230 A JP 2002337230A JP 2002337230 A JP2002337230 A JP 2002337230A JP 4053407 B2 JP4053407 B2 JP 4053407B2
Authority
JP
Japan
Prior art keywords
electronic device
communication
time point
schedule
recording medium
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002337230A
Other languages
Japanese (ja)
Other versions
JP2003218881A (en
Inventor
ジェームス ハラスニー ダリル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US10/006,440 external-priority patent/US7024482B2/en
Application filed by Sharp Corp filed Critical Sharp Corp
Publication of JP2003218881A publication Critical patent/JP2003218881A/en
Application granted granted Critical
Publication of JP4053407B2 publication Critical patent/JP4053407B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

技術的なフィールド
本発明は、一般に、電子装置に関する、特に、各電子装置の間で通信期間のスケジュール(予定)を調整するためのシステムとメソッドと上記メソッドを実行するための実行可能な各インストラクションを含むプログラムデータを有するコンピュータ読み込み可能な記録媒体とに関するものである。
【0001】
バックグラウンド
コンピュータおよび通信技術は、急速なペースで進歩し続けている。実際、コンピュータと通信技術は人の日常生活に多くの点で関わっている。例えば、今日消費者によって使用される多くの電子装置には、電子装置内に小さいコンピュータが組み込まれている。
【0002】
これらの小さいコンピュータはサイズと技術の高度さの程度を色々に変えられる。これらの小さいコンピュータは、技術の高度さの程度において、マイクロコントローラからフル機能が完備したコンピュータシステムまで種々変化させることができる。例えば、小さいコンピュータは、マイクロコントローラなどのワンチップコンピュータ、コントローラなどの1ボードタイプのコンピュータ、IBM−PCコンパチブルなどの典型的なデスクトップコンピュータなどであってもよい。
【0003】
コンピュータは、一般に1または2以上のプロセッサを備えている。少なくとも1つのプロセッサは、通常、異なった外部の入力と出力に相互接続されて、特定のコンピュータや電子装置を運用するように機能する。例えば、サーモスタットのプロセッサは、温度設定を選択するためのボタンに、また、温度を変化させるための加熱炉やエアコンに、さらに温度の読み込みにより上記温度をディスプレイに表示するためのセンサに接続されてもよい。
【0004】
多くの電気器具、電子装置などは、1つか複数の小さいコンピュータを含んでいる。例えば、サーモスタット、加熱炉、空調システム、冷蔵庫、電話、タイプライタ、自動車、自動販売機、および多くの異なったタイプの産業設備は、現在、小さいコンピュータ、またはプロセッサが、それらの内部に通常備えている。
【0005】
コンピュータソフトウェアはこれらのコンピュータのプロセッサを動かして、あるタスクを実行するために、するべきことをプロセッサにインストラクションを送る。例えば、サーモスタット上を走るコンピュータソフトウェアは、エアコンが特定の温度が達したときに作動を停止させ、または必要とされるときにヒーターをオンさせる。
【0006】
デバイス、電気器具、ツールなどの部分である小さいコンピュータのこれらのタイプはしばしば組込み型システムと呼ばれる。通常「組込み型システム」が示す語句は、コンピュータハードウェアおよびより大きいシステムの一部であるソフトウェアに関するものである。
【0007】
組込み型システムは、キーボード、マウス、および/またはモニタなどの典型的な入出力デバイスを備えていないことがある。通常、それぞれの組込み型システムの心臓部には、少なくとも1台のプロセッサが設けられている。
【0008】
電子装置と組込み型システムの使用の増加や、情報交換の要求の増加に伴って、より多くのデバイスが周囲のデバイスを検出して、現在、これらのデバイスで電子的な通信を確立できるようになってきた。
【0009】
ブルーツース(ブルーツース、登録商標)の仕様はデバイスが短波長電波信号を通して互いに通信できる1つの標準を規定している。ユーザ介入を必要としないで、多くの種類のデバイスは他のデバイスと接続できることから利益を得ることができる。例えば、プリンタ、携帯情報端末、デジタルカメラ、電話、ラップトップコンピュータ、ビデオモニタ、電子カレンダー、デスクトップ、ファックス、キーボード、ジョイスティックなどの全ては他のデバイスに接続するための短波長無線方式の一部になってもよい。
【0010】
このタイプの通信を可能にすることによって、ブリッジは固定ネットワークインフラストラクチャから遠くで接続された各デバイスの小さい個人の特別な組分けを形成するための既存のデータネットワークに提供される。このようにして、デバイスネットワークは、各デバイスが互いに発見するにしたがって、早急に形成される可能性がある。
【0011】
しかしながら、より多くのデバイスが、互いに通信するのを試みるとき、通信のスローダウンを招くことや、またはそうでなければ1台以上の電子装置の通信の全体を隠してしまうことといった、非効率性を発生する可能性がある。したがって、各電子装置間での通信が、より効果的な通信技術を提供するために追加システムとメソッドで増強されたならば、利益を得ることができる。
【0012】
発明の概要
電子装置は、第一のデバイスネットワークと通信し、第二のデバイスネットワークの一部である第二のデバイスと通信するようになっていることが開示されている。
【0013】
上記デバイスは、プロセッサと、上記プロセッサとの電子的な通信にて、第二のデバイスを含む他の各デバイス、および、第一のデバイスネットワークからの少なくとも1つのデバイスとの通信のための通信モジュールとを含んでいる。
【0014】
また、メモリが、上記プロセッサとの電子的な通信において、データ格納のために含まれてもよい。
【0015】
また、電子装置は、電子装置が他のデバイスと通信するためのスケジュールを規定する、各タイムポイントを設定するための擬似ランダムスケジューラを含んでいてもよい。また、動的なスケジューラが、スケジュールを変更するために含まれていてもよい。また、電子装置はイベントキューを含んでいてもよい。
【0016】
上記の動的なスケジューラは、通信の処理能力を動的に割り当てる、公平な(fair)割り当てメソッドを実行するようになっていてもよい。上記の公平な割り当てメソッドは、以前の通信期間を延長するステップを含んでいてもよい。また、上記の公平な割り当てメソッドは、イベントキューにおいて、開始の各タイムポイントの数を減らすステップを含んでいてもよい。
【0017】
日和見的な(opportunistic)割り当てメソッドが、動的に通信処理能力を割り当てるために、動的なスケジューラによって実行されるようになっていてもよい。日和見的な割り当てメソッドは、待機中のトラフィックおよびデバイスの利用可能性を評価するステップと、上記評価に基づいて上気スケジュールを変更するステップとを含んでいてもよい。
【0018】
擬似ランダムスケジューラは、各タイムポイントを生成するために、予め設定された同期型(synchronized)のメソッドを実行するようになっていてもよい。さらに、擬似ランダムスケジューラは、各タイムポイントを生成するために、予め設定された非同期型(asynchronized)のメソッドを実行するようになっていてもよい。
【0019】
また、リアルタイムのメソッドが、擬似ランダムスケジューラで使用されてもよい。上記イベントキューは、複数の開始の各タイムポイントを含んでいてもよい。また、複数のチャンネル識別子がイベントキューに格納されていてもよい。さらに、イベントキューは、データ待機中を示す、複数の各インディケータを含んでいてもよい。
【0020】
電子装置はさらにスケジューリングと通信のための状態機械(state machine)を含んでいてもよい。上記状態機械は、アイドル状態、データ状態、スケジュール折衝状態、および再確立状態を含んでいてもよい。
【0021】
上記電子装置はブルーツースシステムで使用されてもよい。そのような環境で、デバイスはピコネット(piconet、登録商標)の一部であってもよい。デバイスがピコネットの一部である場合、擬似ランダムスケジューラは、各ピコネットと通信する電子装置のためのスケジュールを規定する各タイムポイントを提供するようになっていてもよい。
【0022】
また、各電子装置の間での通信期間を、擬似ランダムに、かつ動的にスケジューリングするためのメソッドも開示されている。上記メソッドは、第一の電子装置から第一のデバイスネットワークに出力データを伝送するステップと、第一の電子装置によって第一のデバイスネットワークから入力データを受け取るステップとを含んでいてもよい。
【0023】
また、上記メソッドは、第二のデバイスネットワークの第二の電子装置を発見するステップと、第一のデバイスネットワークおよび第二のデバイスネットワークと通信するためのスケジュールを規定する、擬似ランダムな各タイムポイント提供するステップと、イベントキューにおいて上記各タイムポイントを格納するステップと、追加通信バンド幅を少なくとも1つの通信チャネルに対し、追加の通信処理能力を加えるために、動的にスケジュールを変更するステップとを含んでいてもよい。
【0024】
また、プログラムデータを実行するためのコンピュータ読み取り可能な媒体が開示されている。上記プログラムデータはメソッドを実施するための実行可能なインストラクションを含む。上記メソッドは、第一の電子装置から第一のデバイスネットワークに出力データを伝送するステップと、第一の電子装置によって第一のデバイスネットワークから入力データを受け取るステップとを含んでいてもよい。
【0025】
また、上記メソッドは、第二のデバイスネットワークの第二の電子装置を発見するステップと、第一のデバイスネットワークおよび第二のデバイスネットワークと通信するためのスケジュールを規定する、擬似ランダムな各タイムポイント提供するステップと、イベントキューにおいて上記各タイムポイントを格納するステップと、追加通信バンド幅を少なくとも1つの通信チャネルに対し、追加の通信処理能力を加えるために、動的にスケジュールを変更するステップとを含んでいてもよい。
【0026】
本実施例は、添付の各図面と組み合わされて理解される以下の説明文と添付された各請求項とから、より完全に明らかになるだろう。
【0027】
これらの各図面が典型的な実施例を単に示していて、発明の範囲について制限するものではないことが理解される。本実施例は、さらなる明細と添付した各図面により説明されるであろう。
【0028】
詳細な説明文
本明細書において、各図面に示され、一般的に説明されているように、本実施例の各構成は、容易に理解され、また、種々な違った構成にアレンジされ設計されることも明らかであろう。
【0029】
したがって、各図面で表されるように本発明のシステムとメソッドとの実施例の以下のより詳細な説明は、本発明の単なる実施例であって、本願請求項にて請求されているように本願発明の範囲を限定することを意図するものではない。
【0030】
図1(a)は、2つの電子装置(デバイス)102、104を含む電子装置ペア106を示すブロック図である。上記電子装置ペア106は、互いに通信108を始めることができる。
【0031】
各電子装置102、104としては、自動販売機、電話、ドアロック、温度検出器、モータ、スイッチ、光源、プリンタ、ファックスマシン、冷蔵庫、ヘルスモニタ、エレベータ/エスカレータ、コピー機、スキャナ、製造設備、産業設備、コンピュータ装置、周辺装置、セキュリティシステム、モニタ用設備、サーモスタット、およびそれらと同様のものが例として挙げられる。
【0032】
図1(b)は、電子装置ペア106の各電子装置102、104間の通信期間112のためのスケジュール(予定)110を含む、各通信期間のタイミングチャートを示す。
【0033】
通常、スケジュール110は電子装置ペア106の各電子装置の何れかの通信希望により作成される。スケジュール110は、電子装置ペア106に固有のものでもよいし、両電子装置102、104に設定されているものでもよい。
【0034】
図示されているように、スケジュール110は、電子装置ペア106の間の通信の開始や終了を示す信号となる各タイムポイント114、116を含んでいてもよい。
【0035】
開始タイムポイント114とイベント終了タイムポイント116との間の時間は通信期間112と呼ばれる。開始タイムポイント114が、2つの電子装置102、104間で通信を開始するために用いられる典型的なメソッドである。両方の電子装置102、104は、通常、開始タイムポイント114にて通信を開始できるように、開始タイムポイント114を認識している。
【0036】
図1(a)の実施例では、どちらの電子装置102、104も通信を終了できるようになっている。電子装置は、任意に通信期間112を終了できるが、一般には、上記通信期間112は、別の電子装置ペアのスケジュールからのタイムポイントと衝突(かち合う)することにより終了される。
【0037】
通信期間112の終了は、接続関係毎の、電子装置ペア106の間で信号をやり取りすることによって、実行されてもよい。終了のタイムポイント116は、通信期間112を終わらせるのに使用されてもよいが、必ずしもそうでなくともよい。終了のタイムポイント116はペアの各電子装置の間に実行されるスケジュール折衝(negotiation)プロセスによって作成される。
【0038】
通常、開始のタイムポイント114は、他の互いに接続された各電子装置ペアのための擬似ランダムスケジュールに対して、一意(固有)でランダムな予め設定された擬似ランダムスケジュールによって決定される。
【0039】
開始のタイムポイント114は、スケジュール化された擬似ランダムのスケジュールによって決定されるような通信期間のアクティブな範囲内に、折衝されたタイムポイントがある、各電子装置ペア間での折衝により決定されてもよい。上記の折衝プロセスは電子装置ペアの間で実行されて、他の目的のためのスケジュールにおいて空き時間を作成するために使用されている。
【0040】
電子装置ペア106は、通常、接続に関してマスタの役割を有する1つの電子装置とスレーブの役割を有する別の電子装置からなっている。マスタ電子装置は、一般に、接続を開始し、制御するものである一方、スレーブ電子装置はマスタのコマンドに応答するものである。上記スケジュールは、通常、マスタ電子装置のクロックを時間ベースとして使用している。上記スレーブ電子装置は上記クロックとの同期を維持してもよい。両方の電子装置に利用可能であるならば、別の時間ベースを使用してもよい。
【0041】
図1(c)は、複数の開始の各タイムポイント124、126、128、複数の終了の各タイムポイント130、132、134、および/または各イベント終了を含む一連の各通信期間118、120、122を示すタイミングチャートである。
【0042】
多くの状況においては、電子装置ペア106は、期間を超えて互いの間の通信を続行してもよい。これらの通信は、1つの連続した通信期間112であるより、むしろいくつかの各通信期間118、120、122で行われてもよい。
【0043】
図1(a)ないし図1(c)は、互いに通信する2つの電子装置102、104を示しているが、2を超える各電子装置間の相互間での通信が存在するような状況にある場合では、例えば、図2(a)に示されるように、2つの電子装置(デバイス)ネットワーク202、204が存在してもよい。
【0044】
電子装置A206、電子装置B208、電子装置C210、および電子装置D212は、第一の電子装置ネットワーク202を形成している。電子装置E214、電子装置F216、電子装置G218および電子装置H220は、第二の電子装置ネットワーク204を形成している。
【0045】
図2(a)は、2つの別々の各電子装置ネットワーク202、204、言い換えれば2台の異なったシステムを示している。第一の電子装置ネットワーク202は、1つのマスタと3つのスレーブとを含んでいる。電子装置A206は、マスタとして使用される一方、電子装置B208、電子装置C210、および電子装置D212は、スレーブとして使用される。また、第二の電子装置ネットワーク204は、マスタ(電子装置E214)と、3つのスレーブ(電子装置F216、電子装置G218および電子装置H220)を含む。
【0046】
図示されるように、システム内コミュニケーション222は、第一の電子装置ネットワーク202の各電子装置の間や、第二の電子装置ネットワーク204の各電子装置の間にて発生するものである。
【0047】
本発明の実施例に関する一つの応用例は、ブルーツース(ブルーツース)標準と、ブルーツースに関連するパーソナルエリアネットワークの関するものであってもよい。ブルーツースシステムの仕様書に記載されているブルーツース標準は、参照により本明細書に組み込まれている。
【0048】
用いる通信システムの型に応じて、本発明のスケジューラの応用は、以前に内部システムリンクにて考慮されたことに拡張することができる。本発明は、特に、ピコネットが個々の独立したシステムとしてあるブルーツースシステムへ適用することが好ましい。ブルーツースの分野では、各電子装置ネットワーク202、204はともにピコネットであってもよい。
【0049】
各ピコネット間の接続が形成されたとき、本発明のスケジューラは、新たな接続と、もし以前にピコネットマスタが存在していれば、そのピコネットマスタへの以前のピコネット内での接続との双方に対して適用可能である。
【0050】
もちろん、当業者にとって、本明細書にて開示された実施例と本発明の原理がパーソナルエリアネットワークおよび/またはブルーツースネットワークに制限されないのは明らかであろう。
【0051】
本明細に記載の本発明の原理は、互いに通信する、各電子装置、および/または各コンピュータを含む、様々なタイプの各通信システムに適用可能である。
【0052】
さらに図2(a)ないし図2(d)に示される例には、2つのネットワーク202、204を接続する3つの一般に可能な方法が示されている。上述したように、図2(a)ないし図2(d)では、電子装置A206、電子装置E214は、マスタとしての役割を果たす一方、それら以外の各電子装置はスレーブとして役割を果たす。したがって、マスタ/スレーブ関係はそれぞれの電子装置ネットワーク202、204のマスタとスレーブの間に存在する。
【0053】
図2(b)は電子装置D212と電子装置F216の間でシステム間通信リンク224を示している。本明細書に記載の、スケジューリングの装置とメソッドは、システム間通信リンク224に使用可能である。
【0054】
また、図示されるように、電子装置A206と電子装置D212との間、電子装置E214と電子装置F216との間の各リンクも、システム間通信リンク224として取り扱われてもよい。
【0055】
それゆえ、スレーブとそのマスタとの間の元々からの接続も、上記スレーブ電子装置が追加されたリンクにより全てのときに上記マスタにとって利用可能とならないため、今やシステム間リンクとして取り扱われてもよい。
【0056】
電子装置A206と、電子装置D212との間、電子装置E214と電子装置F216との間の各通信は、各スレーブ(電子装置D212と電子装置F216)の処理能が単に1つの接続へというより今やむしろ2つの各通信に共有されることになるので、リスケジュールされてもよい。
【0057】
図2(c)は2つのマスタ電子装置206、214の間でのシステム間通信リンク224を示している。図2(d)はマスタ(電子装置A206)とスレーブ(電子装置F216)との間でのシステム間通信リンク224を示している。
【0058】
図2(a)−2Dの各実施例がブルーツース環境にて使用され実行される場合、2つのシステムである各ネットワーク202、204およびシステム間通信リンク224はスキャッタネット(scatternet)と呼ばれてもよい。上述されたように、本明細書に記載の本各実施例と本発明の原理は、ブルーツース環境に制限されず、広く応用されるものである。
【0059】
本明細書に記載の本各実施例は、任意数の各接続関係を有する必要が有る各電子装置に関する、スケジューリングの問題の解決法を提供する。さらに、本明細書に記載の本各実施例は、各接続関係がシステム間相互接続として扱われるとき、各電子装置の任意の接続関係(トポロジー)が相互間にて有効に通信させるようになっている。
【0060】
図3(a)は、他の2つの各電子装置A304、C306と通信する電子装置B302からなる、簡易な接続関係(トポロジー)のシステムを示す。電子装置A304と電子装置B302は電子装置ペア308を構成している。同様に、電子装置B302と電子装置C306は電子装置ペア310を構成している。
【0061】
通信している電子装置の各ペア308、310に対する、図3(b)に示されるように、開始の各タイムポイントを示す通信のためのスケジュールがある。電子装置B302と電子装置A304との間の各通信期間314、316、318は通信A−Bの開始の各タイムポイント320、322、324を通して始められる。
【0062】
開始の各タイムポイント320、322、324は、各電子装置304、302に対応するペア308のための各通信期間314、316、318をそれぞれ開始するものである。電子装置B302と電子装置C306との間の各通信期間326、328、330は、通信B−Cの開始の各タイムポイント332、334、336を通してそれぞれ始められる。これらの開始の各タイムポイント332、334、336は、各電子装置302、306のB−Cペア310に対する各通信期間326、328、330を開始するものである。
【0063】
図示されているように、開始のタイムポイントのそれぞれは、その前の通信期間のためのイベントを終了するものとなっている。通信期間の終了は、別の開始のタイムポイントが現在アクティブとなっている通信期間と衝突するように発生するとき、他の電子装置に信号として送られる。例えば、開始のタイムポイント320によって、電子装置A304と電子装置B302との間で通信期間314が始まる。
【0064】
上記通信期間314は、開始のタイムポイント332が電子装置B302と電子装置C306との間にて通信期間326の開始を示す信号として発生するまで続行する。図3(b)は図3(a)に示される実施例のための典型的な動作を示している。
【0065】
図4は電子装置ネットワークの接続関係(トポロジー)を示している。通信リンク402は電子装置A404と電子装置B406との間に存在する。電子装置A404と電子的に通信する複数の電子装置X1〜Xnがある。同様に、電子装置B406と電子的に通信する複数の電子装置Y1〜Ymがある。
【0066】
本発明に係るシステムのパフォーマンス(実行)は処理能の公平な分布を提供する。上記のパフォーマンスは全ての各リンクが完全に利用される場合において一般化され易いと言える。上記の関係は、図4にて図示された、一般化された上記システムのための下記の等式により与えられる。
【0067】
リンクA−B402にて利用可能な処理能は、電子装置A404と電子装置B406との双方が参加している他の各システム間リンクの合計数に反比例している。
【0068】
以下の方程式は、各接続関係間での切り換えに基づくオーバーヘッド(間接費)や、システム運用のために必要とされる、他の信号の送受信によるオーバーヘッドについては考慮していない。下記のCapA-Bの数は接続に利用可能な相対的な処理能を示す。それは電子装置ペアの間の通信に利用される相対的な時間量を示す。上記の関係は、各タイムポイントの密度が全てのシステム間の各リンクにおいて等しく、また、各リンクが他に対してランダムな分布を有しているシステムに適用可能である。
【0069】
CapA-B=1/(1+n+m)
図5は、電子/内蔵の電子装置500で一般に利用された主要なハードウエアの各構成を示すブロック図である。電子装置500は、通常、入力部504、および/または出力部506と、それらと電子的に通信するプロセッサ502を含んでいる。
【0070】
上記プロセッサ502は、上記プロセッサ502と電子的に通信可能、つまり、電気信号の形態で入力および/または出力可能な、入力用および/または出力用の部504、506に対して、それらを操作可能に接続されている。
【0071】
電子装置500の実施例は、同一の物理的構造体中に入力部504、出力部506、およびプロセッサ502を含んでいてもよいし、また、別々の各ハウジングや各構造物中に含まれていてもよい。
【0072】
また、上記電子装置500はメモリ508を含んでいてもよい。上記メモリ508は、プロセッサ502からの別々の構成として設けられてもよいし、オンボードメモリとして設けられてもよいし、プロセッサ502の一部として設けられてもよい。例えば、マイクロコントローラ類は、しばしば、ある量のオンボードメモリを含んでいる。
【0073】
また、上記プロセッサ502プロセッサ502と電子的に通信する通信部510が設けられている。上記通信部510は他の電子装置との通信に使用されてもよい。それゆえ、様々な電子装置の上記通信部510は、各電子装置500間において、信号やメッセージを送るために互い通信するように設計されていればよい。
【0074】
また、上記電子装置500は他の通信ポートである通信送受信部512を含んでいてもよい。また、さらに、他のコンポーネントである、他の構成部514が、電子装置500に含まれていてもよい。もちろん、当業者にとって、本明細書に記載の実施例と共に多くの種類の異なった電子装置も使用可能なことは明らかであろう。従って、図5のブロック図は、内蔵の電子装置102、500の典型的なコンポーネントを示すことを単に意味しており、本実施例の範囲を限定することは意味していない。
【0075】
図6は、電子装置600に使用されてもよいソフトウェアモジュールを示している。内蔵のアプリケーション602は、電子装置600を操作するのに使用されてもよい。内蔵のアプリケーション602は電子装置600の操作に必要である機能性を含んでいてもよい。
【0076】
入出力モジュール604が、入力部504からデータを受け取り、また、出力部506にデータを送るために使用されてもよい。電子装置600のタイプに依存して、入出力モジュール604の特定の機能性を変えてもよい。
【0077】
電子装置間の通信モジュール606が、着信および送信の各メッセージを取り扱う機能性を含んでいてもよい。例えば、電子装置間の通信モジュール606は、通信部510を用いる各通信を送り、受け取るための各インストラクションを含んでいてもよい。
【0078】
上記電子装置間の通信モジュール606は、外部への送信データ608を送る、または伝送し、また、内部への着信データ610を受け取るようになっていてもよい。
【0079】
上記電子装置600は、一般に、電子装置600の各通信、入出力、電子装置600のモニタや制御を含む各タスクを達成するためのソフトウェアを含んでいてもよい。
【0080】
上記電子装置間の通信モジュール606は、通信部510や、通信送受信部512を介して、各通信を取り扱う、コンピュータプログラムのルーティンやインストラクションを意味するものであってもよい。
【0081】
上記入出力モジュール604は、電子装置600への入力や、電子装置600からの出力を取り扱う、コンピュータプログラムのルーティンやインストラクションを意味するものであってもよい。
【0082】
例えば、上記電子装置600上にボタン(図示せず)がある場合、入出力モジュール604は、上記ボタン(図示せず)から入力を処理するのに必要なコードを含んでいてもよい。
【0083】
上記アプリケーション602は、電子装置600を制御し、電子装置600の各タスクを実行する主プログラムとして機能してもよい。当業者にとって、上記の各ソフトウェアブロックは、例にすぎず、図示された各ブロックの構成が本実施例を実現するの必ずしも必須なものでないことは明らかであろう。
【0084】
上述されたように、本明細書に記載の実施例により、多くの異なったタイプの各電子装置102、500、600は利用可能で、使用されることが可能となっている。通常、これらの電子装置は、電子装置600を実行するために必要なソフトウェアを既にロードされている。
【0085】
本明細書に記載の実施例は、ほとんどすべての電子的な通信、およびいくつかの処理能力を有する各電子装置102、500、600により使用可能となっている。
【0086】
また、上記電子装置は、擬似ランダムスケジューラ612と、割当てを動的(dynamic)に行う動的スケジューラ614を含んでいてもよい。以下で擬似ランダムスケジューラ612と動的スケジューラ614の両方について説明する。
【0087】
後述するように、動的なスケジューラ614は、公平な割り当てコンポーネント616と、日和見な割り当てコンポーネント618とを含んでいてもよい。また、イベントキュー(イベント待ち行列)620を含んでいてもよい。上記イベントキュー620は1つ以上のキューアイテム622を含む。それぞれのキューアイテム622は特定の通信チャネルに対応していてもよい。
【0088】
それぞれのキューアイテム622は、通信の各タイムポイント624、チャンネル識別子(チャンネルID)626、待機中データ628と共に、状態(state)情報630、状況(status)情報632およびその他の情報634を含んでいてもよい。
【0089】
以下でイベントキュー620に格納されてもよい上記データについて、より完全に説明する。本願発明のメソッドは、1組の電子装置ペアによっては使用されないスケジュール化された割り当てを用いる場合におけるシステム間相互接続の間の処理能を動的に割り当てることが、本明細書にて開示され、提供されている。
【0090】
分散型のアルゴリズムが、トラフィックが利用可能な各システム間リンクに上記処理能を分配するのに使用される。未使用の処理能は、最初に、公平な(fair)ベースで割り当てられ、次に処理能は通信が可能なところにて日和見(opportunistically)に割り当てられてもよい。
【0091】
上記アルゴリズムは、各電子装置のために通信処理能の利用率を最大にするように試みる。公平な割り当てを実現するのに使われる原理は、実際に接続の遮断なしでどんなトラフィックも存在しないとき、電子装置からシステム間相互接続を有効に取り除くことである。
【0092】
このことは、擬似ランダムスケジューラ612の本質的な公正さによって、トラフィックを有している各リンクに対して、未使用の処理能を再割り当て(reallocate)することになる。
【0093】
本明細書に記載の実施例では、2つのメカニズムが未使用の処理能の公正な再割り当てを達成するのに使用され、一つは開始のタイムポイントの減少であり、他方は、前の通信期間の延長である。
【0094】
開始のタイムポイントの減少のメソッドでは、電子装置は、その内部のイベントキュー620、およびリンクの上でのトラフィックをモニタする。どのようなトラフィックも存在しないならば、設定されているスケジュールは開始の各タイムポイントを除去することによって変更される。
【0095】
上記スケジュールは、元々の各タイムポイントから残っている部分しかないように変更される。例えば、一つの可能な実施例では、開始の各タイムポイントは、元々の各タイムポイントにおける全ての4番目のみが使用されるように、除去されてもよい。
【0096】
上記メソッドは、各タイムポイントが短いインタバルの電子装置への接続を効果的に除去して、その処理能を他の各システム間リンクによって使用されるようにできる。
【0097】
電子装置ペアの間の折衝プロセスは、スケジュールを変更して、各タイムポイントを除去するために使用されている。前述の、前の通信期間を延長するメソッドとは、電子装置が、以前に通信していた他の電子装置に対して、現在の通信期間が早く終えられた(すなわち次の開始のタイムポイント前に終了が生じたことを示す)ときに、上記の通信していた他の電子装置との通信を再確立することである。
【0098】
このように上記メソッドにより前の通信期間を延長して、スケジュール化されていた処理能が十分に使用されていなかった電子装置が有効に除去される。
【0099】
原則としては、日和見的な割り当ては、並列な通信の転送の数を最大にするように試みる。日和見的な割り当てを達成するために、追加プロセスが実行される。上記プロセスでは、電子装置102は、それぞれのリンクに対して、待機中のトラフィックをモニタし、電子装置がどの程度、通信の確立に利用可能かをモニタしている。
【0100】
上記モニタと同等な情報としては、前の通信期間がそのそれぞれのシステム間リンクのために終えられたとき起こった信号通信から得られたものであってもよい。
【0101】
その後、電子装置102が、転送する待機中のデータを有し、かつ、通信に利用可能な、他の電子装置との通信を確立ように試みてもよい。もし、2以上の電子装置が、上記判断基準(criteria)に合う場合、それらの各電子装置から最近に通信した電子装置を選択してもよい。これらのルールは両方の電子装置が互いに接続を確立するのを試みて、通信を確立できる可能性を改善できる。
【0102】
いくつかのアプリケーションは、システム間の擬似ランダムスケジューラ612で満たされないかもしれない非常に厳格な通信必要条件を有している。これらの要求事項は、通常、固定データビット伝送速度と最大の待ち時間により表現されている。その上、上記アプリケーションは、一般に、サービス(処理による便益)のためのチャンネルを確立するときに必要とされる処理能を折衝して、十分な処理能が利用できる場合にだけ、上記サービスは提供されるだろう。
【0103】
より厳格な要求事項に対応するために、資源確保型のチャンネル(resource reserved channels, RRC)をサポートするメソッドが提供される。上記の資源確保型のチャンネルのタイプは、一定期間に固定された、情報期間、および各情報期間間のデューティサイクルを備えて、スケジュール化された通信として実現されてもよい。
【0104】
資源確保型のチャンネルのトラフィックは、高位レベルが擬似ランダムにてスケジュール化された(pseudo random scheduled,PRS)チャンネルより優先順位を有していて、スケジュールの衝突が起こると、資源確保型のチャンネルのトラフィックがPRSトラフィックと入れ代わるようになっている。上記のPRSスケジュールは、どのようなRRCトラフィックも受け入れるように変更される。
【0105】
本実施例の設計では、資源確保型の各チャンネルは、それらが互いに衝突しないように折衝されるようになっている。上記の資源確保型のチャンネルの周期的な特性のために、多くの場合、上記資源確保型のチャンネルは通信リンクの固定化された処理能を使用するだろう。
【0106】
上記の周期的な特性のために、PRSトラフィックから取り込んだ処理能はすべてのリンクの間にてランダムに配分される。その結果、PRSメソッドによってスケジュール化されたシステム間のトラフィックは、上記RRCによって減少されるが、システム間の各接続の間にかなり公平に割り当てられることになる。
【0107】
図7は電子装置102のスケジューラのために状態機械の実施例を示している。各電子装置102は、スケジューラを実行し、他の関連する機能をサポートするために、上記状態機械を実行してもよい。
【0108】
上記状態機械に関連したシステム記述は、電子装置102のためのシステム間トラフィックを管理することを担うMAC/ベースバンド構成要素を適用してもよい。
【0109】
別の方法で述べられない限り、上記の情報は等しく電子装置ペアの両方の電子装置に適用される。上記プロトコルはマスタ/スレーブアクセス機構に主に基づいている。上記ブルーツース標準はマスタ/スレーブ関係を使用する。
【0110】
上記状態機械がどのように使用されるかの例を図示し明確に説明するために、上記プロトコルは、マスタ/スレーブで記述され、時として、ブルーツース用語で記述される。
【0111】
もちろん、当業者にとって、本明細書に記載の本発明の原理と実施例が、他の電子装置と電子的な通信のために構成される電子装置102の広範囲の変形にも適用されることは明らかであろう。
【0112】
前述のアイドル状態702は図7で図示されている。上記アイドル状態702には、 どのようなPRSのシステム間トラフィックも存在していない。上記電子装置102は、そのシステム内かネットワーク内で他の電子装置と通信することが自由にできる。
【0113】
電子装置102は、PRSのスケジュール化されたシステム間通信期間を延長するかもしれない通信を回避するように設計されてもよい。ブルーツースシステムのために、スケジュール化されたタイムポイントを過ぎて延長するような長いパケットが受け取られる場合に、上記回避を生じるようにできる。
【0114】
また、前述のデータ状態704は図7に示されている。データ状態704では、データはシステム間電子装置の間で交換される。終了イベントが起こるまで、通信は続く。
【0115】
また、図7は、スケジュール折衝状態706を示している。この状態706は、スケジュールを変更するのに使用される。どちらの電子装置もこのプロセス706か状態706を開始してもよい。この状態706は、データ状態704の効果的なサブ状態であり、というのもアクティブな通信期間は、スケジュールの折衝に必要なメッセージの交換をサポートするために必要とされるからである。
【0116】
前述の再確立状態708もまた図7にて図示されている。上記再確立状態708は、スケジュール化された通信が存在しない期間の間に通信を確立するための手続き(プロシージャ)を実行するものである。このメカニズムは、交換のために利用可能なデータを有するシステム間チャンネルに対し、未使用の処理能を配付するために使用されている。
【0117】
また、図7は、1つの状態から他の状態への移行を生じさせる各イベントや、電子装置102を同じ状態に維持させる各イベントを示している。システム間スケジュールマネージャ(図示せず)はそれぞれのシステム間チャンネルのための各通信イベントのリストをイベントキュー620内において維持する。上記イベントリストは、スケジュール化された各タイムポイント624と、それらに対応するチャンネル識別子626とを順番が付けられたリストからなっている。
【0118】
現在の時間がスケジュール化された時間にマッチすると、上記のスケジュール化されたイベントは起こる。開始のタイムポイントが生じるとき、電子装置102は、データ状態704に入り、対応する電子装置と通信を始める。上記電子装置が現在別の通信チャネルに対してアクティブ(有効)であると、上記電子装置は、データ状態704に入る前に、上記のチャンネルの上で強制終了プロセスを実行するようになっている。
【0119】
生じてもよい多くの異なったタイプの各終了イベントが存在している。データ交換を待機中のデータがあるが、各電子装置の一方が現在の通信期間を終了させたいときに、強制された終了は起こる。電子装置は、別のスケジュール化されたシステム間通信(または、ブルーツースネットワークにおけるピコネット間(interpiconet)通信)の故に、または他の理由により、上記の強制終了を実行するようにしてもよい。
【0120】
上記電子装置は、もう片方の電子装置へのメッセージ内に、このイベントの表示(指示)について主張(アサート)することによって、通信期間を終える。別のタイプの終了イベントはスケジュール化された終了である。スケジュール折衝プロセス706または状態706が首尾よく完了したとき、終了のタイムポイントが現在の通信期間のために同意される。このタイムポイントが起こると、スケジュール化された終了イベントは起こる。
【0121】
データが使い果たされたことを示すイベントは別のタイプの終了イベントである。すべての利用可能なデータが両方の電子装置によって転送されたとき、上記のイベントは起こる。このイベントが起こったことは、イベントを示すメッセージによってもう片方の電子装置に合図される。
【0122】
マスタ電子装置は、それにはPollパケットを伝えることによって、送るどんなデータもないことをもう片方の電子装置に合図する。スレーブは、Nullパケットを伝えることによって、上記スレーブには送るどんなデータもないことを示す。したがって、両方の電子装置が、彼らには移すどんなデータもないのを示すとき、データが使い果たされたことを示す終了イベントは起こる。
【0123】
別のタイプの終了イベントは非応答型の終了イベントである。非応答型の終了イベントは、通信がスケジュール化されたが、起こらないときに起こるようになっている。電子装置は一定期間の間通信を待つようにしてもよい。どのようなデータも受信されない場合、通信期間は終了されてもよい。
【0124】
上記電子装置がマスタの場合、スレーブ電子装置に送られたどのようなパケットに対するレスポンスを受け取らないとき、非応答型の終了イベントは起こるようになっている。電子装置がスレーブの場合、マスタからどのようなパケットも受け取らないとき、非応答型の終了イベントは起こるようになっている。
【0125】
ブルーツースネットワークに本実施例が使用されている場合に、スキャッタネットスケジューリング違反があるとき、上記の非応答型の終了イベントが起こってもよい。
【0126】
上記電子装置が高い優先順位のアクティビティ(活動)を有し、かつ、上記電子装置にて合意されていたスケジュールに合わせることができないときに、上記非応答型の終了イベントは起こすことができる。上記非応答型の終了イベントは、一般に、不定な所要時間(例えば、呼び出し応答(page response)や、問い合せ応答(inquiry response))を有するプロセスのために起こるようにできる。
【0127】
他のタイプの各イベントは、また、図7に示されており、状態で変化を引き起せる他のイベントをさらに図示している。折衝要求イベントが、スケジュール折衝プロセス706を開始するために電子装置によって使用される。上記折衝要求イベントは、2つの電子装置間でのアクティブな通信期間の間に起こる。
【0128】
データ待機中のイベントまたは状況(status)が、電子装置によって認識されるように、全ての各システム間リンクにおける複合状況のインディケータ(指示部)となっている。転送されるべきデータが残っている状態に、各リンクの何れかがなっている場合、上記インディケータは真(true)となっていてもよい。上記状態は通信期間が終了される方法により、よく知られている。
【0129】
データが使い果たされたことを示すイベントが起こるリンクに関しては、上記インディケータは偽(false)となっていてもよい。強制終了か非応答型の終了が生じているリンクに関しては、上記インディケータは真となっている。
【0130】
また、データ待機無しのイベントまたは状態は、電子装置により認識されるように、全ての各システム間リンクの複合状態のインディケータである。このインディケータは、電子装置が関係する各システム間リンクが待機中のデータが無いことを示す。
【0131】
また、前述した、通信の再確立のイベントは、図7に示されている。上記の通信の再確立のイベントは、POLL応答の手順が完了して、通信チャネルが確立されたことを確認したときに起こる。
【0132】
イベントを再確立することの失敗は、電子装置が再確立プロセス708において、通信を確立することができなかったことを示す。前述したように、アクティブなPRSのシステム間通信が存在しないときにはいつも、アイドル状態702に入る。アイドル状態702に費やされる時間は、システム間トラヒック負荷と、擬似ランダムに設定されるピコネット間(より一般にシステム間)のスケジュールに合わせた変更の全てとに依存する。
【0133】
電子装置は、システム内リンクや他の活動に必要とされる場合、アイドル状態702のための時間を自由に設定できるように、システム間スケジュールを変更してもよい。上記アイドル状態702は、電子装置がPRSのシステム間トラフィックに何ら関与していないが、上記電子装置が他のシステム内通信の活動にアクティブとなっていてもよいことを暗に示していてもよい。
【0134】
電子装置がアイドル状態702である間、上記電子装置は、通常、システム間スケジュールをモニタし、上記スケジュールによって規定された時間に各状態(states)を変える。他の全ての各通信活動は、それらがシステム間スケジュールと衝突しないようにスケジュール化されるべきである。
【0135】
図7に示された、データ状態704を参照すると、スケジュール化された開始のイベントが起こるとき、または、再確立手続き708が成功したときに、システム間通信は開始される。
【0136】
スケジュール化された開始のイベントは、通常、擬似ランダムスケジューラによって記載のタイムポイントであるか、または、以前に電子装置の間で折衝された別の開始時間のポイントであってもよい。
【0137】
通信期間は電子装置ペアの間でのデータの交換から終了イベントまでによりなっている。データ状態704では、マスタがパケットをスレーブに伝える。問い合わせ等のデータがあるならば、データパケットが送られ、それ以外では、POLLパケットが送られる。
【0138】
POLLパケットは、NULLパケットと同様に、アクセスコードとパケットヘッダから構成されるパケットで、128ビットの固定長を有するものである。POLLパケットは、NULLパケットと同様に、通信リンクの状態を管理するためのものである。ただし、POLLパケットは、NULLパケットと違い、POLLパケットを受信したことに対する確認応答を必ず行うものです。
【0139】
上記のデータまたはPOLLのパケットの送付は、終了イベントが起こるまで行われてもよい。上記スレーブはマスタの伝えられたパケットのための待ち受け状態となっていてもよい。マスタからのパケットが受け取られた場合、スレーブは、返答が可能であればデータパケットをマスタに伝え、それ以外ではNULLパケットをマスタに送る。
【0140】
NULLパケットとは、アクセスコードとパケットヘッダから構成されるパケットで、ペイロードを有しないものである。パケットの長さは、固定で128ビットである。NULLパケットは、受信確認(ARQN)やフロー制御(FLOW)など、通信リンクの状態を相手に通知するためのものである。また、NULLパケットを受信したことに対する確認のためにパケットを応答送信する必要がないものである。
【0141】
電子装置は、通信活動をモニタすることによって、非応答な状態を検出する。非応答型タイムアウト期間の各スロットの間、通信が存在しない場合、上記電子装置は、通信を終了してもよい。
【0142】
マスタ電子装置に関しては、非応答型タイムアウト期間が期限切となるまで、上記マスタ電子装置は、連続的にパケットをスレーブ電子装置に伝えてもよい。スレーブ電子装置に関しては、上記スレーブ電子装置はマスタからパケットを確実に受け取るために連続的な待ち受け状態となっていてもよい。上記スレーブが非応答型タイムアウト期間の間に、どんなパケットも受け取らなかった場合、上記スレーブは接続を終了してもよい。
【0143】
電子装置は、随時、アクティブな通信期間を終了してもよい。一般に、電子装置が、別のスケジュール化されたイベントを実行することが必要になったという理由により、上記電子装置は通信を終了する。例えば、電子装置が、他のリンクのための開始のタイムポイントに応じる必要がある場合であってもよいし、上記電子装置が、システム内リンク等において、スレーブと通信することが必要となった場合でもよい。
【0144】
強制終了は、さまざまな各方法を用いる電子装置によって合図されてもよい。使用されている種々な、各電子装置、各システム、各プロトコルなどのタイプに依存して、強制終了を合図するために、上述とは異なったテクニックが電子装置によって実行されてもよい。一般に、電子装置は、強制された終了を伝えるために強制終了のメッセージを他の電子装置に送ってもよい。
【0145】
当業者にとって、上記メッセージが通信される、上述と異なった多くの方法は明らかであろう。例えば、ブルーツースシステムでは、強制終了は、パケットヘッダのFLOWビットにより、電子装置によって合図されてもよい。通常、上記のFLOWビットは、データの交換の間、イネーブル(FLOW=1)に設定される。電子装置は、現在の通信期間の終了を強制するために、上記FLOWビットをクリア(FLOW=0)してもよい。
【0146】
また、強制終了は、スケジュール折衝プロセス706に先行して実行されてもよい。上記強制終了が使用された場合、上記使用は、新しいスケジュールを開始した電子装置が新たな折衝された時間まで利用できないことを示すものであってもよい。上記使用は、どのような再確立でも可能なリンクにおいて、上記電子装置がこれの利用できないことを暗に示すものであってもよい。
【0147】
前述のスケジュール折衝の状態706またはプロセス706は、アクティブな通信を終了しており、かつ、近い将来、ビジー(忙しく)なることを知っている電子装置によって使用されてもよい。
【0148】
強制終了が使用されない場合、その不使用は、電子装置が上記電子装置が属するリンクにおける再確立に対して自由であるらしいことを暗に示すものであってもよい。両方の電子装置が交換するどのようなデータもないとき、データが使い果たされたことを示す終了は起こる。両方の電子装置がそれらのデータキューを空にすると、上記終了は起こる。
【0149】
強制された終了と同様に、一般に使用されている、種々な、各電子装置、各システム、各プロトコルなどの各タイプに依存した様々な方法により、データが使い果たされたことを示す終了は電子装置によって合図されてもよい。
【0150】
一般に、電子装置は、データが使い果たされたことを示す終了を伝えるためにデータが使い果たされたことを示す終了のメッセージを他の電子装置に送ってもよい。
【0151】
当業者にとって、データが使い果たされたことを示す終了のメッセージが、種々な異なった方法にて通信されてもよいことは明らかであろう。例えば、ブルーツースシステムでは、スレーブがNullパケットを伝えるとき、マスタがPollかNullのパケットを伝えるとき、上記終了のイベントは合図されてもよい。
【0152】
終了スロットは、信号を送った最後の電子装置、すなわち送るデータが無い状態に基づいて決定される。マスタが、データを使い果たした最後であるとき、ACKN=0と共に、シークエンス(パケットの発送順序)Poll-Null-Pollが使用されてもよい。使用される最後のスロットはマスタによって送られたPollパケットである。
【0153】
スレーブが、データを使い果たした最後であるとき、ACKN=0と共に、シークエンス(パケットの発送順序)Null-Poll-Nullが使用されてもよい。この場合、スレーブからのNullパケットは最後の使用されるスロットである。
【0154】
現在のアクティブな通信期間の間にスケジュール折衝プロセス706が完了した場合、スケジュール終了が起こってもよい。上記プロセスの部分が処理されながら、ホールド(HOLD)期間の開始(ホールド開始時間、hold instant)が折衝される。上記通信期間の間に、ホールド開始時間は最後のスレーブスロットを決める。
【0155】
上述したように、スケジュール折衝状態706またはプロセス706は、スケジュールを変更するのに使用される。電子装置は、多くの種々な各理由(例えば、各スケジュールの衝突や、回避)によりスケジュールを変更することを選んでもよい。
【0156】
上記電子装置は、現在のスケジュールの義務を満たすことはできないことをもう片方の電子装置に知らせることによって処理能を浪費するのを回避するように自分自身のスケジュールを変更する。そして、両方の電子装置に許容できる新しいスケジュールが折衝により勝手医される。
【0157】
スケジュール折衝状態706またはプロセス706は、いくつかの各状況で、それぞれ使用されてもよい。上記スケジュール折衝状態706は、開始のタイムポイントイベントの衝突があるときに、使用されてもよい。
【0158】
上記状況では、電子装置は、現在のアクティブな通信リンクのための次のタイムポイントを見越していてよく、もし、次のタイムポイントが、他のシステム間リンクのためのタイムポイントと衝突し、上記の他のリンクの優先順位が高い場合、スケジュール折衝プロセス706が新しいタイムポイントを折衝により決めるように使用されてもよい。
【0159】
スケジュール折衝状態706は、通信の再確立の機会無しに、通信終了があるときに使用されてもよい。上記のようなことは、以下の場合に起こってもよい。上記の場合とは、通信期間がローカル電子装置によって終了されようとしており、かつ、リンクが待機中のトラフィックを有している場合である。
【0160】
上記ローカル電子装置はその予測された利用可能性で前(先)を見てもよい。上記電子装置が忙しいことが期待されるならば、上記電子装置は、開始のタイムポイントについて主張することによって、利用できないことを示す上記手続きを使用してもよい。上記情報は、各通信リンクの選択において、仲間の電子装置の再確立プロセス708によって使用される。
【0161】
スケジュール折衝状態706は、他のイベントが起こったときに使用されてもよい。例えば、電子装置の通信処理能が他の目的に必要であるならば、上記電子装置は、システム間スケジュール内に、インアクティブな期間を折衝により得ることによって上記通信処理能を利用可能にしてもよい。システム間リンクのそれぞれにおいて、上記の折衝がなされてもよい。
【0162】
スケジュール折衝状態706またはプロセス706は、現在のスケジュールを変更しようとしている電子装置によって開始されてもよい。異なったテクニックが、スケジュール折衝プロセスを開始するために、電子装置によって使用されてもよい。一般に、電子装置は、スケジュール折衝プロセス706を開始するために、スケジュール折衝開始メッセージを他の電子装置へ送ってもよい。
【0163】
当業者にとって、上記メッセージが通信されてもよい多くの異なった方法については明らかであろう。例えば、ブルーツースシステムでは、上記状態は、LMP_hold_reqメッセージの伝達で始まってもよい。上記メッセージは、ホールド開始時間は、他のどのような接続のための開始のタイムポイントにより決められているように、通信期間の最後のスロットに相当するように設定されるようにするためのものである。
【0164】
ホールド時間のパラメータは、現在の接続のため、次の開始のタイムポイント案に相当するように設定されていてもよい。受信電子装置は、要求されたホールド開始時間と次のタイムポイントイベントとを比較して、要求されたホールド開始時間が次のタイムポイントイベントより短い(先)場合に、要求されたホールド開始時間を承認し、スケジュール化するようにしてもよい。さもなければ、上記電子装置は、その次のスケジュール化されたイベントに対応している、新たなホールド開始時間を要求してもよい。
【0165】
本実施例の設計では、各実施例の電子装置は、2つの期間について、より短い方に同意するのを試みるように構成されている。要求を受信した電子装置は、ホールド時間のパラメータを検査し、その時間が合えば、このパラメータを承認し、合わなければ、チャンネルに対して、次の開始のタイムポイントを提案することができる。両方のパラメータが許容できるならば、上記電子装置はLMP_Acceptedを送ってもよい。さもなければ、上記電子装置は代わりの要求としてLMP_hold_reqを伝送してもよい。
【0166】
受信電子装置は同様のチェックを実行して、同様に応答してもよい。折衝が完了した後に、終了イベントが起こるまで、上記状態はデータ状態704に戻って、情報の交換を続けてもよい。再確立状態708は、使用されていない期間に通信を日和見的に確立するのを試みる。
【0167】
本実施例では、前述のアルゴリズムは、可能であるときに、初めに、各電子装置の間における未使用の処理能を公正に配分し、次に可能であるところでに通信処理能を日和見的に配分するように設計されている。
【0168】
電子装置は、現在の通信が終了し、かつ、そのシステム間通信リンクの何れかに待機中のデータがあるとき、再確立状態708に入るようにしてもよい。上記電子装置は、利用可能かもしれないことを示した伝送待機中のデータを有する、以前にアクティブであった接続を行った、離れた位置の他の電子装置と通信を再確立するのを試みるようになっていてもよい。
【0169】
上記電子装置がマスタならば、上記の設定は、応答が受け取られているか、他のタイムポイントが起こるまで、パケット(POLLかデータ)の伝送を含んでいてもよい。上記電子装置がスレーブであれば、上記スレーブは、別のタイムポイントが起こるまで、待ち受け状態となるようになっていてもよい。応答が受け取られると、上記電子装置は、データ状態へ移行してもよい。
【0170】
電子装置が、通信期間を終了し、直ぐにビジーとなることの信号を送っている場合、フリーな方の電子装置は、利用可能となるであろう別の電子装置と通信を確立するのを試みるようになっていてもよい。
【0171】
各電子装置はそれぞれのシステム間通信チャンネルのためにイベントキュー620と状態情報630を維持してもよい。上記イベントキュー620は、各タイムポイントの順序付けられたリストからなっていてもよい。それぞれのタイムポイントは、それが対応する接続、プラス、折衝による、どのような変更や追加のために、擬似ランダムのシークエンスから生成されてもよい。
【0172】
上記電子装置は、何れの接続が時間内に任意点でスケジュール化されるのかを決定するために各リストを組み合わせてもよい。システム間リンク毎に、状態(state)情報630および状況(status)情報632の少なくとも一方は維持されていてもよい。上記情報は、終了イベントとデータキュー内のどのような記憶からも得られるようになっていてもよい。
【0173】
各電子装置はリンクの状況情報を含んでいてもよい。上記リンク状況情報は、待機中/待機中データ無といった、待機中データ628の情報を含んでいてもよい。上記情報は、リンクの上に、何らかの待機中の伝送が存在していることを示していてもよい。
【0174】
上記情報は、ローカルなキューにおける伝送待機中のデータが存在するか、または、以前の通信期間が、データ伝送待機中のイベントと共に終了された場合に設定される。
【0175】
また、電子装置は、遠隔地の処理能インディケータ(図示せず)を含んでいてもよい。上記インディケータは、リンクの上の遠隔地(離れた位置)の電子装置が現在、ビジーであるか、またはフリーであるのかを示すものであってもよい。
【0176】
このインディケータは、前の通信期間が折衝されてスケジュール化されたイベントを有して終了していない場合に、フリーの方に設定されてもよい。スケジュール折衝プロセスの使用は、遠隔地電子装置は折衝による新たなタイムポイントまで、ビジーであることを暗に示している。リンクスケジュール情報(図示せず)は、電子装置に格納されていてもよい。リンクスケジュール情報は擬似ランダムなタイムポイントを含んでいてもよい。
【0177】
これらの各タイムポイントは、リンクの上でのマスタ電子装置のクロックに関連して、それらの位置を決めるアルゴリズムに基づいて自動的に生成されるようになっていてもよい。また、これらのタイムポイントは通信の開始を規定するものであってもよい。
【0178】
また、スケジュール化された各タイムポイントは格納されてもよい。これらのタイムポイントは、このリンクによって接続された2つの電子装置間の折衝プロセスを通して生成されてもよい。これらのタイムポイントは通信の開始を規定する。また、電子装置は、終了のタイムポイント時間を格納してもよい。
【0179】
通信が終了すべきときを規定する各タイムポイントがある。それらは、スケジュール折衝プロセス706にて生成される。通常、開始の各タイムポイントが擬似ランダムに生成されるので、各タイムポイントの衝突が、2またはそれ以上の各システム間リンクに属する各電子装置にて発生することがある。上記発生は、各タイムポイントの密度に依存したレートにてランダムなものであってもよい。
【0180】
本明細書に記載の実施例では、電子装置は、互いに衝突する各タイムポイントを検出し、それらを低減するようにスケジュールを調整する。上記電子装置は、可能なときスケジュール折衝状態706またはプロセス706を用いて、互いに衝突している各タイムポイントを移動させたり、スキップさせたりしてもよい。
【0181】
互いに衝突している開始の各タイムポイントを再スケジュールすることが不可能なとき、上記電子装置は、他の各電子装置に対して最も長いインアクティブ(無効)な期間を有する電子装置との通信を選択すべきである。この選択は、通信の処理能の公平な割り当てを保証して、無効の期間を最小にする。
【0182】
擬似ランダムのジェネレータが、スケジュールを作成する、開始の各タイムポイントを生成するのに使用されてもよい。各タイムポイントは、システム間相互接続を形成する電子装置ペアのマスタ電子装置のクロックに関連づけて規定されてもよい。本実施例の設計では、両方の各電子装置は互いに独自にスケジュールを作成でき、上記両者は、ともにスケジュールを利用するのに必要であるクロックの知識(仕様)を有している。
【0183】
それぞれのスケジュールが他のシステム間スケジュールに対して、一意(固有)でランダムなものでもよいように与えられるならば、上記各スケジュールに関する、一意(ユニーク、固有)であるが、共有された部分の情報は、入力としてジェネレータに使用されてもよい。
【0184】
例えば、電子装置がブルーツースネットワークの一部の場合、情報のこの共有された部分は、ブルーツースにおける、マスタの電子装置アドレス(BD_ADDR)、およびスレーブのアクティブなメンバアドレス(AM_ADDR)であってもよい。
【0185】
上記ジェネレータの1つの特性は、各タイムポイントの密度である。上記密度は、各タイムポイント間の平均を規定するものである。また、他の一時的な関係は、特定の動作特性を達成するために発生機能に課されてもよい。
【0186】
3つの可能な各メソッドと関連する各特性は以下で記述される。以下の各メソッドは使用されてもよいが、それぞれには、それ自身のユニークなシステム制限と性能トレードオフがある。
【0187】
当業者にとって、各通信期間を効果的にスケジューリングするための、本実施例の各装置や各ソフトウェアに基づき、他のメソッドもまた用いられることは明らかであろう。
【0188】
図8(a)は、各タイムポイントを生成するための、予め設定されている同期型のメソッドを示す。図示されるように、予め設定されている同期タイム型のメソッドでは、各タイムポイントは、まず、間隔が固定された期間(A)に当てはめて生成される。
【0189】
インタバルの持続時間は、所望された各タイムポイントの密度に対応して設定されている。一つのタイムポイントが上記間隔内のランダム位置に配置される。タイムポイントが、上記メソッドを用いてどのように生成されるを記述して方程式を以下に示す。
【0190】
TPN=A×N+Rand(0.,A)
以上の方程式では、Aは間隔サイズを規定し、Nは間隔の番号およびタイムポイントのインデックスを示す。上記の関数Rand( )は、0からAまででの乱数を提供する。一意(ユニーク)な乱数が、タイムポイント毎に生成される。
【0191】
このスケジュール化されて、同期されたメソッドは、通信期間の長さの範囲がタイムポイントの配置の分布によって調整できるという利点を備えている。
【0192】
通信期間の長さの統計的な特性を制御するのに、乱数の異なった分布を使用することができる。一般に、一様分布の乱数が使用される。
【0193】
しかし、例えば、平均の周りにてより狭く分布された通信期間持続時間を達成するのに、A/2の中心に置かれる乱数の正規分布が使用されてもよい。これにより、通信期間の長さにおける変差を減少させることができるが、一様分布と比較すると、衝突確率を増加させる。
【0194】
このメソッドは主としてインタバルがシステム間リンクの間で連動するシステムに適切である。上記メソッドは、各通信期間間での最大遅延に対して、より密な結合(つまり、より制御し易い)と、通信期間持続時間の統計分布をよりよく制御できるという利点を有している。
【0195】
図8(b)は、各タイムポイントを生成するための、予め設定されている非同期型のメソッドを示す。図示されるように、この生成メソッドでは、任意の長い期間にわたる間の乱数発生により、各タイムポイントは決定される。上記の長い期間は、通常、前記の密度よりも数倍長い。
【0196】
通常、上記の長い期間は、各タイムポイント間の、平均期間より10から100倍、長くすべきである。上記の長い期間に一様分布がある状態で、各タイムポイントはランダムに生成される。その後、上記の各タイムポイントは、スケジューラによって昇順(小さいものから大きな順)へソートされる。
【0197】
TP0.,M=Rand(0.,A*N)
TP0.,N=Sort(TP0.,M
以上の方程式では、TP0.,Nは、上記スケジューラにより使用される各タイムポイントの順序付けられたリストを示す。
【0198】
上記の関数Rand( )は、密度(A)と、必要とされる各タイムポイントの数(N)とによって規定される期間中に一様に分布される各タイムポイントを生成する。乱数が一様に作り出される総持続時間は、必要とされる密度(A)と、各タイムポイントの数(N)との積によって決定される。
【0199】
予め設定された非同期型のメソッドは、異なった各システム間リンクのクロックの間でどんな同期も必要でないという利点を備えている。
【0200】
上記の非同期型のメソッドにおける、上記の同期型のメソッドと比較したときの不利な第一の点は、通信期間の各特性が互いに結合されていない、つまり互いに無関係に変化させることが可能なことである。上記の通信期間の長さ、および各通信期間の間の時間は、より変化し易い。
【0201】
図8(c)は、各タイムポイントを生成するための、予め設定されているリアルタイムのメソッドを示す。リアルタイムのメソッドでは、各タイムポイントは前のタイムポイントに関連して生成される。上記のメソッドは、スケジュールを予め設定するためにも使用されうるが、リアルタイムでスケジュールを作成するのが望ましい場合にまず適切である。
【0202】
リアルタイムのメソッドを実行するために、電子装置は、前記の密度の0〜2倍の範囲内において一様分布で乱数を作成してもよい。上記の乱数は、次の開始のタイムポイントを決定するために前の開始のタイムポイントに加えられる。この情報は、もう片方の電子装置に転送される。
【0203】
このプロセスが電子装置ペアの電子装置の1方、通常マスタによって実行される。このメソッドは特にブルーツースシステムのHoldモードに適切である。
【0204】
上記のシステム間スケジューラは、擬似ランダムスケジュール化(PRS)システム間トラフィックと、資源確保型チャンネル(RRC)トラフィックとを共存させる。
【0205】
本明細書に記述される実施例の電子装置は、擬似ランダムスケジューラによって提供されるベストエフォート型チャンネル(BEC)の公平な動作特性を維持している間、上記の共存を許容するようになっている。
【0206】
2つの各メカニズムがBECチャンネルの上にRRCチャネルの各タイプの共存を管理するために規定され、一つのメカニズムはトラフィックオーバレイメソッドであり、他方のメカニズムは動的なスケジュール変更方法である。
【0207】
資源確保型トラフィックのアクティブな期間が、PRSの平均した通信期間と比べて相対的に短いときに、上記のトラフィックオーバレイメソッドは使用されている。
【0208】
上記のアクティブな期間が非応答型の終了イベントタイムアウトのしきい値よりも小さいならば、システム間スケジュールを変更しないで、上記電子装置は、上記のRRCのチャンネルを提供することができる。
【0209】
この場合、上記電子装置はPRSトラフィックに置き換えてRRCトラフィックを単に伝えるだろう。上記の伝送の完了の後に、上記チャンネルはPRSのスケジュール化されたトラフィックに戻るだろう。もし、上記電子装置が通信期間の終わりに近づいていると、上記電子装置は早く通信を終え、その後、RRCトラフィックを続けるだろう。
【0210】
RRCトラフィックのアクティブな期間が平均した通信期間の長さに比例して長いか、上記のアクティブな期間がPRSのスケジュール化されたトラフィックの非応答型な終了イベントのしきい値よりも長いならば、スケジュール変更方法が使用される。
【0211】
この場合、PRSスケジュールはこのトラフィックのための空き時間を形成するように変更される。これはRRCトラフィックの期間の前に通信期間において起こる。システム内のデータトラヒックを提供するために、電子装置は、上記トラフィックに関わるための利用可能な時間を必確保する必要が有る。
【0212】
この空き時間はシステム間状態機械のアイドル状態702に対応している。電子装置は、システム間のスケジュール化されたトラフィックで自然に起こる空き時間を費やすか、または空き時間を利用可能にするようにシステム間スケジュールを変更するのを選んでもよい。
【0213】
後者の場合では、システム間スケジュールを再折衝することによって、電子装置は、システム間トラフィック内に、空き時間を作り出すことができる。上記後者の場合のプロセスは、資源確保型のチャンネルを管理するのに使用されるプロセスと同等である。通常、上記プロセスは、システム内通信のための必要条件を満たすために定期的に実行されることが望ましい。
【0214】
また、電子装置は、まるでそれがシステム間リンクあるかのようにシステム内リンクを取り扱うことを選んでもよい。この場合、システム間リンクと同様な実行特性を得て、システム内リンクのためのPRSスケジュールを使用してもよい。使用されるメソッドはシステム内通信のタイミング要求事項に依存していてもよい。
【0215】
図9(a)と図9(b)は各接続のために作り出されるユニークな擬似ランダムスケジュールと、電子装置ネットワーク構成とを示す。図9(a)に示されるように、電子装置ネットワークは3つのマスタ902、904、906と1つのスレーブ908とを含んでいる。
【0216】
ブルーツースシステムでは、図9(a)に示される構成は3つのピコネット(各ピコネットあたり1つのマスタ)を形成する。図9(b)の、各通信期間を示す各タイミングチャートはいくつかの間隔(インタバル)を示している。図示されるように、使用される密度は、間隔あたり、平均して1つの通信期間を可能にする。前述したように、通信期間は、開始のタイムポイントにより開始し、タイムポイントの衝突、または、終了のタイムポイントにより終了する。
【0217】
図10(a)と図10(b)は4つのピコネットを含む電子装置ネットワーク構成例を示す。図9(a)と同様に、上記電子装置ネットワークは3つのマスタ1002、1004、1006と、1つのスレーブ1008、および1つのマスタ/スレーブ1010を含む。
【0218】
図10(b)の各通信期間のタイミングチャートは各接続に割り当てられる最小処理能を例示している。本明細書にて記述したように、動的割当ては未使用の処理能を回復するのに使用されてもよい。
【0219】
図11(a)と図11(b)は電子装置ネットワークによって未使用の処理能の正しい割り当てを例示する。
【0220】
この例では、電子装置A1102と電子装置D1104の間には、どんなトラフィックも存在していない。その結果、電子装置A1102と電子装置D1104との間のオリジナルの通信期間は未使用の処理能となっている。また、図11(a)と図11(b)の例に関しては、完全な処理能が、各電子装置B1106、D1104の間と、各電子装置C1108、D1104の間で使用されていたと仮定する。
【0221】
公平な割り当てでは、電子装置A1102と電子装置D1104とのペア間の未使用の処理能は、各電子装置B1106、D1104のペア間と、各電子装置C1108、D1104のペア間の何れかによってランダムに使用される。ブルーツースシステムでは、このような状態は、効果的に、電子装置A1102が、スキャッタネットから不在であるかのように見えさせるだろう。
【0222】
図12(a)と図12(b)は電子装置ネットワークによって未使用の処理能の日和見的な公平な割り当てを例示している。この例では、電子装置A1202と電子装置D1204の間には、どんなトラフィックもなかった。
【0223】
その結果、各電子装置A1202、D1204のペア間のオリジナルの通信期間は未使用の処理能となっている。また、図12(a)と図12(b)の例に関しては、完全な処理能が、各電子装置B1206、D1204の間で、各電子装置C1208、D1204の間で、各電子装置E1210、C1208の間で存在していたと仮定する。
【0224】
公平な割り当てでは、アクティブでない電子装置によって引き起こされる終了イベントは、自由な電子装置が同じチャンネルの上に残し、上記自由な電子装置に対して再確立を試みることを引き起こす。
【0225】
日和見的な割り当てにおいては、アクティブな忙しいチャンネルによって引き起こされた終了イベントは、上記チャンネルに対して代替のチャンネルに切り換えて自由な電子装置を作り出す。したがって、日和見的な割り当てはデータのより平行な交換を許容する。
【0226】
図12(b)の各通信期間のタイミングチャートに示されているように、各電子装置A1202、D1204のペアにおける未使用の処理能は、公正に割り当てられ、上記処理能を使用するために他のチャンネルに日和見的に割り当てられている。以上のように、本発明では、電子装置間における通信期間のスケジュール調整のための擬似ランダムの動的なスケジューラが実現されている。本発明は、本発明に係る、通信可能な電子装置の通信方法を実現するための、実行可能な各インストラクションを含むプログラムデータを有するコンピュータ読み込み可能な記録媒体も含む。上記記録媒体の形態としては、フレキシブルなディスク状記録媒体(例えば、フロッピー(登録商標)ディスク)、光学、または光磁気、または色素を用いたディスク状記録媒体(例えば。CD−ROM、DVD),磁気テープ、磁気スティック等が挙げられる。
【0227】
本発明は、その精神および本質的特質から離れない範囲で、他の構成や方法で具現されてもよい。本実施例の記載は、図示された構成を説明するためのものであって、限定的に解釈されるべきではない。したがって、本発明の範囲は、上述した記載によるよりも、付記された各請求項により示されるものである。各請求項に相当する範囲や意味の範囲内の全ての変形は、本発明の範囲内に含まれるべきものである。
【0228】
本願は、発明者:ダリル・ハスラニーによる「システム間での通信に有効なスケジューリング」の、2001年2月28日にファイルされた米国特許出願(出願番号 No.60/272,630)に基づく優先権を主張し、参照により上記米国特許出願の内容が本明細書に組み込まれたものである。
【図面の簡単な説明】
【図1】(a)は電子装置ペアの実施例のブロック図であり、(b)は、電子装置ペアの実施例に関する通信期間のタイミングチャートであり、(c)は、電子装置ペアの実施例における一連の各通信期間を示す、タイミングチャートである。
【図2】(a)は、2つの各電子装置ネットワークのブロック図であり、(b)は、各スレーブ電子装置間でのシステム間通信リンクを有する2つの各ネットワークのブロック図であり、(c)は、各マスタ電子装置間でのシステム間通信リンクを有する2つの各ネットワークのブロック図であり、(d)は、スレーブ電子装置とマスタ電子装置との間でのシステム間通信リンクを有する2つの各ネットワークのブロック図である。
【図3】(a)は、2組の電子装置ペアの実施例を示すブロック図であり、(b)は、2組の電子装置ペアの実施例における通信期間を示すタイミングチャートである。
【図4】電子装置ネットワークのトポロジー表現での回路図である。
【図5】電子装置の実施例における、ハードウエアの各構成を示すブロック図である。
【図6】電子装置の実施例における、ソフトウェアの各構成を示すブロック図である。
【図7】電子装置のスケジューラのために状態機械の実施例を示すブロック図である。
【図8】(a)は、各タイムポイントを生成するための、予め設定された同期型のメソッドを示すタイミングチャートであり、(b)は、各タイムポイントを生成するための、予め設定された非同期型のメソッドを示すタイミングチャートであり、(c)は、各タイムポイントを生成するための、予め設定されたリアルタイム型のメソッドを示すタイミングチャートである。
【図9】(a)は、3の各マスタ電子装置を含む電子装置ネットワークのブロック図であり、(b)は、上記(a)の実施例のための通信期間のタイミングチャートである。
【図10】(a)は、3つのマスタ電子装置、1つのスレーブ電子装置、および1つのマスタ/スレーブ電子装置を含む電子装置ネットワークのブロック図であり、(b)は、上記(a)の実施例のための通信期間のタイミングチャートである。
【図11】(a)は4つの電子装置を含む電子装置ネットワークのブロック図であり、(b)は上記(a)の実施例のための通信期間のタイミングチャートである。
【図12】(a)は5つの電子装置を含む電子装置ネットワークのブロック図であり、(b)は上記(a)の実施例のための通信期間のタイミングチャートである。
【符号の説明】
502 プロセッサ
508 メモリ
606 通信モジュール
612 擬似ランダムスケジューラ
614 動的スケジューラ
Technical field
The present invention relates generally to electronic devices, and more particularly to a system and method for adjusting a schedule (scheduling) of a communication period between the electronic devices and program data including executable instructions for executing the method. And a computer-readable recording medium.
[0001]
Background
Computer and communication technology continues to advance at a rapid pace. In fact, computers and communication technologies are involved in many ways in people's daily lives. For example, many electronic devices used by consumers today incorporate a small computer within the electronic device.
[0002]
These small computers can vary in size and degree of sophistication. These small computers can vary in degree of technology from microcontrollers to fully functional computer systems. For example, the small computer may be a one-chip computer such as a microcontroller, a one-board type computer such as a controller, a typical desktop computer such as an IBM-PC compatible, or the like.
[0003]
Computers typically include one or more processors. At least one processor is typically interconnected to different external inputs and outputs to function to operate a particular computer or electronic device. For example, a thermostat processor is connected to a button for selecting a temperature setting, to a heating furnace or an air conditioner for changing the temperature, and to a sensor for displaying the temperature on a display by reading the temperature. Also good.
[0004]
Many appliances, electronic devices, etc. include one or more small computers. For example, thermostats, furnaces, air conditioning systems, refrigerators, telephones, typewriters, automobiles, vending machines, and many different types of industrial equipment are now typically equipped with small computers or processors inside them. Yes.
[0005]
Computer software runs the processors of these computers and sends instructions to the processors to do to perform certain tasks. For example, computer software running on a thermostat will shut down when the air conditioner reaches a certain temperature or turn on the heater when needed.
[0006]
These types of small computers that are part of devices, appliances, tools, etc. are often referred to as embedded systems. The phrase “embedded system” usually refers to computer hardware and software that is part of a larger system.
[0007]
Embedded systems may not include typical input / output devices such as a keyboard, mouse, and / or monitor. Usually, at the heart of each embedded system is at least one processor.
[0008]
As more and more electronic devices and embedded systems are used and information exchange demands increase, more devices can detect surrounding devices and establish electronic communications with these devices now It has become.
[0009]
The Bluetooth specification defines one standard that allows devices to communicate with each other through short-wave radio signals. Many types of devices can benefit from being able to connect with other devices without requiring user intervention. For example, printers, personal digital assistants, digital cameras, phones, laptop computers, video monitors, electronic calendars, desktops, fax machines, keyboards, joysticks, etc. are all part of the short wavelength wireless system for connecting to other devices. It may be.
[0010]
By enabling this type of communication, a bridge is provided to an existing data network to form a small personal special grouping of each device connected remotely from the fixed network infrastructure. In this way, a device network can be formed quickly as each device discovers each other.
[0011]
However, inefficiencies such as more devices trying to communicate with each other, causing communication slowdowns or otherwise hiding the entire communication of one or more electronic devices May occur. Thus, benefits can be gained if communication between each electronic device is enhanced with additional systems and methods to provide a more effective communication technology.
[0012]
Summary of the Invention
It is disclosed that the electronic device is adapted to communicate with a first device network and to a second device that is part of the second device network.
[0013]
The device is a communication module for communicating with a processor and each other device including a second device and at least one device from a first device network in electronic communication with the processor. Including.
[0014]
A memory may also be included for data storage in electronic communication with the processor.
[0015]
The electronic device may also include a pseudo-random scheduler for setting each time point that defines a schedule for the electronic device to communicate with other devices. A dynamic scheduler may also be included to change the schedule. The electronic device may also include an event queue.
[0016]
The dynamic scheduler may execute a fair allocation method that dynamically allocates communication processing capability. The above fair allocation method may include extending the previous communication period. The fair allocation method may also include reducing the number of start time points in the event queue.
[0017]
Opportunistic allocation methods may be executed by a dynamic scheduler to dynamically allocate communication processing capabilities. The opportunistic assignment method may include evaluating waiting traffic and device availability and changing the airline schedule based on the evaluation.
[0018]
The pseudo-random scheduler may be configured to execute a preset synchronized method in order to generate each time point. Further, the pseudo random scheduler may execute a preset asynchronous method in order to generate each time point.
[0019]
Real-time methods may also be used with a pseudo-random scheduler. The event queue may include a plurality of starting time points. A plurality of channel identifiers may be stored in the event queue. Furthermore, the event queue may include a plurality of indicators that indicate that data is waiting.
[0020]
The electronic device may further include a state machine for scheduling and communication. The state machine may include an idle state, a data state, a schedule negotiation state, and a re-establishment state.
[0021]
The electronic device may be used in a Bluetooth system. In such an environment, the device may be part of a piconet. If the device is part of a piconet, the pseudo-random scheduler may be adapted to provide each time point that defines a schedule for an electronic device that communicates with each piconet.
[0022]
A method for scheduling a communication period between electronic devices in a pseudo-random manner and dynamically is also disclosed. The method may include transmitting output data from the first electronic device to the first device network and receiving input data from the first device network by the first electronic device.
[0023]
The method also includes the steps of discovering a second electronic device of the second device network and each pseudo-random time point defining a schedule for communicating with the first device network and the second device network. Providing the time points in the event queue; dynamically changing the schedule to add additional communication bandwidth to the at least one communication channel to add additional communication processing power; May be included.
[0024]
A computer readable medium for executing program data is also disclosed. The program data includes executable instructions for performing the method. The method may include transmitting output data from the first electronic device to the first device network and receiving input data from the first device network by the first electronic device.
[0025]
The method also includes the steps of discovering a second electronic device of the second device network and each pseudo-random time point defining a schedule for communicating with the first device network and the second device network. Providing the time points in the event queue; dynamically changing the schedule to add additional communication bandwidth to the at least one communication channel to add additional communication processing power; May be included.
[0026]
This embodiment will become more fully apparent from the following description taken in conjunction with the accompanying drawings and the appended claims.
[0027]
It will be understood that each of these drawings is merely representative of exemplary embodiments and is not intended to limit the scope of the invention. This embodiment will be illustrated by the further specification and the accompanying drawings.
[0028]
Detailed description
In the present specification, as shown in each drawing and generally described, it is apparent that each configuration of the present embodiment is easily understood and arranged and designed in various different configurations. Will.
[0029]
Accordingly, the following more detailed description of the system and method embodiments of the present invention as represented in the drawings is merely an embodiment of the present invention, as claimed in the claims below. It is not intended to limit the scope of the present invention.
[0030]
FIG. 1A is a block diagram showing an electronic device pair 106 including two electronic devices (devices) 102 and 104. The electronic device pairs 106 can initiate communication 108 with each other.
[0031]
The electronic devices 102 and 104 include vending machines, telephones, door locks, temperature detectors, motors, switches, light sources, printers, fax machines, refrigerators, health monitors, elevators / escalators, copiers, scanners, manufacturing facilities, Examples include industrial equipment, computer equipment, peripheral equipment, security systems, monitoring equipment, thermostats, and the like.
[0032]
FIG. 1B shows a timing chart of each communication period including a schedule (plan) 110 for the communication period 112 between the respective electronic devices 102 and 104 of the electronic device pair 106.
[0033]
Usually, the schedule 110 is created according to a communication request of any electronic device of the electronic device pair 106. The schedule 110 may be specific to the electronic device pair 106 or may be set in both the electronic devices 102 and 104.
[0034]
As shown, the schedule 110 may include time points 114 and 116 that are signals indicating the start and end of communication between the electronic device pair 106.
[0035]
The time between the start time point 114 and the event end time point 116 is called the communication period 112. The start time point 114 is a typical method used to initiate communication between the two electronic devices 102, 104. Both electronic devices 102, 104 are normally aware of the start time point 114 so that communication can begin at the start time point 114.
[0036]
In the embodiment of FIG. 1A, both electronic devices 102 and 104 can end communication. The electronic device can optionally terminate the communication period 112, but in general, the communication period 112 is terminated by colliding with a time point from another electronic device pair schedule.
[0037]
The end of the communication period 112 may be executed by exchanging signals between the electronic device pairs 106 for each connection relationship. The end time point 116 may be used to end the communication period 112, but is not necessarily so. The end time point 116 is created by a schedule negotiation process performed between each electronic device in the pair.
[0038]
Typically, the starting time point 114 is determined by a unique (unique) random pre-set pseudo-random schedule relative to the pseudo-random schedule for each other pair of electronic devices connected together.
[0039]
The starting time point 114 is determined by negotiation between each pair of electronic devices where the negotiated time point is within the active range of the communication period as determined by a scheduled pseudo-random schedule. Also good. The above negotiation process is performed between a pair of electronic devices and is used to create free time in a schedule for other purposes.
[0040]
The electronic device pair 106 typically consists of one electronic device having a master role with respect to the connection and another electronic device having a slave role. The master electronic device generally initiates and controls the connection, while the slave electronic device responds to the master command. The schedule typically uses the master electronic device clock as the time base. The slave electronic device may maintain synchronization with the clock. If available for both electronic devices, another time base may be used.
[0041]
FIG. 1 (c) shows a series of communication periods 118, 120, including a plurality of start time points 124, 126, 128, a plurality of end time points 130, 132, 134, and / or each event end. 12 is a timing chart showing 122.
[0042]
In many situations, the electronic device pair 106 may continue to communicate with each other over a period of time. These communications may take place in a number of each communications period 118, 120, 122 rather than one continuous communications period 112.
[0043]
FIGS. 1 (a) through 1 (c) show two electronic devices 102, 104 communicating with each other, but there is a situation where there is communication between each electronic device exceeding two. In some cases, for example, as shown in FIG. 2 (a), there may be two electronic device (device) networks 202,204.
[0044]
Electronic device A 206, electronic device B 208, electronic device C 210, and electronic device D 212 form a first electronic device network 202. The electronic device E214, the electronic device F216, the electronic device G218, and the electronic device H220 form a second electronic device network 204.
[0045]
FIG. 2 (a) shows two separate electronic device networks 202, 204, in other words two different systems. The first electronic device network 202 includes one master and three slaves. The electronic device A206 is used as a master, while the electronic device B208, the electronic device C210, and the electronic device D212 are used as slaves. The second electronic device network 204 includes a master (electronic device E214) and three slaves (electronic device F216, electronic device G218, and electronic device H220).
[0046]
As shown, intra-system communication 222 occurs between each electronic device in the first electronic device network 202 and between each electronic device in the second electronic device network 204.
[0047]
One application for embodiments of the present invention may relate to the Bluetooth (Bluetooth) standard and the personal area network associated with Bluetooth. The Bluetooth standard described in the specification of the Bluetooth system is incorporated herein by reference.
[0048]
Depending on the type of communication system used, the application of the scheduler of the present invention can be extended to what was previously considered in the internal system link. The present invention is particularly preferably applied to a Bluetooth system in which a piconet is an individual independent system. In the Bluetooth field, each electronic device network 202, 204 may both be a piconet.
[0049]
When a connection between each piconet is formed, the scheduler of the present invention will both a new connection and, if a previous piconet master exists, a connection in the previous piconet to that piconet master. It is applicable to.
[0050]
Of course, it will be apparent to those skilled in the art that the embodiments disclosed herein and the principles of the present invention are not limited to personal area networks and / or Bluetooth networks.
[0051]
The inventive principles described herein are applicable to various types of communication systems, including each electronic device and / or each computer communicating with each other.
[0052]
Further, in the example shown in FIGS. 2 (a) to 2 (d), three generally possible ways of connecting two networks 202, 204 are shown. As described above, in FIGS. 2A to 2D, the electronic device A206 and the electronic device E214 serve as masters, while the other electronic devices serve as slaves. Thus, a master / slave relationship exists between the master and slave of each electronic device network 202,204.
[0053]
FIG. 2B shows an inter-system communication link 224 between the electronic device D212 and the electronic device F216. The scheduling apparatus and methods described herein may be used for the intersystem communication link 224.
[0054]
Further, as illustrated, each link between the electronic device A 206 and the electronic device D 212 and between the electronic device E 214 and the electronic device F 216 may be handled as the inter-system communication link 224.
[0055]
Therefore, the original connection between the slave and its master may now be treated as an intersystem link as the slave electronics will not be available to the master at all times due to the added link. .
[0056]
Each communication between the electronic device A206 and the electronic device D212, and between the electronic device E214 and the electronic device F216, now has a processing capability of each slave (electronic device D212 and electronic device F216) rather than just one connection. Rather, it may be rescheduled because it will be shared by each of the two communications.
[0057]
FIG. 2 (c) shows an intersystem communication link 224 between two master electronic devices 206, 214. FIG. 2D shows an intersystem communication link 224 between a master (electronic device A 206) and a slave (electronic device F 216).
[0058]
When the embodiments of FIGS. 2 (a) -2D are used and implemented in a Bluetooth environment, the two systems, each network 202, 204 and intersystem communication link 224, may be referred to as a scatternet. Good. As described above, each of the embodiments described herein and the principle of the present invention are not limited to the Bluetooth environment but are widely applied.
[0059]
Each of the embodiments described herein provides a solution to the scheduling problem for each electronic device that needs to have any number of connections. Further, each of the embodiments described in the present specification enables an arbitrary connection relationship (topology) of each electronic device to effectively communicate with each other when each connection relationship is treated as an interconnection between systems. ing.
[0060]
FIG. 3A shows a system of a simple connection relationship (topology) including an electronic device B302 that communicates with each of the other two electronic devices A304 and C306. The electronic device A 304 and the electronic device B 302 constitute an electronic device pair 308. Similarly, the electronic device B302 and the electronic device C306 constitute an electronic device pair 310.
[0061]
For each pair 308, 310 of communicating electronic devices, there is a schedule for communication showing each time point of start, as shown in FIG. 3 (b). Each communication period 314, 316, 318 between electronic device B302 and electronic device A304 begins through each time point 320, 322, 324 of the start of communication AB.
[0062]
Each start time point 320, 322, 324 starts a respective communication period 314, 316, 318 for the pair 308 corresponding to each electronic device 304, 302, respectively. Each communication period 326, 328, 330 between electronic device B302 and electronic device C306 is initiated through a respective time point 332, 334, 336 of the start of communication BC. Each of these start time points 332, 334, 336 starts a respective communication period 326, 328, 330 for the B-C pair 310 of each electronic device 302, 306.
[0063]
As shown in the figure, each start time point ends an event for the previous communication period. The end of a communication period is signaled to another electronic device when another start time point occurs to collide with the currently active communication period. For example, the start time point 320 starts a communication period 314 between the electronic device A 304 and the electronic device B 302.
[0064]
The communication period 314 continues until the start time point 332 is generated as a signal indicating the start of the communication period 326 between the electronic device B302 and the electronic device C306. FIG. 3 (b) shows a typical operation for the embodiment shown in FIG. 3 (a).
[0065]
FIG. 4 shows the connection relationship (topology) of the electronic device network. A communication link 402 exists between electronic device A 404 and electronic device B 406. Multiple electronic devices X in electronic communication with electronic device A 404 1 ~ X n There is. Similarly, a plurality of electronic devices Y in electronic communication with electronic device B406 1 ~ Y m There is.
[0066]
The performance (execution) of the system according to the present invention provides a fair distribution of processing power. The above performance can be easily generalized when all the links are fully utilized. The above relationship is given by the following equation for the generalized system illustrated in FIG.
[0067]
The processing capability available on link A-B 402 is inversely proportional to the total number of each other intersystem link in which both electronic device A 404 and electronic device B 406 are participating.
[0068]
The following equation does not take into account overhead (overhead costs) based on switching between connection relationships and overhead due to transmission / reception of other signals required for system operation. The following Cap AB The number of indicates the relative processing power available for the connection. It indicates the relative amount of time utilized for communication between a pair of electronic devices. The above relationship is applicable to systems where the density of each time point is equal on each link between all systems, and each link has a random distribution relative to the others.
[0069]
Cap AB = 1 / (1 + n + m)
FIG. 5 is a block diagram showing each configuration of main hardware generally used in the electronic / built-in electronic device 500. The electronic device 500 typically includes an input unit 504 and / or an output unit 506 and a processor 502 in electronic communication with them.
[0070]
The processor 502 is capable of electronically communicating with the processor 502, that is, operating them on input and / or output sections 504, 506 that can be input and / or output in the form of electrical signals. It is connected to the.
[0071]
Embodiments of the electronic device 500 may include an input 504, an output 506, and a processor 502 in the same physical structure, and are included in separate housings and structures. May be.
[0072]
The electronic device 500 may include a memory 508. The memory 508 may be provided as a separate configuration from the processor 502, may be provided as an on-board memory, or may be provided as part of the processor 502. For example, microcontrollers often include a certain amount of on-board memory.
[0073]
Further, a communication unit 510 that electronically communicates with the processor 502 and the processor 502 is provided. The communication unit 510 may be used for communication with other electronic devices. Therefore, the communication unit 510 of various electronic devices may be designed to communicate with each other in order to send signals and messages between the electronic devices 500.
[0074]
In addition, the electronic device 500 may include a communication transmitting / receiving unit 512 that is another communication port. Furthermore, another component 514 that is another component may be included in the electronic apparatus 500. Of course, it will be apparent to those skilled in the art that many different types of electronic devices can be used with the embodiments described herein. Accordingly, the block diagram of FIG. 5 is merely meant to illustrate typical components of the embedded electronic devices 102, 500 and is not meant to limit the scope of this embodiment.
[0075]
FIG. 6 shows software modules that may be used in electronic device 600. Built-in application 602 may be used to operate electronic device 600. Built-in application 602 may include functionality necessary for operation of electronic device 600.
[0076]
An input / output module 604 may be used to receive data from the input unit 504 and send data to the output unit 506. Depending on the type of electronic device 600, the specific functionality of the input / output module 604 may vary.
[0077]
The inter-electronic device communication module 606 may include functionality for handling incoming and outgoing messages. For example, the communication module 606 between electronic devices may include instructions for sending and receiving each communication using the communication unit 510.
[0078]
The communication module 606 between the electronic devices may be configured to send or transmit outgoing data 608 and receive incoming data 610.
[0079]
The electronic device 600 may generally include software for accomplishing each task including communication, input / output of the electronic device 600, and monitoring and control of the electronic device 600.
[0080]
The communication module 606 between the electronic devices may mean a routine or instruction of a computer program that handles each communication via the communication unit 510 or the communication transmitting / receiving unit 512.
[0081]
The input / output module 604 may mean a routine or instruction of a computer program that handles input to the electronic device 600 and output from the electronic device 600.
[0082]
For example, if there is a button (not shown) on the electronic device 600, the input / output module 604 may include code necessary to process input from the button (not shown).
[0083]
The application 602 may function as a main program that controls the electronic device 600 and executes each task of the electronic device 600. It will be apparent to those skilled in the art that each software block described above is merely an example, and the configuration of each block illustrated is not necessarily required to implement the present embodiment.
[0084]
As mentioned above, the embodiments described herein allow many different types of electronic devices 102, 500, 600 to be available and used. Typically, these electronic devices are already loaded with the software necessary to run the electronic device 600.
[0085]
The embodiments described herein are usable by each electronic device 102, 500, 600 having almost all electronic communication and some processing capabilities.
[0086]
In addition, the electronic device may include a pseudo-random scheduler 612 and a dynamic scheduler 614 that dynamically performs allocation. In the following, both the pseudo-random scheduler 612 and the dynamic scheduler 614 will be described.
[0087]
As described below, the dynamic scheduler 614 may include a fair allocation component 616 and an opportunistic allocation component 618. An event queue (event queue) 620 may also be included. The event queue 620 includes one or more queue items 622. Each queue item 622 may correspond to a specific communication channel.
[0088]
Each queue item 622 includes state information 630, status information 632, and other information 634 along with each communication time point 624, channel identifier (channel ID) 626, and waiting data 628. Also good.
[0089]
The above data that may be stored in the event queue 620 is described more fully below. It is disclosed herein that the method of the present invention dynamically allocates processing power between system interconnections when using a scheduled allocation that is not used by a pair of electronic devices. Is provided.
[0090]
A distributed algorithm is used to distribute the processing power to each intersystem link where traffic is available. Unused processing power may be assigned on a fair basis first, and then processing power may be assigned opportunistically where communication is possible.
[0091]
The above algorithm attempts to maximize the utilization of communication processing power for each electronic device. The principle used to achieve fair allocation is to effectively remove intersystem interconnections from electronic devices when there is actually no traffic without connection interruption.
[0092]
This, due to the inherent fairness of the pseudo-random scheduler 612, will reallocate unused processing power for each link that has traffic.
[0093]
In the embodiment described herein, two mechanisms are used to achieve a fair reassignment of unused processing power, one is a reduction in the starting time point and the other is a previous communication. It is an extension of the period.
[0094]
In the start time point reduction method, the electronic device monitors its internal event queue 620 and traffic on the link. If there is no traffic, the set schedule is changed by removing each time point of start.
[0095]
The schedule is changed so that there is only a portion remaining from each original time point. For example, in one possible embodiment, each starting time point may be removed so that only the fourth in every original time point is used.
[0096]
The method can effectively remove the connection to the short interval electronic device and allow its processing power to be used by each other intersystem link.
[0097]
The negotiation process between the electronic device pair is used to change the schedule and remove each time point. The above-mentioned method for extending the previous communication period means that the current communication period has been completed early (i.e., before the next start time point) with respect to other electronic devices with which the electronic device was previously communicating. To re-establish communication with the other electronic device that was communicating with.
[0098]
In this way, the above communication method is used to extend the previous communication period, and the electronic devices that have not fully used the scheduled processing power are effectively removed.
[0099]
As a general rule, opportunistic assignment attempts to maximize the number of parallel communication transfers. An additional process is performed to achieve an opportunistic assignment. In the above process, the electronic device 102 monitors the waiting traffic for each link and monitors how much the electronic device is available for establishing communications.
[0100]
The information equivalent to the monitor may be obtained from signal communication that occurred when the previous communication period was terminated for its respective intersystem link.
[0101]
Thereafter, the electronic device 102 may attempt to establish communication with another electronic device that has the waiting data to transfer and is available for communication. If two or more electronic devices meet the criteria, the most recently communicated electronic device may be selected from each of the electronic devices. These rules can improve the likelihood that both electronic devices can try to establish a connection with each other and establish communication.
[0102]
Some applications have very stringent communication requirements that may not be met with a pseudo-random scheduler 612 between systems. These requirements are usually expressed in terms of fixed data bit rate and maximum latency. In addition, the application generally provides the service only if sufficient processing power is available, negotiating the processing power required when establishing a channel for the service (the benefits of processing). Will be done.
[0103]
In order to meet more stringent requirements, methods are provided that support resource reserved channels (RRC). The above resource securing channel type may be implemented as a scheduled communication with an information period and a duty cycle between each information period fixed in a certain period.
[0104]
Resource reservation channel traffic has a higher priority than pseudo random scheduled (PRS) channels, and if a schedule conflict occurs, resource reservation channel traffic Traffic is replaced with PRS traffic. The above PRS schedule is modified to accept any RRC traffic.
[0105]
In the design of this embodiment, the resource securing channels are negotiated so that they do not collide with each other. Due to the periodic nature of the resource-reserved channel, in many cases the resource-reserved channel will use the fixed processing power of the communication link.
[0106]
Due to the periodic nature of the above, the processing power captured from PRS traffic is randomly distributed among all links. As a result, traffic between systems scheduled by the PRS method will be reduced by the RRC but will be fairly fairly allocated between each connection between systems.
[0107]
FIG. 7 shows an embodiment of a state machine for the scheduler of electronic device 102. Each electronic device 102 may execute the state machine to run a scheduler and support other related functions.
[0108]
The system description associated with the state machine may apply MAC / baseband components that are responsible for managing intersystem traffic for the electronic device 102.
[0109]
Unless stated otherwise, the above information applies equally to both electronic devices of an electronic device pair. The above protocol is mainly based on a master / slave access mechanism. The Bluetooth standard uses a master / slave relationship.
[0110]
To illustrate and clearly illustrate an example of how the state machine is used, the protocol is described in master / slave and sometimes in Bluetooth terms.
[0111]
Of course, for those skilled in the art, the principles and embodiments of the present invention described herein may be applied to a wide variety of variations of the electronic device 102 configured for electronic communication with other electronic devices. It will be clear.
[0112]
The aforementioned idle state 702 is illustrated in FIG. There is no PRS intersystem traffic in the idle state 702. The electronic device 102 is free to communicate with other electronic devices within its system or network.
[0113]
The electronic device 102 may be designed to avoid communication that may extend the PRS scheduled intersystem communication period. For Bluetooth systems, the above avoidance can occur when a long packet is received that extends past a scheduled time point.
[0114]
Also, the aforementioned data state 704 is shown in FIG. In the data state 704, data is exchanged between the intersystem electronic devices. Communication continues until an end event occurs.
[0115]
FIG. 7 shows a schedule negotiation state 706. This state 706 is used to change the schedule. Either electronic device may initiate this process 706 or state 706. This state 706 is an effective sub-state of the data state 704 because an active communication period is required to support the exchange of messages necessary for schedule negotiation.
[0116]
The aforementioned re-establishment state 708 is also illustrated in FIG. The re-establishment state 708 executes a procedure for establishing communication during a period when there is no scheduled communication. This mechanism is used to distribute unused processing power to intersystem channels that have data available for exchange.
[0117]
FIG. 7 shows events that cause a transition from one state to another state and events that maintain the electronic device 102 in the same state. An intersystem schedule manager (not shown) maintains a list of each communication event for each intersystem channel in the event queue 620. The event list is made up of a list in which each scheduled time point 624 and corresponding channel identifier 626 are ordered.
[0118]
The above scheduled event occurs when the current time matches the scheduled time. When the starting time point occurs, the electronic device 102 enters the data state 704 and begins communicating with the corresponding electronic device. If the electronic device is currently active for another communication channel, the electronic device will perform a kill process on the channel before entering the data state 704. .
[0119]
There are many different types of end events that may occur. Forced termination occurs when there is data waiting for data exchange, but one of the electronic devices wants to terminate the current communication period. The electronic device may perform the above termination due to another scheduled inter-system communication (or interpiconet communication in a Bluetooth network) or for other reasons.
[0120]
The electronic device ends the communication period by asserting (asserting) the display (instruction) of this event in a message to the other electronic device. Another type of end event is a scheduled end. When the schedule negotiation process 706 or state 706 is successfully completed, an end time point is agreed for the current communication period. When this time point occurs, a scheduled end event occurs.
[0121]
An event indicating that data has been exhausted is another type of end event. The above event occurs when all available data has been transferred by both electronic devices. The occurrence of this event is signaled to the other electronic device by a message indicating the event.
[0122]
The master electronic device signals the other electronic device that it has no data to send by conveying a Poll packet. The slave indicates that there is no data to send to the slave by passing a Null packet. Thus, when both electronic devices indicate that they have no data to transfer, an end event that indicates that the data has been exhausted occurs.
[0123]
Another type of end event is a non-responsive end event. A non-responsive end event is to occur when communication is scheduled but does not occur. The electronic device may wait for communication for a certain period. If no data is received, the communication period may be terminated.
[0124]
If the electronic device is the master, a non-response type end event occurs when no response is received for any packet sent to the slave electronic device. If the electronic device is a slave, an unresponsive end event will occur when it does not receive any packets from the master.
[0125]
When this embodiment is used in a Bluetooth network, the above-mentioned non-response type end event may occur when there is a scatternet scheduling violation.
[0126]
The non-responsive end event can occur when the electronic device has high priority activity and cannot meet the schedule agreed upon by the electronic device. The non-response end event can generally occur for a process that has an indefinite duration (eg, page response or inquiry response).
[0127]
Other types of events are also shown in FIG. 7, further illustrating other events that can cause changes in state. A negotiation request event is used by the electronic device to initiate the schedule negotiation process 706. The negotiation request event occurs during an active communication period between two electronic devices.
[0128]
An event (status) waiting for data is an indicator (indicator) of a composite status in all the inter-system links so that the electronic device can recognize the event or status (status). If any of the links is in a state where data to be transferred remains, the indicator may be true. The above state is well known by the method in which the communication period is terminated.
[0129]
For links where an event indicating that data has been exhausted occurs, the indicator may be false. The indicator is true for links that are forcibly terminated or non-responsive termination.
[0130]
Also, the event or state without data waiting is an indicator of the composite state of all the intersystem links, as recognized by the electronic device. This indicator indicates that there is no data waiting for each intersystem link with which the electronic device is associated.
[0131]
Further, the communication re-establishment event described above is shown in FIG. The above communication re-establishment event occurs when the POLL response procedure is completed and it is confirmed that the communication channel has been established.
[0132]
Failure to re-establish the event indicates that the electronic device was unable to establish communication during the re-establishment process 708. As described above, the idle state 702 is entered whenever there is no active PRS intersystem communication. The time spent in the idle state 702 depends on the inter-system traffic load and all of the changes that are matched to the pseudo-random (more generally inter-system) schedule between piconets.
[0133]
The electronic device may change the intersystem schedule so that the time for the idle state 702 can be freely set if needed for intrasystem links and other activities. The idle state 702 may imply that the electronic device is not involved in any PRS intersystem traffic, but may be active in other intra-system communication activities. .
[0134]
While the electronic device is in the idle state 702, the electronic device typically monitors the intersystem schedule and changes the states at times defined by the schedule. All other communication activities should be scheduled so that they do not conflict with the intersystem schedule.
[0135]
Referring to the data state 704 shown in FIG. 7, intersystem communication is initiated when a scheduled start event occurs or when the re-establishment procedure 708 is successful.
[0136]
The scheduled start event is usually the time point described by the pseudo-random scheduler, or may be another start time point previously negotiated between the electronic devices.
[0137]
The communication period is from the exchange of data between the electronic device pair to the end event. In data state 704, the master transmits the packet to the slave. If there is data such as an inquiry, a data packet is sent, otherwise a POLL packet is sent.
[0138]
A POLL packet is a packet composed of an access code and a packet header, like a NULL packet, and has a fixed length of 128 bits. The POLL packet is for managing the state of the communication link, like the NULL packet. However, unlike a NULL packet, a POLL packet always acknowledges the receipt of a POLL packet.
[0139]
The above data or POLL packet may be sent until an end event occurs. The slave may be in a standby state for a packet transmitted from the master. When a packet is received from the master, the slave sends a data packet to the master if a reply is possible, otherwise it sends a NULL packet to the master.
[0140]
A NULL packet is a packet composed of an access code and a packet header, and has no payload. The packet length is fixed at 128 bits. The NULL packet is for notifying the other party of the state of the communication link, such as reception confirmation (ARQN) and flow control (FLOW). Also, there is no need to send a packet response for confirmation that a NULL packet has been received.
[0141]
The electronic device detects a non-responsive state by monitoring communication activity. If there is no communication during each slot of the non-response type timeout period, the electronic device may end the communication.
[0142]
With respect to the master electronic device, the master electronic device may continuously transmit packets to the slave electronic device until the non-responsive timeout period expires. As for the slave electronic device, the slave electronic device may be in a continuous standby state in order to reliably receive packets from the master. If the slave does not receive any packets during the non-responsive timeout period, the slave may terminate the connection.
[0143]
The electronic device may terminate the active communication period at any time. In general, the electronic device terminates communication because it becomes necessary for the electronic device to execute another scheduled event. For example, the electronic device may need to respond to a starting time point for another link, or the electronic device needs to communicate with a slave, such as an in-system link. It may be the case.
[0144]
The forced termination may be signaled by an electronic device using various methods. Depending on the various types of electronic devices, systems, protocols, etc. being used, different techniques may be performed by the electronic device to signal a forced termination. In general, an electronic device may send a forced termination message to other electronic devices to convey a forced termination.
[0145]
It will be apparent to those skilled in the art many different ways in which the message is communicated. For example, in a Bluetooth system, the forced termination may be signaled by the electronic device by a FLOW bit in the packet header. Normally, the FLOW bit is set to enable (FLOW = 1) during data exchange. The electronic device may clear the FLOW bit (FLOW = 0) to force the end of the current communication period.
[0146]
The forced termination may be executed prior to the schedule negotiation process 706. If the forced termination is used, the use may indicate that the electronic device that initiated the new schedule is not available until a new negotiated time. The use may imply that the electronic device is not available on any re-establishable link.
[0147]
The schedule negotiation state 706 or process 706 described above may be used by an electronic device that has terminated active communication and knows that it will be busy in the near future.
[0148]
If forced termination is not used, its non-use may imply that the electronic device appears free to re-establish on the link to which the electronic device belongs. When both electronic devices do not have any data to exchange, a termination indicating that the data has been exhausted occurs. The termination occurs when both electronic devices empty their data queues.
[0149]
Similar to forced termination, terminations that indicate that the data has been exhausted in a variety of commonly used ways depending on each type of electronic device, system, protocol, etc. It may be signaled by an electronic device.
[0150]
In general, an electronic device may send an end message indicating that data has been exhausted to another electronic device to signal the end of data indicating that it has been used up.
[0151]
It will be apparent to those skilled in the art that an end message indicating that data has been exhausted may be communicated in a variety of different ways. For example, in a Bluetooth system, the end event may be signaled when the slave transmits a Null packet and when the master transmits a Poll or Null packet.
[0152]
The end slot is determined based on the last electronic device that sent the signal, ie, no data to send. When the master is the last to run out of data, a sequence (packet dispatch order) Poll-Null-Poll may be used with ACKN = 0. The last slot used is a Poll packet sent by the master.
[0153]
When the slave is the last to run out of data, a sequence (packet dispatch order) Null-Poll-Null may be used with ACKN = 0. In this case, the Null packet from the slave is the last used slot.
[0154]
If the schedule negotiation process 706 is completed during the current active communication period, an end of schedule may occur. While the part of the process is being processed, the start of a hold period (hold start time) is negotiated. During the communication period, the hold start time determines the last slave slot.
[0155]
As described above, schedule negotiation state 706 or process 706 is used to change the schedule. The electronic device may choose to change the schedule for many different reasons (eg, conflicting or avoiding each schedule).
[0156]
The electronic device changes its own schedule to avoid wasting processing power by notifying the other electronic device that the current schedule obligation cannot be met. A new schedule that is acceptable to both electronic devices is then negotiated.
[0157]
Schedule negotiation state 706 or process 706 may be used in each of several situations. The schedule negotiation state 706 may be used when there is a start time point event collision.
[0158]
In the above situation, the electronic device may have anticipated the next time point for the current active communication link, if the next time point collides with the time point for other intersystem links, If other links have higher priority, the schedule negotiation process 706 may be used to negotiate a new time point.
[0159]
Schedule negotiation state 706 may be used when there is a communication termination without an opportunity to re-establish communication. The above may occur in the following cases. The above case is when the communication period is about to be terminated by the local electronic device and the link has waiting traffic.
[0160]
The local electronic device may look ahead (previous) with its predicted availability. If the electronic device is expected to be busy, the electronic device may use the above procedure to indicate that it is not available by asserting a starting time point. The information is used by the fellow electronic device re-establishment process 708 in the selection of each communication link.
[0161]
Schedule negotiation state 706 may be used when other events occur. For example, if the communication processing capability of the electronic device is necessary for other purposes, the electronic device may make the communication processing capability available by obtaining an inactive period by negotiation in the inter-system schedule. Good. The above negotiation may be made in each intersystem link.
[0162]
Schedule negotiation state 706 or process 706 may be initiated by an electronic device attempting to change the current schedule. Different techniques may be used by the electronic device to initiate the schedule negotiation process. In general, the electronic device may send a schedule negotiation start message to other electronic devices to initiate the schedule negotiation process 706.
[0163]
It will be apparent to those skilled in the art how many different ways the message may be communicated. For example, in a Bluetooth system, the state may begin with the transmission of an LMP_hold_req message. The above message is for the hold start time to be set to correspond to the last slot of the communication period, as determined by the start time point for any other connection It is.
[0164]
The hold time parameter may be set to correspond to the next starting time point proposal for the current connection. The receiving electronic device compares the requested hold start time with the next time point event, and if the requested hold start time is shorter (next) than the next time point event, it determines the requested hold start time. Approve and schedule. Otherwise, the electronic device may request a new hold start time corresponding to the next scheduled event.
[0165]
In the design of this example, the electronic device of each example is configured to attempt to agree on the shorter of the two periods. The electronic device receiving the request can check the hold time parameter, and if it matches, accept the parameter, and if not, can suggest the next starting time point for the channel. If both parameters are acceptable, the electronic device may send LMP_Accepted. Otherwise, the electronic device may transmit LMP_hold_req as an alternative request.
[0166]
The receiving electronic device may perform a similar check and respond in a similar manner. After the negotiation is complete, the state may return to data state 704 and continue exchanging information until an end event occurs. The re-establishment state 708 attempts to establish communications opportunistically during periods of inactivity.
[0167]
In this embodiment, the aforementioned algorithm, when possible, first fairly allocates unused processing power among each electronic device and then optimistically communicates processing power where possible. Designed to distribute.
[0168]
The electronic device may enter the re-establishment state 708 when the current communication is terminated and there is data waiting on any of its intersystem communication links. The electronic device attempts to re-establish communication with another electronic device at a remote location that had a previously active connection with data waiting to be transmitted indicating that it may be available It may be like this.
[0169]
If the electronic device is a master, the above settings may include transmission of packets (POLL or data) until a response is received or another time point occurs. If the electronic device is a slave, the slave may be in a standby state until another time point occurs. When a response is received, the electronic device may transition to a data state.
[0170]
If an electronic device has signaled that it has finished its communication period and will soon be busy, the free electronic device will attempt to establish communication with another electronic device that will be available. It may be like this.
[0171]
Each electronic device may maintain an event queue 620 and status information 630 for each intersystem communication channel. The event queue 620 may consist of an ordered list of time points. Each time point may be generated from a pseudo-random sequence for any change or addition due to the connection, plus, or negotiation to which it corresponds.
[0172]
The electronic device may combine the lists to determine which connections are scheduled at any point in time. At least one of state information 630 and status information 632 may be maintained for each intersystem link. The information may be obtained from the end event and any storage in the data queue.
[0173]
Each electronic device may include link status information. The link status information may include information on waiting data 628 such as waiting / no waiting data. The information may indicate that there is some waiting transmission on the link.
[0174]
The above information is set when there is data waiting for transmission in the local queue, or when the previous communication period is ended together with the event waiting for data transmission.
[0175]
The electronic device may also include a remote processing capability indicator (not shown). The indicator may indicate whether the remote (remote) electronic device on the link is currently busy or free.
[0176]
This indicator may be set free if the previous communication period has been negotiated and has not been scheduled. The use of the schedule negotiation process implies that the remote electronic device is busy until a new time point due to negotiation. Link schedule information (not shown) may be stored in the electronic device. The link schedule information may include pseudo-random time points.
[0177]
Each of these time points may be automatically generated based on an algorithm that determines their location relative to the clock of the master electronics on the link. Moreover, these time points may prescribe | regulate the start of communication.
[0178]
Also, each scheduled time point may be stored. These time points may be generated through a negotiation process between two electronic devices connected by this link. These time points define the start of communication. The electronic device may store the end time point time.
[0179]
There are time points that define when communication should end. They are generated in the schedule negotiation process 706. Since each starting time point is typically generated pseudo-randomly, a collision of each time point may occur at each electronic device belonging to two or more intersystem links. The occurrence may be random at a rate depending on the density of each time point.
[0180]
In the embodiments described herein, the electronic device detects each time point that collides with each other and adjusts the schedule to reduce them. The electronic device may use schedule negotiation state 706 or process 706 to move or skip each time point that is colliding with each other when possible.
[0181]
When it is impossible to reschedule each starting time point that collides with each other, the electronic device communicates with the electronic device having the longest inactive period with respect to each other electronic device. Should be selected. This choice ensures a fair allocation of communication throughput and minimizes invalid periods.
[0182]
A pseudo-random generator may be used to generate each starting time point that creates a schedule. Each time point may be defined in relation to the clock of the master electronic device of the electronic device pair that forms the intersystem interconnection. In the design of this embodiment, both electronic devices can create their own schedules, both of which have clock knowledge (specifications) necessary to use the schedule.
[0183]
Given that each schedule can be unique (unique) and random with respect to other inter-system schedules, the unique (unique, unique) but shared part of each schedule above Information may be used as input to the generator.
[0184]
For example, if the electronic device is part of a Bluetooth network, this shared portion of information may be the master's electronic device address (BD_ADDR) and the slave's active member address (AM_ADDR) in Bluetooth.
[0185]
One characteristic of the generator is the density of each time point. The density defines the average between each time point. Other temporary relationships may also be imposed on the generating function to achieve specific operating characteristics.
[0186]
Each property associated with each of the three possible methods is described below. The following methods may be used, but each has its own unique system limitations and performance tradeoffs.
[0187]
It will be apparent to those skilled in the art that other methods may also be used based on the devices and software of this embodiment for effectively scheduling each communication period.
[0188]
FIG. 8A shows a preset synchronous method for generating each time point. As shown in the figure, in a preset synchronous time type method, each time point is first generated by applying to a period (A) with a fixed interval.
[0189]
The interval duration is set according to the density of each desired time point. One time point is arranged at a random position within the interval. The equation is described below describing how time points are generated using the above method.
[0190]
TP N = A × N + Rand (0., A)
In the above equations, A defines the interval size and N indicates the interval number and time point index. The above function Rand () provides a random number from 0 to A. A unique random number is generated for each time point.
[0191]
This scheduled and synchronized method has the advantage that the length range of the communication period can be adjusted by the distribution of the time point arrangement.
[0192]
Different distributions of random numbers can be used to control the statistical characteristics of the length of the communication period. In general, a uniformly distributed random number is used.
[0193]
However, for example, a normal distribution of random numbers centered on A / 2 may be used to achieve a more narrowly distributed communication duration around the mean. This can reduce the variation in the length of the communication period, but increases the collision probability when compared with the uniform distribution.
[0194]
This method is suitable mainly for systems where the interval is linked between intersystem links. The above method has the advantage of being able to better control the tight distribution (ie easier to control) and the statistical distribution of the communication period duration for the maximum delay between each communication period.
[0195]
FIG. 8B shows a preset asynchronous method for generating each time point. As shown, in this generation method, each time point is determined by random number generation over an arbitrarily long period. The long period is usually several times longer than the density.
[0196]
Typically, the long period should be 10 to 100 times longer than the average period between each time point. Each time point is randomly generated in a state where there is a uniform distribution over the long period. Thereafter, the above time points are sorted in ascending order (from smallest to largest) by the scheduler.
[0197]
TP 0., M = Rand (0, A * N)
TP 0., N = Sort (TP 0., M )
In the above equation, TP 0., N Indicates an ordered list of each time point used by the scheduler.
[0198]
The function Rand () produces each time point that is uniformly distributed over a period defined by the density (A) and the number of each time point required (N). The total duration over which random numbers are produced uniformly is determined by the product of the required density (A) and the number of each time point (N).
[0199]
Preconfigured asynchronous methods have the advantage that no synchronization is required between the clocks of the different intersystem links.
[0200]
The first disadvantage of the above asynchronous method compared to the synchronous method is that the characteristics of the communication period are not coupled to each other, that is, they can be changed independently of each other. It is. The length of the communication period and the time between the communication periods are more likely to change.
[0201]
FIG. 8C shows a preset real-time method for generating each time point. In a real-time method, each time point is generated relative to the previous time point. The above method can also be used to pre-set a schedule, but is first appropriate when it is desirable to create a schedule in real time.
[0202]
In order to execute a real-time method, the electronic device may generate random numbers with a uniform distribution within a range of 0 to 2 times the density. The above random number is added to the previous start time point to determine the next start time point. This information is transferred to the other electronic device.
[0203]
This process is performed by one of the electronic devices of the electronic device pair, usually the master. This method is particularly suitable for the Hold mode of Bluetooth systems.
[0204]
The intersystem scheduler coexists pseudo-random scheduling (PRS) intersystem traffic and resource reservation channel (RRC) traffic.
[0205]
The example electronic device described herein is designed to allow the above coexistence while maintaining fair operating characteristics of the best effort channel (BEC) provided by the pseudo-random scheduler. Yes.
[0206]
Two mechanisms are defined on the BEC channel to manage the coexistence of each type of RRC channel, one mechanism is a traffic overlay method and the other mechanism is a dynamic rescheduling method.
[0207]
The above traffic overlay method is used when the active period of the resource reservation type traffic is relatively short compared to the average communication period of the PRS.
[0208]
If the active period is less than the non-responsive end event timeout threshold, the electronic device can provide the RRC channel without changing the intersystem schedule.
[0209]
In this case, the electronic device would simply carry RRC traffic instead of PRS traffic. After completion of the transmission, the channel will revert to PRS scheduled traffic. If the electronic device is nearing the end of the communication period, the electronic device will close communication early and then continue with RRC traffic.
[0210]
If the active period of the RRC traffic is long in proportion to the average length of the communication period, or the above active period is longer than the threshold of the non-responding end event of the PRS scheduled traffic A schedule change method is used.
[0211]
In this case, the PRS schedule is modified to form free time for this traffic. This occurs in the communication period before the period of RRC traffic. In order to provide data traffic within the system, the electronic device needs to ensure time available to engage with the traffic.
[0212]
This idle time corresponds to the idle state 702 of the intersystem state machine. The electronic device may choose to spend free time that naturally occurs with scheduled traffic between systems, or to change the inter-system schedule to make free time available.
[0213]
In the latter case, by re-negotiating the intersystem schedule, the electronic device can create idle time in the intersystem traffic. The process in the latter case is equivalent to the process used to manage resource-reserved channels. In general, it is desirable that the above process be performed periodically to meet the requirements for intra-system communication.
[0214]
The electronic device may also choose to handle intrasystem links as if it were an intersystem link. In this case, the PRS schedule for the intra-system link may be used with the same execution characteristics as the inter-system link. The method used may depend on the timing requirements of intra-system communication.
[0215]
FIG. 9 (a) and FIG. 9 (b) show the unique pseudo-random schedule created for each connection and the electronic device network configuration. As shown in FIG. 9 (a), the electronic device network includes three masters 902, 904, 906 and one slave 908.
[0216]
In the Bluetooth system, the configuration shown in FIG. 9A forms three piconets (one master for each piconet). Each timing chart showing each communication period in FIG. 9B shows several intervals (intervals). As shown, the density used allows an average of one communication period per interval. As described above, the communication period starts at the start time point and ends at the time point collision or end time point.
[0217]
FIGS. 10A and 10B show an example of an electronic device network configuration including four piconets. Similar to FIG. 9A, the electronic device network includes three masters 1002, 1004, 1006, one slave 1008, and one master / slave 1010.
[0218]
The timing chart of each communication period in FIG. 10B illustrates the minimum processing capability assigned to each connection. As described herein, dynamic allocation may be used to restore unused processing power.
[0219]
FIGS. 11 (a) and 11 (b) illustrate the correct allocation of unused processing power by the electronic device network.
[0220]
In this example, there is no traffic between electronic device A 1102 and electronic device D 1104. As a result, the original communication period between the electronic device A 1102 and the electronic device D 1104 is unused processing capability. Further, regarding the example of FIGS. 11A and 11B, it is assumed that complete processing capability is used between the electronic devices B1106 and D1104 and between the electronic devices C1108 and D1104.
[0221]
In fair allocation, the unused processing power between the pair of electronic device A 1102 and electronic device D 1104 is randomly determined depending on whether it is between each pair of electronic devices B 1106 and D 1104 or between each pair of electronic devices C 1108 and D 1104. used. In a Bluetooth system, such a condition would effectively make electronic device A 1102 appear to be absent from the scatternet.
[0222]
12 (a) and 12 (b) illustrate an opportunistic fair allocation of unused processing power by the electronic device network. In this example, there was no traffic between electronic device A 1202 and electronic device D 1204.
[0223]
As a result, the original communication period between each pair of electronic devices A 1202 and D 1204 is unused processing capability. 12A and 12B, the complete processing capability is between the electronic devices B1206 and D1204, and between the electronic devices C1208 and D1204, and the electronic devices E1210 and C1208. Assume that existed between.
[0224]
With fair allocation, an end event caused by an inactive electronic device causes the free electronic device to remain on the same channel and attempt to re-establish against the free electronic device.
[0225]
In opportunistic assignments, an end event caused by an active busy channel switches to an alternative channel to the channel, creating a free electronic device. Thus, opportunistic assignment allows a more parallel exchange of data.
[0226]
As shown in the timing chart of each communication period in FIG. 12 (b), unused processing power in each pair of electronic devices A1202 and D1204 is allocated fairly, and others are used to use the processing power. Are opportunistically assigned to channels. As described above, in the present invention, a pseudo-random dynamic scheduler for adjusting a schedule of a communication period between electronic devices is realized. The present invention also includes a computer-readable recording medium having program data including executable instructions for realizing the communication method of the communicable electronic device according to the present invention. As the form of the recording medium, a flexible disk-shaped recording medium (for example, floppy (registered trademark) disk), optical, magneto-optical, or disk-shaped recording medium using a dye (for example, CD-ROM, DVD), A magnetic tape, a magnetic stick, etc. are mentioned.
[0227]
The present invention may be embodied in other configurations and methods without departing from the spirit and essential characteristics thereof. The description of the present embodiment is for explaining the illustrated configuration, and should not be construed as limiting. Accordingly, the scope of the invention is indicated by the appended claims rather than by the foregoing description. All modifications within the scope and meaning of each claim are to be included within the scope of the present invention.
[0228]
This application is based on a US patent application filed February 28, 2001 (Application No. 60 / 272,630) entitled “Effective Scheduling for Communication Between Systems” by Inventor: Daryl Haslani. And the contents of the above-mentioned US patent application are incorporated herein by reference.
[Brief description of the drawings]
1A is a block diagram of an embodiment of an electronic device pair, FIG. 1B is a timing chart of a communication period regarding the embodiment of the electronic device pair, and FIG. 1C is an implementation of the electronic device pair. It is a timing chart which shows a series of each communication period in an example.
2 (a) is a block diagram of two electronic device networks, and FIG. 2 (b) is a block diagram of two networks having intersystem communication links between slave electronic devices. c) is a block diagram of two networks with intersystem communication links between each master electronic device, and (d) has intersystem communication links between slave electronic devices and master electronic devices. It is a block diagram of each of two networks.
FIG. 3A is a block diagram illustrating an example of two electronic device pairs, and FIG. 3B is a timing chart illustrating a communication period in the example of two electronic device pairs.
FIG. 4 is a circuit diagram in a topology representation of an electronic device network.
FIG. 5 is a block diagram illustrating each configuration of hardware in an embodiment of an electronic device.
FIG. 6 is a block diagram illustrating each configuration of software in an embodiment of the electronic device.
FIG. 7 is a block diagram illustrating an embodiment of a state machine for an electronic device scheduler.
FIG. 8A is a timing chart showing a preset synchronous method for generating each time point, and FIG. 8B is a preset timing chart for generating each time point. 4C is a timing chart showing a preset real-time method for generating each time point.
FIG. 9A is a block diagram of an electronic device network including three master electronic devices, and FIG. 9B is a communication period timing chart for the embodiment of FIG.
FIG. 10A is a block diagram of an electronic device network including three master electronic devices, one slave electronic device, and one master / slave electronic device, and FIG. 10B is a block diagram of (a) above. It is a timing chart of the communication period for an Example.
FIG. 11A is a block diagram of an electronic device network including four electronic devices, and FIG. 11B is a timing chart of a communication period for the embodiment of FIG.
12A is a block diagram of an electronic device network including five electronic devices, and FIG. 12B is a timing chart of a communication period for the embodiment of FIG.
[Explanation of symbols]
502 processor
508 memory
606 Communication module
612 Pseudorandom scheduler
614 Dynamic Scheduler

Claims (57)

第一のデバイスネットワークと通信し、第二のデバイスネットワークの一部である第二デバイスと通信する電子装置であって、
プロセッサと、
第二のデバイスを含む他のデバイス、および第一のデバイスネットワークからの少なくとも1つのデバイスと通信するために、上記プロセッサと電子的に通信する通信部と、
データ格納のための、上記プロセッサと電子的に通信するメモリと、
上記他のデバイスと通信する上記電子装置のためのスケジュールを規定する各タイムポイントを提供するための擬似ランダムスケジューラと、
上記スケジュールを規定する上記各タイムポイントを格納するイベントキューと
上記スケジュールを変更するための動的スケジューラとを含み、
上記の動的なスケジューラは、互いに衝突する各タイムポイントを検出したときにスケジュール折衝状態に入り、上記スケジュール折衝状態の間に新たなタイムポイントが決められ、上記の新たなタイムポイントを用いて上記スケジュールを変更し、上記の互いに衝突する各タイムポイントを低減するようになっている、通信可能な電子装置。
An electronic device that communicates with a first device network and communicates with a second device that is part of a second device network,
A processor;
A communication section in electronic communication with the processor to communicate with other devices, including a second device, and at least one device from the first device network;
A memory for electronically communicating with the processor for storing data;
A pseudo-random scheduler for providing each time point defining a schedule for the electronic device to communicate with the other device;
An event queue for storing the time points defining the schedule ;
Only contains a dynamic scheduler for changing the schedule,
The dynamic scheduler enters a schedule negotiation state when it detects each time point that collides with each other, a new time point is determined during the schedule negotiation state, and the new time point is used to A communicable electronic device adapted to change the schedule and reduce each of the time points that collide with each other .
上記動的スケジューラは、通信の処理能を動的に割り当てる公平な割り当てメソッドを実行するものである請求項1に記載の、通信可能な電子装置。  2. The communicable electronic device according to claim 1, wherein the dynamic scheduler executes a fair allocation method that dynamically allocates communication processing capability. 上記の公平な割り当てメソッドは、前の通信期間を延長するステップを含む請求項2に記載の、通信可能な電子装置。  The communicable electronic device of claim 2, wherein the fair allocation method includes extending a previous communication period. 上記の公平な割り当てメソッドは、上記イベントキューにおいて、開始の各タイムポイントの数を減少させるステップを含む請求項2に記載の、通信可能な電子装置。  The communicable electronic device of claim 2, wherein the fair allocation method includes reducing the number of each starting time point in the event queue. 上記の動的なスケジューラは、通信の処理能を動的に割り当てる、日和見的な割り当てメソッドを実行するものである請求項1ないし4の何れかに記載の、通信可能な電子装置。  5. The communicable electronic device according to claim 1, wherein the dynamic scheduler executes an opportunistic allocation method that dynamically allocates communication processing capability. 6. 上記の日和見的な割り当てメソッドは、待機中のトラフィックとデバイス利用可能性を評価するステップと、上記の評価に基づいて上記スケジュールを変更するステップとを含む請求項5に記載の、通信可能な電子装置。  6. The communicable electronic device of claim 5, wherein the opportunistic allocation method includes evaluating waiting traffic and device availability, and changing the schedule based on the evaluation. apparatus. 上記の擬似ランダムスケジューラは、各タイムポイントを生成するための、予め設定された同期型のメソッドを実行するものである請求項1ないし6の何れかに記載の、通信可能な電子装置。  The communicable electronic device according to claim 1, wherein the pseudo random scheduler executes a preset synchronous method for generating each time point. 上記の擬似ランダムスケジューラは、各タイムポイントを生成するための、予め設定された非同期型のメソッドを実行するものである請求項1ないし6の何れかに記載の、通信可能な電子装置。  7. The communicable electronic device according to claim 1, wherein the pseudo random scheduler executes a preset asynchronous method for generating each time point. 上記の擬似ランダムスケジューラは、各タイムポイントを生成するための、予め設定されたリアルタイムのメソッドを実行するものである請求項1ないし6の何れかに記載の、通信可能な電子装置。  7. The communicable electronic device according to claim 1, wherein the pseudo-random scheduler executes a preset real-time method for generating each time point. 上記のイベントキューは、複数の開始の各タイムポイントと、複数のチャンネル識別子と、複数の待機中データのインディケータとを含んでいる請求項1ないし9の何れかに記載の、通信可能な電子装置。  10. The communicable electronic device according to claim 1, wherein the event queue includes a plurality of start time points, a plurality of channel identifiers, and a plurality of waiting data indicators. . さらに、スケジューリングと通信のための状態機械を含み、
上記状態機械は、アイドル状態と、データ状態と、スケジュール折衝状態と、再確立状態と、を含む請求項1ないし10の何れかに記載の、通信可能な電子装置。
In addition, it includes a state machine for scheduling and communication,
11. The communicable electronic device according to claim 1, wherein the state machine includes an idle state, a data state, a schedule negotiation state, and a re-establishment state.
上記電子装置は、ピコネットの一部となるように構成されている請求項1ないし11の何れかに記載の、通信可能な電子装置。  12. The communicable electronic device according to claim 1, wherein the electronic device is configured to be a part of a piconet. 上記の擬似ランダムスケジューラは、第一のピコネットおよび第二のピコネットと通信する上記電子装置のためのスケジュールを規定する各タイムポイントを提供するものである請求項1ないし12の何れかに記載の、通信可能な電子装置。  13. The pseudo-random scheduler as set forth in claim 1, wherein each pseudo-point scheduler provides a time point that defines a schedule for the electronic device communicating with a first piconet and a second piconet. An electronic device that can communicate. 上記の動的なスケジューラは、スケジュール折衝状態に入って新たなタイムポイントを決め、上記の新たなタイムポイントを用いて上記スケジュールを変更するようになっている請求項1ないし13の何れかに記載の、通信可能な電子装置。  14. The dynamic scheduler according to claim 1, wherein the dynamic scheduler enters a schedule negotiation state, determines a new time point, and changes the schedule using the new time point. An electronic device that can communicate. 上記電子装置は、通信期間を終了するための強制終了メッセージを送るようになっている請求項1ないし14の何れかに記載の、通信可能な電子装置。  15. The communicable electronic device according to claim 1, wherein the electronic device sends a forced termination message for terminating a communication period. 上記電子装置は、通信期間を終了するためのデータが使い果たされたことを示す終了メッセージを送るようになっている請求項1ないし14の何れかに記載の、通信可能な電子装置。  15. The communicable electronic device according to claim 1, wherein the electronic device transmits an end message indicating that data for ending a communication period has been used up. 上記の電子装置は、各通信期間の終了をスケジュールするための終了の各タイムポイントを生成するようになっている請求項1ないし14の何れかに記載の、通信可能な電子装置。  15. The communicable electronic device according to claim 1, wherein the electronic device generates each end time point for scheduling the end of each communication period. 上記の電子装置は、資源確保型のトラフィックを管理するためのトラフィックオーバレイメソッドを実行するようになっている請求項1ないし17の何れかに記載の、通信可能な電子装置。18. The communicable electronic device according to claim 1, wherein the electronic device executes a traffic overlay method for managing resource reservation type traffic. 上記の電子装置は、資源確保型のトラフィックを管理するための動的スケジュール変更メソッドを実行するようになっている請求項1ないし17の何れかに記載の、通信可能な電子装置。18. The communicable electronic device according to claim 1, wherein the electronic device executes a dynamic schedule change method for managing resource reservation type traffic. 方法を実行するための、実行可能な各インストラクションを含むプログラムデータを有するコンピュータ読み込み可能な記録媒体であって、  A computer-readable recording medium having program data including executable instructions for performing the method,
上記方法は、  The above method
第一デバイスから第一のデバイスネットワークに出力データを伝送するステップと、  Transmitting output data from the first device to the first device network;
上記第一のデバイスネットワークから、第一デバイスにより入力データを受け取るステップと、  Receiving input data from the first device network by the first device;
第二のデバイスネットワークの第二デバイスを発見するステップと、  Discovering a second device of the second device network;
上記第一のデバイスネットワークおよび第二のデバイスと通信するために上記第一のデバイスのためのスケジュールを規定する各タイムポイントを擬似ランダムに提供するステップと、  Providing pseudo-randomly each time point defining a schedule for the first device to communicate with the first device network and the second device;
イベントキューに上記各タイムポイントを格納するステップと、  Storing the time points in the event queue;
少なくとも一つのチャンネルに対して、追加の通信処理能を加えるために上記スケジュールを動的に変更するステップと、  Dynamically changing the schedule to add additional communication processing power to at least one channel;
互いに衝突する各タイムポイントを検出したときにスケジュール折衝状態に入るステップを含み、  Including entering a schedule negotiation state upon detecting each time point that collides with each other;
上記スケジュール折衝状態の間で新たなタイムポイントが決められ、上記の新たなタイ  A new time point is determined during the schedule negotiation state, and the new time point is ムポイントを用いて上記スケジュールを変更し、上記の互いに衝突する各タイムポイントを低減するようになっている、通信可能な電子装置の通信方法のための記録媒体。A recording medium for a communication method of a communicable electronic device, wherein the schedule is changed using a system point and the time points that collide with each other are reduced.
上記動的に変更するステップは、通信の処理能を動的に割り当てる公平な割り当てメソッドを実行するものである請求項20に記載の、記録媒体。  The recording medium according to claim 20, wherein the step of dynamically changing executes a fair allocation method that dynamically allocates communication processing capability. 上記の公平な割り当てメソッドは、前の通信期間を延長するステップを含む請求項21に記載の、記録媒体。  The recording medium of claim 21, wherein the fair allocation method includes extending a previous communication period. 上記の公平な割り当てメソッドは、上記イベントキューにおいて、開始の各タイムポイントの数を減少させるステップを含む請求項21に記載の、記録媒体。  The recording medium of claim 21, wherein the fair allocation method includes reducing the number of each starting time point in the event queue. 上記の動的に変更するステップは、通信の処理能を動的に割り当てる、日和見的な割り当てメソッドを実行するものである請求項21に記載の、記録媒体。  The recording medium according to claim 21, wherein the step of dynamically changing executes an opportunistic allocation method that dynamically allocates communication processing capability. 上記の日和見的な割り当てメソッドは、待機中のトラフィックとデバイス利用可能性を評価するステップと、上記の評価に基づいて上記スケジュールを変更するステップとを含む請求項24に記載の、記録媒体。  25. The recording medium of claim 24, wherein the opportunistic allocation method includes evaluating waiting traffic and device availability, and changing the schedule based on the evaluation. 上記の擬似ランダムにタイムポイントを提供するステップは、各タイムポイントを生成するための、予め設定された同期型のメソッドを実行するものである請求項20ないし25の何れかに記載の、記録媒体。  26. The recording medium according to claim 20, wherein the step of providing time points in a pseudo-random manner executes a preset synchronous method for generating each time point. . 上記の擬似ランダムにタイムポイントを提供するステップは、各タイムポイントを生成するための、予め設定された非同期型のメソッドを実行するものである請求項20ないし25の何れかに記載の、記録媒体。  26. The recording medium according to claim 20, wherein the step of providing the time points in a pseudo-random manner executes a preset asynchronous method for generating each time point. . 上記の擬似ランダムにタイムポイントを提供するステップは、各タイムポイントを生成するための、予め設定されたリアルタイムのメソッドを実行するものである請求項20ないし25の何れかに記載の、記録媒体。  The recording medium according to any one of claims 20 to 25, wherein the step of providing time points in a pseudo-random manner executes a preset real-time method for generating each time point. 上記のイベントキューは、複数の開始の各タイムポイントと、複数のチャンネル識別子と、複数の待機中データのインディケータとを含んでいる請求項20ないし28の何れかに記載の、記録媒体。  29. The recording medium according to claim 20, wherein the event queue includes a plurality of start time points, a plurality of channel identifiers, and a plurality of waiting data indicators. さらに、スケジューリングと通信のための状態機械を含み、  In addition, it includes a state machine for scheduling and communication,
上記状態機械は、アイドル状態と、データ状態と、スケジュール折衝状態と、再確立状態とを含む請求項20ないし29の何れかに記載の、記録媒体。  30. The recording medium according to claim 20, wherein the state machine includes an idle state, a data state, a schedule negotiation state, and a re-establishment state.
上記第一のデバイスネットワークは、ピコネットである請求項20ないし30の何れかに記載の、記録媒体。  31. The recording medium according to claim 20, wherein the first device network is a piconet. 上記第二のデバイスネットワークは、ピコネットである請求項31に記載の、記録媒体。  32. The recording medium according to claim 31, wherein the second device network is a piconet. 上記方法は、さらに、新たなタイムポイントを決め、上記の新たなタイムポイントを用いて上記スケジュールを変更する、スケジュール折衝状態に入るステップを含む請求項20ないし32の何れかに記載の、記録媒体。  33. The recording medium according to claim 20, further comprising a step of entering a schedule negotiation state in which a new time point is determined and the schedule is changed using the new time point. . 上記方法は、通信期間を終了するための強制終了メッセージを送るステップを含む請求  The method includes sending a forced termination message to end a communication period. 項20ないし33の何れかに記載の、記録媒体。Item 34. The recording medium according to any one of Items 20 to 33. 上記方法は、通信期間を終了するためのデータが使い果たされたことを示す終了メッセージを送るステップを含む請求項20ないし33の何れかに記載の、記録媒体。  34. The recording medium according to claim 20, wherein the method includes a step of sending an end message indicating that data for ending the communication period has been used up. 上記方法は、各通信期間の終了をスケジュールするための終了の各タイムポイントを生成するステップを含む請求項20ないし33の何れかに記載の、記録媒体。  34. A recording medium according to any of claims 20 to 33, wherein the method includes the step of generating end time points for scheduling the end of each communication period. 上記方法は、資源確保型のトラフィックを管理するためのトラフィックオーバレイメソッドを用いるステップを含む請求項20ないし36の何れかに記載の、記録媒体。  37. A recording medium according to any one of claims 20 to 36, wherein the method includes the step of using a traffic overlay method for managing resource reservation type traffic. 上記方法は、資源確保型のトラフィックを管理するための動的スケジュール変更メソッドを用いるステップを含む請求項20ないし36の何れかに記載の、記録媒体。  37. A recording medium according to any of claims 20 to 36, wherein the method includes the step of using a dynamic schedule change method for managing resource reservation type traffic. 各電子装置間の各通信期間を、擬似ランダムに、かつ動的にスケジューリングするための方法であって、  A method for scheduling each communication period between electronic devices pseudo-randomly and dynamically,
上記方法は、  The above method
第一デバイスから第一のデバイスネットワークに出力データを伝送するステップと、  Transmitting output data from the first device to the first device network;
上記第一のデバイスネットワークから、第一デバイスにより入力データを受け取るステップと、  Receiving input data from the first device network by the first device;
第二のデバイスネットワークの第二デバイスを発見するステップと、  Discovering a second device of the second device network;
上記第一のデバイスネットワークおよび第二のデバイスと通信するために上記第一のデバイスのためのスケジュールを規定する各タイムポイントを擬似ランダムに提供するステップと、  Providing pseudo-randomly each time point defining a schedule for the first device to communicate with the first device network and the second device;
イベントキューに上記各タイムポイントを格納するステップと、  Storing the time points in the event queue;
少なくとも一つのチャンネルに対して、追加の通信処理能を加えるために上記スケジュールを動的に変更するステップと、  Dynamically changing the schedule to add additional communication processing power to at least one channel;
互いに衝突する各タイムポイントを検出したときにスケジュール折衝状態に入るステップを含み、  Including entering a schedule negotiation state upon detecting each time point that collides with each other;
上記スケジュール折衝状態の間で新たなタイムポイントが決められ、上記の新たなタイムポイントを用いて上記スケジュールを変更し、上記の互いに衝突する各タイムポイントを低減するようになっている、通信可能な電子装置の通信方法。  A new time point is determined between the schedule negotiation states, the schedule is changed using the new time point, and the time points that collide with each other are reduced. Electronic device communication method.
上記動的に変更するステップは、通信の処理能を動的に割り当てる公平な割り当てメソッドを実行するものである請求項39に記載の、通信方法。  40. The communication method according to claim 39, wherein the step of dynamically changing executes a fair allocation method that dynamically allocates communication processing capability. 上記の公平な割り当てメソッドは、前の通信期間を延長するステップを含む請求項40に記載の、通信方法。  41. The communication method of claim 40, wherein the fair allocation method includes extending a previous communication period. 上記の公平な割り当てメソッドは、上記イベントキューにおいて、開始の各タイムポイントの数を減少させるステップを含む請求項40に記載の、通信方法。  41. The communication method of claim 40, wherein the fair allocation method includes reducing the number of each starting time point in the event queue. 上記の動的に変更するステップは、通信の処理能を動的に割り当てる、日和見的な割り当てメソッドを実行するものである請求項40に記載の、通信方法。  41. The communication method according to claim 40, wherein the step of dynamically changing executes an opportunistic assignment method that dynamically assigns communication processing capability. 上記の日和見的な割り当てメソッドは、待機中のトラフィックとデバイス利用可能性を評価するステップと、上記の評価に基づいて上記スケジュールを変更するステップとを含む請求項43に記載の、通信方法。  44. The communication method of claim 43, wherein the opportunistic assignment method includes evaluating waiting traffic and device availability, and changing the schedule based on the evaluation. 上記の擬似ランダムにタイムポイントを提供するステップは、各タイムポイントを生成  Providing pseudo-random time points above generates each time point するための、予め設定された同期型のメソッドを実行するものである請求項39ないし44の何れかに記載の、通信方法。45. The communication method according to any one of claims 39 to 44, wherein a preset synchronous method for executing the method is executed. 上記の擬似ランダムにタイムポイントを提供するステップは、各タイムポイントを生成するための、予め設定された非同期型のメソッドを実行するものである請求項39ないし44の何れかに記載の、通信方法。  45. The communication method according to claim 39, wherein the step of providing time points in a pseudo-random manner executes a preset asynchronous method for generating each time point. . 上記の擬似ランダムにタイムポイントを提供するステップは、各タイムポイントを生成するための、予め設定されたリアルタイムのメソッドを実行するものである請求項39ないし44の何れかに記載の、通信方法。  45. The communication method according to any one of claims 39 to 44, wherein the step of providing time points in a pseudo-random manner executes a preset real-time method for generating each time point. 上記のイベントキューは、複数の開始の各タイムポイントと、複数のチャンネル識別子と、複数の待機中データのインディケータとを含んでいる請求項39ないし47の何れかに記載の、通信方法。  48. The communication method according to claim 39, wherein the event queue includes a plurality of start time points, a plurality of channel identifiers, and a plurality of waiting data indicators. さらに、スケジューリングと通信のための状態機械を含み、  In addition, it includes a state machine for scheduling and communication,
上記状態機械は、アイドル状態と、データ状態と、スケジュール折衝状態と、再確立状態とを含む請求項39ないし48の何れかに記載の、通信方法。  49. A communication method according to any of claims 39 to 48, wherein the state machine includes an idle state, a data state, a schedule negotiation state, and a re-establishment state.
上記第一のデバイスネットワークは、ピコネットである請求項39ないし49の何れかに記載の、通信方法。  50. The communication method according to claim 39, wherein the first device network is a piconet. 上記第二のデバイスネットワークは、ピコネットである請求項50に記載の、通信方法。  The communication method according to claim 50, wherein the second device network is a piconet. 上記方法は、さらに、新たなタイムポイントを決め、上記の新たなタイムポイントを用いて上記スケジュールを変更する、スケジュール折衝状態に入るステップを含む請求項39ないし51の何れかに記載の、通信方法。  52. The communication method according to claim 39, further comprising a step of entering a schedule negotiation state in which a new time point is determined and the schedule is changed using the new time point. . 上記方法は、通信期間を終了するための強制終了メッセージを送るステップを含む請求項39ないし52の何れかに記載の、通信方法。  53. A communication method according to any of claims 39 to 52, wherein the method includes the step of sending a forced termination message to terminate the communication period. 上記方法は、通信期間を終了するためのデータが使い果たされたことを示す終了メッセージを送るステップを含む請求項39ないし52の何れかに記載の、通信方法。  53. A communication method according to any of claims 39 to 52, wherein the method includes a step of sending an end message indicating that data for ending the communication period has been used up. 上記方法は、各通信期間の終了をスケジュールするための終了の各タイムポイントを生成するステップを含む請求項39ないし52の何れかに記載の、通信方法。  53. A communication method according to any of claims 39 to 52, wherein the method includes the step of generating end time points for scheduling the end of each communication period. 上記方法は、資源確保型のトラフィックを管理するためのトラフィックオーバレイメソッドを用いるステップを含む請求項39ないし55の何れかに記載の、通信方法。  56. A communication method according to any of claims 39 to 55, wherein the method includes the step of using a traffic overlay method for managing resource reservation type traffic. 上記方法は、資源確保型のトラフィックを管理するための動的スケジュール変更メソッドを用いるステップを含む請求項39ないし55の何れかに記載の、通信方法。  56. A communication method according to any of claims 39 to 55, wherein the method includes the step of using a dynamic schedule change method for managing resource reservation type traffic.
JP2002337230A 2001-11-20 2002-11-20 Electronic device capable of communication, communication method therefor, and recording medium for the communication method Expired - Fee Related JP4053407B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/006,440 US7024482B2 (en) 2001-02-28 2001-11-20 Pseudo-random dynamic scheduler for scheduling communication periods between electronic devices
US10/006440 2001-11-20

Publications (2)

Publication Number Publication Date
JP2003218881A JP2003218881A (en) 2003-07-31
JP4053407B2 true JP4053407B2 (en) 2008-02-27

Family

ID=27658015

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002337230A Expired - Fee Related JP4053407B2 (en) 2001-11-20 2002-11-20 Electronic device capable of communication, communication method therefor, and recording medium for the communication method

Country Status (1)

Country Link
JP (1) JP4053407B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1670181B1 (en) 2004-12-10 2008-06-04 Canon Kabushiki Kaisha Communication apparatus and communication timing control method
EP1672841B1 (en) 2004-12-16 2008-11-05 Canon Kabushiki Kaisha Communication apparatus and control method thereof

Also Published As

Publication number Publication date
JP2003218881A (en) 2003-07-31

Similar Documents

Publication Publication Date Title
US8583805B2 (en) Communication period management in a communication system
US7475148B2 (en) Pseudo-random dynamic scheduler for scheduling communication periods between electronic devices
US7450577B2 (en) Flexible inter-network communication scheduling
Pedreiras et al. FTT-Ethernet: A flexible real-time communication protocol that supports dynamic QoS management on Ethernet-based systems
Al-Janabi et al. An energy efficient hybrid MAC protocol with dynamic sleep-based scheduling for high density IoT networks
Shi et al. An energy-efficient scheduling scheme for time-constrained tasks in local mobile clouds
Pedreiras et al. The FTT-Ethernet protocol: Merging flexibility, timeliness and efficiency
US7822058B2 (en) Method for transitioning between coordination modes for interfering neighbor networks
KR100620831B1 (en) Method and apparatus for connecting devices via an ad hoc wireless communication network
JP2012524441A (en) Energy efficient transmission in the network
KR20040089273A (en) Method and device for communicating with more 7 devices efficiently in Bluetooth systems
KR101251406B1 (en) An emergency handling scheme for beacon - enable mode hybrid superframe structure of wireless body area network mac protocol and network mac protocol and network communication method thereof
US7974260B2 (en) Method of transmitting time-critical scheduling information between single network devices in a wireless network using slotted point-to-point links
US20110310859A1 (en) Basic service set scheduling based on media access controller states
KR20030078942A (en) Method and apparatus of prioritising the usage of slotted links by single network devices in a wireless network
JP4053407B2 (en) Electronic device capable of communication, communication method therefor, and recording medium for the communication method
WO2002033986A2 (en) Predictive fair polling mechanism in a wireless access scheme
JP2004194324A (en) Communication method, electronic device, communication program, and computer readable recording medium
Semprebom et al. Quality of service provision assessment for DDBP approach in IEEE 802.15. 4 networks
Sheu et al. A traffic-aware scheduling for Bluetooth scatternets
Semprebom et al. Distributed DBP: A (m, k)-firm based distributed approach for QoS provision in IEEE 802.15. 4 networks
AU761936B2 (en) Medium access control protocol for data communications
Jang et al. Efficient power management policy in Bluetooth
Kinoshita et al. Joint Bandwidth Assignment and Routing for Power Saving on Large File Transfer with Time Constraints
Scholten et al. A Real-Time Multimedia Streaming Protocol for Wireless Networks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050525

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070821

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071017

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20071017

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20071204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071205

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101214

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101214

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111214

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111214

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121214

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121214

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees