JP6633059B2 - ファイルの評価評定 - Google Patents

ファイルの評価評定 Download PDF

Info

Publication number
JP6633059B2
JP6633059B2 JP2017515234A JP2017515234A JP6633059B2 JP 6633059 B2 JP6633059 B2 JP 6633059B2 JP 2017515234 A JP2017515234 A JP 2017515234A JP 2017515234 A JP2017515234 A JP 2017515234A JP 6633059 B2 JP6633059 B2 JP 6633059B2
Authority
JP
Japan
Prior art keywords
chunk
file
chunks
computer
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017515234A
Other languages
English (en)
Other versions
JP2017538181A (ja
JP2017538181A5 (ja
Inventor
シム,ロバート・アレクサンダー
サイファート,クリスチャン
ペンタ,アンソニー
ヘイバー,エリオット・ジェブ
カスペルキーヴィチ,トマシュ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2017538181A publication Critical patent/JP2017538181A/ja
Publication of JP2017538181A5 publication Critical patent/JP2017538181A5/ja
Application granted granted Critical
Publication of JP6633059B2 publication Critical patent/JP6633059B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)

Description

[0001]多くのアプリケーションおよびサービスは、コンピューティングデバイスにセキュリティを提供する。一例において、ウイルス対策サービスなどセキュリティサービスは、コンピューターを走査して、ウイルス、マルウェア、悪意のあるコードなどを有する「感染」ファイルを識別することができる。セキュリティサービスは、こうしたファイルを識別し、隔離し、かつ/または、除去することができる。セキュリティサービスはまた、他のコンピューティングデバイスをこうしたファイルから防御するために、こうしたファイルに関する情報を広めることができる。
[0002]この発明の概要は、下記の発明を実施するための形態においてさらに説明する、単純化された形式のいくつかのコンセプトを紹介するために設けられているものである。この発明の概要は、特許請求された発明の対象の主要な要因または本質的な特徴を明らかにしようとするものではなく、また特許請求された発明の対象の範囲を限定するために用いようとするものでもない。
[0003]とりわけ、本明細書では、評価評定用のファイルを取得するための1つまたは複数のシステム、および/または、技術が提供される。評価サービスは、クライアントから評価要求を受け取るように構成され、既知のファイルの評価をこうしたクライアントに返すことができる。クライアントが評価サービスにとって未知のファイルの評価を要求した場合、評価サービスは、そのファイルが評価サービスによって取得され、評価されるまでは、評価を返すことができないこととなる。なぜならば、このファイルは比較的大きくなる可能性があり、1つのクライアントからすべてのファイルを入手することは、リソース(たとえば、帯域幅)に大きな負荷をかけ、および/または、そうでなければ非効率を被る恐れがあるからである。したがって、本明細書で提供する評価サービスは、複数のクライアント(たとえば、ユーザー同意付き)から分散方式でファイルの一部を入手することができる。一例において、ユーザーは、こうしたファイルの評価評定を目的とするなど(たとえば、こうしたファイル関連データの収集、および/または、使用に関するプロンプトに応答する場合)、クライアントに関連したファイル、および/または、ファイルのチャンクを取得できるようにするためのオプトイン(opt−in)同意を提供するために、肯定的行動をとることができる。
[0004]一例において、評価要求は第1のクライアントから受け取ることができる。評価要求は、ファイルのファイル識別子を含むことができる(たとえば、タブレットデバイスクライアントなど第1のクライアントによってダウンロードされたビデオゲームアプリケーションと関連したビデオゲームファイルのハッシュ)。ファイルの評価に対応するファイル識別子に応答して、評価が第1のクライアントに提供される。ファイルが未知である(たとえば、ファイル識別子がファイル評価データ構造内の評価と一致しない)との判定に応答して、ファイルを分割して生成し得る1組のチャンクを識別することができる(たとえば、その1組のチャンクは、最初はチャンク識別子などチャンク用のプレースホルダーを含むことができる。というのは、評価サービスがクライアントからこうしたチャンクをまだ入手できていないからである)。ファイルの第1のチャンクは、第1のクライアントから取得することができる。ファイルの1つまたは複数の追加チャンクは、第2のクライアント(たとえば、ファイルの評価を要求する第2のクライアントに応答して)から取得された第2のチャンクなど、他のクライアントから取得することができる。第1のチャンク、第2のチャンク、および/または、他のチャンクは、評価をファイルに割り当てるために評定することができる(たとえば、ファイルの悪意のある程度、または悪意のない程度)。評価サービスは、第1のクライアント、および/または、他のクライアントに、評価を提供することができる。このようにして、評価サービスは、複数のクライアントから分散方式で、ファイルのチャンクを取得することが可能であり、ファイルを評定し、評価をファイルに割り当てるために、そのチャンクからこうしたファイルを再構成することができる。
[0005]上記および関連した目標を達成するために、以下の説明および付属の図面により、ある例示の態様および実装形態を説明する。これらは様々な方法のうちのほんの少しを示しており、その中で1つまたは複数の態様をとりあげている。本開示の他の態様、利点、および新規な機能は、付属の図面と合わせて考慮すれば、以下の詳細な説明から明らかとなるであろう。
[0006]評価評定用の例示のファイル取得方法を示すフローダイアグラムである。 [0007]評価要求が受け取られる、評価評定用の例示のファイル取得システムを示すコンポーネントブロック図である。 [0008]ファイルのチャンクが受け取られる、評価評定用の例示のファイル取得システムを示すコンポーネントブロック図である。 [0009]評価要求が受け取られる、評価評定用の例示のファイル取得システムを示すコンポーネントブロック図である。 [0010]ファイルのチャンクが受け取られる、評価評定用の例示のファイル取得システムを示すコンポーネントブロック図である。 [0011]1つまたは複数の将来の取得要求が1つまたは複数のクライアントに送られる、評価評定用の例示のファイル取得システムを示すコンポーネントブロック図である。 [0012]1つまたは複数の送信開始が受け取られる、評価評定用の例示のファイル取得システムを示すコンポーネントブロック図である。 [0013]送信開始が受け取られる、評価評定用の例示のファイル取得システムを示すコンポーネントブロック図である。 [0014]ファイルの評価が1つまたは複数のクライアントに提供される、評価評定用の例示のファイル取得システムを示すコンポーネントブロック図である。 [0015]評価評定を容易にする例示の方法を示すフローダイアグラムである。 [0016]データ取得の例示の方法を示すフローダイアグラムである。 [0017]本明細書で説明する1つまたは複数の対応機能を組み込むように構成された、プロセッサー実行可能命令を含むことができる、例示のコンピューター可読媒体の図である。 [0018]本明細書で説明する1つまたは複数の対応機能を実装することができる、例示のコンピューティング環境を示す図である。
[0019]次に特許請求された発明の対象を、図面を参照して説明するが、全体にわたって同一の参照番号は同一の要素を指すために使用されている。以下の説明において、説明のために、特許請求された発明の対象を理解できるようにするために、多くの具体的な詳細説明が記載されている。しかし、特許請求された発明の対象は、このような具体的な詳細説明がなくても実施できることは明白であろう。他の例において、特許請求された発明の対象を説明するのを容易にするために、構造およびデバイスがブロック図形式で説明されている。
[0020]本明細書において、評価評定用のファイル取得のための1つまたは複数の技術、および/または、システムが提供される。評価サービスは、クライアントに、悪意のある程度、または悪意のない程度といったファイル(たとえば、アプリケーション、文書、ビデオゲーム、ビデオ、写真など)の評価を提供するように構成することができる。評価サービスは、評価評定用の新しいファイルを、インターネットソースから発見し、入手することによって発見することができる。しかし、一部のファイルは、評価サービスにとって未知の認証資格情報の背後に記憶されており、および/または、評価サービスにとって未知のURAを有するソース(たとえば、個人用ラップトップ上のファイル)によってホストされているため、利用することができない。したがって、評価サービスは、評価サービスにとって未知の新しいファイルを、新しいファイルに対する評価要求を受け取ることによって(たとえば、評価サーバーが以前に遭遇したことがない、ファイルのSHA256ハッシュなど、ファイルのファイル識別子を含む評価要求を受け取ることに基づいて)識別することができる。評価サービスは、新しいファイルを分割して生成し得る1組のチャンクを識別することができる(たとえば、新しいファイルは比較的大きくなることがあり、したがって、1つのクライアントから入手することは実用的ではない)。評価サービスは、複数のクライアント(たとえば、ユーザー同意付き)から、分散方式で(たとえば、多くのクライアントが、ファイルの一部を評価サービスなど1つのソースに提供する、分散されたアップロード構成に従って)、新しいファイルのチャンクを入手することができる。一例において、ユーザーは、こうしたファイルの評価評定を目的とするなど(たとえば、こうしたファイル関連データの収集、および/または、使用に関するプロンプトに応答する場合)、クライアントデバイスに関連したファイル、および/または、ファイルのチャンクを取得できるようにするためのオプトイン同意を提供するために、肯定的行動をとることができる。評価サービスは、新しいファイルをチャンクから再構成することができ、評価を新しいファイルに割り当てることができる(たとえば、新しいファイルの同一性(たとえば、新しいファイルのSHA256ハッシュを確認する)を確認後)。このようにして、評価サービスは、複数のクライアントから分散方式でファイルを入手することができる。
[0021]評価評定用のファイル取得の一実装形態が、図1の例示の方法100によって示されている。102において、この方法は開始する。104において、第1のクライアントから評価要求を受け取ることができる。評価要求は、ファイルのファイル識別子を含むことができる。たとえば、Daveというユーザーと関連付けられたビデオゲームコンソールクライアントは、インターネットソースからレーシングビデオゲームをダウンロードすることができる。レーシングビデオゲームと関連したレーシングビデオゲームファイルのハッシュを、ファイル識別子として生成することができる。レーシングビデオゲームファイルが、安全か、悪意があるかどうか判定するために、評価要求をビデオゲームコンソールクライアントから評価サービスに送ることができる。
[0022]評価サービスは、ファイル識別子を使用して、そのファイルに対する評価が存在するかどうか判定するために、ファイル評価データ構造への問い合わせをすることができる。任意のファイルは一般に、任意のコンピューティングデバイス(たとえば、SHA256ハッシュ)上で普遍的に計算可能なコンパクト識別子など、一意の識別子によって識別可能であることを理解されたい。106において、ファイルの評価に対応するファイル識別子に応答して、評価を第1のクライアントに提供することができる(たとえば、ファイル識別子に対応するファイル評価データ構造中に入力がある)。108におけるファイルが未知であるとの判定に応答して、110において、ファイルを分割して生成し得る1組のチャンクを識別することができる(たとえば、その1組のチャンクは、最初はチャンク識別子などチャンク用のプレースホルダーを含むことができる。というのは、評価サービスがクライアントからこうしたチャンクをまだ入手できていないからである)。一例において、レーシングビデオゲームファイルは、4GBのデータを含むことが可能であり、それにより、100個の4MBのチャンクを、レーシングビデオゲームファイルを分割して生成し得る1組のチャンクとして、識別することができる(たとえば、チャンクのサイズは、そのファイルを含むクライアントの潜在数、こうしたクライアントの帯域幅、クライアントのデータプランタイプ、クライアントがwifiに接続しているかどうか、および/または、他の様々な考慮事項など、様々な基準に基づいてセットすることができる)。別の例において、1組のチャンクは1つまたは複数の重複チャンクを指定することができる(たとえば、第1のチャンクは第2のチャンクに関して重複したファイルデータを含むことができる)。1組のチャンクを識別する一例において、その1組のチャンクに基づいて配付曲線を生成することができる。配付曲線は、クライアントから取得することとなるチャンクの配付を指定することができる。たとえば、配付には、ランダム配付、連続配付、秩序配付、重複配付、秩序重複配付、優先順位付け配付(たとえば、コードセグメントなど、どのチャンクを入手するか、および/または、どのような順序でこうしたチャンクを入手するかの優先順位付け)、または任意の他のタイプの配付がある。
[0023]一例において、取得の優先順位を1組のチャンク中の各チャンクに割り当てることができる。たとえば、第1の取得優先順位を第1のチャンクに、第2の取得優先順位を第2のチャンクに割り当てることができる。第1のチャンクが第2のチャンクよりも高い評価評定関連性を有するとの判定に基づいて、第1の取得優先順位を第2の取得優先順位よりも高くすることができる(たとえば、第1のチャンクは、悪意のあることを示す実行可能ファイルのデータまたはコードセグメントに一致し、一方、第2のチャンクは、悪意のあるファイルと安全なファイルの両方に共通のデータまたはコードセグメントを含む場合がある)。一例において、インジケーターを1組のチャンク中の各チャンクに割り当てることができる。チャンクがクライアントから評価サービスによって受け取られると、受け取られたチャンクに対するインジケーターを取得状態にセットすることができる。多くのチャンクのコピーを様々なクライアントから取得されることになる場合には、インジケーターを増加、減少、または変更して、チャンクのコピーが受け取られたことを示す。一例において、チャンク識別子(たとえばハッシュ)を、1組のチャンク中の各チャンクに対して生成することができる。一例において、多くのファイルを1つのチャンクと関連付けることが可能であり(たとえば、I/Oライブラリーなど1つの組込みライブラリーを多くのファイルで共有可能である)、それにより、チャンク識別子を使用してこうしたファイルにわたってチャンクを追跡することが可能となる(たとえば、それにより、チャンクは効率的に識別され、かつ/または、チャンクを共有するように知られたファイルの場所から入手することができる)。
[0024]112において、ファイルの第1のチャンクを第1のクライアントから取得することができる。一例において、第1のクライアントの操作のコンテキストを識別することができる(たとえば、モバイルデバイスクライアントが、wifiネットワークに接続可能である、充電中である、アイドル状態である、等)。第1のクライアントからの第1のチャンクの取得は、アップロードポリシーに対応する操作のコンテキストに基づいて、スケジュール化(たとえばトリガーされる)することができる(たとえば、第1のチャンクは、第1のクライアントがwifiネットワークに接続するとき、第1のクライアントから取得することができるが、たとえばwifiネットワーク接続アップロードポリシーに基づいて、操作アクティビティを実行することはほとんどない)。一例において、第1のチャンクを1つまたは複数の追加のクライアントから、第1のチャンクに対して冗長取得を指定する重複配付に基づいて取得することができる。一例において、第1のクライアントからの第1のチャンクを、異なるクライアントからの第1のチャンクの第2のインスタンスと比較して、第1のクライアントからの第1のチャンクが、改ざんされていない状態で受け取られたことを確認することができる。114において、ファイルの第2のチャンクを第2のクライアントから取得することができる(たとえば、Maryというユーザーと関連付けられたラップトップデバイスは、レーシングビデオゲームファイル用、または、第2のチャンクのチャンク識別子と関連付けられた任意の他のファイル用のファイル識別子を含む評価要求を送ることができ、この評価要求は、結局、ラップトップデバイスからの第2のチャンクを求める要求となるであろう)。
[0025]一例において、1組のチャンク中の1つまたは複数の追加チャンクを、様々なクライアントから取得することができる。一例において、ファイルのファイルレイアウトを決定することができる。配付および優先順位付けアルゴリズムを使用して、コードセグメントなどチャンクを優先順位付けして、クライアントから取得することができる(たとえば、緊急性、いくつかの比較演算子、完全性への「最善努力」、そこから取ってくるいくつかのクライアントなどに基づいて)。一例において、ファイルの第3のチャンクの将来の取得を、第1のクライアント、第2のクライアント、および/または、別のクライアント(たとえば、取得しきい値を上回る第3のチャンクを所有する可能性を有するクライアント)からスケジュール化することができる。一例において、ファイルのチャンクの送信開始をクライアントから受け取ることができる(たとえば、クライアントは送信開始を無作為に送ることができる)。以前に評価サービスによって取得されたチャンクに応答して(たとえば、チャンクのコピーのしきい値数は、評価サービスによって取得された可能性がある)、チャンクの送信が取り消される場合があり、これにより不必要な帯域幅の利用を削減することができる。チャンク、または、チャンクのコピーのしきい値数はまだ取得されていないとの判定に応答して、チャンクの送信を受け取ることができる。一例において、ファイルの評価を決定し、かつ/または、更新するために、チャンクを評定することができる。
[0026]第1のクライアントからの評価要求を処理する一例において、ファイルは既知ではあるが、ファイルのすべてのチャンクが評価サービスに利用可能であるとはいえない場合がある。評価サービスに利用できないチャンクは、第1のクライアントから取得することができる。このようにして、ファイルの1つまたは複数のチャンクを、配付方法に従って様々なクライアントから取得することができる。116において、第1のチャンク、第2のチャンク、および/または、他のチャンクを評定して、ファイルに評価を割り当てることができる。評価は第1のクライアント、および/または、評価が決定できるようになった後に評価サービスにアクセスする後続のクライアントなど、他のクライアントに提供することができる(たとえば、チャンクのしきい値数が評価に利用可能なとき)。一例において、評価は、事前に計算した値でもよく、または、ファイルについての様々な評価情報に基づいて、実行中に動的に作成されてもよい。118において、この方法は終了する。
[0027]図2A〜図2Hは、評価評定用のファイル取得のためのシステム201の例を示す。図2Aは、評価サービス202を含むシステム201の一例200を示す。評価サービス202は、第1のクライアント210、第2のクライアント212、第3のクライアント214、および/または、クライアント216など他のクライアントといったクライアントに、ファイルの評価を提供するように構成することができる。たとえば、評価はファイルの悪意のある程度、または悪意のない程度を示すことができる。一例において、評価要求206を第1のクライアント210から受け取ることができる(たとえば、Daveというユーザーによって所有されたスマートフォンなど第1のクライアント210は、アプリダウンロードソースからダウンロードされたレストランアプリに対応するファイル(X)を含むことができる)。評価要求206は、ファイル(X)のファイル識別子208を含むことができる。評価サービス202は、ファイル識別子208を使用して、ファイル(X)の評価が既知かどうか判定するために、ファイル評価データ構造204への問い合わせをするように構成することができる。ファイル(X)が評価サービス202にとっては未知であり、評価を有しない可能性があるので、ファイル(X)を分割して生成し得る1組のチャンク218を識別することができる(たとえば、1組のチャンク218は、最初はチャンク識別子などチャンク用のプレースホルダーを含むことができる。というのは、評価サービス202がクライアントからこうしたチャンクをまだ入手できていないからである)。たとえば、1組のチャンク218は、チャンク(A)用のチャンク(A)識別子、チャンク(B)用のチャンク(B)識別子、チャンク(C)用のチャンク(C)識別子、チャンク(D)用のチャンク(D)識別子、チャンク(E)用のチャンク(E)識別子、チャンク(F)用のチャンク(F)識別子、および/または、他のチャンクのチャンク識別子(たとえばハッシュ)を含むことができる。
[0028]図2Bは、配付曲線221を生成し、かつ/または、1組のチャンク218を順序付けて、順序付けられた1組のチャンク218aを作成する例220を示す。一例において、評価サービス202は、1組のチャンク218に基づいて配付曲線221(たとえば、様々なクライアントからチャンクを入手するためのスキーム)を生成することができる。配付曲線221は、クライアントから取得されることになるチャンクの配付を指定することができる。一例において、配付曲線221は、チャンクを入手する順序を示すことができる(たとえば、比較的高い評価評定関連性を有するチャンクは、他のチャンクよりも高く順序付け/ランク付けされる場合がある)。たとえば、チャンク(C)は取得第1位に順序付けることができ、チャンク(F)は取得第2位に順序付けることができ、チャンク(E)は取得第3位に順序付けることができる、等々である。一例において、チャンク(C)222は、第1のクライアント210から取得することができる。チャンク(C)インジケーター224は、評価サービス202がチャンク(C)222を取得したことに基づいて、取得状態にセットすることができる。
[0029]図2Cは、第3のクライアント214から評価要求232を受け取る評価サービス202の例230を示す。評価要求232は、ファイル(X)用のファイル識別子208を含むことができる(たとえば、Jillによって所有されたタブレットデバイスなど第3のクライアント214は、アプリダウンロードソースからダウンロードされたレストランアプリに対応するファイル(X)を含むことができる)。評価サービス202は、ファイル識別子208を使用して、ファイル(X)の評価が既知かどうか判定するために、ファイル評価データ構造204への問い合わせをするように構成することができる。評価サービス202は、ファイル(X)は既知であり、まだ評価を有しておらず、ファイル(X)のすべてのチャンクが利用可能であるとはいえないということを判定することができる。したがって、評価サービス202は、図2Dの例240に示したように、第3のクライアント214からチャンク(F)242を入手することができる。一例において、第3のクライアント214は、低いアクティビティ状態中にチャンク(F)242を送ることができる(たとえば、タブレットデバイスがwifiに接続されている間、充電中、および/または、チャンク(F)242を評価サービス202に送る利用可能なコンピューティングリソースを有する間)。チャンク(F)インジケーター244は、評価サービス202がチャンク(F)242を取得したことに基づいて、取得状態にセットすることができる。
[0030]図2Eは、ファイル(X)のチャンクを将来取得するスケジューリングの例250を示す。評価サービス202は、順序付けられた1組のチャンク218aを評定して、チャンク(E)、チャンク(D)、チャンク(B)、チャンク(A)など、ファイル(X)の1つまたは複数の利用できないチャンクを識別することができる(たとえば、評価サービス202によってまだ取得されていないチャンク)。評価サービス202は、1つまたは複数の利用できないチャンク求めて、第1のクライアント210に関する将来の取得252、および、第2のクライアント212に関する将来の取得254をスケジュール化することができる。
[0031]図2Fは、クライアントから1つまたは複数の送信開始を受け取る評価サービス202の例260を示す。第1のクライアント210は、チャンク(F)の第1の送信開始262を評価サービス202に送ることができる。評価サービス202がチャンク(F)は以前に取得されたと判定したことに応答して(たとえば、評価サービス202は、チャンク(F)インジケーター244が取得状態にセットされていると判定することができる)、評価サービス202は、チャンク(F)の送信を取り消す266ことができる。第2のクライアント212は、チャンク(E)の第2の送信開始264を評価サービス202に送ることができる。評価サービス202がチャンク(E)はまだ取得されていないと判定したことに応答して、評価サービス202は、チャンク(E)の送信を受け取ることができる。チャンク(E)インジケーター268は、評価サービス202がチャンク(E)を取得したことに基づいて、取得状態にセットすることができる。たとえば、取得状態は、チャンク(E)の2つのインスタンスのうちの1つのインスタンスが、入手されたことを示すことができる(たとえば、配付曲線221は、チャンク(E)の2つのインスタンスが2つの異なるクライアントから入手されることになるということを示すことができる)。
[0032]図2Gは、チャンク(E)の第2のインスタンスの送信272を受け取る評価サービス202の例270を示す。たとえば、配付曲線221は、確認目的などでチャンク(E)の冗長取得を指定する重複配付を含むことができる。したがって、評価サービス202は、チャンク(E)の2つのインスタンスのうちの1つのインスタンスが取得されたことを判定するために、順序付けられた1組のチャンク218aを評定することができる(たとえば、図2Fの例260)。このようにして、評価サービス202は、チャンク(E)の第2のインスタンスの送信272を受け取ることができる。チャンク(E)インジケーター268は、取得状態がチャンク(E)の2つのインスタンスのうちの2つのインスタンスが入手されたこと示すために、更新することができる。
[0033]図2Hは、ファイル(X)の評価表示チャンクのしきい値数を取得する評価サービス202の例280を示す。たとえば、チャンク(C)、チャンク(F)、チャンク(E)の2つのインスタンス、および、チャンク(D)は、様々なクライアントから入手されている場合がある。評価サービス202は、チャンク(B)およびチャンク(A)をまだ取得していない場合がある。しかし、チャンク(B)およびチャンク(A)は、ファイル(X)に対して比較的低い評価の指標を提供することができる。したがって、評価サービス202は、ファイル(X)の評価表示チャンクのしきい値数が取得されたことを判定することができ(たとえば、チャンク(C)、チャンク(F)、チャンク(E)の2つのインスタンス、および、チャンク(D))、それによりこうしたチャンクを評価して、安全性83%という評価282をファイル(X)に割り当てることができる。評価282を、第1のクライアント210、および/または、他のクライアントに提供する284ことができる。
[0034]評価評定を容易にする一実装形態が、図3の例示の方法300によって示されている。302において、この方法は開始する。304において、クライアントに関連したファイル用のファイル識別子を生成する。たとえば、クライアントデバイスは、ソーシャルネットワークアプリケーションに関連したソーシャルネットワークファイルを入手することができる。クライアントデバイスは、ハッシュなど、ソーシャルネットワークファイル用のソーシャルネットワークファイル識別子を生成することができる。306において、評価要求を評価サービスに送ることができる(たとえば、クライアントデバイスから)。評価要求はファイル識別子を含むことができる。ファイルに対する評価が未知であるという表示は、評価サービスから受け取ることができる。308において、ファイルの第1のチャンクを求める要求を評価サービスから受け取ることができる(たとえば、ソーシャルネットワークファイルの4mbのチャンク)。310において、第1のチャンクを評価評定のために評価サービスに提供することができる。
[0035]一例において、第2のチャンクを、クライアントの低いアクティビティ期間に基づいて、評価評定のために評価サービスに提供することができる(たとえば、クライアントデバイスをwifiネットワークに接続して、ソーシャルネットワークファイルの4mbの第2のチャンクを送るための利用可能な帯域幅を入手することができる)。別の例において、将来の取得要求を評価サービスから受け取ることができる。将来の取得要求は、取得期間内に、クライアントからファイルの第3のチャンクを要求することができる(たとえば、将来の取得要求は5日以内に失効する場合がある)。この第3のチャンクは、取得期間内に評価サービスに提供することができる。
[0036]ファイルの評価は、評価サービスから受け取ることができる。この評価は、クライアントからの第1のチャンクの評価、および、他のクライアントからの評価サービスによって入手された1つまたは複数のチャンクの評価に基づくことができる。312において、この方法は終了する。
[0037]データ取得の一実装形態が、図4の例示の方法400によって示されている。402において、この方法は開始する。データは、配付アップロードプロセスなどに従って、多くのクライアントからの配付方法で取得される。404において、データ(たとえば、診断目的で使用されるイベントログコレクション、多くのクライアントの間で共有可能なクラッシュ情報を評定するのに使用されるクラッシュダンプデータなど)を分割して生成し得る1組のチャンクを識別することができる。406において、データの第1のチャンクを第1のクライアントから取得することができる(たとえば、第1のクライアントは、クラッシュが発生したことを示すことができ、これにより、このクラッシュに関連したクラッシュダンプ情報の第1の部分をアップロードすることができる)。408において、データの第2のチャンクを第2のクライアントから取得することができる(たとえば、第2のクライアントは、第1のクライアントのクラッシュと同様なクラッシュが発生したことを示すことができ、これにより、このクラッシュに関連したクラッシュダンプ情報の第2の部分をアップロードすることができる)。410において、第1のチャンク、第2のチャンク、および/または、1つまたは複数の他のクライアントから入手された他のチャンクを評定して、データを評定することができる(たとえば、クラッシュダンプ情報のチャンクを組合せ、かつ評定して、第1のクライアントおよび第2のクライアントのクラッシュの原因を突き止めることができる)。412において、この方法は終了する。
[0038]さらに別の実装形態は、本明細書に述べた1つまたは複数の技術を実装するように構成された、プロセッサー実行可能命令を含むコンピューター可読媒体を備える。コンピューター可読媒体、または、コンピューター可読デバイスの例示の実装形態が、図5に示されており、実装形態500は、CD−R、DVD−R、フラッシュドライブ、ハードディスクドライブのプラターなど、その上にコンピューター可読データ506をエンコードするコンピューター可読媒体508を含む。0または1のうちの少なくとも1つを含むバイナリデータなど、このコンピューター可読データ506は、同様に、本明細書に説明した1つまたは複数の原理に従って動作するように構成された1組のコンピューター命令504を含む。いくつかの実装形態において、プロセッサー実行可能コンピューター命令504は、たとえば、図1の例示の方法100のうちの少なくとも一部、図3の例示の方法300のうちの少なくとも一部、および/または、図4の例示の方法400のうちの少なくとも一部などの、方法502を実行するように構成される。いくつかの実装形態において、プロセッサー実行可能命令504は、たとえば、図2A〜図2Hの例示のシステム201のうちの少なくとも一部などの、システムを実装するように構成される。こうしたコンピューター可読媒体の多くは、当業者によって考案され、本明細書に述べた技術に従って動作するように構成されている。
[0039]本発明の対象を構造的機能、および/または、方法論的振る舞いに特有な言語で説明してきたが、添付の特許請求の範囲で定義された本発明の対象は、必ずしも先に説明した特定の機能または振る舞いに限定されるものではないことを理解されたい。むしろ、先に説明した特定の機能または振る舞いは、少なくとも特許請求の範囲の一部において実装形態の例示的形式として開示される。
[0040]本出願で使用される場合、「コンポーネント」、「モジュール」「システム」、「インターフェース」、および/または、同類の用語は一般に、コンピューター関連エンティティ、いずれかのハードウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアを指すものとしている。たとえば、コンポーネントは、プロセッサー上で実行するプロセス、プロセッサー、オブジェクト、実行ファイル、実行のスレッド、プログラム、および/または、コンピューターとすることができるが、それらには限定されない。説明として、コントローラー上で実行するアプリケーション、および、そのコントローラーの両方ともコンポーネントとすることができる。1つまたは複数のコンポーネントが、プロセス、および/または、実行のスレッド内に存在することができ、コンポーネントは、1つのコンピューター上でローカライズし、かつ/または、2つ以上のコンピューター間で分散することができる。
[0041]さらに、特許請求された発明の対象は、この開示された発明の対象を実装するためにコンピューターを制御する、ソフトウェア、ファームウェア、ハードウェア、または、その任意の組合せを作成する、標準的なプログラミング技術、および/または、エンジニアリング技術を使用する、方法、装置、または、製作のアーティクルとして実装することができる。本出願で使用される場合、「製作のアーティクル」という用語は、任意のコンピューター可読のデバイス、担体、または媒体からアクセスできるコンピュータープログラムを包含するものとしている。もちろん、本特許請求された発明の対象の範囲または趣旨から離れることなく、本構成に多くの変更を加えることができる。
[0042]図6および以下の解説は、本明細書に説明する1つまたは複数の対応機能の実装形態を実行する、適切なコンピューティング環境の簡潔な一般的な説明を提供する。図6の操作環境は、適切な操作環境のうちの一例に過ぎず、使用の範囲、または、操作環境の機能性に関して、何らかの制限をもたらそうとするものではない。例示のコンピューティングデバイスは、パーソナルコンピューター、サーバーコンピューター、ハンドヘルドまたはラップトップデバイス、モバイルデバイス(携帯電話、携帯情報端末(PDA)、メディアプレーヤー等など)マルチプロセッサシステム、家庭用電化製品、ミニコンピューター、メインフレームコンピューター、上記のシステムまたはデバイスのうちのいずれかを含む分散コンピューティング環境などを含むが、これらに限定されない。
[0043]必須ではないが、実装形態は、1つまたは複数のコンピューティングデバイスによって実行される「コンピューター可読命令」に一般的に照らして記述される。コンピューター可読命令は、コンピューター可読媒体(以下で説明する)を介して配付可能である。コンピューター可読命令は、特定のタスクを実行する、または特定の抽象的なデータ型を実行する、機能、オブジェクト、アプリケーションプログラミングインターフェース(API)、データ構造など、プログラムモジュールとして実装することができる。通常、コンピューター可読命令の機能性は、様々な環境において所望のものとして結合し、または配付することができる。
[0044]図6は、本明細書において提供される1つまたは複数の実装形態を実装するように構成される、コンピューティングデバイス612を含むシステム600の例を示す。1つの構成において、コンピューティングデバイス612は、少なくとも1つの処理ユニット616およびメモリ618を備える。コンピューティングデバイスの正確な構成およびタイプに基づいて、メモリ618は揮発性(たとえば、RAMなど)、不揮発性(たとえば、ROM、フラッシュメモリ等など)、または、その両者のいくつかの組合せとすることができる。この構成は図6で破線614によって示されている。
[0045]他の実装形態において、デバイス612は、追加の機能、および/または、機能性を含むことができる。たとえば、デバイス612も、これだけには限らないが、磁気ストレージ、光学式ストレージなどを含む追加のストレージ(たとえば、取り外し可能な、および/または、取り外しできない)を含むことができる。こうした追加のストレージは、図6においてストレージ620によって示されている。一実装形態において、本明細書において提供される1つまたは複数の実装形態を実行するコンピューター可読命令は、ストレージ620中におくことができる。ストレージ620も、オペレーティングシステム、アプリケーションプログラムなどを実行する他のコンピューター可読命令を記憶することができる。コンピューター可読命令は、たとえば、処理ユニット616によって実行するために、メモリ618中にロードすることができる。
[0046]本明細書で使用する場合、「コンピューター可読媒体」という用語は、コンピューター記憶媒体を含む。コンピューター記憶媒体は、コンピューター可読命令またはその他のデータなど情報を記憶するために、任意の方法または技術によって実現される、揮発性および不揮発性媒体、取り外し可能および取り外し不能媒体を含む。メモリ618およびストレージ620は、コンピューター記憶媒体の例である。コンピューター記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)または他の光学式ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気ストレージデバイス、または、所望の情報を記憶するのに使用し、デバイス612によってアクセスすることができる任意の他の媒体を含むが、これらに限定されることはない。しかし、コンピューター記憶媒体は伝搬信号を含まない。むしろ、コンピューター記憶媒体は伝搬信号を排除する。任意のこうしたコンピューター記憶媒体をデバイス612の一部とすることができる。
[0047]デバイス612はまた、デバイス612が他のデバイスと通信できるようにする通信接続部626を含む。通信接続部626は、モデム、ネットワークインターフェースカード(NIC)、統合ネットワークインターフェース、無線周波数送信機/受信機、赤外線ポート、USB接続部、または、コンピューティングデバイス612を他のコンピューティングデバイスに接続する他のインターフェースを含むが、これらに限定されることはない。通信接続部626は、有線接続または無線接続を含むことができる。通信接続部626は、通信媒体を送信し、かつ/または受信することができる。
[0048]「コンピューター可読媒体」という用語は、通信媒体を含むことができる。通信媒体は通常、搬送波または他のトランスポート機構など「変調データ信号」の形式で、コンピューター可読命令またはその他のデータを組み込み、かつ、任意の情報配信媒体を含む。「変調データ信号」という用語は、1つまたは複数の特徴的なセットを有し、または、情報を信号に符号化するといった方法で変更された信号を含むことができる。
[0049]デバイス612は、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイス、赤外線カメラ、ビデオ入力デバイス、および/または、任意の他の入力デバイスなど、入力デバイス624を含むことができる。1つまたは複数のディスプレイ、スピーカー、プリンター、および/または、任意の他の出力デバイスなど、出力デバイス622もデバイス612に含むことができる。入力デバイス624および出力デバイス622は、有線接続、無線接続、またはそれらの任意の組合せを介して、デバイス612に接続することができる。一実装形態において、別のコンピューティングデバイスからの入力デバイスまたは出力デバイスを、コンピューティングデバイス612用の入力デバイス624または出力デバイス622として使用することができる。
[0050]コンピューティングデバイス612のコンポーネントは、バスなど様々な相互接続によって、接続することができる。こうした相互接続は、PCI Express、ユニバーサルシリアルバス(USB)、firewire(IEEE1394)、光バス等など、周辺構成要素相互接続(PCI)を含むことができる。別の実装形態において、コンピューティングデバイス612のコンポーネントは、ネットワークによって相互接続することができる。たとえば、メモリ618は、ネットワークによって相互接続された異なる物理的場所に配置された、多くの物理的メモリユニットを含むことができる。
[0051]当業者であれば、コンピューター可読命令を記憶するために利用されるストレージデバイスは、ネットワークを介して分散させることができることを理解できるであろう。たとえば、ネットワーク628を介してアクセス可能なコンピューティングデバイス630は、本明細書で提供される1つまたは複数の実装形態を実行するためのコンピューター可読命令を記憶することができる。コンピューティングデバイス612は、コンピューティングデバイス630にアクセスし、実行するためにコンピューター可読命令の一部またはすべてをダウンロードすることができる。あるいは、コンピューティングデバイス612は、必要に応じて、いくつかのコンピューター可読命令をダウンロードすることができ、または、一部の命令をコンピューティングデバイス612において実行し、一部の命令をコンピューティングデバイス630において実行することができる。
[0052]本明細書において、様々な実装形態の操作が提供される。一実装形態において、記述された操作のうちの1つまたは複数の操作が、1つまたは複数のコンピューター可読媒体に記憶されたコンピューター可読命令を構成することができる。この命令はコンピューティングデバイスによって実行されると、コンピューティングデバイスに記述された操作を実行させる。操作のうちの一部またはすべての操作が記述される順序は、これらの操作が必ず順序に依存すると意味していると理解すべきではない。代替の順序も、当業者から本説明の利益を有していると評価されるであろう。さらに、すべての操作が、本明細書において提供された各実装形態に、必ずしも存在するとは限らないことが理解されよう。また、一部の実装形態においては、すべての操作が必ずしも必要であるとは限らないことが理解されよう。
[0053]さらに、別段の定めがある場合を除くほか、「第1」、「第2」、および/または、似たような表現は、時間的な態様、空間的な態様、順序等を意味しようとするものではない。むしろ、こうした用語は、機能、要素、項目等に対する、識別名、名前等として、使用されているに過ぎない。たとえば、第1の物体および第2の物体は一般に、物体Aおよび物体B、または、2つの異なる物体、または2つの同一のもしくは同じような物体に対応する。
[0054]さらに、「例示の」は、本明細書において、例、実例、例証等として役立つことを意図して使用しており、必ずしも有益なものとしてではない。本明細書で使用する場合、「or」は、排他的「or」よりはむしろ包含的「or」を意味するように意図している。さらに、本出願において使用する「a」および「an」は一般に、別段の定めがある場合、または、単数形を指すとして文脈から明白な場合を除くほか、「1つまたは複数」を意味すると解釈される。また、AおよびBのうちの少なくとも1つ、および/または、似たような表現は一般に、AまたはB、および/または、AとBの両方を意味する。さらに、「includes」、「having」、「has」、「with」、および/または、その変異体が、詳細な説明または特許請求の範囲のどちらででも使用される限りにおいては、こうした用語は、「comprising」という用語に似た方法で包含的であるように意図されている。
[0055]また、開示は1つまたは複数の実装形態について示し、かつ説明してきたが、本明細書および添付の図面を読み、理解することにより、他の同業者には同等の変更形態および改変形態が思い浮かぶであろう。本開示にはこうしたすべての改変形態および変更形態が含まれ、以下の特許請求の範囲によってのみ限定される。先に説明したコンポーネント(たとえば、要素、リソース等)によって実行された様々な機能に特に関して、こうしたコンポーネントを説明するために使用した用語は、別段の指示がない限り、たとえ、開示された構造に構造的に同等ではないとしても、説明されたコンポーネントの指定された機能を実行する任意のコンポーネント(たとえば、機能的に同等なもの)に対応しようとするものである。さらに、本開示の特定の機能が、いくつかの実装形態のうちの1つのみに関して開示されていたとしても、任意の所与のアプリケーション、または特定のアプリケーションにとって所望であり、有利なように、こうした機能を、他の実装形態の1つまたは複数の他の機能と組み合わせることができる。

Claims (20)

  1. 1つまたは複数のプロセッサを含むコンピュータシステムで実施される、ファイル取得および評価評定のための方法であって、
    第1のコンピュータクライアントから、特定のファイルの一意のファイル識別子を含む第1の評価要求を受け取るステップと、
    少なくとも第1の評価要求を受け取ることに基づいて、
    前記特定のファイルの前記一意のファイル識別子に対応する評価が存在しないと判定するステップと、
    少なくとも前記特定のファイルの前記一意のファイル識別子に対応する評価が存在しないと判定したことに基づいて、
    前記特定のファイルを分割して得られる1組のチャンクを生成するステップであって、各チャンクは前記特定のファイルの一部を含む、ステップと、
    前記第1のコンピュータクライアントから前記1組のチャンクの第1のチャンクを要求するステップと、および
    前記第1のコンピュータクライアントから、前記1組のチャンクの第1のチャンクを受け取るステップと、
    前記第1の評価要求を受け取った後、第2のコンピュータクライアントから、前記特定のファイルの一意のファイル識別子を含む第2の評価要求を受け取るステップと、
    少なくとも前記2の評価要求を受け取ることに基づいて、および少なくとも前記ファイルを分割して得られる前記1組のチャンクが生成されたことに基づいて、
    前記第2のコンピュータクライアントから前記1組のチャンクの第2のチャンクを要求するステップと、そして
    前記第2のコンピュータクライアントから前記1組のチャンクの前記第2のチャンクを受け取るステップと、そして
    少なくとも前記第1のコンピュータクライアントから前記1組のチャンクの前記第1のチャンクを受け取ることに基づいて、および少なくとも前記第2のコンピュータクライアントから前記1組のチャンクの前記第2のチャンクを受け取ることに基づいて、前記特定のファイルに対する特定の評価を計算するステップと
    を含む方法。
  2. 前記1組のチャンクに基づいて、クライアントから取得されることになる前記1組のチャンク内のチャンクの配付を指定する配付曲線を生成するステップをさらに含む、請求項1に記載の方法。
  3. 前記配付が、ランダム配付、連続配付、秩序配付、重複配付、優先順位付け配付、または、秩序重複配付のうちの少なくとも1つの配付を含む、請求項2に記載の方法。
  4. 前記第1のチャンクに対して冗長取得を指定する重複配付に基づいて、第3のコンピュータクライアントから前記第1のチャンクを取得するステップをさらに含む、請求項1に記載の方法。
  5. 前記第1のチャンクが、前記第2のチャンクに対して重複ファイルデータを含む、請求項1に記載の方法。
  6. 前記1組のチャンクを生成するステップが、取得の優先順位を前記1組のチャンク内の各チャンクに割り当てるステップを含む、請求項1に記載の方法。
  7. 前記取得の優先順位を割り当てるステップが
    第1の取得優先順位を、前記第2のチャンクに割り当てられた第2の取得優先順位よりも高い前記第1のチャンクに割り当てるステップを含む、請求項6に記載の方法。
  8. 第3のコンピュータクライアントから、前記ファイルの第3のチャンクの送信開始を受け取るステップと、
    以前に取得された前記第3のチャンクに応答して、前記第3のチャンクの送信を取り消すステップと、
    前記第3のチャンクがまだ取得されていないとの判定に応答して、前記第3のチャンクの前記送信を受け取るステップとをさらに含む、請求項1に記載の方法。
  9. 請求項1に記載の方法であって、前記一意のファイル識別子を用いて、前記評価が存在するかどうかを判定するために、ファイル評価データ構造への問い合わせするステップをさらに含む、方法。
  10. 請求項1に記載の方法であって、前記特定の評価を前記一意のファイル識別子に割り当て、前記評価を前記第1のコンピュータクライアントおよび前記第2のコンピュータクライアントのうちの少なくとも1つに提供するステップをさらに含む、方法。
  11. 請求項1に記載の方法であって、前記第1のコンピュータクライアントからの前記第1のチャンクを、前記第1のコンピュータ以外のコンピュータクライアントからの前記第1のチャンクの第2のインスタンスと比較して、前記第1のコンピュータクライアントからの第1のチャンクが、 改ざんされていない状態で受け取られたことを確認するステップをさらに含む、方法。
  12. 請求項1に記載の方法であって、前記第1のコンピュータクライアント、前記第2のコンピュータクライアント、および第3のコンピュータクライアントのうちの少なくとも1つから、前記特定のファイルの第3のチャンクの将来の取得をスケジュール化するステップをさらに含む、方法。
  13. 請求項1に記載の方法であって、前記第1のチャンクを要求するステップは、
    前記第1のコンピュータクライアントの操作のコンテキストを識別するステップと、および
    アップロードポリシーに対応する前記操作のコンテキストに基づいて、前記第1のコンピュータクライアントからの前記第1のチャンクの取得をスケジュール化するステップと
    を含む、方法。
  14. 請求項1に記載の方法であって、
    インジケータを前記1組のチャンク内の各チャンクに割り当てるステップと、 および
    前記第1のチャンクを取得することに応答して、前記第1のチャンクに対する第1のインジケータを取得状態に設定するステップと
    をさらに含む方法。
  15. コンピュータシステムであって、
    1つまたは複数のプロセッサと、
    前記コンピュータシステムにファイルを取得させ、前記ファイルの評価を評定させるよう、前記1つまたは複数のプロセッサによって実行可能なコンピュータ実行可能命令を格納する1つまたは複数のコンピュータ可読媒体であって、前記コンピュータ実行可能命令は、コンピュータシステムに対し、
    第1のコンピュータクライアントから、特定のファイルの一意のファイル識別子を含む第1の評価要求を受け取るステップと、
    少なくとも前記第1の評価要求を受け取ることに基づいて、
    前記特定のファイルの前記一意のファイル識別子に対応する評価が存在しないと判定するステップと、
    少なくとも前記特定のファイルの前記一意のファイル識別子に対応する評価が存在しないと判定されたことに基づいて、
    前記特定のファイルを分割して得られる1組のチャンクを生成するステップであって、各チャンクは前記特定のファイルの一部を含む、ステップと、
    前記第1のコンピュータクライアントから前記1組のチャンクの第1のチャンクを要求するステップと、および
    前記第1のコンピュータクライアントから、前記1組のチャンクの前記第1のチャンクを受け取るステップと、
    前記第1の評価要求を受け取った後、第2のコンピュータクライアントから、前記特定のファイルの前記一意のファイル識別子を含む第2の評価要求を受け取るステップと、
    少なくとも前記2の評価要求を受け取ることに基づいて、および少なくとも前記ファイルを分割して得られる前記1組のチャンクが生成されたことに基づいて、
    前記第2のコンピュータクライアントから前記1組のチャンクの第2のチャンクを要求するステップと、そして
    前記第2のコンピュータクライアントから前記1組のチャンクの前記第2のチャンクを受け取るステップと、そして
    少なくとも前記第1のコンピュータクライアントから前記1組のチャンクの前記第1のチャンクを受け取ることに基づいて、および少なくとも前記第2のコンピュータクライアントから前記1組のチャンクの前記第2のチャンクを受け取ることに基づいて、前記特定のファイルに対する特定の評価を計算するステップと
    を少なくとも実行させる、実行可能な命令を含む、コンピュータシステム。
  16. 請求項15に記載のコンピュータシステムであって、
    前記コンピュータ実行可能命令は、前記コンピュータシステムに、前記第1のチャンクに、前記第2のチャンクに割り当てられた第2の取得優先順位より高い第1の取得優先順位を割り当てるステップを行わせる実行可能な命令をさらに含む、コンピュータシステム。
  17. 請求項15に記載のコンピュータシステムであって、前記コンピュータ実行可能命令は、前記コンピュータシステムに、前記第1のコンピュータクライアント、前記第2のコンピュータクライアント、および第3のコンピュータクライアントの少なくとも1つから、前記特定ファイルの第3のチャンクの将来の取得をスケジュール化するように実行可能な命令をさらに含む、コンピュータシステム。
  18. 請求項15に記載のコンピュータシステムであって、前記コンピュータ実行可能命令は、前記コンピュータシステムに、前記第1のコンピュータクライアントからの前記第1のチャンクが改ざんされていない状態で受け取られたことを確認するために、前記第1のコンピュータクライアントからの前記第1のチャンクを、前記第1のコンピュータクライアント以外のコンピュータクライアントからの前第1のチャンクの第2のインスタンスと比較するステップを行わせる実行可能な命令をさらに含む、コンピュータシステム。
  19. 請求項15に記載のコンピュータシステムであって、前記コンピュータ実行可能命令は、前記コンピュータシステムに、
    前記第1のコンピュータクライアントの操作のコンテキストを識別するステップと、および
    アップロードポリシーに対応する前記操作のコンテキストに基づいて、第1のコンピュータクライアントからの前記第1のチャンクの取得をスケジュール化するステップと
    を行わせる実行可能な命令をさらに含む、コンピュータシステム。
  20. コンピュータプログラムであって、ファイルを取得し、前記ファイルの評価を評定するためにコンピュータシステムに、
    第1のコンピュータクライアントから、特定のファイルの一意のファイル識別子を含む第1の評価要求を受け取るステップと、
    少なくとも第1の評価要求を受け取ることに基づいて、
    前記特定のファイルの前記一意のファイル識別子に対応する評価が存在しないと判定するステップと、
    少なくとも前記特定のファイルの前記一意のファイル識別子に対応する評価が存在しないと判定したことに基づいて、
    前記特定のファイルを分割して得られる1組のチャンクを生成するステップであって、各チャンクは前記特定のファイルの一部を含む、ステップと、
    前記第1のコンピュータクライアントから前記1組のチャンクの第1のチャンクを要求するステップと、および
    前記第1のコンピュータクライアントから、前記1組のチャンクの第1のチャンクを受け取るステップと、
    前記第1の評価要求を受け取った後、第2のコンピュータクライアントから、前記特定のファイルの一意のファイル識別子を含む第2の評価要求を受け取るステップと、
    少なくとも前記第2の評価要求を受け取ることに基づいて、および少なくとも前記ファイルを分割して得られる前記1組のチャンクが生成されたことに基づいて、
    前記第2のコンピュータクライアントから前記1組のチャンクの第2のチャンクを要求するステップと、そして
    前記第2のコンピュータクライアントから前記1組のチャンクの前記第2のチャンクを受け取るステップと、そして
    少なくとも前記第1のコンピュータクライアントから前記1組のチャンクの前記第1のチャンクを受け取ることに基づいて、および少なくとも前記第2のコンピュータクライアントから前記1組のチャンクの前記第2のチャンクを受け取ることに基づいて、前記特定のファイルに対する特定の評価を計算するステップと
    を少なくとも実行させるためのコンピュータプログラム。
JP2017515234A 2014-09-17 2015-09-16 ファイルの評価評定 Active JP6633059B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/488,719 US9398036B2 (en) 2014-09-17 2014-09-17 Chunk-based file acquisition and file reputation evaluation
US14/488,719 2014-09-17
PCT/US2015/050307 WO2016044354A1 (en) 2014-09-17 2015-09-16 File reputation evaluation

Publications (3)

Publication Number Publication Date
JP2017538181A JP2017538181A (ja) 2017-12-21
JP2017538181A5 JP2017538181A5 (ja) 2018-10-18
JP6633059B2 true JP6633059B2 (ja) 2020-01-22

Family

ID=54251733

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017515234A Active JP6633059B2 (ja) 2014-09-17 2015-09-16 ファイルの評価評定

Country Status (11)

Country Link
US (1) US9398036B2 (ja)
EP (1) EP3195573B1 (ja)
JP (1) JP6633059B2 (ja)
KR (1) KR102351948B1 (ja)
CN (1) CN107079041B (ja)
AU (1) AU2015317916B2 (ja)
BR (1) BR112017003782A2 (ja)
CA (1) CA2959754C (ja)
MX (1) MX370212B (ja)
RU (1) RU2690759C2 (ja)
WO (1) WO2016044354A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10169584B1 (en) * 2015-06-25 2019-01-01 Symantec Corporation Systems and methods for identifying non-malicious files on computing devices within organizations
US10055586B1 (en) 2015-06-29 2018-08-21 Symantec Corporation Systems and methods for determining the trustworthiness of files within organizations
US9838405B1 (en) 2015-11-20 2017-12-05 Symantec Corporation Systems and methods for determining types of malware infections on computing devices
US10003606B2 (en) 2016-03-30 2018-06-19 Symantec Corporation Systems and methods for detecting security threats
US10178122B1 (en) * 2016-08-12 2019-01-08 Symantec Corporation Systems and methods for disseminating location-based reputations for link-layer wireless attacks
US11086822B1 (en) * 2016-09-13 2021-08-10 Amazon Technologies, Inc. Application-based compression
US10091231B1 (en) 2016-09-15 2018-10-02 Symantec Corporation Systems and methods for detecting security blind spots
US10542017B1 (en) 2016-10-13 2020-01-21 Symantec Corporation Systems and methods for personalizing security incident reports
US11711380B2 (en) * 2019-10-21 2023-07-25 Acronis International Gmbh Systems and methods for parallel virus and malware scan between agents in a cloud environment
US20220129417A1 (en) * 2020-10-22 2022-04-28 Google Llc Code Similarity Search
CN113282922A (zh) * 2021-06-29 2021-08-20 北京安天网络安全技术有限公司 对移动存储设备进行防护控制的方法、装置、设备及介质

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020046041A1 (en) 2000-06-23 2002-04-18 Ken Lang Automated reputation/trust service
WO2002005193A2 (en) * 2000-07-12 2002-01-17 Cachestream Corporation Credit system
US8635690B2 (en) 2004-11-05 2014-01-21 Mcafee, Inc. Reputation based message processing
US7991902B2 (en) * 2006-12-08 2011-08-02 Microsoft Corporation Reputation-based authorization decisions
US8250657B1 (en) * 2006-12-29 2012-08-21 Symantec Corporation Web site hygiene-based computer security
US8312536B2 (en) * 2006-12-29 2012-11-13 Symantec Corporation Hygiene-based computer security
US8214497B2 (en) 2007-01-24 2012-07-03 Mcafee, Inc. Multi-dimensional reputation scoring
US8769702B2 (en) 2008-04-16 2014-07-01 Micosoft Corporation Application reputation service
US8595282B2 (en) * 2008-06-30 2013-11-26 Symantec Corporation Simplified communication of a reputation score for an entity
EP2988189B1 (en) * 2008-07-11 2020-09-02 eldoLAB Holding B.V. Power converter for an led assembly and lighting application
US9135433B2 (en) 2008-08-29 2015-09-15 Adobe Systems Incorporated Identifying reputation and trust information for software
US20100169972A1 (en) * 2008-12-31 2010-07-01 Microsoft Corporation Shared repository of malware data
US8281403B1 (en) * 2009-06-02 2012-10-02 Symantec Corporation Methods and systems for evaluating the health of computing systems based on when operating-system changes occur
CN101576947B (zh) * 2009-06-05 2012-08-08 成都市华为赛门铁克科技有限公司 文件防护处理方法、装置及系统
US20100318759A1 (en) * 2009-06-15 2010-12-16 Microsoft Corporation Distributed rdc chunk store
US8719939B2 (en) 2009-12-31 2014-05-06 Mcafee, Inc. Malware detection via reputation system
JP2012008847A (ja) * 2010-06-25 2012-01-12 Brother Ind Ltd 配信システム、ノード装置、ノード処理プログラム、及びコンテンツ取得方法
JP5135389B2 (ja) * 2010-06-30 2013-02-06 株式会社日立情報システムズ 情報漏えいファイル検知装置、及びその方法とプログラム
KR101558715B1 (ko) * 2010-08-25 2015-10-07 룩아웃, 인코포레이티드 서버 결합된 멀웨어 방지를 위한 시스템 및 방법
US8413235B1 (en) * 2010-09-10 2013-04-02 Symantec Corporation Malware detection using file heritage data
US9235586B2 (en) * 2010-09-13 2016-01-12 Microsoft Technology Licensing, Llc Reputation checking obtained files
US8572007B1 (en) 2010-10-29 2013-10-29 Symantec Corporation Systems and methods for classifying unknown files/spam based on a user actions, a file's prevalence within a user community, and a predetermined prevalence threshold
US8671449B1 (en) 2010-11-10 2014-03-11 Symantec Corporation Systems and methods for identifying potential malware
US8863291B2 (en) * 2011-01-20 2014-10-14 Microsoft Corporation Reputation checking of executable programs
US8769691B1 (en) * 2011-02-14 2014-07-01 Trend Micro, Inc. Network traffic reduction
US8732587B2 (en) 2011-03-21 2014-05-20 Symantec Corporation Systems and methods for displaying trustworthiness classifications for files as visually overlaid icons
WO2012158654A2 (en) * 2011-05-14 2012-11-22 Bitcasa, Inc. Cloud file system with server-side deduplication of user-agnostic encrypted files
US8516592B1 (en) * 2011-06-13 2013-08-20 Trend Micro Incorporated Wireless hotspot with lightweight anti-malware
US8799190B2 (en) * 2011-06-17 2014-08-05 Microsoft Corporation Graph-based malware classification based on file relationships
US9065826B2 (en) 2011-08-08 2015-06-23 Microsoft Technology Licensing, Llc Identifying application reputation based on resource accesses
US8650638B2 (en) * 2011-10-18 2014-02-11 Mcafee, Inc. System and method for detecting a file embedded in an arbitrary location and determining the reputation of the file
US8635700B2 (en) * 2011-12-06 2014-01-21 Raytheon Company Detecting malware using stored patterns
US8627469B1 (en) * 2012-03-14 2014-01-07 Symantec Corporation Systems and methods for using acquisitional contexts to prevent false-positive malware classifications
US20130254880A1 (en) 2012-03-21 2013-09-26 Mcafee, Inc. System and method for crowdsourcing of mobile application reputations
CN102752290B (zh) * 2012-06-13 2016-06-01 深圳市腾讯计算机系统有限公司 一种云安全系统中的未知文件安全信息确定方法和装置
CN103685150B (zh) * 2012-09-03 2015-08-12 腾讯科技(深圳)有限公司 上传文件的方法和装置
US9660745B2 (en) * 2012-12-12 2017-05-23 At&T Intellectual Property I, L.P. Geocast-based file transfer
US9311480B2 (en) * 2013-03-15 2016-04-12 Mcafee, Inc. Server-assisted anti-malware client
WO2014143012A1 (en) * 2013-03-15 2014-09-18 Mcafee, Inc. Remote malware remediation
CN103220367A (zh) * 2013-05-13 2013-07-24 深圳市中博科创信息技术有限公司 数据复制方法及数据存储系统

Also Published As

Publication number Publication date
RU2690759C2 (ru) 2019-06-05
CN107079041A (zh) 2017-08-18
EP3195573B1 (en) 2018-06-27
AU2015317916B2 (en) 2019-01-24
RU2017108769A3 (ja) 2019-04-01
MX2017003416A (es) 2017-06-19
CA2959754A1 (en) 2016-03-24
BR112017003782A2 (pt) 2017-12-12
KR102351948B1 (ko) 2022-01-14
JP2017538181A (ja) 2017-12-21
EP3195573A1 (en) 2017-07-26
MX370212B (es) 2019-12-05
CN107079041B (zh) 2020-10-20
RU2017108769A (ru) 2018-09-17
WO2016044354A1 (en) 2016-03-24
US20160080400A1 (en) 2016-03-17
CA2959754C (en) 2022-05-03
KR20170056556A (ko) 2017-05-23
AU2015317916A1 (en) 2017-03-09
US9398036B2 (en) 2016-07-19

Similar Documents

Publication Publication Date Title
JP6633059B2 (ja) ファイルの評価評定
US11874921B2 (en) Digital protection that travels with data
CN106933854B (zh) 短链接处理方法、装置及服务器
JP6348937B2 (ja) オブジェクト記憶システムにおけるオブジェクトデータの更新方法及び更新装置
US8495621B2 (en) Catalog-based software component management
US8627469B1 (en) Systems and methods for using acquisitional contexts to prevent false-positive malware classifications
US8640190B1 (en) Parental control policy generation
US11533331B2 (en) Software release tracking and logging
US11108888B2 (en) Digital rights list for device groups
US20170052979A1 (en) Input/Output (IO) Request Processing Method and File Server
WO2016110203A1 (zh) 一种文件路径的存储和本地文件的访问方法及装置
US10382528B2 (en) Disposition actions in digital asset management based on trigger events
US10108596B2 (en) Version control with accept only designations
US9686310B2 (en) Method and apparatus for repairing a file
JP5766346B2 (ja) ソフトウェア・オブジェクトをバックグラウンドで移動させる方法及び装置
US10606844B1 (en) Method and apparatus for identifying legitimate files using partial hash based cloud reputation
US20170168867A1 (en) Information processing system and control method
WO2017213845A1 (en) Providing notification based on destination of file operation
US11182305B1 (en) System for reducing computations performed for iterative requests

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180906

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180906

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190401

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190328

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190625

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191112

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191211

R150 Certificate of patent or registration of utility model

Ref document number: 6633059

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250