JP4474266B2 - 情報処理装置、情報処理システム、および情報処理方法、並びにコンピュータ・プログラム - Google Patents

情報処理装置、情報処理システム、および情報処理方法、並びにコンピュータ・プログラム Download PDF

Info

Publication number
JP4474266B2
JP4474266B2 JP2004343361A JP2004343361A JP4474266B2 JP 4474266 B2 JP4474266 B2 JP 4474266B2 JP 2004343361 A JP2004343361 A JP 2004343361A JP 2004343361 A JP2004343361 A JP 2004343361A JP 4474266 B2 JP4474266 B2 JP 4474266B2
Authority
JP
Japan
Prior art keywords
data
error
communication
processing
entity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004343361A
Other languages
English (en)
Other versions
JP2006157328A (ja
Inventor
雅文 草川
澄夫 森岡
宗毅 島田
志帆 盛合
大 佐々木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Sony Corp
Original Assignee
Sony Corp
Sony Computer Entertainment Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to JP2004343361A priority Critical patent/JP4474266B2/ja
Application filed by Sony Corp, Sony Computer Entertainment Inc filed Critical Sony Corp
Priority to US11/791,175 priority patent/US8055953B2/en
Priority to PCT/JP2005/020934 priority patent/WO2006057180A1/ja
Priority to EP05806945.1A priority patent/EP1819086B1/en
Priority to CN2005800474647A priority patent/CN101112032B/zh
Priority to TW094141621A priority patent/TW200644483A/zh
Publication of JP2006157328A publication Critical patent/JP2006157328A/ja
Priority to HK08107714.2A priority patent/HK1117668A1/xx
Application granted granted Critical
Publication of JP4474266B2 publication Critical patent/JP4474266B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Retry When Errors Occur (AREA)
  • Hardware Redundancy (AREA)

Description

本発明は、情報処理装置、情報処理システム、および情報処理方法、並びにコンピュータ・プログラムに関する。さらに詳細には、複数の情報処理装置間においてデータ通信を実行し、通信データを適用したデータ処理を実行する構成において、データ処理エラーあるいは通信エラーの発生に対応した最適な制御を行いエラー発生時に確実な回復を実現する情報処理装置、情報処理システム、および情報処理方法、並びにコンピュータ・プログラムに関する。
複数の情報処理装置間で通信を実行し、通信データを適用したデータ処理を実行するシステムは様々な分野で利用されている。例えば有線または無線の通信ネットワーク、ケーブル、あるいはバスなどを介してデータ通信を実行する複数の情報処理装置において通信データを適用したデータ処理を実行して最終的な処理結果を算出するシステムである。
1つの具体例として、例えば2つの情報処理装置AB間における通信処理を実行する場合、一方の情報処理装置Aがデータ処理を実行し、処理結果を情報処理装置Bに送信し、さらに、情報処理装置Bが受信した処理結果を適用したデータ処理を実行して情報処理装置Aに送信するなどの処理を行なう。このような通信シーケンスばかりでなく、複数の情報処理装置間でデータを送受信しながら送受信データを適用したデータ処理を実行するシステムは様々な分野で利用されている。
しかし、このようなデータ通信、データ処理を伴う構成では、データ処理エラー、データ通信エラーが発生した場合の対処が問題となる。情報処理装置としてのエンティティA及びBが、各々異なる内部処理の実行及びその結果であるデータの送受信を複数回繰り返すことによって特定の処理を実行する情報処理システムについて考える。これらのシステムでは、情報処理装置としてのエンティティA及びB個々の内部でのデータ処理が実行され、処理結果データの送受信が行われ、さらにその送受信データに基づいて新たな内部処理が実行される。
このようなデータ処理を行なう場合、処理シーケンスが正確に維持されることが必要となる。すなわち、各エンティティにおける内部状態は同期している必要がある。しかしながら実際のシステムでは、データの送受信時における通信エラーや、内部処理が正しく行われなかった場合の内部処理エラー等によって、各エンティティの内部状態に差異が発生、すなわち内部状態の非同期が生じる可能性がある。このような場合において各エンティティの内部状態の差異を解消して、内部状態を同期させる仕組みが必要である。
通常、内部処理エラー等により装置間の内部状態の非同期が生じた場合、エラーを検出したエンティティAは、通信相手に対して内部処理エラーを通知し、自身は初期状態に戻る。また、内部処理エラーの通知を受信したエンティティBは、そのまま初期状態に戻ることにより両者の内部状態を初期状態で同期させることができる。
しかしながらこのような状態同期処理は、一方のエンティティにおいて実行したデータ処理においてエラーが発生したことが認識できる場合にのみ適用可能である。すなわち、エンティティAは正しいデータ処理の結果データを送信したが、そのデータ転送時に通信エラーが発生した場合、エンティティAはエラーの発生を認識することができない。
エンティティBでは、パリティチェック等により通信エラーを検出することが可能であったとしても、正規のデータに対して通信エラーが発生したのか内部処理エラーに対して通信エラーが発生したのかそれが通信エラーであるのか内部処理エラーであるのかを判断することができず、そのまま初期状態に戻ることになる。
以上より、エンティティAは、正しい処理が実行されているものとして、内部状態を移行し、一方、エンティティBは初期状態に戻ってしまい、結果としてエンティティAB間において内部状態の非同期が生じる。
このような問題を解決する最も簡単な手法として、エンティティBが通信エラーを検出した場合にそれを受信したことをエンティティAに通知するという方法が考えられるが、エンティティAが続けてデータを送信しようとしている場合、エンティティA及びBが互いにデータを送信しようとする状態に陥り、処理が続行できなくなる場合がある。また、エンティティAがデータの受信待ち状態であった場合でも、Bが送信しようとするエラー通知データのデータ長と、Aが受信しようとするデータのデータ長が一致しない場合、エラー通知通信データが送信しきれない、もしくはデータを送信してもエンティティAにおけるデータ受信状態が続く等の問題が生じる。
本発明は、上述の問題点に鑑みてなされたものであり、複数の情報処理装置等のエンティティ間で通信を実行し、通信データを適用したデータ処理を行なう構成において、内部処理エラー、通信エラーのいずれが生じた場合においても、通信処理を実行するエンティティ両者がエラーの発生を正しく認識し、各々の内部状態を同期させて確実なエラー回復を行い、データ処理を再開することを可能とした情報処理装置、情報処理システム、および情報処理方法、並びにコンピュータ・プログラムを提供することを目的とする。
本発明の第1の側面は、
相互にデータ通信を実行するともに、通信データを適用したデータ処理を実行する第1情報処理部と第2情報処理部を有する情報処理システムであり、
前記第1情報処理部は、前記第2情報処理部からの受信データを適用したデータ処理を実行して、データ処理結果を前記第2情報処理部に送信する処理を実行するとともに、データ処理エラーおよび前記第2情報処理部からの受信データのエラー検出を実行し、エラー検出に基づいて、エラー通知データを前記第2情報処理部に送信し、該エラー通知データの送信後の前記第2情報処理部からのデータ受信を条件として初期状態復帰処理を実行し、
前記第2情報処理部は、前記第1情報処理部からの受信データを適用したデータ処理を実行して、データ処理結果を前記第1情報処理部に送信する処理を実行するとともに、データ処理エラーおよび前記第1情報処理部からの受信データのエラー検出を実行し、エラー検出に基づいて、エラー通知データを前記第1情報処理部に送信し、該エラー通知データの送信処理の実行を条件として初期状態復帰処理を実行する第2情報処理部と、
を有することを特徴とする情報処理システムにある。
さらに、本発明の情報処理システムの一実施態様において、前記第1情報処理部および前記第2情報処理部は、交互にデータ送受信を実行する構成であり、前記第1情報処理部および前記第2情報処理部は、受信データのエラー検出処理においてエラーが検出されない場合に内部でのデータ処理に移行し、エラーが検出された場合にはエラー通知データの送信処理を実行する構成であることを特徴とする。
さらに、本発明の情報処理システムの一実施態様において、前記第1情報処理部は、前記第2情報処理部に対するエラー通知データ送信後、前記第2情報処理部から受信するデータがエラー通知データであることが確認された場合、または通信エラーデータであることが確認された場合、いずれの場合においても初期状態復帰処理を実行する構成であることを特徴とする。
さらに、本発明の情報処理システムの一実施態様において、前記第2情報処理部は、自己の実行する内部データ処理におけるエラー発生、または、前記第1情報処理部からの受信データの通信エラーの発生を検知し、該エラー検知に基づいて、エラー通知データを送信し、該エラー通知データの送信を条件として初期状態復帰処理を実行する構成であることを特徴とする。
さらに、本発明の第2の側面は、
通信相手装置と相互にデータ通信を実行するともに、通信データを適用したデータ処理を実行する情報処理装置であり、
前記通信相手装置からの受信データを適用したデータ処理を実行するデータ処理部と、
前記データ処理部におけるデータ処理結果を前記通信相手装置に送信する通信部と、
自己の実行する内部データ処理におけるエラー発生、および前記通信相手装置からの受信データの通信エラーの発生を検知するエラー検出部を有し、
前記通信部は、エラー検知に基づいて、エラー通知データを前記通信相手装置に送信し、
前記データ処理部は、エラー通知データ送信後の前記通信相手装置からのデータ受信を条件として初期状態復帰処理を実行することを特徴とする情報処理装置にある。
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、通信相手装置に対するエラー通知データ送信後に、前記通信相手装置から受信するデータがエラー通知データであることが確認された場合、または通信エラーデータであることが確認された場合、いずれの場合においても初期状態復帰処理を実行する構成であることを特徴とする。
さらに、本発明の第3の側面は、
通信相手装置と相互にデータ通信を実行するともに、通信データを適用したデータ処理を実行する情報処理装置であり、
前記通信相手装置からの受信データを適用したデータ処理を実行するデータ処理部と、
前記データ処理部におけるデータ処理結果を前記通信相手装置に送信する通信部と、
自己の実行する内部データ処理におけるエラー発生、および前記通信相手装置からの受信データの通信エラーの発生を検知するエラー検出部を有し、
前記通信部は、エラー検知に基づいて、エラー通知データを前記通信相手装置に送信し、
前記データ処理部は、前記エラー通知データの送信を条件として初期状態復帰処理を実行することを特徴とする情報処理装置にある。
さらに、本発明の第4の側面は、
情報処理装置において、通信相手装置と相互にデータ通信を実行するともに、通信データを適用したデータ処理を実行する情報処理方法であり、
データ処理部が、前記通信相手装置からの受信データを適用したデータ処理を実行するデータ処理ステップと、
通信部が、前記データ処理部におけるデータ処理結果を前記通信相手装置に送信する通信ステップと、
エラー検出部が、自己の実行する内部データ処理におけるエラー発生、および前記通信相手装置からの受信データの通信エラーの発生を検出するエラー検出ステップと、
前記通信部が、前記エラー検出ステップにおけるエラー検出を条件として、エラー通知データを前記通信相手装置に送信するエラー通知データ送信ステップと、
前記データ処理部が、エラー通知データ送信後の前記通信相手装置からのデータ受信を条件として初期状態復帰処理を実行する初期状態復帰ステップと、
を有することを特徴とする情報処理方法にある。
さらに、本発明の情報処理方法の一実施態様において、前記初期状態復帰ステップは、通信相手装置に対するエラー通知データ送信後に、前記通信相手装置から受信するデータがエラー通知データであることが確認された場合、または通信エラーデータであることが確認された場合、いずれの場合においても初期状態復帰処理を実行することを特徴とする。
さらに、本発明の第5の側面は、
情報処理装置において、通信相手装置と相互にデータ通信を実行するともに、通信データを適用したデータ処理を実行する情報処理方法であり、
データ処理部が、前記通信相手装置からの受信データを適用したデータ処理を実行するデータ処理ステップと、
通信部が、前記データ処理部におけるデータ処理結果を前記通信相手装置に送信する通信ステップと、
エラー検出部が、自己の実行する内部データ処理におけるエラー発生、および前記通信相手装置からの受信データの通信エラーの発生を検出するエラー検出ステップと、
前記通信部が、前記エラー検出ステップにおけるエラー検出を条件として、エラー通知データを前記通信相手装置に送信するエラー通知データ送信ステップと、
前記データ処理部が、前記エラー通知データの送信を条件として初期状態復帰処理を実行する初期状態復帰ステップと、
を有することを特徴とする情報処理方法にある。
さらに、本発明の第6の側面は、
情報処理装置において、通信相手装置と相互にデータ通信を実行させるともに、通信データを適用したデータ処理をコンピュータ上で実行させるコンピュータ・プログラムであり、
データ処理部に、前記通信相手装置からの受信データを適用したデータ処理を実行させるデータ処理ステップと、
通信部に、前記データ処理部におけるデータ処理結果を前記通信相手装置に送信させる通信ステップと、
エラー検出部に、自己の実行する内部データ処理におけるエラー発生、および前記通信相手装置からの受信データの通信エラーの発生を検出させるエラー検出ステップと、
前記通信部に、前記エラー検出ステップにおけるエラー検出を条件として、エラー通知データを前記通信相手装置に送信させるエラー通知データ送信ステップと、
前記データ処理部に、エラー通知データ送信後の前記通信相手装置からのデータ受信を条件として初期状態復帰処理を実行させる初期状態復帰ステップと、
を有することを特徴とするコンピュータ・プログラムにある。
さらに、本発明の第7の側面は、
情報処理装置において、通信相手装置と相互にデータ通信を実行させるともに、通信データを適用したデータ処理をコンピュータ上で実行させるコンピュータ・プログラムであり、
データ処理部に、前記通信相手装置からの受信データを適用したデータ処理を実行させるデータ処理ステップと、
通信部に、前記データ処理部におけるデータ処理結果を前記通信相手装置に送信させる通信ステップと、
エラー検出部に、自己の実行する内部データ処理におけるエラー発生、および前記通信相手装置からの受信データの通信エラーの発生を検出させるエラー検出ステップと、
前記通信部に、前記エラー検出ステップにおけるエラー検出を条件として、エラー通知データを前記通信相手装置に送信させるエラー通知データ送信ステップと、
前記データ処理部に、前記エラー通知データの送信を条件として初期状態復帰処理を実行させる初期状態復帰ステップと、
を有することを特徴とするコンピュータ・プログラムにある。
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、CDやFD、MOなどの記憶媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づく、より詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
本発明の構成によれば、内部データ処理を行なうとともに相互にデータ通信を実行する複数のエンティティ(情報処理部)から構成される情報処理システムにおいて、第1のエンティティが、エラー検出に基づいて、エラー通知データを送信し、該エラー通知データの送信後のデータ受信を条件として初期状態復帰処理を実行するとともに、第2のエンティティがエラー検出に基づいて、エラー通知データを送信し、該エラー通知データの送信処理の実行を条件として初期状態復帰処理を実行する構成としたので、双方のエンティティが確実に同期して初期状態に復帰することが可能となり、確実なエラー回復、データ処理再開が実現される。
さらに、本発明の構成によれば、エンティティA,B間でデータ通信を伴うデータ処理を実行する構成において、
(1)エンティティAのデータ処理(内部処理)でのエラー発生
(2)エンティティBのデータ処理(内部処理)でのエラー発生
(3)エンティティAからエンティティBに対する通信データでのエラー発生
(4)エンティティBからエンティティAに対する通信データでのエラー発生
これらの異なる態様でのエラー発生において、エンティティAが、エラー検出に基づいて、エラー通知データを送信し、該エラー通知データの送信後のデータ受信を条件として初期状態復帰処理を実行し、エンティティBがエラー検出に基づいて、エラー通知データを送信し、該エラー通知データの送信処理の実行を条件として初期状態復帰処理を実行する構成により、双方のエンティティが確実に同期して初期状態に復帰することが可能となり、確実なエラー回復、データ処理再開が実現される。
以下、図面を参照しながら、本発明の情報処理装置、情報処理システム、および情報処理方法、並びにコンピュータ・プログラムの詳細について説明する。
本発明は、複数の情報処理装置間で通信を実行し、通信データを適用したデータ処理を行なう構成において、内部処理エラー、通信エラーのいずれかが生じた場合においても、情報処理装置としてのエンティティA及びBの両者がエラーの発生を正しく認識し、各々の内部状態を同期させることによって確実なエラー回復、処理再開を可能とするものである。以下の本発明の実施例において、通信を行いながらデータ処理を実行する2つの情報処理装置をエンティティAおよびエンティティBとする。また、各記号の意味を下記のように定義する。
A:相互通信において、最初にデータを送信するエンティティ
B:エンティティAと通信を行うエンティティ
TR:AとBが通信を行うことによって実行される特定の処理
ITRXi(V):エンティティXによる値Vを用いたi番目の内部処理(i=0,1,2・・)
Data:データ処理において処理または通信対象となるj番目のデータ
IV:TR実行のための初期値
Xi:エンティティXの内部状態(エンティティAの初期状態はSA0、エンティティBの初期状態はSB0
エンティティAとエンティティBとが相互に通信を行うことにより処理(TR)を実行する情報処理システムにおいて、エラーが発生した場合には各エンティティA,Bはそれぞれの初期状態(SA0、SB0)に戻ることにより内部状態の同期を図る。エラー検出時のエラー回復処理(以降単にエラー処理と呼ぶ)として通常以下の二通りの対処法が考えられる。
(処理1)そのまま初期状態に戻る。
(処理2)通信相手にエラー通知データを送信し、初期状態に戻る。エラー通知データを受信したエンティティは、そのまま初期状態に戻る。
まず(処理1)の場合、内部状態SAiにおいてエラーを検出したエンティティAは、内部状態SAiから初期状態SA0へと戻る。一方エンティティBはエラーの発生を知ることが不可能であるため、内部状態はSBiのままである。従って、エンティティAがデータ処理(TR)の再開を試みた場合、エンティティA、エンティティB間の内部状態が非同期のままでTRが実行されることになり、正しい実行結果が得られない。これは、エンティティBが内部状態SBiにおいてエラーを検出した場合も同様である。
この場合において各エンティティの内部状態を同期させるためには、タイムアウト処理が必要となる。即ち、エラーを検出したエンティティは一定時間、処理を中断した後、初期状態に戻るという動作を行い、他方のエンティティは一定時間データが送信されないことによってエラーの発生を検出し、初期状態に戻る、という処理を行う必要がある。しかしながら、このようなタイムアウト処理は、データの遅延等を勘案した上で時間を適切に設定することが容易ではないという問題がある。
次に(処理2)の場合、内部状態SAiにおいてエラーを検出したエンティティAは、エラー通知データをエンティティBに対して送信した後、内部状態SAiから初期状態SA0へと戻り、エンティティBはエラー通知データを受信後、初期状態SB0へと戻ることにより内部状態の同期が可能となる。
しかしながら、エンティティAからエンティティBへの送信が複数回連続して行われるような処理が存在する場合、エンティティAからの送信データに通信エラーが発生すると、エンティティBはエラー通知データをエンティティAに送信しようとするが、同時期にエンティティAは残りのデータを送信しようとするために両エンティティが同時に送信状態となり、特にハードウェアの場合にはデッドロックに陥る可能性がある。このように、上述の(処理1)、(処理2)の対処では、確実に内部状態を同期させてエラー回復を行なうことは困難である。
本発明は、このように、相互に通信を行う情報処理システムにおいてある条件を満たすように設定することにより、各エンティティの内部状態を確実に同期させる方式である。以下、設定条件、通常状態におけるTRの実行、エラー処理、エラー発生時の動作に関して述べる。
(1)設定条件
エラーが発生した場合にも各エンティティの内部状態を同期可能とするために、以下の設定条件を満たすように情報処理システムを構成する。なお、情報処理システムとは、相互通信を実行してデータ処理を実行する複数の情報処理装置等のエンティティによって構成される。
(設定1):送信データは、受信側で通信エラーの有無を検出可能とする
(設定2):送受信されるデータはエラーの有無に関わらず受信可能とする
(設定3):送受信は必ず交互に繰り返される
(設定4):エンティティBは最終データの送信後もエンティティAからのデータを受信可能である、もしくは、リセットが可能である
なお、これらの設定条件1〜4は相互に通信を行う情報処理システムにおいて、例えば以下のようにして実現可能である。
(設定1):データ送信時には、データ送信側エンティティが、送信データに対応するエラー確認または訂正用情報としてのパリティビット(もしくはチェックサム)を付加して送信する。またデータ受信側エンティティは、受信データのパリティビット(もしくはチェックサム)を計算し、データに誤りが無いかどうかを判断する。
(設定2):送信されるデータのデータ長、パケット長等をすべてのデータにおいて同一の値とする。もしくは、エンティティAB間で一回にやり取りされるビット長を固定とする。
(設定3):エンティティA、B共に「データ送信後、次のデータを受信するまで内部処理を実行しない」という動作を行うように構成し、エンティティAを最初のデータ送信者とする。
(設定4):エンティティBの動作を、TR実行終了後にエンティティAからのデータ受信待ちもしくはリセット待ちに入るように構成する。
[通常状態におけるデータ処理(TR)の実行例]
エンティティA,B間でデータ通信を実行する処理例について説明する。まず、図1〜図3を参照して、エラーが発生しない場合の通信処理および各エンティティA,Bにおけるデータ処理例について説明する。ここで、エンティティA及びエンティティBが各々N回の内部処理(データ処理)および2N回のデータ送受信を実行することによって全体のデータ処理(TR)が完了するものとする。データ処理において使用する初期値は、初期値IV=Data0とする。
全体処理のシーケンス図を図1に示し、エンティティAおよびエンティティBの内部処理の実行手順を説明するフローを図2および図3に示す。まず、図1に従って、全体処理のシーケンスについて説明する。
処理開始(TR開始)後、ステップS101において、エンティティAは、初期値(IV)を適用したデータ処理(内部処理)ITRA1を実行して、初期値(IV)に基づくデータ処理の結果データDataを算出する。すなわち、
Data=ITRA1(IV)
によってデータDataを得る。
エンティティAは、このデータDataをエンティティBに送信する。
ステップS102において、エンティティBは、エンティティAから受信したデータの正当性検証処理を実行する。データDataには、エラー確認または訂正用情報としてのパリティビット(もしくはチェックサム)が付加されており、エンティティBは、受信データのパリティビット(もしくはチェックサム)を計算し、データに誤りが無いかどうかを判断する。
データに誤りがあると判定した場合には、エラー処理に移行する。エラー処理については、後段で詳細に説明する。データに誤りがないと判定した場合は、ステップS103において、エンティティBは、受信データ(Data)を適用したデータ処理(内部処理)ITRB1を実行して、データ(Data)に基づくデータ処理の結果データDataを算出する。すなわち、
Data=ITRB1(Data
によってデータDataを得る。
エンティティBは、このデータDataをエンティティAに送信する。
ステップS104において、エンティティAは、エンティティBから受信したデータの正当性検証処理を実行する。データDataにも、エラー確認または訂正用情報としてのパリティビット(もしくはチェックサム)が付加されており、エンティティAは、受信データのパリティビット(もしくはチェックサム)を計算し、データに誤りが無いかどうかを判断する。
データに誤りがあると判定した場合には、エラー処理に移行し、データに誤りがないと判定した場合は、受信データ(Data)を適用したデータ処理(内部処理)ITRA2を実行して、データ(Data)に基づくデータ処理の結果データDataを算出する。
このようなデータ処理、データ送信、データ検証処理が繰り返し実行され、最終的に、ステップS121〜S124において、ステップS101〜S104と同様の処理が実行され、ステップS124において、エンティティAがエンティティBから受信した、データDataの正当性検証を実行して、データに誤りが無いとの判定が得られた場合に、処理が終了する。
すべてのデータ処理、データ通信にエラーが発生しない場合には、エンティティA及びエンティティBが各々N回の内部処理(データ処理)および2N回のデータ送受信を実行することによって全体のデータ処理(TR)が完了する。
次に、図2、図3を参照して、エンティティA、B各々の処理シーケンスについて説明する。まず、図2を参照してエンティティAの処理について説明する。
ステップS201において処理を開始し、ステップS202において、パラメータiの初期値設定として、i=0の設定を行う。パラメータiは、内部状態SAiのパラメータiに相当する。この状態において、内部状態は初期状態SA0にある。なお、各エンティティは、データ処理実行中において、自己の内部状態を記憶保持する。すなわち、エンティティAは、内部状態SAi(i=0,1,・・)を保持し、エンティティBは、内部状態SBi(i=0,1,・・)を保持する。
ステップS203において、パラメータiを1つインクリメントするパラメータ更新処理を実行する。すなわち、
i=i+1
の更新処理を実行する。
次に、ステップS204において、データ処理(内部処理)を実行する。このデータ処理は、データData2(i−1)を適用した処理ITRAiにより、処理結果データData2i−1を算出する処理として実行される。すなわち、
Data2i−1=ITRAi(Data2(i−1)
によって、データData2i−1を算出する。
ステップS205において、ステップS204のデータ処理(内部処理)の結果データData2i−1をエンティティBに送信する。その後、ステップS206において、エンティティBから、エンティティBにおけるデータ処理(内部処理)の結果データData2iを受信する。
ステップS207では、受信データData2iの正当性検証を実行し、正当性が確認された場合は、ステップS208に進み、パラメータiが最大値Nに等しいか否かを判定し、i<Nである場合は、継続する処理があるので、ステップS203においてパラメータiの更新を実行して、ステップS204以下の処理を繰り返し実行する。最終的に、ステップS208において、パラメータiが最大値Nに等しいと判定されると、通信を終了し、ステップS209に進み最終処理を実行し、すべての処理を終了する。
ステップS207において、受信データData2iの正当性がないと判定した場合は、ステップS210に進み、エラー処理に移行する。エラー処理の詳細については後段で説明する。
次に、図3を参照してエンティティBの処理について説明する。ステップS221において処理を開始し、ステップS222において、パラメータiの初期値設定として、i=0の設定を行う。パラメータiは、内部状態SBiのパラメータiに相当する。この状態において、内部状態は初期状態SB0にある。
ステップS223において、パラメータiを1つインクリメントするパラメータ更新処理を実行する。すなわち、
i=i+1
の更新処理を実行する。
次に、ステップS224において、エンティティAからデータを受信する。受信データは、エンティティAにおける内部処理の結果データであり、データData2i−1である。ステップS225において、受信データData2i−1の正当性検証を実行する。正当性検証処理は、例えば受信データに付与されているパリティビットもしくはチェックサムを適用した処理として実行される。
受信データの正当性が確認された場合は、ステップS226に進み、受信データData2i−1を適用したエンティティB側でのデータ処理(内部処理)を実行する。このデータ処理は、エンティティAからの受信データData2i−1を適用した処理ITRBiにより、処理結果データData2iを算出する処理として実行される。すなわち、
Data2i=ITRBi(Data2i−1
によって、データData2iを算出する。
ステップS227において、ステップS226のデータ処理(内部処理)の結果データData2iをエンティティAに送信する。その後、ステップS228において、パラメータiが最大値Nに等しいか否かを判定し、i<Nである場合は、継続する処理があるので、ステップS223においてパラメータiの更新を実行して、ステップS224以下の処理を繰り返し実行する。最終的に、ステップS228において、パラメータiが最大値Nに等しいと判定されると、エンティティ側で継続する処理はないので、ステップS229に進みエンティティAからのデータ受信待ちに移行する。
ステップS225における受信データData2i−1の正当性検証において、受信データのエラーが確認された場合は、ステップS230に進み、エラー処理に移行する。エラー処理の詳細については後段で説明する。
以上、図1〜図3を参照して、エンティティAB間の通信を伴うデータ処理シーケンスについて説明した。なお、これらの処理シーケンスのアルゴリズムは、以下のアルゴリズムとして記述される。
[アルゴリズム]
1:i=0とする。
2:iにi+1を代入する。
3:エンティティAはData2i―1=ITRAi(Data2(i−1))を計算し、エンティティBに送信する。
4:エンティティBはData2i―1を受信後、エラーかどうかを判断する。
エラーであればエラー処理を実行し、そうでなければ次に進む。
5:エンティティBはData2i=ITRBi(Data2i―1)を計算し、エンティティAに送信する。
6:エンティティAはData2iを受信後、エラーかどうかを判断する。
エラーであればエラー処理を実行し、そうでなければ次に進む。
7:i=Nであれば最終処理を実行し、TR完了とする。
そうでなければ2に戻る。
[エラー処理]
次に、エンティティ間の通信を伴うデータ処理において、エラーが発生した場合の処理について説明する。
エンティティAB間の通信を伴うデータ処理におけるエラー発生態様は、以下の4種類になる。
(1)エンティティAのデータ処理(内部処理)ITRAiでのエラー発生
(2)エンティティBのデータ処理(内部処理)ITRBiでのエラー発生
(3)エンティティAからエンティティBに対する通信データData2i−1でのエラー発生
(4)エンティティBからエンティティAに対する通信データData2iでのエラー発生
上記4つの態様のエラーの発生する可能性がある。
エンティティA,Bは、これらの全てのエラー態様において、同じエラー処理を実行する。エンティティAと、エンティティB各々のエラー処理を実行する。まず、これら各エンティティにおけるエラー処理シーケンスについて、図4、図5のフローを参照して説明し、その後、図6〜図9を参照して、上記(1)〜(4)の各エラー態様に対応する処理シーケンスについて説明する。
まず、図4に示すフローチャートを参照して、エラー発生時にエンティティAが実行する処理手順について説明する。
エンティティAは、エラー発生を検知または、エラー発生をエンティティBから通知された場合は、ステップS301において、エンティティBに対してエラー通知データを送信する。なお、エンティティAは、上記(1)〜(4)のそれぞれにおいて、自らエラー発生を検知または、エラー発生をエンティティBから通知されることになる。具体的な場合分けは以下のようになる。
(1)エンティティAのデータ処理(内部処理)ITRAiでのエラー発生
(4)エンティティBからエンティティAに対する通信データData2iでのエラー発生
これら2つのケースでは、エンティティAがエラー検出を行い、このエラー検出を条件として、ステップS301において、エンティティAが初動的なエラー通知をエンティティBに対して送信する。
(2)エンティティBのデータ処理(内部処理)ITRBiでのエラー発生
(3)エンティティAからエンティティBに対する通信データData2i−1でのエラー発生
これら2つのケースでは、エンティティBがエラー検出を行い、エンティティBからエンティティAに対して初動的なエラー通知が送信され、このエラー通知の受信に応じてエンティティAが、ステップS301において、エンティティBにエラー通知を行なうことになる。
ステップS301のエラー通知処理は、上記の各エラー態様ごとの処理に対応するエラー通知処理である。その後、エンティティAは、ステップS302において、エンティティBからエラー通知データを受信する。ステップS303において、エンティティAは、エンティティBからのエラー通知を受信したことを条件として、初期状態SA0に戻る。
このように、エンティティAは、
(A1)エラー通知データ送信処理、
(A2)エラー通知データ送信後のエラー通知データ受信処理
(A3)これらのエラー通知データ送受信処理が実行されたことを条件として初期状態SA0に戻る処理を実行する。
この処理シーケンスは、上記の(1)〜(4)のエラー発生態様全てに共通に実行される処理である。
なお、上述の処理において、
(A2)エラー通知データ送信後のエラー通知データ受信処理
において、通信エラーが発生し、エンティティAは、受信データがエラー通知データであるとの確認ができない場合があるが、この場合であっても、エンティティAは、初期状態SA0に戻る処理を実行する。すなわち、エンティティAは、
(A1)エラー通知データ送信処理、
を実行した後、エンティティBからのデータを受信した場合には、受信データがエラー通知データであることが確認されない場合であっても、初期状態SA0に戻る処理を実行する。この処理については、後段の[エラー通知データの通信エラーに対する処理例]の項目において説明する。
次に、図5に示すフローチャートを参照して、エラー発生時にエンティティBが実行する処理手順について説明する。
エンティティBは、エラー発生を検知または、エラー発生をエンティティAから通知された場合は、ステップS321において、エンティティAに対してエラー通知データを送信する。なお、エンティティBは、上記(1)〜(4)のそれぞれにおいて、自らエラー発生を検知または、エラー発生をエンティティAから通知されることになる。具体的な場合分けは以下のようになる。
(2)エンティティBのデータ処理(内部処理)ITRBiでのエラー発生
(3)エンティティAからエンティティBに対する通信データData2i−1でのエラー発生
これら2つのケースでは、エンティティBがエラー検出を行い、このエラー検出を条件として、ステップS321において、エンティティBが初動的なエラー通知をエンティティAに対して送信する。
(1)エンティティAのデータ処理(内部処理)ITRAiでのエラー発生
(4)エンティティBからエンティティAに対する通信データData2iでのエラー発生
これら2つのケースでは、エンティティAがエラー検出を行い、エンティティAからエンティティBに対して初動的なエラー通知が送信され、このエラー通知の受信に応じてエンティティBが、ステップS321において、エンティティAにエラー通知を行なうことになる。
ステップS321のエラー通知処理は、上記の各エラー態様ごとの処理に対応するエラー通知処理である。その後、エンティティBは、ステップS322において、初期状態SB0に戻る。
このように、エンティティBは、
(B1)エラー通知データ送信処理、
(B2)エラー通知データ送信処理を実行したことを条件として初期状態SA0に戻る処理を実行する。
この処理シーケンスは、上記の(1)〜(4)のエラー発生態様全てに共通に実行される処理である。
次に、図6〜図9を参照して、(1)〜(4)のエラー発生態様、すなわち、
(1)エンティティAのデータ処理(内部処理)ITRAiでのエラー発生
(2)エンティティBのデータ処理(内部処理)ITRBiでのエラー発生
(3)エンティティAからエンティティBに対する通信データData2i−1でのエラー発生
(4)エンティティBからエンティティAに対する通信データData2iでのエラー発生
これら4つのエラー発生態様におけるデータ処理、通信シーケンスについて説明する。
図6は、(1)エンティティAのデータ処理(内部処理)ITRAiでのエラー発生に対応した処理手順を説明するシーケンス図である。ステップS401〜S412の順に処理が実行される。なお、ステップS401〜S412中、ステップS401〜S407までが、エラーに対応した処理であり、ステップS409〜の処理は、処理再開および処理再開後の処理を示している。ステップS401〜S407のエラー対応処理は、エンティティAB間の通信を伴うテータ処理の実行期間における任意のタイミングにおいて実行される。
まず、エンティティAは、ステップS401において、エンティティAのデータ処理(内部処理)ITRAiにおいてエラーが発生したことを検出する。エンティティAは、エラー検出がなされると、ステップS402において、エラー通知データをエンティティBに対して送信する。このエラー通知データの送信処理は、先に説明した図4のフローチャートにおけるステップS301のエラー通知データの送信処理に対応する。
次に、エンティティBは、ステップS403において、エンティティAからのエラー通知データを受信し、ステップS404において、エラー通知データをエンティティAに送信した後、ステップS405において、初期状態SB0に戻る。ステップS404のエラー通知データ送信処理は、先に図5を参照して説明した処理フローにおけるステップS321のエラー通知データ送信処理に対応し、ステップS405の初期状態SB0復帰処理は、図5の処理フローにおけるステップS322の初期状態SB0復帰処理に対応する。
次に、エンティティAは、ステップS406において、エンティティBからのエラー通知データを受信して、ステップS407において初期状態SA0に戻る。ステップS406のエラー通知データ受信処理は、先に図4を参照して説明した処理フローにおけるステップS302のエラー通知データ受信処理に対応し、ステップS407の初期状態SA0復帰処理は、図4の処理フローにおけるステップS303の初期状態SA0復帰処理に対応する。
なお、後段の[エラー通知データの通信エラーに対する処理例]において、説明するが、エンティティAは、ステップS406においてエンティティBからの受信データが、通信エラーによって、エラー通知データであることを確認できない場合にも、ステップS407に進み、初期状態SA0に戻る。この処理の詳細については、後段で説明する。
エンティティAは、ステップS407において初期状態SA0に戻った後、ステップS408において、初期状態からのデータ処理(TR)を再開する。処理再開後、ステップS409において、エンティティAは、初期値(IV)を適用したデータ処理(内部処理)ITRA1を実行して、初期値(IV)に基づくデータ処理の結果データDataを算出する。すなわち、
Data=ITRA1(V1)
によってデータDataを得る。
エンティティAは、このデータDataをエンティティBに送信する。
ステップS410において、エンティティBは、エンティティAから受信したデータの正当性検証処理を実行する。すなわち、パリティビットもしくはチェックサムを計算し、データに誤りが無いかどうかを判断する。データに誤りがあると判定した場合には、エラー処理に移行する。
この場合のエラー処理は、前述のエラー態様(1)〜(4)中の、
(3)エンティティAからエンティティBに対する通信データData2i−1でのエラー発生であり、図8を参照して後段で詳細に説明する。
データに誤りがないと判定した場合は、ステップS411において、エンティティBは、受信データ(Data)を適用したデータ処理(内部処理)ITRB1を実行して、データ(Data)に基づくデータ処理の結果データDataを算出する。すなわち、
Data=ITRB1(Data
によってデータDataを得る。
エンティティBは、このデータDataをエンティティAに送信する。
ステップS412において、エンティティAは、エンティティBから受信したデータの正当性検証処理を実行する。データDataについてのパリティビットもしくはチェックサムを計算し、データに誤りが無いかどうかを判断する。データに誤りがあると判定した場合には、エラー処理に移行する。
この場合のエラー処理は、前述のエラー態様(1)〜(4)中の、
(4)エンティティBからエンティティAに対する通信データData2iでのエラー発生であり、図9を参照して後段で詳細に説明する。データに誤りがないと判定した場合は、受信データ(Data)を適用したデータ処理(内部処理)ITRA2を実行して、データ(Data)に基づくデータ処理の結果データDataを算出する。以下は、同様のデータ処理、データ送信、データ検証処理が繰り返し実行される。
以上、説明したシーケンスから理解されるように、
(1)エンティティAのデータ処理(内部処理)ITRAiでのエラー発生
に対応したエラー処理では、先に説明した図4、図5のフローチャートに従った処理、すなわち、
エンティティAは、
(A1)エラー通知データ送信処理、
(A2)エラー通知データ送信後のエラー通知データ受信、または通信エラーデータ受信処理
(A3)これらのデータ送受信処理が実行されたことを条件として初期状態SA0に戻る処理を実行する。
一方エンティティBは、
(B1)エラー通知データ送信処理、
(B2)エラー通知データ送信処理を実行したことを条件として初期状態SA0に戻る処理を実行する。
これらの処理を各エンティティが実行することで、それぞれが同期して初期状態SA0,SB0に戻ることが可能となり、確実に内部状態を同期させたエラー回復処理を行なうことが可能となる。
次に、図7を参照して、(2)エンティティBのデータ処理(内部処理)ITRBiでのエラー発生に対応した処理手順を説明する。ステップS501〜S517の順に処理が実行される。なお、ステップS501〜S517中、ステップS502〜S512が、エラー検出およびエラー対応処理であり、ステップS513〜の処理は、処理再開および処理再開後の処理を示している。ステップS502〜S512のエラー対応処理は、エンティティAB間の通信を伴うテータ処理の実行期間における任意のタイミングにおいて実行される。
まず、エンティティAは、ステップS501において、エンティティAのデータ処理(内部処理)ITRAiを実行し、
Data2i−1=ITRAi(Data2(i−1)
によってデータData2i−1を得る。
エンティティAは、このデータData2i−1をエンティティBに送信する。
ステップS502において、エンティティBは、エンティティAから受信したデータの正当性検証処理を実行する。すなわち、パリティビットもしくはチェックサムを計算し、データに誤りが無いかどうかを判断する。データに誤りがあると判定した場合には、エラー処理に移行する。この場合のエラー処理は、前述のエラー態様(1)〜(4)中の、
(3)エンティティAからエンティティBに対する通信データData2i−1でのエラー発生であり、図8を参照して後段で詳細に説明する。
この処理例では、ステップS502において、エンティティBは、エンティティAから受信したデータの正当性が確認されたものとし、ステップS503において、エンティティBは、エンティティBのデータ処理(内部処理)ITRBiを実行し、
Data2i=ITRBi(Data2i−1
によってデータData2iを得る。
エンティティBは、このデータData2iの生成処理において、エラーが発生したことを検出する。エンティティBは、エラー検出がなされると、ステップS504において、エラー通知データをエンティティAに対して送信する。このエラー通知データの送信処理は、先に説明した図5のフローチャートにおけるステップS321のエラー通知データの送信処理に対応する。
その後、エンティティBは、ステップS505において、初期状態SB0に戻る。ステップS505の初期状態SB0復帰処理は、図5の処理フローにおけるステップS322の初期状態SB0復帰処理に対応する。
その後、エンティティAは、ステップS506において、エンティティBからのエラー通知データを受信すると、ステップS507において、エラー通知データをエンティティBに対して送信する。このエラー通知データの送信処理は、先に説明した図4のフローチャートにおけるステップS301のエラー通知データの送信処理に対応する。
次に、エンティティBは、ステップS508において、エンティティAからのエラー通知データを受信し、ステップS509において、エラー通知データをエンティティAに送信した後、ステップS510において、初期状態SB0に戻る。ステップS509のエラー通知データ送信処理は、先に図5を参照して説明した処理フローにおけるステップS321のエラー通知データ送信処理に対応し、ステップS510の初期状態SB0復帰処理は、図5の処理フローにおけるステップS322の初期状態SB0復帰処理に対応する。
次に、エンティティAは、ステップS511において、エンティティBからのエラー通知データを受信して、ステップS512において初期状態SA0に戻る。ステップS511のエラー通知データ受信処理は、先に図4を参照して説明した処理フローにおけるステップS302のエラー通知データ受信処理に対応し、ステップS512の初期状態SA0復帰処理は、図4の処理フローにおけるステップS303の初期状態SA0復帰処理に対応する。
なお、エンティティAは、ステップS511においてエンティティBからの受信データが、通信エラーによって、エラー通知データであることを確認できない場合にも、ステップS512に進み、初期状態SA0に戻る。この処理の詳細については、後段の[エラー通知データの通信エラーに対する処理例]において説明する。
エンティティAは、ステップS512において初期状態SA0に戻った後、ステップS513において、初期状態からのデータ処理(TR)を再開する。以下のステップS514〜S517は、図6のシーケンス図のステップS409〜S412の処理と同様であり、説明を省略する。
以上、説明したシーケンスから理解されるように、
(2)エンティティBのデータ処理(内部処理)ITRBiでのエラー発生
に対応したエラー処理においても、先に説明した図4、図5のフローチャートに従った処理、すなわち、
エンティティAは、
(A1)エラー通知データ送信処理、
(A2)エラー通知データ送信後のエラー通知データ受信、または通信エラーデータ受信処理
(A3)これらのエラー通知データ送受信処理が実行されたことを条件として初期状態SA0に戻る処理を実行する。
一方エンティティBは、
(B1)エラー通知データ送信処理、
(B2)エラー通知データ送信処理を実行したことを条件として初期状態SA0に戻る処理を実行する。
図7のシーケンスでは、エンティティBは、上記B1,B2の処理を2回実行しているが、最終的に、エンティティAが初期状態SA0に戻った時には、エンティティBも初期状態SB0に戻っており、この時点でデータ処理(TR)が初期状態から再開されることになるので、確実に内部状態を同期させたエラー回復が可能となる。
次に、図8を参照して、(3)エンティティAからエンティティBに対する通信データData2i−1でのエラー発生に対応した処理手順を説明する。ステップS601〜S616の順に処理が実行される。なお、ステップS601〜S616中、ステップS602〜S611が、エラー検出およびエラー対応処理であり、ステップS612〜の処理は、処理再開および処理再開後の処理を示している。ステップS602〜S611のエラー対応処理は、エンティティAB間の通信を伴うテータ処理の実行期間における任意のタイミングにおいて実行される。
まず、エンティティAは、ステップS601において、エンティティAのデータ処理(内部処理)ITRAiを実行し、
Data2i−1=ITRAi(Data2(i−1)
によってデータData2i−1を得る。
エンティティAは、このデータData2i−1をエンティティBに送信する。
本処理例では、この通信データData2i−1の通信エラーが起こったものとする。ステップS602において、エンティティBは、エンティティAから受信したデータの正当性検証処理を実行する。すなわち、パリティビットもしくはチェックサムを計算し、データに誤りが無いかどうかを判断する。データに誤りがあると判定した場合には、エラー処理に移行する。
この処理例では、ステップS602において、エンティティBが、エンティティAからの受信データにエラーを検出したものとする。この場合、エンティティBは、ステップS603において、エラー通知データをエンティティAに対して送信する。このエラー通知データの送信処理は、先に説明した図5のフローチャートにおけるステップS321のエラー通知データの送信処理に対応する。
その後、エンティティBは、ステップS604において、初期状態SB0に戻る。ステップS604の初期状態SB0復帰処理は、図5の処理フローにおけるステップS322の初期状態SB0復帰処理に対応する。
その後、エンティティAは、ステップS605において、エンティティBからのエラー通知データを受信すると、ステップS606において、エラー通知データをエンティティBに対して送信する。このエラー通知データの送信処理は、先に説明した図4のフローチャートにおけるステップS301のエラー通知データの送信処理に対応する。
次に、エンティティBは、ステップS607において、エンティティAからのエラー通知データを受信し、ステップS608において、エラー通知データをエンティティAに送信した後、ステップS609において、初期状態SB0に戻る。ステップS608のエラー通知データ送信処理は、先に図5を参照して説明した処理フローにおけるステップS321のエラー通知データ送信処理に対応し、ステップS609の初期状態SB0復帰処理は、図5の処理フローにおけるステップS322の初期状態SB0復帰処理に対応する。
次に、エンティティAは、ステップS610において、エンティティBからのエラー通知データを受信して、ステップS611において初期状態SA0に戻る。ステップS610のエラー通知データ受信処理は、先に図4を参照して説明した処理フローにおけるステップS302のエラー通知データ受信処理に対応し、ステップS611の初期状態SA0復帰処理は、図4の処理フローにおけるステップS303の初期状態SA0復帰処理に対応する。
なお、エンティティAは、ステップS610においてエンティティBからの受信データが、通信エラーによって、エラー通知データであることを確認できない場合にも、ステップS611に進み、初期状態SA0に戻る。この処理の詳細については、後段の[エラー通知データの通信エラーに対する処理例]において説明する。
エンティティAは、ステップS611において初期状態SA0に戻った後、ステップS612において、初期状態からのデータ処理(TR)を再開する。以下のステップS612〜S616は、図6のシーケンス図のステップS409〜S412の処理と同様であり、説明を省略する。
以上、説明したシーケンスから理解されるように、
(3)エンティティAからエンティティBに対する通信データData2i−1でのエラー発生
に対応したエラー処理においても、先に説明した図4、図5のフローチャートに従った処理、すなわち、
エンティティAは、
(A1)エラー通知データ送信処理、
(A2)エラー通知データ送信後のエラー通知データ受信、または通信エラーデータ受信処理
(A3)これらのエラー通知データ送受信処理が実行されたことを条件として初期状態SA0に戻る処理を実行する。
一方エンティティBは、
(B1)エラー通知データ送信処理、
(B2)エラー通知データ送信処理を実行したことを条件として初期状態SA0に戻る処理を実行する。
図8のシーケンスにおいても、エンティティBは、上記B1,B2の処理を2回実行しているが、最終的に、エンティティAが初期状態SA0に戻った時には、エンティティBも初期状態SB0に戻っており、この時点でデータ処理(TR)が初期状態から再開されることになるので、確実に内部状態を同期させたエラー回復が可能となる。
次に、図9を参照して、(4)エンティティBからエンティティAに対する通信データData2iでのエラー発生に対応した処理手順を説明する。ステップS701〜S715の順に処理が実行される。なお、ステップS701〜S715中、ステップS704〜S710が、エラー検出およびエラー対応処理であり、ステップS711〜の処理は、処理再開および処理再開後の処理を示している。ステップS704〜S710のエラー対応処理は、エンティティAB間の通信を伴うテータ処理の実行期間における任意のタイミングにおいて実行される。
まず、エンティティAは、ステップS701において、エンティティAのデータ処理(内部処理)ITRAiを実行し、
Data2i−1=ITRAi(Data2(i−1)
によってデータData2i−1を得る。
エンティティAは、このデータData2i−1をエンティティBに送信する。
ステップS702において、エンティティBは、エンティティAから受信したデータの正当性検証処理を実行する。すなわち、パリティビットもしくはチェックサムを計算し、データに誤りが無いかどうかを判断する。データに誤りがあると判定した場合には、エラー処理に移行する。この場合のエラー処理は、前述のエラー態様(1)〜(4)中の、
(3)エンティティAからエンティティBに対する通信データData2i−1でのエラー発生であり、図8を参照して説明した処理となる。
この処理例では、ステップS702において、エンティティBは、エンティティAから受信したデータの正当性が確認されたものとし、ステップS703において、エンティティBは、エンティティBのデータ処理(内部処理)ITRBiを実行し、
Data2i=ITRBi(Data2i−1
によってデータData2iを算出する処理を実行し、生成データをエンティティAに送信する。
本処理例では、このエンティティBの生成データの通信に際してエラーが発生したものとする。ステップS704において、エンティティAは、エンティティBから受信したデータの正当性検証処理を実行する。すなわち、パリティビットもしくはチェックサムを計算し、データに誤りが無いかどうかを判断する。データに誤りがあると判定した場合には、エラー処理に移行する。
この処理例では、ステップS704において、エンティティAが、エンティティBからの受信データに基づいてエラーを検出する。この場合、エンティティAは、ステップS705において、エラー通知データをエンティティBに対して送信する。このエラー通知データの送信処理は、先に説明した図4のフローチャートにおけるステップS301のエラー通知データの送信処理に対応する。
次に、エンティティBは、ステップS706において、エンティティAからのエラー通知データを受信し、ステップS707において、エラー通知データをエンティティAに送信した後、ステップS708において、初期状態SB0に戻る。ステップS707のエラー通知データ送信処理は、先に図5を参照して説明した処理フローにおけるステップS321のエラー通知データ送信処理に対応し、ステップS708の初期状態SB0復帰処理は、図5の処理フローにおけるステップS322の初期状態SB0復帰処理に対応する。
次に、エンティティAは、ステップS709において、エンティティBからのエラー通知データを受信して、ステップS710において初期状態SA0に戻る。ステップS709のエラー通知データ受信処理は、先に図4を参照して説明した処理フローにおけるステップS302のエラー通知データ受信処理に対応し、ステップS710の初期状態SA0復帰処理は、図4の処理フローにおけるステップS303の初期状態SA0復帰処理に対応する。
なお、エンティティAは、ステップS709においてエンティティBからの受信データが、通信エラーによって、エラー通知データであることを確認できない場合にも、ステップS710に進み、初期状態SA0に戻る。この処理の詳細については、後段の[エラー通知データの通信エラーに対する処理例]において説明する。
エンティティAは、ステップS710において初期状態SA0に戻った後、ステップS711において、初期状態からのデータ処理(TR)を再開する。以下のステップS711〜S715は、図6のシーケンス図のステップS409〜S412の処理と同様であり、説明を省略する。
以上、説明したシーケンスから理解されるように、
(4)エンティティBからエンティティAに対する通信データData2iでのエラー発生
に対応したエラー処理においても、先に説明した図4、図5のフローチャートに従った処理、すなわち、
エンティティAは、
(A1)エラー通知データ送信処理、
(A2)エラー通知データ送信後のエラー通知データ受信、または通信エラーデータ受信処理
(A3)これらのエラー通知データ送受信処理が実行されたことを条件として初期状態SA0に戻る処理を実行する。
一方エンティティBは、
(B1)エラー通知データ送信処理、
(B2)エラー通知データ送信処理を実行したことを条件として初期状態SA0に戻る処理を実行する。
図9のシーケンスにおいても、エンティティBは、上記B1,B2の処理を実行し、エンティティAが初期状態SA0に戻った時には、エンティティBも初期状態SB0に戻っており、この時点でデータ処理(TR)が初期状態から再開されることになるので、確実に内部状態を同期させたエラー回復が可能となる。
[エラー通知データの通信エラーに対する処理例]
図6〜図9を参照して説明した処理シーケンスは、エンティティAとエンティティB間の送受信されるエラー通知データの送信エラーの発生を考慮していないが、エラー通知データに送信エラーが発生した場合も、エンティティAは、図4に示すフローチャートに従った処理を実行し、エンティティBは、図5に示すフローチャートに従った処理を実行することで、双方が同期して初期状態に戻り、データ処理(TR)を初期状態から再開することができる。
以下、エラー通知データに送信エラーが発生した場合について説明する。エラー通知データにエラーが発生する場合には、図4のフローチャートにおけるステップS301とステップS302のエラー通知データと、図5のフローチャートにおけるステップS321のエラー通知データの転送時のエラーがある。
まず、図4のステップS301、S302のエラー通知データのエラー発生時の処理について説明する。図4に示すフローにおいて、エラー通知データに通信エラーが発生する場合は、以下の三通りに分類できる。
(1)ステップS301において送信したデータに、通信エラーが発生した場合
(2)ステップS302において受信したデータに、通信エラーが発生した場合
(3)(1)、(2)が共に生じる場合
まず(1)ステップS301において送信したデータに、通信エラーが発生した場合の処理について説明する。ステップS301において、エンティティAが送信するデータはエラー通知データである。したがって、このデータに通信エラーが発生した場合、エンティティBは、図3の処理フローにおけるステップS225において実行する受信データの正当性検証(例えばパリティまたはチェックサムに基づく検証)処理において、受信データの正当性がないと判定し、通信エラーが発生したと判断する。
この判断に従って、エンティティBは、図3の処理フローにおけるステップS230のエラー処理に移る。通信エラーが発生していなかった場合は、エラー通知データであると判断し、正常なエラー処理を実行する。
したがって、いずれの場合も、エンティティBは、図5のフローに示すエラー処理を開始することになり、図5のステップS321のエラー通知処理を実行し、エンティティAは、図4のステップS302のエラー通知受信を行なうことになるので、正常なエラー処理が実行されることになり、双方のエンティティが同期して初期状態に戻ってデータ処理を再開することができる。
次に、(2)ステップS302において受信したデータに、通信エラーが発生した場合について考察する。ステップS302を実行する時点で、エンティティAはすでに、ステップS301においてエラー通知データをエンティティBに対して送信しており、エンティティAは、エンティティBから必ずエラー通知データが戻ってくると予測している。本発明のエラー処理シーケンスでは、エンティティAがエラー通知データを送信後、エンティティBからエラー通知データが戻るシーケンスが規定されているためである。
従って、エンティティAは、エンティティBからの受信データがエラー通知であると確認されない場合でも、初期状態SA0に戻る処理を実行する。この時点で、エンティティBは、図5に示すステップS321〜S322の処理によって、初期状態SB0へと戻っており、双方のエンティティが同期して初期状態に戻ってデータ処理を再開することができる。
最後に、(3)(1)、(2)が共に生じる場合、すなわち、図4のステップS301、S302のエラー通知データの転送において共にエラーが発生した場合の処理について考察する。
この処理は、上述の
(1)ステップS301において送信したデータに、通信エラーが発生した場合
(2)ステップS302において受信したデータに、通信エラーが発生した場合
の処理の組み合わせにすぎず、エンティティA,Bはそれぞれ図4、図5に示す処理に従って、処理を実行し、初期状態に戻って処理を再開することになる。
すなわち、まず、ステップS301において送信したデータに、通信エラーが発生した場合エンティティBは、図3に示すステップS525の受信データの正当性判定処理においてエラーを検出してエラー処理が開始し、図5のフローのステップS321、S322を実行して初期状態SB0に戻る。
次に、図4のステップS302における送信データに、通信エラーが発生した場合、エンティティAはすでに、ステップS301においてエラー通知データをエンティティBに対して送信ずみであることからエンティティBから必ずエラー通知データが戻ってくると予測し、エンティティBからの受信データがあった場合は、エラー通知であっても、エラー通知であることが確認されない場合であっても、図4に示すステップS303の初期状態復帰処理を実行して、初期状態SA0に戻る処理を実行する。この結果、双方のエンティティが同期して初期状態に戻ってデータ処理を再開することができる。
次に、図5のエンティティB側の処理フローにおけるエラー通知データの転送におけるエラー発生時の処理について説明する。すなわち、図5の処理フローのステップS321のエンティティBからエンティティAに対するエラー通知データにエラーが発生した場合である。
これは、図4のステップS302のエラー通知データの転送に相当する処理であり、上述した(2)ステップS302において受信したデータに、通信エラーが発生した場合についての処理と全く同様となる。
すなわち、ステップS302を実行する時点で、エンティティAはすでに、ステップS301においてエラー通知データをエンティティBに対して送信しており、エンティティAは、エンティティBから必ずエラー通知データが戻ってくると予測しているため、エンティティAはエンティティBからの受信データがあった場合は、エラー通知と確認された場合でも、エラー通知であることが確認されない場合であっても、図4に示すステップS303の初期状態復帰処理を実行して、初期状態SA0に戻る処理を実行する。
一方、エンティティBは、図5に示すステップS321を実行しており、その後、ステップS322において初期状態SB0へ戻る処理を実行することになるので、この結果、双方のエンティティが同期して初期状態に戻ってデータ処理を再開することができる。
[情報処理装置の構成]
上述したデータ通信およびデータ処理を実行する情報処理装置の構成例について、図10を参照して説明する。上述した処理を実行するエンティティは、データ通信可能な情報処理装置、例えばPC、携帯端末、あるいはICカードなどの装置によって構成可能である。あるいはPC内に構成された1つの情報処理部とその他の情報処理部とがバスを介して通信する場合に、上述の処理を実行することも可能であり、この場合には、各情報処理部が、上述のエンティティA、エンティティBの役割を果たすことになる。
図10には、エンティティを構成する1つの設定例として、2つの情報処理装置110,120を示した。情報処理装置110、120、は例えばPCによって構成される。情報処理装置110は、データ処理部111、通信部112、エラー検出部113、記憶部114を有する。情報処理装置110と通信を実行する情報処理装置120も、データ処理部121、通信部122、エラー検出部123、記憶部124を有する。
情報処理装置110、情報処理装置120は同様の構成であり、情報処理装置110の構成を代表して説明する。データ処理部111は、CPU等によって構成され、所定のプログラムに従ったデータ処理を実行する。データ処理用のプログラムは記憶部114に格納され、CPUは、プログラムに従って処理を、予め設定された処理シーケンスに従ってデータ処理を実行する。先に図2、図3を参照して説明したデータ処理、さらに、図4、図5を参照して説明したエラー処理、初期状態復帰処理等の各種のデータ処理シーケンスを規定したプログラムが記憶部114に格納され、このプログラムに従って処理を実行する。
通信部112は、情報処理装置20との通信を実行する。なお、通信は、例えばインターネット、LAN等のローカルネットワーク、ケーブル、バスなど様々な通信手段が適用可能である。エラー検出部113は、前述したようにパリティ、チェックサムなどに基づく通信データの正当性検証の他、内部処理として実行されるデータ算出処理についてのエラー検出も実行する。これらのエラー検出もまた、記憶部114に格納されたプログラムに従って処理が実行される。
なお、図には、データ処理部111、エラー検出部113として区別して示してあるが、これは、情報処理装置の機能を説明するために区分して示しているものであり、実際の処理構成としては、1つのCPUを適用して様々なデータ処理、エラー検出処理を実行する構成とすることができる。
情報処理装置110、120は、各々いずれか一方が上述したエンティティAとしてデータ処理を実行し、他方がエンティティBとしてデータ処理を実行する。エンティティAは、図2に示すフローチャートに従ったデータ処理を実行するとともに、図4に示すフローチャートに従ったエラー処理を実行する。また、エンティティBは、図3に示すフローチャートに従ったデータ処理を実行するとともに、図5に示すフローチャートに従ったエラー処理を実行する。
これらの処理を実行することにより、様々な態様でのエラーの発生、すなわち、
(1)エンティティAのデータ処理(内部処理)ITRAiでのエラー発生
(2)エンティティBのデータ処理(内部処理)ITRBiでのエラー発生
(3)エンティティAからエンティティBに対する通信データData2i−1でのエラー発生
(4)エンティティBからエンティティAに対する通信データData2iでのエラー発生
これらのいずれのエラーが発生した場合であっても、双方のエンティティが同期して初期状態に戻ることができ、データ処理の再開を確実に実行することが可能となる。
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
例えば、プログラムは記録媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウェアとして提供することができる。
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
以上、説明したように、本発明の構成によれば、内部データ処理を行なうとともに相互にデータ通信を実行する複数のエンティティ(情報処理部)から構成される情報処理システムにおいて、第1のエンティティが、エラー検出に基づいて、エラー通知データを送信し、該エラー通知データの送信後のデータ受信を条件として初期状態復帰処理を実行するとともに、第2のエンティティがエラー検出に基づいて、エラー通知データを送信し、該エラー通知データの送信処理の実行を条件として初期状態復帰処理を実行する構成としたので、双方のエンティティが確実に同期して初期状態に復帰することが可能となり、確実なエラー回復、データ処理再開が実現され、データ通信を伴うデータ処理を実行する様々なシステムにおいて適用可能である。
さらに、本発明の構成によれば、エンティティA,B間でデータ通信を伴うデータ処理を実行する構成において、
(1)エンティティAのデータ処理(内部処理)でのエラー発生
(2)エンティティBのデータ処理(内部処理)でのエラー発生
(3)エンティティAからエンティティBに対する通信データでのエラー発生
(4)エンティティBからエンティティAに対する通信データでのエラー発生
これらの異なる態様でのエラー発生において、エンティティAが、エラー検出に基づいて、エラー通知データを送信し、該エラー通知データの送信後のデータ受信を条件として初期状態復帰処理を実行し、エンティティBがエラー検出に基づいて、エラー通知データを送信し、該エラー通知データの送信処理の実行を条件として初期状態復帰処理を実行する構成により、双方のエンティティが確実に同期して初期状態に復帰することが可能となり、確実なエラー回復、データ処理再開が実現され、データ通信を伴うデータ処理を実行する様々なシステムにおいて適用可能である。
エンティティA,B間におけるデータ通信を伴うデータ処理手順について説明するシーケンス図である。 エンティティA,B間におけるデータ通信を伴うデータ処理において、エンティティAの実行する処理について説明するフローチャートを示す図である。 エンティティA,B間におけるデータ通信を伴うデータ処理において、エンティティBの実行する処理について説明するフローチャートを示す図である。 エンティティA,B間におけるデータ通信を伴うデータ処理において、エンティティAの実行するエラー処理について説明するフローチャートを示す図である。 エンティティA,B間におけるデータ通信を伴うデータ処理において、エンティティBの実行するエラー処理について説明するフローチャートを示す図である。 エンティティA,B間におけるデータ通信を伴うデータ処理において、エンティティAのデータ処理(内部処理)でエラーが発生した場合の処理について説明するシーケンス図である。 エンティティA,B間におけるデータ通信を伴うデータ処理において、エンティティBのデータ処理(内部処理)でエラーが発生した場合の処理について説明するシーケンス図である。 エンティティA,B間におけるデータ通信を伴うデータ処理において、エンティティAの送信データに通信エラーが発生した場合の処理について説明するシーケンス図である。 エンティティA,B間におけるデータ通信を伴うデータ処理において、エンティティAの送信データに通信エラーが発生した場合の処理について説明するシーケンス図である。 エンティティA,B間におけるデータ通信を伴うデータ処理を実行する情報処理装置の構成例について説明する図である。
符号の説明
110 情報処理装置
111 データ処理部
112 通信部
113 エラー検出部
114 記憶部
120 情報処理装置
121 データ処理部
122 通信部
123 エラー検出部
124 記憶部

Claims (12)

  1. 相互にデータ通信を実行するともに、通信データを適用したデータ処理を実行する第1情報処理部と第2情報処理部を有する情報処理システムであり、
    前記第1情報処理部は、前記第2情報処理部からの受信データを適用したデータ処理を実行して、データ処理結果を前記第2情報処理部に送信する処理を実行するとともに、データ処理エラーおよび前記第2情報処理部からの受信データのエラー検出を実行し、エラー検出に基づいて、エラー通知データを前記第2情報処理部に送信し、該エラー通知データの送信後の前記第2情報処理部からのデータ受信を条件として初期状態復帰処理を実行し、
    前記第2情報処理部は、前記第1情報処理部からの受信データを適用したデータ処理を実行して、データ処理結果を前記第1情報処理部に送信する処理を実行するとともに、データ処理エラーおよび前記第1情報処理部からの受信データのエラー検出を実行し、エラー検出に基づいて、エラー通知データを前記第1情報処理部に送信し、該エラー通知データの送信処理の実行を条件として初期状態復帰処理を実行する第2情報処理部と、
    を有することを特徴とする情報処理システム。
  2. 前記第1情報処理部および前記第2情報処理部は、交互にデータ送受信を実行する構成であり、前記第1情報処理部および前記第2情報処理部は、受信データのエラー検出処理においてエラーが検出されない場合に内部でのデータ処理に移行し、エラーが検出された場合にはエラー通知データの送信処理を実行する構成であることを特徴とする請求項1に記載の情報処理システム。
  3. 前記第1情報処理部は、
    前記第2情報処理部に対するエラー通知データ送信後、前記第2情報処理部から受信するデータがエラー通知データであることが確認された場合、または通信エラーデータであることが確認された場合、いずれの場合においても初期状態復帰処理を実行する構成であることを特徴とする請求項1に記載の情報処理システム。
  4. 前記第2情報処理部は、
    自己の実行する内部データ処理におけるエラー発生、または、前記第1情報処理部からの受信データの通信エラーの発生を検知し、該エラー検知に基づいて、エラー通知データを送信し、該エラー通知データの送信を条件として初期状態復帰処理を実行する構成であることを特徴とする請求項1に記載の情報処理システム。
  5. 通信相手装置と相互にデータ通信を実行するともに、通信データを適用したデータ処理を実行する情報処理装置であり、
    前記通信相手装置からの受信データを適用したデータ処理を実行するデータ処理部と、
    前記データ処理部におけるデータ処理結果を前記通信相手装置に送信する通信部と、
    自己の実行する内部データ処理におけるエラー発生、および前記通信相手装置からの受信データの通信エラーの発生を検知するエラー検出部を有し、
    前記通信部は、エラー検知に基づいて、エラー通知データを前記通信相手装置に送信し、
    前記データ処理部は、エラー通知データ送信後の前記通信相手装置からのデータ受信を条件として初期状態復帰処理を実行することを特徴とする情報処理装置。
  6. 前記情報処理装置は、
    通信相手装置に対するエラー通知データ送信後に、前記通信相手装置から受信するデータがエラー通知データであることが確認された場合、または通信エラーデータであることが確認された場合、いずれの場合においても初期状態復帰処理を実行する構成であることを特徴とする請求項5に記載の情報処理装置。
  7. 通信相手装置と相互にデータ通信を実行するともに、通信データを適用したデータ処理を実行する情報処理装置であり、
    前記通信相手装置からの受信データを適用したデータ処理を実行するデータ処理部と、
    前記データ処理部におけるデータ処理結果を前記通信相手装置に送信する通信部と、
    自己の実行する内部データ処理におけるエラー発生、および前記通信相手装置からの受信データの通信エラーの発生を検知するエラー検出部を有し、
    前記通信部は、エラー検知に基づいて、エラー通知データを前記通信相手装置に送信し、
    前記データ処理部は、前記エラー通知データの送信を条件として初期状態復帰処理を実行することを特徴とする情報処理装置。
  8. 情報処理装置において、通信相手装置と相互にデータ通信を実行するともに、通信データを適用したデータ処理を実行する情報処理方法であり、
    データ処理部が、前記通信相手装置からの受信データを適用したデータ処理を実行するデータ処理ステップと、
    通信部が、前記データ処理部におけるデータ処理結果を前記通信相手装置に送信する通信ステップと、
    エラー検出部が、自己の実行する内部データ処理におけるエラー発生、および前記通信相手装置からの受信データの通信エラーの発生を検出するエラー検出ステップと、
    前記通信部が、前記エラー検出ステップにおけるエラー検出を条件として、エラー通知データを前記通信相手装置に送信するエラー通知データ送信ステップと、
    前記データ処理部が、エラー通知データ送信後の前記通信相手装置からのデータ受信を条件として初期状態復帰処理を実行する初期状態復帰ステップと、
    を有することを特徴とする情報処理方法。
  9. 前記初期状態復帰ステップは、
    通信相手装置に対するエラー通知データ送信後に、前記通信相手装置から受信するデータがエラー通知データであることが確認された場合、または通信エラーデータであることが確認された場合、いずれの場合においても初期状態復帰処理を実行することを特徴とする請求項8に記載の情報処理方法。
  10. 情報処理装置において、通信相手装置と相互にデータ通信を実行するともに、通信データを適用したデータ処理を実行する情報処理方法であり、
    データ処理部が、前記通信相手装置からの受信データを適用したデータ処理を実行するデータ処理ステップと、
    通信部が、前記データ処理部におけるデータ処理結果を前記通信相手装置に送信する通信ステップと、
    エラー検出部が、自己の実行する内部データ処理におけるエラー発生、および前記通信相手装置からの受信データの通信エラーの発生を検出するエラー検出ステップと、
    前記通信部が、前記エラー検出ステップにおけるエラー検出を条件として、エラー通知データを前記通信相手装置に送信するエラー通知データ送信ステップと、
    前記データ処理部が、前記エラー通知データの送信を条件として初期状態復帰処理を実行する初期状態復帰ステップと、
    を有することを特徴とする情報処理方法。
  11. 情報処理装置において、通信相手装置と相互にデータ通信を実行させるともに、通信データを適用したデータ処理をコンピュータ上で実行させるコンピュータ・プログラムであり、
    データ処理部に、前記通信相手装置からの受信データを適用したデータ処理を実行させるデータ処理ステップと、
    通信部に、前記データ処理部におけるデータ処理結果を前記通信相手装置に送信させる通信ステップと、
    エラー検出部に、自己の実行する内部データ処理におけるエラー発生、および前記通信相手装置からの受信データの通信エラーの発生を検出させるエラー検出ステップと、
    前記通信部に、前記エラー検出ステップにおけるエラー検出を条件として、エラー通知データを前記通信相手装置に送信させるエラー通知データ送信ステップと、
    前記データ処理部に、エラー通知データ送信後の前記通信相手装置からのデータ受信を条件として初期状態復帰処理を実行させる初期状態復帰ステップと、
    を有することを特徴とするコンピュータ・プログラム。
  12. 情報処理装置において、通信相手装置と相互にデータ通信を実行させるともに、通信データを適用したデータ処理をコンピュータ上で実行させるコンピュータ・プログラムであり、
    データ処理部に、前記通信相手装置からの受信データを適用したデータ処理を実行させるデータ処理ステップと、
    通信部に、前記データ処理部におけるデータ処理結果を前記通信相手装置に送信させる通信ステップと、
    エラー検出部に、自己の実行する内部データ処理におけるエラー発生、および前記通信相手装置からの受信データの通信エラーの発生を検出させるエラー検出ステップと、
    前記通信部に、前記エラー検出ステップにおけるエラー検出を条件として、エラー通知データを前記通信相手装置に送信させるエラー通知データ送信ステップと、
    前記データ処理部に、前記エラー通知データの送信を条件として初期状態復帰処理を実行させる初期状態復帰ステップと、
    を有することを特徴とするコンピュータ・プログラム。
JP2004343361A 2004-11-29 2004-11-29 情報処理装置、情報処理システム、および情報処理方法、並びにコンピュータ・プログラム Expired - Fee Related JP4474266B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2004343361A JP4474266B2 (ja) 2004-11-29 2004-11-29 情報処理装置、情報処理システム、および情報処理方法、並びにコンピュータ・プログラム
PCT/JP2005/020934 WO2006057180A1 (ja) 2004-11-29 2005-11-15 情報処理装置、情報処理システム、及び情報処理方法、並びにコンピュータ・プログラム
EP05806945.1A EP1819086B1 (en) 2004-11-29 2005-11-15 Information processing device, information processing system, information processing method, and computer program
CN2005800474647A CN101112032B (zh) 2004-11-29 2005-11-15 信息处理装置、信息处理系统和信息处理方法以及计算机程序
US11/791,175 US8055953B2 (en) 2004-11-29 2005-11-15 Information processing apparatus, information processing system, information processing method and computer program
TW094141621A TW200644483A (en) 2004-11-29 2005-11-25 Information processing apparatus, information processing system, and method of processing information, and computer program
HK08107714.2A HK1117668A1 (en) 2004-11-29 2008-07-14 Information processing device, information processing system, information processing method, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004343361A JP4474266B2 (ja) 2004-11-29 2004-11-29 情報処理装置、情報処理システム、および情報処理方法、並びにコンピュータ・プログラム

Publications (2)

Publication Number Publication Date
JP2006157328A JP2006157328A (ja) 2006-06-15
JP4474266B2 true JP4474266B2 (ja) 2010-06-02

Family

ID=36497918

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004343361A Expired - Fee Related JP4474266B2 (ja) 2004-11-29 2004-11-29 情報処理装置、情報処理システム、および情報処理方法、並びにコンピュータ・プログラム

Country Status (7)

Country Link
US (1) US8055953B2 (ja)
EP (1) EP1819086B1 (ja)
JP (1) JP4474266B2 (ja)
CN (1) CN101112032B (ja)
HK (1) HK1117668A1 (ja)
TW (1) TW200644483A (ja)
WO (1) WO2006057180A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5576212B2 (ja) * 2010-08-23 2014-08-20 ラピスセミコンダクタ株式会社 情報処理装置、通信システム、情報処理方法、プログラム及び照射装置
CA2823346A1 (en) * 2010-12-30 2012-07-05 Ambientz Information processing using a population of data acquisition devices
JP2017183905A (ja) * 2016-03-29 2017-10-05 Necプラットフォームズ株式会社 通信装置、通信障害復旧方法および通信障害復旧プログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4970714A (en) * 1989-01-05 1990-11-13 International Business Machines Corp. Adaptive data link protocol
JP2693339B2 (ja) * 1992-03-04 1997-12-24 富士通株式会社 データ圧縮・復元処理における誤り制御処理方式
JPH06311144A (ja) * 1993-04-21 1994-11-04 Mitsubishi Electric Corp 通信制御方法
US5544304A (en) * 1994-03-25 1996-08-06 International Business Machines Corporation Fault tolerant command processing
US6098179A (en) * 1998-01-22 2000-08-01 Digital Equipment Corporation Method and apparatus for performing error detection
JP3866426B2 (ja) * 1998-11-05 2007-01-10 日本電気株式会社 クラスタ計算機におけるメモリ障害処理方法及びクラスタ計算機
US6615376B1 (en) * 1998-11-19 2003-09-02 X/Net Associates, Inc. Method and system for external notification and/or resolution of software errors
JP2002536873A (ja) * 1999-01-29 2002-10-29 ノキア ネットワークス オサケ ユキチュア データブロックを合成できる増分的冗長度通信システムにおけるシグナリング方法
FI112753B (fi) * 2000-04-10 2003-12-31 Nokia Corp Menetelmä ja järjestely synkronoinnin säilyttämiseksi tiedonsiirtoyhteyden resetoinnin yhteydessä
US7236740B2 (en) * 2000-07-05 2007-06-26 Samsung Electronics Co., Ltd. Data retransmission apparatus and method in a mobile communication system employing HARQ technique
JP2004326388A (ja) 2003-04-24 2004-11-18 Konica Minolta Photo Imaging Inc 写真プリント作成システム及び該システムの制御方法

Also Published As

Publication number Publication date
EP1819086A1 (en) 2007-08-15
EP1819086A4 (en) 2012-08-08
CN101112032B (zh) 2011-08-03
HK1117668A1 (en) 2009-01-16
EP1819086B1 (en) 2013-12-25
US8055953B2 (en) 2011-11-08
US20080256401A1 (en) 2008-10-16
CN101112032A (zh) 2008-01-23
WO2006057180A1 (ja) 2006-06-01
TW200644483A (en) 2006-12-16
JP2006157328A (ja) 2006-06-15
TWI307586B (ja) 2009-03-11

Similar Documents

Publication Publication Date Title
US9292036B2 (en) Data processing apparatus and method for communicating between a master device and an asynchronous slave device via an interface
JP4327764B2 (ja) データ受信装置および同期信号検出方法ならびにプログラム
US8566632B2 (en) Multi-rate sampling for network receiving nodes using distributed clock synchronization
EP3458962B1 (en) Communication device and communication system
JP2020099052A (ja) スレーブノード、スレーブノードとマスターノードとの間の通信を同期する方法、およびスレーブノードの制御構成要素
EP1845651B1 (en) Method and apparatus for controlling transmission frequency in serial advanced technology attachment
JP4474266B2 (ja) 情報処理装置、情報処理システム、および情報処理方法、並びにコンピュータ・プログラム
EP4277206A1 (en) Securing network access using dynamically generated baud-rates
KR102118254B1 (ko) LoRa 기반 멀티 홉 통신 프로토콜 장치 및 방법
US8438445B2 (en) Methods and systems for error detection of data transmission
JP2004178074A (ja) 通信デバイス、ホスト装置、及び通信方法
KR100597436B1 (ko) 무선 1394 시스템의 사이클 타임 동기화 장치 및 그 방법
JP4157064B2 (ja) 同期開始信号検出装置、その検出方法、及びそのプログラム
JP2004064616A (ja) ボーレート設定方法、ボーレート設定プログラム、可読記録媒体、通信システムおよび通信方法
JP5334173B2 (ja) データ転送システム及びリトライ制御方法
JP5299443B2 (ja) I2cバス通信制御システム、及びi2cバス通信制御方法
US20220329519A1 (en) Packet transmission method and electronic device
WO2019176580A1 (ja) 通信装置、通信方法、プログラム、および、通信システム
JP2006332984A (ja) 通信システムおよび通信方法
CN117573586A (zh) 单线通讯的方法、装置及系统
CN115982087A (zh) 信号传输方法、计算机设备和存储介质
JP2006067145A (ja) 全2重の3線同期式シリアル通信方法およびその装置
US20040101078A1 (en) Synchronization control method for electronic device
JP2009118315A (ja) 通信システム、送信装置、受信装置、通信装置及び半導体装置並びに通信方式
JPH11234364A (ja) 通信制御方法及び通信モジュール

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090707

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090828

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100223

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100308

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130312

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4474266

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130312

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140312

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees