リモート制御システム
【課題】 複数のデバイス間でユーザにより設定されたIDが重複する場合でも、直近の動作時に一群の制御対象として動作していたデバイスを識別して制御対象を選択できるようにする。
【解決手段】 複数の制御装置と、その制御装置により制御される複数のデバイスとを備えるリモート制御システムにおいて、各デバイスに、ユーザが設定する第1IDと、制御装置による制御対象となったデバイスに共通して記憶させる第2IDとを記憶させておき、制御装置が、第2IDを記憶すると共に制御対象とする複数のデバイスを第1IDによりデバイス毎に特定しつつ、各デバイスから上記第1ID及び第2IDを取得し、第1IDに基づいて制御対象に対応付けるべきデバイスを選択し、そのデバイスの第2IDが制御装置の記憶する第2IDと一致すれば対応付けを行い、一致しなければ警告を行うようにした(S305〜S307)。
【解決手段】 複数の制御装置と、その制御装置により制御される複数のデバイスとを備えるリモート制御システムにおいて、各デバイスに、ユーザが設定する第1IDと、制御装置による制御対象となったデバイスに共通して記憶させる第2IDとを記憶させておき、制御装置が、第2IDを記憶すると共に制御対象とする複数のデバイスを第1IDによりデバイス毎に特定しつつ、各デバイスから上記第1ID及び第2IDを取得し、第1IDに基づいて制御対象に対応付けるべきデバイスを選択し、そのデバイスの第2IDが制御装置の記憶する第2IDと一致すれば対応付けを行い、一致しなければ警告を行うようにした(S305〜S307)。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、複数の制御装置と、その制御装置により制御される複数のデバイスとを備えるリモート制御システムに関する。
【背景技術】
【0002】
従来から、複数のデバイス間でデータの伝送を行うための種々のネットワークシステムが知られている。
例えば、複数のノード間で音響信号の伝送を行うためのオーディオネットワークシステムが知られており、コンサート、演劇、音楽製作、構内放送等において用いられている。このようなオーディオネットワークシステムの例としては、以下の非特許文献1,2に記載のような、CobraNet(商標),EtherSound(商標)が知られている。
【0003】
また、これら以外に、特許文献1に記載のネットワークシステムも提案されている。
この特許文献1に記載のネットワークシステムにおいては、システムを構成する各デバイスにより形成されるリング状の伝送路にフレームを定期的に循環させ、各デバイスがそのフレームに対して必要な情報を読み書きすることにより、システムを構成する任意のデバイスから任意のデバイスへ、音響信号だけでなくイーサネット(登録商標)フレーム等の制御信号も、安定して伝送することができる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2009−94589号公報
【非特許文献】
【0005】
【非特許文献1】「CobraNet(TM)」、[online]、バルコム株式会社、[平成18年3月21日検索]、インターネット<URL:http://www.balcom.co.jp/cobranet.htm>
【非特許文献2】Carl Conrad、「EtherSound(TM) in a studio environment」、[online]、Digigram S.A.、[平成18年3月21日検索]、インターネット<URL:http://www.ethersound.com/news/getnews.php?enews_key=101>
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、上述したようなネットワークシステムにおいて、ある制御装置によりシステム内のデバイスを制御するリモート制御システムを構成しようとする場合、その制御範囲を特定するためにシステムIDを用いたり、具体的な制御対象を特定するためにデバイスIDを用いたりすることが考えられる。そしてこの場合、各デバイスにシステムIDとデバイスIDを予め設定しておき、制御装置がこれらのIDに基づいて制御対象のデバイスを特定することが考えられる。
【0007】
このような用途のIDは、ユーザによる設定を楽にしたり、設定画面を簡素にしたりするために、1〜数桁の数字や1〜数文字のアルファベットなど、簡単な内容にすることが好ましい。
しかし、このようなIDを採用した場合、ユーザが把握できる範囲ではデバイス間で一意性を確保できるとしても、偶然やミスによりデバイス間でIDが重複してしまい、デバイスを識別できなくなる恐れがあった。
【0008】
例えば、システムに新たなデバイスを追加しようとした場合に、その新たなデバイスに誤って既存のデバイスと同じIDが設定されていると、それらのどちらのデバイスが新たに追加されたデバイスであるのか、制御装置から容易に判別できない。また、システム内のデバイスが故障して、これを別のデバイスに置き換える場合にも、その別のデバイスに誤って既存のデバイスと同じIDが設定されていると、それらのどちらのデバイスが置き換え後のデバイスであるのか、制御装置から容易に判別できない。
【0009】
従って、制御装置においてIDの設定が誤っていることが把握できたとしても、誤設定のない範囲で制御を開始することすら、難しい場合もあった。
このような問題は、複雑なIDを用いる場合であっても、誤設定による重複が無視できない場合には、同様に発生するものである。
【0010】
この発明は、このような問題を解決し、制御装置が複数のデバイスの制御を開始する際に、その複数のデバイス間でユーザにより設定されたIDが重複する場合でも、直近の動作時に一群の制御対象として動作していたデバイスと、そうでないデバイスとを制御装置が容易に識別して、制御対象を選択できるようにすることを目的とする。
特に、複数の制御装置により同じデバイスを制御しようとする場合でも、直近の動作時に一群の制御対象として動作していたデバイスと、そうでないデバイスとを制御装置が容易に識別して、制御対象を選択できるようにすることを目的とする。
【課題を解決するための手段】
【0011】
上記の目的を達成するため、この発明のリモート制御システムは、複数の制御装置と、その複数の制御装置により制御される複数のデバイスとを備えるリモート制御システムにおいて、まず、上記各デバイスに、そのデバイスの第1ID及び第2IDを記憶する記憶手段と、ユーザの操作に応じて上記第1IDを上記記憶手段に記憶させる第1設定手段と、上記制御装置からIDを受信して上記第2IDとして上記記憶手段に記憶させる第2設定手段とを設けたものである。
【0012】
さらに、上記各制御装置に、第2IDを記憶する第2ID記憶手段と、制御対象とする複数のデバイスを上記第1IDによりデバイス毎に特定するデバイスデータを記憶する制御対象記憶手段と、上記各デバイスからそれぞれそのデバイスの第1ID及び第2IDを取得するID取得手段と、上記ID取得手段が取得した第1ID及び第2IDに基づき、上記制御対象記憶手段に記憶された各デバイスデータに対し、IDの取得元である各デバイスのうち、そのデバイスデータと上記第1IDの値が共通する最大1つのデバイスを対応付ける手段であって、a)上記IDの取得元である各デバイスの中に、上記デバイスデータと上記第1IDの値が共通であり、かつ上記第2ID記憶手段が記憶する第2IDと同じ値の第2IDを有するデバイスがあった場合に、そのデバイスをそのデバイスデータに対応付け、b)上記IDの取得元である各デバイスの中に、上記デバイスデータと上記第1IDの値が共通であり、かつ上記第2ID記憶手段が記憶する第2IDと異なる値の第2IDを有するデバイスがあった場合に、ユーザに対して警告を行う対応付け手段と、上記対応付け手段による対応付けができたデバイスを、制御対象のデバイスとして設定する制御対象設定手段と、上記制御対象設定手段が設定した制御対象のデバイスを、上記第1IDにより特定して制御するリモート制御手段とを設けたものである。
【0013】
さらに、上記複数の制御装置のうち特定の制御装置に、上記デバイスデータのいずれかについて、上記IDの取得元である各デバイスの中に、そのデバイスデータと上記第1IDの値が共通であるデバイスが1以上あった場合に、ユーザの操作に応じて、その各デバイスの上記第2IDの値によらず、上記1以上のデバイスのうち1つをそのデバイスデータに対応付ける手動対応付け手段と、上記制御対象設定手段による制御対象の設定に際して、制御対象とするデバイスの中に、上記手動対応付け手段による対応付けがなされたデバイスが含まれている場合、1つのユニークなIDを生成し、上記第2ID記憶手段に記憶している第2IDをその生成したIDに書き換えると共に、上記制御対象設定手段が設定する制御対象の各デバイスに送信して上記第2IDとして記憶させる第2ID付与手段とを設けたものである。
【0014】
また、この発明の別のリモート制御システムは、複数の制御装置と、その複数の制御装置により制御される複数のデバイスとを備えるリモート制御システムにおいて、まず、上記各デバイスに、そのデバイスの第1ID及び第2IDを記憶する記憶手段と、ユーザの操作に応じて上記第1IDを上記記憶手段に記憶させる第1設定手段と、上記制御装置からIDを受信して上記第2IDとして上記記憶手段に記憶させる第2設定手段とを設けたものである。
【0015】
さらに、上記各制御装置に、第2IDを記憶する第2ID記憶手段と、制御対象とする複数のデバイスを上記第1IDによりデバイス毎に特定するデバイスデータを記憶する制御対象記憶手段と、上記各デバイスからそれぞれそのデバイスの第1ID及び第2IDを取得するID取得手段と、上記ID取得手段が取得した第1ID及び第2IDに基づき、上記制御対象記憶手段に記憶された各デバイスデータに対し、IDの取得元である各デバイスのうち、そのデバイスデータと上記第1IDの値が共通する最大1つのデバイスを対応付ける手段であって、a)上記IDの取得元である各デバイスの中に、上記デバイスデータと上記第1IDの値が共通であり、かつ上記第2ID記憶手段が記憶する第2IDと同じ値の第2IDを有するデバイスがあった場合に、そのデバイスをそのデバイスデータに対応付け、b)上記IDの取得元である各デバイスの中に、上記デバイスデータと上記第1IDの値が共通であり、かつ上記第2ID記憶手段が記憶する第2IDと異なる値の第2IDを有するデバイスがあった場合に、ユーザに対して警告を行う対応付け手段と、上記対応付け手段による対応付けができたデバイスを、制御対象のデバイスとして設定する制御対象設定手段と、上記制御対象設定手段が設定した制御対象のデバイスを、上記第1IDにより特定して制御するリモート制御手段とを設けたものである。
【0016】
さらに、上記複数の制御装置のうち特定の制御装置に、ユーザの操作に応じて上記制御対象記憶手段に対してデバイスデータの追加及び削除を行う制御対象編集手段と、上記デバイスデータのいずれかについて、上記IDの取得元である各デバイスの中に、そのデバイスデータと上記第1IDの値が共通であるデバイスが1以上あった場合に、ユーザの操作に応じて、その各デバイスの上記第2IDの値によらず、上記1以上のデバイスのうち1つをそのデバイスデータに対応付ける手動対応付け手段と、上記制御対象設定手段による制御対象の設定に際して、上記制御対象編集手段によりデバイスデータの追加又は削除がなされた場合及び、制御対象とするデバイスの中に、上記手動対応付け手段による対応付けがなされたデバイスが含まれている場合に、1つのユニークなIDを生成し、上記第2ID記憶手段に記憶している第2IDをその生成したIDに書き換えると共に、上記制御対象設定手段が設定する制御対象の各デバイスに送信して上記第2IDとして記憶させる第2ID付与手段とを設けたものである。
【0017】
上記の各リモート制御システムにおいて、上記特定の制御装置の第2ID付与手段が、上記ユニークなIDを生成した場合、そのIDを他の制御装置に通知し、その他の制御装置が、上記第2ID記憶手段に記憶している第2IDをその通知されたIDに書き換えると共に、上記制御対象記憶手段に記憶しているデバイスデータを、上記特定の制御装置の制御対象記憶手段が記憶しているデバイスデータに書き換えるようにするとよい。
【発明の効果】
【0018】
この発明によるリモート制御システムによれば、複数の制御装置により同じデバイスを制御しようとする場合でも、同じシステムを制御対象とする複数の制御装置間で共通となるシステムUID(第2ID)に基づいて、直近の動作時に一群の制御対象として動作していたデバイスと、そうでないデバイスとを制御装置が容易に識別して、制御対象を選択できるようにすることができる。
【図面の簡単な説明】
【0019】
【図1】この発明のリモート制御システムの実施形態において制御装置により制御されるデバイスが形成するオーディオネットワークシステムの概略構成を示す図である。
【図2】図1に示したオーディオネットワークシステムの伝送路で伝送されるTLフレームの構成例を示す図である。
【図3】TLフレームの伝送タイミングを示す図である。
【図4】オーディオネットワークシステム上での音響信号の伝送時における、TLフレームの伝送状況について説明するための図である。
【図5】図1に示したオーディオネットワークシステムを構成する各ノードとなる音響信号処理装置のハードウェア構成を示す図である。
【図6】図1に示した方式のオーディオネットワークシステムのより具体的な構成例を示す図である。
【図7】各デバイスに記憶させるIDについて説明するための図である。
【図8】仮想デバイステーブルの例を示す図である。
【図9】制御装置に記憶させる、オーディオネットワークシステムを構成するデバイスを制御するためのパラメータの例を示す図である。
【図10】制御装置のCPUが実行する仮想デバイス追加処理のフローチャートである。
【0020】
【図11】同じく仮想デバイス削除処理のフローチャートである。
【図12】制御装置が収集した各デバイスのIDの例を示す図である。
【図13】制御装置のCPUが実行する自動対応付け処理のフローチャートである。
【図14】同じくデバイス検索処理のフローチャートである。
【図15】同じく同期化処理のフローチャートである。
【図16】同じく現在の制御対象を示すシステムIDを設定する処理のフローチャートである。
【図17】同じく手動対応付け処理のフローチャートである。
【図18】同じく新規デバイスの追加を検出した場合の処理のフローチャートである。
【図19】制御装置による制御対象デバイス認識の具体例を示す図である。
【図20】第2の実施形態における仮想デバイステーブルの例を示す図である。
【0021】
【図21】第2の実施形態における自動対応付け処理のフローチャートである。
【図22】第2の実施形態における手動対応付け処理のフローチャートである。
【図23】第2の実施形態における同期化処理のフローチャートである。
【図24】制御装置が他の制御装置からシステムUID更新に伴う仮想デバイステーブルの通知を受けた場合に実行する処理のフローチャートである。
【図25】第2の実施形態における制御装置による制御対象デバイス認識の具体例を示す図である。
【図26】その別の例を示す図である。
【発明を実施するための形態】
【0022】
以下、この発明を実施するための形態を図面に基づいて具体的に説明する。
1. この発明のリモート制御システムの実施形態の概要(第1の実施形態)
この発明のリモート制御システムは、1又は複数の制御装置と、その制御装置により制御される複数のデバイスとを備えたシステムとして構成することができる。そして、その制御装置はそれぞれ、どのデバイスを制御対象とするかという設定に従って、ネットワークシステムを構成する複数のデバイスから適当なデバイスを選択してリモート制御の対象とし、その制御装置と、選択した制御対象デバイスとにより、リモート制御システムを構成することができる。
【0023】
また、制御装置により制御されるデバイスとしては、例えば、相互に音響信号を送受信可能なオーディオネットワークシステムを構成するデバイスが考えられる。
ここではまず、背景技術の項で述べた特開2009−94589号公報に記載のようなオーディオネットワークシステムを構成するデバイスを制御装置により制御され得るデバイスとする場合のリモート制御システムの構成例について説明する。
【0024】
1.1 制御装置により制御されるデバイスが形成するネットワークシステムの例
まず、図1に、この発明のリモート制御システムの実施形態において制御装置により制御されるデバイスが形成するオーディオネットワークシステムの概略構成を示す。
図1(a),(b)に示すように、このオーディオネットワークシステム1は、それぞれ単方向の通信を行う受信手段である受信インタフェース(I/F)と送信手段である送信I/Fの組を2組備えたデバイスであるノードA〜Cを、通信ケーブルCBで順次接続することにより構成したものである。ここでは3つのノードにより構成した例を示しているが、ノードの数は2以上の任意でよい。
【0025】
ノードAにおいては、受信I/F_AR1と送信I/F_AT1が一組のI/Fで、受信I/F_AR2と送信I/F_AT2がもう一組のI/Fである。ノードB及びCについても、符号の先頭の文字「A」を「B」あるいは「C」に置き換えたI/Fが、同様な関係に当たる。
【0026】
そして、ノード間の接続は、1組の受信I/F及び送信I/Fを、別のノードの1組の送信I/F及び受信I/Fとそれぞれ通信ケーブルCBで接続することにより行っている。例えば、ノードAとノードBとの間では、受信I/F_AR2と送信I/F_BT1とを接続すると共に、送信I/F_AT2と受信I/F_BR1とを接続している。また、ノードBとノードCとの間では、ノードBのもう1組のI/Fと、ノードCの1組のI/Fとを接続している。
なお、図1に示す各ノードは、アナログ入力,アナログ出力,デジタル入力,デジタル出力,ミキシング,エフェクト付与,録音再生,リモート制御,あるいはこれらの組み合わせ等の各種機能を有する音響信号処理装置である。ノード毎に機能が違っていても当然構わない。
【0027】
ここで、(a)に示すように、各ノードを、端部を有する1本のラインのように接続した状態を、「カスケード接続」と呼ぶことにする。そしてこの場合、各ノード間を結ぶケーブルCBにより、破線で示すように1つのリング状のデータ伝送経路を形成することができ、各ノードは、この経路でフレームを一定周期で循環させるように伝送し、そのフレームに対して必要な情報を読み書きすることにより、経路上の任意のノードとの間でデータの送受信を行うことができる。
そして、オーディオネットワークシステム1内において、1つのノードがマスタノードとなり、音響信号を伝送するためのフレームを生成し、定期的に伝送経路を循環させたり、ネットワークの管理を行ったりする。このマスタノードが生成するフレームを、その他のフレームと区別して「TLフレーム」と呼ぶことにする。
【0028】
また、(a)に示したカスケード接続に加え、両端のノードで使用していないI/F同士も通信ケーブルCBで接続すると、(b)に示すように、リング状のデータ伝送経路を2つ形成することができる。そして、各ノードは、これらの経路でそれぞれフレームを伝送し、その各フレームに対して必要な情報を読み書きすることにより、経路上の任意のノードとの間でデータの送受信を行うことができる。このようなノード間の接続状態を、「ループ接続」と呼ぶことにする。
【0029】
このループ接続の状態で、一方の伝送路を循環させるTLフレームのみで伝送可能な情報量の通信を行っている場合、1カ所で断線が発生したとしても、その断線箇所の両側でTLフレームの伝送を折り返すことにより、断線箇所の両側をカスケード接続の両端と見て、速やかに(a)に示したようなカスケード接続のシステムに組み換え、0〜2フレーム程度の損失でTLフレームの伝送を継続することができる。
【0030】
また、カスケード接続の状態で両端に新たにノードを追加接続した場合には、接続箇所の両側でTLフレーム伝送の折り返しを解除することにより、そのノードを通るデータ伝送経路を形成してそのノードをシステムに取り込むことができる。逆に、カスケード接続の状態でいずれかのノード間の接続が切断された場合には、切断箇所の両側でTLフレーム伝送の折り返しを開始することにより、マスタノードから見て切断箇所よりも先のノードを切離し、接続が維持されている箇所についてはTLフレームの伝送を継続することができる。
【0031】
なお、図1ではケーブルを2本示しているが、1組の受信I/Fと送信I/Fとを近接してあるいは一体として設ければ、2本を束ねて1本にしたケーブルにより、1組のI/F同士の接続を行うことも可能である。
また、各ノードには、必要なI/Fを設ければ、(c)に示すように、外部機器Nを接続し、外部機器Nから受信したデータをTLフレームに書き込んで他のノードに送信したり、TLフレームから読み出したデータを外部機器Nに送信したりすることもできる。
【0032】
ここで説明するリモート制御システムにおいて、制御装置は、オーディオネットワークシステム1を構成するデバイスのいずれかとすることもできるし、外部機器Nのようにオーディオネットワークシステム1を構成するデバイスのいずれかに接続された外部機器とすることもできる。
【0033】
前者の場合、例えばオーディオネットワークシステム1を構成するコンソールを制御装置として用いることができる。
後者の場合、外部機器として、パーソナルコンピュータ(PC)を用い、このPC上でリモート制御システム制御用のアプリケーションを起動することにより制御装置として機能させることが考えられる。そして、PCがユーザから受け付けた操作に応じたコマンドをノードBに送信し、ノードBがこれをTLフレームに書き込んで他のノードに送信したり、他のノードがTLフレームに書き込んで送信してきた応答やレベルデータ等をノードBが読み出してPCに送信し、PCにおける操作子状態の表示やレベル表示に使用するといった動作を行わせることが考えられる。
制御装置の数は任意であるし、両者が混在していても構わない。
【0034】
1.2 TLフレームの構成
次に、図2に、上述したオーディオネットワークシステム1の伝送路で伝送されるTLフレームの構成例を示す。なお、この図に示した各領域の幅は必ずしもデータ量と対応しない。
図2に示すように、このTLフレーム100は、サイズが1282バイトであり、先頭から順に、プリアンブル101,管理データ102,波形データ(オーディオデータ)領域103,制御データ領域104,FCS(Frame Check Sequence)105の各領域からなる。各領域のサイズは、その領域に記載するデータ量に関わらずそれぞれ一定である。また、ここで示すFCS105以外の各領域のサイズは一例であり、適宜変更してよい。
【0035】
そして、プリアンブル101は、計8バイトのデータであり、IEEE(Institute of Electrical and Electronic Engineers)802.3で規定されるプリアンブルとSFD(Start Frame Delimiter)とを記載する。
管理データ102は、8バイトのデータであり、オーディオネットワークシステム1内の各ノードがTLフレームに含まれるデータの管理に利用するデータとして、システム内のどの伝送路を循環させるフレームかを示すリングID、フレーム通し番号であるフレームID、波形データ103中の波形データのch数等を記載する。
【0036】
また、波形データ領域103としては1024バイトを確保しており、音響信号のデータである1サンプル32ビットの波形データを256ch分記載できる。すなわち、本システムでは、1つのTLフレーム100を循環させることにより、256ch分の音響信号を伝送することができる。なお、256ch中の伝送に使われていないch(空きch)の領域については、そこに何が記載されているか気にしなくて良い。なお、波形データのビット数に応じて各chの領域のサイズを変更するようにしてもよい。その場合、16ビットの波形データは512ch分伝送可能であり、24ビットであれば340ch分伝送可能になる。
【0037】
また、波形データ領域103においては、予めオーディオネットワークシステム1を構成する各ノードにchを割り当てておき、各ノードは、自身に割り当てられたchの位置に、出力波形データの書き込みを行う。この割り当ては、システム全体の管理動作を行うマスタノードが、各ノードからの要求に基づいて行う。
【0038】
一方、制御データ領域104としては238バイトを確保し、ここには、イーサネットフレーム領域106、ITLフレーム領域107、および管理データ領域108設けている。
このうちイーサネットフレーム領域106には、IP(Internet Protocol)に基づくノード間通信用のパケットであるIPパケットをさらにフレーム化したIEEE(Institute of Electrical and Electronic Engineers)802.3形式のフレーム(イーサネットフレーム)を記載する。
【0039】
また、記載すべきイーサネットフレームが用意したサイズ(ここでは178バイト)に収まらない場合には、フレームの送信側で必要な数のブロックに分割し、TLフレーム1つにつき、そのブロック1つを記載する。そして、フレームの受信側で複数のTLフレーム100からデータを取り出して結合し、分割前のフレームを復元することにより、通常のイーサネット(登録商標)での伝送と同様にイーサネットフレームをノード間で伝送することができる。
【0040】
また、ITLフレーム領域107には、隣接ノード間でのコマンド及びコマンドに対する応答の伝送に使用するフレームであるITLフレームのデータを記載する。このITLフレームは、詳細な説明は省略するが、システム内でフレーム伝送路を形成する際の情報伝達や、システム形成後の情報伝達に使用する。
【0041】
管理データ領域108は、システム内の各ノードがTLフレーム100に含まれるデータの管理に利用するデータを記載する領域である。ここに記載するデータとしては、例えば、レベル表示に使用するメータデータ、TLフレーム100が伝送中に切断されたことを示す切断検出フラグ、TLフレーム100の伝送にエラーが生じたことを示すエラーフラグ等が挙げられる。
また、FCS105は、IEEE802.3で規定される、フレームのエラーを検出するためのフィールドである。
【0042】
オーディオネットワークシステム1においては、以上のようなTLフレームに各ノード間を巡回させることにより、オーディオ信号のリアルタイム伝送とイーサネットフレームの伝送とを同時に行うことができる。そして、イーサネットフレーム領域106を用いたイーサネットフレームの伝送により、オーディオネットワークシステム1を構成する各ノードは、1つのイーサネット(商標)で接続されているのと等価な環境にある。
【0043】
1.3 TLフレームの伝送方式
次に、図3に、図2に示したTLフレーム100の伝送タイミングを示す。
この図に示すように、オーディオネットワークシステム1においては、TLフレーム100を、96kHz(キロヘルツ)のサンプリング周期1周期である10.4μsec(マイクロ秒)毎に1つ、ノード間を循環させ、各ノードはTLフレームの所望のchへの音響信号の書き込みないし所望のchからの音響信号の読み出しを行うようになっている。従って、各サンプリング周期に、256の信号伝送chについて、それぞれ1サンプル分の波形データを、各ノード間で伝送できる。
1Gbps(ギガビット・パー・セカンド)のイーサネット(登録商標)方式のデータ転送を採用すれば、TLフレーム100の時間長は、1ナノ秒×8ビット×1282バイト=10.26μsecであり、1サンプリング周期内に伝送が完了する。
【0044】
次に、図4に、オーディオネットワークシステム上での音響信号の伝送時における、図2に示したTLフレームの伝送状況を示す。
ここでは、ノードAからノードDまでの4つのノードをカスケード接続したシステムを考える。そして、このシステム内の各ノードにTLフレーム100を循環させる場合、いずれか1つのノードをマスタノードと定め、そのノードのみが新たなサンプリング周期のTLフレーム(通し番号の異なるTLフレーム)の生成を行い、サンプリング周期毎に生成されたTLフレームを次のノードへ送信する。マスタノード以外のノードはスレーブノードであり、それぞれ前のノードからTLフレームを受信し、次のノードへ送信する転送処理を行う。
【0045】
そして、マスタノードであるノードBが最初に図で右向きに、ワードクロックのタイミングに合わせて、ノードCに向かってTLフレームを送信すると、そのTLフレームは、破線で示すように、ノードB→C→D→C→B→A→Bの順で伝送され、ノードBに戻ってくる。この伝送の際、各ノードは、TLフレームを受信してから送信するまでに、他のノードから受信すべき波形データや制御データをTLフレームから読み取り、また他のノードに送信すべき波形データや制御データをTLフレームに書き込む。
【0046】
そして、マスタノードは、TLフレームが伝送路を1周して戻ってくると、そのTLフレームの管理データを書き換えて後のサンプル周期のTLフレームを生成し、適当なサンプル周期での送信に供する。またこのとき、マスタノードも他のノードと同様にTLフレームに対してデータの読み書きを行う。
【0047】
以上を繰り返すことにより、1サンプリング周期につき1つのTLフレームに、(a)から(e)に時系列的に示すように、各ノードを循環させることができる。これらの図において、黒塗りの矢印はTLフレームの先頭を、黒丸はTLフレームの末端を示す。線の矢印は、TLフレームの切れ目を分かり易くするために記載したものである。
【0048】
なお、ループ接続を行い、部分システム内に伝送路を2本形成する場合には、図1からわかるように、マスタノードであるノードBが生成して図で右向きに送信したTLフレームを、ノードB→C→D→A→Bの順で伝送する伝送路と、ノードBが生成して図で左向きに送信したTLフレームを、ノードB→A→D→C→Bの順で伝送する伝送路とができることになる。そしてこの場合、TLフレームが伝送路を1周する間に全てのノードを1回ずつ通過することになるため、各ノードは、その通過の際にデータの読み書きを行う。
【0049】
1.4 システムを構成する各装置のハードウェア構成及び基本動作
次に、以上説明してきたようなTLフレームの伝送を行うためのハードウェア及びその動作について説明する。
図5に、上述のオーディオネットワークシステム1を構成する各ノードとなる音響信号処理装置のハードウェア構成を示す。
【0050】
図5に示すように、この音響信号処理装置10は、CPU201,フラッシュメモリ202,RAM203,外部機器I/F(インタフェース)204,表示器205,操作子206を備え、これらがシステムバス207により接続されている。また、外部機器I/F204とシステムバス207とに接続するカードI/O(入出力部)210も備えている。
【0051】
そして、CPU201は、この音響信号処理装置10の動作を統括制御する制御手段であり、フラッシュメモリ202に記憶された所要の制御プログラムを実行することにより、表示器205における表示を制御したり、操作子206の操作を検出してその操作に従ってパラメータの値の設定/変更や各部の動作を制御したり、コマンドをカードI/O210を介して他の音響信号処理装置に送信したり、カードI/O210を介して他の音響信号処理装置から受信したコマンドに従った処理を行ったりする。
【0052】
フラッシュメモリ202は、CPU201が実行する制御プログラムを始め、電源を切っても残しておくべきデータを記憶する書き換え可能な不揮発性記憶手段である。
RAM203は、一時的に記憶すべきデータを記憶したり、CPU201のワークメモリとして使用したりする記憶手段である。
【0053】
外部機器I/F204は、種々の外部機器を接続し入出力を行うためのインタフェースであり、例えば外部のディスプレイ、マウス、文字入力用のキーボード、操作パネル、PC等を接続するためのインタフェースが用意される。PCは、CPU、メモリ、ハードディスク、ディスプレイ、キーボード、マウス、各種インターフェース、等を備え、Windows(商標)等のオペレーティングシステム(OS)が走る、通常のパーソナルコンピュータである。ユーザは、そのOSの元で、所望のアプリケーションソフトを起動して、PCを使用する。
【0054】
外部機器I/F204は、カードI/O210のオーディオバス217にも接続しており、オーディオバス217を流れる波形データを外部装置に送信したり、外部装置から受信した波形データをオーディオバス217に入力したりすることができる。この外部機器I/F204は、イーサネット、USB、IEEE1394等のいずれのインターフェースであってもよい。
【0055】
表示器205は、CPU201による制御に従って種々の情報を表示する表示手段であり、例えば、液晶ディスプレイ(LCD)や発光ダイオード(LED)によって構成することができる。
操作子206は、音響信号処理装置10に対する操作を受け付けるためのものであり、種々のキー、ボタン、ダイヤル、スライダ等によって構成することができる。
【0056】
これらの表示器205及び操作子206は、例えば音響信号処理装置10をコンソールとして構成する場合には、多数のchについて信号処理パラメータやパッチの設定を受け付けるための大型のディスプレイや多数のボタン、スイッチ、電動フェーダ等を設け、入出力装置として構成する場合には電源及びモード設定のための簡単なランプやボタンを設ける等、装置の機能に応じて大きく構成が異なるものである。
【0057】
また、カードI/O210は、オーディオバス217と制御バス218を備え、これらのバスに種々のカードモジュールを装着することにより、音響信号処理装置10に対する音響信号及び制御信号の入出力及びその処理を行うことができるようにするためのインタフェースである。ここに装着される各カードモジュールは、オーディオバス217を介して相互に波形データを送受信すると共に、制御バス218を介してCPU201との間で制御信号を送受信し、CPU201の制御を受ける。
【0058】
オーディオバス217は、任意のカードから任意のカードへ、複数チャンネルの波形データをサンプリング周期に基づくタイミングで各1サンプルずつ時分割伝送する音響信号伝送用ローカルバスである。接続された複数カードの何れか1つがマスタとなり、当該カードが生成し供給するワードクロックに基づいてオーディオバス217の時分割伝送の基準タイミングを制御する。その他の各カードはスレーブとなり、その基準タイミングに基づいて各カードのワードクロックを生成する。
【0059】
図5には、カードI/O210にDSP(デジタル・シグナル・プロセッサ)カード211,212,アナログ入力カード213,アナログ出力カード214,ネットワークI/Fカード215を装着した例を示している。
カードI/O210に装着される各種カードは、そのカードの機能に応じた波形データの処理を、それぞれ、ワードクロック(波形データのサンプリング周期)に基づくタイミングで実行する。
【0060】
また、これらのカードのうちネットワークI/Fカード215が、送信I/Fと受信I/Fを2組備え、図1乃至図4を用いて説明したオーディオネットワークシステム1におけるTLフレーム100の伝送と、TLフレーム100に対する波形データや制御データ等の読み書きとを行う機能を有する。これらの機能を実現するために必要なネットワークI/Fカード215の構成の詳細については、特開2009−94589号公報を参照されたい。
【0061】
そして、ネットワークI/Fカード215以外のカードは、音響信号処理、アナログ信号の入出力などの機能を担うものであるが、音響信号処理装置10に持たせたい機能に応じて任意に選択して装着することができる。さらに、ここで挙げたもの以外でも、その他カード216として、デジタル入出力、音源、レコーダ、エフェクタ等の、種々のカードモジュールを装着可能とすることが考えられる。
【0062】
2.IDを利用したデバイスの管理
ところで、上述したオーディオネットワークシステムを構成する各デバイスのように、リモート制御システムにおいて制御装置による制御対象とする各デバイスには、制御装置がそのデバイスを識別するための識別情報として、種々のIDを記憶させておく。
次に、このID及びIDを利用したデバイスの管理について説明する。なお、以下の説明において、「実デバイス」の用語を用いるが、これは、現実に存在して制御装置と通信可能な状態であるデバイス(例えば制御装置を含むオーディオネットワークシステムを構成するデバイス)を、後述する仮想デバイスと特に区別するための用語である。
【0063】
また、以後の説明においては、この実施形態の特徴を説明し易くするため、図1乃至図6を用いて説明してきたようなTLフレームの定期的な循環を行うオーディオネットワークシステムを、図6に示すような、コンソール2Cb、ミキサエンジン2Ex、および入出力装置2Ba,2Bc,2Bd,2Be、2Bf,3Baの8つのデバイスをカスケード接続して構成し、それらのデバイスの全部又は一部をリモート制御システムにおいて制御装置による制御の対象とする場合を例として用いる。図6において、実線がデバイス間の接続ケーブルを、破線がTLフレームの伝送経路を示す。
【0064】
2.1 各デバイスに記憶させるID
まず図7に、各デバイスに記憶させるIDの例を示す。ここで注目するのは、システムID、ユニークID、機種ID及びデバイスIDの4種である。
このうちシステムIDは、DSPカードにおける信号処理に用いるパラメータの設定や、ルーティングの設定など、音響信号処理に関するパラメータのリモート制御(設定)を制御装置から行う場合に、一度に制御の対象とするデバイスの範囲を1つのリモート制御システムとして規定するためのIDである。複数のデバイスを複数のシステムに分けて制御する場合、制御装置は、現在の制御対象のシステムを示すシステムIDを1つだけ選択し、自身と通信可能なデバイスのうち、そのシステムIDを持つデバイスのみを制御対象とする。
【0065】
なお、システムIDは、ユーザが任意に設定可能なIDであるが、ここでは、容易に設定できるように、0から15までの数字等、比較的少ない数の予め用意された選択肢から選択して設定するようにしている。
また、このシステムIDは、特開2009−94589号公報に記載のネットワークIDとは異なるものである。ここで、ネットワークIDは、一つながりのTLフレームの伝送経路(ループ接続の場合には伝送経路は2つになる)を形成するデバイスの範囲を示すIDであり、マスタノードが自動的に設定するものである。一方、システムIDはユーザが設定するものであるし、共通のシステムIDを付すデバイスの範囲は、一つながりの伝送経路が形成される範囲内とするのがよいが、必ずしもその範囲内に限定されるものではない。
【0066】
ユニークIDは、制御装置と通信可能なデバイスのうち、以前から制御装置による制御対象の一群のデバイスとして動作していたデバイスと、そうでない(入れ替えや追加がなされた)デバイスとを制御装置が識別できるようにするために設けたIDである。詳細は後述するが、このユニークIDは、制御装置がデバイスにおけるパラメータの制御開始のための同期化を行う度に、一意な値を生成して、その時同期化した全てのデバイスに、その生成した値を設定させる。従って、ユーザはこのユニークIDの設定を行うことはできない。また、その値を知る必要もない。なお、図では「u2」と記載しているが、実際にはもっと長くて複雑なデータになって構わない。
【0067】
機種IDは、デバイスが、複数の機種のうちどの機種であるかを示すIDである。このIDは、デバイスのメーカーが各機種毎に設定する固定的なものであり、ユーザが変更することはできない。図6の例では、各入出力装置は同じ機種であり、同じ機種IDを付している。コンソール2Cb及びミキサエンジン2Edは、それぞれ機種が異なるため、機種IDも異なる。
【0068】
デバイスIDは、ユーザが、各デバイスを識別するためにリモート制御システムの各仮想デバイス(後述)および各実デバイスに任意に設定する、例えば、アルファベットの1文字からなるIDである。2文字以上のアルファベットであってもよく、1〜3桁の数字、あるいは、アルファベットと数字の組み合わせであってもよい。とにかく、システムを構成する最大数のデバイスを識別できるIDであればよく、さらに言えば、ユーザが、限られた選択肢の中から容易に設定できる単純なIDとするのがよい。
【0069】
デバイスIDの設定においては、あるシステムIDを記憶する異なる2つの実デバイスに同じデバイスIDを設定することはできるが、後述のように、ある1つのリモート制御システムの異なる2つの仮想デバイスには同じデバイスIDを設定することはできないよう、制限が掛けられている。その意味で、デバイスIDは、「リモート制御システム内の複数の仮想デバイスの1を特定するIDである」と言える。
【0070】
なお、デバイスIDは、各デバイスを識別するためのIDであるから、基本的には各実デバイスに異なる値を設定すべきものである。しかし、リモート制御システムを構成していた実デバイスの一部を故障のため入れ替えたり、制御装置と通信可能な範囲に新たに実デバイスを追加したりしたような場合、たまたま、その入れ替えや追加に係るデバイスと、制御装置と通信可能な範囲の他のデバイスとでデバイスIDが一致してしまう場合もあり得る。
【0071】
このような場合でも、ユニークIDを利用して、以前から制御装置による制御対象の一群のデバイスとして動作していたデバイス(1つのリモート制御システムを構成していたデバイス)と、入れ替えや追加に係るデバイスとを、制御装置が区別できるようにした点が、この実施形態の特徴である。
【0072】
なお、デバイスIDはこのように異なる実デバイス間での重複があり得るため、実デバイスを確実に特定したい場合には、デバイスIDではなく、各実デバイスのネットワークカードに付与されたユニークなMACアドレスを用いる。しかし、MACアドレスは書き換えられるものではないので、複数の制御装置がある場合、それを基準にして最後にシステムとして制御された複数のデバイスを識別することはできない。
【0073】
2.2 制御装置に記憶させる仮想デバイステーブル
次に、制御装置がリモート制御システムにおける制御対象デバイスを特定するために記憶する情報である、仮想デバイステーブルについて説明する。
【0074】
図8に、この仮想デバイステーブルの例を示す。
この図に示すように、仮想デバイステーブルは、システムID毎に、それぞれそのシステムIDで特定されるリモート制御システムを構成すべき1つの制御対象デバイスを示す仮想デバイスの情報を記憶するテーブルである。仮想デバイステーブルは、ユーザが仮想デバイスを登録したシステムIDについてのみ用意すればよく、採りえる全てのシステムIDに対応してテーブルを用意する必要はない。また、VDNは、カッコ内のシステムIDについて登録されている仮想デバイスの数を示す変数である。
【0075】
この仮想デバイステーブルにおいて、各仮想デバイスは、システムID,機種ID及びデバイスIDを特定して登録する。番号は、登録されている各仮想デバイスに、若い番号「1」から順番に自動付与されるものである。
また、MDは仮想デバイスと対応づけた実デバイスのMACアドレスである。OFは、仮想デバイスが、制御装置が対応する実デバイスのリモート制御を行うオンライン状態になっているか否かを示すフラグであるが、これらについては後述する。
【0076】
なお、リモート制御システムへの仮想デバイスの追加ないし削除は、制御装置が実デバイスのリモート制御を行っていないオフライン状態で行われる。従って、仮想デバイスを登録する段階では、各仮想デバイスに対応する実デバイスが在るか否かは気にする必要がない。仮想デバイスは、対応する機種の実デバイスと同じ構成のパラメータを記憶する仮想的なデバイスであり、制御装置では、登録された仮想デバイスに関し、実デバイスと同様に各パラメータ値を編集することができる。
【0077】
また、制御装置がコンソール2Cbである場合、コンソール2Cbの備えている波形データの信号処理(DSP)、入出力(A/D,D/A)、送受信(ネットワークI/F)等のオーディオ機能は、それ自体が1つのデバイスに相当するものであって、他のデバイスと同様に、仮想デバイス(コンソール2Cb)として仮想デバイステーブルに登録される。その際、1つの仮想デバイスとして1つのシステムのみに登録されるようにしてもよいし、機能を複数に分割して、複数の仮想デバイスとして複数のシステムに登録できるようにしてもよい。ただし、コンソール2Cbにおいて、仮想デバイス(コンソール2Cb)は常時オンラインであり、オフラインになることはない。
図8には、システムID=2の仮想デバイス(番号=7)としてコンソール2Cbを登録した例を示している。
【0078】
また、制御装置は、図9に示すように、リモート制御システムにおける各仮想デバイスのパラメータを記憶しており、各仮想デバイスが対応付けられた実デバイスとオンラインかオフラインかに関わらず、その各パラメータ値を変更できる。
ここでいうパラメータは、実デバイス内において行われるレベル調整や遅延、イコライザ等の信号処理の特性の制御や、パッチ処理の信号経路の制御、実デバイスのネットワークI/Fにおける波形データの送信や受信の制御を行う各種パラメータである。
【0079】
制御装置によるリモート制御とは、これらの動作に使用するパラメータの値を、制御装置が受け付けたユーザ操作に従ってリモートで変更することを意味する。そして、制御装置が実デバイスのリモート制御を開始する際には、その実デバイス内のカレントメモリに記憶されたパラメータと、対応付けられた仮想デバイスのパラメータとの間で、各パラメータ値を同じとするためのコピー(同期化)が行われる。
【0080】
各実デバイスのカレントメモリに記憶されているパラメータの構成(種類や数)は、その実デバイスの機種、装着されるオプション等に応じて決まる。制御装置には、登録された各仮想デバイスに対応して、その仮想デバイスと対応付けられる実デバイスのカレントメモリに記憶されるパラメータと全く同じ構成のパラメータが記憶される。
【0081】
上述した同期化は、そのパラメータに関して行うものである。制御装置には、各機種IDの示す機種および、装着される各種オプションに対応してメーカーが用意したパラメータ構成情報が記憶されている。ユーザがシステムにある機種IDの仮想デバイスを登録する際には、その仮想デバイスに対応して、制御装置内に、その機種IDに対応したパラメータ構成情報が示す構成のパラメータ領域が形成される。また、仮想デバイスに実デバイスのオプションに対応づけるための仮想オプションを装着する際には、同パラメータ領域内に同仮想オプションに応じたサブ領域が形成される。
【0082】
以上のような図9に示すデータは、リモート制御に関する表示のレスポンスをよくするため、リモート制御操作に応じてまず制御装置自身が記憶するパラメータの内容を更新して、制御対象の装置に操作内容を通知する前に先に結果を表示できるようにするために用いることができる。リモート制御の開始に先立って、リモート制御の対象となるデバイスと、その内容について同期を取るのはこのためである。
【0083】
なお、図9においては、参考のために仮想デバイスの番号を示したが、各仮想デバイスはシステムIDとデバイスIDのみで特定可能であるから、番号を記憶する必要はない。
また、以上のような制御装置におけるパラメータの記憶及び同期化の対象には、カレントメモリに記憶させて実際の信号処理内容に反映させるデータの他、カレントメモリの内容を保存して後で読み出せるようにしたシーン等のデータを含めるようにしてもよい。
また、制御装置が記憶するパラメータには、複数のシステムが関わる制御を行うためのデータであるシステム制御用パラメータ(制御対象システムID等)も含まれている。
【0084】
次に、上述した仮想デバイステーブルの編集に係る処理について説明する。仮想デバイステーブルの編集は、制御装置が記憶する全仮想デバイスがオフラインの場合(後述するオンライン状態になっている仮想デバイスがない場合。ただし制御装置自身が仮想デバイステーブルに登録されている場合には制御装置自身はオンラインになっていてよい)にのみ行うことができる。また、編集に際し、情報を登録あるいは削除しようとする仮想デバイスと対応するデバイスが実際に存在しているかどうかを気にする必要はない。
【0085】
まず、図10に、仮想デバイス追加処理のフローチャートを示す。
この処理は、制御装置のCPU(制御装置がコンソール2Cbである場合にはCPU201であり、PCである場合はそのPCのCPU、以下同様)が、ユーザの操作による仮想デバイス追加指示を検出した場合に実行する処理である。また、追加指示は、例えば、追加する仮想デバイスのシステムID(sとする)、機種ID(kとする)及びデバイスID(dとする)を指定して行うものである。
【0086】
この処理において、制御装置のCPUはまず、仮想デバイステーブルに既に登録されている仮想デバイス中に、追加指示に係る仮想デバイスとシステムID及びデバイスIDの双方が一致するものがあるか否か判断する(S101)。
なければ、指示に従って仮想デバイスを追加すべく、まずシステムID=sについての仮想デバイス数VDN(s)をインクリメントする(S102)。そして、システムID=sのシステムについて、機種ID=kで特定される機種の制御に用いるパラメータの記憶領域を確保すると共に、所定の初期値を設定する(S103)。
【0087】
次に、仮想デバイステーブルに、システムID=sのシステムの新たな番号の仮想デバイスのデータとして、機種ID=k及びデバイスID=dを登録する(S104)。その後、登録結果をディスプレイの画面に表示させ(S105)、処理を終了する。
ステップS101で一致するものがあった場合、重複登録を避けるため、登録エラーをディスプレイの画面に表示させ(S106)、登録せずに処理を終了する。
【0088】
以上の処理により、ユーザの指示に従って仮想デバイステーブルに新たな仮想デバイスのデータを追加すると共に、その仮想デバイスのパラメータを記憶する記憶領域を用意し、初期値をセットすることができる。また、先述したように、各システムIDについて、同じデバイスIDの仮想デバイスが重複登録されないようにすることができる。
なお、仮想デバイスの追加指示受付時に、既存の追加デバイスとシステムID及びデバイスIDの双方が一致するものについて、選択肢から外す等して追加の指示を受け付けることができないようにしている場合には、ステップS101の分岐は不要である。
【0089】
次に、図11に、仮想デバイス削除処理のフローチャートを示す。
この処理は、制御装置のCPUが、ユーザの操作や外部装置からの要求による仮想デバイス削除指示を検出した場合に実行する処理である。また、削除指示は、削除する仮想デバイスのシステムID(sとする)及びデバイスID(dとする)を指定して行うものである。
【0090】
この処理において、制御装置のCPUはまず、削除指示に係るシステムID=sについて、仮想デバイス数VDN(s)をデクリメントする(S111)と共に、削除指示に係るデバイスID=dで特定される仮想デバイスの制御に用いるパラメータの記憶領域を解放する(S112)。
次に、仮想デバイステーブルから、システムID=sのシステムの、デバイスID=dが登録されている仮想デバイスのデータを削除する(S113)と共に、削除結果をディスプレイの画面に表示させ(S114)、処理を終了する。
【0091】
以上の処理により、ユーザの指示に従って仮想デバイステーブルから仮想デバイスのデータを削除すると共に、そのデバイスの制御に使用するパラメータのデータも削除することができる。
【0092】
2.3 仮想デバイスと実デバイスの対応付け
次に、仮想デバイステーブルのデータを用いた、仮想デバイスと実デバイスとの対応付けについて説明する。
この対応付けは、基本的には制御装置が自動的に行うものであるが、一部ユーザの選択に従ったり、また、自動的な対応付けの後ユーザが手動でその内容を変更したりすることができる。また、対応付けの処理自体は、自動であっても手動であっても、仮想デバイステーブルのデータと、各デバイスから収集した図7に示した各IDとに基づいて制御装置が内部的に行う処理であり、それ自体で他のデバイスに影響を与えるものではない。対応付けの結果に基づいてデバイスの制御を開始する処理については、別途後述する。
【0093】
なお、制御装置がIDを収集するデバイスの範囲は、制御装置が接続されているのと同じネットワークに接続された全デバイスである(図6の例ではオーディオネットワークシステムSに所属するデバイスであるが、ネットワークにおけるデバイスの接続態様や通信プロトコルはこれに限られない)。なお、隣接する1ないし複数のネットワークまで、ネットワーク間のルータを越えてデバイスをサーチし、発見されたデバイスのIDを収集するようにしてもよい。ID収集のための処理の図示は省略するが、制御装置は、ARP(Address Resolution Protocol),ICMP(Internet Control Message Protocol)等のプロトコルを使用して定期的にネットワークをスキャンし、新たに接続されたデバイスの検出を行う。そして、デバイスが検出された場合には、該デバイスにIDを要求し、その要求に応じて要求先のデバイスが送信してくる、図7に示した各種IDを受信する
【0094】
なお、各実デバイスは、その実デバイスのネットワークI/Fカードに付与されたMACアドレスにより特定できる。ここでは、収集した各IDは、図12の実デバイステーブルに示すように、各デバイスのMACアドレスと対応付けて管理するようになっている。また、ID収集処理では、ネットワークから消滅したデバイスも検出され、消滅したデバイスの情報は実デバイステーブルから削除される。
【0095】
ここで、図13に、自動対応付け処理のフローチャートを示す。なお、この処理の説明において、具体的な対応付けの例は、仮想デバイステーブルの内容が図8に示したものであり、制御装置は図6に示したオーディオネットワークシステムSを構成する各デバイスからIDを収集し、その収集したIDが、図12に示すものであるとして説明する。
【0096】
また、図13の処理は、制御装置が新たにネットワークに接続され、その制御装置が、そのネットワークに接続されているデバイスを検出したとき(一通り終わるまで待ってからでもよい)、リモート制御システムのリセットが指示されたとき、等に実行されるものである。また、ネットワークに接続された複数のデバイスの電源を投入し、または、制御対象のデバイスが属するネットワークの全デバイスをリセットして、そのネットワークを最初から形成しようとするとき、にも実行される。
【0097】
そして、これらの場合、制御装置のCPUは自動的に図13に示す処理を開始する。
この処理において、制御装置のCPUはまず、IDを収集した各デバイスのうち、システムIDが、現在の制御対象となっているシステムIDを示す変数TGの値と一致するものを、ユニークIDが同じもの毎にグループ化する(S201)。
TG=2である場合、図12に示した7つのデバイスのうち、システムID=2である6つのデバイスを、ユニークIDが「u1」であるグループと、ユニークIDが「u2」であるグループと、ユニークIDが「none(未設定)」であるグループとに分けることになる。なお、ユニークIDが「none(未設定)」であるグループは、作成しなくてもよい。
【0098】
次に、制御装置のCPUは、ステップS201で作成したグループ毎に、仮想デバイステーブルに登録されたシステムIDがTGの各仮想デバイスに対し、グループ内のデバイスのうち機種ID及びデバイスIDが一致するものを対応付ける(S202)。システムIDについては、ステップS201でシステムIDがTGであるデバイスのみを処理対象としているため、必ず一致する。
【0099】
例えば、ユニークIDが「u1」であるグループについては、番号が2である仮想デバイスが、図12の一番上のデバイスと対応付けられることになる。ユニークIDが「u2」であるグループについては、番号が4である仮想デバイスが、図12の上から2番目のデバイスと、番号が6である仮想デバイスが、同じく3番目のデバイスと対応付けられることになる。図12の上から5番目のデバイスについては、対応付ける相手がない。
このステップS202での対応付けは、優先グループの選択基準とする情報を取得するための予備的な対応付けである。
【0100】
そして次に、制御装置のCPUは、ステップS202での各グループについての対応付けの結果に基づき、ステップS201で作成したグループの1つを優先グループとして選択する(S203)。
この優先グループは、IDの重複があった場合に優先的に仮想デバイスと対応付けるデバイスを規定するグループである。そして、ここでの選択基準は種々のものが考えられ、例えば、対応付けできたデバイスの数が多いグループを選択したり、対応付けの結果をユーザに提示し、ユーザに選択させたり、またはその組み合わせとしたりすることが考えられる。
なお、ステップS202での結果によらず、ユーザが予めMACアドレス等により指定しておいたデバイスを含むグループを優先グループとすることも考えられる。この場合、ステップS201の処理は不要である。
【0101】
以上の後、処理はステップS204のデバイス検索処理に進む。
図14に、このデバイス検索処理のフローチャートを示す。
この処理において、制御装置のCPUはまず処理対象の仮想デバイスの番号を示す変数iに1を設定し(S211)、仮想デバイステーブルに登録された仮想デバイスのうちシステムID=TGで番号=iのものと同じシステムID、機種ID及びデバイスIDを持つデバイスを、IDを収集したデバイスの中から検索する(S212)。そして、検索によりデバイスをいくつ発見したか判断する(S213)。
【0102】
ここで、発見数が0の場合、オーディオネットワーシステムS中(IDの収集を行った範囲)には、処理対象の(システムID=TGで番号=iの)仮想デバイスに対応付けるべきデバイス、すなわちその仮想デバイスに関するデータを用いて制御すべきデバイスがないことがわかる。そこで、その仮想デバイスに対応付けるデバイスのアドレスを示す仮想デバイステーブル(図8参照)のMD(TG,i)に、対応付けるデバイスがないことを示すnullを設定する(S214)。
また、発見数が1の場合、処理対象の仮想デバイスについては、デバイスIDの重複設定はなく、オーディオネットワーシステムS中で対応付けるべきデバイスを一意に特定できることがわかる。そこで、MD(TG,i)に、発見したデバイスのMACアドレスを設定する(S215)。先述したように、MACアドレスは、実デバイスを特定するための情報であるので、ここでのMACアドレスを書き込みは、仮想デバイスへの実デバイスの対応付けに相当する。
【0103】
一方、発見数が2以上の場合、オーディオネットワーシステムS中に、システムID、機種ID及びデバイスIDにより区別できないデバイスが2以上あり、IDの設定が適切になされていないことがわかる。そこで、ディスプレイにメッセージを表示させる等により、ユーザにこの点を警告する(S216)。
【0104】
その後、発見したデバイス中に図13のステップS203で選択した優先グループのデバイスがあれば(S217のYES)、MD(TG,i)にその優先グループのデバイスのMACアドレスを設定する(S218)。優先グループのデバイスがなければ、発見したデバイスの1つをユーザに選択させ(S219)、MD(TG,i)にその選択されたデバイスのMACアドレスを設定する(S220)。
【0105】
ステップS214,S215,S218,S220のいずれの場合も、MD(TG,i)へのデータ設定完了後、iをインクリメントし(S221)、仮想デバイスの数VDN(TG)を超えていなければ(S222のNO)、ステップS212に戻って処理を繰り返す。超えていれば、処理対象のシステムIDに関する対応付けは完了であるので、元の処理に戻る。
図13の説明に戻ると、以上のデバイス検索処理により、自動対応付けは完了するので、対応付け結果をディスプレイの画面に表示させ(S205)、処理を終了する。
【0106】
以上の処理により、仮想デバイステーブルに登録されている仮想デバイスのうち、現在の制御対象として設定されているシステムIDを有する各仮想デバイスと、制御装置が接続されているオーディオネットワークシステムSを構成するデバイスとを、デバイス間にユーザが設定するシステムIDやデバイスIDの重複がある場合でも、ユニークIDを参照して適切に自動的に対応付けることができる。
【0107】
なお、図14のステップS219ではユーザに選択を求めているが、ステップS217でNOになるのは、かなり例外的な場合であり、このような状況になることはほとんどない。しかし、ここで説明している対応付けは、所与のアルゴリズムで決定できない場合でもランダムで行うべきものではないため、念のためステップS219以下の処理を設けている。
【0108】
ここで、例えば、図13のステップS203で、優先グループを1つ選択するだけでなく、対応付けできたデバイスの数が多い順にグループに優先順位を付し、図14のステップS213で判断が2以上になった場合に、優先順位の高いグループのデバイスを優先的に対応付けるようにすれば、対応付けが自動的に決まらず、ユーザに選択を求める可能性をさらに減らすことができる。
また、複数の制御装置が存在する場合、それらが実デバイスと順次同期化すれば、その度に各デバイスのユニークIDが書き換わることになる。本発明では、仮想デバイスとの対応付けができるグループが多いグループを優先することにより、そういった状況であっても、それら各制御装置において、仮想デバイスと実デバイスの適切な対応付けを行うことができる。
【0109】
次に、図15に、同期化処理のフローチャートを示す。
この同期化処理は、制御装置によるデバイスの制御を開始するための処理であるが、同時に、上述の対応付けの際に重要な役割を果たすユニークIDの設定を行う処理でもある。
制御装置のCPUは、ユーザの操作によるオンライン移行指示を検出した場合に、その時点でなされている対応付けに従ってオーディオネットワークシステムS中のデバイスの制御を開始するため、図15に示す処理を開始する。
【0110】
この処理において、制御装置のCPUはまずユニークなIDを生成する(S231)。生成方法は問わないが、オーディオネットワークシステムSと同種のシステムが運用される範囲で重複がないと期待できる程度のユニークさが望ましく、例えば、制御装置のMACアドレスと生成時点の時刻とを含むIDとすることが考えられる。また、ユニークIDをUUID(汎用一意識別子:Universally Unique Identifier)やGUID(グローバル一意識別子)などに基づいて生成してもよい。
【0111】
そして、生成したユニークなIDを、仮想デバイステーブルに登録されている仮想デバイスのうち、現在の制御対象を示すシステムID(=TG)を有する全ての仮想デバイスについて、その仮想デバイスと対応付けられているデバイスに送信し、ユニークIDとして記憶するよう要求する。ここでは、システムID=TGの仮想デバイステーブルに登録されている全ての仮想デバイスの番号iについて、それぞれMD(TG,i)に設定したMACアドレスを宛先として送信を行えばよい(S232)。ただし、MD(TG,i)の値がnullのものについては、送信不要である。また、MACアドレスが、上述の自動対応付けにより設定されたものであるか、後述する手動対応付けにより設定されたものであるかを考慮する必要はない。
【0112】
また、デバイスのリモート制御に関するデバイス間のあらゆる送信は、すべて、イーサネットの通信帯域を使用して行われる。ここでは、MAC層の処理として説明されているが、MAC層の上のインターネット層の処理とすることも可能であり、その場合、インターネットパケットに書き込まれる宛先アドレスは、MACアドレスに対応するデバイスのIPアドレスである。何れの場合であっても、MAC層においてはイーサネットフレームには同じMACアドレスが記載され、同じデバイス宛てに送信される。
【0113】
そして、ステップS232で送信される情報を受信した宛先のデバイスは、要求に応じて、受信したIDをユニークIDとして設定する(S131)。
また、制御装置のCPUは、ステップS232の後、実デバイスが対応付けられているシステムID=TGの各仮想デバイスにつき、その仮想デバイスのパラメータと、対応付けられた実デバイスのカレントメモリのパラメータとを、ユーザが指定した方向に同期化させる(S233)。この同期化は、何れか一方のパラメータをコピー元、他方のパラメータをコピー先として、1デバイス分の全パラメータをコピーして、それらの値を相互に一致させることによって行う。また、コピーするパラメータの転送は、転送元の制御装置ないしデバイスのパラメータを複数の部分に分けて各部分毎にダンプし、ダンプされたデータをイーサネットフレームに記載して、コピー先のデバイスないし制御装置に転送することにより、実行できる。コピー先のデバイスないし制御装置は、転送されたパラメータを既存のパラメータに上書きする。
【0114】
ここで、上述のように、各実デバイスは、制御装置に記憶されている仮想デバイスのパラメータではなく、デバイス自身が記憶しているパラメータの値に従って、信号伝送や信号処理を行う。そこで、この処理の状態を維持することを優先する場合(例えば、稼働中のシステムのネットワークに後から制御装置を接続し、そのシステムの動作を継続させたい場合など)には、各実デバイスのカレントメモリのパラメータをコピー元とし、制御装置の対応付けられた仮想デバイスのパラメータをコピー先とすればよい。
【0115】
一方、制御装置の記憶している仮想デバイスのパラメータに従った信号処理を各実デバイスに行わせたい場合(例えば、新たなネットワークシステムあるいはリモート制御システムを稼動させたい場合や、稼働中のシステムを止めて別の論理構成のシステムを立ち上げたい場合など)は、制御装置の各仮想デバイスのパラメータをコピー元とし、対応付けられた実デバイスのカレントメモリのパラメータをコピー先とすればよい。
ユーザは、どちらの方向に同期化を行うかを、全仮想デバイスについて一括して、又は仮想デバイス毎に個別に設定することができる。
【0116】
そして、制御装置のCPUは、以上の同期化の後、同期化した全ての仮想デバイスにつき、仮想デバイステーブルのフラグOFを「1」に設定してその仮想デバイスが対応付けられた実デバイスとオンラインになった旨を記憶する(S234)と共に、各仮想デバイスがオンラインかオフラインかを区別してディスプレイの画面に表示させてユーザに通知し(S235)、処理を終了する。
【0117】
なお、ある仮想デバイスがオフラインの場合、フラグOFの値は「0」であり、制御装置でユーザがその仮想デバイスのパラメータ値の変更操作をすると、制御装置が記憶するその仮想デバイスのパラメータの値のみが変更される。対応付けられた実デバイスがあったとしても、そのパラメータ値は変更されず、リモート制御は行われない。
【0118】
一方、ある仮想デバイスが対応付けられた実デバイスとオンラインの場合には、オンライン移行時の同期化処理でその仮想デバイスと実デバイスは同じ値のパラメータを記憶している。そして、制御装置でその仮想デバイスのパラメータ値を変更すると、その変更が対応する実デバイスに通知され、その実デバイスにおいても同様にパラメータ値が変更される。また、その実デバイスを操作して実デバイスのパラメータ値を変更すると、その変更が制御装置に通知され、対応する仮想デバイスのパラメータ値が同様に変更される。このように、オンライン状態にある場合、制御装置の仮想デバイスと実デバイスとでパラメータの値が連動しており、制御装置でその仮想デバイスのパラメータ値を変更することにより、対応する実デバイスのパラメータ値を変更して、その実デバイスの動作をリモート制御することができる。
【0119】
以上の処理により、制御装置がIDを収集した実デバイスのうちの、何れかの仮想デバイスと対応付けられた各実デバイスは、対応する仮想デバイスとオンラインとなり、制御装置からのリモート制御を受け付ける。その際、オンラインとなった各実デバイスには、制御装置が新たに生成した1つのユニークIDが記憶される。そして、このユニークIDは、別の制御装置をネットワークに接続するとき、ないし、同じ制御装置をネットワークから一旦切り離して再接続する際の、図13に示す自動対応付け処理で参照する。なお、制御装置を新たにネットワークに接続して、最初に図15の処理を実行する前は、その制御装置の全ての仮想デバイスはオフラインである。
【0120】
また、図15の処理でオンラインになった仮想デバイスは、対応するデバイスがオーディオネットワークシステムSから除外されたり、動作を停止するなどして制御装置と該当デバイスとの接続が切れたりした場合に、オフラインに戻る。また、ユーザによるオフライン移行指示があった場合には、制御装置のCPUが全仮想デバイスをオフラインに戻す。
また、図15の処理では、実デバイスが対応付けられた全ての仮想デバイスの同期化を行っているが(ステップS233)、同期化処理の開始時に既にオンラインの仮想デバイスがある場合、その仮想デバイスは既に対応付けられた実デバイスとパラメータが同期しているので、その仮想デバイスに関する同期化の処理を省略してもよい。
【0121】
ところで、図13の処理での自動対応付けや図15の処理での同期化は、現在の制御対象として設定されているシステムIDを持つ仮想デバイスについてのみ行ったが、この「現在の制御対象」を示すシステムIDは、ユーザが制御装置のユーザインタフェースを操作して変更可能である。なお、1つの制御装置が複数のシステムIDのシステムを任意に切り替えて制御する場合、その制御装置に各システムの情報(仮想デバイステーブル、仮想デバイスのパラメータ等)を独立して記憶するようにすれば、制御対象のシステムの変更をレスポンスよく行うことができる。
【0122】
図16に、この変更のための処理を示す。
制御装置のCPUは、現在の制御対象を示すシステムIDを変更するための制御対象システム設定指示を検出すると、図16に示す処理を開始する。
そしてまず、オンライン中の仮想デバイスを全てオフラインにすると共に(S241)、指示に従って、現在の制御対象を示すシステムIDの値を変数TGに設定する(S242)。そしてその後、その新たに設定したID値を用いて、図13に示した自動対応付け処理を行って(S243)、処理を終了する。
なお、制御対象システムの設定指示を、全仮想デバイスがオフラインの場合のみ行うことができるようにした場合は、ステップS241の処理は不要である。
【0123】
以上の処理により、常に、現在の制御対象として設定されているシステムIDを有する仮想デバイスが、オーディオネットワークシステムSを構成する(制御装置がIDを収集した範囲の)適当なデバイスと対応付けられ、オンライン状態にすることにより制御装置から制御可能な状態を保つことができる。
従って、例えばシステムIDが「3」であるデバイスを制御したい場合には、ユーザは、現在の制御対象を示すシステムIDを「3」に設定した上で、図15の処理の実行を指示するオンライン移行指示を行えばよい。
【0124】
以上のようにシステムIDで制御対象を区別することにより、複数の異なるリモート制御システムを制御対象として指定して、そのリモート制御システムを構成すべき実デバイスをリモート制御することができるようになる。なお、異なるリモート制御システムの仮想デバイスを、同時にオンラインにできるようにすることもできる。その場合であっても、制御対象として指定されるシステムIDは制御装置で1つだけとして、何れか1つのシステムのみを制御対象としてリモート制御するのがよい。
【0125】
また、図13の処理により行われた、仮想デバイスと実デバイスとの対応付けは、ユーザが制御装置のユーザインタフェースを操作して手動で変更することもできる。
図17に、この変更のための手動対応付け処理のフローチャートを示す。
制御装置のCPUは、ユーザから、仮想デバイスの指定と共にその仮想デバイスに関する手動対応付けを指示された場合に図17のフローチャートに示す処理を開始する。なお、指定できるのは、現在の制御対象を示すシステムID(TGとする)を有する仮想デバイスのみである。
【0126】
図17の処理において、制御装置のCPUはまず、対応付けを指示された仮想デバイスをオフラインにする(S251)。この場合、その仮想デバイスと対応する実デバイスがあれば、そのデバイスの制御を中止するが、中止に応じてその仮想デバイスの制御に用いる制御パラメータの値を変更する必要はない。また、もともとオフラインであれば、何もしなくてよい。
また、手動対応付けの指示を、全部の仮想デバイスがオフラインの場合、ないし、対象の仮想デバイスがオフラインの場合にのみ行うことができるよう制限した場合は、ステップS251の処理は不要である。
【0127】
次に、指示に係る仮想デバイスに対応付けることができる実デバイスの候補として、その仮想デバイスとシステムID、機種ID及びデバイスIDが一致する実デバイスを、IDを収集してあるデバイスの中から検索する(S252)。この検索範囲は、実デバイスの追加や除去がなければ、図14のステップS212の場合と同じである。
そして、ここで検索されたデバイスの1つを、仮想デバイスに対応付ける実デバイスとしてユーザに選択させ(S253)、指示に係る仮想デバイスについての対応する実デバイスのアドレスMD(TG,i)に、選択されたデバイスのMACアドレスを設定する(S254)と共に、対応付け結果をディスプレイの画面に表示させて(S255)、処理を終了する。
【0128】
以上の処理により、自動対応付け処理による対応付けの内容がユーザの希望と合わない場合に、ユーザが対応付けの内容を事後的に変更することができる。この手動での対応付けの際には、システムUIDと実デバイス側のユニークIDとの一致/不一致を気にする必要はない。また、手動により変更された仮想デバイスと実デバイスの対応付けは、この後、ユーザがオンラインへの移行を指示し、図15の同期化処理が実行することにより、ネットワークに接続された実デバイスに反映される。その際、制御装置は新たなユニークIDを生成し、生成されたユニークIDは各実デバイスに記憶される。
【0129】
なお、IDを収集する範囲内に、システムID、機種ID及びデバイスIDの一致するデバイスが2つ以上存在しない通常の場合には、ステップS252の検索で発見されるデバイスは最大1つである。この場合、ステップS253で選択を受け付ける必要はないが、代わりに、発見されたデバイスを対応付けるか否かの選択を受け付けるようにするとよい。
【0130】
逆に、ステップS252で複数のデバイスが発見される場合、それらのデバイスはシステムID、機種ID及びデバイスIDが共通であるので、ステップS253での選択受付時には、これ以外の情報、例えばMACアドレスを提示して、発見された複数のデバイスをユーザが区別できるようにする。あるいは、発見された各実デバイスに対応するボタンをディスプレイ画面上に表示し、ユーザの操作に応じて、対応する実デバイスに反応指示を送信し、受信した実デバイスが本体の表示器を点滅させる、等して区別できるようにしてもよい。
【0131】
2.4 システムの構成変更時の対応
次に、制御装置により実デバイスをリモート制御中に、ネットワークに対して実デバイスが追加されたり、実デバイスのシステムIDやデバイスIDが変更されたりした場合でも、仮想デバイスと実デバイスとの対応付けを適切に維持し、制御装置によるデバイスの制御を継続できるようにするための処理について説明する。
【0132】
まず、図18に、制御装置のCPUが、ネットワークに新たに接続されたデバイスを検出した場合に実行する処理のフローチャートを示す。
図6に示したオーディオネットワークシステムSでは、特開2009−94589号公報に記載のものと同様、TLフレームの巡回を継続しつつ、カスケード接続されたデバイス上に形成されるループ上のフレーム伝送路を動的に変更することができる。新たなデバイスがカスケード接続されているデバイス群の端部に接続された場合は、そのデバイスを含むようにフレーム伝送路が変更され、既存のデバイスとそのデバイスとの間でのオーディオ伝送やイーサネットフレーム伝送が可能となる。
【0133】
そしてこの場合、制御装置と新たに接続されたデバイスとの間のイーサネットフレーム伝送が可能となり、制御装置による上述したネットワークスキャンにより、新たに接続された実デバイスを発見することができる。そこで、そのデバイスを発見した制御装置は、図18のフローチャートに示す処理を開始する。
この処理において、制御装置のCPUはまず、新たに接続された実デバイスからMACアドレス、システムID、ユニークID、機種ID及びデバイスIDを取得し、図12に示したような既知デバイスの情報(実デバイステーブル)に追加する(S271)。
【0134】
そして、新たに接続された実デバイスのシステムIDが、現在の制御対象を示すシステムID(TGとする)と一致するか否か判断する(S272)。ここで一致していれば、仮想デバイステーブルから、新たに接続された実デバイスとシステムID、機種ID及びデバイスIDの全てが一致する仮想デバイス、すなわち新たに接続された実デバイスと対応付けることができる仮想デバイスを検索する(S273)。
【0135】
そして、もしあれば(S274のYES)、発見した仮想デバイスの番号をiとし(S275)、MD(TG,i)=Nullであれば、すなわち発見した仮想デバイスに対応付けられているデバイスがなければ(S276のYES)、MD(TG,i)に新たに接続された実デバイスのMACアドレスを設定して、発見した仮想デバイスに新たに接続された実デバイスを対応付ける(S277)と共に、その対応付け結果をディスプレイの画面に表示させてユーザに通知し(S278)、処理を終了する。
【0136】
一方、ステップS272でNOの場合には、新たに接続された実デバイスは現在は制御装置による制御対象とならないデバイスであるので、この時点では対応付けは行わず、そのまま処理を終了する。
ステップS274でNOの場合には、新たに接続された実デバイスを対応付けることのできる仮想デバイスがないことがわかるため、その旨をユーザに警告して(S279)、処理を終了する。
また、ステップS276でNOの場合には、新たに接続されたデバイスを対応づけるべき仮想デバイスには既に実デバイスが対応付けられていて、デバイス間でシステムID、機種ID及びデバイスIDの設定が重複していることがわかる。そこで、その旨をユーザに警告して(S280)、処理を終了する。なお、この場合には、図17に示した手動対応付け処理により、その対応付けるべき仮想デバイスに新たに接続された実デバイスを対応付けるよう変更することができる。
【0137】
以上説明してきた図18の処理によれば、制御装置がIDを収集する範囲のネットワークに新たにデバイスが追加された場合でも、制御装置がそのデバイスを適切に仮想デバイスに対応付けることができる。この後、ユーザがオンラインへの移行を指示し、図15の同期化処理を実行することにより、対応付けの内容がネットワークに接続された実デバイスに反映される。
【0138】
次に、制御装置によるリモート制御の対象となり得るデバイスにおけるデバイスID及びシステムIDを設定する場合の処理について説明する。
各デバイスのデバイスID及びシステムIDの設定(変更)は、そのデバイスが全ての制御装置の仮想デバイスとオフラインである場合に、ユーザが操作子206を操作することで行われる。
【0139】
この場合、該当デバイスは、ユーザが入力したIDを新たに設定されるデバイスID又はシステムIDとしてフラッシュメモリ202として記録すると共に、フラッシュメモリ202に記録してあったユニークIDをクリアする。そしてこのことにより、どの制御装置においても、図13のステップS201におけるグループ化の対象外となる。しかし、変更後のシステムIDとデバイスIDの組が重複しているデバイスが他になければ(図14のステップS213での発見数が1であれば)、グループ化されたか否かに関わらず、IDを変更したデバイスを適当な仮想デバイスと対応付けることができる。
なお、実デバイスが何れかの仮想デバイスとオンラインである場合には、その実デバイスにおいてデバイスID及びシステムIDの設定を行うことはできない。
【0140】
2.5 対応付けの具体例
次に、制御装置が以上説明してきた各種ID及び仮想デバイステーブルを用いて行う制御対象デバイスの認識について、図19に示す具体例を用いて説明する。
図19に示す例において、実線の枠はこの発明の実施形態のリモート制御システムにおける制御対象のデバイスを含むネットワークシステム(図6に示したものとは異なる)を構成する1つ1つの実デバイスを示す。そして、その枠内の文字は、そのデバイスが記憶しているIDを、「システムID,ユニークID/機種ID/デバイスID」の書式で示している。なお、これらのIDは、分かりやすいように単純な数字や文字により記載しているが、特にユニークIDについては、一意性を確保するためにより長いデータ長(ビット数)とする必要があり、とにかく、何れのIDについても、実際の装置に適用する際にこのような形式を採ることが好ましいという意味ではない。
【0141】
また、図中の「システムを構成するデバイス」及び「オンライン後の各デバイスの状態」における各実デバイスの縦方向における位置は、ネットワークシステムにおける各デバイスの物理的な接続順ではなく、個々のデバイスを特定するもの(MACアドレスに相当)である。すなわち、この図中の異なる場所の、縦方向の位置が同じデバイスは、同じ実デバイスに相当する。
【0142】
そして、「オンライン後の各デバイスの状態」の欄では、いずれかの仮想デバイスと対応付けられている実デバイスを示す枠を太線で、仮想デバイスと対応付けられていない実デバイスを示す枠を通常の線で記載している。
また、破線の枠は、仮想デバイステーブルに登録されている1つ1つの仮想デバイスのデータを示す。そして、その枠内の文字は、その仮想デバイスについて設定されているIDを、「システムID/機種ID/デバイスID」の書式で示している。仮想デバイスの番号については、図示していない。
そして、各仮想デバイスに対応付けられるデバイスがある場合、図で中央の欄において、仮想デバイスを示す枠と実デバイスを示す枠とを実線で結んでこれを示している。
【0143】
まず、図19に示す例では、(a)の「システムを構成するデバイス」の欄に示す5台の実デバイス(制御装置がこれらのデバイス以外の装置である場合にはこれらに加えて不図示の制御装置)がネットワークシステムを構成し、仮想デバイステーブルにはそれらの実デバイスを示す仮想デバイスが適切に設定されている状態において、ネットワークシステムを構成する実デバイスをスペアと入れ替える場合を考える。
この場合、現在の制御対象を示すシステムIDとして図に示す「1」が設定されていれば、図13に示した自動対応付け処理により、図に示すように、ネットワークシステムを構成する全ての実デバイスが仮想デバイスに対応付けられ、制御装置による制御の対象となる。
【0144】
そして、制御装置において仮想デバイスをオンラインにすると、図15の同期化処理により各デバイスとの間でパラメータの同期化が行われると共に、新たに生成したユニークIDが、制御対象となっている各実デバイス(ここでは図示した全てのデバイス)に設定される。
この状態は、デバイスを入れ替えたり仮想デバイステーブルの内容を変更したりしなければ、何度電源オンオフやシステムの再起動を行っても、同様に維持される(ただし、設定されるユニークIDの値自体はオンライン化の動作を行うたびに変わる)。
【0145】
また、故障等の理由により実デバイスを入れ替えても、入れ替え後の実デバイスにシステムID、機種ID及びデバイスIDが仮想デバイステーブルの内容と対応するように適切に設定されていれば、ユニークIDが他の実デバイスと統一されていなくても、入れ替え前と同様に対応付け及び制御装置による制御が可能である(図13のステップS201のグループ化では入れ替えた実デバイスは別グループになるが、図14のステップS213で発見数が「1」となるため、グループ分けの影響はない)。一旦オンライン化を行えば、ユニークIDも他の実デバイスと統一される。
【0146】
しかし、(b)に示すように、入れ替え後の実デバイスに、古い設定の変更し忘れなどにより、誤って、入れ替えを行っていない(以前からネットワークにおいて制御装置による制御の対象であった)実デバイスのいずれかと全く同じシステムID、機種ID及びデバイスIDが設定されてしまっている場合には、これらのIDだけではどちらが入れ替えた実デバイスでどちらが入れ替えを行っていない実デバイスであるか、区別することができない。
【0147】
例えば、(b)に示す例では上から2番目の実デバイスと6番目の実デバイスでシステムID、機種ID及びデバイスIDが一致しているため、図14のステップS212で上から2番目の1/A/bの仮想デバイスと対応付ける実デバイスを検索した際、これらの2つの実デバイスが発見される。
しかし、入れ替えた上から6番目の実デバイスには、入れ替えを行っていない2番目の実デバイスとは異なるユニークIDが設定されている。従って、その前の図13のステップS201で異なるグループに分けられる。
【0148】
そして、2番目の実デバイスが属するグループが図13のステップS203で優先グループとして選択されるようにしておけば、図14のステップS217及びS218で、2番目の仮想デバイスに、入れ替え前の状態で対応付けられていたものと同じ、2番目の実デバイスを自動的に対応付けることができる。
ここで、通常は、入れ替えを行う実デバイスより、入れ替えを行っていない実デバイスの方が数が多いと考えられる。そこで、図13のステップS203での優先グループの選択基準を、ステップS202で対応付けのできた実デバイスの数が最も多いグループとすれば、多くの場合に、入れ替えていない実デバイスで構成されるグループが優先グループになるようにすることができると考えられる。図19の例では、この基準を採用しているとして説明する。
【0149】
以上の通りであるので、(b)に示す状態では、5つの仮想デバイスのうち4つに、図示のように実デバイスが対応付けられる。システムID、機種ID及びデバイスIDが共通なデバイスについても、以前から制御対象になっていた実デバイスを適切に見分けて対応付けを行うことができる。
【0150】
デバイスの入れ替え等においては、以前から制御対象になっていた実デバイスの設定はそのままとして、新たに入れるデバイスの設定を変更する場合が多い。そのため、設定ミスは、新たに入れる実デバイスで生じている確率が高い。そこで、本実施形態の自動割当処理では、設定ミスの確率が低いと考えられる、以前から制御対象になっていた実デバイスを、仮想デバイスに優先的に割り当てるようになっている。
【0151】
なお、(b)の対応付けがなされた状態で各仮想デバイスをオンラインにすると、対応付けがなされた4つの実デバイスについてのみ同期化が行われ、共通の新たなユニークID(u2)が設定される。一方、仮想デバイスと対応付けられていない6番目の実デバイスのユニークIDは更新されない。従って、6番目の実デバイスのみ他の実デバイスとユニークIDが異なるという状態は、オンライン後も維持される。また、実デバイスをさらに入れ替えたり仮想デバイステーブルの内容を変更したりしなければ、次に電源がオンされたりシステムの再起動がされたりした場合も、同様な対応付けにより、6番目の実デバイスのみ他のデバイスとユニークIDが異なるという状態が維持される。
【0152】
また、上述のように、各実デバイスに設定されているデバイスIDは変更可能である。そこで、ユーザは、(b)の状態において、6番目の実デバイスのデバイスIDを「b」から「c」に変更して、仮想デバイスと対応する「正しい」設定とすることができる。
この設定を行った状態が(c)である。この状態でも、図13のステップS201のグループ化では3番目の実デバイスは他の実デバイスと別グループになる。しかし、ネットワーク内に、システムID、機種ID及びデバイスIDが重複するデバイスがなく、全ての仮想デバイスについて図14のステップS213で発見数が「1」となるため、グループ分けに関係なく、実デバイスを対応付けることができる。そして、一旦オンライン化を行えば、ユニークIDも他の実デバイスと統一され、実質的に(a)と同様な、適切な制御の可能な状態になる。
なお、入れ替えた実デバイスに入れ替え時点から適切なIDの設定がなされていれば、(a)の状態から(b)を経ずに(c)の状態へ移行する。
【0153】
3.第2の実施形態
次に、この発明のリモート制御システムの第2の実施形態について説明する。
上述した第1の実施形態においては、仮想デバイスと実デバイスの対応付けに変更があったか否かに関わらず同期化処理を行う度にユニークIDを更新するようにしていたが、この第2の実施形態では、対応付けに変更があった場合にのみユニークIDを更新するようにした点が、第1の実施形態と異なる。また、各制御装置が、制御対象デバイスに記憶させた最新のユニークIDを記憶しておき、実デバイスが記憶しているユニークIDがこれと一致するか否かに応じて、その実デバイスに対して異なる取扱いをするようにした点も、第1の実施形態と異なる。
そこで、この相違点及びそれに関連して処理内容を変更すべき点についてのみ説明する。
【0154】
3.1 制御装置に記憶させる仮想デバイステーブル
まず、図20に、この実施形態において制御装置が記憶する仮想デバイステーブルの例を示す。
この図に示すように、仮想デバイステーブルに、上記の「制御対象デバイスに記憶させた最新のユニークID」を、システムUIDとして、システムID毎に登録する。例えば、システムUID(2)=u2は、システムIDが「2」のシステムにおいて最後に制御対象デバイスに記憶させたユニークIDが「u2」であることを示す。
【0155】
なお、このユニークIDは、自身で生成した場合には、後述する図23のステップS323で生成及び設定するものである。また、自身でユニークIDの生成及び設定を行った後で他の制御装置がユニークIDの生成及び設定を行った場合には、該他の制御装置からそのユニークIDを含む仮想デバイステーブルが通知され、ユーザの指示に応じて図24のステップS343で設定する。
【0156】
仮想デバイステーブルに登録するその他の情報については、第1の実施形態の場合と同じであり、図10や図11の処理による仮想デバイスの追加や削除も同様に行うことができる。
なお、第1の実施形態の場合には、仮想デバイスと対応付けられている実デバイスのMACアドレスを示すMDの値は、制御装置のリセット時や電源OFF時には削除してしまってもよかったが、第2の実施形態の場合には、リセット時や電源OFF時でもMDの値を保持しておく。
【0157】
3.2 仮想デバイスと実デバイスの対応付け
次に、図21に、自動対応付け処理のフローチャートを示す。この処理は、第1の実施形態で図13に示した処理と対応するものである。そして、この処理も、図13の場合と同様、制御装置が新たにネットワークに接続された場合や、リモート制御システムのリセットが指示された場合などに制御装置のCPUが自動的に実行する。
この処理において、制御装置のCPUはまず、IDを収集した各実デバイスのうち、システムIDが、現在の制御対象となっているシステムIDを示す変数TGの値と一致するものを選定する(S301)。
【0158】
そして、仮想デバイステーブルに登録されたシステムIDの値がTGの各仮想デバイスに対し、ステップS301で選定した実デバイスのうち機種ID及びデバイスIDが一致するものを対応付ける(S302)と共に、システムIDがTGのデバイスに記憶させた最新のユニークID=システムUID(TG)の値を準備する(S303)。このシステムUID(TG)の値が、必ずしも図21の処理を実行中の制御装置自身が生成した値とは限らないことは、上述の通りである。
【0159】
制御装置のCPUは、その後、iを1からシステムIDがTGの仮想デバイスの数VDN(TG)まで順次増加させながら、ステップS302で行った対応付けの内容を確認する処理(S304〜S309)を行う。
この際の確認において重要なポイントの1つは、ステップS302で対応付けられた実デバイスに、仮想デバイスとMACアドレスが一致し、かつシステムUID(TG)とユニークIDが一致する実デバイスが含まれているか否か、という点である。
【0160】
仮想デバイスと対応付けた実デバイスとでMACアドレスが一致していることにより、自機においてその仮想デバイスに対応付けてある実デバイスと同じ個体が、今回の自動対応付けの時点でも依然として自機と同じネットワークに接続されており、自機からリモート制御可能な状態であることがわかる。また、同じくユニークIDがシステムUID(TG)と一致していることにより、その対応付けてある実デバイスが、最新のオンライン移行指示(自機が行ったものか他の制御装置が行ったものかは問わない)の際にオンラインになったデバイスであることがわかる。
【0161】
従って、上記のMACアドレス及びユニークIDの一致を確認できれば、該当の実デバイスは、過去にも仮想デバイスと対応付られていたデバイスであり、自機の把握していないところで仮想デバイスとの対応付けが変更されてリモート制御システムから除外されているようなこともなく、自機の仮想デバイステーブルに登録されている対応付け(MDの値)を維持して問題ないデバイスであると考えることができる。このような意味で、上記のMACアドレス及びユニークIDの一致を確認できたデバイスを、「既知デバイス」と呼ぶことにする。
【0162】
そして、ステップS302でi番目の仮想デバイスと対応付けられた実デバイス、すなわち仮想デバイスとシステムID、機種ID及びデバイスIDの一致するデバイス(システムIDの一致はステップS301で保証される)が、既知デバイス1つのみであれば、その仮想デバイスについて、実デバイス側にIDの設定漏れや重複等の不備はなく、対応付けの変更も必要ないことがわかる。すなわち現在の設定に問題ないことがわかる。
従って、ステップS305での判断結果がこのようなものであった仮想デバイスについては、特に何の処理も行わず、それまでの設定内容を維持する。設定に問題がない旨をユーザに通知してもよい。
【0163】
また、ステップS302でi番目の仮想デバイスと対応付けられる実デバイスがなかった場合には、i番目の仮想デバイスと対応付けるべき実デバイスは自機が接続されているネットワークシステムに含まれていないことがわかる。この場合、該当する仮想デバイスの制御はできないが、第1の実施形態の場合と同様、それ以上の問題はなく、この時点で対応付けの内容を変更する必要もない。
従って、ステップS305での判断結果がこのようなものであった仮想デバイスについても、特に何の処理も行わず、それまでの設定内容を維持する。対応する実デバイスがない旨をユーザに通知してもよい。
【0164】
一方、ステップS302でi番目の仮想デバイスと対応付けられた実デバイスが既知デバイスを含む複数のデバイスであった場合、対応付け自体には深刻な問題はないが、ネットワークシステム内にシステムID、機種ID及びデバイスIDの重複する複数の実デバイスが存在することになり、実デバイスにおけるIDの設定が適切になされていないことがわかる。従って、ユーザにその旨を警告する(S306)。図17のステップS253の場合と同様な手法により、どのデバイスが既知デバイスで、どのデバイスがその他の対応付けられたデバイスであるかをユーザが区別できるようにしてもよい。
そして、この警告を受けたユーザは、実デバイスにおけるIDの設定を変更して重複を解消したり、手動対応付けにより仮想デバイスと対応付ける実デバイスを変更したりする対応を行うことが考えられる。
【0165】
ここで、手動対応付け処理は、第1の実施形態において図17を用いて説明したものと概ね同様である。しかし、図22に示すように、手動対応付けにより実際に対応付けの内容(仮想デバイステーブルにおけるMDの値)が変更された場合に、システムID=TGのシステムにおける同期化処理時のユニークID更新要否を示すフラグCF(TG)に更新要を示す「1」を設定する処理(S311,S312)が追加されている点が、図17の場合と異なる。
【0166】
図21の説明に戻ると、ステップS302でi番目の仮想デバイスと対応付けられた実デバイスが既知デバイスを含まない1又は複数のデバイスであった場合、2つの可能性及びその複合が考えられる。
【0167】
まず、対応付けられた実デバイスの中にMACアドレスの一致する実デバイスがなかった場合には、以前i番目の仮想デバイスと対応付けていた実デバイスが何からの理由に撤去され、その代替となる実デバイスがネットワークシステムに接続されていることがわかる。この場合、ステップS302で対応付けられた実デバイスが1つだけであればその実デバイスを、複数あればそのうちいずれかの実デバイスを、i番目の仮想デバイスに新たに対応付ければ(MDの値をその実デバイスのMACアドレスに更新すれば)よいと考えられる。このような対応付けを自動で行ったり、また自動対応付け処理の中でユーザに設定変更の許可を求めたりすることも考えられるが、ここでは、デバイスが入れ替えられた旨をユーザに警告する(S307)に留め、実際の対応付けは、手動対応付けにより行うようにしている。
【0168】
また、ステップS302で対応付けられた実デバイスの中にMACアドレスが一致する実デバイスはあったがそのデバイスについてユニークIDが一致しない場合、以前i番目の仮想デバイスと対応付けていた実デバイスはシステムID及びデバイスIDの設定内容を維持したまま残っているものの、他の制御装置により、仮想デバイスとの対応付けが解除されていることがわかる。他の制御装置が図23により後述する同期化処理においてオンラインにする(仮想デバイスと対応付けてある)実デバイスにユニークIDを設定する際に、仮想デバイスと対応付けられていなかったためユニークIDの設定対象とならなかった実デバイスが、このような、MACアドレスが一致するもののユニークIDが一致しない状態となるためである。
【0169】
この場合には、必ずしも自機における仮想デバイスと実デバイスとの対応付けを他の制御装置に合わせて変更する必要はないが、変更することが好ましい場合もあるので、他の制御装置により仮想デバイスと実デバイスとの対応関係が変更されている旨をユーザに警告する(S307)。ユーザは、この警告に応じて任意に手動対応付けにより対応関係を変更することができる。
【0170】
以上の処理により、制御装置のCPUは、仮想デバイステーブルの内容と、各実デバイスから収集したシステムID、機種ID、デバイスID及びユニークIDの値とに基づき、各仮想デバイスと実デバイスとの対応付を行うと共に、対応付けに不具合又はその恐れがある場合には、その旨をユーザに警告することができる。
この警告に従った不具合の是正は、次の図22に示す手動対応付けの処理あるいは各実デバイスにおけるIDの設定変更により行うことができる。そして、手動対応付けにより仮想デバイステーブルの内容を変更した場合には、CF(TG)に「1」が設定されることになる。
【0171】
また、上述の通り図21の処理において自動で対応付けの不具合を是正するようにしてもよいが、この場合も、仮想デバイステーブルの内容を更新した場合には、CF(TG)を「1」に設定する必要がある。また、図示は省略したが、仮想デバイステーブルに対する仮想デバイスの追加や削除あるいはIDの設定変更を行った場合も、同様にCF(TG)を「1」に設定する。
【0172】
なお、ステップS306又はS307で警告を行った場合にその旨を記憶しておき、警告がある仮想デバイスにつきユーザが手動対応付けや警告無視の指示を行うまでは図23の同期化処理を行えないようにしたり、同期化処理において、既知のデバイスについてのみオンライン化を行うようにしたり、警告がある仮想デバイスについてはオンライン化を行わないようにしたりすることも考えられる。
【0173】
次に、図23に、同期化処理のフローチャートを示す。この処理は、第1の実施形態で図15に示した処理と対応するものである。そして、この処理も、図15の場合と同様、ユーザの操作によるオンライン移行指示を検出した場合に制御装置のCPUが実行するものである。
【0174】
この処理において、制御装置のCPUはまず、CF(TG)の値により、ユニークIDの更新が必要か否か判断する(S321)。そして、更新要を示す「1」であれば、CF(TG)を「0」にリセットする(S322)と共に、図15のステップS231の場合と同様にユニークなIDを生成し、仮想デバイステーブルにシステムUID(TG)の値として設定する。また、存在を把握している他の制御装置に対して、その新たなシステムUID(TG)を含むシステムID=TGの仮想デバイステーブルの内容を通知する(S323)。
【0175】
ステップS323の通知を受けた制御装置のCPUは、図24のフローチャートに示す処理を開始し、まず、通知された仮想デバイステーブルに含まれるシステムUIDを引き継ぐか否かを、適当な選択画面をディスプレイに表示させる等してユーザに選択させる(S341)。
そして、ユーザが引き継ぐことを選択した場合(S342のYES)、通知されたシステムID=TGの内容で、自身が記憶するシステムID=TGの仮想デバイステーブルを置き換え(S343)、処理を終了する。
ユーザが引き継がないことを選択した場合、そのまま処理を終了する。この場合、受信した仮想デバイステーブルの内容を破棄されることになる。
【0176】
ここで、図24に示した処理によるシステムUIDの引き継ぎの意義について説明する。
まず、リモート制御システムに制御装置が複数含まれる場合、そのいずれからも同じようにシステムの構成を変更できるようにすると、制御動作に混乱が生じる可能性がある。そこで、システムの構成の変更は、ユーザアカウントの権限制御などにより、特定のオペレータ(システム管理者)だけが行えるようにすることが好ましい。
なお、ここでまでに説明してきた仮想デバイステーブルの内容変更(仮想デバイスの追加や削除)や、仮想デバイスと実デバイスとの対応付けの変更は、システムの構成の変更の具体例である。
【0177】
そして、図23のステップS323で制御装置が行う他の制御装置への仮想デバイステーブルの通知は、仮想デバイスと実デバイスとの対応付けが変更され、CF(TG)が1となった場合に実行されるものであるので、システム管理者が行う、「それまでとは異なるシステムの制御を開始したので、他の制御装置もそれに同期しなさい。」という指示のようなものと考えることができる。
【0178】
また、新たなシステムUIDを含む仮想デバイステーブルの通知は、システム管理者からの通知であるため、通知を受けた他の制御装置のオペレータは、その制御装置が同じシステムIDのシステムを制御していれば、基本的には、その通知を受け入れると考えられる。
そして、ステップS343で、自身が記憶する仮想デバイステーブルを通知された仮想デバイステーブルの内容に置き換えることにより、通知元の制御装置とシステムUID及び仮想デバイスを統一できる。従って、仮想デバイステーブルを通知された制御装置も、オンライン移行指示に応じて図23の処理を実行することにより、以下に説明する通知元の制御装置の場合と同じ仮想デバイスに、同じ実デバイスを対応付けられることになる。
【0179】
なお、ステップS323での仮想デバイステーブルの通知対象は、例えば、同じネットワークシステムに接続された全ての制御装置、とすればよい。あるいは、それらの制御装置のうち、システムID=TGの仮想デバイステーブルを記憶している制御装置に限定してもよい。
さらに、自身と重複する範囲の実デバイスを制御対象とする他の制御装置のアドレスなどを予め登録しておき、その登録した制御装置を通知対象としてもよい。システム管理者のアカウントで動作する制御装置が、自機と異なるシステムUIDを記憶した他の制御装置を発見したときに通知するようにすることも考えられる。
【0180】
また、通知対象の制御装置の動作として、仮想デバイステーブルを通知された場合でも、通知された仮想デバイステーブルと同じシステムIDの仮想デバイステーブルを記憶していない場合や、通知された仮想デバイステーブルに登録されている仮想デバイスと、自身における同じシステムIDの仮想デバイステーブルに登録されている仮想デバイスとに全く共通のものがない場合には、通知を受け取らないようにしたり、受け取っても、ユーザに引き継ぎ要否を確認せずに廃棄するようにしてもよい。これらの場合、通知元の制御装置は通知対象の制御装置と関連が薄く、むしろ仮想デバイステーブルの内容を統一しない方が好ましいと考えられるためである。
【0181】
図23の説明に戻ると、制御装置のCPUは、ステップS323の後、iを1から仮想デバイスの数VDN(TG)まで順次増加させながら(S324,S329,S330)、システムID=TGのi番目の仮想デバイスをオンラインにするための処理(S325〜S328)を行う。
【0182】
すなわち、システムID=TGのi番目の仮想デバイスとMACアドレス、システムID及びデバイスIDの全てが一致する実デバイスが実デバイステーブルにあれば(S325)、その実デバイスが、i番目の仮想デバイスと対応付けられているデバイスであることがわかる。そこで、その実デバイスにシステムUID(TG)を送信してユニークIDとして記憶するよう要求する(S326)と共に、その仮想デバイスのパラメータと、対応付けられた実デバイスのカレントメモリのパラメータとを、ユーザが指定した方向に同期化させる(S327)。その後、i番目の仮想デバイスについてのフラグOFを「1」に設定して、その仮想デバイスが対応付けられた実デバイスとオンラインになった旨を記憶する(S328)。
【0183】
なお、ステップS325でシステムID及びデバイスIDの一致を確認するのは、図21や図22の処理による対応付けの後で、実デバイスに対する直接操作によってその実デバイスのシステムIDやデバイスIDが変更されている可能性があるためである。
また、同期化については、システム管理者のアカウントで動作中の制御装置が行う場合には、どちら向きに行ってもよい。しかし、その他の制御装置が行う場合には、システム管理者がリモート制御中のシステムへのオンライン化となるので、実デバイスにおけるパラメータを読み出して仮想デバイスのパラメータとしてコピーする方向で行うことが好ましい。
【0184】
また、ステップS326で送信されるシステムUID(TG)を受信した宛先のデバイスは、要求に応じて、受信したIDをユニークIDとして設定する(S351)。
そして、iがVDN(TG)に達し、ステップS330でYESとなった時点で、各仮想デバイスがオンラインかオフラインかを区別してディスプレイの画面に表示させてユーザに通知し(S331)、処理を終了する。
【0185】
以上の処理により、制御装置がIDを収集した実デバイスのうちの、何れかの仮想デバイスと対応付けられた各実デバイスは、対応する仮想デバイスとオンラインとなり、制御装置からのリモート制御を受け付ける。その際、オンラインとなった各実デバイスには、制御装置が記憶するシステムUID(TG)と同じ値のユニークIDが設定されることになる。ステップS326で送信するシステムUID(TG)は、ステップS323で新たなIDを設定していればそのIDであるし、そうでない場合には以前から仮想デバイステーブルに登録されていたIDであるが、どちらの場合でも、システムUID(TG)と同じ値であることに変わりはない。また、複数の制御装置が存在する場合には、システムUID(TG)の値は、それら制御装置間で共有される。
【0186】
従って、複数ある制御装置のうちいずれが図23の処理を行った場合であっても、最新のオンライン移行指示の際に仮想デバイスに対応付けられているデバイスのみに、各制御装置が記憶するシステムUID(TG)と共通のユニークIDを設定されることになる。
複数ある制御装置のうちいずれが図22の処理などにより仮想デバイステーブルの内容を変更した場合であっても、その後その制御装置が図23の処理を行う際に、その時点でその制御装置において仮想デバイスに対応付けられているデバイスのみに、各制御装置が記憶するシステムUID(TG)と共通のユニークIDを設定されることになる。
【0187】
従って、各制御装置は、図21の自動対応付け処理において、各実デバイスに設定されているユニークIDと、自身が記憶するシステムUID(TG)とを比較することにより、実デバイスの配置やデバイスIDの設定自体には何の変更もない場合であっても、他の制御装置が行った仮想デバイステーブルの内容変更(及びそれに伴う仮想デバイスと実デバイスとの対応関係の変更)を検出し、ユーザに注意を喚起することができる。このような検出は、MACアドレスの比較のみでは行うことができない。
【0188】
なお、この実施形態においては、仮想デバイスと実デバイスの対応付けに変更があった場合(仮想デバイステーブルの内容に変更があった場合)にのみユニークIDの値を更新するようにしている。そして、仮想デバイステーブルの内容にも、仮想デバイスに対応付けられている実デバイス(MACアドレス)にも変更のない場合には、その実デバイスがネットワーク上から消滅(主に電源OFFによると考えられる)したり、ネットワーク上に新たに登場(主に電源ONによると考えられる)したりしても、新たなシステムUIDを生成することなく、従来のUIDを続けて用いるようにしている。従って、ユニークIDの更新回数を抑えることができる。
【0189】
また、図21の処理によれば、上記の主に電源ON/OFFに起因すると考えられる実デバイスの消滅や登場にいちいち警告を発することなく、異なるデバイスが導入された時など、ユーザが特段の注意を払う必要がある場合についてのみ、的確に警告を行うことができる。
【0190】
また、この実施形態において、複数ある制御装置のうち一部の制御装置のみが仮想デバイステーブルの内容変更及び手動対応付けを行うことができるようにしてもよい。このようにした場合、仮想デバイステーブルの内容変更及び手動対応付けの機能を有する装置をシステム管理者が操作し、その他の装置を一般ユーザが操作するようにするとよい。そして、該その他の装置においては、フラグCF(TG)が「1」になることはないので、該その他の装置が新たなシステムUIDを生成することはない。
また、この実施形態において、制御装置が、仮想デバイステーブルの内容変更及び手動対応付けの機能を有する装置1台だけであっても、ユニークIDを用いた仮想デバイスと実デバイスの対応付けによる効果は得られる。
【0191】
3.3 対応付けの具体例
次に、制御装置が以上説明してきた処理により行う制御対象デバイスの認識について、図25及び図26に示す具体例を用いて説明する。これらの図の書式は、特に断らない限り、図19と同じである。
【0192】
まず、図25に示す例では、(a)の「システムを構成するデバイス」の欄に示す5台の実デバイスがネットワークシステムを構成し、これらの実デバイスを制御する制御装置としてAとBの2台の制御装置(実デバイスのいずれかが制御装置として機能してもよい)がネットワークシステムに接続され、そのうち制御装置Aがシステム管理者のアカウントで動作している場合を考える。
【0193】
(a)に示す状態では、各実デバイスはデバイスIDの設定を行った直後の状態であり、ユニークIDはクリアされている。そしてこの状態では、図21に示した自動対応付け処理において、ユニークIDは制御装置のシステムUIDと一致しないため、実デバイスは既知デバイスとはならない。なおここでは、図21の処理で既知デバイスとならない実デバイスを「未知デバイス」と呼ぶことにする。
【0194】
図25(a)に破線の枠で示す仮想デバイスが登録された仮想デバイステーブルを有する制御装置Aにおいて自動対応付け処理を行うと、図21のステップS302の処理において、各仮想デバイスに対して線で結んだ実線の枠で示す実デバイスが対応付けられる。しかし、上記のように、これらの実デバイスは全て未知デバイスであるので、ステップS307で警告がなされる。そして、ユーザは、その後図22に示した手動対応付け処理により、図21のステップS302で行われた対応付けを仮想デバイステーブルに(MDの値として)登録することができる。このとき、フラグCF(1)に「1」がセットされる。なお、CF(1)は、TG=1の場合のCF(TG)である。
【0195】
その後、ユーザが制御装置Aにおいてオンライン移行指示を行うと、制御装置Aは図23の同期化処理を実行し、実デバイスと仮想デバイスとの間でパラメータの同期化を行う。このとき、CF(1)が「1」であるので、制御装置Aは新たなシステムUID(値は「u1」とする)を生成して仮想デバイステーブルに設定し、その仮想デバイステーブルを他の制御装置(ここでは制御装置B)に通知する。またその新たなシステムUIDを、仮想デバイスと対応付けた図で上から3つの実デバイスにユニークIDとして記憶させる。
【0196】
このシステムUIDやユニークIDは、デバイスを入れ替えたり仮想デバイステーブルの内容を変更したりしなければ、何度電源オンオフやシステムの再起動を行っても、同様に維持される。
【0197】
一方、制御装置Bは、(a)で制御装置Aから仮想デバイステーブルを通知された際にユーザがシステムUIDを引き継ぐ選択をすると、(b)に示すように、システムUIDの値を含め、仮想デバイステーブルの内容が(a)の動作終了後の制御装置Aと同じものになる。
この状態で自動対応付け処理を行うと、図21のステップS302の処理おいて、各仮想デバイスに対して線で結んだ実線の枠で示す実デバイスが対応付けられるが、これらすべてのデバイスは既知デバイスであるので、警告は発生しない。また、手動対応付けを行う必要もないので、フラグCF(1)が「0」のままオンライン移行指示を行うことができる。
【0198】
そして、この状態で同期化処理を行うと、新たなシステムUIDの生成は行わずに、パラメータの同期化を行う。ステップS326ではシステムUIDの値を実デバイスに記憶させるが、ここで記憶させる値は、実デバイスが既に記憶している値を同じ値のはずであり、確認的な処理となる。
そして、同期化処理により、実デバイスと制御装置Bの仮想デバイスとの間でも、パラメータの同期化が行われる。
なお、制御装置Aの仮想デバイスが実デバイスとオンラインのままでも、同時に制御装置Bの仮想デバイスを同じ実デバイスとオンラインにすることは可能である。
【0199】
次に、(b)に示した状態で、上から3番目の実デバイスを、故障等の理由により(c)に示す上から6番目の実デバイスに入れ替えた場合を考える。
(c)の状態で制御装置Aにおいて自動対応付け処理を行うと、図21のステップS302の処理において、各仮想デバイスに対して線で結んだ実線の枠で示す実デバイスが対応付けられる。これらの実デバイスのうち上2つは既知デバイスであるが、交換で新しく加えた「1,uy/A/c」の実デバイスは、ユニークIDが仮想デバイステーブルと一致せず、未知デバイスであるので、ステップS307で警告がなされる。そして、ユーザは、その後図22に示した手動対応付け処理により、「1,uy/A/c」の実デバイスを「1/A/c」の仮想デバイスに対応付けることができる。
【0200】
その後、ユーザが制御装置Aにおいてオンライン移行指示を行うと、制御装置Aは図23の同期化処理を実行する。このとき、手動対応付けによりCF(1)が「1」になっているため、制御装置Aは再度新たなシステムUID(値は「u2」とする)を生成して仮想デバイステーブルに設定し、その仮想デバイステーブルを制御装置Bに通知する。またその新たなシステムUIDを、仮想デバイスと対応付けた実デバイスにユニークIDとして記憶させる。
【0201】
一方、制御装置Bは、(c)で制御装置Aから仮想デバイステーブルを通知された際にもユーザがシステムUIDを引き継ぐ選択をすると、(d)に示すように、新たなシステムUIDの値を含め、仮想デバイステーブルの内容が(c)の動作終了後の制御装置Aと同じものになる。
この状態で自動対応付け処理を行うと、図21のステップS302の処理おいて、各仮想デバイスに対して線で結んだ実線の枠で示す実デバイスが対応付けられるが、これらすべてのデバイスは既知デバイスであるので、警告は発生しない。
【0202】
そして、この状態で同期化処理を行うと、新たなシステムUIDの生成は行わずに、パラメータの同期化を行う。
すなわち、制御装置Bが関与していない、制御装置Aにおける仮想デバイスと実デバイスの対応付けの変更を、制御装置Bにおいても把握し、ユーザに警告確認や手動対応付けの手間をかけさせずに、交換後の実デバイスをオンライン化することができる。
なお、制御装置BがシステムUIDを引き継ぐのは、制御装置Bのユーザが、制御装置Bを使用して、制御装置Aが制御している又は制御していたのと同じシステムを制御しようとする場合である。
【0203】
次に、図26に示す例では、制御装置Bが制御装置AからシステムUIDを引き継がない場合を考える。
図26(a)に示すのは、図25(a)と同じ状態である。ここで、制御装置Bにおいて、制御装置Aから仮想デバイステーブルを通知された際にユーザがシステムUIDを引き継がない選択をすると、制御装置Bに記憶されている仮想デバイステーブルがそのまま残り、(b)に示すように、制御装置Bの仮想デバイステーブルに制御装置Aとは異なる仮想デバイスが登録された状態になり得る。もちろん、システムUIDの値も制御装置Aが記憶するものとは異なる。
【0204】
このとき、制御装置Bの仮想デバイステーブルには、「1/A/c」のように制御装置A側と重複する仮想デバイスを登録しておくこともできる。
この状態で自動対応付け処理を行うと、図21のステップS302の処理おいて、各仮想デバイスに対して線で結んだ実線の枠で示す実デバイスが対応付けられる。ここで、「1/A/c」の仮想デバイスには、制御装置AがユニークIDを設定させた「1,u1/A/c」が対応付けられることになるので、少なくともこのデバイスについては、仮想デバイスとユニークIDが一致しない未知デバイスとなる。他の実デバイスについては、図示のようにユニークIDの設定がなければ未知デバイスとなるし、過去に対応付けが行われてユニークIDが設定されていれば既知デバイスとなる。
【0205】
そして、ユーザは、その後図22に示した手動対応付け処理により、図21のステップS302で行われた対応付けを仮想デバイステーブルに(MDの値として)登録することができる。このとき、フラグCF(1)に「1」がセットされる。
その後、ユーザが制御装置Bにおいてオンライン移行指示を行うと、制御装置Bは図23の同期化処理を実行し、実デバイスと仮想デバイスとの間でパラメータの同期化を行う。このとき、CF(1)が「1」であるので、制御装置Bは新たなシステムUID(値は「ux2」とする)を生成し、仮想デバイスと対応付けた図で下から3つの実デバイスにユニークIDとして記憶させる。
また、制御装置Bは新たなシステムUIDを設定した仮想デバイステーブルを制御装置Aに通知するが、ここでは制御装置Aも制御装置BのシステムUIDを引き継がないものとする。
【0206】
なお、制御装置Bが制御装置AのシステムUIDを引き継がない場合、通常は、制御装置Bは制御装置Aとな異なる組み合わせのデバイスを制御対象とすることになる。ここで、制御装置BがシステムUIDを引き継がないのは、制御装置Bのユーザが、制御装置Bを使用して、制御装置Aが制御している又は制御していたのとは異なるシステムを制御しようとしている場合である。
【0207】
このような場合に、1つの実デバイスが制御装置Bと制御装置Aの双方(の仮想デバイス)と同時にオンラインになると、制御に混乱が生じる恐れがあり、好ましくない。
そこで、例えば実デバイスにおいてユニークIDが別の値に書き換えられた時点でそれまでオンラインだった制御装置とのオンライン状態を解消するようにするとよい。このようにすれば、現在オンライン中の制御装置と異なる内容の仮想デバイステーブルに基づき別の制御装置からオンライン状態への移行(パラメータの同期化)を要求されたことを適切に把握し、後着優先で1つの制御装置とのみオンラインの状態とすることができる。
【0208】
このようにした場合、制御装置Bによる同期化処理の後は、制御装置Aは上から3番目の実デバイスとはオフラインとなり、制御装置Aとオンラインになっているのは、(c)の「システムを構成するデバイス」の欄に太線で示すように、上2つのデバイスのみである。
また、この状態で制御装置Aが自動対応付け処理を行うと、「1/A/c」の仮想デバイスには、制御装置BがユニークIDを設定させた「1,ux2/A/c」が対応付けられることになり、このデバイスは未知デバイスとなる。従ってこのデバイスについてステップS307での警告がなされる。従って、一旦オンラインにした実デバイスが他の制御装置によってデバイス構成の異なるシステムに組み入れられて使用された場合にも、警告を行うことができると言える。
【0209】
なお、制御装置Aにおいてユーザが手動対応付けで図に示すとおりの対応付けを行った後、オンライン移行指示を行うと、制御装置Aは、同期化処理により、上から3番目の実デバイスをオンラインにすることができる。またこのとき、制御装置Aは新たなシステムUID(値は「u2」とする)を生成し、仮想デバイスと対応付けた図で上から3つの実デバイスにユニークIDとして記憶させる。そして、上から3番目の実デバイスにも新たなユニークIDが記憶されることになるため、この実デバイスは制御装置Bとのオンライン状態を解消する。
【0210】
また、(d)に示すように、制御装置Aにおいて仮想デバイステーブルの内容が変更されると、変更した箇所については、自動対応付け処理において仮想デバイスに未知デバイスが対応付けられ、警告が行われることになる。
しかし、ユーザが手動対応付けで適当な対応付けを行った後、オンライン移行指示を行うと、制御装置Aは、同期化処理により、各仮想デバイスと、その仮想デバイスと対応付けた実デバイスとをオンラインにすることができる。またこのとき、制御装置Aは新たなシステムUID(値は「u3」とする)を生成し、仮想デバイスと対応付けた各実デバイスにユニークIDとして記憶させる。
【0211】
4.変形例
以上で実施形態の説明を終了するが、装置の構成、データの構成、ユーザによる操作の手順、具体的な処理内容等が上述の実施形態で説明したものに限られないことはもちろんである。
例えば、上述の実施形態では、仮想デバイス及び各デバイスについてシステムIDを設定しておき、制御装置が現在の制御対象とするシステムを、システムIDにより設定する例について説明した。
【0212】
しかし、現在の制御対象とするシステムを、設定し得るデバイスIDの選択肢の中から1又は複数のデバイスIDを指定して設定できるようにしてもよい。ただしこの場合、全デバイス及び仮想デバイスをデバイスIDのみ(あるいはデバイスIDと機種IDの組み合わせ)によって識別できるようにする必要がある。従って、仮想デバイスとシステムを構成するデバイスとの対応付けに際しては、システムIDは無視して(又は設定自体せず)、現在の制御対象として設定されているデバイスIDを有する仮想デバイスについてのみ、対応付けを行い、他の仮想デバイスについては何らのデバイスも対応付けないことになる。
【0213】
また、上述の実施形態では、現在の制御対象として設定されているシステムIDを有しない仮想デバイスについては、デバイスとの対応付けを行わない例について説明した。しかし、全仮想デバイスについて対応付けを行っておく一方、現在の制御対象として設定されていない仮想デバイスについては、オンラインにしないような制御を行ってもよい。
【0214】
また、優先グループの選択手法につき、図13に示したような、仮想デバイスとの対応付けに基づくもの以外にも、任意の手法を採用可能である。例えば、マスタノードとなるデバイスは重要なデバイスであるのであまり入れ替えないが他のデバイスについては頻繁に入れ替えがある、というような場合には、マスタノードが属するグループを無条件に優先グループとする手法も考えられる。
【0215】
また、図23のステップS323において、必ずしも仮想デバイステーブルの内容を全て通知しなくても、通知対象の制御装置との間で仮想デバイステーブルの内容を共通化できれば問題ない。例えば、通知対象の制御装置においてシステムUIDを引き継ぐ選択がなされた時点で仮想デバイステーブルを渡してもよいし、仮想デバイステーブルにおける仮想デバイスの内容が制御装置間で一致していることが何らかの手段で保証されるなら、システムUIDを通知するのみでもよい。
【0216】
また、各仮想デバイスに対応付けるデバイスを特定するための情報として、MACアドレス以外の情報を用いてもよい。ユーザが行うシステムIDやデバイスIDの設定内容によらず、デバイス間で重複が起こらず、常にデータの送信先を一意に特定できるような情報であれば、その情報を用いて、仮想デバイスに対応付けるデバイスを特定することができる。デバイスのメーカーがこのようなIDを予めデバイスに設定しておいてもよい。
【0217】
また、この発明は、上述したようなリング状のフレーム伝送経路を用いるシステムだけでなく、CobraNet(商標)やEtherSound(商標)をはじめ、制御装置から他の装置に対して制御用データを送信可能な任意の形態のネットワークシステムに適用可能である。
【0218】
さらに、ネットワークを介して音響信号を送信可能であることも必須ではない。従って、イーサネット(商標)、無線LAN、USB、IEEE1394等の任意のプロトコルによって通信を行うネットワークシステムにも適用可能である。この場合、音響信号は、制御信号の伝送に用いるネットワークとは別のネットワークや、MADI(Multichannel Audio Digital Interface)等のケーブルを使用して別途伝送するようにしてもよい。
【0219】
さらにまた、制御装置がコンソールやPCであることも、制御対象のデバイスが音響信号処理装置であることも、必須ではない。
以上説明してきた変形及び実施形態の説明において述べた変形は、矛盾しない範囲で任意に組み合わせて適用可能である。また逆に、ネットワークシステムが実施形態の説明において述べた特徴を全て有している必要もない。
【産業上の利用可能性】
【0220】
以上の説明から明らかなように、この発明のリモート制御システムによれば、複数の制御装置により同じデバイスを制御しようとする場合でも、同じシステムを制御対象とする複数の制御装置間で共通となるシステムUID(第2ID)に基づいて、直近の動作時に一群の制御対象として動作していたデバイスと、そうでないデバイスとを制御装置が容易に識別して、制御対象を選択できるようにすることができる。
従って、この発明を適用することにより、リモート制御システムの利便性を向上させることができる。
【符号の説明】
【0221】
1,S…オーディオネットワークシステム、2Ba、2Bc,2Be,2Bf,2Bx,3Ba…入出力装置、2Cb…コンソール、2Ed…ミキサエンジン、10…音響信号処理装置、100…TLフレーム
【技術分野】
【0001】
この発明は、複数の制御装置と、その制御装置により制御される複数のデバイスとを備えるリモート制御システムに関する。
【背景技術】
【0002】
従来から、複数のデバイス間でデータの伝送を行うための種々のネットワークシステムが知られている。
例えば、複数のノード間で音響信号の伝送を行うためのオーディオネットワークシステムが知られており、コンサート、演劇、音楽製作、構内放送等において用いられている。このようなオーディオネットワークシステムの例としては、以下の非特許文献1,2に記載のような、CobraNet(商標),EtherSound(商標)が知られている。
【0003】
また、これら以外に、特許文献1に記載のネットワークシステムも提案されている。
この特許文献1に記載のネットワークシステムにおいては、システムを構成する各デバイスにより形成されるリング状の伝送路にフレームを定期的に循環させ、各デバイスがそのフレームに対して必要な情報を読み書きすることにより、システムを構成する任意のデバイスから任意のデバイスへ、音響信号だけでなくイーサネット(登録商標)フレーム等の制御信号も、安定して伝送することができる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2009−94589号公報
【非特許文献】
【0005】
【非特許文献1】「CobraNet(TM)」、[online]、バルコム株式会社、[平成18年3月21日検索]、インターネット<URL:http://www.balcom.co.jp/cobranet.htm>
【非特許文献2】Carl Conrad、「EtherSound(TM) in a studio environment」、[online]、Digigram S.A.、[平成18年3月21日検索]、インターネット<URL:http://www.ethersound.com/news/getnews.php?enews_key=101>
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、上述したようなネットワークシステムにおいて、ある制御装置によりシステム内のデバイスを制御するリモート制御システムを構成しようとする場合、その制御範囲を特定するためにシステムIDを用いたり、具体的な制御対象を特定するためにデバイスIDを用いたりすることが考えられる。そしてこの場合、各デバイスにシステムIDとデバイスIDを予め設定しておき、制御装置がこれらのIDに基づいて制御対象のデバイスを特定することが考えられる。
【0007】
このような用途のIDは、ユーザによる設定を楽にしたり、設定画面を簡素にしたりするために、1〜数桁の数字や1〜数文字のアルファベットなど、簡単な内容にすることが好ましい。
しかし、このようなIDを採用した場合、ユーザが把握できる範囲ではデバイス間で一意性を確保できるとしても、偶然やミスによりデバイス間でIDが重複してしまい、デバイスを識別できなくなる恐れがあった。
【0008】
例えば、システムに新たなデバイスを追加しようとした場合に、その新たなデバイスに誤って既存のデバイスと同じIDが設定されていると、それらのどちらのデバイスが新たに追加されたデバイスであるのか、制御装置から容易に判別できない。また、システム内のデバイスが故障して、これを別のデバイスに置き換える場合にも、その別のデバイスに誤って既存のデバイスと同じIDが設定されていると、それらのどちらのデバイスが置き換え後のデバイスであるのか、制御装置から容易に判別できない。
【0009】
従って、制御装置においてIDの設定が誤っていることが把握できたとしても、誤設定のない範囲で制御を開始することすら、難しい場合もあった。
このような問題は、複雑なIDを用いる場合であっても、誤設定による重複が無視できない場合には、同様に発生するものである。
【0010】
この発明は、このような問題を解決し、制御装置が複数のデバイスの制御を開始する際に、その複数のデバイス間でユーザにより設定されたIDが重複する場合でも、直近の動作時に一群の制御対象として動作していたデバイスと、そうでないデバイスとを制御装置が容易に識別して、制御対象を選択できるようにすることを目的とする。
特に、複数の制御装置により同じデバイスを制御しようとする場合でも、直近の動作時に一群の制御対象として動作していたデバイスと、そうでないデバイスとを制御装置が容易に識別して、制御対象を選択できるようにすることを目的とする。
【課題を解決するための手段】
【0011】
上記の目的を達成するため、この発明のリモート制御システムは、複数の制御装置と、その複数の制御装置により制御される複数のデバイスとを備えるリモート制御システムにおいて、まず、上記各デバイスに、そのデバイスの第1ID及び第2IDを記憶する記憶手段と、ユーザの操作に応じて上記第1IDを上記記憶手段に記憶させる第1設定手段と、上記制御装置からIDを受信して上記第2IDとして上記記憶手段に記憶させる第2設定手段とを設けたものである。
【0012】
さらに、上記各制御装置に、第2IDを記憶する第2ID記憶手段と、制御対象とする複数のデバイスを上記第1IDによりデバイス毎に特定するデバイスデータを記憶する制御対象記憶手段と、上記各デバイスからそれぞれそのデバイスの第1ID及び第2IDを取得するID取得手段と、上記ID取得手段が取得した第1ID及び第2IDに基づき、上記制御対象記憶手段に記憶された各デバイスデータに対し、IDの取得元である各デバイスのうち、そのデバイスデータと上記第1IDの値が共通する最大1つのデバイスを対応付ける手段であって、a)上記IDの取得元である各デバイスの中に、上記デバイスデータと上記第1IDの値が共通であり、かつ上記第2ID記憶手段が記憶する第2IDと同じ値の第2IDを有するデバイスがあった場合に、そのデバイスをそのデバイスデータに対応付け、b)上記IDの取得元である各デバイスの中に、上記デバイスデータと上記第1IDの値が共通であり、かつ上記第2ID記憶手段が記憶する第2IDと異なる値の第2IDを有するデバイスがあった場合に、ユーザに対して警告を行う対応付け手段と、上記対応付け手段による対応付けができたデバイスを、制御対象のデバイスとして設定する制御対象設定手段と、上記制御対象設定手段が設定した制御対象のデバイスを、上記第1IDにより特定して制御するリモート制御手段とを設けたものである。
【0013】
さらに、上記複数の制御装置のうち特定の制御装置に、上記デバイスデータのいずれかについて、上記IDの取得元である各デバイスの中に、そのデバイスデータと上記第1IDの値が共通であるデバイスが1以上あった場合に、ユーザの操作に応じて、その各デバイスの上記第2IDの値によらず、上記1以上のデバイスのうち1つをそのデバイスデータに対応付ける手動対応付け手段と、上記制御対象設定手段による制御対象の設定に際して、制御対象とするデバイスの中に、上記手動対応付け手段による対応付けがなされたデバイスが含まれている場合、1つのユニークなIDを生成し、上記第2ID記憶手段に記憶している第2IDをその生成したIDに書き換えると共に、上記制御対象設定手段が設定する制御対象の各デバイスに送信して上記第2IDとして記憶させる第2ID付与手段とを設けたものである。
【0014】
また、この発明の別のリモート制御システムは、複数の制御装置と、その複数の制御装置により制御される複数のデバイスとを備えるリモート制御システムにおいて、まず、上記各デバイスに、そのデバイスの第1ID及び第2IDを記憶する記憶手段と、ユーザの操作に応じて上記第1IDを上記記憶手段に記憶させる第1設定手段と、上記制御装置からIDを受信して上記第2IDとして上記記憶手段に記憶させる第2設定手段とを設けたものである。
【0015】
さらに、上記各制御装置に、第2IDを記憶する第2ID記憶手段と、制御対象とする複数のデバイスを上記第1IDによりデバイス毎に特定するデバイスデータを記憶する制御対象記憶手段と、上記各デバイスからそれぞれそのデバイスの第1ID及び第2IDを取得するID取得手段と、上記ID取得手段が取得した第1ID及び第2IDに基づき、上記制御対象記憶手段に記憶された各デバイスデータに対し、IDの取得元である各デバイスのうち、そのデバイスデータと上記第1IDの値が共通する最大1つのデバイスを対応付ける手段であって、a)上記IDの取得元である各デバイスの中に、上記デバイスデータと上記第1IDの値が共通であり、かつ上記第2ID記憶手段が記憶する第2IDと同じ値の第2IDを有するデバイスがあった場合に、そのデバイスをそのデバイスデータに対応付け、b)上記IDの取得元である各デバイスの中に、上記デバイスデータと上記第1IDの値が共通であり、かつ上記第2ID記憶手段が記憶する第2IDと異なる値の第2IDを有するデバイスがあった場合に、ユーザに対して警告を行う対応付け手段と、上記対応付け手段による対応付けができたデバイスを、制御対象のデバイスとして設定する制御対象設定手段と、上記制御対象設定手段が設定した制御対象のデバイスを、上記第1IDにより特定して制御するリモート制御手段とを設けたものである。
【0016】
さらに、上記複数の制御装置のうち特定の制御装置に、ユーザの操作に応じて上記制御対象記憶手段に対してデバイスデータの追加及び削除を行う制御対象編集手段と、上記デバイスデータのいずれかについて、上記IDの取得元である各デバイスの中に、そのデバイスデータと上記第1IDの値が共通であるデバイスが1以上あった場合に、ユーザの操作に応じて、その各デバイスの上記第2IDの値によらず、上記1以上のデバイスのうち1つをそのデバイスデータに対応付ける手動対応付け手段と、上記制御対象設定手段による制御対象の設定に際して、上記制御対象編集手段によりデバイスデータの追加又は削除がなされた場合及び、制御対象とするデバイスの中に、上記手動対応付け手段による対応付けがなされたデバイスが含まれている場合に、1つのユニークなIDを生成し、上記第2ID記憶手段に記憶している第2IDをその生成したIDに書き換えると共に、上記制御対象設定手段が設定する制御対象の各デバイスに送信して上記第2IDとして記憶させる第2ID付与手段とを設けたものである。
【0017】
上記の各リモート制御システムにおいて、上記特定の制御装置の第2ID付与手段が、上記ユニークなIDを生成した場合、そのIDを他の制御装置に通知し、その他の制御装置が、上記第2ID記憶手段に記憶している第2IDをその通知されたIDに書き換えると共に、上記制御対象記憶手段に記憶しているデバイスデータを、上記特定の制御装置の制御対象記憶手段が記憶しているデバイスデータに書き換えるようにするとよい。
【発明の効果】
【0018】
この発明によるリモート制御システムによれば、複数の制御装置により同じデバイスを制御しようとする場合でも、同じシステムを制御対象とする複数の制御装置間で共通となるシステムUID(第2ID)に基づいて、直近の動作時に一群の制御対象として動作していたデバイスと、そうでないデバイスとを制御装置が容易に識別して、制御対象を選択できるようにすることができる。
【図面の簡単な説明】
【0019】
【図1】この発明のリモート制御システムの実施形態において制御装置により制御されるデバイスが形成するオーディオネットワークシステムの概略構成を示す図である。
【図2】図1に示したオーディオネットワークシステムの伝送路で伝送されるTLフレームの構成例を示す図である。
【図3】TLフレームの伝送タイミングを示す図である。
【図4】オーディオネットワークシステム上での音響信号の伝送時における、TLフレームの伝送状況について説明するための図である。
【図5】図1に示したオーディオネットワークシステムを構成する各ノードとなる音響信号処理装置のハードウェア構成を示す図である。
【図6】図1に示した方式のオーディオネットワークシステムのより具体的な構成例を示す図である。
【図7】各デバイスに記憶させるIDについて説明するための図である。
【図8】仮想デバイステーブルの例を示す図である。
【図9】制御装置に記憶させる、オーディオネットワークシステムを構成するデバイスを制御するためのパラメータの例を示す図である。
【図10】制御装置のCPUが実行する仮想デバイス追加処理のフローチャートである。
【0020】
【図11】同じく仮想デバイス削除処理のフローチャートである。
【図12】制御装置が収集した各デバイスのIDの例を示す図である。
【図13】制御装置のCPUが実行する自動対応付け処理のフローチャートである。
【図14】同じくデバイス検索処理のフローチャートである。
【図15】同じく同期化処理のフローチャートである。
【図16】同じく現在の制御対象を示すシステムIDを設定する処理のフローチャートである。
【図17】同じく手動対応付け処理のフローチャートである。
【図18】同じく新規デバイスの追加を検出した場合の処理のフローチャートである。
【図19】制御装置による制御対象デバイス認識の具体例を示す図である。
【図20】第2の実施形態における仮想デバイステーブルの例を示す図である。
【0021】
【図21】第2の実施形態における自動対応付け処理のフローチャートである。
【図22】第2の実施形態における手動対応付け処理のフローチャートである。
【図23】第2の実施形態における同期化処理のフローチャートである。
【図24】制御装置が他の制御装置からシステムUID更新に伴う仮想デバイステーブルの通知を受けた場合に実行する処理のフローチャートである。
【図25】第2の実施形態における制御装置による制御対象デバイス認識の具体例を示す図である。
【図26】その別の例を示す図である。
【発明を実施するための形態】
【0022】
以下、この発明を実施するための形態を図面に基づいて具体的に説明する。
1. この発明のリモート制御システムの実施形態の概要(第1の実施形態)
この発明のリモート制御システムは、1又は複数の制御装置と、その制御装置により制御される複数のデバイスとを備えたシステムとして構成することができる。そして、その制御装置はそれぞれ、どのデバイスを制御対象とするかという設定に従って、ネットワークシステムを構成する複数のデバイスから適当なデバイスを選択してリモート制御の対象とし、その制御装置と、選択した制御対象デバイスとにより、リモート制御システムを構成することができる。
【0023】
また、制御装置により制御されるデバイスとしては、例えば、相互に音響信号を送受信可能なオーディオネットワークシステムを構成するデバイスが考えられる。
ここではまず、背景技術の項で述べた特開2009−94589号公報に記載のようなオーディオネットワークシステムを構成するデバイスを制御装置により制御され得るデバイスとする場合のリモート制御システムの構成例について説明する。
【0024】
1.1 制御装置により制御されるデバイスが形成するネットワークシステムの例
まず、図1に、この発明のリモート制御システムの実施形態において制御装置により制御されるデバイスが形成するオーディオネットワークシステムの概略構成を示す。
図1(a),(b)に示すように、このオーディオネットワークシステム1は、それぞれ単方向の通信を行う受信手段である受信インタフェース(I/F)と送信手段である送信I/Fの組を2組備えたデバイスであるノードA〜Cを、通信ケーブルCBで順次接続することにより構成したものである。ここでは3つのノードにより構成した例を示しているが、ノードの数は2以上の任意でよい。
【0025】
ノードAにおいては、受信I/F_AR1と送信I/F_AT1が一組のI/Fで、受信I/F_AR2と送信I/F_AT2がもう一組のI/Fである。ノードB及びCについても、符号の先頭の文字「A」を「B」あるいは「C」に置き換えたI/Fが、同様な関係に当たる。
【0026】
そして、ノード間の接続は、1組の受信I/F及び送信I/Fを、別のノードの1組の送信I/F及び受信I/Fとそれぞれ通信ケーブルCBで接続することにより行っている。例えば、ノードAとノードBとの間では、受信I/F_AR2と送信I/F_BT1とを接続すると共に、送信I/F_AT2と受信I/F_BR1とを接続している。また、ノードBとノードCとの間では、ノードBのもう1組のI/Fと、ノードCの1組のI/Fとを接続している。
なお、図1に示す各ノードは、アナログ入力,アナログ出力,デジタル入力,デジタル出力,ミキシング,エフェクト付与,録音再生,リモート制御,あるいはこれらの組み合わせ等の各種機能を有する音響信号処理装置である。ノード毎に機能が違っていても当然構わない。
【0027】
ここで、(a)に示すように、各ノードを、端部を有する1本のラインのように接続した状態を、「カスケード接続」と呼ぶことにする。そしてこの場合、各ノード間を結ぶケーブルCBにより、破線で示すように1つのリング状のデータ伝送経路を形成することができ、各ノードは、この経路でフレームを一定周期で循環させるように伝送し、そのフレームに対して必要な情報を読み書きすることにより、経路上の任意のノードとの間でデータの送受信を行うことができる。
そして、オーディオネットワークシステム1内において、1つのノードがマスタノードとなり、音響信号を伝送するためのフレームを生成し、定期的に伝送経路を循環させたり、ネットワークの管理を行ったりする。このマスタノードが生成するフレームを、その他のフレームと区別して「TLフレーム」と呼ぶことにする。
【0028】
また、(a)に示したカスケード接続に加え、両端のノードで使用していないI/F同士も通信ケーブルCBで接続すると、(b)に示すように、リング状のデータ伝送経路を2つ形成することができる。そして、各ノードは、これらの経路でそれぞれフレームを伝送し、その各フレームに対して必要な情報を読み書きすることにより、経路上の任意のノードとの間でデータの送受信を行うことができる。このようなノード間の接続状態を、「ループ接続」と呼ぶことにする。
【0029】
このループ接続の状態で、一方の伝送路を循環させるTLフレームのみで伝送可能な情報量の通信を行っている場合、1カ所で断線が発生したとしても、その断線箇所の両側でTLフレームの伝送を折り返すことにより、断線箇所の両側をカスケード接続の両端と見て、速やかに(a)に示したようなカスケード接続のシステムに組み換え、0〜2フレーム程度の損失でTLフレームの伝送を継続することができる。
【0030】
また、カスケード接続の状態で両端に新たにノードを追加接続した場合には、接続箇所の両側でTLフレーム伝送の折り返しを解除することにより、そのノードを通るデータ伝送経路を形成してそのノードをシステムに取り込むことができる。逆に、カスケード接続の状態でいずれかのノード間の接続が切断された場合には、切断箇所の両側でTLフレーム伝送の折り返しを開始することにより、マスタノードから見て切断箇所よりも先のノードを切離し、接続が維持されている箇所についてはTLフレームの伝送を継続することができる。
【0031】
なお、図1ではケーブルを2本示しているが、1組の受信I/Fと送信I/Fとを近接してあるいは一体として設ければ、2本を束ねて1本にしたケーブルにより、1組のI/F同士の接続を行うことも可能である。
また、各ノードには、必要なI/Fを設ければ、(c)に示すように、外部機器Nを接続し、外部機器Nから受信したデータをTLフレームに書き込んで他のノードに送信したり、TLフレームから読み出したデータを外部機器Nに送信したりすることもできる。
【0032】
ここで説明するリモート制御システムにおいて、制御装置は、オーディオネットワークシステム1を構成するデバイスのいずれかとすることもできるし、外部機器Nのようにオーディオネットワークシステム1を構成するデバイスのいずれかに接続された外部機器とすることもできる。
【0033】
前者の場合、例えばオーディオネットワークシステム1を構成するコンソールを制御装置として用いることができる。
後者の場合、外部機器として、パーソナルコンピュータ(PC)を用い、このPC上でリモート制御システム制御用のアプリケーションを起動することにより制御装置として機能させることが考えられる。そして、PCがユーザから受け付けた操作に応じたコマンドをノードBに送信し、ノードBがこれをTLフレームに書き込んで他のノードに送信したり、他のノードがTLフレームに書き込んで送信してきた応答やレベルデータ等をノードBが読み出してPCに送信し、PCにおける操作子状態の表示やレベル表示に使用するといった動作を行わせることが考えられる。
制御装置の数は任意であるし、両者が混在していても構わない。
【0034】
1.2 TLフレームの構成
次に、図2に、上述したオーディオネットワークシステム1の伝送路で伝送されるTLフレームの構成例を示す。なお、この図に示した各領域の幅は必ずしもデータ量と対応しない。
図2に示すように、このTLフレーム100は、サイズが1282バイトであり、先頭から順に、プリアンブル101,管理データ102,波形データ(オーディオデータ)領域103,制御データ領域104,FCS(Frame Check Sequence)105の各領域からなる。各領域のサイズは、その領域に記載するデータ量に関わらずそれぞれ一定である。また、ここで示すFCS105以外の各領域のサイズは一例であり、適宜変更してよい。
【0035】
そして、プリアンブル101は、計8バイトのデータであり、IEEE(Institute of Electrical and Electronic Engineers)802.3で規定されるプリアンブルとSFD(Start Frame Delimiter)とを記載する。
管理データ102は、8バイトのデータであり、オーディオネットワークシステム1内の各ノードがTLフレームに含まれるデータの管理に利用するデータとして、システム内のどの伝送路を循環させるフレームかを示すリングID、フレーム通し番号であるフレームID、波形データ103中の波形データのch数等を記載する。
【0036】
また、波形データ領域103としては1024バイトを確保しており、音響信号のデータである1サンプル32ビットの波形データを256ch分記載できる。すなわち、本システムでは、1つのTLフレーム100を循環させることにより、256ch分の音響信号を伝送することができる。なお、256ch中の伝送に使われていないch(空きch)の領域については、そこに何が記載されているか気にしなくて良い。なお、波形データのビット数に応じて各chの領域のサイズを変更するようにしてもよい。その場合、16ビットの波形データは512ch分伝送可能であり、24ビットであれば340ch分伝送可能になる。
【0037】
また、波形データ領域103においては、予めオーディオネットワークシステム1を構成する各ノードにchを割り当てておき、各ノードは、自身に割り当てられたchの位置に、出力波形データの書き込みを行う。この割り当ては、システム全体の管理動作を行うマスタノードが、各ノードからの要求に基づいて行う。
【0038】
一方、制御データ領域104としては238バイトを確保し、ここには、イーサネットフレーム領域106、ITLフレーム領域107、および管理データ領域108設けている。
このうちイーサネットフレーム領域106には、IP(Internet Protocol)に基づくノード間通信用のパケットであるIPパケットをさらにフレーム化したIEEE(Institute of Electrical and Electronic Engineers)802.3形式のフレーム(イーサネットフレーム)を記載する。
【0039】
また、記載すべきイーサネットフレームが用意したサイズ(ここでは178バイト)に収まらない場合には、フレームの送信側で必要な数のブロックに分割し、TLフレーム1つにつき、そのブロック1つを記載する。そして、フレームの受信側で複数のTLフレーム100からデータを取り出して結合し、分割前のフレームを復元することにより、通常のイーサネット(登録商標)での伝送と同様にイーサネットフレームをノード間で伝送することができる。
【0040】
また、ITLフレーム領域107には、隣接ノード間でのコマンド及びコマンドに対する応答の伝送に使用するフレームであるITLフレームのデータを記載する。このITLフレームは、詳細な説明は省略するが、システム内でフレーム伝送路を形成する際の情報伝達や、システム形成後の情報伝達に使用する。
【0041】
管理データ領域108は、システム内の各ノードがTLフレーム100に含まれるデータの管理に利用するデータを記載する領域である。ここに記載するデータとしては、例えば、レベル表示に使用するメータデータ、TLフレーム100が伝送中に切断されたことを示す切断検出フラグ、TLフレーム100の伝送にエラーが生じたことを示すエラーフラグ等が挙げられる。
また、FCS105は、IEEE802.3で規定される、フレームのエラーを検出するためのフィールドである。
【0042】
オーディオネットワークシステム1においては、以上のようなTLフレームに各ノード間を巡回させることにより、オーディオ信号のリアルタイム伝送とイーサネットフレームの伝送とを同時に行うことができる。そして、イーサネットフレーム領域106を用いたイーサネットフレームの伝送により、オーディオネットワークシステム1を構成する各ノードは、1つのイーサネット(商標)で接続されているのと等価な環境にある。
【0043】
1.3 TLフレームの伝送方式
次に、図3に、図2に示したTLフレーム100の伝送タイミングを示す。
この図に示すように、オーディオネットワークシステム1においては、TLフレーム100を、96kHz(キロヘルツ)のサンプリング周期1周期である10.4μsec(マイクロ秒)毎に1つ、ノード間を循環させ、各ノードはTLフレームの所望のchへの音響信号の書き込みないし所望のchからの音響信号の読み出しを行うようになっている。従って、各サンプリング周期に、256の信号伝送chについて、それぞれ1サンプル分の波形データを、各ノード間で伝送できる。
1Gbps(ギガビット・パー・セカンド)のイーサネット(登録商標)方式のデータ転送を採用すれば、TLフレーム100の時間長は、1ナノ秒×8ビット×1282バイト=10.26μsecであり、1サンプリング周期内に伝送が完了する。
【0044】
次に、図4に、オーディオネットワークシステム上での音響信号の伝送時における、図2に示したTLフレームの伝送状況を示す。
ここでは、ノードAからノードDまでの4つのノードをカスケード接続したシステムを考える。そして、このシステム内の各ノードにTLフレーム100を循環させる場合、いずれか1つのノードをマスタノードと定め、そのノードのみが新たなサンプリング周期のTLフレーム(通し番号の異なるTLフレーム)の生成を行い、サンプリング周期毎に生成されたTLフレームを次のノードへ送信する。マスタノード以外のノードはスレーブノードであり、それぞれ前のノードからTLフレームを受信し、次のノードへ送信する転送処理を行う。
【0045】
そして、マスタノードであるノードBが最初に図で右向きに、ワードクロックのタイミングに合わせて、ノードCに向かってTLフレームを送信すると、そのTLフレームは、破線で示すように、ノードB→C→D→C→B→A→Bの順で伝送され、ノードBに戻ってくる。この伝送の際、各ノードは、TLフレームを受信してから送信するまでに、他のノードから受信すべき波形データや制御データをTLフレームから読み取り、また他のノードに送信すべき波形データや制御データをTLフレームに書き込む。
【0046】
そして、マスタノードは、TLフレームが伝送路を1周して戻ってくると、そのTLフレームの管理データを書き換えて後のサンプル周期のTLフレームを生成し、適当なサンプル周期での送信に供する。またこのとき、マスタノードも他のノードと同様にTLフレームに対してデータの読み書きを行う。
【0047】
以上を繰り返すことにより、1サンプリング周期につき1つのTLフレームに、(a)から(e)に時系列的に示すように、各ノードを循環させることができる。これらの図において、黒塗りの矢印はTLフレームの先頭を、黒丸はTLフレームの末端を示す。線の矢印は、TLフレームの切れ目を分かり易くするために記載したものである。
【0048】
なお、ループ接続を行い、部分システム内に伝送路を2本形成する場合には、図1からわかるように、マスタノードであるノードBが生成して図で右向きに送信したTLフレームを、ノードB→C→D→A→Bの順で伝送する伝送路と、ノードBが生成して図で左向きに送信したTLフレームを、ノードB→A→D→C→Bの順で伝送する伝送路とができることになる。そしてこの場合、TLフレームが伝送路を1周する間に全てのノードを1回ずつ通過することになるため、各ノードは、その通過の際にデータの読み書きを行う。
【0049】
1.4 システムを構成する各装置のハードウェア構成及び基本動作
次に、以上説明してきたようなTLフレームの伝送を行うためのハードウェア及びその動作について説明する。
図5に、上述のオーディオネットワークシステム1を構成する各ノードとなる音響信号処理装置のハードウェア構成を示す。
【0050】
図5に示すように、この音響信号処理装置10は、CPU201,フラッシュメモリ202,RAM203,外部機器I/F(インタフェース)204,表示器205,操作子206を備え、これらがシステムバス207により接続されている。また、外部機器I/F204とシステムバス207とに接続するカードI/O(入出力部)210も備えている。
【0051】
そして、CPU201は、この音響信号処理装置10の動作を統括制御する制御手段であり、フラッシュメモリ202に記憶された所要の制御プログラムを実行することにより、表示器205における表示を制御したり、操作子206の操作を検出してその操作に従ってパラメータの値の設定/変更や各部の動作を制御したり、コマンドをカードI/O210を介して他の音響信号処理装置に送信したり、カードI/O210を介して他の音響信号処理装置から受信したコマンドに従った処理を行ったりする。
【0052】
フラッシュメモリ202は、CPU201が実行する制御プログラムを始め、電源を切っても残しておくべきデータを記憶する書き換え可能な不揮発性記憶手段である。
RAM203は、一時的に記憶すべきデータを記憶したり、CPU201のワークメモリとして使用したりする記憶手段である。
【0053】
外部機器I/F204は、種々の外部機器を接続し入出力を行うためのインタフェースであり、例えば外部のディスプレイ、マウス、文字入力用のキーボード、操作パネル、PC等を接続するためのインタフェースが用意される。PCは、CPU、メモリ、ハードディスク、ディスプレイ、キーボード、マウス、各種インターフェース、等を備え、Windows(商標)等のオペレーティングシステム(OS)が走る、通常のパーソナルコンピュータである。ユーザは、そのOSの元で、所望のアプリケーションソフトを起動して、PCを使用する。
【0054】
外部機器I/F204は、カードI/O210のオーディオバス217にも接続しており、オーディオバス217を流れる波形データを外部装置に送信したり、外部装置から受信した波形データをオーディオバス217に入力したりすることができる。この外部機器I/F204は、イーサネット、USB、IEEE1394等のいずれのインターフェースであってもよい。
【0055】
表示器205は、CPU201による制御に従って種々の情報を表示する表示手段であり、例えば、液晶ディスプレイ(LCD)や発光ダイオード(LED)によって構成することができる。
操作子206は、音響信号処理装置10に対する操作を受け付けるためのものであり、種々のキー、ボタン、ダイヤル、スライダ等によって構成することができる。
【0056】
これらの表示器205及び操作子206は、例えば音響信号処理装置10をコンソールとして構成する場合には、多数のchについて信号処理パラメータやパッチの設定を受け付けるための大型のディスプレイや多数のボタン、スイッチ、電動フェーダ等を設け、入出力装置として構成する場合には電源及びモード設定のための簡単なランプやボタンを設ける等、装置の機能に応じて大きく構成が異なるものである。
【0057】
また、カードI/O210は、オーディオバス217と制御バス218を備え、これらのバスに種々のカードモジュールを装着することにより、音響信号処理装置10に対する音響信号及び制御信号の入出力及びその処理を行うことができるようにするためのインタフェースである。ここに装着される各カードモジュールは、オーディオバス217を介して相互に波形データを送受信すると共に、制御バス218を介してCPU201との間で制御信号を送受信し、CPU201の制御を受ける。
【0058】
オーディオバス217は、任意のカードから任意のカードへ、複数チャンネルの波形データをサンプリング周期に基づくタイミングで各1サンプルずつ時分割伝送する音響信号伝送用ローカルバスである。接続された複数カードの何れか1つがマスタとなり、当該カードが生成し供給するワードクロックに基づいてオーディオバス217の時分割伝送の基準タイミングを制御する。その他の各カードはスレーブとなり、その基準タイミングに基づいて各カードのワードクロックを生成する。
【0059】
図5には、カードI/O210にDSP(デジタル・シグナル・プロセッサ)カード211,212,アナログ入力カード213,アナログ出力カード214,ネットワークI/Fカード215を装着した例を示している。
カードI/O210に装着される各種カードは、そのカードの機能に応じた波形データの処理を、それぞれ、ワードクロック(波形データのサンプリング周期)に基づくタイミングで実行する。
【0060】
また、これらのカードのうちネットワークI/Fカード215が、送信I/Fと受信I/Fを2組備え、図1乃至図4を用いて説明したオーディオネットワークシステム1におけるTLフレーム100の伝送と、TLフレーム100に対する波形データや制御データ等の読み書きとを行う機能を有する。これらの機能を実現するために必要なネットワークI/Fカード215の構成の詳細については、特開2009−94589号公報を参照されたい。
【0061】
そして、ネットワークI/Fカード215以外のカードは、音響信号処理、アナログ信号の入出力などの機能を担うものであるが、音響信号処理装置10に持たせたい機能に応じて任意に選択して装着することができる。さらに、ここで挙げたもの以外でも、その他カード216として、デジタル入出力、音源、レコーダ、エフェクタ等の、種々のカードモジュールを装着可能とすることが考えられる。
【0062】
2.IDを利用したデバイスの管理
ところで、上述したオーディオネットワークシステムを構成する各デバイスのように、リモート制御システムにおいて制御装置による制御対象とする各デバイスには、制御装置がそのデバイスを識別するための識別情報として、種々のIDを記憶させておく。
次に、このID及びIDを利用したデバイスの管理について説明する。なお、以下の説明において、「実デバイス」の用語を用いるが、これは、現実に存在して制御装置と通信可能な状態であるデバイス(例えば制御装置を含むオーディオネットワークシステムを構成するデバイス)を、後述する仮想デバイスと特に区別するための用語である。
【0063】
また、以後の説明においては、この実施形態の特徴を説明し易くするため、図1乃至図6を用いて説明してきたようなTLフレームの定期的な循環を行うオーディオネットワークシステムを、図6に示すような、コンソール2Cb、ミキサエンジン2Ex、および入出力装置2Ba,2Bc,2Bd,2Be、2Bf,3Baの8つのデバイスをカスケード接続して構成し、それらのデバイスの全部又は一部をリモート制御システムにおいて制御装置による制御の対象とする場合を例として用いる。図6において、実線がデバイス間の接続ケーブルを、破線がTLフレームの伝送経路を示す。
【0064】
2.1 各デバイスに記憶させるID
まず図7に、各デバイスに記憶させるIDの例を示す。ここで注目するのは、システムID、ユニークID、機種ID及びデバイスIDの4種である。
このうちシステムIDは、DSPカードにおける信号処理に用いるパラメータの設定や、ルーティングの設定など、音響信号処理に関するパラメータのリモート制御(設定)を制御装置から行う場合に、一度に制御の対象とするデバイスの範囲を1つのリモート制御システムとして規定するためのIDである。複数のデバイスを複数のシステムに分けて制御する場合、制御装置は、現在の制御対象のシステムを示すシステムIDを1つだけ選択し、自身と通信可能なデバイスのうち、そのシステムIDを持つデバイスのみを制御対象とする。
【0065】
なお、システムIDは、ユーザが任意に設定可能なIDであるが、ここでは、容易に設定できるように、0から15までの数字等、比較的少ない数の予め用意された選択肢から選択して設定するようにしている。
また、このシステムIDは、特開2009−94589号公報に記載のネットワークIDとは異なるものである。ここで、ネットワークIDは、一つながりのTLフレームの伝送経路(ループ接続の場合には伝送経路は2つになる)を形成するデバイスの範囲を示すIDであり、マスタノードが自動的に設定するものである。一方、システムIDはユーザが設定するものであるし、共通のシステムIDを付すデバイスの範囲は、一つながりの伝送経路が形成される範囲内とするのがよいが、必ずしもその範囲内に限定されるものではない。
【0066】
ユニークIDは、制御装置と通信可能なデバイスのうち、以前から制御装置による制御対象の一群のデバイスとして動作していたデバイスと、そうでない(入れ替えや追加がなされた)デバイスとを制御装置が識別できるようにするために設けたIDである。詳細は後述するが、このユニークIDは、制御装置がデバイスにおけるパラメータの制御開始のための同期化を行う度に、一意な値を生成して、その時同期化した全てのデバイスに、その生成した値を設定させる。従って、ユーザはこのユニークIDの設定を行うことはできない。また、その値を知る必要もない。なお、図では「u2」と記載しているが、実際にはもっと長くて複雑なデータになって構わない。
【0067】
機種IDは、デバイスが、複数の機種のうちどの機種であるかを示すIDである。このIDは、デバイスのメーカーが各機種毎に設定する固定的なものであり、ユーザが変更することはできない。図6の例では、各入出力装置は同じ機種であり、同じ機種IDを付している。コンソール2Cb及びミキサエンジン2Edは、それぞれ機種が異なるため、機種IDも異なる。
【0068】
デバイスIDは、ユーザが、各デバイスを識別するためにリモート制御システムの各仮想デバイス(後述)および各実デバイスに任意に設定する、例えば、アルファベットの1文字からなるIDである。2文字以上のアルファベットであってもよく、1〜3桁の数字、あるいは、アルファベットと数字の組み合わせであってもよい。とにかく、システムを構成する最大数のデバイスを識別できるIDであればよく、さらに言えば、ユーザが、限られた選択肢の中から容易に設定できる単純なIDとするのがよい。
【0069】
デバイスIDの設定においては、あるシステムIDを記憶する異なる2つの実デバイスに同じデバイスIDを設定することはできるが、後述のように、ある1つのリモート制御システムの異なる2つの仮想デバイスには同じデバイスIDを設定することはできないよう、制限が掛けられている。その意味で、デバイスIDは、「リモート制御システム内の複数の仮想デバイスの1を特定するIDである」と言える。
【0070】
なお、デバイスIDは、各デバイスを識別するためのIDであるから、基本的には各実デバイスに異なる値を設定すべきものである。しかし、リモート制御システムを構成していた実デバイスの一部を故障のため入れ替えたり、制御装置と通信可能な範囲に新たに実デバイスを追加したりしたような場合、たまたま、その入れ替えや追加に係るデバイスと、制御装置と通信可能な範囲の他のデバイスとでデバイスIDが一致してしまう場合もあり得る。
【0071】
このような場合でも、ユニークIDを利用して、以前から制御装置による制御対象の一群のデバイスとして動作していたデバイス(1つのリモート制御システムを構成していたデバイス)と、入れ替えや追加に係るデバイスとを、制御装置が区別できるようにした点が、この実施形態の特徴である。
【0072】
なお、デバイスIDはこのように異なる実デバイス間での重複があり得るため、実デバイスを確実に特定したい場合には、デバイスIDではなく、各実デバイスのネットワークカードに付与されたユニークなMACアドレスを用いる。しかし、MACアドレスは書き換えられるものではないので、複数の制御装置がある場合、それを基準にして最後にシステムとして制御された複数のデバイスを識別することはできない。
【0073】
2.2 制御装置に記憶させる仮想デバイステーブル
次に、制御装置がリモート制御システムにおける制御対象デバイスを特定するために記憶する情報である、仮想デバイステーブルについて説明する。
【0074】
図8に、この仮想デバイステーブルの例を示す。
この図に示すように、仮想デバイステーブルは、システムID毎に、それぞれそのシステムIDで特定されるリモート制御システムを構成すべき1つの制御対象デバイスを示す仮想デバイスの情報を記憶するテーブルである。仮想デバイステーブルは、ユーザが仮想デバイスを登録したシステムIDについてのみ用意すればよく、採りえる全てのシステムIDに対応してテーブルを用意する必要はない。また、VDNは、カッコ内のシステムIDについて登録されている仮想デバイスの数を示す変数である。
【0075】
この仮想デバイステーブルにおいて、各仮想デバイスは、システムID,機種ID及びデバイスIDを特定して登録する。番号は、登録されている各仮想デバイスに、若い番号「1」から順番に自動付与されるものである。
また、MDは仮想デバイスと対応づけた実デバイスのMACアドレスである。OFは、仮想デバイスが、制御装置が対応する実デバイスのリモート制御を行うオンライン状態になっているか否かを示すフラグであるが、これらについては後述する。
【0076】
なお、リモート制御システムへの仮想デバイスの追加ないし削除は、制御装置が実デバイスのリモート制御を行っていないオフライン状態で行われる。従って、仮想デバイスを登録する段階では、各仮想デバイスに対応する実デバイスが在るか否かは気にする必要がない。仮想デバイスは、対応する機種の実デバイスと同じ構成のパラメータを記憶する仮想的なデバイスであり、制御装置では、登録された仮想デバイスに関し、実デバイスと同様に各パラメータ値を編集することができる。
【0077】
また、制御装置がコンソール2Cbである場合、コンソール2Cbの備えている波形データの信号処理(DSP)、入出力(A/D,D/A)、送受信(ネットワークI/F)等のオーディオ機能は、それ自体が1つのデバイスに相当するものであって、他のデバイスと同様に、仮想デバイス(コンソール2Cb)として仮想デバイステーブルに登録される。その際、1つの仮想デバイスとして1つのシステムのみに登録されるようにしてもよいし、機能を複数に分割して、複数の仮想デバイスとして複数のシステムに登録できるようにしてもよい。ただし、コンソール2Cbにおいて、仮想デバイス(コンソール2Cb)は常時オンラインであり、オフラインになることはない。
図8には、システムID=2の仮想デバイス(番号=7)としてコンソール2Cbを登録した例を示している。
【0078】
また、制御装置は、図9に示すように、リモート制御システムにおける各仮想デバイスのパラメータを記憶しており、各仮想デバイスが対応付けられた実デバイスとオンラインかオフラインかに関わらず、その各パラメータ値を変更できる。
ここでいうパラメータは、実デバイス内において行われるレベル調整や遅延、イコライザ等の信号処理の特性の制御や、パッチ処理の信号経路の制御、実デバイスのネットワークI/Fにおける波形データの送信や受信の制御を行う各種パラメータである。
【0079】
制御装置によるリモート制御とは、これらの動作に使用するパラメータの値を、制御装置が受け付けたユーザ操作に従ってリモートで変更することを意味する。そして、制御装置が実デバイスのリモート制御を開始する際には、その実デバイス内のカレントメモリに記憶されたパラメータと、対応付けられた仮想デバイスのパラメータとの間で、各パラメータ値を同じとするためのコピー(同期化)が行われる。
【0080】
各実デバイスのカレントメモリに記憶されているパラメータの構成(種類や数)は、その実デバイスの機種、装着されるオプション等に応じて決まる。制御装置には、登録された各仮想デバイスに対応して、その仮想デバイスと対応付けられる実デバイスのカレントメモリに記憶されるパラメータと全く同じ構成のパラメータが記憶される。
【0081】
上述した同期化は、そのパラメータに関して行うものである。制御装置には、各機種IDの示す機種および、装着される各種オプションに対応してメーカーが用意したパラメータ構成情報が記憶されている。ユーザがシステムにある機種IDの仮想デバイスを登録する際には、その仮想デバイスに対応して、制御装置内に、その機種IDに対応したパラメータ構成情報が示す構成のパラメータ領域が形成される。また、仮想デバイスに実デバイスのオプションに対応づけるための仮想オプションを装着する際には、同パラメータ領域内に同仮想オプションに応じたサブ領域が形成される。
【0082】
以上のような図9に示すデータは、リモート制御に関する表示のレスポンスをよくするため、リモート制御操作に応じてまず制御装置自身が記憶するパラメータの内容を更新して、制御対象の装置に操作内容を通知する前に先に結果を表示できるようにするために用いることができる。リモート制御の開始に先立って、リモート制御の対象となるデバイスと、その内容について同期を取るのはこのためである。
【0083】
なお、図9においては、参考のために仮想デバイスの番号を示したが、各仮想デバイスはシステムIDとデバイスIDのみで特定可能であるから、番号を記憶する必要はない。
また、以上のような制御装置におけるパラメータの記憶及び同期化の対象には、カレントメモリに記憶させて実際の信号処理内容に反映させるデータの他、カレントメモリの内容を保存して後で読み出せるようにしたシーン等のデータを含めるようにしてもよい。
また、制御装置が記憶するパラメータには、複数のシステムが関わる制御を行うためのデータであるシステム制御用パラメータ(制御対象システムID等)も含まれている。
【0084】
次に、上述した仮想デバイステーブルの編集に係る処理について説明する。仮想デバイステーブルの編集は、制御装置が記憶する全仮想デバイスがオフラインの場合(後述するオンライン状態になっている仮想デバイスがない場合。ただし制御装置自身が仮想デバイステーブルに登録されている場合には制御装置自身はオンラインになっていてよい)にのみ行うことができる。また、編集に際し、情報を登録あるいは削除しようとする仮想デバイスと対応するデバイスが実際に存在しているかどうかを気にする必要はない。
【0085】
まず、図10に、仮想デバイス追加処理のフローチャートを示す。
この処理は、制御装置のCPU(制御装置がコンソール2Cbである場合にはCPU201であり、PCである場合はそのPCのCPU、以下同様)が、ユーザの操作による仮想デバイス追加指示を検出した場合に実行する処理である。また、追加指示は、例えば、追加する仮想デバイスのシステムID(sとする)、機種ID(kとする)及びデバイスID(dとする)を指定して行うものである。
【0086】
この処理において、制御装置のCPUはまず、仮想デバイステーブルに既に登録されている仮想デバイス中に、追加指示に係る仮想デバイスとシステムID及びデバイスIDの双方が一致するものがあるか否か判断する(S101)。
なければ、指示に従って仮想デバイスを追加すべく、まずシステムID=sについての仮想デバイス数VDN(s)をインクリメントする(S102)。そして、システムID=sのシステムについて、機種ID=kで特定される機種の制御に用いるパラメータの記憶領域を確保すると共に、所定の初期値を設定する(S103)。
【0087】
次に、仮想デバイステーブルに、システムID=sのシステムの新たな番号の仮想デバイスのデータとして、機種ID=k及びデバイスID=dを登録する(S104)。その後、登録結果をディスプレイの画面に表示させ(S105)、処理を終了する。
ステップS101で一致するものがあった場合、重複登録を避けるため、登録エラーをディスプレイの画面に表示させ(S106)、登録せずに処理を終了する。
【0088】
以上の処理により、ユーザの指示に従って仮想デバイステーブルに新たな仮想デバイスのデータを追加すると共に、その仮想デバイスのパラメータを記憶する記憶領域を用意し、初期値をセットすることができる。また、先述したように、各システムIDについて、同じデバイスIDの仮想デバイスが重複登録されないようにすることができる。
なお、仮想デバイスの追加指示受付時に、既存の追加デバイスとシステムID及びデバイスIDの双方が一致するものについて、選択肢から外す等して追加の指示を受け付けることができないようにしている場合には、ステップS101の分岐は不要である。
【0089】
次に、図11に、仮想デバイス削除処理のフローチャートを示す。
この処理は、制御装置のCPUが、ユーザの操作や外部装置からの要求による仮想デバイス削除指示を検出した場合に実行する処理である。また、削除指示は、削除する仮想デバイスのシステムID(sとする)及びデバイスID(dとする)を指定して行うものである。
【0090】
この処理において、制御装置のCPUはまず、削除指示に係るシステムID=sについて、仮想デバイス数VDN(s)をデクリメントする(S111)と共に、削除指示に係るデバイスID=dで特定される仮想デバイスの制御に用いるパラメータの記憶領域を解放する(S112)。
次に、仮想デバイステーブルから、システムID=sのシステムの、デバイスID=dが登録されている仮想デバイスのデータを削除する(S113)と共に、削除結果をディスプレイの画面に表示させ(S114)、処理を終了する。
【0091】
以上の処理により、ユーザの指示に従って仮想デバイステーブルから仮想デバイスのデータを削除すると共に、そのデバイスの制御に使用するパラメータのデータも削除することができる。
【0092】
2.3 仮想デバイスと実デバイスの対応付け
次に、仮想デバイステーブルのデータを用いた、仮想デバイスと実デバイスとの対応付けについて説明する。
この対応付けは、基本的には制御装置が自動的に行うものであるが、一部ユーザの選択に従ったり、また、自動的な対応付けの後ユーザが手動でその内容を変更したりすることができる。また、対応付けの処理自体は、自動であっても手動であっても、仮想デバイステーブルのデータと、各デバイスから収集した図7に示した各IDとに基づいて制御装置が内部的に行う処理であり、それ自体で他のデバイスに影響を与えるものではない。対応付けの結果に基づいてデバイスの制御を開始する処理については、別途後述する。
【0093】
なお、制御装置がIDを収集するデバイスの範囲は、制御装置が接続されているのと同じネットワークに接続された全デバイスである(図6の例ではオーディオネットワークシステムSに所属するデバイスであるが、ネットワークにおけるデバイスの接続態様や通信プロトコルはこれに限られない)。なお、隣接する1ないし複数のネットワークまで、ネットワーク間のルータを越えてデバイスをサーチし、発見されたデバイスのIDを収集するようにしてもよい。ID収集のための処理の図示は省略するが、制御装置は、ARP(Address Resolution Protocol),ICMP(Internet Control Message Protocol)等のプロトコルを使用して定期的にネットワークをスキャンし、新たに接続されたデバイスの検出を行う。そして、デバイスが検出された場合には、該デバイスにIDを要求し、その要求に応じて要求先のデバイスが送信してくる、図7に示した各種IDを受信する
【0094】
なお、各実デバイスは、その実デバイスのネットワークI/Fカードに付与されたMACアドレスにより特定できる。ここでは、収集した各IDは、図12の実デバイステーブルに示すように、各デバイスのMACアドレスと対応付けて管理するようになっている。また、ID収集処理では、ネットワークから消滅したデバイスも検出され、消滅したデバイスの情報は実デバイステーブルから削除される。
【0095】
ここで、図13に、自動対応付け処理のフローチャートを示す。なお、この処理の説明において、具体的な対応付けの例は、仮想デバイステーブルの内容が図8に示したものであり、制御装置は図6に示したオーディオネットワークシステムSを構成する各デバイスからIDを収集し、その収集したIDが、図12に示すものであるとして説明する。
【0096】
また、図13の処理は、制御装置が新たにネットワークに接続され、その制御装置が、そのネットワークに接続されているデバイスを検出したとき(一通り終わるまで待ってからでもよい)、リモート制御システムのリセットが指示されたとき、等に実行されるものである。また、ネットワークに接続された複数のデバイスの電源を投入し、または、制御対象のデバイスが属するネットワークの全デバイスをリセットして、そのネットワークを最初から形成しようとするとき、にも実行される。
【0097】
そして、これらの場合、制御装置のCPUは自動的に図13に示す処理を開始する。
この処理において、制御装置のCPUはまず、IDを収集した各デバイスのうち、システムIDが、現在の制御対象となっているシステムIDを示す変数TGの値と一致するものを、ユニークIDが同じもの毎にグループ化する(S201)。
TG=2である場合、図12に示した7つのデバイスのうち、システムID=2である6つのデバイスを、ユニークIDが「u1」であるグループと、ユニークIDが「u2」であるグループと、ユニークIDが「none(未設定)」であるグループとに分けることになる。なお、ユニークIDが「none(未設定)」であるグループは、作成しなくてもよい。
【0098】
次に、制御装置のCPUは、ステップS201で作成したグループ毎に、仮想デバイステーブルに登録されたシステムIDがTGの各仮想デバイスに対し、グループ内のデバイスのうち機種ID及びデバイスIDが一致するものを対応付ける(S202)。システムIDについては、ステップS201でシステムIDがTGであるデバイスのみを処理対象としているため、必ず一致する。
【0099】
例えば、ユニークIDが「u1」であるグループについては、番号が2である仮想デバイスが、図12の一番上のデバイスと対応付けられることになる。ユニークIDが「u2」であるグループについては、番号が4である仮想デバイスが、図12の上から2番目のデバイスと、番号が6である仮想デバイスが、同じく3番目のデバイスと対応付けられることになる。図12の上から5番目のデバイスについては、対応付ける相手がない。
このステップS202での対応付けは、優先グループの選択基準とする情報を取得するための予備的な対応付けである。
【0100】
そして次に、制御装置のCPUは、ステップS202での各グループについての対応付けの結果に基づき、ステップS201で作成したグループの1つを優先グループとして選択する(S203)。
この優先グループは、IDの重複があった場合に優先的に仮想デバイスと対応付けるデバイスを規定するグループである。そして、ここでの選択基準は種々のものが考えられ、例えば、対応付けできたデバイスの数が多いグループを選択したり、対応付けの結果をユーザに提示し、ユーザに選択させたり、またはその組み合わせとしたりすることが考えられる。
なお、ステップS202での結果によらず、ユーザが予めMACアドレス等により指定しておいたデバイスを含むグループを優先グループとすることも考えられる。この場合、ステップS201の処理は不要である。
【0101】
以上の後、処理はステップS204のデバイス検索処理に進む。
図14に、このデバイス検索処理のフローチャートを示す。
この処理において、制御装置のCPUはまず処理対象の仮想デバイスの番号を示す変数iに1を設定し(S211)、仮想デバイステーブルに登録された仮想デバイスのうちシステムID=TGで番号=iのものと同じシステムID、機種ID及びデバイスIDを持つデバイスを、IDを収集したデバイスの中から検索する(S212)。そして、検索によりデバイスをいくつ発見したか判断する(S213)。
【0102】
ここで、発見数が0の場合、オーディオネットワーシステムS中(IDの収集を行った範囲)には、処理対象の(システムID=TGで番号=iの)仮想デバイスに対応付けるべきデバイス、すなわちその仮想デバイスに関するデータを用いて制御すべきデバイスがないことがわかる。そこで、その仮想デバイスに対応付けるデバイスのアドレスを示す仮想デバイステーブル(図8参照)のMD(TG,i)に、対応付けるデバイスがないことを示すnullを設定する(S214)。
また、発見数が1の場合、処理対象の仮想デバイスについては、デバイスIDの重複設定はなく、オーディオネットワーシステムS中で対応付けるべきデバイスを一意に特定できることがわかる。そこで、MD(TG,i)に、発見したデバイスのMACアドレスを設定する(S215)。先述したように、MACアドレスは、実デバイスを特定するための情報であるので、ここでのMACアドレスを書き込みは、仮想デバイスへの実デバイスの対応付けに相当する。
【0103】
一方、発見数が2以上の場合、オーディオネットワーシステムS中に、システムID、機種ID及びデバイスIDにより区別できないデバイスが2以上あり、IDの設定が適切になされていないことがわかる。そこで、ディスプレイにメッセージを表示させる等により、ユーザにこの点を警告する(S216)。
【0104】
その後、発見したデバイス中に図13のステップS203で選択した優先グループのデバイスがあれば(S217のYES)、MD(TG,i)にその優先グループのデバイスのMACアドレスを設定する(S218)。優先グループのデバイスがなければ、発見したデバイスの1つをユーザに選択させ(S219)、MD(TG,i)にその選択されたデバイスのMACアドレスを設定する(S220)。
【0105】
ステップS214,S215,S218,S220のいずれの場合も、MD(TG,i)へのデータ設定完了後、iをインクリメントし(S221)、仮想デバイスの数VDN(TG)を超えていなければ(S222のNO)、ステップS212に戻って処理を繰り返す。超えていれば、処理対象のシステムIDに関する対応付けは完了であるので、元の処理に戻る。
図13の説明に戻ると、以上のデバイス検索処理により、自動対応付けは完了するので、対応付け結果をディスプレイの画面に表示させ(S205)、処理を終了する。
【0106】
以上の処理により、仮想デバイステーブルに登録されている仮想デバイスのうち、現在の制御対象として設定されているシステムIDを有する各仮想デバイスと、制御装置が接続されているオーディオネットワークシステムSを構成するデバイスとを、デバイス間にユーザが設定するシステムIDやデバイスIDの重複がある場合でも、ユニークIDを参照して適切に自動的に対応付けることができる。
【0107】
なお、図14のステップS219ではユーザに選択を求めているが、ステップS217でNOになるのは、かなり例外的な場合であり、このような状況になることはほとんどない。しかし、ここで説明している対応付けは、所与のアルゴリズムで決定できない場合でもランダムで行うべきものではないため、念のためステップS219以下の処理を設けている。
【0108】
ここで、例えば、図13のステップS203で、優先グループを1つ選択するだけでなく、対応付けできたデバイスの数が多い順にグループに優先順位を付し、図14のステップS213で判断が2以上になった場合に、優先順位の高いグループのデバイスを優先的に対応付けるようにすれば、対応付けが自動的に決まらず、ユーザに選択を求める可能性をさらに減らすことができる。
また、複数の制御装置が存在する場合、それらが実デバイスと順次同期化すれば、その度に各デバイスのユニークIDが書き換わることになる。本発明では、仮想デバイスとの対応付けができるグループが多いグループを優先することにより、そういった状況であっても、それら各制御装置において、仮想デバイスと実デバイスの適切な対応付けを行うことができる。
【0109】
次に、図15に、同期化処理のフローチャートを示す。
この同期化処理は、制御装置によるデバイスの制御を開始するための処理であるが、同時に、上述の対応付けの際に重要な役割を果たすユニークIDの設定を行う処理でもある。
制御装置のCPUは、ユーザの操作によるオンライン移行指示を検出した場合に、その時点でなされている対応付けに従ってオーディオネットワークシステムS中のデバイスの制御を開始するため、図15に示す処理を開始する。
【0110】
この処理において、制御装置のCPUはまずユニークなIDを生成する(S231)。生成方法は問わないが、オーディオネットワークシステムSと同種のシステムが運用される範囲で重複がないと期待できる程度のユニークさが望ましく、例えば、制御装置のMACアドレスと生成時点の時刻とを含むIDとすることが考えられる。また、ユニークIDをUUID(汎用一意識別子:Universally Unique Identifier)やGUID(グローバル一意識別子)などに基づいて生成してもよい。
【0111】
そして、生成したユニークなIDを、仮想デバイステーブルに登録されている仮想デバイスのうち、現在の制御対象を示すシステムID(=TG)を有する全ての仮想デバイスについて、その仮想デバイスと対応付けられているデバイスに送信し、ユニークIDとして記憶するよう要求する。ここでは、システムID=TGの仮想デバイステーブルに登録されている全ての仮想デバイスの番号iについて、それぞれMD(TG,i)に設定したMACアドレスを宛先として送信を行えばよい(S232)。ただし、MD(TG,i)の値がnullのものについては、送信不要である。また、MACアドレスが、上述の自動対応付けにより設定されたものであるか、後述する手動対応付けにより設定されたものであるかを考慮する必要はない。
【0112】
また、デバイスのリモート制御に関するデバイス間のあらゆる送信は、すべて、イーサネットの通信帯域を使用して行われる。ここでは、MAC層の処理として説明されているが、MAC層の上のインターネット層の処理とすることも可能であり、その場合、インターネットパケットに書き込まれる宛先アドレスは、MACアドレスに対応するデバイスのIPアドレスである。何れの場合であっても、MAC層においてはイーサネットフレームには同じMACアドレスが記載され、同じデバイス宛てに送信される。
【0113】
そして、ステップS232で送信される情報を受信した宛先のデバイスは、要求に応じて、受信したIDをユニークIDとして設定する(S131)。
また、制御装置のCPUは、ステップS232の後、実デバイスが対応付けられているシステムID=TGの各仮想デバイスにつき、その仮想デバイスのパラメータと、対応付けられた実デバイスのカレントメモリのパラメータとを、ユーザが指定した方向に同期化させる(S233)。この同期化は、何れか一方のパラメータをコピー元、他方のパラメータをコピー先として、1デバイス分の全パラメータをコピーして、それらの値を相互に一致させることによって行う。また、コピーするパラメータの転送は、転送元の制御装置ないしデバイスのパラメータを複数の部分に分けて各部分毎にダンプし、ダンプされたデータをイーサネットフレームに記載して、コピー先のデバイスないし制御装置に転送することにより、実行できる。コピー先のデバイスないし制御装置は、転送されたパラメータを既存のパラメータに上書きする。
【0114】
ここで、上述のように、各実デバイスは、制御装置に記憶されている仮想デバイスのパラメータではなく、デバイス自身が記憶しているパラメータの値に従って、信号伝送や信号処理を行う。そこで、この処理の状態を維持することを優先する場合(例えば、稼働中のシステムのネットワークに後から制御装置を接続し、そのシステムの動作を継続させたい場合など)には、各実デバイスのカレントメモリのパラメータをコピー元とし、制御装置の対応付けられた仮想デバイスのパラメータをコピー先とすればよい。
【0115】
一方、制御装置の記憶している仮想デバイスのパラメータに従った信号処理を各実デバイスに行わせたい場合(例えば、新たなネットワークシステムあるいはリモート制御システムを稼動させたい場合や、稼働中のシステムを止めて別の論理構成のシステムを立ち上げたい場合など)は、制御装置の各仮想デバイスのパラメータをコピー元とし、対応付けられた実デバイスのカレントメモリのパラメータをコピー先とすればよい。
ユーザは、どちらの方向に同期化を行うかを、全仮想デバイスについて一括して、又は仮想デバイス毎に個別に設定することができる。
【0116】
そして、制御装置のCPUは、以上の同期化の後、同期化した全ての仮想デバイスにつき、仮想デバイステーブルのフラグOFを「1」に設定してその仮想デバイスが対応付けられた実デバイスとオンラインになった旨を記憶する(S234)と共に、各仮想デバイスがオンラインかオフラインかを区別してディスプレイの画面に表示させてユーザに通知し(S235)、処理を終了する。
【0117】
なお、ある仮想デバイスがオフラインの場合、フラグOFの値は「0」であり、制御装置でユーザがその仮想デバイスのパラメータ値の変更操作をすると、制御装置が記憶するその仮想デバイスのパラメータの値のみが変更される。対応付けられた実デバイスがあったとしても、そのパラメータ値は変更されず、リモート制御は行われない。
【0118】
一方、ある仮想デバイスが対応付けられた実デバイスとオンラインの場合には、オンライン移行時の同期化処理でその仮想デバイスと実デバイスは同じ値のパラメータを記憶している。そして、制御装置でその仮想デバイスのパラメータ値を変更すると、その変更が対応する実デバイスに通知され、その実デバイスにおいても同様にパラメータ値が変更される。また、その実デバイスを操作して実デバイスのパラメータ値を変更すると、その変更が制御装置に通知され、対応する仮想デバイスのパラメータ値が同様に変更される。このように、オンライン状態にある場合、制御装置の仮想デバイスと実デバイスとでパラメータの値が連動しており、制御装置でその仮想デバイスのパラメータ値を変更することにより、対応する実デバイスのパラメータ値を変更して、その実デバイスの動作をリモート制御することができる。
【0119】
以上の処理により、制御装置がIDを収集した実デバイスのうちの、何れかの仮想デバイスと対応付けられた各実デバイスは、対応する仮想デバイスとオンラインとなり、制御装置からのリモート制御を受け付ける。その際、オンラインとなった各実デバイスには、制御装置が新たに生成した1つのユニークIDが記憶される。そして、このユニークIDは、別の制御装置をネットワークに接続するとき、ないし、同じ制御装置をネットワークから一旦切り離して再接続する際の、図13に示す自動対応付け処理で参照する。なお、制御装置を新たにネットワークに接続して、最初に図15の処理を実行する前は、その制御装置の全ての仮想デバイスはオフラインである。
【0120】
また、図15の処理でオンラインになった仮想デバイスは、対応するデバイスがオーディオネットワークシステムSから除外されたり、動作を停止するなどして制御装置と該当デバイスとの接続が切れたりした場合に、オフラインに戻る。また、ユーザによるオフライン移行指示があった場合には、制御装置のCPUが全仮想デバイスをオフラインに戻す。
また、図15の処理では、実デバイスが対応付けられた全ての仮想デバイスの同期化を行っているが(ステップS233)、同期化処理の開始時に既にオンラインの仮想デバイスがある場合、その仮想デバイスは既に対応付けられた実デバイスとパラメータが同期しているので、その仮想デバイスに関する同期化の処理を省略してもよい。
【0121】
ところで、図13の処理での自動対応付けや図15の処理での同期化は、現在の制御対象として設定されているシステムIDを持つ仮想デバイスについてのみ行ったが、この「現在の制御対象」を示すシステムIDは、ユーザが制御装置のユーザインタフェースを操作して変更可能である。なお、1つの制御装置が複数のシステムIDのシステムを任意に切り替えて制御する場合、その制御装置に各システムの情報(仮想デバイステーブル、仮想デバイスのパラメータ等)を独立して記憶するようにすれば、制御対象のシステムの変更をレスポンスよく行うことができる。
【0122】
図16に、この変更のための処理を示す。
制御装置のCPUは、現在の制御対象を示すシステムIDを変更するための制御対象システム設定指示を検出すると、図16に示す処理を開始する。
そしてまず、オンライン中の仮想デバイスを全てオフラインにすると共に(S241)、指示に従って、現在の制御対象を示すシステムIDの値を変数TGに設定する(S242)。そしてその後、その新たに設定したID値を用いて、図13に示した自動対応付け処理を行って(S243)、処理を終了する。
なお、制御対象システムの設定指示を、全仮想デバイスがオフラインの場合のみ行うことができるようにした場合は、ステップS241の処理は不要である。
【0123】
以上の処理により、常に、現在の制御対象として設定されているシステムIDを有する仮想デバイスが、オーディオネットワークシステムSを構成する(制御装置がIDを収集した範囲の)適当なデバイスと対応付けられ、オンライン状態にすることにより制御装置から制御可能な状態を保つことができる。
従って、例えばシステムIDが「3」であるデバイスを制御したい場合には、ユーザは、現在の制御対象を示すシステムIDを「3」に設定した上で、図15の処理の実行を指示するオンライン移行指示を行えばよい。
【0124】
以上のようにシステムIDで制御対象を区別することにより、複数の異なるリモート制御システムを制御対象として指定して、そのリモート制御システムを構成すべき実デバイスをリモート制御することができるようになる。なお、異なるリモート制御システムの仮想デバイスを、同時にオンラインにできるようにすることもできる。その場合であっても、制御対象として指定されるシステムIDは制御装置で1つだけとして、何れか1つのシステムのみを制御対象としてリモート制御するのがよい。
【0125】
また、図13の処理により行われた、仮想デバイスと実デバイスとの対応付けは、ユーザが制御装置のユーザインタフェースを操作して手動で変更することもできる。
図17に、この変更のための手動対応付け処理のフローチャートを示す。
制御装置のCPUは、ユーザから、仮想デバイスの指定と共にその仮想デバイスに関する手動対応付けを指示された場合に図17のフローチャートに示す処理を開始する。なお、指定できるのは、現在の制御対象を示すシステムID(TGとする)を有する仮想デバイスのみである。
【0126】
図17の処理において、制御装置のCPUはまず、対応付けを指示された仮想デバイスをオフラインにする(S251)。この場合、その仮想デバイスと対応する実デバイスがあれば、そのデバイスの制御を中止するが、中止に応じてその仮想デバイスの制御に用いる制御パラメータの値を変更する必要はない。また、もともとオフラインであれば、何もしなくてよい。
また、手動対応付けの指示を、全部の仮想デバイスがオフラインの場合、ないし、対象の仮想デバイスがオフラインの場合にのみ行うことができるよう制限した場合は、ステップS251の処理は不要である。
【0127】
次に、指示に係る仮想デバイスに対応付けることができる実デバイスの候補として、その仮想デバイスとシステムID、機種ID及びデバイスIDが一致する実デバイスを、IDを収集してあるデバイスの中から検索する(S252)。この検索範囲は、実デバイスの追加や除去がなければ、図14のステップS212の場合と同じである。
そして、ここで検索されたデバイスの1つを、仮想デバイスに対応付ける実デバイスとしてユーザに選択させ(S253)、指示に係る仮想デバイスについての対応する実デバイスのアドレスMD(TG,i)に、選択されたデバイスのMACアドレスを設定する(S254)と共に、対応付け結果をディスプレイの画面に表示させて(S255)、処理を終了する。
【0128】
以上の処理により、自動対応付け処理による対応付けの内容がユーザの希望と合わない場合に、ユーザが対応付けの内容を事後的に変更することができる。この手動での対応付けの際には、システムUIDと実デバイス側のユニークIDとの一致/不一致を気にする必要はない。また、手動により変更された仮想デバイスと実デバイスの対応付けは、この後、ユーザがオンラインへの移行を指示し、図15の同期化処理が実行することにより、ネットワークに接続された実デバイスに反映される。その際、制御装置は新たなユニークIDを生成し、生成されたユニークIDは各実デバイスに記憶される。
【0129】
なお、IDを収集する範囲内に、システムID、機種ID及びデバイスIDの一致するデバイスが2つ以上存在しない通常の場合には、ステップS252の検索で発見されるデバイスは最大1つである。この場合、ステップS253で選択を受け付ける必要はないが、代わりに、発見されたデバイスを対応付けるか否かの選択を受け付けるようにするとよい。
【0130】
逆に、ステップS252で複数のデバイスが発見される場合、それらのデバイスはシステムID、機種ID及びデバイスIDが共通であるので、ステップS253での選択受付時には、これ以外の情報、例えばMACアドレスを提示して、発見された複数のデバイスをユーザが区別できるようにする。あるいは、発見された各実デバイスに対応するボタンをディスプレイ画面上に表示し、ユーザの操作に応じて、対応する実デバイスに反応指示を送信し、受信した実デバイスが本体の表示器を点滅させる、等して区別できるようにしてもよい。
【0131】
2.4 システムの構成変更時の対応
次に、制御装置により実デバイスをリモート制御中に、ネットワークに対して実デバイスが追加されたり、実デバイスのシステムIDやデバイスIDが変更されたりした場合でも、仮想デバイスと実デバイスとの対応付けを適切に維持し、制御装置によるデバイスの制御を継続できるようにするための処理について説明する。
【0132】
まず、図18に、制御装置のCPUが、ネットワークに新たに接続されたデバイスを検出した場合に実行する処理のフローチャートを示す。
図6に示したオーディオネットワークシステムSでは、特開2009−94589号公報に記載のものと同様、TLフレームの巡回を継続しつつ、カスケード接続されたデバイス上に形成されるループ上のフレーム伝送路を動的に変更することができる。新たなデバイスがカスケード接続されているデバイス群の端部に接続された場合は、そのデバイスを含むようにフレーム伝送路が変更され、既存のデバイスとそのデバイスとの間でのオーディオ伝送やイーサネットフレーム伝送が可能となる。
【0133】
そしてこの場合、制御装置と新たに接続されたデバイスとの間のイーサネットフレーム伝送が可能となり、制御装置による上述したネットワークスキャンにより、新たに接続された実デバイスを発見することができる。そこで、そのデバイスを発見した制御装置は、図18のフローチャートに示す処理を開始する。
この処理において、制御装置のCPUはまず、新たに接続された実デバイスからMACアドレス、システムID、ユニークID、機種ID及びデバイスIDを取得し、図12に示したような既知デバイスの情報(実デバイステーブル)に追加する(S271)。
【0134】
そして、新たに接続された実デバイスのシステムIDが、現在の制御対象を示すシステムID(TGとする)と一致するか否か判断する(S272)。ここで一致していれば、仮想デバイステーブルから、新たに接続された実デバイスとシステムID、機種ID及びデバイスIDの全てが一致する仮想デバイス、すなわち新たに接続された実デバイスと対応付けることができる仮想デバイスを検索する(S273)。
【0135】
そして、もしあれば(S274のYES)、発見した仮想デバイスの番号をiとし(S275)、MD(TG,i)=Nullであれば、すなわち発見した仮想デバイスに対応付けられているデバイスがなければ(S276のYES)、MD(TG,i)に新たに接続された実デバイスのMACアドレスを設定して、発見した仮想デバイスに新たに接続された実デバイスを対応付ける(S277)と共に、その対応付け結果をディスプレイの画面に表示させてユーザに通知し(S278)、処理を終了する。
【0136】
一方、ステップS272でNOの場合には、新たに接続された実デバイスは現在は制御装置による制御対象とならないデバイスであるので、この時点では対応付けは行わず、そのまま処理を終了する。
ステップS274でNOの場合には、新たに接続された実デバイスを対応付けることのできる仮想デバイスがないことがわかるため、その旨をユーザに警告して(S279)、処理を終了する。
また、ステップS276でNOの場合には、新たに接続されたデバイスを対応づけるべき仮想デバイスには既に実デバイスが対応付けられていて、デバイス間でシステムID、機種ID及びデバイスIDの設定が重複していることがわかる。そこで、その旨をユーザに警告して(S280)、処理を終了する。なお、この場合には、図17に示した手動対応付け処理により、その対応付けるべき仮想デバイスに新たに接続された実デバイスを対応付けるよう変更することができる。
【0137】
以上説明してきた図18の処理によれば、制御装置がIDを収集する範囲のネットワークに新たにデバイスが追加された場合でも、制御装置がそのデバイスを適切に仮想デバイスに対応付けることができる。この後、ユーザがオンラインへの移行を指示し、図15の同期化処理を実行することにより、対応付けの内容がネットワークに接続された実デバイスに反映される。
【0138】
次に、制御装置によるリモート制御の対象となり得るデバイスにおけるデバイスID及びシステムIDを設定する場合の処理について説明する。
各デバイスのデバイスID及びシステムIDの設定(変更)は、そのデバイスが全ての制御装置の仮想デバイスとオフラインである場合に、ユーザが操作子206を操作することで行われる。
【0139】
この場合、該当デバイスは、ユーザが入力したIDを新たに設定されるデバイスID又はシステムIDとしてフラッシュメモリ202として記録すると共に、フラッシュメモリ202に記録してあったユニークIDをクリアする。そしてこのことにより、どの制御装置においても、図13のステップS201におけるグループ化の対象外となる。しかし、変更後のシステムIDとデバイスIDの組が重複しているデバイスが他になければ(図14のステップS213での発見数が1であれば)、グループ化されたか否かに関わらず、IDを変更したデバイスを適当な仮想デバイスと対応付けることができる。
なお、実デバイスが何れかの仮想デバイスとオンラインである場合には、その実デバイスにおいてデバイスID及びシステムIDの設定を行うことはできない。
【0140】
2.5 対応付けの具体例
次に、制御装置が以上説明してきた各種ID及び仮想デバイステーブルを用いて行う制御対象デバイスの認識について、図19に示す具体例を用いて説明する。
図19に示す例において、実線の枠はこの発明の実施形態のリモート制御システムにおける制御対象のデバイスを含むネットワークシステム(図6に示したものとは異なる)を構成する1つ1つの実デバイスを示す。そして、その枠内の文字は、そのデバイスが記憶しているIDを、「システムID,ユニークID/機種ID/デバイスID」の書式で示している。なお、これらのIDは、分かりやすいように単純な数字や文字により記載しているが、特にユニークIDについては、一意性を確保するためにより長いデータ長(ビット数)とする必要があり、とにかく、何れのIDについても、実際の装置に適用する際にこのような形式を採ることが好ましいという意味ではない。
【0141】
また、図中の「システムを構成するデバイス」及び「オンライン後の各デバイスの状態」における各実デバイスの縦方向における位置は、ネットワークシステムにおける各デバイスの物理的な接続順ではなく、個々のデバイスを特定するもの(MACアドレスに相当)である。すなわち、この図中の異なる場所の、縦方向の位置が同じデバイスは、同じ実デバイスに相当する。
【0142】
そして、「オンライン後の各デバイスの状態」の欄では、いずれかの仮想デバイスと対応付けられている実デバイスを示す枠を太線で、仮想デバイスと対応付けられていない実デバイスを示す枠を通常の線で記載している。
また、破線の枠は、仮想デバイステーブルに登録されている1つ1つの仮想デバイスのデータを示す。そして、その枠内の文字は、その仮想デバイスについて設定されているIDを、「システムID/機種ID/デバイスID」の書式で示している。仮想デバイスの番号については、図示していない。
そして、各仮想デバイスに対応付けられるデバイスがある場合、図で中央の欄において、仮想デバイスを示す枠と実デバイスを示す枠とを実線で結んでこれを示している。
【0143】
まず、図19に示す例では、(a)の「システムを構成するデバイス」の欄に示す5台の実デバイス(制御装置がこれらのデバイス以外の装置である場合にはこれらに加えて不図示の制御装置)がネットワークシステムを構成し、仮想デバイステーブルにはそれらの実デバイスを示す仮想デバイスが適切に設定されている状態において、ネットワークシステムを構成する実デバイスをスペアと入れ替える場合を考える。
この場合、現在の制御対象を示すシステムIDとして図に示す「1」が設定されていれば、図13に示した自動対応付け処理により、図に示すように、ネットワークシステムを構成する全ての実デバイスが仮想デバイスに対応付けられ、制御装置による制御の対象となる。
【0144】
そして、制御装置において仮想デバイスをオンラインにすると、図15の同期化処理により各デバイスとの間でパラメータの同期化が行われると共に、新たに生成したユニークIDが、制御対象となっている各実デバイス(ここでは図示した全てのデバイス)に設定される。
この状態は、デバイスを入れ替えたり仮想デバイステーブルの内容を変更したりしなければ、何度電源オンオフやシステムの再起動を行っても、同様に維持される(ただし、設定されるユニークIDの値自体はオンライン化の動作を行うたびに変わる)。
【0145】
また、故障等の理由により実デバイスを入れ替えても、入れ替え後の実デバイスにシステムID、機種ID及びデバイスIDが仮想デバイステーブルの内容と対応するように適切に設定されていれば、ユニークIDが他の実デバイスと統一されていなくても、入れ替え前と同様に対応付け及び制御装置による制御が可能である(図13のステップS201のグループ化では入れ替えた実デバイスは別グループになるが、図14のステップS213で発見数が「1」となるため、グループ分けの影響はない)。一旦オンライン化を行えば、ユニークIDも他の実デバイスと統一される。
【0146】
しかし、(b)に示すように、入れ替え後の実デバイスに、古い設定の変更し忘れなどにより、誤って、入れ替えを行っていない(以前からネットワークにおいて制御装置による制御の対象であった)実デバイスのいずれかと全く同じシステムID、機種ID及びデバイスIDが設定されてしまっている場合には、これらのIDだけではどちらが入れ替えた実デバイスでどちらが入れ替えを行っていない実デバイスであるか、区別することができない。
【0147】
例えば、(b)に示す例では上から2番目の実デバイスと6番目の実デバイスでシステムID、機種ID及びデバイスIDが一致しているため、図14のステップS212で上から2番目の1/A/bの仮想デバイスと対応付ける実デバイスを検索した際、これらの2つの実デバイスが発見される。
しかし、入れ替えた上から6番目の実デバイスには、入れ替えを行っていない2番目の実デバイスとは異なるユニークIDが設定されている。従って、その前の図13のステップS201で異なるグループに分けられる。
【0148】
そして、2番目の実デバイスが属するグループが図13のステップS203で優先グループとして選択されるようにしておけば、図14のステップS217及びS218で、2番目の仮想デバイスに、入れ替え前の状態で対応付けられていたものと同じ、2番目の実デバイスを自動的に対応付けることができる。
ここで、通常は、入れ替えを行う実デバイスより、入れ替えを行っていない実デバイスの方が数が多いと考えられる。そこで、図13のステップS203での優先グループの選択基準を、ステップS202で対応付けのできた実デバイスの数が最も多いグループとすれば、多くの場合に、入れ替えていない実デバイスで構成されるグループが優先グループになるようにすることができると考えられる。図19の例では、この基準を採用しているとして説明する。
【0149】
以上の通りであるので、(b)に示す状態では、5つの仮想デバイスのうち4つに、図示のように実デバイスが対応付けられる。システムID、機種ID及びデバイスIDが共通なデバイスについても、以前から制御対象になっていた実デバイスを適切に見分けて対応付けを行うことができる。
【0150】
デバイスの入れ替え等においては、以前から制御対象になっていた実デバイスの設定はそのままとして、新たに入れるデバイスの設定を変更する場合が多い。そのため、設定ミスは、新たに入れる実デバイスで生じている確率が高い。そこで、本実施形態の自動割当処理では、設定ミスの確率が低いと考えられる、以前から制御対象になっていた実デバイスを、仮想デバイスに優先的に割り当てるようになっている。
【0151】
なお、(b)の対応付けがなされた状態で各仮想デバイスをオンラインにすると、対応付けがなされた4つの実デバイスについてのみ同期化が行われ、共通の新たなユニークID(u2)が設定される。一方、仮想デバイスと対応付けられていない6番目の実デバイスのユニークIDは更新されない。従って、6番目の実デバイスのみ他の実デバイスとユニークIDが異なるという状態は、オンライン後も維持される。また、実デバイスをさらに入れ替えたり仮想デバイステーブルの内容を変更したりしなければ、次に電源がオンされたりシステムの再起動がされたりした場合も、同様な対応付けにより、6番目の実デバイスのみ他のデバイスとユニークIDが異なるという状態が維持される。
【0152】
また、上述のように、各実デバイスに設定されているデバイスIDは変更可能である。そこで、ユーザは、(b)の状態において、6番目の実デバイスのデバイスIDを「b」から「c」に変更して、仮想デバイスと対応する「正しい」設定とすることができる。
この設定を行った状態が(c)である。この状態でも、図13のステップS201のグループ化では3番目の実デバイスは他の実デバイスと別グループになる。しかし、ネットワーク内に、システムID、機種ID及びデバイスIDが重複するデバイスがなく、全ての仮想デバイスについて図14のステップS213で発見数が「1」となるため、グループ分けに関係なく、実デバイスを対応付けることができる。そして、一旦オンライン化を行えば、ユニークIDも他の実デバイスと統一され、実質的に(a)と同様な、適切な制御の可能な状態になる。
なお、入れ替えた実デバイスに入れ替え時点から適切なIDの設定がなされていれば、(a)の状態から(b)を経ずに(c)の状態へ移行する。
【0153】
3.第2の実施形態
次に、この発明のリモート制御システムの第2の実施形態について説明する。
上述した第1の実施形態においては、仮想デバイスと実デバイスの対応付けに変更があったか否かに関わらず同期化処理を行う度にユニークIDを更新するようにしていたが、この第2の実施形態では、対応付けに変更があった場合にのみユニークIDを更新するようにした点が、第1の実施形態と異なる。また、各制御装置が、制御対象デバイスに記憶させた最新のユニークIDを記憶しておき、実デバイスが記憶しているユニークIDがこれと一致するか否かに応じて、その実デバイスに対して異なる取扱いをするようにした点も、第1の実施形態と異なる。
そこで、この相違点及びそれに関連して処理内容を変更すべき点についてのみ説明する。
【0154】
3.1 制御装置に記憶させる仮想デバイステーブル
まず、図20に、この実施形態において制御装置が記憶する仮想デバイステーブルの例を示す。
この図に示すように、仮想デバイステーブルに、上記の「制御対象デバイスに記憶させた最新のユニークID」を、システムUIDとして、システムID毎に登録する。例えば、システムUID(2)=u2は、システムIDが「2」のシステムにおいて最後に制御対象デバイスに記憶させたユニークIDが「u2」であることを示す。
【0155】
なお、このユニークIDは、自身で生成した場合には、後述する図23のステップS323で生成及び設定するものである。また、自身でユニークIDの生成及び設定を行った後で他の制御装置がユニークIDの生成及び設定を行った場合には、該他の制御装置からそのユニークIDを含む仮想デバイステーブルが通知され、ユーザの指示に応じて図24のステップS343で設定する。
【0156】
仮想デバイステーブルに登録するその他の情報については、第1の実施形態の場合と同じであり、図10や図11の処理による仮想デバイスの追加や削除も同様に行うことができる。
なお、第1の実施形態の場合には、仮想デバイスと対応付けられている実デバイスのMACアドレスを示すMDの値は、制御装置のリセット時や電源OFF時には削除してしまってもよかったが、第2の実施形態の場合には、リセット時や電源OFF時でもMDの値を保持しておく。
【0157】
3.2 仮想デバイスと実デバイスの対応付け
次に、図21に、自動対応付け処理のフローチャートを示す。この処理は、第1の実施形態で図13に示した処理と対応するものである。そして、この処理も、図13の場合と同様、制御装置が新たにネットワークに接続された場合や、リモート制御システムのリセットが指示された場合などに制御装置のCPUが自動的に実行する。
この処理において、制御装置のCPUはまず、IDを収集した各実デバイスのうち、システムIDが、現在の制御対象となっているシステムIDを示す変数TGの値と一致するものを選定する(S301)。
【0158】
そして、仮想デバイステーブルに登録されたシステムIDの値がTGの各仮想デバイスに対し、ステップS301で選定した実デバイスのうち機種ID及びデバイスIDが一致するものを対応付ける(S302)と共に、システムIDがTGのデバイスに記憶させた最新のユニークID=システムUID(TG)の値を準備する(S303)。このシステムUID(TG)の値が、必ずしも図21の処理を実行中の制御装置自身が生成した値とは限らないことは、上述の通りである。
【0159】
制御装置のCPUは、その後、iを1からシステムIDがTGの仮想デバイスの数VDN(TG)まで順次増加させながら、ステップS302で行った対応付けの内容を確認する処理(S304〜S309)を行う。
この際の確認において重要なポイントの1つは、ステップS302で対応付けられた実デバイスに、仮想デバイスとMACアドレスが一致し、かつシステムUID(TG)とユニークIDが一致する実デバイスが含まれているか否か、という点である。
【0160】
仮想デバイスと対応付けた実デバイスとでMACアドレスが一致していることにより、自機においてその仮想デバイスに対応付けてある実デバイスと同じ個体が、今回の自動対応付けの時点でも依然として自機と同じネットワークに接続されており、自機からリモート制御可能な状態であることがわかる。また、同じくユニークIDがシステムUID(TG)と一致していることにより、その対応付けてある実デバイスが、最新のオンライン移行指示(自機が行ったものか他の制御装置が行ったものかは問わない)の際にオンラインになったデバイスであることがわかる。
【0161】
従って、上記のMACアドレス及びユニークIDの一致を確認できれば、該当の実デバイスは、過去にも仮想デバイスと対応付られていたデバイスであり、自機の把握していないところで仮想デバイスとの対応付けが変更されてリモート制御システムから除外されているようなこともなく、自機の仮想デバイステーブルに登録されている対応付け(MDの値)を維持して問題ないデバイスであると考えることができる。このような意味で、上記のMACアドレス及びユニークIDの一致を確認できたデバイスを、「既知デバイス」と呼ぶことにする。
【0162】
そして、ステップS302でi番目の仮想デバイスと対応付けられた実デバイス、すなわち仮想デバイスとシステムID、機種ID及びデバイスIDの一致するデバイス(システムIDの一致はステップS301で保証される)が、既知デバイス1つのみであれば、その仮想デバイスについて、実デバイス側にIDの設定漏れや重複等の不備はなく、対応付けの変更も必要ないことがわかる。すなわち現在の設定に問題ないことがわかる。
従って、ステップS305での判断結果がこのようなものであった仮想デバイスについては、特に何の処理も行わず、それまでの設定内容を維持する。設定に問題がない旨をユーザに通知してもよい。
【0163】
また、ステップS302でi番目の仮想デバイスと対応付けられる実デバイスがなかった場合には、i番目の仮想デバイスと対応付けるべき実デバイスは自機が接続されているネットワークシステムに含まれていないことがわかる。この場合、該当する仮想デバイスの制御はできないが、第1の実施形態の場合と同様、それ以上の問題はなく、この時点で対応付けの内容を変更する必要もない。
従って、ステップS305での判断結果がこのようなものであった仮想デバイスについても、特に何の処理も行わず、それまでの設定内容を維持する。対応する実デバイスがない旨をユーザに通知してもよい。
【0164】
一方、ステップS302でi番目の仮想デバイスと対応付けられた実デバイスが既知デバイスを含む複数のデバイスであった場合、対応付け自体には深刻な問題はないが、ネットワークシステム内にシステムID、機種ID及びデバイスIDの重複する複数の実デバイスが存在することになり、実デバイスにおけるIDの設定が適切になされていないことがわかる。従って、ユーザにその旨を警告する(S306)。図17のステップS253の場合と同様な手法により、どのデバイスが既知デバイスで、どのデバイスがその他の対応付けられたデバイスであるかをユーザが区別できるようにしてもよい。
そして、この警告を受けたユーザは、実デバイスにおけるIDの設定を変更して重複を解消したり、手動対応付けにより仮想デバイスと対応付ける実デバイスを変更したりする対応を行うことが考えられる。
【0165】
ここで、手動対応付け処理は、第1の実施形態において図17を用いて説明したものと概ね同様である。しかし、図22に示すように、手動対応付けにより実際に対応付けの内容(仮想デバイステーブルにおけるMDの値)が変更された場合に、システムID=TGのシステムにおける同期化処理時のユニークID更新要否を示すフラグCF(TG)に更新要を示す「1」を設定する処理(S311,S312)が追加されている点が、図17の場合と異なる。
【0166】
図21の説明に戻ると、ステップS302でi番目の仮想デバイスと対応付けられた実デバイスが既知デバイスを含まない1又は複数のデバイスであった場合、2つの可能性及びその複合が考えられる。
【0167】
まず、対応付けられた実デバイスの中にMACアドレスの一致する実デバイスがなかった場合には、以前i番目の仮想デバイスと対応付けていた実デバイスが何からの理由に撤去され、その代替となる実デバイスがネットワークシステムに接続されていることがわかる。この場合、ステップS302で対応付けられた実デバイスが1つだけであればその実デバイスを、複数あればそのうちいずれかの実デバイスを、i番目の仮想デバイスに新たに対応付ければ(MDの値をその実デバイスのMACアドレスに更新すれば)よいと考えられる。このような対応付けを自動で行ったり、また自動対応付け処理の中でユーザに設定変更の許可を求めたりすることも考えられるが、ここでは、デバイスが入れ替えられた旨をユーザに警告する(S307)に留め、実際の対応付けは、手動対応付けにより行うようにしている。
【0168】
また、ステップS302で対応付けられた実デバイスの中にMACアドレスが一致する実デバイスはあったがそのデバイスについてユニークIDが一致しない場合、以前i番目の仮想デバイスと対応付けていた実デバイスはシステムID及びデバイスIDの設定内容を維持したまま残っているものの、他の制御装置により、仮想デバイスとの対応付けが解除されていることがわかる。他の制御装置が図23により後述する同期化処理においてオンラインにする(仮想デバイスと対応付けてある)実デバイスにユニークIDを設定する際に、仮想デバイスと対応付けられていなかったためユニークIDの設定対象とならなかった実デバイスが、このような、MACアドレスが一致するもののユニークIDが一致しない状態となるためである。
【0169】
この場合には、必ずしも自機における仮想デバイスと実デバイスとの対応付けを他の制御装置に合わせて変更する必要はないが、変更することが好ましい場合もあるので、他の制御装置により仮想デバイスと実デバイスとの対応関係が変更されている旨をユーザに警告する(S307)。ユーザは、この警告に応じて任意に手動対応付けにより対応関係を変更することができる。
【0170】
以上の処理により、制御装置のCPUは、仮想デバイステーブルの内容と、各実デバイスから収集したシステムID、機種ID、デバイスID及びユニークIDの値とに基づき、各仮想デバイスと実デバイスとの対応付を行うと共に、対応付けに不具合又はその恐れがある場合には、その旨をユーザに警告することができる。
この警告に従った不具合の是正は、次の図22に示す手動対応付けの処理あるいは各実デバイスにおけるIDの設定変更により行うことができる。そして、手動対応付けにより仮想デバイステーブルの内容を変更した場合には、CF(TG)に「1」が設定されることになる。
【0171】
また、上述の通り図21の処理において自動で対応付けの不具合を是正するようにしてもよいが、この場合も、仮想デバイステーブルの内容を更新した場合には、CF(TG)を「1」に設定する必要がある。また、図示は省略したが、仮想デバイステーブルに対する仮想デバイスの追加や削除あるいはIDの設定変更を行った場合も、同様にCF(TG)を「1」に設定する。
【0172】
なお、ステップS306又はS307で警告を行った場合にその旨を記憶しておき、警告がある仮想デバイスにつきユーザが手動対応付けや警告無視の指示を行うまでは図23の同期化処理を行えないようにしたり、同期化処理において、既知のデバイスについてのみオンライン化を行うようにしたり、警告がある仮想デバイスについてはオンライン化を行わないようにしたりすることも考えられる。
【0173】
次に、図23に、同期化処理のフローチャートを示す。この処理は、第1の実施形態で図15に示した処理と対応するものである。そして、この処理も、図15の場合と同様、ユーザの操作によるオンライン移行指示を検出した場合に制御装置のCPUが実行するものである。
【0174】
この処理において、制御装置のCPUはまず、CF(TG)の値により、ユニークIDの更新が必要か否か判断する(S321)。そして、更新要を示す「1」であれば、CF(TG)を「0」にリセットする(S322)と共に、図15のステップS231の場合と同様にユニークなIDを生成し、仮想デバイステーブルにシステムUID(TG)の値として設定する。また、存在を把握している他の制御装置に対して、その新たなシステムUID(TG)を含むシステムID=TGの仮想デバイステーブルの内容を通知する(S323)。
【0175】
ステップS323の通知を受けた制御装置のCPUは、図24のフローチャートに示す処理を開始し、まず、通知された仮想デバイステーブルに含まれるシステムUIDを引き継ぐか否かを、適当な選択画面をディスプレイに表示させる等してユーザに選択させる(S341)。
そして、ユーザが引き継ぐことを選択した場合(S342のYES)、通知されたシステムID=TGの内容で、自身が記憶するシステムID=TGの仮想デバイステーブルを置き換え(S343)、処理を終了する。
ユーザが引き継がないことを選択した場合、そのまま処理を終了する。この場合、受信した仮想デバイステーブルの内容を破棄されることになる。
【0176】
ここで、図24に示した処理によるシステムUIDの引き継ぎの意義について説明する。
まず、リモート制御システムに制御装置が複数含まれる場合、そのいずれからも同じようにシステムの構成を変更できるようにすると、制御動作に混乱が生じる可能性がある。そこで、システムの構成の変更は、ユーザアカウントの権限制御などにより、特定のオペレータ(システム管理者)だけが行えるようにすることが好ましい。
なお、ここでまでに説明してきた仮想デバイステーブルの内容変更(仮想デバイスの追加や削除)や、仮想デバイスと実デバイスとの対応付けの変更は、システムの構成の変更の具体例である。
【0177】
そして、図23のステップS323で制御装置が行う他の制御装置への仮想デバイステーブルの通知は、仮想デバイスと実デバイスとの対応付けが変更され、CF(TG)が1となった場合に実行されるものであるので、システム管理者が行う、「それまでとは異なるシステムの制御を開始したので、他の制御装置もそれに同期しなさい。」という指示のようなものと考えることができる。
【0178】
また、新たなシステムUIDを含む仮想デバイステーブルの通知は、システム管理者からの通知であるため、通知を受けた他の制御装置のオペレータは、その制御装置が同じシステムIDのシステムを制御していれば、基本的には、その通知を受け入れると考えられる。
そして、ステップS343で、自身が記憶する仮想デバイステーブルを通知された仮想デバイステーブルの内容に置き換えることにより、通知元の制御装置とシステムUID及び仮想デバイスを統一できる。従って、仮想デバイステーブルを通知された制御装置も、オンライン移行指示に応じて図23の処理を実行することにより、以下に説明する通知元の制御装置の場合と同じ仮想デバイスに、同じ実デバイスを対応付けられることになる。
【0179】
なお、ステップS323での仮想デバイステーブルの通知対象は、例えば、同じネットワークシステムに接続された全ての制御装置、とすればよい。あるいは、それらの制御装置のうち、システムID=TGの仮想デバイステーブルを記憶している制御装置に限定してもよい。
さらに、自身と重複する範囲の実デバイスを制御対象とする他の制御装置のアドレスなどを予め登録しておき、その登録した制御装置を通知対象としてもよい。システム管理者のアカウントで動作する制御装置が、自機と異なるシステムUIDを記憶した他の制御装置を発見したときに通知するようにすることも考えられる。
【0180】
また、通知対象の制御装置の動作として、仮想デバイステーブルを通知された場合でも、通知された仮想デバイステーブルと同じシステムIDの仮想デバイステーブルを記憶していない場合や、通知された仮想デバイステーブルに登録されている仮想デバイスと、自身における同じシステムIDの仮想デバイステーブルに登録されている仮想デバイスとに全く共通のものがない場合には、通知を受け取らないようにしたり、受け取っても、ユーザに引き継ぎ要否を確認せずに廃棄するようにしてもよい。これらの場合、通知元の制御装置は通知対象の制御装置と関連が薄く、むしろ仮想デバイステーブルの内容を統一しない方が好ましいと考えられるためである。
【0181】
図23の説明に戻ると、制御装置のCPUは、ステップS323の後、iを1から仮想デバイスの数VDN(TG)まで順次増加させながら(S324,S329,S330)、システムID=TGのi番目の仮想デバイスをオンラインにするための処理(S325〜S328)を行う。
【0182】
すなわち、システムID=TGのi番目の仮想デバイスとMACアドレス、システムID及びデバイスIDの全てが一致する実デバイスが実デバイステーブルにあれば(S325)、その実デバイスが、i番目の仮想デバイスと対応付けられているデバイスであることがわかる。そこで、その実デバイスにシステムUID(TG)を送信してユニークIDとして記憶するよう要求する(S326)と共に、その仮想デバイスのパラメータと、対応付けられた実デバイスのカレントメモリのパラメータとを、ユーザが指定した方向に同期化させる(S327)。その後、i番目の仮想デバイスについてのフラグOFを「1」に設定して、その仮想デバイスが対応付けられた実デバイスとオンラインになった旨を記憶する(S328)。
【0183】
なお、ステップS325でシステムID及びデバイスIDの一致を確認するのは、図21や図22の処理による対応付けの後で、実デバイスに対する直接操作によってその実デバイスのシステムIDやデバイスIDが変更されている可能性があるためである。
また、同期化については、システム管理者のアカウントで動作中の制御装置が行う場合には、どちら向きに行ってもよい。しかし、その他の制御装置が行う場合には、システム管理者がリモート制御中のシステムへのオンライン化となるので、実デバイスにおけるパラメータを読み出して仮想デバイスのパラメータとしてコピーする方向で行うことが好ましい。
【0184】
また、ステップS326で送信されるシステムUID(TG)を受信した宛先のデバイスは、要求に応じて、受信したIDをユニークIDとして設定する(S351)。
そして、iがVDN(TG)に達し、ステップS330でYESとなった時点で、各仮想デバイスがオンラインかオフラインかを区別してディスプレイの画面に表示させてユーザに通知し(S331)、処理を終了する。
【0185】
以上の処理により、制御装置がIDを収集した実デバイスのうちの、何れかの仮想デバイスと対応付けられた各実デバイスは、対応する仮想デバイスとオンラインとなり、制御装置からのリモート制御を受け付ける。その際、オンラインとなった各実デバイスには、制御装置が記憶するシステムUID(TG)と同じ値のユニークIDが設定されることになる。ステップS326で送信するシステムUID(TG)は、ステップS323で新たなIDを設定していればそのIDであるし、そうでない場合には以前から仮想デバイステーブルに登録されていたIDであるが、どちらの場合でも、システムUID(TG)と同じ値であることに変わりはない。また、複数の制御装置が存在する場合には、システムUID(TG)の値は、それら制御装置間で共有される。
【0186】
従って、複数ある制御装置のうちいずれが図23の処理を行った場合であっても、最新のオンライン移行指示の際に仮想デバイスに対応付けられているデバイスのみに、各制御装置が記憶するシステムUID(TG)と共通のユニークIDを設定されることになる。
複数ある制御装置のうちいずれが図22の処理などにより仮想デバイステーブルの内容を変更した場合であっても、その後その制御装置が図23の処理を行う際に、その時点でその制御装置において仮想デバイスに対応付けられているデバイスのみに、各制御装置が記憶するシステムUID(TG)と共通のユニークIDを設定されることになる。
【0187】
従って、各制御装置は、図21の自動対応付け処理において、各実デバイスに設定されているユニークIDと、自身が記憶するシステムUID(TG)とを比較することにより、実デバイスの配置やデバイスIDの設定自体には何の変更もない場合であっても、他の制御装置が行った仮想デバイステーブルの内容変更(及びそれに伴う仮想デバイスと実デバイスとの対応関係の変更)を検出し、ユーザに注意を喚起することができる。このような検出は、MACアドレスの比較のみでは行うことができない。
【0188】
なお、この実施形態においては、仮想デバイスと実デバイスの対応付けに変更があった場合(仮想デバイステーブルの内容に変更があった場合)にのみユニークIDの値を更新するようにしている。そして、仮想デバイステーブルの内容にも、仮想デバイスに対応付けられている実デバイス(MACアドレス)にも変更のない場合には、その実デバイスがネットワーク上から消滅(主に電源OFFによると考えられる)したり、ネットワーク上に新たに登場(主に電源ONによると考えられる)したりしても、新たなシステムUIDを生成することなく、従来のUIDを続けて用いるようにしている。従って、ユニークIDの更新回数を抑えることができる。
【0189】
また、図21の処理によれば、上記の主に電源ON/OFFに起因すると考えられる実デバイスの消滅や登場にいちいち警告を発することなく、異なるデバイスが導入された時など、ユーザが特段の注意を払う必要がある場合についてのみ、的確に警告を行うことができる。
【0190】
また、この実施形態において、複数ある制御装置のうち一部の制御装置のみが仮想デバイステーブルの内容変更及び手動対応付けを行うことができるようにしてもよい。このようにした場合、仮想デバイステーブルの内容変更及び手動対応付けの機能を有する装置をシステム管理者が操作し、その他の装置を一般ユーザが操作するようにするとよい。そして、該その他の装置においては、フラグCF(TG)が「1」になることはないので、該その他の装置が新たなシステムUIDを生成することはない。
また、この実施形態において、制御装置が、仮想デバイステーブルの内容変更及び手動対応付けの機能を有する装置1台だけであっても、ユニークIDを用いた仮想デバイスと実デバイスの対応付けによる効果は得られる。
【0191】
3.3 対応付けの具体例
次に、制御装置が以上説明してきた処理により行う制御対象デバイスの認識について、図25及び図26に示す具体例を用いて説明する。これらの図の書式は、特に断らない限り、図19と同じである。
【0192】
まず、図25に示す例では、(a)の「システムを構成するデバイス」の欄に示す5台の実デバイスがネットワークシステムを構成し、これらの実デバイスを制御する制御装置としてAとBの2台の制御装置(実デバイスのいずれかが制御装置として機能してもよい)がネットワークシステムに接続され、そのうち制御装置Aがシステム管理者のアカウントで動作している場合を考える。
【0193】
(a)に示す状態では、各実デバイスはデバイスIDの設定を行った直後の状態であり、ユニークIDはクリアされている。そしてこの状態では、図21に示した自動対応付け処理において、ユニークIDは制御装置のシステムUIDと一致しないため、実デバイスは既知デバイスとはならない。なおここでは、図21の処理で既知デバイスとならない実デバイスを「未知デバイス」と呼ぶことにする。
【0194】
図25(a)に破線の枠で示す仮想デバイスが登録された仮想デバイステーブルを有する制御装置Aにおいて自動対応付け処理を行うと、図21のステップS302の処理において、各仮想デバイスに対して線で結んだ実線の枠で示す実デバイスが対応付けられる。しかし、上記のように、これらの実デバイスは全て未知デバイスであるので、ステップS307で警告がなされる。そして、ユーザは、その後図22に示した手動対応付け処理により、図21のステップS302で行われた対応付けを仮想デバイステーブルに(MDの値として)登録することができる。このとき、フラグCF(1)に「1」がセットされる。なお、CF(1)は、TG=1の場合のCF(TG)である。
【0195】
その後、ユーザが制御装置Aにおいてオンライン移行指示を行うと、制御装置Aは図23の同期化処理を実行し、実デバイスと仮想デバイスとの間でパラメータの同期化を行う。このとき、CF(1)が「1」であるので、制御装置Aは新たなシステムUID(値は「u1」とする)を生成して仮想デバイステーブルに設定し、その仮想デバイステーブルを他の制御装置(ここでは制御装置B)に通知する。またその新たなシステムUIDを、仮想デバイスと対応付けた図で上から3つの実デバイスにユニークIDとして記憶させる。
【0196】
このシステムUIDやユニークIDは、デバイスを入れ替えたり仮想デバイステーブルの内容を変更したりしなければ、何度電源オンオフやシステムの再起動を行っても、同様に維持される。
【0197】
一方、制御装置Bは、(a)で制御装置Aから仮想デバイステーブルを通知された際にユーザがシステムUIDを引き継ぐ選択をすると、(b)に示すように、システムUIDの値を含め、仮想デバイステーブルの内容が(a)の動作終了後の制御装置Aと同じものになる。
この状態で自動対応付け処理を行うと、図21のステップS302の処理おいて、各仮想デバイスに対して線で結んだ実線の枠で示す実デバイスが対応付けられるが、これらすべてのデバイスは既知デバイスであるので、警告は発生しない。また、手動対応付けを行う必要もないので、フラグCF(1)が「0」のままオンライン移行指示を行うことができる。
【0198】
そして、この状態で同期化処理を行うと、新たなシステムUIDの生成は行わずに、パラメータの同期化を行う。ステップS326ではシステムUIDの値を実デバイスに記憶させるが、ここで記憶させる値は、実デバイスが既に記憶している値を同じ値のはずであり、確認的な処理となる。
そして、同期化処理により、実デバイスと制御装置Bの仮想デバイスとの間でも、パラメータの同期化が行われる。
なお、制御装置Aの仮想デバイスが実デバイスとオンラインのままでも、同時に制御装置Bの仮想デバイスを同じ実デバイスとオンラインにすることは可能である。
【0199】
次に、(b)に示した状態で、上から3番目の実デバイスを、故障等の理由により(c)に示す上から6番目の実デバイスに入れ替えた場合を考える。
(c)の状態で制御装置Aにおいて自動対応付け処理を行うと、図21のステップS302の処理において、各仮想デバイスに対して線で結んだ実線の枠で示す実デバイスが対応付けられる。これらの実デバイスのうち上2つは既知デバイスであるが、交換で新しく加えた「1,uy/A/c」の実デバイスは、ユニークIDが仮想デバイステーブルと一致せず、未知デバイスであるので、ステップS307で警告がなされる。そして、ユーザは、その後図22に示した手動対応付け処理により、「1,uy/A/c」の実デバイスを「1/A/c」の仮想デバイスに対応付けることができる。
【0200】
その後、ユーザが制御装置Aにおいてオンライン移行指示を行うと、制御装置Aは図23の同期化処理を実行する。このとき、手動対応付けによりCF(1)が「1」になっているため、制御装置Aは再度新たなシステムUID(値は「u2」とする)を生成して仮想デバイステーブルに設定し、その仮想デバイステーブルを制御装置Bに通知する。またその新たなシステムUIDを、仮想デバイスと対応付けた実デバイスにユニークIDとして記憶させる。
【0201】
一方、制御装置Bは、(c)で制御装置Aから仮想デバイステーブルを通知された際にもユーザがシステムUIDを引き継ぐ選択をすると、(d)に示すように、新たなシステムUIDの値を含め、仮想デバイステーブルの内容が(c)の動作終了後の制御装置Aと同じものになる。
この状態で自動対応付け処理を行うと、図21のステップS302の処理おいて、各仮想デバイスに対して線で結んだ実線の枠で示す実デバイスが対応付けられるが、これらすべてのデバイスは既知デバイスであるので、警告は発生しない。
【0202】
そして、この状態で同期化処理を行うと、新たなシステムUIDの生成は行わずに、パラメータの同期化を行う。
すなわち、制御装置Bが関与していない、制御装置Aにおける仮想デバイスと実デバイスの対応付けの変更を、制御装置Bにおいても把握し、ユーザに警告確認や手動対応付けの手間をかけさせずに、交換後の実デバイスをオンライン化することができる。
なお、制御装置BがシステムUIDを引き継ぐのは、制御装置Bのユーザが、制御装置Bを使用して、制御装置Aが制御している又は制御していたのと同じシステムを制御しようとする場合である。
【0203】
次に、図26に示す例では、制御装置Bが制御装置AからシステムUIDを引き継がない場合を考える。
図26(a)に示すのは、図25(a)と同じ状態である。ここで、制御装置Bにおいて、制御装置Aから仮想デバイステーブルを通知された際にユーザがシステムUIDを引き継がない選択をすると、制御装置Bに記憶されている仮想デバイステーブルがそのまま残り、(b)に示すように、制御装置Bの仮想デバイステーブルに制御装置Aとは異なる仮想デバイスが登録された状態になり得る。もちろん、システムUIDの値も制御装置Aが記憶するものとは異なる。
【0204】
このとき、制御装置Bの仮想デバイステーブルには、「1/A/c」のように制御装置A側と重複する仮想デバイスを登録しておくこともできる。
この状態で自動対応付け処理を行うと、図21のステップS302の処理おいて、各仮想デバイスに対して線で結んだ実線の枠で示す実デバイスが対応付けられる。ここで、「1/A/c」の仮想デバイスには、制御装置AがユニークIDを設定させた「1,u1/A/c」が対応付けられることになるので、少なくともこのデバイスについては、仮想デバイスとユニークIDが一致しない未知デバイスとなる。他の実デバイスについては、図示のようにユニークIDの設定がなければ未知デバイスとなるし、過去に対応付けが行われてユニークIDが設定されていれば既知デバイスとなる。
【0205】
そして、ユーザは、その後図22に示した手動対応付け処理により、図21のステップS302で行われた対応付けを仮想デバイステーブルに(MDの値として)登録することができる。このとき、フラグCF(1)に「1」がセットされる。
その後、ユーザが制御装置Bにおいてオンライン移行指示を行うと、制御装置Bは図23の同期化処理を実行し、実デバイスと仮想デバイスとの間でパラメータの同期化を行う。このとき、CF(1)が「1」であるので、制御装置Bは新たなシステムUID(値は「ux2」とする)を生成し、仮想デバイスと対応付けた図で下から3つの実デバイスにユニークIDとして記憶させる。
また、制御装置Bは新たなシステムUIDを設定した仮想デバイステーブルを制御装置Aに通知するが、ここでは制御装置Aも制御装置BのシステムUIDを引き継がないものとする。
【0206】
なお、制御装置Bが制御装置AのシステムUIDを引き継がない場合、通常は、制御装置Bは制御装置Aとな異なる組み合わせのデバイスを制御対象とすることになる。ここで、制御装置BがシステムUIDを引き継がないのは、制御装置Bのユーザが、制御装置Bを使用して、制御装置Aが制御している又は制御していたのとは異なるシステムを制御しようとしている場合である。
【0207】
このような場合に、1つの実デバイスが制御装置Bと制御装置Aの双方(の仮想デバイス)と同時にオンラインになると、制御に混乱が生じる恐れがあり、好ましくない。
そこで、例えば実デバイスにおいてユニークIDが別の値に書き換えられた時点でそれまでオンラインだった制御装置とのオンライン状態を解消するようにするとよい。このようにすれば、現在オンライン中の制御装置と異なる内容の仮想デバイステーブルに基づき別の制御装置からオンライン状態への移行(パラメータの同期化)を要求されたことを適切に把握し、後着優先で1つの制御装置とのみオンラインの状態とすることができる。
【0208】
このようにした場合、制御装置Bによる同期化処理の後は、制御装置Aは上から3番目の実デバイスとはオフラインとなり、制御装置Aとオンラインになっているのは、(c)の「システムを構成するデバイス」の欄に太線で示すように、上2つのデバイスのみである。
また、この状態で制御装置Aが自動対応付け処理を行うと、「1/A/c」の仮想デバイスには、制御装置BがユニークIDを設定させた「1,ux2/A/c」が対応付けられることになり、このデバイスは未知デバイスとなる。従ってこのデバイスについてステップS307での警告がなされる。従って、一旦オンラインにした実デバイスが他の制御装置によってデバイス構成の異なるシステムに組み入れられて使用された場合にも、警告を行うことができると言える。
【0209】
なお、制御装置Aにおいてユーザが手動対応付けで図に示すとおりの対応付けを行った後、オンライン移行指示を行うと、制御装置Aは、同期化処理により、上から3番目の実デバイスをオンラインにすることができる。またこのとき、制御装置Aは新たなシステムUID(値は「u2」とする)を生成し、仮想デバイスと対応付けた図で上から3つの実デバイスにユニークIDとして記憶させる。そして、上から3番目の実デバイスにも新たなユニークIDが記憶されることになるため、この実デバイスは制御装置Bとのオンライン状態を解消する。
【0210】
また、(d)に示すように、制御装置Aにおいて仮想デバイステーブルの内容が変更されると、変更した箇所については、自動対応付け処理において仮想デバイスに未知デバイスが対応付けられ、警告が行われることになる。
しかし、ユーザが手動対応付けで適当な対応付けを行った後、オンライン移行指示を行うと、制御装置Aは、同期化処理により、各仮想デバイスと、その仮想デバイスと対応付けた実デバイスとをオンラインにすることができる。またこのとき、制御装置Aは新たなシステムUID(値は「u3」とする)を生成し、仮想デバイスと対応付けた各実デバイスにユニークIDとして記憶させる。
【0211】
4.変形例
以上で実施形態の説明を終了するが、装置の構成、データの構成、ユーザによる操作の手順、具体的な処理内容等が上述の実施形態で説明したものに限られないことはもちろんである。
例えば、上述の実施形態では、仮想デバイス及び各デバイスについてシステムIDを設定しておき、制御装置が現在の制御対象とするシステムを、システムIDにより設定する例について説明した。
【0212】
しかし、現在の制御対象とするシステムを、設定し得るデバイスIDの選択肢の中から1又は複数のデバイスIDを指定して設定できるようにしてもよい。ただしこの場合、全デバイス及び仮想デバイスをデバイスIDのみ(あるいはデバイスIDと機種IDの組み合わせ)によって識別できるようにする必要がある。従って、仮想デバイスとシステムを構成するデバイスとの対応付けに際しては、システムIDは無視して(又は設定自体せず)、現在の制御対象として設定されているデバイスIDを有する仮想デバイスについてのみ、対応付けを行い、他の仮想デバイスについては何らのデバイスも対応付けないことになる。
【0213】
また、上述の実施形態では、現在の制御対象として設定されているシステムIDを有しない仮想デバイスについては、デバイスとの対応付けを行わない例について説明した。しかし、全仮想デバイスについて対応付けを行っておく一方、現在の制御対象として設定されていない仮想デバイスについては、オンラインにしないような制御を行ってもよい。
【0214】
また、優先グループの選択手法につき、図13に示したような、仮想デバイスとの対応付けに基づくもの以外にも、任意の手法を採用可能である。例えば、マスタノードとなるデバイスは重要なデバイスであるのであまり入れ替えないが他のデバイスについては頻繁に入れ替えがある、というような場合には、マスタノードが属するグループを無条件に優先グループとする手法も考えられる。
【0215】
また、図23のステップS323において、必ずしも仮想デバイステーブルの内容を全て通知しなくても、通知対象の制御装置との間で仮想デバイステーブルの内容を共通化できれば問題ない。例えば、通知対象の制御装置においてシステムUIDを引き継ぐ選択がなされた時点で仮想デバイステーブルを渡してもよいし、仮想デバイステーブルにおける仮想デバイスの内容が制御装置間で一致していることが何らかの手段で保証されるなら、システムUIDを通知するのみでもよい。
【0216】
また、各仮想デバイスに対応付けるデバイスを特定するための情報として、MACアドレス以外の情報を用いてもよい。ユーザが行うシステムIDやデバイスIDの設定内容によらず、デバイス間で重複が起こらず、常にデータの送信先を一意に特定できるような情報であれば、その情報を用いて、仮想デバイスに対応付けるデバイスを特定することができる。デバイスのメーカーがこのようなIDを予めデバイスに設定しておいてもよい。
【0217】
また、この発明は、上述したようなリング状のフレーム伝送経路を用いるシステムだけでなく、CobraNet(商標)やEtherSound(商標)をはじめ、制御装置から他の装置に対して制御用データを送信可能な任意の形態のネットワークシステムに適用可能である。
【0218】
さらに、ネットワークを介して音響信号を送信可能であることも必須ではない。従って、イーサネット(商標)、無線LAN、USB、IEEE1394等の任意のプロトコルによって通信を行うネットワークシステムにも適用可能である。この場合、音響信号は、制御信号の伝送に用いるネットワークとは別のネットワークや、MADI(Multichannel Audio Digital Interface)等のケーブルを使用して別途伝送するようにしてもよい。
【0219】
さらにまた、制御装置がコンソールやPCであることも、制御対象のデバイスが音響信号処理装置であることも、必須ではない。
以上説明してきた変形及び実施形態の説明において述べた変形は、矛盾しない範囲で任意に組み合わせて適用可能である。また逆に、ネットワークシステムが実施形態の説明において述べた特徴を全て有している必要もない。
【産業上の利用可能性】
【0220】
以上の説明から明らかなように、この発明のリモート制御システムによれば、複数の制御装置により同じデバイスを制御しようとする場合でも、同じシステムを制御対象とする複数の制御装置間で共通となるシステムUID(第2ID)に基づいて、直近の動作時に一群の制御対象として動作していたデバイスと、そうでないデバイスとを制御装置が容易に識別して、制御対象を選択できるようにすることができる。
従って、この発明を適用することにより、リモート制御システムの利便性を向上させることができる。
【符号の説明】
【0221】
1,S…オーディオネットワークシステム、2Ba、2Bc,2Be,2Bf,2Bx,3Ba…入出力装置、2Cb…コンソール、2Ed…ミキサエンジン、10…音響信号処理装置、100…TLフレーム
【特許請求の範囲】
【請求項1】
複数の制御装置と、該複数の制御装置により制御される複数のデバイスとを備えるリモート制御システムであって、
前記各デバイスが、
該デバイスの第1ID及び第2IDを記憶する記憶手段と、
ユーザの操作に応じて前記第1IDを前記記憶手段に記憶させる第1設定手段と、
前記制御装置からIDを受信して前記第2IDとして前記記憶手段に記憶させる第2設定手段とを備え、
前記各制御装置が、
第2IDを記憶する第2ID記憶手段と、
制御対象とする複数のデバイスを前記第1IDによりデバイス毎に特定するデバイスデータを記憶する制御対象記憶手段と、
前記各デバイスからそれぞれ該デバイスの第1ID及び第2IDを取得するID取得手段と、
前記ID取得手段が取得した第1ID及び第2IDに基づき、前記制御対象記憶手段に記憶された各デバイスデータに対し、IDの取得元である各デバイスのうち、該デバイスデータと前記第1IDの値が共通する最大1つのデバイスを対応付ける手段であって、
a)前記IDの取得元である各デバイスの中に、前記デバイスデータと前記第1IDの値が共通であり、かつ前記第2ID記憶手段が記憶する第2IDと同じ値の第2IDを有するデバイスがあった場合に、該デバイスを当該デバイスデータに対応付け、
b)前記IDの取得元である各デバイスの中に、前記デバイスデータと前記第1IDの値が共通であり、かつ前記第2ID記憶手段が記憶する第2IDと異なる値の第2IDを有するデバイスがあった場合に、ユーザに対して警告を行う対応付け手段と、
前記対応付け手段による対応付けができたデバイスを、制御対象のデバイスとして設定する制御対象設定手段と、
前記制御対象設定手段が設定した制御対象のデバイスを、前記第1IDにより特定して制御するリモート制御手段とを備え、
前記複数の制御装置のうち特定の制御装置が、さらに
前記デバイスデータのいずれかについて、前記IDの取得元である各デバイスの中に、該デバイスデータと前記第1IDの値が共通であるデバイスが1以上あった場合に、ユーザの操作に応じて、該各デバイスの前記第2IDの値によらず、前記1以上のデバイスのうち1つを該デバイスデータに対応付ける手動対応付け手段と、
前記制御対象設定手段による制御対象の設定に際して、制御対象とするデバイスの中に、前記手動対応付け手段による対応付けがなされたデバイスが含まれている場合、1つのユニークなIDを生成し、前記第2ID記憶手段に記憶している第2IDを該生成したIDに書き換えると共に、前記制御対象設定手段が設定する制御対象の各デバイスに送信して前記第2IDとして記憶させる第2ID付与手段とを備えることを特徴とするリモート制御システム。
【請求項2】
複数の制御装置と、該複数の制御装置により制御される複数のデバイスとを備えるリモート制御システムであって、
前記各デバイスが、
該デバイスの第1ID及び第2IDを記憶する記憶手段と、
ユーザの操作に応じて前記第1IDを前記記憶手段に記憶させる第1設定手段と、
前記制御装置からIDを受信して前記第2IDとして前記記憶手段に記憶させる第2設定手段とを備え、
前記各制御装置が、
第2IDを記憶する第2ID記憶手段と、
制御対象とする複数のデバイスを前記第1IDによりデバイス毎に特定するデバイスデータを記憶する制御対象記憶手段と、
前記各デバイスからそれぞれ該デバイスの第1ID及び第2IDを取得するID取得手段と、
前記ID取得手段が取得した第1ID及び第2IDに基づき、前記制御対象記憶手段に記憶された各デバイスデータに対し、IDの取得元である各デバイスのうち、該デバイスデータと前記第1IDの値が共通する最大1つのデバイスを対応付ける手段であって、
a)前記IDの取得元である各デバイスの中に、前記デバイスデータと前記第1IDの値が共通であり、かつ前記第2ID記憶手段が記憶する第2IDと同じ値の第2IDを有するデバイスがあった場合に、該デバイスを当該デバイスデータに対応付け、
b)前記IDの取得元である各デバイスの中に、前記デバイスデータと前記第1IDの値が共通であり、かつ前記第2ID記憶手段が記憶する第2IDと異なる値の第2IDを有するデバイスがあった場合に、ユーザに対して警告を行う対応付け手段と、
前記対応付け手段による対応付けができたデバイスを、制御対象のデバイスとして設定する制御対象設定手段と、
前記制御対象設定手段が設定した制御対象のデバイスを、前記第1IDにより特定して制御するリモート制御手段とを備え、
前記複数の制御装置のうち特定の制御装置が、さらに
ユーザの操作に応じて前記制御対象記憶手段に対してデバイスデータの追加及び削除を行う制御対象編集手段と、
前記デバイスデータのいずれかについて、前記IDの取得元である各デバイスの中に、該デバイスデータと前記第1IDの値が共通であるデバイスが1以上あった場合に、ユーザの操作に応じて、該各デバイスの前記第2IDの値によらず、前記1以上のデバイスのうち1つを該デバイスデータに対応付ける手動対応付け手段と、
前記制御対象設定手段による制御対象の設定に際して、前記制御対象編集手段によりデバイスデータの追加又は削除がなされた場合及び、制御対象とするデバイスの中に、前記手動対応付け手段による対応付けがなされたデバイスが含まれている場合に、1つのユニークなIDを生成し、前記第2ID記憶手段に記憶している第2IDを該生成したIDに書き換えると共に、前記制御対象設定手段が設定する制御対象の各デバイスに送信して前記第2IDとして記憶させる第2ID付与手段とを備えることを特徴とするリモート制御システム。
【請求項3】
請求項1又は2に記載のリモート制御システムであって、
前記特定の制御装置の第2ID付与手段は、前記ユニークなIDを生成した場合、そのIDを他の制御装置に通知し、
該他の制御装置は、前記第2ID記憶手段に記憶している第2IDを該通知されたIDに書き換えると共に、前記制御対象記憶手段に記憶しているデバイスデータを、前記特定の制御装置の制御対象記憶手段が記憶しているデバイスデータに書き換えることを特徴とするリモート制御システム。
【請求項1】
複数の制御装置と、該複数の制御装置により制御される複数のデバイスとを備えるリモート制御システムであって、
前記各デバイスが、
該デバイスの第1ID及び第2IDを記憶する記憶手段と、
ユーザの操作に応じて前記第1IDを前記記憶手段に記憶させる第1設定手段と、
前記制御装置からIDを受信して前記第2IDとして前記記憶手段に記憶させる第2設定手段とを備え、
前記各制御装置が、
第2IDを記憶する第2ID記憶手段と、
制御対象とする複数のデバイスを前記第1IDによりデバイス毎に特定するデバイスデータを記憶する制御対象記憶手段と、
前記各デバイスからそれぞれ該デバイスの第1ID及び第2IDを取得するID取得手段と、
前記ID取得手段が取得した第1ID及び第2IDに基づき、前記制御対象記憶手段に記憶された各デバイスデータに対し、IDの取得元である各デバイスのうち、該デバイスデータと前記第1IDの値が共通する最大1つのデバイスを対応付ける手段であって、
a)前記IDの取得元である各デバイスの中に、前記デバイスデータと前記第1IDの値が共通であり、かつ前記第2ID記憶手段が記憶する第2IDと同じ値の第2IDを有するデバイスがあった場合に、該デバイスを当該デバイスデータに対応付け、
b)前記IDの取得元である各デバイスの中に、前記デバイスデータと前記第1IDの値が共通であり、かつ前記第2ID記憶手段が記憶する第2IDと異なる値の第2IDを有するデバイスがあった場合に、ユーザに対して警告を行う対応付け手段と、
前記対応付け手段による対応付けができたデバイスを、制御対象のデバイスとして設定する制御対象設定手段と、
前記制御対象設定手段が設定した制御対象のデバイスを、前記第1IDにより特定して制御するリモート制御手段とを備え、
前記複数の制御装置のうち特定の制御装置が、さらに
前記デバイスデータのいずれかについて、前記IDの取得元である各デバイスの中に、該デバイスデータと前記第1IDの値が共通であるデバイスが1以上あった場合に、ユーザの操作に応じて、該各デバイスの前記第2IDの値によらず、前記1以上のデバイスのうち1つを該デバイスデータに対応付ける手動対応付け手段と、
前記制御対象設定手段による制御対象の設定に際して、制御対象とするデバイスの中に、前記手動対応付け手段による対応付けがなされたデバイスが含まれている場合、1つのユニークなIDを生成し、前記第2ID記憶手段に記憶している第2IDを該生成したIDに書き換えると共に、前記制御対象設定手段が設定する制御対象の各デバイスに送信して前記第2IDとして記憶させる第2ID付与手段とを備えることを特徴とするリモート制御システム。
【請求項2】
複数の制御装置と、該複数の制御装置により制御される複数のデバイスとを備えるリモート制御システムであって、
前記各デバイスが、
該デバイスの第1ID及び第2IDを記憶する記憶手段と、
ユーザの操作に応じて前記第1IDを前記記憶手段に記憶させる第1設定手段と、
前記制御装置からIDを受信して前記第2IDとして前記記憶手段に記憶させる第2設定手段とを備え、
前記各制御装置が、
第2IDを記憶する第2ID記憶手段と、
制御対象とする複数のデバイスを前記第1IDによりデバイス毎に特定するデバイスデータを記憶する制御対象記憶手段と、
前記各デバイスからそれぞれ該デバイスの第1ID及び第2IDを取得するID取得手段と、
前記ID取得手段が取得した第1ID及び第2IDに基づき、前記制御対象記憶手段に記憶された各デバイスデータに対し、IDの取得元である各デバイスのうち、該デバイスデータと前記第1IDの値が共通する最大1つのデバイスを対応付ける手段であって、
a)前記IDの取得元である各デバイスの中に、前記デバイスデータと前記第1IDの値が共通であり、かつ前記第2ID記憶手段が記憶する第2IDと同じ値の第2IDを有するデバイスがあった場合に、該デバイスを当該デバイスデータに対応付け、
b)前記IDの取得元である各デバイスの中に、前記デバイスデータと前記第1IDの値が共通であり、かつ前記第2ID記憶手段が記憶する第2IDと異なる値の第2IDを有するデバイスがあった場合に、ユーザに対して警告を行う対応付け手段と、
前記対応付け手段による対応付けができたデバイスを、制御対象のデバイスとして設定する制御対象設定手段と、
前記制御対象設定手段が設定した制御対象のデバイスを、前記第1IDにより特定して制御するリモート制御手段とを備え、
前記複数の制御装置のうち特定の制御装置が、さらに
ユーザの操作に応じて前記制御対象記憶手段に対してデバイスデータの追加及び削除を行う制御対象編集手段と、
前記デバイスデータのいずれかについて、前記IDの取得元である各デバイスの中に、該デバイスデータと前記第1IDの値が共通であるデバイスが1以上あった場合に、ユーザの操作に応じて、該各デバイスの前記第2IDの値によらず、前記1以上のデバイスのうち1つを該デバイスデータに対応付ける手動対応付け手段と、
前記制御対象設定手段による制御対象の設定に際して、前記制御対象編集手段によりデバイスデータの追加又は削除がなされた場合及び、制御対象とするデバイスの中に、前記手動対応付け手段による対応付けがなされたデバイスが含まれている場合に、1つのユニークなIDを生成し、前記第2ID記憶手段に記憶している第2IDを該生成したIDに書き換えると共に、前記制御対象設定手段が設定する制御対象の各デバイスに送信して前記第2IDとして記憶させる第2ID付与手段とを備えることを特徴とするリモート制御システム。
【請求項3】
請求項1又は2に記載のリモート制御システムであって、
前記特定の制御装置の第2ID付与手段は、前記ユニークなIDを生成した場合、そのIDを他の制御装置に通知し、
該他の制御装置は、前記第2ID記憶手段に記憶している第2IDを該通知されたIDに書き換えると共に、前記制御対象記憶手段に記憶しているデバイスデータを、前記特定の制御装置の制御対象記憶手段が記憶しているデバイスデータに書き換えることを特徴とするリモート制御システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【公開番号】特開2011−182329(P2011−182329A)
【公開日】平成23年9月15日(2011.9.15)
【国際特許分類】
【出願番号】特願2010−46875(P2010−46875)
【出願日】平成22年3月3日(2010.3.3)
【出願人】(000004075)ヤマハ株式会社 (5,930)
【Fターム(参考)】
【公開日】平成23年9月15日(2011.9.15)
【国際特許分類】
【出願日】平成22年3月3日(2010.3.3)
【出願人】(000004075)ヤマハ株式会社 (5,930)
【Fターム(参考)】
[ Back to top ]