説明

情報処理サーバ、遠隔操作システムおよび遠隔操作方法

【課題】 情報処理サーバが端末装置近くの機器やサービスを発見可能にすると同時に端末装置にかかる通信負荷を可及的に低減する。
【解決手段】 本発明の一態様によれば、サービス提供サーバが接続された第1のネットワークに参加する端末装置と、前記端末装置から処理の要求を受けて処理を行った結果を返す第2のネットワークに参加する情報処理サーバとの間にトンネルを設定する。前記サービス提供サーバから前記第1のネットワークに出力されるブロードキャストまたはマルチキャストパケットを、前記トンネルを介して前記端末装置から前記情報処理サーバに送ることにより前記情報処理サーバに前記サービス提供サーバを発見させる。前記端末装置によってあるサービスの実行が要求された場合は、実行を要求された前記あるサービスを受け持つサービス提供サーバと前記情報処理サーバとの間で前記あるサービスに係わるデータ通信を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の計算機を協調動作させる技術に関する。
【背景技術】
【0002】
近年、遠隔にある計算機からの画面情報を手元の端末に表示し、手元端末に接続したマウスあるいはキーボードを用いて遠方計算機を操作するというリモート操作が可能となっている。例として、X.org Foundationにて開発されているX window systemや、 Microsoft社のRemote Desktopと呼ばれる機能や、VNC (Virtual Network Computing) software を挙げることができる。また、X window systemのように描画コマンドを送受信することにより、手元端末に遠方計算機の画面を描画するのでなく、遠方計算機の画面をMPEG2-TSで画像符号化し、手元端末でこれを復号化し表示することにより同様のシステムを構築することも可能である。
【0003】
また、インターネットの発達により、2点間が遠く離れていても高速な通信が可能となってきている。
【0004】
一般に、高速なCPUや大容量のハードディスクを持った計算機は、重く、携帯に向かない。一方、携帯に適する軽量な計算機は、CPU能力が比較的低速であり、ハードディスクの容量も少ない。
【0005】
しかしながら、インターネット上でリモート操作方式を用いることにより、遠方計算機をあたかも手元にあるかのように操作することが可能であり、持ち歩くのは軽い手元端末でありながら、大容量のハードディスクに格納したデータにアクセスしたり、高速なCPUを用いた処理を行うことができる。
【0006】
また、特開2003-288536公報「地図情報提供システム」(中島幸治 セイコーエプソン株式会社)では、遠方の地図データサーバから地図データを手元のカーナビゲーション端末機に転送し、カーナビゲーション端末機に表示する方法が示されている。手元のカーナビゲーション端末にて目的地を入力し、この情報が地図データサーバへ送られ、所望の場所の地図データを受信することにより、手元のカーナビゲーション端末にて所望の場所の地図を表示することができる。これにより、大容量の記憶装置をカーナビゲーション端末に具備しなくて済む。
【0007】
このように、遠方に配した計算機に計算処理やデータ記憶のほとんどを任せ、ユーザの手元の端末は、遠方計算機からの処理結果のユーザへの提示、あるいはユーザからのキーボードやマウス入力を受け付けるIOデバイスとして、軽い処理のみを行うというアーキテクチャが、近年のネットワークの高速化に伴いその適用領域を広げてきている。このアーキテクチャでは、殆どの処理を遠方計算機が行うため、手元端末は低処理能力のハードウエアで構成することができるという利点を持つ。また、このアーキテクチャに於いて、遠方計算機を企業のシステム部門が管理し、社員をユーザとして計算機システムを構築している場合や、ASP(アプリケーションサービスプロバイダ)が遠方計算機を管理し、ユーザに計算機資源を貸し出すようなサービスを行っている場合には、アプリケーションが高度化しより高い計算処理能力を必要としても、遠方計算機の処理能力のみを大きくすれば良く、ユーザの手元端末の処理能力を大きくしなくても良いため、ユーザにハードウエア更新の手間を省くことが可能であるという利点を持つ。
【特許文献1】特開2003−288536公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
例えば、Microsoft社のOSであるWindows(登録商標)で使われているNetBIOSや、UPnP Forumで標準化されているUPnPのように、近くの機器やサービスを発見するために、ブロードキャストやマルチキャストを使用している。従来のリモート操作方式では、遠方端末が手元端末と同じIPサブネットに所属していない場合には、遠方端末と手元端末近くの計算機との間でブロードキャストパケットの送受信を行うことができず、遠方計算機は手元端末近くの機器やサービスを発見することが出来ないという課題があった。機器やサービス発見にマルチキャストを用いるプロトコルの場合でも、マルチキャストパケットのTTLが小さく設定されていたり、ネットワークがマルチキャストパケットの転送をサポートしていない場合が多いため、遠方計算機は手元端末近くの機器やサービスを発見することが出来ないという課題があった。このため、例えば、手元端末の近くに映像コンテンツを保持しているUPnP AVサーバがあっても、遠方計算機がこれを発見することができず、そのUPnP AVサーバ内の映像コンテンツを手元端末にて表示することができないという課題がある。
【0009】
同様の課題は上述の特開2003-288536公報にも存在し、手元のカーナビゲーション端末の近くにある機器を、遠方の地図データサーバは発見できないため、その機器の提供するサービスを利用した情報を手元のカーナビゲーション端末に表示することができない。
【0010】
また、手元端末近くのサービスを発見するために、手元端末と遠方計算機との間に例えばL2TPトンネルを設定し、遠方計算機を手元端末と同じサブネットに属するように模擬することも従来の技術で可能であるが、この場合、手元端末近くのサービスを遠方計算機が使用する際のデータ通信も、L2TPトンネルを通過する。このため、遠方計算機によるデータ通信のトンネル転送処理を手元端末が行わなければならないという課題が存在する。 特にネットワークが高速化しデータ通信のデータ量が多い程この処理負荷は大きくなり、手元端末に具備すべきCPUパワーも増大するという課題が存在する。
【0011】
これにより、アプリケーションの高度化により遠方計算機の行うデータ通信の量が増加すれば、ユーザが手元端末の処理能力のアップグレードを行わなければならず煩雑であるという課題が存在する。
【0012】
本発明は、本体装置(情報処理サーバ)が端末装置近くの機器やサービスを発見可能にすると同時に端末装置にかかる通信負荷を可及的に低減した情報処理サーバ、遠隔操作システムおよび遠隔操作方法を提供する。
【課題を解決するための手段】
【0013】
本発明の一態様に従った情報処理サーバは、サービス提供サーバが接続された第1のネットワークに参加する端末装置から処理の要求を受けて処理を行った結果を返す第2のネットワークに参加する情報処理サーバであって、前記端末装置との間でトンネルを設定するトンネル設定手段と、前記サービス提供サーバから前記第1のネットワーク上に出力されるブロードキャストまたはマルチキャストパケットを前記トンネルを介して前記端末装置から受信するブロードキャスト/マルチキャスト受信手段と、前記受信されたブロードキャストまたはマルチキャストパケットに基づき前記第1のネットワークに存在するサービス提供サーバを発見するサーバ発見手段と、前記端末装置からあるサービスの実行要求を受けた場合は、前記あるサービスを提供するサービス提供サーバとの間で前記あるサービスに係わるデータ通信を行うデータ通信手段と、を備える。
【0014】
本発明の一態様に従った遠隔操作システムは、サービス提供サーバが接続された第1のネットワークに参加する端末装置と、前記端末装置から処理の要求を受けて処理を行った結果を返す第2のネットワークに参加する情報処理サーバとを備えた遠隔操作システムであって、 前記端末装置は、前記情報処理サーバとの間でトンネルを設定する第1のトンネル設定手段と、前記サービス提供サーバから前記第1のネットワークに出力されたブロードキャストまたはマルチキャストパケットを受け取り、受け取ったブロードキャストまたはマルチキャストパケットを前記トンネルを介して前記情報処理サーバに送信するブロードキャスト/マルチキャスト転送手段と、を有し、前記情報処理サーバは、前記端末装置との間でトンネルを設定する第2のトンネル設定手段と、前記ブロードキャストまたはマルチキャストパケットを前記トンネルを介して前記端末装置から受信するブロードキャスト/マルチキャスト受信手段と、前記受信したブロードキャストまたはマルチキャストパケットに基づき前記第1のネットワークに存在するサービス提供サーバを発見するサーバ発見手段と、前記端末装置からあるサービスの実行要求を受けた場合は、前記あるサービスを提供するサービス提供サーバとの間で前記あるサービスに係わるデータ通信を行うデータ通信手段と、を有したことを特徴とする。
【0015】
本発明の一態様に従った遠隔操作方法は、サービス提供サーバが接続された第1のネットワークに参加する端末装置と、前記端末装置から処理の要求を受けて処理を行った結果を返す第2のネットワークに参加する情報処理サーバとを用いた遠隔操作方法であって、前記端末装置と前記情報処理サーバとの間にトンネルを設定し、前記サービス提供サーバから前記第1のネットワークに出力されるブロードキャストまたはマルチキャストパケットを、前記トンネルを介して前記端末装置から前記情報処理サーバに送ることにより前記情報処理サーバに前記サービス提供サーバを発見させ、前記端末装置によってあるサービスの実行が要求された場合は、実行を要求された前記あるサービスを受け持つサービス提供サーバと前記情報処理サーバとの間で前記あるサービスに係わるデータ通信を行う、ことを特徴とする。
【発明の効果】
【0016】
本発明により、情報処理サーバは端末装置近くの機器やサービスを発見可能できるとともに端末装置にかかる通信負荷を可及的に低減できる。
【発明を実施するための最良の形態】
【0017】
以下、図面を参照して、本発明の実施形態を説明する。
【0018】
図1は、本発明の実施形態の典型的な構成を示す図である。
【0019】
アクセスポイントAPと、端末装置Tと、プリンタ(サービス提供サーバ)Pと、計算機(サービス提供サーバ)Cと、DHCPサーバDとが無線リンク(第1のネットワーク)を介して接続される。また、アクセスポイントAPと本体装置(情報処理サーバ)Bとはネットワーク(第2のネットワーク)Nを介して接続される。
【0020】
アクセスポイント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との接続動作を説明する。
【0021】
端末装置Tは、アクセスポイントAPと無線リンクを確立した後、例えばDCHPサーバDからDHCP機能にてIPアドレスを取得する。端末装置Tは、IPアドレスAtを取得すると、本体装置Bに対してセッションを確立する。セッションを確立する際のシーケンスを図2に示す。端末装置Tは、予め保持している本体装置BのIPアドレス宛に、セッション接続要求を送信する(S1)。
【0022】
このセッション接続要求は、
端末装置TのIPアドレス(At)
端末装置Tを使用しているユーザのユーザ識別子
端末装置の通信パラメータ、
を含む。図4に、セッション接続要求のフォーマット例を示す。
【0023】
ここで、通信パラメータは、
プロトコル識別子
符号化レート
画面サイズ
を含み、この3つで一組のエントリとし、複数のエントリを記述することができ、端末装置Tが使用可能なエントリを列挙する。
【0024】
記述したエントリの数は、エントリ数フィールドに記される。
【0025】
図5に通信パラメータのフォーマット例を示す。通信パラメータの例として、プロトコル識別子としてMPEG2-TS、符号化レートとして4Mbps、画面サイズとして680x480を挙げることができる。
【0026】
本体装置Bは、セッション接続要求を受信すると、この中の端末装置TのIPアドレス宛に認証要求を送信する(S2)。認証要求は、
本体装置BのIPアドレス(Ab)
認証アルゴリズム識別子
チャレンジパラメータ
を含む。図6に認証要求のフォーマット例を示す。
【0027】
認証要求を受信すると、端末装置Tは、チャレンジパラメータと予め与えられているパスワードを基に、認証アルゴリズム識別子で示されるアルゴリズムにて、認証レスポンスを計算する。計算後、端末装置Tは本体装置B宛に認証応答を送信する(S3)。認証レスポンスの計算には例えば、チャレンジパラメータとパスワードを連結し、これをMD5アルゴリズムにてメッセージダイジェストを求める方法を用いることができる。MD5アルゴリズムに関しては、IETF RFC1321に詳しい。
【0028】
この認証応答は、
端末装置TのIPアドレス(At)
認証アルゴリズム識別子
端末装置Tを使用しているユーザのユーザ識別子
チャレンジパラメータ
認証レスポンス
を含む。図7に認証応答のフォーマット例を示す。
【0029】
認証応答を受信すると、本体装置Bは、端末装置Tと同様の手順にて認証レスポンスを計算し、これが認証応答内の認証レスポンスと一致するかどうかを確認する。一致しない場合には、本体装置Bは端末装置Tへセッション接続拒否を送信する。セッション接続拒否のフォーマットを図8に示す。一致した場合には、本体装置Bは端末装置Tへセッション接続応答を送信する(S4)。このセッション接続応答は、
本体装置BのIPアドレス(Ab)
本体装置Bのセッションポート番号
通信パラメータ
を含む。通信パラメータには、セッション接続要求に記された通信パラメータの中で、本体装置Bが使用可能なものを列挙する。図9にセッション接続応答のフォーマット例を示す。
【0030】
セッション接続応答を受信すると、端末装置Tは、セッション接続確認を本体装置Bへ送信する(S5)。
【0031】
このセッション接続確認は、
端末装置TのIPアドレス(At)
端末装置Tのセッションポート番号
通信パラメータ
を含む。通信パラメータには、セッション接続応答に記された通信パラメータの中で端末装置Tが最も好ましいエントリを一つ記す。図10にセッション接続確認のフォーマット例を示す。
【0032】
セッション接続確認を受信すると、本体装置Bは、セッション接続確認における端末装置TのIPアドレスとセッションポート番号宛にUDPを用いて、例えばMPEG2-TSで本体装置Bの動作画面データを端末装置Tに送信する(S8)。端末装置Tは、本体装置Bからの動作画面データを受信すると、これに含まれる画像データを端末装置Tが具備するディスプレイに表示し、またこれに含まれる音声データを、端末装置Tが具備するスピーカに出力する。
【0033】
また、端末装置Tは、具備するキーボードあるいはマウスからデータを受け取った場合には、この入力イベント情報を、セッション接続応答内の本体装置BのIPアドレスとセッションポート番号宛にUDPを用いて送信する(S8)。
【0034】
本体装置Bは、端末装置Tから入力イベント情報を受信すると、これに従いあたかも本体装置Bに具備したキーボードあるいはマウスからの入力であるかのように処理を行う。
【0035】
以上により、端末装置Tの具備するキーボードやマウスといった入力装置を用いて本体装置Bを操作することが可能となる。また、本体装置Bの画面を、端末装置Tに表示することが可能となる。
【0036】
さらに、本体装置Bは、セッション接続確認内の端末装置TのIPアドレスを用いて、本体装置Bと端末装置Tの間にトンネルを設定する(S6)。図3に本体装置Bと端末装置Tの間にトンネルTUN を設定した状態を示す。一般にあるプロトコルのパケットを、別のプロトコルあるいは同じプロトコルのパケットのデータ部分として運ぶ事により、ネットワーク上の2点間に仮想的な通信路を形成することをトンネリングといい、この仮想的な通信路をトンネルという。例えば、イーサネットフレームのようなリンクレイヤ層のプロトコルのパケットをIPパケットのようなネットワーク層のプロトコルのパケットで運ぶことを指す。ここでは、例えばL2TPによりトンネルを設定したとする。L2TPの具体的な手順については、「VPN/VLAN教科書」(マルチメディア通信研究会 (編集), 是友 春樹)あるいは、IETFドラフトdraft-ietf-l2tpext-l2tp-base-15に詳しい。トンネルTUNを設定後、本体装置Bは、トンネルTUNを介して(端末装置Tを経由して)、DHCPサーバDからDHCP機能にてIPアドレスAb'を取得する。以後、このアドレスを本体装置トンネルアドレスと呼ぶ。本体装置トンネルアドレスを取得すると、このアドレスの値を含むアドレス通知を本体装置Bから端末装置Tへ送信する(S7)。
【0037】
図13は、アドレス通知のフォーマット例を示す。
【0038】
アドレス通知は、本体装置IPアドレスフィールドと本体装置イーサアドレスフィールドとを持ち、本体装置IPアドレスフィールドには本体装置トンネルアドレスが記されており、本体装置イーサアドレスフィールドには、本体装置のイーサアドレスが記されている。
【0039】
端末装置Tは、アドレス通知を受信した後は、この本体装置トンネルアドレス宛のパケット、およびマルチキャストおよびブロードキャストパケットを、トンネルTUNを介して本体装置Bに転送する。
【0040】
これにより、本体装置Bは、トンネルTUNを介して、端末装置Tと同じサブネットに属することができる。よって、本体装置Bは、端末装置Tに到着するブロードキャストパケットおよびマルチキャストパケットを受信することができ、端末装置Tと同じ範囲へのブロードキャストパケットおよびマルチキャストパケットの送信が可能となる。以下これについてUPnPを例に具体的に説明する。
【0041】
図11は、UPnPを用いた場合の動作シーケンスを示す図である。図11では、トンネルTUNを使用した部分を破線で、そうでない部分を実線で示している。
【0042】
例えば、計算機CがUPnPにて映像コンテンツを提供している場合を考える。本体装置Bは、トンネルTUNを介して映像コンテンツを保持している計算機を探すSSDP SEARCHをマルチキャストにて送信する(S11)。このときのSSDP SEARCHのソースアドレスにはアドレスAb'を用いる。計算機CはSSDP SEARCHを受信すると、そのソースアドレスに記されているAb'宛にSSDP SEARCHの応答を返す(S12)。これにより、本体装置Bは計算機Cを発見することができる。
【0043】
また、計算機Cは、自身を広告するSSDP ADVERTISEMNETを定期的にマルチキャストにて送信している。端末装置TはSSDP ADVERTISEMNETを、トンネルTUNを介して本体装置Bに転送することにより(S13)、本体装置Bがこれを受信することができる。これにより、本体装置Bは、計算機Cを発見することができる。
【0044】
さらに、本体装置Bは、計算機Cへ向けてコンテンツリスト要求をユニキャストにて送信する(S14)。この際のソースアドレスには、Abを用いることにより、計算機Cからのコンテンツリスト応答は端末装置Tを経由せず受信することができる(S15)。
【0045】
さらに、本体装置Bは、コンテンツリストに含まれるコンテンツに対するコンテンツ要求を、計算機Cへ向けてユニキャストにて送信する(S16)。この際のソースアドレスには、Abを用いることにより、そのコンテンツ応答(計算機Cからの応答)は端末装置Tを経由せず受信することができる(S17)。
【0046】
このようにして獲得したコンテンツを計算機Bにてデコードし、さらに端末Tに対するフォーマットへエンコードし端末装置Tへ送信することが可能である。
ここでは、使用するプロトコルとしてUPnPを例に、本体装置Bと端末装置Tの動作を述べたが、本発明の適用範囲はUPnPに限らない。マルチキャストあるいはブロードキャストを用いて機器を発見し、その後ユニキャストを用いて発見した機器と通信を行うプロトコルは多数存在し、これらに本発明を適用することが可能である。別の例としては、Microsoft社のOSであるWindowsで使われているNetBIOS/SMBも挙げることができる。
【0047】
また、計算機Cから本体装置BのアドレスAb'宛にパケットが送られた場合は、端末装置TがこのパケットをトンネルTUNを介して本体装置Bに送る。本体装置Bは、宛先アドレスがAb'のパケットに対する応答パケットには、そのソースアドレスとしてアドレスAb'を記す。
【0048】
次に、図12を用いて、端末装置Tの構成例を説明する。
【0049】
端末装置Tは、ユーザ入出力処理部11と、セッション設定部12と、トンネル設定部13と、トンネル処理部14と、パケット種別判断部15と、無線送受信部16とからなる。
【0050】
無線送受信部16は、無線リンクの確立、DHCPサーバと通信しIPアドレスを獲得する処理、および無線リンクを介してのパケット送受信処理を行う。
【0051】
セッション設定部12は、無線送受信部16からIPアドレスを獲得した旨の通知を受け取ると、無線送受信部16から受け取ったIPアドレスと、予め設定されているユーザのユーザ識別子と、予め設定されている通信パラメータを含むセッション接続要求を生成し、予め設定されている本体装置BのIPアドレス宛にこれを無線送受信部16を介して送信する。
【0052】
また、セッション設定部12は、無線送受信部16を介して認証要求を受信すると、
無線送受信部16から受け取ったIPアドレスと、
認証要求に含まれる認証アルゴリズム識別子と、
予め設定されているユーザのユーザ識別子と、
認証要求に含まれるチャレンジパラメータと、
認証要求に含まれるチャレンジパラメータと予め設定されているパスワードを基に、認証アルゴリズム識別子で示されるアルゴリズムによって計算した認証レスポンスと、
を含む認証応答を生成し、認証要求のソースアドレスとソースポート宛にこれを無線送受信部16を介して送信する。
【0053】
また、セッション設定部12は、無線送受信部16を介してセッション接続応答を受信すると、
無線送受信部16から受け取ったIPアドレスと、
予め設定されているセッションポート番号と、
セッション接続応答に含まれる通信パラメータの中から、予め定められた優先順位の最も高いものと、
を含むセッション接続確認を生成し、認証要求のソースアドレスとソースポート宛にこれを無線送受信部16を介して送信する。
【0054】
トンネル設定部13は、無線送受信部16を介してL2TPトンネル設定の制御パケットを受信すると、L2TPの通信仕様に従いL2TPトンネルを設定する。
【0055】
トンネル設定部13は、トンネルを設定すると、トンネル処理部14へ、L2TPトンネルのパラメータであるところの
セッションIDと、
相手先アドレスと、
相手先ポート番号(トンネルデータ用のポート番号)と、
自アドレスと、
自ポート番号(トンネルデータ用のポート番号)
を渡す。
【0056】
パケット種別判断部15は、無線送受信部16を介してアドレス通知を受信すると、これに含まれる本体装置IPアドレス(本体装置トンネルアドレス)と本体装置イーサアドレスを記憶する。
【0057】
また、パケット種別判断部15は、本体装置イーサアドレスの値を、無線送受信部16に渡す。以後、無線送受信部16は、
本体装置イーサアドレスを宛先に持つイーサパケットと、
ブロードキャストアドレスを宛先に持つイーサパケットと、
任意のマルチキャストアドレスを宛先に持つイーサパケット
をパケット種別判断部15に渡す。
【0058】
このとき、端末装置Tが802.11aまたはbまたはgを用いている場合、本体装置のイーサアドレスを宛先に持つイーサパケットを、アクセスポイントAPに端末装置Tに対して送信させるため、端末装置Tは、本体装置のイーサアドレスに対する接続関係をアクセスポイントAPと結ぶ。
【0059】
パケット種別判断部15は、無線送受信部16から、
本体装置イーサアドレスを宛先に持つイーサパケットと、
ブロードキャストアドレスを宛先に持つイーサパケットと、
任意のマルチキャストアドレスを宛先に持つイーサパケット
を受け取ると、これをトンネル処理部14に渡す。
【0060】
ここで、パケット種別判断部15は、
本体装置イーサアドレスを宛先に持つイーサパケットと、
ブロードキャストアドレスを宛先に持つイーサパケットと、
予め設定されているマルチキャストアドレスを宛先に持つイーサパケット
のみトンネル処理部14に渡すようにしても良い。
【0061】
トンネル処理部14は、無線送受信部16から(本体装置Bから)L2TPでカプセル化されたパケットを受け取ると、パケットの先頭からイーサヘッダとIPヘッダとUDPヘッダとL2TPヘッダを外し、残りのイーサヘッダとIPヘッダとデータを、無線送受信部16を介して無線リンクに送信する。
【0062】
また、トンネル処理部14は、パケット種別判断部15からパケットを受け取ると、これにイーサヘッダとIPヘッダとUDPヘッダとL2TPヘッダをつけ、無線送受信部16を介して無線リンクに(本体装置Bに向けて)送信する。このカプセル化されたパケットのフォーマットを図14に示す。このとき、付与するイーサヘッダのソースアドレスには自ノードのイーサアドレス、宛先アドレスには、(図示しない)ルータのイーサアドレスを記す。 また、付与するIPヘッダの宛先アドレスにはトンネル設定部13から受け取った相手先アドレスを記し、ソースアドレスにはトンネル設定部13から受け取った自アドレスを記す。また、付与するUDPヘッダの宛先ポートにはトンネル設定部13から受け取った相手先ポート番号を記し、ソースポートにはトンネル設定部13から受け取った自ポート番号を記す。また、付与するL2TPヘッダのセッションIDにはトンネル設定部13から受け取ったセッションIDを記す。
【0063】
ユーザ入出力処理部11は、無線送受信部16を介して本体装置Bからの動作画面データを受信すると、例えばデータがMPEG2-TSで符号化されている場合には、画像データと音声データに復号化し、端末装置Tが具備するディスプレイに画像データを、スピーカに音声データを出力する。
【0064】
また、ユーザ入出力処理部11は、端末装置Tが具備するキーボードあるいはマウスから入力を受け取ると、これをエンコードし無線送受信部16を介して、入力イベント情報として本体装置Bへ送信する。
【0065】
図18は、本体装置Bによる、UPnP(Universal Plug and Play)を用いたコンテンツサービス発見の処理手順を示す。ここでコンテンツサービスを提供する計算機をコンテンツサーバと呼ぶことにする。
【0066】
本体装置Bは、トンネルTUNの設定が終了するとSSDP SEARCHパケットをトンネルTUNを介して送信する(S21)。このときのSSDP SERCHパケットの宛先アドレスは、239.255.255.250であり、ソースアドレスは本体装置トンネルアドレスAb'である。トンネルを介するため、SSDP SERCHパケットは図14のフォーマットにカプセル化されてネットワークNに送信される。
次に、SSDP SEARCHパケットの応答パケットをトンネルTUNを介して受信したかどうかの判定を行う(S22)。
【0067】
SSDP SEARCHパケットの応答パケットを受信した場合には(S22のYES)、コンテンツサーバリストの更新処理を行う(S23)。コンテンツサーバリストは、(機器名、機器IPアドレス、生存時間、コンテンツディレクトリ制御URL)からなる。
【0068】
コンテンツサーバリストの更新処理は、SSDP SEARCHパケットの応答パケットのソースアドレスと一致する機器IPアドレスを持つエントリがコンテンツサーバリストに既に存在するか否かを確認し、存在する場合には、エントリの生存時間を、SSDP SEARCHパケットの応答パケットのCACHE-CONTROLフィールドに示される時間に書き換える。一方、存在しない場合には、コンテンツサーバリストに新たなエントリを追加する。
【0069】
この追加エントリの(機器IPアドレス、生存時間)にはSSDP SEARCHパケットの応答パケットの(ソースアドレス、CACHE-CONTROLフィールドに示される時間)を記し、追加エントリの(機器名、コンテンツディレクトリ制御URL)には、SSDP SEARCHパケットの応答パケットのLOCATIONフィールドで示されるURLにアクセスして得られる一連のDescriptionドキュメント内の(friendlyName,controlURL)の値を記す。
【0070】
この後、またはSSDP SEARCHパケットの応答パケットを受信しない場合は(S22のNO)、10分間後に本体装置B内部のタイマにタイマイベントを設定し(S24)、パケット受信およびタイマイベントの受信待ち状態になる(S25)。
【0071】
パケット受信した場合にはそれがトンネルTUNを介して受信したSSDP ADVERTISEMENTパケットであるかを確認し(S26)、SSDP ADVERTISEMENTパケットである場合には(S26のYES)、コンテンツサーバリストの更新処理を行い(S27)、再びパケット受信およびタイマイベントの受信待ち状態になる(S25)。
【0072】
コンテンツサーバリストの更新処理では、SSDP ADVERTISEMENTパケットのソースアドレスと一致する機器IPアドレスのエントリがコンテンツサーバリストに既に存在するか否かを確認し、存在する場合には、エントリの生存時間を、SSDP ADVERTISEMENTパケットのCACHE-CONTROLフィールドに示される時間に書き換える。
【0073】
存在しない場合には、コンテンツサーバリストに新たなエントリを追加する。この追加エントリの(機器IPアドレス、生存時間)にはSSDP ADVERTISEMENTパケットの(ソースアドレス、CACHE-CONTROLフィールドに示される時間)を記し、追加エントリの(機器名、コンテンツディレクトリ制御URL)には、SSDP ADVERTISEMENTパケットのLOCATIONフィールドで示されるURLにアクセスして得られる一連のDescriptionドキュメント内の(friendlyName,controlURL)の値を記す。
【0074】
SSDP ADVERTISEMENTパケットでない場合には(S26のNO)、タイマイベントを受信したか否かを確認し(S28)、タイマイベントを受信していない場合には(S28のNO)、再びパケット受信およびタイマイベントの受信待ち状態になる(S25)。
【0075】
一方、タイマイベントを受信した場合には(S28のYES)、コンテンツサーバリストのタイムアウト処理を行う(S29)。
【0076】
コンテンツサーバリストのタイムアウト処理は、コンテンツサーバリストの各エントリの生存時間から10分を減じる。さらに減じた後の生存時間が0以下のエントリを削除する。
【0077】
この後、SSDP SEARCHパケットをトンネルTUNを介して送信を再度行う(S21)。
【0078】
以上の動作により、本体装置Bは、トンネルTUNを介して端末装置T近くのコンテンツサービスを発見し、それを提供しているコンテンツサーバのリストを保持することが可能となる。
【0079】
図19は、本体装置Bがコンテンツサービスを利用して動画再生を行う際の処理の流れを示す。
【0080】
本体装置Bは、コンテンツリスト内の全てのエントリのコンテンツサーバのアイコンの表示画像(識別子)を、端末装置Tに送信する(S31)。
【0081】
図20に、本体装置Bが送信しているコンテンツサーバのアイコンの表示画像の例を示す。図20では、本体装置Bにはコンテンツリスト内に4つのエントリが存在し、各々の機器名が ひまわり、さくら、たけ、うめ である。
【0082】
本体装置Bは、端末装置Tからマウスクリックイベントが入力されると(S32のYES)、マウスクリックされた対象となっているコンテンツサーバから、コンテンツリストの取得を行う(S33)。
【0083】
コンテンツリストの取得は、コンテンツサーバリストの該当エントリのコンテンツディレクトリ制御URLへコンテンツリスト取得要求を送信することで行う。このコンテンツリスト取得要求は、トンネルを介さずに送信され、その宛先アドレスはコンテンツサーバの機器IPアドレスであり、ソースアドレスは本体装置BのIPアドレスAbである。
【0084】
本体装置Bは、コンテンツリストの取得後、コンテンツリストの表示画像(識別子)を端末装置Tへ送信する(S34)。
【0085】
図21は、コンテンツリストの表示画像の例であり、コンテンツサーバが保持している2つの動画のタイトルと、1つの静止画のタイトルと、1つの音楽のタイトルと、コンテンツ種別が表示されている。
【0086】
本体装置Bは、端末装置Tからマウスクリックイベントが入力されると(S35のYES)、マウスクリックされた対象となっているコンテンツタイトルに対して、コンテンツ取得要求を送信して、コンテンツを取得する(S36)。コンテンツは、静止画像データ、動画像データ、音声データ、文書データまたはこれらの任意の組み合わせを含む。
【0087】
このコンテンツ取得要求は、トンネルを介さずに送信され、その宛先アドレスはコンテンツサーバの機器IPアドレスであり、ソースアドレスは本体装置BのIPアドレスAbである。
【0088】
コンテンツの取得後、例えばコンテンツが動画の場合にはその動画再生画像を端末装置Tへ送信する(S37)。
【0089】
次に、図15を用いて、本体装置Bの構成例を説明する。
【0090】
本体装置Bは、動作画面生成部21と、中央処理部22と、外部入力処理部23と、セッション設定部24と、トンネル設定部25と、トンネル処理部26と、有線送受信部27からなる。
【0091】
有線送受信部27は、パケットの送受信処理を行う。
【0092】
有線送受信部27は外部からパケットを受信すると、パケットの検査を行い、
そのIPヘッダのプロトコル番号がUDPであり、UDP宛先ポートが予め与えられたセッション設定用の番号である場合には、そのパケットをセッション設定部24に渡し、
そのIPヘッダのプロトコル番号がUDPであり、UDP宛先ポートがセッション設定部24から与えられるセッションポート番号(確立されたセッションを用いたデータ通信用のポート番号)である場合には、外部入力処理部23に渡し、
そのIPヘッダのプロトコル番号がUDPであり、UDP宛先ポートが予め定められたトンネル設定用の番号である場合には、そのパケットをトンネル設定部25に渡し、
そのIPヘッダのプロトコル番号がUDPであり、UDP宛先ポートがトンネル設定部25から与えられた番号(トンネルデータ用のポート番号)である場合には、そのパケットをトンネル処理部26に渡し、
それ以外のパケットは中央処理部22に渡す。
【0093】
セッション設定部24は、有線送受信部27を介してセッション接続要求を受信すると、
予め設定されている自ノードのIPアドレスと、
予め設定されている認証アルゴリズム識別子と、
予め設定されているチャレンジパラメータと
を含む認証要求を、有線送受信部27を介して端末装置T宛に送信する。
【0094】
また、セッション設定部24は、有線送受信部27を介して認証応答を受信すると、これに含まれるチャレンジパラメータとパスワードを基に、認証アルゴリズム識別子で示されるアルゴリズムにて、認証レスポンスを計算する。この計算した認証レスポンスが認証応答に含まれる認証レスポンスと一致するかどうかを確認する。
【0095】
一致しない場合は、セッション設定部24は、認証応答に含まれるユーザ識別子を記したセッション接続拒否を生成し、有線送受信部27を介して端末装置Tへ送信する。
【0096】
二つの認証レスポンスが一致する場合には、セッション設定部24は、
予め設定されている自ノードのIPアドレスと
予め設定されている自ノードのポート番号(セッションポート番号)と
予め設定されている複数の通信パラメータと、セッション接続要求に含まれる通信パラメータとで共通なもの
を記したセッション接続応答を生成し、有線送受信部27を介して端末装置Tへ送信する。
【0097】
また、セッション設定部24は、有線送受信部27を介してセッション接続確認を受信すると、これに含まれる通信パラメータと端末装置TのIPアドレスとセッションポート番号を動作画面生成部21へ渡す。
【0098】
また、セッション設定部24は、予め設定されている自ノードのポート番号(セッションポート番号)を有線送受信部27に渡す。
【0099】
トンネル設定部25は、有線送受信部27を介してL2TPトンネル設定の制御パケットを受信すると、または上記セッション接続確認が受信された後、L2TPの通信仕様に従いL2TPトンネルを設定する。
【0100】
トンネル設定部25は、トンネルを設定すると、トンネル処理部26へ、L2TPトンネルのパラメータであるところの
セッションIDと、
相手先アドレスと、
相手先ポート番号(トンネルデータ用のポート番号)と、
自アドレスと、
自ポート番号(トンネルデータ用のポート番号)
を渡す。
【0101】
また、トンネル設定部25は、自ポート番号を、有線送受信部27に渡す。
【0102】
トンネル処理部26は、有線送受信部27からL2TPでカプセル化されたパケットを受信すると、パケットの先頭からイーサヘッダとIPヘッダとUDPヘッダとL2TPヘッダを外し、残りのイーサヘッダとIPヘッダとデータを、中央処理部22へ渡す。
【0103】
また、トンネル処理部26は、中央処理部22からイーサパケットを受け取った場合には、これにイーサヘッダとIPヘッダとUDPヘッダとL2TPヘッダをつけ、有線送受信部27を介してネットワークNに送信する。このとき、付与するイーサヘッダのソースアドレスには自ノードのイーサアドレス、宛先アドレスには、(図示しない)ルータのイーサアドレスを記す。また、付与するIPヘッダの宛先アドレスにはトンネル設定部25から受け取った相手先アドレスを記し、ソースアドレスにはトンネル設定部25から受け取った自アドレスを記す。また、付与するUDPヘッダの宛先ポートにはトンネル設定部25から受け取った相手先ポート番号を記し、ソースポートにはトンネル設定部25から受け取った自ポート番号を記す。また、付与するL2TPヘッダのセッションIDにはトンネル設定部25から受け取ったセッションIDを記す。
【0104】
外部入力処理部23は、有線送受信部27を介して端末装置Tから、入力イベント情報を受信すると、これをデコードし、中央処理部22へ送信する。
【0105】
動作画面生成部21は、中央処理部22から画面情報および音声情報を受信すると、セッション設定部24から受け取った通信パラメータに従いエンコードを行い、これをセッション設定部24から受け取ったIPアドレスとセッションポート番号宛に、有線送受信部27を介して送信する。
【0106】
中央処理部22は、外部入力処理部23からの入力イベント情報に従い動作する予め定められたプログラムを動作させている。このプログラムは、基本プログラムであることが望ましい。中央処理部22は、外部入力処理部23からの入力イベント情報に従い予め保持しているアプリケーションプログラムを動作・操作・停止させる。
【0107】
これにより、端末装置Tのマウスやキーボードがあたかも本体装置に具備されているかのように基本プログラムあるいはアプリケーションプログラムは操作させられる。
【0108】
また、中央処理部22は、入力イベント情報に従い変化する基本プログラムやアプリケーションプログラムの様子を画像情報あるいは音声情報として動作画面生成部21に出力する。
【0109】
これにより、本体装置Bがディスプレイを具備していればこれに表示されるであろう画像を端末装置Tにて表示することができる。また、本体装置Bがスピーカを具備していればこれに出力されるであろう音声を端末装置Tにて出力することができる。
【0110】
また、中央処理部22は、動作の過程で生成されたマルチキャストパケットおよびブロードキャストパケットと、トンネル処理部26を介して受け取ったユニキャストパケットの応答パケットに関しては、トンネル処理部26に渡し、それ以外のパケットは有線送受信部27に渡す。
【0111】
以上の構成において、
トンネル処理部26を介して送信されたパケットの
内側IPヘッダのソースアドレスはAb'であり
内側IPヘッダの宛先アドレスは、中央処理部22の通信先アドレスであり、
外側IPヘッダのソースアドレスはAbであり、
外側IPヘッダの宛先アドレスはAtである。
【0112】
また、トンネル処理部26を介さないで送信されたパケットの
IPヘッダのソースアドレスはAbであり、
IPヘッダの宛先アドレスは、中央処理部22の通信先アドレスである。
【0113】
また、中央処理部22は、外部入力処理部23あるいはトンネル処理部26から受信するパケットに応じて基本プログラムあるいはアプリケーションプログラムを動作させる。
【0114】
図16を用いて、本体装置Bの他の構成例を説明する。
本体装置Bは、大きく、通信処理部31と、計算機部32とからなる。計算機部32は例えばパーソナルコンピュータ等であり、通信処理部31は例えば計算機部32に外付けされるボックスである。通信処理部31は、あたかも計算機部32が端末Tと同じサブネットに属していると計算機部32に見せかける機能を有する。
【0115】
計算機部32は、CPU、メモリ、OS、アプリケーションプログラムから構成されており、通信インタフェースとキーボードインタフェースとマウスインタフェースとディスプレイインタフェースとスピーカインタフェースを備える。
【0116】
通信インタフェースとキーボードインタフェースとマウスインタフェースとディスプレイインタフェースとスピーカインタフェースは、通信処理部31と接続されている。
【0117】
通信インタフェースは、通信処理部31および端末装置Tを介してDHCPにてIPアドレスを取得し、このIPアドレスを用いて通信処理部31を介して他の機器と通信を行う。
【0118】
通信処理部31は、疑似イーサ部33と疑似キーボード部34と疑似マウス部35と疑似ディスプレイ部36と疑似スピーカ部37とトンネル設定部38とトンネル処理部39とNAT処理部40とセッション処理部41とセッション設定部42と有線送受信部43とからなる。
【0119】
有線送受信部43は、パケットの送受信処理を行う。
【0120】
有線送受信部43は外部からパケットを受信すると、パケットの検査を行い、
そのIPヘッダのプロトコル番号がUDPであり、UDP宛先ポートが予め与えられたセッション設定用の番号である場合には、そのパケットをセッション設定部42に渡し、
そのIPヘッダのプロトコル番号がUDPであり、UDP宛先ポートがセッション設定部42から与えられるセッションポート番号である場合には、セッション処理部41に渡し、
そのIPヘッダのプロトコル番号がUDPであり、UDP宛先ポートが予め定められたトンネル設定用の番号である場合には、そのパケットをトンネル設定部38に渡し、
そのIPヘッダのプロトコル番号がUDPであり、UDP宛先ポートがトンネル設定部38から与えられた番号である場合には、そのパケットをトンネル処理部39に渡し、
それ以外のパケットはNAT処理部40に渡す。
【0121】
セッション設定部42は、有線送受信部43を介してセッション接続要求を受信すると、
予め設定されている自ノードのIPアドレスと、
予め設定されている認証アルゴリズム識別子と、
予め設定されているチャレンジパラメータと
を含む認証要求を、有線送受信部43を介して端末装置T宛に送信する。
【0122】
また、セッション設定部42は、有線送受信部43を介して認証応答を受信すると、これに含まれるチャレンジパラメータと予め設定されているパスワードを基に、認証アルゴリズム識別子で示されるアルゴリズムにて、認証レスポンスを計算する。この計算した認証レスポンスが認証応答に含まれる認証レスポンスと一致するかどうかを確認する。
【0123】
一致しない場合は、認証応答に含まれるユーザ識別子を記したセッション接続拒否(図8)を生成し、有線送受信部43を介して端末装置Tへ送信する。
【0124】
二つの認証レスポンスが一致する場合には、
予め設定されている自ノードのIPアドレスと
予め設定されている自ノードのポート番号(セッションポート番号)と
予め設定されている複数の通信パラメータと、セッション接続要求に含まれる通信パラメータとで共通なもの
を記したセッション接続応答を生成し、有線送受信部43を介して端末装置Tへ送信する。
【0125】
また、セッション設定部42は、有線送受信部43を介してセッション接続確認を受信すると、これに含まれる通信パラメータと端末装置TのIPアドレスとセッションポート番号をセッション処理部41へ渡す。
【0126】
また、セッション設定部42は、予め設定されている自ノードのポート番号(セッションポート番号)を有線送受信部43に渡す。
【0127】
セッション処理部41は、有線送受信部43を介して端末装置Tから、入力イベント情報を受信すると、これをデコードし、端末装置Tのマウスからの入力情報は疑似マウス処理部35へ渡し、端末装置Tのキーボードからの入力情報は疑似キーボード処理部34へ渡す。
【0128】
また、セッション処理部41は、疑似ディスプレイ処理部36から画像情報あるいは疑似スピーカ処理部37から音声情報を受け取ると、セッション設定部42から受け取った通信パラメータに従い画像情報または音声情報をエンコードし、セッション設定部42から受け取ったIPアドレスとポート番号宛に有線送受信部43を介して送信する。
【0129】
疑似キーボード部34は、セッション処理部41からキーボード入力を受け取ると、このキーボード入力を計算機部32のキーボードインタフェースの信号に変換して計算機部32に渡す。
【0130】
疑似マウス部35は、セッション処理部41からマウス入力を受け取ると、このマウス入力を計算機部32のマウスインタフェースの信号に変換して計算機部32へ渡す。
【0131】
疑似ディスプレイ部36は、計算機部32のディスプレイインタフェースから画像信号が入力されると、この画像信号を内部の形式に変換してセッション処理部41へ画像情報として出力する。
【0132】
疑似スピーカ部37は、計算機部32のスピーカインタフェースから音声信号が入力されると、この音声信号を内部の形式に変換してセッション処理部41へ音声情報として出力する。
【0133】
トンネル設定部38は図15で説明したトンネル設定部25と同一であるので詳細な説明を省略する。
【0134】
疑似イーサ部33は、簡単には、トンネル処理部39を通って届いたパケットの応答パケットはトンネル処理部39を通じて返し、NAT処理部40経由で届いたパケットの応答パケットはNAT処理部40経由で返す機能を有する。より詳細には以下の通りである。
【0135】
疑似イーサ部33は、トンネル処理部39あるいはNAT処理部40から受け取ったパケットを、計算機部32のイーサインタフェースの信号に変換して計算機部32に渡す。
【0136】
また、疑似イーサ部33は、計算機部32のイーサインタフェースからパケットの信号を受け取った場合には、それを内部の形式に変換し、このパケットに属するフローを記憶している場合にはトンネル処理部39へ渡し、そうでない場合にはNAT処理部40へ渡す。
【0137】
フローの記憶は、トンネル処理部39からパケットが入力されると、疑似イーサ部33が、その宛先アドレスがユニキャストアドレスである場合に、(宛先アドレス、ソースアドレス、プロトコル番号、宛先ポート番号、ソースポート番号)のエントリを保持することにより行われる。ここで、宛先アドレス、ソースアドレス、プロトコル番号はIPヘッダ中のフィールドに記されており、また宛先ポート番号、ソースポート番号は、UDPあるいはTCPヘッダ中に記されている。疑似イーサ部33は、相異なるエントリを予め定められた数だけ複数記憶できる。
【0138】
疑似イーサ部33は、計算機部32からのパケット信号を受け取った場合、そのパケットの(ソースアドレス、宛先アドレス、プロトコル番号、ソースポート番号、宛先ポート番号)が、記憶しているフローの(宛先アドレス、ソースアドレス、プロトコル番号、宛先ポート番号、ソースポート番号)と一致するかどうかを判断し、一致する場合にパケットがフローに属すると判断する。
【0139】
記憶したエントリは、疑似イーサ部33が、予め定められた時間の間計算機部32からフローに属するパケットを受け取らない場合あるいは、予め定められた時間の間フローと同じ(宛先アドレス、ソースアドレス、プロトコル番号、宛先ポート番号、ソースポート番号) を持つパケットをトンネル処理部39から受け取らない場合の両方の条件が揃った場合に、消去される。
【0140】
ここでフローの識別の例として、(宛先アドレス、ソースアドレス、プロトコル番号、宛先ポート番号、ソースポート番号)を用いたが、プロトコル番号がUDPあるいはTCPを示していない場合には、宛先ポート番号を0、ソースポート番号を0として処理を行うことができる。また、IPv6の場合にはそのIPヘッダ中のフローラベルを用いてフローを識別することも可能である。
【0141】
トンネル処理部39は、有線送受信部43からL2TPでカプセル化されたパケットを受け取ると、パケットの先頭からイーサヘッダとIPヘッダとUDPヘッダとL2TPヘッダを外し、残りのイーサヘッダとIPヘッダとデータを、疑似イーサ部33へ渡す。
【0142】
また、トンネル処理部39は、疑似イーサ部33から、イーサパケットを受け取った場合には、これにイーサヘッダとIPヘッダとUDPヘッダとL2TPヘッダをつけ、有線送受信部43に渡す。このとき、付与するイーサヘッダのソースアドレスには自ノードのイーサアドレス、宛先アドレスには、(図示しない)ルータのイーサアドレスを記す。
【0143】
また、トンネル処理部39は、付与するIPヘッダの宛先アドレスにはトンネル設定部38から受け取った相手先アドレスを記し、ソースアドレスにはトンネル設定部から受け取った自アドレスを記す。
【0144】
また、トンネル処理部39は、付与するUDPヘッダの宛先ポートにはトンネル設定部38から受け取った相手先ポート番号を記し、ソースポートにはトンネル設定部38から受け取った自ポート番号を記す。
【0145】
また、トンネル処理部39は、付与するL2TPヘッダのセッションIDにはトンネル設定部38から受け取ったセッションIDを記す。
【0146】
NAT処理部40は、疑似イーサ部33からパケットを受け取ると、そのイーサヘッダのソースアドレスを自ノードのイーサアドレスに変換し、IPヘッダのソースアドレスを自ノードのIPアドレスに変換し、有線送受信部43に送信する。
【0147】
また、NAT処理部40は、有線処理部43からパケットを受け取ると、そのイーサヘッダの宛先アドレスを計算機部32のイーサアドレスに変換し、IPヘッダの宛先アドレスを計算機部32のIPアドレスに変換し、疑似イーサ部33に渡す。
【0148】
以上のように、本体装置Bは、通信処理部31と計算機部32とからなるため、計算機部32には、端末装置T近くのサービスを発見する機能を具備してなくとも良い。すなわち、通信処理部31がトンネルを設定することにより端末装置T近くのサービスを発見するためのパケットを計算機部32に届ける。これにより、計算機部32は、端末装置T近くのサービスを発見することができる。
【0149】
また、計算機部32は、通信処理部31を介して発見したサービスを利用することができる。
【0150】
また、計算機部32は、通信処理部31を介して、画面表示画像およびスピーカ出力を端末装置Tへ送信でき、端末装置Tからのマウス操作、キーボード操作を受信することができる。
【0151】
これにより、計算機部32には通常のパソコンを用いることができる。このように汎用計算機を用いることにより、本体装置Bの価格を下げることができる。また、本体装置Bのデータ処理能力を足りなくなった場合にも、計算機部32のみ交換すれば良いため、データ処理能力更新のためのコストが低く済む。
【0152】
以上では、本体装置Bが、物理的に計算機部32と通信処理部31の二つから構成されている場合を記述したが、これに代えて、本体装置Bがハードウエア的に一つの装置で構成され、計算機部32と通信処理部31はソフトウエア的に分離されている場合でも本発明は適用可能である。例えば、VMWAREのような仮想PCを実現するソフトを用いて、ハードウエアを直接制御するホストOSにて通信処理部31を実現し、ホストOS上に実現した仮想PC上で動作するゲストOSを計算機部32とみなすことも可能である。
【0153】
この場合には、一つのハードウエアにて、複数の計算機部32を実現することも可能となる。
【0154】
ところで、図17のように、端末装置Tが、アクセスポイントAP1からアクセスポイントAP2へ移動した場合、端末装置Tは、無線リンクの再接続時に DHCPサーバD1から取得したアドレスを記したDHCP RENEWパケットを送信する。移動後はこれに対する応答が一定時間得られないことにより、端末装置Tは、アドレス再取得の動作を起動する。
【0155】
アドレス再取得により、端末装置Tは、DHCPサーバD2からアドレスを取得できる。
【0156】
アドレス再取得後は、図2に示したシーケンスを改めて行うことにより、端末装置Tは、本体装置Bとの間でセッションとトンネルを確立する。
【0157】
以上に述べた本発明の実施形態では、端末装置Tは無線リンクを介してパケットの送受信を行ったが、端末装置Tが有線リンクを介してパケットの送受信を行っても本発明の効果を減じるものではない。
【0158】
また、トンネルの例としてL2TPを用いたが、L2TPの代りに他のトンネル技術、例えばPPTPあるいはMPLS等を用いても、本発明の効果を減じるものではない。
【0159】
また、本体装置Bあるいは端末装置Tが、アドレスAb'あるいはAtを獲得する手段の例としてDHCPを用いたが、DHCPの代りに他の手段、例えば予め手設定を行う方法を用いても、本発明の効果を減じるものではない。
【0160】
また、IPv6を用いた場合、DHCPの代わりにアドレス自動設定機能を用いることも可能である。この場合、本体装置BはRouter Solicitation(RS)メッセージをトンネルを介して端末装置Tの存在するネットワークに送信し、(図示しない)ルータからのRouter Advertisement(RA)メッセージをトンネルを介して受信することにより、IPv6アドレスを取得する。あるいはIPv6の場合、本体装置Bはリンクローカルアドレスを用いることも可能である。
【0161】
また、本体装置Bあるいは端末装置Tが異なるアドレスを用いる例をあげたが、同じアドレスを用いることもできる。この場合、セッション接続確認の中に端末装置Tのアドレスを含め、本体装置Bに通知する。また、端末装置Tは、本体装置Bからの動作画面データ、トンネルから受信したパケットおよび自分が送信したARP要求の応答パケット、以外のパケットを、トンネルを介して本体装置Bに送信する。
【0162】
端末装置が電源断した場合、本体装置は、例えば、L2TPの制御機能によりこれを検出することが可能である。
【0163】
この場合、本体装置は、トンネルを介さないで例えば計算機Cと通信を行っている際に、端末装置の電源断を検出しても、トンネルを介さない計算機Cとの通信を継続しても構わない。また、電源断検出後、一定時間後に、トンネルを介さない計算機Cとの通信を停止してもよい。あるいは、端末装置からセッション接続要求を受信した際に、それに含まれる端末装置のアドレスが、前回のセッション接続要求を受信した際とは異なっていた場合に、トンネルを介さない計算機Cとの通信を停止してもよい。
【0164】
以上説明したように、本発明の実施形態によれば、本体装置は端末装置近くの通信装置との間でブロードキャストパケットあるいはマルチキャストパケットを送受信することができる。これにより本体装置は端末装置近くの機器あるいはサービスを発見することが可能となる。また、本体装置が開始する通信は端末装置を介さずに行うため、端末装置に余計な処理負荷がかかるのを抑えることができる。さらに本体装置は、トンネルを介して受信したパケットの応答でないパケットはトンネルを介さずに送信するため、端末装置にパケット転送のために要する処理負荷を低く抑える事が可能となる。
【図面の簡単な説明】
【0165】
【図1】本発明の実施形態の典型的な構成を示す図である。
【図2】端末装置Bと本体装置Bとの接続動作を説明するための図である。
【図3】本体装置Bと端末装置Tの間にトンネルTUN を設定した状態を示す。
【図4】セッション接続要求のフォーマット例を示す。
【図5】通信パラメータのフォーマット例を示す。
【図6】認証要求のフォーマット例を示す。
【図7】認証応答のフォーマット例を示す。
【図8】セッション接続拒否のフォーマット例を示す。
【図9】セッション接続応答のフォーマット例を示す。
【図10】セッション接続確認のフォーマット例を示す。
【図11】UPnPを用いた場合の動作シーケンスを示す図である。
【図12】端末装置Tの構成例を示す。
【図13】アドレス通知のフォーマット例を示す。
【図14】カプセル化されたパケットのフォーマット例を示す。
【図15】本体装置Bの構成例を示す。
【図16】本体装置Bの他の構成例を示す。
【図17】端末装置Tが、アクセスポイントAP1からアクセスポイントAP2へ移動した場合を説明する図である。
【図18】UPnPを用いたコンテンツサービス発見の処理手順を示す。
【図19】本体装置Bがコンテンツサービスを利用して動画再生を行う際の処理の流れを示す。
【図20】コンテンツサーバのアイコンの表示画像の例を示す。
【図21】コンテンツリストの表示画像の例を示す。
【符号の説明】
【0166】
AP、AP1、AP2 アクセスポイント
B 本体装置
C 計算機
D、D1、D2 DHCPサーバ
T 端末装置
P プリンタ
TUN トンネル
11 ユーザ入出力処理部
12 セッション設定部
13 トンネル設定部
14 トンネル処理部
15 パケット種別判断部
16 無線送受信部
21 動作画面生成部
22 中央処理部
23 外部入力処理部
24 セッション設定部
25 トンネル設定部
26 トンネル処理部
27 有線送受信部
31 通信処理部
32 計算機部
33 疑似イーサ部
34 疑似キーボード部
35 疑似マウス部
36 疑似ディスプレイ部
37 疑似スピーカ部
38 トンネル設定部
39 トンネル処理部
40 NAT処理部
41 セッション処理部
42 セッション設定部
43 有線送受信部

【特許請求の範囲】
【請求項1】
サービス提供サーバが接続された第1のネットワークに参加する端末装置から処理の要求を受けて処理を行った結果を返す第2のネットワークに参加する情報処理サーバであって、
前記端末装置との間でトンネルを設定するトンネル設定手段と、
前記サービス提供サーバから前記第1のネットワーク上に出力されるブロードキャストまたはマルチキャストパケットを前記トンネルを介して前記端末装置から受信するブロードキャスト/マルチキャスト受信手段と、
前記受信されたブロードキャストまたはマルチキャストパケットに基づき前記第1のネットワークに存在するサービス提供サーバを発見するサーバ発見手段と、
前記端末装置からあるサービスの実行要求を受けた場合は、前記あるサービスを提供するサービス提供サーバとの間で前記あるサービスに係わるデータ通信を行うデータ通信手段と、
を備えた情報処理サーバ。
【請求項2】
前記データ通信手段は、前記データ通信の結果を前記あるサービスの実行要求を行った前記端末装置に送信することを特徴とする請求項1に記載の情報処理サーバ。
【請求項3】
前記サーバ発見手段によって発見された前記サービス提供サーバの識別子を前記端末装置に送信する識別子送信手段をさらに備え、
前記データ通信手段は、前記識別子を受信した前記端末装置から前記サービス提供サーバが提供するサービスの実行要求を受けた場合は、実行要求された前記サービスを受け持つサービス提供サーバとの間で前記サービスに係わるデータ通信を行う、
ことを特徴とする請求項1または2に記載の情報処理サーバ。
【請求項4】
前記サービス発見手段は、前記サービス提供サーバとしてコンテンツ提供サーバを発見し、
前記識別子送信手段は、さらに前記コンテンツ提供サーバが提供するコンテンツの識別子を前記端末装置に送信し、
前記データ通信手段は、前記端末装置から前記コンテンツの提供を要求された場合は、前記コンテンツ提供サーバから前記コンテンツを取得し、取得した前記コンテンツを前記端末装置に送信する、
ことを特徴とする請求項3に記載の情報処理サーバ。
【請求項5】
前記データ通信手段は、前記コンテンツとして、静止画像データ、動画像データ、音声データまたは文書データを取得することを特徴とする請求項4に記載の情報処理サーバ。
【請求項6】
前記サービス発見手段は、前記サービス提供サーバとして、画像出力装置を発見し、
前記データ通信手段は、前記端末装置によって指定されたデータを前記画像出力装置に送出する、
ことを特徴とする請求項1ないし3のいずれかに記載の情報処理サーバ。
【請求項7】
前記画像出力装置はプリンタであることを特徴とする請求項6に記載の情報処理サーバ。
【請求項8】
前記サーバ発見手段は、前記サービス提供サーバを発見するためのブロードキャストまたはマルチキャストパケットを前記第1のネットワーク上に流すために前記トンネルを介して前記端末装置に送信し、送信した前記ブロードキャストまたはマルチキャストパケットに対する応答パケットを前記トンネルを介して前記端末装置から受信し、受信した前記応答パケットに基づき前記第1のネットワークに存在するサービス提供サーバを発見する、
ことを特徴とする請求項1ないし7のいずれかに記載の情報処理サーバ。
【請求項9】
前記第1のネットワークにはDHCP(Dynamic Host Configuration Protocol)サーバが接続され、
DHCPに従った通信を前記トンネルを介して前記DHCPサーバとの間で行うことにより前記第1のネットワークに属するIPアドレスを取得するIPアドレス取得手段をさらに備え、
前記サーバ発見手段は、前記端末装置に送信する前記ブロードキャストまたはマルチキャストパケットの送信元のアドレスとして、取得した前記IPアドレスを用いることを特徴とする請求項8に記載の情報処理サーバ。
【請求項10】
前記トンネル設定手段は、L2TP、PPTPまたはMPLSによりトンネルを設定することを特徴とする請求項1ないし9のいずれかに記載の情報処理サーバ。
【請求項11】
サービス提供サーバが接続された第1のネットワークに参加する端末装置と、前記端末装置から処理の要求を受けて処理を行った結果を返す第2のネットワークに参加する情報処理サーバとを備えた遠隔操作システムであって、
前記端末装置は、
前記情報処理サーバとの間でトンネルを設定する第1のトンネル設定手段と、
前記サービス提供サーバから前記第1のネットワークに出力されたブロードキャストまたはマルチキャストパケットを受け取り、受け取ったブロードキャストまたはマルチキャストパケットを前記トンネルを介して前記情報処理サーバに送信するブロードキャスト/マルチキャスト転送手段と、を有し、
前記情報処理サーバは、
前記端末装置との間でトンネルを設定する第2のトンネル設定手段と、
前記ブロードキャストまたはマルチキャストパケットを前記トンネルを介して前記端末装置から受信するブロードキャスト/マルチキャスト受信手段と、
前記受信したブロードキャストまたはマルチキャストパケットに基づき前記第1のネットワークに存在するサービス提供サーバを発見するサーバ発見手段と、
前記端末装置からあるサービスの実行要求を受けた場合は、前記あるサービスを提供するサービス提供サーバとの間で前記あるサービスに係わるデータ通信を行うデータ通信手段と、を有した、
ことを特徴とする遠隔操作システム。
【請求項12】
前記データ通信手段は、前記データ通信の結果を前記あるサービスの実行要求を行った前記端末装置に送信することを特徴とする請求項11に記載の情報処理サーバ。
【請求項13】
前記情報処理サーバは、
前記サーバ発見手段によって発見された前記サービス提供サーバの識別子を前記端末装置に送信する識別子送信手段をさらに備え、
前記データ通信手段は、前記識別子を受信した前記端末装置から前記サービス提供サーバが提供するサービスの実行要求を受けた場合は、実行要求された前記サービスを受け持つサービス提供サーバとの間で前記サービスに係わるデータ通信を行う、
ことを特徴とする請求項11または12に記載の遠隔操作システム。
【請求項14】
前記情報処理サーバにおける前記サーバ発見手段は、前記サービス提供サーバを発見するためのブロードキャストまたはマルチキャストパケットを前記トンネルを介して前記端末装置に送信し、
前記端末装置における前記ブロードキャスト/マルチキャスト転送手段は、前記サーバ発見手段から前記トンネルを介して送信された前記ブロードキャストまたはマルチキャストパケットを前記第1のネットワークに出力し、出力された前記ブロードキャストまたはマルチキャストパケットに対する応答パケットを前記第1のネットワークから受け取り、受け取った前記応答パケットを前記トンネルを介して前記サーバ発見手段に送信し、
前記サーバ発見手段は、前記応答パケットに基づき前記第1のネットワークに存在するサービス提供サーバを発見する、
ことを特徴とする請求項11ないし13のいずれかに記載の遠隔操作システム。
【請求項15】
前記第1のネットワークにはDHCPサーバが接続され、
前記情報処理サーバは、
DHCPに従った通信を前記トンネルを介して前記DHCPサーバとの間で行うことにより前記第1のネットワークに属するIPアドレスを取得するIPアドレス取得手段をさらに有し、
前記サーバ発見手段は、前記端末装置に送信する前記ブロードキャストまたはマルチキャストパケットの送信元アドレスとして、取得した前記IPアドレスを用いることを特徴とする請求項14に記載の遠隔操作システム。
【請求項16】
前記第1および第2のトンネル設定手段は、L2TP、PPTPまたはMPLSによりトンネルを設定することを特徴とする請求項11ないし15いずれかに記載の遠隔操作システム。
【請求項17】
サービス提供サーバが接続された第1のネットワークに参加する端末装置と、前記端末装置から処理の要求を受けて処理を行った結果を返す第2のネットワークに参加する情報処理サーバとを用いた遠隔操作方法であって、
前記端末装置と前記情報処理サーバとの間にトンネルを設定し、
前記サービス提供サーバから前記第1のネットワークに出力されるブロードキャストまたはマルチキャストパケットを、前記トンネルを介して前記端末装置から前記情報処理サーバに送ることにより前記情報処理サーバに前記サービス提供サーバを発見させ、
前記端末装置によってあるサービスの実行が要求された場合は、実行を要求された前記あるサービスを受け持つサービス提供サーバと前記情報処理サーバとの間で前記あるサービスに係わるデータ通信を行う、ことを特徴とする遠隔操作方法。
【請求項18】
前記データ通信の結果を前記端末装置に送信することを特徴とする請求項17に記載の遠隔操作方法。
【請求項19】
発見された前記サービス提供サーバの識別子を前記情報処理サーバから前記端末装置に送信し、
前記識別子を受信した前記端末装置から前記サービス提供サーバが提供するサービスの実行が要求された場合は、実行を要求された前記サービスを受け持つサービス提供サーバと前記情報処理サーバとの間で前記サービスに係わるデータ通信を行うことを特徴とする請求項17または18に記載の遠隔操作方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate


【公開番号】特開2006−343852(P2006−343852A)
【公開日】平成18年12月21日(2006.12.21)
【国際特許分類】
【出願番号】特願2005−167231(P2005−167231)
【出願日】平成17年6月7日(2005.6.7)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.イーサネット
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】