(57)【要約】      （修正有）【課題】手作業でエラーコードを書き写すことなく、エラー情報を正確に技術サポート担当者に伝達する。【解決手段】コンピューティングデバイス１００のエラー処理ロジック２０１は、エラーイベントに呼応してエラー情報を収集し、２次元バーコード画像２０５に変換し、表示デバイス２０７に表示する。ユーザはデジタルカメラ２２３等を用いて前記画像を撮影し、電子メールまたはその他の電子的な手段を介して、エラーをデバック可能な担当者（解析者またはプログラマ）のワークステーション２４０に送信する。担当者は、前記画像を復号することにより正確なエラー情報を取得する。【選択図】図２
2011003179.tif 000002
【特許請求の範囲】
【請求項１】
エラー処理ロジックを有する第１コンピューティングデバイスと、
高コントラストグラフィカル画像をエラーレポーティングロケーションへ送信する手段と、
画像復号ロジックを有する第２コンピューティングデバイスと
を備え、
前記エラー処理ロジックは、前記第１コンピューティングデバイスのエラーイベントに呼応して、エラー情報を収集し、前記エラー情報を所定の形式にフォーマットし、前記第１コンピューティングデバイスは、バーコードジェネレータをさらに有し、前記バーコードジェネレータは、前記フォーマットされたエラー情報を高コントラストグラフィカル画像に変換し、
前記画像復号ロジックは、前記高コントラストグラフィカル画像を復号し、前記グラフィカル画像に埋め込まれた情報に基づいてエラーレポートを生成し、前記エラーレポートは、エラー解析者／プログラマに前記エラーイベントの原因の判断に用いられる情報を提供する、
高コントラストグラフィカル情報を用いたエラーレポーティングシステム。
【請求項２】
前記高コントラストグラフィカル画像を送信する手段が、
前記第１コンピューティングデバイスから前記高コントラストグラフィカル画像を受信し、前記高コントラストグラフィカル画像を可視的に表示する表示デバイスと、
前記可視的な画像をキャプチャする画像キャプチャデバイスと、
前記可視的な画像を前記エラーレポーティングロケーションへ送信する伝送デバイスと
をさらに有する請求項１に記載のシステム。
【請求項３】
前記画像キャプチャデバイスは、電子的通信インタフェースを有する前記伝送デバイスに結合されて、電子メールの添付、前記エラーレポーティングロケーションにアクセス可能なデータストアにアップロードされるファイル、電子的な掲示板またはウェブサイトポスト、あるいは他の電子通信されるデータファイルのいずれかとして前記キャプチャされた画像を前記エラーレポーティングロケーションへ送信するべく、機械可読なファイルにフォーマットする請求項２に記載のシステム。
【請求項４】
印刷された高コントラストグラフィカル画像をスキャンし、機械可読な画像を生成するスキャナをさらに備え、
前記画像キャプチャデバイスは、前記可視的な画像を直接、あるいは前記第１コンピューティングデバイスまたは第３コンピューティングデバイスを介して出力デバイスへ伝送し、前記出力デバイスは前記可視的な画像を前記印刷された高コントラストグラフィカル画像として印刷し、
前記機械可読なスキャンされた画像は、解析のため前記エラーレポーティングロケーションに電子的に送信される請求項２に記載のシステム。
【請求項５】
前記画像キャプチャデバイスは、アナログカメラ、デジタルカメラ、前記伝送デバイスに結合されたデジタルカメラ、動画の周期的なフレームをキャプチャするビデオカメラ、オーディオ／ビデオデバイス、ウェブカム、および携帯型ビデオカメラからなるキャプチャデバイスの群から選択される請求項２に記載のシステム。
【請求項６】
前記表示デバイスは、プリンタを含む請求項２に記載のシステム。
【請求項７】
前記表示デバイスは、ビデオモニタを含む請求項２に記載のシステム。
【請求項８】
前記画像キャプチャデバイスは、前記可視的な画像を電子的な形式でデータストアに格納し、
前記可視的な画像は、前記伝送デバイスを介して前記可視的な画像を前記エラーレポーティングロケーションへ伝送する第３コンピューティングデバイスまたは前記第１コンピューティングデバイスのいずれかによって前記データストアから取得される請求項２に記載のシステム。
【請求項９】
印刷された高コントラストグラフィカル画像をスキャンし、機械可読な画像を生成するスキャナをさらに備え、
前記画像キャプチャデバイスは、前記可視的な画像を電子的な形式でデータストアに格納し、
前記可視的な画像は、前記可視的な画像を出力デバイスへ伝送する第３コンピューティングデバイスまたは前記第１コンピューティングデバイスのいずれかによって前記データストアから取得され、
前記出力デバイスは、前記可視的な画像を前記印刷された高コントラストグラフィカル画像として印刷し、
前記スキャンされた機械可読な画像は、解析のため前記エラーレポーティングロケーションに電子的に送信される請求項２に記載のシステム。
【請求項１０】
前記高コントラストグラフィカル画像を送信する手段は、前記高コントラストグラフィカル画像を前記第１コンピューティングデバイスから取得し、前記高コントラストグラフィカル画像を可視的に表示する表示デバイスをさらに有し、
前記表示デバイスは、プリンタを有し、前記高コントラストグラフィカル画像は印刷物に直接表示される請求項１に記載のシステム。
【請求項１１】
前記エラーレポーティングロケーションに前記印刷物を物理的に送信させる配信システムをさらに備える請求項１０に記載のシステム。
【請求項１２】
前記印刷物をスキャンし、機械可読な画像を生成するスキャナをさらに備え、
前記可視的な画像を前記エラーレポーティングロケーションに送信する手段は、郵便、一般運送業者、自家用運送者、クーリエ便のいずれかによる前記印刷物を前記エラーレポーティングロケーションへの送信を含み、
前記スキャンされた機械可読な画像は、前記第２コンピューティングデバイスにアクセス可能なデータストアに格納される請求項１１に記載のシステム。
【請求項１３】
前記第１コンピューティングデバイスが前記表示デバイスの表示設定を自動的に調整し、前記高コントラストグラフィカル画像を表示する前に前記表示デバイスにグラフィカル画像を表示可能にさせる請求項２に記載のシステム。
【請求項１４】
エラー処理ロジックを有する第１コンピューティングデバイスと、
高コントラストグラフィカル画像を前記第１コンピューティングデバイスから取得し、前記高コントラストグラフィカル画像を可視的に表示する表示デバイスと、
前記表示デバイスに表示された前記可視的な画像をキャプチャする画像キャプチャデバイスと、
解析者がエラーイベントの原因を診断しうるよう処理および復号すべく前記可視的な画像をエラーレポーティングロケーションに送信する伝送デバイスと
を備え、
前記エラー処理ロジックは、前記第１コンピューティングデバイスの前記エラーイベントに呼応して、エラー情報を収集し、前記エラー情報を所定の形式にフォーマットし、前記第１コンピューティングデバイスは、バーコードジェネレータをさらに有し、前記バーコードジェネレータは、前記フォーマットされたエラー情報を前記高コントラストグラフィカル画像に変換する、
高コントラストグラフィカル情報を用いたエラーレポーティングシステム。
【請求項１５】
前記伝送デバイスは前記画像キャプチャデバイスに結合された請求項１４に記載のシステム。
【請求項１６】
前記画像キャプチャデバイスは、アナログカメラ、デジタルカメラ、前記伝送デバイスに結合されたデジタルカメラ、動画の周期的なフレームをキャプチャするビデオカメラ、オーディオ／ビデオデバイス、ウェブカム、および携帯型ビデオカメラからなるキャプチャデバイスの群から選択される請求項１４に記載のシステム。
【請求項１７】
前記表示デバイスは、プリンタを含む請求項１４に記載のシステム。
【請求項１８】
印刷された高コントラストグラフィカル画像をスキャンし、機械可読な画像を生成するスキャナをさらに備え、前記機械可読なスキャンされた画像は、解析のために前記エラーレポーティングロケーションへ電子的に送信される請求項１７に記載のシステム。
【請求項１９】
前記エラーレポーティングロケーションに印刷物を物理的に送信可能にする配信システムをさらに備える請求項１７に記載のシステム。
【請求項２０】
前記第１コンピューティングデバイスが前記表示デバイスの表示設定を自動的に調整し、前記高コントラストグラフィカル画像を表示する前に前記表示デバイスにグラフィカル画像を表示可能にさせる請求項１４に記載のシステム。
【請求項２１】
エラー解析システムであって、
第２コンピューティングデバイスを備え、
前記第２コンピューティングデバイスは、画像復号ロジックを有し、
前記画像復号ロジックは、高コントラストグラフィカル画像を復号し、
前記高コントラストグラフィカル画像は、エラーイベントに呼応して第１コンピューティングデバイスで生成されたエラー情報を示し、
前記第２コンピューティングデバイスは、さらに前記グラフィカル画像に埋め込まれた情報に基づいてエラーレポートを生成し、
前記エラーレポートは、前記第１コンピューティングデバイスで発生した前記エラーイベントの原因の判断に用いられる情報をエラー解析者／プログラマに提供し、
前記グラフィカル画像は、前記第１コンピューティングデバイスのオペレータから直接的または間接的に受信される
システム。
【請求項２２】
前記高コントラストグラフィカル画像が電子的な形式で受信される請求項２１に記載のシステム。
【請求項２３】
印刷物をスキャンし、機械可読な画像を生成するスキャナをさらに備え、
前記高コントラストグラフィカル画像は前記印刷物として受信され、
前記機械可読なスキャンされた画像は、前記画像復号ロジックによって取得されるべく、前記第２コンピューティングデバイスにアクセス可能なデータストアに格納される請求項２１に記載のシステム。
【請求項２４】
高コントラストグラフィカル情報を用いたエラーレポーティングの方法であって、
エラーイベントに呼応し、第１コンピューティングデバイスのエラー情報を自動的に収集する段階と、
エラー情報を二次元バーコードジェネレータに入力可能である所定の電子的な形式にフォーマットする段階と、
前記二次元バーコードジェネレータで高コントラストグラフィカル画像を生成する段階と、
表示デバイスに前記高コントラストグラフィカル画像を表示する段階と
を備える方法。
【請求項２５】
前記表示デバイスはプリンタであって、前記高コントラストグラフィカル画像を表示する段階は、前記画像を印刷物の少なくとも１ページに印刷する段階を有し、
前記高コントラストグラフィカル画像をエラーレポートサイトへ送信する段階をさらに備える請求項２４に記載の方法。
【請求項２６】
前記印刷物は郵便、一般運送業者、自家用運送者、クーリエ便によってエラーレポーティングロケーションへ印刷物として送られる請求項２５に記載の方法。
【請求項２７】
前記表示された高コントラストグラフィカル画像を画像キャプチャデバイスでキャプチャする段階と
前記キャプチャした画像をエラーレポーティングロケーションへ送信する段階と
をさらに備える請求項２４に記載の方法。
【請求項２８】
前記画像キャプチャデバイスは電子的な画像を生成し、前記キャプチャした画像を送信する段階は、有線または無線通信インタフェースのいずれかを介して前記電子的な画像を送信する段階を有する請求項２７に記載の方法。
【請求項２９】
前記画像キャプチャデバイスは、伝送デバイスに結合され、前記伝送デバイスは、前記電子的な画像を送信する請求項２８に記載の方法。
【請求項３０】
前記画像をキャプチャ後、前記画像を送信する前に前記キャプチャした画像を印刷物に印刷する段階と、
電子的な画像を生成すべく前記印刷物をスキャンする段階と
をさらに備え、
前記キャプチャされた画像を送信する段階は、前記電子的な画像を送信する段階を有する請求項２７に記載の方法。
【請求項３１】
エラー情報を示す高コントラストグラフィカル画像をエラーレポーティングロケーションで受信する段階と、
前記グラフィカル画像に埋め込まれた情報に基づいてエラーレポートを作成すべく前記高コントラストグラフィカル画像を画像復号で復号する段階と、
前記エラー情報は、第１コンピュータで発生しているエラーイベントに呼応して生成され、
前記エラーレポートは、前記第１コンピュータで発生している前記エラーイベントの原因の判断に用いられる情報をエラー解析者／プログラマに提供するエラー解析方法。
【請求項３２】
電子的な画像を前記画像復号がアクセス可能なデータストアに格納する段階をさらに備え、
前記高コントラストグラフィカル画像が電子的な形式で受信される請求項３１に記載の方法。
【請求項３３】
機械可読な画像を生成すべく印刷物をスキャンする段階と、
前記機械可読なスキャンされた画像を前記画像復号がアクセス可能なデータストアに格納する段階と
をさらに備え、
前記高コントラストグラフィカル画像が前記印刷物として受信される請求項３１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、概してコンピュータシステムにおけるエラーレポーティングに関する。より具体的には、二次元（２Ｄ）バーコードとして表示およびキャプチャが可能なコンパクトなクラッシュダンプの生成に関する。
【背景技術】
【０００２】
オペレーティングシステムまたはその他の低レベルソフトウェアがクラッシュした場合、ソフトウェアの業者または管理者にバグレポートが提出できるよう、少なくともコアマシンステートをキャプチャすることが非常に望ましい。システムの問題を正しく診断するには正確なバグレポートが必要である。
【０００３】
コンピューティングシステムにおいてランタイムエラーに関する情報をキャプチャおよび表示するメカニズムは、多種存在する。クラッシュが恒久的ではない場合、あるいは比較的軽度な場合、クラッシュダンプ情報は、一般的に機械可読な形式でキャプチャされて解析者へ転送されるか、あるいは後の解析のために保存されてよい。より深刻なエラーについては、これが不可能な場合がある。クラッシュまたはエラー情報は、人間が読み取り可能な形、例えば「システムをシャットダウンしています」などの単純な文字で表示されることが多い。この情報は膨大になることがあり、また、専門家でない人にとってはデータが理解不能な場合がある。既存のシステムにおいては、デバッグのためにユーザが手作業でエラーコードを書き写し、技術サポート担当の管理者へ転送する必要がある。この手作業の書き写しでは誤りが起こりやすく、この情報における誤りは、些細であってもクラッシュ情報を使用不可能にさせうる。コードを書き写さず、クラッシュダンプ情報を表示しているモニタまたは画面を撮像し、解析のために情報を転送するユーザがいることが知られている。しかしながら、こうした写真は処理に手間がかかり、また低品質で役に立たない場合が多い。
【０００４】
一次元および二次元（１Ｄおよび２Ｄ）バーコードは、他の分野において用いられている。例えば、スーパーのスキャンではＵＰＣ（統一商品コード、ｕｎｉｖｅｒｓａｌ  ｐｒｏｄｕｃｔ  ｃｏｄｅ）を用いて製品が識別されている。米国郵政公社は、手紙の郵便番号の符号化に１Ｄバーコードを用いている。ＵＰＳ宅配便（Ｕｎｉｔｅｄ  Ｐａｒｃｅｌ  Ｓｅｒｖｉｃｅ）は、配送のための住所の識別に２Ｄバーコードを用いている。日本では、広告の策略として２Ｄバーコードが携帯電話のカメラ技術と組み合わされている。ウェブアドレスおよびＵＲＬを表現するＱＲコード（登録商標）に準拠したバーコードは、雑誌の広告、看板、バス、ビジネスカード、あるいはユーザがより多くの情報を所望しうるあらゆる物体上に現れてよい。適切な読み取りソフトウェアが搭載された携帯電話のユーザは、ＱＲコード（登録商標）の画像をスキャンすることで、携帯電話にブラウザを起動させ、プログラムされたＵＲＬへリダイレクトさせる。図４は、ＱＲコード（登録商標）で符号化されたバーコードの例であり、ウィキペディア（Ｗｉｋｉｐｅｄｉａ）のウェブサイトを表す。
【図面の簡単な説明】
【０００５】
本発明の特徴および利点は、以下の本発明の詳細な説明によって明らかとなる。
【０００６】
【図１】本発明の実施形態においてユーザが操作しうるシステムのブロック図を示す。
【０００７】
【図２】本発明の実施形態における、エラーレポーティングおよび解析を支援する二次元（２Ｄ）バーコードの生成および使用のブロック図を示す。
【０００８】
【図３】本発明の実施形態における、エラーレポートのための２Ｄバーコードの使用方法のフローチャートを示す。
【０００９】
【図４】ウィキペディア（Ｗｉｋｉｐｅｄｉａ）のウェブサイトを表す、ＱＲコード（登録商標）で符号化されたバーコードを示す。
【発明を実施するための形態】
【００１０】
本発明の実施形態は、二次元（２Ｄ）バーコードとして表示および／またはキャプチャが可能なコンパクトなクラッシュダンプの生成および使用に関するシステムおよび方法である。少なくとも１つの実施形態では、本発明は、エラーの発生を示す場合に単純な文字またはコードではなく２Ｄバーコードを用いることを目的としている。２Ｄバーコードは、本質的にエラーに対する耐性がより高いわけではない。例えば、ＱＲコード規格は、バーコード内部に埋め込まれるエラー修正情報を含む。十分なエラー修正情報と共に符号化された場合、２Ｄバーコードは手作業の書き写しよりもトランザクションエラーが低い傾向にある。十分なエラー修正情報を伴った２Ｄバーコードは、携帯デバイス（例えば携帯電話）に結合したカメラなど、極めて低い解像度で撮像された場合でも正確に復号されうる。さらに、ある表示画面上で２Ｄバーコードは、同じ大きさの画面で文字を用いて利用できる情報よりも多くの情報を含みうる。
【００１１】
本発明の明細書における「１つの実施形態」または「ある実施形態」とは、実施形態に関連して説明される特定の機能、構造、あるいは特性が本発明の少なくとも１つの実施形態に含まれることを意味する。従って、明細書中に亘って様々な箇所に現れる「１つの実施形態では」の文言の全ては、必ずしも同じ実施形態を参照しているとは限らない。
【００１２】
説明の便宜上、本発明の十分な理解を促進すべく特定の構成および詳細を示す。しかしながら、本発明の実施形態は以下に示す特定の詳細なしに実行可能であることは当業者にとって明らかである。またさらに、本発明を不明瞭にせぬよう、公知の機能は省略または簡易化される場合がある。本説明に亘って様々な例が示されてよい。これらは、本発明の特定の実施形態の説明に過ぎない。本発明の範囲は、示される例に限定されない。
【００１３】
本発明のある実施形態では、ダンプ情報を人間が読み取り可能な文字の形式で表示する代わりに、ダンプ情報を「２Ｄバーコード」と呼ばれる形式で表示する。ここでの「２Ｄバーコード」とは、コンピュータによって復号されるべく特別にデザインされた高コントラストなグラフィカルパターンを意味する。一般的に、バーコードはエラー修正情報を伴って生成される。２Ｄバーコードは、グラフィカルパターン、高コントラスト、およびエラー修正情報の特性により、完璧ではない条件下においても復号されることが可能である。そのようなパターンは撮像され、極めて悪い条件下であってもコンピュータプログラムが写真から関連情報を抽出しうる。
【００１４】
著者はＱｕｉｃｋ  Ｒｅｓｐｏｎｓｅまたは「ＱＲ」と呼ばれる２Ｄバーコード規格を用いた初めのプロトタイプにおいて本発明のプロトタイプの実施形態を実装した。本開示を読んだ当業者にとっては当然のことながら、開示された主題の思想から逸脱することなく、他の２Ｄバーコードが既に存在、あるいは開発されてよい。
【００１５】
またさらに、標準的サイズの画面において２Ｄバーコードを用いた場合、たとえ画像キャプチャ処理の不完全さを考慮したとしても、人間が読み取り可能な文字を用いた場合よりも多くの情報を表示しうる。
【００１６】
図１は、本発明の実施形態においてユーザが操作しうるシステム１００のブロック図を示す。ある実施形態では、プロセッサ１１０は、フロントサイドバス１０１を介してノースブリッジとしても知られるメモリコントローラハブ（ＭＣＨ）１１４と通信してよい。ＭＣＨ１１４はメモリバス１０３を介してシステムメモリ１１２と通信してよい。またＭＣＨ１１４はグラフィックスバス１０５を介してグラフィックスデバイス１１６Ｂと通信してよい。グラフィックスカードはシステム拡張バス、ＰＣＩ、ＰＣＩ  Ｅｘｐｒｅｓｓバスまたはその類似を介してプロセッサと結合されてよい。一部の実施形態では、メモリコントローラがプロセッサ（図示なし）と一体であってよい。ＭＣＨ１１４は、ＰＣＩバス１０７を介してサウスブリッジとしても知られるＩ／Ｏコントローラハブ（ＩＣＨ）１２０と通信してよい。一部の実施形態では、グラフィックスはＭＣＨ（１１６Ａ）またはＩＣＨ（１１６Ｃ）と一体であってよい。ＩＣＨ１２０は、ＰＣＩハードドライブ（図示なし）、ＩＤＥ１２２、ＵＳＢ１２４、ＬＡＮ１２６、および音声１２８のようなレガシーコンポーネント、およびＬＰＣ（ｌｏｗ  ｐｉｎ  ｃｏｕｎｔ）バス１０９を介してスーパーＩ／Ｏ（ＳＩＯ）コントローラ１５６などの複数のコンポーネントと結合してよい。一部の実施形態では、システムはＩＣＨではなく出入力ハブ（ＩＯＨ）を用いてよい。
【００１７】
プロセッサ１１０は、マイクロプロセッサ、デジタル信号プロセッサ、マイクロコントローラ、またはその類似など、ソフトウェアを実行可能なあらゆるタイプのプロセッサであってよい。図１はこのようなプロセッサ１１０を１つのみ示すが、プラットフォームハードウェア１００には複数のプロセッサがあってよく、複数のプロセッサは複数のスレッド、複数のコア、またはその類似を含んでよい。
【００１８】
メモリ１１２はハードディスク、フロッピー（登録商標）ディスク、ＲＡＭ、ＲＯＭ、フラッシュメモリ、あるいはプロセッサ１１０によって読み取り可能なあらゆるタイプの媒体であってよい。メモリ１１２は本発明の方法の実施形態の実行を実施する命令を格納してよい。
【００１９】
フラッシュメモリ１５２のような不揮発性メモリは、ＬＰＣバス１０９を介してＩＯコントローラに結合されてよい。フラッシュメモリ１５２には一般的にＢＩＯＳ（ｂａｓｉｃ  ｉｎｐｕｔ  ｏｕｔｐｕｔ  ｓｙｓｔｅｍ）ファームウェア１５４が備わっており、ブートアップがフラッシュまたはファームウェアからの命令を実行する。
【００２０】
一部の実施形態では、プラットフォーム１００はサーバ管理タスクを有効にするサーバである。このプラットフォームの実施形態は、ＬＰＣ１０９を介してＩＣＨ１２０に結合されたベースボード管理コントローラ（ＢＭＣ、ｂａｓｅｂｏａｒｄ  ｍａｎａｇｅｍｅｎｔ  ｃｏｎｔｒｏｌｌｅｒ）１５０を有してよい。他の実施形態は、ＢＭＣに加えて、あるいはその代替として内蔵マイクロプロセッサを用い、例えばＩｎｔｅｌ（登録商標）Ａｃｔｉｖｅ  Ｍａｎａｇｅｍｅｎｔ  Ｔｅｃｈｎｏｌｏｇｙ（ｉＡＭＴ）またはｖＰｒｏ（商標）テクノロジを実装してよい。一部の実施形態では、内蔵マイクロプロセッサが電源およびネットワークインタフェースデバイスの両方への独立した接続を有してよい。
【００２１】
図２は、本発明の実施形態における、エラー処理／レポーティングおよび解析を支援する二次元（２Ｄ）バーコードを生成および使用するシステムのブロック図を示す。例えば、図１に示されたユーザオペレーティングシステム１００において、処理中にエラーが発生する場合がある。プラットフォームは、ビデオインターフェースチップまたはカード２０３を介してモニタ２０７またはその他の表示デバイスに通信的に結合されている。オペレーティングシステムのクラッシュなどのエラーが発生した場合、プラットフォーム１００のエラー処理モジュール２０１のプロセッサにおいて実行されてよい。
【００２２】
エラー処理ルーチンは、エラーに至るまでの最も関連性のあるマシーンステートの断片を凝縮する。処理された情報は、プラットフォーム１００上で動作する２Ｄバーコードジェネレータへ送信される。生成されたバーコード２０５は、表示デバイス２０７に表示される。
【００２３】
本発明の実施形態では、一般的に、エラーをデバック可能な担当者（解析者またはプログラマ）を有するネットワークにシステム１００が接続していない場合がある。あるいは、通常ネットワークに接続していても、深刻なエラーにより、マシーンステートおよびエラー情報が解析者へ電子的に送信すること、あるいは不揮発性ストレージに保存することが不可能な場合がある。本来であれば、電子的にフォーマットされたドキュメントはネットワーク上に送信されることが可能であり、バーコードの表示はあまり有用ではない。問題が対処されうるよう正確な情報を解析者に送信可能であることが肝要である。
【００２４】
既存のシステムでは、ユーザは、解析者へ転送するために、限りなく文字列を手書きで書き写すことを余儀なくされてきた。しかしながら、エラーの視覚的表現のあらゆる手書きの写しでは、数字の間違いまたは０／８／６の混同などの誤りが起こりやすい。賢明または能率的な一部のユーザは、クラッシュダンプ情報の画面を撮像し、解析者へ写真を電子的に送信することを試みた。しかしながら、撮像によるこの方法も（例えば携帯電話またはＰＤＡの）カメラの低解像度または手ぶれによって、極めてエラーが発生しやすい。さらに、低解像度でキャプチャされた文字データは、人間の目またはＯＣＲ（光学式文字認識）ソフトウェアによって正しく解読されない場合が多い。
【００２５】
本発明の実施形態では、ユーザはデジタルカメラ２２３または携帯電話あるいはその他の携帯デバイス２２１に結合されたカメラを用いてよい。生成された２Ｄバーコードは、低解像度の写真撮像に極めて好適である高コントラストなグラフィックスである。従って、写真画像がワークステーション２４０の解析者へ送信された場合、より正確に復号されうる。
【００２６】
ある実施形態では、有線または無線通信インタフェースを有する携帯デバイス２２１が用いられた場合、画像はグローバルインターネットなどのネットワーク２３０を介し、電子メールの添付として解析者に直接送信されてよい。用いられるデバイスによっては、その他の無線転送方法が用いられてよい。ユーザがデジタルカメラ２２３のみを有する場合は、画像は印刷された後に（図示なし）、スキャナ２１０を用いてスキャンされてよい。スキャンされた２Ｄバーコードの電子的な写真画像は、電子メールまたはその他の電子的な手段を介して解析者へ送信されてよい。エラーイベントが恒久的ではない場合、システムのリブートがユーザをネットワークに再接続しうる。この場合、バーコード画像は、コンピュータへアップロードされ、印刷またはスキャンを必要とすることなく電子メールで解析者へ直接送信されうる。当然のことながら、エラーの恒久性に関わらず、解析者へ転送するためのネットワーク接続を有するあらゆるコンピュータへデジタル画像がアップロードされてよい。ある実施形態では、画像は、電子メールで送信、サーバ、ウェブサイト、掲示板へアップロード、あるいはユーザおよび解析者が利用するその他のあらゆるエラーレポーティングロケーションに掲載されてよい。別の実施形態では、画像は印刷物として解析者、レポーティングサイト、または第三者へ直接送付されてよい。この場合、印刷物は解析者または第三者へ到達するまでスキャンされない。解析者または第三者は、バーコードデコーダユニットがアクセス可能な所望の場所にスキャンされた画像をアップロードしてよい。
【００２７】
別の実施形態では、アナログカメラが用いられてよい。しかしながら、この場合にはフィルムの現像が必要となる。一部の業者はネガをスキャンし、ＪＰＥＧファイルなどの写真の電子的画像をユーザに提供しうる。別の実施形態では、印刷されたフィルムをユーザがスキャナ２１０でスキャンし、電子的画像を作成する必要がある。別の実施形態では、上述のように、印刷された写真をユーザが解析者または第三者に印刷物として送付してよい。
【００２８】
エラーの深刻さによっては、ユーザのシステム１００が写真のスキャンおよび電子的な提出に利用可能な場合と、不可能な場合がある。エラーが障害のあるシステム１００の使用を妨げるほど深刻な場合、エラーレポートおよび２Ｄバーコード画像を提出するべく、ネットワークに接続可能な別のシステム（図示なし）にスキャナ２１０が接続されてよい。
【００２９】
２Ｄバーコード画像が解析者によって受け取られると、マシーンステートおよびその他のコンテクスト情報を解析するべく、画像の復号に復号化ユニットが用いられてよい。ある実施形態では、２Ｄバーコードの電子的な表現がシステム２４１に格納され、２Ｄバーコードデコーダモジュールに入力される。
【００３０】
図３は、本発明の実施形態における、エラーレポートのための２Ｄバーコードの使用方法のフローチャートを示す。ブロック３０１では、プラットフォーム（１００）で実行しているオペレーティングシステムがエラーを検知する。ブロック３０３では、システムがエラー情報を収集する。オペレーティングシステムおよびエラーの深刻さに応じて、収集はオペレーティングシステム、システムサービス、内蔵マイクロプロセッサ、あるいは他の手段によって実行される。非致命的なエラーは、通常のランタイムプロセスを用いてデータストア３２０、エラーログ、またはその類似に格納されてよい。その後、システムはブロック３０４へ進み、エラーログは後に表示されてよい。ある実施形態では、非致命的なエラーを示す２Ｄバーコードを生成することが望ましい場合があり、処理はブロック３０５へ進んでよい。
【００３１】
エラーがオペレーティングシステムにとって致命的な場合、ブロック３０３における情報の収集またはコンパイルにファームウェアサービスが必要な場合がある。当然のことながら、エラーの深刻さまたは所定の管理ポリシーに応じ、様々なレベルのコンテクスト情報へのアクセスが可能であってよい。収集された情報は、バーコードジェネレータが許容可能なよりコンパクトな形式へと符号化されてよい。ある実施形態では、標準的な２Ｄバーコードグラフィックスを生成するべく、エラーコードおよび情報が、ＩＳＯ／ＩＥＣ規格１８００４：２００６に定義された「ＱＲ」形式へとコンパクト化されてよい。当然のことながら、ＩＳＯ規格は、入力形式および結果のバーコードを定義するが、ここに開示するバーコードの使用については説明していない。その他のバーコードジェネレータが使用あるいは開発されてもよいが、対応するバーコード復号化ユニットに解析者がアクセス可能であることが必要である。２Ｄバーコードはブロック３０５で生成される。
【００３２】
当然のことながら、エラーが非致命的であり、かつシステム１００がネットワークと通信可能であれば、エラーのレポートのための２Ｄバーコードの生成が不要な場合がある。この場合、許容されうるあらゆる電子的（人間が読み取り可能ではない）形式で、生のエラーコード情報がネットワーク接続を介して解析者へ転送されてよい。しかしながら、エラーがリブートを要する場合、コンテクスト情報の一部が失われる場合があり、２Ｄバーコードは、コンテクストデータが上書きされる前にそれを保存する手段である。
【００３３】
ネットワークが利用可能でない場合、エラーをレポートするその他の方法が用いられてよい。エラーイベントを経験すると、エラーの発生時にモニタの表示モードが不明な状態あるいは文字のみのモードとなる場合がある。従って、モニタが２Ｄ高コントラストグラフィカルバーコードをグラフィカルに表示するに適切な表示モードであるか否かを判断する必要がある。エラー収集／レポーティングモジュールは、モニタの表示モードをグラフィカルモードへと自動的に調整する。ブロック３０７では、システムの構成に応じて、表示デバイスにクエリが送信されるか、レジスタが監視されるか、あるいは現在のモードに関わらずファームウェアによってモードが自動的にグラフィカル表示へと変更されてよい。表示モードが確定されると、ブロック３０９で視覚的にユーザにアクセス可能となるべく、２Ｄバーコードが表示デバイスに表示される。一部の実施形態では、例えば画像のキャプチャ方法あるいは画像の送信先など、ユーザへの文字および／またはグラフィカルな指示がモニタに表示されてよい。
【００３４】
ブロック３１１では、２Ｄバーコード画像がキャプチャされ、ブロック３３７でエラーレポーティングサイトまたは人物へ送信される。ブロック３１１では様々なキャプチャ形式が用いられてよい。ある実施形態では、アナログまたはデジタルカメラなどの撮像デバイスあるいは動画キャプチャデバイスを用いて画像を手動で撮像してよい。動画キャプチャデバイスは、バーコード画像が複数存在する場合に有用である。一部の実施形態では、全ての画像が完全に表示されるまで、バーコード画像が表示モニタで上下にスクロールしてよい。システム１００がサーバである場合、あるいは頻繁に放置される場合には、表示モニタへ向けて固定の静止画または動画カメラを設定し、画像をキャプチャしてよい。ある実施形態では、バーコード画像をキャプチャするべく、別のコンピューティングシステムに結合されたウェブカメラを用いてよい。画像のキャプチャはシステム１００のファームウェアまたは外部の監視デバイスによるシステムソフトウェアによって自動的に起動されてよく、あるいは撮像デバイスが表示エリアの周期的な画像をキャプチャするために恒久的にキャプチャ位置に設定されてよい。固定カメラは直接あるいは別のコンピューティングデバイスを介してネットワークに接続されてよい。ある実施形態では、固定カメラは、連続的に上書きされる連続または周期的な静止画または動画をキャプチャしてよい。ある場合には、部屋の様々な場所、つまり様々なコンピューティングデバイスに接続された様々な表示デバイスに向かうようにキャプチャデバイスが遠隔的に動作可能であってよい。キャプチャデバイスは、画像処理および／または２Ｄバーコード画像の表示を自動的に検知可能なパターン認識モジュールに結合されてよく、画像を上書きさせることなく保存してよい。この場合、ブロック３３７では、キャプチャ後に画像が解析者へ自動的に送信される。別の場合には、管理者がエラーについて警告され、手動であるいは遠隔的にキャプチャのためにカメラを位置付けてよい。
【００３５】
ブロック３１１でシステム１００のユーザが手動でバーコード画像をキャプチャする場合がよくある。例えば、ユーザが内蔵カメラ付の携帯電話またはＰＤＡなどの無線携帯デバイスで画像をキャプチャする場合、画像はブロック３３７でエラーレポーティングサイトに直接アップロードされるか、電子メールメッセージで解析者に直接送信されるか、あるいはその類似がなされてよい。当然のことながら、内蔵カメラおよび有線または無線通信インタフェースの両方を有する既存のあるいは今後開発されるあらゆるデバイスが、画像キャプチャおよびエラーレポーティングサイトへの電子的伝送に用いられてよい。
【００３６】
別の実施形態では、カメラに直接結合された通信デバイスをユーザが所持しない場合がある。この場合、電子的画像を作成すべく、ブロック３３１で画像が印刷され、スキャンされてよい。当然のことながら、一旦電子的な形式となると、２Ｄバーコード画像は、ユーザが利用可能なキャプチャ、撮像、スキャンおよび通信デバイスに応じ、様々な方法で印刷、転送、あるいはブロック３３７で解析者に直接送信されてよい。開示された主題の趣旨から逸脱することなく、同じユーザが異なる場合に、同じシステムのエラーのレポートについて、異なる様々な方法を用いてよい。
【００３７】
別の実施形態では、表示デバイスが動画モニタではなくプリンタであってよい。これは、サーバに接続された動画表示デバイスがない場合に有用である。この場合、２Ｄバーコード画像は、ブロック３１１で紙または類似の材料に直接印刷される。その後、印刷物はブロック３３１でスキャンされ、電子的画像に変換される。そしてブロック３３７でエラーレポーティングサイトまたは個人へ送信される。上述のように、印刷された画像は固定の画像キャプチャデバイスによって遠隔的に表示されるか、あるいは電子的にキャプチャされてもよい。２Ｄバーコード画像をプリンタへ送信する機能は、モニタが利用不可能、あるいは壊れており、プリンタがＵＳＢポートを介して接続されている場合で、たとえＣＯＭポートまたはネットワークプリンタが利用不可能でもＵＳＢポートは動作可能である場合に特に有用である。まれに、ブロック３３５で郵便、ＦＡＸ、宅配便またはその類似によって、印刷された２Ｄバーコード画像を直接エラーレポーティングサイトへ送付することをユーザが選択する場合がある。この場合、印刷された画像は、ブロック３４１で解析者または第三者によってスキャンされ、デコーダユニットで読み取り可能な電子的な形式に変換される。低解像度なＦＡＸ機／伝送による深刻な劣化のため、既存の文字エラーコードの複写方法ではＦＡＸ伝送は不可能である。しかしながら、頻繁にあることではないが、グラフィック画像の高コントラストおよび内蔵されたエラー修正コードにより、２ＤバーコードのＦＡＸ送信が受信者によって正確に復号されうる場合がある。
【００３８】
別の実施形態では、ユーザは内蔵の通信インタフェースを有さないデジタルカメラデバイスで画像をキャプチャする場合がある。この場合、画像ファイルはブロック３３３でコンピュータにアップロードされるか、あるいはメモリカードまたはＵＳＢケーブルを介して別の有線または無線のネットワークに接続されたデバイスへ転送されてよい。デジタル画像がネットワークに接続されたデバイスからアクセス可能になると、画像はブロック３３７で、印刷またはスキャンされることなくエラーレポーティングサイトへ電子的に送信されうる。
【００３９】
ブロック３３７でエラーレポーティングサイトまたは担当者へ電子的な画像が送信されると、今後の処理のためにローカルまたはネットワークアクセスが可能なデータストアに２Ｄバーコード画像が格納されてよい。ブロック３４３では、新たなエラーをレポートする２Ｄバーコードが受信されると、自動的にエラー解析モジュールが実行されてよい。別の実施形態では、解析者がエラー解析モジュールを手動で実行し、２Ｄバーコードを使用可能なエラー情報へと解読してよい。解読または復号されると、人間が理解しうるエラー情報はブロック３４５で解析者に直接送信されるか、あるいは後の解析のためにデータベースに格納されてよい。
【００４０】
ここで説明したテクニックは、いかなる特定のハードウェアあるいはソフトウェアの構成にも限定されず、あらゆるコンピューティング、家庭用電化製品、または処理環境においても適用性を持ちうる。テクニックは、ハードウェア、ソフトウェア、または両方の組み合わせにおいて実装されうる。
【００４１】
シミュレーションにおいては、プログラムコードが、デザインされたハードウェアがいかに機能するかのモデルを原則的に規定するプログラム記述言語、あるいは機能記述言語を用いてハードウェアを表してよい。プログラムコードは、アセンブリまたはマシン言語、あるいはコンパイルおよび／または解釈可能なデータであってよい。またさらに、当分野においては、何らかの形で、ソフトウェアがアクションを実行あるいは結果を引き起こすと表現することが一般的である。このような表現は、プロセッサにアクションを実行あるいは結果を生じさせる、プログラムコードの処理システムによる実行を端的に述べているに過ぎない。
【００４２】
各プログラムは、処理システムと通信するハイレベルな手続きプログラム言語またはオブジェクト指向プログラム言語で実装されてよい。しかしながら、必要に応じて、プログラムコードはアセンブリまたはマシン言語であってよい。いずれにせよ、言語はコンパイルまたは解釈される必要がある。
【００４３】
プログラム命令を用いて、命令でプログラムされた汎用または特殊処理システムにここで説明した動作を実行させてよい。またこれに代えて、動作を実行するハードウェアロジックを含む特定のハードウェアコンポーネント、あるいはプログラムされたコンピュータコンポーネントおよびカスタムハードウェアコンポーネントのあらゆる組み合わせによって動作が実行されてもよい。ここに説明した方法は、処理システムまたはその他の電子デバイスをプログラムして方法を実行させるべく使用されうる命令を格納した、機械でアクセス可能な媒体を含みうる、コンピュータプログラムプロダクトとして提供されてよい。
【００４４】
プログラムコードまたは命令は、例えばソリッドステートメモリ、ハードドライブ、フロッピー（登録商標）ディスク、光ストレージ、テープ、フラッシュメモリ、メモリスティック、デジタルビデオディスク、ＤＶＤ他、および機械でアクセス可能な生物学的状態保存ストレージなどのより特殊な媒体などを含む、ストレージデバイスおよび／または対応した機械で読み取り可能または機械でアクセス可能な媒体などの、揮発性および／または不揮発性メモリに格納されてよい。機械可読な媒体は、機械によって読み取り可能な形式で情報を格納、送信、または受信するあらゆる機構を含んでよく、媒体は、例えばアンテナ、光ファイバ、通信インタフェースなど、プログラムコードを符号化する電子、光、音響、その他の電波信号または搬送波が通過することのできる、有形の媒体を含んでよい。プログラムコードはパケット、シリアルデータ、パラレルデータ、伝搬波などの形式で送信されてよく、圧縮または暗号化された形式で用いられてよい。
【００４５】
プログラムコードは、夫々がプロセッサ、プロセッサで読み取り可能な揮発性および／または不揮発性メモリ、少なくとも１つの入力デバイスおよび／または１つ以上の出力デバイスを含む、携帯または固定のコンピュータ、ＰＤＡ、セットトップボックス、携帯電話、ポケベル、家庭用電化製品（ＤＶＤプレーヤ、個人用動画レコーダ、個人用動画プレーヤ、衛星放送受信機、ステレオ受信機、ＴＶ受信機を含む）、およびその他の電子デバイスなどのプログラム可能な機械で実行するプログラムにおいて実装されてよい。プログラムコードは、入力デバイスを用いて入力されたデータに適用され、説明した実施形態を実行し、出力情報を生成してよい。出力情報は、１以上の出力デバイスに適用されてよい。当業者は、開示された主題の実施形態が、マイクロプロセッサまたはマルチコアプロセッサシステム、ミニコンピュータ、メインフレームコンピュータ、さらには事実上あらゆるデバイスに内蔵されうる、広汎性またはミニチュアコンピュータあるいはプロセッサを含む、様々なコンピュータシステムの構成で実行されてよいことを理解する。開示された主題の実施形態は、通信ネットワークを介してリンクされた遠隔の処理デバイスによってタスクまたはその一部が実行されうる、拡散コンピューティング環境において実行されてもよい。
【００４６】
一連のプロセスとして動作を説明したが、実際には、一部の動作が並行、同時、および／または拡散環境において実行されてよく、単一またはマルチプロセッサマシンでアクセスされる、ローカルおよび／または遠隔に格納されたプログラムコードで実行されてよい。またさらに、一部の実施形態では、開示した主題の趣旨から逸脱することなく動作の順序が変更されてよい。プログラムコードは、内蔵コントローラによって、あるいは内蔵コントローラと共に用いられてよい。
【００４７】
例示的な実施形態を参照して本発明を説明したが、この説明は限定的な意味で解釈されることを目的としていない。本発明の例示的な実施形態、および本発明の関連分野の当業者にとって明らかなその他の実施形態の様々な改良は、本発明の思想および範疇にあると見なされる。
【図１】
2011003179.tif 000003
【図２】
2011003179.tif 000004
【図３】
2011003179.tif 000005
【図４】
2011003179.tif 000006
【外国語明細書】
2011003179.tif 000007
2011003179.tif 000008
2011003179.tif 000009
2011003179.tif 000010
2011003179.tif 000011
2011003179.tif 000012
2011003179.tif 000013
2011003179.tif 000014
2011003179.tif 000015
2011003179.tif 000016
2011003179.tif 000017
2011003179.tif 000018
2011003179.tif 000019
2011003179.tif 000020
2011003179.tif 000021
2011003179.tif 000022
2011003179.tif 000023
2011003179.tif 000024
2011003179.tif 000025
2011003179.tif 000026
2011003179.tif 000027
2011003179.tif 000028