JP3943698B2 - データ通信システム及びデータ通信装置 - Google Patents

データ通信システム及びデータ通信装置 Download PDF

Info

Publication number
JP3943698B2
JP3943698B2 JP06621898A JP6621898A JP3943698B2 JP 3943698 B2 JP3943698 B2 JP 3943698B2 JP 06621898 A JP06621898 A JP 06621898A JP 6621898 A JP6621898 A JP 6621898A JP 3943698 B2 JP3943698 B2 JP 3943698B2
Authority
JP
Japan
Prior art keywords
data
information
node
controller
source
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
JP06621898A
Other languages
English (en)
Other versions
JPH11252138A (ja
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.)
Canon Inc
Original Assignee
Canon Inc
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
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP06621898A priority Critical patent/JP3943698B2/ja
Publication of JPH11252138A publication Critical patent/JPH11252138A/ja
Application granted granted Critical
Publication of JP3943698B2 publication Critical patent/JP3943698B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)
  • Communication Control (AREA)
  • Information Transfer Systems (AREA)
  • Computer And Data Communications (AREA)
  • Facsimiles In General (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、データ通信システム及びデータ通信装置に関する。
【0002】
【従来の技術】
パソコン周辺機器の中で、最も利用頻度が高いのはハードディスクやプリンタであり、これらの周辺装置は小型コンピュータ用汎用型インターフェイスで代表的なデジタルインターフェイス( 以下、デジタルI/F)であるSCSI等をもってパソコン間との接続がなされ、データ通信が行われている。
【0003】
また、デジタルカメラやデジタルビデオカメラといった記録再生装置もパソコン( 以下、PC) への入力手段として、周辺装置の1 つであり、近年、デジタルカメラやビデオカメラで撮影した静止画や動画といった映像をPCへ取り込み、ハードディスクに記憶したり、またはPCで編集した後、プリンタでカラープリントするといった分野の技術が進んでおり、ユーザーも増えている。
【0004】
取り込んだ画像データをPCからプリンタやハードディスクへ出力する際などに、上記のSCSI等を経由してデータ通信がされるものであり、そのようなとき画像データのようにデータ量の多い情報を送るためにも、こういったデジタルI/F には転送データレートの高い、かつ汎用性のあるものが必要とされる。
【0005】
図8に、従来の例としてデジタルカメラ、PC及びプリンタを接続したときのブロック図を示す。
図8において、101 はデジタルカメラ、102 はパソコン(PC)、103 はプリンタである。さらに、104 はデジタルカメラ101 の記録部であるメモリ、105 は画像データの復号化回路、106 は画像処理部、107 はD/A コンバータ、108 は表示部であるEVF 、109 はデジタルカメラ101 のデジタルI/O 部、110 はPC102 のデジタルI/O 部である。
【0006】
111 はキーボードやマウスなどの操作部、112 は画像データの復号化回路、113 はディスプレイ、114 はハードディスク装置、115 はRAM 等のメモリ、116 は演算処理部である。MPU117はPCI バス、118 はpc102 のSCSIインタフェース、119 はPCとSCSIケーブルで繋がったプリンタ103 のSCSIインターフェイス、120 はメモリ、121 はプリンタヘッド、122 はプリンタ102 を制御するプリンタコントローラ、123 はドライバである。
【0007】
デジタルカメラ101 で撮像した画像をPC102 に取り込み、またPC102 からプリンタ103 へ出力するときの手順の説明を行う。デジタルカメラ101 のメモリ104 に記憶されている画像データが読みだされると、読み出された画像データのうち一方は復号化回路105 で復号化され、画像処理回路106 で表示するための画像処理がなされ、D/A コンバータ107 を経て、EVF108で表示される。
【0008】
また一方では、外部出力するためにデジタルI/O 部109 から、ケーブルを伝わってPC 102のデジタルI/O 部110 へ至る。
PC 102内では、PCI バス117 を相互伝送のバスとして、デジタルI/O 部110 から入力した画像データは、記憶する場合はハードディスク114 で記憶され、表示する場合は復号化回路112 で復号化された後、メモリ115 で表示画像としてメモリされて、ディスプレイ113 でアナログ信号に変換されてから表示される。PC 102での編集時等の操作入力は操作部111 から行い、PC102 全体の処理はMPU 116 で行う。
【0009】
また、画像をプリント出力する際は、PC 102内のSCSIインターフェイスボード118 から画像データをSCSIケーブルにのせて伝送し、プリンタ103 側のSCSIインターフェイス119 で受信し、メモリ120 でプリント画像として形成され、プリンタコントローラ122 の制御でプリンタヘッド121 とドライバ123 が動作して、メモリ120 から読み出したプリント画像データをプリントする。
【0010】
以上が、従来の画像データをPC取り込み、またはプリントするまでの手順である。このように、従来はホストであるPCにそれぞれの機器が接続され、PCを介してから、記録再生装置で撮像した画像データをプリントしている。
【0011】
また、ディジタルVTR 、TV、チューナなどのAV機器や、パーソナルコンピュータ(以下、PCと称する)等をIEEE1394-1995 規格(以下、IEEE1394規格と称する)に準拠したデジタルインターフェイスを用いて相互に接続し、これらの間においてディジタルビデオ信号、ディジタルオーディオ信号などを送受信する通信システムが提案されている。
【0012】
このシステムにおいては、リアルタイムにデータ転送することが重要となるため、いわゆる同期通信( 以下、Isochronous 通信と称する) によって、データ通信を行なっている。この場合には、データ転送のリアルタイム性は保証されるが、通信が確実に行なわれるかは保証されない。
【0013】
【発明が解決しようとする課題】
しかしながら、上記従来例で挙げたデジタルインターフェイスの問題点として、SCSIには転送データレートの低いものや、パラレル通信のためケーブルが太いもの、接続される周辺機器の種類や数、接続方式などにも制限があり、多くの面での不便利性も指摘されている。
【0014】
また、IEEE1394規格のIsochronous 通信では、同期通信を行なうため、通信が確実に行なわれるかは保証されない。従って、確実にデータ転送を行ないたい場合には、Isochronous 通信を使用することは好ましくない。
【0015】
また、IEEE1394規格のIsochronous 通信では、通信帯域に空きがある場合にも、通信の総数が64に制限される。このため、通信帯域をあまり要求しないような通信を多数行ないたい場合には、Isochronous 通信を使用することはできないといった問題点があった。
【0016】
また、IEEE1394規格の通信方式では、データ転送の間に、バスリセットやエラーによる、データ転送の中断が生じることが考えられる。この場合、IEEE1394規格の通信方式では、どのようなデータ内容が失われたのかを知ることができない。また、IEEE1394規格の通信方式では、該データ転送中断からの復帰を行なうためには、非常に繁雑な通信手順を踏むことを要求されるという問題点があった。
【0017】
また、複数のコントロールノードがネットワーク上に存在する場合に、個々のコントロールノードが設定した論理的コネクションを識別する手段がなかった。
【0018】
本発明は、上記問題点を解決するためになされたものであり、従来の通信方式の不利便性を解決し、簡便に高速にデータ通信行うことができるようにすることを第1の目的とする。また、本発明は、複数のコントロールノードがネットワーク上に存在する場合であっても、個々のコントロールノードが設定した論理的コネクションを識別できるようにすることを第の目的とする。
【0019】
【課題を解決するための手段】
本発明に係るデータ通信システムは、例えば、シリアルバスを介してデータをデスティネーションノードに送信するソースノードを有し、前記ソースノードは、前記データを、前記ソースノードと前記デスティネーションノードとの間の論理的な接続を示す第1のID情報と、前記第1のID情報を設定した機器に固有のID情報である第2のID情報とともに前記デスティネーションノードに送信する送信手段を有し、前記第2のID情報は、バスリセットが発生した場合であっても変化しないID情報であることを特徴とする。
【0020】
発明に係るデータ通信装置は例えば、シリアルバスを介してデータをデスティネーションノードに送信するデータ通信装置であって、前記データを、前記データ通信装置と前記デスティネーションノードとの間の論理的な接続を示す第1のID情報と、前記第1のID情報を設定した機器に固有のID情報である第2のID情報とともに前記デスティネーションノードに送信する送信手段を有し、前記第2のID情報は、バスリセットが発生した場合であっても変化しないID情報であることを特徴とする。
【0074】
【発明の実施の形態】
以下、図面を参照しながら本発明のデータ通信システム、データ通信方法及び記憶媒体を説明する。
図1を用いて、本発明の実施の形態について説明する。図1の通信システムを構成する各機器は、IEEE1394規格に準拠した通信インターフェイス(以下、1394インターフェイス)を具備している。以下、本実施の形態においてIEEE1394規格に準拠した通信システムを1394シリアルバスと称する。
図1において、10はcomputerであり、12は演算処理装置 (MPU)、14は第一の1394インターフェイス、16はキーボードなど第一の操作部、18は第一のデコーダ、20はCRT ディスプレイなどの表示装置、22はハードディスク、24は第一のメモリであり本発明に係るcomputer 10 の内部メモリ、26はPCI バスなどのコンピュータ内部バスである。
【0075】
また、28はVCR であり、30は撮像光学系、32はアナログ- デジタル(A/D) 変換器、34はビデオ処理部、36は圧縮伸長回路、38は第一のメモリ、40は第二のメモリ、42は第一のデータセレクタ、44は第二の1394インターフェイス、46は第一のメモリ制御回路、48は第二のメモリ制御回路、50はシステムコントローラ、52は第二の操作部、54はファインダ、56はD/A 変換器、58は記録部である。
【0076】
さらに、60はプリンタであり、62は第三の1394インターフェイス、64は第二のデータセレクタ、66は第三の操作部、68はプリンタコントローラ、70は第二のデコーダ、72は第三のメモリ、74は画像処理部、76はドライバ、78はプリンタヘッドである。
【0077】
computer10と、VCR28 、及び、プリンタ 60 とは、第一から第三の1394インターフェイス14, 44, 62によって1394シリアルバスのノードを構成するとともに、該第一から第三の1394インターフェイス14, 44, 62を介して相互に接続されており、データの授受や、コマンドによるコントロール等が可能になっている。
【0078】
本実施の形態では、例えば、computer10は、1394シリアルバス上における、画像信号送受信のコントローラとして動作する。本発明に係るcomputer10においては、例えば、PCI バスなどのコンピュータ内部バス26によって、MPU12 と、1394インターフェイス14、キーボード16、デコーダ18、CRT ディスプレイ20、ハードディスク22、内部メモリ24などの、内部の各デバイスとが相互に接続されている。
【0079】
MPU12 は、ハードディスク 22 に記録されているソフトウェアを実行するとともに、様々なデータを内部メモリ24に移動させる。また、MPU12 は、PCI バス26によって接続されている各デバイスの、調停動作なども合わせて行なう。
【0080】
1394インターフェイス14は、1394シリアルバス上に転送される画像信号を受信するとともに、ハードディスク22に記録されている画像信号や、内部メモリ24に記憶される画像信号を送信する。
【0081】
また、1394インターフェイス14は、1394シリアルバス上に接続された他の機器に対するコマンドデータを送信する。また、1394インターフェイス14は、1394シリアルバス上に転送される信号を他の1394ノードに転送する。
【0082】
操作者は、キーボード16などの操作部を通じて、MPU12 に、ハードディスク22に記録されているソフトウェアを実行させる。該ソフトウェア等の情報は、CRT ディスプレイなどの表示装置20によって、操作者に提示される。
【0083】
デコーダ18は、上記のソフトウェアを通じて、1394シリアルバス上から受信した画像信号をデコードする。デコードされた画像信号も、また、CRT ディスプレイなどの表示装置20によって、操作者に提示される。
【0084】
本実施の形態では、例えば、VCR28 は、画像信号の入力装置として動作する。撮像光学系30から入力された映像の輝度信号(Y )と色差信号(C )は各々A/D 変換器32にてディジタルデータに変換される。上記ディジタルデータは、ビデオ処理部 34 にて多重化される。その後、圧縮伸長回路36にて該画像情報のデータ量を圧縮する。
【0085】
一般に、YC独立に該圧縮処理回路を備えているが、ここでは説明の簡略化の為にYC時間分割での圧縮処理の例を示す。次に前記画像データを伝送路誤りに強くする目的でシャフリング処理を施す。この処理の目的は連続的な符号誤りであるところのバーストエラーを修整や補間の行い易い離散的な誤りであるところのランダムエラーに変換することである。
【0086】
加えて、画像の画面内の粗密による情報量の発生の偏りを均一化する目的を重視する場合には前記圧縮処理の前に本処理工程を持ってくると、ランレングス等の可変長符号を用いた場合の都合が良い。
【0087】
これを受けて、データ・シャフリングの復元の為のデータ識別(ID)情報を付加する。このID付加動作にて付加されたIDは、同時に記録しておいた前記システムのモード情報等と共に再生時の逆圧縮処理(情報量伸張処理)の際に補助情報として利用する。これらのデータの再生時の誤りを低減する為にエラー訂正(ECC )情報を付加する。
【0088】
この様な冗長信号の付加までを、映像と音声等の情報毎に対応する独立の記録エリア毎に処理する。上記のように、ID情報やECC 情報が付加された画像信号は、記録部58により、磁気テープ等の記録媒体に記録されるとともに、後述する第一のメモリ38に一時的に記憶される。
【0089】
一方、ビデオ処理部34にて多重化された画像データは、D/A 変換器56によって、ディジタル−アナログ変換され、電子ビューファインダ54で操作者により観察される。また、操作者は第二の操作部52を介して、様々な操作情報をシステムコントローラ50に送信し、システムコントローラ50は、該操作情報によって、VCR 全体を制御するようになっている。
【0090】
また、ビデオ処理部34にて多重化された画像データは、第二のメモリ40に出力され、一時的に記憶される。前述した第一のメモリ38と、第二のメモリ40とは、それぞれ、第一のメモリ制御回路46と、第二のメモリ制御回路48とを介し、システムコントローラ50により動作制御されている。
【0091】
第一のデータセレクタ42は、前述した第一のメモリ38と、第二のメモリ40からのデータを選択して、第二の1394インターフェイス44に受け渡す、あるいは、第二の1394インターフェイス44からのデータを選択して、第一のメモリ38と、第二のメモリ40とのどちらかに受け渡す。
【0092】
上記動作により、VCR28 における第二の1394インターフェイス44からは、圧縮された画像データと非圧縮の画像データとが、操作者により選択されて出力できるようになっている。
【0093】
第二の1394インターフェイス44は、1394シリアルバスを通じて、VCR28 を制御するためのコマンドデータを受信する。受信されたコマンドデータは、第一のデータセレクタ42を通じて、システムコントローラ50に入力される。
【0094】
ステムコントローラ50は、上記のコマンドデータに対するレスポンスデータを作成して、第一のデータセレクタ42、及び、第二の1394インターフェイス44を通じ、1394シリアルバスに該データを送出する。
【0095】
本実施の形態では、例えば、プリンタ60は、画像の印刷出力装置として動作する。第三の1394インターフェイス62は、1394シリアルバス上に転送される画像信号と、1394シリアルバスを通じて該プリンタ60を制御するためのコマンドデータとを受信する。
【0096】
また、第三の1394インターフェイス62は、該コマンドに対するレスポンスデータを送信する。
受信された画像データは、第二のデータセレクタ64を通じて、第二のデコーダ70に入力される。第二のデコーダ70は、該画像データをデコードして、画像処理部74に出力する。画像処理部74は、デコードされた画像データを第三のメモリ72に一時的に記憶する。
【0097】
一方、受信されたコマンドデータは、第二のデータセレクタ64を通じて、プリンタコントローラ68に入力される。プリンタコントローラ68は、該コマンドデータによりドライバ76による紙送り制御や、プリンタヘッド78の位置制御など、様々な印刷に関する制御を行なう。
【0098】
また、プリンタコントローラ68は、第三のメモリ72に一時的に記憶された画像データを、印刷データとして、プリンタヘッド78に送信し、印刷動作を行わせる。
【0099】
上述したように、本発明に係る、第一から第三の1394インターフェイス14, 44,62 は、それぞれ、1394シリアルバスのノードを構成する。第一1394インターフェイス14は、コントロールノード、または、コントローラとして動作し、第二1394インターフェイス44は、画像データのソースノードとして動作し、第三1394インターフェイス44は、デスティネーションノードとして動作する。
【0100】
以下に、図2を用いて、本発明に係る各ノードの動作を示す。図2において、 200はコントローラ、 202はソースノード、 204はデスティネーションノード、 206はソースノード内部のサブユニット、 208は画像データ等のobject、 210はデスティネーションノード内部の第一のメモリ空間、 212は第一のコネクション、 214はデスティネーションの第n のメモリ空間、 216は第n のコネクションである。
【0101】
コントローラ 200は、データ転送を行うソースノード 202とデスティネーションノード 204とのコネクションを確立するためのコネクションIDを管理するノードである。コントローラ 200は、ソースノード 202、及び、デスティネーションノード 204と独立したノードであってもよいし、ソースノード、または、デスティネーションノードとコントローラとが同じであってもかまわない。
【0102】
後者の場合、コントローラと同じノードである、ソースノード、または、デスティネーションノードと、コントローラとの間のトランザクションは、不要である。本実施の形態では、コントローラ 200がソースノード 202、及び、デスティネーションノード 204とは別のノードに存在する場合の例を示す。
【0103】
ソースノード 202は、内部のサブユニット 206から画像データ等のobject 208 を、例えば、第一のコネクション 212を通じて、デスティネーションノード内部の第一のメモリ空間 210に書き込む。また、上述のコネクションによるデータの授受は、例えば、Asynchronousパケットを用いて行なわれる。
【0104】
次に、図3(a) を用いて、上述した、コントローラ 200、ソースノード 202、デスティネーションノード 204の、各ノードの動作について説明する。
【0105】
コントローラは、ユーザーが選択したソースノードとデスティネーションノードに対して、接続を行うためのデータパケットを送信する。このパケットはAsynchronousパケットで、ペイロードにはこのコネクションを識別するためのコネクションIDが書かれている。
【0106】
このパケットに続いて、コントローラはソースノードに送信コマンドパケットを送信する。送信コマンドパケットを受け取ると、ソースノードとデスティネーションノードは割り当てられたコネクションIDを使用してブロードキャストトランザクションを行い、データ転送を開始する。データ転送が終了するとソースはsegment end を示すブロードキャストパケットを送出し、このパケットを受け取ったコントローラはコネクションIDを解放して、データ転送が終了する。
【0107】
コントローラからコネクションID通知のパケットと送信コマンドパケットを受け取ったソースノードは、デスティネーションノードに対する問い合わせのAsynchronousブロードキャストパケットを送信する。このパケットにはコントローラに指定されたコネクションIDが書き込まれている。
【0108】
デスティネーションノードはこのパケットを受け取ってレスポンスのブロードキャストパケットを送出する。このパケットにも同一のコネクションIDが書き込まれており、ソースノードはこのIDを照合してこのソースノード宛のパケットであるかをどうかを識別する。レスポンスパケットには、デスティネーションノードのバッファサイズとオフセットアドレス(仮想のメモリ空間のアドレス(本実施の形態においてはデスティネーションアドレスと統一している))が書き込まれており、これ以後のデータ転送はそのアドレスに対するライトトランザクションによって行われる。
【0109】
ソースノードはデスティネーションノードから受け取ったオフセットアドレスに対してAsynchronousブロードキャストパケットを使用して書き込みを行う。このパケットには前記コネクションIDとデータのシークエンス番号が書き込まれている。
【0110】
ブロードキャストパケットを送信した後、ソースノードはデスティネーションノードからのレスポンスを待機する。デスティネーションノードからはコネクションIDとシークエンス番号が書かれたレスポンスパケットがAsynchronousブロードキャストパケットで送信され、このパケットを受け取るとソースノードはシークエンス番号をインクリメントし、次のデータを同様に送信する。
【0111】
以上の手順、すなわち、ブロードキャストトランザクションを繰り返して、ソースノードはデータ転送を行う(図3のbroadcast transaction #1〜#n)。本実施の形態において、デスティネーションノード204 からのレスポンスを待機する最大の時間はあらかじめ決められており、その時間を過ぎてもレスポンスが帰ってこない場合は、同一シークエンス番号を用いて、同一データを再送する。
【0112】
また、デスティネーションノード204 から再送要求のレスポンスパケットが送信された場合は、指定されたシークエンス番号のデータをブロードキャストで再送する。全てのデータの転送が終了したら、ソースノードはsegment end を示すブロードキャストパケットを送信して、データ転送を終了する。
【0113】
コントローラからコネクションID通知のパケットを受け取ったデスティネーションノードは、ソースノードからの問い合わせのAsynchronousブロードキャストパケットを待機する。ブロードキャストパケットを受け取ったデスティネーションノードは、そのパケットに書かれているコネクションIDとコントローラから通知されたコネクションIDを照合して、このパケットがソースノードからのパケットであるかどうかを判別する。
【0114】
ソースノードからの問い合わせパケットを受信すると、デスティネーションノードはコネクションID、データ受信用のバッファサイズとオフセットアドレスを書き込んだレスポンスパケットをブロードキャストで送信する。ソースノードからのデータは、このアドレスに書き込まれる。
【0115】
ソースノードからデータが書き込まれると、デスティネーションノードはペイロード中のコネクションIDの照合を行う。このIDがコントローラから通知されたIDと一致する場合はデータを受け取って、コネクションIDと受信データ中のシークエンス番号を書き込んだレスポンスパケットをブロードキャストで送信する。受信データのシークエンス番号に不整合が検出された場合、再送要求を示すレスポンスを送出し、ソースノードに再度データを要求することができる。
【0116】
全てのデータ転送が終了すると、ソースノードからsegment end を示すブロードキャストパケットが送信され、このパケットを受信するとデータ転送プロセスを終了する。
【0117】
確実にデータを転送するためには、バスリセットの発生や何らかのエラーの発生により、データ転送中が中断した場合にも、速やかに該データ転送が再開されることが望ましい。本発明では、再送要求の手順を設けることで該問題点を解決している。
【0118】
次に、該再送要求の手順を図3(b) を用いて説明する。
【0119】
データ転送中にバスリセットが発生した場合、各ノードは規格で定められた手順で例えば、シークエンス番号がi であった時に、データ転送が中断した場合、まず、各ノードは規格で定められた手順でバスの再構築を行う。バスの再構築が完了した後、デスティネーションノードはコネクションIDとシークエンス番号i を書き込んだ再送要求パケット(resendrequest) を、ブロードキャストパケットで送信する。データ転送の再開が可能な場合には、ソースノードは、ack レスポンスを返す。その後、ソースノードは受信したパケットのコネクションIDを照合し、要求されたシークエンス番号の以降、すなわち、シークエンス番号(i+1) 出始まるデータ列のデータを順次ブロードキャストパケットで送信する。
【0120】
前述の手順により、ソースノード、デスティネーションノード、コントローラノードはそれぞれノードIDを考慮することなく、データ転送が中断しても、その後のデータ転送を容易に、かつ、確実に再開することができる。
また、前述のように、本実施例では、データ転送が中断した場合にも、コントローラの制御手順が簡略化できる効果がある。
【0121】
次に、図4を用いて、上述のAsynchronousパケットについて説明する。
【0122】
本発明に係るAsynchronousパケットは、例えば、4 byte,(32 bits 、以下クアッドレットと称する) を単位とするデータパケットである。
Asynchronousパケットにおいて、最初の16 bits はdestination#IDフィールドであり、該フィールドは受信先のノードIDを示す。
本実施例のように、ブロードキャストを行なう場合には、このフィールドの値はFFFF#[16] である。
【0123】
次の6 bitsのフィールドは、トランザクション・ラベル(tl)フィールドであり、各トランザクション固有のタグである。
次の2 bitsのフィールドは、リトライ(rt)コードであり、パケットがリトライを試みるかどうかを指定する。
次の4 bitsのフィールドは、トランザクションコード(tcode) である。tcode は、パケットのフォーマットや、実行しなければならないトランザクションのタイプを指定する。本実施例においては、例えば、この値が0001#[2]である、データブロックの書き込みリクエストのトランザクションを用いる。
次の4 bitsのフィールドは、プライオリティ(pri) フィールドであり、優先順位を指定する。本実施例においては、Asynchronousパケットを用いているので、このフィールドの値は0000#[2]である。
次の16 bits はsource#ID フィールドであり、送信側のノードIDを示す。
次の48 bits はdestination#offsetフィールドであり、パケットの受信先ノードアドレスの、下位48 bits がこのフィールドによって指定される。
次の16 bits はdata#length フィールドであり、後述するデータフィールドの長さを、バイト単位で示している。
次の16 bits はextended#tcodeフィールドであり、本実施例に用いられるデータブロックの書き込みリクエストトランザクションにおいては、この値は$0000#[16]である。
次の32 bits はheader#CRCフィールドであり、上述したdestination#IDフィールドからextended#tcodeフィールドまでを、パケットヘッダと称し、該ヘッダパケットのエラー検出に用いられる。
【0124】
次のフィールドは可変長のデータフィールドであり、該データフィールドを
パケットのペイロードと称する。本実施例においては、該データフィールドがクアッドレットの倍数でない場合、クアッドレットに満たないビットには0 が詰められる。
次の32 bits のフィールドはdata#CRCフィールドであり、上記のheader#CRCフィールドと同様に、該データフィールドのエラー検出に用いられる。
【0125】
図5は、上述したフィールドにおいて、本実施例にていられるAsynchronousパケットヘッダにおいて、固定のデータを書き加えた図である
【0126】
また、図6は、本実施例にて用いられるAsynchronousパケットのデータフィールドの構造を示す図である。
図6において、図4と同じ機能を持つデータについては説明しない。
最初の6クアッドレットはヘッダ・インフォメーションであり、上述したコネクションを識別するためのコネクションIDなどが書かれる。6クアッドレット目以降は、可変長のデータブロックである。本実施例において、該データブロックがクアッドレットの倍数でない場合、クアッドレットに満たないビットには0 が詰められる。
【0127】
図7は、上記ヘッダ・インフォメーションの構造を示した図である。
最初の2クワドレットは、コントロールノードのワールドワイドユニークIDであり、該データーにより、ソース、デスティネーションは、コネクションを設定したコントロールノードを識別する。このワールドワイドユニークIDは、1394―1995に準拠する。
ここでは、個々のコントロールノードを識別するために1394―1995に準拠したワールドワイドユニークIDを用いたが、バスリセットなどが発生しても、変化しない個々のノードを識別できる固有の情報であればなんでもよい。
【0128】
次の16 bits は、上述したコネクションID(connection #ID) フィールドであり、該データによってコネクションを識別する。
複数のコントローラーが同一のコネクションIDを設定した場合も、個々のノードは、上記コントロールノードのユニークなIDと上記コネクションIDにより、絶対的な論理的コネクションを識別する。
また、個々のコントローラーは、他のコントローラの設定したコネクションID番号の重複を許し、コントローラは、他のコントローラの設定したIDを使用してもよい。
【0129】
次の8 bitsは、プロトコルタイプ(protocol #type) フィールドであり、該ヘッダ・インフォメーションを用いたデータ授受の手順を示す。図では、Reservedとして示されている。本実施例の授受手順には、例えば、01#[16]の値が用いられる。
コントロールフラグフィールドの最上位ビットは、例えば、再送要求(resend #request)フラグであり、このビットの値が1 の時、データの再送要求が生じていることを示す。
【0130】
次の16 bits は、シークエンス番号(sequence #number) フィールドである。
上述したように、該シークエンス番号フィールドは、特定のコネクションIDにて送受信されるデータパケットに対し、連続的な値が使用される。
【0131】
デスティネーションノードは、該シークエンス番号フィールドによって、有意なデータの連続性を監視し、不一致が生じた場合には、ソースノードに対して再送要求を行なう。
【0132】
次の16 bits は、確認応答番号(reconfirmation #number) フィールドである。このフィールドは、上述の再送要求フラグの値が1 の時のみ、意味を持つフィールドである。上述の再送要求フラグの値が1 の時、このフィールドは、再送要求が生じている開始パケットのシークエンス番号を示す。
【0133】
次の16ビットは、デスティネーションノードの有するバッファサイズを示す。
次の48ビットは、デスティネーションノードの1212アドレス空間のオフセットアドレスを示す。
【0134】
図9は、2つのコントローラがネットワーク上にそれぞれ同一のコネクションIDを設定した構成を示す。
【0135】
図9のコントローラーノード1は、バスリセットなどが発生しても変化しないノードユニークな識別IDを有することを示す。ここでは、1394―1995のワールドワイドユニークID=1とする。おなじく、図9のコントローラーノード2は、前記コントローラノード1同様にバスリセットなどが発生しても変化しないノードユニークな識別IDを有することを示す。ここでは、1394―1995のワールドワイドユニークID=4とする。それぞれのコントローラは、ソースデスティネーション間に論理的なコネクションを設定しており、ここでは、それぞれの論理的コネクションIDが0となっている。
このように、同一のコネクションIDをそれぞれのコントローラが設定した場合も、コントロールノード間で、コネクションIDが重複しないようにするネゴシエーションが必要ない。
【0136】
コントローラは、コネクション設定にあたり、あらかじめソースデスティネーション間にそれぞれコネクションIDとコントローラのノードユニークな識別IDを告知しておく。ソース、デスティネーションそれぞれは、コネクションを設定したコントローラを上記手順によりここに識別する。
【0137】
図10は、図3(a) にて説明した、フローを補足する本発明の全体のコントローラーとソース、デスティネーション間の大まかなフローを示す。
【0138】
(1)コントローラーは、まず、デスティネーションにデスティネーションが許容できる最大のAsynchronous Write トランザクションのペイロードサイズを現す1394-1995 に準拠したmax _rec サイズを問い合わせると同時にコントローラが設定したユニークなコネクションIDを告知する。デスティネーションは、前記コントローラーからのコマンドに対して、max #rec サイズを示しかつコネクションIDが設定されたことをレスポンスとして返す。
【0139】
(2)次に、コントローラーは、ソースに対して前記コントローラが設定したユニークなコネクションIDと、コントローラがソース、デスティネーション間で論理的に接続するデスティネーションの総数Nと、ソースが送信するブロードキャストAsynchronous Write トランザクションのペイロードのサイズを告知する。ソースは、前記コントローラからのコマンドに対して、それぞれが設定されたことをレスポンスとして返す。
【0140】
(3)コントローラーは、ソースに対して送信を希望するソースの有するオブジェクトデーターの中から1つのオブジェクトを選択する。ソースは、コントローラーに対して該オブジェクトが選択されたことをレスポンスとして返す。該選択されたオブジェクトは、静止画でも動画でもよい。また、テキストデーターや、バイナリーデーターでもよい。
【0141】
(4)コントローラは、前記ソースからのレスポンスに対してソースがオブジェクトを送信できることを知ると、コントローラーは、ソースに対して選択したオブジェクトをデスティネーションに対して送信開始を指示するコマンドを送信する。
【0142】
(5)ソースは、コントローラからの前記送信開始コマンドを受信すると、選択したオブジェクトを送信開始する。
【0143】
(6)ソースからのオブジェクトの送信が終了するとコントローラーは、ソースに対して選択したオブジェクトを開放する。
【0144】
(7)この時点で、コントローラは、更に他のオブジェクトを送信したいのであれば、前記の手順(3)から(6)を繰り返す。
【0145】
(8)すべてのオブジェクトを送信し終えるとコントローラは、先に設定したユニークなコネクションIDをリリースしてもよい。
【0146】
図11は、1つのコントローラがネットワーク上に同一のコネクションIDを1 つのソースとN個のデスティネーション間に設定した構成を示す。
ここでは、ユニークなコネクションIDをFFFF(h) としているが、他の番号でもよい。コントローラは、図10に示した全体のフローの手順(1)をそれぞれのデスティネーションに対して行い、都合N回繰り返す。
【0147】
図12は、前記図11に示したようなネットワークの構成において、それぞれのデスティネーションが同一の受信バッファサイズを有し、オブジェクトデーターサイズが該受信バッファに等しい場合を示す。ここでは、簡単のためデスティネーションの数をN=3としている。ソースは、コントローラから同一のコネクションIDで接続されているデスティネーション数=3であることをすでに、コントローラから告知されている。
【0148】
(イ)コントローラからの送信開始コマンドがソースに対して送信されると、ソースは、図3(a) にて説明した手順に従い接続要求を送信する。
(ロ) 3個のデスティネーションは、それぞれ受信準備が完了した時点で、それぞれ自身の有する受信バッファサイズを付加したAck レスポンスを返す。
(ハ)ソースは、3 個のAck が帰ってきたことを確認したのち、Ack レスポンス内の受信バッファサイズから、オブジェクトを指定されたペイロードサイズに分割して前記該デスティネーションのバッファサイズになるまで送信する。
(ニ)すべてのデーターが送信しおわる最後のセグメントにセグメントの終わりを示すセグメントエンドフラグを立てて送信する。
(ホ)各デスティネーションは、セグメントエンドのパケットを受信すると、それぞれすべてのデーターを受信完了したことを示すセグメントエンドレシーブレスポンスを返す。
(ヘ)コントローラ、ソースは、前記セグメントエンドレシーブレスポンスがすべてのデスティネーションから帰ったことを認識しデーター転送が終了した個を認識する。
【0149】
図13は、前記図12で説明したオブジェクトデーターの転送のモデルを示す。この図では、オブジェクトデーターは、データーサイズ128Kbyteの静止画であり、ペイロードサイズは、256byte で500 分割されてデスティネーションに転送されることを示す例である。
【0150】
図14は、図11において、3個のそれぞれのデスティネーションが異なる受信バッファサイズを有するネットワークにおけるデーター転送のフローを示す。ここでは、簡単のためデスティネーションの数をN=3としている。ソースは、コントローラから同一のコネクションIDで接続されているデスティネーション数=3であることをすでに、コントローラから告知されている。
【0151】
(ト)コントローラからの送信開始コマンドがソースに対して送信されると、ソースは、図3(a) にて説明した手順に従い接続要求を送信する。
(チ) 3個のデスティネーションは、それぞれ受信準備が完了した時点で、それぞれ自身の有する受信バッファサイズを付加したAckレスポンスを返す。
(リ)ソースは、3 個のAck が帰ってきたことを確認したのち、それぞれのAck レスポンス内の受信バッファサイズを示すフィールドから、オブジェクトを指定されたペイロードサイズに分割して前記該デスティネーションの中で最小のバッファサイズになるまで送信し、最小バッファサイズを有するデスティネーションからのレシーブレスポンスが送信されるのを待つ。
(ヌ)最小受信バッファを有するデスティネーションからのレシーブレスポンスを受信したら、ソースは、引き続き次に大きい受信バッファを有するデスティネーションノードのバッファサイズまで送信し、該デスティネーションからのレシーブレスポンスが送信されるのを待機する。
(ル)該デスティネーションからのレシーブレスポンスを受信したら、ソースは、引き続き次に大きい受信バッファを有するデスティネーションノードのバッファサイズまで送信し、該デスティネーションからのレシーブレスポンスが送信されるのを待機する。
(ヲ)ソースは、すべてのデーターを送信し終えるとセグメントエンドフラグをつけた最終セグメントを送信し、それぞれのデスティネーションからのセグメントエンドレシーブレスポンスを受信待機する。
(ワ)すべての前記セグメントエンドレシーブレスポンスを受信したら、コントローラーとソースは、データー送信が終了したことを認識する。
【0152】
図15は、前記図14に示した異なる受信バッファの場合を示したものであり、ここでは、簡単のためデスティネーションの数N=2としている。
【0153】
ソースのオブジェクトは、ここでは、データーサイズは128Kbyteの静止画ととなっているが、データーサイズは、可変可能であり、規定するものではない。また、オブジェクトも静止画だけでなく、動画、テキスト、バイナリーデーターなどなにでもよい。
ソースは、ペイロードサイズ256Byte に前記オブジェクトを500 に分割し、デスティネーション#1のバッファサイズまで送信し、該デスティネーションは、レシーブレスポンスを返し、ソースが引き続き#2のデスティネーションの受信バッファになるまで送信をつづける。ここでは、#2のデスティネーションのバッファサイズが#1のバッファサイズの2 倍となっているが、デスティネーション間のバッファサイズについて相互に何ら規定するものではない。
#1のデスティネーションは、都合3 個のセンドレシーブレスポンスを返し、#2のデスティネーションは、1 個のセンドレシーブレスポンスを返すことになる。
【0154】
(本発明の他の実施の形態)
本発明は複数の機器(例えば、ホストコンピュータ、インタフェース機器、リーダ、プリンタ等)から構成されるシステムに適用しても1つの機器(例えば、複写機、ファクシミリ装置)からなる装置に適用しても良い。
【0155】
また、前述した実施の形態の機能を実現するように各種のデバイスを動作させるように、前記各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、前記実施の形態の機能を実現するためのソフトウェアのプログラムコードを供給し、そのシステムあるいは装置のコンピュータ(CPUあるいはMPU)に格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
【0156】
また、この場合、前記ソフトウェアのプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード自体、およびそのプログラムコードをコンピュータに供給するための手段、例えばかかるプログラムコードを格納した記憶媒体は本発明を構成する。かかるプログラムコードを記憶する記憶媒体としては、例えばフロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
【0157】
また、コンピュータが供給されたプログラムコードを実行することにより、前述の実施の形態の機能が実現されるだけでなく、そのプログラムコードがコンピュータにおいて稼働しているOS(オペレーティングシステム)あるいは他のアプリケーションソフト等の共同して前述の実施の形態の機能が実現される場合にもかかるプログラムコードは本発明の実施の形態に含まれることは言うまでもない。
【0158】
さらに、供給されたプログラムコードがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
【0159】
【発明の効果】
上記説明したように、本発明によれば従来の通信方式の不利便性を解決し、簡便に高速にデータ通信を行うことができる。また、本発明によれば、第1及び第2のID情報を用いてデータを送信することができるので、複数のコントロールノードがネットワーク上に存在する場合であっても、個々のコントロールノードが設定した論理的コネクションを識別することができる
【図面の簡単な説明】
【図1】本発明の実施の形態を表すブロック図である。
【図2】本発明に係る各ノードの動作を示すブロック図である。
【図3】本発明に係る各ノード間のコマンドやデータの授受を示すダイアグラムを説明する図である。
【図4】本発明にかかるAsynchronousパケットを示す図である。
【図5】本発明の実施の形態で用いられるAsynchronousパケットを示す図である。
【図6】本発明の実施の形態で用いられるAsynchronousパケットのデータフィールドの構造を示す図である。
【図7】本発明の実施の形態で用いられるデータフィールド中のヘッダの構造を示す図である。
【図8】従来例を示す図である。
【図9】本発明の実施例で用いられるコントロールノードの有する固有識別情報を示す図である。
【図10】本発明の実施例で用いられる第3 図(a) にて説明した、フローを補足する全体のフローを示す図である。
【図11】本発明の実施例で用いられる1つのコントローラがネットワーク上に同一のコネクションIDを1 つのソースとN個のデスティネーション間に設定した構成を示す図である。
【図12】本発明の実施例で用いられるそれぞれのデスティネーションが同一の受信バッファサイズを有し、オブジェクトデーターサイズが該受信バッファに等しい場合を示す図である。
【図13】本発明の実施例で用いられるオブジェクトデータの転送モデルを示す図である。
【図14】本発明の実施例で用いられる3個のそれぞれのデスティネーションが異なる受信バッファサイズを有するネットワークにおけるデータ転送のフローを示す図である。
【図15】本発明の実施例で用いられる異なる受信バッファの場合を示したものであり、ここでは簡単のためデスティネーションの数N=2としていることを示す図である。
【符号の説明】
10 computer
12 演算処理装置 (MPU)
14 第一の1394インターフェイス
16 キーボードなど第一の操作部
18 第一のデコーダ
20 CRTディスプレイなどの表示装置
22 ハードディスク
24 第一のメモリ
26 PCIバスなどのコンピュータ内部バス
28 VCR
30 撮像光学系
32 A/D変換器
34 ビデオ処理部
36 圧縮伸長回路
38 第一のメモリ
40 第二のメモリ
42 第一のデータセレクタ
44 第二の1394インターフェイス
46 第一のメモリ制御回路
48 第二のメモリ制御回路
50 システムコントローラ
52 第二の操作部
54 電子ビューファインダ
56 D/A変換器
58 記録部
60 プリンタ
62 第三の1394インターフェイス
64 第二のデータセレクタ
66 第三の操作部
68 プリンタコントローラ
70 第二のデコーダ
72 第三のメモリ
74 画像処理部
76 ドライバ
78 プリンタヘッド
200 コントロールノード
202 ソースノード
204 デスティネーションノード
206 ソースノード内部のサブユニット
208 画像データ等のobject
210 デスティネーションノード内部の第一のメモリ空間
212 第一のコ ネクション
214 デスティネーションノード内部の第n のメモリ空間
216 第n のコネクション

Claims (8)

  1. シリアルバスを介してデータをデスティネーションノードに送信するソースノードを有し
    前記ソースノードは、前記データを、前記ソースノードと前記デスティネーションノードとの間論理的な接続を示す第1のID情報と前記第1のID情報を設定した機器に固有のID情報である第2のID情報とともに前記デスティネーションノードに送信する送信手段を有し、
    前記第2のID情報は、バスリセットが発生した場合であっても変化しないID情報であることを特徴とするデータ通信システム。
  2. 前記送信手段は、IEEE1394規格で規定されたアシンクロナス( Asynchronous )トランザクションを用いて、前記データを前記第1のID情報及び前記第2のID情報とともに前記デスティネーションノードに送信することを特徴とする請求項1に記載のデータ通信システム。
  3. 前記送信手段は、前記データを前記第1のID情報及び前記第2のID情報とともにブロードキャストで送信することを特徴とする請求項1又は2に記載のデータ通信システム。
  4. 前記シリアルバス及び前記バスリセットは、IEEE1394規格に準拠したものであることを特徴とする請求項1から3のいずれかに記載のデータ通信システム。
  5. シリアルバスを介してデータをデスティネーションノードに送信するデータ通信装置であって、
    前記データを、前記データ通信装置と前記デスティネーションノードとの間の論理的な接続を示す第1のID情報と、前記第1のID情報を設定した機器に固有のID情報である第2のID情報とともに前記デスティネーションノードに送信する送信手段を有し、
    前記第2のID情報は、バスリセットが発生した場合であっても変化しないID情報であることを特徴とするデータ通信装置。
  6. 前記送信手段は、IEEE1394規格で規定されたアシンクロナス( Asynchronous )トランザクションを用いて、前記データを前記第1のID情報及び前記第2のID情報とともに前記デスティネーションノードに送信することを特徴とする請求項5に記載のデータ通信装置。
  7. 前記送信手段は、前記データを前記第1のID情報及び前記第2のID情報とともにブロードキャストで送信することを特徴とする請求項5又は6に記載のデータ通信装置。
  8. 前記シリアルバス及び前記バスリセットは、IEEE1394規格に準拠したものであることを特徴とする請求項5から7のいずれかに記載のデータ通信装置。
JP06621898A 1998-03-02 1998-03-02 データ通信システム及びデータ通信装置 Expired - Fee Related JP3943698B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP06621898A JP3943698B2 (ja) 1998-03-02 1998-03-02 データ通信システム及びデータ通信装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP06621898A JP3943698B2 (ja) 1998-03-02 1998-03-02 データ通信システム及びデータ通信装置

Publications (2)

Publication Number Publication Date
JPH11252138A JPH11252138A (ja) 1999-09-17
JP3943698B2 true JP3943698B2 (ja) 2007-07-11

Family

ID=13309486

Family Applications (1)

Application Number Title Priority Date Filing Date
JP06621898A Expired - Fee Related JP3943698B2 (ja) 1998-03-02 1998-03-02 データ通信システム及びデータ通信装置

Country Status (1)

Country Link
JP (1) JP3943698B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101029810B1 (ko) 2004-05-13 2011-04-20 엘지전자 주식회사 광대역 무선 접속 시스템에 적용되는 방송 서비스 제공 방법
US8171144B2 (en) 2006-02-06 2012-05-01 Panasonic Corporation AV server apparatus and connection management method

Also Published As

Publication number Publication date
JPH11252138A (ja) 1999-09-17

Similar Documents

Publication Publication Date Title
KR100311706B1 (ko) 데이터 통신 시스템, 데이터 통신 방법,데이터 통신 장치 및 디지털 인터페이스
KR100294960B1 (ko) 데이타 통신 시스템, 데이타 통신 방법, 및 데이타 통신 장치
US7062579B2 (en) Data transmission apparatus, system and method, and image processing apparatus
EP0939529B1 (en) Destination node, data communication system, method of controlling a destination node and method of operating a data communication system
JP4181688B2 (ja) データ通信システム及びデータ通信装置
KR100312276B1 (ko) 데이터 통신 시스템, 데이터 통신 방법, 데이터 통신 장치 및디지털 인터페이스
US6678769B1 (en) Control apparatus and method for managing a logical connection between source and destination nodes
JP3814407B2 (ja) データ通信システム、データ通信装置及びデータ通信方法
JP3943698B2 (ja) データ通信システム及びデータ通信装置
JP3943697B2 (ja) データ通信システム、データ通信装置及びデータ通信方法
JP3862403B2 (ja) データ通信システムおよびデータ通信装置
JP3774540B2 (ja) データ転送方法及び画像処理システムと装置
JPH11261608A (ja) データ通信システム、データ通信装置、データ通信方法及び記憶媒体
JP4143205B2 (ja) データ通信システム
JP4065466B2 (ja) データ通信システム
JPH11313091A (ja) データ通信システム、装置及び方法並びに記憶媒体
JPH11298509A (ja) データ通信システム、データ通信方法、データ通信装置及び記憶媒体
JP2006311614A (ja) データ通信システム
JPH11308255A (ja) データ通信システム、方法及び装置並びに記憶媒体
JPH11317755A (ja) デ―タ通信システム、デ―タ通信方法、デ―タ通信装置及びディジタルインタ―フェイス
JPH11355319A (ja) デ―タ通信システム、デ―タ通信方法、デ―タ通信装置及びディジタルインタフェ―ス

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050302

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050302

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061030

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061107

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070109

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: 20070327

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070406

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: 20110413

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130413

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130413

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20140413

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees