JP3661936B2 - 情報処理装置および方法、記録媒体、並びにプログラム - Google Patents
情報処理装置および方法、記録媒体、並びにプログラム Download PDFInfo
- Publication number
- JP3661936B2 JP3661936B2 JP2001226390A JP2001226390A JP3661936B2 JP 3661936 B2 JP3661936 B2 JP 3661936B2 JP 2001226390 A JP2001226390 A JP 2001226390A JP 2001226390 A JP2001226390 A JP 2001226390A JP 3661936 B2 JP3661936 B2 JP 3661936B2
- Authority
- JP
- Japan
- Prior art keywords
- network
- command
- soap
- format
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40091—Bus bridging
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4604—LAN interconnection over a backbone network, e.g. Internet, Frame Relay
- H04L12/462—LAN interconnection over a bridge based backbone
- H04L12/4625—Single bridge functionality, e.g. connection of two networks over a single bridge
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Small-Scale Networks (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Communication Control (AREA)
- Selective Calling Equipment (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、情報処理装置および方法、記録媒体、並びプログラムに関し、特に、IEEE802に基づく第1のネットワークに接続されている機器が、IEEE1394に基づく第2のネットワークに接続されている機器を制御することができるようにした、情報処理装置および方法、記録媒体、並びプログラムに関する。
【0002】
【従来の技術】
最近、IEEE(Institute of Electrical and Electronics Engineers)1394高速シリアルバスを用いたネットワーク(以下、単にIEEE1394ネットワークと称する)が普及してきた。オーディオ機器やビデオ機器を、このIEEE1394ネットワークに接続することで、各機器は、AV/Cコマンドを用いて、他の機器を制御することができる。
【0003】
一方、IEEE802ネットワークも普及している。このIEEE802は、主にパーソナルコンピュータを相互に接続するためのネットワークであり、UPnP(Universal Plag and Play)のプロトコルに基づいて、各パーソナルコンピュータは、他のパーソナルコンピュータを制御することができる。
【0004】
【発明が解決しようとする課題】
しかしながら、このIEEE1394ネットワークとIEEE802ネットワークとは、それぞれ独立したものであり、IEEE802ネットワークに接続されている機器(以下、UPnP機器と称する)は、IEEE1394ネットワークに接続されている機器(以下、AV/C機器と称する)を制御することができない課題があった。
【0005】
本発明はこのような状況に鑑みてなされたものであり、UPnP機器が、AV/C機器を制御できるようにするものである。
【0006】
【課題を解決するための手段】
本発明の情報処理装置は、第1のネットワークから第1のフォーマットのデータを取り込む取り込み手段と、取り込み手段により取り込まれた第1のフォーマットのSOAPに基づくコマンドを、第2のネットワークのAV/Cコマンドに変換して第2のフォーマットに格納するとともに、 SOAP に基づくコマンドに記述されている第2のネットワークに接続されている機器を指定するノードユニーク ID とノード ID の対応表を有し、 SOAP に基づくコマンドに記述されている第2のネットワークに接続されている機器を指定するノードユニーク ID を、対応表に基づいてノード ID に変換する変換手段と、変換手段により変換された第2のフォーマットを、第2のネットワークに送信する送信手段とを備えることを特徴とする
【0008】
前記変換手段は、SOAPに基づくコマンドと、それに基づいて第2のネットワークに送信されるコマンドとの対応表を有し、第2のネットワークを介して受信したレスポンスに対応するSOAPに基づくコマンドを、対応表に基づいて検索し、SOAPに基づくコマンドに対応するレスポンスを第1のネットワークに送信することができる。
【0009】
前記変換手段は、SOAPに基づくコマンドに含まれるトランザクションラベルに基づいて、SOAPに基づくコマンドとレスポンスを対応させることができる。
【0010】
前記変換手段は、第1のネットワークに接続されている機器からのリクエストに対応するファイナルレスポンスが、予め定められている時間内に、第2のネットワークに接続されている機器から受信されないとき、第1のネットワークに接続されている機器に対して処理中であることを表すレスポンスを送信することができる。
【0011】
前記SOAPに基づくコマンドが、第2のネットワークのバスリセット時に再送を要求するコマンドである場合、第2のネットワークのバスリセットを検知し、第2のネットワークにバスリセットが発生したとき、コマンドを送信する検知手段をさらに備えるようにすることができる。
【0012】
前記変換手段は、さらに第2のネットワークのAV/Cコマンドを、第1のフォーマットのSOAPに基づくコマンドに変換して第1のフォーマットに格納し、送信手段は、さらに変換手段により変換された第1のフォーマットのSOAPに基づくコマンドを、第1のネットワークに送信することができる。
【0013】
本発明の情報処理方法は、第1のネットワークからの第1のフォーマットのデータを取り込む取り込みステップと、取り込みステップの処理により取り込まれた第1のフォーマットのSOAPに基づくコマンドを、第2のネットワークのAV/Cコマンドに変換して第2のフォーマットに格納するとともに、 SOAP に基づくコマンドに記述されている第2のネットワークに接続されている機器を指定するノードユニーク ID とノード ID の対応表を有し、 SOAP に基づくコマンドに記述されている第2のネットワークに接続されている機器を指定するノードユニーク ID を、対応表に基づいてノード ID に変換する変換ステップと、変換ステップの処理により変換された第2のフォーマットを、第2のネットワークに送信する送信ステップとを含むことを特徴とする。
【0014】
本発明の記録媒体のプログラムは、第1のネットワークからの第1のフォーマットのデータを取り込む取り込みステップと、取り込みステップの処理により取り込まれた第1のフォーマットのSOAPに基づくコマンドを、第2のネットワークのAV/Cコマンドに変換して第2のフォーマットに格納するとともに、 SOAP に基づくコマンドに記述されている第2のネットワークに接続されている機器を指定するノードユニーク ID とノード ID の対応表を有し、 SOAP に基づくコマンドに記述されている第2のネットワークに接続されている機器を指定するノードユニーク ID を、対応表に基づいてノード ID に変換する変換ステップと、変換ステップの処理により変換された第2のフォーマットを、第2のネットワークに送信する送信ステップとを含むことを特徴とする。
【0015】
本発明のプログラムは、第1のネットワークからの第1のフォーマットのデータを取り込む取り込みステップと、取り込みステップの処理により取り込まれた第1のフォーマットのSOAPに基づくコマンドを、第2のネットワークのAV/Cコマンドに変換して第2のフォーマットに格納するとともに、 SOAP に基づくコマンドに記述されている第2のネットワークに接続されている機器を指定するノードユニーク ID とノード ID の対応表を有し、 SOAP に基づくコマンドに記述されている第2のネットワークに接続されている機器を指定するノードユニーク ID を、対応表に基づいてノード ID に変換する変換ステップと、変換ステップの処理により変換された第2のフォーマットを、第2のネットワークに送信する送信ステップとを実行させることを特徴とする。
【0016】
本発明の情報処理装置および方法、記録媒体、並びにプログラムにおいては、IEEE802に基づく第1のネットワークからのSOAPに基づくコマンドが、第2のネットワークのAV/Cコマンドに変換される。
【0017】
【発明の実施の形態】
図1は、本発明を適用したネットワークシステムの構成を表している。この構成においては、IEEE802ネットワーク11に、UPnPコントロールポイント1が接続されている。IEEE1394ネットワーク12には、AV/C機器3,4が接続されている。IEEE802ネットワーク11と、IEEE1394ネットワーク12は、UPnPデバイス(UPnP-AV/Cプロキシ)2にそれぞれ接続されている。
【0018】
図2は、UPnPデバイス2の構成例を表している。図2において、CPU(Central Processing Unit)21は、ROM(Read Only Memory)22に記憶されているプログラム、または記憶部28からRAM(Random Access Memory)23にロードされたプログラムに従って各種の処理を実行する。RAM23にはまた、CPU21が各種の処理を実行する上において必要なデータなども適宜記憶される。
【0019】
CPU21、ROM22、およびRAM23は、バス24を介して相互に接続されている。このバス24にはまた、入出力インタフェース25も接続されている。
【0020】
入出力インタフェース25には、キーボード、マウスなどよりなる入力部26、CRT、LCDなどよりなるディスプレイ、並びにスピーカなどよりなる出力部27、ハードディスクなどより構成される記憶部28、モデム、ターミナルアダプタなどより構成される通信部29が接続されている。通信部29は、IEEE802ネットワーク11またはIEEE1394ネットワーク12を介しての通信処理を行う。
【0021】
入出力インタフェース25にはまた、必要に応じてドライブ30が接続され、磁気ディスク41、光ディスク42、光磁気ディスク43、或いは半導体メモリ44などが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部28にインストールされる。
【0022】
UPnP機器(図1の例の場合、UPnPコントロールポイント1およびUPnPデバイス2)は、主に、アドレシング(Addressing)、ディスカバリ(Discovery)、ディスクリプション(Decription)、コントロール(Control)、イベンティング(Eventing)、プレゼンテーション(Presentation)の6つの機能を有している。
【0023】
アドレシングは、各UPnP機器が、IEEE802ネットワーク11上でアドレスを取得するための機能であり、DHCP(Dynamic Host Configuration Protocol)またはAutoIPが用いられる。
【0024】
ディスカバリは、アドレシングの後に行われ、これによりUPnPコントロールポイント1は、コントロールしたいターゲット機器を発見することができる。ここで用いられるプロトコルは、SSDP(Simple Service Discovery Protocol)である。各機器は、IEEE802ネットワーク11に接続されたとき、自分自身の中に有するデバイスやサービスを通知するメッセージをIEEE802ネットワーク11上にマルチキャストする(特に、相手を指定しないでパケットを送信する)。UPnPコントロールポイント1は、このマルチキャストされたメッセージを受信することで、IEEE802ネットワーク11に、どのような機器が接続されたのかを知ることができる。
【0025】
逆に、UPnPコントロールポイント1の方から、現在IEEE802ネットワーク11に接続されている機器を調べることもできる。このとき、UPnPコントロールポイント1は、発見したいデバイスやサービスをキーワードとして、検索コマンドをIEEE802ネットワーク11上にマルチキャストする。IEEE802ネットワーク11に接続されている各機器は、マルチキャストされた検索コマンドに規定されている条件に自分自身が適合する場合、その検索コマンドに対してレスポンスをユニキャストする(相手側を指定して、パケットを送信する)。これにより、UPnPコントロールポイント1は、IEEE802ネットワーク11に接続されている機器を検知することができる。
【0026】
また、各機器は、IEEE802ネットワーク11から外れるときも、事前にその旨をブロードキャストする。
【0027】
ディスカバリによりUPnPコントロールポイント1が発見したコントロール対象の機器が出力したSSDPパケットには、デバイスディスクリプション(Device Description)のURL(Uniform Resource Locator)が記述されている。UPnPコントロールポイント1は、そのURLにアクセスすることにより、その機器のさらに詳しいデバイス情報をデバイスディスクリプションから得ることができる。このデバイス情報には、アイコン情報、モデル名、生産者名、商品名などが含まれている。
【0028】
また、このデバイス情報には、そのデバイスが有するサービス情報が記述されており、そのサービスの詳しい情報が記述されているサービスディスクリプション(Service Description)も、サービス情報に記述されているURLから辿ることができる。
【0029】
UPnPコントロールポイント1は、これらのデバイス情報(Device Description)やサービス情報(Service Description)から、ターゲットに対するアクセスの方法を知ることができる。
【0030】
また、デバイスディスクリプションには、後述するPresentation URLも記述されている。
【0031】
Device DescriptionおよびService Descriptionは、XML(Extensible Markup Language)で表現されている。
【0032】
Controlは、アクション(Action)とクエリー(Query)の2つに大きく分類される。Actionは、Service Descriptionのアクション情報に規定された方法で行われ、ActionをInvokeすることにより、UPnPコントロールポイント1は、ターゲットを操作することができる。
【0033】
一方、Queryは、Service DescriptionのstateVariableの値を取り出すために用いられる。stateVariableの値は、機器の状態を表している。
【0034】
Controlでは、SOAP(Simple Object Access Protocol)というトランスポートプロトコルが利用される。その表現言語としては、XMLが用いられる。
【0035】
イベンティング(Eventing)は、stateVariableの値が変更されたとき、そのことをターゲットから、UPnPコントロールポイント1に通知させるために用いられる。UPnPコントロールポイント1は、Service Description を解析することにより、stateVariableからターゲットの保持する変数を知ることができる。UPnPコントロールポイント1はターゲットに対して、Subscriptionを出力しておくことにより、その変数のうち、sendEventsがyesになっている変数に関して、変数の変更があったとき、ターゲットから通知を受け取ることができる。Eventingでは、GENA(General Event Notification Architecture)というトランスポートプロトコルが利用される。その表現言語としては、XMLが用いられる。
【0036】
プレゼンテーション(Presentation)は、ユーザにユーザインタフェース(UI)を用いたコントロール手段を提供するために用いられる。Device Descriptionに記述されたPresentation URLにアクセスすることで、HTML(Hyper Text Markup Language)によって記述されたPresentation Pageを得ることができる。その機能により、ターゲットでアプリケーションを用意することができる。
【0037】
UPnPデバイス(UPnP-AV/Cプロキシ)2は、IEEE802ネットワーク11とIEEE1394ネットワーク12との間のブリッジとして機能し、内部に、図3に示されるデバイスモデルを有する。この例のデバイスモデルは、1個のルートデバイス(root device)61で構成され、このルートデバイス61は、AV/Cプロキシサービス(AV/C proxy service)71とAV/Cノードサービス(AV/C nodes service)72とを有している。
【0038】
AV/Cプロキシサービス(以下、単に、プロキシサービスと称する)71は、IEEE1394ネットワーク12のバスリセット発生、バスID、ノードの数、バスマネージャ、アイソクロナスリソースマネージャのノードユニークID(NUID)、ギャップカウント(Gap Count)、セルフIDパケット(Self IDパケット)などを管理する。
【0039】
AV/Cノードサービス(以下、単にノードサービスと称する)72は、SOAPに基づくコマンドと、AV/Cに基づくコマンドの変換処理を行う。
【0040】
図4は、このAV/Cコマンドフレームのフォーマットを表している。
【0041】
CTSフィールドには、コマンドセットの種類が記述される。その値の「0000」は、そのコマンドセットがAV/Cコマンドセットであることを表す。
【0042】
ctypeフィールドには、そのパケットがコマンドであるのか、レスポンスであるのか、コマンドである場合にはコマンドの機能分類、レスポンスである場合にはコマンドの処理結果の分類が記述される。
【0043】
図5は、このようなコマンドとレスポンスの例を表している。同図に示されるように、コマンドとしては、大きく分けて4種類のコマンドが用意されている。
【0044】
CONTROL(ctype=0000)は、機能を外部から制御するコマンドである。
【0045】
STATUS(ctype=0001)は、外部から状態を問い合わせるコマンドである。
【0046】
さらに、制御コマンドのサポートの有無を外部から問い合わせるコマンドとして、GENERAL INQUIRY(ctype=0100)とSPECIFIC INQUIRY(ctype=0010)がある。前者は、opcodeサポートの有無を問い合わせるコマンドであり、後者は、opcodeとoperandsのサポートの有無を問い合わせるコマンドである。
【0047】
NOTIFY(ctype=0011)は、状態の変化を外部に知らせるように要求するコマンドである。
【0048】
レスポンスは、コマンドの種別に応じて返される。
【0049】
CONTROLコマンドに対するレスポンスとしては、以下のようなものがある。
【0050】
NOT IMPLEMENTED(ctype=1000)は、コマンドが実装されていないことを通知する。ACCEPTED(ctype=1001)は、コマンドが実行されたことを通知する。REJECTED(ctype=1010)は、コマンドが実行できなかったことを通知する。
【0051】
INTERIM(ctype=1111)は、コマンドが処理中であることを通知する。
【0052】
STATUSコマンドに対するレスポンスとしては、NOT IMPLEMENTEDとREJECTEDの他、IN TRANSITIONとSTABLEがある。
【0053】
IN TRANSITION(ctype=1011)は、ステータスが遷移中であることを通知する。STABLEはステータスが遷移中でなく、安定していることを通知する。
【0054】
GENERAL INQUIRYおよびSPECIFIC INQUIRYコマンドに対するレスポンスとしては、IMPLEMENTEDとNOT IMPLEMENTEDがある。IMPLEMENTED(ctype=1100)は、コマンドが実装されていることを通知する。
【0055】
NOTIFYコマンドに対するレスポンスとしては、NOT IMPLEMENTED,REJECTED,INTERIM,CHANGEDがある。
【0056】
INTERIMは、NOTIFYが受け付けられたことをまず通知する。CHANGED(ctype=1101)は、その後、ターゲットの状態が変化したことを通知する。
【0057】
図4のAV/Cコマンドフレームにおけるsubunit_typeは、コマンドの宛先を表す。その具体的な例が、図6に示されている。
【0058】
すなわち、subunit_typeの値の「00000」は、このAV/Cコマンドの宛先(サブユニット)が、Video Monitorであることを表す。また、その値の「00101」は、その宛先がTunerであることを表す。
【0059】
subunit_typeの値の「11111」は、そのコマンドはユニット宛であることを表す。これにより、例えば、装置の電源のオンオフなどが制御される。
【0060】
図4のsubunit_typeの次には、subunit_IDが配置される。このsubunit_IDは、ユニット内に、同じ種類のサブユニットが複数個存在する場合の判別を行うために、判別番号として用いられる。従って、結局、subunit_typeとsubunit_IDの2つにより、コマンドの宛先が特定されることになる。
【0061】
opcodeは命令動作を表し、operandは命令の付加的条件を表す。
【0062】
図6には、scbunit_typeがTunerである場合におけるopcodeの例が表されている。Tunerのopcodeの場合、その値のC8hは、DIRECT SELECT INFORMATION TYPEを表し、その値のCBhは、DIRECT SERECT DATAを表す。
【0063】
このように、各subunit毎に、opcodeのテーブルが用意される。また、各opcode毎に、operandが定義される。
【0064】
例えば、チューナの選局が行われる場合、opcodeは、DIRECT SELECT INFORMATION TYPEとされ、operandで周波数やチャンネル番号などのパラメータが指定される。
【0065】
次に、図7のフローチャートを参照して、IEEE802ネットワーク11に接続されているUPnPコントロールポイント1が、IEEE1394ネットワーク12に接続されている機器を制御する処理について、AV/C機器3の電源をオンさせる場合を例として説明する。
【0066】
ステップS1において、UPnPコントロールポイント1は、UPnP-AV/Cプロキシ2を構成するルートデバイス61のプロキシサービス71に、IEEE1394ネットワーク12に変化があった場合、これを通知してくれるように、サブスクライブ(SUBSCRIBE)する。ステップS11において、プロキシサービス71は、このサブスクライブを受け取ると、それに対応する処理を実行する。
【0067】
例えば、今、AV/C機器3がステップS31において、IEEE1394ネットワーク12に接続されたとすると、ステップS32において、AV/C機器3にバスリセットが発生し、同様に、ステップS21において、ルートデバイス61のノードサービス72に、バスリセットが発生する。このとき、ノードサービス72は、ステップS22において、このバスリセットの発生を、プロキシサービス71に通知する。
【0068】
プロキシサービス71は、ステップS12において、ノードサービス72からの通知を検知すると、ステップS11において取り込んだUPnPコントロールポイント1からのサブスクライブに基づいて、ステップS13において、UPnPコントロールポイント1に対して、AV/C機器3がIEEE1394ネットワーク12に接続されたことを通知(NOTIFY)する。
【0069】
ステップS2において、UPnPコントロールポイント1は、プロキシサービス71からの通知を受け取る。これにより、UPnPコントロールポイント1は、IEEE1394ネットワーク12にAV/C機器3が接続されたことを知ることができる。
【0070】
そこで、ステップS3において、UPnPコントロールポイント1は、AV/C機器3の所定の動作を制御する(いまの場合、AV/C機器3の電源をオンする)ためのコマンドを記述した、SOAPに基づくActionのrequest packetをインボーク(Invoke)する。
【0071】
図8は、このときUPnPコントロールポイント1からノードサービス72に転送されるメッセージの例を表している。UPnPコントロールポイント1は、ノードサービス72が有する、後述する図14と図15に示されるAV/C Nodes Service Descriptionを参照して、このメッセージを作成する。
【0072】
Transactionに含まれる数字「5」は、コマンドに対応してレスポンスが返送されてくるので、そのレスポンスがどのコマンドに対応するものであるのかを認識させるためのラベルとしてのトランザクションラベルを表している。
【0073】
Bodyに含まれるnuidは、このメッセージの送信相手のノードユニークID(NUID)を表す。今の例の場合、AV/C機器3のNUID「0800460000000000」を表す。このNUIDは、ステップS2の処理で、プロキシサービス71から取得した通知に記述されていたものである。
【0074】
command「00FFB270」は、UPnPコントロールポイント1がノードサービス72に対して発生を要求するAV/Cコマンドの内容を表している。
【0075】
commandに含まれるMSB側の「00FF」(16進数)は、ノードサービス72が発生する図9に示されるAV/C POWER control command(2進数)におけるCTS「0000」、ctype「0000」、subunit_type「11111」、並びにsubunit_ID「111」に対応している。すなわち、16進数の「00FF」を2進数で表すと、「0000000011111111」になる。
【0076】
次の「B2」はopcodeに対応し、「70」は、operandに対応する。
【0077】
resume「1」は、AV/C機器3が接続されている機器にバスリセットが発生した場合、このコマンドに対応するレスポンスの再送を、AV/Cノードサービス72に要求するものである。ノードサービス72は、この要求を受けた場合、バスリセットを検知したとき、このコマンドに対応するレスポンスを再送する処理を行う。
【0078】
avcCommandSendは、このようなコマンドを、AV/CコマンドとしてIEEE1394ネットワーク12に出力することをノードサービス72に要求するものである。
【0079】
これらのコマンドの内容を表す値は全てテキストで表されているため、どの種類のAV/Cコマンドも記述することが可能となる。
【0080】
図7に戻って、ノードサービス72は、ステップS23において、図8に示されるActionのインボークを受け取ると、ステップS24において、それに対応して、図9に示されるようなAV/Cコマンド(AV/C POWER control command)を生成し、IEEE1394ネットワーク12を介してAV/C機器3に送信する。
【0081】
AV/Cノードサービス72は、NUIDとノードIDの対応表を生成、保持しており、バスリセット発生の度にそれを更新する。NUIDは、この対応表に基づいてノードIDに変換され、IEEE1394ネットワーク12に転送される。
【0082】
AV/C機器3は、ステップS33において、ノードデバイス72より送信されてきたAV/C POWER control commandを受信すると、そのコマンドの内容に対応して、装置の電源をオンする。その後、ステップS34において、AV/C機器3は、それに対応する図10に示されるようなAV/Cレスポンス(AV/C POWER response)を生成し、ノードサービス72に送信する。
【0083】
図10に示されるように、CTSは、図9のAV/C POWER control commandと同様に「0000」とされる。responseは、図5に示されるように、ACCEPTEDを表す値「9」(1001)とされる。
【0084】
subunit_typeとsubunit_IDは、図9のAV/C POWER control commandと同一の値とされる。すなわち、この場合、この値は、送信元を表すことになる。
【0085】
opcodeとoperandも、図9のAV/C POWER control commandと同一の値とされる。
【0086】
ノードサービス72は、ステップS25において、AV/C機器3から送信されてきたAV/C POWER responseを受信すると、ステップS26において、図11に示されるようなSOAPプロトコルに基づくActionとしてResponseを生成し、UPnPコントロールポイント1に送信する。
【0087】
図11に示されるTransactionに示される値「5」は、図8のAction(Command)と対をなすAction(Responce)であることを表すために、図8におけるTransactionの値「5」に対応して「5」(同一の値)とされている。
【0088】
AV/C機器3は、このコマンドを受信すると、それに対応して、装置の電源をオンし、ステップS34で、図10に示されるようなAV/C POWER responseを生成し、ノードサービス72に送信する。
【0089】
ノードサービス72は、Transactionの対応関係を保持するためのテーブル(対応表)を生成し、保持している。すなわち、ステップS23において、図8に示されるAV/C POWER control commandを受信し、ステップS24において、図9に示されるようなAV/C POWER control commandを出力するとき、両者が対応するものであることをテーブルに記憶する。従って、このテーブルを参照することで、ノードサービス72は、AV/C機器3から図10に示されるAV/C POWER responseが送信されてきたとき、それが、図8に示されるAV/C POWER control commandに対応するレスポンスであることを認識することができる。
【0090】
そして、ノードサービス72は、ステップS25でAV/C POWER responseを受信すると、ステップS26で、図11に示されるようなSOAPに基づくactionのresponseを生成し、UPnPコントロール1に送信する。
【0091】
そのresponse「09FFB270」は、図10のAV/C POWER responseに記述されている2進数の値「00001001111111111010001001110000」に対応している。
【0092】
UPnPコントロールポイント1は、ステップS4において、このレスポンスを受信する。これにより、UPnPコントロールポイント1は、AV/C機器3が装置の電源をオンしたことを知ることができる。
【0093】
AV/Cの規定によれば、AV/C機器は、受信したリクエストに対応する処理を直ちに実行できないとき、INTERIMをレスポンスとして返すことが規定されている。そのAV/C機器は、その後、そのリクエストに対応する処理が完了したとき、その時点において、ファイナルレスポンスをリクエストの送信者に返すことになる。
【0094】
しかしながら、リクエストを受信してから、ファイナルレスポンスが返されるまでの時間は規定されていない。そこで、ノードサービス72は、ステップS24の処理でAV/C機器3に対してAV/Cコマンドを出力した後、ステップS25の処理で、AV/C機器3からAV/Cレスポンスを受けるまでの時間を管理する。予め設定されている所定の時間(例えば、30秒間)以内にレスポンスが受信された場合、そのレスポンスがINTERIMでなければ(ファイナルレスポンスである場合)、AV/Cノードサービス72は、受信したレスポンスに対応するレスポンスをUPnPコントロールポイント1に直ちに転送する。
【0095】
これに対して、受信したレスポンスが、INTERIMである場合、AV/Cノードサービス72は、AV/Cコマンドを送信してから30秒間が経過するまで待機する。そして、30秒間が経過する前に、INTERIM以外のレスポンス(ファイナルレスポンス)が受信されたとき、そのファイナルレスポンスに対応するレスポンスを出力する。30秒以内にファイナルレスポンスが受信されない場合、AV/Cノードサービス72は、INTERIMをレスポンスとして出力する。これにより、UPnPコントロールポイント1は、少なくとも30秒間以内に要求した処理が完了できるか否かを知ることができる。
【0096】
以上の処理を実行するために、図3に示されるUPnP-AV/Cプロキシ2が有するデバイスモデルのルートデバイス61は、図12に示されるAV/C Proxy Device Descriptionを有し、プロキシサービス71は、図13に示されるAV/C Proxy Service Descriptionを有し、ノードサービス72は、図14と図15に示されるAV/C Nodes Service Descriptionを有する。
【0097】
これらのDescriptionは、その機器が有する機能を実行するとき必要とするパラメータ、その他の条件を記述したものであり、他の機器は、その機器に、その機能の実行を要求するとき、そのDescriptionを参照することで、そこに記述されている条件を付加して、その機器にコマンドを送ることになる。
【0098】
図12におけるdeviceType「urn:sony-corp:device:1394ProxyDevice:1」は、ルートデバイス61の型を表している。FriendlyName「proxy for IEEE1394」は、ルートデバイス61のフレンドリーネームを表している。
【0099】
UDN「nuid:upnp-1394proxy-root-0800460000000000」は、ルートデバイス61の固有の番号を表している。
【0100】
この例においては、プロキシサービス71とノードサービス72の2つのserviceが規定されている。
【0101】
一方のserviceにおいて、ServiceType「urn:sony-corp:service:1394ProxyService:1」は、プロキシサービス71のサービスの型が、Proxy Serviceであることを表し、serviceID「urn:sony-corp:ServiceId:1394ProxyService1」は、プロキシサービス71の固有名を表している。
【0102】
SCPDURL「./scpd/proxyScpd.xml」は、プロキシサービス71が有するAV/C Proxy Service DescriptionのURL(具体的には、図13に示されるAV/C Proxy Service DescriptionのURL)を表している。
【0103】
また、他方のServiceType「urn:sony-corp:service:1394NodeService:1」は、ノードサービス72のサービスの型が、NodeServiceであることを表す。このserviceのSCPDURL「./scpd/nodeScpd.xml」は、ノードサービス72が有するAV/C Nodes Service Description(具体的には、図14と図15に示されるAV/C Nodes
Service Description)のURLを表している。
【0104】
図13のAV/C Proxy Service Descriptionにおけるactionは、プロキシサービス71が実行する各種のアクションを表す。name「getNodeNum」は、アクションの名称を表す。このactionは、IEEE1394ネットワーク12上のノードの数を取得するアクションである。
【0105】
この「getNodeNum」のactionは、「nodeNum」の名称のdirectionが「out」の引数(その引数に、他の機器が値を入れて、プロクシサービス71に出力してくる引数)を有している。
【0106】
そして、この「nodeNum」の引数に格納される変数は、serviceStateTableに関連付けが規定されている。すなわち、この変数は、stateVariable sendEventsがyesである場合(状態変数に変化があった場合)に送られる変数であり、その型は、「ui1」とされる。
【0107】
図14と図15のAV/C Nodes Service Descriptionには、AV/Cコマンドを送るアクションである「avcCommandSend」が規定されている。このコマンドは、「nuid」、「avcCommand」、「resume」、「inlineNuidPosition」、「inlineNuid」、および「avcResponse」の引数を有している。最後の「avcResponse」は、directionが「out」なので、他の機器から出力され、ノードサービス72に送られてくる。これに対して、「avcResponse」を除く5個の引数は、そのdirectionが「in」とされているので、そこに値がセットされ、ノードサービス72から発行され、他の機器に入力される。
【0108】
これらの6個の引数には、全て関連付けがserviceStatTableに記述されている。
【0109】
これらの引数は、stateVariable sendEventesがnoである場合(変数に変化がない場合)に発生され、「nuid」、「avcCommand」、「inlineNuid」、および「avcResponce」は、いずれもその変数の形が「bin.hex」とされる。「resume」は、変数の形が「boolean」とされ、「inlineNuidPosition」は、変数の形が「ui1」とされる。
【0110】
図14における「inilineNuid」(挿入されたNUID)と、「inlineNuidPosition」(NUIDの挿入位置)は、宛先機器のNUID以外のNUIDを指定する場合に利用される(そのコマンドが他のAV/C機器のNUIDを必要とする場合に用いられる)。
【0111】
UPnPコントロールポイント1は、このDescriptionに従って、リクエストを送ってくる。そこで、リクエストを受信したAV/C機器は、そのDescriptionの規定に基づいて、リクエストを解釈化することで、NUIDを検出することができる。
【0112】
図16は、root device61が有するAV/C Proxy Device Descriptionの他の例を表している。この例においても、プロキシサービス71のServiceType「urn:sony-corp:service:1394Proxy Service:1」と、ノードサービス72のServiceType「urn:sony-corp:1394Node Service:1」が記述されている。
【0113】
図16において、図示は省略されているが、serviceId「urn:sony-corp:serviceId:1394ProxyService1」のSCPDURLには、図17のAV/C Proxy Service DescriptionのURLが記述される。また、serviceId「urn:sony-corp:serviceId:1394NodeService1」のSCPDURLには、図18のAV/C NodesServiceDescripitonのURLが記述される。
【0114】
図17は、プロキシサービス71が有するAV/C Proxy Service Descriptionの他の例を表している。
【0115】
図17の例においては、ノードの数を取得する「getNodeNum」の名称のアクションが記述されている。
【0116】
同様に、図18は、ノードサービス72が有するAV/C Nodes Service Descriptionの他の例を表している。
【0117】
図18の例においては、AV/Cコマンドを送る「avcCommandSend」のアクションが3つの引数「nuid」、「command」、「response」を有するように規定されている。
【0118】
以上においては、図3に示されるように、1個のルートデバイス61に、プロキシサービス71とノードサービス72を保持させるようにしたが、例えば、図19に示されるように、プロキシサービス71をルートデバイス61−1に保持させるとともに、IEEE1394ネットワーク12上の個々のノードに対するサービスを各ルートデバイス毎に定義するようにすることもできる。図19の例においては、ルートデバイス(root device)61−2に、ノードサービス72−1が保持され、root device61−3に、ノードサービス72−2が保持される。
【0119】
図20と図21は、図19のroot device61−1乃至61−3が有するAV/C Proxy Device Descriptionの例を表し、図22は、図19のプロキシサービス71が保持するAV/C Proxy Service Descriptionの例を表し、図23は、図19のノードサービス72−1,72−2が有するAV/C Node Service Descriptionの例を表す。
【0120】
図20と図21の例においては、deviceType「urn:schemas-upnp-org:device:1394ProxyDevice:1」が、root device61−1に対応して記述され、deviceType「urn:sony-corp:device:1394NodeDevice:1」が、root device61−2に対応して記述され、deviceType「urn:sony-corp:device:1394NodeDevice:1」が、root device61−3に対応して記述されている。
【0121】
図示は省略されているが、deviceType「urn:schemas-upnp-org:device:1394ProxyDevice:1」のSCPDURLには、図22のAV/C Proxy Service DescriptionのURLが記述され、deviceType「urn:sony-corp:device:1394ProxyDevice:1」とdeviceType「urn:sony-corp:device:1394NodeDevice:1」のSCPDURLには、それぞれ図23のAV/C Nodes Service DescriptionのURLが記述される。
【0122】
図22においては、serviceStateTableに「nodeNum」の変数の定義がなされている。この変数の定義は、Queryにより調べることができる。
【0123】
図23においては、AV/Cコマンドを送るアクションである「avcCommandSend」が記述されている。
【0124】
図24は、デバイスモデルのさらに他の構成例を表す。この例においては、図19の例と同様に、ノードサービス72−1,72−2が、ノード毎に設けられているが、図19の例と異なり、これらのサービスは、全て、プロキシサービス71とともに、1個のroot device61に保持されている。
【0125】
図25は、図24の例におけるroot device61が有するAV/C Proxy Device Descriptionの構成を表し、図26は、図24のプロキシサービス71が保持するAV/C Proxy service Descriptionの構成例を表し、図27は、図24のノードサービス72−1,72−2が有するAV/C Node Service Descriptionの構成例を表す。
【0126】
図25の例においては、3つのサービスが規定されているserviceId「urn:sony-corp:serviceId:1394ProxyService1」のSCPDURLには、図26のAV/C Proxy Service DescriptionのURLが記述され、serviceId「urn:sony-corp:serviceId:1394NodeService1」と「urn:sony-corp:serviceId:1394NodeService2」のSPCDURLには、図27のAV/C Node Service DescriptionのURLが記述される。
【0127】
図26の例においては、「nodeNum」の変数が規定されている。
【0128】
図27の例においては、AV/Cコマンドを送るアクションが規定されている。
【0129】
図28は、デバイスモデルのさらに他の構成例を表している。この構成例においては、root device61にプロキシサービス71が保持されている。また、ノードサービス72−1,72−2は、それぞれノード毎に設けられる他、root device61の内部に形成されたエンベデッドデバイス(embedded device)81−1,81−2に、それぞれ保持される。
【0130】
図29と図30は、図28におけるroot device61が保持するAV/C Proxy Device Descriptionの構成例を表し、図31は、図28のプロキシサービス71が保持するAV/C Proxy Service Descriptionの構成例を表し、図32は、図28のノードサービス72−1,72−2が有するAV/C Node Service Descriptionの構成例を表す。
【0131】
図29と図30の例において、serviceId「urn:sony-corp:serviceId:1394ProxyService1」は、図28のプロキシサービス71に対応し、そのSCPDURLには、図31のAV/C Proxy Service DescriptionのURLが記述される。
【0132】
serviceId「urn:sony-corp:serviceId:1394NodeService1」は、図28のAV/C node service72−1に対応し、「urn:sony-corp:serviceId:1394NodeService2」は、AV/C node service72−2に対応し、それぞれのSCPDURLには、図32のAV/C node Service DescriptionのURLが記述される。
【0133】
図31の例においては、「NODE Num」の変数が定義されている。
【0134】
図32の例においては、AV/Cコマンドを送るアクション「avcCommandSend」が規定されている。
【0135】
次に、図3、図19、図24および図28に示すデバイスモデルを比較する。
【0136】
図3の例においては、1つのroot device61に、プロキシサービス71とノードデバイス72が、それぞれ1つずつ定義される。
【0137】
図19の例においては、プロキシサービス71が1つのroot device61−1に定義されるとともに、1394上の個々のノードに対するノードサービス72−1,72−2が、root device61−2,61−3毎に定義される。
【0138】
図24の例においては、プロキシサービス71が、1つのroot device61に設けられる他、ノードサービスが各ノード毎に対応して設けられ、それらのノードサービス72−1,72−2は、プロキシサービス71と同様に、1つのroot device61に保持される。
【0139】
図28の例においては、1394上のノードが全てroot device61のembedded device81−1,81−2として定義される。
【0140】
図33は、図3、図19、図24、および図28のデバイスモデルの特徴の比較結果を表している。なお、図33において、タイプA、タイプB、タイプC、およびタイプDは、それぞれ図3、図19、図24、または図28のデバイスモデルに対応している。
【0141】
タイプAからタイプDまでを比較すると、SSDPのパケット量が大きく異なっていることがわかる。すなわち、root deviceが1個のとき、SSDPの数は、3+2d+kとなる。ここで、dはembedded deviceの数、kはサービスタイプの数を意味する。従って、1394ネットワーク12上のノードの数をNとするとき、SSDPのパケットの量は、タイプAのとき5個、タイプBのとき4+4N個、タイプCのとき4+N個、タイプDのとき4+3N個となる。特に、タイプB(図19)とタイプD(図28)の場合には、ノード数の数倍になる数のパケットが流れることになる。そこで、ネットワークのトラフィックの観点から考えた場合、SSDPのパケットの量が少ないタイプA(図3)の例が望ましい。
【0142】
バスの構成の変更の通知は、タイプAの場合、GENAにより行われ、タイプB,C,Dの場合、SSDPにより行われる。
【0143】
presentation URLの構成の単位は、タイプAとタイプCがバス単位とされ、タイプBとタイプDがノード単位とされる。ノード毎にURLを持つことが可能なタイプB(図19)とタイプD(図28)が分かりやすいが、タイプA(図3)とタイプC(図24)に関しても、プロキシサービス71が、各ノードに対するリンクページのようなものを用意すれば、実質的に対応する機能は実現できると考えられる。
【0144】
NOTIFYの通知の単位は、タイプAの場合、バス単位とされ、タイプB,C,Dの場合、ノード単位とされる。
【0145】
以上を総合すると、タイプA(図3)の例が最適と考えられる。
【0146】
以上においては、IEEE802ネットワーク11に接続されている機器から、IEEE1394ネットワーク12に接続されている機器を制御するようにしたが、後者から前者を制御することも可能である。
【0147】
上述した一連の処理は、ハードウエアにより実行させることもできるが、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【0148】
この記録媒体は、図2に示すように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク41(フロッピディスクを含む)、光ディスク42(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク43(MD(Mini-Disk)を含む)、もしくは半導体メモリ44などよりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM22や、記憶部28に含まれるハードディスクなどで構成される。
【0149】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0150】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【0151】
【発明の効果】
以上の如く本発明の情報処理装置および方法、記録媒体、並びにプログラムによれば、IEEE802に基づく第1のネットワークからのSOAPに基づくコマンドを、第2のネットワークのAV/Cコマンドに変換するようにしたので、簡単かつ確実に、第1のネットワークに接続されている機器から、第2のネットワークに接続されている機器を制御することが可能となる。
【図面の簡単な説明】
【図1】本発明が適用されるネットワークシステムの構成を示す図である。
【図2】図1のUPnPデバイス2の構成を示すブロック図である。
【図3】図1のUPnPデバイス2が有するデバイスモデルの構成を示す図である。
【図4】 AV/Cコマンドフレームの構成を示す図である。
【図5】 ctypeを説明する図である。
【図6】 subunit_typeを説明する図である。
【図7】図1のネットワークシステムの処理を説明するフローチャートである。
【図8】図7のステップS3において出力されるコマンドの構成を示す図である。
【図9】図7のステップS24の処理で出力されるコマンドの構成を示す図である。
【図10】図7のステップS34の処理で出力されるレスポンスの構成を示す図である。
【図11】図7のステップ26の処理で出力されるレスポンスの例を示す図である。
【図12】図3のroot deviceが有するAV/C Proxy Device Descriptionの構成を示す図である。
【図13】図3の1394 proxy serviceが有するAV/C Proxy Service Descriptionの構成を示す図である。
【図14】図3の1394 nodes serviceが有するAV/C Nodes Service Descriptionの構成を示す図である。
【図15】図3の1394 nodes serviceが有するAV/C Nodes Service Descriptionの構成を示す図である。
【図16】図3のroot deviceが有するAV/C Proxy Device Descriptionの他の構成を示す図である。
【図17】図3の1394 proxy serviceが有するAV/C Proxy Service Descriptionの他の構成を示す図である。
【図18】図3の1394 nodes serviceが有するAV/C Nodes Service Descriptionの他の構成を示す図である。
【図19】デバイスモデルの他の構成を示す図である。
【図20】図19のroot deviceが有するAV/C Proxy Device Descriptionの構成を示す図である。
【図21】図19のroot deviceが有するAV/C Proxy Device Descriptionの構成を示す図である。
【図22】図19の1394 proxy serviceが有するAV/C Proxy Service Descriptionの構成を示す図である。
【図23】図19のAV/C node serviceが有するAV/C Node Service Descriptionの構成を示す図である。
【図24】デバイスモデルのさらに他の構成を示す図である。
【図25】図24のroot deviceが有するAV/C Proxy Device Descriptionの構成を示す図である。
【図26】図24のAV/C proxy serviceが有するAV/C Proxy Service Descriptionの構成を示す図である。
【図27】図24のAV/C node serviceが有するAV/C Node Service Descriptionの構成を示す図である。
【図28】デバイスモデルの他の構成を示す図である。
【図29】図28のroot deviceが有するAV/C Proxy Device Descriptionの構成を示す図である。
【図30】図28のroot deviceが有するAV/C Proxy Device Descriptionの構成を示す図である。
【図31】図28のAV/C proxy serviceが有するAV/C Proxy Service Descriptionの構成を示す図である。
【図32】図28のAV/C node serviceが有するAV/C Node Service Descriptionの構成を示す図である。
【図33】デバイスモデルの比較を示す図である。
【符号の説明】
1 UPnPコントロールポイント, 2 UPnPデバイス, 3,4 AV/C機器,11 IEEE802ネットワーク, 12 IEEE1394ネットワーク, 61
root device, 71 AV/C proxy service, 72 AV/C nodes service
【発明の属する技術分野】
本発明は、情報処理装置および方法、記録媒体、並びプログラムに関し、特に、IEEE802に基づく第1のネットワークに接続されている機器が、IEEE1394に基づく第2のネットワークに接続されている機器を制御することができるようにした、情報処理装置および方法、記録媒体、並びプログラムに関する。
【0002】
【従来の技術】
最近、IEEE(Institute of Electrical and Electronics Engineers)1394高速シリアルバスを用いたネットワーク(以下、単にIEEE1394ネットワークと称する)が普及してきた。オーディオ機器やビデオ機器を、このIEEE1394ネットワークに接続することで、各機器は、AV/Cコマンドを用いて、他の機器を制御することができる。
【0003】
一方、IEEE802ネットワークも普及している。このIEEE802は、主にパーソナルコンピュータを相互に接続するためのネットワークであり、UPnP(Universal Plag and Play)のプロトコルに基づいて、各パーソナルコンピュータは、他のパーソナルコンピュータを制御することができる。
【0004】
【発明が解決しようとする課題】
しかしながら、このIEEE1394ネットワークとIEEE802ネットワークとは、それぞれ独立したものであり、IEEE802ネットワークに接続されている機器(以下、UPnP機器と称する)は、IEEE1394ネットワークに接続されている機器(以下、AV/C機器と称する)を制御することができない課題があった。
【0005】
本発明はこのような状況に鑑みてなされたものであり、UPnP機器が、AV/C機器を制御できるようにするものである。
【0006】
【課題を解決するための手段】
本発明の情報処理装置は、第1のネットワークから第1のフォーマットのデータを取り込む取り込み手段と、取り込み手段により取り込まれた第1のフォーマットのSOAPに基づくコマンドを、第2のネットワークのAV/Cコマンドに変換して第2のフォーマットに格納するとともに、 SOAP に基づくコマンドに記述されている第2のネットワークに接続されている機器を指定するノードユニーク ID とノード ID の対応表を有し、 SOAP に基づくコマンドに記述されている第2のネットワークに接続されている機器を指定するノードユニーク ID を、対応表に基づいてノード ID に変換する変換手段と、変換手段により変換された第2のフォーマットを、第2のネットワークに送信する送信手段とを備えることを特徴とする
【0008】
前記変換手段は、SOAPに基づくコマンドと、それに基づいて第2のネットワークに送信されるコマンドとの対応表を有し、第2のネットワークを介して受信したレスポンスに対応するSOAPに基づくコマンドを、対応表に基づいて検索し、SOAPに基づくコマンドに対応するレスポンスを第1のネットワークに送信することができる。
【0009】
前記変換手段は、SOAPに基づくコマンドに含まれるトランザクションラベルに基づいて、SOAPに基づくコマンドとレスポンスを対応させることができる。
【0010】
前記変換手段は、第1のネットワークに接続されている機器からのリクエストに対応するファイナルレスポンスが、予め定められている時間内に、第2のネットワークに接続されている機器から受信されないとき、第1のネットワークに接続されている機器に対して処理中であることを表すレスポンスを送信することができる。
【0011】
前記SOAPに基づくコマンドが、第2のネットワークのバスリセット時に再送を要求するコマンドである場合、第2のネットワークのバスリセットを検知し、第2のネットワークにバスリセットが発生したとき、コマンドを送信する検知手段をさらに備えるようにすることができる。
【0012】
前記変換手段は、さらに第2のネットワークのAV/Cコマンドを、第1のフォーマットのSOAPに基づくコマンドに変換して第1のフォーマットに格納し、送信手段は、さらに変換手段により変換された第1のフォーマットのSOAPに基づくコマンドを、第1のネットワークに送信することができる。
【0013】
本発明の情報処理方法は、第1のネットワークからの第1のフォーマットのデータを取り込む取り込みステップと、取り込みステップの処理により取り込まれた第1のフォーマットのSOAPに基づくコマンドを、第2のネットワークのAV/Cコマンドに変換して第2のフォーマットに格納するとともに、 SOAP に基づくコマンドに記述されている第2のネットワークに接続されている機器を指定するノードユニーク ID とノード ID の対応表を有し、 SOAP に基づくコマンドに記述されている第2のネットワークに接続されている機器を指定するノードユニーク ID を、対応表に基づいてノード ID に変換する変換ステップと、変換ステップの処理により変換された第2のフォーマットを、第2のネットワークに送信する送信ステップとを含むことを特徴とする。
【0014】
本発明の記録媒体のプログラムは、第1のネットワークからの第1のフォーマットのデータを取り込む取り込みステップと、取り込みステップの処理により取り込まれた第1のフォーマットのSOAPに基づくコマンドを、第2のネットワークのAV/Cコマンドに変換して第2のフォーマットに格納するとともに、 SOAP に基づくコマンドに記述されている第2のネットワークに接続されている機器を指定するノードユニーク ID とノード ID の対応表を有し、 SOAP に基づくコマンドに記述されている第2のネットワークに接続されている機器を指定するノードユニーク ID を、対応表に基づいてノード ID に変換する変換ステップと、変換ステップの処理により変換された第2のフォーマットを、第2のネットワークに送信する送信ステップとを含むことを特徴とする。
【0015】
本発明のプログラムは、第1のネットワークからの第1のフォーマットのデータを取り込む取り込みステップと、取り込みステップの処理により取り込まれた第1のフォーマットのSOAPに基づくコマンドを、第2のネットワークのAV/Cコマンドに変換して第2のフォーマットに格納するとともに、 SOAP に基づくコマンドに記述されている第2のネットワークに接続されている機器を指定するノードユニーク ID とノード ID の対応表を有し、 SOAP に基づくコマンドに記述されている第2のネットワークに接続されている機器を指定するノードユニーク ID を、対応表に基づいてノード ID に変換する変換ステップと、変換ステップの処理により変換された第2のフォーマットを、第2のネットワークに送信する送信ステップとを実行させることを特徴とする。
【0016】
本発明の情報処理装置および方法、記録媒体、並びにプログラムにおいては、IEEE802に基づく第1のネットワークからのSOAPに基づくコマンドが、第2のネットワークのAV/Cコマンドに変換される。
【0017】
【発明の実施の形態】
図1は、本発明を適用したネットワークシステムの構成を表している。この構成においては、IEEE802ネットワーク11に、UPnPコントロールポイント1が接続されている。IEEE1394ネットワーク12には、AV/C機器3,4が接続されている。IEEE802ネットワーク11と、IEEE1394ネットワーク12は、UPnPデバイス(UPnP-AV/Cプロキシ)2にそれぞれ接続されている。
【0018】
図2は、UPnPデバイス2の構成例を表している。図2において、CPU(Central Processing Unit)21は、ROM(Read Only Memory)22に記憶されているプログラム、または記憶部28からRAM(Random Access Memory)23にロードされたプログラムに従って各種の処理を実行する。RAM23にはまた、CPU21が各種の処理を実行する上において必要なデータなども適宜記憶される。
【0019】
CPU21、ROM22、およびRAM23は、バス24を介して相互に接続されている。このバス24にはまた、入出力インタフェース25も接続されている。
【0020】
入出力インタフェース25には、キーボード、マウスなどよりなる入力部26、CRT、LCDなどよりなるディスプレイ、並びにスピーカなどよりなる出力部27、ハードディスクなどより構成される記憶部28、モデム、ターミナルアダプタなどより構成される通信部29が接続されている。通信部29は、IEEE802ネットワーク11またはIEEE1394ネットワーク12を介しての通信処理を行う。
【0021】
入出力インタフェース25にはまた、必要に応じてドライブ30が接続され、磁気ディスク41、光ディスク42、光磁気ディスク43、或いは半導体メモリ44などが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部28にインストールされる。
【0022】
UPnP機器(図1の例の場合、UPnPコントロールポイント1およびUPnPデバイス2)は、主に、アドレシング(Addressing)、ディスカバリ(Discovery)、ディスクリプション(Decription)、コントロール(Control)、イベンティング(Eventing)、プレゼンテーション(Presentation)の6つの機能を有している。
【0023】
アドレシングは、各UPnP機器が、IEEE802ネットワーク11上でアドレスを取得するための機能であり、DHCP(Dynamic Host Configuration Protocol)またはAutoIPが用いられる。
【0024】
ディスカバリは、アドレシングの後に行われ、これによりUPnPコントロールポイント1は、コントロールしたいターゲット機器を発見することができる。ここで用いられるプロトコルは、SSDP(Simple Service Discovery Protocol)である。各機器は、IEEE802ネットワーク11に接続されたとき、自分自身の中に有するデバイスやサービスを通知するメッセージをIEEE802ネットワーク11上にマルチキャストする(特に、相手を指定しないでパケットを送信する)。UPnPコントロールポイント1は、このマルチキャストされたメッセージを受信することで、IEEE802ネットワーク11に、どのような機器が接続されたのかを知ることができる。
【0025】
逆に、UPnPコントロールポイント1の方から、現在IEEE802ネットワーク11に接続されている機器を調べることもできる。このとき、UPnPコントロールポイント1は、発見したいデバイスやサービスをキーワードとして、検索コマンドをIEEE802ネットワーク11上にマルチキャストする。IEEE802ネットワーク11に接続されている各機器は、マルチキャストされた検索コマンドに規定されている条件に自分自身が適合する場合、その検索コマンドに対してレスポンスをユニキャストする(相手側を指定して、パケットを送信する)。これにより、UPnPコントロールポイント1は、IEEE802ネットワーク11に接続されている機器を検知することができる。
【0026】
また、各機器は、IEEE802ネットワーク11から外れるときも、事前にその旨をブロードキャストする。
【0027】
ディスカバリによりUPnPコントロールポイント1が発見したコントロール対象の機器が出力したSSDPパケットには、デバイスディスクリプション(Device Description)のURL(Uniform Resource Locator)が記述されている。UPnPコントロールポイント1は、そのURLにアクセスすることにより、その機器のさらに詳しいデバイス情報をデバイスディスクリプションから得ることができる。このデバイス情報には、アイコン情報、モデル名、生産者名、商品名などが含まれている。
【0028】
また、このデバイス情報には、そのデバイスが有するサービス情報が記述されており、そのサービスの詳しい情報が記述されているサービスディスクリプション(Service Description)も、サービス情報に記述されているURLから辿ることができる。
【0029】
UPnPコントロールポイント1は、これらのデバイス情報(Device Description)やサービス情報(Service Description)から、ターゲットに対するアクセスの方法を知ることができる。
【0030】
また、デバイスディスクリプションには、後述するPresentation URLも記述されている。
【0031】
Device DescriptionおよびService Descriptionは、XML(Extensible Markup Language)で表現されている。
【0032】
Controlは、アクション(Action)とクエリー(Query)の2つに大きく分類される。Actionは、Service Descriptionのアクション情報に規定された方法で行われ、ActionをInvokeすることにより、UPnPコントロールポイント1は、ターゲットを操作することができる。
【0033】
一方、Queryは、Service DescriptionのstateVariableの値を取り出すために用いられる。stateVariableの値は、機器の状態を表している。
【0034】
Controlでは、SOAP(Simple Object Access Protocol)というトランスポートプロトコルが利用される。その表現言語としては、XMLが用いられる。
【0035】
イベンティング(Eventing)は、stateVariableの値が変更されたとき、そのことをターゲットから、UPnPコントロールポイント1に通知させるために用いられる。UPnPコントロールポイント1は、Service Description を解析することにより、stateVariableからターゲットの保持する変数を知ることができる。UPnPコントロールポイント1はターゲットに対して、Subscriptionを出力しておくことにより、その変数のうち、sendEventsがyesになっている変数に関して、変数の変更があったとき、ターゲットから通知を受け取ることができる。Eventingでは、GENA(General Event Notification Architecture)というトランスポートプロトコルが利用される。その表現言語としては、XMLが用いられる。
【0036】
プレゼンテーション(Presentation)は、ユーザにユーザインタフェース(UI)を用いたコントロール手段を提供するために用いられる。Device Descriptionに記述されたPresentation URLにアクセスすることで、HTML(Hyper Text Markup Language)によって記述されたPresentation Pageを得ることができる。その機能により、ターゲットでアプリケーションを用意することができる。
【0037】
UPnPデバイス(UPnP-AV/Cプロキシ)2は、IEEE802ネットワーク11とIEEE1394ネットワーク12との間のブリッジとして機能し、内部に、図3に示されるデバイスモデルを有する。この例のデバイスモデルは、1個のルートデバイス(root device)61で構成され、このルートデバイス61は、AV/Cプロキシサービス(AV/C proxy service)71とAV/Cノードサービス(AV/C nodes service)72とを有している。
【0038】
AV/Cプロキシサービス(以下、単に、プロキシサービスと称する)71は、IEEE1394ネットワーク12のバスリセット発生、バスID、ノードの数、バスマネージャ、アイソクロナスリソースマネージャのノードユニークID(NUID)、ギャップカウント(Gap Count)、セルフIDパケット(Self IDパケット)などを管理する。
【0039】
AV/Cノードサービス(以下、単にノードサービスと称する)72は、SOAPに基づくコマンドと、AV/Cに基づくコマンドの変換処理を行う。
【0040】
図4は、このAV/Cコマンドフレームのフォーマットを表している。
【0041】
CTSフィールドには、コマンドセットの種類が記述される。その値の「0000」は、そのコマンドセットがAV/Cコマンドセットであることを表す。
【0042】
ctypeフィールドには、そのパケットがコマンドであるのか、レスポンスであるのか、コマンドである場合にはコマンドの機能分類、レスポンスである場合にはコマンドの処理結果の分類が記述される。
【0043】
図5は、このようなコマンドとレスポンスの例を表している。同図に示されるように、コマンドとしては、大きく分けて4種類のコマンドが用意されている。
【0044】
CONTROL(ctype=0000)は、機能を外部から制御するコマンドである。
【0045】
STATUS(ctype=0001)は、外部から状態を問い合わせるコマンドである。
【0046】
さらに、制御コマンドのサポートの有無を外部から問い合わせるコマンドとして、GENERAL INQUIRY(ctype=0100)とSPECIFIC INQUIRY(ctype=0010)がある。前者は、opcodeサポートの有無を問い合わせるコマンドであり、後者は、opcodeとoperandsのサポートの有無を問い合わせるコマンドである。
【0047】
NOTIFY(ctype=0011)は、状態の変化を外部に知らせるように要求するコマンドである。
【0048】
レスポンスは、コマンドの種別に応じて返される。
【0049】
CONTROLコマンドに対するレスポンスとしては、以下のようなものがある。
【0050】
NOT IMPLEMENTED(ctype=1000)は、コマンドが実装されていないことを通知する。ACCEPTED(ctype=1001)は、コマンドが実行されたことを通知する。REJECTED(ctype=1010)は、コマンドが実行できなかったことを通知する。
【0051】
INTERIM(ctype=1111)は、コマンドが処理中であることを通知する。
【0052】
STATUSコマンドに対するレスポンスとしては、NOT IMPLEMENTEDとREJECTEDの他、IN TRANSITIONとSTABLEがある。
【0053】
IN TRANSITION(ctype=1011)は、ステータスが遷移中であることを通知する。STABLEはステータスが遷移中でなく、安定していることを通知する。
【0054】
GENERAL INQUIRYおよびSPECIFIC INQUIRYコマンドに対するレスポンスとしては、IMPLEMENTEDとNOT IMPLEMENTEDがある。IMPLEMENTED(ctype=1100)は、コマンドが実装されていることを通知する。
【0055】
NOTIFYコマンドに対するレスポンスとしては、NOT IMPLEMENTED,REJECTED,INTERIM,CHANGEDがある。
【0056】
INTERIMは、NOTIFYが受け付けられたことをまず通知する。CHANGED(ctype=1101)は、その後、ターゲットの状態が変化したことを通知する。
【0057】
図4のAV/Cコマンドフレームにおけるsubunit_typeは、コマンドの宛先を表す。その具体的な例が、図6に示されている。
【0058】
すなわち、subunit_typeの値の「00000」は、このAV/Cコマンドの宛先(サブユニット)が、Video Monitorであることを表す。また、その値の「00101」は、その宛先がTunerであることを表す。
【0059】
subunit_typeの値の「11111」は、そのコマンドはユニット宛であることを表す。これにより、例えば、装置の電源のオンオフなどが制御される。
【0060】
図4のsubunit_typeの次には、subunit_IDが配置される。このsubunit_IDは、ユニット内に、同じ種類のサブユニットが複数個存在する場合の判別を行うために、判別番号として用いられる。従って、結局、subunit_typeとsubunit_IDの2つにより、コマンドの宛先が特定されることになる。
【0061】
opcodeは命令動作を表し、operandは命令の付加的条件を表す。
【0062】
図6には、scbunit_typeがTunerである場合におけるopcodeの例が表されている。Tunerのopcodeの場合、その値のC8hは、DIRECT SELECT INFORMATION TYPEを表し、その値のCBhは、DIRECT SERECT DATAを表す。
【0063】
このように、各subunit毎に、opcodeのテーブルが用意される。また、各opcode毎に、operandが定義される。
【0064】
例えば、チューナの選局が行われる場合、opcodeは、DIRECT SELECT INFORMATION TYPEとされ、operandで周波数やチャンネル番号などのパラメータが指定される。
【0065】
次に、図7のフローチャートを参照して、IEEE802ネットワーク11に接続されているUPnPコントロールポイント1が、IEEE1394ネットワーク12に接続されている機器を制御する処理について、AV/C機器3の電源をオンさせる場合を例として説明する。
【0066】
ステップS1において、UPnPコントロールポイント1は、UPnP-AV/Cプロキシ2を構成するルートデバイス61のプロキシサービス71に、IEEE1394ネットワーク12に変化があった場合、これを通知してくれるように、サブスクライブ(SUBSCRIBE)する。ステップS11において、プロキシサービス71は、このサブスクライブを受け取ると、それに対応する処理を実行する。
【0067】
例えば、今、AV/C機器3がステップS31において、IEEE1394ネットワーク12に接続されたとすると、ステップS32において、AV/C機器3にバスリセットが発生し、同様に、ステップS21において、ルートデバイス61のノードサービス72に、バスリセットが発生する。このとき、ノードサービス72は、ステップS22において、このバスリセットの発生を、プロキシサービス71に通知する。
【0068】
プロキシサービス71は、ステップS12において、ノードサービス72からの通知を検知すると、ステップS11において取り込んだUPnPコントロールポイント1からのサブスクライブに基づいて、ステップS13において、UPnPコントロールポイント1に対して、AV/C機器3がIEEE1394ネットワーク12に接続されたことを通知(NOTIFY)する。
【0069】
ステップS2において、UPnPコントロールポイント1は、プロキシサービス71からの通知を受け取る。これにより、UPnPコントロールポイント1は、IEEE1394ネットワーク12にAV/C機器3が接続されたことを知ることができる。
【0070】
そこで、ステップS3において、UPnPコントロールポイント1は、AV/C機器3の所定の動作を制御する(いまの場合、AV/C機器3の電源をオンする)ためのコマンドを記述した、SOAPに基づくActionのrequest packetをインボーク(Invoke)する。
【0071】
図8は、このときUPnPコントロールポイント1からノードサービス72に転送されるメッセージの例を表している。UPnPコントロールポイント1は、ノードサービス72が有する、後述する図14と図15に示されるAV/C Nodes Service Descriptionを参照して、このメッセージを作成する。
【0072】
Transactionに含まれる数字「5」は、コマンドに対応してレスポンスが返送されてくるので、そのレスポンスがどのコマンドに対応するものであるのかを認識させるためのラベルとしてのトランザクションラベルを表している。
【0073】
Bodyに含まれるnuidは、このメッセージの送信相手のノードユニークID(NUID)を表す。今の例の場合、AV/C機器3のNUID「0800460000000000」を表す。このNUIDは、ステップS2の処理で、プロキシサービス71から取得した通知に記述されていたものである。
【0074】
command「00FFB270」は、UPnPコントロールポイント1がノードサービス72に対して発生を要求するAV/Cコマンドの内容を表している。
【0075】
commandに含まれるMSB側の「00FF」(16進数)は、ノードサービス72が発生する図9に示されるAV/C POWER control command(2進数)におけるCTS「0000」、ctype「0000」、subunit_type「11111」、並びにsubunit_ID「111」に対応している。すなわち、16進数の「00FF」を2進数で表すと、「0000000011111111」になる。
【0076】
次の「B2」はopcodeに対応し、「70」は、operandに対応する。
【0077】
resume「1」は、AV/C機器3が接続されている機器にバスリセットが発生した場合、このコマンドに対応するレスポンスの再送を、AV/Cノードサービス72に要求するものである。ノードサービス72は、この要求を受けた場合、バスリセットを検知したとき、このコマンドに対応するレスポンスを再送する処理を行う。
【0078】
avcCommandSendは、このようなコマンドを、AV/CコマンドとしてIEEE1394ネットワーク12に出力することをノードサービス72に要求するものである。
【0079】
これらのコマンドの内容を表す値は全てテキストで表されているため、どの種類のAV/Cコマンドも記述することが可能となる。
【0080】
図7に戻って、ノードサービス72は、ステップS23において、図8に示されるActionのインボークを受け取ると、ステップS24において、それに対応して、図9に示されるようなAV/Cコマンド(AV/C POWER control command)を生成し、IEEE1394ネットワーク12を介してAV/C機器3に送信する。
【0081】
AV/Cノードサービス72は、NUIDとノードIDの対応表を生成、保持しており、バスリセット発生の度にそれを更新する。NUIDは、この対応表に基づいてノードIDに変換され、IEEE1394ネットワーク12に転送される。
【0082】
AV/C機器3は、ステップS33において、ノードデバイス72より送信されてきたAV/C POWER control commandを受信すると、そのコマンドの内容に対応して、装置の電源をオンする。その後、ステップS34において、AV/C機器3は、それに対応する図10に示されるようなAV/Cレスポンス(AV/C POWER response)を生成し、ノードサービス72に送信する。
【0083】
図10に示されるように、CTSは、図9のAV/C POWER control commandと同様に「0000」とされる。responseは、図5に示されるように、ACCEPTEDを表す値「9」(1001)とされる。
【0084】
subunit_typeとsubunit_IDは、図9のAV/C POWER control commandと同一の値とされる。すなわち、この場合、この値は、送信元を表すことになる。
【0085】
opcodeとoperandも、図9のAV/C POWER control commandと同一の値とされる。
【0086】
ノードサービス72は、ステップS25において、AV/C機器3から送信されてきたAV/C POWER responseを受信すると、ステップS26において、図11に示されるようなSOAPプロトコルに基づくActionとしてResponseを生成し、UPnPコントロールポイント1に送信する。
【0087】
図11に示されるTransactionに示される値「5」は、図8のAction(Command)と対をなすAction(Responce)であることを表すために、図8におけるTransactionの値「5」に対応して「5」(同一の値)とされている。
【0088】
AV/C機器3は、このコマンドを受信すると、それに対応して、装置の電源をオンし、ステップS34で、図10に示されるようなAV/C POWER responseを生成し、ノードサービス72に送信する。
【0089】
ノードサービス72は、Transactionの対応関係を保持するためのテーブル(対応表)を生成し、保持している。すなわち、ステップS23において、図8に示されるAV/C POWER control commandを受信し、ステップS24において、図9に示されるようなAV/C POWER control commandを出力するとき、両者が対応するものであることをテーブルに記憶する。従って、このテーブルを参照することで、ノードサービス72は、AV/C機器3から図10に示されるAV/C POWER responseが送信されてきたとき、それが、図8に示されるAV/C POWER control commandに対応するレスポンスであることを認識することができる。
【0090】
そして、ノードサービス72は、ステップS25でAV/C POWER responseを受信すると、ステップS26で、図11に示されるようなSOAPに基づくactionのresponseを生成し、UPnPコントロール1に送信する。
【0091】
そのresponse「09FFB270」は、図10のAV/C POWER responseに記述されている2進数の値「00001001111111111010001001110000」に対応している。
【0092】
UPnPコントロールポイント1は、ステップS4において、このレスポンスを受信する。これにより、UPnPコントロールポイント1は、AV/C機器3が装置の電源をオンしたことを知ることができる。
【0093】
AV/Cの規定によれば、AV/C機器は、受信したリクエストに対応する処理を直ちに実行できないとき、INTERIMをレスポンスとして返すことが規定されている。そのAV/C機器は、その後、そのリクエストに対応する処理が完了したとき、その時点において、ファイナルレスポンスをリクエストの送信者に返すことになる。
【0094】
しかしながら、リクエストを受信してから、ファイナルレスポンスが返されるまでの時間は規定されていない。そこで、ノードサービス72は、ステップS24の処理でAV/C機器3に対してAV/Cコマンドを出力した後、ステップS25の処理で、AV/C機器3からAV/Cレスポンスを受けるまでの時間を管理する。予め設定されている所定の時間(例えば、30秒間)以内にレスポンスが受信された場合、そのレスポンスがINTERIMでなければ(ファイナルレスポンスである場合)、AV/Cノードサービス72は、受信したレスポンスに対応するレスポンスをUPnPコントロールポイント1に直ちに転送する。
【0095】
これに対して、受信したレスポンスが、INTERIMである場合、AV/Cノードサービス72は、AV/Cコマンドを送信してから30秒間が経過するまで待機する。そして、30秒間が経過する前に、INTERIM以外のレスポンス(ファイナルレスポンス)が受信されたとき、そのファイナルレスポンスに対応するレスポンスを出力する。30秒以内にファイナルレスポンスが受信されない場合、AV/Cノードサービス72は、INTERIMをレスポンスとして出力する。これにより、UPnPコントロールポイント1は、少なくとも30秒間以内に要求した処理が完了できるか否かを知ることができる。
【0096】
以上の処理を実行するために、図3に示されるUPnP-AV/Cプロキシ2が有するデバイスモデルのルートデバイス61は、図12に示されるAV/C Proxy Device Descriptionを有し、プロキシサービス71は、図13に示されるAV/C Proxy Service Descriptionを有し、ノードサービス72は、図14と図15に示されるAV/C Nodes Service Descriptionを有する。
【0097】
これらのDescriptionは、その機器が有する機能を実行するとき必要とするパラメータ、その他の条件を記述したものであり、他の機器は、その機器に、その機能の実行を要求するとき、そのDescriptionを参照することで、そこに記述されている条件を付加して、その機器にコマンドを送ることになる。
【0098】
図12におけるdeviceType「urn:sony-corp:device:1394ProxyDevice:1」は、ルートデバイス61の型を表している。FriendlyName「proxy for IEEE1394」は、ルートデバイス61のフレンドリーネームを表している。
【0099】
UDN「nuid:upnp-1394proxy-root-0800460000000000」は、ルートデバイス61の固有の番号を表している。
【0100】
この例においては、プロキシサービス71とノードサービス72の2つのserviceが規定されている。
【0101】
一方のserviceにおいて、ServiceType「urn:sony-corp:service:1394ProxyService:1」は、プロキシサービス71のサービスの型が、Proxy Serviceであることを表し、serviceID「urn:sony-corp:ServiceId:1394ProxyService1」は、プロキシサービス71の固有名を表している。
【0102】
SCPDURL「./scpd/proxyScpd.xml」は、プロキシサービス71が有するAV/C Proxy Service DescriptionのURL(具体的には、図13に示されるAV/C Proxy Service DescriptionのURL)を表している。
【0103】
また、他方のServiceType「urn:sony-corp:service:1394NodeService:1」は、ノードサービス72のサービスの型が、NodeServiceであることを表す。このserviceのSCPDURL「./scpd/nodeScpd.xml」は、ノードサービス72が有するAV/C Nodes Service Description(具体的には、図14と図15に示されるAV/C Nodes
Service Description)のURLを表している。
【0104】
図13のAV/C Proxy Service Descriptionにおけるactionは、プロキシサービス71が実行する各種のアクションを表す。name「getNodeNum」は、アクションの名称を表す。このactionは、IEEE1394ネットワーク12上のノードの数を取得するアクションである。
【0105】
この「getNodeNum」のactionは、「nodeNum」の名称のdirectionが「out」の引数(その引数に、他の機器が値を入れて、プロクシサービス71に出力してくる引数)を有している。
【0106】
そして、この「nodeNum」の引数に格納される変数は、serviceStateTableに関連付けが規定されている。すなわち、この変数は、stateVariable sendEventsがyesである場合(状態変数に変化があった場合)に送られる変数であり、その型は、「ui1」とされる。
【0107】
図14と図15のAV/C Nodes Service Descriptionには、AV/Cコマンドを送るアクションである「avcCommandSend」が規定されている。このコマンドは、「nuid」、「avcCommand」、「resume」、「inlineNuidPosition」、「inlineNuid」、および「avcResponse」の引数を有している。最後の「avcResponse」は、directionが「out」なので、他の機器から出力され、ノードサービス72に送られてくる。これに対して、「avcResponse」を除く5個の引数は、そのdirectionが「in」とされているので、そこに値がセットされ、ノードサービス72から発行され、他の機器に入力される。
【0108】
これらの6個の引数には、全て関連付けがserviceStatTableに記述されている。
【0109】
これらの引数は、stateVariable sendEventesがnoである場合(変数に変化がない場合)に発生され、「nuid」、「avcCommand」、「inlineNuid」、および「avcResponce」は、いずれもその変数の形が「bin.hex」とされる。「resume」は、変数の形が「boolean」とされ、「inlineNuidPosition」は、変数の形が「ui1」とされる。
【0110】
図14における「inilineNuid」(挿入されたNUID)と、「inlineNuidPosition」(NUIDの挿入位置)は、宛先機器のNUID以外のNUIDを指定する場合に利用される(そのコマンドが他のAV/C機器のNUIDを必要とする場合に用いられる)。
【0111】
UPnPコントロールポイント1は、このDescriptionに従って、リクエストを送ってくる。そこで、リクエストを受信したAV/C機器は、そのDescriptionの規定に基づいて、リクエストを解釈化することで、NUIDを検出することができる。
【0112】
図16は、root device61が有するAV/C Proxy Device Descriptionの他の例を表している。この例においても、プロキシサービス71のServiceType「urn:sony-corp:service:1394Proxy Service:1」と、ノードサービス72のServiceType「urn:sony-corp:1394Node Service:1」が記述されている。
【0113】
図16において、図示は省略されているが、serviceId「urn:sony-corp:serviceId:1394ProxyService1」のSCPDURLには、図17のAV/C Proxy Service DescriptionのURLが記述される。また、serviceId「urn:sony-corp:serviceId:1394NodeService1」のSCPDURLには、図18のAV/C NodesServiceDescripitonのURLが記述される。
【0114】
図17は、プロキシサービス71が有するAV/C Proxy Service Descriptionの他の例を表している。
【0115】
図17の例においては、ノードの数を取得する「getNodeNum」の名称のアクションが記述されている。
【0116】
同様に、図18は、ノードサービス72が有するAV/C Nodes Service Descriptionの他の例を表している。
【0117】
図18の例においては、AV/Cコマンドを送る「avcCommandSend」のアクションが3つの引数「nuid」、「command」、「response」を有するように規定されている。
【0118】
以上においては、図3に示されるように、1個のルートデバイス61に、プロキシサービス71とノードサービス72を保持させるようにしたが、例えば、図19に示されるように、プロキシサービス71をルートデバイス61−1に保持させるとともに、IEEE1394ネットワーク12上の個々のノードに対するサービスを各ルートデバイス毎に定義するようにすることもできる。図19の例においては、ルートデバイス(root device)61−2に、ノードサービス72−1が保持され、root device61−3に、ノードサービス72−2が保持される。
【0119】
図20と図21は、図19のroot device61−1乃至61−3が有するAV/C Proxy Device Descriptionの例を表し、図22は、図19のプロキシサービス71が保持するAV/C Proxy Service Descriptionの例を表し、図23は、図19のノードサービス72−1,72−2が有するAV/C Node Service Descriptionの例を表す。
【0120】
図20と図21の例においては、deviceType「urn:schemas-upnp-org:device:1394ProxyDevice:1」が、root device61−1に対応して記述され、deviceType「urn:sony-corp:device:1394NodeDevice:1」が、root device61−2に対応して記述され、deviceType「urn:sony-corp:device:1394NodeDevice:1」が、root device61−3に対応して記述されている。
【0121】
図示は省略されているが、deviceType「urn:schemas-upnp-org:device:1394ProxyDevice:1」のSCPDURLには、図22のAV/C Proxy Service DescriptionのURLが記述され、deviceType「urn:sony-corp:device:1394ProxyDevice:1」とdeviceType「urn:sony-corp:device:1394NodeDevice:1」のSCPDURLには、それぞれ図23のAV/C Nodes Service DescriptionのURLが記述される。
【0122】
図22においては、serviceStateTableに「nodeNum」の変数の定義がなされている。この変数の定義は、Queryにより調べることができる。
【0123】
図23においては、AV/Cコマンドを送るアクションである「avcCommandSend」が記述されている。
【0124】
図24は、デバイスモデルのさらに他の構成例を表す。この例においては、図19の例と同様に、ノードサービス72−1,72−2が、ノード毎に設けられているが、図19の例と異なり、これらのサービスは、全て、プロキシサービス71とともに、1個のroot device61に保持されている。
【0125】
図25は、図24の例におけるroot device61が有するAV/C Proxy Device Descriptionの構成を表し、図26は、図24のプロキシサービス71が保持するAV/C Proxy service Descriptionの構成例を表し、図27は、図24のノードサービス72−1,72−2が有するAV/C Node Service Descriptionの構成例を表す。
【0126】
図25の例においては、3つのサービスが規定されているserviceId「urn:sony-corp:serviceId:1394ProxyService1」のSCPDURLには、図26のAV/C Proxy Service DescriptionのURLが記述され、serviceId「urn:sony-corp:serviceId:1394NodeService1」と「urn:sony-corp:serviceId:1394NodeService2」のSPCDURLには、図27のAV/C Node Service DescriptionのURLが記述される。
【0127】
図26の例においては、「nodeNum」の変数が規定されている。
【0128】
図27の例においては、AV/Cコマンドを送るアクションが規定されている。
【0129】
図28は、デバイスモデルのさらに他の構成例を表している。この構成例においては、root device61にプロキシサービス71が保持されている。また、ノードサービス72−1,72−2は、それぞれノード毎に設けられる他、root device61の内部に形成されたエンベデッドデバイス(embedded device)81−1,81−2に、それぞれ保持される。
【0130】
図29と図30は、図28におけるroot device61が保持するAV/C Proxy Device Descriptionの構成例を表し、図31は、図28のプロキシサービス71が保持するAV/C Proxy Service Descriptionの構成例を表し、図32は、図28のノードサービス72−1,72−2が有するAV/C Node Service Descriptionの構成例を表す。
【0131】
図29と図30の例において、serviceId「urn:sony-corp:serviceId:1394ProxyService1」は、図28のプロキシサービス71に対応し、そのSCPDURLには、図31のAV/C Proxy Service DescriptionのURLが記述される。
【0132】
serviceId「urn:sony-corp:serviceId:1394NodeService1」は、図28のAV/C node service72−1に対応し、「urn:sony-corp:serviceId:1394NodeService2」は、AV/C node service72−2に対応し、それぞれのSCPDURLには、図32のAV/C node Service DescriptionのURLが記述される。
【0133】
図31の例においては、「NODE Num」の変数が定義されている。
【0134】
図32の例においては、AV/Cコマンドを送るアクション「avcCommandSend」が規定されている。
【0135】
次に、図3、図19、図24および図28に示すデバイスモデルを比較する。
【0136】
図3の例においては、1つのroot device61に、プロキシサービス71とノードデバイス72が、それぞれ1つずつ定義される。
【0137】
図19の例においては、プロキシサービス71が1つのroot device61−1に定義されるとともに、1394上の個々のノードに対するノードサービス72−1,72−2が、root device61−2,61−3毎に定義される。
【0138】
図24の例においては、プロキシサービス71が、1つのroot device61に設けられる他、ノードサービスが各ノード毎に対応して設けられ、それらのノードサービス72−1,72−2は、プロキシサービス71と同様に、1つのroot device61に保持される。
【0139】
図28の例においては、1394上のノードが全てroot device61のembedded device81−1,81−2として定義される。
【0140】
図33は、図3、図19、図24、および図28のデバイスモデルの特徴の比較結果を表している。なお、図33において、タイプA、タイプB、タイプC、およびタイプDは、それぞれ図3、図19、図24、または図28のデバイスモデルに対応している。
【0141】
タイプAからタイプDまでを比較すると、SSDPのパケット量が大きく異なっていることがわかる。すなわち、root deviceが1個のとき、SSDPの数は、3+2d+kとなる。ここで、dはembedded deviceの数、kはサービスタイプの数を意味する。従って、1394ネットワーク12上のノードの数をNとするとき、SSDPのパケットの量は、タイプAのとき5個、タイプBのとき4+4N個、タイプCのとき4+N個、タイプDのとき4+3N個となる。特に、タイプB(図19)とタイプD(図28)の場合には、ノード数の数倍になる数のパケットが流れることになる。そこで、ネットワークのトラフィックの観点から考えた場合、SSDPのパケットの量が少ないタイプA(図3)の例が望ましい。
【0142】
バスの構成の変更の通知は、タイプAの場合、GENAにより行われ、タイプB,C,Dの場合、SSDPにより行われる。
【0143】
presentation URLの構成の単位は、タイプAとタイプCがバス単位とされ、タイプBとタイプDがノード単位とされる。ノード毎にURLを持つことが可能なタイプB(図19)とタイプD(図28)が分かりやすいが、タイプA(図3)とタイプC(図24)に関しても、プロキシサービス71が、各ノードに対するリンクページのようなものを用意すれば、実質的に対応する機能は実現できると考えられる。
【0144】
NOTIFYの通知の単位は、タイプAの場合、バス単位とされ、タイプB,C,Dの場合、ノード単位とされる。
【0145】
以上を総合すると、タイプA(図3)の例が最適と考えられる。
【0146】
以上においては、IEEE802ネットワーク11に接続されている機器から、IEEE1394ネットワーク12に接続されている機器を制御するようにしたが、後者から前者を制御することも可能である。
【0147】
上述した一連の処理は、ハードウエアにより実行させることもできるが、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【0148】
この記録媒体は、図2に示すように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク41(フロッピディスクを含む)、光ディスク42(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク43(MD(Mini-Disk)を含む)、もしくは半導体メモリ44などよりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM22や、記憶部28に含まれるハードディスクなどで構成される。
【0149】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0150】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【0151】
【発明の効果】
以上の如く本発明の情報処理装置および方法、記録媒体、並びにプログラムによれば、IEEE802に基づく第1のネットワークからのSOAPに基づくコマンドを、第2のネットワークのAV/Cコマンドに変換するようにしたので、簡単かつ確実に、第1のネットワークに接続されている機器から、第2のネットワークに接続されている機器を制御することが可能となる。
【図面の簡単な説明】
【図1】本発明が適用されるネットワークシステムの構成を示す図である。
【図2】図1のUPnPデバイス2の構成を示すブロック図である。
【図3】図1のUPnPデバイス2が有するデバイスモデルの構成を示す図である。
【図4】 AV/Cコマンドフレームの構成を示す図である。
【図5】 ctypeを説明する図である。
【図6】 subunit_typeを説明する図である。
【図7】図1のネットワークシステムの処理を説明するフローチャートである。
【図8】図7のステップS3において出力されるコマンドの構成を示す図である。
【図9】図7のステップS24の処理で出力されるコマンドの構成を示す図である。
【図10】図7のステップS34の処理で出力されるレスポンスの構成を示す図である。
【図11】図7のステップ26の処理で出力されるレスポンスの例を示す図である。
【図12】図3のroot deviceが有するAV/C Proxy Device Descriptionの構成を示す図である。
【図13】図3の1394 proxy serviceが有するAV/C Proxy Service Descriptionの構成を示す図である。
【図14】図3の1394 nodes serviceが有するAV/C Nodes Service Descriptionの構成を示す図である。
【図15】図3の1394 nodes serviceが有するAV/C Nodes Service Descriptionの構成を示す図である。
【図16】図3のroot deviceが有するAV/C Proxy Device Descriptionの他の構成を示す図である。
【図17】図3の1394 proxy serviceが有するAV/C Proxy Service Descriptionの他の構成を示す図である。
【図18】図3の1394 nodes serviceが有するAV/C Nodes Service Descriptionの他の構成を示す図である。
【図19】デバイスモデルの他の構成を示す図である。
【図20】図19のroot deviceが有するAV/C Proxy Device Descriptionの構成を示す図である。
【図21】図19のroot deviceが有するAV/C Proxy Device Descriptionの構成を示す図である。
【図22】図19の1394 proxy serviceが有するAV/C Proxy Service Descriptionの構成を示す図である。
【図23】図19のAV/C node serviceが有するAV/C Node Service Descriptionの構成を示す図である。
【図24】デバイスモデルのさらに他の構成を示す図である。
【図25】図24のroot deviceが有するAV/C Proxy Device Descriptionの構成を示す図である。
【図26】図24のAV/C proxy serviceが有するAV/C Proxy Service Descriptionの構成を示す図である。
【図27】図24のAV/C node serviceが有するAV/C Node Service Descriptionの構成を示す図である。
【図28】デバイスモデルの他の構成を示す図である。
【図29】図28のroot deviceが有するAV/C Proxy Device Descriptionの構成を示す図である。
【図30】図28のroot deviceが有するAV/C Proxy Device Descriptionの構成を示す図である。
【図31】図28のAV/C proxy serviceが有するAV/C Proxy Service Descriptionの構成を示す図である。
【図32】図28のAV/C node serviceが有するAV/C Node Service Descriptionの構成を示す図である。
【図33】デバイスモデルの比較を示す図である。
【符号の説明】
1 UPnPコントロールポイント, 2 UPnPデバイス, 3,4 AV/C機器,11 IEEE802ネットワーク, 12 IEEE1394ネットワーク, 61
root device, 71 AV/C proxy service, 72 AV/C nodes service
Claims (9)
- IEEE802のSOAPに基づく第1のフォーマットで通信する第1のネットワークと、IEEE1394のAV/Cコマンドに基づく第2のフォーマットで通信する第2のネットワークとの間でデータを授受する情報処置装置において、
前記第1のネットワークから前記第1のフォーマットのデータを取り込む取り込み手段と、
前記取り込み手段により取り込まれた前記第1のフォーマットの前記SOAPに基づくコマンドを、前記第2のネットワークの前記AV/Cコマンドに変換して前記第2のフォーマットに格納するとともに、前記 SOAP に基づくコマンドに記述されている前記第2のネットワークに接続されている機器を指定するノードユニーク ID とノード ID の対応表を有し、前記 SOAP に基づくコマンドに記述されている前記第2のネットワークに接続されている機器を指定するノードユニーク ID を、前記対応表に基づいてノード ID に変換する変換手段と、
前記変換手段により変換された前記第2のフォーマットを、前記第2のネットワークに送信する送信手段と
を備えることを特徴とする情報処理装置。 - 前記変換手段は、前記SOAPに基づくコマンドと、それに基づいて前記第2のネットワークに送信されるコマンドとの対応表を有し、前記第2のネットワークを介して受信したレスポンスに対応する前記SOAPに基づくコマンドを、前記対応表に基づいて検索し、前記SOAPに基づくコマンドに対応するレスポンスを前記第1のネットワークに送信する
ことを特徴とする請求項1に記載の情報処理装置。 - 前記変換手段は、前記SOAPに基づくコマンドに含まれるトランザクションラベルに基づいて、前記SOAPに基づくコマンドとレスポンスを対応させる
ことを特徴とする請求項2に記載の情報処理装置。 - 前記変換手段は、前記第1のネットワークに接続されている機器からのリクエストに対応するファイナルレスポンスが、予め定められている時間内に、前記第2のネットワークに接続されている機器から受信されないとき、前記第1のネットワークに接続されている機器に対して処理中であることを表すレスポンスを送信する
ことを特徴とする請求項1に記載の情報処理装置。 - 前記SOAPに基づくコマンドが、前記第2のネットワークのバスリセット時に再送を要求するコマンドである場合、前記第2のネットワークのバスリセットを検知し、前記第2のネットワークにバスリセットが発生したとき、前記コマンドを送信する検知手段を
さらに備えることを特徴とする請求項1に記載の情報処理装置。 - 前記変換手段は、さらに前記第2のネットワークの前記AV/Cコマンドを、前記第1のフォーマットの前記SOAPに基づくコマンドに変換して前記第1のフォーマットに格納し、
前記送信手段は、さらに前記変換手段により変換された前記第1のフォーマットの前記SOAPに基づくコマンドを、前記第1のネットワークに送信する
ことを特徴とする請求項1に記載の情報処理装置。 - IEEE802のSOAPに基づく第1のフォーマットで通信する第1のネットワークと、IEEE1394のAV/Cコマンドに基づく第2のフォーマットで通信する第2のネットワークとの間でデータを授受する情報処理装置の情報処理方法において、
前記第1のネットワークからの前記第1のフォーマットのデータを取り込む取り込みステップと、
前記取り込みステップの処理により取り込まれた前記第1のフォーマットの前記SOAPに基づくコマンドを、前記第2のネットワークの前記AV/Cコマンドに変換して前記第2のフォーマットに格納するとともに、前記 SOAP に基づくコマンドに記述されている前記第2のネットワークに接続されている機器を指定するノードユニーク ID とノード ID の対応表を有し、前記 SOAP に基づくコマンドに記述されている前記第2のネットワークに接続されている機器を指定するノードユニーク ID を、前記対応表に基づいてノード ID に変換する変換ステップと、
前記変換ステップの処理により変換された前記第2のフォーマットを、前記第2のネットワークに送信する送信ステップと
を含むことを特徴とする情報処理方法。 - IEEE802のSOAPに基づく第1のフォーマットで通信する第1のネットワークと、IEEE1394のAV/Cコマンドに基づく第2のフォーマットで通信する第2のネットワークとの間でデータを授受する情報処理装置のプログラムであって、
前記第1のネットワークからの前記第1のフォーマットのデータを取り込む取り込みステップと、
前記取り込みステップの処理により取り込まれた前記第1のフォーマットの前記SOAPに基づくコマンドを、前記第2のネットワークの前記AV/Cコマンドに変換して前記第2のフォーマットに格納するとともに、前記 SOAP に基づくコマンドに記述されている前記第2のネットワークに接続されている機器を指定するノードユニーク ID とノード ID の対応表を有し、前記 SOAP に基づくコマンドに記述されている前記第2のネットワークに接続されている機器を指定するノードユニーク ID を、前記対応表に基づいてノード ID に変換する変換ステップと、
前記変換ステップの処理により変換された前記第2のフォーマットを、前記第2のネットワークに送信する送信ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。 - IEEE802のSOAPに基づく第1のフォーマットで通信する第1のネットワークと、IEEE1394のAV/Cコマンドに基づく第2のフォーマットで通信する第2のネットワークとの間でデータを授受する情報処理装置を制御するコンピュータに、
前記第1のネットワークからの前記第1のフォーマットのデータを取り込む取り込みステップと、
前記取り込みステップの処理により取り込まれた前記第1のフォーマットの前記SOAPに基づくコマンドを、前記第2のネットワークの前記AV/Cコマンドに変換して前記第2のフォーマットに格納するとともに、前記 SOAP に基づくコマンドに記述されている前記第2のネットワークに接続されている機器を指定するノードユニーク ID とノード ID の対応表を有し、前記 SOAP に基づくコマンドに記述されて いる前記第2のネットワークに接続されている機器を指定するノードユニーク ID を、前記対応表に基づいてノード ID に変換する変換ステップと、
前記変換ステップの処理により変換された前記第2のフォーマットを、前記第2のネットワークに送信する送信ステップと
を実行させるプログラム。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001226390A JP3661936B2 (ja) | 2001-05-24 | 2001-07-26 | 情報処理装置および方法、記録媒体、並びにプログラム |
EP02726442A EP1300989A1 (en) | 2001-05-24 | 2002-05-20 | Information processing apparatus |
CN02801817A CN1463521A (zh) | 2001-05-24 | 2002-05-20 | 信息处理设备 |
US10/333,708 US20030177270A1 (en) | 2001-05-24 | 2002-05-20 | Information processing apparatus |
PCT/JP2002/004835 WO2002096037A1 (fr) | 2001-05-24 | 2002-05-20 | Appareil de traitement d'informations |
KR10-2003-7001005A KR20030024806A (ko) | 2001-05-24 | 2002-05-20 | 정보 처리 장치 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001154751 | 2001-05-24 | ||
JP2001-154751 | 2001-05-24 | ||
JP2001226390A JP3661936B2 (ja) | 2001-05-24 | 2001-07-26 | 情報処理装置および方法、記録媒体、並びにプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003046535A JP2003046535A (ja) | 2003-02-14 |
JP3661936B2 true JP3661936B2 (ja) | 2005-06-22 |
Family
ID=26615608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001226390A Expired - Fee Related JP3661936B2 (ja) | 2001-05-24 | 2001-07-26 | 情報処理装置および方法、記録媒体、並びにプログラム |
Country Status (6)
Country | Link |
---|---|
US (1) | US20030177270A1 (ja) |
EP (1) | EP1300989A1 (ja) |
JP (1) | JP3661936B2 (ja) |
KR (1) | KR20030024806A (ja) |
CN (1) | CN1463521A (ja) |
WO (1) | WO2002096037A1 (ja) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10302477A1 (de) * | 2003-01-23 | 2005-02-24 | Deutsche Thomson-Brandt Gmbh | Verfahren zur Verfügbarmachung eines Eingabeparameters einer Netzwerkstation eines Netzwerks eines ersten Typs in einem Netzwerk eines zweiten Typs sowie Verbindungseinheit zur Verbindung der Netzwerke des ersten und zweiten Typs |
JP2004272632A (ja) * | 2003-03-10 | 2004-09-30 | Sony Corp | 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム |
KR100565060B1 (ko) * | 2003-03-14 | 2006-03-30 | 삼성전자주식회사 | 언어 정보에 따라 적응적으로 재생가능한 데이터 구조로기록된 정보저장매체, 그 재생 방법 및 장치 |
JP4197517B2 (ja) | 2003-03-31 | 2008-12-17 | 富士通株式会社 | バスブリッジ装置、バスブリッジ方法および入出力制御装置 |
KR100493896B1 (ko) | 2003-04-18 | 2005-06-10 | 삼성전자주식회사 | 디지털 콘텐트 메타데이터 변환 방법 및 장치, 그리고이를 이용한 네트워크 시스템 |
US20060164550A1 (en) * | 2003-04-24 | 2006-07-27 | Kyosuke Yoshimoto | Video device, video module unit, and video device operation method |
ATE385099T1 (de) * | 2003-06-30 | 2008-02-15 | Koninkl Philips Electronics Nv | Einbetten einer upnp av mediaserverobjektidentifikation in einem uri |
KR101015811B1 (ko) * | 2003-09-23 | 2011-02-22 | 엘지전자 주식회사 | UPnP 기반의 미디어 콘텐츠 재생을 제어하는 전자기기 및 그 방법 |
CN1620060B (zh) * | 2003-11-17 | 2010-04-28 | 国际商业机器公司 | 把浏览器不兼容的信息整合在网络内容中以及显示该信息的方法和设备 |
US20050144137A1 (en) * | 2003-12-24 | 2005-06-30 | Kumar B. V. | Protocol processing device and method |
EP1569418B1 (en) * | 2004-02-26 | 2009-10-14 | Research In Motion Limited | An apparatus and method for aggregating web services |
JP4337591B2 (ja) | 2004-03-19 | 2009-09-30 | 株式会社日立製作所 | 情報処理装置、ネットワークシステムおよびネットワークシステムの制御方法 |
CN100469001C (zh) * | 2004-06-18 | 2009-03-11 | 宏碁股份有限公司 | 可使用通用随插即用通信协议更新软件程序的系统及方法 |
JP4645165B2 (ja) * | 2004-11-12 | 2011-03-09 | セイコーエプソン株式会社 | ネットワーク型プラグアンドプレイに対応したネットワーク装置の制御 |
KR100639970B1 (ko) | 2004-12-16 | 2006-11-01 | 한국전자통신연구원 | UPnP AV 시스템 및 미디어 렌더러와 재생 모듈간의통신 수행 방법 |
JP4164490B2 (ja) * | 2004-12-17 | 2008-10-15 | キヤノン株式会社 | 通信装置、プロファイル情報取得方法、及び、プログラム |
US8156505B2 (en) * | 2005-01-27 | 2012-04-10 | Infosys Limited | Protocol processing including converting messages between SOAP and application specific formats |
KR100643296B1 (ko) * | 2005-05-11 | 2006-11-10 | 삼성전자주식회사 | 웹 서비스 기술을 지원하는 a/v 네트워크에서 컨텐츠서비스 제공 방법 및 장치 |
KR100739743B1 (ko) * | 2005-10-19 | 2007-07-13 | 삼성전자주식회사 | 홈 네트워크에서 디바이스를 독점적으로 제어하기 위한방법 및 장치 |
US7788409B2 (en) * | 2005-10-28 | 2010-08-31 | Sony Corporation | System and method for achieving interoperability in home network with IEEE 1394 and UPnP devices |
JP2007150853A (ja) * | 2005-11-29 | 2007-06-14 | Toshiba Corp | 供給装置と処理装置及び指示方法 |
JP2007156691A (ja) * | 2005-12-02 | 2007-06-21 | Seiko Epson Corp | ネットワーク型プラグアンドプレイに対応したネットワーク中継制御 |
KR100714708B1 (ko) * | 2006-01-12 | 2007-05-04 | 삼성전자주식회사 | 홈 네트워크에서 디바이스 간 호환성을 지원하는 미들웨어장치 및 그 방법 |
US7813823B2 (en) * | 2006-01-17 | 2010-10-12 | Sigmatel, Inc. | Computer audio system and method |
KR100772865B1 (ko) | 2006-01-31 | 2007-11-02 | 삼성전자주식회사 | Av 세션 복원 방법 및 이를 위한 컨트롤 포인트 |
EP1990956A4 (en) * | 2006-03-01 | 2013-07-17 | Mitsubishi Electric Corp | GATEWAY DEVICE |
US20100063970A1 (en) * | 2006-05-19 | 2010-03-11 | Chang Hyun Kim | Method for managing and processing information of an object for presentation of multiple sources and apparatus for conducting said method |
CN101325530B (zh) * | 2008-07-04 | 2011-11-30 | 海信集团有限公司 | 一种二级网络及其通信方法 |
KR101669672B1 (ko) | 2009-08-17 | 2016-11-10 | 삼성전자주식회사 | 단말의 원격 관리 방법 및 장치 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10145420A (ja) * | 1996-11-12 | 1998-05-29 | Sony Corp | 異なるシステムに接続された機器の制御方法及び変換機器 |
JP3688464B2 (ja) * | 1997-05-06 | 2005-08-31 | 株式会社東芝 | 端末装置、サーバ装置、通信装置および制御方法 |
JP3576019B2 (ja) * | 1998-12-28 | 2004-10-13 | 株式会社東芝 | 通信ノード |
US6813651B1 (en) * | 2000-02-18 | 2004-11-02 | Controlnet, Inc. | Interface device for ethernet transceiver and 1394 controller |
US20020174236A1 (en) * | 2001-03-26 | 2002-11-21 | Sanjay Mathur | Methods and apparatus for processing data in a content network |
-
2001
- 2001-07-26 JP JP2001226390A patent/JP3661936B2/ja not_active Expired - Fee Related
-
2002
- 2002-05-20 KR KR10-2003-7001005A patent/KR20030024806A/ko not_active Application Discontinuation
- 2002-05-20 US US10/333,708 patent/US20030177270A1/en not_active Abandoned
- 2002-05-20 CN CN02801817A patent/CN1463521A/zh active Pending
- 2002-05-20 EP EP02726442A patent/EP1300989A1/en not_active Withdrawn
- 2002-05-20 WO PCT/JP2002/004835 patent/WO2002096037A1/ja not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
EP1300989A1 (en) | 2003-04-09 |
US20030177270A1 (en) | 2003-09-18 |
KR20030024806A (ko) | 2003-03-26 |
JP2003046535A (ja) | 2003-02-14 |
WO2002096037A1 (fr) | 2002-11-28 |
CN1463521A (zh) | 2003-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3661936B2 (ja) | 情報処理装置および方法、記録媒体、並びにプログラム | |
JP4456095B2 (ja) | ホームネットワークで第3の装置のイベントを処理する方法及び装置 | |
JP3805725B2 (ja) | 相異なるミドルウェアを使用するホームネットワーク上のデバイス間のメッセージの受け渡しを可能にするゲートウェイ、ホームネットワークシステム及びメッセージ受け渡し方法 | |
KR100440969B1 (ko) | 네트워킹 방법 및 그 장치 | |
KR100984810B1 (ko) | UPnP 디바이스가 PLC 디바이스를 컨트롤할 수있도록 브릿징하는 장치 및 방법 | |
US8423671B2 (en) | Middleware device and method of supporting compatibility of devices in home network | |
US7130925B2 (en) | Information processing apparatus and method for receiving/transmitting data between an IEEE802-based format and an IEEE1394-based format | |
US7844738B2 (en) | Method of and apparatus for bridging a UPnP network and a rendezvous network | |
EP1058422A1 (en) | Methods for bridging a HAVi sub-network and a UPnP sub-network and device for implementing said methods | |
US20040120344A1 (en) | Device discovery application interface | |
JP3661935B2 (ja) | 情報処理装置および方法、記録媒体、並びにプログラム | |
US20040133896A1 (en) | Network device application interface | |
JP2003008610A (ja) | 情報処理装置および方法、記録媒体、並びにプログラム | |
KR20050078541A (ko) | 홈네트워크 디바이스 모니터링 및 제어 방법 | |
CN104079422A (zh) | 管理网络设备的方法 | |
US9338022B2 (en) | Method of processing action, method of controlling controlled device, controlled device, and control point | |
JP2004104839A (ja) | 情報処理装置および方法、並びに通信システム | |
EP2168305B1 (en) | Method of receiving/transmitting event message, controlled device, and control point | |
KR100952280B1 (ko) | 댁내에 설치되는 주거 게이트웨이의 재부팅을 원격으로제어하는 방법 | |
KR20050055134A (ko) | 망관리 정보를 이용한 바이바이 메시지의 대체 전송 장치,시스템 및 그 방법 | |
KR20040039043A (ko) | UPnP 네트워크 시스템의 제어 메시지 전송 방법 | |
Siebörger | Multiprotocol Control of Networked Home Entertainment Devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050304 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050317 |
|
LAPS | Cancellation because of no payment of annual fees |