JP6301256B2 - 処理方法、コンピュータプログラム及びメタデータサポートサーバ - Google Patents

処理方法、コンピュータプログラム及びメタデータサポートサーバ Download PDF

Info

Publication number
JP6301256B2
JP6301256B2 JP2014537372A JP2014537372A JP6301256B2 JP 6301256 B2 JP6301256 B2 JP 6301256B2 JP 2014537372 A JP2014537372 A JP 2014537372A JP 2014537372 A JP2014537372 A JP 2014537372A JP 6301256 B2 JP6301256 B2 JP 6301256B2
Authority
JP
Japan
Prior art keywords
vendor
file
crash
metadata
support server
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
JP2014537372A
Other languages
English (en)
Other versions
JP2014531091A5 (ja
JP2014531091A (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 JP2014531091A publication Critical patent/JP2014531091A/ja
Publication of JP2014531091A5 publication Critical patent/JP2014531091A5/ja
Application granted granted Critical
Publication of JP6301256B2 publication Critical patent/JP6301256B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/13File access structures, e.g. distributed indices
    • G06F16/137Hash-based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0748Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a remote unit communicating with a single-box computer node experiencing an error/fault
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis

Description

実施の形態は処理方法、記憶媒体及びクライアントサポートサーバ等に関連する。
クライアント装置で動作するコンピュータアプリケーションは、コンピュータアプリケーションの動作を止めてしまうエラーを時折有するおそれがあり、そのような動作停止は「クラッシュ(crash)」と言及される。クライアント装置はクラッシュに関するデータ群(クラッシュデータ群と言及される)を収集するかもしれない。クラッシュデータ群は、クラッシュの原因に関する手掛かり(又はヒント)をベンダに提供するように、クラッシュの時点におけるコンピュータの活動(活動の内容、状況、状態等)を記述してもよい。クラッシュデータ群はユーザのプライバシを保護するために適切に匿名化されてもよい。クライアント装置はクラッシュを記述するクラッシュテレメトリレポート(crash telemetry report)を送信してもよい。
欧州特許出願公開第1035482号明細書
一観点による課題は、クラッシュの原因に関する手掛かりをベンダに提供するための処理方法、記憶媒体及びクライアントサポートサーバ等を提供することである。
実施の形態による処理方法は、
コンピュータが行う処理方法であって、
実行可能ファイルに関連するファイルメタデータ群に基づいてハッシュ識別子を算出するステップと、
前記ハッシュ識別子を利用して前記実行可能ファイルを識別するステップと
を有する処理方法である。
一実施形態によるソフトウェアクラッシュレポートシステムを示すブロック図。 一実施形態によるコンピュータ装置を示すブロック図。 一実施形態によるクラッシュテレメトリレポートを示すブロック図。 一実施形態によるベンダプログラムレポートを示すブロック図。 ベンダプログラムレポートの初期ファイリングを示す一実施形態によるシーケンスフロー図。 ファイルレポートの競合を解決する一実施形態によるシーケンスフロー図。 クライアントサポートサーバにおいてクラッシュデータを収集する一実施形態による方法を示すフローチャート。 ベンダからの実行可能ファイルを識別する一実施形態による方法を示すフローチャート。 ハッシュ識別子を作成する一実施形態による方法を示すフローチャート。 クラッシュデータをルーティングする一実施形態による方法を示すフローチャート。
<実施の形態の概要>
この概要又はサマリは以下の詳細な説明において更に説明される概念を簡略化した形式で選択して紹介するために提供される。この概要は、特許請求の範囲に記載された主要な特徴や本質的な特徴を特定するようには意図されておらず、特許請求の範囲の内容を限定するために使用されるようにも意図されていない。
以下に説明される実施の形態は、ハッシュ識別子を利用して実行可能ファイルを特定するサーバに関連している。サーバは実行可能ファイルに関連するファイルメタデータ群に基づいてハッシュ識別子を算出してもよい。サーバはハッシュ識別子を利用して実行可能ファイルを識別してもよい。
<実施の形態の詳細な説明>
上記及びその他の利点及び特徴を把握できるように説明するため、より具体的な説明がなされかつそれは添付図面に示される特定の実施の形態を参照することにより示される。これらの図面は、典型的な実施形態を示すに過ぎず、発明の範囲を限定するように考えられるべきではないように理解されるべきであり、添付図面を利用して追加的な具体的な詳細事項と共に実現手段が開示及び説明される。
以下、実施の形態を詳細に説明する。具体的な実施の形態を説明するが、それは説明を目的としているに過ぎないことが理解されるべきである。本願による開示内容の精神及び範囲から逸脱することなく、他のコンポーネント(要素又は部分)やコンフィギュレーション(又は構成)等を使用してよいことが当業者に認められるであろう。発明の実現は、コンピュータ(又はマシン)により実行される方法によりなされてもよいし、コンピュータにより読み取ることが可能な有形の記憶媒体(記憶媒体には少なくとも1つのプロセッサに関する方法を規定する命令群が保存されている)によりなされてもよいし、コンピュータプログラムによりなされてもよいし、或いはクライアントサポートサーバ等によりなされてもよい。
独立系ソフトウェアベンダは、実行可能なファイル(実行可能ファイル)を記述又は説明するファイルメタデータ群(一群のファイルメタデータ又はファイルメタデータセット)を、ベンダサポートサーバにアップロードする。メタデータサーバは、ファイルメタデータ群とクライアント装置から収集したクラッシュデータ群(一群のクラッシュデータ又はクラッシュデータセット)とを照合し、何れの独立系ソフトウェアベンダがそのクラッシュデータ群を受信すべきかを判断する。
ファイルメタデータ群は、単独の実行可能ファイルを一意に特定する属性群を含んでもよい。これらの属性は、ファイル名、ファイルバージョン、ファイルリンク日等を日付タイムスタンプ(又は時刻印)の形式で含む。データベースの設計において、単独の識別子がオブジェクト同士の効率的な相互の結び付き(クロスリンク(cross-link))を促してもよい。ファイルメタデータ群の文字列についてハッシュ関数を使用することで、サーバ又はサーバ群は実行可能ファイルに対して1つの識別子を生成してもよい。或いは、サーバはファイルメタデータ群に対して直接的にハッシュ関数を施してもよい。
ハッシュ関数は、ファイル名、ファイルバージョン、リンク日等の入力により、それらの値についてのSHA-1ハッシュを計算する。実行可能ファイルについての異なる複数のコピーが、ファイル情報が別々に収集されている場合でさえ、システムを通じて合わせられるのと同じ仕方で、複数のコンポーネントが同じハッシュ値を示すかもしれない。
ハッシュが生成される前に、サーバが検証段階及び変換段階によりファイルメタデータ群を処理してもよい。検証段階は、入力パラメータが適切なフォーマットを有しかつ所定の範囲内に属することを検査してもよい。検証に失敗した場合、サーバはハッシュ識別子の生成を控え、入力データにエラーが有ることを示し、意味のないハッシュ識別子がシステムに入力されてしまうことを防ぐ。
変換段階では、サーバがファイルメタデータ群をシステムに共通するフォーマットに変換してもよい。サーバは、ファイル名を小文字や大文字等のつじつまの合ったケース(case)に変換し、バージョン情報を共通フォーマットに合わせてもよい。その後、サーバは、入力から文字列を生成し、結果の文字列からハッシュを算出してもよい。或いは、サーバは、ファイルメタデータ群を文字列に変換せずに、ファイルメタデータ群からハッシュを算出してもよい。
更に、2社の異なる独立系ソフトウェアベンダが同じファイルに関する情報をアップロードする場合に、ハッシュ関数は検出のプロセスを簡易化する。コンフリクトディテクタは競合が生じ得ることを確認し、一方のベンダが他方のベンダのプログラムに関するキャッシュデータを見てしまうことを防いでもよい。
一実施形態において、サーバはハッシュ識別子を用いて実行可能ファイルを識別(又は確認又は特定又は同定)してもよい。サーバは実行ファイルに関するファイルメタデータに基づいてハッシュ識別子を算出してもよい。サーバはハッシュ識別子を用いて実行ファイルを識別してもよい。
ソフトウェアクラッシュ報告システムは、クライアントハッシュ識別子に関するクラッシュデータ群と1つ以上のベンダに関連する一群のベンダハッシュ識別子とを比較してもよい。クライアントハッシュ識別子はクライアントから受信したデータに関するハッシュ識別子である。ベンダハッシュ識別子はベンダから受信したデータに関連するハッシュ識別子である。クライアントハッシュ識別子がベンダハッシュ識別子に合致する場合、ソフトウェアクラッシュ報告システムはクラッシュデータ群を関連するベンダに送信してもよい。図1はソフトウェアクラッシュ報告システム100のブロック図を示す。ベンダ102はソフトウェアプログラムをクライアント装置104に供給する。ベンダ102は、ベンダサポートサーバ108及びメタデータサーバ110を有するベンダポータル106により、ソフトウェアプログラムの実行ファイルに関連するファイルメタデータ群を登録する。ファイルメタデータ群は、ファイル名、ファイルバージョン、リンク日等のような実行可能ファイル(executable file)を説明する(又は特徴付ける又は表現する)データ群である。ファイル名はクライアント装置102のオペレーティングシステムから見えるファイルの名前である。ファイルバージョンは実行可能ファイルのバージョン番号である。バージョン番号はソフトウェアアプリケーションに対する更新の全部又は一部を包含してもよい。リンク日は実行可能ファイルがコンパイルされた日又は日時である。ベンダサポートサーバ108は、ファイルメタデータ群にハッシュ関数を適用することに基づいて、ベンダハッシュ識別子を算出する。ベンダハッシュ識別子は、正確な又は的確な実行可能ファイルを識別する。ベンダサポートサーバ108はベンダハッシュ識別子をベンダ102に関連付ける。ベンダサポートサーバ108は、関連付けたベンダ識別子とベンダハッシュ識別子とをメタデータサーバ110に送る。
実行可能ファイルが実行中にクラッシュした場合(不具合を生じた場合)、クライアント装置104はクライアントサポートサーバ112に警報を出す(アラートを送る)。クライアント装置104は、クラッシュの状況を説明するクラッシュデータ群をクライアントサポートサーバ112に送信する。クラッシュデータ群はクラッシュテレメトリレポート(crash telemetry report)に含まれていてもよい。クラッシュテレメトリレポートはクラッシュデータ群を実行可能ファイルのファイルメタデータ群(例えば、ファイル名、ファイルバージョン及びリンク日等)に関連付ける。クライアントサポートサーバ112はクラッシュテレメトリレポート中のファイルメタデータ群に基づいてクライアントハッシュ識別子を算出する。クライアントサポートサーバ112はクライアントハッシュ識別子をクラッシュデータ群に関連付ける。クライアントサポートサーバ112は、関連付けたクラッシュデータ群とクライアントハッシュ識別子とをメタデータサーバ110に送る。
メタデータサーバ110は、クライアントハッシュ識別子と保存しているベンダハッシュ識別子とを比較する。メタデータサーバ110は、クライアントハッシュ識別子に合致するベンダ識別子に関するベンダ102に、クラッシュデータ群を送信する。ベンダサポートサーバ108、メタデータサーバ110又はクライアントサポートサーバ112のうちの1つ以上の機能は、いくつでも組み合わせられてよいし、複数のサーバに分散されていてもよい。
図2は例示的なコンピュータ装置200のブロック図を示し、コンピュータ装置はベンダサポートサーバ108、メタデータサーバ110又はクライアントサポートサーバ112として機能してよい。コンピュータ装置200は、ハードウェア、ソフトウェア、ファームウェア及びシステムオンチップ技術の1つ以上の組み合わせによりハッシュ識別子の計算等を行う。コンピュータ装置200は、バス210、プロセッサ220、メモリ230、読み取り専用メモリ(ROM)240、ストレージ装置250、入力装置260、出力装置270、通信インタフェース280を含んでいてもよい。バス210はコンピュータ装置200内のコンポーネント同士の通信を可能にする。
プロセッサ220は一群の命令を解釈及び実行する少なくとも1つの通常のプロセッサ又はマイクロプロセッサを含んでいてもよい。メモリ230は、プロセッサ220による実行処理のための情報及び命令を保存するランダムアクセスメモリ(RAM)又はその他のタイプのダイナミックストレージ装置であってよい。メモリ230はプロセッサによる命令の実行中に使用される一時的な変数又はその他の中間的な情報を保存してもよい。ROM240は、プロセッサ220のための不変情報及び命令を保存する通常のROM装置又はその他のタイプのスタティックストレージ装置を含んでよい。ストレージ装置250は、例えば、磁気的又は光学的な記録媒体及びそれに対応するドライブ等のような適切な任意のタイプの有形のコンピュータ可読記憶媒体を含んでよい。ストレージ装置250は、1つ以上のプロセッサにより実行された場合に1つ以上のプロセッサに実行させる方法を記述する命令群を保存していてもよい。ストレージ装置250はハッシュ識別子及び関連するデータを保存するためのデータベース又はデータベースインタフェースであってもよい。
入力装置260はコンピュータ装置200にユーザが情報を入力できるようにする1つ以上の通常の手段(例えば、キーボード、マウス、音声認識装置、マイクロフォン、ヘッドセット等)を含む。出力装置270はユーザに情報を出力する1つ以上の通常の手段を含み、例えばディスプレイ、プリンタ、1つ以上のスピーカ、ヘッドセット又は媒体等を含み、媒体は例えばメモリ、磁気的又は光学的なディスク、及び対応するディスクドライブ等である。通信インタフェース280は、通信装置200が他の装置又はネットワークと通信できるようにする任意のトランシーバのような手段を含んでよい。通信インタフェース280はネットワークインタフェース又はモバイルトランシーバインタフェースを含んでいてもよい。通信インタフェース280は無線インタフェース、有線インタフェース、光インタフェース等であってもよい。
コンピュータ装置200は、コンピュータにより読み取ることが可能なコンピュータ可読媒体(例えば、メモリ230、磁気ディスク又は光ディスク)に含まれている一連の命令を実行するプロセッサ220に応答して上記のような機能を発揮してもよい。そのような命令は、ストレージ装置250等のような他のコンピュータ可読媒体から、又は通信インタフェース280を介して別の装置から、メモリ230に読み込まれてもよい。
図3は一実施形態におけるクラッシュテレメトリレポート300を示すブロック図である。クラッシュテレメトリレポート300は、実行可能ファイルの名前を表現するファイル名310を載せていてもよい。ファイル名310は小文字や大文字等が一致したケース(consistent case)に変換されてもよい。クラッシュテレメトリレポート300は、ファイルのバイナリバージョンリソースに保存されているバージョン情報を表現するファイルバージョン320を載せていてもよい。ファイルバージョン320は「x.y.z.w」のようにフォーマットされていてもよい。クラッシュテレメトリレポート300は、実行可能なリンクの日時を表すリンク日330を有し、例えば実行ファイルの画像ファイルヘッダの「日時スタンプ(TimeDateStamp)」フィールドに指定されているようなものである。リンク日330は「yyyy-MM-ddTHH:mm:ss」のISO8601フォーマットによる文字列にフォーマットされてもよい(形式を整えられてもよい)。クラッシュテレメトリレポート300はクラッシュの状況を説明するクラッシュデータ群340を有していてもよい。
図4は一実施形態におけるベンダプログラムレポート400を示すブロック図である。ベンダプログラムレポート400は実行可能ファイルの名前を表現するファイル名410を載せていてもよい。ファイル名410は小文字や大文字等が一致したケースに変換されてもよい。ベンダプログラムレポート400は、ファイルのバイナリバージョンリソースに保存されているバージョン情報を表現するファイルバージョン420を載せていてもよい。ファイルバージョン420は「x.y.z.w」のようにフォーマットされていてもよい。ベンダプログラムレポート400は、実行可能なリンクの日時を表すリンク日430を有し、例えば実行ファイルの画像ファイルヘッダの「日時スタンプ(TimeDateStamp)」フィールドに指定されているようなものである。リンク日430は「yyyy-MM-ddTHH:mm:ss」のISO8601フォーマットによる文字列にフォーマットされてもよい(形式を整えられてもよい)。ベンダプログラムレポート400は、実行可能ファイルを生成したベンダを識別するベンダ識別子(ID)440を有していてもよい。更に、ベンダプログラムレポート400は、ベンダが何らかのクラッシュデータについての特定のルーティングターゲットであった場合のベンダ連絡先(宛先情報)450を有していてもよい。
或いは、メタデータサーバ110、クライアントサポートサーバ112又はベンダサーバ108を表すベンダポータルは、ベンダ102による後のアクセスに備えてベンダプログラムレポート400を保存する。ベンダポータルは、ベンダ102を認証し、ベンダプログラムレポート400をダウンロードする。
図5はベンダプログラムレポートの初期ファイリング500の一例を処理フロー図で示す。ベンダ102はファイルメタデータ群をベンダサポートサーバ108に送信する(処理502)。ファイルメタデータ群はファイル名、ファイルバージョン及びリンク日等を有していてもよい。ベンダサポートサーバ108はファイルメタデータ群をメタデータサーバ110に転送する(処理504)。メタデータサーバ110はハッシュアルゴリズムを適用してハッシュ識別子を作成する。メタデータサーバ110はハッシュ識別子を競合検出部又はコンフリクトディテクタ506に転送する(処理508)。競合検出部506はメタデータサーバ110とは別個のサーバであってもよいし或いはメタデータサーバ110の一部(サブコンポーネント)であってもよい。そのハッシュ識別子はメタデータサーバ110にとって新たなものであると競合検出部506が判断した場合、競合検出部506は選択的にレビュー(検討)を要求することを控える(処理510)。
図6はファイルレポートの競合に対処する方法600の一例を処理フロー図で示す。ベンダ102はファイルメタデータ群をベンダサポートサーバ108に送信する(処理602)。ファイルメタデータ群はファイル名、ファイルバージョン及びリンク日等を有していてもよい。ベンダサポートサーバ108はファイルメタデータ群をメタデータサーバ110に転送する(処理604)。メタデータサーバ110はハッシュアルゴリズムを適用してハッシュ識別子を作成する。メタデータサーバ110はハッシュ識別子を競合検出部又はコンフリクトディテクタ506に転送する(処理608)。そのハッシュ識別子はメタデータサーバ110が現在使用中であると競合検出部506が判断した場合、競合検出部506は、アドミニストレータ(管理者)がその競合を検討することを選択的に要求してもよい(処理608)。
図7はクラッシュデータを収集する一実施形態による方法700をフローチャートで示す。クラッシュデータの収集はクライアントサポートサーバ112で行われるように説明されるが、ベンダサポートサーバ108やメタデータサーバ110がその機能を実行してもよい。クライアントサポートサーバ112は、実行可能ファイルに関連するファイルメタデータ群とクラッシュデータ群とを有するクラッシュテレメトリレポートを受信する(ブロック702)。クライアントサポートサーバ112は、ファイルメタデータ群に基づいて、実行可能ファイルを識別するためのクライアントハッシュ識別子を算出する(ブロック704)。クライアントサポートサーバ112は、テレメトリレポート中のクラッシュデータ群を、クライアントハッシュ識別子に関連付ける(ブロック706)。クライアントサポートサーバ112は、クライアントハッシュ識別子に基づいてメタデータサーバ110を介してクラッシュデータ群をベンダ102に提供する(ブロック708)。クライアントサポートサーバ112は、ベンダの連絡先450への送信のためにクラッシュデータ群340をメタデータサーバ110に提供してもよいし、或いはベンダ102が後にアクセスしてきた場合に備えてクラッシュデータ群340をメタデータサーバ110に保存してもよい。
図8はベンダ102からの実行可能ファイルを識別する一実施形態による方法800をフローチャートで示す。ベンダデータ収集は、ベンダサポートサーバ108で行われるように説明されるが、メタデータサーバ110やクライアントサポートサーバ112がその機能を実行してもよい。ベンダサポートサーバ108は実行可能ファイルに関するファイルメタデータ群をベンダ102から受信する(処理802)。ベンダサポートサーバ108はファイルメタデータ群に基づいてベンダハッシュ識別子を算出する(処理804)。ベンダサポートサーバ108はベンダハッシュ識別子を用いて実行可能ファイルを識別する(処理806)。ベンダサポートサーバ108はベンダハッシュ識別子をベンダ102に関連付ける(処理808)。ベンダサポートサーバ108は、クラッシュデータ群と共にクライアントハッシュ識別子をクライアントサポートサーバ112から受信する(処理810)。ベンダサポートサーバ108は、クライアントハッシュ識別子と保存しているベンダハッシュ識別子とを照合することでベンダを識別する(処理812)。ベンダサポートサーバ108は、メタデータサーバ110を介して、クラッシュデータ群を、ベンダハッシュ識別子に関連するベンダ102に提供する(処理814)。ベンダサポートサーバ108は、メタデータサーバ110にクラッシュデータ群340をベンダ連絡先450へ送信させてもよいし、或いはベンダ102による後のアクセスに備えてクラッシュデータ群をメタデータサーバ110に保存してもよい。
図9はハッシュ識別子を算出する一実施形態による方法900をフローチャートで示す。ベンダサポートサーバ108、メタデータサーバ110又はクライアントサポートサーバ112のうちの何れもハッシュ識別子を算出してよい。サーバはファイルメタデータ群を確認し、ファイルメタデータがコンパチブルフォーマット(両立可能なフォーマット)であることを確認する(処理902)。フォーマットがコンパチブルフォーマットでなかった場合(インコンパチブルフォーマットであった場合)(処理904)において、ファイルメタデータ群が両立可能なフォーマットに変換可能でなかった場合(処理906)、サーバはそのファイルメタデータ群を破棄してもよい(処理908)。ファイルメタデータ群がコンパチブルフォーマットに変換可能であった場合(処理906)、サーバはファイルメタデータ群をコンパチブルフォーマットに変換する(処理910)。サーバはファイルメタデータ群を文字列に変換する(処理912)。サーバはその文字列に対してハッシュ関数を使用してハッシュ識別子を生成する(処理914)。ハッシュ関数はセキュアアルゴリズム1(SHA-1)又はメッセージダイジェストアルゴリズム5(MD5)のうちの少なくとも1つであってよい。セキュアハッシュアルゴリズム1は160ビットの暗号化ハッシュ関数であるが、メッセージダイジェストアルゴリズム5は128ビットの暗号化ハッシュ関数である。
図10はクラッシュデータをルーティングする一実施形態による方法1000をフローチャートで示す。ルーティングはメタデータサーバ110で行われるように説明されるが、ベンダサポートサーバ108やクライアントサポートサーバ112がこの機能を実行してもよい。メタデータサーバ110はベンダハッシュ識別子をベンダ102に関連付ける(処理1002)。メタデータサーバ110は、実行ファイルについてクラッシュデータ群340と共にクライアントハッシュ識別子をクライアントサポートサーバ112から受信する(処理1004)。メタデータサーバ110はクライアントハッシュ識別子と保存しているベンダハッシュ識別子とを比較し、その実行可能ファイルを作成したベンダを識別する(処理1006)。メタデータサーバ110はハッシュ識別子に基づいてクラッシュデータ群340をベンダに提供する(処理1008)。メタデータサーバ110は、クラッシュデータ群340をベンダの連絡先450へ送信してもよいし、或いはベンダ102による後のアクセスに備えてクラッシュデータ群340を保存してもよい。
構造的な特徴及び/又は方法的な処理に特化した言葉で上記の説明がなされてきたが、特許請求の範囲に関連する事項は説明された上記の具体的な特徴や処理に必ずしも限定されないことが、理解されるべきである。むしろ、説明された上記の具体的な特徴や処理は本願発明を実施する差異の一例として開示されている。
本発明の範囲に属する実施の形態は、コンピュータにより読み取ることが可能な一時的ではない有形の記憶媒体(コンピュータ可読記憶媒体)を含み、コンピュータ可読記憶媒体は、コンピュータにより実行されることが可能な命令又はそこに保存されるデータ構造を担う又は有する。そのような一時的ではないコンピュータ可読記憶媒体は汎用又は専用のコンピュータによってアクセスされるように利用することが可能な任意の媒体であってよい。限定ではない具体例として、そのような一時的でないコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD-ROM、他の光学ディスクストレージ、磁気ディスクストレージ、他の磁気ディスクストレージ等を有していてもよく、或いはコンピュータにより実行可能な命令又はデータ構造の形式で所望のプログラムコード手段を担う又は保存するために使用可能な他の如何なる媒体を有していてもよい。上記の要素の組み合わせも、一時的でないコンピュータ可読記憶媒体の範囲に包含される。
通信ネットワークを介して(有線リンク、無線リンク又はそれらの組み合わせのリンクにより)結合されたリモート処理装置及びローカル処理装置によってタスクが実行される分散したコンピュータ環境において、実施の形態が使用されてもよい。
コンピュータにより実行可能な命令(コンピュータ実行可能命令)は例えば命令及びデータを含み、汎用コンピュータ、専用コンピュータ又は専用処理装置に、所定の1つの機能又は一群の機能を実行させる。コンピュータ実行可能命令は、スタンドアローン又はネットワーク環境のコンピュータにより実行されるプログラムモジュールを含む。一般に、プログラムモジュールは、ルーチン、プログラム、オブジェクト、コンポーネント及びデータ構造等を含み、そのルーチン等は特定のタスクを実行し或いは特定の抽象データタイプ(abstract data type)を実現する。コンピュータで実行可能な命令、関連するデータ構造、及びプログラムモジュールは、本願で説明される方法のステップを実行するためのプログラムコード手段の具体例を表す。そのような実行可能な命令の特定のシーケンス又は関連するデータ構造は、そのようなステップで示される機能を実現するための対応する処理の具体例を表す。
上記の説明は具体的な詳細な事項を含んでいるが、それらの詳細な事項はどんな方法であれ特許請求の範囲を限定するように解釈されるべきではない。説明される実施の形態に関する他の変形例も本願による開示範囲内にある。例えば、開示内容が示す原理は、ユーザがそのようなシステムを個々に配備する場合に、個々のユーザに適用されてよい。これは、多数の可能なアプリケーションのうちの何れか1つが本願で説明される機能を使用しない場合でさえ、各ユーザが本願による利点を活用できるようにする。電子装置の多数の例はそれぞれ様々な方法でコンテンツを処理してよい。実施の形態は全てのエンドユーザにより使用される1つのシステムに必ずしも限定されない。従って上記の具体的な実施形態ではなく、添付の特許請求の範囲及びその法的な均等物によってのみ本発明が規定される。

Claims (10)

  1. メタデータサポートサーバのコンピュータにより処理される方法であって、
    ファイルメタデータセットにハッシュ関数を適用することによりベンダのハッシュ識別子を算出するステップであって、前記ファイルメタデータセットは、実行可能ファイルを一意に識別する一群の属性により前記実行可能ファイルを識別する、ステップと、
    前記ハッシュ識別子を利用して前記実行可能ファイルを識別するステップと、
    クラッシュした際に前記実行可能ファイルを実行していたコンピュータの活動を記述するクラッシュデータセットを前記ベンダのハッシュ識別子に関連付け、前記クラッシュデータセットを、前記メタデータサポートサーバにおける前記ベンダのハッシュ識別子により識別される実行可能ファイルに関連付ける、ステップと
    を有する方法。
  2. 前記クラッシュデータセットは、クライアントサポートサーバ、前記ファイルメタデータセットを有するクラッシュテレメトリレポートを受信した後に、前記メタデータサポートサーバへ送信したものである、請求項1に記載の方法。
  3. 前記ハッシュ識別子に基づいてクラッシュデータセットをベンダに提供するステップ
    を更に有する請求項1に記載の方法。
  4. ベンダサポートサーバを介して、前記ファイルメタデータセットをベンダから受信するステップ
    を更に有する請求項1に記載の方法。
  5. クラッシュデータセットとともに前記ハッシュ識別子をクライアントサポートサーバから受信するステップ
    を更に有する請求項1に記載の方法。
  6. 前記ハッシュ識別子に関連するベンダにクラッシュデータセットを提供するステップ
    を更に有する請求項1に記載の方法。
  7. 前記ファイルメタデータセットが、システムで共通に使用されるコンパチブルフォーマットにおけるものであることを確認するために前記ファイルメタデータセットを確認するステップ
    を更に有する請求項1に記載の方法。
  8. 請求項1ないし7のうちの何れか一項に記載の方法をシステムのコンピュータに実行させるコンピュータプログラム。
  9. ファイルメタデータセットを受信する通信インタフェースであって、前記ファイルメタデータセットは、実行可能ファイルを一意に識別する一群の属性により前記実行可能ファイルを識別する、通信インタフェースと、
    前記ファイルメタデータセットに対してハッシュ関数を適用することによりハッシュ識別子を算出するプロセッサであって、前記実行可能ファイルとクラッシュした際に前記実行可能ファイルを実行していたコンピュータの活動を記述するクラッシュデータセットとを、前記ハッシュ識別子に関連付け、前記クラッシュデータセットを前記実行可能ファイルに関連付けるプロセッサと
    を有するメタデータサポートサーバ。
  10. 前記ファイルメタデータセットが、ベンダに提供されるクラッシュデータセットとともにクラッシュテレメトリレポート内にある、請求項9に記載のメタデータサポートサーバ。
JP2014537372A 2011-10-23 2012-10-23 処理方法、コンピュータプログラム及びメタデータサポートサーバ Active JP6301256B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/279,329 2011-10-23
US13/279,329 US9934229B2 (en) 2011-10-23 2011-10-23 Telemetry file hash and conflict detection
PCT/US2012/061437 WO2013062941A1 (en) 2011-10-23 2012-10-23 Telemetry file hash and conflict detection

Publications (3)

Publication Number Publication Date
JP2014531091A JP2014531091A (ja) 2014-11-20
JP2014531091A5 JP2014531091A5 (ja) 2015-11-12
JP6301256B2 true JP6301256B2 (ja) 2018-03-28

Family

ID=48136827

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014537372A Active JP6301256B2 (ja) 2011-10-23 2012-10-23 処理方法、コンピュータプログラム及びメタデータサポートサーバ

Country Status (6)

Country Link
US (1) US9934229B2 (ja)
EP (1) EP2769304B1 (ja)
JP (1) JP6301256B2 (ja)
KR (1) KR102044046B1 (ja)
CN (1) CN103890734B (ja)
WO (1) WO2013062941A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10366419B2 (en) * 2012-11-27 2019-07-30 Roland Storti Enhanced digital media platform with user control of application data thereon
US9755770B2 (en) * 2012-11-27 2017-09-05 Myminfo Pty Ltd. Method, device and system of encoding a digital interactive response action in an analog broadcasting message
US10339936B2 (en) * 2012-11-27 2019-07-02 Roland Storti Method, device and system of encoding a digital interactive response action in an analog broadcasting message
US9292270B2 (en) 2014-03-27 2016-03-22 Microsoft Technology Licensing, Llc Supporting dynamic behavior in statically compiled programs
US9389890B2 (en) 2014-03-27 2016-07-12 Microsoft Technology Licensing, Llc Hierarchical directives-based management of runtime behaviors
US10063585B2 (en) * 2015-03-18 2018-08-28 Qualcomm Incorporated Methods and systems for automated anonymous crowdsourcing of characterized device behaviors
US9639715B2 (en) 2015-04-27 2017-05-02 Microsoft Technology Licensing, Llc Protecting user identifiable information in the transfer of telemetry data
US9965639B2 (en) 2015-07-17 2018-05-08 International Business Machines Corporation Source authentication of a software product
WO2017082875A1 (en) * 2015-11-10 2017-05-18 Hewlett Packard Enterprise Development Lp Data allocation based on secure information retrieval
US11831654B2 (en) * 2015-12-22 2023-11-28 Mcafee, Llc Secure over-the-air updates
US11080301B2 (en) 2016-09-28 2021-08-03 Hewlett Packard Enterprise Development Lp Storage allocation based on secure data comparisons via multiple intermediaries
US10740298B2 (en) 2016-10-12 2020-08-11 Microsoft Technology Licensing, Llc File synchronization with reduced conflicts in computing systems

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6151708A (en) * 1997-12-19 2000-11-21 Microsoft Corporation Determining program update availability via set intersection over a sub-optical pathway
JP3450786B2 (ja) 1999-03-05 2003-09-29 ミツビシ・エレクトリック・リサーチ・ラボラトリーズ・インコーポレイテッド 異なるデータファイルを調停する方法
US20020049760A1 (en) 2000-06-16 2002-04-25 Flycode, Inc. Technique for accessing information in a peer-to-peer network
US20050033605A1 (en) * 2000-07-27 2005-02-10 Bergeron Heather Ellen Configuring a semantic network to process health care transactions
US7096493B1 (en) 2000-12-21 2006-08-22 Gary G. Liu Internet file safety information center
US7752290B2 (en) * 2002-08-21 2010-07-06 Canon Kabushiki Kaisha Information processing apparatus connectable to peripheral device, controlling method, and computer-readable storage medium storing control program thereon
US20040128583A1 (en) 2002-12-31 2004-07-01 International Business Machines Corporation Method and system for monitoring, diagnosing, and correcting system problems
US20040167859A1 (en) * 2003-02-14 2004-08-26 Richard Mirabella Software license management system configurable for post-use payment business models
US20050091535A1 (en) 2003-10-24 2005-04-28 Microsoft Corporation Application identity for software products
US7191364B2 (en) * 2003-11-14 2007-03-13 Microsoft Corporation Automatic root cause analysis and diagnostics engine
US7735065B2 (en) 2003-11-14 2010-06-08 Kalpit Jain Aggregation and prioritization of application issue data
US7325166B2 (en) * 2004-06-23 2008-01-29 Autodesk, Inc. Hierarchical categorization of customer error reports
US8065689B2 (en) * 2005-02-03 2011-11-22 Kyocera Mita Corporation Release-dependant filenames for device drivers
US7469362B2 (en) * 2005-04-15 2008-12-23 Microsoft Corporation Using a call stack hash to record the state of a process
US7571150B2 (en) * 2005-04-15 2009-08-04 Microsoft Corporation Requesting, obtaining, and processing operational event feedback from customer data centers
US8447695B2 (en) * 2006-01-05 2013-05-21 International Business Machines Corporation System and method for processing feedback entries received from software
CN101005428A (zh) 2006-01-19 2007-07-25 华为技术有限公司 一种检测与解决数据同步冲突的实现方法
US7840540B2 (en) 2006-04-20 2010-11-23 Datascout, Inc. Surrogate hashing
US8020149B2 (en) * 2006-08-04 2011-09-13 Apple Inc. System and method for mitigating repeated crashes of an application resulting from supplemental code
US20080104403A1 (en) * 2006-09-29 2008-05-01 Shay Gueron Methods and apparatus for data authentication with multiple keys
US20080098109A1 (en) 2006-10-20 2008-04-24 Yassine Faihe Incident resolution
DE102006055964A1 (de) 2006-11-24 2008-05-29 Bdt-Solutions Gmbh Verfahren und Vorrichtung zur Datensicherung
FR2912520B1 (fr) 2007-02-13 2009-05-15 Stg Interactive Sa Procede de gestion de fichiers.
US8336033B2 (en) * 2007-03-30 2012-12-18 Sap Ag Method and system for generating a hierarchical tree representing stack traces
US20080254777A1 (en) 2007-04-10 2008-10-16 S5 Wireless, Inc. Systems and methods for facilitating automatic generation of metadata about data that is collected by a mobile device
US8732825B2 (en) 2008-05-28 2014-05-20 Symantec Corporation Intelligent hashes for centralized malware detection
GB0813672D0 (en) * 2008-07-25 2008-09-03 Ixico Ltd Image data management systems
US8140892B2 (en) * 2008-09-26 2012-03-20 Microsoft Corporation Configuration of memory management techniques selectively using mitigations to reduce errors
US8561180B1 (en) * 2008-10-29 2013-10-15 Symantec Corporation Systems and methods for aiding in the elimination of false-positive malware detections within enterprises
US8776027B2 (en) 2009-03-06 2014-07-08 Microsoft Corporation Extracting and collecting platform use data
US9208315B2 (en) 2009-03-17 2015-12-08 Microsoft Corporation Identification of telemetry data
US8776028B1 (en) * 2009-04-04 2014-07-08 Parallels IP Holdings GmbH Virtual execution environment for software delivery and feedback
US8620879B2 (en) * 2009-10-13 2013-12-31 Google Inc. Cloud based file storage service

Also Published As

Publication number Publication date
US20130103651A1 (en) 2013-04-25
CN103890734B (zh) 2018-05-04
KR20140079786A (ko) 2014-06-27
KR102044046B1 (ko) 2019-11-12
JP2014531091A (ja) 2014-11-20
EP2769304B1 (en) 2023-05-03
CN103890734A (zh) 2014-06-25
EP2769304A1 (en) 2014-08-27
WO2013062941A1 (en) 2013-05-02
US9934229B2 (en) 2018-04-03
EP2769304A4 (en) 2015-11-11

Similar Documents

Publication Publication Date Title
JP6301256B2 (ja) 処理方法、コンピュータプログラム及びメタデータサポートサーバ
CN102170440B (zh) 适用于存储云间数据安全迁移的方法
CN111163182B (zh) 基于区块链的设备注册方法、装置、电子设备和存储介质
CN110912937A (zh) 一种基于区块链的数字存证平台和存证方法
US20150128121A1 (en) Dynamic application version selection
US9632765B1 (en) Customized application package with context specific token
US10783277B2 (en) Blockchain-type data storage
CN109995523B (zh) 激活码管理方法及装置、激活码生成方法及装置
CN110990335B (zh) 日志归档方法、装置、设备及计算机可读存储介质
CN111339551B (zh) 数据的验证方法及相关装置、设备
KR20160048806A (ko) 인증 문서를 자동으로 생성하는 기법
US20100223469A1 (en) Method, System and Computer Program Product for Certifying Software Origination
EP4224316A1 (en) Mirror image management method and apparatus
US20190052632A1 (en) Authentication system, method and non-transitory computer-readable storage medium
CN110572371B (zh) 基于html5本地存储机制的身份唯一性校验控制方法
US10671505B2 (en) System and method for monitoring service
JP4550487B2 (ja) ソフトウェア管理システム及び管理装置及び操作装置及びソフトウェア管理方法及びソフトウェア操作方法及びプログラム
CN116028444B (zh) 文件指纹生成方法、装置、系统、电子设备及存储介质
CN113704176B (zh) 文件扫描方法、装置、电子设备及存储介质
JP2014178721A (ja) 画像照合システム及び画像照合方法
CN110287265B (zh) 一种登录请求处理方法、装置、服务器及可读存储介质
US9213842B2 (en) Tracing data block operations
CN117932705A (zh) 基于数据指纹的高可信数据存储及使用方法、装置及设备
JP2016009030A (ja) データ管理システム
CN117806784A (zh) 一种合约定时执行的方法和相关装置

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150523

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150925

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150925

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170711

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171010

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: 20180130

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180228

R150 Certificate of patent or registration of utility model

Ref document number: 6301256

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250