(57)【要約】検索コーパスを動的に変更するインデキシングおよび検索のためのツールおよび技術が提供される。このツールは、文書をネットワークを経由してオンラインの文書リポジトリにアップロードする要求を受信して、そのアップロードを容易にするユーザインタフェースを提示できる。ユーザインタフェースは、少なくとも１人の他のユーザに、文書内に含まれるコンテンツを検索する許可を与えるためのユーザによるアクティブ化に応答するデバイスを含むことができる。ユーザインタフェースを通じて、このツールは、ユーザ選択を取り込む共有パラメータと関連付けられる文書を用いて、許可を与えることに関連するユーザからの選択を受信できる。最後に、そのツールは、アップロードされる文書の識別を受信できる。
2012515394.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ実行可能命令（２０８）を有する少なくとも１つのコンピュータ可読ストレージ媒体（２０６）を備えた装置（１０４）であって、前記コンピュータ実行可能命令は、プロセッサ（２０２）にロードされておよび実行されると、前記プロセッサに、
少なくとも１つの文書（２１０）を、ネットワーク（１０８）を経由してオンラインの文書リポジトリ（１１１）にアップロードする要求を受信するステップ（３０４）と、
前記アップロードに関連してユーザインタフェース（１３０）を提示するステップであって、前記ユーザインタフェースは、少なくとも１人の他のユーザに、前記文書内に含まれるコンテンツを検索する許可を与えるためのユーザによるアクティブ化に応答する少なくとも１つのデバイス（３１０−３２４）を含む、ステップと、
前記許可を与えることに関連するユーザインタフェースを通じて、前記ユーザから少なくとも１つの選択を受信するステップ（３２８）と、
前記文書を、前記ユーザ選択を取り込む共有パラメータ（３２６）に関連付けるステップと、
アップロードされる文書の少なくとも１つの識別（２１０Ａ）を受信するステップと
を実行させることを特徴とする装置。
【請求項２】
前記選択に従って特定される文書をアップロードする命令をさらに備えることを特徴とする請求項１に記載の装置。
【請求項３】
ユーザインタフェースを提示する前記命令は、前記ユーザが前記文書をその他のユーザと共有しないことを可能にするユーザによるアクティブ化に応答する少なくともさらなるデバイスを含むユーザインタフェースを提示する命令を含むことを特徴とする請求項１に記載の装置。
【請求項４】
ユーザインタフェースを提示する前記命令は、前記ユーザが前記文書内のコンテンツを検索する許可を与えられたユーザの少なくとも１つのグループを特定するのを可能にするユーザによるアクティブ化に応答する少なくともさらなるデバイスを含むユーザインタフェースを提示する命令を含むことを特徴とする請求項１に記載の装置。
【請求項５】
ユーザインタフェースを提示する前記命令は、前記ユーザが前記文書内のコンテンツを検索する許可を与えられたユーザの少なくとも１つのドメインを特定するのを可能にするユーザによるアクティブ化に応答する少なくともさらなるデバイスを含むユーザインタフェースを提示する命令を含むことを特徴とする請求項１に記載の装置。
【請求項６】
ユーザインタフェースを提示する前記命令は、前記ユーザが、前記文書が前記オンラインの文書リポジトリの任意の他のユーザによって検索可能であることを指定するのを可能にするユーザによるアクティブ化に応答する少なくともさらなるデバイスを含むユーザインタフェースを提示する命令を含むことを特徴とする請求項１に記載の装置。
【請求項７】
コンピュータ実行可能命令（１２０）を有する少なくとも１つのコンピュータ可読ストレージ媒体（１１８）を備えた装置（１１０）であって、前記コンピュータ実行可能命令は、プロセッサ（２０２）にロードされておよび実行されると、前記プロセッサに、
オンラインの文書リポジトリ（１１１）にアップロードされる少なくとも１つの文書（２１０）を受信するステップ（４０２）と、
前記文書の所有者（６０６ａ）を特定するステップ（４０８）と、
前記アップロードされる文書に指定される共有許可を抽出するステップ（４０４）であって、前記共有許可は、前記アップロードされる文書が前記所有者以外の少なくとも１人のユーザと関連付けられる動的検索コーパス（７０４ａ）内に含まれるかどうかを示す、ステップと、
前記アップロードされる文書のコンテンツに、前記文書の少なくとも前記所有者によるおよび検索コーパスが前記アップロードされる文書を含む任意の他のユーザによる検索のためのインデックスを付けるステップ（４０６）と
を実行させることを特徴とする装置。
【請求項８】
前記アップロードされる文書と関連付けられる前記共有許可に対する少なくとも１つの更新を受信する命令をさらに備えること、および前記更新に応答して他のユーザの少なくとも１人による少なくとも１つの動的検索コーパスを更新する命令をさらに備えることを特徴とする請求項７に記載の装置。
【請求項９】
更新を受信する前記命令は、前記文書を少なくとも他のユーザと関連付けられる動的検索コーパスに追加する更新を受信する命令を含むことを特徴とする請求項８に記載の装置。
【請求項１０】
更新を受信する前記命令は、前記文書を少なくとも他のユーザと関連付けられる動的検索コーパスから除去する更新を受信する命令を含むことを特徴とする請求項８に記載の装置。
【請求項１１】
オンラインの文書リポジトリにアップロードされる少なくとも第２の文書を受信する命令をさらに備えること、および前記第２のアップロードされる文書をリリースするために特定するステップ、抽出するステップ、およびインデックスを付けるステップを繰り返すことをさらに備えることを特徴とする請求項７に記載の装置。
【請求項１２】
前記アップロードされる文書に指定される編集許可を抽出する命令をさらに備え、前記編集許可は、前記文書の所有者以外の少なくとも１人のユーザが前記アップロードされる文書を編集するのを許可されているかどうかを示すことを特徴とする請求項７に記載の装置。
【請求項１３】
前記オンラインの文書リポジトリの少なくとも１人のさらなるユーザと関連付けられる動的検索コーパスを定義する命令をさらに備え、前記検索コーパスは、前記さらなるユーザが検索するのを許可されている文書の範囲を表すことを特徴とする請求項７に記載の装置。
【請求項１４】
前記さらなるユーザ用の前記検索コーパスを更新して、前記さらなるユーザによって所有される少なくともさらなる文書を含むようにする命令をさらに備えることを特徴とする請求項１３に記載の装置。
【請求項１５】
前記アップロードされる文書の所有者が少なくとも前記さらなるユーザを前記共有許可内に含めることに応答して、前記さらなるユーザ用の前記検索コーパスを更新して、少なくとも前記アップロードされる文書を含むようにする命令をさらに備えることを特徴とする請求項１３に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検索コーパスを動的に変更するインデキシングおよび検索に関する。
【背景技術】
【０００２】
現在、各種検索エンジンが、さまざまなデータストア上でキーワード検索を行うために利用可能である。しかしながら、このような検索エンジンは、一般的に、ユーザを匿名エンティティとして扱い、典型的には、どういった特定のユーザが所与の問い合わせを行っているかにかかわらず、同じ検索結果を戻す。
【発明の概要】
【０００３】
検索コーパスを動的に変更するインデキシングおよび検索のためのツールおよび技術が提供される。このツールは、文書を、ネットワークを経由してオンラインの文書リポジトリにアップロードする要求を受信することができ、そのアップロードを容易にするユーザインタフェースを提示できる。ユーザインタフェースは、少なくとも１人の他のユーザに、文書内に含まれるコンテンツを検索する許可を与えるためのユーザによるアクティブ化に応答するデバイスを含むことができる。ユーザインタフェースを通じて、このツールは、ユーザ選択を取り込む(incorporate)共有パラメータと関連付けられる文書を用いて、許可を与えることに関連するユーザからの選択を受信できる。最後に、そのツールは、アップロードされる文書の識別を受信できる。
【０００４】
上述の発明の対象をコンピュータ制御の装置、コンピュータプロセス、コンピューティングシステムとして、またはコンピュータ可読媒体のような工業製品として実装してよいことを認識されたい。これらと他のさまざまな特徴は、以下の発明を実施するための形態を読み且つそれに関連する図面を精査することによって明らかになるであろう。
【０００５】
本発明の概要は、以下の発明を実施するための形態においてさらに説明される簡易化された形式において概念の選択を導入するために与えられる。本発明の概要は、特許請求される発明の対象の範囲の重要な特徴または不可欠な特徴を特定することを意図せず、本発明の概要が特許請求される発明の対象の範囲を限定するのに使用されることも意図しない。さらに、特許請求される発明の対象は、本開示のいずれの部分においても言及される一部またはすべての不都合な点を解決する実装に限定されない。
【図面の簡単な説明】
【０００６】
【図１】検索コーパスを動的に変更するインデキシングおよび検索に関連するツールおよび技術を実装するのに適したシステムまたはオペレーティング環境を示すブロック図とフロー図の組み合わせ図である。
【図２】文書と関連付けることができる共有許可の例を示すブロック図である。
【図３】検索コーパスを動的に変更するインデキシングおよび検索と関連して、ユーザデバイスによって行われるプロセスフローならびにユーザが図２に示した共有許可を指定できるユーザインタフェース（ＵＩ）を示すブロック図とフロー図の組み合わせ図である。
【図４】動的インデキシングおよび検索システムによって行われる時の、検索コーパスを動的に変更するインデキシングおよび検索と関連するプロセスフローを示すフロー図である。
【図５】ネットワークを経由するユーザデバイスから文書およびインデックスストレージ要素への文書フローを示すブロック図とフロー図の組み合わせ図である。
【図６】異なるユーザと関連付けられる時の異なる検索コーパスを示す、文書およびインデックスストレージ要素に関連するさらなる詳細を提供するブロック図である。
【図７】特定の文書と関連付けられる異なる動的ネットワークおよびフォルダーを示す、文書およびインデックスストレージ要素に関連するさらなる詳細を提供するブロック図である。
【図８】ユーザデバイスによって提供される検索インタフェースおよびツールを示すならびにユーザが所与の検索用の検索範囲パラメータを定義できる例示的なＵＩを示すブロック図である。
【図９】ユーザデバイスおよび動的インデキシングおよび検索システムが、検索コーパスを動的に変更する検索と関連して協働できるプロセスフローを示すフロー図である。
【図１０】時間とともに行われるさまざまな例示的な検索およびアップロードに対する検索コーパスの動的性質を示す時系列図である。
【発明を実施するための形態】
【０００７】
以下の詳細な説明は、検索コーパスを動的に変更するインデキシングおよび検索のための技術を提供する。本明細書で説明される発明の対象は、オペレーティングシステムおよびアプリケーションプログラムをコンピュータシステム上で実行することに関連して実行するプログラムモジュールの一般的なコンテキストを提示しているが、他の実装を他のタイプのプログラムモジュールとの組み合わせにおいて行ってよいことを当業者は理解するであろう。一般的に、プログラムモジュールは、特定のタスクを行うまたは特定の抽象データ型を実装するルーチン、プログラム、コンポーネント、データ構造、および他のタイプの構造を含む。さらに、本明細書で説明される発明の対象を、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラマブルな家電、ミニコンピュータ、メインフレームコンピュータおよび同種のものを含む、他のコンピュータシステム構成で実施してよいことを当業者は認識するであろう。
【０００８】
以下の詳細な説明は、この説明の一部を成し、例証として、特定の例示的実装を示す添付図面を参照する。次に、数枚の図を通じて同種の数字が同種の要素を表す図面を参照しながら、本説明は、検索コーパスを動的に変更するインデキシングおよび検索のためのさまざまなツールおよび技術について論じる。
【０００９】
図１は、検索コーパスを動的に変更するインデキシングおよび検索を実装するのに適したシステムまたはオペレーティング環境を示し、１００において概ね示す。図１をより詳細に見ると、任意の数のユーザ１０２ａ、１０２ｂ、および１０２ｃ（まとめてユーザ１０２とする）は、対応するユーザデバイス１０４ａ、１０４ｂ、および１０４ｃ（まとめてユーザ１０４とする）とインタラクトできる。図１では、このようなインタラクションをそれぞれ１０６ａ、１０６ｂ、および１０６ｃ（まとめてインタラクション１０６とする）において表す。一般的に、このようなインタラクション１０６は、ユーザによってデバイス１０４に出されるコマンドを示すことができ、検索コーパスを動的に変更するインデキシングおよび検索と関連して、このようなコマンドおよび同種のものに応答する。
【００１０】
インタラクション１０６と関連して、ユーザデバイス１０４は、１または複数の動的インデキシングおよび検索システム１１０を用いて１または複数のネットワーク１０８を経由して通信を行うことができる。より具体的には、ユーザデバイス１０４を通じて行動するユーザ１０２は、それぞれの文書１１２ａ−１１２ｃを、インデキシングおよび検索システム１１０によって提供されるオンラインの文書ストレージ１１１にアップロードできる（まとめてアップロードされる文書１１２とする）。その後、インデキシングプロセスは、これらのアップロードされる文書１１２を読み出して、後続の検索用にアップロードされる文書１１２にインデックスを付けることができる。ひとたびアップロードされる文書１１２にインデックスが付与されると、ユーザは、このアップロードされる文書１１２に対する検索を行うことができる。インデキシングおよび検索システム１１０は、任意の数のユーザデバイス１０４にアクセス可能な、オンラインの文書リポジトリを提供できる。
【００１１】
ネットワーク１０８をより詳細に見ると、このネットワーク１０８は、１または複数の通信ネットワークを表すことができる。例えば、ネットワーク１０８は、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、および／またはパーソナルエリアネットワーク（例えば、Ｂｌｕｅｔｏｏｔｈタイプのネットワーク）を表すことができ、そのどれもが、検索コーパスを動的に変更するインデキシングおよび検索を容易にするように単独または組み合わせにおいて動作できる。図１に示したネットワーク１０８は、このネットワークの実装と関連付けられる任意のハードウェア（例えば、アダプタ、インタフェース、ケーブルおよび同種のもの）、ソフトウェア、またはファームウェアを表すこともでき、このネットワークが動作できる任意のプロトコルを表すこともできる。
【００１２】
インデキシングおよび検索システム１１０をより詳細に見ると、図１に示したこのシステム１１０は、このようなシステムを任意の数で表すことができる。インデキシングおよび検索システム１１０は、検索コーパスを動的に変更するインデキシングおよび検索と関連して、任意の数のユーザデバイス１０４と協働(cooperate)できる。例えば、インデキシングおよび検索システム１１０とユーザデバイス１０４は、異なる実装に適切なクライアントサーバ関係、ピアツーピア関係、またはその他の適した関係においで協働できる。
【００１３】
インデキシングおよび検索システム１１０をより詳細に見ると、このシステムは、特定の実装に適切として選ばれた特定のタイプまたはアーキテクチャを有し得る、１または複数のプロセッサ１１４を含むことができる。プロセッサ１１４は、プロセッサ１１４との互換性があることで選ばれた１または複数のバスシステム１１６に結合できる。
【００１４】
インデキシングおよび検索システム１１０は、バスシステム１１６に結合する、コンピュータ可読ストレージ媒体１１８の１または複数のインスタンスも含むことができる。バスシステム１１６は、プロセッサ１１４がコンピュータ可読ストレージ媒体１１８に対してコードおよび／またはデータを読み込むのを可能にし得る。コンピュータ可読ストレージ媒体１１８は、半導体、磁性材料、光学または同種のものを含むがこれに限らない、適した任意の技術を使用して実装されるストレージ要素の形式における装置を表すことができる。コンピュータ可読ストレージ媒体１１８は、ＲＡＭ、ＲＯＭ、フラッシュメモリか、または他のタイプに分類されるメモリコンポーネントを含むことができ、且つハードディスクドライブを表すこともできる。
【００１５】
コンピュータ可読ストレージ媒体１１８は、プロセッサ１１４にロードされて実行される時に、インデキシングおよび検索システム１１０に、検索コーパスを動的に変更するインデキシングおよび検索に関連するざまざまな技術を行わせる１または複数の命令モジュールを含むことができる。本説明を通して詳述するように、これらの命令モジュールは、インデキシングおよび検索システム１１０が、本説明を通して詳細に論じられるコンポーネント、フローおよびデータ構造を使用して検索コーパスを動的に変更するインデキシングおよび検索を提供できるさまざまなツールまたは技術を提供することもできる。例えば、コンピュータ可読ストレージ媒体１１８は、動的インデキシングおよび検索ツール１２０を実装する１または複数のソフトウェアモジュールを含むことができる。このインデキシングおよび検索ツール１２０は、本明細書ではシステム１１０に割り付けられるさまざまな機能を行うのにプログラムされたまたは構成されたソフトウェアを概ね表す。
【００１６】
コンピュータ可読ストレージ媒体１１８は、アップロードされる文書１１２を記憶するためのオンラインの文書ストレージ要素１１１の１または複数のインスタンスを含むこともできる。コンピュータ可読ストレージ媒体１１８はまた、インデックスストレージ要素１２２を含むこともできる。後続の図面では、ストレージ要素１１１および１２２についてさらに詳しく説明する。なお、概要において、図１に示したオンラインの文書ストレージ要素１１１は、さまざまな文書、許可レベル、共有仕様および同種のものを表すデータ構造用の記憶場所(storage location)を概ね表す。インデックスストレージ要素１２２は、アップロードされる文書１１２の検索を容易にするインデックス用の記憶場所を概ね表す。
【００１７】
図２は、ユーザデバイス（例えば、図１の１０４、その後図２に持ち越される）のコンポーネントを示し、２００において概ね示す。図２は、検索コーパスを動的に変更するインデキシングおよび検索と関連して、文書と関連付けることができる共有許可の例も示す。
【００１８】
ユーザデバイス１０４をより詳細に見ると、このデバイスは、特定の実装に適切として選ばれた特定のタイプまたはアーキテクチャを有し得る、１または複数のプロセッサ２０２を含むことができる。ユーザデバイス１０４内のプロセッサ２０２は、インデキシングおよび検索システム１１０内のプロセッサ１１４と同じタイプまたはアーキテクチャであってもよいし違ってもよい。プロセッサ２０２は、プロセッサ２０２との互換性があることで選ばれた１または複数のバスシステム２０４に結合できる。ユーザデバイス１０４内のバスシステム２０４は、インデキシングおよび検索システム１１０用に選ばれたバスシステム１１６と同じタイプおよびアーキテクチャであってもよいし違ってもよい。
【００１９】
ユーザデバイス１０４は、バスシステム２０４に結合する、コンピュータ可読ストレージ媒体２０６の１または複数のインスタンスを含むこともできる。バスシステム２０４は、プロセッサ２０２がコンピュータ可読ストレージ媒体２０６に対してコードおよび／またはデータの読み込みを行うのを可能にし得る。コンピュータ可読ストレージ媒体２０６は、半導体、磁性材料、光学または同種のものを含むがこれに限らない、適した任意の技術を使用して実装されるストレージ要素の形式における装置を表すことができる。コンピュータ可読ストレージ媒体２０６は、ＲＡＭ、ＲＯＭ、フラッシュメモリか、または他のタイプに分類されるメモリコンポーネントを含むことができ、且つハードディスクドライブを表すこともできる。
【００２０】
コンピュータ可読ストレージ媒体２０６は、プロセッサ２０２にロードされて実行される時に、ユーザデバイス１０４に、検索コーパスを動的に変更するインデキシングおよび検索に関連するざまざまな技術を行わせる１または複数の命令モジュールを含むことができる。本説明を通して詳述するように、これらの命令モジュールは、ユーザデバイス１０４が、本説明を通して詳細に論じるコンポーネント、フローおよびデータ構造を使用して検索コーパスの動的な変更を介してインデックス付けして検索できる様々なツールまたは技術を提供することもできる。例えば、コンピュータ可読ストレージ媒体２０６は、文書アップロードツール２０８を実装する１または複数のソフトウェアモジュールを含むことができる。一般的に、期待される文書アップロードツールは、ユーザデバイス１０４が、適したインデキシングおよび検索システム（例えば、図１の１１０）上でインデックス付けして記憶するためのネットワーク（例えば、図１の１０８）を介して任意の数の文書２１０をアップロードするのを可能にするように動作し得るソフトウェアを表す。
【００２１】
アップロードされる文書２１０を共有許可と関連付けることができ、２１２において概ね示す。ユーザ１０２に提示される適したユーザインタフェースを使用して、共有許可２１２を追加（populate）できる。図３は、このようなユーザインタフェースの例を示し、図２の説明が終わった後で以下に論じる。
【００２２】
共有許可２１２をより詳細に見ると、図２は、ユーザが文書２１０をアップロードする時に指定できる共有および／または検索許可のいくつかの例を示す。例えば、２１４において概ね表されるように、アップロードするユーザは、所与の文書２１０がその他のユーザによって共有されないまたは検索できないように指定できる。この方法において、アップロードするユーザは、自身がアップロードした文書２１０の少なくとも一部を私的に保持できる。
【００２３】
２１６において表されるように、アップロードするユーザは、そのアップロードされる文書内でアクセスし、編集し、および／または検索する許可が与えられる、１または複数の他の個々のユーザを特定できる。より具体的には、ブロック２１６において与えられるアクセス許可は、個人をメンバーにできるグループまたは他の集団構造に許可を与えることと区別した、具体的に特定されるまたは列挙される個人に与えられる許可を表すことができる。
【００２４】
２１８において表されるように、アップロードするユーザは、１または複数のグループまたは他の集団構造を特定し、今度はこれらのグループまたは集団構造を用いて任意の数の構成要素(constituents)またはメンバーをカニング(caning)できる。従って、アップロードするユーザ以外の所与のユーザは、ブロック２１６において明示的な特定または列挙を経てアクセス許可を受信できるか、またはブロック２１８において、アクセスを受信するグループのメンバーシップを通じてアクセス許可を継承できる。
【００２５】
２２０において表されるように、アップロードするユーザは、そのユーザのメンバーがアップロードされる文書への共有および／または検索許可を受信するドメインを特定できる。「ドメイン」の概念をより詳細に見ると、企業コンテキスト（例えば、ＡＢＣ社と言う架空の会社）において、ドメインのメンバーは、その企業に所属することを示す電子メールアドレス（例えば、ｊｏｈｎ．ｓｍｉｔｈ＠ａｂｃ．ｃｏｍ）またはユーザログインを有するユーザを含むことができる。ある場合には、アップロードするユーザは、アップロードされる文書をそのドメインと関連付けられるユーザのあるサブセットと共有するように選択できる。例えば、アップロードするユーザは、アップロードされる文書を“ｅｍｐ＊＠ａｂｃ．ｃｏｍに限定するように共有許可を特定できることで、“ｅｍｐ”から始まる電子メールアドレスを有するすべてのユーザがアップロードされる文書にアクセスできるようになる。この方法において、アップロードするユーザは、このドメインの一部またはすべてのメンバーがアップロードされる文書内で共有および／または検索するのを可能にし得る。
【００２６】
ブロック２２２において表されるように、アップロードするユーザは、アップロードされる文書が、インデキシングおよび検索システム１１０の任意のユーザが検索および／または共有するのに自由に入手できることを示すこともできる。この方法において、アップロードするユーザは、アップロードされる文書をこのような任意の他のユーザに対して「公的に」利用可能にすることができる。
【００２７】
図３は、検索コーパスを動的に変更するインデキシングおよび検索と関連してユーザデバイスによって行われるプロセスフローを示し、３００において概ね示す。図３は、アップロードするユーザが、共有および／または検索許可を図２に示したユーザに指定できるユーザインタフェース（ＵＩ）も示し、３０２において概ね示す。
【００２８】
図３をより詳細に見ると、プロセスフロー３００では、文書アップロードツール２０８によって行われる処理についてさらに詳しく説明するものと理解してよい。しかしながら、本説明の実装は、本説明の範囲および精神から逸脱しなければ、プロセスフロー３００の少なくとも一部を他のコンポーネントを用いて行ってよい。
【００２９】
ブロック３０４は、１または複数の文書をアップロードする要求を所与のアップロードするユーザ（例えば、図１の１０２）から受信することを表す。図２は、２１０において、このような文書の例を提供する。
【００３０】
ブロック３０６は、ブロック３０４において受信される要求に応答して、適したユーザインタフェース（ＵＩ）をアップロードするユーザに提供することを表す。例えば、ブロック３０６は、ＵＩ３０２を提示することを含むことができる。ＵＩ３０２をより詳細に見ると、ＵＩ３０２は、アップロードされるファイルを選択するための文書選択デバイス３０８を含むことができる。例えば、文書選択デバイス３０８は、ユーザがアップロードされる文書と関連付けられるパスに直接キー入力(key in)して名前を付けるのを可能にし得るか、またはユーザがディレクトリ構造内でアップロードされる文書を閲覧して選択するのを可能にし得る。
【００３１】
ＵＩ３０２は、アップロードされる文書がアップロードするユーザに私的に保持されることを示すユーザ入力またはアクティブ化に応答するデバイス３１０を含むことができる。実行可能な異なる実装において、ユーザが文書をアップロードしている時に、デバイス３１０をそのアップロードするユーザに提示できるか、またはユーザが文書をアップロードした後で、デバイス３１０をそのアップロードするユーザに提示できる。ひとたびアップロードされる文書がインデキシングおよび検索システム１１０上に記憶されると、例えば、デバイス３１０をアクティブ化することによって、アップロードするユーザは、アップロードされる文書がその他のユーザによって共有されないまたは検索できないように指定できる。
【００３２】
ＵＩ３０２は、インデキシングおよび検索システム１１０上で、アップロードされる文書を１または複数の具体的に列挙されたまたは特定された他のユーザと共有できることを示すユーザ入力またはアクティブ化に応答するデバイス３１２を含むことができる。例えば、アップロードするユーザは、デバイス３１２をチェックあるいはアクティブ化でき、次に、アップロードされる文書へのアクセス許可が与えられている他のユーザを具体的に特定する情報をフィールド３１４に入力できる。フィールド３１４に入力される情報は、電子メールアドレス、インデキシングおよび検索システム１１０によって出される固有のユーザ識別子、または他の適した特定する情報を含むことができる。あるシナリオにおいて、アップロードするユーザは、フィールド３１４を選択して文字(characters)をそのフィールドに入力できる。ユーザが文字をフィールド３１４に入力する時に、文書アップロードツール２０８は、識別子がその入力される文字と一致する他のユーザのリストにフィルターをかけて更新できる。
【００３３】
ＵＩ３０２は、１または複数の他のユーザグループがアップロードされる文書内で共有および／または検索できることを示すユーザ入力またはアクティブ化に応答するデバイス３１６を含むことができる。例えば、アップロードするユーザは、デバイス３１６をチェックあるいはアクティブ化でき、次に、アップロードされる文書にアクセスできる他のユーザグループを特定する情報をフィールド３１８に入力できる。上述のフィールド３１４と同様に、フィールド３１８は、このフィールドに入力される文字に応答し、フィールド３１８は、事前に定義されたグループのうち、入力される文字と一致するフィルターされたリストを提示する。
【００３４】
デバイス３２０は、アップロードされる文書を１または複数の所与のドメインと関連付けられるユーザによって共有または検索可能にし得ることを示すユーザ入力またはアクティブ化に応答する。例えば、アップロードするユーザは、デバイス３２０をチェックあるいはアクティブ化でき、そして情報をフィールド３２２に入力でき、そのアップロードされる文書が共有されるドメインを特定する。上記のフィールド３１４および３１８のように、フィールド３２２は、フィールド３２２に入力される任意の文字に基づいて、判読しがたいドメイン（illegible domain）を提示するためのフィルタリング機能を提供することもできる。
【００３５】
デバイス３２４は、アップロードされる文書が、インデキシングおよび検索システム１１０に正規にアクセスでき任意のユーザによって共有または検索可能であることを示すユーザ入力またはアクティブ化に応答する。この方法において、アップロードするユーザは、インデキシングおよび検索システム１１０を介してデバイス３２４をアクティブ化することによって、所与のアップロードされる文書を公的にアクセス可能および検索可能にすることができる。
【００３６】
図３では、デバイス３１０−３２４をまとめて、所与のアップロードされる文書に対してアップロードするユーザが表現する、共有または検索設定３２６と表す。所与のアップロードされる文書に対して、１または複数の設定３２６を異なるコンテキストにおいて必要に応じてアクティブ化できることに留意されたい。例えば、デバイス３１０が、所与のアップロードされる文書を私的に保持するようにアクティブ化される場合、残りのデバイス３１２−３２４を非アクティブ化できる（例えば、ユーザ選択に対してグレー表示または非応答にする）。同様に、デバイス３２４が、所与のアップロードされる文書を制限なしに公的に共有するようにアクティブ化される場合、デバイス３１０−３２２を非アクティブ化できる。
【００３７】
デバイス３１２−３２２について、ユーザは、そのユーザが所与のアップロードされる文書の管理を望む方法次第で、これらのデバイスの１または複数をアクティブ化できる。例えば、ユーザは、アップロードされる文書を具体的に名付けられた２つの異なるユーザと共有することを望むことができ、フィールド３１４においてデバイス３１２をアクティブ化してその名付けられたユーザを特定することによってそのようにできる。具体的に名付けられたこのような２つのユーザに加えて、ユーザは、フィールド３１８においてデバイス３１６をアクティブ化して所望のグループを特定することによって、アップロードされる文書を１または複数のユーザグループと共有できる。フィールド３１４において特定された具体的に名付けられた２つのユーザは、フィールド３１８において特定されたグループのメンバーであってもよいしそうでなくてもよい。同様に、デバイス３２０をアクティブ化してフィールド３２２に追加することによって、アップロードされる文書を特定のドメインと関連付けられるユーザと共有できる。一般的に、ユーザは、デバイス３１２、３１６および３２０を一緒にして、またはアップロードされる特定の文書を必要に応じて別々に、アクティブ化または非アクティブ化できる。
【００３８】
プロセスフロー３００に戻って、ブロック３２８は、ＵＩ３０２によって提供されるさまざまなツールを通じてユーザによって選択されて入力される時に、共有／検索パラメータ３２６を受信することを表す。同じく、ブロック３３０は、文書をインデキシングおよび検索システム１１０にアップロードすることを表す。アップロードされる文書が共有／検索設定３２６と関連付けられることで、インデキシングおよび検索システム１１０は、アップロードされる文書を後の検索用に適切にインデックス付けできるようになる。
【００３９】
図４は、動的インデキシングおよび検索システム１１０によって行われる時に、検索コーパスを動的に変更するインデキシングおよび検索に関連するプロセスフローを示し、４００において概ね示す。より具体的には、プロセスフロー４００では、図１に示した動的インデキシングおよび検索ツール１２０についてさらに詳しく説明するものと理解してよい。しかしながら、プロセスフロー４００は、動的インデキシングおよび検索システム１１０と関連して説明され、本説明の実装は、本説明の範囲および精神から逸脱しなければ、このようなプロセスフロー４００の少なくとも一部を他のコンポーネントを用いて行ってよい。
【００４０】
プロセス４００をより詳細に見ると、ブロック４０２は、所与のアップロードされる文書を受信することを表す。例えば、以前の図を用いて論じたシナリオを継続して、ブロック４０２は、図２に示した文書２１０を受信することを表すことができる。さらに、ブロック４０２は、１または複数の中間ネットワークを経由して（例えば、図１の１０８）アップロードされる文書を受信することを含むことができる、
【００４１】
ブロック４０４は、アップロードされる文書に指定される適用可能な共有／検索設定を任意に抽出することを表す。共有／検索設定の例は、ＵＩデバイス３１０−３２４を使用して定義できる時に、図３の３２６において示される。
【００４２】
ブロック４０６は、後続の検索を支援するために、必要に応じて、アップロードされる文書にインデックスを付けることを表す。例えば、ブロック４０６は、アップロードされる文書のコンテンツを処理することおよびそのアップロードされる文書用の検索インデックスを作ることを含むことができる。検索インデックスは、アップロードされる文書内で見つかるキーワードを含むことができ、これらのキーワードがアップロードされる文書内で発生している場所を示すことができる。それによって、着信する所与の検索がこのようなキーワードの発生を要求する場合、検索インデックスは、アップロードされる文書内で見つかる時にこのようなキーワードの任意の場所に効率的に戻すことができ、その文書自体を戻すこともできる。
【００４３】
さらに、ブロック４０６は、ブロック４０８において概ね表されるように、アップロードされる文書と関連付けられる所有者レコード(owner record)を追加することを含むことができる。本明細書で使用されるように、文書の「所有者」は、文書をインデキシングおよび検索システム１１０にアップロードするユーザを指す。一般的に、アップロードされる文書の所有者は、そのアップロードされる文書と関連付けられる共有／検索設定３２６を指定する。
【００４４】
ブロック４０６は、ブロック４０４において抽出される時に、共有／検索設定を分析することを含むこともでき、アップロードされる文書が、文書の所有者以外のユーザによって共有または検索可能にするかどうかを決定する。図４は、決定ブロック４１０においてこの分析を概ね表す。例えば、ブロック４１０は、文書がアップロードされる時に、共有／検索設定３２６またはアップロードされる文書を参照することを含むことができ、その所有者がデバイス３１０をアクティブ化したかどうかを決定する。
【００４５】
決定ブロック４１０から、アップロードされる文書がその所有者以外の任意のユーザによって共有または検索可能にしない場合、プロセスフロー４００は、Ｎｏ選択肢４１２をとってブロック４０６に戻る（４１４において概ね表される）。しかしながら、決定ブロック４１０に戻り、アップロードされる文書がその所有者以外の少なくとも１人のユーザによって共有または検索可能になる場合、プロセスフロー４００は、Ｙｅｓ選択肢４１６をとってブロック４１８に進み得る。ブロック４１８は、インデキシングおよび検索システム１１０によって内部で保持されるレコードを追加することを表し、他のどのユーザがアップロードされる文書を検索できるかを示す。さらに、他のプロセスフローは、このようなレコードをさらに追加して、他のユーザがアップロードされる文書をビューまたは編集できることを示す。その後、プロセスフロー４００は、ブロック４１４を経てブロック４０６に戻ることができる。
【００４６】
ブロック４０６を終了した後、プロセスフロー４００は、アップロードされる文書と関連付けられる共有／検索設定に応答して１または複数の検索コーパスを更新することを表す、ブロック４２０に進み得る。例えば、４２２において表されるように、所有者が新しくアップロードされる文書を提供する場合、その所有者と関連付けられる検索コーパスは、少なくともその新しくアップロードされる文書を含むことができる。さらに、その所有者が、少なくとも１人の他のユーザがそのアップロードされる文書にアクセスできることを特定した場合、他のユーザ用の検索コーパスを更新して、少なくともそのアップロードされる文書を含むようにすることもできる。
【００４７】
他のシナリオにおいて、所有者の観点から、１または複数の他のユーザは、他のユーザによってアップロードされる文書にその所有者がアクセスするのを許可できる。それによって、ブロック４２４は、他のユーザが、所有者がその文書にアクセスするのを明示的または暗示的に許可する場合に、その所有者の検索コーパスを更新して、他のユーザによってアップロードされる文書を取り込むまたは含むようにすることを表す。
【００４８】
所有者に明示的に与えられる許可の例は、他のユーザが、そのような他のユーザによってアップロードされる文書にアクセスできる時に、他の所有者を具体的に特定するシナリオを含むことができる。所有者に暗示的に与えられた許可の例は、ブロック４２６において概ね表されるように、所有者が他のユーザによって指定されるグループのメンバーであるシナリオを含むことができる。そのようなシナリオにおいて、所有者は、そのような他のユーザによって指定されるグループのメンバーシップを通じてアクセス権を継承できる。
【００４９】
暗示的与えられる許可の別の例として、ブロック４２８は、所有者が、ドメインとの関連付けを通じてアップロードされる所与の文書に対する共有または検索権を受信することを表す。例えば、他のユーザは、所与の文書をアップロードでき、ドメインのすべてのメンバーがそのアップロードされる文書にアクセスできることを指定できる。さらに、ブロック４３０は、その文書の所有者が文書を公的に入手できるようにする場合、その所有者がアップロードされる所与の文書に対する共有または検索権を受信することを表す。
【００５０】
図５は、ユーザデバイスがネットワークを経由して文書をオンラインの文書およびインデックスストレージ要素にアップロードするコンポーネントおよび文書フローを示し、５００において概ね示す。図５を詳細に見ると、この図は、１０４ａ、１０４ｂおよび１０４ｃにおけるユーザデバイスの例を持ち越す。図５は、１０８における代表的なネットワークと、２１０ａおよび２１０ｃにおいてアップロードされる代表的な文書と、１２２における代表的なオンラインの文書のストレージ要素とを持ち越す。
【００５１】
図５に示したシナリオの例において、ユーザデバイス１０４は、ネットワーク１０８を経由して文書２１０ａをアップロードする。アップロードされる文書２１０ａを対応する許可セット２１２ａと関連付けることができる。許可２１２ａは、アップロードされる文書の所有者を特定でき、アップロードされる文書内で他のどのユーザ（もしあれば）が共有または検索するのを許可されるかを示すこともできる。図のように、許可２１２ａは、ユーザ１０２ａ（図１に示す）がアップロードされる文書２１０ａを所有すること、およびユーザ１０２ａがユーザ１０２ｂのみにこのアップロードされる文書を共有または検索する許可を与えたことを示す。
【００５２】
図５に示したもう１つの例において、ユーザデバイス１０４ｃが、対応する許可２１２ｃと関連付けられる文書２１０ｃを用いて、文書２１０ｃをアップロードすることを示す。図のように、許可２１２ｃは、ユーザ１０２ｃ（図１に示す）がアップロードされる文書２１０ｃを所有すること、およびユーザ１０２ｃがユーザ１０２ａのみにこのアップロードされる文書を共有または検索する許可を与えたことを示す。
【００５３】
アップロードされる文書２１０ａおよび２１０ｃがインデキシングおよび検索システム１１０に到達すると、このシステム１１０は、アップロードされる文書２１０をオンラインの文書およびインデックスストレージ要素１２２に処理できる。図５に示すように、インデックスストレージ要素１２２は、それぞれがアップロードされる文書２１０ａと２１０ｃに対応する表現５０２ａおよび５０２ａ（まとめて文書５０２とする）を含むことができる。
【００５４】
文書表現５０２ａを見ると、インデックスストレージ要素１２２は、表現５０４ａおよび５０６ａと関連付けることができる。より具体的には、表現５０４ａは、アップロードされる文書２１０ａの所有者がユーザ１０２ａであることを示すことができ、一方表現５０６ａは、ユーザ１０２ａがユーザ１０２ｂにアップロードされる文書２１０ａを共有／検索する許可を与えたことを示すことができる
【００５５】
同様に、文書の表現５０２ｃを見ると、インデックスストレージ要素１２２は、表現５０４ｃおよび５０６ｃと関連付けることができる。表現５０４ｃは、アップロードされる文書２１０ｃの所有者がユーザ１０２ｃであることを示すことができ、一方、表現５０６ｃは、ユーザ１０２ｃがユーザ１０２ａにアップロードされる文書２１０ｃを共有／検索するのを許可したことを示すことができる。
【００５６】
次に図６を見ると、この図は、オンラインの文書およびインデックスストレージ要素１２２に関する詳細をさらに示し、６００において概ね示す。さらに、図６は、異なるユーザと関連付けられる時の異なる検索コーパスを示す。
【００５７】
図６をより詳細に見ると、新しくアップロードされる文書がインデキシングおよび検索システム１１０に到達するとき、アップロードされる文書が除去され、削除され、あるいは修正されるとき、または既存のアップロードされる文書の共有許可が時間とともに変更されるとき、インデキシングおよび検索システム１１０は、オンラインの文書およびインデックスストレージ要素１２２を更新できる。より具体的には、上述の任意のイベントが時間とともに発生すると、インデックスストレージ要素１２２は、異なるユーザと関連付けられる検索コーパスの表現を動的に定義し、保持し、そして更新できる。
【００５８】
図６は、複数の異なるユーザに保持される検索コーパスをまとめて６０２において表す。インデックスストレージ要素１２２をより詳細に見ると、これらの要素１２２は、異なる文書の表現（例えば、２１０ａおよび２１０ｃ）を含むことができる。この例示において、表現６０４ａは、文書２１０ａに対応し、表現６０４ｃは、文書２１０ｃに対応するが、ユーザ１０２ａ−１０２ｃは、明確にするために図６から省略する。
【００５９】
同じく、文書表現６０４ａ−６０４ｃ（まとめて文書表現６０４とする）は、どのユーザ所有しているかを示すことができ、その文書を共有または検索できる。この例示において、文書表現６０４ａは、ユーザ１０２ａがアップロードされる文書２１０ａを所有することを示すオーナーシップレコード６０６ａと関連付けられる。しかしながら、本説明の実装において、所与のユーザは、任意の数のアップロードされる文書を所有できる。
【００６０】
さらに、文書表現６０４ａは、文書２１０ａの所有者が少なくともユーザ１０２ｂに文書２１０ａ内で共有または検索するのを許可したことを示す、検索レコード６０８ａと関連付けられる。本例の以前の説明を思い出すと、ユーザ１０２ａは、ユーザ１０２ｃがアップロードされる文書２１０ａにアクセスするのを可能にする許可情報を用いて文書２１０ａをアップロードした。しかしながら、本説明の実装において、所与のユーザはアップロードされる文書のいくつかにアクセスする許可を有し得る。さらに、このような実装において、許可の例は、図６に示した検索または共有許可を拡張できる。
【００６１】
文書表現６０４ｃを見ると、図６に示した例において、オーナーシップレコード６０６ｃは、ユーザ１０２ｃが文書２１０ｃをアップロードして所有していることを示すことができる。さらに、検索レコード６０８ｃは、ユーザ１０２ｃが文書２１０ｃを少なくともユーザ１０２ａと共有していることを示すことができ、少なくともユーザ１０２ａが文書２１０ｃを検索するのを許可する。
【００６２】
図７は、インデックスストレージ要素１２２に関連する詳細をさらに示し、７００において概ね示す。より具体的には、図７は、アップロードされる特定の文書２１０と関連付けられる異なる動的ネットワークおよびフォルダーを示す。
【００６３】
図７をより詳細に見ると、異なるアップロードされる文書に保持される時に動的ネットワークが７０２においてまとめて表される。図７に示したスナップショットにおいて、インデックスストレージ要素１２２は、ユーザ１０２ａと関連付けられる動的ネットワーク７０２ａと、ユーザ１０２ｂと関連付けられる動的ネットワーク７０２ｂと、ユーザ１０２ｃと関連付けられる動的ネットワーク７０２ｃとを定義して保持する。
【００６４】
一般的に、このような動的ネットワーク７０２は、所与のユーザに対して、それらのユーザが検索するのを許可されている文書を示すことができ、それらの文書の所有者によっても、それらの文書の所有者によって与えられる許可を共有することによっても検索できる。本明細書の他の部分で説明されるように、このような動的ネットワークは、新しい文書が追加あるいは削除される時またはその文書の所有者がその文書の許可設定を変える時に、その範囲が時間とともに変更し得るという意味で「動的」である。
【００６５】
ユーザ１０２ａに対応する動的ネットワーク７０２ａを見ると、この動的ネットワーク７０２ａは、ユーザ１０２ａが、（オーナーシップを通じて）少なくとも文書２１０ａと（ユーザ１０２ｃを所有することによって与えられる許可を通じて）文書２１０ｃにアクセスして検索するのを許可されていることを示すことができる。従って、図７に示したスナップショットにおいて、文書２１０ａと関連付けられる動的ネットワーク７０２ａは、ユーザ１０２ａおよび１０２ｂを含む。さらに、ユーザ１０２ａが検索できる文書の動的検索コーパス７０４ａは、その文書を含む。
【００６６】
同様に、ユーザ１０２ｂに対応する動的ネットワーク７０２ａを見ると、この動的ネットワーク７０２ｂは、ユーザ１０２ｂが１つも文書を所有していないことを示すことができる。しかしながら、図７に示した例において、ユーザ１０２ａは、文書２１０ａ内で検索する許可をユーザ１０２ｂに与えている。それによって、図７に示したスナップショットにおいて、ユーザ１０２ｂと関連付けられる動的ネットワーク７０２ｂは、ユーザ１０２ａを含むことができる。さらに、ユーザ１０２ｂと関連付けられる動的検索コーパス７０４ｂは、文書２１０ａを含むことができる。
【００６７】
最後に、ユーザ１０２ｃと関連付けられる動的ネットワーク７０２ｃは、ユーザ１０２ｃが文書１０２ｃを所有していることを示すことができる。それによって、図７に示したスナップショットにおいて、ユーザ１０２ｃと関連付けられる動的ネットワーク７０２ｃは、ユーザ１０２ｃおよびユーザ１０２ａを含むことができる。さらに、ユーザ１０２ｃと関連付けられる動的検索コーパス７０４ｃは、文書１０２ｃを含むことができる。
【００６８】
上述のように、ユーザ１０２ａと関連付けられる検索コーパス７０４ａは、ユーザ１０２ａが（ユーザ１０２ａによって所有される）文書２１０ａ内および文書２１０ｃ（ユーザ１０２ｃによって与えられる許可）内で検索できることを示すことができる。しかしながら、以下でさらに詳述するように、ユーザ１０２ａは、所与の検索のために検索コーパスをすべて許可されるユーザを介して検索してもよいししなくてもよい。従って、検索コーパス７０４ａは、ユーザ１０２ａがいつでも検索するのを許可される文書の最大範囲を示す。
【００６９】
本説明を通して論じられるように、検索コーパス７０４ａの拡張および範囲は、文書２１０が文書ストレージ１１１およびインデックスストレージ１２２に追加または削除される時に、時間とともに動的に変化できる。さらに、このような文書２１０の所有者は、自分の文書２１０に対する許可セットを調整または修正できる。上述の任意のイベントおよび起こり得る他のイベントは、異なるユーザ１０２に対する検索コーパス７０４にある種の波及効果を及ぼし得る。
【００７０】
同様に、図７に示した例示的なスナップショットにおいて、ユーザ１０２ｂは、文書をまったくアップロードしていない。しかしながら、検索コーパス７０４ｂは、ユーザ１０２ｂが所与の検索を選択するならば、ユーザ１０２ｂが文書２１０ａにアクセスする許可を与えられたことを示す。さらに、検索コーパス７０４ｂは、ユーザ１０２ｂまたは他のユーザ１０２によってとられる行動次第で動的に変更することもできる。
【００７１】
同様に、ユーザ１０２ｃに維持される動的検索コーパス７０４ｃについて考察する。図７に示したスナップショットにおいて、検索コーパス７０４ｃは、ユーザ１０２ｃが（オーナーシップを通じて）文書２１０ｃ内で検索することを示す。しかしながら、検索コーパス７０４ｃは、ユーザ１０２ｃがその他のアップロードされる文書にアクセスする許可をまだ与えられていないことを示すことができる。
【００７２】
前述の図面１−７は、ユーザデバイスからの文書をアップロードすること、およびこのアップロードされる文書を文書およびインデックスストレージ要素１２２に処理することに関連するさまざまな技術を説明している。図８から開始して、本説明は、文書およびインデックスストレージ要素１２２に処理される時に、このアップロードされる文書を検索することに関連する技術について論じることから始める。
【００７３】
図８は、ユーザデバイスによって提供される検索インタフェースおよしツールを示し、ならびにユーザが所与の検索の検索範囲パラメータを定義できる例示的なＵＩを示し、８００において概ね示す。説明を簡易にするために、図８は、便宜上２０６において持ち越された代表的なコンピュータ可読ストレージ媒体を含むことができる、１０４における代表的なユーザデバイスを持ち越す。図８に示すように、ストレージ媒体２０６は、検索インタフェースおよび関連するツール８０２を提供するソフトウェアモジュールを含むことができる。
【００７４】
検索インタフェースおよびツール８０２をより詳細に見ると、このツール８０２は、アップロードされる文書を開始するユーザ要求に応答してＵＩ８０４を提供できる。図８に示すように、ＵＩ８０４は、ユーザが、アップロードされる文書内に置かれる１または複数のキーワードまたは他の言葉を入力できるフィールド８０６を含むことができる。
【００７５】
ＵＩ８０４は、所与のユーザがキーワードをそのユーザがアップロードした文書内のみで検索するのを望んでいることを示すユーザ入力またはアクティブ化に応答するデバイス８０８を含む。言い換えれば、デバイス８０８がアクティブ化される場合、インデキシングおよび検索システム１１０上で行われる検索は、所与のユーザによって所有される文書のみを含むであろう。
【００７６】
ＵＩ８０４は、所与のユーザが、所与のユーザにそのアップロードされる文書にアクセスするのを許可した他のユーザによってアップロードされる文書内のみでキーワードの検索を望んでいることを示すユーザ入力またはアクティブ化に応答するデバイス８１０を含むこともできる。言い換えれば、デバイス８１０がアクティブ化される場合、インデキシングおよび検索システム１１０上で行われる検索は、所与のユーザによって所有されていないが、所与のユーザがアクセスを許可されている文書のみを含むであろう。
【００７７】
デバイス８１２は、所与のユーザがアクセスを許可されている文書に加えて、所与のユーザが、そのユーザがアップロードして所有している文書内でキーワードの検索を望んでいることを示すユーザ入力またはアクティブ化に応答する。言い換えれば、デバイス８１２をアクティブ化することによって作成される検索結果は、デバイス８０８とデバイス８１０の両方をチェックすることによって作成されるであろう結果セット(result set)と同等になり得る。
【００７８】
最後に、デバイス８１４は、所与のユーザが、すべてのユーザに「公的に」アクセス可能であるアップロードされる文書内でキーワードの検索を望んでいることを示すユーザ入力またはアクティブ化に応答する。言い換えれば、デバイス８１４をアクティブ化することは、誰が文書を所有しているか、または文書にアクセスする許可が誰に与えられているにかかわらず、許可が「公的」に設定されているすべての文書を検索することになる。
【００７９】
デバイス８０８−８１４をそのような検索の範囲を定義する所与の異なる検索に適切なものとして選択できることに留意されたい。このコンテキストにおいて、用語「範囲(scope)」は、所与の検索が実行されるアップロードされる文書のコーパスを指す。まとめて言えば、デバイス８０８−８１４を検索範囲を定義するための選択デバイスとして特徴付けることができる。このように定義される検索範囲を検索範囲パラメータ８１６として表すことができる。このような範囲選択デバイスを、所与の異なる検索に望ましい範囲を定義するために個別にまたは組み合わせにおいてアクティブ化できる。例えば、デバイス８０８およびデバイス８１４をアクティブ化する（例えば、チェックする）ことによって、所与のユーザは、所与のユーザが所有する文書に対しておよび他のユーザが公的に利用可能にした文書に対して検索を実行できる。別の例として、デバイス８１２およびデバイス８１４をアクティブ化することによって、所与のユーザが、所与のユーザがアクセス可能な文書に対する検索を（直接のオーナーシップによっても、別の所有者によって与えられる許可によっても）実行する。
【００８０】
ＵＩ８０４のある実装において、このＵＩは、ツールをランク付けることを含むことができ、８０８において概ね示す。概要において、このランク付けツール８１８は、検索結果が置かれるアップロードされる文書のタイプ次第で、ユーザが、ユーザ同士で検索結果がどのようにランク付けされるかを指定するのを可能にし得る。例えば、所与のユーザがそのユーザの文書をアップロードして、その後に所与の検索を行うと仮定すると、ユーザは、そのユーザが所有する文書内で発生する検索結果が検索結果の最初に現れるようにして、その後にアップロードされる所有されていない文書内でその他のヒット(hit)が続くことを望むかもしれない。
【００８１】
ランク付けツール８１８をより詳細に見ると、このランク付けツールは、任意にアクティブ化されるまたは選択されるデバイス８０８−８１４と協働して、そのアクティブ化されるデバイスに対応してユーザ同士で検索結果をランク付けできる。例えば、ランク付けツール８２０ａおよび８２０ｂ（まとめて、ランク付けツール８２０とする）をＵＩデバイス８０８と関連付けることができ、ランク付けツール８２２ａおよび８２２ｂ（まとめて、ランク付けツール８２２とする）をＵＩデバイス８１０と関連付けることができる。同様に、ランク付けツール８２４ａおよび８２４ｂ（まとめて、ランク付けツール８２４とする）をＵＩデバイス８１２と関連付けることができ、ランク付けツール８２６ａおよび８２６ｂ（まとめて、ランク付けツール８２６とする）をＵＩデバイス８１５と関連付けることができる。
【００８２】
動作において、所与のユーザがＵＩデバイス８０８をアクティブ化または選択することで、所与のユーザが所有する文書内で発生するヒットが検索結果に現れるようになると仮定すると、ランク付けツール８２０は、アップロードされる文書の他のタイプで発生するヒットに対して、所与のユーザが、そのヒットが検索結果に提示される場所を指定するのを可能にし得る。例えば、所与のユーザは、ランク付けツール８２０ａをアクティブ化して、検索結果内でこのヒットの相対的ランクを上げることができ、ランク付けツール８２０ｂをアクティブ化して、このヒットの相対的ランクを下げることができる。ユーザは、所望のランク付けに達するまで、ランク付けツール８２０を必要に応じて繰り返しアクティブ化できる。
【００８３】
例示的な実装において、ランク付けツール８２０ａ−８２６ａを「上向き」矢印にでき、ランク付けツール８２０ｂ−８２６ｂを「下向き」矢印にできる。あるシナリオにおいて、対応するＵＩデバイス８０８−８１４がアクティブ化されるまで、ランク付けツール８２０−８２６を「グレー表示」または非アクティブ化できる。さらに、ＵＩ８０４は、デバイス８０８−８１４が提示される順序を調整するランク付けツール８２０−８２６の操作に応答できる。言い換えれば、ＵＩ８０４に現れるデバイス８０８−８１４の順序は、ランク付けツール８１８を通じてユーザによって指定される検索結果のランク付けを反映できる。
【００８４】
図９は、ユーザデバイス１０４および動的インデキシングおよび検索システム１１０が検索コーパスを動的に変更する検索と関連して協働できるプロセスフローを示し、９００において概ね示す。以前の図面で示したように、ユーザデバイス１０４および動的インデキシングおよび検索システム１１０は、１または複数の適したネットワーク１０８を経由して通信を行うことができる。
【００８５】
最初にユーザデバイス１０４を見ると、プロセスフロー９００は、ユーザデバイス１０４に提供される時にユーザから検索コマンドまたは要求を受信することを表す、ブロック９０２において開始できる。同じく、ブロック９０４は、ブロック９０２で受信される検索コマンドに応答して適したＵＩをユーザに提示することを表す。図８は、そのようなＵＩの例を提供し、８０４において概ね示す。
【００８６】
ブロック９０６は、ブロック９０４において提示されるＵＩに入力される時に、１または複数のキーワードまたは他の検索用語を受信することを表す。例えば、このＵＩは、ユーザが所望のキーワードを入力できる、図８の８０６において示したようなフィールドを含むことができる。
【００８７】
ブロック９０８は、ユーザによって提供される時に検索範囲の選択を受信することを表す。例えば、ブロック９０４において提示されるＵＩは、図８の８０８−８１４において示したようなデバイスを含むことができる。この方法において、ユーザは、そのユーザが所有するアップロードされる文書と、ユーザにその文書にアクセスする許可を与えられている、またはその文書をアップロードしてそれを公的にアクセス可能にした他のユーザによってアップロードされる文書と、または上述のシナリオの任意の組み合わせとを検索するのを望んでいるかどうかを示すことができる。
【００８８】
ブロック９０８は、検索結果に適用可能な指定されたランク付けを受信することを含むこともできる。例えば、ブロック９０８は、図８で説明されて上述したように、ランク付けツール８１８から入力を受信することを含むことができる。
【００８９】
ある実装シナリオにおいて、プロセスフロー８００は、検索用語、範囲定義、およびランク付け使用を後の読み出し用テンプレート記憶することを表すブロック９１０を含むことができる。例えば、所与のユーザが同じ検索を繰り返し行う場合には、ユーザに検索を繰り返す度に同じパラメータを再入力させるよりも、その検索パラメータをテンプレートから読み出すほうが効率的になり得る。
【００９０】
ブロック９１２は、ネットワーク１０２を経由してユーザデバイス１０４からの検索要求を動的インデキシングおよび検索システム１１０に送信することを表す。図９は、ユーザデバイス１０４から伝送される時の検索要求を９１４において表す。一般的に、検索要求９１４は、要求を提出するユーザの識別、キーワードまたは他の検索用語、検索範囲の表示、およびある場合には、好適またはランク付けによる結果の表示を含むことができる。
【００９１】
次に動的インデキシングおよび検索システム１１０を見ると、ブロック９１６は、検索要求９１４を受信することを表す。同じく、動的インデキシングおよび検索システム１１０は、ブロック９１８によって表されるように、検索要求９１４からユーザ識別（すなわち、ユーザＩＤ）を抽出できる。さらに、動的インデキシングおよび検索システム１１０は、ブロック９２０において表されるように、検索要求９１４から検索範囲パラメータを抽出できる。ブロック９２２は、検索要求９１４で指定されるキーワードまたは他の検索用語を抽出することを表す。
【００９２】
ブロック９２４は、ブロック９１８および９２０において抽出される時のユーザＩＤおよび検索範囲に基づいて、インデキシングおよび検索システム１１０にアップロードされる文書にフィルターをかけることを表す。このフィルタリングプロセス９２４を促進するために、ブロック９２４は、異なるユーザまたはユーザＩＤと関連付けられる検索コーパスを参照することを含むことができる。例えば、図６に戻って簡単に述べると、システム１１０は、オンラインの文書およびインデックスストレージ１２２を含むことができる。同じく、インデックスストレージ要素１２２は、それぞれの検索コーパス６０２を異なるユーザと関連付けることができる。
【００９３】
図９に戻って、このようなユーザの一人が検索要求を提出する検索時間に、ブロック９２４は、適切なユーザ用に検索コーパスを置くことを含むことができる。同じく、ブロック９２６は、そのユーザ用の適切な検索コーパス内に含まれる文書内で指定されるキーワードを検索することを表す。さらに、ブロック９２８は、検索要求がランク付け設定を指定する場合に、任意の検索結果のランク付けを含むことができる。
【００９４】
ブロック９３０は、検索要求９１４に応答するアップロードされる文書内に置かれる任意の検索結果を戻すことを表す。図９は、９３２におけるこのような検索結果を概ね表す。
【００９５】
ユーザデバイス１０４において、ブロック９３４は、検索結果９３２を受信することを表す。同じく、ユーザデバイス１０４は、検索結果をフォーマットして提示できる。検索要求９１４でランク付け設定が指定される場合には、ユーザデバイス１０４は、検索結果９３２を表示する時にこのランク付け設定を協働できる。
【００９６】
図１０は、時間とともに検索コーパスの動的性質を示す時系列(timeline)を提供し、１０００において概ね示す。図１０は、この動的性質が時間とともに行われる例示的な検索の結果にどのように影響できるかも示す。
【００９７】
図１０をより詳細に見ると、図１０は、時間軸１００２に沿った任意の時間に順次発生する一連のイベントを示す。１００４において概ね表されるように、所与のユーザＡは、所与の文書Ａをアップロードする。この文書Ａは、例示的文字「ＡＢＣ」含むことができ、ユーザＡは文書Ａを別のユーザＢと共有できる。
【００９８】
１００４において表されるアップロードに応答して、動的インデキシングおよび検索システム１１０は、ユーザＡと関連付けられる検索コーパスを更新して文書Ａを含むようにできる。さらに動的インデキシングおよび検索システム１１０は、ユーザＢと関連付けられる検索コーパスを更新して文書Ａを含むようにすることもできる。
【００９９】
１００６において概ね表されるように、ユーザＢは、そのユーザの検索コーパス内で文字「ＡＢＣ」を含む任意の文書を問い合わせることができる。アップロード１００４に起因して、ユーザＢ用の検索コーパスは、現在文書Ａを含み、今度は文書Ａが検索文字「ＡＢＣ」のヒットを含む。それによって、１００８において概ね表されるように、システム１１０は、少なくとも文書ＡをユーザＢに戻すであろう。
【０１００】
１０１０において表されるように、別のユーザＣは、別の文書Ｃをアップロードし、文書Ｃは例示的な文字「ＡＢＣ」も含む。さらに、このユーザＣは、この文書Ｃを公的に共有する。このアップロード１０１０に応答して、システム１１０は、ユーザＡ、ユーザＢおよびユーザＣのそれぞれのコーパスを更新して、新しくアップロードされる文書Ｃを含むようにするであろう。
【０１０１】
１０１２において表されるように、ユーザＢが例示的な文字「ＡＢＣ」を含むそのユーザの検索コーパス内で文書の以前の問い合わせを繰り返す場合、この問い合わせは、１０１４において概ね表されるように、今から文書Ａおよび文書Ｂを戻す。異なるユーザ用の検索コーパスの動的性質は、この例において示され、同じユーザによって行われる同じ検索が異なる時間に異なる結果を戻す。
【０１０２】
動的ネットワークおよび検索コーパスの柔軟性(flexibility)をさらに示すために、図１０は、ユーザＢ用に行われる処理と対照的に示した、さらなる代表的なユーザＤと関連付けられる処理も示す。例えば、１０１６において示すように、ユーザＤは、「ＡＢＣ」を含むすべての文書を問い合わせることができる。しばらくして、１０１８において示すように、そのシステムは、１０１６において表される問い合わせに応答して、文書セットをユーザＤに戻すことができる。
【０１０３】
１０２０において概ね表されるように、同じユーザＤは、１０２０において、１０１６において行われたのと同じ問い合わせを用いて「ＡＢＣ」を含むすべての文書の問い合わせを繰り返すことができる。１０２０において表される問い合わせに応答して、システムは、１０２２において概ね表されるように、同じ文書セットをユーザＤに戻すことができる。より具体的には、１０２２において戻される文書セットは、１０１８においてユーザＤに戻されるのと同じ文書とすることができる。対照的に、１００８および１０１４において表されるように、ユーザＢは、異なる時間に同じ問い合わせを行う時に異なる文書セットを受信した。しかしながら、ユーザＢおよびユーザＤと関連付けられるネットワークは異なるかもしれず、このような異なるユーザが、異なる時間に同じ問い合わせを行う時に異なる結果を受信することになる。任意の例示では、ユーザＤが、異なる時間に行われる同じ問い合わせに対する同じ結果を受信する間に、ユーザＢは、異なる時間に行われる同じ問い合わせに対する異なる結果を受信する。
【０１０４】
上述の説明は、検索コーパスを動的に変更するインデキシングおよび検索のための技術を提供している。本説明は、コンピュータの構造的特徴、方法論的行動、およびコンピュータ可読媒体に特有の言語を取り入れているが、添付の特許請求の範囲は、本明細書で説明されるそのような特有の特徴、行動、または媒体に必ずしも限定されない。むしろ、本説明は、実装を限定するよりも例示的に提供する。さらに、このような実装は、以下の特許請求に示される本説明の真の精神および範囲から逸脱しなければ、本説明のさまざまな態様を修正および変更してよい。
【図１】
2012515394.tif 000003
【図２】
2012515394.tif 000004
【図３】
2012515394.tif 000005
【図４】
2012515394.tif 000006
【図５】
2012515394.tif 000007
【図６】
2012515394.tif 000008
【図７】
2012515394.tif 000009
【図８】
2012515394.tif 000010
【図９】
2012515394.tif 000011
【図１０】
2012515394.tif 000012
【国際調査報告】
2012515394.tif 000013
2012515394.tif 000014
2012515394.tif 000015