(57)【要約】  ニアフィールド通信（ＮＦＣ）リンクにおいて、データ・リンクのターンアラウンド時間が、データ・スループットを最大化させながら電池使用を最適化させるよう調整される。受信装置は、送信装置のフロー制御状況に従い、送信装置からのメッセージに応答して、自らのキューにある任意の待機中の高優先度の制御又はデータ・メッセージを、即座に送信する。ＳＹＭＭプリミティブ送信前の遅延時間値が、最近受信されたリンク・フレームの種別に従って選択される。
2010528535.tif 000002
【特許請求の範囲】
【請求項１】
半二重リンクにおけるデータ通信を調整する方法であって、
データ・パケットを受信するステップ（６００）と、
前記データ・パケットに含まれる情報の種別を決定するステップと、
前記種別を考慮する送信遅延を設定するステップであって、前記種別が前記リンク上のデータ送信がアクティブであることを示す場合に該送信遅延を減少させ、前記種別が前記リンク上のデータ送信がアイドルであることを示す場合に前記送信遅延を増加させるステップと、
出パケットが待機中である場合に（７００）、出パケットを送信するステップ（７１０）と、
待機中の出パケットがない場合に、前記送信遅延の経過後に、同期パケットを送信するステップ（７５０）と、
を備える方法。
【請求項２】
更に、アイドル係数とアイドル遅延との積を更に備えるタイマーを用いて、前記送信遅延を決定するステップを備える、請求項１記載の方法。
【請求項３】
前記アイドル係数が、
前記リンクが最初に確立された際に、前記アイドル係数をゼロにセットし、
前記種別が前記リンク上のデータ送信がアイドルであることを示す場合に、前記アイドル係数をインクリメントし、
前記種別が前記リンク上のデータ送信がアクティブであることを示す場合に、前記アイドル係数を減少させる
ことによって計算される、請求項２記載の方法。
【請求項４】
前記種別が前記リンク上のデータ送信がアクティブであることを示し、前記種別が制御データ・パケットを含む場合に、前記アイドル係数を予め決定された値にセットする、請求項３記載の方法。
【請求項５】
前記送信するステップが、更に、
前記アイドル係数がゼロより大きい場合に、前記タイマーを開始するステップと、
前記タイマーが終了した際に、同期パケットを送信するステップと、
を備える、請求項４記載の方法。
【請求項６】
前記予め決定された値が、前記データ・パケットの優先度に基づく値、ランダムな時間期間、別の装置とネゴシエーションされた値、順応率又は数学的関係のうちの少なくとも一つである、請求項４記載の方法。
【請求項７】
ニアフィールド通信リンクにおけるデータ通信を調整する方法であって、
データ・フレームを受信するステップと、
前記データ・フレームに含まれる情報の種別を決定するステップと、
前記種別が情報フレームである場合に送信遅延をゼロにセットし（８１５）、前記種別が同期フレームである場合に前記送信遅延を増加させ（８２０）、それ以外の場合に前記送信遅延を予め決定されたレベルにセットするステップと、
少なくとも一つの出フレームが待機中である場合に（９００）、出フレームを送信するステップ（９２０）と、
待機中の出フレームがない場合に（９００）、前記送信遅延の経過後に、同期メッセージを送信するステップ（９９０）と、
を備える方法。
【請求項８】
更に、アイドル係数とアイドル遅延との積を更に備えるタイマーを用いて、前記送信遅延を決定するステップを備える、請求項７記載の方法。
【請求項９】
前記アイドル係数が、
前記リンクが最初に確立された際に、前記アイドル係数がゼロにセットされ、
前記種別が同期フレームである場合に、前記アイドル係数がインクリメントされ、
それ以外の場合に、前記アイドル係数が減少されるか、又はゼロにセットされる
ことによって計算される、請求項８記載の方法。
【請求項１０】
前記種別が制御フレームである場合に、前記アイドル係数が予め決定された値にセットされる、請求項９記載の方法。
【請求項１１】
前記送信するステップが、更に、
前記アイドル係数がゼロより大きい場合に、前記タイマーを開始するステップと、
前記タイマーが終了した際に、同期フレームを送信するステップと、
を備える、請求項１０記載の方法。
【請求項１２】
前記アイドル係数が、数学的関係、前記データ・パケットの優先度又はランダムな時間期間のうちの少なくとも一つにしたがって決定される、請求項１０記載の方法。
【請求項１３】
前記送信遅延が、別の装置とネゴシエーションされる、請求項７記載の方法。
【請求項１４】
ニアフィールド通信装置であって、
データ・フレームを受信する受信機と、
データ・フレームを送信する送信機と、
伝送制御コンポーネントであって、
前記データ・フレームに含まれる情報の種別を決定し、前記種別が情報フレームである場合に送信遅延をゼロに設定し、前記種別が同期フレームである場合に前記遅延を増加させ、それ以外の場合に前記遅延を予め決定されたレベルに設定し、
少なくとも一つの出フレームが待機中である場合に、前記送信機に命令して、前記遅延の経過後に出フレームを送信させ、
待機中の出フレームがない場合に、前記送信機に命令して、前記遅延の経過後に、同期メッセージを送信させる
伝送制御コンポーネントと、
を備える装置。
【請求項１５】
前記送信遅延が、更に、アイドル係数及びアイドル遅延の積を更に備えるタイマーを備える、請求項１４記載の装置。
【請求項１６】
前記アイドル係数が、
前記リンクが最初に確立された際に、前記アイドル係数がゼロにセットされ、
前記種別が同期フレームである場合に、前記アイドル係数がインクリメントされ、それ以外の場合に、前記アイドル係数が減少されるか、又はゼロにセットされる
ことによって計算される、請求項１５記載の装置。
【請求項１７】
前記種別が制御フレームである場合に、前記アイドル係数が予め決定された値にセットされる、請求項１６記載の装置。
【請求項１８】
前記伝送制御コンポーネントが、また、前記アイドル係数がゼロより大きい場合に前記タイマーを開始させ、前記タイマーが終了した際に同期フレームを送信する、請求項１７記載の装置。
【請求項１９】
前記アイドル係数が、数学的関係、前記データ・パケットの優先度又はランダムな時間期間のうちの少なくとも一つに従って決定される、請求項１７記載の装置。
【請求項２０】
前記送信遅延が、別の装置とネゴシエーションされる、請求項１４記載の装置。
【発明の詳細な説明】
【背景技術】
【０００１】
様々な形態の無線通信プロトコルは、装置に対し、迅速且つ簡単に通信を確立するための効果的な手段を提供する。例えば、ニアフィールド（Ｎｅａｒ  Ｆｉｅｌｄ）通信（ＮＦＣ）は、物理的なコネクター及びユーザーによる設定の必要なしに、消費者電子機器間の通信を可能とする。一般に、２つのＮＦＣ装置は、物理的に接近した近傍に一緒に置かれた場合、又は、それらを物理的に接触させて、装置のインターフェースを連動させ、それらがピア・ツー・ピア・ネットワークを確立するよう構成した場合に通信する。ＮＦＣの使用例としては、利用可能化されたコンピューター、テレビ、プリンター又はデジタル写真フレームに電話機を接触させることによる、カメラ利用可能な携帯電話機からのデジタル写真のダウンロードや、機器をコンピューターに接触させることによる携帯機器へのアプリケーション又はゲームのダウンロードが含まれ得る。
【０００２】
ＮＦＣは、センチメートルで測定される距離を有する、極めて短距離の無線技術である。装置のＮＦＣインターフェースは、一般に、ピア・ツー・ピア・ネットワークを形成するよう自動的に自身を接続し構成する。通信リンクは、典型的には、一方の装置が送信し、他方の装置が、第一の装置が新しい情報を送信する前に自分自身のデータ又は制御情報で応答するという、厳格な交替方法を用いる半二重通信方式である。いずれの装置も送信するべきデータを持たない場合、空のフレーム、すなわち対称プリミティブ（ｓｙｍｍｅｔｒｙ  ｐｒｉｍｉｔｉｖｅ）（ＳＹＭＭ）が送信される。ＳＹＭＭプリミティブの送信は、受信装置が送信すべきデータを持たない場合に、送信装置がリンクの利用を再取得することを可能とする。いずれの装置も送信すべきデータ又は制御情報を持たない場合、ＳＹＭＭプリミティブが両方向に送信され、リンクはアイドル状態とされる。
【０００３】
アクティブな送信は装置電力を必要とし、実際に交換されるデータがない場合のＳＹＭＭプリミティブの連続的な送信は、携帯型装置の電池資源の不必要な消耗を意味する。この場合、通信を失敗させることなく、ターンアラウンド時間を最大化することが望ましい。しかしながら、データが送信される際には、送信装置ができる限り早くリンク制御を再取得できるようにすることにより、データ・スループットが最大化されることが望ましい。その場合、可能な限り最速のターンアラウンド時間が望ましい。半二重通信リンクの他の形態においても、同様の問題が発生する。
【０００４】
そのため、不要に電力を消費することなく効率的な送受信を可能とし、それにより充電を延期するような方法及びシステムが必要とされている。装置の電力消費の低減は、（電池が充電可能である場合に）充電間隔を伸ばし、及び／又は、電池（及び、場合によっては装置本体）の耐用年数を長くすることによって、交換間隔を延長する。本明細書に開示された方法及びシステムは、これらの欠点に対処するものである。
【発明の概要】
【課題を解決するための手段】
【０００５】
要約
本要約は、選択された概念を、以下の詳細な説明において更に説明される簡略化された形態で紹介するために提供される。本要約は、特許請求の範囲に記載された発明の主要な特徴又は不可欠な特徴を特定することを意図しておらず、特許請求の範囲に記載された発明の範囲を決定する際の助けとして利用されることも意図していない。
【０００６】
本明細書に開示される方法及びシステムは、データ・スループットを最大化させつつ、電池利用を最適化するために、受信機におけるデータ・リンクのターンアラウンド時間を調節する。受信装置は、送信装置のフロー制御状態に従い、送信装置からのメッセージに応答して、自身のキューにある任意の待機中の優先度の高い制御又はデータ・メッセージを即時に送信する。
【０００７】
受信装置が、送信するべき待機中の制御又はデータ・メッセージを持たない場合、又は、送信装置の受信準備ができてない場合、ＮＦＣ論理リンク制御プロトコル（ＬＬＣＰ）技術仕様は、特定された最大のデータ・リンク・ターンアラウンド時間より長い時間にわたって、遅延することなしに、装置がＳＹＭＭを送信することを要求する。本明細書に開示された方法及びシステムは、最近受信されたリンク・フレームの種別にしたがって、ＳＹＭＭプリミティブ（又はそれに相当するもの）を送信する前の遅延時間値を選択する。
【０００８】
装置が、最近に情報フレーム（例えば、情報（Ｉ）フレーム、又は番号なし情報（ＵＩ）フレーム）を受信した場合、ＳＹＭＭプリミティブは、送信装置が迅速にリンク制御を再取得して送信を継続できるように、できるだけ早く送信される。これは、最小限のターンアラウンド時間を意味する。
【０００９】
最後に受信されたフレームがＳＹＭＭプリミティブである場合、受信装置は、リンクがアイドル状態にとどまる時間が長ければ長いほど増加する時間間隔にわたって、ＳＹＭＭプリミティブの送信を遅延させる。これを達成するために、アイドル期間中のターンアラウンド時間は、アイドル係数とアイドル遅延との積とされ得る。アイドル遅延は時間間隔である。アイドル係数は、例えば以下のように計算され得る。即ち、リンクが最初に確立される際、又は、情報フレーム（Ｉ又はＵＩフレーム）が受信される際に、アイドル係数がゼロにセットされる。ＳＹＭＭプリミティブが受信されるたびに、アイドル係数が増加される。ＳＹＭＭ以外のリンク制御プリミティブが受信されるたびに、アイドル係数が減少されるか、ゼロにリセットされる。アイドル係数とアイドル遅延との積であるターンアラウンド時間は、ゼロと何らかの最大値との間で変化し、アイドル係数によってスケーリングされる。
【００１０】
装置が最近受信したのがＳＹＭＭプリミティブ以外のリンク制御プリミティブであり、最近に情報フレームを受信していない場合、ターンアラウンド時間は、受信された制御プリミティブの種類に従って決定され得る（又は、アイドル係数が調整される）。
【００１１】
本明細書に開示された方法及びシステムは、ＮＦＣプロトコルを用いる様々な実施の形態で説明されるが、半二重リンクに一般的に適用可能である。
【００１２】
本明細書に開示された方法及びシステムは、添付の図面を参照して更に説明される。
【図面の簡単な説明】
【００１３】
【図１】図１は、ニアフィールド通信リンクを管理するシステム及び方法の提供と組み合わせた利用に適した、例としてのコンピューター装置を表すブロック図である。
【図２】図２は、ニアフィールド通信リンクを管理するシステム及び方法を提供するための多くのコンピューター化されたプロセスが実現され得る、例としてのネットワーク接続されたコンピューティング環境を示す。
【図３】図３は、ＮＦＣを用いて通信する例としての装置のセットを示す。
【図４】図４は、ＳＹＭＭフレームがどのように利用されるかを示す。
【図５】図５は、ＳＹＭＭプリミティブを送信するか否かを決定するためにタイマーを利用する、例としてのフローチャートを示す。
【図６】図６は、半二重リンクにおける入りデータ・パケットの処理を示す例としてのフローチャートである。
【図７】図７は、半二重リンクにおける入りデータ・パケットの処理を示す例としてのフローチャートである。
【図８】図８は、ＮＦＣリンクにおける入りデータ・パケットの処理を示す例としてのフローチャートである。
【図９】図９は、ＮＦＣリンクにおける入りデータ・パケットの処理を示す例としてのフローチャートである。
【発明を実施するための形態】
【００１４】
本明細書に説明される方法及びシステムの様々な実施の形態の理解を提供するために、以下の説明及び図面において、特定の具体的な詳細が述べられる。様々な実施の形態が不必要に不明瞭になることを避けるために、電子機器及び通信方法と関連付けられた特定の周知の詳細は記載されない。更に、関連する技術分野の当業者によって理解されるように、説明された方法及びシステムの他の実施の形態は、以下に説明される一つ又は複数の詳細なしに実行可能である。特に、本明細書に開示される方法及びシステムは、ＮＦＣプロトコルを用いる様々な実施の形態を説明するが、他の種別のリンクにも一般的に適用可能である。最後に、様々なプロセスがステップ及び順番によって説明されるが、本説明は、特定の実施の形態の明確な実現態様を提供するためのものであり、ステップ及びステップの順番は、本明細書に開示された方法及びシステムを実現するために必須のものと考えられるべきではない。
【００１５】
コンピューター装置の例
図１を参照して、以下に説明されるプロセスと組み合わせて利用されるのに適した、例としてのコンピューティング環境を表すブロック図が示される。例えば、以下のプロセス及び方法を実行するコンピューター実行可能命令は、図１に示される装置のうちの一つに置かれ、及び／又は実行され得る。コンピューティング・システム環境２２０は、適切なコンピューティング環境の一例に過ぎず、本発明の用途又は機能の範囲に関する何らの限定をも示唆する意図はない。コンピューティング環境２２０は、例としての動作環境２２０に図示された構成要素の任意の一つ又はその組み合わせについて、何らの依存又は要求を有するものと解釈されるべきではない。
【００１６】
本発明の態様は、多くの他の汎用又は専用コンピューティング・システム環境又は構成とともに動作可能である。本発明による利用に適用し得る周知のコンピューター・システム、環境、及び／又は構成は、パーソナル・コンピューター、サーバー・コンピューター、ハンドヘルド又はラップトップ装置、マルチプロセッサー・システム、マイクロプロセッサー・ベースのシステム、セットトップ・ボックス、プログラム可能消費者電子機器、ネットワークＰＣ、ミニコンピューター、メインフレーム・コンピューター、上記のシステム又は装置のうちの任意のものを含む分散コンピューティング環境、及びそれに類するものを含むが、それらに限定されるものではない。
【００１７】
本発明の態様は、例えば、コンピューターによって実行されるプログラム・モジュールのような、コンピューター実行可能命令の一般的な文脈において実現され得る。一般に、プログラム・モジュールは、特定のタスクを実行し、又は特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。本発明の態様は、また、通信ネットワークを通してリンクされたリモート処理装置によってタスクが実行される分散コンピューティング環境において実現されてもよい。分散コンピューティング環境において、プログラム・モジュールは、メモリー記憶装置を含むローカル及びリモートの記憶媒体に置かれ得る。
【００１８】
本発明の態様を実現する例としてのシステムは、コンピューター２４１の形態の汎用コンピューター装置を含む。コンピューター２４１の構成要素は、処理ユニット２５９、システム・メモリー２２２、及び、システム・メモリーから処理ユニット２５９を含む様々なシステム構成要素を結合するシステム・バス２２１を含み得るが、それらに限定されない。システム・バス２２１は、メモリー・バス又はメモリー・コントローラー、周辺機器バス、及び、任意の様々なバス構造を用いるローカル・バスを含む何種類かのバス構造のうちの、任意のものであってよい。非限定的な例として、そのようなアーキテクチャーには、業界標準アーキテクチャー（ＩＳＡ）バス、マイクロ・チャンネル・アーキテクチャー（ＭＣＡ）バス、拡張ＩＳＡ（ＥＩＳＡ）バス、ビデオ電子機器標準協会（ＶＥＳＡ）ローカル・バス、メッツァニーノ・バスとしても知られる周辺機器コンポーネント相互接続（ＰＣＩ）バス、及びその後継であるＰＣＩ高速標準、セキュア・デジタル入出力（ＳＤＩＯ）、及びユニバーサル・シリアル・バス（ＵＳＢ）が含まれる。
【００１９】
コンピューター２４１は、典型的には、様々なコンピューター読み取り可能媒体を含む。コンピューター読み取り可能媒体は、コンピューター２４１からアクセス可能な任意の利用可能な媒体であってよく、揮発性及び不揮発性の媒体、着脱式及び非着脱式の媒体を含む。非限定的な例として、コンピューター読み取り可能媒体は、コンピューター記憶媒体及び通信媒体を含み得る。コンピューター記憶媒体は、例えばコンピューター読み取り可能命令、データ構造、プログラム・モジュール又は他のデータのような情報の記憶のための任意の方法又は技術で実現された、揮発性及び不揮発性の、着脱式及び非着脱式の媒体を含む。コンピューター記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリー又は他のメモリー技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）又は他の光学ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置又は他の磁気記憶装置、或いは、所望の情報を格納するために利用可能であり、コンピューター２４１によってアクセス可能な任意の他の媒体を含むが、それらに限定されない。通信媒体は、一般に、例えば搬送波又は他の伝送機構のような変調データ信号における、コンピューター読み取り可能命令、データ構造、プログラム・モジュール又は他のデータを包含し、任意の情報伝送媒体を含む。「変調データ信号」との用語は、一つまたはそれ以上の特徴が、信号内の情報をエンコードする方法で調整又は変更された信号を意味する。非限定的な例として、通信媒体は、例えば有線ネットワーク又は直接配線された接続のような有線媒体、及び、例えば音響、無線、赤外線及び他の無線媒体のような無線媒体を含む。上記の任意の組み合わせもまた、コンピューター読み取り可能媒体の範囲に含まれる。
【００２０】
システム・メモリー２２２は、例えば読み取り専用メモリー（ＲＯＭ）２２３及びランダム・アクセス・メモリー（ＲＡＭ）２６０のような、揮発性及び／又は不揮発性メモリーの形態のコンピューター記憶媒体を含む。例えばセットアップ中にコンピューター２４１内の構成要素間の情報転送を助ける基本ルーチンを含む基本入出力システム２２４（ＢＩＯＳ）は、一般に、ＲＯＭ２２３に格納される。ＲＡＭ２６０は、一般に、処理ユニット２５９によって即時にアクセス可能であり、及び／又は処理ユニット２５９によって現在処理されているデータ及び／又はプログラム・モジュールを含む。非限定的な例として、図１では、オペレーティング・システム２２５、アプリケーション・プログラム２２６、他のプログラム・モジュール２２７、及びプログラム・データ２２８を示す。
【００２１】
コンピューター２４１は、また、他の着脱式／非着脱式、揮発性／不揮発性のコンピューター記憶媒体を含み得る。例として、図１は、非着脱式不揮発性の磁気媒体からの読み取り又は書き込みを行うハードディスク・ドライブ２３８、着脱式不揮発性磁気ディスク２５４からの読み取り又は書き込みを行う磁気ディスク・ドライブ２３９、及び、ＣＤ  ＲＯＭ又は他の光学媒体のような着脱式不揮発性光学ディスク２５３からの読み取り又は書き込みを行う光学ディスク・ドライブ２４０を示す。例としての動作環境において利用することができる他の着脱式／非着脱式、揮発性／不揮発性のコンピューター記憶媒体は、磁気テープ・カセット、フラッシュ・メモリー・カード、デジタル多用途ディスク、デジタル・ビデオ・テープ、ソリッドステートＲＡＭ、ソリッドステートＲＯＭ、及びそれらに類するものを含むが、それらに限定されない。ハードディスク・ドライブ２３８は、典型的には、例えばインターフェース２３４のような非着脱式メモリー・インターフェースを介してシステム・バス２２１に接続され、磁気ディスク・ドライブ２３９及び光学ディスク・ドライブ２４０は、典型的には、例えばインターフェース２３５のような着脱式メモリー・インターフェースによってシステム・バス２２１に接続される。
【００２２】
上で論じられ、図１に示されたドライブ及びそれらと関連するコンピューター記憶媒体は、コンピューター２４１に対し、コンピューター読み取り可能命令、データ構造、プログラム・モジュール及び他のデータの記憶を提供する。例えば、図１において、ハードディスク・ドライブ２３８は、オペレーティング・システム２５８、アプリケーション・プログラム２５７、他のプログラム・モジュール２５６、及びプログラム・データ２５５を格納するように示される。これらの構成要素は、オペレーティング・システム２２５、アプリケーション・プログラム２２６、他のプログラム・モジュール２２７、及びプログラム・データ２２８と同じであっても異なってもよいことに注意されたい。オペレーティング・システム２５８、アプリケーション・プログラム２５７、他のプログラム・モジュール２５６、及びプログラム・データ２５５は、ここで、少なくとも別のコピーであることを示すために、異なる番号を与えられている。ユーザーは、例えばキーボード２５１、及び一般にマウス、トラックボールまたはタッチパッドと言われるポインティング・デバイス２５２のような入力装置を介して、コンピューター２４１に命令及び情報を入力し得る。他の入力装置（図示せず）は、マイクロフォン、ジョイスティック、ゲームパッド、衛星アンテナ、スキャナー又はそれらに類するものを含み得る。これらの及び他の入力装置は、しばしば、システム・バスに結合されたユーザー入力インターフェース２３６を通して処理ユニット２５９に接続されるが、例えばパラレル・ポート、ゲーム・ポート、又はユニバーサル・シリアル・バス（ＵＳＢ）のような他のインターフェース及びバス構成によって接続されてもよい。モニター２４２又は他の種別の表示装置も、また、例えば、非安全な又は安全なビデオ・インターフェース２３２のようなインターフェースを介して、システム・バス２２１に接続される。例としての安全なビデオ標準は、高品位マルチメディア・インターフェース（ＨＤＭＩ）標準であり得る。モニターに加えて、コンピューターは、また、例えばスピーカー２４４及びプリンター２４３のような、出力周辺機器インターフェース２３３を通して接続され得る他の周辺出力装置を含み得る。
【００２３】
コンピューター２４１は、例えばリモート・コンピューター２４６のような一つ又はそれ以上のリモート・コンピューターへの論理接続を用いて、ネットワーク接続された環境で動作し得る。リモート・コンピューター２４６は、パーソナル・コンピューター、サーバー、ルーター、ネットワークＰＣ、ピア・デバイス又は他の共通ネットワーク・ノードであってよく、図１にはメモリー記憶装置２４７のみが図示されているが、典型的には、コンピューター２４１に関して上記された多くの又は全ての構成要素を含む。図１に描かれた論理接続は、ローカル・エリア・ネットワーク（ＬＡＮ）２４５及び広域ネットワーク（ＷＡＮ）２４９を含むが、更に他のネットワークを含んでもよい。そのようなネットワーク環境は、オフィス、企業規模のコンピューター・ネットワーク、イントラネット及びインターネットにおいて通常である。
【００２４】
ＬＡＮネットワーク環境において用いられる場合、コンピューター２４１は、ネットワーク・インターフェース又はアダプター２３７を介してＬＡＮ２４５に接続される。ＷＡＮネットワーク環境で利用される場合、コンピューター２４１は、一般に、モデム２５０、又は例えばインターネットのようなＷＡＮ２４９上で通信を確立する他の手段を含む。内蔵でも外付けでもよいモデム２５０は、ユーザー入力インターフェース２３６、又は他の適切なメカニズムを介してシステム・バス２２１に接続され得る。ネットワーク接続された環境において、コンピューター２４１に関連して示されたプログラム・モジュール又はその一部は、リモートのメモリー記憶装置に格納されてもよい。非限定的な例として、図１は、リモート・アプリケーション・プログラム２４８を、メモリー装置２４７にあるものとして示す。図示されたネットワーク接続は例であり、コンピューター間の通信リンクを確立する他の手段が利用可能であることが理解される。
【００２５】
理解されるとおり、本明細書で説明された様々な技術は、ハードウェア、ソフトウェア、又は、適切な場合にはそれらの組み合わせとの結合において実現され得る。したがって、本発明の方法及び装置、或いは、それらの特定の態様又は部分は、例えばフロッピー（登録商標）・ディスク、ＣＤ−ＲＯＭ、ハード・ドライブ、又は任意の他のマシン読み取り可能記憶媒体のような有形の媒体に包含されたプログラム・コード（即ち、命令）の形態をとってよく、プログラム・コードが例えばコンピューターのようなマシンによってロードされ実行されると、該マシンは本発明を実現する装置となる。プログラム可能コンピューターにおいてプログラム・コードを実行する場合、コンピューター装置は、一般に、プロセッサー、該プロセッサーにより読み取り可能な記憶媒体（揮発性及び不揮発性メモリー及び／又は記憶素子を含む）、少なくとも一つの入力装置、及び少なくとも一つの出力装置を含む。一つ又はそれ以上のプログラムは、例えばＡＰＩ、再利用可能制御又はそれらに類するものを通して、本明細書に説明されたシステム及び方法の実施の形態と組み合わせて説明されたプロセスを実現又は利用し得る。それらのプログラムは、コンピューター・システムと通信する高レベルの手続き型又はオブジェクト指向型プログラミング言語で実装されることが望ましい。しかしながら、プログラムは、所望により、アセンブリ又はマシン言語で実装されてもよい。いずれの場合にも、言語はコンパイル又はインタープリットされた言語であって、ハードウェアの実装と組み合わされる。
【００２６】
例としての実施の形態は、一つ又はそれ以上のスタンド・アローン・コンピューター・システムの文脈における本発明の態様の利用に言及するが、本明細書に開示された実施の形態はそれに限定されるものではなく、例えばネットワーク・コンピューティング環境又は分散コンピューティング環境のような任意のコンピューティング環境と結合して実現されてもよい。更に、本発明の態様は、複数の処理チップ又は装置において、又はそれらにわたって実現され、記憶装置は、複数の装置に渡って同様に有効であり得る。そのような装置は、パーソナル・コンピューター、ネットワーク・サーバー、ハンドヘルド装置、スーパーコンピューター、或いは、例えば自動車及び飛行機のような他のシステムに統合されたコンピューターを含み得る。
【００２７】
図１に提供された一般的なフレームワークに従って構築され得る様々なコンピューティング環境を考慮すると、本明細書に提示されたシステム及び方法を、特定のコンピューティング・アーキテクチャーに限定して解釈することは、決してできない。代わりに、本発明は、任意の単一の実施の形態に限定されるべきではなく、添付の特許請求の範囲に従った幅及び範囲内で解釈されるべきである。
【００２８】
次に、図２を参照すると、以下に説明されるプロセスのうちの少なくとも一つを実行するために、多くのコンピューター化されたプロセスが実現され得る、例としてのネットワーク接続されたコンピューティング環境が示されている。例えば、パラレル・コンピューティングは、世界共通消費者支出カードを実現するシステムを利用及び／又は実現する、図２のネットワーク上の様々なクライアントを備えるそのようなネットワーク接続された環境の一部であり得る。当業者であれば、ネットワークが任意のコンピューター或いは他のクライアント装置又はサーバー装置を接続することができ、或いは分散コンピューティング環境において接続可能であることを理解できる。その際、任意の数の処理、メモリー又は記憶ユニット、並びに、同時に発生する任意の数のアプリケーション及びプロセスを有する任意のコンピューター・システム又は環境が、提供されるシステム及び方法と組み合わせた利用に適していると考えられる。
【００２９】
分散コンピューティングは、コンピューター装置及びシステム間のやり取りにより、コンピューターの資源及びサービスの共有を提供する。これらの資源及びサービスは、ファイルの情報、キャッシュ記憶及びディスク記憶のやり取りを含む。分散コンピューティングは、ネットワーク接続を活かして、クライアントが集合的なパワーを活用して企業全体に利益をもたらすことを可能とする。その際、様々な装置は、本明細書に記載されたプロセスと関連するアプリケーション、オブジェクト又は資源を有し得る。
【００３０】
図２は、例としてのネットワーク接続環境又は分散コンピューティング環境の概略図を提供する。該環境は、オブジェクト２７３、２７４、２７５及びデータベース２７８とともに、コンピューター装置２７１、２７２、２７６、２７７を含む。これらの各エンティティ２７１、２７２、２７３、２７４、２７５、２７６、２７７、２７８は、プログラム、メソッド、データストア、プログラム可能ロジック等を含み又は利用し得る。エンティティ２７１、２７２、２７３、２７４、２７５、２７６、２７７、２７８は、例えばＰＤＡ、オーディオ／ビデオ装置、ＭＰ３プレーヤー、パーソナル・コンピューター等の同一の又は異なる装置の部分に広がり得る。各エンティティ２７１、２７２、２７３、２７４、２７５、２７６、２７７、２７８は、他のエンティティ２７１、２７２、２７３、２７４、２７５、２７６、２７７、２７８と、通信ネットワーク２７０により通信可能である。その際、任意のエンティティは、データベース２７８又は他の記憶要素の維持管理及び更新を担当し得る。
【００３１】
このネットワーク２７０は、自身が、図２のシステムにサービスを提供する他のコンピューティング・エンティティを含んでもよく、自身が、多数の相互接続されたネットワークであってもよい。本発明の一つの態様によれば、各エンティティ２７１、２７２、２７３、２７４、２７５、２７６、２７７、２７８は、ＡＰＩ又は他のオブジェクト、ソフトウェア、ファームウェア及び／又はハードウェアを利用して、一つ又はそれ以上の他のエンティティ２７１、２７２、２７３、２７４、２７５、２７６、２７７、２７８のサービスを要求する、別個の機能的プログラム・モジュールを含んでもよい。
【００３２】
理解されるとおり、例えば２７５のようなオブジェクトは、他のコンピューター装置２７６にホストされてもよい。従って、図示された物理的環境は、接続された装置をコンピューターとして示すが、そのような図示は例に過ぎず、物理的環境は、その代わりに、例えばＰＤＡ、テレビ、ＭＰ３プレーヤー等のような様々なデジタル装置、例えばインターフェースのようなソフトウェア・オブジェクト、ＣＯＭオブジェクト、及びそれらに類するものを備えるよう図示又は説明されてもよい。
【００３３】
分散コンピューティング環境をサポートする様々なシステム、構成要素、及びネットワーク構成が存在する。例えば、コンピューター・システムは、有線又は無線のシステムによって、ローカル・ネットワーク又は広く分散されたネットワークによって、一緒に接続され得る。現在、多くのネットワークは、広く分散されたコンピューティング環境にインフラストラクチャを提供し、多くの異なるネットワークを含むインターネットに結合されている。任意のそのようなインフラストラクチャは、インターネットに接続されてもされなくても、提供されるシステム及び方法と組み合わせて利用されることができる。
【００３４】
ネットワーク・インフラストラクチャは、例えばクライアント／サーバー、ピア・ツー・ピア、又はハイブリッド・アーキテクチャーのようなネットワーク・トポロジーのホストを動作可能とし得る。「クライアント」は、自らの関連のない他のクラス又はグループのサービスを利用するクラス又はグループのメンバーである。コンピューティングにおいて、クライアントはプロセスであり、即ち、おおよそで言えば、他のプログラムによって提供されるサービスを要求する命令又はタスクのセットである。クライアント・プロセスは、他のプログラム又はサービスそのものに関する詳細な動作の詳細を「知る」必要なしに、要求されたサービスを利用する。クライアント／サーバー・アーキテクチャー、特にネットワーク接続されたシステムにおいて、クライアントは、通常、例えばサーバーのような他のコンピューターによって提供される共有のネットワーク資源にアクセスするコンピューターである。図２の例において、任意のエンティティ２７１、２７２、２７３、２７４、２７５、２７６、２７７、２７８は、状況により、クライアント、サーバー、又はその両方と考えられてよい。
【００３５】
サーバーは、典型的には、例えばインターネットのようなリモート又はローカルのネットワークを介してアクセス可能なリモート・コンピューター・システムであるが、必ずしもそうでなくてもよい。クライアント・プロセスは、第一のコンピューター・システムにおいてアクティブであってよく、サーバー・プロセスは第二のコンピューター・システムにおいてアクティブであってよく、通信媒体を介して互いに通信し、それにより、分散された機能を提供して、複数のクライアントがサーバーの情報収集能力を利用することを可能とする。任意のソフトウェア・オブジェクトが、複数のコンピューター装置又はオブジェクトに渡って分散され得る。
【００３６】
クライアント及びサーバーは、プロトコル層によって提供される機能を用いて互いに通信する。例えば、ハイパー・テキスト転送プロトコル（ＨＴＴＰ）は、ワールド・ワイド・ウェブ（ＷＷＷ）、即ち「ウェブ」と組み合わせて利用される一般的なプロトコルである。一般に、例えばインターネット・プロトコル（ＩＰ）アドレス、或いは例えばユニバーサル・リソース・ロケーター（ＵＲＬ）等の他の参照であるコンピューター・ネットワーク・アドレスが、サーバー又はクライアント・コンピューターを互いに識別するために利用され得る。ネットワーク・アドレスは、ＵＲＬアドレスと呼ばれ得る。通信は、通信媒体を介して提供され、例えば、クライアント及びサーバーは、大容量通信のためのＴＣＰ／ＩＰ接続を介して互いに結合され得る。
【００３７】
図２で提供された一般的なフレームワークに従って構築され得る様々なコンピューティング環境、及び例えば図２におけるもののようなネットワーク環境のコンピューティングにおいて発生し得る更なる多様化を考慮すると、本明細書に提供されるシステム及び方法は、何らかの特定のコンピューティング・アーキテクチャー又はオペレーティング・システムに限定して解釈されることはできない。代わりに、本発明は、いかなる単一の実施の形態にも限定されるべきではなく、むしろ、添付の特許請求の範囲に従った幅及び範囲内で解釈されるべきである。
【００３８】
ＮＦＣの概要
ＮＦＣプロトコルは、無線インターフェースに基づいており、典型的には、コンピューター周辺機器及び消費者電子機器間の無線ネットワーク接続を確立するように設計される。ＮＦＣ装置は、比較的短距離において他のＮＦＣ装置と無線通信可能な、無線周波数の非接触型通信装置である。一般に、動作距離は０〜２０ｃｍ程度である。図３は、ＮＦＣ技術を用いて通信する３つの典型的な装置を示している。通信は、ＮＦＣ装置ともう一つのＮＦＣ装置との間の磁界の誘導結合を介して行われる。ＮＦＣ装置は、単一の集積回路によって、或いは、複数の別個の機能要素部品又は複数の別個の集積回路によって実現され得る。
【００３９】
ＮＦＣ装置は、通信を確立するために装置を互いに極めて近くに置かなければならないため、本質的に安全である。任意の干渉装置が不正な接続を確立するためには、同様に物理的に近くに置かれなければならず、そのため、ＮＦＣ通信環境の制御は、例えばブルートゥースのような、より長距離の無線通信方法と比べて容易である。
【００４０】
ＮＦＣにおいて、インターフェースは１３．５６ＭＨｚの無線周波数帯域で動作する。該帯域は一般に無認可であり、したがって、この帯域を利用するために認可は不要である。しかしながら、個々の国によっては、この帯域における電磁放射に特定の制限を課しているかもしれない。
【００４１】
所与の通信セッションに参加するのは、典型的には、２つの参加装置である。単一の無線周波数帯域を共有する装置にしばしば見られるように、通信は半二重方式である。そのようなセッションは、典型的には、半二重方式によるピア・ツー・ピア通信であり、通信は双方向であるが、ある時点においては片方向のみである（同時ではない）。そのため、装置が信号の受信を開始すると、送信機が送信を停止するまで、応答を待たなければならない。装置は、「話す前に聞く」ポリシー、即ち、いかなる装置もまず搬送波を聞き、送信中であると検出された他の装置がない場合にのみ信号送信を開始するというポリシーを実施する。当業者は理解するように、本明細書に記載された方法及びシステムは、任意の数の半二重通信プロトコルによって実現可能であり、ＮＦＣの文脈に限定されない。
【００４２】
ＮＦＣ装置の動作は、それらが「イニシエーター」又は「ターゲット」のいずれで動作しているか、及び、それらが「パッシブ通信モード」又は「アクティブ通信モード」のいずれで動作しているかによって異なる。任意の装置はイニシエーターにも、ターゲットにもなり得る。イニシエーターは、データ交換を開始及び制御する装置である。ターゲットはイニシエーターからの要求に応答する装置である。
【００４３】
イニシエーターＮＦＣ装置は無線周波数磁界を生成し、通信を開始する。ターゲット装置は、イニシエーターＮＦＣ装置からの無線周波数磁界の受信に応答する。応答は、供給された無線周波数磁界の変調を通して、又は、新しい無線周波数信号の生成及び変調を通して行われる。
【００４４】
アクティブ・モードにおいて、両方の装置は、それら自身の無線周波数磁界を生成してデータを伝送する。「パッシブ通信モード」において、イニシエーターＮＦＣ装置は、無線周波数磁界を生成し、ターゲットＮＦＣ装置は、通常は負荷変調による受信した無線周波数信号の変調により、イニシエーターのコマンドに応答する。「アクティブ通信モード」において、イニシエーターＮＦＣ装置及びターゲットＮＦＣ装置は、いずれも、自身の無線周波数磁界を用いて通信を可能とする。
【００４５】
開始アプリケーションは、１０６、２１２及び４２４キロビット／秒の組から初期通信速度を選択する。続いて、アプリケーション及び／又は通信環境は、通信速度のネゴシエーションを要求し得る。プロトコルは、速度により異なる変調及びビット・エンコーディング手法を利用する。通信セッションを確立する際に、イニシエーターは、特定の速度において特定のモードで通信を開始する。ターゲットは、現在の速度を決定し、それに応じて、関連する低レベル・プロトコルが応答する。通信は、アプリケーションからの命令によって、又は、装置が範囲外に移動した際に停止される。
【００４６】
パッシブ・モードは、電力の消耗を最小化して電池寿命を節約するので、電池式の装置にとって重要である。装置は内部から電源供給され得るが、無線周波数送信機及びアンテナを付勢することにより更なる電池充電を費消する必要はない。２つのピア装置がユーザーからの相互作用を要することなく通信することを望む場合、ＮＦＣ装置は連続的にアクティブでなければならない。
【００４７】
上の例は例示及び説明のためのものに過ぎず、ここに提供された開示の様々な態様は、それらの例に限定されないことが理解される。例えば、他の種別の短距離無線リンクは、半二重通信が利用される際に一般に適用可能な、同種の問題に直面し得る。本開示内容は、上記の同期機能の一つ又はそれ以上を利用する様々な形態の有線及び無線通信に適用され得ることが想定される。
【００４８】
ＮＦＣリンク制御
ＮＦＣ装置は、ＮＦＣ装置の動作を制御するマイクロプロセッサー又はマイクロコントローラーと、無線周波数信号を生成する信号生成器と、無線周波数信号を変調する変調器と、コア機能にクロック信号を提供するクロック信号生成器と、データを格納するためのデータ記憶手段とを含み得る。ＮＦＣ装置の様々な部分は、一つの回路によって提供されても、複数の回路によって提供されても、或いは、ホスト・システム又は機器と統合されてもよい。
【００４９】
ＮＦＣ装置は、典型的には、コネクターによって更なるシステム構成要素と結合される。システム構成要素は、ホスト・システム・プロセッサー、センサー、アクチュエーター、又は、ＮＦＣ装置のローカル環境と相互作用可能な任意の他の装置を含み得る。イニシエーター・モードでのＮＦＣ装置の動作において、変調されたＲＦ信号が送信され、この信号は、典型的には、誘導カプラーを介してＮＦＣ装置により受信される。
【００５０】
論理リンク制御プロトコル（ＬＬＣＰ）は、ＮＦＣ装置間の論理リンクを定義し、リンク層制御手順（ＩＳＯ／ＩＥＣ  １３２３９：２００２）のハイレベル・データリンク制御（ＨＤＬＣ）ファミリーに基づいている。リンクは、一つ又はそれ以上の（論理的）ＬＬＣＰ接続を保持し得る。ＬＬＣＰの機能は、ＩＳＯ／ＩＥＣ１８０９２の標準機能の上に構築される。
【００５１】
ＬＬＣＰブロックは４つの機能ブロックに分かれる。「リンク・セットアップ」サブブロックは、リンク・セットアップの確立を担当する。リンクの確立が実行されると、このサブブロックは非アクティブになり、作業は「対称プロバイダー（Ｓｙｍｍｅｔｒｙ  Ｐｒｏｖｉｄｅｒ）」サブブロックに渡される。このサブブロックは、リモートのＮＦＣフォーラム装置が到達範囲内にある限りアクティブである。このサブブロックは、対称的ロール（ｒｏｌｅ）・モデルを提供し、これは、ＬＬＣＰの残りの機能の前提である。リンク・マネージャーは、全ての接続型及び非接続型のデータ交換の連続化を担当し、誤り検出及び誤り回復の処理を提供する。接続及びデータ転送ブロックは、接続ベースの接続の保持を担当する。
【００５２】
ＬＬＣＰは、互いに独立した２つの異なる型式の伝送をサポートする。非接続型伝送は、信頼性のない方式でデータを伝送するサービスを提供する。送信側は、データがリモートのピアによって実際に受信されたか否かの何らのフィードバックも受信しない。受信側がビジー状態にある場合、又は、データ送信がエラーであった場合、ローカルのピアはそれを知らされない。更に、この種の伝送は、いかなるセッション文脈をも有さない。各フレームは、宛て先サービス・アクセス・ポイント（ＳＡＰ）及び送信元ＳＡＰからなり、これにより、単一リンク上での複数の非接続型データ伝送が可能となる。宛て先ポートは、典型的には、特定のプロトコルと関連する。送信元ポートはＬＬＣスタックによって解釈されない。上位のアプリケーションは、複数フレーム間の文脈を有するための手段として、該フィールドを利用する。
【００５３】
非接続型伝送は、データ・リンク接続の何らの予めの確立をも必要とせず、そのため、データ・リンクの切断を必要としない。第二型としても知られる接続型伝送は、信頼性を持ったデータ交換能力を有するチャンネルを提供する。第二型ベースの接続は３ステップで実行される。第一は接続の確立であり、ローカル及びリモートのピア間でセッション文脈が合意される。これは、任意の装置によって開始されることができる。第二は情報交換であり、双方向で実行され得る実際のデータ交換である。データ交換は、信頼性を持って且つ順序を追って実行され、エラー回復を含む。第三は接続終了であり、セッション文脈の無効化である。これは、猶予を持ってセッションを終了し、識別子を新しい接続に再利用するというオプションを可能とする。ＬＬＣＰスタックは、単一リンク上で複数の接続を管理できる。各接続は、自身の状態を保持する。
【００５４】
セッション文脈は、送信元ＳＡＰ及び宛て先ＳＡＰの組み合わせによって定義される。宛て先ＳＡＰ（ＤＳＡＰ）は、予約されたサービス・アクセス・ポイントを意味する。これらのＤＳＡＰは、特定のプロトコルによるバインディングが定義された、予約されたサービス・アクセス・ポイントを意味し得る。特定のプロトコルのために予約された以外のＳＡＰは、アプリケーションが共通プロトコルに従うことを要求する。
【００５５】
一般的なリンク・セットアップは、以下のステップを通じて実行される。
１．ＬＬＣスタックは、ＬＬＣ関連構成データをモード・スイッチに提供する。これは、特に、ＡＴＲ＿ＲＥＱ及びＡＴＲ＿ＲＥＳの一般バイト（Ｇｅｎｅｒａｌ  Ｂｙｔｅｓ）の内容を含む。
２．ＮＦＣＩＰ−１イニシエーター・モードで構成されたＮＦＣ装置は、モード・スイッチ要素によって、リモートの装置又はタグを検出する。
３．ＮＦＣＩＰ−１衝突回避手順は、単一のリモート装置がＮＦＣＩＰ−１プロトコルを介して通信可能であることを決定する。
４．ローカルのＬＬＣＰ装置は、ＮＦＣＩＰ−１プロトコルの初期化期間に、ＬＬＣＰスタックによって提供された一般バイトを用いて、自らのＬＬＣＰ能力を宣伝する。
５．ローカルのＬＬＣＰ装置は、ＡＴＲ＿ＲＥＱコマンドを送信した後に、リモート装置の能力を含むＮＦＣＩＰ−１初期化応答（ＡＴＲ＿ＲＥＳ）を受信する。
６．モード・スイッチはＬＬＣＰスタックに通知し、ＬＬＣＰスタックは、集められたデータを読み出す。
７．データがＬＬＣＰイニシエーターによって検証され、ＮＦＣ及びＬＬＣＰ準拠ルールに照らして確認される。
８．手順がＮＦＣＩＰ−１に従っており、ＡＴＲ＿ＲＥＱ／ＡＴＲ＿ＲＥＳの一般バイトが正しく形成されている場合に、リンクがセットアップされる。
【００５６】
ＲＦプロトコルの観点から、イニシエーターに対するリンクのセットアップは、以下の手順に従う。
１．検出された技術に応じて、衝突回避手順を実行する。
ａ．１０６キロビット／秒  パッシブ・モード
イニシエーターは、ＳＥＬ＿ＲＥＱ及びＳＥＬ＿ＲＥＳまで、衝突回避及び選択手順を実行する。ＩＳＯ／ＩＥＣ１８０９２にしたがってＳＥＬ＿ＲＥＳの第６ビットが１にセットされる場合、イニシエーターは、ターゲットがＮＦＣＩＰ−１プロトコルをサポートしていると想定する。
ｂ．２１２キロビット／秒  パッシブ・モード
イニシエーターは、ポーリング要求（ＰＯＬＬＩＮＧ＿ＲＥＱＵＥＳＴ）及びポーリング応答（ＰＯＬＬＩＮＧ＿ＲＥＳＰＯＮＳＥ）を実行することにより、衝突回避手順を実行する。ＩＳＯ／ＩＥＣ１８０９２に従って、ＮＦＣＩＤ−２のプリフィックス・バイトが０１ｈＦＥｈにセットされる場合、イニシエーターは、ターゲットがＮＦＣＩＰ−１プロトコルをサポートしていると想定する。
ｃ．４２４キロビット／秒  パッシブ・モード
この手順は、２１２キロビット／秒に対するものと全く同じである。
２．ＮＦＣＩＰ−１をアクティブにするために、イニシエーターは、ＩＳＯ／ＩＥＣ１８０９２に従ってＡＴＲ＿ＲＥＱを準備する。
３．イニシエーターは、ＡＴＲ＿ＲＥＱを送信し、ＡＴＲ＿ＲＥＳ応答を待つ。
４．イニシエーターは、ＩＳＯ／ＩＥＣ１８０９２に従って、ＡＴＲ＿ＲＥＳの正確性を確認する。更に、イニシエーターは、一般バイトが正しい形式になっているか否かをチェックする。
５．一般バイトが正しく形成されている場合に、イニシエーターは、リモートの装置がＬＬＣＰを介して通信可能であると想定する。これによって、ＬＬＣＰリンクがセットアップ可能である。次のＮＦＣＩＰ−１  ＤＥＰフレームは、既に有効なＬＬＣフレームを含む。
【００５７】
無線周波数プロトコルの観点から、ターゲット役の手順は以下の通りである。
１．ターゲットがＬＬＣＰを介した通信を意図する場合に、ターゲットは、ＩＳＯ／ＩＥＣ１８０９２にしたがって動作する。その結果、ターゲットが選択され、ＡＴＲ＿ＲＥＱを待つ。
２．ＡＴＲ＿ＲＥＱが受信されると、ターゲットは、まず、ＡＴＲ＿ＲＥＱがＩＳＯ／ＩＥＣ１８０９２にしたがった正しい形式であるか否かを確認する。
３．ＡＴＲ＿ＲＥＱの確認のほかに、ターゲットは、汎用バイトが正しい形式であるかをチェックする。正しい形式である場合、ターゲットは、イニシエーターがＬＬＣＰリンクのセットアップを望んでいると想定できる。
４．ＡＴＲ＿ＲＥＱが相応に特定されている場合、ターゲットは、ＩＳＯ／ＩＥＣ１８０９２にしたがってＡＴＲ＿ＲＥＳを特定し、更に、汎用バイトをセットする。
５．ＡＴＲＥ＿ＲＥＳが発行されると、ターゲットは、リンクがセットアップされたことを想定でき、それにより、次に受信されるフレームが第一のＬＬＣフレームであること想定できる。
【００５８】
ＮＦＣＩＰ−１プロトコルは、マスター／スレーブ・モデルに基づく。ＮＦＣＩＰ−１イニシエーターは、ターゲットとの全ての通信を開始及び制御するマスターとみなされ得る。ＮＦＣＩＰ−１ターゲットは、イニシエーターによって発行されたコマンドに応答することのみを許されたスレーブとみなされ得る。ターゲットは、そのため、ＮＦＣＩＰ−１レベルのあらゆる通信を開始する手段を持たない。
【００５９】
このモデルは、物理的な特徴によって役割が予め決定されている場合に適している。しかしながら、これは、リンクがセットアップされるまで役割を決定することができないピア・ツー・ピアの場合には当てはまらない。そのような場合には、両方の装置が同じ特性を持つことが不可欠である。これは、基本的に、両方の装置が、事前に決められた役割を考慮せず、任意の時点においてデータ交換を開始できることを意味する。
【００６０】
対称的な動作は、たとえ交換されるべきペイロードがなかったとしても、周期的な方法で、コマンド／レスポンスの対を送信することにより実現され得る。これは、特に、ＮＦＣＩＰ−１ターゲットが、一定の時間フレーム内でデータを「送信」することを可能とする。なぜなら、イニシエーターは、フレームがペイロード・データを含むか否かに関わらず、定期的にＬＬＣフレームを発行しなければならないからである。
【００６１】
対称的な特徴は、以下の想定に基づく。
１．ＬＬＣＰリンクが黙示的に確立され、リモートのピアが動作範囲内にある限りにおいて保持される。
２．ＬＬＣＰはキュー作成を担当しない。タイムアウトを考慮するにあたり、ＬＬＣＰスタックは、送受信キューに一つだけのフレームがあると想定する。
３．ＬＬＣＰは、入り（ｉｎｃｏｍｉｎｇ）ペイロード（即ち、Ｉ又はＵＩフレーム）が次の出（ｏｕｔｇｏｉｎｇ）ペイロードに影響しないように設計される。これは、受信されたデータがまだ処理されていなくても、装置がデータを送信可能であると言う利点を有する。
４．以下に特定されるターンアラウンド時間は、あらゆるエラー処理を考慮しない。そのため、送信エラーが発生した場合、リンクはエラー回復を実行しなければならず、ＬＬＣＰリンクは最大応答時間を保持しないかもしれない。
【００６２】
ＬＬＣプロトコルは、３つの異なる種別のコマンドをサポートする。各ＬＬＣコマンド又は応答は、以下の３種類のうちのいずれかに分類され得る。
・情報（Ｉフレーム）――番号付き情報転送。Ｉ形式のコマンド及び応答は、信頼性が高く、番号情報及びペイロードそのものを含む。
・監視（Ｓフレーム）――監視フレームは、第二型及びリンク層動作の制御機能を実行するよう動作する。
・番号なし（Ｕフレーム）――監視フレームは、第一型データ送信としても知られる、番号なし情報転送を実行するよう動作する。
【００６３】
いずれのＬＬＣフレームも、３つの異なるコマンド種別のうちの一つを含み、以下のフォーマットにしたがう。
【００６４】
【表１】
2010528535.tif 000003
【００６５】
【表２】
2010528535.tif 000004
【００６６】
【表３】
2010528535.tif 000005
【００６７】
ＳＹＭＭ（対称）コマンド／応答は、対称性を保持するために利用される。ＳＹＭＭコマンド／応答は、待機中のペイロード又は確認応答がない場合に、ＮＦＣＩＰ−１コマンド又はＮＦＣＩＰ−１応答を介して送信される。このコマンドは情報フィールドを送信しない。
【００６８】
ＳＹＭＭフレームは、役割に応じて２つの異なるタイムアウト値を有し得る。
【００６９】
イニシエーター
イニシエーターがＳＹＭＭフレームを受信する場合、ＳＹＭＭフレームは、イニシエーターが、ターンアラウンド時間ＴＴＴによって決定された時間ウィンドウ内にＬＬＣコマンドを送信することを保証する。
【００７０】
ターゲット
ターゲットがＳＹＭＭフレームを受信する場合、ＳＹＭＭフレームは、該装置が、ＮＦＣＩＰ−１によって定義された応答待機時間（ＲＷＴ）内にＬＬＣフレームによって応答することを保証する。
【００７１】
図４は、ＳＹＭＭフレームがどのように利用されるかを示す。図を参照すると、
１．装置Ａが装置ＢにＬＬＣフレーム（例えば接続（ＣＯＮＮＥＣＴ）フレーム）を送信する。
２．装置Ｂは送信すべきものを何も持たないため、ラウンドトリップ制約を満足するようにＳＹＭＭフレームを送信する。
３．装置Ａは、再び何らかのＬＬＣフレーム（例えばＵＩフレーム）を送信する。
４．装置Ｂは、送信すべきペイロードを持たないので、ＳＹＭＭフレームが送信される必要がある。
５．装置Ａもペイロードを送信する必要がないので、ＳＹＭＭフレームに委ねる必要がある。
６．装置Ｂが何らかのデータ（例えば、対応するＣＯＮＮＥＣＴフレームに対するＵＡフレーム）を送信する。
【００７２】
ＳＹＭＭパケットは、コマンド／応答の機構が保持されること、及びラウンドトリップ時間の制約が満足されることを保証する。
【００７３】
ＮＦＣリンク管理
上で説明した通り、装置間の半二重通信リンクは、一方の装置が送信し、他方の装置が、第一の装置が新しい情報を送信し得る前に自分自身のデータ又は制御情報で応答するという、厳格な交替方法で用いられる。いずれの装置も送信すべきデータを持たない場合、空のフレーム又は対称プリミティブ（ＳＹＭＭ）が送信される。これは、受信装置が送信すべきデータを持たない場合に、送信装置がリンクの利用を再取得することを可能とする。いずれの装置も送信すべきデータ又は制御情報を持たない場合、ＳＹＭＭプリミティブが双方向に送信され、リンクはアイドル状態とされる。
【００７４】
実際に交換されるデータがない場合のＳＹＭＭプリミティブの連続的な送信は、携帯型装置の電池資源の不必要な消耗を意味する。この場合、通信の失敗を招かずにターンアラウンド時間を延長することが望ましい。しかしながら、データが送信されているとき、データ・スループットは、送信装置ができる限り早くリンク制御を再取得できるようにすることにより、最大化され得る。その場合、ターンアラウンド時間は可能な限り最短であることが望ましい。本明細書に記載される方法及びシステムは、データ・スループットを最大化しながら電池利用を最適化するよう、受信機におけるターンアラウンド時間を調整する。
【００７５】
一つの実施の形態において、遅延時間又は送信遅延が増加すると、リンクがアイドルである時間が長くなる。遅延時間を計算するために、一つの実施の形態では、アイドル期間におけるターンアラウンド時間は、アイドル係数とアイドル遅延との積であるとみなされ得る。アイドル遅延は時間期間である。アイドル係数は以下のように計算され得る。即ち、まず、リンクが最初に確立された際に、アイドル係数がゼロにセットされる。ＳＹＭＭプリミティブが受信されるたびに、アイドル係数がインクリメントされる。ＳＹＭＭ以外のプリミティブが受信されるたびにアイドル係数は減少され、又はゼロにリセットされる。ターンアラウンド時間はアイドル係数とアイドル遅延との積であるが、小さな処理遅延より小さくはなく、ほぼゼロから、アイドル係数によってスケーリングされる何らかの最大値までの間で変化する。即ち、
【００７６】
【数１】
2010528535.tif 000006
【００７７】
ただし、
【００７８】
【数２】
2010528535.tif 000007
【００７９】
である。
【００８０】
図５は、ＳＹＭＭプリミティブのような同期メッセージが何時送信されるべきかを決定するための、タイマーの利用の一つの実施の形態を示す。ステップ５００で開始するプロセスは、通信プロセスの各サイクル中に又は周期的に開始され得る。ステップ５１０において、プロセスは、タイマーが終了したか否かを決定する。カウントダウン・タイマーが利用される場合、タイマーは、タイマーがゼロまでデクリメントされた時点で終了する。しかしながら、他のタイマーの実現態様も可能であり、本明細書に記載された方法及びシステムは、様々なハードウェア又はソフトウェア機構で実現されることができ、特定のタイマー実現形態に限定されるべきではない。タイマーが終了している場合、ステップ５２０において、ＳＹＭＭプリミティブが送信される。個々のプロトコルの要求に応じて、他の種別の同期又は状態メッセージが送信されてもよい。
【００８１】
装置が最近にＳＹＭＭプリミティブ以外の制御プリミティブを受信しており、最近に情報フレームを受信してない場合、ターンアラウンド時間は、受信した制御プリミティブの種別に応じて、及び、ローカルの実装上の配慮によって決定され得る。受信機は、受信したメッセージが、遅延に対応すると予め決定されたものであるか否かを決定する。例えば、ターンアラウンド・タイマーの調整を必要とする様々な種別の制御プリミティブ又はメッセージを決定するために、ルックアップ・テーブルが利用されてもよい。
【００８２】
一つの実施の形態において、受信機は、キュー内で待機中の未解決の応答確認又はデータが存在するか否かを決定する。待機中のデータがない場合、受信されたメッセージの種別又は状態によって決定される値に従って、ＳＹＭＭプリミティブの送信が遅延させられる。そのような遅延は、単に、様々な選択されたメッセージ又はメッセージ種別に対応する遅延値のテーブルによって決定されてもよい。代わりに、遅延は、順応率、数学的関係又は任意の数の他の方法によって決定されてもよい。
【００８３】
図６及びズ図７は、半二重ピア・ツー・ピア通信環境における、本明細書に記載された方法及びシステムの例としての実現態様を示す。ステップ６００において、第一の装置によってデータ・パケットが受信され、ステップ６１０において、プロセスは、データ・パケットがデータ送信の進行中を示すか否かを決定する。データ送信が進行中である場合、ステップ６２０において、送信遅延がゼロにセットされる。データ・パケットがデータ送信の進行中を示さない場合、ステップ６３０において、プロセスは、リンクがアイドルであることをデータ・パケットが示しているか否かを決定する。例えば、データ・パケットは、送信装置が通信中であるが送信すべきデータを持たないことを示す「生存中」メッセージであるかもしれない。リンクがアイドルである場合、ステップ６４０において、遅延がインクリメントされる。リンクがアイドルではなく、制御パケットが受信されたかもしれないことを示す場合、受信された制御データの種別に応じて、遅延がデクリメントされ、又はゼロにセットされ得る。プロセスは、ルックアップ・テーブル又は上記の他の方法に従って、この決定を行い得る。遅延は、また、ローカルの実装上の配慮によって決定されてもよい。
【００８４】
引き続き図７において、プロセスは、ステップ７００において、キューに待機中の未解決の確認応答又はデータを受信装置が有するか否かを決定し得る。有する場合、ステップ７１０においてパケットが送信される。そうではない場合、ステップ７２０において、プロセスは、受信したパケットが特別な処理を必要とするか否か、即ち、該パケットが遅延に対応するものと予め決定されているか否かを決定する。そのような遅延は、単に、上記の通り、様々な選択されたメッセージ又はメッセージ種別に対応する遅延値のテーブルによって決定されてもよい。代わりに、遅延は、順応率、数学的関係又は任意の数の他の方法によって決定されてもよい。待機中のデータがない場合、ステップ７４０において遅延時間期間が終了したと判断されたならば、同期メッセージが送信される。
【００８５】
例としての実施の形態において、ＣＯＮＮ（接続）プリミティブが受信され、未解決の確認応答又はデータがキューに入っていない場合、本明細書に記載された方法及びプロセスを実装しない典型的な受信機は、即座にＳＹＭＭプリミティブで応答し得る。一つの実施の形態では、受信機のリンク・マネージャーが接続要求を処理して応答を生成できるよう（受信機タイムアウト要件を破るほど長くはないとしても）、ＳＹＭＭプリミティブの送信が遅延させられる。ＬＬＣＰ仕様では要求されていないが、受信機が応答前に、選択された優先度の高い要求に従って遅延を設定可能とすることは、リンクがターンアラウンドしなければならない回数、及びＳＹＭＭフレームが交換されなければならない回数を減少させる。これは、応答性及び電池資源の利用を向上させる。
【００８６】
更にもう一つの例としての実施の形態において、受信機準備未完了（ＲＮＲ）プリミティブを受信した場合、リモートのピアが、減らされた遅延をもって受信機準備完了（ＲＲ）を送信することによりビジー状態を解消できるように、リンクのターンアラウンド時間が減少又は最小化され得る。これは、ビジー状態がターンアラウンド時間を減少させ得るという点で、直感的に合わないようにみえるかもしれない。しかしながら、リモートのピアが再び受信可能となり、ＲＲプリミティブを用いて、もう一方に対し既にビジーではないことを通知する瞬間に続く遅延を最小化することにより、スループットが向上することがわかる。
【００８７】
図８及び図９に示す好ましい実施の形態によれば、受信ＮＦＣ装置は、ステップ８００において、情報フレームが受信されたか否かを決定する。情報フレームが受信されている場合、ステップ８１０において該フレームが適切なアプリケーションに割り当てられ、ステップ８１５において、アイドル係数がゼロにセットされる。情報フレームが受信されていない場合、プロセスは、ステップ８０５において、ＳＹＭＭプリミティブが受信されたか否かを決定する。ＳＹＭＭプリミティブが受信されている場合、ステップ８２０においてアイドル係数が増加される。ＳＹＭＭプリミティブが受信されていない場合、ステップ８２５において、アイドル係数が減少又はリセットされる。待機中の何らかの制御又はデータ・フレームが存在する場合（ステップ９００）、ステップ９１０においてタイマーが停止され、待機中のフレームが即時に送信され、又は、送信装置のフロー制御状況にしたがって、その後できるだけ早くに送信され、プロセスは元に戻る。
【００８８】
受信装置が、送信すべき待機中の制御又はデータ・メッセージを持たない場合、ＬＬＣＰ仕様は、装置が特定の最大ターンアラウンド時間まで遅延した後でＳＹＭＭを送信することを要求する。実際の遅延時間及び遅延時間の決定方法は、ＬＬＣＰ仕様では規定されていない。好ましい実施の形態において、遅延時間値は、ＳＹＭＭプリミティブを送信する前に、最近受信されたリンク・フレームの種別にしたがって決定される。
【００８９】
受信されたフレームが、データが優先度の高い又は指定されたフレームであって特別な処理を受けなければならないことを示す場合（ステップ９３０）、テーブル値又は他の予め決められた方法を用いてタイマーがプログラムされる（ステップ９４０）。ステップ９５０においてタイマーが開始され、プロセスは元に戻る。
【００９０】
最後に受信されたフレームが特別な処理を必要としない場合、プロセスは、ステップ９６０において、アイドル係数がゼロより大きいか否かを決定する。アイドル係数がゼロより大きい場合、ステップ９７０において、（アイドル係数×アイドル遅延）の値が用いられ、ステップ９５０においてタイマーが開始される。アイドル係数がゼロより大きくない場合、ステップ９８０においてタイマーが停止され、ステップ９９０においてＳＹＭＭプリミティブが送信されて、プロセスが元に戻る。
【００９１】
本発明を、様々な形の好ましい実施の形態と組み合わせて説明したが、理解されるとおり、他の類似した実施の形態が利用されてもよく、本発明の同一の機能を実行するために、本発明から逸脱することなく、説明した実施の形態に対する修正及び追加がなされてもよい。更に、特に無線ネットワーク接続された装置の数が増え続けるのにつれて、携帯装置のオペレーティング・システム及び他のアプリケーションに特化したハードウェア／ソフトウェア・インターフェース・システムを含む様々なコンピューター・プラットフォームが、本明細書において企図されていることが強調されるべきである。従って、本発明は、いかなる単一の実施の形態にも限定されるべきではなく、むしろ、添付の特許請求の範囲に従う幅及び範囲内で解釈されるべきである。
【００９２】
最後に、本明細書に開示された実施の形態は、他のプロセッサー・アーキテクチャー、コンピューター・ベースのシステム、又はシステム仮想化における利用のために適応されてもよく、そのような実施の形態は、本明細書の開示によって明示的に予期されている。従って、本発明は、本明細書に記載された特定の実施の形態に限定されるべきではなく、最も広く解釈されるべきである。
【図１】
2010528535.tif 000008
【図２】
2010528535.tif 000009
【図３】
2010528535.tif 000010
【図４】
2010528535.tif 000011
【図５】
2010528535.tif 000012
【図６】
2010528535.tif 000013
【図７】
2010528535.tif 000014
【図８】
2010528535.tif 000015
【図９】
2010528535.tif 000016
【国際調査報告】
2010528535.tif 000017
2010528535.tif 000018