(57)【要約】【課題】受信側システムの負荷を高めずに電文を再送できる電文保証システムを提供する。【解決手段】電文保証システム２０は、送信側システム３０と、受信側システム４０とを含む電文保証システムであって、送信側システム３０は、任意の要求を示す電文である要求電文を受信側システム４０に送信する第１送信部３１と、所定の条件を満たす要求電文を受信側システム４０に再度送信する再送部３２とを有し、受信側システム４０は、送信側システム３０から送信された要求電文の受信が完了したことと、送信された要求電文が示す要求に対する処理が完了する予定時刻とを示す電文である受信電文を送信側システム３０に送信する第２送信部４１を有し、所定の条件は、要求電文に対応する受信電文が示す予定時刻を現在時刻が過ぎていることである。【選択図】図１６
2019175222.tif 000002
【特許請求の範囲】
【請求項１】
送信側システムと、受信側システムとを含む電文保証システムであって、
前記送信側システムは、
任意の要求を示す電文である要求電文を前記受信側システムに送信する第１送信部と、
所定の条件を満たす要求電文を前記受信側システムに再度送信する再送部とを有し、
前記受信側システムは、
前記送信側システムから送信された要求電文の受信が完了したことと、前記送信された要求電文が示す要求に対する処理が完了する予定時刻とを示す電文である受信電文を前記送信側システムに送信する第２送信部を有し、
前記所定の条件は、
要求電文に対応する受信電文が示す予定時刻を現在時刻が過ぎていることである
ことを特徴とする電文保証システム。
【請求項２】
送信側システムは、送信された要求電文を示す情報である送信電文情報を記憶する第１記憶部を有し、
再送部は、記憶されている送信電文情報を用いて再度送信する要求電文を生成する
請求項１記載の電文保証システム。
【請求項３】
第２送信部は、要求電文が示す要求に対する処理の結果を示す電文である応答電文を送信側システムに送信し、
第１送信部は、送信された応答電文に基づいて前記要求電文の送信電文情報を第１記憶部から削除する
請求項２記載の電文保証システム。
【請求項４】
受信側システムは、送信された応答電文を示す情報である応答電文情報を記憶する第２記憶部を有し、
第２送信部は、記憶されている応答電文情報を用いて送信する応答電文を生成する
請求項３記載の電文保証システム。
【請求項５】
第１送信部は、記憶されている送信電文情報が示す要求と同一の要求を示す要求電文の送信を中止する
請求項２から請求項４のうちのいずれか１項に記載の電文保証システム。
【請求項６】
送信側システムと、受信側システムとを含む電文保証システムにおいて実行される電文保証方法であって、
前記送信側システムは、
任意の要求を示す電文である要求電文を前記受信側システムに送信し、
所定の条件を満たす要求電文を前記受信側システムに再度送信し、
前記受信側システムは、
前記送信側システムから送信された要求電文の受信が完了したことと、前記送信された要求電文が示す要求に対する処理が完了する予定時刻とを示す電文である受信電文を前記送信側システムに送信し、
前記所定の条件は、
要求電文に対応する受信電文が示す予定時刻を現在時刻が過ぎていることである
ことを特徴とする電文保証方法。
【請求項７】
送信側システムは、
送信された要求電文を示す情報である送信電文情報を第１記憶部に記憶させ、
記憶されている送信電文情報を用いて再度送信する要求電文を生成する
請求項６記載の電文保証方法。
【請求項８】
受信側システムは、要求電文が示す要求に対する処理の結果を示す電文である応答電文を送信側システムに送信し、
前記送信側システムは、送信された応答電文に基づいて前記要求電文の送信電文情報を第１記憶部から削除する
請求項７記載の電文保証方法。
【請求項９】
受信側システムは、
送信された応答電文を示す情報である応答電文情報を第２記憶部に記憶させ、
記憶されている応答電文情報を用いて送信する応答電文を生成する
請求項８記載の電文保証方法。
【請求項１０】
送信側システムは、記憶されている送信電文情報が示す要求と同一の要求を示す要求電文の送信を中止する
請求項７から請求項９のうちのいずれか１項に記載の電文保証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電文保証システムおよび電文保証方法に関し、特に送信側システムが受信側システムの負荷状況を考慮して保証型の電文送受信を実現する電文保証システムおよび電文保証方法に関する。
【背景技術】
【０００２】
システム間で電文が送受信される際に送信先への電文の到達を保証する電文保証システムが提案されている。電文到達を保証するための制御は、電文保証システムに含まれる送信側システム、および受信側システムが行う。
【０００３】
電文到達を保証するための制御として、例えば、送信側システムは、送信される電文をデータベース等の記憶領域に保存する。送信先からの応答が受信されたことが確認されるまで、送信側システムは、所定の間隔で保存先から電文を読み込み、読み込まれた電文の再送を繰り返し実行する。
【０００４】
また、上記の送信側システムに対する受信側システムは、再送された電文も含めて受信された電文が二重に送信されているか否かを検査する二重送信検査と、受信された電文に対する応答電文の送信を行う。
【０００５】
上記の電文到達を保証するための制御方式では、受信側システムが送信側システムから要求電文を受信する。また、業務アプリケーション（以下、業務APという。）処理が実行されている間、送信側システムは、応答電文が受信されたことが確認されるまで、要求電文の再送を繰り返し実行する。
【０００６】
要求電文の再送が繰り返されると、受信側システムが、再送された要求電文を何度も受信することによって高負荷状態に陥る恐れがある。よって、応答電文を受信する送信側システムの状況も踏まえられた上で、受信側システムにおいて電文の二重送信検査が適切な頻度で実行されることが求められる。
【０００７】
受信側システムが高負荷状態に陥ることを防ぐ保証型の電文送受信システムがある。保証型の電文送受信システムでは、送信側システムから送信された要求電文に対して受信側システムが受け付けたことを示す応答電文を返すまで、送信側システムが要求電文を再送する。
【０００８】
上記の保証型の電文送受信システムにおける受信側システムは、要求電文を受け付け、要求電文に対する処理を開始したタイミングで、送信側システムに対して要求電文が受け付けられたことを示す応答電文を返す。
【０００９】
よって、受信側システムが要求電文に対する処理を開始した後でも実行される予定であった送信側システムからの要求電文の無駄な再送が停止される。要求電文の無駄な再送が停止されることによって、送信側システムと受信側システムの間の通信量の増加が抑止される。また、送信側システムの要求電文の再送による受信側システムの負荷の上昇が抑止される。
【００１０】
特許文献１〜特許文献２には、保証型の電文送受信に関する技術が記載されている。特許文献１には、ネットワーク障害等により要求電文が遅延し、応答電文の削除処理後に要求電文を受信した際には二重処理が発生するという問題点を解決する高信頼な分散処理システムにおけるトランザクション処理制御方式が記載されている。
【００１１】
また、特許文献２には、伝送制御手順での電文保証とは別にプロセッサ内に送受信する電文の正常性を確認する正常性監視ソフトウェア部を備え、複数のプロセッサ間の相互通信での信頼性を向上させた電文保証方法が記載されている。
【００１２】
また、特許文献３には、トランザクションをリトライするまでの待ち時間であるディレイドタイムの値をデバイスアクセスに要する時間に応じて動的に設定できるようにし、リトライによる無駄なバスアクセスの発生を低減することが可能なコンピュータシステムが記載されている。
【００１３】
また、特許文献４には、受信ノードの能力に応じて再送を行うことによって、無駄な再送を行うことによる処理の遅延や消費電力の増加を防ぐとともに、例えばバスリセットによる再接続の際に要求再送待ち時間の再設定を不要とすることができる通信装置が記載されている。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開２００３−１５０４６５号公報
【特許文献２】特開平０５−１２０１７８号公報
【特許文献３】特開平１０−２６９１６９号公報
【特許文献４】特開２００１−１２７８２５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１５】
しかし、上記の保証型の電文送受信システムにおいても、受信側システムが要求電文を受け付けたことを示す応答電文を返す段階で受信側システムの業務APが高負荷状態に陥っていることによって、要求電文への応答処理が遅延する可能性がある。
【００１６】
また、要求電文に対する処理結果を示す応答電文の送信が障害等により中断され、送信側システムによる要求電文の再送が行われると、再送による通信量の増加の抑止効果が削減される。
【００１７】
よって、応答電文の受信状況に応じて送信側システムが業務APからの要求電文の再送を適切に実行でき、受信側システムが低負荷状態で応答処理を実行できる電文保証システムが求められている。
【００１８】
特許文献１に記載されているトランザクション処理制御方式は、受信された電文が示す要求の処理を行う受信側システムに対して、送信側システムの業務APが応答電文の分析中の状態であっても要求電文を再送してしまう。すなわち、特許文献１に記載されているトランザクション処理制御方式は、送信側システムの応答電文の受信状況に応じて要求電文の再送を適切に実行することが困難である。
【００１９】
また、特許文献２に記載されている電文保証方法を行う複数のプロセッサには、受信された要求電文に対する処理が二重で行われていないか否かを検査する仕組みが設けられていない。また、特許文献２に記載されている複数のプロセッサは、要求電文が受信される度に応答電文を生成する。すなわち、特許文献２に記載されている複数のプロセッサは再送された要求電文が受信された時にも同一の応答電文を生成するため、応答処理が冗長になる。
【００２０】
［発明の目的］
そこで、本発明は、上述した課題を解決する、受信側システムの負荷を高めずに電文を再送できる電文保証システムおよび電文保証方法を提供することを目的とする。
【課題を解決するための手段】
【００２１】
本発明による電文保証システムは、送信側システムと、受信側システムとを含む電文保証システムであって、送信側システムは、任意の要求を示す電文である要求電文を受信側システムに送信する第１送信部と、所定の条件を満たす要求電文を受信側システムに再度送信する再送部とを有し、受信側システムは、送信側システムから送信された要求電文の受信が完了したことと、送信された要求電文が示す要求に対する処理が完了する予定時刻とを示す電文である受信電文を送信側システムに送信する第２送信部を有し、所定の条件は、要求電文に対応する受信電文が示す予定時刻を現在時刻が過ぎていることであることを特徴とする。
【００２２】
本発明による電文保証方法は、送信側システムと、受信側システムとを含む電文保証システムにおいて実行される電文保証方法であって、送信側システムは、任意の要求を示す電文である要求電文を受信側システムに送信し、所定の条件を満たす要求電文を受信側システムに再度送信し、受信側システムは、送信側システムから送信された要求電文の受信が完了したことと、送信された要求電文が示す要求に対する処理が完了する予定時刻とを示す電文である受信電文を送信側システムに送信し、所定の条件は、要求電文に対応する受信電文が示す予定時刻を現在時刻が過ぎていることであることを特徴とする。
【発明の効果】
【００２３】
本発明によれば、受信側システムの負荷を高めずに電文を再送できる。
【図面の簡単な説明】
【００２４】
【図１】本発明による電文保証システムの第１の実施形態の構成例を示すブロック図である。
【図２】本実施形態における既定の電文フォーマットの例を示す説明図である。
【図３】送信電文情報記憶部１８０に記憶されている送信電文情報の例を示す説明図である。
【図４】本実施形態における受信応答電文の電文フォーマットの例を示す説明図である。
【図５】応答電文情報記憶部２３０に記憶されている応答電文情報の例を示す説明図である。
【図６】第１の実施形態の要求電文送信部１２０による要求電文送信処理の動作を示すフローチャートである。
【図７】第１の実施形態の二重送信判定部１３０による送信判定処理の動作を示すフローチャートである。
【図８】第１の実施形態の応答電文送信部２２０による応答電文送信処理の動作を示すフローチャートである。
【図９】第１の実施形態の処理完了見込時刻計算部２４０による処理完了見込時刻計算処理の動作を示すフローチャートである。
【図１０】第１の実施形態の応答処理部１６０による応答電文受信処理の動作を示すフローチャートである。
【図１１】第１の実施形態の業務応答処理部１７０による業務応答処理の動作を示すフローチャートである。
【図１２】第１の実施形態の再送処理部１４０による要求電文再送処理の動作を示すフローチャートである。
【図１３】第１の実施形態の再送判定部１５０による送信判定処理の動作を示すフローチャートである。
【図１４】本発明による送信側システムのハードウェア構成例を示す説明図である。
【図１５】本発明による受信側システムのハードウェア構成例を示す説明図である。
【図１６】本発明による電文保証システムの概要を示すブロック図である。
【発明を実施するための形態】
【００２５】
実施形態１．
［構成の説明］
以下、本発明の実施形態を、図面を参照して説明する。図１は、本発明による電文保証システムの第１の実施形態の構成例を示すブロック図である。
【００２６】
図１に示すように、本実施形態の電文保証システム１０は、送信側システム１００と、受信側システム２００とを含む。本実施形態の電文保証システム１０では、送信側システム１００と受信側システム２００との間で電文が送受信される。
【００２７】
本実施形態の受信側システム２００は、送信側システム１００から送信された要求電文を受信する。次いで、受信側システム２００は、受信された要求電文が示す要求に対する処理が完了する時刻を予測する。
【００２８】
送信側システム１００に要求電文が受信されたことを示す応答電文を返す際、受信側システム２００は、処理が完了する見込の時刻を示す情報を、返却する応答電文に加える。送信側システム１００は、返却された応答電文が示す処理が完了する見込の時刻の後に、要求電文を受信側システム２００に再送する。
【００２９】
上記の構成により、送信側システム１００と受信側システム２００との間の通信量が削減される。また、受信側システム２００において、低負荷状態で要求に対する処理の実行と、業務応答の返却が可能になる。
【００３０】
本実施形態の電文保証システム１０は、電文の送受信処理における受信された電文の重複確認から応答電文の送信までを総合的に保証できるシステムである。なお、本実施形態の電文保証システム１０において、送信側システム１００の業務APと受信側システム２００の業務APとの間で授受される電文の形式は、特に限定されない。
【００３１】
以下、各構成要素の機能をそれぞれ説明する。図１に示すように、送信側システム１００は、送信側業務AP１１０と、要求電文送信部１２０と、二重送信判定部１３０と、再送処理部１４０と、再送判定部１５０と、応答処理部１６０と、業務応答処理部１７０と、送信電文情報記憶部１８０とを有する。
【００３２】
また、図１に示すように、受信側システム２００は、受信側業務AP２１０と、応答電文送信部２２０と、応答電文情報記憶部２３０と、処理完了見込時刻計算部２４０とを有する。
【００３３】
なお、ブロック図に記載されている単方向の矢印は、データ（情報）が流れる方向を示す。しかし、各矢印が記載されている箇所において双方向にデータが流れる可能性は排除されていない。
【００３４】
最初に、送信側システム１００の各構成要素の機能を説明する。送信側業務AP１１０は、受信側システム２００の受信側業務AP２１０に対して要求を発行するアプリケーションである。
【００３５】
要求電文送信部１２０は、要求電文を生成する機能を有する。要求電文送信部１２０は、送信側業務AP１１０から呼び出された後、既定の電文フォーマットに従って要求電文を生成する。
【００３６】
要求電文を生成した後、要求電文送信部１２０は、二重送信判定部１３０に電文送信の可否の判定を依頼する。電文送信が可能であると判定された場合、要求電文送信部１２０は、送信電文情報記憶部１８０に送信対象の要求電文の送信電文情報を格納する。格納した後、要求電文送信部１２０は、要求電文を送信する。
【００３７】
また、電文送信が不可であると判定された場合、要求電文送信部１２０は、生成された要求電文を破棄し、送信処理を終了する。
【００３８】
図２は、本実施形態における既定の電文フォーマットの例を示す説明図である。図２に示すように、電文フォーマットは、電文区分と、電文IDと、業務処理結果と、ユーザ電文本体とで構成されている。
【００３９】
電文区分は、電文の種類を示す。電文区分には、「要求」、「受信応答」、または「業務応答」のいずれかが設定される。
【００４０】
電文IDは、各要求電文を一意に識別するためのIDである。電文IDには、要求電文の生成された順番を示す番号が設定される。
【００４１】
また、業務処理結果は、業務APによる要求に対する処理の結果を示す。業務処理結果には、「OK」または「NG」のいずれかが設定される。また、電文の生成に求められるユーザ電文本体は、送信側業務AP１１０が要求電文送信部１２０に入力する。
【００４２】
図３は、送信電文情報記憶部１８０に記憶されている送信電文情報の例を示す説明図である。図３に示すように、送信電文情報は、電文IDと、電文本体と、送信可否と、次回送信時刻とで構成されている。
【００４３】
電文IDと電文本体はそれぞれ、図２に示す電文フォーマットの電文IDとユーザ電文本体である。また、送信可否は、電文IDが示す要求電文の送信可否の判定結果を示す情報である。また、次回送信時刻は、電文IDが示す要求電文が再送される予定時刻である。
【００４４】
送信電文情報記憶部１８０に記憶されている送信電文情報は、要求電文の送信の制御に用いられる。記憶されている送信電文情報は、後述する再送処理部１４０が要求電文の再送時に読み込む。
【００４５】
二重送信判定部１３０は、要求電文の送信可否を判定する機能を有する。二重送信判定部１３０の呼び出し元は、二重送信判定部１３０に判定対象の要求電文を入力する。
【００４６】
二重送信判定部１３０は、送信電文情報記憶部１８０に記憶されている送信電文情報の電文IDのうち、判定対象の要求電文の電文IDよりも番号が小さい電文IDを有する全ての送信電文情報の電文本体と、判定対象の要求電文のユーザ電文本体とを比較する。
【００４７】
ユーザ電文本体と同一の電文本体が発見されれば、二重送信判定部１３０は、「送信不可」を送信判定結果として呼び出し元に返却する。また、全ての電文本体がユーザ電文本体と異なれば、二重送信判定部１３０は、「送信可能」を送信判定結果として呼び出し元に返却する。
【００４８】
要求電文送信部１２０が同一の要求電文を複数回送信する場合、１通目の要求電文の応答の確認が未完了のうちに２通目の要求電文が送信されると、受信側システム２００に余計な負荷がかかる。よって、二重送信判定部１３０は、判定対象の要求電文のユーザ電文本体と同一の電文本体が送信電文情報記憶部１８０に記憶されていれば、送信判定結果として「送信不可」を返却する。
【００４９】
再送処理部１４０は、送信側システム１００が起動した時点から受信側システム２００からの応答が未確認の要求電文の送信電文情報を所定の間隔で送信電文情報記憶部１８０から読み込み、読み込まれた送信電文情報に対応する要求電文を送信する機能を有する。
【００５０】
再送処理部１４０は、要求電文を送信する前に再送判定部１５０に送信可否の判定を依頼する。判定を依頼する際、再送処理部１４０は、判定対象の要求電文の送信電文情報を再送判定部１５０に入力する。
【００５１】
再送判定部１５０による判定結果が「送信可能」であれば、再送処理部１４０は、要求電文を再送する。また、再送判定部１５０による判定結果が「送信不可」であれば、再送処理部１４０は、要求電文を再送しない。
【００５２】
再送判定部１５０は、要求電文の再送可否を判定する機能を有する。再送判定部１５０は、現在の時刻が入力された送信電文情報の次回送信時刻を過ぎている場合に、要求電文を「送信可能」と判定する。また、再送判定部１５０は、現在の時刻が入力された送信電文情報の次回送信時刻を過ぎていない場合に、要求電文を「送信不可」と判定する。
【００５３】
応答処理部１６０は、受信側システム２００から返却される２種類の応答電文を受信し、受信された各々の応答電文に応じた処理を行う機能を有する。
【００５４】
１つ目の応答電文は、要求電文の受信を契機に受信側システム２００から返却される受信応答電文である。受信応答電文を受信した応答処理部１６０は、要求電文の再送を停止させるために、受信応答電文の電文IDを含む送信電文情報の次回送信時刻を、受信応答電文の処理見込時刻に更新する。
【００５５】
図４は、本実施形態における受信応答電文の電文フォーマットの例を示す説明図である。図４に示すように、受信応答電文の電文フォーマットは、電文区分と、電文IDと、処理見込時刻とで構成されている。
【００５６】
受信応答電文の電文区分には、「受信応答」が設定される。また、受信応答電文の電文IDには、要求電文の電文IDが設定される。また、受信応答電文の処理見込時刻には、要求電文が示す要求に対する処理が完了する見込の時刻が設定される。
【００５７】
２つ目の応答電文は、受信側業務AP２１０による業務処理結果を含む業務応答電文である。業務応答電文の電文フォーマットは、図２に示す電文フォーマットである。業務応答電文を受信した応答処理部１６０は、業務応答処理部１７０に受信された業務応答電文を入力する。
【００５８】
業務応答処理部１７０は、入力された業務応答電文の電文IDを含む送信電文情報を送信電文情報記憶部１８０から削除する。削除した後、業務応答処理部１７０は、送信側業務AP１１０を呼び出す。
【００５９】
次に、受信側システム２００の各構成要素の機能を説明する。受信側業務AP２１０は、受信された要求電文が示す要求に対する業務処理を行う機能を有する。
【００６０】
応答電文送信部２２０は、要求電文を受信し、要求電文を受信したことを示す受信応答電文を送信する機能を有する。応答電文送信部２２０は、受信された電文の電文区分に「要求」が設定されている場合、受信された電文が要求電文であると確認する。
【００６１】
また、応答電文送信部２２０は、二重処理が行われているか否かの検査、受信側業務AP２１０の呼び出し、および業務処理結果を示す業務応答電文の返却を行う。
【００６２】
業務応答電文を返却する際、応答電文送信部２２０は、応答電文情報記憶部２３０に記憶されている応答電文情報のうち、要求電文の電文IDを含む応答電文情報を検索する。図５は、応答電文情報記憶部２３０に記憶されている応答電文情報の例を示す説明図である。図５に示すように、応答電文情報は、電文IDと、応答電文本体とで構成されている。
【００６３】
応答電文情報は、送信側システム１００に返却される業務応答電文の情報である。電文IDには、対応する要求電文の電文IDが設定される。また、応答電文本体には、業務処理結果の内容が設定される。
【００６４】
既に受信側業務AP２１０が業務処理を実行済みの要求電文を受信した場合、応答電文送信部２２０は、応答電文情報記憶部２３０から要求電文の電文IDを含む応答電文情報を読み込む。次いで、応答電文送信部２２０は、読み込まれた応答電文情報を基に業務応答電文を生成し、生成された業務応答電文を送信側システム１００に返却する。
【００６５】
また、応答電文送信部２２０は、業務応答電文を生成した後、生成された業務応答電文の応答電文情報を応答電文情報記憶部２３０に格納する。
【００６６】
また、応答電文送信部２２０は、受信側システム２００で二重処理が行われているか否かの検査も、応答電文情報記憶部２３０に記憶されている応答電文情報に基づいて行う。
【００６７】
要求電文の電文IDを含む応答電文情報が記憶されていなければ、応答電文送信部２２０は、受信された要求電文を初めて受信された要求電文と判断する。次いで、応答電文送信部２２０は、受信側業務AP２１０、および処理完了見込時刻計算部２４０をそれぞれ呼び出す。
【００６８】
処理完了見込時刻計算部２４０は、受信された要求電文のサイズや受信側システム２００の負荷状況等に基づいて、要求電文が示す要求に対する業務処理の処理完了見込時刻を計算する機能を有する。処理完了見込時刻計算部２４０は、計算された処理完了見込時刻を呼び出し元に返却する。
【００６９】
応答電文送信部２２０は、受信応答電文に電文IDと処理完了見込時刻とを記録し、受信応答電文を送信側システム１００に送信する。受信応答電文を送信した後、応答電文送信部２２０は、受信側業務AP２１０による業務処理結果を用いて業務応答電文を生成する。
【００７０】
次いで、応答電文送信部２２０は、生成された業務応答電文を送信側システム１００に返却する。なお、受信された要求電文に対する応答電文情報が応答電文情報記憶部２３０に記憶されていれば、応答電文送信部２２０は、既に処理済みの要求電文であるとして、業務応答電文だけを返却してもよい。
【００７１】
［動作の説明］
以下、本実施形態の電文保証システム１０の動作を、図６〜図１３に示すフローチャートを参照して説明する。
【００７２】
最初に、本実施形態の送信側システム１００の送信側業務AP１１０が要求電文送信部１２０に要求電文の送信を依頼した際に行われる要求電文送信処理の動作を図６を参照して説明する。図６は、第１の実施形態の要求電文送信部１２０による要求電文送信処理の動作を示すフローチャートである。
【００７３】
送信側業務AP１１０は、要求電文送信部１２０にユーザ電文本体を入力する（ステップS101）。送信側業務AP１１０から呼ばれた要求電文送信部１２０は、図２に示す電文フォーマットに従って要求電文を生成する（ステップS102）。
【００７４】
要求電文送信部１２０は、生成される要求電文の電文区分に「要求」を、電文IDには電文の送受信処理における一意の値をそれぞれ設定する。また、要求電文送信部１２０は、生成される要求電文のユーザ電文本体に、送信側業務AP１１０から入力された電文本体を設定する。
【００７５】
次いで、要求電文送信部１２０は、ステップS102で生成された要求電文が送信可能であるか否かの判定を二重送信判定部１３０に依頼する（ステップS103）。二重送信判定部１３０は、要求電文が送信可能であるか否かを示す送信判定結果を要求電文送信部１２０に返却する。
【００７６】
返却された送信判定結果が「送信不可」を示す場合（ステップS104におけるNo）、要求電文送信部１２０は、生成された要求電文を送信せずに、要求電文送信処理を終了する。
【００７７】
返却された送信判定結果が「送信可能」を示す場合（ステップS104におけるYes）、要求電文送信部１２０は、生成された要求電文の送信電文情報を送信電文情報記憶部１８０に格納する（ステップS105）。格納される送信電文情報の送信可否には、ステップS103で返却された送信判定結果の内容が設定される。
【００７８】
送信電文情報の格納が完了した後、要求電文送信部１２０は、生成された要求電文を送信する（ステップS106）。要求電文を送信した後、要求電文送信部１２０は、要求電文送信処理を終了する。
【００７９】
次に、ステップS103で要求電文送信部１２０が二重送信判定部１３０に要求電文が送信可能であるか否かの判定を依頼した際に行われる送信判定処理の動作を図７を参照して説明する。図７は、第１の実施形態の二重送信判定部１３０による送信判定処理の動作を示すフローチャートである。
【００８０】
二重送信判定部１３０は、呼び出し元から入力された送信予定の要求電文のユーザ電文本体と、送信電文情報記憶部１８０に記憶されている送信電文情報の電文本体とを比較する（ステップS111）。二重送信判定部１３０は、要求電文の電文IDよりも番号が小さい電文IDを有する全ての送信電文情報を比較対象にする。
【００８１】
比較する際、二重送信判定部１３０は、同一の電文本体を有する送信電文情報が存在するか否かを確認する。確認した結果、同一の電文本体を有する送信電文情報が存在しない場合（ステップS112におけるNo）、二重送信判定部１３０は、呼び出し元に「送信可能」を示す送信判定結果を返却する（ステップS113）。返却した後、二重送信判定部１３０は、送信判定処理を終了する。
【００８２】
確認した結果、同一の電文本体を有する送信電文情報が存在する場合（ステップS112におけるYes）、二重送信判定部１３０は、呼び出し元に「送信不可」を示す送信判定結果を返却する（ステップS114）。返却した後、二重送信判定部１３０は、送信判定処理を終了する。
【００８３】
次に、本実施形態の受信側システム２００の応答電文送信部２２０が要求電文の受信を契機に行う応答電文送信処理の動作を図８を参照して説明する。図８は、第１の実施形態の応答電文送信部２２０による応答電文送信処理の動作を示すフローチャートである。
【００８４】
最初に、応答電文送信部２２０は、処理完了見込時刻計算部２４０を呼び出し、受信された要求電文が示す要求の処理完了見込時刻を取得する（ステップS121）。
【００８５】
次いで、応答電文送信部２２０は、送信側システム１００に要求電文が受信されたことを通知するための受信応答電文を生成する。生成される受信応答電文の電文フォーマットは、図４に示す電文フォーマットである。
【００８６】
応答電文送信部２２０は、生成される受信応答電文の電文区分に「受信応答」を、電文IDに受信された要求電文の電文IDをそれぞれ設定する。また、応答電文送信部２２０は、生成される受信応答電文の処理完了見込時刻に、ステップS121で取得された処理完了見込時刻を設定する。
【００８７】
次いで、応答電文送信部２２０は、生成された受信応答電文を送信側システム１００に送信する（ステップS122）。
【００８８】
次いで、応答電文送信部２２０は、応答電文情報記憶部２３０に、受信された要求電文の電文IDを含む応答電文情報が記憶されているか否かを確認する（ステップS123）。
【００８９】
応答電文情報が記憶されていない場合（ステップS123におけるNo）、応答電文送信部２２０は、受信側業務AP２１０を呼び出し、要求に対して業務処理を実行させる（ステップS124）。実行した後、受信側業務AP２１０は、業務処理結果を応答電文送信部２２０に入力する。
【００９０】
受信側業務AP２１０から業務処理結果を受け取った後、応答電文送信部２２０は、業務応答電文を生成する（ステップS125）。生成される業務応答電文の電文フォーマットは、図２に示す電文フォーマットである。
【００９１】
応答電文送信部２２０は、生成される業務応答電文の電文区分に「業務応答」を、電文IDに受信された要求電文の電文IDをそれぞれ設定する。また、応答電文送信部２２０は、生成される業務応答電文の業務処理結果に、受信側業務AP２１０からの業務処理結果を基に「OK」または「NG」のいずれかを設定する。
【００９２】
業務応答電文を生成した後、応答電文送信部２２０は、生成された業務応答電文の応答電文情報を応答電文情報記憶部２３０に格納する（ステップS126）。格納した後、応答電文送信部２２０は、ステップS127の処理を行う。
【００９３】
応答電文情報が記憶されている場合（ステップS123におけるYes）、応答電文送信部２２０は、応答電文情報記憶部２３０から該当する応答電文情報を読み込む（ステップS128）。次いで、応答電文送信部２２０は、読み込まれた応答電文情報を基に業務応答電文を生成する（ステップS129）。生成した後、応答電文送信部２２０は、ステップS127の処理を行う。
【００９４】
ステップS127で、応答電文送信部２２０は、生成された業務応答電文を送信側システム１００に送信する。送信した後、応答電文送信部２２０は、応答電文送信処理を終了する。
【００９５】
次に、ステップS121で応答電文送信部２２０が処理完了見込時刻計算部２４０を呼び出した際に行われる処理完了見込時刻計算処理の動作を図９を参照して説明する。図９は、第１の実施形態の処理完了見込時刻計算部２４０による処理完了見込時刻計算処理の動作を示すフローチャートである。
【００９６】
最初に、処理完了見込時刻計算部２４０は、受信側システム２００の負荷状況を示す情報を取得する（ステップS131）。
【００９７】
次いで、処理完了見込時刻計算部２４０は、取得された受信側システム２００の負荷状況を示す情報と受信された要求電文のサイズとを基に、処理完了見込時刻を計算する（ステップS132）。
【００９８】
次いで、処理完了見込時刻計算部２４０は、計算された処理完了見込時刻を呼び出し元に返却する（ステップS133）。返却した後、処理完了見込時刻計算部２４０は、処理完了見込時刻計算処理を終了する。
【００９９】
次に、本実施形態の送信側システム１００の応答処理部１６０が応答電文を受信した際に行う応答電文受信処理の動作を図１０を参照して説明する。図１０は、第１の実施形態の応答処理部１６０による応答電文受信処理の動作を示すフローチャートである。
【０１００】
応答処理部１６０は、受信応答電文と業務応答電文の２種類の応答電文を受信する。応答電文を受信した際、応答処理部１６０は、受信された応答電文の種別を電文区分で確認する（ステップS141）。
【０１０１】
確認された電文区分が「受信応答」である場合（ステップS141における受信応答電文）、応答処理部１６０は、要求電文の再送を停止させるため、要求電文に対応する送信電文情報の次回送信時刻を、受信応答電文の処理完了見込時刻に更新する（ステップS142）。更新した後、応答処理部１６０は、応答電文受信処理を終了する。
【０１０２】
確認された電文区分が「業務応答」である場合（ステップS141における業務応答電文）、応答処理部１６０は、業務応答処理部１７０を呼び出す（ステップS143）。呼び出した後、応答処理部１６０は、応答電文受信処理を終了する。
【０１０３】
次に、ステップS143で応答処理部１６０が呼び出した業務応答処理部１７０が行う業務応答処理の動作を図１１を参照して説明する。図１１は、第１の実施形態の業務応答処理部１７０による業務応答処理の動作を示すフローチャートである。
【０１０４】
業務応答処理部１７０は、受信された業務応答電文の電文IDを含む送信電文情報を送信電文情報記憶部１８０から削除する（ステップS151）。
【０１０５】
次いで、業務応答処理部１７０は、送信側業務AP１１０を呼び出す（ステップS152）。呼び出した後、業務応答処理部１７０は、業務応答処理を終了する。
【０１０６】
次に、本実施形態の送信側システム１００の再送処理部１４０が要求電文を再送する際に行う要求電文再送処理の動作を図１２を参照して説明する。図１２は、第１の実施形態の再送処理部１４０による要求電文再送処理の動作を示すフローチャートである。
【０１０７】
最初に、再送処理部１４０は、送信電文情報記憶部１８０に記憶されている送信電文情報を１つ読み込む（ステップS161）。
【０１０８】
次いで、再送処理部１４０は、ステップS161で読み込まれた送信電文情報に対応する要求電文が送信可能であるか否かの判定を再送判定部１５０に依頼する（ステップS162）。次いで、再送判定部１５０は、要求電文が送信可能であるか否かを示す送信判定結果を再送処理部１４０に返却する。
【０１０９】
返却された送信判定結果が「送信不可」を示す場合（ステップS163におけるNo）、再送処理部１４０は、読み込まれた送信電文情報に対応する要求電文を再送せずに、要求電文再送処理を終了する。
【０１１０】
返却された送信判定結果が「送信可能」を示す場合（ステップS163におけるYes）、再送処理部１４０は、送信電文情報記憶部１８０に記憶されているステップS161で読み込まれた送信電文情報の判定結果を「送信可能」に更新する（ステップS164）。
【０１１１】
送信電文情報の判定結果を更新した後、再送処理部１４０は、受信側システム２００に更新された送信電文情報に対応する要求電文を再送する（ステップS165）。再送した後、再送処理部１４０は、要求電文再送処理を終了する。
【０１１２】
再送処理部１４０は、図１２に示す要求電文再送処理を、送信電文情報記憶部１８０に記憶されている全ての送信電文情報に対して繰り返し実行する。また、再送処理部１４０は、タイマ等を用いて、送信側システム１００が起動した後から所定時間毎に図１２に示す要求電文再送処理を実行してもよい。
【０１１３】
次に、ステップS162で再送処理部１４０が再送判定部１５０に要求電文が送信可能であるか否かの判定を依頼した際に行われる送信判定処理の動作を図１３を参照して説明する。図１３は、第１の実施形態の再送判定部１５０による送信判定処理の動作を示すフローチャートである。
【０１１４】
再送判定部１５０は、現在時刻と、呼び出し元から入力された要求電文の送信電文情報の次回送信時刻とを比較する（ステップS171）。
【０１１５】
比較した結果、現在時刻が次回送信時刻を過ぎている場合（ステップS172におけるYes）、再送判定部１５０は、呼び出し元に「送信可能」を示す送信判定結果を返却する（ステップS173）。返却した後、再送判定部１５０は、送信判定処理を終了する。
【０１１６】
比較した結果、現在時刻が次回送信時刻を過ぎていない場合（ステップS172におけるNo）、再送判定部１５０は、呼び出し元に「送信不可」を示す送信判定結果を返却する（ステップS174）。返却した後、再送判定部１５０は、送信判定処理を終了する。
【０１１７】
［効果の説明］
本実施形態の送信側システム１００の再送処理部１４０は、受信応答電文が示す処理完了見込時刻に応じて適切に要求電文を送信できる。すなわち、送信側システム１００は、電文再送、および送信側業務AP１１０による複数回の同一電文の送信を起因とする無駄な通信量を削減できる。よって、受信側システム２００も、低負荷状態で応答電文を返却できる。
【０１１８】
また、本実施形態の電文保証システム１０の受信側システム２００は、一度処理された要求電文に対する応答電文の情報がファイル等の状態で記憶されている応答電文情報記憶部２３０を有する。同じ要求電文が受信された場合、受信側システム２００は、記憶されている情報を読み込んで応答電文を生成し、生成された応答電文を返却する。
【０１１９】
すなわち、特許文献２に記載されている複数のプロセッサによる応答処理の効率よりも、本実施形態の受信側システム２００による応答処理の効率の方が大きい。また、受信側システム２００は、応答電文情報記憶部２３０に記憶されている応答電文の情報に基づいて、二重処理が行われているか否かの検査も実行できる。
【０１２０】
特許文献３〜特許文献４に記載されている技術では、処理完了見込時刻が送信側で予測される。本実施形態では、処理完了見込時刻計算部２４０が受信側システム２００の負荷状況を考慮して処理完了見込時刻を予測する。すなわち、より正確な処理完了見込時刻が予測されるため、システム間の通信がより適切に制御される。
【０１２１】
本発明は、業務APの修正が困難な既に運用中のレガシーシステム間の通信量の削減の用途に好適に利用される。
【０１２２】
以下、本実施形態の送信側システム１００のハードウェア構成の具体例、および本実施形態の受信側システム２００のハードウェア構成の具体例を説明する。
【０１２３】
図１４は、本発明による送信側システムのハードウェア構成例を示す説明図である。
図１４に示す送信側システム１００は、ＣＰＵ（Central Processing Unit）１０１と、主記憶部１０２と、通信部１０３と、補助記憶部１０４とを備える。また、ユーザが操作するための入力部１０５や、ユーザに処理結果または処理内容の経過を提示するための出力部１０６を備えてもよい。
【０１２４】
図１５は、本発明による受信側システムのハードウェア構成例を示す説明図である。図１５に示す受信側システム２００は、ＣＰＵ２０１と、主記憶部２０２と、通信部２０３と、補助記憶部２０４とを備える。また、ユーザが操作するための入力部２０５や、ユーザに処理結果または処理内容の経過を提示するための出力部２０６を備えてもよい。
【０１２５】
主記憶部１０２および主記憶部２０２は、データの作業領域やデータの一時退避領域として用いられる。主記憶部１０２および主記憶部２０２は、例えばＲＡＭ（Random Access Memory）である。
【０１２６】
通信部１０３および通信部２０３は、有線のネットワークまたは無線のネットワーク（情報通信ネットワーク）を介して、周辺機器との間でデータを入力および出力する機能を有する。
【０１２７】
補助記憶部１０４および補助記憶部２０４は、一時的でない有形の記憶媒体である。一時的でない有形の記憶媒体として、例えば磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory）、ＤＶＤ−ＲＯＭ（Digital Versatile Disk Read Only Memory）、半導体メモリが挙げられる。
【０１２８】
入力部１０５および入力部２０５は、データや処理命令を入力する機能を有する。入力部１０５および入力部２０５は、例えばキーボードやマウス等の入力デバイスである。
【０１２９】
出力部１０６および出力部２０６は、データを出力する機能を有する。出力部１０６および出力部２０６は、例えば液晶ディスプレイ装置等の表示装置、またはプリンタ等の印刷装置である。
【０１３０】
また、図１４に示すように、送信側システム１００において、各構成要素は、システムバス１０７に接続されている。また、図１５に示すように、受信側システム２００において、各構成要素は、システムバス２０７に接続されている。
【０１３１】
補助記憶部１０４は、例えば、図１に示す送信側業務AP１１０、要求電文送信部１２０、二重送信判定部１３０、再送処理部１４０、再送判定部１５０、応答処理部１６０、および業務応答処理部１７０を実現するためのプログラムを記憶している。
【０１３２】
また、主記憶部１０２は、例えば、送信電文情報記憶部１８０の記憶領域として利用される。また、要求電文送信部１２０、再送処理部１４０、および応答処理部１６０は、通信部１０３を介して通信処理を実行してもよい。
【０１３３】
なお、送信側システム１００は、ハードウェアにより実現されてもよい。例えば、送信側システム１００は、内部に図１に示すような機能を実現するプログラムが組み込まれたＬＳＩ（Large Scale Integration）等のハードウェア部品が含まれる回路が実装されてもよい。
【０１３４】
また、送信側システム１００は、図１４に示すＣＰＵ１０１が図１に示す各構成要素が有する機能を提供するプログラムを実行することによって、ソフトウェアにより実現されてもよい。
【０１３５】
ソフトウェアにより実現される場合、ＣＰＵ１０１が補助記憶部１０４に格納されているプログラムを、主記憶部１０２にロードして実行し、送信側システム１００の動作を制御することによって、各機能がソフトウェアにより実現される。
【０１３６】
補助記憶部２０４は、例えば、図１に示す受信側業務AP２１０、応答電文送信部２２０、および処理完了見込時刻計算部２４０を実現するためのプログラムを記憶している。
【０１３７】
また、主記憶部２０２は、例えば、応答電文情報記憶部２３０の記憶領域として利用される。また、応答電文送信部２２０は、通信部２０３を介して通信処理を実行してもよい。
【０１３８】
なお、受信側システム２００は、ハードウェアにより実現されてもよい。例えば、受信側システム２００は、内部に図１に示すような機能を実現するプログラムが組み込まれたＬＳＩ等のハードウェア部品が含まれる回路が実装されてもよい。
【０１３９】
また、受信側システム２００は、図１５に示すＣＰＵ２０１が図１に示す各構成要素が有する機能を提供するプログラムを実行することによって、ソフトウェアにより実現されてもよい。
【０１４０】
ソフトウェアにより実現される場合、ＣＰＵ２０１が補助記憶部２０４に格納されているプログラムを、主記憶部２０２にロードして実行し、受信側システム２００の動作を制御することによって、各機能がソフトウェアにより実現される。
【０１４１】
また、各構成要素の一部または全部は、汎用の回路（circuitry）または専用の回路、プロセッサ等やこれらの組み合わせによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各構成要素の一部または全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
【０１４２】
各構成要素の一部または全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
【０１４３】
次に、本発明の概要を説明する。図１６は、本発明による電文保証システムの概要を示すブロック図である。本発明による電文保証システム２０は、送信側システム３０（例えば、送信側システム１００）と、受信側システム４０（例えば、受信側システム２００）とを含む電文保証システムであって、送信側システム３０は、任意の要求を示す電文である要求電文を受信側システム４０に送信する第１送信部３１（例えば、要求電文送信部１２０）と、所定の条件を満たす要求電文を受信側システム４０に再度送信する再送部３２（例えば、再送処理部１４０および再送判定部１５０）とを有し、受信側システム４０は、送信側システム３０から送信された要求電文の受信が完了したことと、送信された要求電文が示す要求に対する処理が完了する予定時刻とを示す電文である受信電文を送信側システム３０に送信する第２送信部４１（例えば、応答電文送信部２２０）を有し、所定の条件は、要求電文に対応する受信電文が示す予定時刻を現在時刻が過ぎていることである。
【０１４４】
そのような構成により、電文保証システムは、受信側システムの負荷を高めずに電文を再送できる。図１６に示す電文保証システム２０は、適切に電文を送受信できる、保証型の電文送受信システムである。
【０１４５】
また、送信側システム３０は、送信された要求電文を示す情報である送信電文情報を記憶する第１記憶部（例えば、送信電文情報記憶部１８０）を有し、再送部３２は、記憶されている送信電文情報を用いて再度送信する要求電文を生成してもよい。
【０１４６】
そのような構成により、電文保証システムは、再送電文を効率良く生成できる。
【０１４７】
また、第２送信部４１は、要求電文が示す要求に対する処理の結果を示す電文である応答電文を送信側システム３０に送信し、第１送信部３１は、送信された応答電文に基づいて要求電文の送信電文情報を第１記憶部から削除してもよい。
【０１４８】
そのような構成により、電文保証システムは、要求電文の無駄な再送を抑止できる。
【０１４９】
また、受信側システム４０は、送信された応答電文を示す情報である応答電文情報を記憶する第２記憶部（例えば、応答電文情報記憶部２３０）を有し、第２送信部４１は、記憶されている応答電文情報を用いて送信する応答電文を生成してもよい。
【０１５０】
そのような構成により、電文保証システムは、応答電文を効率良く生成できる。
【０１５１】
また、第１送信部３１は、記憶されている送信電文情報が示す要求と同一の要求を示す要求電文の送信を中止してもよい。
【０１５２】
そのような構成により、電文保証システムは、要求電文の無駄な送信を抑止できる。
【０１５３】
また、第２送信部４１は、受信側システム４０の負荷状況に応じた予定時刻を受信電文に含めてもよい。また、第２送信部４１は、業務アプリケーションが要求に対する処理を行う前に受信電文を送信してもよい。
【０１５４】
また、送信側システム３０は、再送部３２による再送処理が実行される前に再送の可否を判定する再送判定部（例えば、再送判定部１５０）を含んでもよい。
【符号の説明】
【０１５５】
１０、２０  電文保証システム
３０、１００  送信側システム
４０、２００  受信側システム
３１  第１送信部
３２  再送部
４１  第２送信部
１０１、２０１  ＣＰＵ
１０２、２０２  主記憶部
１０３、２０３  通信部
１０４、２０４  補助記憶部
１０５、２０５  入力部
１０６、２０６  出力部
１０７、２０７  システムバス
１１０  送信側業務AP
１２０  要求電文送信部
１３０  二重送信判定部
１４０  再送処理部
１５０  再送判定部
１６０  応答処理部
１７０  業務応答処理部
１８０  送信電文情報記憶部
２１０  受信側業務AP
２２０  応答電文送信部
２３０  応答電文情報記憶部
２４０  処理完了見込時刻計算部
【図１】
2019175222.tif 000003
【図２】
2019175222.tif 000004
【図３】
2019175222.tif 000005
【図４】
2019175222.tif 000006
【図５】
2019175222.tif 000007
【図６】
2019175222.tif 000008
【図７】
2019175222.tif 000009
【図８】
2019175222.tif 000010
【図９】
2019175222.tif 000011
【図１０】
2019175222.tif 000012
【図１１】
2019175222.tif 000013
【図１２】
2019175222.tif 000014
【図１３】
2019175222.tif 000015
【図１４】
2019175222.tif 000016
【図１５】
2019175222.tif 000017
【図１６】
2019175222.tif 000018