(57)【要約】例えば電力の中断に起因する装置の障害に対して保護を与えることにより装置間の通信の信頼性を向上させるための方法及び通信システム。通信装置間において送信される通信プリミティブ内に付加的データが包含されている。この付加的データはその付加的データを発生した装置の状態データに関係している。該付加的データは、該状態データをチェックするために使用される。該状態データは、又、他の装置からの付加的データを受取るとその付加的データから派生させることも可能である。【選択図】図３ａ
2004505354.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも第一装置（２）と第二装置（１０，２６）との間で通信する方法において、
前記第一装置（２）が第一プロセッサ（６）と、第一メモリ手段（４）と、第一入力／出力手段（８）とを有しており、前記第一メモリ手段（４）及び第一入力／出力手段（８）が前記第一プロセッサ（６）へ結合しており、
前記第二装置（１０，２６）が第二プロセッサ（１６；３０）と、第二メモリ手段（１８；３２）と、第二入力／出力手段（１４；２８）とを有しており、前記第二メモリ手段（１８；３２）及び第二入力／出力手段（１４；２８）が前記第二プロセッサ（１６；３０）へ結合しており、
本方法が、少なくとも、前記第一プロセッサ（６）によって実施される以下のステップ、
ａ　所定の第一プログラムに従って第一プログラムステップを実施し、
ｂ　前記第一プログラムステップを実施した後に前記第一プログラムに関連する第一状態データを確立し、
ｃ　前記第一状態データとの第一所定関係を有する第一付加的データを包含する第一通信プリミティブを前記第一プログラムに従って送信し、
続いて、前記第二プロセッサ（１６；３０）による以下のステップ、
ｄ　前記第一通信プリミティブを受取り、
ｅ　前記第一通信プリミティブから前記第一付加的データを抽出し且つ前記第一付加的データを前記第二メモリ手段（１８；３２）内に格納し、
ｆ　第二プログラムに従って第二プログラムステップを実施し、
ｇ　前記第二メモリから前記第一付加的データを読取り、
ｈ　前記第一付加的データとの第二所定関係を有する第二付加的データを包含する第二通信プリミティブを前記第一装置（２）へ前記第二プログラムに従って送信し、
続いて、前記第一プロセッサ（６）によって実施される以下のステップ、
ｉ　前記第二通信プリミティブを受取り、
ｊ　前記第二通信プリミティブから前記第二付加的データを抽出し且つ前記第二付加的データから前記第一付加的データを派生し、
ｋ　前記派生した第一付加的データが前記第一状態データとの前記第一所定関係を有しているか否かをチェックし、有していない場合には、前記第一プログラムを終了させるか又は回復処理を開始させ、有している場合には、継続して処理を行い、
ｌ　前記第一プログラムに従って第三プログラムステップを実施する、
ことを包含している方法。
【請求項２】
請求項１において、ステップｌの後に以下のステップ、
ｍ　前記第三プログラムステップを実施した後に前記第一プログラムに関係する第二状態データを確立し、
ｎ　前記第一及び前記第二状態データの両方との第三所定関係を有している第三付加的データを包含する第三通信プリミティブを前記第二装置（１０；２６）ヘ前記第一プログラムに従って送信する、
ことを包含している方法。
【請求項３】
少なくとも第一装置（２）と第二装置（１０；２６）との間で通信を行う方法において、
前記第一装置（２）が第一プロセッサ（６）と、第一メモリ手段（４）と、第一入力／出力手段（８）とを有しており、前記第一メモリ手段（４）及び第一入力／出力手段（８）が前記第一プロセッサ（６）へ結合しており、
前記第二装置（１０；２６）が第二プロセッサ（１６；３０）と、第二メモリ手段（１８；３２）と、第二入力／出力手段（１４；２８）とを有しており、前記第二メモリ手段（１８；３２）及び第二入力／出力手段（１４；２８）が前記第二プロセッサ（１６；３０）へ結合しており、
本方法が、少なくとも前記第一プロセッサ（６）により実施される以下のステップ、
ａ　所定の第一プログラムに従って第一プログラムステップを実施し、
ｂ　前記第一プログラムステップを実施した後に前記第一プログラムに関係する第一状態データを確立し、
ｃ　前記第一状態データとの第一所定関係を有する第一付加的データを包含する第一通信プリミティブを前記第一プログラムに従って送信し、
次いで、前記第二プロセッサ（１６；３０）によって以下のステップ、
ｄ　前記第一通信プリミティブを受取り、
ｅ　前記第一通信プリミティブから前記第一付加的データを抽出し且つ前記第一付加的データを前記第二メモリ手段（１８；３２）内に格納し、
ｆ　第二プログラムに従って第二プログラムステップを実施し且つ前記第二プログラムステップを実施した後に前記第二プログラムに関係する第二状態データを確立し、
ｇ　前記第二メモリから前記第一付加的データを読取り、
ｈ　前記第一付加的データと第二所定関係を有する第二付加的データ及び前記第二状態データと第三所定関係を有する第三付加的データを包含する第二通信プリミティブを前記第一装置（２）へ前記第二プログラムに従って送信し、
次いで、前記第一プロセッサ（６）によって実施される以下のステップ、
ｉ　前記第二通信プリミティブを受取り、
ｊ　前記第二通信プリミティブから前記第二及び第三付加的データを抽出し、前記第三付加的データを前記第一メモリ手段（４）内に格納し且つ前記第二付加的データから前記第一付加的データを派生し、
ｋ　前記派生した第一付加的データが前記第一状態データとの前記第一所定関係を有しているか否かをチェックし、有していない場合には、前記第一プログラムを終了するか又は回復処理を開始し、有している場合には、継続して処理を行い、
ｌ　前記第一プログラムに従って第三プログラムステップを実施し且つ前記第三プログラムステップを実施した後に前記第一プログラムに関係する第三状態データを確立し、
ｍ　前記第一メモリ手段（４）から前記第三付加的データを読取り、
ｎ　前記第三付加的データとの第四所定関係を有している第四付加的データ及び前記第三状態データとの第五所定関係を有している第五付加的データを包含している第三通信プリミティブを前記第二装置（１０；２６）へ前記第一プログラムに従って送信し、
次いで、前記第二プロセッサ（１６；３０）によって実施される以下のステップ、
ｏ　前記第三通信プリミティブを受取り、
ｐ　前記第三通信プリミティブから前記第四及び第五付加的データを抽出し、前記第五付加的データを前記第二メモリ手段（１８；３２）内に格納し且つ前記第四付加的データから前記第三付加的データを派生し、
ｑ　前記派生した第三付加的データが前記第二状態データとの前記第三所定関係を有しているか否かをチェックし、有していない場合には、前記第二プログラムを終了するか又は回復処理を開始し、有している場合には、継続して処理を行い、
ｒ　前記第二プログラムに従って第四プログラムステップを実施する、
ことを包含している方法。
【請求項４】
請求項３において、ステップｎが以下の特徴、
ｎ　前記第四付加的データ及び前記第一及び前記第三状態データの両方との第五所定関係を有している第五付加的データを包含する第三通信プリミティブを前記第二装置（１０；２６）へ前記第一プログラムに従って送信する、
ことを包含している方法。
【請求項５】
先行する請求項のうちのいずれかにおいて、前記ステップｃが以下のサブステップ、
ｃ１　中央メモリ（３４）へ前記第一プログラムに従って前記第一状態データとの第一所定関係を有する付加的データを包含する第一通信プリミティブを送信し、
ｃ２　前記第一通信プリミティブを前記中央メモリ（３４）内に格納し、
を有しており、且つステップｄが以下のサブステップ、
ｄ１　前記中央メモリ（３４）が前記第一通信プリミティブを格納しているか否かをチェックし、格納していない場合には、ステップｄ１を繰返し、格納している場合には、継続してステップｄ２を行い、
ｄ２　前記中央メモリ（３４）から前記第一通信プリミティブを読取り、
ｄ３　前記中央メモリ（３４）から前記第一通信プリミティブを除去する、
ことを包含している方法。
【請求項６】
請求項１乃至４のうちのいずれかにおいて、前記ステップｃが以下のサブステップ、
ｃ１　中央メモリ（３４）へ前記第一プログラムに従って前記第一状態データとの第一所定関係を有している付加的データを包含する第一通信プリミティブを送信し、
ｃ２　前記中央メモリ（３４）内に前記第一通信プリミティブを格納する、
ことを包含しており、且つステップｄが以下のサブステップ、
ｄ１　前記中央メモリ（３４）が前記第一通信プリミティブを格納したか否かをチェックし、格納していない場合には、ステップｄ１を繰返し、格納している場合には、継続してステップｄ２を行い、
ｄ２　前記中央メモリ（３４）から前記第一通信プリミティブを読取り、
ｄ３　前記第二装置（１０；２６）によって前記第一通信プリミティブが読取られたことの表示を前記中央メモリ（３４）内の前記第一通信プリミティブヘ付加する、
ことを包含している方法。
【請求項７】
先行する請求項のうちのいずれかにおいて、少なくとも前記第一及び第二通信プリミティブが前記第一及び第二通信プリミティブが前記第一付加的データを包含していることを表示する表示データを有している方法。
【請求項８】
先行する請求項のうちのいずれかにおいて、前記第一関係が、単独で又は組合わせて、以下の方法：第一暗号化方法を適用すること、第一暗号ハッシュ関数を適用すること、及びワンタイムパッド関数での第一暗号化を適用すること、のうちの１つ又はそれ以上を使用することに基づいている方法。
【請求項９】
先行する請求項のうちのいずれかにおいて、前記第三関係が、単独で又は組合わせて、以下の方法：第二暗号化方法を適用すること、第二暗号ハッシュ関数を適用すること、及びワンタイムパッド関数での第二暗号化を適用すること、のうちの１つ又はそれ以上を使用することに基づいている方法。
【請求項１０】
少なくとも第一装置（２）と第二装置（１０；２６）とを有するシステムにおいて、
前記第一装置（２）が第一プロセッサ（６）と、第一メモリ手段（４）と、第一入力／出力手段（８）とを有しており、前記第一メモリ手段（４）及び第一入力／出力手段（８）が前記第一プロセッサ（６）へ結合しており、
前記第二装置（１０；２６）が第二プロセッサ（１６；３０）と、第二メモリ手段（１８；３２）と、第二入力／出力手段（１４；２８）とを有しており、前記第二メモリ手段（１８；３２）及び第二入力／出力手段（１４；２８）が前記第二プロセッサ（１６；３０）へ結合しており、
前記第一プロセッサ（６）が少なくとも以下のステップ、
ａ　所定の第一プログラムに従って第一プログラムステップを実施し、
ｂ　前記第一プログラムステップを実施した後に前記第一プログラムに関係する第一状態データを確立し、
ｃ　前記第一状態データとの第一所定関係を有する第一付加的データを包含する第一通信プリミティブを前記第一プログラムに従って送信する、
を実施すべく構成されており、前記第二プロセッサ（１６；３０）が、前記第一プロセッサ（６）がステップａ−ｃを実施した後に、以下のステップ、
ｄ　前記第一通信プリミティブを受取り、
ｅ　前記第一通信プリミティブから前記第一付加的データを抽出し且つ前記第一付加的データを前記第二メモリ手段（１８；３２）内に格納し、
ｆ　第二プログラムに従って第二プログラムステップを実施し、
ｇ　前記第二メモリから前記第一付加的データを読取り、
ｈ　前記第一付加的データとの第二所定関係を有する第二付加的データを包含する第二通信プリミティブを前記第一装置（２）へ前記第二プログラムに従って送信する、
を実施すべく構成されており、前記第一プロセッサ（６）は、又、前記第二プロセッサ（１６；３０）がステップｄ−ｈを実施した後に、以下のステップ、
ｉ　前記第二通信プリミティブを受取り、
ｊ　前記第二通信プリミティブから前記第二付加的データを抽出し且つ前記第二付加的データから前記第一付加的データを派生し、
ｋ　前記派生した第一付加的データが前記第一状態データとの前記第一所定関係を有しているか否かをチェックし、有していない場合には、前記第一プログラムを終了するか又は回復処理を開始し、有している場合には、継続して処理を行い、
ｌ　前記第一プログラムに従って第三プログラムステップを実施する、
ことを実施すべく構成されているシステム。
【請求項１１】
少なくとも第一装置（２）と第二装置（１０；２６）とを有するシステムにおいて、
前記第一装置（２）が第一プロセッサ（６）と、第一メモリ手段（４）と、第一入力／出力手段（８）とを有しており、前記第一メモリ手段（４）及び第一入力／出力手段（８）が前記第一プロセッサ（６）と結合しており、
前記第二装置（１０；２６）が第二プロセッサ（１６；３０）と、第二メモリ手段（１８；３２）と、第二入力／出力手段（１４；２８）とを有しており、前記第二メモリ手段（１８；３２）及び第二入力／出力手段（１４；２８）が前記第二プロセッサ（１６；３０）へ結合しており、
前記第一プロセッサ（６）は少なくとも以下のステップ、
ａ　所定の第一プログラムに従って第一プログラムステップを実施し、
ｂ　前記第一プログラムステップを実施した後に前記第一プログラムに関係する第一状態データを確立し、
ｃ　前記第一状態データとの第一所定関係を有する第一付加的データを包含する第一通信プリミティブを前記第一プログラムに従って送信する、
を実施すべく構成されており、前記第二プロセッサ（１６；３０）は、前記第一プロセッサ（６）がステップａ−ｃを実施した後に、以下のステップ、
ｄ　前記第一通信プリミティブを受取り、
ｅ　前記第一通信プリミティブから前記第一付加的データを抽出し且つ前記第一付加的データを前記第二メモリ手段（１８；３２）内に格納し、
ｆ　第二プログラムに従って第二プログラムステップを実施し且つ前記第二プログラムステップを実施した後に前記第二プログラムに関係する第二状態データを確立し、
ｇ　前記第二メモリから前記第一付加的データを読取り、
ｈ　前記第一付加的データとの第二所定関係を有する第二付加的データ及び前記第二状態データとの第三所定関係を有する第三付加的データを包含する第二通信プリミティブを前記第一装置（２）へ前記第二プログラムに従って送信する、を実施すべく構成されており、前記第一プロセッサ（６）は、又、前記第二プロセッサ（１６；３０）がステップｄ−ｈを実施した後に、以下のステップ、
ｉ　前記第二通信プリミティブを受取り、
ｊ　前記第二通信プリミティブから前記第二及び第三付加的データを抽出し、前記第三付加的データを前記第一メモリ手段（４）内に格納し且つ前記第二付加的データから前記第一付加的データを派生し、
ｋ　前記派生した第一付加的データが前記第一状態データとの前記第一所定関係を有しているか否かをチェックし、有していない場合には、前記第一プログラムを終了するか又は回復処理を開始し、有している場合には、継続して処理を行い、
ｌ　前記第一プログラムに従って第三プログラムステップを実施し且つ前記第三プログラムステップを実施した後に前記第一プログラムに関係する第三状態データを確立し、
ｍ　前記第一メモリ手段（４）から前記第三付加的データを読取り、
ｎ　前記第三付加的データとの第四所定関係を有している第四付加的データ及び前記第三状態データとの第五所定関係を有している第五付加的データを包含している第三通信プリミティブを前記第二装置（１０；２６）ヘ前記第一プログラムに従って送信する、
を実施すべく構成されており、前記第二プロセッサ（１６；３０）は、又、前記第一プロセッサ（６）がステップｉ−ｎを実施した後に、以下のステップ、
ｏ　前記第三通信プリミティブを受取り、
ｐ　前記第三通信プリミティブから前記第四及び第五付加的データを抽出し、前記第二メモリ手段（１８；３２）内に前記第五付加的データを格納し、前記第四付加的データから前記第三付加的データを派生し、
前記派生した第三付加的データが前記第二状態データとの前記第三所定関係を有しているか否かをチェックし、有していない場合には、前記プログラムを終了するか又は回復処理を開始し、有している場合には、継続して処理を行い、
ｒ　前記第二プログラムに従って第四プログラムステップを実施する、
を実施すべく構成されているシステム。
【請求項１２】
プロセッサ（６）と、メモリ手段（４）と、入力／出力手段（８）とを有している装置において、前記メモリ手段（４）及び入力／出力手段（８）が前記プロセッサ（６）ヘ結合しており、
前記プロセッサ（６）は少なくとも以下のステップ、
ａ　所定プログラムに従って第一プログラムステップを実施し、
ｂ　前記第一プログラムステップを実施した後に前記プログラムに関連する第一状態データを確立し、
ｃ　前記第一状態データと所定関係を有する第一付加的データを包含する第一通信プリミティブを前記プログラムに従って送信し、
ｄ　別の装置から第二通信プリミティブを受取り、
ｅ　前記第二通信プリミティブから第二付加的データを抽出し且つ前記第二付加的データから前記第一付加的データを派生し、
ｆ　前記派生した第一付加的データが前記状態データとの前記所定関係を有しているか否かをチェックし、有していない場合には、前記プログラムを終了するか又は回復処理を開始し、有している場合には、継続して処理を行い、
ｇ　前記プログラムに従って第二プログラムステップを実施する、
を実施すべく構成されている装置。
【請求項１３】
請求項１２において、前記プロセッサ（６）がステップｇの後に以下のステップ、
ｈ　前記第二プログラムステップを実施した後に前記プログラムに関係する第二状態データを確立し、
ｉ　前記第一及び前記第二状態データの両方と第三所定関係を有している第三付加的データを包含している第三通信プリミティブを前記第二装置（１０；２６）ヘ前記プログラムに従って送信する、
を実施すべく構成されている装置。
【請求項１４】
請求項１２又は１３において、前記装置がスマートカードである装置。
【請求項１５】
請求項１２−１４のうちのいずれかにおいて、前記プロセッサ（６）が、前記プロセッサ（６）へのパワーの中断及び回復の後に、以下のステップ、
前記第一プログラムによって実施される最後のプログラムステップに従って確立された最後の状態データと所定関係を有する少なくとも１個の通信プリミティブを他方の装置又は中央メモリ（３４）のいずれかから受取り、
前記最後のプログラムステップに続いて更なるプログラムステップで前記第一プログラムの稼動を再開する、
ことを実施すべく構成されている装置。
【請求項１６】
プロセッサ（６）と、メモリ手段（４）と、入力／出力手段（８）とを有するコンピュータ装置によって実施されるべきコンピュータの実行可能な命令を有するコンピュータプログラムプロダクトにおいて、前記メモリ手段（４）及び入力／出力手段（８）が前記プロセッサ（６）ヘ結合されており、前記コンピュータプログラムプロダクトは前記プロセッサ（６）が少なくとも以下のステップ、
ａ　前記プログラムに従って第一プログラムステップを実施すること、
ｂ　前記第一プログラムステップを実施した後に前記プログラムに関係する第一状態データを確立すること、
ｃ　前記第一状態データと所定関係を有している第一付加的データを包含している第一通信プリミティブを前記プログラムに従って送信すること、
ｄ　別の装置から第二通信プリミティブを受取ること、
ｅ　前記第二通信プリミティブから第二付加的データを抽出し且つ前記第二付加的データから前記第一付加的データを派生すること、
ｆ　前記派生した第一付加的データが前記状態データと前記所定関係を有しているか否かをチェックし、有していない場合には、前記プログラムを終了するか又は回復処理を開始し、有している場合には、継続して処理を行うこと、
ｇ　前記プログラムに従って第二プログラムステップを実施すること、
を実施することを許容するコンピュータプログラムプロダクト。
【請求項１７】
請求項１６において請求したコンピュータプログラムプロダクトが設けられているコンピュータ読取可能媒体。
【請求項１８】
プロセッサ（１６；３０）とメモリ手段（１８；３２）と、入力／出力手段（１４；２８）とを有している装置（１０；２６）において、前記メモリ手段（１８；３２）及び入力／出力手段（１４；２８）が前記プロセッサ（１６；３０）へ結合しており、
前記プロセッサ（１６；３０）は以下のステップ、
ａ　別の装置（２）から第一通信プリミティブを受取り、
ｂ　前記第一通信プリミティブが前記別の装置（２）上で稼動する第一プログラムに関係する状態データと第一所定関係を有している付加的データを有していることを認識し、
ｃ　前記第一通信プリミティブから前記付加的データを抽出し且つ前記付加的データを前記メモリ手段（１８；３２）内に格納し、
ｄ　第二プログラムに従ってプログラムステップを実施し、
ｅ　前記メモリから前記第一付加的データを読取り、
ｆ　前記第一付加的データと第二所定関係を有している第二付加的データを包含している第二通信プリミティブを前記別の装置（２）へ第二プログラムに従って送信する、
ことを実施すべく構成されている装置。
【請求項１９】
請求項１８において、前記装置がスマートカードと通信を行うべく構成されているターミナルである装置。
【請求項２０】
請求項１８又は１９において、前記プロセッサ（１６；３０）がステップａにおいて以下のサブステップ、
ａ１　中央メモリ（３４）が前記第一通信プリミティブを格納したか否かをチェックし、格納していない場合には、ステップａ１を繰返し、格納している場合には、継続してステップａ２を実施し、
ａ２　前記中央メモリ（３４）から前記第一通信プリミティブを読取り、
ａ３　前記中央メモリ（３４）から前記第一通信プリミティブを除去する、
ことを実施すべく構成されている装置。
【請求項２１】
請求項１８又は１９において、前記プロセッサ（１６；３０）がステップａにおいて以下のサブステップ、
ａ１　中央メモリ（３４）が前記第一通信プリミティブを格納したか否かをチェックし、格納していない場合には、ステップａ１を繰返し、格納している場合には、継続してステップａ２を実施し、
ａ２　前記中央メモリ（３４）から前記第一通信プリミティブを読取り、
ａ３　前記第一通信プリミティブが前記装置（１０；２６）によって読取られたことの表示を前記中央メモリ（３４）における前記第一通信プリミティブへ付加する、
ことを実施すべく構成されている装置。
【請求項２２】
プロセッサ（１６；３０）と、メモリ手段（１８；３２）と、入力／出力手段（１４；２８）とを有しているコンピュータ装置（１０；２６）によって実施されるべきコンピュータ実行可能命令を有しているコンピュータプログラムプロダクトにおいて、前記メモリ手段（１８；３２）及び入力／出力手段（１４；２８）が前記プロセッサ（１６；３０）へ結合しており、前記コンピュータプログラムプロダクトは、前記プロセッサ（６）が少なくとも以下のステップ、
ａ　別の装置（２）から第一通信プリミティブを受取ること、
ｂ　前記第一通信プリミティブが前記別の装置（２）上で稼動する第一プログラムに関係する状態データと所定第一関係を有している付加的データを有していることを認識すること、
ｃ　前記第一通信プリミティブから前記付加的データを抽出し且つ前記付加的データを前記メモリ手段（１８；３２）内に格納すること、
ｄ　プログラムに従ってプログラムステップを実施すること、
ｅ　前記メモリから前記第一付加的データを読取ること、
ｆ　前記第一付加的データと第二所定関係を有している前記第二付加的データを包含する第二通信プリミティブを前記別の装置（２）へ前記プログラムに従って送信すること、
を実施することを許容するコンピュータプログラムプロダクト。
【請求項２３】
請求項２２において請求したようなコンピュータプログラムプロダクトが設けられているコンピュータ読取可能媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、第一装置と第二装置との間の通信方法に関するものである。本発明は、特に、ターミナル即ち端子と通信を行うスマートカードの分野に適用可能なものである。
【０００２】
【従来の技術】
スマートカードとターミナル（端子）との間の通信は、通常、スマートカードによって与えられるサービスに対して必要とされる複数個の安全プロトコルのうちの１つを実施するために使用される。
【０００３】
特に、無接触スマートカードを使用する場合に、付勢用電磁界を介してのスマートカードの移動に起因してターミナルからスマートカードへの変動する供給電流から問題が発生する場合がある。プロトコルによって要求される全ての通信ステップを実施する前にスマートカードが供給電力を失う場合がある程電力の変動が強力であり且つ高速である場合がある。必要とされるものは、パワー即ち電力の完全な又は部分的な喪失後のプロトコルを継続して行うこと及び一般的にそのプロトコルを実施する場合に使用されるスマートカードデータの完全性を確保するためのメカニズムである。電力変動の危険性のために、通常、無接触スマートカード用のプロトコルによって必要とされる全ての通信ステップは１５０ミリ秒以内に実施されることが必要である。通信障害に関しての更なる危険性を導入することなしに、そのプロトコルに対して使用可能な時間期間を増加させることの必要性が存在している。
【０００４】
ＷＯ−Ａ−８９／０２１４０（Ｅｇｌｉｓｅ　Ｅ．ａ．）は、トランズアクション即ち取引の完了前にターミナルからカード又はトークン等のデータ担持装置が取去られることに対するメカニズムを開示している。該データ担持装置はクレジット値を格納しており、それはサービスの進行期間中にマシンの制御下でデクリメントされる。このようなサービスは電話をかけること又は電気を供給することとすることが可能である。この従来技術文献によって解決されるべき問題は、トランズアクションを完了する前にユーザがターミナルからデータ担持装置を引出す場合に発生する場合がある重要なクレジットデータを喪失することなしに任意の時間においてターミナルからデータ担持装置のユーザがこの装置を除去することを許容することを確保することである。パワーが一時的に失われる場合に同様の重要なクレジットデータの喪失が発生する場合がある。
【０００５】
この問題を解決するために、Ｅｇｌｉｓｅ　Ｅ．ａ．に基づくデータ担持装置は、マシンとのデータ通信ステップが実施される度に、関連するデータ通信ステップに対する表示である付加的な情報を格納する。その目的のために、Ｅｇｌｉｓｅ　Ｅ．ａ．は２つのフラッグと３つのパラメータとを使用することを提案している。該フラッグの値は行われるステップに従って変化し、一方パラメータ値は相次ぐ動作期間中に格納されているクレジット値及びそのアップデートに従って変化する。データ担持装置が時期尚早にマシンから除去されるか又はパワーが失われる場合には、データ担持装置の非揮発性メモリ内に格納されているフラッグ及びパラメータの値は最後に実施した通信ステップの一意的表示である。従って、マシンとデータ担持装置との間の通信が再度開始すると、前のトランズアクションは尚且つ成功裡に完了させることが可能である。
【０００６】
ＵＳ−Ａ−４，８７７，９４５（Ｆｕｊｉｓａｋｉ）は、誤った記録を排除する機能を具備するＩＣカードを開示している。このＩＣカードは、ターミナルと通信すべく構成されている。通信の始めにおいて、ターミナルが開始コマンドを送り、一方、通信の終わりにおいて、それは終了コマンドをＩＣカードへ送信する。開始コマンドを受取ると、ＩＣカードは、そのＥＥＰＲＯＭメモリ内のテーブル内に格納されている有効性フラッグが有効ステータス又は無効ステータスのいずれを表わしているかをチェックする。無効ステータスは、ＩＣとターミナルとの間の最後の通信手順が正しく完了していないことを表わし、一方有効ステータスは、最後の通信手順が正しく完了されていることを表わす。
【０００７】
開始コマンドを受取ってＩＣカードがその有効性フラッグが有効であることを検知すると、その有効性フラッグのステータスを「無効」へ変化させた後に、ターミナルとの通信手順を開始する。それはターミナルとの通信手順を実施し、且つターミナルから終了コマンドを受取ると、それは有効性フラッグを「有効」ヘ変化させる。然しながら、完了する前にその通信手順が中断されると、その有効性フラッグは無効のまま残存し、従ってそのデータ内容が無効であることを表わす。
【０００８】
開始コマンドを受取った後にＩＣカードが、その有効性フラッグが無効であることを検知すると、それはそのことをターミナルへ報告し且つ通信が行われることはない。従って、無効なデータを有するＩＣカードと通信手順が実施されることはない。
【０００９】
無効なデータを有するＩＣカードを再使用するために、Ｆｕｊｉｓａｋｉは、終了コマンドをＩＣカードへ送信してＩＣカードがその有効性フラッグを「有効」へ変化させることを包含する補正メカニズムを開示している。
【００１０】
ＵＳ−Ａ−５，６３６，６９５（Ｆｅｉｋｅｎ）は、ＩＣカードとターミナルとの間の通信の中断に対する同様のメカニズムを開示している。Ｆｅｉｋｅｎも、カードに関してトランズアクションが正しく完了されたか否かを表わすために有効性フラッグを使用している。更に、Ｆｅｉｋｅｎは、未完成の貸し借り処理を正しく完了するためのメカニズムを開示しており、その後は、有効性フラッグがその有効ステータスへリセットされるばかりかカードのデータ内容も正しい値を有することになる。
【００１１】
【発明が解決しようとする課題】
本発明の目的とすることは、例えば電力の中断に起因して通信装置の１つ又はそれ以上の障害に対する保護を与えることにより２つの通信装置の間の通信の信頼性を向上させることである。このような通信装置はスマートカードとターミナルとすることが可能であるが、別法として、例えばネットワークを介して互いに通信するコンピュータ等の任意の公知のタイプのものとすることが可能である。
【００１２】
【課題を解決するための手段】
この目的を達成するために、本発明は、第一実施例においては、少なくとも第一装置と第二装置との間の通信を行う方法を請求しており、
該第一装置は第一プロセッサと、第一メモリ手段と、第一入力／出力手段とを有しており、該第一メモリ手段及び第一入力／出力手段は該第一プロセッサと結合しており、
該第二装置は第二プロセッサと、第二メモリ手段と、第二入力／出力手段とを有しており、該第二メモリ手段及び第二入力／出力手段は該第二プロセッサと結合しており、
本方法は、該第一プロセッサによって実施される少なくとも以下のステップ、
ａ　所定の第一プログラムに従って第一プログラムステップを実施すること、
ｂ　前記第一プログラムステップを実施した後に前記第一プログラムに関連する第一状態データを確立すること、
ｃ　前記第一状態データと第一所定関係を有する第一付加的データを包含する第一通信プリミティブを前記第一プログラムに従って送信すること、
を有しており、続いて、前記第二プロセッサによる以下のステップ、
ｄ　前記第一通信プリミティブを受取ること、
ｅ　前記第一通信プリミティブから前記第一付加的データを抽出し且つ前記第一付加的データを前記第二メモリ手段内に格納すること、
ｆ　第二プログラムに従って第二プログラムステップを実施すること、
ｇ　前記第二メモリから前記第一付加的データを読取ること、
ｈ　前記第一付加的データと第二所定関係を有する第二付加的データを包含する第二通信プリミティブを前記第一装置へ前記第二プログラムに従って送信すること、
続いて、前記第一プロセッサによって実施される以下のステップ、
ｉ　前記第二通信プリミティブを受取ること、
ｊ　前記第二通信プリミティブから前記第二付加的データを抽出し且つ前記第二付加的データから前記第一付加的データを派生すること、
ｋ　前記派生した第一付加的データが前記第一状態データとの前記第一所定関係を有しているか否かをチェックし、有していない場合には、前記第一プログラムを終了するか又は回復処理を開始し、有している場合には、継続して処理を行うこと、
ｌ　前記第一プログラムに従って第三プログラムステップを実施すること、
を包含している。
【００１３】
従って、例えば電力の喪失に起因する装置の障害に対する保護は、装置間の通常の通信を保護されるべき装置に対して基本的にプライベート即ち専用である付加的データで補充することによって得られている。保護されるべき装置はそれ自身の内部状態に関する付加的データを送信することにより他方の装置を介してそれ自身と通信を行う。
【００１４】
装置の状態は他方の装置からの応答を受取った後に、プログラム内の次のプログラムステップ（ｌ）で継続してその装置上で稼動することが可能なプログラムに対して必要な全てのデータを包含している。該状態データの幾つかは、「永続的状態データ」と呼ぶことが可能であり、即ち、例えばＥＥＰＲＯＭ等の非揮発性メモリを使用することによりプロトコルの終了を超えて延在することが可能な期間の間その装置によって格納されるべきデータである。更に、「揮発性状態データ」が存在しており、それはその装置上で稼動するプログラムにおけるオプションの次のプログラムステップに関連している。どのオプションが選択されるかは他方の装置から受取った命令に依存する場合がある。該プログラムは、他の装置から命令を受取った後にその適切な点においてそのプログラムを継続することが可能であるようにこれらの状態データを格納することを必要とする。通常、これらの状態データは揮発性メモリ内に格納される。従って、これらの状態データは、電力が中断された後に失われる場合がある。無接触スマートカードが使用される場合には特に電力障害が発生する場合がある。
【００１５】
第二装置は、第一装置の通信プリミティブを受取った後に、該通信プリミティブから第一付加的データを抽出し、且つそれをそれ自身のメモリ内に格納する。それ自身のプログラムにおける次のプログラムステップを実施した後に、第二装置は第一装置へ送信されるべき通信プリミティブへ第二付加的データを付加する。この第二付加的データは第一付加的データと所定の関係を有している。第一装置は、次のメッセージにおいて第二装置によって送信される第二付加的データを受取る。
【００１６】
第二付加的データと第一付加的データとの間の関係は簡単なものとすることが可能であり、それらは互いに等しいものとすることが可能である。従って、第一装置は第二装置によって変更されることのない第一付加的データを受取る。然しながら、通信帯域幅の効率的使用に対して有益的なことであるが、第一付加的データ、又はその一部は、別の実施例においては、ステップｆにおいて記述する処理ステップに対する入力として第二装置によって付加的に使用することが可能である。更に、第二装置は、第一付加的データを格納することに加えて、第一付加的データ自身を処理することが可能であるが、その場合の条件は、この処理の結果処理済の第二付加的データが第二通信プリミティブにおいて第一装置へ送信されることとなり、それに対して第一状態データに対する第一関係が、例えば、最初に、該付加的データに対して第二装置において行われる処理を反転させることにより第一装置において検証することが可能なことである。第一付加的データに対する修正は、このようにして、第二装置から第一装置へエキストラな情報を伝達することを可能とし、更に、通信帯域幅をより効率的に使用することとなる蓋然性がある。
【００１７】
該付加的データは第一装置によって使用されて、その上で稼動するプログラムが適切な段階で待機しているか否かをチェックする。このことは、受取られた付加的データが該状態データと所定の関係を有するか否かをチェックすることによって行われる。該状態データは、第一装置のメモリの非揮発性部分の中にそれ自身格納させることが可能であり、且つ、従って、電力障害の後においても存在する。一方、該メモリの非揮発性部分は、以下に説明するように、それからこれらの状態データを派生することが可能なデータを格納することが可能である。
【００１８】
好適には、この第一実施例においては、本方法はステップｌの後に以下のステップ、即ち
ｍ　前記第三プログラムステップを実施した後に該第一プログラムに関連する第二状態データを確立すること、
ｎ　該第一及び第二状態データの両方と第三所定関係を有している第三付加的データを包含している第三通信プリミティブを該第二装置ヘ該第一プログラムに従って送信すること、
を包含している。
【００１９】
この後者の実施例においては、該第三通信プリミティブは該第二状態データと所定の関係を有している付加的データを包含するばかりでなく、該第一状態データの場合も包含している。保護されるべき装置におけるプログラムにおいての全ての先行するプログラムステップの全ての先行する状態データと所定の関係を有しているデータで任意の付加的データを供給することにより該装置は電力障害の後に全体的なプログラムを回復することが可能である。
【００２０】
同じ種類の保護を第二装置の場合に得ることが可能である。従って、第二実施例における本発明も少なくとも第一装置と第二装置との間の通信を行う方法に関するものであって、
該第一装置は第一プロセッサと、第一メモリ手段と、第一入力／出力手段とを有しており、該第一メモリ手段及び第一入力／出力手段は該第一プロセッサに結合されており、
該第二装置は第二プロセッサと、第二メモリ手段と、第二入力／出力手段とを有しており、該第二メモリ手段及び第二入力／出力手段は該第二プロセッサに結合しており、
本方法は、該第一プロセッサにより実施される少なくとも以下のステップ、即ち
ａ　所定の第一プログラムに従って第一プログラムステップを実施すること、
ｂ　該第一プログラムステップを実施した後に該第一プログラムに関係する第一状態データを確立すること、
ｃ　該第一状態データと第一所定関係を有する第一付加的データを包含する第一通信プリミティブを該第一プログラムに従って送信すること、
続いて、該第二プロセッサによる以下のステップ、即ち
ｄ　該第一通信プリミティブを受信すること、
ｅ　該第一通信プリミティブから該第一付加的データを抽出し且つ該第一付加的データを該第二メモリ手段内に格納すること、
ｆ　第二プログラムに従って第二プログラムステップを実施し且つ該第二プログラムステップを実施した後に該第二プログラムに関係する第二状態データを確立すること、
ｇ　該第二メモリから該第一付加的データを読取ること、
ｈ　該第一付加的データと第二所定関係を有する第二付加的データ及び該第二状態データと第三所定関係を有する第三付加的データを包含する第二通信プリミティブを該第一装置へ該第二プログラムに従って送信すること、
続いて、該第一プロセッサによって実施される以下のステップ、即ち
ｉ　該第二通信プリミティブを受取ること、
ｊ　該第二通信プリミティブから該第二及び第三付加的データを抽出し、該第三付加的データを該第一メモリ手段内に格納し且つ該第二付加的データから該第一付加的データを派生すること、
ｋ　該派生した第一付加的データが該第一状態データとの該第一所定関係を有しているか否かをチェックし、有していない場合には、該第一プログラムを終了するか又は回復処理を開始し、有している場合には、継続して処理を行うこと、
ｌ　該第一プログラムに従って第三プログラムステップを実施し且つ該第三プログラムステップを実施した後に該第一プログラムに関連する第三状態データを確立すること、
ｍ　該第一メモリ手段から該第三付加的データを読取ること、
ｎ　該第三付加的データと第四所定関係を有している第四付加的データ及び該第三状態データと第五所定関係を有している第五付加的データを包含する第三通信プリミティブを該第二装置へ該第一プログラムに従って送信すること、
次いで、該第二プロセッサによって実施される以下のステップ、即ち
ｏ　該第三通信プリミティブを受取ること、
ｐ　該第三通信プリミティブから該第四及び第五付加的データを抽出し、該第五付加的データを該第二メモリ手段内に格納し且つ該第三付加的データを該第四付加的データから派生すること、
ｑ　該派生した第三付加的データが該第二状態データと該三所定関係を有しているか否かをチェックし、有していない場合には、該第二プログラムを終了するか又は回復処理を開始し、有している場合には、継続して処理を行うこと、
ｒ　該第二プログラムに従って第四プログラムステップを実施すること、
を包含している。
【００２１】
本発明は、又、２つの装置の間の通信に制限されているものではないという意味において分散型処理に関係している。それは、又、１つのプロセッサが通信プリミティブを格納する中央メモリのような共用型データ資源又はデータ送信手段へ通信プリミティブを送信する場合に関係している。複数個のその他の装置のうちの１つが中央メモリからこの通信プリミティブを読取ることが可能である。勿論、中央メモリから中心プリミティブを読取った後に、その通信プリミティブが読み取られ且つ処理されたことを他の装置へ通知するメカニズムが存在せねばならない。このことは、読取った後に中央メモリから通信プリミティブを除去することによって行うことが可能である。然しながら、一方、通信プリミティブは中央メモリ内に格納されたまま残存することが可能である。この場合は、通信プリミティブが１つの装置によって読取られており且つ別の装置によって処理されることが必要でないことを他の装置へ通知するために中央メモリ内の通信プリミティブに表示を付加することが可能である。
【００２２】
付加的データと状態データとの間の関係は、単独で又は組合わせて、以下の方法、即ち暗号化方法を適用すること、暗号ハッシュ関数を適用すること、及びワンタイムパッド（ｏｎｅ−ｔｉｍｅ−ｐａｄ）即ち使い捨て暗号帳機能を有する暗号化を適用すること、のうちの１つ又はそれ以上を使用することに基づくものとすることが可能である。
【００２３】
本発明の第一実施例に基づく方法を実施するために、本発明は、又、独立請求項１０において請求したようなシステムに関係している。
【００２４】
本発明の第二実施例に基づく方法を実施するために、本発明は、又、独立請求項１１において請求したようなシステムに関係している。
【００２５】
本発明は、又、本発明に基づく方法を実施するために互いに通信を行う構成とされた装置に関係している。従って、本発明は、又、プロセッサと、メモリ手段と、入力／出力手段とを有している装置に関係しており、該メモリ手段と入力／出力手段とが該プロセッサに結合しており、
該プロセッサは少なくとも以下のステップ、
ａ　所定のプログラムに従って第一プログラムステップを実施すること、
ｂ　前記第一プログラムステップを実施した後に前記プログラムに関係する第一状態データを確立すること、
ｃ　前記第一状態データと所定の関係を有する第一付加的データを包含する第一通信プリミティブを前記プログラムに従って送信すること、
ｄ　別の装置から第二通信プリミティブを受取ること、
ｅ　前記第二通信プリミティブから第二付加的データを抽出し且つ前記第二付加的データから前記第一付加的データを派生すること、
ｆ　前記派生した第一付加的データが前記状態データと前記所定の関係を有しているか否かをチェックし、有していない場合には、前記プログラムを終了させるか又は回復処理を開始させ、有している場合には、継続して処理を行うこと、
ｇ　前記プログラムに従って第二プログラムステップを実施すること、
を実施すべく構成されている。
【００２６】
このような装置はスマートカードとすることが可能である。
【００２７】
好適には、該プロセッサは、プロセッサへのパワーの中断及び回復の後に以下のステップ、即ち
第一プログラムによって実施された最後のプログラムステップに基づいて確立された最後の状態データとの所定関係を有する少なくとも１つの通信プリミティブを他の装置又は中央メモリのいずれかから受取ること、
該最後のプログラムステップに続く更なるプログラムステップで該第一プログラムの稼動を再開すること、
を実施する構成とされている。
【００２８】
本発明は、又、スマートカードと通信を行う構成とされているターミナルとすることが可能な装置に関係しており、それは、プロセッサと、メモリ手段と、入力／出力手段とを有しており、該メモリ手段及び入力／出力手段は該プロセッサへ結合されており、
該プロセッサは、以下のステップ、
ａ　別の装置から第一通信プリミティブを受取ること、
ｂ　該第一通信プリミティブが別の装置上で稼動する第一プログラムに関連する状態データと第一所定関係を有する付加的データを有していることを認識すること、
ｃ　該第一通信プリミティブから該付加的データを抽出し且つ該付加的データを該メモリ手段内に格納すること、
ｄ　第二プログラムに従ってプログラムステップを実施すること、
ｅ　該メモリから該第一付加的データを読取ること、
ｆ　該第一付加的データと第二所定関係を有する第二付加的データを包含する第二通信プリミティブを該第二プログラムに従って該別の装置へ送信すること、を実施する構成とされている。
【００２９】
【発明の実施の形態】
本発明を幾つかの図面を参照するが、それらは単に例示的な目的のためのものを意図したものである。本発明は特許請求の範囲によってのみ制限される。
【００３０】
図１はメモリ４及びコイル８へ接続されているマイクロプロセッサ６を具備するスマートカード２を示している。
【００３１】
コイル８は、当業者にとって公知の如く、電磁エネルギを介してターミナル１０等の別の装置との無接触通信のためである。好適には、マイクロプロセッサ６が動作するのに必要なパワーも例えばターミナル１０等の他の装置からコイル８を介して供給される。このことをどのようにして行うかも当業者にとって公知でありここで更なる説明を行うことは必要ではない。勿論、コイル８は当該技術分野において公知の任意のその他のタイプのインターフェース手段又は入力／出力手段によって置換させることが可能である。コイル８は、例えば、導電性パッドによって置換させることが可能であり、それによりターミナル１０と電気的接触を行うことが可能である。
【００３２】
メモリ４は単一のブロックとして描いてある。然しながら、メモリ４は、通常、ＲＡＭ（ランダムアクセスメモリ）、ＲＯＭ（リードオンメモリ）、ＥＥＰＲＯＭ（電気的に消去可能なプログラマブルリードオンリメモリ）を有している。これらのタイプのメモリは当業者にとって公知である。必要である場合には、その他のメモリタイプをスマートカード２へ付加することが可能である。ＥＥＰＲＯＭは非揮発性態様でカード２自身の上に情報を格納するためにマイクロプロセッサによって使用され、即ち、それは電力障害の後であってもＥＥＰＲＯＭ内に格納されたまま残存する。
【００３３】
ターミナル１０はコイル１４を有している。コイル１４はスマートカード２のコイル８を介してスマートカード２と通信を行うためにターミナル１０によって使用される。パワー及びデータの両方が、当業者によって公知の如く、コイル１４を介してスマートカード２へ送信される。勿論、スマートカード２がコイル８以外の別のタイプの入力／出力手段を有している場合には、ターミナル１０は適宜のその他のタイプの入力／出力手段が設けられていることが必要である。従って、コイル１４は、例えば導電性接触を行うコネクタ等の当該技術から公知の任意のその他のタイプの入力／出力手段によって置換させることが可能である。
【００３４】
ターミナル１０のプロセッサ１６もメモリ１８、ディスプレイ２２、キーボード２０へ接続している。ディスプレイ２２は例えばモニタ又はＬＣＤディスプレイ等の当該技術において公知の任意のタイプのものとすることが可能である。キーボード２０はタッチスクリーン又は当該技術から公知の任意のその他のタイプの入力手段等の関連するデータを入力する能力をユーザに与える任意のその他のタイプの入力手段によって置換させることが可能である。キーボード２０又は均等手段及びディスプレイ２２は存在しないものとすることが可能である。
【００３５】
好適には、プロセッサ１６は通信線１７を介してその他の遠隔プロセッサ（不図示）へ結合させることが可能である。従って、遠隔プロセッサはスマートカード２との通信プロトコルの一部を実行することが可能である。このことは、例えば、ターミナル１０とスマートカード２との間のトランズアクションが遠隔装置によって保持されるアカウント（口座）に関する借方又は貸方トランズアクションに関連する場合に必要である。
【００３６】
メモリ１８は単一のブロックとして示してある。然しながら、実際には、メモリ１８は幾つかのタイプのメモリを有しており、例えば、以下のメモリタイプ、即ちＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、及びハードディスクのうちの１つ又はそれ以上を包含している。スマートカード２におけるように、非揮発性メモリタイプが実行可能なプログラム及び該装置の意図した機能のために必要なその他のデータを格納する。典型的には、作業メモリ及び非揮発性メモリタイプの少なくとも一部は、プログラムを実行している間、該装置による専用的な使用のためである。
【００３７】
通常、ターミナル１０とスマートカード２との間の通信は永久的なものでも固定されたものでもなく、任意の便宜的な時間において（再）開始させることが可能である。このような状態はスマートカードとターミナルとの間の通信に対して典型的である。然しながら、このような通信は、又、インターネット等のデータネットワークを介して互いに通信を行うコンピュータ間のクライエント・サーバー関係においても発生する。従って、本発明はスマートカード及びスマートカードとのみ通信を行うターミナルに制限されるものではなく、互いに通信を行う構成とされたその他の装置に対しても適用可能である。装置間でのデータ通信は、典型的に、通常「パッケージ」、「メッセージ」、又は「通信プリミティブ」と呼称されるデータ単位の交換として行われる。従って、本発明の文脈内において、通信プリミティブは任意のタイプのメッセージであり、例えば、命令、ステートメント、及び／又はデータを包含している。このような通信プリミティブは当業者に公知の如くヘッダー及びペイロードを有している。
【００３８】
本発明は、又、通信ネットワークを介して互いに通信する構成とされている３個又はそれ以上の装置に対して適用可能である。図２は模式的にこのような状態を示している。装置２及び１０は図１において参照したものと同一のタイプの装置を参照することが可能である。
【００３９】
装置２６は他の装置と通信をする構成とされており且つインターフェース２８及びメモリ３２へ接続している少なくとも１個のプロセッサ３０を有している。インターフェース２８はプロセッサ３０と通信ネットワーク２４との間の入力／出力手段として機能する。通信ネットワーク２４は、例えば、ＰＳＴＮ（公衆交換電話網）又はＷＡＮ（ワイドエリアネットワーク）又はＬＡＮ（ローカルエリアネットワーク）のいずれかの任意のその他の種類の通信ネットワーク、又はその他のものとすることが可能である。それは、又、インターネットとすることが可能である。インターフェース２８は当業者に公知の任意のタイプのものとすることが可能である。
【００４０】
メモリ３２は１個の単一ブロックとして示してある。然しながら、実際上、メモリ３２はＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、又は任意のその他の種類のメモリを、当業者に公知の如く、単独で又は組合わせで有している。それらは１つ又はそれ以上の物理的単位で実現することが可能である。
【００４１】
以下に説明するように、本発明の１つの特別の実施例を実現するために、データを格納し且つ抽出するためにネットワーク２４を介して装置２，１０，２６のうちのいずれかによりアクセス可能な中央メモリ３４を設けることが可能である。この中央メモリ３４は、当業者に公知の如く、格納、読取及び消去動作を実施するための何等かのインテリジェンス（不図示）を設けることが可能である。従って、中央メモリ３４は共用型データ資源又はデータ送信手段の一部とすることが可能である。
【００４２】
装置２，１０，２６を接続するネットワーク２４は、擬似的プライベート態様で通信を実施するために任意の公知のネットワーク割当て手順を使用して多数の装置が同時的にネットワークを使用することが可能であるという意味においてパブリックにアクセス可能である。ネットワークを共用するということは、そのネットワークへ接続されているその他の装置のいずれかによりデータ通信を共用することを可能とする。従って、共用型ネットワークを使用する場合には、通信されるデータ及び通信のパターンのプライバシーは実際には存在しない。従って、必要とされる場合には、該装置のユーザのプライバシーは、しばしば暗号化を包含するその他の手段によって与えられねばならない。一方、共用型ネットワークへ接続されている装置のうちのいずれかにより通信されるデータを共用することは、その媒体へ接続されている装置間の通信を実際に多数の物理的に別個の装置によって実施することを可能とし、それらの装置は、特定の通信の目的のために、単一の「論理的」装置として共同する。
【００４３】
１つの装置又は同じく共同する装置の集まりは、通常「クライエント」と呼称される開始体の役割においてか、又は通常「サーバー」と呼称される応答体の役割においてその通信に参加する。従って、サーバーによってクライエントへ送給される「サービス」を与えるために、クライエントとサーバーとの間で特定のシーケンスのメッセージが交換される。図１に示した構成においては、ターミナル１０がクライエントであり、一方スマートカード２がサーバーである。
【００４４】
通信装置からなるシステムは、又、共用型メモリを介して通信を行う単一のコンピュータ上に別個のプロセッサ又は制御スレッドとして実現される装置を包含することが可能である。
【００４５】
任意の種類又は構造のこのような装置の間のデータ通信は、一般的に、クライエントからの初期的メッセージで開始し装置の間でメッセージのシーケンスが交換されて順序正しい態様で実施される。通信の目的のために、メッセージ又は通信プリミティブはメッセージの順番付けされたシーケンスにおいて適宜受信側によって識別可能である。
【００４６】
受信された各メッセージ又は通信プリミティブは、通信シーケンスのゴールに向かって前方へ単一ステップ前進するために受信装置によって必要とされる情報を伝達する。その目的のために受信装置は一般的に「状態エンジン」として知られる機能を何等かの形態で実現し受信した通信プリミティブをそのシーケンスにおいて適切なものであるとして認識し、且つ、適切である場合には、該通信プリミティブにおけるデータを解釈する。該状態エンジンは、一般的に、該装置のメモリ内に格納されている実行可能コード及び記述的データを有しており、それは、結合して、
（１）どのメッセージが予測されているか、
（２）該メッセージ内に包含されている任意のデータを処理する態様、
（３）どのメッセージを応答として送ることが必要であるか、
を記述する。
【００４７】
特に、受信装置の作業メモリは、このような記述的データを包含することが可能であり、それはメッセージの順番通りのシーケンスで行われた進捗を反映するために他の装置へメッセージを完全に送信する直前にアップデートさせることが可能である。受信装置の作業メモリは、又、例えばメッセージにおいて受取られた任意のデータの修正又は格納等の受信したメッセージデータの処理の結果を有することが可能である。このような作業メモリにおける記述的データは、通常、「状態データ」又は簡略して「状態」と呼称される。
【００４８】
順序正しく交換する通信プリミティブによって本発明に基づいて通信を行う全ての論理装置２，１０，２６は、各々、通信状態を画定するデータをメモリ４，１８，３２内に維持する。
【００４９】
状態データは、通常、揮発性メモリ内に格納される。従って、電力障害の後に、揮発性メモリ内の状態データが尚且つ有効であるか否かは確かではない。それは部分的に又は完全に喪失されている場合がある。装置が他の装置の次の通信プリミティブを受信した後に作業メモリ内の状態データがいまだに有効なものであることを確認するために、本発明は以下に説明する特別の方法を提案している。理解すべきことであるが、この方法は、又、電力障害以外のその他の理由による状態データの部分的又は完全な喪失に対しても保護する。
【００５０】
本発明によれば、説明したシステム及び方法において、通信装置のうちの少なくとも１つが、それが他の装置へ送信する通信プリミティブのうちの少なくとも１つにおいて付加的データを包含している。この付加的データは、通常、その作業メモリ内に格納されているデータによって記述されるような内部状態の表現である。このことは、更に、図３ａ及び３ｂを参照して説明する。図３ａ及び３ｂにおいて、本発明に基づく通信方法が２つの装置、即ち装置Ａ（サーバー、例えば、スマートカード２）及び装置Ｂ（クライエント、例えば、ターミナル１０）との間で例示されている。
【００５１】
装置Ａは、典型的に、サーバーであって、それは、受信したメッセージ及びこれらのメッセージが包含するデータに関連する状態データを維持せねばならない。特に、進行中の通信プリミティブの交換の過程においてクライエントによって獲得される例えば認証又は確立された一時的暗号鍵等の任意のセキュリティステータスがサーバー状態データの一部となる場合がある。
【００５２】
装置Ｂは、典型的に、クライエントであり、且つ、典型的に、このような付加的データを包含するこのような通信プリミティブを取扱うための特別の処理命令を包含している。特に、クライエントは、受信した通信プリミティブを処理する一部として、以下に説明するように通信プリミティブから該付加的データを抽出する。
【００５３】
通信処理は、装置Ａと所定のプロトコルを実行するために、装置Ｂが装置Ａへ通信要求を送信することで開始する（ステップ２００）。
【００５４】
ステップ１００において、装置Ａは装置Ｂから通信要求を受取り且つその通信を開始させる。
【００５５】
次のステップであるステップ１０２は、装置Ｂから受取った通信要求に応答して所定のプログラムに従って第一プログラムステップを実施することである。
【００５６】
第一プログラムステップを実行した後に、装置Ａは、装置Ｂの更なるデータ及び／又は命令、又はそれから状態データを派生することが可能なデータをプログラムが待機せねばならないプログラム内の点に関連する状態データを作業メモリ内に格納する、ステップ１０４。
【００５７】
ステップ１０６において、装置Ｂからの適切な入力を受取るために、装置Ａは装置Ｂに対するそれ自身の状態データに対する所定の関係を有する付加的データを包含する通信プリミティブを送信する。
【００５８】
ステップ２０２において、装置Ｂは装置Ａからのメッセージを受取る。
【００５９】
ステップ２０４において、装置Ｂは、受取ったメッセージが処理命令の終わりを有しているか否かをチェックする。肯定である場合には、装置Ｂはそのプログラムの終わりへ移行する、ステップ２１８。否定である場合には、装置Ｂはステップ２０６で継続的に処理を行い、その場合に、装置Ｂは受信したメッセージから装置Ａの状態データに関する付加的データを抽出する。
【００６０】
ステップ２０８において、装置Ｂは、好適には、この付加的データを処理することなしに、そのメモリ１８内にこの付加的データを格納する。
【００６１】
ステップ２１０において、装置Ｂはそれ自身のプログラムに従って次のプログラムステップを実行する。
【００６２】
ステップ２１２において、装置Ｂはそのメモリ１８内にそれ自身の処理に関連する状態データを格納する。
【００６３】
ステップ２１４において、装置Ｂはメモリ１８からステップ２０８においてメモリ１８内に格納した装置Ａの状態データに関連する付加的データを読取る。
【００６４】
ステップ２１６において、装置Ｂは少なくともこの後者の付加的データを包含する通信プリミティブを装置Ａへ送信する。この通信プリミティブは、更に、装置Ａによって実行されるべき命令を有することが可能である。
【００６５】
ステップ２１７において、装置Ｂは、その処理がその終わりに到達したか否かをチェックする。肯定である場合には、それはステップ２１８（終了）へジャンプする。否定である場合には、それはステップ２０２へジャンプして戻り、且つ装置Ａの更なるメッセージを待機する。
【００６６】
ステップ１０８において、装置Ａは装置Ｂから通信プリミティブを受取る。
【００６７】
ステップ１１０において、装置Ａは受信した通信プリミティブから装置Ａの状態データに関連する付加的データを抽出する。
【００６８】
ステップ１１２において、装置Ａは、抽出した付加的データが正しいか否かをチェックする。このことは幾つかの態様で行うことが可能である。例えば、装置Ａがメモリ内にその最後の有効な状態データを格納した場合には、それは、単に、抽出した付加的データをこれらの格納したデータと比較してそれらが等しいか否かをチェックすることが可能である。一方、装置Ａは、それから最後の有効なデータを一意的に派生することが可能なデータを格納している場合がある。１つの例を図４を参照して以下に与える。従って、装置Ａは最初にこれらの格納されているデータから最後の有効な状態データを派生せねばならず、その後に、抽出した付加的データとの比較を行うことが可能である。
【００６９】
そのチェックが肯定的なものであることが判明すると、装置Ａは稼動中のプログラムを継続して行うことが許容される。次いで、それはステップ１１４を介してステップ１２０で継続して処理する。然しながら、チェックステップ１１２が肯定的な結果を与えるものでない場合には、どこかにエラーが発生している。このようなエラーは、異なる環境によって発生される場合がある。例えば、装置Ａに対して電力障害が発生し、メモリ８内に格納されている状態データの一部又は全体が喪失されている場合がある。別の理由は、受取った付加的データが偶然に又は故意に変更されている場合がある。理由がどのようなものであろうとも、チェックした処理が否定的である場合には、装置Ａにおけるプログラムはそのまま継続して稼動することは不可能である。そこで、２つの異なるステップを実施することが可能である。エラーが発生したことを警告メッセージを介して装置Ｂへ通知した後に（ステップ１１６）、装置Ａは回復処理を開始するか（ステップ１１８）、又はそのプログラムの終わりへジャンプする（図３ｂには表示していない）。
【００７０】
回復処理（ステップ１１８）は、装置Ｂから受取った付加的データが、装置Ｂからの更なる入力を待機する前に最後のプログラムステップが行われた点においてそのプログラムを継続して行うために全て必要な状態データをそれから派生するために装置Ａに対する充分且つ信頼性のある情報を有している場合に可能である。ステップ１１９においてチェックされる正しい回復処理の後に、プログラムはステップ１２０で継続して処理を行うことが可能である。回復が成功しなかった場合には、その旨のメッセージを発生し且つ装置Ｂへ送信することが可能であり（ステップ１２１）、且つ該プログラムは停止する（ステップ１２６）。
【００７１】
ステップ１２０において、装置Ａはそれ自身のプログラムに従って次のプログラムステップを実施する。
【００７２】
ステップ１２２において、再度、次のプログラムステップを実施した後に、装置Ａはそのメモリ８内にその時までに有効な状態データを格納するか、又はそれから状態データを派生することが可能なデータを格納する。
【００７３】
ステップ１２４において示したように、そのプログラムを終了することが可能であることが確立されると、それはステップ１２６へ移行する。そうでない場合には、本発明に従って新たなサイクルを開始させるためにプログラムはステップ１０６で継続して行われる。ステップ１２６の後に、本プログラムはステップ１００で継続することが可能である。
【００７４】
回復ステップ１１８期間中に、装置Ａは、装置Ｂから受取った付加的データがエラーが発生しなかった場合に位置されるそのプログラムにおける点の状態と関連しているか否かを検査する。殆どの場合において、このことが可能であるのは、装置Ａが何等かの関連性のあるデータをその非揮発性メモリ部分内に格納し、それが電力障害の後においても存在している場合のみである。非揮発性メモリ部分におけるこれらの関連性のあるデータは巨大なものである必要はない。該データの殆どはメモリ８の揮発性部分内に格納されている場合があり且つ例えば付加的データ内に包含されて次の通信プリミティブにおいて装置Ｂから受取ることが可能な場合がある。
【００７５】
それが稼動中のプログラムにおける最後の状態データのみならず全ての先行する状態データと所定の関係を有するように装置Ａが任意の時間において付加的データを発生する場合には回復処理を容易に実施することが可能である。従って、そのプログラムにおいてどのプログラムステップが既にとられたか、従って、どの状態が過去において既に獲得されたかを装置Ａが確立することは一層簡単である。
【００７６】
本発明は、装置Ａにおける状態データと所定の関係を有するこのような付加的データの発生のみに制限されるものではない。それは、又、装置Ｂに対しても適用可能である。従って、装置Ｂも、装置Ｂ上で稼動するプログラムの状態データに関連する付加的データを発生するオプションを与えることが可能である。このような装置Ｂによって発生される付加的データは次の通信プリミティブと共に装置Ａへ送信され且つ装置Ａによって任意の通信プリミティブから抽出される。いずれかの命令を実行した後に、装置Ａは装置Ｂへ送信されるべき次の通信プリミティブにおいて装置Ｂから受取った付加的データと所定の関係（例えば、それらが等しい場合がある）を有する更なる付加的データを挿入する。従って、装置Ｂは装置Ａと同じレベルの保護を有している。
【００７７】
装置Ａ及び装置Ｂの両方に対して、発生された付加的データは夫々の装置Ａ及びＢ内の全ての先行する状態データと所定の関係を有している場合がある。
【００７８】
上述した図３ａ及び３ｂに対する説明において、装置Ｂによって受取られる付加的データと装置Ａへ後に再送される付加的データとの間に単純な関係を仮定しており、即ちそれらは互いに等しいものとしている。従って、装置Ａは装置Ｂによって変更されることのない付加的データを受取る。然しながら、通信帯域幅の効率的な使用に対して有益的なことであるが、別の実施例においては、付加的データ、又はその一部をステップ２１０において説明した処理ステップへの入力として装置Ｂによって付加的に使用することが可能である。更に、装置Ｂは、受取った付加的データを格納することに加えて、その処理の結果として処理された新たな付加的データが装置Ａへ送信され、それに対して装置Ａにおける状態データに対する関係を、例えば、最初に該付加的データに対して装置Ｂにおいて行った処理を反転させることにより、装置Ａによって検証することが可能である場合には、受取った付加的データ自身を処理することが可能である。付加的データに対する修正は、このように、第二装置から第一装置へエキストラな情報を伝達することが可能であり、多分、通信帯域幅のより効率的な使用となる。
【００７９】
本発明は、又、図２に示したような分散型環境に適用可能である。従って、装置Ａは、例えば、スマートカード２とすることが可能である。然しながら、全ての通信プリミティブを１つの装置Ｂへ直接的に通信する代わりに、装置Ａは、実際に、その通信プリミティブを最初に中央メモリ３４へ送信することが可能である。２つ又はそれ以上の装置１０，２６が、それらが使用可能な実行時間を有する時間において、中央メモリ３４が処理すべき通信プリミティブを有しているか否かを中央メモリ３４に関してチェックする構成とされている。１つのオプションは、このような装置１０，２６が中央メモリ３４からの現在の通信プリミティブを読取り且つその後に中央メモリ３４からその通信プリミティブを除去する。従って、それを処理するために、別の装置も中央メモリ３４からその通信プリミティブを読取ることを回避することが可能である。
【００８０】
別のオプションは、中央メモリ３４内に存在するこのような通信プリミティブを読取った装置が、例えばフラッグ等の表示を中央メモリ３４内の通信プリミティブに付加し、その通信プリミティブが装置１０，２６のうちの１つによって既に読取られており且つ別の装置によって最早処理することは必要でないことを表わす。次いで、中央メモリ３４はプロトコル期間中に全ての通信プリミティブを回収する。これらの通信プリミティブが全て装置２内において実施されるプログラムの単一の状態データに関連している場合には、電力障害又はその他のエラーの後に装置２は中断された処理を回復するために中央メモリ３４から全ての通信プリミティブを回収することが可能である。勿論、各通信プリミティブが装置２における処理の全ての先行する状態データから全ての関連するデータを有している実施例においては、全ての連続する通信プリミティブを格納することは必要ではなく、最後の通信プリミティブを格納することが必要であるに過ぎない。
【００８１】
時折、電力中断及び回復の後に、装置２が単純に最後の通信プリミティブを装置１０が再送することを要求する場合があり、且つ装置２がそのプログラムの稼動を再開することが可能である場合がある。
【００８２】
好適には、通信プリミティブが装置２，１０，２６のうちの１つにおける状態データに関連する付加的データを有していることを識別する識別データを通信プリミティブが有している。
【００８３】
以下に説明するように、付加的データと状態データとの間の関係は、暗号化技術、暗号ハッシュ関数（ワンタイム機能）及びワンウエイパッドでの暗号化を使用することに基づくものとすることが可能である。
【００８４】
付加的データと状態データとの間の最も簡単な関係は１対１の関係であり、即ち付加的データはプログラムによって実施される最後のプログラムステップの後に有効な状態データと等しい。然しながら、殆どの場合において、状態データは秘密であり且つ関連する装置によってのみ知ることが許容されるに過ぎない。従って、付加的データは状態データを外部世界へ開示することが許容されるものではなく且つこの状態データの開示に対する保護を与えることが必要である。
【００８５】
状態データを保護する１つのオプションは、その状態データに関連する装置に対してのみ知られている暗号鍵でそれを暗号化することである。次いで、暗号化された状態データは他の装置（又は中央メモリ３４）への通信プリミティブにおける付加的データとして送られる。その装置はその作業メモリ内にその状態データ（又は状態データを直接的に派生させることが可能なその他のデータ）を格納する。他の装置の次の通信プリミティブを受取った後に、その装置は、他の装置から受取った付加的データが状態データの暗号化した形態と等しいか否かをチェックする。そのために、それは受取った付加的データを解読し且つ解読した付加的データを格納されている状態データと比較する。一方、それはその格納されている状態データを暗号化し且つその結果を受取った付加的データと比較することが可能である。
【００８６】
付加的データが状態データ自身を有している場合及びそれが暗号化された状態データを有している場合の両方において、暗号ハッシュ（ワンウエイ機能）を使用することはセキュリティを更に向上させることが可能である。このような暗号ハッシュは、好適には、当業者に公知な態様でその装置に対してのみ知られている暗号鍵を使用して、状態データと関連する装置によって発生される。このようなハッシュは付加的データへ付加され且つそれを変更させることはない。然しながら、そのハッシュは付加的データの内容と所定の関係を有している。従って、付加的データの内容が偶然に又は故意に変更されている場合には、ハッシュと変更された付加的データの内容との間の関係をチェックすることによって直接的に確立される。このようなハッシュを使用することにより、該装置は、そのハッシュと共にリターンされた付加的データを受取ると、リターンされた付加的データの有効性をチェックすることが可能であるばかりか、それ自身の状態データが部分的に又は完全に喪失されている場合に、それから状態データを派生するためにそれを使用することが可能である。このように派生された状態データは、例えば、電力障害によって中断されたプログラムを再開させる度に使用することが可能である。
【００８７】
好適なことであるが、暗号化鍵又はハッシュ用鍵のいずれかとして使用される暗号鍵は、例えば、その装置がその最初の通信プリミティブを受取る場合に発生されるランダム又は擬似ランダム値から派生される。この（擬似）ランダム値は受取った通信プリミティブの内容とある関係を有している場合がある。本装置は、応答用の通信プリミティブを他の装置へ送る前に、その非揮発性メモリ部分内にこの（擬似）ランダム値を格納する。
【００８８】
この（擬似）ランダム値は、それから状態データを派生することが可能な値として使用することが可能である。一方、暗号化処理又はハッシュ用処理のいずれか又は両方のための暗号化鍵として使用することが可能である。更に、更なる実施例において、暗号又はハッシュ処理が使用される度に暗号化鍵が変化し、そのことはセキュリティを更に促進させる。勿論、新たな暗号鍵が使用される度に、その値はメモリの非揮発性部分内に格納させることが必要である。連続的に暗号鍵を発生する任意の方法を使用することが可能である。例えば、既存の鍵と受取った通信プリミティブの何等からの内容との間の組合わせによって又は特定した態様で２つの先の鍵を結合させることにより新たな鍵を発生させることが可能である。然しながら、図４を参照して以下に説明するように、ワンウエイ（ハッシュ）機能を使用することを効果的に使用することが可能である。
【００８９】
図４はリターンメッセージを受取った後に状態データを派生するために使用される（擬似）ランダム数を使用するフローチャートを示している。開始、ステップ３００の後に、ステップ３０２において、関連する装置が（擬似）ランダム数を発生し、それは非揮発性メモリ内に格納することが可能である。このことは、当業者にとって公知の任意の態様で行うことが可能である。該装置はステップ３０４（ｌ）乃至３０４（ｎ）においてｎ回このランダム数に対してワンウエイ機能を適用し、尚ｎは０より大きな所定値を有している。例えば、開始においてｎ＝１０である。ワンウエイ機能を使用することは当該技術において公知であり且つここにおいての更なる説明は必要ではない。
【００９０】
ステップ３０４（ｎ）の結果はステップ３０６において本装置により別の装置（又はメモリ３４）へ次のメッセージにおける付加的データとして送信される。ステップ３０８において、本装置はリターンメッセージを待機する。
【００９１】
このようなリターンメッセージを受取った後に、本装置はステップ３１０においてリターンメッセージから付加的データを抽出する。ステップ３１２乃至３２０において、本装置は、得られた結果が抽出した付加的データと等しくなるまで、何回も非揮発性メモリ内に格納されているランダム数に対してワンウエイ機能を適用する。エラーが発生しなかった場合には、始めて、これはｎ回である。実施された最後のプログラムステップが最初の可能な状態に関連していたことをプログラムが知得しており、且つ該プログラムはステップ３２４において状態番号１で継続する。ランダム数にワンウエイ機能をｎ回適用した後においてもマッチが得られない場合には、エラーが発生し且つプログラムはステップ３２２においてエラールーチンで継続して処理を行う。
【００９２】
次いで、次のステップの準備をするために、ステップ３２６においてｎから１を減算し、且つ処理はステップ３０４（ｌ）で継続する。然しながら、好適実施例においては、このステップの結果は、当業者にとって公知の如く、ステップ３１８における反復を実施しながら所要の値をキャッシュすることにより得ることが可能である。従って、プログラムにおける任意の次の状態に対して、ランダム数に対してワンウエイ機能を適用することは先行するステップにおけるよりも１だけ少ない。ワンウエイ機能が使用されるので、このことは、別の装置が次の状態に関連する次の付加的データを派生することが不可能であることを確保し、他の装置が暗号化ワンウエイ機能の基本的特性によってステップ３０２において発生される（擬似）ランダム数を知らない場合には、本装置によって行われた計算を逆に行い、従って次の状態に対するデータを予測することは不可能である。
【００９３】
図４は、格納されているランダム数及びワンウエイ機能を使用してプログラムにおいて最後に達成された状態の正しい数を派生する場合に関係している。然しながら、暗号化処理及び／又はハッシュ処理において使用されるべき鍵を発生するために同様の又は同一の手法を使用することが可能である。
【００９４】
ハッシング処理において、例えば、ステップ３４０（ｎ）の結果は次のメッセージにおける付加的データとして直接的に送られるのではなく、この結果は次のメッセージにおいて送信されるべき全ての状態データにわたって認証用ハッシュを計算するための鍵として使用される。このことは、状態データが単に関連する状態の数より多くの情報を有する場合に効果的に行うことが可能である。従って、次のリターンメッセージを受取り且つその次のリターンメッセージから付加的データを抽出した後に、そのハッシュはリターンされた状態データの正確性をチェックするために使用される。このチェックした状態は、本プログラムを継続させるために使用される。再度、ハッシュ関数において使用されるべき鍵に到達するために格納されているランダム数に対してワンウエイ機能を適用する回数は、送信されるべき任意の次の状態に対して１だけ減少させることが可能である。任意の送信ステップにおいて使用される鍵はメモリの非揮発性部分内に格納することが可能であるが、それは格納されているランダム数及び使用したワンウエイ機能から派生することが可能であるのでその鍵を格納することは必要ではない。
【００９５】
暗号化処理において、ステップ３０４（ｎ）の結果は次のメッセージにおける付加的データとして直接的に送られるものではなく、この結果は次のメッセージにおいて送信されるべき全ての状態データを暗号化するための鍵として使用される。このことは、状態データが外部装置に対して開示されることが許容されない場合に効果的に行うことが可能である。次のリターンメッセージを受取り且つその次のリターンメッセージから付加的データを抽出した後に、その付加的データを解読して状態データを獲得する。この暗号化された状態データは、本プログラムを継続するために使用される。再度、暗号化処理において使用されるべき鍵に到達するために格納されているランダム数に対してワンウエイ機能を適用する回数は、送信されるべき任意の次の状態に対して１だけ減少させることが可能である。任意の送信ステップにおいて使用された鍵をメモリの非揮発性部分内に格納することが可能であるが、その鍵を格納することは必要ではない。何故ならば、それは格納されているランダム数及び使用されたワンウエイ機能から、且つ、好適には、付加的データ内に包含されている可能性のある現在の状態を識別するｎの現在の値から派生させることが可能だからである。
【００９６】
図４を参照して説明したような態様で発生した鍵は、又、ハッシュ及び暗号化の両方が使用される処理において使用することが可能である。
【図面の簡単な説明】
【図１】従来技術に基づいて互いに通信すべく構成されているターミナルと無接触スマートカードを示した概略図。
【図２】本発明の更なる実施例を例示するために通信ネットワークを介して互いに通信することが可能な３個の装置を示した概略図。
【図３ａ】第一実施例に基づく本発明方法を示したフローチャートの一部。
【図３ｂ】図３ａのフローチャートと結合されるべきフローチャートの別の一部。
【図４】状態データを発生するメカニズムを示した概略図。
【図１】
2004505354.tif 000003
【図２】
2004505354.tif 000004
【図３ａ】
2004505354.tif 000005
【図３ｂ】
2004505354.tif 000006
【図４】
2004505354.tif 000007
【国際公開パンフレット】
2004505354.tif 000008
2004505354.tif 000009
2004505354.tif 000010
2004505354.tif 000011
2004505354.tif 000012
2004505354.tif 000013
2004505354.tif 000014
2004505354.tif 000015
2004505354.tif 000016
2004505354.tif 000017
2004505354.tif 000018
2004505354.tif 000019
2004505354.tif 000020
2004505354.tif 000021
2004505354.tif 000022
2004505354.tif 000023
2004505354.tif 000024
2004505354.tif 000025
2004505354.tif 000026
2004505354.tif 000027
2004505354.tif 000028
2004505354.tif 000029
2004505354.tif 000030
2004505354.tif 000031
2004505354.tif 000032
2004505354.tif 000033
2004505354.tif 000034
2004505354.tif 000035
2004505354.tif 000036
2004505354.tif 000037
2004505354.tif 000038
2004505354.tif 000039
2004505354.tif 000040
2004505354.tif 000041
2004505354.tif 000042
2004505354.tif 000043
2004505354.tif 000044
2004505354.tif 000045
2004505354.tif 000046
2004505354.tif 000047
【国際調査報告】
2004505354.tif 000048
2004505354.tif 000049