(57)【要約】【課題】  電子商取引データを送信順序に一致させて確実なデータ交換を制御する送信または受信サーバを実現する。【解決手段】  送信サーバ１は、送信データ記憶部１３のデータに、送信日、同日内の送信順序（通番）、前日の最終送信の通番（最終通番）を付加しメール送信する。受信サーバ２は、送信データの送信日、通番を記録し、セキュリティを検証する。検証が成功したデータを受信データ記憶部２２に格納する。データが送信当日の最初の送信の場合に、データに設定された最終通番と前日の受信データ数とが等しくなければ、前日受信分のデータの通番から欠落を得て、欠番に対応するデータの再送を送信サーバ１へ依頼する。送信サーバ１は、再送依頼により該当データを受信サーバ２へ送信する。【選択図】図１
2005109849.tif 000002
【特許請求の範囲】
【請求項１】
電子メールシステムを通じて非同期にデータ交換を行う送信サーバおよび受信サーバを備えて、前記送信サーバおよび前記受信サーバ間で電子通商取引に関するデータを交換するデータ交換処理を、前記送信サーバに実行させるためのプログラムであって、
データの送信先情報、前記送信サーバの識別情報、前記受信サーバの識別情報、データが送信された月日を示す送信日、同一送信日内において送信先ごとのデータの送信順序を連続番号で示す通番、および前記送信日の前日内の最後に送信されたデータの通番である最終通番を含む送信データ情報を送信するデータに付加する処理と、
前記データに対してセキュリティ検証用の処理を施す処理と、
前記データをメール送信する処理と、
前記送信データ情報を送信管理テーブルに記録する処理と、
前記送信日および前記前日に送信したデータを送信データ記憶部に格納する処理と、
前記受信サーバから、送信日および通番により特定されたデータの再送依頼を受信した場合に、前記送信日および前記通番を用いて前記送信データ記憶部から該当する再送対象のデータを取り出し、前記受信サーバ宛に前記再送対象データをメール送信する処理とを、
前記送信サーバに実行させることを
特徴とする送信サーバ用データ交換処理プログラム。
【請求項２】
請求項１記載の送信サーバ用データ交換処理プログラムにおいて、
前記受信サーバが、自サーバ内で受信および保管するデータを無効化する処理を依頼する無効化依頼または他のデータと置き換える処理を依頼する置き換え依頼のいずれかを、依頼対象を特定する前記送信日および前記通番とともに、前記受信サーバ宛へメール送信する処理を、
前記送信サーバに実行させる
ことを特徴とする送信サーバ用データ交換処理プログラム。
【請求項３】
電子メールシステムを通じて非同期にデータ交換を行う送信サーバおよび受信サーバを備えて、前記送信サーバおよび前記受信サーバ間で電子通商取引に関するデータを交換するデータ交換処理を、前記受信サーバに実行させるためのプログラムであって、
前記電子メールシステムのメールサーバから、データ送信元情報、前記送信サーバの識別情報、前記受信サーバの識別情報、データが送信された月日を示す送信日、同一送信日内において送信先ごとのデータの送信順序を連続番号で示す通番、および前記送信日の前日内の最後に送信されたデータの通番である最終通番を含む送信データ情報が付加されたデータを取り出す処理と、
前記データに付加された送信データ情報および受信の状況を管理する情報を受信管理テーブルに記録する処理と、
前記データのセキュリティ検証を行う処理と、
前記セキュリティ検証が成功したデータを受信データ記憶部に格納する処理と、
前記データの通番が送信日の最初の送信を示す値である場合に、前記データの最終通番を取得し、前記最終通番が前記受信管理テーブルの記録された前記送信日の前日の受信データ数と等しくないときは、前記前日に受信されたデータの通番から欠落した通番を抽出して、前記欠番通番に対応するデータの再送依頼を前記送信サーバ宛へメール送信する処理とを、
前記受信サーバに実行させる
ことを特徴とする受信サーバ用データ交換処理プログラム。
【請求項４】
請求項３記載の受信サーバ用データ交換処理プログラムにおいて、
前記送信サーバから、送信日および通番で特定された前記受信データ記憶部に格納されたデータに対する無効化処理または置き換え処理の依頼を受信した場合に、依頼が無効化であれば前記受信データ記憶部から該当するデータを削除し、または、依頼が置き換えであれば前記受信データ記憶部の該当するデータを別データと置き換える処理を、
前記受信サーバに実行させる
ことを特徴とする受信サーバ用データ交換処理プログラム。
【請求項５】
請求項３記載の受信サーバ用データ交換処理プログラムにおいて、
前記セキュリティ検証の処理の過程で、さらに、
前記データのセキュリティ検証が失敗した場合に、前記データを未検証データ一時記憶部に格納して退避させ、前記データの識別情報および退避原因を管理テーブルに記録する処理と、
前記データと同一送信元から続けて送信されたデータであってセキュリティ検証が成功したデータを、並び替え用記憶部に格納して退避させ、前記データの識別情報および退避原因を管理テーブルに記録する処理と、
前記未検証データ一時記憶部に退避させた前記データのセキュリティ検証が成功した場合に、当該データおよび前記並び替え用記憶部に退避させたデータを受信データ記憶部に格納する処理とを、
前記受信サーバに実行させる
ことを特徴とする受信サーバ用データ交換処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネットを利用した電子通商取引支援システムに関するものである。さらに詳しくは、電子メールシステムを用いて通商取引用、業務用などのデータを確実に送受信できるデータ交換システムを実現する処理プログラムに関する。
【背景技術】
【０００２】
企業間では、インターネットを通じて文字メッセージなどのデータを交換するシステム（電子メールシステム）を電子通商取引や業務上の通信手段として利用することがある。ほとんどの企業が電子メールシステムを利用する環境を備えていると言えるほど、電子メールシステムは通信手段として普及している。
【０００３】
しかし、ＳＭＴＰ（Simple Mail Transfer Protocol ）／ＰＯＰ（Post Office Protocol）などのプロトコルを利用する電子メールシステムでは、銀行間決済システムなどの他のプロトコルのように同期通信をサポートすることができない。
【０００４】
そのため、セキュリティ上の問題の他、異常時のデータの取り扱いが困難であること、受信失敗時の復旧手段がないことなどの問題があり、確実性なデータ交換を重視する電子通商取引や業務上のデータ交換手段としては、電子メールシステムの活用はあまり進んでいない。
【０００５】
電子メールシステムのセキュリティ上の問題は、データの暗号化技術、署名などによる認証技術、光回線の普及などのデータ漏洩盗聴防止技術などにより解決されつつある。
【０００６】
一方、電子メールシステムのデータ交換の信頼性を高めるために、電子メールシステムに発信者側からの既配送の電子メールを一時記憶するメールボックスを設けた発信側メッセージ蓄積交換システムと、着信者側に対応するメールボックスを設けた着信側メッセージ交換システムとを備えて、発信者側メールボックスに訂正すべき電子メールが存在する場合に、着信者側メールボックス内の該当する電子メールを訂正用電子メールと置き換える手法がある（特許文献１参照）。
【特許文献１】特開平０４−７０１４６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
インターネットを利用する電子通商取引の普及に伴い、通信手段として既に広く普及している電子メールシステムをデータ交換手段としても利用したいという要求が高まっている。しかし、電子メールシステムのデータ伝送経路は未確定であるため、データ送信とデータ受信との順序が常に完全一致することは不可能である。
【０００８】
そのため、電子メールシステムの簡便さを保持しつつ、データの送受信の順序の一致を保証した高い信頼性を備えたデータ交換処理が行える仕組みが必要である。
【０００９】
さらに、受信側においてデータ送信順序を明確するだけでなく、データ受信失敗時の復旧や未受信データの再取得を自動的に行える仕組みも必要である。
【００１０】
また、誤送信したデータを受信側に残したくないような状況が生じた場合に該当するデータを無効化したり、送信済みの誤りデータを別の訂正済みデータと置き換えたりする仕組みも要求される。
【００１１】
また、電子メールシステムはオープンネットワークであるため、データ交換のセキュリティを確保するために、一般的に暗号化および署名認証したデータを送受信している。そして、データをメールサーバから取り出すことができたものの、データのセキュリティを検証する過程での復号処理の環境設定ミス、署名などの認証書更新時期にかかる認証設定ミス、ウィルスチェック・アプリケーションやチームウェアによるメール・ヘッダの書き換えなどの様々な原因によって、ユーザ端末のメールクライアントでのデータの受信および保存に失敗することがある。その後にセキュリティ検証環境の再設定によって復旧し、データ受信が可能となった場合には、メールクライアントは、復旧前のメールを受信・保存することができず、復旧時点以降にメールサーバが保持していたメールを受信する。そのため、結果的に、後から送信されたデータが先に受信されてしまう状況が生じるが、このような受信順序の入れ替りを防止する必要がある。
【００１２】
さらに、メールクライアントで一旦メールサーバから受信したデータを、操作の誤りで削除したような場合には、削除してしまったメールの送信者に再送を依頼する以外に対処することができなかった。
【００１３】
本発明は、上記のような問題に鑑みてなされたものであり、その目的は、電子通商取引を支援するために電子メールシステムを用いたデータ交換システムにおいて、データの送受信の順序の一致や受信データの確実性などを保証し信頼性の高いデータ交換処理を、データ交換処理を制御する送信サーバまたは受信サーバに実行させるためのプログラムを提供することである。
【課題を解決するための手段】
【００１４】
従来の課題を解決して上記の目的を達成するため、本発明は、以下のような手段を備える。
【００１５】
本発明は、電子メールシステムを通じて非同期にデータ交換を行う送信サーバおよび受信サーバを備えて、前記送信サーバおよび前記受信サーバ間で電子通商取引に関するデータを交換するデータ交換処理を、前記送信サーバに実行させるためのプログラムであって、データの送信先情報、前記送信サーバの識別情報、前記受信サーバの識別情報、データが送信された月日を示す送信日、同一送信日内において送信先ごとのデータの送信順序を連続番号で示す通番、および前記送信日の前日内の最後に送信されたデータの通番である最終通番を含む送信データ情報を送信するデータに付加する処理と、前記データに対してセキュリティ検証用の処理を施す処理と、前記データをメール送信する処理と、前記送信データ情報を送信管理テーブルに記録する処理と、前記送信日および前記前日に送信したデータを送信データ記憶部に格納する処理と、前記受信サーバから、送信日および通番により特定されたデータの再送依頼を受信した場合に、前記送信日および前記通番を用いて前記送信データ記憶部から該当する再送対象のデータを取り出し、前記受信サーバ宛に前記再送対象データをメール送信する処理とを、前記送信サーバに実行させるものである。
【００１６】
また、本発明は、上記のデータ交換処理を、前記受信サーバに実行させるためのプログラムであって、前記電子メールシステムのメールサーバから、データ送信元情報、前記送信サーバの識別情報、前記受信サーバの識別情報、データが送信された月日を示す送信日、同一送信日内において送信先ごとのデータの送信順序を連続番号で示す通番、および前記送信日の前日内の最後に送信されたデータの通番である最終通番を含む送信データ情報が付加されたデータを取り出す処理と、前記データに付加された送信データ情報および受信の状況を管理する情報を受信管理テーブルに記録する処理と、前記データのセキュリティ検証を行う処理と、前記セキュリティ検証が成功したデータを受信データ記憶部に格納する処理と、前記データの通番が送信日の最初の送信を示す値である場合に、前記データの最終通番を取得し、前記最終通番が前記受信管理テーブルの記録された前記送信日の前日の受信データ数と等しくないときは、前記前日に受信されたデータの通番から欠落した通番を抽出して、前記欠番通番に対応するデータの再送依頼を前記送信サーバ宛へメール送信する処理とを、前記受信サーバに実行させものである。
【００１７】
上記の送信サーバ用データ交換処理プログラムおよび受信サーバ用データ交換処理プログラムは、それぞれ送信サーバおよび受信サーバにおいて実現され、以下のように協働する。
【００１８】
送信サーバでは、データの送信先情報、前記送信サーバの識別情報、前記受信サーバの識別情報、データが送信された月日を示す送信日、同一送信日内において送信先ごとのデータの送信順序を連続番号で示す通番、および前記送信日の前日内の最後に送信されたデータの通番である最終通番を含む送信データ情報を送信するデータに付加する。そして、前記データに対してセキュリティ検証用の処理を施し、前記データを電子メールシステムのメールサーバを介してメール送信する。
【００１９】
また、前記データに付加した前記送信データ情報を送信管理テーブルに記録し、前記送信日および前記前日に送信したデータを送信データ記憶部に格納する。
【００２０】
受信サーバでは、前記電子メールシステムのメールサーバから、前記送信データ情報が付加されたデータを取り出し、前記データに付加された送信データ情報および受信の状況を管理する情報を受信管理テーブルに記録する。
【００２１】
そして、前記データのセキュリティ検証を行い、前記セキュリティ検証が成功したデータを受信データ記憶部に格納する。
【００２２】
また、前記データの通番が送信日の最初の送信を示す値である場合に、前記データの最終通番を取得し、前記最終通番が前記受信管理テーブルの記録された前記送信日の前日の受信データ数と等しくないときは、前記前日に受信されたデータの通番から欠落した通番を抽出して、前記欠番通番に対応するデータの再送依頼を前記送信サーバ宛へメール送信する。
【００２３】
すると、前記送信サーバで、前記受信サーバから前記再送依頼を受信した場合に、前記送信日および前記通番を用いて前記送信データ記憶部から該当する再送対象のデータを取り出し、前記受信サーバ宛に前記再送対象データをメール送信する。
【００２４】
これにより、受信サーバでは、送信サーバから、送信された全てのデータを、送信順序に従って受信したようにデータを取り扱うことができる。
【００２５】
さらに、本発明は、上記の構成をとる送信サーバ用データ交換プログラムにおいて、前記受信サーバが、自サーバ内で受信および保管するデータを無効化する処理を依頼する無効化依頼または他のデータと置き換える処理を依頼する置き換え依頼のいずれかを、依頼対象を特定する前記送信日および前記通番とともに、前記受信サーバ宛へメール送信する処理を、前記送信サーバに実行させるものである。
【００２６】
また、本発明は、上記の構成をとる受信サーバ用データ交換処理プログラムにおいて、前記送信サーバから、送信日および通番で特定された前記受信データ記憶部に格納されたデータに対する無効化処理または置き換え処理の依頼を受信した場合に、依頼が無効化であれば前記受信データ記憶部から該当するデータを削除し、または、依頼が置き換えであれば前記受信データ記憶部の該当するデータを別データと置き換える処理を、前記受信サーバに実行させるものである。
【００２７】
これらの処理プログラムにより、受信サーバ側で保管されるデータのうち、送信元で指定したデータを無効化したり、別のデータに置き換えることができる。
【００２８】
さらに、本発明は、受信サーバ用データ交換処理プログラムにおいて、前記セキュリティ検証の処理を行う過程で、さらに、前記データのセキュリティ検証が失敗した場合に、前記データを未検証データ一時記憶部に格納して退避させ、前記データの識別情報および退避原因を管理テーブルに記録する処理と、前記データと同一送信元から続けて送信されたデータであってセキュリティ検証が成功したデータを、並び替え用記憶部に格納して退避させ、前記データの識別情報および退避原因を管理テーブルに記録する処理と、前記未検証データ一時記憶部に退避させた前記データのセキュリティ検証が成功した場合に、当該データおよび前記並び替え用記憶部に退避させたデータを受信データ記憶部に格納する処理とを、前記受信サーバに実行させるものである。
【００２９】
これにより、セキュリティ検証の処理過程において受信できなかったデータが、後にセキュリティ検証できた場合でも、そのデータの送信順序を保持して受信することができる。
【発明の効果】
【００３０】
本発明によれば、電子メールシステムを用いてデータ交換した電子通商取引や業務上のデータを、受信側で送信元から送信された順番にしたがって管理して、送信／受信の順序の完全一致を保証することができる。
【００３１】
そのため、例えば、発注データ、発注キャンセルデータ、発注内容訂正データなどのように送信先での受信順序が重要となるデータについて、企業間でデータの対応がとりやすくなる。
【００３２】
特に、受信側でのセキュリティ検証の失敗などにより一定期間データ受信が生じた場合でも、復旧前後のデータの受信順序を保証することができる。
【００３３】
さらに、送信側から一旦受信側で格納されたデータの無効化や、別のデータへの置き換えを依頼された場合に、受信側では、通知された依頼を確認するだけで、自動的に該当するデータの無効化、置き換えが実行されるため、管理者の受信データ管理の作業負担を軽減することができる。
【発明を実施するための最良の形態】
【００３４】
以下、本発明を実施するための最良の形態として、本発明を、複数の支社と本社との間のデータ交換システムに適用し、支社から発注データなどを本社の受注管理者へ送信する業務において使用する場合の態様を説明する。
【００３５】
図１は、本発明を実施するデータ交換システムの構成例を示す図である。
【００３６】
データ交換システムは、送信サーバ１、受信サーバ２、送信側メールサーバ３、受信側メールサーバ４、支社端末５ａ、５ｂ、受注管理端末６、および管理者端末７から構成される。
【００３７】
送信サーバ１および受信サーバ２は、インターネット８を通じてＳＭＴＰ／ＰＯＰによりメール形式データの交換を行う送信側メールサーバ３および受信側メールサーバ４により構築された電子メールシステムを介して、支社端末５ａ、５ｂおよび本社の受注管理端末６との間でデータ交換を行う。送信サーバ１は、クライアントの支社端末５ａ、５ｂのデータ送信を制御するサーバであり、受信サーバ２は、クライアントの受注管理端末６のデータ受信を制御するサーバである。
【００３８】
送信サーバ１は、支社端末５ａ、５ｂから受注管理端末６へ送信されるデータを受け付け、受け付けたデータの送信先（送信先アドレス）ごとに、送信した月日を示す送信日、および送信日内でのデータの送信順序を示す連続する番号（通番）を含む所定の送信データ情報を付与してメール形式のデータに変換し、送信側メールサーバ３を通じてメール送信する。
【００３９】
また、送信サーバ１は、送信先のデータ受信を制御する受信サーバ２からデータの再送依頼を受け付けて、該当するデータを再度メール送信する。
【００４０】
受信サーバ２は、受信側メールサーバ４を通じて受注管理端末６宛に送信されたデータの全てを、送信元ごとの送信順序を保証してデータ受信を管理する。例えば、送信日単位に、前日の受信データ数をチェックし、未受信データがあれば、そのデータの送信元の送信サーバ１へデータの再送依頼を通知する。
【００４１】
また、受信サーバ２は、支社端末５ａ、５ｂから依頼されたデータの無効化もしくは置き換えを行う。無効化とは、受信サーバ２が管理する支社端末５ａ、５ｂのデータを、受注管理端末６が参照できないようにする処理または削除する処理である。置き換えとは、受信サーバ２が管理する支社端末５ａ、５ｂのデータを置き換え依頼と共に受信したデータと置き換える処理である。
【００４２】
支社端末５ａ、５ｂは、送信サーバ１へ接続して、受注管理端末６宛のデータ送信依頼、送信済みデータに対する無効化依頼もしくは置き換え依頼をエントリする端末装置である。
【００４３】
受注管理端末６は、受信サーバ２へ接続して、受信サーバ２が管理する支社端末５ａ、５ｂからの受信データを参照する端末装置である。
【００４４】
管理者端末７は、受信サーバ２へ接続して、受信サーバ２のデータ受信やセキュリティ検証の状況を管理する端末装置である。
【００４５】
送信サーバ１は、データエントリ部１１、エントリ監視部１２、送信データ記憶部１３、および送信制御部１４を備える。
【００４６】
データエントリ部１１は、支社端末５ａ、５ｂからエントリされた受注管理端末６を送信先とするデータ、送信済みデータの無効化依頼もしくは置き換え依頼を格納する処理手段である。
【００４７】
エントリ監視部１２は、データエントリ部１１内のデータ格納状態を監視し、格納されているデータなどを送信先ごとにまとめて、まとめたデータを送信データ記憶部１３へ格納する処理手段である。
【００４８】
送信制御部１４は、送信データ記憶部１３に格納されたデータの送信を制御する手段である。
【００４９】
図２に、送信制御部１４の内部構成例を示す。送信制御部１４は、送信処理部１４１、送信管理部１４２、送信管理テーブル１４３、および再送依頼処理部１４４を備える。
【００５０】
送信処理部１４１は、送信データ記憶部１３からデータを取り出し、データ送信および受信サーバ２でのデータ受信管理に必要な情報（送信データ情報）を付加し、受注管理端末６を送信先とするメール形式のデータに変換し、署名認証および暗号化などのセキュリティ検証処理を施して、送信側メールサーバ３へデータのメール送信を要求する手段である。
【００５１】
送信データ情報は、送信日時、送信先アドレス、送信元アドレスなど、メール送信に必要な一般的な情報の他、送信を識別するサービス名、通常のデータ送信か依頼であるかを示す送信種別、データを識別するデータ名（ファイル名）、送信元のデータ送信を制御する送信サーバ１の識別情報、送信先のデータ受信を制御する受信サーバ２の識別情報、送信先ごとに同一の送信日内の送信順序を示す連続番号（通番）、および送信日の前日に最後に送信されたデータの通番を示す最終番号などからなる。
【００５２】
また、無効化依頼や置き換え依頼の場合には、さらに、依頼対象のデータを特定するための情報、依頼完了の通知などが送信データ情報としてデータに追加される。
【００５３】
なお、送信データ情報は、メールヘッダもしくはメール本体内に記述される。
【００５４】
また、送信処理部１４１は、送信データ記憶部１３から取り出したデータが、無効化依頼または置き換え依頼である場合に、送信管理部１４２を介して送信管理テーブル１４３から依頼対象の送信データ情報を取り出し、取り出した送信データ情報をもとに依頼元の受信サーバ２を送信先としたメール形式の無効化依頼または置き換え依頼を作成し、送信側メールサーバ３へメール送信を要求する。
【００５５】
また、送信処理部１４１は、再送依頼処理部１４４からの再送要求を受け付けて、送信データ記憶部１３から依頼対象のデータを取り出し、送信管理テーブル１４３の該当する送信データ情報を参照して依頼元の受信サーバ２を送信先としたメール形式のデータに変換し、送信側メールサーバ３へメール送信を要求する。
【００５６】
送信管理部１４２は、送信処理部１４１で送信されたデータの送信データ情報を送信管理テーブル１４３に記憶して管理する手段である。
【００５７】
再送依頼処理部１４４は、受信サーバ２から再送依頼を受信すると、依頼対象のデータの再送を送信処理部１４１へ要求する手段である。
【００５８】
受信サーバ２は、受信制御部２１、受信データ記憶部２２、管理テーブル２３、および管理テーブル監視部２４を備える。
【００５９】
受信制御部２１は、受信側メールサーバ４に送信されたデータを取り出し、データが送信された順序およびセキュリティを保持できるように受信を制御し、受信が完了したデータを受信データ記憶部２２に格納する手段である。
【００６０】
図３に、受信制御部２１の内部構成例を示す。受信制御部２１は、データ振り分け部２１１、非登録データ記憶部２１２、受信管理部２１３、受信管理テーブル２１４、セキュリティ検証部２１５、並び替え用記憶部２１６、未検証データ一時記憶部２１７、および受信データ保証部２２０を備える。
【００６１】
データ振り分け部２１１は、受信側メールサーバ４から取り出したデータの送信元が登録者（例えば、支社端末５ａ、５ｂ）か否かを判定し、送信元が登録者でないデータを非登録データ記憶部２１２に格納する手段である。なお、非登録データ記憶部２１２に格納されたデータは、例えば、所定の期間ごとにもしくは管理者の指示により廃棄される。
【００６２】
受信管理部２１３は、受信側メールサーバ４から取り出したデータおよびデータ送信を特定する情報および受信状況などに関する情報（受信データ情報）を受信管理テーブル２１４に記憶して管理する手段である。
【００６３】
受信データ情報は、受信したデータから抽出した送信データ情報（送信日時、送信先アドレス、送信元アドレス、サービス名、データ名（ファイル名）、送信サーバ１の識別情報、受信サーバ２の識別情報、通番、および最終番号など）、受信サーバ２内でのデータ格納情報、セキュリティ検証状況を示すフラグ、依頼内容およびその処理状況を示すフラグ、受信完了か否かを示すフラグなどからなる。
【００６４】
セキュリティ検証部２１５は、受信側メールサーバ４から取り出されたデータに所定の復号および署名認証などを施してセキュリティを検証する手段である。
【００６５】
セキュリティ検証部２１５は、セキュリティ検証に成功したデータを受信データ記憶部２２に格納する。また、セキュリティ検証に失敗したデータを未検証データ一時記憶部２１７に格納し、未検証データ一時記憶部２１７に格納したデータおよび退避理由（例えば、「復号エラー」、「署名認証エラー」など）を管理テーブル２３に記録する。
【００６６】
また、同じ送信元からセキュリティ検証に失敗したデータに後続して送信されたデータであって、セキュリティ検証が成功したものを、並び替え用記憶部２１６に格納し、並び替え用記憶部２１６に格納したデータおよび退避理由（例えば、「先頭データ退避」など）を管理テーブル２３に記録する。
【００６７】
セキュリティ検証部２１５は、未検証データ一時記憶部２１７に格納したデータのセキュリティ検証に成功した場合に、検証に成功したデータおよび同じ送信元から送信された並び替え用記憶部２１６のデータを受信データ記憶部２２に移動させる。
【００６８】
受信データ記憶部２２は、セキュリティ検証に成功して受信が完了したデータを格納する手段である。受信データ記憶部２２では、データは、送信元ごとに、その通番（送信された順番）にしたがって参照されるように格納される。
【００６９】
管理テーブル２３は、受信制御部２１でのセキュリティ検証の失敗の有無、無効化依頼もしくは置き換え依頼の有無などを示す情報が記録されるデータテーブルである。
【００７０】
管理テーブル監視部２４は、所定の期間もしくは契機ごとに、管理テーブル２３をチェックし、一定期間以上で未検証データ一時記憶部２１７に格納されたままのデータについてセキュリティ検証の再実行要求を行う手段である。
【００７１】
また、管理テーブル監視部２４は、管理者端末７の指示により、管理テーブル２３を管理者端末７に表示させて、管理者に受信サーバ２における受信未完了のデータの状態を提示する。
【００７２】
また、管理テーブル監視部２４は、管理テーブル２３に無効化依頼または置き換え依頼がある場合に管理者端末７へ通知する。
【００７３】
図４に、送信制御部１４において変換されたデータのメールヘッダのデータ項目例を示す。
【００７４】
メールヘッダには、以下のようなメッセージＩＤ（Ｍｅｓｓａｇｅ−Ｉｄ）が設定される。また、置き換え依頼の場合には、ヘッダの拡張記述として、以下のような、置き換え依頼（Ｘ−Ｍａｉｌｒｅｐｌａｃｅ−Ｓｕｐｐｏｒｔ）、および置き換え確認（Ｘ−Ｍａｉｌｒｅｐｌａｃｅ−Ｃｈｅｃｋ）が追加される。
【００７５】
メッセージＩＤ（Ｍｅｓｓａｇｅ−Ｉｄ）：＜時間．送信サーバ識別子／サービス名．受信サーバ識別子．ファイル識別子＠アドレス＠通番／前日の最終通番＠＞
置き換え依頼（Ｘ−Ｍａｉｌｒｅｐｌａｃｅ−Ｓｕｐｐｏｒｔ）：依頼Ａ＠暗号化したメッセージＩＤ＠置き換えチェック＠置き換え回数
置き換え確認（Ｘ−Ｍａｉｌｒｅｐｌａｃｅ−Ｃｈｅｃｋ）：位置＠ｈａｓｈ＝ハッシュ値
「メッセージＩＤ」の時間は、メール送信の日時情報である。なお、送信日は、時間から抽出される。送信サーバ識別子は、送信元のデータ送信を制御する送信サーバ１の識別情報である。サービス名は、一つの送信・受信を特定するための処理に対する名称である。受信サーバ識別子は、送信先のデータ受信を制御する受信サーバ２の識別情報である。
【００７６】
ファイル識別子は、支社端末５ａ、５ｂで指定された、送信データが送信先で格納されるファイルの識別情報である。通番は、送信先ごとに、送信日内でのデータ送信順序を示す値である。最初の１件を「００１」として連続する番号を採番する。前日の最終通番は、データの送信日の前日において、その送信先について最後に送信されたデータの通番である。
【００７７】
「置き換え依頼」の依頼Ａは、管理者Ａに対してある依頼を要求するか否かを示す識別子である。管理者Ａに対する置き換え依頼の場合には“ｒｅｐｌａｃｅＡ”が設定される。置き換えチェックは、置き換え処理結果の通知を要求するか否かを識別する判断フラグである。“Ｙｅｓ”が設定されている場合には、置き換え処理完了後に受信サーバ２から完了通知がメールによって送信サーバ１へ復帰してくる。これにより、データ置き換え完了の目安となる。置き換え回数は、同一のデータに対して置き換え依頼がなされた回数である。同一の回数の場合には、置き換え依頼が再度適用されることはない。
【００７８】
「置き換え確認」の位置は、置き換え依頼に関する情報の記述場所が、メールヘッダであるかボディであるかを示すための識別子である。ハッシュ値は、既に送信された置き換えられるデータのハッシュ値である。ハッシュ値により、受信サーバ２で、置き換えるべき対象のデータ（置き換え元）であるか否かを確認することができる。
【００７９】
また、無効化依頼の場合には、ヘッダの拡張記述として、置き換え依頼と同様の情報が設定され、依頼に、“ｎｕｌｌｉｆｙＡ”が設定される。
【００８０】
また、受信サーバ２からの再送依頼も、置き換え依頼と同様の情報が記述される。再送依頼の場合には、依頼に“ｒｅｒｅｃｅｉｖｅ”が設定される。
【００８１】
図５および図６に、受信管理テーブル２１４のデータ構成例を示す。
【００８２】
受信管理テーブル２１４は、通信相手管理テーブル２１４ａ、日付単位管理テーブル２１４ｂ、および実データ管理テーブル２１４ｃで構成される。
【００８３】
通信相手管理テーブル２１４ａは、通信相手である送信元（送信元アドレス）ごとの日付単位管理テーブル２１４ｂへのアクセス情報を管理するリストであり、通信相手数分のレコードが生成される。
【００８４】
図６（Ａ）に示すように、通信相手管理テーブル２１４ａは、通信相手ごとの通信相手管理ファイル名（管理ファイル名）および位置で構成される。通信相手管理ファイル名は、予め用意しておいた送信元アドレス（支社端末５ａ、５ｂ）ごとに対応する管理ファイル名であり、位置は、その通信相手に対する日付単位管理テーブル２１４ｂの格納位置を示す。
【００８５】
日付単位管理テーブル２１４ｂは、送信日の日付ごとに受信した実データを抽出するために、送信日から実データ管理テーブル２１４ｃへのアクセス情報を管理するテーブルであり、送信日の日付分のレコードが生成される。
【００８６】
図６（Ｂ）に示すように、日付単位管理テーブル２１４ｂは、送信日の日付および位置で構成される。送信日（日付）ごとの位置は、その送信日に対応する実データ管理テーブル２１４ｃの格納位置を示す。
【００８７】
実データ管理テーブル２１４ｃは、受信したデータを特定する情報、受信データの格納場所、受信データのセキュリティ検証や依頼処理の状態、受信状態など、受信データに関する情報を管理するテーブルであり、受信メール数分のレコードが生成される。
【００８８】
図６（Ｃ）に示すように、実データ管理テーブル２１４ｃは、番号、通番、理由コード、対象のメッセージＩＤ、対象センタ、対象ファイル、バックアップファイル名、格納ファイル名、状態、置き換え、通知、位置管理、および受信状態で構成される。
【００８９】
番号は、実データ管理テーブル２１４ｃのレコードのエントリ番号である。
【００９０】
通番は、データのメッセージＩＤに記述された通番である。
【００９１】
理由コードは、データの未受信状態、すなわち受信データ記憶部２２に格納されていない状態の理由である。
【００９２】
対象メッセージＩＤは、データのメッセージＩＤである。
【００９３】
対象センタは、データを送信した送信サーバ１の識別情報である。
【００９４】
対象ファイルは、データのメッセージＩＤ内に記述されたファイル識別子であり、受信サーバ２側でデータが格納されるファイル名である。
【００９５】
バックアップファイル名は、受信サーバ２が管理するデータのバックアップ用ファイル名である。バックアップファイル名として、並び替え用記憶部２１６または未検証データ一時記憶部２１７内でのデータの格納情報を用いてもよい。
【００９６】
格納ファイル名は、データが受信完了後に本来格納されるべき位置情報である。受信データ記憶部２２内でのデータの格納情報である。
【００９７】
状態は、データの現在のセキュリティ検証の処理結果である。
【００９８】
置き換えは、置き換え依頼かどうかの判断フラグである。“Ｙｅｓ”であれば、置き換え依頼に伴うデータであることを示す。
【００９９】
通知は、置き換え完了を通知するか否かの判断フラグである。“Ｙｅｓ”であれば、置き換え後に、送信サーバ１へ置き換えを通知する。
【０１００】
位置管理は、データの位置を示す情報である。“受信先頭”は、受信したデータの中の先頭データであることを示し、“書換先頭”は、並び替え用記憶部２１６に格納されているデータの先頭データであることを示す。
【０１０１】
受信状態は、データの受信完了、すなわちデータが受信データ記憶部２２に格納されたか否かを示す。
【０１０２】
受信データ保証部２２０は、前日に受信すべきデータおよび受信データの送信順序を保証し、または依頼により受信データの無効化もしくは置き換えを行う手段である。
【０１０３】
受信データ保証部２２０は、再送依頼部２２１、データ無効化部２２２、データ置き換え部２２３を備える。
【０１０４】
再送依頼部２２１は、受信データが送信日の最初のデータである場合に、メッセージＩＤに記述された前日の最終通番を取得し、受信管理テーブル２１４に記録された前日の受信データ数が最終通番と等しくないときは、受信管理テーブル２１４に記録された前日受信分のデータの通番から欠落している通番を抽出し、前日の日付および欠落した通番をもとに特定したデータの再送依頼を送信サーバ１へメール送信する手段である。
【０１０５】
データ無効化部２２２は、無効化依頼のメールを受信した場合に、無効化依頼に記述されたデータを受信データ記憶部２２から削除する手段である。
【０１０６】
データ置き換え部２２３は、置き換え依頼を受信した場合に、置き換え依頼に記述されたデータを、置き換え依頼に添付されたメールと置き換える手段である。
【０１０７】
次に、本発明の処理を、支社端末５ａから本社の受注管理端末６へ発注データを送信する場合を例に説明する。
【０１０８】
図７に、送信サーバ１と受信サーバ２とのデータ交換の処理の流れを示す。
【０１０９】
（１）  支社端末５ａは、発注データを送信サーバ１のデータエントリ部１１にエントリする。送信サーバ１のエントリ監視部１２は、所定の期間ごとにデータエントリ部１１を監視し、別々にエントリされた発注データを送信先ごとのデータａにまとめ、送信データ記憶部１３に格納する。
【０１１０】
送信制御部１４の送信処理部１４１は、送信データ記憶部１３に格納されたデータａを取り出す。ここで、データａの送信が、２００３年８月１日の２４回目の送信とする。
【０１１１】
送信処理部１４１は、送信管理部１４２を介して送信管理テーブル１４３から直前に送信したデータの通番「０２３」をもとにデータａの通番「０２４」を採番する。また、送信日の１回目のデータ送信ではないので、前日の最終通番を「０００」とする。メールヘッダのメッセージＩＤに、送信サーバ１の識別子、受信サーバ２の識別子、送信先（受注管理端末６）アドレス、送信日、通番、前日の最終通番などの送信データ情報を記述する。
【０１１２】
さらに、データａに署名認証および暗号化を施して、電子メールシステムを介して受注管理端末６へメール送信する。暗号化されたデータａは、送信側メールサーバ３へ送信される。また、送信管理部１４２は、データａの送信データ情報を送信管理テーブル１４３に記録する。
【０１１３】
受信サーバ２は、電子メールシステムを通じて受注管理端末６へ送信されたデータａを受信側メールサーバ４から取り出す。データ振り分け部２１１は、データａの送信元が登録者かどうかを判断する。データａの送信元（支社端末５ａ）は予め登録されているとする。
【０１１４】
受信管理部２１３は、データａのメールヘッダから、送信日、送信サーバ１の識別子、データのファイル名、通番、前日の最終通番などを抽出し、受信管理テーブル２１４に記録する。
【０１１５】
また、セキュリティ検証部２１５は、受信したデータａを復号し、署名認証などのセキュリティの検証を行う。データａのセキュリティ検証に成功した場合に、復号したデータａを受信データ記憶部２２に格納する。受信管理部２１３は、データａの格納ファイル名、受信状態「受信済み」などを受信管理テーブル２１４に記録する。
【０１１６】
（２）  上記の（１）と同様の動作により、送信サーバ１は、データｂを受注管理端末６へメール送信する。送信処理部１４１は、データａの通番「０２４」をもとにデータｂの通番「０２５」を採番し、データｂのメールヘッダに送信データ情報を設定し、署名認証および暗号化を施してメール送信する。
【０１１７】
送信管理部１４２は、送信データ情報を送信管理テーブル１４３に記録する。
【０１１８】
受信サーバ２では、受信側メールサーバ４からデータｂが取り出される。セキュリティ検証部２１５は、データｂのセキュリティ検証が成功したら、データｂを受信データ記憶部２２に格納する。受信管理部２１３は、上記（１）と同様の情報をメールヘッダから抽出して受信管理テーブル２１４に記録する。
【０１１９】
（３）  翌日（２００３年８月２日）、送信サーバ１の送信制御部１４は、送信データ記憶部１３に格納されたデータｃを取り出す。ここで、データｃが、この送信日の１回目の送信とする。
【０１２０】
送信処理部１４１は、取り出したデータｃの送信の通番を「００１」とし、送信管理部１４２を介して送信管理テーブル１４３から前日（８月１日）の最後の送信データｂの通番「０２５」を取得する。そして、データｃのメールヘッダに、送信日（０３０８０２）、通番（００１）、前日の最終通番（０２５）を設定し、データｃに署名認証および暗号化を施してメール送信する。
【０１２１】
送信管理部１４２は、データｃの送信データ情報を送信管理テーブル１４３に記録する。
【０１２２】
受信サーバ２では、上記（１）の処理と同様に、データ振り分け部２１１によるデータ振り分け後、受信管理部２１３は、所定の情報を受信管理テーブル２１４に記録する。セキュリティ検証部２１５は、データｃのセキュリティ検証を行い、検証が成功したら、データｃを受信データ記憶部２２に格納する。
【０１２３】
そして、受信データ保証部２２０は、データｃのメールヘッダから、前日の最終通番「０２５」を取り出し、受信管理テーブル２１４から、前日（８月１日）の受信データ数を求める。前日の受信データ数が、前日の最終通番と等しくなければ、受信管理テーブル２１４の前日分の受信データの通番から欠落している通番を抽出する。
【０１２４】
例えば、通番「００３」が欠落していたら、以下のような内容を含む再送依頼を作成して送信サーバ１へメール送信する。
【０１２５】
「依頼＝再送（ｒｅｒｅｃｅｉｖｅ），＜再送依頼対象データの送信データ情報（送信配送日付＝０３０８０１，通番＝００３）＞」
送信サーバ１の再送依頼処理部１４４は、受信サーバ２から再送依頼を受信すると、送信処理部１４１に再送依頼を要求する。
【０１２６】
送信処理部１４１は、特定されたデータｄを送信データ記憶部１３から取り出す。また、送信管理部１４２を介して送信管理テーブル１４３から取得したデータｄの最初の送信時の送信データ情報（０３０８０１，００３）を暗号化したデータ、送信日「０３０８０２」および今回の送信の通番「００５」をメールヘッダに設定して、受信サーバ２へ再送する。
【０１２７】
受信サーバ２では、再送されたデータｄを受信側メールサーバ４から取り出すと、セキュリティ検証部２１５は、セキュリティの検証を行って、復号したデータｄを受信データ記憶部２２に格納する。
【０１２８】
また、受信管理部２１３はデータｄのメールヘッダから送信日時、通番などの所定の情報を抽出して受信管理テーブル２１４に記録する。ここで、再送されたデータｄのメールヘッダには、最初の送信時の送信データ情報が設定されているので、データｄは、２００３年０８月０１日の通番「００３」のデータとして扱われる。
【０１２９】
（４）  一方、支社端末５ａでは、前日（０３０８０１）に送信された通番「００６」のデータｅが送信先を誤って送信したものであることが判明したとする。
【０１３０】
支社端末５ａが、無効化したいデータｅの無効化依頼をデータエントリ部１１にエントリすると、エントリ監視部１２は、無効化依頼を送信データ記憶部１３へ移す。
【０１３１】
送信サーバ１の送信処理部１４１は、送信データ記憶部１３から取り出した無効化依頼をもとに、無効化の対象とされたデータｅの送信データ情報を送信管理テーブル１４３から取得し、以下の内容を含む無効化依頼を受信サーバ２へメール送信する。
【０１３２】
「依頼＝無効化（ｎｕｌｌｉｆｙ）Ａ，＜データｅの送信データ情報（送信日付＝０３０８０１，通番＝００６，…）＞」
なお、データｅの送信データ情報を暗号化して送信してもよい。
【０１３３】
受信サーバ２は、無効化依頼のメールを受信側メールサーバ４から取り出すと、セキュリティ検証部２１５による無効化依頼のセキュリティ検証が成功であれば、管理テーブル２３にデータｅの無効化依頼を登録する。
【０１３４】
管理テーブル監視部２４は、管理テーブル２３を監視し無効化依頼を見つけると、管理者Ａへデータｅの無効化依頼を通知する。これにより、管理者Ａは、データｅの無効化依頼を知ることができる。
【０１３５】
管理者Ａがデータｅの無効化依頼を承認した場合に、受信データ保証部２２０のデータ無効化部２２２は、該当するデータｅを受信データ記憶部２２から削除し、受信管理テーブル２１４のデータｅに無効化が処理済みであることを記録する。
【０１３６】
（５）  また、支社端末５ａでは、前日（０３０８０１）に送信された通番「００７」のデータｆの内容が誤りであることが判明したとする。
【０１３７】
支社端末５ａが、訂正したデータｆ’とともに置き換え依頼をデータエントリ部１１にエントリする。エントリ監視部１２は、置き換え依頼とデータｆ’とを送信データ記憶部１３へ移す。
【０１３８】
送信サーバ１の送信処理部１４１は、送信データ記憶部１３から取り出した置き換え依頼をもとに、対象とされたデータｆの送信データ情報を送信管理テーブル１４３から取得し、送信データ記憶部１３から抽出したデータｆのハッシュ値を求め、以下の内容を含む置き換え依頼を受信サーバ２へメール送信する。
【０１３９】
「依頼＝置き換え（ｒｅｐｌａｃｅ）Ａ，＜データｆの送信データ情報（送信日付＝０３０８０１，通番＝００７）＞，データｆのハッシュ値」
受信サーバ２は、受信側メールサーバ４から置き換え依頼を取り出すと、セキュリティ検証部２１５により、受信データ記憶部２２からデータｆを取得してハッシュ値を求め、置き換え依頼に記述されたハッシュ値をチェックする。他のセキュリティ検証も成功すれば、管理テーブル２３に置き換え依頼を登録する。
【０１４０】
管理テーブル監視部２４は、管理テーブル２３を監視し置き換え依頼を見つけると、管理者Ａへ置き換え依頼を通知する。これにより、管理者Ａは、データｆの置き換え依頼を知ることができる。
【０１４１】
管理者がデータｆの置き換え依頼を承認した場合に、受信データ保証部２２０のデータ置き換え部２２３は、受信データ記憶部２２に格納されたデータｆを送信されたデータｆ’に置き換え、受信管理テーブル２１４のデータｆに置き換えが処理済みであることを記録する。
【０１４２】
このように、従来、受信サーバ２側では、データｄが送信されていたことを知ることはできなかったが、本発明では、前日の受信データの通番のチェックにより、受信すべきデータｄの未受信を発見してデータ送信元の送信サーバ１にデータｄの再送依頼をすることができる。
【０１４３】
このため、受信サーバ２は、受注管理端末６が受信すべきデータを、支社端末５が送信した順序によって受信データ記憶部２２に格納することができ、データ交換システムにおけるデータ交換の確実性および順序性を保持することができる。
【０１４４】
また、送信元の依頼により既に受信したデータの無効化や置き換えの処理を行う場合に、受信サーバ２の管理者が送信元の依頼を承認するだけで、受信サーバ２において自動的に依頼対象のデータを検索し、該当するデータを無効化または置き換えるため、管理者の受信データ管理の負担を軽減することができる。
【０１４５】
図８に、受信サーバ２におけるデータ受信およびセキュリティ検証の処理を説明するための図を示す。
【０１４６】
送信サーバ１は、支社端末５ｂの２つのデータｂをデータｂ１、データｂ２の順序で、支社端末５ａの３つのデータａをデータａ１、データａ２、データａ３の順序で受注管理端末６宛にメール送信したとする。受信側メールサーバ４には、データｂ１、データａ１、データａ２、データｂ２、データｃ１、データａ３の順番で格納されているとする。
【０１４７】
受信サーバ２では、受信側メールサーバ４が受信したデータを取り出し、以下のような処理を行う。
【０１４８】
データ振り分け部２１１は、予め登録された送信元からのデータであるかどうかを判定する。そして、支社端末５ａ、５ｂのデータであれば、受信管理部２１３にデータを渡し、非登録者のデータｃ１を非登録データ記憶部２１２へ格納する。
【０１４９】
受信管理部２１３は、データ振り分け部２１１で振り分けられたデータのメールヘッダの送信データ情報から、時間（送信日）、通番、メッセージＩＤ、送信元アドレス、送信サーバ１の識別子、データのファイル名などの所定の情報を抽出して受信管理テーブル２１４へ記録する。
【０１５０】
セキュリティ検証部２１５は、データ振り分け部２１１から渡されたデータに対して復号、署名認証などを施してセキュリティの検証を行う。
【０１５１】
ここで、データｂ１のセキュリティ検証が成功した場合には、データｂ１を受信データ記憶部２２に格納する。受信管理部２１３は、データｂ１のレコードの受信状態に「受信済み」、データｂ１の受信データ記憶部２２内の格納位置（ディレクトリ名、ファイル名など）を登録する。
【０１５２】
その後、同じ送信元からのデータｂ２も、データｂ１と同様に処理され、受信データ記憶部２２に格納される。
【０１５３】
一方、セキュリティ検証用データ（復号キーや署名認証データなど）の設定が誤っていた場合に、セキュリティ検証部２１５でのセキュリティ検証に失敗することがある。例えば、セキュリティ検証でデータａ１の復号が失敗したとする。
【０１５４】
セキュリティ検証部２１５は、データａ１を未検証データ一時記憶部２１７に格納して一時的に退避させ、管理テーブル２３にデータａ１の格納位置と退避の原因（復号エラー）を記録する。
【０１５５】
また、受信管理部２１３は、セキュリティ検証失敗の通知を受けて、受信管理テーブル２１４のデータａ１のレコードの理由コードに「復号エラー」を、受信状態に「未受信（未）」を記録する。
【０１５６】
その後、データ振り分け部２１１から渡されたデータａ２およびデータａ３については、セキュリティ検証部２１５は、支社端末５ａのセキュリティ検証用データの設定を更新し、復号および署名認証に成功したとする。
【０１５７】
しかし、同じ送信先（支社端末５ａ）から送信されたデータａ１のセキュリティ検証が失敗しているので、セキュリティ検証部２１５は、データａ２、ａ３を並び替え用記憶部２１６に格納して退避させ、管理テーブル２３にデータａ２、ａ３それぞれの識別情報と退避の原因（データａ１の退避）を記録する。
【０１５８】
また、受信管理部２１３は、セキュリティ検証成功の通知を受けて、受信管理テーブル２１４のデータａ２、ａ３のレコードそれぞれの検証状態に「復号済み」を、受信状態に「未受信」を記録する。
【０１５９】
管理テーブル監視部２４は、管理テーブル２３を監視して、データａ１の退避の原因（検証失敗）およびデータａ２、ａ３の退避の原因（データａ１の退避）から、データａ１のセキュリティ検証をセキュリティ検証部２１５に要求する。
【０１６０】
セキュリティ検証部２１５は、未検証データ一時記憶部２１７に格納されていたデータａ１を取り出し、再度セキュリティの検証を行う。データａ１のセキュリティ検証が成功したら、復号されたデータａ１を受信データ記憶部２２に格納し、さらに、既に復号されたデータａ２、ａ３を並び替え用記憶部２１６から受信データ記憶部２２に移動させて、管理テーブル２３の該当するレコードを削除する。
【０１６１】
さらに、受信管理部２１３は、受信管理テーブル２１４のデータａ１、ａ２、ａ３それぞれのレコードについて、受信状態を「受信済み」に変更し、受信データ記憶部２２内の格納位置を記録する。
【０１６２】
受信データ記憶部２２には、既に復号された支社端末５ｂからのデータ（ｂ１、ｂ２）が通番に従って格納されているが、さらに、支社端末５ａからのデータ（ａ１、ａ２、ａ３）も通番の順に従って格納される。
【０１６３】
これにより、受注管理端末６で受信データ記憶部２２の受信データを参照する場合に、常に送信順序に従ったデータを参照することができ、送信順序が先立つデータａ１が受信されずに後続のデータａ２、データａ３が先に受信されてしまうという状態の発生を防止することができる。
【０１６４】
図９〜図１１に、本発明の処理フローを示す。
【０１６５】
図９は、送信サーバ１の処理フローを示す図である。
【０１６６】
送信サーバ１において、送信処理部１４１は、送信データ記憶部１３から未送信のデータを取得し（ステップＳ１０）、データ送信の種別が、通常のデータ送信であるか、または無効化依頼もしくは置き換え依頼の送信であるかを判定する（ステップＳ１１）。
【０１６７】
データの送信種別が通常であれば、さらに、その日（送信日付）の最初の送信であるか否かを判定する（ステップＳ１２）。
【０１６８】
この日の最初の送信でなければ、送信管理部１４２を介して送信管理テーブル１４３を参照し、送信データ情報に通信相手ごとの通番を付与する（ステップＳ１３）。一方、この日の最初の送信であれば、送信管理部１４２を介して送信管理テーブル１４３を参照し、送信データ情報に通信相手ごとの通番および前日の最終通番を付与する（ステップＳ１４）。送信管理部１４２は、送信データ情報を送信管理テーブル１４３に記録する（ステップＳ１５）。
【０１６９】
その後、送信処理部１４１は、送信データに対して署名認証や暗号化の処理を施し（ステップＳ１６）、暗号化したデータを送信側メールサーバ３へメール送信して（ステップＳ１７）、処理を終了する。
【０１７０】
一方、ステップＳ１１の処理で、送信種別が無効化依頼もしくは置き換え依頼である場合には、さらに依頼の種類を判別する（ステップＳ１８）。
【０１７１】
依頼が無効化依頼であれば、送信処理部１４１は、送信管理部１４２を介して送信管理テーブル１４３から無効化したいデータの送信データ情報を取得する（ステップＳ１９）。その後、ステップＳ１２〜ステップＳ１７の処理を行い、処理を終了する。
【０１７２】
また、依頼が置き換え依頼であれば、送信処理部１４１は、送信管理部１４２を介して送信管理テーブル１４３から置き換えたいデータの送信データを取得し、送信データ記憶部１３に格納された置き換えるデータのハッシュ値を求める（ステップＳ１１０）。その後、ステップＳ１２〜ステップＳ１７の処理を行い、処理を終了する。
【０１７３】
図１０は、受信サーバ２の処理フローを示す図である。
【０１７４】
受信サーバ２において、受信側メールサーバ４からデータを受信すると（ステップＳ２０）、データ振り分け部２１１は、送信元が登録されているかどうかを判定する（ステップＳ２１）。
【０１７５】
送信元が登録されていれば、受信管理部２１３は、メールヘッダの送信データ情報を抽出して受信管理テーブル２１４に記録する（ステップＳ２２）。
【０１７６】
さらに、セキュリティ検証部２１５は、データの復号および署名認証処理を行い（ステップＳ２３）、処理が成功した場合に（ステップＳ２４）、このデータより前に受信されたデータの復号および署名認証処理が成功しているかどうかを判定する（ステップＳ２５）。前データの処理が成功していれば、データを受信データ記憶部２２に格納する（ステップＳ２６）。
【０１７７】
一方、前データの処理が成功していなければ、データを並び替え用記憶部２１６に格納し、管理テーブル２３に退避の原因を記録して（ステップＳ２７）、処理を終了する。
【０１７８】
また、ステップＳ２３の復号および署名認証処理が成功しなかった場合は（ステップＳ２４）、データを未検証データ一次記憶部２１７に格納し、管理テーブル２３に退避の原因を記録して（ステップＳ２８）、処理を終了する。
【０１７９】
その後、受信管理部２１３は、受信データの送信種別を判定する（ステップＳ２９）。
【０１８０】
送信種別が通常の送信であれば、さらに、その受信データが、最初の送信であるかどうかを判定し（ステップＳ２１０）、受信データ保証部２２０の再送依頼部２２１により最初の送信であれば受信データ保証処理を行う（ステップＳ２１１）。
【０１８１】
一方、送信種別が無効化依頼または置き換え依頼であれば、依頼を管理テーブル２３に記録する（ステップＳ２１２）。その後、管理テーブル監視部２４は、管理テーブルを監視して依頼を管理者へ通知する（ステップＳ２１３）。
【０１８２】
また、ステップＳ２１の処理で、データの送信元が登録されていなければ、データを非登録データ記憶部に格納して（ステップＳ２１４）、処理を終了する。
【０１８３】
図１１に、図１０のステップＳ２１１の受信データ保証処理の処理フローを示す。
【０１８４】
再送依頼部２２１では、受信管理テーブル２１４を参照して送信日の前日の受信データ数を算出し（ステップＳ３０）、前日の受信データ数が最終通番の値と等しくなければ（ステップＳ３１）、前日の受信データ中で欠落している通番のデータの再送を送信サーバ１に依頼して（ステップＳ３２）、処理を戻す。
【０１８５】
図１２は、送信サーバ１の送信制御部１４で作成されるメール形式のデータ例を示す。図１２に示すデータでは、メールヘッダの部分に、送信日時、送信先の識別情報、通番、前日の最終通番などの所定の送信データ情報が設定される。また、ヘッダに続く部分には、セキュリティ検証のために、署名データ、メッセージＩＤの暗号化データが設定される。
【０１８６】
図１３は、受信管理テーブル２１４に記録されるデータ例を示す。
【０１８７】
受信管理テーブル２１４には、受信サーバ２が登録された支社端末５からのデータを受信するたびに受信データから抽出された所定の情報は、相手先を管理する通信相手管理テーブル２１４ａおよびデータ交換を日付単位で管理する日付単位管理テーブル２１４ｂを介して、実データ管理テーブル２１４ｃに格納される。さらに、実データ管理テーブル２１４ｃには、受信不可能となった理由コード、バックアップファイル名、格納ファイル名、データの処理状態（状態）、位置管理、受信状態（受信）などが設定される。
【０１８８】
日付単位管理テーブル２１４ｂの日付＝２００３０７０６に対応する実データ管理テーブル２１４ｃは、４つのデータを受信していることを示す。
【０１８９】
実データ管理テーブル２１４ｃの番号＝１のレコードは、受信サーバ２が最初に取り出したデータであって、復号処理を行ったが署名認証エラーにより未検証データ一次記憶部２１７に退避されて、受信データ記憶部２２に格納できなかったデータであることを示す。
【０１９０】
また、番号＝２のレコードは、２番目に取り出したデータであり、最初のデータの署名認証エラーにより並び替え用記憶部２１６に退避されて、受信データ記憶部２２に格納できなかったデータであることを示す。
【０１９１】
番号＝３のレコードは、受信サーバ２が３番目に取り出した置き換え依頼であって、置き換える対象は、最初に取り出したデータ（番号＝１）、すなわち通番「０００１」のデータであり、復号・署名認証の処理および置き換え処理が未だ行われていないことを示す。
【０１９２】
番号＝４のレコードは、同様に、２番目に受信したデータ（番号＝２、通番＝０００２）の置き換え依頼であって、復号・署名認証の処理および置き換え処理が未だ行われていないことを示す。
【０１９３】
日付単位管理テーブル２１４ｂの日付＝２００３０７０７に対応する実データ管理テーブル２１４ｃは、１つのデータを受信していることを示す。
【０１９４】
実データ管理テーブル２１４ｃの番号＝１のレコードは、受信サーバ２が最初に取り出したデータであって、送信日内で１番目に送信されたデータであり、復号・署名認証が成功し、受信データ記憶部２２に格納されていることを示す。なお、このデータに設定された前日の最終通番により、前日の受信データ保証処理が行われる。
【０１９５】
以上、本発明をその実施の形態により説明したが、本発明はその主旨の範囲において種々の変形が可能であることは当然である。
【０１９６】
例えば、本例では、送信側メールサーバ３および受信側メールサーバ４は、受信／送信プロトコルとしてＳＭＴＰおよびＰＯＰを用いるメール交換システムであって、送信サーバ１および受信サーバ２は、ＳＭＴＰおよびＰＯＰを用いたメールを処理するものとして説明した。しかし、送信サーバ１および受信サーバ２は、非同期のデータ交換によるデータ交換システムで使用される他のプロトコルを用いて同様の処理を行うことが可能である。
【０１９７】
また、本発明は、コンピュータにより読み取られ実行される処理プログラムまたはスクリプトとして実施するものであるが、本発明を実現する処理プログラムは、コンピュータが読み取り可能な、可搬媒体メモリ、半導体メモリ、ハードディスクなどの適当な記録媒体に格納することができ、これらの記録媒体に記録して提供され、または、通信インタフェースを介して種々の通信網を利用した送受信により提供されるものである。
【０１９８】
本発明の形態および実施例の特徴を列記すると以下のとおりである。
【０１９９】
（付記１）  電子メールシステムを通じて非同期にデータ交換を行う送信サーバおよび受信サーバを備えて、前記送信サーバおよび前記受信サーバ間で電子通商取引に関するデータを交換するデータ交換処理を、前記送信サーバに実行させるためのプログラムであって、
データの送信先情報、前記送信サーバの識別情報、前記受信サーバの識別情報、データが送信された月日を示す送信日、同一送信日内において送信先ごとのデータの送信順序を連続番号で示す通番、および前記送信日の前日内の最後に送信されたデータの通番である最終通番を含む送信データ情報を送信するデータに付加する処理と、
前記データに対してセキュリティ検証用の処理を施す処理と、
前記データをメール送信する処理と、
前記送信データ情報を送信管理テーブルに記録する処理と、
前記送信日および前記前日に送信したデータを送信データ記憶部に格納する処理と、
前記受信サーバから、送信日および通番により特定されたデータの再送依頼を受信した場合に、前記送信日および前記通番を用いて前記送信データ記憶部から該当する再送対象のデータを取り出し、前記受信サーバ宛に前記再送対象データをメール送信する処理とを、
前記送信サーバに実行させることを
特徴とする送信サーバ用データ交換処理プログラム。
【０２００】
（付記２）  前記付記１記載の送信サーバ用データ交換処理プログラムにおいて、
前記受信サーバが、自サーバ内で受信および保管するデータを無効化する処理を依頼する無効化依頼または他のデータと置き換える処理を依頼する置き換え依頼のいずれかを、依頼対象を特定する前記送信日および前記通番とともに、前記受信サーバ宛へメール送信する処理を、
前記送信サーバに実行させる
ことを特徴とする送信サーバ用データ交換処理プログラム。
【０２０１】
（付記３）  電子メールシステムを通じて非同期にデータ交換を行う送信サーバおよび受信サーバを備えて、前記送信サーバおよび前記受信サーバ間で電子通商取引に関するデータを交換するデータ交換処理を、前記受信サーバに実行させるためのプログラムであって、
前記電子メールシステムのメールサーバから、データ送信元情報、前記送信サーバの識別情報、前記受信サーバの識別情報、データが送信された月日を示す送信日、同一送信日内において送信先ごとのデータの送信順序を連続番号で示す通番、および前記送信日の前日内の最後に送信されたデータの通番である最終通番を含む送信データ情報が付加されたデータを取り出す処理と、
前記データに付加された送信データ情報および受信の状況を管理する情報を受信管理テーブルに記録する処理と、
前記データのセキュリティ検証を行う処理と、
前記セキュリティ検証が成功したデータを受信データ記憶部に格納する処理と、
前記データの通番が送信日の最初の送信を示す値である場合に、前記データの最終通番を取得し、前記最終通番が前記受信管理テーブルの記録された前記送信日の前日の受信データ数と等しくないときは、前記前日に受信されたデータの通番から欠落した通番を抽出して、前記欠番通番に対応するデータの再送依頼を前記送信サーバ宛へメール送信する処理とを、
前記受信サーバに実行させる
ことを特徴とする受信サーバ用データ交換処理プログラム。
【０２０２】
（付記４）  前記付記３記載の受信サーバ用データ交換処理プログラムにおいて、
前記送信サーバから、送信日および通番で特定された前記受信データ記憶部に格納されたデータに対する無効化処理または置き換え処理の依頼を受信した場合に、依頼が無効化であれば前記受信データ記憶部から該当するデータを削除し、または、依頼が置き換えであれば前記受信データ記憶部の該当するデータを別データと置き換える処理を、
前記受信サーバに実行させる
ことを特徴とする受信サーバ用データ交換処理プログラム。
【０２０３】
（付記５）  前記付記３記載の受信サーバ用データ交換処理プログラムにおいて、
前記セキュリティ検証の処理の過程で、さらに、
前記データのセキュリティ検証が失敗した場合に、前記データを未検証データ一時記憶部に格納して退避させ、前記データの識別情報および退避原因を管理テーブルに記録する処理と、
前記データと同一送信元から続けて送信されたデータであってセキュリティ検証が成功したデータを、並び替え用記憶部に格納して退避させ、前記データの識別情報および退避原因を管理テーブルに記録する処理と、
前記未検証データ一時記憶部に退避させた前記データのセキュリティ検証が成功した場合に、当該データおよび前記並び替え用記憶部に退避させたデータを受信データ記憶部に格納する処理とを、
前記受信サーバに実行させる
ことを特徴とする受信サーバ用データ交換処理プログラム。
【０２０４】
（付記６）  電子メールシステムを通じて非同期にデータ交換を行う送信サーバおよび受信サーバを備えて、前記送信サーバおよび前記受信サーバ間で電子通商取引に関するデータを交換するデータ交換処理を、前記送信サーバに実行させるためのプログラムを記録した記録媒体であって、
データの送信先情報、前記送信サーバの識別情報、前記受信サーバの識別情報、データが送信された月日を示す送信日、同一送信日内において送信先ごとのデータの送信順序を連続番号で示す通番、および前記送信日の前日内の最後に送信されたデータの通番である最終通番を含む送信データ情報を送信するデータに付加する処理と、
前記データに対してセキュリティ検証用の処理を施す処理と、
前記データをメール送信する処理と、
前記送信データ情報を送信管理テーブルに記録する処理と、
前記送信日および前記前日に送信したデータを送信データ記憶部に格納する処理と、
前記受信サーバから、送信日および通番により特定されたデータの再送依頼を受信した場合に、前記送信日および前記通番を用いて前記送信データ記憶部から該当する再送対象のデータを取り出し、前記受信サーバ宛に前記再送対象データをメール送信する処理とを、
前記送信サーバに実行させる送信サーバ用データ交換処理プログラムを記録した記録媒体。
【０２０５】
（付記７）  電子メールシステムを通じて非同期にデータ交換を行う送信サーバおよび受信サーバを備えて、前記送信サーバおよび前記受信サーバ間で電子通商取引に関するデータを交換するデータ交換処理を、前記受信サーバに実行させるためのプログラムを記録した記録媒体であって、
前記電子メールシステムのメールサーバから、データ送信元情報、前記送信サーバの識別情報、前記受信サーバの識別情報、データが送信された月日を示す送信日、同一送信日内において送信先ごとのデータの送信順序を連続番号で示す通番、および前記送信日の前日内の最後に送信されたデータの通番である最終通番を含む送信データ情報が付加されたデータを取り出す処理と、
前記データに付加された送信データ情報および受信の状況を管理する情報を受信管理テーブルに記録する処理と、
前記データのセキュリティ検証を行う処理と、
前記セキュリティ検証が成功したデータを受信データ記憶部に格納する処理と、
前記データの通番が送信日の最初の送信を示す値である場合に、前記データの最終通番を取得し、前記最終通番が前記受信管理テーブルの記録された前記送信日の前日の受信データ数と等しくないときは、前記前日に受信されたデータの通番から欠落した通番を抽出して、前記欠番通番に対応するデータの再送依頼を前記送信サーバ宛へメール送信する処理とを、
前記受信サーバに実行させる受信サーバ用データ交換処理プログラムを記録した記録媒体。
【０２０６】
（付記８）  電子メールシステムを通じて非同期にデータ交換を行う送信サーバおよび受信サーバを備えて、前記送信サーバおよび前記受信サーバ間で電子通商取引に関するデータを交換するデータ交換処理方法であって、
前記送信サーバにおいて、
データの送信先情報、前記送信サーバの識別情報、前記受信サーバの識別情報、データが送信された月日を示す送信日、同一送信日内において送信先ごとのデータの送信順序を連続番号で示す通番、および前記送信日の前日内の最後に送信されたデータの通番である最終通番を含む送信データ情報を送信するデータに付加し、
前記データに対してセキュリティ検証用の処理を施し、
前記データをメール送信し、
前記送信データ情報を送信管理テーブルに記録し、
前記送信日および前記前日に送信したデータを送信データ記憶部に記憶し、
前記受信サーバにおいて、
前記電子メールシステムのメールサーバから、前記送信データ情報が付加されたデータを取り出し、
前記データに付加された送信データ情報および受信の状況を管理する情報を受信管理テーブルに記録し、
前記データのセキュリティ検証を行い、
前記セキュリティ検証が成功したデータを受信データ記憶部に格納し、
前記データの通番が送信日の最初の送信を示す値である場合に、前記データの最終通番を取得し、前記最終通番が前記受信管理テーブルの記録された前記送信日の前日の受信データ数と等しくないときは、前記前日に受信されたデータの通番から欠落した通番を抽出して、前記欠番通番に対応するデータの再送依頼を前記送信サーバ宛へメール送信し、
前記送信サーバにおいて、
前記受信サーバから前記再送依頼を受信した場合に、前記送信日および前記通番を用いて前記送信データ記憶部から該当する再送対象のデータを取り出し、前記受信サーバ宛に前記再送対象データをメール送信する
ことを特徴とするデータ交換処理方法。
【０２０７】
（付記９）  電子メールシステムを通じて非同期に電子通商取引に関するデータを交換する送信サーバであって、
データの送信先情報、前記送信サーバの識別情報、前記受信サーバの識別情報、データが送信された月日を示す送信日、同一送信日内において送信先ごとのデータの送信順序を連続番号で示す通番、および前記送信日の前日内の最後に送信されたデータの通番である最終通番を含む送信データ情報を送信するデータに付加する処理手段と、
前記データに対してセキュリティ検証用の処理を施す処理手段と、
前記データをメール送信する処理手段と、
前記送信データ情報を送信管理テーブルに記録する処理手段と、
前記送信日および前記前日に送信したデータを格納する送信データ記憶手段と、
前記受信サーバから、送信日および通番により特定されたデータの再送依頼を受信した場合に、前記送信日および前記通番を用いて前記送信データ記憶部から該当する再送対象のデータを取り出し、前記受信サーバ宛に前記再送対象データをメール送信する処理手段とを、備える
ことを特徴とする送信サーバ。
【０２０８】
（付記１０）  電子メールシステムを通じて非同期に電子通商取引に関するデータを交換する受信サーバであって、
前記電子メールシステムのメールサーバから、データ送信元情報、前記送信サーバの識別情報、前記受信サーバの識別情報、データが送信された月日を示す送信日、同一送信日内において送信先ごとのデータの送信順序を連続番号で示す通番、および前記送信日の前日内の最後に送信されたデータの通番である最終通番を含む送信データ情報が付加されたデータを取り出す処理手段と、
前記データに付加された送信データ情報および受信の状況を管理する情報を記録する受信管理テーブル記録手段と、
前記データのセキュリティ検証を行う処理手段と、
前記セキュリティ検証が成功したデータを格納する受信データ記憶手段と、
前記データの通番が送信日の最初の送信を示す値である場合に、前記データの最終通番を取得し、前記最終通番が前記受信管理テーブルの記録された前記送信日の前日の受信データ数と等しくないときは、前記前日に受信されたデータの通番から欠落した通番を抽出して、前記欠番通番に対応するデータの再送依頼を前記送信サーバ宛へメール送信する処理手段とを、備える
ことを特徴とする受信サーバ。
【図面の簡単な説明】
【０２０９】
【図１】本発明を実施するデータ交換システムの構成例を示す図。
【図２】送信制御部の内部構成例を示す図。
【図３】受信制御部の内部構成例を示す図。
【図４】送信制御部において変換されたデータのメールヘッダのデータ項目例を示す図。
【図５】受信管理テーブルを構成する各テーブルの関係を示す図。
【図６】受信管理テーブルのデータ構成例を示す図。
【図７】送信サーバと受信サーバとのデータ交換の処理の流れを示す図。
【図８】受信サーバにおけるデータ受信およびセキュリティ検証の処理を説明するための図。
【図９】送信サーバの処理フローを示す図。
【図１０】受信サーバの処理フローを示す図。
【図１１】ステップＳ２１１の受信データ保証処理の処理フローを示す図。
【図１２】送信サーバの送信制御部で作成されるメール形式のデータ例を示す図。
【図１３】受信管理テーブルに記録されるデータ例を示す図。
【符号の説明】
【０２１０】
１  送信サーバ
１１  データエントリ部
１２  エントリ監視部
１３  送信データ記憶部
１４  送信制御部
１４１  送信処理部
１４２  送信管理部
１４３  送信管理テーブル
１４４  再送依頼処理部
２  受信サーバ
２１  受信制御部
２１１  データ振り分け部
２１２  非登録データ記憶部
２１３  受信管理部
２１４  受信管理テーブル
２１５  セキュリティ検証部
２１６  並び替え用記憶部
２１７  未検証データ一時記憶部
２２０  受信データ保証部
２２１  再送依頼部
２２２  データ無効化部
２２３  データ置き換え部
２２  受信データ記憶部
２３  管理テーブル
２４  管理テーブル監視部
３  送信側メールサーバ
４  受信側メールサーバ
５ａ、５ｂ  支社端末
６  受注管理端末
７  管理者端末
【図１】
2005109849.tif 000003
【図２】
2005109849.tif 000004
【図３】
2005109849.tif 000005
【図４】
2005109849.tif 000006
【図５】
2005109849.tif 000007
【図６】
2005109849.tif 000008
【図７】
2005109849.tif 000009
【図８】
2005109849.tif 000010
【図９】
2005109849.tif 000011
【図１０】
2005109849.tif 000012
【図１１】
2005109849.tif 000013
【図１２】
2005109849.tif 000014
【図１３】
2005109849.tif 000015