[go: up one dir, main page]

JP3688464B2 - Terminal device, server device, communication device, and control method - Google Patents

Terminal device, server device, communication device, and control method Download PDF

Info

Publication number
JP3688464B2
JP3688464B2 JP12113998A JP12113998A JP3688464B2 JP 3688464 B2 JP3688464 B2 JP 3688464B2 JP 12113998 A JP12113998 A JP 12113998A JP 12113998 A JP12113998 A JP 12113998A JP 3688464 B2 JP3688464 B2 JP 3688464B2
Authority
JP
Japan
Prior art keywords
command
network
service
terminal
information
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 - Lifetime
Application number
JP12113998A
Other languages
Japanese (ja)
Other versions
JPH11187061A (en
Inventor
幹生 橋本
健 斉藤
由彰 高畠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP12113998A priority Critical patent/JP3688464B2/en
Publication of JPH11187061A publication Critical patent/JPH11187061A/en
Application granted granted Critical
Publication of JP3688464B2 publication Critical patent/JP3688464B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)
  • Communication Control (AREA)
  • Telephonic Communication Services (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Electric Ovens (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ホームネットワーク環境におけるディレクトリサービス、機器の遠隔操作、あるいは周辺装置を制御する機能を備えたコンピュータ等の通信装置、特に汎用バスに接続された多種の装置を制御する可能性があるコンピュータ等の通信装置、及び該通信装置により行われる通信制御方法、サービス登録方法、サービス提供方法及び装置制御プログラム登録方法に関する。
【0002】
【従来の技術】
(1)近年、マルチメディア技術の発展に象徴されるように、電子機器のデジタル化が急速に進行している。この傾向は、まずオフィス環境で始まっている。ハードウエアの面では、パソコンの導入、OA機器のデジタル化、それらのネットワーク化という形で進行している。ソフトウエアの面では、ホストによる基幹業務(これはライトサイジングされてパソコン等に移行されつつある)や、ワープロ、表計算などのソフトウエア、あるいはWWW等のインターネットアプリケーション等が導入されている。そして、デジタル化の適用分野は益々広まり、その発展はとどまるところを知らない。
【0003】
上記の傾向は、家庭内で使用される機器やその関連分野等においても見られる。すなわち、AV機器のデジタル化(すなわちDVD、デジタルVTR、デジタルビデオカメラ等)、放送のデジタル化、OCN等のインターネットアクセス等の導入など、デジタル化は着実に進行している。
【0004】
オフィス環境を始めとして推し進められてきた上記のような技術革新の波は、今後、ネットワーク化の方向へと向かっていくことが考えられる。すなわち、情報・通信・放送といった種々の分野の技術がデジタル化によって束ねられ、ネットワーク化によって相互乗り入れを始めていくと言われている。
【0005】
これを実現するための基盤となるネットワーク技術としては、種々の候補が考えられる。例えば、イーサネットは、オフィス環境にて圧倒的な実績を持っており、家庭でのパソコンネットワークにおいても、その最有力候補であると言える。また、ATMも有力な候補である。これは、インフラの構築側(電話会社やCATV等)が、高速、リアルタイム、広帯域といったATMの特徴に注目し、この技術を使ってインフラを構築していこうというのが一般的な動きだからである。
【0006】
これらの候補に加えて、最近、IEEE1394なるネットワーク技術(バス技術)が注目を集めている。これは、高速、リアルタイム(QOS保証)、プラグアンドプレイ等の数々の注目すべき特徴を持っており、特にAV機器産業界においてデジタルAV機器同士の接続方式の最有力候補として大変な注目を集めている。また、パソコンなどのコンピュータ産業界においても、この技術への注目が集まりはじめている。
【0007】
さて、情報・通信・放送等のネットワーク化による相互乗り入れは、まず家庭向けのデジタル機器の普及に伴い、ユーザに所望されるネットワーク技術によりそれらデジタル機器を相互接続することで実現されていくであろう。そのようにして徐々に家庭内デジタルネットワークのプロトタイプが生み出されていくと考えられる。
【0008】
そして、その次の段階として、これらのデジタルネットワーク同士を相互に接続したいというニーズが顕在化してくると考えられる。例えば、ユーザ宅の1階の応接間の1394ネットワークに接続されたAV機器と、2階の部屋の1394ネットワークに接続されたAV機器とを、相互接続して、例えばダビング等、協調動作をさせようというようなニーズである。あるいは、ユーザA宅の1394ネットワークに接続された機器aと、ユーザB宅の1394ネットワークに接続された機器bとを協調動作させるような場合である。
【0009】
しかしながら、家庭内あるいは家庭間デジタルネットワーク同士の相互接続を実現するためには、以下のような問題がある。
【0010】
(i)家庭内あるいは家庭間でネットワークを介した機器の制御を行おうという場合に、「ネットワーク上のどの位置に何の機器があるか」あるいは「ネットワーク上でどのようなサービスが提供されているか」とった情報を知るための機構が存在しない。この機構がないと、ユーザは、特定の機器/サービスの存在をネットワーク上で認識することができず、対象機器の操作もしくは制御を行いあるいはサービスの提供を受けることができない。
【0011】
(ii)デジタルネットワーク同士の相互接続においては異なるプロトコルに従う部分が混在するものと想定されるが、異なるプロトコルを越えて操作コマンド等を伝える機構が存在しない。
【0012】
例えばIEEE1394を用いた場合に1394対応機器の他にインターネット対応機器等が混在することが可能であり、必ずしもその使用プロトコルは一致しない。そのような混在状況において遠隔操作を行なおうとした場合、すなわち異なる種別のネットワークを介して対象機器を制御しようとする場合、異なる種別のネットワークではIEEE1394プロトコルを稼動することができないため、操作コマンドの送付が不可能である。
【0013】
また、ゲートウエイを設けて遠隔操作等を実現する方法も考えられるが、この様な場合におけるゲートウエイの設計指針等は存在しない。
【0014】
(2)ところで、近年の急速なパーソナルコンピュータの普及とアプリケーションの多様化に伴い、その周辺機器は、例えばハードディスクのようなストレージ装置やスキャナ、カメラのような入力装置などに多様化しその種類は増え続けている。
【0015】
過去においてはアプリケーションソフトウェアと周辺機器ハードウェアの両方の汎用性がなく、周辺機器は特定のアプリケーションからのみ使用でき、他から利用できない不便さがあった。この障害は現在では主として次の3つの技術によりかなりの部分解消されている。その技術とはハードウェアの制御の違いを吸収するドライバと呼ばれるソフトウェアと、必要に応じてドライバを読み込みオペレーティングシステム(以下、OSと呼ぶ)に組み込むことのできるローダブルドライバの技術、そして接続された周辺機器をコンピュータ自身が検出して適切なドライバを組み込むプラグアンドプレイの技術である。
【0016】
これにより周辺機器とアプリケーションプログラムとがともに汎用性が高まり、利用者の利便性が向上するとともに、汎用性にともなう量産効果によって価格も低下する正のフィードバックを生む結果となった。もちろんパーソナルコンピュータにおいてはハードウェア自体、ISA、PCIなどのバス規格、IDEやSCSIといったストレージ装置の接続規格によって標準化されて来たこともこれを助けている。
【0017】
最近ではUSB(Universal serial Bus)やIEEE1394といった接続作業と配線の取り回しが容易な周辺装置の接続規格が採用されつつある。これらは数対のより対線の接続なので簡易なネットワークとしても利用が可能である。IEEE1394は過去のコンピュータのシステムバスに匹敵する高速な転送能力を備え、画像伝送が可能なことからTV、ビデオなどの家電機器の接続規格としても有力である。また、IEEE1394規格では制御は全てIEC1212(ANSI/IEEE Std 1212 Controland Status Register(CSR) Architecture for Microcomputer Buses[ISO/IEC13213])で規格化された64ビット形式のアドレス空間にマッピングされたレジスタに対する読み書きによって行われる。このため、ストレージデバイスで多く使われているSCSI規格と同様に制御するホストプロセッサのアーキテクチャに依存しないインターフェースを周辺機器が持つことができる。
【0018】
一方、上記した汎用化が利点となる前提条件は多種の周辺機器に対応したドライバがOSとともに提供されることである。これにはOSのベンダと周辺機器のベンダがともに大きな労力を割かねばならない。実際、Microsoft社のオペレーティングシステム、Windows95では40枚に及ぶフロッピーディスクに多種のドライバが収納されている。もちろんこの全てがドライバではないものの、全体に占める割合は少なくない。ドライバソフトのソフトウェアはOSに依存するため、ソフトベンダはOSごとにドライバを用意しなければならない。デバイスドライバは一般にOSのメモリ管理と密接に関連して動作しているためである。OS自体がホストプロセッサのアーキテクチャに依存する部分の大きいことはいうまでもない。
【0019】
デバイスドライバの汎用性を高める試みとして、SCSIやIEEE1394、USBで実現されているように、周辺機器との通信や制御に汎用のプロトコルを使う方法がある。OSがSCSIやIEEE1394のパケットを送信するドライバを提供し、そのドライバを利用して機器固有のデバイスドライバがそれぞれの周辺機器を制御する方式である。この方式をとれば同一のOSではSCSIやIEEE1394などの装置接続インタフェースが異ってもSCSI HDやプリンタなどの装置固有の制御を行う部分のドライバは共通に使うことができる。
【0020】
このような汎用の接続装置アーキテクチャにもいくつかの方法がある。SCSIでは通信に加えて制御コマンドのプロトコルも規定されている。IEEE1394では通信方法は規定されているが、制御のコマンドまでは規定せず、さまざまな制御プロトコルを持つ機器の余地を残している。
【0021】
また、IEEE1394には汎用入出力バスとしての側面の他にネットワークとして利用できる側面があり、IEEE1394バス上へのインターネットプロトコルのマッピングも提案されている(DAVIC IP over IEEE1394.1995 Specifications,1996)。しかしながら通信ネットワークの面と入出力バスとしての面を統合したインタフェースは未だ実現されていない。
【0022】
さて、OSがそれぞれの機器に対応するドライバを読み込むことでさまざまな周辺機器が利用可能になっている。しかし、デバイスドライバ自体はOSに依存しており、汎用性を持たないために種々のOS毎にそれぞれ対応のドライバの開発が必要であった。このため周辺機器ベンダによるデバイスドライバの開発が特定の良く普及したOSに限られてしまう問題があった。この結果として、デバイスドライバの開発がある特定のOSに集中し、他のOSで使えないデバイスが増加している。これはOSの用途に合わせた多様化を妨げることになり、利用者の利便性を損うものである。
【0023】
もう一つの問題は周辺装置が多様化することによって、利用しない装置のドライバや、上位プロトコルに対応するAPIにOSの資源が占有されてしまうことである。
【0024】
また、IEEE1394では周辺機器制御バスのみならず、ネットワーク的な利用形態も考えられる。ネットワーク的に利用される場合、制御する側のPCが予め接続される装置をすべて把握することは困難であり、接続されている装置に応じて利用法を決定できることと、同一のIEEE1394バスに複数のPCが接続されているとき、どちらのPCが制御権を持つかを決定することが要求される。しかし、これを解決しているシステムは従来は存在しなかった。
【0025】
また、電話網や広域ネットワークを通じて遠隔にあるIEEE1394装置を制御できるシステムも従来は存在しなかった。
【0026】
【発明が解決しようとする課題】
従来、家庭内あるいは家庭間デジタルネットワーク同士を相互接続し、ネットワークを介した機器の制御を行おうとしても、
(1)ネットワーク上に存在する各機器の位置あるいはネットワーク上で提供されているサービスに関する情報を知るための技術がなく、ユーザは、特定の機器/サービスの存在をネットワーク上で認識することができず、対象機器の操作もしくは制御を行いあるいはサービスの提供を受けることができなかった。また、デジタルネットワーク同士の相互接続において異なるプロトコルに従う部分が混在する場合、異なるプロトコルを越えて操作コマンド等を伝える技術がなく、ユーザは、異なるプロトコルを越えた対象機器の操作もしくは制御を行いあるいはサービスの提供を受けることができなかった。
【0027】
(2)さらに、近い将来、家庭内にも種々のインターネット処理機能を持った、いわゆる情報家電が入り込んでくると考えられているが、現在のインターネットは深刻なアドレス不足に悩んでいる。家庭内に入り込んでくる家電機器は、非常に多くの数になるものと考えられ、これら全てに新たにIPアドレスを考えるのは非現実的である。そこで、以下のような2つの方法が提案されている。
【0028】
・家庭内はプライベートIPアドレスを用いる。
【0029】
・家庭内は、IPv6(IPバージョン6)アドレスを用いる。
【0030】
しかしながら、実際のインターネット(公衆網)はIPv4(IPバージョン4)で運用されているのが現実であり、上記のような方法を取った場合、インターネット上から家庭内の機器へアクセスする方法が無い。この問題に対する対処方法としては、NAT(ネットワークアドレス変換)やIPマスカレードが知られているが、これらを用いたとしても、インターネット(公衆網)上のユーザは、家庭内の種々の機器のアドレスを、実際にそれらの操作を行おうとする以前に認識する必要があるが、これを実現するメカニズムは無い。
【0031】
(3)また、従来、デバイスドライバはOSに依存しており汎用性を持たないために、種々のOS毎にそれぞれ対応のドライバの開発が必要である問題点があった。また、周辺装置が多様化することによって、予めデバイスドライバを豊富に内蔵しておくことが良く行われるが、利用しない装置のデバイスドライバや、上位プロトコルに対応するAPIにOSの資源が無駄に占有されてしまう問題点があった。
【0032】
本発明は、上記事情を考慮してなされたもので、上記第1の問題点を解決するために、特定のネットワークに依存せず、統一的なサービス提供環境を実現することが可能な通信装置、サービス登録方法およびサービス提供方法を提供することを目的とする。
【0033】
また、上記第2の問題点を解決するために、本発明は、アドレス体系の異なるネットワーク(例えば、IPv4とIPv6、プライベートアドレスとIPv4、プライベートアドレスとIPv6等)を相互接続した場合でも、各ネットワークにおいて提供されているサービスを他のネットワークからでもアクセス可能にする通信装置を提供することを目的とする。
【0034】
また、上記第3の問題点を解決するために、本発明は、OSやハードウェアに依存せず、必要の生じた時点で装置制御プログラムを登録することの可能な通信装置および装置制御プログラム登録方法を提供することを目的とする。
【0035】
【課題を解決するための手段】
(1)本発明は、単一アドレス空間にマップされたレジスタの操作を行う通信手段と、自装置に関する構成情報を記憶する構成情報記憶手段(コンフィグレーションメモリ)とを備えた通信装置(例えば、パーソナル・コンピュータ等)であって、前記構成情報記憶手段には、自装置(当該通信装置)上で稼動するサービスに関する情報を動的に記述することを特徴とする。
【0036】
本発明によれば、通信装置を介して通信される他ノードは、この構成情報記憶手段をアクセスすることによって、その時点でその通信装置がサービスしているアプリケーションをタイムリに認識することができ、網構成のディレクトリサービスや、移動ノードのサービス検出が可能となり、網の運用の柔軟性が向上する。特に、動的に稼動サービスが変化する場合や、サービスがソフトウエアにより実現される場合には、ソフトウエアのインストールや、バージョンアップ等に伴い、そのサービスの稼動の動的変化はより激しいものとなるため、サービス構成情報を動的に変化させることの有効性は極めて大きなものとなる。
【0037】
(2)本発明は、単一アドレス空間にマップされたレジスタの操作を行う通信手段と、自装置に関する構成情報を記憶する構成情報記憶手段(コンフィグレーションメモリ)とを備えた通信装置(例えば、パーソナル・コンピュータ等)であって、前記構成情報記憶手段には、自装置(当該通信装置)上で稼動するサービスに関する情報と、自装置の属性に関する情報(例えば、ベンダID、ノードケーパビリティー等)とを併せて記述することを特徴とする。
【0038】
本発明によれば、通信装置を介して通信される他ノードに対して、サービスをベースとした構成情報と、装置をベースとした構成情報の両方を通知することができ、該他ノードがその通信装置が接続されるネットワークのディレクトリ情報を構成する際に、サービス別の構成情報とするか、装置別の構成情報とするかの選択をより簡略化するのに有効である。これは、サービス別の操作・検索になれているユーザと、装置別の操作・検索になれているユーザの両方が存在するため、その両方に対応するために、特に有益である。
【0039】
(3)本発明は、単一アドレス空間にマップされたレジスタの操作を行う第1の通信手段と、自装置に関する構成情報を記憶する構成情報記憶手段(コンフィグレーションメモリ)とを備えた通信装置(例えば、パーソナル・コンピュータ等)であって、前記構成情報記憶手段には、自装置(当該通信装置)に前記第1の通信手段とは異なる第2の通信手段を介して接続されたネットワークに関する構成情報(例えば、端末の情報、サービスの情報)の少なくとも一部を記述することを特徴とする。
【0040】
本発明によれば、第1の通信手段に接続された当該通信装置以外のノードは、当該通信装置に第2の通信手段に接続されたネットワーク構成情報を、この構成情報記憶手段を通して認識することが可能となり、この結果、相互接続されたネットワーク全体の構成情報を、第1の通信手段を介した構成情報記憶手段を通して認識することが可能となり、よって、網管理、網サービス登録などの仕組み、手間の簡略化を図ることが可能となる。
【0041】
(4)本発明は、接続されたネットワーク内に存在するディレクトリエージェントにサービスを登録する通信装置(例えば、パーソナル・コンピュータ等)であって、接続された前記ネットワークのデータリンクに依存するプロトコルで通信する、電子的装置(例えば、周辺機器、AV機器、家電機器等)のサービスを、該電子的装置に代わって前記ディレクトリエージェントに登録する手段を備えたことを特徴とする。
【0042】
本発明によれば、ディレクトリエージェントは、それが稼動するプロトコル(例えばIP等のネットワークレイヤプロトコル等)のディレクトリサービスに対して、データリンクレイヤプロトコル(例えばIEEE1394レイヤ等)で提供されるサービス(例えばIEEE1394のAV/Cプロトコル等)を登録することが可能となり、この結果、ディレクトリエージェントもしくはディレクトリサービスは、ネットワーク上で展開されているサービスを、その提供レイヤの区別なく、検索されることが可能となり、ネットワーク利用者の利便性の向上と、柔軟性の向上を同時に図ることが可能となる。
【0043】
(5)本発明は、接続されたネットワーク内のユーザエージェントからの問い合わせに応じてサービスに関する情報を通知する通信装置(例えば、パーソナル・コンピュータ等)であって、接続された前記ネットワークのデータリンクに依存するプロトコルで通信する、電子的装置(例えば、周辺機器、AV機器、家電機器等)のサービスを、該電子的装置に代わって前記ユーザエージェントに通知する手段を備えたことを特徴とする。
【0044】
本発明によれば、ユーザエージェントは、それが稼動するプロトコル(例えばIP等のネットワークレイヤプロトコル等)のサービスロケーションサービスに対して、データリンクレイヤプロトコル(例えばIEEE1394レイヤ等)で提供されるサービスに関する情報を得ることが可能となり、この結果、ユーザエージェントもしくはサービスロケーションサービスは、ネットワーク上で展開されているサービスを、その提供レイヤの区別なく検索することが可能となり、ネットワーク利用者の利便性の向上と柔軟性の向上を同時に図ることができる。
【0045】
(6)本発明は、上記(4)または(5)に記載の通信装置において、ディレクトリエージェントへの登録またはユーザエージェントへの通知の際に、登録または通知する前記サービスへのアクセスのためのポートとして、自装置(例えば、パーソナル・コンピュータ等)の論理多重識別子を登録または通知することを特徴とする。
【0046】
このようにすれば、前記通信装置は、その論理多重識別子へのアクセスがあった場合には、前記電子的装置のサービスへのアクセスであることを認識することが可能となり、そのサービスを実際に実現するための適切な処理を施すことが可能となる。
【0047】
一方、ディレクトリエージェントは、前記電子的装置のサービスへのアクセスポイントとして、この論理多重識別子を応答することが可能となり、もってサービスの提供レイヤを問わない統一的なディレクトリサービスを提供することが可能となる。
【0048】
また、ユーザエージェントは、前記電子的装置のサービスへのアクセスポイントとして、この論理多重識別子を通知された場合、レイヤを問わず、そのサービスがこの論理多重識別子を通じて提供されるものと認識することとなり、ネットワーク全体で、レイヤを問わない、統一的なサービス提供体制を提供することが可能となる。
【0049】
(7)本発明は、上記(6)に記載の通信装置において、前記論理多重識別子で指定されたポートにコマンドが到達した場合に、このコマンドを、それに対応する前記データリンクに依存するプロトコルのコマンドに変換して、前記電子的装置(例えば、周辺機器、AV機器、家電機器等)に送信することを特徴とする。
【0050】
このようにすれば、前記通信装置は、その論理多重識別子へのアクセスがあった場合には、前記電子的装置のサービスへのアクセスであることを認識し、実際にそのサービスを提供している実体に、その提供データリンクのプロトコルに合致したコマンド変換をした上で、そのコマンド送出を行うこと、すなわちサービス要求を行うことが可能となり、もって、全体の「サービス要求→サービス実現」の手順の実現を図ることが可能となる。
【0051】
また、ユーザエージェントは、前記電子的装置のサービスへのアクセスは、あくまで、そのコマンドを記述したレイヤで行われるものと認識していることとなるため、処理の単純化、すなわち該レイヤでのサービスアクセスの環境さえ整えておけば、該ネットワーク上の種々のサービスへのアクセスが可能となることを意味し、該ネットワークのサービス提供環境の単純化、効率化、統一化の各々に寄与することが可能となる。
【0052】
(8)本発明は、上記(6)に記載の通信装置において、前記論理多重識別子のポートに到達したコマンドを、該コマンドに対応する前記データリンクに依存するプロトコルのコマンドにマッピングするための対応テーブルを有することを特徴とする。
【0053】
このようにすれば、前記通信装置は、その論理多重識別子へのアクセスがあった場合のコマンド変換を、あらかじめ決められた手順で行うことが可能となり、これによって、前記電子的装置のサービスへのアクセスであることを認識し、実際にそのサービスを提供している実体に、その提供データリンクのプロトコルに合致したコマンド変換をした上で、そのコマンド送出を行うこと、すなわちサービス要求を行うことが可能となり、もって、全体の「サービス要求→サービス実現」の手順の実現を図ることが可能となる。
【0054】
また、ユーザエージェントは、前記電子的装置のサービスへのアクセスは、あくまで、そのコマンドを記述したレイヤで行われるものと認識していることとなるため、処理の単純化、すなわち該レイヤでのサービスアクセスの環境さえ整えておけば、該ネットワーク上の種々のサービスへのアクセスが可能となることを意味し、該ネットワークのサービス提供環境の単純化、効率化、統一化の各々に寄与することが可能となる。
【0055】
(9)本発明は、第1の通信手段に従えば通信できず、第2の通信手段に従えば通信可能な電子的装置と、第1の通信手段および第2の通信手段のいずれに従っても通信可能な電子的装置とが接続される可能性のあるネットワークに接続された通信装置におけるサービス登録方法であって、前記第1の通信手段を通じて前記電子的装置夫々から提供されるサービスに関する情報の登録を受け付け、前記第2の通信手段により存在が認識された電子的装置で、かつ、前記第1の通信手段を通じての前記通知がなかったものについて、登録すべき該電子的装置夫々により提供されるサービスに関する情報を前記第2の通信手段を用いて取得し、通知された前記サービスに関する情報および取得された前記サービスに関する情報をもとに、前記ネットワーク上のサービスディレクトリ情報を構成することを特徴とする。
【0056】
(10)本発明は、第1のプロトコルに従えば通信できず、第2のプロトコルに従えば通信可能な少なくとも1つの電子的装置が接続された通信装置におけるサービス提供方法であって、前記電子的装置により提供されるサービスへのアクセスのためのポートとして前記第1のプロトコルに従う自装置の論理多重識別子を割り当て、前記論理多重識別子で指定されたポートにコマンドが到達した場合に、このコマンドを、前記第2のプロトコルに従うコマンドに変換して、前記電子的装置に送信することを特徴とする。
【0057】
(11)本発明は、単一アドレス空間にマップされたレジスタの操作を行う通信手段と、前記通信手段によって認識された電子的装置(例えば、周辺機器、AV機器、家電機器等)の属性情報(例えば、uniqe ID、unit ID、capability等)を入手する入手手段と、前記通信手段に対して前記単一アドレス空間上のレジスタの操作を行う指示を発行することによって前記電子的装置を制御する装置制御プログラム(デバイスドライバソフト)の登録(OSへの組み込み)を、入手された前記電子的装置の属性情報に基づいて動作中に行う登録手段とを備えたことを特徴とする。
【0058】
本発明によれば、前記装置制御プログラムがいわゆるデバイスドライバの役割を果たすことになるが、本発明によれば、単一アドレス空間にマップされたレジスタの操作を行う通信手段によって入手された電子的装置の属性情報に基づいて、前記単一アドレス空間上のレジスタの操作を行う指示を発行することによって前記電子的装置を制御する装置制御プログラムを登録するので、動作中に必要に応じて、ドライブする対象の属性にあわせた装置制御プログラムをOSに組み込むことができる。
【0059】
また、装置制御プログラムがネットワークローダブルな形(例えばJAVA言語で記述された形)で提供されれば、OSの種別やハードウエアの種別を問わずに、装置制御プログラムの登録を行うことが可能となる。
【0060】
(12)本発明は、上記(11)に記載の通信装置において、前記登録手段は、前記入手手段により入手された前記電子的装置の属性情報に基づいて入手すべき装置制御プログラムの識別名を求める手段と、求められた前記識別名に基づいて、該当する装置制御プログラムを入手する手段とを有することを特徴とする。
【0061】
このようにすれば、前記電子的装置の属性に適合した装置制御プログラムを、必要に応じて入手し、デバイスドライバとして使用することができる。
【0062】
(13)本発明は、上記(11)または(12)に記載の通信装置において、前記電子的装置の属性情報は、前記電子的装置内の予め定められた構成情報記憶領域(例えば、コンフィグレーションROM、あるいはコンフィグレーション・メモリ)に記述されたものであり、前記入手手段は、前記構成情報記憶領域に記述された内容を読み取ることで前記属性情報を入手することを特徴とする。
【0063】
このように前記電子的装置の属性情報を当該電子的装置内の構成情報記憶領域を読み取ることで入手するようにすれば、構成情報記憶領域には通常そのデバイスの属性情報が記述されていることが期待され、適当な装置制御プログラムを入手するのための手がかりとなる適切な情報が得られることが期待される。
【0064】
(14)本発明は、上記(11)乃至(13)のいずれか1項に記載の通信装置において、前記単一アドレス空間は、IEEE1394バスの形で提供されることを特徴とする。
【0065】
IEEE1394バスは単一メモリ空間を実現するバスとして解釈することが可能であることから、上記機構をそのまま採用することが可能であり、本来困難であったネットワークのデバイスドライバのネットワークを介した動的ローディングが可能になり、ユーザの利便性を飛躍的に高めることができる。
【0066】
(15)本発明は、上記(12)乃至(14)のいずれか1項に記載の通信装置において、前記装置制御プログラムの識別名として、外部ネットワークの特定の資源を指示可能な識別名を用いることを特徴とする。
【0067】
このように、前記電子的装置の装置制御プログラムをネットワークローダブルとすれば、必要に応じて外部ネットワークから入手することが可能になり、前記通信装置は、あらかじめ想定される全ての装置制御プログラムを持たなければいけないという制約条件から開放され、ディスクやOSの容量の節約、ソフトウエアのバージョンアップ等、様々な利点を享受することが可能となる。
【0068】
好ましくは装置制御プログラムはJAVA言語等で記述されたものである。
【0069】
(16)本発明は、単一アドレス空間にマップされたレジスタの操作を行う手段により所定の電子的装置と通信可能な他の通信装置(第2の通信装置)との間での通信が、論理ネットワークを利用した通信手段によって可能である通信装置(第1の通信装置)であって、前記通信手段を通じて前記他の通信装置(第2の通信装置)に対して前記電子的装置(例えば、パーソナル・コンピュータ、周辺機器、AV機器、家電機器等)の属性情報(例えば、uniqe ID、unit ID、capability等)の取得を要求する手段と、前記電子的装置を制御する装置制御プログラム(デバイスドライバソフト)の登録(OSへの組み込み)を、前記要求により前記他の通信装置から入手した前記電子的装置の属性情報に基づいて動作中に行う手段と、前記他の通信装置(第2の通信装置)との間で前記通信手段を通じて前記単一アドレス空間上のレジスタの操作を行う指示に関する情報を送受信する手段とを備えたことを特徴とする。
【0070】
本発明によれば、制御主体である通信装置(第1の通信装置)は、論理ネットワークを通じて接続された他の通信装置(第2の通信装置)を仲介として前記電子的装置を利用するための機能を持つことができ、単一アドレス空間上のレジスタの操作を行う制御プログラムを変更することなく単一アドレス空間上にマップされたレジスタの操作を行う手段に限らず論理ネットワークを通じて遠隔の電子的装置を制御することが可能になる。
【0071】
好ましくは、前記要求により前記他の通信装置から入手した前記電子的装置の属性情報に基づいて動作中に行う手段は、入手された前記電子的装置の属性情報に基づいて入手すべき装置制御プログラムの識別名を求める手段と、求められた前記識別名に基づいて、該当する装置制御プログラムを入手する手段とを有するようにしても良い。
【0072】
また、好ましくは、前記電子的装置の属性情報は、前記電子的装置内の予め定められた構成情報記憶領域に記述されたものであり、前記属性情報は前記他の通信装置(第2の通信装置)により前記構成情報記憶領域に記述された内容を読み取られることで入手されたものであっても良い。
【0073】
また、好ましくは、前記単一アドレス空間は、IEEE1394バスの形で提供されても良い。
【0074】
また、好ましくは、前記装置制御プログラムの識別名として、外部ネットワークの特定の資源を指示可能な識別名を用いても良い。
【0075】
(17)本発明は、通信装置の動作中に装置制御プログラムを登録する装置制御プログラム登録方法であって、単一アドレス空間にマップされたレジスタの操作を行う所定の通信手段によって認識された電子的装置の属性情報を入手し、前記通信手段に対して前記単一アドレス空間上のレジスタの操作を行う指示を発行することによって前記電子的装置を制御する装置制御プログラムの登録を、入手された前記電子的装置の属性情報に基づいて動作中に行うことを特徴とする。
【0076】
なお、以上の各装置に係る発明は方法に係る発明としても成立する。
【0077】
また、上記の発明は、相当する手順、機能あるいは手段をコンピュータに実行させるためのプログラムを記録した機械読取り可能な媒体としても成立する。
【0078】
(18)本発明の通信装置は、第1のネットワークに接続して該第1のネットワークに依存するプロトコルで通信するサービス提供装置を第2のネットワークを介して制御するための通信装置において、前記サービス提供装置を制御するための前記第1のネットワークの通信プロトコルに依存する第1のコマンドに対応する前記第2のネットワークの通信プロトコルに依存する第2のコマンドに関する情報を少なくとも前記第2のネットワークを介して提供する提供手段と、この提供手段で提供された第2のコマンドを含むメッセージを前記第2のネットワークを介して受信する受信手段と、この受信手段で受信されたメッセージに含まれる第2のコマンドを前記第1のコマンドに変換し、該第1のコマンドで前記サービス提供装置を制御する制御手段と、を具備したことにより、特定のネットワークに依存せず、統一的なサービス提供環境を実現することが可能となる。
【0079】
(19)本発明の通信装置は、第1のネットワークに接続して該第1のネットワークに依存するプロトコルで通信するサービス提供装置を第2のネットワークを介して制御するための通信装置において、前記サービス提供装置の提供するサービスに関する情報を収集する収集手段と、この収集手段で収集されたサービスに関する情報に対応する前記サービス提供装置を制御するための前記第1のネットワークの通信プロトコルに依存する第1のコマンドに対応する前記第2のネットワークの通信プロトコルに依存する第2のコマンドに関する情報を少なくとも前記第2のネットワークを介して提供する提供手段と、この提供手段で提供された第2のコマンドを含むメッセージを前記第2のネットワークを介して受信する受信手段と、この受信手段で受信されたメッセージに含まれる第2のコマンドを前記第1のコマンドに変換し、該第1のコマンドで前記サービス提供装置を制御する制御手段と、を具備したことにより、特定のネットワークに依存せず、統一的なサービス提供環境を実現することが可能となる。
【0080】
(22)本発明の通信装置は、第1のネットワークに接続して該第1のネットワークに依存するプロトコルで通信するサービス提供装置を第2のネットワークを介して制御するための通信装置において、前記サービス提供装置を制御するための前記第1のネットワークの通信プロトコルに依存する第1のコマンドを発行するためのホームページを前記第2のネットワークを介して提供する提供手段と、この提供手段で提供された前記ホームページに基づくメッセージを前記第2のネットワークを介して受信する受信手段と、この受信手段で受信されたメッセージに基づき発行された前記第1のコマンドで前記サービス提供装置を制御する制御手段と、を具備したことにより、ホームページを受信し操作を行うユーザは、第1のネットワークに接続されたサービス提供装置のプロトコルが何であるかを問わず、具体的にはIEEE1394に接続されるAV機器のように、リンクレイヤ技術に依存するプロトコルしか解釈しない機器についても、遠隔制御を行うことが可能となる。
【0081】
(23)本発明の通信装置は、第1のネットワークに接続して該第1のネットワークに依存するプロトコルで通信するサービス提供装置を第2のネットワークを介して制御するための通信装置において、前記サービス提供装置の提供するサービスに関する情報を収集する収集手段と、この収集手段で収集されたサービスに関する情報に対応する前記サービス提供装置を制御するための前記第1のネットワークの通信プロトコルに依存する第1のコマンドを発行するためのホームページを前記第2のネットワークを介して提供する提供手段と、この提供手段で提供された前記ホームページに基づくメッセージを前記第2のネットワークを介して受信する受信手段と、この受信手段で受信されたメッセージに基づき発行された前記第1のコマンドで前記サービス提供装置を制御する制御手段と、を具備したことにより、ホームページを受信し操作を行うユーザは、第1のネットワークに接続されたサービス提供装置のプロトコルが何であるかを問わず、具体的にはIEEE1394に接続されるAV機器のように、リンクレイヤ技術に依存するプロトコルしか解釈しない機器についても、遠隔制御を行うことが可能となる。
【0082】
(24)本発明の通信装置は、第1のネットワークに接続して該第1のネットワークに依存するプロトコルで通信するサービス提供装置を第2のネットワークを介して制御するための通信装置において、前記サービス提供装置の提供するサービスに関する情報を収集する収集手段と、この収集手段で収集されたサービスに関する情報に基づき前記サービス提供装置を制御するための前記第1のネットワークの通信プロトコルに依存する第1のコマンドを発行するためのホームページを作成する作成手段と、この作成手段で作成されたホームページを前記第2のネットワークを介して提供する提供手段と、この提供手段で提供された前記ホームページに基づくメッセージを前記第2のネットワークを介して受信する受信手段と、この受信手段で受信されたメッセージに基づき発行された前記第1のコマンドで前記サービス提供装置を制御する制御手段と、を具備したことにより、ホームページを受信し操作を行うユーザは、第1のネットワークに接続されたサービス提供装置のプロトコルが何であるかを問わず、具体的にはIEEE1394に接続されるAV機器のように、リンクレイヤ技術に依存するプロトコルしか解釈しない機器についても、遠隔制御を行うことが可能となる。
【0083】
(25)なお、本発明の通信装置は、前記サービス提供装置の提供するサービス毎に予め定められた前記第1のコマンドに対応する該サービス提供装置を制御するための前記第2のネットワークの通信プロトコルに依存する第2のコマンドを登録したテーブルを具備し、前記収集手段で収集されたサービスに関する情報に対応する第2のコマンドに関する情報を該テーブルから取得して前記ホームページを作成することにより、ホームページには、第2のコマンド情報(遠隔制御コマンド)により実現できるサービス提供装置の遠隔制御の一覧を表示することが可能になり、もって運用可能な遠隔制御方法を列挙したホームページを作成することが可能になる。
【0084】
(26)また、本発明の通信装置は、前記メッセージは、前記サービス提供装置を制御するための前記第2のネットワークの通信プロトコルに依存する第2のコマンドを含み、前記制御手段は、前記第1のコマンドと前記第2のコマンドとの対応テーブルを参照して前記受信手段で受信されたメッセージに含まれる第2のコマンドを前記第1のコマンドに変換することにより、特定の第2のコマンド情報(遠隔制御コマンド)を前記受信手段を介して受信した場合に、それがどのような動作を第1のネットワークの所望の装置(この場合第1のネットワークに接続されたサービス提供装置)に行えばいいのかを、上記対応テーブルを参照すればわかるようになる。
【0085】
(27)また、本発明の通信装置は、前記メッセージは、前記サービス提供装置を制御するための前記第2のネットワークの通信プロトコルに依存する第2のコマンドと、前記第2のネットワークの通信プロトコルに依存するアドレスと、前記第1のネットワークに依存する前記サービス提供装置を特定するための多重識別子とを含み、前記制御手段は、前記第1のコマンドと前記第2のコマンドとの対応テーブルを参照して前記受信手段で受信されたメッセージに含まれる第2のコマンドを前記第1のコマンドに変換し、該第1のコマンドで前記多重識別子にて識別されるサービス提供装置を制御することにより、ホームページを受信したノードは、第2のコマンド情報(遠隔制御コマンド)として、ハイパーリンク参照された対象に働きかけることによって、制御対象である前記第1のネットワークに接続されたサービス提供装置を指定し、その所望の動作を指定することが可能となり、もって所望の前記第1のネットワークに接続されたサービス提供装置の遠隔操作を行うことが可能になる。
【0086】
(28)また、本発明の通信装置は、前記ホームページは、前記サービス提供装置を制御するための前記第2のネットワークの通信プロトコルに依存する第2のコマンドを含むメッセージを生成するためのプログラムを含み、前記制御手段は、前記第1のコマンドと前記第2のコマンドとの対応テーブルを参照して前記受信手段で受信されたメッセージに含まれる第2のコマンドを前記第1のコマンドに変換し、該第1のコマンドでサービス提供装置を制御することにより、ホームページを受信したノードは、それに対応付けられたプログラム(JAVAプログラム)を起動させ、制御対象である前記第1のネットワークに接続されたサービス提供装置を指定し、その所望の動作を指定するコマンドを発行させることが可能となり、もって所望の前記第1のネットワークに接続されたサービス提供装置の遠隔操作を行うことが可能になる。
【0087】
(29)また、本発明の通信装置は、前記制御手段は、前記受信手段で受信されたメッセージにて前記第1のコマンドを発行するためのプログラム(例えば、CGIスクリプト)を起動することにより、ホームページを受信したノードは、それに対応付けられたプログラム(CGIスクリプト)を起動させ、制御対象である前記第1のネットワークに接続されたサービス提供装置を指定し、その所望の動作を指定するコマンドを発行せせることが可能となり、もって所望の前記第1のネットワークに接続されたサービス提供装置の遠隔操作を行うことが可能になる。
【0088】
(30)また、本発明の通信装置は、前記メッセージには、情報を送信する際の通信プロトコルを指定する情報が含まれていることにより、前記ホームページを受信した相手ノードからの要求を受けて情報を送信する際に、その送出方法を特定することが出来るようになり、もって送信相手に確実に情報を送り届けることが出来るようになる。これは、送信すべき相手が、ネットワークレイヤパケットの受信能力の無い場合に特に有効である。また、送信情報を受信するノードが第2のコマンド情報(遠隔制御コマンド)と同一のネットワークレイヤプロトコルをサポートしていない場合や、送信情報のネットワークレイヤプロトコルへのカプセル化に多大なコストがかかる場合などにおいて、ネットワークレイヤプロトコル以外での情報送信を前記ホームページを受信した装置は促すことが可能になる。
【0089】
さらに、前記メッセージに、情報を送信する際の通信プロトコルを指定する情報の他に、情報を送信する際の該通信プロトコルに依存するヘッダ情報が含まれていてもよい。
【0090】
(35)本発明の通信装置(第5の実施形態)は、第1のネットワークと第2のネットワークに接続される通信装置であって、前記第1のネットワーク上の任意の装置の第1の論理多重識別子で提供されるサービスに第2の論理多重識別子を割り当て、前記第1の論理多重識別子とそのサービスを提供する前記第1のネットワーク上の装置の第1のアドレスと、前記第2のネットワークからアクセス可能な第2のアドレスと前記第2の論理多重識別子との対応関係を記憶する記憶手段と、前記第1の論理多重識別子の各サービスを前記第2のネットワークから前記第2のアドレスと前記第2の論理多重識別子とでアクセスできるサービスとして提示する提示手段と、前記記憶手段に記憶された対応関係に基づき、前記第1および第2のネットワーク間で前記提示手段で提示された前記第1のネットワーク上のサービスを提供するためのパケット転送を行うことにより、第1のネットワークが、第2のネットワークと異なるアドレス体系、例えば第2のネットワークがIPv4のアドレス体系で運用されている場合に、第1のネットワークがIPv6のアドレス体系で運用される場合や、第1のネットワークがプライベートIPアドレスの体系で運用されている場合などにおいて、第2のネットワークのユーザに対して、第1のネットワークで提供されているサービスへのアクセスを実現することができる。
【0091】
即ち、第2のネットワークのユーザに対しては、前記提示手段としての例えばホームページを用いて、前記第1のネットワークで提供されているサービスが本通信装置が提供しているものとして、第2のネットワークに対して提示する。前記第2のネットワークのユーザからのこのサービスへのアクセスがあった場合は、前記記憶手段に記憶された対応関係(アドレス・ポート番号変換テーブル)を用いて、前記第2のネットワークのユーザと本通信装置間のパケットを、本通信装置と前記第1のネットワークで提供されているサービス間のパケットに変換することで、前記第2のネットワークのユーザ、及び前記第1のネットワークで提供されているサービスからは透過的なパケットのやり取りを行っていると認識されることになる。
【0092】
(36)前記第1のネットワーク上の前記第1の論理多重識別子と各サービスを提供する装置の第1のアドレスを収集する収集手段をさらに具備したことにより、前記第1のネットワークのサービスについての収集情報をもとに、前記提示手段としての例えばホームページの自動更新を行うことが可能となる。
【0093】
(37)前記第2のネットワークから入力されるパケットのうち前記第1のネットワークへ転送可能なパケットの識別子を記憶する第2の記憶手段と、前記第2のネットワークから入力されるパケットのうち、前記記憶手段に記憶された識別子を有するパケットのみ前記第1のネットワークへ出力する出力手段と、を具備したことにより、予めユーザ認証を行うなどして、公衆網等の外部ネットワークから前記第1のネットワークへの不正パケットの侵入を防ぐことができる。
【0094】
【発明の実施の形態】
以下、図面を参照しながら発明の実施の形態を説明する。
【0095】
(第1の実施形態)
図1に本実施形態に係るシステムの構成例を示す。
【0096】
本実施例では図1に示すように公衆網2を介して2つの家庭内ネットワークが相互接続されているものとする。公衆網2は、電話網でもよいし、ISDN等の広い帯域の回線、あるいは専用線のようなものであってもよいし、インターネットであってもよい。ただし、好ましくは、サービスの利用・提供に必要な通信帯域を満足する網を利用する。
【0097】
第1の家庭内ネットワークは、第1のIEEE1394バス1から構成されている。また、このIEEE1394バス1には第1のAV接続装置4、パーソナル・コンピュータ(以下、PC)6、デジタルTV7が接続されているものとする。
【0098】
第2の家庭内ネットワークは、第2のIEEE1394バス3と、ホームオートメーション網12から構成されている。本実施形態では、このホームオートメーション網12には、エシェロン社のLON(ローカルオペレーティングネットワーク)を用いるものとする。エシェロン社のLONについては、例えばエシェロン社のホームページ(http://www.echelon.com)等から得られるの情報に詳しく記述されている。
【0099】
第2の家庭内ネットワークのIEEE1394バス3には、第2のAV接続装置5、DVDプレーヤ8、デジタルVTR9、PC10、プリンタ11が接続されているものとする。また、PC10はホームオートメーション網12にも接続されている。ホームオートメーション網12は、PC10のほかに、エアコン13と、電子レンジ14にも接続されている。
【0100】
これらのネットワークに接続されている端末群のうち、第1のAV接続装置4、PC6、第2のAV接続装置5、PC10、プリンタ11は、それぞれIPアドレス(ここではプライベートIPアドレスとする)を持っており、いわゆるIP端末である。第1のAV接続装置4のIPアドレスは192.168.2.254、PC6のIPアドレスは192.168.2.1、第2のAV接続装置5のIPアドレスは192.168.1.254、PC10のIPアドレスは192.168.1.1、プリンタ11のIPアドレスは192.168.1.2であるものとする。このように、本実施形態における端末のIPアドレスにはプライベートIPアドレス(公衆網2がインターネットではなくISDN等である場合)またはグローバルIPアドレス(公衆網2がインターネットである場合)を使用しており、各々の端末間のルーチングのためのルーチング機構の設定(IPルーチングテーブルの設定など)は適切に行われているものとする。なお、現在グローバルIPアドレスは32ビットであるが、近い将来に128ビットになる見込みであり、各端末にグローバルIPアドレスを割り当て可能な環境は現実のものとなりつつある。
【0101】
一方、デジタルTV7、DVDプレーヤ8、デジタルVTR9は、いわゆる1394端末であり、1394プロトコル群(IEEE1394−1995,IEC1883,IEEE1394AV/C,SBPなど)のみを解釈する端末である。
【0102】
また、エアコン13、電子レンジ14は、いわゆるLON端末であり、LONで定められたプロトコル群のみを解釈する端末である。
【0103】
第1のAV接続装置4および第2のAV接続装置5は、それぞれ、2つ以上のネットワーク(本実施形態の場合IEEE1394バスと公衆網)の間を相互接続する機能を基本的に有する。図2に、本AV接続装置4,5の内部構成を示す。
【0104】
図2に示されるように本実施例のAV接続装置は、1394インタフェース21、データリンクスイッチ22、公衆網インタフェース23、IP処理機能24、FANP処理機能25、1394/IPサービスロケーション処理機能26、サービスロケーション代理機能27、1394AVコマンド処理機能28、1394/IPコマンド変換機能29を有する。これらの各機能は、それぞれ、ハードウエアにより実現してもよいし、ソフトウエアにより実現してもよい。
【0105】
1394インタフェース21は、1394バスとのインタフェースとなる機能である。
【0106】
データリンクスイッチ22は、ネットワーク間をまたがるデータ転送を行うためのスイッチであり、より詳しくは、データリンクレイヤ識別子/情報のみの参照(例えば同期チャネル識別子や、ATM−VCI、伝送波長などの参照)によって、明示的にそのデータの転送先が予め判るように、例えばFANPなどのプロトコルによって設定をしておき、1394バスから入力されたデータを公衆網に転送しおよび公衆網から入力されたデータを1394バスに転送するためのスイッチである。
【0107】
公衆網インタフェース23は、公衆網とのインタフェースとなる機能である。例えば、公衆網のデータリンクレイヤがATMであれば、物理的にはATMのインタフェースを、論理的にはATMシグナリングの機能などを持つことになる。
【0108】
IP処理機能24は、TCP/UDP/IPなど、一連のインターネットプロトコル(TCP/IPプロトコルスーツ)の諸機能である。
【0109】
FANP処理機能25は、データの伝送経路のデータリンクレイヤでの帯域や仮想伝送路識別子の確保、整合を行う機能である。なお、FANP処理機能の詳細は例えば文献「『レジデンシャル環境におけるネットワーク相互接続方式』、電子情報通信学会、情報ネットワーク研究会研究報告IN97−19、pp.73−78、1997年」(あるいは特願平8−264496、特願平8−272672、特願平9−52125)等にて説明されている。
【0110】
FANP処理機能25は、映像データ等のようにある程度広い帯域を保証する必要のあるサービスを扱う場合には設けることが望ましいものであり、帯域保証を必要としない場合には省いても構わない。なお、FANP処理機能の代わりにRSVPプロトコル(Resource ReSerVation Protocol;インターネットドラフトのdraft−ietf−rsvp−spec−08.txt)に従った処理機能等を用いることも可能である。
【0111】
また、提供するサービスに応じてFANP処理機能25等の使用を制御するようにしてもよい。例えば、IPアドレスとポート番号の組毎にFANP処理機能25等を使用するか否かを決定するようにしてもよい。あるいは、ユーザからの明示的な要求により使用することを決定するようにしてもよい。
【0112】
1394/IPサービスロケーション処理機能26は、1394バスに接続された端末あるいはサービスを検索しあるいはその登録を受け、1394バス上にどのような端末/サービスが存在しているのかを認識し、要求された場合など必要に応じてその情報を外部に通知する機能を持つ。1394/IPサービスロケーション処理機能26は、少なくともサービスロケーションプロトコル(インターネットドラフトのdraft−ietf−svrloc−protocol−16.txt)の処理機能を持つ。
【0113】
サービスロケーション代理機能27は、公衆網側に対して、IPベースのサービスロケーションの形でサービスロケーションプロトコルを稼動する。また、1394バスに接続されたサービスあるいは端末、すなわちIPベースではなく、一連の1394プロトコルしか認識、処理できないIEEE1394専用プロトコル端末/サービス(第1の家庭内ネットワークではデジタルTV7、第2の家庭内ネットワークではDVDプレーヤ8とデジタルVTR9)についても、本AV接続装置がそれらサービスあるいは端末の代理サーバとなって、それら端末/サービスを広告する機能を持つとともに、これら広告されたサービスを公衆網側(一般的にはIP側)から受け取った場合に、それらをIEEE1394のコマンドあるいはサービスにマッピングすべく1394・IPコマンド変換機能29に通知する機能を持つ。
【0114】
1394AVコマンド処理機能28は、IEEE1394の端末制御プロトコル(たとえば1394AV/Cプロトコルや、SBPなど)の処理機能である。
【0115】
1394/IPコマンド変換機能29は、IPを使って送られてきたあるいは送る制御コマンド(例えばRTSP(Real Time Stream Protocol)など;なお、RTSPについては、例えばインターネットドラフトdraft−ietf−mmusic−rtsp−02.psにて詳しく説明されている)と、1394バス上を送られるIEEE1394の端末制御コマンド(例えば1394AV/CプロトコルやSBPのコマンド)を相互に変換して、相手側に通知する機能を持つ。
【0116】
次に、第2の家庭内ネットワークにおいて、第2のAV接続装置5が、第2の家庭内ネットワークに関する情報を取得する手順、すなわち第2の家庭内ネットワーク上に存在する端末およびサービスを認識する手順について説明する。
【0117】
図3にIEEE1394特有の機構を用いた端末/サービス収集手順のシーケンスの一例を示す。1394バスに接続される端末には、それぞれ、その端末についての所定の情報が書き込まれたコンフィグレーションROMが格納されている。図3では、第2のAV接続装置5は、1394バス3につながる各装置8〜11のコンフィグレーションROMの読み込み(リード)を行い、各装置8〜11の情報収集を行う。この情報収集は、1394バス3につながる端末すべてに対して行ってもよい。
【0118】
以下では、コンフィグレーションROMに記述する情報についていくつかの例を示す。ここでは、PC10のコンフィグレーションROMを例にとって説明する。なお、本実施例では、IEEE1394の仕様書にならい「ROM」という語句を用いているが、実際には「レジスタ」あるいは「メモリ空間の一部」と認識されればよく、ROMでない場合(RAM等の場合)も含むものとする。
【0119】
図4に、コンフィグレーションROMに記述する情報の第1の例を示す。この例では、コンフィグレーションROMには、その端末についての基本的情報であるノード情報(例えばベンダID、ノードケーパビリティなど)(図4中31)の他に、ユニット情報として、そのPC10が行うサービスを記述するものである。すなわち、このPC10は、WWWサーバ、デジタルアルバムサーバ機能を有しており、これらがコンフィグレーションROMの内容に反映されている(図4中32、33)。このようにコンフィグレーションROMに記述しておくことによって、1394バスにつながる他の端末に対して、自身がどのような端末であるのかを説明するだけではなく、自身がどのようなサービスを行っているかを知らしめることが可能となる。この機能は、特にPCのように、一つの端末に複数の機能が実現されているような場合にきわめて有益である。具体的にコンフィグレーションROMに記述される情報としては、サービス種別、そのサービスの属性(そのサービスを受けるために使用する種々のパラメータ等で、例えば最大データ転送速度、装置仕様、設定パラメータ等)などである。
【0120】
ところで、PC10は、ホームオートメーション網12にも接続されており、これらのホームオートメーションのサーバともなっている。つまり、ホームオートメーション網12につながる各種機器(ここではエアコン13と電子レンジ14)の制御はこのPC10が行う構成となっている。言い換えると、このPC10にアクセスすることにより、第2の1394バス3につながる端末は、ホームオートメーション12網につながる各種機器の制御を行うことができることを意味する。このことを、第2の1394バス3上の端末に知らしめるために、ホームオートメーション網12についての情報(サービス情報)もPC10のコンフィグレーションROMに格納している。
【0121】
まず、ホームオートメーションサービスを行っていることを示す情報がコンフィグレーションROMに格納されている(図4中34)。1394バス上では、これを一つのユニットであると認識させてもよい。次に、このユニット依存ディレクトリとして、エアコンサービス、電子レンジサービスが提供されていることを示す情報がそれぞれコンフィグレーションROMに記述されている(図4中35、36)。このようにすることにより、1394バスにつながる他の端末は、1394バスではない別のネットワークに接続されたサービスについても、どのようなサービスがどのように行われているのかを知ることができるようになり、サービスの認識やその操作性の大幅な向上が見込まれる。
【0122】
次に、図5に、コンフィグレーションROMに記述する情報の第2の例を示す。第1の例では、コンフィグレーションROMには、その端末についてのユニット情報として、その端末が行うサービスについての記述が行われていたのに対して、第2の例では、サービスについての記述(図5中45〜50)の他に、端末別の情報も記述してある(図5中42〜44)。これらは、それぞれユニット情報として格納されており、それぞれユニット依存ディレクトリとして格納されていてもよい。また、端末別の情報とサービス別の情報であることを区別するために、それらの区別(どちらのユニットか)を示す領域(それぞれ図5中42、45)が存在してもよい。
【0123】
ここでは、端末別情報として、PC10にホームオートメーション網12を介して接続されている端末(エアコン13と電子レンジ14)についての情報がそれぞれ格納されている(図5中43、44)。これらを参照することによって、他の1394ノードは、1394バスにつながるノードばかりでなく、その1394バスにつながるノードに接続された他のノード(本実施例ではエアコン13と電子レンジ14)についての情報も、1394レベルで得ることが可能となり、家庭内ネットワークの統合的な管理や制御にきわめて有効である。
【0124】
また、第1の例と同様に、このPC10は、WWWサーバ、デジタルアルバムサーバ機能等を有する場合、これらがコンフィグレーションROMに反映される(図5中45〜50)。その記述の具体的ルールは、基本的に第1の例と同様である。
【0125】
次に、図6に、コンフィグレーションROMに記述する情報の第3の例を示す。この例は、PC10自身についての情報のみを格納する場合である。この場合は、第1の例や第2の例と異なり、サービスをベースとした記述ではなく、ノードとしての情報すなわち自身についての装置としての情報のみを記載することになるので、ユニット情報としては、自身がPCあるいはPCボード(例えば1394PCIボード)である旨が記載される。
【0126】
さて、前述のようにして第2のAV接続装置5にて収集された第2の家庭内ネットワーク上の端末/サービス情報を、例えば当該第2のAV接続装置5のコンソール上に表示することにより、ユーザにその操作を促すことができる。その際の表示方法として、サービス別の表示を行うことも可能であるし、端末ベースの表示を行うことも可能である。
【0127】
図7にサービス別の表示を行う場合の画面例を示す。図7のように、第2の家庭ネットワーク上に展開されているサービス別に1つづつアイコン(i1〜i7)が用意され、ユーザは所定のユーザインタフェースにより使用したいサービスを指示することで(例えばマウス装置を用いてクリックしあるいはドラッグアンドドロップすることで)、そのサービスにアクセスすることが可能となる。
【0128】
ここで、図7のサービス別のアイコンの画面表示は、ネットワークの種別を問わず、第2のIEEE1394バス3に接続されたサービスも、ホームオートメーション網12に接続されたサービスも区別なく同様に表示されている。これは、一般にユーザにとってはそのサービスがどの物理ネットワークにつながっているかどうかは関心が無いため、上記のように区別なく表示するのが好ましいと考えられるからである。これによってユーザに物理ネットワークを意識させた場合に生じるであろう混乱を防止することができる。
【0129】
なお、画面には必ずしもコンフィグレーションROMに書き込んである情報そのものを表示させる必要は無く、対応する別の情報を表示するようにしてもよい。例えば、コンフィグレーションROMに書き込まれている情報は、一般的に専門家向けのコードであることが多いと考えられ、一般ユーザにはなじみの薄い用語であることが多いと考えられる。具体例を挙げると、コンフィグレーションROMに「デジタルVCR」を意味するコードが書かれていたとしても、日本人にはこの用語はなじみが薄い。そこでこのような場合、「デジタルVCR」の代わりに、一般ユーザによりなじみ深い「ビデオ」あるいは「ビデオデッキ」等と表示するようにしても良い。
【0130】
次に、図8に端末別の表示を行う場合の画面例を示す。サービス別の場合と同様に、第2の家庭ネットワーク上に展開されている端末別に1つづつアイコン(i11〜i15)が用意され、ユーザは所定のユーザインタフェースにより使用したいサービスを指示することで(例えばマウス装置を用いてクリックしあるいはドラッグアンドドロップすることで)、そのサービスにアクセスすることが可能となる。この場合も、画面表示ではネットワークの種別を問わず、第2のIEEE1394バス3に接続されたサービスも、ホームオートメーション網12に接続されたサービスも区別なく表示されている。
【0131】
以上、1394バスのコンフィグレーションROMの読み込みによって、端末あるいはサービスを認識する方法であった。
【0132】
次に、サービスロケーションプロトコルを利用したサービスの登録について説明する。
【0133】
インターネットの標準化機関であるIETFでは、サービスロケーションプロトコルを用いたサービスの登録、検索方式を検討している。これらでは、IP端末を対象に、サービスをあらかじめいくつかに分類し、
(1)それらのサービス別にディレクトリエージェント(本実施形態においてはディレクトリサーバともいう)に、そのサービスを行うサーバの位置情報を登録する。ユーザは、このディレクトリエージェントに問い合わせをすることで、サービスの位置を知ることができるようになる。
【0134】
(2)サービス別にIPマルチキャストアドレスを用意する。あるサービスを要求しているユーザは、そのIPマルチキャストアドレスに対して、「そのサービスはどこだ?」という意味のメッセージを飛ばす。そのサービスを提供しているサーバは、これに呼応することで、ユーザはそのサービスを提供しているサーバの位置を知ることができるようになる。
【0135】
という2つの方法でサービス登録、検索ができるようになっている。
【0136】
本実施形態では、第2のAV接続装置5が、上記(1)のサービスロケーションプロトコルのディレクトリエージェントとなっている。
【0137】
第2の家庭内ネットワーク上のIP端末(図1ではPC10とプリンタ11)は、その提供しているサービスをディレクトリエージェントである第2のAV接続装置5に登録する。まず、IP端末は、ネットワーク上のどこにディレクトリエージェントが存在しているかどうかを調査し、サービス情報を登録するための手順を踏む。これについて、PC10がサービスを登録する場合を例にして、図9を参照しながら説明する。
【0138】
PC10は、サービスリクエストメッセージを第2のIEEE1394バス3に対して、送出する。サービスリクエストメッセージは「このサービスを提供しているサーバは返事をしてください」という意味のメッセージであり、本例の場合より具体的には「ディレクトリサービスを提供してるサーバは返事をしてください」という意味のメッセージを送出する。
【0139】
サービスリクエストメッセージには対象とするサービス種別を特定するために「predicate」領域が設けられており、この領域に「ディレクトリサービス」と記述し、さらに宛先をディレクトリエージェント(DA)ディスカバリマルチキャストアドレス(IPアドレス)としてこのメッセージを送出する。
【0140】
本実施形態においては、第2の家庭内ネットワークにおいて、IPパケットが到達するネットワークを第2のIEEE1394バス3のみとするため、PC10から送出されたサービスリクエストメッセージは、ディレクトリエージェントである第2のAV接続装置5とプリンタ11に到達する。
【0141】
サービスリクエストメッセージを受け取ったディレクトリエージェントである第2のAV接続装置5は、自身がディレクトリエージェントであることを通知するために、「ディレクトリエージェント(DA)アドバタイズメント」をPC10に送り返す。なお、プリンタ11は、自身がディレクトリエージェントではないことから、サービスリクエストメッセージを無視する(通常はリンクレイヤが受け取らない)。
【0142】
次に、PC10は、ディレクトリエージェント(DA)アドバタイズメントを受け取ることで、ディレクトリエージェントが第2のAV接続装置5に存在することを認識する。
【0143】
次に、PC10は、自身が提供しているサービスのディレクトリエージェントへの登録を行う。本実施形態では、PC10は、自身がWWWサービス(具体的にhttpサーバ)とデジタルアルバムサービスを提供するとともに、さらにホームオートメーション網12につながるエアコン13と電子レンジ14のサービスについても代理サーバとして外部からのサービス要求を受けられるようになっている。
【0144】
サービス登録にあたってPC10は、PC10自身が提供しているWWWサービスとデジタルアルバムサービスのそれぞれについて、その位置情報や属性情報等を登録するとともに、ホームオートメーション網(LON)12上のサービスそれぞれについても、エアコン13と電子レンジ14に代わってその位置情報や属性情報等の登録を行う。
【0145】
図10の(a)、(b)にそれぞれWWWサービス、デジタルアルバムサービスの登録情報の内容の一例を示す。WWWサービス、デジタルアルバムサービスの位置情報としてPC10のIPアドレスと各サービス毎に定められたポート番号を含むURLが用いられている。
【0146】
また、図10の(c)、(d)にそれぞれPC10が代理するエアコンサービス、電子レンジサービスの登録情報の内容の一例を示す。この場合、各代理サービス用にPC10のポート番号を割当てる。図10の例ではLON上のエアコンサービスには15000を、LON上の電子レンジサービスには15001を割当てている。これによって、外部の端末は、PC10上にエアコンサービスと電子レンジサービスが存在すると解釈すとともに、しかも、それらサービスはIPレベルでのサービスであると解釈する。
【0147】
外部の端末が、ホームオートメーション網12のエアコンサービスにアクセスしたいときはPC10のポート番号15000にアクセスし、電子レンジサービスにアクセスしたいときはPC10のポート番号15001にアクセスする。一方、PC10は、ポート番号15000にアクセスされた場合にはエアコン向けのサービス要求であると解釈し、またポート番号15001にアクセスされた場合には電子レンジ向けのサービス要求であると解釈し、渡されたIPの制御コマンドをLONの制御コマンドに翻訳し、これをホームオートメーション網12上の実際の機器(エアコン13または電子レンジ14)に向けて送出する。この操作についてはエアコンサービスへのアクセスを例にとって後述する。
【0148】
このように図9のサービス登録によって、第2のAV接続装置5に、WWWサービス、デジタルアルバムサービス、LON上のエアコンサービス、LON上の電子レンジサービスが登録されることになる。サービス登録が成功すると、ディレクトリエージェントである第2のAV接続装置5はサービスアクノリッジ(ACK)をPC10に向けて返送する。
【0149】
なお、同様にしてプリンタ11から第2のAV接続装置5に対してプリンタサービスの登録が行われる。
【0150】
以上のように、サービスロケーションプロトコルの登録の手続きにより、WWW、デジタルアルバム、エアコン、電子レンジ、プリンタの各サービスがディレクトリエージェントである第2のAV接続装置5に登録されることになる。
【0151】
さて、この登録手順により得られる情報と、先説明したIEEE1394上のコンフィグレーションROMの読み込みにより得られる情報と合わせて、第2の家庭内ネットワーク上のサービス情報を構成することが可能である。
【0152】
その構成方法はさまざまな種類が考えられるが、本実施形態では、その一例として、(i)サービスロケーションプロトコルにて登録されたサービスについては、これを優先的に表示し、(ii)ここに現れないサービス、具体的には、サービスロケーションプロトコルでは認識されないノードであって、かつ、IEEE1394上のコンフィグレーションROMの読み込みでは認識されたノードについては、コンフィグレーションROMの情報に基づいてサービス情報を構成し、(i)と(ii)の両者の情報を併せて、一つの「第2の家庭内ネットワーク上のサービスディレクトリ情報」としてユーザおよび外部に紹介するという方法である。
【0153】
より具体的には、サービスロケーションプロトコルの登録の手続きにより認識された、WWWサービス、デジタルアルバムサービス、エアコンサービス、電子レンジサービス、プリンタサービスと、IEEE1394上のコンフィグレーションROMの読み込みにより認識されたDVDプレーヤサービスと、ビデオサービスを合わせて、全サービスが認識される。そして、例えば図7のように第2のAV接続装置5のコンソール上に、第2の家庭ネットワーク上に展開されているサービス別に1つづつアイコン(i21〜i27)が表示される。また、前述と同様にユーザは所定のユーザインタフェースにより使用したいサービスを指示することで(例えばマウス装置を用いてクリックしあるいはドラッグアンドドロップすることで)、そのサービスにアクセスすることが可能となる。
【0154】
ところで、サービスの提供を受けるユーザ端末であるユーザエージェントは、自身が接続されているIEEE1394バス上のサービスに関する情報をディレクトリエージェントに問い合わせて入手することもできるが、その代わりに前述したディレクトリエージェントへのサービスに関する情報の登録手順と同様の手順により、自身が各装置からの通知を受けることとで、サービスに関する情報を入手することもできる。
【0155】
次に、第1の家庭内ネットワークのユーザ(つまり1394バス1に接続された端末のユーザ)が、公衆網2を介して、第2の家庭内ネットワーク内の端末(つまり1394バス3またはホームオートメーション網12に接続された端末)を遠隔操作して所望の動作をさせる場合について説明する。
【0156】
図1に示されるように、第1の家庭内ネットワークと、第2の家庭内ネットワークとは、公衆網2で相互接続されている。前述したように公衆網2は、電話網でもよいし、広い帯域の回線、あるいは専用線のようなものであってもよいし、インターネットであってもよい。また、IPアドレスにはプライベートIPアドレス(公衆網2がインターネットではなくISDN等である場合)またはグローバルIPアドレス(公衆網2がインターネットである場合)を使用するものとする。
【0157】
ここで、第1のAV接続装置4は、第1の家庭内ネットワークのディレクトリエージェントであり、先に第2のAV接続装置5について説明したものと同様の手順によりネットワーク内のサービスを認識しているものとする。より具体的には、端末としてはPC6とデジタルTV7が認識され、サービスとしてはPC6により提供されるなんらかのサービスとデジタルTVサービスが認識される。
【0158】
さて、最初のフェイズとして、第1の家庭内ネットワークのユーザに対して、第2の家庭内ネットワーク内のサービスを提示するために、第1のAV接続装置4は、第2の家庭内ネットワークのサービス情報(ディレクトリ情報)を収集することを試みる。その際、第1の家庭内ネットワークと第2の家庭内ネットワークとは、インターネットプロトコルにて通信を行うものとする。なお、本実施形態の手法は別のプロトコル、例えばIPXやNetBEUI等を用いた場合も同様に適用可能である。
【0159】
図12に、サービス情報の収集のために第1のAV接続装置4と第2のAV接続装置5との間で行われる情報交換の手順の一例を示す。
【0160】
まず、第1のAV接続装置4は、第2の家庭内ネットワーク内のディレクトリエージェントを検索するため、第2の家庭内ネットワークに向けて、「predicate」をディレクトリエージェントとしたサービスリクエストを送出する。これを実現するためには、例えば、ホップ数を複数にして(スコープが他の家庭内ネットワークも含むようにして)IPマルチキャストを送付する方法や、第2の家庭内ネットワークに対してソースルーチングあるいはルーチングヘッダを付けた上で、上記IPマルチキャストアドレスに送付する方法などが考えられる。
【0161】
ここで、相手側の家のIPアドレス、特にIPサブネットアドレス(すなわちネットワークのアドレス)を知る方法としては、例えば、相手側の家に対して、ルーチングプロトコルによってルーチング情報を交換して、相手側のアドレスを知る方法などが考えられる。
【0162】
さて、このサービスリクエストを受信した第2の家庭内ネットワークのディレクトリエージェントである第2のAV接続装置5は、自身がディレクトリエージェントである旨を伝えるためにディレクトリエージェントアドバタイズメントを第1のAV接続装置4に伝える。
【0163】
次に、第1のAV接続装置4は、第2の家庭内ネットワークでどのようなサービスが提供されているかを知るために、サービスタイプリクエストを第2のAV接続装置5に送付する。
【0164】
第2のAV接続装置5は、サービスタイプリプライとして、WWW(URLで表記されたサービス名はhttp)、デジタルアルバム(同album)、プリンタ(同lpr)の他に、LONに接続されたエアコン(同aircon_lon)、LONに接続された電子レンジ(同microwave_lon)、1394端末であるDVDプレーヤ(同DVD1394)、1394端末であるデジタルVTR(同DVTR1394)が通知される。例えば図12に示すように、「Service:http://」、「Service:album://」、「Service:lpr://」、「Service:aircon_lon://」、「Service:microwave_lon://」、「Service:DVD1394://」、「Service:DVTR1394://」が通知される。
【0165】
LONに接続された機器については、PC10から通知されたサービス情報(サービスのロケーションを表すURL情報)を、そのまま第1のAV接続装置4に通知している。すなわち、IPのサービスロケーションプロトコルで登録されたサービスについては、そのまま第1のAV接続装置4に通知している。
【0166】
第2の家庭内ネットワークのディレクトリエージェントである第2のAV接続装置5が1394端末/サービスとしてしか認識できなかったサービスについては、ディレクトリエージェントである第2のAV接続装置5自身がそのサービスの代理サーバとしてサービスを提供することを試みるために、「1394上のDVD」、「1394上のDVTR」という意味で、「service:DVD1394」、「service:DVTR1394」という新しいサービスカテゴリを用いてIP上で第1のAV接続装置4に紹介している。
【0167】
次に、これら情報を受け取った第1のAV接続装置4は、受け取ったそれぞれのサービスについての詳細情報を収集するための手順に入る。
【0168】
その収集方法の一例を以下に示す。すなわち、上記サービスタイプリプライで受信した全サービスについて、あるいはそのうち第1のAV接続装置4側にとって興味のあるサービスについて、そのロケーションと属性情報を得るために、それぞれサービスリクエストおよび属性リクエストをディレクトリエージェントである第2のAV接続装置5に送付する。サービスリクエストに対しては、サービスリプライ(具体的には、そのサービスのロケーション情報であるURL;例えば、URL : Service:DVD1394://192.168.1.254:20000)が返答され、属性リクエストに対しては、属性リプライ(そのサービスの属性情報;例えば、1394上のDVDの属性情報)が返答される。なお、詳細についてはサービスロケーションプロトコルのドキュメント(例えばインターネットドラフトのdraft−ietf−svrloc−protocol−16.txtなど)に記述されている。
【0169】
図12にはDVD1394サービスについての上記手続きについて記述してあるが、その外の全てのサービスについても同様にして情報を収集すると、第1のAV接続装置4は、第2の家庭内ネットワークのサービス情報を図13のように収集できる。
【0170】
ここで、DVD1394、DVTR1394のそれぞれのサービスについては、先にも述べたように、第2のAV接続装置5がこれらのサービスの代理サーバとして、外部からのサービス要求を受けられるようになっている。すなわち、具体的なサービスの具現である、IPのプロトコルである遠隔コマンドプロトコル等を、1394ノードに代わって第2のAV接続装置5が受け、これを1394ノードと1394プロトコルに変換してやり取りする(なお、その詳細については後述する)。このようにすることにより、本来1394プロトコルでしかやり取りのできないサービス(ここではDVDサービスとDVTRサービス)について、ネットワークを問わないプロトコルであるIPのサービス紹介プロトコルを通して紹介することができるため、ネットワークを問わず、任意のIPノードから、上記1394ノードへのコマンドの送付、制御が可能となる(可制御となる)。
【0171】
各種リプライで収集された情報のうち第2のAV接続装置5が代理で受付るサービス(DVDサービスとDVTRサービス)については、そのサービス窓口となるポート番号、すなわち各代理サービス用のポート番号を割当てるようにする。このポート番号は、あらかじめ標準化機関などによって割当てがなされたものであってもよいし、ノード同士のネゴシエーションにより決められたものであってもよい。本実施形態の場合は、1394上のDVDサービスについては20000、1394上のDVTRサービスについては20001とする。これによって、外部の端末(例えば第1の家庭内ネットワーク上の端末)は、第2の家庭内ネットワーク上に上記サービスが存在すると解釈するとともに、しかも、それはIPレベルでのサービスであると解釈する。
【0172】
さて、第1の家庭内ネットワーク上の端末、例えば第1のAV接続装置4は、例えば図14のように、そのコンソール上に、自身が認識しているサービスの一覧表示という形で、第1の家庭内ネットワークについての情報に加えて、第2の家庭内ネットワーク(例えば○○さん宅の家庭内ネットワーク)上のサービスの情報についても、前記サービスロケーションで取得した情報に基づいて表示する。この表示の仕方は図11のものと同一の方針によるものであってもよい。
【0173】
次に、外部の端末が第2の家庭内LANの各種サービスにアクセスしたいときは、図13のURLで紹介されているアドレスとポート番号にそれぞれアクセスする。
【0174】
例えば、ユーザが第1のAV接続装置4を操作して、第2の家庭内LAN上の1394端末であるDVDプレーヤ8から映像を公衆網2を介して持ってきて、これをデジタルTV107に映し出す場合を考える。
【0175】
ユーザの実際の操作は例えば次のようになる。ユーザはまず図14のDVDプレーヤのアイコンをクリックする。すると例えば図15のようなDVDプレーヤ操作のための操作ボタン群が画面に表示される。次にユーザは所望の操作ボタンをクリックするなどしてDVDプレーヤ8の遠隔操作を行う。また、受信端末がデジタルTVであることをクリック等、なんらかの入力方法で指定する。
【0176】
図16に、このときに実際のネットワーク上を流れるコマンド群、プロトコル群についてのシーケンスの一例を示す。
【0177】
まず、第1のAV接続装置4は、デジタルTV7に映像を流し込んで、これを表示させるための設定を行うべく、以下のようなシーケンスの動作を行う。すなわち、IEC1883プロトコルにしたがって、第1のIEEE1394バス上の同期チャネルを確保する。このとき、取得した同期チャネルの同期チャネル番号は#yであるとする。
【0178】
次に、第1のAV接続装置4は、デジタルTV7の電源をオンにし、同期チャネル#yからの映像を画面に映し出すための、あらかじめ1394TA等の標準化団体で定められた制御コマンド(例えば1394AV/Cプロトコル)を使って、コマンドを送付する。コマンドが受け付けられたなら、ACKを第1のAV制御装置4に返すようにしてもよい。これにより、第1のAV接続装置4からデジタルTV7までの回線が確保されたことになる。
【0179】
これと相前後してまたは並行的に、第1のAV接続装置4は、第2のAV制御装置5に対して、DVDプレーヤ8に対するコマンドを発行する。ここで、第1のAV接続装置4は、DVDプレーヤ8はIPサービスであると解釈している。コマンドは、第2のAV接続装置5(IPアドレス=192.168.1.254)の代理サーバのポート、すなわち20000に対して発行される。
【0180】
ここで、遠隔操作のためのコマンドとしては、例えばRTSP(RealTime Streaming Protocol)を利用する。RTSPは、遠隔のリアルタイム信号の制御を行うためのプロトコルであり、インターネットの標準化機関であるIETFで議論が行われている。詳細については例えばインターネットドラフトdraft−ietf−mmmusic−rtsp−02.psに開示されている。
【0181】
第1のAV接続装置4は、DVDプレーヤ8を再生させるために必要なコマンド(例えばSETUPコマンドや、PLAYコマンド)をRTSP上で発行する。
【0182】
RTSPのSETUPコマンドを受信した第2のAV接続装置5は、今後DVDプレーヤ8に対する制御が開始されると解釈し、DVDプレーヤ8が接続されている第2のIEEE1394バス3上に映像伝送のための帯域、すなわち同期チャネルの確保を行う。これは、IEC1883により行われる。ここで、確保された同期チャネル番号を#yとする。帯域は、経験的な値(例えばMPEGなら6Mbps等)を用いることとしてもよいし、メッセージ中に要求値を含めてもよい。
【0183】
また、RTSPのPLAYコマンドを受信した第2のAV接続装置5は、これを1394コマンド、すなわち1394AV/Cプロトコル等、1394端末間のプロトコルとして規定された、対応するコマンド(例えばDVD−PLAYというコマンドが規定するものとする)により、コマンドをDVDプレーヤ8に発行する。
【0184】
このようなコマンドの変換は、1394/IPコマンド変換機能29にて行われる。その処理の流れを図17を参照しながら説明する。IP上のコマンドはサービスロケーション代理機能27により受信される。受信されたコマンドは1394/IPコマンド変換機能29によりコマンド変換される。具体的には、DVD用のコマンド対応テーブル61、DVTR用のコマンド対応テーブル62といったように、IP上のコマンド(あるいは操作)と1394上のコマンド(あるいは操作)との関係を記述したテーブルをサービス別に設け、これらサービス別テーブルをもとにIPで送付されてきたコマンドを1394のコマンドに変換し、これを1394AVコマンド処理機能28に渡し送出を指示する。そして、指示を受けた1394AVコマンド処理機能28により実際のコマンドの送出が行われる。
【0185】
なお、上記とは逆の方向にコマンドが流れる場合、すなわち1394コマンドが入力されこれをIPコマンドに変換して出力する場合も、手順は同じ様になる。すなわち、1394コマンドは1394AVコマンド処理機能28により受信され、これが1394/IPコマンド変換機能29においてサービス別テーブルをもとにIPコマンドに変換され、これがサービスロケーション代理機能27により送出される。
【0186】
さて、このようにしてコマンドがDVDプレーヤ8に到達すると、実際の映像データの送信が第2の1394バス3の同期チャネル#xを通して行われる。これは、ACK信号が返った後(なお、ACK信号は公衆網(ISDNあるいはインターネット等)上ではRTSPのOKに変換されてもよい)、実際のデータ転送が開始される。
【0187】
第2のAV接続装置5は、データリンクスイッチ22を介して、映像データを公衆網2に送出する。その際、MPEG多重の形でこれを送付してもよい。
【0188】
送出された映像データは公衆網2を介して第1のAV接続装置4に送付される。第1のAV接続装置4は、受信した映像データをデータリンクスイッチ22を介して、第1の1394バス1の同期チャネル#yに送付し、最終的に映像データはデジタルTV7にて再生される。この結果、第1の家庭内LANのユーザはデジタルTV7にて、第2の家庭内LAN上のDVDプレーヤ8からの映像を見ることができるようになる。
【0189】
なお、前述したように、映像データの伝送経路のデータリンクレイヤでの帯域や仮想伝送路識別子の確保、整合を、FANP処理機能25あるいはその他のRSVP処理機能等により実現するのが好ましい。FANP等を用いることにより、ネットワーク種別を問わない、通信資源の確保が可能となる。そのようにした場合のシーケンスの一例を図18に示す。図18では、実際の映像データの送付に先立ち、FANPにより、映像データの経路となるデータリンクの通信資源の確保と、識別子の整合、接続装置の設定等が行われている。
【0190】
次に、公衆網2を介した遠隔操作の他の例として、例えば第1の家庭内LANのユーザが、第1のAV接続装置4を操作して、第2の家庭内LAN上のエアコン13(LON端末である)を操作することを考える。
【0191】
ユーザの実際の操作は例えば次のようになる。ユーザはまず図14のエアコンのアイコンをクリックする。すると例えばエアコン操作のための操作ボタン群が画面に表示される。次にユーザは所望の操作ボタンをクリックするなどしてエアコン13の遠隔操作を行う。
【0192】
図19に、このときに実際のネットワーク上を流れるコマンド群、プロトコル群についてシーケンスの一例を示す。
【0193】
まず、第1のAV接続装置4は、サービスロケーションで示されている、代理サーバのPC10に対して、エアコン13に対するコマンドを発行する。ここで、第1のAV接続装置4は、エアコン13はPC10が提供しているIPサービスであると解釈している。コマンドは、代理サーバであるPC10のポート、すなわち15000に対して発行される。
【0194】
ここで、遠隔操作のためのコマンドとしては、CCCP(Cam CoderControl Protocol)を利用することができる。CCCPは、遠隔のカムコーダの制御をインターネットを介して行うためのプロトコルであるが、同様の考え方で様々な電気機器の制御が可能であり、特にエアコン向けのコマンド群がCCCPに存在するものとする。なお、CCCPの詳細は例えばインターネットドラフトdraft−ohta−ccc−video−00.txtに開示されている。
【0195】
第1のAV接続装置4は、エアコン13の電源をオンにするのに必要なコマンド(POEWR_ONコマンド)をCCCP上で発行する。
【0196】
CCCPのPOWER_ONコマンドを受信したPC10は、これをLONコマンド、LONノード間のプロトコルとして規定された、対応するコマンド(例えばLON_POWER_ONというコマンドが規定するものとする)により、コマンドをエアコン13に発行する。
【0197】
このようなコマンドの変換は、PC10内にて行われる。その処理の流れを図20を参照しながら説明する。IP上のコマンドは、サービス代理受信機能71が受信する。受信されたコマンドはCCCP/LONコマンド変換機能72によりコマンド変換される。具体的には、CCCP/LONコマンド変換機能72にLON用のコマンド対応テーブル、すなわちIP上のコマンド(あるいは操作)とLON上のコマンド(あるいは操作)との関係を記述したテーブルを設け、このテーブルをもとにCCCPで送付されてきたコマンドからLONを介してエアコン13に対して送付すべきコマンドに変換し、これをLONコマンド発行機能73に渡し送出を指示する。そして、指示を受けたONコマンド発行機能73により実際のコマンドの送出が行われる。
【0198】
上記とは逆の方向にコマンドが流れる場合、すなわちLONコマンドが入力されこれをCCCPコマンドに変換して出力する場合も、手順は同じ様になる。
【0199】
なお、ACK信号が返る場合は(なお、ACK信号は公衆網(ISDNあるいはインターネット等)上ではCCCPのOKに変換されてもよい;図19中ではOKとして示してある) 、これも第1のAV接続装置4に通知される。
【0200】
なお、本実施形態で説明したメカニズムは、家庭内ネットワークに限らず、一般の企業ネットワーク、特にいわゆる「モバイル環境」を実現するためのネットワーク技術に適用することが可能であることは、言うまでもない。
【0201】
また、本実施形態では、ネットワークレイヤのプロトコルとしてIP、データリンクレイヤのプロトコルとしてIEEE1394とLONを用いて説明したが、ネットワークレイヤのプロトコルとして、DAVICで標準化を進めているDSM−CCや、IPX等、データリンクレイヤのプロトコルとして、イーサネットやATM等の技術を用いることも可能である。
【0202】
ところで、上記した実施形態では、AV接続装置にサービスロケーションサービスの機能およびコマンド変換の機能を設け、AV接続装置がサービスを提供したが、これらの機能は、本実施形態のAV接続装置すなわちネットワークの相互接続を行っているノードが行う必要はなく、例えば図1におけるPC6あるいはPC10に設け、それらがサービスを提供するようにしても良い。
【0203】
この場合、図2のAV接続装置がサービスを実現していた場合と同様に、ネットワークI/F(図2の1394I/F21に相当)、IP処理機能24、1394/IPサービスロケーション処理機能26、サービスロケーション代理機能27、1394AVコマンド処理機能28、1394/IPコマンド変換機能29を、PC6あるいはPC10あるいはその他のノードに実装し、さらにネットワークの通信資源を確保させる制御や、ネットワーク間で用いる識別子を整合させる制御等のネットワーク制御が必要な場合は、FANP処理機能25あるいはRSVPによる制御処理機能等を実装すれば良い。
【0204】
また、サービスロケーションサービスの機能とコマンド変換の機能とを、互いに異なるに実装することも可能である。
【0205】
なお、以上の説明では、公衆網2がインターネットではなくISDN等である場合に端末のIPアドレスにはプライベートIPアドレスを用い、あるいは公衆網2がインターネットである場合に端末のIPアドレスにはグローバルIPアドレスを用いるものとしたが、例えばNAT(Network Address Translation)等のアドレス変換を用いて、公衆網2がインターネットである場合に少なくともネットワークの相互接続を行うノード(図1ではAV接続装置端末)にグローバルIPアドレスを用い、その他のノードにはプライベートIPアドレスを用いることができるようにしてもよい。この場合、例えば、外部のネットワークからは、ネットワークの相互接続を行うノードのグローバルIPアドレスと、宛先となるノードのプライベートIPアドレス(またはプライベートIPアドレスとポート番号の組)を指し示すためのポート番号との組を宛先として、IPパケットを転送し、ネットワークの相互接続を行うノードにて、テーブルを参照するなどして、当該グローバルIPアドレスとポート番号の組を、宛先となるノードのプライベートIPアドレス(またはプライベートIPアドレスとポート番号の組)に変換するようにしてよい。
【0206】
(第2の実施形態)
本実施形態ではIEEE1394インタフェースを持つPCが同一の1394バスに接続された1394装置を認識して利用する場合について説明する。
【0207】
一般に、1394バスには種々の装置が接続される可能性があり、PCは予め接続されるすべての装置に関する情報やそれを制御するためのドライバソフトウェアを持っているわけではない。
【0208】
そこで、本実施形態では、1394バスに接続された装置の情報の収集を行う。その手順の概略は次の通りである。
【0209】
i)まず、1394unitの認識を行う。具体的には1394ノードのunique IDとunit番号を取得する。
【0210】
ii)次に、各unitのカテゴリ判別を行う。そして、登録済みの論理デバイスに対応するカテゴリか否か判断する。
【0211】
iii )次に、登録済みデバイスについて、占有状態の取得を行う(なお、この場合には、標準ドライバを利用する)。
【0212】
iv)そして、登録済みでない1394unitの占有状態の判定を行う。
【0213】
また、本実施形態では、非同期的に発生してデバイスドライバの構成の変更を行う事象として次のものを扱う。
【0214】
i)アプリケーションによる装置の利用要求
ii)IEEE1394インタフェースのバスリセット(1394装置の追加、削除)
iii )装置の占有状態の変更
以下、本実施形態について詳しく説明する。
【0215】
まず、ハードウェア構成について説明する。
【0216】
図21に本実施形態に係るPCの構成例を示す。81はPCを、82はプロセッサを、83はプロセッサのローカルバスに接続されたメインメモリを、84はシステムバスを、85は2次記憶装置を、86,87はIEEE1394インタフェースを、88はハードディスクをそれぞれ表す。
【0217】
2次記憶装置85とIEEE1394インタフェース86とIEEE1394インタフェース87は、それぞれシステムバス84に接続されている。2次記憶装置85は、例えばフラッシュEEPROMによって構成される。
【0218】
ハードディスク88は、PC81の筐体内部にあるIEEE1394インタフェース87によって接続されている。
【0219】
IEEE1394インタフェース86は、PC81の筐体外に置かれているプリンタ90、FAX91、マッサージ装置(リクライニングシート型マッサージ装置とする;以下、単に、マッサージ装置と呼ぶ)92、トースタ93にそれぞれ接続している。なお、説明上、FAX91はFAX機能およびスキャナ機能に対応するユニットとプリンタ機能に対応するユニットを持ち、マッサージ装置92は背中、首等の上半身部分へのマッサージ機構に対応するユニットと足等の下半身部分へのマッサージ機構に対応するユニットを持つものとする。
【0220】
次に、オペレーティングシステム(以下、OS)のソフトウェア構造について説明する。
【0221】
図22に本実施形態のPC81におけるソフトウェア構造の一例を示す。
【0222】
図22のOS内部において、101はOSの論理デバイス管理機能、102は2次記憶装置管理機能、103は1394インタフェース管理機能をそれぞれ表す。
【0223】
2次記憶装置102,ハードディスク103はOSが直接管理する。一方、プリンタ90、FAX91、マッサージ装置92、トースタ93の各ハードウェアについては1394管理機能を通じてデバイスの認識や登録が行われる(この手順については後述する)。
【0224】
111,112は、2次記憶装置管理機能102の配下にあり、2次記憶装置85とハードディスク88をそれぞれ制御するデバイスドライバである。113,114はそれぞれ1394インタフェース管理機能103の配下にあり、IEEE1394インタフェース86,87をそれぞれ制御するデバイスドライバである。
【0225】
図22のOS API(Application Programing Interface)とJAVA APIの間において、121は1394管理オブジェクトを表す。
【0226】
図22のJAVA SPI(System Programing Interface)とJAVA APIの間において、122は論理デバイス管理オブジェクトを表し、131,132,133,134はそれぞれモデム、プリンタ、スキャナ,不明に対応する論理デバイスクラスオブジェクトを表し、131−1〜2,132−1,133−1,134−1〜3はそれぞれ131,132,133,134の論理デバイスクラスオブジェクトによって管理される論理デバイスオブジェクトを表す(不明のクラスの詳細については後述する)。
【0227】
図22のOS APIとJAVA SPIの間において、151はプリンタ90のunit1(図22中104)に、152はFAX91のunit1(図22中105)に、153はFAX91のunit2(図22中106)に、154はマッサージ装置92のunit1(図22中107)に、155はマッサージ装置92のunit2(図22中108)に、156はトースタ93のunit1(図22中109)にそれぞれ対応する物理デバイスオブジェクトを表す。また、161,162,163,164,165,166はそれぞれ151〜156の物理デバイスオブジェクトに対応するドライバオブジェクトを表す。
【0228】
図22中において、矢印は各々のオブジェクトの参照関係を表す。参照関係を持つことにより、参照先のオブジェクトのメソッドを起動して状態変数を読み出すことができる。例えば、物理デバイスオブジェクト151〜156は、1394管理オブジェクト121に始まる参照関係を持つことによって、1349管理オブジェクトの配下にある物理デバイスオブジェクトとして登録されていることを表している。151はプリンタクラスの論理デバイスオブジェクト131−2に登録されており、ドライバオブジェクト161は物理デバイスオブジェクト151に登録されており、他のものも同様である。
【0229】
次に、OSの初期化について説明する。
【0230】
PC81は、電源投入後、2次記憶装置85に格納されたプログラムを読み込みOSを起動する。OSの一般仕様については特に問わないが、OS上ではコンパイルされたJavaコードが実行できるものとする。なお、Javaについては種々の文献があるが例えばJava Language Specification http://java.sun.comにて詳しく説明されている。
【0231】
本実施形態では、IEEE1394インタフェース87に接続されるハードディスク88はOSで直接管理する1394装置として予め決められている。IEEE1394機器はレジスタへの値の書き込みや読み出しにによって操作するものであり、PC81はハードディスク87の予め定められたレジスタにPC81自身のIEEE1394インタフェースのunique IDを書き込むことにより、ハードディスク88をIEEE1394インタフェース87を持つPC81が排他的に使用することを示す。
【0232】
PC81のOSはJavaプログラムからIEEE1394インタフェースのトランザクション要求の発行および応答ができるAPI(Application Programing Interface)を持つ。PC81の初期化によるOSの起動後、上記APIを通じて各々の1394インタフェースに接続されているIEEE1394機器を管理するJavaコードが実行される。これを1394管理オブジェクトと呼ぶ。また、OSは、オブジェクトクラスの名前から対応するコードの識別子を得てオブジェクトを生成する動的オブジェクトローディング機構を備えているものとする。
【0233】
以下では、Javaコードの格納、伝送形態をxxコード、あるクラス全体に関わるオブジェクトをxxクラスオブジェクト、あるクラスの実体化されたオブジェクトをxxオブジェクトと呼ぶ。例えば、ある型の論理装置全てを管理するオブジェクトを論理デバイスクラスオブジェクト、各々の物理装置に対応する装置のJava APIを提供するオブジェクトを論理デバイスオブジェクトと呼ぶ。また、オブジェクトのコードにはある識別子が付与されていて、それを他のオブジェクトと識別することができるものとする。識別名はオブジェクトコードに埋め込まれていても良いし、それを格納するファイル名あるいはそれが格納されているISO1212形式のアドレスで表現されても良い。一方、オブジェクトには少なくとも当該PCで一意に他のオブジェクトと識別できる識別子が付与されているものとする。例えばオブジェクトが格納される仮想記憶空間のアドレスである。IEEE1394バスで使用する際には識別子はIEEE1394バス上で一意に識別されることが望ましい。
【0234】
次に、物理装置の認識について説明する。
【0235】
OSによる1394インタフェースの初期化が完了すると、1394管理オブジェクト121と論理デバイス管理オブジェクト122が生成される。1394管理オブジェクト121と論理デバイス管理オブジェクト122は互いの参照を保持し、相互に情報を交換しながらデバイスの認識と登録を行う。
【0236】
1394管理オブジェクト121はIEEE1394インタフェース86,87に接続されている装置の情報を収集して各1394ノードを認識する。ただし、1394管理オブジェクト121の初期化時に予めOSが排他的に利用するものと定義されたハードディスク87は認識から除外される。1394管理オブジェクト121は前述の1394制御APIを通じてPC81の各1394インタフェースの持つTOPOLOGY_MAPレジスタまたはSPEED_MAPレジスタにあるnode ID毎に各ノードにconfigROM領域の読み出し要求を発行して当該ノードのuniqe IDとunitが複数存在すればそれぞれのunit IDおよびcapabilityを得る。これらレジスタの形式はIEC 1212(ANSI/IEEE Std 1212 Control and Status Register(CSR) Architecture for Microcomputer Buses[ISO/IEC13213])で定められており、詳細についてはここでは省略する。
【0237】
最終的に1394管理オブジェクト121はunique IDとunit IDとcapabilityの組のリストを得てこれらデバイスの登録を行う。1394管理オブジェクト121はプリンタ90、FAX91,マッサージ装置92、トースタ93から上記レジスタの値を読み出してそれぞれのunitに対応する1394物理装置オブジェクト151〜156を生成する。FAX92、マッサージ装置93は2つのunitを持っており、それぞれ対応する物理デバイスオブジェクト152,153,154,155を生成する。オブジェクトの生成が完了すると1394管理オブジェクト121は論理デバイス管理オブジェクト122に物理デバイス登録の完了を通知する。
【0238】
認識の対象から外される装置は、予めOSによって占有されている装置の他に、装置自身のレジスタが占有を表していて、そこに占有を示す値が書き込まれている場合には認識の対象とはしないこととしても良い。
【0239】
ここで、登録について説明する前に、デバイスを制御するプログラム(ここではオブジェクトと呼ぶ)の構造と動作について説明する。
【0240】
各々の装置の機能に対応し、アプリケーションに入出力APIを提供するのが131−1,132−1,…の論理デバイスオブジェクトである。それぞれの論理デバイスオブジェクトは、ファイル、プリンタといった種別毎に設けられる論理デバイスクラスオブジェクトによって管理される。各々の論理デバイスオブジェクトはただ一つの論理デバイスクラスオブジェクトに帰属するが、一つの論理デバイスクラスオブジェクトは配下に複数の論理デバイスオブジェクトを持っても良い。例えば、プリンタの論理デバイスオブジェクト131−1は、ただ一つの論理デバイスクラスオブジェクト131に帰属するが、プリンタの論理デバイスクラスオブジェクト131の配下には、131−1,131−2の2つの論理デバイスオブジェクトがある。
【0241】
物理デバイスオブジェクトは、1394ユニットと1対1対応に存在する。1つの物理デバイスオブジェクトが複数の論理デバイスオブジェクトから参照されることもある。例えば、物理デバイスオブジェクト152は、プリンタ91のunit1に対応しているとともに、プリンタの論理デバイスオブジェクト131−1とFAXの論理デバイスオブジェクト133−1の2つの論理デバイスオブジェクトから参照されている。
【0242】
本実施形態では、PC81は、プリンタ、スキャナ、FAX、不明の各デバイスクラスに対応する論理デバイスクラスオブジェクト131〜134を持っているものとする。各々の論理デバイスクラスオブジェクトは、その配下に論理デバイスオブジェクト131−1…n,132−1…n,133−1…n,134−1…nを持っている。PC81で実行されるJavaアプリケーションはこれら論理デバイスオブジェクトを通じて物理装置の実装の差異に関らず同一のクラスに属する物理装置は同一の方法で利用することができる。これはそれぞれの論理デバイスクラスオブジェクト毎にJava SPIが共通化されているからである。
【0243】
例えば、プリンタ装置のアクセスを行う際のIEEE1394レジスタのアドレスと手順は、ANSI X3T10 Serial Bus Protocol(SBP)として定められている。IEEE1394インタフェースがどのような実装であっても上記SBPに則ったIEEE1394形式のメッセージをデバイスドライバが生成すればプリンタの制御を行うことができる。さらに、デバイスドライバがハードウェアやOSに依存しないJavaで記述されていれば、IEEE1394インタフェースのドライバへのシステムプログラムインタフェースが同一である限り、どのようなOSにおいても同一のプリンタデバイスドライバが使用可能である。
【0244】
アプリケーションは、論理デバイス管理オブジェクト122にデバイスクラス一覧を要求することによって、論理デバイスクラスオブジェクト131〜134の一覧を得ることができる。論理デバイスクラスオブジェクトからは、それぞれのプリンタ、スキャナといった同じタイプに属する論理デバイスオブジェクトの一覧を得ることができる。論理デバイス管理オブジェクト122は、論理デバイスクラスオブジェクトの登録/削除などの管理も行う。
【0245】
次に、論理デバイス管理オブジェクト122による論理デバイスクラスオブジェクトの初期化について説明する。図23に論理デバイス管理オブジェクト初期化手順の一例を示す。
【0246】
論理デバイス管理オブジェクト122は、予め定められたデバイスクラス、プリンタ、スキャナ、FAXに対応する論理デバイスクラスオブジェクト131,132,133を生成し、図2中にて矢印で示されるこれらオブジェクト間の参照を作る(ステップS11〜S14)。
【0247】
これら131,132,133の各論理デバイスクラスオブジェクトは、生成に続いて初期化を行う(その間、論理デバイス管理オブジェクト122は初期化完了を待つ;ステップS15)。初期化が完了すると論理デバイス管理オブジェクト122へ初期化が完了したことを通知する。
【0248】
完了通知を受けた論理デバイス管理オブジェクト122は、最後に131〜133の各論理デバイスクラスオブジェクトによって認識されなかった物理デバイスを管理する不明の論理デバイスクラスオブジェクト134を生成し、初期化する(ステップS16,S17)。論理デバイス管理オブジェクト122は、不明のクラスの初期化の完了通知を受けとると、初期化完了状態となる(ステップS18)。
【0249】
次に、論理デバイスクラスオブジェクトの初期化について論理デバイスクラスオブジェクト131を例に取りつつ説明する。図24に論理デバイスクラスオブジェクト初期化手順の一例を示す。
【0250】
論理デバイス管理オブジェクト122は、論理デバイスクラスオブジェクトの生成時に1394管理オブジェクト121への参照を渡す。論理デバイスクラスオブジェクト131は、1394管理オブジェクト121に物理デバイスオブジェクトへの参照を要求する(ステップS21)。
【0251】
1394管理オブジェクト121は、物理デバイスオブジェクトの参照が要求されると、自オブジェクトが保持している参照に従って物理デバイスオブジェクト151から順番に参照を返却する。
【0252】
論理デバイスクラスオブジェクト131は、物理デバイスオブジェクト151への参照を入手すると、オブジェクト151の属性値取得メソッドを起動してunique ID、unit ID、capabilityを取得する(ステップS22)。論理デバイスクラスオブジェクト131は、これらの値が自デバイスクラスに合致するかを判定するテーブルを予め持っており、取得した物理デバイスオブジェクト151が自クラスに合致するかを判定することができる。
【0253】
物理デバイス151のunique ID、unit IDはプリンタを示す値であったので、論理デバイスクラスオブジェクト131は、物理デバイスオブジェクト151に対応する論理デバイスオブジェクト131−1を生成し、初期化を開始させる。このときも論理デバイスクラスオブジェクトと論理デバイスオブジェクトは相互に参照関係を持ち、論理デバイスオブジェクト131−1は論理デバイスクラスオブジェクト131の配下として登録される(ステップS23〜S24)。
【0254】
この判定はuniqe ID、unit IDに限らず他の属性値の組合せによって行っても良い。また、論理デバイスクラスオブジェクトがテーブルを持つことなくunique IDやunit IDをキーとしてPC81の外にある検索サーバに問い合わせても良い。
【0255】
以下、引き続いて論理デバイスクラスオブジェクト131は、1394管理オブジェクト121に物理デバイスへの参照を要求し、152,153,…について同様の作業を最後の物理デバイス156まで行う。FAX152のunit2はプリンタのcapabilityを持っているのでこれも論理デバイスオブジェクト131−2としてプリンタクラスオブジェクトに登録される(ステップS21〜S24)。
【0256】
全ての物理デバイスオブジェクトについて作業が終了すると、登録した論理デバイスオブジェクト131−1,132−2からの初期化完了通知を待つ(ステップS25)。論理デバイスオブジェクト131−1,132−2からの初期化完了通知を受けとると、プリンタクラスの論理デバイスクラスオブジェクト131は、論理デバイス管理オブジェクト122に初期化の完了を通知する(ステップS26)。
【0257】
次に、論理デバイスオブジェクトの初期化について論理デバイスオブジェクト131−1を例に取りつつ説明する。図25に論理デバイスオブジェクト初期化手順の一例を示す。
【0258】
論理デバイスオブジェクト131−1は、自身の属性値を初期化した後、物理デバイス151に初期化要求を発行して151からの完了通知を待つ(ステップS31,S32)。完了通知を受信するとプリンタクラスの論理デバイスクラスオブジェクト131に完了通知を発行する(ステップS33)。初期化要求を受信した物理デバイスオブジェクト151は、物理装置90に対応するデバイス制御コードを決定し、それを読み込んでデバイス制御オブジェクト161を生成し、物理デバイスオブジェクトに登録する。
【0259】
次に、物理デバイスオブジェクトの初期化について物理デバイスオブジェクト151を例に取りつつ説明する。図26に物理デバイスオブジェクト初期化手順の一例を示す。
【0260】
なお、物理デバイスオブジェクトの生成は1394管理オブジェクト121によって論理デバイスオブジェクトの生成以前に行われており、ここでの初期化は生成とは異り、また1394管理オブジェクト121が物理デバイスオブジェクト151を生成した時点ではプリンタ制御固有のコードは読み込まれていない。
【0261】
ロードするデバイス制御コードは例えば次のようにして決定される。1394管理オブジェクト121は属性値unique ID、unit ID、capabilityと論理デバイスクラスオブジェクトからデバイス制御コードのクラス名を求めるテーブルを持っており、物理デバイスオブジェクト151は1394管理オブジェクト121に自身の持つ属性値unique ID、unitID、capabilityを含む問い合わせ要求を発行し、その返り値としてクラス名を得る(ステップS41)。デバイス制御コードの識別子は前述のように当該PCのファイルを示すパス名でよい。もちろん、PC81の外部に属性値に基づく問い合わせを発行して取得しても構わない。
【0262】
上記の方法で得たクラス名から動的オブジェクトローディング機能により、デバイス制御コードがロードされてデバイス制御オブジェクト161が生成され、物理デバイスオブジェクト151に登録される。物理デバイスオブジェクト151は、デバイス制御オブジェクト161の属性値の初期化を行った後、ハードウェアの初期化要求を発行する(ステップS42〜S44)。
【0263】
クラス名に対応するコードがローカルに存在すればそれを読み込む。クラス名がリモートのネットワーク上の資源を示していれば、ネットワーク上から取得する。クラス名が明示的にネットワーク上の資源を指していない場合でも、コードがローカルに存在しない場合はネットワーク上の検索サーバなどを利用してネットワーク上の位置を取得し、コードを読み込む。
【0264】
次に、デバイス制御オブジェクト161はハードウェアの初期化のためのレジスタ書き込みを行うパケットを準備し、1394トランザクションのシステムコールを呼び、物理装置90を初期化する。初期化が完了すると物理デバイスオブジェクト151は論理デバイスオブジェクト131−1に完了通知を発行する(ステップS45)。
【0265】
ところで、物理デバイスオブジェクトには物理デバイスオブジェクト152のように2つ以上の論理デバイスオブジェクト(131−1,133−1)に登録されているもの。このような物理デバイスオブジェクトは2回以上の初期化要求を受けることになる。2度目の初期化では、属性値から決定したデバイス制御オブジェクトが1度目に獲得したデバイス制御オブジェクトと同一であるかどうかを比較し(ステップS44)、同一であれば同一のものを使用し、違っていれば新たにデバイス制御オブジェクトを読み込み、生成する。物理デバイスオブジェクト152ではプリンタクラス、FAXクラスに同一のデバイス制御オブジェクト162を使用するが、これはデバイス制御オブジェクトがプリンタとFAXの両方のJava SPIをサポートするものだからである。もし最初にロードしたデバイス制御オブジェクトがプリンタクラスのJava SPIのみをサポートしてFAXクラスをサポートしていなければ、新たに両方をサポートするデバイス制御オブジェクトを検索して入手するか、FAXクラスのサポートをやめる。もし両立ができなければ最初にロードされたクラスが優先されることとする。
【0266】
さて、一般に論理デバイス種別が増えたときに、利用する可能性のある全ての論理デバイスクラスオブジェクトを予め用意しておくことはメモリなどの資源の利用の点で非効率的である。また、一つの物理装置が多数の論理デバイスクラスオブジェクトから利用される可能性があり、かつ下位デバイス制御プログラム(本実施形態のデバイス制御オブジェクト)が上位論理デバイスクラスオブジェクトに依存して変更される場合には物理デバイスに合わせて上位論理デバイスを決定する手順は繁雑になる。特に、IEEE 1394バスのように家庭に導入され、家庭内のネットワークとしても利用されるバスでは接続される機器を予め限定することは難しい。
【0267】
むしろ利用者の利用形態によって規定される上位論理デバイスを利用者が決定して、接続された装置をその方法によって利用することが上記ネットワークにおいては適切である。このため本実施形態では、不明のデバイスクラスを設けることによって使用法が未知の装置をとりあえず認識し、詳しくは後述するように装置に合わせた上位論理デバイスを新たに付け加える方法を取っている。
【0268】
1394管理オブジェクト121が複数の論理デバイスと属性値に対応するクラス名の表を持っており、物理デバイスオブジェクトが2度目の初期化を行う際には2つの論理デバイスクラスオブジェクトの名前と属性値を指定して1394管理オブジェクト121に問い合わせを行っても良い。
【0269】
次に、不明の論理デバイスクラスオブジェクト134の初期化について説明する。
【0270】
不明の論理デバイスクラスオブジェクト134は、131〜133までの論理デバイスクラスオブジェクト134と同様、生成時に1394管理オブジェクト121への参照を受け取る。そして、論理デバイスクラスオブジェクト131〜133の初期化と同様に151,…,156の各物理デバイスオブジェクトへの参照を得る。
【0271】
不明の論理デバイスクラスオブジェクト134は、最初に物理デバイスオブジェクト151への参照を得る。不明の論理デバイスクラスオブジェクト134は物理デバイスオブジェクト151へ論理デバイスオブジェクトへの参照を持っているかどうかの問い合わせを行い、持っていれば物理デバイスオブジェクト151の認識を中止して、次の物理デバイスオブジェクト152への参照を入手する。物理デバイスオブジェクト151,152,153はいずれも他の論理デバイスオブジェクトに登録されているので不明のデバイスとしての登録は行わない。
【0272】
一方、物理デバイスオブジェクト154は、論理デバイスオブジェクトからの参照を持っていない。ここで不明の論理デバイスクラスオブジェクト134は、物理デバイスオブジェクト154に対応する論理デバイスオブジェクト134−1を生成して自身に登録する。論理デバイスオブジェクト134−1は、物理デバイスオブジェクト154を自身に登録する。不明の論理デバイスオブジェクト134−1は、物理デバイスオブジェクト154へ初期化を要求しない。したがって、この時点では物理デバイスオブジェクト154にはデバイス制御オブジェクトは登録されない。
【0273】
以下、物理デバイスオブジェクト155,156についても同様の初期化を行い、不明の論理デバイスオブジェクト134−2,134−3が生成されて、完了の通知を発行し、不明のデバイスクラスの初期化が完了する。
【0274】
論理デバイス管理オブジェクト122は、予め定められた論理デバイスクラスオブジェクトの生成初期化と、それに続く不明の論理デバイスクラスオブジェクトの生成初期化が完了すると終了する。初期化が終ると論理デバイス管理オブジェクト122はアプリケーションからのデバイスクラス一覧要求に答えることができる。初期化が完了する前はアプリケーションからの問い合わせに対して、利用不能の答を返す。
【0275】
次に、アプリケーションからのデバイスの利用について説明する。ここでは、アプリケーションからプリンタ90を利用する場合を例にとって説明する。
【0276】
なお、物理デバイスと論理デバイスとの間のインタフェースをJava SPI、論理デバイスとアプリケーションとの間をJava APIと呼ぶ。これらはOSとJavaとの間のAPIとは異るものである。
【0277】
アプリケーションプログラムは、OSへの問い合わせなどの所定の方法によりプリンタ90に対応する論理デバイスオブジェクト131−1への参照を知っているものとする。
【0278】
例えば、アプリケーションは、論理デバイス管理オブジェクト122への参照を予め知っていて、論理デバイス管理オブジェクト122を通じてプリンタクラスへの参照を獲得し、プリンタクラスからプリンタ131−1への参照を入手する。または、装置構成に関するネーミングサービスが提供されていても良い。
【0279】
アプリケーションプログラムは、postscriptファイルへの参照を引数として、論理デバイスオブジェクト131−1に印刷要求を発行する。
【0280】
論理デバイスオブジェクト131−1は、ファイルのヘッダ情報からそれがpostscriptファイルであることを知り、postscriptファイルをビットマップイメージに展開する。そして、論理デバイスオブジェクト131−1は、ビットマップイメージとビットマップ以外の紙サイズ指定などの情報を含むオブジェクトへの参照を引数として、物理デバイスオブジェクト151に印刷要求を発行する。なお、論理デバイスオブジェクト131−1にて待ち行列処理を行うことが望ましい。
【0281】
物理デバイスオブジェクト151は、デバイス制御オブジェクト161を通じて印刷イメージに対応するビットマップ情報をプリンタ90に転送する。すなわち、プリンタ90の予め定められたCSRレジスタAにlockトランザクションによってPC81が利用するフラグを書き込む。lockに成功してプリンタの使用権を獲得すると、次はデータを転送するためのIEEE1394バス上のIsochrounsチャネルの設定と、紙サイズ、トレイ情報などのプリンタの設定を行うトランザクションを発行する。チャネルを獲得したらビットマップ情報を転送し、転送が完了すると転送完了のトランザクションを発行してプリンタへの印刷指示を完了する。プリンタでの印刷状況はあるCSRレジスタに表示されるので、物理デバイスオブジェクトがそれをポーリングすることによって印刷の完了を知る。
【0282】
次に、不明のタイプとして登録されている装置の利用についてマッサージ装置12を例にとって説明する。
【0283】
図27は論理デバイスクラスオブジェクトを追加したときのソフトウェア構造、図28はアプリケーションによる新規デバイスクラス追加要求手順の一例、図29は論理デバイス管理オブジェクト122による新規デバイスクラス追加手順の一例をそれぞれ示す。
【0284】
アプリケーションは、論理デバイス管理オブジェクト122に論理デバイスクラスの一覧取得要求を発行する(ステップS51)。不明の論理デバイスクラスオブジェクト134への参照を取得すると、不明のデバイスクラス134に論理デバイスの一覧取得を要求する(ステップS52,S53)。
【0285】
アプリケーションは、一覧からマッサージ装置92に対応する論理デバイスオブジェクト134−1への参照を選択して利用可能な論理デバイス情報を要求する(ステップS54)。
【0286】
論理デバイスオブジェクト134−1は、物理デバイスオブジェクト154からその属性値を取得し、論理デバイス管理オブジェクト122に物理デバイスオブジェクト154が利用可能な論理デバイスクラスの検索要求を発行する。既述のように論理デバイス管理オブジェクト122は属性値から論理デバイスクラス名とを対応させるテーブルを持っている。このテーブルから論理デバイスクラス名またはそのリストが論理デバイス134−1に返却され、論理デバイス134−1は要求に対して論理デバイスクラス名を獲得し、論理デバイス情報としてアプリケーションに通知する。もちろん、ここでもデバイスクラス名の検索をネットワーク上のサーバに問い合わせることによって行っても構わない。ドライバオブジェクトの格納場所には少なくともマッサージ装置のデフォルトのドライバのオブジェクトコードと利用法の自然言語による説明が格納されていることが望ましい。
【0287】
アプリケーションは、使用する論理デバイスクラス名「マッサージ装置」を選択して論理デバイスクラス登録要求を論理デバイス管理オブジェクト122に発行する(ステップS55,S56,S57)。
【0288】
論理デバイス管理オブジェクト122は,指定されたクラス名に対応する新しい論理デバイスクラスオブジェクト135を生成し(ステップS61)、不明の論理デバイスクラスオブジェクト134および不明のクラスとリンクされているFAXの論理デバイスクラスオブジェクト133との間に挿入する(ステップS62)。そして、今まで不明のデバイスクラスに登録されていた論理デバイスオブジェクト134−1,134−2を削除して(ステップS63)、論理デバイスクラスオブジェクト135に初期化要求を発行する(ステップS64)。この状態を図27に示す。以後のステップS65とステップS66の手順と新規論理デバイスクラスオブジェクト125の初期化手順は既に説明したものと同様である。なお、図27中、135−1は新たに生成された論理デバイスオブジェクトである。
【0289】
ここでは,不明のデバイスに対応する論理デバイスを検索する例について説明したが、既存の物理デバイスの組合せから、対応する新しい論理デバイスを検索しても良い。例えば、プリンタとスキャナとモデムの機能を持つ各物理デバイスの組合せによって利用可能な新しい論理デバイスFAXを検索するような場合である。
【0290】
上記の機能を備えることにより、普段使用しないデバイスを制御するための不要なプログラムはシステムの初期化時には読み込まず、必要になった時点で読み込むことにより、PCのメモリなどの資源を節約してコストを低下させることができる。
【0291】
次に、1394デバイスの構成変更イベントについて説明する。
【0292】
PCが利用できる1394装置の接続状況は変化し得る。しかも、IEEE1394バスでは動作中にコネクタの挿抜によって構成を変更することができる。この変更結果は、デバイスオブジェクトの追加や削除として論理デバイスに反映されなければならない。また、ある装置によるデバイスの占有が終了すれば、そのデバイスは他の装置で利用可能になる。以下では、このような構成の変化を認識する手順について説明する。
【0293】
バスリセットが発生すると、OSの1394インタフェースから1394管理オブジェクト121にバスリセットが通知される。1394管理オブジェクト121は、再度、TOPOLOGY_MAPおよびSPEED_MAPから1394物理装置の一覧を取得し、それらのunique IDを取得して既知のデバイスとの対応をとる。
【0294】
まず、バスリセット後に、1394管理オブジェクト121は、全ての物理デバイスオブジェクトのexist属性値を「不明」とする。
【0295】
装置から取得したunique IDが既存の物理デバイスオブジェクトの保持するunique IDに一致する場合、その装置は既に登録済みでありexistを「存在」とする。
【0296】
装置から取得したunique IDが既存の物理デバイスオブジェクトの保持するunique IDと一致しない場合、その装置は新しく追加された装置であり、物理デバイスオブジェクトを生成初期化し、existを「存在」とする。
【0297】
この操作を全てのNODE IDについて行った後、existが不明になっている物理デバイスオブジェクトは対応する装置が取り去られたものとして、それを削除する。物理デバイスオブジェクトを削除すると、対応する論理デバイスオブジェクトにそれが通知され、論理デバイスオブジェクトは終了処理を行い、対応するデバイスクラスに通知した後、自身を消去する。
【0298】
追加、削除による参照の修正作業が完了すると、1394管理オブジェクト121は、論理デバイス管理オブジェクト122に構成の変更を通知する。もし構成に全く変化がなければ、通知は行わない。
【0299】
通知を受信した論理デバイス管理オブジェクト122は、各デバイスクラスに構成変更要求を発行する。
【0300】
構成変更要求を受信したプリンタクラス131は、初期化と同様に、論理デバイスオブジェクト122に物理デバイスの参照を要求する。初期化と異るのは、初期化では全ての物理デバイスオブジェクトが対象だったのに対し、構成変更では新しく追加された物理デバイスオブジェクトだけが対象になることである。各論理デバイスクラスは、新しく追加された物理デバイスの属性を読み出し、自クラスに一致するかを判定して一致すれば、対応する論理デバイスオブジェクトを生成、登録する。
【0301】
全てのクラスの構成変更が完了すると、不明のクラスの初期化が行われ、追加されたデバイスでどの論理デバイスとして登録されなかった物理デバイスオブジェクトは不明のクラスに登録される。
【0302】
次に、占有状態の変更について説明する。
【0303】
初期化においてレジスタの読みとりによって他ノードによる占有状態にあると判断されて認識から除外された装置に対して、1394管理オブジェクト121は周期的なポーリングを行ってデバイス占有状態の変更を検出する。非占有状態になったデバイスは、バスリセットで記述したデバイス構成の変化と同様の手順で登録する。もし当該PCが前記装置を排他的に占有するのであれば、それを装置の占有状態を示すレジスタにそれを示す値を書き込む。
【0304】
次に、ローカルの論理デバイスオブジェクトが古い場合について説明する。
【0305】
このような場合、論理デバイスクラスオブジェクトはバージョン番号の属性を持っている。アプリケーションは、論理デバイス管理オブジェクト122に論理デバイスクラスオブジェクトの更新要求を発行することができる。論理デバイス管理オブジェクト122は、更新が要求された論理デバイスクラスオブジェクトのバージョン番号を取得する一方、予め指定された論理デバイスクラスオブジェクトのアーカイブサーバに最新のバージョン番号を要求する。もしローカルの論理デバイスクラスオブジェクトのバージョン番号が最新のものに一致すれば、もしローカルの論理デバイスクラスオブジェクトのバージョン番号が若ければ、アーカイブサーバから最新のデバイスクラスを読み込み、オブジェクトを生成する。この時点ではこの論理デバイスクラスオブジェクトは動作しない。
【0306】
オブジェクトの生成に成功すると、既存の論理デバイスに終了通知を発行し、動作を終了させる。プリンタならば、新たな印刷ジョブの受付を中止し、実行中の印刷ジョブの終了を待つ。実行中のジョブと終了処理が完了すると、論理デバイス管理オブジェクト122に完了を通知する。論理デバイス管理オブジェクト122は、古い論理デバイスの持つ参照関係を変更し、新しい論理デバイスオブジェクトが参照関係を引き継いだ後、論理デバイスの開始通知を論理デバイスクラスオブジェクトに送る。通知を受信した論理デバイスクラスオブジェクトは動作を開始する。
【0307】
(第3の実施形態)
本実施形態では、ネットワークに接続されたPC(第2の実施形態の機能を持つもの)がIEEE1394以外のネットワークを経由して接続された遠隔のIEEE1394装置を制御する場合について説明する。
【0308】
図30に、本実施形態に係るシステムの構成例を示す。401、411、434はそれぞれ第1の家庭451内にあるPC、ネットワーク接続装置、トースタを表す。402、412、431、432、433はそれぞれ第2の家庭452内にあるPC、ネットワーク接続装置、プリンタ、FAX、マッサージ装置を表す。なお、図30中のネットワーク接続装置以外の各構成要素は図1中の対応するものと同様のものである。
【0309】
家庭451内のLANと家庭452内のLANとの間はISDN通信回線413で結ばれているものとする。通信回線413はネットワーク接続装置411,412で終端されている。
【0310】
家庭451内のLANにおいて、接続装置411,PC401,トースタ434の間は1394バス421によって接続されている。
【0311】
家庭452内のLANにおいて、接続装置412,PC402,プリンタ431、スキャナ432、マッサージ装置433の間は、1394バス422によって接続されている。
【0312】
ネットワークはインターネットプロトコルを使うインターネットであり、PC401,402と接続装置411,412のみが予めIPアドレスを持っているものとする。IPアドレスは固定的に割り当てられたものでも、DHCP,PPPなどのプロトコルによって割り当てられたもののどちらでも良い。
【0313】
ここで、家庭451にあるPC401が家庭452の機器との接続を試みる。PC401はインターネットプロトコルによってネットワーク接続装置411に家庭452を示す文字列、例えばその氏名である「高畠由彰」を含む接続要求を送る。そして、ネットワーク接続装置411は例えば「高畠由彰」に対応する家庭452の電話番号を検索するデータベースを持っており、家庭452の接続装置412への接続を行う。
【0314】
接続装置412は、接続の前には接続元の認証を行う。認証ステップで許可されなければ接続は行わないものとする。認証は例えば発信電話番号表示を用い、予め第2の家庭452にて登録した電話番号以外の接続を認めないとすることができる。接続が完了すれば、家庭451,452の間でインターネットプロトコルによる通信を行うことができる。
【0315】
ただし、セキュリティ保護の観点から接続が完了しても接続装置がその家庭の方針によってパケットの通過の可/不可を判断するいわゆるファイアウォールとして動作することが望ましい。ここでは家庭451と家庭452の間は予め全てのパケットが通過し、全ての操作が行えるよう、設定されているものとする。
【0316】
なお、この接続は電話による接続ではなくIP接続であっても構わない。
【0317】
さて、家庭451にあるPC401はサービス管理サーバのアドレスを接続装置411のデータベースから取得する。アドレスは予め接続装置411に登録されているものとする。次に、PC401はサービス管理サーバに利用可能なサービスの問い合わせを行う。ここではネットワーク接続装置412がサービス管理サーバを兼ねているものとする。
【0318】
サービス管理サーバは、問い合わせに応答して当該ネットワーク中のサービスおよびそのサーバの情報を返す。ここでは次のサービスが登録されている。
【0319】
printer:pc2
Java ORB:pc2
左の列はサービスの種別、ここではサービスに割り当てられた多重化識別子(例えばポート番号)を表し、右の列はサービスの所在、ここではPC402のIPアドレスを表す。このようなサービス情報提供手段はインターネットにおいてはサービスロケーションプロトコルとして知られている(例えば文献「インターネットドラフトdraft−ietf−svrloc−protocol−16.txt」)。
【0320】
これらはサービスを提供するホスト、ここではPC402が起動時に予め定められたネットワーク接続装置412に登録する。
【0321】
printerはインターネット標準で定められた印刷サービスを表し、515のUDP/TCP番号が割り当てられている。ここで使用するプロトコルは予めインターネット標準によって規定されている。
【0322】
Java ORBは、Javaオブジェクトを外部から利用できるサービスを表している。このようなサービスは現在まだ標準としては規定されていないが、ここではJava ORBを表すポート番号について予め合意があるものとする。
【0323】
次に、リモートの1394装置を利用する2種類の方法、
方法1)インターネットで標準化されたネットワークサービスを介して利用する方法
方法2)1394プロキシオブジェクトを通じて利用する方法
について説明する。
【0324】
方法1では、PC402にIEEE1394インタフェースによって接続されたプリンタ431をインターネットプロトコルとして標準化されたprinterサービスによって利用する。PC401は、printerプロトコルのクライアントを持ち、プリンタ431を表す論理名称を指定してインターネット形式で標準化された形式の印刷要求をPC402に送り、プリンタを利用する。この方法では、ネットワークを伝送するメッセージには装置依存の要素は含まれない。PC401のアプリケーションは、プリンタサービスとプリンタ431に対応する装置の名前を指定して要求するだけで、装置の特性は意識しない。
【0325】
方法2は、概略的には、ネットワークを伝送するメッセージに、IEEE1394形式のパケットがIPパケットにカプセル化された形式を使うものである。PC401はあたかもプリンタ431がローカルの1394バスに接続されているかのように利用することができる。
【0326】
以下、上記の方法2についてさらに詳しく説明する。
【0327】
図31にクライアント側の接続前におけるネットワーク経由サービスのソフトウェア構造を示し、図32にクライアント側の接続後におけるネットワーク経由サービスのソフトウェア構造を示し、図33にプロキシ側の接続前におけるネットワーク経由サービスのソフトウェア構造を示し、図34にプロキシ側の接続後におけるネットワーク経由サービスのソフトウェア構造を示す。なお、図31〜図34中のIP機能以外の各構成要素は、図2中の対応するものと同様の機能を有するものである。IP機能504は、TCP/UDP/IPなど、一連のインターネットプロトコル(TCP/IPプロトコルシート)の諸機能である。
【0328】
図31は1394スタブオブジェクト生成前のクライアントPC401のソフトウェア構成であり、501は論理デバイス管理機能、502は2次記憶管理機能、511,512は502の配下にあるそれぞれのハードディスクの管理機能、503は1394インタフェース管理機能、513,514はそれぞれの1394インタフェース管理機能、504はIP機能、434はトースタ、509はトースタ機能を示すunit1,521は1394管理オブジェクト、522は論理デバイス管理オブジェクト、531,532,533,534はプリンタ、スキャナ、マッサージ装置、不明の各論理デバイスクラスオブジェクトに対応する。534−1は不明のクラスの論理デバイスオブジェクトである。551はトースタ434に対応する物理デバイスオブジェクトを表す。561は物理デバイスオブジェクト551に対応するドライバオブジェクト(制御プログラム)を表す。
【0329】
図32は1394スタブオブジェクト生成後のクライアントPC401のソフトウェア構成であり、図31の構成に1394スタブオブジェクト571、論理デバイスオブジェクト533−1,533−2、物理デバイスオブジェクト551、ドライバオブジェクト562,563が付加されている。
【0330】
図33は1394プロキシオブジェクト生成前のプロキシ側PC402のソフトウェア構成であり、601は論理デバイス管理機能、602は2次記憶管理機能、611,612は602の配下にあるそれぞれのハードディスクの管理機能、603は1394インタフェース管理機能、613,614はそれぞれの1394インタフェース管理機能、431はプリンタ、432はFAX、433はマッサージ装置をそれぞれ表す。621は1394管理オブジェクト、622は論理デバイス管理オブジェクト、631,632,633,634はプリンタ、スキャナ、FAX、不明の各デバイスクラスに対応する論理デバイスクラスオブジェクト、651,652,653,654,655はそれぞれプリンタのunit1(図中604)、FAXのunit1(図中605),unit2(図中606)、マッサージ装置のunit1(図中607),unit2(図中608)に対応する物理デバイスオブジェクト、631−1,631−2,632−1,633−1,634−1,634−2はそれぞれ論理デバイスクラスの配下にある論理デバイスである。661,662,663はそれぞれ物理デバイスオブジェクト651,652,653に対応するドライバオブジェクトを表す。
【0331】
図34は1394プロキシオブジェクト生成後のプロキシ側PC402のソフトウェア構成であり、図33の構成に1394プロキシオブジェクト681、論理デバイスクラスオブジェクト635、論理デバイスオブジェクト635−1,635−2が付加され、論理デバイスオブジェクト634−1,634−2が削除されている。
【0332】
PC401は、サービス情報に基づいてリモートのPC402のIPアドレスを指定して1394スタブオブジェクト571を生成する。1394スタブオブジェクトは、リモートのPC402のJava ORBポートに1394プロキシオブジェクトに割り当てられたクラス名を指定して、その生成を要求する。
【0333】
あるホストから別のホストのJava ORBを利用するときには、受信側のセキュリティマネージャがその接続を許すか否かを判断する。これは送信側のオブジェクトによるORBの利用要求によって自動的に行われるものとする。
【0334】
ここでは、PC401からのORB利用要求がPC402によって受け付けられたものとし、PC402では要求通り1394プロキシオブジェクト681が生成され、その参照がPC402の1394スタブオブジェクトに返却される。1394スタブオブジェクト571は、以後の要求を1394プロキシオブジェクト681を通じて行う。なお、PC402が要求前に予め1394プロキシオブジェクト571を生成しておき、当該オブジェクトから起動できるメソッドのみが利用できるORBを1394サービスとしてあるポートに割り当てても構わない。これは、1394に限定したサービスを提供したい場合に有効である。
【0335】
1394プロキシオブジェクト681は、参照を受けとると、不明クラスの論理デバイスに対応する物理デバイスへの参照を獲得し、1394スタブオブジェクト571に通知する。
【0336】
1394スタブオブジェクト571は、上記参照を獲得すると、1394管理オブジェクト522に1394管理オブジェクト自身を登録し、1394デバイスを再構成する要求を発行する。
【0337】
1394管理オブジェクト522は、この要求によって1394プロキシオブジェクト681によって再構成を開始し、物理デバイスオブジェクトへの参照を要求する。1394スタブオブジェクトは571、1394プロキシオブジェクト681から獲得した物理オブジェクトへの参照654,655を順番に1394管理オブジェクト521に渡す。ここから属性値を取りだし、1394管理オブジェクト521は第2の実施形態で説明した初期化の場合と同様の手順で物理デバイスオブジェクト552,553を作成する。ただし、ここで作成した物理デバイスオブジェクト(以下、スタブデバイスオブジェクトとよぶ)は、リモートにある物理デバイスオブジェクトへの参照を保持しており、ローカルの物理デバイスオブジェクトでは1394インタフェースへのトランザクション要求として処理される入出力が、スタブデバイスオブジェクトでは1394スタブオブジェクト571との間の入出力として処理される点が異る(なお、その詳細は後述する)。
【0338】
次に、論理デバイス管理オブジェクト522による論理デバイスクラスオブジェクト533の初期化、それに続く論理デバイスオブジェクトの初期化が行われる。スタブオブジェクト552,553は物理デバイスオブジェクト654,655に対応しマッサージ装置クラスに合致する。リモートのPC402ではマッサージ装置クラスは利用されていないため、これらの装置は不明の装置として認識されているが、ローカルのPC401ではマッサージ装置クラスが登録されているので、論理デバイスオブジェクト533−1,533−2として登録される。
【0339】
論理デバイスオブジェクト533−1からスタブオブジェクト552に初期化要求が行われると、リモートの1394プロキシオブジェクト681に対応する物理デバイスオブジェクト654の使用要求を発行する。
【0340】
リモートの1394プロキシオブジェクト681は、プロキシクラスの論理デバイスクラスオブジェクト635を生成し、登録する。物理デバイスオブジェクト654に対応する論理デバイスオブジェクト634−1を消去し、プロキシクラスのデバイスをつくってプロキシ論理デバイスオブジェクト635−1として登録する。
【0341】
プロキシ論理デバイスオブジェクト635−1が生成されると、スタブオブジェクト533−1との間とにポート番号を割り当てて論理コネクションを生成する。ここで使うポートはJava ORBとは別のポートを用いて1394パケットの伝送を行うためのものである。
【0342】
制御プログラムが読み込まれて動作するのはローカルのPC401のスタブオブジェクト552の側であり、リモートのPC401の物理デバイスオブジェクトはポートから入力したパケットを1394インタフェースに出力し、1394インタフェースから入力したパケットをポートに転送するだけであり、装置の状態制御はスタブオブジェクト552の制御プログラム562が行う。ただし、バスリセットなどのイベントは伝達する。
【0343】
論理デバイスオブジェクト533−2からスタブオブジェクト553に初期化要求が行われた場合についても同様である。
【0344】
以上の手順により、リモートの物理デバイスをローカルの論理デバイスから利用できるできる環境が整う。
【0345】
次に、動作について説明する。ここでは、スタブの物理デバイスオブジェクト552を例に取って説明する。
【0346】
物理デバイスオブジェクト552が論理デバイスドライバ531−1から処理要求を受けとり、それに対応する1394形式のパケットを生成する。1394形式のパケットはIPパケットにカプセル化されて前記確保した論理コネクションに出力される。
【0347】
ここで、物理デバイスオブジェクト552からの出力は、IEEE1394インタフェース503に直接出力されるのではなく、論理コネクションからIP機能504を通して処理される。
【0348】
ここでは、IP機能504の先はIEEE1394インタフェースによって処理されているが、これはイーサネットやATMであっても構わない。つまり、IEEE1394インタフェースを持っていないPCでもIEEE1394装置があたかもローカルに接続されているかのように制御を行うことができる。
【0349】
さて、IPパケットにカプセル化されたパケットはプロキシ論理デバイスオブジェク635−1に届き、1394形式のパケットが取り出され、物理デバイスオブジェクト654に渡される。物理デバイスオブジェク654はこれをそのまま1394インタフェースに出力し、装置433のレジスタに作用する。
【0350】
IEEE1394のアイソクロナスチャネルの入出力は前述の方法では中継できない。IEEE1394においてはIEC 1883で定められた方式でレジスタを操作することによってアイソクロナスチャネルが設定される。
【0351】
スタブオブジェクト552から自装置宛に発行されたIEC1883の設定要求は、1394スタブオブジェクト571転送され、1394スタブオブジェクト571はアイソクロナスチャネルに対応するインターネット上のコネクションを設定する。
【0352】
IEEE1394のアイソクロナスチャネルでは確保する帯域を指定することができる。上記設定要求にはその情報が含まれているので、インターネット上で帯域を確保する手段例えばRSVPなどの手段によってコネクションの帯域を指定することが望ましい。
【0353】
なお、本実施形態では、家庭451内のLANと家庭452内のLANとの間はISDN通信回線413で結ばれているものとしたが、第1の実施形態と同様に、家庭451内のLANと家庭452内のLANとの間の接続をインターネットとし、この場合に端末のIPアドレスにはグローバルIPアドレスを用いるようにしてもよいし、例えばNAT(Network Address Translation)等のアドレス変換を用いて、公衆網2がインターネットである場合に少なくともネットワークの相互接続を行うノード(図1ではAV接続装置端末)にグローバルIPアドレスを用い、その他のノードにはプライベートIPアドレスを用いることができるようにしてもよい。
【0354】
なお、以上の各機能は、ソフトウェアとしても実現可能である。また、上記した各手順あるいは手段をコンピュータに実行させるためのプログラムを記録した機械読取り可能な媒体として実施することもできる。
【0355】
本発明は、上述した実施の形態に限定されるものではなく、その技術的範囲において種々変形して実施することができる。
【0356】
(第4の実施形態)
第1の実施形態では、図12に示したように、第1のAV接続装置4に対して第2の家庭ネットワーク内の収容されたサービス提供装置(例えば、DVDプレーヤ8、デジタルVTR9、PC10に具備されたWWWサーバやデジタルアルバムサーバ機能等、プリンタ11)の提供するサービスに関する情報(以下、簡単にサービス情報と呼ぶ)を通知するのに、サービスロケーションプロトコルを用いる場合を示した。
【0357】
第4の実施形態では、WWW(World Wide Web)サーバと、ホームページを用いて、これを行う場合について説明する。
【0358】
第4の実施形態におけるシステム構成例は図1と同様である。ここでも、第1の実施形態と同様に、第1の家庭内ネットワークの第1のAV接続装置4から、第2の家庭内ネットワーク内の各種サービス提供装置(DVDプレーヤ8、デジタルVTR9、PC10に具備されたWWWサーバ、デジタルアルバムサーバ機能等、プリンタ11)の遠隔制御を行うことを考える。
【0359】
図35は、第4の実施形態における、第2のAV接続装置5の内部構成例を示したもので、1394I/F1401、データリンクスイッチ1402、公衆網I/F1403、IP処理機能1404、FANP処理機能1405、1394AVコマンド処理機能1408の各部の動作は、図2の同一機能部と同様で、異なる点について説明する。すなわち、図2のサービスロケーション処理機能27、1394/IPコマンド変換機能29が、図35では、それぞれホームページ処理機能1407、HTTP/RTSP処理機能1409に置き換えられている。
【0360】
1394/IPサービスロケーション処理機能1406は、第1の実施形態と同様に、IEEE1394バスに接続されているサービス提供装置の提供するサービスを検索し、あるいはその登録を受け、1394バス上にどのようなサービス提供装置が存在し、どのようなサービスを提供するのかを認識し、要求された場合など必要に応じて、サービス情報を外部に通知する機能を持つ。また、このようにして得られた各サービス提供装置毎のサービス情報を後述するホームページ処理機能1407に通知し、第2の家庭内ネットワークの状況を表示するホームページの作成を促す。
【0361】
ホームページ処理機能1407は、WWWサーバ機能を持つ。1394/IPサービスロケーション処理機能1406から、第2の家庭内ネットワークのサービス情報を受け取り、それをホームページとしてまとめる。例えば、各サービス提供装置を表すアイコン、文字列をホームページ上に配置する。そして、各サービス提供装置を遠隔制御するためのコマンドを、それぞれに対応するホームページ上の各々のサービス提供装置を表すアイコン、文字列にリンクさせる。このようにして作成されたホームページに例えば公衆網2を介してアクセスがあった場合には、必要に応じて要求されたホームページを送信したり、公衆網2を介して受信した遠隔制御のためのコマンドをHTTP/RTSP処理機能1409に転送するようになっている。詳細は後述する。
【0362】
ここで、サービス提供装置を遠隔制御するためのコマンドとは、HTTPあるいはRTSP(WWWサーバ中のリアルタイムメディアを遠隔操作するためのプロトコル)等に適したものである。HTTPに適した遠隔制御のためのコマンドをHTTPコマンド、RTSPに適した遠隔制御のためのコマンドをRTSPコマンドと呼ぶ。
【0363】
HTTP/RTSP処理機能1409は、内部にHTTPデーモンあるいはRTSPデーモンを有しており、ホームページ処理機能1407から転送されてきたHTTPコマンドあるいはRTSPコマンドに対する処理を行う機能と共に、そのコマンドの宛先が、第2のAV接続装置5が代理となって公開しているサービスに割当てられているものである場合には、それを必要に応じてIEEE1394コマンドに変換し、1394AVコマンド処理機能1408を介して、1394バス3上の機器の制御を行う機能(代理処理)も有する。
【0364】
次に、第2の家庭内ネットワークにおいて、第2のAV接続装置5が第2の家庭内ネットワークに接続された各サービス提供装置のサービス情報を取得する手順について説明する。これは、第1の実施形態と同様である。即ち、図3に示したように、第2のAV接続装置5は、接続された機器(DVDプレーヤ8、デジタルVTR9、PC10、プリンタ11)のコンフィグレーションメモリを読み取ることと、図9に示したように、サービスロケーションプロトコルを用いることとで、第2の家庭内ネットワークに接続されたサービス提供装置のサービス情報を取得する。
【0365】
なお、コンフィグレーションメモリに含まれる情報は、図4、図5、図6の様なものがあってもよい。また、図10に示した形式でサービス情報が登録されていてもよい。
【0366】
さて、この時点で、第2のAV接続装置5は、コンフィグレーションメモリの読み込みを通じて、1394ノードとしてDVDプレーヤ8、デジタルVTR9、PC10、プリンタ11を認識する。また、サービスロケーションプロトコルを通じて、さらに、WWWサービス、デジタルアルバムサービス、エアコンサービス、電子レンジサービスのそれぞれを認識する。ここで、第2のAV接続装置5は、エアコンサービスと電子レンジサービスはPC10にて提供されるサービスであると認識する。
【0367】
さて、第2のAV接続装置5は、この収集したサービス情報に基づき、「その家には何があるか(どんなサービス提供装置、どんなサービスが存在するか)」を紹介するホームページを作成する。
【0368】
作成されるホームページは、例えば、図36に示すように、ユーザに認識させたいサービス提供装置毎に、それらを表すアイコンや文字列などを列挙するものである。このホームページは、例えばその家のWWWサーバがデフォルトで紹介する最初のホームページの中の、例えば「わが家の電気機器」といった文字列なり、アイコンなりからのハイパーリンクで到達できるように、これを構築してもよい。ちなみに、この「わが家の電気機器」のホームページに移る際は、許可を得ていない他人に侵入されないように、何らかの認証手続きを経るのが望ましい。
【0369】
図36に示したようなホームページ中のアイコン、文字列をクリックすると、それに対応するサービス提供装置あるいはサービス毎のホームページが現れるようにする。例えば、図36のDVDプレーヤのアイコンをクリックすると、それにリンクされた図39に示すような「DVDプレーヤのホームページ」が表示されるようにしてもよい。
【0370】
このような構成の例えば図36に示すようなホームページを作成するために、ホームページ処理機能1407は、例えば図37のフローチャートに示すような手順を踏む。
【0371】
まず、1394/IPサービスロケーション処理機能1406に登録されているサービス情報を、例えばサービス提供装置毎に1つずつ読み出し、各サービス提供装置毎のホームページ(例えば、図39に示すような「DVDプレーヤのホームページ」)を作成する(ステップS101〜ステップS102)。
【0372】
図38に示すフローチャートは、ステップS102のサービス提供装置毎のホームページ作成処理手順を示したものである。
【0373】
1394/IPサービスロケーション処理機能1406に具備されている各サービス提供装置毎のRTSPコマンド対応テーブル1410(図50参照)を参照して各サービス提供装置の予め定められたコマンド群(ホームページを通して、ユーザに公開するサービス提供装置の制御のためのコマンド群)を取得し(ステップS111)、各コマンド毎にそれに対応するアイコンあるいは文字列を作成する(ステップS112)。例えば、サービス提供装置がDVDプレーヤの場合、図50のRTSPコマンド対応テーブルから「再生」を指示するための「PLAY」というRTSPコマンドを取得し、そのコマンドに対応するアイコン(図39のアイコンi206)を作成する。
【0374】
RTSPコマンド対応テーブル1410は、各サービス提供装置毎にRTSPコマンドが記述してある。例えば、DVDプレーヤ8の場合、コマンド群としては、電源オン、電源オフ、再生、巻き戻し、前の曲、早送り、次の曲、停止、一時停止の各RTSPコマンドが挙げられる。また、図50に示すように、第2のAV接続装置5にて代理処理を行っているDVDプレーヤ8、デジタルVTR9の場合は、各RTSPコマンドに対応する1394コマンドをともに記憶されている。
【0375】
なお、RTSPコマンド対応テーブル1410は、後述する図42の1394/IPコマンド変換機能1423に具備されるテーブルと同一のものであってもよい。
【0376】
さて、ステップS112で作成されたアイコンあるいは文字列に、そのサービス提供装置のRTSPコマンドを対応付ける(ステップS113)。例えば、図39の「再生」のアイコンi206には、「PLAY」というRTSPコマンドを対応させる。例えば、アイコンあるいは文字列と、それに対応するRTSPコマンドとをテーブルに登録しておいてもよい。
【0377】
なお、第2のAV接続装置5にて代理処理を行っているDVDプレーヤ8、デジタルVTR9の場合は、第2のAV接続装置5のアドレスとDVDプレーヤ8、デジタルVTR9それぞれのIEEE1394ノードに割り当てたポート番号をRTSPコマンドに含める。
【0378】
以上をそのサービス提供装置の提供する全てのコマンドに対し行い、作成されたアイコンあるいは文字列を適当に配置して、例えば図39に示すようなサービス提供装置のホームページを作成する(ステップS114〜ステップS115)。
【0379】
次に、図37の説明に戻り、図38のフローチャートに従って作成された各サービス提供装置毎のホームページへのハイパーリンクを持った、そのサービス提供装置のアイコンあるいは文字列を作成あるいは取得する(ステップS103)。すなわち、サービス提供装置毎のアイコン等は、そのサービス提供装置のコンフィグレーションメモリから取り出してもよいし、サービスロケーションプロトコルにより、このアイコンの位置を一意に指定できるURLが提供され、そこに取りに行く形で入手してもよい。
【0380】
ステップS103で得たアイコンを、「わが家の電気機器」のホームページに貼り付ける。以上の手順を第2の家庭内ネットワークに収容されれている全てのサービス提供装置について行い、図36のようなホームページが作成できる(ステップS104)。
【0381】
さて、図36に示したホームページ上のサービス提供装置を表すアイコンあるいは文字列のうち、DVDプレーヤを表すアイコンi101をクリックすると、このアイコンに対応付けられたサービス提供装置のホームページ、すなわち、図39に示したようなDVDプレーヤのホームページが現れる。
【0382】
図39に示したようなサービス提供装置のホームページ、すなわち、この場合、DVDプレーヤのホームページは、DVDプレーヤの操作盤として用いて、ユーザはDVDプレーヤ8を遠隔制御することができる。例えば、「電源ON」ボタンをクリックすると、DVDプレーヤ8の電源がオンになる、といった具合である。
【0383】
次に、例えば、第1の家庭内ネットワークのPC6から第1のAV接続装置4、公衆網2を介して、第2の家庭内ネットワーク内の各種サービス提供装置(DVDプレーヤ8、デジタルVTR9、PC10に具備されたWWWサーバ、デジタルアルバムサーバ機能等、プリンタ11)を遠隔制御する場合の処理動作を図40に示すシーケンス図を参照して説明する。
【0384】
第1の家庭内ネットワークに収容されているPC6にて所定のWWWブラウザを用いることにより、図36に示したようなホームページが提示されたとする。ユーザが、例えばDVDプレーヤi101のアイコンをクリックすると、それに対応つけされたDVDプレーヤのホームページを要求するHTTPメッセージがPC6から出力される。
【0385】
このメッセージを受けて、第1のAV接続装置4では第2のAV接続装置5に対して、DVDのホームページの送出要求を行う(ステップS4501)。例えば、「GET/appliances/dvd.html HTTP/1.1」というメッセージが第1のAV接続装置4から第2のAV接続装置5に送信される。
【0386】
これを受けて、第2のAV接続装置5は、例えば図39で示したようなDVDプレーヤのホームページのテキスト(図41参照)を第1のAV接続装置4に対して送付する(ステップS4502)。
【0387】
図41に示すように、例えば「再生」のアイコンi206に付与されるハイパーリンクは、再生を指示するためのRTSPの「PLAY」コマンドであり、その接続先となるノード(本実施形態の場合、第2のAV接続装置5のIPアドレス、即ち「192.168.1.254」)と、そのポート番号(本実施形態の場合「2000」)とが付加されている。このようにすることにより、「再生」のアイコンi206をクリックすれば、ユーザは、RTSPの「PLAY」コマンドを送信先のアドレスを気にすることなく所望のノードの所望のポートに送出することができるようになる。もって、RTSPを使った遠隔制御をハイパーリンクの関連付けを通して行うことができるようになる。
【0388】
さて、第1のAV接続装置のユーザは、DVDのホームページを受け取ると、DVDプレーヤの遠隔操作を開始できる。例えば、図39のホームページの「電源ON」のアイコンi201をクリックしたとする(ステップS4503)。「電源ON」のアイコンi201には、例えば、RTSPの「SETUP」コマンドがハイパーリンクにより対応づけられている。よって、「SETUP rtsp://192.168.1.254:2000 RTSP/1.0 1 Transport: rtp/udp;port=5500」といコマンドデータが第1のAV接続装置4から第2の接続装置5に送信される(ステップS4504)。このコマンドデータによって、第1のAV制御装置4は、RTP/UDPの各プロトコルを使用してデータを送信し、受信側のポート番号は「5500」を用いることを要求している。
【0389】
これを受け取った第2のAV接続装置5の動作を以下に説明する。第2のAV接続装置のHTTP/RTSP処理機能1409の内部構成例を図42に示す。上記RTSPの「SETUP」コマンドデータは、HTTP/RTSP主処理機能1421に到達する。ここでは、まず、「SETUP」コマンドデータ中、ポート番号「2000」は、1394ノードであるDVDプレーヤ8に割り当てられているポート番号である事を認識し、RTSP代理機能1422に制御が渡される。
【0390】
RTSP代理機能1422は、1394/IPコマンド変換機能1423内のテーブルを参照して、対応する1394AV/Cコマンド(本実施形態の場合、電源オンを意味するAV/Cコマンド)を見つけ、該当する1394ノード(本実施形態の場合、DVDプレーヤ8)に対して、1394AVコマンド処理機能1408を通して、上記AV/Cコマンドを発行する(ステップS4505)。
【0391】
これに成功すると、第2のAV接続装置5は、第1のAV接続装置4に対して、制御完了を意味するRTSPの「OK」コマンドデータ(例えば、「RTSP/1.0 200 1 OK Session: 1234」)を送出する(ステップS4506)。その際に、RTSPコマンドには、このセッションを通して一意の番号として、セッション番号(本実施形態の場合、「1234」)を付加している。第1のAV接続装置4のブラウザは、このセッション番号を保持し、以下同一の装置に対してRTSPコマンドを発行する場合、セッション番号「1234」をコマンドに付加する。
【0392】
次に、ユーザは、図39のホームページの「再生」のアイコンi206をクリックしたとする(ステップS4507)。「再生」のアイコンi206には、例えば、RTSPの「PLAY」コマンドがハイパーリンクにより対応づけられている。よって、このハイパーリンクによって対応づけられた第2のAV接続装置5(IPアドレス「192.168.1.254」、ポート番号「2000」、セッション番号「1234」)に対して、「PLAY rtsp://192.168.1.254:2000 RTSP/1.0 2 Session: 1234」というコマンドデータが第1のAV接続装置4から送信される(ステップS4508)。
【0393】
これを受信した第2のAV接続装置5は、DVDプレーヤ8の再生を促すべく、
IEC1883による同期チャネルの確保(ステップS4509)、1394AV/CプロトコルのDVDプレーヤ8に対する「PLAY」コマンドの実行(ステップS4510)を行い、映像データの上記確保した同期チャネルに対する送出を促す。そして、DVDプレーヤ8から映像データの送信準備が完了した旨の「ACK」信号を受け取ったとき、第2のAV接続装置5は、RTSPの「OK」コマンドデータ(「RTSP/1.0 200 2 OK Session:1234」)を第1のAV接続装置4に送信する(ステップS4511〜ステップS4512)。
【0394】
その後、第2のAV接続装置5は、この同期チャネルを通して送られてきた映像データをIPカプセル化し、IPパケットとして第1のAV接続装置4に対して送出する(ステップS4513〜4515)。
【0395】
第1のAV接続装置4は、IPパケットとして上記映像データを受信し、映像の表示など必要な処理を行う。映像の送出先をデジタルTV7とする場合は、第1の実施形態と同様に、第1の家庭内ネットワークであるIEEE1394上における必要な同期チャネルの確保や、第1のAV接続装置4がデジタルTV7に対して、該同期チャネルからのデータ受信及びそのデータの画面への表示を指示した後、上記映像データを受信IPパケットから取り出し、IEEE1394向けのフォーマットに変換した後、第1の家庭内ネットワークに送出すればよい。
【0396】
なお、ユーザが、図39のホームページの「電源ON」のアイコンi201をクリックする前に「再生」のアイコンi206をクリックした場合でも、そのユーザはDVDプレーヤ8の操作の意志があると判断して、「再生」のアイコンi206のクリックに呼応して、「SETUP」コマンドと、「PLAY」コマンドの両方を送出するようになっていても良い。
【0397】
また、DVDプレーヤのホームページを開く時点で、RTSPコマンドとして、
DVDプレーヤの「SETUP」コマンドを送出するようになっていても良い。
【0398】
以上説明したように、第2の家庭内ネットワークに収容される遠隔制御可能な全てのサービス提供装置から収集されたサービス情報に基づき第2のAV接続装置5は、RTSPコマンド対応テーブル1410を参照して各サービス提供装置のRTSPコマンドとリンクされたアイコンを掲載するホームページを作成し、このホームページにアクセスした第1のAV接続装置4側で所望のアイコンがクリックされたとき、そのアイコンにハイパーリンクによって対応付けられた(HTTP/RTSP処理機能1409の1394/IPコマンド変換機能1423のテーブルに登録されている)RTSPコマンドが、1394AV/Cコマンドに変換されて所望のサービス提供装置に対し所望の制御を実行することにより、第2の物理ネットワーク(例えばIEEE1394バス3)に接続されたサービス提供装置(例えばDVDプレーヤ8)がデータリンクレイヤに依存するプロトコルしか解釈できない場合でも(本発明のAV接続装置を用いれば)遠隔制御が可能となる。
【0399】
さて、以上は第2のAV接続装置5が映像データをIPパケットにカプセル化して送出する場合について説明した。これに対して、第2のAV接続装置5が、IPカプセル化を行わず、非IPデータのまま第1のAV接続装置4に対して映像データを送出する方法も考えられる。この場合について図43に示すシーケンスを参照して説明する。
【0400】
ステップS4801〜ステップS4802の第1のAV接続装置4のユーザは、DVDプレーヤのホームページを受け取り、DVDプレーヤの遠隔操作を始めるまでは、図40の説明と同様である。
【0401】
例えば、図39のホームページの「電源ON」のアイコンi201をクリックしたとする(ステップS4803)。「電源ON」のアイコンi201には、例えば、RTSPの「SETUP」コマンドがハイパーリンクにより対応づけられている。よって、「SETUP rtsp://192.168.1.254:2000 RTSP/1.0 1 Transport: iec1883/nonip;port=FANP」というRTSPの「SETUP」コマンドデータが第1のAV接続装置4から第2の接続装置5に送信される(ステップS4804)。このコマンドデータにより、第1のAV制御装置4は、データをIEC1883でカプセル化し、IPパケットではない形で送信することを要求している(すなわち、RTSPの[SETUP」コマンドには非IPパケット化を指示するための「iec1883/nonip」という情報を含んでいる)。また、送信されるデータのリンクレイヤ情報と、属性情報を知るために、第2のAV接続装置5に対して、FANPを用いて、上記情報を第1のAV接続装置4に通知することを要求している。
【0402】
RTSPの「SETUP」コマンドデータは、第2のAV接続装置5のHTTP/RTSP処理機能1409で受け取られ、HTTP/RTSP主処理機能1421に到達する。
【0403】
HTTP/RTSP主処理機能1421では、ポート番号「2000」は、1394ノードであるDVDプレーヤ8に割り当てられている番号である事を認識し、RTSP代理機能1422に制御が渡される。
【0404】
RTSP代理機能1422は、1394/IPコマンド変換機能1423内のテーブルを参照して、対応する1394AV/Cコマンド(本実施形態の場合、電源オンを意味するAV/Cコマンド)を見つけ、該当する1394ノード(本実施形態の場合、DVDプレーヤ8)に対して、1394AVコマンド処理機能1408を通して、上記AV/Cコマンドを発行する(ステップS4805)。
【0405】
これに成功すると、第2のAV接続装置5は、第1のAV接続装置4に対して、制御完了を意味するRTSPの「OK」コマンドデータ(例えば、「RTSP/1.0 200 1 OK Session: 1234」)を送出する(ステップS4806)。その際に、RTSPコマンドには、このセッションを通して一意の番号として、セッション番号(本実施形態の場合、「1234」)を付加している。第1のAV接続装置4のブラウザは、このセッション番号を保持し、以下同一の装置に対してRTSPコマンドを発行する場合、セッション番号「1234」をコマンドに付加する。ブラウザが保持するセッション番号は、ユーザによる明示的なセッションの終了、例えばセッション終了に対応するハイパーリンクの参照、または対向側の第2のAV接続装置5によるセッションの終了、もしくはページのリロードによっても更新される。
【0406】
次に、ユーザは、図39のホームページの「再生」のアイコンi206をクリックしたとする(ステップS4807)。「再生」のアイコンi206には、例えば、RTSPの「PLAY」コマンドがハイパーリンクにより対応づけられている。よって、このハイパーリンクによって対応づけられた第2のAV接続装置5(IPアドレス「192.168.1.254」、ポート番号「2000」、セッション番号「1234」)に対して、「PLAY rtsp://192.168.1.254:2000 RTSP/1.0 2 Session: 1234」というコマンドデータが第1のAV接続装置4から送信される(ステップS4808)。
【0407】
これを受信した第2のAV接続装置5は、DVDプレーヤ8の再生を促すべく、
IEC1883による同期チャネルの確保(#X)、1394AV/CプロトコルのDVDプレーヤに対する「PLAY」コマンドの実行を行い、映像データの上記確保した同期チャネルに対する送出を促す(ステップS4809〜S4811)。そして、DVDプレーヤ8から映像データの送信準備が完了した旨の「ACK」信号を受け取ったとき、第2のAV接続装置5は、RTSPの「OK」コマンドデータ(「RTSP/1.0 200 2 OK Session: 1234」)を第1のAV接続装置4に送信する(ステップS4811〜ステップS4812)。
【0408】
その後、第2のAV接続装置5は、この同期チャネル(#X)を通して送られてきた映像データを、IPカプセル化は行わず、そのまま公衆網のカプセル化をして、第1のAV接続装置4に対して送出する。例えば、公衆網がATM網であれば、第2のAV接続装置5に伝送されてきたIEC1883パケットをそのままATM網にマッピングして送出してもよいし、IEC1883パケットを一度外し、映像データそのものをATM網にマッピングして送出してもよい。いずれにしろ、第2のAV接続装置5が送出するリンクレイヤのヘッダ情報を第1のAV接続装置4に対して通知するため、FANPメッセージ「FANP message (ch: #y、 Session:1234)」を送出する(ステップS4813)。
【0409】
FANPメッセージの使い方は、基本的に第1の実施形態と同様であるが、ステップS4812において通知されたセッション番号に対応するFANPであることを明確にするために、このFANPメッセージにはステップS4812にて通知された値と同一の値のセッション番号(本実施形態の場合「1234」)が含まれても良い。この様にすることにより、受信側ノードすなわち第1のAV接続装置4は、FANPメッセージが前記RTSPの「PLAY」コマンドに対応するものであることを認識する事ができる。
【0410】
さて、第2のAV接続装置5では、DVDプレーヤ8から同期チャンネル(#X)で送られてきた映像データをIPカプセル化せずに公衆網2に出力すると、それを受信した第1のAV接続装置4では、映像の表示など必要な処理を行う(ステップS4814〜S4816)。その際、ステップS4815にあるように、例えば、MPEGover1394からMPEGoverATM等、伝送されるネットワークに依存するデータ伝送方法が規定されている場合は、必要なフォーマット変換を行っても良い。また、映像の送出先をデジタルTV7とする場合も前述の場合と同様である。
【0411】
以上の第4の実施形態では、ホームページ中のアイコンあるいは文字列にサービス提供装置を遠隔制御するためのRTSPコマンドをハイパーリンクにて対応させる場合について説明してきたが、ハイパーリンクにて対応させる代わりに各RTSPコマンドに対応するホームページ中のアイコンあるいは文字列のそれぞれに、対応するRTSPコマンドデータを作成するためのプログラム(例えばJAVA(登録商標)プログラム)を張り付け、そのアイコンあるいは文字列がクリックされた場合は、該プログラムを第1のAV接続装置4(例えば、第1のAV接続装置4上のJAVA仮想マシン)にて起動して、図40や図43で説明したようなRTSPコマンドが送出されるようになっていてもよい。
【0412】
この場合の処理動作は、図40、図43と同様であり、異なるのは、例えば図40のステップS4504、図43のステップS4802で第2のAV接続装置5から送信されるサービス提供装置のホームページのテキスト記述である。
【0413】
サービス提供装置のホームページのテキストの一例を図44に示す。図44には、DVDプレーヤのホームページのテキストで、例えば、図39の「再生」のアイコンi206にRTSPコマンドを生成するプログラムが付加されている。
【0414】
やはり、この場合も、「再生」のアイコンi206をクリックすれば、RTSPの「PLAY」コマンドを生成するプログラムを起動することにより、そのコマンドを所望のノードの所望のポートに送出することができるようになり、もってRTSPを使ったサービス提供装置を遠隔制御することができる。
【0415】
次に、図39のホームページの「詳細設定」のアイコン(ボタン)i210について説明する。このボタンは、RTSPコマンドにて予め定められた遠隔制御よりも細かな操作を対象のサービス提供装置(例えば、DVDプレーヤ8)に対して行いたい場合に用いるものである。即ち、IEEE1394のAV/Cプロトコルにて規定されるDVDプレーヤ8の制御コマンドは、RTSPで規定されるコマンドよりも多岐にわたる可能性がある。このように、RTSPコマンドにて、1394AV/Cのすべてのコマンドに対応できない場合の対策として、これを行うホームページを別途設け、図39の「詳細設定」のボタンを押すと、それに対応付けられた、例えば「GET /appliances/dvd_detail.html HTTP/1.1」というコマンドが送出されて、図47に示すようなDVDプレーヤの詳細設定のためのホームページが送付される。
【0416】
図45は、サービス提供装置の詳細設定のためのホームページの作成処理手順を示したものである。すなわち、前述の各サービス提供装置毎のコマンドテーブル1410にて対応がなされていない、そのサービス提供装置のリンクレイヤ方式(本実施形態の場合、IEEE1394のAV/Cプロトコル)に依存したコマンド(ネイティブコマンド)を登録したネイティブコマンド対応テーブルを別途1394/IPサービスロケーション処理機能1406に具備している。各サービス提供装置毎にネイティブコマンドテーブルを参照してネイティブコマンドを取得し(ステップS121)、各コマンド毎にそれに対応するアイコンあるいは文字列を作成する(ステップS122)。生成されたアイコンあるいは文字列にはCGI(Common Gateway Interface)スクリプトを対応付ける(ステップS123)。以上をそのサービス提供装置のネイティブコマンドの全てに対し行い、作成されたアイコンあるいは文字列を適当に配置して、例えば図47に示すようなサービス提供装置の詳細設定のためのホームページを作成する(ステップS124〜ステップS125)。
【0417】
なお、ネイティブコマンド対応テーブルは、図42に示したHTTP/RTSP処理機能に具備されているCGI処理機能1424内のテーブルと同様のものであっても良い。
【0418】
図47のDVDプレーヤの詳細設定のためのホームページに配置されたボタン(アイコンあるいは文字列)の一部は、第2のAV接続装置5内のCGI(Common Gateway Interface)処理機能により処理されるCGIスクリプトに対応付けされている。そして、おのおののCGIスクリプトが、対応するIEEE1394のAV/Cコマンドを、第2の家庭内ネットワークのIEEE1394バスに対して送出するようなスクリプトとなっており、もって、上記アイコンあるいは文字列をクリックすればAV/Cプロトコルで定められた粒度の制御が行えるようになる。
【0419】
このようにして、詳細設定のためのホームページを作成し、そのホームページ内のアイコンあるいは文字列がクリックされると、それい対応付けられた第2のAV接続装置5内のCGIスクリプトを起動するための要求メッセージがHTTPにて送信され、それを受けて第2のAV接続装置5では、該CGIスクリプトを起動し、対応するAV/Cコマンドが発行される。
【0420】
図46は、第2のAV接続装置5から送信される例えばDVDプレーヤの詳細設定のためのホームページのテキスト記述の一例を示したもので、図47の「スロー再生」の文字列にCGIスクリプトを対応つけている場合を示している。
【0421】
図47のDVDプレーヤの詳細設定のためのホームページで「通常再生」を選択すると、前述の図40のステップS4508同様にRTSPコマンドが発行されるが、「言語選択」や「スロー再生」などのRTSPでサポートされていないコマンドについては、第2のAV接続装置5のHTTP/RSTP処理機能に具備されたCGI処理機能1424において、該当するCGIスクリプトを起動し、対応するAV/Cコマンドを1394AVコマンド処理機能1408を通して発行する。
【0422】
例えば、図47に示すホームページで「スロー再生」を選択した場合、これに対応するCGIスクリプトを起動するためのメッセージ「GET http://192.168.1.254/dvd/slowplay.cgi HTTP/1.1」を第2のAV接続装置5に向けて送出する。これを受信した第2のAV接続装置5では、「スロー再生」のコマンドはRTSPでサポートされていないので、HTTP/RSTP処理機能に具備されたCGI処理機能1424において、該当するCGIスクリプトを起動し、対応するAV/Cコマンドを1394AVコマンド処理機能1408を通して発行する。
【0423】
サービス提供装置の詳細設定のためのホームページには、RTSPコマンドに対応するアイコンあるいは文字列と、CGIスクリプトに対応するアイコンあるいは文字列とが混在していてもよいし、また、そのホームページがCGIスクリプトに対応するアイコンあるいは文字列とでのみ構成されていてももちろん良い。例えば、図47の「再生」ボタンや「電源ON」、「電源OFF」のボタンなど、RTSPコマンド対応テーブルにあるコマンドについては、ハイパーリンクなり、JAVAプログラム等により実現されていてもよく、「選択言語」、「字幕」といった、その他の詳細コマンドについてはCGIにて実現されていてもよい。
【0424】
また、図47の詳細設定のためのホームページに配置されている全てのボタンは、ネイティブコマンド対応テーブルに登録されていて、CGIスクリプトに対応つけられていてもよい。
【0425】
以上、第4の実施形態では、IEEE1394バス上のAV/Cコマンドに従うAV機器の遠隔制御について述べてきたが、同様の制御はその他の任意のリンクレイヤに依存するプロトコル群を有する機器についても同様に行うことができる。その一例として、ホームオートメーション網の一種であるLONを適用する場合について説明する。
【0426】
図48、図49は、それぞれLONを接続するAV接続装置の内部構成例、HTTP/RTSP処理機能の構成例を示したものである。
【0427】
IEEE1394のAV/Cコマンドの代わりに、LONで定められたコマンド群、例えばLONTalk等のコマンド群を送出できるようになっている点が、
差分点であり、その他の各構成部は、前述同様である。
【0428】
なお、以上第4の実施形態で説明した各機能は、ソフトウェアとしても実現可能である。また、上記した各手順あるいは手段をコンピュータに実行させるためのプログラムを記録した機械読取り可能な媒体として実施することもできる。
【0429】
本発明は、上述した実施の形態に限定されるものではなく、その技術的範囲において種々変形して実施することができる。
【0430】
(第5の実施形態)
図51は、本発明の第5の実施形態に係る通信システムの構成例を示したもので、第1のネットワーク(例えばIEEE1394バスで構成されるホームネットワーク)2010および第2のネットワーク(例えば公衆網2101上のインターネット)が、AV接続装置2201を介して相互接続されている。以下、第1のネットワーク2010をホームネットワーク2010、第2のネットワーク2101をインターネット2101と呼ぶ。また、ホームネットワーク2010に接続されている各端末装置はインターネット処理機能をもつ情報家電であるとする。
【0431】
AV接続装置2201は、ホームネットワーク2010とインターネット2101とを接続するゲートウエイの役割を持ち、後述するように、ホームネットワークやインターネットの終端機能、ルータ機能、プロトコル変換機能、代理サーバ機能などを持つ。
【0432】
ホームネットワーク2010を構成するIEEE1394バスには、パーソナルコンピュータ(PC)2001、プリンタ2002、DVDプレーヤ2003が接続されている。インターネット2101には、IP通信を行うことのできるIP端末2102が接続されている。もちろん、上記以外の端末装置がホームネットワーク2010、インターネット2101に接続されていてもよい。
【0433】
図51において、全ての端末装置はインターネット端末、即ちIPアドレスを持ち、IP通信を行うことができる端末装置である。ただし、ホームネットワーク2010を構成するIEEE1394バスは、プライベートIPアドレス空間のアドレスで運用されており、インターネット2102はグローバルIPアドレス(例えばIPv4)空間で運用されている。IP端末2101のIPアドレスは「G.2」であるとする。一方、ホームネットワーク2010上の各装置のアドレスとしては、プライベートサブネットアドレス「P.0」を持ち、PC2001が「P.1」、プリンタ2002が「P.2」、DVDプレーヤ2003が「P.3」であるとする。
【0434】
AV接続装置2201は、アドレス体系の異なるこれら2つのネットワークに接続されているので、2つの異なるアドレス体系のアドレスを有する。すなわち、ホームネットワーク2010側のIPアドレスが「P.254」で、インターネット2101側のIPアドレスが「G.1」であるとする。
【0435】
図52は、AV接続装置2201の構成例を示したものである。AV接続装置2201は、ホームネットワーク2010を構成するIEEE1394バスと接続するためのインタフェースを司る1394インタフェース(I/F)2202、インターネット2101と接続するためのインタフェースを司るインターネットインタフェース(I/F)2205、インターネットパケットのルーチング処理や、グローバルIPアドレスとプライベートIPアドレスとの間のアドレス変換等を行うIP処理部2202、ホームネットワーク2010内のサービスを検出、収集し、これらサービスをインターネット2101側に対してホームページ処理部2204を通じて提示(広告)するサービスロケーション代理処理部2203、ホームネットワーク2010上の装置、サービスについて、インターネット2101側からの遠隔制御を行うことができるようなホームページを生成し、これを要求に応じて配送するホームページ処理部2204から構成される。
【0436】
IP処理部2202は、アドレス変換処理を行うNAT処理部2206を具備する。NATとはネットワークアドレス変換(トランスレーション)の略であり、一般にグローバルIPアドレスとプライベートIPアドレスとの間の変換処理、あるいはIPv4アドレスとIPv6アドレスとの変換処理等を行う。詳細は、RFC1631を参照されたい。
【0437】
NAT処理部2206は、IPマスカレードと呼ぶポート単位のアドレス変換機能もある。即ち、ホームネットワーク2010側にいくつもの端末装置があったとしても、インターネット2101側に必要なグローバルIPアドレスが1つ(本実施形態の場合「G.1」)あれば十分とする技術であり、具体的には、ホームネットワーク2101に接続されている各々の端末装置、各々のサービス(例えばRFC1340で規定されているポート番号にて識別されるサービス)の論理多重識別子(RFC1340で規定されているポート番号にて識別されるサービスの論理多重識別子はポート番号である)に対して、同一のグローバルIPアドレス「G.1」と、各サービス毎に別々の他の論理多重識別子(例えばRFC1340で規定されているポート番号)を割当て、これらの対応関係を図55に示すようなテーブル(アドレス・ポート番号変換テーブル2207)として記憶する。そして、インターネット2101およびホームネットワーク2010のいずれか一方から他方へ転送されるパケットの宛先アドレスは、このテーブル2207を用いて、互いのアドレス空間のアドレス及びポート番号に変換されて転送されることにより、インターネット2101上の端末装置とホームネットワーク2010上の装置とが互いに通信可能となる。
【0438】
IP処理部2202は、さらに、パケットフィルタ2208を具備する。パケットフィルタ2208は、いわゆるファイアウオールとしての機能を有する。即ち、AV接続装置2201を通過すべきでないパケット(あるいは通過してもよいパケット)を判別し、通過すべきでないパケットについてはこれをIP処理部2202以外の他の部位に渡さないようにして(例えば廃棄する)、外部からホームネットワーク2010へのアクセスを制限する。これにより、悪意のユーザによるホームネットワーク2010上のサービスへのアクセスを未然に防止するようになっている。この判断処理のために、パケットフィルタ2208は、例えば、AV接続装置2201を通過してホームネットワーク2010へ送出可能なパケットのソースアドレスを登録したテーブル(パケットフィルタテーブル2209)を持ち、インターネット2101から入力されるパケットのソースアドレスが、このテーブルに登録されている時にその通過を許可する。なお、パケットフィルタテーブル2209にはAV接続装置2201を通過させないソースアドレスが登録されていてもよい。この場合、インターネット2101から入力されるパケットのソースアドレスが、このテーブルに登録されていなければ、そのパケットの通過を許可する。
【0439】
次に、図53に示すシーケンスを参照して、インターネット2101上のIP端末2102から、ホームネットワーク2010にアクセスし、例えばDVDプレーヤ2003の遠隔操作を行う場合を例にとり、AV接続装置2201の処理動作について説明する。
【0440】
まず、AV接続装置2201のサービスロケーション代理処理部2203は、ホームネットワーク2010上のサービスロケーション情報を収集する(ステップS5001〜ステップS5003)。サービスロケーション情報とは、ホームネットワーク2010上にどのようなサービスあるいは端末装置が存在しているかを示す情報である。サービスロケーション情報の収集を行う方法としては、いくつかの方法が考えられる。例えば、サービスロケーションプロトコルを用いる方法、LDAP(ライトウエイトディレクトリアクセスプロトコル)を用いる方法、DHCP(ダイナミックホストコンフィグレーションプロトコル)を用いる方法、SNMP(シンプル網管理プロトコル)のMIB(マネージメントインフォメーションベース)を用いる方法など、種々の方法が考えられるが、これらのいずれの方法を用いても良い。
【0441】
ここでは、例えば、図12に示したようなサービスロケーションプロトコルを用いて、ホームネットワーク2010上のサービスロケーション情報を収集するものとする。なお、サービスロケーションプロトコルの詳細はRFC2165を参照されたい。実際のサービスロケーション情報の収集は、図53のように、AV接続装置2201がホームネットワーク2010のディレクトリエージェントとなっており、各サービスエージェント(即ちPC2001、プリンタ2002、DVDプレーヤ2003)からAV接続装置2201へ、それぞれのサービスの登録を行うものであってもよい。
【0442】
なお、このような方法以外にも、AV接続装置2201がサポート可能なサービスについて、それぞれのサービスにあらかじめ割当てられたIPマルチキャストアドレスに対して、AV接続装置2201がサービス要求を送出し、この要求に対し、当該サービスを提供する端末装置自身が答えるようにしてもよい。また、AV接続装置2210がホームネットワーク2010上に別個存在するディレクトリエージェントに、ホームネットワーク2010上のサービスの詳細を問い合わせるようにしてもよい。
【0443】
ここで収集されたホームネットワーク2010上で提供されているサービスに関する情報(より具体的には、ホームネットワーク2010上の端末装置のアドレスと当該装置により提供されるサービスのポート番号(RFC1340で規定))を基に、図54のフローチャートに示すような処理動作を行う。
【0444】
AV接続装置2201は、ホームネットワーク2010の所有者(例えばAさんとする)宅にどのようなサービスや端末装置が存在するのかを説明するホームページをホームページ処理部2204にて作成する(ステップS5101〜ステップS5102)。
【0445】
このホームページは、例えば、図59に示すようなもので、インターネット2101上の任意の端末装置から、Aさん宅のURL(Uniform Resource Locator)、すなわち、例えば「http://G.1」にアクセスすると表示されるホームページである。このホームページから、例えば、CGI(Common Gate Way)プログラムにより、Aさん宅に存在している各サービスや端末装置を操作することができるようなユーザインタフェースである。実際には、このホームページから、ホームネットワーク2010上の各端末装置に対してリンクが張られており、そのオブジェクトをクリックすると、次には各端末装置のホームページに接続され、各端末装置が提供する、その端末装置の操作スイッチ等を遠隔操作することが可能となるホームページが表示される仕組みになっている。
【0446】
次に、サービスロケーション代理処理部2203は、先に収集されたサービス、あるいは端末装置のそれぞれについて、独自の論理多重識別子、すなわち、例えば、RFC1340で規定されているポート番号(ウエルノウンポート番号ではなく、動的に設定可能なポート番号)を割り当てていく(ステップS5104)。以下、ホームネットワーク2010上でもともと定めれれているポート番号を第1のポート番号と呼び、ホームネットワーク2010上のサービスに対しサービスロケーション代理処理部2203で独自に割り当てられるポート番号を、ホームネットワーク2010上でもともと定めれれているポート番号とは区別するために第2のポート番号と呼ぶ。
【0447】
例えば、第2のポート番号「2000」はDVDプレーヤ2003に、第2のポート番号「2002」はプリンタ2002、第2のポート番号「2004」はPC2001と言うように割当てていく。この第2のポート番号は、AV接続装置2201のグローバルIPアドレスと組になり、運用される。即ち、インターネット2101側より、例えば第2のポート番号「2000」がアクセスされた場合、AV接続装置2201は、これはDVDプレーヤ2003に対するアクセスであると解釈していくこととなる。なお、論理多重識別子は、RFC1340で規定されているポート番号に限らず、ホームネットワーク2010上で提供される各サービスをインターネット上で識別できる識別子であれば何でもよい。
【0448】
AV接続装置2201のグローバルユニークIPアドレスと、ホームネットワーク2010上で提供される各サービスに割り当てられた第2のポート番号と、ホームネットワーク2010上の当該サービスに対する論理多重識別子としての第1のポート番号と、当該サービスを提供する装置のプライベートIPアドレスとの対応関係は、アドレス・ポート番号対応テーブル2207に登録される(ステップS5105)。
【0449】
アドレス・ポート番号対応テーブル2207の具体例を図55に示す。アドレス・ポート番号対応テーブル2207には、ホームネットワーク2010上で提供される各サービス毎に、インターネット2101側のIPアドレス(グローバルユニークIPアドレス)と第2のポート番号、ホームネットワーク2010側のIPアドレス(プライベートIPアドレス)と第1のポート番号の対が登録されている。このテーブル2207に、ホームネットワーク2010上で提供される全てのサービスについての対応関係が順次登録されていく。
【0450】
例えば、DVDプレーヤ2003の場合、ホームネットワーク2010内でのDVDプレーヤのサービス(IPアドレス(プライベートIPアドレス)=P.3、第1のポート番号=80でDVDプレーヤにより提供されるhttpサービスであると、サービスロケーションプロトコルにより解釈される)には、インターネット2101側に対しては、AV接続装置2201のグローバルIPアドレス「G.1」で第2のポート番号「2000」が割当てられている。
【0451】
このようなアドレス・ポート番号変換テーブル2207の作成が、Aさん宅のサービスの各々について行われる。この各々について、Aさん宅のホームページへの記述が行われる。
【0452】
Aさん宅の全てのサービスについて、テーブル2207への登録が終わった時点で、アドレス・ポート番号変換テーブル2207の作成、及びAさん宅のホームページの作成が終了する(ステップS5106)。
【0453】
さて、作成されたアドレス・ポート番号変換テーブル2207は、AV接続装置2201内をIPパケットが通過する際、IPアドレスとポート番号の変換処理を行う際に用いられる。図58を参照して、アドレス・ポート番号変換テーブル2207を用いた、IPアドレスとポート番号の変換処理について具体的に説明する。例えばインターネット2101側から宛先IPアドレスが「G.1」、宛先ポート番号が「2000」であるようなIPパケットは、テーブル2207を参照することにより、宛先IPアドレスが「P.3」、宛先ポート番号が「80」であるようなIPパケットに変換されて、ホームネットワーク2010側に送出される。逆に、ホームネットワーク110側から送信元IPアドレスが「P.3」、送信元ポート番号が「80」であるようなIPパケットは、送信元IPアドレスが「G.1」、送信元ポート番号が「2000」であるようなIPパケットに変換されて、インターネット2101に送出される。
【0454】
さて、この様なアドレス・ポート番号変換テーブル2207、及びAさん宅のホームページの作成を終了したAV接続装置2201は、このホームページをAさん宅のホームページとしてインターネット2101上に公開する(図59参照)。
【0455】
次に、インターネット2101上のIP端末2102のユーザが、Aさん宅のDVDプレーヤ2003の遠隔操作を行う場合について説明する。
【0456】
インターネット2101側からIPパケットを受信した場合のAV接続装置2210の処理動作を図56に、ホームネットワーク2010側からIPパケットを受信した場合のAV接続装置2201の処理動作を図57に示す。以下、図53と図56〜図57に示すフローチャートを参照して説明する。
【0457】
まず、IP端末2102はAV接続装置2201に対して、Aさん宅のホームページの送付を要求するため、認証手続きを行う(図53のステップS5004)。例えばIP端末2102のユーザに対して、パスワード入力等を要求し、これにより認証されたユーザについてのみ、そのIP端末2102のIPアドレスを前述のパケットフィルタテーブル2209に登録する。
【0458】
パケットフィルタテーブル2209は、単にIPアドレスが羅列してあるのみのテーブルで、このテーブルに登録されているIPアドレスのみがホームネットワーク2010、およびホームネットワーク2010上で提供されるサービスへのアクセスが可能となる。
【0459】
次に、IP端末2102は、AV接続装置104に対して、Aさん宅のホームページの送付を要求する(ステップS5005)。パケットフィルタ2208で当該ホームページの送付要求のパケットのソースアドレスがパケットフィルタテーブル2209に登録されているか否かをチェックし(ステップS5006)、当該ソースアドレスがパケットフィルタテーブル2209に登録されている場合に限り、当該パケットはホームページ処理部2204に渡され、当該要求に応じて、ホームページ処理部2204は、IP端末2102に対して、Aさん宅のホームページの送付を行う(ステップS5007)。
【0460】
ここで送付されるホームページには、図59に示したように、ホームネットワーク2010上のDVDプレーヤ2003、プリンタ2002、PC2001のそれぞれのホームページへのリンクが付いている。例えば、図59のホームページ上の「DVDプレーヤ」という文字あるいは絵にはDVDプレーヤ2003へリンクされている。実際のリンク先のアドレスはAV接続装置2201のグローバルIPアドレス「G.1」の第2のポート番号「2000」となっており、形式上は、AV接続装置2201がホームネットワーク2010上の装置へアクセスするための代理サーバとなっている。これは、もちろん、IP端末2102からは認識されていない。しかしながら、代理サーバ処理とは違い、実際にAV接続装置2201が行う処理は、後述のようにIPマスカレード処理、即ちIPアドレスとポート番号の変換処理である。
【0461】
さて、IP端末2102のユーザは、DVDプレーヤ2003の遠隔操作をするべく、DVDプレーヤのホームページの送出要求を送出する。例えば、図59に示したホームページ上の「DVDプレーヤ」という文字あるいは絵をクリックすることにより、DVDプレーヤのホームページの送出要求のIPパケットが送出される。このパケットの宛先は、宛先IPアドレスが「G.1」、宛先ポート番号が「2000」である(ステップS5008)。
【0462】
このIPパケットをAV接続装置2201が受信したときの処理動作、すなわち、図53のステップS5009〜ステップS5010までのパケットフィルタリング及びアドレス・ポート番号変換処理について図56に示すフローチャートを参照して説明する。
【0463】
AV接続装置2201は、受信したIPパケットの宛先アドレスを参照して自分宛てであることを確認すると(ステップS5201)、まず、パケットフィルタテーブル2209を参照してパケットフィルタリング処理を行う(ステップS5202)。当該パケットのソースアドレスがパケットフィルタテーブル2209に登録されていれば、次に、当該パケットの宛先IPアドレスと宛先ポート番号との組がアドレス・ポート番号変換テーブル2207に登録されているか否かをチェックする(ステップS5203)。登録されていれば、アドレス・ポート番号変換テーブル2207に従って、当該宛先IPアドレス及び宛先ポート番号を、対応するホームネットワーク側のIPアドレス(プライベートIPアドレス)及び第1のポート番号に差し替え(ステップS5204)、ホームネットワーク2010へ当該IPパケットを送出する(ステップS5205)。この様にして、グローバルIPアドレスおよび第2のポート番号から、プライベートアドレスおよび第1のポート番号へのアドレス変換が行われる。
【0464】
なお、アドレス・ポート番号変換テーブル2207に登録されておらず、かつAV接続装置2201自身宛てのパケットでない場合は、そのパケットは廃棄する(ステップS5206)。
【0465】
図53の説明に戻り、アドレス・ポート番号変換処理(IPマスカレード処理)が施されて、ホームネットワーク2010側へ送出されたIPパケットは、DVDプレーヤ2003に到達し(ステップS5011)、DVDプレーヤ2003はIP端末2102のグローバルIPアドレスを宛先アドレスとしてDVDプレーヤ2003のホームページを送付する。その際のIPパケットの送信元IPアドレスはプライベートIPアドレス「P.3」、送信元ポート番号は第1のポート番号「80」である(ステップS5012)。
【0466】
DVDプレーヤ2003のホームページを含むIPパケットをホームネットワーク2010側から受信したときのAV接続装置2201の処理動作、すなわち、図53のステップS5013のアドレス・ポート番号変換処理動作について図57に示すフローチャートを参照して説明する。
【0467】
AV接続装置2201は、受信したIPパケットの送信元アドレスとポート番号との組がアドレス・ポート番号変換テーブル2207に登録されているか否かをチェックする(ステップS5301〜ステップS5302)。登録されていれば、アドレス・ポート番号変換テーブル2207に従って、当該宛先IPアドレス及び宛先ポート番号を、対応するインターネット側のIPアドレス(グローバルユニークIPアドレス)及び第2のポート番号に差し替えてから(ステップS5303)、当該IPパケットをインターネット2101へ送出する(ステップS5304)。なお、ステップS5303において、アドレス・ポート番号変換テーブル2207に登録されていなかったときは、通常のIPマスカレード処理を行う(ステップS5305)。すなわち、ソースアドレスとポート番号との組を新たにアドレス・ポート番号変換テーブルに登録し、以降のIPマスカレード通信に備える。
【0468】
図53の説明に戻り、アドレス・ポート番号変換処理(IPマスカレード処理)が施されて、インターネット2101側へ送出されたIPパケットは、IP端末2102に到達し(ステップS5014)、IP端末2102にDVDプレーヤ2003のホームページが表示され、この画面を使って、IP端末2102のユーザはDVDプレーヤ2003の遠隔操作を行うことになる。
【0469】
この遠隔操作は、たとえば、DVDプレーヤ2003の再生動作の開始等をIP端末2105とDVDプレーヤ2003との間でCGIプログラムによる要求とその処理結果をIPパケットでやり取りして行われるが、その際、当然ながら図53のステップS5010、ステップS5013の様なIPマスカレード処理が行われる。
【0470】
この間、IP端末2102は、自分がプライベートアドレス空間のノード(具体的にはプライベートIPアドレスを持ったDVDプレーヤ2003)と通信をしているという認識はない。このように、サービスの紹介とアドレス変換処理(IPマスカレード処理)とを一体として扱うことにより、グローバルユニークIPアドレス空間からプライベートIPアドレス空間中で提供されるサービスへのアクセスを可能としている。
【0471】
なお、本実施形態においては、第2のネットワークとしてグローバルIPアドレス空間を持つインターネット2101、第1のネットワークとしてプライベートIPアドレス空間を持つホームネットワーク2010との間におけるAV接続装置2201によるアドレス・ポート番号変換処理を説明してきたが、当然ながら、第1および第2のネットワークは、以下のような組み合わせのいずれも可能である。
【0472】
(1)グローバルIPアドレスと、プライベートIPアドレスとの組み合わせ
(2)IPv4アドレスと、IPv6アドレスとの組み合わせ
(3)IPv6アドレスと、リンクローカルIPv6アドレスとの組み合わせ
例えば、第2のネットワークとしてIPv4アドレスにて運用されるインターネット、第1のネットワークとしてIPv6アドレスにて運用されるインターネットとしても、本発明は適用が可能である。
【0473】
また、第2のネットワークをIPv6アドレスにて運用されるインターネット、第1のネットワークとしてリンクローカルIPv6アドレスにて運用されるインターネットとしても、本発明は、そのまま適用が可能である。
【0474】
また、上記実施形態においては、インターネット2102に対する、ホームネットワーク2010上のサービスの広告の方法として、AV接続装置2201上のホームページを使う方法について説明してきたが、このサービス広告の方法としては、上記方法以外に、LDAP(ライトウエイトディレクトリアクセスプロトコル)を用いる方法、DHCP(ダイナミックホストコンフィグレーションプロトコル)のコンフィグレーションオプションを用いる方法、SNMP(シンプル網管理プロトコル)のMIB(マネージメントインフォベース)のリモートアクセスを用いる方法など、種々の方法が考えられる。このサービス広告の方法として、これらのいずれの方法を用いてももちろん良い。
【0475】
【発明の効果】
本発明によれば、特定のネットワークに依存せず、統一的なサービス提供環境を実現することが可能となる。
【0476】
また、本発明によれば、OSやハードウェアに依存せず、必要の生じた時点で装置制御プログラムを登録することが可能となる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係るネットワーク・システムの一構成例を示す図
【図2】同実施形態に係るAV接続装置の内部構成例を示す図
【図3】端末/サービス収集のシーケンスの一例を示す図
【図4】コンフィグレーションROMに記述される内容の一例を示す図
【図5】コンフィグレーションROMに記述される内容の他の例を示す図
【図6】コンフィグレーションROMに記述される内容のさらに他の例を示す図
【図7】サービス別の表示を行う場合の画面例を示す図
【図8】端末別の表示を行う場合の画面例を示す図
【図9】ディレクトリエージェントにサービス情報を登録する手順の一例を示す図
【図10】ディレクトリエージェントに登録する情報の一例を示す図
【図11】サービス別の表示を行う場合の画面例を示す図
【図12】ディレクトリエージェントからサービス情報を入手する手順の一例を示す図
【図13】ディレクトリエージェントから入手された情報の一例を示す図
【図14】サービス別の表示を行う場合の画面例を示す図
【図15】DVDプレーヤ操作のための画面例を示す図
【図16】第2の家庭内LAN上から第1の家庭内LAN上のサービスを利用する場合におけるネットワーク上を流れるコマンド群、プロトコル群についてのシーケンスの一例を示す図
【図17】コマンド変換について説明するための図
【図18】第2の家庭内LAN上から第1の家庭内LAN上のサービスを利用する場合におけるネットワーク上を流れるコマンド群、プロトコル群についてのシーケンスの他の例を示す図
【図19】第2の家庭内LAN上から第1の家庭内LANに接続された装置を制御する場合におけるネットワーク上を流れるコマンド群、プロトコル群についてのシーケンスの他の例を示す図
【図20】コマンド変換について説明するための図
【図21】本発明の第2の実施形態に係るPCの一構成例を示す図
【図22】同実施形態に係るデバイスドライバのソフトウェア構成の一例を示す図
【図23】論理デバイス管理オブジェクト初期化手順を示すフローチャート
【図24】論理デバイスクラスオブジェクト初期化手順を示すフローチャート
【図25】論理デバイスオブジェクト初期化手順を示すフローチャート
【図26】物理デバイスオブジェクト初期化手順を示すフローチャート
【図27】不明のタイプを利用した場合におけるソフトウェア構造を説明するための図
【図28】アプリケーションによる新規デバイスクラス追加要求手順を示すフローチャート
【図29】論理デバイス管理オブジェクトによる新規デバイスクラス追加手順を示すフローチャート
【図30】本発明の第3の実施形態に係る家庭内LAN間を接続したネットワーク・システムの構成例を示す図
【図31】クライアント側の接続前におけるネットワーク経由サービスのソフトウェア構造を示す図
【図32】クライアント側の接続後におけるネットワーク経由サービスのソフトウェア構造を示す図
【図33】プロキシ側の接続前におけるネットワーク経由サービスのソフトウェア構造を示す図
【図34】プロキシ側の接続後におけるネットワーク経由サービスのソフトウェア構造を示す図
【図35】本発明の第4の実施形態に係るAV接続装置の構成例を示した図
【図36】第2の家庭内ネットワークに収容される全ての遠隔制御可能なサービス提供装置を提示したホームページの具体例を示した図
【図37】図36に示したようなホームページの作成手順を説明するためのフローチャート
【図38】サービス提供装置のホームページの作成手順を説明するためのフローチャート
【図39】サービス提供装置(DVDプレーヤ)のホームページの具体例を示した図
【図40】第2の家庭内ネットワークに収容されるサービス提供装置を遠隔制御する場合の処理動作を説明するためのシーケンス図(ホームページのアイコンとRTSPコマンドが対応付けられ、さらに、送信データをIPカプセル化する場合)。
【図41】送信されるホームページのテキストの一具体例を示した図。
【図42】AV接続装置のHTTP/RTSP処理機能の構成例を示した図
【図43】第2の家庭内ネットワークに収容されるサービス提供装置を遠隔制御する場合の処理動作を説明するためのシーケンス図(ホームページのアイコンとRTSPコマンドが対応付けられ、さらに、送信データをIPカプセル化しない場合)。
【図44】サービス提供装置(DVDプレーヤ)のホームページのテキストの他の例を示した図(図39の「再生」のアイコンにRTSPコマンドを生成するプログラムが付加されている場合)
【図45】サービス提供装置の詳細設定のためのホームページの作成処理手順を示したフローチャート
【図46】サービス提供装置(DVDプレーヤ)の詳細設定のためのホームページのテキスト記述の一例を示した図(図47の「スロー再生」の文字列にCGIスクリプトを対応つけている場合)
【図47】サービス提供装置(DVDプレーヤ)の詳細設定のためのホームページの具体例を示した図
【図48】LONを接続するAV接続装置の内部構成例を示した図
【図49】図48のHTTP/RTSP処理機能の構成例を示した図
【図50】RTSPコマンド対応テーブルの一具体例を示した図
【図51】本発明の第5の実施形態に係る通信システムの構成例を示した図。
【図52】図51のAV接続装置の構成例を示した図。
【図53】インターネット上のIP端末からホームネットワークにアクセスして、DVDプレーヤの遠隔操作を行う場合の図51に示した通信システム全体のシーケンス図。
【図54】ホームネットワーク上で提供されているサービスに関する情報(ホームネットワーク上の端末装置のアドレスと当該装置により提供されるサービスのポート番号)を基にした、AV接続装置の処理動作を説明するためのフローチャート。
【図55】アドレス・ポート番号対応テーブルの具体例を示した図。
【図56】インターネット側からIPパケットを受信した場合のAV接続装置の処理動作を説明するためのフローチャート。
【図57】ホームネットワーク側からIPパケットを受信した場合のAV接続装置の処理動作を説明するためのフローチャート。
【図58】アドレス・ポート番号変換テーブルを用いた、IPアドレスとポート番号の変換処理を具体的に説明するための図。
【図59】AV接続装置にて作成される宅内ホームページの一例を示した図。
【符号の説明】
1、3…IEEE1394バス
2…公衆網
4、5…AV接続装置
6、10…PC
7…デジタルTV
8…DVDプレーヤ
9…デジタルVTR
11…プリンタ
12…ホームオートメーション網
13…エアコン
14…電子レンジ
21…1394インタフェース
22…データリンクスイッチ
23…公衆網インタフェース
24…IP処理機能
25…FANP処理機能
26…1394/IPサービスロケーション処理機能
27…サービスロケーション代理機能
28…1394AVコマンド処理機能
29…1394/IPコマンド変換機能
61、62…コマンド対応テーブル
71…サービス代理受信機能
72…CCCP/LONコマンド変換機能
73…LONコマンド発行機能
81、401、402…PC
82…プロセッサ
83…メインメモリ
84…システムバス
85…2次記憶装置
86、87…IEEE1394インタフェース
88…ハードディスク
90、431…プリンタ
91、432…FAX
92、433…マッサージ装置
93、434…トースタ
101、501、601…論理デバイス管理機能
102、502、602…2次記憶管装置理機能
103、503、603…1394インタフェース管理機能
104、604…プリンタのunit1
105、605…FAXのunit1
106、606…FAXのunit2
107、607…マッサージ装置のunit1
108、608…マッサージ装置のunit2
109、508…トースタのunit1
111、112、511、512、611、612…ハードディスク管理機能113、114、513、514、613、614…IEEE1394インタフェースのデバイスドライバ
121、521、621…1394管理オブジェクト
122、522、622…論理デバイス管理オブジェクト
131〜135、531〜534、631〜635…論理デバイスクラスオブジェクト
131−1、131−2、132−1、133−1、134−1〜134−3、135−1、533−1、533−2、534−1、631−1、631−2、632−1、633−1、634−1、634−2、635−1、635−2…論理デバイスオブジェクト
151〜156、551〜153、651〜155…物理デバイスオブジェクト
161〜166、561〜563、661〜665…ドライバオブジェクト
411、412…ネットワーク接続装置
413…ISDN通信回線
421、422…1394バス
504…IP機能
571…1394スタブオブジェクト
681…1394プロキシオブジェクト
1401…1394I/F
1402…データリンクスイッチ
1403…公衆網I/F
1404…IP処理機能
1405…FANP処理機能
1406…1394/IPサービスロケーション処理機能
1407…ホームページ処理機能
1408…1394AVコマンド処理機能
1409…HTTP/RTSP処理機能
1410…RTSP対応テーブル
2001…パーソナルコンピュータ
2002…プリンタ
2003…DVDプレーヤ
2010…第1のネットワーク(ホームネットワーク)
2101…第2のネットワーク(インターネット)
2102…IP端末装置
2201…AV接続装置
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a directory service in a home network environment, remote operation of equipment, or a communication device such as a computer having a function of controlling peripheral devices, in particular, a computer capable of controlling various devices connected to a general-purpose bus. And a communication control method, a service registration method, a service providing method, and a device control program registration method performed by the communication device.
[0002]
[Prior art]
(1) In recent years, as symbolized by the development of multimedia technology, digitization of electronic devices has been progressing rapidly. This trend begins with the office environment. In terms of hardware, progress is being made in the form of introduction of personal computers, digitalization of OA devices, and networking of them. In terms of software, core business by the host (which is being right-sized and being transferred to personal computers, etc.), software such as word processors and spreadsheets, or Internet applications such as WWW are introduced. And the application fields of digitization are becoming more and more widespread.
[0003]
The above-mentioned tendency is also seen in devices used in the home and related fields. That is, digitalization is steadily progressing, such as digitalization of AV equipment (ie, DVD, digital VTR, digital video camera, etc.), digitalization of broadcasting, Internet access such as OCN.
[0004]
The wave of technological innovation as described above, which has been promoted starting with the office environment, is likely to move toward networking in the future. In other words, it is said that technologies in various fields such as information, communication, and broadcasting are bundled by digitization, and mutual introduction is started by networking.
[0005]
Various candidates are conceivable as network technologies that serve as a basis for realizing this. For example, Ethernet has an overwhelming track record in the office environment, and it can be said that it is the leading candidate in the personal computer network at home. ATM is also a strong candidate. This is because it is a common movement for infrastructure builders (telephone companies, CATV, etc.) to focus on ATM features such as high speed, real time, and broadband, and to build infrastructure using this technology. .
[0006]
In addition to these candidates, network technology (bus technology) called IEEE 1394 has recently attracted attention. This has many remarkable features such as high speed, real-time (QOS guarantee), plug and play, etc., especially in the AV equipment industry, attracting great attention as the leading candidate for the connection method between digital AV equipment ing. In the computer industry such as personal computers, attention to this technology has begun to gather.
[0007]
Now, the mutual introduction of information, communication, broadcasting, etc. through networking will be realized by interconnecting these digital devices with the network technology desired by users as the home-use digital devices become popular. Let's go. In this way, it is thought that prototypes of domestic digital networks will gradually be created.
[0008]
Then, as the next stage, the need to connect these digital networks to each other will become apparent. For example, an AV device connected to the 1394 network between the reception floors of the first floor of the user's house and an AV device connected to the 1394 network of the second floor room are interconnected to perform a cooperative operation such as dubbing, for example. That is the need. Or it is the case where the apparatus a connected to the 1394 network of the user A house and the apparatus b connected to the 1394 network of the user B house are operated in a coordinated manner.
[0009]
However, there are the following problems in order to realize interconnection between home or home digital networks.
[0010]
(I) When controlling devices in a home or between homes via a network, “what device is in which location on the network” or “what services are provided on the network” There is no mechanism to know the information that “is”. Without this mechanism, the user cannot recognize the presence of a specific device / service on the network, and cannot operate or control the target device or receive a service.
[0011]
(Ii) In the interconnection between digital networks, it is assumed that parts conforming to different protocols are mixed, but there is no mechanism for transmitting an operation command or the like across different protocols.
[0012]
For example, when IEEE 1394 is used, it is possible to mix devices compatible with the Internet in addition to 1394 compatible devices, and the use protocols do not always match. When remote operation is attempted in such a mixed situation, that is, when the target device is to be controlled via a different type of network, the IEEE 1394 protocol cannot be operated on the different type of network. Sending is impossible.
[0013]
In addition, a method of realizing a remote operation by providing a gateway is conceivable, but there is no gateway design guideline or the like in such a case.
[0014]
(2) By the way, with the rapid spread of personal computers and diversification of applications in recent years, peripheral devices have been diversified into storage devices such as hard disks, scanners, input devices such as cameras, etc. continuing.
[0015]
In the past, both application software and peripheral device hardware are not versatile, and peripheral devices can only be used from specific applications and cannot be used by others. This obstacle has now been largely eliminated by the following three technologies. The technology is a software called a driver that absorbs differences in hardware control, a loadable driver technology that can load a driver as needed and incorporate it into an operating system (hereinafter referred to as OS), and is connected This is a plug-and-play technique in which a peripheral device is detected by a computer and an appropriate driver is incorporated.
[0016]
As a result, the versatility of both the peripheral device and the application program is enhanced, and the convenience of the user is improved. In addition, the positive feedback that reduces the price due to the mass production effect due to the versatility is generated. Of course, personal computers have been standardized by hardware itself, bus standards such as ISA and PCI, and storage device connection standards such as IDE and SCSI.
[0017]
In recent years, connection standards for peripheral devices that facilitate connection work and wiring such as USB (Universal Serial Bus) and IEEE1394 are being adopted. Since these are several pairs of twisted pair connections, they can be used as a simple network. IEEE 1394 has a high-speed transfer capability comparable to the system bus of past computers, and is capable of image transmission, so it is a leading connection standard for home appliances such as TV and video. In the IEEE 1394 standard, all control is performed in a 64-bit address space that is standardized by IEC1212 (ANSI / IEEE Std 1212 Control Status Register (CSR) Architecture for Microcomputer Buses [ISO / IEC13213]). Done. For this reason, the peripheral device can have an interface that does not depend on the architecture of the host processor to be controlled in the same manner as the SCSI standard often used in storage devices.
[0018]
On the other hand, the precondition that the above-mentioned generalization is an advantage is that drivers corresponding to various peripheral devices are provided together with the OS. Both OS vendors and peripheral vendors must devote great effort to this. In fact, in the Microsoft operating system Windows 95, various drivers are stored in 40 floppy disks. Of course, all of this is not a driver, but it accounts for a large percentage. Since the software of the driver software depends on the OS, the software vendor must prepare a driver for each OS. This is because the device driver generally operates in close association with the memory management of the OS. Needless to say, the OS itself is largely dependent on the architecture of the host processor.
[0019]
As an attempt to increase the versatility of the device driver, there is a method of using a general-purpose protocol for communication and control with peripheral devices, as realized by SCSI, IEEE1394, and USB. The OS provides a driver for sending SCSI and IEEE 1394 packets, and a device driver specific to the device uses the driver to control each peripheral device. If this method is used, the same OS can use a driver for a part that performs device-specific control such as SCSI HD and printer, even if the device connection interface such as SCSI or IEEE1394 is different.
[0020]
There are several methods for this general purpose connection device architecture. SCSI defines a protocol for control commands in addition to communication. IEEE 1394 defines a communication method, but does not define control commands, leaving room for devices having various control protocols.
[0021]
In addition to the aspect as a general-purpose I / O bus, IEEE 1394 has an aspect that can be used as a network, and mapping of the Internet protocol on the IEEE 1394 bus has been proposed (DAVIC IP over IEEE 1394. 1995 Specifications, 1996). However, an interface that integrates the communication network and the input / output bus has not yet been realized.
[0022]
Now, various peripheral devices can be used by the OS reading drivers corresponding to the respective devices. However, since the device driver itself depends on the OS and does not have versatility, it is necessary to develop a corresponding driver for each of various OSs. For this reason, there has been a problem that development of a device driver by a peripheral device vendor is limited to a specific well-known OS. As a result, the development of device drivers is concentrated on a specific OS, and the number of devices that cannot be used by other OSs is increasing. This hinders diversification in accordance with the use of the OS and impairs user convenience.
[0023]
Another problem is that the resources of the OS are occupied by drivers of devices that are not used and APIs corresponding to higher-level protocols due to diversification of peripheral devices.
[0024]
In addition, in IEEE 1394, not only the peripheral device control bus but also a network usage mode is conceivable. When used in a network, it is difficult to grasp all the devices to which the controlling PC is connected in advance, and it is possible to determine the usage method according to the connected devices, and to the same IEEE 1394 bus. When two or more PCs are connected, it is required to determine which PC has the control right. However, there has been no system that solves this problem.
[0025]
Further, there has been no system that can control a remote IEEE 1394 device through a telephone network or a wide area network.
[0026]
[Problems to be solved by the invention]
Traditionally, even if you try to interconnect home or home digital networks and control devices over the network,
(1) There is no technology for knowing the location of each device on the network or information on the service provided on the network, and the user can recognize the presence of a specific device / service on the network. In other words, it was impossible to operate or control the target device or receive service. Also, if there are parts that follow different protocols in the interconnection of digital networks, there is no technology to transmit operation commands etc. across different protocols, and the user can operate or control the target device beyond different protocols or services Could not receive the offer.
[0027]
(2) Furthermore, although it is thought that so-called information appliances with various Internet processing functions will enter the home in the near future, the current Internet suffers from a serious shortage of addresses. The number of home appliances entering the home is considered to be very large, and it is unrealistic to consider new IP addresses for all of them. Therefore, the following two methods have been proposed.
[0028]
・ Use private IP addresses at home.
[0029]
-Use IPv6 (IP version 6) address in the home.
[0030]
However, the actual Internet (public network) is actually operated by IPv4 (IP version 4), and there is no method for accessing home devices from the Internet when the above method is used. . NAT (network address translation) and IP masquerading are known as countermeasures against this problem, but even if these are used, users on the Internet (public network) can specify addresses of various devices in the home. It is necessary to recognize before actually performing those operations, but there is no mechanism for realizing this.
[0031]
(3) Conventionally, the device driver depends on the OS and does not have versatility. Therefore, there is a problem that it is necessary to develop a corresponding driver for each of various OSs. As peripheral devices diversify, it is often the case that device drivers are built in abundantly in advance, but OS resources are unnecessarily occupied by device drivers of devices that are not used and APIs that support higher-level protocols. There was a problem that would be done.
[0032]
The present invention has been made in view of the above circumstances, and in order to solve the first problem, a communication apparatus that can realize a unified service providing environment without depending on a specific network. An object of the present invention is to provide a service registration method and a service provision method.
[0033]
Further, in order to solve the second problem, the present invention enables each network even when networks having different address systems (for example, IPv4 and IPv6, private address and IPv4, private address and IPv6, etc.) are interconnected. It is an object of the present invention to provide a communication apparatus that makes it possible to access the service provided in the network from other networks.
[0034]
In order to solve the third problem, the present invention does not depend on an OS or hardware, and can register a device control program when necessary, and device control program registration. It aims to provide a method.
[0035]
[Means for Solving the Problems]
(1) The present invention A communication device (for example, a personal computer) provided with a communication means for operating a register mapped in a single address space and a configuration information storage means (configuration memory) for storing configuration information about the device itself The configuration information storage means dynamically describes information relating to a service operating on the own device (the communication device).
[0036]
According to the present invention, another node communicated via the communication device can recognize the application serviced by the communication device at that time in a timely manner by accessing the configuration information storage unit. Network configuration directory services and mobile node service detection are possible, and network operation flexibility is improved. In particular, when the operation service changes dynamically, or when the service is realized by software, the dynamic change in the operation of the service is more severe with software installation or version upgrade. Therefore, the effectiveness of dynamically changing the service configuration information is extremely large.
[0037]
(2) The present invention A communication device (for example, a personal computer) provided with a communication means for operating a register mapped in a single address space and a configuration information storage means (configuration memory) for storing configuration information about the device itself. In the configuration information storage means, information related to a service operating on the own device (the communication device) and information on attributes of the own device (for example, vendor ID, node capability, etc.) are described together. It is characterized by that.
[0038]
According to the present invention, it is possible to notify both the configuration information based on the service and the configuration information based on the device to the other node communicated via the communication device, and the other node When configuring the directory information of the network to which the communication device is connected, it is effective to further simplify the selection between the configuration information for each service and the configuration information for each device. This is particularly useful for dealing with both the user who can operate and search for each service and the user who can operate and search for each device.
[0039]
(3) The present invention A communication device (for example, a personal computer) provided with first communication means for operating a register mapped to a single address space and configuration information storage means (configuration memory) for storing configuration information about the device itself In the configuration information storage means, the configuration information relating to the network connected to the own apparatus (the communication apparatus) via the second communication means different from the first communication means (for example, the terminal Information, service information) is described at least in part.
[0040]
According to the present invention, a node other than the communication device connected to the first communication unit recognizes the network configuration information connected to the communication device to the second communication unit through the configuration information storage unit. As a result, it becomes possible to recognize the configuration information of the entire interconnected network through the configuration information storage means via the first communication means, and thus the network management, network service registration and other mechanisms, It becomes possible to simplify labor.
[0041]
(4) The present invention An electronic device (such as a personal computer) that registers a service with a directory agent that exists in a connected network and that communicates with a protocol that depends on the data link of the connected network ( For example, it is provided with means for registering services of peripheral devices, AV devices, home appliances, etc.) in the directory agent instead of the electronic device.
[0042]
According to the present invention, a directory agent provides a service (for example, IEEE 1394) provided by a data link layer protocol (for example, IEEE 1394 layer) for a directory service of a protocol (for example, a network layer protocol such as IP) in which the directory agent operates. As a result, the directory agent or the directory service can search for a service deployed on the network without distinguishing between its providing layers. It is possible to improve the convenience of network users and improve flexibility at the same time.
[0043]
(5) The present invention A communication device (for example, a personal computer) for notifying information related to a service in response to an inquiry from a user agent in a connected network, and communicating with a protocol depending on a data link of the connected network The electronic device (for example, a peripheral device, an AV device, a home appliance, etc.) is provided with means for notifying the user agent of a service in place of the electronic device.
[0044]
According to the present invention, a user agent can provide information on a service provided by a data link layer protocol (for example, IEEE 1394 layer) for a service location service of a protocol (for example, a network layer protocol such as IP) on which the user agent operates. As a result, the user agent or service location service can search for services deployed on the network without distinction of the layers provided, thereby improving the convenience for network users. Flexibility can be improved at the same time.
[0045]
(6) The present invention provides the above (4) or (5) In the communication device described in (1), when registering with the directory agent or notifying the user agent, as a port for accessing the service to be registered or notified, logical multiplexing of the own device (for example, personal computer) An identifier is registered or notified.
[0046]
In this way, when there is access to the logical multiplex identifier, the communication device can recognize that the access is to the service of the electronic device, and the service is actually Appropriate processing for realization can be performed.
[0047]
On the other hand, the directory agent can respond with this logical multiple identifier as an access point to the service of the electronic device, and can provide a unified directory service regardless of the service providing layer. Become.
[0048]
Further, when the user agent is notified of the logical multiple identifier as an access point to the service of the electronic device, the user agent recognizes that the service is provided through the logical multiple identifier regardless of the layer. It is possible to provide a uniform service provision system regardless of the layer in the entire network.
[0049]
(7) The present invention provides the above (6) When the command arrives at the port specified by the logical multiplex identifier, the command is converted into a command of a protocol depending on the data link corresponding to the command, and the electronic device ( For example, it is transmitted to a peripheral device, an AV device, a home appliance, or the like.
[0050]
In this way, when there is an access to the logical multiple identifier, the communication device recognizes that the access is to the service of the electronic device and actually provides the service. It is possible to send the command after the command conversion that matches the protocol of the provided data link to the entity, that is, to make a service request. Realization is possible.
[0051]
Further, since the user agent recognizes that the access to the service of the electronic device is only performed in the layer describing the command, the processing is simplified, that is, the service in the layer. It means that access to various services on the network becomes possible if the access environment is prepared, and this contributes to simplification, efficiency, and unification of the service provision environment of the network. It becomes possible.
[0052]
(8) The present invention provides the above (6) The communication device according to claim 1, further comprising: a correspondence table for mapping a command that has reached the logical multiplex identifier port to a command of a protocol that depends on the data link corresponding to the command.
[0053]
In this way, the communication device can perform command conversion when there is access to the logical multiplex identifier in accordance with a predetermined procedure, whereby the communication to the service of the electronic device can be performed. Recognizing that access is being performed, performing command conversion that matches the protocol of the provided data link to the entity actually providing the service, and then sending the command, that is, making a service request Therefore, it is possible to realize the entire procedure “service request → service realization”.
[0054]
Further, since the user agent recognizes that the access to the service of the electronic device is only performed in the layer describing the command, the processing is simplified, that is, the service in the layer. It means that access to various services on the network becomes possible if the access environment is prepared, and this contributes to simplification, efficiency, and unification of the service provision environment of the network. It becomes possible.
[0055]
(9) The present invention An electronic device that cannot communicate according to the first communication means, and an electronic device that can communicate according to the second communication means, and an electronic device that can communicate according to any of the first communication means and the second communication means And a service registration method in a communication apparatus connected to a network to which the electronic apparatus may be connected, accepting registration of information about services provided from each of the electronic apparatuses through the first communication means, Information relating to services provided by each of the electronic devices to be registered with respect to electronic devices whose existence has been recognized by the two communication means and which have not been notified through the first communication means; Based on the information related to the service acquired and notified using the second communication means and the information related to the acquired service, the service on the network is And characterized in that it constitutes a screw directory information.
[0056]
(10) The present invention A service providing method in a communication device to which at least one electronic device that cannot communicate according to the first protocol and that can communicate according to the second protocol is connected, provided by the electronic device When a logical multiplex identifier of the device according to the first protocol is assigned as a port for accessing the service, and the command arrives at the port specified by the logical multiplex identifier, the command is assigned to the second protocol. The command is converted into a command conforming to and transmitted to the electronic device.
[0057]
(11) The present invention , Communication means for operating a register mapped in a single address space, and attribute information (eg, uniq ID, etc.) of an electronic device (eg, peripheral device, AV device, home appliance) recognized by the communication means. a unit control program (device driver) for controlling the electronic device by issuing an instruction to operate a register on the single address space to the communication unit. Registration means for performing registration of software (incorporation into the OS) during operation based on the acquired attribute information of the electronic device.
[0058]
According to the present invention, the device control program serves as a so-called device driver, but according to the present invention, an electronic device obtained by a communication means that operates a register mapped to a single address space. Register a device control program for controlling the electronic device by issuing an instruction to operate a register on the single address space based on the device attribute information. A device control program tailored to the target attribute can be incorporated into the OS.
[0059]
If the device control program is provided in a network loadable form (for example, written in the JAVA language), it is possible to register the device control program regardless of the OS type or hardware type. It becomes.
[0060]
(12) The present invention provides the above (11) In the communication apparatus according to claim 1, the registration means includes means for obtaining an identification name of a device control program to be obtained based on attribute information of the electronic device obtained by the obtaining means, and the obtained identification name. And a means for obtaining a corresponding device control program.
[0061]
In this way, a device control program suitable for the attributes of the electronic device can be obtained as needed and used as a device driver.
[0062]
(13) The present invention provides the above (11) or (12) In the communication device described in the item 1, the attribute information of the electronic device is described in a predetermined configuration information storage area (for example, a configuration ROM or a configuration memory) in the electronic device. The obtaining means obtains the attribute information by reading the contents described in the configuration information storage area.
[0063]
Thus, if the attribute information of the electronic device is obtained by reading the configuration information storage area in the electronic device, the attribute information of the device is usually described in the configuration information storage area. Therefore, it is expected that appropriate information as a clue for obtaining an appropriate device control program can be obtained.
[0064]
(14) The present invention provides the above (11) to (13). The communication device according to any one of the above, wherein the single address space is provided in the form of an IEEE 1394 bus.
[0065]
Since the IEEE 1394 bus can be interpreted as a bus that realizes a single memory space, it is possible to adopt the above mechanism as it is, and it is difficult to perform dynamics via a network of network device drivers that were originally difficult. Loading becomes possible, and the convenience of the user can be greatly improved.
[0066]
(15) The present invention provides the above (12) to (14). In the communication apparatus according to any one of the above, an identification name capable of indicating a specific resource of an external network is used as the identification name of the apparatus control program.
[0067]
Thus, if the device control program for the electronic device is network loadable, it can be obtained from an external network as necessary, and the communication device can store all the device control programs that are assumed in advance. It is possible to enjoy various advantages such as saving of disk and OS capacity and software version upgrade.
[0068]
Preferably, the device control program is written in JAVA language or the like.
[0069]
(16) The present invention Uses a logical network for communication with another communication device (second communication device) capable of communicating with a predetermined electronic device by means for operating a register mapped to a single address space. A communication device (first communication device) capable of being communicated by the communication means, the electronic device (for example, a personal computer, a peripheral) with respect to the other communication device (second communication device) through the communication means Registration of a device control program (device driver software) for controlling acquisition of attribute information (for example, unique ID, unit ID, capability, etc.) of device, AV device, home appliance, etc. Means for performing during operation based on attribute information of the electronic device obtained from the other communication device by the request; Characterized by comprising a means for transmitting and receiving information about the instruction for operating the register on said single address space through the communication means with the serial another communication apparatus (second communication apparatus).
[0070]
According to the present invention, a communication device (first communication device) that is a control subject uses the electronic device via another communication device (second communication device) connected through a logical network. It is possible to have a function, and it is not limited to a means for operating a register mapped on a single address space without changing a control program for operating a register on a single address space. The device can be controlled.
[0071]
Preferably, the means for performing during operation based on the attribute information of the electronic device obtained from the other communication device by the request is a device control program to be obtained based on the acquired attribute information of the electronic device. There may be provided means for obtaining the identification name and means for obtaining the corresponding device control program based on the obtained identification name.
[0072]
Preferably, the attribute information of the electronic device is described in a predetermined configuration information storage area in the electronic device, and the attribute information is the other communication device (second communication device). It may be obtained by reading the contents described in the configuration information storage area by the device.
[0073]
Preferably, the single address space may be provided in the form of an IEEE 1394 bus.
[0074]
Preferably, an identification name capable of indicating a specific resource of the external network may be used as the identification name of the device control program.
[0075]
(17) The present invention is an apparatus control program registration method for registering an apparatus control program during operation of a communication apparatus, wherein an electronic device recognized by a predetermined communication means that operates a register mapped to a single address space. A device control program registration is obtained, which obtains attribute information of an electronic device and issues an instruction to operate the register on the single address space to the communication means. It is performed during operation based on attribute information of the electronic device.
[0076]
The invention relating to each of the above devices is also established as an invention relating to a method.
[0077]
The above-described invention can also be realized as a machine-readable medium recording a program for causing a computer to execute a corresponding procedure, function, or means.
[0078]
(18) Communication apparatus of the present invention For controlling a service providing apparatus in a communication apparatus for controlling, via a second network, a service providing apparatus that is connected to a first network and communicates with a protocol that depends on the first network. Providing means for providing, via at least the second network, information related to a second command that depends on a communication protocol of the second network corresponding to a first command that depends on a communication protocol of the first network; Receiving means for receiving a message including the second command provided by the providing means via the second network; and receiving a second command contained in the message received by the receiving means. Control means for converting into a command and controlling the service providing apparatus with the first command. And makes it possible to realize not dependent on a specific network, unified service delivery environments.
[0079]
(19) Communication apparatus of the present invention Relates to a service provided by the service providing apparatus in a communication apparatus for controlling, via the second network, a service providing apparatus that is connected to the first network and communicates with a protocol that depends on the first network. A collecting means for collecting information, and a first command corresponding to a first command depending on a communication protocol of the first network for controlling the service providing apparatus corresponding to the information relating to the service collected by the collecting means; Providing means for providing at least information about the second command depending on the communication protocol of the second network via the second network; and a message including the second command provided by the providing means. Receiving means for receiving via the network and messages received by this receiving means And a control unit that converts the second command included in the first command into the first command and controls the service providing apparatus with the first command. It is possible to realize a simple service providing environment.
[0080]
(22) Communication apparatus of the present invention For controlling a service providing apparatus in a communication apparatus for controlling, via a second network, a service providing apparatus that is connected to a first network and communicates with a protocol that depends on the first network. Providing means for providing a home page for issuing a first command depending on the communication protocol of the first network via the second network, and a message based on the home page provided by the providing means, By providing a receiving means for receiving via the second network, and a control means for controlling the service providing apparatus with the first command issued based on the message received by the receiving means. The user who receives and operates the service providing device connected to the first network Regardless of whether the protocol is what, as AV equipment specifically connected to the IEEE1394, for even devices only protocol that depends on the link layer technology does not interpret, it is possible to perform the remote control.
[0081]
(23) Communication apparatus of the present invention Relates to a service provided by the service providing apparatus in a communication apparatus for controlling, via the second network, a service providing apparatus that is connected to the first network and communicates with a protocol that depends on the first network. Collecting means for collecting information, and a first command depending on a communication protocol of the first network for controlling the service providing apparatus corresponding to the information about the service collected by the collecting means Providing means for providing a home page via the second network, receiving means for receiving a message based on the home page provided by the providing means via the second network, received by the receiving means The service providing apparatus is activated by the first command issued based on the message. A user who receives and operates a homepage by connecting to the IEEE 1394, regardless of the protocol of the service providing apparatus connected to the first network. Remote control is also possible for devices that only interpret protocols that depend on link layer technology, such as AV devices.
[0082]
(24) Communication apparatus of the present invention Relates to a service provided by the service providing apparatus in a communication apparatus for controlling, via the second network, a service providing apparatus that is connected to the first network and communicates with a protocol that depends on the first network. Collecting means for collecting information, and a home page for issuing a first command depending on the communication protocol of the first network for controlling the service providing apparatus based on information about the service collected by the collecting means Creating means for creating the website, providing means for providing the home page created by the creating means via the second network, and messages based on the home page provided by the providing means via the second network Based on the message received by the receiving means and the receiving means. Control means for controlling the service providing apparatus with the issued first command, so that a user who receives and operates a homepage can use the protocol of the service providing apparatus connected to the first network. Regardless of what is, it is possible to perform remote control even for devices that interpret only protocols that depend on link layer technology, such as AV devices connected to IEEE 1394.
[0083]
(25) The communication device of the present invention Registers a second command depending on a communication protocol of the second network for controlling the service providing apparatus corresponding to the first command predetermined for each service provided by the service providing apparatus The second command information ((2) is included in the homepage by acquiring the information on the second command corresponding to the information on the service collected by the collecting means from the table and creating the homepage. It is possible to display a list of remote control of the service providing apparatus that can be realized by a remote control command), and to create a homepage listing the remote control methods that can be operated.
[0084]
(26) Further, the communication device of the present invention , The message includes a second command depending on a communication protocol of the second network for controlling the service providing apparatus, and the control means includes the first command and the second command. By converting the second command included in the message received by the receiving unit with reference to the correspondence table into the first command, specific second command information (remote control command) is sent to the receiving unit. Refer to the above correspondence table to see what operation it should perform to the desired device of the first network (in this case, the service providing device connected to the first network). You will understand.
[0085]
(27) Moreover, the communication apparatus of the present invention The message includes a second command that depends on a communication protocol of the second network for controlling the service providing device, an address that depends on a communication protocol of the second network, and the first A multiple identifier for identifying the service providing apparatus depending on the network, and the control means is received by the receiving means with reference to a correspondence table of the first command and the second command By converting the second command included in the message into the first command and controlling the service providing apparatus identified by the multiple identifier with the first command, the node receiving the home page Command information (remote control command) on the control target by acting on the hyperlinked reference target It is possible to designate a service providing apparatus connected to the first network and to designate a desired operation thereof, and to remotely operate the service providing apparatus connected to the desired first network. Is possible.
[0086]
(28) Moreover, the communication apparatus of the present invention The homepage includes a program for generating a message including a second command depending on a communication protocol of the second network for controlling the service providing apparatus, and the control means includes the first The second command contained in the message received by the receiving means is converted into the first command with reference to the correspondence table between the command and the second command, and the service providing apparatus using the first command By controlling the homepage, the node that receives the home page activates the program (JAVA program) associated therewith, specifies the service providing apparatus connected to the first network that is the control target, and the desired service It is possible to issue a command for designating an operation, so that the desired first network can be connected. It is possible to perform the remote operation of the service providing device that is.
[0087]
(29) Further, the communication apparatus of the present invention The control means activates a program (for example, CGI script) for issuing the first command in the message received by the receiving means, so that the node receiving the homepage associates with it. The specified program (CGI script) is started, the service providing apparatus connected to the first network to be controlled is designated, and a command for designating the desired operation can be issued. It becomes possible to remotely control the service providing apparatus connected to the first network.
[0088]
(30) Further, the communication apparatus of the present invention The message includes information designating a communication protocol for transmitting information, so that when the information is transmitted in response to a request from the partner node that has received the homepage, It becomes possible to specify information, so that information can be surely sent to the transmission partner. This is particularly effective when the party to be transmitted does not have the ability to receive network layer packets. Also, when the node receiving the transmission information does not support the same network layer protocol as the second command information (remote control command), or when encapsulating the transmission information into the network layer protocol is very expensive In such a case, the apparatus that has received the homepage can prompt the information transmission other than the network layer protocol.
[0089]
Further, the message may include header information depending on the communication protocol at the time of transmitting information, in addition to information specifying the communication protocol at the time of transmitting information.
[0090]
(35) Communication device of the present invention (fifth embodiment) Is a communication device connected to the first network and the second network, and a second logical multiplex identifier for a service provided by the first logical multiplex identifier of an arbitrary device on the first network The first logical multiplex identifier, a first address of a device on the first network providing the service, a second address accessible from the second network, and the second logic Storage means for storing a correspondence relationship with multiple identifiers, and each service of the first logical multiple identifier is presented as a service that can be accessed from the second network with the second address and the second logical multiple identifier. Based on the correspondence stored in the storage means and the first presented by the presenting means between the first and second networks. By performing packet transfer for providing services on the network, the first network is operated in a different address system from the second network, for example, when the second network is operated in the IPv4 address system. When the first network is operated with the IPv6 address system or when the first network is operated with the private IP address system, it is provided to the user of the second network with the first network. Access to the services that are being implemented.
[0091]
That is, for a user of the second network, it is assumed that the service provided by the first network is provided by the communication device using, for example, a homepage as the presenting means. Present to the network. When there is an access to this service from a user of the second network, the correspondence between the user and the second network is stored using the correspondence (address / port number conversion table) stored in the storage means. Provided by the user of the second network and the first network by converting packets between the communication devices into packets between services provided by the communication device and the first network. From the service, it is recognized that a transparent packet is exchanged.
[0092]
(36) Collecting information about the services of the first network is further provided by collecting means for collecting the first logical multiplex identifier on the first network and the first address of the device providing each service. Based on this, it is possible to automatically update, for example, a home page as the presenting means.
[0093]
(37) Of the packets input from the second network, second storage means for storing identifiers of packets that can be transferred to the first network; and among the packets input from the second network, the storage means Output means for outputting only the packet having the identifier stored in the first network to the first network, so that user authentication is performed in advance, for example, from an external network such as a public network to the first network. Intrusion of illegal packets can be prevented.
[0094]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the invention will be described with reference to the drawings.
[0095]
(First embodiment)
FIG. 1 shows a configuration example of a system according to the present embodiment.
[0096]
In this embodiment, it is assumed that two home networks are interconnected via a public network 2 as shown in FIG. The public network 2 may be a telephone network, a wide band line such as ISDN, a dedicated line, or the Internet. However, it is preferable to use a network that satisfies the communication bandwidth necessary for using and providing the service.
[0097]
The first home network is composed of a first IEEE 1394 bus 1. Further, it is assumed that a first AV connection device 4, a personal computer (hereinafter referred to as PC) 6, and a digital TV 7 are connected to the IEEE 1394 bus 1.
[0098]
The second home network is composed of a second IEEE 1394 bus 3 and a home automation network 12. In this embodiment, the home automation network 12 is assumed to use an Echelon LON (local operating network). Echelon LON is described in detail in information obtained from, for example, the Echelon website (http://www.chelon.com).
[0099]
It is assumed that a second AV connection device 5, a DVD player 8, a digital VTR 9, a PC 10, and a printer 11 are connected to the IEEE 1394 bus 3 of the second home network. The PC 10 is also connected to the home automation network 12. The home automation network 12 is connected to an air conditioner 13 and a microwave oven 14 in addition to the PC 10.
[0100]
Among the terminals connected to these networks, the first AV connection device 4, PC 6, second AV connection device 5, PC 10, and printer 11 each have an IP address (here, a private IP address). It is a so-called IP terminal. The IP address of the first AV connection device 4 is 192.168.2.254, the IP address of the PC 6 is 192.168.2.1, and the IP address of the second AV connection device 5 is 192.168.1.254. The IP address of the PC 10 is 192.168.1.1, and the IP address of the printer 11 is 192.168.1.2. As described above, a private IP address (when the public network 2 is not the Internet but ISDN) or a global IP address (when the public network 2 is the Internet) is used as the IP address of the terminal in the present embodiment. It is assumed that the setting of the routing mechanism for routing between the terminals (setting of the IP routing table, etc.) is appropriately performed. Although the global IP address is currently 32 bits, it is expected to become 128 bits in the near future, and an environment in which a global IP address can be assigned to each terminal is becoming a reality.
[0101]
On the other hand, the digital TV 7, the DVD player 8, and the digital VTR 9 are so-called 1394 terminals and are terminals that interpret only the 1394 protocol group (IEEE 1394-1995, IEC 1883, IEEE 1394AV / C, SBP, etc.).
[0102]
The air conditioner 13 and the microwave oven 14 are so-called LON terminals and are terminals that interpret only a protocol group defined by the LON.
[0103]
Each of the first AV connection device 4 and the second AV connection device 5 basically has a function of interconnecting two or more networks (in the present embodiment, an IEEE 1394 bus and a public network). FIG. 2 shows the internal configuration of the AV connection apparatuses 4 and 5.
[0104]
As shown in FIG. 2, the AV connection apparatus of this embodiment includes a 1394 interface 21, a data link switch 22, a public network interface 23, an IP processing function 24, a FANP processing function 25, a 1394 / IP service location processing function 26, a service. It has a location proxy function 27, a 1394AV command processing function 28, and a 1394 / IP command conversion function 29. Each of these functions may be realized by hardware or software.
[0105]
The 1394 interface 21 is a function serving as an interface with the 1394 bus.
[0106]
The data link switch 22 is a switch for transferring data across networks. More specifically, the data link switch 22 refers to only the data link layer identifier / information (for example, reference to a synchronization channel identifier, ATM-VCI, transmission wavelength, etc.). Thus, the destination of the data is explicitly set in advance by a protocol such as FANP so that the data input from the 1394 bus is transferred to the public network and the data input from the public network is This is a switch for transferring to the 1394 bus.
[0107]
The public network interface 23 is a function serving as an interface with the public network. For example, if the data link layer of the public network is ATM, it has a physical ATM interface and logically has an ATM signaling function.
[0108]
The IP processing function 24 is a function of a series of Internet protocols (TCP / IP protocol suit) such as TCP / UDP / IP.
[0109]
The FANP processing function 25 is a function for securing and matching the bandwidth and virtual transmission path identifier in the data link layer of the data transmission path. The details of the FANP processing function are described in, for example, the document ““ Network Interconnection Method in Residential Environment ”, IEICE, Information Network Research Group Research Report IN97-19, pp. 73-78, 1997” (or Japanese Patent Application No. 8-26496, Japanese Patent Application No. 8-272672, Japanese Patent Application No. 9-52125) and the like.
[0110]
The FANP processing function 25 is preferably provided when handling services that require a certain degree of bandwidth, such as video data, and may be omitted when bandwidth guarantee is not required. Instead of the FANP processing function, it is also possible to use a processing function according to the RSVP protocol (Resource Reservation Protocol; Internet draft draft-ietf-rsvp-spec-08.txt).
[0111]
Further, the use of the FANP processing function 25 or the like may be controlled according to the service to be provided. For example, it may be determined whether to use the FANP processing function 25 or the like for each set of IP address and port number. Or you may make it determine using it by the explicit request | requirement from a user.
[0112]
The 1394 / IP service location processing function 26 searches for a terminal or service connected to the 1394 bus or receives its registration, recognizes what terminal / service exists on the 1394 bus, and is requested. It has a function to notify the information to the outside as needed. The 1394 / IP service location processing function 26 has at least a service location protocol processing function (Internet draft draft-ietf-svrloc-protocol-16.txt).
[0113]
The service location proxy function 27 operates a service location protocol in the form of an IP-based service location for the public network side. Also, a service or terminal connected to the 1394 bus, ie, an IEEE 1394 dedicated protocol terminal / service that can recognize and process only a series of 1394 protocols, not IP-based (digital TV 7 in the first home network, second home network) In the DVD player 8 and the digital VTR 9 as well, the AV connection device functions as a proxy server for these services or terminals, and has a function of advertising these terminals / services. When the data is received from the IP side), it has a function of notifying the 1394 / IP command conversion function 29 to map them to IEEE 1394 commands or services.
[0114]
The 1394AV command processing function 28 is a processing function of an IEEE1394 terminal control protocol (for example, 1394AV / C protocol, SBP, etc.).
[0115]
The 1394 / IP command conversion function 29 is a control command (for example, RTSP (Real Time Stream Protocol) or the like) that has been sent or sent using IP; for RTSP, for example, the Internet draft draft-ietf-music-rtsp-02 And the IEEE 1394 terminal control commands (for example, 1394 AV / C protocol and SBP commands) sent on the 1394 bus are mutually converted and notified to the other party.
[0116]
Next, in the second home network, the second AV connection apparatus 5 recognizes a procedure for acquiring information related to the second home network, that is, a terminal and a service existing on the second home network. The procedure will be described.
[0117]
FIG. 3 shows an example of a sequence of a terminal / service collection procedure using a mechanism specific to IEEE 1394. Each terminal connected to the 1394 bus stores a configuration ROM in which predetermined information about the terminal is written. In FIG. 3, the second AV connection device 5 reads (reads) the configuration ROMs of the devices 8 to 11 connected to the 1394 bus 3 and collects information of the devices 8 to 11. This information collection may be performed for all terminals connected to the 1394 bus 3.
[0118]
In the following, some examples of information described in the configuration ROM are shown. Here, the configuration ROM of the PC 10 will be described as an example. In this embodiment, the word “ROM” is used in accordance with the IEEE 1394 specification. However, in actuality, it may be recognized as “register” or “part of memory space”. Etc.).
[0119]
FIG. 4 shows a first example of information described in the configuration ROM. In this example, in the configuration ROM, in addition to node information (for example, vendor ID, node capability, etc.) (31 in FIG. 4) that is basic information about the terminal, the service performed by the PC 10 as unit information Is described. That is, the PC 10 has WWW server and digital album server functions, which are reflected in the contents of the configuration ROM (32 and 33 in FIG. 4). By describing it in the configuration ROM in this way, it not only explains what terminal it is to other terminals connected to the 1394 bus, but also what kind of service it performs. It becomes possible to let you know. This function is extremely useful particularly when a plurality of functions are realized in one terminal, such as a PC. Specifically, information described in the configuration ROM includes a service type, attributes of the service (various parameters used for receiving the service, for example, maximum data transfer speed, device specifications, setting parameters, etc.) It is.
[0120]
Incidentally, the PC 10 is also connected to the home automation network 12 and serves as a server for these home automation. That is, the PC 10 controls various devices (here, the air conditioner 13 and the microwave oven 14) connected to the home automation network 12. In other words, it means that the terminal connected to the second 1394 bus 3 can control various devices connected to the home automation 12 network by accessing the PC 10. In order to inform the terminal on the second 1394 bus 3 of this, information (service information) about the home automation network 12 is also stored in the configuration ROM of the PC 10.
[0121]
First, information indicating that the home automation service is performed is stored in the configuration ROM (34 in FIG. 4). On the 1394 bus, this may be recognized as one unit. Next, as the unit-dependent directory, information indicating that the air conditioner service and the microwave oven service are provided is described in the configuration ROM (35 and 36 in FIG. 4). In this way, other terminals connected to the 1394 bus can know what service is being performed and how the service is connected to another network that is not the 1394 bus. Therefore, the service recognition and operability can be greatly improved.
[0122]
Next, FIG. 5 shows a second example of information described in the configuration ROM. In the first example, the configuration ROM describes the service performed by the terminal as unit information for the terminal, whereas in the second example, the service description (FIG. In addition to 45 to 50 in FIG. 5, information for each terminal is also described (42 to 44 in FIG. 5). Each of these is stored as unit information, and may be stored as a unit-dependent directory. In addition, in order to distinguish between the information for each terminal and the information for each service, there may be areas (42 and 45 in FIG. 5) indicating the distinction (which unit).
[0123]
Here, information about terminals (air conditioner 13 and microwave oven 14) connected to the PC 10 via the home automation network 12 is stored as terminal-specific information (43 and 44 in FIG. 5). By referring to these, other 1394 nodes are not only nodes connected to the 1394 bus but also information about other nodes (air conditioner 13 and microwave oven 14 in this embodiment) connected to the node connected to the 1394 bus. Can be obtained at the 1394 level, and is extremely effective for integrated management and control of the home network.
[0124]
Similarly to the first example, when the PC 10 has a WWW server, a digital album server function, etc., these are reflected in the configuration ROM (45 to 50 in FIG. 5). The specific rules for the description are basically the same as in the first example.
[0125]
Next, FIG. 6 shows a third example of information described in the configuration ROM. In this example, only information about the PC 10 itself is stored. In this case, unlike the first example and the second example, not the description based on the service, but only the information as the node, that is, the information about the device itself is described. , It is described that it is a PC or a PC board (for example, a 1394 PCI board).
[0126]
Now, by displaying the terminal / service information on the second home network collected by the second AV connection device 5 as described above on the console of the second AV connection device 5, for example. The user can be prompted to perform the operation. As a display method at that time, it is possible to perform display for each service, and it is also possible to perform terminal-based display.
[0127]
FIG. 7 shows an example of a screen when displaying by service. As shown in FIG. 7, icons (i1 to i7) are prepared one by one for each service deployed on the second home network, and the user designates a service to be used through a predetermined user interface (for example, a mouse). You can access the service by clicking or dragging and dropping with the device.
[0128]
Here, the screen display of the icon for each service in FIG. 7 displays the service connected to the second IEEE 1394 bus 3 and the service connected to the home automation network 12 in the same manner regardless of the type of network. Has been. This is because the user is generally not interested in which physical network the service is connected to, and therefore it is preferable to display without distinction as described above. As a result, confusion that may occur when the user is aware of the physical network can be prevented.
[0129]
It is not always necessary to display the information itself written in the configuration ROM on the screen, and other corresponding information may be displayed. For example, information written in the configuration ROM is generally considered to be a code for professionals in general, and is considered to be a term unfamiliar to general users. For example, even if a code meaning “digital VCR” is written in the configuration ROM, this term is not familiar to Japanese people. Therefore, in such a case, instead of “digital VCR”, “video” or “video deck” that is more familiar to general users may be displayed.
[0130]
Next, FIG. 8 shows an example of a screen when performing display for each terminal. As in the case of each service, icons (i11 to i15) are prepared one by one for each terminal deployed on the second home network, and the user designates a service to be used by a predetermined user interface ( You can access that service (for example, by clicking or dragging and dropping with a mouse device). Also in this case, regardless of the type of network, the service connected to the second IEEE 1394 bus 3 and the service connected to the home automation network 12 are displayed on the screen without distinction.
[0131]
As described above, the terminal or service is recognized by reading the configuration ROM of the 1394 bus.
[0132]
Next, service registration using the service location protocol will be described.
[0133]
The IETF, an Internet standardization organization, is considering a service registration and search method using a service location protocol. In these, services for IP terminals are classified into some in advance,
(1) The location information of the server that performs the service is registered in a directory agent (also referred to as a directory server in this embodiment) for each service. The user can know the location of the service by making an inquiry to the directory agent.
[0134]
(2) Prepare an IP multicast address for each service. A user requesting a service skips a message meaning “Where is the service?” To the IP multicast address. The server providing the service responds to this, so that the user can know the location of the server providing the service.
[0135]
Service registration and search can be performed in two ways.
[0136]
In the present embodiment, the second AV connection device 5 is a directory agent of the service location protocol (1).
[0137]
The IP terminal (PC 10 and printer 11 in FIG. 1) on the second home network registers the provided service in the second AV connection device 5 which is a directory agent. First, the IP terminal investigates where the directory agent exists on the network and takes a procedure for registering service information. This will be described with reference to FIG. 9, taking as an example the case where the PC 10 registers a service.
[0138]
The PC 10 sends a service request message to the second IEEE 1394 bus 3. The service request message is a message that means "Please reply to the server that provides this service." More specifically, in this example, "Please reply to the server that provides the directory service." Is sent out.
[0139]
The service request message is provided with a “predicate” area for specifying the target service type. In this area, “directory service” is described, and the destination is a directory agent (DA) discovery multicast address (IP address). ) To send this message.
[0140]
In the present embodiment, in the second home network, since the network to which the IP packet reaches is only the second IEEE 1394 bus 3, the service request message sent from the PC 10 is the second AV that is the directory agent. The connection device 5 and the printer 11 are reached.
[0141]
The second AV connection device 5 that is the directory agent that has received the service request message sends back “directory agent (DA) advertisement” to the PC 10 in order to notify that it is a directory agent. Since the printer 11 itself is not a directory agent, the printer 11 ignores the service request message (usually not received by the link layer).
[0142]
Next, the PC 10 recognizes that the directory agent exists in the second AV connection apparatus 5 by receiving the directory agent (DA) advertisement.
[0143]
Next, the PC 10 registers the service provided by the PC 10 in the directory agent. In the present embodiment, the PC 10 provides a WWW service (specifically, an http server) and a digital album service, and also provides services for the air conditioner 13 and the microwave oven 14 connected to the home automation network 12 from the outside as a proxy server. The service request can be received.
[0144]
In the service registration, the PC 10 registers position information, attribute information, and the like for each of the WWW service and the digital album service provided by the PC 10 itself, and for each service on the home automation network (LON) 12, 13 and the microwave oven 14 are registered in place of the position information and attribute information.
[0145]
FIGS. 10A and 10B show examples of contents of registration information of the WWW service and the digital album service, respectively. As the location information of the WWW service and the digital album service, a URL including the IP address of the PC 10 and a port number determined for each service is used.
[0146]
FIGS. 10C and 10D show examples of the contents of registration information of the air conditioner service and the microwave oven service that the PC 10 acts on behalf of, respectively. In this case, the port number of the PC 10 is assigned for each proxy service. In the example of FIG. 10, 15000 is assigned to the air conditioner service on the LON, and 15001 is assigned to the microwave oven service on the LON. Accordingly, the external terminal interprets that the air conditioner service and the microwave oven service exist on the PC 10 and interprets these services as services at the IP level.
[0147]
When an external terminal wants to access the air conditioning service of the home automation network 12, it accesses the port number 15000 of the PC 10, and when it wants to access the microwave service, it accesses the port number 15001 of the PC 10. On the other hand, the PC 10 interprets it as a service request for an air conditioner when it accesses the port number 15000, and interprets it as a service request for the microwave oven when it accesses the port number 15001. The translated IP control command is translated into a LON control command, which is sent to an actual device (air conditioner 13 or microwave oven 14) on the home automation network 12. This operation will be described later with an example of access to an air conditioner service.
[0148]
As described above, the service registration of FIG. 9 registers the WWW service, the digital album service, the air conditioner service on the LON, and the microwave oven service on the LON in the second AV connection apparatus 5. When the service registration is successful, the second AV connection device 5 as the directory agent returns a service acknowledge (ACK) to the PC 10.
[0149]
Similarly, the printer service is registered in the second AV connection apparatus 5 from the printer 11.
[0150]
As described above, according to the service location protocol registration procedure, the WWW, digital album, air conditioner, microwave oven, and printer services are registered in the second AV connection apparatus 5 that is a directory agent.
[0151]
Now, it is possible to configure service information on the second home network by combining the information obtained by this registration procedure and the information obtained by reading the configuration ROM on the IEEE 1394 described above.
[0152]
There are various types of configuration methods. In this embodiment, as an example, (i) a service registered by the service location protocol is preferentially displayed, and (ii) appears here. For a service that is not recognized by a service location protocol, specifically, a node that is not recognized by the service location protocol and that is recognized by reading the configuration ROM on IEEE 1394, service information is configured based on the information in the configuration ROM. , (I) and (ii) are combined and introduced to the user and the outside as one “service directory information on the second home network”.
[0153]
More specifically, the DVD player recognized by reading the configuration ROM on IEEE 1394, which is recognized by the registration procedure of the service location protocol, WWW service, digital album service, air conditioner service, microwave oven service, printer service. All services are recognized, combining services and video services. Then, for example, icons (i21 to i27) are displayed on the console of the second AV connection apparatus 5 one by one for each service developed on the second home network as shown in FIG. Similarly to the above, the user can access the service by instructing the service to be used through a predetermined user interface (for example, by clicking or dragging and dropping using the mouse device).
[0154]
By the way, a user agent that is a user terminal that receives service provision can inquire and obtain information about the service on the IEEE1394 bus to which the user agent is connected. By receiving a notification from each device, the service-related information can be obtained in the same procedure as the service-related information registration procedure.
[0155]
Next, a user in the first home network (that is, a user of a terminal connected to the 1394 bus 1) passes a terminal in the second home network (that is, the 1394 bus 3 or the home automation) via the public network 2. A case where a desired operation is performed by remotely operating a terminal connected to the network 12 will be described.
[0156]
As shown in FIG. 1, the first home network and the second home network are interconnected by a public network 2. As described above, the public network 2 may be a telephone network, a wide band line, a dedicated line, or the Internet. Also, a private IP address (when the public network 2 is not the Internet but ISDN) or a global IP address (when the public network 2 is the Internet) is used as the IP address.
[0157]
Here, the first AV connection device 4 is a directory agent of the first home network, and recognizes the service in the network by the same procedure as described for the second AV connection device 5 previously. It shall be. More specifically, PC 6 and digital TV 7 are recognized as terminals, and some service and digital TV service provided by PC 6 are recognized as services.
[0158]
Now, as the first phase, in order to present the service in the second home network to the user in the first home network, the first AV connection device 4 is connected to the second home network. Attempts to collect service information (directory information). At this time, the first home network and the second home network communicate with each other using the Internet protocol. Note that the method of the present embodiment can be similarly applied when another protocol, such as IPX or NetBEUI, is used.
[0159]
FIG. 12 shows an example of an information exchange procedure performed between the first AV connection apparatus 4 and the second AV connection apparatus 5 for collecting service information.
[0160]
First, the first AV connection device 4 sends a service request using “predictate” as a directory agent to the second home network in order to search for a directory agent in the second home network. In order to realize this, for example, a method of sending an IP multicast with a plurality of hops (with the scope including other home networks), or a source routing or routing header for the second home network A method of sending to the IP multicast address after attaching
[0161]
Here, as a method of knowing the IP address of the other party's house, in particular, the IP subnet address (that is, the network address), for example, the routing information is exchanged with the other party's house using a routing protocol. A method of knowing the address can be considered.
[0162]
The second AV connection device 5 that is the directory agent of the second home network that has received this service request sends the directory agent advertisement to the first AV connection device in order to notify that it is a directory agent. Tell 4
[0163]
Next, the first AV connection device 4 sends a service type request to the second AV connection device 5 in order to know what service is provided in the second home network.
[0164]
The second AV connection device 5 uses, as a service type reply, an air conditioner (connected to the LON) in addition to WWW (the service name expressed in URL is http), a digital album (the same album), and a printer (the same lpr). The aircon_lon), the microwave oven connected to the LON (the microwave_lon), the DVD player (the DVD1394) which is a 1394 terminal, and the digital VTR (the DVTR1394) which is a 1394 terminal. For example, as shown in FIG. 12, "Service: http: //", "Service: album: //", "Service: lpr: //", "Service: aircon_lon: //", "Service: microwave_lon: /" / "," Service: DVD1394: // ", and" Service: DVTR1394: // "are notified.
[0165]
For the device connected to the LON, the service information (URL information indicating the location of the service) notified from the PC 10 is notified to the first AV connection device 4 as it is. That is, the service registered by the IP service location protocol is notified to the first AV connection apparatus 4 as it is.
[0166]
For a service that the second AV connection device 5 that is the directory agent of the second home network can recognize only as a 1394 terminal / service, the second AV connection device 5 that is the directory agent itself represents the service. In order to try to provide services as a server, in the sense of “DVD on 1394”, “DVTR on 1394”, on the IP using the new service categories of “service: DVD1394”, “service: DVTR1394” The first AV connection device 4 is introduced.
[0167]
Next, the first AV connection apparatus 4 that has received the information enters a procedure for collecting detailed information about each received service.
[0168]
An example of the collection method is shown below. That is, in order to obtain the location and attribute information for all the services received by the service type reply, or for the services that are of interest to the first AV connection apparatus 4 side, the service request and attribute request are respectively received by the directory agent. It is sent to a certain second AV connection device 5. In response to the service request, a service reply (specifically, a URL that is location information of the service; for example, URL: Service: DVD1394: //192.168.1.254: 20000) is returned, and an attribute request is sent. , An attribute reply (attribute information of the service; for example, attribute information of DVD on 1394) is returned. Details are described in a service location protocol document (for example, draft-ietf-svrloc-protocol-16.txt of the Internet draft).
[0169]
FIG. 12 describes the above-described procedure for the DVD1394 service. If information is collected in the same manner for all other services, the first AV connection apparatus 4 will receive the second home network service. Information can be collected as shown in FIG.
[0170]
Here, for the services of DVD 1394 and DVTR 1394, as described above, the second AV connection device 5 can receive service requests from the outside as a proxy server for these services. . That is, the second AV connection device 5 receives a remote command protocol, which is an IP protocol, which is a concrete implementation of the service, instead of the 1394 node, and exchanges it with the 1394 node by converting it to the 1394 protocol. (The details will be described later). In this way, services that can only be exchanged only with the 1394 protocol (here, DVD service and DVTR service) can be introduced through the IP service introduction protocol, which is a network-independent protocol. It is possible to send and control commands from any IP node to the 1394 node (becomes controllable).
[0171]
Of the information collected by various replies, for the services (DVD service and DVTR service) received on behalf of the second AV connection device 5, the port number serving as the service window, that is, the port number for each proxy service is assigned. Like that. This port number may be assigned in advance by a standardization organization or the like, or may be determined by negotiation between nodes. In the case of this embodiment, the DVD service on 1394 is 20000, and the DVTR service on 1394 is 20001. As a result, an external terminal (for example, a terminal on the first home network) interprets that the service exists on the second home network, and interprets it as a service at the IP level. .
[0172]
Now, the terminal on the first home network, for example, the first AV connection apparatus 4, as shown in FIG. 14, for example, displays the first list of services recognized by itself on the console. In addition to the information about the home network, information about services on the second home network (for example, the home network of Mr. XX's home) is also displayed based on the information acquired at the service location. This display method may be based on the same policy as in FIG.
[0173]
Next, when an external terminal wants to access various services of the second home LAN, it accesses the address and port number introduced in the URL of FIG.
[0174]
For example, the user operates the first AV connection device 4 to bring a video from the DVD player 8 which is a 1394 terminal on the second home LAN via the public network 2 and displays this on the digital TV 107. Think about the case.
[0175]
The actual operation of the user is as follows, for example. First, the user clicks the DVD player icon in FIG. Then, for example, an operation button group for DVD player operation as shown in FIG. 15 is displayed on the screen. Next, the user remotely operates the DVD player 8 by clicking a desired operation button. Further, it is designated by some input method such as clicking that the receiving terminal is a digital TV.
[0176]
FIG. 16 shows an example of a sequence of command groups and protocol groups flowing on the actual network at this time.
[0177]
First, the first AV connection device 4 performs the following sequence of operations in order to set video and video to be displayed on the digital TV 7 for display. That is, a synchronization channel on the first IEEE 1394 bus is secured in accordance with the IEC 1883 protocol. At this time, it is assumed that the synchronization channel number of the acquired synchronization channel is #y.
[0178]
Next, the first AV connection device 4 turns on the power of the digital TV 7 and controls a control command (for example, 1394AV /) defined in advance by a standard organization such as 1394TA to display the video from the synchronization channel #y on the screen. The command is sent using the (C protocol). If the command is accepted, ACK may be returned to the first AV control device 4. As a result, a line from the first AV connection device 4 to the digital TV 7 is secured.
[0179]
Before or after this, the first AV connection device 4 issues a command for the DVD player 8 to the second AV control device 5. Here, the first AV connecting apparatus 4 interprets that the DVD player 8 is an IP service. The command is issued to the port of the proxy server of the second AV connection apparatus 5 (IP address = 192.168.1.254), that is, 20000.
[0180]
Here, as a command for remote control, for example, RTSP (Real Time Streaming Protocol) is used. RTSP is a protocol for controlling remote real-time signals, and is being discussed at the IETF, an Internet standardization organization. For details, see, for example, the internet draft draft-ietf-mmmusicic-rtsp-02. ps.
[0181]
The first AV connection device 4 issues commands (for example, a SETUP command and a PLAY command) necessary for reproducing the DVD player 8 on the RTSP.
[0182]
The second AV connection device 5 that has received the RTSP SETUP command interprets that control for the DVD player 8 will be started in the future, and for video transmission on the second IEEE 1394 bus 3 to which the DVD player 8 is connected. Bandwidth, that is, a synchronization channel is secured. This is done by IEC 1883. Here, the reserved synchronization channel number is assumed to be #y. As the bandwidth, an empirical value (for example, 6 Mbps for MPEG) may be used, or a request value may be included in the message.
[0183]
Also, the second AV connection apparatus 5 that has received the RTSP PLAY command specifies the corresponding command (for example, a command called DVD-PLAY) defined as a 1394 command, that is, a protocol between 1394 terminals such as the 1394 AV / C protocol. The command is issued to the DVD player 8.
[0184]
Such command conversion is performed by the 1394 / IP command conversion function 29. The processing flow will be described with reference to FIG. The command on the IP is received by the service location proxy function 27. The received command is converted by the 1394 / IP command conversion function 29. Specifically, a table describing the relationship between commands (or operations) on IP and commands (or operations) on 1394, such as command correspondence table 61 for DVD and command correspondence table 62 for DVTR, is provided as a service. Separately provided, the command sent by IP based on these service-specific tables is converted into a 1394 command, and this is transferred to the 1394AV command processing function 28 to instruct transmission. Upon receiving the instruction, the 1394AV command processing function 28 sends out an actual command.
[0185]
The procedure is the same when a command flows in the opposite direction, that is, when a 1394 command is input and converted into an IP command and output. In other words, the 1394 command is received by the 1394AV command processing function 28, converted into an IP command based on the service-specific table in the 1394 / IP command conversion function 29, and sent out by the service location proxy function 27.
[0186]
When the command reaches the DVD player 8 in this way, actual video data is transmitted through the synchronization channel #x of the second 1394 bus 3. This is because after the ACK signal is returned (note that the ACK signal may be converted into RTSP OK on the public network (ISDN or the Internet)), actual data transfer is started.
[0187]
The second AV connection device 5 sends the video data to the public network 2 via the data link switch 22. At this time, this may be sent in the form of MPEG multiplexing.
[0188]
The transmitted video data is sent to the first AV connection device 4 via the public network 2. The first AV connection device 4 sends the received video data to the synchronization channel #y of the first 1394 bus 1 via the data link switch 22, and the video data is finally reproduced on the digital TV 7. . As a result, the user of the first home LAN can view the video from the DVD player 8 on the second home LAN on the digital TV 7.
[0189]
As described above, it is preferable to secure and match the bandwidth and virtual transmission path identifier in the data link layer of the transmission path of the video data by using the FANP processing function 25 or other RSVP processing functions. By using FANP or the like, it is possible to secure communication resources regardless of the network type. An example of the sequence in such a case is shown in FIG. In FIG. 18, prior to sending actual video data, the FANP secures communication resources for data links that are paths for video data, matches identifiers, and sets connection devices.
[0190]
Next, as another example of remote operation via the public network 2, for example, a user of the first home LAN operates the first AV connection device 4 to operate the air conditioner 13 on the second home LAN. Consider operating (which is a LON terminal).
[0191]
The actual operation of the user is as follows, for example. The user first clicks the air conditioner icon in FIG. Then, for example, a group of operation buttons for operating the air conditioner is displayed on the screen. Next, the user remotely operates the air conditioner 13 by clicking a desired operation button.
[0192]
FIG. 19 shows an example of a sequence of command groups and protocol groups flowing on the actual network at this time.
[0193]
First, the first AV connection apparatus 4 issues a command for the air conditioner 13 to the proxy server PC 10 indicated by the service location. Here, the first AV connection device 4 interprets that the air conditioner 13 is an IP service provided by the PC 10. The command is issued to the port of the proxy server PC 10, that is, 15000.
[0194]
Here, CCCP (Cam Coder Control Protocol) can be used as a command for remote operation. CCCP is a protocol for controlling a remote camcorder via the Internet, but it is possible to control various electrical devices with the same concept, and it is assumed that a command group especially for air conditioners exists in CCCP. . The details of CCCP are described in, for example, the Internet draft draft-ohta-ccc-video-00. It is disclosed in txt.
[0195]
The first AV connection device 4 issues a command (POEWR_ON command) necessary for turning on the power of the air conditioner 13 on the CCCP.
[0196]
Upon receiving the CCCP POWER_ON command, the PC 10 issues a command to the air conditioner 13 using a corresponding command (for example, a command LON_POWER_ON) defined as a protocol between the LON command and the LON node.
[0197]
Such command conversion is performed in the PC 10. The processing flow will be described with reference to FIG. The command on IP is received by the service proxy reception function 71. The received command is command-converted by the CCCP / LON command conversion function 72. Specifically, the CCCP / LON command conversion function 72 is provided with a command correspondence table for LON, that is, a table describing the relationship between commands (or operations) on IP and commands (or operations) on LON. Based on the above, the command sent by CCCP is converted into a command to be sent to the air conditioner 13 via the LON, and this is sent to the LON command issuing function 73 to instruct sending. Then, the ON command issuing function 73 that has received the instruction sends the actual command.
[0198]
The procedure is the same when a command flows in the opposite direction, that is, when a LON command is input, converted into a CCCP command, and output.
[0199]
If an ACK signal is returned (note that the ACK signal may be converted to CCCP OK on the public network (ISDN or the Internet, etc .; shown as OK in FIG. 19), this is also the first. The AV connection device 4 is notified.
[0200]
Needless to say, the mechanism described in the present embodiment can be applied not only to a home network but also to a general corporate network, particularly to a network technology for realizing a so-called “mobile environment”.
[0201]
In this embodiment, the network layer protocol is described as IP, and the data link layer protocol is defined as IEEE 1394 and LON. However, as the network layer protocol, DSM-CC, IPX, etc. that are being standardized by DAVIC are used. As a data link layer protocol, technologies such as Ethernet and ATM can be used.
[0202]
In the above-described embodiment, the AV connection device is provided with the service location service function and the command conversion function, and the AV connection device provides the service. However, these functions are the same as those of the AV connection device of the present embodiment, that is, the network. There is no need for the nodes performing the interconnection, and for example, they may be provided in the PC 6 or PC 10 in FIG. 1 to provide services.
[0203]
In this case, the network I / F (corresponding to the 1394 I / F 21 in FIG. 2), the IP processing function 24, the 1394 / IP service location processing function 26, Service location proxy function 27, 1394AV command processing function 28, 1394 / IP command conversion function 29 are installed in PC6, PC10 or other nodes, and control for securing communication resources of network and identifiers used between networks are matched. When network control such as control is required, the FANP processing function 25 or the control processing function by RSVP may be installed.
[0204]
Also, the service location service function and the command conversion function can be implemented differently.
[0205]
In the above description, when the public network 2 is not the Internet but ISDN or the like, a private IP address is used for the terminal IP address, or when the public network 2 is the Internet, the terminal IP address is a global IP address. The address is used. For example, when the public network 2 is the Internet by using address conversion such as NAT (Network Address Translation), at least a node (AV connection device terminal in FIG. 1) that interconnects the network is used. A global IP address may be used, and private IP addresses may be used for other nodes. In this case, for example, from an external network, a global IP address of a node that interconnects the network, and a port number for indicating a private IP address (or a combination of a private IP address and a port number) of a destination node A node that forwards an IP packet with the set of destinations as the destination and refers to the table at a node that interconnects the network, and the private IP address (the destination node's private IP address ( Alternatively, it may be converted into a combination of a private IP address and a port number.
[0206]
(Second Embodiment)
In this embodiment, a case where a PC having an IEEE 1394 interface recognizes and uses a 1394 device connected to the same 1394 bus will be described.
[0207]
In general, various devices may be connected to the 1394 bus, and the PC does not have information on all devices connected in advance and driver software for controlling the information.
[0208]
Therefore, in the present embodiment, information on devices connected to the 1394 bus is collected. The outline of the procedure is as follows.
[0209]
i) First, 1394 unit is recognized. Specifically, the unique ID and unit number of the 1394 node are acquired.
[0210]
ii) Next, category determination of each unit is performed. Then, it is determined whether the category corresponds to the registered logical device.
[0211]
iii) Next, an occupation state is acquired for a registered device (in this case, a standard driver is used).
[0212]
iv) The occupancy state of 1394 units that are not registered is determined.
[0213]
In the present embodiment, the following are handled as events that occur asynchronously and change the configuration of the device driver.
[0214]
i) Device usage request by application
ii) IEEE 1394 interface bus reset (addition or deletion of 1394 devices)
iii) Changing the device occupation status
Hereinafter, this embodiment will be described in detail.
[0215]
First, the hardware configuration will be described.
[0216]
FIG. 21 shows a configuration example of the PC according to the present embodiment. 81 is a PC, 82 is a processor, 83 is a main memory connected to the processor's local bus, 84 is a system bus, 85 is a secondary storage device, 86 and 87 are IEEE1394 interfaces, and 88 is a hard disk. Represent each.
[0217]
The secondary storage device 85, the IEEE 1394 interface 86, and the IEEE 1394 interface 87 are connected to the system bus 84, respectively. The secondary storage device 85 is configured by, for example, a flash EEPROM.
[0218]
The hard disk 88 is connected by an IEEE 1394 interface 87 inside the casing of the PC 81.
[0219]
The IEEE 1394 interface 86 is connected to a printer 90, a FAX 91, a massage device (referred to as a reclining seat type massage device; hereinafter simply referred to as a massage device) 92, and a toaster 93, which are placed outside the casing of the PC 81. For the sake of explanation, the FAX 91 has a unit corresponding to the FAX function and the scanner function and a unit corresponding to the printer function, and the massage device 92 is a unit corresponding to the massage mechanism for the upper body part such as the back and the neck and the lower body part such as the foot. It shall have a unit corresponding to the massage mechanism to the part.
[0220]
Next, the software structure of the operating system (hereinafter referred to as OS) will be described.
[0221]
FIG. 22 shows an example of the software structure in the PC 81 of this embodiment.
[0222]
In the OS of FIG. 22, reference numeral 101 denotes an OS logical device management function, 102 denotes a secondary storage device management function, and 103 denotes a 1394 interface management function.
[0223]
The OS directly manages the secondary storage device 102 and the hard disk 103. On the other hand, for the hardware of the printer 90, FAX 91, massage device 92, and toaster 93, device recognition and registration are performed through the 1394 management function (this procedure will be described later).
[0224]
111 and 112 are device drivers under the secondary storage device management function 102 and controlling the secondary storage device 85 and the hard disk 88, respectively. Reference numerals 113 and 114 are device drivers under the 1394 interface management function 103, respectively, for controlling the IEEE 1394 interfaces 86 and 87, respectively.
[0225]
Reference numeral 121 denotes a 1394 management object between the OS API (Application Programming Interface) and the JAVA API in FIG.
[0226]
In FIG. 22, between JAVA SPI (System Programming Interface) and JAVA API, 122 represents a logical device management object, and 131, 132, 133, and 134 represent logical device class objects corresponding to modem, printer, scanner, and unknown, respectively. Reference numerals 131-1 to 2, 132-1, 133-1, and 134-1 to 131-3 represent logical device objects managed by the logical device class objects 131, 132, 133, and 134, respectively (details of unknown class Will be described later).
[0227]
Among the OS API and JAVA SPI of FIG. 22, 151 is unit 1 of printer 90 (104 in FIG. 22), 152 is unit 1 of FAX 91 (105 in FIG. 22), and 153 is unit 2 of FAX 91 (106 in FIG. 22). 154 is a unit 1 (107 in FIG. 22) of the massage device 92, 155 is a unit 2 (108 in FIG. 22) of the massage device 92, and 156 is a physical device corresponding to unit 1 (109 in FIG. 22) of the toaster 93. Represents an object. Reference numerals 161, 162, 163, 164, 165, and 166 denote driver objects corresponding to the physical device objects 151 to 156, respectively.
[0228]
In FIG. 22, the arrows indicate the reference relationship between the objects. By having a reference relationship, a state variable can be read by invoking a method of a reference destination object. For example, the physical device objects 151 to 156 have a reference relationship that starts with the 1394 management object 121, thereby indicating that they are registered as physical device objects under the control of the 1349 management object. 151 is registered in the logical device object 131-2 of the printer class, the driver object 161 is registered in the physical device object 151, and the others are the same.
[0229]
Next, OS initialization will be described.
[0230]
After the power is turned on, the PC 81 reads the program stored in the secondary storage device 85 and starts the OS. The general specifications of the OS are not particularly limited, but it is assumed that the compiled Java code can be executed on the OS. There are various documents about Java. For example, Java Language Specification http: // java. sun. com in detail.
[0231]
In this embodiment, the hard disk 88 connected to the IEEE 1394 interface 87 is determined in advance as a 1394 device that is directly managed by the OS. The IEEE 1394 device is operated by writing and reading a value to and from the register. The PC 81 writes the unique ID of the IEEE 1394 interface of the PC 81 itself to a predetermined register of the hard disk 87, so that the hard disk 88 is connected to the IEEE 1394 interface 87. It shows that the PC 81 possessed is used exclusively.
[0232]
The OS of the PC 81 has an API (Application Programming Interface) that can issue and respond to a transaction request of the IEEE 1394 interface from a Java program. After the OS is started by initializing the PC 81, Java code for managing the IEEE 1394 equipment connected to each 1394 interface is executed through the API. This is called a 1394 managed object. The OS also includes a dynamic object loading mechanism that generates an object by obtaining an identifier of a corresponding code from the name of the object class.
[0233]
In the following, the storage and transmission form of Java code is referred to as xx code, an object related to an entire class is referred to as an xx class object, and a materialized object of a certain class is referred to as an xx object. For example, an object that manages all logical devices of a certain type is called a logical device class object, and an object that provides a Java API of a device corresponding to each physical device is called a logical device object. Further, it is assumed that an identifier is given to the code of the object and can be identified from other objects. The identification name may be embedded in the object code, or may be represented by the name of a file storing it or an ISO 1212 format address storing it. On the other hand, it is assumed that at least an identifier that can be uniquely identified by the PC with another object is assigned to the object. For example, the address of the virtual storage space where the object is stored. When used on the IEEE 1394 bus, the identifier is desirably uniquely identified on the IEEE 1394 bus.
[0234]
Next, physical device recognition will be described.
[0235]
When the initialization of the 1394 interface by the OS is completed, a 1394 management object 121 and a logical device management object 122 are generated. The 1394 management object 121 and the logical device management object 122 hold each other's reference, and recognize and register devices while exchanging information with each other.
[0236]
The 1394 management object 121 collects information on devices connected to the IEEE 1394 interfaces 86 and 87 and recognizes each 1394 node. However, the hard disk 87 that is previously defined to be exclusively used by the OS when the 1394 management object 121 is initialized is excluded from recognition. The 1394 management object 121 issues a read request for the configROM area to each node for each node ID in the TOPOLOGY_MAP register or SPEED_MAP register of each 1394 interface of the PC 81 through the 1394 control API, and a plurality of unique IDs and units of the node are issued. If present, each unit ID and capability are obtained. The format of these registers is defined by IEC 1212 (ANSI / IEEE Std 1212 Control and Status Register (CSR) Architecture for Microcomputer Buses [ISO / IEC13213]), and details thereof are omitted here.
[0237]
Finally, the 1394 management object 121 obtains a list of pairs of unique ID, unit ID, and capability, and registers these devices. The 1394 management object 121 reads the value of the register from the printer 90, the FAX 91, the massage device 92, and the toaster 93, and generates 1394 physical device objects 151 to 156 corresponding to each unit. The FAX 92 and the massage apparatus 93 have two units, and generate corresponding physical device objects 152, 153, 154, and 155, respectively. When the object generation is completed, the 1394 management object 121 notifies the logical device management object 122 of the completion of physical device registration.
[0238]
A device to be excluded from the recognition target is a recognition target when the register of the device itself indicates the occupation and the value indicating the occupation is written in addition to the device previously occupied by the OS. It is also good not to.
[0239]
Here, before describing registration, the structure and operation of a program (herein referred to as an object) for controlling a device will be described.
[0240]
The logical device objects 131-1, 132-1,... Correspond to the functions of the respective devices and provide the input / output API to the application. Each logical device object is managed by a logical device class object provided for each type such as a file and a printer. Each logical device object belongs to only one logical device class object, but one logical device class object may have a plurality of logical device objects under it. For example, the logical device object 131-1 of a printer belongs to only one logical device class object 131, but two logical device objects 131-1 and 131-2 are subordinate to the logical device class object 131 of the printer. There is.
[0241]
The physical device object has a one-to-one correspondence with the 1394 unit. One physical device object may be referred to by a plurality of logical device objects. For example, the physical device object 152 corresponds to unit 1 of the printer 91 and is referred to by two logical device objects, a logical device object 131-1 of the printer and a logical device object 133-1 of the FAX.
[0242]
In this embodiment, it is assumed that the PC 81 has logical device class objects 131 to 134 corresponding to the printer, scanner, FAX, and unknown device classes. Each logical device class object has logical device objects 131-1 ... n, 132-1 ... n, 133-1 ... n, 134-1 ... n. A Java application executed on the PC 81 can use physical devices belonging to the same class through these logical device objects in the same method regardless of differences in mounting physical devices. This is because the Java SPI is shared by each logical device class object.
[0243]
For example, the address and procedure of the IEEE 1394 register when accessing the printer apparatus is defined as ANSI X3T10 Serial Bus Protocol (SBP). Regardless of the implementation of the IEEE 1394 interface, the printer can be controlled if the device driver generates an IEEE 1394 format message conforming to the SBP. Furthermore, if the device driver is written in Java independent of hardware or OS, the same printer device driver can be used in any OS as long as the system program interface to the IEEE 1394 interface driver is the same. is there.
[0244]
An application can obtain a list of logical device class objects 131 to 134 by requesting a device class list from the logical device management object 122. From the logical device class object, a list of logical device objects belonging to the same type, such as respective printers and scanners, can be obtained. The logical device management object 122 also performs management such as registration / deletion of the logical device class object.
[0245]
Next, initialization of the logical device class object by the logical device management object 122 will be described. FIG. 23 shows an example of the logical device management object initialization procedure.
[0246]
The logical device management object 122 generates logical device class objects 131, 132, and 133 corresponding to predetermined device classes, printers, scanners, and faxes, and references between these objects indicated by arrows in FIG. Make (steps S11 to S14).
[0247]
The logical device class objects 131, 132, and 133 are initialized following generation (while the logical device management object 122 waits for completion of initialization; step S15). When the initialization is completed, the logical device management object 122 is notified that the initialization is completed.
[0248]
The logical device management object 122 that has received the completion notification generates and initializes an unknown logical device class object 134 that manages physical devices that have not been recognized by the logical device class objects 131 to 133 at the end (step S16). , S17). When the logical device management object 122 receives a notification of completion of initialization of an unknown class, the logical device management object 122 enters an initialization completion state (step S18).
[0249]
Next, initialization of the logical device class object will be described taking the logical device class object 131 as an example. FIG. 24 shows an example of the logical device class object initialization procedure.
[0250]
The logical device management object 122 passes a reference to the 1394 management object 121 when the logical device class object is generated. The logical device class object 131 requests the 1394 management object 121 to refer to the physical device object (step S21).
[0251]
When the reference to the physical device object is requested, the 1394 management object 121 returns the reference in order from the physical device object 151 according to the reference held by the self object.
[0252]
When the logical device class object 131 obtains a reference to the physical device object 151, the logical device class object 131 activates the attribute value acquisition method of the object 151 and acquires a unique ID, a unit ID, and a capability (step S22). The logical device class object 131 has a table for determining whether these values match the own device class in advance, and can determine whether the acquired physical device object 151 matches the own class.
[0253]
Since the unique ID and unit ID of the physical device 151 are values indicating a printer, the logical device class object 131 generates a logical device object 131-1 corresponding to the physical device object 151 and starts initialization. Also at this time, the logical device class object and the logical device object have a reference relationship with each other, and the logical device object 131-1 is registered under the logical device class object 131 (steps S23 to S24).
[0254]
This determination is not limited to the unique ID and unit ID, and may be performed by a combination of other attribute values. Further, the logical device class object may make an inquiry to a search server outside the PC 81 using the unique ID or unit ID as a key without having a table.
[0255]
Subsequently, the logical device class object 131 requests the 1394 management object 121 to refer to the physical device, and performs the same work for 152, 153,... Up to the last physical device 156. Since unit 2 of FAX 152 has printer capability, it is also registered in the printer class object as logical device object 131-2 (steps S21 to S24).
[0256]
When the work is completed for all the physical device objects, it waits for an initialization completion notification from the registered logical device objects 131-1 and 132-2 (step S25). When the initialization completion notification is received from the logical device objects 131-1 and 132-2, the logical device class object 131 of the printer class notifies the completion of initialization to the logical device management object 122 (step S26).
[0257]
Next, initialization of the logical device object will be described by taking the logical device object 131-1 as an example. FIG. 25 shows an example of the logical device object initialization procedure.
[0258]
The logical device object 131-1, after initializing its own attribute value, issues an initialization request to the physical device 151 and waits for a completion notification from 151 (steps S31 and S32). When the completion notification is received, a completion notification is issued to the logical device class object 131 of the printer class (step S33). The physical device object 151 that has received the initialization request determines a device control code corresponding to the physical device 90, reads it, generates a device control object 161, and registers it in the physical device object.
[0259]
Next, initialization of the physical device object will be described using the physical device object 151 as an example. FIG. 26 shows an example of a physical device object initialization procedure.
[0260]
The physical device object is generated by the 1394 management object 121 before the logical device object is generated. The initialization here is different from the generation, and the 1394 management object 121 generates the physical device object 151. At this point, the code specific to the printer control is not read.
[0261]
The device control code to be loaded is determined as follows, for example. The 1394 management object 121 has a table for obtaining the class name of the device control code from the attribute value unique ID, unit ID, capability and logical device class object. The physical device object 151 has its own attribute value unique in the 1394 management object 121. An inquiry request including ID, unitID, and capability is issued, and a class name is obtained as a return value (step S41). The identifier of the device control code may be a path name indicating the file of the PC as described above. Of course, an inquiry based on the attribute value may be issued outside the PC 81 for acquisition.
[0262]
The device control code is loaded from the class name obtained by the above method by the dynamic object loading function, and the device control object 161 is generated and registered in the physical device object 151. After initializing the attribute value of the device control object 161, the physical device object 151 issues a hardware initialization request (steps S42 to S44).
[0263]
If the code corresponding to the class name exists locally, read it. If the class name indicates a resource on the remote network, get it from the network. Even if the class name does not explicitly refer to a resource on the network, if the code does not exist locally, the location on the network is obtained using a search server on the network and the code is read.
[0264]
Next, the device control object 161 prepares a packet for register writing for hardware initialization, calls a 1394 transaction system call, and initializes the physical device 90. When the initialization is completed, the physical device object 151 issues a completion notification to the logical device object 131-1 (step S45).
[0265]
By the way, the physical device object is registered in two or more logical device objects (131-1, 133-1) like the physical device object 152. Such a physical device object receives two or more initialization requests. In the second initialization, whether or not the device control object determined from the attribute value is the same as the device control object acquired in the first time is compared (step S44). If so, a new device control object is read and created. The physical device object 152 uses the same device control object 162 for the printer class and the FAX class because the device control object supports both printer and FAX Java SPI. If the first loaded device control object supports only the printer class Java SPI and does not support the FAX class, search for and obtain a new device control object that supports both, or support the FAX class. quit. If they are not compatible, the first loaded class will take precedence.
[0266]
In general, it is inefficient in terms of the use of resources such as memory to prepare all logical device class objects that may be used in advance when the number of logical device types increases. In addition, there is a possibility that one physical device may be used by many logical device class objects, and the lower device control program (device control object of this embodiment) is changed depending on the upper logical device class object. However, the procedure for determining the upper logical device in accordance with the physical device becomes complicated. In particular, it is difficult to preliminarily limit devices connected to a bus that is introduced into a home such as the IEEE 1394 bus and is also used as a home network.
[0267]
Rather, it is appropriate in the above-mentioned network that the user determines the upper logical device defined by the user's usage form and uses the connected apparatus by the method. For this reason, in the present embodiment, a device whose usage is unknown is recognized for the time being by providing an unknown device class, and, as will be described in detail later, a method of newly adding an upper logical device suitable for the device is used.
[0268]
The 1394 management object 121 has a table of class names corresponding to a plurality of logical devices and attribute values. When the physical device object performs the second initialization, the names and attribute values of the two logical device class objects are set. An inquiry may be made to the 1394 management object 121 by designating it.
[0269]
Next, initialization of the unknown logical device class object 134 will be described.
[0270]
The unknown logical device class object 134 receives a reference to the 1394 management object 121 at the time of generation, like the logical device class objects 134 to 133. Then, as with the initialization of the logical device class objects 131 to 133, references to the physical device objects 151,.
[0271]
The unknown logical device class object 134 first gets a reference to the physical device object 151. The unknown logical device class object 134 inquires of the physical device object 151 whether or not it has a reference to the logical device object. If it has, the recognition of the physical device object 151 is stopped, and the next physical device object 152 Get a reference to Since the physical device objects 151, 152, and 153 are all registered in other logical device objects, they are not registered as unknown devices.
[0272]
On the other hand, the physical device object 154 has no reference from the logical device object. Here, the unknown logical device class object 134 creates a logical device object 134-1 corresponding to the physical device object 154 and registers it. The logical device object 134-1 registers the physical device object 154 in itself. The unknown logical device object 134-1 does not request initialization from the physical device object 154. Accordingly, at this time, no device control object is registered in the physical device object 154.
[0273]
Thereafter, the same initialization is performed for the physical device objects 155 and 156, the unknown logical device objects 134-2 and 134-3 are generated, the completion notification is issued, and the initialization of the unknown device class is completed. To do.
[0274]
The logical device management object 122 ends when generation and initialization of a predetermined logical device class object and subsequent generation and initialization of an unknown logical device class object are completed. When the initialization is completed, the logical device management object 122 can answer the device class list request from the application. Before initialization is completed, an unusable answer is returned to the inquiry from the application.
[0275]
Next, use of a device from an application will be described. Here, a case where the printer 90 is used from an application will be described as an example.
[0276]
The interface between the physical device and the logical device is called Java SPI, and the interface between the logical device and the application is called Java API. These are different from the API between the OS and Java.
[0277]
It is assumed that the application program knows a reference to the logical device object 131-1 corresponding to the printer 90 by a predetermined method such as an inquiry to the OS.
[0278]
For example, the application knows a reference to the logical device management object 122 in advance, obtains a reference to the printer class through the logical device management object 122, and obtains a reference from the printer class to the printer 131-1. Alternatively, a naming service related to the device configuration may be provided.
[0279]
The application program issues a print request to the logical device object 131-1, using the reference to the postscript file as an argument.
[0280]
The logical device object 131-1 learns from the file header information that it is a postscript file, and expands the postscript file into a bitmap image. Then, the logical device object 131-1 issues a print request to the physical device object 151 using a reference to an object including information such as a bitmap image and paper size designation other than the bitmap as an argument. Note that it is desirable to perform queue processing in the logical device object 131-1.
[0281]
The physical device object 151 transfers bitmap information corresponding to the print image to the printer 90 through the device control object 161. That is, a flag used by the PC 81 is written in a predetermined CSR register A of the printer 90 by a lock transaction. When the lock is successfully acquired and the right to use the printer is acquired, a transaction for setting the Isochrons channel on the IEEE 1394 bus for transferring data and setting the printer such as paper size and tray information is issued. When the channel is acquired, the bitmap information is transferred. When the transfer is completed, a transfer completion transaction is issued to complete the print instruction to the printer. Since the printing status of the printer is displayed in a certain CSR register, the physical device object knows the completion of printing by polling it.
[0282]
Next, the use of a device registered as an unknown type will be described taking the massage device 12 as an example.
[0283]
FIG. 27 shows a software structure when a logical device class object is added, FIG. 28 shows an example of a new device class addition request procedure by the application, and FIG. 29 shows an example of a new device class addition procedure by the logical device management object 122.
[0284]
The application issues a logical device class list acquisition request to the logical device management object 122 (step S51). When a reference to the unknown logical device class object 134 is acquired, the unknown device class 134 is requested to acquire a list of logical devices (steps S52 and S53).
[0285]
The application requests a usable logical device information by selecting a reference to the logical device object 134-1 corresponding to the massage device 92 from the list (step S54).
[0286]
The logical device object 134-1 acquires the attribute value from the physical device object 154, and issues a search request for a logical device class that can be used by the physical device object 154 to the logical device management object 122. As described above, the logical device management object 122 has a table that associates logical device class names with attribute values. A logical device class name or a list thereof is returned from this table to the logical device 134-1, and the logical device 134-1 acquires the logical device class name in response to the request and notifies the application as logical device information. Of course, the device class name search may also be performed here by inquiring a server on the network. It is desirable that the driver object storage location stores at least a default driver object code of the massage apparatus and a description of usage in natural language.
[0287]
The application selects the logical device class name “massage device” to be used and issues a logical device class registration request to the logical device management object 122 (steps S55, S56, and S57).
[0288]
The logical device management object 122 generates a new logical device class object 135 corresponding to the specified class name (step S61), and the logical device class of the FAX linked to the unknown logical device class object 134 and the unknown class. It inserts between the objects 133 (step S62). Then, the logical device objects 134-1 and 134-2 previously registered in the unknown device class are deleted (step S63), and an initialization request is issued to the logical device class object 135 (step S64). This state is shown in FIG. The subsequent steps S65 and S66 and the initialization procedure of the new logical device class object 125 are the same as those already described. In FIG. 27, 135-1 is a newly created logical device object.
[0289]
Although an example of searching for a logical device corresponding to an unknown device has been described here, a new corresponding logical device may be searched from a combination of existing physical devices. For example, a search is made for a new logical device FAX that can be used by a combination of physical devices having functions of a printer, a scanner, and a modem.
[0290]
By providing the above functions, unnecessary programs for controlling devices that are not normally used are not loaded when the system is initialized, but are loaded when they are needed, saving resources such as PC memory and cost. Can be reduced.
[0291]
Next, a configuration change event of the 1394 device will be described.
[0292]
The connection status of 1394 devices that can be used by a PC can vary. Moreover, the configuration of the IEEE 1394 bus can be changed by inserting and removing connectors during operation. This change result must be reflected in the logical device as addition or deletion of a device object. Further, when the occupation of a device by a certain device is completed, the device can be used by another device. Hereinafter, a procedure for recognizing such a change in configuration will be described.
[0293]
When a bus reset occurs, the bus reset is notified to the 1394 management object 121 from the 1394 interface of the OS. The 1394 management object 121 obtains a list of 1394 physical devices from the TOPOLOGY_MAP and SPEED_MAP again, acquires their unique IDs, and takes correspondence with known devices.
[0294]
First, after the bus reset, the 1394 management object 121 sets the “exist” attribute values of all physical device objects to “unknown”.
[0295]
If the unique ID acquired from the device matches the unique ID held by the existing physical device object, the device has already been registered and “exist” is set to “exist”.
[0296]
If the unique ID acquired from the device does not match the unique ID held by the existing physical device object, the device is a newly added device, the physical device object is generated and initialized, and the “exist” is set to “exist”.
[0297]
After this operation is performed for all NODE IDs, the physical device object with the unknown “exist” is deleted as the corresponding device is removed. When the physical device object is deleted, it is notified to the corresponding logical device object, the logical device object performs a termination process, notifies the corresponding device class, and then deletes itself.
[0298]
When the reference correction work by addition or deletion is completed, the 1394 management object 121 notifies the logical device management object 122 of the configuration change. If there is no change in configuration, no notification is given.
[0299]
The logical device management object 122 that has received the notification issues a configuration change request to each device class.
[0300]
The printer class 131 that has received the configuration change request requests the logical device object 122 to refer to the physical device, similarly to the initialization. Unlike initialization, all physical device objects are targeted for initialization, whereas only newly added physical device objects are targeted for configuration change. Each logical device class reads the attribute of the newly added physical device, determines whether it matches the own class, and if it matches, generates and registers a corresponding logical device object.
[0301]
When the configuration change of all classes is completed, the unknown class is initialized, and the physical device object that is not registered as any logical device in the added device is registered in the unknown class.
[0302]
Next, the change of the occupied state will be described.
[0303]
The 1394 management object 121 performs periodic polling to detect a change in the device occupation state with respect to a device that is determined to be occupied by another node by initialization and is excluded from recognition. A device that has become an unoccupied state is registered in the same procedure as the device configuration change described in the bus reset. If the PC exclusively occupies the device, it writes a value indicating it in a register indicating the occupancy status of the device.
[0304]
Next, a case where the local logical device object is old will be described.
[0305]
In such a case, the logical device class object has a version number attribute. The application can issue a logical device class object update request to the logical device management object 122. The logical device management object 122 obtains the version number of the logical device class object requested to be updated, and requests the latest version number from the archive server of the logical device class object designated in advance. If the version number of the local logical device class object matches the latest one, if the version number of the local logical device class object is young, the latest device class is read from the archive server and an object is generated. At this point, this logical device class object does not operate.
[0306]
If the object is successfully generated, an end notification is issued to the existing logical device, and the operation is ended. If it is a printer, it stops accepting a new print job and waits for the end of the print job being executed. When the job being executed and the end process are completed, the logical device management object 122 is notified of the completion. The logical device management object 122 changes the reference relationship of the old logical device, and after the new logical device object takes over the reference relationship, sends a logical device start notification to the logical device class object. The logical device class object that has received the notification starts its operation.
[0307]
(Third embodiment)
In this embodiment, a case will be described in which a PC connected to a network (having the function of the second embodiment) controls a remote IEEE 1394 device connected via a network other than IEEE 1394.
[0308]
FIG. 30 shows a configuration example of a system according to the present embodiment. Reference numerals 401, 411, and 434 represent PCs, network connection devices, and toasters in the first home 451, respectively. Reference numerals 402, 412, 431, 432, and 433 denote a PC, a network connection device, a printer, a FAX, and a massage device in the second home 452, respectively. Each component other than the network connection device in FIG. 30 is the same as the corresponding one in FIG.
[0309]
It is assumed that the LAN in the home 451 and the LAN in the home 452 are connected by an ISDN communication line 413. The communication line 413 is terminated by network connection devices 411 and 412.
[0310]
In the LAN in the home 451, the connection devices 411, the PC 401, and the toaster 434 are connected by a 1394 bus 421.
[0311]
In the LAN in the home 452, the connection device 412, the PC 402, the printer 431, the scanner 432, and the massage device 433 are connected by a 1394 bus 422.
[0312]
The network is the Internet using the Internet protocol, and only the PCs 401 and 402 and the connection devices 411 and 412 have IP addresses in advance. The IP address may be either fixedly assigned or assigned by a protocol such as DHCP or PPP.
[0313]
Here, the PC 401 in the home 451 tries to connect to a device in the home 452. The PC 401 sends a connection request including a character string indicating the home 452 to the network connection device 411 using the Internet protocol, for example, “Yoshiaki Takatsuki” as its name. The network connection device 411 has a database for searching for the telephone number of the home 452 corresponding to “Yoshiaki Takatsuki”, for example, and connects the home 452 to the connection device 412.
[0314]
The connection device 412 authenticates the connection source before connection. If it is not permitted in the authentication step, no connection is made. For example, a caller telephone number display is used for authentication, and connections other than telephone numbers registered in advance in the second home 452 can be prohibited. When the connection is completed, communication using the Internet protocol can be performed between the homes 451 and 452.
[0315]
However, from the viewpoint of security protection, it is desirable that the connection device operates as a so-called firewall that determines whether packets can pass or not according to the policy of the home even if the connection is completed. Here, it is assumed that all the packets pass between the homes 451 and 452 so that all operations can be performed.
[0316]
This connection may be an IP connection instead of a telephone connection.
[0317]
Now, the PC 401 in the home 451 acquires the address of the service management server from the database of the connection device 411. Assume that the address is registered in the connection device 411 in advance. Next, the PC 401 makes an inquiry about available services to the service management server. Here, it is assumed that the network connection device 412 also serves as a service management server.
[0318]
In response to the inquiry, the service management server returns the service in the network and information about the server. Here, the following services are registered.
[0319]
printer: pc2
Java ORB: pc2
The left column represents the type of service, here, a multiplexing identifier (for example, port number) assigned to the service, and the right column represents the location of the service, here, the IP address of the PC 402. Such service information providing means is known as a service location protocol on the Internet (for example, the document “Internet draft draft-ietf-svrloc-protocol-16.txt”).
[0320]
These are registered in a predetermined network connection device 412 when the host providing the service, here the PC 402, is activated.
[0321]
“printer” represents a print service defined by the Internet standard, and is assigned a UDP / TCP number of 515. The protocol used here is defined in advance by the Internet standard.
[0322]
The Java ORB represents a service that can use a Java object from the outside. Such a service is not yet defined as a standard at present, but here, it is assumed that there is an agreement in advance regarding the port number representing the Java ORB.
[0323]
Next, two methods of using a remote 1394 device,
Method 1) Method of using through a network service standardized on the Internet
Method 2) Method to use through 1394 proxy object
Will be described.
[0324]
In the method 1, the printer 431 connected to the PC 402 by the IEEE1394 interface is used by a printer service standardized as an Internet protocol. The PC 401 has a printer protocol client, designates a logical name representing the printer 431, sends a print request in a format standardized in the Internet format to the PC 402, and uses the printer. In this method, the device-dependent element is not included in the message transmitted through the network. The application of the PC 401 simply designates and requests the printer service and the name of the device corresponding to the printer 431, and is not aware of the device characteristics.
[0325]
The method 2 generally uses a format in which an IEEE 1394 format packet is encapsulated in an IP packet in a message transmitted over the network. The PC 401 can be used as if the printer 431 is connected to the local 1394 bus.
[0326]
Hereinafter, the above method 2 will be described in more detail.
[0327]
FIG. 31 shows the software structure of the service via the network before the connection on the client side, FIG. 32 shows the software structure of the service via the network after the connection on the client side, and FIG. 33 shows the software of the service via the network before the connection on the proxy side FIG. 34 shows the software structure of the service via the network after connection on the proxy side. Each component other than the IP function in FIGS. 31 to 34 has the same function as the corresponding one in FIG. The IP function 504 is a function of a series of Internet protocols (TCP / IP protocol sheet) such as TCP / UDP / IP.
[0328]
FIG. 31 shows the software configuration of the client PC 401 before the generation of the 1394 stub object, 501 is a logical device management function, 502 is a secondary storage management function, 511 and 512 are management functions of the respective hard disks under 502, and 503 is 1394 interface management function, 513 and 514 are respective 1394 interface management functions, 504 is an IP function, 434 is a toaster, 509 is a unit 521 indicating a toaster function, 522 is a 1394 management object, 522 is a logical device management object, 531 and 532 533 and 534 correspond to printers, scanners, massage devices, and unknown logical device class objects. 534-1 is an unknown class logical device object. Reference numeral 551 denotes a physical device object corresponding to the toaster 434. Reference numeral 561 represents a driver object (control program) corresponding to the physical device object 551.
[0329]
FIG. 32 shows the software configuration of the client PC 401 after generation of the 1394 stub object. The 1394 stub object 571, logical device objects 533-1 and 533-2, physical device object 551, and driver objects 562 and 563 are added to the configuration of FIG. Has been.
[0330]
FIG. 33 shows the software configuration of the proxy-side PC 402 before generation of the 1394 proxy object, 601 is a logical device management function, 602 is a secondary storage management function, 611 and 612 are management functions for the respective hard disks under 602, Represents a 1394 interface management function, 613 and 614 represent respective 1394 interface management functions, 431 represents a printer, 432 represents a FAX, and 433 represents a massage device. 621 is a 1394 management object, 622 is a logical device management object, 631, 632, 633, 634 are printer, scanner, FAX, logical device class objects corresponding to unknown device classes, 651, 652, 653, 654, 655 are Physical device objects corresponding to unit 1 of the printer (604 in the figure), FAX unit 1 (605 in the figure), unit 2 (606 in the figure), unit 1 (607 in the figure) and unit 2 (608 in the figure) of the massage device, 631 -1, 631-2, 632-1, 633-1, 634-1, 634-2 are respectively logical devices under the logical device class. Reference numerals 661, 662, and 663 denote driver objects corresponding to the physical device objects 651, 652, and 653, respectively.
[0331]
FIG. 34 shows the software configuration of the proxy-side PC 402 after generation of the 1394 proxy object. The 1394 proxy object 681, the logical device class object 635, and the logical device objects 635-1 and 635-2 are added to the configuration of FIG. Objects 634-1 and 634-2 are deleted.
[0332]
The PC 401 generates the 1394 stub object 571 by specifying the IP address of the remote PC 402 based on the service information. The 1394 stub object specifies the class name assigned to the 1394 proxy object in the Java ORB port of the remote PC 402 and requests its generation.
[0333]
When a Java ORB of another host is used from one host, the receiving security manager determines whether or not to permit the connection. It is assumed that this is automatically performed by an ORB usage request by an object on the transmission side.
[0334]
Here, it is assumed that the ORB usage request from the PC 401 is received by the PC 402, and the PC 402 generates the 1394 proxy object 681 as requested, and the reference is returned to the 1394 stub object of the PC 402. The 1394 stub object 571 makes subsequent requests through the 1394 proxy object 681. Note that the PC 402 may generate a 1394 proxy object 571 in advance before the request, and assign an ORB that can be used only by a method that can be activated from the object to a port as a 1394 service. This is effective when a service limited to 1394 is desired.
[0335]
When the 1394 proxy object 681 receives the reference, the 1394 proxy object 681 acquires a reference to the physical device corresponding to the logical device of the unknown class, and notifies the 1394 stub object 571 of the reference.
[0336]
When the 1394 stub object 571 acquires the above reference, it registers the 1394 management object itself in the 1394 management object 522 and issues a request to reconfigure the 1394 device.
[0337]
In response to this request, the 1394 management object 522 starts reconfiguration by the 1394 proxy object 681, and requests a reference to the physical device object. The 1394 stub object passes the references 654 and 655 to the physical object acquired from the 571 and 1394 proxy objects 681 to the 1394 management object 521 in order. The attribute value is extracted from this, and the 1394 management object 521 creates the physical device objects 552 and 553 in the same procedure as in the initialization described in the second embodiment. However, the physical device object created here (hereinafter referred to as stub device object) holds a reference to the remote physical device object, and is processed as a transaction request to the 1394 interface in the local physical device object. The stub device object is processed as input / output with the 1394 stub object 571 (the details will be described later).
[0338]
Next, initialization of the logical device class object 533 by the logical device management object 522 and subsequent initialization of the logical device object are performed. The stub objects 552 and 553 correspond to the physical device objects 654 and 655 and match the massage device class. Since the massage device class is not used in the remote PC 402, these devices are recognized as unknown devices. However, since the massage device class is registered in the local PC 401, the logical device objects 533-1 and 533 are registered. -2.
[0339]
When an initialization request is made from the logical device object 533-1 to the stub object 552, a use request for the physical device object 654 corresponding to the remote 1394 proxy object 681 is issued.
[0340]
The remote 1394 proxy object 681 creates and registers a logical device class object 635 of the proxy class. The logical device object 634-1 corresponding to the physical device object 654 is deleted, and a proxy class device is created and registered as the proxy logical device object 635-1.
[0341]
When the proxy logical device object 635-1 is generated, a logical connection is generated by assigning a port number to the stub object 533-1. The port used here is for transmitting 1394 packets using a port different from Java ORB.
[0342]
The control program is read and operated on the stub object 552 side of the local PC 401. The physical device object of the remote PC 401 outputs a packet input from the port to the 1394 interface, and the packet input from the 1394 interface to the port. The control program 562 of the stub object 552 controls the state of the apparatus. However, events such as bus reset are transmitted.
[0343]
The same applies to a case where an initialization request is made from the logical device object 533-2 to the stub object 553.
[0344]
With the above procedure, an environment in which a remote physical device can be used from a local logical device is prepared.
[0345]
Next, the operation will be described. Here, a stub physical device object 552 will be described as an example.
[0346]
The physical device object 552 receives a processing request from the logical device driver 531-1 and generates a corresponding 1394 format packet. The 1394 format packet is encapsulated in an IP packet and output to the reserved logical connection.
[0347]
Here, the output from the physical device object 552 is not directly output to the IEEE 1394 interface 503 but is processed from the logical connection through the IP function 504.
[0348]
Here, the point of the IP function 504 is processed by the IEEE 1394 interface, but this may be Ethernet or ATM. That is, even a PC that does not have an IEEE 1394 interface can perform control as if the IEEE 1394 device is connected locally.
[0349]
Now, the packet encapsulated in the IP packet reaches the proxy logical device object 635-1, and a 1394 format packet is taken out and passed to the physical device object 654. The physical device object 654 outputs it to the 1394 interface as it is and acts on the register of the device 433.
[0350]
The input / output of the IEEE 1394 isochronous channel cannot be relayed by the above-described method. In IEEE 1394, an isochronous channel is set by operating a register in a manner defined by IEC 1883.
[0351]
The IEC 1883 setting request issued from the stub object 552 to the own device is transferred to the 1394 stub object 571, and the 1394 stub object 571 sets a connection on the Internet corresponding to the isochronous channel.
[0352]
In the IEEE 1394 isochronous channel, a band to be reserved can be designated. Since the information is included in the setting request, it is desirable to designate the bandwidth of the connection by means for securing the bandwidth on the Internet, such as RSVP.
[0353]
In this embodiment, the LAN in the home 451 and the LAN in the home 452 are connected by the ISDN communication line 413, but the LAN in the home 451 is the same as in the first embodiment. In this case, a global IP address may be used as the IP address of the terminal, or address conversion such as NAT (Network Address Translation) may be used. When the public network 2 is the Internet, a global IP address is used for at least a node (AV connection device terminal in FIG. 1) that interconnects the network, and a private IP address can be used for other nodes. Also good.
[0354]
The above functions can also be realized as software. Further, the present invention can also be implemented as a machine-readable medium in which a program for causing a computer to execute each procedure or means described above is recorded.
[0355]
The present invention is not limited to the above-described embodiment, and can be implemented with various modifications within the technical scope thereof.
[0356]
(Fourth embodiment)
In the first embodiment, as shown in FIG. 12, a service providing device (for example, a DVD player 8, a digital VTR 9, or a PC 10) accommodated in the second home network with respect to the first AV connection device 4 is provided. The case where the service location protocol is used to notify information (hereinafter simply referred to as service information) related to the service provided by the printer 11) such as the provided WWW server and digital album server function is shown.
[0357]
In the fourth embodiment, a case of performing this using a WWW (World Wide Web) server and a home page will be described.
[0358]
The system configuration example in the fourth embodiment is the same as that in FIG. Here, as in the first embodiment, various service providing devices (DVD player 8, digital VTR 9, PC 10) in the second home network are transferred from the first AV connection device 4 in the first home network. Consider remote control of the printer 11), such as the WWW server and digital album server functions provided.
[0359]
FIG. 35 shows an example of the internal configuration of the second AV connection apparatus 5 in the fourth embodiment. The 1394 I / F 1401, the data link switch 1402, the public network I / F 1403, the IP processing function 1404, and the FANP process The operation of each part of the functions 1405 and 1394AV command processing function 1408 is the same as that of the same function part of FIG. That is, the service location processing function 27 and the 1394 / IP command conversion function 29 in FIG. 2 are replaced with a homepage processing function 1407 and an HTTP / RTSP processing function 1409, respectively, in FIG.
[0360]
As in the first embodiment, the 1394 / IP service location processing function 1406 searches for a service provided by a service providing apparatus connected to the IEEE 1394 bus or receives its registration, A service providing apparatus exists, has a function of recognizing what kind of service is provided, and notifying service information to the outside when necessary. In addition, the service information for each service providing apparatus obtained in this way is notified to a homepage processing function 1407, which will be described later, and the creation of a homepage that displays the status of the second home network is prompted.
[0361]
The homepage processing function 1407 has a WWW server function. The service information of the second home network is received from the 1394 / IP service location processing function 1406 and collected as a home page. For example, an icon and a character string representing each service providing device are arranged on the home page. Then, a command for remotely controlling each service providing device is linked to an icon and a character string representing each service providing device on the corresponding home page. When the home page created in this way is accessed via the public network 2, for example, the requested home page is transmitted if necessary, or for remote control received via the public network 2. The command is transferred to the HTTP / RTSP processing function 1409. Details will be described later.
[0362]
Here, the command for remotely controlling the service providing apparatus is suitable for HTTP or RTSP (protocol for remotely operating real-time media in the WWW server). A command for remote control suitable for HTTP is called an HTTP command, and a command for remote control suitable for RTSP is called an RTSP command.
[0363]
The HTTP / RTSP processing function 1409 has an HTTP daemon or an RTSP daemon inside, and the destination of the command is a second address along with a function for processing the HTTP command or the RTSP command transferred from the homepage processing function 1407. If the AV connection apparatus 5 is assigned to a service published on behalf of the AV connection apparatus 5, it is converted into an IEEE 1394 command as necessary, and the 1394 bus is transmitted via the 1394 AV command processing function 1408. 3 also has a function (proxy processing) for controlling the above devices.
[0364]
Next, a procedure for acquiring service information of each service providing apparatus connected to the second home network by the second AV connection apparatus 5 in the second home network will be described. This is the same as in the first embodiment. That is, as shown in FIG. 3, the second AV connection device 5 reads the configuration memory of the connected device (DVD player 8, digital VTR 9, PC 10, printer 11), as shown in FIG. As described above, by using the service location protocol, the service information of the service providing apparatus connected to the second home network is acquired.
[0365]
Information included in the configuration memory may be as shown in FIG. 4, FIG. 5, and FIG. Also, service information may be registered in the format shown in FIG.
[0366]
At this point, the second AV connection apparatus 5 recognizes the DVD player 8, the digital VTR 9, the PC 10, and the printer 11 as 1394 nodes through reading the configuration memory. Further, each of the WWW service, digital album service, air conditioner service, and microwave oven service is recognized through the service location protocol. Here, the second AV connection device 5 recognizes that the air conditioner service and the microwave oven service are services provided by the PC 10.
[0367]
Now, the second AV connection apparatus 5 creates a homepage that introduces “what is in the house (what service providing apparatus, what service exists)” based on the collected service information.
[0368]
For example, as shown in FIG. 36, the homepage to be created enumerates icons, character strings, and the like representing them for each service providing apparatus that the user wants to recognize. For example, this homepage is a character string such as “Home electrical equipment” in the first homepage introduced by default by the WWW server of the home, and is constructed so that it can be reached by a hyperlink from an icon. May be. By the way, when going to the homepage of “Home electrical equipment”, it is desirable to go through some kind of authentication procedure so that it is not intruded by an unauthorized person.
[0369]
When an icon or a character string in the homepage as shown in FIG. 36 is clicked, a corresponding service providing apparatus or a homepage for each service appears. For example, when a DVD player icon in FIG. 36 is clicked, a “DVD player homepage” as shown in FIG. 39 linked to the icon may be displayed.
[0370]
In order to create a homepage having such a configuration, for example, as shown in FIG. 36, the homepage processing function 1407 follows a procedure, for example, as shown in the flowchart of FIG.
[0371]
First, service information registered in the 1394 / IP service location processing function 1406 is read out, for example, for each service providing apparatus, and a homepage (for example, “DVD player Homepage ") is created (steps S101 to S102).
[0372]
The flowchart shown in FIG. 38 shows the homepage creation processing procedure for each service providing apparatus in step S102.
[0373]
Referring to the RTSP command correspondence table 1410 (see FIG. 50) for each service providing device provided in the 1394 / IP service location processing function 1406, a predetermined command group of each service providing device (via the home page, to the user) A command group for controlling the service providing device to be disclosed) is acquired (step S111), and an icon or character string corresponding to each command is created (step S112). For example, when the service providing apparatus is a DVD player, an RTSP command “PLAY” for instructing “play” is acquired from the RTSP command correspondence table in FIG. 50, and an icon corresponding to the command (icon i 206 in FIG. 39). Create
[0374]
The RTSP command correspondence table 1410 describes RTSP commands for each service providing apparatus. For example, in the case of the DVD player 8, examples of the command group include RTSP commands of power on, power off, playback, rewind, previous song, fast forward, next song, stop, and pause. As shown in FIG. 50, in the case of the DVD player 8 and the digital VTR 9 that perform proxy processing in the second AV connection device 5, both 1394 commands corresponding to each RTSP command are stored.
[0375]
The RTSP command correspondence table 1410 may be the same as the table provided in the 1394 / IP command conversion function 1423 of FIG.
[0376]
Now, the RTSP command of the service providing apparatus is associated with the icon or character string created in step S112 (step S113). For example, the “play” icon i206 in FIG. 39 is associated with an RTSP command “PLAY”. For example, icons or character strings and corresponding RTSP commands may be registered in the table.
[0377]
In the case of the DVD player 8 and the digital VTR 9 that perform proxy processing in the second AV connection device 5, the addresses of the second AV connection device 5 and the IEEE 1394 nodes of the DVD player 8 and the digital VTR 9 are assigned. Include the port number in the RTSP command.
[0378]
The above is performed for all commands provided by the service providing apparatus, and the created icon or character string is appropriately arranged to create a home page of the service providing apparatus as shown in FIG. 39, for example (step S114 to step S114). S115).
[0379]
Next, returning to the description of FIG. 37, an icon or a character string of the service providing device having a hyperlink to the home page for each service providing device created according to the flowchart of FIG. 38 is created or acquired (step S103). ). That is, an icon or the like for each service providing apparatus may be taken out from the configuration memory of the service providing apparatus, or a URL that can uniquely specify the position of this icon is provided by the service location protocol, and the icon is retrieved. You may obtain it in the form.
[0380]
The icon obtained in step S103 is pasted on the homepage of “Home electrical equipment”. The above procedure is performed for all service providing apparatuses accommodated in the second home network, and a home page as shown in FIG. 36 can be created (step S104).
[0381]
When the icon i101 representing the DVD player is clicked in the icon or character string representing the service providing device on the homepage shown in FIG. 36, the homepage of the service providing device associated with this icon, ie, FIG. The DVD player home page as shown will appear.
[0382]
The home page of the service providing apparatus as shown in FIG. 39, that is, in this case, the home page of the DVD player is used as the operation panel of the DVD player, and the user can remotely control the DVD player 8. For example, when the “power ON” button is clicked, the DVD player 8 is turned on.
[0383]
Next, for example, various service providing devices (DVD player 8, digital VTR 9, PC 10) in the second home network from the PC 6 in the first home network via the first AV connection device 4 and the public network 2. The processing operation in the case of remotely controlling the printer 11) such as the WWW server and the digital album server function provided in FIG. 40 will be described with reference to the sequence diagram shown in FIG.
[0384]
Assume that a homepage as shown in FIG. 36 is presented by using a predetermined WWW browser on the PC 6 accommodated in the first home network. For example, when the user clicks on the icon of the DVD player i101, an HTTP message requesting the homepage of the DVD player associated with the icon is output from the PC 6.
[0385]
In response to this message, the first AV connection device 4 sends a DVD homepage transmission request to the second AV connection device 5 (step S4501). For example, a message “GET / appliances / dvd.html HTTP / 1.1” is transmitted from the first AV connection device 4 to the second AV connection device 5.
[0386]
In response to this, the second AV connection apparatus 5 sends, for example, the text of the home page of the DVD player as shown in FIG. 39 (see FIG. 41) to the first AV connection apparatus 4 (step S4502). .
[0387]
As shown in FIG. 41, for example, the hyperlink given to the “playback” icon i206 is an RTSP “PLAY” command for instructing playback, and a node to which the hyperlink is connected (in this embodiment, The IP address of the second AV connection apparatus 5, that is, “192.168.1.254”) and its port number (“2000” in this embodiment) are added. In this way, when the “play” icon i206 is clicked, the user can send the RTPLAY “PLAY” command to the desired port of the desired node without worrying about the destination address. become able to. Thus, remote control using RTSP can be performed through hyperlink association.
[0388]
When the user of the first AV connection apparatus receives the DVD homepage, the user can start remote operation of the DVD player. For example, assume that the “power ON” icon i201 on the homepage in FIG. 39 is clicked (step S4503). For example, an RTSP “SETUP” command is associated with the “power ON” icon i201 by a hyperlink. Therefore, the command data “SETUP rtsp: /192.168.1.254: 2000 RTSP / 1.0 1 Transport: rtp / udp; port = 5500” is transmitted from the first AV connection device 4 to the second connection device. 5 (step S4504). With this command data, the first AV control device 4 transmits data using each protocol of RTP / UDP, and requests that the port number on the receiving side be “5500”.
[0389]
The operation of the second AV connection apparatus 5 that has received this will be described below. FIG. 42 shows an internal configuration example of the HTTP / RTSP processing function 1409 of the second AV connection apparatus. The RTSETUP “SETUP” command data reaches the HTTP / RTSP main processing function 1421. Here, first, it is recognized that the port number “2000” in the “SETUP” command data is a port number assigned to the DVD player 8 which is a 1394 node, and control is passed to the RTSP proxy function 1422.
[0390]
The RTSP proxy function 1422 refers to the table in the 1394 / IP command conversion function 1423, finds the corresponding 1394 AV / C command (in this embodiment, an AV / C command meaning power-on), and the corresponding 1394 The AV / C command is issued to the node (DVD player 8 in this embodiment) through the 1394AV command processing function 1408 (step S4505).
[0390]
If this succeeds, the second AV connection device 5 sends the RTSP “OK” command data (for example, “RTSP / 1.0 200 1 OK Session” meaning control completion) to the first AV connection device 4. : 1234 ") (step S4506). At this time, a session number (“1234” in this embodiment) is added to the RTSP command as a unique number throughout the session. The browser of the first AV connection device 4 holds this session number, and when issuing an RTSP command to the same device thereafter, adds the session number “1234” to the command.
[0392]
Next, assume that the user clicks the “play” icon i206 on the home page of FIG. 39 (step S4507). For example, an RTSP “PLAY” command is associated with the “play” icon i 206 by a hyperlink. Therefore, for the second AV connection apparatus 5 (IP address “192.168.1.254”, port number “2000”, session number “1234”) associated with this hyperlink, “PLAY rtsp: //192.168.254:2000 RTSP / 1.0 2 Session: 1234 ”is transmitted from the first AV connection apparatus 4 (step S4508).
[0393]
The second AV connection device 5 that has received the request prompts the DVD player 8 to play back.
The synchronization channel is secured by the IEC 1883 (step S4509), and the “PLAY” command is executed for the DVD player 8 of the 1394AV / C protocol (step S4510) to prompt the transmission of the video data to the secured synchronization channel. When receiving the “ACK” signal indicating that the video data transmission preparation is completed from the DVD player 8, the second AV connection apparatus 5 receives the RTSP “OK” command data (“RTSP / 1.0 200 2”). OK Session: 1234 ") is transmitted to the first AV connection apparatus 4 (steps S4511 to S4512).
[0394]
Thereafter, the second AV connection device 5 IP-encapsulates the video data sent through this synchronization channel, and sends it to the first AV connection device 4 as an IP packet (steps S4513 to 4515).
[0395]
The first AV connection device 4 receives the video data as an IP packet and performs necessary processing such as video display. When the video transmission destination is the digital TV 7, as in the first embodiment, the necessary synchronization channel is secured on the IEEE 1394, which is the first home network, and the first AV connection device 4 is connected to the digital TV 7. In response to receiving data from the synchronization channel and displaying the data on the screen, the video data is extracted from the received IP packet, converted into a format for IEEE 1394, and then sent to the first home network. Send it out.
[0396]
Even when the user clicks the “play” icon i 206 before clicking the “power ON” icon i 201 on the home page of FIG. 39, the user determines that he / she intends to operate the DVD player 8. In response to a click on the “play” icon i206, both a “SETUP” command and a “PLAY” command may be transmitted.
[0397]
Also, when opening the DVD player home page, as RTSP command,
A “SETUP” command of the DVD player may be transmitted.
[0398]
As described above, the second AV connection apparatus 5 refers to the RTSP command correspondence table 1410 based on service information collected from all remotely controllable service providing apparatuses accommodated in the second home network. Then, a homepage is created that displays an icon linked to the RTSP command of each service providing device, and when a desired icon is clicked on the first AV connection device 4 side that has accessed this homepage, the icon is hyperlinked. The associated RTSP command (registered in the table of the 1394 / IP command conversion function 1423 of the HTTP / RTSP processing function 1409) is converted into a 1394AV / C command and desired control is performed on the desired service providing apparatus. By executing the second physical network (E.g. IEEE1394 bus 3) connected to the service providing apparatus (for example, a DVD player 8) (the use of the AV connection device of the present invention) even if the can only interpret protocols that rely on the data link layer enables the remote control.
[0399]
The case where the second AV connection apparatus 5 encapsulates the video data in an IP packet and transmits it has been described above. On the other hand, a method in which the second AV connection device 5 transmits video data to the first AV connection device 4 as non-IP data without performing IP encapsulation is also conceivable. This case will be described with reference to the sequence shown in FIG.
[0400]
The user of the first AV connection apparatus 4 in steps S4801 to S4802 receives the homepage of the DVD player and starts the remote operation of the DVD player.
[0401]
For example, assume that the “power ON” icon i201 on the home page in FIG. 39 is clicked (step S4803). For example, an RTSP “SETUP” command is associated with the “power ON” icon i201 by a hyperlink. Therefore, the “SETUP” command data of RTSP “SETUP rtsp: //192.168.1.254: 2000 RTSP / 1.0 1 Transport: iec1883 / nonip; port = FANP” is received from the first AV connection device 4. It is transmitted to the second connection device 5 (step S4804). With this command data, the first AV controller 4 requests that the data be encapsulated in IEC 1883 and transmitted in a form other than an IP packet (that is, non-IP packetized for the [SETUP] command of RTSP). Information “iec1883 / nonip” is included). Further, in order to know the link layer information and attribute information of the data to be transmitted, the second AV connection apparatus 5 is notified of the above information to the first AV connection apparatus 4 using FANP. Demands.
[0402]
The “SETUP” command data of RTSP is received by the HTTP / RTSP processing function 1409 of the second AV connection apparatus 5 and reaches the HTTP / RTSP main processing function 1421.
[0403]
The HTTP / RTSP main processing function 1421 recognizes that the port number “2000” is a number assigned to the DVD player 8 that is a 1394 node, and passes control to the RTSP proxy function 1422.
[0404]
The RTSP proxy function 1422 refers to the table in the 1394 / IP command conversion function 1423, finds the corresponding 1394 AV / C command (in this embodiment, an AV / C command meaning power-on), and the corresponding 1394 The AV / C command is issued to the node (DVD player 8 in this embodiment) through the 1394AV command processing function 1408 (step S4805).
[0405]
If this is successful, the second AV connection device 5 sends the RTSP “OK” command data (for example, “RTSP / 1.0 200 1 OK Session” meaning control completion) to the first AV connection device 4. : 1234 ") (step S4806). At that time, a session number (“1234” in this embodiment) is added to the RTSP command as a unique number throughout the session. The browser of the first AV connection apparatus 4 retains this session number, and when issuing an RTSP command to the same apparatus thereafter, adds the session number “1234” to the command. The session number held by the browser is also determined by an explicit session end by the user, for example, a hyperlink corresponding to the session end, a session end by the second AV connection device 5 on the opposite side, or a page reload. Updated.
[0406]
Next, assume that the user clicks the “play” icon i206 on the home page of FIG. 39 (step S4807). For example, the “play” icon i206 is associated with a “PLAY” command of RTSP by a hyperlink. Therefore, “PLAY rtsp: Command data “/192.168.1.254:2000 RTSP / 1.0 2 Session: 1234” is transmitted from the first AV connection apparatus 4 (step S4808).
[0407]
The second AV connection device 5 that has received the request prompts the DVD player 8 to play back.
The synchronization channel is secured by IEC1883 (#X), the “PLAY” command is executed for the 1394AV / C protocol DVD player, and the transmission of the video data to the secured synchronization channel is urged (steps S4809 to S4811). When receiving the “ACK” signal indicating that the video data transmission preparation is completed from the DVD player 8, the second AV connection apparatus 5 receives the RTSP “OK” command data (“RTSP / 1.0 200 2”). OK Session: 1234 ") is transmitted to the first AV connection apparatus 4 (steps S4811 to S4812).
[0408]
After that, the second AV connection device 5 does not encapsulate the video data sent through the synchronization channel (#X), but encapsulates the public network as it is, so that the first AV connection device 4 is sent. For example, if the public network is an ATM network, the IEC1883 packet transmitted to the second AV connection device 5 may be mapped and sent to the ATM network as it is, or the IEC1883 packet may be removed once and the video data itself may be transmitted. You may map and send to an ATM network. In any case, the FANP message “FANP message (ch: #y, Session: 1234)” is used to notify the first AV connection device 4 of the header information of the link layer transmitted by the second AV connection device 5. Is sent out (step S4813).
[0409]
The usage of the FANP message is basically the same as that of the first embodiment. However, in order to clarify that the FANP message corresponds to the session number notified in step S4812, the FANP message includes the FANP message in step S4812. The session number (“1234” in the case of the present embodiment) having the same value as the notified value may be included. By doing in this way, the receiving side node, that is, the first AV connection apparatus 4 can recognize that the FANP message corresponds to the “PLAY” command of the RTSP.
[0410]
Now, in the second AV connecting device 5, when the video data sent from the DVD player 8 through the synchronization channel (#X) is output to the public network 2 without being IP-encapsulated, the received first AV is received. The connection device 4 performs necessary processing such as video display (steps S4814 to S4816). At this time, as shown in step S4815, for example, if a data transmission method depending on the network to be transmitted is defined, such as MPEG over 1394 to MPEG over ATM, necessary format conversion may be performed. The case where the video transmission destination is the digital TV 7 is the same as that described above.
[0411]
In the fourth embodiment described above, a case has been described in which an RTSP command for remotely controlling a service providing device is associated with an icon or character string in a home page by a hyperlink. When a program (for example, JAVA (registered trademark) program) for creating corresponding RTSP command data is pasted to each icon or character string in the home page corresponding to each RTSP command, and the icon or character string is clicked Activates the program on the first AV connection device 4 (for example, the JAVA virtual machine on the first AV connection device 4), and sends out the RTSP command as described with reference to FIGS. It may be like this.
[0412]
The processing operation in this case is the same as in FIG. 40 and FIG. 43. The difference is, for example, the home page of the service providing apparatus transmitted from the second AV connection apparatus 5 in step S4504 in FIG. 40 and step S4802 in FIG. Is a text description.
[0413]
An example of the text of the homepage of the service providing device is shown in FIG. In FIG. 44, for example, a program for generating an RTSP command is added to the “play” icon i206 in FIG.
[0414]
Again, in this case, if the “play” icon i206 is clicked, the program for generating the RTSP “PLAY” command is started, so that the command can be sent to the desired port of the desired node. Thus, the service providing apparatus using RTSP can be remotely controlled.
[0415]
Next, the “detailed setting” icon (button) i210 on the home page of FIG. 39 will be described. This button is used when it is desired to perform a finer operation than the remote control predetermined by the RTSP command on the target service providing apparatus (for example, the DVD player 8). That is, the control commands of the DVD player 8 defined by the IEEE 1394 AV / C protocol may be more diverse than the commands defined by RTSP. In this way, as a countermeasure when the RTSP command cannot deal with all 1394AV / C commands, a separate homepage is provided, and when the “detailed setting” button in FIG. For example, a command “GET / appliances / dvd_detail.html HTTP / 1.1” is transmitted, and a home page for detailed setting of the DVD player as shown in FIG. 47 is sent.
[0416]
FIG. 45 shows a procedure for creating a homepage for detailed setting of the service providing apparatus. That is, a command (native command) that does not correspond to the command table 1410 for each service providing device described above and depends on the link layer system of the service providing device (in this embodiment, the IEEE 1394 AV / C protocol). 1394 / IP service location processing function 1406 is separately provided with a native command correspondence table in which) is registered. A native command is obtained by referring to the native command table for each service providing device (step S121), and an icon or character string corresponding to the command is created for each command (step S122). A CGI (Common Gateway Interface) script is associated with the generated icon or character string (step S123). The above is performed for all the native commands of the service providing apparatus, and the created icon or character string is appropriately arranged to create a home page for detailed setting of the service providing apparatus as shown in FIG. Step S124 to Step S125).
[0417]
Note that the native command correspondence table may be the same as the table in the CGI processing function 1424 provided in the HTTP / RTSP processing function shown in FIG.
[0418]
A part of buttons (icons or character strings) arranged on the home page for the detailed setting of the DVD player in FIG. 47 is processed by a CGI (Common Gateway Interface) processing function in the second AV connection device 5. Associated with a script. Each CGI script is a script that sends the corresponding IEEE 1394 AV / C command to the IEEE 1394 bus of the second home network, so click on the above icon or character string. For example, the granularity defined by the AV / C protocol can be controlled.
[0419]
In this way, a home page for detailed setting is created, and when an icon or a character string in the home page is clicked, the associated CGI script in the second AV connection apparatus 5 is activated. The second AV connection apparatus 5 receives the request message by HTTP and activates the CGI script and issues a corresponding AV / C command.
[0420]
FIG. 46 shows an example of a text description of a home page transmitted from the second AV connection device 5 for detailed setting of, for example, a DVD player. A CGI script is added to the character string “slow playback” in FIG. The case where it corresponds is shown.
[0421]
When “normal playback” is selected on the homepage for detailed setting of the DVD player in FIG. 47, an RTSP command is issued as in step S4508 in FIG. 40 described above, but RTSP such as “language selection” and “slow playback” is issued. For commands that are not supported by, in the CGI processing function 1424 provided in the HTTP / RSTP processing function of the second AV connection device 5, the corresponding CGI script is started and the corresponding AV / C command is processed by the 1394AV command processing. Issue through function 1408.
[0422]
For example, when “slow playback” is selected on the home page shown in FIG. 47, a message “GET http://192.168.1.254/dvd/slowplay.cgi HTTP / 1.1 ”is sent to the second AV connection apparatus 5. In the second AV connection apparatus 5 that has received this, since the “slow playback” command is not supported by RTSP, the corresponding CGI script is activated in the CGI processing function 1424 provided in the HTTP / RSTP processing function. The corresponding AV / C command is issued through the 1394 AV command processing function 1408.
[0423]
An icon or character string corresponding to the RTSP command and an icon or character string corresponding to the CGI script may be mixed in the home page for the detailed setting of the service providing apparatus, and the home page is a CGI script. Of course, it may be composed only of icons or character strings corresponding to. For example, the commands in the RTSP command correspondence table such as the “Play” button, “Power ON” button, and “Power OFF” button in FIG. 47 are hyperlinks and may be realized by a JAVA program or the like. Other detailed commands such as “Language” and “Subtitle” may be realized by CGI.
[0424]
47 may be registered in the native command correspondence table, and may be associated with the CGI script.
[0425]
As described above, in the fourth embodiment, the remote control of the AV device according to the AV / C command on the IEEE 1394 bus has been described. However, the same control applies to other devices having a protocol group depending on any link layer. Can be done. As an example, a case where LON which is a kind of home automation network is applied will be described.
[0426]
48 and 49 show an example of the internal configuration of an AV connection apparatus for connecting an LON and an example of the configuration of an HTTP / RTSP processing function, respectively.
[0427]
Instead of the IEEE 1394 AV / C command, a command group defined by LON, for example, a command group such as LONTalk can be sent.
This is the difference point, and the other components are the same as described above.
[0428]
The functions described in the fourth embodiment can be realized as software. Further, the present invention can also be implemented as a machine-readable medium in which a program for causing a computer to execute each procedure or means described above is recorded.
[0429]
The present invention is not limited to the above-described embodiment, and can be implemented with various modifications within the technical scope thereof.
[0430]
(Fifth embodiment)
FIG. 51 shows a configuration example of a communication system according to the fifth embodiment of the present invention. A first network (for example, a home network configured by an IEEE1394 bus) 2010 and a second network (for example, a public network) are shown. Internet on 2101) are interconnected via an AV connection device 2201. Hereinafter, the first network 2010 is referred to as a home network 2010, and the second network 2101 is referred to as the Internet 2101. Each terminal device connected to the home network 2010 is assumed to be an information home appliance having an Internet processing function.
[0431]
The AV connection device 2201 has a role of a gateway that connects the home network 2010 and the Internet 2101 and has a home network and Internet termination function, a router function, a protocol conversion function, a proxy server function, and the like, as will be described later.
[0432]
A personal computer (PC) 2001, a printer 2002, and a DVD player 2003 are connected to the IEEE 1394 bus constituting the home network 2010. An IP terminal 2102 capable of performing IP communication is connected to the Internet 2101. Of course, terminal devices other than those described above may be connected to the home network 2010 and the Internet 2101.
[0433]
In FIG. 51, all the terminal devices are Internet terminals, that is, terminal devices having IP addresses and capable of performing IP communication. However, the IEEE 1394 bus constituting the home network 2010 is operated with an address in a private IP address space, and the Internet 2102 is operated with a global IP address (for example, IPv4) space. It is assumed that the IP address of the IP terminal 2101 is “G.2”. On the other hand, each device on the home network 2010 has a private subnet address “P.0”, the PC 2001 is “P.1”, the printer 2002 is “P.2”, and the DVD player 2003 is “P.3”. ”.
[0434]
Since the AV connection apparatus 2201 is connected to these two networks having different address systems, the AV connection apparatus 2201 has addresses of two different address systems. That is, assume that the IP address on the home network 2010 side is “P.254” and the IP address on the Internet 2101 side is “G.1”.
[0435]
FIG. 52 shows a configuration example of the AV connection apparatus 2201. The AV connection device 2201 includes a 1394 interface (I / F) 2202 that controls an interface for connecting to an IEEE 1394 bus constituting the home network 2010, an Internet interface (I / F) 2205 that controls an interface for connecting to the Internet 2101, Detects and collects services in the IP processing unit 2202 and home network 2010 that perform routing processing of Internet packets, address conversion between a global IP address and a private IP address, etc. The service location proxy processing unit 2203 to be presented (advertised) through the processing unit 2204, the devices and services on the home network 2010, and Generating a home page that can perform remote control from the 1 side, and a homepage processing unit 2204 to deliver in accordance with this request.
[0436]
The IP processing unit 2202 includes a NAT processing unit 2206 that performs address conversion processing. NAT is an abbreviation for network address translation (translation), and generally performs a translation process between a global IP address and a private IP address, or a translation process between an IPv4 address and an IPv6 address. Refer to RFC1631 for details.
[0437]
The NAT processing unit 2206 also has an address conversion function called a port unit called IP masquerading. That is, even if there are a number of terminal devices on the home network 2010 side, it is sufficient to have one global IP address required on the Internet 2101 side (“G.1” in this embodiment). Specifically, each terminal device connected to the home network 2101 and each service (for example, a service identified by a port number defined by RFC 1340) logical multiplex identifier (port defined by RFC 1340) The logical multiple identifier of the service identified by the number is the port number), and the same global IP address “G.1” and other logical multiple identifiers (for example, defined in RFC 1340) that are different for each service. 55), and the correspondence between these is shown in a table (address) as shown in FIG. Is stored as the port number conversion table 2207). Then, the destination address of the packet transferred from one of the Internet 2101 and the home network 2010 to the other is converted into the address and port number of each other's address space using this table 2207, and transferred. A terminal device on the Internet 2101 and a device on the home network 2010 can communicate with each other.
[0438]
The IP processing unit 2202 further includes a packet filter 2208. The packet filter 2208 has a function as a so-called firewall. That is, a packet that should not pass through the AV connection device 2201 (or a packet that may pass through) is determined, and a packet that should not pass is not passed to any part other than the IP processing unit 2202 ( For example, the access to the home network 2010 is restricted from the outside. This prevents malicious users from accessing services on the home network 2010 in advance. For this determination processing, the packet filter 2208 has, for example, a table (packet filter table 2209) in which source addresses of packets that can be sent to the home network 2010 through the AV connection device 2201 are registered. Allow the source address of the packet to be passed when it is registered in this table. In the packet filter table 2209, a source address that does not pass through the AV connection device 2201 may be registered. In this case, if the source address of a packet input from the Internet 2101 is not registered in this table, the packet is permitted to pass.
[0439]
Next, referring to the sequence shown in FIG. 53, the processing operation of the AV connection apparatus 2201 will be described by taking as an example the case where an IP terminal 2102 on the Internet 2101 accesses the home network 2010 and performs remote operation of the DVD player 2003, for example. Will be described.
[0440]
First, the service location proxy processing unit 2203 of the AV connection apparatus 2201 collects service location information on the home network 2010 (steps S5001 to S5003). The service location information is information indicating what service or terminal device exists on the home network 2010. There are several possible methods for collecting service location information. For example, a method using a service location protocol, a method using LDAP (Lightweight Directory Access Protocol), a method using DHCP (Dynamic Host Configuration Protocol), a method using MIB (Management Information Base) of SNMP (Simple Network Management Protocol) Various methods are conceivable, and any of these methods may be used.
[0441]
Here, for example, it is assumed that service location information on the home network 2010 is collected using a service location protocol as shown in FIG. Refer to RFC 2165 for details of the service location protocol. As shown in FIG. 53, the actual service location information is collected by using the AV connection device 2201 as a directory agent of the home network 2010, and from each service agent (ie, the PC 2001, the printer 2002, and the DVD player 2003), the AV connection device 2201. Each service may be registered.
[0442]
In addition to this method, for services that can be supported by the AV connection apparatus 2201, the AV connection apparatus 2201 sends a service request to an IP multicast address assigned in advance to each service, and the request is made. On the other hand, the terminal device itself providing the service may answer. Further, the AV connection apparatus 2210 may inquire the details of the service on the home network 2010 to a directory agent that exists separately on the home network 2010.
[0443]
Information about services provided on the home network 2010 collected here (more specifically, the address of the terminal device on the home network 2010 and the port number of the service provided by the device (specified in RFC 1340)) Based on this, the processing operation shown in the flowchart of FIG. 54 is performed.
[0444]
The AV connection device 2201 creates a home page that explains what services and terminal devices exist in the home of the owner (for example, Mr. A) of the home network 2010 in the home page processing unit 2204 (step S5101 to step S5101). S5102).
[0445]
This home page is, for example, as shown in FIG. 59, and an arbitrary terminal device on the Internet 2101 accesses the URL (Uniform Resource Locator) of Mr. A's house, for example, “http: //G.1”. This is the home page that is displayed. From this home page, for example, the user interface is such that each service and terminal device existing in Mr. A's house can be operated by a CGI (Common Gate Way) program. Actually, a link is established from this home page to each terminal device on the home network 2010. When the object is clicked, next, the home page of each terminal device is connected and provided by each terminal device. The homepage is displayed so that the operation switch of the terminal device can be remotely operated.
[0446]
Next, the service location proxy processing unit 2203 has a unique logical multiplex identifier for each of the previously collected services or terminal devices, that is, for example, a port number (not a well-known port number defined in RFC1340). And dynamically settable port numbers) are assigned (step S5104). Hereinafter, the port number originally determined on the home network 2010 is referred to as a first port number, and the port number uniquely assigned by the service location proxy processing unit 2203 for the service on the home network 2010 is set on the home network 2010. However, in order to distinguish it from the originally determined port number, it is called a second port number.
[0447]
For example, the second port number “2000” is assigned to the DVD player 2003, the second port number “2002” is assigned to the printer 2002, and the second port number “2004” is assigned to the PC 2001. This second port number is paired with the global IP address of the AV connection device 2201 and operated. That is, for example, when the second port number “2000” is accessed from the Internet 2101 side, the AV connection device 2201 interprets this as an access to the DVD player 2003. The logical multiplex identifier is not limited to the port number defined in RFC 1340, and any identifier that can identify each service provided on the home network 2010 on the Internet may be used.
[0448]
The global unique IP address of the AV connection apparatus 2201, the second port number assigned to each service provided on the home network 2010, and the first port number as a logical multiplex identifier for the service on the home network 2010 And the private IP address of the device providing the service are registered in the address / port number correspondence table 2207 (step S5105).
[0449]
A specific example of the address / port number correspondence table 2207 is shown in FIG. The address / port number correspondence table 2207 includes, for each service provided on the home network 2010, an IP address (global unique IP address) on the Internet 2101 side, a second port number, and an IP address on the home network 2010 side ( (Private IP address) and first port number pair are registered. In this table 2207, correspondence relationships for all services provided on the home network 2010 are sequentially registered.
[0450]
For example, in the case of the DVD player 2003, the service of the DVD player in the home network 2010 (IP address (private IP address) = P.3, http service provided by the DVD player with the first port number = 80). Is interpreted by the service location protocol), the second port number “2000” is assigned to the Internet 2101 side with the global IP address “G.1” of the AV connection device 2201.
[0451]
Such an address / port number conversion table 2207 is created for each of the services of Mr. A's house. For each of these, a description is made on the homepage of Mr. A's house.
[0452]
For all the services of Mr. A's house, the creation of the address / port number conversion table 2207 and the creation of the homepage of Mr. A's house are completed when registration in the table 2207 is completed (step S5106).
[0453]
The created address / port number conversion table 2207 is used when IP packets and port numbers are converted when an IP packet passes through the AV connection device 2201. With reference to FIG. 58, the IP address / port number conversion process using the address / port number conversion table 2207 will be specifically described. For example, for an IP packet having a destination IP address “G.1” and a destination port number “2000” from the Internet 2101 side, the destination IP address is “P.3” and the destination port is referred to by referring to the table 2207. It is converted into an IP packet whose number is “80” and sent to the home network 2010 side. Conversely, an IP packet having a transmission source IP address “P.3” and a transmission source port number “80” from the home network 110 side has a transmission source IP address “G.1”, a transmission source port number. Is converted to an IP packet such that “2000” is transmitted to the Internet 2101.
[0454]
Now, the AV connection device 2201 that has completed the creation of such an address / port number conversion table 2207 and the homepage of Mr. A's home publishes this homepage on the Internet 2101 as the homepage of Mr. A's home (see FIG. 59). .
[0455]
Next, a case where the user of the IP terminal 2102 on the Internet 2101 performs a remote operation of the DVD player 2003 at Mr. A's house will be described.
[0456]
FIG. 56 shows the processing operation of the AV connection apparatus 2210 when receiving an IP packet from the Internet 2101 side, and FIG. 57 shows the processing operation of the AV connection apparatus 2201 when receiving an IP packet from the home network 2010 side. Hereinafter, description will be made with reference to the flowcharts shown in FIGS. 53 and 56 to 57.
[0457]
First, the IP terminal 2102 performs an authentication procedure to request the AV connection device 2201 to send a home page of Mr. A's home (step S5004 in FIG. 53). For example, the user of the IP terminal 2102 is requested to input a password, and the IP address of the IP terminal 2102 is registered in the packet filter table 2209 only for the user authenticated by this.
[0458]
The packet filter table 2209 is a table in which IP addresses are simply listed, and only the IP addresses registered in this table can access the home network 2010 and services provided on the home network 2010. Become.
[0459]
Next, the IP terminal 2102 requests the AV connection device 104 to send a home page of Mr. A's home (step S5005). The packet filter 2208 checks whether or not the source address of the packet of the homepage sending request is registered in the packet filter table 2209 (step S5006), and only when the source address is registered in the packet filter table 2209. The packet is passed to the homepage processing unit 2204, and in response to the request, the homepage processing unit 2204 sends the homepage of Mr. A's home to the IP terminal 2102 (step S5007).
[0460]
As shown in FIG. 59, the homepage sent here has links to homepages of the DVD player 2003, the printer 2002, and the PC 2001 on the home network 2010. For example, the character or picture “DVD player” on the home page in FIG. 59 is linked to the DVD player 2003. The actual link destination address is the second port number “2000” of the global IP address “G.1” of the AV connection device 2201, and the AV connection device 2201 is connected to the device on the home network 2010 in terms of form. It is a proxy server for access. Of course, this is not recognized by the IP terminal 2102. However, unlike the proxy server process, the process actually performed by the AV connection apparatus 2201 is an IP masquerade process, that is, an IP address and port number conversion process, as will be described later.
[0461]
Now, the user of the IP terminal 2102 sends a DVD player home page sending request to remotely control the DVD player 2003. For example, by clicking a character or picture “DVD player” on the homepage shown in FIG. 59, an IP packet for sending the homepage of the DVD player is sent out. The destination of this packet is the destination IP address “G.1” and the destination port number “2000” (step S5008).
[0462]
Processing operations when the AV connection apparatus 2201 receives this IP packet, that is, packet filtering and address / port number conversion processing from step S5009 to step S5010 in FIG. 53 will be described with reference to the flowchart shown in FIG.
[0463]
When the AV connection apparatus 2201 confirms that it is addressed to it by referring to the destination address of the received IP packet (step S5201), it first performs packet filtering processing with reference to the packet filter table 2209 (step S5202). If the source address of the packet is registered in the packet filter table 2209, it is next checked whether the pair of the destination IP address and the destination port number of the packet is registered in the address / port number conversion table 2207. (Step S5203). If registered, the destination IP address and destination port number are replaced with the corresponding home network side IP address (private IP address) and first port number in accordance with the address / port number conversion table 2207 (step S5204). The IP packet is transmitted to the home network 2010 (step S5205). In this manner, the address conversion from the global IP address and the second port number to the private address and the first port number is performed.
[0464]
If the packet is not registered in the address / port number conversion table 2207 and is not addressed to the AV connection apparatus 2201 itself, the packet is discarded (step S5206).
[0465]
Returning to the description of FIG. 53, the IP packet sent to the home network 2010 after the address / port number conversion process (IP masquerade process) is performed reaches the DVD player 2003 (step S5011). The home page of the DVD player 2003 is sent with the global IP address of the IP terminal 2102 as the destination address. At this time, the source IP address of the IP packet is the private IP address “P.3”, and the source port number is the first port number “80” (step S5012).
[0466]
Refer to the flowchart shown in FIG. 57 for the processing operation of the AV connection device 2201 when the IP packet including the home page of the DVD player 2003 is received from the home network 2010 side, that is, the address / port number conversion processing operation in step S5013 of FIG. To explain.
[0467]
The AV connection device 2201 checks whether or not the combination of the source address and port number of the received IP packet is registered in the address / port number conversion table 2207 (steps S5301 to S5302). If registered, the destination IP address and destination port number are replaced with the corresponding IP address on the Internet side (global unique IP address) and the second port number according to the address / port number conversion table 2207 (step In step S5303, the IP packet is sent to the Internet 2101 (step S5304). If it is not registered in the address / port number conversion table 2207 in step S5303, normal IP masquerade processing is performed (step S5305). That is, a set of a source address and a port number is newly registered in the address / port number conversion table to prepare for subsequent IP masquerade communication.
[0468]
Returning to the description of FIG. 53, the IP packet sent to the Internet 2101 after the address / port number conversion process (IP masquerade process) is performed reaches the IP terminal 2102 (step S5014), and the IP terminal 2102 receives the DVD. The home page of the player 2003 is displayed. Using this screen, the user of the IP terminal 2102 performs a remote operation of the DVD player 2003.
[0469]
This remote operation is performed, for example, by exchanging a request by the CGI program between the IP terminal 2105 and the DVD player 2003 and a processing result thereof with an IP packet to start the reproduction operation of the DVD player 2003. Of course, IP masquerade processing such as steps S5010 and S5013 in FIG. 53 is performed.
[0470]
During this time, the IP terminal 2102 does not recognize that it is communicating with a node in the private address space (specifically, the DVD player 2003 having a private IP address). In this way, service introduction and address translation processing (IP masquerade processing) are handled as a unit, thereby enabling access to a service provided in the private IP address space from the global unique IP address space.
[0471]
In this embodiment, address / port number conversion by the AV connection apparatus 2201 between the Internet 2101 having a global IP address space as the second network and the home network 2010 having the private IP address space as the first network. Although the processing has been described, of course, the first and second networks can be any of the following combinations.
[0472]
(1) Combination of global IP address and private IP address
(2) Combination of IPv4 address and IPv6 address
(3) Combination of IPv6 address and link local IPv6 address
For example, the present invention can also be applied to the Internet operated with an IPv4 address as the second network and the Internet operated with the IPv6 address as the first network.
[0473]
Further, the present invention can be applied as it is to the Internet operated with the IPv6 address as the second network and the Internet operated with the link local IPv6 address as the first network.
[0474]
In the above embodiment, a method of using a home page on the AV connection device 2201 as a method of advertising a service on the home network 2010 to the Internet 2102 has been described. In addition, a method using LDAP (Lightweight Directory Access Protocol), a method using a configuration option of DHCP (Dynamic Host Configuration Protocol), and a remote access of MIB (Management Info Base) of SNMP (Simple Network Management Protocol) are used. Various methods such as a method are conceivable. Of course, any of these methods may be used as the service advertisement method.
[0475]
【The invention's effect】
According to the present invention, it is possible to realize a unified service providing environment without depending on a specific network.
[0476]
Further, according to the present invention, it is possible to register a device control program at a point in time when necessity arises without depending on the OS or hardware.
[Brief description of the drawings]
FIG. 1 is a diagram showing a configuration example of a network system according to a first embodiment of the present invention.
FIG. 2 is a diagram showing an example of the internal configuration of the AV connection apparatus according to the embodiment;
FIG. 3 shows an example of a terminal / service collection sequence.
FIG. 4 is a diagram showing an example of contents described in a configuration ROM
FIG. 5 is a diagram showing another example of contents described in the configuration ROM
FIG. 6 is a diagram showing still another example of contents described in the configuration ROM.
FIG. 7 is a diagram showing an example of a screen when displaying by service
FIG. 8 is a diagram showing an example of a screen when displaying by terminal
FIG. 9 is a diagram showing an example of a procedure for registering service information in a directory agent.
FIG. 10 is a diagram showing an example of information registered in a directory agent
FIG. 11 is a diagram showing an example of a screen when displaying by service
FIG. 12 is a diagram showing an example of a procedure for obtaining service information from a directory agent.
FIG. 13 is a diagram showing an example of information obtained from a directory agent
FIG. 14 is a diagram showing an example of a screen when displaying by service
FIG. 15 is a diagram showing an example of a screen for operating a DVD player
FIG. 16 is a diagram showing an example of a sequence for a command group and a protocol group that flow on the network when a service on the first home LAN is used from the second home LAN.
FIG. 17 is a diagram for explaining command conversion;
FIG. 18 is a diagram showing another example of a sequence of command groups and protocol groups that flow on the network when a service on the first home LAN is used from the second home LAN.
FIG. 19 is a diagram showing another example of a sequence for a command group and a protocol group that flow on the network when controlling a device connected to the first home LAN from the second home LAN.
FIG. 20 is a diagram for explaining command conversion;
FIG. 21 is a diagram showing a configuration example of a PC according to the second embodiment of the present invention.
FIG. 22 is a view showing an example of the software configuration of the device driver according to the embodiment.
FIG. 23 is a flowchart showing a logical device management object initialization procedure;
FIG. 24 is a flowchart showing a logical device class object initialization procedure.
FIG. 25 is a flowchart showing a logical device object initialization procedure.
FIG. 26 is a flowchart showing a physical device object initialization procedure.
FIG. 27 is a diagram for explaining a software structure when an unknown type is used;
FIG. 28 is a flowchart showing a new device class addition request procedure by an application;
FIG. 29 is a flowchart showing a procedure for adding a new device class using a logical device management object.
FIG. 30 is a diagram showing a configuration example of a network system in which home LANs are connected according to the third embodiment of the present invention.
FIG. 31 is a diagram showing a software structure of a service via a network before connection on the client side
FIG. 32 is a diagram showing a software structure of a service via a network after connection on the client side
FIG. 33 is a diagram showing a software structure of a service via a network before connection on the proxy side
FIG. 34 is a diagram showing a software structure of a service via a network after connection on the proxy side
FIG. 35 is a diagram showing a configuration example of an AV connection apparatus according to the fourth embodiment of the present invention.
FIG. 36 is a diagram showing a specific example of a home page presenting all remotely controllable service providing apparatuses accommodated in the second home network.
FIG. 37 is a flowchart for explaining a procedure for creating a homepage as shown in FIG. 36;
FIG. 38 is a flowchart for explaining a procedure for creating a home page of the service providing apparatus.
FIG. 39 is a diagram showing a specific example of a home page of a service providing apparatus (DVD player).
FIG. 40 is a sequence diagram for explaining a processing operation in the case of remotely controlling a service providing apparatus accommodated in a second home network (a homepage icon and an RTSP command are associated with each other, and transmission data is assigned to IP When encapsulating).
FIG. 41 is a diagram showing a specific example of text of a home page to be transmitted.
FIG. 42 is a diagram illustrating a configuration example of an HTTP / RTSP processing function of an AV connection apparatus;
FIG. 43 is a sequence diagram for explaining a processing operation in the case of remotely controlling a service providing apparatus accommodated in a second home network (a homepage icon and an RTSP command are associated with each other, and transmission data is transferred to IP If not encapsulated).
44 is a diagram showing another example of text on a home page of a service providing apparatus (DVD player) (when a program for generating an RTSP command is added to the “play” icon in FIG. 39);
FIG. 45 is a flowchart showing a procedure for creating a homepage for detailed setting of a service providing apparatus.
FIG. 46 is a diagram showing an example of a text description of a home page for detailed setting of the service providing device (DVD player) (when a CGI script is associated with the character string “slow playback” in FIG. 47);
FIG. 47 is a diagram showing a specific example of a home page for detailed setting of a service providing apparatus (DVD player).
FIG. 48 is a diagram showing an example of the internal configuration of an AV connection apparatus that connects LONs;
49 is a diagram showing a configuration example of the HTTP / RTSP processing function of FIG. 48;
FIG. 50 shows a specific example of an RTSP command correspondence table.
FIG. 51 is a diagram showing a configuration example of a communication system according to a fifth embodiment of the present invention.
52 is a diagram showing a configuration example of the AV connection apparatus in FIG. 51. FIG.
FIG. 53 is a sequence diagram of the entire communication system shown in FIG. 51 when a home network is accessed from an IP terminal on the Internet and a DVD player is remotely operated.
FIG. 54 describes the processing operation of the AV connection apparatus based on information related to the service provided on the home network (the address of the terminal apparatus on the home network and the port number of the service provided by the apparatus). Flowchart for
FIG. 55 is a diagram showing a specific example of an address / port number correspondence table;
FIG. 56 is a flowchart for explaining the processing operation of the AV connection apparatus when an IP packet is received from the Internet side.
FIG. 57 is a flowchart for explaining the processing operation of the AV connection apparatus when an IP packet is received from the home network side.
FIG. 58 is a diagram for specifically explaining IP address / port number conversion processing using an address / port number conversion table;
FIG. 59 shows an example of a home page created by the AV connection device.
[Explanation of symbols]
1, 3 ... IEEE1394 bus
2 ... Public network
4, 5 ... AV connection device
6, 10 ... PC
7 ... Digital TV
8 ... DVD player
9 ... Digital VTR
11 ... Printer
12 ... Home automation network
13 ... Air conditioner
14 ... Microwave oven
21 ... 1394 interface
22 ... Data link switch
23 ... Public network interface
24 ... IP processing function
25 ... FANP processing function
26 ... 1394 / IP service location processing function
27… Service location proxy function
28 ... 1394AV command processing function
29 ... 1394 / IP command conversion function
61, 62 ... Command correspondence table
71: Service proxy reception function
72 ... CCCP / LON command conversion function
73 ... LON command issue function
81, 401, 402 ... PC
82. Processor
83 ... Main memory
84 ... System bus
85 ... Secondary storage device
86, 87 ... IEEE1394 interface
88 ... Hard disk
90, 431 ... Printer
91, 432 ... FAX
92, 433 ... Massage device
93, 434 ... Toaster
101, 501, 601, ... logical device management function
102, 502, 602 ... Secondary memory management function
103, 503, 603 ... 1394 interface management function
104, 604... Unit 1 of the printer
105, 605 ... FAX unit1
106,606 ... FAX unit2
107,607 ... unit 1 of the massage device
108,608 ... unit 2 of the massage device
109,508 ... unit 1 of toaster
111, 112, 511, 512, 611, 612... Hard disk management function 113, 114, 513, 514, 613, 614... IEEE1394 interface device driver
121, 521, 621... 1394 managed object
122, 522, 622 ... Logical device management objects
131-135, 531-534, 631-635 ... Logical device class object
131-1, 131-2, 132-1, 133-1, 134-1 to 134-3, 135-1, 533-1, 533-2, 534-1, 631-1, 631-2, 632 1, 633-1, 634-1, 634-2, 635-1, 635-2 ... Logical device object
151-156, 551-153, 651-155 ... physical device object
161-166, 561-563, 661-665 ... Driver object
411, 412 ... Network connection device
413 ... ISDN communication line
421, 422 ... 1394 bus
504 ... IP function
571 ... 1394 stub object
681 ... 1394 proxy object
1401 ... 1394 I / F
1402 ... Data link switch
1403 ... Public network I / F
1404 ... IP processing function
1405: FANP processing function
1406 ... 1394 / IP service location processing function
1407: Homepage processing function
1408 ... 1394AV command processing function
1409 ... HTTP / RTSP processing function
1410 ... RTSP correspondence table
2001 ... Personal computer
2002 ... Printer
2003 ... DVD player
2010 ... First network (home network)
2101 ... Second network (Internet)
2102 ... IP terminal device
2201 ... AV connection device

Claims (27)

複数の端末装置とサーバ装置とを接続してなるシステムにおける前記複数の端末装置のうちの1つであって、
当該端末装置には、所定のネットワークを介して複数の機器が接続し、
当該端末装置は、
少なくとも当該端末装置から提供される第1のサービスに関する情報と、前記複数の機器のそれぞれから提供される第2のサービスに関する情報を記憶する記憶手段と、
少なくとも、前記サーバ装置に、前記第1のサービスと前記第2のサービスを当該端末装置から提供されるサービスとして認識させるために、前記記憶手段に記憶された情報を前記サーバ装置に登録するために送信する手段と、
を具備し、
前記記憶手段に記憶される情報は、前記第1のサービスおよび前記第2のサービスが変更される度に更新されることを特徴とする端末装置。
One of the plurality of terminal devices in a system formed by connecting a plurality of terminal devices and a server device,
A plurality of devices are connected to the terminal device via a predetermined network,
The terminal device
Storage means for storing at least information related to the first service provided from the terminal device and information related to the second service provided from each of the plurality of devices;
In order to register at least information stored in the storage means to the server device so that the server device recognizes the first service and the second service as services provided from the terminal device. Means for transmitting ;
Comprising
The information stored in the storage means is updated each time the first service and the second service are changed.
前記記憶手段には、さらに前記サーバ装置に前記端末装置の属性を認識させるための当該端末装置自身の属性情報を記憶し、この属性情報も前記サーバ装置に登録するために送信することを特徴とする請求項記載の端末装置。The storage means further stores attribute information of the terminal device itself for causing the server device to recognize the attribute of the terminal device, and transmits the attribute information to be registered in the server device. The terminal device according to claim 1 . 複数の端末装置とサーバ装置とを第1のネットワークを介して接続してなるシステムにおける前記サーバ装置であって、
前記複数の端末装置のそれぞれから、各端末装置から提供されるサービスに関する情報を収集する収集手段と、
当該サーバ装置と第2のネットワークを介して通信可能に接続されているユーザ端末からの要求に応じて、前記収集手段で収集された情報を基に、当該ユーザ端末から前記複数の端末装置を制御可能なように、少なくとも、前記複数の端末装置のそれぞれから提供されるサービスに関する情報を当該ユーザ端末へ送信する第1の送信手段と、
前記ユーザ端末から、少なくとも前記複数の端末装置のうちのいずれか1つを制御対象として制御するための第1のコマンドを受信する受信手段と、
前記第1のコマンドに従って、前記制御対象を制御するための第2のコマンドを当該制御対象の端末装置へ送信する第2の送信手段と、
を具備したことを特徴とするサーバ装置。
The server device in a system formed by connecting a plurality of terminal devices and a server device via a first network ,
Collection means for collecting information on services provided from each terminal device from each of the plurality of terminal devices;
In response to a request from a user terminal that is communicably connected to the server device via a second network, the plurality of terminal devices are controlled from the user terminal based on information collected by the collecting means. As possible, at least first transmission means for transmitting information related to services provided from each of the plurality of terminal devices to the user terminal;
Receiving means for receiving, from the user terminal, a first command for controlling at least one of the plurality of terminal devices as a control target;
In accordance with the first command, second transmission means for transmitting a second command for controlling the controlled object to the terminal device to be controlled;
A server apparatus comprising:
前記第1の送信手段は、少なくとも前記複数のサービスのそれぞれに対応する論理多重識別子を送信し、
前記受信手段は、前記第1のコマンドを含む、前記制御対象の前記論理多重識別子に対応するサービス宛てのパケットを受信し、
前記第2の送信手段は、前記受信手段で受信した前記パケットの宛先として記述された前記論理多重識別子に対応するサービスを提供する前記制御対象に対し、前記第2のコマンドを送信することを特徴とする請求項記載のサーバ装置。
The first transmission means transmits at least a logical multiplex identifier corresponding to each of the plurality of services;
It said receiving means includes a first command, receives a packet corresponding addressed service to the logical multiplexing identifier of the control object,
The second transmitting unit transmits the second command to the control target that provides a service corresponding to the logical multiplex identifier described as a destination of the packet received by the receiving unit. The server device according to claim 3 .
前記サーバ装置と前記ユーザ端末との間の通信プロトコルとしての第1の通信プロトコルに依存する前記第1のコマンドを、前記サーバ装置と前記複数の端末装置との間の前記第1の通信プロトコルとは異なる第2の通信プロトコルに依存する前記第2のコマンドに変換する変換手段をさらに具備し、
前記受信手段は、前記ユーザ端末から、前記第1の通信プロトコルに依存する前記第1のコマンドを受信し、
前記第2の送信手段は、前記変換手段で得られた前記第2のコマンドを前記制御対象の端末装置へ送信することを特徴とする請求項記載のサーバ装置。
The first command depending on a first communication protocol as a communication protocol between the server device and the user terminal, the first communication protocol between the server device and the plurality of terminal devices, Further comprises conversion means for converting to the second command depending on a different second communication protocol,
The receiving means receives the first command depending on the first communication protocol from the user terminal;
4. The server device according to claim 3, wherein the second transmission unit transmits the second command obtained by the conversion unit to the terminal device to be controlled .
前記第1のコマンドと前記第2のコマンドとの対応関係を表したテーブルを記憶する記憶手段をさらに具備し、
前記変換手段は、前記テーブルを参照して、前記第1のコマンドを前記第2のコマンドに変換することを特徴とする請求項記載のサーバ装置。
Storage means for storing a table representing a correspondence relationship between the first command and the second command;
The server device according to claim 5 , wherein the conversion unit converts the first command into the second command with reference to the table.
第1のネットワーク上の複数の端末装置を当該第1のネットワークとは別の第2のネットワークに接続されたユーザ端末から制御するための制御方法であって、
前記第1のネットワークと前記ユーザ端末とのそれぞれに接続するサーバ装置を設け、このサーバ装置において、
前記複数の端末装置のそれぞれから、各端末装置から提供されるサービスに関する情報を収集する収集し、
当該ユーザ端末からの要求に応じて、前記収集された情報を基に、当該ユーザ端末から前記複数の端末装置を制御可能なように、少なくとも、前記複数の端末装置のそれぞれから提供されるサービスに関する情報を当該ユーザ端末へ送信し、
前記ユーザ端末から、少なくとも前記複数の端末装置のうちのいずれか1つを制御対象として制御するための第1のコマンドを受信すると、前記第1のコマンドに従って、前記制御対象を制御するための第2のコマンドを前記制御対象の端末装置へ送信することを特徴とする制御方法。
A control method for controlling a plurality of terminal devices on a first network from a user terminal connected to a second network different from the first network,
A server device connected to each of the first network and the user terminal is provided, and in this server device,
Collecting information on services provided from each terminal device from each of the plurality of terminal devices,
In response to a request from the user terminal, on the basis of the collected information, at least a service provided from each of the plurality of terminal devices so that the plurality of terminal devices can be controlled from the user terminal Send information to the user terminal ,
When receiving a first command for controlling at least one of the plurality of terminal devices as a control target from the user terminal, a first command for controlling the control target according to the first command. 2 is transmitted to the terminal device to be controlled.
前記サーバ装置は、
前記サーバ装置と前記ユーザ端末との間の通信プロトコルとしての第1の通信プロトコルに依存する前記第1のコマンドを受信すると、前記第1のコマンドを前記サーバ装置と前記複数の端末装置との間の前記第1の通信プロトコルとは異なる第2の通信プロトコルに依存する前記第2のコマンドに変換し、前記第2のコマンドを前記制御対象の端末装置へ送信することを特徴とする請求項記載の制御方法。
The server device
When receiving the first command depending on a first communication protocol as a communication protocol between the server device and the user terminal, the first command is transmitted between the server device and the plurality of terminal devices. claims wherein converting said second command that depends on a second communication protocol different from the first communication protocol, and transmits the second command to the control target terminal apparatus 7 The control method described.
複数の機器と端末装置とを接続してなるシステムにおける前記端末装置であって、
前記複数の機器のそれぞれが記憶する少なくとも当該機器の識別子を含む属性情報を収集する手段と、
前記収集された属性情報を基に、当該属性情報に対応する前記機器を制御するための制御プログラムの識別情報を求めて、この識別情報を基に前記制御プログラムをロードする手段と、
を具備したことを特徴とする端末装置。
The terminal device in a system formed by connecting a plurality of devices and terminal devices,
Means for collecting attribute information including at least an identifier of the device stored in each of the plurality of devices;
Means for obtaining identification information of a control program for controlling the device corresponding to the attribute information based on the collected attribute information, and loading the control program based on the identification information ;
A terminal device comprising:
前記複数の機器のそれぞれは、当該機器の前記属性情報を記憶する記憶手段を有し、前記端末装置は、前記機器の前記記憶手段から前記属性情報を読みとることで、前記複数の機器のそれぞれの前記属性情報を収集することを特徴とする請求項に記載の端末装置。Each of the plurality of devices has a storage unit that stores the attribute information of the device, and the terminal device reads the attribute information from the storage unit of the device, so that each of the plurality of devices The terminal device according to claim 9 , wherein the attribute information is collected. 前記複数の機器と前記端末装置は、IEEE1394バスで接続されていることを特徴とする請求項記載の端末装置。The terminal device according to claim 9, wherein the plurality of devices and the terminal device are connected by an IEEE 1394 bus. 前記識別情報により、前記制御プログラムが外部ネットワーク上に存在すると判断したときは、当該外部ネットワークを介して当該制御プログラムをロードすることを特徴とする請求項記載の端末装置。The terminal device according to claim 9 , wherein when it is determined by the identification information that the control program exists on an external network, the control program is loaded via the external network. 複数の端末装置とサーバ装置とを接続してなるシステムにおける前記サーバ装置であって、
当該サーバ装置と通信可能に接続されているユーザ端末からの要求に応じて、前記複数の端末装置のそれぞれから提供されるサービスに関する情報を提供するとともに、前記複数の端末装置のそれぞれを制御可能に構成されたホームページを提供する手段と、
前記ユーザ端末において、前記ホームページに基づき所望のサービスが選択され、当該ユーザ端末から送信された、当該選択されたサービスを提供する前記複数の端末装置のうちのいずれか1つを制御対象として制御するための第1のコマンドを含むパケットを受信する受信手段と、
この受信手段で受信されたパケットに含まれる前記第1のコマンドに従って、前記制御対象を制御するための第2のコマンドを当該制御対象の端末装置へ送信する送信手段と、
を具備したことを特徴とするサーバ装置。
The server device in a system formed by connecting a plurality of terminal devices and a server device,
In response to a request from a user terminal that is communicably connected to the server device, information about services provided from each of the plurality of terminal devices is provided, and each of the plurality of terminal devices can be controlled. A means of providing a structured homepage;
In the user terminal, a desired service is selected based on the homepage, and one of the plurality of terminal devices that provide the selected service transmitted from the user terminal is controlled as a control target. Receiving means for receiving a packet including a first command for:
Transmitting means for transmitting a second command for controlling the controlled object to said first command included in the received packet Accordingly, at the receiving unit to the control target terminal,
A server apparatus comprising:
前記複数の端末装置のそれぞれから、各端末装置から提供されるサービスに関する情報を収集する収集手段と、
この収集手段で収集された情報を基に前記ホームページを作成する作成手段と、
をさらに具備したことを特徴とする請求項13記載のサーバ装置。
Collection means for collecting information on services provided from each terminal device from each of the plurality of terminal devices;
Creating means for creating the home page based on the information collected by the collecting means;
The server apparatus according to claim 13 , further comprising:
前記サーバ装置は、
前記サーバ装置と前記ユーザ端末との間の通信プロトコルとしての第1の通信プロトコルに依存する前記第1のコマンドを、前記サーバ装置と前記複数の端末装置との間の前記第1の通信プロトコルとは異なる第2の通信プロトコルに依存する前記第2のコマンドに変換する変換手段をさらに具備し、
前記受信手段は、前記ユーザ端末から、前記第1の通信プロトコルに依存する第1のコマンドを含むパケットを受信し、
前記送信手段は、前記変換手段で得られた前記第2のコマンドを前記制御対象の端末装置へ送信することを特徴とする請求項13記載のサーバ装置。
The server device
The first command depending on a first communication protocol as a communication protocol between the server device and the user terminal, the first communication protocol between the server device and the plurality of terminal devices, Further comprises conversion means for converting to the second command depending on a different second communication protocol,
The receiving means receives a packet including a first command depending on the first communication protocol from the user terminal ;
The server device according to claim 13 , wherein the transmission unit transmits the second command obtained by the conversion unit to the terminal device to be controlled .
前記複数の端末装置のそれぞれから、各端末装置から提供されるサービスに関する情報を収集する収集手段と、
前記第1のコマンドと前記第2のコマンドとの対応関係が予め登録されたテーブルを記憶する記憶手段と、
をさらに具備し、
このテーブルを基に前記ホームページを作成することを特徴とする請求項15記載のサーバ装置。
Collection means for collecting information on services provided from each terminal device from each of the plurality of terminal devices;
Storage means for storing a table in which the correspondence relationship between the first command and the second command is registered in advance;
Further comprising
The server device according to claim 15 , wherein the home page is created based on the table.
前記送信手段は、前記受信手段で受信した前記パケットの宛先として記述された前記論理多重識別子に対応するサービスを提供する前記制御対象に対し、前記第2のコマンドを送信することを特徴とする請求項13記載のサーバ装置。The transmission unit transmits the second command to the control target that provides a service corresponding to the logical multiplex identifier described as a destination of the packet received by the reception unit. Item 14. The server device according to Item 13 . 前記ホームページには、少なくとも前記第1のコマンドを含むパケットを生成するための第1のプログラムを含み、
前記受信手段は、前記ユーザ端末から送信されてきた前記パケットを受信することにより、前記第1のコマンドを受信することを特徴とする請求項15記載のサーバ装置。
The home page includes a first program for generating a packet including at least the first command,
The server device according to claim 15 , wherein the receiving unit receives the first command by receiving the packet transmitted from the user terminal.
前記受信手段は、前記ユーザ端末から送信されてきた前記パケットを受信して、このパケットにて前記第2のコマンドに変換するための第2のプログラムを起動し、
前記変換手段は、この第2のプログラムに従って前記第1のコマンドを前記第2のコマンドに変換することを特徴とする請求項15記載のサーバ装置。
The receiving means receives the packet transmitted from the user terminal and starts a second program for converting the packet into the second command using the packet,
16. The server device according to claim 15 , wherein the conversion unit converts the first command into the second command according to the second program.
前記受信手段は、前記第1のコマンドと前記ユーザ端末へ情報を送信する際の通信プロトコルを指定する情報を含むパケットを受信することを特徴とする請求項15記載の通信装置。 16. The communication apparatus according to claim 15 , wherein the receiving unit receives a packet including information specifying a communication protocol for transmitting information to the first command and the user terminal . 前記複数の端末装置と前記サーバ装置とは、IEEE1394ネットワークにて互いに接続されていることを特徴とする請求項13記載のサーバ装置。The server device according to claim 13, wherein the plurality of terminal devices and the server device are connected to each other via an IEEE 1394 network. 前記複数の端末装置と前記サーバ装置とは、LON(Local Operating Network)にて互いに接続されていることを特徴とする請求項13記載のサーバ装置。The server device according to claim 13, wherein the plurality of terminal devices and the server device are connected to each other by a LON (Local Operating Network). 第1のネットワーク上の複数の端末装置を当該第1のネットワークとは別の第2のネットワークに接続されたユーザ端末から制御するための制御方法であって、
前記第1のネットワークと前記第2のネットワークとに接続するサーバ装置を設け、前記サーバ装置と前記ユーザ端末との間の通信プロトコルとしての第1の通信プロトコルと、前記サーバ装置と前記複数の端末装置との間の通信プロトコルとしての第2の通信プロトコルとは互いに異なるとき、
前記サーバ装置において、
前記ユーザ端末から送信された、前記複数の端末装置のうちの1つを制御対象として制御するための前記第1の通信プロトコルに依存する第1のコマンドを受信すると、これを前記第2の通信プロトコルに依存する第2のコマンドに変換し、当該第2のコマンドを前記制御対象に送信することにより、当該制御対象を制御することを特徴とする制御方法。
A control method for controlling a plurality of terminal devices on a first network from a user terminal connected to a second network different from the first network,
A server device connected to the first network and the second network is provided, a first communication protocol as a communication protocol between the server device and the user terminal, the server device and the plurality of terminals When the second communication protocol as the communication protocol with the device is different from each other,
In the server device,
When a first command that is transmitted from the user terminal and depends on the first communication protocol for controlling one of the plurality of terminal devices as a control target is received, the first command is received as the second communication. A control method characterized in that the control target is controlled by converting the second command depending on the protocol and transmitting the second command to the control target.
第1のネットワーク上の複数の端末装置を当該第1のネットワークとは別の第2のネットワークに接続されたユーザ端末から制御するための制御方法であって、
前記第1のネットワークと前記第2のネットワークとに接続するサーバ装置を設け、このサーバ装置において、
前記複数の端末装置のそれぞれから、各端末装置から提供されるサービスに関する情報を収集して、前記複数の端末装置のそれぞれから提供されるサービスに関する情報を提供するとともに、前記複数の端末装置のそれぞれを制御可能に構成されたホームページを作成し、
前記ユーザ端末からの要求に応じて、当該ユーザ端末にホームページを提供し、
前記ユーザ端末において、前記ホームページに基づき所望のサービスが選択されて、当該ユーザ端末から送信された、当該選択されたサービスを提供する前記複数の端末装置のうちのいずれか1つを制御対象として制御するための第1のコマンドを含むパケットを受信すると、当該パケットに含まれる前記第1のコマンドに従って、前記制御対象を制御するための第2のコマンドを当該制御対象の端末装置送信することを特徴とする制御方法。
A control method for controlling a plurality of terminal devices on a first network from a user terminal connected to a second network different from the first network,
A server device connected to the first network and the second network is provided, and in this server device,
Collecting information related to services provided from each terminal device from each of the plurality of terminal devices, providing information related to services provided from each of the plurality of terminal devices, and each of the plurality of terminal devices Create a homepage that is configured to control
In response to a request from the user terminal, a home page is provided to the user terminal,
In the user terminal, a desired service is selected based on the homepage, and one of the plurality of terminal devices that provide the selected service transmitted from the user terminal is controlled as a control target. Upon receiving a packet including a first command for, in accordance with the first command included in the packet, sending a second command for controlling the controlled object to the control target terminal Characteristic control method.
第1のネットワークと第2のネットワークとに接続される通信装置であって、
前記第1のネットワーク上の複数の第1の端末装置のそれぞれから提供される複数のサービスのそれぞれを識別するための当該第1のネットワークに依存する複数の第1の論理多重識別子に、前記第2のネットワークに依存する第2の論理多重識別子を割り当て、
前記複数のサービスのそれぞれについて、当該サービスを提供する前記第1の端末装置の前記第1のネットワークに依存する第1のアドレスと当該サービスの前記第1の論理多重識別子と、当該サービスを提供する前記第1の端末装置の前記第2のネットワークに依存する前記第2の論理多重識別子との対応関係を記憶する記憶手段と、
前記第2のネットワーク上の第2の端末装置に対し、前記複数のサービスを提示する提示手段と、
前記第2の端末装置において、前記提示手段で提示された複数のサービスの中から選択されて、当該第2の端末装置から送信された前記第2の論理多重識別子で特定される第1のサービス宛てのパケットを受信する受信手段と、
前記記憶手段に記憶された対応関係に基づき、前記受信手段で受信したパケットの宛先を、前記第1のサービスに対応する前記第1のアドレスおよび前記第1の論理多重識別子に書き換える書換手段と、
この書換手段で宛先の書き換えられたパケットを前記第1のネットワークに出力する出力手段と、
を具備したことを特徴とする通信装置。
A communication device connected to a first network and a second network,
A plurality of first logical multiplex identifiers depending on the first network for identifying each of a plurality of services provided from each of a plurality of first terminal devices on the first network; Assign a second logical multiple identifier that depends on the two networks;
For each of the plurality of services, a first address depending on the first network of the first terminal device that provides the service, the first logical multiple identifier of the service, and the service are provided. Storage means for storing a correspondence relationship with the second logical multiplex identifier depending on the second network of the first terminal device;
Presenting means for presenting the plurality of services to a second terminal device on the second network;
In the second terminal device, a first service selected from the plurality of services presented by the presenting unit and specified by the second logical multiplex identifier transmitted from the second terminal device Receiving means for receiving packets addressed to;
Rewriting means for rewriting the destination of the packet received by the receiving means to the first address and the first logical multiplex identifier corresponding to the first service, based on the correspondence stored in the storage means;
An output means for outputting the packet whose destination is rewritten by the rewriting means to the first network;
A communication apparatus comprising:
前記複数の第1の端末装置のそれぞれから、前記複数のサービスのそれぞれに対応する前記第1の論理多重識別子と、当該サービスを提供する前記第1の端末装置の前記第1のアドレスを収集する収集手段をさらに具備したことを特徴とする請求項25記載の通信装置。The first logical multiplex identifier corresponding to each of the plurality of services and the first address of the first terminal device providing the service are collected from each of the plurality of first terminal devices. 26. The communication apparatus according to claim 25 , further comprising a collecting unit. 前記第2のネットワークから入力するパケットのうち前記第1のネットワークへ転送可能なパケットの識別子を記憶する第2の記憶手段をさらに具備し、
前記第2のネットワークから入力されるパケットのうち、前記第2の記憶手段に記憶された識別子を有するパケットのみ前記第1のネットワークへ出力することを特徴とする請求項25記載の通信装置。
Second storage means for storing an identifier of a packet that can be transferred to the first network among packets input from the second network;
26. The communication apparatus according to claim 25, wherein only packets having an identifier stored in the second storage unit among the packets input from the second network are output to the first network.
JP12113998A 1997-05-06 1998-04-30 Terminal device, server device, communication device, and control method Expired - Lifetime JP3688464B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12113998A JP3688464B2 (en) 1997-05-06 1998-04-30 Terminal device, server device, communication device, and control method

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP9-115685 1997-05-06
JP11568597 1997-05-06
JP27915997 1997-10-13
JP9-279159 1997-10-13
JP12113998A JP3688464B2 (en) 1997-05-06 1998-04-30 Terminal device, server device, communication device, and control method

Publications (2)

Publication Number Publication Date
JPH11187061A JPH11187061A (en) 1999-07-09
JP3688464B2 true JP3688464B2 (en) 2005-08-31

Family

ID=27313010

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12113998A Expired - Lifetime JP3688464B2 (en) 1997-05-06 1998-04-30 Terminal device, server device, communication device, and control method

Country Status (1)

Country Link
JP (1) JP3688464B2 (en)

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3136140B2 (en) 1999-06-03 2001-02-19 松下電送システム株式会社 Internet-connected SOHO gateway device
KR100644561B1 (en) 1999-07-26 2006-11-13 삼성전자주식회사 How to manage connection of digital interface
US7610559B1 (en) 1999-07-27 2009-10-27 Samsung Electronics Co., Ltd. Device customized home network top-level information architecture
US8032833B1 (en) 1999-07-27 2011-10-04 Samsung Electronics Co., Ltd. Home network device information architecture
JP3318289B2 (en) 1999-08-10 2002-08-26 松下電送システム株式会社 Home network gateway equipment
US6877036B1 (en) * 1999-09-24 2005-04-05 Akamba Corporation System and method for managing connections between a client and a server
FI110975B (en) * 1999-12-22 2003-04-30 Nokia Corp Prevention of fraud in telecommunication systems
JP4846890B2 (en) * 2000-01-20 2011-12-28 ソニー株式会社 Terminal control device
JP3975045B2 (en) 2000-01-24 2007-09-12 パナソニック コミュニケーションズ株式会社 Network control device and remote display device
JP2001211195A (en) * 2000-01-25 2001-08-03 Fujitsu Ltd Data communication system
KR20010092525A (en) * 2000-03-22 2001-10-26 윤종용 Interfacing apparatus controling a non ip-based network device to ip-based network access and method therefor
JP4788016B2 (en) * 2000-05-08 2011-10-05 有限会社ネットモーションズ System for displaying images taken by camera on server, server and recording medium recording server control program
US7349967B2 (en) 2000-07-21 2008-03-25 Samsung Electronics Co., Ltd. Architecture for home network on world wide web with private-public IP address/URL mapping
KR100667742B1 (en) 2000-08-23 2007-01-11 삼성전자주식회사 Method for controlling at least one controlled device of the control device
KR20020022317A (en) * 2000-09-19 2002-03-27 윤종용 Home gateway and Method for operating the same
JP2002149512A (en) * 2000-11-07 2002-05-24 Sony Corp Information processing apparatus and method, information processing system and method, and recording medium
DK1360796T3 (en) * 2001-01-26 2010-05-10 American Power Conv Corp Method and system for setting up a set of network devices that can be connected to provide improved collaboration, scalability and reliability
KR100750735B1 (en) 2001-02-03 2007-08-22 삼성전자주식회사 Device control device and method in home network and home network system using same
CN1174585C (en) 2001-03-29 2004-11-03 三菱电机株式会社 Intersystem connection adapters and terminal equipment
JP4571332B2 (en) * 2001-04-17 2010-10-27 株式会社エネゲート Electronic device integration apparatus, computer terminal, and home information system
JP4607369B2 (en) * 2001-04-20 2011-01-05 テンパール工業株式会社 A method for accessing a server connected to a LAN from the outside via the Internet
JP3661936B2 (en) * 2001-05-24 2005-06-22 ソニー株式会社 Information processing apparatus and method, recording medium, and program
JP2003087293A (en) * 2001-09-11 2003-03-20 Hitachi Ltd Network device, network control device, and control method for network device
JP4929551B2 (en) * 2001-09-11 2012-05-09 ソニー株式会社 Information providing system, information processing apparatus and method, and program
JP2003099341A (en) * 2001-09-20 2003-04-04 Canon Inc Network device management apparatus, management system and management method, and network device
JP3864743B2 (en) 2001-10-04 2007-01-10 株式会社日立製作所 Firewall device, information device, and information device communication method
JP4118566B2 (en) * 2002-01-17 2008-07-16 学校法人早稲田大学 Network construction device for device integration
EP1337080A3 (en) 2002-02-15 2005-06-08 Hitachi, Ltd. Method of controlling the network devices
KR100442256B1 (en) 2002-02-28 2004-07-30 엘지전자 주식회사 Method and apparatus for compatible a standard of home network system
KR100461593B1 (en) 2002-03-08 2004-12-14 삼성전자주식회사 Apparatus and system providing remote control and management service via communication network, and method thereof
KR100474483B1 (en) 2002-03-12 2005-03-09 삼성전자주식회사 Aparatus for providing device information via network and method thereof
JP3864824B2 (en) * 2002-03-29 2007-01-10 松下電工株式会社 Notification method of access destination to home server system
JP2004135040A (en) * 2002-10-10 2004-04-30 Matsushita Electric Ind Co Ltd Remote control system
CN1260642C (en) * 2002-11-18 2006-06-21 深圳市朗科科技有限公司 Method for transmitting command and data to portable storage device
CA2530340C (en) 2002-11-29 2012-10-23 Freebit Co., Ltd. Server for routing connection to client machine
WO2004105333A1 (en) * 2003-05-22 2004-12-02 Fujitsu Limited Safe virtual private network
US7633948B2 (en) 2003-07-07 2009-12-15 Panasonic Corporation Relay device and server, and port forward setting method
JP2005031725A (en) * 2003-07-07 2005-02-03 Matsushita Electric Ind Co Ltd Server and relay device
WO2005032203A1 (en) * 2003-09-26 2005-04-07 Kabushiki Kaisha Toshiba Home electric appliances remote control system, service provision server, home server, home electric appliances, home electric appliances remote control support method of service provision server, and home electric appliances service provision support method of service provision server
JP2005198145A (en) * 2004-01-09 2005-07-21 Matsushita Electric Ind Co Ltd Server, access destination database server, and network system
WO2005067263A1 (en) 2004-01-09 2005-07-21 Matsushita Electric Industrial Co., Ltd. Ip device, management server, and network system
JP4154364B2 (en) 2004-04-22 2008-09-24 キヤノン株式会社 Notification method
JP2006039685A (en) * 2004-07-22 2006-02-09 Advanced Institute Of Information Technology Inc Information management system
JP4355639B2 (en) 2004-09-15 2009-11-04 キヤノン株式会社 Image processing apparatus and control method thereof
JP2006311407A (en) * 2005-05-02 2006-11-09 Mitsubishi Electric Corp Data communication system for system protection relay device
CN101218790A (en) * 2005-07-04 2008-07-09 Sk电信股份有限公司 Home network system and control method thereof, method of setting residential gateway of home network system, and method of processing event protocol of home network system
US7702842B2 (en) 2005-09-29 2010-04-20 Pioneer Corporation Relay device, relay method, and information recording medium
KR100694155B1 (en) * 2005-10-12 2007-03-12 삼성전자주식회사 Method and apparatus for providing a home network device service outside the home network through a web service
JP2007316863A (en) * 2006-05-24 2007-12-06 Matsushita Electric Works Ltd Facility monitoring system and apparatus
JP4817997B2 (en) * 2006-07-05 2011-11-16 株式会社東芝 Gateway device, communication method, and communication program
NZ578291A (en) * 2007-03-05 2012-01-12 Ericsson Telefon Ab L M Obtaining discovery information, sending a request, receiving parameters, then executing multimedia using the parameters
JP2008234118A (en) * 2007-03-19 2008-10-02 Seiko Epson Corp User interface providing apparatus, user interface generation method, and program.
JP5058023B2 (en) * 2007-04-20 2012-10-24 株式会社リコー Image processing apparatus, image processing system, and image processing method
EP2147585B1 (en) 2007-05-15 2016-11-02 Schneider Electric IT Corporation Method and system for managing facility power and cooling
JP2009043000A (en) * 2007-08-08 2009-02-26 Sharp Corp Content reception terminal apparatus, method and program for receiving content in content reception terminal apparatus, content reproduction terminal apparatus, method and program for reproducing content in content reception terminal apparatus, and content reception/reproduction terminal system
JP4858523B2 (en) * 2008-10-06 2012-01-18 パナソニック電工株式会社 Remote control monitoring system and information communication method used therefor
JP4858524B2 (en) * 2008-10-06 2012-01-18 パナソニック電工株式会社 Remote control monitoring system
JP4947118B2 (en) * 2009-10-07 2012-06-06 パナソニック株式会社 Relay device and relay method
US8996692B2 (en) 2009-12-18 2015-03-31 International Business Machines Corporation Forming configuration information about components of systems which include components for which acquisition of configuration information is restricted
GB2489852A (en) * 2009-12-18 2012-10-10 Ibm Method, program, and system for forming configuration information of configuring element of system containing configuring element wherein acquisition
WO2011074492A1 (en) 2009-12-18 2011-06-23 株式会社 村田製作所 Thin film forming method and quantum dot device
JP4944940B2 (en) * 2009-12-18 2012-06-06 日本電信電話株式会社 Media information sharing system and media information sharing method
JP5459133B2 (en) * 2010-07-30 2014-04-02 株式会社富士通ゼネラル Protocol converter
US9014075B2 (en) * 2011-10-13 2015-04-21 Alcatel Lucent Wide area mirroring router
WO2015063902A1 (en) * 2013-10-30 2015-05-07 株式会社アイ・エル・シー Inter-apparatus control method, inter-apparatus control program, and inter-apparatus control system
JP2016181845A (en) * 2015-03-25 2016-10-13 東日本電信電話株式会社 Communication device
JP6141916B2 (en) * 2015-07-23 2017-06-07 スミス アンド ネフュー インコーポレイテッド Method and system for reliable interoperability between medical devices
WO2019116777A1 (en) * 2017-12-14 2019-06-20 ソニー株式会社 Information processing device, information processing method, and information processing system

Also Published As

Publication number Publication date
JPH11187061A (en) 1999-07-09

Similar Documents

Publication Publication Date Title
JP3688464B2 (en) Terminal device, server device, communication device, and control method
KR100457543B1 (en) Architecture for home network on world wide web
JP4058845B2 (en) Gateway device
JP4447686B2 (en) Remote device connection establishment method, remote device and control device
CN100359882C (en) Network interconnection device and method
CN1957566B (en) Server for routing connection to client device
US6813715B2 (en) Method for accessing home-network using home-gateway and home-portal server and apparatus thereof
US6523696B1 (en) Communication control device for realizing uniform service providing environment
US7489924B2 (en) Apparatus and system for providing remote control service through communication network, and method thereof
AU2001276754A1 (en) Architecture for home network on world wide web with private-public ip address/url mapping
EP1193912A2 (en) Method for providing services in IP-based network system
JPWO2004075479A1 (en) Control information transmission method, relay server, and controlled device
KR100379597B1 (en) Device communication and control in a home network connected to an external network with regional support
JP4404483B2 (en) Communication method in home network, network and apparatus for implementing the method
AU2001272817A1 (en) Architecture for home network on world wide web

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050204

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050215

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050418

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050608

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

Free format text: PAYMENT UNTIL: 20090617

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090617

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100617

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100617

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110617

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120617

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120617

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130617

Year of fee payment: 8

EXPY Cancellation because of completion of term