説明

通信装置、通信システムおよび通信方法

【課題】ターゲットとして動作する通信装置からイニシエータとして動作する通信装置に任意のタイミングでデータを送信可能な、通信装置、通信システムおよび通信方法を提供する。
【解決手段】第1通信装置(イニシエータ10)は、第2通信装置(ターゲット20)に送信すべき書込データを任意のタイミングで生成し、第2通信装置は、第1通信装置に送信すべき読出データを任意のタイミングで生成し、第1通信装置は、書込データを生成するまで読出要求を第2通信装置に反復的に送信し、第2通信装置は、読出要求に応じて読出応答を第1通信装置に反復的に送信し、第1通信装置は、読出応答を受信し、第2通信装置が読出データを生成したときに、第2通信装置から読出応答とともに受信される読出データを取得する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信装置、通信システムおよび通信方法に関する。
【背景技術】
【0002】
従来、通信装置間で、一方の通信装置のみが通知する通信要求(コマンド)に応じて、パッシブな通信が行われることがある。この場合、通信要求を通知する一方の通信装置がイニシエータとして動作し、他方の通信装置がターゲットとして動作する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−160856号公報
【特許文献2】特開2010−134672号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、イニシエータとターゲットのそれぞれは、任意のタイミングでデータを生成する。イニシエータでは、ターゲットに送信すべきデータを生成すると、任意のタイミングで通信要求をターゲットに送信して、ターゲットにデータを送信することができる。一方、ターゲットでは、イニシエータに送信すべきデータを生成しても、イニシエータから通信要求を受信するまで、イニシエータにデータを送信することができなかった。
【0005】
このような問題を解消するために、イニシエータに送信すべきデータの有無を示すフラグ情報をターゲットのメモリに記憶しておき、このフラグ情報をイニシエータから定期的に確認することが考えられる。しかし、この場合でも、フラグ情報を確認してから通信要求を送信するまでに余計な時間が費やされてしまう。また、フラグ情報の記憶および判定のために余計なリソースが費やされてしまう。
【0006】
そこで、本発明は、ターゲットとして動作する通信装置からイニシエータとして動作する通信装置に任意のタイミングでデータを送信可能な、通信装置、通信システムおよび通信方法を提供しようとするものである。
【課題を解決するための手段】
【0007】
本発明のある観点によれば、他の通信装置に送信すべき書込データを任意のタイミングで生成するデータ生成部と、書込データが生成されるまで読出要求を他の通信装置に反復的に送信するとともに、読出要求に応じて読出応答を他の通信装置から反復的に受信する通信部と、他の通信装置が読出データを任意のタイミングで生成したときに、他の通信装置から読出応答とともに受信される読出データを取得するデータ取得部とを備える通信装置が提供される。
【0008】
本発明の他の観点によれば、他の通信装置に送信すべき読出データを任意のタイミングで生成するデータ生成部と、他の通信装置が書込データを生成するまで読出要求を他の通信装置から反復的に受信するとともに、読出要求に応じて読出応答を他の通信装置に反復的に送信し、かつ、読出データが生成されたときに、読出応答とともに読出データを他の通信装置に送信する通信部とを備える通信装置が提供される。
【0009】
本発明の他の観点によれば、第1通信装置と第2通信装置を有する通信システムが提供される。第1通信装置は、第2通信装置に送信すべき書込データを任意のタイミングで生成するデータ生成部と、書込データが生成されるまで読出要求を第2通信装置に反復的に送信するとともに、読出要求に応じて読出応答を第2通信装置から反復的に受信する通信部と、第2通信装置が読出データを生成したときに、第2通信装置から読出応答とともに受信される読出データを取得するデータ取得部とを備える。第2通信装置は、第1通信装置に送信すべき読出データを任意のタイミングで生成するデータ生成部と、第1通信装置が書込データを生成するまで読出要求を第1通信装置から反復的に受信するとともに、読出要求に応じて読出応答を第1通信装置に反復的に送信し、かつ、読出データが生成されたときに、読出応答とともに読出データを第1通信装置に送信する通信部とを備える。
【0010】
本発明の他の観点によれば、第1通信装置は、第2通信装置に送信すべき書込データを任意のタイミングで生成し、第2通信装置は、第1通信装置に送信すべき読出データを任意のタイミングで生成し、第1通信装置は、書込データを生成するまで読出要求を第2通信装置に反復的に送信し、第2通信装置は、読出要求に応じて読出応答を第1通信装置に反復的に送信し、第1通信装置は、読出応答を受信し、第2通信装置が読出データを生成したときに、第2通信装置から読出応答とともに受信される読出データを取得することを含む通信方法が提供される。
【発明の効果】
【0011】
以上説明したように本発明によれば、ターゲットとして動作する通信装置からイニシエータとして動作する通信装置に任意のタイミングでデータを送信可能な、通信装置、通信システムおよび通信方法を提供することができる。
【図面の簡単な説明】
【0012】
【図1】本発明の実施形態に係る通信方法の概要を示す図である。
【図2】イニシエータとターゲットの間で行われるパッシブな通信を示す図である。
【図3】通信システムの機能構成を示すブロック図である。
【図4】イニシエータの動作を示すフロー図である。
【図5】ターゲットの動作を示すフロー図である。
【図6】本発明の実施形態に係る通信方法を示すシーケンス図である。
【図7】通信要求/通信応答のデータ構造例を示す図である。
【図8】属性情報ブロックのデータ構造例を示す図である。
【発明を実施するための形態】
【0013】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0014】
[1.通信方法の概要]
まず、図1を参照して、本発明の実施形態に係る通信方法の概要を説明する。図1は、本発明の実施形態に係る通信方法の概要を示す図である。
【0015】
図1に示すように、本発明の実施形態に係る通信方法は、イニシエータ10として動作する第1通信装置と、ターゲット20として動作する第2通信装置との間で行われる。イニシエータ10は、例えばリーダライタとコントローラを含み、ターゲット20は、RFID(Radio Frequency IDentification)モジュールとホスト(CPU)を含む。イニシエータ10とターゲット20の間では、イニシエータ10が送信する書込要求、読出要求等の通信要求(コマンド)に応じて、パッシブなデータ通信が行われる。
【0016】
本願発明に係る通信方法において、イニシエータ10は、ターゲット20に送信すべき書込データを任意のタイミングで生成し、ターゲット20は、イニシエータ10に送信すべき読出データを任意のタイミングで生成する。イニシエータ10は、書込データを生成すると、書込要求と書込データをターゲット20に送信し、ターゲット20は、書込要求に応じて書込データを取得する。
【0017】
イニシエータ10は、書込データを生成するまで読出要求をターゲット20に反復的に送信し、ターゲット20は、読出要求に応じて読出応答をイニシエータ10に反復的に送信する。そして、イニシエータ10は、読出応答を受信し、ターゲット20が読出データを生成したときに、ターゲット20から読出応答とともに受信される読出データを取得する。
【0018】
これにより、ターゲット20は、通信要求の通知機能を有していなくても、反復的に受信する読出要求に対して読出データの生成タイミングで応答することで、任意のタイミングで読出データをイニシエータ10に送信することができる。これにより、イニシエータ10とターゲット20の間では、データの生成タイミングに合わせて、双方向通信を効率的に行うことができる。
【0019】
[2.通信システムの構成]
つぎに、図2および図3を参照して、本発明の実施形態に係る通信システムの構成について説明する。図2は、イニシエータ10とターゲット20の間で行われるパッシブな通信を示す図である。
【0020】
図2に示すように、イニシエータ10とターゲット20の間では、近距離無線通信(NFC:Near Field Communication)等のプロトコルに従って、パッシブな通信が行われる。NFCは、電磁誘導による近距離無線通信のプロトコルであり、例えばISM(Industrial Scientific Medical)バンドの13.56MHz等の単一周波数の搬送波を利用する。近距離無線通信は、互いに数10cm程度離れた通信装置間で行われる通信形態であり、互いに接触した通信装置間で行われる通信形態も含んでいる。
【0021】
NFCでは、パッシブモードまたはアクティブモードで通信が行われる。パッシブモードでは、図2に示すように、一方の通信装置がイニシエータ10として動作し、他方の通信装置がターゲット20として動作する。イニシエータ10は、通信要求(コマンド)をターゲット20に送信し、ターゲット20は、通信要求に応じて通信応答(レスポンス)をイニシエータ10に送信する。イニシエータ10は、自らが発生する電磁波R(に対応する搬送波)を変調することで、通信要求とデータをターゲット20に送信し(状態ST21)、ターゲット20は、イニシエータ10が発生する電磁波R(に対応する搬送波)を負荷変調することで、通信応答とデータをイニシエータ10に送信する(状態ST22)。
【0022】
図3は、通信システムの機能構成を示すブロック図である。図3に示すように、通信システムは、イニシエータ10とターゲット20からなる。
【0023】
イニシエータ10は、いずれも不図示のコントローラとコントローラに接続されたリーダライタとを含む。コントローラは、パーソナルコンピュータ、PDA、携帯電話、コンシューマエレクトロニクス製品等でもよく、これらの装置に内蔵されたCPUでもよい。ターゲット20は、いずれも不図示のホスト(CPU)とホストに接続されたRFIDモジュールとを含む。ホストは、パーソナルコンピュータ、PDA、携帯電話、コンシューマエレクトロニクス製品等でもよく、これらの装置に内蔵されたCPUでもよい。コントローラとリーダライタの間およびホストとIDの間は、通信インタフェースを通じてそれぞれに接続される。
【0024】
イニシエータ10として動作する第1通信装置は、制御部11、記憶部13、データ処理部15を含んでいる。制御部11は、データ生成部、データ取得部として機能し、データ処理部15は、通信部として機能する。図3では、イニシエータ10に含まれる制御部11、記憶部13、データ処理部15が一体に構成されているが、部分的に別体に構成されてもよい。
【0025】
制御部11は、ターゲット20に送信すべき書込データを任意のタイミングで生成する。制御部11は、書込データの生成を判定し、書込データを生成したときに書込要求を生成し、書込要求を書込データとともにターゲット20に送信するようにデータ処理部15を制御する。制御部11は、書込データを生成するまで読出要求を反復的に生成し、読出要求をターゲット20に送信するようにデータ処理部15を制御する。また、制御部11は、ターゲット20が読出データを生成したときに、ターゲット20から読出応答とともに受信される読出データを取得するようにデータ処理部15を制御し、取得した読出データを記憶部13に格納する。
【0026】
データ処理部15は、アンテナコイル等を用いて、電磁波を変調して送信することで、書込データとともに書込要求をターゲット20に送信し、読出要求をターゲット20に送信する。また、ターゲット20により負荷変調された電磁波を受信することで、書込応答をターゲット20から受信し、読出データとともに読出応答をターゲット20から受信する。データ処理部15は、書込データが生成されたときに、書込データとともに書込要求をターゲット20に送信し、書込データが生成されるまで読出要求をターゲット20に反復的に送信する。
【0027】
ターゲット20として動作する第2通信装置は、制御部21、記憶部23、データ処理部25を含んでいる。制御部21は、データ生成部、データ取得部として機能し、データ処理部25は、通信部として機能する。図3では、ターゲット20に含まれる制御部21、記憶部23、データ処理部25が一体に構成されているが、部分的に別体に構成されてもよい。
【0028】
制御部21は、書込要求を受信すると、書込要求とともに受信される書込データを取得して記憶部23に格納し、書込応答をイニシエータ10に送信するようにデータ処理部25を制御する。制御部21は、イニシエータ10に送信すべき読出データを任意のタイミングで生成する。制御部21は、読出要求を受信すると、読出データの生成を判定し、読出応答をイニシエータ10に送信するようにデータ処理部25を制御する。ここで、制御部21は、読出データを生成したときに、読出データとともに読出応答を送信し、読出データを生成していないときに読出応答を送信するようにデータ処理部25を制御する。
【0029】
データ処理部25は、アンテナコイル等を用いて、変調された電磁波を受信することで、書込データとともに書込要求をイニシエータ10から受信し、読出要求をイニシエータ10から受信する。また、イニシエータ10からの電磁波を負荷変調して送信することで、書込応答をイニシエータ10に送信し、読出応答をイニシエータ10に送信する。データ処理部25は、読出データが生成されたときに、読出応答とともに読出データをイニシエータ10に送信し、読出データが生成されていないときに、読出応答をイニシエータ10に送信する。
【0030】
[3.通信システムの動作]
つぎに、図4から図6を参照して、イニシエータ10とターゲット20の間で行われるデータ通信の手順を説明する。図4は、イニシエータ10の動作を示すフロー図であり、図5は、ターゲット20の動作を示すフロー図である。なお、以下では、イニシエータ10とターゲット20の間では、ポーリング要求およびポーリング応答を通じて、近距離無線通信の接続が確立されているとする。
【0031】
イニシエータ10側の制御部11は、任意のタイミングで書込データを生成する。書込データは、ターゲット20に書込むために、イニシエータ10から送信すべきデータである。図4に示すように、制御部11は、書込データの生成を判定する(ステップS11)。制御部11は、送信すべき書込データを生成した場合(ステップS11で「Yes」)にステップS12〜S16の書込処理を行い、書込データを生成していない場合(ステップS11で「No」)にステップS17〜S22の読出処理を行う。
【0032】
書込処理では、制御部11は、通信要求として書込要求を生成する(ステップS12)。書込要求は、ターゲット20にデータの書込みを要求するために生成される。制御部11は、書込要求および書込データをデータ処理部15に供給する。書込データは、制御部11から直接供給されてもよく、記憶部13から読出して供給されてもよい。
【0033】
データ処理部15は、書込要求と書込データをターゲット20に送信し(ステップS13)、書込要求に応じて書込応答をターゲット20から受信する(ステップS14)。書込データは、書込要求に含まれて送信されてもよく、書込要求とは別途に送信されてもよい。書込応答は、データの書込結果をイニシエータ10に通知するために生成される。データ処理部15は、受信した書込応答を制御部11に供給する。
【0034】
制御部11は、データが適切に書込まれたかを書込応答に基づき判定する(ステップS15)。制御部11は、適切な書込が確認された場合(ステップS15で「Yes」)に、書込済みのデータを記憶部13から削除し(ステップS16)、適切な書込が確認されなかった場合(ステップS15で「No」)にエラー応答を行う(ステップS23)。なお、エラー応答では、ステップS12の処理に復帰して書込処理が再開されてもよく、ステップS11の処理に復帰して書込データの生成が判定されてもよい。
【0035】
一方、読出処理では、制御部11は、通信要求として読出要求を生成する(ステップS17)。読出要求は、ターゲット20にデータの読出しを要求するために生成される。制御部11は、読出要求をデータ処理部15に供給する。
【0036】
データ処理部15は、読出要求をターゲット20に送信し(ステップS18)、読出要求に応じて読出応答をターゲット20から受信する(ステップS19)。読出応答は、データの読出結果をイニシエータ10に通知するために生成される。データ処理部15は、受信した読出応答を制御部11に供給する。
【0037】
ここで、データ処理部15は、ターゲット20が読出データを生成した場合、つまり、読出要求を受信したターゲット20がイニシエータ10に送信すべき読出データを生成している場合、読出応答とともに読出データをターゲット20から受信する。一方、データ処理部15は、ターゲット20が読出データを生成していない場合、読出データをターゲット20から受信しない。読出データは、読出応答に含まれて受信されてもよく、読出応答とは別途に受信されてもよい。
【0038】
制御部11は、データが適切に読出されたかを読出応答に基づき判定する(ステップS20)。制御部11は、適切な読出が確認された場合(ステップS20で「Yes」)に、読出データを受信しているかを判定し(ステップS21)、適切な読出が確認されなかった場合(ステップS20で「No」)にエラー応答を行う(ステップS23)。なお、エラー応答では、ステップS17の処理に復帰して読出処理が再開されてもよく、ステップS11の処理に復帰して書込データの生成が判定されてもよい。そして、制御部11は、読出データを受信している場合(ステップS21で「Yes」)に、読出データをデータ処理部15から取得して記憶部13に格納する(ステップS22)。
【0039】
なお、データ処理部15は、ターゲット20が読出データを生成していない場合でも、読出応答とともにダミーデータをターゲット20から受信してもよい。ダミーデータは、イニシエータ10に送信すべきデータではなく、イニシエータ10にとって無為なデータである。この場合も、ダミーデータは、読出応答に含まれて受信されてもよく、読出応答とは別途に受信されてもよい。
【0040】
制御部11は、ステップS16の処理後、またはステップS22の処理後(またはステップS21で「No」と判定された場合)に、ステップS11から処理を再開する。制御部11は、ターゲット20との間で近距離無線通信の接続が確立されている間に亘って、上記処理を反復的に行う。
【0041】
ターゲット20側の制御部21は、データ処理部25を通じてリーダライタから通信要求(コマンド)を受信する。図5に示すように、制御部21は、適切な通信要求を受信したかを判定する(ステップS31)。制御部21は、適切な通信要求を受信した場合(ステップS31で「Yes」)に以下の処理を行い、適切な通信要求を受信しなかった場合(ステップS31で「No」)にエラー応答を行う(ステップS43)。制御部21は、書込要求を受信した場合(ステップS32で「Yes」)にステップS33〜S36の書込処理を行い、読出要求を受信した場合(ステップS37で「Yes」)にステップS38〜S42の読出処理を行う。
【0042】
書込処理では、制御部21は、直前の読出応答とともにイニシエータ10に送信した読出データを記憶部13から削除する(ステップS33)。これは、書込要求の受信は、直前の読出処理がイニシエータ10とターゲット20の間で適切に完了したことを意味するためである。制御部21は、書込要求とともに受信した書込データをデータ処理部25から取得して記憶部23に格納する(ステップS34)。制御部21は、データの書込結果をデータ処理部25に供給する。データ処理部25は、書込結果を含む書込応答を生成し(ステップS35)、イニシエータ10に送信する(ステップS36)。
【0043】
読出処理では、制御部21は、送信すべき読出データを生成しているかを判定する(ステップS38)。なお、制御部21は、任意のタイミングで読出データを生成する。読出データは、イニシエータ10に読出されるために、ターゲット20から送信すべきデータである。
【0044】
制御部21は、読出データを生成した場合(ステップS38で「Yes」)、つまり、イニシエータ10に送信すべき読出データを生成している場合、読出データとともにデータの読出結果をデータ処理部25に供給する。データ処理部25は、読出結果を含む読出応答を生成し(ステップS39)、読出データとともにイニシエータ10に送信する(ステップS40)。読出データは、読出応答に含まれて送信されてもよく、読出応答とは別途に送信されてもよい。一方、制御部21は、読出データを生成していない場合(ステップS38で「No」)、データの読出結果をデータ処理部25に供給する。データ処理部25は、読出結果を含む読出応答を生成し(ステップS41)、イニシエータ10に送信する(ステップS42)。
【0045】
なお、データ処理部25は、読出データを生成していない場合でも、読出応答とともにダミーデータをイニシエータ10に送信してもよい。この場合も、ダミーデータは、読出応答に含まれて送信されてもよく、読出応答とは別途に送信されてもよい。
【0046】
制御部21は、ステップS36、S40、S42の処理後、ステップS31から処理を再開する。制御部21は、イニシエータ10との間で近距離無線通信の接続が確立されている間に亘って、上記処理を反復的に行う。
【0047】
図6は、本発明の実施形態に係る通信方法を示すシーケンス図である。なお、以下では、イニシエータ10とターゲット20の間では、ポーリング要求およびポーリング応答を通じて、近距離無線通信の接続が確立されているとする。
【0048】
図6に示す例において、イニシエータ10側の制御部11は、タイミングI1、I2、I3、I4のうちタイミングI3の直前でのみ書込データ(データ2)を生成している(ステップS70)。また、ターゲット20側の制御部21は、タイミングT1、T2、T3、T4のうちタイミングT2の直前でのみ読出データ(データ1)を生成している(ステップS60)。
【0049】
まず、イニシエータ10側の制御部11は、タイミングI1の前に書込データを生成していないので読出要求を生成してデータ処理部15に供給し(ステップS51)、データ処理部15は、読出要求をターゲット20に送信する(ステップS52)。
【0050】
ターゲット20側のデータ処理部25は、読出要求を受信し、読出要求を制御部21に通知する(ステップS53)。制御部21は、タイミングT1の前に読出データを生成していないので、空データまたはダミーデータをデータ処理部25に供給する(ステップS54)。データ処理部25は、読出応答を生成し、空データまたはダミーデータとともにイニシエータ10に送信する(ステップS55)。
【0051】
イニシエータ10側のデータ処理部15は、読出応答を受信し、読出応答を制御部11に通知する(ステップS56)。この場合、データ処理部15は、制御部11に読出データを供給しなくてもよく、ダミーデータを供給してもよい。
【0052】
つぎに、イニシエータ10側の制御部11は、タイミングI2の前に書込データを生成していないので読出要求を生成してデータ処理部15に供給し(ステップS61)、データ処理部15は、読出要求をターゲット20に送信する(ステップS62)。
【0053】
ターゲット20側のデータ処理部25は、読出要求を受信し、読出要求を制御部21に通知する(ステップS63)。制御部21は、タイミングT2の前に読出データ(データ1)を生成している(ステップS60)ので、読出データをデータ処理部25に供給する(ステップS64)。データ処理部25は、読出応答を生成し、読出データとともにイニシエータ10に送信する(ステップS65)。
【0054】
イニシエータ10側のデータ処理部15は、読出応答を受信し、読出応答を制御部11に通知する(ステップS66)。この場合、データ処理部15は、制御部11に読出データを供給し、制御部11は、読出データを取得して記憶部13に格納する。これにより、読出データは、イニシエータ10によりターゲット20から読出される。
【0055】
つぎに、イニシエータ10側の制御部11は、タイミングI3の前に書込データ(データ2)を生成している(ステップS70)ので書込要求を生成し、書込データとともにデータ処理部15に供給し(ステップS71)、データ処理部15は、書込要求を書込データとともにターゲット20に送信する(ステップS72)。
【0056】
ターゲット20側のデータ処理部25は、書込要求を受信し、書込要求を制御部21に通知するとともに、書込データを制御部21に供給し(ステップS73)、制御部21は、書込データを取得して記憶部23に格納し、書込結果(OK)をデータ処理部25に通知する(ステップS74)。これにより、書込データは、イニシエータ10によりターゲット20に書込まれる。データ処理部25は、書込応答を生成し、イニシエータ10に送信する(ステップS75)。
【0057】
イニシエータ10側のデータ処理部15は、書込応答を受信し、書込応答を制御部11に通知する(ステップS76)。
【0058】
つぎに、イニシエータ10側の制御部11は、タイミングI4の前に書込データを生成していないので読出要求を生成してデータ処理部15に供給し(ステップS81)、データ処理部15は、読出要求をターゲット20に送信する(ステップS82)。
【0059】
ターゲット20側のデータ処理部25は、読出要求を受信し、読出要求を制御部21に通知する(ステップS83)。制御部21は、タイミングT4の前に読出データを生成していないので、空データまたはダミーデータをデータ処理部25に供給する(ステップS84)。データ処理部25は、読出応答を生成し、空データまたはダミーデータとともにイニシエータ10に送信する(ステップS85)。
【0060】
イニシエータ10側のデータ処理部15は、読出応答を受信し、読出応答を制御部11に通知する(ステップS86)。この場合、データ処理部15は、制御部11に読出データを供給しなくてもよく、ダミーデータを供給してもよい。
【0061】
なお、図6では、読出処理に続いて書込処理を行う場合について説明した。しかし、書込処理に続いて読出処理を行う場合、または同一の処理を続けて行う場合についても同様に説明される。いずれの場合でも、イニシエータ10とターゲット20の間では、イニシエータ10が書込データを生成するまで読出処理が反復的に行われる。
【0062】
[4.通信システムの例]
以下では、前述した通信方法をNFCフォーラム(登録商標)のType3 Tag Operation仕様書に準拠した近距離無線通信に適用する場合について説明する。
【0063】
図7は、通信要求/通信応答のデータ構造例を示す図である。書込要求は、仕様書に規定される「Update Command」に相当し、そのデータ構造Wreqは、要求識別子(ID)、通信ID(IDm)、サービス数(NOS)、サービスコードリスト(SLST)、ブロック数(NOB)、ブロックリスト(BLST)、書込データ(DATA)の各フィールドからなる。このデータ構造Wreqでは、書込データを含んだ書込要求がイニシエータ10からターゲット20に送信されることになる。書込応答は、仕様書に規定される「Update Response」に相当し、そのデータ構造Wresは、応答識別子(ID)、通信ID(IDm)、結果コード(SF)の各フィールドからなる。
【0064】
ターゲット20側のデータ処理部25は、書込要求を受信すると、要求識別子、ブロック数、ブロックリスト、書込データを抽出して制御部21に供給する。ここで、ブロック数、ブロックリストは、ターゲット20に書込まれる書込データのブロック数・番号を指定している。制御部21は、書込処理が完了すると、書込結果を示す結果コードをデータ処理部25に供給する。ここで、結果コードは、書込処理が適切に完了したかを示している。データ処理部25は、結果コードとともに応答識別子、通信IDのデータを含む書込応答を生成してイニシエータ10に送信する。
【0065】
読出要求は、仕様書に規定される「Check Command」に相当し、そのデータ構造Rreqは、要求識別子(ID)、通信ID(IDm)、サービス数(NOS)、サービスコードリスト(SLST)、ブロック数(NOB)、ブロックリスト(BLST)の各フィールドからなる。読出応答は、仕様書に規定される「Check Response」に相当し、そのデータ構造Rresは、応答識別子(ID)、通信ID(IDm)、結果コード(SF)、ブロック数(NOB)、読出データ(DATA)の各フィールドからなる。このデータ構造Rresでは、読出データを含んだ読出応答がターゲット20からイニシエータ10に送信されることになる。
【0066】
ターゲット20側のデータ処理部25は、読出要求を受信すると、要求識別子、ブロック数、ブロックリストを抽出して制御部21に供給する。ここで、ブロック数、ブロックリストは、ターゲット20から読出される読出データのブロック数・番号を指定している。制御部21は、読出処理が完了すると、結果コード、ブロック数、読出データをデータ処理部25に供給する。ここで、結果コードは、読出処理が適切に完了したかを示し、ブロック数は、読出データのブロック数を指定している。データ処理部25は、結果コードとともに応答識別子、通信ID、ブロック数、読出データを含む読出応答を生成してイニシエータ10に送信する。
【0067】
図8は、属性情報ブロックのデータ構造例を示す図である。図8に示すように、属性情報ブロックのデータ構造AIは、マッピングバージョン(Ver)、同時読出可能ブロック数(Nbr)、同時書込可能ブロック数(Nbw)、格納領域ブロック数(Nmaxb)、書込途中フラグ(WriteF)、アクセス属性フラグ(RWFlag)、実データ長(Ln)、誤り検出符号(Checksum)の各フィールドからなる。
【0068】
ターゲット20は、読出要求を受信すると、属性情報ブロックの実データ長フィールドおよび誤り検出符号フィールドを更新して、読出応答とともにイニシエータ10に送信する。ここで、実データ長フィールドは、ターゲット20が読出データを生成したときに、読出データのデータ長の値で更新され、読出データを生成していないときに、0値で更新される。ターゲット20は、読出応答とともに属性情報ブロックを受信すると、実データ長フィールドの値として指定されている数のデータを、読出応答の読出データフィールドから読出す。
【0069】
[5.まとめ]
以上説明したように、本発明の実施形態に係る通信システムおよび通信方法によれば、ターゲット20は、通信要求の通知機能を有していなくても、反復的に受信する読出要求に対して読出データの生成タイミングで応答することで、任意のタイミングで読出データをイニシエータ10に送信することができる。これにより、イニシエータ10とターゲット20の間では、データの生成タイミングに合わせて、双方向通信を効率的に行うことができる。
【0070】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【0071】
例えば、上記実施形態の説明では、書込データの生成と読出データの生成とがイニシエータ10側/ターゲット20側の制御部11、21によりそれぞれに判定される場合について説明した。しかし、書込データの生成と読出データの生成とは、イニシエータ10側/ターゲット20側のデータ処理部15、25によりそれぞれに判定されてもよい。この場合、データ処理部15、25は、制御部11、21からデータの生成を通知されることで、データの生成を判定する。
【符号の説明】
【0072】
10 イニシエータ
20 ターゲット
11、21 制御部
13、23 記憶部
15、25 データ処理部

【特許請求の範囲】
【請求項1】
他の通信装置に送信すべき書込データを任意のタイミングで生成するデータ生成部と、
前記書込データが生成されるまで読出要求を前記他の通信装置に反復的に送信するとともに、前記読出要求に応じて読出応答を前記他の通信装置から反復的に受信する通信部と、
前記他の通信装置が読出データを任意のタイミングで生成したときに、前記他の通信装置から前記読出応答とともに受信される前記読出データを取得するデータ取得部と
を備える通信装置。
【請求項2】
前記他の通信装置からの通信要求の通知機能を必要としない、請求項1に記載の通信装置。
【請求項3】
他の通信装置に送信すべき読出データを任意のタイミングで生成するデータ生成部と、
前記他の通信装置が書込データを生成するまで読出要求を前記他の通信装置から反復的に受信するとともに、前記読出要求に応じて読出応答を前記他の通信装置に反復的に送信し、かつ、前記読出データが生成されたときに、前記読出応答とともに前記読出データを前記他の通信装置に送信する通信部と
を備える通信装置。
【請求項4】
前記他の通信装置から書込要求を受信すると、直前の前記読出応答とともに前記他の通信装置に送信した前記読出データを削除する、請求項3に記載の通信装置。
【請求項5】
通信要求の通知機能を有しない、請求項3または4に記載の通信装置。
【請求項6】
第2通信装置に送信すべき書込データを任意のタイミングで生成するデータ生成部と、
前記書込データが生成されるまで読出要求を前記第2通信装置に反復的に送信するとともに、前記読出要求に応じて読出応答を前記第2通信装置から反復的に受信する通信部と、
前記第2通信装置が読出データを生成したときに、前記第2通信装置から前記読出応答とともに受信される前記読出データを取得するデータ取得部と
を備える第1通信装置と、
前記第1通信装置に送信すべき前記読出データを任意のタイミングで生成するデータ生成部と、
前記第1通信装置が前記書込データを生成するまで前記読出要求を前記第1通信装置から反復的に受信するとともに、前記読出要求に応じて前記読出応答を前記第1通信装置に反復的に送信し、かつ、前記読出データが生成されたときに、前記読出応答とともに前記読出データを前記第1通信装置に送信する通信部と
を備える第2通信装置と
を有する通信システム。
【請求項7】
第1通信装置は、第2通信装置に送信すべき書込データを任意のタイミングで生成し、
前記第2通信装置は、前記第1通信装置に送信すべき読出データを任意のタイミングで生成し、
前記第1通信装置は、前記書込データを生成するまで読出要求を前記第2通信装置に反復的に送信し、
前記第2通信装置は、前記読出要求に応じて読出応答を前記第1通信装置に反復的に送信し、
前記第1通信装置は、前記読出応答を受信し、前記第2通信装置が前記読出データを生成したときに、前記第2通信装置から前記読出応答とともに受信される前記読出データを取得すること
を含む通信方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2012−175265(P2012−175265A)
【公開日】平成24年9月10日(2012.9.10)
【国際特許分類】
【出願番号】特願2011−33543(P2011−33543)
【出願日】平成23年2月18日(2011.2.18)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】