以下、図面を参照して本発明の実施例について説明する。図1は本実施例によるLANに接続された家電製品への自動アクセス方法を適用したピア・ツー・ピアファイル共有システムの構成の1例を示す。本システムは、ディレクトリ情報やファイル情報、ユーザ情報を管理するファイル共有管理サーバ1と、ファイル共有システムに属し家庭内に設置されるファイル共有クライアントA2、同じくファイル共有システムに属し家庭外等のリモート環境10においてユーザが使用するファイル共有クライアントB3で構成される。ここで、ファイル共有クライアントA2は、ユーザが家庭内で一般的に使用するコンピュータ端末であり、ファイル共有クライアントB3はユーザが有する携帯電話やPDA(Personal Digital Assistants)、ノートパソコン等のネットワークを介して他の装置と通信が可能な情報通信端末等が考えられる。
図1に示す実施例ではファイル共有管理サーバ1、ファイル共有クライアントA2、B3はそれぞれ異なるネットワーク・セグメントに属しており、互いにルータ5〜7を介してIPネットワーク8により接続される。なお、ファイル共有管理サーバ1はファイル共有クライアントA2と同じネットワーク・セグメントに属していても良い。この場合、ファイル共有管理サーバ1とファイル共有クライアントA2はルータを介さず直接通信する。
家庭内のLAN等であるホームネットワーク9には、ネットワーク装置として家電製品等のWebサーバ搭載機器4が接続される。この実施例では、ネットワーク装置が、HTTPリクエストを受信後そのリクエストにもとづいた処理を実行し、HTTPレスポンスを送信するWebサーバ機能を有する。その為、ファイル共有クライアントA2あるいはB3では、Webブラウジング機能が実行され、Webサーバ搭載機器4との間でHTTP(Hyper Text Transfer Protocol)によるファイル転送が行なわれる。また、本実施例ではファイル共有クライアント間、およびファイル共有クライアントとファイル共有管理サーバ間の通信のため、ファイル共有クライアントA2、B3はピア・ツー・ピアファイル共有システムを利用する機能を有する。
図2は、ファイル共有クライアントA2の構成の1例を示す。ファイル共有クライアントA2は、通信制御部20、ファイル記憶部21、ファイル共有システム通信処理部22、アドレス取得部23、名称付与部24、ファイル生成部25、機器種別取得部26、ファイル属性情報登録部27、ファイル共有GUI部28を備える。
通信制御部20は、物理層の電気的処理、Ethernet(Ethernetは登録商標です)フレーム終端、生成等のデータリンクレイヤ処理、IPパケットの終端、生成等のネットワークレイヤ処理、TCP又はUDPセッションの終端、生成等のトランスポートレイヤ処理等のプロトコル処理を階層的に行うことで、ファイル共有クライアントA2とホームネットワーク9との間でデータの送受信を行なう。ファイル記憶部21は、ファイル共有クライアントA2が作成したファイル及び他のファイル共有クライアントから取得したファイルを記憶する。ファイル共有システム通信処理部22は、ファイル共有システムの機能を利用するために必要な、他のファイル共有クライアントやファイル共有管理サーバとの間でやりとりされる様々なリクエスト及びレスポンスの制御を行う。
アドレス取得部23は、ホームネットワーク9に属する通信端末にアドレスを問合せ、通信端末からの応答メッセージを解析して当該端末のアドレスを取得する処理を行なう。名称付与部24は、当該端末から取得したアドレスに対応づけられる名称を付与する。本実施例では名称としてドメイン名を使用するが、名称はこれに限られない。ファイル生成部25は、アドレス取得部23が取得したアドレスと、名称付与部24が付与した名称の組の情報を内容とするファイルを生成する。機器種別取得部26は、ホームネットワーク9において各家電製品ごとにカメラ、冷蔵庫、照明、冷房装置のような機器種別を一意に表わす識別コードが設定されている場合に、家電製品に対しその識別コードを問合せることで機器種別を判定する。この機器種別取得部26は必須ではないが、この機能を用いることでドメイン名の自動付与が容易となる。
ファイル属性情報登録部27は、ファイル生成部25が作成したファイルの属性情報をファイル共有サーバ1に登録するための登録要求メッセージを作成する処理を行なう。ファイルの属性情報をファイル共有サーバ1に登録することにより、ファイル共有システムに属する端末が保持しているファイルを管理することが出来る。ここで、ファイルの属性情報とは、ファイル共有システムで各ファイルに一意に付与されるファイルIDや、そのファイルを作成した端末に一意に付与されるユーザID、ファイル共有システム上でファイルが属するディレクトリを一意に決定するディレクトリID等の情報である。ファイル共有GUI部28は、ファイル共有システムを利用する為のユーザインタフェースであって、ユーザからの命令を受け付け、またファイル共有システムに対する命令の実行結果をユーザに表示する。
ピア・ツー・ピアファイル共有システムの処理について説明すると、この処理はユーザ操作によりファイル共有GUI部28のGUI操作部281を介して発行される命令で開始される。発行された命令はファイル共有システム通信処理部22を通して、ファイル共有管理サーバ1または他のファイル共有クライアントへ送信され、決まったシーケンスのもとに実行される。そして、その結果がファイル共有GUI部28のGUI表示部282に表示される。ファイル共有管理サーバ1へのファイル属性情報の登録や、他クライアントからのファイルダウンロード、他クライアントへのファイルアップロードの場合には、各クライアントのファイル記憶部21へアクセスし、ファイルの格納や取り出し処理も同時に実行される。
図2にはファイル共有クライアントA2の機能ごとに処理部を記載したが、実際の装置構成としてはCPUと各処理部に対応するプログラムを記憶したメモリを備え、CPUが順次メモリからプログラムを読み出して上記各機能を実行するものであってもよく、普通のPC(Personal Computer)端末をファイル共有クライアントA2とするならこの構成が一般的である。又は、処理の高速化のため必要に応じて各処理部の少なくとも一部をハードウェアにより実装しても良い。
図3は、ファイル共有クライアントB3の構成の1例を示す。ファイル共有クライアントB3は、通信制御部20、ファイル共有システム通信処理部22、ファイル共有GUI部28、アドレス/名称登録部30、記憶部31、Webブラウジング連携部32、Webブラウジング部33を備える。
アドレス/名称登録部30は、ファイル共有サーバ1へファイル属性情報を問い合わせ、問い合わせた結果ファイル共有クライアントA2のファイル記憶部21から、アドレスと名称の組の情報を内容とするファイルを取得することで、家電製品のアドレスと名称の対応関係を取得する。そして、家電製品にアクセスする為に、記憶部31のhostsファイルに当該対応関係を登録する。
Webブラウジング連携部32は、ファイル共有GUI部28に表示された家電製品の名称をユーザがクリックすることにより、Webブラウジング部33を起動する処理を実行する。Webブラウジング部33は、家電製品、特にWebサーバ搭載機器との間でHTTPプロトコルを用いて送受信されるデータを処理するためのユーザインタフェースであって、ユーザからの命令を受け付け、またWebサーバ搭載機器に対する命令の実行結果をユーザに表示する。
ファイル共有クライアントB3も同様に、装置構成としてはCPUと各処理部に対応するプログラムを記憶したメモリを備え、CPUが順次メモリからプログラムを読み出して上記各機能を実行するものであってもよい。又は必要に応じて各機能をハードウェアにより実装したものであってもよい。
図4はファイル共有管理サーバ1の構成の一例を示す。このファイル共有管理サーバ1については、既存のピア・ツー・ピアファイル共有システムで用いられるファイル共有管理サーバに変更を加えることなく利用できる。ファイル共有管理サーバ1は、通信制御部20、ファイル共有システム通信処理部22、属性情報抽出部40、属性情報記憶部41を備える。ファイル属性情報抽出部40は、ファイル共有システム通信処理部22が受信したファイル共有クライアントA2からのメッセージに含まれるファイルの属性情報を抽出し、ファイル属性情報記憶部41に格納する。属性情報記憶部41は、ファイルの属性情報であるファイルID、ディレクトリID、ユーザIDと、それらの関連情報を管理する為のテーブルである、ファイルテーブル411、ディレクトリテーブル412、ユーザテーブル413を有し、ファイル共有システム上に登録されているファイル情報を一元的に管理する。
図5に、Webサーバ搭載機器4の構成の1例を示す。これは、Webサーバ搭載機器4がネットワークカメラの場合の例である。Webサーバ搭載機器4は、通信制御部20、Webカメラ部50、レンズ51を備える。Webカメラ部50は、レンズ51で映した映像を、ネットワークを通してファイル共有クライアントB3のWebブラウジング部33を用いて参照可能とする為の機能を提供し、映像処理部53とHTTP処理部54を備える。すなわち、映像処理部53は、レンズ51で映した映像をHTTPプロトコルで送受信可能なデータに加工し、HTTP処理部へその映像データを受け渡す。HTTP処理部54は、通信制御部20を介して、ファイル共有クライアントB3からの映像データを要求するHTTPリクエストを受信する。そして、HTTP処理部54は当該HTTPリクエストを処理し、要求された映像データを含むHTTPレスポンスを返送する。
次に、本実施例で利用するピア・ツー・ピアファイル共有システムにより、ファイル共有クライアント相互でファイルを共有する仕組みについて説明する。図6は、ファイル共有管理サーバ1内にあるファイルテーブル411の構成の1例を示す。ファイルテーブル411は、ピア・ツー・ピアファイル共有システム上に登録されているファイルを一意に識別する値であるファイルIDを格納するファイルIDフィールド4111、そのファイルを登録したユーザを一意に識別するための値であるユーザIDを格納するユーザIDフィールド4112、そのファイルが複数のユーザにコピーされて保持される場合に、それらユーザのユーザIDを格納するユーザリストフィールド4113、そのファイルに対するアクセス制限に関する情報を格納するACLフィールド4114を持ち、ピア・ツー・ピアファイル共有システム上のファイルに関する情報を格納する為に存在する。
例えば、ファイルIDが10010のファイルを、ユーザIDが1000のユーザが登録し、そのファイルのコピーをユーザIDが1001、1002のユーザが保持する場合、ファイルテーブル411は図6のようになる。また、仮にユーザIDが1001から1005のユーザにのみこのファイルのコピーを許可する場合には、ACLフィールド4114に1001から1005までの数値を設定することにより、アクセス制限を施すことが可能である。つまり、このACLフィールドを利用することで、Webサーバ搭載機器を使用できるユーザを特定することが可能となる。ここで、ファイルテーブル411は単にファイルに関する情報のみを格納しており、ファイルの実体はファイル共有管理サーバ1では保持せず、全てファイル共有クライアントで保持している。
図7はディレクトリテーブル412の一例を示す図である。ディレクトリIDフィールド4121には、ファイル共有システムにおいてファイルの属するディレクトリを一意に識別するためのID値が格納される。種別フィールド4122は、そのディレクトリの種別を表す情報が格納される。ディレクトリの種別については後述する。ユーザIDフィールド4123は、そのディレクトリを作成したユーザのユーザIDを保持する。親フィールド4124および子フィールド4125は、それぞれそのディレクトリの親ディレクトリおよび子ディレクトリのディレクトリIDを保持する。ファイルリストフィールド4126は、そのディレクトリに属するファイルのファイルID値を保持する。ACLフィールド4127はそのディレクトリに対するアクセス制限の情報を保持する。このテーブル情報により、ピア・ツー・ピアファイル共有システムを利用するユーザに対して仮想的なディレクトリを提供する。
例えば、ディレクトリIDが20010のディレクトリを、ユーザIDが1000のユーザが作成し、上位(親)/下位(子)それぞれのディレクトリIDが20011、20012であり、そのディレクトリにファイルIDが10010のファイルが含まれている場合、テーブルの値は図7のようになる。また、仮にユーザIDが1001から1005のユーザのみこのディレクトリへのアクセスを許可する場合には、ACLフィールド4127に1001から1005までの数値を設定することにより、ファイルへのアクセス制限と同様、ディレクトリへのアクセス制限を施すことが可能である。
図8は、ファイル共有管理サーバ1内にあるユーザテーブル413の構成の1例を示す。ユーザテーブル413は、ピア・ツー・ピアファイル共有システム上に登録されているユーザのユーザIDを格納するユーザIDフィールド4131、そのユーザの使用する端末のIPアドレスを格納するIPアドレスフィールド4132を持ち、ピア・ツー・ピアファイル共有システムを利用するユーザに関する情報を格納する為に存在する。例えばユーザIDとして値1000を付された端末のIPアドレスが「2001:240:403:28::xxxx」である場合には、ユーザテーブルの内容は図8のようになる。ユーザIDとIPアドレスの対応は、ファイル共有クライアントがピア・ツー・ピアファイル共有システムにログインする時にその都度更新される。
図9は、ファイル共有クライアントのファイル共有GUI部28にあるGUI表示部282で表示されるフォルダの画面構成の一例を示す。表示画面90は、ディレクトリ表示部91、ファイル表示部92からなり、ファイル共有管理サーバ1が保持するファイルテーブル411及びディレクトリテーブル412の内容をビジュアル的に表示する。例えば、ディレクトリテーブル412に図7のように格納されているディレクトリ、すなわちディレクトリIDが20010のディレクトリを画面表示すると、ディレクトリ表示部91には、ID20010のディレクトリの親ディレクトリとしてID20011のディレクトリが、子ディレクトリとしてID20012のディレクトリがビジュアル的に表示される。また、ファイル表示部92には、ID20010のディレクトリに仮想的に格納されているID10010のファイルがビジュアル的に表示される。このように、ファイル共有クライアントを操作するユーザは、表示したい任意のディレクトリを選択することにより、ファイル共有管理サーバ1のディレクトリテーブル412にもとづいた内容をGUI表示部282で参照することが出来る。
図10は、画面構成の他の一例を示す。この例では、ディレクトリテーブル412において、種別フィールド4122に“掲示板フォルダ”を表す値「2」が格納されている。ここで、掲示板フォルダとは、GUI表示部282でのファイル表示形式が掲示板形式のフォルダを指す。掲示板フォルダの場合、そのディレクトリを参照すると、図10のようにファイル表示部92でファイルが掲示板のように、すなわちファイルの内容を掲示する板のように表示され、ユーザはこれらのファイル内容を参照することが出来る。ここで、種別フィールド4122の掲示板フォルダに対応する数値は「2」となっているが、対応する数値は任意の数値でもよい。
図11はファイル共有管理サーバ1とファイル共有クライアントA2の間で送受信されるパケットに格納されうる全ての情報を図示している。このパケットは、IPヘッダ部1101、TCPヘッダ部1102、HTTPヘッダ部1103、データ部1111を持つ。データ部1111は更に、メッセージタイプフィールド1104、ディレクトリIDフィールド1105、ファイルIDフィールド1106、ユーザIDフィールド1107、IPアドレスフィールド1108、ユーザリストフィールド1109、ファイル本体1110を含み得る。原則として通信制御部20がIPヘッダ部1101及びTCPヘッダ部1102を処理し、ファイル共有システム通信処理部22がHTTPヘッダ部1103及びデータ部1111を処理するが、必要に応じて他の処理部がパケットに格納する情報を適宜作成してよい。
ファイル共有クライアントは、自己が保有するファイルを掲示板フォルダにて他のファイル共有クライアントから参照可能とするために、ファイル共有サーバに対しファイル属性情報の登録を要求するファイル登録要求メッセージを送信する。
ファイル登録要求メッセージは図11に示された情報のうち、データ部1111にメッセージタイプ1104、ディレクトリID1105、ユーザID1107の情報を含む。ファイル共有システム通信処理部22はメッセージタイプ1104の内容に従ってデータ部1111を処理し、ファイル登録要求メッセージの場合には属性情報抽出部40によりメッセージから抽出したファイルの属性情報を用いて、ファイルテーブル411やディレクトリテーブル412の内容を更新する。
ファイル共有クライアントB3は、ファイル共有管理サーバ1に参照要求メッセージを送信することで、他のファイル共有クライアントA2が保持しているファイルを、掲示板フォルダを介して参照する。参照要求メッセージは図11に示された情報のうちデータ部1111がメッセージタイプ1104、ディレクトリID1105、ユーザID1107を含む。例えばユーザIDが1001のユーザがディレクトリID20010のディレクトリを参照する場合には、ディレクトリID1105には20010の値が、ユーザID1107には参照を実行するユーザのIDである1001の値が含まれる。ファイル共有管理サーバ1は、このメッセージを受信するとファイルテーブル411、ディレクトリテーブル412、ユーザテーブル413を検索し、参照応答メッセージを生成し、ファイル共有クライアントB3に返信する。
参照応答メッセージは図11に示された情報のうちデータ部1111に、メッセージタイプ1104、ファイルIDフィールド1106、ユーザIDフィールド1107、IPアドレスフィールド1108、ユーザリストフィールド1109を含む。例えば図7のディレクトリID20010のディレクトリに対する参照応答の場合、ファイルIDフィールド1106にはファイルIDの値10010が格納される。またユーザIDフィールド1107にはこのファイルIDのファイルを保有するユーザのユーザID値1000が格納される。IPアドレス1108にはユーザID1000のユーザが使用する端末のIPアドレスが格納される。ユーザリスト1109にはこのファイルIDにアクセス可能なユーザのユーザIDが含まれる。
次に、ユーザID1001のユーザが、受信した参照応答メッセージの内容からファイルIDが10010のファイルを取得することを決定した場合、ファイルIDが10010のファイルを保有する他のファイル共有クライアントA2へファイルダウンロード要求メッセージを送信する。ファイルダウンロード要求メッセージは図11に示された情報のうちデータ部1111にメッセージタイプ1104、ファイルID1106、ユーザID1107を含む。この場合、ファイルID1106にはダウンロードしたいファイルのID値10010、ユーザID1107にはダウンロードを要求するユーザのID値1001が含まれている。
ファイルダウンロード要求メッセージを受信したファイル共有クライアントA2は要求されているファイルを抽出し、ファイルダウンロード応答メッセージを返信する。ファイルダウンロード応答メッセージはデータ部1111にメッセージタイプ1104、ユーザID1107、ファイル1110を含む。この場合、ファイルダウンロード応答メッセージのユーザID1107にはファイル送信元ユーザのID値1000、ファイル1110にはファイルID値10010のファイルの実体が含まれる。
図12は、本実施例によるWebサーバ搭載機器への自動アクセス方法の一連の処理シーケンスを説明する為の図である。自動アクセス方法の一連の処理は、大きく3つの部分に分かれている。
1つめの部分ではファイル共有クライアントA2により、Webサーバ搭載機器4のIPアドレスを発見し、発見した機器へ名称としてドメイン名を付与し、IPアドレスとドメイン名の組の情報を内容とする機器ファイルを作成する。そしてファイル共有クライアントA2により、この機器ファイルの情報を掲示板フォルダに属するファイルとしてファイル共有サーバ1に登録する。
2つめの部分ではリモート環境にあるファイル共有クライアントB3がファイル共有GUI部28のGUI表示部282に表示される掲示板フォルダを参照することにより、ファイル共有クライアントA2の保持する機器ファイルを取得する。そしてファイル共有クライアントB3は機器ファイルに記載されているサーバ搭載機器4のIPアドレスとドメイン名の組を、hostsファイルに書き込む。このhostsファイルは、ファイル共有クライアントB3上で他の通信装置のIPアドレスとホスト名の対応付けを格納するファイルとして様々なアプリケーションで利用されるファイルである。
そして最後の3つめの部分では、ユーザがファイル共有クライアントB3のファイル共有GUI部28上でWebサーバ搭載機器4のドメイン名を指定した時に、Webブラウジング連携部32がWebブラウジング部33を自動起動し、hostsファイルに書き込まれた内容を用いてWebサーバ搭載機器4へアクセスする。各機能のフロー詳細は後述するが、ここでは3つの機能を合わせた一連の動作について、各機器間で送受信されるメッセージを説明する。
まず始めに、ファイル共有クライアントA2はファイル共有GUI部28を介してユーザA61から機器自動発見の命令1201を受ける。するとファイル共有クライアントA2はホームネットワーク9にあるWebサーバ搭載機器4にアドレスを問い合わせるメッセージを送信する。本実施例では、アドレスの問い合わせにNDP(Neighbor Discovery Protocol)の近隣要請メッセージ(Neighbor Solicitation Message)1202を利用する。この問い合わせを受信したWebサーバ搭載機器4は、Webサーバ搭載機器4のMACアドレスを格納した近隣通知メッセージ1203(Neighbor Advertisement Message)を返信する。
近隣通知メッセージ1203を受信したファイル共有クライアントA2は入手したMACアドレスからWebサーバ搭載機器4のIPアドレスを生成し、このIPアドレスに対応するドメイン名を付与して、IPアドレスとドメイン名の組を内容とする機器ファイルを作成し、保持する。機器ファイルを他のファイル共有クライアントから参照できるようにするためには、ファイル共有管理サーバ1に機器ファイルの属性情報を登録する必要があり、このためファイル共有クライアントA2はファイル共有サーバ1へファイル登録要求メッセージ1206を送信する。ここで、機器ファイルを登録するディレクトリはあらかじめ定めておくなどすればよい。
近隣要請メッセージとテーブル更新リクエストの間に、ファイル共有クライアントA2からWebサーバ搭載機器4へ、機器種別を問い合わせる機器種別要求メッセージ1204を送信しても良い。Webサーバ搭載機器4はこれに応じて自機器の種別を一意に識別するためのコード番号等の情報を含む機器種別応答メッセージ1205をファイル共有クライアントA2に返信する。ファイル共有クライアントA2はWebサーバ搭載機器4の機器種別を知ることで、その機器種別に応じた分かりやすい名称を自動的に付与することが可能となる。なお、この機器種別の問い合わせを行なわなくても名称を付与することはできるため、機器種別の問い合わせは必須の処理ではない。
ファイル登録要求メッセージ1206を受信したファイル共有管理サーバ1は、属性情報記憶部41にあるファイルテーブル411及びディレクトリテーブル412を更新し、ファイル登録応答メッセージ1207をファイル共有クライアントA2に送信する。ここまでの動作で、ピア・ツー・ピアファイル共有システム上の掲示板フォルダに、Webサーバ搭載機器4のIPアドレスとドメイン名の組が記載された機器ファイルの登録が完了する。つまり、機器ファイルの属性情報がファイルテーブル411及びディレクトリテーブル412に記載される。ユーザは、ファイル共有クライアントA2のファイル共有GUI部28を用いて掲示板形式で機器ファイルを参照する事が出来る。
次に、ユーザB62がリモート環境からファイル共有クライアントB3のファイル共有GUI部28を用いて掲示板を参照する場合を説明する。ファイル共有クライアントB3は、ファイル共有管理サーバ1へ掲示板フォルダの参照要求メッセージ1209を送信する。このとき、参照要求メッセージ1209のディレクトリID1105には、機器ファイルが存在するディレクトリをユーザB62が認識している状態として、そのディレクトリのIDを格納する等すればよい。このメッセージを受信したファイル共有管理サーバ1は、属性情報記憶部41のファイルテーブル411、ディレクトリテーブル412、ユーザテーブル413を参照し、掲示板フォルダの内容を伝える為の参照応答メッセージ1210をファイル共有クライアントB3に送信する。
ファイル共有クライアントB3は、受信したメッセージに含まれるIPアドレス1108を用いて、所望の機器ファイルを要求するべきクライアント、すなわちファイル共有クライアントA2へファイルダウンロード要求メッセージ1211を送信する。ファイル共有クライアントA2は、要求されたファイルを送信する為、ファイルダウンロード応答メッセージ1212をファイル共有クライアントB3に返信する。このファイルダウンロード応答メッセージ1212のファイル1110には、要求された機器ファイルが含まれている。
ファイル共有クライアントB3は、ファイル共有クライアントA2からダウンロードした機器ファイルを自らの記憶部31に格納すると同時に、機器ファイルに記載されたWebサーバ搭載機器4のIPアドレスとドメイン名の組をhostsファイルに書き込む。更に、ファイルの実体をファイル共有クライアントB3も保持していることをピア・ツー・ピアファイル共有システム全体に反映させる為に、ファイル共有サーバ1へテーブル更新要求メッセージ1213を送信する。それを受信したファイル共有管理サーバ1はファイルテーブル411を更新し、テーブル更新応答メッセージ1214をファイル共有クライアントB3に送信する。ここまでの動作で、ファイル共有クライアントB3のhostsファイルに、Webサーバ搭載機器4のIPアドレスとドメイン名の組が記載される。
最後に、ユーザB62がファイル共有クライアントB3のファイル共有GUI部28を用いて、掲示板に表示されているWebサーバ搭載機器4のドメイン名をクリックすると、Webブラウジング連携部32がWebブラウジング部33を起動し、hostsファイルに書き込まれた内容を用いてHTTPリクエスト1216をWebサーバ搭載機器4へ送信する。Webサーバ搭載機器4は、これに対してHTTPレスポンス1217を返信する。ここで例えばWebサーバ搭載機器4がネットワークカメラの場合には、Webサーバ搭載機器4が映し出した映像を、クライアントB3のWebブラウジング部33上で参照することが可能となる。
図13は、Webサーバ搭載機器4のIPアドレスを自動発見し、発見した機器へ名称としてドメイン名を自動付与し、IPアドレスとドメイン名の組をファイル化してピア・ツー・ピアファイル共有システム上の掲示板フォルダに自動登録するフローを詳細に説明するための図である。ユーザA61がファイル共有クライアントA2のファイル共有GUI部28にあるGUI操作部281で機器自動発見を選択すると(ステップ1301)、アドレス取得部23はファイル共有GUI部28からの命令をもとにNDP(Neighbor Discovery Protocol)の近隣要請メッセージ(Neighbor Solicitation Message)1202を作成する(ステップ1302)。なお、ユーザが明示的に機器自動発見を選択するのではなく、ファイル共有クライアントA2から定期的に近隣要請メッセージをネットワーク9に送信し、自動的に機器発見を行なうようにしてもよい。又は、ネットワーク9にWebサーバ搭載機器4が新規に接続されたことをファイル共有クライアントA2が検出した時に、近隣要請メッセージを送信するようにしてもよい。アドレス取得部23は作成した近隣要請メッセージ1202を通信制御部20へ受け渡し、通信制御部20はホームネットワーク9へ近隣要請メッセージ1202を送信する(ステップ1303)。
ここで、Webサーバ搭載機器4のMACアドレスは“00:80:f0:34:33:70”であるとする。この場合、近隣要請メッセージ1202を受信したWebサーバ搭載機器4は、自身のデータリンク層のアドレス、すなわちMACアドレス“00:80:f0:34:33:70”を近隣通知メッセージ1203に挿入し、ファイル共有クライアントA2へ返信する。ファイル共有クライアントA2のアドレス取得部23は、通信制御部20経由で受取った近隣通知メッセージ(Neighbor Advertisement Message)1203を解析し、挿入されているMACアドレス“00:80:f0:34:33:70”を抽出する(ステップ1304)。
ホームネットワーク9のネットワークプレフィックスが“2001:240:403:28::/64”であるとすると、ファイル共有クライアントA2のアドレス取得部23は、このネットワークプレフィックス“2001:240:403:28::/64”と、Webサーバ搭載機器4のMACアドレス“00:80:f0:34:33:70”を組み合わせ、Webサーバ搭載機器4のIPアドレスである、“2001:240:403:28:280:f0ff:fe34:3370”を導き出す(ステップ1305)。IPv6ネットワークの場合、通常はこのようにMACアドレスから生成するIEEEのEUI-64アドレスである“280:f0ff:fe34:3370”を下位64bitに、ネットワークプレフィックスを上位64bitにした計128bitのIPアドレスが機器に設定される。ここで、IEEEのEUI-64アドレスは、MACアドレスの3バイト目と4バイト目の間に“fffe”を挿入し、上位7bit目を反転することにより生成する。
なお、本実施例ではNDPの近隣要請メッセージを用い、得られたMACアドレスからIPアドレスを導出する場合を説明したが、Webサーバ搭載機器4のIPアドレスを直接問い合わせることができるメッセージを利用できるのなら、そのようなメッセージを利用してもよい。この場合、ファイル共有クライアントA2はWebサーバ搭載機器4から得られたアドレスを加工することなくそのまま利用することができる。また、IPv6ネットワークの場合は上記以外の手法で、Webサーバ搭載機器4から通知されたMACアドレスやそれ以外のアドレス情報を用いてWebサーバ搭載機器のIPv6アドレスを導出しても良い。
そして名称付与部24はWebサーバ搭載機器4のアドレスに対応する任意のドメイン名、例えば“v6camera.userA.△△△.jp”を付与する(ステップ1306)。任意のドメイン名は、予め定められた命名規則を設定しておき、その規則に従って付与してもよいし、機器及び自動発見動作を行う端末を持つユーザを認識出来るドメイン名を付与してもよい。
ここで、各機器の種別を判別するための機器識別用コードをあらかじめ定めておき、上述のようにファイル共有クライアントA2がWeb搭載機器4に対し、機器の種別を問い合わせる機器種別要求メッセージ1204を送信するようにしてもよい。例えば機器識別用コードとしてWebカメラには「1」という値、温度センサには「2」という値、照明機器には「3」という値を定めておき、それぞれの機器に設定された機器識別コードを各家電機器に予め記憶させている場合、ファイル共有クライアントA2からの機器種別の問い合わせに対して、Web搭載機器4はWebカメラの種別を表わす「1」という機器種別用コードを含んだ応答メッセージを返信する。機器識別コードの内容は例示した数値に限らず、機器種別を一意に特定できる情報(ビット列)であれば良い。この応答メッセージを受けてファイル共有クライアントA2は、Web搭載機器4の機器種別が「Webカメラ」であることを認識する。これによりファイル共有クライアントA2は、Web搭載機器4のドメイン名としてカメラであることを認識できるようなドメイン名、例えば前述の“v6camera.userA.△△△.jp”のようなドメイン名を自動的に付与することが可能となる。なお、機器種別の問い合わせメッセージは、アドレスを問い合わせるメッセージに含めて送信しても良いし、アドレスを問い合わせるメッセージとは別に送信するようにしてもよい。アドレスを問い合わせるメッセージに機器種別を問い合わせるメッセージを含めた場合は、当該アドレス問い合わせに対する返信メッセージに機器種別の情報が含まれていてもよい。
このようにファイル共有クライアントA2がWeb搭載機器4に機器種別を問い合わせる実施例では、ファイル共有クライアントA2は機器種別問い合わせメッセージを作成し、それに対する応答メッセージから機器種別を特定するための機器種別取得部26を備える。またWeb搭載機器4は機器種別を記憶するための記憶部を有し、機器種別問い合わせメッセージ対して当該機器の機器種別コードを含んだメッセージを返信する。
ファイル生成部25はIPアドレス“2001:240:403:28:280:f0ff:fe34:3370”とドメイン名“v6camera.userA.△△△.jp”の組をファイルに記載して機器ファイルとしてファイル化し、ファイル記憶部21に格納する(ステップ1307)。図16は、作成された機器ファイルの内容を表わす。機器ファイル1601には、Webサーバ搭載機器4に付与したドメイン名“v6camera.userA.△△△.jp”に、IPアドレス“2001:240:403:28:280:f0ff:fe34:3370”が対応付けて記載される。また、ユーザA61のネットワーク内で自動発見された機器であることを示す為に、機器ファイル1601内に“ユーザA自動発見機器”の文字列を記載してもよい。
他のファイル共有クライアントB3がこの機器ファイルをピア・ツー・ピアファイル共有システム上で掲示板として参照可能とする為に、ファイル共有クライアントA2のファイル共有システム通信処理部22は、ファイル属性情報登録部27で作成されたファイル登録要求メッセージ1206を通信制御部20を経由してファイル共有管理サーバ1へ送信する(ステップ1308、1309)。このユーザのユーザIDが1000であり、機器ファイルを登録するディレクトリのディレクトリIDが20010とする。この場合、ファイル登録要求メッセージ1206のディレクトリID1105には値20010が、ユーザID1107には値1000がそれぞれ格納される。
ファイル共有管理サーバ1は、この要求に従いファイルテーブル411及びディレクトリテーブル412を更新する。更新前のこれらテーブルの内容が図6、図7と同じとすると、更新後のテーブルの内容は図17、図18に示すものとなる。図17は、更新後のファイルテーブル411の内容を示す。ファイルテーブル411には、ユーザID1000によって新たに登録されたファイル10011が行に追加される。この時に、ファイル共有管理サーバ1により、ファイル10011に対してファイルID10011が付与される。図18は更新後のディレクトリテーブル412の内容を示す。ディレクトリ20010のファイルリスト4126には、新たにファイルID10011が追加される。
ファイル共有管理サーバ1は、これらのテーブルの更新を実行後、ファイル登録応答メッセージ1207を生成・送信する。このメッセージはデータ部1111にファイルID1106を有し、値10011が格納されている。ファイル共有クライアントA2はこのメッセージを受信し(ステップ1310)、受信したメッセージに含まれるファイルID10011とファイル記憶部21に格納された機器ファイルとを対応付ける。
そして、ファイル共有クライアントA2のGUI表示部282は、新たに登録されたファイル、すなわちWebサーバ搭載機器4のIPアドレス“2001:240:403:28:280:f0ff:fe34:3370”とドメイン名“v6camera.userA.△△△.jp”の組が記載された機器ファイルを掲示板形式で表示する。
ここまでの動作で、ピア・ツー・ピアファイル共有システムの掲示板フォルダに、Webサーバ搭載機器4のIPアドレスとドメイン名の組が記載されたファイルの登録が完了する。ファイルの実体を保持しているユーザは、ファイル共有GUI部28を用いて掲示板形式でファイルを参照する事が出来る(ステップ1311)。
図19の上段は機器ファイルが登録される前の、下段は登録された後の、ファイル共有クライアントA2のGUI表示部282が表示する画面図である。GUI操作部281でディレクトリ20010の表示を選択した時、ファイル登録前は、既存のファイルの内容が表示されているだけで、機器ファイルの内容は掲示板形式で表示されていない。しかし、ファイル登録後は機器ファイルの内容が掲示板形式で表示される。ここで、掲示板には登録された日付や登録したユーザも付加的に表示されてもよい。
図14は、掲示板フォルダに登録された機器ファイルを、クライアント間のファイルダウンロードにより獲得し、そのファイルの内容をダウンロード側クライアントのローカル環境にあるhostsファイルに自動で書き込むフローを詳細に説明するための図である。ユーザB62がファイル共有クライアントB3のGUI操作部281を利用して、機器ファイルの登録されている掲示板フォルダを参照する為にディレクトリ20010を選択すると、ファイル共有システム通信処理部22は、通信制御部22を経由してファイル共有管理サーバ1へ参照要求メッセージ1209を送信する(ステップ1402)。この場合、ユーザB62のユーザIDを1001とすると、参照要求メッセージ1209のディレクトリID1105には参照したいディレクトリのID値20010、ユーザID1107には参照を実行するユーザのID値1001が格納される。
ファイル共有管理サーバ1は、このメッセージの内容に従ってファイルテーブル411、ディレクトリテーブル412、ユーザテーブル413を検索する。つまり、ファイル共有システム通信処理部22は、ディレクトリテーブル412のディレクトリID値が20010のエントリを参照し、そのエントリのファイルリストから当該ディレクトリに格納されているファイルのファイルID値である10010、10011を取得する。そしてファイル共有システム通信処理部22は、ファイルテーブル411のファイルID値が10010、10011のエントリを参照し、そのファイルの所有者のユーザID値1000、1001、1002を取得する。さらに、ファイル共有システム通信処理部22はユーザテーブル413のユーザID値が1000、1001、1002のエントリを参照し、それぞれのユーザが使用する端末のIPアドレスを取得する。この時、ユーザID1000は、「2001:240:403:28:xxxx」である。
次にファイル共有管理サーバ1は、ファイル参照応答メッセージ1210を作成・送信する。この場合、当該メッセージのファイルID1106には10010、10011の値が、ユーザID1107には1000の値が、IPアドレス1108にはユーザID1000のIPアドレス「2001:240:403:28:xxxx」とユーザ1001、1002のIPアドレスが、ユーザリスト1109にはファイル10010、10011の他の所有者ユーザIDである1001、1002の値がそれぞれ格納される。
ファイル共有クライアントB3はファイル参照応答メッセージ1210を受信し(ステップ1403)、そのメッセージに含まれるIPアドレス1108を用いて、機器ファイルを要求するべきクライアント、すなわちファイル共有クライアントA2へファイルダウンロード要求メッセージ1211を送信する(ステップ1404)。この場合、ファイルダウンロード要求メッセージ1211のファイルID1106にはダウンロードしたい機器ファイルのファイルID値10011が、ユーザID1107にはダウンロードを要求するユーザのID値1001が含まれている。
ファイル共有クライアントA2は受信したファイルダウンロード要求メッセージ1211をもとに、ファイル記憶部21からファイルID値10011を有する機器ファイルを抽出する(ステップ1405)。そしてファイル共有システム通信処理部22はファイル共有クライアントB3へファイルダウンロード応答メッセージ1212を送信する(ステップ1406)。この場合、ファイルダウンロード応答メッセージ1212のファイルID1106には機器ファイルのID値10011が、ユーザID1107にはファイル送信元のユーザのID値1000が、ファイル1110には機器ファイルがそれぞれ含まれる。
ファイル共有クライアントB3のファイル共有システム通信処理部22は、通信制御部20経由でファイル共有クライアントA2から受信した機器ファイルを記憶部31に格納する(ステップ1407)。これとともにアドレス/名称登録部30は受信した機器ファイルからWebサーバ搭載機器4のドメイン名“v6camera.userA.△△△.jp”と、それに対応するIPアドレス“2001:240:403:28:280:f0ff:fe34:3370”の対応関係を抽出し(ステップ1408)、hostsファイルに抽出した情報を書き込む(ステップ1409)。
図20はhostsファイルを説明する為の図である。hostsファイルには、1行ごとにIPアドレスとドメイン名の組が記載され、左から、IPアドレス、ドメイン名の順に配置される。IPアドレスとドメイン名の間は、1つ以上のスペースを空ける。本実施例の場合、Webサーバ搭載機器4のIPアドレス“2001:240:403:28:280:f0ff:fe34:3370”と、ドメイン名“v6camera.userA.△△△.jp”が記載される。
自身が機器ファイルの実体を保持していることをピア・ツー・ピアファイル共有システムへ反映する為、ファイル共有クライアントB3のファイル共有システム通信処理部22は、通信制御部20を経由してテーブル更新要求メッセージ1213をファイル共有管理サーバ1へ送信する(ステップ1410)。この場合、テーブル更新要求メッセージ1213のファイルID1106には内容を更新したいファイルのID値10011が、ユーザID1107には更新を要求するユーザのID値1001が含まれている。
ファイル共有管理サーバ1はこのメッセージを受信し、ファイルテーブル411のファイルIDが10011のエントリのユーザリストにユーザID1001の値を追加する。そしてファイル共有管理サーバ1のファイル共有システム通信処理部22は、テーブル更新応答メッセージ1214を返信する。
ファイル共有クライアントB3のファイル共有システム通信処理部22は、通信制御部20を経由してテーブル更新応答メッセージ1214を受信する(ステップ1411)。そしてファイル共有クライアントB3のGUI表示部282は、取得した機器ファイルの情報、すなわちWebサーバ搭載機器4のIPアドレス“2001:240:403:28:280:f0ff:fe34:3370”とドメイン名“v6camera.userA.△△△.jp”の組が記載された掲示板を表示する(ステップ1412)。GUI操作部281でディレクトリ20010の表示を選択した時、ファイル取得前は、機器ファイルは表示されてはいないが、取得後は、機器ファイルの内容が掲示板形式で表示される。
図15は機器ファイルを取得したファイル共有クライアントB3上のファイル共有GUI部28で、掲示板に記載されたWebサーバ搭載機器4のドメイン名を指定した時に、ファイル共有クライアントB3のWebブラウジング連携部32がWebブラウジング部33を自動起動し、hostsファイルに書き込まれたドメイン名とIPアドレスの対応を用いてWebサーバ搭載機器4へアクセスするフローを詳細に説明するための図である。
ユーザB62がファイル共有GUI部28にあるGUI操作部281で掲示板に記載されたWebサーバ搭載機器4のドメイン名“v6camera.userA.△△△.jp”をクリックすると(ステップ1501)、ファイル共有クライアントB3のWebブラウジング連携部32はWebブラウジング部33を起動する(ステップ1502)。そしてWebブラウジング部33はhostsファイルを参照し、Webサーバ搭載機器4のドメイン名“v6camera.userA.△△△.jp”に対応するIPアドレス、すなわち“2001:240:403:28:280:f0ff:fe34:3370”を取得する(ステップ1503)。
Webブラウジング部33は、取得したIPアドレスを用いて、Webサーバ搭載機器4へHTTPリクエスト1216を送信し(ステップ1504)、これに対してWebサーバ搭載機器4がHTTPレスポンス1217を返信する。Webサーバ搭載機器4がネットワークカメラの場合、ユーザB62は受信したHTTPレスポンス1217に含まれるWebサーバ搭載機器4が映し出した映像をクライアントB3のWebブラウジング部33上で参照することが可能となる。
なお、以上の実施例ではファイル共有管理サーバ1とファイル共有クライアントA2とが異なる装置の場合を説明したが、これらの装置を1つの装置として構成しても良い。
本発明によると、以上のようにピア・ツー・ピアファイル共有システム上で、家庭外等のリモート環境から家庭内等のホームネットワークにあるWebサーバ搭載機器への自動アクセスを実現することが可能となり、より容易にリモートアクセスサービスを利用することが出来る。