【手続補正書】
【提出日】平成29年9月7日(2017.9.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プロセッサを有するプラットフォームを複数のデータベースに接続することと、
前記プラットフォームに複数のエージェントを接続してグリッドを形成することと、ここで、前記複数のエージェントの各エージェントは、クライアントデバイス上で稼働する前記プラットフォームのエージェントであり、
各エージェントでメタデータを生成してコンテンツの代わりに前記メタデータを前記プラットフォームに供給することと、ここで、前記メタデータは、前記複数のエージェントに対応する複数のクライアントデバイスがアクセス可能なメモリの前記コンテンツに対応し、
前記メタデータを用いて前記コンテンツの場所を調べることと、
前記メタデータを用いて、前記コンテンツの状態を維持するための動作を表すゴールを生成することと、
前記メタデータを用いて前記ゴールに対応する複数のタスクを生成することと、
各タスクを、前記タスクに対応する前記コンテンツにアクセス可能なエージェントに割り当てることと、を有し、各タスクは前記プラットフォームによって命令される処理動作であり、エージェントによって、該エージェントがアクセス可能なコンテンツに実行される、方法。
【請求項２】
前記プラットフォームが前記複数のエージェントのマスターコントローラとして動作することを有し、前記複数のエージェントは前記複数のタスクによって制御されるように前記プラットフォームと協働する、請求項１に記載の方法。
【請求項３】
前記複数のエージェントの各エージェントが、前記プラットフォームおよび前記複数のエージェントの他の全てのエージェントとは独立して機能することを含む、請求項１に記載の方法。
【請求項４】
前記プラットフォームが前記コンテンツを受信する代わりに前記コンテンツの前記メタデータを受信することを有し、前記複数のエージェントをホストする複数のクライアントデバイスは前記コンテンツを含む分散ストレージデバイスを有する、請求項１に記載の方法。
【請求項５】
前記プラットフォームが、前記複数のエージェントの前記コンテンツのマスタインデックスを前記複数のデータベースで維持するために前記メタデータを用いることを有する、請求項１に記載の方法。
【請求項６】
前記メタデータが、前記コンテンツの場所に関するデータ、前記コンテンツの状態に関するデータ、前記複数のエージェントの身元に関するデータ、各エージェントがアクセス可能な前記コンテンツに関するデータ、および前記複数のエージェントによって実行される前記複数のタスクの情報の少なくとも１つを有する、請求項１に記載の方法。
【請求項７】
前記タスクは、前記グリッドにわたって前記コンテンツの場所を追跡すること、前記グリッドにわたって前記コンテンツの保存を管理すること、前記グリッドにわたって前記コンテンツの移動を管理すること、および前記グリッドにわたって前記コンテンツを処理することの少なくとも１つに関する、請求項１に記載の方法。
【請求項８】
各タスクは、該タスクについての完了の条件を有する、請求項１に記載の方法。
【請求項９】
前記複数のエージェントが前記プラットフォームに命令されるように前記コンテンツを集合的に監視することを有する、請求項１に記載の方法。
【請求項１０】
前記複数のエージェントが前記プラットフォームに命令されるように前記コンテンツを集合的に保存することを有する、請求項１に記載の方法。
【請求項１１】
前記複数のエージェントが前記プラットフォームに命令されるように前記コンテンツを集合的に転送することを有する、請求項１に記載の方法。
【請求項１２】
前記複数のエージェントが前記プラットフォームに命令されるように前記コンテンツに処理動作を集合的に実施することを有する、請求項１に記載の方法。
【請求項１３】
各クライアントデバイスの各エージェントが、該クライアントデバイスがアクセス可能なメモリのコンテンツにインデックスを付与することを有する、請求項１に記載の方法。
【請求項１４】
前記複数のデータベースは、前記プラットフォームが利用可能なエージェントおよび各エージェントの情報を有するエージェントデータベースを含む、請求項１に記載の方法。
【請求項１５】
各エージェントは少なくとも１つのライブラリを含み、ライブラリは前記エージェントがリードアクセスおよびライトアクセスの少なくとも１つを含むアクセスが可能なデバイスを表す、請求項１に記載の方法。
【請求項１６】
前記複数のデータベースは、前記複数のエージェントに対応するライブラリのリストを有するライブラリデータベースを含み、
前記グリッドの各ライブラリは前記ライブラリデータベース内で別個に表され、
各エージェントは該エージェントに対応する各ライブラリにアクセス可能に構成される、請求項１５に記載の方法。
【請求項１７】
前記複数のデータベースは前記ゴールのリストを有するゴールデータベースを含み、前記ゴールの前記リストの各ゴールは前記プラットフォームによって生成されるとともに、少なくとも１つのライブラリに対応し、前記ゴールは対応するライブラリコンテンツに動作を実行するために用いられる、請求項１５に記載の方法。
【請求項１８】
前記ゴールの前記リストを、タスクが実行されるライブラリのコレクションを含むように生成することを有する、請求項１７に記載の方法。
【請求項１９】
各ゴールは少なくとも１つのライブラリに対応し、少なくとも１つのタスクを対応するライブラリのコンテンツに実行するために用いられる、請求項１７に記載の方法。
【請求項２０】
前記プラットフォームが前記複数のエージェントの複数のライブラリを読むために前記ゴールを用いることを有する、請求項１７に記載の方法。
【請求項２１】
前記プラットフォームが、前記複数のエージェントがアクセス可能な前記コンテンツ内の矛盾点および相違点の少なくとも一方を特定し、前記コンテンツ内で特定された矛盾点および相違点の少なくとも一方を除去するための少なくとも１つのタスクを生成するために前記ゴールを用いることを有する、請求項１７に記載の方法。
【請求項２２】
前記複数のデータベースがワークデータベースを含み、
前記プラットフォームが、各エージェントに対応するワークデータベースを生成するように構成され、前記ワークデータベースは前記対応するエージェントによって実行されるタスクを含み、
前記ワークデータベースは、前記対応するエージェントによって実行される各タスクの記述と、該タスクを実行するために該エージェントが必要とする情報とを含む、請求項１に記載の方法。
【請求項２３】
前記複数のデータベースは、前記複数のエージェントの能力の情報を有する能力データベースを含む、請求項１に記載の方法。
【請求項２４】
前記複数のデータベースは、前記複数のエージェントのレコードを含み、かつ維持する同期データベースを含み、
前記同期データベースは、前記複数のエージェントのコンテンツのファイル状態のレコードを含む、請求項１に記載の方法。
【請求項２５】
前記同期データベースは各ファイルに対するエントリを含み、前記エントリは前記ファイルに対応するコンテンツハッシュを含み、前記コンテンツハッシュは前記ファイルの前記コンテンツを表すブロブのリストのハッシュを有し、前記ブロブのリストの各ブロブは前記コンテンツ内のファイルのフラグメントのハッシュを有し、前記フラグメントは前記ファイルのコンポーネントである、請求項２４に記載の方法。
【請求項２６】
前記同期データベースは各ファイルに対するエントリを含み、前記エントリは前記エージェントのファイルに対応するコンテンツハッシュを含み、前記コンテンツハッシュは前記ファイルの前記コンテンツを表すブロブのリストのハッシュを有し、前記ブロブのリストの各ブロブは前記コンテンツ内のファイルのフラグメントのハッシュを有し、前記フラグメントは前記ファイルのコンポーネントである、請求項２４に記載の方法。
【請求項２７】
前記プラットフォームが、クライアントデバイス間での前記コンテンツの転送を、前記複数のエージェントを用いて制御するとともに、クライアントデバイス間で前記コンテンツを同期することを前記複数のエージェントを用いて制御することを有し、前記コンテンツを前記同期することは前記コンテンツの変化に応答して前記コンテンツを同期することを含む、請求項１に記載の方法。
【請求項２８】
前記コンテンツの前記転送は、前記コンテンツの、ブロックレベルかつ非順序的な転送を有する、請求項２７に記載の方法。
【請求項２９】
前記コンテンツの前記転送は、前記コンテンツの第１のブロックを第２のクライアントデバイスから第１のクライアントデバイスへ転送することと、前記コンテンツの第２のブロックを第３のクライアントデバイスから第１のクライアントデバイスへ転送することとを有する、請求項２８に記載の方法。
【請求項３０】
前記複数のタスクがスキャンタスクを含み、
前記スキャンタスクは、前記エージェントが前記エージェントに対応するライブラリを再帰的に監視することと、前記ライブラリに対する変化を前記プラットフォームに報告することとを含み、
前記報告することは、変更を含んだ前記ライブラリのファイルを、前記エージェントをホストする前記クライアントデバイスのローカルデータベースに配置することと、前記ローカルデータベースの前記メタデータを前記プラットフォームに供給することとを有する、請求項１に記載の方法。
【請求項３１】
前記複数のタスクが書き込みタスクを含み、
前記書き込みタスクは、前記エージェントがファイルの少なくとも１つのブロブを第１の場所から第２の場所へコピーすることを含み、前記第１の場所および前記第２の場所のそれぞれは、前記グリッドに接続されたクライアントデバイスに対応する、請求項１に記載の方法。
【請求項３２】
前記少なくとも１つのブロブは、前記コンテンツ内のファイルのフラグメントのハッシュを有し、前記フラグメントは前記ファイルのコンポーネントである、請求項３１に記載の方法。
【請求項３３】
前記書き込みタスクが完了の条件を有し、
前記完了の条件は、前記書き込みタスクに対応するブロブを取得することと、前記書き込みタスク中に上書きされる前記ブロブが正しいファイルに対応していることを特定することと、の少なくとも１つを有する、請求項３１に記載の方法。
【請求項３４】
前記複数のタスクは、前記コンテンツのファイルを前記エージェントがアクセス可能なデバイスからリモートストレージデバイスにコピーすることを含むアップロードタスクを有する、請求項１に記載の方法。
【請求項３５】
前記エージェントが、前記エージェントがアクセス可能な前記コンテンツに対するファイルの追加を前記プラットフォームに報告することと、それに応答して前記プラットフォームが前記ファイルをアップロードするためのタスクを前記エージェントに割り当てることとを有する、請求項３４に記載の方法。
【請求項３６】
前記タスクに応答して前記エージェントが、前記ファイルが前記リモートストレージデバイスに存在するかどうかを判定し、前記ファイルが存在しないと判定されると前記ファイルを前記リモートストレージデバイスにアップロードすることを有する、請求項３５に記載の方法。
【請求項３７】
前記アップロードタスクは、前記エージェントがファイルの少なくとも１つのブロブを前記エージェントがアクセス可能な前記デバイスから前記リモートストレージデバイスにコピーすることを含み、
前記少なくとも１つのブロブは、前記ファイルのフラグメントのハッシュを有し、前記フラグメントは前記ファイルのコンポーネントである、請求項３４に記載の方法。
【請求項３８】
前記複数のタスクが削除タスクを含む、請求項１に記載の方法。
【請求項３９】
前記タスクは、待機中、未完了、および完了の少なくとも１つを含む複数のフェーズを有し、前記プラットフォームは前記複数のタスクの各タスクのフェーズを追跡する、請求項１に記載の方法。
【請求項４０】
各エージェントが、該エージェントに割り当てられたタスクを前記クライアントデバイスでローカルに維持することを有し、
前記エージェントが、割り当てられたタスクを特定するために前記プラットフォームを周期的にポーリングすることを有する、請求項１に記載の方法。
【請求項４１】
前記エージェントは、タスクを完了するために必要で、かつリモートデバイスに配置されたタスク情報を見つけるためのヒエラルキーを有する、請求項１に記載の方法。
【請求項４２】
前記ヒエラルキーは、前記エージェントが前記エージェントをホストする前記クライアントデバイスのローカルデータベースを探索することを有し、
前記ヒエラルキーは、前記エージェントが前記タスク情報を見つけるために前記複数のエージェントの少なくとも１つのピアエージェントと通信することを有する、請求項４１に記載の方法。
【請求項４３】
前記エージェントは、前記タスク情報を所持するピアエージェントのＩＤを有する、請求項４２に記載の方法。
【請求項４４】
前記ヒエラルキーは、前記エージェントがリモートストレージデバイスから前記タスク情報を取得することを有し、
前記エージェントが、前記プラットフォームからピアエージェントのＩＤを順序付きリストで受信し、前記順序付きリストに従って前記タスク情報を探索するように構成される、請求項４２に記載の方法。
【請求項４５】
各エージェントは並行に実行する複数のコンポーネントを含み、
前記複数のコンポーネントは、前記エージェントに指定されたタスクを前記プラットフォームから取得し、取得したタスクを前記エージェントをホストする前記クライアントデバイスにローカルなタスクデータベースに保存するプロバイダコンポーネントを含む、請求項１に記載の方法。
【請求項４６】
前記複数のコンポーネントはタスク実行コンポーネントを有する、請求項４５に記載の方法。
【請求項４７】
前記複数のコンポーネントは、前記タスクデータベースを監視し、前記タスクデータベースから各タスクを取得し、取得したタスクを前記タスク実行コンポーネントに供給し、未完了ステータスを有するように前記取得したタスクに指示するランナーコンポーネントを含む、請求項４６に記載の方法。
【請求項４８】
前記タスク実行コンポーネントが前記タスクを実行し、タスク実行のステータスを前記ランナーコンポーネントに報告することを有し、
前記ランナーコンポーネントが、前記ステータスを前記タスクデータベースに報告するように構成される、請求項４７に記載の方法。
【請求項４９】
前記複数のコンポーネントは、完了ステータスを有する前記タスクについて前記タスクデータベースを監視し、完了されたタスクのステータス情報を前記プラットフォームに報告する更新コンポーネントを含み、
前記プラットフォームが、前記ステータス情報に応答して前記複数のデータベースを更新するように構成される、請求項４８に記載の方法。
【請求項５０】
前記複数のエージェントが前記メタデータを生成することを有し、あるエージェントに生成される前記メタデータは該エージェントがアクセス可能な前記コンテンツに対応する、請求項１に記載の方法。
【請求項５１】
前記エージェントが、前記エージェントがアクセス可能な各ファイルのコンテンツをスキャンすることによって前記メタデータを生成し、前記ファイルの前記コンテンツを複数のフラグメントに分割することによって前記メタデータを生成することを有し、各フラグメントは前記ファイルの可変サイズコンポーネントを有する、請求項５０に記載の方法。
【請求項５２】
前記可変サイズは、予め指定された最小長と最大長との間である、請求項５１に記載の方法。
【請求項５３】
前記エージェントが、前記複数のフラグメントを表す複数のブロブを生成することによって前記メタデータを生成することを有し、各ブロブはフラグメントを表す、請求項５１に記載の方法。
【請求項５４】
前記エージェントがブロブハッシュを用いてブロブを生成することを有し、前記ブロブハッシュが、前記コンテンツの各バイトについて、前記コンテンツのコンポーネントにハッシュアルゴリズムを実行することにより生成され、前記ハッシュアルゴリズムはデータの指定されたパターンを特定するように設定される、請求項５３に記載の方法。
【請求項５５】
前記ブロブを生成することが、前記ブロブで表される前記フラグメントが前記ファイルの残り部分から分離された位置でのハッシュ値を含んだ前記ブロブの記述を生成することと、前記ブロブで表される前記フラグメントの分割位置に基づくオフセット値を生成することと、および前記ブロブの完全なコンテンツのハッシュを生成することと、の１つ以上を有し、前記ブロブの前記完全なコンテンツの前記ハッシュは前記ブロブの識別子である、請求項５４に記載の方法。
【請求項５６】
前記ブロブを生成することは、前記ファイルのコンテンツを表すブロブのリストを生成することを含む、請求項５５に記載の方法。
【請求項５７】
前記ブロブを生成することは、前記ファイルの前記コンテンツを表す前記ブロブのリストのハッシュを有するコンテンツハッシュ、前記ファイルに対応するファイル名のハッシュを有する名称ハッシュ、前記コンテンツハッシュと前記名称ハッシュとの組み合わせのハッシュを有するファイルハッシュ、前記ファイルの前記コンテンツに対応する前記ファイル名およびファイルパスのハッシュを有するパスハッシュ、および前記ファイルのファイルメタデータのハッシュを有するメタデータハッシュ、の１つ以上を生成することを含み、前記コンテンツハッシュは前記ファイルの識別子である、請求項５６に記載の方法。
【請求項５８】
前記プラットフォームが前記ファイルに対するレコードを生成することを有し、前記レコードは前記ファイルのブロブハッシュ、前記コンテンツハッシュ、前記ファイルハッシュ、前記パスハッシュ、および前記メタデータハッシュを有する、請求項５７に記載の方法。
【請求項５９】
前記複数のデータベースはライブラリデータベースを含み、ライブラリデータベースはレコードを有する、請求項５８に記載の方法。
【請求項６０】
前記ブロブを生成することは、前記ブロブのサイズを生成することを含む、請求項５４に記載の方法。
【請求項６１】
前記ファイルは、前記ファイルを構成するブロブのリストとして記述される、請求項５４に記載の方法。
【請求項６２】
各エージェントが、該エージェントをホストする前記クライアントデバイスにブロブをローカル保存し、過去に報告されていないブロブを前記プラットフォームの中央ストレージに転送することを有する、請求項５４に記載の方法。
【請求項６３】
前記プラットフォームはポリシデータベースおよびルールエンジンを有する、請求項１に記載の方法。
【請求項６４】
前記コンテンツの各ファイルを解析することと、前記コンテンツの各ファイルを、業務コンテンツおよび個人コンテンツの少なくとも１つとして明確にすることを有する、請求項１に記載の方法。
【請求項６５】
前記コンテンツの各ファイルの機密レベルを前記業務コンテンツについて判定することを有する、請求項６４に記載の方法。
【請求項６６】
前記コンテンツの各ファイルをスキャンしてキー用語を抽出することと、前記キー用語を企業にわたって比較して企業固有のキー用語のリストを生成することと、を有する、請求項６５に記載の方法。
【請求項６７】
前記機密レベルを判定することは、前記キー用語のうち特定のキー用語を特定することを有する、請求項６６に記載の方法。
【請求項６８】
前記メタデータを生成することは、対応するコンテンツの前記機密レベルを含むように前記メタデータを生成することを含む、請求項６５に記載の方法。
【請求項６９】
前記機密レベルに基づいて前記コンテンツの各ファイルへのアクセスを制御することを含む、請求項６５に記載の方法。
【請求項７０】
前記アクセスを制御することは、前記コンテンツの各ファイルを閲覧することを制御することと、前記コンテンツの各ファイルをダウンロードすることを制御することと、前記コンテンツの各ファイルにアクセスすることを制御することと、前記コンテンツの各ファイルをコピーすることを制御することと、および前記コンテンツの各ファイルを配信することを制御することと、の１つ以上を有する、請求項６９に記載の方法。
【請求項７１】
前記コンテンツの各ファイルを前記コンテンツからの推論および前記コンテンツの構文の少なくとも１つに基づいて明確にすることを有する、請求項６４に記載の方法。
【請求項７２】
前記場所および前記複数のエージェントの少なくとも１つにまたがって前記コンテンツの業務コンテンツを特定することを有し、前記業務コンテンツを特定することが、ドキュメント名、ドキュメントサイズ、プロキシミティ、キーワード比較、およびハッシュ比較の少なくとも１つを用いることを有する、請求項６４に記載の方法。
【請求項７３】
前記コンテンツのファイルにアクセスする複数のデバイス間の共同制作を制御することを有する、請求項１に記載の方法。
【請求項７４】
前記コンテンツのファイルを同時に編集する複数のデバイス間でのコンテンツの編集を制御することを有する、請求項７３に記載の方法。
【請求項７５】
前記コンテンツのファイルに関するアクティビティを追跡することと、前記コンテンツのファイルの修正履歴を追跡することと、の少なくとも１つを有する、請求項７３に記載の方法。
【請求項７６】
モバイルデバイスを通じた前記コンテンツへのアクセスを監視および制御することを含むモバイルデバイス管理を有し、
前記モバイルデバイス管理は、モバイルデバイスの場所を追跡することと、前記場所に基づいて前記コンテンツへのアクセスを制御することと、およびモバイルデバイスのデータを追跡することと、の少なくとも１つを有する、請求項１に記載の方法。
【請求項７７】
コンソールを前記プラットフォームに接続することを含み、前記コンソールは、前記コンテンツに関連する自動化されたアクティビティ監視、検査、報告を含む、請求項１に記載の方法。
【請求項７８】
前記コンソールを通じて、前記コンテンツに関するアクティビティおよび前記場所の少なくとも１つを制御することを有し、
前記アクティビティを制御することは、前記コンテンツの各ファイルを閲覧することを制御すること、前記コンテンツの各ファイルをダウンロードすることを制御すること、前記コンテンツの各ファイルにアクセスすることを制御すること、前記コンテンツの各ファイルをコピーすることを制御すること、および前記コンテンツの各ファイルを配信することを制御すること、の少なくとも１つを有する、請求項７７に記載の方法。