(57)【要約】【課題】  通信処理を伴うデータ処理を実行するシステムにおいて、エラー回復、データ処理の再開を確実に実行させることを可能とした構成を提供する。【解決手段】  内部データ処理を行なうとともに相互にデータ通信を実行する複数のエンティティ（情報処理部）から構成される情報処理システムにおいて、第１のエンティティが、エラー検出に基づいて、エラー通知データを送信し、エラー通知データの送信後のデータ受信を条件として初期状態復帰処理を実行するとともに、第２のエンティティがエラー検出に基づいて、エラー通知データを送信し、エラー通知データの送信処理の実行を条件として初期状態復帰処理を実行する。本構成により、双方のエンティティが確実に同期して初期状態に復帰でき、確実なエラー回復、データ処理再開が可能となる。【選択図】  図６
2006157328.tif 000002
【特許請求の範囲】
【請求項１】
相互にデータ通信を実行するともに、通信データを適用したデータ処理を実行する複数の情報処理部から構成される情報処理システムであり、
データ処理エラーまたは受信データのエラー検出に基づいて、エラー通知データを送信し、該エラー通知データの送信後のデータ受信を条件として初期状態復帰処理を実行する第１情報処理部と、
データ処理エラーまたは受信データのエラー検出に基づいて、エラー通知データを送信し、該エラー通知データの送信処理の実行を条件として初期状態復帰処理を実行する第２情報処理部と、
を有することを特徴とする情報処理システム。
【請求項２】
前記第１情報処理部および前記第２情報処理部は、交互にデータ送受信を実行する構成であり、前記第１情報処理部および前記第２情報処理部は、受信データのエラー検出処理においてエラーが検出されない場合に内部でのデータ処理に移行し、エラーが検出された場合にはエラー通知データの送信処理を実行する構成であることを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記第１情報処理部は、
前記第２情報処理部に対するエラー通知データ送信後、前記第２情報処理部から受信するデータがエラー通知データであることが確認された場合、または通信エラーデータであることが確認された場合、いずれの場合においても初期状態復帰処理を実行する構成であることを特徴とする請求項１に記載の情報処理システム。
【請求項４】
前記第２情報処理部は、
自己の実行する内部データ処理におけるエラー発生、または、前記第１情報処理部からの受信データの通信エラーの発生を検知し、該エラー検知に基づいて、エラー通知データを送信し、該エラー通知データの送信を条件として初期状態復帰処理を実行する構成であることを特徴とする請求項１に記載の情報処理システム。
【請求項５】
データ通信を実行するともに、通信データを適用したデータ処理を実行する情報処理装置であり、
自己の実行する内部データ処理におけるエラー発生、または、通信相手装置からの受信データの通信エラーの発生を検知するエラー検出部と、
エラー検知に基づいて、エラー通知データを送信する通信部と、
エラー通知データ送信後のデータ受信を条件として初期状態復帰処理を実行するデータ処理部と、
を有することを特徴とする情報処理装置。
【請求項６】
前記情報処理装置は、
通信相手装置に対するエラー通知データ送信後に、前記通信相手装置から受信するデータがエラー通知データであることが確認された場合、または通信エラーデータであることが確認された場合、いずれの場合においても初期状態復帰処理を実行する構成であることを特徴とする請求項５に記載の情報処理装置。
【請求項７】
相互にデータ通信を実行するともに、通信データを適用したデータ処理を実行する情報処理装置であり、
自己の実行する内部データ処理におけるエラー発生、または、通信相手装置からの受信データの通信エラーの発生を検知するエラー検出部と、
エラー検知に基づいて、エラー通知データを送信する通信部と、
エラー通知データの送信を条件として初期状態復帰処理を実行するデータ処理部と、
を有することを特徴とする情報処理装置。
【請求項８】
データ通信を実行するともに、通信データを適用したデータ処理を実行する情報処理方法であり、
自己の実行する内部データ処理におけるエラー発生、または、通信相手装置からの受信データの通信エラーの発生を検出するエラー検出ステップと、
前記エラー検出ステップにおけるエラー検出を条件として、エラー通知データを送信するエラー通知データ送信ステップと、
エラー通知データ送信後のデータ受信を条件として初期状態復帰処理を実行する初期状態復帰ステップと、
を有することを特徴とする情報処理方法。
【請求項９】
前記初期状態復帰ステップは、
通信相手装置に対するエラー通知データ送信後に、前記通信相手装置から受信するデータがエラー通知データであることが確認された場合、または通信エラーデータであることが確認された場合、いずれの場合においても初期状態復帰処理を実行することを特徴とする請求項８に記載の情報処理方法。
【請求項１０】
データ通信を実行するともに、通信データを適用したデータ処理を実行する情報処理方法であり、
自己の実行する内部データ処理におけるエラー発生、または、通信相手装置からの受信データの通信エラーの発生を検出するエラー検出ステップと、
前記エラー検出ステップにおけるエラー検出を条件として、エラー通知データを送信するエラー通知データ送信ステップと、
前記エラー通知データの送信を条件として初期状態復帰処理を実行する初期状態復帰ステップと、
を有することを特徴とする情報処理方法。
【請求項１１】
データ通信を実行するともに、通信データを適用したデータ処理をコンピュータ上で実行させるコンピュータ・プログラムであり、
自己の実行する内部データ処理におけるエラー発生、または、通信相手装置からの受信データの通信エラーの発生を検出するエラー検出ステップと、
前記エラー検出ステップにおけるエラー検出を条件として、エラー通知データを送信するエラー通知データ送信ステップと、
エラー通知データ送信後のデータ受信を条件として初期状態復帰処理を実行する初期状態復帰ステップと、
を有することを特徴とするコンピュータ・プログラム。
【請求項１２】
データ通信を実行するともに、通信データを適用したデータ処理をコンピュータ上で実行させるコンピュータ・プログラムであり、
自己の実行する内部データ処理におけるエラー発生、または、通信相手装置からの受信データの通信エラーの発生を検出するエラー検出ステップと、
前記エラー検出ステップにおけるエラー検出を条件として、エラー通知データを送信するエラー通知データ送信ステップと、
前記エラー通知データの送信を条件として初期状態復帰処理を実行する初期状態復帰ステップと、
を有することを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、および情報処理方法、並びにコンピュータ・プログラムに関する。さらに詳細には、複数の情報処理装置間においてデータ通信を実行し、通信データを適用したデータ処理を実行する構成において、データ処理エラーあるいは通信エラーの発生に対応した最適な制御を行いエラー発生時に確実な回復を実現する情報処理装置、情報処理システム、および情報処理方法、並びにコンピュータ・プログラムに関する。
【背景技術】
【０００２】
複数の情報処理装置間で通信を実行し、通信データを適用したデータ処理を実行するシステムは様々な分野で利用されている。例えば有線または無線の通信ネットワーク、ケーブル、あるいはバスなどを介してデータ通信を実行する複数の情報処理装置において通信データを適用したデータ処理を実行して最終的な処理結果を算出するシステムである。
【０００３】
１つの具体例として、例えば２つの情報処理装置ＡＢ間における通信処理を実行する場合、一方の情報処理装置Ａがデータ処理を実行し、処理結果を情報処理装置Ｂに送信し、さらに、情報処理装置Ｂが受信した処理結果を適用したデータ処理を実行して情報処理装置Ａに送信するなどの処理を行なう。このような通信シーケンスばかりでなく、複数の情報処理装置間でデータを送受信しながら送受信データを適用したデータ処理を実行するシステムは様々な分野で利用されている。
【０００４】
しかし、このようなデータ通信、データ処理を伴う構成では、データ処理エラー、データ通信エラーが発生した場合の対処が問題となる。情報処理装置としてのエンティティＡ及びＢが、各々異なる内部処理の実行及びその結果であるデータの送受信を複数回繰り返すことによって特定の処理を実行する情報処理システムについて考える。これらのシステムでは、情報処理装置としてのエンティティＡ及びＢ個々の内部でのデータ処理が実行され、処理結果データの送受信が行われ、さらにその送受信データに基づいて新たな内部処理が実行される。
【０００５】
このようなデータ処理を行なう場合、処理シーケンスが正確に維持されることが必要となる。すなわち、各エンティティにおける内部状態は同期している必要がある。しかしながら実際のシステムでは、データの送受信時における通信エラーや、内部処理が正しく行われなかった場合の内部処理エラー等によって、各エンティティの内部状態に差異が発生、すなわち内部状態の非同期が生じる可能性がある。このような場合において各エンティティの内部状態の差異を解消して、内部状態を同期させる仕組みが必要である。
【０００６】
通常、内部処理エラー等により装置間の内部状態の非同期が生じた場合、エラーを検出したエンティティＡは、通信相手に対して内部処理エラーを通知し、自身は初期状態に戻る。また、内部処理エラーの通知を受信したエンティティＢは、そのまま初期状態に戻ることにより両者の内部状態を初期状態で同期させることができる。
【０００７】
しかしながらこのような状態同期処理は、一方のエンティティにおいて実行したデータ処理においてエラーが発生したことが認識できる場合にのみ適用可能である。すなわち、エンティティＡは正しいデータ処理の結果データを送信したが、そのデータ転送時に通信エラーが発生した場合、エンティティＡはエラーの発生を認識することができない。
【０００８】
エンティティＢでは、パリティチェック等により通信エラーを検出することが可能であったとしても、正規のデータに対して通信エラーが発生したのか内部処理エラーに対して通信エラーが発生したのかそれが通信エラーであるのか内部処理エラーであるのかを判断することができず、そのまま初期状態に戻ることになる。
【０００９】
以上より、エンティティＡは、正しい処理が実行されているものとして、内部状態を移行し、一方、エンティティＢは初期状態に戻ってしまい、結果としてエンティティＡＢ間において内部状態の非同期が生じる。
【００１０】
このような問題を解決する最も簡単な手法として、エンティティＢが通信エラーを検出した場合にそれを受信したことをエンティティＡに通知するという方法が考えられるが、エンティティＡが続けてデータを送信しようとしている場合、エンティティＡ及びＢが互いにデータを送信しようとする状態に陥り、処理が続行できなくなる場合がある。また、エンティティＡがデータの受信待ち状態であった場合でも、Ｂが送信しようとするエラー通知データのデータ長と、Ａが受信しようとするデータのデータ長が一致しない場合、エラー通知通信データが送信しきれない、もしくはデータを送信してもエンティティＡにおけるデータ受信状態が続く等の問題が生じる。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明は、上述の問題点に鑑みてなされたものであり、複数の情報処理装置等のエンティティ間で通信を実行し、通信データを適用したデータ処理を行なう構成において、内部処理エラー、通信エラーのいずれが生じた場合においても、通信処理を実行するエンティティ両者がエラーの発生を正しく認識し、各々の内部状態を同期させて確実なエラー回復を行い、データ処理を再開することを可能とした情報処理装置、情報処理システム、および情報処理方法、並びにコンピュータ・プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明の第１の側面は、
相互にデータ通信を実行するともに、通信データを適用したデータ処理を実行する複数の情報処理部から構成される情報処理システムであり、
データ処理エラーまたは受信データのエラー検出に基づいて、エラー通知データを送信し、該エラー通知データの送信後のデータ受信を条件として初期状態復帰処理を実行する第１情報処理部と、
データ処理エラーまたは受信データのエラー検出に基づいて、エラー通知データを送信し、該エラー通知データの送信処理の実行を条件として初期状態復帰処理を実行する第２情報処理部と、
を有することを特徴とする情報処理システムにある。
【００１３】
さらに、本発明の情報処理システムの一実施態様において、前記第１情報処理部および前記第２情報処理部は、交互にデータ送受信を実行する構成であり、前記第１情報処理部および前記第２情報処理部は、受信データのエラー検出処理においてエラーが検出されない場合に内部でのデータ処理に移行し、エラーが検出された場合にはエラー通知データの送信処理を実行する構成であることを特徴とする。
【００１４】
さらに、本発明の情報処理システムの一実施態様において、前記第１情報処理部は、前記第２情報処理部に対するエラー通知データ送信後、前記第２情報処理部から受信するデータがエラー通知データであることが確認された場合、または通信エラーデータであることが確認された場合、いずれの場合においても初期状態復帰処理を実行する構成であることを特徴とする。
【００１５】
さらに、本発明の情報処理システムの一実施態様において、前記第２情報処理部は、自己の実行する内部データ処理におけるエラー発生、または、前記第１情報処理部からの受信データの通信エラーの発生を検知し、該エラー検知に基づいて、エラー通知データを送信し、該エラー通知データの送信を条件として初期状態復帰処理を実行する構成であることを特徴とする。
【００１６】
さらに、本発明の第２の側面は、
データ通信を実行するともに、通信データを適用したデータ処理を実行する情報処理装置であり、
自己の実行する内部データ処理におけるエラー発生、または、通信相手装置からの受信データの通信エラーの発生を検知するエラー検出部と、
エラー検知に基づいて、エラー通知データを送信する通信部と、
エラー通知データ送信後のデータ受信を条件として初期状態復帰処理を実行するデータ処理部と、
を有することを特徴とする情報処理装置にある。
【００１７】
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、通信相手装置に対するエラー通知データ送信後に、前記通信相手装置から受信するデータがエラー通知データであることが確認された場合、または通信エラーデータであることが確認された場合、いずれの場合においても初期状態復帰処理を実行する構成であることを特徴とする。
【００１８】
さらに、本発明の第３の側面は、
相互にデータ通信を実行するともに、通信データを適用したデータ処理を実行する情報処理装置であり、
自己の実行する内部データ処理におけるエラー発生、または、通信相手装置からの受信データの通信エラーの発生を検知するエラー検出部と、
エラー検知に基づいて、エラー通知データを送信する通信部と、
エラー通知データの送信を条件として初期状態復帰処理を実行するデータ処理部と、
を有することを特徴とする情報処理装置にある。
【００１９】
さらに、本発明の第４の側面は、
データ通信を実行するともに、通信データを適用したデータ処理を実行する情報処理方法であり、
自己の実行する内部データ処理におけるエラー発生、または、通信相手装置からの受信データの通信エラーの発生を検出するエラー検出ステップと、
前記エラー検出ステップにおけるエラー検出を条件として、エラー通知データを送信するエラー通知データ送信ステップと、
エラー通知データ送信後のデータ受信を条件として初期状態復帰処理を実行する初期状態復帰ステップと、
を有することを特徴とする情報処理方法にある。
【００２０】
さらに、本発明の情報処理方法の一実施態様において、前記初期状態復帰ステップは、通信相手装置に対するエラー通知データ送信後に、前記通信相手装置から受信するデータがエラー通知データであることが確認された場合、または通信エラーデータであることが確認された場合、いずれの場合においても初期状態復帰処理を実行することを特徴とする。
【００２１】
さらに、本発明の第５の側面は、
データ通信を実行するともに、通信データを適用したデータ処理を実行する情報処理方法であり、
自己の実行する内部データ処理におけるエラー発生、または、通信相手装置からの受信データの通信エラーの発生を検出するエラー検出ステップと、
前記エラー検出ステップにおけるエラー検出を条件として、エラー通知データを送信するエラー通知データ送信ステップと、
前記エラー通知データの送信を条件として初期状態復帰処理を実行する初期状態復帰ステップと、
を有することを特徴とする情報処理方法にある。
【００２２】
さらに、本発明の第６の側面は、
データ通信を実行するともに、通信データを適用したデータ処理をコンピュータ上で実行させるコンピュータ・プログラムであり、
自己の実行する内部データ処理におけるエラー発生、または、通信相手装置からの受信データの通信エラーの発生を検出するエラー検出ステップと、
前記エラー検出ステップにおけるエラー検出を条件として、エラー通知データを送信するエラー通知データ送信ステップと、
エラー通知データ送信後のデータ受信を条件として初期状態復帰処理を実行する初期状態復帰ステップと、
を有することを特徴とするコンピュータ・プログラムにある。
【００２３】
さらに、本発明の第７の側面は、
データ通信を実行するともに、通信データを適用したデータ処理をコンピュータ上で実行させるコンピュータ・プログラムであり、
自己の実行する内部データ処理におけるエラー発生、または、通信相手装置からの受信データの通信エラーの発生を検出するエラー検出ステップと、
前記エラー検出ステップにおけるエラー検出を条件として、エラー通知データを送信するエラー通知データ送信ステップと、
前記エラー通知データの送信を条件として初期状態復帰処理を実行する初期状態復帰ステップと、
を有することを特徴とするコンピュータ・プログラムにある。
【００２４】
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、ＣＤやＦＤ、ＭＯなどの記憶媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【００２５】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づく、より詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【発明の効果】
【００２６】
本発明の構成によれば、内部データ処理を行なうとともに相互にデータ通信を実行する複数のエンティティ（情報処理部）から構成される情報処理システムにおいて、第１のエンティティが、エラー検出に基づいて、エラー通知データを送信し、該エラー通知データの送信後のデータ受信を条件として初期状態復帰処理を実行するとともに、第２のエンティティがエラー検出に基づいて、エラー通知データを送信し、該エラー通知データの送信処理の実行を条件として初期状態復帰処理を実行する構成としたので、双方のエンティティが確実に同期して初期状態に復帰することが可能となり、確実なエラー回復、データ処理再開が実現される。
【００２７】
さらに、本発明の構成によれば、エンティティＡ，Ｂ間でデータ通信を伴うデータ処理を実行する構成において、
（１）エンティティＡのデータ処理（内部処理）でのエラー発生
（２）エンティティＢのデータ処理（内部処理）でのエラー発生
（３）エンティティＡからエンティティＢに対する通信データでのエラー発生
（４）エンティティＢからエンティティＡに対する通信データでのエラー発生
これらの異なる態様でのエラー発生において、エンティティＡが、エラー検出に基づいて、エラー通知データを送信し、該エラー通知データの送信後のデータ受信を条件として初期状態復帰処理を実行し、エンティティＢがエラー検出に基づいて、エラー通知データを送信し、該エラー通知データの送信処理の実行を条件として初期状態復帰処理を実行する構成により、双方のエンティティが確実に同期して初期状態に復帰することが可能となり、確実なエラー回復、データ処理再開が実現される。
【発明を実施するための最良の形態】
【００２８】
以下、図面を参照しながら、本発明の情報処理装置、情報処理システム、および情報処理方法、並びにコンピュータ・プログラムの詳細について説明する。
【００２９】
本発明は、複数の情報処理装置間で通信を実行し、通信データを適用したデータ処理を行なう構成において、内部処理エラー、通信エラーのいずれかが生じた場合においても、情報処理装置としてのエンティティＡ及びＢの両者がエラーの発生を正しく認識し、各々の内部状態を同期させることによって確実なエラー回復、処理再開を可能とするものである。以下の本発明の実施例において、通信を行いながらデータ処理を実行する２つの情報処理装置をエンティティＡおよびエンティティＢとする。また、各記号の意味を下記のように定義する。
Ａ：相互通信において、最初にデータを送信するエンティティ
Ｂ：エンティティＡと通信を行うエンティティ
ＴＲ：ＡとＢが通信を行うことによって実行される特定の処理
ＩＴＲＸｉ（Ｖ）：エンティティＸによる値Ｖを用いたｉ番目の内部処理（ｉ＝０，１，２・・）
Ｄａｔａｊ：データ処理において処理または通信対象となるｊ番目のデータ
ＩＶ：ＴＲ実行のための初期値
ＳＸｉ：エンティティＸの内部状態（エンティティＡの初期状態はＳＡ０、エンティティＢの初期状態はＳＢ０）
【００３０】
エンティティＡとエンティティＢとが相互に通信を行うことにより処理（ＴＲ）を実行する情報処理システムにおいて、エラーが発生した場合には各エンティティＡ，Ｂはそれぞれの初期状態（ＳＡ０、ＳＢ０）に戻ることにより内部状態の同期を図る。エラー検出時のエラー回復処理（以降単にエラー処理と呼ぶ）として通常以下の二通りの対処法が考えられる。
（処理１）そのまま初期状態に戻る。
（処理２）通信相手にエラー通知データを送信し、初期状態に戻る。エラー通知データを受信したエンティティは、そのまま初期状態に戻る。
【００３１】
まず（処理１）の場合、内部状態ＳＡｉにおいてエラーを検出したエンティティＡは、内部状態ＳＡｉから初期状態ＳＡ０へと戻る。一方エンティティＢはエラーの発生を知ることが不可能であるため、内部状態はＳＢｉのままである。従って、エンティティＡがデータ処理（ＴＲ）の再開を試みた場合、エンティティＡ、エンティティＢ間の内部状態が非同期のままでＴＲが実行されることになり、正しい実行結果が得られない。これは、エンティティＢが内部状態ＳＢｉにおいてエラーを検出した場合も同様である。
【００３２】
この場合において各エンティティの内部状態を同期させるためには、タイムアウト処理が必要となる。即ち、エラーを検出したエンティティは一定時間、処理を中断した後、初期状態に戻るという動作を行い、他方のエンティティは一定時間データが送信されないことによってエラーの発生を検出し、初期状態に戻る、という処理を行う必要がある。しかしながら、このようなタイムアウト処理は、データの遅延等を勘案した上で時間を適切に設定することが容易ではないという問題がある。
【００３３】
次に（処理２）の場合、内部状態ＳＡｉにおいてエラーを検出したエンティティＡは、エラー通知データをエンティティＢに対して送信した後、内部状態ＳＡｉから初期状態ＳＡ０へと戻り、エンティティＢはエラー通知データを受信後、初期状態ＳＢ０へと戻ることにより内部状態の同期が可能となる。
【００３４】
しかしながら、エンティティＡからエンティティＢへの送信が複数回連続して行われるような処理が存在する場合、エンティティＡからの送信データに通信エラーが発生すると、エンティティＢはエラー通知データをエンティティＡに送信しようとするが、同時期にエンティティＡは残りのデータを送信しようとするために両エンティティが同時に送信状態となり、特にハードウェアの場合にはデッドロックに陥る可能性がある。このように、上述の（処理１）、（処理２）の対処では、確実に内部状態を同期させてエラー回復を行なうことは困難である。
【００３５】
本発明は、このように、相互に通信を行う情報処理システムにおいてある条件を満たすように設定することにより、各エンティティの内部状態を確実に同期させる方式である。以下、設定条件、通常状態におけるＴＲの実行、エラー処理、エラー発生時の動作に関して述べる。
【００３６】
（１）設定条件
エラーが発生した場合にも各エンティティの内部状態を同期可能とするために、以下の設定条件を満たすように情報処理システムを構成する。なお、情報処理システムとは、相互通信を実行してデータ処理を実行する複数の情報処理装置等のエンティティによって構成される。
（設定１）：送信データは、受信側で通信エラーの有無を検出可能とする
（設定２）：送受信されるデータはエラーの有無に関わらず受信可能とする
（設定３）：送受信は必ず交互に繰り返される
（設定４）：エンティティＢは最終データの送信後もエンティティＡからのデータを受信可能である、もしくは、リセットが可能である
【００３７】
なお、これらの設定条件１〜４は相互に通信を行う情報処理システムにおいて、例えば以下のようにして実現可能である。
（設定１）：データ送信時には、データ送信側エンティティが、送信データに対応するエラー確認または訂正用情報としてのパリティビット（もしくはチェックサム）を付加して送信する。またデータ受信側エンティティは、受信データのパリティビット（もしくはチェックサム）を計算し、データに誤りが無いかどうかを判断する。
（設定２）：送信されるデータのデータ長、パケット長等をすべてのデータにおいて同一の値とする。もしくは、エンティティＡＢ間で一回にやり取りされるビット長を固定とする。
（設定３）：エンティティＡ、Ｂ共に「データ送信後、次のデータを受信するまで内部処理を実行しない」という動作を行うように構成し、エンティティＡを最初のデータ送信者とする。
（設定４）：エンティティＢの動作を、ＴＲ実行終了後にエンティティＡからのデータ受信待ちもしくはリセット待ちに入るように構成する。
【００３８】
［通常状態におけるデータ処理（ＴＲ）の実行例］
エンティティＡ，Ｂ間でデータ通信を実行する処理例について説明する。まず、図１〜図３を参照して、エラーが発生しない場合の通信処理および各エンティティＡ，Ｂにおけるデータ処理例について説明する。ここで、エンティティＡ及びエンティティＢが各々Ｎ回の内部処理（データ処理）および２Ｎ回のデータ送受信を実行することによって全体のデータ処理（ＴＲ）が完了するものとする。データ処理において使用する初期値は、初期値ＩＶ＝Ｄａｔａ０とする。
【００３９】
全体処理のシーケンス図を図１に示し、エンティティＡおよびエンティティＢの内部処理の実行手順を説明するフローを図２および図３に示す。まず、図１に従って、全体処理のシーケンスについて説明する。
【００４０】
処理開始（ＴＲ開始）後、ステップＳ１０１において、エンティティＡは、初期値（ＩＶ）を適用したデータ処理（内部処理）ＩＴＲＡ１を実行して、初期値（ＩＶ）に基づくデータ処理の結果データＤａｔａ１を算出する。すなわち、
Ｄａｔａ１＝ＩＴＲＡ１（ＩＶ）
によってデータＤａｔａ１を得る。
エンティティＡは、このデータＤａｔａ１をエンティティＢに送信する。
【００４１】
ステップＳ１０２において、エンティティＢは、エンティティＡから受信したデータの正当性検証処理を実行する。データＤａｔａ１には、エラー確認または訂正用情報としてのパリティビット（もしくはチェックサム）が付加されており、エンティティＢは、受信データのパリティビット（もしくはチェックサム）を計算し、データに誤りが無いかどうかを判断する。
【００４２】
データに誤りがあると判定した場合には、エラー処理に移行する。エラー処理については、後段で詳細に説明する。データに誤りがないと判定した場合は、ステップＳ１０３において、エンティティＢは、受信データ（Ｄａｔａ１）を適用したデータ処理（内部処理）ＩＴＲＢ１を実行して、データ（Ｄａｔａ１）に基づくデータ処理の結果データＤａｔａ２を算出する。すなわち、
Ｄａｔａ２＝ＩＴＲＢ１（Ｄａｔａ１）
によってデータＤａｔａ２を得る。
エンティティＢは、このデータＤａｔａ２をエンティティＡに送信する。
【００４３】
ステップＳ１０４において、エンティティＡは、エンティティＢから受信したデータの正当性検証処理を実行する。データＤａｔａ２にも、エラー確認または訂正用情報としてのパリティビット（もしくはチェックサム）が付加されており、エンティティＡは、受信データのパリティビット（もしくはチェックサム）を計算し、データに誤りが無いかどうかを判断する。
【００４４】
データに誤りがあると判定した場合には、エラー処理に移行し、データに誤りがないと判定した場合は、受信データ（Ｄａｔａ２）を適用したデータ処理（内部処理）ＩＴＲＡ２を実行して、データ（Ｄａｔａ２）に基づくデータ処理の結果データＤａｔａ３を算出する。
【００４５】
このようなデータ処理、データ送信、データ検証処理が繰り返し実行され、最終的に、ステップＳ１２１〜Ｓ１２４において、ステップＳ１０１〜Ｓ１０４と同様の処理が実行され、ステップＳ１２４において、エンティティＡがエンティティＢから受信した、データＤａｔａＮの正当性検証を実行して、データに誤りが無いとの判定が得られた場合に、処理が終了する。
【００４６】
すべてのデータ処理、データ通信にエラーが発生しない場合には、エンティティＡ及びエンティティＢが各々Ｎ回の内部処理（データ処理）および２Ｎ回のデータ送受信を実行することによって全体のデータ処理（ＴＲ）が完了する。
【００４７】
次に、図２、図３を参照して、エンティティＡ、Ｂ各々の処理シーケンスについて説明する。まず、図２を参照してエンティティＡの処理について説明する。
【００４８】
ステップＳ２０１において処理を開始し、ステップＳ２０２において、パラメータｉの初期値設定として、ｉ＝０の設定を行う。パラメータｉは、内部状態ＳＡｉのパラメータｉに相当する。この状態において、内部状態は初期状態ＳＡ０にある。なお、各エンティティは、データ処理実行中において、自己の内部状態を記憶保持する。すなわち、エンティティＡは、内部状態ＳＡｉ（ｉ＝０，１，・・）を保持し、エンティティＢは、内部状態ＳＢｉ（ｉ＝０，１，・・）を保持する。
【００４９】
ステップＳ２０３において、パラメータｉを１つインクリメントするパラメータ更新処理を実行する。すなわち、
ｉ＝ｉ＋１
の更新処理を実行する。
【００５０】
次に、ステップＳ２０４において、データ処理（内部処理）を実行する。このデータ処理は、データＤａｔａ２（ｉ−１）を適用した処理ＩＴＲＡｉにより、処理結果データＤａｔａ２ｉ−１を算出する処理として実行される。すなわち、
Ｄａｔａ２ｉ−１＝ＩＴＲＡｉ（Ｄａｔａ２（ｉ−１））
によって、データＤａｔａ２ｉ−１を算出する。
【００５１】
ステップＳ２０５において、ステップＳ２０４のデータ処理（内部処理）の結果データＤａｔａ２ｉ−１をエンティティＢに送信する。その後、ステップＳ２０６において、エンティティＢから、エンティティＢにおけるデータ処理（内部処理）の結果データＤａｔａ２ｉを受信する。
【００５２】
ステップＳ２０７では、受信データＤａｔａ２ｉの正当性検証を実行し、正当性が確認された場合は、ステップＳ２０８に進み、パラメータｉが最大値Ｎに等しいか否かを判定し、ｉ＜Ｎである場合は、継続する処理があるので、ステップＳ２０３においてパラメータｉの更新を実行して、ステップＳ２０４以下の処理を繰り返し実行する。最終的に、ステップＳ２０８において、パラメータｉが最大値Ｎに等しいと判定されると、通信を終了し、ステップＳ２０９に進み最終処理を実行し、すべての処理を終了する。
【００５３】
ステップＳ２０７において、受信データＤａｔａ２ｉの正当性がないと判定した場合は、ステップＳ２１０に進み、エラー処理に移行する。エラー処理の詳細については後段で説明する。
【００５４】
次に、図３を参照してエンティティＢの処理について説明する。ステップＳ２２１において処理を開始し、ステップＳ２２２において、パラメータｉの初期値設定として、ｉ＝０の設定を行う。パラメータｉは、内部状態ＳＢｉのパラメータｉに相当する。この状態において、内部状態は初期状態ＳＢ０にある。
【００５５】
ステップＳ２２３において、パラメータｉを１つインクリメントするパラメータ更新処理を実行する。すなわち、
ｉ＝ｉ＋１
の更新処理を実行する。
【００５６】
次に、ステップＳ２２４において、エンティティＡからデータを受信する。受信データは、エンティティＡにおける内部処理の結果データであり、データＤａｔａ２ｉ−１である。ステップＳ２２５において、受信データＤａｔａ２ｉ−１の正当性検証を実行する。正当性検証処理は、例えば受信データに付与されているパリティビットもしくはチェックサムを適用した処理として実行される。
【００５７】
受信データの正当性が確認された場合は、ステップＳ２２６に進み、受信データＤａｔａ２ｉ−１を適用したエンティティＢ側でのデータ処理（内部処理）を実行する。このデータ処理は、エンティティＡからの受信データＤａｔａ２ｉ−１を適用した処理ＩＴＲＢｉにより、処理結果データＤａｔａ２ｉを算出する処理として実行される。すなわち、
Ｄａｔａ２ｉ＝ＩＴＲＢｉ（Ｄａｔａ２ｉ−１）
によって、データＤａｔａ２ｉを算出する。
【００５８】
ステップＳ２２７において、ステップＳ２２６のデータ処理（内部処理）の結果データＤａｔａ２ｉをエンティティＡに送信する。その後、ステップＳ２２８において、パラメータｉが最大値Ｎに等しいか否かを判定し、ｉ＜Ｎである場合は、継続する処理があるので、ステップＳ２２３においてパラメータｉの更新を実行して、ステップＳ２２４以下の処理を繰り返し実行する。最終的に、ステップＳ２２８において、パラメータｉが最大値Ｎに等しいと判定されると、エンティティ側で継続する処理はないので、ステップＳ２２９に進みエンティティＡからのデータ受信待ちに移行する。
【００５９】
ステップＳ２２５における受信データＤａｔａ２ｉ−１の正当性検証において、受信データのエラーが確認された場合は、ステップＳ２３０に進み、エラー処理に移行する。エラー処理の詳細については後段で説明する。
【００６０】
以上、図１〜図３を参照して、エンティティＡＢ間の通信を伴うデータ処理シーケンスについて説明した。なお、これらの処理シーケンスのアルゴリズムは、以下のアルゴリズムとして記述される。
【００６１】
［アルゴリズム］
１：ｉ＝０とする。
２：ｉにｉ＋１を代入する。
３：エンティティＡはＤａｔａ２ｉ―１＝ＩＴＲＡｉ（Ｄａｔａ２（ｉ−１））を計算し、エンティティＢに送信する。
４：エンティティＢはＤａｔａ２ｉ―１を受信後、エラーかどうかを判断する。
エラーであればエラー処理を実行し、そうでなければ次に進む。
５：エンティティＢはＤａｔａ２ｉ＝ＩＴＲＢｉ（Ｄａｔａ２ｉ―１）を計算し、エンティティＡに送信する。
６：エンティティＡはＤａｔａ２ｉを受信後、エラーかどうかを判断する。
エラーであればエラー処理を実行し、そうでなければ次に進む。
７：ｉ＝Ｎであれば最終処理を実行し、ＴＲ完了とする。
そうでなければ２に戻る。
【００６２】
［エラー処理］
次に、エンティティ間の通信を伴うデータ処理において、エラーが発生した場合の処理について説明する。
【００６３】
エンティティＡＢ間の通信を伴うデータ処理におけるエラー発生態様は、以下の４種類になる。
（１）エンティティＡのデータ処理（内部処理）ＩＴＲＡｉでのエラー発生
（２）エンティティＢのデータ処理（内部処理）ＩＴＲＢｉでのエラー発生
（３）エンティティＡからエンティティＢに対する通信データＤａｔａ２ｉ−１でのエラー発生
（４）エンティティＢからエンティティＡに対する通信データＤａｔａ２ｉでのエラー発生
上記４つの態様のエラーの発生する可能性がある。
【００６４】
エンティティＡ，Ｂは、これらの全てのエラー態様において、同じエラー処理を実行する。エンティティＡと、エンティティＢ各々のエラー処理を実行する。まず、これら各エンティティにおけるエラー処理シーケンスについて、図４、図５のフローを参照して説明し、その後、図６〜図９を参照して、上記（１）〜（４）の各エラー態様に対応する処理シーケンスについて説明する。
【００６５】
まず、図４に示すフローチャートを参照して、エラー発生時にエンティティＡが実行する処理手順について説明する。
【００６６】
エンティティＡは、エラー発生を検知または、エラー発生をエンティティＢから通知された場合は、ステップＳ３０１において、エンティティＢに対してエラー通知データを送信する。なお、エンティティＡは、上記（１）〜（４）のそれぞれにおいて、自らエラー発生を検知または、エラー発生をエンティティＢから通知されることになる。具体的な場合分けは以下のようになる。
【００６７】
（１）エンティティＡのデータ処理（内部処理）ＩＴＲＡｉでのエラー発生
（４）エンティティＢからエンティティＡに対する通信データＤａｔａ２ｉでのエラー発生
これら２つのケースでは、エンティティＡがエラー検出を行い、このエラー検出を条件として、ステップＳ３０１において、エンティティＡが初動的なエラー通知をエンティティＢに対して送信する。
【００６８】
（２）エンティティＢのデータ処理（内部処理）ＩＴＲＢｉでのエラー発生
（３）エンティティＡからエンティティＢに対する通信データＤａｔａ２ｉ−１でのエラー発生
これら２つのケースでは、エンティティＢがエラー検出を行い、エンティティＢからエンティティＡに対して初動的なエラー通知が送信され、このエラー通知の受信に応じてエンティティＡが、ステップＳ３０１において、エンティティＢにエラー通知を行なうことになる。
【００６９】
ステップＳ３０１のエラー通知処理は、上記の各エラー態様ごとの処理に対応するエラー通知処理である。その後、エンティティＡは、ステップＳ３０２において、エンティティＢからエラー通知データを受信する。ステップＳ３０３において、エンティティＡは、エンティティＢからのエラー通知を受信したことを条件として、初期状態ＳＡ０に戻る。
【００７０】
このように、エンティティＡは、
（Ａ１）エラー通知データ送信処理、
（Ａ２）エラー通知データ送信後のエラー通知データ受信処理
（Ａ３）これらのエラー通知データ送受信処理が実行されたことを条件として初期状態ＳＡ０に戻る処理を実行する。
この処理シーケンスは、上記の（１）〜（４）のエラー発生態様全てに共通に実行される処理である。
【００７１】
なお、上述の処理において、
（Ａ２）エラー通知データ送信後のエラー通知データ受信処理
において、通信エラーが発生し、エンティティＡは、受信データがエラー通知データであるとの確認ができない場合があるが、この場合であっても、エンティティＡは、初期状態ＳＡ０に戻る処理を実行する。すなわち、エンティティＡは、
（Ａ１）エラー通知データ送信処理、
を実行した後、エンティティＢからのデータを受信した場合には、受信データがエラー通知データであることが確認されない場合であっても、初期状態ＳＡ０に戻る処理を実行する。この処理については、後段の［エラー通知データの通信エラーに対する処理例］の項目において説明する。
【００７２】
次に、図５に示すフローチャートを参照して、エラー発生時にエンティティＢが実行する処理手順について説明する。
【００７３】
エンティティＢは、エラー発生を検知または、エラー発生をエンティティＡから通知された場合は、ステップＳ３２１において、エンティティＡに対してエラー通知データを送信する。なお、エンティティＢは、上記（１）〜（４）のそれぞれにおいて、自らエラー発生を検知または、エラー発生をエンティティＡから通知されることになる。具体的な場合分けは以下のようになる。
【００７４】
（２）エンティティＢのデータ処理（内部処理）ＩＴＲＢｉでのエラー発生
（３）エンティティＡからエンティティＢに対する通信データＤａｔａ２ｉ−１でのエラー発生
これら２つのケースでは、エンティティＢがエラー検出を行い、このエラー検出を条件として、ステップＳ３２１において、エンティティＢが初動的なエラー通知をエンティティＡに対して送信する。
【００７５】
（１）エンティティＡのデータ処理（内部処理）ＩＴＲＡｉでのエラー発生
（４）エンティティＢからエンティティＡに対する通信データＤａｔａ２ｉでのエラー発生
これら２つのケースでは、エンティティＡがエラー検出を行い、エンティティＡからエンティティＢに対して初動的なエラー通知が送信され、このエラー通知の受信に応じてエンティティＢが、ステップＳ３２１において、エンティティＡにエラー通知を行なうことになる。
【００７６】
ステップＳ３２１のエラー通知処理は、上記の各エラー態様ごとの処理に対応するエラー通知処理である。その後、エンティティＢは、ステップＳ３２２において、初期状態ＳＢ０に戻る。
【００７７】
このように、エンティティＢは、
（Ｂ１）エラー通知データ送信処理、
（Ｂ２）エラー通知データ送信処理を実行したことを条件として初期状態ＳＡ０に戻る処理を実行する。
この処理シーケンスは、上記の（１）〜（４）のエラー発生態様全てに共通に実行される処理である。
【００７８】
次に、図６〜図９を参照して、（１）〜（４）のエラー発生態様、すなわち、
（１）エンティティＡのデータ処理（内部処理）ＩＴＲＡｉでのエラー発生
（２）エンティティＢのデータ処理（内部処理）ＩＴＲＢｉでのエラー発生
（３）エンティティＡからエンティティＢに対する通信データＤａｔａ２ｉ−１でのエラー発生
（４）エンティティＢからエンティティＡに対する通信データＤａｔａ２ｉでのエラー発生
これら４つのエラー発生態様におけるデータ処理、通信シーケンスについて説明する。
【００７９】
図６は、（１）エンティティＡのデータ処理（内部処理）ＩＴＲＡｉでのエラー発生に対応した処理手順を説明するシーケンス図である。ステップＳ４０１〜Ｓ４１２の順に処理が実行される。なお、ステップＳ４０１〜Ｓ４１２中、ステップＳ４０１〜Ｓ４０７までが、エラーに対応した処理であり、ステップＳ４０９〜の処理は、処理再開および処理再開後の処理を示している。ステップＳ４０１〜Ｓ４０７のエラー対応処理は、エンティティＡＢ間の通信を伴うテータ処理の実行期間における任意のタイミングにおいて実行される。
【００８０】
まず、エンティティＡは、ステップＳ４０１において、エンティティＡのデータ処理（内部処理）ＩＴＲＡｉにおいてエラーが発生したことを検出する。エンティティＡは、エラー検出がなされると、ステップＳ４０２において、エラー通知データをエンティティＢに対して送信する。このエラー通知データの送信処理は、先に説明した図４のフローチャートにおけるステップＳ３０１のエラー通知データの送信処理に対応する。
【００８１】
次に、エンティティＢは、ステップＳ４０３において、エンティティＡからのエラー通知データを受信し、ステップＳ４０４において、エラー通知データをエンティティＡに送信した後、ステップＳ４０５において、初期状態ＳＢ０に戻る。ステップＳ４０４のエラー通知データ送信処理は、先に図５を参照して説明した処理フローにおけるステップＳ３２１のエラー通知データ送信処理に対応し、ステップＳ４０５の初期状態ＳＢ０復帰処理は、図５の処理フローにおけるステップＳ３２２の初期状態ＳＢ０復帰処理に対応する。
【００８２】
次に、エンティティＡは、ステップＳ４０６において、エンティティＢからのエラー通知データを受信して、ステップＳ４０７において初期状態ＳＡ０に戻る。ステップＳ４０６のエラー通知データ受信処理は、先に図４を参照して説明した処理フローにおけるステップＳ３０２のエラー通知データ受信処理に対応し、ステップＳ４０７の初期状態ＳＡ０復帰処理は、図４の処理フローにおけるステップＳ３０３の初期状態ＳＡ０復帰処理に対応する。
【００８３】
なお、後段の［エラー通知データの通信エラーに対する処理例］において、説明するが、エンティティＡは、ステップＳ４０６においてエンティティＢからの受信データが、通信エラーによって、エラー通知データであることを確認できない場合にも、ステップＳ４０７に進み、初期状態ＳＡ０に戻る。この処理の詳細については、後段で説明する。
【００８４】
エンティティＡは、ステップＳ４０７において初期状態ＳＡ０に戻った後、ステップＳ４０８において、初期状態からのデータ処理（ＴＲ）を再開する。処理再開後、ステップＳ４０９において、エンティティＡは、初期値（ＩＶ）を適用したデータ処理（内部処理）ＩＴＲＡ１を実行して、初期値（ＩＶ）に基づくデータ処理の結果データＤａｔａ１を算出する。すなわち、
Ｄａｔａ１＝ＩＴＲＡ１（Ｖ１）
によってデータＤａｔａ１を得る。
エンティティＡは、このデータＤａｔａ１をエンティティＢに送信する。
【００８５】
ステップＳ４１０において、エンティティＢは、エンティティＡから受信したデータの正当性検証処理を実行する。すなわち、パリティビットもしくはチェックサムを計算し、データに誤りが無いかどうかを判断する。データに誤りがあると判定した場合には、エラー処理に移行する。
【００８６】
この場合のエラー処理は、前述のエラー態様（１）〜（４）中の、
（３）エンティティＡからエンティティＢに対する通信データＤａｔａ２ｉ−１でのエラー発生であり、図８を参照して後段で詳細に説明する。
【００８７】
データに誤りがないと判定した場合は、ステップＳ４１１において、エンティティＢは、受信データ（Ｄａｔａ１）を適用したデータ処理（内部処理）ＩＴＲＢ１を実行して、データ（Ｄａｔａ１）に基づくデータ処理の結果データＤａｔａ２を算出する。すなわち、
Ｄａｔａ２＝ＩＴＲＢ１（Ｄａｔａ１）
によってデータＤａｔａ２を得る。
エンティティＢは、このデータＤａｔａ２をエンティティＡに送信する。
【００８８】
ステップＳ４１２において、エンティティＡは、エンティティＢから受信したデータの正当性検証処理を実行する。データＤａｔａ２についてのパリティビットもしくはチェックサムを計算し、データに誤りが無いかどうかを判断する。データに誤りがあると判定した場合には、エラー処理に移行する。
【００８９】
この場合のエラー処理は、前述のエラー態様（１）〜（４）中の、
（４）エンティティＢからエンティティＡに対する通信データＤａｔａ２ｉでのエラー発生であり、図９を参照して後段で詳細に説明する。データに誤りがないと判定した場合は、受信データ（Ｄａｔａ２）を適用したデータ処理（内部処理）ＩＴＲＡ２を実行して、データ（Ｄａｔａ２）に基づくデータ処理の結果データＤａｔａ３を算出する。以下は、同様のデータ処理、データ送信、データ検証処理が繰り返し実行される。
【００９０】
以上、説明したシーケンスから理解されるように、
（１）エンティティＡのデータ処理（内部処理）ＩＴＲＡｉでのエラー発生
に対応したエラー処理では、先に説明した図４、図５のフローチャートに従った処理、すなわち、
エンティティＡは、
（Ａ１）エラー通知データ送信処理、
（Ａ２）エラー通知データ送信後のエラー通知データ受信、または通信エラーデータ受信処理
（Ａ３）これらのデータ送受信処理が実行されたことを条件として初期状態ＳＡ０に戻る処理を実行する。
一方エンティティＢは、
（Ｂ１）エラー通知データ送信処理、
（Ｂ２）エラー通知データ送信処理を実行したことを条件として初期状態ＳＡ０に戻る処理を実行する。
【００９１】
これらの処理を各エンティティが実行することで、それぞれが同期して初期状態ＳＡ０，ＳＢ０に戻ることが可能となり、確実に内部状態を同期させたエラー回復処理を行なうことが可能となる。
【００９２】
次に、図７を参照して、（２）エンティティＢのデータ処理（内部処理）ＩＴＲＢｉでのエラー発生に対応した処理手順を説明する。ステップＳ５０１〜Ｓ５１７の順に処理が実行される。なお、ステップＳ５０１〜Ｓ５１７中、ステップＳ５０２〜Ｓ５１２が、エラー検出およびエラー対応処理であり、ステップＳ５１３〜の処理は、処理再開および処理再開後の処理を示している。ステップＳ５０２〜Ｓ５１２のエラー対応処理は、エンティティＡＢ間の通信を伴うテータ処理の実行期間における任意のタイミングにおいて実行される。
【００９３】
まず、エンティティＡは、ステップＳ５０１において、エンティティＡのデータ処理（内部処理）ＩＴＲＡｉを実行し、
Ｄａｔａ２ｉ−１＝ＩＴＲＡｉ（Ｄａｔａ２（ｉ−１））
によってデータＤａｔａ２ｉ−１を得る。
エンティティＡは、このデータＤａｔａ２ｉ−１をエンティティＢに送信する。
【００９４】
ステップＳ５０２において、エンティティＢは、エンティティＡから受信したデータの正当性検証処理を実行する。すなわち、パリティビットもしくはチェックサムを計算し、データに誤りが無いかどうかを判断する。データに誤りがあると判定した場合には、エラー処理に移行する。この場合のエラー処理は、前述のエラー態様（１）〜（４）中の、
（３）エンティティＡからエンティティＢに対する通信データＤａｔａ２ｉ−１でのエラー発生であり、図８を参照して後段で詳細に説明する。
【００９５】
この処理例では、ステップＳ５０２において、エンティティＢは、エンティティＡから受信したデータの正当性が確認されたものとし、ステップＳ５０３において、エンティティＢは、エンティティＢのデータ処理（内部処理）ＩＴＲＢｉを実行し、
Ｄａｔａ２ｉ＝ＩＴＲＢｉ（Ｄａｔａ２ｉ−１）
によってデータＤａｔａ２ｉを得る。
【００９６】
エンティティＢは、このデータＤａｔａ２ｉの生成処理において、エラーが発生したことを検出する。エンティティＢは、エラー検出がなされると、ステップＳ５０４において、エラー通知データをエンティティＡに対して送信する。このエラー通知データの送信処理は、先に説明した図５のフローチャートにおけるステップＳ３２１のエラー通知データの送信処理に対応する。
【００９７】
その後、エンティティＢは、ステップＳ５０５において、初期状態ＳＢ０に戻る。ステップＳ５０５の初期状態ＳＢ０復帰処理は、図５の処理フローにおけるステップＳ３２２の初期状態ＳＢ０復帰処理に対応する。
【００９８】
その後、エンティティＡは、ステップＳ５０６において、エンティティＢからのエラー通知データを受信すると、ステップＳ５０７において、エラー通知データをエンティティＢに対して送信する。このエラー通知データの送信処理は、先に説明した図４のフローチャートにおけるステップＳ３０１のエラー通知データの送信処理に対応する。
【００９９】
次に、エンティティＢは、ステップＳ５０８において、エンティティＡからのエラー通知データを受信し、ステップＳ５０９において、エラー通知データをエンティティＡに送信した後、ステップＳ５１０において、初期状態ＳＢ０に戻る。ステップＳ５０９のエラー通知データ送信処理は、先に図５を参照して説明した処理フローにおけるステップＳ３２１のエラー通知データ送信処理に対応し、ステップＳ５１０の初期状態ＳＢ０復帰処理は、図５の処理フローにおけるステップＳ３２２の初期状態ＳＢ０復帰処理に対応する。
【０１００】
次に、エンティティＡは、ステップＳ５１１において、エンティティＢからのエラー通知データを受信して、ステップＳ５１２において初期状態ＳＡ０に戻る。ステップＳ５１１のエラー通知データ受信処理は、先に図４を参照して説明した処理フローにおけるステップＳ３０２のエラー通知データ受信処理に対応し、ステップＳ５１２の初期状態ＳＡ０復帰処理は、図４の処理フローにおけるステップＳ３０３の初期状態ＳＡ０復帰処理に対応する。
【０１０１】
なお、エンティティＡは、ステップＳ５１１においてエンティティＢからの受信データが、通信エラーによって、エラー通知データであることを確認できない場合にも、ステップＳ５１２に進み、初期状態ＳＡ０に戻る。この処理の詳細については、後段の［エラー通知データの通信エラーに対する処理例］において説明する。
【０１０２】
エンティティＡは、ステップＳ５１２において初期状態ＳＡ０に戻った後、ステップＳ５１３において、初期状態からのデータ処理（ＴＲ）を再開する。以下のステップＳ５１４〜Ｓ５１７は、図６のシーケンス図のステップＳ４０９〜Ｓ４１２の処理と同様であり、説明を省略する。
【０１０３】
以上、説明したシーケンスから理解されるように、
（２）エンティティＢのデータ処理（内部処理）ＩＴＲＢｉでのエラー発生
に対応したエラー処理においても、先に説明した図４、図５のフローチャートに従った処理、すなわち、
エンティティＡは、
（Ａ１）エラー通知データ送信処理、
（Ａ２）エラー通知データ送信後のエラー通知データ受信、または通信エラーデータ受信処理
（Ａ３）これらのエラー通知データ送受信処理が実行されたことを条件として初期状態ＳＡ０に戻る処理を実行する。
一方エンティティＢは、
（Ｂ１）エラー通知データ送信処理、
（Ｂ２）エラー通知データ送信処理を実行したことを条件として初期状態ＳＡ０に戻る処理を実行する。
【０１０４】
図７のシーケンスでは、エンティティＢは、上記Ｂ１，Ｂ２の処理を２回実行しているが、最終的に、エンティティＡが初期状態ＳＡ０に戻った時には、エンティティＢも初期状態ＳＢ０に戻っており、この時点でデータ処理（ＴＲ）が初期状態から再開されることになるので、確実に内部状態を同期させたエラー回復が可能となる。
【０１０５】
次に、図８を参照して、（３）エンティティＡからエンティティＢに対する通信データＤａｔａ２ｉ−１でのエラー発生に対応した処理手順を説明する。ステップＳ６０１〜Ｓ６１６の順に処理が実行される。なお、ステップＳ６０１〜Ｓ６１６中、ステップＳ６０２〜Ｓ６１１が、エラー検出およびエラー対応処理であり、ステップＳ６１２〜の処理は、処理再開および処理再開後の処理を示している。ステップＳ６０２〜Ｓ６１１のエラー対応処理は、エンティティＡＢ間の通信を伴うテータ処理の実行期間における任意のタイミングにおいて実行される。
【０１０６】
まず、エンティティＡは、ステップＳ６０１において、エンティティＡのデータ処理（内部処理）ＩＴＲＡｉを実行し、
Ｄａｔａ２ｉ−１＝ＩＴＲＡｉ（Ｄａｔａ２（ｉ−１））
によってデータＤａｔａ２ｉ−１を得る。
エンティティＡは、このデータＤａｔａ２ｉ−１をエンティティＢに送信する。
【０１０７】
本処理例では、この通信データＤａｔａ２ｉ−１の通信エラーが起こったものとする。ステップＳ６０２において、エンティティＢは、エンティティＡから受信したデータの正当性検証処理を実行する。すなわち、パリティビットもしくはチェックサムを計算し、データに誤りが無いかどうかを判断する。データに誤りがあると判定した場合には、エラー処理に移行する。
【０１０８】
この処理例では、ステップＳ６０２において、エンティティＢが、エンティティＡからの受信データにエラーを検出したものとする。この場合、エンティティＢは、ステップＳ６０３において、エラー通知データをエンティティＡに対して送信する。このエラー通知データの送信処理は、先に説明した図５のフローチャートにおけるステップＳ３２１のエラー通知データの送信処理に対応する。
【０１０９】
その後、エンティティＢは、ステップＳ６０４において、初期状態ＳＢ０に戻る。ステップＳ６０４の初期状態ＳＢ０復帰処理は、図５の処理フローにおけるステップＳ３２２の初期状態ＳＢ０復帰処理に対応する。
【０１１０】
その後、エンティティＡは、ステップＳ６０５において、エンティティＢからのエラー通知データを受信すると、ステップＳ６０６において、エラー通知データをエンティティＢに対して送信する。このエラー通知データの送信処理は、先に説明した図４のフローチャートにおけるステップＳ３０１のエラー通知データの送信処理に対応する。
【０１１１】
次に、エンティティＢは、ステップＳ６０７において、エンティティＡからのエラー通知データを受信し、ステップＳ６０８において、エラー通知データをエンティティＡに送信した後、ステップＳ６０９において、初期状態ＳＢ０に戻る。ステップＳ６０８のエラー通知データ送信処理は、先に図５を参照して説明した処理フローにおけるステップＳ３２１のエラー通知データ送信処理に対応し、ステップＳ６０９の初期状態ＳＢ０復帰処理は、図５の処理フローにおけるステップＳ３２２の初期状態ＳＢ０復帰処理に対応する。
【０１１２】
次に、エンティティＡは、ステップＳ６１０において、エンティティＢからのエラー通知データを受信して、ステップＳ６１１において初期状態ＳＡ０に戻る。ステップＳ６１０のエラー通知データ受信処理は、先に図４を参照して説明した処理フローにおけるステップＳ３０２のエラー通知データ受信処理に対応し、ステップＳ６１１の初期状態ＳＡ０復帰処理は、図４の処理フローにおけるステップＳ３０３の初期状態ＳＡ０復帰処理に対応する。
【０１１３】
なお、エンティティＡは、ステップＳ６１０においてエンティティＢからの受信データが、通信エラーによって、エラー通知データであることを確認できない場合にも、ステップＳ６１１に進み、初期状態ＳＡ０に戻る。この処理の詳細については、後段の［エラー通知データの通信エラーに対する処理例］において説明する。
【０１１４】
エンティティＡは、ステップＳ６１１において初期状態ＳＡ０に戻った後、ステップＳ６１２において、初期状態からのデータ処理（ＴＲ）を再開する。以下のステップＳ６１２〜Ｓ６１６は、図６のシーケンス図のステップＳ４０９〜Ｓ４１２の処理と同様であり、説明を省略する。
【０１１５】
以上、説明したシーケンスから理解されるように、
（３）エンティティＡからエンティティＢに対する通信データＤａｔａ２ｉ−１でのエラー発生
に対応したエラー処理においても、先に説明した図４、図５のフローチャートに従った処理、すなわち、
エンティティＡは、
（Ａ１）エラー通知データ送信処理、
（Ａ２）エラー通知データ送信後のエラー通知データ受信、または通信エラーデータ受信処理
（Ａ３）これらのエラー通知データ送受信処理が実行されたことを条件として初期状態ＳＡ０に戻る処理を実行する。
一方エンティティＢは、
（Ｂ１）エラー通知データ送信処理、
（Ｂ２）エラー通知データ送信処理を実行したことを条件として初期状態ＳＡ０に戻る処理を実行する。
【０１１６】
図８のシーケンスにおいても、エンティティＢは、上記Ｂ１，Ｂ２の処理を２回実行しているが、最終的に、エンティティＡが初期状態ＳＡ０に戻った時には、エンティティＢも初期状態ＳＢ０に戻っており、この時点でデータ処理（ＴＲ）が初期状態から再開されることになるので、確実に内部状態を同期させたエラー回復が可能となる。
【０１１７】
次に、図９を参照して、（４）エンティティＢからエンティティＡに対する通信データＤａｔａ２ｉでのエラー発生に対応した処理手順を説明する。ステップＳ７０１〜Ｓ７１５の順に処理が実行される。なお、ステップＳ７０１〜Ｓ７１５中、ステップＳ７０４〜Ｓ７１０が、エラー検出およびエラー対応処理であり、ステップＳ７１１〜の処理は、処理再開および処理再開後の処理を示している。ステップＳ７０４〜Ｓ７１０のエラー対応処理は、エンティティＡＢ間の通信を伴うテータ処理の実行期間における任意のタイミングにおいて実行される。
【０１１８】
まず、エンティティＡは、ステップＳ７０１において、エンティティＡのデータ処理（内部処理）ＩＴＲＡｉを実行し、
Ｄａｔａ２ｉ−１＝ＩＴＲＡｉ（Ｄａｔａ２（ｉ−１））
によってデータＤａｔａ２ｉ−１を得る。
エンティティＡは、このデータＤａｔａ２ｉ−１をエンティティＢに送信する。
【０１１９】
ステップＳ７０２において、エンティティＢは、エンティティＡから受信したデータの正当性検証処理を実行する。すなわち、パリティビットもしくはチェックサムを計算し、データに誤りが無いかどうかを判断する。データに誤りがあると判定した場合には、エラー処理に移行する。この場合のエラー処理は、前述のエラー態様（１）〜（４）中の、
（３）エンティティＡからエンティティＢに対する通信データＤａｔａ２ｉ−１でのエラー発生であり、図８を参照して説明した処理となる。
【０１２０】
この処理例では、ステップＳ７０２において、エンティティＢは、エンティティＡから受信したデータの正当性が確認されたものとし、ステップＳ７０３において、エンティティＢは、エンティティＢのデータ処理（内部処理）ＩＴＲＢｉを実行し、
Ｄａｔａ２ｉ＝ＩＴＲＢｉ（Ｄａｔａ２ｉ−１）
によってデータＤａｔａ２ｉを算出する処理を実行し、生成データをエンティティＡに送信する。
【０１２１】
本処理例では、このエンティティＢの生成データの通信に際してエラーが発生したものとする。ステップＳ７０４において、エンティティＡは、エンティティＢから受信したデータの正当性検証処理を実行する。すなわち、パリティビットもしくはチェックサムを計算し、データに誤りが無いかどうかを判断する。データに誤りがあると判定した場合には、エラー処理に移行する。
【０１２２】
この処理例では、ステップＳ７０４において、エンティティＡが、エンティティＢからの受信データに基づいてエラーを検出する。この場合、エンティティＡは、ステップＳ７０５において、エラー通知データをエンティティＢに対して送信する。このエラー通知データの送信処理は、先に説明した図４のフローチャートにおけるステップＳ３０１のエラー通知データの送信処理に対応する。
【０１２３】
次に、エンティティＢは、ステップＳ７０６において、エンティティＡからのエラー通知データを受信し、ステップＳ７０７において、エラー通知データをエンティティＡに送信した後、ステップＳ７０８において、初期状態ＳＢ０に戻る。ステップＳ７０７のエラー通知データ送信処理は、先に図５を参照して説明した処理フローにおけるステップＳ３２１のエラー通知データ送信処理に対応し、ステップＳ７０８の初期状態ＳＢ０復帰処理は、図５の処理フローにおけるステップＳ３２２の初期状態ＳＢ０復帰処理に対応する。
【０１２４】
次に、エンティティＡは、ステップＳ７０９において、エンティティＢからのエラー通知データを受信して、ステップＳ７１０において初期状態ＳＡ０に戻る。ステップＳ７０９のエラー通知データ受信処理は、先に図４を参照して説明した処理フローにおけるステップＳ３０２のエラー通知データ受信処理に対応し、ステップＳ７１０の初期状態ＳＡ０復帰処理は、図４の処理フローにおけるステップＳ３０３の初期状態ＳＡ０復帰処理に対応する。
【０１２５】
なお、エンティティＡは、ステップＳ７０９においてエンティティＢからの受信データが、通信エラーによって、エラー通知データであることを確認できない場合にも、ステップＳ７１０に進み、初期状態ＳＡ０に戻る。この処理の詳細については、後段の［エラー通知データの通信エラーに対する処理例］において説明する。
【０１２６】
エンティティＡは、ステップＳ７１０において初期状態ＳＡ０に戻った後、ステップＳ７１１において、初期状態からのデータ処理（ＴＲ）を再開する。以下のステップＳ７１１〜Ｓ７１５は、図６のシーケンス図のステップＳ４０９〜Ｓ４１２の処理と同様であり、説明を省略する。
【０１２７】
以上、説明したシーケンスから理解されるように、
（４）エンティティＢからエンティティＡに対する通信データＤａｔａ２ｉでのエラー発生
に対応したエラー処理においても、先に説明した図４、図５のフローチャートに従った処理、すなわち、
エンティティＡは、
（Ａ１）エラー通知データ送信処理、
（Ａ２）エラー通知データ送信後のエラー通知データ受信、または通信エラーデータ受信処理
（Ａ３）これらのエラー通知データ送受信処理が実行されたことを条件として初期状態ＳＡ０に戻る処理を実行する。
一方エンティティＢは、
（Ｂ１）エラー通知データ送信処理、
（Ｂ２）エラー通知データ送信処理を実行したことを条件として初期状態ＳＡ０に戻る処理を実行する。
【０１２８】
図９のシーケンスにおいても、エンティティＢは、上記Ｂ１，Ｂ２の処理を実行し、エンティティＡが初期状態ＳＡ０に戻った時には、エンティティＢも初期状態ＳＢ０に戻っており、この時点でデータ処理（ＴＲ）が初期状態から再開されることになるので、確実に内部状態を同期させたエラー回復が可能となる。
【０１２９】
［エラー通知データの通信エラーに対する処理例］
図６〜図９を参照して説明した処理シーケンスは、エンティティＡとエンティティＢ間の送受信されるエラー通知データの送信エラーの発生を考慮していないが、エラー通知データに送信エラーが発生した場合も、エンティティＡは、図４に示すフローチャートに従った処理を実行し、エンティティＢは、図５に示すフローチャートに従った処理を実行することで、双方が同期して初期状態に戻り、データ処理（ＴＲ）を初期状態から再開することができる。
【０１３０】
以下、エラー通知データに送信エラーが発生した場合について説明する。エラー通知データにエラーが発生する場合には、図４のフローチャートにおけるステップＳ３０１とステップＳ３０２のエラー通知データと、図５のフローチャートにおけるステップＳ３２１のエラー通知データの転送時のエラーがある。
【０１３１】
まず、図４のステップＳ３０１、Ｓ３０２のエラー通知データのエラー発生時の処理について説明する。図４に示すフローにおいて、エラー通知データに通信エラーが発生する場合は、以下の三通りに分類できる。
（１）ステップＳ３０１において送信したデータに、通信エラーが発生した場合
（２）ステップＳ３０２において受信したデータに、通信エラーが発生した場合
（３）（１）、（２）が共に生じる場合
【０１３２】
まず（１）ステップＳ３０１において送信したデータに、通信エラーが発生した場合の処理について説明する。ステップＳ３０１において、エンティティＡが送信するデータはエラー通知データである。したがって、このデータに通信エラーが発生した場合、エンティティＢは、図３の処理フローにおけるステップＳ２２５において実行する受信データの正当性検証（例えばパリティまたはチェックサムに基づく検証）処理において、受信データの正当性がないと判定し、通信エラーが発生したと判断する。
【０１３３】
この判断に従って、エンティティＢは、図３の処理フローにおけるステップＳ２３０のエラー処理に移る。通信エラーが発生していなかった場合は、エラー通知データであると判断し、正常なエラー処理を実行する。
【０１３４】
したがって、いずれの場合も、エンティティＢは、図５のフローに示すエラー処理を開始することになり、図５のステップＳ３２１のエラー通知処理を実行し、エンティティＡは、図４のステップＳ３０２のエラー通知受信を行なうことになるので、正常なエラー処理が実行されることになり、双方のエンティティが同期して初期状態に戻ってデータ処理を再開することができる。
【０１３５】
次に、（２）ステップＳ３０２において受信したデータに、通信エラーが発生した場合について考察する。ステップＳ３０２を実行する時点で、エンティティＡはすでに、ステップＳ３０１においてエラー通知データをエンティティＢに対して送信しており、エンティティＡは、エンティティＢから必ずエラー通知データが戻ってくると予測している。本発明のエラー処理シーケンスでは、エンティティＡがエラー通知データを送信後、エンティティＢからエラー通知データが戻るシーケンスが規定されているためである。
【０１３６】
従って、エンティティＡは、エンティティＢからの受信データがエラー通知であると確認されない場合でも、初期状態ＳＡ０に戻る処理を実行する。この時点で、エンティティＢは、図５に示すステップＳ３２１〜Ｓ３２２の処理によって、初期状態ＳＢ０へと戻っており、双方のエンティティが同期して初期状態に戻ってデータ処理を再開することができる。
【０１３７】
最後に、（３）（１）、（２）が共に生じる場合、すなわち、図４のステップＳ３０１、Ｓ３０２のエラー通知データの転送において共にエラーが発生した場合の処理について考察する。
【０１３８】
この処理は、上述の
（１）ステップＳ３０１において送信したデータに、通信エラーが発生した場合
（２）ステップＳ３０２において受信したデータに、通信エラーが発生した場合
の処理の組み合わせにすぎず、エンティティＡ，Ｂはそれぞれ図４、図５に示す処理に従って、処理を実行し、初期状態に戻って処理を再開することになる。
【０１３９】
すなわち、まず、ステップＳ３０１において送信したデータに、通信エラーが発生した場合エンティティＢは、図３に示すステップＳ５２５の受信データの正当性判定処理においてエラーを検出してエラー処理が開始し、図５のフローのステップＳ３２１、Ｓ３２２を実行して初期状態ＳＢ０に戻る。
【０１４０】
次に、図４のステップＳ３０２における送信データに、通信エラーが発生した場合、エンティティＡはすでに、ステップＳ３０１においてエラー通知データをエンティティＢに対して送信ずみであることからエンティティＢから必ずエラー通知データが戻ってくると予測し、エンティティＢからの受信データがあった場合は、エラー通知であっても、エラー通知であることが確認されない場合であっても、図４に示すステップＳ３０３の初期状態復帰処理を実行して、初期状態ＳＡ０に戻る処理を実行する。この結果、双方のエンティティが同期して初期状態に戻ってデータ処理を再開することができる。
【０１４１】
次に、図５のエンティティＢ側の処理フローにおけるエラー通知データの転送におけるエラー発生時の処理について説明する。すなわち、図５の処理フローのステップＳ３２１のエンティティＢからエンティティＡに対するエラー通知データにエラーが発生した場合である。
【０１４２】
これは、図４のステップＳ３０２のエラー通知データの転送に相当する処理であり、上述した（２）ステップＳ３０２において受信したデータに、通信エラーが発生した場合についての処理と全く同様となる。
【０１４３】
すなわち、ステップＳ３０２を実行する時点で、エンティティＡはすでに、ステップＳ３０１においてエラー通知データをエンティティＢに対して送信しており、エンティティＡは、エンティティＢから必ずエラー通知データが戻ってくると予測しているため、エンティティＡはエンティティＢからの受信データがあった場合は、エラー通知と確認された場合でも、エラー通知であることが確認されない場合であっても、図４に示すステップＳ３０３の初期状態復帰処理を実行して、初期状態ＳＡ０に戻る処理を実行する。
【０１４４】
一方、エンティティＢは、図５に示すステップＳ３２１を実行しており、その後、ステップＳ３２２において初期状態ＳＢ０へ戻る処理を実行することになるので、この結果、双方のエンティティが同期して初期状態に戻ってデータ処理を再開することができる。
【０１４５】
［情報処理装置の構成］
上述したデータ通信およびデータ処理を実行する情報処理装置の構成例について、図１０を参照して説明する。上述した処理を実行するエンティティは、データ通信可能な情報処理装置、例えばＰＣ、携帯端末、あるいはＩＣカードなどの装置によって構成可能である。あるいはＰＣ内に構成された１つの情報処理部とその他の情報処理部とがバスを介して通信する場合に、上述の処理を実行することも可能であり、この場合には、各情報処理部が、上述のエンティティＡ、エンティティＢの役割を果たすことになる。
【０１４６】
図１０には、エンティティを構成する１つの設定例として、２つの情報処理装置１１０，１２０を示した。情報処理装置１１０、１２０、は例えばＰＣによって構成される。情報処理装置１１０は、データ処理部１１１、通信部１１２、エラー検出部１１３、記憶部１１４を有する。情報処理装置１１０と通信を実行する情報処理装置１２０も、データ処理部１２１、通信部１２２、エラー検出部１２３、記憶部１２４を有する。
【０１４７】
情報処理装置１１０、情報処理装置１２０は同様の構成であり、情報処理装置１１０の構成を代表して説明する。データ処理部１１１は、ＣＰＵ等によって構成され、所定のプログラムに従ったデータ処理を実行する。データ処理用のプログラムは記憶部１１４に格納され、ＣＰＵは、プログラムに従って処理を、予め設定された処理シーケンスに従ってデータ処理を実行する。先に図２、図３を参照して説明したデータ処理、さらに、図４、図５を参照して説明したエラー処理、初期状態復帰処理等の各種のデータ処理シーケンスを規定したプログラムが記憶部１１４に格納され、このプログラムに従って処理を実行する。
【０１４８】
通信部１１２は、情報処理装置２０との通信を実行する。なお、通信は、例えばインターネット、ＬＡＮ等のローカルネットワーク、ケーブル、バスなど様々な通信手段が適用可能である。エラー検出部１１３は、前述したようにパリティ、チェックサムなどに基づく通信データの正当性検証の他、内部処理として実行されるデータ算出処理についてのエラー検出も実行する。これらのエラー検出もまた、記憶部１１４に格納されたプログラムに従って処理が実行される。
【０１４９】
なお、図には、データ処理部１１１、エラー検出部１１３として区別して示してあるが、これは、情報処理装置の機能を説明するために区分して示しているものであり、実際の処理構成としては、１つのＣＰＵを適用して様々なデータ処理、エラー検出処理を実行する構成とすることができる。
【０１５０】
情報処理装置１１０、１２０は、各々いずれか一方が上述したエンティティＡとしてデータ処理を実行し、他方がエンティティＢとしてデータ処理を実行する。エンティティＡは、図２に示すフローチャートに従ったデータ処理を実行するとともに、図４に示すフローチャートに従ったエラー処理を実行する。また、エンティティＢは、図３に示すフローチャートに従ったデータ処理を実行するとともに、図５に示すフローチャートに従ったエラー処理を実行する。
【０１５１】
これらの処理を実行することにより、様々な態様でのエラーの発生、すなわち、
（１）エンティティＡのデータ処理（内部処理）ＩＴＲＡｉでのエラー発生
（２）エンティティＢのデータ処理（内部処理）ＩＴＲＢｉでのエラー発生
（３）エンティティＡからエンティティＢに対する通信データＤａｔａ２ｉ−１でのエラー発生
（４）エンティティＢからエンティティＡに対する通信データＤａｔａ２ｉでのエラー発生
これらのいずれのエラーが発生した場合であっても、双方のエンティティが同期して初期状態に戻ることができ、データ処理の再開を確実に実行することが可能となる。
【０１５２】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
【０１５３】
なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
【０１５４】
例えば、プログラムは記録媒体としてのハードディスクやＲＯＭ（Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、ＣＤ−ＲＯＭ(Compact Disc Read Only Memory)，ＭＯ(Magneto optical)ディスク，ＤＶＤ(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウェアとして提供することができる。
【０１５５】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、ＬＡＮ(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【０１５６】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【産業上の利用可能性】
【０１５７】
以上、説明したように、本発明の構成によれば、内部データ処理を行なうとともに相互にデータ通信を実行する複数のエンティティ（情報処理部）から構成される情報処理システムにおいて、第１のエンティティが、エラー検出に基づいて、エラー通知データを送信し、該エラー通知データの送信後のデータ受信を条件として初期状態復帰処理を実行するとともに、第２のエンティティがエラー検出に基づいて、エラー通知データを送信し、該エラー通知データの送信処理の実行を条件として初期状態復帰処理を実行する構成としたので、双方のエンティティが確実に同期して初期状態に復帰することが可能となり、確実なエラー回復、データ処理再開が実現され、データ通信を伴うデータ処理を実行する様々なシステムにおいて適用可能である。
【０１５８】
さらに、本発明の構成によれば、エンティティＡ，Ｂ間でデータ通信を伴うデータ処理を実行する構成において、
（１）エンティティＡのデータ処理（内部処理）でのエラー発生
（２）エンティティＢのデータ処理（内部処理）でのエラー発生
（３）エンティティＡからエンティティＢに対する通信データでのエラー発生
（４）エンティティＢからエンティティＡに対する通信データでのエラー発生
これらの異なる態様でのエラー発生において、エンティティＡが、エラー検出に基づいて、エラー通知データを送信し、該エラー通知データの送信後のデータ受信を条件として初期状態復帰処理を実行し、エンティティＢがエラー検出に基づいて、エラー通知データを送信し、該エラー通知データの送信処理の実行を条件として初期状態復帰処理を実行する構成により、双方のエンティティが確実に同期して初期状態に復帰することが可能となり、確実なエラー回復、データ処理再開が実現され、データ通信を伴うデータ処理を実行する様々なシステムにおいて適用可能である。
【図面の簡単な説明】
【０１５９】
【図１】エンティティＡ，Ｂ間におけるデータ通信を伴うデータ処理手順について説明するシーケンス図である。
【図２】エンティティＡ，Ｂ間におけるデータ通信を伴うデータ処理において、エンティティＡの実行する処理について説明するフローチャートを示す図である。
【図３】エンティティＡ，Ｂ間におけるデータ通信を伴うデータ処理において、エンティティＢの実行する処理について説明するフローチャートを示す図である。
【図４】エンティティＡ，Ｂ間におけるデータ通信を伴うデータ処理において、エンティティＡの実行するエラー処理について説明するフローチャートを示す図である。
【図５】エンティティＡ，Ｂ間におけるデータ通信を伴うデータ処理において、エンティティＢの実行するエラー処理について説明するフローチャートを示す図である。
【図６】エンティティＡ，Ｂ間におけるデータ通信を伴うデータ処理において、エンティティＡのデータ処理（内部処理）でエラーが発生した場合の処理について説明するシーケンス図である。
【図７】エンティティＡ，Ｂ間におけるデータ通信を伴うデータ処理において、エンティティＢのデータ処理（内部処理）でエラーが発生した場合の処理について説明するシーケンス図である。
【図８】エンティティＡ，Ｂ間におけるデータ通信を伴うデータ処理において、エンティティＡの送信データに通信エラーが発生した場合の処理について説明するシーケンス図である。
【図９】エンティティＡ，Ｂ間におけるデータ通信を伴うデータ処理において、エンティティＡの送信データに通信エラーが発生した場合の処理について説明するシーケンス図である。
【図１０】エンティティＡ，Ｂ間におけるデータ通信を伴うデータ処理を実行する情報処理装置の構成例について説明する図である。
【符号の説明】
【０１６０】
１１０  情報処理装置
１１１  データ処理部
１１２  通信部
１１３  エラー検出部
１１４  記憶部
１２０  情報処理装置
１２１  データ処理部
１２２  通信部
１２３  エラー検出部
１２４  記憶部
【図１】
2006157328.tif 000003
【図２】
2006157328.tif 000004
【図３】
2006157328.tif 000005
【図４】
2006157328.tif 000006
【図５】
2006157328.tif 000007
【図６】
2006157328.tif 000008
【図７】
2006157328.tif 000009
【図８】
2006157328.tif 000010
【図９】
2006157328.tif 000011
【図１０】
2006157328.tif 000012