(57)【要約】【課題】  情報処理サーバが端末装置近くの機器やサービスを発見可能にすると同時に端末装置にかかる通信負荷を可及的に低減する。【解決手段】  本発明の一態様によれば、サービス提供サーバが接続された第１のネットワークに参加する端末装置と、前記端末装置から処理の要求を受けて処理を行った結果を返す第２のネットワークに参加する情報処理サーバとの間にトンネルを設定する。前記サービス提供サーバから前記第１のネットワークに出力されるブロードキャストまたはマルチキャストパケットを、前記トンネルを介して前記端末装置から前記情報処理サーバに送ることにより前記情報処理サーバに前記サービス提供サーバを発見させる。前記端末装置によってあるサービスの実行が要求された場合は、実行を要求された前記あるサービスを受け持つサービス提供サーバと前記情報処理サーバとの間で前記あるサービスに係わるデータ通信を行う。【選択図】  図３
2006343852.tif 000002
【特許請求の範囲】
【請求項１】
サービス提供サーバが接続された第１のネットワークに参加する端末装置から処理の要求を受けて処理を行った結果を返す第２のネットワークに参加する情報処理サーバであって、
前記端末装置との間でトンネルを設定するトンネル設定手段と、
前記サービス提供サーバから前記第１のネットワーク上に出力されるブロードキャストまたはマルチキャストパケットを前記トンネルを介して前記端末装置から受信するブロードキャスト／マルチキャスト受信手段と、
前記受信されたブロードキャストまたはマルチキャストパケットに基づき前記第１のネットワークに存在するサービス提供サーバを発見するサーバ発見手段と、
前記端末装置からあるサービスの実行要求を受けた場合は、前記あるサービスを提供するサービス提供サーバとの間で前記あるサービスに係わるデータ通信を行うデータ通信手段と、
を備えた情報処理サーバ。
【請求項２】
前記データ通信手段は、前記データ通信の結果を前記あるサービスの実行要求を行った前記端末装置に送信することを特徴とする請求項１に記載の情報処理サーバ。
【請求項３】
前記サーバ発見手段によって発見された前記サービス提供サーバの識別子を前記端末装置に送信する識別子送信手段をさらに備え、
前記データ通信手段は、前記識別子を受信した前記端末装置から前記サービス提供サーバが提供するサービスの実行要求を受けた場合は、実行要求された前記サービスを受け持つサービス提供サーバとの間で前記サービスに係わるデータ通信を行う、
ことを特徴とする請求項１または２に記載の情報処理サーバ。
【請求項４】
前記サービス発見手段は、前記サービス提供サーバとしてコンテンツ提供サーバを発見し、
前記識別子送信手段は、さらに前記コンテンツ提供サーバが提供するコンテンツの識別子を前記端末装置に送信し、
前記データ通信手段は、前記端末装置から前記コンテンツの提供を要求された場合は、前記コンテンツ提供サーバから前記コンテンツを取得し、取得した前記コンテンツを前記端末装置に送信する、
ことを特徴とする請求項３に記載の情報処理サーバ。
【請求項５】
前記データ通信手段は、前記コンテンツとして、静止画像データ、動画像データ、音声データまたは文書データを取得することを特徴とする請求項４に記載の情報処理サーバ。
【請求項６】
前記サービス発見手段は、前記サービス提供サーバとして、画像出力装置を発見し、
前記データ通信手段は、前記端末装置によって指定されたデータを前記画像出力装置に送出する、
ことを特徴とする請求項１ないし３のいずれかに記載の情報処理サーバ。
【請求項７】
前記画像出力装置はプリンタであることを特徴とする請求項６に記載の情報処理サーバ。
【請求項８】
前記サーバ発見手段は、前記サービス提供サーバを発見するためのブロードキャストまたはマルチキャストパケットを前記第１のネットワーク上に流すために前記トンネルを介して前記端末装置に送信し、送信した前記ブロードキャストまたはマルチキャストパケットに対する応答パケットを前記トンネルを介して前記端末装置から受信し、受信した前記応答パケットに基づき前記第１のネットワークに存在するサービス提供サーバを発見する、
ことを特徴とする請求項１ないし７のいずれかに記載の情報処理サーバ。
【請求項９】
前記第１のネットワークにはＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）サーバが接続され、
ＤＨＣＰに従った通信を前記トンネルを介して前記ＤＨＣＰサーバとの間で行うことにより前記第１のネットワークに属するＩＰアドレスを取得するＩＰアドレス取得手段をさらに備え、
前記サーバ発見手段は、前記端末装置に送信する前記ブロードキャストまたはマルチキャストパケットの送信元のアドレスとして、取得した前記ＩＰアドレスを用いることを特徴とする請求項８に記載の情報処理サーバ。
【請求項１０】
前記トンネル設定手段は、Ｌ２ＴＰ、ＰＰＴＰまたはＭＰＬＳによりトンネルを設定することを特徴とする請求項１ないし９のいずれかに記載の情報処理サーバ。
【請求項１１】
サービス提供サーバが接続された第１のネットワークに参加する端末装置と、前記端末装置から処理の要求を受けて処理を行った結果を返す第２のネットワークに参加する情報処理サーバとを備えた遠隔操作システムであって、
前記端末装置は、
前記情報処理サーバとの間でトンネルを設定する第１のトンネル設定手段と、
前記サービス提供サーバから前記第１のネットワークに出力されたブロードキャストまたはマルチキャストパケットを受け取り、受け取ったブロードキャストまたはマルチキャストパケットを前記トンネルを介して前記情報処理サーバに送信するブロードキャスト／マルチキャスト転送手段と、を有し、
前記情報処理サーバは、
前記端末装置との間でトンネルを設定する第２のトンネル設定手段と、
前記ブロードキャストまたはマルチキャストパケットを前記トンネルを介して前記端末装置から受信するブロードキャスト／マルチキャスト受信手段と、
前記受信したブロードキャストまたはマルチキャストパケットに基づき前記第１のネットワークに存在するサービス提供サーバを発見するサーバ発見手段と、
前記端末装置からあるサービスの実行要求を受けた場合は、前記あるサービスを提供するサービス提供サーバとの間で前記あるサービスに係わるデータ通信を行うデータ通信手段と、を有した、
ことを特徴とする遠隔操作システム。
【請求項１２】
前記データ通信手段は、前記データ通信の結果を前記あるサービスの実行要求を行った前記端末装置に送信することを特徴とする請求項１１に記載の情報処理サーバ。
【請求項１３】
前記情報処理サーバは、
前記サーバ発見手段によって発見された前記サービス提供サーバの識別子を前記端末装置に送信する識別子送信手段をさらに備え、
前記データ通信手段は、前記識別子を受信した前記端末装置から前記サービス提供サーバが提供するサービスの実行要求を受けた場合は、実行要求された前記サービスを受け持つサービス提供サーバとの間で前記サービスに係わるデータ通信を行う、
ことを特徴とする請求項１１または１２に記載の遠隔操作システム。
【請求項１４】
前記情報処理サーバにおける前記サーバ発見手段は、前記サービス提供サーバを発見するためのブロードキャストまたはマルチキャストパケットを前記トンネルを介して前記端末装置に送信し、
前記端末装置における前記ブロードキャスト／マルチキャスト転送手段は、前記サーバ発見手段から前記トンネルを介して送信された前記ブロードキャストまたはマルチキャストパケットを前記第１のネットワークに出力し、出力された前記ブロードキャストまたはマルチキャストパケットに対する応答パケットを前記第１のネットワークから受け取り、受け取った前記応答パケットを前記トンネルを介して前記サーバ発見手段に送信し、
前記サーバ発見手段は、前記応答パケットに基づき前記第１のネットワークに存在するサービス提供サーバを発見する、
ことを特徴とする請求項１１ないし１３のいずれかに記載の遠隔操作システム。
【請求項１５】
前記第１のネットワークにはＤＨＣＰサーバが接続され、
前記情報処理サーバは、
ＤＨＣＰに従った通信を前記トンネルを介して前記ＤＨＣＰサーバとの間で行うことにより前記第１のネットワークに属するＩＰアドレスを取得するＩＰアドレス取得手段をさらに有し、
前記サーバ発見手段は、前記端末装置に送信する前記ブロードキャストまたはマルチキャストパケットの送信元アドレスとして、取得した前記ＩＰアドレスを用いることを特徴とする請求項１４に記載の遠隔操作システム。
【請求項１６】
前記第１および第２のトンネル設定手段は、Ｌ２ＴＰ、ＰＰＴＰまたはＭＰＬＳによりトンネルを設定することを特徴とする請求項１１ないし１５いずれかに記載の遠隔操作システム。
【請求項１７】
サービス提供サーバが接続された第１のネットワークに参加する端末装置と、前記端末装置から処理の要求を受けて処理を行った結果を返す第２のネットワークに参加する情報処理サーバとを用いた遠隔操作方法であって、
前記端末装置と前記情報処理サーバとの間にトンネルを設定し、
前記サービス提供サーバから前記第１のネットワークに出力されるブロードキャストまたはマルチキャストパケットを、前記トンネルを介して前記端末装置から前記情報処理サーバに送ることにより前記情報処理サーバに前記サービス提供サーバを発見させ、
前記端末装置によってあるサービスの実行が要求された場合は、実行を要求された前記あるサービスを受け持つサービス提供サーバと前記情報処理サーバとの間で前記あるサービスに係わるデータ通信を行う、ことを特徴とする遠隔操作方法。
【請求項１８】
前記データ通信の結果を前記端末装置に送信することを特徴とする請求項１７に記載の遠隔操作方法。
【請求項１９】
発見された前記サービス提供サーバの識別子を前記情報処理サーバから前記端末装置に送信し、
前記識別子を受信した前記端末装置から前記サービス提供サーバが提供するサービスの実行が要求された場合は、実行を要求された前記サービスを受け持つサービス提供サーバと前記情報処理サーバとの間で前記サービスに係わるデータ通信を行うことを特徴とする請求項１７または１８に記載の遠隔操作方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の計算機を協調動作させる技術に関する。
【背景技術】
【０００２】
近年、遠隔にある計算機からの画面情報を手元の端末に表示し、手元端末に接続したマウスあるいはキーボードを用いて遠方計算機を操作するというリモート操作が可能となっている。例として、X.org Foundationにて開発されているX window systemや、 Microsoft社のRemote Desktopと呼ばれる機能や、VNC (Virtual Network Computing) software を挙げることができる。また、X window systemのように描画コマンドを送受信することにより、手元端末に遠方計算機の画面を描画するのでなく、遠方計算機の画面をMPEG2-TSで画像符号化し、手元端末でこれを復号化し表示することにより同様のシステムを構築することも可能である。
【０００３】
また、インターネットの発達により、2点間が遠く離れていても高速な通信が可能となってきている。
【０００４】
一般に、高速なCPUや大容量のハードディスクを持った計算機は、重く、携帯に向かない。一方、携帯に適する軽量な計算機は、CPU能力が比較的低速であり、ハードディスクの容量も少ない。
【０００５】
しかしながら、インターネット上でリモート操作方式を用いることにより、遠方計算機をあたかも手元にあるかのように操作することが可能であり、持ち歩くのは軽い手元端末でありながら、大容量のハードディスクに格納したデータにアクセスしたり、高速なCPUを用いた処理を行うことができる。
【０００６】
また、特開2003-288536公報「地図情報提供システム」(中島幸治 セイコーエプソン株式会社)では、遠方の地図データサーバから地図データを手元のカーナビゲーション端末機に転送し、カーナビゲーション端末機に表示する方法が示されている。手元のカーナビゲーション端末にて目的地を入力し、この情報が地図データサーバへ送られ、所望の場所の地図データを受信することにより、手元のカーナビゲーション端末にて所望の場所の地図を表示することができる。これにより、大容量の記憶装置をカーナビゲーション端末に具備しなくて済む。
【０００７】
このように、遠方に配した計算機に計算処理やデータ記憶のほとんどを任せ、ユーザの手元の端末は、遠方計算機からの処理結果のユーザへの提示、あるいはユーザからのキーボードやマウス入力を受け付けるIOデバイスとして、軽い処理のみを行うというアーキテクチャが、近年のネットワークの高速化に伴いその適用領域を広げてきている。このアーキテクチャでは、殆どの処理を遠方計算機が行うため、手元端末は低処理能力のハードウエアで構成することができるという利点を持つ。また、このアーキテクチャに於いて、遠方計算機を企業のシステム部門が管理し、社員をユーザとして計算機システムを構築している場合や、ASP(アプリケーションサービスプロバイダ)が遠方計算機を管理し、ユーザに計算機資源を貸し出すようなサービスを行っている場合には、アプリケーションが高度化しより高い計算処理能力を必要としても、遠方計算機の処理能力のみを大きくすれば良く、ユーザの手元端末の処理能力を大きくしなくても良いため、ユーザにハードウエア更新の手間を省くことが可能であるという利点を持つ。
【特許文献１】特開２００３−２８８５３６公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
例えば、Microsoft社のOSであるWindows（登録商標）で使われているNetBIOSや、UPnP Forumで標準化されているUPnPのように、近くの機器やサービスを発見するために、ブロードキャストやマルチキャストを使用している。従来のリモート操作方式では、遠方端末が手元端末と同じIPサブネットに所属していない場合には、遠方端末と手元端末近くの計算機との間でブロードキャストパケットの送受信を行うことができず、遠方計算機は手元端末近くの機器やサービスを発見することが出来ないという課題があった。機器やサービス発見にマルチキャストを用いるプロトコルの場合でも、マルチキャストパケットのTTLが小さく設定されていたり、ネットワークがマルチキャストパケットの転送をサポートしていない場合が多いため、遠方計算機は手元端末近くの機器やサービスを発見することが出来ないという課題があった。このため、例えば、手元端末の近くに映像コンテンツを保持しているUPnP AVサーバがあっても、遠方計算機がこれを発見することができず、そのUPnP AVサーバ内の映像コンテンツを手元端末にて表示することができないという課題がある。
【０００９】
同様の課題は上述の特開2003-288536公報にも存在し、手元のカーナビゲーション端末の近くにある機器を、遠方の地図データサーバは発見できないため、その機器の提供するサービスを利用した情報を手元のカーナビゲーション端末に表示することができない。
【００１０】
また、手元端末近くのサービスを発見するために、手元端末と遠方計算機との間に例えばL2TPトンネルを設定し、遠方計算機を手元端末と同じサブネットに属するように模擬することも従来の技術で可能であるが、この場合、手元端末近くのサービスを遠方計算機が使用する際のデータ通信も、L2TPトンネルを通過する。このため、遠方計算機によるデータ通信のトンネル転送処理を手元端末が行わなければならないという課題が存在する。 特にネットワークが高速化しデータ通信のデータ量が多い程この処理負荷は大きくなり、手元端末に具備すべきCPUパワーも増大するという課題が存在する。
【００１１】
これにより、アプリケーションの高度化により遠方計算機の行うデータ通信の量が増加すれば、ユーザが手元端末の処理能力のアップグレードを行わなければならず煩雑であるという課題が存在する。
【００１２】
本発明は、本体装置（情報処理サーバ）が端末装置近くの機器やサービスを発見可能にすると同時に端末装置にかかる通信負荷を可及的に低減した情報処理サーバ、遠隔操作システムおよび遠隔操作方法を提供する。
【課題を解決するための手段】
【００１３】
本発明の一態様に従った情報処理サーバは、サービス提供サーバが接続された第１のネットワークに参加する端末装置から処理の要求を受けて処理を行った結果を返す第２のネットワークに参加する情報処理サーバであって、前記端末装置との間でトンネルを設定するトンネル設定手段と、前記サービス提供サーバから前記第１のネットワーク上に出力されるブロードキャストまたはマルチキャストパケットを前記トンネルを介して前記端末装置から受信するブロードキャスト／マルチキャスト受信手段と、前記受信されたブロードキャストまたはマルチキャストパケットに基づき前記第１のネットワークに存在するサービス提供サーバを発見するサーバ発見手段と、前記端末装置からあるサービスの実行要求を受けた場合は、前記あるサービスを提供するサービス提供サーバとの間で前記あるサービスに係わるデータ通信を行うデータ通信手段と、を備える。
【００１４】
本発明の一態様に従った遠隔操作システムは、サービス提供サーバが接続された第１のネットワークに参加する端末装置と、前記端末装置から処理の要求を受けて処理を行った結果を返す第２のネットワークに参加する情報処理サーバとを備えた遠隔操作システムであって、  前記端末装置は、前記情報処理サーバとの間でトンネルを設定する第１のトンネル設定手段と、前記サービス提供サーバから前記第１のネットワークに出力されたブロードキャストまたはマルチキャストパケットを受け取り、受け取ったブロードキャストまたはマルチキャストパケットを前記トンネルを介して前記情報処理サーバに送信するブロードキャスト／マルチキャスト転送手段と、を有し、前記情報処理サーバは、前記端末装置との間でトンネルを設定する第２のトンネル設定手段と、前記ブロードキャストまたはマルチキャストパケットを前記トンネルを介して前記端末装置から受信するブロードキャスト／マルチキャスト受信手段と、前記受信したブロードキャストまたはマルチキャストパケットに基づき前記第１のネットワークに存在するサービス提供サーバを発見するサーバ発見手段と、前記端末装置からあるサービスの実行要求を受けた場合は、前記あるサービスを提供するサービス提供サーバとの間で前記あるサービスに係わるデータ通信を行うデータ通信手段と、を有したことを特徴とする。
【００１５】
本発明の一態様に従った遠隔操作方法は、サービス提供サーバが接続された第１のネットワークに参加する端末装置と、前記端末装置から処理の要求を受けて処理を行った結果を返す第２のネットワークに参加する情報処理サーバとを用いた遠隔操作方法であって、前記端末装置と前記情報処理サーバとの間にトンネルを設定し、前記サービス提供サーバから前記第１のネットワークに出力されるブロードキャストまたはマルチキャストパケットを、前記トンネルを介して前記端末装置から前記情報処理サーバに送ることにより前記情報処理サーバに前記サービス提供サーバを発見させ、前記端末装置によってあるサービスの実行が要求された場合は、実行を要求された前記あるサービスを受け持つサービス提供サーバと前記情報処理サーバとの間で前記あるサービスに係わるデータ通信を行う、ことを特徴とする。
【発明の効果】
【００１６】
本発明により、情報処理サーバは端末装置近くの機器やサービスを発見可能できるとともに端末装置にかかる通信負荷を可及的に低減できる。
【発明を実施するための最良の形態】
【００１７】
以下、図面を参照して、本発明の実施形態を説明する。
【００１８】
図1は、本発明の実施形態の典型的な構成を示す図である。
【００１９】
アクセスポイントAPと、端末装置Tと、プリンタ（サービス提供サーバ）Pと、計算機（サービス提供サーバ）Cと、DHCPサーバDとが無線リンク（第１のネットワーク）を介して接続される。また、アクセスポイントAPと本体装置（情報処理サーバ）Bとはネットワーク（第２のネットワーク）Nを介して接続される。
【００２０】
アクセスポイントAPは典型的にはIEEE 802.11 aあるいはbあるいはgにて定められる無線プロトコルを用いて、無線通信を行うが、他の無線方式を用いても良い。また、端末装置Tと、プリンタPと、計算機Cと、本体装置Bは、典型的にはIPv4(Internet Protocol Version4:以後IPと称する)にて互いに通信を行うが、例えばIPv6で有っても良いし、他のプロトコルであっても良い。また、ネットワークNは典型的には一つ以上のルータにより構成される。また、アクセスポイントAPはネットワークNからのパケットを無線リンクへ、無線リンクからのパケットをネットワークNへ転送する機能を有する。この転送はイーサネットブリッジング機能により行われ、IPv4パケットのヘッダ情報を参照せずに行われる。
次に、図2を参照して、端末装置Tと本体装置Bとの接続動作を説明する。
【００２１】
端末装置Tは、アクセスポイントAPと無線リンクを確立した後、例えばDCHPサーバDからDHCP機能にてIPアドレスを取得する。端末装置Tは、IPアドレスAtを取得すると、本体装置Bに対してセッションを確立する。セッションを確立する際のシーケンスを図2に示す。端末装置Tは、予め保持している本体装置BのIPアドレス宛に、セッション接続要求を送信する（Ｓ１）。
【００２２】
このセッション接続要求は、
端末装置TのIPアドレス(At)
端末装置Tを使用しているユーザのユーザ識別子
端末装置の通信パラメータ、
を含む。図4に、セッション接続要求のフォーマット例を示す。
【００２３】
ここで、通信パラメータは、
プロトコル識別子
符号化レート
画面サイズ
を含み、この3つで一組のエントリとし、複数のエントリを記述することができ、端末装置Tが使用可能なエントリを列挙する。
【００２４】
記述したエントリの数は、エントリ数フィールドに記される。
【００２５】
図5に通信パラメータのフォーマット例を示す。通信パラメータの例として、プロトコル識別子としてMPEG2-TS、符号化レートとして4Mbps、画面サイズとして680x480を挙げることができる。
【００２６】
本体装置Bは、セッション接続要求を受信すると、この中の端末装置TのIPアドレス宛に認証要求を送信する（Ｓ２）。認証要求は、
本体装置BのIPアドレス(Ab)
認証アルゴリズム識別子
チャレンジパラメータ
を含む。図6に認証要求のフォーマット例を示す。
【００２７】
認証要求を受信すると、端末装置Tは、チャレンジパラメータと予め与えられているパスワードを基に、認証アルゴリズム識別子で示されるアルゴリズムにて、認証レスポンスを計算する。計算後、端末装置Tは本体装置B宛に認証応答を送信する（Ｓ３）。認証レスポンスの計算には例えば、チャレンジパラメータとパスワードを連結し、これをMD5アルゴリズムにてメッセージダイジェストを求める方法を用いることができる。MD5アルゴリズムに関しては、IETF RFC1321に詳しい。
【００２８】
この認証応答は、
端末装置TのIPアドレス(At)
認証アルゴリズム識別子
端末装置Tを使用しているユーザのユーザ識別子
チャレンジパラメータ
認証レスポンス
を含む。図7に認証応答のフォーマット例を示す。
【００２９】
認証応答を受信すると、本体装置Bは、端末装置Tと同様の手順にて認証レスポンスを計算し、これが認証応答内の認証レスポンスと一致するかどうかを確認する。一致しない場合には、本体装置Bは端末装置Tへセッション接続拒否を送信する。セッション接続拒否のフォーマットを図8に示す。一致した場合には、本体装置Bは端末装置Tへセッション接続応答を送信する（Ｓ４）。このセッション接続応答は、
本体装置BのIPアドレス(Ab)
本体装置Bのセッションポート番号
通信パラメータ
を含む。通信パラメータには、セッション接続要求に記された通信パラメータの中で、本体装置Bが使用可能なものを列挙する。図9にセッション接続応答のフォーマット例を示す。
【００３０】
セッション接続応答を受信すると、端末装置Tは、セッション接続確認を本体装置Bへ送信する（Ｓ５）。
【００３１】
このセッション接続確認は、
端末装置TのIPアドレス(At)
端末装置Tのセッションポート番号
通信パラメータ
を含む。通信パラメータには、セッション接続応答に記された通信パラメータの中で端末装置Tが最も好ましいエントリを一つ記す。図10にセッション接続確認のフォーマット例を示す。
【００３２】
セッション接続確認を受信すると、本体装置Bは、セッション接続確認における端末装置TのIPアドレスとセッションポート番号宛にUDPを用いて、例えばMPEG2-TSで本体装置Bの動作画面データを端末装置Tに送信する（Ｓ８）。端末装置Tは、本体装置Bからの動作画面データを受信すると、これに含まれる画像データを端末装置Tが具備するディスプレイに表示し、またこれに含まれる音声データを、端末装置Tが具備するスピーカに出力する。
【００３３】
また、端末装置Tは、具備するキーボードあるいはマウスからデータを受け取った場合には、この入力イベント情報を、セッション接続応答内の本体装置BのIPアドレスとセッションポート番号宛にUDPを用いて送信する（Ｓ８）。
【００３４】
本体装置Bは、端末装置Tから入力イベント情報を受信すると、これに従いあたかも本体装置Bに具備したキーボードあるいはマウスからの入力であるかのように処理を行う。
【００３５】
以上により、端末装置Tの具備するキーボードやマウスといった入力装置を用いて本体装置Bを操作することが可能となる。また、本体装置Bの画面を、端末装置Tに表示することが可能となる。
【００３６】
さらに、本体装置Bは、セッション接続確認内の端末装置TのIPアドレスを用いて、本体装置Bと端末装置Tの間にトンネルを設定する（Ｓ６）。図3に本体装置Bと端末装置Tの間にトンネルTUN を設定した状態を示す。一般にあるプロトコルのパケットを、別のプロトコルあるいは同じプロトコルのパケットのデータ部分として運ぶ事により、ネットワーク上の２点間に仮想的な通信路を形成することをトンネリングといい、この仮想的な通信路をトンネルという。例えば、イーサネットフレームのようなリンクレイヤ層のプロトコルのパケットをIPパケットのようなネットワーク層のプロトコルのパケットで運ぶことを指す。ここでは、例えばL2TPによりトンネルを設定したとする。L2TPの具体的な手順については、「VPN/VLAN教科書」(マルチメディア通信研究会 (編集), 是友 春樹)あるいは、IETFドラフトdraft-ietf-l2tpext-l2tp-base-15に詳しい。トンネルTUNを設定後、本体装置Bは、トンネルTUNを介して（端末装置Tを経由して）、DHCPサーバDからDHCP機能にてIPアドレスAb'を取得する。以後、このアドレスを本体装置トンネルアドレスと呼ぶ。本体装置トンネルアドレスを取得すると、このアドレスの値を含むアドレス通知を本体装置Bから端末装置Tへ送信する（Ｓ７）。
【００３７】
図13は、アドレス通知のフォーマット例を示す。
【００３８】
アドレス通知は、本体装置IPアドレスフィールドと本体装置イーサアドレスフィールドとを持ち、本体装置IPアドレスフィールドには本体装置トンネルアドレスが記されており、本体装置イーサアドレスフィールドには、本体装置のイーサアドレスが記されている。
【００３９】
端末装置Tは、アドレス通知を受信した後は、この本体装置トンネルアドレス宛のパケット、およびマルチキャストおよびブロードキャストパケットを、トンネルTUNを介して本体装置Bに転送する。
【００４０】
これにより、本体装置Bは、トンネルTUNを介して、端末装置Tと同じサブネットに属することができる。よって、本体装置Bは、端末装置Tに到着するブロードキャストパケットおよびマルチキャストパケットを受信することができ、端末装置Tと同じ範囲へのブロードキャストパケットおよびマルチキャストパケットの送信が可能となる。以下これについてUPnPを例に具体的に説明する。
【００４１】
図11は、UPnPを用いた場合の動作シーケンスを示す図である。図11では、トンネルTUNを使用した部分を破線で、そうでない部分を実線で示している。
【００４２】
例えば、計算機CがUPnPにて映像コンテンツを提供している場合を考える。本体装置Bは、トンネルTUNを介して映像コンテンツを保持している計算機を探すSSDP SEARCHをマルチキャストにて送信する（Ｓ１１）。このときのSSDP SEARCHのソースアドレスにはアドレスAb'を用いる。計算機CはSSDP SEARCHを受信すると、そのソースアドレスに記されているAb'宛にSSDP SEARCHの応答を返す（Ｓ１２）。これにより、本体装置Bは計算機Cを発見することができる。
【００４３】
また、計算機Cは、自身を広告するSSDP ADVERTISEMNETを定期的にマルチキャストにて送信している。端末装置TはSSDP ADVERTISEMNETを、トンネルTUNを介して本体装置Bに転送することにより（Ｓ１３）、本体装置Bがこれを受信することができる。これにより、本体装置Bは、計算機Cを発見することができる。
【００４４】
さらに、本体装置Bは、計算機Cへ向けてコンテンツリスト要求をユニキャストにて送信する（Ｓ１４）。この際のソースアドレスには、Abを用いることにより、計算機Cからのコンテンツリスト応答は端末装置Tを経由せず受信することができる（Ｓ１５）。
【００４５】
さらに、本体装置Bは、コンテンツリストに含まれるコンテンツに対するコンテンツ要求を、計算機Cへ向けてユニキャストにて送信する（Ｓ１６）。この際のソースアドレスには、Abを用いることにより、そのコンテンツ応答（計算機Cからの応答）は端末装置Tを経由せず受信することができる（Ｓ１７）。
【００４６】
このようにして獲得したコンテンツを計算機Bにてデコードし、さらに端末Tに対するフォーマットへエンコードし端末装置Tへ送信することが可能である。 
ここでは、使用するプロトコルとしてUPnPを例に、本体装置Bと端末装置Tの動作を述べたが、本発明の適用範囲はUPnPに限らない。マルチキャストあるいはブロードキャストを用いて機器を発見し、その後ユニキャストを用いて発見した機器と通信を行うプロトコルは多数存在し、これらに本発明を適用することが可能である。別の例としては、Microsoft社のOSであるWindowsで使われているNetBIOS/SMBも挙げることができる。
【００４７】
また、計算機Cから本体装置BのアドレスAb'宛にパケットが送られた場合は、端末装置TがこのパケットをトンネルTUNを介して本体装置Bに送る。本体装置Bは、宛先アドレスがAb'のパケットに対する応答パケットには、そのソースアドレスとしてアドレスAb'を記す。
【００４８】
次に、図12を用いて、端末装置Tの構成例を説明する。
【００４９】
端末装置Tは、ユーザ入出力処理部１１と、セッション設定部１２と、トンネル設定部１３と、トンネル処理部１４と、パケット種別判断部１５と、無線送受信部１６とからなる。
【００５０】
無線送受信部１６は、無線リンクの確立、DHCPサーバと通信しIPアドレスを獲得する処理、および無線リンクを介してのパケット送受信処理を行う。
【００５１】
セッション設定部１２は、無線送受信部１６からIPアドレスを獲得した旨の通知を受け取ると、無線送受信部１６から受け取ったIPアドレスと、予め設定されているユーザのユーザ識別子と、予め設定されている通信パラメータを含むセッション接続要求を生成し、予め設定されている本体装置BのIPアドレス宛にこれを無線送受信部１６を介して送信する。
【００５２】
また、セッション設定部１２は、無線送受信部１６を介して認証要求を受信すると、
無線送受信部１６から受け取ったIPアドレスと、
認証要求に含まれる認証アルゴリズム識別子と、
予め設定されているユーザのユーザ識別子と、
認証要求に含まれるチャレンジパラメータと、
認証要求に含まれるチャレンジパラメータと予め設定されているパスワードを基に、認証アルゴリズム識別子で示されるアルゴリズムによって計算した認証レスポンスと、
を含む認証応答を生成し、認証要求のソースアドレスとソースポート宛にこれを無線送受信部１６を介して送信する。
【００５３】
また、セッション設定部１２は、無線送受信部１６を介してセッション接続応答を受信すると、
無線送受信部１６から受け取ったIPアドレスと、
予め設定されているセッションポート番号と、
セッション接続応答に含まれる通信パラメータの中から、予め定められた優先順位の最も高いものと、
を含むセッション接続確認を生成し、認証要求のソースアドレスとソースポート宛にこれを無線送受信部１６を介して送信する。
【００５４】
トンネル設定部１３は、無線送受信部１６を介してL2TPトンネル設定の制御パケットを受信すると、L2TPの通信仕様に従いL2TPトンネルを設定する。
【００５５】
トンネル設定部１３は、トンネルを設定すると、トンネル処理部１４へ、L2TPトンネルのパラメータであるところの
セッションIDと、
相手先アドレスと、
相手先ポート番号（トンネルデータ用のポート番号）と、
自アドレスと、
自ポート番号（トンネルデータ用のポート番号）
を渡す。
【００５６】
パケット種別判断部１５は、無線送受信部１６を介してアドレス通知を受信すると、これに含まれる本体装置IPアドレス（本体装置トンネルアドレス）と本体装置イーサアドレスを記憶する。
【００５７】
また、パケット種別判断部１５は、本体装置イーサアドレスの値を、無線送受信部１６に渡す。以後、無線送受信部１６は、
本体装置イーサアドレスを宛先に持つイーサパケットと、
ブロードキャストアドレスを宛先に持つイーサパケットと、
任意のマルチキャストアドレスを宛先に持つイーサパケット
をパケット種別判断部１５に渡す。
【００５８】
このとき、端末装置Tが802.11aまたはbまたはgを用いている場合、本体装置のイーサアドレスを宛先に持つイーサパケットを、アクセスポイントAPに端末装置Tに対して送信させるため、端末装置Tは、本体装置のイーサアドレスに対する接続関係をアクセスポイントAPと結ぶ。
【００５９】
パケット種別判断部１５は、無線送受信部１６から、
本体装置イーサアドレスを宛先に持つイーサパケットと、
ブロードキャストアドレスを宛先に持つイーサパケットと、
任意のマルチキャストアドレスを宛先に持つイーサパケット
を受け取ると、これをトンネル処理部１４に渡す。
【００６０】
ここで、パケット種別判断部１５は、
本体装置イーサアドレスを宛先に持つイーサパケットと、
ブロードキャストアドレスを宛先に持つイーサパケットと、
予め設定されているマルチキャストアドレスを宛先に持つイーサパケット
のみトンネル処理部１４に渡すようにしても良い。
【００６１】
トンネル処理部１４は、無線送受信部１６から（本体装置Bから）L2TPでカプセル化されたパケットを受け取ると、パケットの先頭からイーサヘッダとIPヘッダとUDPヘッダとL2TPヘッダを外し、残りのイーサヘッダとIPヘッダとデータを、無線送受信部１６を介して無線リンクに送信する。
【００６２】
また、トンネル処理部１４は、パケット種別判断部１５からパケットを受け取ると、これにイーサヘッダとIPヘッダとUDPヘッダとL2TPヘッダをつけ、無線送受信部１６を介して無線リンクに（本体装置Bに向けて）送信する。このカプセル化されたパケットのフォーマットを図14に示す。このとき、付与するイーサヘッダのソースアドレスには自ノードのイーサアドレス、宛先アドレスには、(図示しない)ルータのイーサアドレスを記す。 また、付与するIPヘッダの宛先アドレスにはトンネル設定部１３から受け取った相手先アドレスを記し、ソースアドレスにはトンネル設定部１３から受け取った自アドレスを記す。また、付与するUDPヘッダの宛先ポートにはトンネル設定部１３から受け取った相手先ポート番号を記し、ソースポートにはトンネル設定部１３から受け取った自ポート番号を記す。また、付与するL2TPヘッダのセッションIDにはトンネル設定部１３から受け取ったセッションIDを記す。
【００６３】
ユーザ入出力処理部１１は、無線送受信部１６を介して本体装置Ｂからの動作画面データを受信すると、例えばデータがMPEG2-TSで符号化されている場合には、画像データと音声データに復号化し、端末装置Tが具備するディスプレイに画像データを、スピーカに音声データを出力する。
【００６４】
また、ユーザ入出力処理部１１は、端末装置Tが具備するキーボードあるいはマウスから入力を受け取ると、これをエンコードし無線送受信部１６を介して、入力イベント情報として本体装置Bへ送信する。
【００６５】
図18は、本体装置Bによる、UPnP(Universal Plug and Play)を用いたコンテンツサービス発見の処理手順を示す。ここでコンテンツサービスを提供する計算機をコンテンツサーバと呼ぶことにする。
【００６６】
本体装置Bは、トンネルTUNの設定が終了するとSSDP SEARCHパケットをトンネルTUNを介して送信する（Ｓ２１）。このときのSSDP SERCHパケットの宛先アドレスは、239.255.255.250であり、ソースアドレスは本体装置トンネルアドレスAb'である。トンネルを介するため、SSDP SERCHパケットは図14のフォーマットにカプセル化されてネットワークＮに送信される。 
次に、SSDP SEARCHパケットの応答パケットをトンネルTUNを介して受信したかどうかの判定を行う（Ｓ２２）。
【００６７】
SSDP SEARCHパケットの応答パケットを受信した場合には（Ｓ２２のＹＥＳ）、コンテンツサーバリストの更新処理を行う（Ｓ２３）。コンテンツサーバリストは、(機器名、機器IPアドレス、生存時間、コンテンツディレクトリ制御URL)からなる。
【００６８】
コンテンツサーバリストの更新処理は、SSDP SEARCHパケットの応答パケットのソースアドレスと一致する機器IPアドレスを持つエントリがコンテンツサーバリストに既に存在するか否かを確認し、存在する場合には、エントリの生存時間を、SSDP SEARCHパケットの応答パケットのCACHE-CONTROLフィールドに示される時間に書き換える。一方、存在しない場合には、コンテンツサーバリストに新たなエントリを追加する。
【００６９】
この追加エントリの(機器IPアドレス、生存時間)にはSSDP SEARCHパケットの応答パケットの(ソースアドレス、CACHE-CONTROLフィールドに示される時間)を記し、追加エントリの(機器名、コンテンツディレクトリ制御URL)には、SSDP SEARCHパケットの応答パケットのLOCATIONフィールドで示されるURLにアクセスして得られる一連のDescriptionドキュメント内の(friendlyName,controlURL)の値を記す。
【００７０】
この後、またはSSDP SEARCHパケットの応答パケットを受信しない場合は（Ｓ２２のＮＯ）、10分間後に本体装置Ｂ内部のタイマにタイマイベントを設定し（Ｓ２４）、パケット受信およびタイマイベントの受信待ち状態になる（Ｓ２５）。
【００７１】
パケット受信した場合にはそれがトンネルTUNを介して受信したSSDP ADVERTISEMENTパケットであるかを確認し（Ｓ２６）、SSDP ADVERTISEMENTパケットである場合には（Ｓ２６のＹＥＳ）、コンテンツサーバリストの更新処理を行い（Ｓ２７）、再びパケット受信およびタイマイベントの受信待ち状態になる（Ｓ２５）。
【００７２】
コンテンツサーバリストの更新処理では、SSDP ADVERTISEMENTパケットのソースアドレスと一致する機器IPアドレスのエントリがコンテンツサーバリストに既に存在するか否かを確認し、存在する場合には、エントリの生存時間を、SSDP ADVERTISEMENTパケットのCACHE-CONTROLフィールドに示される時間に書き換える。
【００７３】
存在しない場合には、コンテンツサーバリストに新たなエントリを追加する。この追加エントリの(機器IPアドレス、生存時間)にはSSDP ADVERTISEMENTパケットの(ソースアドレス、CACHE-CONTROLフィールドに示される時間)を記し、追加エントリの(機器名、コンテンツディレクトリ制御URL)には、SSDP ADVERTISEMENTパケットのLOCATIONフィールドで示されるURLにアクセスして得られる一連のDescriptionドキュメント内の(friendlyName,controlURL)の値を記す。
【００７４】
SSDP ADVERTISEMENTパケットでない場合には（Ｓ２６のＮＯ）、タイマイベントを受信したか否かを確認し（Ｓ２８）、タイマイベントを受信していない場合には（Ｓ２８のＮＯ）、再びパケット受信およびタイマイベントの受信待ち状態になる（Ｓ２５）。
【００７５】
一方、タイマイベントを受信した場合には（Ｓ２８のＹＥＳ）、コンテンツサーバリストのタイムアウト処理を行う（Ｓ２９）。
【００７６】
コンテンツサーバリストのタイムアウト処理は、コンテンツサーバリストの各エントリの生存時間から10分を減じる。さらに減じた後の生存時間が0以下のエントリを削除する。
【００７７】
この後、SSDP SEARCHパケットをトンネルTUNを介して送信を再度行う（Ｓ２１）。
【００７８】
以上の動作により、本体装置Bは、トンネルTUNを介して端末装置T近くのコンテンツサービスを発見し、それを提供しているコンテンツサーバのリストを保持することが可能となる。
【００７９】
図19は、本体装置Bがコンテンツサービスを利用して動画再生を行う際の処理の流れを示す。
【００８０】
本体装置Bは、コンテンツリスト内の全てのエントリのコンテンツサーバのアイコンの表示画像（識別子）を、端末装置Tに送信する（Ｓ３１）。
【００８１】
図20に、本体装置Bが送信しているコンテンツサーバのアイコンの表示画像の例を示す。図20では、本体装置Bにはコンテンツリスト内に4つのエントリが存在し、各々の機器名が ひまわり、さくら、たけ、うめ である。
【００８２】
本体装置Bは、端末装置Tからマウスクリックイベントが入力されると（Ｓ３２のＹＥＳ）、マウスクリックされた対象となっているコンテンツサーバから、コンテンツリストの取得を行う（Ｓ３３）。
【００８３】
コンテンツリストの取得は、コンテンツサーバリストの該当エントリのコンテンツディレクトリ制御URLへコンテンツリスト取得要求を送信することで行う。このコンテンツリスト取得要求は、トンネルを介さずに送信され、その宛先アドレスはコンテンツサーバの機器IPアドレスであり、ソースアドレスは本体装置BのIPアドレスAbである。
【００８４】
本体装置Bは、コンテンツリストの取得後、コンテンツリストの表示画像（識別子）を端末装置Tへ送信する（Ｓ３４）。
【００８５】
図21は、コンテンツリストの表示画像の例であり、コンテンツサーバが保持している2つの動画のタイトルと、1つの静止画のタイトルと、1つの音楽のタイトルと、コンテンツ種別が表示されている。
【００８６】
本体装置Bは、端末装置Tからマウスクリックイベントが入力されると（Ｓ３５のＹＥＳ）、マウスクリックされた対象となっているコンテンツタイトルに対して、コンテンツ取得要求を送信して、コンテンツを取得する（Ｓ３６）。コンテンツは、静止画像データ、動画像データ、音声データ、文書データまたはこれらの任意の組み合わせを含む。
【００８７】
このコンテンツ取得要求は、トンネルを介さずに送信され、その宛先アドレスはコンテンツサーバの機器IPアドレスであり、ソースアドレスは本体装置BのIPアドレスAbである。
【００８８】
コンテンツの取得後、例えばコンテンツが動画の場合にはその動画再生画像を端末装置Tへ送信する（Ｓ３７）。
【００８９】
次に、図15を用いて、本体装置Bの構成例を説明する。
【００９０】
本体装置Bは、動作画面生成部２１と、中央処理部２２と、外部入力処理部２３と、セッション設定部２４と、トンネル設定部２５と、トンネル処理部２６と、有線送受信部２７からなる。
【００９１】
有線送受信部２７は、パケットの送受信処理を行う。
【００９２】
有線送受信部２７は外部からパケットを受信すると、パケットの検査を行い、
そのIPヘッダのプロトコル番号がUDPであり、UDP宛先ポートが予め与えられたセッション設定用の番号である場合には、そのパケットをセッション設定部２４に渡し、
そのIPヘッダのプロトコル番号がUDPであり、UDP宛先ポートがセッション設定部２４から与えられるセッションポート番号（確立されたセッションを用いたデータ通信用のポート番号）である場合には、外部入力処理部２３に渡し、
そのIPヘッダのプロトコル番号がUDPであり、UDP宛先ポートが予め定められたトンネル設定用の番号である場合には、そのパケットをトンネル設定部２５に渡し、
そのIPヘッダのプロトコル番号がUDPであり、UDP宛先ポートがトンネル設定部２５から与えられた番号（トンネルデータ用のポート番号）である場合には、そのパケットをトンネル処理部２６に渡し、
それ以外のパケットは中央処理部２２に渡す。
【００９３】
セッション設定部２４は、有線送受信部２７を介してセッション接続要求を受信すると、
予め設定されている自ノードのIPアドレスと、
予め設定されている認証アルゴリズム識別子と、
予め設定されているチャレンジパラメータと
を含む認証要求を、有線送受信部２７を介して端末装置T宛に送信する。
【００９４】
また、セッション設定部２４は、有線送受信部２７を介して認証応答を受信すると、これに含まれるチャレンジパラメータとパスワードを基に、認証アルゴリズム識別子で示されるアルゴリズムにて、認証レスポンスを計算する。この計算した認証レスポンスが認証応答に含まれる認証レスポンスと一致するかどうかを確認する。
【００９５】
一致しない場合は、セッション設定部２４は、認証応答に含まれるユーザ識別子を記したセッション接続拒否を生成し、有線送受信部２７を介して端末装置Tへ送信する。
【００９６】
二つの認証レスポンスが一致する場合には、セッション設定部２４は、
予め設定されている自ノードのIPアドレスと
予め設定されている自ノードのポート番号（セッションポート番号）と  
予め設定されている複数の通信パラメータと、セッション接続要求に含まれる通信パラメータとで共通なもの
を記したセッション接続応答を生成し、有線送受信部２７を介して端末装置Tへ送信する。
【００９７】
また、セッション設定部２４は、有線送受信部２７を介してセッション接続確認を受信すると、これに含まれる通信パラメータと端末装置TのIPアドレスとセッションポート番号を動作画面生成部２１へ渡す。
【００９８】
また、セッション設定部２４は、予め設定されている自ノードのポート番号（セッションポート番号）を有線送受信部２７に渡す。
【００９９】
トンネル設定部２５は、有線送受信部２７を介してL2TPトンネル設定の制御パケットを受信すると、または上記セッション接続確認が受信された後、L2TPの通信仕様に従いL2TPトンネルを設定する。
【０１００】
トンネル設定部２５は、トンネルを設定すると、トンネル処理部２６へ、L2TPトンネルのパラメータであるところの
セッションIDと、
相手先アドレスと、
相手先ポート番号（トンネルデータ用のポート番号）と、
自アドレスと、
自ポート番号（トンネルデータ用のポート番号）
を渡す。
【０１０１】
また、トンネル設定部２５は、自ポート番号を、有線送受信部２７に渡す。
【０１０２】
トンネル処理部２６は、有線送受信部２７からL2TPでカプセル化されたパケットを受信すると、パケットの先頭からイーサヘッダとIPヘッダとUDPヘッダとL2TPヘッダを外し、残りのイーサヘッダとIPヘッダとデータを、中央処理部２２へ渡す。
【０１０３】
また、トンネル処理部２６は、中央処理部２２からイーサパケットを受け取った場合には、これにイーサヘッダとIPヘッダとUDPヘッダとL2TPヘッダをつけ、有線送受信部２７を介してネットワークＮに送信する。このとき、付与するイーサヘッダのソースアドレスには自ノードのイーサアドレス、宛先アドレスには、(図示しない)ルータのイーサアドレスを記す。また、付与するIPヘッダの宛先アドレスにはトンネル設定部２５から受け取った相手先アドレスを記し、ソースアドレスにはトンネル設定部２５から受け取った自アドレスを記す。また、付与するUDPヘッダの宛先ポートにはトンネル設定部２５から受け取った相手先ポート番号を記し、ソースポートにはトンネル設定部２５から受け取った自ポート番号を記す。また、付与するL2TPヘッダのセッションIDにはトンネル設定部２５から受け取ったセッションIDを記す。
【０１０４】
外部入力処理部２３は、有線送受信部２７を介して端末装置Tから、入力イベント情報を受信すると、これをデコードし、中央処理部２２へ送信する。
【０１０５】
動作画面生成部２１は、中央処理部２２から画面情報および音声情報を受信すると、セッション設定部２４から受け取った通信パラメータに従いエンコードを行い、これをセッション設定部２４から受け取ったIPアドレスとセッションポート番号宛に、有線送受信部２７を介して送信する。
【０１０６】
中央処理部２２は、外部入力処理部２３からの入力イベント情報に従い動作する予め定められたプログラムを動作させている。このプログラムは、基本プログラムであることが望ましい。中央処理部２２は、外部入力処理部２３からの入力イベント情報に従い予め保持しているアプリケーションプログラムを動作・操作・停止させる。
【０１０７】
これにより、端末装置Tのマウスやキーボードがあたかも本体装置に具備されているかのように基本プログラムあるいはアプリケーションプログラムは操作させられる。
【０１０８】
また、中央処理部２２は、入力イベント情報に従い変化する基本プログラムやアプリケーションプログラムの様子を画像情報あるいは音声情報として動作画面生成部２１に出力する。
【０１０９】
これにより、本体装置Bがディスプレイを具備していればこれに表示されるであろう画像を端末装置Tにて表示することができる。また、本体装置Bがスピーカを具備していればこれに出力されるであろう音声を端末装置Tにて出力することができる。
【０１１０】
また、中央処理部２２は、動作の過程で生成されたマルチキャストパケットおよびブロードキャストパケットと、トンネル処理部２６を介して受け取ったユニキャストパケットの応答パケットに関しては、トンネル処理部２６に渡し、それ以外のパケットは有線送受信部２７に渡す。
【０１１１】
以上の構成において、
トンネル処理部２６を介して送信されたパケットの
内側IPヘッダのソースアドレスはAb'であり
内側IPヘッダの宛先アドレスは、中央処理部２２の通信先アドレスであり、
外側IPヘッダのソースアドレスはAbであり、
外側IPヘッダの宛先アドレスはAtである。
【０１１２】
また、トンネル処理部２６を介さないで送信されたパケットの
IPヘッダのソースアドレスはAbであり、
IPヘッダの宛先アドレスは、中央処理部２２の通信先アドレスである。
【０１１３】
また、中央処理部２２は、外部入力処理部２３あるいはトンネル処理部２６から受信するパケットに応じて基本プログラムあるいはアプリケーションプログラムを動作させる。
【０１１４】
図16を用いて、本体装置Bの他の構成例を説明する。
本体装置Bは、大きく、通信処理部３１と、計算機部３２とからなる。計算機部３２は例えばパーソナルコンピュータ等であり、通信処理部３１は例えば計算機部３２に外付けされるボックスである。通信処理部３１は、あたかも計算機部３２が端末Tと同じサブネットに属していると計算機部３２に見せかける機能を有する。
【０１１５】
計算機部３２は、CPU、メモリ、OS、アプリケーションプログラムから構成されており、通信インタフェースとキーボードインタフェースとマウスインタフェースとディスプレイインタフェースとスピーカインタフェースを備える。
【０１１６】
通信インタフェースとキーボードインタフェースとマウスインタフェースとディスプレイインタフェースとスピーカインタフェースは、通信処理部３１と接続されている。
【０１１７】
通信インタフェースは、通信処理部３１および端末装置Tを介してDHCPにてIPアドレスを取得し、このIPアドレスを用いて通信処理部３１を介して他の機器と通信を行う。
【０１１８】
通信処理部３１は、疑似イーサ部３３と疑似キーボード部３４と疑似マウス部３５と疑似ディスプレイ部３６と疑似スピーカ部３７とトンネル設定部３８とトンネル処理部３９とNAT処理部４０とセッション処理部４１とセッション設定部４２と有線送受信部４３とからなる。
【０１１９】
有線送受信部４３は、パケットの送受信処理を行う。
【０１２０】
有線送受信部４３は外部からパケットを受信すると、パケットの検査を行い、
そのIPヘッダのプロトコル番号がUDPであり、UDP宛先ポートが予め与えられたセッション設定用の番号である場合には、そのパケットをセッション設定部４２に渡し、
そのIPヘッダのプロトコル番号がUDPであり、UDP宛先ポートがセッション設定部４２から与えられるセッションポート番号である場合には、セッション処理部４１に渡し、
そのIPヘッダのプロトコル番号がUDPであり、UDP宛先ポートが予め定められたトンネル設定用の番号である場合には、そのパケットをトンネル設定部３８に渡し、
そのIPヘッダのプロトコル番号がUDPであり、UDP宛先ポートがトンネル設定部３８から与えられた番号である場合には、そのパケットをトンネル処理部３９に渡し、
それ以外のパケットはNAT処理部４０に渡す。
【０１２１】
セッション設定部４２は、有線送受信部４３を介してセッション接続要求を受信すると、
予め設定されている自ノードのIPアドレスと、
予め設定されている認証アルゴリズム識別子と、
予め設定されているチャレンジパラメータと
を含む認証要求を、有線送受信部４３を介して端末装置T宛に送信する。
【０１２２】
また、セッション設定部４２は、有線送受信部４３を介して認証応答を受信すると、これに含まれるチャレンジパラメータと予め設定されているパスワードを基に、認証アルゴリズム識別子で示されるアルゴリズムにて、認証レスポンスを計算する。この計算した認証レスポンスが認証応答に含まれる認証レスポンスと一致するかどうかを確認する。
【０１２３】
一致しない場合は、認証応答に含まれるユーザ識別子を記したセッション接続拒否(図8)を生成し、有線送受信部４３を介して端末装置Tへ送信する。
【０１２４】
二つの認証レスポンスが一致する場合には、
予め設定されている自ノードのIPアドレスと
予め設定されている自ノードのポート番号（セッションポート番号）と  
予め設定されている複数の通信パラメータと、セッション接続要求に含まれる通信パラメータとで共通なもの
を記したセッション接続応答を生成し、有線送受信部４３を介して端末装置Tへ送信する。
【０１２５】
また、セッション設定部４２は、有線送受信部４３を介してセッション接続確認を受信すると、これに含まれる通信パラメータと端末装置TのIPアドレスとセッションポート番号をセッション処理部４１へ渡す。
【０１２６】
また、セッション設定部４２は、予め設定されている自ノードのポート番号（セッションポート番号）を有線送受信部４３に渡す。
【０１２７】
セッション処理部４１は、有線送受信部４３を介して端末装置Tから、入力イベント情報を受信すると、これをデコードし、端末装置Tのマウスからの入力情報は疑似マウス処理部３５へ渡し、端末装置Tのキーボードからの入力情報は疑似キーボード処理部３４へ渡す。
【０１２８】
また、セッション処理部４１は、疑似ディスプレイ処理部３６から画像情報あるいは疑似スピーカ処理部３７から音声情報を受け取ると、セッション設定部４２から受け取った通信パラメータに従い画像情報または音声情報をエンコードし、セッション設定部４２から受け取ったIPアドレスとポート番号宛に有線送受信部４３を介して送信する。
【０１２９】
疑似キーボード部３４は、セッション処理部４１からキーボード入力を受け取ると、このキーボード入力を計算機部３２のキーボードインタフェースの信号に変換して計算機部３２に渡す。
【０１３０】
疑似マウス部３５は、セッション処理部４１からマウス入力を受け取ると、このマウス入力を計算機部３２のマウスインタフェースの信号に変換して計算機部３２へ渡す。
【０１３１】
疑似ディスプレイ部３６は、計算機部３２のディスプレイインタフェースから画像信号が入力されると、この画像信号を内部の形式に変換してセッション処理部４１へ画像情報として出力する。
【０１３２】
疑似スピーカ部３７は、計算機部３２のスピーカインタフェースから音声信号が入力されると、この音声信号を内部の形式に変換してセッション処理部４１へ音声情報として出力する。
【０１３３】
トンネル設定部３８は図15で説明したトンネル設定部２５と同一であるので詳細な説明を省略する。
【０１３４】
疑似イーサ部３３は、簡単には、トンネル処理部３９を通って届いたパケットの応答パケットはトンネル処理部３９を通じて返し、NAT処理部４０経由で届いたパケットの応答パケットはNAT処理部４０経由で返す機能を有する。より詳細には以下の通りである。
【０１３５】
疑似イーサ部３３は、トンネル処理部３９あるいはNAT処理部４０から受け取ったパケットを、計算機部３２のイーサインタフェースの信号に変換して計算機部３２に渡す。
【０１３６】
また、疑似イーサ部３３は、計算機部３２のイーサインタフェースからパケットの信号を受け取った場合には、それを内部の形式に変換し、このパケットに属するフローを記憶している場合にはトンネル処理部３９へ渡し、そうでない場合にはNAT処理部４０へ渡す。
【０１３７】
フローの記憶は、トンネル処理部３９からパケットが入力されると、疑似イーサ部３３が、その宛先アドレスがユニキャストアドレスである場合に、(宛先アドレス、ソースアドレス、プロトコル番号、宛先ポート番号、ソースポート番号)のエントリを保持することにより行われる。ここで、宛先アドレス、ソースアドレス、プロトコル番号はIPヘッダ中のフィールドに記されており、また宛先ポート番号、ソースポート番号は、UDPあるいはTCPヘッダ中に記されている。疑似イーサ部３３は、相異なるエントリを予め定められた数だけ複数記憶できる。
【０１３８】
疑似イーサ部３３は、計算機部３２からのパケット信号を受け取った場合、そのパケットの(ソースアドレス、宛先アドレス、プロトコル番号、ソースポート番号、宛先ポート番号)が、記憶しているフローの(宛先アドレス、ソースアドレス、プロトコル番号、宛先ポート番号、ソースポート番号)と一致するかどうかを判断し、一致する場合にパケットがフローに属すると判断する。
【０１３９】
記憶したエントリは、疑似イーサ部３３が、予め定められた時間の間計算機部３２からフローに属するパケットを受け取らない場合あるいは、予め定められた時間の間フローと同じ(宛先アドレス、ソースアドレス、プロトコル番号、宛先ポート番号、ソースポート番号) を持つパケットをトンネル処理部３９から受け取らない場合の両方の条件が揃った場合に、消去される。
【０１４０】
ここでフローの識別の例として、(宛先アドレス、ソースアドレス、プロトコル番号、宛先ポート番号、ソースポート番号)を用いたが、プロトコル番号がUDPあるいはTCPを示していない場合には、宛先ポート番号を0、ソースポート番号を0として処理を行うことができる。また、IPv6の場合にはそのIPヘッダ中のフローラベルを用いてフローを識別することも可能である。
【０１４１】
トンネル処理部３９は、有線送受信部４３からL2TPでカプセル化されたパケットを受け取ると、パケットの先頭からイーサヘッダとIPヘッダとUDPヘッダとL2TPヘッダを外し、残りのイーサヘッダとIPヘッダとデータを、疑似イーサ部３３へ渡す。
【０１４２】
また、トンネル処理部３９は、疑似イーサ部３３から、イーサパケットを受け取った場合には、これにイーサヘッダとIPヘッダとUDPヘッダとL2TPヘッダをつけ、有線送受信部４３に渡す。このとき、付与するイーサヘッダのソースアドレスには自ノードのイーサアドレス、宛先アドレスには、(図示しない)ルータのイーサアドレスを記す。
【０１４３】
また、トンネル処理部３９は、付与するIPヘッダの宛先アドレスにはトンネル設定部３８から受け取った相手先アドレスを記し、ソースアドレスにはトンネル設定部から受け取った自アドレスを記す。
【０１４４】
また、トンネル処理部３９は、付与するUDPヘッダの宛先ポートにはトンネル設定部３８から受け取った相手先ポート番号を記し、ソースポートにはトンネル設定部３８から受け取った自ポート番号を記す。
【０１４５】
また、トンネル処理部３９は、付与するL2TPヘッダのセッションIDにはトンネル設定部３８から受け取ったセッションIDを記す。
【０１４６】
NAT処理部４０は、疑似イーサ部３３からパケットを受け取ると、そのイーサヘッダのソースアドレスを自ノードのイーサアドレスに変換し、IPヘッダのソースアドレスを自ノードのIPアドレスに変換し、有線送受信部４３に送信する。
【０１４７】
また、NAT処理部４０は、有線処理部４３からパケットを受け取ると、そのイーサヘッダの宛先アドレスを計算機部３２のイーサアドレスに変換し、IPヘッダの宛先アドレスを計算機部３２のIPアドレスに変換し、疑似イーサ部３３に渡す。
【０１４８】
以上のように、本体装置Bは、通信処理部３１と計算機部３２とからなるため、計算機部３２には、端末装置T近くのサービスを発見する機能を具備してなくとも良い。すなわち、通信処理部３１がトンネルを設定することにより端末装置T近くのサービスを発見するためのパケットを計算機部３２に届ける。これにより、計算機部３２は、端末装置T近くのサービスを発見することができる。
【０１４９】
また、計算機部３２は、通信処理部３１を介して発見したサービスを利用することができる。
【０１５０】
また、計算機部３２は、通信処理部３１を介して、画面表示画像およびスピーカ出力を端末装置Tへ送信でき、端末装置Tからのマウス操作、キーボード操作を受信することができる。
【０１５１】
これにより、計算機部３２には通常のパソコンを用いることができる。このように汎用計算機を用いることにより、本体装置Bの価格を下げることができる。また、本体装置Bのデータ処理能力を足りなくなった場合にも、計算機部３２のみ交換すれば良いため、データ処理能力更新のためのコストが低く済む。
【０１５２】
以上では、本体装置Bが、物理的に計算機部３２と通信処理部３１の二つから構成されている場合を記述したが、これに代えて、本体装置Bがハードウエア的に一つの装置で構成され、計算機部３２と通信処理部３１はソフトウエア的に分離されている場合でも本発明は適用可能である。例えば、VMWAREのような仮想PCを実現するソフトを用いて、ハードウエアを直接制御するホストOSにて通信処理部３１を実現し、ホストOS上に実現した仮想PC上で動作するゲストOSを計算機部３２とみなすことも可能である。
【０１５３】
この場合には、一つのハードウエアにて、複数の計算機部３２を実現することも可能となる。
【０１５４】
ところで、図17のように、端末装置Tが、アクセスポイントAP1からアクセスポイントAP2へ移動した場合、端末装置Tは、無線リンクの再接続時に DHCPサーバD1から取得したアドレスを記したDHCP RENEWパケットを送信する。移動後はこれに対する応答が一定時間得られないことにより、端末装置Tは、アドレス再取得の動作を起動する。
【０１５５】
アドレス再取得により、端末装置Tは、DHCPサーバD2からアドレスを取得できる。
【０１５６】
アドレス再取得後は、図2に示したシーケンスを改めて行うことにより、端末装置Tは、本体装置Bとの間でセッションとトンネルを確立する。
【０１５７】
以上に述べた本発明の実施形態では、端末装置Tは無線リンクを介してパケットの送受信を行ったが、端末装置Tが有線リンクを介してパケットの送受信を行っても本発明の効果を減じるものではない。
【０１５８】
また、トンネルの例としてL2TPを用いたが、L2TPの代りに他のトンネル技術、例えばPPTPあるいはMPLS等を用いても、本発明の効果を減じるものではない。
【０１５９】
また、本体装置Bあるいは端末装置Tが、アドレスAb'あるいはAtを獲得する手段の例としてDHCPを用いたが、DHCPの代りに他の手段、例えば予め手設定を行う方法を用いても、本発明の効果を減じるものではない。
【０１６０】
また、IPｖ６を用いた場合、DHCPの代わりにアドレス自動設定機能を用いることも可能である。この場合、本体装置BはRouter Solicitation（RS）メッセージをトンネルを介して端末装置Tの存在するネットワークに送信し、（図示しない）ルータからのRouter Advertisement（RA）メッセージをトンネルを介して受信することにより、IPｖ６アドレスを取得する。あるいはIPｖ６の場合、本体装置Bはリンクローカルアドレスを用いることも可能である。
【０１６１】
また、本体装置Bあるいは端末装置Tが異なるアドレスを用いる例をあげたが、同じアドレスを用いることもできる。この場合、セッション接続確認の中に端末装置Tのアドレスを含め、本体装置Bに通知する。また、端末装置Tは、本体装置Bからの動作画面データ、トンネルから受信したパケットおよび自分が送信したARP要求の応答パケット、以外のパケットを、トンネルを介して本体装置Bに送信する。
【０１６２】
端末装置が電源断した場合、本体装置は、例えば、L2TPの制御機能によりこれを検出することが可能である。
【０１６３】
この場合、本体装置は、トンネルを介さないで例えば計算機Cと通信を行っている際に、端末装置の電源断を検出しても、トンネルを介さない計算機Cとの通信を継続しても構わない。また、電源断検出後、一定時間後に、トンネルを介さない計算機Cとの通信を停止してもよい。あるいは、端末装置からセッション接続要求を受信した際に、それに含まれる端末装置のアドレスが、前回のセッション接続要求を受信した際とは異なっていた場合に、トンネルを介さない計算機Cとの通信を停止してもよい。
【０１６４】
以上説明したように、本発明の実施形態によれば、本体装置は端末装置近くの通信装置との間でブロードキャストパケットあるいはマルチキャストパケットを送受信することができる。これにより本体装置は端末装置近くの機器あるいはサービスを発見することが可能となる。また、本体装置が開始する通信は端末装置を介さずに行うため、端末装置に余計な処理負荷がかかるのを抑えることができる。さらに本体装置は、トンネルを介して受信したパケットの応答でないパケットはトンネルを介さずに送信するため、端末装置にパケット転送のために要する処理負荷を低く抑える事が可能となる。
【図面の簡単な説明】
【０１６５】
【図１】本発明の実施形態の典型的な構成を示す図である。
【図２】端末装置Ｂと本体装置Ｂとの接続動作を説明するための図である。
【図３】本体装置Ｂと端末装置Ｔの間にトンネルＴＵＮ  を設定した状態を示す。
【図４】セッション接続要求のフォーマット例を示す。
【図５】通信パラメータのフォーマット例を示す。
【図６】認証要求のフォーマット例を示す。
【図７】認証応答のフォーマット例を示す。
【図８】セッション接続拒否のフォーマット例を示す。
【図９】セッション接続応答のフォーマット例を示す。
【図１０】セッション接続確認のフォーマット例を示す。
【図１１】ＵＰｎＰを用いた場合の動作シーケンスを示す図である。
【図１２】端末装置Ｔの構成例を示す。
【図１３】アドレス通知のフォーマット例を示す。
【図１４】カプセル化されたパケットのフォーマット例を示す。
【図１５】本体装置Ｂの構成例を示す。
【図１６】本体装置Ｂの他の構成例を示す。
【図１７】端末装置Ｔが、アクセスポイントＡＰ１からアクセスポイントＡＰ２へ移動した場合を説明する図である。
【図１８】ＵＰｎＰを用いたコンテンツサービス発見の処理手順を示す。
【図１９】本体装置Ｂがコンテンツサービスを利用して動画再生を行う際の処理の流れを示す。
【図２０】コンテンツサーバのアイコンの表示画像の例を示す。
【図２１】コンテンツリストの表示画像の例を示す。
【符号の説明】
【０１６６】
ＡＰ、ＡＰ１、ＡＰ２  アクセスポイント
Ｂ  本体装置
Ｃ  計算機
Ｄ、Ｄ１、Ｄ２  ＤＨＣＰサーバ
Ｔ  端末装置
Ｐ  プリンタ
ＴＵＮ  トンネル
１１  ユーザ入出力処理部
１２  セッション設定部
１３  トンネル設定部
１４  トンネル処理部
１５  パケット種別判断部
１６  無線送受信部
２１  動作画面生成部
２２  中央処理部
２３  外部入力処理部
２４  セッション設定部
２５  トンネル設定部
２６  トンネル処理部
２７  有線送受信部
３１  通信処理部
３２  計算機部
３３  疑似イーサ部
３４  疑似キーボード部
３５  疑似マウス部
３６  疑似ディスプレイ部
３７  疑似スピーカ部
３８  トンネル設定部
３９  トンネル処理部
４０  ＮＡＴ処理部
４１  セッション処理部
４２  セッション設定部
４３  有線送受信部
【図１】
2006343852.tif 000003
【図２】
2006343852.tif 000004
【図３】
2006343852.tif 000005
【図４】
2006343852.tif 000006
【図５】
2006343852.tif 000007
【図６】
2006343852.tif 000008
【図７】
2006343852.tif 000009
【図８】
2006343852.tif 000010
【図９】
2006343852.tif 000011
【図１０】
2006343852.tif 000012
【図１１】
2006343852.tif 000013
【図１２】
2006343852.tif 000014
【図１３】
2006343852.tif 000015
【図１４】
2006343852.tif 000016
【図１５】
2006343852.tif 000017
【図１６】
2006343852.tif 000018
【図１７】
2006343852.tif 000019
【図１８】
2006343852.tif 000020
【図１９】
2006343852.tif 000021
【図２０】
2006343852.tif 000022
【図２１】
2006343852.tif 000023