(57)【特許請求の範囲】
【請求項１】
１つまたは複数のプロセッサを含むコンピュータシステムで実施される、ファイル取得および評価評定のための方法であって、
第１のコンピュータクライアントから、特定のファイルの一意のファイル識別子を含む第１の評価要求を受け取るステップと、
少なくとも第１の評価要求を受け取ることに基づいて、
前記特定のファイルの前記一意のファイル識別子に対応する評価が存在しないと判定するステップと、
少なくとも前記特定のファイルの前記一意のファイル識別子に対応する評価が存在しないと判定したことに基づいて、
前記特定のファイルを分割して得られる１組のチャンクを生成するステップであって、各チャンクは前記特定のファイルの一部を含む、ステップと、
前記第１のコンピュータクライアントから前記１組のチャンクの第１のチャンクを要求するステップと、および
前記第１のコンピュータクライアントから、前記１組のチャンクの第１のチャンクを受け取るステップと、
前記第１の評価要求を受け取った後、第２のコンピュータクライアントから、前記特定のファイルの一意のファイル識別子を含む第２の評価要求を受け取るステップと、
少なくとも前記第２の評価要求を受け取ることに基づいて、および少なくとも前記ファイルを分割して得られる前記１組のチャンクが生成されたことに基づいて、
前記第２のコンピュータクライアントから前記１組のチャンクの第２のチャンクを要求するステップと、そして
前記第２のコンピュータクライアントから前記１組のチャンクの前記第２のチャンクを受け取るステップと、そして
少なくとも前記第１のコンピュータクライアントから前記１組のチャンクの前記第１のチャンクを受け取ることに基づいて、および少なくとも前記第２のコンピュータクライアントから前記１組のチャンクの前記第２のチャンクを受け取ることに基づいて、前記特定のファイルに対する特定の評価を計算するステップと
を含む方法。
【請求項２】
前記１組のチャンクに基づいて、クライアントから取得されることになる前記１組のチャンク内のチャンクの配付を指定する配付曲線を生成するステップをさらに含む、請求項１に記載の方法。
【請求項３】
前記配付が、ランダム配付、連続配付、秩序配付、重複配付、優先順位付け配付、または、秩序重複配付のうちの少なくとも１つの配付を含む、請求項２に記載の方法。
【請求項４】
前記第１のチャンクに対して冗長取得を指定する重複配付に基づいて、第３のコンピュータクライアントから前記第１のチャンクを取得するステップをさらに含む、請求項１に記載の方法。
【請求項５】
前記第１のチャンクが、前記第２のチャンクに対して重複ファイルデータを含む、請求項１に記載の方法。
【請求項６】
前記１組のチャンクを生成するステップが、取得の優先順位を前記１組のチャンク内の各チャンクに割り当てるステップを含む、請求項１に記載の方法。
【請求項７】
前記取得の優先順位を割り当てるステップが、
第１の取得優先順位を、前記第２のチャンクに割り当てられた第２の取得優先順位よりも高い前記第１のチャンクに割り当てるステップを含む、請求項６に記載の方法。
【請求項８】
第３のコンピュータクライアントから、前記ファイルの第３のチャンクの送信開始を受け取るステップと、
以前に取得された前記第３のチャンクに応答して、前記第３のチャンクの送信を取り消すステップと、
前記第３のチャンクがまだ取得されていないとの判定に応答して、前記第３のチャンクの前記送信を受け取るステップとをさらに含む、請求項１に記載の方法。
【請求項９】
請求項１に記載の方法であって、前記一意のファイル識別子を用いて、前記評価が存在するかどうかを判定するために、ファイル評価データ構造への問い合わせするステップをさらに含む、方法。
【請求項１０】
請求項１に記載の方法であって、前記特定の評価を前記一意のファイル識別子に割り当て、前記評価を前記第１のコンピュータクライアントおよび前記第２のコンピュータクライアントのうちの少なくとも1つに提供するステップをさらに含む、方法。
【請求項１１】
請求項１に記載の方法であって、前記第１のコンピュータクライアントからの前記第１のチャンクを、前記第１のコンピュータ以外のコンピュータクライアントからの前記第１のチャンクの第２のインスタンスと比較して、前記第１のコンピュータクライアントからの第１のチャンクが、 改ざんされていない状態で受け取られたことを確認するステップをさらに含む、方法。
【請求項１２】
請求項１に記載の方法であって、前記第１のコンピュータクライアント、前記第２のコンピュータクライアント、および第３のコンピュータクライアントのうちの少なくとも１つから、前記特定のファイルの第３のチャンクの将来の取得をスケジュール化するステップをさらに含む、方法。
【請求項１３】
請求項１に記載の方法であって、前記第１のチャンクを要求するステップは、
前記第１のコンピュータクライアントの操作のコンテキストを識別するステップと、および
アップロードポリシーに対応する前記操作のコンテキストに基づいて、前記第１のコンピュータクライアントからの前記第１のチャンクの取得をスケジュール化するステップと
を含む、方法。
【請求項１４】
請求項１に記載の方法であって、
インジケータを前記１組のチャンク内の各チャンクに割り当てるステップと、 および
前記第１のチャンクを取得することに応答して、前記第１のチャンクに対する第1のインジケータを取得状態に設定するステップと
をさらに含む方法。
【請求項１５】
コンピュータシステムであって、
1つまたは複数のプロセッサと、
前記コンピュータシステムにファイルを取得させ、前記ファイルの評価を評定させるよう、前記1つまたは複数のプロセッサによって実行可能なコンピュータ実行可能命令を格納する1つまたは複数のコンピュータ可読媒体であって、前記コンピュータ実行可能命令は、コンピュータシステムに対し、
第１のコンピュータクライアントから、特定のファイルの一意のファイル識別子を含む第１の評価要求を受け取るステップと、
少なくとも前記第１の評価要求を受け取ることに基づいて、
前記特定のファイルの前記一意のファイル識別子に対応する評価が存在しないと判定するステップと、
少なくとも前記特定のファイルの前記一意のファイル識別子に対応する評価が存在しないと判定されたことに基づいて、
前記特定のファイルを分割して得られる１組のチャンクを生成するステップであって、各チャンクは前記特定のファイルの一部を含む、ステップと、
前記第１のコンピュータクライアントから前記１組のチャンクの第１のチャンクを要求するステップと、および
前記第１のコンピュータクライアントから、前記１組のチャンクの前記第１のチャンクを受け取るステップと、
前記第１の評価要求を受け取った後、第２のコンピュータクライアントから、前記特定のファイルの前記一意のファイル識別子を含む第２の評価要求を受け取るステップと、
少なくとも前記第２の評価要求を受け取ることに基づいて、および少なくとも前記ファイルを分割して得られる前記１組のチャンクが生成されたことに基づいて、
前記第２のコンピュータクライアントから前記１組のチャンクの第２のチャンクを要求するステップと、そして
前記第２のコンピュータクライアントから前記１組のチャンクの前記第２のチャンクを受け取るステップと、そして
少なくとも前記第１のコンピュータクライアントから前記１組のチャンクの前記第１のチャンクを受け取ることに基づいて、および少なくとも前記第２のコンピュータクライアントから前記１組のチャンクの前記第２のチャンクを受け取ることに基づいて、前記特定のファイルに対する特定の評価を計算するステップと
を少なくとも実行させる、実行可能な命令を含む、コンピュータシステム。
【請求項１６】
請求項１５に記載のコンピュータシステムであって、
前記コンピュータ実行可能命令は、前記コンピュータシステムに、前記第１のチャンクに、前記第２のチャンクに割り当てられた第２の取得優先順位より高い第１の取得優先順位を割り当てるステップを行わせる実行可能な命令をさらに含む、コンピュータシステム。
【請求項１７】
請求項１５に記載のコンピュータシステムであって、前記コンピュータ実行可能命令は、前記コンピュータシステムに、前記第１のコンピュータクライアント、前記第２のコンピュータクライアント、および第３のコンピュータクライアントの少なくとも１つから、前記特定ファイルの第３のチャンクの将来の取得をスケジュール化するように実行可能な命令をさらに含む、コンピュータシステム。
【請求項１８】
請求項１５に記載のコンピュータシステムであって、前記コンピュータ実行可能命令は、前記コンピュータシステムに、前記第１のコンピュータクライアントからの前記第１のチャンクが改ざんされていない状態で受け取られたことを確認するために、前記第１のコンピュータクライアントからの前記第１のチャンクを、前記第１のコンピュータクライアント以外のコンピュータクライアントからの前第１のチャンクの第２のインスタンスと比較するステップを行わせる実行可能な命令をさらに含む、コンピュータシステム。
【請求項１９】
請求項１５に記載のコンピュータシステムであって、前記コンピュータ実行可能命令は、前記コンピュータシステムに、
前記第１のコンピュータクライアントの操作のコンテキストを識別するステップと、および
アップロードポリシーに対応する前記操作のコンテキストに基づいて、第１のコンピュータクライアントからの前記第１のチャンクの取得をスケジュール化するステップと
を行わせる実行可能な命令をさらに含む、コンピュータシステム。
【請求項２０】
コンピュータプログラムであって、ファイルを取得し、前記ファイルの評価を評定するためにコンピュータシステムに、
第１のコンピュータクライアントから、特定のファイルの一意のファイル識別子を含む第１の評価要求を受け取るステップと、
少なくとも第１の評価要求を受け取ることに基づいて、
前記特定のファイルの前記一意のファイル識別子に対応する評価が存在しないと判定するステップと、
少なくとも前記特定のファイルの前記一意のファイル識別子に対応する評価が存在しないと判定したことに基づいて、
前記特定のファイルを分割して得られる１組のチャンクを生成するステップであって、各チャンクは前記特定のファイルの一部を含む、ステップと、
前記第１のコンピュータクライアントから前記１組のチャンクの第１のチャンクを要求するステップと、および
前記第１のコンピュータクライアントから、前記１組のチャンクの第１のチャンクを受け取るステップと、
前記第１の評価要求を受け取った後、第２のコンピュータクライアントから、前記特定のファイルの一意のファイル識別子を含む第２の評価要求を受け取るステップと、
少なくとも前記第２の評価要求を受け取ることに基づいて、および少なくとも前記ファイルを分割して得られる前記１組のチャンクが生成されたことに基づいて、
前記第２のコンピュータクライアントから前記１組のチャンクの第２のチャンクを要求するステップと、そして
前記第２のコンピュータクライアントから前記１組のチャンクの前記第２のチャンクを受け取るステップと、そして
少なくとも前記第１のコンピュータクライアントから前記１組のチャンクの前記第１のチャンクを受け取ることに基づいて、および少なくとも前記第２のコンピュータクライアントから前記１組のチャンクの前記第２のチャンクを受け取ることに基づいて、前記特定のファイルに対する特定の評価を計算するステップと
を少なくとも実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]多くのアプリケーションおよびサービスは、コンピューティングデバイスにセキュリティを提供する。一例において、ウイルス対策サービスなどセキュリティサービスは、コンピューターを走査して、ウイルス、マルウェア、悪意のあるコードなどを有する「感染」ファイルを識別することができる。セキュリティサービスは、こうしたファイルを識別し、隔離し、かつ／または、除去することができる。セキュリティサービスはまた、他のコンピューティングデバイスをこうしたファイルから防御するために、こうしたファイルに関する情報を広めることができる。
【発明の概要】
【課題を解決するための手段】
【０００２】
[0002]この発明の概要は、下記の発明を実施するための形態においてさらに説明する、単純化された形式のいくつかのコンセプトを紹介するために設けられているものである。この発明の概要は、特許請求された発明の対象の主要な要因または本質的な特徴を明らかにしようとするものではなく、また特許請求された発明の対象の範囲を限定するために用いようとするものでもない。
【０００３】
[0003]とりわけ、本明細書では、評価評定用のファイルを取得するための１つまたは複数のシステム、および／または、技術が提供される。評価サービスは、クライアントから評価要求を受け取るように構成され、既知のファイルの評価をこうしたクライアントに返すことができる。クライアントが評価サービスにとって未知のファイルの評価を要求した場合、評価サービスは、そのファイルが評価サービスによって取得され、評価されるまでは、評価を返すことができないこととなる。なぜならば、このファイルは比較的大きくなる可能性があり、１つのクライアントからすべてのファイルを入手することは、リソース（たとえば、帯域幅）に大きな負荷をかけ、および／または、そうでなければ非効率を被る恐れがあるからである。したがって、本明細書で提供する評価サービスは、複数のクライアント（たとえば、ユーザー同意付き）から分散方式でファイルの一部を入手することができる。一例において、ユーザーは、こうしたファイルの評価評定を目的とするなど（たとえば、こうしたファイル関連データの収集、および／または、使用に関するプロンプトに応答する場合）、クライアントに関連したファイル、および／または、ファイルのチャンクを取得できるようにするためのオプトイン(ｏｐｔ−ｉｎ)同意を提供するために、肯定的行動をとることができる。
【０００４】
[0004]一例において、評価要求は第１のクライアントから受け取ることができる。評価要求は、ファイルのファイル識別子を含むことができる（たとえば、タブレットデバイスクライアントなど第１のクライアントによってダウンロードされたビデオゲームアプリケーションと関連したビデオゲームファイルのハッシュ）。ファイルの評価に対応するファイル識別子に応答して、評価が第１のクライアントに提供される。ファイルが未知である（たとえば、ファイル識別子がファイル評価データ構造内の評価と一致しない）との判定に応答して、ファイルを分割して生成し得る１組のチャンクを識別することができる（たとえば、その１組のチャンクは、最初はチャンク識別子などチャンク用のプレースホルダーを含むことができる。というのは、評価サービスがクライアントからこうしたチャンクをまだ入手できていないからである）。ファイルの第１のチャンクは、第１のクライアントから取得することができる。ファイルの１つまたは複数の追加チャンクは、第２のクライアント（たとえば、ファイルの評価を要求する第２のクライアントに応答して）から取得された第２のチャンクなど、他のクライアントから取得することができる。第１のチャンク、第２のチャンク、および／または、他のチャンクは、評価をファイルに割り当てるために評定することができる（たとえば、ファイルの悪意のある程度、または悪意のない程度）。評価サービスは、第１のクライアント、および／または、他のクライアントに、評価を提供することができる。このようにして、評価サービスは、複数のクライアントから分散方式で、ファイルのチャンクを取得することが可能であり、ファイルを評定し、評価をファイルに割り当てるために、そのチャンクからこうしたファイルを再構成することができる。
【０００５】
[0005]上記および関連した目標を達成するために、以下の説明および付属の図面により、ある例示の態様および実装形態を説明する。これらは様々な方法のうちのほんの少しを示しており、その中で１つまたは複数の態様をとりあげている。本開示の他の態様、利点、および新規な機能は、付属の図面と合わせて考慮すれば、以下の詳細な説明から明らかとなるであろう。
【図面の簡単な説明】
【０００６】
【図１】[0006]評価評定用の例示のファイル取得方法を示すフローダイアグラムである。
【図２Ａ】[0007]評価要求が受け取られる、評価評定用の例示のファイル取得システムを示すコンポーネントブロック図である。
【図２Ｂ】[0008]ファイルのチャンクが受け取られる、評価評定用の例示のファイル取得システムを示すコンポーネントブロック図である。
【図２Ｃ】[0009]評価要求が受け取られる、評価評定用の例示のファイル取得システムを示すコンポーネントブロック図である。
【図２Ｄ】[0010]ファイルのチャンクが受け取られる、評価評定用の例示のファイル取得システムを示すコンポーネントブロック図である。
【図２Ｅ】[0011]１つまたは複数の将来の取得要求が１つまたは複数のクライアントに送られる、評価評定用の例示のファイル取得システムを示すコンポーネントブロック図である。
【図２Ｆ】[0012]１つまたは複数の送信開始が受け取られる、評価評定用の例示のファイル取得システムを示すコンポーネントブロック図である。
【図２Ｇ】[0013]送信開始が受け取られる、評価評定用の例示のファイル取得システムを示すコンポーネントブロック図である。
【図２Ｈ】[0014]ファイルの評価が１つまたは複数のクライアントに提供される、評価評定用の例示のファイル取得システムを示すコンポーネントブロック図である。
【図３】[0015]評価評定を容易にする例示の方法を示すフローダイアグラムである。
【図４】[0016]データ取得の例示の方法を示すフローダイアグラムである。
【図５】[0017]本明細書で説明する１つまたは複数の対応機能を組み込むように構成された、プロセッサー実行可能命令を含むことができる、例示のコンピューター可読媒体の図である。
【図６】[0018]本明細書で説明する１つまたは複数の対応機能を実装することができる、例示のコンピューティング環境を示す図である。
【発明を実施するための形態】
【０００７】
[0019]次に特許請求された発明の対象を、図面を参照して説明するが、全体にわたって同一の参照番号は同一の要素を指すために使用されている。以下の説明において、説明のために、特許請求された発明の対象を理解できるようにするために、多くの具体的な詳細説明が記載されている。しかし、特許請求された発明の対象は、このような具体的な詳細説明がなくても実施できることは明白であろう。他の例において、特許請求された発明の対象を説明するのを容易にするために、構造およびデバイスがブロック図形式で説明されている。
【０００８】
[0020]本明細書において、評価評定用のファイル取得のための１つまたは複数の技術、および／または、システムが提供される。評価サービスは、クライアントに、悪意のある程度、または悪意のない程度といったファイル（たとえば、アプリケーション、文書、ビデオゲーム、ビデオ、写真など）の評価を提供するように構成することができる。評価サービスは、評価評定用の新しいファイルを、インターネットソースから発見し、入手することによって発見することができる。しかし、一部のファイルは、評価サービスにとって未知の認証資格情報の背後に記憶されており、および／または、評価サービスにとって未知のＵＲＡを有するソース（たとえば、個人用ラップトップ上のファイル）によってホストされているため、利用することができない。したがって、評価サービスは、評価サービスにとって未知の新しいファイルを、新しいファイルに対する評価要求を受け取ることによって（たとえば、評価サーバーが以前に遭遇したことがない、ファイルのＳＨＡ２５６ハッシュなど、ファイルのファイル識別子を含む評価要求を受け取ることに基づいて）識別することができる。評価サービスは、新しいファイルを分割して生成し得る１組のチャンクを識別することができる（たとえば、新しいファイルは比較的大きくなることがあり、したがって、１つのクライアントから入手することは実用的ではない）。評価サービスは、複数のクライアント（たとえば、ユーザー同意付き）から、分散方式で（たとえば、多くのクライアントが、ファイルの一部を評価サービスなど１つのソースに提供する、分散されたアップロード構成に従って）、新しいファイルのチャンクを入手することができる。一例において、ユーザーは、こうしたファイルの評価評定を目的とするなど（たとえば、こうしたファイル関連データの収集、および／または、使用に関するプロンプトに応答する場合）、クライアントデバイスに関連したファイル、および／または、ファイルのチャンクを取得できるようにするためのオプトイン同意を提供するために、肯定的行動をとることができる。評価サービスは、新しいファイルをチャンクから再構成することができ、評価を新しいファイルに割り当てることができる（たとえば、新しいファイルの同一性（たとえば、新しいファイルのＳＨＡ２５６ハッシュを確認する）を確認後）。このようにして、評価サービスは、複数のクライアントから分散方式でファイルを入手することができる。
【０００９】
[0021]評価評定用のファイル取得の一実装形態が、図１の例示の方法１００によって示されている。１０２において、この方法は開始する。１０４において、第１のクライアントから評価要求を受け取ることができる。評価要求は、ファイルのファイル識別子を含むことができる。たとえば、Ｄａｖｅというユーザーと関連付けられたビデオゲームコンソールクライアントは、インターネットソースからレーシングビデオゲームをダウンロードすることができる。レーシングビデオゲームと関連したレーシングビデオゲームファイルのハッシュを、ファイル識別子として生成することができる。レーシングビデオゲームファイルが、安全か、悪意があるかどうか判定するために、評価要求をビデオゲームコンソールクライアントから評価サービスに送ることができる。
【００１０】
[0022]評価サービスは、ファイル識別子を使用して、そのファイルに対する評価が存在するかどうか判定するために、ファイル評価データ構造への問い合わせをすることができる。任意のファイルは一般に、任意のコンピューティングデバイス（たとえば、ＳＨＡ２５６ハッシュ）上で普遍的に計算可能なコンパクト識別子など、一意の識別子によって識別可能であることを理解されたい。１０６において、ファイルの評価に対応するファイル識別子に応答して、評価を第１のクライアントに提供することができる（たとえば、ファイル識別子に対応するファイル評価データ構造中に入力がある）。１０８におけるファイルが未知であるとの判定に応答して、１１０において、ファイルを分割して生成し得る１組のチャンクを識別することができる（たとえば、その１組のチャンクは、最初はチャンク識別子などチャンク用のプレースホルダーを含むことができる。というのは、評価サービスがクライアントからこうしたチャンクをまだ入手できていないからである）。一例において、レーシングビデオゲームファイルは、４ＧＢのデータを含むことが可能であり、それにより、１００個の４ＭＢのチャンクを、レーシングビデオゲームファイルを分割して生成し得る１組のチャンクとして、識別することができる（たとえば、チャンクのサイズは、そのファイルを含むクライアントの潜在数、こうしたクライアントの帯域幅、クライアントのデータプランタイプ、クライアントがｗｉｆｉに接続しているかどうか、および／または、他の様々な考慮事項など、様々な基準に基づいてセットすることができる）。別の例において、１組のチャンクは１つまたは複数の重複チャンクを指定することができる（たとえば、第１のチャンクは第２のチャンクに関して重複したファイルデータを含むことができる）。１組のチャンクを識別する一例において、その１組のチャンクに基づいて配付曲線を生成することができる。配付曲線は、クライアントから取得することとなるチャンクの配付を指定することができる。たとえば、配付には、ランダム配付、連続配付、秩序配付、重複配付、秩序重複配付、優先順位付け配付（たとえば、コードセグメントなど、どのチャンクを入手するか、および／または、どのような順序でこうしたチャンクを入手するかの優先順位付け）、または任意の他のタイプの配付がある。
【００１１】
[0023]一例において、取得の優先順位を１組のチャンク中の各チャンクに割り当てることができる。たとえば、第１の取得優先順位を第１のチャンクに、第２の取得優先順位を第２のチャンクに割り当てることができる。第１のチャンクが第２のチャンクよりも高い評価評定関連性を有するとの判定に基づいて、第１の取得優先順位を第２の取得優先順位よりも高くすることができる（たとえば、第１のチャンクは、悪意のあることを示す実行可能ファイルのデータまたはコードセグメントに一致し、一方、第２のチャンクは、悪意のあるファイルと安全なファイルの両方に共通のデータまたはコードセグメントを含む場合がある）。一例において、インジケーターを１組のチャンク中の各チャンクに割り当てることができる。チャンクがクライアントから評価サービスによって受け取られると、受け取られたチャンクに対するインジケーターを取得状態にセットすることができる。多くのチャンクのコピーを様々なクライアントから取得されることになる場合には、インジケーターを増加、減少、または変更して、チャンクのコピーが受け取られたことを示す。一例において、チャンク識別子（たとえばハッシュ）を、１組のチャンク中の各チャンクに対して生成することができる。一例において、多くのファイルを１つのチャンクと関連付けることが可能であり（たとえば、Ｉ／Ｏライブラリーなど１つの組込みライブラリーを多くのファイルで共有可能である）、それにより、チャンク識別子を使用してこうしたファイルにわたってチャンクを追跡することが可能となる（たとえば、それにより、チャンクは効率的に識別され、かつ／または、チャンクを共有するように知られたファイルの場所から入手することができる）。
【００１２】
[0024]１１２において、ファイルの第１のチャンクを第１のクライアントから取得することができる。一例において、第１のクライアントの操作のコンテキストを識別することができる（たとえば、モバイルデバイスクライアントが、ｗｉｆｉネットワークに接続可能である、充電中である、アイドル状態である、等）。第１のクライアントからの第１のチャンクの取得は、アップロードポリシーに対応する操作のコンテキストに基づいて、スケジュール化（たとえばトリガーされる）することができる（たとえば、第１のチャンクは、第１のクライアントがｗｉｆｉネットワークに接続するとき、第１のクライアントから取得することができるが、たとえばｗｉｆｉネットワーク接続アップロードポリシーに基づいて、操作アクティビティを実行することはほとんどない）。一例において、第１のチャンクを１つまたは複数の追加のクライアントから、第１のチャンクに対して冗長取得を指定する重複配付に基づいて取得することができる。一例において、第１のクライアントからの第１のチャンクを、異なるクライアントからの第１のチャンクの第２のインスタンスと比較して、第１のクライアントからの第１のチャンクが、改ざんされていない状態で受け取られたことを確認することができる。１１４において、ファイルの第２のチャンクを第２のクライアントから取得することができる（たとえば、Ｍａｒｙというユーザーと関連付けられたラップトップデバイスは、レーシングビデオゲームファイル用、または、第２のチャンクのチャンク識別子と関連付けられた任意の他のファイル用のファイル識別子を含む評価要求を送ることができ、この評価要求は、結局、ラップトップデバイスからの第２のチャンクを求める要求となるであろう）。
【００１３】
[0025]一例において、１組のチャンク中の１つまたは複数の追加チャンクを、様々なクライアントから取得することができる。一例において、ファイルのファイルレイアウトを決定することができる。配付および優先順位付けアルゴリズムを使用して、コードセグメントなどチャンクを優先順位付けして、クライアントから取得することができる（たとえば、緊急性、いくつかの比較演算子、完全性への「最善努力」、そこから取ってくるいくつかのクライアントなどに基づいて）。一例において、ファイルの第３のチャンクの将来の取得を、第１のクライアント、第２のクライアント、および／または、別のクライアント（たとえば、取得しきい値を上回る第３のチャンクを所有する可能性を有するクライアント）からスケジュール化することができる。一例において、ファイルのチャンクの送信開始をクライアントから受け取ることができる（たとえば、クライアントは送信開始を無作為に送ることができる）。以前に評価サービスによって取得されたチャンクに応答して（たとえば、チャンクのコピーのしきい値数は、評価サービスによって取得された可能性がある）、チャンクの送信が取り消される場合があり、これにより不必要な帯域幅の利用を削減することができる。チャンク、または、チャンクのコピーのしきい値数はまだ取得されていないとの判定に応答して、チャンクの送信を受け取ることができる。一例において、ファイルの評価を決定し、かつ／または、更新するために、チャンクを評定することができる。
【００１４】
[0026]第１のクライアントからの評価要求を処理する一例において、ファイルは既知ではあるが、ファイルのすべてのチャンクが評価サービスに利用可能であるとはいえない場合がある。評価サービスに利用できないチャンクは、第１のクライアントから取得することができる。このようにして、ファイルの１つまたは複数のチャンクを、配付方法に従って様々なクライアントから取得することができる。１１６において、第１のチャンク、第２のチャンク、および／または、他のチャンクを評定して、ファイルに評価を割り当てることができる。評価は第１のクライアント、および／または、評価が決定できるようになった後に評価サービスにアクセスする後続のクライアントなど、他のクライアントに提供することができる（たとえば、チャンクのしきい値数が評価に利用可能なとき）。一例において、評価は、事前に計算した値でもよく、または、ファイルについての様々な評価情報に基づいて、実行中に動的に作成されてもよい。１１８において、この方法は終了する。
【００１５】
[0027]図２Ａ〜図２Ｈは、評価評定用のファイル取得のためのシステム２０１の例を示す。図２Ａは、評価サービス２０２を含むシステム２０１の一例２００を示す。評価サービス２０２は、第１のクライアント２１０、第２のクライアント２１２、第３のクライアント２１４、および／または、クライアント２１６など他のクライアントといったクライアントに、ファイルの評価を提供するように構成することができる。たとえば、評価はファイルの悪意のある程度、または悪意のない程度を示すことができる。一例において、評価要求２０６を第１のクライアント２１０から受け取ることができる（たとえば、Ｄａｖｅというユーザーによって所有されたスマートフォンなど第１のクライアント２１０は、アプリダウンロードソースからダウンロードされたレストランアプリに対応するファイル（Ｘ）を含むことができる）。評価要求２０６は、ファイル（Ｘ）のファイル識別子２０８を含むことができる。評価サービス２０２は、ファイル識別子２０８を使用して、ファイル（Ｘ）の評価が既知かどうか判定するために、ファイル評価データ構造２０４への問い合わせをするように構成することができる。ファイル（Ｘ）が評価サービス２０２にとっては未知であり、評価を有しない可能性があるので、ファイル（Ｘ）を分割して生成し得る１組のチャンク２１８を識別することができる（たとえば、１組のチャンク２１８は、最初はチャンク識別子などチャンク用のプレースホルダーを含むことができる。というのは、評価サービス２０２がクライアントからこうしたチャンクをまだ入手できていないからである）。たとえば、１組のチャンク２１８は、チャンク（Ａ）用のチャンク（Ａ）識別子、チャンク（Ｂ）用のチャンク（Ｂ）識別子、チャンク（Ｃ）用のチャンク（Ｃ）識別子、チャンク（Ｄ）用のチャンク（Ｄ）識別子、チャンク（Ｅ）用のチャンク（Ｅ）識別子、チャンク（Ｆ）用のチャンク（Ｆ）識別子、および／または、他のチャンクのチャンク識別子（たとえばハッシュ）を含むことができる。
【００１６】
[0028]図２Ｂは、配付曲線２２１を生成し、かつ／または、１組のチャンク２１８を順序付けて、順序付けられた１組のチャンク２１８ａを作成する例２２０を示す。一例において、評価サービス２０２は、１組のチャンク２１８に基づいて配付曲線２２１（たとえば、様々なクライアントからチャンクを入手するためのスキーム）を生成することができる。配付曲線２２１は、クライアントから取得されることになるチャンクの配付を指定することができる。一例において、配付曲線２２１は、チャンクを入手する順序を示すことができる（たとえば、比較的高い評価評定関連性を有するチャンクは、他のチャンクよりも高く順序付け／ランク付けされる場合がある）。たとえば、チャンク（Ｃ）は取得第１位に順序付けることができ、チャンク（Ｆ）は取得第２位に順序付けることができ、チャンク（Ｅ）は取得第３位に順序付けることができる、等々である。一例において、チャンク（Ｃ）２２２は、第１のクライアント２１０から取得することができる。チャンク（Ｃ）インジケーター２２４は、評価サービス２０２がチャンク（Ｃ）２２２を取得したことに基づいて、取得状態にセットすることができる。
【００１７】
[0029]図２Ｃは、第３のクライアント２１４から評価要求２３２を受け取る評価サービス２０２の例２３０を示す。評価要求２３２は、ファイル（Ｘ）用のファイル識別子２０８を含むことができる（たとえば、Ｊｉｌｌによって所有されたタブレットデバイスなど第３のクライアント２１４は、アプリダウンロードソースからダウンロードされたレストランアプリに対応するファイル（Ｘ）を含むことができる）。評価サービス２０２は、ファイル識別子２０８を使用して、ファイル（Ｘ）の評価が既知かどうか判定するために、ファイル評価データ構造２０４への問い合わせをするように構成することができる。評価サービス２０２は、ファイル（Ｘ）は既知であり、まだ評価を有しておらず、ファイル（Ｘ）のすべてのチャンクが利用可能であるとはいえないということを判定することができる。したがって、評価サービス２０２は、図２Ｄの例２４０に示したように、第３のクライアント２１４からチャンク（Ｆ）２４２を入手することができる。一例において、第３のクライアント２１４は、低いアクティビティ状態中にチャンク（Ｆ）２４２を送ることができる（たとえば、タブレットデバイスがｗｉｆｉに接続されている間、充電中、および／または、チャンク（Ｆ）２４２を評価サービス２０２に送る利用可能なコンピューティングリソースを有する間）。チャンク（Ｆ）インジケーター２４４は、評価サービス２０２がチャンク（Ｆ）２４２を取得したことに基づいて、取得状態にセットすることができる。
【００１８】
[0030]図２Ｅは、ファイル（Ｘ）のチャンクを将来取得するスケジューリングの例２５０を示す。評価サービス２０２は、順序付けられた１組のチャンク２１８ａを評定して、チャンク（Ｅ）、チャンク（Ｄ）、チャンク（Ｂ）、チャンク（Ａ）など、ファイル（Ｘ）の１つまたは複数の利用できないチャンクを識別することができる（たとえば、評価サービス２０２によってまだ取得されていないチャンク）。評価サービス２０２は、１つまたは複数の利用できないチャンク求めて、第１のクライアント２１０に関する将来の取得２５２、および、第２のクライアント２１２に関する将来の取得２５４をスケジュール化することができる。
【００１９】
[0031]図２Ｆは、クライアントから１つまたは複数の送信開始を受け取る評価サービス２０２の例２６０を示す。第１のクライアント２１０は、チャンク（Ｆ）の第１の送信開始２６２を評価サービス２０２に送ることができる。評価サービス２０２がチャンク（Ｆ）は以前に取得されたと判定したことに応答して（たとえば、評価サービス２０２は、チャンク（Ｆ）インジケーター２４４が取得状態にセットされていると判定することができる）、評価サービス２０２は、チャンク（Ｆ）の送信を取り消す２６６ことができる。第２のクライアント２１２は、チャンク（Ｅ）の第２の送信開始２６４を評価サービス２０２に送ることができる。評価サービス２０２がチャンク（Ｅ）はまだ取得されていないと判定したことに応答して、評価サービス２０２は、チャンク（Ｅ）の送信を受け取ることができる。チャンク（Ｅ）インジケーター２６８は、評価サービス２０２がチャンク（Ｅ）を取得したことに基づいて、取得状態にセットすることができる。たとえば、取得状態は、チャンク（Ｅ）の２つのインスタンスのうちの１つのインスタンスが、入手されたことを示すことができる（たとえば、配付曲線２２１は、チャンク（Ｅ）の２つのインスタンスが２つの異なるクライアントから入手されることになるということを示すことができる）。
【００２０】
[0032]図２Ｇは、チャンク（Ｅ）の第２のインスタンスの送信２７２を受け取る評価サービス２０２の例２７０を示す。たとえば、配付曲線２２１は、確認目的などでチャンク（Ｅ）の冗長取得を指定する重複配付を含むことができる。したがって、評価サービス２０２は、チャンク（Ｅ）の２つのインスタンスのうちの１つのインスタンスが取得されたことを判定するために、順序付けられた１組のチャンク２１８ａを評定することができる（たとえば、図２Ｆの例２６０）。このようにして、評価サービス２０２は、チャンク（Ｅ）の第２のインスタンスの送信２７２を受け取ることができる。チャンク（Ｅ）インジケーター２６８は、取得状態がチャンク（Ｅ）の２つのインスタンスのうちの２つのインスタンスが入手されたこと示すために、更新することができる。
【００２１】
[0033]図２Ｈは、ファイル（Ｘ）の評価表示チャンクのしきい値数を取得する評価サービス２０２の例２８０を示す。たとえば、チャンク（Ｃ）、チャンク（Ｆ）、チャンク（Ｅ）の２つのインスタンス、および、チャンク（Ｄ）は、様々なクライアントから入手されている場合がある。評価サービス２０２は、チャンク（Ｂ）およびチャンク（Ａ）をまだ取得していない場合がある。しかし、チャンク（Ｂ）およびチャンク（Ａ）は、ファイル（Ｘ）に対して比較的低い評価の指標を提供することができる。したがって、評価サービス２０２は、ファイル（Ｘ）の評価表示チャンクのしきい値数が取得されたことを判定することができ（たとえば、チャンク（Ｃ）、チャンク（Ｆ）、チャンク（Ｅ）の２つのインスタンス、および、チャンク（Ｄ））、それによりこうしたチャンクを評価して、安全性８３％という評価２８２をファイル（Ｘ）に割り当てることができる。評価２８２を、第１のクライアント２１０、および／または、他のクライアントに提供する２８４ことができる。
【００２２】
[0034]評価評定を容易にする一実装形態が、図３の例示の方法３００によって示されている。３０２において、この方法は開始する。３０４において、クライアントに関連したファイル用のファイル識別子を生成する。たとえば、クライアントデバイスは、ソーシャルネットワークアプリケーションに関連したソーシャルネットワークファイルを入手することができる。クライアントデバイスは、ハッシュなど、ソーシャルネットワークファイル用のソーシャルネットワークファイル識別子を生成することができる。３０６において、評価要求を評価サービスに送ることができる（たとえば、クライアントデバイスから）。評価要求はファイル識別子を含むことができる。ファイルに対する評価が未知であるという表示は、評価サービスから受け取ることができる。３０８において、ファイルの第１のチャンクを求める要求を評価サービスから受け取ることができる（たとえば、ソーシャルネットワークファイルの４ｍｂのチャンク）。３１０において、第１のチャンクを評価評定のために評価サービスに提供することができる。
【００２３】
[0035]一例において、第２のチャンクを、クライアントの低いアクティビティ期間に基づいて、評価評定のために評価サービスに提供することができる（たとえば、クライアントデバイスをｗｉｆｉネットワークに接続して、ソーシャルネットワークファイルの４ｍｂの第２のチャンクを送るための利用可能な帯域幅を入手することができる）。別の例において、将来の取得要求を評価サービスから受け取ることができる。将来の取得要求は、取得期間内に、クライアントからファイルの第３のチャンクを要求することができる（たとえば、将来の取得要求は５日以内に失効する場合がある）。この第３のチャンクは、取得期間内に評価サービスに提供することができる。
【００２４】
[0036]ファイルの評価は、評価サービスから受け取ることができる。この評価は、クライアントからの第１のチャンクの評価、および、他のクライアントからの評価サービスによって入手された１つまたは複数のチャンクの評価に基づくことができる。３１２において、この方法は終了する。
【００２５】
[0037]データ取得の一実装形態が、図４の例示の方法４００によって示されている。４０２において、この方法は開始する。データは、配付アップロードプロセスなどに従って、多くのクライアントからの配付方法で取得される。４０４において、データ（たとえば、診断目的で使用されるイベントログコレクション、多くのクライアントの間で共有可能なクラッシュ情報を評定するのに使用されるクラッシュダンプデータなど）を分割して生成し得る１組のチャンクを識別することができる。４０６において、データの第１のチャンクを第１のクライアントから取得することができる（たとえば、第１のクライアントは、クラッシュが発生したことを示すことができ、これにより、このクラッシュに関連したクラッシュダンプ情報の第１の部分をアップロードすることができる）。４０８において、データの第２のチャンクを第２のクライアントから取得することができる（たとえば、第２のクライアントは、第１のクライアントのクラッシュと同様なクラッシュが発生したことを示すことができ、これにより、このクラッシュに関連したクラッシュダンプ情報の第２の部分をアップロードすることができる）。４１０において、第１のチャンク、第２のチャンク、および／または、１つまたは複数の他のクライアントから入手された他のチャンクを評定して、データを評定することができる（たとえば、クラッシュダンプ情報のチャンクを組合せ、かつ評定して、第１のクライアントおよび第２のクライアントのクラッシュの原因を突き止めることができる）。４１２において、この方法は終了する。
【００２６】
[0038]さらに別の実装形態は、本明細書に述べた１つまたは複数の技術を実装するように構成された、プロセッサー実行可能命令を含むコンピューター可読媒体を備える。コンピューター可読媒体、または、コンピューター可読デバイスの例示の実装形態が、図５に示されており、実装形態５００は、ＣＤ−Ｒ、ＤＶＤ−Ｒ、フラッシュドライブ、ハードディスクドライブのプラターなど、その上にコンピューター可読データ５０６をエンコードするコンピューター可読媒体５０８を含む。０または１のうちの少なくとも１つを含むバイナリデータなど、このコンピューター可読データ５０６は、同様に、本明細書に説明した１つまたは複数の原理に従って動作するように構成された１組のコンピューター命令５０４を含む。いくつかの実装形態において、プロセッサー実行可能コンピューター命令５０４は、たとえば、図１の例示の方法１００のうちの少なくとも一部、図３の例示の方法３００のうちの少なくとも一部、および／または、図４の例示の方法４００のうちの少なくとも一部などの、方法５０２を実行するように構成される。いくつかの実装形態において、プロセッサー実行可能命令５０４は、たとえば、図２Ａ〜図２Ｈの例示のシステム２０１のうちの少なくとも一部などの、システムを実装するように構成される。こうしたコンピューター可読媒体の多くは、当業者によって考案され、本明細書に述べた技術に従って動作するように構成されている。
【００２７】
[0039]本発明の対象を構造的機能、および／または、方法論的振る舞いに特有な言語で説明してきたが、添付の特許請求の範囲で定義された本発明の対象は、必ずしも先に説明した特定の機能または振る舞いに限定されるものではないことを理解されたい。むしろ、先に説明した特定の機能または振る舞いは、少なくとも特許請求の範囲の一部において実装形態の例示的形式として開示される。
【００２８】
[0040]本出願で使用される場合、「コンポーネント」、「モジュール」「システム」、「インターフェース」、および／または、同類の用語は一般に、コンピューター関連エンティティ、いずれかのハードウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアを指すものとしている。たとえば、コンポーネントは、プロセッサー上で実行するプロセス、プロセッサー、オブジェクト、実行ファイル、実行のスレッド、プログラム、および／または、コンピューターとすることができるが、それらには限定されない。説明として、コントローラー上で実行するアプリケーション、および、そのコントローラーの両方ともコンポーネントとすることができる。１つまたは複数のコンポーネントが、プロセス、および／または、実行のスレッド内に存在することができ、コンポーネントは、１つのコンピューター上でローカライズし、かつ／または、２つ以上のコンピューター間で分散することができる。
【００２９】
[0041]さらに、特許請求された発明の対象は、この開示された発明の対象を実装するためにコンピューターを制御する、ソフトウェア、ファームウェア、ハードウェア、または、その任意の組合せを作成する、標準的なプログラミング技術、および／または、エンジニアリング技術を使用する、方法、装置、または、製作のアーティクルとして実装することができる。本出願で使用される場合、「製作のアーティクル」という用語は、任意のコンピューター可読のデバイス、担体、または媒体からアクセスできるコンピュータープログラムを包含するものとしている。もちろん、本特許請求された発明の対象の範囲または趣旨から離れることなく、本構成に多くの変更を加えることができる。
【００３０】
[0042]図６および以下の解説は、本明細書に説明する１つまたは複数の対応機能の実装形態を実行する、適切なコンピューティング環境の簡潔な一般的な説明を提供する。図６の操作環境は、適切な操作環境のうちの一例に過ぎず、使用の範囲、または、操作環境の機能性に関して、何らかの制限をもたらそうとするものではない。例示のコンピューティングデバイスは、パーソナルコンピューター、サーバーコンピューター、ハンドヘルドまたはラップトップデバイス、モバイルデバイス（携帯電話、携帯情報端末（ＰＤＡ）、メディアプレーヤー等など）マルチプロセッサシステム、家庭用電化製品、ミニコンピューター、メインフレームコンピューター、上記のシステムまたはデバイスのうちのいずれかを含む分散コンピューティング環境などを含むが、これらに限定されない。
【００３１】
[0043]必須ではないが、実装形態は、１つまたは複数のコンピューティングデバイスによって実行される「コンピューター可読命令」に一般的に照らして記述される。コンピューター可読命令は、コンピューター可読媒体（以下で説明する）を介して配付可能である。コンピューター可読命令は、特定のタスクを実行する、または特定の抽象的なデータ型を実行する、機能、オブジェクト、アプリケーションプログラミングインターフェース（ＡＰＩ）、データ構造など、プログラムモジュールとして実装することができる。通常、コンピューター可読命令の機能性は、様々な環境において所望のものとして結合し、または配付することができる。
【００３２】
[0044]図６は、本明細書において提供される１つまたは複数の実装形態を実装するように構成される、コンピューティングデバイス６１２を含むシステム６００の例を示す。１つの構成において、コンピューティングデバイス６１２は、少なくとも１つの処理ユニット６１６およびメモリ６１８を備える。コンピューティングデバイスの正確な構成およびタイプに基づいて、メモリ６１８は揮発性（たとえば、ＲＡＭなど）、不揮発性（たとえば、ＲＯＭ、フラッシュメモリ等など）、または、その両者のいくつかの組合せとすることができる。この構成は図６で破線６１４によって示されている。
【００３３】
[0045]他の実装形態において、デバイス６１２は、追加の機能、および／または、機能性を含むことができる。たとえば、デバイス６１２も、これだけには限らないが、磁気ストレージ、光学式ストレージなどを含む追加のストレージ（たとえば、取り外し可能な、および／または、取り外しできない）を含むことができる。こうした追加のストレージは、図６においてストレージ６２０によって示されている。一実装形態において、本明細書において提供される１つまたは複数の実装形態を実行するコンピューター可読命令は、ストレージ６２０中におくことができる。ストレージ６２０も、オペレーティングシステム、アプリケーションプログラムなどを実行する他のコンピューター可読命令を記憶することができる。コンピューター可読命令は、たとえば、処理ユニット６１６によって実行するために、メモリ６１８中にロードすることができる。
【００３４】
[0046]本明細書で使用する場合、「コンピューター可読媒体」という用語は、コンピューター記憶媒体を含む。コンピューター記憶媒体は、コンピューター可読命令またはその他のデータなど情報を記憶するために、任意の方法または技術によって実現される、揮発性および不揮発性媒体、取り外し可能および取り外し不能媒体を含む。メモリ６１８およびストレージ６２０は、コンピューター記憶媒体の例である。コンピューター記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）または他の光学式ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気ストレージデバイス、または、所望の情報を記憶するのに使用し、デバイス６１２によってアクセスすることができる任意の他の媒体を含むが、これらに限定されることはない。しかし、コンピューター記憶媒体は伝搬信号を含まない。むしろ、コンピューター記憶媒体は伝搬信号を排除する。任意のこうしたコンピューター記憶媒体をデバイス６１２の一部とすることができる。
【００３５】
[0047]デバイス６１２はまた、デバイス６１２が他のデバイスと通信できるようにする通信接続部６２６を含む。通信接続部６２６は、モデム、ネットワークインターフェースカード（ＮＩＣ）、統合ネットワークインターフェース、無線周波数送信機／受信機、赤外線ポート、ＵＳＢ接続部、または、コンピューティングデバイス６１２を他のコンピューティングデバイスに接続する他のインターフェースを含むが、これらに限定されることはない。通信接続部６２６は、有線接続または無線接続を含むことができる。通信接続部６２６は、通信媒体を送信し、かつ／または受信することができる。
【００３６】
[0048]「コンピューター可読媒体」という用語は、通信媒体を含むことができる。通信媒体は通常、搬送波または他のトランスポート機構など「変調データ信号」の形式で、コンピューター可読命令またはその他のデータを組み込み、かつ、任意の情報配信媒体を含む。「変調データ信号」という用語は、１つまたは複数の特徴的なセットを有し、または、情報を信号に符号化するといった方法で変更された信号を含むことができる。
【００３７】
[0049]デバイス６１２は、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイス、赤外線カメラ、ビデオ入力デバイス、および／または、任意の他の入力デバイスなど、入力デバイス６２４を含むことができる。１つまたは複数のディスプレイ、スピーカー、プリンター、および／または、任意の他の出力デバイスなど、出力デバイス６２２もデバイス６１２に含むことができる。入力デバイス６２４および出力デバイス６２２は、有線接続、無線接続、またはそれらの任意の組合せを介して、デバイス６１２に接続することができる。一実装形態において、別のコンピューティングデバイスからの入力デバイスまたは出力デバイスを、コンピューティングデバイス６１２用の入力デバイス６２４または出力デバイス６２２として使用することができる。
【００３８】
[0050]コンピューティングデバイス６１２のコンポーネントは、バスなど様々な相互接続によって、接続することができる。こうした相互接続は、ＰＣＩ  Ｅｘｐｒｅｓｓ、ユニバーサルシリアルバス（ＵＳＢ）、ｆｉｒｅｗｉｒｅ（ＩＥＥＥ１３９４）、光バス等など、周辺構成要素相互接続（ＰＣＩ）を含むことができる。別の実装形態において、コンピューティングデバイス６１２のコンポーネントは、ネットワークによって相互接続することができる。たとえば、メモリ６１８は、ネットワークによって相互接続された異なる物理的場所に配置された、多くの物理的メモリユニットを含むことができる。
【００３９】
[0051]当業者であれば、コンピューター可読命令を記憶するために利用されるストレージデバイスは、ネットワークを介して分散させることができることを理解できるであろう。たとえば、ネットワーク６２８を介してアクセス可能なコンピューティングデバイス６３０は、本明細書で提供される１つまたは複数の実装形態を実行するためのコンピューター可読命令を記憶することができる。コンピューティングデバイス６１２は、コンピューティングデバイス６３０にアクセスし、実行するためにコンピューター可読命令の一部またはすべてをダウンロードすることができる。あるいは、コンピューティングデバイス６１２は、必要に応じて、いくつかのコンピューター可読命令をダウンロードすることができ、または、一部の命令をコンピューティングデバイス６１２において実行し、一部の命令をコンピューティングデバイス６３０において実行することができる。
【００４０】
[0052]本明細書において、様々な実装形態の操作が提供される。一実装形態において、記述された操作のうちの１つまたは複数の操作が、１つまたは複数のコンピューター可読媒体に記憶されたコンピューター可読命令を構成することができる。この命令はコンピューティングデバイスによって実行されると、コンピューティングデバイスに記述された操作を実行させる。操作のうちの一部またはすべての操作が記述される順序は、これらの操作が必ず順序に依存すると意味していると理解すべきではない。代替の順序も、当業者から本説明の利益を有していると評価されるであろう。さらに、すべての操作が、本明細書において提供された各実装形態に、必ずしも存在するとは限らないことが理解されよう。また、一部の実装形態においては、すべての操作が必ずしも必要であるとは限らないことが理解されよう。
【００４１】
[0053]さらに、別段の定めがある場合を除くほか、「第１」、「第２」、および／または、似たような表現は、時間的な態様、空間的な態様、順序等を意味しようとするものではない。むしろ、こうした用語は、機能、要素、項目等に対する、識別名、名前等として、使用されているに過ぎない。たとえば、第１の物体および第２の物体は一般に、物体Ａおよび物体Ｂ、または、２つの異なる物体、または２つの同一のもしくは同じような物体に対応する。
【００４２】
[0054]さらに、「例示の」は、本明細書において、例、実例、例証等として役立つことを意図して使用しており、必ずしも有益なものとしてではない。本明細書で使用する場合、「ｏｒ」は、排他的「ｏｒ」よりはむしろ包含的「ｏｒ」を意味するように意図している。さらに、本出願において使用する「ａ」および「ａｎ」は一般に、別段の定めがある場合、または、単数形を指すとして文脈から明白な場合を除くほか、「１つまたは複数」を意味すると解釈される。また、ＡおよびＢのうちの少なくとも１つ、および／または、似たような表現は一般に、ＡまたはＢ、および／または、ＡとＢの両方を意味する。さらに、「ｉｎｃｌｕｄｅｓ」、「ｈａｖｉｎｇ」、「ｈａｓ」、「ｗｉｔｈ」、および／または、その変異体が、詳細な説明または特許請求の範囲のどちらででも使用される限りにおいては、こうした用語は、「ｃｏｍｐｒｉｓｉｎｇ」という用語に似た方法で包含的であるように意図されている。
【００４３】
[0055]また、開示は１つまたは複数の実装形態について示し、かつ説明してきたが、本明細書および添付の図面を読み、理解することにより、他の同業者には同等の変更形態および改変形態が思い浮かぶであろう。本開示にはこうしたすべての改変形態および変更形態が含まれ、以下の特許請求の範囲によってのみ限定される。先に説明したコンポーネント（たとえば、要素、リソース等）によって実行された様々な機能に特に関して、こうしたコンポーネントを説明するために使用した用語は、別段の指示がない限り、たとえ、開示された構造に構造的に同等ではないとしても、説明されたコンポーネントの指定された機能を実行する任意のコンポーネント（たとえば、機能的に同等なもの）に対応しようとするものである。さらに、本開示の特定の機能が、いくつかの実装形態のうちの１つのみに関して開示されていたとしても、任意の所与のアプリケーション、または特定のアプリケーションにとって所望であり、有利なように、こうした機能を、他の実装形態の１つまたは複数の他の機能と組み合わせることができる。
【図１】
0006633059.tif 000002
【図２Ａ】
0006633059.tif 000003
【図２Ｂ】
0006633059.tif 000004
【図２Ｃ】
0006633059.tif 000005
【図２Ｄ】
0006633059.tif 000006
【図２Ｅ】
0006633059.tif 000007
【図２Ｆ】
0006633059.tif 000008
【図２Ｇ】
0006633059.tif 000009
【図２Ｈ】
0006633059.tif 000010
【図３】
0006633059.tif 000011
【図４】
0006633059.tif 000012
【図５】
0006633059.tif 000013
【図６】
0006633059.tif 000014