(57)【要約】【課題】  ユーザが所有するネットワーク機器や電子データの名前解決サービスを予め定められたユーザグループにのみ提供すること。また、分散ハッシュ表を利用したアイテム名解決において、１文字でもアイテム名を間違えると、正確なＩＰアドレスを得ることが非常に困難であること。【解決手段】  ユーザ認証結果を利用して、ユーザからアクセスがあるたびに、アクセスできる範囲を確認する。また、アイテム名のあらゆる部分文字列をキーとして登録し、アイテム名とＩＰアドレスのペアを値とする。さらに、同一キーがすでに存在する場合には、値を追記する。【選択図】  図１
2009116709.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ側端末装置、サーバ装置及び複数の検索サーバ装置を備えたネットワークシステムであって、
前記ユーザ側端末装置は、ユーザが所有するネットワーク機器の名前と該ネットワーク機器のＩＰアドレスの対応関係、または、該ユーザが所有する電子データの名前と該電子データを保持するネットワーク機器のＩＰアドレスとの対応関係を前記サーバ装置へ登録またはサーバ装置から削除する手段を備え、
前記サーバ装置は、前記ユーザ側端末装置から送信されるユーザ名及びユーザパスワードを用いたユーザ認証手段と、該ユーザ名及び該ユーザパスワードと該ユーザが所有する前記ネットワーク機器又は電子データの管理グループ名の対応関係をユーザ情報として保持するアイテム管理グループ保持手段を有し、
前記複数の検索サーバ装置は、前記ネットワーク機器の名前と該ネットワーク機器のＩＰアドレスの対応関係、または、前記電子データの名前と該電子データを保持するネットワーク機器のＩＰアドレスとの対応関係を保持・消去する手段を備え、
さらに前記サーバ装置は、前記ユーザ側端末装置から前記サーバ装置へネットワーク機器又は電子データに関する命令が送られるたびごとに、前記ユーザ情報に基づき前記ユーザの前記管理グループ名を検出し、該管理グループ名と前記命令に含まれる前記ネットワーク機器の名前の少なくとも一部に基づき、前記複数の検索サーバ装置の中から前記ネットワーク機器の名前と該ネットワーク機器のＩＰアドレスの対応関係を保持する検索サーバ装置を検出し、あるいは前記管理グループ名と前記命令に含まれる前記電子データの名前の少なくとも一部に基づき、前記複数の検索サーバ装置の中から前記電子データの名前と前記電子データを保持するネットワーク機器の対応関係を保持する検索サーバ装置を検出することを特徴とするネットワークシステム。
【請求項２】
請求項１記載のネットワークシステムであって、
前記サーバ装置は、
前記ネットワーク機器や電子データの名前を１つの文字列とみた場合のあらゆる部分文字列を生成する手段と、
前記部分文字列のハッシュ値と、前記ネットワーク機器と該ネットワーク機器のＩＰアドレスの対応関係又は前記電子データと該電子データを保持するネットワーク機器のＩＰアドレスの対応関係を保持する前記検索サーバのＩＰアドレスを対応付けて分散ハッシュ表として登録及び保持する手段を有することを特徴とするネットワークシステム。
【請求項３】
請求項２記載のネットワークシステムであって、
前記サーバ装置は、
前記部分文字列と前記ＩＰアドレスとの対応関係を前記分散ハッシュ表に登録する際に、同一部分文字列がすでに登録されていた場合は、該すでに登録されている部分文字列に前記登録するＩＰアドレスを対応付けて追記することを特徴とするネットワークシステム。
【請求項４】
請求項１記載のネットワークシステムであって、
前記サーバ装置は、前記ユーザ側端末装置から送信された命令に対し、前記複数の検索サーバ装置のいずれかで検索された前記ＩＰアドレスを返信することを特徴とするネットワークシステム。
【請求項５】
ユーザ側端末装置及び複数の検索サーバ装置に接続されたサーバ装置であって、
前記ユーザ側端末装置は、ユーザが所有するネットワーク機器の名前と該ネットワーク機器のＩＰアドレスの対応関係、または、該ユーザが所有する電子データの名前と該電子データを保持するネットワーク機器のＩＰアドレスとの対応関係を前記サーバ装置へ登録またはサーバ装置から削除する手段備え、
前記サーバ装置は、前記ユーザ側端末装置から送信されるユーザ名及びユーザパスワードを用いたユーザ認証手段と、該ユーザ名及び該ユーザパスワードと該ユーザが所有する前記ネットワーク機器又は電子データの管理グループ名の対応関係をユーザ情報として保持するアイテム管理グループ保持手段を有し、
前記複数の検索サーバ装置は、前記ネットワーク機器の名前と該ネットワーク機器のＩＰアドレスの対応関係、または、前記電子データの名前と該電子データを保持するネットワーク機器のＩＰアドレスとの対応関係を保持・消去する手段を備え、
さらに前記サーバ装置は、前記ユーザ側端末装置から前記サーバ装置へネットワーク機器又は電子データに関する命令が送られるたびごとに、前記ユーザ情報に基づき前記ユーザの前記管理グループ名を検出し、該管理グループ名と前記命令に含まれる前記ネットワーク機器の名前の少なくとも一部に基づき、前記複数の検索サーバ装置の中から前記ネットワーク機器の名前と該ネットワーク機器のＩＰアドレスの対応関係を保持する検索サーバ装置を検出し、あるいは前記管理グループ名と前記命令に含まれる前記電子データの名前の少なくとも一部に基づき、前記複数の検索サーバ装置の中から前記電子データの名前と前記電子データを保持するネットワーク機器の対応関係を保持する検索サーバ装置を検出することを特徴とするサーバ装置。
【請求項６】
請求項５記載のサーバ装置であって、
前記ネットワーク機器や電子データの名前を１つの文字列とみた場合のあらゆる部分文字列を生成する手段と、
前記部分文字列のハッシュ値と、前記ネットワーク機器と該ネットワーク機器のＩＰアドレスの対応関係又は前記電子データと該電子データを保持するネットワーク機器のＩＰアドレスの対応関係を保持する前記検索サーバのＩＰアドレスを対応付けて分散ハッシュ表として登録及び保持する手段を有することを特徴とするサーバ装置。
【請求項７】
請求項６記載のサーバ装置であって、
前記部分文字列と前記ＩＰアドレスとの対応関係を前記分散ハッシュ表に登録する際に、同一部分文字列がすでに登録されていた場合は、該すでに登録されている部分文字列に前記登録するＩＰアドレスを対応付けて追記することを特徴とするサーバ装置。
【請求項８】
請求項５記載のサーバ装置であって、
前記ユーザ側端末装置から送信された命令に対し、前記複数の検索サーバ装置のいずれかで検索された前記ＩＰアドレスを返信することを特徴とするサーバ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アイテムの名前が入力されるとその所在を検索し応答するサービスと、前記サービスを実現するための、多数のアイテムを管理するために分散ハッシュ表を用いたネットワークシステム、およびその実現装置に関する。
【背景技術】
【０００２】
近年、家庭電化製品にネットワーク機能を付加し、家庭内ネットワークを構築することが可能となってきている。例えば、エコーネットコンソーシアム（http://www.echonet.gr.jp/）では、情報家電のネットワーク規格について検討がすすめられている。また、デジタルリビングネットワークアライアンス（http://www.dlna.org/jp/consumer/home）では情報家電とパソコンの相互接続について検討している。
【０００３】
このように、ＴＶ受像機、照明機器、冷蔵庫、ＤＶＤ機器、パソコン等家庭内のさまざまな機器がネットワークに接続されるようになると、ネットワークを介した、それらネットワーク機器の管理が必要となる。さらに、それらネットワーク機器に内蔵されるハードディスクドライブ等の記憶装置に記録された、映像や音声などさまざまな電子データの管理も必要となる。例えばハードディスクレコーダを利用すると、テレビ番組等映像を多数電子データとして記録でき、携帯音楽プレーヤには数千曲が電子データとして格納可能である。
【０００４】
ところで近年、特許文献１で開示されている分散ハッシュ表を活用したネットワークが注目されている。これは規模拡張性に優れており、ユーザが所有する電子データがどんなに増えても、非常に高い割合で、ある一定時間内に検索結果を応答することができるシステムである。
【０００５】
【特許文献１】特開２００５−２３４７６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
これら電子データ、例えば、デジタルカメラで撮影した画像データは簡単に数百、数千枚と増えて行く。そして、後で閲覧しようとする際に、ＰＣに取り込んであるのか、あるいはデジタルカメラ本体の記録媒体に保存したままであったのか、わからなくなる場合が多い。今後、記録媒体をもつ電子機器がますます増えていった場合に備え、今すぐ欲しい電子データがどの電子機器に保存されているのか、一瞬で検索できるようになることが望ましい。さらには、例えば家族間など、グループで共有して検索できるようになることが望ましい。
【０００７】
このような検索機能はたいていソフトウェアにより実現されるが、このソフトウェアを実装した装置の形態により、おおまかにいって、少なくとも家庭内にホームサーバを設置し管理することと、通信事業者が遠隔管理することの二通りが考えられる。
【０００８】
本発明は、後者の通信事業者が一般家庭向けにネットワーク機器や電子データの管理サービスを提供する場合に関するものである。
【０００９】
一般的にユーザにとって、所持しているネットワーク機器・電子データの種類、数、内容等は他人に秘密にしておきたい個人情報である。グーグル（http://www.google.co.jp）等の一般的な検索システムを上記サービスに適用すると、秘密にしておきたい個人情報を他人が検索できてしまう。また、同一のキーワードでも、ユーザによって検索したいものが物理的に異なる場合がある。例えば、「私のＰＣ」というキーワードでそのＩＰアドレスを検索する場合、ユーザによって所有するＰＣは物理的に異なるため、そのＩＰアドレスも物理的に異なる。
【００１０】
また、分散ハッシュ表を利用すると、数千台から数万台規模のサーバネットワークを構築し、一般ユーザに対して、家庭内に存在するネットワーク機器や、デジタルカメラで写した写真等の電子データを管理するサービスを実現できる可能性がある。しかし、ハッシュ表を利用するため、検索キーと完全に一致する対象が存在した場合にのみ、その対象を検索結果として応答できる、という制約がある。
【００１１】
詳細には、ネットワーク機器や電子データを管理する場合、通常管理対象の名前と、それがどこに存在するか、という所在情報が必要となる。ここで所在情報は通常ＩＰアドレスである。この名前からＩＰアドレスに変換することを、一般的に名前解決と呼ぶ。ネットワーク機器が対象の場合は、ネットワーク機器の名前から機器が持つＩＰアドレスへ変換する。電子データの場合は、電子データの名前から当該電子データを保持する機器のＩＰアドレスへ変換する。以下、ネットワーク機器と電子データを総称して「アイテム」と呼ぶことにする。そして、アイテムの名前（アイテム名）からＩＰアドレス等の所在情報に変換することを「アイテム名解決」と呼ぶ。また、アイテム名解決にひつような、前記ネットワーク機器の名前と機器が持つＩＰアドレス、および、電子データの名前と当該電子データを保持する機器のＩＰアドレスの対応をアイテム管理情報と呼ぶ。
【００１２】
本発明は、あるユーザが所持するアイテムに関し、予め利用が許可されているユーザグループのみ、前記アイテムのアイテム名解決が可能なシステムを提供する、という課題１を解決する。
【００１３】
また、アイテム名解決に分散ハッシュ表を利用する場合、一般的に、アイテム名を予め定められたハッシュ関数に入力し、計算して得られるハッシュ値をキー、ＩＰアドレスを値として表に登録、管理する。ハッシュ関数の特徴は、１文字でも異なる文字列からは、大きく異なる値が得られることである。すなわち、１文字でも名前を間違えると、正確なＩＰアドレスを得ることが非常に困難となる。よって記憶があやふやである場合、ＩＰアドレスへの変換が非常に困難であり、結果、探したいものを見つけることが非常に困難となる。また、同様の理由により、アイテム名にあるキーワードを含むものを一括してすべてアイテム名解決したい、という要求に応えることも非常に困難である。
【００１４】
本発明は、分散ハッシュ表を利用した検索の際に、アイテム名の部分文字列でアイテム名解決を実行可能とする、という課題２を解決する。
【課題を解決するための手段】
【００１５】
本発明においては、上記課題１を解決するため、ユーザがアイテム管理情報を登録・削除する手段を持つ。また、アイテム管理情報を管理するためのグループを用意、グループごとに利用できるユーザを予め設定しておき、設定外のユーザがグループ内のアイテム管理情報を登録・削除・検索できないように制御する。また、ユーザ認証時にユーザと利用できるグループ名を対応付けておき、ユーザがアイテム名の登録・削除・検索を実行するたびにグループ名の確認を実施する。またその際、ユーザがいちいちグループ名を指定しなくてもよいことを保証する。
【００１６】
また、上記課題２を解決するため、分散ハッシュ表を利用する際のキーと値、分散ハッシュ表への登録の仕方に工夫をする。キーに関しては、ネットワーク機器や電子データの名前を１つの文字列とみて、あらゆる部分文字列を生成し、キーとする。これにより、確実に覚えている部分のみをキーとすることで、探したいものを見つけることが可能となる。値に関しては、上記名前とＩＰアドレスのペアを値とする。ここでＩＰアドレスは、ネットワーク機器の場合はそれ自身が持つＩＰアドレス、電子データの場合はそれ自身を保持するネットワーク機器（たとえばパソコンやハードディスクレコーダ）のＩＰアドレスとする。
【００１７】
上記キーと値を分散ハッシュ表へ登録する際に、同一キーがすでに登録されていた場合、すでに登録されている値に、登録しようとしている値を追記する。通常のハッシュ表では、同一キーがすでに登録されていた場合は近くの空いているキーに振り替えるが、本発明では追記する。これにより、あるキーワードをキーとして、それを含むすべての名前と対応するＩＰアドレスを見つけることができる。
【発明の効果】
【００１８】
ユーザが所有するネットワーク機器や電子データの名前解決サービスを予め定められたユーザグループにのみ提供できる。
【００１９】
また、上記サービスを分散ハッシュ表により実現した際、キーワード検索機能を実現し、記憶があいまいであっても名前解決を成功させ、また、特定のキーワードを含むすべてのネットワーク機器や電子データの名前解決を一括して行うことができる。これら２つの効果により、一般ユーザに対してよりよいネットワーク機器や電子データの名前解決サービスを提供することができる。
【発明を実施するための最良の形態】
【００２０】
以下図面に従い、本発明による実施形態の１つを説明する。
【００２１】
まず説明に使用する記法について説明する。特に装置間処理シーケンスや装置内処理フローチャートの説明でメッセージの引数を記述する際は、例えば（user id, password）のようにカッコ内にカンマで区切って必要とされる引数を記述する。
【００２２】
図１は本発明による、個人所有のアイテムに関するアイテム名解決サービスの概念図である。ユーザ宅１５０には、アイテム名解決サービスの対象である、テレビ１１０、エアコン１１２、照明１１３、ＰＣ１１１等のネットワーク接続された電子機器と、それら電子機器内の記録媒体に保存されている、写真１２１、映画１２２、音楽１２３等の電子データが存在する。サービスプロバイダ１４０には、上記アイテムの管理情報（アイテム名と、そのアイテムのもつＩＰアドレス）を保持するサーバ１００が存在する。各ユーザは、サービスプロバイダとの契約等で定められたサーバにログオンし、アイテム名解決サービスを利用する。アイテム管理情報はグループ単位で処理される。グループとユーザの関係は図９で詳しく述べる。
【００２３】
ユーザは複数の場所から同一のグループに同時にログオンし、アイテム名解決サービスを使用することが可能である。また、サービスプロバイダがグループ名をシステム全体で一意になるように保証し、ログオン時に各ユーザが利用できるグループ名を決定することで、事前に登録されていないユーザが、該グループに参加することができなくなる。すなわち、あるグループに参加してアイテムを登録・削除・検索できるユーザを制御可能である。したがって、例えば両親や子供だけが利用できるグループを作成し、家族に限定したアイテム名解決サービスが提供できる。
【００２４】
図２は本発明による、個人所有のアイテムに関するアイテム名解決サービスの提供システム構成図である。ユーザ２５０側に検索端末２０１、２０２、２０３、．．．があり、サービスプロバイダ２４０側にログオンサーバ２００、検索サーバ２１１、２１２、２１３、．．．が存在する。検索端末は１ユーザが複数所持してもかまわない。また、複数ユーザが１検索端末を共有してもかまわない。検索サーバはユーザ規模により、数台の場合から、数万台の場合もある。検索端末、検索サーバ、ログオンサーバの詳細はそれぞれ、図３、４、５で述べる。
【００２５】
図３は検索端末の構成図である。主記憶にある検索要求機能６０１は、ユーザが入力したキーワードを用いて、検索サーバに問い合わせを行なう。出入力機能６０２は、ユーザからの入力を受け取り、処理結果を表示する機能である。アイテム登録・削除機能６０３は、ユーザが入力したアイテム管理情報を、検索サーバに登録・削除する機能である。また、ユーザ認証機能６０４は、ログオン処理を実行する。これら４つの機能はすべて主記憶に配置されるプログラムで演算機能６００で実行される。
【００２６】
ログオンサーバアドレス６１１は、ログオンサーバ２００のＩＰアドレスであるが、ユーザがサービスプロバイダと契約する際などに、すでに与えられているものとする。検索サーバアドレス６１３は、ログオン時にサービスプロバイダがユーザに与えるもので、アイテム登録・削除、アイテム名解決を実行する際に、メッセージの送り先となるＩＰアドレスである。
【００２７】
ＩＰ通信機能６２１は、ログオンサーバ、検索サーバとのメッセージを送受信する機能である。
【００２８】
図４は検索サーバの構成図である。要求受付機能７０１は、検索端末から送られるアイテム検索、アイテム登録・削除メッセージを処理する。要求応答機能７０２は、アイテム検索、アイテム登録・削除の処理結果を基に応答メッセージを作成する。アイテム管理情報検索機能７０３は必要であれば複数の検索サーバにまたがり、アイテム管理情報格納領域７１１内でアイテム検索を実行する。アイテム管理情報登録・削除機能７０４は、アイテム登録・削除メッセージの内容にしたがって、必要であれば複数の検索サーバにまたがり、アイテム管理情報格納領域７１１にアイテム管理情報を登録・削除する。
【００２９】
アイテム管理情報格納領域７１１は分散ハッシュ表であり、アイテム管理情報を保持する。経路表７１３は、アイテム名と、そのアイテム管理情報を保持する検索サーバのＩＰアドレスとの対応を示す表である。
【００３０】
ログオンサーバアドレス７１２は、ログオンサーバのＩＰアドレスであり、あらかじめ設定されているものとする。ＩＰ通信機能７２１は検索端末、ログオンサーバとメッセージを送受信する。
【００３１】
図５はログオンサーバの構成図である。要求受付機能８０１は、検索端末から送られるログオン要求、検索サーバから送られる端末情報要求メッセージを処理する。要求応答機能８０２は、ログオン処理結果、端末情報検索結果を基に応答メッセージを作成する。ユーザ情報検索機能８０３は、ログオン処理時に実行され、ユーザ名でユーザ情報格納領域８１１を検索する。端末情報登録・削除機能８０４はログオン処理時に実行され、当該ユーザに関する端末情報（図９）を端末情報格納領域８１２に保存する。端末情報検索機能８０５はユーザ名で端末情報格納領域８１２を検索する。これら５つの機能は主記憶内に格納されるプログラムであり、演算機能８００により実行される。
【００３２】
ユーザ情報格納領域８１１はユーザ情報（図８）を保持する。これはユーザがサービスプロバイダと契約する際などに作成される。端末情報格納領域８１２は端末情報（図９）を保持する。これは、ログオン処理時に作成される。検索サーバアドレス情報８１３は、すべての検索サーバのＩＰアドレスをリストしたものである。ログオン処理時に、ここから１つ選択され、ユーザに通知される。ユーザはここで選択された検索サーバと接続し、アイテム名解決を実行する。
【００３３】
図６は検索サーバがもつ、アイテム管理情報格納領域７１１の一例である。ユーザが所有する電子データは増加しつづけると予想されるため、このアイテム管理情報表には、規模の拡張性が第一に要求される。そこで、規模の拡張性に優れた分散ハッシュ表を使って表を構成することが望ましい。使用するハッシュ関数はシステム全体で１つ選択されているものとする。キーはグループ名とアイテム名、またはアイテム名の部分文字列から構成される。ここではグループ名を「Ｂ家」、「の」をデリミタとしてキーを構成している。値は属性とＩＰアドレスから構成される。ここでのデリミタは「：」としている。属性には「端末」と「電子データ」の２つがあり、属性によってＩＰアドレスの意味が異なる。「端末」の場合はアイテム名であらわされる物品がもつＩＰアドレスであることを示す。また、ユーザがログオンした際に作成される。「電子データ」の場合は、アイテム名であらわされる物品が格納されている「端末」のＩＰアドレスであることを示す。また、ユーザがアイテム登録・削除した際に作成・削除される。
また、値が「属性：ＩＰアドレス（文字列）」である場合は、キーを構成するアイテム名を文字列が含んでいることを示す。図６の構成手法、使用方法については、図１０、１１、１２で述べる。
【００３４】
図７は、検索サーバがもつ、経路表７１３の一例である。キーは、アイテム名をハッシュ関数に入力して得られた、ハッシュ値の範囲である。値は、その範囲のアイテム名に関するアイテム管理情報を保持する検索サーバのＩＰアドレスである。例えば、あるユーザがあるアイテム名で検索を実行し、そのアイテム名のハッシュ値が２３４５であったとする。図７から２３４５をキー範囲に含むエントリの値は「１９２．１６８．０．３」である。したがって、検索サーバはＩＰアドレスが「１９２．１６８．０．３」である別の検索サーバにアイテム検索要求を送信する。ここで、「１２７．０．０．１」は自分を示し、この場合には自分の中で検索処理を実行する。
【００３５】
図８はログオンサーバが保持するユーザ情報である。キーはユーザ名であり、値は検索できるグループ名と、アイテムを登録・削除できるグループ名の２つから成る。このユーザとグループ名の対応は、ユーザとサービスプロバイダの契約時に作成される。あとから変更も可能であるが、その方法はここでは議論しない。ログオン時にこの表を参照し、各ユーザがアクセスできるグループが決定され、端末情報（図９）が作成される。
【００３６】
図９はログオンサーバが保持する端末情報である。キーはユーザ名、または検索端末名であり、値は検索端末のＩＰアドレス、ユーザ名で示されるユーザが検索できるグループ名、アイテムを登録・削除でいるグループ名である。ユーザのログオン処理時に、ユーザ情報（図８）とログオン要求メッセージ内のユーザ名、検索端末名、そのＩＰアドレスとから生成される。
【００３７】
図１０は、アイテム名からその部分文字列を生成した結果を示した図である。アイテム登録・削除時に、アイテム名からこのように部分文字列を生成する。
【００３８】
図１１は、図１０で生成された部分文字列をキーとして、「ＩＰアドレス（アイテム名）」を登録した結果のハッシュ表、すなわちアイテム管理情報表（図６の別の例）を示している。図１０では、アイテム名として「居間のテレビ」を例としている。部分文字列は２０個生成され、アイテム名自身を含めて２１個のキーがある。「居間のテレビ」の属性は「端末」であるから、２１個のキーすべてについて、値を「端末：Address25（居間のテレビ）」と登録する。他方、「寝室のテレビ」についても同様に２１個のキーがあり、そのすべての値を「端末：Address27（寝室のテレビ）」として登録する。
【００３９】
ここで、「居間のテレビ」と「寝室のテレビ」で部分文字列が共通のものがある。例えば「テレビ」である。この「テレビ」をキーとする値は、「端末：Address25（居間のテレビ）」と「端末：Address27（寝室のテレビ）」である。このようにキーが衝突した場合、値を連結して格納する。例えば、「端末：Address25（居間のテレビ）、端末：Address27（寝室のテレビ）」のようにカンマで区切って連結する。
【００４０】
さらに、「浴室のテレビ」というアイテム名を登録するとその部分文字列に「テレビ」があるため、上記の値にさらに連結され、例えば、「端末：Address25（居間のテレビ）、端末：Address27（寝室のテレビ）、端末：Address23（浴室のテレビ）」のようになる。
【００４１】
図１２は図１１の表を用いて検索する場合の一例である。例えばユーザが、過去録画した野球中継を探しており、家にある居間と寝室と浴室にあるテレビのいずれで録画したか忘れてしまったため、それらのＩＰアドレスを一回で知りたい場合、単に「テレビ」と入力すると上記３つのテレビのＩＰアドレスが得られる。このようにハッシュ表でありながら、部分文字列一致検索ができ、さらに検索キーを部分文字列として含むすべてのアイテム名を一回で検索可能となる。
【００４２】
以下、図１３〜１７はメッセージシーケンス図、図１８〜２８はプログラム実行フロー図の説明である。
【００４３】
図１３は本発明によるアイテム名解決システムへのログオンシーケンスである。ユーザがユーザＩＤとパスワードを入力すると、検索端末２１３はログオン要求（user1, password1, 端末3, address3）１８０１をログオンサーバへ送信する。ログオンサーバ２００はユーザ名とパスワードで認証が成功した場合、検索サーバアドレスを１つ選択して、ログオン応答（“ＯＫ”, address102）１８０２を返却する。認証が失敗した場合はログオン応答（“ＮＧ”）１８０２を返却する。
【００４４】
図１４はアイテム登録シーケンスである。ユーザがアイテム名（item1）を入力すると、検索端末２１３はアイテム登録要求（user1, address3, item1）１９０１をログオン応答で返却された検索サーバ２０２に送信する。検索サーバ２０２では以下の処理を行なう。
【００４５】
ユーザがアイテムを登録可能なグループがあるかどうか、ログオンサーバ２００に対し、端末情報要求（user1）１９０２を送信する。ログオンサーバ２００は、端末情報格納領域８１２を参照し、user1がアイテムを登録可能なグループ名を端末情報応答（user1, group1）１９０３で返却する。
【００４６】
検索サーバ２０２は得られたグループに対してアイテム登録を実行する。図１０に示したように、ひとつのアイテム名からは複数の部分文字列が生成され、それぞれ別個のキーとして登録される。そのため、アイテム登録要求１９０４はキーの数だけ作成され、送信される。これらアイテム登録要求１９０４の宛先は、経路表７１３を参照して決定されるため、通常複数の検索サーバに分散される。
【００４７】
すべてのアイテム登録要求に対応するアイテム登録応答１９０６がOkだった場合に、検索サーバ２０２はアイテム登録応答（“ＯＫ”）１９０８を検索端末２１３へ返却する。それ以外の場合は、アイテム登録応答（“ＮＧ”）１９０８を返却する。
【００４８】
図１５は、アイテム削除シーケンスである。図１４との主な違いは、検索サーバ２０２において、アイテム登録要求１９０４のかわりにアイテム削除要求２００４を送信する点である。
【００４９】
図１６は、アイテム検索シーケンスである。ユーザが検索したいアイテム名（item2）を入力すると、検索端末２１３はアイテム検索要求（user1, item2）２１０１を送信する。検索サーバ２０２では、ユーザがアイテム検索可能なグループがあるかどうか、ログオンサーバ２００へ端末情報要求（user1）２１０２を送信する。ログオンサーバ２００は、端末情報格納領域８１２を参照し、user1がアイテム検索可能なグループ名を端末情報応答（user1, group1, group4）２１０３で返却する。
【００５０】
検索サーバ２０２は得られたグループに対してアイテム検索を実行する。アイテム登録要求２１０４はグループの数だけ作成され、送信される。これらアイテム登録要求２１０４の宛先は、経路表７１３を参照して決定されるため、通常複数の検索サーバに分散される。
【００５１】
すべてのアイテム検索要求に対応するアイテム検索応答２１０６がOkだった場合に、検索サーバ２０２はアイテム検索応答（“ＯＫ”）２１０８を検索端末２１３へ返却する。それ以外の場合は、アイテム検索応答（“ＮＧ”）２１０８を返却する。
【００５２】
図１７は検索端末におけるログオンフロー図である。まず、ステップ２２０１では、ユーザからユーザ名とパスワードとともにログオン要求を受信する。ステップ２２０２において、ステップ２２０１で得たユーザ名、パスワード、および、該端末の端末名とＩＰアドレスを含むログオン要求メッセージ１８０１を作成する。この宛先はログオンサーバアドレス６１１である。このログオン要求メッセージはステップ２２０３でＩＰ通信機能により送信される。
【００５３】
ステップ２２０４でＩＰ通信機能により、ログオン応答メッセージ１８０２を受信すると、ステップ２２０５で処理結果を確認する。ＯＫの場合、ステップ２２０６でメッセージに含まれていた検索サーバのアドレスを取り出し、検索サーバアドレス６１３へ格納する。以後、検索サーバとのメッセージはすべてこのアドレスあてに送信する。最後にステップ２２０７で、ユーザにログオンが成功したことを通知する。
ステップ２２０５で処理結果がＮＧだった場合は、ステップ２２０８において、ユーザへログオン失敗を通知し、ユーザからの再度の入力を待ち受ける。
【００５４】
図１８はログオンサーバにおけるログオンフロー図である。ステップ２３０１において、ログオン要求１８０１を受信し、ユーザ名、パスワード、端末名、端末のＩＰアドレスをとりだす。ステップ２３０２において、前記ユーザ名をもって、ユーザ情報格納領域８１１（図８）を検索する。ステップ２３０３では検索結果得られたユーザ名とパスワードがステップ２３０１で得られたものと一致するか確認する。
【００５５】
一致する場合、ステップ２３０４において、端末名とユーザ名をキーとして、ＩＰアドレス、グループ名を端末情報格納領域８１２（図９）へ格納する。この時格納するグループ名はステップ２３０２で得られたものである。
【００５６】
ステップ２３０５では、検索サーバアドレス情報８１３から適当に１つのアドレスを選択する。これはユーザに対して窓口となる検索サーバである。宛先を２３０１で得られた端末のＩＰアドレスとし、ログオン結果をＯＫとし、前記検索サーバのアドレスを格納した、ログオン応答メッセージ１８０２を作成する。
【００５７】
一方、ステップ２３０３で一致しなかった場合、宛先を２３０１で得られた端末のＩＰアドレスとし、処理結果をＮＧとしたログオン応答メッセージを作成する。
【００５８】
最後にステップ２３０６で、ＩＰ通信機能がログオン応答メッセージを送信する。
【００５９】
図１９は検索端末におけるアイテム登録フロー図である。ステップ２４０１でユーザからアイテム登録要求を受信し、アイテム名とＩＰアドレスを取り出す。このアイテム名にはアイテムの属性情報が含まれているものとする。ステップ２４０２では、前記アイテム名、ＩＰアドレス、それからユーザ名を含んだアイテム登録要求メッセージ１９０１を作成する。宛先は検索サーバアドレス６１３に格納されているＩＰアドレスを用いる。ステップ２４０３ではＩＰ通信機能が本メッセージを送信する。ステップ２４０４でＩＰ通信機能がアイテム登録応答メッセージ１９０８を受信すると、ステップ２４０５で処理結果を取り出す。ＯＫの場合はステップ２４０６でユーザにアイテム登録成功を通知し、ＮＧの場合はステップ２４０７でユーザにアイテム登録失敗を通知する。
【００６０】
図２０は検索サーバ２０２におけるアイテム登録フロー図である。ステップ２５０１でアイテム登録要求１９０１を受信、ユーザ名、アイテム名、ＩＰアドレスを取り出す。ステップ２５０２で、前記ユーザ名を含んだ端末情報要求メッセージ１９０２を作成する。宛先はログオンサーバＩＰアドレス７１２に格納されているアドレスである。ステップ２５０３でＩＰ通信機能が前記メッセージを送信し、ステップ２５０４で端末情報応答メッセージ１９０３を受信するのを待つ。ステップ２５０５で応答メッセージ１９０３からグループ名を取り出す。ステップ２５０６ではグループ名が存在するか、空かを確認する。
【００６１】
グループ名が存在する場合、すべてのグループ名に関して以下のステップ２５１２までを繰り返す。ステップ２５０７で、まずアイテム名の部分文字列を図１０のように生成する。その際、アイテム名から属性を取り除いておく。そして、ステップ２５０８では生成された部分文字列それぞれについて、ステップ２５１２までを繰り返す。
【００６２】
ステップ２５０９において、前記部分文字列をキーとして、経路表７１３から検索サーバＩＰアドレスを検索する。ステップ２５１０では、前記検索サーバＩＰアドレスを宛先として、アイテム登録要求メッセージ１９０４を作成する。このメッセージには、前記グループ名、前記部分文字列、ステップ２５０７で取り除いたアイテム名の属性、ステップ２５０１で取り出したＩＰアドレス、アイテム名を含む。次にステップ２５１１でＩＰ通信機能が本メッセージを送信、ステップ２５１２でアイテム登録応答１９０６をまつ。すべてのアイテム登録応答メッセージを受信したら、ステップ２５１３において、内容を確認する。すべてＯＫの場合は、宛先をユーザ検索端末２１３としたアイテム登録応答（ＯＫ）１９０８メッセージを作成、ＩＰ通信機能から送信する。
【００６３】
図２１はアイテム名から部分文字列を生成するアルゴリズムを示した図である。アイテム名の先頭文字から、連続した文字を取り出すことで、すべての部分文字列を生成している。
【００６４】
図２２はログオンサーバにおけるアイテム登録フロー図である。ステップ２７０１において、端末情報要求１９０２を受信し、ユーザ名と取り出す。ステップ２７０２では、ユーザ情報格納領域を前記ユーザ名で検索する。ステップ２７０３では、ステップ２７０２で得られたグループ名を格納した端末情報応答メッセージ１９０３を生成する。もし、グループ名が得られなかった場合は空にしておく。宛先はステップ２７０１で受信した端末情報要求メッセージ２７０１の発信元である。ステップ２７０４でＩＰ通信機能が前記メッセージを送信する。
【００６５】
図２３は検索サーバ２０３におけるアイテム登録フロー図である。ステップ２８０１でアイテム登録要求メッセージ１９０４を受信、登録先グループ名、登録する部分文字列、アイテム名の属性、ＩＰアドレス、アイテム名を取り出す。ステップ２８０２において、アイテム情報格納領域７１１にグループ名、部分文字列をキーとして、アイテム名の属性、ＩＰアドレス、アイテム名を格納する。グループ名と部分文字列からキーを生成する方法は、デリミタを用いて単に文字列を連結する方法などがある。本実施例では「の」をデリミタとして使用している。同一キーですでに値が存在している場合には、そのうしろに追記する。
【００６６】
格納が成功したら、ステップ２８０３で、アイテム登録（ＯＫ）メッセージ１９０６を生成する。格納が失敗した場合は、ステップ２８０５において、アイテム登録（ＮＧ）メッセージ１９０６を生成する。どちらも宛先はステップ２８０１で受信したアイテム登録要求メッセージ１９０４の送信元アドレスである。 最後にステップ２８０４でＩＰ通信機能がアイテム登録応答メッセージを送信する。
【００６７】
アイテム削除の処理フローについては、登録が削除になるのみで、ほとんどアイテム登録と同一である。異なる部分のみ図２４に示す。図２４は検索サーバ２０３におけるアイテム削除フロー図である。登録時（図２３）との差異はステップ２９０２に表されている。グループ名、部分文字列をキーとして検索して得られた値に複数の「属性、ＩＰアドレス、アイテム名」のセットがあった場合、ステップ２９０１で取り出した属性、ＩＰアドレス、アイテム名と一致するもののみを削除する。また、削除の結果、値が空になった場合は、グループ名、部分文字列のキー部分も削除する。
【００６８】
図２５は検索端末におけるアイテム検索フロー図である。ステップ３００１でユーザが入力したアイテム名を受信する。ステップ３００２では、ユーザ名とアイテム名を含む、アイテム検索要求メッセージ２１０１を作成する。宛先は検索サーバアドレス６１３に格納されているＩＰアドレスを用いる。ステップ３００３でＩＰ通信機能が前記メッセージを送信し、ステップ３００４で検索応答メッセージ２１０８を受信するのを待つ。ステップ３００５では、受信した前記メッセージから、検索結果を取り出す。もし結果が存在する場合には、ステップ３００６で検索結果をユーザに通知する。もし結果が存在しない場合には、ステップ３００７でユーザに検索失敗を通知する。
【００６９】
図２６は検索サーバ２０２におけるアイテム検索フロー図である。ステップ３１０１において、アイテム検索要求メッセージ２１０１を受信、ユーザ名とアイテム名をとりだす。ステップ３１０２で、前記ユーザ名を含んだ端末情報要求メッセージ２１０２を作成する。宛先はログオンサーバＩＰアドレス７１２に格納されているアドレスである。ステップ３１０３でＩＰ通信機能が前記メッセージを送信し、ステップ３１０４で端末情報応答メッセージ２１０３を受信するのを待つ。ステップ３１０５で応答メッセージ２１０３からグループ名を取り出す。
【００７０】
ステップ３１０６では、グループ名が存在する場合、すべてのグループ名に関して以下のステップ３１１１までを繰り返す。ステップ３１０７で、前記アイテム名をキーとして、経路表７１３から検索サーバＩＰアドレスを検索する。ステップ３１０８では、前記検索サーバＩＰアドレスを宛先として、アイテム検索要求メッセージ２１０４を作成する。このメッセージには、前記グループ名、前記アイテム名を含む。次にステップ３１０９でＩＰ通信機能が本メッセージを送信、ステップ３１１０でアイテム検索応答２１０６をまつ。ステップ３１１１ですべてのアイテム検索応答メッセージを受信したことを確認したら、ステップ３１１２において、すべての検索結果をまとめ、宛先をユーザ検索端末２１３としたアイテム検索応答（ＯＫ、検索結果）２１０８メッセージを作成する。ここで、すべての検索結果がＮＧだった場合のみ、アイテム検索応答（ＮＧ）２１０８メッセージを作成する。最後にステップ３１１３で、前記メッセージをＩＰ通信機能から送信する。
【００７１】
図２７はログオンサーバ２００におけるアイテム検索フロー図である。これは図２２と同一である。
【００７２】
図２８は検索サーバ２０３におけるアイテム検索フロー図である。ステップ３３０１において、アイテム検索要求メッセージ２１０４を受信、グループ名とアイテム名を取り出す。ステップ３３０２で、アイテム管理情報格納領域７１１をグループ名、アイテム名をキーとして検索する。グループ名と部分文字列からキーを生成する方法は、デリミタを用いて単に文字列を連結する方法などがある。本実施例では「の」をデリミタとして使用している。検索結果が得られた場合はステップ３３０３において、アイテム検索応答（ＯＫ、検索結果）メッセージ２１０５を生成する。検索結果が得られなかった場合は、ステップ３３０５において、アイテム検索応答（ＮＧ）メッセージ２１０５を生成する。どちらの場合もあて先は３３０１で受信したアイテム検索要求メッセージ２１０４の送信元アドレスである。最後にステップ３３０４でＩＰ通信機能が前記メッセージを送信する。
【図面の簡単な説明】
【００７３】
【図１】アイテム名解決サービスの概念図。
【図２】アイテム名解決サービスのシステム構成図。
【図３】検索端末の構成図。
【図４】検索サーバの構成図。
【図５】ログオンサーバの構成図。
【図６】アイテム管理情報表。
【図７】検索サーバが保持する経路表。
【図８】ログオンサーバが保持するユーザ情報。
【図９】ログオンサーバが保持する端末情報。
【図１０】部分文字列を生成した結果例。
【図１１】アイテム管理情報表の例。
【図１２】検索例。
【図１３】ログオンシーケンス。
【図１４】アイテム登録シーケンス。
【図１５】アイテム削除シーケンス。
【図１６】アイテム検索シーケンス。
【図１７】検索端末におけるログオンフロー図。
【図１８】ログオンサーバにおけるログオンフロー図。
【図１９】検索端末におけるアイテム登録フロー図。
【図２０】検索サーバ２０２におけるアイテム登録フロー図。
【図２１】アイテム名から部分文字列を生成するフロー図。
【図２２】ログオンサーバにおけるアイテム登録フロー図。
【図２３】検索サーバ２０３におけるアイテム登録フロー図。
【図２４】検索サーバ２０３におけるアイテム削除フロー図。
【図２５】検索端末におけるアイテム検索フロー図。
【図２６】検索サーバ２０２におけるアイテム検索フロー図。
【図２７】ログオンサーバ２００におけるアイテム検索フロー図。
【図２８】検索サーバ２０３におけるアイテム検索フロー図。
【符号の説明】
【００７４】
１６０１  本発明による構成された、ハッシュ表に格納する値。
【図１】
2009116709.tif 000003
【図２】
2009116709.tif 000004
【図３】
2009116709.tif 000005
【図４】
2009116709.tif 000006
【図５】
2009116709.tif 000007
【図６】
2009116709.tif 000008
【図７】
2009116709.tif 000009
【図８】
2009116709.tif 000010
【図９】
2009116709.tif 000011
【図１０】
2009116709.tif 000012
【図１１】
2009116709.tif 000013
【図１２】
2009116709.tif 000014
【図１３】
2009116709.tif 000015
【図１４】
2009116709.tif 000016
【図１５】
2009116709.tif 000017
【図１６】
2009116709.tif 000018
【図１７】
2009116709.tif 000019
【図１８】
2009116709.tif 000020
【図１９】
2009116709.tif 000021
【図２０】
2009116709.tif 000022
【図２１】
2009116709.tif 000023
【図２２】
2009116709.tif 000024
【図２３】
2009116709.tif 000025
【図２４】
2009116709.tif 000026
【図２５】
2009116709.tif 000027
【図２６】
2009116709.tif 000028
【図２７】
2009116709.tif 000029
【図２８】
2009116709.tif 000030