(57)【要約】  一実施形態において、サーバはハッシュ識別子を利用して実行可能ファイルを識別してもよい。サーバ(110)は実行可能ファイルに関連するファイルメタデータ群に基づいてハッシュ識別子を算出してもよい。サーバ(110)はハッシュ識別子を利用して実行可能ファイルを識別してもよい。
2014531091.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが行う処理方法であって、
実行可能ファイルに関連するファイルメタデータ群に基づいてハッシュ識別子を算出するステップと、
前記ハッシュ識別子を利用して前記実行可能ファイルを識別するステップと
を有する処理方法。
【請求項２】
クライアントサポートサーバにおいて、前記ファイルメタデータ群を有するクラッシュテレメトリレポートを受信するステップ
を更に有する請求項１に記載の処理方法。
【請求項３】
前記ハッシュ識別子に基づいてクラッシュデータ群をベンダに提供するステップ
を更に有する請求項１に記載の処理方法。
【請求項４】
ベンダサポートサーバにおいて、前記ファイルメタデータ群をベンダから受信するステップ
を更に有する請求項１に記載の処理方法。
【請求項５】
クラッシュデータ群とともに前記ハッシュ識別子をクライアントサポートサーバから受信するステップ
を更に有する請求項１に記載の処理方法。
【請求項６】
前記ハッシュ識別子に関連するベンダにクラッシュデータ群を提供するステップ
を更に有する請求項１に記載の処理方法。
【請求項７】
前記ファイルメタデータ群がコンパチブルフォーマットにおけるものであることを確認するために前記ファイルメタデータ群を確認するステップ
を更に有する請求項１に記載の処理方法。
【請求項８】
コンピュータにより読み取ることが可能な有形の媒体であって、１つ以上のプロセッサにより実行される場合に、該１つ以上のプロセッサに処理方法を実行させる命令群を記憶し、前記処理方法は、
ベンダサポートサーバにおいて、実行可能なファイルに関するファイルメタデータ群をベンダから受信するステップと、
前記ファイルメタデータ群に基づいてベンダハッシュ識別子を算出するステップと、
前記ハッシュ識別子を利用して前記実行可能ファイルを識別するステップと
を有する、媒体。
【請求項９】
実行可能なファイルに関するファイルメタデータ群を受信する通信インタフェースと、
前記ファイルメタデータ群に基づいてハッシュ識別子を算出するプロセッサと、
前記実行可能ファイルを前記ハッシュ識別子に関連付けるメモリと
を有するクライアントサポートサーバ。
【請求項１０】
前記ファイルメタデータ群が、ベンダに提供されることになるクラッシュデータ群とともにクラッシュテレメトリレポート内にある、請求項９に記載のクライアントサポートサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
実施の形態は処理方法、記憶媒体及びクライアントサポートサーバ等に関連する。
【背景技術】
【０００２】
クライアント装置で動作するコンピュータアプリケーションは、コンピュータアプリケーションの動作を止めてしまうエラーを時折有するおそれがあり、そのような動作停止は「クラッシュ(crash)」と言及される。クライアント装置はクラッシュに関するデータ群(クラッシュデータ群と言及される)を収集するかもしれない。クラッシュデータ群は、クラッシュの原因に関する手掛かり(又はヒント)をベンダに提供するように、クラッシュの時点におけるコンピュータの活動(活動の内容、状況、状態等)を記述してもよい。クラッシュデータ群はユーザのプライバシを保護するために適切に匿名化されてもよい。クライアント装置はクラッシュを記述するクラッシュテレメトリレポート(crash  telemetry  report)を送信してもよい。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】欧州特許出願公開第１０３５４８２号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一観点による課題は、クラッシュの原因に関する手掛かりをベンダに提供するための処理方法、記憶媒体及びクライアントサポートサーバ等を提供することである。
【課題を解決するための手段】
【０００５】
実施の形態による処理方法は、
コンピュータが行う処理方法であって、
実行可能ファイルに関連するファイルメタデータ群に基づいてハッシュ識別子を算出するステップと、
前記ハッシュ識別子を利用して前記実行可能ファイルを識別するステップと
を有する処理方法である。
【図面の簡単な説明】
【０００６】
【図１】一実施形態によるソフトウェアクラッシュレポートシステムを示すブロック図。
【図２】一実施形態によるコンピュータ装置を示すブロック図。
【図３】一実施形態によるクラッシュテレメトリレポートを示すブロック図。
【図４】一実施形態によるベンダプログラムレポートを示すブロック図。
【図５】ベンダプログラムレポートの初期ファイリングを示す一実施形態によるシーケンスフロー図。
【図６】ファイルレポートの競合を解決する一実施形態によるシーケンスフロー図。
【図７】クライアントサポートサーバにおいてクラッシュデータを収集する一実施形態による方法を示すフローチャート。
【図８】ベンダからの実行可能ファイルを識別する一実施形態による方法を示すフローチャート。
【図９】ハッシュ識別子を作成する一実施形態による方法を示すフローチャート。
【図１０】クラッシュデータをルーティングする一実施形態による方法を示すフローチャート。
【発明を実施するための形態】
【０００７】
＜実施の形態の概要＞
この概要又はサマリは以下の詳細な説明において更に説明される概念を簡略化した形式で選択して紹介するために提供される。この概要は、特許請求の範囲に記載された主要な特徴や本質的な特徴を特定するようには意図されておらず、特許請求の範囲の内容を限定するために使用されるようにも意図されていない。
【０００８】
以下に説明される実施の形態は、ハッシュ識別子を利用して実行可能ファイルを特定するサーバに関連している。サーバは実行可能ファイルに関連するファイルメタデータ群に基づいてハッシュ識別子を算出してもよい。サーバはハッシュ識別子を利用して実行可能ファイルを識別してもよい。
【０００９】
＜実施の形態の詳細な説明＞
上記及びその他の利点及び特徴を把握できるように説明するため、より具体的な説明がなされかつそれは添付図面に示される特定の実施の形態を参照することにより示される。これらの図面は、典型的な実施形態を示すに過ぎず、発明の範囲を限定するように考えられるべきではないように理解されるべきであり、添付図面を利用して追加的な具体的な詳細事項と共に実現手段が開示及び説明される。
【００１０】
以下、実施の形態を詳細に説明する。具体的な実施の形態を説明するが、それは説明を目的としているに過ぎないことが理解されるべきである。本願による開示内容の精神及び範囲から逸脱することなく、他のコンポーネント(要素又は部分)やコンフィギュレーション(又は構成)等を使用してよいことが当業者に認められるであろう。発明の実現は、コンピュータ(又はマシン)により実行される方法によりなされてもよいし、コンピュータにより読み取ることが可能な有形の記憶媒体(記憶媒体には少なくとも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つのシステムに必ずしも限定されない。従って上記の具体的な実施形態ではなく、添付の特許請求の範囲及びその法的な均等物によってのみ本発明が規定される。
【図１】
2014531091.tif 000003
【図２】
2014531091.tif 000004
【図３】
2014531091.tif 000005
【図４】
2014531091.tif 000006
【図５】
2014531091.tif 000007
【図６】
2014531091.tif 000008
【図７】
2014531091.tif 000009
【図８】
2014531091.tif 000010
【図９】
2014531091.tif 000011
【図１０】
2014531091.tif 000012
【国際調査報告】
2014531091.tif 000013
2014531091.tif 000014