JP4096223B2 - Service search apparatus and method - Google Patents

Service search apparatus and method Download PDF

Info

Publication number
JP4096223B2
JP4096223B2 JP2001284485A JP2001284485A JP4096223B2 JP 4096223 B2 JP4096223 B2 JP 4096223B2 JP 2001284485 A JP2001284485 A JP 2001284485A JP 2001284485 A JP2001284485 A JP 2001284485A JP 4096223 B2 JP4096223 B2 JP 4096223B2
Authority
JP
Japan
Prior art keywords
service
search
network
information
service search
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001284485A
Other languages
Japanese (ja)
Other versions
JP2003091553A (en
Inventor
浩一 吉村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2001284485A priority Critical patent/JP4096223B2/en
Priority to US10/097,343 priority patent/US7177869B2/en
Publication of JP2003091553A publication Critical patent/JP2003091553A/en
Application granted granted Critical
Publication of JP4096223B2 publication Critical patent/JP4096223B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ネットワークにおいて、いずれのノードがどのようなサービスを提供しているかを示す情報を、サービスを受けようとしているノードに対して提供するサービス検索装置およびその方法に関する。
【0002】
【従来の技術】
複数のネットワークが相互に接続された広域ネットワークにおいて、いずれのノードがどのようなサービスを提供しているかの情報を、サービスを受けようとしているノードに対して提供する方法として、例えば、「特開平10−56451号公報」(文献1)は、ARP(Address Resoluti
on Protocol)テーブルを用いて、網羅的に全てのノードを検索する方法を開示する。
また、「特開平11−167585号公報」(文献2)は、サービスに関する情報をマルチキャストにより定期的に集めて管理する方法を開示する。
また、「特開平11−195048号公報」(文献3)は、コスト情報に応じてノードを検索する範囲を決定する方法を開示する。
【0003】
しかしながら、上述した文献1〜3に開示された方法を、複数のネットワークに渡って適用しようとすると、多くの処理時間を要し、また、ネットワーク内のトラヒックを過度に増加させてしまう。
【0004】
【発明が解決しようとする課題】
本発明は、上述した従来技術の問題点に鑑みてなされたものであり、ネットワークにおいて、いずれのノードがどのようなサービスを提供しているかを検索し、サービスを受けようとしているノードに対して提供することができるサービス検索装置およびその方法を提供することを目的とする。
また、本発明は、ネットワークにおけるトラヒックを過度に増加させることなく、しかも、短い処理時間でサービスを検索することができるサービス検索装置およびその方法を提供することを目的とする。
また、本発明は、複数のネットワークに渡って容易にサービスを検索することができるサービス検索装置およびその方法を提供することを目的とする。
【0005】
【課題を解決するための手段】
上記目的を達成するために、本発明にかかるサービス検索装置は、ネットワークが提供するサービスを検索するサービス検索装置であって、前記ネットワークにおけるサービスの検索範囲を設定する検索範囲設定手段と、前記ネットワークにおいて、前記設定された検索範囲に含まれるサービスを検索するサービス検索手段とを有する。
【0006】
好適には、前記ネットワークは複数の領域を含み、前記サービス検索装置は、前記複数の領域それぞれに1つ以上ずつ置かれ、前記検索範囲設定手段は、前記複数の領域の1つ以上それぞれの一部または全部を含む前記検索範囲を設定し、同じ領域において提供されるサービスの第1のサービス情報を収集する第1のサービス情報収集手段と、前記設定された範囲に含まれる他の領域それぞれにおいて収集された第2のサービス情報を収集する第2のサービス情報収集手段とを有し、前記サービス検索手段は、前記収集された第1のサービス情報および第2のサービス情報から、前記設定された範囲において提供されるサービスを検索する。
【0007】
好適には、前記サービスそれぞれは、前記ネットワークに含まれるサービス提供手段により提供され、前記サービス提供手段は、問い合わせに応じて前記サービス情報を送信し、前記第1のサービス情報収集手段は、同じ領域に含まれる前記サービス提供手段それぞれに対して問い合わせ、前記サービス提供手段それぞれから送信される第1のサービス情報を収集する。
【0008】
好適には、前記収集された第1のサービス情報の一部または全部を、問い合わせに応じて、前記第2のサービス情報として送信するサービス情報送信手段を有し、前記第2のサービス情報収集手段は、他の領域に対して問い合わせ、他の領域において収集された前記第2のサービス情報を収集する。
【0009】
好適には、前記第1のサービス情報それぞれは、当該サービスの使用条件を含み、前記収集された第1のサービス情報を、前記第1のサービス情報それぞれの使用条件に基づいてフィルタリングするフィルタリング手段を有し、前記サービス情報送信手段は、前記フィルタリングされた結果として得られたサービス情報を、前記第2のサービス情報として送信する。
【0010】
好適には、前記サービス検索手段は、要求元からの要求に応じて、前記収集された第1のサービス情報および第2のサービス情報から、前記設定された範囲において提供されるサービスを検索し、前記フィルタリング手段は、前記第1のサービス情報それぞれの使用条件および前記要求元に基づいてフィルタリングを行う。
【0011】
好適には、前記第1のサービス情報および第2のサービス情報は、前記サービス提供手段の所在地の地理的情報を含み、前記検索範囲設定手段は、前記第1のサービス情報および前記第2のサービス情報に含まれる地理的情報に基づいて、前記検索範囲を設定する。
【0012】
好適には、前記ネットワークは、前記複数の領域それぞれのサービス検索装置を登録するサービス検索装置登録手段を有し、同じ領域に置かれた他のサービス検索装置を検出するサービス検索装置検出手段と、前記他のサービス検索装置を検出の結果に応じて、自らが属するサービス検索装置を前記サービス検索装置登録手段に登録する登録手段とを有し、前記第2のサービス情報収集手段は、前記サービス検索装置登録手段に登録された他の領域のサービス検索装置により収集された前記第2のサービス情報を収集する。
【0013】
好適には、前記収集された第1のサービス情報に含まれる地理的情報に基づいて、同じ領域に含まれるサービス提供手段の所在地をクラスタリングした結果として得られるクラスタを示すクラスタ情報を生成するクラスタリング手段を有し、前記第2のサービス情報収集手段は、他の領域において生成されたクラスタ情報をさらに収集し、前記検索範囲設定手段は、同じ領域および他の領域において生成されたクラスタ情報に基づいて、前記検索範囲を設定する。
【0014】
好適には、前記ネットワークは、前記複数の領域それぞれのサービス検索装置を登録するサービス検索装置登録手段を有し、同じ領域に置かれた他のサービス検索装置を検出するサービス検索装置検出手段と、前記他のサービス検索装置を検出の結果に応じて、自らが属するサービス検索装置と、前記生成されたクラスタ情報とを前記サービス検索装置登録手段に登録する登録手段とを有し、前記検索範囲設定手段は、同じ領域において生成されたクラスタ情報と、前記登録されたクラスタ情報とに基づいて、前記検索範囲を設定する。
【0015】
好適には、前記同じ領域と他の領域との間の通信の条件を検知する通信条件検知手段を有し、前記検索範囲設定手段は、検知した通信の条件に基づいて、前記検索範囲を設定する。
【0016】
好適には、前記サービス検索手段は、要求元からの要求に応じ、検索条件に従って、前記収集された第1のサービス情報および第2のサービス情報から、前記設定された範囲において提供されるサービスを検索し、前記検索範囲設定手段は、前記要求元および前記検索条件またはこれらのいずれかに基づいて、前記検索範囲を設定する。
【0017】
また、本発明にかかるサービス検索方法は、ネットワークが提供するサービスを検索するサービス検索方法であって、前記ネットワークにおけるサービスの検索範囲を設定し、前記ネットワークにおいて、前記設定された検索範囲に含まれるサービスを検索する。
また、本発明にかかるプログラムは、ネットワークが提供するサービスをコンピュータに検索させる検索プログラムであって、前記ネットワークにおけるサービスの検索範囲を設定するステップと、前記ネットワークにおいて、前記設定された検索範囲に含まれるサービスを検索するステップとを含む。
【0018】
【発明の実施の形態】
[本発明の背景]
まず、本発明の背景を説明する。
ネットワークを介していろいろなサービスを受けることができ、このサービスには、同種であっても、提供するサーバによって品質や、通信プロトコルなどの属性が異なるものが含まれる。
【0019】
[サービス属性]
例えば、ネットワークを介してサーバに接続し、プリントサービスを受けようとした場合、サーバによって、プリントアウト時の解像度などの品質、排紙速度などの性能、ソータの有無などの付加機能、各種プリントプロトコルなどの通信プロトコル、アクセス権の有無などの使用許諾、および、費用など(以下、これらを「サービス属性」とも記載する)が異なる。
【0020】
[サービスロケーション(サービス位置)]
サービスは、サービスを提供するサーバ装置のネットワークアドレス、ドメインネームおよびURLなど(以下、これらを「サービスロケーション(サービス位置)」とも記載する)により識別され、利用者は、スキャナなどのクライアント装置から、このサービスロケーションを用いてサービスを提供するサーバにアクセスすることができる。
なお、以下、サーバ(装置)およびクライアント(装置)などと記載するが、実際の名称にかかわらず、前者は広くサービスを提供する装置を意味し、後者は広くサービスの提供を受ける装置を意味する。
【0021】
ここで、サービスには上述のように属性(サービス属性)があるので、利用者は、いずれのサーバで、どのような属性のサービスが、どのような制約条件(プロトコルおよび課金方法など)および測定基準(費用など)で得られるかを考慮して、サーバを選択する必要がある。
しかしながら、利用者がこのような知識を得ることは難しく、特に、ユーザが初めてネットワークにアクセスした場合、普段アクセスしているネットワークから離れて、一時的に他のネットワークにアクセスした場合などには、利用者に、このような知識が全くないのが普通である。
【0022】
一方、インターネットのような広域ネットワークは、複数のネットワーク(IPサブネット、企業イントラネットおよびインターネット接続業者(Internet Service Provider)など)が論理的に階層化され、相互に接続された集合体として構成されており、これら複数のネットワークそれぞれは、運用主体をはじめとして、ネットワーク設計および運用方法などの多くの点で異なっており、均質ではない。
広域ネットワークに含まれるネットワーク同士の相互接続は、ルータおよびファイヤウォールなどの中継装置を介して、ネットワーク間の相互干渉を防止しつつ行われる。
【0023】
サービス属性を考慮したサービスロケーションの検索のためには、例えば、ネットワークにおいて到達可能な全てのノードが提供するサービスの属性を検出し、検出したサービス属性から、利用者が望むものを抽出する方法がある。
このような検索は、具体的には、事前登録方式、総当り方式、一斉同報方式あるいはWWWロボット検索方式などにより実現される。
【0024】
[事前登録方式]
事前登録方式は、サービスを提供するサーバを設置するときに、サービスロケーションおよびサービス属性などを検索機能を備えたデータベースに登録しておき、予め登録された情報を検索して、その結果を利用者に提供する。
この方式の例として、LDAP(Lightweight Directory Access Protocol, Version 3; IETF RFC2251)を用いた企業組織ディレクトリ、および、ゼロックス社XNSにおけるClearing House(「ローカルエリアネットワーク−イーサネット概説−」・改訂2版,上谷編著,丸善株式会社刊,1988年3月25日)などを挙げることができる。
この方式は、ネットワークにおける全てのノードのサービス属性およびサービスロケーションなどを一元的に管理するデータベースを必要とする。
【0025】
[総当り方式]
総当り方式は、ネットワークのアドレス空間に含まれる全てのネットワークアドレスにアクセスし、サービス属性を問い合わせる。
この方式の例として、ICMP(Internet Control Message Protocol; IETF RFC792)・エコーを用いたシリアルピニング(Serial Pinging)を挙げることができる。
この方式は、アドレス空間の大きさに応じたトラヒックと処理時間を必要とする。
【0026】
[一斉同報方式]
一斉同報方式は、一斉同報通信(IPマルチキャストなど)によるサーバに対する応答要求、および、サーバの一斉同報通信による自らのサービスの公示(Advertise)またはこれらのいずれかを行う。
この方式の例として、SLP(Service Location Protocol, Version 2; IETF RFC2608)およびSSDP(Simple Service Discovery Protocol)を挙げることができる。
【0027】
一斉同報方式によれば、一斉同報通信が到達可能な範囲でサービス属性を検索可能であり、一斉同報通信の到達範囲は、ルータ・ファイヤウォールおよびパケットの生存時間(ルータのHOP数)などで制限される。
この一斉同報方式によりサービス属性を検索し、収集することができる範囲(以下「サービス収集領域」とも記す)は、ネットワーク空間における位置により制限され、サーバ装置とクライアント装置と間の地理的距離による直接的な制限はない。
一斉同報方式によるサービス収集領域は、運用上、例えば、管理主体が同一なネットワークなどの範囲に限定されると予想され、従って、広域ネットワークには、それぞれ孤立した多数のサービス収集領域が存在していると予想される。
一斉同報方式は、一斉同報通信の到達範囲の大きさに応じた処理時間とトラヒックを必要とする。
【0028】
[WWWロボット検索方式]
WWWロボット検索方式は、検索エンジンあるいは検索ロボットと呼ばれるプログラムを用いて、WWW情報提供サービスに張られたハイパーリンクを自動的にたどって、他のWWW情報提供サービスを発見してデータベースに登録し、例えば、このデータベースに対するテキストによるキーワード検索を利用者の用に供する。
この方式の例として、LycosおよびAlta Vistaなどを挙げることができる。
【0029】
この方式における検索ロボットの動作は、HTTP(Hyper Text Transfer Protocol, Version 1.o; IETF RFC1945)およびW3C HTML(Hyper Text Markup Language)などのWWWシステムに依存し、WWWサーバが提供するサービスだけを検索することができる。
また、この方式によると、検索ロボットがハイパーリンクをたどるためにネットワークに大きなトラヒックが生じ、検索結果をデータベースに反映し、更新するために多くの処理時間を要する。
また、この方式を広域ネットワークに適用することができるのは、実際問題として上述のようなネットワーク検索機能提供者だけである。
【0030】
[地理的位置を考慮した検索]
一般的には、ネットワークを介したサービスの提供には地理的距離・地域的な制約はなく、利用者が利用しうるサービスは、サーバ装置が置かれた場所によって制限を受けることはない。
従って、ネットワークを介したサービスの利用者は、本来、サービス属性、制約条件および測定基準を考慮してサーバ装置を選択することができ、サーバ装置が置かれている場所、および、サーバ装置がいずれのネットワークに接続されているかなどを考慮しなくてもよい。
【0031】
しかしながら、例えば、プリントサービスなど、サービス結果を品物として利用者が受け取る必要がある場合には、サービスを受けるために、サーバ装置の地理的位置を考慮しなければならないものがある。
このような場合、利用者およびクライアント装置から近いサービスロケーション、あるいは、地理的な位置は遠くても、利用者がアクセスしやすい場所に置かれたサービスロケーションを検索する必要がある。
このような場合には、ネットワークにおける距離とともに、地理的な距離を考慮に入れてサービスの検索を行う必要がある。
【0032】
ここで、一般的に、地理的な距離とネットワークにおける距離との間には直接の関連はないので、例えば、利用者の近傍にありながら、クライアント装置とは別のネットワークに接続されているために、1つのネットワークに閉じたサービスの検索では発見できないサーバ装置が存在しうる。
従って、地理的に近い位置にあるサーバ装置を探す場合であっても、複数のネットワークに渡った検索を行う必要がある。
【0033】
[使用許諾に起因する問題]
さらに、複数のネットワークを介してサービスを検索しようとする場合には、使用許諾に起因する問題がある。
一般に、課金するか否かにかかわらず、全ての利用者に対して一律に使用を許諾することにより、あるいは、予め登録された利用者に対してのみ使用を許諾することにより、サービスの使用許諾が行われる。
【0034】
後者、つまり、使用許諾のために予め登録を要する場合には、サービスの使用のために認証が必要とされる。
認証方法がサーバ装置ごとに異なる上、セキュリティ上の問題などから、パスワードの入力なしにはサーバ装置にアクセスできず、サーバ装置のサービス属性を得ることはできない。
従って、後者の方法を採るサーバ装置にアクセスしようとしても、予め認証のためのパスワードなどを取得しておかない限り、アクセスできず、そのサーバ装置のサービス属性などを知ることはできない。
【0035】
[本発明にかかるサービス検索の概要]
本発明にかかるサービス検索においては、広域ネットワークなどに複数、含まれ、それぞれに閉じてサービスの検出が行われ、収集される領域(サービス収集領域)ごとに提供されているサービスが検出され、サービスを提供するサーバ装置の地理情報とともに、サービス情報(図7を参照して後述)として収集される。
また、サービス収集領域は、この領域内で管理主体・運用方法などが同じで、ネットワークが均質な範囲ということもできる。
サービス収集領域の例としては、一斉同報が可能な範囲、ファイヤウォールが遮断しない範囲、および、1つのディレクトリにネットワーク資源が登録されている範囲などを挙げることができる。
【0036】
収集されたサービス情報は、サービス収集領域の内外に公開され、公開されるサービス情報それぞれには、複数の段階を含む公開レベルが設定される。
公開されたサービス情報の提供が要求された場合には、要求元の利用者およびネットワークなどに応じて、要求元にサービス情報を公開するか否かなどを決めるフィルタリング処理が行われ、サービス情報が要求元に提供される。
【0037】
本発明にかかるサービス検索においてサービス情報が検索される際には、まず、検索の対象とする範囲が設定され、設定された検索範囲において公開されたサービス情報が検索され、検索の結果として得られたサービスロケーションおよびサービス属性などの情報が、利用者の用に供される。
【0038】
[検索範囲の設定方法]
以下、上述した検索範囲の設定方法を、さらに詳細に説明する。
図1は、複数のネットワークを含む広域ネットワーク1の構成を模式的に例示する図である。
広域ネットワーク1は、例えば、ネットワーク中継装置14−1を介して相互接続された3つのネットワーク(ネットワークA〜C)12A〜12Cを含む。ネットワーク12Aは、クライアント装置16A、および、図1中に黒丸で示す複数のサーバ装置18Aを含み、ネットワーク12Bは、図1中に白丸で示す複数のサーバ装置18Bを含み、ネットワーク12Cは、サーバ装置18Cを含む。
【0039】
[地理的空間の観点からの検索範囲の設定]
図1を参照してわかるように、広域ネットワーク1の広がりは、地理的空間10の観点と、ネットワーク空間の観点から見ることができる。
図2は、図1に示した広域ネットワーク1におけるクライアント装置16Aおよびサーバ装置18A,18Bの地理的空間10の観点からの地理的位置関係を示す図である。
図1に示すように、クライアント装置16Aから見て、ネットワーク12Bのサーバ装置18Bは、ネットワーク空間の観点から見ると、ネットワーク中継装置14−1を介して接続されているので、ネットワーク12Aのサーバ装置18Aと比べて遠い位置にある。
【0040】
一方、図2に示すように、ネットワーク12Aとネットワーク12Bのサービスエリアの一部または全部が地理的空間10上で重なり合うことがあるので、地理的空間10の観点からすると、サーバ装置18Aよりもサーバ装置18Bの方が、クライアント装置16Aから近い位置に存在することがある。
【0041】
例えば、プリントサービスなど、利用者がサービスの地理的な結果物を受け取る必要があるサービスについては、クライアント装置16Aと同じネットワーク12Aに接続され、ネットワーク空間の観点からは近いサーバ装置18Aよりも、クライアント装置16Aと異なるネットワーク12Bに接続され、ネットワーク中継装置14−1を介する分、ネットワーク空間の観点からは遠いサーバ装置18Bが、地理的空間10の観点からより近いことがありうる。
このような場合には、サーバ装置18Aを用いるよりも、サーバ装置18Bを用いた方が、クライアント装置16Aの利用者にとって有利であり、サーバの地理的位置の観点を優先してサービスの検索範囲を決めるとよい。
【0042】
さらに、ネットワーク12A,12Bのサービスエリア内で、サーバ装置18A,18Bの分布にある程度の偏りがある場合には、複数のサーバ装置18A,18Bそれぞれがサービスを提供しうる地理的な範囲を、複数のサーバ装置18A,18Bが地理的に分布する範囲と考えることができる。
従って、図2に示すように、複数のサーバ装置18A,18Bのうち、地理的位置関係が近いもの同士ごとに複数のグループに分け、これらのグループそれぞれに含まれるサーバ装置18A,18Bが存在する範囲それぞれを1つの領域(クラスタ)として領域分け(クラスタリング)すると、これらの領域の集合をもって、サーバ装置18A,18Bそれぞれの地理的なサービスエリアと考えることができる。
【0043】
サーバ装置18A〜18C(以下、これらのいずれかを特定せずに示す場合には、単に「サーバ装置18」とも記す)それぞれの地理的位置を示す地理情報としては、例えば、緯度・経度、行政区域名、郵便番号および高度などがあり、この地理情報は、複数のサービス検索装置の間で共有される場合には、これらの装置の間で内容および形式を統一されなければならない。
【0044】
[ネットワーク空間の観点からの検索範囲の設定]
図3は、ネットワーク中継装置(R2)14−2を介してネットワーク12Dを追加した広域ネットワーク1(図1,2)において、クライアント装置16Aおよびサーバ装置18A,18Bのネットワーク空間の観点からの位置関係を示す図である。
一方、WWWサーバからデータをダウンロードするなど、地理的空間10の観点からの距離が、第一義的な制約条件とならないサービスについては、クライアント装置16Aと同じネットワーク12Aに接続されているか否か、地理的距離が近いか遠いかにかかわらず、より高速にクライアント装置16Aに対してデータを転送しうるサーバ装置を選んでサービスの提供を受けることが、利用者にとって有利である。
このような場合、ネットワーク12A〜12C(以下、ネットワーク12A〜12Cのいずれかを特定せずに示す場合には、単に「ネットワーク12」とも記す)の伝送速度、伝送容量などのネットワーク空間の観点を優先してサービスの検索範囲を決めるとよい。
【0045】
具体的には、図3に示すように、ネットワーク12それぞれの内部における伝送速度および伝送容量、これらのネットワークを接続する中継リンク(LA〜LD)20A〜20Dの伝送速度および伝送容量、および、これらのネットワークの間で中継処理を行うネットワーク中継装置14−1,14−2におけるオーバーヘッドや処理負荷などが、クライアント装置16Aとサーバ装置18A〜18Cとの間の通信に影響を与える。
これらの要素は、クライアント装置16Aにおいては、サーバ装置18A〜18Cの応答速度、および、ファイル転送の際のスループットとして感知される。
【0046】
従って、ネットワーク空間の観点を優先する場合には、ネットワークの中継段数およびボトルネックの伝送帯域に基づいて通信経路を評価し、高速にデータ転送が可能であると予測される通信経路を介してクライアント装置16Aと接続可能な範囲にあるサーバ装置18A〜18Bに、サービスの検索範囲を限ることができる。
つまり、ネットワーク空間の観点を優先する場合には、例えば、下式1により表される評価関数を用いてネットワーク空間における距離を評価することにより、サービスの検索範囲を求めることができる。
【0047】
【数1】
f(ネットワークの中継段数,ボトルネックの伝送帯域);fは関数 (1)
【0048】
この場合、ネットワークの中継段数が少なければ少ないほどネットワーク空間における距離は短いと評価され、また、中継リンク20A〜20Dおよびネットワーク中継装置14−1,ネットワーク中継装置14−2などのボトルネックの伝送速度が高速であればあるほど、伝送容量が大きければ大きいほど、ネットワーク空間における距離は短いと評価される。
【0049】
この評価関数fにおける中継段数は、例えば、クライアント装置16Aとサーバ装置18A〜18Cそれぞれの間のネットワーク中継装置14−1,14−2の数(例えば、ルータのHOP数)として求めることができる。
また、この評価関数fにおける伝送容量は、データ転送に要する時間とデータのサイズから推定することができ、また、このような情報は、例えば、SNMP(Simple Network Management Protocol; IEFT RFC821)のMIB(Management Information Base)情報といったネットワーク管理情報として、遠隔のネットワークからも取得することが可能である。
さらに、実際にデータ通信を行って、エンド・ツー・エンドで、この評価関数fにおける伝送容量を推定したり、この評価関数fにおける伝送容量を、ルータ装置などからSNMPで取得したりする場合もある。
【0050】
[第1実施形態]
以下、本発明の第1の実施形態を説明する。
図4は、本発明にかかるサービス検索装置3A−1〜3D(以下、これらのいずれかを特定せずに示す場合には単に「サービス検索装置3A〜3D」あるいは「サービス検索装置3」とも記す)が用いられた第2の広域ネットワーク5の構成を例示する図である。
【0051】
図4に示すように、広域ネットワーク5は、IPネットワークなどのネットワーク12A,12Bがルータ装置22−1を介して接続され、ネットワーク12Bとネットワーク12Dがルータ装置22−2を介して接続され、ネットワーク12Cとネットワーク12Dがファイヤウォール装置24を介して接続されて構成される。
【0052】
ネットワーク12Aは、クライアント装置16A、18Aおよび1つ以上のサービス検索装置3A−1〜3A−lを含み、ネットワーク12Bは、サーバ装置18Bおよび1つ以上のサービス検索装置3B−1〜3B−mを含み、ネットワーク12Cはサーバ装置18Cを含む。
ネットワーク12Cは、1つ以上のサービス検索装置3C−1〜3C−n(l,m,nは整数)をさらに含む。
ネットワーク12Dは、ディレクトリ装置50およびサービス検索装置3Dを含む。
なお、広域ネットワーク5においては、各ノード間の一斉同報以外の通信は、XMLにより記述されたメッセージと、HTTPプロトコルにより行われる。
【0053】
図5は、図4に示したサービス検索装置3のハードウェア構成を示す図である。
図5に示すように、サービス検索装置3は、CPU300およびメモリ302などを含むコンピュータ本体30、キーボード・マウスなどの入力装置32、表示装置34、ネットワークインターフェース(ネットワークIF)36および記録装置38から構成される。
つまり、サービス検索装置3は、他のノード(クライアント装置16A、サーバ装置18A〜18Cおよび他のサービス検索装置3)との通信機能を有するコンピュータとしての構成を採る。
【0054】
図6は、図4に示したサービス検索装置3において、サービス検索を実行するサービス検索プログラム4の構成を示す図である。
図6に示すように、サービス検索プログラム4は、サービス情報収集部40、検索範囲設定部42、サービス公開部44およびサービス検索部46から構成され、例えば、図5に示した記録媒体380によりサービス検索装置3に供給され、メモリ302にロードされて実行される。
サービス検索プログラム4は、これらの構成部分により、上述した本発明にかかるサービス検索を実現する。
【0055】
[サービス情報収集部40]
ここで、サービス収集領域は、上述のように広域ネットワークなどに複数、含まれ、それぞれに閉じてサービスの検出およびサービスの収集が行われる領域を示す。
以下、説明の簡略化のために、サービス検索装置3のサービス収集領域がそれぞれが、ネットワーク12それぞれである場合を具体例とする。
サービス情報収集部40は、例えば、ネットワーク12それぞれを1つのサービス収集領域として、サービス収集領域に含まれるサーバ装置18からサービス情報を収集する。
【0056】
つまり、ネットワーク12Aにおいて、サービス検索装置3A(サービス検索プログラム4)のサービス情報収集部40は、ネットワーク12Aに属する複数のサーバ装置18Aそれぞれが提供するサービスの品質および通信プロトコルといったサービス属性などを示すサービス情報を収集する。
また、ネットワーク12Bにおいて、サービス情報収集部40は、ネットワーク12Bに属する複数のサーバ装置18Bそれぞれのサービス情報を収集する。また、ネットワーク12Cにおいて、サービス情報収集部40は、ネットワーク12Cに属するサーバ装置18Cのサービス情報を収集する。
なお、サービス情報収集部40は、収集したサービス情報を、図7に示すような形式で保持し、サービスデータベースとしてサービス情報公開部44の検索の用に供し、図8に示すサーバ装置18の地理情報を検索範囲設定部42に対して出力する。
図7に示す「更新日/日時」の具体例としては、「2001.3.20 11:51」などの日付と時刻を挙げることができ、「サービス情報」の内容は、図8を参照して後述する。
【0057】
図7は、サービス検索装置3(サービス検索プログラム4)のサービス情報収集部40(図6)が保持するサービス情報を示す図である。
図7に示すように、サービス情報収集部40は、サービス識別子(サービスID)、更新日/時刻およびサービス情報を対応づけて保持する。
このサービスデータベースは、サービス公開部44の検索の用に供され、その更新は、検索範囲設定部42とサービス公開部44に通知される。
【0058】
図8は、サーバ装置18からプライマリサービス検索装置3に伝送されるサービス情報を示す図である。
図8に示すように、サービス情報は、サービス種別、ネットワーク情報、地理情報、使用許諾情報およびサービス属性の各データを含む。
サービス属性は、一般属性およびサービス依存属性を含む。
一般属性は、課金情報、セキュリティ情報、転送プロトコル情報および運用組織情報の各データを含む。
【0059】
サービス種別は、サーバ装置18が提供するサービスの種別、例えば、プリントサービスあるいはスキャンサービスなどを示す。
【0060】
ネットワーク情報は、広域ネットワーク5においてサーバ装置18を一意に識別するために必要な情報、例えば、IPアドレス、FQDN(Fully Qualified Domain Name)あるいはURI(Universal Resource Identifier)を示す。
【0061】
地理情報は、サーバ装置18の地理的情報を示す情報を含む。
地理的情報は、必須の情報としてサーバ装置18が置かれている場所の緯度・経度情報を含み、その他の任意の情報としてサーバ装置18が置かれている建物の住所、建物の名称、フロア階数、フロア区画および部屋の名称などの情報を含む。
【0062】
使用許諾情報は、サーバ装置18がサービスを提供する範囲を示し、例えば、いずれのネットワーク12のクライアント装置12に対しても無制限にサービスを提供する旨、あるいは、サーバ装置18が属するネットワーク12の中に限定する旨を示す。
【0063】
一般属性の課金情報は、サーバ装置18が提供するサービスの使用料および支払い方法などを示す。
【0064】
セキュリティ情報は、サーバ装置18が提供するサービスに対応するセキュリティプロトコルを示す。
【0065】
転送プロトコル情報は、サーバ装置18が提供するサービスを受けるための通信プロトコルおよびAPI(Application Program Interface)を示す。
【0066】
運営組織情報は、サーバ装置18のサービスを運営する企業、部門、団体あるいは個人などの名称・氏名および連絡方法などを示す。
【0067】
サービス依存属性は、サーバ装置18が提供するサービスのサービス種別ごとに設定され、サービスの品質、性能、付加機能、対応文書のフォーマット、対応言語、対応文字セットおよびドライバの入手先などを示す。
【0068】
[検索範囲設定部42]
図9は、図6に示した検索範囲設定部42の構成を示す図である。
図9に示すように、検索範囲設定部42は、クラスタリング部420、相互発見部422、検索範囲生成部424およびネットワーク解析部426から構成される。
【0069】
検索範囲設定部42は、これらの構成部分により、他のプライマリサービス検索装置3(サービス検索プログラム4)の検索範囲設定部42に対して、図4に示したルータ装置22の段数およびデータ伝送容量など(ネットワーク情報)を問い合わせ、地理的空間の観点から求められるサービス検索範囲、および、ネットワーク空間の観点から求められる検索範囲を設定する。
【0070】
[クラスタリング部420]
検索範囲設定部42において、クラスタリング部420は、さらに、サービス情報収集部40から入力されるサービス情報(図8)の地理情報を処理して、自らが属するネットワーク12におけるサーバ装置18の地理的分布を、図2に示したようにクラスタリングし、クラスタを作成する。
さらに、サービス検索装置3は、上述のように作成したクラスタの緯度・経度座標の平均値(重心)を、そのクラスタの代表点とし、さらに、代表点から各サーバ装置18への距離の内、最長の距離を各クラスタの大きさ(クラスタサイズ)とする。
【0071】
図10は、サービス検索装置3(サービス検索プログラム4;図6)の検索範囲設定部420(図9)がディレクトリ装置50に登録するクラスタ情報を示す図である。
図11は、図9に示したクラスタリング部420からサービス公開部44(図6)に対して出力されるサーバ分布情報を示す図である。
クラスタリング部420は、生成したこれらの情報の内、図10に示すように、クラスタの代表点およびクラスタサイズを含むクラスタ情報を、相互発見部422に対して出力する。
また、検索範囲設定部420は、図11に示すように、クラスタID、代表点、および、各クラスタに含まれるサーバ装置18それぞれが提供するサービス(サービスID)のリストを含むサーバ分布情報をサービス公開部44に対して出力する。
図10に示すサービス検索装置のネットワークアドレスの内容の例としては、「139.168.0.1」といったIPアドレス、「クラスタ代表点リスト」の内容の例としては、「E139°44’35.66”,N35°39’58.76”」・「E139°44’25.27”,N35°40’08.30”」といった緯度・経度、「クラスタサイズ」の内容の例としては、100mといった数値を挙げることができる。
また、図11に示す「代表点」の例として、クラスタID・C1の代表点「E139°44’35.66”,N35°39’58.76”」、クラスタID・C1の代表点「E139°44’25.27”,N35°40’08.30”」といった緯度・経度、「クラスタに属するサービス(サービスIDのリスト)」の例としてC1について「S3,S4」、C2にすいて「S1,S2」といったIDを挙げることができる。
【0072】
[相互発見部422]
図12は、図9に示した相互発見部422による相互発見処理およびディレクトリ装置への登録を示すフローチャートである。
1つのネットワーク12A〜D(以下、これらのいずれかを特定せずに示す場合には単に「ネットワーク12」とも記す)に複数のサービス検索装置3が存在する場合には、1つのネットワーク12内のサービス検索装置3(サービス検索プログラム4)のいずれかがプライマリサービス検索装置3として動作し、他のサービス検索装置3(サービス検索プログラム4)がバックアップサービス検索装置3として動作する。
【0073】
ステップ100(S100)において、いずれかのネットワーク12において起動されたサービス検索装置3(サービス検索プログラム4)の検索範囲設定部42の相互発見部422(図9)は、一斉同報通信により、同じネットワーク12の中の他のサービス検索装置3に対して応答を要求し、一定期間、応答を待つとともに、他のサービス検索装置3に自らの存在を公示する。
【0074】
ステップ102(S102)において、一斉同報通信(S100)を行った相互発見部4223は、プライマリサービス検索装置3からの応答があったか否かを判断し、応答があった場合にはS104の処理に進み、これ以外の場合にはS106の処理に進む。
【0075】
ステップ104(S104)において、一斉同報通信を行った相互発見部4223は、自らをバックアップサービス検索装置3と認識する。
この応答を返したプライマリサービス検索装置3は、一斉同報通信を行ったサービス検索装置3を、バックアップサービス検索装置として登録する。
【0076】
ステップ106(S106)において、一斉同報通信を行った相互発見部422は、自らが属するサーバ装置18をプライマリサービス検索装置3と認識し、あらかじめ設定されたディレクトリ装置50のネットワークアドレスを用いてディレクトリ装置50と通信する。
【0077】
[ディレクトリ装置50へのプライマリサービス検索装置3の登録]
さらに、一斉同報通信を行ったサービス検索装置3(サービス検索プログラム4)の相互発見部422は、ディレクトリ装置50との通信により、ディレクトリ装置50に自らが属するサービス検索装置3のエントリがあり、アドレスおよびクラスタ情報(図10)が、既にプライマリサービス検索装置3の情報として登録されている場合には、その登録をそのままとする。
【0078】
また、相互発見部422は、他のサービス検索装置3のアドレスがプライマリサービス検索装置3として登録されている場合には、他のサービス検索装置3のエントリを消去し、自らが属するサービス検索装置3のエントリを作成し、作成したエントリに、自らが属するサービス検索装置3のネットワークアドレスおよびクラスタ情報(図10)を、プライマリサービス検索装置3の情報として登録する。
【0079】
また、ディレクトリ装置50にいずれのサービス検索装置3のネットワークアドレスも登録されていない場合には、相互発見部422は、ディレクトリ装置50に自らが属するサービス検索装置3のエントリを作成し、作成したエントリに、自らが属しているサービス検索装置3のアドレスおよびクラスタ情報(図10)を、プライマリサービス検索装置3の情報として登録する。
【0080】
各ネットワーク12のサービス検索装置3は、ネットワーク12Dのディレクトリ装置50にアクセスすることにより、任意のネットワーク12のプライマリサービス検索装置3のネットワークアドレスを得て通信を行うことができる。
【0081】
また、相互発見部422は、ディレクトリ装置50から他のネットワーク12のプライマリサービス検索装置3のアドレスおよびクラスタ情報(図10)を受け、これらの情報を検索範囲生成部424に対して通知する。
また、相互発見部422は、他のネットワーク12のプライマリサービス検索装置3のアドレスを、ネットワーク解析部426に通知する。
【0082】
[プライマリサービス検索装置とバックアップサービス検索装置]
以上のようにディレクトリ装置50に登録されたプライマリサービス検索装置3だけが、同じネットワーク内のクライアント装置に対してサービス検索機能を提供し、バックアップサービス検索装置3は、通常は、サービス検索機能の提供を行わない。
ただし、バックアップサービス検索装置3は、プライマリサービス検索装置3に登録され、プライマリサービス検索装置3に対して定期的にヘルスチェックを行い、正常に動作しているかをチェックする。
プライマリサービス検索装置3が正常動作していない場合には、バックアップサービス検索装置3同士でネゴシエーションを行い、いずれかのバックアップサービス検索装置3が、それまでのプライマリサービス検索装置3に代わって、サービス検索機能を提供する。
【0083】
[ネットワーク解析部426]
ネットワーク解析部426は、相互発見部422から入力された他のネットワーク12のプライマリサービス検索装置3の全てのアドレスに対して計測パケットを送信し、ネットワーク12A〜12Dの相互接続関係を解析する。
具体的には、例えば、ネットワーク解析部426は、TTL(Time To Live)を1つずつ増やしてICMPエコーパケットを送信し、プライマリサービス検索装置3と他のネットワーク12のプライマリサービス検索装置3との間の経路のルータ装置22(以下、ルータ装置22−1,22−2のいずれかを特定せず示す場合には単に「ルータ装置22」とも記す)の数を検知する。
【0084】
また、例えば、ネットワーク解析部426は、ICMPペアパケットを連続して送信するICMPエコーパケットと呼ばれる方法により、他のプライマリサービス検索装置3との間のデータ伝送容量を推定する。
ネットワーク解析部426は、以上の方法により得られたルータ装置22の数およびデータ伝送容量に基づいて、他のサービス検索装置3それぞれとの間のネットワーク空間における距離を示す情報として、例えば、高速にデータ伝送が可能と推定される順番に並べ、検索範囲生成部424に対して出力する。
【0085】
[検索範囲生成部424]
検索範囲生成部424は、サービス検索部46から入力される検索条件に基づいて、検索範囲とすべき他のネットワーク12のプライマリサービス検索装置3のアドレス、および、検索範囲とすべきクラスタのクラスタ情報(図10)を含む検索範囲情報を生成し、サービス検索部46に返す。
入力される検索条件には、例えば、サービス種別、サーバ装置18の地理的位置を指定する検索対象地域、および、ネットワーク空間の観点から検索の対象とすべきネットワーク12を指定する検索対象ネットワークを示す情報が含まれ、サービス種別は必須とされ、他は適宜、省略可能な情報として扱われる。
【0086】
検索範囲生成部424は、検索対象地域が指定された場合には、相互発見部422から入力された他のネットワーク12のプライマリサービス検索装置3のクラスタ情報(図10)に含まれるクラスタの代表点およびクラスタサイズに基づいて検索範囲を生成する。
この場合、検索範囲生成部424は、例えば、ネットワーク12A〜12Dのいずれに属するかにかかわらず、クライアント装置16(以下、クライアント装置がネットワーク12A〜12Dのいずれに属するかを特定しない場合には単に「クライアント装置16」とも記す)と地理的に近いクラスタを検索範囲に含める。
【0087】
また、検索範囲生成部424は、検索ネットワークが指定された場合には、相互発見部422から入力された他のネットワーク12のプライマリサービス検索装置3のアドレスから、指定されたネットワーク12のプライマリサービス検索装置3のアドレスを検索する。
【0088】
また、検索範囲生成部424は、検索対象領域および検索ネットワークの両方が省略された場合には、指定されたサービス種別を判断し、指定されたサービスが検索対象地域を考慮すべきときには、上述した検索対象地域が指定された場合の処理を行う。
また、この場合において、検索範囲生成部424は、検索の対象とされたサービスが、検索対象地域を考慮する必要がないときには、クライアント装置16に対して、ネットワーク空間の観点からの距離が近いクラスタ、あるいは、高速にデータ伝送を行えると推定されたクラスタを検索範囲に含める。
【0089】
[サービス公開部44]
図13は、サービス検索装置3(サービス検索プログラム4;図6)のサービス公開部44の構成を示す図である。
図13に示すように、サービス公開部44は、検索処理部440および公開制御部442から構成される。
サービス公開部44は、これらの構成部分により、サービス検索部46からの検索条件に応じて、サービス情報収集部40のサービスデータベース(図7)を検索し、サービス情報に含まれる使用許諾情報に基づいてフィルタリング処理を行い、検索条件およびフィルタリングの条件を満たすサーバ装置18のサービス情報を、サービス検索部46に検索結果として返す。
【0090】
[サービス公開部440]
サービス公開部440は、サービス検索部46から入力される検索条件に基づいて、サービス情報収集部40のサービスデータベース(図7)を検索し、検索条件に合ったサーバ装置18のサービス情報を、検索結果として公開制御部442に対して出力する。
検索条件には、検索範囲設定部42から入力された検索範囲に含まれる全てのクラスタのクラスタID(図11)、および、サービスの検索を要求したクライアント装置16のネットワークアドレスを含む。
【0091】
なお、これらの情報の内、クラスタIDは省略可能であり、クラスタIDが省略された場合には、サービス公開部440は、サービス情報収集部40のサービスデータベース(図7)で検索可能な全てのクラスタに含まれるサーバ装置18を検索する。
クラスタIDが指定された場合には、サービス公開部440は、検索範囲設定部42から入力されるサーバ分布情報(図11)を参照し、指定されたクラスタに含まれるサーバ装置18のサービス情報を検索する。
【0092】
[公開制御部442]
公開制御部442は、検索条件に含まれるクライアント装置16のネットワークアドレスから、クライアント装置16が属するネットワーク12(要求元ネットワーク12)を判別する。
【0093】
[フィルタリング処理]
公開制御部442は、サービス公開部440から入力されたサービス情報(図8)の使用許諾情報を参照し、要求元ネットワークに対して公開可能なサービス情報をサービス検索部46に対して出力するフィルタリング処理を行う。
つまり、公開制御部442は、サービス公開部440から入力されたサービス情報の内、使用許諾情報が、そのサーバ装置18が属しているネットワーク12内に限り使用が許されることを示している場合、要求元ネットワーク12が、そのサーバ装置18が属しているネットワークであるときにのみ、サービス情報をサービス検索部46に対して出力し、その他の場合には、サービス検索部46に対して出力しない。
【0094】
あるいは、使用許諾情報が、特定のネットワーク12内においてのみ使用が許されることを示している場合、要求元ネットワーク12が、その特定のネットワークに含まれるときにのみ、サービス情報をサービス検索部46に対して出力し、その他の場合には、サービス検索部46に対して出力しない。
【0095】
[サービス検索部46]
サービス検索部46(図6)は、同じネットワーク12に含まれるクライアント装置16および他のネットワーク12のサービス検索装置3(サービス検索プログラム4)のサービス検索部46から検索要求を受け、この要求に含まれる検索条件および検索範囲設定部42から入力される検索範囲に基づき、サービス公開部44に対して、あるいは、他のネットワーク12のサービス検索装置3(サービス検索プログラム4)に対してサービス情報の検索を要求する。
また、サービス検索部46は、同じサービス検索プログラム4のサービス公開部44および他のネットワーク12のサービス検索装置3(サービス検索プログラム4)に対する問い合わせに応じて返ってきた検索結果を、検索要求を行ったクライアント装置16および他のサービス検索プログラム4のサービス検索部46に返す。
【0096】
以下、図14および図15を参照して、サービス検索部46の処理をさらに説明する。
【0097】
[同じネットワーク12からの検索要求]
図14は、同じネットワーク12(図4)に属するクライアント装置16からサービスの検索要求を受けたサービス検索装置3(サービス検索プログラム4)のサービス検索部46(図6)の検索処理(S12)を示すフローチャートである。
ステップ120(S120)において、サービス検索部46は、同じネットワーク12に属するクライアント装置16からサービス検索要求(クエリー)を受信する。
【0098】
ステップ122(S122)において、サービス検索部46は、受信したサービス検索要求を解析する。
【0099】
ステップ124(S124)において、サービス検索部46は、検索条件を検索範囲設定部42に対して出力する。
【0100】
ステップ126(S126)において、サービス検索部46は、検索範囲設定部42から、検索範囲とすべき他のネットワーク12のプライマリサービス検索装置3のアドレス、および、検索範囲とすべきクラスタのクラスタ情報(図10)を含む検索範囲情報を受ける。
【0101】
サービス検索部46は、S140に含まれるS142〜S150の処理を、検索範囲内の全てのクラスタについて繰り返す。
ステップ142(S142)において、サービス検索部46は、検索範囲内のクラスタの1つについて、自らが属するネットワーク12に含まれているか否かを判断する。
そのクラスタが、自らが属するネットワーク12に含まれている場合にはS144の処理に進み、これ以外の場合にはS148の処理に進む。
【0102】
ステップ144(S144)において、サービス検索部46は、検索条件を生成し、サービス公開部44に対して検索を要求する。
【0103】
ステップ146(S146)において、サービス検索部46は、サービス公開部44から検索結果を受け取る。
【0104】
ステップ148(S148)において、サービス検索部46は、検索範囲のクラスタが属する他のネットワーク12のプライマリサービス検索装置3に対して、サービスの検索を依頼する。
【0105】
ステップ150(S150)において、サービス検索部46は、検索範囲のクラスタが属する他のネットワーク12のプライマリサービス検索装置3からサービス検索の結果を受け取る。
【0106】
ステップ160(S160)において、サービス検索部46は、サービス検索を依頼したクライアント装置16に対して、検索結果を返す。
【0107】
[他のネットワーク12からの検索要求]
図15は、他のネットワーク12(図4)に属するクライアント装置16からサービスの検索要求を受けたプライマリサービス検索装置3(サービス検索プログラム4)のサービス検索部46(図6)の検索処理(S18)を示すフローチャートである。
ステップ180(S180)において、サービス検索部46は、自らが属さない他のネットワーク12のプライマリサービス検索装置3からサービス検索の要求を受信する。
【0108】
ステップ182(S182)において、サービス検索部46は、サービス検索要求を解析する。
【0109】
ステップ184(S184)において、サービス検索部46は、検索条件を生成し、サービス公開部44に対して検索を要求する。
【0110】
ステップ186(S186)において、サービス検索部46は、サービス公開部44から検索結果を受け取る。
【0111】
ステップ188(S188)において、サービス検索部46は、サービス検索の要求元のプライマリサービス検索装置3に対して送信する。
【0112】
[広域ネットワーク5の動作]
以下、広域ネットワーク5(図4)の全体的な動作を説明する。
【0113】
[サービス検索装置3の初期段階におけるサービス情報の収集]
まず、図12を参照して説明したようにディレクトリ装置50に登録されたプライマリサービス検索装置3が、ディレクトリ装置50への登録された直後(初期段階)において行うサービス情報の収集を説明する。
図16は、サービス検索装置3(サービス検索プログラム4;図6)がディレクトリ装置50に登録された直後(初期段階)において行うサービス情報収集処理(S20)を示すフローチャートである。
図17は、図16に示したサービス検索装置3(サービス検索プログラム4;図6)の初期段階におけるサービス情報収集処理を示す図である。
【0114】
各ネットワーク12において、ディレクトリ装置50に対する登録(図12)を行ったプライマリサービス検索装置3(サービス検索プログラム4)のサービス情報収集部40は、この登録に続いて、図16のステップ200(S200)において、一斉同報通信により、同じネットワーク12に属するサーバ装置18に対してサービス情報を要求するとともに、その存在を公示する(図17(1))。
【0115】
サーバ装置18は、プライマリサービス検索装置3からのサービス情報の要求を待ち受けており、サービス情報要求を受けると、サービス検索装置3に対してサービス情報を返す(図17(2))。
【0116】
ステップ202(S202)において、サービス情報収集部40は、サーバ装置18からサービス情報を受信する。
【0117】
ステップ204(S204)において、サービス情報収集部40は、S200の処理から一定期間内に受信したサービス情報を、サービスデータベース(図7)に登録する。
【0118】
ステップ206(S206)において、サービス情報収集部40は、サービス公開部44および検索範囲設定部42に、サービスデータベースの更新を通知する。
【0119】
[新たに接続されたサーバ装置18のサービス情報の収集]
以下、サーバ装置18がネットワーク12に追加されたときに行われるサービス情報の収集を説明する。
図18は、サービス検索装置3(サービス検索プログラム4;図6)のサービス情報収集処理を示す図である。
図19は、サービス検索装置3(サービス検索プログラム4;図6)のサービス情報収集処理(S22)を示すフローチャートである。
図18に示すように、それぞれのネットワーク12においてサーバ装置18が接続され、起動されると、サーバ装置18は、接続されたネットワーク12内に対して、自らの存在と提供するサービスに関する情報を、一斉同報通信により公示する(図18(1))。
【0120】
図19のステップ220(S220)に示すように、プライマリサービス検索装置3(サービス検索プログラム4)のサービス情報収集部40(図6)は、サーバ装置18からの公示を待ち受けており、サーバ装置18からの公示を受信する。
【0121】
ステップ222(S222)において、プライマリサービス検索装置3は、一斉同報通信を行ったサーバ装置18に対してサービス情報を要求する(図18(2))。
サービス情報を要求されたサーバ装置18は、プライマリサービス検索装置3に対してサービス情報を返す(図18(3))。
【0122】
ステップ224(S224)において、サービス検索装置3(サービス検索プログラム4)のサービス情報収集部40は、サーバ装置18から返されたサービス情報を受信する。
【0123】
ステップ226(S226)において、サービス情報収集部40は、受信したサーバ装置18からのサービス情報が、既にサービスデータベース(図7)のエントリとして登録されているか否かを判断する。
登録されている場合にはS228の処理に進み、これ以外の場合にはS230の処理に進む。
【0124】
ステップ228(S228)において、サービス情報収集部40は、サービスデータベースを更新し、その旨を検索範囲設定部42およびサービス公開部44に通知する。
【0125】
ステップ230(S230)において、サービス情報収集部40は、受信したサーバ装置18のサービス情報をサービスデータベースに新規に登録する。
【0126】
ステップ232(S232)において、サービス情報収集部40は、データベースの更新を検索範囲設定部42およびサービス公開部44に通知する。
【0127】
[サービス情報の保持・消去]
以上説明したように各サーバ装置18からサービス情報を受けたプライマリサービス検索装置3は、各サーバ装置18からのサービス情報を、新たなサービス情報を受けることなく一定期間が経過するまで保持する。
図20は、サービス検索装置3(サービス検索プログラム4)のサービス情報収集部40がサービス情報を消去する処理(S24)を示すフローチャートである。
プライマリサービス検索装置3(サービス検索プログラム4)のサービス情報収集部40は、図20に示すステップ240(S240)サービスデータベース(図7)の各エントリについて、最後に更新した後、一定時間が経過しているか否かを判断する。
一定期間が経過していない場合には、サービス情報収集部40は処理を終了する。
【0128】
ステップ222(S222)において、サービス情報収集部40は、サービスデータベースのエントリの内、一定期間が経過したエントリを消去する。
ステップ224(S224)において、サービス情報収集部40は、サービスデータベースの更新を検索範囲設定部42およびサービス公開部44に通知する。
【0129】
なお、サービス公開部44は、サーバ装置18から新たなサービス情報を受けた場合に、それまで保持していたサービス情報に代えて、新たに受けたサービス情報を記憶・保持し、検索範囲設定部42およびサービス公開部44にその旨を通知する。
サービスデータベースのエントリを保持する上記一定期間は、通常、プライマリサービス検索装置3の管理者により例えば2日程度に設定される。
この期間を2日程度にすると、プライマリサービス検索装置3が頻繁に終了・起動されたとしても、そのたびにサービス情報が消去されることはない。
【0130】
図21は、サービス検索装置3がディレクトリ装置50にクラスタ情報を登録する処理を示す図である。
サービス検索装置3(サービス検索プログラム4)の検索範囲設定部42は、図21に示すように、上述のように作成した各クラスタと、それらの代表点およびクラスタサイズとを、クラスタ情報(図10)として、ディレクトリ装置50に登録する(図21(1))。
【0131】
[広域ネットワーク5の動作]
図22は、ネットワーク12Aのプライマリサービス検索装置3A(サービス検索プログラム4)の全体動作を示す第1の図である。
図23は、ネットワーク12Aのプライマリサービス検索装置3(サービス検索プログラム4)の全体動作を示す第2の図である。
以下、図22,図23を参照して、ネットワーク12Aのプライマリサービス検索装置3Aを例として、ここまで説明した広域ネットワーク5の動作を全体を通して説明する。
【0132】
クライアント装置16A(図4)は、ネットワーク12A内に一斉同報通信を行い、ネットワーク12A内のプライマリサービス検索装置3Aに応答を要求する(図22(1))。
図23に示すように、ネットワーク12Aのプライマリサービス検索装置3A(サービス検索プログラム4)のサービス検索部46(図6)は、クライアント装置16Aからの一斉同報通信を待ち受けており、クライアント装置16Aからの一斉同報通信(図22(1))を受けると、応答を返す(図22(2))。
【0133】
クライアント装置16Aは、応答を返したプライマリサービス検索装置3Aに対して、クライアント装置16Aの地理情報(緯度・経度など)および検索条件を付して検索要求(クエリー)を出す(図22(3))。
クエリーに付される検索条件は、例えば、検索対象領域、検索対象ネットワークおよび検索使用とするサービスの条件(検索サービス条件)を含む。
サービス検索装置3A(サービス検索プログラム4)のサービス検索部46は、クライアント装置16Aからのクエリーを受けると、プライマリサービス検索装置3Aは検索を開始する。
【0134】
図23に示すように、サービス検索装置3A(サービス検索プログラム4)のサービス検索部46は、検索条件を検索範囲設定部42(図6)に通知する。
例えば、クエリーに検索対象領域および検索対象ネットワークが指定されていない場合には、プライマリサービス検索装置3A(サービス検索プログラム4)の検索範囲設定部42は、ネットワーク12Aの全領域を検索範囲とし、サービス検索部46に通知する。
【0135】
サービス検索装置3A(サービス検索プログラム4)のサービス検索部46は、サービス公開部44(図6)に対して検索条件を通知し、ネットワーク12Aに含まれるサーバ装置18Aのサービス情報の検索を依頼する。
サービス公開部44は、この依頼に応じて検索を実行し、検索結果をサービス検索部46に返す。
【0136】
また、例えば、クライアント装置16Aのクエリーに検索対象領域としてクライアント装置16Aの近傍が指定された場合、サービス検索装置3A(サービス検索プログラム4)の検索範囲設定部42は、クライアント装置16Aの所在地を含むネットワーク12A〜12Dのクラスタの全てを検索範囲に設定する。
サービス検索装置3A(サービス検索プログラム4)のサービス検索部46は、サービス公開部44に対して、ネットワーク12Aに設定された検索範囲内の全てのクラスタに含まれるサーバ装置18Aのサービス情報の検索を依頼し、サービス公開部44は、その依頼に応えてサービス情報を検索し、検索結果をサービス検索部46に返す。
【0137】
さらに、サービス検索装置3A(サービス検索プログラム4)の検索範囲設定部42は、ディレクトリ装置50に対して、他のネットワーク12B〜12Dのプライマリサービス検索装置3B〜3Dのアドレスを要求し(図22(4))、ディレクトリ装置50は、この要求に応えてサービス検索装置3B〜3Dのアドレスを検索し、検索の結果をサービス検索装置3Aの検索範囲設定部42に返す(図4(5))。
ディレクトリ装置50からのサービス検索装置3B〜3Dのアドレスは、サービス検索部46に通知される。
【0138】
サービス検索装置3A(サービス検索プログラム4)の検索範囲設定部42は、ネットワーク12B〜12Dサービス検索装置3B〜3D(サービス検索プログラム4)の検索範囲設定部42に対して、クライアント装置16Aの地理情報を付して、ネットワーク12B〜12Dにおいて、クライアント装置16Aの所在地を含むクラスタの中のサーバ装置18の検索を依頼する。
ネットワーク12B〜12Dのサービス検索装置3B〜3Dは、サービス検索装置3Aからの依頼に応じて、クライアント装置16Aの所在地を含むクラスタ内のサーバ装置18のサービス情報を検索し、検索結果をネットワーク12Aのサービス検索装置3A(サービス検索プログラム4)のサービス検索部46に返す(図22(7))
サービス検索装置3A(サービス検索プログラム4)のサービス検索部46は、サービス検索装置3A(サービス検索プログラム4)のサービス公開部44、および、他のネットワーク12B〜12Dのサービス検索装置3B〜3Dから得られた検索結果をクライアント装置16Aに返す(図22(8))。
【0139】
[クラスタリング処理]
検索範囲設定部42は、サービス情報収集部40が収集したサービス情報(図8)に含まれる地理情報を処理して、ネットワーク12Aにおけるサーバ装置18Aを、図2に示したようにクラスタリングし、さらに、クラスタリングの結果として得られたクラスタそれぞれの重心およびクラスタサイズを求め、クラスタ情報(図10)を作成する。
検索範囲設定部42は、クラスタ分布情報(図11)を作成し、サービス公開部44に対して出力する。
【0140】
[検索処理]
同じネットワーク12A(図4)に属するクライアント装置16からサービスの検索要求を受けたサービス検索装置3A(サービス検索プログラム4;図6)のサービス検索部46は、図14に示したように、検索範囲設定部42から検索範囲の設定を受け、同じサービス検索装置3A(サービス検索プログラム4)のサービス公開部44、および、他のネットワーク12B〜12Dのプライマリサービス検索装置3B〜3Dに対して出力して検索を依頼する。
【0141】
サービス公開部44は、使用許諾条件などに基づいてフィルタリング処理を行い、フィルタリングされた検索結果をサービス検索部46に返す。
サービス検索部46は、同じサービス検索装置3A(サービス検索プログラム4)のサービス公開部44から返された検索結果、および、他のネットワーク12B〜12Dのサービス検索装置3B〜3Dから返された検索結果を、クライアント装置16Aに対して送信する。
【0142】
他のネットワーク12B〜12D(図4)のいずれか(例えばネットワーク12B)に属するクライアント装置16B(図4に図示せず)からサービスの検索要求を受けたプライマリサービス検索装置3A(サービス検索プログラム4)のサービス検索部46(図6)は、図15に示したように、サービス公開部44に対して検索を要求し、フィルタリングされた検索結果を受け取る。
サービス検索部46は、サービス公開部44から受けた検索結果を、要求元のネットワーク12Bのサービス検索装置3Bに対して送信する。
要求元のサービス検索装置3Bは、同じネットワーク12Bに属する要求元のクライアント装置16Bに、他のネットワーク12A,12C,12Dから受けたサービス情報および同じサービス検索装置3B(サービス検索プログラム4)内部のサービス公開部44から受けたサービス情報をマージして返す。
【0143】
[変形例]
なお、以上、サービス検索装置3が、各サーバ装置18から、図18などに示した独自の通信シーケンスによってサービス情報を収集する場合を例にしたが、例えば、サービス検索装置3を、SNMPなどの既存のネットワーク管理プロトコルにより、サービス情報を集めるように変形することも可能である。
また、サービス検索装置3が、クライアント装置16に対してWebページを用いてサービス情報を提供してもよい。
【0144】
また、近辺のサービス検索装置同士があらかじめ通信を行い、それぞれが保持しているサービス情報を複製しあうことにより、検索を高速化することが可能である。
また、サービス検索装置3が、他のサービス検索装置3から得たサービス情報などをキャッシュに保持してもよい。
また、各サービス検索装置3に他の全てのサービス検索装置3のサービス情報を記憶しておき、地理的に近い検索範囲が設定された場合には、サービス検索装置3は、記憶しておいたサービス情報から検索処理を行うようにしてもよい。
また、サービス検索装置3は、クライアント装置16に送ったサービス情報から、実際にクライアント装置16により使用されたサーバ装置18を集計し、人気サービスとして検索処理に反映させてもよい。
【0145】
[第2実施形態]
以下、本発明の第2の実施形態を説明する。
図24は、本発明にかかる第2のサービス検索プログラム7の構成を示す図である。
図24に示すように、サービス検索プログラム7は、サービス検索装置3(図6,図9)において、サービス検索プログラム4の代わりに用いられ、サービス検索プログラム4に、地理情報変換部48を加えた構成をとる。
サービス検索プログラム7は、上記構成により、サービス情報(図8)の地理情報として、サーバ装置18(図)の緯度・経度の代わりに行政区域名あるいは郵便番号などを用いて、サービス検索装置3と同様な機能を実現する。
【0146】
[地理情報変換部48]
サービス検索プログラム7において、地理情報変換部48は、サービス情報収集部40が収集したサービス情報に含まれるサーバ装置18それぞれの所在地の行政区域あるいは郵便番号を、緯度・経度情報に変換し、サービス情報収集部40に対して出力する。
【0147】
サービス検索プログラム7において、サービス情報収集部40は、地理情報変換部48から入力されたサーバ装置18それぞれの緯度・経度情報を用いて、サービス検索プログラム4においてと同様の処理を行う。
【0148】
[変形例]
なお、地理情報変換部48を、ディレクトリ装置50に備えて、多くのネットワーク12で地理情報変換部48を共用できるように広域ネットワーク5を構成してもよい。
また、地理情報変換部48を、サービス検索装置3(サービス検索プログラム7)の中に備えるのではなく、独立した装置として広域ネットワーク5に接続してもよい。
【0149】
[第3実施形態]
以下、本発明の第3の実施形態を説明する。
図25は、サービス検索プログラム4(図6,図8)において、検索範囲設定部42に置換される第2の検索範囲設定部52の構成を示す図である。
図25に示すように、検索範囲設定部52は、検索範囲設定部42の相互発見部422を、相互発見部520に変更した構成をとる。
サービス検索プログラム4において、検索範囲設定部42を検索範囲設定部50に置換することにより、ディレクトリ装置50を用いずに広域ネットワーク5を構成することができる。
【0150】
[相互発見部520]
検索範囲設定部52が用いられる広域ネットワーク5においては、サービス検索装置3は、ツリー構造の階層ネットワークを構成する。
サービス検索装置3それぞれには、管理者によって、設置時に1つ上位のサービス検索装置3のネットワークアドレスが設定され、相互発見部520は、1つ上位のサービス検索装置3(サービス検索プログラム4)の相互発見部520と通信を行い、1つ上位のサービス検索装置3(サービス検索プログラム4)に自らのネットワークアドレスを登録し、1つ下位のサービス検索装置3のネットワークアドレスの通知を受け取る。
【0151】
さらに、相互発見部520は、上位および下位のサービス検索装置3(サービス検索プログラム4)との間で順次、通信を行い、さらに上位およびさらに下位のサービス検索装置3のクラスタ情報(図10)を順次、受信する。
以上の処理により、各ネットワーク12のサービス検索装置3(サービス検索プログラム4)の相互発見部520は、広域ネットワーク5全体のサービス検索装置3およびクラスタ情報を受信することができる。
相互発見部520は、受信した各ネットワーク12のサービス検索装置3のネットワークアドレスおよびクラスタ情報を、検索範囲生成部424およびネットワーク解析部426に対して出力する。
【0152】
【発明の効果】
以上説明したように、本発明にかかるサービス検索装置およびその方法によれば、ネットワークにおいて、いずれのノードがどのようなサービスを提供しているかを検索し、サービスを受けようとしているノードに対して提供することができる。
また、本発明にかかるサービス検索装置およびその方法によれば、ネットワークにおけるトラヒックを過度に増加させることなく、しかも、短い処理時間でサービスを検索することができる。
また、本発明にかかるサービス検索装置およびその方法によれば、複数のネットワークに渡って容易にサービスを検索することができる。
【図面の簡単な説明】
【図1】複数のネットワークを含む広域ネットワークの構成を模式的に例示する図である。
【図2】図1に示した広域ネットワークにおけるクライアント装置およびサーバ装置の地理的空間の観点からの位置関係を示す図である。
【図3】ネットワーク中継装置(R2)を介してネットワークを追加した広域ネットワーク(図1,2)において、クライアント装置およびサーバ装置のネットワーク空間の観点からの地理的位置関係を示す図である。
【図4】本発明にかかるサービス検索装置が用いられた第2の広域ネットワークの構成を例示する図である。
【図5】図4に示したサービス検索装置のハードウェア構成を示す図である。
【図6】図4に示したサービス検索装置において、サービス検索を実行するサービス検索プログラムの構成を示す図である。
【図7】サービス検索装置(サービス検索プログラム)のサービス情報収集部(図6)が保持するサービス情報を示す図である。
【図8】サーバ装置からプライマリサービス検索装置に伝送されるサービス情報を示す図である。
【図9】図6に示した検索範囲設定部の構成を示す図である。
【図10】サービス検索装置(サービス検索プログラム;図6)の検索範囲設定部(図9)がディレクトリ装置に登録するクラスタ情報を示す図である。
【図11】図9に示したクラスタリング部からサービス公開部(図6)に対して出力されるサーバ分布情報を示す図である。
【図12】図9に示した相互発見部による相互発見処理およびディレクトリ装置への登録を示すフローチャートである。
【図13】サービス検索装置(サービス検索プログラム;図6)のサービス公開部の構成を示す図である。
【図14】同じネットワーク(図4)に属するクライアント装置からサービスの検索要求を受けたサービス検索装置(サービス検索プログラム)のサービス検索部46(図6)の検索処理(S12)を示すフローチャートである。
【図15】他のネットワーク(図4)に属するクライアント装置からサービスの検索要求を受けたプライマリサービス検索装置(サービス検索プログラム)のサービス検索部(図6)の検索処理(S18)を示すフローチャートである。
【図16】サービス検索装置(サービス検索プログラム;図6)がディレクトリ装置に登録された直後(初期段階)において行うサービス情報収集処理(S20)を示すフローチャートである。
【図17】図16に示したサービス検索装置(サービス検索プログラム;図6)の初期段階におけるサービス情報収集処理を示す図である。
【図18】サービス検索装置(サービス検索プログラム;図6)のサービス情報収集処理を示す図である。
【図19】サービス検索装置(サービス検索プログラム;図6)のサービス情報収集処理(S22)を示すフローチャートである。
【図20】サービス検索装置(サービス検索プログラム)のサービス情報収集部40がサービス情報を消去する処理(S24)を示すフローチャートである。
【図21】サービス検索装置がディレクトリ装置にクラスタ情報を登録する処理を示す図である。
【図22】ネットワーク12Aのプライマリサービス検索装置(サービス検索プログラム)の全体動作を示す第1の図である。
【図23】ネットワークのプライマリサービス検索装置(サービス検索プログラム)の全体動作を示す第2の図である。
【図24】本発明にかかる第2のサービス検索プログラムの構成を示す図である。
【図25】本発明にかかる第2の検索範囲設定部の構成を示す図である。
【符号の説明】
1,5・・・広域ネットワーク
10・・・地理空間
12・・・ネットワーク
16・・・クライアント装置
18・・・サーバ装置
22・・・ルータ装置
24・・・ファイヤウォール装置
3・・・サービス検索装置
4,7・・・サービス検索プログラム
40・・・サービス情報収集部
42,52・・・検索範囲設定部
420・・・クラスタリング部
422,520・・・相互発見部
424・・・検索範囲生成部
426・・・ネットワーク解析部
44・・・サービス公開部
440・・・検索処理部
442・・・公開制御部
46・・・サービス検索部
48・・・地理情報変換部
52・・・検索範囲設定部
50・・・ディレクトリ装置
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a service search apparatus and method for providing information indicating which service is provided by which node in a network to a node that is about to receive the service.
[0002]
[Prior art]
In a wide area network in which a plurality of networks are connected to each other, as a method of providing information about which node provides what service to a node that is about to receive the service, for example, “ 10-56451 ”(Reference 1) describes ARP (Address Resoluti).
on Protocol) table, a method for exhaustively searching all nodes is disclosed.
Japanese Patent Laid-Open No. 11-167585 (Document 2) discloses a method for periodically collecting and managing information about services by multicast.
Japanese Patent Laid-Open No. 11-195048 (Document 3) discloses a method for determining a range for searching a node according to cost information.
[0003]
However, if the methods disclosed in the above-mentioned documents 1 to 3 are applied to a plurality of networks, a lot of processing time is required, and traffic in the network is excessively increased.
[0004]
[Problems to be solved by the invention]
The present invention has been made in view of the above-described problems of the prior art, and searches for which service is provided by which node in the network, and for the node that is about to receive the service. It is an object of the present invention to provide a service search apparatus and method that can be provided.
It is another object of the present invention to provide a service search apparatus and method that can search for a service in a short processing time without excessively increasing traffic in the network.
It is another object of the present invention to provide a service search apparatus and method for easily searching for services across a plurality of networks.
[0005]
[Means for Solving the Problems]
In order to achieve the above object, a service search apparatus according to the present invention is a service search apparatus for searching for a service provided by a network, the search range setting means for setting a search range of a service in the network, and the network And a service search means for searching for a service included in the set search range.
[0006]
Preferably, the network includes a plurality of areas, one or more of the service search devices are placed in each of the plurality of areas, and the search range setting means includes one or more of each of the plurality of areas. In each of the other areas included in the set range, the first service information collecting means for setting the search range including a part or all and collecting the first service information of the service provided in the same area Second service information collection means for collecting the collected second service information, and the service search means is configured to set the set from the collected first service information and second service information. Search for services provided in the scope.
[0007]
Preferably, each of the services is provided by service providing means included in the network, the service providing means transmits the service information in response to an inquiry, and the first service information collecting means has the same area. The first service information transmitted from each of the service providing means is collected.
[0008]
Preferably, the second service information collecting unit includes a service information transmitting unit that transmits a part or all of the collected first service information as the second service information in response to an inquiry. Makes an inquiry to another area and collects the second service information collected in the other area.
[0009]
Preferably, each of the first service information includes a use condition of the service, and filtering means for filtering the collected first service information based on the use condition of each of the first service information. And the service information transmitting means transmits the service information obtained as a result of the filtering as the second service information.
[0010]
Preferably, the service search means searches for a service provided in the set range from the collected first service information and second service information in response to a request from a request source, The filtering means performs filtering based on usage conditions of each of the first service information and the request source.
[0011]
Preferably, the first service information and the second service information include geographical information of a location of the service providing unit, and the search range setting unit includes the first service information and the second service information. The search range is set based on geographical information included in the information.
[0012]
Preferably, the network includes service search device registration means for registering service search devices in each of the plurality of areas, and service search device detection means for detecting other service search devices placed in the same area; Registration means for registering the service search apparatus to which the service search apparatus belongs to the service search apparatus registration means according to a result of detection of the other service search apparatus, and the second service information collection means includes the service search The second service information collected by the service search device in another area registered in the device registration means is collected.
[0013]
Preferably, clustering means for generating cluster information indicating clusters obtained as a result of clustering the locations of the service providing means included in the same area based on the geographical information included in the collected first service information. The second service information collecting means further collects cluster information generated in another area, and the search range setting means is based on the cluster information generated in the same area and the other area. The search range is set.
[0014]
Preferably, the network includes service search device registration means for registering service search devices in each of the plurality of areas, and service search device detection means for detecting other service search devices placed in the same area; According to a result of detection of the other service search device, the service search device to which the service search device belongs, and registration means for registering the generated cluster information in the service search device registration means, and the search range setting The means sets the search range based on the cluster information generated in the same area and the registered cluster information.
[0015]
Preferably, communication condition detection means for detecting a communication condition between the same area and another area is provided, and the search range setting means sets the search range based on the detected communication condition. To do.
[0016]
Preferably, in response to a request from a request source, the service search means selects a service provided in the set range from the collected first service information and second service information according to a search condition. The search range setting means searches and sets the search range based on the request source and / or the search condition.
[0017]
The service search method according to the present invention is a service search method for searching for a service provided by a network, wherein a service search range in the network is set, and is included in the set search range in the network. Search for services.
The program according to the present invention is a search program for causing a computer to search for a service provided by a network, and includes a step of setting a search range of a service in the network, and the network includes the set search range. Searching for a service to be executed.
[0018]
DETAILED DESCRIPTION OF THE INVENTION
[Background of the invention]
First, the background of the present invention will be described.
Various services can be received via the network. Even if the services are the same, some services such as quality and attributes such as a communication protocol are different depending on a server to be provided.
[0019]
Service attributes
For example, when connecting to a server via a network and trying to receive a print service, depending on the server, quality such as resolution at the time of printout, performance such as paper discharge speed, additional functions such as the presence or absence of a sorter, various print protocols The communication protocol such as the above, the permission for the presence or absence of the access right, etc., and the cost (hereinafter also referred to as “service attributes”) are different.
[0020]
[Service location (service location)]
The service is identified by the network address, domain name, and URL of the server device that provides the service (hereinafter also referred to as “service location (service location)”). This service location can be used to access a server that provides the service.
Hereinafter, although described as a server (device) and a client (device), the former means a device that provides a wide range of services, and the latter means a device that receives a wide range of services, regardless of actual names. .
[0021]
Here, since the service has the attribute (service attribute) as described above, the user can use any server, what attribute service, what restrictions (protocol, charging method, etc.) and measurement. It is necessary to select a server in consideration of whether it can be obtained by a standard (such as cost).
However, it is difficult for users to obtain such knowledge, especially when the user accesses the network for the first time, when the user accesses the other network temporarily away from the network they normally access, Users usually have no such knowledge.
[0022]
On the other hand, a wide area network such as the Internet is composed of a plurality of networks (IP subnet, corporate intranet, Internet service provider, etc.) that are logically layered and connected to each other. Each of these multiple networks differs in many respects, including the operating entity, network design and operation method, and is not homogeneous.
Interconnection between networks included in a wide area network is performed while preventing mutual interference between networks via relay devices such as routers and firewalls.
[0023]
In order to search for service locations in consideration of service attributes, for example, there is a method of detecting service attributes provided by all nodes reachable in the network and extracting what the user desires from the detected service attributes. is there.
Specifically, such a search is realized by a pre-registration method, a brute force method, a simultaneous broadcast method, a WWW robot search method, or the like.
[0024]
[Pre-registration method]
In the pre-registration method, when a server providing a service is installed, the service location, service attribute, etc. are registered in a database having a search function, information registered in advance is searched, and the result is obtained by the user. To provide.
As an example of this method, a corporate organization directory using Lightweight Directory Access Protocol (LDAP), Version 3 (IETF RFC2251), and Clearing House ("Local Area Network-Ethernet Overview-" Revised 2nd Edition, Xetox XNS) Ed., Published by Maruzen Co., Ltd., March 25, 1988).
This method requires a database that centrally manages service attributes and service locations of all nodes in the network.
[0025]
[Brute force method]
The brute force method accesses all network addresses included in the network address space and inquires about service attributes.
As an example of this method, there is serial pinging using ICMP (Internet Control Message Protocol; IETF RFC792) echo.
This method requires traffic and processing time according to the size of the address space.
[0026]
[Broadcast system]
In the broadcast method, a response request to the server by broadcast communication (such as IP multicast) and / or advertisement of own service by broadcast broadcast of the server (Advertise) is performed.
Examples of this method include SLP (Service Location Protocol, Version 2; IETF RFC2608) and SSDP (Simple Service Discovery Protocol).
[0027]
According to the broadcast method, it is possible to search service attributes within the reach of the broadcast, and the reach of the broadcast is the router / firewall and packet lifetime (number of router HOPs). Limited by.
The range in which service attributes can be searched and collected by this broadcast method (hereinafter also referred to as “service collection area”) is limited by the location in the network space, and depends on the geographical distance between the server device and the client device. There are no direct restrictions.
The service collection area by the simultaneous broadcast method is expected to be limited to the scope of the network where the management entity is the same, for example, in operation. Therefore, there are many isolated service collection areas in the wide area network. It is expected that
The broadcast method requires processing time and traffic according to the size of the reach of the simultaneous broadcast.
[0028]
[WWW robot search method]
The WWW robot search method uses a program called a search engine or search robot to automatically follow hyperlinks attached to the WWW information providing service, discover other WWW information providing services, and register them in the database. For example, a keyword search by text to this database is provided for the user.
Examples of this method include Lycos and Alta Vista.
[0029]
The operation of the search robot in this method depends on WWW systems such as HTTP (Hyper Text Transfer Protocol, Version 1.o; IETF RFC1945) and W3C HTML (Hyper Text Markup Language), and searches only the services provided by the WWW server. can do.
Further, according to this method, since the search robot follows the hyperlink, a large amount of traffic occurs in the network, and it takes a lot of processing time to reflect and update the search result in the database.
Moreover, it is only a network search function provider as mentioned above that can apply this system to a wide area network as a practical problem.
[0030]
[Search by geographical location]
In general, there is no geographical distance / regional restriction in providing a service via a network, and a service that can be used by a user is not limited by a place where a server device is placed.
Therefore, the user of the service via the network can originally select the server device in consideration of the service attribute, the constraint condition, and the measurement standard, and the location of the server device and the server device are It is not necessary to consider whether it is connected to other networks.
[0031]
However, when the user needs to receive a service result as an article, for example, a print service, there are some that have to consider the geographical location of the server device in order to receive the service.
In such a case, it is necessary to search for a service location that is close to the user and the client device, or a service location that is located in a location that is easy for the user to access even if the geographical location is remote.
In such a case, it is necessary to perform a service search taking into account the geographical distance as well as the distance in the network.
[0032]
Here, since there is generally no direct relationship between the geographical distance and the distance in the network, for example, the client apparatus is connected to a network other than the client apparatus while being in the vicinity of the user. In addition, there may be a server device that cannot be found by searching for a service closed in one network.
Therefore, even when searching for a server device located geographically close, it is necessary to perform a search across a plurality of networks.
[0033]
[Problems caused by licensing]
Furthermore, when trying to search for a service via a plurality of networks, there is a problem due to the use permission.
In general, regardless of whether or not you charge, you can license the service by allowing all users to use it uniformly, or by granting use only to pre-registered users. Is done.
[0034]
In the latter case, that is, when registration is required in advance for use permission, authentication is required for using the service.
Because the authentication method differs for each server device, and because of security problems, the server device cannot be accessed without entering a password, and the service attribute of the server device cannot be obtained.
Therefore, even if an attempt is made to access a server device using the latter method, the server device cannot be accessed unless the password for authentication is acquired in advance, and the service attributes of the server device cannot be known.
[0035]
[Outline of Service Search According to the Present Invention]
In the service search according to the present invention, a plurality of services are included in a wide area network or the like, and the services are detected by closing them, and the services provided for each collected area (service collection area) are detected. Are collected as service information (to be described later with reference to FIG. 7) together with geographic information of the server device that provides the service information.
In addition, the service collection area can be said to have a uniform network with the same management subject and operation method in this area.
Examples of the service collection area include a range where simultaneous broadcasting is possible, a range where the firewall does not block, a range where network resources are registered in one directory, and the like.
[0036]
The collected service information is disclosed inside and outside the service collection area, and a disclosure level including a plurality of stages is set for each of the disclosed service information.
When provision of published service information is requested, a filtering process is performed to determine whether or not to disclose the service information to the request source according to the requesting user and the network. Provided to the requester.
[0037]
When service information is searched in the service search according to the present invention, first, a search target range is set, service information published in the set search range is searched, and obtained as a result of the search. Information such as service location and service attributes is provided for the user.
[0038]
[Search range setting method]
Hereinafter, the search range setting method described above will be described in more detail.
FIG. 1 is a diagram schematically illustrating a configuration of a wide area network 1 including a plurality of networks.
The wide area network 1 includes, for example, three networks (networks A to C) 12A to 12C interconnected via the network relay device 14-1. The network 12A includes a client device 16A and a plurality of server devices 18A indicated by black circles in FIG. 1, the network 12B includes a plurality of server devices 18B indicated by white circles in FIG. 1, and the network 12C is a server device. Includes 18C.
[0039]
[Setting search range from the viewpoint of geographical space]
As can be seen with reference to FIG. 1, the spread of the wide area network 1 can be seen from the perspective of the geographic space 10 and the perspective of the network space.
FIG. 2 is a diagram showing a geographical positional relationship from the viewpoint of the geographical space 10 of the client device 16A and the server devices 18A and 18B in the wide area network 1 shown in FIG.
As shown in FIG. 1, when viewed from the client device 16A, the server device 18B of the network 12B is connected via the network relay device 14-1 from the viewpoint of the network space. It is far from 18A.
[0040]
On the other hand, as shown in FIG. 2, since part or all of the service areas of the network 12A and the network 12B may overlap on the geographical space 10, from the viewpoint of the geographical space 10, the server is more than the server device 18A. The device 18B may be closer to the client device 16A.
[0041]
For example, for a service that requires the user to receive the geographical result of the service, such as a print service, the client is connected to the same network 12A as the client device 16A and is closer to the client than the server device 18A in terms of network space. The server device 18B, which is connected to the network 12B different from the device 16A and is connected via the network relay device 14-1, can be closer from the viewpoint of the geographical space 10 than the viewpoint of the network space 10.
In such a case, it is more advantageous for the user of the client device 16A to use the server device 18B than to use the server device 18A, and the service search range is given priority in view of the geographical location of the server. It is good to decide.
[0042]
Furthermore, when there is a certain degree of distribution in the distribution of the server devices 18A and 18B within the service areas of the networks 12A and 12B, a plurality of geographical ranges in which each of the plurality of server devices 18A and 18B can provide a service are determined. It can be considered that the server devices 18A and 18B are geographically distributed.
Therefore, as shown in FIG. 2, among the plurality of server apparatuses 18A and 18B, those having a close geographical positional relationship are divided into a plurality of groups, and there are server apparatuses 18A and 18B included in each of these groups. When each range is divided into one region (cluster), clustering is performed, and a set of these regions can be considered as the geographical service area of each of the server devices 18A and 18B.
[0043]
As the geographical information indicating the geographical position of each of the server apparatuses 18A to 18C (hereinafter, also referred to as “server apparatus 18” when any of these is not specified), for example, latitude / longitude, administrative district If the geographical information is shared among a plurality of service search devices, the content and format must be unified among these devices.
[0044]
[Setting the search range from the viewpoint of network space]
FIG. 3 shows the positional relationship from the viewpoint of the network space of the client device 16A and the server devices 18A and 18B in the wide area network 1 (FIGS. 1 and 2) to which the network 12D is added via the network relay device (R2) 14-2. FIG.
On the other hand, for services in which the distance from the viewpoint of the geographical space 10 is not a primary constraint condition, such as downloading data from a WWW server, whether or not the service is connected to the same network 12A as the client device 16A, Regardless of whether the geographical distance is near or far, it is advantageous for the user to select a server device that can transfer data to the client device 16A at a higher speed and receive a service.
In such a case, from the viewpoint of network space such as transmission speed and transmission capacity of the networks 12A to 12C (hereinafter referred to simply as “network 12” when any one of the networks 12A to 12C is not specified). Priority should be given to determining the service search range.
[0045]
Specifically, as shown in FIG. 3, the transmission speed and transmission capacity inside each network 12, the transmission speed and transmission capacity of relay links (LA to LD) 20A to 20D connecting these networks, and these Overhead, processing load, and the like in the network relay apparatuses 14-1 and 14-2 that perform relay processing between the networks affect the communication between the client apparatus 16A and the server apparatuses 18A to 18C.
In the client device 16A, these elements are detected as the response speed of the server devices 18A to 18C and the throughput during file transfer.
[0046]
Therefore, when giving priority to the viewpoint of the network space, the communication path is evaluated based on the number of relay stages of the network and the transmission bandwidth of the bottleneck, and the client via the communication path that is expected to be able to transfer data at high speed. The search range of the service can be limited to the server devices 18A to 18B that are in a range that can be connected to the device 16A.
That is, when priority is given to the viewpoint of the network space, for example, the service search range can be obtained by evaluating the distance in the network space using the evaluation function represented by the following expression 1.
[0047]
[Expression 1]
f (number of network relay stages, bottleneck transmission band); f is a function (1)
[0048]
In this case, the smaller the number of relay stages in the network, the shorter the distance in the network space, and the transmission speeds of bottlenecks such as the relay links 20A to 20D, the network relay device 14-1, and the network relay device 14-2. It is estimated that the higher the transmission speed is, the larger the transmission capacity is, the shorter the distance in the network space is.
[0049]
The number of relay stages in the evaluation function f can be obtained, for example, as the number of network relay devices 14-1 and 14-2 (for example, the number of router HOPs) between the client device 16A and the server devices 18A to 18C.
Further, the transmission capacity in the evaluation function f can be estimated from the time required for data transfer and the size of the data, and such information is, for example, the MIB (Simple Network Management Protocol; IEFT RFC821) MIB ( It can also be obtained from a remote network as network management information such as (Management Information Base) information.
Further, when data communication is actually performed and the transmission capacity in the evaluation function f is estimated end-to-end, or the transmission capacity in the evaluation function f is acquired by SNMP from a router device or the like. is there.
[0050]
[First embodiment]
Hereinafter, a first embodiment of the present invention will be described.
FIG. 4 shows the service search devices 3A-1 to 3D according to the present invention (hereinafter simply referred to as “service search devices 3A to 3D” or “service search device 3” when any one of them is shown without being specified). It is a figure which illustrates the structure of the 2nd wide area network 5 in which) was used.
[0051]
As shown in FIG. 4, in the wide area network 5, networks 12A and 12B such as IP networks are connected via a router device 22-1, and the networks 12B and 12D are connected via a router device 22-2. 12C and the network 12D are connected via a firewall device 24.
[0052]
The network 12A includes client devices 16A and 18A and one or more service search devices 3A-1 to 3A-l. The network 12B includes a server device 18B and one or more service search devices 3B-1 to 3B-m. The network 12C includes a server device 18C.
The network 12C further includes one or more service search apparatuses 3C-1 to 3C-n (l, m, and n are integers).
The network 12D includes a directory device 50 and a service search device 3D.
In the wide area network 5, communication other than simultaneous broadcast between the nodes is performed by a message described in XML and an HTTP protocol.
[0053]
FIG. 5 is a diagram illustrating a hardware configuration of the service search apparatus 3 illustrated in FIG.
As shown in FIG. 5, the service search device 3 includes a computer main body 30 including a CPU 300 and a memory 302, an input device 32 such as a keyboard / mouse, a display device 34, a network interface (network IF) 36, and a recording device 38. Is done.
That is, the service search device 3 adopts a configuration as a computer having a communication function with other nodes (client device 16A, server devices 18A to 18C, and other service search devices 3).
[0054]
FIG. 6 is a diagram showing a configuration of a service search program 4 that executes a service search in the service search apparatus 3 shown in FIG.
As shown in FIG. 6, the service search program 4 includes a service information collection unit 40, a search range setting unit 42, a service disclosure unit 44, and a service search unit 46. For example, the service search program 4 is recorded on the recording medium 380 shown in FIG. The data is supplied to the search device 3, loaded into the memory 302, and executed.
The service search program 4 realizes the above-described service search according to the present invention by these components.
[0055]
[Service Information Collection Unit 40]
Here, a plurality of service collection areas are included in a wide area network or the like as described above, and each area is closed to indicate an area where service detection and service collection are performed.
Hereinafter, in order to simplify the description, a case where the service collection areas of the service search apparatus 3 are the networks 12 will be described as a specific example.
The service information collection unit 40 collects service information from the server devices 18 included in the service collection area, for example, with each network 12 as one service collection area.
[0056]
That is, in the network 12A, the service information collection unit 40 of the service search device 3A (service search program 4) is a service indicating service attributes such as quality of service and communication protocol provided by each of the plurality of server devices 18A belonging to the network 12A. Collect information.
In the network 12B, the service information collection unit 40 collects service information of each of the plurality of server devices 18B belonging to the network 12B. In the network 12C, the service information collecting unit 40 collects service information of the server device 18C belonging to the network 12C.
The service information collection unit 40 holds the collected service information in a format as shown in FIG. 7 and provides it as a service database for search by the service information disclosure unit 44, and the geography of the server device 18 shown in FIG. Information is output to the search range setting unit 42.
Specific examples of “update date / date and time” shown in FIG. 7 may include dates and times such as “2001.20 11:51”. Refer to FIG. 8 for the contents of “service information”. Will be described later.
[0057]
FIG. 7 is a diagram showing service information held by the service information collection unit 40 (FIG. 6) of the service search device 3 (service search program 4).
As shown in FIG. 7, the service information collection unit 40 stores a service identifier (service ID), an update date / time, and service information in association with each other.
This service database is used for search by the service disclosure unit 44, and the update is notified to the search range setting unit 42 and the service disclosure unit 44.
[0058]
FIG. 8 is a diagram showing service information transmitted from the server device 18 to the primary service search device 3.
As shown in FIG. 8, the service information includes data of service type, network information, geographic information, usage permission information, and service attributes.
Service attributes include general attributes and service-dependent attributes.
General attributes include accounting data, security information, transfer protocol information, and operational organization information.
[0059]
The service type indicates a type of service provided by the server device 18, for example, a print service or a scan service.
[0060]
The network information indicates information necessary for uniquely identifying the server device 18 in the wide area network 5, for example, an IP address, an FQDN (Fully Qualified Domain Name), or a URI (Universal Resource Identifier).
[0061]
The geographical information includes information indicating the geographical information of the server device 18.
The geographical information includes the latitude / longitude information of the place where the server device 18 is placed as essential information, and the address of the building where the server device 18 is placed, the name of the building, and the floor number as other optional information. Information such as floor section and room names.
[0062]
The use permission information indicates a range in which the server device 18 provides a service. For example, the service license information provides unlimited service to the client device 12 of any network 12, or in the network 12 to which the server device 18 belongs. It shows that it restricts to.
[0063]
The charge information of the general attribute indicates a usage fee and a payment method for the service provided by the server device 18.
[0064]
The security information indicates a security protocol corresponding to a service provided by the server device 18.
[0065]
The transfer protocol information indicates a communication protocol and API (Application Program Interface) for receiving a service provided by the server device 18.
[0066]
The management organization information indicates the name, name, and contact method of the company, department, organization, or individual that operates the service of the server device 18.
[0067]
The service-dependent attribute is set for each service type of the service provided by the server device 18 and indicates the quality of service, performance, additional function, supported document format, supported language, supported character set, driver acquisition location, and the like.
[0068]
[Search range setting unit 42]
FIG. 9 is a diagram showing a configuration of the search range setting unit 42 shown in FIG.
As shown in FIG. 9, the search range setting unit 42 includes a clustering unit 420, a mutual discovery unit 422, a search range generation unit 424, and a network analysis unit 426.
[0069]
With these components, the search range setting unit 42 uses the number of stages and data transmission capacity of the router device 22 shown in FIG. 4 to the search range setting unit 42 of the other primary service search device 3 (service search program 4). Etc. (network information), and the service search range required from the viewpoint of geographical space and the search range required from the viewpoint of network space are set.
[0070]
[Clustering unit 420]
In the search range setting unit 42, the clustering unit 420 further processes the geographic information of the service information (FIG. 8) input from the service information collecting unit 40, and the geographical distribution of the server device 18 in the network 12 to which the cluster belongs. Are clustered as shown in FIG. 2 to create a cluster.
Furthermore, the service search device 3 uses the average value (center of gravity) of the latitude / longitude coordinates of the cluster created as described above as a representative point of the cluster, and further, within the distance from the representative point to each server device 18, Let the longest distance be the size of each cluster (cluster size).
[0071]
FIG. 10 is a diagram showing cluster information registered in the directory device 50 by the search range setting unit 420 (FIG. 9) of the service search device 3 (service search program 4; FIG. 6).
FIG. 11 is a diagram showing server distribution information output from the clustering unit 420 shown in FIG. 9 to the service disclosure unit 44 (FIG. 6).
Among these pieces of generated information, the clustering unit 420 outputs cluster information including the representative points of the clusters and the cluster size to the mutual discovery unit 422 as shown in FIG.
Further, as shown in FIG. 11, the search range setting unit 420 provides server distribution information including a cluster ID, a representative point, and a list of services (service IDs) provided by each server device 18 included in each cluster. Output to the public unit 44.
An example of the contents of the network address of the service search apparatus shown in FIG. 10 is an IP address such as “139.168.0.1”, and an example of the contents of the “cluster representative point list” is “E139 ° 44′35. 66 ", N35 ° 39'58.76""," E139 ° 44'25.27 ", N35 ° 40'08.30" Numerical values can be mentioned.
As examples of the “representative points” shown in FIG. 11, the representative point “E139 ° 44′35.66”, N35 ° 39′58.76 ”of the cluster ID · C1, and the representative point“ E139 ”of the cluster ID · C1. As an example of latitude / longitude such as “° 44′25.27 ″, N35 ° 40′08.30 ″” and “services belonging to cluster (service ID list)”, “S3, S4” for C1, and “ IDs such as “S1, S2” can be cited.
[0072]
[Mutual discovery unit 422]
FIG. 12 is a flowchart showing the mutual discovery process and registration in the directory device by the mutual discovery unit 422 shown in FIG.
When there are a plurality of service search devices 3 in one network 12A to D (hereinafter also referred to simply as “network 12” when any one of them is not specified), One of the service search devices 3 (service search program 4) operates as the primary service search device 3, and the other service search device 3 (service search program 4) operates as the backup service search device 3.
[0073]
In step 100 (S100), the mutual discovery unit 422 (FIG. 9) of the search range setting unit 42 of the service search device 3 (service search program 4) activated in any of the networks 12 is the same by simultaneous broadcast communication. It requests a response from another service search device 3 in the network 12, waits for a response for a certain period, and advertises its existence to the other service search device 3.
[0074]
In step 102 (S102), the mutual discovery unit 4223 that performed the simultaneous broadcast communication (S100) determines whether or not there is a response from the primary service search device 3, and if there is a response, the process of S104 is performed. In other cases, the process proceeds to S106.
[0075]
In step 104 (S104), the mutual discovery unit 4223 that has performed the simultaneous broadcast communication recognizes itself as the backup service search device 3.
The primary service search apparatus 3 that has returned this response registers the service search apparatus 3 that has performed the simultaneous broadcast communication as a backup service search apparatus.
[0076]
In step 106 (S106), the mutual discovery unit 422 that has performed the simultaneous broadcast communication recognizes the server device 18 to which the mutual discovery unit 422 belongs as the primary service search device 3, and uses the preset network address of the directory device 50 as a directory. Communicate with device 50.
[0077]
[Registration of Primary Service Search Device 3 to Directory Device 50]
Further, the mutual discovery unit 422 of the service search device 3 (service search program 4) that has performed the simultaneous broadcast communication has an entry of the service search device 3 to which the directory search device 50 belongs by communication with the directory device 50. If the address and cluster information (FIG. 10) has already been registered as information of the primary service search device 3, the registration is left as it is.
[0078]
Further, when the address of the other service search device 3 is registered as the primary service search device 3, the mutual discovery unit 422 deletes the entry of the other service search device 3, and the service search device 3 to which it belongs And the network address and cluster information (FIG. 10) of the service search apparatus 3 to which it belongs are registered as information of the primary service search apparatus 3.
[0079]
If the network address of any service search device 3 is not registered in the directory device 50, the mutual discovery unit 422 creates an entry for the service search device 3 to which the directory search device 50 belongs, and creates the created entry. In addition, the address and cluster information (FIG. 10) of the service search device 3 to which it belongs are registered as information of the primary service search device 3.
[0080]
The service search device 3 of each network 12 can communicate by obtaining the network address of the primary service search device 3 of any network 12 by accessing the directory device 50 of the network 12D.
[0081]
Further, the mutual discovery unit 422 receives the address and cluster information (FIG. 10) of the primary service search device 3 of the other network 12 from the directory device 50 and notifies the search range generation unit 424 of these information.
In addition, the mutual discovery unit 422 notifies the network analysis unit 426 of the address of the primary service search device 3 of the other network 12.
[0082]
[Primary service search device and backup service search device]
As described above, only the primary service search device 3 registered in the directory device 50 provides a service search function to client devices in the same network, and the backup service search device 3 normally provides a service search function. Do not do.
However, the backup service search device 3 is registered in the primary service search device 3 and periodically performs a health check on the primary service search device 3 to check whether it is operating normally.
If the primary service search device 3 is not operating normally, the backup service search devices 3 negotiate with each other, and any one of the backup service search devices 3 replaces the previous primary service search device 3 with a service search. Provide functionality.
[0083]
[Network analysis unit 426]
The network analysis unit 426 transmits measurement packets to all addresses of the primary service search device 3 of the other network 12 input from the mutual discovery unit 422, and analyzes the interconnection relations of the networks 12A to 12D.
Specifically, for example, the network analysis unit 426 increases the TTL (Time To Live) one by one and transmits an ICMP echo packet, and the primary service search device 3 and the primary service search device 3 of the other network 12 communicate with each other. The number of router devices 22 (hereinafter simply referred to as “router device 22” when any of the router devices 22-1 and 22-2 is indicated without being specified) is detected.
[0084]
Further, for example, the network analysis unit 426 estimates a data transmission capacity with another primary service search device 3 by a method called an ICMP echo packet that continuously transmits an ICMP pair packet.
Based on the number of router devices 22 and the data transmission capacity obtained by the above method, the network analysis unit 426 uses, for example, high-speed information as information indicating the distance in the network space between each of the other service search devices 3. They are arranged in the order in which data transmission is estimated to be possible, and are output to the search range generation unit 424.
[0085]
[Search range generation unit 424]
Based on the search condition input from the service search unit 46, the search range generation unit 424 includes the address of the primary service search device 3 of the other network 12 to be set as the search range and the cluster information of the clusters to be set as the search range. Search range information including (FIG. 10) is generated and returned to the service search unit 46.
The input search condition indicates, for example, a service type, a search target area that specifies the geographical location of the server device 18, and a search target network that specifies the network 12 to be searched from the viewpoint of the network space. Information is included, the service type is essential, and the others are treated as optional information as appropriate.
[0086]
When the search target area is designated, the search range generation unit 424 represents the representative points of the clusters included in the cluster information (FIG. 10) of the primary service search device 3 of the other network 12 input from the mutual discovery unit 422. A search range is generated based on the cluster size.
In this case, for example, the search range generation unit 424 does not specify whether the client device 16 (hereinafter, the client device belongs to any of the networks 12A to 12D) regardless of which of the networks 12A to 12D belongs. Clusters that are geographically close to “client device 16”) are included in the search range.
[0087]
In addition, when a search network is specified, the search range generation unit 424 searches for the primary service of the specified network 12 from the address of the primary service search device 3 of the other network 12 input from the mutual discovery unit 422. The address of the device 3 is searched.
[0088]
In addition, the search range generation unit 424 determines the specified service type when both the search target area and the search network are omitted, and when the specified service should take the search target area into consideration, Performs processing when a search target area is specified.
Further, in this case, the search range generation unit 424 determines that the cluster that is closer to the client device 16 from the viewpoint of the network space when the service to be searched does not need to consider the search target area. Alternatively, a cluster estimated to be able to transmit data at high speed is included in the search range.
[0089]
[Service disclosure unit 44]
FIG. 13 is a diagram illustrating a configuration of the service disclosure unit 44 of the service search apparatus 3 (service search program 4; FIG. 6).
As shown in FIG. 13, the service disclosure unit 44 includes a search processing unit 440 and a disclosure control unit 442.
With these components, the service disclosure unit 44 searches the service database (FIG. 7) of the service information collection unit 40 according to the search conditions from the service search unit 46, and based on the use permission information included in the service information. The filtering process is performed, and the service information of the server device 18 that satisfies the search condition and the filtering condition is returned to the service search unit 46 as a search result.
[0090]
[Service disclosure unit 440]
The service disclosure unit 440 searches the service database (FIG. 7) of the service information collection unit 40 based on the search condition input from the service search unit 46, and searches the service information of the server device 18 that matches the search condition. As a result, the information is output to the public control unit 442.
The search condition includes the cluster IDs (FIG. 11) of all the clusters included in the search range input from the search range setting unit 42 and the network address of the client device 16 that has requested the service search.
[0091]
Of these pieces of information, the cluster ID can be omitted, and when the cluster ID is omitted, the service disclosure unit 440 can search all the searchable databases in the service information collection unit 40 (FIG. 7). The server device 18 included in the cluster is searched.
When the cluster ID is designated, the service disclosure unit 440 refers to the server distribution information (FIG. 11) input from the search range setting unit 42, and obtains service information of the server device 18 included in the designated cluster. Search for.
[0092]
[Public control unit 442]
The public control unit 442 determines the network 12 (request source network 12) to which the client device 16 belongs from the network address of the client device 16 included in the search condition.
[0093]
[Filtering processing]
The publication control unit 442 refers to the use permission information of the service information (FIG. 8) input from the service publication unit 440 and performs filtering to output service information that can be published to the request source network to the service search unit 46. Process.
In other words, the disclosure control unit 442 indicates that the use permission information in the service information input from the service disclosure unit 440 indicates that the use is permitted only within the network 12 to which the server device 18 belongs. The service information is output to the service search unit 46 only when the request source network 12 is a network to which the server device 18 belongs, and in other cases, the service information is not output to the service search unit 46.
[0094]
Alternatively, when the usage permission information indicates that the use is permitted only in the specific network 12, the service information is sent to the service search unit 46 only when the request source network 12 is included in the specific network. In other cases, the data is not output to the service search unit 46.
[0095]
[Service search unit 46]
The service search unit 46 (FIG. 6) receives a search request from the client device 16 included in the same network 12 and the service search unit 46 of the service search device 3 (service search program 4) of another network 12, and is included in this request. Service information search for the service disclosure unit 44 or the service search device 3 (service search program 4) of the other network 12 based on the search condition and the search range input from the search range setting unit 42. Request.
Further, the service search unit 46 makes a search request for the search results returned in response to the inquiry to the service disclosure unit 44 of the same service search program 4 and the service search device 3 (service search program 4) of another network 12. Returned to the client device 16 and the service search unit 46 of the other service search program 4.
[0096]
Hereinafter, the processing of the service search unit 46 will be further described with reference to FIGS. 14 and 15.
[0097]
[Search request from the same network 12]
FIG. 14 shows the search processing (S12) of the service search unit 46 (FIG. 6) of the service search device 3 (service search program 4) that has received a service search request from the client device 16 belonging to the same network 12 (FIG. 4). It is a flowchart to show.
In step 120 (S120), the service search unit 46 receives a service search request (query) from the client device 16 belonging to the same network 12.
[0098]
In step 122 (S122), the service search unit 46 analyzes the received service search request.
[0099]
In step 124 (S124), the service search unit 46 outputs the search condition to the search range setting unit 42.
[0100]
In step 126 (S126), the service search unit 46 receives from the search range setting unit 42 the address of the primary service search device 3 of the other network 12 that should be the search range, and the cluster information ( Search range information including FIG. 10) is received.
[0101]
The service search unit 46 repeats the processes of S142 to S150 included in S140 for all clusters in the search range.
In step 142 (S142), the service search unit 46 determines whether one of the clusters within the search range is included in the network 12 to which the service search unit 46 belongs.
If the cluster is included in the network 12 to which the cluster belongs, the process proceeds to S144. Otherwise, the process proceeds to S148.
[0102]
In step 144 (S144), the service search unit 46 generates a search condition and requests the service disclosure unit 44 to perform a search.
[0103]
In step 146 (S146), the service search unit 46 receives the search result from the service disclosure unit 44.
[0104]
In step 148 (S148), the service search unit 46 requests the primary service search device 3 of the other network 12 to which the cluster in the search range belongs to search for the service.
[0105]
In step 150 (S150), the service search unit 46 receives the service search result from the primary service search device 3 of the other network 12 to which the cluster in the search range belongs.
[0106]
In step 160 (S160), the service search unit 46 returns the search result to the client device 16 that has requested the service search.
[0107]
[Search request from other network 12]
FIG. 15 shows the search process (S18) of the service search unit 46 (FIG. 6) of the primary service search apparatus 3 (service search program 4) that has received a service search request from the client apparatus 16 belonging to another network 12 (FIG. 4). Is a flowchart showing.
In step 180 (S180), the service search unit 46 receives a service search request from the primary service search device 3 of another network 12 to which the service search unit 46 does not belong.
[0108]
In step 182 (S182), the service search unit 46 analyzes the service search request.
[0109]
In step 184 (S184), the service search unit 46 generates a search condition and requests the service disclosure unit 44 to perform a search.
[0110]
In step 186 (S186), the service search unit 46 receives the search result from the service disclosure unit 44.
[0111]
In step 188 (S188), the service search unit 46 transmits the request to the primary service search device 3 that is the source of the service search.
[0112]
[Operation of wide area network 5]
Hereinafter, the overall operation of the wide area network 5 (FIG. 4) will be described.
[0113]
[Collecting service information in the initial stage of the service search device 3]
First, as described with reference to FIG. 12, the collection of service information performed immediately after the primary service search device 3 registered in the directory device 50 is registered in the directory device 50 (initial stage) will be described.
FIG. 16 is a flowchart showing a service information collection process (S20) performed immediately after the service search device 3 (service search program 4; FIG. 6) is registered in the directory device 50 (initial stage).
FIG. 17 is a diagram showing service information collection processing in the initial stage of the service search device 3 (service search program 4; FIG. 6) shown in FIG.
[0114]
In each network 12, the service information collection unit 40 of the primary service search device 3 (service search program 4) that has registered (FIG. 12) with respect to the directory device 50 follows this registration, step 200 in FIG. 16 (S 200). In FIG. 17B, service information is requested to the server devices 18 belonging to the same network 12 by simultaneous broadcast communication, and the existence thereof is announced (FIG. 17 (1)).
[0115]
The server device 18 is waiting for a service information request from the primary service search device 3, and upon receiving the service information request, returns the service information to the service search device 3 (FIG. 17 (2)).
[0116]
In step 202 (S 202), the service information collection unit 40 receives service information from the server device 18.
[0117]
In step 204 (S204), the service information collection unit 40 registers the service information received within a certain period from the process of S200 in the service database (FIG. 7).
[0118]
In step 206 (S206), the service information collection unit 40 notifies the service disclosure unit 44 and the search range setting unit 42 of the update of the service database.
[0119]
[Collection of Service Information of Newly Connected Server Device 18]
Hereinafter, collection of service information performed when the server device 18 is added to the network 12 will be described.
FIG. 18 is a diagram showing service information collection processing of the service search device 3 (service search program 4; FIG. 6).
FIG. 19 is a flowchart showing service information collection processing (S22) of the service search device 3 (service search program 4; FIG. 6).
As shown in FIG. 18, when the server device 18 is connected and activated in each network 12, the server device 18 provides information on its own presence and a service to be provided to the connected network 12. Public announcement is made by simultaneous broadcast communication (FIG. 18 (1)).
[0120]
As shown in step 220 (S220) of FIG. 19, the service information collection unit 40 (FIG. 6) of the primary service search device 3 (service search program 4) waits for an announcement from the server device 18, and the server device 18 Receive announcements from.
[0121]
In step 222 (S222), the primary service search device 3 requests service information from the server device 18 that has performed the broadcast communication (FIG. 18 (2)).
The server device 18 requested for the service information returns the service information to the primary service search device 3 ((3) in FIG. 18).
[0122]
In step 224 (S224), the service information collection unit 40 of the service search device 3 (service search program 4) receives the service information returned from the server device 18.
[0123]
In step 226 (S226), the service information collection unit 40 determines whether or not the received service information from the server device 18 has already been registered as an entry in the service database (FIG. 7).
If it is registered, the process proceeds to S228. Otherwise, the process proceeds to S230.
[0124]
In step 228 (S228), the service information collection unit 40 updates the service database and notifies the search range setting unit 42 and the service disclosure unit 44 to that effect.
[0125]
In step 230 (S230), the service information collection unit 40 newly registers the received service information of the server device 18 in the service database.
[0126]
In step 232 (S232), the service information collection unit 40 notifies the search range setting unit 42 and the service disclosure unit 44 of the database update.
[0127]
[Retention / deletion of service information]
As described above, the primary service search device 3 that has received the service information from each server device 18 holds the service information from each server device 18 until a certain period of time elapses without receiving new service information.
FIG. 20 is a flowchart showing a process (S24) in which the service information collection unit 40 of the service search apparatus 3 (service search program 4) deletes the service information.
The service information collection unit 40 of the primary service search device 3 (service search program 4) has passed a certain time after the last update of each entry in the step 240 (S240) service database (FIG. 7) shown in FIG. Judge whether or not.
If the certain period has not elapsed, the service information collection unit 40 ends the process.
[0128]
In step 222 (S222), the service information collection unit 40 deletes entries for which a certain period has elapsed from the entries in the service database.
In step 224 (S224), the service information collection unit 40 notifies the search range setting unit 42 and the service disclosure unit 44 of the update of the service database.
[0129]
When the service disclosure unit 44 receives new service information from the server device 18, the service disclosure unit 44 stores and stores the newly received service information instead of the service information that has been stored so far, and the search range setting unit 42 and the service disclosure unit 44 are notified of this.
The predetermined period for holding the service database entry is normally set to, for example, about two days by the administrator of the primary service search apparatus 3.
If this period is set to about 2 days, even if the primary service search apparatus 3 is frequently terminated and started, the service information is not erased each time.
[0130]
FIG. 21 is a diagram illustrating processing in which the service search device 3 registers cluster information in the directory device 50.
As shown in FIG. 21, the search range setting unit 42 of the service search device 3 (service search program 4) displays each cluster created as described above, their representative points, and cluster size as cluster information (FIG. 10). ) Is registered in the directory device 50 (FIG. 21 (1)).
[0131]
[Operation of wide area network 5]
FIG. 22 is a first diagram showing the overall operation of the primary service search device 3A (service search program 4) of the network 12A.
FIG. 23 is a second diagram showing the overall operation of the primary service search device 3 (service search program 4) of the network 12A.
Hereinafter, with reference to FIGS. 22 and 23, the operation of the wide area network 5 described so far will be described with the primary service search device 3A of the network 12A as an example.
[0132]
The client device 16A (FIG. 4) performs simultaneous broadcast communication within the network 12A and requests a response from the primary service search device 3A within the network 12A (FIG. 22 (1)).
As shown in FIG. 23, the service search unit 46 (FIG. 6) of the primary service search device 3A (service search program 4) of the network 12A waits for the simultaneous broadcast communication from the client device 16A, and the client device 16A Upon receiving the simultaneous broadcast communication (FIG. 22 (1)), a response is returned (FIG. 22 (2)).
[0133]
The client device 16A issues a search request (query) with the geographical information (latitude, longitude, etc.) of the client device 16A and search conditions to the primary service search device 3A that has returned the response ((3) in FIG. 22). ).
The search condition attached to the query includes, for example, a search target area, a search target network, and a service condition to be used for search (search service condition).
When the service search unit 46 of the service search device 3A (service search program 4) receives a query from the client device 16A, the primary service search device 3A starts searching.
[0134]
As shown in FIG. 23, the service search unit 46 of the service search device 3A (service search program 4) notifies the search condition to the search range setting unit 42 (FIG. 6).
For example, when the search target area and the search target network are not specified in the query, the search range setting unit 42 of the primary service search device 3A (service search program 4) sets the entire range of the network 12A as the search range, and the service. The search unit 46 is notified.
[0135]
The service search unit 46 of the service search device 3A (service search program 4) notifies the service disclosure unit 44 (FIG. 6) of the search conditions and requests a search for service information of the server device 18A included in the network 12A. .
The service disclosure unit 44 executes a search in response to this request and returns the search result to the service search unit 46.
[0136]
For example, when the vicinity of the client device 16A is specified as a search target area in the query of the client device 16A, the search range setting unit 42 of the service search device 3A (service search program 4) includes the location of the client device 16A. All the clusters of the networks 12A to 12D are set as search ranges.
The service search unit 46 of the service search device 3A (service search program 4) searches the service disclosure unit 44 for service information of the server device 18A included in all clusters within the search range set in the network 12A. Upon request, the service disclosure unit 44 searches for service information in response to the request and returns the search result to the service search unit 46.
[0137]
Further, the search range setting unit 42 of the service search device 3A (service search program 4) requests the directory device 50 for the addresses of the primary service search devices 3B to 3D of the other networks 12B to 12D (FIG. 22 ( 4)) In response to this request, the directory device 50 searches the addresses of the service search devices 3B to 3D, and returns the search result to the search range setting unit 42 of the service search device 3A (FIG. 4 (5)).
The addresses of the service search devices 3B to 3D from the directory device 50 are notified to the service search unit 46.
[0138]
The search range setting unit 42 of the service search device 3A (service search program 4) has the geographic information of the client device 16A compared to the search range setting unit 42 of the networks 12B to 12D service search devices 3B to 3D (service search program 4). And requests for a search for the server device 18 in the cluster including the location of the client device 16A in the networks 12B to 12D.
In response to a request from the service search device 3A, the service search devices 3B to 3D of the networks 12B to 12D search for service information of the server device 18 in the cluster including the location of the client device 16A, and search results are displayed on the network 12A. It returns to the service search unit 46 of the service search device 3A (service search program 4) (FIG. 22 (7)).
The service search unit 46 of the service search device 3A (service search program 4) is obtained from the service disclosure unit 44 of the service search device 3A (service search program 4) and the service search devices 3B to 3D of the other networks 12B to 12D. The retrieved result is returned to the client device 16A (FIG. 22 (8)).
[0139]
[Clustering processing]
The search range setting unit 42 processes the geographic information included in the service information (FIG. 8) collected by the service information collection unit 40 to cluster the server devices 18A in the network 12A as shown in FIG. Then, the center of gravity and cluster size of each cluster obtained as a result of clustering are obtained, and cluster information (FIG. 10) is created.
The search range setting unit 42 creates cluster distribution information (FIG. 11) and outputs it to the service disclosure unit 44.
[0140]
[Search processing]
The service search unit 46 of the service search device 3A (service search program 4; FIG. 6) that has received a service search request from the client device 16 belonging to the same network 12A (FIG. 4), as shown in FIG. The search range is set from the setting unit 42 and output to the service disclosure unit 44 of the same service search device 3A (service search program 4) and the primary service search devices 3B to 3D of the other networks 12B to 12D. Request a search.
[0141]
The service publishing unit 44 performs a filtering process based on the use permission condition and returns the filtered search result to the service search unit 46.
The service search unit 46 returns the search results returned from the service disclosure unit 44 of the same service search device 3A (service search program 4) and the search results returned from the service search devices 3B to 3D of the other networks 12B to 12D. Is transmitted to the client device 16A.
[0142]
Primary service search device 3A (service search program 4) that receives a service search request from a client device 16B (not shown in FIG. 4) belonging to one of other networks 12B to 12D (FIG. 4) (for example, network 12B) As shown in FIG. 15, the service search unit 46 (FIG. 6) requests the service disclosure unit 44 to receive a search result.
The service search unit 46 transmits the search result received from the service disclosure unit 44 to the service search device 3B of the request source network 12B.
The request source service search device 3B sends the request source client device 16B belonging to the same network 12B to the service information received from the other networks 12A, 12C, and 12D and the service in the same service search device 3B (service search program 4). The service information received from the disclosure unit 44 is merged and returned.
[0143]
[Modification]
In the above, the case where the service search device 3 collects service information from each server device 18 by the unique communication sequence shown in FIG. 18 and the like has been described as an example. It is also possible to modify to collect service information by using an existing network management protocol.
In addition, the service search device 3 may provide service information to the client device 16 using a Web page.
[0144]
In addition, it is possible to speed up the search by nearby service search devices communicating in advance and duplicating the service information held by each.
In addition, the service search apparatus 3 may hold service information obtained from other service search apparatuses 3 in a cache.
In addition, service information of all other service search devices 3 is stored in each service search device 3, and when a geographically close search range is set, the service search device 3 stores the service information. Search processing may be performed from service information.
Further, the service search device 3 may add up the server devices 18 actually used by the client device 16 from the service information sent to the client device 16 and reflect them in the search process as popular services.
[0145]
[Second Embodiment]
Hereinafter, a second embodiment of the present invention will be described.
FIG. 24 is a diagram showing the configuration of the second service search program 7 according to the present invention.
As shown in FIG. 24, the service search program 7 is used in place of the service search program 4 in the service search apparatus 3 (FIGS. 6 and 9), and a geographic information conversion unit 48 is added to the service search program 4. Take the configuration.
With the above configuration, the service search program 7 uses the administrative area name or the postal code instead of the latitude / longitude of the server device 18 (FIG.) As the geographic information of the service information (FIG. 8), and is similar to the service search device 3 Realize the functions.
[0146]
[Geographic information converter 48]
In the service search program 7, the geographic information conversion unit 48 converts the administrative district or the zip code of the location of each server device 18 included in the service information collected by the service information collection unit 40 into latitude / longitude information, and provides service information. Output to the collection unit 40.
[0147]
In the service search program 7, the service information collection unit 40 performs the same processing as in the service search program 4 using the latitude / longitude information of each server device 18 input from the geographic information conversion unit 48.
[0148]
[Modification]
Note that the geographic information conversion unit 48 may be provided in the directory device 50 and the wide area network 5 may be configured so that the geographic information conversion unit 48 can be shared by many networks 12.
Further, the geographic information conversion unit 48 may be connected to the wide area network 5 as an independent device instead of being provided in the service search device 3 (service search program 7).
[0149]
[Third Embodiment]
Hereinafter, a third embodiment of the present invention will be described.
FIG. 25 is a diagram showing the configuration of the second search range setting unit 52 that is replaced with the search range setting unit 42 in the service search program 4 (FIGS. 6 and 8).
As illustrated in FIG. 25, the search range setting unit 52 has a configuration in which the mutual discovery unit 422 of the search range setting unit 42 is changed to a mutual discovery unit 520.
By replacing the search range setting unit 42 with the search range setting unit 50 in the service search program 4, the wide area network 5 can be configured without using the directory device 50.
[0150]
[Mutual discovery unit 520]
In the wide area network 5 in which the search range setting unit 52 is used, the service search apparatus 3 constitutes a hierarchical network having a tree structure.
Each service search device 3 is set by the administrator with the network address of the upper service search device 3 at the time of installation, and the mutual discovery unit 520 has the upper service search device 3 (service search program 4). It communicates with the mutual discovery unit 520, registers its own network address in the upper-level service search device 3 (service search program 4), and receives a notification of the network address of the lower-level service search device 3.
[0151]
Further, the mutual discovery unit 520 sequentially communicates with the upper and lower service search apparatuses 3 (service search program 4), and obtains cluster information (FIG. 10) of the upper and lower service search apparatuses 3. Receive sequentially.
Through the above processing, the mutual discovery unit 520 of the service search device 3 (service search program 4) of each network 12 can receive the service search device 3 and cluster information of the entire wide area network 5.
The mutual discovery unit 520 outputs the received network address and cluster information of the service search device 3 of each network 12 to the search range generation unit 424 and the network analysis unit 426.
[0152]
【The invention's effect】
As described above, according to the service search apparatus and method according to the present invention, it is possible to search for which node is providing what service in the network and to receive the service. Can be provided.
Further, according to the service search apparatus and method according to the present invention, it is possible to search for a service in a short processing time without excessively increasing the traffic in the network.
Further, according to the service search apparatus and method according to the present invention, a service can be easily searched across a plurality of networks.
[Brief description of the drawings]
FIG. 1 is a diagram schematically illustrating a configuration of a wide area network including a plurality of networks.
2 is a diagram showing a positional relationship from the viewpoint of geographical space between a client device and a server device in the wide area network shown in FIG. 1;
FIG. 3 is a diagram showing a geographical positional relationship from the viewpoint of the network space of a client device and a server device in a wide area network (FIGS. 1 and 2) to which a network is added via a network relay device (R2).
FIG. 4 is a diagram illustrating a configuration of a second wide area network in which the service search apparatus according to the present invention is used.
FIG. 5 is a diagram showing a hardware configuration of the service search apparatus shown in FIG. 4;
6 is a diagram showing a configuration of a service search program for executing a service search in the service search apparatus shown in FIG.
FIG. 7 is a diagram showing service information held by a service information collection unit (FIG. 6) of a service search device (service search program).
FIG. 8 is a diagram showing service information transmitted from a server device to a primary service search device.
9 is a diagram showing a configuration of a search range setting unit shown in FIG.
FIG. 10 is a diagram showing cluster information registered in a directory device by a search range setting unit (FIG. 9) of a service search device (service search program; FIG. 6).
11 is a diagram showing server distribution information output from the clustering unit shown in FIG. 9 to the service disclosure unit (FIG. 6).
12 is a flowchart showing mutual discovery processing and registration in a directory device by the mutual discovery unit shown in FIG. 9;
13 is a diagram showing a configuration of a service disclosure unit of a service search device (service search program; FIG. 6).
FIG. 14 is a flowchart showing a search process (S12) of the service search unit 46 (FIG. 6) of the service search apparatus (service search program) that receives a service search request from a client apparatus belonging to the same network (FIG. 4). .
FIG. 15 is a flowchart showing a search process (S18) of the service search unit (FIG. 6) of the primary service search apparatus (service search program) that has received a service search request from a client apparatus belonging to another network (FIG. 4). is there.
FIG. 16 is a flowchart showing service information collection processing (S20) performed immediately after the service search device (service search program; FIG. 6) is registered in the directory device (initial stage).
17 is a diagram showing service information collection processing in the initial stage of the service search device (service search program; FIG. 6) shown in FIG. 16;
FIG. 18 is a diagram showing service information collection processing of a service search apparatus (service search program; FIG. 6).
FIG. 19 is a flowchart showing service information collection processing (S22) of the service search device (service search program; FIG. 6).
FIG. 20 is a flowchart showing a process (S24) in which the service information collection unit 40 of the service search device (service search program) deletes the service information.
FIG. 21 is a diagram illustrating processing in which a service search device registers cluster information in a directory device.
FIG. 22 is a first diagram showing the overall operation of the primary service search device (service search program) of the network 12A.
FIG. 23 is a second diagram showing the overall operation of the primary service search device (service search program) of the network.
FIG. 24 is a diagram showing a configuration of a second service search program according to the present invention.
FIG. 25 is a diagram showing a configuration of a second search range setting unit according to the present invention.
[Explanation of symbols]
1,5 ... Wide area network
10. Geographic space
12 ... Network
16: Client device
18 ... Server device
22 ... Router device
24 ... Firewall device
3. Service search device
4,7 ... Service search program
40 ... Service information collection department
42, 52 ... Search range setting section
420 ... Clustering unit
422, 520 ... Mutual discovery part
424 ... Search range generator
426 ... Network analysis unit
44 ・ ・ ・ Service disclosure department
440 ... Search processing unit
442 ... Public control part
46 ... Service Search Department
48 ... Geographic information converter
52 ... Search range setting section
50 ... Directory device

Claims (2)

ネットワークに含まれるクライアント装置から、クライアント装置の地理的情報が付された検索条件を受けて、前記ネットワークに含まれるサービス提供装置が提供するサービスを検索するサービス検索装置であって、前記ネットワークは複数の領域を含み、前記サービス検索装置は、前記複数の領域それぞれに1つ以上ずつ置かれ、
前記サービス検索装置が置かれた領域内において提供されるサービスの情報であって、このサービスを提供する前記サービス提供装置の地理的情報を含むサービス情報を収集するサービス情報収集処理と、
前記ネットワークにおける前記サービス提供装置の地理的情報に基づいて、前記サービスの前記ネットワークにおけるサービスの検索範囲であって、前記複数の領域の1つ以上それぞれの一部または全部を含む前記検索範囲を設定する検索範囲設定手段であって、
前記収集されたサービス情報に含まれる前記サービス提供装置の地理的情報に基づいて、前記サービス検索装置が置かれた領域に含まれるサービス提供手段の所在地をクラスタリングした結果として得られるクラスタの代表点およびサイズを示すクラスタ情報を生成するクラスタリング処理と、
他の領域において生成されたクラスタ情報を収集するクラスタ情報収集処理と、
前記検索条件に付されたクライアント装置の地理的情報と、同じ領域および他の領域において生成されたクラスタ情報とに基づいて、前記クライアント装置からのネットワークの距離が近いクラスタを含む検索範囲を設定する検索範囲設定処理と
を行う検索範囲設定手段と、
前記収集されたサービス情報から、前記設定された範囲において提供されるサービスを検索するサービス情報検索処理手段と
を有するサービス検索装置。
A service search device that receives a search condition to which geographical information of a client device is attached from a client device included in the network and searches for a service provided by the service providing device included in the network, wherein the network includes a plurality of networks. The service search device is placed in each of the plurality of areas, one or more,
Service information collection processing for collecting service information including information on the service provided in the area where the service search device is located and including geographical information of the service providing device that provides the service;
Based on geographical information of the service providing device in the network, the search range of the service in the network, the search range including part or all of one or more of the plurality of areas is set. Search range setting means for
Based on the geographical information of the service providing device included in the collected service information , the cluster representative points obtained as a result of clustering the locations of the service providing means included in the area where the service search device is located, and Clustering processing to generate cluster information indicating the size;
Cluster information collection processing for collecting cluster information generated in other areas;
Based on the geographical information of the client device attached to the search condition and the cluster information generated in the same region and other regions, a search range including clusters with a short network distance from the client device is set. Search range setting means for performing search range setting processing,
A service search apparatus comprising: service information search processing means for searching for a service provided in the set range from the collected service information.
前記ネットワークは、
前記ネットワークに含まれるサービス検索装置を登録する登録装置
を有し、
前記サービス検索装置は、
一斉同報処理により、同じネットワーク内の他の前記サービス検索装置に対して応答を求める一斉同報処理と、
前記一斉同報処理に応じて、他の前記サービス検索装置から応答がなかったときには、このサービス検索処理装置を、前記ネットワークにおけるサービス検索処理を行うプライマリサービス検索処理装置として、前記登録装置に登録し、他の前記サービス検索装置から応答があったときには、このサービス検索処理装置を、前記プライマリサービス検索処理装置をバックアップするバックアップサービス検索処理装置として、前記登録装置に登録する登録処理と
を行う登録手段
を有し、
前記登録装置に登録されたサービス検索装置のみが、このサービス検索装置を含むネットワークにおけるサービスの検索を行う
請求項1に記載のサービス検索装置。
The network is
A registration device for registering a service search device included in the network;
The service search device includes:
A simultaneous broadcast process for requesting a response to the other service search devices in the same network by the simultaneous broadcast process;
When there is no response from the other service search devices in response to the simultaneous broadcast processing, this service search processing device is registered in the registration device as a primary service search processing device that performs service search processing in the network. When there is a response from another service search device, the service search processing device is used as a backup service search processing device for backing up the primary service search processing device, and registration processing for registering in the registration device I have a,
The service search device according to claim 1, wherein only the service search device registered in the registration device searches for a service in a network including the service search device.
JP2001284485A 2001-09-19 2001-09-19 Service search apparatus and method Expired - Fee Related JP4096223B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2001284485A JP4096223B2 (en) 2001-09-19 2001-09-19 Service search apparatus and method
US10/097,343 US7177869B2 (en) 2001-09-19 2002-03-15 Service retrieving apparatus and service retrieving method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001284485A JP4096223B2 (en) 2001-09-19 2001-09-19 Service search apparatus and method

Publications (2)

Publication Number Publication Date
JP2003091553A JP2003091553A (en) 2003-03-28
JP4096223B2 true JP4096223B2 (en) 2008-06-04

Family

ID=19107794

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001284485A Expired - Fee Related JP4096223B2 (en) 2001-09-19 2001-09-19 Service search apparatus and method

Country Status (1)

Country Link
JP (1) JP4096223B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4303541B2 (en) 2003-09-02 2009-07-29 株式会社日立製作所 Search method and search broker
US7716357B2 (en) 2003-10-24 2010-05-11 Microsoft Corporation Service discovery and publication
KR100586866B1 (en) 2003-12-08 2006-06-07 삼성전자주식회사 Apparatus and method for sharing services on network
JP5493223B2 (en) * 2009-10-14 2014-05-14 株式会社日立製作所 Distribution processing apparatus, computer system, and request distribution method

Also Published As

Publication number Publication date
JP2003091553A (en) 2003-03-28

Similar Documents

Publication Publication Date Title
US8285705B2 (en) Hosted searching of private local area network information
US8285704B2 (en) Hosted searching of private local area network information with support for add-on application
US7539664B2 (en) Method and system for operating a rating server based on usage and download patterns within a peer-to-peer network
JP4413426B2 (en) Optimized network resource location
JP4668567B2 (en) System and method for client-based web crawling
US20090063704A1 (en) Systems & methods for statistical resolution of domain name service (dns) requests
CA2517538A1 (en) Organizing resources into collections to facilitate more efficient and reliable resource access
JP2003030079A (en) Contents sharing set and software program to be performed by devices constituting the same
JP2001516093A (en) Method and apparatus for representing and applying topological data in a network
JP4140375B2 (en) Service search device, service search system, and service search program
JP2000181849A (en) Method for finding server for peripheral equipment on network
US7523170B1 (en) Service locator technique implemented in a data network
US20040122812A1 (en) Service search device and method, and client device using service search device
US7177869B2 (en) Service retrieving apparatus and service retrieving method
JP4096223B2 (en) Service search apparatus and method
Zhao et al. Enhancing service location protocol for efficiency, scalability and advanced discovery
JP2004310458A (en) Personal information circulating method and personal information managing system and policy deciding system
Marti et al. Carmen: A dynamic service discovery architecture
JP3837738B2 (en) Node search system and method
KR100558897B1 (en) A grid information service based on ogsa using peer to peer mechanism and the method thereof
Eskicioglu et al. A query processing architecture for sensor networks
Lindsey Correlations among nearby mobile web users
Wang Network-aware client clustering and applications
He et al. Web based E-government information sharing system
Bhole et al. Approach of association rules mining for service discovery in mobile adhoc network

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040916

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070711

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070907

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071030

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071226

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080214

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080227

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110321

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120321

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130321

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130321

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140321

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees