(57)【要約】      （修正有）【課題】通信ネットワークを介して被試験装置に接続可能な遠隔試験装置による装置の遠隔故障診断方法を提供する。【解決手段】通信ネットワークを介して遠隔試験装置４Ａと被試験装置４Ｂとの間で診断情報を交換することにより故障診断を行う。診断情報交換処理は、遠隔試験装置４Ａと被試験装置４Ｂのそれぞれに実装されているＳＯＡＰモジュール６ａ、６ｂにより調整又は実行される。【選択図】図２
2005122698.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワーク（２）を介して被試験装置（３）に接続可能な遠隔試験装置（１）により、該被試験装置（３）を遠隔故障診断する装置の遠隔故障診断方法において、
上記通信ネットワーク（２）を介して上記遠隔試験装置（１）と上記被試験装置（３）との間で診断情報を交換することにより上記遠隔故障診断を行い、
上記診断情報を交換する処理は、上記遠隔試験装置（１）と上記被試験装置（３）のそれぞれに実装されている簡易オブジェクトアクセスプロトコル（ＳＯＡＰ）モジュール（６ａ、６ｂ）により調整／実行されることを特徴とする遠隔故障診断方法。
【請求項２】
上記ＳＯＡＰモジュール（６ａ、６ｂ）は、上記診断情報を含むＳＯＡＰファイルを交換するためにハイパーテキスト転送プロトコル／拡張マークアップ言語（ＨＴＴＰ／ＸＭＬ）トランスポートプロトコルを使用することを特徴とする請求項１に記載の遠隔故障診断方法。
【請求項３】
上記ＳＯＡＰファイルは、上記診断情報の一部をそれぞれ含むタグ構造を有することを特徴とする請求項２に記載の遠隔故障診断方法。
【請求項４】
診断の読出／書込／コマンド情報を、該診断の読出／書込／コマンド情報を含む読出／書込／コマンドタグ構造を用いて交換することを特徴とする請求項３に記載の遠隔故障診断方法。
【請求項５】
診断応答情報を、該診断応答情報を含む応答タグ構造を用いて交換することを特徴とする請求項３又は４に記載の遠隔故障診断方法。
【請求項６】
上記被試験装置（３）内の上記ＳＯＡＰモジュール（６ａ、６ｂ）は、受信したＳＯＡＰファイルから診断情報を抽出し、該抽出した情報を解釈し、対応する故障診断タスクを開始することを特徴とする請求項２乃至５のいずれか１項に記載の遠隔故障診断方法。
【請求項７】
上記被試験装置（３）内の上記ＳＯＡＰモジュール（６ａ、６ｂ）は、該被試験装置が生成した又は該被試験装置内に記憶している診断情報をＳＯＡＰファイルにカプセル化し、該カプセル化したＳＯＡＰファイルを上記遠隔試験装置（１）に送信することを特徴とする請求項２乃至６のいずれか１項に記載の遠隔故障診断方法。
【請求項８】
通信ネットワーク（２）を介して被試験装置（３）に接続可能な遠隔試験装置（１）において、
上記被試験装置（３）に対して診断情報を送受信する通信手段（８ａ）を備え、
上記通信手段（８ａ）は、上記診断情報の送受信を実行／調整するＳＯＡＰクライアントモジュール（６ａ）を備えることを特徴とする遠隔試験装置。
【請求項９】
上記ＳＯＡＰクライアントモジュール（６ａ）は、上記診断情報をＳＯＡＰファイルとして送受信するためにＨＴＴＰ／ＸＭＬトランスポートプロトコルを使用することを特徴とする請求項８に記載の遠隔試験装置。
【請求項１０】
上記ＳＯＡＰクライアントモジュール（６ａ）は、上記ＳＯＡＰファイルから上記診断情報の抽出する抽出手段と、及び／又は上記診断情報を上記ＳＯＡＰファイルにカプセル化する埋込手段とを備えることを特徴とする請求項９に記載の遠隔試験装置。
【請求項１１】
通信ネットワーク（２）を介して遠隔試験装置（１）に接続可能な装置（３）において、
上記遠隔試験装置（１）に対して診断情報を送受信する通信手段（８ｂ）を備え、
上記通信手段（８ｂ）は、上記診断情報の送受信を実行／調整するＳＯＡＰサーバモジュール（６ｂ）を備えることを特徴とする装置。
【請求項１２】
上記ＳＯＡＰサーバモジュール（６ｂ）は、上記診断情報をＳＯＡＰファイルとして送受信するためにＨＴＴＰ／ＸＭＬトランスポートプロトコルを使用することを特徴とする請求項１１に記載の装置。
【請求項１３】
上記通信手段（８ｂ）に接続され、上記診断情報に従って診断タスクを実行する診断手段（９、１０、１１）を備える請求項１１又は１２に記載の装置。
【請求項１４】
上記ＳＯＡＰサーバモジュール（６ｂ）は、上記ＳＯＡＰファイルから上記診断情報を抽出する抽出手段と、及び／又は上記診断情報を上記ＳＯＡＰファイルに埋め込む埋込手段とを備えることを特徴とする請求項１１乃至１３のいずれか１項に記載の装置。
【請求項１５】
上記診断情報を、上記ＳＯＡＰファイルから装置固有の診断プロトコルに、又は該装置固有の診断プロトコルから該ＳＯＡＰファイルに転送するための通信プロトコル変換手段を備える請求項１１乃至１４のいずれか１項に記載の装置。
【請求項１６】
遠隔故障診断システムにおいて、
請求項８乃至１０のいずれか１項に記載の遠隔試験装置（１）と、
請求項１１乃至１５のいずれか１項に記載の少なくとも１つの被試験装置（３）とを備え、
上記遠隔試験装置（１）と上記少なくとも１つの被試験装置（３）は、通信ネットワーク（２）を介してそれぞれ接続されることを特徴とする遠隔故障診断システム。
【請求項１７】
コンピュータ、デジタルシグナルプロセッサ等において実行されると、請求項１乃至７のいずれか１項に記載の遠隔故障診断方法のステップ又はその一部を実行するコンピュータプログラム手段を備えるコンピュータプログラム製品。
【請求項１８】
請求項１７に記載のコンピュータプログラム製品を格納した、コンピュータにより読出可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、遠隔故障診断方法、遠隔試験装置、装置及びシステムに関する。
【背景技術】
【０００２】
遠隔故障診断（remote diagnosis）は、主に、エラーの検出、エラー原因の解析、そして、可能ならば例えばソフトウェアのアップグレードやユーザ設定の訂正によりエラーの修復を行うために、インターネットを介して装置に関する情報を遠隔的に取得するのに使用される。
【０００３】
遠隔故障診断を行うためには、遠隔試験装置と被試験装置との間で診断情報を交換するための通信プロトコルが必要である。可能な第１の通信プロトコルとしては、伝送制御プロトコル／インターネットプロトコル（Transmission Control Protocol/Internet Protocol：ＴＣＰ／ＩＰ）及びソケットレイヤインタフェースに直接的に基づいたプロトコルがあり、所定のポートが遠隔故障診断メッセージ通信に使用される。このアプローチでは、通信相手である二者、すなわちサービスセンターバックエンドと被試験装置（ＤＵＴ、診断／試験される装置とも呼ばれる）が、単純なクライアントサーバプロトコルを介して通信する。サービスセンターバックエンドは、情報を要求することができるので、クライアントとして動作し、他方、ＤＵＴは、情報を提供するので、サーバとして動作する。このアプローチの利点はその単純性にあり、インターネットを介して、基本的な「故障診断のリモートプロシージャコール（Remote Procedure Call：ＲＰＣ）」としてみなすことができる遠隔故障診断動作を実行する単純なメカニズムが得られる。このアプローチの問題点は、標準ＲＰＣメカニズムに基づいていないため、必要なＲＰＣインフラを実現するためには新たな実装及び開発努力を必要とすることである。
【０００４】
可能な第２の通信プロトコルとして、標準ＩＰに基づくプロトコルである簡易ネットワーク管理プロトコル（Simple Network Management Protocol：ＳＮＭＰ）がある。このプロトコルは、ネットワーク装置及び機器の遠隔故障診断及び制御に使用されることが多い。しかし、このプロトコルを遠隔故障診断に利用するには、関連する管理情報ブロック（ＭＩＢ）の定義が必要となるため、実現するには非常に複雑である。この管理情報ブロックは扱いにくく、エラーが発生しやすい。
【０００５】
通信プロトコルの第３の具体例が、本願出願人による係属中の特許出願（Ｓ０１Ｐ５１３２ＥＰ００／ＰＡＥ０１−０６７ＨＮ）に記載されている。このアプローチは、装置の遠隔故障診断及び操作のための一般的な枠組みを与えるために、新たなＸＭＬ言語である遠隔故障診断マークアップ言語（remote diagnosis markup language：ＲＤＭＬ）を作成することを提案している。このアプローチの問題点として、遠隔試験装置と被試験装置間でＸＭＬメッセージを直接交換すると、被試験装置におけてＸＭＬスクリプト／ファイルの解析にかかるソフトウェアオーバヘッドが大きくなることが考えられる。被試験装置が最初にこのような解析を行わなければならない場合、この問題点はなくなる。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、融通性が高いとともに、実現のために必要とされる努力が最小限であるような装置の遠隔故障診断方法を提供することである。
【課題を解決するための手段】
【０００７】
この目的を達成するため、本発明は、請求項１に記載の装置の遠隔故障診断方法を提供する。さらに、本発明は、請求項８に記載の遠隔試験装置を提供する。また、本発明は、請求項１１に記載の装置を提供する。さらに、本発明は、請求項１６に記載の遠隔故障診断システムを提供する。そして、請求項１７及び１８に記載のコンピュータプログラム製品及びコンピュータにより読出可能な記録媒体を提供する。本発明の更なる特徴及び好ましい実施例については各従属請求項において定義する。
【０００８】
本発明に係る装置の遠隔故障診断方法は、通信ネットワークを介して被試験装置に接続可能な遠隔試験装置を用いる。通信ネットワークを介して遠隔試験装置と被試験装置との間で診断情報を交換することにより、遠隔故障診断を行う。本発明の重要な一側面は、遠隔試験装置と被試験装置にそれぞれ実装されているＳＯＡＰモジュールによって、診断情報交換処理を調整又は実行することである。
【０００９】
簡易オブジェクトアクセスプロトコル（Simple Object Access Protocol：ＳＯＡＰ）は、情報交換のメカニズムとして適切な通信プロトコル、特にハイパーテキスト転送プロトコル（Hypertext Transfer Protocol：ＨＴＴＰ）及び拡張拡張マークアップ言語（Extensible Markup Language：ＸＭＬ）を用いることにより、ある種類のオペレーティングシステムで動作するプログラムが同種又は別種のオペレーティングシステムのプログラムと通信を行うことを可能にするソフトウェア製品である。ＳＯＡＰのアプリケーションは、そのリモートプロシージャコール（Remote Procedure Call：ＲＰＣ）メカニズムが遠隔故障診断の要件に非常に良く適合するので、非常に効率的な遠隔故障診断アーキテクチャが得られる。ＳＯＡＰは、ウェブベースのサービスに関する基本的な通信メカニズムに対する非常に重要な標準になると考えられる。その結果、ＳＯＡＰを用いた遠隔故障診断アプリケーションは、他のウェブアプリケーションに容易に統合又は組み合わせることができる。ＳＯＡＰは、ウェブサービスのメッセージ通信及び呼出に非常に有用であり、インターネットを介してＲＰＣを実現するメカニズムを定める。ＳＯＡＰは、セキュリティ等の事項までカバーする広く普及した技術であり、プロトコルフレームワーク（ＸＭＬ構文解析、モジュール展開、ＨＴＴＰメッセージ通信等）を実装する必要がない。したがって、遠隔故障診断分野においてＳＯＡＰを展開する場合、遠隔故障診断動作自体の実現に開発努力を集中すればよく、診断動作の基礎となる通信メカニズムを開発する必要はない。
【００１０】
上述のように、理論的には任意の通信プロトコルを用いて診断情報交換を実現することができる。好ましくは、ＳＯＡＰモジュールは、ＨＴＴＰ／ＸＭＬトランスポートプロトコルを用いて、診断情報を含むＳＯＡＰファイル（スクリプト）を交換する。診断情報は、好ましくは、ＳＯＡＰファイルの一部を構成するタグ構造にカプセル化される。例えば、診断の読出／書込／コマンド情報を含む読出／書込／コマンドタグ構造を用いることにより、診断の読出／書込／コマンド情報を交換する。すなわち、各種の診断情報は、それぞれのタグ構造にカプセル化される。更なる具体例では、診断応答情報を含む応答タグ構造を用いることにより、診断応答情報を交換することができる。
【００１１】
受信ＳＯＡＰファイルが受信されると、被試験装置に実装されているＳＯＡＰモジュールは、受信ＳＯＡＰファイルに含まれている診断情報を抽出する。ＳＯＡＰモジュールは、抽出した診断情報を解釈して、対応する診断タスク／読出／書込動作を開始する。診断処理手順が完了すると、被試験装置に実装されているＳＯＡＰモジュールは、被試験装置により生成された、あるいは被試験装置内に記憶されている診断情報をＳＯＡＰファイルにカプセル化し、それらを遠隔試験装置に送信する。「診断タスク」という用語には、被試験装置内で実行される診断処理手順のほか、遠隔試験装置で実行される単純な読出／書込動作、動作に関連した障害メッセージ等も含まれる。
【００１２】
上述の方法を実行するためには、被試験／被診断装置（単に「装置」とも呼ぶ）だけでなく、遠隔試験装置も、それぞれ特別な機能を備えている必要がある。このため、本発明は、通信ネットワークを介して被試験装置に接続可能な遠隔試験装置であって、被試験装置に対して診断情報を送受信する通信手段を備える遠隔試験装置を提供する。通信手段は、診断情報の送受信処理の実行／調整を行うＳＯＡＰクライアントモジュールを備える。
【００１３】
好ましくは、ＳＯＡＰクライアントモジュールは、診断情報をＳＯＡＰファイルとして送受信するためにＨＴＴＰ／ＸＭＬトランスポート（通信）プロトコルを使用する。ＳＯＡＰクライアントモジュールは、例えば、遠隔試験装置にインストールされたソフトウェアモジュールとして実現することができる。好ましくは、ＳＯＡＰクライアントモジュールは、ＳＯＡＰファイルから診断情報の抽出する抽出手段と、及び／又は診断情報をＳＯＡＰファイルにカプセル化する埋込手段とを備える。
【００１４】
本発明は、さらに、通信ネットワークを介して遠隔試験装置に接続可能な装置であって、遠隔試験装置に対して診断情報を送受信する通信手段を備える装置を提供する。通信手段は、診断情報の送受信を実行／調整するＳＯＡＰサーバモジュールを備える。
【００１５】
ＳＯＡＰクライアントモジュールは、診断情報をＳＯＡＰファイルとして送受信するためにＨＴＴＰ／ＸＭＬトランスポート（通信）プロトコルを使用することができる。好ましくは、装置は、通信手段に接続され、診断情報に従って診断タスクを実行する診断手段を備える。ＳＯＡＰサーバは、ＳＯＡＰファイルから診断情報を抽出する抽出手段と、及び／又は例えば診断処理実行中に生成された診断情報をＳＯＡＰファイルに埋め込む埋込手段とを備える。
【００１６】
個々の診断プロトコルを使用すると遠隔故障診断処理手順をより効果的に行える場合は、ＳＯＡＰファイルから装置固有の診断プロトコルに、あるいは装置固有の診断プロトコルからＳＯＡＰファイルに診断情報を転送するために、装置内に通信プロトコル変換手段を設けることが有利である。
【００１７】
本発明は、さらに、本発明に係る遠隔試験装置と、本発明に係る少なくとも１つの被試験装置とを備え、遠隔試験装置と被試験装置は、通信ネットワークを介して、好ましくはインターネットを介して互いに接続されることを特徴とする遠隔故障診断システムを提供する。
【００１８】
また、本発明は、コンピュータ、デジタルシグナルプロセッサ等で実行されると、本発明に係る遠隔故障診断方法のステップ又はその一部を実行するコンピュータプログラム手段を備えるコンピュータプログラム製品を提供する。さらに、本発明に係るコンピュータプログラム製品を格納した、コンピュータにより読出可能な記録媒体を提供する。
【発明を実施するための最良の形態】
【００１９】
以下の説明において、添付図面を参照し、本発明の更なる特徴及び好ましい実施形態を説明する。
【００２０】
以下の説明において、図１を参照し、遠隔試験装置と被試験装置との通信の原理を説明する。
【００２１】
遠隔試験装置１は、例えばコンピュータからなり、インターネットプロトコル（Internet Protocol：ＩＰ）ベースのネットワーク接続、例えばインターネット２を介して、被試験／被診断装置３（「ＤＵＴ（device under test）」とも称する）に接続される。遠隔試験装置１は、その内部に実装されている簡易オブジェクトアクセスプロトコル（Simple Object Access Protocol：ＳＯＡＰ）クライアントによってＳＯＡＰファイルにカプセル化された診断情報を、ＩＰベースのネットワーク接続２を介してＤＵＴ３に送信する。ＤＵＴ３内に実装されているＳＯＡＰサーバは、ＳＯＡＰファイルから診断情報を抽出して解釈し、対応する診断タスクを実行する。例えば、ＤＵＴ３に記憶されているデータの読出、ＤＵＴ３に記憶されている古いデータの新しいデータによる置換、あるいは自己診断処理中に生成された試験結果データの収集等である。必要な診断情報がＳＯＡＯファイルにカプセル化され、ＤＵＴ３からＩＰベースのネットワーク接続２を介して遠隔試験装置１に転送される。診断情報交換処理を実行するために、診断情報キャリヤ／ＳＯＡＰファイルのキャリヤとして適切な通信プロトコル（例えば、ハイパーテキスト転送プロトコル／拡張マークアップ言語（Hypertext Transfer Protocol／Extensible Markup Language：ＸＭＬＨＴＴＰ／ＸＭＬ））を使用する。
【００２２】
図２に、ソフトウェアレイヤアーキテクチャの第１の構成部４Ａと第２の構成部４Ｂを示す。このアーキテクチャの第１の構成部４Ａは、最下位レイヤであるネットワークプロトコルレイヤ５ａと、ネットワークプロトコルレイヤ５ａを利用してそのタスクを実行するＳＯＡＰクライアントレイヤ６ａとから構成される。さらに、ＳＯＡＰクライアントレイヤ６ａの機能を利用して遠隔故障診断タスクを実行する試験器アプリケーションレイヤ７ａを備えている。例えば、試験器アプリケーションレイヤ７ａは、ＤＵＴ３から状態データを読み出す必要がある。このため、試験器アプリケーションレイヤ７ａは、それぞれの読出インストラクションを生成するようにＳＯＡＰクライアントレイヤ６ａに指示する。ＳＯＡＰクライアントレイヤ６ａは、このインストラクションを含む、対応したＳＯＡＰファイルを生成し、ネットワークプロトコルレイヤ５ａは、インターネットを介してこのＳＯＡＰファイルをＤＵＴ３に送信する。ＤＵＴ３には、ソフトウェアレイヤアーキテクチャの第２の構成部４Ｂが設けられており、この第２の構成部４Ｂは、ネットワークプロトコルレイヤ５ｂと、ネットワークプロトコルレイヤ５ｂを利用してそのタスクを実行するＳＯＡＰサーバレイヤ６ｂと、ＳＯＡＰサーバレイヤ６ｂを利用してそのタスクを実行する試験実行レイヤ７ｂとから構成される。受信したＳＯＡＰファイルは、ネットワークプロトコルレイヤ５ｂを介してＳＯＡＰサーバレイヤ６ｂに転送され、ＳＯＡＰサーバレイヤ６ｂは、ＳＯＡＰファイルに含まれる診断情報を抽出し、この情報を試験実行レイヤ７ｂに転送し、試験実行レイヤ７ｂは、対応する診断タスクを実行する（例えば、診断試験を開始し、対応する生成された試験結果データを収集し、ＤＵＴ３に既に記憶されているデータを読み出し、ＳＯＡＰファイルから導かれる新しいデータによって古いデータを置換する等）。これらの診断タスクの結果はＳＯＡＰサーバレイヤ６ｂに転送され、ＳＯＡＰサーバレイヤ６ｂは、この情報をＳＯＡＰファイルにカプセル化し、カプセル化された情報はネットワークプロトコルレイヤ５ｂによって遠隔試験装置１に送信される。ここで、ネットワークプロトコルレイヤ５ａは、ＳＯＡＰファイルを受信し、ＳＯＡＰクライアントレイヤ６ａは、ＳＯＡＰファイルから対応する診断情報を抽出し、この情報を試験器アプリケーションレイヤ７ａに転送する。試験器アプリケーションレイヤ７ａは、この情報を処理し、例えば、遠隔試験装置１のユーザに表示する。
【００２３】
図３は、本発明に基づく遠隔試験装置１と被試験装置３間の通信処理の原理を示す。遠隔試験装置１には、第１のソフトウェアモジュール８ａが実装されており、第１のソフトウェアモジュール８ａは、上述したネットワークプロトコルレイヤ５ａと、ＳＯＡＰクライアントレイヤ６ａと、試験器アプリケーションレイヤ７ａとから構成される。第１のソフトウェアモジュール８ａは、ＤＵＴ３に実装されている第２のソフトウェアモジュール８ｂに対して遠隔故障診断の呼出を送信する。第２のソフトウェアモジュール８ｂは、上述したＳＯＡＰサーバレイヤ６ｂを備え、ＳＯＡＰサーバレイヤ６ｂは、更なる３つのソフトウェアレイヤ、すなわち診断試験レイヤ９、情報書込レイヤ１０、情報読出レイヤ１１にリンクされている。ＳＯＡＰサーバレイヤ６ｂにより受信された診断情報に診断試験開始のためのコマンド情報が含まれている場合、このコマンド情報は診断試験レイヤ９に転送され、診断試験レイヤ９は、試験を実行して対応する結果を収集する。そして、その結果はＳＯＡＰファイルにカプセル化された診断情報として、遠隔試験装置１の第１のソフトウェアパッケージ８ａに送信される。ＳＯＡＰサーバレイヤ６ｂにより受信された診断情報が、ＤＵＴ３の記憶装置に書き込まれる情報からなる場合、この情報は情報書込レイヤ１０に転送され、情報書込レイヤ１０は、そのタスクを実行する。また、ＳＯＡＰサーバレイヤ６ｂにより受信された診断情報にＤＵＴ３の記憶装置から情報を読み出すコマンドが含まれている場合、このコマンドは情報読出レイヤ１１に転送され、情報読出レイヤ１１は、対応する診断情報を読み出す。そして、読み出された診断情報は、遠隔試験装置１の第１のソフトウェアモジュール８ａに送信される。
【００２４】
また、本発明を以下のように表すこともできる。本発明は、実行効率という点で有利である。試験装置とＤＵＴ間でＸＭＬメッセージを直接交換すると、ＤＵＴにおいてＸＭＬスクリプトの解析にかかるソフトウェアのオーバヘッドが大きくなると考えられる。ＤＵＴがこのような解析を最初に行わなければならない場合、これは問題とならない。しかしながら、必ずしもそうではない場合、ＳＯＡＰの適用により、はるかに効率的な遠隔故障診断用アーキテクチャが得られる。もう１つの利点として、ＳＯＡＰは急速に、ウェブベースのサービスに関する基本的な通信メカニズムの事実上の標準になりつつある。このため、ＳＯＡＰを利用する遠隔故障診断アプリケーションは、容易に他のウェブアプリケーションと統合又は組合せが可能である。
【００２５】
以下、ＳＯＡＰを利用して、どのように遠隔故障診断を実現するかを説明する。どの診断動作を定義するか、また、ＳＯＡＰ−リモートプロシージャコール（Remote Procedure Call：ＲＰＣ）によってこれらの動作をどのように実現するかを説明する。
【００２６】
図２は、ＳＯＡＰを用いた遠隔故障診断用の全体的なアーキテクチャを示す。ＤＵＴは、試験器（Tester）にサービスとして診断動作を提供するＳＯＡＰサーバとして実現される。試験器は、ＤＵＴにより提供される診断動作を起動し、応答される結果を評価するＳＯＡＰクライアントとして実現される。
【００２７】
以下、幾つかの遠隔故障診断動作を説明する。遠隔故障診断機能は汎用的にでなければならない。このため、必要な動作を識別する必要があり、適切なアプリケーションプログラムインタフェース（Application Program Interface：ＡＰＩ）を定義する必要がある。エラー検出及び解析を行う必要があるときに装置から読み出すことができる情報には様々な種類がある。この情報は、ＤＵＴの設定や動作状態だけでなく、エラーに至る動作の履歴を報告するログデータにも関係がある。これら様々な情報のすべては、「診断情報ユニット」という用語でまとめられる。
【００２８】
また、エラーを検出するために装置上で実行することができる専用の診断試験ルーチンもある。
【００２９】
読み出した情報及び実行された試験結果を解析した後、問題を解決する又はエラーを取り扱うためには３つの方法が考えられる。
１．ハードウェアの問題：故障がある箇所を交換又は修理しなければならない。
２．ソフトウェアのバグ：現在のソフトウェアを、そのバグを修正する新しいバージョンのソフトウェアで置き換える。
３．問題なし：ユーザは装置の正しい操作方法についてアドバイスを受ける。
４．誤設定：誤った設定を正しい設定位置に戻す。
５．異常状態：異常状態を正常状態に戻す
【００３０】
４と５の項目のみが遠隔故障診断の対象となり、情報ユニットに関係する。したがって、情報ユニットの書込動作（設定の書込及び動作状態の変更）が必要である。
【００３１】
遠隔故障診断動作のカテゴリー毎に、遠隔故障診断ＡＰＩには１つの動作がある。
【００３２】
上述のように、遠隔故障診断情報ユニットの動作には２つの種類がある。１つは情報ユニットを読み出す動作であり、１つは情報ユニットを書き込む動作である。「Read_Information_Unit」は、情報ユニットを読み出す動作である。情報ユニットは、設定、動作状態、あるいはログファイルとすることができる。「name」パラメータは情報ユニットの名前を指定する。読み出さなければならない情報ユニットに制限を設けるために、追加の情報を「parameter」パラメータで送信する。
【００３３】
具体例：ハードディスクレコーダの記録リストにおけるある記録を読み出すときに、ある時間間隔に存在する記録のみを返すように指定することができる。
【００３４】
「result」パラメータは、動作の結果を成功又は失敗として定義する。動作が成功した場合、詳細な結果が「result_data」として得られる。膨大な量のバイナリデータ（記録リスト、ログファイル、画像等）を伝送しなければならない場合、これらのデータをＳＯＡＰメッセージに添付するとともに、添付ファイルを参照することにより、ＳＯＡＰ添付ファイル［２］を使用することが望ましい。
Read_Information_Unit(
in String name,
in String parameter,
out String result,
out String result_data)
【００３５】
以下のリストは、対応するＳＯＡＰ−ＰＲＣの要求及び応答を示す。
【００３６】
リスト１  「Read_Information_Unit」ＳＯＡＰ要求
<SOAP-ENV:Envelope
xmlns:SOAP-ENV=http:”//schemas.xmlsoap.org/soap/envelope/"
SOAP-ENV:encodingStyle="http:
//schemas.xmlsoap.org/soap/encoding/"/>
<SOAP-ENV:Body>
<remote-diagnosis:ReadInformationUnit
xmlns:remote-diagnosis="http://sony.com/remote-diagnosis/"
SOAP-ENV:encodingStyle=
"http://schema.xmlsoap.org/soap/encoding/>"
<name xsi:type="xsd:string"></name>
<parameter xsi:type="xsd:string"></parameter>
</remote-diagnosis:ReadInformationUnit>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
【００３７】
リスト２  「Read_Information_Unit」ＳＯＡＰ応答
<SOAP-ENV:Envelope
xmlns:SOAP-ENV=http://schemas.xmlsoap.org/soap/envelope/
SOAP-
ENV:encodingStyle=”http://schemas.xmlsoap.org/soap/encoding/”/>
<SOAP-ENV:Body>
<remote-diagnosis:ReadInformationUnitResponse
xmlns:remote-diagnosis="http://sony.com/remote-diagnosis">
<result xsi:type="xsd:string"></result>
<result_data xsi:type="xsd:string"></result_data>
</remote-diagnosis:ReadInformationUnitResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
【００３８】
「Write_Information_Unit」は、情報ユニットを書き込む動作である。情報ユニットは設定又は動作状態とすることができる。「name」パラメータは、情報ユニットの名前を指定する。読み出さなければならない情報ユニットに制限を設けるために、追加の情報を「parameter」パラメータで送信する。
【００３９】
「write_data」パラメータは、古いデータを置換すべきデータを含んでいる。膨大な量のデータを伝送しなければならない場合、このデータをＳＯＡＰ添付ファイルとしてメッセージに添付することができる。
【００４０】
「result」パラメータは、動作成功の確認、あるいはエラーが発生したことを示す。
Write_Information_Unit(
in String name,
in String parameter,
in String write_data,
out String result)
【００４１】
以下のリストは、対応するＳＯＡＰ−ＲＰＣの要求及び応答を示す。
【００４２】
リスト３  「Write_Information_Unit」ＳＯＡＰ要求
<SOAP-ENV:Envelope
xmlns:SOAP-ENV=http:”//schemas.xmlsoap.org/soap/envelope/”
SOAP-
ENV:encodingStyle=”http://schemas.xmlsoap.org/soap/encoding/”/>
<SOAP-ENV:Body>
<remote-diagnosis:WriteInformationUnit
xmlns:remote-diagnosis="http://sony.com/remote-diagnosis/"
SOAP-
ENV:encodingStyle="http://schema.xmlsoap.org/soap/encoding/>"
<name xsi:type="xsd:string"></name>
<parameter xsi:type="xsd:string"></parameter>
<write_data xsi:type="xsd:string"></write_data>
</remote-diagnosis:WriteInformationUnit>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
【００４３】
リスト４  「Write_Information_Unit」ＳＯＡＰ応答
<SOAP-ENV:Envelope
xmlns:SOAP-ENV=http://schemas.xmlsoap.org/soap/envelope/
SOAP-
ENV:encodingStyle=”http://schemas.xmlsoap.org/soap/encoding/”/>
<SOAP-ENV:Body>
<remote-diagnosis:WriteInformationUnitResponse
xmlns:remote-diagnosis=”http://sony.com/remote-diagnosis”>
<result xsi:type=”xsd:string”></result>
</remote-diagnosis:WriteInformationUnitResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
【００４４】
ＤＵＴ上で専用の試験ルーチンを実行するのに診断試験動作が使用される。この種の動作は、読出及び書込の設定、動作状態又はログデータに関係しない。多くの場合、これらの試験ルーチンは、ハードウェア試験のように特別に実行される検査を行う。
【００４５】
「name」パラメータは、診断試験の名前を指定する。試験ルーチンをパラメータ化するために、追加の情報を「test_data」パラメータで送信する。膨大な量のデータを伝送しなければならない場合、このデータをＳＯＡＰ添付ファイル［２］としてメッセージに添付することができる。
【００４６】
「result」パラメータは、動作の成功の確認、あるいはエラーが発生したことを示す。動作が成功した場合、詳細な結果情報が「result_data」として得られる。膨大な量のデータを伝送しなければならない場合、これらのデータをＳＯＡＰメッセージに添付するとともに、添付ファイルを参照することにより、ＳＯＡＰ添付ファイル［２］を使用することが望ましい。
【００４７】
具体例：受信機のアンテナ信号の機能を試験する。
Diagnostic_Test(
in String name,
in String test_data,
out String result,
out String result_data
)
【００４８】
以下のリストは、対応するＳＯＡＰ−ＰＲＣの要求及び応答を示す。
【００４９】
リスト５  「Diagnostic_Test」ＳＯＡＰ要求
<SOAP-ENV:Envelope
xmlns:SOAP-ENV=http:”//schemas.xmlsoap.org/soap/envelope/”
SOAP-
ENV:encodingStyle=”http://schemas.xmlsoap.org/soap/encoding/"/>
<SOAP-ENV:Body>
<remote-diagnosis:DiagnosticTest
xmlns:remote-diagnosis="http://sony.com/remote-diagnosis/"
SOAP-
ENV:encodingStyle="http://schema.xmlsoap.org/soap/encoding/>"
<name xsi:type="xsd:string"></name>
<test_data xsi:type="xsd:string"></test_data>
</remote-diagnosis:DiagnosticTest>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
【００５０】
リスト６  「Diagnostic_Test」ＳＯＡＰ応答
<SOAP-ENV:Envelope
xmlns:SOAP-ENV=http://schemas.xmlsoap.org/soap/envelope/
SOAP-
ENV:encodingStyle=”http://schemas.xmlsoap.org/soap/encoding/”/>
<SOAP-ENV:Body>
<remote-diagnosis:DiagnosticTestResponse
xmlns:remote-diagnosis="http://sony.com/remote-diagnosis">
<result xsi:type="xsd:string"></result>
<result_data xsi:type="xsd:string"></result_data>
</remote-diagnosis:DiagnosticTestResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
【００５１】
ＤＵＴにインストールされたＳＯＡＰサーバ（Microsoft .Net, Apache Axis,SOAPLite等）に対してサービスを展開しなければならない。展開した後、ＳＯＡＰサーバは、送信されてくるＳＯＡＰメッセージの解析を行い、抽出したパラメータを対応する遠隔故障診断動作に送る。ＳＯＡＰサーバは、遠隔故障診断動作の結果に応じて応答（ＸＭＬ符号化及びＨＴＴＰメッセージ通信）を自動的に生成する。
【００５２】
したがって、行うべき作業は、遠隔故障診断サービスの展開と遠隔故障診断動作の実行であり、これらの動作が試験器で利用可能となる。図３は、遠隔故障診断動作を展開したＳＯＡＰサーバを示している。
【００５３】
遠隔故障診断動作の実行中にエラーが発生した場合、ＳＯＡＰ障害メッセージが応答として送られる。強制的な障害サブエレメントの障害コード（mandatory fault sub element fault code）が「SOAP-ENV:Client」に設定され、メッセージが正しくなかったことを示す。エラーの正確な理由に関する情報が、その障害文字列（fault string）及び詳細サブエレメントに設定される。遠隔故障診断動作に応じて、これらのエレメントは、以下の表のいずれかの形式をとることができる。
【００５４】
情報ユニット動作の全てに対する共通の障害が存在する。これらの障害を表６．１に示す。表６．２は情報ユニットの書込に関する障害を示し、表６．３は診断試験に関する全ての障害を示す。
【００５５】
【表１】
2005122698.tif 000003
【００５６】
【表２】
2005122698.tif 000004
【００５７】
【表３】
2005122698.tif 000005
【００５８】
以下のリストは、対応するＳＯＡＰ−ＲＰＣの障害メッセージを示す。
【００５９】
リスト７  障害メッセージ
<SOAP-ENV:Envelope
xmlns:SOAP-ENV=http:"//schemas.xmlsoap.org/soap/envelope/"
SOAP-
ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<SOAP-ENV:Fault>
<faultcode>SOAP-ENV:Client</faultcode>
<faultstring>Client Error</faultstring>
<detail>
<faultname>
InformationUnit.Unknown
</faultname>
</detail>
</SOAP-ENV: Fault>
</SOAP-ENV:Envelope>
【００６０】
以下、遠隔故障診断動作をどのようにＳＯＡＰ−ＲＰＣにマッピングするかについて説明する。
【００６１】
ＳＯＡＰは、トランスポートプロトコルから独立しており、あらゆるプロトコルタイプに連結することができるが、ＨＴＴＰは、ＳＯＡＰメッセージの転送用として最も一般的に用いられているプロトコルである。ＳＯＡＰは、ＨＴＴＰ要求／応答メッセージモデルに対するマッピングを行う。ＳＯＡＰ−ＲＰＣの呼出が、ＨＴＴＰ−ＰＯＳＴ要求及びＳＯＡＰ−ＲＰＣ応答にマッピングされ、又は障害がＨＴＴＰ応答にマッピングされる。
【００６２】
ＳＯＡＰメッセージ通信を保証するために、ＨＴＴＰＳを使用することができる。
【００６３】
要求のＵＲＩを遠隔故障診断動作呼出用の「/RemoteDiagnosis」に設定する。ヘッダコンテンツタイプを「text/xml」に設定する。ヘッダ文字セットは「utf-8」である。ヘッダＳＯＡＰ動作を「http://com/remotediagnosis」に設定する。
リスト８  遠隔故障診断要求
POST /RemoteDiagnosis HTTP/1.1
Content-Type: text/xml; charset=”utf-8”
Content-Length: nnnn
SOAPAction: ”http://sony.com/remotediagnosis”
【００６４】
遠隔故障診断動作呼出に対する成功の応答は、ステータスコード「200 OK」、すなわち要求が成功したことを示す（ＰＯＳＴは動作結果の記述又は含むエンティティ）のＨＴＴＰ応答にマッピングされる。
リスト９  遠隔故障診断応答
HTTP/1.1 200 OK
Content-Type: text/xml; charset=”utf-8”
Content-Length: nnnn
【００６５】
ＳＯＡＰ障害又は遠隔故障診断障害の場合、ＨＴＴＰ５００応答が発生する。
リスト１０  遠隔故障診断障害
HTTP/1.1 500 Internal Server Error
Content-Type: text/xml; charset=”utf-8”
Content-Length: nnnn
【００６６】
ここでは、遠隔故障診断機能のメッセージ及びポートタイプの定義を示す。
【００６７】
リスト１１  遠隔故障診断用ＷＳＤＬ
<?xml version=”1.0”?>
=<definitions name=”urn:RemoteDiagnosis” targetNamespace=”urn:sony-
remote-diagnosis”              xmlns:tns=”urn:sony-remote-diagnosis”
xmlns=”http://schemas.xmlsoap.org/wsdl/”
xmlns:soap=”http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/1999/XMLSchema">
=<message name="ReadInformationUnitRequest">
<part name="name"type="xsd:string"/>
<part name="parameter"type="xsd:string"/>
</message>
=<message name="ReadInformationUnitResponse">
<part name="result"type="xsd:string"/>
<part name="result_data"type="xsd:string"/>
</message>
=<message name="WriteInformationUnitRequest">
<part name="name"type="xsd:string"/>
<part name="parameter"type="xsd:string"/>
<part name="write_data"type="xsd:string"/>
</message>
=<message name="WriteInformationUnitResponse">
<part name="result"type="xsd:string"/>
</message>
=<message name="DiagnosticTestRequest">
<part name="name"type="xsd:string"/>
<part name="test_data"type="xsd:string"/>
</message>
=<message name="DiagnosticTestResponse">
<part name="result"type="xsd:string"/>
<part name="result_data"type="xsd:string"/>
</message>
<message name="InformationUnitUnknownFault"/>
<message name="InformationUnitInvalidParameterFault"/>
<message name="WriteInformationUnitReadOnlyFault"/>
<message name="WriteInformationUnitInvalidWriteDataFault"/>
<message name="DiagnosticTestUnknownFault"/>
<message name="DiagnosticTestInvalidTestDataFault"/>
=
<portType name="RemoteDiagnosis">
=<operation name="ReadInformationUnit">
<input message="tns:ReadInformationUnitRequest"/>
<output message="tns:ReadInformationUnitResponse"/>
<fault          name="InformationUnitUnknownFault"
message="tns:InformationUnitUnknownFault"/>
<fault        name="InformationUnitInvalidParameterFault"
message="tns:InformationUnitInvalidParameterFault"/>
</operation>
=<operation name="WriteInformationUnit">
<input message="tns:WriteInformationUnitRequest"/>
<output message="tns:WriteInformationUnitResponse"/>
<fault          name="InformationUnitUnknownFault"
message="tns:InformationUnitUnknownFault"/>
<fault       name="InformationUnitInvalidParameterFault"
message="tns:InformationUnitInvalidParameterFault"/>
<fault       name="WriteInformationUnitReadOnlyFault"
message="tns:WriteInformationUnitReadOnlyFault"/>
<fault     name="WriteInformationUnitInvalidWriteDataFault"
message="tns:WriteInformationUnitInvalidWriteDataFault"/>
</operation>
=<operation name="DiagnosticTest">
<input message="tns:DiagnosticTestRequest"/>
<output message="tns:DiagnosticTestResponse"/>
<fault          name=”DiagnosticTestUnknownFault”
message=”tns:DiagnosticTestUnknownFault”/>
<fault       name=”DiagnosticTestInvalidTestDataFault”
message=”tns:DiagnosticTestInvalidTestDataFault”/>
</operation>
</portType>
【００６８】
以上から明らかなように、本発明は、標準的なインターネットプロトコル（ＨＴＴＰ）を介して、コンピュータシステムにより非常に効率的かつ相互運用可能な方法で、装置の遠隔故障診断を行うことを可能にする一可能性を示す。診断動作の遠隔起動及び遠隔故障診断ＡＰＩの定義のためのＳＯＡＰ−ＲＰＣメカニズムを用いる。利用可能なＳＯＡＰエンジンを用いることにより、ＤＵＴ上での実現が容易になり、ＳＯＡＰ展開ツールの使用が可能となる。遠隔故障診断及びＳＯＡＰへの「マッピング」に必要なＡＰＩのみを定義して実行すればよい。ＳＯＡＰはそのままＲＰＣ環境として使用される。これにより、遠隔故障診断機能の実装は、診断試験及びコマンドの実装となる。
【００６９】
ＳＯＡＰメッセージをＳＮＭＰメッセージに変換するために中央ノード（central node）を使用することが知られている。ＳＮＭＰメッセージは被制御装置（controlled device）に送られる。ＳＯＡＰは、ＨＴＴＰトンネリング（HTTP tunneling）に「多用（abused）」されている。しかしながら、これにはネットワークで利用可能な大規模のサーバが必要とされ、ホームネットワーク内の装置の場合、これは考えられない。ＨＴＴＰポート番号を用いてファイアウォールをＳＯＡＰトンネリングすることは希である。専用ポートが割り当てられていれば、ＨＴＴＰポートは、遠隔故障診断において不要となる。このポートは、ファイアウォールに開けることができる。
【００７０】
ＳＯＡＰにより、民生用電子機器において（実行が軽量なものとして）利用可能となる完全なＲＰＣ環境が得られる。したがって、ＳＯＡＰコールを他のプロトコルに変換するサーバを設けたり、ＲＰＣ環境を再設置したりする必要はない。
【００７１】
［１］ＸＭＬについて
Extensible Markup Language(XML) 1.0 (Second Edition)
http://www.w3.org/TR/2000/REC-xml-20001006
［２］ＳＯＡＰについて
Simple Object Access Protocol (SOAP) 1.1
http://www.w3.org/TR/SOAP/
［３］ＳＯＡＰ添付ファイルについて
SOAP Messages with Attachments
http://www.w3.org/TR/SOAP-attachments
［４］ＷＳＤＬについて
Web Services Description Language (WSDL) 1.1
http://www.w3.org/TR/wsdl
【００７２】
略称について
ＤＵＴ      ：被試験装置（Device Under Test）
ＨＴＴＰ    ：ハイパーテキスト転送プロトコル（Hypertext Transfer Protocol）
ＲＰＣ      ：リモートプロシージャコール（Remote Procedure Call）
ＳＯＡＰ    ：簡易オブジェクトアクセスプロトコル（Simple Object Access Protocol）
ＸＭＬ      ：拡張マークアップ言語（Extensible Markup Language）
ＨＴＴＰ    ：セキュアソケットレイヤ上のハイパーテキスト転送プロトコル（Hypertext Transfer Protocol over Secure Socket Layer）
ＴＣＰ／ＩＰ：伝送制御プロトコル／インターネットプロトコル（Transmission Control Protocol/Internet Protocol）
ＡＰＩ      ：アプリケーションプログラムインタフェース（Application Program Interface）
【図面の簡単な説明】
【００７３】
【図１】本発明に係る遠隔試験装置と被試験装置とからなるシステムを示す図である。
【図２】本発明に係る被試験装置と遠隔試験装置のそれぞれにおいて使用されるソフトウェアレイヤアーキテクチャの好ましい実施例を示す図である。
【図３】本発明に係る遠隔試験装置と被試験装置との通信処理を示す図である。
【符号の説明】
【００７４】
１  遠隔試験装置、２  通信ネットワーク、３  被診断／被試験装置、４Ａ  ソフトウェアアーキテクチャの第１の構成部、４Ｂ  ソフトウェアアーキテクチャの第２の構成部、５ａ，５ｂ  ネットワークプロトコルレイヤ、６ａ  ＳＯＡＰクライアントレイヤ、６ｂ  ＳＯＡＰサーバレイヤ、７ａ  試験器アプリケーションレイヤ、７ｂ  試験実行レイヤ、８ａ  第１のソフトウェアモジュール、８ｂ  第２のソフトウェアモジュール、９  診断試験レイヤ、１０  情報書込レイヤ、
１１  情報読出レイヤ
【図１】
2005122698.tif 000006
【図２】
2005122698.tif 000007
【図３】
2005122698.tif 000008
【外国語明細書】
2005122698.tif 000009
2005122698.tif 000010
2005122698.tif 000011
2005122698.tif 000012
2005122698.tif 000013
2005122698.tif 000014
2005122698.tif 000015
2005122698.tif 000016
2005122698.tif 000017
2005122698.tif 000018
2005122698.tif 000019
2005122698.tif 000020
2005122698.tif 000021
2005122698.tif 000022
2005122698.tif 000023
2005122698.tif 000024
2005122698.tif 000025
2005122698.tif 000026
2005122698.tif 000027
2005122698.tif 000028
2005122698.tif 000029
【図１】
2005122698.tif 000030
【図２】
2005122698.tif 000031
【図３】
2005122698.tif 000032