JP3776706B2 - データ通信装置、データ通信方法およびデータ通信プログラムを記録したコンピュータ読み取り可能な記録媒体 - Google Patents
データ通信装置、データ通信方法およびデータ通信プログラムを記録したコンピュータ読み取り可能な記録媒体 Download PDFInfo
- Publication number
- JP3776706B2 JP3776706B2 JP2000305303A JP2000305303A JP3776706B2 JP 3776706 B2 JP3776706 B2 JP 3776706B2 JP 2000305303 A JP2000305303 A JP 2000305303A JP 2000305303 A JP2000305303 A JP 2000305303A JP 3776706 B2 JP3776706 B2 JP 3776706B2
- Authority
- JP
- Japan
- Prior art keywords
- request
- reply
- connection
- communication device
- data communication
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Retry When Errors Occur (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Maintenance And Management Of Digital Transmission (AREA)
- Multi Processors (AREA)
Description
【発明の属する技術分野】
本発明は、通信の異常発生時の通信負荷を低減させることができるデータ通信装置、データ通信方法およびデータ通信プログラムを記録したコンピュータ読み取り可能な記録媒体に関するものである。
【0002】
近時、クライアント/サーバ構成のデータ通信装置が主流になっている。このようなデータ通信装置においては、クライアントの数が増えるに従って、通信負荷が増えるため、通信負荷をできるだけ増やさない手段、方法が切望されている。
【0003】
【従来の技術】
図9は、従来のCORBA(Common Object Request Broker Architecture)通信システムの構成を示すブロック図である。CORBAは、標準化団体OMG(Object Management Group)が定める異機種間接続のための標準化仕様であり、異機種間の連携プロトコルと分散アプリケーション構築のための各種API(Application Program Interface)を規定するものである。
【0004】
簡単に言えば、CORBAは、分散システム環境でクライアントが、サーバ内のオブジェクト(例えば、アプリケーションプログラム)にアクセスするためのメカニズムを提供する標準技術である。ここで、CORBAにおけるオブジェクトとは、クライアントから要求することができる一つまたは複数のサービスを提供する、識別可能にカプセル化されたエンティティをいう。
【0005】
図9には、n台のクライアント101〜10nと、これらのクライアント101〜10nとネットワーク(図示略)を介して接続されたサーバ20とからなるCORBA通信システムが図示されている。クライアント101〜10nのそれぞれは、所定のプロトコルに従って、サーバ20との間で通信を行う。このプロトコルにおいては、リクエスト、リプライ、コミット、ロールバックという処理が発生する。
【0006】
リクエストは、クライアント101〜10nのそれぞれからサーバ20のトランザクション処理を依頼するためのものである。トランザクションの発生のデータベース25の更新依頼を行うためのものである。リプライは、上記リクエストに対する返信であり、サーバ20からクライアント101〜10nへ通知されるものである。コミットは、クライアント101〜10nのそれぞれの処理結果をデータベース25に反映させるためのものである。リプライは、クライアント101〜10nとサーバ20との間のコネクションが異常切断された場合に、データベース25を、トランザクションが実行される前の状態に戻し、一貫性を保つためのものである。
【0007】
クライアント101において、ORB(Object Request Broker:分散オブジェクト間通信機構)111は、クライアント101とサーバ20とを仲介するソフトウェア・バスである。このORB111は、自身のIPアドレスおよびPORT番号を含む初期オブジェクトリファレンスを有している。
【0008】
ここで、CORBAにおけるネーミングサービスについて説明する。CORBAにおけるネーミングサービスによれば、クライアントは、オブジェクトにアクセスする場合、オブジェクトの位置ではなく、名前でアクセスできるようになるため、オブジェクトの物理的な位置を意識する必要がない。
【0009】
具体的には、クライアントからアクセスがあった場合、サーバ20内でオブジェクトリファレンスが生成され、これがクライアントに返されることにより、ネーミングサービスが提供される。このオブジェクトリファレンスは、オブジェクトを名前で一意に識別するための情報である。
【0010】
リクエスト送信部121は、上述したリクエストをサーバ20へ送信する機能を備えている。リプライ受信部131は、サーバ20からのリプライを受信する機能を備えている。このリプライは、上記リクエストに対する返信である。コミット/ロールバック送信部141は、上述したコミットまたはロールバックをサーバ20へ送信する機能を備えている。
【0011】
クライアント102において、ORB112は、ORB111と同様にして、クライアント102とサーバ20とを仲介するソフトウェア・バスである。このORB112は、自身のIPアドレスおよびPORT番号を含む初期オブジェクトリファレンスを有している。
【0012】
リクエスト送信部122は、上述したリクエストをサーバ20へ送信する機能を備えている。リプライ受信部132は、サーバ20からのリプライを受信する機能を備えている。このリプライは、上記リクエストに対する返信である。コミット/ロールバック送信部142は、上述したコミットまたはロールバックをサーバ20へ送信する機能を備えている。
【0013】
クライアント10nにおいて、ORB11nは、ORB111と同様にして、クライアント10nとサーバ20とを仲介するソフトウェア・バスである。このORB11nは、自身のIPアドレスおよびPORT番号を含む初期オブジェクトリファレンスを有している。
【0014】
リクエスト送信部12nは、上述したリクエストをサーバ20へ送信する機能を備えている。リプライ受信部13nは、サーバ20からのリプライを受信する機能を備えている。このリプライは、上記リクエストに対する返信である。コミット/ロールバック送信部14nは、上述したコミットまたはロールバックをサーバ20へ送信する機能を備えている。
【0015】
サーバ20は、クライアント101〜10nからのリクエストを受信する機能と、上記リクエストに対する返信としてのリプライをクライアント101〜10nへ送信する機能と、クライアント101〜10nからのコミットを受信する機能と、上記コミットに基づいてデータベース25を更新する機能と、クライアント101〜10nからのロールバックを受信する機能と、上記ロールバックに基づいてデータベース25を、トランザクションが実行される前の状態に戻す機能とを備えている。
【0016】
具体的には、サーバ20は、ORB21、リクエスト受信部22、リプライ送信部23、コミット/ロールバック受信部24およびデータベース25から構成されている。ORB21は、サーバ20とクライアント101〜10nとを仲介するソフトウェア・バスである。リクエスト受信部22は、クライアント101〜10nからのリクエストを受信する機能を備えている。
【0017】
リプライ送信部23は、上記リクエストに対する返信としてのリプライをクライアント101〜10nへ送信する機能を備えている。コミット/ロールバック受信部24は、クライアント101〜10nからのコミットを受信する機能と、上記コミットに基づいてデータベース25を更新する機能と、クライアント101〜10nからのロールバックを受信する機能と、上記ロールバックに基づいてデータベース25を、トランザクションが実行される前の状態に戻す機能とを備えている。
【0018】
つぎに、上述した従来のCORBA通信システムの動作について図10を参照しつつ説明する。図10は、従来のCORBA通信システムの動作を説明するシーケンス図である。はじめに、クライアント10nとサーバ20との間における正常時の動作について説明する。なお、クライアント101〜クライアント10n-1(図示略)とサーバ20との間における動作は、以下に説明するクライアント10nとサーバ20との間における動作と同様である。
【0019】
(正常時)
図10に示したステップSA1では、クライアント10nのリクエスト送信部12nからリクエストが送信されると、サーバ20のリクエスト受信部22によりリクエストが受信される。
【0020】
これにより、ステップSA2では、サーバ20のリプライ送信部23からリプライが送信されると、リプライ受信部13nによりリプライが受信される。ステップSA3では、コミット/ロールバック送信部14nによりコミットが送信されると、コミット/ロールバック受信部24によりコミットが受信される。これにより、サーバ20では、データベース25が更新される。
【0021】
(異常時)
つぎに、図9に示したクライアント10nとサーバ20との間に設定されているコネクションが異常切断した場合について説明する。図10に示したステップSB1では、クライアント10nのリクエスト送信部12nからリクエストが送信されると、サーバ20のリクエスト受信部22によりリクエストが受信される。これにより、ステップSB2では、サーバ20のリプライ送信部23からリプライが送信される。
【0022】
ここで、コネクションが異常切断するとトランザクション不整合が発生し、上記リプライは、リプライ受信部13nに受信されない。この場合、ステップSB3では、コミット/ロールバック送信部14nによりロールバックが送信されると、コミット/ロールバック受信部24によりロールバックが受信される。これにより、サーバ20では、データベース25が、トランザクションが実行される前の状態に戻される。すなわち、異常時には、データベース25が更新されない。
【0023】
【発明が解決しようとする課題】
ところで、前述したように、従来のCORBA通信システムでは、通信の異常発生時に、クライアント101〜10nとサーバ20との間で、コミット/ロールバックのための通信が必要であるため、クライアント数が増えるに従って、通信負荷(トランザクション)が増大するという問題があった。特に、ネットワークの回線容量が少ない場合にボトルネックとなる。
【0024】
本発明は、上記に鑑みてなされたもので、通信の異常発生時の通信負荷を低減させることができるデータ通信装置、データ通信方法およびデータ通信プログラムを記録したコンピュータ読み取り可能な記録媒体を提供することを目的とする。
【0025】
【課題を解決するための手段】
上記目的を達成するために、本発明は、外部通信装置との間でデータ通信を行うことによりデータベースを更新するデータ通信装置において、前記外部通信装置からトランザクション処理の実行を依頼するリクエストがあった場合に前記データベースを更新するデータベース更新手段と、前記リクエストに対応するリプライ情報を前記外部通信装置へ送信するとともにメモリに格納するリプライ手段と、前記外部通信装置との間のコネクションを監視するコネクション監視手段と、前記コネクション監視手段の監視結果に基づいて、前記コネクションが異常切断された場合、前記メモリに格納された、当該コネクションに対応するリプライ情報を前記外部通信装置へ送信する送信手段とを備えたことを特徴とする。
【0026】
また、本発明は、外部通信装置との間でデータ通信を行うことによりデータベースを更新するデータ通信方法において、前記外部通信装置からトランザクション処理の実行を依 頼するリクエストがあった場合に前記データベースを更新するデータベース更新工程と、前記リクエストに対応するリプライ情報を前記外部通信装置へ送信するとともにメモリに格納するリプライ工程と、前記外部通信装置との間のコネクションを監視するコネクション監視工程と、前記コネクション監視工程の監視結果に基づいて、前記コネクションが異常切断された場合、前記メモリに格納された、当該コネクションに対応するリプライ情報を前記外部通信装置へ送信する送信工程とを含むことを特徴とする。
【0027】
また、本発明は、外部通信装置との間でデータ通信を行うことによりデータベースを更新するデータ通信装置に適用されるデータ通信プログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記外部通信装置からトランザクション処理の実行を依頼するリクエストがあった場合に前記データベースを更新するデータベース更新工程と、前記リクエストに対応するリプライ情報を前記外部通信装置へ送信するとともにメモリに格納するリプライ工程と、前記外部通信装置との間のコネクションを監視するコネクション監視工程と、前記コネクション監視工程の監視結果に基づいて、前記コネクションが異常切断された場合、前記メモリに格納された、当該コネクションに対応するリプライ情報を前記外部通信装置へ送信する送信工程と、をコンピュータに実行させるためのデータ通信プログラムを記録したコンピュータ読み取り可能な記録媒体である。
【0028】
かかる発明によれば、外部通信装置からトランザクション処理の実行を依頼するリクエストがあった場合にデータベースを更新し、リクエストに対応するリプライ情報を外部通信装置へ送信するとともにメモリに格納しておき、コネクションの異常切断時に当該リプライ情報を外部通信装置へ送信するようにしたので、従来の外部装置からのロールバックの場合に比べて、通信回線のトラフィック量を低減でき、通信の異常発生時の通信負荷を低減させることができる。
【0029】
【発明の実施の形態】
以下、図面を参照して本発明にかかるデータ通信装置、データ通信方法およびデータ通信プログラムを記録したコンピュータ読み取り可能な記録媒体の一実施の形態について詳細に説明する。
【0030】
図1は、本発明にかかる一実施の形態の構成を示すブロック図である。同図には、n台のクライアント301〜30nと、これらのクライアント301〜30nとネットワーク(図示略)を介して接続されたサーバ20とからなるCORBAを利用したデータ通信が図示されている。クライアント301〜30nのそれぞれは、所定のプロトコルに従って、サーバ20との間で通信を行う。ここで、注意すべき点は、前述した従来のCORBA通信システム(図9参照)に比較して、コミット/ロールバックという通信負荷を増加させる要因が無いことである。
【0031】
クライアント301において、ORB311は、クライアント301とサーバ20とを仲介するソフトウェア・バスである。このORB311は、自身のIPアドレスおよびPORT番号を含む初期オブジェクトリファレンスを有している。
【0032】
リクエスト送信部321は、上述したリクエストをサーバ20へ送信する機能を備えている。ここで、ORB311は、リクエストの送信時に当該リクエストを識別するためのリクエストIDを取得し、これをリクエストに付加する。リプライ受信部331は、図5(a)に示したリプライ情報501を受信する。
【0033】
このリプライ情報501は、IPアドレス(1)、ポート番号(1)、リクエストID(1)、クライアントアプリケーション名(1)およびリプライデータ(1)から構成されている。このリプライ情報501は、リクエストに対する返信として、後述するリプライ送信部43から送信される情報である。
【0034】
ここで、上記リクエストIDは、ORB311により取得されたリクエストIDである。クライアントアプリケーション(1)は、クライアント301のリクエスト送信部321およびリプライ受信部331の名称である。リプライデータ(1)は、サーバ40のリプライ送信部43から送信されるデータである。
【0035】
トランザクション通知エージェント341は、図5(b)に示したフォーマットの通知リプライ情報60に基づいて、コネクション異常切断によるクライアント301側のトランザクションの整合をとる機能を備えている。通知リプライ情報60は、リクエストID、クライアントアプリケーション名およびリプライデータから構成されている。
【0036】
図7(b)に通知リプライ情報60の具体例を示す。通知リプライ情報901は、クライアント301とサーバ40との間でコネクション異常切断が発生した場合に、後述するトランザクション保証部44から送信される情報であり、リクエストID(1)、クライアントアプリケーション名(1)およびリプライデータ(1)から構成されている。この通知リプライ情報901は、図5(a)に示したリプライ情報501に対応している。トランザクション通知エージェント341は、通知リプライ情報901からコネクション異常切断時のリクエストを特定し、この特定結果に基づいて、トランザクションの整合をとる。
【0037】
クライアント302において、ORB312は、クライアント302とサーバ20とを仲介するソフトウェア・バスである。このORB312は、自身のIPアドレスおよびPORT番号を含む初期オブジェクトリファレンスを有している。
【0038】
リクエスト送信部322は、上述したリクエストをサーバ20へ送信する機能を備えている。ここで、ORB312は、リクエストの送信時に当該リクエストを識別するためのリクエストIDを取得し、これをリクエストに付加する。リプライ受信部332は、図5(a)に示したリプライ情報502を受信する。
【0039】
このリプライ情報502は、IPアドレス(2)、ポート番号(2)、リクエストID(2)、クライアントアプリケーション名(2)およびリプライデータ(2)から構成されている。このリプライ情報502は、リクエストに対する返信として、後述するリプライ送信部43から送信される情報である。
【0040】
ここで、上記リクエストIDは、ORB312により取得されたリクエストIDである。クライアントアプリケーション(2)は、クライアント302のリクエスト送信部322およびリプライ受信部332の名称である。リプライデータ(2)は、サーバ40のリプライ送信部43から送信されるデータである。
【0041】
トランザクション通知エージェント342は、図7(b)に示した通知リプライ情報902に基づいて、コネクション異常切断によるクライアント302側のトランザクションの整合をとる機能を備えている。通知リプライ情報902は、クライアント302とサーバ40との間でコネクション異常切断が発生した場合に、後述するトランザクション保証部44から送信される情報であり、リクエストID(2)、クライアントアプリケーション名(2)およびリプライデータ(2)から構成されている。
【0042】
また、通知リプライ情報902は、図5(a)に示したリプライ情報502に対応している。トランザクション通知エージェント342は、通知リプライ情報902からコネクション異常切断時のリクエストを特定し、この特定結果に基づいて、トランザクションの整合をとる。
【0043】
クライアント30nにおいて、ORB31nは、クライアント30nとサーバ20とを仲介するソフトウェア・バスである。このORB31nは、自身のIPアドレスおよびPORT番号を含む初期オブジェクトリファレンスを有している。
【0044】
リクエスト送信部32nは、上述したリクエストをサーバ20へ送信する機能を備えている。ここで、ORB31nは、リクエストの送信時に当該リクエストを識別するためのリクエストIDを取得し、これをリクエストに付加する。リプライ受信部33nは、図5(a)に示したリプライ情報50nを受信する。
【0045】
このリプライ情報50nは、IPアドレス(n)、ポート番号(n)、リクエストID(n)、クライアントアプリケーション名(n)およびリプライデータ(n)から構成されている。このリプライ情報50nは、リクエストに対する返信として、後述するリプライ送信部43から送信される情報である。
【0046】
ここで、上記リクエストIDは、ORB31nにより取得されたリクエストIDである。クライアントアプリケーション(n)は、クライアント30nのリクエスト送信部32nおよびリプライ受信部33nの名称である。リプライデータ(n)は、サーバ40のリプライ送信部43から送信されるデータである。なお、一実施の形態では、図5(a)に示したリプライ情報501〜50nに代えて、図7(b)に示したリプライ情報801〜80nを用いてもよい。
【0047】
トランザクション通知エージェント34nは、図5(b)に示した通知リプライ情報90nに基づいて、コネクション異常切断によるクライアント30n側のトランザクションの整合をとる機能を備えている。通知リプライ情報90nは、クライアント30nとサーバ40との間でコネクション異常切断が発生した場合に、後述するトランザクション保証部44から送信される情報であり、リクエストID(n)、クライアントアプリケーション名(n)およびリプライデータ(n)から構成されている。
【0048】
また、通知リプライ情報90nは、図5(a)に示したリプライ情報50nに対応している。トランザクション通知エージェント34nは、通知リプライ情報90nからコネクション異常切断時のリクエストを特定し、この特定結果に基づいて、トランザクションの整合をとる。
【0049】
サーバ40は、クライアント301〜30nからのリクエストを受信する機能と、上記リクエストに対する返信としてのリプライ情報501〜50nをクライアント301〜30nへ送信する機能と、サーバ40とクライアント301〜30nとの間のコネクションを監視する機能と、データベース45を更新する機能等を備えている。
【0050】
具体的には、サーバ40は、ORB41、リクエスト受信部42、リプライ送信部43、トランザクション保証部44およびデータベース45から構成されている。ORB41は、サーバ40とクライアント301〜30nとを仲介するソフトウェア・バスである。このORB41は、リプライ情報501〜50n(図5(a)参照)を送信する機能と、サーバ40とクライアント301〜30nとの間のコネクションを監視する機能とを備えている。
【0051】
まや、ORB41は、コネクションの監視結果として図5(c)に示したフォーマットのコネクション監視結果情報70をトランザクション保証部44へ通知する。コネクション監視結果情報70は、通知情報種別コード(X’03’)および通知コード(X’00’またはX’01’)から構成されている。通知種別コードは、コネクションが解放されたことを通知するためのコードである。通知コードは、コネクションの解放時に正常解放されたかまたは異常切断されたかを通知するためのコードである。
【0052】
リクエスト受信部42は、クライアント301〜30nからのリクエストを受信する機能を備えている。リプライ送信部43は、上記リクエストに対する返信としてのリプライデータ(図5(b)参照)をORB41へ送信する機能を備えている。トランザクション保証部44は、コネクションの異常切断時に伴うクライアント側のトランザクション不整合を回避し、トランザクションを保証する機能を備えている。また、トランザクション保証部44は、ORB41からのコネクション監視結果情報70(異常解放の場合)に基づいて、通知リプライ情報901〜90nをクライアント301〜30nへ送信する機能を備えている。
【0053】
つぎに、上述した一実施の形態の動作について図2〜図7を参照して説明する。図2は、本発明にかかる一実施の形態の動作を説明するシーケンス図である。はじめに、クライアント30nとサーバ40との間における正常時の動作をメインにして説明する。なお、クライアント301〜クライアント30n-1(図示略)とサーバ40との間における動作は、以下に説明するクライアント30nとサーバ40との間における動作と同様である。
【0054】
(正常時)
図3に示したステップSE1では、トランザクション保証部44は、サーバ40のORB41からのリプライ情報(図7(a)参照)を受信したか否かを判断し、この判断結果が「No」である場合、同判断を繰り返す。
【0055】
一方、図4に示したステップSF1では、クライアント301〜30nのトランザクション通知エージェント341〜34nのそれぞれは、トランザクション保証部44からの通知リプライ情報(図7(b)参照)を受信したか否かを判断し、この判断結果が「No」である場合、同判断を繰り返す。
【0056】
ここで、図2に示したステップSC1で、クライアント30nのリクエスト送信部32nからリクエストが送信される。このとき、ORB31nは、図5(a)に示したリクエストID(n)を取得し、これをリクエストに付加する。そして、リクエスト(リクエストID)は、サーバ40のリクエスト受信部42により受信される。
【0057】
ステップSC2では、リプライ送信部43は、図5(a)に示したリプライデータ(n)をORB41へ送信する。これにより、ステップSC3では、ORB41は、図5(a)に示したリプライ情報50nをトランザクション保証部44へ送信する。このリプライ情報50nは、トランザクション保証部44に受信される。
【0058】
これにより、トランザクション保証部44は、図3に示したステップSE1の判断結果を「Yes」として、リプライ情報501をメモリ(図示略)に格納する。ステップSE2では、トランザクション保証部44は、ORB41からのコネクション監視結果情報70(図5(b)参照)を受信したか否かを判断し、この判断結果が判断結果が「No」である場合、同判断を繰り返す。
【0059】
つぎに、図2に示したステップSC4では、ORB41は、上記リプライ情報50nをクライアント30nのリプライ受信部33nへ送信する。このリプライ情報50nは、リプライ受信部33nに受信された後、メモリ(図示略)に格納される。
【0060】
そして、クライアント30nとサーバ40との間のコネクションが正常解放されると、ステップSC6では、ORB41は、コネクション正常解放通知として、コネクション監視結果情報70(図5(c)参照)をトランザクション保証部44へ送信する。このコネクション監視結果情報70(正常解放)は、トランザクション保証部44により受信される。
【0061】
これにより、トランザクション保証部44は、図3に示したステップSE2の判断結果を「Yes」とする。ステップSE3では、トランザクション保証部44は、受信したコネクション監視結果情報70の通知コードを参照し、コネクションが正常に解放されたか否かを判断し、この場合、判断結果を「Yes」とする。ステップSE4では、トランザクション保証部44は、メモリに格納されているリプライ情報50n(図5(a)参照)を破棄する。
【0062】
(異常時)
つぎに、図1に示したクライアント30nとサーバ40との間に設定されているコネクションが異常切断した場合について説明する。図3に示したステップSE1では、トランザクション保証部44は、サーバ40のORB41からのリプライ情報(図7(a)参照)を受信したか否かを判断し、この判断結果が「No」である場合、同判断を繰り返す。
【0063】
一方、図4に示したステップSF1では、クライアント301〜30nのトランザクション通知エージェント341〜34nのそれぞれは、トランザクション保証部44からの通知リプライ情報(図7(b)参照)を受信したか否かを判断し、この判断結果が「No」である場合、同判断を繰り返す。
【0064】
ここで、図2に示したステップSD1で、クライアント30nのリクエスト送信部32nからリクエストが送信される。このとき、ORB31nは、図5(a)に示したリクエストID(n)を取得し、これをリクエストに付加する。そして、リクエスト(リクエストID)は、サーバ40のリクエスト受信部42により受信される。
【0065】
ステップSD2では、リプライ送信部43は、図5(a)に示したリプライデータ(n)をORB41へ送信する。これにより、ステップSD3では、ORB41は、図5(a)に示したリプライ情報50nをトランザクション保証部44へ送信する。このリプライ情報50nは、トランザクション保証部44に受信される。
【0066】
これにより、トランザクション保証部44は、図3に示したステップSE1の判断結果を「Yes」として、リプライ情報501をメモリ(図示略)に格納する。ステップSE2では、トランザクション保証部44は、ORB41からのコネクション監視結果情報70(図5(b)参照)を受信したか否かを判断し、この判断結果が判断結果が「No」である場合、同判断を繰り返す。
【0067】
つぎに、図2に示したステップSD4では、ORB41は、上記リプライ情報50nをクライアント30nのリプライ受信部33nへ送信する。このリプライ情報50nは、リプライ受信部33nに受信された後、メモリ(図示略)に格納される。
【0068】
ここで、クライアント30nとサーバ40との間のコネクションが異常切断されると、ステップSD6では、ORB41は、コネクション異常切断通知として、コネクション監視結果情報70(図5(c)参照)をトランザクション保証部44へ送信する。このとき、トランザクションの不整合が発生する。上記コネクション監視結果情報70(異常切断)は、トランザクション保証部44により受信される。
【0069】
これにより、トランザクション保証部44は、図3に示したステップSE2の判断結果を「Yes」とする。ステップSE3では、トランザクション保証部44は、受信したコネクション監視結果情報70の通知コードを参照し、コネクションが正常に解放されたか否かを判断し、この場合、判断結果を「No」とする。ステップSE5では、トランザクション保証部44は、コネクション異常切断に対応するIPアドレスおよびポート番号をキーにして、メモリに格納されている(複数の)リプライ情報から、コネクション異常切断に対応するリプライ情報50n(図5(a)参照)を検索する。
【0070】
ステップSE6(図2:ステップSD7)では、トランザクション保証部44は、リプライ情報50nに対応する通知リプライ情報90n(図7(b)参照)をクライアント30nのトランザクション通知エージェント34nへ送信する。この通知リプライ情報90nは、トランザクション通知エージェント34nにより受信される。
【0071】
これにより、トランザクション通知エージェント34nは、図4に示したステップSF1の判断結果を「Yes」とする。ステップSF2では、トランザクション通知エージェント341は、受信した通知リプライ情報90nのクライアントアプリケーション名(リクエストIDでも良い)をキーとして、メモリに格納されている複数のリプライ情報の中から、コネクション異常切断に対応する通知リプライ情報90nを検索する。ステップSF4では、トランザクション通知エージェント341は、上記通知リプライ情報90nのリプライデータに基づいて、トランザクションの整合をとる。
【0072】
なお、一実施の形態においては、図3に示したステップSE5でリプライ情報を検索し、検索されたリプライ情報に対応する通知リプライ情報をトランザクション通知エージェントへ送信する例について説明したが、図6に示したステップSG5のように検索することなく、メモリに格納されている全リプライ情報をトランザクション通知エージェントへ送信するようにしてもよい。図6に示したステップSG1〜ステップSG4は、図3に示したステップSE1〜ステップSE4に対応している。
【0073】
以上説明したように、一実施の形態によれば、クライアント30 1 〜30 n からトランザクション処理の実行を依頼するリクエストがあった場合にデータベース45を更新し、リクエストに対応する通知リプライ情報をクライアント301〜30nへ送信するとともに、メモリに格納しておき、コネクションの異常切断時に当該通知リプライ情報をクライアント301〜30nへ送信するようにしたので、従来のクライアント301〜30nからのロールバックの場合に比べて、ネットワークのトラフィック量を低減でき、通信の異常発生時の通信負荷を低減させることができる。
【0074】
また、一実施の形態によれば、コネクションが正常解放された場合に、メモリに格納されたリプライ情報を破棄するようにしたので、メモリの利用効率を向上させることができる。
【0075】
また、一実施の形態によれば、通知リプライ情報にリクエストを識別するためのリクエストIDを含ませるようにしたので、このリクエストIDに基づいて、コネクションの異常切断に対応するリクエストを容易に特定することができ、異常切断に伴うトランザクションの整合をとることができる。
【0076】
以上本発明にかかる一実施の形態について図面を参照して詳述してきたが、具体的な構成例はこの一実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等があっても本発明に含まれる。
【0077】
例えば、前述した一実施の形態においては、サーバ40の機能を実現するためのデータ通信プログラムを図8に示したコンピュータ読み取り可能な記録媒体200に記録して、この記録媒体200に記録されたデータ通信プログラムを同図に示したコンピュータ100に読み込ませ、実行することによりサーバ40の機能を実現するようにしてもよい。
【0078】
図8に示したコンピュータ100は、上記データ通信プログラムを実行するCPU(Central Processing Unit)101と、キーボード、マウス等の入力装置102と、各種データを記憶するROM(Read Only Memory)103と、演算パラメータ等を記憶するRAM(Random Access Memory)104と、記録媒体200からデータ通信プログラムを読み取る読取装置105と、ディスプレイ、プリンタ等の出力装置106と、装置各部を接続するバスBUとから構成されている。
【0079】
CPU101は、読取装置105を経由して記録媒体200に記録されているデータ通信プログラムを読み込んだ後、データ通信プログラムを実行することにより、前述したサーバ40の機能を実現する。なお、記録媒体200には、光ディスク、フロッピー(登録商標)ディスク、ハードディスク等の可搬型の記録媒体が含まれることはもとより、ネットワークのようにデータを一時的に記録保持するような伝送媒体も含まれる。
【0080】
【発明の効果】
以上説明したように、本発明によれば、外部装置からトランザクション処理の実行を依頼するリクエストがあった場合にデータベースを更新し、リクエストに対応するリプライ情報を外部装置へ送信するとともに、メモリに格納しておき、コネクションの異常切断時に当該リプライ情報を外部装置へ送信するようにしたので、従来の外部装置からのロールバックの場合に比べて、通信回線のトラフィック量を低減でき、通信の異常発生時の通信負荷を低減させることができるという効果を奏する。
【0081】
また、本発明によれば、コネクションが正常解放された場合に、メモリに格納されたリプライ情報を破棄するようにしたので、メモリの利用効率を向上させることができるという効果を奏する。
【0082】
また、本発明によれば、リプライ情報にリクエストを識別するための識別情報を含ませるようにしたので、この識別情報に基づいて、コネクションの異常切断に対応するリクエストを容易に特定することができ、異常切断に伴うトランザクションの整合をとることができるという効果を奏する。
【図面の簡単な説明】
【図1】 本発明にかかる一実施の形態の構成を示すブロック図である。
【図2】 同一実施の形態の動作を説明するシーケンス図である。
【図3】 図1に示したトランザクション保証部44の動作を説明するフローチャートである。
【図4】 図1に示したトランザクション通知エージェント341〜34nの動作を説明するフローチャートである。
【図5】 同一実施の形態で用いられるリプライ情報およびコネクション通知情報のフォーマットを示す図である。
【図6】 図1に示したトランザクション保証部44の動作を説明するフローチャートである。
【図7】 同一実施の形態で用いられるリプライ情報のフォーマットを示す図である。
【図8】 同一実施の形態の変形例を示すブロック図である。
【図9】 従来のCORBA通信システムの構成を示すブロック図である。
【図10】 従来のCORBA通信システムの動作を説明するシーケンス図である。
【符号の説明】
301 〜30n クライアント
311 〜31n ORB
321 〜32n リクエスト送信部
331 〜33n リプライ受信部
341 〜34n トランザクション通知エージェント
40 サーバ
41 ORB
42 リクエスト受信部
43 リプライ送信部
44 トランザクション保証部
100 コンピュータ
101 CPU
200 記録媒体
Claims (5)
- 外部通信装置との間でデータ通信を行うことによりデータベースを更新するデータ通信装置において、
前記外部通信装置からトランザクション処理の実行を依頼するリクエストがあった場合に前記データベースを更新するデータベース更新手段と、
前記リクエストに対応するリプライ情報を前記外部通信装置へ送信するとともにメモリに格納するリプライ手段と、
前記外部通信装置との間のコネクションを監視するコネクション監視手段と、
前記コネクション監視手段の監視結果に基づいて、前記コネクションが異常切断された場合、前記メモリに格納された、当該コネクションに対応するリプライ情報を前記外部通信装置へ送信する送信手段と、
を備えたことを特徴とするデータ通信装置。 - 前記コネクション監視手段の監視結果に基づいて、前記コネクションが正常解放された場合、前記メモリに格納されたリプライ情報を破棄するリプライ情報破棄手段を備えたことを特徴とする請求項1に記載のデータ通信装置。
- 前記リプライ情報には、前記リクエストを識別するための識別情報が含まれていることを特徴とする請求項1または2に記載のデータ通信装置。
- 外部通信装置との間でデータ通信を行うことによりデータベースを更新するデータ通信方法において、
前記外部通信装置からトランザクション処理の実行を依頼するリクエストがあった場合に前記データベースを更新するデータベース更新工程と、
前記リクエストに対応するリプライ情報を前記外部通信装置へ送信するとともにメモリに格納するリプライ工程と、
前記外部通信装置との間のコネクションを監視するコネクション監視工程と、
前記コネクション監視工程の監視結果に基づいて、前記コネクションが異常切断された場合、前記メモリに格納された、当該コネクションに対応するリプライ情報を前記外部通信装置へ送信する送信工程と、
を含むことを特徴とするデータ通信方法。 - 外部通信装置との間でデータ通信を行うことによりデータベースを更新するデータ通信装置に適用されるデータ通信プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記外部通信装置からトランザクション処理の実行を依頼するリクエストがあった場合に前記データベースを更新するデータベース更新工程と、
前記リクエストに対応するリプライ情報を前記外部通信装置へ送信するとともにメモリに格納するリプライ工程と、
前記外部通信装置との間のコネクションを監視するコネクション監視工程と、
前記コネクション監視工程の監視結果に基づいて、前記コネクションが異常切断された場合、前記メモリに格納された、当該コネクションに対応するリプライ情報を前記外部通信装置へ送信する送信工程と、
をコンピュータに実行させるためのデータ通信プログラムを記録したコンピュータ読み取り可能な記録媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000305303A JP3776706B2 (ja) | 2000-10-04 | 2000-10-04 | データ通信装置、データ通信方法およびデータ通信プログラムを記録したコンピュータ読み取り可能な記録媒体 |
US09/804,907 US20020040385A1 (en) | 2000-10-04 | 2001-03-13 | Method and device for data communication, and a computer product |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000305303A JP3776706B2 (ja) | 2000-10-04 | 2000-10-04 | データ通信装置、データ通信方法およびデータ通信プログラムを記録したコンピュータ読み取り可能な記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002118620A JP2002118620A (ja) | 2002-04-19 |
JP3776706B2 true JP3776706B2 (ja) | 2006-05-17 |
Family
ID=18786191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000305303A Expired - Fee Related JP3776706B2 (ja) | 2000-10-04 | 2000-10-04 | データ通信装置、データ通信方法およびデータ通信プログラムを記録したコンピュータ読み取り可能な記録媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20020040385A1 (ja) |
JP (1) | JP3776706B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9258391B2 (en) | 2009-05-29 | 2016-02-09 | Canon Kabushiki Kaisha | Processing method and apparatus |
JP5432595B2 (ja) * | 2009-05-29 | 2014-03-05 | キヤノン株式会社 | 通信装置及びその処理方法 |
US11157517B2 (en) * | 2016-04-18 | 2021-10-26 | Amazon Technologies, Inc. | Versioned hierarchical data structures in a distributed data store |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5101402A (en) * | 1988-05-24 | 1992-03-31 | Digital Equipment Corporation | Apparatus and method for realtime monitoring of network sessions in a local area network |
JP2865675B2 (ja) * | 1988-09-12 | 1999-03-08 | 株式会社日立製作所 | 通信ネットワーク制御方法 |
US5680549A (en) * | 1994-12-30 | 1997-10-21 | Compuserve Incorporated | System for transferring network connections from first to second program where the first enters an inactive state and resumes control of connections when second terminates |
US5835721A (en) * | 1995-08-21 | 1998-11-10 | Apple Computer, Inc. | Method and system for data transmission over a network link between computers with the ability to withstand temporary interruptions |
US5802258A (en) * | 1996-05-03 | 1998-09-01 | International Business Machines Corporation | Loosely coupled system environment designed to handle a non-disruptive host connection switch after detection of an error condition or during a host outage or failure |
US5835724A (en) * | 1996-07-03 | 1998-11-10 | Electronic Data Systems Corporation | System and method for communication information using the internet that receives and maintains information concerning the client and generates and conveys the session data to the client |
US6167025A (en) * | 1996-09-11 | 2000-12-26 | Telcordia Technologies, Inc. | Methods and apparatus for restoring connections in an ATM network |
US5796952A (en) * | 1997-03-21 | 1998-08-18 | Dot Com Development, Inc. | Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database |
JPH114244A (ja) * | 1997-04-15 | 1999-01-06 | Yazaki Corp | ネットワークの異常監視方法、及び異常監視システム |
US6223289B1 (en) * | 1998-04-20 | 2001-04-24 | Sun Microsystems, Inc. | Method and apparatus for session management and user authentication |
US6141414A (en) * | 1998-05-08 | 2000-10-31 | Conexant Systems, Inc. | Data access arrangement having combined remote hang-up/ring detection circuitry |
US6625657B1 (en) * | 1999-03-25 | 2003-09-23 | Nortel Networks Limited | System for requesting missing network accounting records if there is a break in sequence numbers while the records are transmitting from a source device |
US6614756B1 (en) * | 1999-08-20 | 2003-09-02 | 3Com Corporation | Method of detecting and recovering from signaling congestion in an asynchronous transfer mode network |
US6671729B1 (en) * | 2000-04-13 | 2003-12-30 | Lockheed Martin Corporation | Autonomously established secure and persistent internet connection and autonomously reestablished without user intervention that connection if it lost |
-
2000
- 2000-10-04 JP JP2000305303A patent/JP3776706B2/ja not_active Expired - Fee Related
-
2001
- 2001-03-13 US US09/804,907 patent/US20020040385A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20020040385A1 (en) | 2002-04-04 |
JP2002118620A (ja) | 2002-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5805798A (en) | Fail-safe event driven transaction processing system and method | |
US7676616B2 (en) | Method, apparatus and program storage device for providing asynchronous status messaging in a data storage system | |
JP3213766B2 (ja) | レプリケートファイル更新システム | |
US5784617A (en) | Resource-capability-based method and system for handling service processor requests | |
JP4144897B2 (ja) | 共通作業キュー環境における最適格サーバ | |
US6999997B2 (en) | Method and apparatus for communication of message data using shared queues | |
US7899897B2 (en) | System and program for dual agent processes and dual active server processes | |
US7814176B2 (en) | System and method for processing transactions in a multisystem database environment | |
JPH10149296A (ja) | サーバ・コンピュータ集約トポロジーを識別するための方法及び装置 | |
TW201240413A (en) | Lightweight input/output protocol | |
US6732360B1 (en) | System and method for providing connection between client and heterogeneous database management systems | |
US7500251B2 (en) | Method and system for managing programs for web service system | |
US20060056433A1 (en) | Message processing and content based searching for message locations in an asynchronous network | |
US8141103B2 (en) | Solution for modifying a queue manager to support smart aliasing which permits extensible software to execute against queued data without application modifications | |
CN104580428A (zh) | 一种数据路由方法、数据管理装置和分布式存储系统 | |
JP3776706B2 (ja) | データ通信装置、データ通信方法およびデータ通信プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
US6578115B2 (en) | Method and apparatus for handling invalidation requests to processors not present in a computer system | |
US7249163B2 (en) | Method, apparatus, system and computer program for reducing I/O in a messaging environment | |
KR102598619B1 (ko) | 데이터베이스 관리 서비스 제공 시스템 | |
JP4222065B2 (ja) | 情報システムにおけるデータアクセス方法および情報システム | |
JP4536292B2 (ja) | ネットワークシステム、サーバ、クライアント、オブジェクト間通信方法、プロファイルオブジェクト登録方法、プログラム、および記憶媒体 | |
JP2002032236A (ja) | データ通信装置及びそのデータ通信方法 | |
KR100316841B1 (ko) | 관리 대행자의 재실행방법 및 장치 | |
JP3939930B2 (ja) | オブジェクトリファレンス生成装置、オブジェクトリファレンス生成方法およびオブジェクトリファレンス生成プログラムを記録したコンピュータ読み取り可能な記録媒体、並びにオブジェクトリファレンス生成プログラム | |
JPH11110365A (ja) | ネットワーク計算機システム、該システムで用いる計算機、および該システムに係る方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050307 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050315 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050513 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050614 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050823 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060221 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060223 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100303 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100303 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110303 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110303 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120303 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130303 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130303 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140303 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |