JP4118566B2 - Network construction device for device integration - Google Patents

Network construction device for device integration Download PDF

Info

Publication number
JP4118566B2
JP4118566B2 JP2002008358A JP2002008358A JP4118566B2 JP 4118566 B2 JP4118566 B2 JP 4118566B2 JP 2002008358 A JP2002008358 A JP 2002008358A JP 2002008358 A JP2002008358 A JP 2002008358A JP 4118566 B2 JP4118566 B2 JP 4118566B2
Authority
JP
Japan
Prior art keywords
network
home
http
gateway
url
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002008358A
Other languages
Japanese (ja)
Other versions
JP2003208366A (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.)
Waseda University
Original Assignee
Waseda University
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 Waseda University filed Critical Waseda University
Priority to JP2002008358A priority Critical patent/JP4118566B2/en
Publication of JP2003208366A publication Critical patent/JP2003208366A/en
Application granted granted Critical
Publication of JP4118566B2 publication Critical patent/JP4118566B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、種々の家庭用機器や個人用機器をURLアドレスで統合管理する機器統合のためのネットワーク構築装置に関する。
【0002】
【発明が解決しようとする課題】
将来の生活において、周囲には益々多くのプロセッサが内蔵されることが予測され、具体的にはアナログ無線回路や種々のセンサが、プロセッサと一体化されるだろうし、種々のコンピューティング機能が周囲環境に内蔵されるであろう。とりわけ、コンピュータが「コンピュータ」という特殊な箱として1箇所に存在するのではなく、人間の生活環境の至るところに分散して存在するユビキタス(Ubiquitous:どこにでもある)・コンピューティング環境が、ハードウェアの観点から、まもなく実現され得るであろう。
【0003】
ユビキタス・コンピューティング環境は、実世界で活動する人間を無意識に支援するもので、その人間のおかれている環境を認識する必要があるが、こうしたユビキタス・コンピューティング環境において、家庭内では種々の内蔵プロセッサが増加すると考えられる。これにより、種々の家庭機器の制御が可能となり、種々の情報を検索して、我々の嗜好や周囲情報に従って機器を動作させることが可能になる。例えば、テレヴィジョンの様な音響映像機器が、IEEE1394のような標準の高速ネットワークにより接続されるであろう。また、部屋の中にある照明やエアー・コンディションは、無線ネットワークを通じて、携帯電話やPDA機器により制御されるであろうし、家具にプロセッサが内蔵されるかもしれない。最終的には、これらのネットワークがホーム・ゲートウェイにより一体化されるであろう。
【0004】
しかしながら、ソフトウェアの観点から見ると、生活の向上を図るために種々の家庭機器を一体化するには、ミドルウェアの構成要素が必要である。ミドルウェアとは、いわゆるOS(Operating System)上で動作し、アプリケーションソフトに対してOSよりも高度で具体的な機能を提供するソフトウェアのことで、OSとアプリケーションソフトの中間的な性格を持っているが、現在、広範囲に利用されるであろうミドルウェア構成要素を構築するのは簡単なことではない。例えば、ネットワークを通じて各種機器を接続し、相互に機能を提供しあうための技術仕様であるJini(登録商標)や、同じように家庭内のパソコンや周辺機器、AV機器、電話、家電製品などの機器をネットワークを通じて接続し、相互に機能を提供しあうための技術仕様であるUPnP(ユニヴァーサル・プラグアンド・プレイ)は、ミドルウェアとして良く知られているが、これらのミドルウェアを採用している機器は少ない。一方、HTTPプロトコルは、近い将来に種々の機器に広く組み込まれるものと思われ、現在のプロセッサにおけるインターネット・プロトコルを実行するには費用が極めて安い。それ故に、将来の殆どの機器は、HTTPサーバを内蔵して、インターネット上の如何なる場所からでも機器をアクセスできるようになるであろう。
【0005】
具体的には、近い将来において、プロセッサはインターネット・プロトコルを実行するハードウェア・アクセラレーターを包含し、非常に低価格でウェッブ・サーバを導入するであろう。ウェッブ・サーバは、種々の機器に内蔵され、周囲にある実物対象は、情報を実物対象に結びつけるためのURLを包含する。これらのシステムは実物対象を増加させ、或いは実世界と仮想世界とを統合する。また、エミット・テクノロジーの様なウェッブ・テクノロジーを採用した商品も出ている。このように、近い将来ウェッブ・サーバを内蔵した機器が出現するものと思われる。
【0006】
ホーム・コンピューティング環境としては、ウェッブ・サーバ内蔵のテレヴィジョン,ヴィデオ・カセット・レコーダ,照明及び電子レンジのような種々の機器を含むと考えられる。これらの機器は、どのウェッブ・ブラウザーからでも、或いはHTTPプロトコルを使用するアプリケーション・プログラムから制御できる。例えば、ウェッブ・サーバを内蔵したテレヴィジョンは、ウェッブ・サーバからの診断を業者が行なうことができる。故に、遠隔で家庭機器を容易に管理することができる。また、ウェッブ・ブラウザーから室内の照明が制御可能である。こうした状況は、安価なホームオートメーションシステムを構築させることになる。
【0007】
しかしながら、現在のHTTPプロトコルは複雑なホーム・コンピューティング環境を作るのに必要なディレクトリサービス(ネットワーク上の資源とその属性とを記憶し、検索できるようにしたシステム)や自動構成管理(Automatic Configuration Management)のような必要な機能を提供できないという問題がある。
【0008】
TV(テレヴィジョン)やVCR(デジタルビデオカメラ)の様な種々の家庭用機器はホーム・ネットワークに接続され、総てのホーム・ネットワークは、種々の情報を交換し他の機器から別の機器を制御するために、インターネットにより統合することができる。将来のネットワークは、極めて膨大な数の機器を接続可能であるので、これらの機器は利用者の観点からすると、一個の機器として統合されるべきである。この種の統合は、膨大な量の機器が、インターネットに接続されることを期待されているので、近い将来に非常に重要になる可能性がある。
【0009】
こうした種々の機器が相互に接続されているコンピューティング環境は、前述のユビキタス・コンピューティング環境と呼ばれる。しかしながら、ユビキタス・コンピューティング環境の従来の考え方は、インターネットに比較した場合少々規模が限定されており、インターネット規模のユビキタス・コンピューティング環境を設計しようとする場合には、更にある問題を考慮する必要がある。
【0010】
種々のネットワークとプロトコルが、各アプリケーションのドメイン用に提案されてきた。例えば、前述のJiniやUPnP(ユニヴァーサル・プラグアンド・プレイ)の様な種々のプロトコルは、使用前の構成無しに、種々の機器を接続するために提案されてきた。また、別なプロトコルであるHAViは種々の家庭用音響映像機器に特化して、その接続のために提案されてきた。一方、ATM(非同期転送モード)ネットワーク,IEEE1394,携帯情報機器向けの無線通信技術として知られるブルートゥース(登録商標),そしてVIAの様な種々のネットワーク・システムが、種々の機器を接続するために開発されてきた。また、研究団体に於いて、PEN,ネットワークド・サーフェスそしてCLANは、将来の進歩した機器を接続するために提案されてきた。
【0011】
しかしながら、これらの基本的なプロトコルとネットワークのもつ種々の有益な特性は、IP層がネットワークに挿入されるならば、アプリケーションから隠されてしまう。例えば、ブルートゥースにより提供されるプラグ・アンド・プレイ機能とATMにより提供されるネットワークバンド幅保存機能は、通常IP層(注:QOS保証するIPプロトコルを拡張する幾つかの提案がなされているが、この提案によって提供されるアブストラクションは、ATMのバンド幅保存能力の全部は提供しない)の最上層で通常利用できない。また、ある機器のなかには、他の機器やサービスに接続するためのIP層を支援(サポート)しないものもある。更に、各機器は、互いに通信する為に異なる制御プロトコルやデータ・フォーマットを想定するかもしれない。それ故、新しい手法が、将来の家庭用機器のために、ネットワーク支援を実現する必要がある。
【0012】
過去にインターネットに関する種々の問題を解決するために、ヴァーチャル・オーバーレイ・ネットワークが利用されてきたが、ネットワーク化された家庭用機器の統合の為にヴァーチャル・オーバーレイ・ネットワークを適用する考えには及んでいない。すなわち、組織的な手法で、インターネット規模のユビキタス・コンピューティング環境を得るために、カスタマイズされたヴァーチャル・オーバーレイ・ネットワークを構築する必要がある。
【0013】
そこで本発明は、ウェブ・サーバを有する家庭用の機器を修正することなく、複雑なホーム・コンピューティング環境を作るのに必要なディレクトリサービスや自動構成管理(Automatic Configuration Management)と同様の機能を持つことができる機器統合のためのネットワーク構築装置を提供することをその目的とする。
【0014】
【課題を解決するための手段】
本発明の請求項1における機器統合のためのネットワーク構築装置は、利用者が保有する端末と、ウエッブサーバーを内蔵した制御対象となる機器とを接続したネットワーク網にゲートウェイ・サーバを接続し、このゲートウェイ・サーバは、現在利用可能な機器の情報を自動的に収集して、その内容を前記端末に提示する自動構成管理手段と、前記端末から目標となる機器を制御するコマンドが発信されると、このコマンドに含まれるURLを翻訳して目標となる機器にURLでアクセスする機器アクセス手段と、前記ネットワーク網へ周期的にHTTPプロトコルによる問合わせメッセージを送る検索手段とを備え、前記機器は与えられた有効期限内で前記検索手段からの前記問合わせメッセージを受取ると、自身の情報を前記検索手段へ返送し、前記検索手段は前記情報をデータベースへ登録するか、或いは前記データベースを更新して、前記情報内で特定された前記有効期限内に前記機器に対して前記問合わせメッセージを送り、前記端末からの発見要望を受けた場合、前記検索手段はフルテキスト検索技術を使って前記データベースから現在利用可能な機器を選び出す構成とされる。
【0015】
この場合、HTTPプロトコルに基づくネットワークで各機器を統合するのに必要な機能が、自動構成管理手段と、ディレクトリ・サービスに相当する機器アクセス手段としてゲートウェイ・サーバに備えてあるので、ウェブ・サーバを有する家庭用の機器を修正することなく、複雑なホーム・コンピューティング環境を構築することが可能になる。
【0016】
また、機器統合のためのネットワーク構築装置は、HTTPプロトコルを使用して前記機器の制御を可能にし、その動作を利用者の状況に応じて変化させる状況認知機器制御手段を前記ゲートウェイ・サーバに備えたものである。
【0017】
このようにすると、HTTPプロトコルに基づいたユビキタス・コンピューティング環境の構築を達成できる。
【0018】
【発明の実施形態】
以下、添付図面を参照しながら、本発明における好適な各実施例を順に説明する。図1〜図3は、本発明の第1実施例を示す機器統合のためのネットワーク構築装置である。
【0019】
先ず詳細な構成を説明する前に、本システムの設計で最も重要な基本的概念とは、ウエッブ・サーバを有する家庭用機器を修正せず使用することにある。ウエッブ・サーバを有する汎用の家庭用機器は、自身が保有するウエッブ・サーバの修正ができないのであるが、かといって新しいプロトコルを標準化するのは非常に難しい。しかし、通常の人々はホームネットワークがどのようにして形成されるのかを知らないので、ホームコンピューティング環境を構築するには、JiniやUpnPに見出される自動構成(コンフィギュレーション)管理がサポートされなければならない。
【0020】
従来のウェッブに基づく環境では、利用者はアクセス前に、各機器のURLを知る必要があった。しかし、利用者がアクセスしたい機器のURLを見付けるディレクトリ・サービスが何も存在しないので、そのURLを知ることは容易ではない。また、このディレクトリ・サービス内における各機器に対するURLを登録するのに自動構成管理を必要とする。
【0021】
図1は、各家庭用機器を統合することが可能なネーミング(命名)管理を提案するシステム全体の構成で、1はインターネットを実現するための通信手段、2はこの通信手段に接続する複数の家庭用機器である。また3は、HTTPプロトコルの下で利用されるHTTPクライアントで、具体的には家庭でインターネットを利用する際のパソコン(パーソナルコンピュータ)などがこれに相当する。
【0022】
ここでのシステムは、二個の構成要素から成っている。第一の構成要素は、ウェブベース環境内に組み込まれる機器2である。この機器2は、ウェッブ・サーバを備えており、IEEE802.11b, ブルートゥース,IEEE1394或いはイーサーネットなどの標準ネットワークを通じて、インターネットネットワークを構築する通信手段1に接続されている。ここに提案するシステムは、各機器2におけるウェッブ・サーバの拡張を想定していない。したがって、ウェッブ・サーバを含む汎用製品のどれでも通信手段1に接続して使用できる。
【0023】
第二の構成要素は、家庭用の機器2を管理するために設けられゲートウェイ・サーバ4である。このゲートウェイ・サーバ4は、目標となる機器2へのアクセス方法を提供するディレクトリ・サービスの役割を演じるもので、さらに現在利用できる機器2を維持管理する自動構成管理としての機能も備えている。
【0024】
図1に示すホームネット利用者が、部屋の中にある家庭用の機器2にアクセスしたい時は、先ずHTTPクライアント3を利用してゲートウェイ・サーバ4と接触する。ゲートウェイ・サーバ4は、部屋の中にある利用可能な機器2に関する情報を利用者に提供する。利用者の観点からすると、その利用者はゲートウェイ・サーバ4のIPアドレスを含むURL(Uniform Resource Locator:インターネットにおける情報の「住所」)を使って、機器1を制御するための要求を発するので、利用者にとって如何なる家庭機器もゲートウェイ・サーバ4に直接接続されているように見える。ゲートウェイ・サーバ4は、機器2のウェッブ・サーバから集められる情報に従って、適正な機器2に向かってその要求を転送する。
【0025】
次に、各機器2を制御するためにどのようにしてURLを特定するのかについて説明する。ここでの最終目標は、任意のアプリケーションやデバイスに対しURLに基づくインターフェースを提供することである。ウェッブ・ブラウザーは一般的に、標準のHTTP GET機構を使って問合せ要求を提示することにより、URI(Uniform Resource Identifiers :インターネット上に存在する情報資源の場所を指し示す記述方式で、URLはURIの機能の一部を具体的に仕様化したもの)に一致するリモートホストにアクセスして、そのURIからの応答を受け取るか、または、標準のHTTP POST機構を使ってHTML形式を通じてURIにデータを提示し、同じくHTTP内のURIから応答を受け取る。利用者によって通過されるURLは、以下に示すように翻訳され、その要求は目標の機器2に転送される。
【0026】
図1に示すシステムにおいて、利用者はHTTPに基づくプロキシ・サーバとして与えられたゲートウェイ・サーバ4を通して、一つまたはそれ以上の機器2にアクセスできる。しかしながら、ゲートウェイ・アドレスが判っているときでさえも、利用者が機器2の中から最適の機器2の一つを確認することは難しい。そこで、機器2を特定し制御するためのURLに基づいたネーミングの取り決めをここで行なう。この取り決めは、標準のURL内で定義するが、URL形式のパス・エレメントは、図2に示す如く、BNF(バッカス記法)に似た構文に従って、幾つかの追加情報を含むことができる。
【0027】
ここで、<path>::=の次にある文字「ε」は、文字列の存在しないempty string を意味し、<string>は一連のアルファベットに対応する。<search>::=の次にある文字「?」の属性は、問い合わせ式を表し、フィールドが(場所或いは所有者と云った)問い合わせの性質を記述する場合には、一組のフィールド値であり、一個の値は文字列または整数である。「!」の属性は、フィールドがコマンドの性質を記述する場合はそのコマンドを特定すると共に、その値は文字列または整数である。
【0028】
上記取り決めによれば、例えば"http://some.where.com.8080/CEIL-LIGHT/!power=ON"なるURLの記述として表わせる。このURLの記述では、事前の同意によりポート番号8080で聞いているsome.where.com. と命名されたゲートウェイが呼び出される。その次の"CELL-LIGHT"の要素は、ゲートウェイの下で制御される電灯を特定するものである。"!power=ON"の要素は、ゲートウェイに対し信号を送ると共に、機器2別にON値を備えた"power"と命名される特別の機能を指名する。このURLは、"CELL-LIGHT"として命名された電灯をオンするための要求である。
【0029】
もう一つの例として、"http://some.where.com/?location=room1&?function=light/!power=ON"を示す。
【0030】
この例の中で、"?location=room1"の要素は、ゲートウェイ・サーバ4の下で制御されるビルまたはフロア−の"room1"と呼ばれる場所を特定している。また「?function=light」の要素は、room1の場所で機能的に命名された"light"をサポートする最適な機器2の一つを特定している。そして、このURLも、"light"として命名された電灯をオンするための要求である。
【0031】
この様な最適な機器2をダイナミック(動的)に特定するために、ここで取り決めたURLは、"$(variable)"の形式を含むことができる。なお"variable"は、その値が文字列である可変名を示す。これらの変数は、ゲートウェイ・サーバ4上で実行するシェルプログラム或いはオぺレーティングシステム(OS)により提供される環境変数と関連付けられる。URLに基づく表記法に対する変数の概念は、G.Voelker氏およびB.Bershad氏による「モビザイク:モバイル無線コンピューティング環境用の情報システム(モバイルコンピューティングシステムおよびアプリケーションにおけるワークショップ議事,1994年IEEEコンピュータ学会)」において手法されたダイナミックURLに基づく手法により、もとは示唆されたものである。ダイナミックURLの変数は、利用者側のコンピュータ(HTTPクライアント3)上で実行するシェルプログラムまたはオぺレーティングシステム(OS)によって、提供される環境変数と常に関連をもたなければならないが、ここで提案される変数は、ゲートウェイ・サーバ4でダイナミックに解釈される。
【0032】
例えば、"http://some.where.com/$(LIGHT)/!power=ON"と記述された上記変数を含む拡張したURLを考える。
【0033】
ここで、"$(LIGHT)"なる要素は、電灯を特定する一つの変数である。ゲートウェイ・サーバ4内に維持管理される前記"LIGHT"の変数が、天井に取り付けられた電灯を特定するCELL-LIGHTである時、上述のURLは"http://some.where.com/CEIL-LIGHT/!power=ON"として解釈される。新しい電灯が部屋に取り付けられる場合、オぺレーティングシステム(OS)は"LIGHT"環境変数の値を更新してもよく、その値が現状の環境で最適な物の一つとして見なされる。従がって、物の移動は、現状の環境に対しダイナミックに適合することが可能である。
【0034】
次に、機器2にアクセスする機構、すなわちディレクトリ・サービスについて説明する。本実施例におけるディレクトリ・サービスは、通信手段1に接続した現在利用可能な家庭用の機器2に関する情報を提供することである。また、機器へのアクセス方法をも提供する。ウェッブ基礎のホーム・コンピューティングにおける重大な問題の一つは、利用者が制御したい機器2のURLを如何にして知るかということである。その際、ゲートウェイ・サーバ4は、利用者がHTTPクライアント3にて保有するブラウザに対して、機器2を制御する為のURLを含むHTMLページを返してもよい。しかしながら、利用者のHTTPクライアント3にて保有するプログラムから機器2にアクセスすることは容易ではないので、この手法は望ましいものではない。それ故に、本実施例のシステムでは、機器2が利用者から直接ゲートウェイ・サーバ4に接続されている様に見せる機構を提供する。これは、利用者側のHTTPクライアント3がゲートウェイ・サーバ4のホスト名と機器2の名前を知る必要があることを意味する。
【0035】
本システムによるこの手法は、各機器2のIPアドレスを知らなくても、通信手段1を介したインターネット上の如何なる場所からでも、利用者自身の家庭内の機器2を制御可能である。それ故に、利用者がIPアドレス或いは予め各機器2のホスト名を知っていることを仮定する必要はない。また、ここでは最新のダイナミックDNS(Domain Name System :インターネット上のホスト名とIPアドレスを対応させるシステム)の使用を考えなくても良い。DNSの更新は、総ての家にDNSサーバを導入する必要があるが、このことは、DNSの設置がインターネットに関する多くの知識を必要とするため実際的ではない。更に、ここでのシステムの手法は、利用者のHTTPクライアント3が直接機器2にアクセスする必要はない。このように、ゲートウェイ・サーバ4は、あらゆる要求の確認を照合することができる。それゆえに、我々の手法はまた従来のウェッブ基礎のホーム・コンピューティングのセキュリティ性を向上するものである。
【0036】
ゲートウェイ・サーバ4は、後述するウェッブ・ロボット(機器2に備えたウェッブ・サーバを自動的に巡回してデータを収集する)により構築された地図データベースを保存するデータベース記憶部を備えている。要求を受け取ると、URLのファイル部が調べられ、コマンド部が取去られる。それから、URLの残りのフィールドによってデータベースが検索される。データベースが新しいURLを返し、前段階で除去されたコマンド部が連結される。それから、目標の機器2がそのURLを使用してアクセスされる。
【0037】
こうした技法は、URL書き換えと呼ぶ。例えば、"http://www.gw.tatsuo.tokyo.jp/TV/!channel=10/"というURLについて考える。このURLは、「私は、私の家のテレビチャンネルを10にセットしたい」ことを意味している。ゲートウェイ・サーバ4は、自身の保有するデータベースの検索により、家の中にあるそのテレビのIPアドレスが123.5.10.10であることから、URLを"http://123.5.10.10/!channel=10/"に翻訳して書き換える。このことは、ゲートウェイ・サーバ4内に家庭内の機器2とIPアドレスとを関連付ける情報があれば、利用者は実際のIPアドレスを知る必要の無いことを意味する。
【0038】
総ての機器2は、それらの処理能力、記憶容量、バンド幅そして電力に限界があるため、複雑化して能動的になるものと予期されてはいなかった。それ故、各機器2に内蔵されているソフトウェアは、極力小さく単純化されなければならない。しかしながら、例えばUpnPやJiniのような機器2に対する現存の管理技術は、記憶容量と計算能力の必要性の点から極めて重量が重く、大部分の機器では使用できない。したがってここでは、能力の低い機器を発見できる軽量の機構を必要とする。この手法は、そうした機構のような検索手段すなわちウェッブ検索エンジン(インターネットで公開されている情報をキーワードなどを使って検索できるWebサイト)をゲートウェイ・サーバ4に導入する。このエンジンは、各機器2から集められた情報のデータベースを維持管理し、利用者がウェッブ検索技術によって必要とする関係の機器を発見することができる。
【0039】
各ウェッブ検索エンジンは、機器2の固有識別子と動作時間を記録し、自身のインデックスを更新化するために、特定の間隔でサブネットワーク上の可能な全アドレスに対しHTTP GET要求を周期的に送る。ゲートウェイ・サーバ4からの要求を受け取ったとき、機器2は、それ自身の2個のプロファイル、有効期限そしてここで詳述したURLに基づく形式で形成された利用可能なコマンド名を返答する。もし、ゲートウェイ・サーバ4のエンジンが動作中に機器2から何らかの応答を受けた場合、エンジンはデータベースから応答の無いの機器の登録を抹消する。更にこの手法は、一個以上のエンジンがネットワーク上で動作することを可能にする。いわゆるピアツーピアの手法で、 エンジンは互いに接続しあうことができる。各エンジンは、集められた情報に対し索引付けされた問合せインターフェイスを提供すると共に、他のエンジンから情報を回収したり、自身のインデックスの更新を増やすことができる。
【0040】
この機構は、JiniやUpnPの様にプラグ・アンド・プレイ方式で自動的に機器2を組み込むことができる。新規にネットワークに接続される機器2におけるインストール、若しくは再動作される登録済み機器2における再インストールの作業を考えると、各エンジンは、それがカバーするネットワークへ周期的にHTTP基礎の問合わせメッセージを沢山送るので、その機器2は与えられた間隔内でエンジンからのメッセージを受取り、自身の情報をエンジンへ返送する。次に、エンジンはその情報を自身のデータベースへ登録するか、或いはデータベースを更新して、次にその情報内で特定された有効期限で機器2に問合わせメッセージを送る。利用者または他のホストからの発見要望を受けた場合、そのエンジンは、現状のウェッブ検索エンジンで使用されているフルテキスト検索技術を使ってデータ・ベースから適当な機器を選び出す。故に、この機構は、容易にかつ自然にHTTP内での動作が可能である。各エンジンは、機器2の管理および発見に対し信頼をおけるので、機器2は無籍(Stateless)なHTTPとして扱うことができる。
【0041】
現行アーキテクチャ(基本設計概念)における問題点の一つは、各機器2のURLを如何にして知るかということである。利用者がHTTPクライアント3から目標の機器2を制御したい場合、URLの構文を知らねばならない。将来のコンピューティング環境において、機器2をいかに制御すべきかという情報を含む電気的タグを添付することが可能である。例えば、照明を点けることを意味するバーコードを付ける事が出来る。そのバーコードは、パーソナル機器により照明をオンすると読み込まれる。URLは、そのURLを含んだビーコンを受け取ることによってアプリケーションから検索されてもよいし、またRFID(Radio Frequency ldentification :無線周波による非接触自動識別器)がバーコードの代わりに使われても良い。
【0042】
ここでの解決法は、URLを発見するパーソナル機器の使用である。このパーソナル機器は、URLを含むバーコードを読み込んだり、ビーコンを受取ることができる。パーソナル機器がバーコードを読む場合、そのIDがゲートウェイ・サーバ4の中にあるバーコード管理手段すなわちバーコード・マネージャーへ転送される。バーコード・マネージャーは、受け取ったIDを実際のURLに変換し、目標の機器2へコマンドを送る。また、パーソナル機器がビーコンを受信した場合は、ビーコン中のURLは、ゲートウェイ・サーバ4に転送される。この手法によって、システムを使用する場合に、種々の機器2の制御を容易に行なうことができる。
【0043】
次に、図1における装置構成を発展させた例を図3に基づき説明する。ここでは、システムが如何に動作するかを一つのシナリオで示している。シナリオの中では、利用者は機器2の遠隔制御手段としてのPDA装置(Personal Digital Assistance:個人用携帯情報端末)11を保有していて、家の中には3個の機器2、すなわちここでは映像音響機器に相当するテレヴィジョン12と、家電機器に相当する電子レンジ13と、照明手段としてのライト13が、ホームネットワークを構築する通信手段1に接続される。これらの機器2の総ては、ウェッブ・サーバを内蔵していて、ゲートウェイ・サーバ4は上述したようなウェッブ・ロボット手段を実行するプログラムを使って、現在利用可能な機器2に関する情報を集める。例えば、テレヴィジョン12はウェッブ・サーバにアクセスする為のURLを持つ情報を返信し、ゲートウェイ・サーバ4は、自身のデータ・ベース中にその情報を保存する。
【0044】
PDA装置11がWebページ閲覧手段であるウェッブ・ブラウザを起動して開くとき、最初のHTTP GETの要求がゲートウェイ・ウェッブ・サーバ4によって探し当てられる。PDA装置11のウェッブ・ブラウザは、家の中で現在利用可能な機器2のリストを含むHTMLページを、インターネット上でワイヤレスアクセスポイント15を介して返信する。そのHTMLページは、ウェッブ・ロボット手段を実行するプログラムによって集められた情報を利用して、ゲートウェイ・サーバ4により自動的に生成される。
【0045】
利用者が、TVすなわちテレヴィジョン12のスイッチを入れなさいと云うコマンドを発信したと仮定する。PDA装置11のウェッブ・ブラウザは、" http://www.myhome.net/TV/!power=on/"というGETコマンドを発信する。URLは、"http://tv.myhome.net.tokyo.jp/!power=on/"(G.Voelker氏およびB.Bershad氏による「モビザイク:モバイル無線コンピューティング環境用の情報システム(モバイルコンピューティングシステムおよびアプリケーションにおけるワークショップ議事,1994年IEEEコンピュータ学会)」参照)と翻訳し、テレヴィジョン12のウェッブ・サーバへそのコマンドを転送する。この例で、” www.myhome.net"は、利用者のコンテキスト情報に従って、”www.tatsuo.tokyo.jp"と翻訳される。このことは、利用者が、自分の家にあるゲートウェイ・サーバ4のIPアドレス或いはホスト名を知らずに、自分の家のテレヴィジョン12にアクセスできることを意味する。しかもこのアドレスは、本システムによって自動的に検索される。また、“http:// www.tatsuo.tokyo.jp/TV/"は、"http://tv.tatsuo.tokyo.jp/"と翻訳される。このことは、利用者は、自分のテレヴィジョン12における実際のIPアドレスやホスト名を知る必要が無いことを意味する。最後に、テレヴィジョン12のウェッブ・サーバがそのコマンドを受けると、ウェッブ・サーバはテレヴィジョン12の電源スイッチをオンにする。
【0046】
ここでの手法は、以下に説明するように、位置認識された機器2の制御を可能にする。利用者がインターネットに自分の装置(例えばPDA装置11)を接続する場合に、全てのパケットは、最寄りのルーターに向けて転送されるであろう。ゲートウェイ・サーバ4はルーター上で動作し、如何なるHTTP要求もゲートウェイ・サーバ4によって検索される。最初のHTTPが検索された時に、ゲートウェイ・サーバ4がPDA装置11のブラウザ上でページを返信してもよい。最も近くにあるゲートウェイ・サーバ4がそのページを返信するので、返信したページはゲートウェイ・サーバ4の位置に従ってカスタマイズされる。このことは、利用者が、自身の近くで現在利用できる機器2を知っていることを意味する。例えば、前記説明したシナリオではが、利用者に身近な利用可能な機器2をPDA装置11のブラウザ上で表示することができる。家の中で複数のゲートウェイ・サーバ4を使用することにより、利用者の行動を自分の場所に従がって適応させることが可能になる。
【0047】
ここでのシステムは、周囲の表示或いは"Calm Technology"を実現する基盤として望まれる。例えば、前記テレヴィジョン12を制御するURLがクリックされたと仮定しよう。利用者が、テレヴィジョン12を制御するHTTP POST要求をゲートウェイ・サーバ4に送る場合、ゲートウェイ・サーバ4は、別のライト14を点灯せよというURLを含むIMGタグを含むページを返信しても良い。かくして、IMGタグ内のURLによって、ライト14が自動的に点灯する。これが周囲表示の例であり、本実施例におけるシステムは、ユビキタス・コンピューティング研究の実験的基盤として、非常に魅力的なものとなる。
【0048】
また将来的にこのシステムは、VCNサーバ(Visitor And Community Network System:利用者単位のサービス割当、インターネット・ベースの課金システム、セキュリティ/認証サービスを簡単に行えるソフトウェアを含むサーバ)にアクセスするための書き換え計画に対し考慮されている。利用者は、ゲートウェイ・サーバ4上のプロキシVCNサーバにアクセスする。プロキシVCNサーバは、あるコンピュータ上で実行される目標のVCNサーバに向けて総てのパケットを転送する。この手法により、ユビキタス・コンピューティング環境における情報を提供する柔軟な方法を提供できる。
【0049】
さらに本システムは、バーチャル・オーバーレイ・ネットワークを使用して、Jini, UpnPやHAViを接続するミドルウェア・コンポーネントにも考慮されている。本システムは、これらのミドルウェア・コンポーネントを接続するためのHTTPプロトコルに基づいているので、ミドルウェアを修正せずにJini, UPnPやHAViに本システムを接続するために、このコンポーネントを使うことができる。
【0050】
このように、本実施例ではホーム・コンピューティングの新しい構成について説明した。この構成は、ウェッブ・システムに基礎を置いており、種々の家庭用の機器2が柔軟な方法で統合される。この手法の利点は、JiniやUPnPのようなディレクトリ管理や、自動構成管理の提供を可能にしつつも、機器2に内蔵されるウェッブ・サーバが修正されることを前提としないことである。かくして、近い将来に非常に大衆的になるウェッブ・サーバを内蔵した汎用家庭機器を、本実施例のシステムは統合することができる。それ故に、Jini, UPnPやHAViの様な他の技術に比べて、ここでの構成はより円滑に利用できる。
【0051】
以上のように本実施例では、利用者が保有する端末(HTTPクライアント3またはPDA装置11)と、ウエッブサーバーを内蔵した制御対象となる機器2とを接続したネットワーク網を構築する通信手段1にゲートウェイ・サーバ4を接続し、このゲートウェイ・サーバ4は、現在利用可能な機器2の情報を自動的に収集して、その内容を該端末に提示する自動構成管理手段と、前記端末から目標となる機器2を制御するコマンドが発信されると、このコマンドに含まれるURLを翻訳して前記目標となる機器2にURLでアクセスするディレクトリ・サービスとしての機器アクセス手段とを備えている。
【0052】
このようにすると、HTTPプロトコルに基づくネットワークで各機器2を統合するのに必要な機能が、自動構成管理手段と、ディレクトリ・サービスに相当する機器アクセス手段としてゲートウェイ・サーバ4に備えてあるので、ウェブ・サーバを有する家庭用の機器2を修正することなく、複雑なホーム・コンピューティング環境を構築することが可能になる。
【0053】
さらに本実施例では、HTTPプロトコルを使用して前記機器2の制御を可能にし、その動作を利用者の状況に応じて変化させる状況認知("context-aware")機器制御手段を、ゲートウェイ・サーバ4に備えるのが好ましい。このようにすると、HTTPプロトコルに基づいたユビキタス・コンピューティング環境の構築を達成できる。
【0054】
次に、本発明の第2実施例を図4〜図6に基づき説明する。ここでは、バーチャルオーバーレイネットワークへの展開を例にした実施例を詳述する。
【0055】
実施例の説明に入る前に、ここでいうオーバーレイ・ネットワークとは、その中に含まれる基本ネットワークがいくつかの上位ネットワークを支援する為に使用される構成として定義でき、ヴァーチャル・オーバーレイ・ネットワークを実現するための基本特性の十分なセットを提供する。ヴァーチャル・オーバーレイ・ネットワークは、新しいアブストラクト特性を提供する為のソフトウェア層を加えることにより、オーバーレイ・ネットワークの基本特性を拡張する。利用者に代わってその特性を実行することは、各アプリケーションに対してカスタマイズされる。この考え方は、D.Tennenhouse氏などが1997年に"IEEE Communication Magazine Vol.35, No.1で提案した"A Survey Of Active Network"におけるアクティヴ・ネットワークに似ている。アクティヴ・ネットワークは、既存のネットワークのカスタマイズを可能にするので、アプリケーション特有のコードは、ネットワークによって提供される現存の特性を修正することなく注入することが可能である。一方、ヴァーチャル・オーバーレイ・ネットワークは、各アプリケーションに適した新しいアブストラクト特性を追加し、既存のネットワークは拡張しない。ヴァーチャル・オーバーレイ・ネットワークは、既存のネットワーク・インフラの修正を必要としない故に、より実際的であり、各アプリケーションに対し容易にカスタマイズされる。
【0056】
ここでは図4に示す様に、インターネットのような既存のネットワーク21上に構築されるネットワークとして、ヴァーチャル・オーバーレイ・ネットワーク22を定義する。ヴァーチャル・オーバーレイ・ネットワーク22においては、多くのアプリケーションレベルのゲートウェイ23が、ネットワーク22に設置され、IPプロトコルのような或るネットワーク・プロトコルによって接続される。アプリケーションレベルのゲートウェイ23の役割は、目的地にメッセージを通すことにある。また、環境と利用者によって提示される種々の要求に従がって、各メッセージとプロトコルを翻訳してもよい。アプリケーション・レベルのゲートウェイ23は、ヴァーチャル・オーバーレイ・ネットワーク22のルーター装置として考えることができる。このゲートウェイ23は、通常インターネットにより接続されるが、基礎にあるデータリンク・ネットワークは、もしもアプリケーション・レベルのゲートウェイ23間で特別なQOS要求を満足する必要があれば、直接使用することができる。
【0057】
ヴァーチャル・オーバーレイ・ネットワーク22は、現在インターネットが持つ広範囲にわたる問題を、解決するであろう。例えば、現存するインターネットは、FQDN(十分に資格を与えられたドメイン名)やIPアドレスを採用しているが、メッセージのルーティング(最適な径路選択)を採用するために、アプリケーション特有の命名(ネーミング)を取り入れることができる。また、アプリケーション・レベルのゲートウェイ23間の接続は、元々あるネットワーク21を直接使用するか、或いはアプリケーション・レベルのゲートウェイ23におけるコンフィギュレーション
(構成)を慎重に選択することにより、ゲートウェイ23間の各QOS要求に従がって適合するように作られる。一方、インターネットにおける端末間のQOS保証を実現することは非常に難しい。アプリケーション・レベルのゲートウェイ23の機能を選択することによって、それぞれのアプリケーションに対しヴァーチャル・オーバーレイ・ネットワーク22をカスタマイズすることができる。移動支援の構築における実験からすると、高レベルの機能を実現する為の解決法は、それぞれのアプリケーションに対しカスタマイズされるべきと考えられる。
【0058】
ヴァーチャル・オーバーレイ・ネットワーク22の概念は、新しいものではない。それぞれのアプリケーションに対して、ヴァーチャル・オーバーレイ・ネットワーク22の構築に関する提案が従来より幾つか知られている。例えば、Inktomi社の2000年テクニカルレポートにある"The Inktomi Overlay Solution for streaming Media Broadcasts"では、映像や音響の様なマルチキャスト連続メディア・データ用のヴァーチャル・オーバーレイ・ネットワークが提案されてきた。また、J.Jannotti, D.K.Gifford, K.L.Johnson, M.F.Kaashoek, J.W.O'Toole Jr.氏による"Overcast: Reliable Multicasting with an Overlay Network"(2000年オぺレーティングシステムデザインおよびインプレメンションの第4シンポジウム会報)や、A.Jones, A.Hopper氏による"The Prototype Embedded Network(PEN)"(AT&T研究所,ケンブリッジ,テクニカルレポート,2000年第15号)には、信頼性のあるマルチキャスティングに対するヴァーチャル・オーバーレイ・ネットワークが提案されてきた。L.F.Cabrera, M.B.Jones, M.Theimer氏による"Herald: Achieving a Global Event Notification Service"(2001年オぺレーティングシステムのホットトピックスにある第8回ワークショップ会報)においては、地球規模のイヴェント・サービスに対するヴァーチャル・オーバーレイ・ネットワークが提案されてきた。さらに、K.P.Birman,氏による"Technology Challenges for Virtual Overlay Networks"(2000年情報確約および保証における2000IEEEワークショップ会報)においては、それぞれのヴァーチャル・オーバーレイ・ネットワーク用の資源を分轄する為に使用されるルータパーテーション機構が提案されてきた。この解決法は、インターネットの総ての要求を包括的に満足するものではないが、各ドメインの問題を解決するのには十分である。
【0059】
従来のネットワークに於いて、ヴァーチャル・オーバーレイ・ネットワークの概念は、部分的に採用されていた。例えばネットワーク上でデータの一斉配信を効率よく行なうための技術であるマルチキャストを、インターネット上で利用できるようにするために構築された実験ネットワークの一つであるMboneや、現在のインターネット上におけるマルチキャスト能力のあるIPネットワークが構築され、また6Boneは、現在のインターネット上のIPv6ネットワークを発展させるために利用されてきた。さらに、ドメイン・ネーミング・システムやウェッブ・キャッシング・システムもまた、ヴァーチャル・オーバーレイ・ネットワークと考えられており、アプリケーション特有の方法で、種々の問題を解決した。
【0060】
こうした既知の提案は、ヴァーチャル・オーバーレイ・ネットワークの概念を採用することにより、拡張性を大いに増大したが、これらの提案は、従来の基礎的データ・リンク・ネットワークは直接使用せず、プロトコルやメッセージの翻訳も明らかに使用していない。その点で本実施例におけるシステムは、ヴァーチャル・オーバーレイ・ネットワークの概念を十分に利用する努力をしている。
【0061】
システマティックな方法で各アプリケーション向けにカスタマイズされたヴァーチャル・オーバーレイ・ネットワークを開発することは、最も重要な目的の一つである。しかしながら、この目標の達成は、それまでの多くの経験から断定できる。ここでは、ネットワーク化された家庭用の機器を統合する為のヴァーチャル・オーバーレイ・ネットワークの構築について説明する。例えば、Jini,UpnP,HAViそしてSOAP(Simple Object Access Protocol :他のコンピュータにあるデータやサービスを呼び出すためのプロトコル)は、種々の家庭用機器を制御する為に提供される。クライアント機器は、もしこれらのプロトコルの総てを支援していなければ、家庭用の機器を制御することはできない。しかしながら、多くのプロトコルを支援することは、大きな記憶容量を必要とするので非現実的である。また、新しいプロトコルが将来の家庭用機器に提案されたとすれば、新しいソフトウェアがクライアント機器の中に追加されなくてはならない。
【0062】
ここでのヴァーチャル・オーバーレイ・ネットワーク22は、クライアント機器によって支援されるプロトコルを家庭用の機器によって支援されるプロトコルに転換することにより、この問題を解決する。この転換は、機器とネットワークの特性に従がって、各アプリケーション・レベルのゲートウェイ23によって実行される。
【0063】
次に、ネットワーク化された家庭用機器を統合するヴァーチャル・オーバーレイ・ネットワークの効果を詳細に説明する。ヴァーチャル・オーバーレイ・ネットワークの設計を動機付ける最終的な目標は、IEEE1394や、ブルートゥースや、インターネットのような異質のネットワーク上に置かれた各家庭用機器に対し、アプリケーション特有のアブストラクションを提供することである。ここでは、現行プロトタイプのヴァーチャル・オーバーレイ・ネットワークの設計とその利用に就いて説明する。最初に設計の問題点と我々のシステムの概観を提示し、次にこれまで利用した幾つかの構成要素を提示する。最後に、現行プロトタイプシステムについての幾つかの問題点を説明する。
【0064】
エンドツーエンドの議論は、インターネットに対するシステム設計の原理である。すなわち、複雑なネットワーク機能は、ネットワークの端末に押し進められるものと思われる。しかし現在のインターネットの全端部は、複雑な計算機ではない。何故ならば、例えば、家庭用機器,内蔵コンピュータそしてPDA装置のように、それらの内のいくつかはそれら自身の特別な目的だけのために設計されているからで、それらはインターネットの標準プロトコルは処理できない。したがって、そうした複雑でない端末よりも、機能豊かなネットワークが、ネットワーク内部に於いて支援され向上されるべきであり、端末のあるものとサブ・ネットワークがインターネット向けに用意されていなくても、全端末とサブ・ネットワークに対して継ぎ目の無い状況を提供すべきである。ここでのヴァーチャル・オーバーレイ・ネットワークの骨組みは、次のような機能追加を支援する。
(1)ヴァーチャル・オーバーレイ・ネットワークの骨組みは、新しい命名システムを中心に構築される。ホストネームをアドレスにハードコーディングするような属性に従うというよりもむしろ、機能的かつ物理的位置のような意図した情報に従がって、機器が調べられるべきと考える。実際、TCP/IPを支援しない機器の中には、インターネット内で利用可能な独自のアドレスを持つことが出来ず、その機器に直接接続することができる他のサーバにより包含され、かつ他のサーバを介して確認される必要がある。
(2)ウェッブ基礎のコンピューティングは、HTTPを通じて行なわれ、現在のインターネット内で広く使用される。HTTPはワールド・ワイド・ウェッブ(www)を支えるプロトコルであり、定義によってあらゆるウェッブ・ブラウザはHTTPを使って通信可能である。この通信は、定められた命名規約に適合したURLを使うブラウザによって発生する。ここでヴァーチャル・オーバーレイ・ネットワークは、ウェッブ・ブラウザからの容易なアクセスと種々の家庭用機器の制御を可能にするのみならず、機器が互いに通信し協力動作を行なうことを可能にする。
(3)家庭用機器の中には、JiniやUPnPのような装置(デバイス)とサービスを管理する既存のサービスディスカバリーシステムの下でしばしば管理されるものがある。こうしたシステムは、最小の管理と人間の干渉で装置/サービス内の動的な協動を容易にするために提案されたものである。この臨時的な共同を支援するためには、ネットワークに対してその存在を公表する手段を備えるべきで、これにより近くに在るサービスを発見して、そのサービスにアクセスすることができる。ヴァーチャル・オーバーレイ・ネットワークの骨組みは、各機器に対してのみならず、各機器を管理する現存のに対しても、統一された考え方を提供する。
(4)ヴァーチャル・オーバーレイ・ネットワークの骨組みは、ネットワーク中のデータの変換を行なうために、トランスコーディングを広範囲に使用すべきである。これは、家庭用機器の中にはプロセッサや入出力装置のような計算機資源にしばしば重大な限界が在るためである。ある家庭用機器においては、外部システムからのデータをトランスコーディングするためのあらゆる助けがなければ、ネットワークから受け取りネットワークへ送り出す多量のデータを、直接処理できないものもあるかもしれない。
【0065】
本実施例におけるヴァーチャル・オーバーレイ・ネットワーク22の骨組みは、家庭用の機器/サービス24、そしてアプリケーション・レベルのゲートウェイ23から構成されるが、家庭用機器24の幾つかは、まさにアプリケーション特有の装置であって、TCP/IPをサポートしていないものもある。したがって、アプリケーション・レベルのゲートウェイ23は、機器24特有のプロトコルからHTTPへの(或いはこの逆)プロトコル翻訳変換手段を機能的に備える必要がある。ここでは、各アプリケーション・レベルのゲートウェイ23は、HTTP基礎のプロキシ・サーバとして受け入れられる。それは、HTTPに基づく家庭用の機器24の制御プロトコルを受け入れ、機器24特有のプロトコルに翻訳する。さらには、機器24特有のプロトコルからインターネットへのアクセス点として、ゲートウェイ23の使用を提案する。ゲートウェイ23は、HTTPから目標となる機器24に対応するコマンドへの翻訳サービス手段を備える。またゲートウェイ23は、インターネットから、若しくはインターネットへの種々の機器の広範囲なセッション・インターフェースをエクスポートする。
【0066】
アプリケーション・レベルのゲートウェイ23は、例えば、命名や、トランスコーディングやパケット転送などのアプリケーション特有のサービスを、種々の機器に対してサポートすべきであり、そのためにゲートウェイ23に対しては拡張性を持たせる手段を導入する。アプリケーション・レベルのゲートウェイ23は、2層から成る。上層はHTTP要求や種々のモジュールを満たすための機能から成り、種々のモジュールは確証や機器制御などのウェッブ基礎のタスクを実行する論理を提供する。このモジュラーアプローチ手段は、ゲートウェイ23としての機能を拡張する為に、追加モジュールを組み入れることが可能である。下位の層は、実際の機器にアクセスすると共に、各サービスをサポートするための骨組みを使用する。
【0067】
ここで考慮すべきもう一つの点は、機器24の制御器である。この制御器は、HTTPに基づいた機器24の制御要求を、ゲートウェイ23に送る。制御器用には従来のウェッブ・ブラウザを使用するが、ブラウザに対するいくらかの修正を行なうことで、新たな機能を提供することができる。
【0068】
次に、2つのシナリオを使って上記構成を具体化した例を説明する。最初のシナリオは、ウェッブ・ブラウザから家庭用機器にアクセスすることであり、二番目の例は、異なるプロトコルを使用する二つのホーム・ネットワークを繋げることである。そして最終の目的は、URL基礎のインターフェースを任意のアプリケーションやデバイスに提供することであるが、目下のところ総てのネットワーク機器をHTTPサービスに転換することはできない。その代わり、各アプリケーション・レベルのゲートウェイは、URLに基づく表現から機器用に設計された対応するコマンドへの翻訳サービスにより、それらの特別のネットワークを通じて、一個以上の機器を制御する。一般的には、ウェッブ・ブラウザは、標準のHTTP GET機構を使って問合せ要求を提示することにより、URIに一致するリモートホストにアクセスして、そのURIからの応答を受け取るか、または標準のHTTP POST機構を使ってHTML形式を通じてURIにデータを提示し、同じくHTTP内のURIから応答を受け取る。ゲートウェイ23が機器24への通信を終了した時に、終了データはブラウザへ戻される。
【0069】
なお、具体的なURLの記述に関しては、第1実施例と同様であるのでその説明を省略する。
【0070】
ヴァーチャル・オーバーレイ・ネットワーク22の骨組みは、3個の要素、すなわちアプリケーション・レベルのゲートウェイ23と、端末である制御器と、そして機器/サービスから成る。機器/サービスは、アプリケーション特有のものであるので、ここでは議論しない。これ以降は、アプリケーション・レベルのゲートウェイ23と制御器を説明する。
【0071】
アプリケーション・レベルのゲートウェイ23は、図5に示す様に、機器特有のネットワーク(ホームネットワーク)とインターネット間のゲートウェイとして動作する。アプリケーション・レベルのゲートウェイ23は、前述したようにHTTPに基づく制御方法と種々のミドルウェア制御方法との間の橋渡しを行なう。
【0072】
アプリケーション・レベルのゲートウェイ23は、4つの構成要素から成る。第一の構成要素は、HAVi,Jini或いはUPnPのようなホーム・ネットワーク・プロトコルを実行するもので、これはホーム・ネットワーク装置として動作する。例えば、もしその構成要素がJiniプロトコルを実行するならば、構成要素はJini装置として動作する。第二の構成要素はHTTPプロトコルを実行するもので、この構成要素はウェッブ・サーバとして動作する。
【0073】
第三の構成要素はプロトコルの翻訳を実行するもので、この翻訳手段は、前述のようなHTTP処理と特殊なホーム・ネットワーク・プロトコル間の変換を行なう。例えば、HAVi翻訳手段は、HTTPプロトコルからHAViプロトコルへのまたその逆の変換を行なう。さらに現行プロトタイプの実行にて、Jiniの翻訳とUpnPの翻訳も実行される。
【0074】
最後の構成要素は登録管理手段である。この登録管理手段は、ウェッブ・ブラウザからのHTTPプロトコル、またはプロトコルを利用している機器からのホーム・ネットワーク・プロトコルによってアクセスすることができる。もし、ホーム・ネットワーク22上にある機器24が、ホーム・ネットワーク22外からアクセスを受けたならば、機器24の名前がアプリケーション・レベルのゲートウェイ23に登録されるべきである。その名前は、HTTPプロトコルか、またはホーム・ネットワーク・プロトコルかを経由して登録される。登録後、擬似的なホーム・ネットワークデバイスが、アプリケーション・レベルのゲートウェイ23内に作成される。擬似デバイスは、自動照合サービス内に、その名前を登録する。擬似デバイスの役目は、ホーム・ネットワーク22上で送られる制御コマンドをHTTPプロトコルに変換することである。
【0075】
次に、スタートアップ手順を説明する。アプリケーション・レベルのゲートウェイ23がスタートアップ(行動開始)する時、周囲のネットワークに参入しようとする。このネットワークで使用されるプロトコル特有のミドルウェアにより提供される方法を使って、どの装置(デバイス)若しくはどのサービスが利用可能かを調査する。例えばJiniネットワークにおいては、ゲートウェイ23は、Jiniの照合サービスを使用するであろう。この調査によって蓄積される結果は、ホーム・ネットワーク・プロトコルによって使用される属性と、HTTPに基づく方法で使用される対応コマンドとを記録するデータベースに蓄積される。
【0076】
もし、アプリケーション・レベルのゲートウェイ23が、インターネット21からのHTTP基礎のコマンドを受け取ると、その内部にあるデータベースを参照することにより、そのコマンドを解析し、どのコマンドがどのコマンドに送られるべきかを決定した後、必要なプロトコルの翻訳を適用し、ミドルウェア特有の対応するコマンドを送り出す。一方、登録管理手段によりゲートウェイ23で作られる擬似デバイスは、機器24に特有のネットワーク装置として動作する。このことにより、アプリケーション特有のネットワーク22側にある装置が、ゲートウェイ23のインターネット21側にある装置の制御を可能にする。この様にして、ゲートウェイ23が、ホーム・ネットワーク22内にある装置に対して、あたかもインターネット21側の装置によって実際に提供される機能或いはサービスを提供するように見えることになる。
【0077】
アプリケーション・レベルのゲートウェイ23は、HTTPサーバとして制御インターフェースを提供し、如何なるアプリケーション特有のネットワーク装置も、HTTP基礎の制御プロトコルを使っての制御が可能となる。それ故、現存のウェッブ・ブラウザを制御器25に使用することを受け入れる。近年、ウェッブ・ブラウザは、パソコンは言うまでもなく、PDA装置,携帯電話そしてデジタルTVセットに内蔵されるようになった。これらの装置は総て、アプリケーション・レベルのゲートウェイ23により、他の装置を制御する為に使用することができる。広域のブラウザが、上述の如く制御器25として使用される時、ゲートウェイ23は、自身が受け入れるであろう各コマンドにリンクしたコマンド・ボタンを含むウェッブ・ページを生成しなけばならない。一方、もし制御器25が、自身で独特のHTTP基礎のコマンドを生成するように構築されるならば、ホーム・ネットワーク環境に対するカスタマイズ性或いは適応性という点で、広範囲なブラウザ上で確実な長所を持つであろう。
【0078】
次に、上記ヴァーチャル・オーバーレイ・ネットワークを使用して、異なるホーム・ネットワーク・プロトコルを提供する幾つかのホーム・ネットワークをどのようにして接続するのかを説明する。図5に示すように、ここでは各アプリケーション・レベルのゲートウェイ23を通じてインターネット21に接続される3つのホーム・ネットワーク22(22A〜22C)を想定する。各ホーム・ネットワーク22は、それらのゲートウェイ23(23A〜23C)がそれぞれ"http://any.where.net","http://my.home.net","http://foo.bar.net"というURLを有し、アプリケーション特有のプロトコル、すなわちUpnP,HAViそしてJiniを使用している。
【0079】
一つの例として、HAViネットワーク22A上にあるVCR装置31を、PDA32からUPnPネットワーク22Cへ制御したい場合を想定して見よう。HAViネットワーク22A中で、VCR装置31は“VCR”として登録されており、そのアプリケーション・レベルのゲートウェイ23A(HAVi,ApGW)は、HAViの照会サービスにおいて“apgw”として登録されている。また、UPnPネットワーク22CにあるPDA32は、"PDA”として登録されており、そのアプリケーション・レベルのゲートウェイ23C(UPnP,ApGW)は、UpnPの照会サービスにおいて“apgw”として登録されている。
【0080】
そして最初に、UPnPネットワーク22CにあるPDA32からHAViネットワーク22A上にあるVCR装置31を制御する為に、UpnPネットワーク22C中にHAViネットワーク22A上にあるVCR装置31を登録する必要がある。PDA32によって、利用者はPDA32上で展開するウェッブ・ブラウザから、UPnPアプリケーション・レベルのゲートウェイ23C内に、”http://my.home.net/VCR"としてVCR装置31を登録する。これは、http://any.where.net/!register="http://my.home.net/VCR"と記述される「登録」コマンドを使用する。
【0081】
もし、UPnPアプリケーション・レベルのゲートウェイ23Cが、この登録要求を受け取ると、VCR装置31に関する情報を要求する為に、HTTP基礎のプロトコルを使用してHAViアプリケーション・レベルのゲートウェイ23Aに問合せを送る。HAViアプリケーション・レベルのゲートウェイ23Aは、URLにより指示されたVCR装置31に関する情報を返送する。UPnPアプリケーション・レベルのゲートウェイ23C上で、VCR装置31の擬似UpnPデバイスが、HAViアプリケーション・レベルのゲートウェイ23Aから戻ってくる情報を利用して作成される。擬似デバイスは、"VCR”という名前を持ってUpnPの通信部に結合する。PDA装置32がVCR装置31を制御したい場合は、PDA装置32は、UPnPのサービスディスカバリー機構を介してVCR装置31を発見しようとする。サービスディスカバリー機構は、UPnPアプリケーション・レベルのゲートウェイ23C上で作成された擬似デバイスに対し照会を返信する。すると制御コマンドが、UPnPプロトコルを通じて擬似デバイスに配達される。擬似デバイスは、UPnPの要求をHTTPプロトコルへ変換し、http://my.home.net/VCR"のホスト名部分に従がって、HAViアプリケーション・レベルのゲートウェイ23Aにその要求を転送する。HAViアプリケーション・レベルのゲートウェイ23Aは、変換されたHTTP要求を受け取り、HAVi照会サービスを通じてURLのファイル名の中で指定された”VCR”によって、実際のVCR装置31を発見する。最後に、コマンドはHAViコマンドに変換され、目標のVCR装置31へ配達される。
【0082】
ヴァーチャル・オーバーレイ・ネットワークの骨組みを現在使用している中で、各アプリケーション・レベルのゲートウェイ23は、スタンドアロン処理として実行するJava(登録商標)・アプリケーションとして利用されると共に、家庭用機器に対するHTTP基礎のインターフェイスと、管理機器用のサービスディスカバリーシステムとを提供する。各アプリケーション・レベルのゲートウェイ23は、その受信したURLを含む属性を解釈する簡単な記憶データベースを有する。更に、JiniとUPnPのようなその基本サービスディスカバリーシステムと協同して、未知の属性を処理することもできる。
【0083】
続いて、ゲートウェイへ送り出すコマンドと同様に、利用者の好みや個人的な認証や環境情報等のような追加情報の送り出しを可能にする制御器の拡張について説明する。HTTP基礎の制御コマンドを自分自身により発生可能な制御器が、種々の量の情報を送る為に使用されることで、制御器とゲートウェイ間の協力的関係が向上する。その様な情報の例は、利用者用にカスタマイズされた設定と環境変数を含む。ここでの制御器は、上記提案したようなコマンドを発生することのできる拡張されたウェッブ・ブラウザである。拡張されたウェッブ・ブラウザは、それが送るHTTP基礎のコマンドに内蔵させることにより、環境変数をゲートウェイに送ることが出来る。環境変数が内蔵される前のHTTP基礎のコマンドは、例えば、"http://%(HOME)/?OWNER=%(USER)&?location=%(LOC)&?function=tv/!power=on"として表わせる。このコマンドは、所有者が“利用者”であり、位置が“HOME”内の"LOC”にあるTVセットの電源をオンせよ、という意味する。制御器がそれ自身について有する環境情報を想定しよう。その利用者は、例えば"USER=foo","HOME=http://my.home.net/","LOC=living-room"ような情報を有するものとする。
【0084】
制御器は、環境変数の始まりとして”%(“を取扱う。”%(“と”)“との間に囲まれる文字列は、環境変数の名前である。”%()”の部分は、対応する環境変数の値と置き換えられる。この場合送られるコマンドは、"http://my.home.net/?=OWNER=foo&location=living-room&function=tv/!power=on"となる。
【0085】
制御器が持つ環境情報は、制御器そのものの位置や、制御器を現在使用している利用者や、他の環境パラメータに従って更新される。もしも、同じ制御器の同じボタンを押したとしても、ボタンが押された状況次第で、発信されるコマンドは異なっても良い。家庭用機器の制御に影響を与える為に使用できる環境情報の他の例は、天気情報、利用者の感情等であっても良い。
【0086】
大部分の標準はオブジェクトモデルに基礎を置いているが、各標準間には多くの差がある。Jiniは、リモートサービスと各機器を統合するJavaに基づいた基盤(インフラ)である。Jiniシステムは、分散システムに於ける、サービス構築、照合そして通信の各機構を提供する。しかしながら、Jiniは多くをJava言語に頼っており、そのランタイム・システムは、大量の計算機資源を必要とし、この様な資源は家庭用では通常極度に限定される。UPnP(ユニバーサル・プラグ・アンド・プレイ)は、パソコンと機器間のピアー・ツー・ピアー・ネットワーク接続を供給する構成である。UPnPは、装置をダイナミックにネットワークに参加させ、自身にIPアドレスを割り当て、自身存在と要求に応じる能力を有する。UPnPは、TCP/IPとウェッブ技術に基礎を置き、家庭や事務所に於いてネットワーク化された装置間での制御とデータ伝送に加えて、シームレスな近接ネットワークを可能にする。しかしながら、UPnPはXMLファイルにおける各機器の特徴と能力を発揮するように図られている。XMLに基礎を置いたプロファイルは、Jiniの簡単なサービス属性に反して、機器能力の複雑な手間の掛かる説明が必要であるので、家庭用の機器がXMLファイルを解釈するのは困難である。
【0087】
HAVi(Home Audio Video Interoperability)は、デジタル音響、映像の消費者用機器を、シームレスに接続するためのホーム・ネットワーク標準を提供する。HAViはまた、そのプログラム内からの各機器への制御を可能にするAV機器制御用Java APIをもまた提供する。HAViは、十分な帯域幅を持ちデジタル音響、映像の多数の信号流を伝送できるIEEE1394ネットワーク・インターフェーイスを各機器が有することを仮定している。しかしながら、こうした要求は、種々の型の機器でHAViが広く使用されることを阻害している。
【0088】
将来の家庭用機器において、それらの製造業者の方針による各種異なる標準を、支援することが期待されている。しかしながら、これらの標準は、多様なホーム・ネットワークをサポートするものではない。ここで提案したヴァーチャル・オーバーレイ・ネットワークは、総ての家庭用機器が互いに接続され制御することを可能にする。
【0089】
OSGi(The Open Services Gateway specification)は、Javaに基礎を置くアプリケーション層の骨組みであり、サービス提供者、装置メーカーそして機器製造業者に、業者には中立のアプリケーションと装置層APIと機能を提供する。この戦略は、事実上、出現する総てのホーム・ネットワーク基盤、プロトコルそしてサービスを、現存する住宅電話線、ケーブルTV或いは電線を使って、バックエンド・サービスとのシームレスな相互作用を可能にする。この技術は、基盤から独立している必要があり、その結果、種々の計算機環境、通信環境、消費者向けエレクトロニクスそして家庭用製品と基盤上での使用が可能となる。オープン・サービス・ゲートウェイ仕様は、オープン・システム層とサービス・ゲートウェイ向けのゲートウェイ・インターフェイスの提供に専門的に焦点を当てるので、現在のネットワーク標準と企業心を補足し向上させる。これらの内幾つかは、Jini,ブルートゥース,CAL,CEBus,HAVi,Home API,HOME-PAN,HomePnP,HomeRFそしてVESAを含んでいる。
【0090】
オープン・サービス・ゲートウェイ仕様はまた、将来の高機能家庭用装置における消費者の投資を維持する。例えば、今日において、消費者がホームセキュリティプロバイダを別のプロバイダに切り替える時、内部ネットワークの総てを入れ替えなければならない。オープン・サービス・ゲートウェイ仕様と互換性のある装置を選択することにより、消費者は、事実上如何なるネットワーク基盤を入れ替える必要無しに、種々の業者の商品間で、どれにでも切り替えできる。
【0091】
OSGiの利点は、拡張性のあるホーム・ゲートウェイを構築する為の骨組みを提供することにある。拡張性のあるアプリケーション・レベル・ホーム・ゲートウェイを履行する為に、この標準が採用される。
【0092】
上記実施例では、ネットワークされた家庭機器を統合するヴァーチャル・オーバーレイ・ネットワークを提案してきた。ヴァーチャル・オーバーレイ・ネットワークは、メッセージの伝達ルートを決定し、ネットワークと機器の特性に従がってプロトコルとメッセージを変換する。ヴァーチャル・オーバーレイ・ネットワークは、インターネット規模のユビキタス・コンピューティングの実行に非常に有益である。
【0093】
またIP層は、ヴァーチャル・オーバーレイ・ネットワークの構築に必要な機能性を提供すべきであって、複雑な通信を必要とするそれぞれの機器に対して、ヴァーチャル・オーバーレイ・ネットワークがカスタマイズされる。この機能性の大部分は、IP層の上位で実行されるべきで、さらにそれぞれの機器に対してカスタマイズされるべきである。したがって、IP層における機能のサポート(支援)は最小化されるべきで、広域な方法でIP層に幾つかの進歩した機能を与えることは避けるべきである、何故ならば、IP層で実行される機能は、余りにも広範囲過ぎ、実際の進歩したアプリケーションを構築するには力不足だからである。
【0094】
なお、本発明は上記実施例に限定されることなく、本発明の範囲内で種々の変形実施が可能である。
【0095】
【発明の効果】
本発明の請求項1の構成によれば、ウェブ・サーバを有する家庭用の機器を修正することなく、複雑なホーム・コンピューティング環境を作るのに必要なディレクトリサービスや自動構成管理と同様の機能を持つことが可能になる。
【0096】
また、機器統合のためのネットワーク構築装置によれば、HTTPプロトコルに基づいたユビキタス・コンピューティング環境の構築を達成できる。
【図面の簡単な説明】
【図1】本発明の第1実施例を示すネットワーク構築装置の全体構成をあらわした概略説明図である。
【図2】同上機器を特定し制御するためのURL記述の一例を示す図である。
【図3】同上図1におけるネットワーク構築装置を発展させた例を示す概略説明図である。
【図4】本発明の第2実施例を示すネットワーク構築装置の概略説明図である。
【図5】同上インターネットとホームネットワークを繋ぐゲートウェイの機能構成を示す概略説明図である。
【図6】同上ホームネットワークの接続形態を示す概略説明図である。
【符号の説明】
1 通信手段(ネットワーク網)
2 機器
3 HTTPクライアント(端末)
4 ゲートウェイ・サーバ
11 PDA装置(端末)
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a network construction apparatus for device integration that integrates and manages various household devices and personal devices by URL addresses.
[0002]
[Problems to be solved by the invention]
In future life, it is expected that more and more processors will be built in the surroundings, specifically, analog wireless circuits and various sensors will be integrated with the processor, and various computing functions will be integrated in the surroundings. Will be built into the environment. In particular, the ubiquitous computing environment where the computer is not located in one place as a special box called “computer” but distributed throughout the human living environment is a hardware From the point of view, it could be realized soon.
[0003]
The ubiquitous computing environment unconsciously supports human beings who are active in the real world, and it is necessary to recognize the environment in which the human is located. In such a ubiquitous computing environment, The number of built-in processors is expected to increase. This makes it possible to control various household devices, search various information, and operate the devices according to our preference and surrounding information. For example, an audiovisual device such as television would be connected by a standard high speed network such as IEEE1394. Also, lighting and air conditions in the room will be controlled by a mobile phone or PDA device over a wireless network, and a processor may be built into the furniture. Eventually these networks will be integrated by the home gateway.
[0004]
However, from the viewpoint of software, middleware components are necessary to integrate various household devices in order to improve life. Middleware is software that runs on a so-called OS (Operating System) and provides application software with more advanced and specific functions than OS, and has an intermediate character between OS and application software. However, building middleware components that will now be widely used is not easy. For example, Jini (registered trademark), which is a technical specification for connecting various devices over a network and providing functions to each other, as well as personal computers and peripheral devices in homes, AV devices, telephones, home appliances, etc. UPnP (Universal Plug and Play), which is a technical specification for connecting devices over a network and providing functions to each other, is well known as middleware, but devices that use these middleware are Few. On the other hand, the HTTP protocol is expected to be widely incorporated into various devices in the near future, and the cost of implementing the Internet protocol in current processors is extremely low. Therefore, most future devices will have a built-in HTTP server and will be able to access the device from anywhere on the Internet.
[0005]
Specifically, in the near future, the processor will include a hardware accelerator running the Internet protocol and will introduce a web server at a very low cost. The web server is built in various devices, and the surrounding real object includes a URL for linking information to the real object. These systems increase real objects or integrate the real and virtual worlds. There are also products that use web technology such as Emit Technology. In this way, it is expected that devices with built-in web servers will appear in the near future.
[0006]
The home computing environment may include various devices such as television with built-in web server, video cassette recorder, lighting and microwave oven. These devices can be controlled from any web browser or application program using the HTTP protocol. For example, a television with a built-in web server can be diagnosed by the vendor from the web server. Therefore, it is possible to easily manage home devices remotely. The interior lighting can be controlled from a web browser. This situation leads to the construction of an inexpensive home automation system.
[0007]
However, the current HTTP protocol uses directory services (systems that store and retrieve network resources and their attributes) and automatic configuration management (Automatic Configuration Management) necessary to create complex home computing environments. ) Cannot provide the necessary functions.
[0008]
Various home devices such as TV (television) and VCR (digital video camera) are connected to the home network, and all home networks exchange various information and control other devices from other devices Can be integrated over the Internet to do. Since a future network can connect an extremely large number of devices, these devices should be integrated as one device from the user's point of view. This type of integration can be very important in the near future as a huge amount of equipment is expected to be connected to the Internet.
[0009]
A computing environment in which these various devices are connected to each other is called the aforementioned ubiquitous computing environment. However, the traditional concept of ubiquitous computing environments is somewhat limited when compared to the Internet, and there are additional issues to consider when attempting to design an Internet scale ubiquitous computing environment. There is.
[0010]
Various networks and protocols have been proposed for each application domain. For example, various protocols such as the above-mentioned Jini and UPnP (Universal Plug and Play) have been proposed for connecting various devices without configuration before use. HAVi, another protocol, has been proposed for the connection of various home audio-visual equipment. On the other hand, various network systems such as ATM (Asynchronous Transfer Mode) network, IEEE1394, Bluetooth (registered trademark) known as wireless communication technology for portable information devices, and VIA have been developed to connect various devices. It has been. Also in research groups, PEN, networked surface and CLAN have been proposed to connect advanced equipment in the future.
[0011]
However, the various useful properties of these basic protocols and networks are hidden from the application if the IP layer is inserted into the network. For example, the plug-and-play function provided by Bluetooth and the network bandwidth preservation function provided by ATM are usually the IP layer (Note: Although several proposals have been made to extend the IP protocol guaranteed by QOS, The abstraction provided by this proposal is usually not available at the top layer of ATM (which does not provide all of the bandwidth saving capabilities of ATM). Some devices do not support (support) the IP layer for connecting to other devices and services. Furthermore, each device may assume different control protocols and data formats to communicate with each other. Therefore, new approaches need to realize network support for future home appliances.
[0012]
In the past, virtual overlay networks have been used to solve various problems related to the Internet. However, the idea of applying virtual overlay networks for the integration of networked home devices has been extended. Not in. That is, it is necessary to construct a customized virtual overlay network in order to obtain an Internet-scale ubiquitous computing environment in an organizational manner.
[0013]
Therefore, the present invention has functions similar to directory services and automatic configuration management necessary to create a complex home computing environment without modifying home devices having a web server. An object of the present invention is to provide a network construction device for device integration that can be integrated.
[0014]
[Means for Solving the Problems]
A network construction apparatus for device integration according to claim 1 of the present invention connects a gateway server to a network network connecting a terminal owned by a user and a device to be controlled with a built-in web server, When the gateway server automatically collects information on currently available devices and presents the contents to the terminal, a command for controlling the target device is transmitted from the terminal. A device access means for translating the URL contained in the command and accessing the target device with the URL, and a search means for periodically sending an inquiry message using the HTTP protocol to the network. When the inquiry message from the search means is received within the specified expiration date, its own information is returned to the search means, The search means registers the information in the database or updates the database, sends the inquiry message to the device within the expiration date specified in the information, and requests for discovery from the terminal The search means is configured to select a currently available device from the database using full text search technology.
[0015]
In this case, the functions necessary for integrating the devices in the network based on the HTTP protocol are provided in the gateway server as the automatic configuration management means and the device access means corresponding to the directory service. It becomes possible to construct a complex home computing environment without modifying home devices.
[0016]
In addition, a network construction device for device integration includes a state recognition device control means in the gateway server that enables control of the device using the HTTP protocol and changes its operation according to a user's situation. It is a thing.
[0017]
In this way, the construction of a ubiquitous computing environment based on the HTTP protocol can be achieved.
[0018]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, preferred embodiments of the present invention will be described in order with reference to the accompanying drawings. 1 to 3 show a network construction apparatus for device integration according to a first embodiment of the present invention.
[0019]
Before describing the detailed configuration, the most important basic concept in the design of this system is to use home appliances with web servers without modification. A general-purpose household device having a web server cannot modify a web server owned by itself, but it is very difficult to standardize a new protocol. However, normal people don't know how a home network is formed, so to build a home computing environment, the automatic configuration management found in Jini and UpnP must be supported. Don't be.
[0020]
In a conventional web-based environment, the user has to know the URL of each device before accessing. However, since there is no directory service that finds the URL of the device that the user wants to access, it is not easy to know the URL. Also, automatic configuration management is required to register URLs for each device in the directory service.
[0021]
FIG. 1 shows the overall configuration of a system that proposes naming management capable of integrating household devices. 1 is a communication means for realizing the Internet, and 2 is a plurality of communication means connected to this communication means. It is a household device. Reference numeral 3 denotes an HTTP client used under the HTTP protocol, and specifically corresponds to a personal computer (personal computer) when using the Internet at home.
[0022]
The system here consists of two components. The first component is a device 2 that is incorporated into the web-based environment. This device 2 includes a web server and is connected to a communication means 1 for constructing an Internet network through a standard network such as IEEE802.11b, Bluetooth, IEEE1394, or Ethernet. The system proposed here does not assume the expansion of the web server in each device 2. Therefore, any general-purpose product including a web server can be connected to the communication means 1 and used.
[0023]
The second component is a gateway server 4 provided for managing the home device 2. The gateway server 4 plays the role of a directory service that provides a method for accessing the target device 2 and further has a function as automatic configuration management for maintaining and managing the devices 2 that are currently available.
[0024]
When the home net user shown in FIG. 1 wants to access the home device 2 in the room, he / she first contacts the gateway server 4 using the HTTP client 3. The gateway server 4 provides the user with information regarding the available devices 2 in the room. From the user's point of view, the user issues a request to control the device 1 using a URL (Uniform Resource Locator: “address” of information on the Internet) including the IP address of the gateway server 4. It seems to the user that any household device is directly connected to the gateway server 4. The gateway server 4 forwards the request to the appropriate device 2 according to the information gathered from the device 2 web server.
[0025]
Next, how to specify a URL for controlling each device 2 will be described. The ultimate goal here is to provide a URL-based interface for any application or device. Web browsers generally use the standard HTTP GET mechanism to present query requests, so that URIs (Uniform Resource Identifiers) are descriptions that point to the location of information resources on the Internet. Access a remote host that matches (partially specified part of) and receive a response from that URI, or present data to the URI via HTML using the standard HTTP POST mechanism Also receives a response from a URI in HTTP. The URL passed by the user is translated as shown below, and the request is forwarded to the target device 2.
[0026]
In the system shown in FIG. 1, a user can access one or more devices 2 through a gateway server 4 provided as a proxy server based on HTTP. However, even when the gateway address is known, it is difficult for the user to identify one of the optimal devices 2 from the devices 2. Therefore, a naming convention based on the URL for specifying and controlling the device 2 is performed here. Although this convention is defined in a standard URL, a URL-style path element can contain some additional information, following a syntax similar to BNF (Bacchus notation), as shown in FIG.
[0027]
Here, the character “ε” next to <path> :: = means an empty string having no character string, and <string> corresponds to a series of alphabets. The attribute of the character “?” Next to <search> :: = represents a query expression, and if the field describes the nature of the query (say, location or owner), a set of field values Yes, one value is a string or an integer. The attribute “!” Identifies the command if the field describes the nature of the command, and its value is a string or integer.
[0028]
According to the above arrangement, for example, it can be expressed as a URL description “http: //some.where.com.8080/CEIL-LIGHT/! Power = ON”. This URL description calls the gateway named some.where.com. Listening on port number 8080 with prior consent. The next "CELL-LIGHT" element specifies the light controlled under the gateway. The element “! Power = ON” sends a signal to the gateway and designates a special function named “power” with an ON value for each device 2. This URL is a request to turn on the lamp named "CELL-LIGHT".
[0029]
Another example is "http://some.where.com/?location=room1&?function=light/!power=ON".
[0030]
In this example, the element “? Location = room1” identifies a location called “room1” of a building or floor controlled under the gateway server 4. The element “? Function = light” identifies one of the optimal devices 2 that supports “light”, which is functionally named at the location of room1. And this URL is also a request to turn on the light named "light".
[0031]
In order to dynamically specify such an optimal device 2, the URL decided here can include a format of “$ (variable)”. “Variable” indicates a variable name whose value is a character string. These variables are associated with environment variables provided by a shell program or operating system (OS) executed on the gateway server 4. The concept of variables for URL-based notation is described by G. Voelker and B. Bershad in “Mobisaik: Information System for Mobile Wireless Computing Environments (Workshop Proceedings in Mobile Computing Systems and Applications, 1994 IEEE Computer Society) ) "Was originally suggested by the method based on dynamic URLs. The dynamic URL variable must always be related to the environment variable provided by the shell program or operating system (OS) running on the user's computer (HTTP client 3). The proposed variables are interpreted dynamically by the gateway server 4.
[0032]
For example, consider an expanded URL that includes the above variable described as "http://some.where.com/$(LIGHT)/!power=ON".
[0033]
Here, the element “$ (LIGHT)” is one variable for specifying the electric light. When the variable of “LIGHT” maintained in the gateway server 4 is CELL-LIGHT that identifies the lamp mounted on the ceiling, the above URL is “http://some.where.com/CEIL Interpreted as -LIGHT /! Power = ON ". If a new light is installed in the room, the operating system (OS) may update the value of the "LIGHT" environment variable, which is considered one of the best in the current environment. Therefore, the movement of objects can be dynamically adapted to the current environment.
[0034]
Next, a mechanism for accessing the device 2, that is, a directory service will be described. The directory service in the present embodiment is to provide information on the currently available home device 2 connected to the communication means 1. It also provides a method for accessing the device. One of the major problems in web-based home computing is how to know the URL of the device 2 that the user wants to control. At that time, the gateway server 4 may return an HTML page including a URL for controlling the device 2 to the browser held by the user in the HTTP client 3. However, since it is not easy to access the device 2 from a program held by the user's HTTP client 3, this method is not desirable. Therefore, the system of the present embodiment provides a mechanism that makes it appear as if the device 2 is directly connected to the gateway server 4 from the user. This means that the HTTP client 3 on the user side needs to know the host name of the gateway server 4 and the name of the device 2.
[0035]
This method by this system can control the device 2 in the user's own home from any location on the Internet via the communication means 1 without knowing the IP address of each device 2. Therefore, it is not necessary to assume that the user knows the IP address or the host name of each device 2 in advance. Here, it is not necessary to consider the use of the latest dynamic DNS (Domain Name System: a system that associates host names and IP addresses on the Internet). DNS updates require the introduction of a DNS server in every home, which is impractical because the DNS installation requires a lot of knowledge about the Internet. Further, the system method here does not require the user's HTTP client 3 to directly access the device 2. In this way, the gateway server 4 can verify the confirmation of any request. Therefore, our approach also improves the security of traditional web-based home computing.
[0036]
The gateway server 4 includes a database storage unit that stores a map database constructed by a web robot (collecting data by automatically visiting the web server included in the device 2), which will be described later. When the request is received, the file part of the URL is examined and the command part is removed. The database is then searched by the remaining URL fields. The database returns a new URL, and the command part removed in the previous step is concatenated. The target device 2 is then accessed using that URL.
[0037]
This technique is called URL rewriting. For example, consider the URL "http://www.gw.tatsuo.tokyo.jp/TV/!channel=10/". This URL means "I want to set my home TV channel to 10." Since the IP address of the TV in the house is 123.5.10.10 by searching the database owned by the gateway server 4, the URL is changed to “http://123.5.10.10/!channel=10/ "Translate to and rewrite. This means that if the gateway server 4 has information for associating the home device 2 with the IP address, the user does not need to know the actual IP address.
[0038]
All devices 2 were not expected to become complex and active due to their limited processing power, storage capacity, bandwidth and power. Therefore, the software built in each device 2 must be as small and simplified as possible. However, existing management techniques for devices 2 such as UpnP and Jini are extremely heavy in terms of the need for storage capacity and computational power and cannot be used with most devices. Therefore, here we need a lightweight mechanism that can discover devices with low capabilities. In this method, a search means such as such a mechanism, that is, a web search engine (a Web site that can search information published on the Internet using a keyword or the like) is introduced into the gateway server 4. This engine maintains and manages a database of information collected from each device 2 and can discover related devices that the user needs through web search technology.
[0039]
Each web search engine records the unique identifier and operating time of the device 2 and periodically sends HTTP GET requests to all possible addresses on the sub-network at specific intervals to update its index. . When receiving a request from the gateway server 4, the device 2 replies with its own two profiles, an expiration date and an available command name formed in a format based on the URL detailed here. If any response is received from the device 2 while the engine of the gateway server 4 is operating, the engine deletes the registration of the device having no response from the database. Furthermore, this approach allows one or more engines to operate on the network. Engines can be connected to each other in a so-called peer-to-peer approach. Each engine provides an indexed query interface for the collected information, and can collect information from other engines and increase its own index updates.
[0040]
This mechanism can automatically incorporate the device 2 in a plug-and-play manner like Jini and UpnP. Considering the work of installation in the device 2 newly connected to the network or reinstallation in the registered device 2 to be reactivated, each engine periodically sends an HTTP-based inquiry message to the network it covers. Since it sends a lot, the device 2 receives a message from the engine within a given interval and returns its information to the engine. The engine then registers the information in its database or updates the database and then sends an inquiry message to the device 2 with the expiration date specified in the information. Upon receiving a discovery request from a user or other host, the engine selects the appropriate equipment from the database using the full text search technology used in current web search engines. Therefore, this mechanism can easily and naturally operate within HTTP. Since each engine can trust the management and discovery of the device 2, the device 2 can be treated as a stateless HTTP.
[0041]
One of the problems in the current architecture (basic design concept) is how to know the URL of each device 2. If the user wants to control the target device 2 from the HTTP client 3, he must know the syntax of the URL. In a future computing environment, it is possible to attach an electrical tag containing information on how to control the device 2. For example, you can attach a bar code that signifies lighting. The barcode is read when lighting is turned on by the personal device. The URL may be retrieved from the application by receiving a beacon that includes the URL, or RFID (Radio Frequency identification) may be used instead of the barcode.
[0042]
The solution here is to use a personal device to find the URL. This personal device can read barcodes including URLs and receive beacons. When the personal device reads the barcode, the ID is transferred to the barcode management means, ie, the barcode manager, in the gateway server 4. The bar code manager converts the received ID into an actual URL and sends a command to the target device 2. If the personal device receives a beacon, the URL in the beacon is transferred to the gateway server 4. By this method, when the system is used, various devices 2 can be easily controlled.
[0043]
Next, an example in which the apparatus configuration in FIG. 1 is developed will be described with reference to FIG. Here, one scenario shows how the system works. In the scenario, the user has a PDA device (Personal Digital Assistance) 11 as a remote control means for the device 2, and there are three devices 2 in the house, that is, here. A television 12 corresponding to an audiovisual apparatus, a microwave oven 13 corresponding to a household electrical appliance, and a light 13 as an illumination unit are connected to the communication unit 1 that constructs a home network. All of these devices 2 have built-in web servers, and the gateway server 4 collects information on the currently available devices 2 using a program that executes the web robot means as described above. For example, the television 12 returns information with a URL for accessing the web server, and the gateway server 4 stores the information in its own database.
[0044]
When the PDA device 11 activates and opens a web browser which is a Web page browsing means, the first HTTP GET request is found by the gateway web server 4. The web browser of the PDA device 11 returns an HTML page including a list of devices 2 currently available in the house via the wireless access point 15 on the Internet. The HTML page is automatically generated by the gateway server 4 using information collected by a program that executes the web robot means.
[0045]
Suppose that a user issues a command to turn on TV or television 12. The web browser of the PDA device 11 sends a GET command “http://www.myhome.net/TV/!power=on/”. The URL is “http://tv.myhome.net.tokyo.jp/!power=on/” (by G. Voelker and B. Bershad, “Mobisaik: Information system for mobile wireless computing environments (mobile computing Translation of the workshop in the video system and applications, IEEE Computer Society, 1994)) and transfer the command to the Television 12 web server. In this example, “www.myhome.net” is translated as “www.tatsuo.tokyo.jp” according to the context information of the user. This means that the user can access the television 12 of his / her home without knowing the IP address or host name of the gateway server 4 in his / her home. Moreover, this address is automatically retrieved by the system. “Http://www.tatsuo.tokyo.jp/TV/” is translated to “http://tv.tatsuo.tokyo.jp/”. This means that the user does not need to know the actual IP address or host name in his / her television 12. Finally, when the television 12 web server receives the command, the web server turns on the television 12 power switch.
[0046]
This technique enables control of the device 2 whose position is recognized, as will be described below. When a user connects his device (eg PDA device 11) to the Internet, all packets will be forwarded to the nearest router. The gateway server 4 runs on the router and any HTTP request is retrieved by the gateway server 4. The gateway server 4 may return a page on the browser of the PDA device 11 when the first HTTP is searched. Since the nearest gateway server 4 returns the page, the returned page is customized according to the position of the gateway server 4. This means that the user knows the device 2 that is currently available near him. For example, in the scenario described above, the available device 2 that is familiar to the user can be displayed on the browser of the PDA device 11. By using a plurality of gateway servers 4 in the house, it becomes possible to adapt the behavior of the user according to his / her location.
[0047]
The system here is desired as a base for realizing surrounding display or "Calm Technology". For example, assume that the URL that controls the television 12 is clicked. When the user sends an HTTP POST request for controlling the television 12 to the gateway server 4, the gateway server 4 may return a page including an IMG tag including a URL indicating that another light 14 should be turned on. Thus, the light 14 is automatically turned on by the URL in the IMG tag. This is an example of the surrounding display, and the system in this embodiment is very attractive as an experimental basis for ubiquitous computing research.
[0048]
In the future, this system will be rewritten to access the VCN server (Visitor And Community Network System: a server that includes software that can easily perform user-based service allocation, Internet-based billing systems, security / authentication services). Have been considered for the plan. The user accesses the proxy VCN server on the gateway server 4. The proxy VCN server forwards all packets towards the target VCN server running on a computer. This approach can provide a flexible way of providing information in a ubiquitous computing environment.
[0049]
The system is also considered for middleware components that connect Jini, UpnP and HAVi using a virtual overlay network. Since the system is based on the HTTP protocol for connecting these middleware components, it can be used to connect the system to Jini, UPnP and HAVi without modifying the middleware.
[0050]
Thus, in this embodiment, a new configuration of home computing has been described. This arrangement is based on a web system, in which various household devices 2 are integrated in a flexible way. The advantage of this method is that it is possible to provide directory management such as Jini and UPnP and automatic configuration management, but does not assume that the web server built in the device 2 is modified. Thus, the system of the present embodiment can be integrated with general-purpose household devices that have built-in web servers that will become very popular in the near future. Therefore, the configuration here can be used more smoothly than other technologies like Jini, UPnP and HAVi.
[0051]
As described above, in this embodiment, the communication means 1 for constructing a network that connects a terminal (HTTP client 3 or PDA device 11) owned by a user and a device 2 to be controlled with a built-in web server. The gateway server 4 is connected, and the gateway server 4 automatically collects information on the devices 2 that are currently available, and presents the contents to the terminal. When a command for controlling the device 2 is transmitted, device access means as a directory service for translating the URL included in the command and accessing the target device 2 with the URL is provided.
[0052]
In this way, the gateway server 4 has functions necessary for integrating the devices 2 in the network based on the HTTP protocol as automatic configuration management means and device access means corresponding to a directory service. A complicated home computing environment can be constructed without modifying the home device 2 having a web server.
[0053]
Furthermore, in this embodiment, the device 2 can be controlled using the HTTP protocol, and the situation recognition (“context-aware”) device control means for changing the operation according to the user's situation is provided as a gateway server. 4 is preferably provided. In this way, the construction of a ubiquitous computing environment based on the HTTP protocol can be achieved.
[0054]
Next, a second embodiment of the present invention will be described with reference to FIGS. Here, an embodiment in which deployment to a virtual overlay network is taken as an example is described in detail.
[0055]
Before the description of the embodiment, the overlay network here can be defined as a configuration in which the basic network included therein is used to support several upper networks, and the virtual overlay network is defined as Provide a sufficient set of basic properties to realize. The virtual overlay network extends the basic characteristics of the overlay network by adding a software layer to provide new abstract characteristics. Implementing that property on behalf of the user is customized for each application. This idea is similar to the active network in "A Survey Of Active Network" proposed by D. Tennenhouse and others in "IEEE Communication Magazine Vol.35, No.1" in 1997. Allows network customization, so application-specific code can be injected without modifying existing characteristics provided by the network, while virtual overlay networks are suitable for each application Add new abstract properties, do not extend existing networks, virtual overlay networks are more practical and easily customized for each application because they do not require modification of existing network infrastructure.
[0056]
Here, as shown in FIG. 4, a virtual overlay network 22 is defined as a network constructed on an existing network 21 such as the Internet. In the virtual overlay network 22, a number of application level gateways 23 are installed in the network 22 and connected by some network protocol such as the IP protocol. The role of the application level gateway 23 is to pass messages to the destination. Also, each message and protocol may be translated according to various requirements presented by the environment and the user. The application level gateway 23 can be thought of as a router device of the virtual overlay network 22. This gateway 23 is usually connected by the Internet, but the underlying data link network can be used directly if it is necessary to satisfy special QOS requirements between application level gateways 23.
[0057]
The virtual overlay network 22 will solve a wide range of problems that the Internet currently has. For example, the existing Internet uses FQDNs (fully qualified domain names) and IP addresses, but application-specific naming (naming) to employ message routing (optimal route selection). ). In addition, the connection between the application level gateways 23 directly uses the original network 21 or is configured in the application level gateway 23.
By carefully selecting (configuration), it is made to conform to each QOS requirement between gateways 23. On the other hand, it is very difficult to realize QOS guarantee between terminals on the Internet. By selecting the function of the application level gateway 23, the virtual overlay network 22 can be customized for each application. Experiments in building mobility support suggest that solutions to achieve high-level functionality should be customized for each application.
[0058]
The concept of virtual overlay network 22 is not new. Several proposals regarding the construction of a virtual overlay network 22 have been known for each application. For example, Inktomi's 2000 technical report “The Inktomi Overlay Solution for streaming Media Broadcasts” has proposed a virtual overlay network for multicast continuous media data such as video and audio. Also, "Overcast: Reliable Multicasting with an Overlay Network" by J. Jannotti, DKGifford, KLJohnson, MFKaashoek, JWO'Toole Jr. "The Prototype Embedded Network (PEN)" by Jones, A. Hopper (AT & T Laboratories, Cambridge, Technical Report, No. 15 2000) proposes a virtual overlay network for reliable multicasting. I came. In "Herald: Achieving a Global Event Notification Service" by LFCabrera, MBJones, M. Theimer (8th Workshop Bulletin on the Operating Systems Hot Topics in 2001), a virtual event for global event services Overlay networks have been proposed. In addition, in the "Technology Challenges for Virtual Overlay Networks" by KPBirman, the 2000 IEEE Workshop Bulletin on 2000 Information Assurance and Guarantee, the router partition used to divide the resources for each virtual overlay network Mechanisms have been proposed. This solution does not comprehensively satisfy all Internet requirements, but is sufficient to solve the problem of each domain.
[0059]
In the conventional network, the concept of the virtual overlay network has been partially adopted. For example, Mbone, one of the experimental networks built to make multicast, which is a technology for efficiently distributing data on the network, available on the Internet, and multicast capability on the current Internet An IP network has been constructed, and 6Bone has been used to develop the current IPv6 network on the Internet. In addition, domain naming systems and web caching systems are also considered virtual overlay networks, solving various problems in application-specific ways.
[0060]
These known proposals have greatly increased extensibility by adopting the concept of virtual overlay networks, but these proposals do not directly use traditional underlying data link networks and do not use protocols or messages. The translation of is obviously not used. In that respect, the system in this embodiment makes an effort to make full use of the concept of a virtual overlay network.
[0061]
Developing a virtual overlay network customized for each application in a systematic way is one of the most important objectives. However, the achievement of this goal can be determined from many previous experiences. Here, the construction of a virtual overlay network for integrating networked home devices will be described. For example, Jini, UpnP, HAVi, and SOAP (Simple Object Access Protocol: a protocol for calling data and services in other computers) are provided for controlling various household devices. A client device cannot control a home device if it does not support all of these protocols. However, supporting many protocols is impractical because it requires large storage capacity. Also, if new protocols are proposed for future home devices, new software must be added to the client devices.
[0062]
The virtual overlay network 22 here solves this problem by converting the protocol supported by the client device to the protocol supported by the home device. This conversion is performed by each application level gateway 23 according to the characteristics of the device and the network.
[0063]
Next, the effect of the virtual overlay network for integrating networked home devices will be described in detail. The ultimate goal to motivate the design of virtual overlay networks is to provide application-specific abstractions for each home device located on a heterogeneous network such as IEEE1394, Bluetooth, or the Internet. . Here, we explain the design and use of the current prototype virtual overlay network. First, design issues and an overview of our system are presented, followed by some of the components used so far. Finally, some problems with the current prototype system are explained.
[0064]
End-to-end discussion is the principle of system design for the Internet. In other words, complex network functions are likely to be pushed to network terminals. But the entire edge of the current Internet is not a complex computer. Because some of them are designed only for their own special purpose, such as home appliances, built-in computers and PDA devices, for example, they are not standard Internet protocols. It cannot be processed. Therefore, a richer network than such uncomplicated terminals should be supported and improved inside the network, even if there are terminals and sub-networks are not prepared for the Internet, all terminals And provide a seamless situation for sub-networks. The framework of the virtual overlay network here supports the addition of the following functions.
(1) The virtual overlay network skeleton is built around a new naming system. Rather than obeying attributes such as hard-coding hostnames into addresses, we think that devices should be examined according to intended information such as functional and physical location. In fact, some devices that do not support TCP / IP cannot have a unique address that can be used in the Internet, but are included by other servers that can connect directly to the device, and other servers. Need to be confirmed through.
(2) Web-based computing is performed through HTTP and is widely used in the current Internet. HTTP is a protocol that supports the World Wide Web (www), and by definition, any web browser can communicate using HTTP. This communication is generated by browsers that use URLs that conform to established naming conventions. Here, the virtual overlay network not only allows easy access from a web browser and control of various household devices, but also allows the devices to communicate with each other and cooperate.
(3) Some household devices are often managed under existing service discovery systems that manage devices and services such as Jini and UPnP. Such systems have been proposed to facilitate dynamic collaboration within devices / services with minimal management and human intervention. In order to support this ad hoc collaboration, there should be a means of announcing its presence to the network, so that nearby services can be discovered and accessed. The virtual overlay network skeleton provides a unified view not only for each device, but also for the existing management of each device.
(4) The virtual overlay network skeleton should make extensive use of transcoding to transform the data in the network. This is because home appliances often have significant limitations on computer resources such as processors and input / output devices. Some home appliances may not be able to directly process large amounts of data received from and sent to the network without any help in transcoding data from external systems.
[0065]
The skeleton of the virtual overlay network 22 in this embodiment is composed of a home device / service 24 and an application level gateway 23, but some of the home devices 24 are just application specific devices. Some of them don't support TCP / IP. Therefore, the application-level gateway 23 needs to functionally include protocol translation conversion means from the protocol specific to the device 24 to HTTP (or vice versa). Here, each application level gateway 23 is accepted as an HTTP-based proxy server. It accepts a control protocol for home appliance 24 based on HTTP and translates it into a protocol specific to appliance 24. Furthermore, it is proposed to use the gateway 23 as an access point to the Internet from a protocol specific to the device 24. The gateway 23 is provided with a translation service means for translating from HTTP to a command corresponding to the target device 24. The gateway 23 also exports a wide range of session interfaces for various devices from or to the Internet.
[0066]
The application level gateway 23 should support application-specific services such as naming, transcoding and packet forwarding for various devices, and is therefore scalable to the gateway 23. Introduce means to make The application level gateway 23 consists of two layers. The upper layer consists of functions to satisfy HTTP requests and various modules, which provide logic to perform web-based tasks such as validation and device control. This modular approach can incorporate additional modules to extend the functionality as the gateway 23. The lower layers access the actual equipment and use a framework to support each service.
[0067]
Another point to consider here is the controller of the device 24. This controller sends a control request for the device 24 based on HTTP to the gateway 23. A conventional web browser is used for the controller, but new functionality can be provided by making some modifications to the browser.
[0068]
Next, the example which actualized the said structure using two scenarios is demonstrated. The first scenario is accessing home devices from a web browser, and the second example is connecting two home networks that use different protocols. And the ultimate goal is to provide a URL-based interface to any application or device, but currently all network devices cannot be converted to HTTP services. Instead, each application level gateway controls one or more devices through their special network with a translation service from a URL-based representation to a corresponding command designed for the device. In general, a web browser accesses a remote host that matches a URI by using a standard HTTP GET mechanism to present a query request and receives a response from that URI, or a standard HTTP The POST mechanism is used to present data to the URI through the HTML format, and a response is received from the URI in HTTP. When the gateway 23 ends communication with the device 24, the end data is returned to the browser.
[0069]
The specific URL description is the same as that in the first embodiment, and the description thereof is omitted.
[0070]
The skeleton of the virtual overlay network 22 consists of three elements: an application level gateway 23, a terminal controller, and equipment / services. Equipment / services are application specific and will not be discussed here. In the following, the application level gateway 23 and controller will be described.
[0071]
As shown in FIG. 5, the application-level gateway 23 operates as a gateway between a device-specific network (home network) and the Internet. As described above, the application level gateway 23 bridges between the control method based on HTTP and various middleware control methods.
[0072]
The application level gateway 23 consists of four components. The first component executes a home network protocol such as HAVi, Jini or UPnP, which operates as a home network device. For example, if the component implements the Jini protocol, the component operates as a Jini device. The second component runs the HTTP protocol, and this component acts as a web server.
[0073]
The third component performs protocol translation, and this translation means converts between the HTTP processing as described above and a special home network protocol. For example, the HAVi translation means performs conversion from the HTTP protocol to the HAVi protocol and vice versa. In addition, Jini translation and UpnP translation will also be performed in the current prototype.
[0074]
The last component is registration management means. This registration management means can be accessed by an HTTP protocol from a web browser or a home network protocol from a device using the protocol. If a device 24 on the home network 22 is accessed from outside the home network 22, the name of the device 24 should be registered with the application level gateway 23. The name is registered via either the HTTP protocol or the home network protocol. After registration, a pseudo home network device is created in the application level gateway 23. The pseudo device registers its name in the automatic verification service. The role of the pseudo device is to convert control commands sent on the home network 22 to the HTTP protocol.
[0075]
Next, the startup procedure will be described. When the application-level gateway 23 starts up (begins), it tries to enter the surrounding network. Using the method provided by the protocol specific middleware used in this network, it is investigated which device (device) or which service is available. For example, in a Jini network, the gateway 23 will use Jini's matching service. The results accumulated by this survey are accumulated in a database that records attributes used by the home network protocol and corresponding commands used in HTTP-based methods.
[0076]
If the application-level gateway 23 receives an HTTP-based command from the Internet 21, it parses the command by referring to its internal database and determines which command should be sent to which command. Once determined, apply the necessary protocol translations and send out the corresponding middleware specific commands. On the other hand, the pseudo device created by the gateway 23 by the registration management means operates as a network device unique to the device 24. As a result, the device on the network 22 side specific to the application can control the device on the Internet 21 side of the gateway 23. In this way, the gateway 23 appears to provide the functions or services that are actually provided by the devices on the Internet 21 side to the devices in the home network 22.
[0077]
The application-level gateway 23 provides a control interface as an HTTP server, and any application-specific network device can be controlled using an HTTP-based control protocol. Therefore, it accepts the use of an existing web browser for controller 25. In recent years, web browsers have been built into PDAs, mobile phones and digital TV sets, not to mention PCs. All of these devices can be used by the application level gateway 23 to control other devices. When a wide area browser is used as the controller 25 as described above, the gateway 23 must generate a web page that includes a command button linked to each command it will accept. On the other hand, if controller 25 is built to generate its own unique HTTP-based commands, it has certain advantages over a wide range of browsers in terms of customization or adaptability to the home network environment. Will have.
[0078]
Next, how to connect several home networks providing different home network protocols using the virtual overlay network will be described. As shown in FIG. 5, it is assumed here that there are three home networks 22 (22A to 22C) connected to the Internet 21 through gateways 23 at respective application levels. Each home network 22 has their gateways 23 (23A to 23C) "http://any.where.net", "http://my.home.net", "http://foo.bar", respectively. It uses the URL ".net" and uses application-specific protocols: UpnP, HAVi and Jini.
[0079]
As an example, let us assume a case where it is desired to control the VCR device 31 on the HAVi network 22A from the PDA 32 to the UPnP network 22C. In the HAVi network 22A, the VCR device 31 is registered as “VCR”, and the application level gateway 23A (HAVi, ApGW) is registered as “apgw” in the HAVi inquiry service. The PDA 32 in the UPnP network 22C is registered as “PDA”, and the application level gateway 23C (UPnP, ApGW) is registered as “apgw” in the UpnP inquiry service.
[0080]
First, in order to control the VCR device 31 on the HAVi network 22A from the PDA 32 on the UPnP network 22C, it is necessary to register the VCR device 31 on the HAVi network 22A in the UpnP network 22C. The PDA 32 allows the user to register the VCR device 31 as “http://my.home.net/VCR” in the UPnP application level gateway 23C from a web browser developed on the PDA 32. This uses a “register” command described as http://any.where.net/!register=“http://my.home.net/VCR ”.
[0081]
If UPnP application level gateway 23C receives this registration request, it sends an inquiry to HAVi application level gateway 23A using an HTTP based protocol to request information about VCR device 31. The HAVi application level gateway 23A returns information related to the VCR device 31 indicated by the URL. On the UPnP application level gateway 23C, a pseudo UpnP device of the VCR device 31 is created using information returned from the HAVi application level gateway 23A. The pseudo device has the name "VCR" and is coupled to the UpnP communication part. When the PDA device 32 wants to control the VCR device 31, the PDA device 32 attempts to discover the VCR device 31 via the UPnP service discovery mechanism. The service discovery mechanism returns a query to the pseudo device created on the UPnP application level gateway 23C. The control command is then delivered to the pseudo device through the UPnP protocol. The pseudo device converts the UPnP request into the HTTP protocol, and forwards the request to the HAVi application level gateway 23A according to the host name portion of http://my.home.net/VCR ". The HAVi application level gateway 23A receives the converted HTTP request and finds the actual VCR device 31 by “VCR” specified in the filename of the URL through the HAVi query service. It is converted into a HAVi command and delivered to the target VCR device 31.
[0082]
While currently using the virtual overlay network skeleton, each application-level gateway 23 is used as a Java application running as a stand-alone process, as well as an HTTP-based gateway for home appliances. Provide an interface and a service discovery system for management devices. Each application level gateway 23 has a simple storage database that interprets attributes including its received URL. It can also work with its basic service discovery systems like Jini and UPnP to handle unknown attributes.
[0083]
Next, the extension of the controller that enables sending of additional information such as user preferences, personal authentication, environment information, etc., as well as commands sent to the gateway, will be described. Controllers that can generate HTTP-based control commands themselves are used to send various amounts of information, thereby improving the cooperative relationship between the controller and the gateway. Examples of such information include settings and environment variables customized for the user. The controller here is an extended web browser that can generate commands as proposed above. An extended web browser can send environment variables to the gateway by incorporating it in the HTTP-based commands it sends. HTTP-based commands before environment variables are built in are, for example, “http: //% (HOME) /? OWNER =% (USER) &? Location =% (LOC) &? Function = tv /! Power = on ". This command means that the TV set whose owner is “user” and whose position is “LOC” in “HOME” is to be turned on. Let's assume the environmental information that the controller has about itself. It is assumed that the user has information such as “USER = foo”, “HOME = http: //my.home.net/”, and “LOC = living-room”.
[0084]
The controller uses “% (” as the beginning of the environment variable. The character string enclosed between “% (“ and ”)” is the name of the environment variable. The part of “% ()” Replaced with the value of the corresponding environment variable, in this case the command sent is "http://my.home.net/?=OWNER=foo&location=living-room&function=tv/!power=on".
[0085]
The environmental information held by the controller is updated according to the position of the controller itself, the user currently using the controller, and other environmental parameters. Even if the same button of the same controller is pressed, the transmitted command may be different depending on the state of the button being pressed. Other examples of environmental information that can be used to influence the control of household equipment may be weather information, user emotions, and the like.
[0086]
Most standards are based on object models, but there are many differences between the standards. Jini is a Java-based infrastructure that integrates remote services and devices. The Jini system provides service construction, verification, and communication mechanisms in a distributed system. However, Jini relies heavily on the Java language, and its runtime system requires a large amount of computing resources, which are usually extremely limited for home use. UPnP (Universal Plug and Play) is a configuration that provides a peer-to-peer network connection between a personal computer and a device. UPnP has the ability to dynamically join a device to the network, assign itself an IP address, and respond to its presence and requests. UPnP is based on TCP / IP and web technology, enabling seamless proximity networks in addition to control and data transmission between networked devices in homes and offices. However, UPnP is designed to demonstrate the features and capabilities of each device in an XML file. Profiles based on XML are difficult for home appliances to interpret XML files because they require complex and time-consuming explanations of device capabilities, contrary to Jini's simple service attributes.
[0087]
HAVi (Home Audio Video Interoperability) provides a home network standard for seamless connection of digital audio and video consumer equipment. HAVi also provides a Java API for AV device control that enables control of each device from within the program. HAVi assumes that each device has an IEEE1394 network interface that has sufficient bandwidth and can transmit digital audio and multiple signal streams of video. However, these requirements have hampered the widespread use of HAVi in various types of equipment.
[0088]
Future home appliances are expected to support different standards according to their manufacturer's policy. However, these standards do not support a variety of home networks. The proposed virtual overlay network allows all household devices to be connected and controlled.
[0089]
The Open Services Gateway specification (OSGi) is a Java-based application layer skeleton that provides service providers, device manufacturers, and device manufacturers with neutral application and device layer APIs and functionality. This strategy allows virtually any emerging home network infrastructure, protocols and services to interact seamlessly with back-end services using existing residential telephone lines, cable TV or wire. . This technology needs to be independent of the platform, and as a result, can be used on various computing environments, communication environments, consumer electronics and household products and platforms. The Open Service Gateway specification complements and improves current network standards and enterprise minds because it focuses on providing a gateway interface for the open system layer and service gateway. Some of these include Jini, Bluetooth, CAL, CEBus, HAVi, Home API, HOME-PAN, HomePnP, HomeRF and VESA.
[0090]
The open service gateway specification also maintains consumer investment in future high performance home devices. For example, today, when a consumer switches from a home security provider to another provider, all of the internal network must be replaced. By selecting a device that is compatible with the Open Service Gateway specification, consumers can switch between any of the products of various vendors without having to replace virtually any network infrastructure.
[0091]
The advantage of OSGi is that it provides a framework for building scalable home gateways. This standard is adopted to implement a scalable application level home gateway.
[0092]
The above embodiment has proposed a virtual overlay network that integrates networked home devices. The virtual overlay network determines the message transmission route and converts protocols and messages according to the characteristics of the network and the device. The virtual overlay network is very useful for performing internet-scale ubiquitous computing.
[0093]
The IP layer should also provide the functionality necessary to build a virtual overlay network, and the virtual overlay network is customized for each device that requires complex communication. Most of this functionality should be performed above the IP layer and further customized for each device. Therefore, support for functions at the IP layer should be minimized, and giving some advanced functions to the IP layer in a wide area should be avoided because it is performed at the IP layer. This is because the functionality is too broad and not powerful enough to build real advanced applications.
[0094]
The present invention is not limited to the above-described embodiments, and various modifications can be made within the scope of the present invention.
[0095]
【The invention's effect】
According to the configuration of the first aspect of the present invention, functions similar to directory services and automatic configuration management necessary for creating a complex home computing environment without modifying a home device having a web server. It becomes possible to have.
[0096]
Moreover, according to the network construction apparatus for device integration, construction of a ubiquitous computing environment based on the HTTP protocol can be achieved.
[Brief description of the drawings]
FIG. 1 is a schematic explanatory diagram showing the overall configuration of a network construction device according to a first embodiment of the present invention.
FIG. 2 is a diagram showing an example of a URL description for identifying and controlling the device.
FIG. 3 is a schematic explanatory diagram showing an example in which the network construction device in FIG. 1 is developed.
FIG. 4 is a schematic explanatory diagram of a network construction device showing a second embodiment of the present invention.
FIG. 5 is a schematic explanatory diagram showing a functional configuration of a gateway connecting the Internet and the home network.
FIG. 6 is a schematic explanatory diagram showing the connection form of the home network.
[Explanation of symbols]
1 Communication means (network network)
2 Equipment
3 HTTP client (terminal)
4 Gateway server
11 PDA equipment (terminal)

Claims (1)

利用者が保有する端末と、
ウエッブサーバーを内蔵した制御対象となる機器とを接続したネットワーク網にゲートウェイ・サーバを接続し、
このゲートウェイ・サーバは、現在利用可能な機器の情報を自動的に収集して、その内容を前記端末に提示する自動構成管理手段と、
前記端末から目標となる機器を制御するコマンドが発信されると、このコマンドに含まれるURLを翻訳して目標となる機器を制御するためにURLでアクセスする機器アクセス手段と、
前記ネットワーク網上の接続可能な全アドレスに対して周期的にHTTPプロトコルによる問合わせメッセージを送る検索手段とを備え、
前記機器は与えられた有効期限内で前記検索手段からの前記問合わせメッセージを受取ると、自身の前記有効期限と、前記 URL に基づく形式で形成された利用可能な前記コマンドとからなる情報を前記検索手段へ返送し、
前記検索手段は前記情報をデータベースへ登録するか、或いは前記データベースを更新して、前記情報内で特定された前記有効期限内に前記機器に対して前記問合わせメッセージを送り、
前記端末からの発見要望を受けた場合、前記検索手段はフルテキスト検索技術を使って前記データベースから現在利用可能な機器を選び出す
ことを特徴とする機器統合のためのネットワーク構築装置。
A terminal owned by the user,
Connect the gateway server to the network that connects the device to be controlled with the built-in web server,
This gateway server automatically collects information on currently available devices and presents the contents to the terminal, automatic configuration management means,
When a command for controlling the target device is transmitted from the terminal, device access means for accessing the URL to control the target device by translating the URL included in the command;
Search means for periodically sending an inquiry message using the HTTP protocol to all connectable addresses on the network,
When the device receives the inquiry message from the search means within a given expiration date, the device obtains information including the expiration date of itself and the available command formed in a format based on the URL. Return it to the search means,
The search means registers the information in a database or updates the database and sends the inquiry message to the device within the expiration date specified in the information,
When receiving a discovery request from the terminal, the search means selects a currently available device from the database using a full-text search technology.
JP2002008358A 2002-01-17 2002-01-17 Network construction device for device integration Expired - Fee Related JP4118566B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002008358A JP4118566B2 (en) 2002-01-17 2002-01-17 Network construction device for device integration

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002008358A JP4118566B2 (en) 2002-01-17 2002-01-17 Network construction device for device integration

Publications (2)

Publication Number Publication Date
JP2003208366A JP2003208366A (en) 2003-07-25
JP4118566B2 true JP4118566B2 (en) 2008-07-16

Family

ID=27646641

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002008358A Expired - Fee Related JP4118566B2 (en) 2002-01-17 2002-01-17 Network construction device for device integration

Country Status (1)

Country Link
JP (1) JP4118566B2 (en)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4260116B2 (en) * 2003-05-22 2009-04-30 富士通株式会社 Secure virtual private network
JP4337591B2 (en) 2004-03-19 2009-09-30 株式会社日立製作所 Information processing apparatus, network system, and network system control method
JP4154364B2 (en) 2004-04-22 2008-09-24 キヤノン株式会社 Notification method
WO2005122492A1 (en) * 2004-06-07 2005-12-22 Nippon Telegraph And Telephone Corporation Domestic network setting method, home gateway device, home gateway program, and recording medium
FR2879385A1 (en) * 2004-12-09 2006-06-16 Thomson Licensing Sa SERVICE DISCOVERY AGGREGATION METHOD IN A LOCAL NETWORK AND APPARATUS IMPLEMENTING THE METHOD
JP4600992B2 (en) 2005-08-17 2010-12-22 Kddi株式会社 Home appliance remote control system and operation method thereof
KR100694155B1 (en) 2005-10-12 2007-03-12 삼성전자주식회사 Method and apparatus for providing service of home network device for service client outside the home network through web service
WO2008133555A1 (en) * 2007-04-27 2008-11-06 Telefonaktiebolaget Lm Ericsson (Publ) Universal plug and play extender
EP2159961B1 (en) * 2008-09-01 2013-12-11 Alcatel Lucent Method, device and module for optimising the remote management of home network devices
JP2010141826A (en) * 2008-12-15 2010-06-24 Mitsubishi Electric Corp Equipment integrated management apparatus, equipment integrated management program, equipment connection apparatus, equipment connection program, equipment integrated management system, and equipment integrated management method
JP2012164208A (en) * 2011-02-08 2012-08-30 Nec Access Technica Ltd Network system, home gateway, content reproduction method and program for network management
JP2015114843A (en) * 2013-12-11 2015-06-22 日本電信電話株式会社 Service providing system and method and program
JP2015158841A (en) * 2014-02-25 2015-09-03 アプリックスIpホールディングス株式会社 Application distribution system, communication terminal, storage device, program, and application distribution method
KR102457459B1 (en) 2016-01-29 2022-10-24 삼성전자주식회사 A method for receiving content from an external apparatus and an electronic device therefor

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05250413A (en) * 1992-03-06 1993-09-28 Nippon Telegr & Teleph Corp <Ntt> Text data retrieving device
US5929849A (en) * 1996-05-02 1999-07-27 Phoenix Technologies, Ltd. Integration of dynamic universal resource locators with television presentations
JP3748127B2 (en) * 1996-05-21 2006-02-22 アンリツ株式会社 Remote control system via wide area network
JPH10191463A (en) * 1996-12-24 1998-07-21 Victor Co Of Japan Ltd Electric device and its control method
JP3688464B2 (en) * 1997-05-06 2005-08-31 株式会社東芝 Terminal device, server device, communication device, and control method
JP2000250838A (en) * 1999-02-25 2000-09-14 Nec Corp Method and system for packaging application program, and recording medium programmed and recorded with the method
JP2001067313A (en) * 1999-08-27 2001-03-16 Nec Techno Service Kk Terminal
EP1113642A3 (en) * 1999-12-16 2004-04-14 Actv, Inc. Enhanced video programming system and method using a local host for network communication
JP2001331394A (en) * 2000-05-19 2001-11-30 Victor Co Of Japan Ltd System and method for remotely controlling household electrical appliance
JP2001331398A (en) * 2000-05-19 2001-11-30 Opro Japan Co Ltd Server-managing system

Also Published As

Publication number Publication date
JP2003208366A (en) 2003-07-25

Similar Documents

Publication Publication Date Title
CA2331705C (en) Method and apparatus for user and device command and control in a network
US7043532B1 (en) Method and apparatus for universally accessible command and control information in a network
US7325057B2 (en) Apparatus and method for managing and controlling UPnP devices in home network over external internet network
JP4118566B2 (en) Network construction device for device integration
KR20020035645A (en) Server-based multi-standard home network bridging
KR100429902B1 (en) Apparatus and method for controlling devices in private network from public network
CN101383789B (en) Household gateway device, system and method implementing access to and controlling household network
JP4799005B2 (en) Information processing device
Belimpasakis et al. Remote access to universal plug and play (UPnP) devices utilizing the Atom publishing protocol
Jun et al. Controlling non IP bluetooth devices in UPnP home network
Kim et al. Internet home network electrical appliance control on the internet with the UPnP expansion
KR100860413B1 (en) Extended home service apparatus and method for providing extended home service in p2p networks
Feldbusch et al. The BTRC Bluetooth remote control system
KR100456457B1 (en) Universal plug and play power line communication adapter device and a control method thereof
Lucenius et al. Implementing mobile access to heterogeneous home environment
SATOH in a Web-based Home Computing TATSUO NAKAJIMA 3-4-1 Okubo Shinjuku Tokyo 169-8555 JAPAN tatsuo@ mn. waseda. ac. jp
Kastner et al. Discovering internet services: Integrating intelligent home automation systems to plug and play networks
Feldbusch et al. A Bluetooth remote control system
Yang et al. A service-aware home networking system based on OSGi
Hoc Using Universal Plug-n-Play for Device Communication in Ad Hoc Pervasive
Islam Universal Plug and Play
Salehi et al. A Distributed Architecture for Remote Service Discovery in Pervasive Computing
Salehi et al. Technical Report 2012-001: A Distributed Architecture for Remote Service Discovery in Pervasive Computing
김국세 et al. IEEE 802.15. 4 and The UPnP Expansion for Digital Electrical Appliance Control based on Embedded Linux System
Mukhtar et al. Using Universal Plug-n-Play for Device Communication in Ad Hoc Pervasive Environments

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070413

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070423

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070622

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070730

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070928

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080423

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110502

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110502

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120502

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130502

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees