JPWO2005069550A1 - 中継装置及び情報通信方法 - Google Patents

中継装置及び情報通信方法 Download PDF

Info

Publication number
JPWO2005069550A1
JPWO2005069550A1 JP2005517020A JP2005517020A JPWO2005069550A1 JP WO2005069550 A1 JPWO2005069550 A1 JP WO2005069550A1 JP 2005517020 A JP2005517020 A JP 2005517020A JP 2005517020 A JP2005517020 A JP 2005517020A JP WO2005069550 A1 JPWO2005069550 A1 JP WO2005069550A1
Authority
JP
Japan
Prior art keywords
subunit
ieee
bus
relay device
relay
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.)
Pending
Application number
JP2005517020A
Other languages
English (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2005069550A1 publication Critical patent/JPWO2005069550A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)

Abstract

課題 互いに異なるバスに接続されたIEEE1394機器間の通信を可能とするネットワーク中継装置、及び情報通信方法を提供する。解決手段 本発明に係る中継装置は、IEEE1394バスに接続され、当該IEEE1394バスに接続される機器と通信を行う第一の通信手段と、中継装置間ネットワークに接続され、当該中継装置間ネットワークに接続される他の中継装置と通信を行う第二の通信手段とを備え、当該第一の通信手段は、前記IEEE1394バスに接続される機器に関するサブユニット情報を受信し、前記第二の通信手段は、当該サブユニット情報を前記中継装置間ネットワークに接続される他の中継装置に送信し、前記サブユニット情報は、前記IEEE1394バスに接続される機器毎に、当該機器が保有するサブユニットの種類と数とを含むこととした。

Description

本発明は、ネットワーク中継に用いられる中継装置、及び情報通信方法に関わるものであり、さらに詳しくは、IEEE1394に対応したデジタル機器(以下、「IEEE1394機器」と記す。)がIEEE1394バスにより接続された中継機器を複数個用いるネットワークに関するものである。
IEEE1394バスは、1本のケーブルによるシンプルな配線、100Mbps以上の転送速度、Isochronous(アイソクロナス)転送方式、活線挿抜機能等のデジタルAVネットワークに適した特徴を有している。したがって、MPEG2、DV形式等のストリームを取り扱うデジタルAV機器は、多くの場合、IEEE1394バスを用いて他のデジタルAV機器と接続され、デジタルAVネットワークを形成している。なお、既存のデジタルAV機器、即ちIEEE1394機器が対応しているIEEE1394規格は、IEEE1394−1995、またはIEEE1394a−2000と称される規格である。
また、IEEE1394バスに接続されたIEEE1394機器のリモート操作には、1394TA(1394TradeAssociation(トレード アソシエーション))で規格化されているAVCプロトコル(例えば、AVC Digital Interface Command Set General Specification(AVC デジタル インターフェイス コマンド セット ゼネラル スペシフィケーション)等を参照。)と称される通信制御プロトコルが使用されている。
ところで、IEEE1394−1995規格、またはIEEE1394a−2000規格では、同一のIEEE1394バスに接続されているIEEE1394機器間の通信については規定されている。しかし、互いに異なるIEEE1394バスに接続されているIEEE1394機器間の通信については規定されていない。したがって、IEEE1394−1995規格、またはIEEE1394a−2000規格のみに対応しているIEEE1394機器は、同一のバス上にある機器しか認識できず、同一のバス上にある機器同士としか通信を行うことができない。
このような現状に鑑み、現在、互いに異なるIEEE1394バスに接続されたIEEE1394機器間におけるIEEE1394レベルの通信を可能とすべく、P1394.1と称される規格が審議されている。しかし、IEEE1394−1995規格、またはIEEE1394a−2000規格には対応しているが、P1394.1規格に対応していない既存のIEEE1394機器同士が互いに異なるバス上にある場合、やはり通信ができないという問題は、依然として残る。
また、AVCプロトコルにおいて使用されるAVCコマンドは、IEEE1394機器そのものであるAVCユニット、もしくはIEEE1394機器のAV機能を司るAVCサブユニットに対して、送信される。従って、AVCコマンドを送信するIEEE1394機器は、コマンドの送信先であるAVCユニット、AVCサブユニットの存在を認識し、かつ、コマンドの送信先として指定できなければならない。P1394.1規格に対応したIEEE1394機器であれば、互いに異なるバス上にあるIEEE1394機器を認識できる。しかし、互いに異なるバス上にある、P.1394規格に対応した1394機器と、IEEE1394−1995規格またはIEEE1394a−2000規格のみに対応したIEEE1394機器とでは互いに認識できず、したがって、AVCユニット、AVCサブユニットの認識ができない。そのため、互いに異なるバス上にあるP1394.1規格に対応したIEEE1394機器とIEEE1394−1995規格またはIEEE1394a−2000規格のみに対応したIEEE1394機器とにおいても、AVCプロトコルを利用した通信はできない。
下記特許文献には、IEEE1394機器が接続された中継装置と、IEEE1394機器との通信について記載されているが、互いに異なるバスに接続されたIEEE1394機器間の通信についての記載はない。
特開2000−196618号公報(例えば、段落0038から0045、図1)
この発明は、上述の問題点を解消するためになされたもので、互いに異なるバスに接続されたIEEE1394機器間の通信を可能とする中継装置、及び情報通信方法を提供することを目的とする。
この発明は、
IEEE1394バスに接続され、当該IEEE1394バスに接続される機器と通信を行う第一の通信手段と、
中継装置間ネットワークに接続され、当該中継装置間ネットワークに接続される他の中継装置と通信を行う第二の通信手段と
を備え、
当該第一の通信手段は、前記IEEE1394バスに接続される機器に関するサブユニット構成情報を受信し、
前記第二の通信手段は、当該サブユニット構成情報を前記中継装置間ネットワークに接続される他の中継装置に送信し、
前記サブユニット構成情報は、前記IEEE1394バスに接続される機器毎に、当該機器が保有するサブユニットの種類と数とを含むこと
ととしたものである。
この発明によれば、互いに異なるバスに接続されたIEEE1394機器間の通信が可能となる。
[図1]本発明の実施の形態1に係わる中継装置を用いた場合のIEEE1394バス中継ネットワークの一例を示す図である。
[図2]本発明の実施の形態1に係わる中継装置の構成図である。
[図3]本発明の実施の形態1に係わる中継装置が生成し、他の中継装置へ伝送するサブユニット構成情報の一例を示す図である。
[図4]本発明の実施の形態1に係わる中継装置が生成し、他の中継装置へ伝送するサブユニット構成情報の一例を示す図である。
[図5]本発明の実施の形態1に係わる中継装置を用いた場合のIEEE1394バス中継ネットワークの一例を示す図である。
[図6]本発明の実施の形態1に係わる中継装置を用いた場合の、IEEE1394バス中継ネットワーク上でのサブユニット構成情報の配信の処理シーケンスの一例を示す図である。
[図7]本発明の実施の形態1に係わる中継装置を用いた場合の、IEEE1394バス中継ネットワーク上でのサブユニット構成情報の配信の処理シーケンスの一例を示す図である。
[図8]本発明の実施の形態1に係わる中継装置が生成するサブユニット管理データベースの一例を示す図である。
[図9]本発明の実施の形態1に係わる中継装置を用いたIEEE1394バス中継ネットワークにおいて、AVCサブユニットと仮想AVCサブユニットの関係の一例を示す図である。
[図10]本発明の実施の形態1に係わる中継装置を用いたIEEE1394バス中継ネットワーク上での通信の処理シーケンスの一例を示す図である。
[図11]本発明の実施の形態2に係わる中継装置の構成図である。
[図12]本発明の実施の形態2に係わる中継装置を用いた場合の、Isochronousコネクションを確立する際の通信の処理シーケンスの一例を示す図である。
[図13]本発明の実施の形態2に係わる中継装置を用いた場合の、Isochronousコネクションを確立する際の通信の処理シーケンスの一例を示す図である。
[図14]本発明の実施の形態2に係わる中継装置を用いた場合の、Isochronousコネクションを確立する際の通信の処理シーケンスの一例を示す図である。
[図15]本発明の実施の形態2に係わる中継装置が生成するCONNECTコマンド有効判定データベースの一例を示す図である。
符号の説明
100 制御手段、101 中継装置A、102 中継装置B、103 中継装置C、104 STB、105 DVCR_A、106 HDDR、107 DVCR_B、108 IEEE1394バスA、109 IEEE1394バスB、110 IEEE1394バスC、111 中継装置間ネットワーク、112 TAPEサブユニットA、113 TUNERサブユニット、114 DISCサブユニット、115 TAPEサブユニットB、116 仮想TAPEサブユニットA、117 仮想TAPEサブユニットB、118 仮想DISCサブユニット、119 仮想TUNERサブユニット、120 仮想TAPEサブユニットB、121 仮想TAPEサブユニットA、122 仮想DISCサブユニット、123 仮想TUNERサブユニット、1010 第一の通信手段、1011 第二の通信手段、1012 サブユニット管理データベース作成手段、1013 記憶手段、1014 コマンド・データ転送手段、1014a CONNECTコマンド有効判定手段、1014b アドレス変換手段、1014c ユニットプラグ設定Lock Transaction転送遅延手段。
実施の形態1.
以下、この発明をその実施の形態を示す図に基づいて詳細に説明する。
なお、「仮想AVCサブユニット」とは、中継装置内で生成されるAVCサブユニットであって、中継装置間ネットワークによって接続された他の中継装置が接続しているIEEE1394バス上の、IEEE1394機器が保有するAVCサブユニットと1対1で対応し、且つ同じ種類のAVCサブユニットである。なお、中継装置は、前記他の中継装置が接続しているIEEE1394バス上のIEEE1394機器が保有するAVCサブユニットを、後述の「サブユニット構成情報」により認識する。中継装置は、前記生成した仮想AVCサブユニットを、自らが保有しているAVCサブユニットとして振る舞い、自らが接続しているIEEE1394バスから、保有しているAVCサブユニットを問い合わされた場合には、前記仮想AVCサブユニットを応答する。自装置が接続しているIEEE1394バス上のIEE1394機器が、仮想AVCサブユニットに対して通信を行った場合には、中継装置は、「サブユニット管理データベース」を利用して、該仮想AVCサブユニットと1対1で対応する、他の中継装置が接続しているIEEE1394バス上のIEEE1394機器が保有するAVCサブユニットを特定し、該AVCサブユニットを保有するIEEE1394機器と直接接続している中継装置に対して該通信を中継する。
また、「サブユニット管理データベース」とは、中継装置間ネットワークによって接続された他の中継装置が接続しているIEEE1394バス上のIEEE1394機器が保有するAVCサブユニットと、自装置内に生成される、前記AVCサブユニットと1対1で対応する仮想AVCサブユニットとの、関連を管理するためのデータベースであり、より詳しくは、自装置が接続しているIEEE1394バス上のIEEE1394機器が、仮想AVCサブユニットに対して通信が行われた場合に、該仮想AVCサブユニットと1対1で対応するAVCサブユニット、および該AVCサブユニットを保有するIEEE1394機器、および該IEEE1394機器と接続している中継装置、を特定するための情報が格納されているデータベースである。
「サブユニット構成情報」とは、中継装置が接続しているIEEE1394バス上のIEEE1394機器が保有しているAVCサブユニットの情報であり、少なくとも、該IEEE1394バス上のIEEE1394機器毎に保有しているAVCサブユニットの種類と数、が含まれる。中継装置は、自らが接続しているIEEE1394バス上のIEEE1394機器に対して、保有しているAVCサブユニットを問い合わせ、該IEEE1394バスのサブユニット構成情報を生成する。中継装置は、生成したサブユニット構成情報を、中継装置間ネットワーク経由で、他の中継装置に伝送する。
<ネットワークの構成>
図1は、中継装置A、中継装置B、および中継装置Cと、それら中継装置間を接続している通信ネットワークから構成されている中継システムによって、3つのIEEE1394バスが接続されている状態を示す図である。
図1において、101は、IEEE1394バスA108と中継装置間ネットワーク111とに接続されている中継装置A、102は、IEEE1394バスB109と中継装置間ネットワーク111とに接続されている中継装置B、103は、IEEE1394バスC110と中継装置間ネットワーク111とに接続されている中継装置Cである。104は、IEEE1394バスA108に接続されているSet Top Box(以下、「STB」と記す。)、105は、IEEE1394バスB109に接続されており、TAPEサブユニットA112とTUNERサブユニット113とを保有している、ディジタルテープレコーダであるDVCR(以下、単に「DVCR」と記す。)_A、106は、IEEE1394バスB109に接続されており、DISCサブユニット114を保有しているハードディスクレコーダ(以下、「HDDR」と記す。)、107は、IEEE1394バスC110に接続されており、TAPEサブユニットB115を保有しているDVCR_Bである。108は、STB104と中継装置A101を接続するIEEE1394バスA、109は、DVCR_A105とHDDR106と中継装置B102を接続するIEEE1394バスB、110は、DVCR_B107と中継装置C103を接続するIEEE1394バスC、111は、中継装置A101と中継装置B102と中継装置C103とを接続する通信ネットワークである中継装置間ネットワークである。112は、DVCR_A105が保有するAVCサブユニットであるTAPEサブユニットA、113は、DVCR_A105が保有するAVCサブユニットであるTUNERサブユニット、114は、HDDR106が保有するAVCサブユニットであるDISCサブユニット、115は、DVCR_B107が保有するAVCサブユニットであるTAPEサブユニットBである。
<中継装置の構成>
図2に本実施の形態に係る中継装置A101の構成を示す。中継装置A101は、IEEE1394バスA108と接続される第一の通信手段1010と、中継装置間のネットワーク111に接続される第二の通信手段1011とを備える。サブユニット管理データベース生成手段1012は、第二の通信手段1011を介して、他の中継装置から送信されてくるサブユニット管理情報に基づいてサブユニット管理データベースを生成する。生成されたサブユニット管理データベースは、記憶手段1013に記憶される。制御手段100は、中継装置A101全体の動作を制御する。中継装置A101は、第一の通信手段1010に接続されているIEEE1394バスA108上のIEEE1394機器から問合せがあった場合、記憶手段1013に記憶されているサブユニット管理データベースを参照して返答する。同様に、第二の通信手段1011に接続されている中継装置間ネットワーク111を介して、記憶手段1013に記憶されているサブユニット管理データベースを参照して、他の中継装置に送信する。また、サブユニット管理情報をそのまま第一の通信手段1010から第二の通信手段1011に直接転送する場合もある。なお、中継装置B102、中継装置C103も中継装置A101と同様の構成である。
次に、本発明におけるネットワーク中継方法を説明する。また、随時、図1で示すIEEE1394中継ネットワークを具体例として、詳細に説明する。
<サブユニット構成情報の伝送・受信>
まず、サブユニット構成情報の伝送・受信について説明する。中継装置は、自身が接続しているIEEE1394バスで、バスリセットが発生した場合、前記IEEE1394バス上の全てのIEEE1394機器に対して、SubunitInfo(サブユニットインフォメーション)ステータスコマンドを発行する。それに応答して前記各IEEE1394機器より発行されるSubunitInfoレスポンスには、前記IEEE1394機器が保有するAVCサブユニットの種類と個数が記載されている。中継装置は、前記各IEEE1394機器から発行されたSubunitInfoレスポンスに基づいて、各IEEE1394機器の識別子であるGUID(Global Unique ID(グローバル ユニット ID))と、前記GUIDで識別されるIEEE1394機器が保有するAVCサブユニットの種類と個数との組で構成されるデータである、サブユニット構成情報を、中継装置間ネットワークで接続されている他の全ての中継装置に伝送する。各中継装置は、他の中継装置から伝送されてきたサブユニット構成情報に含まれるAVCサブユニットに基づいて、各AVCサブユニットに対応する仮想AVCサブユニット等からなるサブユニット管理データベースを作成する。なお、サブユニット管理データベースの作成については、後述する。
但し、本実施の形態1では、中継装置が接続しているIEEE1394バス上にIEEE1394機器が存在せず、SubunitInfoステータスコマンドを発行する相手機器が存在しない場合、もしくは、前記SubunitInfoレスポンスより、中継装置が接続しているIEEE1394バス上のIEEE1394機器がAVCサブユニットを保有しないことが判明した場合でも、中継装置は、「該中継装置が接続されているIEEE1394バスには、AVCサブユニットが存在しない」という内容のSubunitInfoレスポンスを伝送するが、SubunitInfoレスポンスを伝送しなくてもよいことは言うまでもない。
中継装置が接続しているIEEE1394バス上で、新しいIEEE1394機器の追加や、以前接続していたIEEE1394機器の削除により、該IEEE1394バス上のIEEE1394機器の構成が変化した場合には、前記サブユニット構成情報は、追加や削除されたIEEE1394機器が保有するAVCサブユニットに相当する部分が変更される。中継装置は、接続しているIEEE1394バス上でバスリセットの発生を検出した場合には、該IEEE1394バス上のIEEE1394機器に対して、SubunitInfoステータスコマンドを発行し、上述のように新しいサブユニット構成情報を生成し、中継装置間ネットワークで接続されている他の全ての中継装置に伝送する。
次に、図を用いて具体的に説明する。図1に示す中継ネットワークにおいては、中継装置A101は、IEEE1394バスA108上のIEEE1394機器であるSTB104に対して、SubunitInfoステータスコマンドを発行する。STB104は、前記SubunitInfoステータスコマンドへの応答として、「ターゲットとなるAVCサブユニットを保有していない」という内容のSubunitInfoレスポンスを中継装置A101に伝送する。但し、上述したように、ターゲットとなるAVCサブユニットを保有していないので、SubunitInfoレスポンスを伝送しなくても良い。
中継装置B102は、IEEE1394バスB109上のIEEE1394機器であるDVCR_A105とHDDR106に対して、それぞれSubunitInfoステータスコマンドを発行する。DVCR_A105は、前記SubunitInfoステータスコマンドへの応答として、「TAPEサブユニットを1個とTUNERサブユニットを1個保有している」という内容のSubunitInfoレスポンスを中継装置B102に発行する。HDDR106は、前記SubunitInfoステータスコマンドへの応答として、「DISCサブユニットを1個保有している」という内容のSubunitInfoレスポンスを中継装置B102に発行する。中継装置B102は、受信した前記SubunitInfoレスポンスに基づいて、図3に示すような構成のIEEE1394バスBのサブユニット構成情報を生成し、中継装置A、および中継装置Cに伝送する。
中継装置C103は、IEEE1394バスC110上のIEEE1394機器であるDVCR_B107に対して、SubunitInfoステータスコマンドを発行する。DVCR_B107は、前記SubunitInfoステータスコマンドへの応答として、「TAPEサブユニットを1個保有している」という内容のSubunitInfoレスポンスを中継装置C103に発行する。中継装置C103は、受信した前記SubunitInfoレスポンスに基づいて、図4に示すような構成のIEEE1394バスC110のサブユニット構成情報を生成し、中継装置A101、および中継装置B102に伝送する。
<サブユニット構成情報の通信シーケンス(1)>
次に、中継ネットワークのIEEE1394バスからIEEE1394機器が新たに追加された場合や、削除された場合の動作について説明する。図5は、図1に示す中継ネットワークからHDDR106が削除された中継ネットワークを示したものである。HDDR106が削除された事により、IEEE1394バスB109ではバスリセットが発生し、中継装置B102は、IEEE1394バスB109上のIEEE1394機器に対して、SubunitInfoステータスコマンドを発行し、上述のように新しいサブユニット構成情報を生成し、中継装置間ネットワークで接続されている中継装置A101および中継装置C103に伝送する。
図6は、中継装置B102が、IEEE1394バスB109のサブユニット構成情報を、中継装置A101および中継装置C103へ伝送する様子を説明するためのシーケンス図である。図6では、サブユニット構成情報を、他の中継装置に伝送する場合に、ユニキャスト通信方式を利用する場合について説明する。
図6において、タイミング801で、接続されていたHDDR106がIEEE1394バスB109から削除され、IEEE1394バスB109上でバスリセットが発生したとする。中継装置B102は、IEEE1394バスB109でのバスリセット発生を検出し、バスリセット後の新しいIEEE1394バスB109のサブユニット構成情報を生成する。
タイミング802乃至タイミング805では、中継装置B102は、中継装置A101および中継装置C103に対して、新しく生成したIEEE1394バスB109のサブユニット構成情報をユニキャスト通信で伝送する。ユニキャスト通信なので、ACKNOWLEDGE(アクノリッジ)フレームが返信され、正しく通信が完了したことが確認される。もし、ACKNOWLEDGEフレームが返信されず、通信タイムアウトになる場合や、NACK(Not ACKnowledge(ノット アクノリッジ))フレームが返信される場合など、通信エラーが発生したことを中継装置B102が認識した場合には、サブユニット構成情報が、該通信エラーを起こした受信端末に対して、再び送信される。
サブユニット構成情報を正しく受信できた中継装置は、受信したサブユニット構成情報に基づいて、自身のサブユニット管理データベースを再構成し、自身の接続しているIEEE1394バスに対して、バスリセットを発生させ、自身の接続しているIEEE1394バス上のIEEE1394機器に対して、新しい仮想AVCサブユニットを通知する。
従って、タイミング802で、サブユニット構成情報を正しく受信できた中継装置A101は、受信したサブユニット構成情報に基づいて、自身のサブユニット管理データベースを再構成し、IEEE1394バスA108に対して、バスリセットを発生させ、IEEE1394バスA108上のSTB104に対して、新しい仮想AVCサブユニットを通知する。
同様に、タイミング804で、サブユニット構成情報を正しく受信できた中継装置C103は、受信したサブユニット構成情報に基づいて、自身のサブユニット管理データベースを再構成し、IEEE1394バスC110に対して、バスリセットを発生させ、IEEE1394バスC110上のDVCR_A105に対して、新しい仮想AVCサブユニットを通知する。
<サブユニット構成情報の通信シーケンス(2)>
図7は、図6同様、中継装置B102が、IEEE1394バスB109のサブユニット構成情報を、中継装置A101および中継装置C103へ伝送する様子を説明するためのシーケンス図である。但し、図7では、サブユニット構成情報を、他の中継装置に伝送する場合に、ブロードキャスト通信方式を利用する場合について説明する。
また、図7では、説明をわかりやすくするために、中継装置Bが、IEEE1394バスB109のサブユニット構成情報を送信する通信しか記載していないが、実際には、全ての中継装置も、それぞれの接続しているIEEE1394バスのサブユニット構成情報を送信している。
サブユニット構成情報をブロードキャスト通信方式で伝送する場合には、中継装置は定期的にサブユニット構成情報を送信し、且つ、サブユニット構成情報には、情報の更新を示すVersion(バージョン)情報を付加する。
図7において、タイミング901とタイミング902では、Version情報が0のIEEE1394バスB109のサブユニット構成情報がブロードキャストされている。もちろん、タイミング901以前にも、定期的にVersion情報が0のIEEE1394バスB109のサブユニット構成情報がブロードキャストされていたことは言うまでもない。
タイミング903で、HDDR106がIEEE1394バスB109から削除され、IEEE1394バスB109上でバスリセットが発生したとする。中継装置B102は、IEEE1394バスB109でのバスリセット発生を検出し、バスリセット後の新しいIEEE1394バスB109のサブユニット構成情報を生成する。前記新しいIEEE1394バスB109のサブユニット構成情報のVersion情報は1とする。
タイミング904とタイミング905では、Version情報が1の前記新しいIEEE1394バスB109のサブユニット構成情報がブロードキャストされる。もちろん、タイミング905以降も、定期的にVersion情報が1のIEEE1394バスB109のサブユニット構成情報がブロードキャストされることは言うまでもない。
例えば、タイミング902では、中継装置A101と中継装置C103は、タイミング902で受信したIEEE1394バスB109のサブユニット構成情報と、タイミング901以前に受信したIEEE1394バスB109のサブユニット構成情報とで、Version情報が変化していないことを認識し、自身のサブユニット管理データベースは変更しない。
タイミング904では、中継装置A101は、タイミング904で受信したVersion情報が1のIEEE1394バスB109のサブユニット構成情報と、タイミング902以前に受信し、認識しているIEEE1394バスB109のサブユニット構成情報とで、Version情報が異なることを認識し、Version情報が1のIEEE1394バスB109のサブユニット構成情報に基づいて、自身のサブユニット管理データベースを再構成し、IEEE1394バスA108に対して、バスリセットを発生させ、IEEE1394バスA108上のSTB104に対して、新しい仮想AVCサブユニットを通知する。なお、Version情報は、例えば、記憶手段1013に記憶される。
同様に、タイミング904では、中継装置C103は、タイミング904で受信したVersion情報が1のIEEE1394バスB109のサブユニット構成情報と、タイミング902以前に受信したIEEE1394バスB109のサブユニット構成情報とで、Version情報が異なることを認識し、Version情報が1のIEEE1394バスB109のサブユニット構成情報に基づいて、自身のサブユニット管理データベースを再構成し、IEEE1394バスC110に対して、バスリセットを発生させ、IEEE1394バスC110上のDVCR_A105に対して、新しい仮想AVCサブユニットを通知する。
また、例えば、中継装置C103が、タイミング904で、Version情報が1のIEEE1394バスB109のサブユニット構成情報を正しく受信できなかった場合には、その後のタイミング905以降で、再度Version情報が1のIEEE1394バスB109のサブユニット構成情報の受信を繰り返し試みる。正しく受信できた場合には、上述の通り、新しいサブユニット管理データベースを再構成し、IEEE1394バスC110に対して、バスリセットを発生させ、IEEE1394バスC110上のDVCR_A105に対して、新しい仮想AVCサブユニットを通知する。
<サブユニット管理データベースの作成>
次に、各中継装置における、サブユニット管理データベースの作成について説明する。中継装置は、中継装置間ネットワークで接続されている他の中継装置から、サブユニット構成情報を通知された場合には、前記サブユニット構成情報に基づいて、前記サブユニット構成情報の対象となるIEEE1394バスを識別する識別子と、前記サブユニット構成情報に記載されている各AVCサブユニットを保有しているIEEE1394機器の識別子であるGUIDと、前記GUIDで識別されるIEEE1394機器が保有するAVCサブユニットと、前記AVCサブユニットのそれぞれに1対1で対応し、該中継装置の保有するAVCサブユニットとして、該中継装置が接続しているIEEE1394バス上のIEEE1394機器に通知される仮想AVCサブユニット、とで構成されたデータベースであるサブユニット管理データベースを作成する。
前記IEEE1394バスを識別する識別子は、一意にIEEE1394バスを識別可能であるものであれば、特に指定するものではない。例えば、該IEEE1394バスに接続されている中継装置のGUIDが使用できる。もしくは、中継装置間ネットワーク上での、該IEEE1394バスに接続されている中継装置の、固有で一意なアドレスが使用できる。例えば、中継装置間ネットワークがIEEE802ネットワークである場合には、該IEEE1394バスに接続されている中継装置のMACアドレスが使用できる。以下では、IEEE1394バスを識別する識別子として、該IEEE1394バスに接続されている中継装置の、中継装置間ネットワークにおけるMACアドレスを使用するものとして、以下の説明を続ける。
中継装置は、自らが接続されているIEEE1394バス上のIEEE1394機器から、SubunitInfoステータスコマンドを受信した場合には、前記サブユニット管理データベースに基づいて、他のIEEE1394バス上のIEEE1394機器が保有するAVCサブユニットの種類と個数が記載されているSubunitInfoレスポンスを返答する。
図1に示す中継ネットワークにおいては、中継装置A101は、中継装置B102および中継装置C103から伝送されるサブユニット構成情報に基づいて、図8に示すような構成のサブユニット管理データベースを作成する。
中継装置A101は、STB104からのSubunitInfoステータスコマンドを受信した場合には、前記サブユニット管理データベースに基づき、「TAPEサブユニットを2個と、DISCサブユニットを1個と、TUNERサブユニットを1個と、を保有している」という内容のSubunitInfoレスポンスを返答する。前記SubunitInfoレスポンスにより、STB104は、中継装置A101が、TAPEサブユニットを2個と、DISCサブユニットを1個と、TUNERサブユニットを1個と、を保有していると認識する。
<仮想AVCサブユニットに対する通信>
さらに、仮想AVCサブユニットに対する通信について説明する。まず、中継装置は、該中継装置の仮想AVCサブユニットに対して、自らが接続されているIEEE1394バス上のIEEE1394機器からデータ通信があった場合には、該通信要求があった仮想AVCサブユニットに対応するAVCサブユニットと、該AVCサブユニットを保有するIEEE1394機器と、該IEEE1394機器が接続されているIEEE1394バス上の中継装置とをサブユニット管理データベースに基づいて、特定する。
さらに、該中継装置は、受信した前記データ通信の内容を、IEEE1394のパケットフォーマットから、中継装置間ネットワークが対応するパケットフォーマットに変換し、前記AVCサブユニットを保有するIEEE1394機器が接続されているIEEE1394バス上の中継装置に対して転送する。
さらに、前記AVCサブユニットを保有するIEEE1394機器が接続されているIEEE1394バス上の中継装置は、受信した前記データ通信の内容を、中継装置間ネットワークのパケットフォーマットから、IEEE1394ネットワークが対応するパケットフォーマットに変換し、前記AVCサブユニットに対して転送する。
以下、図を用いて具体的に説明する。図9は、図1に示す中継ネットワークにおいて、中継装置A101が、TAPEサブユニットA112と、TUNERサブユニット113と、DISCサブユニット114と、TAPEサブユニットB115に対応する仮想AVCサブユニットとして、それぞれ仮想TAPEサブユニットA116と、仮想TUNERサブユニット119と、仮想DISCサブユニット118と、仮想TAPEサブユニットB117を保有していると、STB104に通知した状態の、中継ネットワークを示すものである。
STB104が、前記仮想TAPEサブユニットA116に対して、データ通信を行った場合、中継装置A101は、サブユニット管理データベースを参照し、仮想TAPEサブユニットA116に相当するAVCサブユニットを検索する。仮想TAPEサブユニットA116は、図8に示すサブユニット管理データベースを参照すると、中継装置B102が接続されているIEEE1394バスB109上の、DVCR_A105が保有するTAPEサブユニットである、TAPEサブユニットA112であると検索できる。
中継装置A101は、前記検索の結果から、中継装置B102が接続されているIEEE1394バスB109上の、DVCR_A105が保有するTAPEサブユニットである、TAPEサブユニットA112に対して、前記データ通信要求があったことを、中継装置B102に通知する。
中継装置B102は、前記通知を受けて、TAPEサブユニットA112に対して、前記データ通信要求があったことを通知する。
図10は、上述の通信の具体例として、STB104が、前記仮想TAPEサブユニットA116に対して、AVCコマンドのPLAYコマンドを発行した場合のシーケンスを示す図である。
STB104が、中継装置Aが保有している前記仮想TAPEサブユニットA116に対して、PLAYコマンドに相当するWrite(ライト)トランザクションをタイミング601で発行する。AVCコマンドは、IEEE1394のWriteトランザクションとして実行される。
中継装置A101は、前記PLAYコマンドを正しく受信できた場合、前記Writeトランザクションに対する応答パケットであるack_complete(アクノリッジ コンプリート)をタイミング602で返答する。
中継装置A101は、サブユニット管理データベースを参照し、仮想TAPEサブユニットA116に相当するAVCサブユニットが、中継装置B102が接続されているIEEE1394バス上の、TAPEサブユニットA112であると検索する。
中継装置A101は、前記検索の結果から、DVCR_A105が保有するTAPEサブユニットである、TAPEサブユニットA112に対して、PLAYコマンドが発行されたことを、中継装置B102にタイミング603で通知する。
中継装置B102は、前記タイミング603における通信を正しく受信できた場合、中継装置間ネットワークの通信プロトコルに従い、ACKNOWLEDGEパケットをタイミング604で返答する。ここでは、中継装置間ネットワークの通信プロトコルの仕様は、データ通信を正しく受信できた場合には、ACKNOWLEDGEパケットを返答することとしたが、中継装置間ネットワークの仕様として特に指定するものではない。
中継装置B102は、前記タイミング603における通知を受けて、TAPEサブユニットA112に対して、PLAYコマンドをタイミング605で発行する。
DVCR_A105は、前記PLAYコマンドを正しく受信できた場合、前記Writeトランザクションに対する応答パケットであるack_completeをタイミング606で返答する。
DVCR_A105は、前記PLAYコマンドを正しく実行できた場合、前記PLAYコマンドのAVCレスポンスとして、ACCEPTEDをタイミング607で返答する。
中継装置B102は、前記ACCEPTEDを正しく受信できた場合、前記Writeトランザクションに対する応答パケットであるack_completeをタイミング608で返答する。
中継装置B102は、タイミング607の前記ACCEPTEDの受信により、前記PLAYコマンドが正しく実行されたことが分かる。中継装置A101に対して、中継装置B102は、タイミング603で伝送されたPLAYコマンドに対して、ACCEPTED(アクセプティッド)が返答された事を通知するパケットを、中継装置A101に対して、タイミング609で通知する。このタイミング609で伝送されるパケットは、前記タイミング603で伝送されたパケットの応答パケットであることを、中継装置A101が認識できるようにする必要がある。そのため、例えば、通信パケットと、該通信パケットに対する応答パケットとの間で、同一のトランザクションラベルを保持するということができる。前記トランザクションラベルを採用する場合、中継装置A101は、タイミング603で伝送するパケットに付加したトランザクションラベルを覚えておき、タイミング609で中継装置B102から伝送されたパケットに付加されているトランザクションラベルと比較し、同一のトランザクションラベルである事を確認することによって、タイミング609で伝送されるパケットが、前記タイミング603で伝送されたパケットの応答パケットであることを認識する。
次に、中継装置A101は、前記タイミング609における通信を正しく受信できた場合、中継装置間ネットワークの通信プロトコルに従い、ACKNOWLEDGEパケットをタイミング610で返答する。
中継装置A101は、前記タイミング609における通信を受けて、STB104に対して、前記タイミング601におけるPLAYコマンドのAVCレスポンスとして、ACCEPTEDをタイミング611で発行する。
STB104は、前記タイミング611におけるACCEPTEDを正しく受信できた場合、前記Writeトランザクションに対する応答パケットであるack_completeをタイミング612で返答する。
このように、本実施の形態1で説明した発明によれば、各IEEE1394機器は、接続バスとは無関係に、互いの存在を認識できるようになる。
さらに、IEEE1394機器が、自身が接続されている中継装置の有する仮想AVCサブユニットに対しデータ通信を行った場合は、この中継装置が仮想AVCサブユニットに対応するAVCサブユニットが接続されている中継機器に、そのデータ通信の内容を通知し、通知された中継機器からAVCサブユニットを有するIEEE1394機器に通知されたものと同じ内容のデータ通信を行う。したがって、互いに異なるバスに接続されているIEEE1394機器間でデータ通信を行うことができる。
すなわち、本実施の形態1で説明した発明によれば、複数のIEEE1394バスが存在し、各バスにIEEE1394機器が接続されている場合でも、接続されているバスに無関係に各IEEE1394機器同士の操作を行うことができる。
また、仮想AVCサブユニットに対するデータ通信の内容として、各AVCサブユニットに対する制御命令、操作指令等に限られるものではなく、MPEG、DV形式等のデータであってもよい。
さらに、本実施の形態では、中継装置間ネットワーク上で各中継機器を特定する手段としてMACアドレスを利用した例を示したが、同様にMACアドレスを利用することが可能なIEEE802ネットワークとして、無線LANであるIEEE802.11ネットワークや無線PANであるIEEE802.15ネットワーク、および有線ネットワークであるIEEE802.3ネットワーク等のどれでも実現できることは言うまでもない。さらには、中継装置が、中継装置間ネットワーク上で固有かつ一意なアドレスを保有できるのであれば、中継装置間ネットワークを、PLC(Power Line Communication(パワー ライン コミュニケーション))ネットワークや、ATM(Asynchronous Transfer Mode(アシンクロナス トランスファ モード))ネットワーク等でも、実現できる。
また、本実施の形態では、図2に示すように中継装置をハードウェアにて構成するとしたが、ソフトウェアによって中継装置の機能を実現してもよいのは言うまでもない。
実施の形態2.
本実施の形態では、互いに異なるIEEE1394バスに接続された機器間において、Isochronousコネクションを確立する方法について説明する。実施の形態1にて説明したように、仮想AVCサブユニットやサブユニット管理データベースを用いることにより、互いに異なるIEEE1394バスに接続された機器同士が通信できるようになったが、本実施の形態では、互いに異なるIEEE1394バスに接続された機器同士でデータを流すルートを確立する方法について説明する。
<中継装置の構成>
図11に本実施の形態に係る中継装置A101の構成を示す。なお、実施の形態1と同じ構成要素については、説明を省略する。コマンド・データ転送手段1014は、CONNECT(コネクト)コマンド有効判定手段1014a、アドレス変換手段1014b、ユニットプラグ設定Lock Transaction(ロック トランザクション)転送遅延手段1014cを備える。CONNECTコマンド有効判定手段1014aは、CONNECT control command(コネクト コントロール コマンド)に代表されるCONNECTコマンドを第一の通信手段1010から受信する。そして、後述するCONNECTコマンド有効判定データベースに基づいて判定を行い、その結果をユニットプラグ設定Lock Transaction転送遅延手段1014cに送信する。ユニットプラグ設定Lock Transaction転送遅延手段1014cは、必要に応じて、ユニットプラグを設定するためのLock Transactionのリクエストを発行するタイミングを遅延する。アドレス変換手段1014bは、記憶手段1013に記憶されているサブユニット管理データベースを参照して、第一の通信手段1010から受信したコマンドやデータの転送アドレスを変換し、第二の通信手段1011に転送する。なお、中継装置B102、中継装置C103も中継装置A101と同様の構成である。また、コマンド・データ転送手段1014はCONNECTコマンド有効判定手段1014a、アドレス変換手段1014b、ユニットプラグ設定Lock Transaction転送遅延手段1014cからなるとしたが、それぞれが独立した構成要素であってもよい。
<Isochronousコネクションの確立>
図9において、STB104と、DVCR_A105が保有するTAPEサブユニットA112との間でIsochronousコネクションを確立する場合を考える。この場合、STB104と、TAPEサブユニットA112に対応する仮想TAPEサブユニットA116との間でIsochronousコネクションを確立すると共に、TAPEサブユニットA112を保有するDVCR_A105が接続されている中継装置B102と、TAPEサブユニットA112との間でIsochronousコネクションを確立する必要がある。
しかしながら、STB104は仮想TAPEサブユニットA116を認識することはできるが、TAPEサブユニットA112を直接認識することはできない。したがって、STB104は、仮想TAPEサブユニットA116との間でIsochronousコネクションを確立する動作は行うが、TAPEサブユニットA112が関係するIsochronousコネクションには関与できない。すなわち、STB104は、IEEE1394バスA108のIsochronous Resource Manager(アイソクロナス リソース マネージャ)(以下、「IRM」と記す。)と、仮想TAPEサブユニット116を保有する中継装置A101のユニットプラグの設定を行うLock Transaction、Isochronous通信帯域を確保するためのLock Transaction、データの伝送チャンネルを確保するためのLock Transactionをそれぞれ実行し、中継装置A101のユニットプラグと仮想TAPEサブユニットA116のサブユニットプラグを接続するよう指示するCONNECT control commandを発行するが、TAPEサブユニットA112に関するこれらのLock Transactionの実行や、AVCコマンドの発行は行わない。
ところで、本発明によるIEEE1394ネットワークでは、中継装置が保有する仮想AVCサブユニットに対してコマンドやデータが送信された場合は、中継装置が保有するサブユニット管理データベースを参照し、コマンドやデータの転送先を指定することができる。しかし、ユニットである中継装置に対してコマンドやデータが送信された場合は、中継装置は送信されてきたコマンドやデータの転送先を指定することができない。
例えば、STB104とTAPEサブユニットA112との間でIsochronousコネクションを確立しようとした場合に発行されるCONNECT control commandは、中継装置A101のユニットプラグと仮想TAPEサブユニットA116のサブユニットプラグを接続するよう指示するAVCコマンドである。したがって、このCONNECT control commandを受信した中継装置A101は、サブユニット管理データを参照して、指定された仮想TAPEサブユニットA116がTAPEサブユニットA112に対応し、TAPEサブユニットA112を保有するのはDVCR_A105であり、DVCR_A105はIEEE1394バスB109を介して中継装置B102に接続されていることを認識できる。その結果、中継装置A101は、受信したコマンドを中継装置B102に転送すればよいと判断することが可能である。
しかし、Lock Transactionの実行では、ユニットである中継装置の指定は行われるが、中継装置内のサブユニットの指定は行われない。このため、CONNECT control commandの場合と異なり、Lock Transactionの実行に関与した中継装置は、この実行のみでは、その内容を転送すべき他の中継装置やサブユニットを判断することができない。そこで、本実施の形態に係る中継装置では、CONNECT control commandの情報を利用してLock Transactionを実行する。
一方、Isochronous通信帯域を確保するためのLock Transactionの実行と、データの伝送チャンネルを確保するためのLock Transactionの実行は、IRMが実行の一方として関与する。したがって、中継装置がIRMである場合は、これらのLock Transactionを実行するが、中継装置がIRMでない場合は、該中継装置がこれらのLock Transactionを実行することはない。したがって、例えば中継装置A101がIEEE1394バスA108のIRMでない場合は、これら2種類のLock Transactionには関与せず、実行されたか否か判断することができない。そこで、本実施の形態に係る中継装置では、これらのLock Transactionの実行については考慮せず、ユニットプラグの設定を行うLock Transactionを実行した場合に、Isochronousコネクションの確立を要求されていると判断する。
したがって、中継装置A101は、ユニットプラグの設定を行うLock Transactionを実行した後、この内容を中継装置B102に転送する。転送後、さらに中継装置A101は中継装置B102に対し、Isochronous通信帯域を確保するためのLock Transactionと、データの伝送チャンネルを確保するためのLock Transactionの実行を要求する。中継装置B102は、この要求に基づいて、Isochronous通信帯域を確保するためのLock Transactionと、データの伝送チャンネルを確保するためのLock Transactionを実行する。
ただし、Isochronous通信帯域を確保するためのLock Transactionと、データの伝送チャンネルを確保するためのLock Transactionの実行の要求は中継装置A101から中継装置B102に転送される必要はない。つまり、中継装置B102は、中継装置A101からユニットプラグの設定を行うLock Transactionの実行に関して受信した場合、Isochronousコネクションの確立を要求されていると判断し、TAPEサブユニットA112を保有するDVCR_A105と、Isochronous通信帯域を確保するためのLock Transactionと、データの伝送チャンネルを確保するためのLock Transactionを実行してもよい。
すなわち、中継装置A101は、STB104が発行したCONNECT control commandから、STB104がIsochronousコネクションの確立を要求しているのはTAPEサブユニット112であると判断する。そして、中継装置A101は、ユニットプラグの設定を行うLock Transactionを実行した場合に、中継装置B102にその内容を転送する。中継装置B102は、中継装置A101から転送されてきた通信内容に基づいて、中継装置B102とDVCR_A112が保有するTAPEサブユニットA112との間でIsochronousコネクションを確立する動作を行う。
<Isochronousコネクション確立の通信シーケンス(1)>
次に、STB104とTAPEサブユニットA112との間でIsochronousコネクションを確立する場合のシーケンスを、図12及び図13を用いて説明する。
前述の通り、STB104は、TAPEサブユニットA112との間でIsochronousコネクションを確立するために、3種類のLock Transactionを実行し、中継装置A101に対しCONNECT control commandを発行する。しかし、これらのLock Transactionの実行とCONNECT control commandの発行の順序は特に規定されておらず、機種毎に異なる。さらに、Isochronous通信帯域を確保するためのLock Transactionと、データの伝送チャンネルを確保するためのLock Transactionの実行は、実行に関与する一方がIRMの場合のみ行われるものであり、中継装置A101がIRMではない場合、この2種類のLock Transactionは実行されない。したがって、ここでは、これら2種類のLock Transactionの実行に中継装置A101が関与しても、その内容は中継装置B102には転送されない。
図12は、STB104から、先にCONNECT control commandが発行され、続いてユニットプラグを設定するためのLock Transactionが実行される場合を説明するためのシーケンス図である。図13は、STB104からCONNECT control commandが発行される前に、ユニットプラグを設定するためのLock Transactionが実行される場合を説明するためのシーケンス図である。
図12に示すように、ユニットプラグを設定するためのLock Transactionが実行される前にCONNECT control commandが発行される場合、中継装置A101は、自身が保有するサブユニット管理データを参照して、コマンドやトランザクション内のアドレス情報を変換した後、中継装置B102に転送する。しかし、CONNECT control commandと、ユニットプラグを設定するためのLock Transactionの実行に関する転送の送信順序は変更しない。
これは、前述したように、ユニットプラグを設定するためのLock Transactionの実行では、ユニットである中継装置A101の指定は行われるが、中継装置内のサブユニットの指定は行われない。したがって、このLock Transactionの実行のみでは、その内容を転送すべき他の中継装置やサブユニットを判断することができない。一方、CONNECT control commandは、中継装置A101のユニットプラグと仮想TAPEサブユニットA116のサブユニットプラグを接続するよう指示するAVCコマンドである。したがって、このCONNECT control commandを受信した中継装置A101は、サブユニット管理データを参照して、指定された仮想TAPEサブユニットA116がTAPEサブユニットA112に対応し、TAPEサブユニットA112を保有するのはDVCR_A105であり、DVCR_A105はIEEE1394バスB109を介して中継装置B102に接続されていることを認識できる。その結果、中継装置A101は、受信したコマンドを中継装置B102に転送すればよいと判断することが可能である。したがって、図12に示すように、CONNECT control commandの発行がユニットプラグを設定するためのLock Transactionの実行より前の場合では、中継装置A101は、Lock Transactionの実行のリクエストの転送先も認識しているからである。
図12において、タイミング1101で、STB104から発行されたCONNECT control commandを受信した中継装置A101は、該CONNECT control commandの送信元がSTB104である旨と、該CONNECT control commandの内で指定された中継装置A101のユニットプラグを記憶しておく。なお、中継装置A101は、自身が保有するユニットプラグ毎に、該ユニットプラグを指定するCONNECT control commandを受信し既に有効になっているか否かと、該ユニットプラグを有効にしているCONNECT control commandの送信元とを管理するためのCONNECTコマンド有効判定データベースをCONNECTコマンド有効判定手段1014a内に備える。図15に、CONNECTコマンド有効判定データベースの一例を示す。図15に示すCONNECTコマンド有効判定データベースでは、ユニットプラグとして2個の入力プラグと2個の出力プラグを備える中継装置A101について記載されており、各プラグ毎に、CONNECTコマンド有効判定欄とCONNECT control command送信元欄がある。
例えば、STB104から中継装置A101に発行されたCONNECT control commandの内容が、仮想TAPEサブユニットA116から出力されるデータを中継装置A101の出力プラグ1を経由してSTB104に受信させる指示であった場合、CONNECTコマンド有効判定データベースは、CONNECTコマンド有効判定手段1014aにより、出力プラグ1に関するCONNECTコマンド有効判定フラグを「有効」と設定され、CONNECT control command送信元1502として「STB104」を設定される。ここで、「STB104」の設定には、STB104のアドレスを用いても良い。
なお、中継装置A101が接続されているIEEE1394バスA108上でバスリセットが発生した場合には、全ての入力プラグと出力プラグのCONNECTコマンド有効判定フラグは「無効」にリセットされ、CONNECT control command送信元1502の情報も削除される。
説明を図12のシーケンス図に戻す。タイミング1101で、STB104から発行されたCONNECT control commandを受信した中継装置A101は、自身の保有するサブユニット管理データベースを参照して、アドレス変換手段1014Bを用いて、該CONNECT control command内で指定されているユニットプラグとサブユニットプラグのアドレスを変換し、該CONNECT control commandをタイミング1102で中継装置B102に転送する。ここで、アドレスを変換するのは、タイミング1101で中継装置A101が受信したCONNECT control commandでは、ユニットとして中継装置A101、サブユニットとして仮想TAPEサブユニット116が指定されており、それぞれDVCR_A105とTAPEサブユニット112のアドレスに変換する必要があるからである。該コマンドを受信した中継装置B102は、DVCR_A105のユニットプラグとTAPEサブユニット112のサブユニットプラグを接続するCONNECT control commandをタイミング1103にて発行する。
DVCR_A105は、受信したコマンドの指示に従ってDVCR_A105のユニットプラグとTAPEサブユニット112のサブユニットプラグを接続し、その結果をタイミング1104にて中継装置B102に返答する。この返答は、タイミング1105で中継装置B102から中継装置A101に転送され、さらに、タイミング1106で中継装置A101からSTB104に転送される。現実の動作は、DVCR_A105のユニットプラグとTAPEサブユニットA112のサブユニットプラグを接続したものであるが、この返答を受信したSTB104は、中継装置A101のユニットプラグと仮想TAPEサブユニットA116のサブユニットプラグが接続されたと認識する。(タイミング1104はack_completeではないと考えて追加しました。)
さらに、タイミング1107で、STB104から発行された、ユニットプラグを設定するためのLock Transactionのリクエストを受信した中継装置A101は、該Lock Transactionのリクエスト内で指定されているユニットプラグのアドレスを変換して、該Lock Transactionのリクエストをタイミング1108で中継装置B102に転送する。中継装置B102は、タイミング1109でDVCR_A105のユニットプラグを設定するLock Transactionのリクエストを発行する。DVCR_A105は、受信したリクエストの指示に従ってDVCR_A105のユニットプラグを設定し、その結果をタイミング1110にて中継装置B102に返答する。この返答は、タイミング1111で中継装置B102から中継装置A101に転送され、さらに、タイミング1112で中継装置A101からSTB104に転送される。タイミング1107から1112までの動作がユニットプラグを設定するためのLock Transactionである。現実の動作は、DVCR_A105のユニットプラグの設定であるが、この返答を受信したSTB104は、中継装置A101のユニットプラグが設定されたと認識する。
また、タイミング1106で、中継装置A101が発行したユニットプラグを設定するためのLock Transactionのリクエストを受信した中継装置B102は、Isochronous通信帯域を確保するためのLock Transactionのリクエストと、データの伝送チャンネルを確保するためのLock TransactionのリクエストをIEEE1394バスB109のIRMに対し発行する。なお、確保されたIsochronous通信帯域は、あらかじめ定められた固定値の帯域でもよく、該Lock Transactionのリクエストが指定するユニットプラグのMCR(Master Plug Register)やPCR(Plug Control Register)から計算される値でもよい。また、確保される伝送チャンネルは、IEEE1394バスB109上で空いている伝送チャンネルであればよい。
図12に、DVCR_A105がIEEE1394バスB109のIRMであり、中継装置B102とDVCR_A105との間で、Isochronous通信帯域を確保するためのLock Transactionと、データの伝送チャンネルを確保するためのLock Transactionが実行された場合のシーケンスをタイミング1113から1116に示す。DVCR_A105がIEEE1394バスB109のIRMでない場合、DVCR_A105はこれら2種類のLock Transactionの実行に関与しない。
<Isochronousコネクション確立の通信シーケンス(2)>
一方、図13は、STB104からCONNECT control commandが発行される前に、ユニットプラグを設定するためのLock Transactionが実行される場合を説明するためのシーケンス図である。
この場合、STB104と中継装置A101で実行されたユニットプラグを設定するためのLock Transactionの内容の転送先は、中継装置A101がCONNECT control commandを受信するまで判明しない。したがって、中継装置A101は、ユニットプラグ設定Lock Transaction転送遅延手段1014cを用いて、CONNECT control commandを受信した後、該Lock Transactionの内容を転送する。CONNECT control commandを既に受信しているか否かの判定には、CONNECTコマンド有効判定データベースを使用する。
図13において、タイミング1201で、STB104から発行されたユニットプラグを設定するためのLock Transactionのリクエストを受信した中継装置A101は、CONNECTコマンド有効判定手段1014a内のCONNECTコマンド有効判定データベースを参照して、STB104から発行されたCONNECT control commandを既に受信しているか否かを判定する。該コマンドを受信していない場合、CONNECTコマンド有効判定データベースのCONNECT control command送信元欄に「STB104」が設定されていない。したがって、CONNECT control command送信元に「STB104」が設定されていない場合、中継装置A101は、STB104からのCONNECT control commandを受信していないと判断する。したがって、この時点で中継装置A101は、ユニットプラグを設定するためのLock Transactionのリクエストの転送先を判断できないが、STB104に対し、該Lock Transactionに関し返答する(タイミング1202)。CONNECTコマンド有効判定手段1014cから判定結果を受信したユニットプラグ設定Lock Transaction転送遅延手段1014cは、第一の通信手段1014bからのユニットプラグを設定するためのLock Transactionのリクエストを直ちにアドレス変換手段1014bには送信せず、転送先が判明するまで該リクエストの転送は遅延される。
タイミング1202で、中継装置A101から、ユニットプラグを設定するためのLock Transactionのリクエストに対する返答を受信したSTB104は、CONNECT control commandをタイミング1203で発行する。中継装置A101は、タイミング1203で、自身の保有するサブユニット管理データベースを参照して、該CONNECT control command内で指定されているユニットプラグとサブユニットプラグのアドレスを変換して、該CONNECT control commandをタイミング1204で中継装置B102に転送する。なお、タイミング1203の時点で中継装置A101は、先ほど受信したユニットプラグを設定するためのLock Transactionのリクエストの転送先を認識する。該コマンドを受信した中継装置B102は、DVCR_A105のユニットプラグとTAPEサブユニット112のサブユニットプラグを接続するCONNECT control commandをタイミング1205にて発行する。
DVCR_A105は、受信したコマンドの指示に従ってDVCR_A105のユニットプラグとTAPEサブユニット112のサブユニットプラグを接続し、その結果をタイミング1206にて中継装置B102に返答する。この返答は、タイミング1207で中継装置B102から中継装置A101に転送される。
また、中継装置A101は、タイミング1201で受信し、ユニットプラグ設定Lock Transaction転送遅延手段1014cにより転送を遅延されていたLock Transactionのリクエストをアドレス変換手段1014bに転送し、該リクエストのユニットプラグのアドレスを、自身の保有するサブユニット管理データベースを参照して変換した後、該Lock Transactionのリクエストをタイミング1212で中継装置B102に転送する。中継装置B102は、タイミング1213で、DVCR_A105のユニットプラグを設定するLock Transactionのリクエストを発行する。DVCR_A105は、受信したリクエストの指示に従ってDVCR_A105のユニットプラグを設定し、その結果をタイミング1214にて中継装置B102に返答する。さらに、この返答は、タイミング1215で中継装置B102から中継装置A101に転送される。
このように、図13では、タイミング1204でCONNECT control commandが転送され、タイミング1212でユニットプラグを設定するためのLock Transactionのリクエストが転送されており、中継装置A101から中継装置B102への転送順序は、STB104から中継装置A101への転送順序から変更されている。なお、タイミング1203の時点で中継装置A101は、該Lock Transactionのリクエストの転送先を認識できるので、このタイミング1203以降であれば、該Lock Transactionのリクエストの転送とCONNECT control commandの転送の順序は問わない。さらに、中継装置B102によるCONNECT control commandの発行のタイミングと、中継装置B102とDVCR_A105との間で実行される3種類のLock Transactionの順序も問わない。但し、中継装置A101が、CONNECT control commandの実行結果と3種類のLock Transactionの実行結果を認識する必要がある。したがって、図13に示すように、ユニットプラグを設定するためのLock Transactionが最後に実行される順序とすれば、中継装置A101はタイミング1215の返答により、CONNECT control commandの実行と3種類のLock Transactionの実行が正しく処理されたことを認識することができる。
また、中継装置A101は、タイミング1216で、タイミング1203で発行されたCONNECT control commandの返答を、STB104に発行する。IEEE1394バスB109でIsochronousコネクションを確立する前に、該CONNECT control commandの返答をSTB104に発行すると、その後Isochronousコネクションの確立に失敗した場合に、STB104がその状態を認識できないからである。
<Isochronousコネクション確立の通信シーケンス(3)>
図14は、ユニットプラグを設定するためのLock Transactionの実行が失敗した場合を説明するためのシーケンス図である。
この場合、タイミング1213までの処理は図13に示したシーケンスと同じである。DVCR_A105にて期待したユニットプラグが設定できなかった場合、タイミング1214で、該Lock Transactionの失敗がDVCR_A105から中継装置B102に通知される。さらに、タイミング1215で、中継装置B102から中継装置A101に該Lock Transactionの失敗が転送される。中継装置A101は、タイミング1203で発行されたCONNECT control commandが正しく実行されなかったことをSTB104に認識させるために、該Lock Transactionの失敗をSTB104に転送せず、タイムアウトさせる。AVCプロトコルでは、コマンドからレスポンスまでの遅延許容時間は規定されており、その遅延許容時間内にレスポンスが戻ってこない場合は、該コマンドは正しく処理できなかったと認識される。また、コマンドが正しく処理できない事を意味する「REJECTED(リジェクティッド)」をSTB104に返答してもよい。
中継装置B102は、ステップ1214で、ユニットプラグを設定するためのLock Transactionが失敗したことを認識したので、タイミング1214以前に実行されたIsochronous通信帯域を確保するためのLock Transaction、データの伝送チャンネルを確保するためのLock Transactionで確保されたリソースの返還を行う。タイミング1208のIsochronous通信帯域を確保するためのLock Transactionに対しては、ステップ1216で、確保しているIsochronous通信帯域を返還するためのLock TransactionのリクエストをIEEE1394バスB109上のIRMに発行する。IRMは、実行結果をタイミング1217で返答する。さらに、ステップ1210の伝送チャンネルを確保するためのLock Transactionに対しては、ステップ1218で、確保している伝送チャンネルを返還するためのLock TransactionのリクエストをIRMに発行する。IRMは、実行結果をタイミング1219で返答する。
なお、図14には示していないが、STB104は、ステップ1203で発行したCONNCET control commandが正常に処理されなかったことを認識する前に、IEEE1394バスA108上のIRMに対して、Isochronous通信帯域を確保するためのLock Transactionと、伝送チャンネルを確保するためのLock Transactionを発行している場合がある。その場合は、STB104は、ステップ1203で発行したCONNCET control commandが正常に処理されなかったことを認識した後で、IEEE1394バスA108のIRMに対して、既に確保しているIEEE1394バスA108のIsochronous通信帯域と伝送チャンネルを返還するLock Transactionを発行する。
また、本実施の形態では、CONNECTコマンド有効判定データベースをCONNECTコマンド有効判定手段1014a内に備えるとしたが、CONNECTコマンド有効判定手段1014aは判定のみを行い、生成手段と記憶手段により、CONNECTコマンド有効判定データベースの生成、記憶が行われてもよい。
また、本実施の形態では、STB104とDVCR_A105が保有するTAPEサブユニットA112との間でIsochronousコネクションを確立する場合について説明したが、その他のIEEE1394機器間、サブユニット間でIsochronousコネクションを確立する場合でもよいのは言うまでもない。
また、本実施の形態では、図11に示すように中継装置をハードウェアにて構成するとしたが、ソフトウェアによって中継装置の機能を実現してもよいのは言うまでもない。
このように、本実施の形態で説明した中継装置によれば、IEEE1394機器が異なるIEEE1394バス上の1394機器との間でデータの伝送を行う場合に、各IEEE1394機器が接続されたIEEE1394バス上で、各IEEE1394機器と、同じ1394バス上の中継装置との間で、それぞれIsochronousコネクションを確立できるようになる。それぞれのIEEE1394バス上でIsochronousコネクションが確立できることにより、各IEEE1394機器は、中継装置および中継装置間ネットワークを意識することなく、従来のIEEE1394バスに接続されている場合と同じように、Isochronousコネクションによるデータ伝送を行うことができる。さらに、該中継装置間を接続する中継装置間ネットワーク上で、前記Isochronousコネクションにより伝送されたストリームを中継することにより、異なるIEEE1394バス上の1394機器の間でも、Isochronousコネクションによるデータ伝送を行うことができる。

Claims (10)

  1. IEEE1394バスに接続され、当該IEEE1394バスに接続される機器と通信を行う第一の通信手段と、
    中継装置間ネットワークに接続され、当該中継装置間ネットワークに接続される他の中継装置と通信を行う第二の通信手段と
    を備え、
    当該第一の通信手段は、前記IEEE1394バスに接続される機器に関するサブユニット構成情報を受信し、
    前記第二の通信手段は、当該サブユニット構成情報を前記中継装置間ネットワークに接続される他の中継装置に送信し、
    前記サブユニット構成情報は、前記IEEE1394バスに接続される機器毎に、少なくとも当該機器が保有するサブユニットの種類と数とを含むこと
    を特徴とする中継装置。
  2. IEEE1394バスに接続され、当該IEEE1394バスに接続される機器と通信を行う第一の通信手段と、
    中継装置間ネットワークに接続され、当該中継装置間ネットワークに接続される他の中継装置と通信を行う第二の通信手段と、
    サブユニット管理データベースを生成するサブユニット管理データベース生成手段と、
    当該サブユニット管理データベースを記憶する記憶手段と
    を備え、
    前記第二の通信手段は、前記中継装置間ネットワークに接続される他の中継装置から送信される、当該他の中継装置にIEEE1394バスにより接続されている機器が保有するサブユニットの種類と個数とを少なくとも含むサブユニット構成情報を受信し、
    前記サブユニット管理データベース生成手段は、当該サブユニット構成情報に基づいて前記サブユニット管理データベースを生成し、
    前記第一の通信手段は、前記サブユニット管理データベースを参照して、自装置が保有するサブユニットとして、前記第一の通信手段にIEEE1394バスにより接続される機器に送信すること
    を特徴とする中継装置。
  3. サブユニット構成情報は、
    サブユニットを保有している機器の識別子と、
    当該サブユニットの種類と、
    前記サブユニットの個数
    からなることを特徴とする請求項1又は2に記載の中継装置。
  4. サブユニット管理データベースは、
    他の中継装置に接続されるIEEE1394バスの識別子と、
    当該IEEE1394バスに接続され、サブユニットを保有している機器の識別子と、
    当該サブユニットの種類と、
    当該サブユニットに対応する仮想AVCサブユニット
    からなることを特徴とする請求項2に記載の中継装置。
  5. IEEE1394バスにより第一の通信手段に接続されている機器から、仮想AVCサブユニットに通信の要求ある場合、
    サブユニット管理データベースを参照して、当該仮想AVCサブユニットに関連する中継装置を特定し、
    第二の通信手段は、当該中継装置に前記通信要求を送信すること
    を特徴とする請求項4に記載の中継装置。
  6. IEEE1394バスにより第一の通信手段に接続されている機器から、仮想AVCサブユニットにIsochronousコネクション確立の要求がある場合、
    サブユニット管理データベースと、前記機器が発行するCONNECTコマンドとを参照して、当該仮想AVCサブユニットに関連する中継装置を特定し、
    第二の通信手段は、当該中継装置に前記CONNECTコマンドを送信することを特徴とする請求項4に記載の中継装置。
  7. CONNECTコマンド内のアドレスを変換するアドレス変換手段
    を備えることを特徴とする請求項6に記載の中継装置。
  8. CONNECTコマンドを受信しているか否かを判定するCONNECTコマンド有効判定手段と、
    ユニットプラグを設定するLock Transactionの要求の転送を遅延するユニットプラグ設定Lock Transaction転送遅延手段と
    を備え、
    IEEE1394バスにより第一の通信手段に接続されている機器から、ユニットプラグを設定するLock Transactionの要求を受信した際、
    前記CONNECTコマンド有効判定手段がCONNECTコマンドを受信していないと判定した場合は、
    CONNECTコマンドを受信するまで、当該ユニットプラグを設定するLock Transactionの転送を遅延すること
    を特徴とする請求項6に記載の中継装置。
  9. IEEE1394バスと、中継装置間ネットワークとに接続可能な中継装置を複数用いて構成される当該中継装置間ネットワークの情報通信方法であって、
    前記IEEE1394バスに接続される機器に関するサブユニット構成情報を受信する受信ステップと、
    当該サブユニット構成情報を前記中継装置間ネットワークに接続される他の中継装置に送信する送信ステップと
    を備え、
    前記サブユニット構成情報は、前記IEEE1394バスに接続される機器毎に、少なくとも当該機器が保有するサブユニットの種類と数とを含むこと
    を特徴とする情報通信方法。
  10. IEEE1394バスと、中継装置間ネットワークとに接続可能な中継装置を複数用いて構成される当該中継装置間ネットワークの情報通信方法であって、
    前記中継装置間ネットワークに接続される他の中継装置から送信される、当該他の中継装置にIEEE1394バスにより接続されている機器が保有するサブユニットの種類と個数とを少なくとも含むサブユニット構成情報を受信する受信ステップと、
    当該サブユニット構成情報に基づいて前記サブユニット管理データベースを生成する生成ステップと、
    前記サブユニット管理データベースを参照して、自装置が保有するサブユニットとして、当該自装置にIEEE1394バスにより接続される機器に送信する送信ステップとを備えることを特徴とする情報通信方法。
JP2005517020A 2004-01-13 2005-01-11 中継装置及び情報通信方法 Pending JPWO2005069550A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2004005531 2004-01-13
JP2004005531 2004-01-13
PCT/JP2005/000184 WO2005069550A1 (ja) 2004-01-13 2005-01-11 中継装置及び情報通信方法

Publications (1)

Publication Number Publication Date
JPWO2005069550A1 true JPWO2005069550A1 (ja) 2007-12-27

Family

ID=34792104

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005517020A Pending JPWO2005069550A1 (ja) 2004-01-13 2005-01-11 中継装置及び情報通信方法

Country Status (2)

Country Link
JP (1) JPWO2005069550A1 (ja)
WO (1) WO2005069550A1 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3922817B2 (ja) * 1998-06-30 2007-05-30 株式会社東芝 通信ノード及び通信端末
JP3576004B2 (ja) * 1998-09-29 2004-10-13 株式会社東芝 無線端末及び無線ノード並びに通信制御方法

Also Published As

Publication number Publication date
WO2005069550A1 (ja) 2005-07-28

Similar Documents

Publication Publication Date Title
US7324531B2 (en) Gateway enabling data communication between devices having different middlewares
JP4536981B2 (ja) 情報信号処理装置及び情報信号処理方法
US6445711B1 (en) Method of and apparatus for implementing and sending an asynchronous control mechanism packet used to control bridge devices within a network of IEEE STD 1394 serial buses
US20090046623A1 (en) Network repay device, network relay program, and storage medium containing the network relay program
JP4143405B2 (ja) 無線リンクを介してieee1394規格遠隔装置をieee1394規格装置のクラスタへ接続する方法
US9276772B2 (en) Method and apparatus for transmitting and receiving data based on secured path bandwidth in network established by using audio/video interface
US20020061025A1 (en) Data transmitting and receiving apparatus and data transmitting and receiving method
US7251703B1 (en) Method of time stamping to enable device bridging over dissimilar buses
US6272114B1 (en) Data processing apparatus/method and electronic apparatus with such apparatus/method
US8582576B2 (en) Method of bus configuration to enable device bridging over dissimilar buses
US20020181497A1 (en) Method and apparatus for converting and directing communications between devices operating under an ieee 1394 serial bus network protocol and devices operating under another protocol
US7826492B2 (en) Communication system, cycle master node and communication method
JPH10290247A (ja) データ通信方法、装置、システム、及び記憶媒体
JPWO2005069550A1 (ja) 中継装置及び情報通信方法
JP2003229857A (ja) シリアルバスシステム、シリアルバスの帯域管理機器および通信機器
JPH11215132A (ja) 情報処理装置および方法、並びに提供媒体
JP3560522B2 (ja) Ieee1394上のデータ受信装置における受信方法
JP2006324869A (ja) ネットワークシステムにおける通信処理方法および通信機器
JP3996832B2 (ja) ネットワーク間でゲートウェイを実現する方法及びゲートウェイ装置
JP2002111698A (ja) データ転送装置、ネットワークシステム及びデータ転送方法
JP5321349B2 (ja) データ転送方法及びデータ転送装置
KR20090030548A (ko) Ieee 1394 브리지 제어장치 및 방법
JPH10243022A (ja) パケット変換装置および媒体
JP2003309575A (ja) 通信装置
JP2007195101A (ja) 1394ゲートウェイ装置