(57)【要約】ネットワークに接続された多数の装置の各々に、索引付けエージェントが提供される。索引付けエージェントは、それぞれの装置上のリソースのコンテンツおよび位置に関する情報を含む、索引付けデータを生成する。索引サーバは、装置上のリソースを探す質問エンジンを含み、ネットワークに接続されている。索引付けエージェントは、それぞれの装置からの索引付けデータを、自動的に、または索引サーバからのクローラを伴って、索引サーバへ転送する。索引サーバは、それぞれの装置からの索引付けデータを、検索可能なデータベースへコンパイルする。索引付けエージェントは、索引付けデータを、装置特有のフォーマットから索引サーバにより解釈可能なフォーマットに翻訳してもよい。索引付けエージェントはまた、ネットワークに接続可能なモバイル装置の索引付けを可能にしたり、さらに認証された検索エンジンへの索引付けを制限することもある。
2006502461.tif 000002
【特許請求の範囲】
【請求項１】
装置上に多数のリソースを格納するメモリと、
多数のリソースのためのコンテンツデータおよび位置識別子を含む、索引付けデータを生成するよう構成され、コンテンツデータを生成するために、それぞれのリソースのコンテンツに関する情報を抽出するよう構成され、コンテンツデータをそれぞれのリソースへリンクする位置識別子を割り当てるよう、さらに構成された、装置上に常駐する索引付けエージェントと、
リモート索引サーバ、索引付けエージェントを含み、索引付けデータを索引サーバにプッシュするよう、さらに構成された、ネットワークに接続するための通信インターフェースとを含む電子装置。
【請求項２】
索引付けエージェントが、さらに索引サーバにより解釈され得るフォーマットの索引付けデータを格納するよう構成された請求項1の装置。
【請求項３】
索引付けエージェントが、リソースのコンテンツに関する情報を、装置特有のフォーマットから、索引サーバにより解釈可能なフォーマットへ翻訳する、翻訳プログラムを含んでいる、請求項2の装置。
【請求項４】
索引付けデータが、HTMLまたはXMLコードを含むウェブページとして格納される、請求項2の装置。
【請求項５】
位置識別子が、装置のリソーススペース内のそれぞれのリソースの位置を識別し、ネットワークに対して装置自体を識別するURLを含む、請求項1の装置。
【請求項６】
装置がネットワークの1つ以上のノードに断続的に接続可能であり、位置識別子が、装置の接続されている特定ノードから独立した装置を識別する動的なURLを含んでいる、請求項5の装置。
【請求項７】
索引付けエージェントが、クローラおよびシンサーバを含み、そのシンサーバが、クローラと装置のリソースとの間のインターフェースを提供し、そのクローラが、コンテンツデータを生成するために、装置のリソース内のファイルからコンテンツに関する情報を抽出するよう構成されている、請求項1の装置。
【請求項８】
通信インターフェースが、装置を断続的にネットワークに接続するよう構成されている、請求項1の装置。
【請求項９】
索引付けエージェントが、索引サーバが索引付けデータにアクセスすることを認可されていると確認するために、索引サーバとセキュリティプロトコルを交換するよう構成された認証モジュールを含む、請求項8の装置。
【請求項１０】
索引付けエージェントが、装置がネットワークに接続された各時間に、そのコンテンツデータを索引サーバに、自動的にプッシュするよう構成された、請求項8の装置。
【請求項１１】
装置から離れた索引サーバを含むネットワークへ少なくとも断続的に接続可能な装置上に常駐する索引付けエージェントを用いて電子装置上のリソースに索引付けをする方法であって、
索引付けデータを生成する索引付けエージェントを用いて、装置上のリソースに索引を付けることと、
装置上に索引付けデータを格納することと、
索引サーバに利用可能な索引付けデータを作成することとを含む方法。
【請求項１２】
索引付けステップが、コンテンツデータ、コンテンツデータを含む索引付けデータを生成するために、多数のリソースのコンテンツに関する情報を抽出することを含む、請求項11の方法。
【請求項１３】
索引付けステップが、さらに、それぞれのリソースにリンクするコンテンツデータに位置識別子を割当てることを含み、索引付けデータが位置識別子をさらに含む、請求項12の方法。
【請求項１４】
抽出ステップが、装置特有のコンテンツを、索引サーバにより解釈可能なフォーマットを含むコンテンツデータへ翻訳することを含む、請求項12の方法。
【請求項１５】
抽出ステップが、リソースに関連するメタデータを抽出することを含む、請求項12の方法。
【請求項１６】
索引付けエージェントが、HTMLまたはXMLマークアップを含むウェブページとして索引付けデータを格納する、請求項11の方法。
【請求項１７】
装置が、ネットワークに断続的に接続し得るモバイル装置を含み、方法が、索引付けデータを索引サーバに利用可能とする前に、装置をネットワークに接続することをさらに含む、請求項11の方法。
【請求項１８】
索引付けエージェントが、索引付けデータを索引サーバに利用可能とする前に、索引サーバがコンテンツデータを受信する権限を有していることを確認する、請求項17の方法。
【請求項１９】
索引付けデータを利用可能にするステップが、装置がネットワークに接続されたときに、索引付けデータの少なくとも一部分を、索引サーバへ自動的に転送することを含む、請求項17の方法。
【請求項２０】
索引付けデータを利用可能にするステップが、索引付けエージェントが索引サーバによりポーリングされるとき、索引付けデータを索引サーバへ転送することを含む、請求項11の方法。
【請求項２１】
索引付けデータを利用可能にするステップが、
索引付けデータの索引サーバへの転送を開始することと、
転送が中断されると、装置をネットワークから外すことと、
装置がネットワークに再接続された後、索引付けデータの索引サーバへの転送を再開することとを含む、請求項11の方法。
【請求項２２】
索引付けデータを利用可能にするステップが、
索引サーバからの問合せを受けることと、
問合せに関連するリソースに対する索引付けエージェントを用いて、索引付けデータを検索することと、
索引サーバへ、装置上のリソースが問合せに関連するか否かを示す応答を返すこととを含む、請求項11の方法。
【請求項２３】
ネットワーク上の利用可能なリソースに索引付けをするシステムであって、
ネットワークに少なくとも断続的に接続され、各々が多数のリソースを含む多数の電子装置と、
ネットワークに接続し、多数の装置上の多数のリソースを検索する問合せエンジンを含む索引サーバと、
多数の装置を含むそれぞれの装置上に常駐し、索引付けデータを生成するためにそれぞれの装置上のリソースを索引付けするよう構成され、索引サーバに索引付けデータを利用可能にするようさらに構成されている索引付けエージェントとを含むシステム。
【請求項２４】
索引付けエージェントが、索引付けデータを、問合せエンジンによりアクセス可能な検索可能データベースにコンパイルする索引付け装置を含んでいる索引サーバに索引付けデータをプッシュするようさらに構成された、請求項23のシステム。
【請求項２５】
索引サーバが索引付けデータの索引サーバへの転送を開始するよう、それぞれの装置上の索引付けエージェントに、定期的にコンタクトするよう構成されているクローラを含む、請求項24のシステム。
【請求項２６】
索引付けエージェントが、それぞれの装置のネットワークへの多数の接続にわたって、それぞれの装置の索引付けデータを索引サーバに漸進的に転送するよう構成されている、請求項24のシステム。
【請求項２７】
索引付けエージェントが、各装置上に常駐し、索引付けデータを生成するために、それぞれの装置上のリソースからコンテンツ関連の情報を抽出するよう構成されているクローラを含む、請求項23のシステム。
【請求項２８】
問合せエンジンが、所望の問合せを所望の問合せに関係するそれぞれの装置上のリソースを配置するよう、それぞれの装置上の索引付けデータを検索するよう構成されている索引付けエージェントに通話するよう構成されている、請求項23のシステム。
【請求項２９】
少なくともいくつかの装置がモバイル装置を含み、モバイル装置上の索引付けエージェントが、それぞれのモバイル装置上の索引付けデータにアクセスする権限を索引サーバが有することを確認するための認証モジュールを含んでいる、請求項23のシステム。
【請求項３０】
認証モジュールが、それぞれのモバイル装置がネットワークに接続されたとき、ネットワークに通知するようさらに構成された、請求項29のシステム。
【請求項３１】
索引付けエージェントが、それぞれの装置上に、装置依存コンテンツを、ウェブ標準フォーマットと互換性を有するコンテンツデータに翻訳するための、1つ以上の翻訳プログラムを含んでいる、請求項23のシステム。
【請求項３２】
ネットワークに接続可能な多数の電子装置上の、利用可能なリソースに索引をつける方法であって、
索引付けデータを生成するよう、それぞれの装置上に常駐する索引付けエージェントを用いて、それぞれの装置上のリソースに索引付けをすることと、
それぞれの装置上に索引付けデータを格納することと、
それぞれの装置上の索引付けデータを、問合せエンジンを含む索引サーバに利用可能にすることとを含む方法。
【請求項３３】
索引付けデータを利用可能にするステップが、
索引付けデータを、それぞれの装置から索引サーバへ転送することと、
索引付けデータを、それぞれの装置から、索引サーバに格納した検索可能なデータベースへとコンパイルすることとを含む、請求項32の方法。
【請求項３４】
転送ステップが、クローラを、それぞれの装置上の索引付けエージェントにコンタクトするために用いることを含む、請求項33の方法。
【請求項３５】
クローラが索引サーバ上に常駐し、さらに、索引付けデータの転送を開始するために、クローラがそれぞれの装置上の索引付けエージェントに周期的にコンタクトする、請求項34の方法。
【請求項３６】
それぞれの装置上の索引付けエージェントが、索引付けデータを、自動的かつ周期的に索引サーバへと転送する、請求項33の方法。
【請求項３７】
装置がネットワークへの接続を切り得るモバイル装置を含み、転送ステップが、ネットワークへの一連の接続にわたって、索引付けデータを、モバイル装置から漸進的に転送することを含む、請求項33の方法。
【請求項３８】
各装置が索引サーバからの問合せを受けることと、
それぞれの索引付けエージェントを用い、問合せに関連するリソースのために、各装置上の索引付けデータを検索することと、
それぞれの装置が問合せに関連するリソースを含むか否かを示す索引付けエージェントからの応答を送ることとを含む、請求項32の方法。
【請求項３９】
常駐の索引付けエージェントを有し、ネットワーク経由で索引サーバに接続している電子装置上のリソースを索引付けする方法であって、
索引付けデータを生成するよう、索引付けエージェントを用いて、電子装置上のリソースを索引付けすることと、
索引付けデータを索引サーバに転送すること、索引付けエージェントは索引付けデータが転送されるレートを制御することとを含む方法。
【請求項４０】
索引付けデータの転送が電子装置の他の機能の実行を実質的に妨げることがないよう、索引付けエージェントが、索引付けデータの転送レートを制御する、請求項39の方法。
【請求項４１】
索引付けエージェントが、電子装置の1つ以上の特性をモニタし、その1つ以上の特性に基づいて、索引付けエージェントが索引付けデータの転送レートを制御する、請求項39の方法。
【請求項４２】
1つ以上の特性が、電子装置に電力を供給する電源のエネルギーレベルを含む、請求項41の方法。
【請求項４３】
電源がバッテリーを含む、請求項42の方法。
【請求項４４】
1つ以上の特性が、電子装置の利用可能な記憶容量および処理レートのうちの少なくとも1つを含む、請求項41の方法。
【請求項４５】
1つ以上の特性が、索引付けデータの索引サーバへの転送に用いられる、通信インターフェースの利用可能な帯域幅を含む、請求項41の方法。
【請求項４６】
索引付けエージェントが、周期的に1つ以上の特性をモニタし、1つ以上の特性に基づいて、索引付けデータの転送レートを調整する、請求項41の方法。
【請求項４７】
電子装置が、断続的にネットワークに接続されるだけであるモバイル装置を含む、請求項39の方法。
【請求項４８】
電子装置がネットワークに接続されるごとに、索引付けエージェントが、索引付けデータの少なくとも一部分を、自動的に索引サーバへと転送する、請求項47の方法。
【請求項４９】
電子装置がネットワークに接続されるごとに、索引付けエージェントが、索引付けデータを、漸進的に索引サーバへと転送する、請求項47の方法。
【請求項５０】
索引付けデータの索引サーバへの転送を容易にするために、索引付けエージェントにより圧縮される、電子装置上の索引付けデータを格納することをさらに含む、請求項39の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、電子装置のリソースの索引付けのためのシステムおよび方法に関し、特に、ネットワークに接続された多数の演算装置上に格納されたデータ、ファイル、および/または、他のリソースの索引付け、検索、および/または、共有のためのシステムおよび方法に関する。
【背景技術】
【０００２】
検索エンジンは、インターネットやワールドワイドウェブなどの広域ネットワークを経由してアクセス可能な情報を見つけるための、よく知られたツールである。これらの検索エンジンは、ネットワークに接続された多数のサーバまたは、他の装置上にわたって点在するデータの索引付けおよび検索を容易にする。一般に、こうした大規模ウェブ検索エンジンは、クローラ、索引付け装置、および質問エンジンを必要とする。
【０００３】
クローラは、名前が含意するように、「ウェブ」にわたって「這う」アプリケーションであり、索引付け装置のためにリンクを辿り、ウェブページをフェッチするものである。ブラウザと同様に、クローラは、サーバで利用可能なウェブページにアクセスするために、ネットワークに接続されたウェブサーバまたは他の装置とコンタクトすることもある。クローラは、ウェブページから情報、例えば、ウェブページの内容から抽出される単語またはフレーズ、およびHTMLマーク付けなどのウェブページ内に埋め込まれたメタタグ、およびウェブページのリンク構造(リンク先、および/または、リンク元)から導かれる推論などを抜き出す場合もある。
【０００４】
索引付け装置は、クローラからのウェブページ情報を受ける、計算集中的および格納集中的システムである。索引付け装置は、一般に、クローラにより発見された全ウェブページの、包括的な逆引き索引を構成する。質問エンジンは、例えば、エンドユーザによって提供された質問キーワード、および/または、他の評価基準(言語、オリジナルのドメイン、年齢、など)に応答して、候補ウェブページへのリンクを返すよう、索引付け装置によって構成された索引を検索するために、エンドユーザにより用いられるアプリケーションである。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ビジネス、教育施設、または他の組織などの事業内では、多数の計算装置が、1つ以上のネットワークに、および/または、例えば、ローカルエリアネットワークにより、互いに接続されていることもある。こうしたネットワークに接続された計算装置の数および形態は、企業間で著しく異なる場合もある。さらに、特定のネットワークに接続された装置は、容量、速度、プラットホーム、およびネットワーク接続の方法で大幅に異なる場合もある。例えば、装置は、企業サーバ、デスクトップコンピュータ、ラップトップ、パーソナルデジタルアシスタンツ（personal digital assistants）、埋め込みセンサ、制御ネットワークなどを含む場合がある。ネットワークの優位、およびこうした装置の急増は、データ保存を企業のネットワークの「縁」に押し出す傾向があり、リソースの共有を困難にしている。
【０００６】
例えば、企業内で、ドキュメント、データファイルなどのリソースを配置し、および/または、共有するのが好ましい場合もある。しかしながら、これらの装置に存在するデータおよびドキュメントのうちの相当量は、従来のクローラおよび索引付けエンジンにとり、アクセス不能な場合がある。例えば、装置、および/または、これらのコンテンツを参照する、いかなる認識可能なリンクもない場合もある。さらに、若干の装置が断続的にネットワークに接続されるだけの場合もある。さらに、クローラにより使用されるプロトコル(HTTPなど)が、ローカルネットワーク装置によってはサポートされない場合もあろうし、および/または、装置のコンテンツが、クローラ、および/または、索引付け装置にとって未知のフォーマットである場合もあろう。
【０００７】
共用ファイルシステム、データ貯蔵所、ノレッジマネジメントシステム、および集中データアーカイブなどの、ネットワーク装置上に格納されたデータをキャプチャーする、いくつかの解決策が提案されてきた。これらの使用が普及しているにもかかわらず、これらのシステムは、ネットワークに接続されたデスクトップ、モバイル、および/または、パーソナルの装置上のリソースの多くをキャプチャーすることが出来ない。
【０００８】
例えば、共用回線網ボリュームは、装置上のデータ部分のみをキャプチャーする場合があり、アクセスをサポートするのに必要なソフトウェアも、小さなモバイル装置には不適当な場合がある。データ貯蔵所は、これらの装置上に格納されたデータのユーザによる明示の送信を頻繁に要求し、このため、貯蔵所コンテンツは、多くの装置で利用可能なデータについて、カレント、または包括的ではない場合がある。貯蔵所での索引付けはまた、データが貯蔵所内で索引付けされているそれぞれの装置の、ユーザにより送信されたキーワードのみに依存する場合もあり、こうしたキーワードは、事実上、それぞれの装置に実際に格納されているデータを反映しない場合もある。ノレッジマネジメントシステムは、多くの場合、コンテンツのための専用フォーマットに依存し、および/または、コンテンツを少数フォーマットに制限し、および/または、狭いドメインに専門化される。従って、こうしたシステムは、ネットワークで利用可能な情報リソースの広範なアレイに索引付けをし、それを検索するには有効でない場合もある。
【０００９】
さらに、一般に、これらのシステムは集中されるので、これらは、ネットワークに断続的に接続されるだけであるモバイル装置からデータをキャプチャーするには、不適当であろう。最終的に、集中データアーカイブは、永続性があり、長持し、および/または、証明された値の、保有情報に対して有効であるかもしれないが、事実上これらは、デスクトップ、ポータブル、および/または、モバイルの計算装置上に作成された、貴重な、しかし短命なデータをキャプチャーすることはないだろう。
【００１０】
従って、ネットワークに接続された装置上のリソースを、より効果的に索引付けし、および/または、検索を容易にするシステムおよび方法が有用であると考えられている。
【課題を解決するための手段】
【００１１】
本発明は、概して、ネットワークに接続された電子装置上で利用可能なリソースを索引付けするシステムおよび方法に向けられる。特に、本発明のシステムおよび方法は、企業のネットワークで利用可能なドキュメント、記録、データベース、メディアファイル、電子メールアーカイブなどの、リソースの索引付け、検索、および/または、共有を行う、ビジネス、教育施設、または他の組織などの事業を容易にする。リソースは、ネットワークに接続可能ないかなる装置に格納されていてもよいが、実質的に安全な環境において迅速に検出可能であることが好ましい。
【００１２】
本発明の1つの態様に従って、ネットワークに接続された多数の電子装置に格納されたデータの索引付けを生成するシステムが提供されている。索引付けデータは、以下の、それぞれの装置に関連する、1つ以上の情報を含んでいてもよい。情報の取り込み、コンテンツ、および出力；ハードウェアの構成、設定、および状態；ソフトウェアの構成、設定、および状態；システムおよび制御のログ；使用の方法、レート、パターン、および頻度、など。索引付けデータを生成可能な装置は、デスクトップコンピュータ、ラップトップ、携帯電話、電話、プリンタ、ファックス装置、パーソナルデジタルアシスタンツ、携帯用デジタル装置、デジタルメディアプレーヤー、およびレコーダー、電気器具システム、加熱システム、換気システム、通信システム、および電気システム、センサおよびアクチュエータ、自動車の電子システムおよび機械システム、技術的、科学的、および医療的器具、機械加工ツール、マテリアルハンドリングシステム、製造システム、組み立てシステム、および配送システム、などを含んでいてもよい。
【００１３】
好ましい実施例では、ネットワークの各電子装置は、それぞれの装置上でリソースに索引付けをする、「索引付けエージェント」、例えば、1つ以上の埋め込みデジタルプロセッサ、ハードウェア要素、および/または、ソフトウェアモジュールを含んでいる。1つの実施例では、索引付けエージェントは、それぞれの装置上に常駐するウェブサーバであり、翻訳プログラム、認証モジュール、存在モジュール、および/または、シンサーバ（thin server）を含んでいてもよい。
【００１４】
索引付けエージェントは、それぞれの装置上に格納された個々のリソースを説明するコンテンツデータ、および装置特有のURLやURLリンクのように、それぞれのコンテンツデータと関連する個々のリソースの位置を特定する位置識別子、または他の均一リソース識別子(Uniform Resource Identifiers(「URIs」))を含む、索引付けデータを生成するのが好ましい。索引付けエージェントが、それぞれの装置に格納されているリソースに関連した内容関連情報を抽出し、その生成された索引付けデータを、例えばHTML、またはXMLフォーマットのウェブページとして、または代替的にテキストとして格納するのが、さらに好ましい。索引付けデータは、以下でさらに説明されるように、その後の使用または転送のために、それぞれの装置のメモリ内に格納されてもよい。
【００１５】
1つの実施例では、索引付けエージェントは、装置に特化した情報を、クローラまたは索引付け装置により解釈され得る索引付けデータに翻訳する、1つ以上のモジュールを含む、翻訳プログラムを有し得る。装置からの情報が、例えば、HTMLまたはXMLのように、既にクローラまたは索引付け装置により解釈され得るフォーマットである場合は、いかなる翻訳も必要ではないだろう。しかしながら、ワードプロセッサドキュメント、メディアファイルなどの、クローラまたは索引付け装置と未だ互換性がないリソースに関しては、索引付けエージェントは、リソースに関するコンテンツ情報を抽出、例えば、翻訳プログラムは、情報をHTMLまたはXMLに翻訳し、続いて索引付けエージェントは、翻訳された情報をウェブページとして格納してもよい。
【００１６】
各索引付けエージェントは、プロセッササイクル、および/または、他の関連する帯域幅として利用可能になる、それぞれの装置のユーザにより実質的に検出されないバックグラウンド内で、静かに作動する1つ以上のモジュールとして構成されるのが好ましい。索引付けエージェントは、装置のユーザが計画する必要がなく、そうでなければ索引付けデータを作成またはアップデートするような形で、自動的および定期的に、装置のリソースの所望部分に索引付けをしてもよい。索引付けエージェントによる周期的な索引付けは、それぞれの装置でリソースの完全な索引を生成してもよいし、または、アップデートされた、すなわち、前の索引以来変更されたリソースのみを反映する索引付けを生成してもよい。
【００１７】
各装置は、また、例えば、クローラおよび/または索引付け装置に利用可能な、HTMLウェブページのフォーマットで索引付けデータを作る、通信インターフェースを含んでいる。こうした通信インターフェースは、モデム、ネットワークインターフェース、イーサネット（Ethernet）カード、通信ポート、PCMCIAスロットおよびカード、赤外線インターフェース、などを含んでいてもよい。
【００１８】
本発明の他の態様では、ネットワーク、および、少なくとも断続的にネットワーク、および1つ以上の索引サーバに接続される多数の電子装置を含むシステムが提供される。各電子装置は、好ましくは、上で説明されたような索引付けエージェントを含んでいる。1つ以上の索引サーバが、ネットワークに接続した検索エンジンを含んでいる。好ましい実施例では、索引サーバは、クローラ、索引付け装置、および/または、質問エンジンを含む、集中コンピュータシステムであってもよい。
【００１９】
クローラは、ネットワークに接続された各々の装置と定期的に連絡し、それぞれの装置上の索引付けエージェントにより生成された索引付けデータを、索引付け装置に転送する、アプリケーションである。代替的に、各索引付けエージェントは、クローラ、および/または、索引付け装置を不要にするよう、認可された検索エンジンから質問が受け取られたときはいつでも、単にそれぞれの索引付けデータを検索してもよい。さらに代替的に、各索引付けエージェントは、索引付け装置に直接その索引付けデータを「プッシュ」してもよい。索引付けエージェントは、所望の頻度で索引付けデータをアップデートし、アップデートされた索引付けデータを索引付け装置に転送するよう、プレプログラムされ、または命令されてもよいし、または、索引付け装置が、定期的に各装置の索引付けエージェントをポーリングしてもよい。
【００２０】
本発明の他の態様に従って、「モバイル」装置、すなわち、通信インターフェースがネットワークとの接続から長期間外されたり、またはネットワークへの接続が断続的である装置は、存在モジュールを含む索引付けエージェントを含んでいてもよい。存在モジュールは、それが最初にドックされたり、そうでなければネットワークに接続された際に、その装置の存在を自動的に登録してもよい。いったん接続されると、索引付けエージェントは、自動的に索引付けデータの現在のセットを索引付け装置にプッシュすることが出来る。代替的に、索引付けエージェントは、その装置に対する索引付けデータの新しいセットを生成したり、または、その装置の最後の接続以後のいかなる変化も反映する、索引付けデータのアップデートセットを生成させ、その新しいセットを索引付け装置に転送してもよい。索引付けデータの生成は、逓減優先順位またはクリティカリティの所与の順序で生成されてもよい。
【００２１】
存在モジュールはまた、ネットワークの他のすべてのユーザに、それぞれの装置のネットワークへの出現または接続を通知したりする、存在サービスを提供してもよい。代替的に、ユーザの一部分のみが、加入者が十分なアクセス権限を有する装置の所与のセットのための存在通知に「加入」してもよい。この様に、索引サーバまたは加入者は、注目している特定の装置、または、任意の装置が、いつネットワークに接続するかの通知を受けることが出来る。
【００２２】
装置はまた、装置にセキュリティを供給し得る認証モジュールを含んでいてもよい。例えば、認証モジュールは、索引付けエージェントが索引付けデータへのアクセスを提供する前に、例えば、クローラまたは索引付け装置に対して、その装置に厳然と身元を明示することを要求することにより、装置の所与のネットワークへの接続を認証することが可能である。これにより、接続されたネットワーク上のクローラまたは索引付け装置が、装置上の索引付けデータにアクセスする権限を与えられるのを確実にすることになる。従って、認証モジュールは、モバイル装置が外部ネットワークに接続し、すなわち、適切な企業のネットワークではないネットワークに接続し、未認可システムに情報を供給してしまうという危険を、実質的に減少させることになろう。同様に、索引付けエージェントは、認証圏に基づいて索引付けデータへのアクセスをフィルタにかけ、索引付けデータ、および/または、索引付けされたリソース自体へのアクセスの増加レベルを提供する。従って、索引付けエージェントは、認可されたクローラによってのみクロールされるのを許すことで、装置を保護することが可能である。
【００２３】
装置がネットワークに接続されると、例えば、パーソナルデジタルアシスタンツがそのネットワークおよびリチャージングクレイドル（recharging cradle）に設定されると、索引サーバに通知され、索引サーバからのクローラはすぐさま装置をクロールし始め、常駐の索引付けエージェントからページを収集する。クローリングは、装置がネットワークに接続している限り、または、索引付けデータの転送の完了まで続くことができる。ネットワークの接続は、それがダイナミックに割り当てられ、1つのネットワークの接続から他のネットワークへの接続に変化しても、クローラが装置のIPアドレスを得ることが出来る、ダイナミックなDNSサービスを提供してもよい。このIPアドレスは、索引サーバが、内部に特定のリソースを持つ正しい装置を、続いて特定可能となることを確実にする索引付けデータ内に含まれる位置識別子を適切に変更し、または補足することにより、反映されてもよい。
【００２４】
代替的に、さらに選択的な形のクローリングが利用されてもよい。例えば、クローラは、例えば、装置がクローラに、クロールし始める装置のページ空間内の正確な位置を知らせるなど、装置自体からの直接の接触を待ってもよい。この方法では、それぞれの装置上の索引付けエージェントは、クローラが装置を最後に訪れた以後に変更されたページだけを集めるよう、クローラに命じてもよい。さらに代替的に、索引付けエージェントは、所定の、または所望の優先順位に従って、クローラに、訪問すべき一組のページを知らせてもよい。
【００２５】
さらに代替的に、索引サーバは、クローラによって収集されたウェブページをアーカイブしてもよい。従って、装置がネットワークへの接続を切っても、索引サーバ自体には、(たとえ直近のものでないにせよ、)コピーがあるので、装置のウェブページの閲覧に検索エンジンを使用可能である。
【００２６】
本発明のさらに他の態様に従って、本システムは、通信インターフェースが低帯域幅であり、または信頼性の無い装置の索引付けを容易にし得る。低帯域幅接続は、「帯域幅を要求する」装置のコンテンツをクロールする場合に、特定の問題を提起することになろう。索引付けエージェントは、接続の不足を改善する方策を採用することもある。例えば、索引付けエージェントおよびクローラは、索引付けエージェントが、クロールおよび索引付けを所望するウェブページをオフラインで圧縮することが出来るような形で、共通の転送コード化を有していてもよい。索引付けエージェントは、圧縮コンテンツを生成した、これらのページをのみをクロールするよう、クローラに指示してもよい。この様に、装置は、その限られた帯域幅に最適となるよう利用され得る。
【００２７】
代替的に、索引付けエージェントは、索引付けデータを、どれもがさほど送信時間を要しない、小さな個々の「ミニページ」に分割してもよい。この技術は、圧縮と指示されたクローリングとを組み合わせて、装置がたとえ短期間接続されるだけであっても、装置がクローラと連携可能となる、鋭く指示された「スポットクローリング」を容易にすることもある。
【００２８】
本発明のさらに他の態様に従って、索引付けエージェントは、個人的、または機密的、または独占的情報が、それぞれの装置から索引付け装置まで、安全に実質的に転送されることを確実にするよう、索引付けデータの転送を制御してもよい。さらに、索引付けエージェントおよびクローラは、装置からクローラへの、機密情報の実質的に安全な伝達を可能にする、索引付けエージェントおよびクローラのみが知る非公開セションキーを設けてもよい。
【００２９】
本発明の、他の目的および特徴は、添付図面に関連する、以下の説明を考慮することにより、明確なものとなるだろう。
【発明を実施するための最良の形態】
【００３０】
ここで、図面を参照すると、図1は、本発明の実施例に従う、ネットワークアーキテクチャーの例を示すトップレベルのブロック図である。電子装置10、20、30、nは、各々少なくとも断続的にネットワーク40に接続され、さらに、索引サーバ50もまた、ネットワーク40に接続されている。
【００３１】
1つの実施例では、ネットワーク40は、ローカルエリアネットワーク(「LAN」)、イントラネット、および/または、無線通信網であってもよい。代替的に、ネットワーク40は、LAN、イントラネット、またはワイヤレスネットワークを含む、しかし、これらに限られることのない、多数の、いくつかの異なるタイプのネットワーク(図示せず)を含んでいてもよい。ネットワーク40は、企業内で情報の共有が可能な、および/または、ネットワーク40に接続可能な、あらゆる電子装置を組み入れているのが好ましい。
【００３２】
索引サーバ50は、検索エンジン52および、それぞれの装置10、20、30、nに関する索引付けデータのデータベース58を含んでいる。検索エンジン52は、以下でさらに説明されるように、索引付け装置54および質問エンジン56を含み、さらに、任意にクローラ(図示せず)を含んでいてもよい。概して、索引付け装置54は、装置10、20、30、n上の索引付けエージェントからの索引付けデータを受信し、データベース58に格納される検索可能な索引を作成する。質問エンジン56は、以下でさらに説明されるように、与えられた質問に関するリソースを特定し、場所を見つけ、アクセスするために、データベース58を検索するのに用いられる。
【００３３】
ネットワーク40に接続された装置10、20、30、nは、デスクトップコンピュータ、または他の固定ワークステーション、および/または、ラップトップ、およびパーソナルデジタルアシスタンツ(「PDA´ｓ」)、ワイヤレスアクセスプロトコル(「WAP」)電話、携帯用デジタル装置、などといったモバイルまたはポータブル装置などの、計算装置を含んでいてもよい。各々の装置は、概して、図2を参照して以下にさらに説明されるように、装置に常駐する索引付けエージェント60をサポート可能であり、それを含んでいる。
【００３４】
さらなる代替手段では、他の電子装置は、電話、プリンタ、ファックス装置、デジタルメディアプレーヤーおよびレコーダー、電気器具システム、加熱システム、換気システム、通信システム、および電気システム、センサおよびアクチュエータ、自動車の電子システムおよび機械システム、技術的、および科学的、および医療的器具、機械加工ツール、マテリアルハンドリングシステム、製造システム、および組み立てシステム、および配送システム、などを、ネットワークに含んでいてもよい。これらの装置はまた、常駐索引付けエージェントを含んでいたり、または代替的に、これらの装置がサーバを含むが、装置上のリソースの索引付けにサーバを使用し得る、索引付けエージェントを含む他の装置へ、直接結合されているものであってもよい。
【００３５】
図2を参照すると、ここには、典型的計算装置10の概略図が示されており、計算装置10は、装置10のリソース68に関する索引付けデータ70を生成するよう構成された、索引付けエージェント60を含んでいる。装置10は、索引付けエージェント60により制御され、および/または、アクセスされ得る、サーバ62、翻訳プログラム64、認証モジュール66、および/または、存在モジュール67などの多数のモジュールを含んでいてもよい。装置10は、当業者により理解されるように、リソース68および/または索引付けデータ70を格納する従来のメモリ(図示せず)、および様々な機能を実行する1つ以上のプロセッサを含んでいてもよい。装置のための典型的ハードウェア構造は、図6に示されており、以下でさらに説明される。
【００３６】
さらに装置10は、装置10をネットワークに接続し、および/または、そうでなければ他の装置(図2には示さず)と通信するための、通信インターフェース72を含んでいる。通信インターフェース72は、イーサネット（Ethernet）カード、通信ポート、PCMCIAスロットおよびカード、赤外線インターフェース、などの、モデム、ネットワークインターフェースを含んでいてもよい。
【００３７】
好ましい実施例では、索引付けエージェント60は、例えば、HTTPウェブサーバなど、リソース保存性の埋め込まれたサーバ専用である。索引付けエージェント60は、パーソナルデジタルアシスタンツ(例えば、パームパロッツ（Palm Pilots)）、またはWAP電話、または埋め込みマイクロコントローラなどの個人的な装置を含む、実質的に、任意の電子装置および計算装置にもインストール可能となるよう、従来のクローラまたはサーバと比べ比較的小さいものになり得る。「索引付けエージェント」という用語は、本願明細書では、概して、埋め込みウェブサーバ、または、本願明細書に説明した索引付け機構を実行するハードウェアベースの構成要素、および/または、ソフトウェアベースのモジュールの、任意の組み合わせを示している。また、「シンサーバ（thin server）」という用語は、索引付けエージェントが、従来のサーバに比べて比較的小さなサイズであるので、索引付けエージェント60について言及するのに使用される場合もある。
【００３８】
索引付けエージェント60は、サーバ62に、例えば装置のファイルシステム、構成データ、および/または、他のリソースを転送し、索引付けエージェント60が装置内にある索引付けすべきあらゆるリソースを系統的に索引付けすることを容易にするよう、装置のリソース68にアクセスするよう指示してもよい。代替的に、索引付けエージェントは、サーバ62の介入なしで装置のリソース68に直接アクセス可能であり、サーバ62は排除可能である。
【００３９】
索引付けエージェント60により生成された索引付けデータ70は、装置10上で利用可能なそれぞれのリソース68に関連するコンテンツデータを含んでいるのが好ましい。概して、コンテンツデータは、装置の個々のリソースを説明する情報、好ましくは個々のリソースのコンテンツに基づく情報、および/または、個々のリソースに関連するメタデータを含んでいる。HTMLファイルまたはASCIIファイルなど、既にクローラまたは索引付け装置と互換性があるリソースに関しては、索引付けエージェント60は、例えば、コンテンツデータとして、テキスト、およびメタタグ、など、互換性情報を格納してもよい。
【００４０】
未だ互換性のないリソースに関しては、索引付けエージェント60は、特定のリソースから抽出された情報を、クローラまたは索引付け装置により、解釈可能なフォーマットへ翻訳するために、翻訳プログラム64を用いてもよい。例えば、翻訳プログラム64は、アプリケーションファイル、ワードプロセッサファイル、スプレッドシート、メディアファイル(画像、オーディオおよびビデオファイルなど)、データベース、およびポータブルドキュメントフォーマット（Portable Document Format）(「PDF」)ファイル、など、特定のタイプのリソースの翻訳のための、1つ以上の装置に特有のモジュールを含んでいてもよい。また、翻訳プログラム64は、ハードウェア設定またはソフトウェア設定などの装置構成データを、クローラまたは索引付け装置により解釈可能なフォーマットに翻訳してもよい。1つの実施例では、翻訳プログラム64は、装置依存コンテンツを、HTMLまたはXMLなどのウェブ標準フォーマットに翻訳し得る。結果的に、索引付けデータは、索引付けデータが任意の共通のウェブ検索エンジンのクローラによってクロールおよび抽出可能な、以前にいかなる抽出装置も存在しなかった情報およびデータを含んでいてもよい。索引付けエージェント60および翻訳プログラム64は、事実上、クローラのための抽出装置としての役割を果たし得る。
【００４１】
索引付けエージェント60はまた、概して、それぞれのコンテンツデータに関連する個々のリソースの位置を特定するために、各コンテンツデータに位置識別子を割当てる。位置識別子は、例えば、装置のファイルスペース内のそれぞれのリソースの位置を特定し、および/または、特定の装置自体を特定し得る。好ましい実施例では、位置識別子は、リソースを発見可能な、装置専用の均一リソースロケータ(Uniform Resource Locators 「URLs」)、または、例えばネットワーク内のもう1つの位置に存在する携帯機器を特定する、位置識別のためのプロセスを識別する他の均一リソース識別子(Uniform Resource Identifiers 「URI's」)である。
【００４２】
「モバイル」装置、すなわち、断続的にネットワークに接続されるだけの、および/または、複数のノードでネットワークに接続され得る装置に関しては、ネットワークは、特に索引サーバ(図2には図示せず)のための仮想位置識別子を割り当て得る。例えば、索引サーバなどのネットワークは、たとえ装置が動的に割り当てられ、あるネットワーク接続から他の接続へと変化しても、索引サーバに装置のIPアドレスを得させる動的なDNSサービスを提供し得る。索引サーバが次にそこに特定のリソースを有する正しい装置を識別することができるかもしれないのを確実にするために索引付けデータ70に含まれている位置識別子に、このIPアドレスが反映されてもよい。
【００４３】
さらに、存在モジュール67は、こうしたモバイル装置のために通知することが出来る。例えば、存在モジュール67は、装置10がネットワークに接続された場合に、ネットワークに知らせ得る。さらに、認証モジュール66は、以下でさらに説明されるように、索引付けデータ70へのアクセスが認可されているネットワークに、装置10が確実に接続されるよう、セキュリティプロトコルを含んでいてもよい。
【００４４】
索引付けエージェント60は、例えば、プロセッササイクルおよびディスク帯域幅が利用可能になるとき、装置10のユーザにより検出されないバックグラウンドで、実質的に静かに作動するよう構成されるのが好ましい。索引付けエージェント60は、好ましくは自動的かつ定期的に、装置のリソース68に索引付けを行う。索引付けエージェント60は、それぞれの装置上のリソース68の完全な索引を生成可能であり、または  アップデートされた索引、すなわち、前回の索引付け以来変化したリソース68だけを反映させる索引を生成可能である。
【００４５】
図3に変わると、ここには、本発明に従い、ネットワークに接続可能な装置上に存在する索引付けエージェントにより実行可能な、典型的索引付け方法が示されている。最初に、ステップ110で、索引付けエージェントは、コンテンツ関連の情報をリソースから抽出するために、装置上のリソースにアクセス可能である。これは、装置常駐のサーバプログラムに、例えば、そのファイルシステム、メモリ、または他の記憶装置、周辺機、などの装置のリソースを、転送するよう指示する索引付けエージェントを含んでいるか、または、直接リソースにアクセスする索引付けエージェントを含んでいる場合がある。索引付けエージェントはまた、装置のソフトウェア構成設定およびハードウェア構成設定などの、他のリソースにアクセスしてもよい。
【００４６】
ステップ112では、索引付けエージェントは、それぞれのリソースが、既にHTMLなどのウェブ標準フォーマットであるか否かを判断する。そうでない場合は、ステップ114で、索引付けエージェントは、リソースからコンテンツ関連の情報を抽出し、その後、ステップ116で、情報をコンテンツデータとしてウェブ標準フォーマットに翻訳する。それぞれのリソースが既にウェブ標準フォーマットである場合は、ステップ118で、コンテンツ関連の情報、またはコンテンツデータが、リソースからコンテンツデータとして抽出される。
【００４７】
ステップ120では、索引付けエージェントは、例えば、装置のファイルスペース内のそれぞれのリソースの位置を識別するURL、または他のURIを用いて、コンテンツデータをそれぞれのリソースに関連づけるコンテンツデータへ、位置識別子を割り当てる。モバイル装置については、索引付けエージェントは、上で説明したように、例えばネットワークにより提供される動的なURIを、ネットワークへの特定の接続から独立した装置を識別するコンテンツデータに割り当ててもよい。
【００４８】
最終的に、ステップ122では、索引付けエージェントは、装置のメモリ内に、索引付けデータとして、コンテンツデータおよび関連位置識別子を格納する。好ましい実施例では、索引付けエージェントは、コンテンツ関連の情報を、例えばHTMLまたはXMLマークアップを用いるウェブページとして、またはテキストとして格納する。索引付けデータは、以下でさらに説明されるように、従来のウェブクローラにより容易にクロールされるか、または、従来の索引付け装置により解釈されるフォーマットで格納されるのが好ましい。
【００４９】
索引付けエージェント60は、その後、索引付けデータ70を、例えば、索引サーバ、クローラ、検索エンジン、など(図示せず) の外部の装置に利用可能にしてもよい。図4に変わると、ここでは、索引付けエージェントが、装置上に索引付けデータを保有し、ネットワークに接続された検索エンジンからの問合せに応答可能な方法が示されている。例えば、ステップ130では、装置のための索引付けデータを生成し終えた索引付けエージェントは、装置上の任意のファイルが特定のキーワードを含んでいるか否かという要請者からの要求などの、検索エンジンからの問合せを受けることが出来る。問合せは、検索エンジンから、ネットワークに接続されたすべての装置へ送られてもよいし、または、特定のプロジェクトグループの関係者により用いられているもののような、装置の特定の部分集合のみへ送られてもよい。
【００５０】
索引付けエージェントは、その後、ステップ132、134で、問合せに関連したコンテンツデータのための索引付けデータを検索可能である。いかなる適合も見つけられない場合は、ステップ136で、索引付けエージェントは、検索エンジンに否定的応答をしたり、または代替的に全く応答をしない。1つ以上の適合が見つけられた場合は、索引付けエージェントは、検索エンジンに、コンテンツデータが問合せ基準に適合する、リソースに関する情報を提供可能である。提供される情報の範囲は、検索エンジン、および/または、索引付けデータ、および/または、装置上のリソースにアクセスする要請者の権限に依存することが出来る。例えば、応答は、例えば、いかなる詳細も提供せず、装置を識別し、単に適合が見つけられたことのみを示すことも可能である。代替的に、応答は、適合するコンテンツデータをも含む可能性がある、適合するリソースに対するURLまたはURIを含むことが出来る。さらに代替的には、応答は、例えば問合せに適合する、装置上のファイルのコピーを要請者に提供するよう、リソース自体を転送することを含むことも可能である。
【００５１】
「急いで」索引付けデータを転送するこの方法は、限られた数の装置のみを含む、小さな企業に適当であろう。しかしながら、より大きな企業では、索引付けエージェントが、その索引付けデータを、貯蔵所または集中索引へ「プッシュする」ほうが、より役立つものになろう。例えば、図1へ戻ると、装置10、20、30、nの各々は、それぞれの装置から索引サーバ52まで索引付けデータをプッシュする、索引付けエージェント(図示せず)を含んでいるのが好ましい。このモデルにより、スケーラブルで、包括的で、迅速な企業全体の索引付け、および/または、企業内のあらゆる電子装置または計算装置の検索がもたらされる。
【００５２】
図1および図5に変わると、多数の装置上のリソースのコンテンツに関係づけられた索引付けデータの、集中された、検索可能なデータベース実装の方法が示されている。最初に、ステップ150では、索引サーバ50は、ネットワーク40に接続された多数の装置10、20、30、nからの索引付けデータを受け取ってもよい。すでに述べたように、装置10、20、30、n上の索引付けエージェント(図示せず)は、それぞれの装置上のリソースのコンテンツを説明するコンテンツデータを含む索引付けデータを、前もって発生させるのが好ましい。索引付けエージェントは、以下でさらに説明する数個のモデルのうちの1つを用いる索引サーバに、索引付けデータを転送してもよい。
【００５３】
索引サーバ50が、装置10、20、30、nからの索引付けデータをいったん受け取ると、索引付け装置54は、ステップ152で、逆引き索引または他の検索データベースを生成する、任意の既知の方法を用いて、データベース58にその検索データをコンパイルする。索引付けデータは、あらゆる装置から一度に受け取られ、その後コンパイルされてもよいし、または、装置からの索引付けデータは、例えば索引付けデータがモバイル装置から利用可能となるとき、断続的にコンパイルされてもよい。さらに、索引サーバは、索引付けデータを含むウェブページを格納してもよいし、または、さもなければ、それぞれの装置上の索引付けエージェントにより格納されたときに、索引付けデータのコピーを保有してもよい。これは、問合せが送信されたとき、ネットワークに接続していない場合があるモバイル装置をアーカイブするのに有用となるだろう。データベース58は、その後、データベース58にアクセスした、共同作業者、および人的資源要員、および保安要員、などの要請者による問合せに応答して、リソースを検索するのに使用されることが出来る。
【００５４】
例えば、ステップ154では、問合せエンジン56は、例えば要請者により送信されたキーワードまたは他の検索基準を含む問合せを受ける。問合せエンジン56は、ステップ156で、問合せに関連した索引付けデータを検索するために、例えば、要請者により送信されたキーワードまたは他の基準に合う、任意のコンテンツデータを識別するように、データベース58にアクセスする。問合せエンジン56は、当業者により理解されるように、データベース58全体、またはデータベース58の部分集合を検索可能である。
【００５５】
ステップ158では、問合せエンジンは、要請者に対し、何らかの適合が見つけられたかどうかを示す応答を送ってもよい。また、何らかの適合が見つけられた場合は、問合せエンジンは、要請者に対し、要請者のアクセス権に応じて、追加情報を提供してもよい。例えば、応答は、装置URLまたはURI、または他の方法を含んでもよく、そうでなければ、問合せを満たすコンテンツデータに対応するリソースを含む装置を識別し、場合によれば装置のユーザを識別してもよい。このレベルの応答は、機密、個人的、またはそうでなければ要請者がアクセスまたはレビューするのに不適当な、リソースの実際のコンテンツを明かすことなく、問合せに適合する装置またはユーザを識別するのに十分である。代替的に、応答は、装置自体を明確に識別する場合でも、しない場合でも、問合せを満たすあらゆるリソースの位置識別子も含むことが可能で、それにより、リソースへのアクセスを提供する。このレベルの応答は、共通プロジェクトのメンバーが利用可能であるもののような共用ファイルに適切である。
【００５６】
このようにして、ネットワークに接続される各装置上に索引付けエージェントを置くことにより、それまで知られていなかった、および/または、目録に載せられていなかった、および/または、大方がアクセスし得なかった装置上にあるリソースを、検索エンジンが発見し、さらに索引付けし、さらに問合せすることが出来るようになる。以下でさらに説明されるように、企業は、追加的な努力をせずとも、既存の検索エンジンを用いて、企業全体でコンテンツの新しいソースを発見し、アクセスすることが出来る場合もある。
【００５７】
索引付けエージェントおよび索引サーバは、さまざまに異なる方法で、それらの間で索引付けデータを転送可能である。例えば、索引付けエージェントは、索引サーバ、または装置のユーザがそうするように指示した場合のみ、索引付けデータを生成することが可能である。しかしながら、装置のユーザは、索引付けエージェントの索引活動にかかわることなく、すなわち、索引付けエージェントが自主的に、ユーザが索引エージェントの活動に気づくことなく、および/または、索引エージェントの活動に実質的に影響されることがないようなバックグラウンドで行動するのが好ましい。
【００５８】
第1の好ましい方法では、装置は、データベースを実質的にカレントに保つよう、所定の細分性で、索引付けデータを自動的に生成し、転送(「サーブアップ」)する。従って、索引付けエージェントは、例えば、索引付けデータの各組の生成の間の、実質的に固定された、または所定の期間をおいて、索引付けデータを定期的に生成する。1つの実施例では、索引付けデータは、装置上のあらゆる索引リソースを反映する、索引付けデータの完全な組であり得る。代替的実施例では、索引付けデータは、例えば、新規の、編集された、または削除されたファイルなど、前回の組以後状態が変化したリソースのみに対するアップデートされた索引付けデータを含む組であってもよい。
【００５９】
代替的に、モバイル装置については、索引付けデータは、「オフライン」で、すなわち、装置がネットワークに接続されないとき、例えば周期的な間隔で生成されてもよい。モバイル装置がネットワークに接続されると、モバイル装置の索引エージェントは、自動的にそのそれぞれの索引付けデータの索引サーバへの転送を開始し得る。装置がネットワークから外されると、索引付けエージェントは転送を中止し、索引付けデータ内に、転送が中断された位置を格納し得る。装置が再びネットワークに接続されると、索引付けエージェントは、その中断位置から再開可能である。従って、モバイル装置は、単一セッションで索引付けデータの転送が可能となるようネットワークに接続される必要はなく、転送は一連の何度かの接続で漸進的に実行されてもよい。
【００６０】
他の好ましい実施例では、索引サーバは、従来のウェブクローラなどのクローラを含んでいる。クローラは、索引付けされるべきリソースを含む各装置に、系統的および/または定期的にコンタクトする、自律ロボットであるのが好ましい。クローラは、連続して装置上の索引付けエージェントにコンタクトし始め、接続を確認し、自己を識別するために、および/または、そのクローラがそれぞれの装置上の索引付けデータにアクセスする、十分な権限を有するということを確認するセキュリティプロトコルを完成するために「ハンドシェーク」を交換する。
【００６１】
いったん、接続および権限が確認されると、その索引付けエージェントは、自分たちの索引付けデータをクローラへ転送してもよい。モバイル装置については、索引付けエージェントは、特にクローラのために存在する仮想URIを割り当てることにより、クローラからURLおよびコンテンツを抽出する仕事をオフロード可能である。従って、クローラ、索引付け装置、または他のクライアントが、こうした仮想URIを訪問すると(クローラにいかなる変化も必要でないよう、標準HTTPプロトコルを用いるのが好ましい)、索引付けエージェントは、オリジナルのページのコンテンツをまとめた、動的なページを生成させてもよい。これにより、実質的にネットワークの転送およびロードを抑え、索引の鋭敏さを改良することができる。
【００６２】
クローラのためにURIを割り当てる技術は、装置特有のコンテンツを作成し、貯蔵所または索引付け装置にプッシュするよう、さらに拡張され得る。索引付けエージェントは、アクセスを認証し、および制御する能力を有し得る。例えば「u」は、索引付けエージェント「M」によりサーブされるURLを表し、そこでは、uは、例えば装置特有のコンテンツ構成など、いかなるクローラ抽出装置も存在しないフォーマットでコンテンツを表示する。Mは、アクセスされた場合に、uのコンテンツの、標準HTMLへの翻訳を開始させ得る、仮想URL「v」を生成してもよい。この様にして、Mは、クローラを代表して抽出を実行するかもしれず、どんなクローラ抽出装置も以前に存在しなかったフォーマットへのアクセスをそれに与える。
【００６３】
さらに、索引付けエージェントは、装置依存および/またはコンテンツ依存の索引を直接クローラに提供する、クローラアウェア（crawler-aware）、および/または、索引付け装置アウェア（indexer-aware）サーバとして構成可能である。言い換えると、索引付けエージェントの認証プロトコル、およびアクセスコントロールにより、索引付けエージェントは、検索エンジンの索引付け装置に対して最適化された、クローラ専用コンテンツを生成可能となる。例えば、パーソナルデジタルアシスタンツ上で実行する索引付けエージェントは、部門プロジェクトウェブサイトで相互索引付けに適当となり得るパイロット（Pilot‘ｓ）メモパッドのサマリーを生成可能である。
【００６４】
クローラおよび索引付け装置の概念は、装置の索引付けエージェントがクローラを知っており、または連携している場合、かなり汎用であり得る。ここで概説されたアーキテクチャーにより、企業専用および/またはドメイン専用のクローラおよび索引付け装置の配置が可能となる。クローラは、例えば特定のプロジェクトに関連するすべてのコンテンツなど、特定フォーマットのコンテンツを検索するために企業内に配置可能である。クローラは、企業のネットワーク全体の装置から装置へと移動し、ネットワークの各装置上の索引付けエージェントの連携で、クローラにより、検索されたコンテンツのみをサーブされ、それにより、関連した鋭敏な索引を生成する。
【００６５】
本発明に従う索引付けエージェントのいくつかの特徴は、クローラが巡回を行っている間、目標の装置がネットワークに接続していない場合、クローラによるアクセスを容易にすることが可能である。第1に、索引付けエージェントは、装置が接続するときに、その存在をネットワークに示すことが出来る。この通知イベントは、例えばクローラを含む、あらゆる関心がある加入者に伝播され、それにより、クローラはすぐさまその装置を訪ね、必要なコンテンツを索引付け装置へプッシュバックすることが可能となる。第2に、索引付けエージェントは、検索エンジンのための関連コンテンツを前もって索引付けし、さらに、接続されている場合は、上で説明されたように、企業索引付けデータベース内に包含され、および統合されるための索引付けデータを、検索エンジンへプッシュバック可能である。さらに、索引付けエージェントは、ネットワークとの多重接続期間に、検索エンジンへ漸進的に索引付けデータを「流出」させてもよい。この方法は、ごく短時間だけ接続されたり、または低帯域幅接続のみをサポートする装置に対して特に適切であろう。
【００６６】
装置上の索引付けエージェントは、実質的に自主的な方法で作動し得るので、それは装置上のリソースの索引付けをし、さらに装置が索引サーバに接続し、および/または、アップデートを有している場合、索引サーバに通知してもよい。この様に、モバイルの断続的に接続される装置は、企業データ検索内にインテリジェントに含まれ得る。従って、索引サーバは、ネットワーク内のあらゆる装置上のリソースを発見可能なだけでなく、データベースの索引付けデータにより示されるリソースを含む装置の接続状態を、即座に知ることが出来る。これは、重要なデータを有する装置が、ネットワークに可能な限り早く接続されるよう要求するために、モバイル装置のユーザに、リアルタイムでコンタクトする可能性を開くことになる。
【００６７】
索引付けエージェントはまた、機密データに対する応答にフィルタをかけることも可能である。例えば、財政的、人的資源、医学的、個人的、および/または、他の機密的データは、例えば、索引付けエージェントの認証モジュールを用いて適切に含まれ得る。
【００６８】
図1へ戻ると、索引サーバ50は、単一のサーバを含んでいてもよいし、または、各々がデータベースを共有し、または、例えば異なるタイプのコンパイルされた索引付けデータを含む独立したデータベースを生成する、多数のサーバを含んでいてもよい。さらに、単一の検索エンジン、または多数の検索エンジンが提供されていてもよい。
【００６９】
概して、検索エンジン(C、I、Q)は、別々ではあるが関連した3つの構成要素を含んでいる：クローラC、索引付け装置I、および問合せエンジンQである。各構成要素は、動作(行われること)、場所(それが行われるところ)、および時間(それがなされる時間)により特徴付けられてもよい。この様に、動作、場所、および時間に関し、検索エンジンの構成要素に利用可能な変化の範囲を特徴付ける、検索エンジンの分類が構成可能である。検索エンジンについての追加情報は、参照により本願明細書に明白に組み込まれる、エス・ブリン（S. Brin）およびエル・ページ（L. Page）による「ハイパーテキスト対応大規模ウェブ検索エンジンの分析(The Anatomy of a Large-Scale Hypertextual Web Search Engine)」、第７回国際ワールドワイドウェブコンフェレンス（World Wide Web Conference）1998,
107‐118頁、に見出すことが出来る。
【００７０】
クローラは、好ましくは検索エンジンの索引付け装置に送信する「ウェブページ」のフォーマットで、実質的に自主的にデータをフェッチするロボットアプリケーションである。クローラに関する追加情報は、参照により本願明細書に明白に組み込まれる、www.searchtools.comで利用可能な、エー・ラッパポート、ロボッツアンドスパイダーズアンドクローラズ（A. Rappaport、Robots & Spiders & Crawlers）：「索引構築のためのウェブおよびイントラネット検索エンジンのリンク追跡法(How Web and intranet search engines follow links to build indexes)」、サーチツールズコンサルティング（Search Tools Consulting）、に見出すことが出来る。
【００７１】
例えばURL "u"など、特定のウェブページを識別する位置識別子が与えられた場合、クローラCは、最初に、uにより指定されるウェブページを訪問するか否かを判断することが出来る。肯定である場合、Cがuのホストに接続可能であり、さらにCがuにより指定されたページにアクセスする権限を有しているなら、クローラはuに達することが出来る。接続性およびアクセス権は、別々ではあるが関連する2つの問題である。第1は、例えばTCP接続などの、クローラとウェブサーバとの間の接続を確立する能力であり、これは、ネットワーク内のクローラの位置(例えばファイアウォールに関して)、またはネットワークサービスの質(混雑またはルーティング例外など)で変化し得る。
【００７２】
いったん接続が確立されても、例えばそれがパスワードで保護されている場合などは、クローラはページを読む許可を得なければならない場合もある。アクセスはまた、例えばホストに関連したパケットストリームのソースIPアドレスを点検するか、または暗号方法を用いることにより、アイデンティティが決定しているユーザまたはホストの有限集合に制限される場合もある。
【００７３】
いったんクローラがページコンテンツを手にすると、次のラウンドのクローリングのために、可能な限りのあらゆるリンクを抽出することが出来る。抽出は、クローラに利用可能なコンテンツおよび抽出装置のフォーマットおよびセマンティクスに依存する。例えば、たとえ全てのクローラがHTMLページからリンクを抽出し得ても、PDFまたはマイクロソフトワード（Microsoft Word）ドキュメント内に埋め込まれたリンクをリフトするのに必要な抽出装置を有しているのは、僅かなクローラだけだろう。
【００７４】
従って、クローラは以下により特徴付けられる：
a) ネットワーク形態に関して、ルーティング、ファイアウォール、およびクローラが接続し得るリモートホストを制限する、クローラのホストのIPアドレス；
b) アクセス権限；
c) 手にした集合から価値のあるURLを収集するローディングポリシー（loading policy）；
d) ウェブページのコンテンツがURLを与えるか否かを判断する抽出ポリシー；および、
e) 様々な形式のコンテンツからURLを抽出する1組の抽出装置。
【００７５】
概説された構成要素および処理を反映する、クローラの定型モデルが与えられ得る。参照により開示が本願明細書に明白に組み込まれる、ピー・ベイリー,エヌ・クラスウェル,ディー・ホーキング（P. Bailey, N. Craswell, D. Hawking）の、「チャートオブダークネス：大規模イントラネットのマッピング(Chart of Darkness: Mapping a Large Intranet)」、CSIRO CMIS テクニカルレポート（Technical Report）、オーストラリア、キャンベラ、2000、からの、僅かな修正で採用されてきた、以下の定義および記法は使用されるものとする。  
【００７６】
URL uが与えられた場合、"pu"はuに対するHTTP応答を示す(名目上はuのページコンテンツ)。uがURLの非空集合(nonempty set)である場合、pu＝∪u∈Upuである。簡潔さのために、puは、URL uおよびuのページコンテンツの双方を示してもよい。
【００７７】
「抽出装置」は、gがpuまたはg(pu)＝S上の不良定義を意味する、g(pu)＝⊥となるような関数g(pu)である。ここでSは、puから抽出されたあらゆるリンク(URLs) vの集合(空集合の場合もある)である。
【００７８】
「抽出ポリシー」E(pu)は、リンク(URLｓ)がpuから抽出可能な場合は真を返し、さもなければ偽を返す判断手順である。Eは、すべてがpuのフォーマットおよび構造に関する価値のあるヒントを提供するので、URL u、(HTTP応答内に含まれる)uのマイム（MIME）タイプ、およびページコンテンツpuを点検してもよい。例えば、マイム（MIME）タイプが"html"である場合、puは、(HTML仕様により) 構造が良好に定義されおり、リンクを抽出し易いページである。MIMEタイプが不特定(コンテントタイプヘッダフィールドを省略したHTTP応答)である場合、クローラは、メディアタイプを推論するためにURLまたはコンテンツ自体の構文を調べ得る。例えば、URL拡張子「.wav」または「.au」である場合、(共通規約により)、 (音声としてレンダリングされる) リンクを含んでいるものの、マシンエージェントによる抽出ではせいぜい問題が多いオーディオファイルを示してもよい。しかしながら、デジタルメタデータの包含が可能な、若干のオーディオフォーマットが存在する。適切な抽出装置を備えている場合は、クローラは索引付け装置のために、そのメタデータを抽出することも可能であろう。
【００７９】
「ローディングポリシー」は、URL uがローディングに適している場合は真を返し、さもなければ偽を返す判断手順L(u)である。「ページローディングポリシー」は、クローラが、ロボットを遮断するページ、および(CGIスクリプトにより生成されるページなど)生成されるページを無視するか否か、およびサイトまたはドメインに関して、ページローディング、リソース、およびタイムリミットを受け取るか否かを判断する。他の問題は、Lの定式化の役目を果たすかもしれない。
【００８０】
IPアドレス"α"、URL u、および1組のアクセスパーミッションP(パスワード、および暗号化キー、およびアクセス手順を含む)が与えられている場合、"α"からuにアクセス可能であり、Pが十分な権限を与える場合に、そしてその場合にのみ、「アクセス関数」A("α"、u、P)はpuを返す。
【００８１】
「クローラ」Cは、組("α"、A、P、E、G、L) であり、ここで、"α"はCの位置(IPアドレス)、Aはアクセス関数、Pは1組のアクセスパーミッション、Eは抽出ポリシー、Gは抽出装置の非空集合、Lはローディングポリシーである。
【００８２】
リンク抽出ポリシーE、抽出装置g、およびURLの非空シード集合S＝｛u0, ..., um-1｝が与えられると、E(pu)が真で、v∈g(pu)であるような、u∈Sが存在している場合に限り、Eおよびｇに関してURL vがpSから抽出される。  
【００８３】
URL uは、URLの集合Sに関するクローラC＝("α"、A、P、E、G、L)により、ワンステップで到達可能である。表記すると、u∈S、または、
・ uがEおよび若干のg∈Gに関してpSから抽出可能、
・  L(u)が真；そして、
・  A("α",u,P)=pu.
ならば数１
【数１】
2006502461.tif 000003
URL uは、数２ならば、すなわち、(S, u)が数３の遷移的クロージャ内に含まれるなら、URLの集合Sについては、クローラCにより到達可能である。到達可能の定義は、ページ集合に対して容易に拡張される。
【数２】
2006502461.tif 000004
【数３】
2006502461.tif 000005
【００８４】
ページ集合pS、pTが与えられた場合、tがCによりsから到達可能のような形で、pS⊂pTかつ∀ptεpT∃psεpSである場合に限り、pTはクローラCによりpSから到達可能である。クローラCにより到達可能なページの集合は、ちょうど数４の関係における最大限度のページ集合である。
【数４】
2006502461.tif 000006
【００８５】
図6に変ると、ブロック図は、本発明の要素および機能が、本発明の1つの実施例に従って実行され得る、典型的コンピュータシステム350を示している。本発明は、ハードウェア、ソフトウェア、またはその組み合わせを用いて実行され、さらに、コンピュータシステム、または他の処理システム内で実行され得る。様々なソフトウェア実施例は、典型的コンピュータシステム350に関して説明される。この説明を読むなら、他のコンピュータシステム、処理システム、またはコンピュータアーキテクチャーを用いて、本発明をいかに実行するかは、当業者にとり明らかとなるだろう。
【００８６】
装置350は、プロセッサ352などの1つ以上のプロセッサを含んでいる。追加プロセッサは、入力/出力を管理する補助プロセッサ、浮動小数点演算を実行する補助プロセッサ、信号処理アルゴリズムの高速実行に適したアーキテクチャーを有する専用マイクロプロセッサ(「デジタル信号プロセッサ」)、メイン処理システムへのスレイブプロセッサ従属物(「バックエンドプロセッサ」)、二元的、または多重プロセッサシステム、またはコプロセッサのための、追加マイクロプロセッサ、またはコントローラなどとして提供され得る。こうした補助プロセッサは、離散プロセッサであり得、またはプロセッサ352に統合され得ると認められる。
【００８７】
プロセッサ352は、通信バス354に接続される。通信バス354は、コンピュータシステム350の記憶装置と他の周囲要素との間の情報転送を容易にするデータチャンネルを含み得る。通信バス354は、さらに、データバス、アドレスバス、およびコントロールバス(図示せず)を含む、プロセッサ352との通信に必要な信号の集合を供給する。通信バス354は、例えば産業標準アーキテクチャー(ISA)、拡張産業標準アーキテクチャー(EISA)、マイクロチャンネルアーキテクチャー（Micro Channel Architecture）(MCA)、周辺要素相互接続(PCI)ローカルバス、IEEE 488汎用インターフェースバス(GPIB)、IEEE 696/S-100、などを含む、米国電気電子学会(IEEE)により公表された規格など、公表された規格に従う、任意の既知のバスアーキテクチャーを含んでいてもよい。
【００８８】
装置350はまた、主記憶装置356を含み、さらに二次記憶装置358を含んでいてもよい。主記憶装置356は、プロセッサ352上で実行されるプログラムのためのインストラクション、およびデータの格納を提供する。主記憶装置356は、ダイナミックランダムアクセスメモリ(DRAM)、および/または、スタティックランダムアクセスメモリ(SRAM)などの通常の半導体ベースのメモリである。他の半導体ベースのメモリタイプは、例えば、リードオンリーメモリ(ROM)と同様に、同期型ランダムアクセスメモリ(SDRAM)、ランバス（Rambus）ダイナミックランダムアクセスメモリ(RDRAM)、フェロエレクトリックランダムアクセスメモリ(FRAM)、などを含んでいる。
【００８９】
二次補助記憶装置358は、ハードディスクドライブ360、および/または、例えば、フロッピーディスクドライブ、磁気テープドライブ、光ディスクドライブなどの、リムーバブルストレージドライブ362、を含むことが出来る。リムーバブルストレージドライブ362は、周知の方法で、リムーバブルストレージユニット364を読み書き可能である。例えば、リムーバブルストレージユニット364は、リムーバブルストレージドライブ362により、読み書きし得るフロッピーディスク、磁気テープ、光ディスクなどを含んでいてもよい。さらに、リムーバブルストレージユニット364は、コンピュータソフトウェアおよびコンピュータデータが格納されている、コンピュータが使用可能な、ストレージ媒体を含んでいてもよい。
【００９０】
代替的実施例では、二次記憶装置358は、コンピュータプログラムまたは他のインストラクションをコンピュータシステム350にロード可能とする、他の同様の構成要素を含んでいてもよい。例えば、こうした構成要素は、インターフェース370およびリムーバブルストレージユニット372を含んでいてもよい。二次記憶装置358の例は、プログラム可能なリードオンリーメモリ(PROM)、消去可能プログラム可能なリードオンリーメモリ(EPROM)、電気的消去可能リードオンリーメモリ(EEPROM)、またはフラッシュメモリ(EEPROMと同様のブロック制御メモリ)などの、半導体ベースのメモリを含んでいてもよい。さらに、ソフトウェアおよびデータが、インターフェース370を経由して、リムーバブルストレージユニット372からコンピュータシステム350まで転送可能となる、任意の他のインターフェース370およびリムーバブルストレージユニット372も含まれている。
【００９１】
装置350はまた、通信インターフェース374を含んでいる。通信インターフェース374により、ソフトウェアおよびデータは、装置350と外部の装置、ネットワーク、または情報ソースとの間で転送可能となる。通信インターフェース374の例は、モデム、ネットワークインターフェース(例えば、イーサネット（Ethernet)カード)、通信ポート、PCMCIAスロットおよびカード、赤外線インターフェース、などを含むが、それには限定されない。
【００９２】
通信インターフェース374は、イーサネット（Ethernet） IEEE 802規格、ファイバーチャンネル（Fibre Channel）、デジタル加入者回線 (DSL)、非対称デジタル加入者回線(ASDL)、フレームリレー、非同期通信モード(ATM)、統合デジタルサービスネットワーク(ISDN)、パーソナル通信サービス(PCS)、転送制御プロトコル/インターネットプロトコル(TCP/IP)、シリアルラインインターネットプロトコル/ポイントツーポイントプロトコル(SLIP/PPP)などの、産業普及アーキテクチャー規格を実行するのが好ましい。通信インターフェース374を経由して転送されるソフトウェアおよびデータは、通信インターフェース374により受信可能な、電子信号、電磁信号、光学信号、または他の信号である、信号378のフォームであってもよい。これらの信号378は、チャンネル376経由で、通信インターフェース374に提供される。チャンネル376は、ワイヤ、またはケーブル、光ファイバー、電話回線、携帯電話リンク、無線周波数(RF)リンク、または他の通信チャンネルを使用して信号378を運び、インプリメントされるかもしれない。
【００９３】
コンピュータプログラミングインストラクション(また、コンピュータプログラム、ソフトウェア、またはファームウェアとして知られている)は、主記憶装置356および二次記憶装置358に格納されてもよい。コンピュータプログラムはまた、通信インターフェース374経由で受信されてもよい。こうしたコンピュータプログラムは、実行されると、装置350が本発明の特徴を実行するのを可能にする。特に、コンピュータプログラミングインストラクションの実行により、プロセッサ352が本発明の特徴および機能を実行するのが可能になってもよい。従って、こうしたコンピュータプログラムは、コンピュータシステム350のコントローラの代理をする。
【００９４】
「コンピュータプログラム製品」という用語は、このドキュメントでは、コンピュータシステム350へのプログラミングインストラクションの提供に用いられる任意の媒体を称するよう使用されている。ある媒体の例には、リムーバブルストレージユニット364、372、ハードディスクドライブ360にインストールされたハードディスク、および信号378が含まれている。従って、コンピュータプログラム製品は、コンピュータシステム350にプログラミングインストラクションを供給する手段となることもある。
【００９５】
ソフトウェアを使用することで本発明が実行される実施例では、ソフトウェアはコンピュータプログラム製品に収納されており、ハードディスクドライブ360、リムーバブルストレージドライブ362、インターフェース370、または通信インターフェース374を用いて、コンピュータシステム350にロードされてもよい。プロセッサ352によって実行される場合に、コンピュータプログラミングインストラクションにより、プロセッサ352は、本願明細書に説明されるような本発明の特徴および機能を実行してもよい。
【００９６】
他の実施例では、本発明は、特定用途向集積回路(「ASICs」)などのように、ハードウェア構成要素を用いて、主としてハードウェア内で実行されてもよい。本願明細書で説明された機能を実行する、ハードウェア状態の機械の実装は、当業者には明白であろう。さらに他の実施例では、本発明は、ハードウェアおよびソフトウェアの双方の組合せを用いて実行されてもよい。当業者であれば、装置350の変更または再構成が、本発明の範囲または趣旨から逸脱しないことが理解されるであろう。
【００９７】
本発明は、様々な変更および代替的形態を可能にするものであり、それらの特定の例は、図面に示され、本願明細書に詳細に説明されてきた。しかしながら、本発明は、開示された特定の形態、または方法に限定されるものではなく、それとは逆に、本発明は、請求項の趣旨および範囲内にある、あらゆる修正、同等物、および代替手段をカバーすることが理解される。
【図面の簡単な説明】
【００９８】
【図１】本発明に従う、ネットワークアーキテクチャーを示す概略図である。
【図２】本発明に従う索引付けエージェントを含む、計算装置の概略図である。
【図３】本発明に従う、電子装置上のリソースを索引付けする方法を示すフローチャートである。
【図４】本発明に従う、検索エンジンからの質問に応答して、索引付けエージェントにより生成される索引付けデータを検索する方法を示すフローチャートである。
【図５】本発明に従う、多数の装置上のリソースのコンテンツに関連する索引付けデータの、検索可能なデータベースを実装する方法を示すフローチャートである。
【図６】本発明の特定要素および機能性が実装され得る、典型的コンピュータシステムを示すブロック図である。
【符号の説明】
【００９９】
40  ネットワーク、  50              索引サーバ、54  索引付け装置、56  問合せエンジン、58  データベース、60  索引付けエージェント、62  サーバ、64  翻訳プログラム、66  認証モジュール、67  存在モジュール、68  ローカルリソース、70  索引付けデータ、72  通信インターフェース。
【図１】
2006502461.tif 000007
【図２】
2006502461.tif 000008
【図３】
2006502461.tif 000009
【図４】
2006502461.tif 000010
【図５】
2006502461.tif 000011
【図６】
2006502461.tif 000012
【国際調査報告】
2006502461.tif 000013
2006502461.tif 000014
2006502461.tif 000015
2006502461.tif 000016
2006502461.tif 000017