ネットワークシステム及びサーバ装置
【課題】 ユーザが所有するネットワーク機器や電子データの名前解決サービスを予め定められたユーザグループにのみ提供すること。また、分散ハッシュ表を利用したアイテム名解決において、1文字でもアイテム名を間違えると、正確なIPアドレスを得ることが非常に困難であること。
【解決手段】 ユーザ認証結果を利用して、ユーザからアクセスがあるたびに、アクセスできる範囲を確認する。また、アイテム名のあらゆる部分文字列をキーとして登録し、アイテム名とIPアドレスのペアを値とする。さらに、同一キーがすでに存在する場合には、値を追記する。
【解決手段】 ユーザ認証結果を利用して、ユーザからアクセスがあるたびに、アクセスできる範囲を確認する。また、アイテム名のあらゆる部分文字列をキーとして登録し、アイテム名とIPアドレスのペアを値とする。さらに、同一キーがすでに存在する場合には、値を追記する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、アイテムの名前が入力されるとその所在を検索し応答するサービスと、前記サービスを実現するための、多数のアイテムを管理するために分散ハッシュ表を用いたネットワークシステム、およびその実現装置に関する。
【背景技術】
【0002】
近年、家庭電化製品にネットワーク機能を付加し、家庭内ネットワークを構築することが可能となってきている。例えば、エコーネットコンソーシアム(http://www.echonet.gr.jp/)では、情報家電のネットワーク規格について検討がすすめられている。また、デジタルリビングネットワークアライアンス(http://www.dlna.org/jp/consumer/home)では情報家電とパソコンの相互接続について検討している。
【0003】
このように、TV受像機、照明機器、冷蔵庫、DVD機器、パソコン等家庭内のさまざまな機器がネットワークに接続されるようになると、ネットワークを介した、それらネットワーク機器の管理が必要となる。さらに、それらネットワーク機器に内蔵されるハードディスクドライブ等の記憶装置に記録された、映像や音声などさまざまな電子データの管理も必要となる。例えばハードディスクレコーダを利用すると、テレビ番組等映像を多数電子データとして記録でき、携帯音楽プレーヤには数千曲が電子データとして格納可能である。
【0004】
ところで近年、特許文献1で開示されている分散ハッシュ表を活用したネットワークが注目されている。これは規模拡張性に優れており、ユーザが所有する電子データがどんなに増えても、非常に高い割合で、ある一定時間内に検索結果を応答することができるシステムである。
【0005】
【特許文献1】特開2005−234762号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
これら電子データ、例えば、デジタルカメラで撮影した画像データは簡単に数百、数千枚と増えて行く。そして、後で閲覧しようとする際に、PCに取り込んであるのか、あるいはデジタルカメラ本体の記録媒体に保存したままであったのか、わからなくなる場合が多い。今後、記録媒体をもつ電子機器がますます増えていった場合に備え、今すぐ欲しい電子データがどの電子機器に保存されているのか、一瞬で検索できるようになることが望ましい。さらには、例えば家族間など、グループで共有して検索できるようになることが望ましい。
【0007】
このような検索機能はたいていソフトウェアにより実現されるが、このソフトウェアを実装した装置の形態により、おおまかにいって、少なくとも家庭内にホームサーバを設置し管理することと、通信事業者が遠隔管理することの二通りが考えられる。
【0008】
本発明は、後者の通信事業者が一般家庭向けにネットワーク機器や電子データの管理サービスを提供する場合に関するものである。
【0009】
一般的にユーザにとって、所持しているネットワーク機器・電子データの種類、数、内容等は他人に秘密にしておきたい個人情報である。グーグル(http://www.google.co.jp)等の一般的な検索システムを上記サービスに適用すると、秘密にしておきたい個人情報を他人が検索できてしまう。また、同一のキーワードでも、ユーザによって検索したいものが物理的に異なる場合がある。例えば、「私のPC」というキーワードでそのIPアドレスを検索する場合、ユーザによって所有するPCは物理的に異なるため、そのIPアドレスも物理的に異なる。
【0010】
また、分散ハッシュ表を利用すると、数千台から数万台規模のサーバネットワークを構築し、一般ユーザに対して、家庭内に存在するネットワーク機器や、デジタルカメラで写した写真等の電子データを管理するサービスを実現できる可能性がある。しかし、ハッシュ表を利用するため、検索キーと完全に一致する対象が存在した場合にのみ、その対象を検索結果として応答できる、という制約がある。
【0011】
詳細には、ネットワーク機器や電子データを管理する場合、通常管理対象の名前と、それがどこに存在するか、という所在情報が必要となる。ここで所在情報は通常IPアドレスである。この名前からIPアドレスに変換することを、一般的に名前解決と呼ぶ。ネットワーク機器が対象の場合は、ネットワーク機器の名前から機器が持つIPアドレスへ変換する。電子データの場合は、電子データの名前から当該電子データを保持する機器のIPアドレスへ変換する。以下、ネットワーク機器と電子データを総称して「アイテム」と呼ぶことにする。そして、アイテムの名前(アイテム名)からIPアドレス等の所在情報に変換することを「アイテム名解決」と呼ぶ。また、アイテム名解決にひつような、前記ネットワーク機器の名前と機器が持つIPアドレス、および、電子データの名前と当該電子データを保持する機器のIPアドレスの対応をアイテム管理情報と呼ぶ。
【0012】
本発明は、あるユーザが所持するアイテムに関し、予め利用が許可されているユーザグループのみ、前記アイテムのアイテム名解決が可能なシステムを提供する、という課題1を解決する。
【0013】
また、アイテム名解決に分散ハッシュ表を利用する場合、一般的に、アイテム名を予め定められたハッシュ関数に入力し、計算して得られるハッシュ値をキー、IPアドレスを値として表に登録、管理する。ハッシュ関数の特徴は、1文字でも異なる文字列からは、大きく異なる値が得られることである。すなわち、1文字でも名前を間違えると、正確なIPアドレスを得ることが非常に困難となる。よって記憶があやふやである場合、IPアドレスへの変換が非常に困難であり、結果、探したいものを見つけることが非常に困難となる。また、同様の理由により、アイテム名にあるキーワードを含むものを一括してすべてアイテム名解決したい、という要求に応えることも非常に困難である。
【0014】
本発明は、分散ハッシュ表を利用した検索の際に、アイテム名の部分文字列でアイテム名解決を実行可能とする、という課題2を解決する。
【課題を解決するための手段】
【0015】
本発明においては、上記課題1を解決するため、ユーザがアイテム管理情報を登録・削除する手段を持つ。また、アイテム管理情報を管理するためのグループを用意、グループごとに利用できるユーザを予め設定しておき、設定外のユーザがグループ内のアイテム管理情報を登録・削除・検索できないように制御する。また、ユーザ認証時にユーザと利用できるグループ名を対応付けておき、ユーザがアイテム名の登録・削除・検索を実行するたびにグループ名の確認を実施する。またその際、ユーザがいちいちグループ名を指定しなくてもよいことを保証する。
【0016】
また、上記課題2を解決するため、分散ハッシュ表を利用する際のキーと値、分散ハッシュ表への登録の仕方に工夫をする。キーに関しては、ネットワーク機器や電子データの名前を1つの文字列とみて、あらゆる部分文字列を生成し、キーとする。これにより、確実に覚えている部分のみをキーとすることで、探したいものを見つけることが可能となる。値に関しては、上記名前とIPアドレスのペアを値とする。ここでIPアドレスは、ネットワーク機器の場合はそれ自身が持つIPアドレス、電子データの場合はそれ自身を保持するネットワーク機器(たとえばパソコンやハードディスクレコーダ)のIPアドレスとする。
【0017】
上記キーと値を分散ハッシュ表へ登録する際に、同一キーがすでに登録されていた場合、すでに登録されている値に、登録しようとしている値を追記する。通常のハッシュ表では、同一キーがすでに登録されていた場合は近くの空いているキーに振り替えるが、本発明では追記する。これにより、あるキーワードをキーとして、それを含むすべての名前と対応するIPアドレスを見つけることができる。
【発明の効果】
【0018】
ユーザが所有するネットワーク機器や電子データの名前解決サービスを予め定められたユーザグループにのみ提供できる。
【0019】
また、上記サービスを分散ハッシュ表により実現した際、キーワード検索機能を実現し、記憶があいまいであっても名前解決を成功させ、また、特定のキーワードを含むすべてのネットワーク機器や電子データの名前解決を一括して行うことができる。これら2つの効果により、一般ユーザに対してよりよいネットワーク機器や電子データの名前解決サービスを提供することができる。
【発明を実施するための最良の形態】
【0020】
以下図面に従い、本発明による実施形態の1つを説明する。
【0021】
まず説明に使用する記法について説明する。特に装置間処理シーケンスや装置内処理フローチャートの説明でメッセージの引数を記述する際は、例えば(user id, password)のようにカッコ内にカンマで区切って必要とされる引数を記述する。
【0022】
図1は本発明による、個人所有のアイテムに関するアイテム名解決サービスの概念図である。ユーザ宅150には、アイテム名解決サービスの対象である、テレビ110、エアコン112、照明113、PC111等のネットワーク接続された電子機器と、それら電子機器内の記録媒体に保存されている、写真121、映画122、音楽123等の電子データが存在する。サービスプロバイダ140には、上記アイテムの管理情報(アイテム名と、そのアイテムのもつIPアドレス)を保持するサーバ100が存在する。各ユーザは、サービスプロバイダとの契約等で定められたサーバにログオンし、アイテム名解決サービスを利用する。アイテム管理情報はグループ単位で処理される。グループとユーザの関係は図9で詳しく述べる。
【0023】
ユーザは複数の場所から同一のグループに同時にログオンし、アイテム名解決サービスを使用することが可能である。また、サービスプロバイダがグループ名をシステム全体で一意になるように保証し、ログオン時に各ユーザが利用できるグループ名を決定することで、事前に登録されていないユーザが、該グループに参加することができなくなる。すなわち、あるグループに参加してアイテムを登録・削除・検索できるユーザを制御可能である。したがって、例えば両親や子供だけが利用できるグループを作成し、家族に限定したアイテム名解決サービスが提供できる。
【0024】
図2は本発明による、個人所有のアイテムに関するアイテム名解決サービスの提供システム構成図である。ユーザ250側に検索端末201、202、203、...があり、サービスプロバイダ240側にログオンサーバ200、検索サーバ211、212、213、...が存在する。検索端末は1ユーザが複数所持してもかまわない。また、複数ユーザが1検索端末を共有してもかまわない。検索サーバはユーザ規模により、数台の場合から、数万台の場合もある。検索端末、検索サーバ、ログオンサーバの詳細はそれぞれ、図3、4、5で述べる。
【0025】
図3は検索端末の構成図である。主記憶にある検索要求機能601は、ユーザが入力したキーワードを用いて、検索サーバに問い合わせを行なう。出入力機能602は、ユーザからの入力を受け取り、処理結果を表示する機能である。アイテム登録・削除機能603は、ユーザが入力したアイテム管理情報を、検索サーバに登録・削除する機能である。また、ユーザ認証機能604は、ログオン処理を実行する。これら4つの機能はすべて主記憶に配置されるプログラムで演算機能600で実行される。
【0026】
ログオンサーバアドレス611は、ログオンサーバ200のIPアドレスであるが、ユーザがサービスプロバイダと契約する際などに、すでに与えられているものとする。検索サーバアドレス613は、ログオン時にサービスプロバイダがユーザに与えるもので、アイテム登録・削除、アイテム名解決を実行する際に、メッセージの送り先となるIPアドレスである。
【0027】
IP通信機能621は、ログオンサーバ、検索サーバとのメッセージを送受信する機能である。
【0028】
図4は検索サーバの構成図である。要求受付機能701は、検索端末から送られるアイテム検索、アイテム登録・削除メッセージを処理する。要求応答機能702は、アイテム検索、アイテム登録・削除の処理結果を基に応答メッセージを作成する。アイテム管理情報検索機能703は必要であれば複数の検索サーバにまたがり、アイテム管理情報格納領域711内でアイテム検索を実行する。アイテム管理情報登録・削除機能704は、アイテム登録・削除メッセージの内容にしたがって、必要であれば複数の検索サーバにまたがり、アイテム管理情報格納領域711にアイテム管理情報を登録・削除する。
【0029】
アイテム管理情報格納領域711は分散ハッシュ表であり、アイテム管理情報を保持する。経路表713は、アイテム名と、そのアイテム管理情報を保持する検索サーバのIPアドレスとの対応を示す表である。
【0030】
ログオンサーバアドレス712は、ログオンサーバのIPアドレスであり、あらかじめ設定されているものとする。IP通信機能721は検索端末、ログオンサーバとメッセージを送受信する。
【0031】
図5はログオンサーバの構成図である。要求受付機能801は、検索端末から送られるログオン要求、検索サーバから送られる端末情報要求メッセージを処理する。要求応答機能802は、ログオン処理結果、端末情報検索結果を基に応答メッセージを作成する。ユーザ情報検索機能803は、ログオン処理時に実行され、ユーザ名でユーザ情報格納領域811を検索する。端末情報登録・削除機能804はログオン処理時に実行され、当該ユーザに関する端末情報(図9)を端末情報格納領域812に保存する。端末情報検索機能805はユーザ名で端末情報格納領域812を検索する。これら5つの機能は主記憶内に格納されるプログラムであり、演算機能800により実行される。
【0032】
ユーザ情報格納領域811はユーザ情報(図8)を保持する。これはユーザがサービスプロバイダと契約する際などに作成される。端末情報格納領域812は端末情報(図9)を保持する。これは、ログオン処理時に作成される。検索サーバアドレス情報813は、すべての検索サーバのIPアドレスをリストしたものである。ログオン処理時に、ここから1つ選択され、ユーザに通知される。ユーザはここで選択された検索サーバと接続し、アイテム名解決を実行する。
【0033】
図6は検索サーバがもつ、アイテム管理情報格納領域711の一例である。ユーザが所有する電子データは増加しつづけると予想されるため、このアイテム管理情報表には、規模の拡張性が第一に要求される。そこで、規模の拡張性に優れた分散ハッシュ表を使って表を構成することが望ましい。使用するハッシュ関数はシステム全体で1つ選択されているものとする。キーはグループ名とアイテム名、またはアイテム名の部分文字列から構成される。ここではグループ名を「B家」、「の」をデリミタとしてキーを構成している。値は属性とIPアドレスから構成される。ここでのデリミタは「:」としている。属性には「端末」と「電子データ」の2つがあり、属性によってIPアドレスの意味が異なる。「端末」の場合はアイテム名であらわされる物品がもつIPアドレスであることを示す。また、ユーザがログオンした際に作成される。「電子データ」の場合は、アイテム名であらわされる物品が格納されている「端末」のIPアドレスであることを示す。また、ユーザがアイテム登録・削除した際に作成・削除される。
また、値が「属性:IPアドレス(文字列)」である場合は、キーを構成するアイテム名を文字列が含んでいることを示す。図6の構成手法、使用方法については、図10、11、12で述べる。
【0034】
図7は、検索サーバがもつ、経路表713の一例である。キーは、アイテム名をハッシュ関数に入力して得られた、ハッシュ値の範囲である。値は、その範囲のアイテム名に関するアイテム管理情報を保持する検索サーバのIPアドレスである。例えば、あるユーザがあるアイテム名で検索を実行し、そのアイテム名のハッシュ値が2345であったとする。図7から2345をキー範囲に含むエントリの値は「192.168.0.3」である。したがって、検索サーバはIPアドレスが「192.168.0.3」である別の検索サーバにアイテム検索要求を送信する。ここで、「127.0.0.1」は自分を示し、この場合には自分の中で検索処理を実行する。
【0035】
図8はログオンサーバが保持するユーザ情報である。キーはユーザ名であり、値は検索できるグループ名と、アイテムを登録・削除できるグループ名の2つから成る。このユーザとグループ名の対応は、ユーザとサービスプロバイダの契約時に作成される。あとから変更も可能であるが、その方法はここでは議論しない。ログオン時にこの表を参照し、各ユーザがアクセスできるグループが決定され、端末情報(図9)が作成される。
【0036】
図9はログオンサーバが保持する端末情報である。キーはユーザ名、または検索端末名であり、値は検索端末のIPアドレス、ユーザ名で示されるユーザが検索できるグループ名、アイテムを登録・削除でいるグループ名である。ユーザのログオン処理時に、ユーザ情報(図8)とログオン要求メッセージ内のユーザ名、検索端末名、そのIPアドレスとから生成される。
【0037】
図10は、アイテム名からその部分文字列を生成した結果を示した図である。アイテム登録・削除時に、アイテム名からこのように部分文字列を生成する。
【0038】
図11は、図10で生成された部分文字列をキーとして、「IPアドレス(アイテム名)」を登録した結果のハッシュ表、すなわちアイテム管理情報表(図6の別の例)を示している。図10では、アイテム名として「居間のテレビ」を例としている。部分文字列は20個生成され、アイテム名自身を含めて21個のキーがある。「居間のテレビ」の属性は「端末」であるから、21個のキーすべてについて、値を「端末:Address25(居間のテレビ)」と登録する。他方、「寝室のテレビ」についても同様に21個のキーがあり、そのすべての値を「端末:Address27(寝室のテレビ)」として登録する。
【0039】
ここで、「居間のテレビ」と「寝室のテレビ」で部分文字列が共通のものがある。例えば「テレビ」である。この「テレビ」をキーとする値は、「端末:Address25(居間のテレビ)」と「端末:Address27(寝室のテレビ)」である。このようにキーが衝突した場合、値を連結して格納する。例えば、「端末:Address25(居間のテレビ)、端末:Address27(寝室のテレビ)」のようにカンマで区切って連結する。
【0040】
さらに、「浴室のテレビ」というアイテム名を登録するとその部分文字列に「テレビ」があるため、上記の値にさらに連結され、例えば、「端末:Address25(居間のテレビ)、端末:Address27(寝室のテレビ)、端末:Address23(浴室のテレビ)」のようになる。
【0041】
図12は図11の表を用いて検索する場合の一例である。例えばユーザが、過去録画した野球中継を探しており、家にある居間と寝室と浴室にあるテレビのいずれで録画したか忘れてしまったため、それらのIPアドレスを一回で知りたい場合、単に「テレビ」と入力すると上記3つのテレビのIPアドレスが得られる。このようにハッシュ表でありながら、部分文字列一致検索ができ、さらに検索キーを部分文字列として含むすべてのアイテム名を一回で検索可能となる。
【0042】
以下、図13〜17はメッセージシーケンス図、図18〜28はプログラム実行フロー図の説明である。
【0043】
図13は本発明によるアイテム名解決システムへのログオンシーケンスである。ユーザがユーザIDとパスワードを入力すると、検索端末213はログオン要求(user1, password1, 端末3, address3)1801をログオンサーバへ送信する。ログオンサーバ200はユーザ名とパスワードで認証が成功した場合、検索サーバアドレスを1つ選択して、ログオン応答(“OK”, address102)1802を返却する。認証が失敗した場合はログオン応答(“NG”)1802を返却する。
【0044】
図14はアイテム登録シーケンスである。ユーザがアイテム名(item1)を入力すると、検索端末213はアイテム登録要求(user1, address3, item1)1901をログオン応答で返却された検索サーバ202に送信する。検索サーバ202では以下の処理を行なう。
【0045】
ユーザがアイテムを登録可能なグループがあるかどうか、ログオンサーバ200に対し、端末情報要求(user1)1902を送信する。ログオンサーバ200は、端末情報格納領域812を参照し、user1がアイテムを登録可能なグループ名を端末情報応答(user1, group1)1903で返却する。
【0046】
検索サーバ202は得られたグループに対してアイテム登録を実行する。図10に示したように、ひとつのアイテム名からは複数の部分文字列が生成され、それぞれ別個のキーとして登録される。そのため、アイテム登録要求1904はキーの数だけ作成され、送信される。これらアイテム登録要求1904の宛先は、経路表713を参照して決定されるため、通常複数の検索サーバに分散される。
【0047】
すべてのアイテム登録要求に対応するアイテム登録応答1906がOkだった場合に、検索サーバ202はアイテム登録応答(“OK”)1908を検索端末213へ返却する。それ以外の場合は、アイテム登録応答(“NG”)1908を返却する。
【0048】
図15は、アイテム削除シーケンスである。図14との主な違いは、検索サーバ202において、アイテム登録要求1904のかわりにアイテム削除要求2004を送信する点である。
【0049】
図16は、アイテム検索シーケンスである。ユーザが検索したいアイテム名(item2)を入力すると、検索端末213はアイテム検索要求(user1, item2)2101を送信する。検索サーバ202では、ユーザがアイテム検索可能なグループがあるかどうか、ログオンサーバ200へ端末情報要求(user1)2102を送信する。ログオンサーバ200は、端末情報格納領域812を参照し、user1がアイテム検索可能なグループ名を端末情報応答(user1, group1, group4)2103で返却する。
【0050】
検索サーバ202は得られたグループに対してアイテム検索を実行する。アイテム登録要求2104はグループの数だけ作成され、送信される。これらアイテム登録要求2104の宛先は、経路表713を参照して決定されるため、通常複数の検索サーバに分散される。
【0051】
すべてのアイテム検索要求に対応するアイテム検索応答2106がOkだった場合に、検索サーバ202はアイテム検索応答(“OK”)2108を検索端末213へ返却する。それ以外の場合は、アイテム検索応答(“NG”)2108を返却する。
【0052】
図17は検索端末におけるログオンフロー図である。まず、ステップ2201では、ユーザからユーザ名とパスワードとともにログオン要求を受信する。ステップ2202において、ステップ2201で得たユーザ名、パスワード、および、該端末の端末名とIPアドレスを含むログオン要求メッセージ1801を作成する。この宛先はログオンサーバアドレス611である。このログオン要求メッセージはステップ2203でIP通信機能により送信される。
【0053】
ステップ2204でIP通信機能により、ログオン応答メッセージ1802を受信すると、ステップ2205で処理結果を確認する。OKの場合、ステップ2206でメッセージに含まれていた検索サーバのアドレスを取り出し、検索サーバアドレス613へ格納する。以後、検索サーバとのメッセージはすべてこのアドレスあてに送信する。最後にステップ2207で、ユーザにログオンが成功したことを通知する。
ステップ2205で処理結果がNGだった場合は、ステップ2208において、ユーザへログオン失敗を通知し、ユーザからの再度の入力を待ち受ける。
【0054】
図18はログオンサーバにおけるログオンフロー図である。ステップ2301において、ログオン要求1801を受信し、ユーザ名、パスワード、端末名、端末のIPアドレスをとりだす。ステップ2302において、前記ユーザ名をもって、ユーザ情報格納領域811(図8)を検索する。ステップ2303では検索結果得られたユーザ名とパスワードがステップ2301で得られたものと一致するか確認する。
【0055】
一致する場合、ステップ2304において、端末名とユーザ名をキーとして、IPアドレス、グループ名を端末情報格納領域812(図9)へ格納する。この時格納するグループ名はステップ2302で得られたものである。
【0056】
ステップ2305では、検索サーバアドレス情報813から適当に1つのアドレスを選択する。これはユーザに対して窓口となる検索サーバである。宛先を2301で得られた端末のIPアドレスとし、ログオン結果をOKとし、前記検索サーバのアドレスを格納した、ログオン応答メッセージ1802を作成する。
【0057】
一方、ステップ2303で一致しなかった場合、宛先を2301で得られた端末のIPアドレスとし、処理結果をNGとしたログオン応答メッセージを作成する。
【0058】
最後にステップ2306で、IP通信機能がログオン応答メッセージを送信する。
【0059】
図19は検索端末におけるアイテム登録フロー図である。ステップ2401でユーザからアイテム登録要求を受信し、アイテム名とIPアドレスを取り出す。このアイテム名にはアイテムの属性情報が含まれているものとする。ステップ2402では、前記アイテム名、IPアドレス、それからユーザ名を含んだアイテム登録要求メッセージ1901を作成する。宛先は検索サーバアドレス613に格納されているIPアドレスを用いる。ステップ2403ではIP通信機能が本メッセージを送信する。ステップ2404でIP通信機能がアイテム登録応答メッセージ1908を受信すると、ステップ2405で処理結果を取り出す。OKの場合はステップ2406でユーザにアイテム登録成功を通知し、NGの場合はステップ2407でユーザにアイテム登録失敗を通知する。
【0060】
図20は検索サーバ202におけるアイテム登録フロー図である。ステップ2501でアイテム登録要求1901を受信、ユーザ名、アイテム名、IPアドレスを取り出す。ステップ2502で、前記ユーザ名を含んだ端末情報要求メッセージ1902を作成する。宛先はログオンサーバIPアドレス712に格納されているアドレスである。ステップ2503でIP通信機能が前記メッセージを送信し、ステップ2504で端末情報応答メッセージ1903を受信するのを待つ。ステップ2505で応答メッセージ1903からグループ名を取り出す。ステップ2506ではグループ名が存在するか、空かを確認する。
【0061】
グループ名が存在する場合、すべてのグループ名に関して以下のステップ2512までを繰り返す。ステップ2507で、まずアイテム名の部分文字列を図10のように生成する。その際、アイテム名から属性を取り除いておく。そして、ステップ2508では生成された部分文字列それぞれについて、ステップ2512までを繰り返す。
【0062】
ステップ2509において、前記部分文字列をキーとして、経路表713から検索サーバIPアドレスを検索する。ステップ2510では、前記検索サーバIPアドレスを宛先として、アイテム登録要求メッセージ1904を作成する。このメッセージには、前記グループ名、前記部分文字列、ステップ2507で取り除いたアイテム名の属性、ステップ2501で取り出したIPアドレス、アイテム名を含む。次にステップ2511でIP通信機能が本メッセージを送信、ステップ2512でアイテム登録応答1906をまつ。すべてのアイテム登録応答メッセージを受信したら、ステップ2513において、内容を確認する。すべてOKの場合は、宛先をユーザ検索端末213としたアイテム登録応答(OK)1908メッセージを作成、IP通信機能から送信する。
【0063】
図21はアイテム名から部分文字列を生成するアルゴリズムを示した図である。アイテム名の先頭文字から、連続した文字を取り出すことで、すべての部分文字列を生成している。
【0064】
図22はログオンサーバにおけるアイテム登録フロー図である。ステップ2701において、端末情報要求1902を受信し、ユーザ名と取り出す。ステップ2702では、ユーザ情報格納領域を前記ユーザ名で検索する。ステップ2703では、ステップ2702で得られたグループ名を格納した端末情報応答メッセージ1903を生成する。もし、グループ名が得られなかった場合は空にしておく。宛先はステップ2701で受信した端末情報要求メッセージ2701の発信元である。ステップ2704でIP通信機能が前記メッセージを送信する。
【0065】
図23は検索サーバ203におけるアイテム登録フロー図である。ステップ2801でアイテム登録要求メッセージ1904を受信、登録先グループ名、登録する部分文字列、アイテム名の属性、IPアドレス、アイテム名を取り出す。ステップ2802において、アイテム情報格納領域711にグループ名、部分文字列をキーとして、アイテム名の属性、IPアドレス、アイテム名を格納する。グループ名と部分文字列からキーを生成する方法は、デリミタを用いて単に文字列を連結する方法などがある。本実施例では「の」をデリミタとして使用している。同一キーですでに値が存在している場合には、そのうしろに追記する。
【0066】
格納が成功したら、ステップ2803で、アイテム登録(OK)メッセージ1906を生成する。格納が失敗した場合は、ステップ2805において、アイテム登録(NG)メッセージ1906を生成する。どちらも宛先はステップ2801で受信したアイテム登録要求メッセージ1904の送信元アドレスである。 最後にステップ2804でIP通信機能がアイテム登録応答メッセージを送信する。
【0067】
アイテム削除の処理フローについては、登録が削除になるのみで、ほとんどアイテム登録と同一である。異なる部分のみ図24に示す。図24は検索サーバ203におけるアイテム削除フロー図である。登録時(図23)との差異はステップ2902に表されている。グループ名、部分文字列をキーとして検索して得られた値に複数の「属性、IPアドレス、アイテム名」のセットがあった場合、ステップ2901で取り出した属性、IPアドレス、アイテム名と一致するもののみを削除する。また、削除の結果、値が空になった場合は、グループ名、部分文字列のキー部分も削除する。
【0068】
図25は検索端末におけるアイテム検索フロー図である。ステップ3001でユーザが入力したアイテム名を受信する。ステップ3002では、ユーザ名とアイテム名を含む、アイテム検索要求メッセージ2101を作成する。宛先は検索サーバアドレス613に格納されているIPアドレスを用いる。ステップ3003でIP通信機能が前記メッセージを送信し、ステップ3004で検索応答メッセージ2108を受信するのを待つ。ステップ3005では、受信した前記メッセージから、検索結果を取り出す。もし結果が存在する場合には、ステップ3006で検索結果をユーザに通知する。もし結果が存在しない場合には、ステップ3007でユーザに検索失敗を通知する。
【0069】
図26は検索サーバ202におけるアイテム検索フロー図である。ステップ3101において、アイテム検索要求メッセージ2101を受信、ユーザ名とアイテム名をとりだす。ステップ3102で、前記ユーザ名を含んだ端末情報要求メッセージ2102を作成する。宛先はログオンサーバIPアドレス712に格納されているアドレスである。ステップ3103でIP通信機能が前記メッセージを送信し、ステップ3104で端末情報応答メッセージ2103を受信するのを待つ。ステップ3105で応答メッセージ2103からグループ名を取り出す。
【0070】
ステップ3106では、グループ名が存在する場合、すべてのグループ名に関して以下のステップ3111までを繰り返す。ステップ3107で、前記アイテム名をキーとして、経路表713から検索サーバIPアドレスを検索する。ステップ3108では、前記検索サーバIPアドレスを宛先として、アイテム検索要求メッセージ2104を作成する。このメッセージには、前記グループ名、前記アイテム名を含む。次にステップ3109でIP通信機能が本メッセージを送信、ステップ3110でアイテム検索応答2106をまつ。ステップ3111ですべてのアイテム検索応答メッセージを受信したことを確認したら、ステップ3112において、すべての検索結果をまとめ、宛先をユーザ検索端末213としたアイテム検索応答(OK、検索結果)2108メッセージを作成する。ここで、すべての検索結果がNGだった場合のみ、アイテム検索応答(NG)2108メッセージを作成する。最後にステップ3113で、前記メッセージをIP通信機能から送信する。
【0071】
図27はログオンサーバ200におけるアイテム検索フロー図である。これは図22と同一である。
【0072】
図28は検索サーバ203におけるアイテム検索フロー図である。ステップ3301において、アイテム検索要求メッセージ2104を受信、グループ名とアイテム名を取り出す。ステップ3302で、アイテム管理情報格納領域711をグループ名、アイテム名をキーとして検索する。グループ名と部分文字列からキーを生成する方法は、デリミタを用いて単に文字列を連結する方法などがある。本実施例では「の」をデリミタとして使用している。検索結果が得られた場合はステップ3303において、アイテム検索応答(OK、検索結果)メッセージ2105を生成する。検索結果が得られなかった場合は、ステップ3305において、アイテム検索応答(NG)メッセージ2105を生成する。どちらの場合もあて先は3301で受信したアイテム検索要求メッセージ2104の送信元アドレスである。最後にステップ3304でIP通信機能が前記メッセージを送信する。
【図面の簡単な説明】
【0073】
【図1】アイテム名解決サービスの概念図。
【図2】アイテム名解決サービスのシステム構成図。
【図3】検索端末の構成図。
【図4】検索サーバの構成図。
【図5】ログオンサーバの構成図。
【図6】アイテム管理情報表。
【図7】検索サーバが保持する経路表。
【図8】ログオンサーバが保持するユーザ情報。
【図9】ログオンサーバが保持する端末情報。
【図10】部分文字列を生成した結果例。
【図11】アイテム管理情報表の例。
【図12】検索例。
【図13】ログオンシーケンス。
【図14】アイテム登録シーケンス。
【図15】アイテム削除シーケンス。
【図16】アイテム検索シーケンス。
【図17】検索端末におけるログオンフロー図。
【図18】ログオンサーバにおけるログオンフロー図。
【図19】検索端末におけるアイテム登録フロー図。
【図20】検索サーバ202におけるアイテム登録フロー図。
【図21】アイテム名から部分文字列を生成するフロー図。
【図22】ログオンサーバにおけるアイテム登録フロー図。
【図23】検索サーバ203におけるアイテム登録フロー図。
【図24】検索サーバ203におけるアイテム削除フロー図。
【図25】検索端末におけるアイテム検索フロー図。
【図26】検索サーバ202におけるアイテム検索フロー図。
【図27】ログオンサーバ200におけるアイテム検索フロー図。
【図28】検索サーバ203におけるアイテム検索フロー図。
【符号の説明】
【0074】
1601 本発明による構成された、ハッシュ表に格納する値。
【技術分野】
【0001】
本発明は、アイテムの名前が入力されるとその所在を検索し応答するサービスと、前記サービスを実現するための、多数のアイテムを管理するために分散ハッシュ表を用いたネットワークシステム、およびその実現装置に関する。
【背景技術】
【0002】
近年、家庭電化製品にネットワーク機能を付加し、家庭内ネットワークを構築することが可能となってきている。例えば、エコーネットコンソーシアム(http://www.echonet.gr.jp/)では、情報家電のネットワーク規格について検討がすすめられている。また、デジタルリビングネットワークアライアンス(http://www.dlna.org/jp/consumer/home)では情報家電とパソコンの相互接続について検討している。
【0003】
このように、TV受像機、照明機器、冷蔵庫、DVD機器、パソコン等家庭内のさまざまな機器がネットワークに接続されるようになると、ネットワークを介した、それらネットワーク機器の管理が必要となる。さらに、それらネットワーク機器に内蔵されるハードディスクドライブ等の記憶装置に記録された、映像や音声などさまざまな電子データの管理も必要となる。例えばハードディスクレコーダを利用すると、テレビ番組等映像を多数電子データとして記録でき、携帯音楽プレーヤには数千曲が電子データとして格納可能である。
【0004】
ところで近年、特許文献1で開示されている分散ハッシュ表を活用したネットワークが注目されている。これは規模拡張性に優れており、ユーザが所有する電子データがどんなに増えても、非常に高い割合で、ある一定時間内に検索結果を応答することができるシステムである。
【0005】
【特許文献1】特開2005−234762号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
これら電子データ、例えば、デジタルカメラで撮影した画像データは簡単に数百、数千枚と増えて行く。そして、後で閲覧しようとする際に、PCに取り込んであるのか、あるいはデジタルカメラ本体の記録媒体に保存したままであったのか、わからなくなる場合が多い。今後、記録媒体をもつ電子機器がますます増えていった場合に備え、今すぐ欲しい電子データがどの電子機器に保存されているのか、一瞬で検索できるようになることが望ましい。さらには、例えば家族間など、グループで共有して検索できるようになることが望ましい。
【0007】
このような検索機能はたいていソフトウェアにより実現されるが、このソフトウェアを実装した装置の形態により、おおまかにいって、少なくとも家庭内にホームサーバを設置し管理することと、通信事業者が遠隔管理することの二通りが考えられる。
【0008】
本発明は、後者の通信事業者が一般家庭向けにネットワーク機器や電子データの管理サービスを提供する場合に関するものである。
【0009】
一般的にユーザにとって、所持しているネットワーク機器・電子データの種類、数、内容等は他人に秘密にしておきたい個人情報である。グーグル(http://www.google.co.jp)等の一般的な検索システムを上記サービスに適用すると、秘密にしておきたい個人情報を他人が検索できてしまう。また、同一のキーワードでも、ユーザによって検索したいものが物理的に異なる場合がある。例えば、「私のPC」というキーワードでそのIPアドレスを検索する場合、ユーザによって所有するPCは物理的に異なるため、そのIPアドレスも物理的に異なる。
【0010】
また、分散ハッシュ表を利用すると、数千台から数万台規模のサーバネットワークを構築し、一般ユーザに対して、家庭内に存在するネットワーク機器や、デジタルカメラで写した写真等の電子データを管理するサービスを実現できる可能性がある。しかし、ハッシュ表を利用するため、検索キーと完全に一致する対象が存在した場合にのみ、その対象を検索結果として応答できる、という制約がある。
【0011】
詳細には、ネットワーク機器や電子データを管理する場合、通常管理対象の名前と、それがどこに存在するか、という所在情報が必要となる。ここで所在情報は通常IPアドレスである。この名前からIPアドレスに変換することを、一般的に名前解決と呼ぶ。ネットワーク機器が対象の場合は、ネットワーク機器の名前から機器が持つIPアドレスへ変換する。電子データの場合は、電子データの名前から当該電子データを保持する機器のIPアドレスへ変換する。以下、ネットワーク機器と電子データを総称して「アイテム」と呼ぶことにする。そして、アイテムの名前(アイテム名)からIPアドレス等の所在情報に変換することを「アイテム名解決」と呼ぶ。また、アイテム名解決にひつような、前記ネットワーク機器の名前と機器が持つIPアドレス、および、電子データの名前と当該電子データを保持する機器のIPアドレスの対応をアイテム管理情報と呼ぶ。
【0012】
本発明は、あるユーザが所持するアイテムに関し、予め利用が許可されているユーザグループのみ、前記アイテムのアイテム名解決が可能なシステムを提供する、という課題1を解決する。
【0013】
また、アイテム名解決に分散ハッシュ表を利用する場合、一般的に、アイテム名を予め定められたハッシュ関数に入力し、計算して得られるハッシュ値をキー、IPアドレスを値として表に登録、管理する。ハッシュ関数の特徴は、1文字でも異なる文字列からは、大きく異なる値が得られることである。すなわち、1文字でも名前を間違えると、正確なIPアドレスを得ることが非常に困難となる。よって記憶があやふやである場合、IPアドレスへの変換が非常に困難であり、結果、探したいものを見つけることが非常に困難となる。また、同様の理由により、アイテム名にあるキーワードを含むものを一括してすべてアイテム名解決したい、という要求に応えることも非常に困難である。
【0014】
本発明は、分散ハッシュ表を利用した検索の際に、アイテム名の部分文字列でアイテム名解決を実行可能とする、という課題2を解決する。
【課題を解決するための手段】
【0015】
本発明においては、上記課題1を解決するため、ユーザがアイテム管理情報を登録・削除する手段を持つ。また、アイテム管理情報を管理するためのグループを用意、グループごとに利用できるユーザを予め設定しておき、設定外のユーザがグループ内のアイテム管理情報を登録・削除・検索できないように制御する。また、ユーザ認証時にユーザと利用できるグループ名を対応付けておき、ユーザがアイテム名の登録・削除・検索を実行するたびにグループ名の確認を実施する。またその際、ユーザがいちいちグループ名を指定しなくてもよいことを保証する。
【0016】
また、上記課題2を解決するため、分散ハッシュ表を利用する際のキーと値、分散ハッシュ表への登録の仕方に工夫をする。キーに関しては、ネットワーク機器や電子データの名前を1つの文字列とみて、あらゆる部分文字列を生成し、キーとする。これにより、確実に覚えている部分のみをキーとすることで、探したいものを見つけることが可能となる。値に関しては、上記名前とIPアドレスのペアを値とする。ここでIPアドレスは、ネットワーク機器の場合はそれ自身が持つIPアドレス、電子データの場合はそれ自身を保持するネットワーク機器(たとえばパソコンやハードディスクレコーダ)のIPアドレスとする。
【0017】
上記キーと値を分散ハッシュ表へ登録する際に、同一キーがすでに登録されていた場合、すでに登録されている値に、登録しようとしている値を追記する。通常のハッシュ表では、同一キーがすでに登録されていた場合は近くの空いているキーに振り替えるが、本発明では追記する。これにより、あるキーワードをキーとして、それを含むすべての名前と対応するIPアドレスを見つけることができる。
【発明の効果】
【0018】
ユーザが所有するネットワーク機器や電子データの名前解決サービスを予め定められたユーザグループにのみ提供できる。
【0019】
また、上記サービスを分散ハッシュ表により実現した際、キーワード検索機能を実現し、記憶があいまいであっても名前解決を成功させ、また、特定のキーワードを含むすべてのネットワーク機器や電子データの名前解決を一括して行うことができる。これら2つの効果により、一般ユーザに対してよりよいネットワーク機器や電子データの名前解決サービスを提供することができる。
【発明を実施するための最良の形態】
【0020】
以下図面に従い、本発明による実施形態の1つを説明する。
【0021】
まず説明に使用する記法について説明する。特に装置間処理シーケンスや装置内処理フローチャートの説明でメッセージの引数を記述する際は、例えば(user id, password)のようにカッコ内にカンマで区切って必要とされる引数を記述する。
【0022】
図1は本発明による、個人所有のアイテムに関するアイテム名解決サービスの概念図である。ユーザ宅150には、アイテム名解決サービスの対象である、テレビ110、エアコン112、照明113、PC111等のネットワーク接続された電子機器と、それら電子機器内の記録媒体に保存されている、写真121、映画122、音楽123等の電子データが存在する。サービスプロバイダ140には、上記アイテムの管理情報(アイテム名と、そのアイテムのもつIPアドレス)を保持するサーバ100が存在する。各ユーザは、サービスプロバイダとの契約等で定められたサーバにログオンし、アイテム名解決サービスを利用する。アイテム管理情報はグループ単位で処理される。グループとユーザの関係は図9で詳しく述べる。
【0023】
ユーザは複数の場所から同一のグループに同時にログオンし、アイテム名解決サービスを使用することが可能である。また、サービスプロバイダがグループ名をシステム全体で一意になるように保証し、ログオン時に各ユーザが利用できるグループ名を決定することで、事前に登録されていないユーザが、該グループに参加することができなくなる。すなわち、あるグループに参加してアイテムを登録・削除・検索できるユーザを制御可能である。したがって、例えば両親や子供だけが利用できるグループを作成し、家族に限定したアイテム名解決サービスが提供できる。
【0024】
図2は本発明による、個人所有のアイテムに関するアイテム名解決サービスの提供システム構成図である。ユーザ250側に検索端末201、202、203、...があり、サービスプロバイダ240側にログオンサーバ200、検索サーバ211、212、213、...が存在する。検索端末は1ユーザが複数所持してもかまわない。また、複数ユーザが1検索端末を共有してもかまわない。検索サーバはユーザ規模により、数台の場合から、数万台の場合もある。検索端末、検索サーバ、ログオンサーバの詳細はそれぞれ、図3、4、5で述べる。
【0025】
図3は検索端末の構成図である。主記憶にある検索要求機能601は、ユーザが入力したキーワードを用いて、検索サーバに問い合わせを行なう。出入力機能602は、ユーザからの入力を受け取り、処理結果を表示する機能である。アイテム登録・削除機能603は、ユーザが入力したアイテム管理情報を、検索サーバに登録・削除する機能である。また、ユーザ認証機能604は、ログオン処理を実行する。これら4つの機能はすべて主記憶に配置されるプログラムで演算機能600で実行される。
【0026】
ログオンサーバアドレス611は、ログオンサーバ200のIPアドレスであるが、ユーザがサービスプロバイダと契約する際などに、すでに与えられているものとする。検索サーバアドレス613は、ログオン時にサービスプロバイダがユーザに与えるもので、アイテム登録・削除、アイテム名解決を実行する際に、メッセージの送り先となるIPアドレスである。
【0027】
IP通信機能621は、ログオンサーバ、検索サーバとのメッセージを送受信する機能である。
【0028】
図4は検索サーバの構成図である。要求受付機能701は、検索端末から送られるアイテム検索、アイテム登録・削除メッセージを処理する。要求応答機能702は、アイテム検索、アイテム登録・削除の処理結果を基に応答メッセージを作成する。アイテム管理情報検索機能703は必要であれば複数の検索サーバにまたがり、アイテム管理情報格納領域711内でアイテム検索を実行する。アイテム管理情報登録・削除機能704は、アイテム登録・削除メッセージの内容にしたがって、必要であれば複数の検索サーバにまたがり、アイテム管理情報格納領域711にアイテム管理情報を登録・削除する。
【0029】
アイテム管理情報格納領域711は分散ハッシュ表であり、アイテム管理情報を保持する。経路表713は、アイテム名と、そのアイテム管理情報を保持する検索サーバのIPアドレスとの対応を示す表である。
【0030】
ログオンサーバアドレス712は、ログオンサーバのIPアドレスであり、あらかじめ設定されているものとする。IP通信機能721は検索端末、ログオンサーバとメッセージを送受信する。
【0031】
図5はログオンサーバの構成図である。要求受付機能801は、検索端末から送られるログオン要求、検索サーバから送られる端末情報要求メッセージを処理する。要求応答機能802は、ログオン処理結果、端末情報検索結果を基に応答メッセージを作成する。ユーザ情報検索機能803は、ログオン処理時に実行され、ユーザ名でユーザ情報格納領域811を検索する。端末情報登録・削除機能804はログオン処理時に実行され、当該ユーザに関する端末情報(図9)を端末情報格納領域812に保存する。端末情報検索機能805はユーザ名で端末情報格納領域812を検索する。これら5つの機能は主記憶内に格納されるプログラムであり、演算機能800により実行される。
【0032】
ユーザ情報格納領域811はユーザ情報(図8)を保持する。これはユーザがサービスプロバイダと契約する際などに作成される。端末情報格納領域812は端末情報(図9)を保持する。これは、ログオン処理時に作成される。検索サーバアドレス情報813は、すべての検索サーバのIPアドレスをリストしたものである。ログオン処理時に、ここから1つ選択され、ユーザに通知される。ユーザはここで選択された検索サーバと接続し、アイテム名解決を実行する。
【0033】
図6は検索サーバがもつ、アイテム管理情報格納領域711の一例である。ユーザが所有する電子データは増加しつづけると予想されるため、このアイテム管理情報表には、規模の拡張性が第一に要求される。そこで、規模の拡張性に優れた分散ハッシュ表を使って表を構成することが望ましい。使用するハッシュ関数はシステム全体で1つ選択されているものとする。キーはグループ名とアイテム名、またはアイテム名の部分文字列から構成される。ここではグループ名を「B家」、「の」をデリミタとしてキーを構成している。値は属性とIPアドレスから構成される。ここでのデリミタは「:」としている。属性には「端末」と「電子データ」の2つがあり、属性によってIPアドレスの意味が異なる。「端末」の場合はアイテム名であらわされる物品がもつIPアドレスであることを示す。また、ユーザがログオンした際に作成される。「電子データ」の場合は、アイテム名であらわされる物品が格納されている「端末」のIPアドレスであることを示す。また、ユーザがアイテム登録・削除した際に作成・削除される。
また、値が「属性:IPアドレス(文字列)」である場合は、キーを構成するアイテム名を文字列が含んでいることを示す。図6の構成手法、使用方法については、図10、11、12で述べる。
【0034】
図7は、検索サーバがもつ、経路表713の一例である。キーは、アイテム名をハッシュ関数に入力して得られた、ハッシュ値の範囲である。値は、その範囲のアイテム名に関するアイテム管理情報を保持する検索サーバのIPアドレスである。例えば、あるユーザがあるアイテム名で検索を実行し、そのアイテム名のハッシュ値が2345であったとする。図7から2345をキー範囲に含むエントリの値は「192.168.0.3」である。したがって、検索サーバはIPアドレスが「192.168.0.3」である別の検索サーバにアイテム検索要求を送信する。ここで、「127.0.0.1」は自分を示し、この場合には自分の中で検索処理を実行する。
【0035】
図8はログオンサーバが保持するユーザ情報である。キーはユーザ名であり、値は検索できるグループ名と、アイテムを登録・削除できるグループ名の2つから成る。このユーザとグループ名の対応は、ユーザとサービスプロバイダの契約時に作成される。あとから変更も可能であるが、その方法はここでは議論しない。ログオン時にこの表を参照し、各ユーザがアクセスできるグループが決定され、端末情報(図9)が作成される。
【0036】
図9はログオンサーバが保持する端末情報である。キーはユーザ名、または検索端末名であり、値は検索端末のIPアドレス、ユーザ名で示されるユーザが検索できるグループ名、アイテムを登録・削除でいるグループ名である。ユーザのログオン処理時に、ユーザ情報(図8)とログオン要求メッセージ内のユーザ名、検索端末名、そのIPアドレスとから生成される。
【0037】
図10は、アイテム名からその部分文字列を生成した結果を示した図である。アイテム登録・削除時に、アイテム名からこのように部分文字列を生成する。
【0038】
図11は、図10で生成された部分文字列をキーとして、「IPアドレス(アイテム名)」を登録した結果のハッシュ表、すなわちアイテム管理情報表(図6の別の例)を示している。図10では、アイテム名として「居間のテレビ」を例としている。部分文字列は20個生成され、アイテム名自身を含めて21個のキーがある。「居間のテレビ」の属性は「端末」であるから、21個のキーすべてについて、値を「端末:Address25(居間のテレビ)」と登録する。他方、「寝室のテレビ」についても同様に21個のキーがあり、そのすべての値を「端末:Address27(寝室のテレビ)」として登録する。
【0039】
ここで、「居間のテレビ」と「寝室のテレビ」で部分文字列が共通のものがある。例えば「テレビ」である。この「テレビ」をキーとする値は、「端末:Address25(居間のテレビ)」と「端末:Address27(寝室のテレビ)」である。このようにキーが衝突した場合、値を連結して格納する。例えば、「端末:Address25(居間のテレビ)、端末:Address27(寝室のテレビ)」のようにカンマで区切って連結する。
【0040】
さらに、「浴室のテレビ」というアイテム名を登録するとその部分文字列に「テレビ」があるため、上記の値にさらに連結され、例えば、「端末:Address25(居間のテレビ)、端末:Address27(寝室のテレビ)、端末:Address23(浴室のテレビ)」のようになる。
【0041】
図12は図11の表を用いて検索する場合の一例である。例えばユーザが、過去録画した野球中継を探しており、家にある居間と寝室と浴室にあるテレビのいずれで録画したか忘れてしまったため、それらのIPアドレスを一回で知りたい場合、単に「テレビ」と入力すると上記3つのテレビのIPアドレスが得られる。このようにハッシュ表でありながら、部分文字列一致検索ができ、さらに検索キーを部分文字列として含むすべてのアイテム名を一回で検索可能となる。
【0042】
以下、図13〜17はメッセージシーケンス図、図18〜28はプログラム実行フロー図の説明である。
【0043】
図13は本発明によるアイテム名解決システムへのログオンシーケンスである。ユーザがユーザIDとパスワードを入力すると、検索端末213はログオン要求(user1, password1, 端末3, address3)1801をログオンサーバへ送信する。ログオンサーバ200はユーザ名とパスワードで認証が成功した場合、検索サーバアドレスを1つ選択して、ログオン応答(“OK”, address102)1802を返却する。認証が失敗した場合はログオン応答(“NG”)1802を返却する。
【0044】
図14はアイテム登録シーケンスである。ユーザがアイテム名(item1)を入力すると、検索端末213はアイテム登録要求(user1, address3, item1)1901をログオン応答で返却された検索サーバ202に送信する。検索サーバ202では以下の処理を行なう。
【0045】
ユーザがアイテムを登録可能なグループがあるかどうか、ログオンサーバ200に対し、端末情報要求(user1)1902を送信する。ログオンサーバ200は、端末情報格納領域812を参照し、user1がアイテムを登録可能なグループ名を端末情報応答(user1, group1)1903で返却する。
【0046】
検索サーバ202は得られたグループに対してアイテム登録を実行する。図10に示したように、ひとつのアイテム名からは複数の部分文字列が生成され、それぞれ別個のキーとして登録される。そのため、アイテム登録要求1904はキーの数だけ作成され、送信される。これらアイテム登録要求1904の宛先は、経路表713を参照して決定されるため、通常複数の検索サーバに分散される。
【0047】
すべてのアイテム登録要求に対応するアイテム登録応答1906がOkだった場合に、検索サーバ202はアイテム登録応答(“OK”)1908を検索端末213へ返却する。それ以外の場合は、アイテム登録応答(“NG”)1908を返却する。
【0048】
図15は、アイテム削除シーケンスである。図14との主な違いは、検索サーバ202において、アイテム登録要求1904のかわりにアイテム削除要求2004を送信する点である。
【0049】
図16は、アイテム検索シーケンスである。ユーザが検索したいアイテム名(item2)を入力すると、検索端末213はアイテム検索要求(user1, item2)2101を送信する。検索サーバ202では、ユーザがアイテム検索可能なグループがあるかどうか、ログオンサーバ200へ端末情報要求(user1)2102を送信する。ログオンサーバ200は、端末情報格納領域812を参照し、user1がアイテム検索可能なグループ名を端末情報応答(user1, group1, group4)2103で返却する。
【0050】
検索サーバ202は得られたグループに対してアイテム検索を実行する。アイテム登録要求2104はグループの数だけ作成され、送信される。これらアイテム登録要求2104の宛先は、経路表713を参照して決定されるため、通常複数の検索サーバに分散される。
【0051】
すべてのアイテム検索要求に対応するアイテム検索応答2106がOkだった場合に、検索サーバ202はアイテム検索応答(“OK”)2108を検索端末213へ返却する。それ以外の場合は、アイテム検索応答(“NG”)2108を返却する。
【0052】
図17は検索端末におけるログオンフロー図である。まず、ステップ2201では、ユーザからユーザ名とパスワードとともにログオン要求を受信する。ステップ2202において、ステップ2201で得たユーザ名、パスワード、および、該端末の端末名とIPアドレスを含むログオン要求メッセージ1801を作成する。この宛先はログオンサーバアドレス611である。このログオン要求メッセージはステップ2203でIP通信機能により送信される。
【0053】
ステップ2204でIP通信機能により、ログオン応答メッセージ1802を受信すると、ステップ2205で処理結果を確認する。OKの場合、ステップ2206でメッセージに含まれていた検索サーバのアドレスを取り出し、検索サーバアドレス613へ格納する。以後、検索サーバとのメッセージはすべてこのアドレスあてに送信する。最後にステップ2207で、ユーザにログオンが成功したことを通知する。
ステップ2205で処理結果がNGだった場合は、ステップ2208において、ユーザへログオン失敗を通知し、ユーザからの再度の入力を待ち受ける。
【0054】
図18はログオンサーバにおけるログオンフロー図である。ステップ2301において、ログオン要求1801を受信し、ユーザ名、パスワード、端末名、端末のIPアドレスをとりだす。ステップ2302において、前記ユーザ名をもって、ユーザ情報格納領域811(図8)を検索する。ステップ2303では検索結果得られたユーザ名とパスワードがステップ2301で得られたものと一致するか確認する。
【0055】
一致する場合、ステップ2304において、端末名とユーザ名をキーとして、IPアドレス、グループ名を端末情報格納領域812(図9)へ格納する。この時格納するグループ名はステップ2302で得られたものである。
【0056】
ステップ2305では、検索サーバアドレス情報813から適当に1つのアドレスを選択する。これはユーザに対して窓口となる検索サーバである。宛先を2301で得られた端末のIPアドレスとし、ログオン結果をOKとし、前記検索サーバのアドレスを格納した、ログオン応答メッセージ1802を作成する。
【0057】
一方、ステップ2303で一致しなかった場合、宛先を2301で得られた端末のIPアドレスとし、処理結果をNGとしたログオン応答メッセージを作成する。
【0058】
最後にステップ2306で、IP通信機能がログオン応答メッセージを送信する。
【0059】
図19は検索端末におけるアイテム登録フロー図である。ステップ2401でユーザからアイテム登録要求を受信し、アイテム名とIPアドレスを取り出す。このアイテム名にはアイテムの属性情報が含まれているものとする。ステップ2402では、前記アイテム名、IPアドレス、それからユーザ名を含んだアイテム登録要求メッセージ1901を作成する。宛先は検索サーバアドレス613に格納されているIPアドレスを用いる。ステップ2403ではIP通信機能が本メッセージを送信する。ステップ2404でIP通信機能がアイテム登録応答メッセージ1908を受信すると、ステップ2405で処理結果を取り出す。OKの場合はステップ2406でユーザにアイテム登録成功を通知し、NGの場合はステップ2407でユーザにアイテム登録失敗を通知する。
【0060】
図20は検索サーバ202におけるアイテム登録フロー図である。ステップ2501でアイテム登録要求1901を受信、ユーザ名、アイテム名、IPアドレスを取り出す。ステップ2502で、前記ユーザ名を含んだ端末情報要求メッセージ1902を作成する。宛先はログオンサーバIPアドレス712に格納されているアドレスである。ステップ2503でIP通信機能が前記メッセージを送信し、ステップ2504で端末情報応答メッセージ1903を受信するのを待つ。ステップ2505で応答メッセージ1903からグループ名を取り出す。ステップ2506ではグループ名が存在するか、空かを確認する。
【0061】
グループ名が存在する場合、すべてのグループ名に関して以下のステップ2512までを繰り返す。ステップ2507で、まずアイテム名の部分文字列を図10のように生成する。その際、アイテム名から属性を取り除いておく。そして、ステップ2508では生成された部分文字列それぞれについて、ステップ2512までを繰り返す。
【0062】
ステップ2509において、前記部分文字列をキーとして、経路表713から検索サーバIPアドレスを検索する。ステップ2510では、前記検索サーバIPアドレスを宛先として、アイテム登録要求メッセージ1904を作成する。このメッセージには、前記グループ名、前記部分文字列、ステップ2507で取り除いたアイテム名の属性、ステップ2501で取り出したIPアドレス、アイテム名を含む。次にステップ2511でIP通信機能が本メッセージを送信、ステップ2512でアイテム登録応答1906をまつ。すべてのアイテム登録応答メッセージを受信したら、ステップ2513において、内容を確認する。すべてOKの場合は、宛先をユーザ検索端末213としたアイテム登録応答(OK)1908メッセージを作成、IP通信機能から送信する。
【0063】
図21はアイテム名から部分文字列を生成するアルゴリズムを示した図である。アイテム名の先頭文字から、連続した文字を取り出すことで、すべての部分文字列を生成している。
【0064】
図22はログオンサーバにおけるアイテム登録フロー図である。ステップ2701において、端末情報要求1902を受信し、ユーザ名と取り出す。ステップ2702では、ユーザ情報格納領域を前記ユーザ名で検索する。ステップ2703では、ステップ2702で得られたグループ名を格納した端末情報応答メッセージ1903を生成する。もし、グループ名が得られなかった場合は空にしておく。宛先はステップ2701で受信した端末情報要求メッセージ2701の発信元である。ステップ2704でIP通信機能が前記メッセージを送信する。
【0065】
図23は検索サーバ203におけるアイテム登録フロー図である。ステップ2801でアイテム登録要求メッセージ1904を受信、登録先グループ名、登録する部分文字列、アイテム名の属性、IPアドレス、アイテム名を取り出す。ステップ2802において、アイテム情報格納領域711にグループ名、部分文字列をキーとして、アイテム名の属性、IPアドレス、アイテム名を格納する。グループ名と部分文字列からキーを生成する方法は、デリミタを用いて単に文字列を連結する方法などがある。本実施例では「の」をデリミタとして使用している。同一キーですでに値が存在している場合には、そのうしろに追記する。
【0066】
格納が成功したら、ステップ2803で、アイテム登録(OK)メッセージ1906を生成する。格納が失敗した場合は、ステップ2805において、アイテム登録(NG)メッセージ1906を生成する。どちらも宛先はステップ2801で受信したアイテム登録要求メッセージ1904の送信元アドレスである。 最後にステップ2804でIP通信機能がアイテム登録応答メッセージを送信する。
【0067】
アイテム削除の処理フローについては、登録が削除になるのみで、ほとんどアイテム登録と同一である。異なる部分のみ図24に示す。図24は検索サーバ203におけるアイテム削除フロー図である。登録時(図23)との差異はステップ2902に表されている。グループ名、部分文字列をキーとして検索して得られた値に複数の「属性、IPアドレス、アイテム名」のセットがあった場合、ステップ2901で取り出した属性、IPアドレス、アイテム名と一致するもののみを削除する。また、削除の結果、値が空になった場合は、グループ名、部分文字列のキー部分も削除する。
【0068】
図25は検索端末におけるアイテム検索フロー図である。ステップ3001でユーザが入力したアイテム名を受信する。ステップ3002では、ユーザ名とアイテム名を含む、アイテム検索要求メッセージ2101を作成する。宛先は検索サーバアドレス613に格納されているIPアドレスを用いる。ステップ3003でIP通信機能が前記メッセージを送信し、ステップ3004で検索応答メッセージ2108を受信するのを待つ。ステップ3005では、受信した前記メッセージから、検索結果を取り出す。もし結果が存在する場合には、ステップ3006で検索結果をユーザに通知する。もし結果が存在しない場合には、ステップ3007でユーザに検索失敗を通知する。
【0069】
図26は検索サーバ202におけるアイテム検索フロー図である。ステップ3101において、アイテム検索要求メッセージ2101を受信、ユーザ名とアイテム名をとりだす。ステップ3102で、前記ユーザ名を含んだ端末情報要求メッセージ2102を作成する。宛先はログオンサーバIPアドレス712に格納されているアドレスである。ステップ3103でIP通信機能が前記メッセージを送信し、ステップ3104で端末情報応答メッセージ2103を受信するのを待つ。ステップ3105で応答メッセージ2103からグループ名を取り出す。
【0070】
ステップ3106では、グループ名が存在する場合、すべてのグループ名に関して以下のステップ3111までを繰り返す。ステップ3107で、前記アイテム名をキーとして、経路表713から検索サーバIPアドレスを検索する。ステップ3108では、前記検索サーバIPアドレスを宛先として、アイテム検索要求メッセージ2104を作成する。このメッセージには、前記グループ名、前記アイテム名を含む。次にステップ3109でIP通信機能が本メッセージを送信、ステップ3110でアイテム検索応答2106をまつ。ステップ3111ですべてのアイテム検索応答メッセージを受信したことを確認したら、ステップ3112において、すべての検索結果をまとめ、宛先をユーザ検索端末213としたアイテム検索応答(OK、検索結果)2108メッセージを作成する。ここで、すべての検索結果がNGだった場合のみ、アイテム検索応答(NG)2108メッセージを作成する。最後にステップ3113で、前記メッセージをIP通信機能から送信する。
【0071】
図27はログオンサーバ200におけるアイテム検索フロー図である。これは図22と同一である。
【0072】
図28は検索サーバ203におけるアイテム検索フロー図である。ステップ3301において、アイテム検索要求メッセージ2104を受信、グループ名とアイテム名を取り出す。ステップ3302で、アイテム管理情報格納領域711をグループ名、アイテム名をキーとして検索する。グループ名と部分文字列からキーを生成する方法は、デリミタを用いて単に文字列を連結する方法などがある。本実施例では「の」をデリミタとして使用している。検索結果が得られた場合はステップ3303において、アイテム検索応答(OK、検索結果)メッセージ2105を生成する。検索結果が得られなかった場合は、ステップ3305において、アイテム検索応答(NG)メッセージ2105を生成する。どちらの場合もあて先は3301で受信したアイテム検索要求メッセージ2104の送信元アドレスである。最後にステップ3304でIP通信機能が前記メッセージを送信する。
【図面の簡単な説明】
【0073】
【図1】アイテム名解決サービスの概念図。
【図2】アイテム名解決サービスのシステム構成図。
【図3】検索端末の構成図。
【図4】検索サーバの構成図。
【図5】ログオンサーバの構成図。
【図6】アイテム管理情報表。
【図7】検索サーバが保持する経路表。
【図8】ログオンサーバが保持するユーザ情報。
【図9】ログオンサーバが保持する端末情報。
【図10】部分文字列を生成した結果例。
【図11】アイテム管理情報表の例。
【図12】検索例。
【図13】ログオンシーケンス。
【図14】アイテム登録シーケンス。
【図15】アイテム削除シーケンス。
【図16】アイテム検索シーケンス。
【図17】検索端末におけるログオンフロー図。
【図18】ログオンサーバにおけるログオンフロー図。
【図19】検索端末におけるアイテム登録フロー図。
【図20】検索サーバ202におけるアイテム登録フロー図。
【図21】アイテム名から部分文字列を生成するフロー図。
【図22】ログオンサーバにおけるアイテム登録フロー図。
【図23】検索サーバ203におけるアイテム登録フロー図。
【図24】検索サーバ203におけるアイテム削除フロー図。
【図25】検索端末におけるアイテム検索フロー図。
【図26】検索サーバ202におけるアイテム検索フロー図。
【図27】ログオンサーバ200におけるアイテム検索フロー図。
【図28】検索サーバ203におけるアイテム検索フロー図。
【符号の説明】
【0074】
1601 本発明による構成された、ハッシュ表に格納する値。
【特許請求の範囲】
【請求項1】
ユーザ側端末装置、サーバ装置及び複数の検索サーバ装置を備えたネットワークシステムであって、
前記ユーザ側端末装置は、ユーザが所有するネットワーク機器の名前と該ネットワーク機器のIPアドレスの対応関係、または、該ユーザが所有する電子データの名前と該電子データを保持するネットワーク機器のIPアドレスとの対応関係を前記サーバ装置へ登録またはサーバ装置から削除する手段を備え、
前記サーバ装置は、前記ユーザ側端末装置から送信されるユーザ名及びユーザパスワードを用いたユーザ認証手段と、該ユーザ名及び該ユーザパスワードと該ユーザが所有する前記ネットワーク機器又は電子データの管理グループ名の対応関係をユーザ情報として保持するアイテム管理グループ保持手段を有し、
前記複数の検索サーバ装置は、前記ネットワーク機器の名前と該ネットワーク機器のIPアドレスの対応関係、または、前記電子データの名前と該電子データを保持するネットワーク機器のIPアドレスとの対応関係を保持・消去する手段を備え、
さらに前記サーバ装置は、前記ユーザ側端末装置から前記サーバ装置へネットワーク機器又は電子データに関する命令が送られるたびごとに、前記ユーザ情報に基づき前記ユーザの前記管理グループ名を検出し、該管理グループ名と前記命令に含まれる前記ネットワーク機器の名前の少なくとも一部に基づき、前記複数の検索サーバ装置の中から前記ネットワーク機器の名前と該ネットワーク機器のIPアドレスの対応関係を保持する検索サーバ装置を検出し、あるいは前記管理グループ名と前記命令に含まれる前記電子データの名前の少なくとも一部に基づき、前記複数の検索サーバ装置の中から前記電子データの名前と前記電子データを保持するネットワーク機器の対応関係を保持する検索サーバ装置を検出することを特徴とするネットワークシステム。
【請求項2】
請求項1記載のネットワークシステムであって、
前記サーバ装置は、
前記ネットワーク機器や電子データの名前を1つの文字列とみた場合のあらゆる部分文字列を生成する手段と、
前記部分文字列のハッシュ値と、前記ネットワーク機器と該ネットワーク機器のIPアドレスの対応関係又は前記電子データと該電子データを保持するネットワーク機器のIPアドレスの対応関係を保持する前記検索サーバのIPアドレスを対応付けて分散ハッシュ表として登録及び保持する手段を有することを特徴とするネットワークシステム。
【請求項3】
請求項2記載のネットワークシステムであって、
前記サーバ装置は、
前記部分文字列と前記IPアドレスとの対応関係を前記分散ハッシュ表に登録する際に、同一部分文字列がすでに登録されていた場合は、該すでに登録されている部分文字列に前記登録するIPアドレスを対応付けて追記することを特徴とするネットワークシステム。
【請求項4】
請求項1記載のネットワークシステムであって、
前記サーバ装置は、前記ユーザ側端末装置から送信された命令に対し、前記複数の検索サーバ装置のいずれかで検索された前記IPアドレスを返信することを特徴とするネットワークシステム。
【請求項5】
ユーザ側端末装置及び複数の検索サーバ装置に接続されたサーバ装置であって、
前記ユーザ側端末装置は、ユーザが所有するネットワーク機器の名前と該ネットワーク機器のIPアドレスの対応関係、または、該ユーザが所有する電子データの名前と該電子データを保持するネットワーク機器のIPアドレスとの対応関係を前記サーバ装置へ登録またはサーバ装置から削除する手段備え、
前記サーバ装置は、前記ユーザ側端末装置から送信されるユーザ名及びユーザパスワードを用いたユーザ認証手段と、該ユーザ名及び該ユーザパスワードと該ユーザが所有する前記ネットワーク機器又は電子データの管理グループ名の対応関係をユーザ情報として保持するアイテム管理グループ保持手段を有し、
前記複数の検索サーバ装置は、前記ネットワーク機器の名前と該ネットワーク機器のIPアドレスの対応関係、または、前記電子データの名前と該電子データを保持するネットワーク機器のIPアドレスとの対応関係を保持・消去する手段を備え、
さらに前記サーバ装置は、前記ユーザ側端末装置から前記サーバ装置へネットワーク機器又は電子データに関する命令が送られるたびごとに、前記ユーザ情報に基づき前記ユーザの前記管理グループ名を検出し、該管理グループ名と前記命令に含まれる前記ネットワーク機器の名前の少なくとも一部に基づき、前記複数の検索サーバ装置の中から前記ネットワーク機器の名前と該ネットワーク機器のIPアドレスの対応関係を保持する検索サーバ装置を検出し、あるいは前記管理グループ名と前記命令に含まれる前記電子データの名前の少なくとも一部に基づき、前記複数の検索サーバ装置の中から前記電子データの名前と前記電子データを保持するネットワーク機器の対応関係を保持する検索サーバ装置を検出することを特徴とするサーバ装置。
【請求項6】
請求項5記載のサーバ装置であって、
前記ネットワーク機器や電子データの名前を1つの文字列とみた場合のあらゆる部分文字列を生成する手段と、
前記部分文字列のハッシュ値と、前記ネットワーク機器と該ネットワーク機器のIPアドレスの対応関係又は前記電子データと該電子データを保持するネットワーク機器のIPアドレスの対応関係を保持する前記検索サーバのIPアドレスを対応付けて分散ハッシュ表として登録及び保持する手段を有することを特徴とするサーバ装置。
【請求項7】
請求項6記載のサーバ装置であって、
前記部分文字列と前記IPアドレスとの対応関係を前記分散ハッシュ表に登録する際に、同一部分文字列がすでに登録されていた場合は、該すでに登録されている部分文字列に前記登録するIPアドレスを対応付けて追記することを特徴とするサーバ装置。
【請求項8】
請求項5記載のサーバ装置であって、
前記ユーザ側端末装置から送信された命令に対し、前記複数の検索サーバ装置のいずれかで検索された前記IPアドレスを返信することを特徴とするサーバ装置。
【請求項1】
ユーザ側端末装置、サーバ装置及び複数の検索サーバ装置を備えたネットワークシステムであって、
前記ユーザ側端末装置は、ユーザが所有するネットワーク機器の名前と該ネットワーク機器のIPアドレスの対応関係、または、該ユーザが所有する電子データの名前と該電子データを保持するネットワーク機器のIPアドレスとの対応関係を前記サーバ装置へ登録またはサーバ装置から削除する手段を備え、
前記サーバ装置は、前記ユーザ側端末装置から送信されるユーザ名及びユーザパスワードを用いたユーザ認証手段と、該ユーザ名及び該ユーザパスワードと該ユーザが所有する前記ネットワーク機器又は電子データの管理グループ名の対応関係をユーザ情報として保持するアイテム管理グループ保持手段を有し、
前記複数の検索サーバ装置は、前記ネットワーク機器の名前と該ネットワーク機器のIPアドレスの対応関係、または、前記電子データの名前と該電子データを保持するネットワーク機器のIPアドレスとの対応関係を保持・消去する手段を備え、
さらに前記サーバ装置は、前記ユーザ側端末装置から前記サーバ装置へネットワーク機器又は電子データに関する命令が送られるたびごとに、前記ユーザ情報に基づき前記ユーザの前記管理グループ名を検出し、該管理グループ名と前記命令に含まれる前記ネットワーク機器の名前の少なくとも一部に基づき、前記複数の検索サーバ装置の中から前記ネットワーク機器の名前と該ネットワーク機器のIPアドレスの対応関係を保持する検索サーバ装置を検出し、あるいは前記管理グループ名と前記命令に含まれる前記電子データの名前の少なくとも一部に基づき、前記複数の検索サーバ装置の中から前記電子データの名前と前記電子データを保持するネットワーク機器の対応関係を保持する検索サーバ装置を検出することを特徴とするネットワークシステム。
【請求項2】
請求項1記載のネットワークシステムであって、
前記サーバ装置は、
前記ネットワーク機器や電子データの名前を1つの文字列とみた場合のあらゆる部分文字列を生成する手段と、
前記部分文字列のハッシュ値と、前記ネットワーク機器と該ネットワーク機器のIPアドレスの対応関係又は前記電子データと該電子データを保持するネットワーク機器のIPアドレスの対応関係を保持する前記検索サーバのIPアドレスを対応付けて分散ハッシュ表として登録及び保持する手段を有することを特徴とするネットワークシステム。
【請求項3】
請求項2記載のネットワークシステムであって、
前記サーバ装置は、
前記部分文字列と前記IPアドレスとの対応関係を前記分散ハッシュ表に登録する際に、同一部分文字列がすでに登録されていた場合は、該すでに登録されている部分文字列に前記登録するIPアドレスを対応付けて追記することを特徴とするネットワークシステム。
【請求項4】
請求項1記載のネットワークシステムであって、
前記サーバ装置は、前記ユーザ側端末装置から送信された命令に対し、前記複数の検索サーバ装置のいずれかで検索された前記IPアドレスを返信することを特徴とするネットワークシステム。
【請求項5】
ユーザ側端末装置及び複数の検索サーバ装置に接続されたサーバ装置であって、
前記ユーザ側端末装置は、ユーザが所有するネットワーク機器の名前と該ネットワーク機器のIPアドレスの対応関係、または、該ユーザが所有する電子データの名前と該電子データを保持するネットワーク機器のIPアドレスとの対応関係を前記サーバ装置へ登録またはサーバ装置から削除する手段備え、
前記サーバ装置は、前記ユーザ側端末装置から送信されるユーザ名及びユーザパスワードを用いたユーザ認証手段と、該ユーザ名及び該ユーザパスワードと該ユーザが所有する前記ネットワーク機器又は電子データの管理グループ名の対応関係をユーザ情報として保持するアイテム管理グループ保持手段を有し、
前記複数の検索サーバ装置は、前記ネットワーク機器の名前と該ネットワーク機器のIPアドレスの対応関係、または、前記電子データの名前と該電子データを保持するネットワーク機器のIPアドレスとの対応関係を保持・消去する手段を備え、
さらに前記サーバ装置は、前記ユーザ側端末装置から前記サーバ装置へネットワーク機器又は電子データに関する命令が送られるたびごとに、前記ユーザ情報に基づき前記ユーザの前記管理グループ名を検出し、該管理グループ名と前記命令に含まれる前記ネットワーク機器の名前の少なくとも一部に基づき、前記複数の検索サーバ装置の中から前記ネットワーク機器の名前と該ネットワーク機器のIPアドレスの対応関係を保持する検索サーバ装置を検出し、あるいは前記管理グループ名と前記命令に含まれる前記電子データの名前の少なくとも一部に基づき、前記複数の検索サーバ装置の中から前記電子データの名前と前記電子データを保持するネットワーク機器の対応関係を保持する検索サーバ装置を検出することを特徴とするサーバ装置。
【請求項6】
請求項5記載のサーバ装置であって、
前記ネットワーク機器や電子データの名前を1つの文字列とみた場合のあらゆる部分文字列を生成する手段と、
前記部分文字列のハッシュ値と、前記ネットワーク機器と該ネットワーク機器のIPアドレスの対応関係又は前記電子データと該電子データを保持するネットワーク機器のIPアドレスの対応関係を保持する前記検索サーバのIPアドレスを対応付けて分散ハッシュ表として登録及び保持する手段を有することを特徴とするサーバ装置。
【請求項7】
請求項6記載のサーバ装置であって、
前記部分文字列と前記IPアドレスとの対応関係を前記分散ハッシュ表に登録する際に、同一部分文字列がすでに登録されていた場合は、該すでに登録されている部分文字列に前記登録するIPアドレスを対応付けて追記することを特徴とするサーバ装置。
【請求項8】
請求項5記載のサーバ装置であって、
前記ユーザ側端末装置から送信された命令に対し、前記複数の検索サーバ装置のいずれかで検索された前記IPアドレスを返信することを特徴とするサーバ装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【公開番号】特開2009−116709(P2009−116709A)
【公開日】平成21年5月28日(2009.5.28)
【国際特許分類】
【出願番号】特願2007−290286(P2007−290286)
【出願日】平成19年11月8日(2007.11.8)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
【公開日】平成21年5月28日(2009.5.28)
【国際特許分類】
【出願日】平成19年11月8日(2007.11.8)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
[ Back to top ]