IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧

特許7706841診断サービスをクライアントシステムにネットワークを介して提供する為のコンピュータ・プログラム、システム及び方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-07-04
(45)【発行日】2025-07-14
(54)【発明の名称】診断サービスをクライアントシステムにネットワークを介して提供する為のコンピュータ・プログラム、システム及び方法
(51)【国際特許分類】
   G06F 11/07 20060101AFI20250707BHJP
【FI】
G06F11/07 178
G06F11/07 140V
【請求項の数】 20
(21)【出願番号】P 2021178782
(22)【出願日】2021-11-01
(65)【公開番号】P2022077503
(43)【公開日】2022-05-23
【審査請求日】2024-04-11
(31)【優先権主張番号】17/095,731
(32)【優先日】2020-11-11
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(72)【発明者】
【氏名】デビッド,シー.リード
(72)【発明者】
【氏名】ダイアン,ガマーラ
(72)【発明者】
【氏名】ライアン,アーサー ブシャール
(72)【発明者】
【氏名】エリオット,ピッカー
【審査官】円子 英紀
(56)【参考文献】
【文献】特開2010-081555(JP,A)
【文献】特開2017-207876(JP,A)
【文献】特開2012-185558(JP,A)
【文献】特開2003-186749(JP,A)
【文献】米国特許出願公開第2019/0213355(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/07
(57)【特許請求の範囲】
【請求項1】
診断サービスをクライアントシステムにネットワークを介して提供する為のコンピュータ・プログラムであって、
データブロックを検索する為のコマンドを含むプログラムを、前記クライアントシステム送信すること、ここで、前記クライアントシステムのクライアントプログラムは、前記クライアントシステムにおいて、
前記コマンドにおいて示された前記データブロックを取得すること、
前記データブロック中のデータを、前記クライアントシステムでのクライアントユーザインタフェースに表示すること、及び
前記クライアントユーザインタフェースに表示された前記データを送信する為のユーザ指示に応答して、前記クライアントユーザインタフェースに表示されたデータを診断システムに送信すること
を含む動作を行う為に実行される、
前記クライアントプログラムから、前記クライアントユーザインタフェースにおいてレンダリングされたデータを受信すること、並びに
前記受信されたデータを処理して、前記クライアントシステムに関する診断ワークフロープログラムにおける次の動作を決定すること
を前記診断システムに実行させる、前記コンピュータ・プログラム。
【請求項2】
前記コマンドは、データブロックのメモリダンプをクライアントシステムのメモリ中に作成する為のメモリダンプコマンドを含み、検索する為の前記データブロックは、前記データブロックがそれから抽出されるところのメモリダンプ中でオフセットを含み、及び検索する為の前記データブロックは、ポインタ、制御ブロック、カウンタ、言語中の理解可能な語のうちの少なくとも1つを含む、
請求項1に記載のコンピュータ・プログラム。
【請求項3】
前記クライアントプログラムは、前記クライアントシステムにおいて、
クライアントユーザインタフェースに表示されるデータブロックの一部をクライアントシステムのユーザが選択して編集することを可能にするように構成された編集グラフィカル制御要素をクライアントユーザインタフェースにおいてレンダリングすること
を含む動作を行う為に実行され、
前記編集グラフィカル制御要素のユーザ選択は、前記診断システムに送信された前記データから前記データブロックの前記選択された部分を編集することを含む
請求項1又は2に記載のコンピュータ・プログラム。
【請求項4】
編集済みとして示されている編集されたデータブロックの前記選択された部分とともに、クライアントプログラムからの受信されたデータを、前記診断システムにおいて実行される診断ユーザインタフェースにおいてレンダリングすることを前記診断システムにさらに実行させる、請求項3に記載のコンピュータ・プログラム。
【請求項5】
前記データブロックの前記編集された部分が、前記診断ワークフロープログラムにおける処理を続行する為に必要とされるかを判断すること、
前記診断ワークフロープログラムにおける次の動作を決定するために必要とされる編集されたデータの部分を決定すること、及び
前記診断ワークフロープログラムにおける次の動作を決定するために必要とされる編集されたデータの前記決定された部分の前記診断ワークフロープログラムを使用して、前記クライアントシステムにおけるユーザ又は診断技術者のうちの少なくとも一方に通知すること
を前記診断システムにさらに実行させる、請求項3に記載のコンピュータ・プログラム。
【請求項6】
前記編集する為の前記データブロックの前記選択された部分はデータベースデータを備えており、及び、前記診断システムに返されるデータは、診断及び修復する為の前記診断ワークフロープログラムの為のインデックス構造を有する、請求項3に記載のコンピュータ・プログラム。
【請求項7】
前記ユーザによって選択される場合に、前記クライアントユーザインタフェースに表示される全てのデータブロックを前記診断システムに送信する承認グラフィカル制御要素と、前記クライアントユーザインタフェースにおいてレンダリングされたデータを返さず及び前記クライアントユーザインタフェースにおいてレンダリングされた前記データの返送を拒否することを示す値を返す拒否グラフィカル制御要素とを、前記クライアントユーザインタフェースにおいて前記クライアントプログラムがレンダリングする、請求項3に記載のコンピュータ・プログラム。
【請求項8】
前記次の動作を決定することが、前記受信されたデータを処理して、前記診断ワークフロープログラムにおいて条件付き処理分岐を選択することを含み、ここで、前記診断ワークフロープログラムにおける異なる分岐は、前記クライアントシステムから異なるデータブロックを取得するように要求して、選択された分岐に沿って前記診断ワークフロープログラムにおける処理を続行する為に使用する、請求項1~7のいずれか1項に記載のコンピュータ・プログラム。
【請求項9】
前記受信されたデータ並びに前記受信されたデータのフォーマット及びサイズを、条件付きフォーマット化ロジックを用いて処理して、前記受信されたデータを前記診断システムのユーザが理解可能であるようにするフォーマットを決定すること、
前記受信されたデータを、前記決定されたフォーマットでフォーマット化して、フォーマット化されたデータを生成すること、及び
前記フォーマット化されたデータを、前記診断システムにおいて実行される診断ユーザインタフェースでレンダリングすること
を前記診断システムにさらに実行させる、請求項1~8のいずれか1項に記載のコンピュータ・プログラム。
【請求項10】
診断サービスをクライアントシステムにネットワークを介して提供する為のシステムであって、
プロセッサと、
前記プロセッサによって実行されて動作を実行する為のコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体と
を備えており、前記動作が、
データブロックを検索する為のコマンドを含むプログラムを、前記クライアントシステム送信すること、ここで、前記クライアントシステムのクライアントプログラムは、前記クライアントシステムにおいて、
前記コマンドにおいて示された前記データブロックを取得すること、
前記データブロック中のデータを、前記クライアントシステムでのクライアントユーザインタフェースに表示すること、及び
前記クライアントユーザインタフェースに表示された前記データを送信する為のユーザ指示に応答して、前記クライアントユーザインタフェースに表示されたデータを診断システムに送信すること
を含む動作を行う為に実行される、
前記クライアントプログラムから、前記クライアントユーザインタフェースにおいてレンダリングされたデータを受信すること、並びに
前記受信されたデータを処理して、前記クライアントシステムに関する診断ワークフロープログラムにおける次の動作を決定すること
を含む、前記システム。
【請求項11】
前記クライアントプログラムは、前記クライアントシステムにおいて、
クライアントユーザインタフェースに表示されるデータブロックの一部をクライアントシステムのユーザが選択して編集することを可能にするように構成された編集グラフィカル制御要素をクライアントユーザインタフェースにおいてレンダリングすること
を含む動作を行う為に実行され、
前記編集グラフィカル制御要素のユーザ選択は、前記診断システムに送信された前記データから前記データブロックの前記選択された部分を編集することを含む
請求項10に記載のシステム。
【請求項12】
前記動作が、
編集済みとして示されている編集されたデータブロックの前記選択された部分とともに、クライアントプログラムからの受信されたデータを、前記診断システムにおいて実行される診断ユーザインタフェースにおいてレンダリングすること
をさらに含む、請求項11に記載のシステム。
【請求項13】
前記動作が、
前記データブロックの前記編集された部分が、前記診断ワークフロープログラムにおける処理を続行する為に必要とされるかを判断すること、
前記診断ワークフロープログラムにおける次の動作を決定するために必要とされる編集されたデータの部分を決定すること、及び
前記診断ワークフロープログラムにおける次の動作を決定するために必要とされる編集されたデータの前記決定された部分の前記診断ワークフロープログラムを使用して、前記クライアントシステムにおけるユーザ又は診断技術者のうちの少なくとも一方に通知すること
をさらに含む、請求項11に記載のシステム。
【請求項14】
前記次の動作を決定することが、前記受信されたデータを処理して、前記診断ワークフロープログラムにおいて条件付き処理分岐を選択することを含み、ここで、前記診断ワークフロープログラムにおける異なる分岐は、前記クライアントシステムから異なるデータブロックを取得するように要求して、選択された分岐に沿って前記診断ワークフロープログラムにおける処理を続行する為に使用する、請求項10~13のいずれか1項に記載のシステム。
【請求項15】
前記動作が、
前記受信されたデータ並びに前記受信されたデータのフォーマット及びサイズを、条件付きフォーマット化ロジックを用いて処理して、前記受信されたデータを前記診断システムのユーザが理解可能であるようにするフォーマットを決定すること、
前記受信されたデータを、前記決定されたフォーマットでフォーマット化して、フォーマット化されたデータを生成すること、及び
前記フォーマット化されたデータを、前記診断システムにおいて実行される診断ユーザインタフェースでレンダリングすること
をさらに含む、請求項10~14のいずれか1項に記載のシステム。
【請求項16】
診断サービスをクライアントシステムにネットワークを介して提供する為の診断システムに実装される方法であって
データブロックを検索する為のコマンドを含むプログラムを、前記クライアントシステム送信すること、ここで、前記クライアントシステムのクライアントプログラムは、前記クライアントシステムにおいて、
前記コマンドにおいて示された前記データブロックを取得すること、
前記データブロック中のデータを、前記クライアントシステムでのクライアントユーザインタフェースに表示すること、及び
前記クライアントユーザインタフェースに表示された前記データを送信する為のユーザ指示に応答して、前記クライアントユーザインタフェースに表示されたデータを診断システムに送信すること
を含む動作を行う為に実行される、
前記クライアントプログラムから、前記クライアントユーザインタフェースにおいてレンダリングされたデータを受信すること、並びに
前記受信されたデータを処理して、前記クライアントシステムに関する診断ワークフロープログラムにおける次の動作を決定すること
を含む、前記方法。
【請求項17】
前記クライアントプログラムは、前記クライアントシステムにおいて、
クライアントユーザインタフェースに表示されるデータブロックの一部をクライアントシステムのユーザが選択して編集することを可能にするように構成された編集グラフィカル制御要素をクライアントユーザインタフェースにおいてレンダリングすること
を含む動作を行う為に実行され、
前記編集グラフィカル制御要素のユーザ選択は、前記診断システムに送信された前記データから前記データブロックの前記選択された部分を編集することを含む
請求項16に記載の方法。
【請求項18】
前記データブロックの前記編集された部分が、前記診断ワークフロープログラムにおける処理を続行する為に必要とされるかを判断すること、
前記診断ワークフロープログラムにおける次の動作を決定するために必要とされる編集されたデータの部分を決定すること、及び
前記診断ワークフロープログラムにおける次の動作を決定するために必要とされる編集されたデータの前記決定された部分の前記診断ワークフロープログラムを使用して、前記クライアントシステムにおけるユーザ又は診断技術者のうちの少なくとも一方に通知すること
をさらに含む、請求項17に記載の方法。
【請求項19】
前記次の動作を決定することが、前記受信されたデータを処理して、前記診断ワークフロープログラムにおいて条件付き処理分岐を選択することを含み、ここで、前記診断ワークフロープログラムにおける異なる分岐は、前記クライアントシステムから異なるデータブロックを取得するように要求して、選択された分岐に沿って前記診断ワークフロープログラムにおける処理を続行する為に使用する、請求項16~18のいずれか1項に記載の方法。
【請求項20】
条件付きフォーマット化ロジックを用いて、前記受信されたデータ並びに前記受信されたデータのフォーマット及びサイズを処理して、前記受信されたデータを前記診断システムのユーザが理解可能であるようにするフォーマットを決定すること、
前記受信されたデータを、前記決定されたフォーマットでフォーマット化して、フォーマット化されたデータを生成すること、及び
前記フォーマット化されたデータを、前記診断システムにおいて実行される診断ユーザインタフェースにおいてレンダリングすること
をさらに含む、請求項16~19のいずれか1項に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、クライアントシステムと対話して、クライアントデータを収集し、該クライアントシステムでの問題を診断する為に使用する為の、特には、診断サービスをクライアントシステムにネットワークを介して提供する為の、コンピュータ・プログラム製品、システム及び方法に関する。
【背景技術】
【0002】
顧客のコンピュータシステムのトラブルシューティングを行う為に、顧客は、コンピュータデータをアップロードし及び診断サービスによる解析の為にファイル転送プロトコル(FTP:File Transfer Protocol)又は電子メールを介して送信することにより、ネットワークを介してリモート診断サービスにコンピュータデータ及びファイルを送信しうる。顧客データを分析する為の診断ソフトウェアツールは、顧客のコンピュータ上で利用できないか又は実行されない可能性がある。或る状況において、顧客は、該顧客のデータの制御が失われることを懸念して、リモートサイトへの情報の送信を拒否しうる。加えて、一部の国は、特定のデータを国外に送信されることを許可しない法律を有している。
【発明の概要】
【発明が解決しようとする課題】
【0003】
インターネット又は他のネットワークを介したコンピュータシステムのリモート診断の為の改善された技術が当技術分野において必要とされている。
【0004】
本発明は、診断サービスをクライアントシステムにネットワークを介して提供する為のコンピュータ・プログラム、システム及び方法を提供することを目的とする。
【課題を解決するための手段】
【0005】
ネットワークを介してクライアントシステムに診断サービスを提供する為のコンピュータ・プログラム製品、システム及び方法が提供される。データブロックを検索する為のコマンドを含むプログラムが、クライアントシステムでのクライアントプログラムに送信される。該クライアントプログラムは、該コマンドにおいて示されたデータブロックを取得し、そして、該クライアントシステムでのクライアントユーザインタフェースにおけるデータブロックにデータを表示する為に実行される。該クライアントプログラムは、該クライアントユーザインタフェースに表示された該データを送信する為のユーザ指示に応答して、該クライアントユーザインタフェースに表示されたデータを診断システムに送信する。該クライアントプログラムから受信したデータは、該クライアントユーザインタフェースに表示される。該受信されたデータが処理されて、該クライアントシステムに関する診断ワークフロープログラムにおける次の動作を決定する。
【図面の簡単な説明】
【0006】
図1図1は、診断コンピューティング環境の1つの実施態様を図示する。
図2A図2Aは、診断の為のリモート診断システムに送信する前の、クライアントシステムでのデータの表示の例を図示する。
図2B図2Bは、クライアントシステムからのデータがクライアントシステムの診断の為のリモート診断システムでどのようにレンダリングされるかの例を図示する。
図3A図3Aは、診断の為のリモート診断システムに送信する前の、クライアントシステムでのデータの表示の例を図示する。
図3B図3Bは、クライアントシステムからのデータがクライアントシステムの診断の為のリモート診断システムでどのようにレンダリングされるかの例を図示する。
図4A図4Aは、診断の為のリモート診断システムに送信する前の、クライアントシステムでのデータの表示の例を図示する。
図4B図4Bは、クライアントシステムからのデータがクライアントシステムの診断の為のリモート診断システムでどのようにレンダリングされるかの例を図示する。
図5A図5Aは、診断の為のリモート診断システムに送信する前の、クライアントシステムでのデータの表示の例を図示する。
図5B図5Bは、クライアントシステムからのデータがクライアントシステムの診断の為のリモート診断システムでどのようにレンダリングされるかの例を図示する。
図6A図6Aは、診断の為のリモート診断システムに送信する前の、クライアントシステムでのデータの表示の例を図示する。
図6B図6Bは、クライアントシステムからのデータがクライアントシステムの診断の為のリモート診断システムでどのようにレンダリングされるかの例を図示する。
図7図7は、クライアントシステムで実行されて、データを収集し、リモート診断システムに送信し、該クライアントシステムでの問題を診断する動作の1つの実施態様を図示する。
図8図8は、診断システムで実行されて、診断されているクライアントシステムから送信されたデータを処理し、診断システムでレンダリングする動作、並びに該クライアントシステムで問題を診断する為の方法の1つの実施態様を図示する。
図9図9は、図1の構成要素が実装されうるコンピューティング環境を示す。
【発明を実施するための形態】
【0007】
クライアントシステムのユーザは、機密情報及び個人情報の送信に関する懸念並びにデータ送信の法的制限に関する懸念の故に、クライアントシステムでの問題の診断の為にリモート診断システムにデータを自動的に送信することをためらいうる。記述された実施態様は、クライアントデータ、例えばメモリダンプの内容、を、送信されたデータに対するクライアント制御を提供するリモート診断システムに送信する為のコンピュータ技術に改善を提供する。記述された実施態様では、集められたデータをクライアントシステムのユーザにレビューする機会を提供し、該診断システムへの送信を承認するか、データの送信を拒否するか、又はクライアントシステムでのユーザが、収集されたデータの一部を編集して、編集されたデータを該診断システムに送信し、処理することを許す為に、データ、例えば診断システムによって要求されるクライアントシステムのメモリ内のデータブロックのメモリダンプ、が、表示される。
【0008】
さらなる実施態様において、該診断システムは、クライアントシステムからの受信されたデータを処理し、そして必要なさらなるデータを決定し、そして該クライアントシステムが、該データを診断システムに送信する前に、さらに要求されたデータを再びレビューすることを許す。このようにして、該クライアントは、リモートコンピュータ診断に参加するために該診断システムと対話するように奨励されている。なぜならば、該クライアントは、該クライアントが送信するデータが、該クライアントシステムの外部に第三者に送信する為に適切でない重要な秘密情報(confidential information)、センシティブ情報(sensitive information)及び個人情報(personal information)を開示しないことを保証することができるためである。
【0009】
図1は、ネットワーク104を介してクライアントシステム102における技術的問題をトラブルシューティングする診断システム100の1つの実施態様を図示する。1つのクライアントシステム102が示されているが、複数のクライアントシステム102でありうる。該複数のクライアントシステム102は、複数のクライアントシステム102における技術的課題、例えばソフトウェアの問題若しくはハードウェアの問題又はこれらの組み合わせの問題を包含する技術的課題、を診断し及びトラブルシューティングする為に、診断システム100と相互作用する。該診断システムは、メモリ108内にロードされたプログラム、例えば診断動作を管理する為の診断プログラム110、及び1以上の診断ワークフロープログラム112を包含するプログラム、を実行する1以上のプロセッサコアを備えているプロセッサ106を備えている。診断プログラム110は、診断目的でクライアントシステム102によって返された要求されたデータ、例えばクライアントシステム102でのメモリ116内のデータブロックのメモリダンプ130からのデータ、及び他のクライアントデータを包含する上記要求されたデータ、を表示する為の診断ユーザインタフェース114を生成しうる。
【0010】
診断プログラム110は、サーバソケット118をインスタンス化して、ネットワークを介して1つのクライアントシステム102内のクライアントソケット120との通信を維持しうる。診断システム100は、診断サービスを要求するクライアントシステム102に配布する為に、クライアント診断ツール122をさらに維持する。異なるタイプの問題及びアプリケーションの為にクライアントシステム102に配布し、診断及びトラブルシューティングする為の異なるクライアント診断ツール122がありうる。
【0011】
診断ワークフロープログラム112は、クライアントシステム102から受信された要求されたデータに従ってトラバースする条件付きパスを有するプログラムコードの条件付き分岐を含む診断ワークフローを実装するプログラムロジックを含む。診断ワークフローの異なる分岐は、クライアントシステム102からの異なるデータ、例えばメモリダンプ130内のクライアントシステムメモリ116からの異なるデータブロック、を要求しうる。診断システム100に返されるこの要求されたデータは、診断ワークフローにおいて解決又は他の状態に到達するまでトラバースする為の更なる条件分岐を決定する為に診断ワークフロープログラム112によって使用される。診断する為の異なるタイプの技術的及びアプリケーション126の問題について、異なる診断ワークフロープログラム112が存在しうる。
【0012】
クライアントシステム102は、クライアントメモリ116にロードされたプログラム、例えば診断システム100によって配布されうるクライアント診断ツール122を包含するプログラム、を実行する1以上のプロセッサコアを備えているプロセッサ124と、トラブルシューティング及び診断動作の対象でありうる1以上のアプリケーションプログラム126とが備えられている。クライアント診断ツール122は、診断目的の為に使用されるクライアントシステム102からアクセスされるデータ、例えばメモリ116のメモリダンプ130からのデータ若しくは他のクライアントデータ又はこれらの組み合わせを包含するデータ、を表示する為のクライアントユーザインタフェース128を生成しうる。記述された実施態様は、メモリダンプデータ130を検索する上記クライアントについて論じる。更なる実施態様において、他のデータ、例えばアプリケーションプログラムインタフェース(API:application program interface)を使用して収集される特定の要求された情報、がメモリ116ダンプ以外の場所からクライアントシステム102で収集されうる。診断プログラム110は、クライアントソケット120をさらにインスタンス化して、サーバソケット118との通信を維持し、ネットワーク104を介した診断システム100との通信を容易にしうる。
【0013】
ネットワーク104は、ネットワーク、例えばストレージエリアネットワーク(SAN:Storage Area Network)、ローカルエリアネットワーク(LAN:Local Area Network)、イントラネット、インターネット、ワイドエリアネットワーク(WAN:Wide Area Network)、ピアツーピアネットワーク、ワイヤレスネットワーク、アービトレーテッドループネットワーク(arbitrated loop network)等、を包含しうる。
【0014】
メモリ108、116は、実行する為のプログラムと、実行する為のプログラムによって使用される情報とを格納する為の好適な揮発性メモリ又は不揮発性メモリを備えうる。
【0015】
プログラム110、112、114、118、120、122、126、128は、メモリ内にロードされ、そしてプロセッサによって実行されるプログラムコードを含みうる。代替的には、機能の幾つか又は全てが、ハードウェアデバイス、例えば特定用途向け集積回路(ASICs:Application Specific Integrated Circuits)、中に実装されうるか又は個々の専用プロセッサによって実行されうる。
【0016】
要素、例えば診断システム100及びクライアントシステム102、の或る数のインスタンスが示されているけれども、これらの要素は任意の数でありうる。
【0017】
図2A図3A図4A図5A及び図6Aは、クライアント診断ツール122の動作中にクライアントユーザインタフェース128においてレンダリングされるページの1つの実施態様を示す。図2B図3B図4B図5B及び図6Bは、診断システム100での診断プログラム110の動作中に診断ユーザインタフェース114にレンダリングされるページの1つの実施態様を示す。
【0018】
図2Aは、クライアントシステム102でのユーザが最初にクライアント診断ツール122を呼び出して、診断プロセスを開始するときに、クライアントユーザインタフェース128においてレンダリングされるページ200を提供する。該クライアントユーザは、該ページ200において、診断システム100に送信する前にユーザがクライアントシステム102から収集されたデータをレビューすることを許すことを示す為の検証モード制御202、又はユーザーレビューなしに診断プログラム110の要求に応じて、クライアントシステム102から収集されたデータを自動的に転送する為の自動モード制御204を選択することができる。
【0019】
図2Bは、クライアントシステム102で診断セッションを開始するユーザに関する情報及び選択されたデータのレビューモード、すなわち検証モード又は自動モード、に関する情報を提供する為に、クライアントシステム102のユーザがページ200を介して診断セッションを開始することに応答して、診断システム100での診断ユーザインタフェース114でレンダリングされるページ210の一つの例を提供する。
【0020】
図3Aは、診断プログラム110によって要求されたメモリ116内のアドレス範囲でのメモリダンプ130からのデータ302を示す為に、クライアントユーザインタフェース128でレンダリングされるページ300の1つの例を提供する。ページ300は、承認ボタン304、すなわち、選択されたときに、データ302を何らの変更なしに診断システム100に送信するグラフィカル制御要素;拒絶ボタン306、すなわち、選択されたときに、クライアントシステム102でのユーザが、要求されたデータのいずれかを送信することを拒否したというメッセージを診断システム100に返すことを生じる拒絶ボタン306;及び、編集ボタン308、すなわち、例えばデータが、人間が読める形式の秘密情報、個人情報若しくはセンシティブ情報である場合において、又はユーザが快適に共有できない拡張二進化10進コード(EBCDIC:extended binary-coded decimal interchange code)である場合において、選択されたときに、クライアントシステム102でのユーザが、ページ300におけるデータ302を選択して編集又は削除することを許す編集ボタン308、を示す。
【0021】
図3Bは、ユーザが、編集されていない全てのデータ302を診断システム100に送信する為に承認ボタン304を選択したときに、データ312としてフォーマット化されたデータ302を示す為に、診断ユーザインタフェース114が表示するページ310の1つの例を示す。
【0022】
図4Aは、クライアントユーザインタフェース128でレンダリングされたページ400を提供して、診断プログラム110によって要求された、メモリ116内のアドレス範囲でのメモリダンプ130からのデータ402を示す。クライアントユーザインタフェース128において、該ユーザは、拒否ボタン404を選択し、そして収集されたデータ402のいずれかを診断システム100に送信することを拒否する。
【0023】
図4Bは、診断システム100のユーザに、要求されたデータのいずれも送信しない拒否404を選択したことを通知する為に、診断ユーザインタフェース114が表示するページ410の1つの例を示す。
【0024】
図5Aは、診断プログラム110によって要求されたメモリ116内のアドレス範囲でのメモリダンプ130からのデータ502を示す為に、クライアントユーザインタフェース128でレンダリングされるページ500の1つの例を提供する。クライアントユーザインタフェースでレンダリングされているページ500において、該ユーザは、編集する為に特定のデータフィールド504、506を強調表示し、そして、編集ボタン508を選択して、該データからの選択されたデータフィールド504、506を編集し、診断システム100に送信する。
【0025】
図5Bは、クライアントシステム102からの編集されたデータ512を表示する為に、診断ユーザインタフェース114が表示するページ510の1つの例を示す。
【0026】
図6Aは、クライアントユーザレビューなしに、自動モードで診断システム100に自動的に送信される2つの異なるメモリダンプからのデータ602、604を示す為に、クライアントユーザインタフェース128でレンダリングされるページ600の1つの例を提供する。
【0027】
図6Bは、クライアントシステム102から自動的に送信される、クライアント送信データ602、604のパネル612、614をそれぞれ有する診断ユーザインタフェース114が表示するページ610の1つの例を示す。
【0028】
図7は、クライアント診断ツール122によって実行される動作の1つの実施態様を示し、それは、クライアントシステム102において最初に呼び出されて、クライアントシステム102のアプリケーション126若しくはハードウェア又はそれらの組み合わせに関する問題をトラブルシューティングする。図7の動作は、クライアントシステム102がクライアント診断ツール122をダウンロードし、そして実行し、診断セッションを開始するときに呼び出されうる。クライアント診断ツール122を受信し、そして実行することに応じて(ブロック700)、クライアント診断ツール122は、メモリ116内の指定されたデータブロックについてのメモリダンプを行う為のコマンドを実行し(ブロック702)、メモリ116の指定されたブロックをメモリダンプデータ130にコピーする。該指定されたブロックは、実行する為の最初のメモリダンプの為にツール122で符号化されて、診断プロセスを開始する。該メモリダンプは、プロセス間通信システム(IPCS:Inter Process Communication System)コマンドによってバッチモードで実行され、メモリ116の指定されたブロックをユーザダンプディレクトリ130にダンプすることができる。メモリダンプ130内のデータは、クライアントユーザインタフェース128においてレンダリングされる(ブロック704)(例えば、図3A図4A図5A図6Aに示されているクライアントユーザインタフェース128におけるデータ302、402、502、602、606の表示)。
【0029】
承認ボタン304(図3A)のユーザ選択を受信する(ブロック706)ことに応じて、クライアント診断ツール122は、クライアントソケット120及びサーバソケット118を介して、変更されていないメモリダンプデータ130を診断システム100に送信する(ブロック708)。
【0030】
編集する為に、表示データ502内のデータ504、506(図5A)のユーザ選択を受信すると(ブロック710)、クライアント診断ツール122は、強調表示されるように、ユーザ選択されたデータ504、506を表示する(ブロック712)。編集ボタン508のユーザ選択を受信すると(ブロック714)、該選択されたデータ504、506は、編集コード、例えば文字、例えば「R」、で置き換えられる(ブロック716)。編集されたメモリダンプデータ130は、クライアントソケット120及びサーバソケット118を介して、診断システム100に送信される(ブロック718)。一つの実施態様において、トラブルシューティングされる問題は、クライアントシステム102でのデータベースに関する問題であり、次に、収集されたメモリダンプ130は、クライアントデータを有するデータベースインデックスを含みうる。そのような場合、該ユーザは、クライアントデータを編集し得、そして診断及び修復する為の診断ワークフロープログラム112についてのインデックス構造を診断システム100に戻しうる。
【0031】
拒絶ボタン404(図4A)のユーザ選択を受信すること(ブロック720)に応じて、クライアント診断ツール122は、表示されたメモリダンプデータ402無しに、クライアントソケット120及びサーバソケット118を介して、診断システム100に拒絶メッセージを返す(ブロック722)。
【0032】
図7の動作の実施態様では、クライアントは、該要求されたデータを診断システム100に返す前に、データをレビューして、該ユーザが送信する全てのデータを拒絶すること又はクライアントユーザが該表示されたデータで気付くセンシティブ情報又は個人情報を編集することを許すことが許される。このことは、該クライアントが該診断システムに送信されるデータを制御することを許す。ほとんどの場合、メモリダンプ130からレンダリングされるデータは、カウンタ、ポインタ、及びユーザに理解されることができない他のプログラム制御データを含み、及びユーザによって送信することが承認される可能性が高い。しかしながら、該クライアントが快適に共有することができないEBCDICデータが存在しうる。そのような場合、該クライアントは、該データを編集して、該データが診断システム100と共有されることを防ぐことができる。データを編集すること又はデータの送信を拒絶することのこのオプションは、該クライアントが診断ツール122を介して該ユーザのシステムが診断されることを奨励する。なぜならば、該クライアントは、該診断の為に使用する為に送信されるデータに対する制御を有するからである。
【0033】
図8は、クライアントユーザインタフェース128に表示されるデータに関して、クライアントユーザの承認、編集、又は拒絶コマンドを処理するときに、クライアント診断ツール122から受信したデータ又はメッセージを処理する為に、診断されている問題について診断プログラム110及び診断ワークフロープログラム112によって実行される動作の実施態様を図示する。診断プログラム110は、サーバソケット118を介して、クライアントソケット120からの通信を受信する(ブロック800)。該クライアントが要求された全てのメモリダンプ130ブロックを送信する(ブロック802)場合、例えば、承認ボタン304(図3A)を選択した後に、次に、診断プログラム110は、条件付きフォーマット化ロジックを用いて、該受信されたデータを、該受信されたデータのフォーマット及びサイズに基づいてフォーマット化し(ブロック804)、診断システム100のユーザに理解可能であるフォーマット化されたデータを生成する為に使用されるフォーマットを決定し、例えば図3Bにおけるページ310において見られる通り、診断ユーザインタフェース114にレンダリングする。該フォーマットすることは、診断システム100を操作する診断技術者によるデバッグ及び診断の為に有用であるダンプデータを説明する為の情報を提供しうる。
【0034】
診断ワークフロープログラム112は、該受信されたメモリダンプブロック130を処理して、診断ワークフローの条件付き論理に従って該診断ワークフローにおける次のステップを決定する(ブロック806)為に呼び出される。該診断ワークフローにおける次のステップが、診断されている技術的問題に対する解決策である場合(ブロック808)、次に、診断ワークフロープログラム112は該診断ワークフローにおける該決定された次のステップからの解決策又はメッセージを決定し、そして、クライアントシステム102に対する解決策/メッセージを、サーバソケット118及びクライアントソケット120を介してクライアントに戻す(ブロック810)。該解決策は、診断されている問題を修正する為にクライアントシステム102において実行する為のプログラム修正、又はクライアントシステム102で行う変更の指示を含みうる。
【0035】
該診断ワークフローにおける該決定された次のステップが追加のクライアントデータについての要求である(ブロック808)場合に、次に、診断ワークフロープログラム112は、該診断ワークフローにおける次のステップから、クライアントメモリ116の次のセクション(オフセット)を決定して、さらなるメモリダンプ130から取得する(ブロック812)。診断プログラム110又は診断ワークフロープログラム112は、メモリの決定された次のセクション、例えばブロックの範囲のアドレス、についての要求を、クライアントソケット120を介して該クライアントシステムに送信し、クライアント診断ツール122が図7におけるブロック702~722から処理を開始することを引き起こし(ブロック814)、該要求された次のブロックをメモリダンプから検索し、診断ワークフロープログラム112において処理する。
【0036】
該クライアントが編集済みデータを送信した(ブロック816)場合、次に、診断プログラム110は、診断ワークフロープログラム112が該診断ワークフローにおける次のステップを決定することを許すように、クライアントシステム102が、十分な未編集データを提供したかを決定する(ブロック818)。一つの実施態様において、診断プログラム110は、診断ワークフロープログラム112を呼び出して、未編集データを処理して、処理の結果が該診断ワークフローにおける次のステップであるか又はエラーであるかを決定しうる。代替の実施態様において、診断プログラム110は、未編集データが診断ワークフロープログラム112による継続的な処理を許すのに十分であるかを決定する為の規則を適用しうる。診断ワークフロープログラム112が続行する為に未編集データが十分である場合、次に、制御はブロック806に進み、該診断ワークフローにおける次のステップ又は動作を決定する(ブロック818)。未編集データが診断処理を継続する為に十分でない又は不完全である(ブロック818)場合、次に、診断プログラム110は、該診断ワークフローにおける次のステップを決定する為に必要である編集されたデータのそれらの部分を決定し(ブロック820)、そして、該編集されたデータの必要な部分を提供する為のクライアントに対するメッセージを戻し、又は診断を支援する為に、電話、電子メール又はインスタントメッセージを介して該クライアントユーザとの直接接触を提供する為のクライアントとの連絡ウィンドウを開始する(ブロック822)。
【0037】
該クライアントが如何なるデータの送信をも拒絶した(ブロック824)場合、診断プログラム110は、対面サポートの為の連絡先情報を有するメッセージをクライアントに送信しうる(ブロック826)。
【0038】
図8の動作の実施態様では、該診断システムは、該クライアントによって返されたデータダンプを使用して、該診断処理を継続し、該診断プロセスにおける次のステップを決定しうる。該診断を続行する為に更なるデータが必要である場合、診断プログラム110は、更に必要であるデータについての要求を送信し、それは、クライアントシステム102が、診断システム100に戻る為に別のメモリダンプを実行することを要求しうる。更に、診断プログラム110は、送信された編集されたデータが該診断ワークフロー処理を続行する為に十分であるかを決定しうる。このようにして、記載された実施態様は、ユーザが診断システム100に送信されたデータを制御して、該クライアントシステムを診断するために使用し、及び同時に、送信された編集されたデータが処理を続行する為に十分であるかどうかを決定することを許す。
【0039】
本発明は、システム、方法若しくはコンピュータ・プログラム製品又はその組み合わせでありうる。該コンピュータ・プログラム製品は、プロセッサに本発明の観点を実行させる為のコンピュータ可読プログラム命令を有する1以上のコンピュータ可読記憶媒体を包含しうる。
【0040】
該コンピュータ可読記憶媒体は、命令実行デバイスによって使用する為の命令を保持且つ記憶することができる有形のデバイスであることができる。該コンピュータ可読記憶媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、又はこれらの任意の適切な組み合わせでありうるが、これらに限定されない。該コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストは、下記を包含する:ポータブルコンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ(RAM:random access memory)、読み取り専用メモリ(ROM:read-only memory)、消去可能なプログラム可能な読み取り専用メモリ(EPROM(erasable programmable read-only memory)又はフラッシュメモリ)、スタティック・ランダム・アクセス・メモリ(SRAM:static random access memory)、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD-ROM:compact disc read-only memory)、デジタル多用途ディスク(DVD:digital versatile disk)、メモリスティック、フロッピーディスク、機械的に符号化されたデバイス、例えばパンチカード若しくは命令が記録されている溝内の隆起構造又はこれらの任意の適切な組み合わせ。本明細書において使用される場合、コンピュータ可読記憶媒体は、一時的な信号それ自体、例えば電波又は他の自由に伝播する電磁波、導波管若しく他の伝送媒体を伝播する電磁波(例えば、光ファイバケーブルを通過する光パルス)、又は電線を介して送信される電気信号、であると解釈されるべきでない。
【0041】
本明細書において記載されたコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から個々のコンピューティングデバイス/処理デバイスに、又はネットワーク、例えばインターネット、ローカルエリアネットワーク、ワイドエリアネットワーク若しくはワイヤレスネットワーク又はそれらの組み合わせ、を介して外部コンピュータ又は外部記憶デバイスにダウンロードされることができる。該ネットワークは、銅線伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ若しくはエッジサーバ又はこれらの組み合わせで構成されうる。各コンピューティングデバイス/処理デバイスにおけるネットワークアダプタカード又はネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、そして、該コンピュータ可読プログラム命令を、個々のコンピューティングデバイス/処理デバイス内にコンピュータ可読記憶媒体中に記憶する為に送信する。
【0042】
本発明の動作を実行する為のコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA:instruction-set-architecture)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路の為の構成データ、又は、1以上のプログラミング言語、例えばオブジェクト指向プログラミング言語、オブジェクト指向プログラミング言語(例えば、Java、Smalltalk、C++等)、手続き型プログラミング言語(例えば「C」プログラミング言語又は同様のプログラミング言語)、の任意の組み合わせで書かれているソースコード又はオブジェクトコードのいずれか、でありうる。該コンピュータ可読プログラム命令は、ユーザのコンピュータ上で全体的に、ユーザのコンピュータ上で部分的に、ユーザのコンピュータ上でスタンドアロン・ソフトウェア・パッケージとして部分的に、ユーザのコンピュータ上で部分的に且つリモートコンピュータ上で部分的に、又はリモートコンピュータ若しくはサーバ上で全体的に、実行されうる。後者のシナリオにおいて、該リモートコンピュータは、任意の種類のネットワーク、例えばローカルエリアネットワーク(LAN:local area network)若しくはワイドエリアネットワーク(WAN:wide area network)、を介してユーザのコンピュータに接続されうるか、又は該接続は(例えば、インターネットサービスプロバイダを使用したインターネットを通じて)外部コンピュータに対して行われうる。幾つかの実施態様において、電子回路、例えばプログラマブル論理回路、フィールドプログラマブルゲートアレイ(FPGA:field-programmable gate arrays)又はプログラマブルロジックアレイ(PLA:programmable logic arrays)、は、本発明の観点を実行する為に、コンピュータ可読プログラム命令の状態情報を利用することによって、電子回路をパーソナライズすることによって、コンピュータ可読プログラム命令を実行しうる。
【0043】
本発明の観点は、本発明の実施態様に従う、方法、装置(システム)及びコンピュータ・プログラム製品のフローチャート図若しくはブロック図又はそれらの組み合わせを参照して本明細書において記載されている。該フローチャート図若しくは該ブロック図又はそれらの組み合わせの各ブロック、並びに該フローチャート図若しくは該ブロック図又はそれらの組み合わせにおける複数のブロックの組み合わせは、コンピュータ可読プログラム命令によって実装されることができることが理解されるであろう。
【0044】
これらのコンピュータ可読プログラム命令は、該コンピュータ又は他のプログラム可能なデータ処理装置のプロセッサを介して実行する命令が該フローチャート若しくはブロック図又はそれらの組み合わせの1以上のブロックにおいて特定された機能/動作を実装するための手段を生成するように、コンピュータのプロセッサ又は他のプログラム可能なデータ処理装置に提供されて、マシンを作り出しうる。これらのコンピュータ可読プログラム命令はまた、記憶された命令を有するコンピュータ可読記憶媒体は、該フローチャート図若しくはブロック図又はそれらの組み合わせの1以上のブロックにおいて特定される機能/動作の観点を実装する命令を含む製造品を含むように、コンピュータ・プログラム可能なデータ処理装置若しくは他のデバイス又はこれらの組み合わせに特定の様式で機能するように指示することができるコンピュータ可読記憶媒体中に記憶されうる。
【0045】
該コンピュータ可読プログラム命令はまた、コンピュータ上、他のプログラム可能なデータ処理装置上又は他のデバイス上で実行される命令が、該フローチャート若しくはブロック図若しくはそれらの組み合わせの1以上のブロックにおいて特定される機能/動作を実装するように、上記のコンピュータ上、他のプログラム可能なデータ処理装置上又は他のデバイス上にロードされて、コンピュータ、他のプログラム可能な装置又は他のデバイス上で一連の動作ステップを実行させて、コンピュータに実装されたプロセスを生成しうる。
【0046】
図面中のフローチャート及びブロック図は、本発明の様々な実施態様に従う、システム、方法及びコンピュータ・プログラム製品のありうる実装の、アーキテクチャ、機能及び動作を示す。これに関連して、該フローチャート又はブロック図における各ブロックは、命令のモジュール、セグメント、又はその一部を表し得、それは、特定された1以上の論理機能を実装する為の1以上の実行可能命令を含む。幾つかの代替の実装において、該ブロックにおいて示されている機能は、図面中に示されている順序とは異なって生じうる。例えば、連続して示されている2つのブロックは、実際には、関与する機能に依存して、同時に、実質的に同時に、部分的又は全体的に時間的に重複する様式で実行される1つのステップとして達成されうるか、又は該ブロックは、逆の順序で実行されうる。該ブロック図若しくはフローチャート図又はこれらの組み合わせの各ブロック、並びに該ブロック図若しくはフローチャート図又はこれらの組み合わせの複数のブロックの組み合わせは、特定された機能又は動作を実行する特別な目的のハードウェアベースのシステムによって実装できることができ、又は特別な目的のハードウェアとコンピュータ命令との組み合わせを実行することができることにまた留意されたい。
【0047】
図1の計算コンポーネントは、診断システム100及びクライアントシステム102を備えており、1以上のコンピュータシステム、例えば図9に示されているコンピュータシステム902、において実装されうる。コンピュータシステム/サーバ902は、コンピュータシステムによって実行されるコンピュータシステム実行可能命令、例えばプログラムモジュール、の一般的な文脈において記載されうる。一般的に、プログラムモジュールは、特定のタスクを実行したり又は特定の抽象データ型を実装したりする、ルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造を包含しうる。コンピュータシステム/サーバ902は、通信ネットワークを介してリンクされるリモート処理デバイスによってタスクが実行される分散型クラウドコンピューティング環境において実施されうる。分散型クラウドコンピューティング環境において、プログラムモジュールは、ローカル及びリモートの両方のコンピュータシステムストレージメディア、メモリストレージデバイスを包含する該コンピュータシステムストレージメディア、に配置されうる。
【0048】
図9に示されている通り、コンピュータシステム/サーバ902は、汎用コンピューティングデバイスの形態で示されている。コンピュータシステム/サーバ902の構成要素は、1以上のプロセッサ又は処理装置(processing units)904、システムメモリ906、及び様々なシステム構成要素、例えばシステムメモリ906を包含する様々なシステム構成要素、をプロセッサ904に接続するバス908を包含しうるが、これらに限定されない。バス908は、幾つかの任意のタイプのバス構造の1以上を表し、該任意のバス構造は、メモリバス又はメモリコントローラ、周辺バス、高速グラフィックポート(AGP:accelerated graphics port)、及び様々なバスアーキテクチャのいずれかを使用するプロセッサバス又はローカルバスを包含する。例として、限定ではないが、そのようなアーキテクチャには、業界標準アーキテクチャ(ISA:Industry Standard Architecture)バス、マイクロチャネルアーキテクチャ(MCA:Micro Channel Architecture)バス、拡張ISA(EISA:Enhanced ISA)バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション(VESA:Video Electronics Standards Association)ローカルバス、及び周辺構成要素相互接続(PCI:Peripheral Component Interconnects)バスを包含する。
【0049】
コンピュータシステム/サーバ902は典型的に、様々なコンピュータシステム可読媒体を備えている。そのような媒体は、コンピュータシステム/サーバ902によってアクセス可能である任意の利用可能な媒体であり得、そして、そのような媒体は、揮発性媒体及び不揮発性媒体、取り外し可能な媒体及び取り外し不可能な媒体の両方を包含する。
【0050】
システムメモリ906は、揮発性メモリ、例えばランダム・アクセス・メモリ(RAM)910若しくはキャッシュメモリ912又はそれらの組み合わせ、の形態におけるコンピュータシステム読み取り可能媒体を備えることができる。コンピュータシステム/サーバ902は、他の取り外し可能/取り外し不可能、揮発性/非-揮発性のコンピュータシステム記憶媒体をさらに備えうる。ほんの一例として、ストレージシステム913は、取り外し不可能な、不揮発性の磁気媒体(図示せず、典型的には「ハードドライブ」と呼ばれる)からの読み取り及び書き込みの為に提供されることができる。図示されていないが、取り外し可能な、不揮発性の磁気ディスク(例えば、「フロッピーディスク」)からの読み取り及び書き込みの為の磁気ディスクドライブ、並びに取り外し可能な、不揮発性の光ディスクからの読み取り及び書き込みの為の光ディスクドライブ、例えばCD-ROM、DVD-ROM又は他の光学媒体、が提供されることができる。そのような場合、それぞれは、1以上のデータメディアインタフェースによってバス908に接続されることができる。以下でさらに描写及び説明されている通り、メモリ906は、本発明の実施態様の機能を実行するように構成された1セット(例えば、少なくとも1つ)のプログラムモジュールを有する少なくとも1つのプログラム製品を備えうる。
【0051】
プログラム/ユーティリティ914は、1セット(例えば、少なくとも1つ)のプログラムモジュール916を有し、及び、プログラム/ユーティリティ914、並びに限定されるものではないが例として、オペレーティングシステム、1以上のアプリケーションプログラム、他のプログラムモジュール及びプログラムデータが、メモリ906内に格納されうる。オペレーティングシステム、1以上のアプリケーションプログラム、他のプログラムモジュール、及びプログラムデータ、又はそれらの幾つかの組み合わせのそれぞれが、ネットワーク環境の実装を含みうる。コンピュータ902の構成要素は、本明細書に記載されている本発明の実施態様の機能若しくは方法論又はそれらの組み合わせを一般的に実行するプログラムモジュール916として実装されうる。図1のシステムは、1以上のコンピュータシステム902において実装され得、ここで、該システムが複数のコンピュータシステム902に実装される場合、該コンピュータシステムはネットワークを介して通信しうる。
【0052】
コンピュータシステム/サーバ902はまた、1以上の外部デバイス918、例えばキーボード、ポインティングデバイス、ディスプレイ920等;ユーザがコンピュータシステム/サーバ902と対話することを可能にする1以上のデバイス;若しくはコンピュータシステム/サーバ902が1以上の他のコンピューティングデバイスと通信することを可能にする任意のデバイス(例えば、ネットワークカード、モデム等);又はそれらの組み合わせと通信しうる。そのような通信は、入力/出力(I/O)インタフェース922を介して生じることができる。それでもなお、コンピュータシステム/サーバ902は、ネットワークアダプタ924を介して、1以上のネットワーク、例えばローカルエリアネットワーク(LAN)、一般的なワイドエリアネットワーク(WAN)若しくはパブリックネットワーク(例えば、インターネット)又はそれらの組み合わせ、と通信することができる。図示されている通り、ネットワークアダプタ924は、バス908を介してコンピュータシステム/サーバ902の他のコンポーネントと通信する。示されていないが、他のハードウェアコンポーネント若しくはソフトウェアコンポーネント又はそれらの組み合わせが、コンピュータシステム/サーバ902と組み合わせて使用されることできることが理解されるべきである。例は、マイクロコード、デバイスドライバ、冗長処理ユニット、外部ディスクドライブアレイ、RAIDシステム、テープドライブ、及びデータアーカイバルストレージシステム(data archival storage systems)等を包含するが、これらに限定されない。
【0053】
語「1つの実施態様」(an embodiment)、「実施態様」(embodiment)、「複数の実施態様」(embodiments)、「該1つの実施態様」(the embodiment)、「該複数の実施態様」(the embodiments)、「1以上の実施態様」(one or more embodiments)、「幾つかの実施態様」(some embodiments)、及び「1つの実施態様」(one embodiment)は、特に明記されていない限り、「1以上の本発明の1以上の(しかし全てでない)実施形態」を意味する。
【0054】
語「包含する」、「含む」、「有する」及びそれらの変形は、特に明記されていない限り、「含むがこれらに限定されない」ことを意味する。
【0055】
列挙されたアイテムのリストは、特に明記されていない限り、アイテムの一部又は全てが相互に排他的であることを意味するものでない。
【0056】
語「1つ」(a)、「1つ」(an)、及び「該」(the)は、特に明記されていない限り、「1以上」を意味する。
【0057】
相互に通信しているデバイスは、特に明記されていない限り、相互に継続的に通信している必要はない。加えて、互いに通信しているデバイスは、1以上の中継所(intermediaries)を介して直接的又は間接的に通信しうる。
【0058】
互いに通信する幾つかの構成要素を有する実施態様の説明は、そのような全ての構成要素が必要とされることを意味するものでない。それどころか、様々な任意の構成要素が、本発明の多種多様なありうる実施態様を示す為に説明されている。
【0059】
単一のデバイス又は物品が本明細書に記載されている場合、該単一のデバイス/物品の代わりに、複数のデバイス/物品(それらが協調するかどうかにかかわらず)が使用されうることは容易に明らかであろう。同様に、複数のデバイス又は物品(それらが協調するかどうかにかかわらず)が本明細書に記載されている場合、該複数のデバイス若しくは物品の代わりに、単一のデバイス/物品が使用されうること、又は異なる数のデバイス/物品が、表示されている数のデバイス又はプログラムの代わりに使用されうることが容易に明らかであろう。

デバイスの機能性若しくは特徴又はそれらの組み合わせは、そのような機能性/特徴を有すると明示的に記載されていない1以上の他のデバイスによって代替的に具体化されうる。従って、本発明の他の実施形態は、装置それ自体を含む必要はない。
【0060】
本発明の様々な実施態様の前述の説明は、例示及び説明の目的の為に提示されてきた。網羅的であること、又は本発明を開示された正確な形態に限定することが意図されるものでない。多くの修正及び変形が、上記の教示に照らして可能である。本発明の範囲は、本発明の詳細な説明によってではなく、本明細書に添付された特許請求の範囲によって限定されることが意図されている。本明細書、実施例及びデータは、本発明の組成物の製造及び使用の完全な記載を提供する。本発明の多くの実施態様は、本発明の精神及び範囲から逸脱することなしに作成することができる故に、本発明は、本明細書に添付された特許請求の範囲に記載されている。
図1
図2A
図2B
図3A
図3B
図4A
図4B
図5A
図5B
図6A
図6B
図7
図8
図9