説明

異種スマート環境制御方法

【課題】異種のスマート環境間での遠隔コミュニケーションのために、異なるサービスをつなぎ合わせて、ユーザにサービスを推薦するシステムを提供する。
【解決手段】将来のユビキタス社会では、多数のセンサや情報機器、各種ネットワークによって構築される環境、スマート環境が様々な場所に遍在すると考えられる。これらのスマート環境は、構築された場所に応じて、様々に異なる機器、サービス、アーキテクチャで実装される。遠隔のスマート環境のネットワークを接続する機構として「PeerPool」、及び、異なるプロトコルのスマート環境をWeb サービスとして公開する機構、の設定の自動化を行う。ユーザに対してサービスを推薦する機構として、テンプレートマッチングによるサービスの選択と、インスタントメッセージングを利用した対話的なユーザインタフェースを実現した。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、情報を提供する機能が組み込まれた生活空間であるスマート環境をそれぞれ構成する複数のシステムにおいて、それらの間で通信を可能にする方法に関する。
【背景技術】
【0002】
将来のユビキタス社会では、多数のセンサや情報機器、各種ネットワークによって構築される環境、スマート環境が様々な場所に遍在すると考えられる。これらのスマート環境は、構築された場所に応じて、様々に異なる機器、サービス、アーキテクチャで実装されることが予想される。
【0003】
スマート環境とは、情報支援を提供する機能が組み込まれた生活空間(居住空間や公共空間等)のことである。例えば、無線LANにて接続されたパソコン、プリンタ、通信機器などが存在するオフィスや家庭は一種のスマート環境である。スマート環境内であれば、パソコンからプリンタ等へのアクセスを容易に行うことができるが、他のオフィスや家庭、つまり他のスマート環境との間で任意のデータ交換などを容易にできるとは限らない。
【0004】
【特許文献1】特開2006−302297号公報
【非特許文献1】田中宏一、河口信夫、西尾信彦「Secure Semantic Tunnelingによる異種スマート環境接続の設計」情報処理学会研究会報告(第13回ユビキタスコンピューティングシステム研究会)、2006-UBI-12(2006)
【非特許文献2】中野悦史、西尾信彦:PeerPool:DNSクエリによって構成されるオーバーレイネットワーク、インターネットコンファレンス2007(IC2007)
【発明の開示】
【発明が解決しようとする課題】
【0005】
遠隔地とのコミュニケーションを行う場合、一般的によく利用される機能としては、映像・音声によるコミュニケーション、PC 画面共有、ファイル共有、共同編集作業、などがある。これらは既に各機能を実現するサービスや、用途に特化されたプロトコルが存在する。しかし、これらのサービスはそれぞれに固有の知識、設定が必要で、一般的なユーザが利用するには技術的な知識が不可欠である。また、異種のスマート環境間においては、VPN などのネットワークの接続、異なるフレームワークとの接続、IP アドレスの入力などのネットワークアプリケーションの設定、などを行わなければならないといった課題がある。
【0006】
このような課題に対して、この発明は、既存のサービス、及び、スマート環境を利用するまでの準備・手順をなるべく簡便にでき、このとき既存のネットワークに大きな変更を必要としない異種スマート環境制御方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
この発明は、情報を提供する機能が組み込まれた生活空間であるスマート環境をそれぞれ構成する複数のシステムの間において通信を可能にする方法であって、
前記複数のシステムは、コンピュータやプリンタなどの装置をそれぞれ含み、
前記複数のシステムは、アプリケーションでどのようなサービスを使用するかを記述するテンプレートであって、少なくとも、アプリケーションが使用する機能、前記機能を実現するサービス及びそのプロトコルの識別子が予め定義されているテンプレートを備え、
一方のシステムが他方のシステムへメッセージを送信するステップと、
前記他方のシステムが前記一方のシステムへ、アプリケーションが使用する機能、前記機能を実現するサービス及びそのプロトコルの識別子を含む返信を送るステップと、
前記一方のシステムが、前記テンプレートを参照して、前記返信に基づき前記複数のシステムの間で使用可能なサービスを特定するステップと、
前記一方のシステムが、その前記コンピュータの画面上に前記使用可能なサービスを表示するステップと、
前記一方のシステムが、前記他方のシステムに対して前記使用可能なサービスへのアクセスを許可するステップと、を備える異種スマート環境制御方法である。
【0008】
前記使用可能なサービスへのアクセスを許可するステップにおいて、
前記一方のシステムが、前記他方のシステムに対して、可能なリクエストの内容、利用期限及び識別情報を含むアクセス権限の情報が書き込まれているチケットを発行するステップと、
前記他方のシステムが、前記一方のシステムに対して行う前記サービスのリクエストに前記チケットを添付するステップと、
前記一方のシステムが、前記他方のシステムからの前記リクエストに添付された前記チケットの内容を調べ、前記リクエストが前記チケットに書かれたアクセス権限の情報に適合しないときは、当該リクエストを拒否するステップと、を備えるようにしてもよい。
【発明を実施するための最良の形態】
【0009】
本発明の実施の形態では、必要な機能に最適なサービス、プロトコルを利用し、それらを貼り合わせることをコンセプトとした、サービス推薦・設定自動化システム(以下、「NUE システム」と記す)を提案する。NUE システムは、設定・制御を自動化する機構、システム・アプリケーションに対応したハンドラ、ユーザインタフェースを提供する機構、から構成されるシステムである。またNUEシステムは、遠隔のネットワークを接続するPeerPool、遠隔のNUEシステム・ユーザと通信するためのインスタントメッセージクライアントを使用する。
【0010】
本発明の実施の形態のNUE システムは、異なるサービスを組み合わせて自動的に実行できる機構、ユーザにサービスを推薦する機構を持つ。つまり、NUE システムは、異種のサービス、プロトコルに対するユーザインタフェースとなり、一連の設定・制御を自動化する。その際には、サービスそのものを使用するとともに、遠隔のスマート環境のネットワークを接続するPeerPool、異なるプロトコルのスマート環境をREST によりWeb サービスとして公開するアーキテクチャ、遠隔ユーザに対してスケーラブルな権限管理を行うための「チケット認証方式」を使用する。
【0011】
PeerPool、REST によりWeb サービスとして公開するアーキテクチャ及びチケット認証方式については、後に詳しく説明する。
【0012】
図1は、発明の実施の形態に係るNUE システムによる異種のスマート環境の接続の説明図である。スマート環境とは、情報支援を提供する機能が組み込まれた生活空間(居住空間や公共空間等)のことである。例えば、無線LANにて接続されたパソコン、プリンタ、通信機器などが存在するオフィスや家庭は一種のスマート環境である。スマート環境内であれば、パソコンからプリンタ等へのアクセスを容易に行うことができるが、他のオフィスや家庭、つまり他のスマート環境との間で任意のデータ交換などを容易にできるとは限らない。
【0013】
1A,1Bはスマート環境、2は通信ネットワークである。
11A,11Bはサービスアーキテクチャである。ここで、サービスアーキテクチャとは、デバイスやシステムをネットワークを通じて制御するため一連の手続きである。例えば、UPnP、Bonjour、Jini、cogma、UnitedSpacesなどである。
12A、12Bはアプリケーションである。ここで、アプリケーションとは、スマート環境での利用を想定していないような、一般的な既存のソフトウェア、システムである。例えば、映像・音声によるコミュニケーション,PC 画面共有,ファイル共有,共同編集作業,などがある。
【0014】
13A,13Bはサービスアーキテクチャゲートウェイである。ここで、サービスアーキテクチャゲートウェイとは、サービスアーキテクチャのクライアント機能とRESTによるサービスの公開機能、サービスへのアクセスを承認・許可・制限する機能を持った機構である。
14A,14Bはネットワーク接続である。ここで、ネットワーク接続とは、遠隔のローカルエリアネットワーク間を相互に接続させ、かつ、DNSによる名前解決も行う機構である。
15A,15Bはトランスレータである。ここで、トランスレータとは、異なるサービスアーキテクチャ、異なるアプリケーションの間にたち、プロトコルを翻訳して相互接続できるようにする機構である。
【0015】
16A,16Bはコンフィグレーション機構である。ここで、コンフィグレーション機構とは、上記の各機構が動作するのに必要な設定を自動的に行う機構である。
17A,17Bは管理インタフェースである。ここで、管理インタフェースとは、コンフィグレーション機構が行う設定をユーザから制御することができるユーザインタフェースを提供する機構である。
【0016】
本明細書で提案するNUE システムは、図1のコンフィグレーション機構16A,16Bと、管理インタフェース17A,17Bにあたる。コンフィグレーション機構16A,16Bは、各モジュールを制御することで、複雑な設定の自動化を行う。また、管理インタフェース17A,17Bは、コンフィグレーション機構16A,16Bが行う自動処理に対して、セキュリティ上必要な承認を行う。同時に、使用できるサービスを推薦する。
【0017】
コンフィグレーション機構16A,16Bが扱うサービス、アプリケーションには、既に様々な用途に特化したプロトコル、サービスアーキテクチャが存在することが考えられる。ここで、アプリケーションとして遠隔コミュニケーションを設定しているが、遠隔コミュニケーションに特化したプロトコルでは、リアルタイムに音声、動画通信を行うためのH.323、PC 画面を共有するためのVNC(Virtual Network Computing)で利用するRFB プロトコル、などがあげられる。また、将来普及するプロトコル、サービスアーキテクチャ、アプリケーションも扱えるように設計されている必要がある。
【0018】
これらのことから、次の2 つをNUE システムのコンセプトとした。
・中間言語を用意せず、既存の異なるプロトコルを貼り合わせてアプリケーションを実現する。
・アプリケーションの要件に応じて、最適なサービス、プロトコルを適用できる。
【0019】
また、遠隔のスマート環境を接続する場合には、適切にサービスの提供側がサービス、アプリケーションの実行を制御できなければならない。コンフィグレーション機構16A,16Bによって、サービスやアプリケーションの接続は自動化でき、ユーザは煩雑な設定作業、専門知識から解放されるが、遠隔地との接続であるため、完全に自動化するのではなく、2 者間での確認の上で接続されることが求められる。
【0020】
ここで、遠隔地とのコミュニケーションを行うシーンとして遠隔会議を選ぶ。遠隔会議での一連の作業を自動化する場合には次に挙げる機能が必要である。
( 1 ) ユーザの特定(会議相手を特定する)
( 2 ) プレゼンス交換(会議相手の状況を確認し、開始を呼びかける)
( 3 ) サービス情報の交換(各々の環境で利用できるサービスと、プロトコルやIP アドレスなどのサービス情報を相互に確認する)
( 4 ) サービス提示(ユーザに利用可能なサービスを通知し、使用するかどうかを確認する)
( 5 ) ネットワークの接続(グローバルアドレスの確認や、双方向の通信が必要なサービスのために、ネットワークのトンネリングを行う)
( 6 ) サービス実行(異種かつ遠隔のサービスを実行する)
【0021】
上記の一連の作業について、実際の遠隔会議を調査した結果について述べる。
(1) と(2) では、会議相手を特定し、会議可能かどうかの呼びかけを行う。これは、電話やインスタントメッセンジャーを利用することが多い。会議相手が会議可能であることが確認できれば、次に(3) で通信方法を確認する。例えば、TV 会議システムが利用できることを確認し、TV 会議システムのIP アドレスを伝え合う。(4) では、PC 画面共有などのアプリケーションが利用できることを相手に伝え、利用するかどうかを確認する。更に(5) で、アプリケーションを利用する際、ネットワークの接続が必要であれば、グローバルアドレスを伝えたり、VPN の設定などを行う。最後に(6)で、アプリケーションを実行し、遠隔地とのPC 画面共有や、ファイル共有を行う。
【0022】
ユーザを特定し、かつプレゼンス交換を行う仕組みとして、NUE システムでは、その用途に特化した標準的なサービス、プロトコルを利用する、というコンセプトから、現在よく利用されているインスタントメッセンジャー(以下、IM)を利用している。これにより、ユーザは特殊なソフトウェアをインストールしなくてもよい。
【0023】
ユーザは遠隔地とのコミュニケーションを始めるにあたり、IM のアカウントによって会議相手を特定する(ユーザの特定)。この際、IM の状態によって、在席状況などを確認することができる。また、実際にメッセージを送信することで、会議が始められるかどうかを確認する(プレゼンス交換)。IM を利用すれば、遠隔地のユーザとの通信を容易に行うことができる。
【0024】
システムが、参加しているユーザ及び接続するスマート環境を特定するため、NUE システムにはIMクライアントの機能を持たせる。会議が始められるとき、ユーザはNUE システムのアカウントを上記のチャットに招待する。このようにすることで、ユーザはシステムに対して、遠隔会議に参加しているユーザや接続先といった情報を入力しなくてもよい。また、ユーザはIM を通じてNUE システムと対話することができる。
【0025】
NUE システムは、IM を利用して遠隔地のNUE システムと通信を行いながら、遠隔地との間で使用するサービスを確認し、複数拠点のユーザに対してサービスを推薦する。まずNUE システムでは、アプリケーションでどのようなサービスを使用するかを記述しておく。この記述(テンプレート)に基づいて、NUE システムは使用するサービスを選びだす。アプリケーションを遠隔コミュニケーションにした場合、使用する機能は、映像交換、音声交換、画面共有、資料交換、などになる。
【0026】
テンプレートには、アプリケーションが使用する機能、その機能が必須かどうか、機能を実現するサービス・プロトコルの識別子、優先順位を定義しておく。
【0027】
NUE システムは、テンプレートに書かれているサービスのタイプと、スマート環境にあるサービスのタイプの比較を行い、ユーザにサービスを推薦するかどうかを判断する。サービスアーキテクチャゲートウェイ13A,13Bはスマート環境のサービスをREST サービスとして外部に公開するが、REST サービスを記述するWADL(Web Application Description Language)にサービスのタイプの情報を加えておき、テンプレートに当てはまるサービスかどうかを判断する。REST及びREST サービスについては後述する。WADLとはWeb Application Description Languageの略であり、RESTに適合したWebサービス仕様を記述するためのXMLの仕様である。
【0028】
次にNUE システム(図1の1A又は1B)は、自身のスマート環境で利用できるサービスを、遠隔の(他方の)NUE システムに対して通知する。NUE システム同士で利用できるサービスを確認し合うことで、アプリケーションで使用する機能のうち、実際にはどのサービスが利用できるのかを把握する。
【0029】
このようにアプリケーションのテンプレートを記述しておき、異なるアプリケーション、例えばプレゼンテーションといったアプリケーションを実行する場合は、プレゼンテーションのテンプレートに基づいてユーザにサービスを推薦する。
【0030】
NUE システムは、ピックアップされたサービスをユーザに推薦する。ユーザへのサービス推薦は、システム側からユーザ側へPUSH される情報であり、一方でユーザは利用するサービスをシステムに伝える必要がある。これら一連の対話的操作に関して、NUEシステムはIM を利用する。
【0031】
NUE システムは、「TV 会議システムが利用できます。公開しますか?」といった推薦のメッセージをIMに表示させる。このときのIM の送信先は、NUE システムをチャットに招待したユーザである。この推薦のメッセージは、NUE システムの管理するWeb サーバへのURL になっており、ユーザはリンクをクリックすることでサービスの利用許可をNUE システムに指示する。
【0032】
図2は、上述したサービス推薦のシーケンスの説明図である。
アプリケーションテンプレートとは、推薦するサービスとサービスの組み合わせを記述した設定ファイルである。アプリケーションテンプレートは、図1の16A,16Bのコンフィグレーション機構が、参照する設定ファイルである。
ローカルWebサーバとは、ユーザを対話するためのインタフェースを提供する機構である。ローカルWebサーバは、図1の17A,17Bの管理インタフェースに対応するものである。
【0033】
図2を参照してサービス推薦の手順を説明する。
【0034】
第1ステップ:図1のコンフィグレーション機構16Aは、図2のアプリケーションテンプレートを参照し、ユーザに推薦すべきサービスを把握する。そのサービスが自分のサイトのサービスアーキテクチャにあるかどうかを、サービスアーキテクチャゲートウェイ13Aを通じて問い合わせ、サービスのマッチングを行う。また、サービスアーキテクチャでないサービスがあるかどうかは、サービスハンドラを通じて確認する。
【0035】
第2ステップ:コンフィグレーション機構16Aは、接続先のスマート環境Bのコンフィグレーション機構16Bにあるサービスを問い合わせる(一方のシステムが他方のシステムへメッセージを送信する)。このとき、コンフィグレーション機構16Aは、使用可能サービスを、アプリケーションテンプレートの記述形式で記述し、コンフィグレーション機構16Bに問い合わせる。コンフィグレーション機構16Bは、コンフィグレーション機構16Aから取得したアプリケーションテンプレートをもとに、第1ステップの手順と同様に、スマート環境B(1B)で使用可能なサービスを確認しコンフィグレーション機構16Aに返答する(アプリケーションが使用する機能、前記機能を実現するサービス及びそのプロトコルの識別子を含む返信を送る)。
【0036】
第3ステップ:コンフィグレーション機構16Aはスマート環境A(1A)とスマート環境B(1B)に問い合わせた結果判明した、使用可能なサービスを、ユーザに対してIMを利用して推薦する(コンピュータの画面上に前記使用可能なサービスを表示する)。推薦するために必要な情報が多い場合は、ユーザインタフェースはローカルWebサーバ17Aが作成し、ユーザにはローカルWebサーバ17Aへのリンクを提示する。
【0037】
第4ステップ:ユーザはIMないしローカルWebサーバが作成したユーザインタフェースを通じて、コンフィグレーション機構16Aに対して推薦されたサービスの使用許可を与える(使用可能なサービスへのアクセスを許可する)。
【0038】
許可の与えられたローカルWebサーバは、適切なセキュリティの措置をとった上で、遠隔のNUE システムからサービスにアクセスできるようにする。また、接続先のユーザに対し、利用できるサービスを提示する。
【0039】
公開するサービスがサービスアーキテクチャに基づいたサービスであり、接続先のスマート環境に適切なクライアントソフトウェアがない場合は、サービスはRESTful なWeb サービスとして公開する。RESTful とは、REST(Representational State Transfer)の原則に従って実装されたシステムである。RESTは、ステートレス、HTTPメソッドによるCRUD、リソースを一意に定義できるURI、ハイパーメディアの活用、といった特徴を備えた、XMLとHTTPを活用したWebサービスシステムである。このとき、NUE システムは、ユーザが許可したサービスのみアクセスすることができるチケットを作成する。NUE システムは、サービス情報として、REST のサービスについて記述したWADL にアクセスするためのURL と、REST サーバにアクセスする際に使用するチケットを遠隔のNUE システムに送信する。REST によるサービス公開、権限管理機構については、後に詳しく説明する。
【0040】
公開するサービスが既存のネットワークアプリケーションで、プライベートネットワークの接続によって通信可能になる場合は、NUE システムはPeerPool の機能を利用し、スマート環境間のネットワークのトンネリングを行う。PeerPool では、PeerPool 上の仮想ネットワークにホストを公開する際、DNS クエリによって公開するDNS 名を登録する。NUE システムは、PeerPool の接続に必要な鍵データなどのデータ、登録されたDNS 名、プロトコル、ポートなどのデータを遠隔のNUE システムに送信する。PeerPool によるネットワーク接続、ホスト公開については、後に詳しく説明する。
【0041】
これらのサービス情報を受信したNUE システムは、ユーザに対して利用できるサービスを提示する。REST により公開されたサービスは、前述のように、サービスを実行するクライアントソフトウェアが遠隔地側にない。そのため、WADL を読み取って、そのサービスをどのように制御できるのかを取得する。そののち、サービスのリストと制御方法(例えば「on」と「off」)を表示するHTML ページを作成し、ユーザに表示する。当該HTMLページ上で任意のサービスを選択しそれを制御する(例えば、「on」又は「off」とする)と、REST サーバに対して、当該内容に対応するXML メッセージが送信され、当該サービスが実行される。
【0042】
既存のネットワークアプリケーションを公開した場合、遠隔コミュニケーションの例では、TV 会議システムを接続させる、VNC クライアントを起動する、などの処理を行うことになる。これは、サービスのタイプに応じたハンドラが、接続先の情報をクライアントに対して適切に通知することになる。通知の方法は以下のものが考えられる。
( 1 ) サービス実行の確認をIM やブラウザにて行う
( 2 ) アプリケーションに対応したプロトコルハンドラによるURL をIM やブラウザに表示する
( 3 ) 接続情報をダウンロードさせる
【0043】
(1) の場合、NUE システムは「TV 会議システムが利用できます。接続しますか?」といったメッセージをIM に表示させる。このメッセージはNUE システムの管理するWeb サーバへのURL になっており、ユーザがリンクをクリックすると、対応するサービスのハンドラが、TV 会議システムの接続を行う。
【0044】
(2) の場合、NUEシステムは、アプリケーションに対応するURL handler-name://dns-name/ をIM にメッセージとして表示する。ここで、"handler-name" はアプリケーションのプロトコルハンドラであり、"dnsname"はPeerPool に登録された仮想DNS 名である。
【0045】
(3) の場合、NUE システムは接続情報を格納したファイルをローカルWeb サーバからダウンロードできるようにし、そのURL をIM にメッセージとして表示する。例えばVNC の場合、拡張子が「vnc」であるファイルを作成する。このファイルにはPeerPool に登録されたDNS 名を接続先アドレスとして記述しておく。
【0046】
発明の実施の形態に係るNUE システムではクライアント端末に一般的にインストールされているソフトウェアを利用して、スマート環境のアーキテクチャに依存しないユーザインタフェースを実現した。また、スマート環境やサービスの情報、設定を把握し、自動的にネットワークのトンネリングとサービス実行を可能にすることを確認できた。また、コンフィグレーションの機構は、アプリケーションテンプレートに沿って自動的に各モジュールの設定を行った。アプリケーションテンプレートを記述することで、様々なアプリケーションに対応することができる。将来、新しいサービスアーキテクチャに対応するにはサービスアーキテクチャゲートウェイを、新しいネットワークアプリケーションに対応するにはサービスハンドラを実装すればよい。
【0047】
[REST によるWebサービス公開についての説明]
まず、REST に基づくWeb サービスについて説明する。Web サービスとは、HTTP などのWeb 技術の基盤を用いてメッセージ交換を行うことにより、異なるソフトウェアとの連携を行うソフトウェアサービスのことである。REST(Representational State Transfer)は、HTTP本来のモデルをそのままWebサービスのインタフェース(API)として用いるスタイルであり、スケーラブルな分散ソフトウェアをシンプルに構築する手法として近年主流になりつつある。REST では、全てのリソースにURL をつけ(アドレッシング性)、リソースの状態を(html 形式、XML形式などで)表現可能とする。また、リソースの状態を取得、変更するために、リソースに対して統一されたインタフェース(HTTP のGET、 PUT、 POST、DELETE メソッドなど) を定義して、状態の表現を転送する。REST の原則に従うことにより、HTTP の仕組み(キャッシュ、プロクシ、Keep-Alive、負荷分散、認証、暗号化等)を有効に活用できる。また、アプリケーションの状態をサーバに持たせないこと(ステートレス性)により、ユーザの増加に対してスケーラビリティを持つ。
【0048】
本発明の実施の形態では、各々のスマート環境で独立に開発されたミドルウェア間の差異を吸収するため、各スマート環境に設けられたREST サーバが、各スマート環境に存在するサービス(機器の機能など)を、REST に基づくWeb サービスとして公開する。REST サーバは、図1のサービスアーキテクチャゲートウェイ13A、13Bに相当する。クライアントアプリケーション(REST クライアント)がこれらのWeb サービスを利用することによって、異種スマート環境間の連携を行う。
【0049】
各サービスはリソースとして扱われ、URL を持っている。リソースのURL に対して、GET メソッドでアクセスすることによりリソースの状態を取得し、PUTメソッドで状態を更新する。
【0050】
ここで、ユーザ管理が不要なアクセス権限管理手法として、チケット認証方式を採用する。本方式は、イベント等で利用される紙のチケットから着想を得たものであり、ユーザを特定せずにチケットの情報のみでサービスのアクセス権限を判断する。このため、サービス提供側で別途ユーザの管理をしなくても良く、ユーザの増加に対してスケーラブルな基盤が実現できる。
【0051】
[チケット認証方式による権限管理機構についての説明]
チケット認証方式をREST アーキテクチャに適用するため、以下のようにする。本方式では、サービス管理者が、サービス利用者(ゲストユーザ)に対して「チケット」と呼ばれるデータを発行し、サービス利用者は、REST サーバへのリクエストを行う際に、このチケットを添付する。
【0052】
チケットには、REST サーバに対するアクセス権限の情報が全て含まれ、チケットに含まれる情報のみでアクセス権限を判断できる。アクセス権限の情報はXML で記述し、可能なリクエスト内容(どのURLに対して、どのHTTP メソッドが使えるか)、チケットの利用期限、認証対象となるREST サーバ(レルム)を特定するレルム名、チケットを特定するID が含まれる。(これ以外の情報を追加してサーバ側で利用しても良い)
【0053】
チケットには、改ざん防止用の署名を付加し、サービス利用者が権限の情報を書き換えることを防止する。レルム(REST サーバ) ごとに秘密鍵を用意し、アクセス権限情報(body 要素)と秘密鍵を合わせたデータに対して、SHA1 ダイジェストを計算したものを、チケットに付加することにより、改ざん防止用の署名を行う。
【0054】
サービス管理者は、アプリケーションで利用する署名済みチケットをbase64 エンコードした文字列(チケットトークン)を、サービス利用者に渡す。複数の異種スマート環境にアクセスするような場合には、複数のレルムに対するチケットをつなげて(複数のticket 要素を子に持ったtickets要素をルートとしてXML を作成)、単一のチケットトークンとすることもできる。
【0055】
サービス利用者は、Web サーバに対してHTTP リクエストをする際に、このチケットトークンをAuthorizationヘッダに添付する。なお、チケットの盗聴を防止するために、チケットを添付してREST サーバへアクセスする際には、SSL(Secure Socket Layer)などを用いて通信路を暗号化する。
【0056】
チケット認証方式はWeb サーバ(REST サーバ)に対する拡張として埋め込まれ、チケットに書かれたアクセス権限情報に合わないリクエストはWeb サーバ側で自動的に拒否する。また、チケット認証方式では、Web サーバに対して別途ゲストユーザの認証情報を登録する必要が無い。このため、Web サーバ上で動作するアプリケーション開発時には、特にチケット認証方式を意識する必要がない。すなわち、チケット認証方式を用いれば、Web サービスを開発する際に、ゲストユーザに対してスケーラブルかつきめ細かなアクセス権限管理を、容易に実現できる。
【0057】
[PeerPool によるネットワーク接続、ホスト公開についての説明]
PeerPoolは、DNSクエリをインタフェースとして複数のスマート環境の間で必要な機器のみを接続する公知技術である(非特許文献2)。PeerPool は、各ネットワークに設置されたPoolGateway(以下、PoolGW) と呼ばれるホスト間で構築されるIP レイヤのオーバレイネットワーク(以下、Pool ネットワーク) を、DNS クエリをインタフェースとして即時制御・構成するシステムである。PeerPoolではノード単位のアクセス制御が可能であり、選択的にローカルネットワーク内にあるノードをPool ネットワークに公開することができる。VPN などで必要とされる末端ホスト間での事前経路構築は必要ない。
【0058】
Peer ネットワークに公開されたホストに対してPoolGW ではNAT が構築され、Pool ネットワークから特定のIP アドレスでアクセスすることが可能となる。Pool ネットワークPoolGW を有するローカルネットワークからはPoolGW をデフォルトルートやPool ネットワークで利用されるアドレス体系へのネクストホップとして指定することで、PoolGW を経由して公開ホストへアクセスすることができる。
【0059】
Pool ネットワークへの公開はPoolGW に対して特定形式のホスト名に対するの名前解決DNS クエリを送ることで行われ、DNSクエリへの返答としてPool ネットワーク用に付加されたIP アドレスが返される。
【0060】
PeerPool はPoolGW をデフォルトルートやDNS サーバとして指定するだけで、簡単に全ての機能を発揮できる。しかし、これらすら変更することができないホストは存在しうる。これに対し、PeerPool の仮想ローカルノード化機能を利用することで、DNS サーバの変更のみで利用することが可能となる。この各ホストにおけるDNS サーバの変更も、既存のDNS サーバでパケットフォワードを行い、DNS クエリを一度PeerGW に転送する形として、PeerGW からのアクセスのみを既存DNS サーバで受け付ける形にすることで不要にでき、DNS サーバ以外の既存ホストへ変更を加えることなく、ローカルネットワーク全体からPeerPool を利用することが可能である。このときの概要を図3に示す。図3における符号A〜Cは、図1のサービスA1、A2、B1、B2やアプリケーションC,D,Eに対応する。また、図3におけるPoolGWは、図1のネットワーク接続14A、14Bに対応する。図3における符号A’やB’は、Pool Network上の仮想アドレスであり、サービスやアプリケーションに対応する。
【0061】
仮想ローカルノード化を行った公開ホストにはPoolネットワークのIP アドレスだけではなく、ローカルネットワークのIP アドレス体系に従って空きIP アドレスが割り当てられる。PoolGW が該当IP アドレスを仮想アドレスとして保持するなどの方法で、ローカルネットワークに対して該当IP アドレスを公開し、該当IP アドレスへのアクセスはPoolGW がNAT を用いてPool ネットワークのIP アドレスへ変換する。事実上、PoolGW らにより双方向NAT が行われる。
【0062】
Pool ネットワークに公開されている“newhostname. a group name.pool” というホストを仮想ローカルノード化する場合、“newhostname.a group name.local.pool” に対する名前解決DNS クエリをPoolGWに送ることで行える。DNS クエリへの返答として、新たに付加されたローカルネットワークのIP アドレスが返される。許可されていない場合や失敗の場合は名称解決が失敗する。成功した場合、PoolGWをDNS サーバとして利用することで“newhostname.a group name.local.pool” のホスト名を用いてアクセスすることが可能となる。
【0063】
NUE とPeerPool を用いたサービスアクセスに連動したトンネルネットワークの自動構築の実現について説明する。
【0064】
NUE によるサービス公開に、前述したPeerPoolの仮想ローカルノード化を用いると、通信経路を確保する対象のホスト側に変更を加える必要がなく、サービスアクセスに連動したネットワーク間のトンネル自動構築が可能となる。例えば、VNC サーバに“vnc.some group.some smartspace.pool” という名称を付加して公開することで、NUE 経由でネットワーク的に隔絶した環境から通常のVNCクライアントを用いて“vnc.some group.some smartspace.local.pool”として利用することが可能となる。
【0065】
この“vnc.some group.some smartspace.local.pool”と該当サービスとの関連性はNUE によって管理され、公開ホストの情報は、連携に参加しているNUE 間で共有され、サービス間連携の構築時に各サービスが利用するホスト名として用いられる。これは各サービスやソフトウェア上では通常ホストと同様の扱いとなり、意識させることなく動的なトンネルネットワークの構築が実現される。
【図面の簡単な説明】
【0066】
【図1】発明の実施の形態に係るNUE システムによる異種のスマート環境の接続の説明図である。
【図2】発明の実施の形態に係るサービス推薦のシーケンスの説明図である。
【図3】仮想ローカルノード化によるアクセスの説明図である。
【符号の説明】
【0067】
1A,1B スマート環境(システム)
11A,11B サービスアーキテクチャ
12A,12B アプリケーション
13A,13B サービスアーキテクチャゲートウェイ
14A,14B ネットワーク接続
15A,15B トランスレータ
16A,16B コンフィグレーション機構
17A,17B 管理インタフェース
2 通信網

【特許請求の範囲】
【請求項1】
情報を提供する機能が組み込まれた生活空間であるスマート環境をそれぞれ構成する複数のシステムの間において通信を可能にする方法であって、
前記複数のシステムは、コンピュータやプリンタなどの装置をそれぞれ含み、
前記複数のシステムは、アプリケーションでどのようなサービスを使用するかを記述するテンプレートであって、少なくとも、アプリケーションが使用する機能、前記機能を実現するサービス及びそのプロトコルの識別子が予め定義されているテンプレートを備え、
一方のシステムが他方のシステムへメッセージを送信するステップと、
前記他方のシステムが前記一方のシステムへ、アプリケーションが使用する機能、前記機能を実現するサービス及びそのプロトコルの識別子を含む返信を送るステップと、
前記一方のシステムが、前記テンプレートを参照して、前記返信に基づき前記複数のシステムの間で使用可能なサービスを特定するステップと、
前記一方のシステムが、その前記コンピュータの画面上に前記使用可能なサービスを表示するステップと、
前記一方のシステムが、前記他方のシステムに対して前記使用可能なサービスへのアクセスを許可するステップと、を備える異種スマート環境制御方法。
【請求項2】
前記使用可能なサービスへのアクセスを許可するステップにおいて、
前記一方のシステムが、前記他方のシステムに対して、可能なリクエストの内容、利用期限及び識別情報を含むアクセス権限の情報が書き込まれているチケットを発行するステップと、
前記他方のシステムが、前記一方のシステムに対して行う前記サービスのリクエストに前記チケットを添付するステップと、
前記一方のシステムが、前記他方のシステムからの前記リクエストに添付された前記チケットの内容を調べ、前記リクエストが前記チケットに書かれたアクセス権限の情報に適合しないときは、当該リクエストを拒否するステップと、を備えることを特徴とする請求項1記載の異種スマート環境制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2010−15242(P2010−15242A)
【公開日】平成22年1月21日(2010.1.21)
【国際特許分類】
【出願番号】特願2008−172433(P2008−172433)
【出願日】平成20年7月1日(2008.7.1)
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成19年度、総務省、異種スマート環境間をセキュアに動的接続・構成する基盤技術に係る委託研究、産業技術力強化法第19条の適用を受ける特許出願
【出願人】(000152228)株式会社内田洋行 (105)
【出願人】(593006630)学校法人立命館 (359)
【出願人】(504139662)国立大学法人名古屋大学 (996)
【Fターム(参考)】