(57)【要約】【課題】通信ネットワークにおいて安全に通信を行うことに関するシステム及び方法を得る。【解決手段】期間の限定されたセッションを使用して、通信ネットワークにおいて、パーティに安全に通信を行えるようにしている。一つのパーティのセッションは、他のパーティのセッションから独立している。これらのセッションは、これらのセッションをが有効である旨を確認するサーバーにリンクしている。好ましい実施例においては、安全な通信が電子転送システムに生じる。この電子転送システムでは、顧客と販売者が、取り引きを行うことができ、顧客は販売者から品物を購入して、電子ファンドを用いてその品物の対価を払う。【選択図】図１
2004328802.tif 000002
【特許請求の範囲】
【請求項１】
通信システムにおいて安全に通信を行う方法であって、前記通信システムがユーザの位置に装置を、また、前記通信中にサーバを有し、前記方法が；
（ａ）関連する使用パラメータを有するセッションを作るために、前記装置から前記サーバへリクエストを転送する；
（ｂ）前記サーバによって第一のキーと第二のキーを暗号化する；
（ｃ）前記暗号化された第一のキーと前記セッションに関連する前記使用パラメータとを前記サーバから前記装置へ転送する；
（ｄ）前記暗号化された第一のキーと前記使用パラメータとを前記装置によって受取り、前記暗号化された第一のキーを解読して、前記使用パラメータに従って前記解読された第一のキーを用いて、前記装置が前記通信システム中で安全に通信できるようにしたことを特徴とする通信システムにおいて安全に通信を行う方法。
【請求項２】
前記第一のキーがＤＥＳキーであることを特徴とする請求項１に記載の方法。
【請求項３】
前記第二のキーがＤＥＳキーであることを特徴とする請求項２に記載の方法。
【請求項４】
前記安全な通信システムがＤＥＳより安全レベルが高い位置にあることを特徴とする請求項１に記載の方法。
【請求項５】
更に、第二ユーザの位置に第二の装置を具え、前記第二の装置も、前記ユーザの装置と前記サーバに通信しており、前記方法が更に；
（ａ）関連する前記第二の使用パラメータを有する第二のセッションを作るために、第二のリクエストを前記第二の装置から前記サーバへ転送する；
（ｂ）前記サーバによって第四キーを用いて第三キーを暗号化し；
（ｃ）前記暗号化された第三キーと前記第二の使用パラメータとを、前記サーバから前記第二の装置へ転送する；
（ｄ）前記暗号化された第三キーと前記第二の使用パラメータとを前記第二の装置で受取り、前記第三のキーを解読して、前記第二の使用パラメータに基づいて前記解読された第三のキーを用いて、前記第二の装置が前記通信システムにおいて安全に通信を行えるようにしたことを特徴とする請求項１に記載の方法。
【請求項６】
前記第三のキーがＤＥＳキーであることを特徴とする請求項５記載の方法。
【請求項７】
前記第四のキーがＤＥＳキーであることを特徴とする請求項５記載の方法。
【請求項８】
前記安全な通信がＤＥＳより高い安全レベルにあることを特徴とする請求項５記載の方法。
【請求項９】
更に、
（ａ）第一のデータセットを前記ユーザの装置から前記第二の装置へ転送し、ここで、前記第一のデータセットが暗号化された部分と暗号化されていない部分とを含み、前記暗号化された部分が前記解読された第一のキーと、少なくとも前記第一のデータセットの前記暗号化されていない部分とを使って暗号化される；
（ｂ）前記第二の装置によって前記第一のデータセットを受取、前記第一のデータセットの暗号化された部分と共に、第二のデータセットを前記第二の装置から前記サーバへ転送し、ここで、前記第二のデータセットが暗号化された部分と暗号化されていない部分とを含み、前記第二のデータセットの前記暗号化された部分が前記第一のデータセットの前記暗号化されていない部分の少なくとも一部を含み、前記第二のデータセットの前記暗号化された部分が前記解読された第三のキーを使用して解読されるとともに前記第二のデータセットの前記暗号化されていない部分の少なくとも一部を含む；及び
（ｃ）前記サーバによって前記第二の装置から前記第二のデータセットを受け取り、前記第二のデータセットの前記暗号化された部分を、前記第三のキー及び前記第二のデータセットの暗号化されていない部分の一部を使用して解読し、これによって前記第二のデータセットの前記暗号化された部分に含まれた前記第一のデータセットの前記部分が解読されるようにし、前記第一のキーと前記第一のデータセットの前記解読された部分とを用いて前記第一のデータセットの前記暗号化された部分を解読する；
ことによって、前記ユーザが前記第一のキーを用いて前記サーバによって確認されると共に、前記第二のユーザが前記第三のキーを用いて、前記サーバによって認識されることを特徴とする請求項５記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
インターネットのような不安全なネットワークを通してのメッセージの処理のために受け入れることのできる安全のレベルを達成するために、大きなキーサイズを有するパブリックキーによる暗号化（例えばＲＳＡ）が一般的に要求される。本発明は、そのような不安全なネットワークを通して安定したメッセージ処理の効率を増大させるためのシステム及び方法に関するものである。特に、本発明は、メッセージ交換のためのネットワークにおいて必要とされる暗号化の階層を削減するためのシステム及び方法に関するものである。さらに、本発明は、暗号化のためのコンピュータの必要性を実質的に削減する一方、安全な方法で電子的な現金取引を行なうことに関するものである。
【背景技術】
【０００２】
インターネットのような不安全なネットワーク上におけるコミュニケーションの安全性を増大するための種々の方法が開示されている。不安全なネットワークは、監視、盗聴、改ざんからメッセージを保護しない。一方、安定なネットワークは、監視、盗聴および／または改ざんのための機会を減らす種々の手段を提供する。
【０００３】
例えば、（シキュアーＨＴＴＰ（Ｓ−ＨＴＴＰ）およびシキュアーソケットレイヤー（ＳＳＬ）プロトコルのような）チャンネルメッセージ安全保護概念は、互いのコミュニケーションがプライベートなものであり１対１のコミュニケーションを望む二つの当事者間における信頼性を創造することを意図している。ＳＳＬは、各メッセージを複雑に暗号化することによってオーセンチケーション及び安全保護を提供するためにデジタル的にサインされた証明を利用する。Ｓ−ＨＴＴＰは、安全保護とオーセンチケーションを保証するために複雑に暗号化されたキーを使用するデジタル的にサインされたメッセージを利用している。
【０００４】
多数のマルチパーティプロトコルがクレジットカードの決裁のために提案されていて、そのうちの有名なものとしてシキュアートランスポートテクノロジー（ＳＴＴ）、インターネットキードペイメント（ＩＫＰ）、シキュアーエレクトロニックペイメントプロトコル（ＳＥＰＰ）が知られている。これらのアプローチのすべては、資格発行許可に基づき構築されており、販売者と顧客との両者が資格発行許可によって識別され、次にこの資格発行許可がさらに高い許可によって識別されることを要求する。ＳＴＴにおいては、販売者と顧客の各々はキーのＲＳＡの二つのセットを有し、そのうちの一つはメッセージをサインするために使用され、他の一つは対称キーを暗号化または解読するために使用される。そのため、このシステムでは、各当事者は（各キーに一つの）二つの証明書を必要とする。販売者は、販売者が受け入れる各クレジットカードのための一対の資格認定書を有するであろう。ＳＥＰＰ及びＩＫＰは、異なるＲＳＡ暗号化を使用するが、ＳＴＴと似ており、取引毎に複数のパブリックキーの署名及び暗号化を利用している。
【０００５】
他のシステムは「ネットビル」という名前で記載されている。ネットビルアプローチは、他のものよりもパブリックキーの暗号化を重要視しないが、それでも取引を通してパブリックキーの署名を必要とする。
【０００６】
その他のアプローチは、デジキャッシュのアプローチである。デジキャッシュモデルでは、使用者はランダムナンバーを創り出し、このランダムナンバーがデジタルコインのためのシリアルナンバーのように動作する。他の提案されたシステムと同様に、デジキャッシュは、（ＲＳＡ暗号化のように他のパブリックキーテクニックのための基礎である）モジュールの累乗法への強い依存を要求することによって、安全で、匿名のキャッシュ支払いシステムを構築するとの第１の目的を達成している。また、このシステムは、銀行及び第３者に、実際の価値を有するトークンを創造することを要求する。そのようなシステムが、アメリカ合衆国や他の裁判管轄権のある地域において、銀行業、税金及び通貨の法律として取り扱われるかどうかは不明瞭である。
【０００７】
モンデックスのような他のシステムは、使用者のコンピュータに接続したハードウェアの使用を通じての安全性を達成している。インターネット取引のために、専用のカードリーダが特別なカードを使用するすべての顧客及び販売者のコンピュータに付加されなければならない。
【０００８】
暗号化の信頼性、特にパブリックキーによる暗号化の信頼性は、ソフトウェアまたはハードウェアのいずれかに基づき相当の犠牲を払ったものでも、暗号化の使用が多くなればなるほど、メッセージを解読するのに必要な処理がそれだけ多くなる。商用ネットワークにおける支払処理のようにメッセージの処理コストが重要である場合は、プロセッサ及びハードウェアコストは、安全なコミュニケーションのためのインターネットのようなネットワークを使用することに対して、重要な妨害になりうる。
【０００９】
現状の先行技術は、プロセッサの使用時間、付加ハードウェア、またはそれら両者の付随する高いコストにより、受け入れることのできる安全を達成しているにすぎない。商用インターネットのような不安全なネットワークの発展を促すために必要なことは、暗号化されたメッセージを少ない処理コストで提供できる一方、転送されるコミュニケーションのための受け入れ可能なレベルの安全を維持できるソフトウェアに依存したシステムである。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
そのため、本発明は、インターネットや他の不安全なネットワークを通して大変効率的で、経済的で、しかも安全な処理のためのシステム及び方法を提供することを目的とする。本発明は、インターネットまたは他の不安全なネットワークを通して、比較的小さい投資で、製品の安全な支払い（スモールキャッシュペイメンツを含む）を行なうための基礎を提供する。
【課題を解決するための手段】
【００１１】
本発明によれば、コミュニケーションシステムにおいて安全に情報の伝達を行なうための方法を開示する。このコミュニケーションシステムは、第１のパーティーの存在する場所にある第１の装置と、第２のパーティーの存在する場所にある第２の装置と、これら両者の間の情報伝達を行なうサーバとを備えている。この方法は、第１のパーティーと関連する第１のセッションを行なう工程を備え、この第１のセッションは、この第１のセッションが使用可能な期間を制限する第１の使用パラメータと、第１のデータセットとを有している。第１の使用パラメータ及び第１のデータセットは、サーバによって確認することができる。また、この方法は、第２のパーティーと関連する第２のセッションを行なう工程を備えている。この第２のセッションは、この第２のセッションが使用可能な期間を制限する第２のパラメータと、第２のデータセットとを有している。第２の使用パラメータ及び第２のデータセットは、サーバによって確認することができる。さらに、この方法は、コミュニケーションシステムにおいて、第１のセッションのある部分と第２のセッションのある部分とをリンクする工程を備えている。第１のセッションのこの部分は、前記第１のデータセットと第１の使用パラメータとを含み、第２のセッションのこの部分は、前記第２のデータセットと第２の使用パラメータとを含んでいる。さらにまた、この方法は、少なくとも第１及び第２のデータセットの部分に基づきサーバによって第１及び第２のパーティーを確認する工程と、第１及び第２のセッションが第１及び第２の使用パラメータに基づき使用されたかどうかをサーバによって決定する工程とを備えている。サーバが第１及び第２のパーティーを確認し、第１及び第２のセッションが使用できると決定された場合は、第１及び第２のパーティーが、コミュニケーションシステムにおいて、安全に情報を伝達することができることを保証する。
【００１２】
本発明の他の態様は、コミュニケーションシステムにおいて、安全に情報を伝達するための方法に関する。このコミュニケーションシステムは、使用の場所にある装置とそれとの情報伝達のためのサーバとを有し、この方法は、それと関連する使用パラメータを有するセッションを行なうため装置からの要求をサーバへ伝達する工程と、第１のキーを第２のキーでサーバにより暗号化する工程と、暗号化された第１のキー及びこのセッションと関連する使用パラメータをサーバから装置へと伝達する工程とを備えている。また、この方法は、暗号化された第１のキーと使用パラメータとを装置で受信する工程と、暗号化した第１のキーを解読する工程とを備え、これにより装置は、使用パラメータに従って解読された第１のキーを使用することにより、コミュニケーションシステムにおいて安全に情報の伝達を行なうことができる。
【００１３】
本発明の代表的な実施例は、添付の図面を参照して記載される。
【実施例】
【００１４】
本発明の好ましい実施例を、図１〜図１００を参照して詳細に説明する。図面及びそれに伴う詳細な説明は本発明の範囲を制限することを意図していない。
【００１５】
Ｉ．情報及び情報のフロー
本発明の概念は図１に記載されている。図１は、３つの構成部材、すなわちインターネット５０を介して互いに接続されているサーバコンピュータ１００、顧客コンピュータ２００及び販売者コンピュータ３００を示している。接続はライン１０５、２０５及び３０５により各別に示されている。
【００１６】
顧客コンピュータ２００は、インターネット５０を通じて製品を購入したい個人である顧客ユーザ２０３のコンピュータを現している（ここで、“製品”は物、サービス、情報、データ等を含んでいる）。顧客コンピュータ２００は顧客データベース２０２及び顧客アプリケーションソフトウェア２１０を含む。販売者コンピュータ３００は、インターネット５０を通じて顧客ユーザ２０３に製品を提供する個人である販売者ユーザ３０３を現している。販売者コンピュータ３００は販売者データベース３０２及び販売者アプリケーションソフトウェア３１０を含む。販売者ユーザ３０３に関する情報は、販売者データベース３０２中に蓄積される。販売者アプリケーションソフトウェア３１０は本発明の数々の処理を実行する。
【００１７】
以下の詳細な説明は、単一の顧客ユーザ２０３と単一の販売者ユーザ３０３を対象として行われているが、本発明は、単一及び複数の顧客ユーザ２０３と単一及び複数の販売者ユーザ３０３との間の情報伝達及び取引も意図していることに注意すべきである。
【００１８】
サーバコンピュータ１００は、後述するように、インターネット５０を通して安全に顧客コンピュータ２００及び販売者コンピュータ３００と情報の伝達ができ、顧客ユーザ２０３及び販売者ユーザ３０３の間の取引を行なうことができる。サーバコンピュータ１００はサーバデータベース１０２及びサーバソフトウェア１１０を含む。サーバコンピュータ１００、顧客ユーザ２０３及び販売者ユーザ３０３に関する情報は、サーバデータベース１０２中に蓄積される。サーバソフトウェア１１０は本発明の数々の処理を実行する。
【００１９】
サーバコンピュータ１００、顧客コンピュータ２００及び販売者コンピュータ３００の間の情報の伝達は、好ましくは、インターネット５０上で供給されるワールドワイドウェブ（“ＷＷＷ”）サービスを通じてのハイパーテキストトランスポートプロトコル（“ＨＴＴＰ”）によって行われる。もちろん、他のプロトコル及びネットワークをこの目的のために使用できる。
【００２０】
図２は本発明によって行われる一般的な処理を示す。処理はステップ０から始まる。
【００２１】
まず第１に、セットアップ処理がステップ１で行われる。このセットアップ処理において、顧客ユーザ２０３及び販売者ユーザ３０３（以下、まとめて“クライアント”とも呼ぶ）は、サーバコンピュータ１００のデータベース１０２中にコンフィギュレーションされる。このようにして、クライアントは、サーバコンピュータ１００によって認識され、サーバコンピュータ１００と情報の伝達が可能となる。顧客データベース２０２及び販売者データベース３０２は、また、ステップ１においてコンフィギュレーションされる。
【００２２】
オープンセッション処理はステップ２で行われる。一般的に、セッションは、顧客ユーザ２０３がインターネット５０を通して販売者から製品を購入することができる、または、販売者ユーザ３０３がインターネット５０を通して顧客ユーザ２０３に対して製品を提供することができる、機会（またはウィンドウ）である。顧客ユーザ２０３及び販売者ユーザ３０３は、各自が独立したセッションを有している。セッションは限られた期間となる。この期間はパラメータによって管理される。これらのパラメータは、好ましくは、顧客ユーザ２０３及び販売者ユーザ３０３によってセットされる。あるいは、サーバコンピュータ１００もそのようなパラメータをセットできる。
【００２３】
取引／支払処理はステップ３で行われる。このステップにおいて、顧客ユーザ２０３及び販売者ユーザ３０３は、価格の合意をみた提供された製品に同意する。顧客ユーザ２０３は電子キャッシュで製品に対しての支払をする。電子キャッシュは、本発明で使用されるファンド（現金、クレジット、その他）を一例として示すことができる。この電子キャッシュは、顧客ユーザ２０３によって購入された製品を提供できる販売者ユーザ３０３によって受け取られる。顧客ユーザ２０３は、セッションの間、複数の販売者ユーザ３０３とビジネスを行なうことができる。顧客ユーザ２０３及び販売者ユーザ３０３は、ただ単に、ステップ２で形成されたようなセッションの期間中、ビジネスの取引を行なうことができるだけである。
【００２４】
クローズセッションはステップ４において本発明中に含まれるであろう。このステップは、ステップ２で形成されたセッションを終了する。
【００２５】
本発明で行われた処理はステップ５で終了する。
【００２６】
図３を参照して、上述した図２のステップ１から４で記載された処理を、さらに詳しく記載する。まず第１に、ステップ１で行われるセットアップ処理は、ダウンロード及びインストレーション処理４００、登録処理４０１、手段結合処理４０２及びロード／アンロードファンド処理４０５を含む。
【００２７】
ダウンロード及びインストレーション処理４００中、顧客ユーザ２０３及び販売者ユーザ３０３の各々は、好ましくはインターネット５０上に存在するクライアントアプリケーションソフトウェア１５３（図１）のコピーをダウンロードしインストールする。顧客コンピュータ２００及び販売者コンピュータ３００内において、クライアントアプリケーションソフトウェア１５３のコピーは、顧客アプリケーションソフトウェア２１０及び販売者アプリケーションソフトウェア３１０の各々として存在する（販売者アプリケーションソフトウェア３１０は、販売者コンピュータ３００が以下に記載する機能を実行するようにする他のソフトウェアを含む）。周知の技術を使用することで、顧客アプリケーションソフトウェア２１０及び販売者アプリケーションソフトウェア３１０は、顧客コンピュータ２００及び販売者コンピュータ３００の各別のウェブブラウザにリンクされ、必要なブラウザを介してアクセスすることができる。
【００２８】
次に、登録処理４０１で、顧客ユーザ２０３及び販売者ユーザ３０３はサーバコンピュータ１００とともに登録される。すなわち、顧客ユーザ２０３及び販売者ユーザ３０３に対する“個人”がサーバコンピュータ１００のデータベース内に構築される。ここに、“個人”は特定のクライアントに関するデータの集合として定義される。すなわち、この登録処理によって、サーバコンピュータ１００と共に登録した顧客ユーザ２０３及び販売者ユーザ３０３の各々は、サーバコンピュータ１００内に彼ら自身の個人を持つ（個人の詳細は後述する）。ある処理（例えば、ファンドのロード、ファンドのアンロード、サーバコンピュータ１００に対するあるメッセージの提出）を実行する個人の権利は、メッセージまたはサービスの内容に基づいて可能または不可能となる。
【００２９】
図３の手段結合処理４０３中、クライアント（顧客ユーザ２０３または販売者ユーザ３０３）は、クライアントが会計手段を使用できることを確立するための情報をサーバコンピュータ１００に伝達する。会計手段はクレジットカード、デビットカード、デマンドデポジットアカウント（“ＤＤＡｓ”）または他の会計手段を含む。結合された手段の発行者または第３者保証人は、クライアントが手段を使用できるかどうかを決定する基準の必要充分な程度をセットすることができる。例えば、クレジットカードを発行する銀行は、クレジットカードを使用するために、クライアントが５桁の郵便番号と母親の旧姓を提出することで充分だと考えている。これらの基準のリストは、例えば、サーバコンピュータ１００に供給され、サーバコンピュータ１００はクライアントがこれらの基準を満たしていることを確立するためにクライアントとコミュニケーションすることができ、その結果クライアントは会計手段を使用することができる。
【００３０】
この処理によってクライアントが手段を使用できることを一旦確立すれば、この手段は登録処理４０１中に形成されるクライアントの個人に“結合”あるいは関連付けられる。一旦手段が結合されれば、クライアントは以下に記載されるような取引のための手段を使用することができる。
【００３１】
ファンドのロード／アンロード処理４０５が次に議論される。顧客ユーザ２０３にとって、“ロード”は結合された手段に関連するファンドがそれにより顧客ユーザ２０３の個人に対し“ロード”（取り込まれる）される処理である。顧客ユーザ２０３の個人において、ファンドは電子キャッシュとして現される。顧客ユーザ２０３にとって、“アンロード”は、それにより電子キャッシュが顧客ユーザ２０３の個人から結合された手段へ“アンロード”（転送）される処理である。販売者ユーザ３０３にとって、“アンロード”は、それにより電子キャッシュが販売者ユーザ３０３の個人から結合された手段へ“アンロード”（または伝送）される処理である。販売者ユーザ３０３にとって、“ロード”は、それにより結合された手段に関連するファンドが販売者ユーザ３０３の個人に“ロード”される処理である。販売者ユーザ３０３個人において、ファンドは電子キャッシュとして現される。
【００３２】
図２中ステップ２として記載されるオープンセッション処理を、図３のオープンセッション処理４０７を参考にしてさらに説明する。顧客ユーザ２０３がセッションを形成すると、顧客ユーザ２０３は、かれら自身の独立したセッションを個々に形成した一つあるいはそれ以上の販売者ユーザ３０３とインターネット５０を通してビジネスの取引を行なうことができる（もちろん、販売者ユーザ３０３は、そのように望めば、顧客ユーザ２０３としても行動することができる）。
【００３３】
取引／支払処理４０９は次に行われる。この処理中、顧客ユーザ２０３及び販売者ユーザ３０３は、取引（例えば特別な製品および価格）の要素を交渉したり同意したりすることができる。その後、販売者ユーザ３０３は、顧客ユーザ２０３が製品の同意した価格を支払うよう要求することができる。販売者ユーザ３０３の要求に応じて、顧客ユーザ２０３は、販売者ユーザ３０３に、顧客ユーザ２０３が製品の同意した価格を受け取ることを知らせることができる。販売者ユーザ３０３が、有効性確認のためにサーバコンピュータ１００に対して提出した取引に関する情報を作成することが好ましい。サーバコンピュータ１００が取引の有効性を確認すれば、電子キャッシュは顧客ユーザ２０３の個人から販売者ユーザ３０３の個人へ転送される。一旦有効性が確認されれば、販売者ユーザ３０３は製品を顧客ユーザ２０３へ提供することができる。
【００３４】
クローズセッション処理４１１で、オープンセッション処理４０７中で作成されたセッションは中断される。顧客ユーザ２０３（または販売者ユーザ３０３）がこのセッションを閉じると、サーバコンピュータ１００は、顧客ユーザ２０３（または販売者ユーザ３０３）が、オープンセッションを持っているが顧客ユーザ２０３とは異なるオープンセッションである他の販売者ユーザ３０３（または顧客ユーザ２０３）とのインターネット５０を通してのビジネスの取引をすることを不可能とする。
【００３５】
本発明のメッセージのフローを示す図４を参照すると、登録処理４０１は、メッセージＲ１（“登録１”）をサーバコンピュータ１００に送る顧客コンピュータ２００によって実行される。メッセージＲ１に応じて、サーバコンピュータ１００はメッセージＲ２（“登録２”）を顧客コンピュータ２００に送り返す。これらの登録メッセージに含まれる情報は以下に記載される。
【００３６】
手段結合処理４０３中、顧客コンピュータ２００はメッセージＢＩ１（“結合手段１”）をサーバコンピュータ１００へ送る。メッセージＢＩ１中の情報は、サーバコンピュータ１００によって、その手段の発行者または第３者保証人と手段を結合する委任を受けたかを確認するのに使用される。この確認処理も、サーバコンピュータ１００と顧客コンピュータ２００との間のメッセージ（ここでは、メッセージＢＩ２及びＢＩ３）の交換によって増大する。この例示的メッセージＢＩ２およびＢＩ３は、ここで記述されるその他のメッセージと同様なフォーマットを有している。メッセージＢＩ２の内容は、追加の情報（手段の発行者によって促される）の要求または手段の発行者または第３者保証人によって要求される情報の明瞭化の要求を含む。例えば、メッセージＢＩ２は顧客ユーザ２０３に顧客ユーザ２０３の母親の旧姓を求めることができる。メッセージＢＩ３は顧客ユーザ２０３の応答を含ませることができる。
【００３７】
メッセージＢＩ１に反応して、サーバコンピュータ１００はメッセージＢＩ４（“結合手段４”）を顧客コンピュータ２００に送り返す。これらの結合メッセージに含まれている情報は以下に記載する。以下に続く記載において、メッセージＢＩ１及びＢＩ４は手段結合のための動作メッセージである。
【００３８】
ロード／アンロードファンド処理４０５中、顧客コンピュータ２００はメッセージＬＵ１（“ロード／アンロード１”）をサーバコンピュータ１００に送る。メッセージＬＵ１に応じて、サーバコンピュータ１００はメッセージＬＵ２（“ロード／アンロード２”）を顧客コンピュータ２００へ送り返す。これらのロード／アンロードファンドメッセージに含まれる情報は、以下に説明する。
【００３９】
オープンセッション処理４０７中、顧客コンピュータ２００はメッセージＯＳ１（“オープンセッション１”）をサーバコンピュータ１００に送る。メッセージＯＳ１に応じて、サーバコンピュータ１００はメッセージＯＳ２（“オープンセッション２”）を顧客コンピュータ２００へ送り返す。これらのオープンセッションメッセージ中に含まれる情報は以下に説明される。
【００４０】
取引／支払処理４０９中、販売者コンピュータ３００はメッセージＰＲ１（“支払要求１”）を顧客コンピュータ２００へ送る。メッセージＰＲ１に応じて、顧客コンピュータはメッセージＣＡ１（“キャッシュ支払１”）を販売者コンピュータ３００へ送り返す。メッセージＣＡ１を受け取った後、販売者コンピュータはメッセージＣＡ２（“キャッシュ支払２”）をサーバコンピュータ１００へ送る。メッセージＣＡ２に応じて、サーバコンピュータ１００はメッセージＣＡ３（“キャッシュ支払３”）を販売者コンピュータ３００へ送り返す。メッセージＣＡ３に応じて、販売者コンピュータ３００はメッセージＣＡ４（“キャッシュ支払４”）を顧客コンピュータ２００へ送る。これらの取引／支払メッセージに含まれる情報は後に記述する。
【００４１】
オプショナルクローズセッション処理４１１中、顧客コンピュータ２００はメッセージＣＳ１（“クローズセッション１”）をサーバコンピュータ１００に送る。メッセージＣＳ１に応じて、サーバコンピュータ１００はメッセージＣＳ２（“クローズセッション２”）を顧客コンピュータ２００へ送る。これらのクローズセッションメッセージに含まれる情報は後に記述する。
【００４２】
図４が、顧客コンピュータ２００とサーバコンピュータ１００との間に通過するメッセージＲ１／Ｒ２、ＢＩ１／ＢＩ４、ＬＵ１／ＬＵ２、ＯＳ１／ＯＳ２及びＣＳ１／ＣＳ２を示していることに注意する必要がある。販売者ユーザ３０３は、これらの同じメッセージが販売者コンピュータ３００とサーバコンピュータ１００との間にも流れるようにする。その後、販売者ユーザ３０３は、それとは異なるとの記載がない限り、顧客ユーザ２０３と同じ方法で、登録処理４０１、手段結合処理４０３、ロード／アンロードファンド処理４０５、オープンセッション処理４０７及びクローズセッション処理４１１を実行する。販売者ユーザ３０３の場合は、これらの処理と関連するデータは、サーバコンピュータ１００内に含まれる販売者データベース及び販売者データ構造に対応して操作される。
【００４３】
本発明の好ましい実施例で使用されるデータベース及びデータ構造を次に記載する。
【００４４】
ＩＩ．データベース
図１に記載されているように、サーバコンピュータ１００、顧客コンピュータ２００及び販売者コンピュータ３００は、各々データベース１０２、２０２及び３０２を含む。データベース１０２、２０２及び３０２の以下の説明は特定のデータ構造及びフォーマットに関するものであるが、当業者においてはそのような特定のデータ構造及びフォーマットは本発明において重要ではないとともに本発明の一要素ではないことが理解されよう。従って、データ構造及びフォーマットに対するいかなる変形も付加されたクレームの範囲内に含まれるものである。
【００４５】
応答メッセージが各別の顧客コンピュータ２００及び販売者コンピュータ３００によって受け取られた時に、値がデータベース２０２及び３０２中に蓄積されることが好ましい。しかしながら、より厳密には、そのような応答メッセージの受領に先立ち値が蓄積されるように記載される。
【００４６】
Ａ．サーバデータベース１０２
サーバデータベース１０２は、サーバコンピュータ１００が顧客コンピュータ１０２及び販売者コンピュータ３００との間の取引を伝達し処理することを可能にするデータを蓄積する。図５はサーバデータベース１０２の一般的な構造を示す。
【００４７】
図５に示すように、サーバデータベース１０２は、サーバ個人データ構造１２０、サーバセッションデータ構造１３０、メッセージログデータ構造１４０、メッセージデータ構造１５０、パブリックキーデータ構造１６０及びアプリケーションデータ構造１７０を含む。これらのデータ構造の各々をこれから詳細に記述する。
【００４８】
１．サーバ個人データ構造１２０
サーバ個人データ構造１２０は、サーバコンピュータ１００とともに登録された顧客ユーザ２０３及び販売者ユーザ３０３の領域に関するデータを蓄積する。図６を参照すると、個人データ構造１２０は一つまたはそれ以上の顧客個人１２０．１を含む。顧客個人１２０．１はフィールド１２０Ａ−１２０Ｈを有するように記録されることが好適である。サーバ個人データ構造１２０は各別に登録した顧客ユーザ２０３に対し顧客個人１２０．１を含んでいる。顧客個人１２０．１の領域について記載する。
【００４９】
領域１２０Ａは顧客ユーザ２０３に対する個人のＩＤを蓄積する。個人のＩＤは特定の顧客ユーザ２０３を識別するものである。システムの安全性を向上させるため、サーバデータベース１０２は顧客ユーザ２０３に対する認識可能な情報を蓄積しない。例えば、顧客ユーザ２０３の実際の名前及び住所はサーバデータ１０２中には蓄積しない。逆に、個人ＩＤは識別のために使用される。この個人ＩＤ領域は、パブリックキー領域１２０Ｃ（後述）に蓄積された情報が顧客ユーザ２０３と関連するレコードを位置させるために使用することができる点で選択的なものである。個人ＩＤはパブリックキーよりも短いため、この目的のために個人ＩＤを使用することはより効率的であり好ましい。
【００５０】
領域１２０Ｂは顧客ユーザ２０３のＥメールアドレスを含んでいる。領域１２０ＢのＥメールアドレスを使用することにより、サーバコンピュータ１００はインターネット５０を通じて顧客ユーザ２０３にＥメールを送ることができる。
【００５１】
領域１２０Ｃは顧客個人１２０．１に対するＲＳＡパブリックキーを蓄積する。以下に詳細に記載するように、領域１２０ＣのＲＳＡパブリックキーは顧客アプリケーションソフトウェア２１０によって生成される。領域１２０ＣのＲＳＡパブリックキーはＲＳＡパブリック／プライベートキーペアのパブリック要素である。顧客コンピュータ２００に対するＲＳＡパブリック及びプライベートキーの両者は、以下に記載されるように、顧客コンピュータ２００に蓄積される。好ましい実施例において、ＲＳＡキーは７６８ビットの長さである。この長さは、（より長いキーを使用して達成される）安全性をより増大する目的と（より短いキーを使用して達成される）処理コストを減らす目的との間のバランスを反映している。プロセッサの能力は将来増大するため、より長いＲＳＡキーをシステムの能力を妥協することなく安全性を高めるために使用することができるであろう。
【００５２】
もしＲＳＡパブリックキーが適切な証明機関によって証明中に含まれているのであれば、証明からのキーはパブリックキーの場所で使用され、個人ＩＤ領域１２０Ａはもはや上述したように任意のものではなくなる。証明に基づくシステムは先行技術において良く知られており、ここでは記載しない。
【００５３】
顧客ユーザ２０３がサーバコンピュータ１００とともに登録した日付は、領域１２０Ｄに蓄積される。領域１２０Ｄの日付は、プロモーションの開始（例えば、もしあなたがこの日付よりも前に登録していれば、その後プロモーションを行なうように）を許可し、議論の解決に寄与する。
【００５４】
領域１２０Ｅは顧客ユーザ２０３にとって好ましいコミュニケーション言語を含む。
【００５５】
領域１２０Ｆは顧客ユーザ２０３に対しオートクローズパスフレーズを蓄積する。オートクローズパスフレーズは、顧客ユーザ２０３が以下に記載する特定の状況下において顧客個人１２０．１をクローズすることを許可するパスフレーズである。
【００５６】
データ１２０Ｇは、図７に示した領域１２０Ｇ．１−１２０Ｇ．４を含むデータ構成を示している。領域１２０Ｇ．１−１２０Ｇ．４は、顧客ユーザ２０３によって確立される各キャッシュコンテナのデータを蓄積する。キャッシュコンテナは電子キャッシュを貯める。複数のキャッシュコンテナを、例えば顧客ユーザ２０３がビジネスの取引を行おうとする通貨毎に一つといったように、使用することを考えている。
【００５７】
領域１２０Ｇ．１−１２０Ｇ．４を、ここで、図７を参照にして詳細に説明する。
【００５８】
領域１２０Ｇ．１は、領域１２０Ｇ．２および／または１２０Ｇ．３に蓄積された電子ファンドの量に相関する通貨を蓄積する。
【００５９】
領域１２０Ｇ．２はキャッシュコンテナの使用可能残高を蓄積する。
【００６０】
領域１２０Ｇ．３はキャッシュコンテナの現在持っている残高を蓄積する。
【００６１】
領域１２０Ｇ．２および／または１２０Ｇ．３に蓄積された電子キャッシュは、好ましくは代理人の銀行口座へ預金される（ファンドがある当事者によって他の当事者の利益のために保持される銀行預金の形）。この代理人の銀行口座の口座番号は、領域１２０Ｇ．４に蓄積される。
【００６２】
データ１２０Ｈは、図８に示した領域１２０Ｈ．１−１２０Ｈ．２８を含むデータ構造を示す。領域１２０Ｈ．１−１２０Ｈ．２８は、顧客個人１２０．１と結合した手段のためのデータを蓄積する。サーバ個人データ構造１２０は、顧客個人１２０．１と結合した各手段のための領域１２０Ｈ．１−１２０Ｈ．２８のセットを蓄積する。領域１２０Ｈ．１−１２０Ｈ．２８を、ここで、図８を参照して詳細に説明する。
【００６３】
領域１２０Ｈ．１は、領域１２０Ａ（図６）の個人ＩＤを蓄積する。領域１２０Ｈ．１の個人ＩＤは、領域１２０Ｈ．１−１２０Ｈ．２８に蓄積されたデータを有する手段が結合した個人１２０．１を示す。
【００６４】
領域１２０Ｈ．２は、結合した手段の手段のタイプを含む。手段のタイプは、好ましくは、銀行口座、デビットカード及びクレジットカードを含む。
【００６５】
領域１２０Ｈ．３は、結合した手段の手段サブタイプを蓄積する。手段のサブタイプは、手段タイプのサブ分類（例えば、手段タイプクレジットカードに対するＶＩＳＡのような）を蓄積する。
【００６６】
顧客ユーザ２０３は、その個人１２０．１を登録する際に、“オートクローズ”機能を使用するかどうか選択することができる。オートクローズ機能は、顧客ユーザ２０３が、顧客個人１２０．１をクローズするための（以下に記述する）パスフレーズを提供すること、および個人と関連するすべての電子キャッシュをオートクローズ手段にアンロードすることを可能にする。もし、結合された手段がオートクローズ手段であれば、領域１２０Ｈ．４は結合した手段のための手段番号を含む。手段番号は手段を識別するものである。手段番号は蓄積する前に暗号化されることが好ましい。あるいは、手段番号は、サーバコンピュータ１００と接続していない別個の蓄積装置にセーブすることができる。もし、結合した手段がオートクローズ手段でなければ、手段番号は領域１２０Ｈ．９（以下に記載する）を計算するために使用され、手段番号は領域１２０Ｈ．４に蓄積されない。
【００６７】
結合された手段は、結合した手段をさらに認識するための第２の番号、例えばアメリカンエキスプレスＣＩＤまたはＵＳ−ＤＤＡアカウントＲ／Ｔ番号のような番号を持つこともできる。ここで手段サブ番号と呼ぶそのような第２の番号は、領域１２０Ｈ．５に蓄積される。
【００６８】
銀行口座は単一の通貨で作成される。銀行口座手段のその国の通貨は領域１２０Ｈ．６に蓄積される。
【００６９】
領域１２０Ｈ．７は、法律上の同意を示す一つあるいはそれ以上の整数を蓄積する。好ましい実施例において、サーバコンピュータ１００のオペレータは、顧客ユーザ２０３が結合した手段に特定の操作を行なうために、どのような法律上の同意が顧客ユーザ２０３によってなされているのかを確認する。
【００７０】
領域１２０Ｈ．８は手段プリフィックスを含む。領域１２０Ｈ．８の手段プリフィックスは、領域１２０Ｈ．４を参照して記載した手段番号のサブセットである。好ましい実施例において（クレジットカード、デビットカード、銀行口座のための）、領域１２０Ｈ．８の手段プリフィックスは、領域１２０Ｈ．４の手段番号の最初の２桁と最後の４桁である。
【００７１】
領域１２０Ｈ．９は、好ましくは領域１２０Ｈ．４を参照して記載した手段番号のＭＤ５ハッシュからなる手段ハッシュ値を蓄積する（この出願において使用される“ハッシュ”という用語は、代数ハッシュのような他の数学的ハッシュ関数とは別の暗号化されたハッシュのことを意味する）。ハッシュによって表現された手段番号は、好ましくは、ハッシング前に顧客コンピュータ２００によってサーバコンピュータ１００に対して生成され供給されたランダム番号（そのような番号は“ソルト”として一般に参照される）とともに手段番号を連結することにより、推測することを大変難しくされている。手段ソルトは、以下に議論される手段結合データ構造２３０の領域２３０Ｑに蓄積される。領域１２０Ｈ．９の手段ハッシュは、サーバコンピュータ１００に蓄積されるべき手段番号を必要とせずに、手段番号を確認するために使用される。この方法は、盗みや悪者の目標としてのサーバコンピュータ１００の魅力を少なくする。
【００７２】
領域１２０Ｈ．１０は、“ＢＩＮ”または銀行のＩＤ番号のような結合された手段の発行者の確認番号を含む。
【００７３】
もし、結合された手段がオートクローズ手段として使用されたならば、領域１２０Ｈ．１１及び１２０Ｈ．１２は結合された手段の所有者の名前及び住所を含む。この情報は蓄積される前に暗号化されることが好ましい。あるいは、手段番号はサーバコンピュータ１００と接続されていない別の蓄積装置中にセーブすることもできる。
【００７４】
領域１２０Ｈ．１３及び１２０Ｈ．１４は、それぞれ、結合された手段が結合された日付及び最初に使用された日付を蓄積する。
【００７５】
領域１２０Ｈ．１５は結合された手段のステータスを蓄積する。ステータス領域１２０Ｈ．１５の内容は、結合された手段に依存する。例えば、ＤＤＡを結合するために、顧客ユーザ２０３は、フォームにサインして、サーバコンピュータ１００のオペレータが自動化された確認所（“ＡＣＨ”）とともに予備通知（“プリノート”）処理を始めることを許可することを要求される場合もある。サインされたフォームまたはプリノートに対する応答を受け取る前に、サーバコンピュータ１００は結合が“形成”されたことを示すこともできる。サインされたフォームを受け取ることによって、ステータス領域１２０Ｈ．１５は“継続中のプリノート”を含むことができる。もしプリノートがサインされたフォームよりも前に送られてきたならば、領域１５０Ｈ．１５は“継続中の署名”を含むことできる。もし両者を受け取ったか受け取ることが可能ならば、領域１２０Ｈ．１５は“使用可能”を含むことができる。もしいずれかに問題があるか、あるいはもしいずれかの要求を受け取るための規定の時間が過ぎた場合は、領域１２０Ｈ．１５は“使用不可能”を含むことができる。領域１２０Ｈ．１５は、また、もし手段が実質的に使用不能だと判断したならば（例えば、銀行によって口座が止められている場合）、“使用不可能”を含むことができる。他の結合された手段のステータスは、手段のタイプと特別のタイプの手段を結合するのに必要なステップに依存する。もちろん、プリノート処理はオンラインで行われる。
【００７６】
領域１２０Ｈ．１６は、結合された手段が販売取引のために使用可能かどうかを示すフラグである。販売取引は、デビットカードの使用と同様に、顧客個人１２０．１が結合した手段を直接使用して何かのために支払いするのに使用される操作である。
【００７７】
もし領域１２０Ｈ．１６が結合した手段が販売取引のために使用可能であることを示していれば、顧客ユーザ２０３の選択した（その国の）通貨の限度が領域１２０Ｈ．１７に蓄積される。もしその国の通貨が存在しなければ、１２０Ｈ．１７の販売取引限度はＵＳドルで蓄積される。特別の値を、結合された手段のための販売取引の限度が無いことを示すために使用することができる。この特別の値は、この領域が受け入れることのできる値のセット以内でなければどのような値でもかまわない。例えば、もし領域１２０Ｈ．１７の限界が正の数で表現されていれば、特別な値は負の数とすることができる。
【００７８】
領域１２０Ｈ．１８は、結合された手段がクレジット／リターン取引に使用可能かどうかを示すフラグである。クレジット／リターン取引は、販売者が、最初に同意した製品を提供する代わりに顧客個人を信用する操作である。
【００７９】
もし領域１２０Ｈ．１８が、結合された手段がクレジット／リターン取引のために使用可能であることを示していれば、クレジット／リターン取引毎の顧客ユーザ２０３の選択したその国の通貨の限度が、領域１２０Ｈ．１９に蓄積される。もしその国の通貨が存在しなければ、領域１２０Ｈ．１９のクレジット／リターン取引の限度はＵＳドルとなる。上述したように、特別の値を、結合された手段のためのクレジット／リターン取引の限度が無いことを示すために使用することができる。
【００８０】
領域１２０Ｈ．２０は、結合された手段が上述したロード操作のために使用可能かどうかを示すフラグである。
【００８１】
もし領域１２０Ｈ．２０が、結合した手段がロード操作のために使用可能であることを示していれば、限度が領域１２０Ｈ．２１に蓄積される。領域１２０Ｈ．２１のロードキャッシュ取引限度は、その国の通貨における限度を示す。もしその国の通貨が存在しなければ、領域１２０Ｈ．２のロードキャッシュ取引限度はＵＳドルで表示される。特別な値を、上述したように、結合された手段のためのロードキャッシュ取引限度が無いことを示すために使用することができる。
【００８２】
領域１２０Ｈ．２２は、結合された手段が上述したアンロード操作のために使用可能かどうかを示すフラグである。
【００８３】
もし領域１２０Ｈ．２２が、結合した手段がアンロード操作のために使用可能であることを示していれば、キャッシュ取引の限度が領域１２０Ｈ．２３に蓄積される。領域１２０Ｈ．２３のアンロードキャッシュ取引限度は、その国の通貨における限度を示す。もしその国の通貨が存在しなければ、領域１２０Ｈ．２３のアンロードキャッシュ取引限度は、好ましくはＵＳドルで表示される。特別な値を、上述したように、結合された手段のためのアンロードキャッシュ取引限度が無いことを示すために使用することができる。
【００８４】
領域１２０Ｈ．２４は、結合した手段が顧客個人１２０．１のためのオートクローズ結合として指定されているかどうかを示すフラグである。オートクローズ結合は、アンロードキャッシュ取引フラグ（領域１２０Ｈ．２２）を使用可能の状態にしなければならない。
【００８５】
領域１２０Ｈ．２５は、領域１２０Ｈ．１７に蓄積された販売取引限度が適用される時間数を蓄積する。
【００８６】
領域１２０Ｈ．２６は、領域１２０Ｈ．１９に蓄積されたクレジット取引限度が適用される時間数を蓄積する。
【００８７】
領域１２０Ｈ．２７は、領域１２０Ｈ．２１に蓄積されたロードキャッシュ取引限度が適用される時間数を蓄積する。
【００８８】
領域１２０Ｈ．２８は、領域１２０Ｈ．２３に蓄積されたアンロードキャッシュ取引限度が適用される時間数を蓄積する。
【００８９】
領域１２０Ｉは上述した法律的合意を蓄積する。
【００９０】
顧客個人１２０．１の上述した記載が顧客ユーザ２０３に関するデータに関して効力をもつ一方、販売者ユーザ３０３がサーバ個人データ構造１２０内に蓄積された販売者個人１２０．２を有することに注意する必要がある。販売者個人１２０．２は図９、１０及び１１に示されており、ここで領域１２０ＡＡ−１２０ＨＨ、１２０ＧＧ．１−１２０ＧＧ．４及び１２０ＨＨ．１−１２０ＨＨ．２８は、図６、７及び８の領域１２０Ａ−１２０Ｈ、１２０Ｇ．１−１２０Ｇ．４及び１２０Ｈ．１−１２０Ｈ．２８に対応している。
【００９１】
２．サーバセッションデータ構造１３０
概要を図５に示すサーバセッションデータ構造１３０は、セッションと関連するデータを蓄積する。まず顧客ユーザ２０３についてサーバセッションデータ構造１３０を説明する。
【００９２】
図１２を参照すると、サーバセッションデータ構造１３０は一つまたはそれ以上の顧客セッションレコード１３０．１を含む。サーバセッションデータ構造１３０は、顧客ユーザ２０３の各動作中のセッションに対し一つのレコード１３０．１を含む。
【００９３】
サーバコンピュータ１００は特別のセッション確認番号（“セッションＩＤ”）によってセッションを確認する。このセッションＩＤは領域１３０Ａに蓄積される。
【００９４】
セッションの間にサーバコンピュータ１００と顧客コンピュータ２００との間で交換されたメッセージは、暗号化されたデータを含む。領域１３０Ｂは、（“セッションキー”として知られている）暗号化のためのキーを含む。領域１３０Ｂのセッションキーは、サーバコンピュータ１００によって、キーを計算して顧客コンピュータ２００から受け取った暗号化されたメッセージを解読するために使用される。
【００９５】
領域１３０Ｃは、好ましくは８バイト長のセッションソルトを蓄積する。以下に記述するように、セッション中、サーバコンピュータ１００、顧客コンピュータ２００及び販売者コンピュータ３００の間で交換されたメッセージは、デジタル署名を使用して検証されてはいない。その代わりに、セッション中に交換されたメッセージは、上述したセッションキーとセッションソルトの知識により検証される。メッセージの暗号化されていない部分が変更されないことを確実にするため、メッセージはハッシュされ、ハッシュ値はメッセージの暗号化された部分に含まれる。領域１３０Ｃのセッションソルトの使用が、ハッシュ値がより安全になることを確実にする。
【００９６】
本発明では、顧客ユーザ２０３は一つまたはそれ以上の通貨でビジネスの取引を行ない得る。領域１３０Ｄは、顧客ユーザ２０３がセッション中使用する通貨の単位（例えば、ＵＳドル）を示す。
【００９７】
領域１３０Ｅは、セッションの開始にあたって顧客ユーザ２０３が使用可能な（領域１３０Ｄの通貨による）電子キャッシュの最大量を表している。
【００９８】
領域１３０Ｆは、セッション中の特定の時に、ユーザ２０３が使用可能な（領域１３０Ｄの通貨による）電子キャッシュの量を示す。領域１３０Ｆの初期値は領域１３０Ｅの開設時に蓄積された値である。その後、領域１３０Ｆの現在値は、１３０Ｆの前回の値からセッション中製品のために使用した量を引くことによって決定される。
【００９９】
領域１３０Ｇは、セッションが発生した日付と時間を示す。領域１３０Ｈは、セッションが実際に終了した日付と時間を示す。
【０１００】
領域１３０Ｉは、サーバコンピュータ１００が認識する顧客コンピュータ２００による領域１３０Ｂのセッションキーの使用の最大回数（キー使用リミット）を示している。
【０１０１】
領域１３０Ｊは、領域１３０Ｂのセッションキーが有効な時間の長さ（キー寿命）を示している。
【０１０２】
領域１３０Ｋは、顧客ユーザ２０３の個人ＩＤを蓄積する。セッションが個人１２０．１と関連するのは、領域１３０Ｋの個人ＩＤを通してである。
【０１０３】
領域１３０Ｌは、領域１３０ＡのセッションＩＤと関連するセッションのステータスを蓄積する。このステータスは、“オープン”または“クローズド”のいずれかである。
【０１０４】
領域１３０Ｍは、領域１３０ＡのセッションＩＤと関連するセッションを記載するため顧客ユーザ２０３によって与えられるオプショナルな文字列（メモ）を蓄積する。領域１３０Ｍは、セッションの開始の時に顧客ユーザ２０３によって与えられる文字列と、セッションの終了時に与えられる文字列とを含むこともできる。
【０１０５】
取引データ１３０Ｎは、領域１３０Ｎ．１−１３０Ｎ．５を備えている。領域１３０ＡのセッションＩＤによって確認されたセッションの間に顧客ユーザ２０３によって行われる各取引に対して、図１３に示す領域１３０Ｎ．１−１３０Ｎ．５が維持される。そのような取引の最大回数は、領域１３０Ｉに蓄積されたキー使用限度と同じである。領域１３０Ｎ．１−１３０Ｎ．５を、以下に図１３を参照して詳細に記載する。
【０１０６】
領域１３０Ｎ．１は、特別の取引に対して顧客ユーザ２０３が支払った総金額を含む。
【０１０７】
領域１３０Ｎ．２は、領域１３０Ａに蓄積されていたセッションＩＤを蓄積する。
【０１０８】
領域１３０Ｎ．３は、特定のオーダーを確認するため販売者コンピュータ３００によって発生されるオーダー確認番号（“オーダーＩＤ”）を蓄積する。
【０１０９】
領域１３０Ｎ．４は、そこから特定の取引と関連して製品を購入した販売者３０３のセッションＩＤを蓄積する。
【０１１０】
領域１３０Ｎ．５は、特定の取引に対して顧客コンピュータ２００が割り当てたインデックス値を蓄積する。このインデックス値は領域１３０Ｉで確立されたキー使用限度の範囲内でなければならない。顧客個人１２０．１によって実行される取引を、それらが実行された順にサーバコンピュータ１００によって受け取ることができないため、インデックス値は、許可されたインデックス値のビットマップのような方法で蓄積され、これにより、サーバコンピュータ１００が、許可されたインデックス値が使用されたのかどうかを決定し、適切な行動を次に起こすことができる。
【０１１１】
サーバセッションデータ構造１３０、顧客セッションレコード１３０．１の上述した記載は、顧客ユーザ２０３に関するデータに対して効力を有するのに対し、販売者ユーザ３０３はサーバセッションデータ構造１３０に蓄積された対応するデータを有することに注意する必要がある。そのような販売者セッションレコード１３０．２は図１４及び１５に示され、ここで領域１３０ＡＡー１３０ＮＮが領域１３０Ａ−１３０Ｎに対応し、領域１３０ＮＮ．１−１３０ＮＮ．５が領域１３０Ｎ．１−１３０Ｎ．５に対応している。
【０１１２】
３．メッセージログデータ構造１４０
メッセージログデータ構造１４０（図５）は、サーバコンピュータ１００によって受け取られ送られたメッセージを追跡する。これにより、サーバコンピュータ１００は、重複したメッセージを認識し適切に対応することができる。重複したメッセージは、インターネット５０を通しての予測できないコミュニケーションの下で、クライアントとサーバコンピュータ１００との間の一致した状態を確実にするために使用される。例えば、有効なメッセージの重複に対しても、オリジナルの回答と同様の回答を行なう。しかしながら、サーバコンピュータ１００は、重複したメッセージの処理を重複してすることはない。メッセージログデータ構造１４０のレコード１４０．１を、以下に図１６を参照して記載する。
【０１１３】
領域１４０Ａは、サーバコンピュータ１００によって受け取られたメッセージ中に含まれる個人ＩＤを含む。
【０１１４】
領域１４０Ｂは、サーバコンピュータ１００によって受け取られたメッセージＣＡ２（後に記載する）中に含まれるセッション番号を含む。サーバコンピュータ１００によって受けたられた他のすべてのメッセージに対し、この領域は好ましくは零値である。
【０１１５】
領域１４０Ｃは、サーバコンピュータ１００によって受け取られたメッセージＲ１、ＢＩ１、ＬＵ１、ＯＳ１またはＣＳ１（後に記載する）中に含まれる取引番号を含む。サーバコンピュータ１００によって受け取られるいずれのメッセージＣＡ２に対しても、この領域は好ましくは零値である。
【０１１６】
領域１４０Ｄは、サーバコンピュータ１００によって受け取られたメッセージＣＡ２の中に含まれるインデックスを含む。サーバコンピュータ１００によって受け取られた他のすべてのメッセージに対し、この領域は好ましくは零値である。
【０１１７】
領域１４０Ｅは、領域１４０Ａ−１４０Ｄと関連するサーバコンピュータ１００によって受け取られた（着信する）メッセージのハッシュまたはコピーを含む。
【０１１８】
領域１４０Ｆは、領域１４０Ｅにセーブされたメッセージに応答してサーバコンピュータ１００によって送られたメッセージのコピーを含む。
【０１１９】
４．メッセージデータ構造１５０
メッセージデータ構造１５０（図５）は、本発明で使用されるメッセージのフォーマットや内容をタイプおよびバージョンによって示すテンプレートを含む。例えば、特定のメッセージは、サポートされたバージョンの一つまたはそれ以上の顧客アプリケーションソフトウェア２１０または販売者アプリケーションソフトウェア３１０の間において異なるものとなり得る。メッセージがサーバコンピュータ１００によって受け取られた時、そのメッセージはそのメッセージのためのテンプレートと比較される。後に記載するように、もしメッセージがテンプレートに合わないと、エラーメッセージがメッセージの送付者に返される。
【０１２０】
５．プライベートキーデータ構造１６０
プライベートキーデータ構造１６０は、サポートされたバージョンの顧客アプリケーションソフトウェア２１０または販売者アプリケーションソフトウェア３１０で使用される、サーバコンピュータ１００のＲＳＡパブリック／プライベートキーのペアのリストを保持する。後に記載するように、サーバコンピュータに送られた暗号化されたメッセージは、サーバコンピュータ１００に、サーバコンピュータ１００のどのＲＳＡパブリックキーがメッセージを暗号化するために顧客アプリケーションソフトウェア２１０または販売者アプリケーションソフトウェア３１０によって使用されたのかを知らせるポインターを含む。このようにして、サーバコンピュータ１００は、暗号化されたメッセージを解読するための対応するＲＳＡプライベートキーを見つけることができる。
【０１２１】
６．アプリケーションデータ構造１７０
アプリケーションデータ構造１７０は、存在するバージョンの顧客アプリケーションソフトウェア２１０及び販売者アプリケーションソフトウェア３１０に追随する。アプリケーションデータ構造１７０は、また、顧客アプリケーションソフトウェア２１０または販売者アプリケーションソフトウェア３１０の更新が可能または必要かどうかを決定するために使用される。例えば、サーバコンピュータ１００は、顧客コンピュータ２００に、顧客アプリケーションソフトウェア２１０が現在のバージョンではないが使用できることを、またはこのソフトウェアがもはや使用できず交換しなければならないことをアドバイスすることができる。
【０１２２】
Ｂ．顧客データベース２０２
図１７は顧客データベース２０２の一般的な構成を示す。顧客データベース２０２は、顧客アプリケーションデータ構造２１５、顧客個人データ構造２２０、顧客手段結合データ構造２３０、顧客セッションデータ構造２４０、顧客継続取引データ構造２５０、顧客ログデータ構造２６０、メッセージテンプレートデータ構造２７０及び顧客キャッシュデータ構造２８０を含む。これらのデータ構造の各々を以下に詳細に記載する。
【０１２３】
１．顧客アプリケーションデータ構造２１５
顧客アプリケーションデータ構造２１５は、サーバコンピュータ１００に関するデータを蓄積する。図１８を参照すると、顧客アプリケーションデータ構造２１５はそこに詳細に示されたレコード２１５．１を含む。
【０１２４】
領域２１５Ａは、サーバコンピュータ１００のためのＲＳＡパブリックキーを含む。領域２１５ＡのＲＳＡパブリックキーは、顧客コンピュータ２００からサーバコンピュータ１００へ送られるメッセージ中のデータを暗号化するために顧客コンピュータ２００によって使用される。
【０１２５】
領域２１５Ｂは、サーバコンピュータ１００に対するユニフォームリソースロケータ（“ＵＲＬ”）を蓄積する。領域２１５のＵＲＬは、インターネット５０のワールドワイドウェブ上のサーバコンピュータ１００のアドレスである。
【０１２６】
顧客アプリケーションデータ構造２１５及びレコード２１５．１の上述した記述は、顧客ユーザ２０３に関するデータに関して有効なものであるが、販売者ユーザ３０３は、図３９に示す販売者アプリケーションデータ構造３１５に蓄積された対応するデータを有することに注意する必要がある。販売者レコード３１５．１は図３９に示されており、ここで領域３１５Ａ−３１５Ｂは領域２１５Ａ−２１５Ｂに対応する。
【０１２７】
２．顧客個人データ構造２２０
顧客個人データ構造２２０は顧客ユーザ２０３に関するデータを蓄積する。図１９を参照すると、顧客個人データ構造２２０は、そこに詳細に示されているようにレコード２２０．１を含む。
【０１２８】
領域２２０Ａ−２２０Ｃは、領域１２０Ａ−１２０Ｃ（図６）に対応し、これらと同様の情報を含む。
【０１２９】
領域２２０Ｄは、顧客ユーザ２０３に対するオートクローズパスフレーズを蓄積する。オートクローズパスフレーズは、顧客ユーザ２０３が後に記載するある事情で顧客個人１２０．１を終了させることのできるパスフレーズである。
【０１３０】
領域２２０Ｅは、顧客ユーザ２０３にとって好ましいコミュニケーションのための言語を含む。
【０１３１】
顧客ユーザ２０３のデフォルト状態の名前及び住所は、領域２２０Ｆに蓄積される。デフォルト状態の名前及び住所は、その顧客個人１２０．１が領域２２０Ａの個人ＩＤによって示される個人の名前及び住所である。領域２２０Ｆのデフォルト状態の名前及び住所は、要求された時にそのような情報を提供する機能を有する。
【０１３２】
領域２２０Ｇは、例えばコミュニケーションの選択（例えば、秒単位のタイムアウトレンジ）、警報の選択（例えば、取引のオフラインを送る際および／またはログオンする際に警報を示すこと）、および安全の選択（例えば、支払い操作の前にパスフレーズを求めること）等の好ましい顧客アプリケーションソフトウェア２１０のセッティング（オプション）を保有する。
【０１３３】
領域２２０Ｈは、顧客個人１２０．１に対するＲＳＡプライベートキーを蓄積する。領域２２０ＨのＲＳＡプライベートキーは、サーバデータベース１０２に蓄積された領域１２０ＣのＲＳＡパブリックキーと対の関係になっている。
【０１３４】
キャッシュコンテナデータ２２０Ｉは、図３７に示す領域２８０Ａ−２８０Ｃを表す。
【０１３５】
手段結合２２０Ｊは、図２０に示す領域２３０Ａ−２３０Ｓを表す。
【０１３６】
領域２２０Ｋは、領域２２０Ｄに蓄積されたオートクローズパスワードと相関するオートクローズアカウント番号を保有する。
【０１３７】
領域２２０Ｌは、法律的合意を表す一つあるいはそれ以上の整数を蓄積する。好ましい実施例において、サーバコンピュータ１００のオペレータは、顧客ユーザ２０３が個人を創造するために、どのような法律的合意に顧客ユーザ２０３が同意しなければならないかを決定する。
【０１３８】
動作中のセッションデータ２２０Ｍは、領域２４０Ａ−２４０Ｋを表す。
【０１３９】
継続ログデータ２２０Ｎは、継続ログデータ構造２５０のレコード２５１−２５６を表す。
【０１４０】
取引ログデータ２２０Ｏは、取引ログデータ構造２６０のレコード２６１−２６７を表す。
【０１４１】
顧客個人データ構造２２０及びレコード２２０．１の上述した記載は、顧客ユーザ２０３に関するデータに対して有効なものであるが、販売者ユーザ３０３は、図４０に示す販売者個人データ構造３２０に蓄積された対応するデータを有することに注意する必要がある。販売者レコード３２０．１は図４０に示され、ここで領域３２０Ａ−３２０Ｏは領域２２０Ａ−２２０Ｏに対応している。
【０１４２】
３．顧客手段結合データ構造２３０
顧客手段結合データ構造２３０は、結合された手段に関する顧客コンピュータ２００における情報を保有する。図２０を参照すると、顧客手段結合データ構造２３０は、一つまたはそれ以上のレコード２３０．１を含む。顧客データベース２０２は、顧客個人１２０．１に対し結合された各手段に対して一つのレコード２３０．１を有する。顧客手段結合データ構造２３０の詳細なレコード２３０．１は図２０に示されている。ここで各領域は以下の通りである。
【０１４３】
領域２３０Ａは、手段番号を蓄積する。
【０１４４】
領域２３０Ｂは、結合された手段の説明を含む。
【０１４５】
領域２３０Ｃ−２３０Ｊは、それぞれ、結合された手段の保有者の名前、国、郵便番号、国コード、地域コード、電話番号を表す。
【０１４６】
領域２３０Ｋは、結合された手段に関連付けられたデフォルト状態の通貨を蓄積する。
【０１４７】
領域２３０Ｌ−２３０Ｏは、結合された手段が、販売取引、クレジット返還取引、アンロード及びロード操作に対し使用可能かどうかを示すフラグである。領域２３０Ｌ−２３０Ｏは、それぞれ、領域１２０Ｈ．１６、１２０Ｈ．１８、１２０Ｈ．２２及び１２０Ｈ．２０に対応する（図８）。
【０１４８】
領域２３０Ｐは結合された手段のステータスを含んでいる。この領域２３０Ｐの結合ステータスは図８の領域１２０Ｈ．１５の結合ステータスに相当する。
【０１４９】
領域２３０Ｑは、結合された手段に対するソルトを蓄積する。領域２３０Ｑのソルトは、顧客アプリケーションソフトウェア２１０によって発生するランダム番号を表す。上述したように、サーバによって、領域１２０Ｈ．９に蓄積される手段ハッシュ値の結果をより強力にするために使用される。
【０１５０】
領域２３０Ｒは、結合された手段と関連するある情報を蓄積し、“手段再起動データ”として参照される。この再起動データは、顧客アプリケーションソフトウェア２１０によって、手段が結合された時にサーバコンピュータ１００により確認されたラベル値ペアのセットを再構成するために使用されるデータ文字列である。この領域は、再起動データと関連した手段の使用を要求する操作中において、顧客コンピュータ２００によってサーバコンピュータ１００に戻される。このようにして、サーバコンピュータ１００は、そのデータ構造にその情報を蓄積すること無しに、必要に応じて手段に関する情報を受け取ることができる。再起動データ中に含まれる特定のラベル値ペアは、結合された手段のタイプ及び手段の発行者の要求に依存する。例えば、クレジットカードは、カードがファンドを個人１２０．１にロードするために使用されるたびにサーバへ戻すべき、カード番号、カード使用期限、カード所有者の名前及び住所を要求する。再起動データは、顧客アプリケーションソフトウェア２１０が正しいラベル値ペアフォーマットでこの情報を戻すことを許可するデータを有する。
【０１５１】
領域２３０Ｓは、領域１２０Ｈ．７（図８）に対応し、法律的合意に関する領域１２０Ｈ．７（図８）と同じ情報を蓄積する。
【０１５２】
顧客手段結合データ構造２３０及びレコード２３０．１の上述した記載は、顧客ユーザ２０３に関するデータに関して有効であるが、販売者ユーザ３０３は、図４１に示す販売者個人データ構造３３０に蓄積された対応するデータを有することに注意する必要がある。販売者レコード３３０．１は図４１に示され、ここで領域３３０Ａ−３３０Ｓは領域２３０Ａ−２３０Ｓに対応する。
【０１５３】
４．顧客セッションデータ構造２４０
顧客セッションデータ構造２４０は、セッションに関する顧客コンピュータ２００における情報を維持する。図２１を参照すると、顧客セッションデータ構造２４０は、一つまたはそれ以上のレコード２４０．１を含む。顧客セッションデータ構造２４０は、顧客ユーザ２０３の動作中のセッションの各々に対し一つのレコード２４０．１を含む。顧客セッションデータ構造２４０の詳細なレコード２４０．１を図２１に示す。
【０１５４】
領域２４０Ａ−２４０Ｆは、領域１３０Ａ−１３０Ｆ（図１２）に対応し、セッションに関して領域１３０Ａ−１３０Ｆ（図１２）と同様の情報を含む。領域２４０Ｇは、セッション中に顧客コンピュータ２００によって使用された最後のインデックスを含む。領域２４０Ｈは、領域１３０Ｍと同様の情報を含む。領域２４０Ｊ−２４０Ｋは、それぞれ、領域１３０Ｉ−１３０Ｊと同様のデータを含む。
【０１５５】
顧客セッションデータ構造２４０及びレコード２４０．１の上述した記載は、顧客ユーザ２０３に関するデータに対して効力を有する一方、販売者ユーザ３０３は、図４２に示す販売者個人データ構造３４０に蓄積された対応するデータを有することに注意する必要がある。販売者レコード３４０．１は図４２に示され、ここで領域３４０Ａ−３４０Ｋは領域２４０Ａ−２４０Ｋ（図２１）に対応する。
【０１５６】
５．顧客継続取引データ構造２５０
顧客継続取引データ構造２５０は、（１）顧客コンピュータ２００から送られてきたメッセージを作成するために必要なデータ及び（２）顧客コンピュータ２００から送られてきた各メッセージのコピーを蓄積する。図２２を参照すると、顧客継続取引データ構造２５０は、以下のレコードを含む：継続中の個人登録／更新個人情報２５１、継続中のリンク／更新財務手段結合２５２、継続中のキャッシュ支払い２５３、継続中のロード／アンロードファンド２５４、継続中のオープンセッションレコード２５５及び継続中のクローズセッションレコード２５６。各レコード２５１−２５６を、以下に図２３−２８を参照にして詳細に記載する。継続中のレコード２５１−２５６は、顧客ユーザ２０３が反対しない限り、顧客コンピュータ２００から回答メッセージを受領するとともに消去することが好ましい。
【０１５７】
ａ．継続中の個人登録／更新個人情報レコード２５１
継続中の個人登録／更新個人情報レコード２５１は、それによって個人ユーザ２０３が顧客個人１２０．１を創造する処理に関するデータを蓄積する。図２３を参照して、レコード２５１を詳細に示す。
【０１５８】
領域２５１Ａは、実行される動作のタイプ（取引タイプ）を表すコードを示す。例えば、領域２５１Ａは、ユーザ２０３が個人１２０．１を作成したことを示すコード“創造”を含むことができる。もし、個人１２０．１がすでに存在しており、実行する動作をその個人と関連して何か変更したいならば、領域２５１はコード“変更”を含むことができる。
【０１５９】
領域２５１Ｂは、取引番号、すなわち、特別の行動を示す特別の番号を蓄積する。領域２５１Ｂの取引番号は、クライアントアプリケーションソフトウェア２１０によって発生する。領域２５１Ｂの取引番号は、サーバコンピュータ１００が関連した返事のメッセージを送ることを許可する。取引番号は特別の番号で形成されているため、領域２５１Ｂの取引番号は、サーバコンピュータ１００がメッセージＲ１が重複したメッセージかどうかを決定することを許可する。
【０１６０】
領域２５１Ｃは、メッセージＲ１が組み込まれてサーバコンピュータ１００に送られた日付と時間を表している。
【０１６１】
領域２５１Ｄは、メッセージＲ１を組み込むために使用されたアプリケーションソフトウェア２１０のバージョンを蓄積する。後に記述するように、領域２５１Ｄのソフトウェアバージョン番号は、顧客アプリケーションソフトウェア２１０が時代遅れになったかどうかを決定するために使用される。
【０１６２】
領域２５１Ｅは、領域２２０Ｅ（図１８）に対応する顧客ユーザ２０３のための好ましい言語を含む。
【０１６３】
領域２５１Ｆは、領域２４０Ｄ（図２１）に対応する顧客ユーザ２０３のための好ましい通貨を含む。
【０１６４】
領域２５１Ｇは、顧客ユーザ２０３によって要求された個人ＩＤを蓄積する。領域２５１Ｇの要求された個人ＩＤは、顧客ユーザ２０３に最終的に割り当てられた個人ＩＤと同じでない場合があることに注意する必要がある。例えば、サーバコンピュータ１００は、もしそれが他の顧客ユーザ２０３によってすでに使用中であれば、領域２５１Ｇの要求された個人ＩＤを拒絶することができる。
【０１６５】
領域２５１Ｈは、領域２２０Ｂ（図１９）に対応する顧客ユーザ２０３のＥメールアドレスを含む。
【０１６６】
領域２５１Ｉは、領域１２０Ｆ（図６）に対応するオートクローズフレーズを含む。
【０１６７】
領域２５１Ｊは、顧客コンピュータ２００からサーバコンピュータ１００へ送られたオリジナルメッセージＲ１のコピーであるオリジナル取引文字列を蓄積する。
【０１６８】
ｂ．継続中のリンク／更新手段レコード２５２
継続中のリンク／更新レコード２５２は、それにより顧客ユーザ２０３が、顧客個人１２０．１に手段を結合するか、あるいは存在する手段の結合を更新するかに関するデータを蓄積する。図２４を参照して、レコード２５２を詳細に示す。
【０１６９】
領域２５２Ａは、実行される動作のタイプ（取引タイプ）を表すコードを示す。例えば、領域２５２Ａは、ユーザ２０３が手段を顧客個人１２０．１にリンクしていることを示すコード“リンク”を含むことができる。もし、実行された動作が、すでにその個人とリンクしている手段と連動する何かを変更すべきであるならば、領域２５２Ａはコード“更新”を含むことができる。
【０１７０】
領域２５２Ｂ−２５２Ｄは、図２３の領域２５１Ｂ−２５１Ｄに対応し、図２３の領域２５１Ｂ−２５１Ｄと同様の情報を蓄積する。これらの領域は、それぞれ、取引番号、取引の日付及び時間、ソフトウェアのバージョンに関する。
【０１７１】
領域２５２Ｅは、領域２２０Ａ（図１８）に対応する顧客ユーザ２０３の個人ＩＤを含む。
【０１７２】
領域２５２Ｆは、個人１２０．１と結合された手段の数を蓄積する。
【０１７３】
領域２５２Ｇは、例えばアメリカンエクスプレスカードの顧客確認番号のような、結合された手段を使用するために必要な追加的顧客確認情報を蓄積する。
【０１７４】
領域２５２Ｈは、結合された手段が発行される個人の名前を蓄積する。
【０１７５】
領域２５２Ｉは、結合された手段の満了日を蓄積する。
【０１７６】
領域２５２Ｊ−２５２Ｑは、それぞれ、結合された手段が発行される個人の、街区番号、市、州、郵便番号、国、国番号、エリア番号、電話番号を蓄積する。
【０１７７】
領域２５２Ｒは、結合された手段の顧客ユーザ２０３が選択した記載を含む。
【０１７８】
手段再起動データ領域２５２Ｓは、結合された手段に関する領域２３０Ｒに蓄積された情報を蓄積する。
【０１７９】
領域２５２Ｔは、例えばＶＩＳＡ、アメリカンエクスプレス等の結合された手段のタイプを蓄積する。
【０１８０】
領域２５２Ｕは、顧客コンピュータ２００によって作成されたランダム番号のソルトを含む。領域２５２Ｕのソルトは、サーバ１００で維持された手段番号ハッシュをさらに強力にするために使用される。
【０１８１】
領域２５２Ｖは、もしセットされれば、手段がオートクローズアカウントの手段であることを示すフラグを蓄積する。
【０１８２】
領域２５２Ｗは、顧客コンピュータ２００からサーバコンピュータ１００へ送られたオリジナルメッセージＢＩ１のコピーであるオリジナル取引文字列を蓄積する。
【０１８３】
ｃ．継続中のキャッシュ支払いレコード２５３
継続中のキャッシュ支払いレコード２５３は、キャッシュ支払いを含む取引に関するデータを蓄積する。図２５を参照して、レコード２５３を詳細に示す。
【０１８４】
領域２５３Ａは、実行される動作のタイプ（取引タイプ）を表すコードを示す。例えば、もしセッションが始まっていれば、領域２５４Ａは、顧客ユーザ２０３がメッセージＣＡ１（後に記載する）を送っていることを示すコード“キャッシュ支払い”を示すことができる。
【０１８５】
領域２５３Ｂ−２５３Ｄは、領域２５１Ｂ−２５１Ｄ（図２３）に対応し、領域２５１Ｂ−２５１Ｄ（図２３）と同じ情報を蓄積する。これらの領域は、それぞれ、取引番号、取引の日付及び時間、ソフトウェアのバージョンに関する。
【０１８６】
領域２５３Ｅは、領域２２０Ａ（図１９）に対応する顧客ユーザ２０３の個人ＩＤを含む。
【０１８７】
領域２５３Ｆは、オーダー確認番号（“オーダーＩＤ”）を蓄積する。領域２５３ＦのオーダーＩＤは、特別のオーダーを確認するために販売者コンピュータ３００によって作成される。
【０１８８】
領域２５３Ｇは、販売者ユーザ３０３の個人ＩＤ１２０ＡＡ（図９）を含む。
【０１８９】
領域２５３Ｈは、顧客ユーザ２０３がその取引の対象物である製品に対し支払う電子キャッシュの総額を蓄積する。
【０１９０】
領域２５３Ｉは、この特別の取引を記載するメモを作成したオプショナル顧客ユーザ２０３に対する位置を提供する。
【０１９１】
領域２５３Ｊは、顧客ユーザ２０３が直接のキャッシュ支払いを希望する際の販売者コンピュータ３００のＵＲＬを含む。顧客アプリケーションソフトウェア２１０は、メッセージＣＡ１の形式で直接のキャッシュ支払い要求を販売者コンピュータ３００さらにはサーバコンピュータ１００に伝えるために、ＵＲＬ領域２５３Ｊを使用する。
【０１９２】
領域２５３Ｋは、現在の取引が行われている間セッションのセッションＩＤを蓄積する。
【０１９３】
領域２５３Ｌは、現在の取引と連動するインデックスを蓄積する。
【０１９４】
領域２５３Ｍは、顧客コンピュータ２００によって、販売者コンピュータ３００を介して、サーバコンピュータ１００に送られたメッセージＣＡ１のコピーであるオリジナル取引文字列を蓄積する。
【０１９５】
領域２５３Ｎは、顧客ユーザ２０３が取引のキャンセルを希望する際の販売者コンピュータ３００のＵＲＬを含んでいる。顧客アプリケーションソフトウェア２１０はメッセージＣＡ１の形式で取引要求をキャンセルするためにＵＲＬ領域２５３Ｎを使用する。
【０１９６】
領域２５３Ｏは、顧客ユーザ２０３による取引のキャンセルが成功したことを表示するための販売者コンピュータ３００のＵＲＬを含んでいる。顧客アプリケーションソフトウェア２１０はメッセージＣＡ４の形式でキャンセルの成功を表示するためにＵＲＬ領域２５３Ｏを使用する。
【０１９７】
領域２５３Ｐは取引の失敗を表示するための販売者コンピュータ３００のＵＲＬを蓄積する。顧客アプリケーションソフトウェア２１０はメッセージＣＡ４の形式で取引の失敗を表示するためにＵＲＬ領域２５３Ｐを使用する。
【０１９８】
ｄ．継続中のロード／アンロードファンドレコード２５４
継続中のロード／アンロードファンドレコード２５４は、電子キャッシュのロード及びアンロードを含む取引に関するデータを蓄積する。図２６を参照して、レコード２５４を詳細に示す。
【０１９９】
領域２５４Ａは、実行される動作のタイプ（取引タイプ）を表すコードを示す。例えば、領域２５４Ａは、顧客ユーザ２０３が、領域２５４Ｆで特定される手段からレコード２８０．１のキャッシュコンテナ領域２８０Ｂへファンドを“転送”することを示すコード“ロード”を含むことができる。あるいは、領域２５４Ａは、顧客ユーザ２０３が、キャッシュコンテナ領域２８０Ｂから領域２５４Ｆで特定される手段へ電子キャッシュを転送することを示すコード“アンロード”を含むことができる。
【０２００】
領域２５４Ｂ−２５４Ｄは、領域２５１Ｂ−２５１Ｄ（図２３）に対応し、領域２５１Ｂ−２５１Ｄ（図２３）と同様の情報を蓄積する。これらの領域は、それぞれ、取引番号、取引の日付及び時間、ソフトウェアのバージョンに関する。
【０２０１】
領域２５４Ｅは、領域２２０Ａ（図１９）に対応する顧客ユーザ２０３の個人ＩＤを含む。
【０２０２】
領域２５４Ｆは、そこからファンドがロードされるか、またはそこへファンドがアンロードされる結合された手段を特定するアカウント番号を蓄積する。
【０２０３】
領域２５４Ｇは、手段からロードすべき、または手段へアンロードすべきファンドの総額を蓄積する。
【０２０４】
領域２５４Ｈは、そこからファンドがロードされるか、またはそこへファンドがアンロードされるアカウントのタイプを蓄積する。
【０２０５】
領域２５１Ｉは、顧客コンピュータ２００によってサーバコンピュータ１００へ送られたメッセージＬＵ１のコピーであるオリジナル取引文字列を蓄積する。
【０２０６】
ｅ．継続中のオープンセッションレコード２５５
継続中のセッションレコード２５５は、それにより顧客ユーザ２０３がセッションを作成する処理に関するデータを蓄積する。図２７を参照して、レコード２５５を詳細に示す。
【０２０７】
領域２５５Ａは、実行される動作のタイプ（取引タイプ）を表すコードを示す。例えば、領域２５５Ａは、顧客ユーザ２０３がセッションを作成していることを示すコード“オープンセッション”を含むことができる。
【０２０８】
領域２５５Ｂ−２５５Ｄは、領域２５１Ｂ−２５１Ｄ（図２３）と対応し、領域２５１Ｂ−２５１Ｄ（図２３）と同様の情報を蓄積する。これらの領域は、それぞれ、取引番号、取引の日付及び時間、ソフトウェアのバージョンに関する。
【０２０９】
領域２５５Ｅは、領域２２０Ａ（図１９）に対応する顧客ユーザ２０３の個人ＩＤを含む。
【０２１０】
領域２５５Ｆは、セッション中に使用可能な電子キャッシュの総額を蓄積する。
【０２１１】
領域２５５Ｇは、顧客ユーザ２０３がセッション中に要求することのできる最大の取引回数（キー使用リミット）を表す値を蓄積する。
【０２１２】
領域２５５Ｈは、セッションがオープン状態にある最大の時間数（キー寿命）を表す値を蓄積する。
【０２１３】
領域２５５Ｉは、顧客ユーザ２０３によってエンターされたセッションのオプショナル記載のテキストを蓄積する。
【０２１４】
領域２５５Ｊは、領域２５５Ｆに蓄積された総額と連動する通貨を蓄積する。
【０２１５】
領域２５５Ｋは、顧客コンピュータ２００によってサーバコンピュータ１００へ送られたメッセージＯＳ１のコピーであるオリジナル取引文字列を蓄積する。
【０２１６】
ｆ．継続中のクローズセッションレコード２５６
継続中のクローズセッションレコード２５６は、それにより顧客ユーザ２０３がセッションを終了する処理に関するデータを蓄積する。図２８を参照して、レコード２５６を詳細に示す。
【０２１７】
領域２５６Ａは、実行される動作のタイプを表すコードを示す。例えば、領域２５６Ａは、顧客ユーザ２０３がセッションを終了することを示すコード“クローズセッション”を含むことができる。
【０２１８】
領域２５６Ｂ−２５６Ｄは、領域２５１Ｂ−２５１Ｄ（図２３）に対応し、領域２５１Ｂ−２５１Ｄ（図２３）と同様の情報を蓄積する。これらの領域は、それぞれ、取引番号、取引の日付及び時間、ソフトウェアのバージョンに関する。
【０２１９】
領域２５６Ｅは、領域２２０Ａ（図１９）に対応する顧客ユーザ２０３の個人ＩＤを含む。
【０２２０】
領域２５６Ｆは、“イエス”または“ノー”のいずれかを含む。領域２５６Ｆの値は、顧客ユーザ２０３が、顧客ユーザ２０３が終了しようとしているセッション中に行った取引のログの受取を選択したがどうかを決定する。
【０２２１】
領域２５６Ｇは、終了しようとする現在動作中のセッションのセッションＩＤを蓄積する。あるいは、もしすべての現在動作中のセッションを終了したいならば、領域２５６Ｇは零値である。
【０２２２】
領域２５６Ｈは、顧客ユーザ２０３によってエンターされたセッションの終了に関するオプショナル説明のテキストを蓄積する。
【０２２３】
領域２５６Ｉは、顧客コンピュータ２００によってサーバコンピュータ１００に送られたメッセージＣＳ１のコピーであるオリジナル取引文字列を蓄積する。
【０２２４】
６．顧客ログデータ構造２６０
図１７を参照すると、顧客ログデータ構造２６０は、顧客コンピュータ２００によって受け取られた各メッセージのコピーを維持する。顧客ログデータ構造２６０は、顧客コンピュータ２００によってサーバコンピュータ１００から受け取ったデータを蓄積する。図２９を参照すると、顧客ログデータ構造２６０は、以下のレコードを含む：個人登録／更新個人情報の応答２６１、リンク／更新財務手段結合の応答２６２、キャッシュ支払いの応答２６３、ロード／アンロードファンドの応答２６４、オープンセッションの応答２６５、支払い要求２６６、クローズセッションの応答２６７。各レコード２６１−２６７を、以下に図３０−３７を参照して詳細に記載する。
【０２２５】
ａ．個人登録／更新応答の個人情報レコード２６１
個人登録／更新個人情報レコード２６１は、顧客ユーザ２０３による顧客個人１２０．１を創造するための要求に対するサーバコンピュータ１００の応答に関するデータを蓄積する。図３０を参照して、レコード２６１を詳細に示す。
【０２２６】
領域２６１Ａは、要求された動作のタイプを示し、レコード２５１の領域２５１Ａの値と同じである。領域２６１Ｂは、２５１Ｂに蓄積された値と同じ取引番号を蓄積する。
【０２２７】
領域２６１Ｃは、メッセージＲ１がサーバコンピュータ１００に組み込まれ送られた日付及び時間を表す。
【０２２８】
後に議論するように、顧客コンピュータ２００からサーバコンピュータ１００へのメッセージは、メッセージを作成するのに使用した顧客アプリケーションソフトウェア２１０のバージョン番号を含むコードを運ぶ。サーバコンピュータ１００において、各ソフトウェアのバージョンは、３つの“ステータス”ラベル：現在、注意、致命的のうちの一つと連動する。サーバコンピュータ１００は、顧客のメッセージで報告されたソフトウェアのバージョンをチェックし、その応答メッセージの中に３つの可能性のあるステータスラベルのうちの一つを含ます。メッセージＲ２で戻されたステータスラベルは、ソフトウェアセビリティ領域２６１Ｄに蓄積される。ソフトウェアセビリティ領域２６１Ｄの内容に関するテキストメッセージは、サーバコンピュータ１００によって戻すこともでき、その場合は領域２６１Ｅに蓄積される。
【０２２９】
メッセージＲ１が成功したかあるいは失敗したかを示すコードがサーバコンピュータ１００によって返信され応答コードフィールド２６１Ｆ内に蓄積される。応答コードフィールド２６１Ｆの内容に関するテキストメッセージがサーバコンピュータ１００によって伝送された場合、領域２６１Ｇに蓄積される。
【０２３０】
領域２６１Ｈは、顧客ユーザ２０３によって要求された個人ＩＤを蓄積する。後に記載するように、もし要求された個人ＩＤが使用中であれば、サーバコンピュータ１００は顧客ユーザ２０３に個人ＩＤを提案する。サーバコンピュータ１００によって提案された個人ＩＤは、領域２６１Ｉに蓄積される。
【０２３１】
領域２６１Ｊは、領域２２０Ｂ（図１９）に対応する顧客ユーザ２０３のＥメールアドレスを含む。
【０２３２】
領域２６１Ｋは、領域２２０Ｅ（図１９）に対応する顧客ユーザ２０３にとって好ましい言語を含む。
【０２３３】
領域２６１Ｌは、領域２４０Ｄ（図２１）に対応する顧客ユーザ２０３にとって好ましい通貨を含む。
【０２３４】
ｂ．リンク／更新応答手段レコード２６２
リンク／更新手段レコード２６２は、サーバコンピュータ１００による、手段を顧客個人１２０．１に結合する要求に対する応答に関するデータを蓄積する。図３１を参照して、レコード２６２を詳細に示す。
【０２３５】
領域２６２Ａは、要求された動作のタイプ（取引タイプ）を示し、レコード２５２の領域２５２Ａの値と同じである。
【０２３６】
領域２６２Ｂ−２６２Ｇは、図３０の領域２６１Ｂ−２６１Ｇに対応し、図３０の領域２６１Ｂ−２６１Ｇと同様の情報を蓄積する。これらの領域は、それぞれ、取引の日付及び時間、ソフトウェアセビリティコード、ソフトウェアメッセージ、応答コード、応答メッセージに関連する。
【０２３７】
領域２６２Ｈは、領域２２０Ａ（図１９）に対応する顧客ユーザ２０３の個人ＩＤを含む。
【０２３８】
領域２６２Ｉは、顧客個人１２０．１に結合された手段の数を蓄積する。領域２６２Ｊは、顧客個人１２０．１に結合された例えば、ＶＩＳＡ、アメリカンエキスプレス等の手段のタイプを蓄積する。
【０２３９】
領域２６２Ｋは、例えばアメリカンエクスプレスカード顧客識別番号等の、結合された手段を使用するために必要な顧客識別情報を蓄積する。
【０２４０】
領域２６２Ｌは、結合された手段が発行された個人（顧客）の名前を蓄積する。
【０２４１】
領域２６２Ｍは、結合された手段の満了日を蓄積する。
【０２４２】
領域２６２Ｎ−２６２Ｕは、それぞれ、結合された手段が発行された個人の街区番号、市、州、郵便コード、国、国コード、エリアコード、電話番号を蓄積する。
【０２４３】
領域２６２Ｖは、顧客ユーザ２０３によって入力されたものとして結合された手段を説明するテキストを蓄積する。
【０２４４】
領域２６２Ｗは、もし何かがサーバコンピュータ１００によって戻された手段と連動するならば、その国の通貨を蓄積する。
【０２４５】
領域２６２Ｘは、サーバコンピュータ１００によって戻された手段の発行者の名前を蓄積する。
【０２４６】
領域２６２Ｙは、手段の発行の国を蓄積する。
【０２４７】
領域２６２Ｚは、もしセットされれば、手段がオートクローズアカウント手段であることを示すフラグを蓄積する。
【０２４８】
ｃ．キャッシュ支払い応答レコード２６３
キャッシュ支払い応答レコード２６３は、キャッシュ支払い及びセッションを含む取引に関するデータを蓄積する。図３２を参照して、レコード２６３を詳細に示す。
【０２４９】
領域２６３Ａは、要求された動作のタイプ（取引タイプ）を示し、レコード２５３の領域２５３Ａの値と同じである。
【０２５０】
領域２６３Ｂ−２６３Ｅは、図３０の領域２６１Ｂ−２６１Ｃ及び２６１Ｆ−２６１Ｇと同様の情報を蓄積する。これらの領域は、それぞれ、取引番号、日付及び時間、応答コード、応答メッセージに関連する。
【０２５１】
領域２６３Ｆは、領域２２０Ａ（図１９）と対応する顧客ユーザ２０３の個人ＩＤを含む。
【０２５２】
領域２６３Ｇは、オーダー確認番号（“オーダーＩＤ”）を蓄積する。領域２６３ＧのオーダーＩＤは、販売者コンピュータ３００によって特別のオーダーを確認するために発生される。
【０２５３】
領域２６３Ｈは、販売者ユーザ３０３の個人ＩＤ１２０ＡＡを含む。
【０２５４】
領域２６３Ｉは、販売者ユーザ３０３からのメッセージを蓄積する位置を提供する。
【０２５５】
領域２６３Ｊは、現在の取引の対象である製品に対し顧客ユーザ２０３が支払う電子キャッシュの総額を蓄積する。
【０２５６】
領域２６３Ｋは、メモを作成したオプショナル顧客ユーザ２０３に対する位置を提供する。
【０２５７】
領域２６３Ｌは、現在の取引が行われている間セッションのセッションＩＤを蓄積する。
【０２５８】
領域２６３Ｍは、現在の取引と連動するインデックスを蓄積する。
【０２５９】
ｄ．ロード／アンロードファンド応答レコード２６４
ロード／アンロードファンド応答レコード２６４は、顧客ユーザ２０３によるファンドをロードするためのあるいはアンロードするための要求に対するサーバコンピュータ１００の応答に関するデータを蓄積する。図３３を参照して、レコード２６４を詳細に示す。
【０２６０】
領域２６４Ａは、要求された動作のタイプ（取引タイプ）を示し、レコード２５４の領域２５４Ａの値と同じである。
【０２６１】
領域２６４Ｂ−２６４Ｇは、図３０の領域２６１Ｂ−２６１Ｇに対応し、図３０の領域２６１Ｂ−２６１Ｇと同様の情報を蓄積する。これらの領域は、それぞれ、取引の日付及び時間、ソフトウェアセビリティコード、ソフトウェアメッセージ、応答コード、応答メッセージに関連する。
【０２６２】
領域２６４Ｈは、領域２２０Ａ（図１９）に対応する顧客ユーザ２０３の個人ＩＤを含む。
【０２６３】
領域２６４Ｉは、そこから電子キャッシュがロードされるべき、あるいはそこへ電子キャッシュがアンロードされるべき結合された手段を確認するためのアカウント番号を蓄積する。
【０２６４】
領域２６４Ｊは、結合された手段へロードすべきあるいはそこからアンロードされるべき電子キャッシュの総額を蓄積する。
【０２６５】
領域２６４Ｋは、顧客個人１２０．１からロードまたはアンロードするためにサーバコンピュータ１００の操作によって払われたいずれかの料金の総額を蓄積する。
【０２６６】
領域２６４Ｌは、領域１２０Ｇ．２（図７）に蓄積された値に対応する、サーバコンピュータ１００によって決定された顧客個人１２０．１によって保持されるファンドの使用可能な残高と同じ額を蓄積する。
【０２６７】
領域２６４Ｍは、すでにロード（またはアンロード）されたが、顧客ユーザ２０３に対し使用可能となっていないファンドの総額を蓄積する。これらのファンドは、領域１２０Ｇ．３（図７）に蓄積された値に対応し、処理を待つ状態にある。
【０２６８】
ｅ．オープンセッション応答レコード２６５
オープンセッション応答レコード２６５は、顧客ユーザ２０３によるセッションを作成するための要求に対するサーバコンピュータ１００の応答に関するデータを蓄積する。図３４を参照して、レコード２６５を詳細に示す。
【０２６９】
領域２６５Ａは、要求された動作のタイプ（取引タイプ）を示し、レコード２５５の領域２５５Ａの値と同じである。
【０２７０】
領域２６５Ｂ−２６５Ｇは、図３０の領域２６１Ｂ−２６１Ｇに対応し、図３０の領域２６１Ｂ−２６１Ｇと同様の情報を蓄積する。これらの領域は、それぞれ、取引の日付及び時間、ソフトウェアセビリティコード、ソフトウェアメッセージ、応答コード、応答メッセージと関連している。
【０２７１】
領域２６５Ｈは、図１９の領域２２０Ａに対応する顧客ユーザ２０３の個人ＩＤを含む。
【０２７２】
領域２６５Ｉは、セッション中に使用可能な電子キャッシュの総額を蓄積する。
【０２７３】
領域２６５Ｊは、顧客ユーザ２０３がセッション中に要求できる取引の最大回数（キー使用リミット）を表す値を蓄積する。
【０２７４】
領域２６５Ｋは、セッションがオープン状態で続く最大の時間（キー寿命）を表す値を蓄積する。
【０２７５】
領域２６５Ｌは、セッションＩＤ番号を蓄積する。
【０２７６】
領域２６５Ｍは、顧客ユーザ２０３によってエンターされオープンされたセッションのオプショナル記述のテキストを蓄積する。
【０２７７】
領域２６５Ｎは、セッションを作成するためにサーバコンピュータ１００の操作によって課金されたいずれかの料金の額を蓄積する。
【０２７８】
領域２６０Ｏは、総額領域２６５Ｉの値が引かれた後、キャッシュコンテナ（領域１２０Ｇ．２）に残る使用可能な残高を蓄積する。
【０２７９】
ｆ．支払要求レコード２６６
支払い要求レコード２６６は、製品の支払いについての販売者ユーザ２０３からの要求に関連するデータを蓄積する。この要求は、販売者コンピュータ３００から顧客コンピュータ２００へ送られるメッセージＰＲ１（後に記述する）の形式で行われる。図３５を参照して、レコード２６６を詳細に示す。
【０２８０】
領域２６６Ａは、販売者ユーザ３０３の個人ＩＤ１２０ＡＡを含む。
【０２８１】
領域２６６Ｂは、オーダー確認番号（“オーダーＩＤ”）を蓄積する。領域２６６ＢのオーダーＩＤは、特別のオーダーを確認するために販売者コンピュータ３００によって発生される。
【０２８２】
領域２６６Ｃは、現在の取引の対象である製品に対し顧客ユーザ２０３が支払う電子ファンドの総額を蓄積する。
【０２８３】
領域２６６Ｄは、支払いのために販売者２０３によって受け入れられるクレジットカードのリストを蓄積する。
【０２８４】
領域２６６Ｅは、販売者ユーザ３０３からのメッセージ（ノート）を記憶する位置を提供する。
【０２８５】
領域２６６Ｆは、ＵＲＬに対する支払いを蓄積する。ラベル値ペア５０１３Ｉの値は、インターネット５０上のユニフォームリソースロケータである。ラベル値ペア５０１３Ｉのインターネット５０上のＵＲＬは、そこへ顧客コンピュータ２００が後に記載するメッセージＣＡ１を送るインターネット５０上のアドレスである。
【０２８６】
ｇ．クローズセッション応答レコード２６７
クローズセション応答レコード２６７は、顧客ユーザ２０３によるセッションを終了する要求に対するサーバコンピュータ１００の応答に関するデータを蓄積する。図３６を参照して、レコード２６７を詳細に示す。
【０２８７】
領域２６７Ａは、要求された動作のタイプ（取引タイプ）を示し、レコード２５６の領域２５６Ａの値と同じである。
【０２８８】
領域２６７Ｂ−２６７Ｇは、図３０の領域２６１Ｂ−２６１Ｇに対応し、図３０の領域２６１Ｂ−２６１Ｇと同様の情報を蓄積する。これらの領域は、それぞれ、取引の日付及び時間、ソフトウェアセビリティコード、ソフトウェアメッセージ、応答コード、応答メッセージに関連する。
【０２８９】
領域２６７Ｈは、領域２２０Ａ（図１９）に対応する顧客ユーザ２０３の個人ＩＤを蓄積する。
【０２９０】
領域２６７Ｉは、すべての支払い及び料金を差し引いた後、セッションを終了した後にセッション中に残る電子キャッシュの額を蓄積する。
【０２９１】
領域２６７Ｊは、メッセージＣＳ１で顧客ユーザ２０３により要求された場合に、サーバコンピュータ１００によって戻される取引ログを蓄積する。これは、また、取引ログを戻すかどうかをも示す。
【０２９２】
領域２６７Ｋは、セッションを終了するためにサーバコンピュータ１００によって支払われたいずれかの料金の額を蓄積する。
【０２９３】
７．メッセージテンプレートデータ構造２７０
図１７を参照すると、メッセージテンプレートデータ構造２７０は、顧客ユーザ２０３が送ったり受け取ったメッセージのフォーマットや内容の跡を追う。メッセージテンプレートデータ構造２７０を参照して決定された（例えば、シンタックス等の）有効な値を持つすべての要求されたラベルを含むメッセージは、たとえ関係の無いラベル値ペアが存在していたとしても、処理される。すべての要求されたラベル値ペアを含まない、または、メッセージテンプレートデータ構造２７０を参照して決定された無効の値と連動するラベルを含むメッセージは、作成に失敗する。
【０２９４】
メッセージテンプレート２７０の上述した記述は、顧客ユーザ２０３に関するデータに対して効力を有する一方、販売者ユーザ３０３は、図３８に示すメッセージテンプレート３８０に蓄積された対応するデータを有することに注意する必要がある。
【０２９５】
８．キャッシュコンテナデータ構造２８０
顧客キャッシュコンテナデータ構造２８０は、顧客コンピュータ２００でキャッシュコンテナに関する情報を維持する。図３７を参照すると、キャッシュコンテナデータ構造２８０は、顧客ユーザ２０３によって創設された各キャッシュコンテナに対し一つのレコード２８０．１を含む。顧客キャッシュコンテナデータ構造２８０の詳細なレコード２８０．１は、図３７に示されている。
【０２９６】
領域２８０Ａ−２８０Ｃは、領域１２０Ｇ．１−１２０Ｇ．３（図７）に対応し、領域１２０Ｇ．１−１２０Ｇ．３（図７）と同様のキャッシュコンテナに関する情報を含む。
【０２９７】
顧客キャッシュコンテナデータ構造２８０及びレコード２８０．１の上述した記載は、顧客ユーザ２０３に関するデータに対して効力を有する一方、販売者ユーザ３０３は、図４３に示す販売者キャッシュコンテナデータ構造３４５に蓄積された対応するデータを有することに注意する必要がある。販売者レコード３４５．１は、図４３に示され、ここで領域３４５Ａ−３４５Ｃは領域２８０Ａ−２８０Ｃ（図３７）に対応する。
【０２９８】
Ｃ．販売者データベース３０５
販売者コンピュータ３００のデータベース３０５を次に記載する。
【０２９９】
図３８は、販売者コンピュータ３００の販売者データベース３０２の一般的な構造を示す。図３８は、販売者アプリケーションデータ構造３１５（すでに記載した）、販売者個人データ構造３２０（すてに記載した）、販売者手段結合データ構造３３０（すでに記載した）、販売者セッションデータ構造３４０（すでに記載した）、販売者総額データ構造３５０、販売者販売セッションデータ構造３６０、販売者キャッシュログ３７０、メッセージテンプレートデータ構造３８０（すでに記載した）、販売者キャッシュコンテナデータ構造３４５（すでに記載した）を示す。データ構造３５０、３６０及び３７０を以下に記載する。
【０３００】
１．販売者総額データ構造３５０
販売者総額データ構造３５０は、販売者ユーザ３０３がオーダーに対し顧客ユーザ２０３から受け取ることを期待する電子キャッシュの総額の跡を追う。図４４を参照して、レコード３５０を詳細に示す。
【０３０１】
領域３５０Ａは、図２５の領域２５３Ｆに対応したオーダーＩＤを蓄積する。
【０３０２】
領域３５０Ｂは、図２５の領域２５３Ｈに対応した電子キャッシュの総額（取引総額）を蓄積する。
【０３０３】
領域３５０Ｃは、オーダーが顧客ユーザ２０３によって支払われたかどうかを示すフラグである。
【０３０４】
２．販売者販売セッションデータ構造３６０
販売者販売セッションデータ構造３６０は、販売者ユーザ３０３のセッションの跡を追う。図４５を参照して、レコード３６０を詳細に示す。
【０３０５】
領域３６０Ａ−３６０Ｈは、領域３４０Ａ−３４０Ｈ（図４２）に対応する。領域３６０Ｊ−３６０Ｋは、領域３４０Ｊ−３４０Ｋ（図４２）に対応する。領域３６０Ｇは、セッションＩＤ領域３６０Ａで確認された販売者販売セッションがオープンした日付を蓄積する。領域３６０Ｈは、そのようなセッションが終了した日付を蓄積する。領域３６０Ｉは領域３６０Ａ内のセッションＩＤに結合されたセッションのステータスを蓄積する。このステータスは“オープン”または“クローズド”のいずれかである。領域３６０Ｌは販売者ユーザ３０３の個人ＩＤを蓄積する。
【０３０６】
３．販売者キャッシュログデータ構造３７０
販売者キャッシュログデータ構造３７０は、販売者販売セッションデータ構造３６０が保持していない電子キャッシュの取引及びセッションの跡を追う。特に、販売者キャッシュログデータ構造３７０は、販売者ユーザ３０３によって始まったコレクション及びセッションに関するデータを蓄積する。図４６を参照して、レコード３７０を詳細に示す。
【０３０７】
領域３７０Ａ−３７０Ｍは、販売者コンピュータ３００からサーバコンピュータ１００に送られたコレクションデータＣＡ２に関するデータを蓄積する。これらの領域を以下に詳細に記載する。
【０３０８】
領域３７０Ａは、実行された動作のタイプを示す。この場合、領域３７０Ａに蓄積されたタイプは“コレクション”である。
【０３０９】
領域３７０Ｂは、現在のコレクション要求のステータスを蓄積する。領域３７０Ｂのステータスは、“試行”、“成功”または“失敗”を含むことができる。ラベル“試行”は、要求がサーバコンピュータ１００に送られたが何の応答も受け取ることができなかった時に、戻される。もし、要求がサーバコンピュータ１００によって処理され、コレクション要求が履行されれば、領域３７０Ｂはラベル“成功”を含むであろう。もし、サーバコンピュータ１００が要求を否定したら、領域３７０Ｂはラベル“失敗”を含むであろうし、領域３７０Ｍはそのような失敗の理由を確認するためのコードを含むであろう。
【０３１０】
領域３７０Ｃは、オーダー確認番号（“オーダーＩＤ”）を蓄積する。領域３７０ＣのオーダーＩＤは、特別なオーダーを確認するために販売者コンピュータ３００によって発生される。
【０３１１】
領域３７０Ｄは、現在のコレクション要求中に顧客コンピュータ２００によって使用された領域２４０ＡのセッションＩＤを蓄積する。
【０３１２】
領域３７０Ｅは、現在のコレクション要求中に顧客コンピュータ２００によって使用された領域２４０Ｇのインデックスを蓄積する。
【０３１３】
領域３７０Ｆは、現在のコレクション要求中に顧客コンピュータ２００によって使用された領域２４０Ｄの通貨を蓄積する。
【０３１４】
領域３７０Ｇは、現在のコレクション要求中に販売者コンピュータ３００によって使用された領域３４０ＡのセションＩＤを蓄積する。
【０３１５】
領域３７０Ｈは、現在のコレクション要求中に販売者コンピュータ３００によって使用されたラベル値ペア５２１３Ｄのインデックスを蓄積する。
【０３１６】
領域３７０Ｉは、現在のコレクション要求中に販売者コンピュータ１００によって使用された領域３４０Ｄの通貨を蓄積する。
【０３１７】
領域３７０Ｊは、現在のコレクション要求中に販売者ユーザ３０３に支払われるよう要求された電子キャッシュファンドの総額を蓄積する。
【０３１８】
領域３７０Ｋは、現在のコレクションに対し販売者キャッシュコンテナ領域３４５Ｂにクレジットされた電子キャッシュの総額を蓄積する。クレジットされた電子キャッシュの総額は、もし領域３７０Ｂのステータスが零値であれば、零値である。
【０３１９】
領域３７０Ｌは、現在のコレクション要求（すなわち手数料）を処理するためにサーバコンピュータ１００のオペレータに支払われた電子キャッシュファンドの総額を蓄積する。
【０３２０】
もしステータス領域３７０Ｂの内容が“失敗”であれば、領域３７０Ｍは結果コードを蓄積する。結果コードは、ステータス領域３７０Ｂにレポートされた失敗とメッセージが連動するように販売者アプリケーションソフトウェア３１０によって使用される。このようにして、領域３７０Ｍに戻されたコードは、販売者アプリケーションソフトウェアに、“不十分なファンドのためコレクションは失敗した”とのメッセージを表示させることができる。
【０３２１】
領域３７０Ｎ−３７０Ｔは、販売者コンピュータ３００（メッセージＯＳ１）によって始められたセッションに関するデータを蓄積する。これらの領域を以下に詳細に記載する。
【０３２２】
領域３７０Ｎは、実行された動作のタイプを示す。この場合、領域３７０Ｎに蓄積されたタイプは“ＯＳ”である。
【０３２３】
領域３７０Ｏは、現在のコレクション要求のステータスを蓄積する。領域３７０Ｏのステータスは、“試行”、“成功”または“失敗”を含むことができる。ラベル“試行”は、要求がサーバコンピュータ１００に送られたが何の応答も受け取ることができなかった時に、戻される。もし、要求がサーバコンピュータ１００によって処理され、コレクション要求が履行されれば、領域３７０Ｏはラベル“成功”を含むであろう。もし、サーバコンピュータ１００が要求を否定したら、領域３７０Ｏはラベル“失敗”を含むであろうし、領域３７０Ｔはそのような失敗の理由を確認するためのコードを含むであろう。
【０３２４】
領域３７０Ｐは、取引番号、すなわち、販売者コンピュータ３００によって始められた特別なセッションを示す特別の番号を蓄積する。
【０３２５】
領域３７０Ｑは、販売者ユーザ３０３の要求した現在のセッションが続く総時間（すなわち要求されたセッション持続時間）を蓄積する。
【０３２６】
領域３７０Ｒは、販売者ユーザ３０３の要求した領域３４０Ｊのセッションキーを使用することができる回数（すなわち要求されたセッション数）を蓄積する。
【０３２７】
もし領域３７０Ｏが“成功”ならば、領域３７０Ｓは、現在のセッションに対する販売者コンピュータ３００のためのセッションＩＤを蓄積する。
【０３２８】
もし領域３７０Ｏが“失敗”ならば、領域３７０Ｔは結果コードを蓄積する。結果コードは、ステータス領域３７０Ｔでレポートされた失敗とメッセージを連動させるように販売者アプリケーションソフトウェア３１０によって使用される。
【０３２９】
ＩＩＩ．一般的な情報
本発明において使用されるメッセージの好ましいフォーマットを以下に記載する。
【０３３０】
インターネット５０の性質のため、本発明はメッセージ送信の独立したメカニズムを使用し、その結果メッセージはいくつかの異なるプロトコルを使用して送ることができる。これらのプロトコルは、Ｅメール（簡単なメール送信プロトコル）及びワールドワイドウェブ（ハイパーテキスト送信プロトコル、または、遠隔処理プロトコル（ＲＰＣ）のような他のプロトコル）を含むことができる。そのため、本発明で使用されるメッセージは、送信プロトコルによらない特別で好ましいフォーマットを有する。特別で好ましいフォーマットは、ＲＦＣ８２２に基づいており、このＲＦＣ８２２は先行技術で良く知られているため、ここでは簡単に記載する。
【０３３１】
図４７は、サンプルメッセージ４０００のフォーマットを示す。サンプルメッセージ４０００は、ヘッダー４００５、ボディ４０１０及びトレイラー４０５０を含む。ボディ４０１０は、透明な（暗号化されていない）ラベル値ペア４０１３Ａ、４０１３Ｂ等を含み、不透明（暗号化された）ラベル値ペア４０１７を含むこともできる（ラベル値ペアは、ラベルと、ラベルターミネータによって例えば“名前：Ｂｒｉａｎ（ブライアン）”のように分離されたラベルに関するデータとから構成される）。
【０３３２】
ヘッダー４００５は、サンプルメッセージ４０００のスタートを定義する。ヘッダー４００５は、例えば“サイバーキャッシュ”（本発明の譲受人）のシステムＩＤや、その中にサンプルメッセージ４０００が組み込まれるメッセージプロトコルの番号（“プロトコル番号”）を含むことができる。
【０３３３】
透明なラベル値ペア４０１３Ａ、４０１３Ｂ等は、サンプルメッセージ４０００と連動するいずれかのクリアな（暗号化されていない）テキストを含む。暗号化及び解読は以下に記載する。
【０３３４】
不透明なラベル値ペア４０１７は、ラベル“不透明”を含む。不透明なラベル値ペア４０１７の値は、暗号化されたデータのブロックである。不透明なラベル値ペア４０１７の値は、ＤＥＳキーで暗号化されたラベル値ペアの予め決定されたセットを含む。暗号化後、値は好ましくはベース−６４コードである。ラベル値ペアの予め決定されたセットは、ここで、サンプルメッセージの“不透明なセクションの内容”として参照される。セッションの外部から送られた要求メッセージ（Ｒ１、ＢＩ１、ＬＵ１及びＣＳ１）に対し、不透明なラベル値ペア４０１７の値は、そのＤＥＳキーと、サーバコンピュータ１００のパブリックＲＳＡキーに基づいて暗号化されたＲＳＡで始まる。ＲＳＡ暗号化はコンピュータの処理が高価となる。応答メッセージ（Ｒ２、ＢＩ４、ＬＵ２、ＯＳ２及びＣＳ２）及びセッション中のメッセージ（ＣＡ１、ＣＡ２、ＣＡ３及びＣＡ４）に対し、不透明なセクションの内容を越えたいかなる付加的な情報をも不透明なラベル値ペア４０１７の値は必要としないため、ＲＳＡ暗号化が高価になることを防ぐことができる。不透明なセクションの内容は、長さにおいて変化し、ＤＥＳキーを使用して暗号化されたデータを表す。
【０３３５】
トレイラー４０５０は、サンプルメッセージ４０００を終了する。トレイラー４０５０は、好ましくは、送信チェックサムを含む。領域４０５０Ｄのチェックサムが、ヘッダー４００５においてすべてが印字可能な文字に対して行われたＭＤ５ハッシュであり、ボディ４０１０で表すことができることが好ましい。そのため、新しいライン、スペース、タブ、キャリッジリターン等のすべての白いスペースは、チェックサムハッシュから除外される。このようにして、メッセージ送信の正確性を、ゲートウェーのセンシティビティを気にすることなく、また例えばラインターミネータの間隔の変更やタブのスペースへの変更などを気にすることなく、チェックすることができる。
【０３３６】
本発明で使用される暗号化及び解読技術を以下に記載する。
【０３３７】
本発明は、好ましくは、データの暗号化及び解読に対しＲＳＡ法及びＤＥＳ法の両者を使用する。そのような方法は先行技術で良く知られている。ＲＳＡは、米国特許Ｎｏ．４，４０５，８２９に詳細に記載されている。本発明は、好ましくは、安全性、実行時間及び送出制御に関する事情の間のバランスを反映させて、７６８ビットのＲＳＡキーを使用する。ＲＳＡキーのサイズは、高速処理速度を有するハイエンドのコンピュータでは変えることができ、その場合は、顧客のインストレーションがより一般的になり、また送出の要望も緩和される。当業者にとって良く知られているように、他のパブリック／シンメトリックキーシステム（ラビン及びＥＩガマルのような）を、検証の目的で本発明で使用することもできる。
【０３３８】
本発明では、デジタル的な署名を情報を検証するために使用する。デジタル的な署名の詳細は、コンピュータの安全性に関する文献で広く議論されている。本発明は、検証のために二つの方法を使用する：すなわちＲＳＡ／ＭＤ５デジタル署名及び情報を分割使用する知識（例えば、ソルト値および／またはキー値）である。
【０３３９】
上述したように、本発明はデータのハッシングにも依存している。ハッシュは、好ましくは、“メッセージの合成”に適用されるインターネット公開ＰＦＣ１３２１において記載されている良く知られたＭＤ５アルゴリズムを使用して計算される。
【０３４０】
もし、ラベル値ペアがハッシュ入力において特定されているが、メッセージ中に存在しないならば、ラベル及びラベルターミネータは、好ましくは、ハッシュから除外される。
【０３４１】
ＩＶ．本発明の処理
Ａ．ダウンロード及びインストレーション処理４００
図３を参照して先に記載したダウンロード及びインストレーション処理４００の間、サーバコンピュータ１００のＲＳＡパブリックキーは、顧客アプリケーションデータ構造２１５の領域２１５Ａに蓄積される。販売者コンピュータ３００は、顧客ユーザ２０３がダウンロード及びインストレーション処理４００を使用するのと同様の方法で、ユーザアプリケーションソフトウェア１５３のコピーを手に入れる。このような場合、ユーザアプリケーションソフトウェア１５３は、販売者アプリケーションソフトウェア３１０の要素として販売者コンピュータ３００上に存在し、サーバコンピュータ１００のＲＳＡパブリックキーは、販売者アプリケーションデータ構造３１５の領域３１５Ａに蓄積される。
【０３４２】
Ｂ．登録処理４０１
図４８は、ステップ１２０１で始まる登録処理４０１を示すフロー図である。
【０３４３】
ステップ１２０２において、顧客アプリケーションソフトウェア２１０は、顧客ユーザ２０３が顧客ユーザ２０３に関する情報を入力するように促すまたは要求する。この情報は、サーバコンピュータ１００に送られるメッセージＲ１に含まれ、顧客個人１２０．１の一部となる。好ましい実施例では、顧客ユーザ２０３は、コミュニケーションに好ましい言語、取引を行なう通貨、要求した個人ＩＤ、Ｅメールアドレス及びオートクローズパスフレーズを入力する。
【０３４４】
ステップ１２０２Ａにおいて、顧客アプリケーションソフトウェア２１０は、顧客コンピュータ２００に対しＲＳＡパブリック／プライベートキーペアを発生する。ＲＳＡパブリックキーは、顧客個人データ構造２２０（図１９）の領域２２０Ｃに蓄積される。ＲＳＡプライベートキーは、顧客個人データ構造２２０（図１９）の領域２２０Ｈに蓄積される。
【０３４５】
ステップ１２０３において、メッセージＲ１は、図４９に示すメッセージ組み込み手続き８００に従って組み込まれる。メッセージＲ１は、顧客コンピュータ２００からサーバコンピュータ１００へ送られ、ステップ１２０２で顧客ユーザ２０３によって入力された情報を含む。メッセージ組み込み手続８００を、図４９を参照して以下に記載する。
【０３４６】
メッセージ組み込み手続８００は、ステップ８０１で始まる。ステップ８０２Ａ−８０２Ｂは、図５０に示すメッセージＲ１の透明なラベル値ペア４２１３Ａ−４２１３Ｄを作成する。ステップ８０２Ｃ−８１３は、図５１に示すメッセージＲ１の不透明セクション内容に基づいて、メッセージＲ１の透明なラベル値ペア４２１３Ａ−４２１３Ｄを作成する。ステップ８１４−８１７は、それぞれメッセージＲ１の、ヘッダー４２０５、透明ラベル値ペア４２１３Ａ−４２１３Ｄ、不透明ラベル値ペア４２１７及びトレイラー４２５０を組み込む。
【０３４７】
ステップ８０２Ａにおいて、顧客アプリケーションソフトウェア２１０は、メッセージテンプレートデータ構造２７０（図１７）にアクセスし、ラベルのリストを手に入れる。ラベルのリストが連動する値と一致していれば、ラベルのリストがメッセージＲ１の透明なラベル値ペア４２１３Ａ−４２１３Ｃを作成する。ステップ８０２Ｂにおいて、値は以下に示すように各ラベルと連動する。
【０３４８】
ラベル値ペア４２１３Ａは、ラベル“取引”を有する。領域４２１３Ａの値は、メッセージＲ１を特別に確認するクライアントソフトウェア２１０によって発生された取引番号である。ラベル値ペア４２１３Ａの値は、メッセージＲ１を受け取ることで、サーバコンピュータ１００が、（１）後に記載する連動する応答メッセージＲ２を送り、（２）メッセージＲ１が重複したメッセージかどうかを決定（すなわち、サーバコンピュータ１００によってすでに受け取られているかどうか）する、ことを許可する。ラベル値ペア４２１３Ａと関連する値は、継続中の個人登録／更新個人情報レコード２５１（図２３）の領域２５１Ｂに蓄積される。
【０３４９】
ラベル値ペア４２１３Ｂは、ラベル“日付”を有する。ラベル値ペア４２１３Ｂの値は、メッセージＲ１が、顧客コンピュータ２００のクロックに従って、サーバコンピュータ１００に組み込まれて送られた日付及び時間を示す。ラベル値ペア４２１３Ｂと関連する値は、領域２５１Ｃに蓄積される。
【０３５０】
ラベル値ペア４２１３Ｃは、ラベル“サーバキー”を有する。後に記載するように、メッセージＲ１の不透明なラベル値ペア４２１７を暗号化するために顧客コンピュータ２００によって使用されたＤＥＳキー／ＩＶペアは、サーバコンピュータ１００のＲＳＡパブリックキーを使用して暗号化される。ラベル値ペア４２１３Ｃの値は、サーバプライベートキーデータ構造１６０（図５）に蓄積された対応するＲＳＡプライベートキーを指し示す。
【０３５１】
ラベル値ペア４２１３Ｄは、ラベル“サービスカテゴリ”を有する。ラベル値ペア４２１３Ｄの値は、特別なサービスカテゴリのメッセージを取り扱うサーバコンピュータ１００内のプロセッサにメッセージＲ１を発送するために使用されるラベルである。このオプションは、サーバコンピュータ１００の機能として多数のプロセッサ間で分配され、それによりシステムの能力を向上させる。
【０３５２】
ステップ８０２Ｃにおいて、顧客アプリケーションソフトウェア２１０は、ランダムな１２８ビット数を作成するために良く知られた技術を使用する。作成されたこの数の最初の６４ビットは５６ビットＤＥＳキーとして取り扱われ、次の６４ビットは６４ビットイニシャリゼーションベクトル（“ＩＶ”）として取り扱われることが好ましい。５６ビットＤＥＳキーは、各８ビットバイトの無視された最下位のビットを有する６４ビット数で表される。この１２８ビット数は、ＤＥＳキー／ＩＶペアとして見ることができる。ＤＥＳキー／ＩＶペアはテンポラリレジスタに蓄積される。
【０３５３】
次に、ステップ８０４において、顧客アプリケーションソフトウェア２１０は、クライアントアプリケーションデータ構造２１５（図１８）の領域２１５Ａから、サーバコンピュータ１００のためのＲＳＡパブリックキーを検索する。先に記述したように、サーバコンピュータ１００のためのＲＳＡパブリックキーは、好ましくは、長さ７６８ビットである。もちろん、他の長さのＲＳＡキーを使用することができる。ステップ８０６において、ステップ８０４において検索されたＲＳＡパブリックキーは、ステップ８０２で作成されたＤＥＳキー／ＩＶペアを暗号化するために使用される。
【０３５４】
ステップ８０７において、顧客アプリケーションソフトウェア２１０は、ラベルのリストを得るために、メッセージテンプレートデータ構造２７０（図２Ｂ）にアクセスする。ラベルのリストは、関連する値と同じであれば、図５１に示すメッセージＲ１の不透明セクション内容を作成する。ステップ８０８において、値は以下のように各ラベルと関連する。
【０３５５】
ラベル値ペア４２１７Ａは、ラベル“タイプ”を有する。ラベル値ペア４２１７Ａの値は、メッセージＲ１のラベルに効力を持たすメッセージデータ構造２７０中のレコードを参照する。ラベル値ペア４２１７Ａは、顧客ユーザ２０３が登録処理を始める際ラベルを発生する顧客アプリケーションソフトウェア２１０から得ることができる。
【０３５６】
ラベル値ペア４２１７Ｂは、ラベル“サーバデート”を有する。ラベル値ペア４２１７Ｂの値は、サーバコンピュータ１００のクロックの日付が顧客コンピュータ２００の認知によって測定されるように、メッセージＲ１が組み込まれた時の日付及び時間を示す。
【０３５７】
ラベル値ペア４２１７Ｃは、ラベル“ｓｗバージョン”（ソフトウェアバージョン）を有する。ラベル値ペア４２１７Ｃの値は、サーバコンピュータ１００とコミニュケーションする顧客アプリケーションソフトウェア２１０のバージョンを示す。ラベル値ペア４２１７Ｃは、顧客アプリケーションソフトウェア２１０に埋め込まれたデータから得られる。ラベル値ペア４２１７Ｃと関連する値は、領域２５１Ｄに蓄積される。
【０３５８】
ラベル値ペア４２１７Ｄは、ラベル“言語内容”を有する。ラベル値ペア４２１７Ｄの値は、顧客ユーザ２０３にとってコミニュケーションに好ましい言語を示す。ラベル値ペア４２１７Ｄの値は、ステップ１２０２における登録処理４０１中に顧客ユーザ２０３から得られる。ラベル値ペア４２１７Ｄに関連する値は、領域２５１Ｅに蓄積される。
【０３５９】
ラベル値ペア４２１７Ｅは、ラベル“デフォルト状態の通貨”を有する。ラベル値ペア４２１７Ｅの値は、顧客ユーザ２０３によって変えられない限り、顧客ユーザ２０３の取引が処理されるデフォルト状態の通貨を示す。ラベル値ペア４２１７Ｅの値は、図４８のステップ１２０２における登録処理４０１中に顧客ユーザ２０３から得られる。ラベル値ペア４２１７Ｅに関連する値は、領域２５１Ｆに蓄積される。
【０３６０】
ラベル値ペア４２１７Ｆは、ラベル“要求されたＩＤ”を有する。ラベル値ペア４２１７Ｆの値は、顧客ユーザ２０３によって要求された個人ＩＤを示す。ラベル値ペア４２１７Ｆの値は、図４８のステップ１２０２における登録処理４０１中に顧客ユーザ２０３から得られる。ラベル値ペア４２１７Ｆに関連する値は、領域２５１Ｇに蓄積される。
【０３６１】
ラベル値ペア４２１７Ｇは、ラベル“Ｅメール”を有する。ラベル値ペア４２１７Ｇの値は、顧客ユーザ２０３に対するＥメールアドレスを示す。ラベル値ペア４２１７Ｇの値は、図４８のステップ１２０２における登録処理４０１中に顧客ユーザ２０３から得られる。ラベル値ペア４２１７Ｇと関連する値は、領域２５１Ｈに蓄積される。
【０３６２】
ラベル値ペア４２１７Ｈは、ラベル“同意”を有する。ラベル値ペア４２１７Ｈの値は、顧客ユーザ２０３が本発明を使用するために受け入れた法律的な同意を示す。法律的な同意は、図４８のステップ１２０２における顧客ユーザ２０３に対して存在する。ラベル値ペア４２１７Ｈの値は、同意が顧客ユーザ２０３によって受け入れられ、顧客手段個人データ構造２２０（図１９）の領域２２０Ｌに蓄積された時に、発生する。
【０３６３】
ラベル値ペア４２１７Ｉは、ラベル“オートクローズパスフレーズ”を有する。ラベル値ペア４２１７Ｉの値は、顧客ユーザ２０３に対するオートクローズパスフレーズを示す。ラベル値ペア４２１７Ｉの値は、図４８のステップ１２０２における登録処理中に顧客ユーザ２０３によって供給される。ラベル値ペア２４１７Ｉに関連する値は、顧客データ構造２２０の領域２２０Ｄ及び顧客継続データ構造２５０の領域２５１Ｉに蓄積される。
【０３６４】
ラベル値ペア４２１７Ｊは、ラベル“パブキー”を有する。ラベル値ペア４２１７Ｊの値は、図４８のステップ１２０２Ａにおける登録処理４０１中に顧客アプリケーションソフトウェア２１０によって発生された顧客個人１２０．１に対するＲＳＡパブリックキーを表す。
【０３６５】
再び図４９を参照すると、ステップ８１０において、図５１のラベル値ペア４２１７Ｋによって表されるメッセージＲ１のデジタル署名が発生される。ラベル値ペア４２１７Ｋは、ラベル“署名”を有する。ラベル値ペア４２１７Ｋの値は、顧客個人１２０．１のデジタル署名を表す。メッセージＲ１に対し、ラベル値ペア４２１７Ｋの値は、ラベル値ペア４２１３Ａ−４２１３Ｃ中の印刷可能なＵＳアスキー文字のハッシュであり、また顧客個人１２０．１のＲＳＡプライベートキーで暗号化されたアルファベット順に並んだラベル値ペア４２１７Ａ−４２１７Ｊである。顧客個人１２０．１のＲＳＡプライベートキーは、領域２２０Ｈ（図１９）から得られる。
【０３６６】
ステップ８１２Ａにおいて、ステップ８１０で発生したラベル値ペア４２１７Ｋは、ラベル値ペア４２１７Ａ−４２１７Ｊに付加される。ラベル値ペア４２１７Ａ−４２１７Ｋは、ステップ８０２Ｃのテンポラリレジスタに蓄積されたＤＥＳキー／ＩＶペアとともに暗号化される。ステップ８１２Ｂにおいて、ステップ８１２Ａの結果は、ステップ８０６で作成したＲＳＡで暗号化したＤＥＳキー／ＩＶペアに付加される。
【０３６７】
ステップ８１３において、ステップ８１２Ｂで組み込まれたデータは、良く知られた技術（好ましくはベース６４）を使用して暗号化され、これによりメッセージＲ１の不透明セクション内容の組み込みを完了する。
【０３６８】
メッセージＲ１は、ステップ８１４−８１８で組み込まれる。ステップ８１４で、ヘッダー４２０５は、顧客メッセージテンプレートデータ構造２７０（図１７）で見つかるメッセージテンプレート及び顧客アプリケーションソフトウェア２１０に埋め込まれたプロトコルを使用して作成される。
【０３６９】
次に、ステップ８１５において、上述した透明ラベル値ペア４２１３Ａ−４２１３Ｃが添付される。
【０３７０】
ステップ８１６において、不透明ラベル値ペア４２１７が付加される。ラベル値ペア４２１７は、以下の値が暗号化されたデータであることを示すラベル“不透明”を有する。図５０に示すラベル値ペア４２１７の値は、ステップ８１３で暗号化されたデータを表す。
【０３７１】
トレーラ４２５０は、ステップ８１７で組み込まれる。トレーラ４２５０のチェックサムは、上述したように、サンプルメッセージ４０００に対して計算される。トレーラ４２５０はメッセージＲ１に加えられる。ステップ８１８において、メッセージＲ１のコピーは、領域２５１Ｊにセーブされる。
【０３７２】
メッセージＲ１の組み込みはこれで完了する。メッセージ組み込み処理８００はステップ８１９で終了する。
【０３７３】
再び図４８を参照すると、登録処理４０１はステップ１２０４において連続している。そこで、顧客コンピュータ２００は、メッセージＲ１をサーバコンピュータ１００に送信する。顧客コンピュータ２００は、サーバコンピュータ１００からの応答メッセージＲ２を待つ。
【０３７４】
ステップ１２０５において、サーバコンピュータ１００は、顧客コンピュータ２００からメッセージＲ１を受け取り、サーバメッセージアンラップ処理９００を実行することによってメッセージＲ１をアンラップする。サーバメッセージアンラップ処理９００は、以下に図５２及び５３を参照して記載する。ここでこの処理はステップ９０１において始まる。
【０３７５】
ステップ９０１Ａにおいて、メッセージＲ１のコピーは領域１４０Ｅ（図１６）に蓄積される。
【０３７６】
ステップ９０２において、サーバソフトウェア１１０は、メッセージＲ１のヘッダー４２５０の領域４２０５Ｃからプロトコル番号を抽出する。次に、ステップ９０２で抽出したプロトコル番号に基づいて、サーバメッセージデータ構造１５０（図５）にアクセスして、メッセージＲ１の望ましいフォーマットを決定する。望ましいフォーマットは、メッセージシンタックス（例えば、許可されたライン終了記号）及びメッセージコーディング（例えば、アスキーまたはヘックス）を含むことができる。メッセージＲ１は、望ましいフォーマットに従って以下のように構文の解析が行われる。
【０３７７】
ステップ９０３において、サーバコンピュータ１００は、メッセージ組み込み処理８００のステップ８１７で顧客コンピュータ２００において使用したものと同じデータを使用してチェックサムを計算する。ステップ９０４において、ステップ９０３で計算されたチェックサムは、メッセージＲ１のトレイラー４２５０のチェックサム４２５０Ｄと比較される。もし、チェックサムが一致しなければ、メッセージＲ１はステップ９０４Ａで処分され、サーバメッセージアンラップ処理９００も中断する。
【０３７８】
もし、ステップ９０４においてチェックサムが一致していれば、処理はステップ９０６Ａに続き、メッセージは、それがメッセージアンラップ処理９００に対し適切であるかどうかを決定するためにチェックされる。メッセージがラベル“サーバキー”を含めば、メッセージアンラップ処理９００は適切である。アンラップ処理９００が不適切の場合にサーバコンピュータ１００が受け取るメッセージは、ラベル“サーバキー”を含まず、その代わりに、メッセージの透明部分にラベル“タイプ”を含むであろう。そのようなメッセージは、後に記載する他の手段を用いてアンラップされる。メッセージが不適切な場合は、処理はステップ９０６Ｂに続き、メッセージは他のアンラップ処理に転換される。メッセージＲ１が適切である場合、処理はステップ９０６Ｃに続き、不透明なラベル値ペア４２１７の値は解読される。
【０３７９】
ステップ９０７において、メッセージ組み込み処理８００のステップ８０６でＤＥＳキー／ＩＶペアを暗号化するために顧客コンピュータ２００によって使用されたＲＳＡパブリックキーが決定される。これを行うために、サーバソフトウェア１１０は、ラベル“サーバキー”と関連するラベル値ペア４２１３Ｃの値を得る。ラベル値ペア４２１３Ｃの値は、ステップ８０６で顧客コンピュータ２００によって使用されたＲＳＡパブリックキーに対応するＲＳＡプライベートキーの要素を蓄積するプライベートキーデータ構造１６０中の領域に対するポインターである。
【０３８０】
ステップ９０９において、ステップ９０７で決定されたＲＳＡプライベートキーは、ＲＳＡで暗号化されたＤＥＳキー／ＩＶペアに対応する不透明ラベル値ペア４２１７の部分を解読するために使用される。このようにして、残りの不透明ラベル値ペア４２１７を暗号化するために使用されたＤＥＳキー／ＩＶペアを得ることができる。ステップ９０９Ａにおいて、ＤＥＳキー／ＩＶの解読が成功したか失敗したかを決定する。いかなる理由かで解読に失敗した場合は、処理はステップ９０５に続き、ここで適当なエラーフラグをセットすることが好ましいことがわかり、サーバアンラップ処理９００はステップ９１７で中断する。もし、ＤＥＳキー／ＩＶペアの解読に成功すれば、処理はステップ９１０に続く。
【０３８１】
ステップ９１０において、ステップ９０９で得たＤＥＳキー／ＩＶペアは、テンポラリレジスタに蓄積される。
【０３８２】
ステップ９１１において、ステップ９０９で得たＤＥＳキー／ＩＶペアは、図５１のラベル値ペア４２１７Ａ−４２１７Ｋとして表されている不透明なラベル値ペア４２１７の部分を解読するために使用される。ステップ９１２において、不透明値ペア４２１７の解読が成功したのか失敗したのかが決定される。いかなる理由かで解読に失敗した場合は、処理はステップ９０５に続き、ここで適当なエラーフラグをセットすることが好ましいことがわかり、サーバアンラップ処理９００はステップ９１７で中断する。もし、不透明値ペア４２１７の解読に成功すれば、処理はステップ９１３に続く。
【０３８３】
ステップ９１３において、メッセージタイプが、ラベル値ペア４２１７Ａを参照することで決定される。例えば、メッセージＲ１に対するラベル値ペア４２１７Ａの値は、“登録”であろう。
【０３８４】
以下のステップ９１４、９１５及び９１６で行われるメッセージの３回のチェックを行なうことが好ましい。
【０３８５】
ステップ９１４のサーバフォームチェックは、メッセージタイプとソフトウェアバージョンに依存している。すなわち、メッセージの望ましいフォーム及びそれが受け入れられるかどうかのクライテリアは、上述したメッセージタイプ及びバージョンデータ構造１５０を参照して決定された所定の時間有効であるメッセージ及びメッセージの変更に依存している。最小の場合でも、フォームチェック手続は、受け取ったメッセージがメッセージに対して上述したすべてのラベルを含んでいるかどうか、値を要求する各ラベルに値があるかどうか、及びそれらの値が、タイプ、シンタックス及び要求された値の範囲であるかどうか、を確認することとなる。もしメッセージが解析されたがフォームクライテリアに適合しない場合は、サーバコンピュータ１００は、ステップ９０５でエラーフラグをセットし、メッセージＲ２（後に記載する）としてエラーコードを戻す。それがサーバコンピュータ１００によって解析できないほど変形されたメッセージは、処分されるであろう。もしステップ９１４のフォームチェックが成功であれば、処理はステップ９１５に続く。
【０３８６】
ステップ９１５において、ラベル値ペア４２１７Ｋの値によって表されたデジタル署名が正しいかどうか確認される（署名テストに合格したか？）。まず、第１に、サーバソフトウェア１１０は、ラベル値ペア４２１７Ｊから顧客個人１２０．１のためのＲＳＡパブリックキーを得る。ラベル値ペア４２１７Ｊから得たＲＳＡパブリックキーは、ラベル値ペア４２１７Ｋを解読するために使用される。次に、サーバソフトウェア１１０はメッセージデータ構造１５０にアクセスし、どのラベル値ペアがラベル値ペア４２１７Ｋの値を計算するためにメッセージ組み込み処理８００のステップ８１０でハッシュされたのかを決定する。サーバソフトウェア１１０は、ステップ８１０でハッシュされたのと同じラベル値ペアをハッシュする。二つのハッシュ値は比較される。もしハッシュ値が異なれば、適当なエラーフラグがステップ９０５でセットされる。この場合、サーバメッセージアンラップ処理９００はステップ９１７で中断する。もしハッシュ値が合致すれば、処理はステップ９１６に続く。
【０３８７】
ステップ９１６において、どの顧客アプリケーションソフトウェア２１０が現在のものかについてのチェックを以下のようにして実施する。サーバソフトウェア１００は、ラベル値ペア４２１７Ｃの値からメッセージＲ１を組み込むために使用した顧客アプリケーションソフトウェア２１０のバージョン番号を得る。得られた値は、顧客アプリケーションソフトウェア２１０の最も最近にサポートしたバージョン番号と比較される。
【０３８８】
各バージョンは、３つの“ステータス”ラベルのうちの一つに関連する。もしソフトウェアチェックが“現在”を戻したならば、メッセージＲ１を構成した顧客アプリケーションソフトウェア２１０は、使用可能なソフトウェアの最新バージョンである。この場合は、いかなるフラグもセットされず、メッセージアンラップ手続９００はステップ９１７で終了する。もしソフトウェアチェックが“注意”を戻したならば、顧客アプリケーションソフトウェア２１０のバージョンは、最新のものではないが使用可能と考えられる。この場合は、フラグがステップ９０５でセットされ、メッセージＲ２（後に記載する）として顧客ユーザ２０３に注意メッセージが送られ、メッセージアンラップ手続９００はステップ９１７で終了する。もし顧客アプリケーションソフトウェア２１０に関するラベルが“致命的”であれば、アプリケーションソフトウェアは使用できず、エラーフラグがステップ９０５でセットされ、メッセージＲ２（後に記載する）として顧客ユーザ２０３にエラーメッセージが送られる。メッセージアンラップ手続９００はステップ９１７で終了する。
【０３８９】
再び図４８を参照すると、処理はステップ１２０６へ続く。もし、ステップ９０９Ａ、９１２、９１４、９１５または９１６のテストのいずれかが、ステップ９０５でセットされるエラーフラグを起こす原因となっていたならば、エラー処理手続が、ステップ１２１５でサーバコンピュータ１００によって実行される。ステップ１２１５におけるエラー処理のレベルは、大抵の場合管理者の決定であるが、チェックサム、署名及びフォームが失敗し、ソフトウェアチェック手続において“致命的”の戻りがあれば、顧客アプリケーションソフトウェア２１０によって処理できるコードを含むメッセージ及び顧客ユーザ２０３によって読み取ることができるメッセージを発するようにすることが好ましい。ステップ１２１５におけるエラー処理手続は、特別のエラーコード（後に応答メッセージＲ２の背景で記述する）を伴うフラグに関連し、テキストメッセージ（メッセージのデータ構造かシステム管理者から送られたメッセージのいずれか）を作成する必要がある。その後、サーバコンピュータ１００は、後に記載するように、エラーコード及びその他の関連するメッセージを送る顧客コンピュータ２００に対してと同様に、メッセージＲ２を送信する。
【０３９０】
もし、ステップ９０９Ａ、９１２、９１４、９１５および９１６のテストが、ステップ９０５でセットされるエラーフラグを起こす原因になっていなければ、処理はステップ１２０７に続く。ここで、ラベル値ペア４２１７Ｆは、サーバ個人データ構造１２０に含まれる、すべての販売者個人１２０．２に対する領域１２０ＡＡ及びすべての顧客個人１２０．１に対する領域１２０Ａの個人ＩＤと比較される。
【０３９１】
ステップ１２０９において、特別の場合には、サーバソフトウェア１１０は、サーバ個人データ構造１２０中の新しい個人１２０．１を作成する。次に、メッセージＲ１に含まれる情報は、以下のようにして新しい個人１２０．１に転送される。ラベル値ペア４２１７Ｆ及び２値のチェックコードは、領域１２０Ａの個人ＩＤに割り当てられる。ラベル値ペア４２１７Ｇは、Ｅメールアドレス領域１２０Ｂに蓄積される。領域１２０ＣのＲＳＡパブリックキーは、ラベル値ペア４２１７Ｊの値を受け取る。ラベル値ペア４２１７Ｂの値は、領域１２０Ｄに割り当てられる。ラベル値ペア４２１７Ｄの値は、領域１２０Ｅに蓄積される。ラベル値ペア４２１７Ｈの値は、領域１２０Ｉに蓄積される。ラベル値ペア４２１７Ｉの値は、領域１２０Ｆに蓄積される。この場合、処理はステップ１２１７に続く。
【０３９２】
もし、ラベル値ペア４２１７Ｆの値が、ステップ１２０７においてサーバ個人データ構造１２０に対して特別のものでなければ、処理はステップ１２１６に続く。
【０３９３】
ステップ１２１６において、提案された個人ＩＤは、ランダムな数をコンピュータで計算し、それを要求されたＩＤにハイホン無しで付け加えることによって決定される。そのため、“ブライアン”は、“ブライアン１５”となる。この場合、処理はステップ１２１７に続く。
【０３９４】
ステップ１２１７において、サーバソフトウェア１１０は、図５４のフロー図に従って、図５５−５６に示された応答メッセージＲ２を組み込む。図５４は、サーバメッセージ組み込み手続１０００を示す。
【０３９５】
サーバメッセージ組み込み手続１０００は、ステップ１００１で始まる。ステップ１００１Ａ−１００１Ｂは、メッセージＲ２の透明なラベル値ペア４３１３を作成する。ステップ１００２−１００９は、メッセージＲ２の不透明なラベル値ペア４３１７を作成する。ステップ１０１０−１０１４は、メッセージＲ２の、ヘッダー４３０５、透明なラベル値ペア４３１３Ａ−４３１３Ｃ、不透明なラベル値ペア４３１７及びトレーラ４３５０を組み込む。
【０３９６】
ステップ１００１Ａにおいて、サーバソフトウェア１１０は、メッセージデータ構造１５０（図５）にアクセスし、関連した値と合致した時に、メッセージＲ２の透明なラベル値ペア４３１３Ａ−４３１３Ｂを作成するラベルのリストを手に入れる（図５５）。ステップ１００１Ｂにおいて、値は以下のように各ラベルに関連する。
【０３９７】
ラベル値ペア４３１３Ａは、ラベル“取引”を有する。ラベル値ペア４３１３の値は、取引番号である。ラベル値ペア４３１３Ａの値は、ラベル値ペア４２１３ＡにおいてメッセージＲ１として受けとられた値と同様である。
【０３９８】
ラベル値ペア４３１３Ｂは、ラベル“日付”を有する。ラベル値ペア４３１３Ｂの値は、ラベル値ペア４２１３ＢにおいてメッセージＲ１として受け取られた値と同様である。
【０３９９】
ラベル値ペア４３１３Ｃは、ラベル“サービスカテゴリ”を有する。ラベル値ペア４３１３Ｃの値は、ラベル値ペア４２１３ＤにおいてメッセージＲ１として受け取られた値と同様である。
【０４００】
ステップ１００２において、サーバソフトウェア１１０はメッセージテンプレートデータ構造１５０にアクセスし、関連した値と合致した時に、図５６に示すメッセージＲ２の不透明なセクション内容を作成するラベルのリストを手に入れる。
【０４０１】
処理はステップ１００５に続く。ここで、値はラベルと合致し、図５６のラベル値ペア４３１７Ａ−４３１７Ｋを形成する。
【０４０２】
メッセージＲ２の不透明なセクション内容は、ラベル値ペア４３１７Ａがラベル“タイプ”を有する図５６に示される。ラベル値ペア４３１７Ａは、メッセージＲ２の不透明なセクション内容のラベルに効力を与えるメッセージデータ構造１５０中のレコードを参照する。ラベル値ペア４３１７Ａの値は、サーバソフトウェア１１０から得られる。
【０４０３】
ラベル値ペア４３１７Ｂは、ラベル“サーバ日付”を有する。ラベル値ペア４３１７Ｂの値は、メッセージＲ２がサーバコンピュータ１００のクロックに従って組み込まれた日付及び時間を示す。
【０４０４】
ラベル値ペア４３１７Ｃは、ラベル“要求されたＩＤ”を有する。ラベル値ペア４３１７Ｃの値は、顧客ユーザ２０３によって要求された個人ＩＤを示す。ラベル値ペア４３１７Ｃの値は、メッセージＲ１においてラベル値ペア４２１７Ｆで受け取られる。
【０４０５】
ラベル値ペア４３１７Ｄは、ラベル“応答ＩＤ”を有する。ラベル値ペア４３１７Ｄの値は、顧客ユーザ２０３の個人ＩＤを示すか、または、ラベル値ペア４３１７Ｃの要求されたＩＤが重複したならば、提案した個人ＩＤを示す。
【０４０６】
ラベル値ペア４３１７Ｅは、ラベル“Ｅメール”を有する。ラベル値ペア４３１７Ｅの値は、顧客ユーザ２０３のＥメールアドレスを示す。ラベル値ペア４３１７Ｅの値は、メッセージＲ１のラベル値ペア４２１７Ｇにおいて受け取られる。
【０４０７】
ラベル値ペア４３１７Ｆは、ラベル“応答コード”を有する。ラベル値ペア４３１７Ｆの値は、登録された処理４０１が成功したか失敗したかを示す。
【０４０８】
ラベル値ペア４３１７Ｇは、ラベル“ファンド待機”を有する。ラベル値ペア４３１７Ｇの値は、ラベル値ペア４３１７Ｅ中のＥメールアドレスの所有者を待つファンドを保持するメッセージがあるかどうかを示す。あるいは、ラベル値ペアは、そのようなＥメールメッセージの数を示すこともできる。いずれのアプローチも、好ましくは登録者がサーバコンピュータ１００にファンドの送り手によって与えられるパスワードを含むメッセージを送ることで、登録者がそのようなファンドを手に入れる手段を必要とする。
【０４０９】
ラベル値ペア４３１７Ｈは、ラベル“オートクローズパスフレーズ”を有する。ラベル値ペア４３１７Ｈの値は、顧客ユーザ２０３に対しオートクローズパスフレーズを示す。ラベル値ペア４３１７Ｈの値は、メッセージＲ１のラベル値ペア４２１７Ｉにおいて受け取られる。
【０４１０】
ラベル値ペア４３１７Ｉは、ラベル“パブキー”を有する。図５５−５６に示すラベル値ペア４３１７Ｉの値は、メッセージＲ１のラベル値ペア４２１７Ｊにおいて受け取られた顧客個人１２０．１のＲＳＡパブリックキーを表す。
【０４１１】
ラベル値ペア４３１７Ｊは、ラベル“ｓｗセビリティ”（ソフトウェアセビリティ）を有する。ラベル値ペア４３１７Ｊの値は、顧客アプリケーションソフトウェア２１０を更新することが必要かどうかを、まだ使用可能の場合（“警告”）またはもはや使用不能の場合（“致命的”）で示す。ラベル値ペア４３１７Ｊの値は、もし顧客アプリケーションソフトウェア２１０が現在のバージョンであれば、零値である。
【０４１２】
ラベル値ペア４３１７Ｋは、ラベル“ｓｗメッセージ”（ソフトウェアメッセージ）を有する。ラベル値ペア４３１７Ｋの値は、顧客ユーザ２０３が“致命的”または“警告”のソフトウェアセビリティの場合にすべきことの指示を示す。ラベル値ペア４３１７Ｋの値は、ラベル値ペア４３１７Ｊの値が零値でないときのみ存在する。
【０４１３】
ラベル値ペア４３１７Ｌは、ラベル“メッセージ”を有する。ラベル値ペア４３１７Ｌの値は、ラベル値ペア４３１７Ｆで戻されたエラーまたは成功状態に関連し、顧客ユーザ２０３に対して表示される自由なテキストメッセージである。
【０４１４】
再び図５４を参照すると、処理はステップ１００７に続く。ここで、図５６のラベル値ペア４３１７Ａ−４３１７Ｌは、組み込まれて、ステップ９１０で解読されたＤＥＳキー／ＩＶペアにより暗号化される。
【０４１５】
ステップ１００９において、ステップ１００７で暗号化されたラベル値ペア４３１７Ａ−４３１７Ｌは、良く知られた技術（好ましくはベース６４）を使用して暗号化される。
【０４１６】
メッセージＲ２はステップ１０１０−１０１４で組み込まれる。ステップ１０１０において、ヘッダー４３０５は、メッセージ及びタイプデータ構造１５０及び送られてくるメッセージＲ１からのプロトコル番号を使用して、組み込まれる。
【０４１７】
次に、ステップ１０１１において、前述した透明なラベル値ペア４３１３Ａ及び４３１３Ｂが付加される。
【０４１８】
ステップ１０１２において、不透明なラベル値ペア４３１７が付加される。ラベル値ペア４３１７は、以下に続く値は暗号化されたデータであることを示すラベル“不透明”を有する。ラベル値ペア４３１７の値は、ステップ１００９で暗号化されたデータを表す。
【０４１９】
トレーラー４３５０はステップ１０１３で組み込まれる（形成される）。トレーラー４３５０のチェックサムは、上述したように、サンプルメッセージ４０００に対して計算される。トレーラー４３５０はメッセージＲ２に付加される。ステップ１０１４において、完全なメッセージＲ２のコピーは、サーバログデータ構造１４０の領域１４０Ｆにセーブされる。
【０４２０】
メッセージＲ２の組み込みが、次に行われる。メッセージ組み込み手続き１０００は、ステップ１０１５で終了する。
【０４２１】
再び図４８を参照して、ステップ１２１８において、メッセージＲ２はサーバコンピュータ１００から顧客コンピュータ２００へ送られる（伝送される）。
【０４２２】
ステップ１２１９において、顧客コンピュータ２００は、サーバコンピュータ１００からメッセージＲ２を受け取るとともに、メッセージアンラップ手続１１００を実行することによりメッセージＲ２をアンラップする。ここで、メッセージアンラップ手続１１００が図５７を参照しながら説明され、これはステップ１１０１から開始するものである。
【０４２３】
ステップ１１０２において、顧客コンピュータソフトウェア２１０メッセージＲ２のヘッダ４４３０５からプロトコル（バージョン）番号を抽出する。次に、ステップ１１０２で抽出したプロトコル番号に基づき、メッセージテンプレートデータ構造２７０（図５）にアクセスし、メッセージＲ２の望ましいフォーマットを決定する。望ましいプロトコルは、メッセージシンタックス（例えば、許可されたライン終了の文字）及びメッセージコーディング（例えば、アスキーまたはヘックス）を含むことができる。メッセージＲ２は、以下のようにして望ましいフォーマットに従って解析される。
【０４２４】
ステップ１１０３において、顧客コンピュータ２００は、サーバメッセージ組み込み手続１０００のステップ１０１３でサーバコンピュータ１００によって使用されたものと同じデータを使用してチェックサムを計算する。ステップ１１０４において、ステップ１１０３で計算されたチェックサムは、メッセージＲ２のトレーラー４３５０のチェックサムと比較される。もし、チェックサムが同じでなければ、メッセージＲ２はステップ１１０４Ａで処分され、ここでメッセージアンラップ手続１１００が終了する。
【０４２５】
もし、チェックサムがステップ１１０４において同じであれば、処理はステップ１１０５Ａに続き、ここでメッセージはチェックされ、それがメッセージアンラップ手続１１００に対し適切かどうかを決定する。もし、メッセージがメッセージの透明な部分にラベル“タイプ”を含まなければ、メッセージアンラップ手続は適当である。メッセージの透明部分にラベル“タイプ”を含む顧客コンピュータ２００によって受け取られたメッセージは、ステップ１１０５Ｂの他の手続（どこかに記載される）を使用してアンラップされるであろう。ここで、メッセージＲ２が適切であれば、処理はステップ１１０６に続き、ここで不透明なラベル値ペア４３１７の値は解読される。
【０４２６】
ステップ１１０７において、メッセージ組み込み手続８００のステップ８０２でテンポラリレジスタに蓄積されたＤＥＳキー／ＩＶペアは検索される。
【０４２７】
ステップ１１０８において、ステップ１１０７で検索されたＤＥＳキー／ＩＶペアは、不透明なラベル値ペア４３１７を解読するために使用される。もし、いかなる理由かで、不透明なラベル値ペア４３１７の解読が成功しなければ、ステップ１１０９はステップ１１０５にメッセージＲ２の処理を送り、ここでエラーフラグがセットされる。この場合、メッセージアンラップ手続１１００の処理はステップ１１２１で中止する。もし、ラベル値ペア４３１７の解読が成功すれば、処理はステップ１１１０に続く。
【０４２８】
ステップ１１１０において、メッセージタイプは、ラベル値ペア４３１７Ａを参照して決定される。例えば、メッセージＲ２に対するラベル値ペア４３１７Ａの値は、“登録応答”である。
【０４２９】
メッセージＲ２のチェックは、次に、以下のようにしてステップ１１１１で行われる。メッセージテンプレートデータ構造２７０（図１７）は、送られてきたメッセージのフォームに関するデータを含む。少なくとも、フォームチェック手続きは、送られてきたメッセージがこのメッセージのために定められたすべてのラベルを含んでいるかどうか、値を必要とする各ラベルに値があるかどうか、及び、値は、どのようなタイプか（例えば、テキスト、署名された番号）、どのようなシンタックスか（例えば、有効なＥメールアドレスのフォーム）、要求される特定の限定の中かどうかを、確認する。もし追加のラベルがあれば、顧客コンピュータ２００はそれらを無視する。もしメッセージが解読出来なかったならば、または、もし解読できたがフォームクライテリアに合致しなかったならば、エラーフラグがステップ１１０５でセットされる。
【０４３０】
もし、メッセージがステップ１１１１でのチェックを通過すれば、メッセージアンラップ手続１１００はステップ１１２１で中断する。
【０４３１】
再び図４８を参照すると、処理はステップ１２２０へ続く。そこで、以下のようにしてエラーメッセージを取り扱うことが好ましい。
【０４３２】
（１）もしエラーフラグがステップ１１０５でセットされていれば、フラグはステップ１２２０で検出され、メッセージＲ２の処理はステップ１２２１で中断する。顧客ユーザ２０３の予想から、メッセージＲ２に対しその他のいかなる行動もとられない。本発明の好ましい実施例において、サーバコンピュータ１００へメッセージを作成して送るための顧客アプリケーションソフトウェア２１０の範囲内におけるメカニズムを含むことが好ましい。このメッセージは、顧客コンピュータ２００によって受け取られるように、メッセージＲ２及び何がメッセージＲ２を失敗させたかの診断を含む。このメッセージに対するいかなる応答も、サーバコンピュータ１００によって顧客コンピュータ２００に対して送られない。そして、情報はこのシステムの中に問題が存在するかどうかを確認するために使用され、もし必要であれば、訂正を行なう必要がある。
【０４３３】
（２）もし、ステップ１１０５で何のエラーフラグもセットされないが、メッセージＲ１中にステップ９０５またはステップ１２１６でエラーが検出されたならば、処理はステップ１２２２に続き、ここでラベル値４３１７Ｆの内容がチェックされる。もし、ラベル値４３１７Ｆの値が“成功”以外であれば、エラー処理ルーチンがステップ１２２３で実行され、顧客アプリケーションソフトウェア２１０が、ラベル値４３１７Ｆの内容に関連するラベル値４３１７Ｋに含まれるメッセージを表示し、ラベル値４３１７Ｆの値を解釈して、その値に関連するいかなる行動をもとる。特に、もし、エラーフラグセットのみが、要求されたＩＤが特別でないことを示すステップ１２１６で検出されれば、サーバコンピュータ１００によって提案されてラベル値ペア４３１７Ｄ中に戻されたＩＤが表示され、登録処理はステップ１２０１で再び開始される。または、
（３）もし、メッセージＲ１がステップ９０５のチェックを通過し、何のフラグもステップ１１０５でセットされず、顧客ユーザ２０３によって要求されたＩＤがサーバコンピュータ１００によって受け入れられたならば、処理はステップ１２２４に続き、ここで顧客アプリケーションソフトウェア２１０は、以下のように、顧客データベース２０２を更新する。ラベル値４３１７Ｄの値及び二つのディジットからなるチェックコードは、領域２２０Ａの顧客個人ＩＤに割り当てられる。ラベル値ペア４３１７Ｅの値は、領域２２０ＢのＥメールアドレスに蓄積される。領域２２０ＣのＲＳＡパブリックキーは、顧客アプリケーションソフトウェア２１０によって作成された値を受け取り、ラベル値ペア４３１７Ｉ中にエコーさせる。また、顧客ログデータ構造２６０のレコード２６１は、以下のようにして作成される。ラベル値ペア４３１３Ａからの取引番号は、領域２６１Ｂに蓄積される。ラベル値ペア４３１７Ｂからの日付は、領域２６１Ｃに蓄積される。ラベル値ペア４３１７Ｃからの要求されたＩＤは、領域２６１Ｈに蓄積される。ラベル値ペア４３１７Ｄからの応答ＩＤは、領域２６１Ｉに蓄積される。ラベル値ペア４３１７ＥからのＥメールアドレスは、領域２６１Ｊに蓄積される。ラベル値ペア４３１７Ｆからの応答コードは、領域２６１Ｆに蓄積される。ラベル値ペア４３１７Ｊからのソフトウェアセビリティコードは、領域２６１Ｄに蓄積される。ラベル値ペア４３１７Ｋからのソフトウェアメッセージは、領域２６１Ｅに蓄積される。領域４３１７Ｌからの応答コードに関連する応答メッセージは、領域２６１Ｇに蓄積される。
【０４３４】
処理はステップ１２２５に続き、ここで登録処理４０１は終了する。
【０４３５】
Ｃ．手段結合処理４０３
手段結合処理４０３は、それにより顧客ユーザ２０３が手段を顧客個人１２０．１に結合させる処理である。図５８は、ステップ１３０１で始まる手段結合処理４０３を示すフロー図を示す。
【０４３６】
ステップ１３０２において、顧客アプリケーションソフトウェア２１０は、顧客ユーザ２０３が、顧客個人１２０．１に結合すべき手段に関する情報をエンターするよう促す（要求する）。この情報は、サーバコンピュータ１００に送られたメッセージＢＩ１に含まれ、結合される手段についての手段結合データ１２０Ｈ（領域１２０Ｈ．１−１２０Ｈ．２８）の一部となる。好ましい実施例において、顧客ユーザ２０３は、手段番号、手段使用満了日、手段顧客確認番号、及び手段所有者の、名前、街区番号、市、州、郵便コード、国、国コード、電話番号（市街コードを含む）をエンターする。顧客ユーザ２０３は、また、結合された手段が前述したようにオートクローズ手段かどうかを示すことを求められる。また、顧客アプリケーションソフトウェア２１０は、ランダム数（“手段ソルト”と呼ばれる）を作成する。顧客ユーザ２０３は、また、結合された手段の記述を求められる。この記述は、“会社クレジットカード”や“ジョンの銀行通帳”のようなフォームとなる。クレジットカードの結合のため、この情報は、顧客継続取引データ構造２５０の領域２５２Ｒに蓄積される。手段タイプ、手段カテゴリ、手段機能は、顧客アプリケーションソフトウェア２１０によって顧客ユーザ２０３がエンターしたデータから引き出される。
【０４３７】
ステップ１３０２で必要とされるデータはクレジットカード手段を例にとって記載されているが、クレジットカードデータをデビットカード、ＤＤＡｓ、他の財政上の手段をも含むよう変更することは、当業者の知識の範囲内である。
【０４３８】
メッセージＢＩ１は、手段結合処理４０３を実行するために、顧客コンピュータ２００によってサーバコンピュータ１００に組み込まれ、顧客コンピュータ２００によってサーバコンピュータ１００へ送信される。メッセージＢＩ１の内容を、以下に図５９及び６０を参照して記載する。
【０４３９】
ラベル値ペア４４１３Ａは、ラベル“ＩＤ”を有する。ラベル値ペア４４１３Ａの値は、顧客ユーザ２０３に対する個人ＩＤを示す。ラベル値ペア４４１３Ａの値は、顧客個人データ構造２２０（図１８）の領域２２０Ａから得られる。
【０４４０】
ラベル値ペア４４１３Ｂは、ラベル“取引”を有する。ラベル値ペア４４１３Ｂの値は、特別にメッセージＢＩ１を確認する、顧客アプリケーションソフトウェア２１０によって作成された取引番号である。ラベル値ペア４４１３Ｂに関連する値は、領域２５２Ｂ（図２４）に蓄積される。
【０４４１】
ラベル値ペア４４１３Ｃは、ラベル“日付”を有する。ラベル値ペア４４１３Ｃの値は、メッセージＢＩ１が顧客コンピュータ２００のクロックに従ってサーバコンピュータ１００に組み込まれて送られた日付及び時間を示す。ラベル値ペア４４１３Ｃに関連する値は、顧客継続データ構造２５０の領域２５２Ｃに蓄積される。
【０４４２】
ラベル値ペア４４１３Ｄは、ラベル“サーバキー”を有する。後に記載するように、メッセージＢＩ１の不透明なラベル値ペア４４１７を暗号化するために顧客コンピュータ２００によって使用されたＤＥＳキー／ＩＶペアは、サーバコンピュータ１００のＲＳＡパブリックキーを使用して暗号化される。ラベル値ペア４４１３Ｄの値は、サーバプライベートキーデータ構造１６０に蓄積された対応するＲＳＡプライベートキーの位置を指し示す。
【０４４３】
ラベル値ペア４４１３Ｅは、ラベル“サービスカテゴリ”を有する。ラベル値ペア４４１３Ｅの値は、特別のサービスカテゴリのメッセージを取り扱うサーバコンピュータ１００内部のプロセッサに、メッセージＢＩ１を送るために使用されるラベルである。
【０４４４】
ラベル値ペア４４１７は、それに続くデータがメッセージＢＩ１の暗号化された不透明セクション内容を含むことを示すラベル“不透明”を有する。
【０４４５】
図６０に示されたメッセージＢＩ１の不透明セクション内容を、次に記載する。
【０４４６】
ラベル値ペア４４１７Ａは、ラベル“タイプ”を有する。ラベル値ペア４４１７Ａの値は、メッセージＢＩ１の不透明セクション内容のラベルを記載したメッセージデータ構造２７０（図１７）のレコードを参照する。ラベル値ペア４４１７Ａの値は、顧客ユーザ２０３が手段結合処理４０３を開始した時に値を発生する顧客アプリケーションソフトウェア２１０から得られる。
【０４４７】
ラベル値ペア４４１７Ｂは、ラベル“サーバ日付”を有する。ラベル値ペア４４１７Ｂは、メッセージＢＩ１が、サーバコンピュータ１００のクロックの顧客コンピュータ２００の認識によって測定するように組み込まれた日付及び時間を示す。
【０４４８】
ラベル値ペア４４１７Ｃは、ラベル“ｓｗバージョン”（ソフトウェアバージョン）を有する。ラベル値ペア４４１７Ｃの値は、サーバコンピュータ１００とコミュニケーションを行なう顧客アプリケーションソフトウェア２１０のバージョンを示す。ラベル値４４１７Ｃの値は、顧客アプリケーションソフトウェア２１０に埋め込まれたデータから得られる。ラベル値ペア４４１７Ｃに関連する値は、領域２５２Ｄ（図２４）に蓄積される。
【０４４９】
ラベル値ペア４４１７Ｄは、ラベル“手段番号”を有する。安全性確保のために、実際の手段番号は、サーバコンピュータ１００のデータベース１０２に蓄積されない。手段番号はデータベース１０２にハッシュ値として蓄積される。ラベル値ペア４４１７Ｄに関連する値のハッシュは、領域２５２Ｆに蓄積される。
【０４５０】
ラベル値ペア４４１７Ｅは、ラベル“手段タイプ”を有する。ラベル値ペア４４１７Ｅは、例えば、ＶＩＳＡ、マスターカード、アメリカンエキスプレスなどといった手段のタイプを示す。ラベル値ペア４４１７Ｅの値は、ステップ１３０２における手段結合処理４０３の間に顧客ユーザ２０３から得られ、または、手段番号から顧客アプリケーションソフトウェア２１０によって引き出すことができる。ラベル値ペア４４１７Ｅに関連する値は、領域２５２Ｔに蓄積される。
【０４５１】
ラベル値ペア４４１７Ｆは、ラベル“手段カテゴリ”を有する。ラベル値ペア４４１７Ｆの値は、結合された手段のカテゴリを示す。カテゴリは、例えば、クレジットカード、デビットカード、ＤＤＡｓなどを含ませることができる。ラベル値ペア４４１７Ｆの値は、ステップ１３０２の手段結合処理４０３の間に顧客アプリケーションソフトウェアによって引き出せる。
【０４５２】
ラベル値ペア４４１７Ｉは、ラベル“手段機能”を有し、好ましくは、“費用”、“クレジット”、“ロード”、“アンロード”の値のいかなる組合せも有することができる。ラベル値ペア４４１７Ｉの値は、結合された手段とともに顧客ユーザ２０３によって実行される一つあるいはそれ以上の機能を示す。費用取引は、個人１２０．１が手段を製品に対して支払うためのクレジットカードとして使用する時に発生する。クレジット取引は、合意した製品を提供する代わりに、販売者が顧客個人１２０．１を信用する操作である。ロード及びアンロード取引は、さきに記載したものと同じである。ラベル値ペア４４１７Ｉの機能は、ステップ１３０２の手段結合処理４０３の間に顧客アプリケーションソフトウェア２１０によって引き出せる。
【０４５３】
ラベル値ペア４４１７Ｊは、ラベル“手段ソルト”を有する。ラベル値ペア４４１７Ｊの値は、それによりラベル値ペア４４１７Ｄ（手段番号に関する）の値が決定される容易さを減らすために使用される暗号化されたソルトを示す。ラベル値ペア４４１７Ｊの値は、ステップ１３０２の手段結合処理４０３の間に顧客アプリケーションソフトウェア２１０によって発生される。ラベル値ペア４４１７Ｊに関連する値は、領域２５２Ｕ（図２４）に蓄積される。
【０４５４】
ラベル値ペア４４１７Ｋは、ラベル“手段使用満了日”を有する。ラベル値ペア４４１７Ｈの値は、結合された手段の使用満了日を示す。ラベル値ペア４４１７Ｋの値は、ステップ１３０２の手段結合処理４０３の間に顧客ユーザ２０３から得られる。ラベル値ペア４４１７Ｋに関連する値は、領域２５２Ｉに蓄積される。
【０４５５】
ラベル値ペア４４１７Ｌは、ラベル“手段名前”を有する。ラベル値ペア４４１７Ｌの値は、結合された手段の所有者の名前を示す。ラベル値ペア４４１７Ｌの値は、ステップ１３０２の手段結合処理４０３の間に顧客ユーザ２０３から得られる。ラベル値ペア４４１７Ｌに関する値は、領域２５２Ｈに蓄積される。
【０４５６】
ラベル値ペア４４１７Ｍは、ラベル“手段アドレス”を有する。ラベル値ペア４４１７Ｍの値は、結合された手段の所有者の街区を示す。ラベル値ペア４４１７Ｍの値は、ステップ１３０２の手段結合処理４０３の間に顧客ユーザ２０３から得られる。
【０４５７】
ラベル値ペア４４１７Ｎは、ラベル“手段の市”を有する。ラベル値ペア４４１７Ｎの値は、結合された手段の所有者の市名を示す。ラベル値ペア４４１７Ｎの値は、ステップ１３０２の手段結合処理４０３の間に顧客ユーザ２０３から得られる。
【０４５８】
ラベル値ペア４４１７Ｏは、ラベル“手段の州”を有する。ラベル値ペア４４１７Ｏの値は、結合された手段の所有者の州名を示す。ラベル値ペア４４１７Ｏの値は、ステップ１３０２の手段結合処理４０３の間に顧客ユーザ２０３から得られる。
【０４５９】
ラベル値ペア４４１７Ｐは、ラベル“手段の郵便コード”を有する。ラベル値ペア４４１７Ｐの値は、結合された手段の所有者の郵便コードを示す。ラベル値ペア４４１７Ｐの値は、ステップ１３０２の手段結合処理４０３の間に顧客ユーザ２０３から得られる。
【０４６０】
ラベル値ペア４４１７Ｑは、ラベル“手段の国”を有する。ラベル値ペア４４１７Ｑの値は、結合された手段の所有者の国名を示す。ラベル値ペア４４１７Ｑの値は、ステップ１３０２の手段結合処理４０３の間に顧客ユーザ２０３から得られる。
【０４６１】
ラベル値ペア４４１７Ｋ−４４１７Ｑに関連する値は、領域２５２Ｈ−２５２Ｎ（図２４）に蓄積される。
【０４６２】
ラベル値ペア４４１７Ｒは、ラベル“同意”を有する。ラベル値ペア４４１７Ｒは、本発明を使用するために、顧客ユーザ２０３がどのような法律的同意を受け入れたのかを示す。ラベル値ペア４４１７Ｒの値は、顧客ユーザ２０３によって受け入れられた同意から発生し、領域２３０Ｓ（図２０）に蓄積される。
【０４６３】
ラベル値ペア４４１７Ｓは、ラベル“オートクローズ”を有し、値“イエス”または“ノー”を有することができる。ラベル値ペア４４１７Ｓの値は、結合された手段が顧客ユーザ２０３に対してオートクローズ手段であるかどうかを示す。ラベル値ペア４４１７Ｓの値は、ステップ１３０２の手段結合処理４０３の間に顧客ユーザ２０３から得られる。
【０４６４】
ラベル値ペア４４１７Ｔは、ラベル“オートクローズパスフレーズ”を有する。ラベル値ペア４４１７Ｔの値は、使用された時に、顧客個人１２０．１を終了する（好ましくは６−１５文字の）パスフレーズを示す。ラベル値ペア４４１７Ｔは、ラベル値ペア４４１７Ｔが“イエス”の場合にのみ存在する。ラベル値ペア４４１７Ｔの値は、登録処理４０１の間に顧客ユーザ２０３から供給される。
【０４６５】
ラベル値ペア４４１７Ｕは、ラベル“キー”を有する。ラベル値ペア４４１７Ｕの値は、顧客個人１２０．１に対するＲＳＡパブリック／プライベートキーペアの係数部分のハッシュを表す。ラベル値ペア４４１７Ｕの値は、サーバコンピュータ１００が、領域１２０Ｂ（図６）に維持されたＲＳＡパブリックキーがメッセージＢＩ１（ラベル値ペア４４１７Ｖ）をサインするのに使用されたキーと同じであることの確認を許可する。
【０４６６】
ラベル値ペア４４１７Ｖで表されたメッセージＢＩ１のデジタル署名は、ラベル“署名”を有する。ラベル値ペア４４１７Ｖの値は、顧客個人１２０．１のデジタル署名を表す。メッセージＢＩ１に対し、ラベル値ペア４４１７Ｖの値は、好ましくは、ラベル値ペア４４１３Ａ−４４１３Ｄのハッシュ、及び、アルファベット順に、顧客個人１２０．１のＲＳＡプライベートキーで暗号化されたラベル値ペア４４１７Ａ−４４１７Ｕである。顧客個人１２０．１のＲＳＡプライベートキーは、領域２２０Ｈ（図１９）から得られる。
【０４６７】
再び図５８を参照すると、ステップ１３０３において、メッセージＢＩ１は、図４９に示すメッセージ組み込み手続８００に従って組み込まれる。メッセージ組み込み手続８００は、先に、登録メッセージＲ１の組み込みに対して記載されており、メッセージＢＩ１に特有の異変形を有する。メッセージＢＩ１のコピーは、好ましくは、領域２５２Ｗ（図２４）にセーブされ、手段結合処理４０３はステップ１３０４に続く。そこで、顧客コンピュータ２００は、メッセージＢＩ１をサーバコンピュータ１００に送信する。顧客コンピュータ２００は、サーバコンピュータ１００からの応答メッセージＢＩ４を待つ。
【０４６８】
ステップ１３０５において、サーバコンピュータ１００は、顧客コンピュータ２００からメッセージＢＩ１を受け取り、サーバメッセージアンラップ手続９００（ステップ９０１−９１７）を実行することによってメッセージＢＩ１をアンラップする。サーバメッセージアンラップ手続９００（ステップ９０１−９１７）は、メッセージＲ１に対し図５２−５３を参照して先に記載した。
【０４６９】
ステップ１３０６において、もし、ステップ９０９Ａ、９１２、９１４、９１５または９１６のいくつかが、ステップ９０５でセットされるエラーフラグの原因となっていれば、エラー処理手続が、ステップ１３１３においてサーバコンピュータ１００によって実行される。
【０４７０】
ステップ１３１３におけるエラー処理のレベルは、大部分が管理者の決定であるが、チェックサム、署名及びフォームが失敗し、ソフトウェアチェック手続において“致命的”の戻りがあれば、顧客アプリケーションソフトウェア２１０によって処理できるコードを含むメッセージ及び顧客ユーザ２０３によって読み取ることができるメッセージを発するようにすることが好ましい。ステップ１３１３におけるエラー処理手続は、特別のエラーコード（後に応答メッセージＢＩ４の背景で記述する）を伴うフラグに関連し、テキストメッセージ（メッセージのデータ構造かシステム管理者から送られたメッセージのいずれか）を作成する必要がある。その後、サーバコンピュータ１００は、後に記載するように、エラーコード及びその他の関連するメッセージを送る顧客コンピュータ２００に対してと同様に、メッセージＢＩ４を送信する。
【０４７１】
もし、ステップ９０９Ａ、９１２、９１４、９１５および９１６のテストが、ステップ９０５でセットされるエラーフラグを起こす原因になっていなければ、処理はステップ１３０７に続く。ここで、メッセージＢＩ１に含まれた情報は、以下のようにして、手段結合データ１２０Ｈ（領域１２０Ｈ．１−１２０Ｈ．２８）（図８）に転送される。ラベル値ペア４４１３Ａの値は、領域１２０Ｈ．１の個人ＩＤに蓄積される。ラベル値ペア４４１７Ａの値は、領域１２０Ｈ．２の手段タイプに蓄積される。ラベル値ペア４４１７Ｂの値は、領域１２０Ｈ．１３の手段結合データに蓄積される。もし、結合された手段が、オートクローズ手段として顧客ユーザ２０３２によって選択されたならば、ラベル値ペア４４１７Ｄの値は、領域１２０Ｈ．４の手段番号に蓄積される。この値は、システムオペレータのみが知っているＲＳＡキーを使用して暗号化されていることが望ましい。もし、結合された手段が、個人のオートクローズ手段でなければ、ラベル値ペア４４１７Ｄの値はサーバデータ構造１０２で蓄積されず、ラベル値ペア４４１７Ｊの値に沿ってハッシュされ、領域１２０Ｈ．９の手段ハッシュに蓄積される。ラベル値ペア４４１７Ｅの値は、領域１２０Ｈ．３の手段サブタイプに蓄積される。ラベル値ペア４４１７Ｆの値は、領域１２０Ｈ．２の手段タイプに蓄積される。ラベル値ペア４４１７Ｒの値は、領域１２０Ｈ．７の法律的同意に蓄積される。ラベル値ペア４４１７Ｓの値は、領域１２０Ｆのオートクローズ結合に蓄積される。
【０４７２】
ステップ１３０７の後に、メッセージＢＩ４は、サーバコンピュータ１００によって顧客コンピュータ２００に組み込まれ、サーバコンピュータ１００によって顧客コンピュータ２００に転送され、手段結合処理４０３を完了する。メッセージＢＩ４の内容は、以下に、図６１及び６２を参照して記載する。
【０４７３】
ラベル値ペア４４．１１３Ａは、ラベル“ＩＤ”を有する。ラベル値ペア４４．１１３Ａの値は、顧客ユーザ２０３に対する個人ＩＤを示す。ラベル値ペア４４．１１３Ａの値は、ラベル値ペア４４１３ＡにおいてメッセージＢＩ１で受け取られたものと同じである。
【０４７４】
ラベル値ペア４４．１１３Ｂは、ラベル“取引”を有する。ラベル値ペア４４．１１３Ｂの値は、取引番号である。ラベル値ペア４４．１１３Ｂの値は、ラベル値ペア４４１３ＢにおいてメッセージＢＩ１で受け取られたものと同じである。
【０４７５】
ラベル値ペア４４．１１３Ｃは、ラベル“日付”を有する。ラベル値ペア４４．１１３Ｃの値は、ラベル値ペア４４１３ＣにおいてメッセージＢＩ１で受け取られたものと同じである。
【０４７６】
ラベル値ペア４４．１１３Ｄは、ラベル“サービスカテゴリ”を有する。ラベル値ペア４４．１１３Ｄの値は、ラベル値ペア４４１３ＥにおいてメッセージＢＩ１で受け取ったものと同じである。
【０４７７】
図６２に示すメッセージＢＩ４の不透明セクション内容を以下に記載する。
【０４７８】
ラベル値ペア４４．１１７Ａは、ラベル“タイプ”を有する。ラベル値ペア４４．１１７Ａの値は、メッセージＢＩ４の不透明セクション内容のラベルに効力を与えるメッセージデータ構造２７０（図１７）のレコードを参照する。ラベル値ペア４４．１１７Ａの値は、サーバソフトウェア１１０から得られる。
【０４７９】
ラベル値ペア４４．１１７Ｂは、ラベル“サーバ日付”を有する。ラベル値ペア４４．１１７Ｂの値は、メッセージＢＩ４がサーバコンピュータ１００のクロックに従って組み込まれた日付及び時間を示す。
【０４８０】
ラベル値ペア４４．１１７Ｃは、ラベル“応答コード”を有し、好ましくは“成功”または“失敗”を有する。ラベル値ペア４４．１１７Ｃの値は、手段結合処理４０３が成功したのか失敗したのかを示す。
【０４８１】
ラベル値ペア４４．１１７Ｄは、ラベル“ｓｗセビリティ”（ソフトウェアセビリティ）を有し、好ましくは、“致命的”または“警告”の値を有する。ラベル値ペア４４．１１７Ｄの値は、顧客アプリケーションソフトウェア２１０が更新を必要とするかどうかを示し、（“警告”）はまだ使用可能であることを示し、（“致命的”）はもはや使用不可能であることを示す。ラベル値ペア４４．１１７Ｄの値は、顧客アプリケーションソフトウェア２１０が現在のものであれば、零値である。
【０４８２】
ラベル値ペア４４．１１７Ｅは、ラベル“ｓｗメッセージ”（ソフトウェアメッセージ）を有する。ラベル値ペア４４．１１７Ｅの値は、ソフトウェアセビリティの状態が“致命的”または“警告”の場合に、顧客ユーザ２０３がすべきことについての指示を与える。ラベル値ペア４４．１１７Ｅの値は、ラベル値ペア４４．１１７Ｄが零値である場合にのみ存在する。
【０４８３】
ラベル値ペア４４．１１７Ｆは、ラベル“手段番号”を有する。ラベル値ペア４４．１１７Ｆの値は、前述したように、結合された手段の番号を示す。ラベル値ペア４４．１１７Ｆの値は、メッセージＢＩ１のラベル値ペア４４１７Ｄから得られる。
【０４８４】
ラベル値ペア４４．１１７Ｇは、ラベル“手段タイプ”を有する。ラベル値ペア４４．１１７Ｇの値は、手段のタイプを示す。ラベル値ペア４４．１１７Ｇの値は、メッセージＢＩ１のラベル値ペア４４１７Ｅから得られる。
【０４８５】
ラベル値ペア４４．１１７Ｈは、ラベル“手段ソルト”を有する。ラベル値ペア４４．１１７Ｈの値はメッセージＢＩ１のラベル値ペア４４１７Ｊから得られる。
【０４８６】
ラベル値ペア４４．１１７Ｊは、ラベル“手段機能”を有し、前述したように、“販売”、“クレジット”、“ロード”、“アンロード”の値のいずれかの組み合わせを有することでできる。ラベル値ペア４４．１１７Ｊは、結合された手段とともに顧客ユーザ２０３によって実行される一つまたはそれ以上の機能を示す。ラベル値ペア４４．１１７Ｊの値は、メッセージＢＩ１のラベル値ペア４４１７Ｉから得られる。
【０４８７】
ラベル値ペア４４．１１７Ｋは、ラベル“手段＊”を有し、ラベルが“手段”で始まるラベル値ペアの数を表し、それらは顧客ユーザ２０３に対しメッセージＢＩ４（前述した）で供給され、手段がファンドをロードするかアンロードするときにサーバコンピュータ１００にメッセージＬＵ１で戻される。このようにして、サーバコンピュータ１００は、そのデータ構造に情報を蓄積しなくても、必要な時に、手段に関する情報を受け取ることができる。ラベル値ペア４４．１１７Ｋに含まれた特別なデータ値ペアは、結合した手段のタイプおよび手段の発行者の要求に依存する。例えば、クレジットカードは、カード番号、カード満了日、カード所有者の名前及びアドレスを要求し、これらは、カードが個人１２０．１にファンドをロードするために使用される度に、サーバへ戻される。
【０４８８】
ラベル値ペア４４．１１７Ｌは、ラベル“メッセージ”を有する。ラベル値ペア４４．１１７Ｌの値は、ラベル値ペア４４．１１７Ｃに戻されたエラーまたは成功状態に関連し、顧客ユーザ２０３に表示される自由テキストメッセージである。ラベル値ペア４４．１１７Ｌの値は、状態の悪いデジタル署名または間違って形成された登録メッセージＢＩ１及び顧客ユーザ２０３がどのように対応すべきかを示す指示（例えば、“システム管理者を呼びなさい”）を含むことができる。
【０４８９】
再び図５８を参照すると、ステップ１３０８Ａにおいて、メッセージＢＩ４は、図５４に示すサーバメッセージ組み込み手続１０００に従って組み込まれる。サーバメッセージ組み込み手続１０００は、先に、登録メッセージＲ２の組み込みについて記載されている。ステップ１３０８Ｂにおいて、メッセージＢＩ４がサーバコンピュータ１００に送信される。
【０４９０】
ステップ１３０９において、顧客コンピュータ２００は、メッセージＢＩ４をサーバコンピュータ１００から受け取り、メッセージアンラップ手続１１００（ステップ１１０１−１１２１）を実行することにより、メッセージＢＩ４をアンラップする。メッセージアンラップ手続１１００は、先に、メッセージＲ２に対し図５７を参照して記載されている。
【０４９１】
ステップ１３１０において、
（１）もしエラーフラグがステップ１１０５でセットされていれば、フラグはステップ１３１０で検出され、メッセージＢＩ４の処理はステップ１３１１で中断する。顧客ユーザ２０３の予想から、メッセージＢＩ４に対しその他のいかなる行動もとられない。本発明においては、サーバコンピュータ１００へメッセージを作成して送るための顧客アプリケーションソフトウェア２１０の範囲内におけるメカニズムを供給する。このメッセージは、顧客コンピュータ２００によって受け取られるように、メッセージＢＩ４及び何がメッセージＢＩ４を失敗させたかの診断を含む。このメッセージに対するいかなる応答も、サーバコンピュータ１００によって顧客コンピュータ２００に対して送られない。そして、情報はこのシステムの中に問題が存在するかどうかを確認するために使用され、もし必要であれば、訂正を行なう必要がある。
【０４９２】
（２）もし、ステップ１１０５で何のエラーフラグもセットされないが、メッセージＢＩ１中にステップ９０５でエラーが検出されたならば、処理はステップ１３１２に続き、ここでラベル値４４．１１７Ｃの内容がチェックされる。もし、ラベル値４４．１１７Ｃの値が“成功”以外であれば、エラー処理ルーチンがステップ１３１４で実行され、顧客アプリケーションソフトウェア２１０が、ラベル値４４．１１７Ｃの内容に関連するラベル値４４．１１７Ｌに含まれるメッセージを表示し、ラベル値４４．１１７Ｃの値を解釈して、その値に関連するいかなる行動をもとる。または、
（３）もし、メッセージＢＩ１がステップ９０５のチェックを通過し、何のフラグもステップ１１０５でセットされなければ、処理はステップ１３１５に続き、ここで顧客アプリケーションソフトウェア２１０は、以下のように、顧客データベース２０２を更新する。ラベル値４４．１１７Ｆは領域２３０Ａ（図２０）に蓄積される。ラベル値ペア４４．１１７Ｊの内容は、領域２３０Ｌ−２３０Ｏにフラグをセットするために使用される。ラベル値ペア４４．１１７Ｃに含まれる結果コードは、領域２３０Ｐにセーブされる。ラベル値ペア４４．１１７Ｋの内容は、領域２３０Ｒに蓄積される。また、顧客ログデータ構造２６０の新しいレコード２６２（図３１）は、以下のようにして作成される。ラベル値ペア４４．１１３Ｂからの取引番号は、領域２６２Ｂに蓄積される。ラベル値ペア４４．１１７Ｂからの日付は、領域２６２Ｃに蓄積される。ラベル値ペア４４．１１７Ｃからの応答コードは、領域２６２Ｆに蓄積される。ラベル値ペア４４．１１７Ｄからのソフトウェアセビリティコードは、領域２６２Ｄに蓄積される。ラベル値ペア４４．１１７Ｅからのソフトウェアメッセージは、領域２６２Ｅに蓄積される。ラベル値ペア４４．１１７Ｆからの手段番号は、領域２６２Ｉに蓄積される。ラベル値ペア４４．１１７Ｇからの手段タイプは、領域２６２Ｊに蓄積される。領域４４．１１７Ｌからの応答コードに関連する応答メッセージは、領域２６２Ｇに蓄積される。
【０４９３】
処理はステップ１３１６に続き、ここで手段結合処理４０３が終了する。
【０４９４】
Ｄ．ロード／アンロード  ファンド処理４０５
図６３は、ステップ１４０１から始まるロード／アンロード処理４０５を示すフロー図である。
【０４９５】
ステップ１４０１Ａにおいて、顧客ユーザ２０３は顧客ユーザ２０３が（オペレーション）ファンドをロードまたはアンロードすることを所望するか否かを選択する。以下の記載においては、顧客ユーザ２０３がファンドをロードすることを選択することを仮定している。ファンドのアンロードはアンロードされるべきファンドが負の金額として特定されることを除いて同じ処理である。
【０４９６】
ステップ１０４２において、顧客アプリケーションソフトウエア２１０は、個人１２０．１に関連する全ての手段に対して、レコード２３０．１の領域２３０Ｏにアクセスし、ロード動作が可能な全ての手段のリストを表示する。ステップ１０４３において、顧客ユーザ２０３が表示されたリストから一つの手段を選択し、その手段からキャッシュコンテナデータ領域１２０Ｇおよび２２０Ｉに代表されるキャッシュコンテナにファンドをロードする。
【０４９７】
ステップ１４０６において、顧客ユーザ２０３は、ステップ１４０２において選択した手段からロードするために、キャッシュコンテナ１２０Ｇ内へ特定の通貨でファンドの金額を入力することを促される（要求される）。
【０４９８】
メッセージＬＵ１が組み込まれ、顧客コンピュータ２００からサーバコンピュータ１００に転送されて、ロード／アンロードファンド処理４０５を実行する。メッセージＬＵ１の内容は、図６４及び６５に記載されている。
【０４９９】
ラベル値ペア４５１３Ａはラベル“ＩＤ”を有する。ラベル値ペア４５１３Ａは顧客ユーザ２０３用の個人ＩＤと同じである。ラベル値ペア４５１３Ａの値は、領域２２０Ａ（図１９）から得られる。ラベル値ペア４５１３Ａに関連する値は、領域２５５Ｅ（図２７）に蓄積されている。
【０５００】
ラベル値ペア４５１３Ｂは“取引”のラベルを有する。ラベル値ペア４５１３Ｂの値は、顧客アプリケーションソフトウエア２１０で発生する取引番号であり、このソフトウエアは唯一のメッセージＬＵ１を認識する。ラベル値ペア４５１３Ｂは、後に述べるように、メッセージＬＵ１を受け取ると、（１）関連する応答メッセージＬＵ２をサーバコンピュータ１００が送れるようにし、また（２）メッセージＬＵ１が２重メッセージである場合は（すなわち、サーバコンピュータ１００がすでに受け取っているメッセージである場合）選択できるようにする。ラベル値ペア４５１３Ｂに関連する値は領域２５５Ｂに蓄積される。
【０５０１】
ラベル値ペア４５１３Ｃは“日付”ラベルを有する。ラベル値ペア４５１３Ｃの値は、メッセージＬＵ１が組み込まれ、サーバコンピュータ１００に送られた日付と時刻を顧客コンピュータ２００のクロックに従って表示する。ラベル値ペア４５１３Ｃに関連する値は領域２５５Ｅに蓄積される。
【０５０２】
ラベル値ペア４５１３Ｄは“サーバキー”のラベルを有する。以下に述べるメッセージＬＵ１の不透明ラベル値ペアを暗号化するために顧客コンピュータ２００で使用されるＤＥＳキー／ＩＶペアは、サーバコンピュータ１００のＲＳＡパブリックキーを使用して暗号化される。ラベル値ペア４５１３Ｄの値は対応するＲＳＡプライベートキーをさせ、これはサーバプライベートキーデータ構造１６０に蓄積されている。
【０５０３】
ラベル値ペア４５１３Ｅは“サービス−カテゴリ”ラベルを有する。ラベル値ペア４５１３Ｅの値は、特別なサービスカテゴリーのメッセージを操作するサーバコンピュータ１００内のプロセッサへメッセージＬＵ１を送るのに使用されるラベルである。
【０５０４】
ラベル値ペア４５１７は、その後に続くデータがメッセージＬＵ１の暗号化された不透明部の内容を含むことを示す“不透明”ラベルを有する。図６５に示されるメッセージＬＵ１の不透明部の内容がここに記載される。
【０５０５】
ラベル値ペア４５１７Ａは“タイプ”のラベルを有する。ラベル値ペア４５１７Ａは、メッセージＬＵ１の不透明部の内容のラベルを設定するメッセージデータ構造１５０（図５）の記録を意味する。ラベル値ペア４５１７Ａは、顧客ユーザ２０３がロード／アンロード処理４０５を初期化する際にラベルを発生する顧客アプリケーションソフトウエア２１０から得られる。
【０５０６】
ラベル値ペア４５１７Ｂは“サーバ日付”ラベルを有する。ラベル値ペア４５１７Ｂの値は、メッセージＬＵ１が組立てられた日付と時刻を表示する。その日付と時刻は、サーバコンピュータ１００のクロックを認識している顧客コンピュータ２００によって測定される。
【０５０７】
ラベル値ペア４５１７Ｃは“ｓｗバージョン”（ソフトウエアバージョン）ラベルを有する。ラベル値ペア４５１７Ｃの値は、サーバコンピュータ１００と通信している顧客アプリケーションソフトウエア２１０のバージョンを表示する。ラベル値ペア４５１７Ｃの値は、顧客アプリケーションソフトウエア２１０に埋め込まれたデータから得られる。ラベル値ペア４５１７Ｃに関連する値は領域２５５Ｄ（図２７）に蓄積される。
【０５０８】
ラベル値ペア４５１７Ｄは“金額”ラベルを有する。ラベル値ペア４５１７Ｄは、顧客ユーザ２０３のためにキャッシュコンテナ１２０Ｇからステップ１４０２で選択された関連する手段から、転送される通貨の種類及びファンドの金額を表す。アンロード操作用においては、ファンドの金額は負の金額である。従って、アンロードするためには、ラベル値ペア４５１７Ｄが、キャッシュコンテナ１２０Ｇからステップ１４０２で選択された関連する手段へ転送されるべき通貨の種類とファンドの金額を表示する。ラベル値ペア４５１７Ｄに関連する値は領域２５５Ｇに蓄積される。
【０５０９】
ラベル値ペア４５１７Ｅは“手段＊”のラベルを有し、“手段”でラベルが始まるラベル値ペア４４．１１７Ｋ（図６１）のメッセージＢＩ４においてサーバコンピュータ１００によってリターンされるすべてのラベル値ペアを表示する。ラベル値ペア４５１７Ｅの値は、それからロード操作が行われサーバコンピュータ１００の手段を唯一のものと認識するものである。
【０５１０】
ラベル値ペア４５１７Ｆは“キー”ラベルを有する。ラベル値ペア４５１７Ｋの値は顧客個人１２０．１のＲＳＡパブリック／プライベートキーペアのモジュール部のハッシュを表す。ラベル値ペア４５１７Ｆはサーバコンピュータ１００に領域１２０Ｂ（図６）に維持されているＲＳＡパブリックキーがメッセージＬＵ１（ラベル値ペア４５１７Ｆ）をサインするのに使用されているのと同じものであることを確認させる。
【０５１１】
図６３を再度参照すると、ステップ１４０７において、メッセージＬＵ１はメッセージアッセンブリ処理８００（図４９）に従って組込まれる。メッセージアッセンブリ処理８００は、メッセージＬＵ１をノートする以下の変形例と共に、登録メッセージＲ１の組み込みとしてすでに述べた。メッセージＬＵ１のコピーは好ましくは、領域１４０Ｅ（図１６）に蓄積される。
【０５１２】
ロード／アンロード処理４０５はステップ１４０８で継続する。ここで、顧客コンピュータ２００がメッセージＬＵ１をサーバコンピュータ１００へ転送する。顧客コンピュータ２００はサーバコンピュータ１００からの応答メッセージＬＵ２を待つ。
【０５１３】
ステップ１４０９において、サーバコンピュータ１００は顧客コンピュータ２００からメッセージＬＵ１を受取り、サーバメッセージアンラップ処理９００（ステップ９０１−９１７）を実行することによって、メッセージＬＵ１をアンラップする。サーバメッセージアンラップ処理９００は、メッセージＲ１についての図５２−５３を参照してすでに述べた。
【０５１４】
図５２および５３を再度参照すると、ステップ１４１０において、処理が続けられ、テストステップ９０９Ａ、９１２、９１４、９１５または９１６のいずれかがステップ９０５でセットされるべきエラーフラッグが生じても、エラー処理はステップ１４１７でサーバコンピュータによって実行される。ステップ１４１７におけるエラー処理レベルが管理者による決定である一方、チェックサムの欠如、サイン、形式、及び“致命的”等の最低限のものが、顧客アプリケーションソフトウエア２１０で処理され得るコードを含むリターンメッセージ、及び顧客ユーザ２０３で読み取り得るメッセージにおいて、ソフトウエアチェック処理に戻る。ステップ１４１７のエラー処理は、特定のエラーコード（下記にリターンメッセージＬＵ２のコンテント中に述べた）とフラッグを関連させて、テキストメッセージ（メッセージのデータ構造と、システム管理者によって送られてくるメッセージのいずれか）を作る必要がある。次いで、サーバコンピュータ１００は、下記のエラーコードとそれに関連するメッセージを運ぶ顧客コンピュータ２００と同様のメッセージＬＵ２を作る。
【０５１５】
ステップ９０９Ａ、９１２、９１４、９１５及び９１６のテストでステップ９０５でセットされるべきエラーフラッグが生じなければ、ステップ１４１１で処理が続けられる。ここでは、メッセージＬＵ１に含まれる情報、すなわち、ラベル値ペア４５１７Ｄによって表される金額は、サーバ個人データ構造１２０内の顧客ユーザー２０３用個人１２０．１の領域１２０Ｇ．２のキャッシュコンテナにおける金額に書き換えられる。この時点で、サーバコンピュータ１００で、メッセージＬＵ１に関する手段からキャッシュコンテナ領域１２０Ｇ．４において同定される代理人口座に転送されるべきファンドが生じる。メッセージＬＵ１で要求されているファンドは、２４時間が経過したといったような幾らかの追加条件が合致しない限り、入手できなくなるような方法で“オンホールド”におかれる。
【０５１６】
ステップ１４１１の後に、メッセージＬＵ２が組込まれ、サーバコンピュータ１００から顧客コンピュータ２００に転送され、ロード／アンロードファンド処理４０５が終了する。メッセージＬＵ２の内容は、図６６及び６７に関連して記載されている。
【０５１７】
ラベル値ペア４５．１１３Ａは“ＩＤ”ラベルを有する。ラベル値ペア４５．１１３Ａの値は顧客ユーザ２０３の個人ＩＤを表示する。ラベル値ペア４５．１１３Ａの値はラベル値ペア４５１３ＡにおいてメッセージＬＵ１で受け取る値と同じものである。
【０５１８】
ラベル値ペア４５．１１３Ｂは、“取引”ラベルを有する。ラベル値ペア４５．１１３Ｂの値は取引番号である。ラベル値ペア４５．１１３Ｂの値は、ラベル値ペア４５１３ＢにおいてメッセージＬＵ１で受け取られる値と同じものである。
【０５１９】
ラベル値ペア４５．１１３Ｃは、“日付”ラベルを有する。ラベル値ペア４５．１１３Ｃの値はラベル値ペア４５１３ＣにおいてメッセージＬＵ１で受け取る値と同じものである。
【０５２０】
ラベル値ペア４５．１１３Ｄは、“サービスカテゴリ”ラベルを有する。ラベル値ペア４５．１１３Ｄの値はラベル値ペア４５１３ＥにおいてメッセージＬＵ１で受け取る値と同じものである。
【０５２１】
図６７に示されている応答メッセージＬＵ２の不透明部の内容は以下の通りである。
【０５２２】
ラベル値ペア４５．１１７Ａは“タイプ”ラベルを有する。ラベル値ペア４５．１１７Ａのラベル値は、メッセージＬＵ２の不透明部の内容のラベルを設定するメッセージデータ構造２７０（図１７）の記録を引用している。ラベル値ペア４５．１１７Ａの値はサーバソフトウエア１１０から得られる。
【０５２３】
ラベル値ペア４５．１１７Ｂは“サーバの日付”ラベルを有する。ラベル値ペア４５．１１７Ｂのラベル値は、組立てられた日付及び時刻のメッセージＬＵ２をサーバコンピュータ１００のクロックによって表示する。
【０５２４】
ラベル値ペア４５．１１７Ｃは“金額”ラベルを有する。ラベル値ペア４５．１１７Ｃの値は、ラベル値ペア４５１７Ｅで認識された関連する手段から顧客ユーザ２０３用のキャッシュコンテナ領域１２０Ｇ．２へ転送された値である。
【０５２５】
ラベル値ペア４５．１１７Ｄは、上述したとおり、“応答コード”ラベル及び“成功”または“失敗”ラベルを有する。ラベル値ペア４５．１１７Ｄのラベル値は、ロード／アンロード処理４０５が成功したか失敗したかを表示する。
【０５２６】
ラベル値ペア４５．１１７Ｅは、“メッセージ”ラベルを有する。ラベル値ペア４５．１１７Ｅの値は、ラベル値ペア４５．１１７Ｄの“応答コード”値を説明するフリーテキストメッセージである。
【０５２７】
ラベル値ペア４５．１１７Ｆは、“ｓｗセベリティ”（ソフトウエアセベリティ）ラベル及び“致命的”または“警告”ラベルを有する。ラベル値ペア４５．１１７Ｆの値は、顧客アプリケーションソフトウエア２１０が更新される必要があるか否かを表示するが、それはまだ更新できない（“警告”）かまたはもはや更新できない（“致命的”）かのいずれかである。ラベル値ペア４５．１１７Ｆの値は、顧客アプリケーションソフトウエア２１０が使用されていれば零である。
【０５２８】
ラベル値ペア４５．１１７Ｇは、“ｓｗメッセージ”（ソフトウエアメッセージ）ラベルを有する。ラベル値ペア４５．１１７Ｇの値は、“致命的”または“警告”のソフトウエアセベリティが生じた場合、顧客ユーザ２０３が何をするべきかについての指示を表示する。ラベル値ペア４５．１１７Ｇ値は、ラベル値ペア４５．１１７Ｄが零でないか否かを表すのみである。
【０５２９】
ラベル値ペア４５．１１７Ｈは、“料金”ラベルを有する。ラベル値ペア４５．１１７Ｈの値は、もしあれば、サーバコンピュータ１００の処理メッセージＬＵ１に関連して、顧客ユーザ２０３にかかる料金を表示する。この料金は、もし存在すればキャッシュコンテナフィールド１２０Ｇ．２から引出される。
【０５３０】
ラベル値ペア４５．１１７Ｉは、“バランス”ラベルを有する。ラベル値ペア４５．１１７Ｉの値は、顧客ユーザ２０３に関するキャッシュコンテナ１２０Ｇ．２における入手可能なバランスを表示する。このバランスは、メッセージＬＵ１を介してロードされるラベル値ペア４５．１１７Ｃの金額値で調整されるキャッシュコンテナの前のバランスと、ラベル値ペア４５．１１７Ｈの料金値を反映するものである。
【０５３１】
ラベル値ペア４５．１１７Ｊは、“セッションファンド”ラベルを有する。ラベル値ペア４５．１１７Ｊの値は、キャッシュコンテナ１２０Ｇ．２から全ての開設セッションに関するサーバセッションデータ構造１３０の開設金額領域１３０Ｅへ転送された金額を表示する。
【０５３２】
ラベル値ペア４５．１１７Ｋは、“オン−ホールド”ラベルを有する。ラベル値ペア４５．１１７Ｋの値は、キャッシュコンテナ１２０Ｇ．３から得られ、顧客ユーザ２０３に関するキャッシュコンテナ１２０Ｇ．２に、メッセージＬＵ１のラベル値ペア４５．１１７Ｅで認識される関連する手段からの転送が継続中になっているファンドの金額を表示する。この値は、その手段の発行人による同意もしくは処理を待っているファンドを表示する。その発行人からファンドがロードされるか、または発行人へファンドがアンロードされる。
【０５３３】
図６３のステップ１４１２において、サーバソフトウエア１１０は図５４に示すフロー図に従って応答メッセージＬＵ２を組み込む。サーバメッセージ組立て処理１０００は、登録メッセージＲ２の組み込みとしてすでに説明した。
【０５３４】
図５７を再度参照すると、メッセージＬＵ２はステップ１４１２Ａで、サーバコンピュータ１００から顧客コンピュータ２００へ送られる。
【０５３５】
ステップ１４１３において、顧客コンピュータ２００は、サーバコンピュータ１００からメッセージＬＵ２を受取り、メッセージアンラップ処理１１００（ステップ１１０１−１１２１）を実行することによって、メッセージＬＵ２をアンラップする。メッセージアンラップ処理１１００はメッセージＲ２に関する図２に関連してすでに述べた。
【０５３６】
ステップ１４１４では、
（１）ステップ１１０５でエラーフラッグがセットされた場合、そのフラッグがステップ１４１４で検出され、ステップ１４１５でメッセージＬＵ２の処理が終了する。顧客ユーザ２０３の予想により、メッセージＬＵ２に関してさらなるアクションは取られない。本発明においては、メカニズムは顧客アプリケーションソフトウエア２１０内にあり、メッセージを作ってサーバコンピュータ１００に送る。このメッセージは、顧客コンピュータ２００で受け取ったメッセージＬＵ２、及びメッセージに何が失われたのかの診断を含むものである。サーバコンピュータ１００によっては、このメッセージに対してなんら応答が顧客コンピュータ２００へ送られない。むしろ、その情報は、システム内に問題があるかどうか、及び適当な訂正手段が取られることが必要であるかどうかを確かめるために使用される。
【０５３７】
（２）ステップ１１０５にてエラーフラッグがセットされることなくステップ９０５にてメッセージＬＵ１のエラーが検出された場合、ラベル値４５．１１７Ｄの内容がチェックされ、ステップ１４１６で処理が続けられる。ラベル値４５．１１７Ｄの値が“成功”以外のものであれば、ステップ１４１８でエラー処理ルーチンが行われ、顧客アプリケーションソフトウエア２１０がラベル値４５．１１７Ｄの内容に関連するラベル値４５．１１７Ｅに含まれているメッセージを表示するとともに、ラベル値４５．１１７Ｄを解読し、その値に関連すると思われる動作であればなんでも行う；または
（３）メッセージＬＵ１がステップ９０５におけるチェックをパスし、ステップ１１０４にてフラッグがセットされなければ、ステップ１４１９にて処理が続けられ、顧客アプリケーションソフトウエア２１０が顧客個人データ構造２２０のキャシュコンテナ領域２２０Ｊの内容を蓄積してカスタマデータベース２０２を更新する。
【０５３８】
これに加えて、顧客ログデータ構造２６０の新しい記録２６４は、以下の通り作成される：個人ＩＤがラベル値ペア４５．１１３Ａから領域２６４Ｂに蓄積される。ラベル値ペア４５．１１７Ｂからの日付は領域２６４Ｃに蓄積される。ラベル値ペア４５．１１７Ｃからの金額は、領域２５３Ｊに蓄積される。ラベル値ペア４５．１１７Ｄからの応答コードは領域２６４Ｆに蓄積される。領域４５．１１７Ｅにからの応答コードに関連する応答メッセージは領域２６４Ｇに蓄積される。ラベル値４５．１１７Ｅからのソフトウエアセベリティコードは領域２６４Ｄに蓄積される。ラベル値ペア４５．１１７Ｇからのソフトウエアメッセージは領域２６４Ｅに蓄積される。ラベル値ペア４５．１１７Ｉからのバランスは領域２６４Ｌに蓄積される。
【０５３９】
ステップ１４２０で処理が続けられ、ロード／アンロード処理４０５が終了する。
【０５４０】
Ｅ．開設セッション処理４０７
図６８は、ステップ１５０１で始まる開設セッション処理４０７を示すフローチャートである。
【０５４１】
ステップ１５０２において、顧客アプリケーションソフトウエア２１０は顧客ユーザ２０３に、開始すべきセッション部に関する情報を入力するように促す（要求する）。この情報は、サーバコンピュータ１００に送られるメッセージＯＳ１に含まれることになり、セッションデータ構造１３０（図１２）の一部になる。好適な実施の形態においては、顧客ユーザ２０３は、そのセッションが終了するまでの最長時間、そのセッションの間に生じるであろう取引の最大数、そのセッションの間に顧客ユーザ２０３が入手可能な電子キャッシュの金額及び通貨を入力する。顧客ユーザ２０３は、そのセッションの追加事項を入力してもよい。
【０５４２】
メッセージＯＳ１が組み込まれ、顧客コンピュータ２００からサーバコンピュータ１００へ転送されて、セッション処理４０７が開始する。メッセージＯＳ１の内容が、図６９及び７０に示されている。
【０５４３】
ラベル値ペア４６１３Ａは“ＩＤ”ラベルを有する。ラベル値ペア４６１３Ａは顧客ユーザ２０３用の個人ＩＤを表示する。ラベル値ペア４６１３Ａの値は領域２２０Ａから得られる（図１９）。
【０５４４】
ラベル値ペア４６１３Ｂは“取引”ラベルを有する。ラベル値ペア４６１３Ｂの値は、取引番号であり、その番号はメッセージＯＳ１を唯一認識する顧客アプリケーションソフトウエア２１０によって生じる。ラベル値ペア４６１３Ｂは、メッセージＯＳ１を受け取った時、（１）サーバコンピュータ１００に、後述する応答メッセージＯＳ２を送らせ、（２）メッセージＯＳ１が２重メッセージであるかどうか（すなわち、サーバコンピュータ１００がすでに受け取っているかどうか）を決定する。ラベル値ペア４６１３Ｂに関連する値は領域２５６Ｂ（図２８）に蓄積される。
【０５４５】
ラベル値ペア４６１３Ｃは“日付”ラベルを有する。ラベル値ペア４６１３Ｂは、メッセージＯＳ１が組立てられ、サーバコンピュタ１００に送られた日付及び時刻を顧客コンピュータ２００のクロックによって示す。ラベル値ペア４６１３Ｃに関連する値は領域２５６Ｃに蓄積される。
【０５４６】
ラベル値ペア４６１３Ｄは“サーバキー”ラベルを有する。後述するとおり、メッセージＯＳ１の不透明ラベル値ペア４６１７を暗号化するための顧客コンピュータ２００によって使用されるＤＥＳキー／ＩＶペアが、サーバコンピュータ１００のＲＳＡパブリックキーを用いて暗号化される。ラベル値ペア４６１３Ｄはサーバプライベートキー構造１６０内に蓄積された対応するＲＳＡプライベートキーをさす。
【０５４７】
ラベル値４６１３Ｅは、“サービスカテゴリ”ラベルを有する。ラベル値ペア４６１３Ｅの値は、メッセージＯＳ１を、特別なサービスカテゴリのメッセージを取り扱うサーバコンピュータ１００内のプロセッサに送るのに使用されるであろうラベルである。
【０５４８】
ラベル値ペア４６１７は“不透明”ラベルを有する。ラベル値ペア４６１７の値は、メッセージＯＳ１の不透明部の内容（暗号化されたフォームで）を含む。ここで、図７０に示されたメッセージＯＳ１の不透明部の内容を述べる。
【０５４９】
ラベル値ペア４６１７Ａは“タイプ”ラベルを有する。ラベル値ペア４６１７Ａの値は、メッセージＯＳ１の不透明部の内容のラベルを設定するメッセージデータ構造１５０内の記録を示す。ラベル値ペア４６１７Ａの値は、顧客ユーザ２０３が開設セッション処理４０７を開始する時に、ラベルを作る顧客アプリケーションソフトウエア２１０から得られる。
【０５５０】
ラベル値ペア４６１７Ｂは“サーバの日付”を有する。ラベル値ペア４６１７Ｂはサーバコンピュター１００のクロックを認識する顧客コンピュータ２００によって測定した、メッセージＯＳ１が組立てられときの日付と時刻を表示する。
【０５５１】
ラベル値ペア４６１７Ｃは“ｓｗバージョン”（ソフトウエアバージョン）ラベルを有する。ラベル値ペア４６１７Ｃの値は、サーバコンピュータ１００と連絡している顧客アプリケーションソフトウエア２１０のバージョンを表示する。ラベル値ペア４６１７Ｃの値は、顧客アプリケーションソフトウエア２１０内のデータから得られる。ラベル値ペア４６１７Ｃに関連する値は領域２５６Ｄに蓄積される。
【０５５２】
ラベル値ペア４６１７Ｄは“レコードノート”ラベルを有する。ラベル値ペア４６１７Ｄの値は、領域１３０Ｍ（図１２）に蓄積されるべき追加の短いテキストノートである。例えば、そのノートは、“クリスマスの買物”あるいは“スキー用具”などとすることができる。ラベル値ペア４６１７Ｄは顧客アプリケーションソフトウエア２１０からのプロンプトに対するカスタマユーザ２０３の応答から得ることができ、好ましくは、顧客アプリケーションソフトウエア２１０で作成される表示を簡単にするために６０文字に限定されている。
【０５５３】
ラベル値ペア４６１７Ｅは“金額”のラベルを有し、ステップ１５０２において入力して、そのセッションの間に顧客ユーザ２０３が入手可能な電子キャッシュの最大金額を表示する。ラベル値ペア４６１７Ｅに関連する値は領域２５６Ｆに蓄積される。
【０５５４】
ラベル値ペア４６１７Ｆは、“キー寿命”ラベルを有し、顧客ユーザ２０３によって要求されるそのセッションが終了するまでの最大時間を表示するその値は、ステップ５０２で入力される。ラベル値ペア４６１７Ｆに関連する値は領域２５６Ｈに蓄積される。
【０５５５】
ラベル値ペア４６１７Ｇは“キーの使用制限”ラベルを有し、その値はステップ１５０２で入力して、顧客ユーザ２０３に要求される、セッションの間に生じるであろう取引の最大数を表示する。ラベル値ペア４６１７Ｇに関連する値は領域２５６Ｇに蓄積される。
【０５５６】
ラベル値ペア４６１７Ｈは“キー”ラベルを有する。ラベル値ペア４６１７Ｈの値は、顧客個人１２０．１のＲＳＡパブリック／プライベートキーペアのモジュールのハッシュを表す。ラベル値ペア４６１７Ｈの値は、サーバコンピュータ１００に、領域１２０Ｂ（図６）に維持されているＲＳＡパブリックキーがメッセージＯＳ１（ラベル値ペア４６１７Ｉ）をサインするのに必要とされるものと同じキーであることを確認させる。
【０５５７】
ラベル値ペア４６１７Ｉは“サイン”ラベルを有する。ラベル値ペア４６１７Ｉの値は、顧客個人１２０．１に関するデジタルサインを表す。メッセージＯＳ１については、ラベル値ペア４６１７Ｉの値は、顧客個人１２０．１のＲＳＡプライベートキーを用いて暗号化されたラベル値ペア３６１３Ａ−４６１３Ｄ及びラベル値ペア４６１７Ａ−４６１７Ｈのアルファベット順のハッシュである。顧客個人１２０．１のＲＳＡプライベートキーは領域２２０Ｈ（図１９）から得られる。
【０５５８】
メッセージＯＳ１は、登録メッセージＲ１の組立ての時にすでに説明したメッセージアッセンブリ処理８００（図４９）を用いて組立てられる。以下に述べる変形例は、メッセージＯＳ１について記されたものである。メッセージＯＳ１のコピーは好ましくは、領域２５６Ｉに蓄積される。
【０５５９】
販売者コンピュータ３００によるメッセージＯＳ１を組立てる場合は、新規記録３７０．１（図４６）が以下の用にして作られる。
【０５６０】
ラベル値ペア４６１３Ｂの値が、領域３７０Ｐに蓄積される。ラベル値ペア４６１７Ｆの値が領域３７０Ｑに蓄積される。ラベル値ペア４６１７Ｇの値が領域３７０Ｒに蓄積される。ステータス領域３７０Ｏの値が、販売者アプリケーションソフトウエア３１０によって、“試行”されるべくセットされる。
【０５６１】
図６８を再び参照すると、ステップ１５０４で開設セッション処理４０７が続けられている。ここでは、顧客コンピュータ２００がメッセージＯＳ１をサーバコンピュータ１００に転送する。顧客コンピュータ２００は、サーバコンピュータ１００からの応答メッセージＯＳ２を待っている。
【０５６２】
ステップ１５０５では、サーバメッセージアンラップ処理９００を実行することによってサーバコンピュータ１００が顧客コンピュータ２００からのアンラップメッセージＯＳ１を受け取る。サーバメッセージアンラップ処理９００（ステップ９０１−９１７）は、図５２−５３を用いて、メッセージＲ１のところですでに説明した。以下の変形例が考えられる。メッセージＯＳ１のコピーが領域１４０Ｅ（図１６）に蓄積される。
【０５６３】
ステップ１５０６において、ステップ９０９Ａ、９１２、９１４、９１５または９１６のいずれかでステップ９０５において設定されるエラーフラッグが生じたら、ステップ１５１４においてエラー処理処理がサーバコンピュータ１００によって実行される。ステップ１５１４におけるエラー処理のレベルが、管理者による決定である間は、顧客アプリケーションソフトウエア２１０によって処理され得るコード及び顧客ユーザ２０３によって読まれ得るメッセージを含む応答メッセージの結果、少なくとも、チェックサムの欠如、サイン、フォーム、及び致命的が、ソフトウエアチェック処理に戻ることが好ましい。ステップ１５１４におけるエラー処理処理は、特定のエラーコード（下記にリターンメッセージＯＳ２のコンテキストにおいて述べる）とフラッグとを結び付け、テキストメッセージ（メッセージのデータ構造またはシステム管理者によって送られてくるメッセージのいずれかから）を製作する。次いで、サーバコンピュータ１００は下記に述べるのと同様にしてメッセージＯＳ２を作り、エラーコードと関連するメッセージを運ぶ顧客コンピュータ２００に送る。
【０５６４】
ステップ９０９Ａ、９１２、９１４、９１５及び９１６のテストでステップ９０５で設定されるエラーフラッグが生じないのであれば、ステップ１５０７で処理が続けられる。そこで、サーバコンピュータ１００がセッションの認識番号（“セッションＩＤ”）、セッションの暗号化／復号化キー（“セッションキー”）及びセッションソルトを計算（演算）し、メッセージＯＳ１に反映される顧客ユーザー２０３に要求されるセッションの限界を有効なものとする。
【０５６５】
セッションＩＤは、製作されるセッションを唯一認識する６４ビット数である。唯一性は、セッションのＩＤがサーバコンピュータ１００によって順次作成されるため、確実になる。
【０５６６】
セッションキーは、５６ビットのＤＥＳキー（８ビットバイト毎に無視される最も少ない有効ビット）及び６４ビットの初期化ベクトルを含む１２８ビット数である。
【０５６７】
セッションソルトは、セッションの間に交換されるメッセージＣＡ１−ＣＡ４の鑑定を強化するために使用される８バイトの暗号ソルトである。メッセージＣＡ１−ＣＡ４については後に述べる。
【０５６８】
顧客ユーザ２０３によって要求されるセッションの制限は、ラベル値ペア４６１７Ｅの金額、ラベル値４６１７Ｆのキーの寿命値、及びラベル値ペア４６１７Ｇのキーの使用制限値である。キーの寿命および使用制限については、これらの値が、システムの効率を改善し、セッションの間に実行される取引の安全性を最大にするために、サーバコンピュータ１００で設定された固定値となることが好ましい。サーバコンピュータ１００は、要求された値がこのような制限内になることを確かめる。許容値を越える要求された制限のいずれもが無視され、最大許容値はサーバコンピュータによって課せられる。
【０５６９】
ラベル値ペア４６１７Ｅの値は、顧客ユーザ２０３がそのセッションの間に使うことを希望する電子ファンドの金額である。セッションの間に顧客ユーザ２０３に入手可能となるこのようなファンドの実際の金額は、ステップ１５０２で顧客ユーザ２０３によって要求された金額より少ないか同じ金額である。例えば、顧客ユーザは顧客ユーザ２０３用のキャッシュコンテナ領域１２０Ｇ．２で入手可能な電子キャッシュより多い電子キャッシュを要求することができる。この場合、下記に述べるラベル値ペア４７１７Ｉに表示されているとおり、許される金額は、顧客ユーザ２０３用のキャッシュコンテナ領域１２０Ｇ．２に蓄積されている金額に制限される。
【０５７０】
ステップ１５０８で、サーバセッションデータ構造１３０（図１２）が更新される。セッションＩＤはセッションＩＤ領域１３０Ａに蓄積される。セッションキーはセッションキー領域１３０Ｂに蓄積される。セッションソルトはセッションソルト領域１３０ＣＡに蓄積される。セッションの間顧客ユーザ２０３に入手可能な電子キャッシュの金額は、オープンニング金額領域１３０Ｅに蓄積され、領域１３０Ｅに蓄積されている値に関連する通貨指定者は領域１３０Ｄに蓄積される。最初は、領域１３０Ｆはオープンニング金額の値を反映している。電子キャッシュが使われると、領域１３０Ｆの値は、オープンニング金額と使用した金額との差を示す。実際にサーバコンピュータ１００で許可されるキー寿命が、キー寿命領域１３０Ｊに蓄積される。実際にサーバコンピュータ１００で許可されるキー使用制限がキー使用制限領域１３０Ｉに蓄積される。ラベル値ペア４６１３Ａの値は個人ＩＤ領域１３０Ｋに蓄積される。セッションが作られる日付はサーバアプリケーションソフトウエア１１０から得られ、開設日付領域１３０Ｇに蓄積される。ラベル値ペア４６１７Ｄは記録ノート領域１３０Ｍに蓄積される。サーバセッションデータ構造１３０の残りの領域は下記にＣＡタイプのメッセージの内容のところで述べる。
【０５７１】
ステップ１５０９の後、メッセージＯＳ２が組み込まれ、サーバコンピュータ１００から顧客コンピュータ２００へ転送され、クレジットセッション処理４０７を完成させる。図７１及び７２を参照してメッセージＯＳ２について述べる。
【０５７２】
ラベル値ペア４７１３Ａは“ＩＤ”ラベルを有する。ラベル値ペア４７１３Ａは顧客ユーザ２０３の個人ＩＤを表示する。ラベル値ペア４７１３Ａの値は、ラベル値ペア４６１３ＡでメッセージＯＳ１で受け取った値と同じである。
【０５７３】
ラベル値ペア４７１３Ｂは“取引”ラベルを有する。ラベル値ペア４７１３Ｂの値はラベル値ペア４６１３ＢでメッセージＯＳ１で受け取った値と同じである。
【０５７４】
ラベル値ペア４７１３Ｃは“日付”ラベルを有する。ラベル値ペア４７１３Ｃの値はラベル値ペア４６１３ＣでメッセージＯＳ１で受け取った値と同じである。
【０５７５】
ラベル値ペア４７１３Ｄは“サービスカテゴリ”ラベルを有する。ラベル値ペア４７１３Ｄの値はメッセージＯＳ１のラベル値ペア４６１３Ｅで受け取った値と同じである。
【０５７６】
ラベル値ペア４７１７は“不透明”ラベルを有する。ラベル値ペア４７１７の値は、メッセージＯＳ２の不透明部の内容（暗号化されたフォームで）を含む。ここに、図７２に示すメッセージＯＳ２の不透明部の内容を述べる。
【０５７７】
ラベル値ペア４７１７Ａは“タイプ”ラベルを有する。ラベル値ペア４７１７Ａの値は、メッセージＯＳ２の不透明部の内容のラベルを設定するメッセージデータ構造２７０（図１７）内の記録を示す。ラベル値ペア４７１７Ａの値は、サーバソフトウエア１１０から得られる。
【０５７８】
ラベル値ペア４７１７Ｂは“サーバの日付”を有する。ラベル値ペア４７１７Ｂの値はサーバコンピュター１００のクロックに応じてメッセージＯＳ２が組立てられときの日付と時刻を表示する。
【０５７９】
ラベル値ペア４７１７Ｃは、上述したとおり“応答コード”ラベルと、“成功”または“失敗”値を有する。ラベル値ペア４７１７Ｃの値は、開設セッション処理４０７が成功か失敗かを表示する。
【０５８０】
ラベル値ペア４７１７Ｄは、“ｓｗセベリティ”（ソフトウエアセベリティ）ラベルと、“致命的”または“警告”の値を有する。ラベル値ペア４７１７Ｄの値は、顧客アプリケーションソフトウエア２１０を更新する必要があるか否かを表示するが、まで使用可能である（“警告”）かもはや使用できない（“致命的”）かを表示する。ラベル値ペア４７１７Ｄの値は、顧客アプリケーションソフトウエア２１０が存在すれば、零である。
【０５８１】
ラベル値ペア４７１７Ｅは“ｓｗメッセージ”（ソフトウエアメッセージ）のラベルを有する。ラベル値ペア４７１７Ｅは、ソフトウエアセベリティが“致命的”あるいは“警告”を表示している場合、顧客ユーザ２０３が何を行うべきかについての指示を表示する。ラベル値ペア４７１７Ｅの値は、ラベル値ペア４７１７Ｄの値がヌルでない場合にのみ存在する。
【０５８２】
ラベル値ペア４７１７Ｆは“メッセージ”ラベルを有する。ラベル値ペア４７１７Ｆの値は、ラベル値ペア４７１７Ｃに戻り、顧客ユーザ２０３に表示されるエラー状態またはサクセス状態に関連するフリーテキストメッセージである。ラベル値ペア４７１７Ｆの値は、二重に要求された個人ＩＤを表示するメッセージ、不良デジタルサインまたは不良に形成されたメッセージＯＳ１、及び顧客ユーザ２０３がどのように処理を進めるべきかに関する情報を含めることができる。
【０５８３】
ラベル値ペア４７１７Ｇは“キーの寿命”ラベルを有し、その値は、そのセッションが終了するまでの最長時間を表示するキーの寿命領域１３０Ｊ（図１６）から得られる。
【０５８４】
ラベル値ペア４７１７Ｈは“キーの使用制限”ラベルを有し、その値は、そのセッションの間に生じるであろう取引の最大数を表示するキーの使用制限領域１３０Ｉから得られる。
【０５８５】
ラベル値ペア４７１７Ｉは“金額”ラベルを有し、そのセッションの間に顧客ユーザ２０３が入手可能な電子キャッシュの最大額を表示する。ラベル値ペア４７１７Ｉの額は、ステップ１５０２で顧客ユーザ２０３によって要求される額より少ないかあるいはその額と同じである。
【０５８６】
ラベル値ペア４７１７Ｊは“外貨交換”ラベルと、ラベル値ペア４２１７Ｉの値に含まれる通貨から他の通貨へ、例えば、ＵＳ＄からカナディアンドルへの交換レートを表示する値を有する。好ましくは、表示された交換レートは、元になる通貨の１００多数単位に対する目的地の小数単位の数（小数単位の数がない場合多数単位）である。
【０５８７】
ラベル値ペア４７１７Ｋは“セッションファンド”ラベルを有する。ラベル値４７１７Ｋの値は、ラベル値ペア４４１７Ｉの金額を含むすべての開設セッションに送れられた電子キャッシュの額を表示する。顧客個人１２０．１は開いているセッションのどの番号をもっていてもよい。ラベル値ペア４７１７Ｋは顧客ユーザ２０３に丁度開いたセッションを含む全ての開設セッションに最初に割り当てられたファンドの額に関する情報を提供する。
【０５８８】
ラベル値ペア４７１７Ｌは“バランス”ラベルを有する。ラベル値ペア４７１７Ｌの値は、サーバセッションデータ構造１３０の開設金額領域１３０Ｅへの電子キャッシュファンドの転送の後、顧客ユーザ２０３用のサーバ個人データ構造１２０のキャッシュコンテナ１２０Ｇ．２に蓄積された電子キャッシュの額を表示する。
【０５８９】
ラベル値ペア４７１７Ｍは“オンホールド”ラベルを有する。ラベル値ペア４７１７Ｍの値は、キャッシュコンテナ１２０Ｇ．３から得られ、顧客ユーザ２０３用の個人１２０．１でクリアされている未回収の電子キャッシュの額を表示する。この値は、同意を待っているあるいは、それからファンドがロードされるまたはそれへファンドがアンロードされる手段の発行によって処理される電子キャッシュを表示する。
【０５９０】
ラベル値ペア４７１７Ｎは、“料金”ラベルを有する。ラベル値ペア４７１７Ｎの値は、もしあるのであれば、メッセージＯＳ１を処理するのに関連する顧客ユーザー２０３にかかる料金を表示する。
【０５９１】
ラベル値ペア４７１７Ｏは“セッションのＩＤ”ラベルを有する。ラベル値ペア４７１７Ｏの値は、領域１３０ＡのセッションのＩＤから得る。
【０５９２】
ラベル値ペア４７１７Ｐは“セッションキー”ラベルを有する。ラベル値ペア４７１７Ｐの値は、領域１３０Ｂのセッションキーから得る。
【０５９３】
ラベル値ペア４７１７Ｑは“セッションソルト”ラベルを有する。ラベル値ペア４７１７Ｑの値は、領域１３０Ｃのセッションソルトから得る。
【０５９４】
図６８に示すステップ１５０９では、サーバソフトウエア１００が、図２に示すフロー図に基づいてメッセージＯＳ２を組立てる。サーバメッセージ組立処理１０００は、メッセージＲ２の組立てのところですでに述べた。
【０５９５】
ステップ１５０９Ａでは、メッセージＯＳ２がサーバコンピュータ１００から顧客コンピュータ２００へ送信（伝送）される。
【０５９６】
ステップ１５１０では、顧客コンピュータ２００がサーバコンピュータ１００からメッセージＯＳ２を受取り、メッセージＯＳ２用のメッセージアンラップ処理１１００を実行してメッセージＯＳ２をアンラップする。メッセージアンラップ処理１１００（ステップ１１０１−１１２１）については、図５７に基づいてメッセージＲ２のところですでに述べた。
【０５９７】
ステップ１５１１においては、
（１）ステップ１１０５でエラーフラッグがセットされていれば、そのフラッグがステップ１５１１で検出されて、ステップ１５１２でメッセージＯＳ２の処理が終了する。顧客ユーザ２０３からは、メッセージＯＳ２に関しては更なる動作はなんらとられない。本発明では、機構は顧客アプリケーションソフトウエア２１０の中に設けられており、メッセージを作り出してサーバコンピュータ１００に送る。このメッセージは顧客コンピュータ２００で受け取ったＯＳ２メッセージと、そのメッセージがないときに何が生じるかについての診断を含んでいる。このメッセージに対してはなんらの応答もサーバコンピュータ１００から顧客コンピュータ２００へ送られない。むしろ、システム内に問題があるのか否か、及び適切な補正手段を取る必要があるのか否かを確かめるために情報が使用される。
【０５９８】
（２）ステップ１１０５でエラーフラッグはセットされていないが、ステップ９０５においてメッセージＯＳ１にエラーが検出されたら、ステップ１５１３において処理が続けられ、ラベル値４７１７Ｃの内容がチェックされる。ラベル値４７１７Ｃの値が“成功”以外のものであれば、ステップ１５１５でエラー処理ルーチンが行われ、顧客アプリケーションソフトウエア２１０にラベル値４７１７Ｃの内容に関連するラベル値４７１７Ｆに含まれるメッセージを表示させ、ラベル値４７１７Ｃの値を解読して、その値に関連していると思われる動作が取られる；または
（３）メッセージＯＳ１がステップ９０５におけるチェックを通過して、ステップ１１０５でなんらフラッグがセットされなければ、ステップ１５１６における処理が続けられ、顧客アプリケーションソフトウエア２１０が顧客データベース２０２を更新する。
【０５９９】
顧客セッションのデータ構造２４０は次のように更新される。
【０６００】
セッションＩＤはセッションＩＤ領域２４０Ｃに蓄積されてる。セッションキーはセッションキー領域２４０Ｂに蓄積されてる。セッションソルトはセッションサルト領域２４０Ｃに蓄積される。ラベル値ペア４７１７Ｉは通貨指定と量を含む。ラベル値の量は開設金額領域１３０Ｅに蓄積され、領域１３０Ｅに蓄積されている値に関連する通貨指定波領域１３０Ｄに蓄積する。ラベル値ペア４７１７Ｇの値は、キー寿命領域２４０Ｋに蓄積される。ラベル値ペア４７１７Ｇの値は、キー使用制限領域２４０１Ｊに蓄積される。
【０６０１】
領域２４０Ｆは、当所、領域２４０Ｅにおける開始金額の値を反映する。電子キャッシュが使用されれば、領域２４０Ｆの値が開設金額と使用した金額との差を反映することになる。顧客セッションデータ構造２４０の残りの領域は、以下で、ＣＡタイプのメッセージの内容においてのべる。
【０６０２】
顧客セッションデータ構造２４０に記録されている値に加えて、顧客ログデータ構造２６０の記録２６５が続いて更新される。ラベル値ペア４７１３Ａの個人ＩＤは領域２６５Ｈに蓄積される。ラベル値ペア４７１３Ｂからの取引数は領域２６５Ｂに記録される。ラベル値ペア４７１７Ｂからの日付は領域２６５Ｃに蓄積される。ラベル値ペア４７１７Ｃからの応答コードは、領域２６５Ｆに蓄積される。ラベル値ペア４７１７Ｄからのソフトウエアセベリティコードは領域２６５Ｄに蓄積される。ラベル値ペア４７１７Ｅからのソフトウエアメッセージは領域２６５Ｅに蓄積される。ラベル値ペア４７１７Ｆからの応答コードに関連する応答メッセージは、領域２６５Ｇに蓄積される。ラベル値ペア４７１７ＧＫらのキー寿命は、領域２６５Ｋに蓄積される。ラベル値ペア４７１７Ｈからのキー使用制限は領域２６５Ｊに蓄積される。ラベル値ペア４７１７Ｉからの金額は領域２６５Ｉに蓄積される。ラベル値ペア４７１７Ｌからのバランスは、領域２６５Ｐに蓄積される。ラベル値ペア４７１７Ｎからの料金は領域２６５Ｏに蓄積される。ラベル値ペア４７１７ＯからのセッションＩＤは領域２６５Ｌに蓄積される。
【０６０３】
開設セッション処理が販売者ユーザ３０３によって開始されたら、販売者キャッシュログデータ構造３７０の記録３７０．１が次のようにして更新される。
【０６０４】
ラベル値ペア４７１７Ｃからの応答コードは領域３７０Ｏに蓄積される。ラベル値ペア４７１７Ｃからの応答コードに関連するラベル値ペア４７１７Ｆからのメッセージは、領域３７０Ｔにセーブされる。ラベル値ペア４７１７ＯからのセッションＩＤは領域３７０Ｓに蓄積される。
【０６０５】
処理がステップ１５１７に続き、ここで開設セッション処理が終了する。
【０６０６】
Ｆ．取引／支払処理４０９
顧客ユーザ２０３及び販売者ユーザ３０３がセッションを開設すると、安全なキャッシュ取引がインターネット５０上に生じる。この内容の安全性とは、顧客ユーザ２０３と販売者ユーザ３０３とが互いに信頼でき、電子ファンドが委任されていない第三者にアクセスされるリスクがなく、かつ、両者が、サーバコンピュータ１００によって要綱とされた取引に同意するまで電子キャッシュが転送されないことを意味する。
【０６０７】
取引は、インターネット５０上で購買をする顧客ユーザ２０３、販売者個人１２０．２を有する販売者ユーザ３０３を含む。公知の技術を用いて、顧客ユーザ２０３と販売者ユーザ３０３とは、顧客ユーザ２０３が販売者ユーザ３０３から提供される品物に対して支払うべく金額に同意する。販売者ユーザ３０３が支払を要求した時、顧客ユーザ２０３は電子キャッシュでの支払を決定する。この決定は、顧客ユーザ２０３によって購入された品物に対する販売者ユーザ３０３への支払総計の結果となるメッセージの交換を引出す。
【０６０８】
図７３−７５は、ステップ１７０１で始まる取引／支払処理４０９を示すフロー図である。
【０６０９】
ステップ１７０２Ａにおいて、販売者コンピュータ３００がメッセージＰＲ１を組立てる。メッセージＰＲ１は暗号化されたデータを含まないことが好ましい。従って、メッセージＰＲ１を組立てるには、メッセージ組立て処理８００（図４９）のステップ８１４−８１７のみが必要である。メッセージＰＲ１の内容を図７６を参照して以下に述べる。
【０６１０】
ラベル値ペア５０１３Ａは“タイプ”ラベルを有する。ラベル値ペア５０１３Ａの値は、ＰＲ１を含むラベルをセットするメッセージデータ構造２７０（図１７）の記録を引用する。ラベル値ペア５０１３Ａの値は販売者アプリケーションソフトウエア３１０から得られる。
【０６１１】
ラベル値ペア５０１３Ｂは“販売者ＩＤ”を有する。ラベル値ペア５０１３Ｂの値は、販売者ユーザ３０３の個人ＩＤを表す。ラベル値ペア５０１３Ｂは領域３２０Ａ（図４０）から得られる。
【０６１２】
ラベル値ペア５０１３Ｃは“販売者注文ＩＤ”ラベルを有する。ラベル値ペア５０１３Ｃの値は、販売者コンピュータ３００で生じる注文ＩＤ番号（“注文ＩＤ”）を表示し、特別な注文を意味する。ラベル値ペア５０１３Ｃの値は領域３７０Ｃ（図４６）に蓄積される。
【０６１３】
ラベル値ペア５０１３Ｄは“販売者日”ラベルを有する。ラベル値ペア５０１３Ｄの値は、メッセージＰＲ１が組み込まれた日時を販売者コンピュータ３００のクロックによって表わす。
【０６１４】
ラベル値ペア５０１３Ｅは“販売者ソフトウエアのバージョン”ラベルを有する。ラベル値ペア５０１３Ｅの値は、顧客コンピュータ２００と繋がっている販売者アプリケーションソフトウエア３１０のバージョンを表す。ラベル値ペア５０１３Ｅの値は販売者アプリケーションソフトウエア３１０から得られる。
【０６１５】
ラベル値ペア５０１３Ｆは“ノート”ラベルを有する。ラベル値ペア５０１３Ｆは、販売者ユーザ３０３によって顧客ユーザ２０３に提供されている商品を表す。ラベル値ペア５０１３Ｆの値は、販売者３０３あるいは第三者によって提供されるソフトウエアから販売者アプリケーションソフトウエア３１０によって得られる。
【０６１６】
ラベル値ペア５０１３Ｇは“販売者の金額”ラベルを有する。ラベル値ペア５０１３Ｇの値は、ラベル値ペア５０１３Ｆで述べた商品の通貨と金額を表す。
【０６１７】
ラベル値ペア５０１３Ｈは“受領”ラベルを有する。ラベル値ペア５０１３Ｈの値は、販売者ユーザ３０３によって受入れられたクレジットカード（あれば）を表す。ラベル値ペア５０１３Ｈの値は、販売者ユーザ３０３から得られる。
【０６１８】
ラベル値ペア５０１３Ｉは“ｕｒｌ−ｐａｙ−ｔｏ”ラベルを有する。ラベル値ペア５０１３Ｉの値は、インターネット５０のユニフォームリソースロケータである。ラベル値５０１３Ｉのインターネット５０のユニフォームリソースロケータは、顧客コンピュータ２００が後述するメッセージＣＡ１を送るべきインターネット５０上の住所である。
【０６１９】
ラベル値ペア５０１３Ｊは“ｕｒｌ−キャンセル”ラベルを有する。ラベル値ペア５０１３Ｊの値は、インターネット５０のユニフォームリソースロケータである。ラベル値５０１３Ｊのインターネット５０のユニフォームリソースロケータは、顧客ユーザ２０３が取引をキャンセルすることを決定したら、顧客コンピュータ２００によって使用される。
【０６２０】
ラベル値ペア５０１３Ｋは“ｕｒｌ−成功”ラベルを有する。ラベル値ペア５０１３Ｋの値は、インターネット５０のユニフォームリソースロケータであり、これは、取り引きが成功すれば、顧客ユーザ２００をワールドワイドウエブウエノアドレスに導く。取引の成功は、後述するとおり、メッセージＣＡ４において報告される。例えば、取引がサーバコンピュータ１００によって、有効になったら、ラベル値ペア５０１３Ｋの値は、顧客ユーザ２００を顧客ユーザ２０３を購買のためのウエブページへ導く。
【０６２１】
ラベル値ペア５０１３Ｌは“ｕｒｌ−失敗”ラベルを有する。ラベル値ペア５０１３Ｌの値は、インターネット５０のユニフォームリソースロケータであり、これは、取引が成功しない場合に、顧客ユーザ２００をワールドワイドウエブ上のアドレスに導く。取引の失敗は、後述するとおり、メッセージＣＡ４において報告される。例えば、取引がサーバコンピュータ１００によって、非有効になったら、ラベル値ペア５０１３Ｌの値は、顧客ユーザ２０３に再び購買させるためのウエブページへ顧客ユーザコンピュータ２００を導く。
【０６２２】
ラベル値ペア５０１３Ｍは“販売者がサインしたハッシュキー”ラベルを有する。ラベル値ペア５０１３Ｍの値は、下記に述べるように、販売者のサインしたハッシュラベル値ペア５０１３Ｎのハッシュにサインするために、販売者コンピュータ３００によって使用されているＲＳＡパブリック／プライベートキーのペアの係数部のハッシュを表す。ラベル値ペア５０１３Ｍの値は、サーバコンピュータ１００に、領域１２０ＣＣ（図９）に蓄積されている販売者個人１２０．２のＲＳＡパブリックキーが、“販売者のサインしたハッシュ”ラベル値ペア５０１３Ｎをサインするのに使用されたのと同じキーであること、あるいはラベル値ペア５０１３Ｎの復号化が失敗した場合、その失敗の理由を確認させる。
【０６２３】
ラベル値ペア５０１３Ｎは“販売者がサインしたハッシュキー”ラベルを有する。メッセージＰＲ１について、ラベル値ペア５０１３Ｎの値は、ラベル値ペア５０１３Ａ−５０１３Ｍの順のハッシュである。このハッシュがサインされ、ハッシュが再度ハッシュされた、次いで、販売者個人１２０．２用のＲＳＡプライベートキーで暗号化されたことを意味する。ＲＳＡプライベートキー販売者個人１２０．２は領域３２０Ｈ（図４０）から得られる。
【０６２４】
ラベル値ペア５０１３Ｏは“販売者金額２”ラベルを有する。ラベル値ペア５０１３Ｏは、ラベル値ペア５０１３Ｇで特定された金額に関してのそれ以外の通貨における金額を表す。
【０６２５】
ラベル値ペア５０１３Ｎのサインは販売者個人１２０．２用のパブリックキーをもっていないため、顧客ユーザ２０３はそのサインが本物であるかどうかを証明することができない。ラベル値ペア５０１３Ｎは、取り引きに紛争が生じた場合には、顧客アプリケーションソフトウエアで蓄積するようにしてもよい。このような場合、サーバコンピュータ１００は、メッセージＰＲ１が実際に販売者コンピュータ３００に送られたかどうかを決定するためにラベル値ペア５０１３Ｎを使用することができる。
【０６２６】
図７３を再度参照すると、ステップ１７０２Ｂで、新規記録３５０．１（図４４−４７）が次の用に加えられている（組み立てられている）。
【０６２７】
ラベル値ペア５０１３Ｃ（販売者注文ＩＤに関する）が注文ＩＤ領域３５０Ａにて蓄積される。
【０６２８】
ラベル値ペア５０１３Ｇ（販売者ユーザ３０３が商品の対価として受け取る金額に関する）が金額領域３５０Ｂに蓄積される。
【０６２９】
取引／支払処理４０９はステップ１７０２Ｃに続く。ここでは、販売者コンピュータ３００がメッセージＰＲ１を顧客コンピュータ２００に転送する。販売者コンピュータ３００は顧客コンピュータ２００からのメッセージＣＡ１を待つ。
【０６３０】
ステップ１７０２Ｄでは、顧客コンピュータ２００が販売者コンピュータ３００からメッセージＰＲ１を受取って、メッセージアンラップ処理３３００を実行してアンラップする。ステップ３３０１で始まるメッセージアンラップ処理３３００は図７７を参照して、以下に述べる。
【０６３１】
ステップ３３０２で、顧客アプリケーションソフトウエア２１０がメッセージＰＲ１のヘッダ５００５のプロトコル（バージョン）番号を抽出する。次いで、抽出されたプロトコル番号に基づいて、メッセージテンプレートデータ構造２７０（図１７）がアクセスされ、メッセージＰＲ１の所定のフォーマットを決定する。この所定のフォーマットは、メッセージシンタックス（例えば、ｅｎｄ−ｏｆ−ｌｉｎｅの文字を許可する）及びメッセージコーディング（例えば、ＡＳＣＩＩやｈｅｘなど）を含むことができる。メッセージＰＲ１は所定のフォーマットに基づいて、以下の通り分析される。
【０６３２】
ステップ３３０３では、顧客コンピュータ２００が販売者コンピュータ３００で使用されているのと同じデータを用いてチェックサムを計算する。ステップ３３０４Ａでは、ステップ３３０３で計算されたチェックサムがメッセージＰＲ１のトレイラ５０５０のチェックサムと比較される。このチェックサムが等しくない場合は、メッセージＰＲ１がステップ３３０４Ｂで破棄される、メッセージアンラップ処理３３００もそこで終了する。
【０６３３】
このチェックサムがステップ３３０４Ａで同じであれば、処理がステップ３３０４Ｃで続けられ、そのメッセージがチェックされて、メッセージアンラップ処理３３００に適当であるか否かを決定する。メッセージが、その透明部分に“タイプ”ラベルを含み、値ＰＲ１を含んでいる場合は、そのメッセージは妥当である。メッセージが、ラベル値ペアを有していない場合は、そのメッセージは、メッセージアンラップ処理３３００に対して不適当である。メッセージアンラップ処理では、他でも述べたように、そのメッセージを他のアンラップ処理に変更するステップ３３０４Ｄでケース処理が続けられる。メッセージＰＲ１が適当であり、従って、メッセージのタイプがラベル値ペア５０１３Ａの値を参照することにより決定されるステップ３３０４Ｅにて、処理が続けられる。この場合、ラベル値ペアの値は“支払−要求”である。
【０６３４】
ステップ３３０５では、メッセージＰＲ１の形式のチェックが行われる。ステップ３３０５での形式チェック処理は、ソフトウエアのバージョンに依存する。すなわち、所定のメッセージの形式、及び受入れ可能か否かを決定するクリテリアは、そのメッセージと所定の時刻において有効なメッセージの変形に依存する。少なくとも、形式チェック処理は、収入メッセージがそのメッセージについて規定された全てのラベルを含んでいるかどうか、値を要求する各ラベルにたいする値が存在するかどうか、及びその値がそのタイプ（例えば、テキスト、サインされた番号）、シンタックス、及び必要な特定の制限事項であるかどうかを確実なものにする。追加のラベルがあるばあいは、顧客コンピュータ２００はそれを無視する。メッセージが分析できない場合、あるいは分析できるが形式クリテリアに合致しない場合は、ステップ３３０６でエラーフラッグがセットされる。この場合、メッセージアンラップ処理３３００はステップ３３０９で終了する。
【０６３５】
メッセージＰＲ１が正しい形式であれば、ステップ３３０７で処理が継続される。ここでは、顧客アプリケーションソフトウエア２１０が、以下のようにして新規記録２６６を加える（更新する）。
【０６３６】
ラベル値ペア５０１３Ｂの販売者−ＩＤ値が領域２６６Ａに蓄積される。ラベル値ペア５０１３Ｃの販売者−注文−ＩＤは領域２６６Ｂに蓄積される。ラベル値ペア５０１３Ｇの金額値は領域２６６Ｃに蓄積される。ラベル値ペア５０１３Ｆの販売者−ノート値は領域２６６Ｄに蓄積される。５０１３Ｉの支払いＵＲＬ数値は領域２６６Ｆに蓄積される。
【０６３７】
メッセージアンラップ処理３３００はステップ３３０９で終了する。
【０６３８】
図７３−７５を再び参照すると、ステップ１７０３で顧客コンピュータ２００が販売者ユーザ３０３の顧客ユーザ２０３への申し入れを表示する。ラベル値ペア５０１３Ｆ及び５０１３Ｇの値（顧客ユーザ２０３に販売された商品及びその申し入れ価格を記述する）が表示される。
【０６３９】
ステップ１７０４Ａでは、顧客ユーザ２０３が販売者ユーザ３０３の申し入れを受ける。それは、この時点において顧客ユーザ２０３が様々な支払方法（たとえば、クレジットカードや電子キャッシュ）を与えられることを見越したものである。顧客ユーザ２０３がクレジットを選択した場合は、他の処理は、ここで破棄されない場所におかれる。顧客ユーザ２０３がその商品の支払を電子キャッシュで行うことを希望する場合は、ステップ１７０５にて処理が続けられる。
【０６４０】
ステップ１７０５では、顧客アプリケーションソフトウエア２１０が顧客ユーザ２０３が開設セッションを有しているか否かを検索レコード２４０（図２１）を用いて決定する。
【０６４１】
顧客ユーザ２０３が開設セッションを有していなければ、ステップ１７０６へ処理を進める。上述したとおり、ここで、開設セッション処理４０５を用いて、セッションが開設される。
【０６４２】
顧客ユーザ２０３が開設セッションを有してるか、あるいは開設セッション処理４０５を実行した後であれば、処理はステップ１７０１Ａで継続される。顧客コンピュータ２００は次のようにして、メッセージＣＡ１を組立てる。
【０６４３】
図７８に、メッセージ組立て処理ＣＡ１２が示されている。（“ＣＡ１２”はこのメッセージ組立て処理が実行されメッセージＣＡ１とＣＡ２とを組立てることを意味する。）
【０６４４】
メッセージＣＡ１用のメッセージ組立て処理ＣＡ１２はステップ１６２１で開始する。メッセージＣＡ１は図７９及び８０に示されている。
【０６４５】
ステップ１６２２で、顧客アプリケーションソフトウエア２１０がメッセージテンプレートデータ構造２７０（図１７）にアクセスして、ラベルのリストを得る。このリストは、関連する値に整合したときに、メッセージＣＡ１の透明ラベル値ペア５１１３Ａ−５１１３Ｉを決定する。ステップ１６２３においては、値は、各ラベルに関連している。これらのラベル値ペアについて以下に述べる。
【０６４６】
ラベル値ペア５１１３Ａは“タイプ”ラベルを有する。ラベル値ペア５１１３Ａの値は、メッセージＣＡ１を含むラベルを設定するメッセージデータ構造１５０（図５）の中の記録を示す。ラベル値ペア５１１３Ａの値は顧客アプリケーションソフトウエア２１０から得る。
【０６４７】
ラベル値ペア５１１３Ｂはラベルの“バージョン”を示す。ラベル値ペア５１１３Ｂの値は、ラベル値ペア５１１３Ａによって表示されたタイプの記録の中の記録を示すメッセージデータ構造２７０（図１７）に蓄積されているコードである。ラベル値ペア５１１３Ｂの値は、メッセージデータ構造２７０から顧客アプリケーションソフトウエア２１０によって回復される。
【０６４８】
ラベル値ペア５１１３Ｃは“セッション−ＩＤ”のラベルを有する。ラベル値ペア５１１３Ｃの値は領域２４０Ａ（図２１）のセッション−ＩＤから得られる。
【０６４９】
ラベル値ペア５１１３Ｄは“インデックス”のラベルを有する。ラベル値ペア５１１３Ｄの値は、顧客アプリケーションソフトウエア２１０でそのセッション内で取り引きに割り当てられた整数であり、領域２４０Ｂに蓄積されているセッションキーを使用することを表示する。値のレンジは１と領域２４０Ｊで蓄積されたキー使用制限である。
【０６５０】
ラベル値ペア５１１３Ｅは、“受取人通貨”ラベルを有し、その値はメッセージＰＲ１のラベル値ペア５０１３Ｇの通貨部分によって表示される。ラベル値ペア５１１３Ｅの値は、販売者ユーザ３０３が取り引きにおいて支払う意志のある通貨を示している。
【０６５１】
ラベル値ペア５１１３Ｆは“ノート−ハッシュ”ラベルを有する。ラベル値ペア５１１３Ｆの値は、メッセージＰＲ１のラベル値ペア５０１３Ｆのハッシュを示す。
【０６５２】
ラベル値ペア５１１３Ｇは“受取人−ＩＤ”ラベルを有する。ラベル値ぺ５１１３Ｇの値は、メッセージＰＲ１のラベル値ペア５１１３Ｂの値から得られる販売者個人ＩＤである。
【０６５３】
ラベル値ペア５１１３Ｈは“注文−ＩＤ”ラベルを有する。ラベル値ペア６１１３Ｈの値は、メッセージＰＲ１のラベル値ペア５１１３Ｃの値から得られる注文ＩＤである。
【０６５４】
ラベル値ペア５１１３Ｉは“サービスカテゴリ”ラベルを有する。ラベル値ペア６１１３Ｉの値は、販売者コンピュータ３００で、特別なサービスカテゴリのメッセージを操作する販売者コンピュータ３００内のプロセッサへメッセージＣＡ１を送るのに使用され得るラベルである。
【０６５５】
ステップ１６２４では、顧客アプリケーションソフトウエア２１０が、図８１のフロー図に示すように、ＣＡ−ＤＥＳ−キー発生処理によって、５６−ビットのＤＥＳキーＤＥＳ−ＣＡ１を発生する。
【０６５６】
ＤＥＳキーＤＥＳ−ＣＡ１の発生はステップ１６１０で開始する。
【０６５７】
ステップ１６１１において、顧客アプリケーションソフトウエア２１０は数量Ｑ、８バイト数を構築（計算）する。数量Ｑは、メッセージＣＡ１のラベル値ペア５１１３Ａ、５１１３Ｂ及び５１１３Ｄの値の連結体である。その結果としてのＤＥＳキーの各メッセージによる交換が、ＣＡ−ＤＥＳ−キー発生処理１６００で生じる各ＤＥＳキーが唯一のものとなる可能性を上げることが好ましい。本発明では、セッションキー領域２４０Ｂの値及びラベル値ペア５１１３Ｄ（“インデックス”）は、両方が取られる場合、通常各要求メッセージ（メッセージＣＡ１及びＣＡ２を意味する）、及び各応答メッセージ（メッセージＣＡ３及びＣＡ４を意味する）毎に異なる。更に、ラベル値ペア５１１３Ａ（“タイプ”）の値は応答と要求を区別して、その結果二つのメッセージのいずれもが同じＤＥＳキーで暗号化される可能性を低いものとしている。追加的な変化しやすさがラベル値ペア５１１３Ｂ（“バーション”）によって得られる。
【０６５８】
本発明においては、メッセージＣＡ１のラベル値ペア５１１３Ａ、５１１３Ｂ、及び５１１３Ｄの結合体は、４バイトの量を意味する。所望の８バイトの値に到達するために、結果としての結合体が左側に４バイトのゼロをもって詰込まれることになる。
【０６５９】
ステップ１６１２では、６４ビットの初期化ベクトルが得られる。この初期化ベクトル領域２４０Ｂの下側６４ビットのセッション−キーである。この初期化ベクトルは開設セッション処理４０７の間に発生する。
【０６６０】
ステップ１６１３では、ステップ１６１１で計算された数量Ｑとステップ１６１２で得られる初期化ベクトルについての論理“エックスクルーシブＯＲ”（ＸＯＲ）の操作が行なわれる。
【０６６１】
ステップ１６１４では、ステップ１６１３（６４ビットの値）でこのＸＯＲ操作が行われが結果が、セッションキー領域２４０Ｂの上側６４ビットに蓄積された５６ビットＤＥＳキーを用いて暗号化される。この５６ビットＤＥＳキーは開設セッション処理４０７間に発生する。
【０６６２】
ステップ１６１５では、ステップ１６１４のＸＯＲの暗号化の結果のパリティビットが除去される。このようにして、５６ビットＤＥＳキーＤＥＳ−ＣＡ１が作られる。
【０６６３】
メッセージＣＡ１のＣＡ−ＤＥＳ−キー生成処理１６００はステップ１６１７で終了する。
【０６６４】
図７８を再度参照すると、メッセージＣＡ１のメッセージ組立て処理ＣＡ１２が、ステップ１６２５で継続される。ここでは、ＤＥＳキーＤＥＳ−ＣＡ１がテンポラリレジスタに蓄積（保存）される。
【０６６５】
ステップ１６２６では、顧客アプリケーションソフトウエア２１０がメッセージテンプレートデータ構造２７０（図１７）にアクセスして、ラベルのリストを得る。このリストは、関連する値に合致すれば、メッセージＣＡ１の不透明部の内容を作る。
【０６６６】
メッセージＣＡ１の不透明部は図８０に示されており、ここでは、ラベル値ペア５１１７Ａは“金額”ラベルを有する。ラベル値ペア５１１７Ａの値は通貨及び顧客ユーザ２０３が商品に支払う金額を示す。
【０６６７】
ラベル値ペア５１１７Ｂは“オース−コード”ラベルを有し、ステップ１６２８で作られる。メッセージＣＡ１に対して、ラベル値ペア５１１７Ｂは、領域２４０Ｃの８バイトソルト、ラベル値ペア５１１３Ａ、５１１３Ｃ−５１１３Ｈ及び５１１７Ａの値、及び領域２４０Ｃの結合体のハッシュである。ハッシングを行う前に、ラベル値ペア５１１３Ａ、５１１３Ｃ−５１１３Ｈ及び５１１７Ａの全ての値の中の白紙スペースを移動させて、縦のバーセパレータ特性が隣接する各ペアの値の中に挿入する。
【０６６８】
真正を証明するコードはデジタルサインではない。デジタルサインはラベル値ペア５１１７Ｂで反映されたオースコードに代えて使用することができる一方、処理時間の期間内にこのような使用をするコストは、ハッシュを処理するのに比して相当なものである。顧客ユーザ２０３及び販売者ユーザー３０３に対して限定された期間を有する独立したセッションを使用することによって所定のセーブガードが与えられると、暗号化のベースとなる非拒絶の利益は処理時間にかかるコストに優るのに十分でない。
【０６６９】
ステップ１６２９では、ステップ１６２８で作られたラベル値ペア５１１７Ｂが、ラベル値ペア５１１７Ａに追加されている。ラベル値ペア５１１７Ａ及び５１１７Ｂは、ＤＥＳキーＤＥＳ−ＣＡ１を用いて暗号化され、ステップ１６２５でテンポラリレジスタに蓄積される。
【０６７０】
ステップ１６３０では、ステップ１６２９で暗号化されたデータが公知の技術を用いて符号化される。
【０６７１】
メッセージＣＡ１はステップ１６３１−１６３４で組立てられる。ステップ１６３１では、顧客メッセージテンプレートデータ構造２７０（図１７）のメッセージテンプレードファンドと、顧客アプリケーションソフトウエア２１０に埋まっているプロトコル番号を用いて、ヘッダ５１０５が作られる。
【０６７２】
ステップ１６３２では、透明ラベル値ペア５１１３Ａ−５１１３Ｈが付加される。
【０６７３】
ステップ１６３３では、不透明ラベル値ペア５１１７が付加される。ラベル値ペア５１１７は続く値が暗号データ化されることを表す“不透明”ラベルを有する。ラベル値ペア５１１７の値はステップ１６３０で暗号化されたデータを表す。
【０６７４】
トレーラ５１５０はステップ１６３４で組立てられる。トレイラ５１５０のチェックサムは上述したように、サンプルメッセージ４０００に関連して計算される。トレーラ５１５０はメッセージＣＡ１の残りに加えられる。
【０６７５】
メッセージＣＡ１の組立ては、これで終了する。メッセージＣＡ１のメッセージの組立て処理ＣＡ１２はステップ１６３５で終わる。
【０６７６】
図７３−７５を再度参照すると、ステップ１７０７Ａで処理が継続している。ここでは、顧客コンピュータ２００が以下の通り、新規記録２５３（図２５）を追加する。
【０６７７】
顧客アプリケーションソフトウエア２１０は、値、好ましくは“キャッシュ−支払”を作り、それをタイプ領域２５３Ａに蓄積する。
【０６７８】
顧客アプリケーションソフトウエアは、取り引き番号及び日付を作り、取り引き番号領域２５３Ｂ及び日付／時刻領域２５３Ｃに蓄積する。
【０６７９】
メッセージＣＡ１を作るのに使用される顧客アプリケーションソフトウエア２１０のソフトウエアバージョンは、顧客アプリケーションソフトウエア２１０から得られ、ソフトウエアバージョン領域２５３Ｄに蓄積される。
【０６８０】
顧客個人１２０．１の個人ＩＤは、領域２２０Ａから得られ、領域２５３Ｅに蓄積される。
【０６８１】
メッセージＰＲ１のラベル値ペア５０１３Ｃの値は、注文ＩＤ領域２５３Ｆに蓄積される。
【０６８２】
ラベル値ペア５０１３Ｂの値は販売者ＩＤ領域２５３Ｇに蓄積される。
【０６８３】
ラベル値ペア５１１７Ａに関連する値は、金額領域２５３Ｈに蓄積され、顧客セッションデータ構造２４０の通貨値領域２４０Ｆから差引かれる。
【０６８４】
ユーザメモ領域２５３Ｉは、取引を示す顧客からの選択的なノート（メモ）を蓄積する。ユーザメモ領域２５３Ｉは、顧客ユーザ２０３が支払に同意した時に顧客アプリケーションソフトウエア２１０からのプロンプトに応答して顧客ユーザ２０３から得られる。
【０６８５】
メッセージＰＲ１からのラベル値ペア５０１３Ｉの値は領域２５３Ｊに蓄積される。
【０６８６】
メッセージＣＡ１のコピーは好ましくは、領域２５３Ｋに蓄積される。
【０６８７】
図７３を再度参照すると、処理がステップ１７０８へ続いている。ここでは、顧客コンピュータ２００がメッセージＣＡ１を販売者コンピュータ３００へ転送する。顧客コンピュータ２００は、販売者コンピュータ３００から応答メッセージＣＡ４を待つ。
【０６８８】
ステップ１７０９では、販売人コンピュータ３００が顧客コンピュータ２００からメッセージＣＡ１を受取り、メッセージアンラップ処理ＣＡ１を実行して、メッセージＣＡ１をアンラップする。メッセージアンラップ処理ＣＡ１は、ステップ１６４１で始まる図８２を参照して述べることにする。
【０６８９】
ステップ１６４２では、販売者ソフトウエア３１０がメッセージＣＡ１のヘッダ５１０５のプロトコル番号を抽出する。領域５１０５Ｃのこの抽出されたプロトコル番号に基づいてメッセージデータ構造３８０にアクセスされ、メッセージＣＡ１の所定のフォーマットを決定する。この予期されたフォーマットは、メッセージシンタックス（例えば、ｅｎｄ−ｏｆ−ｌｉｎｅの文字を許すなど）と、メッセージコーディング（例えば、ＡＳＣＩＩまたはｈｅｘ）を含めてもよい。メッセージＣＡ１は、以下の通り、期待されたフォーマットによって分析される。
【０６９０】
ステップ１６４３では、販売者コンピュータ３００が、メッセージＣＡ１のメッセージ組立て処理ＣＡ１２のステップ１６３３で顧客コンピュータ２００によって使用される同じデータを用いたチェックサムを計算する。ステップ１６４４では、ステップ１６４３で計算したチェックサムがメッセージＣＡ１のトレーラ５１５０のチェックサムと比較される。もし、そのチェックサムが等しくなければ、ＣＡ１メッセージアンラップ処理が終了するステップ１６４４Ｄで廃棄される。
【０６９１】
ステップ１６４４でチェックサムが等しければ、ステップ１６４４Ｂに処理が継続され、そこでメッセージをチェックして、メッセージアンラップ処理ＣＡ１に適当であるかどうかを決定する。メッセージが、メッセージの透明部分に“タイプ”ラベルを含むものであり、その値がメッセージＣＡ１を表示するものであれば、それは適当である。メッセージがラベル値ペアを含んでいなければ、適当でない。メッセージが適正である場合、ステップ１６６４Ｃにおいて処理が継続され、メッセージは別の販売者アンラップ処理に転送される。メッセージＣＡ１は適当であり、従って、処理はステップ１６４４Ｂで継続され、ここでラベル値ペア５１１３Ａを基準にすることによってメッセージタイプが判定される。
【０６９２】
ステップ１６４５においてメッセージＣＡ１のフォームチェックが実行される。ステップ１６４５のフォームチェック処理は、ソフトウエアバージョンに依存する。すなわち、メッセージの所定のフォーム、及び受入れ可能か否かを決定するクリテリアは、すでに述べたとおり、メッセージのタイプとメッセージＣＡ１に与えられているバージョン情報、及びメッセージデータ３８０で決まる所定の時間に有効になるメッセージとメッセージの変形に依存する。少なくとも、フォームチェック処理は、入ってくるメッセージがそのメッセージに対して予め決められたラベルを全て含んでいるかどうか、値を要求する各ラベルに対して値があるか否か、及び、その値が、タイプ（例えば、テキスト、サインした番号）、シンタックスに関するものであり、要求されている特別な限定内にあるかどうかを確実にする。メッセージが分析できない場合、あるいは分析できてもフォームクリテリアが合致しなかった場合は、ステップ１６４７でエラーフラッグが設定される。この場合、メッセージアンラップ処理ＣＡ１はステップ１６４８で終了する。メッセージＣＡ１がステップ１６４５のフォームチェックをパスした場合は、処理がステップ１６４６で継続され、ラベル値５１１７の値がテンポラリレジスタに蓄積される。メッセージアンラップ処理ＣＡ１はステップ１６４８で終了する。
【０６９３】
再度、図７３−７５を参照すると、ステップ１７１０Ａで処理が再開する。ステップ１６４７でエラーフラッグが設定されたら、ステップ１７１０Ｂ処理が継続され、販売者エラー処理処理が呼出される。
【０６９４】
ステップ１６４７でフラッグが設定されない場合は、処理は、ステップ１７１１Ａで継続される。ここで、販売者コンピュータ３００は、図７８に示すメッセージ組立て処理ＣＡ１２に基づいて、メッセージＣＡ２（図８３）を組立てる。メッセージ組立て処理ＣＡ１２については、ＤＥＳ−キーＤＥＳ−ＣＡ２が、ＣＡ−ＤＥＳ−キー処理１６００を用いて発生する（むしろＤＥＳキーＤＥＳ−ＣＡ１以外）ことを除いて、メッセージＣＡ１のところですでに述べた。メッセージＣＡ１の内容は、図８３に示されているように、以下のものとなる：
【０６９５】
ラベル値ペア５２１３Ａは“タイプ”ラベルを有する。ラベル値ペア５２１３Ａの値は、メッセージＣＡ２を含むラベルを設定するサーバメッセージデータ構造１５０内の記録を表す。ラベル値ペア５２１３Ａの値は、販売者アプリケーションソフトウエア３１０から得られる。
【０６９６】
ラベル値ペア５２１３Ｂは、“バージョン”ラベルを有し、上述したとおり、タイプの記録に関する記録を表す。ラベル値ペア５２１３Ｂの値は、フォームに関する情報、ラベル値ペア５２１３Ａ，５２１３Ｃ，５２１３Ｄ，および５２１３Ｅの内容、ならびにラベル値ペア５２１７．１と５２１７．２を解読および分析するための情報を含んでいる。以下に記すように、ラベル値ペア５２１７．１と５２１７．２の形式および内容に関する追加的な情報は、ラベル値ペア５２１７．１Ｂに提供される。ラベル値ペア５２１３Ｂは、メッセージデータ構造３８０（図３８）から販売者アプリケーションソフトウエア３１０によって検索される。
【０６９７】
ラベル値ペア５２１３Ｃは“セッションＩＤ”ラベルを有する。ラベル値ペア５２１３Ｃの値はセッション−ＩＤ領域３４０Ａ（図４２）から得られる。
【０６９８】
ラベル値ペア５２１３Ｄは“インデックス”ラベルを有する。ラベル値ペア５２１３Ｄの値は販売者アプリケーションソフトウエア３１０で一セッション内での取り引きに割り当てられた整数であり、領域２４０Ｂに保管されたセッションキーの使用を表示する。
【０６９９】
ラベル値ペア５２１３Ｅは“サービス−カテゴリ”ラベルを有する。ラベル値ペア５２１３Ｅの値は、特別なサービス−カテゴリのメッセージを操作するサーバコンピュータ１００内のプロセッサにメッセージＣＡ２を送るのに使用されるラベルである。
【０７００】
メッセージＣＡ２は、販売者不透明ラベル値ペア５２１７．１と、顧客不透明ラベル値ペア５２１７．２を含む。ラベル値ペア５２１７．１とラベル値ペア５２１７．２とは、“販売者−不透明”ラベルと“顧客−不透明”ラベルとをそれぞれ有し、これに続く値は暗号化されたデータであることを意味する。ラベル値ペアの値５２１７．１はステップ１６３０で符号化されたベース−６４であったデータを表す。ラベル値ペア５２７１．２の値は（メッセージＣＡ１で顧客コンピュータ２００によって送られてきた）ラベル値ペア５１１７の値であり、ステップ１６４６でテンポラリレジスタに蓄積される。
【０７０１】
メッセージＣＡ２の不透明部分は図８４に示されている。ここでは、ラベル値ペア５２１７．１Ａが“タイプ”ラベルを有している。ラベル値ペア５２１７．１Ａの値は、メッセージＣＡ２の不透明部の内容のラベルを設定するメッセージデータ構造１５０内の記録を表す。ラベル値ペア５２１７．１Ａの値は販売者アプリケーションソフトウエア３１０から得られる。
【０７０２】
ラベル値ペア５２１７．１Ｂは“バージョン”ラベルを有し、ラベル値ペア５２１７．１Ａによって表されるそのタイプの記録内の記録を表す。先に述べたとおり、ラベル値ペア５２１７．１Ｂは、メッセージの送り人に、メッセージの受取人に、そのメッセージのどのバージョンが送られ、受取人にそのバージョンをどのように分析して処理するかを通知させる。ラベル値ペア５２１７．１Ｂはサーバコンピュータ１００に、不透明ラベル値ペア５２１７．１のフォームと内容を通知する。ラベル値ペア５２１７．１Ｂの値は、販売者アプリケーションソフトウエア３１０から得られる。
【０７０３】
本発明は、好ましくは、販売人コンピュータ３００に、一以上の顧客コンピュータから受け取った“ｎ”個のＣＡ１メッセージを、単一のメッセージＣＡ２内で、サーバコンピュータへ提出させる。本発明では、変数“ｎ”は１から２５５のレンジ内で整数である。システムのキャパシティと他のファクタによっては、異なるレンジを設けることも可能である。メッセージＣＡ２は、受け取ったメッセージＣＡ１の透明ラベル値ペア５１１３Ａ−５１１３Ｄ及び５１１３Ｆ−５１１３Ｈが不透明ラベル値ペア５２１７．１に含まれるように構成されている。販売者コンピュータ３００によってサーバコンピュータ１００へ提出される各メッセージＣＡ２のために、メッセージＣＡ２は、ラベル値ペア５２１７．１Ｃ−５２１７．１Ｉ（ラベル値ペア５１１３Ａ−５１１３と及びＩ５１１３Ｆ−５１１３Ｈに対応する）及び５２１７．Ｊを含んでいる。より詳しく述べると：
ラベル値ペア５２１７．１Ｃは“タイプｎ”ラベルとラベル値ペア５１１７Ａの値を有する。
【０７０４】
ラベル値ペア５２１７．１Ｄは“サブバージョンｎ”ラベルとラベル値ペア５１１７Ｂの値を有する。
【０７０５】
ラベル値ペア５２１７．１Ｅは“支払人−セッション−ＩＤｎ”ラベルとラベル値ペア５１１７Ｃの値を有する。
【０７０６】
ラベル値ペア５２１７．１Ｆは“支払人−インデックスｎ”ラベルとラベル値ペア５１１７Ｄの値を有する。
【０７０７】
ラベル値ペア５２１７．１Ｇは“ノート−ハッシュｎ”ラベルとラベル値ペア５１１７Ｆの値を有する。
【０７０８】
ラベル値ペア５２１７．１Ｈは“受取人−ＩＤｎ”ラベルとラベル値ペア５１１７Ｇの値を有する。
【０７０９】
ラベル値ペア５２１７．１Ｉは“注文−ＩＤｎ”ラベルとラベル値ペア５１１７Ｈの値を有する。
【０７１０】
ラベル値ペア５２１７．１Ｊは“販売者−金額ｎ”ラベルを有する。ラベル値ペア５２１７．１Ｊの値は、販売人アプリケーションソフトウエア３１０で与えられ、販売人ユーザ３０３が商品に対して受け取る通貨と金額とを表す。
【０７１１】
図７３−７５を再度参照すると、処理はステップ１７１１Ｂにて継続され、ここで、販売者コンピュータ３３０がローカルデータ構造を以下の様にして更新する。
【０７１２】
新規レコード３５０．１は、メッセージＣＡ１に含まれている“ｎ”個のＣＡ１メッセージ用の販売者金額データ構造３５０において作られる。ラベル値ペア注文−ＩＤ−ｎからの注文−ＩＤは、領域３５０Ａに蓄積される。ラベル値ぺア販売人−金額−ｎからの販売人−金額は領域３５０Ｂに蓄積される。
【０７１３】
レコード３７０．１（図４６）は以下の通り更新される。
【０７１４】
ステータス領域３７０Ｂが販売人アプリケーションソフトウエア３１０で“試行”にセットされる。ラベル値ペア５２１３Ｃからの販売人ユーザ３０３のセッション−ＩＤは領域３７０Ｇに蓄積される。ラベル値ペア５２１３Ｄからの販売人ユーザ３０３のインデックスは領域３７０Ｈに蓄積される。ラベル値ペア５２１７．１Ｅからの顧客ユーザ２０３のセッション−ＩＤは領域３７０Ｄに蓄積される。ラベル値ペア５２１７．１Ｆからの顧客ユーザ２０３のインデックスは領域３７０Ｅに蓄積される。販売人の通貨は、ラベル値ペア５２１７．１Ｊの通貨シンボル値から取られ、領域３７０Ｉに蓄積される。販売人が支払われることを期待している金額はラベル値ペア５２１７．１Ｋの金額値から取られ、領域３７０Ｊに蓄積される。
【０７１５】
再度、図７３−７５を参照すると、処理はステップ１７１２で継続される。販売人コンピュータ３００はメッセージＣＡ２をサーバコンピュータ１００に転送する。販売人コンピュータ３００はサーバコンピュータ１００からの応答メッセージＣＡ３を待つ。
【０７１６】
ステップ１７１３Ａで、サーバコンピュータ１００は販売人コンピュータ３００からメッセージＣＡ２を受取り、メッセージＣＡ２のラベル値ペア５２１３Ｄの値のコピーをインデックス領域１３０ＬＬ．１に（図１４）、メッセージＣＡ２のコピーを領域１３０ＬＬ．２に蓄積する。ステップ１７１３Ｂで、サーバはサーバメッセージアンラップ処理１６６０を実行して、メッセージＣＡ２をアンラップする。ステップ１６１で始まるメッセージＣＡ２のサーバメッセージアンラップ処理１６６０を、図８６及び８７を参照して、以下に述べる。
【０７１７】
ステップ１６６２において、サーバソフトウエア１１０は、メッセージＣＡ２のヘッダ５２０５の領域５２０５Ｃからプロトコル番号を抽出する。次いで、この抽出したプロトコル番号をもとにして、メッセージデータ構造１５０にアクセスして、メッセージＣＡ２の所定のフォーマットを決定する。この所定のフォーマットは、メッセージシンナックス（例えば許可されたｅｎｄ−ｏｆ−ｌｉｎｅの文字）及びメッセージコード（例えばＡＳＣＩＩまたはｈｅｘ）を含んでいてもよい。メッセージＣＡ２は所定のフォーマットによって以下の通り分析される。
【０７１８】
ステップ１６６３において、サーバコンピュータ１００が、メッセージＣＡ２用のメッセージ組立て処理ＣＡ１２のステップ１６３３で販売者コンピュータ３００で使用されているのと同じデータを用いてチェックサムを計算する。ステップ１６６４で、ステップ１６６３で計算したチェックサムと、メッセージＣＡ２のトレーラ５２５０のチェックサムと比較される。これらのチェックサムが、同じでなければ、メッセージＣＡ２は、サーバメッセージアンラップ処理１６６０が終了するステップ１６６４Ａで破棄される。
【０７１９】
ステップ１６６４でこれらのチェックサムが同じであれば、ステップ１６６５Ａで処理が継続され、メッセージがチェックされて、メッセージアンラップ処理１６００へ送るのに適当であるかどうかが決定される。メッセージの透明部分及びメッセージＣＡ２を表示する値に“タイプ”ラベルが含まれていれば、メッセージは適当である。メッセージがこのラベル値ペアを含んでいなければ、そのメッセージは適当でなく、ステップ１６６５Ｂで処理が継続され、そこでメッセージが他に記載されている他のアンラップ処理に送られる。メッセージＣＡ２が適当であれば、ステップ１６６５Ｃで処理が継続される。ここでは、販売者の不透明ラベル値ペア５２１７．１が復号される。
【０７２０】
ステップ１６６６では、先に述べたとおり、サーバソフトウエア１１０が、ＣＡ−ＤＥＳ−キー生成処理１６００によって、販売者コンピュータからＤＥＳキーＤＥＳ−ＣＡ２を独自に作る。
【０７２１】
ステップ１６６７では、サーバコンピュータ１００から生じる５６−ビットのＤＥＳキーＤＥＳ−ＣＡ２が、テンポラリレジスタに蓄積される。
【０７２２】
処理は１６６８で続けられる。ここでは、販売者不透明ラベル値ペア５２１７．１がＤＥＳキーＤＥＳ−ＣＡ２を用いて解読される。
【０７２３】
ステップ１６６８Ａで、ラベル値ペア５２１７．１の解読の成功か失敗かが決定される。何等かの理由で解読が失敗した場合は、ステップ１６８１でエラーフラッグが設定され、サーバメセージアンラップ処理１６６０はステップ１６８２で終了する。
【０７２４】
解読が成功したら、ステップ１６６８Ｂで処理が継続される。ここでは、サーバコンピュータ１００が、販売者ユーザ３０３が有効なセッションを開設したかどうかを決定する。サーバコンピュータ１００は、ラベル値ペア５２１３Ｃから販売者のセッションＩＤ番号を得る。このセッションＩＤは、ラベル値ペア５２１３Ｃで認識されたセッション用の販売者レコード１３０．２を得るのに使用される。領域１３０ＧＧに蓄積されている開設データが、次いでサーバコンピュータ１００のクロックを参照して決定したデータと、そのセッションが開始するまでに経過した時間と比較される。そのセッションが開始するまでに経過した時間がキー寿命領域１３０ＪＪにおける値を越えている場合は、そのセッションが無効になる。これに加えて、インデックスラベル値ペア５２１３Ｄが、領域１３０ＩＩに蓄積されているきー使用制限の値を越えている場合は、そのセッションの使用が無効になる。セッションが無効になった場合は、ステップ１６８１でセッション−閉鎖フラッグがセットされ、ステップ１６８２でＣＡ２アンラップ処理が終了し、支払処理１７００は領域１７１４で継続される。
【０７２５】
セッションが有効であれば、ステップ１６６８Ｃにおいて、ラベル値ペア５２１７．１Ａに基づいてメッセージのタイプが決定される。例えば、メッセージＣＡ２に関するラベル値ペア５２１７．１Ａの値は“キャッシュ−コレクション”でよい。
【０７２６】
ステップ１６６９で処理が続けられる。ここでは、サーバコンピュータ１００、メッセージＣＡ２のフォームのチェックを行う。ステップ１６６９のフォームチェック処理は、ソフトウエアのバージョンに依存する。すなわち、メッセージの所定のフォームと、それが受入れ可能か否かを決定するクリテリアは、すでに述べたとおり、メッセージのタイプとバージョンデータ構造１５０に基づいて決定される所定の時間、有効であるメッセージとメッセージの変形によって決まる。最小限、フォームチェック処理は、入ってくるメッセージがそのメッセージに関して決められている全てのラベルを含んでいるかどうか、値を必要とする各ラベルについて値があるかどうか、及びその値が、そのタイプ（例えば、テキスト、サインをした番号）、シンタックスに関するものであり、要求される特定の制限内にあるかどうかを確かめる。メッセージが分析できるが、フォームクリテリアに合致しない場合は、サーバコンピュータ１００がステップ１６８１でエラーフラッグを設定し、エラーコードをメッセージＣＡ３（後述する）に戻す。この場合、メッセージＣＡ２のサーバメッセージアンラップ処理１６６０がステップ１６８２で終了することになる。
【０７２７】
メッセージＣＡ２が、ステップ１６６９でフォームチェックをパスしたら、ステップ１６７０へ処理を進める。
【０７２８】
ステップ１６７０では、ラベル値ペア５２１７．１Ｋによって表される販売者ユーザ３０３の検証コードが以下のようにして認証（チェック）される。サーバソフトウエア１１０は、領域１３０ＣＣの８−バイトのソルトを得る。次いで、サーバソフトウエア１１０が、メッセージデータ構造１５０にアクセスして、メッセージＣＡ２に関するメッセージ組立て処理ＣＡ１２のステップ１６２７で、どのラベル値ペアがハッシュされたかを決めて、ラベル値ペア５２１７．１Ｋの値を計算する。ついで、サーバソフトウエア１１０でこれらの同じラベル値ペアをハッシュする。ハッシュが計算される前に、領域１３０ＣＣの８バイトソルトが、ラベル値ペアのペリフィックスとサフィックスとして加えられる。このハッシュの値は、ラベル値ペア５２１７．１Ｋの値と比較される。これらの値が異なる場合は、ステップ１６８１で適当なエラーフラッグが設定される。この場合は、メッセージＣＡ２に関するサーバメッセージアンラップ処理１６６０が、ステップ１６８２で終了する。これらの値が整合した場合は、ステップ１６７１で処理が継続される。
【０７２９】
ステップ１６７１では、変数“ｎ”が１に初期化される。この変数“ｎ”の値は、上述したとおり、メッセージＣＡ２に含まれるｎ番目のＣＡ１メッセージを意味する。
【０７３０】
ステップ１６７２では、サーバソフトウエア１１０が、ＣＡ−ＤＥＳ−キー製造処理１６００に基づいて、ＤＥＳキーＤＥＳ−ＣＡ１を作る。サーバコンピュータ１００で作られたＤＥＳキーＤＥＳ−ＣＡ１は、テンポラリレジスタに蓄積される。
【０７３１】
ステップ１６７３では、顧客不透明ラベル値ペア５２１７．２がＤＥＳキーＤＥＳ−ＣＡ１を用いて解読される。
【０７３２】
ステップ１６７４では、ラベル値ペア５２１７．２の解読の成功、失敗が決められる。何等かの理由で解読が失敗した場合、ステップ１６７８でエラーフラッグが設定され、ステップ１６７９に処理が進められる。ここで、処理すべきＣＡ１メッセージがまだあるか道下が決定される。まだある場合は、ステップ１６８０で処理が継続される。処理すべきメッセージがない場合は、サーバメッセージアンラップ処理１６６０がステップ１６８２で終了する。
【０７３３】
ラベル値ペア５２１７．２の解読が成功であれば、ステップ１６７５に処理が進められる。
【０７３４】
ステップ１６７５において、販売者３０３が有効なオープンセッションを有している場合、サーバコンピュータ１００はメッセージＣＡ２に含まれているｎ番目の支払い要求に関係している顧客ユーザ２０３が有効なオープンセッションを有しているかどうか判断する。サーバコンピュータ１００は、顧客ユーザ２０３のセッションＩＤ番号をラベル値ペア５２１７．１Ｅから受得する。このセッションは、ラベル値ペア５２１７．１Ｅ内で識別されたセッションに対する顧客セッション記録１３０．１Ｅを受得するために使用される。領域１３０Ｇに蓄積された開設日が、次いでサーバコンピュータ１００のクロックで決定された日付と、ならびにセッションの新設が計数されてから経過した時間と比較される。セッションの新設から経過した時間がキー−寿命領域１３０Ｊの値を越えた場合は、そのセッションが無効になる。インデックスラベル値ペア５２１７．１Ｆの値が領域１３０Ｉに蓄積されているキー−使用制限の値を越えた場合は、取り引きが無効になる。セッションが無効であれば、ステップ１６７８でセッション−閉鎖フラッグが設定され、ステップ１６７９で処理が継続される。ここでは、処理すべきＣＡ１メッセージがまだあるかどうかを決定する。もし、まだある場合は、ステップ１６８０で処理が継続される。メッセージがない場合は、サーバメッセージアンラップ１６６０が、ステップ１６８２で終了する。
【０７３５】
ステップ１６７６では、メッセージＣＡ１のラベル値ペア５１１７Ｂで表される顧客ユーザ２２０３の検証コードが以下の用にして認証される。サーバソフトウエア１１０は、領域１３０の８−バイトソルトを得る。次いで、サーバソフトウエア１１０はメッセージデータ構造１５０にアクセスして、メッセージＣＡ１に関するメッセージ組立て処理ＣＡ１２のステップ１６２７で、どのラベル値ペアがハッシュされたかを決めて、ラベル値ペア５１１７．１Ｋの値を計算する。ついで、サーバソフトウエア１１０でこれらの同じラベル値ペアをハッシュする。ハッシュが計算される前に、領域１３０Ｃの８バイトソルトが、ラベル値ペアのプリフィックスとサフィックスとして加えられる。このハッシュの値は、ラベル値ペア５１１７Ｂの値と比較される。これらの値が異なる場合は、ステップ１６７８で適当なエラーフラッグが設定され、ステップ１６７９で処理が継続される。この場合は、メッセージＣＡ１に関するサーバメッセージアンラップ処理１６６０が、ステップ１６８２で終了する。終了した場合は、処理がステップ１６８０で続けられる。ステップ１６７５でこれらの値が整合した場合は、ステップ１６７６で処理が継続される。
【０７３６】
顧客ユーザ２０３のセッションが有効であれば、処理はステップ１６７６で続けられる。
【０７３７】
ステップ１６７７では、販売者ユーザ３０３に対して支払が行われる。顧客ユーザ２０３に関して言えば、この支払は金額のラベル値ペア５２１７．２Ａ（図８５）を反映した金額が、領域１３０Ｆの現在の金額から差引かれ、レコード１３０．１の取り引きデータ１３０Ｎを取入れる。取り引きデータ１３０Ｎは図１３に示されており、次のデータが取入れられる。ラベル値ペア５２１７．２Ａの金額は領域１３０Ｎ．１に蓄積され；ラベル値ペア５２１７．Ｅからの顧客セッションＩＤは領域１３０Ｎ．２に蓄積され；ラベル値ペア５２１７．１Ｉからの注文−ＩＤは、領域１３０Ｎ．３に蓄積され、ラベル値ペア５２１３Ｃからの販売者セッションＩＤは領域１３０Ｎ．４に蓄積され；ラベル値ペア５２１７．１Ｆからの顧客インデックスは領域１３０Ｎ．５に蓄積される。
【０７３８】
販売者ユーザ３０３については、この支払は、金額領域５１１７Ａに反映される金額に、領域１３０Ｆの現在の金額を追加することを意味し、レコード１３０．２の取り引きデータ１３０ＦＦを取入れる。取り引きデータ１３０ＮＮは図１５に示されており、次のデータが取入れられる。ラベル値ペア５２１７．２Ａの金額は領域１３０ＮＮ．１に蓄積され；ラベル値ペア５２１７．Ｅからの顧客セッションＩＤは領域１３０ＮＮ．２に蓄積され；ラベル値ペア５２１７．１Ｉからの注文−ＩＤは、領域１３０ＮＮ．３に蓄積され、ラベル値ペア５２１３Ｃからの販売者セッションＩＤは領域１３０ＮＮ．４に蓄積され；ラベル値ペア５２１７．１Ｄからの販売者インデックスは領域１３０ＮＮ．５に蓄積される。
【０７３９】
ステップ１６７９において、サーバソフトウエア１１０は、メッセージＣＡ２が処理すべき追加のメッセージＣＡ１を含んでいるかどうかを決定する。処理すべき追加のＣＡ１メッセージがある場合、ステップ１６８０で変数“ｎ”が増加し、先に述べたとおり、ステップ１６７２で処理が続けられる。処理術Ｒ器追加ＣＡ１メッセージがない場合、ステップ１６８２でメッセージＣＡ２用のサーバメッセージアンラップ処理１６６０が終了する。
【０７４０】
図７３−７５のステップ１７１４にて処理が続けられる。ここで、ステップ１６６４、１６６８Ａ、１６６８Ｂ、１６６９、１６７０、のチェックの結果ステップ１６８１でエラーフラッグが設定されていれば、ステップ１６８１で処理が続けられる。ここでは、エラーのタイプが、応答コードラベル値ペア５３１７１．Ｃに関連すべき所定のコードと、ラベル値ペア５３１７．１Ｅに関連するべきメッセージとを引出す。エラーフラッグで検出され、応答コードラベル値ペアに報告されるる詳細のレベルは、システム管理者に対する決定である。例えば、“失敗”は、“大失敗”となる。すなわち、そのメッセージ（例えば、無効フォーマット、あるいはセッションの閉鎖）の再提出される失敗のサブセットの失敗は、メッセージの処理において生じない。“失敗”は、また、回復し得る失敗（例えば、サーバコンピュータ１００のテンポラリ的な停電によるタイムアウト）を囲むこともできる。次に述べるところにおいて、期間の失敗は、よく使用される。
【０７４１】
ステップ１６８１でフラッグが設定されなければ、ステップ１７１６に処理がすすみ、ここで、サーバコンピュータ１００が、ステップ１６７４、１６７５、及び１６７６における支払要求メッセージのチェックが、ステップ１６７８で設定されるべきエラーフラッグを起こしたのかどうかを決定する。ｎ番目のＣＡ１メッセージが設定されるべきフラッグを生じさせた場合、ステップ１７１７において、ラベル値ペア５３１７．１Ｋ（応答コード−ｎ）とラベル値ペア５３１７．２Ａ（応答コード）の値が、失敗として設定され、ラベル値ペア５３１７．１Ｎ（問題−ｎ）及びラベル値ペア５３１７．２Ｅ（問題）が、ラベル値ペア５３１７．１Ｋの値に関するコードの値を割り当てる。サーバコンピュータ１００のオペレータが所望するようであれば、メッセージと関係なく、失敗をラベル値ペア５３１７．１Ｌ（リマーク−ｎ）及びラベル値ペア５３１７．５Ａ（リマーク）に含めることができる。
【０７４２】
ステップ１７１８Ａにおいて、サーバコンピュータ１００は、図８８に示すサーバメッセージ組立て処理３４００に従って、メッセージＣＡ３を組立てる。
【０７４３】
メッセージＣＡ３用のサーバメッセージ組立て処理３４００はステップ３４０１で始まる。
【０７４４】
ステップ３４０２Ａにおいて、サーバソフトウエア１１０が、メッセージのタイプ及びバージョンデータ構造１５０にアクセスして、ラベルのリストを得る。これは、関連する値に整合した時、図８９及び９０に示すメッセージＣＡ３用の透明ラベル値ペア５３１３Ａ−５３１３Ｅを作る。以下に述べるとおり、ステップ３４０２Ｂで、値が各ラベルに関連付けられる。
【０７４５】
ラベル値ペア５３１３Ａは、“タイプ”ラベルを有する。ラベル値ペア５３１３Ａの値は、メッセージＣＡ３のラベルを設定するメッセージデータ構造３８０のレコードを示す。ラベル値ペア５３１３Ａの値は、サーバソフトウエア１１０から得られる。
【０７４６】
ラベル値ペア５３１３Ｂは、“バージョン”ラベルを有し、ラベル値ペア５３１３Ａで示されるレコードに関係するレコードを示す。上述したとおり、ラベル値ペア５３１３Ｂは、メッセージの送り主にそのメッセージのバージョンの受取、及びこのバージョンをどのように分析し処理するかについての通知を行わせる。メッセージＣＡ３は、販売者コンピュータ３００に送られるメッセージＣＡ２の応答であるため、メッセージＣＡ３は、サーバソフトウエア１１０によって選択され、販売者アプリケーションソフトウエア３１０で処理できることを確認する。ラベル値ペア５３１３Ｂは、販売者アプリケーションソフトウエア３１０に透明ラベル値ペア５３１３Ａ、５３１３Ｃ、５３１３Ｄ、及び５３１３Ｅのフォームと内容を通知する。ラベル値ペア５３１３Ｂの値は、販売者ソフトウエア３１０から得られる。
【０７４７】
ラベル値ペア５３１３Ｃは、“セッションＩＤ”ラベルを有する。ラベル値ペア５３１３Ｃの値は、販売者セッションデータ構造１３０の領域１３０ＡＡのセッションＩＤから得られる。
【０７４８】
ラベル値ペア５３１３Ｄは、“インデックス”ラベルを有する。ラベル値ペア５３１３Ｄの値は、販売者セッションデータ構造１３０．２の領域１３０ＬＬのインデックスから得られる。
【０７４９】
ラベル値ペア５３１３Ｅは、“サービス−カテゴリ”ラベルを有する。ラベル値ペア５３１３Ｅの値は、販売者コンピュータ３００で、メッセージＣＡ３を特に、サービスカテゴリのメッセージを取り扱う販売者コンピュータ３００内のプロセッサに送るために使用されるラベルである。
【０７５０】
ステップ３４０２Ｃでは、サーバソフトウエア１１０が、５６−ビットのＤＥＳキーＤＥＳ−ＣＡ３Ｃ−ｎ及びＤＥＳ−ＣＡ３−Ｍを作る。ＤＥＳキーＤＥＳ−ＣＡ３Ｃ−ｎ及びＤＥＳ−ＣＡ３−Ｍは、顧客コンピュータ２００及び販売者コンピュータ３００のそれぞれで受け取るデータを暗号化するのに使用される。先に述べたとおり、ＤＥＳキーＤＥＳ−ＣＡ３Ｃ及びＤＥＳ−ＣＡ３−Ｍは、ＣＡ−ＤＥＳ−キー製造処理１６００に従って作られる。
【０７５１】
図８８を再度参照すると、メッセージ組立て処理ＣＡ３が、ステップ３４２０Ｄで続けられる。ここで、ＤＥＳキーＤＥＳ−ＣＡ３Ｃ−ｎ及びＤＥＳ−ＣＡ３−Ｍがテンポラリレジスタに蓄積される。
【０７５２】
ステップ３４０３では、サーバソフトウエア１１０がメッセージテンプレートデータ構造１５０にアクセスして、ラベルのリストを得る。ラベルのリストは、関連する値に整合した時に、メッセージＣＡ３の販売者不透明セクションの内容（図９０）を決めるものである。値は各ラベルに以下のように関連している。
【０７５３】
メッセージＣＡ３の販売者不透明セクションの内容は、図９０に示されており、ラベル値ペア５３１７．１Ａは“サブタイプ”のラベルを有する。ラベル値ペア５３１７．１Ａは、メッセージＣＡ３用の販売者不透明セクションの内容のラベルを含むメッセージデータ構造３８０内のレコードに関するラベルである。ラベル値ペア５３１７．１Ａの値は、サーバソフトウエア１１０から得られる。
【０７５４】
ラベル値ペア５３１７．１Ｂは、“サブバージョン”ラベルを有する。ラベル値ペア５３１７．１Ｂは、所定の時間で有効になるメッセージのタイプの変形を処理するメッセージデータ構造１５０の保持されているコードである。
【０７５５】
ラベル値ペア５３１７．１Ｃは、“応答−コード”ラベルを有し、その値は上述したとおり、“成功”または“失敗”である。ラベル値ペア５３１７．１Ｃは、メッセージＣＡ２によってサーバコンピュータ１００に与えられた取り引きが成功か失敗かその他であるかを表示する。ラベル値ペア５３１７．１Ｃの値は、サーバソフトウエア１１０から上述したステップ１７１５で得られる。
【０７５６】
ラベル値ペア５３１７．１Ｄは、“手数料”ラベルを有する。ラベル値ペア５３１７．１Ｄの値は、もしあれば、メッセージＣＡ２の処理に関連する販売者ユーザ３０３に係る手数料を表示する。ラベル値ペア５３１７．１Ｃの値はサーバソフトウエア１１０から得られる。
【０７５７】
ラベル値ペア５３１７．１Ｅは“問題点”ラベルを有する。ラベル値ペア５３１７．１Ｃの応答コードの値が、“成功”の値以外であれば、ラベル値ペア５３１７．１Ｅの値は販売者ユーザ３０３に、不成功の原因を通知するコードである。ラベル値ペア５３１７．１Ｅの値はサーバソフトウエア１１０から、上述したステップ１７１５で得られる。
【０７５８】
ラベル値ペア５３１７．１Ｆは“リマーク”ラベルを有する。ラベル値ペア５３１７．１Ｃの応答コードの値が“成功”の値以外であれば、ラベル値ペア５３１７．１Ｆの値は、不成功の理由の詳細な説明を提供するフリーフォームのテキストメッセージである。ラベル値ペア５３１７．１Ｆの値は、サーバソフトウエア１１０から上述のステップ１７１５で得られる。
【０７５９】
メッセージＣＡ３は、メッセージＣＡ２と共に与えられる“ｎ”ＣＡ１メッセージのそれぞれに対して以下のラベル値ペア５３１７．１Ｇ−５３１７．１Ｐを含んでいる。
【０７６０】
ラベル値ペア５３１７．１Ｇは、“サブタイプｎ”ラベルを有し、メッセージＣＡ２のラベル値ペア５２１７．１Ｃの値を有する。
【０７６１】
ラベル値ペア５３１７．１Ｈは、“サブバージョンｎ”ラベルを有し、メッセージＣＡ２のラベル値ペア５２１７．１Ｄの値を有する。
【０７６２】
ラベル値ペア５３１７．１Ｉは、“支払人−セッション−ＩＤｎ”ラベルを有し、メッセージＣＡ２のラベル値ペア５２１７．１Ｅの値を有する。
【０７６３】
ラベル値ペア５３１７．１Ｊは、“支払人−インデックスｎ”ラベルを有し、メッセージＣＡ２のラベル値ペア５２１７．１Ｆの値を有する。
【０７６４】
ラベル値ペア５３１７．１Ｋは、“応答コードｎ”ラベルを有し、その値は上述したとおり、“成功”か“失敗”である。ラベル値ペア５３１７．１Ｋの値は上述のステップ１７１７でサーバソフトウエア１１０から得られる。
【０７６５】
ラベル値ペア５３１７．１Ｌは、“リマークｎ”ラベルを有する。ラベル値ペア５３１７．１Ｋの応答−コードの値が、“成功”の値以外のものであれば、ラベル値ペア５３１７．１Ｌの値は、不成功の理由の詳細な説明を提供するフリーフォームのテキストメッセージである。ラベル値ペア５３１７．１Ｌの値は、サーバソフトウエア１１０から上述のステップ１７１７で得られる。
【０７６６】
ラベル値ペア５３１７．１Ｍは、“徴収金額ｎ”ラベルを有し、その値は、取り引きに関して販売者ユーザ３０３によって徴収された電子キャッシュの金額（メッセージＣＡ２の販売者メッセージアンラップ処理１６６０のステップ１６７７）を表示するものである。
【０７６７】
ラベル値ペア５３１７．１Ｎは“問題点ｎ”ラベルを有する。ラベル値ペア５３１７．１Ｋの値が、“成功”の値以外であれば、ラベル値ペア５３１７．１Ｎの値は顧客ユーザ２０３に、不成功の原因を通知するコードである。ラベル値ペア５３１７．１Ｎの値はサーバソフトウエア１１０から、上述したステップ１７１７で得られる。
【０７６８】
ラベル値ペア５３１７．１Ｏは、“注文−ＩＤｎ”を有する。ラベル値ペア５３１７．１Ｏの値はメッセージＣＡ２のラベル値ペア５２１７．１Ｉから得られる。
【０７６９】
ラベル値ペア５３１７．１Ｐは、“リクエスト−バージョン”を有する。ラベル値ペア５３１７．１Ｐの値は、サーバコンピュータ１００で実際に処理されているメッセージＣＡ２のバージョンを表す。
【０７７０】
図８８を再度参照すると、ステップ３４０５では、図９０のラベル値ペア５３１７．１Ｑで表されるメッセージＣＡ３の販売者不透明セクションに関する検証コードが作られる。ラベル値ペア５３１７．１Ｑは“オース−コード”ラベルを有する。ラベル値ペア５３１７．１Ｑの値は、サーバコンピュータ１００の検証コードを表すものである。メッセージＣＡ３の販売者不透明セクションに関しては、ラベル値ペア５３１７．１Ｑの値は、領域１３０ＣＣの８−バイトソルト、ラベル値ペア５３１３Ａ−５３１３Ｅ及び５３１７．１Ａ−５３１７．１Ｐ、及び領域１３０ＣＣの８−バイトソルト、が連続したＭＤ５ハッシュである。ハッシングを行う前に、ラベル値ペア５３１３Ａ−５３１３Ｅ及び５３１７．１Ａ−５３１７．１Ｐに埋まっているホワイトスペースが除去される。
【０７７１】
ステップ３４０６で、ステップ３４０５で作られたラベル値ペア５３１７．１Ｑがラベル値ペア５３１７．１Ａ−５３１７．１Ｐに追加される。ラベル値ペア５３１７．１Ａ−５３１７．１Ｑは、５６ビットのＤＥＳキーＤＥＳ−ＣＡ３−Ｍを用いて暗号化される。
【０７７２】
ステップ３４０７では、ステップ３４０６で暗号化されたデータが公知の技術を用いて符号化される。
【０７７３】
ステップ３４０８では、サーバソフトウエア１１０がメッセージテンプレートデータ構造１５０にアクセスして、ラベルのリストを得る。これは、関連する値に整合した場合、メッセージＣＡ３の顧客不透明セクションの内容を作るものである。ステップ３４０９において顧客不透明セッションが組み立てられる。値は、次の通り、各ラベルに関連する。
【０７７４】
メッセージＣＡ３の顧客不透明セクションの内容は、図８９−９２に示されており、ラベル値ペア５３１７．２Ａは“応答コード”のラベルを有し、その値は上述したとおり、“成功”または“失敗”である。ラベル値ペア５３１７．２Ａは、メッセージＣＡ２によってサーバコンピュータ１００に与えられた取り引きが成功か失敗かその他であるかを表示する。ラベル値ペア５３１７．２Ａの値は、サーバソフトウエア１１０から上述したステップ１７１７で得られる。
【０７７５】
ラベル値ペア５３１７．２Ｂは、“リマーク”ラベルを有する。ラベル値ペア５３１７．２Ａの応答コードの値が“成功”の値以外であれば、ラベル値ペア５３１７．２Ｂの値は、不成功の理由の詳細な説明を提供するフリーフォームのテキストメッセージである。ラベル値ペア５３１７．２Ｂの値は、サーバソフトウエア１１０から上述のステップ１７１７で得られる。
【０７７６】
ラベル値ペア５３１７．２Ｃは、“外貨−交換”ラベルを有する。ラベル値ペア５３１７．２Ｃがラベル値ペア５１１７Ａに含まれる通貨の種類から他の通貨への変換レートに関する更新の情報を提供する。ラベル値ペア５３１７．２Ｃはソフトウエア１１０から得られる。
【０７７７】
ラベル値ペア５３１７．２Ｄは“金額”ラベルを有し、取り引きに関する顧客ユーザにかかるファンドの金額を表示する値である。ラベル値ペア５３１７．２Ｄの値はサーバソフトウエア１１０から得られる。
【０７７８】
ラベル値ペア５３１７．２Ｅは“問題点”ラベルを有する。ラベル値ペア５３１７．２Ａの値が、“成功”の値以外であれば、ラベル値ペア５３１７．２Ｅの値は顧客ユーザ２０３に、不成功の原因を通知するコードである。ラベル値ペア５３１７．２Ｅの値はサーバソフトウエア１１０から、上述したステップ１７１７で得られる。
【０７７９】
ラベル値ペア５３１７．２Ｆは、“注文−ＩＤ”を有する。ラベル値ペア５３１７．２Ｆの値はメッセージＣＡ２のラベル値ペア５２１７．１Ｉから得られる。
【０７８０】
ラベル値ペア５３１７．２Ｇは、“リクエスト−バージョン”を有する。ラベル値ペア５３１７．２Ｇの値は、サーバコンピュータ１００で実際に処理されているメッセージＣＡ１のバージョンを表す。
【０７８１】
図８８を再度参照すると、ステップ３４１０では、図９１のラベル値ペア５３１７．２Ｈで表されるメッセージＣＡ３の顧客不透明セクションに関するオーセンティケーションコードが作られる。ラベル値ペア５３１７．２Ｈは“オース−コード”ラベルを有する。図９１に示すラベル値ペア５３１７．２Ｈの値は、サーバコンピュータ１００の検証コードを表すものである。メッセージＣＡ３の顧客不透明セクションに関しては、ラベル値ペア５３１７．２Ｈの値は、領域１３０Ｃの８−バイトソルト、ラベル値ペア５３１３Ａ−５３１３Ｄ及び５３１７．２Ａ−５３１７．２Ｇ、及び領域１３０Ｃの８−バイトソルトが連続したハッシュである。ハッシングを行う前に、ラベル値ペア５３１３Ａ−５３１３Ｄ及び５３１７．２Ａ−５３１７．２Ｇに埋まっているホワイトスペースが除去され、隣り合う各ペアの値の間に、縦のバーセパレータ文字が挿入される。
【０７８２】
ステップ３４１１で、ステップ３４１０で作られたラベル値ペア５３１７．２Ｈがラベル値ペア５３１７．２Ａ−５３１７．２Ｇに追加される。ラベル値ペア５３１７．２Ａ−５３１７．２Ｈは、ＤＥＳキーＤＥＳ−ＣＡ３−Ｃ−ｎを用いて暗号化される。
【０７８３】
ステップ３４１２では、ステップ３４１１で暗号化されたデータが公知の技術（好適にはベース６４）を用いて符号化される。
【０７８４】
メッセージＣＡ３は、ステップ３４１３−３４１７で組立てられる。ステップ３４１３では、タイプ及びバージョンデータ構造１５０で得られるメッセージテンプレート及びサーバソフトウエア１１０に埋もれているプロトコル番号を用いて、ヘッダ５３０５が作られる。
【０７８５】
ステップ３４１４では、次いで、透明ラベル値ペア５３１３Ａ−５３１３Ｄが追加（付加）される。ラベル値ペア５２１３Ａ−５３１３Ｄについてはすでに述べた。
【０７８６】
ステップ３４１５及び３４１６では、販売者不透明ラベル値ペア５３１７．１及び顧客不透明ラベル値ペア５３１７．２が加えられる。ラベル値ペア５３１７．１及び５３１７．２は、それぞれ“販売者不透明”及び“顧客不透明”ラベルを有し、それに続く値は暗号化されたデータであることを意味する。ラベル値ペア５３１７．１の値は、ステップ３４０７で符号化されたデータを表す。ラベル値ペア５３１７．２の値はステップ３４１２で符号化されたデータ（メッセージＣＡ４において顧客コンピュータ２００に送られる）を表す。
【０７８７】
トレーラ５３５０はステップ３４１７で組立てられる。トレーラ５３５０のチェックサムは、サンプルメッセージ４０００に関して上術したとおりに計算される。トレーラ５３５０はメッセージＣＡ３の残りの部分に追加（付加）される。
【０７８８】
メッセージＣＡ３の組立てが完了する。メッセージＣＡ３のメッセージ組立て処理３４００はステップ３４１９で終了する。
【０７８９】
ステップ１７１９では、販売者コンピュータ３００がサーバコンピュータ１００からメッセージＣＡ３を受取り、メッセージアンラップ処理ＣＡ３４を実行することによってメッセージＣＡ３をアンラップする。メッセージＣＡ３に関するメッセージアンラップ処理ＣＡ３４を図９２を参照して、以下に述べる。この処理はステップ２０７２から始まる。
【０７９０】
ステップ２０７２では、販売者ソフトウエア３１０がメッセージＣＡ３のヘッダ５３０５からプロトコル番号を抽出する。次いで、抽出されたプロトコル番号に基づいて、メッセージデータ構造３８０がアクセスされて、メッセージＣＡ３に適したフォーマットを決定する。このフォーマットは、メッセージシンナックス（例えばｅｎｄ−ｏｆ−ｌｉｎｅの文字）と、メッセージコーディング（ＡＳＣＩＩまたはｈｅｘ）を含んでいてもよい。メッセージＣＡ３は、このフォーマットに基づいて次のように解読される。
【０７９１】
ステップ２０７３では、販売者コンピュータ３００がメッセージＣＡ３用のメッセージ組立て処理３４００のステップ３４１７でサーバコンピュータ１００で使用されているのと同じデータを用いてチェックサムを計算する。ステップ２０７４で、ステップ２０７３で計算したチェックサムと、メッセージＣＡ３のトレーラ５３５０のチェックサムと比較される。これらのチェックサムが、同じでなければ、メッセージＣＡ３はステップ２０７４Ａで破棄され、メッセージアンラップ処理ＣＡ３４が終了する。
【０７９２】
ステップ２０７４でこれらのチェックサムが同じであれば、ステップ２０７５Ａで処理が継続され、メッセージがチェックされて、メッセージアンラップ処理ＣＡ３４へ送るのに適当であるかどうかが決定される。メッセージにメッセージの透明部分に含まれている“タイプ”及びメッセージＣＡ３またはＣＡ４を表示する値が含まれていれば、メッセージは適当である。メッセージがこのラベル値ペアを含んでいなければ、そのメッセージは適当でない。不適当なメッセージの処理がステップ２０７５Ｂで発生し、そこでそのメッセージが、他で述べた他のアンラップ処理に変更される。メッセージＣＡ３が適当であれば、ステップ２０７６で処理が継続される。ここでは、販売者の不透明ラベル値ペア５３１７．１の値が復号される。
【０７９３】
ステップ２０７７で、販売者アプリケーションソフトウエア３１０は、ＣＡ−ＤＥＳ−キー発生処理１６００に基づいて、サーバソフトウエア１１０で作られたのと同じＤＥＳ−キーＤＥＳ−ＣＡ３−Ｍを作る。
【０７９４】
ステップ２０７８で、ＤＥＳ−キーＤＥＳ−ＣＡ３−Ｍはテンポラリレジスタに蓄積される。
【０７９５】
ステップ２０７９で、ＤＥＳ−キーＤＥＳ−ＣＡ３−Ｍは販売者不透明ラベル値ペア５３１７．１の値を解読するのに使用される。
【０７９６】
次いで、ステップ２０８０にて、次のようにして、メッセージＣＡ３のチェックが行われる。
【０７９７】
ステップ２０８０では、ラベル値ペア５３１７．１の解読の成功または失敗が決定される。解読が何等かの理由で失敗した場合、ステップ２０８４でエラーフラッグが設定され、メッセージアンラップ処理ＣＡ３４は、ステップ２０８５で終了する。
【０７９８】
ステップ２０８０Ａにて解読が成功した場合は、ラベル値５３１７．１Ａ参照してメッセージのタイプが決定される。例えば、メッセージＣＡ３のラベル値ペア５３１７．１Ａの値は、”キャッシュ−バッチ−受領”となる。
【０７９９】
ステップ２０８１で処理が継続する。ここでは、販売者コンピュータ３００が、メッセージＣＡ３のフォームをチェックする。ステップ２０８１のフォームチェック処理はソフトウエアのバージョンに依存する。すなわち、メッセージの適当なフォーム、及びそれが受入れられるか否かを決定するクリテリアは、メッセージＣＡ３及び上上述したメッセージテンプレート構造３８０内のメッセージのタイプ及びバージョンに関する情報を参照することによって決定される所定の時間に有効になるメッセージ及びメッセージの変形に依存する。少なくとも、フォームチェック処理は、入ってくるメッセージがそのメッセージに関して予め決められているすべてのラベルを含むかどうか、値を必要とする各ラベルに関して値があるかどうか、及びその値がタイプ（例えば、テキスト、サインした番号）、シンタックスであり、特に必要とされる特定の制限内にあるかどうかを確認する。メッセージが、分析できない場合、もしくは、分析できたとしてもフォームクリテリアに合致しない場合は、販売者コンピュータ３００はステップ２０８４でエラーフラッグを設定し、メッセージアンラップ処理ＣＡ３４がステップ２０８５で終了する。
【０８００】
メッセージＣＡ３がステップ２０８１のフォームチェックをパスしたら、処理はステップ２０８２で継続される。ここでは、ラベル値ペア５３１７．１Ｐで表される検証コードが次のようにして、確認される。販売者ソフトウエア３１０は、領域３４０Ｃの８−バイトソルト（図４２）を得る。サブタイプラベル値ペア５３１７．１Ａとサブセッションラベル値ペア５３１７．１Ｂの値に基づいて、販売者アプリケーションソフトウエア３１０は、メッセージテンプレートデータ構造３８０にアクセスし、メッセージ組立て処理ＣＡ３のステップ３４０５で、どのラベル値ペアがハッシュされたかを決めて、ラベル値ペア５３１７．１Ｐの値を計算する。ついで、販売者アプリケーションソフトウエア１１０で領域１３０Ｃの８バイトソルトを、同じラベル値ペアの値に対するラベル値ペアのプリフィックスとサフィックスとして加え、ハッシュとその結果を計算する。このハッシュの値は、ラベル値ペア５３１７．１Ｑの値と比較される。これらの値が異なる場合は、ステップ２０８４で適当なエラーフラッグが設定され、ステップ２０８５でメッセージアンラップ処理ＣＡ３４が終了する。
【０８０１】
図７３〜図７５を再度参照すると、ステップ１７２０で処理が継続される。ここでは、
（１）ステップ２０８４でエラーフラッグが設定されたら、そのフラッグがステップ１７２０で検出され、メッセージＣＡ３の処理はステップ１７２１の後に終了する；
（２）ステップ２０８４でエラーフラッグが設定されないにもかかわらずステップ１７２１でメッセージＣＡ２にエラーが発生したら、ステップ１７２２で処理が継続され、そこで、ラベル値ペア５３１７．１Ｃの内容がチェックされる。ラベル値５３１７．１Ｃの値が“成功”以外の値であれば、ステップ１７２３でエラー処理ルーチンが実行され、販売者アプリケーションソフトウエア３１０に、ラベル値５３１７．１Ｃの内容に関連するラベル値５３１７．１Ｆに含まれるメッセージを表示させる。販売者アプリケーションソフトウエア３１０は、また、ラベル値５３１７．１Ｅを中断して、その値に関連するなにかのアクションを取って、ステップ１７３３でＣＡ３メッセージの処理を終了させる；または
（３）メッセージＣＡ３がステップ１７２０及びステップ１７２２でチェックをパスすれば、ステップ１７２４で処理が継続し、そこでは、販売者コンピュータ３００が以下の様にしてローカルデータ構造を更新する。
【０８０２】
レコード３５０．１（図４４）が更新されて、支払い要求が支払われたかどうかを表示する。領域３５０Ｃは、ラベル値ペア５３１７．１Ｃからの応答コードが“成功”か“失敗”かに依存する“支払”あるいは“未払”のいずれかを設定するフラッグを含んでいる。同様に、レコード３７０．１（図４６）が更新され、特別な支払い要求の状態を示す。領域３７０Ｂは、メッセージＣＡ２において特別な支払要求がサーバコンピュータ１００に送られた時に“試行”と設定し、ラベル値ペア５３１７．１Ｃからの応答コードが“成功”または“失敗”かどうかによって、“成功”または“失敗”を設定する。ラベル値ペア５３１７．１Ｅからの結果コードは領域３７０Ｍに蓄積される。ラベル値ペア５３１７．１Ｄからの支払要求の処理に対して販売者ユーザ３０３によって支払われる手数料は、領域３７０Ｌに蓄積される。ラベル値ペア５３１７．１Ｍからの特別な支払要求に対して販売者ユーザ３０３によって収集される金額は、領域３７０Ｋに蓄積され、販売セッションデータ構造３６０のレコード３６０．１の領域３６０Ｆに加えられる。
【０８０３】
ステップ１７２５において、販売者コンピュータ３００は図３６に示すメッセージ組立て処理３１００に従って、メッセージＣＡ４を組立てる。メッセージＣＡ４は、図９４及び９５に示されている。
【０８０４】
メッセージＣＡ４のメッセージ組立て処理３１００は、ステップ３１０１で開始する。ステップ３１０２において、メッセージデータ構造３８０にあるメッセージテンプレートと、販売者アプリケーションソフトウエア３１０に埋め込まれているプロトコル番号を用いてヘッダ５４０５が作られる。
【０８０５】
次いで、ステップ３１０３で、透明ラベル値ペア５４１３Ａ−５４１３Ｇが追加（付加）される。
【０８０６】
ラベル値ペア５４１３Ａは、ラベルの“タイプ”を有する。ラベル値ペア５４１３Ａの値は、メッセージＣＡ４のラベルを設定するメッセージデータ構造２７０（図１７）内のレコードを意味する。ラベル値ペア５４１３Ａの値は販売者アプリケーションソフトウエア３１０から得られる。
【０８０７】
ラベル値ペア５４１３Ｂは、ラベルの“バージョン”を有し、ラベル値ペア５４１３Ａで表されるレコードに関連するレコードを示す。上述したとおり、ラベル値ペア５４１３Ｂは、メッセージの送り主にそのメッセージのバージョンに関する受取人がそのバージョンをどのように解読して処理したかを通知させる。メッセージＣＡ４は販売者ユーザ２０３からのメッセージＣＡ１に応答するものであるので、メッセージＣＡ４を構築するために販売者アプリケーションソフトウエア３１０で使用されるバージョンは、販売者アプリケーションソフトウエアによって選択され、顧客アプリケーションソフトウエア２１０で処理され得ることを確実にする。ラベル値ペア５４１３Ｂは、透明ラベル値ペア５４１３Ａ、５４１３Ｃ、及び５４１３Ｄと、不透明ラベル値ペア５４１７のフォームと内容の顧客アプリケーションソフトウエアを通知する。ラベル値ペア５４１３Ｂの値は販売者アプリケーションソフトウエア３１０から得られる。
【０８０８】
ラベル値ペア５４１３Ｃは、ラベルの“セッション−ＩＤ”と、顧客２０３に関する現在のセッションＩＤを表示する値を有する。販売者コンピュータ３００はメッセージＣＡ１のラベル値ペア５１１３Ｃのセッション−ＩＤの値からラベル値ペア５４１３Ｃの値を得る。
【０８０９】
ラベル値ペア５４１３Ｄはラベルの“インデックス”を有する。ラベル値ペア５４１３Ｄの値は、セッションにともなう時間の異なる取り引きが企画されていることを表示する未使用の値の範囲から選択された整数である。販売者ユーザ３０３は、メッセージＣＡ１のラベル値ペア５１１３Ｄのインデックスの値からラベル値ペア５４１３Ｄの値を得る。
【０８１０】
ラベル値ペア５４１３Ｆはラベルの“注文−ＩＤ”を有する。ラベル値ペア５４１３Ｆの値は、その注文を認識するための販売者コンピュータ３００で作られる注文認識番号を表示する。ラベル値ペア５４１３Ｆは、メッセージＰＲ１のラベル値ペア５０１３Ｃで提供されているものと同じである。
【０８１１】
ラベル値ペア５４１３Ｇは、ラベルの“サービス−カテゴリ”を有する。ラベル値ペア５４１３Ｇの値は、顧客コンピュータ１００で、メッセージＣＡ４を、特別なサービスカテゴリのメッセージを取り扱う顧客コンピュータ２００内のプロセッサに送るために使用されるラベルである。
【０８１２】
ステップ３１０４において、不透明ラベル値ペア５４１７が加えられる。ラベル値ペア５４１７は、次に続く値が暗号化データであることを意味するラベルの“不透明”を有する。ラベル値ペア５４１７の値は、サーバコンピュータ１００から販売者コンピュータ３００に送られるラベル値ペア５３１７．２の値を表す。
【０８１３】
トレーラ５４５０はステップ３１０５で組立てられる。トレーラ５４５０のチェックサムは、サンプルメッセージ４０００に関して前述したとおりに計算される。トレーラ５４５０はメッセージＣＡ４の残りの部分に追加（付加）される。
【０８１４】
メッセージＣＡ４の組立てがここで完了する。メッセージ組立て処理３１００はステップ３１０６で終了する。
【０８１５】
図７３〜図７５を再度参照すると、ステップ１７２６で処理が継続される。ここで、販売者コンピュータ３００が顧客コンピュータ２００へメッセージＣＡ４を転送する。
【０８１６】
ステップ１７２７では、顧客コンピュータ２００が、販売者コンピュータ３００からメッセージＣＡ４を受取、メッセージアンラップ処理ＣＡ３４を実行することによってメッセージＣＡ４をアンラップする。メッセージＣＡ４に関するメッセージアンラップ処理ＣＡ３４は、図９２を参照してメッセージＣＡ３のところですでに述べた。
【０８１７】
再び、図７３〜図７５を参照すると、ステップ１７２８で処理が継続される。そこで、
（１）ステップ２０８４でエラーフラッグが設定されたら、そのフラッグがステップ１７２８で検出され、メッセージＣＡ４の処理はステップ１７２９の後に終了する；
（２）ステップ２０８４でエラーフラッグが設定されないにもかかわらずステップ１６７８でメッセージＣＡ１にエラーが発生したら、ステップ１７３０で処理が継続され、そこで、ラベル値ペア５４１７Ａの内容がチェックされる。ラベル値５４１７Ａの値が“成功”以外の値であれば、ステップ１７３１でエラー処理ルーチンが実行され、顧客アプリケーションソフトウエア２１０に、ラベル値５４１７．１Ｃの内容に関連するラベル値５４１７Ｂに含まれるメッセージを表示させる。顧客アプリケーションソフトウエア２１０は、また、ラベル値５４１７Ｅを中断して、その値に関連するなにかのアクションを取って、ステップ１７３３でＣＡ４メッセージの処理を終了させる；または
（３）メッセージＣＡ４がステップ１７２８及びステップ１７３０のチェックをパスすれば、ステップ１７３２で処理が継続し、そこでは、顧客コンピュータ２００がラベル値ペア５４１７Ｄに含まれる値をラベル値ペア５１１７Ａの値と比較する。これらの値が異なる場合は、顧客コンピュータ２００が点在の金額領域２４０Ｄを調整して、サーバコンピュータ１００で維持されている現在の金額領域１３０Ｆから実際に差引かれる金額を示す。顧客セッションデータ構造２４０に記録される値に加えて、顧客ログデータ構造２６０の新規レコードが以下の通り作られる。ラベル値ペア５４１３Ｅからの日付は領域２６３Ｃに蓄積される。ラベル値ペア５４１７Ａからの応答コードは領域２６３Ｄに蓄積される。ラベル値ペア５４１７Ａからの応答コードに関連するラベル値ペア５４１７Ｂからのリマークは領域２６３Ｅに蓄積される。ラベル値ペア５４１７Ｄからの金額は領域２６３Ｊに蓄積される。ラベル値ペア５４１７Ｆからの注文−ＩＤは、領域２６３Ｇに蓄積される。ラベル値ペア５４１３Ｃからのセッション−ＩＤは領域２６３Ｌに蓄積される。ラベル値ペア５４１３Ｄからのインデックスは領域２６３Ｍに蓄積される。
【０８１８】
Ｇ．閉鎖セッション処理４１１
閉鎖セッション処理４１１は顧客ユーザ２０３によって、セッションを閉鎖するのに使用される。
【０８１９】
図９６は、ステップ１８０１から始まる閉鎖セッション処理４１１を示すフロー図である。
【０８２０】
ステップ１８０２で、顧客アプリケーションソフトウエア２１０は、顧客ユーザ２０３に対して、閉鎖するセッションの認識番号と、セッションに付けるレコードノートと、閉鎖しようとしているセッションの間に販売者３０３によってサーバコンピュータ１００へ伝達される顧客ユーザ２０３のための取り引きのログをこの顧客ユーザ２０３が要求するかどうかを入力するよう催促（要求）する。顧客ユーザ２０３が１以上のセッションを開いている場合は、プロンプトは開設したセッション全てのリストと、顧客ユーザのリクエストを含んでおり、閉鎖するセッションを選択する。
【０８２１】
メッセージＣＳ１の内容を、図９７及び図９８に従ってここで述べる。
【０８２２】
ラベル値ペア４８１３Ａは、ラベルの“ＩＤ”を有する。ラベル値ペア４８１３Ａの値は、顧客ユーザの個人ＩＤを表示する。ラベル値ペア４８１３Ａの値は領域２２０Ａから得られる（図１９）。
【０８２３】
ラベル値ペア４８１３Ｂは、ラベルの“取り引き”を有する。ラベル値ペア４８１３Ｂの値は、顧客アプリケーションソフトウエア２１０で発生する、メッセージＣＳ１を唯一のものとして認定する取り引き番号である。ラベル値ペア４８１３Ｂは、サーバコンピュータ１００がメッセージＣＳ１を受け取った時に、（１）下記に述べる関連する応答メッセージＣＳ２、及び（２）メッセージＣＳ１が２重メッセージであるかどうか、（すなわち、すでにサーバコンピュータで受け取っているかどうか）を決定させる。ラベル値ペア４８１３Ｂに関連する値は領域２５６Ｂに蓄積される。
【０８２４】
ラベル値ペア４８１３Ｃは、ラベルの“日付”を有する。ラベル値ペア４８１３Ｃの値は、顧客コンピュータ２００のクロックに従って、メッセージＣＳ１が組立てらて、サーバコンピュータ１００に送られた日付と時間を表示する。ラベル値ペア４８１３Ｃに関連する値は領域２５６Ｃに蓄積される。
【０８２５】
ラベル値ペア４８１３Ｄはラベルの“サーバキー”を有する。先に述べたとおり、顧客コンピュータ２００でメッセージＣＳ１の不透明ラベル値ペア４８１７を暗号化するために使用されるＤＥＳキー／ＩＶペアは、サーバコンピュータ１００のＲＳＡパブリックキーを使用して暗号化される。ラベル値ペア４８１３Ｄは、サーバプライベートキーデータ構造１６０に蓄積されている対応するＲＳＡプライベートキーをさす。
【０８２６】
ラベル値ペア４８１３Ｅはラベルの“サービスカテゴリ”を有する。ラベル値ペア４８１３Ｅの値は、サーバコンピュータ１００で、メッセージＣＳ１を、特別なサービスカテゴリのメッセージを操作するサーバコンピュータ１００内のプロセッサに送るのに使用されるラベルである。
【０８２７】
ラベル値ペア４８１７を以下に述べる。ラベル値ペア４８１７は、次に続く値が暗号化されたデータであることを意味するラベルの“不透明”を有する。ラベル値ペア４８１７の値は、ステップ８１３で符号化されたデータを表す。メッセージＣＳ１の不透明部（図９８）は次の通りである。
【０８２８】
ラベル値ペア４８１７Ａは、ラベルの“タイプ”を有する。ラベル値ペア４８１７Ａは、メッセージＣＳ１の不透明部の内容のラベルを設定するメッセージデータ構造１５０のレコードを示す。ラベル値ペア４８１７Ａの値は、顧客ユーザ２０３が閉鎖セッション処理４１１を表示する際のラベルを作る顧客アプリケーションソフトウエア２１０から得られる。
【０８２９】
ラベル値ペア４８１７Ｂはラベルの“サーバ日付”を有する。ラベル値ペア４８１７Ｂは、メッセージＣＳ１が組立てられた日付と時間を表示する。この日付と時間は、サーバコンピュータ１００のクロックに対する顧客コンピュータ２００の認識である。
【０８３０】
ラベル値ペア４８１７Ｃはラベルの“ソフトウエアバージョン”を有する。ラベル値ペア４８１７Ｃの値は、サーバコンピュータ１００と関連する顧客アプリケーションソフトウエア２１０のバージョンを表示し、顧客アプリケーションソフトウエア２１０に埋め込まれたデータから得られる。ラベル値ペア４８１７Ｃに関連す値も、領域２５６Ｄに蓄積される。
【０８３１】
ラベル値ペア４８１７Ｄは、ラベルの“レコードノート”を有する。ラベル値ペア４８１７Ｄの値は、現在の閉鎖セッション処理４１１に関連するサーバセッションデータ構造１３０に蓄積される追加のショートテキストノートである。ラベル値ペア４８１７Ｄの値は、顧客アプリケーションソフトウエア２１０からのプロンプトに対する顧客ユーザ２０３の応答から得られ、好ましくはディスプレイで表示しやすいように、６０文字に制限されている。レコードノートが開設セッション処理４０７の間に顧客ユーザによって作られる場合は、ラベル値ペア４８１７Ｄの値は、領域１３０Ｍにすでに蓄積されている値に加えられる。
【０８３２】
ラベル値ペア４８１７Ｅはラベルの“セッションＩＤ”を有する。ラベル値ペア４８１７Ｅに関連する値は、顧客セッションデータ構造２４０の領域２４０Ａから得られ、領域２５６Ｆに蓄積される。
【０８３３】
ラベル値ペア４８１７Ｆは、ラベルの“リクエスト−ログ”を有する。ラベル値ペア４８１７Ｆに関連する値は、“ＹＥＳ”または“ＮＯ”のいずれかである。ラベル値ペア４８１７Ｆは、顧客ユーザ２０３がステップ１８０２における取り引きのログを受領するために選ばれたか否かを反映している。ラベル値ペア４８１７Ｆの数値は顧客継続データ構造２５０の領域２５６Ｇ内に蓄積される。
【０８３４】
ラベル値ペア４８１７Ｇはラベル“キー”を有する。ラベル値ペア４８１７Ｈの値は、顧客個人１２０．１のＲＳＡパブリック／プライベートキーペアの対数係数部のハッシュである。ラベル値ペア４８１７Ｇの値は、サーバコンピュータ１００に、領域１２０Ｂ（図６）に維持されているＲＳＡパブリックキーが、メッセージＣＳ１（ラベル値ペア４８１７Ｈ）をサインするのに使用されているのと同じキーであることを確認させる。
【０８３５】
ラベル値ペア４８１７Ｈは、ラベルの“サイン”を有する。ラベル値ペア４８１７Ｉは、顧客個人１２０．１のデジタルサインを表す。メッセージＣＳ１について、ラベル値ペア４８１７Ｈの値が、顧客個人１２０．１のＲＳＡプライベートキーで暗号化されたラベル値ペア４８１３Ａ−４８１３Ｅ及びラベル値ペア４８１７Ａ−４８１７Ｇのアルファベト順のハッシュである。顧客個人１２０．１のＲＳＡプライベートキーは領域２２０Ｈから得られる。
【０８３６】
ステップ１８０３において、メッセージＣＳ１がメッセージ組立て処理８００に従って組立てられる。メッセージ組立て処理８００は、図４９を参照して、メッセージＲ１として前述している。一つの例外は、メッセージＣＳ１のコピーが領域２６５Ｈに蓄積されることである。
【０８３７】
図９６を再度参照すると、閉鎖セッション処理４１１は、ステップ１８０４で継続される。ここで、顧客コンピュータ２００は、メッセージＣＳ１をサーバコンピュータ１００に転送する。顧客コンピュータ２００は、サーバコンピュータ１００からの応答メッセージＣＳ２を待つ。
【０８３８】
ステップ１８０５で、サーバコンピュータ１００が、顧客コンピュータ２００からメッセージＣＳ１を受取り、メッセージＣＳ１に関するサーバメッセージアンラップ処理９００を実行することによってメッセージＣＳ１をアンラップする。サーバメッセージアンラップ処理９００は、図５２−５３に参照されるメッセージＲ１のところですでに述べた。一つの例外は、メッセージＣＳ１のコピーが領域１４０Ｅに蓄積されることである。
【０８３９】
ステップ１８０６では、ステップ９０４、９０９Ａ、９１２、９１４、９１５または９１６のテストのいずれかが、ステップ９０５で設定されたエラーフラッグを生じさせる場合、ステップ１８１４でサーバコンピュータ１００によってエラー処理処理が実行される。ステップ１８１４でのエラー処理のレベルが管理者による決定である間、最小限、サイン、フォーム、“致命的”な欠落が、顧客アプリケーションソフトウエア２１０で処理され得るコードを含む返答メッセージ及び、顧客ユーザ２０３によって読み取り得るメッセージの結果としてのソフトウエアチェック処理に戻ることが好ましい。ステップ１８１４におけるエラー処理処理が、特定のエラーコード（下記の返答メッセージＣＳ２の内容に関連して説明する）を有するフラッグの関連、及びテキストメッセージ（メッセージのデータ構造またはシステム管理者によって送られたメッセージのいずれか）の作成を必要とする。サーバコンピュータ１００は、次いで、下記に述べるものと類似のメッセージＣＳ２を作り、顧客コンピュータ２００にエラーコード及び全ての関連するメッセージを運ばせる。
【０８４０】
ステップ９０４、９０９Ａ、９１２、９１４、９１５及び９１６のテストがステップ９０５で設定されるエラーフラッグを生じなかった場合は、処理はステップ１８０７で継続される。ここでは、サーバコンピュータ１００が、ラベル値ペア４８１７Ｅで認定されたセッションを、領域１３０Ｌ内のステータスフラッグを“閉鎖”に設定することで無効にする（サーバデータ構造を更新する）。
【０８４１】
ステップ１８０９で、サーバソフトウエア１１０がサーバメッセージ組立処理１０００に基づいて応答メッセージＣＳ２を組立てる。サーバメッセージ組立て処理１０００似付いては、図５４を参照してメッセージＲ２としてすでに述べた。メッセージＣＳ２の内容（図９９及び１００）について以下に述べる。
【０８４２】
ラベル値ペア４９１３Ａは、ラベルのＩＤを有する。ラベル値ペア４９１３Ａの値は、顧客ユーザ２０３の個人ＩＤを表示する。ラベル値ペア４９１３Ａの値は、メッセージＣＳ１のラベル値ペア４８１３Ａの値から得られる。
【０８４３】
ラベル値ペア４９１３Ｂはラベルの“取り引き”を有する。ラベル値ペア４８１３Ｂの値は取り引き番号である。ラベル値ペア４９１３Ｂは、ラベル値ペア４８１３ＢにおけるメッセージＣＳ１で受け取ったものと同じである。
【０８４４】
ラベル値ペア４９１３Ｃはラベルの“日付”を有する。ラベル値ペア４９１３ＣはメッセージＣＳ１のラベル値ペア４８１３Ｃの値と同じ値である。
【０８４５】
ラベル値ペア４９１３Ｄはラベルの“サービス−カテゴリィ”を有する。ラベル値ペア４９１３ＤはメッセージＣＳ１のラベル値ペア４８１３Ｅの値と同じ値である。
【０８４６】
メッセージＣＳ２の不透明部の内容は図１００に示されており、ラベル値ペア４９１７Ａはラベルの“タイプ”を有する。ラベル値ペア４９１７Ａの値は、メッセージデータ構造２７０（図１７）のレコードを指し、メッセージＣＳ２の不透明部の内容のラベルを設定する。ラベル値ペア４９１７Ａはサーバソフトウエア１１０から得られる。
【０８４７】
ラベル値ペア４９１７Ｂはラベルの“サーバ日付”を有する。ラベル値ペア４９１７Ｂの値は、サーバコンピュータ１００のクロックに基づいたメッセージＣＳ２が組立てられた日付と時間である。
【０８４８】
ラベル値ペア４９１７Ｃは、ラベルの“応答コード”を有する。ラベル値ペア４９１７Ｃの値は、閉鎖セッション処理４１１が成功であったか失敗であったかを表示する。
【０８４９】
ラベル値ペア４９１７Ｄは、“ｓｗセベリティ”（ソフトウェアセベリティ）を有する。ラベル値ペア４９１７Ｄの値は、顧客アプリケーションソフトウエア２１０が更新される必要があるか否か、まだ更新できない（“警告”）またはもう更新できない（“致命的”）かを表示する。顧客アプリケーションソフトウエア２１０が現在使用されているものであれば、ラベル値ペア４９１７Ｄの値は零である。
【０８５０】
ラベル値ペア４９１７Ｅは、ラベルの“ｓｗメッセージ”（ソフトウェアメッセージ）を有する。ラベル値ペア４９１７Ｅは、“致命的”または“警告”ソフトウェアセベリティである場合に、顧客ユーザ２０３は何をすべきかについての指示を表示する。ラベル値ペア４９１７Ｅの値は、ラベル値ペア４９１７Ｄの値が０でない場合にのみ出現する。
【０８５１】
ラベル値ペア４９１７Ｆは、ラベルの“メッセージ”を有する。ラベル値ペア４９１７Ｆの数値は、ラベル値ペア４９１３Ｃ内で返信されたエラーまたは成功状態に関連付けられた自由なテキストメッセージであり、顧客ユーザ２０３に対して表示がなされる。
【０８５２】
ラベル値ペア４９１７Ｇは、ラベル“料金”を有する。ラベル値ペア４９１７Ｇの数値は、存在する場合、メッセージＣＳ１を処理するために顧客ユーザ２０３にチャージされる。
【０８５３】
ラベル値ペア４９１７Ｈはラベルの“金額”を有し、開設セッション処理中のセッションに当てられた金額から全ての支払及び手数料が差引かれた残りの電子ファンドの金額を表示する。メッセージＣＳ１の処理が成功すれば、ラベル値ペア４９１７Ｈで与えられる金額がコアッシュコンテナ領域１２０Ｇ．２に加えられる（図７）。
【０８５４】
メッセージＣＳ２の組立てがこれで完了する。
【０８５５】
図９６を再度参照すると、ステップ１８０９Ａで、サーバコンピュータ１００から顧客コンピュータ２００へメッセージＣＳ２が送信（伝送）される。
【０８５６】
ステップ１８１０において、顧客コンピュータ２００がサーバコンピュータ１００からメッセージＣＳ２を受取、メッセージアンラップ処理１１００を実行することによってメッセージＣＳ２をアンラップする。メッセージＣＳ２のメッセージアンラップ処理１１００は、図５７を参照してメッセージＲ２に関してすでに述べた。
【０８５７】
ステップ１８１１において、
（１）ステップ１１０５でエラーフラッグが生じたら、そのフラッグはステップ１８１１で検出され、メッセージＣＳ２の処理がステップ１８１２で終了する。顧客ユーザ２０３は、メッセージＣＳ２に関してなにも行われない。本発明では、顧客アプリケーションソフトウエア２１０内にメカニズムがあり、メッセージを作ってサーバコンピュータ１００に送る。このメッセージは、顧客が受け取ったＣＳ２メッセージと、そのメッセージを失敗させたものがなにかについての診断を含む。このメッセージに対する応答は、サーバコンピュータ１００で顧客コンピュータ２００に送られる。むしろ、問題がシステムにあるのかどうか、及び適当な訂正手段を取る必要があるかどうかを確実にするために、情報が使用される。
【０８５８】
（２）ステップ１１０５でエラーフラッグが設定されず、ステップ９０５でメッセージＣＳ１にエラーが検出された場合、ステップ１８１３で処理が継続されて、ラベル値ペア４７１７Ｃの内容がチェックされる。ラベル値ペア４９１７Ｃの値が、“成功”以外のものである場合、エラー処理ルーチンがステップ１８１５で行われ、顧客アプリケーションソフトウエア２１０にラベル値ペア４９１７Ｃの内容に関連するラベル値ペア４９１７Ｆに含まれるメッセージを表示させ、ラベル値ペア４９１７Ｃの値を読み取るとともに、その値に関連して何らかの処置を実施し；または、
（３）メッセージＣＳ１がステップ９０５でのチェックをパスし、ステップ１１０５でフラッグが設定されなかったたら、処理がステップ１８１６で継続して、顧客アプリケーションソフトウエア２１０が顧客データ構造２０２を次のように更新させる。
【０８５９】
ラベル値ペア４９１７からの金額が領域２２０Ｊに加えられる。
【０８６０】
顧客ログデータ構造２６０のレコード２６７は、次の用に更新される：ラベル値ペア４９１３Ａからの個人ＩＤが領域２６７Ｈに蓄積される。ラベル値ペア４９１３Ｂからの取り引き番号は領域２６７Ｂに蓄積される。ラベル値ペア４９１７Ｂからの日付は領域２６７Ｃに蓄積される。ラベル値ペア４９１７Ｃからの応答コードは領域２６７Ｆに蓄積される。ラベル値ペア４９１７Ｄからのソフトウエアセベリティコードは、領域２６７Ｄに蓄積される。ラベル値ペア４９１７Ｅからのソフトウエアメッセージは領域２６７Ｅに蓄積される。ラベル値ペア４９１７Ｆからの応答コードに関連する応答メッセージは領域２６７Ｇに蓄積される。ラベル値ペア４９１７Ｇからの料金は領域２６７Ｋに蓄積される。ラベル値ペア４９１７Ｈからの金額は領域２６７Ｉに蓄積される。
【０８６１】
メッセージＣＳ１の中のリクエストログのラベル値ペア４８１７Ｆの値が“ｙｅｓ”に設定されたら、そのセッションが閉鎖するまでの間に顧客ユーザ２０３によって始められたすべての取り引きのレポートが顧客コンピュータ２００に届けられる。
【０８６２】
処理は、ステップ１８１７に引き継がれ、閉鎖セッション処理４１１が終了する。
【０８６３】
Ｖ．サンプル取り引き
以下は、サンプル取り引きに関するものである。サンプル取り引きにおいては、顧客ユーザ２０３と販売者ユーザ３０３は、登録処理処理４０１、手段結合処理４０３、ロード／アンロード処理４０５、セッション開設処理４０７、取り引き支払処理４０９、セッション閉鎖処理４１１をそれぞれ行う。これらの処理を実行することによって、顧客ユーザ２０３は、アクメプロダクツから一組の“ロケットシューズ”を購入することができる。
【０８６４】
本発明においては、価値がないとされているメッセージラベル値ペアが、好ましくは、転送されたメッセージに含まれていない。本発明のこの特性は、下記のサンプルメッセージに反映されている。
【０８６５】
Ａ．登録処理４０１
登録処理４０１は、顧客と販売者について同じである。顧客ユーザ２０３の登録についてのみ以下に述べる。
【０８６６】
顧客ユーザ２０３は、顧客アプリケーションソフトウエア２１０を走らせて、一又はそれ以上の法的な同意のために、顧客ユーザ２０３をプロンプトさせる。法的な同意書に対する顧客ユーザ２０３の同意を求めるリクエストに応じて、顧客ユーザ２０３が“同意した”を選択する。顧客アプリケーションソフトウエア２１０が、次いで、所望の個人ＩＤ、顧客ユーザ２０３のＥメールアドレス、どんなエラーメッセージも表示される所望の言語、その個人に関連する自動閉鎖パスフレーズ、その個人のデフォルト通貨についての情報のために顧客ユーザ２０３をプロンプトする。
【０８６７】
所定の個人ＩＤのためのプロンプトに応じて、顧客ユーザ２０３は“ｂｒｉａｎｂ”を選択する。Ｅメールアドレスに関するプロンプトに答えて、顧客ユーザ２０３は“ｂｒｉａｎｂ＠ｒｅａｌｉｔｙ．ｃｏｍ”と入力する。エラーメッセージ用の所望の言語に対するプロンプトに答えて、顧客ユーザ２０３は“Ｅｎｇｌｉｓｈ”と入力する。個人に関連するオートクローズパスフレーズに対するプロンプトに答えて、顧客ユーザ２０３は“ｂａｄｎｅｗｓ”と入力する。個人のディフォルト通貨に対するプロンプトに答えて、顧客は“Ｕ．Ｓ．ｄｏｌｌａｒｓ”と入力する。
【０８６８】
顧客ユーザ２０３は、パスワードを入力するべくプロンプトされる。顧客ユーザ２０３はついで、“ｅｎｔｅｒｐｒｉｓｅ”を入力する。顧客ユーザは、パスワードを再入力して、応じるためにプロンプトされる。顧客アプリケーションソフトウエア２１０は、次いで、ＲＳＡパブリック／プライベートキーペアを発生し、上述したメッセージＲ１の製作を開始する。このメッセージは次のものを含む。
【０８６９】
取り引き番号                    ２２７７０５２
日付                            １９９５１１０５１００５０５４５６
サーバキー                      ＣＣ１００１
タイプ                          登録
サービスカテゴリ                ａｄｍｉｎ
不透明：
サーバ日付                  １９９５１１０５１００５０６６５６
ソフトウエアバージョン      １．０ｗｉｎ
内容言語                    ｅｎ−ｕｓ
デフォルト通貨              ｕｓｄ
要求されるＩＤ              ＢｒｉａｎＢ
Ｅメール                    ｂｒｉａｎｂ＠ｒｅａｌｉｔｙ．ｃｏｍ
同意                        ７５
オートクローズパスフレーズ  ｂａｄｎｅｗｓ
ｐｕｂｋｅｙ                ａｓｌｆｆｌａｓｄｆｌａｓｊｙｌｆｄｊｓｌｙａｆｋｊｆｊｓｌａｋｊｆｙｌｄｓｋａｊｙｆｌｋａｊｓｙｌｄｆｊｌａｓｋｆａｓｌｆｊｆｌａｓｄｆｌａｓｊｙｋｊｆｊｓｌａｋｊｆｊｕｙｒｅｓｄｆｕｔｋｐｏｉｕｑｗａｓｄｅｒｆｇｔｈｙｕｊｉｋｏｌｐｋｍｎ７５ｃｘｚｌ
サイン                      ｓｄｊｆｌｓａｊｆｌｋｓｊｄｌｋｆｊｌｓａｋｊｆｌｋｄｓａｊｆｌｋｓｊｆｊｓｌａｋｊｆｙｌｄｓｋａｊｙｊｆｊｓｌａｋｊｆｙｌｄｓｋａｊｙｄｊｌｆａｓｄｌｏｐｒｙｔｕａｚｘｃｎｍｋｌｏｋｍｎｕｈｂｖｇｙｔｆｃｄｘｓｚａｑｗｅ３ｒ５ｔ６ｙ７ｕ８ｉｏ１０９ｋｍ＋
【０８７０】
サーバコンピュータ１００は、サーバメッセージログ１４０中に新規レコード１４０．１を作り、領域１４０ＥにメッセージＲ１のコピーを蓄積する。サーバコンピュータ１００は、次いで、メッセージＲ１をアンラップし、上記に述べたとおりに処理して、以下の通り、サーバメッセージログ１４０のレコード１４０．１を更新する。
【０８７１】
個人ＩＤ                        ｂｒｉａｎｂ−２３
セッションＩＤ
取り引き番号                    ２２７７０５２
インデックス
入ってくるメッセージ            メッセージＲ１のコピー
応答メッセージ
【０８７２】
サーバコンピュータ１００は、次いで、顧客ユーザ２０３に要求されたＩＤをいまある個人のリストと比較する。要求されている個人ＩＤが単一の者であれば、顧客ユーザ２０３に関する個人レコード１２０．１を作る。
【０８７３】
個人ＩＤ                        ｂｒｉａｎｂ−２３
Ｅメール                        ｂｒｉａｎｂ＠ｒｅａｌｉｔｙ．ｃｏｍ
パブリックキー                  ａｓｌｆｊｆｌａｓｄｆｌａｓｊｙｌｆｄｊｓｌｙａｆｋｊｆｊｓｌａｋｊｆｙｌｄｓｋａｊｙｆｌｋａｊｓｙｌｄｆｊｌａｓｋｆａｓｌｆｊｆｌａｓｄｆｌａｓｊｙｋｊｆｊｓｌａｋｊｆｊｕｙｒｅｓｄｆｕｔｋｐｏｉｕｑｗａｓｄｅｒｆｇｔｈｙｕｊｉｋｏｌｐｋｍｎ７５ｃｘｚｌ
日付登録                        １９９５１１０５１００５０７５５６
内容言語                        ｅｎ−ｕｓ
オートクローズパスフレーズ      ｂａｄｎｅｗｓ
キャッシュコンテナデータ
同意
手段結合データ
【０８７４】
サーバコンピュータ１００は、次いでメッセージＲ２を組み込み、サーバメッセージログデータ構造１４０の記録１４０．１の領域１４０Ｆにそのコピーを蓄積し、メッセージＲ２を顧客コンピュータ２００に転送する。メッセージＲ２は次のものを含む。
【０８７５】
取り引き                        ２２７７０５２
日付                            １９９５１１０５１００５０５４５６
タイプ                          ｒｅｇｉｓｔｒａｔｉｏｎ−ｒｅｓｐｏｎｓｅ
サービスカテゴリ                ａｄｍｉｎ
不透明
サーバデータ                １９９５１１０５１００５０７５５６
要求されるＩＤ              ｂｒｉａｎｂ
応答ＩＤ                    ｂｒｉａｎｂ−２３
Ｅメール                    ｂｒｉａｎｂ＠ｒｅａｌｉｔｙ．ｃｏｍ
応答コード                  ｓｕｃｃｅｓｓ
ｐｕｂｋｅｙ                ａｓｌｆｊｆｌａｓｄｆｌａｓｊｙｌｆｄｊｓｌｙａｆｋｊｆｊｓｌａｋｊｆｙｌｄｓｋａｊｙｆｌｋａｊｓｙｌｄｆｊｌａｓｋｆａｓｌｆｊｆｌａｓｄｆｌａｓｊｙｋｊｆｊｓｌａｋｊｆｊｕｙｒｅｓｄｆｕｔｋｐｏｉｕｑｗａｓｄｅｒｆｇｔｈｙｕｊｉｋｏｌｐｋｍｎ７５ｃｘｚｌ
ｓｗセビリティ              ｗａｒｎｉｎｇ
ｓｗメッセージ              Ｎｅｗ  ｓｏｆｔｗａｒｅ  ｉｓ  ａｖａｉｌａｂｌｅ
【０８７６】
顧客コンピュータ２００は、上述したとおり、メッセージＲ２をアンラップして処理する。顧客アプリケーションソフト２１０は、顧客個人データ構造２２０内に、以下の個人“ｂｒｉａｎｂ−２３”のレコードを作成する。
【０８７７】
個人ＩＤ                    ｂｒｉａｎｂ−２３
ｅメール                    ｂｒｉａｎｂ＠ｒｅａｌｉｔｙ．ｃｏｍ
パブリックキー              ａｓｌｆｊｆｌａｓｄｆｌａｓｊｙｌｆｄｊｓｌｙａｆｋｊｆｊｓｌａｋｊｆｙｌｄｓｋａｊｙｆｌｋａｊｓｙｌｄｆｊｌａｓｋｆａｓｌｆｊｆｌａｓｄｆｌａｓｊｙｋｊｆｊｓｌａｋｊｆｊｕｙｒｅｓｄｆｕｔｋｐｏｉｕｑｗａｓｄｅｒｆｇｔｈｙｕｊｉｋｏｌｐｋｍｎ７５ｃｘｚｌ
登録日                      １９９５１１０５１００５０７５５６
内容言語                    ｅｎ−ｕｓ
オートクローズパスフレーズ  ｂａｄｎｅｗｓ
キャッシュコンテナデータ
同意                        ７５
手段結合データ
ソフトウエアオプション      デフォルト
プライベートキー            ８ｉｋｕｈｂｒｆｖｅｄｃ３ｅｒｆｇ５６ｙｕ８７ｙｇ０ｏｋｍｓｄｆｇｈｊｋ３ｅｒｆｑｗｅｒｔｙ７ｙｕｈ８ｉｊ７ｙｆｇｄｃｓｄｆｖ６ｙ８９ｉ０ｏｏｌｕｊｍｈｎｃｖｚｘ２ｗｄｐｌｋｊｈｇｆｆｄｓａｗｅ／９＋４５ｒｆ６ｔｇ７ｙｈｋｊｈｇｆ２ｗａａｚ４ｅｄ５ｔｇｆｖ
【０８７８】
Ｂ．手段結合処理４０３
手段結合処理４０３は、顧客及び販売者について同じものである。顧客ユーザ２０３による手段の結合に関してのみ述べる。
【０８７９】
手段結合処理４０３は、顧客ユーザ２０３がクライエントアプリケーションから手段結合操作を選択した時に開始する。顧客アプリケーションソフトウエア２１０は、ディフォルト状態のネーム及びアドレスについて顧客ユーザ２０３をプロンプトする。顧客ユーザ２０３はついで、“Ｂｒｉａｎ  Ｂｒｉａｎ，１００  Ｅｌｍ  Ｓｔｒｅｅｔ，  Ｎｉｃｅ  Ｐｌａｃｅ，  ＶＡ  ０００００  ＵＳＡ”と入力する。
【０８８０】
顧客ユーザ２０３は、“ｂａｎｋ  ａｃｃｏｕｎｔ”を選択し、銀行口座番号、銀行口座がその個人のオートクローズ口座であるかどうか、一つ以上の法的な契約に対する顧客ユーザ２０３の同意、の情報に関してプロンプトされる。顧客ユーザ２０３は、手段の所有者の名前、住所電話番号を帰するために必要な情報の変更を促される。
【０８８１】
銀行口座に関するプロンプトに応じて、顧客ユーザ２０３は“０５９０１３２１８１７５６５４”と入力する。その口座がその個人のオートクローズ口座であるかどうかに付いての応答に対するプロンプトに応じて、顧客ユーザ２０３は“ｙｅｓ”と入力する。表示された名前、アドレス、電話番号を変更するプロンプトに応じて、顧客ユーザ２０３は断る。
【０８８２】
口座の記載事項についてのプロンプトに応じて、顧客ユーザ２０３は“Ｍｙ  ｆｕｎ  ａｃｃｏｕｎｔ”と入力する。顧客ユーザ２０３の法的な契約に対する同意に関するプロンプトに応じて、顧客は“ａｇｒｅｅｄ”と入力する。顧客ユーザ２０３はサーバコンピュータの“ｂｉｎｄ  ｉｎｓｔｒｕｍｅｎｔ”にプロンプトされる。この動作は、上述したとおり、顧客アプリケーションソフトウエア２１０にメッセージＢＩ１を作らせる。このメッセージは次の事項を含む。
【０８８３】
ＩＤ                            ｂｒｉａｎｂ−２３
取り引き番号                    ２２７７０５３
日付                            １９９５１１２５１００５１０５８９
サーバキー                      ＣＣ１００１
サービスカテゴリ                ａｄｍｉｎ
不透明
タイプ                      ｂｉｎｄ−ｉｎｓｔｒｕｍｅｎｔ
サーバ日付                  １９９５１１２５１００５１２６８９
ソフトウエアバージョン      １．０ｗｉｎ
手段番号                    ０５９０１３２１８１７５６５４
手段タイプ                  ｄｄａ
手段カテゴリ                ｄｄａ
手段機能                    ｌｏａｄ，ｕｎｌｏａｄ
手段ソルト                  ４ｂｎｍ８ｐｏｅｔｑｖ＝
手段名                      Ｂｒｉａｎ  Ｑ．  Ｂｒｉａｎ
手段ストリート              １００  ｅｌｍ  Ｓｔｒｅｅｔ
手段シティ                  Ｎｉｃｅ  Ｐｌａｃｅ
手段州                      ＶＡ
手段郵便コード              ０００００
手段国                      ＵＳＡ
契約                        ７５，１２３
オートクローズ              ｙｅｓ
オートクローズパスフレーズ  ｂａｄｎｅｗｓ
キー                        ４／Ｒｏｏｓ＋２ａｃ８＝
サイン                      ｓｊａｄｌｋａｓｌｚｆｚｌｋｓａｊｚｌｆｆｚｌｋｓａｊｚｌｆｆｚｌｋｓａｊｚｌｆｆｚｌｋｓａｊｚｌｆｆｚｌｋｓａｊｚｌｆｆｚｌｋｓａｊｚｌｆｊｓｚｌｆｊｓｌｄｆｊｌｓｋｆｌｓａｊｆｓａ／９ｉｕ７ｈｇｆｃｅ／ｊｕｙ＋ｐｏｉｕｈｎｂｖｃｄｅｗｑａｚｘｐ
【０８８４】
サーバコンピュータは、新規レコード１４０．２をサーバメッセージログ１４０内に作り、メッセージＢＩ１のコピーを領域１４０Ｅに蓄積する。サーバコンピュータ１００は、次いで、メッセージＢＩ１をアンラップして上述したとおり、それを処理し、サーバメッセージログ１４０のレコード１４０．２を次のように更新する。
【０８８５】
個人ＩＤ                        ｂｒｉａｎｂ−２３
セッションＩＤ
取り引き番号                    ２２７７０５３
インデックス
入ってくるメッセージ            ｃｏｐｙ  ｏｆ  ＢＩ１
応答メッセージ
【０８８６】
サーバコンピュータ１００は、次いで、オートクローズ領域１２０Ｆに“ｂａｄｎｅｗｓ”を入力し、手段結合データを領域１２０Ｈに加えることによって、個人“ｂｒｉａｎｂ−２３”のサーバ個人データ構造１２０．１を次のように更新する。
【０８８７】
個人ＩＤ                        ｂｒｉａｎｂ−２３
手段タイプ                      ｄｄａ
手段番号                        ａｓｗｅｒｆｃｖｇ［ｅｎｃｒｙｐｔｅｄ］
手段特有通貨                    ｕｓｄ
手段プリフィックス              ０５５６５４
法的契約                        ７５，１２３
手段ハッシュ                    ｕｏｕ９８０ｙ５７ｒｄ９８ｊｎｈｇｔ５４ｅ３＝＝
発行人認識番号                  ７３５９８０
手段ホルダ名                    ｌｋｐｉｐｏｉｐｏｉ［ｅｎｃｒｙｐｔｅｄ］
手段ホルダアドレス              ｏｉｐｉｐｏｉｐｉｐｏ［ｅｎｃｒｙｐｔｅｄ］
手段結合日付                    １９９５１１２５１００５１３５８３
手段を最初に使用した日
結合状態                        ｃｒｅａｔｅｄ
売取引可                        ｎｏ
売取引制限
クレジット取引可                ｎｏ
クレジット取引制限
ロードキャッシュ可              ｙｅｓ
ロードキャッシュ取引制限        ｕｓｄ１０００．００
アンロードキャッシュ可          ｙｅｓ
アンロードキャッシュ取引制限    −１
オートクローズ結合              ｙｅｓ
【０８８８】
次いで、サーバコンピュータ１００はメッセージＢＩ４を組立て、そのコピーをサーバメッセージログ１４０のレコード領域１４０Ｆに蓄積し、メッセージＢＩ４を顧客ユーザ２０３に送る。メッセージＢＩ４は以下のものを含む。
【０８８９】
個人ＩＤ                        ｂｒｉａｎｂ−２３
取り引き番号                    ２２７７０５３
日付                            １９９５１１２５１００５１０５８９
サービスカテゴリ                ａｄｍｉｎ
不透明
タイプ                      ｂｉｎｄ−ｉｎｓｔｒｕｍｅｎｔ−ｒｅｓｐｏｎｓｅ
サーバ日付                  １９９５１１２５１００５１３５８３
応答コード                  ｓｕｃｃｅｓｓ
ソフトウェアセベリティ      ｗａｒｎｉｎｇ
ソフトウェアメッセージ      Ｎｅｗ  ｓｏｆｔｗａｒｅ  ｉｓ  ａｖａｉｌａｂｌｅ
手段タイプ                  ｄｄａ
手段発行人                  Ｅａｓｔ  Ｂａｎｋ  ｏｆ  ｔｈｅ  Ｍｉｓｓｉｓｓｉｐｐｉ
手段発行人の国              ｕｓ
手段機能                    ｌｏａｄ，ｕｎｌｏａｄ
手段番号                    ０５９０１３２１８１７５６５４
手段タイプ                      ｄｄａ
手段発行人                  Ｅａｓｔ  Ｂａｎｋ  ｏｆ  ｔｈｅ  Ｍｉｓｓｉｓｓｉｐｐｉ
手段発行人の国              ｕｓ
手段機能                    ｌｏａｄ，ｕｎｌｏａｄ
手段ソルト                  ４ｂｎｍ８ｐｏｅｔｑｖ＝
【０８９０】
顧客コンピュータ２００はメッセージＢＩ４をアンラップし、上述したとおりそれを処理して、領域２２０Ｊへ手段結合データを加えることによって、個人“ｂｒｉａｎｂ−２３”に関する顧客個人データ構造２２０内のレコード２２０．１を次のように更新する。
【０８９１】
個人ＩＤ                        ｂｒｉａｎｂ−２３
手段番号                        ０５９０１３２１８１７５６５４
手段明細                        ｍｙ  ｆｕｎ  ａｃｃｏｕｎｔ
ホルダ名                        Ｂｒｉａｎ  Ｂｒｉａｎ
ホルダアドレス                  １００  Ｅｌｍ  Ｓｔｒｅｅｔ
ホルダシティ                    Ｎｉｃｅ  Ｐｌａｃｅ，  ＶＡ
ホルダ国                        ＵＳＡ
ホルダ郵便コード                ０００００
ホルダ国コード                  １
ホルダ地域コード                ７０３
ホルダ電話番号                  ５５５−１２１２
通貨                            ｕｓｄ
取り引き売フラッグ              ｎｏ
取り引きクレジットフラグ        ｎｏ
アンロードファンドフラグ        ｙｅｓ
ロードファンドフラグ            ｙｅｓ
ステータス                      ａｐｐｒｏｖｅｄ
手段循環データ                  ｉｎｓｔｒｕｍｅｎｔ−ｎｕｍｂｅｒ：０５９０１３２１８１７５６５４  ｉｎｓｔｒｕｍｅｎｔ−ｔｙｐｅ：ｄｄａ  ｉｎｓｔｒｕｍｅｎｔ−ｉｓｓｕｅｒ：ＥａｓｔＢａｎｋｏｆｔｈｅＭｉｓｓｉｓｓｉｐｐｉ  ｉｎｓｔｒｕｍｅｎｔ−ｉｓｓｕｅｒ−ｃｏｕｎｔｒｙ：ｕｓ  ｉｎｓｔｒｕｍｅｎｔ−ｆｕｎｃｔｉｏｎｓ：ｌｏａｄ，ｕｎｌｏａｄ  ｉｎｓｔｒｕｍｅｎｔ−ｓａｌｔ：４ｂｎｍ８ｐｏｅｔｑｖ＝
契約                            ７５，１２３
【０８９２】
Ｃ．ロード／アンロード処理４０５
ロード／アンロード処理４０５は、顧客ユーザ２０３が顧客アプリケーションソフトウエア２１０からロード操作を選択することによって開始する。顧客アプリケーションソフトウエア２１０は、個人ｂｒｉａｎｂ−２３へファンドをロードする手段に関する顧客ユーザ２０３をプロンプトする。顧客ユーザ２０３は“ｍｙ  ｆｕｎ  ａｃｃｏｕｎｔ”を選択し、転送すべき金額についてプロンプトされる。金額についてのプロンプトに応じて、顧客ユーザ２０３は＄１００．００を入力する。顧客アプリケーションソフトウエア２１０は、次いで、前述したとおりメッセージＬＵ１を組込む、サーバコンピュータ１００に送る。メッセージＬＵ１は、次の情報を含む。
【０８９３】
ＩＤ                            ｂｒｉａｎｂ−２３
取り引き番号                    ２２７７０５４
日付                            １９９５１１０５１０３５１７６８８
サーバキー                      ＣＣ１００１
サービスカテゴリィ              ｃａｓｈ
不透明
タイプ                      ｌｏａｄ−ｕｎｌｏａｄ−ｆｕｎｄｓ
サーバ日付                  １９９５１１０５１０３５１９７８８
金額                        ｕｓｄ１００．００
キー                        ４／Ｒｏｏｓ＋２ａｃ８＝
サイン                      ｌｌｊｗｌｒｊｗｌｉｍｃｅｉｗｌｃｅｆｊｄｗｅｗｌｅｉｃｉｗｌｃｅｆｊｄｗｅｗｌｅｉｃｉｗｌｃｅｆｊｄｗｅｗｌｅｉｃｊｗｌｉｅｒｑｉｑｈｏｄｑｈｏｉｗｅｈｑｘｑ２３ｊｉｏｅｒｐｏｉｕｋｌｈｇｒｑｗｅｒ７ｙ６ｔｇｈｊｕｉｋｏ０９ｐ＋ｐｏ９ｉｊｈｔ５ｒｅ３ｗｘ
【０８９４】
サーバコンピュータはサーバメッセージログ１４０に新規レコード１４０．３を作り、メッセージＬＵ１のコピーを領域１４０Ｅに蓄積する。サーバコンピュータ１００はついで、メッセージＬＵ１をアンラップして上述したようにそれを処理し、サーバメセージログ１４０のレコード１４０．３を次のように更新する。
【０８９５】
個人ＩＤ                        ｂｒｉａｎｂ−２３
セッションＩＤ
取り引き番号                    ２２７７０５４
インデックス
入ってくるメッセージ            ｃｏｐｙ  ｏｆ  ＬＵ１
応答メッセージ
【０８９６】
サーバコンピュータ１００は、次いで、領域１２０Ｇに以下のようにキャッシュコンテナデータを加えることで顧客個人レコード１２０．１を更新する。
【０８９７】
通貨                            ｕｓｄ
可能なバランス                  １００．０
オンホールドバランス            ０．００
代理人口座番号                  １１３３１７８３４
【０８９８】
サーバコンピュータ１００は次いで、メッセージＬＵ２を組立てて、そのコピーをサーバメッセージログ１４０のレコード１４０．３の領域１４０Ｅに蓄積し、顧客コンピュータ１００へメッセージＬＵ２を転送する。メッセージＬＵ２は以下の情報を含んでいる。
【０８９９】
ＩＤ                            ｂｒｉａｎｂ−２３
取り引き番号                    ２２７７０５４
日付                            １９９５１１０５１０３５１７６８８
サービスカテゴリ                ｃａｓｈ
不透明
タイプ                          ｌｏａｄ−ｕｎｌｏａｄ−ｒｅｓｐｏｎｓｅ
サーバ日付                  １９９５１１０５１０３６０７９１４
金額                        ｕｓｄ１００．００
応答コード                  ｓｕｃｃｅｓｓ
メッセージ                  ｆｕｎｄｓ−ｌｏａｄｅｄ
ソフトウェアセベリティ      ｗａｒｎｉｎｇ
ソフトウェアメッセージ      Ｎｅｗ  ｓｏｆｔｗａｒｅ  ｉｓ  ａｖａｉｌａｂｌｅ
料金                        ｕｓｄ０．０
バランス                    ｕｓｄ１００．００
セッションファンド          ｕｓｄ０．００
オンホールド                ｕｓｄ０．００
【０９００】
顧客コンピュータ２００はメッセージＬＵ２をアンラップして、上述したとおりそれを処理し、“ｕｓｄ１００”をキャッシュコンテナ領域２２０Ｊに入力することによって、個人“ｂｒｉａｎｂ−２３”に関する顧客個人データ構造２２０のレコード２２０．１を更新する。
【０９０１】
Ｄ．セッション開設処理４０７
セッション製作処理４０７は、顧客ユーザ２０３が顧客アプリケーションソフトウエア２１０からセッション開設操作を選択した時に開始する。顧客アプリケーションソフトウエア２１０は、所望のセッション寿命を分で、セッション中に行われる取り引きの最大数、セッション中に入手可能なファンドの金額、及びそのセッションに関するメモの情報に関して顧客ユーザ２０３をプロンプトする。
【０９０２】
所望のセッションの寿命分に関するプロンプトに応じて、顧客ユーザ２０３は“１２０”を入力する。そのセッション中に行われる取り引きの最大数に関するプロンプトに応じて、顧客ユーザ２０３は“２５”を入力する。そのセッション中に入手可能なファンドの金額に関するプロンプトに応じて、顧客は“７０．００”を入力する。そのセッションのメモに関するプロンプトに応じて、顧客ユーザ２０３は“Ｃｈｒｉｓｔｍａｓ  ｓｈｏｐｐｉｎｇ  ｓｐｒｅｅ”を入力する。
【０９０３】
顧客２００は、次いで、メッセージＯＳ１を組立てて、サーバコンピュータ１００にそれを送る。メッセージＯＳ１は次の情報を含む。
【０９０４】
ＩＤ                            ｂｒｉａｎｂ−２３
取り引き番号                    ２２７７０５５
日付                            １９９５１１０５１０４１３１９１４
サーバキー                      ＣＣ１００１
サービスカテゴリィ              ｃａｓｈ
不透明
タイプ                      ｏｐｅｎ−ｓｅｓｓｉｏｎ
サーバ日付                １９９５１１０５１０４１３４０１４
ソフトウエアバージョン      １．０ｗｉｎ
レコードノート              Ｃｈｒｉｓｔｍａｓ  ｓｈｏｐｐｉｎｇ  ｓｐｒｅｅ
金額                        ｕｓｄ７０．００
キー寿命                    ０１２０
キー使用制限                ２５
キー                        ４／Ｒｏｏｓ＋２ａｃ８＝
サイン                      ｋａｓｄｊｆｌａｓｊｄｚｌｋｆｕｏｉ５７９３８４ｎｇ０９ｋｄｆｇｊ０９ｅｕｒｔｎｄｆｂｎｂ９０９ｎｌｋｔｕｊｗｊｓｉ８６ｔｊｆ９０８６ｐｔｊｆｇｒ６ｊｉｒ４６ｅｄｃｌｏｐｌａｓｚｘｅｗｑｎｙｍ＋０９ｕｈｇｔｒ４３２ｚｘｃｖｂｈｇｒｅｗｑ１２ｒｇ８ｍｋｏ０１
【０９０５】
サーバコンピュータは、サーバメッセージログ１４０内に新規レコード１４０．４を作り、領域１４０ＥにメッセージＯＳ１のコピーを蓄積する。サーバコンピュータ１００は、次いで、上述したとおりメッセージＯＳ１をアンラップして、それを処理し、サーバメッセージログ１４０のレコード１４０．４を次の通り更新する。
【０９０６】
個人−ＩＤ                      ｂｒｉａｎｂ−２３
セッション−ＩＤ
取り引き番号                    ２２７７０５５
インデックス
入ってくるメッセージ            ｃｏｐｙ  ｏｆ  ＯＳ１
応答メッセージ
【０９０７】
サーバコンピュータ１００は、個人ＩＤ“ｂｒｉａｎｂ−２３”に関連するサーバセッションデータ構造１３０内にレコード１３０．１を作る。レコード１３０．１は次の情報を含む。
【０９０８】
セッションＩＤ                  Ｊ／Ｐｉ＋ｓｑＧｔｇＨ＝
セッションキー                  ７ｕｊｍ８ｉｋｔｇＴＲｒｆｖ３ｅｄｃ９ｏｌｋ＝＝
セッションソルト                ａａ５ｙｈ８ｆｄｋｌ＋＝
通貨                            ｕｓｄ
開設金額                        ７０．００
残高                            ７０．００
開設日                          １９９５１１０５１０４１３７１７９
閉鎖日
キー使用制限                    １５
キー寿命                        ００６０
個人ＩＤ                        ｂｒｉａｎｂ−２３
ステータス                      ｏｐｅｎ
メモ                            ｃｈｒｉｓｔｍａｓ  ｓｈｏｐｐｉｎｇ  ｓｐｒｅｅ
取り引き日
【０９０９】
サーバコンピュータ１００も、個人“ｂｒｉａｎｂ−２３”に関連するサーバ個人データ構造１２０に、上述したキャッシュコンテナの取り引き可能なバランス領域１２０Ｇ．２から金額“１００．００”から金額“７０．００”を差引くことによってレコード１２０．１を更新する。サーバコンピュータはメッセージＯＳ２を組立てて、レコード１４０．４の領域１４０Ｆそのコピーを蓄積し、顧客コンピュータ２００へメッセージＯＳ２を転送する。メッセージＯＳ２は以下の情報を含む。
【０９１０】
ＩＤ                            ｂｒｉａｎｂ−２３
取り引き                        ２２７７０５５
日付                            １９９５１１０５１０４１３１９１４
サービスカテゴリ                ｃａｓｈ
不透明
タイプ                          ｏｐｅｎ−ｓｅｓｓｉｏｎ−ｒｅｓｐｏｎｓｅ
サーバ日付                  １９９５１１０５１０４１３７１７９
応答コード                  ｓｕｃｃｅｓｓ
ソフトウエアセベリティ      ｗａｒｎｉｎｇ
ソフトウエアメッセージ      Ｎｅｗ  ｓｏｆｔｗａｒｅ  ｉｓ  ａｖａｉｌａｂｌｅ
キー寿命                    ００６０
キー使用制限                １５
金額                        ｕｓｄ７０．００
外貨交換                    ｃａｄ０．６０  ｇｂｐ  １．５５
セッションファンド          ｕｓｄ７０．００
バランス                    ｕｓｄ３０．００
オンホールド                ｕｓｄ０．００
手数料                      ｕｓｄ０．００
セッションＩＤ              Ｊ／Ｐｉ＋ｓｑＧｔｇＨ＝
セッションキー              ７ｕｊｍ８ｉｋｔｇＴＲｒｆｖ３ｅｄｃ９ｏｌｋ＝＝
セッションソルト            ａａ５ｙｈ８ｆｄｋｌ＋＝
【０９１１】
顧客コンピュータ２００は、上述したとおりメッセージＯＳ２をアンラップして、それを処理し、ついで、個人“ｂｒｉａｎｂ−２３”に関連する顧客セッションデータ構造に、以下の通り新規レコード２４０．１をつくる。
【０９１２】
セッションＩＤ                  Ｊ／Ｐｉ＋ｓｑＧｔｇＨ＝
セッションキー                  ７ｕｊｍ８ｉｋｔｇＴＲｒｆｖ３ｅｄｃ９ｏｌｋ＝＝
セッションソルト                ａａ５ｙｈ８ｆｄｋｌ＋＝
通貨                            ｕｓｄ
開設金額                        ７０．００
通貨金額                        ７０．００
開設日付                        １９９５１１０５１０４１３７１７９
キー使用制限                    １５
キー寿命                        ００６０
メモ                            ｃｈｒｉｓｔｍａｓ  ｓｈｏｐｐｉｎｇ  ｓｐｒｅｅ
【０９１３】
販売者ユーザ３０３がセッションを開設する処理は、販売者がその個人キャッシュコンテナからセションレジスタへファンドを転送しないことを除いて同じで
ある。従って、販売者は、ファンドを受け取ることを期待し、販売セッションにおいて、それに対して受取可能なファンドは必要ない。サーバコンピュータ１００は、販売者ユーザ３０３の個人“Ａｃｍｅ−１２”に関連するサーバセッションデータ構造１３０に、つぎのようにレコード１３０．２を作る。
【０９１４】
セッションＩＤ                  ｋ／ｉＬ＋ｔｐＰｍＨｇ＝
セッションキー                  ３ｅｊｋＰＯＭ７Ｔ＋ｐｏＢＱＷ９ｉｐｑｗＺ８＝＝
セッションソルト                ｑｗ８９ｌｋ３ｖＡＺ＝＝
通貨                            ｕｓｄ
開設金額                        ０．００
残高                            ０．００
開設日                          １１０５９５０６３０１２１４７
閉鎖日
キー使用制限                    ０９０
キー寿命                        ０９６０
個人ＩＤ                        Ａｃｍｅ−１２
ステータス                      ｏｐｅｎ
メモ                            ｓｈｏｅ  ｄｅｐａｒｔｍｅｎｔ  ｓａｌｅｓ転送データ
【０９１５】
セッションを開設したら、販売者コンピュータ３０３は、販売者キャッシュログデータ構造３７０に、次の通り新規レコード３７０．１をつくる。
【０９１６】
タイプ                          ｏｐｅｎ−ｓｅｓｓｉｏｎ
ステータス                      ｏｐｅｎ
取り引き番号                    ５５４４３３２２
必要なセッション期間            ０９６０
必要なセッションカウント        ９０
セッション−ＩＤ                ｋ／ｉＬ＋ｔｐＰｍＨｇ＝
結果コード                      ｓｕｃｃｅｓｓ
【０９１７】
Ｅ．取り引き支払処理４０９
取り引き支払処理４０９は、支払のメカニズムとして“キャッシュによる支払”を選択することによって特定のタームのもとにロケットシューズを売る販売者ユーザ３０３からの申し入れに対して、顧客ユーザ２０３が応答した時に、開始する。この行動により、販売者コンピュータ３００がメッセージＰＲ１を組立てて、上述したとおり、顧客コンピュータ２００にそれを転送する。メッセージＰＲ１は次の情報を含む。
【０９１８】
タイプ                          ｐａｙｍｅｎｔ−ｒｅｑｕｅｓｔ
販売者−ｃｃＩＤ                Ａｃｍｅ−１２
販売者オーダーＩＤ              １２３１−３４２４−２３４２４２
販売者日付                      １９９５１１０５１０４５３６３７８
販売者ソフトウェアバージョン    ｆｏｏ６９
ノート                          ＡＣＭＥ製品
Ｐｕｒｃｈａｓｅ  ｏｆ  １  ｐａｉｒ”
Ｒｏｃｋｅｔ  Ｓｈｏｅｓ”  ａｔ  ＄３７．５０  ｅａ．
Ｓｈｉｐｐｉｎｇ  ａｎｄ  ｈａｎｄｌｉｎｇ  ＄５．００
Ｔｏｔａｌ  Ｐｒｉｃｅ：＄４２．５０
Ｓｈｉｐ  ｔｏ：
Ｂｒｉａｎ  Ｂｒｉａｎ
１００  Ｅｌｍ  Ｓｔｒｅｅｔ，
Ｎｉｃｅ  Ｐｌａｃｅ，  ＶＡ  ０００００，  ＵＳＡ
販売者金額                      ｕｓｄ４２．５０
販売者金額２                    ｃａｄ５４．２５
受領                            ｖｉｓａ；ｍａｓｔｅｒ；ａｍｅｘ；ＪＣＰｅｎｎｙ；ｍａｃｙ
ｕｒｌ−ｐａｙ−ｔｏ            ｈｔｔｐ：／／ｗｗｗ．ＡＣＭＥ．ｃｏｍ／ＳｅｒｖｅｒＰａｙｍｅｎｔ
ｕｒｌ−ｃａｎｃｅｌ            ｈｔｔｐ：／／ｗｗｗ．ＡＣＭＥ．ｃｏｍ／ＣｙｂｅｒＰａｙｍｅｎｔ
Ｃａｎｃｅｌ
ｕｒｌ−ｓｕｃｃｅｓｓ          ｈｔｔｐ：／／ｗｗｗ．ＡＣＭＥ．ｃｏｍ／ｏｒｄｅｒｓｕｃｃｅｓｓ
ｕｒｌ−ｆａｉｌ                ｈｔｔｐ：／／ｗｗｗ．ＡＣＭＥ．ｃｏｍ／ｏｒｄｅｒｆａｉｌ
販売者署名ハッシュキー          ＩＳＬｚｓ／ｖＦＱ０ＢＸｆＵ９８ＬＺＮＷｈＱ＝＝
販売者署名ハッシュ              ｋｌｆｊｌｋｄｆｇｌｋｄｆｓｕｔｋｄｆｊｇｌｄｓ７５０３ｑｗｒｔｊｔｙｕｖｎｖｉｄｕｒ０９ｅ５８ｆｄｊ９０８６ｊＣＳ９８５ｋｆ９０８６ｋｇ９８９４ｊ６ｇ−ｒ０９４５４３ｊｖｎｄｍｋｚａｚｑｐｌ
【０９１９】
販売者コンピュータ３００も、以下に述べる販売謝金額データ構造３５０の新規レコード３５０．１を作る。
【０９２０】
オーダーＩＤ                    １２３１−３４２４−２３４２４２
取り引きの金額                  ｕｓｄ４２．５０
フラグ                          ｐｅｎｄｉｎｇ
【０９２１】
顧客コンピュータ２００は、上述したとおり、メッセージＰＲ１を処理する。顧客アプリケーションソフトウエア２１０からのプロンプトに答えて、顧客ユーザ２０３は、“ｐａｙ  ｃａｓｈ”を選択して、販売者ユーザ２０３の申し入れを受ける。この行動によって、顧客コンピュータ２００がメッセージＣＡ１を組立て、販売者コンピュータ３００に転送する。メッセージＣＡ１は、次の情報を含む。
【０９２２】
タイプ                          ｃａｓｈ−ｐａｙｍｅｎｔ
バージョン                      １
セッションＩＤ                  Ｊ／Ｐｉ＋ｓｑＧｔｇＨ＝
インデックス                    １
支払者通貨                      ｕｓｄ
ノートハッシュ                  ｔｙｒｉｏｋｌｊｈｇｂｖｘｃｚｍ７ｒｆｄｅ４＝＝
支払者ＩＤ                      Ａｃｍｅ−１２
オーダーＩＤ                    １２３１−３４２４−２３４２４２
サービスカテゴリ                ｃａｓｈ
不透明
金額                        ｕｓｄ４２．５０
オースコード                ｉｏｕ２３４ｒｆｇｖｂｍｃｘｐ＋ｐｏｌｉｕ７＝＝
【０９２３】
販売者コンピュータ３００は、上述したとおり、メッセージＣＡ１を処理する。販売者コンピュータ３００は、次いで上述したメッセージＣＡ２を組立てて、サーバコンピュータ１００に転送する。メッセージＣＡ２は以下の情報を有する。
【０９２４】
バージョン                      １
セッションＩＤ                  ｋ／ｉＬ＋ｔｐＰｍＨｇ＝
インデックス                    ７７
サービスカテゴリィ              ｃａｓｈ
顧客−不透明
タイプ                      ｃａｓｈ−ｃｏｌｌｅｃｔｉｏｎ
バージョン                  １
タイプｎ                    ｃａｓｈ−ｐａｙｍｅｎｔ
サブバージョンｎ            １
支払者セッションＩＤｎ      Ｊ／Ｐｉ＋ｓｑＧｔｇＨ＝
支払者インデックスｎ        １
ノート−ハッシュｎ          ｋｃｈｆｉＺ５ＷＡＵｌｐｋ１／ｖｌｏｇｗｕＱ＝＝
支払人ＩＤｎ                Ａｃｍｅ−１２
オーダーＩＤｎ              １２３１−３４２４−２３４２４２
販売者金額ｎ                ｕｓｄ４２．５０
オーススコード              ＵｊｋＨｇｔＫ／３８ｕｈｚｘｓ９ｉｏ３＋ＰＬ＝＝
顧客−不透明                    ｊｋｓｙｆｄｉｔｄｆｋｊｇｄｆｕｔ０２９ｊｆ９ｑ０８７５ｊＣＳｊｍｇｍｂｎｆｉｕｒ８６ｆｍ９３４５ｋｄｋｊｒｊｇｈｎｖｍｆｈａｚａｐｌａｋｓｄｉｊｄｆｈｊｇｕｔｉｒｏｋｌｏｐ８ｔｒｅｗｑａｓｚ
【０９２５】
販売者コンピュータ３００は、以下の追加データを現在のレコードに加えることによって、販売者キャッシュログデータ構造のレコード３７０．１を更新する（明確にするために、レコード３７０．１をすべて示す）。
【０９２６】
タイプ                          ｃａｓｈ  ｐａｙｍｅｎｔ
ステータス                      ｐｅｎｄｉｎｇ
オーダーＩＤ                    １２３１−３４２４−２３４２４２
顧客セッションＩＤ              Ｊ／Ｐｉ＋ｓｑＧｔｇＨ＝
顧客インデックス番号            １
顧客通貨                        ｕｓｄ
販売者セッションＩＤ            ｋ／ｉＬ＋ｔｐＰｍＨｇ＝
販売者インデックス番号          ７７
販売者通貨                      ｕｓｄ
販売者要求金額                  ４２．５０
クレジット金額                  ４２．５０
支払い済み手数料                ０．００
タイプ                          ｏｐｅｎ−ｓｅｓｓｉｏｎ
ステータス                      ｏｐｅｎ
取り引き番号                    ７８７６５４３７
必要なセッション期間            ０９６０
必要なセッションカウント        ９０
セッションＩＤ                  ｋ／ｉＬ＋ｔｐＰｍＨｇ＝
結果コード                      ｓｕｃｃｅｓｓ
【０９２７】
サーバコンピュータは、サーバメッセージログ１４０に新規レコード１４０．５を作り、領域１４０ＥにメッセージＣＡ２のコピーを蓄積する。サーバコンピュータ１００はメッセージＣＡ２をアンラップして、すでに述べたようにそれを処理する。サーバコンピュータ１００は、サーバセッションデータ構造１３０のレコード１３０．１及び１３０．２をチェックして、個人ｂｒｉａｎｂ−２３と個人ａｃｍｅ−１２とが開セッションであるかどうかを決定する。セッションが無効である場合、サーバコンピュータは取り引き支払処理４０９を終了する。ここでは、サーバコンピュータ１００は、処理を続けて、サーバメッセージログ１４０のレコード１４０．５を以下の通り更新する。
【０９２８】
個人ＩＤ                        Ａｃｍｅ−１２
セッションＩＤ                  ｋ／ｉＬ＋ｔｐＰｍＨｇ＝
取り引き番号
インデックス                    ７７
入ってくるメッセージ            ｃｏｐｙ  ｏｆ  ｍｅｓｓａｇｅ  ＣＡ２
応答メッセージ
【０９２９】
サーバコンピュータは、また、以下の情報を取り引きデータ領域１３０Ｎに関連づけることによって、サーバセッションデータ構造１３０のレコード１３０．１を更新する。
【０９３０】
金額                            ｕｓｄ４２．５０
顧客セッションＩＤ              Ｊ／Ｐｉ＋ｓｑＧｔｇＨ＝
販売者オーダーＩＤ              １２３１−３４２４−２３４２４２
販売者個人ＩＤ                  Ａｃｍｅ−１２
顧客インデックス                １
【０９３１】
サーバコンピュータは、また、以下の情報を取り引きデータ領域１３０ＮＮに関連づけることによって、サーバセッションデータ構造１３０のレコード１３０．２を更新する。
【０９３２】
金額                            ｕｓｄ４２．５０
顧客セッションＩＤ              Ｊ／Ｐｉ＋ｓｑＧｔｇＨ＝
販売者オーダーＩＤ              １２３１−３４２４−２３４２４２
販売者個人ＩＤ                  Ａｃｍｅ−１２
販売者インデックス              ７７
【０９３３】
サーバコンピュータは、次いで、メッセージＣＡ３を組立てて、既に述べたとおり、販売者コンピュータ３００にそれを転送する。メッセージＣＡ３は次の情報を含む。
【０９３４】
タイプ                          ｆｒｏｍ  ｓｅｒｖｅｒ
バージョン                      １
セッションＩＤ                  ｋ／ｉＬ＋ｔｐＰｍＨｇ＝
インデックス                    ７７
サービスカテゴリ                ｃａｓｈ
販売者−不透明
サブタイプ                  ｃａｓｈ−ｂａｔｃｈ−ｒｅｃｅｉｐｔ
サブバージョン              １
要求バージョン              １
応答コード                  ｓｕｃｃｅｓｓ
料金                        ｕｓｄ０．００
サブタイプｎ                    ｃａｓｈ−ｐａｙｍｅｎｔ−ｒｅｃｅｉｐｔ
サブバージョンｎ            １
支払者セッションＩＤｎ      Ｊ／Ｐｉ＋ｓｑＧｔｇＨ＝
支払者インデックスｎ        １
応答コードｎ                ｓｕｃｃｅｓｓ
集められた金額ｎ            ｕｓｄ４２．５０
オーダーＩＤｎ              １２３１−３４２４−２３４２４２
オースコード                ｐ１２Ｐ＋／ＢＮｆｒ５９ｄｓＸｚ＋ｌｍｎＴＰ＝＝
顧客−不透明
サービスカテゴリィ          ｃａｓｈ
応答コード                  ｓｕｃｃｅｓｓ
金額                        ｕｓｄ４２．５０
オーダーＩＤ                １２３１−３４２４−２３４２４２
オースコード                ｋｊＴＵＹ７ｆ７ｚｒ＋ｐＧＢ６５ＲＸＥ＋ｈｃ＝＝
【０９３５】
販売者コンピュータ３００はメッセージＣＡ３をアンラップして、上述したとおりそれを処理する。販売者コンピュータ３００は、フラッグ領域３５０Ｃを“ｐａｉｄ”に設定することによって、販売者金額データ構造３５０のレコード３５０．１を更新する。
【０９３６】
販売者コンピュータ３００は、販売者キャッシュログデータ構造３７０のレコード３７０．１を次のように更新する。
【０９３７】
ステータス領域３７０Ｂは“ｓｕｃｃｅｓｓ”にセットされている。クレジット金額領域３７０Ｋは“ｕｓｄ４２，５０”にセットされている。
【０９３８】
販売者コンピュータは、メッセージＣＡ４を組立てて、それを顧客コンピュータ２００に転送する。メッセージＣＡ４は以下の情報を含む。
【０９３９】
タイプ                          ｃａｓｈ−ｐａｙｅｒ−ｒｅｃｅｉｐｔ
バージョン                      １
セッションＩＤ                  ｋ／ｉＬ＋ｔｐＰｍＨｇ＝
サービスカテゴリ                ｃａｓｈ
インデックス                    ７７
オーダーＩＤ                    １２３１−３４２４−２３４２４２
不透明
応答コード                  ｓｕｃｃｅｓｓ
金額                        ｕｓｄ４２．５０
オーダーＩＤ                １２３１−３４２４−２３４２４２
オースコード                ｍｈｇＤ４ＱａＢＰｋｊ＋ｖＷｋｊＨｙｔＲ５Ｊ＝＝
【０９４０】
顧客コンピュータ２００は、上述したとおりのメッセージＣＡ４をアンラップして処理する。顧客コンピュータ２００は、現在の金額領域２４０Ｆから“＄４２．５０”を差引いてバランス＄２７０．５０を残すことによって、顧客セッションデータ構造２４０のレコード２４０．１を更新する。
【０９４１】
Ｆ．閉鎖セッション処理４１１
閉鎖セッション処理４１１は、顧客ユーザ２０３が顧客コンピュータ２００のディスプレイから閉鎖セッションプロンプトを選んだ時に開始する。この動作によって、顧客コンピュータ２００は、上述したとおり、メッセージＣＳ１を組立てて、サーバコンピュータ１００に転送する。メッセージＣＳ１は、以下の情報を含む。
【０９４２】
ＩＤ                            ｂｒｉａｎｂ−２３
取り引き                        ２２７７０５６
日付                            １９９５１１０５１１０２２３６６６
サーバキー                      ＣＣ１００１
サービスカテゴリ                ｃａｓｈ
不透明
タイプ                      ｃｌｏｓｅ−ｓｅｓｓｉｏｎ
サーバ日付                  １９９５１１０５１１０２２５７６６
ソフトウェアバージョン      １．０ｗｉｎ
セッションＩＤ              Ｊ／Ｐｉ＋ｓｑＧｔｇＨ＝
要求ログ                    Ｎｏ
キー                        ４／Ｒｏｏｓ＋２ａｃ８＝
サイン                      ｋａｓｄｊｆｚｌｓｋａｄｕｆｓｏｄｐｉｒｕｌｋｓｄｎｚｌｓｋｄ８０３ｄｉｐｏｄｓｉｆｄｆｓａｄｙｂｍｉｐｊｇ４ｅａｚｑｅｒ９８ｊｆｅｊｏｉｕｄｆｊｉ９８ｙｔｒｎｍｖｃｘｚａｑｗ２３ｒｇｔｙｈｐｍｋｌｏ１ｑａｚｘｓｗ３４ｒｆｖｇｙ＋０９ｏｋｉｊｕ７ｙｈｎｂｇ
【０９４３】
サーバコンピュータは、サーバメッセージログ１４０に新規レコード１４０．６を作って、領域１４０ＥにメッセージＣＳ１のコピーを蓄積する。サーバコンピュータ１００は、ついで、前述したとおり、メッセージＣＳ１をアンラップして、処理し、以下のレコード１４０．６を更新する。
【０９４４】
個人ＩＤ                        ｂｒｉａｎｂ−２３
セッションＩＤ
取り引き                        ２２７７０５７
インデックス
入ってくるメッセージ            ｃｏｐｙ  ｏｆ  ＣＳ１
応答メッセージ
【０９４５】
サーバコンピュータ１００は、次いで現在の金額領域１３０Ｆ（＄２７．５０）の値を、バランス＄５７．５０用の上述のキャッシュコンテナの入手可能なバランス領域１２０Ｇ．２の金額を加えること、閉鎖データ領域１３０Ｈに値”１９９５１１０５１１０３０１９９９”と入力すること、“開設”から“閉鎖”ヘステータス領域１３０Ｌを変更することによって、個人ＩＤ”ｂｒｉａｎｂ−２３”に関連するサーバセッションデータ構造１３０のレコード１３０．１を更新する。
【０９４６】
サーバコンピュータは、メッセージＣＳ２を組み込んで、レコード１４０．６の領域１４０Ｆにそのコピーを蓄積し、メッセージＣＳ２を顧客コンピュータ２００に転送する。メッセージＣＳ２は次の情報を含んでいる。
【０９４７】
ＩＤ                            ｂｒｉａｎｂ−２３
取り引き                        ２２７７０５７
日付                            １９９５１１０５１１０２２３６６６
サービスカテゴリ                ｃａｓｈ
不透明
タイプ                      ｃｌｏｓｅ−ｓｅｓｓｉｏｎ−ｒｅｓｐｏｎ
ｓｅ
サーバ日付                  １９９５１１０５１１０３０１９９９
応答コード                  ｓｕｃｃｅｓｓ
ソフトウェアセベリティ      ｗａｒｎｉｎｇ
ソフトウェアメッセージ      Ｎｅｗ  ｓｏｆｔｗａｒｅ  ｉｓ  ａｖａｉｌａｂｌｅ
料金                        ｕｓｄ０．００
金額                        ｕｓｄ２７．５０
【０９４８】
顧客コンピュータ２００は、上述したとおり、メッセージＣＳ２をアンラップして処理する。顧客コンピュータ２００は、現在の金額領域２２０Ｉ（＄３０．００）の値を、バランス＄５７．５０として＄２７．５０に加えることによって顧客個人データ構造２２０のレコード２２０．１の領域２２０Ｉを更新する。顧客コンピュータ２００は、顧客セッションデータ構造２４０のレコード２４０．１を削除する。
【０９４９】
一方、本発明のこれまでに述べた部分は、実施例として述べられたものであり、当業者によって様々な変更、応用を施したもの、ならびに同等のものを、本発明の範囲内において使用することができる。
【図面の簡単な説明】
【０９５０】
【図１】本発明の一般的な構成を示す説明図である。
【図２】本発明の一般的な処理を示す説明図である。
【図３】図２に示した処理をより詳細に示す説明図である。
【図４】本発明におけるメッセージの流れを示す説明図である。
【図５】サーバコンピュータ１００のデータベースの構成を示す説明図である。
【図６】サーバの個人データ構造１２０の顧客個人１２０．１を示す説明図である。
【図７】図６のキャッシュコンテナデータ１２０Ｇの領域を示す説明図である。
【図８】図６の手段結合データ１２０Ｈの領域を示す説明図である。
【図９】サーバの個人データ構造１２０の販売者個人１２０．２を示す説明図である。
【図１０】図９のキャッシュコンテナデータ１２０ＧＧの領域を示す説明図である。
【図１１】図９の手段結合データ１２０ＨＨの領域を示す説明図である。
【図１２】サーバのセッションデータ構造１３０の顧客セッションレコード１３０．１を示す説明図である。
【図１３】図１２の取引データ１３０Ｎの領域を示す説明図である。
【図１４】サーバのセッションデータ構造１３０の販売者セッションレコード１３０．２を示す説明図である。
【図１５】図１４の取引データ１３０ＮＮの領域を示す説明図である。
【図１６】メッセージログデータ構造１４０のレコード１４０．１を示す説明図である。
【図１７】顧客コンピュータ２００のデータベースの構造を示す説明図である。
【図１８】顧客アプリケーションデータ構造２１５のレコード２１５．１を示す説明図である。
【図１９】顧客個人データ構造２２０のレコード２２０．１を示す説明図である。
【図２０】顧客機器結合データ構造２３０のレコード２３０．１を示す説明図である。
【図２１】顧客アクティブセッションデータ構造２４０のレコード２４０．１を示す説明図である。
【図２２】顧客未決裁ログデータ構造２５０を示す説明図である。
【図２３】顧客未決裁取引データ構造２５０の未決裁の登録／更新情報レコード２５１を示す説明図である。
【図２４】顧客未決裁取引データ構造２５０の未決裁のリンク／更新機器結合レコード２５２を示す。
【図２５】顧客未決裁取引データ構造２５０の未決裁キャッシュ支払レコード２５３を示す説明図である。
【図２６】顧客未決裁取引データ構造２５０の未決裁のロード／アンロードファンドレコード２５４を示す説明図である。
【図２７】顧客未決裁取引データ構造２５０の未決裁のオープンセッションレコード２５５を示す説明図である。
【図２８】顧客未決裁取引データ構造２５０の未決裁のクローズセッションレコード２５６を示す説明図である。
【図２９】顧客ログデータ構造２６０を示す説明図である。
【図３０】顧客ログデータ構造２６０の個人の登録／更新応答レコード２６１を示す説明図である。
【図３１】顧客ログデータ構造２６０のリンク／更新機器応答レコード２６２を示す説明図である。
【図３２】顧客ログデータ構造２６０のキャッシュ支払応答レコード２６３を示す説明図である。
【図３３】顧客ログデータ構造２６０のロード／アンロードファンド応答レコード２６４を示す説明図である。
【図３４】顧客ログデータ構造２６０のオープンセッション応答レコード２６５を示す説明図である。
【図３５】顧客ログデータ構造２６０の支払要求レコード２６６を示す説明図である。
【図３６】顧客ログデータ構造２６０のクローズセッション応答レコード２６７を示す説明図である。
【図３７】顧客キャッシュコンテナデータ構造２８０のレコード２８０．１を示す説明図である。
【図３８】販売者コンピュータのデータベースの構造を示す説明図である。
【図３９】販売者コンピュータのデータベースの販売者アプリケーションデータ構造のレコードを示す説明図である。
【図４０】販売者コンピュータのデータベースの販売者個人データ構造のレコードを示す説明図である。
【図４１】販売者コンピュータのデータベースの販売者機器結合データ構造のレコードを示す説明図である。
【図４２】販売者コンピュータのデータベースの販売者セッションデータ構造のレコードを示す説明図である。
【図４３】販売者コンピュータのデータベースの販売者キャッシュコンテナデータ構造のレコードを示す説明図である。
【図４４】販売者コンピュータのデータベースの販売者総額データ構造のレコードを示す説明図である。
【図４５】販売者コンピュータのデータベースの販売者販売セッションデータ構造のレコードを示す説明図である。
【図４６】販売者コンピュータのデータベースの販売者キャッシュログデータ構造のレコードを示す説明図である。
【図４７】サンプルメッセージのフォーマットを示す説明図である。
【図４８】登録処理４０１を示すフロー図である。
【図４９】メッセージ組み込み手続８００を示すフロー図である。
【図５０】登録メッセージＲ１のフォーマットを示す説明図である。
【図５１】登録メッセージＲ１のフォーマットを示す説明図である。
【図５２】サーバメッセージアンラップ手続９００を示すフロー図である。
【図５３】サーバメッセージアンラップ手続９００を示すフロー図である。
【図５４】サーバメッセージ組み込み手続１０００を示すフロー図である。
【図５５】登録メッセージＲ２のフォーマットを示す説明図である。
【図５６】登録メッセージＲ２のフォーマットを示す説明図である。
【図５７】顧客メッセージアンラップ手続１１００を示すフロー図である説明図である。
【図５８】機器結合処理４０３を示すフロー図である。
【図５９】結合メッセージＢＩ１のフォーマットを示す説明図である。
【図６０】結合メッセージＢＩ１のフォーマットを示す説明図である。
【図６１】結合メッセージＢＩ４のフォーマットを示す説明図である。
【図６２】結合メッセージＢＩ４のフォーマットを示す説明図である。
【図６３】ロード／アンロードファンド処理４０５を示すフロー図を示す。
【図６４】ロード／アンロードメッセージＬＵ１のフォーマットを示す説明図である。
【図６５】ロード／アンロードメッセージＬＵ１のフォーマットを示す説明図である。
【図６６】ロード／アンロードメッセージＬＵ２のフォーマットを示す説明図である。
【図６７】ロード／アンロードメッセージＬＵ２のフォーマットを示す説明図である。
【図６８】オープンセッション処理４０７を示すフロー図である。
【図６９】オープンセッションメッセージＯＳ１のフォーマットを示す説明図である。
【図７０】オープンセッションメッセージＯＳ１のフォーマットを示す説明図である。
【図７１】オープンセッションメッセージＯＳ２のフォーマットを示す説明図である。
【図７２】オープンセッションメッセージＯＳ２のフォーマットを示す説明図である。
【図７３】取引／支払処理４０９を示すフロー図である。
【図７４】取引／支払処理４０９を示すフロー図である。
【図７５】取引／支払処理４０９を示すフロー図である。
【図７６】支払要求メッセージＰＲ１のフォーマットを示す説明図である。
【図７７】メッセージアンラップ手続３３００を示すフロー図である。
【図７８】メッセージ組み込み手続ＣＡ１２を示すフロー図である。
【図７９】キャッシュ支払メッセージＣＡ１のフォーマットを示す説明図である。
【図８０】キャッシュ支払メッセージＣＡ１のフォーマットを示す説明図である。
【図８１】ＣＡ−ＤＥＳーキー発生処理１６００を示すフロー図である。
【図８２】メッセージアンラップ手続ＣＡ１を示すフロー図である。
【図８３】メッセージＣＡ２のフォーマットを示す説明図である。
【図８４】メッセージＣＡ２のフォーマットを示す説明図である。
【図８５】メッセージＣＡ２のフォーマットを示す説明図である。
【図８６】サーバメッセージアンラップ手続１６６０を示すフロー図である。
【図８７】サーバメッセージアンラップ手続１６６０を示すフロー図である。
【図８８】サーバメッセージ組み込み手続３４００を示すフロー図である。
【図８９】メッセージＣＡ３のフォーマットを示す説明図である。
【図９０】メッセージＣＡ３のフォーマットを示す説明図である。
【図９１】メッセージＣＡ３のフォーマットを示す説明図である。
【図９２】メッセージアンラップ手続ＣＡ３４を示すフロー図である。
【図９３】メッセージ組み込み手続３１００を示すフロー図である。
【図９４】メッセージＣＡ４のフォーマットを示す説明図である。
【図９５】メッセージＣＡ４のフォーマットを示す説明図である。
【図９６】クローズセッション処理４１１を示すフロー図である。
【図９７】メッセージＣＳ１のフォーマットを示す説明図である。
【図９８】メッセージＣＳ１のフォーマットを示す説明図である。
【図９９】メッセージＣＳ２のフォーマットを示す説明図である。
【図１００】メッセージＣＳ２のフォーマットを示す説明図である。
【図１】
2004328802.tif 000003
【図２】
2004328802.tif 000004
【図３】
2004328802.tif 000005
【図４】
2004328802.tif 000006
【図５】
2004328802.tif 000007
【図６】
2004328802.tif 000008
【図７】
2004328802.tif 000009
【図８】
2004328802.tif 000010
【図９】
2004328802.tif 000011
【図１０】
2004328802.tif 000012
【図１１】
2004328802.tif 000013
【図１２】
2004328802.tif 000014
【図１３】
2004328802.tif 000015
【図１４】
2004328802.tif 000016
【図１５】
2004328802.tif 000017
【図１６】
2004328802.tif 000018
【図１７】
2004328802.tif 000019
【図１８】
2004328802.tif 000020
【図１９】
2004328802.tif 000021
【図２０】
2004328802.tif 000022
【図２１】
2004328802.tif 000023
【図２２】
2004328802.tif 000024
【図２３】
2004328802.tif 000025
【図２４】
2004328802.tif 000026
【図２５】
2004328802.tif 000027
【図２６】
2004328802.tif 000028
【図２７】
2004328802.tif 000029
【図２８】
2004328802.tif 000030
【図２９】
2004328802.tif 000031
【図３０】
2004328802.tif 000032
【図３１】
2004328802.tif 000033
【図３２】
2004328802.tif 000034
【図３３】
2004328802.tif 000035
【図３４】
2004328802.tif 000036
【図３５】
2004328802.tif 000037
【図３６】
2004328802.tif 000038
【図３７】
2004328802.tif 000039
【図３８】
2004328802.tif 000040
【図３９】
2004328802.tif 000041
【図４０】
2004328802.tif 000042
【図４１】
2004328802.tif 000043
【図４２】
2004328802.tif 000044
【図４３】
2004328802.tif 000045
【図４４】
2004328802.tif 000046
【図４５】
2004328802.tif 000047
【図４６】
2004328802.tif 000048
【図４７】
2004328802.tif 000049
【図４８】
2004328802.tif 000050
【図４９】
2004328802.tif 000051
【図５０】
2004328802.tif 000052
【図５１】
2004328802.tif 000053
【図５２】
2004328802.tif 000054
【図５３】
2004328802.tif 000055
【図５４】
2004328802.tif 000056
【図５５】
2004328802.tif 000057
【図５６】
2004328802.tif 000058
【図５７】
2004328802.tif 000059
【図５８】
2004328802.tif 000060
【図５９】
2004328802.tif 000061
【図６０】
2004328802.tif 000062
【図６１】
2004328802.tif 000063
【図６２】
2004328802.tif 000064
【図６３】
2004328802.tif 000065
【図６４】
2004328802.tif 000066
【図６５】
2004328802.tif 000067
【図６６】
2004328802.tif 000068
【図６７】
2004328802.tif 000069
【図６８】
2004328802.tif 000070
【図６９】
2004328802.tif 000071
【図７０】
2004328802.tif 000072
【図７１】
2004328802.tif 000073
【図７２】
2004328802.tif 000074
【図７３】
2004328802.tif 000075
【図７４】
2004328802.tif 000076
【図７５】
2004328802.tif 000077
【図７６】
2004328802.tif 000078
【図７７】
2004328802.tif 000079
【図７８】
2004328802.tif 000080
【図７９】
2004328802.tif 000081
【図８０】
2004328802.tif 000082
【図８１】
2004328802.tif 000083
【図８２】
2004328802.tif 000084
【図８３】
2004328802.tif 000085
【図８４】
2004328802.tif 000086
【図８５】
2004328802.tif 000087
【図８６】
2004328802.tif 000088
【図８７】
2004328802.tif 000089
【図８８】
2004328802.tif 000090
【図８９】
2004328802.tif 000091
【図９０】
2004328802.tif 000092
【図９１】
2004328802.tif 000093
【図９２】
2004328802.tif 000094
【図９３】
2004328802.tif 000095
【図９４】
2004328802.tif 000096
【図９５】
2004328802.tif 000097
【図９６】
2004328802.tif 000098
【図９７】
2004328802.tif 000099
【図９８】
2004328802.tif 000100
【図９９】
2004328802.tif 000101
【図１００】
2004328802.tif 000102