(57)【要約】本開示の例は、パーソナル検索インデックスの秘匿性を強化するためのシステム及び方法を説明している。いくつかの態様において、パーソナル平文文書を使用して、第１のデバイス上で、暗号化された文書ダイジェスト及び暗号化された文書を生成することができる。第２のデバイスは、上記文書ダイジェストを復号化し、復号化された文書ダイジェストに基づいて、パーソナル検索インデックスを構築し、暗号化された文書をデータ記憶部に記憶することができる。第１のデバイスは、その後、暗号化された文書を探すために第２のデバイス上でパーソナル検索インデックスをクエリするために使用される平文検索クエリを受信することができる。
2018526666.tif 000002
【特許請求の範囲】
【請求項１】
秘匿性が強化されたパーソナル検索インデックスを作成するためのシステムであって、
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサに接続され、コンピュータ実行可能な命令を含むメモリであって、前記コンピュータ実行可能な命令が、前記少なくとも１つのプロセッサにより実行されたときに、前記コンピュータ実行可能な命令は方法を実行し、前記方法は、
暗号化された不透明文書ダイジェストを受信するステップと、
前記暗号化された不透明文書ダイジェストを復号化するステップと、
前記の復号化された不透明文書ダイジェストをインデクシングするステップと、
前記のインデクシングされた復号化された文書ダイジェストを使用して、不透明検索インデックスを作成するステップと、
を含む、メモリと、
を有するシステム。
【請求項２】
前記方法は、
暗号化された文書を受信するステップ
をさらに含む、請求項１記載のシステム。
【請求項３】
前記の復号化された不透明文書ダイジェストは、１つ以上の不透明用語と、前記暗号化された文書を説明する不透明メタデータと、を含む、請求項２記載のシステム。
【請求項４】
前記の復号化された不透明文書ダイジェストは、前記暗号化された文書からの文書スニペットをさらに含み、
前記文書スニペットは、
前記暗号化された文書の要約と、
前記暗号化された文書に関連付けられたメタデータと、
前記暗号化された文書からの１つ以上の文と、
のうちの少なくとも１つを含む、請求項３記載のシステム。
【請求項５】
変換鍵が、前記の復号化された不透明文書ダイジェストを平文文書ダイジェストに変換するために使用される、請求項１記載のシステム。
【請求項６】
前記変換鍵は、前記システムによりアクセス可能でない、請求項５記載のシステム。
【請求項７】
秘匿性が強化されたパーソナル検索インデックスを検索するためのシステムであって、
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサに接続され、コンピュータ実行可能な命令を含むメモリであって、前記コンピュータ実行可能な命令が、前記少なくとも１つのプロセッサにより実行されたときに、前記コンピュータ実行可能な命令は方法を実行し、前記方法は、
不透明クエリダイジェストを受信するステップと、
前記不透明クエリダイジェストを使用して、検索インデックスを検索するステップであって、前記検索インデックスは、少なくとも１つの不透明インデックス用語を含む、ステップと、
前記検索インデックスから、クエリ結果を取得するステップと、
前記クエリ結果を処理デバイスに送信するステップと、
を含む、メモリと、
を有するシステム。
【請求項８】
前記方法は、
前記クエリ結果を使用して、データ記憶部から、暗号化された文書を取得するステップと、
前記暗号化された文書を前記処理デバイスに送信するステップと、
をさらに含む、請求項７記載のシステム。
【請求項９】
前記クエリ結果は、
前記少なくとも１つの不透明インデックス用語と、
複数の暗号化された文書のうちの少なくとも１つの暗号化された文書からの少なくとも１つの文書スニペットと、
を含む、請求項７記載のシステム。
【請求項１０】
前記不透明クエリダイジェストは、１つ以上の不透明用語と、クエリを説明する不透明メタデータと、を含む、請求項７記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
クラウドストレージシステムは、ユーザが、１つ以上の記憶デバイスにファイルをアップロードして同期させ、その後、ウェブブラウザ又はユーザのローカルデバイスから当該ファイルにアクセスすることを可能にするファイルホスティングサービスである。クラウドストレージシステム内のファイルの検索を実行することは、文書、文書インデックス、及びメタデータが平文としてクラウドストレージシステムサービスプロバイダにアクセス可能であるので、いくつかのプライバシー懸念を生じさせる。様々な技術及びアプローチが、これらのプライバシー懸念に対処するために発展してきたが、これらのソリューションは、クラウドストレージシステムに文書を平文で提供することに依拠していた。結果として、クラウドストレージシステムが侵入を受ける場合、このサービスを使用してデータを記憶させる全てのユーザは、潜在的にリスクがある。
【０００２】
本明細書で開示される態様がなされたのは、これらの考慮事項及び他の一般的な考慮事項に対してである。また、比較的具体的な問題が記載されているかもしれないが、例は、この背景技術又は本開示の別の箇所において特定されるそのような具体的な問題を解決することに限定されるべきではないことを理解されたい。
【発明の概要】
【０００３】
この発明の概要は、発明を実施するための形態において以下でさらに説明されるコンセプトのうち選択されたコンセプトを簡略化された形で紹介するために提供される。この発明の概要は、特許請求される主題の主要な特徴又は不可欠な特徴を特定することを意図するものではないし、特許請求される主題の範囲を決定する際の助けとして使用されることを意図するものでもない。
【０００４】
本開示の例は、パーソナル検索インデックスの秘匿性を強化するためのシステム及び方法を説明している。いくつかの態様において、パーソナル平文文書が、第２のデバイス（例えばサーバデバイス）と通信する第１のデバイス（例えばクライアントデバイス）上で作成される。第２のデバイスは、分散ネットワークの一部であってよい（例えば、クラウドベースのサービスプロバイダを利用する）。パーソナル平文文書を使用して、第１のデバイス上で、暗号化された文書ダイジェスト及び暗号化された文書を生成することができる。次いで、暗号化された文書ダイジェスト及び暗号化された文書が、第２のデバイスに送信され得る。第２のデバイスは、この文書ダイジェストを復号化し、復号化された文書ダイジェストに基づいて、パーソナル検索インデックスを構築し、暗号化された文書を少なくとも１つのデータ記憶部に記憶することができる。第１のデバイスは、その後、平文検索クエリを受信することができる。この検索クエリを使用して、不透明（opaque）検索クエリダイジェストを生成することができ、不透明検索クエリダイジェストが、第２のデバイスに送信される。第２のデバイスは、不透明検索クエリダイジェストを使用して、パーソナル検索インデックスを検索し、不透明検索クエリ結果を提供することができる。不透明検索クエリ結果を使用して、データ記憶部から、暗号化された文書を取得することができる。次いで、不透明検索クエリ結果及び取得された暗号化された文書が、クライアントデバイスに送信され得る。クライアントデバイスは、不透明検索クエリ結果及び取得された暗号化された文書を使用して、平文検索結果を生成することができる。
【０００５】
この発明の概要は、発明を実施するための形態において以下でさらに説明されるコンセプトのうち選択されたコンセプトを簡略化された形で紹介するために提供されている。この発明の概要は、特許請求される主題の主要な特徴又は不可欠な特徴を特定することを意図するものではないし、特許請求される主題の範囲を限定するために使用されることを意図するものでもない。例のさらなる態様、特徴、及び／又は利点が、後に続く記載において部分的に示される、そのような記載から部分的に明らかになる、又は、本開示の実施により学習されるであろう。
【図面の簡単な説明】
【０００６】
非限定的で非排他的な例が、図面を参照して説明される。
【図１】本明細書で説明される、クラウドサービスのための秘匿性が強化されたパーソナル検索インデックスのための例示的なシステムの概要を示す図。
【図２】本明細書で説明されるクライアントコンピューティングデバイス（図２Ａ）及びサーバ（図２Ｂ）の図。
【図３】本明細書で説明される、クラウドサービスのための秘匿性が強化されたパーソナル検索インデックスとともに使用される文書を処理する例示的な方法を示す図。
【図４Ａ】本明細書で説明される、暗号化された不透明文書ダイジェストを作成する例示的な方法を示す図。
【図４Ｂ】本明細書で説明される、暗号化された文書及び文書スニペットを作成する例示的な方法を示す図。
【図５】本明細書で説明される、分散ネットワークサービスのための秘匿性が強化されたパーソナル検索インデックスを構築する例示的な方法を示す図。
【図６】本明細書で説明される、分散ネットワークサービスのための秘匿性が強化されたパーソナル検索インデックスとともに使用される暗号化された文書を探すためのクエリを処理する例示的な方法を示す図。
【図７】本明細書で説明される、分散ネットワークサービスのための秘匿性が強化されたパーソナル検索インデックスを使用して、暗号化された文書を取得する例示的な方法を示す図。
【図８】本明細書で説明される、分散ネットワークサービスのための秘匿性が強化されたパーソナル検索インデックスを使用して、平文検索結果を生成する例示的な方法を示す図。
【図９】本開示の態様が実施され得るコンピューティングデバイスの例を示すブロック図。
【図１０Ａ】本開示の態様が実施され得るモバイルコンピューティングデバイスの簡略化されたブロック図。
【図１０Ｂ】本開示の態様が実施され得るモバイルコンピューティングデバイスの簡略化されたブロック図。
【図１１】本開示の態様が実施され得る分散コンピューティングシステムの簡略化されたブロック図。
【発明を実施するための形態】
【０００７】
本開示の様々な態様が、本開示の一部を形成し特定の例示的な態様を示す添付の図面を参照して、以下でより詳細に説明される。しかしながら、本開示の異なる態様は、多くの異なる形態で実施可能であり、本明細書に記載の態様に限定されるものとして解釈されるべきではない。そうではなく、そのような態様は、本開示が明確かつ十分であるとともに、態様の範囲を当業者に完全に伝えるように、提供される。態様は、方法、システム、又はデバイスとして実施され得る。したがって、態様は、ハードウェア実装、完全にソフトウェア実装、又はソフトウェア態様とハードウェア態様とを組み合わせた実装の形をとることができる。したがって、以下の詳細な説明は、限定的に解釈されるべきではない。
【０００８】
本開示は、クラウドサービス等の分散ネットワークサービスのためのパーソナル検索インデックスの秘匿性を強化するためのシステム及び方法を提供する。本明細書で使用されるパーソナル検索とは、データを作成した且つ／又は記憶させたユーザ又は特権ユーザの小グループによってのみアクセス可能である非パブリックデータ（例えば、文書、オーディオファイル、ビデオファイル等）の検索を指し得る。いくつかの態様において、方法は、信頼できるクライアント環境及び部分的に信頼される環境を含む分散コンピューティング環境において実施され得る。本明細書で使用される信頼できるクライアント環境とは、コード及びデータの保護されたロード及び実行を提供する第１の処理デバイス（クライアントデバイス等）上のセキュアな領域を指し得る。本明細書で使用される部分的に信頼される環境とは、コード及びデータのロード及び実行を許可しない又はコード及びデータのロード及び実行を許可する前にセキュリティ制約を課す第２のデバイス（例えばサーバデバイス）上のセキュアでない領域を指し得る。
【０００９】
いくつかの例において、平文データ（例えば平文文書）が、クライアントデバイス上で作成され得る。本明細書で使用される平文文書とは、暗号化されていないフォーマットで伝送及び／又は記憶される、人間が読むことのできるデータを指し得る。平文文書は、文書ダイジェストを生成し、文書ダイジェストを不透明文書ダイジェストに変換し、不透明文書ダイジェストを暗号化し、文書スニペット（snippet）を生成し、文書及び文書スニペットを暗号化するために、クライアントデバイスにより使用され得る。本明細書で使用される文書ダイジェストとは、文書からの用語と文書を説明するメタデータとを収集したものを指し得る。いくつかの例において、文書ダイジェストの用語及びメタデータは、トークン化され得る。本明細書で使用される不透明文書とは、データ変換技術を使用して、人間が読むことのできないフォーマットにデータが変換されている平文文書又は人間が読むことのできる他の文書を指し得る。本明細書で使用される文書スニペットは、文書の簡潔な要約と、メタデータと、文書からの１つ以上の文と、のうちの少なくとも１つを含み得る。その後、暗号化された不透明文書ダイジェスト並びに暗号化された文書及び文書スニペットが、サーバデバイスに送信され得る。
【００１０】
いくつかの例において、第２のデバイス（例えばサーバデバイス）は、暗号化された不透明文書ダイジェストを復号化し、復号化された不透明文書ダイジェストを使用して、パーソナル検索インデックスを構築することができる。本明細書で使用されるパーソナル検索インデックスは、迅速で正確な情報取得を促進するために、文書ダイジェストデータを収集し、構文解析し、インデックスに格納することができる。サーバデバイスはまた、ストレージ管理ユーティリティを使用して、暗号化された文書及び文書スニペットをデータ記憶部に記憶することができる。本明細書で使用されるストレージ管理ユーティリティとは、記憶デバイス及びストレージネットワークソリューションを管理するために使用されるデバイス、プロセス、及びソフトウェアを指し得る。
【００１１】
いくつかの態様において、クライアントデバイスは、その後、平文検索クエリを受信することができる。平文検索クエリは、クエリダイジェストを生成し、クエリダイジェストを不透明クエリダイジェストに変換するために、クライアントデバイスにより使用され得る。本明細書で使用されるクエリダイジェストとは、検索クエリからの用語と検索クエリを説明するメタデータとを収集したものを指し得る。次いで、不透明クエリダイジェストが、サーバデバイスに送信され得る。サーバデバイスは、不透明クエリダイジェストを受信した後、不透明クエリダイジェストを使用して、パーソナル検索インデックスを検索し、ランク付きクエリ結果を生成することができる。本明細書で使用されるランク付きクエリ結果とは、関連性、文書年齢（document  age）、文書サイズ、ユーザプロファイル情報等といったいくつかの基準のうちの少なくとも１つに従って順序付けられた且つ／又は優先順位付けされた不透明結果の集合を指し得る。ランク付きクエリ結果を使用して、データ記憶部から、暗号化された文書及び／又は文書スニペットを取得することができる。次いで、暗号化された文書及び／又は文書スニペットが、クライアントデバイスに送信され得る。クライアントデバイスは、受信された暗号化された文書及び／又は文書スニペットを復号化し、ランク付きクエリ結果と文書及び／又は文書スニペットとを組み合わせることができる。クライアントデバイスは、組み合わせられたランク付きクエリ結果と文書及び／又は文書スニペットとに対して、内容に基づくランク付けを実行して、ランク付き平文検索結果を生成することができる。
【００１２】
したがって、本開示の態様は、とりわけ以下のことを含むがこれらに限定されるものではない複数の利点を提供する：パーソナル文書セキュリティを高めること；クラウドサービスへの平文のユーザ情報、クエリ、及び検索結果の伝送をなくすこと；単一の信頼境界内に存在するようにクラウドサービスを使用して記憶される全てのデータについての要件をなくすこと；クラウドサービスへのユーザ鍵の伝送を最小限にすること；クラウドサービスにより必要とされるセキュリティ手段を低減させること；より古い検索サービスに対する秘匿性が強化されたパーソナルインデックスの適切な改良。
【００１３】
図１は、本明細書で説明される、クラウドサービスのための秘匿性が強化されたパーソナル検索インデックスのための例示的なシステムの概要を示している。例示的なシステム１００は、暗示的なフィードバックからのレコメンデーションを向上させるために統合された全体を形成するように相互作用する相互依存コンポーネントの組合せであり得る。システムのコンポーネントは、ハードウェアコンポーネントであることもあるし、システムのハードウェアコンポーネント上に実装される且つ／又はシステムのハードウェアコンポーネントにより実行されるソフトウェアであることもある。いくつかの例において、システム１００は、（例えば、オペレーティングシステム（ＯＳ）を実行する／動作させるために使用される）ハードウェアコンポーネント、及び、ハードウェア上で実行されるソフトウェアコンポーネント（例えば、アプリケーション、アプリケーションプログラミングインタフェース、モジュール、仮想マシン、ランタイムライブラリ等）のうちの任意のものを含み得る。一例において、例示的なシステム１００は、ソフトウェアコンポーネントが、動作し、動作のための制約セットに従い、システム１００のリソース又は機能を利用するための環境を提供することができ、ここで、コンポーネントは、１つ以上の処理デバイス上で実行されるソフトウェア（例えば、アプリケーション、プログラム、モジュール等）であり得る。例えば、ソフトウェア（例えば、アプリケーション、動作命令、モジュール等）は、コンピュータ、モバイルデバイス（例えば、スマートフォン／電話機、タブレット）、及び／又は任意の他の電子デバイス等の処理デバイス上で実行され得る。処理デバイス動作環境の例として、図９〜図１１に示される例示的な動作環境を参照する。他の例において、本明細書で開示されるシステムのコンポーネントは、複数のデバイスにわたって分散されてもよい。例えば、入力は、クライアントデバイス（例えば処理デバイス）上でなされてよく、情報は、１つ以上のサーバデバイス等、ネットワークにおける他のデバイスから処理又はアクセスされてよい。
【００１４】
一例として、システム１００は、クライアントデバイス１０２Ａ、クライアントデバイス１０２Ｂ、クライアントデバイス１０２Ｃ、分散ネットワーク１０４、及び分散ネットワーク環境を含み、分散ネットワーク環境は、サーバデバイス１０６Ａ、サーバデバイス１０６Ｂ、及びサーバデバイス１０６Ｃ等の１つ以上のサーバを含む。システム１００等のシステムの規模は、変わり得、図１に記載されるコンポーネントよりも多い又は少ないコンポーネントを含み得ることが、当業者には理解されよう。いくつかの例において、システム１００のコンポーネント間でインタフェースをとることは、例えば、システム１００のコンポーネントが分散ネットワークの１つ以上のデバイスにわたって分散され得る場合には、リモートで生じ得る。
【００１５】
クライアントコンピューティングデバイス１０２Ａは、例えば、１つ以上の平文パーソナル文書を生成及び／又は受信し、平文パーソナル文書を使用して、暗号化された不透明文書ダイジェスト及び暗号化されたパーソナル文書を生成するよう構成されている信頼できる環境であり得る。クライアントコンピューティングデバイス１０２Ａは、次いで、暗号化された不透明文書ダイジェスト及び暗号化されたパーソナル文書を、ネットワーク１０４を介して、サーバ１０６Ａ、１０６Ｂ、及び１０６Ｃのうちの１つ以上に送信することができる。サーバ１０６Ａは、例えば、暗号化された不透明文書ダイジェスト及び暗号化されたパーソナル文書を受信し、不透明文書ダイジェストを復号化し、復号化された不透明文書ダイジェストを使用してパーソナル検索インデックスを生成し、暗号化されたパーソナル文書をパーソナル文書データ記憶部に記憶するよう構成され得る。サーバ１０６Ａは、信頼されない環境又は部分的に信頼される環境であり得、クラウドサービスプロバイダによりホストされるサービスを提供し得る。
【００１６】
クライアントコンピューティングデバイス１０２Ａは、さらに、平文検索クエリ要求を受信し、不透明クエリダイジェストを生成し、不透明クエリダイジェストを、ネットワーク１０４を介して、サーバ１０６Ａ、１０６Ｂ、及び１０６Ｃのうちの１つ以上に送信するよう構成され得る。サーバ１０６Ａは、例えば、さらに、不透明クエリダイジェストを受信し、不透明クエリダイジェストを使用して、パーソナル検索インデックスを検索し、ランク付きクエリ結果を生成し、ランク付きクエリ結果を使用して、暗号化された文書を取得するよう構成され得る。サーバ１０６Ａは、次いで、ランク付きクエリ結果及び取得された暗号化された文書を、ネットワーク１０４を介して、クライアントコンピューティングデバイス１０２Ａに送信することができる。クライアントコンピューティングデバイス１０２Ａは、さらに、ランク付きクエリ結果及び暗号化された文書を受信し、暗号化された文書を復号化し、ランク付き平文検索結果を生成し、ランク付き平文検索結果を、クライアントコンピューティングデバイス１０２Ａのディスプレイ領域に表示することができる。
【００１７】
図２は、本明細書で説明されるクライアントコンピューティングデバイス２００（図２Ａ）及びサーバコンピューティングデバイス２２０（図２Ｂ）の例示的な図である。クライアントコンピューティングデバイス２００は、文書生成モジュール２０２、暗号化モジュール２０４、クエリ受信モジュール２０６、クエリ処理モジュール２０８、及び結果処理モジュール２１０を備えることができ、各モジュールは、１つ以上の追加のコンポーネントを有する。文書生成モジュール２０２は、１つ以上のパーソナル文書を生成及び／又は受信するよう構成され得る。例えば、文書生成モジュール２０２は、ワードプロセッシングアプリケーションを含み得る又はワードプロセッシングアプリケーションとインタフェースをとり得る。ワードプロセッシングアプリケーションは、平文テキストベースの文書を生成するために使用され得る。暗号化モジュール２０４は、１つ以上のパーソナル文書を受信して暗号化するよう構成され得る。いくつかの態様において、暗号化モジュール２０４は、１つ以上の処理パスに沿って動作を実行する。例えば、暗号化モジュール２０４は、文書理解パイプラインパス及び文書暗号化パスに沿って動作を実行することができる。
【００１８】
いくつかの例において、文書理解パイプラインパスは、受信されたパーソナル文書を使用して、パーソナル文書内に含まれる用語とパーソナル文書を説明するメタデータとを含む平文文書ダイジェストを生成することを含み得る。秘密変換鍵（ＰＴＫ：private  transform  key）を平文文書ダイジェストに適用して、不透明文書ダイジェストを生成することができる。本明細書で使用されるＰＴＫとは、あるソースの第１のデータフォーマットからのデータ値の集合を第２のデータフォーマットに変換するデータ変換技術を使用する鍵又はアルゴリズムを指し得る。いくつかの態様において、データ変換技術は、ほぼ正確な用語マッチング、相対的な用語出現頻度、及び所定の距離メトリックが、不透明文書ダイジェスト内で維持されるように、パーソナル文書の構造を維持する（例えば、アイソメトリック変換）。秘密インデックス鍵（ＰＩＫ：private  index  key）を不透明文書ダイジェストに適用して、暗号化された不透明文書ダイジェストを生成することができる。本明細書で使用されるＰＩＫとは、パーソナル文書の内容をセキュアにするための暗号化鍵として指定機関により提供される値を指し得る。ＰＩＫは、非対称暗号方式（例えば公開鍵暗号化）又は対称暗号方式（例えば共通暗号化）の任意の既知の方法を使用して生成され得る。暗号化された不透明文書ダイジェスト及びＰＩＫは、次いで、サーバデバイス２２０へのエクスポートのために処理され得、これにより、文書理解パイプラインパスは終了する。
【００１９】
いくつかの例において、文書暗号化パスは、平文パーソナル文書を使用して、文書スニペットを生成することを含み得る。秘密文書鍵（ＰＤＫ：private  document  key）を平文パーソナル文書及び／又は文書スニペットに適用して、暗号化されたパーソナル文書及び／又は暗号化された文書スニペットを含む暗号化されたパーソナル文書を生成することができる。本明細書で使用されるＰＤＫとは、パーソナル文書の内容をセキュアにするための暗号化鍵として指定機関により提供される値を指し得る。ＰＤＫは、非対称暗号方式（例えば公開鍵暗号化）又は対称暗号方式（例えば共通暗号化）の任意の既知の方法を使用して生成され得る。少なくとも１つの例において、ＰＤＫは、ＰＴＫ及びＰＩＫとは異なる。暗号化されたパーソナル文書は、次いで、サーバデバイス２２０へのエクスポートのために処理され得、これにより、文書暗号化パスは終了する。
【００２０】
クエリ受信モジュール２０６は、１つ以上のパーソナル文書を探すための平文クエリを受信又は生成するよう構成され得る。例えば、クエリ受信モジュール２０６は、ユーザインタフェースを含み得る又はユーザインタフェースとインタフェースをとり得る。ユーザインタフェースは、クエリを送信するための入力領域を提供する。クエリ処理モジュール２０８は、平文クエリを使用して、用語及びメタデータを含む平文クエリダイジェストを生成するよう構成され得る。ＰＴＫを平文クエリダイジェストに適用して、不透明クエリダイジェストを生成することができる。いくつかの態様において、平文クエリダイジェストに適用されるＰＴＫは、平文文書ダイジェストに適用されるＰＴＫと同じであり得る。不透明クエリダイジェストは、次いで、サーバデバイス２２０へのエクスポートのために処理され得る。
【００２１】
結果処理モジュール２１０は、不透明ランク付きクエリ結果及び暗号化されたパーソナル文書を受信して処理するよう構成され得る。例えば、結果処理モジュール２１０は、ＰＴＫを不透明ランク付きクエリ結果に適用して、平文ランク付きクエリ結果を生成することができる。いくつかの態様において、不透明ランク付きクエリ結果に適用されるＰＴＫは、平文文書ダイジェスト及び平文クエリダイジェストに適用されるＰＴＫと同じであり得る。結果処理モジュール２１０はまた、ＰＤＫを暗号化されたパーソナル文書に適用して、平文文書及び／又は平文文書スニペットを生成することができる。いくつかの態様において、暗号化されたパーソナル文書に適用されるＰＤＫは、平文パーソナル文書及び／又は文書スニペットに適用されるＰＤＫと同じであり得る。次いで、平文ランク付きクエリ結果と平文パーソナル文書及び／又は文書スニペットとが、ランク付き平文検索結果へと組み合わせられ得る。一例において、ランク付き平文検索結果は、内容、関連性、サイズ、又は日付等の１つ以上の基準に従ってランク付けされ得る。
【００２２】
サーバデバイス２２０は、インジェスト（ingest）モジュール２２２、インデックス検索モジュール２２４、及び文書取得モジュール２０６を備えることができ、各モジュールは、１つ以上の追加のコンポーネントを有する。インジェストモジュール２２２は、暗号化された不透明文書ダイジェスト、ＰＩＫ、及び暗号化されたパーソナル文書等、暗号化モジュール２０４から情報を受信して処理するよう構成され得る。いくつかの態様において、インジェストモジュール２２２は、１つ以上の処理パスに沿って動作を実行する。例えば、インジェストモジュール２２２は、文書インデクシングパス及び文書記憶パスに沿って動作を実行することができる。
【００２３】
いくつかの例において、文書インデクシングパスは、受信されたＰＩＫを受信された暗号化された不透明文書ダイジェストに適用して、暗号化された不透明文書ダイジェストを復号化することを含み得る。いくつかの態様において、結果として生じた不透明文書ダイジェストを、クライアントデバイス２００から以前に受信された他の不透明文書ダイジェストと集約して、不透明文書ダイジェスト集合を形成することができる。不透明文書ダイジェスト又は不透明文書ダイジェスト集合に対してインデックス生成動作を実行して、パーソナル検索インデックスを構築することができる。パーソナル検索インデックスは、文からの不透明単語インデックス、英数字文字のシーケンス、又は、不透明文書ダイジェスト内のトークンを含み得る。
【００２４】
文書記憶パスは、インジェストモジュール２２２がストレージ管理ユーティリティとインタラクトすることを含み得る。例えば、インジェストモジュール２２２は、サーバデバイス２２０上で動作しているストレージ管理サービスを使用して、暗号化されたパーソナル文書をデータ記憶部に記憶することができる。いくつかの態様において、ストレージ管理サービス及びデータ記憶部は、サーバデバイス２２０上に配置され得る。他の態様において、ストレージ管理サービス及びデータ記憶部のうちの１つ以上は、サーバデバイス２２０によりアクセス可能である別のサーバ上に配置され得る。
【００２５】
インデックス検索モジュール２２４は、不透明クエリダイジェスト等、クエリ処理モジュール２０８から情報を受信して処理するよう構成され得る。例えば、インデックス検索モジュール２２４は、受信された不透明クエリダイジェストを使用して、不透明単語インデックスを含むパーソナル検索インデックスを検索することができる。パーソナル検索インデックスの検索は、発見された上位の検索結果のランク付きクエリ結果を生じさせ得る。いくつかの態様において、ランク付きクエリ結果は、不透明検索結果の順序付きリスト及び不透明文書スニペットを含み得る。そのような態様において、不透明検索結果及び不透明文書スニペットが、次いで、クライアントデバイス２２０へのエクスポートのために処理され得る。
【００２６】
他の態様において、ランク付きクエリ結果は、不透明検索結果の順序付きリストを含み得るが、不透明文書スニペットを含み得ない。そのような態様において、文書取得モジュール２２６は、データ記憶部から、暗号化されたパーソナル文書を取得するよう構成され得る。例えば、不透明検索結果が、ストレージ管理ユーティリティに提供され得る。ストレージ管理ユーティリティは、不透明検索結果におけるデータに合致するデータ（例えば、文字列、単語、文字、トークン等）を有する暗号化された文書及び／又は文書スニペットを探すために、データ記憶部を検索することができる。次いで、データ記憶部から取得された暗号化された文書及び／又は文書スニペットが、クライアントデバイス２２０へのエクスポートのために処理され得る。
【００２７】
図３〜図８は、本明細書で説明される、クラウドサービスのための秘匿性が強化されたパーソナル検索インデックスに関連する様々なプロセスフローを示している。いくつかの態様において、方法３００〜８００は、図１のシステム１００等の例示的なシステムにより実行され得る。いくつかの例において、方法３００〜８００は、動作、プログラム、又は命令を記憶及び実行するよう構成されている少なくとも１つのプロセッサを備えるデバイス上で実行され得る。しかしながら、方法３００〜８００は、そのような例に限定されるものではない。他の例において、方法３００〜８００は、レコメンデーションを提供するためのアプリケーション又はサービス上で実行されてもよい。少なくとも１つの例において、方法３００〜８００は、インデックス検索及び生成並びに暗号化された文書の処理を利用するために、例えば、ウェブサービス／分散ネットワークサービス（例えばクラウドサービス）といった、分散ネットワークの１つ以上のコンポーネントにより実行され得る（例えば、コンピュータにより実施される動作）。
【００２８】
図３は、本明細書で説明される、クラウドサービスのための秘匿性が強化されたパーソナル検索インデックスとともに使用される文書を処理する例示的な方法３００を示している。例示的な方法３００は、動作３０２で開始し、動作３０２において、文書が生成され得る。いくつかの態様において、文書は、クライアントデバイス上でアプリケーションを使用して作成又は受信される平文パーソナル文書である。一例において、クライアントデバイスは、信頼できる環境を表し得、したがって、文書は、文書の作成者又は特権ユーザのグループにだけアクセス可能であり得る。しかしながら、本明細書で説明される動作は、信頼できる環境、部分的に信頼される環境、及び信頼されない環境に適用可能であり得ることが、当業者には認識されよう。クライアントデバイスは、平文パーソナル文書を受信する前に又は平文パーソナル文書を受信した後に、１つ以上の秘密鍵（例えば、ＰＴＫ、ＰＩＫ、及びＰＤＫ）を生成することができる。クライアントデバイスは、代替的に、信頼できるサードパーティ認証機関から１つ以上の秘密鍵を受信してもよい。
【００２９】
動作３０４において、不透明文書ダイジェストが作成され得る。いくつかの例において、平文パーソナル文書が、文書理解動作を実行するプロセスに提供される。いくつかの態様において、このプロセスは、文書理解パス等のパスに従う。本明細書で使用される文書理解とは、人間が理解できる情報を抽出し、この情報をマシンが読み取り可能な形式に編成するための、文書の意味解析を指し得る。文書理解動作は、平文パーソナル文書を使用して、用語及びメタデータを含む平文文書ダイジェストを生成すること、ＰＴＫを平文文書ダイジェストに適用して、不透明文書ダイジェストを生成すること、及び、ＰＩＫを不透明文書ダイジェストに適用して、暗号化された不透明文書ダイジェストを生成すること、を含み得る。
【００３０】
動作３０６において、暗号化されたパーソナル文書が作成され得る。いくつかの例において、平文パーソナル文書が、文書暗号化動作を実行するプロセスに提供される。文書暗号化動作は、平文パーソナル文書から平文文書スニペットを生成すること、及び、ＰＤＫを平文パーソナル文書及び／又は平文文書スニペットに適用して、暗号化されたパーソナル文書を生成すること、を含み得る。動作３０４及び３０６は、順次に又は並列に実行され得る。
【００３１】
動作３０８において、暗号化された不透明文書ダイジェスト、不透明文書ダイジェストを暗号化するために使用されたＰＩＫ、及び暗号化されたパーソナル文書が、クライアントデバイスの信頼できる環境から、サーバデバイスの部分的に信頼される環境に送信される。いくつかの態様において、ＰＴＫ及びＰＤＫは、クライアントデバイス内にあるままである。さらに、平文（例えば、文書、ダイジェスト、クエリ等）は、サーバデバイスに送信されない。
【００３２】
図４Ａは、本明細書で説明される、暗号化された不透明文書ダイジェストを作成する例示的な方法４００を示している。例示的な方法４００は、動作４０２で開始し、動作４０２において、平文文書ダイジェストが、平文パーソナル文書を使用して生成され得る。いくつかの態様において、平文文書ダイジェストを生成することは、平文パーソナル文書を、複数の平文インデックス用語及び関連付けられた平文メタデータへと構文解析することを含み得る。構文解析動作は、平文パーソナル文書を生成又は受信したクライアントデバイス上に配置されているソフトウェア又は別の信頼できる環境内に配置されているソフトウェアにより、実行され得る。平文インデックス用語及びメタデータは、ダイジェストファイルに結合及び／又は編成され得る。
【００３３】
動作４０４において、不透明文書ダイジェストが、平文パーソナル文書から生成され得る。いくつかの例において、ＰＴＫが、クライアントデバイスにより生成又は受信され得る。ＰＴＫは、データ値の集合に対してデータ変換動作を実行するよう動作可能であり得る。データ変換動作は、ソースデータフォーマットからのデータ要素又は値を、変換先データフォーマットにマッピングすること、生じ得る変換を記録すること、記録された変換を実行するコードを生成すること、及び、その変換コードを実行すること、を含み得る。１つの特定の例において、変換コードを実行することは、ソースデータフォーマットからのデータ要素を表すトークンを作成することを含み得る。いくつかの態様において、ＰＴＫが適用されるいかなる文書ダイジェストも、基本ＴＦ−ＩＤＦ（term  frequency-inverse  document  frequency）ランキングがファイル（例えば、文書ダイジェスト、クエリダイジェスト）について維持されるように、共通データ変換を共有することになる。本明細書で使用されるＴＦ−ＩＤＦとは、文書又は文書の集合内の単語の重要度を反映するよう意図されている、数に関する統計量又は重み付け係数を指し得る。ＰＴＫを平文パーソナル文書に適用して、不透明文書ダイジェストを生成することができる。いくつかの態様において、ＰＴＫは、クライアントデバイスから送信され得ない。
【００３４】
動作４０６において、暗号化された不透明文書ダイジェストが、不透明文書ダイジェストから生成され得る。いくつかの例において、ＰＩＫが、クライアントデバイス等の処理デバイスにより生成又は受信され得る。ＰＩＫは、１つ以上の文書に対して暗号化動作を実行するよう動作可能であり得る。暗号化動作は、概して、通常の情報（例えば平文）を、人間が読むことのできないテキスト（例えば暗号文）に変換することを含み得る。ファイル及び文書を暗号化するための方法は、当業者に周知であり、本開示において詳細には説明されない。ＰＩＫを不透明文書ダイジェストに適用して、暗号化された不透明文書ダイジェストを生成することができる。いくつかの態様において、ＰＩＫは、暗号化された不透明文書ダイジェストとともに、１つ以上の信頼されない又は部分的に信頼されるサーバデバイスに送信され得る。不透明文書ダイジェストを暗号化することは、不透明用語及びメタデータへのバルクアクセスに基づく統計的攻撃を防止することができる。
【００３５】
図４Ｂは、本明細書で説明される、暗号化された文書及び文書スニペットを作成する例示的な方法４２０を示している。例示的な方法４２０は、動作４２２で開始し、動作４２２において、平文文書スニペットが、平文パーソナル文書を使用して生成され得る。いくつかの例において、文書スニペットは、平文パーソナル文書を解析し、様々なセクション、文字列、及び／又はメタデータを抽出することにより作成されるファイルであり得る。１つの特定の態様において、文書スニペットは、文書タイトル、文書の簡潔な説明、文書の作成者の名前、文書の始めの３つの文、文書タイプ、文書のプレビュー画像等を含み得る。
【００３６】
動作４２４において、暗号化されたパーソナル文書が生成され得る。いくつかの例において、ＰＤＫが、クライアントデバイスにより生成又は受信され得る。ＰＤＫは、１つ以上の文書に対して暗号化動作を実行するよう動作可能であり得る。暗号化動作は、概して、通常の情報を、人間が読むことのできないテキスト（例えば暗号文）に変換することを含み得る。ＰＤＫを平文パーソナル文書及び／又は文書スニペットに適用して、暗号化されたパーソナル文書を生成することができる。いくつかの態様において、ＰＤＫは、クライアントデバイスから送信され得ない。いくつかの例において、ＰＤＫ及びＰＩＫは、類似点（例えば暗号化に基づく鍵）を共有し得、ＰＤＫ及びＰＴＫは、類似点（例えば、鍵がクライアントデバイスから送信されないこと）を共有し得るが、ＰＴＫ、ＰＩＫ、及びＰＤＫは、別個の且つ／又は異なる鍵である。
【００３７】
図５は、本明細書で説明される、分散ネットワークサービスのための秘匿性が強化されたパーソナル検索インデックスを構築する例示的な方法５００を示している。例示的な方法５００は、動作５０２で開始し、動作５０２において、暗号化された文書、暗号化された不透明文書ダイジェスト、及びＰＩＫが、クラウドサービスシステムのサーバデバイスのコンポーネントにより受信され得る。サーバデバイスは、信頼されない又は部分的に信頼される環境を表し得、したがって、文書は、サーバデバイス又はサーバデバイスのユーザによりアクセス可能であり得ない。暗号化された文書は、暗号化されたパーソナル文書及び暗号化された文書スニペットを含み得る。
【００３８】
動作５０４において、パーソナル検索インデックスが作成され得る。いくつかの例において、暗号化された不透明文書ダイジェスト及び不透明文書ダイジェストを暗号化するために使用されたＰＩＫが、文書インデクシングを促進するプロセスに提供される。本明細書で使用される文書インデクシングとは、文書の主題を説明及び／又は要約するために用語又は記号により文書を分類することを指し得る。このプロセスは、ＰＩＫを使用して、暗号化された不透明文書ダイジェストを復号化することと、任意的に、復号化された不透明文書ダイジェストを他の不透明文書ダイジェストと集約して、不透明文書ダイジェスト集合を生成することと、を含み得る。いくつかの態様において、他の不透明文書ダイジェストは、クライアントデバイスから以前に受信されたものであり得る。例えば、他の不透明文書ダイジェストは、特定のユーザ又はクライアントデバイス上のユーザアカウントに関連付けられ得る。他の態様において、他の不透明文書ダイジェストは、特定のユーザ、ユーザアカウント、又はグループアカウントに関連付けられた様々なクライアントデバイスから以前に受信されたものであり得る。このプロセスは、不透明文書ダイジェスト集合をインデクシングして、不透明用語及び／又は記号を作成することをさらに含み得る。次いで、不透明用語及び／又は記号を使用して、パーソナル検索インデックスを構築することができる。いくつかの態様において、パーソナル検索インデックスは、特定のクライアントデバイスに関連付けられた情報又は特定のユーザアカウントに関連付けられた情報のみを含み得る。動作５０４は終了動作５０８に進む。
【００３９】
動作５０６において、受信された暗号化された文書が記憶され得る。いくつかの例において、サーバデバイスは、ストレージ管理ユーティリティと通信することができる。ストレージ管理ユーティリティは、暗号化された文書を１つ以上のデータ記憶部に記憶することを促進することができる。いくつかの態様において、ストレージ管理ユーティリティは、サーバデバイス上、クラウドサービスシステムの別のコンポーネント上、又は、クラウドサービスシステムによりアクセス可能なコンピューティングデバイス上に配置され得る。データ記憶部は、ストレージ管理ユーティリティと同一の場所に配置されてもよいし、ストレージ管理ユーティリティから切り離して配置されてもよいし、様々なサーバデバイスの間で分散されてもよい。少なくとも１つの例において、データ記憶部は、文書作成者、特権閲覧者のグループ、又はサーバデバイスの特権ユーザのグループによってのみアクセス可能であるパーソナル文書記憶空間であり得る。動作５０６は終了動作５０８に進む。
【００４０】
図６は、本明細書で説明される、分散ネットワークサービスのための秘匿性が強化されたパーソナル検索インデックスとともに使用される暗号化された文書を探すためのクエリを処理する例示的な方法６００を示している。例示的な方法６００は、動作６０２で開始し、動作６０２において、クライアントデバイスは、クラウドサービスによりサーバデバイスに記憶された文書を探すための検索クエリを受信又は生成することができる。いくつかの態様において、クエリは、クリアテキスト又は平文で受信又は生成され得る。１つの特定の態様において、クエリは、検索対象の文書をサーバデバイスに送信するために使用されたクライアントデバイスとは異なるクライアントデバイス上で生成される。
【００４１】
動作６０４において、平文クエリダイジェストが、平文クエリを使用して生成され得る。いくつかの態様において、平文クエリを分析及び構文解析して、平文クエリ用語及び／又はメタデータを抽出することができる。分析動作及び構文解析動作は、クライアントデバイス上に配置されているソフトウェアにより、又は、別の信頼できる環境内に配置されているソフトウェアにより、実行され得る。平文クエリ用語及び／又はメタデータは、平文クエリダイジェストファイル等のダイジェストファイルに結合及び／又は編成され得る。
【００４２】
動作６０６において、不透明クエリダイジェストが生成され得る。いくつかの例において、ＰＴＫが、クライアントデバイスにより生成又は受信され得る。ＰＴＫは、図４に関連して上述したように、データ値の集合に対してデータ変換動作を実行するよう動作可能であり得る。ＰＴＫを平文クエリダイジェストに適用して、不透明クエリダイジェストを生成することができる。いくつかの態様において、平文クエリダイジェストに適用されるＰＴＫは、検索対象の文書のうちの１つ以上の文書の平文文書ダイジェストに適用されるＰＴＫと同じであり得る。
【００４３】
動作６０８において、暗号化された不透明クエリダイジェストが、クライアントデバイスの信頼できる環境から、サーバデバイスの部分的に信頼される又は信頼されない環境に送信され得る。いくつかの態様において、不透明クエリダイジェストを暗号化するために使用されたＰＴＫは、クライアントデバイス内にあるままであり得る。そのような態様において、クライアントデバイスからの平文情報は、クエリされるサーバデバイスに送信又は公開され得ない。
【００４４】
図７は、本明細書で説明される、分散ネットワークサービスのための秘匿性が強化されたパーソナル検索インデックスを使用して、暗号化された文書を取得する例示的な方法７００を示している。例示的な方法７００は、動作７０２で開始し、動作７０２において、不透明クエリダイジェストが、分散ネットワークシステム（例えばクラウドサービスシステム）のサーバデバイスのコンポーネントにより受信され得る。サーバデバイスは、信頼されない又は部分的に信頼される環境を表し得、したがって、不透明クエリダイジェストは、サーバデバイス又はサーバデバイスのユーザによりアクセス可能であり得ない。
【００４５】
動作７０４において、不透明クエリ結果が生成され得る。いくつかの例において、不透明クエリダイジェストの内容が、分析されて、パーソナル検索インデックスを検索するための入力として使用され得る。パーソナル検索インデックスは、以前に受信された不透明文書ダイジェストからの不透明データを含み得る。いくつかの態様において、パーソナル検索インデックスはまた、１つ以上の暗号化されたパーソナル文書からの暗号化された文書スニペットを含み得る。パーソナル検索インデックスの検索は、関連性、文書年齢、文書サイズ、ユーザプロファイル情報等といった基準に従ってランク付けされ得る不透明クエリ結果を生じさせ得る。いくつかの態様において、不透明クエリ結果は、不透明文書名及び／又は識別子を含み得る。一態様において、不透明クエリ結果は、代替的又は追加的に、暗号化された文書スニペットを含んでもよい。クエリワークフローから文書記憶が除かれ得るそのような態様において、フローは動作７０８に進む。
【００４６】
任意的な動作７０６において、データ記憶部が、暗号化されたパーソナル文書を探すために検索され得る。いくつかの例において、不透明クエリ結果が、ストレージ管理ユーティリティに提供され得る。ストレージ管理ユーティリティは、不透明クエリ結果を分析して、データ記憶部において、不透明クエリ結果におけるデータに合致するデータ（例えば、文字列、単語、文字、トークン等）を有する暗号化されたパーソナル文書及び／又は文書スニペットを検索することができる。データ記憶部において発見された文書が、クライアントデバイスへのエクスポートのために処理され得る。
【００４７】
動作７０８において、不透明クエリ結果、暗号化されたパーソナル文書、及び暗号化された文書スニペット、又は、これらの何らかの組合せが、サーバデバイスの部分的に信頼される又は信頼されない環境から、クライアントデバイスの信頼できる環境に送信され得る。
【００４８】
図８は、本明細書で説明される、分散ネットワークサービスのための秘匿性が強化されたパーソナル検索インデックスを使用して、平文検索結果を生成する例示的な方法８００を示している。例示的な方法８００は、動作８０２で開始し、動作８０２において、クエリ結果情報が、クライアントデバイスのコンポーネントにより受信され得る。クエリ結果情報は、不透明クエリ結果、暗号化されたパーソナル文書、及び暗号化された文書スニペットを含み得る。
【００４９】
動作８０４において、不透明クエリ結果が変換され得る。いくつかの例において、クライアントデバイスにアクセス可能であるＰＴＫを使用して、不透明クエリ結果を平文クエリ結果に変換することができる。このＰＴＫは、図４Ａに記載された平文文書ダイジェスト及び平文クエリダイジェストに適用されるＰＴＫと同じであり得る。動作８０２及び８０４は、順次に又は並列に実行され得る。
【００５０】
動作８０６において、暗号化された文書が復号化され得る。いくつかの例において、暗号化されたパーソナル文書及び／又は暗号化された文書スニペットが、クライアントデバイスにアクセス可能であるＰＤＫを使用して、復号化され得る。いくつかの態様において、暗号化されたパーソナル文書を復号化するために適用されるＰＤＫは、図４Ｂに記載された平文パーソナル文書及び／又は文書スニペットに適用されるＰＤＫと同じであり得る。
【００５１】
任意的な動作８０８において、パーソナル文書がランク付けされる。いくつかの例において、ランク付けプロセスは、クライアントデバイスに関連付けられ得る。ランク付けプロセスは、平文クエリ結果とともに平文パーソナル文書及び／又は平文文書スニペットに適用され得る。いくつかの態様において、平文パーソナル文書は、いくつかの基準（例えば、文書内容、説明、年齢、サイズ、希少さ）に従ってランク付けされ得、その結果、最も関連性の高い文書が、結果リストにおいてより上位に配置されてもよいし、より関連性の低い文書からグラフィカルに線引きされてもよい。
【００５２】
動作８１０において、ランク付き平文検索結果が生成され得る。いくつかの例において、動作８０８で説明されたランク付けプロセスは、ランク付きクエリ結果を含むファイルを生成することができる。次いで、このファイルを、このファイル内で参照されているそれぞれの文書又は文書スニペットとマッチングさせて、ランク付き平文検索結果を作成することができる。他の例において、ランク付け動作８０８が実行されなかった場合、平文クエリ結果が、平文パーソナル文書及び／又は平文文書スニペットに適用され得、その結果、平文検索結果が生成される。この平文検索結果は、特定の順序でランク付けされ得ない。いくつかの態様において、平文検索結果は、平文文書及び／又は文書スニペット（又はそれらへのリンク）を含み得る。
【００５３】
図９〜図１１及び関連する記載は、本発明の例が実施され得る様々な動作環境の説明を提供する。しかしながら、図９〜図１１に関して図示及び説明されるデバイス及びシステムは、例及び例示の目的のためにあり、本明細書で説明される、本発明の例を実施するために利用され得る多数のコンピューティングデバイス構成を限定するものではない。
【００５４】
図９は、例えば、本開示の例が実施され得るシステムのコンポーネントといった、コンピューティングデバイス９０２の物理的コンポーネントを示すブロック図である。以下で説明されるコンピューティングデバイスコンポーネントは、上述したコンピューティングデバイスに適したものであり得る。基本的構成において、コンピューティングデバイス９０２は、少なくとも１つの処理ユニット９０４及びシステムメモリ９０６を含み得る。コンピューティングデバイスの構成及びタイプに応じて、システムメモリ９０６は、揮発性ストレージ（例えば、ランダムアクセスメモリ）、不揮発性ストレージ（例えば、読み取り専用メモリ）、フラッシュメモリ、又はこのようなメモリの任意の組合せを含み得るが、これらに限定されるものではない。システムメモリ９０６は、オペレーティングシステム９０７と、アプリケーション９２８、ＩＯマネージャ９２４、及び他のユーティリティ９２６等のソフトウェアアプリケーション９２０を実行するのに適した１つ以上のプログラムモジュール９０８と、を含み得る。例として、システムメモリ９０６は、実行される命令を記憶することができる。システムメモリ９０６の他の例は、例として、ナレッジリソースや学習されたプログラムプール等のコンポーネントであり得る。オペレーティングシステム９０７は、例えば、コンピューティングデバイス９０２の動作を制御するのに適したものであり得る。さらに、本発明の例は、グラフィックスライブラリ、他のオペレーティングシステム、又は任意の他のアプリケーションプログラムとともに実施されてもよく、いかなる特定のアプリケーション又はシステムにも限定されるものではない。この基本的構成が、図９において、破線９２２内のこれらのコンポーネントにより示されている。コンピューティングデバイス９０２は、さらなる特徴又は機能を有することができる。例えば、コンピューティングデバイス９０２は、例えば、磁気ディスク、光ディスク、又はテープ等のさらなるデータ記憶デバイス（着脱可能な記憶デバイス及び／又は着脱不可能な記憶デバイス）を含んでもよい。そのようなさらなる記憶デバイスが、図９において、着脱可能な記憶デバイス９０９及び着脱不可能な記憶デバイス９１０により示されている。
【００５５】
上述したように、複数のプログラムモジュール及びデータファイルが、システムメモリ９０６に記憶され得る。処理ユニット９０４上で実行されている間、プログラムモジュール９０８（例えば、アプリケーション９２８、入出力（ＩＯ）マネージャ９２４、及び他のユーティリティ９２６）は、例えば、図４に示される動作方法４００の段階のうちの１つ以上を含むがこれらに限定されるものではないプロセスを実行することができる。本発明の例に従って使用され得る他のプログラムモジュールは、電子メール及び連絡帳アプリケーション、ワードプロセッシングアプリケーション、スプレッドシートアプリケーション、データベースアプリケーション、スライドプレゼンテーションアプリケーション、入力認識アプリケーション、描画又はコンピュータ支援アプリケーションプログラム等を含み得る。
【００５６】
さらに、本発明の例は、ディスクリート電子素子、論理ゲートを含むパッケージ型又は集積型電子チップを備える電気回路において、マイクロプロセッサを利用する回路において、又は、電子素子若しくはマイクロプロセッサを含む単一チップにおいて、実施され得る。例えば、本発明の例は、図９に示されるコンポーネントの各々又は多くが単一集積回路上に集積され得るシステムオンチップ（ＳＯＣ）を介して実施され得る。そのようなＳＯＣデバイスは、１つ以上の処理ユニット、グラフィックスユニット、通信ユニット、システム仮想化ユニット、及び様々なアプリケーション機能を含み得、これらの全てが、単一集積回路として、チップ基板上に集積される（「焼き付けられる」）。ＳＯＣを介して動作しているとき、本明細書で説明された機能は、コンピューティングデバイス９０２の他のコンポーネントとともに単一集積回路（チップ）上に集積された特定用途向けロジックを介して動作し得る。本開示の例はまた、機械的技術、光学技術、流体技術、及び量子技術を含むがこれらに限定されるものではない、例えばＡＮＤ、ＯＲ、及びＮＯＴ等の論理演算を実行することができる他の技術を使用して、実施されてもよい。さらに、本発明の例は、汎用コンピュータ又は任意の他の回路若しくはシステムにおいて実施されてもよい。
【００５７】
コンピューティングデバイス９０２は、キーボード、マウス、ペン、サウンド入力デバイス、音声入力／認識用デバイス、タッチ入力デバイス等といった１つ以上の入力デバイス９１２をさらに有することができる。コンピューティングデバイス９０２は、ディスプレイ、スピーカ、プリンタ等といった１つ以上の出力デバイス９１４も含み得る。前述のデバイスは例であり、他のデバイスも使用され得る。コンピューティングデバイス９０２は、他のコンピューティングデバイス９１８との通信を可能にする１つ以上の通信接続９１６を含み得る。適切な通信接続９１６の例は、ＲＦ送信機、受信機、及び／又はトランシーバ回路；ユニバーサルシリアルバス（ＵＳＢ）、パラレル、及び／又はシリアルポートを含むが、これらに限定されるものではない。
【００５８】
本明細書で使用されるコンピュータ読み取り可能な媒体という用語は、コンピュータ記憶媒体を含み得る。コンピュータ記憶媒体は、コンピュータ読み取り可能な命令、データ構造、又はプログラムモジュールといった情報を記憶するための任意の方法又は技術により実装された揮発性及び不揮発性の着脱可能及び着脱不可能な媒体を含み得る。システムメモリ９０６、着脱可能な記憶デバイス９０９、及び着脱不可能な記憶デバイス９１０は全て、コンピュータ記憶媒体（すなわち、メモリストレージ）の例である。コンピュータ記憶媒体は、ＲＡＭ、ＲＯＭ、電気的に消去可能なプログラム可能な読み取り専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリ、若しくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）、若しくは他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、若しくは他の磁気記憶デバイス、又は、情報を記憶するために使用することができ、コンピューティングデバイス９０２がアクセスできる任意の他の製品を含み得る。そのようなコンピュータ記憶媒体のいずれもが、コンピューティングデバイス９０２の一部であり得る。コンピュータ記憶媒体は、搬送波、又は、他の伝搬データ信号若しくは変調されたデータ信号を含まない。
【００５９】
通信媒体は、搬送波や他の伝送機構等、変調されたデータ信号内のコンピュータ読み取り可能な命令、データ構造、プログラムモジュール、又は他のデータにより具現化され得、任意の情報配信媒体を含み得る。「変調されたデータ信号」という用語は、信号内の情報を符号化するように設定又は変更された１つ以上の特性を有する信号を表し得る。限定ではなく例として、通信媒体は、有線ネットワーク又は直接配線接続等の有線媒体と、音響、無線周波数（ＲＦ）、赤外線、及び他の無線媒体等の無線媒体と、を含み得る。
【００６０】
図１０Ａ及び図１０Ｂは、携帯電話機、スマートフォン、携帯情報端末、タブレットパーソナルコンピュータ、ラップトップコンピュータ等といった、本発明の例が実施され得るモバイルコンピューティングデバイス１０００を示している。例えば、モバイルコンピューティングデバイス１０００は、システム１００のコンポーネントが、とりわけ、図４に記載された処理方法を実行するよう構成され得るシステム１００として実装され得る。図１０Ａを参照すると、本発明の例を実装するためのモバイルコンピューティングデバイス１０００の一例が示されている。基本的構成において、モバイルコンピューティングデバイス１０００は、入力要素及び出力要素の両方を有するハンドヘルドコンピュータである。モバイルコンピューティングデバイス１０００は、一般に、ユーザがモバイルコンピューティングデバイス１０００に情報を入力することを可能にする１つ以上の入力ボタン１０１０及びディスプレイ１００５を含む。モバイルコンピューティングデバイス１０００のディスプレイ１００５はまた、入力デバイス（例えばタッチスクリーンディスプレイ）として機能することができる。任意的な側面入力要素１０１５が含まれる場合、側面入力要素１０１５は、さらなるユーザ入力を可能にする。側面入力要素１０１５は、回転スイッチ、ボタン、又は任意の他のタイプの手動入力要素であり得る。代替例において、モバイルコンピューティングデバイス１０００は、より多い又はより少ない入力要素を組み込んでもよい。例えば、ディスプレイ１００５は、いくつかの例において、タッチスクリーンでなくてもよい。別の代替例において、モバイルコンピューティングデバイス１０００は、セルラ電話機等のポータブル電話システムである。モバイルコンピューティングデバイス１０００は、任意的なキーパッド１０３５を含んでもよい。任意的なキーパッド１０３５は、物理キーパッドであってもよいし、タッチスクリーンディスプレイ上に生成される「ソフト」キーパッドであってもよい。様々な例において、出力要素は、グラフィカルユーザインタフェース（ＧＵＩ）を表示するためのディスプレイ１００５、視覚的インジケータ１０２０（例えば発光ダイオード）、及び／又はオーディオトランスデューサ１０２５（例えばスピーカ）を含む。いくつかの例において、モバイルコンピューティングデバイス１０００は、ユーザに触覚フィードバックを提供するための振動トランスデューサを組み込む。さらに別の例において、モバイルコンピューティングデバイス１０００は、外部デバイスに信号を送信する又は外部デバイスから信号を受信するためのオーディオ入力ポート（例えばマイクロフォンジャック）、オーディオ出力ポート（例えばヘッドフォンジャック）、及びビデオ出力ポート（例えばＨＤＭＩ（登録商標）ポート）等の入力ポート及び／又は出力ポートを組み込む。
【００６１】
図１０Ｂは、モバイルコンピューティングデバイスの一例のアーキテクチャを示すブロック図である。すなわち、モバイルコンピューティングデバイス１０００は、いくつかの例を実装するためにシステム（すなわちアーキテクチャ）１００２を組み込むことができる。いくつかの例において、システム１００２は、１つ以上のアプリケーション（例えば、ブラウザ、電子メール、入力処理、カレンダー、連絡帳マネージャ、メッセージングクライアント、ゲーム、及びメディアクライアント／プレーヤ）を実行することができる「スマートフォン」として実装される。
【００６２】
１つ以上のアプリケーションプログラム１０６６は、メモリ１０６２にロードされ、オペレーティングシステム１０６４上で又はオペレーティングシステム１０６４に関連して、実行され得る。アプリケーションプログラムの例は、電話ダイヤラプログラム、電子メールプログラム、個人情報管理（ＰＩＭ）プログラム、ワードプロセッシングプログラム、スプレッドシートプログラム、インターネットブラウザプログラム、メッセージングプログラム等を含む。システム１００２はまた、メモリ１０６２内に不揮発性ストレージ領域１０６８を含む。不揮発性ストレージ領域１０６８は、システム１００２に電力が供給されない場合に失われるべきでない永続的情報を記憶するために使用され得る。アプリケーションプログラム１０６６は、電子メールアプリケーションにより使用される電子メール又は他のメッセージ等といった情報を不揮発性ストレージ領域１０６８に記憶することができ、不揮発性ストレージ領域１０６８内のそのような情報を使用することができる。同期アプリケーション（図示せず）が、システム１００２に存在し、ホストコンピュータに存在する対応する同期アプリケーションとインタラクトするようにプログラムされ、ホストコンピュータに記憶される対応する情報と同期される情報が不揮発性ストレージ領域１０６８に記憶されて保持されるようにする。本明細書で説明されたアプリケーション９２８、ＩＯマネージャ９２４、及び他のユーティリティ９２６を含む他のアプリケーションも、メモリ１０６２にロードされ、モバイルコンピューティングデバイス１０００上で実行され得ることを理解されたい。
【００６３】
システム１００２は、１つ以上のバッテリとして実装され得る電源１０７０を有する。電源１０７０は、そのようなバッテリを補足又は再充電するＡＣアダプタ又は電源ドッキングクレードル等の外部電源をさらに含んでもよい。
【００６４】
システム１００２は、システム１００２と１つ以上の周辺デバイスとの間の接続を円滑にする機能を実行する周辺デバイスポート１０３０を含み得る。周辺デバイスポート１０３０との間の伝送は、オペレーティングシステム１０６４の制御下で行われる。すなわち、周辺デバイスポート１０３０により受信された通信は、オペレーティングシステム１０６４を介してアプリケーションプログラム１０６６に伝達され得、その逆も同様である。
【００６５】
システム１００２はまた、無線周波数通信を送信及び受信する機能を実行する無線機１０７２を含み得る。無線機１０７２は、通信キャリア又は通信サービスプロバイダを介する、システム１００２と「外部世界」との間の無線接続を円滑にする。無線機１０７２との間の伝送は、オペレーティングシステム１０６４の制御下で行われる。すなわち、無線機１０７２により受信された通信は、オペレーティングシステム１０６４を介してアプリケーションプログラム１０６６に伝達され得、その逆も同様である。
【００６６】
視覚的インジケータ１０２０は、視覚的通知を提供するために使用され得、且つ／又は、オーディオインタフェース１０７４は、オーディオトランスデューサ１０２５を介する可聴通知をもたらすために使用され得る。図示される例において、視覚的インジケータ１０２０は発光ダイオード（ＬＥＤ）であり、オーディオトランスデューサ１０２５はスピーカである。これらのデバイスは、プロセッサ１０６０及び他のコンポーネントがバッテリ電力を節約するためにシャットダウンし得る場合であっても、アクティブ化されたときに通知メカニズムにより指示される時間期間の間オンであり続けるように、電源１０７０に直接的に接続され得る。ＬＥＤは、ユーザがデバイスの電源オン状態を指示するアクションをとるまで、無期限にオンであり続けるようにプログラムされてもよい。オーディオインタフェース１０７４は、ユーザに可聴信号を提供し、ユーザからの可聴信号を受信するために、使用される。例えば、オーディオインタフェース１０７４は、オーディオトランスデューサ１０２５に接続されることに加えて、電話会話を円滑にするため等、可聴入力を受け取るためのマイクロフォンにも接続され得る。本発明の例に従うと、マイクロフォンはまた、以下で説明されるように、通知の制御を円滑にするオーディオセンサとして機能することができる。システム１００２は、静止画像、ビデオストリーム等を記録するためのオンボードカメラ１０３０の動作を可能にするビデオインタフェース１０７６をさらに含み得る。
【００６７】
システム１００２を実装するモバイルコンピューティングデバイス１０００は、さらなる特徴又は機能を有することができる。例えば、モバイルコンピューティングデバイス１０００は、磁気ディスク、光ディスク、又はテープ等のさらなるデータ記憶デバイス（着脱可能な記憶デバイス及び／又は着脱不可能な記憶デバイス）をさらに含み得る。そのようなさらなる記憶デバイスが、図１０Ｂにおいて、不揮発性ストレージ領域１０６８により示されている。
【００６８】
モバイルコンピューティングデバイス１０００により生成又は取得され、システム１００２を介して記憶されるデータ／情報は、上述したように、モバイルコンピューティングデバイス１０００にローカルに記憶されることもあるし、そのようなデータは、無線機１０７２を介して、又は、モバイルコンピューティングデバイス１０００と、例えば、インターネット等の分散コンピューティングネットワークにおけるサーバコンピュータといった、モバイルコンピューティングデバイス１０００に関連付けられた別のコンピューティングデバイスと、の間の有線接続を介して、デバイスによりアクセスされ得る任意の数の記憶媒体に記憶されることもある。そのようなデータ／情報は、無線機１０７２を介して又は分散コンピューティングネットワークを介して、モバイルコンピューティングデバイス１０００によりアクセスされ得ることを理解されたい。同様に、そのようなデータ／情報は、電子メール及び協調的データ／情報共有システムを含む周知のデータ／情報転送及び記憶手段に従って、記憶及び使用のために、コンピューティングデバイス間で容易に転送され得る。
【００６９】
図１１は、上述したように、ストレージシステム上のターゲットデータに確実にアクセスし、１つ以上のクライアントデバイスへの通信失敗を処理するアプリケーションを提供するためのシステムのアーキテクチャの一例を示している。アプリケーション９２８、ＩＯマネージャ９２４、他のユーティリティ９２６、及びストレージに関連してアクセス、インタラクト、又は編集されるターゲットデータは、異なる通信チャネル又は他のタイプのストレージに記憶され得る。例えば、様々な文書は、ディレクトリサービス１１２２、ウェブポータル１１２４、メールボックスサービス１１２６、インスタントメッセージングストア１１２８、又はソーシャルネットワーキングサイト１１３０を使用して記憶され得る。アプリケーション９２８、ＩＯマネージャ９２４、他のユーティリティ９２６、及びストレージシステムは、本明細書で説明されたように、データ利用を可能にするために、これらのタイプのシステム等のうちの任意のものを使用することができる。サーバ１１２０は、ネットワーク１１１５を介して、一般コンピューティングデバイス９０２及び１つ以上のモバイルデバイス１０００上で動作するクライアントにより使用されるストレージシステムを提供することができる。例えば、ネットワーク１１１５は、インターネット又は任意の他のタイプのローカルエリアネットワーク若しくはワイドエリアネットワークを含み得、クライアントノードは、パーソナルコンピュータ、タブレットコンピューティングデバイスにより具現化されるコンピューティングデバイス９０２として、且つ／又は、モバイルコンピューティングデバイス１０００（例えば、スマートフォン）により、実装され得る。クライアントコンピューティングデバイス９０２又は１０００のこれらの例のいずれも、記憶部１１１６からコンテンツを取得することができる。
【００７０】
本明細書を通じて「一例」又は「ある例」との言及がなされているが、これは、特定の記載されている特徴、構造、又は特性が、少なくとも１つの例に含まれることを意味する。したがって、そのような語句の使用は、２つ以上の例を指すことがある。さらに、記載されている特徴、構造、又は特性は、１つ以上の例において、任意の適切な形で組み合わされることがある。
【００７１】
しかしながら、そのような例は、具体的な詳細のうちの１つ以上がなくても、又は、他の方法、リソース、材料等とともに、実施され得ることが、当業者には認識できよう。他の例において、周知の構造、リソース、又は動作は、そのような例の態様を単に曖昧にしないようにするために、詳細には図示又は説明されていない。
【００７２】
サンプルの例及び用途が、図示及び説明されたが、そのような例は、上述した正確な構成及びリソースに限定されるものではないことを理解されたい。特許請求される例の範囲から逸脱することなく、本明細書で開示された方法及びシステムの配置、動作、及び詳細において、様々な修正、変更、及び変形が可能であることが、当業者には明らかであろう。
【図１】
2018526666.tif 000003
【図２】
2018526666.tif 000004
【図３】
2018526666.tif 000005
【図４Ａ】
2018526666.tif 000006
【図４Ｂ】
2018526666.tif 000007
【図５】
2018526666.tif 000008
【図６】
2018526666.tif 000009
【図７】
2018526666.tif 000010
【図８】
2018526666.tif 000011
【図９】
2018526666.tif 000012
【図１０Ａ】
2018526666.tif 000013
【図１０Ｂ】
2018526666.tif 000014
【図１１】
2018526666.tif 000015
【国際調査報告】
2018526666.tif 000016
2018526666.tif 000017