(57)【要約】【課題】アクセスの競合を抑制し、処理効率の向上を実現する。【解決手段】データ要求元へのデータ送信にあたり、送信データ格納部は、送信データ格納DB内の未送信のデータの末尾位置を表す最新格納区分・通番を格納済インデックスDBから読み出し、送信データ格納DBにデータを格納し、格納済インデックスDBの最新格納区分・通番を更新する((1)〜(3))。データ送信部は、送信データ格納DB内の送信済みのデータの末尾位置を表す最終送信区分・通番と、以前にコピーした最新格納区分・通番を送信済インデックスDBから読み出し、送信データ格納DBから未送信のデータを読み出してデータ要求元へ送信し、送信済インデックスDBの最終送信区分・通番を更新する((4)〜(6))ことを繰り返し、送信済インデックスDB上で未送信データ無しの状態になると、格納済インデックスDBから送信済インデックスDBへ最新格納区分・通番をコピーする((7),(8))。【選択図】図４
2008186091.tif 000002
【特許請求の範囲】
【請求項１】
転送対象のデータを格納するための第１記憶手段と、
該第１記憶手段のうち未転送のデータが格納されている領域の末尾位置又は新たなデータを格納する領域の先頭位置を表す第１位置情報を保持する第２記憶手段と、
前記第１記憶手段のうち転送済みのデータが格納されている領域の末尾位置又は未転送のデータが格納されている領域の先頭位置を表す第２位置情報及び前記第１位置情報を保持する第３記憶手段と、
前記転送対象のデータを前記第１記憶手段に格納させ、前記第２記憶手段に保持されている前記第１位置情報を前記第１記憶手段への前記転送対象のデータの格納に応じて更新するデータ格納手段と、
前記第３記憶手段から前記第２位置情報及び前記第１位置情報を読み出すことで、前記第１記憶手段のうち未転送のデータが格納されている領域を認識し、前記第１記憶手段から未転送のデータを読み出して所定の転送先へ転送し、前記第３記憶手段に保持されている前記第２位置情報を前記所定の転送先へのデータの転送に応じて更新すると共に、前記第３記憶手段に保持されている前記第２位置情報及び前記第１位置情報が未転送のデータ無しを表す状態となった場合に、前記第３記憶手段に保持されている前記第１位置情報を前記第２記憶手段に保持されている前記第１位置情報と一致させる同期処理を行うデータ転送手段と、
を含むデータ転送装置。
【請求項２】
前記データ格納手段は、前記転送対象のデータを前記第１記憶手段の記憶領域の先頭から順次格納すると共に、前記転送対象のデータを前記記憶領域の末尾迄格納した場合は、次の転送対象のデータを前記記憶領域の先頭に格納させることで、前記記憶領域を循環使用することを特徴とする請求項１記載のデータ転送装置。
【請求項３】
前記第１記憶手段は複数の記憶媒体から成り、
前記第１位置情報及び前記第２位置情報は、対応する末尾位置又は先頭位置が前記複数の記憶媒体のうちの何れの記憶媒体の記憶領域内に位置しているかを表す媒体識別情報、及び、対応する末尾位置又は先頭位置が前記媒体識別情報が表す記憶媒体の記憶領域内の何れの位置かを表す媒体内位置情報から構成されていることを特徴とする請求項１記載のデータ転送装置。
【請求項４】
前記第３記憶手段及び前記データ転送手段が複数設けられ、
個々の前記データ転送手段は、前記第１記憶手段から読み出した未転送のデータを互いに異なる特定の転送先へ転送すると共に、複数の前記第３記憶手段のうち互いに異なる特定の第３記憶手段から前記第２位置情報及び前記第１位置情報を読み出すことで、前記第１記憶手段のうち前記特定の転送先へ未転送のデータが格納されている領域を認識することを特徴とする請求項１記載のデータ転送装置。
【請求項５】
転送対象のデータを格納するための第１記憶手段、該第１記憶手段のうち未転送のデータが格納されている領域の末尾位置又は新たなデータを格納する領域の先頭位置を表す第１位置情報を保持する第２記憶手段、及び、前記第１記憶手段のうち転送済みのデータが格納されている領域の末尾位置又は未転送のデータが格納されている領域の先頭位置を表す第２位置情報及び前記第１位置情報を保持する第３記憶手段を備えたコンピュータを、
前記転送対象のデータを前記第１記憶手段に格納させ、前記第２記憶手段に保持されている前記第１位置情報を前記第１記憶手段への前記転送対象のデータの格納に応じて更新するデータ格納手段、
及び、前記第３記憶手段から前記第２位置情報及び前記第１位置情報を読み出すことで、前記第１記憶手段のうち未転送のデータが格納されている領域を認識し、前記第１記憶手段から未転送のデータを読み出して所定の転送先へ転送し、前記第３記憶手段に保持されている前記第２位置情報を前記所定の転送先へのデータの転送に応じて更新すると共に、前記第３記憶手段に保持されている前記第２位置情報及び前記第１位置情報が未転送のデータ無しを表す状態となった場合に、前記第３記憶手段に保持されている前記第１位置情報を前記第２記憶手段に保持されている前記第１位置情報と一致させる同期処理を行うデータ転送手段
として機能させるデータ転送プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ転送装置及びプログラムに係り、特に、転送対象のデータを所定の記憶手段に一旦格納した後に、所定の転送先へ転送するデータ転送装置、及び、コンピュータをデータ転送装置として機能させるためのデータ転送プログラムに関する。
【背景技術】
【０００２】
第１のコンピュータから第２のコンピュータへのデータ転送、或いは、第１のシステムから第２のシステムへのデータ転送に際し、個々のコンピュータ又はシステムが非同期かつ並列に動作する場合、第１のコンピュータ（又は第１のシステム）からの転送対象のデータの出力と同期したタイミングで転送対象のデータを記憶装置に格納する格納処理と、第２のコンピュータ（又は第２のシステム）の動作と同期したタイミングで転送対象のデータを記憶装置から読み出して第２のコンピュータへ転送する転送処理を並列に行う処理方式を採用すれば、第１のコンピュータから第２のコンピュータへのデータ転送を円滑に行うことができる。
【０００３】
また、上記に関連して特許文献１には、データマネージャに対してタスクがデータの読み出し又は書き込みを要求すると、メモリロケーションを示すアドレス（ポインタ）がタスクに渡され、ポインタを渡されたタスクは、メモリロケーションにホールド（ロック）をかけてロケーションの読み出し又は書き込みを行い、ホールドを解除する迄の間、別のタスクのアクセスを禁止する技術が開示されている。
【０００４】
また、特許文献２には、バッファ格納部が書込データを書込バッファに格納し、バッファ読取部が書込バッファからデータを読み出して出力する構成において、格納情報及び読取情報から成るバッファ管理情報を記憶する管理情報記憶部を設け、バッファ格納部が書込データを格納した際に格納情報を更新し、バッファ読取部が格納情報を参照して書込バッファからのデータの読み取りを開始すると共に、当該読み取りが終了したときに読取情報を更新する技術が開示されている。
【０００５】
また、特許文献３には、送信側が記憶装置に書き込んだデータを受信側が読み込むことで、送信側から受信側へデータが転送されるシステムにおいて、送信側は書き込み中又は書き込み済みのファイルNoを通信回線を介して受信側へ通知し、受信側は、データ読み込み対象のファイルが書き込み中の場合は書き込み終了迄待機すると共に、読み込み中又は読み込み済みのファイルNoを通信回線を介して送信側へ通知し、送信側はデータ書き込み対象のファイルが読み込み中の場合は読み込み終了迄待機する技術が開示されている。
【特許文献１】特開平１１−６５９０６号公報
【特許文献２】特開平８−１６３２３号公報
【特許文献３】特開平９−１６７１１２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
前述した処理方式では、格納処理と転送処理が並列に行われるので、記憶装置の同一の領域に対して格納処理と転送処理が同時にアクセス（データの格納／読み出し）する競合が発生する可能性がある。このアクセスの競合によりデータの矛盾等が生ずる可能性があるが、この点に関しては、例えば特許文献１に記載の技術のように、一方が記憶装置にアクセスしている間ロックをかける等の排他制御を行うことで回避できる。しかし、アクセスの競合が発生した場合、一方のアクセスが完了する迄他方のアクセスが待たされ、処理効率が低下するので、特に、高いデータ転送レートでのデータ転送が要求されるケースへの適用を考慮すると、改善の余地がある。
【０００７】
これに対し、特許文献２に記載の技術では、書込バッファと別に設けた管理情報記憶部を介してバッファ格納部及びバッファ読取部が格納情報・読取情報を授受しているので、バッファ格納部及びバッファ読取部を、書込バッファ上で相手側とアクセスが競合しないように構成することは可能である。しかし、特許文献２に記載の技術において、バッファ格納部及びバッファ読取部は、書込バッファをアクセスする毎に管理情報記憶部にアクセスして格納情報又は読取情報の更新を行っているので、管理情報記憶部に対するアクセスの競合が発生する可能性が高く、処理効率（データ転送レート）は必ずしも向上しない。
【０００８】
また、特許文献３に記載の技術では、書き込み中又は書き込み済みのファイルNoが通信回線を介して受信側へ通知されると共に、読み込み中又は読み込み済みのファイルNoが通信回線を介して送信側へ通知されるので、受信側又は送信側がアクセス中のファイルNoを相手側が認識することができ、読み込み対象のファイルが書き込み中の場合は書き込みが終了する迄待機し、書き込み対象のファイルが読み込み中の場合は読み込みが終了する迄待機する処理を行うことで、受信側と送信側が同一のファイルをアクセスしようとして競合が発生することを回避できる。
【０００９】
しかし、特許文献３に記載の技術では、送信側（及び受信側）が一定時間毎にファイルNoを相手側へ通知する処理を行うことで送信側と受信側の間のファイルNoの伝達を実現しており、ファイルNoの伝達時には送信側と受信側が同期して動作する必要がある。このため、ファイルNoの伝達時に、例えばファイルNoを通知する側は、相手にファイルNoの通知を通知した後、通知したファイルNoが相手に正しく受け付けられたことが相手からの応答によって確認される迄待機し、必要に応じてファイルNoを再通知する等の処理を行う必要があり、ファイルNoの通知を受ける側は、相手からファイルNoが通知される毎に、実行中の処理を中断してこれを受信する処理を行い、処理終了後に中断していた処理を再開する処理を行う必要があるので、処理効率が低く高いデータ転送レートでデータを転送できないという問題がある。また、受信側が複数存在している場合、送信側はファイルNoを通知する処理を個々の受信側について各々行う必要があるので、送信側の負荷が増大するという問題も生ずる。
【００１０】
本発明は上記事実を考慮して成されたもので、アクセスの競合を抑制し、処理効率（データ転送レート）の向上を実現できるデータ転送装置及びデータ転送プログラムを得ることが目的である。
【課題を解決するための手段】
【００１１】
上記目的を達成するために請求項１記載の発明に係るデータ転送装置は、転送対象のデータを格納するための第１記憶手段と、該第１記憶手段のうち未転送のデータが格納されている領域の末尾位置又は新たなデータを格納する領域の先頭位置を表す第１位置情報を保持する第２記憶手段と、前記第１記憶手段のうち転送済みのデータが格納されている領域の末尾位置又は未転送のデータが格納されている領域の先頭位置を表す第２位置情報及び前記第１位置情報を保持する第３記憶手段と、前記転送対象のデータを前記第１記憶手段に格納させ、前記第２記憶手段に保持されている前記第１位置情報を前記第１記憶手段への前記転送対象のデータの格納に応じて更新するデータ格納手段と、前記第３記憶手段から前記第２位置情報及び前記第１位置情報を読み出すことで、前記第１記憶手段のうち未転送のデータが格納されている領域を認識し、前記第１記憶手段から未転送のデータを読み出して所定の転送先へ転送し、前記第３記憶手段に保持されている前記第２位置情報を前記所定の転送先へのデータの転送に応じて更新すると共に、前記第３記憶手段に保持されている前記第２位置情報及び前記第１位置情報が未転送のデータ無しを表す状態となった場合に、前記第３記憶手段に保持されている前記第１位置情報を前記第２記憶手段に保持されている前記第１位置情報と一致させる同期処理を行うデータ転送手段と、を含んで構成されている。
【００１２】
請求項１記載の発明では、転送対象のデータを格納するための第１記憶手段と別に、第１記憶手段のうち未転送のデータが格納されている領域の末尾位置又は新たなデータを格納する領域の先頭位置を表す第１位置情報を保持する第２記憶手段と、第１記憶手段のうち転送済みのデータが格納されている領域の末尾位置又は未転送のデータが格納されている領域の先頭位置を表す第２位置情報及び第１位置情報を保持する第３記憶手段が設けられている。なお、請求項１記載の発明において、第１〜第３記憶手段は互いに異なる記憶媒体で構成されていてもよいし、第１〜第３記憶手段のうちの少なくとも２つが、同一の記憶媒体の記憶領域のうちアクセス単位の異なる記憶領域（記憶領域をアクセス単位毎に複数の部分記憶領域に区切ったときの異なる部分記憶領域）で構成されていてもよい。
【００１３】
また、請求項１記載の発明において、データ格納手段は、転送対象のデータを第１記憶手段に格納させ、第２記憶手段に保持されている第１位置情報を第１記憶手段への転送対象のデータの格納に応じて更新する。そしてデータ転送手段は、第３記憶手段から第２位置情報及び第１位置情報を読み出すことで、第１記憶手段のうち未転送のデータが格納されている領域を認識し、第１記憶手段から未転送のデータを読み出して所定の転送先へ転送し、第３記憶手段に保持されている第２位置情報を所定の転送先へのデータの転送に応じて更新すると共に、第３記憶手段に保持されている第２位置情報及び第１位置情報が未転送のデータ無しを表す状態となった場合に、第３記憶手段に保持されている第１位置情報を第２記憶手段に保持されている第１位置情報と一致させる同期処理を行う。
【００１４】
このように、請求項１記載の発明では、データ格納手段及びデータ転送手段によって第１記憶手段が各々アクセスされるが、データ転送手段は、第３記憶手段から第２位置情報及び第１位置情報を読み出すことで、第１記憶手段のうち未転送のデータが格納されている領域（すなわちデータ格納手段によって転送対象のデータが既に格納された領域）を認識した後に、第１記憶手段から未転送のデータを読み出して所定の転送先へ転送するので、第１記憶手段の同一の記憶領域がデータ格納手段及びデータ転送手段によって同時にアクセスされることはなく、第１記憶手段へのアクセスの競合は生じない。また、請求項１記載の発明では、第３記憶手段のアクセスがデータ転送手段のみによって行われ、データ格納手段は第３記憶手段にアクセスしないので、第３記憶手段へのアクセスの競合も生じない。
【００１５】
更に、請求項１記載の発明では、データ格納手段及びデータ転送手段によって第２記憶手段が各々アクセスされるが、データ転送手段によって第２記憶手段がアクセスされるのは、データ転送手段が、第３記憶手段に保持されている第１位置情報を第２記憶手段に保持されている第１位置情報と一致させる同期処理を行う場合、すなわち、第３記憶手段に保持されている第２位置情報及び第１位置情報が未転送のデータ無しを表す状態となった場合のみである。これにより、データ転送手段が第１記憶手段からの未転送のデータを読み出す都度、第２記憶手段にアクセスする（第２記憶手段に保持されている第１位置情報を読み出す）場合と比較して、第３記憶手段に保持されている第２位置情報及び第１位置情報が未転送のデータ無しを表す状態となる迄の間はデータ転送手段によって第２記憶手段がアクセスされないので、データ転送手段によって第２記憶手段がアクセスされる頻度が大幅に低減され、第２記憶手段へのアクセスの競合が発生する頻度を大幅に低減することができる。従って、請求項１記載の発明によれば、各記憶手段へのアクセスの競合を抑制することができ、処理効率（データ転送レート）を向上させることができる。
【００１６】
なお、請求項１記載の発明において、データ格納手段は、例えば請求項２に記載したように、転送対象のデータを第１記憶手段の記憶領域の先頭（論理的な先頭でも物理的な先頭でもよい）から順次格納すると共に、転送対象のデータを記憶領域の末尾（論理的な末尾でも物理的な末尾でもよい）迄格納した場合は、次の転送対象のデータを前記記憶領域の先頭に格納させることで、記憶領域を循環使用するように構成することができる。
【００１７】
また、請求項１記載の発明において、第１記憶手段は複数の記憶媒体で構成されていてもよく、この場合、例えば請求項３に記載したように、第１位置情報及び第２位置情報を、対応する末尾位置又は先頭位置が複数の記憶媒体のうちの何れの記憶媒体の記憶領域内に位置しているかを表す媒体識別情報、及び、対応する末尾位置又は先頭位置が媒体識別情報が表す記憶媒体の記憶領域内の何れの位置かを表す媒体内位置情報で構成することができる。
【００１８】
また、請求項１記載の発明において、例えば請求項４に記載したように、第３記憶手段及びデータ転送手段を複数設け、個々のデータ転送手段を、第１記憶手段から読み出した未転送のデータを互いに異なる特定の転送先へ転送すると共に、複数の第３記憶手段のうち互いに異なる特定の第３記憶手段から第２位置情報及び第１位置情報を読み出すことで、第１記憶手段のうち特定の転送先へ未転送のデータが格納されている領域を認識するように構成してもよい。
【００１９】
本発明では、データ転送手段によって同期処理が行われることで、第３記憶手段に保持されている第１位置情報が第２記憶手段に保持されている第１位置情報と一致され、データ転送手段は、第３記憶手段から第２位置情報及び第１位置情報を読み出すことで、第１記憶手段のうち未転送のデータが格納されている領域を認識している。このため、上記のようにデータ転送手段が複数設けられている場合（データの転送先が複数存在している場合）にも、データ格納手段は第２記憶手段に保持されている第１位置情報を更新する処理を行うのみで、更新後の第１位置情報が個々のデータ転送手段に伝達されることになる。従って、データ転送手段が複数設けられている場合に、データ格納手段に加わる負荷を軽減することができる。なお、同一のデータを複数の転送先へ各々転送することは、本発明に係る第１記憶手段、第２記憶手段、第３記憶手段、データ格納手段及びデータ転送手段の組を転送先の数と同数設けることによっても実現可能である。
【００２０】
請求項５記載の発明に係るデータ転送プログラムは、転送対象のデータを格納するための第１記憶手段、該第１記憶手段のうち未転送のデータが格納されている領域の末尾位置又は新たなデータを格納する領域の先頭位置を表す第１位置情報を保持する第２記憶手段、及び、前記第１記憶手段のうち転送済みのデータが格納されている領域の末尾位置又は未転送のデータが格納されている領域の先頭位置を表す第２位置情報及び前記第１位置情報を保持する第３記憶手段を備えたコンピュータを、前記転送対象のデータを前記第１記憶手段に格納させ、前記第２記憶手段に保持されている前記第１位置情報を前記第１記憶手段への前記転送対象のデータの格納に応じて更新するデータ格納手段、及び、前記第３記憶手段から前記第２位置情報及び前記第１位置情報を読み出すことで、前記第１記憶手段のうち未転送のデータが格納されている領域を認識し、前記第１記憶手段から未転送のデータを読み出して所定の転送先へ転送し、前記第３記憶手段に保持されている前記第２位置情報を前記所定の転送先へのデータの転送に応じて更新すると共に、前記第３記憶手段に保持されている前記第２位置情報及び前記第１位置情報が未転送のデータ無しを表す状態となった場合に、前記第３記憶手段に保持されている前記第１位置情報を前記第２記憶手段に保持されている前記第１位置情報と一致させる同期処理を行うデータ転送手段として機能させる。
【００２１】
請求項５記載の発明に係るデータ転送プログラムは、上記の第１記憶手段、第２記憶手段及び第３記憶手段を備えたコンピュータを、上記のデータ格納手段及びデータ転送手段として機能させるためのプログラムであるので、コンピュータが請求項５記載の発明に係るデータ転送プログラムを実行することで、コンピュータが請求項１に記載のデータ転送装置として機能することになり、請求項１記載の発明と同様に、アクセスの競合を抑制することができ、処理効率（データ転送レート）を向上させることができる。
【発明の効果】
【００２２】
以上説明したように本発明は、データ格納手段が、転送対象のデータを第１記憶手段に格納させ、第２記憶手段に保持され、第１記憶手段の未転送データ格納領域の末尾位置又は新たなデータの格納領域の先頭位置を表す第１位置情報を更新する処理を行い、データ転送手段が、第１記憶手段の転送済みデータ格納領域の末尾位置又は未転送データ格納領域の先頭位置を表す第２位置情報及び第１位置情報を第３記憶手段から読み出すことで、第１記憶手段のうち未転送データ格納領域を認識し、第１記憶手段から未転送のデータを読み出して所定の転送先へ転送し、第３記憶手段に保持されている第２位置情報を更新すると共に、第３記憶手段に保持されている第２位置情報及び第１位置情報が未転送のデータ無しを表す状態となった場合に、第３記憶手段に保持されている第１位置情報を第２記憶手段に保持されている第１位置情報と一致させる同期処理を行うので、アクセスの競合を抑制し、処理効率（データ転送レート）の向上を実現できる、という優れた効果を有する。
【発明を実施するための最良の形態】
【００２３】
以下、図面を参照して本発明の実施形態の一例を詳細に説明する。図１には本実施形態に係るコンピュータ・システム１０が示されている。本実施形態において、コンピュータ・システム１０は特定金融機関に設けられており、特定金融機関の情報センタ等に設置されたホスト・コンピュータ１２，２６と、特定金融機関内に構築されたコンピュータ・ネットワーク２０を含んで構成されている。なお、本実施形態ではホスト・コンピュータ１２が本発明に係るデータ転送装置として機能し、このホスト・コンピュータ１２は請求項５に記載のコンピュータに対応している。
【００２４】
ホスト・コンピュータ１２は汎用の大型コンピュータから成り、ＣＰＵ１２Ａ、ＲＡＭ等から成るメモリ１２Ｂ、磁気ディスク等から成る不揮発性の記憶部１２Ｃ、ネットワークインタフェース（Ｉ／Ｆ）部１２Ｄを備えている。ホスト・コンピュータ１２は、ネットワークＩ／Ｆ部１２Ｄに接続された通信回線を介してコンピュータ・ネットワーク２０（詳しくはネットワーク２０内のブランチ・サーバ２２）及びホスト・コンピュータ２６に各々接続されている。
【００２５】
また、ホスト・コンピュータ１２の記憶部１２Ｃには、ホスト・コンピュータ１２を送信データ生成部として機能させるための送信データ生成アプリケーション・プログラム、ホスト・コンピュータ１２を送信データ格納部として機能させるための送信データ格納アプリケーション・プログラム、ホスト・コンピュータ１２をデータ送信部として機能させるためのデータ送信アプリケーション・プログラムが各々記憶されている。なお、上記の送信データ格納部は本発明に係るデータ格納手段に、データ送信部は本発明に係るデータ転送手段に対応しており、上記各プログラムのうち、送信データ格納アプリケーション・プログラム及びデータ送信アプリケーション・プログラムは請求項５に記載のデータ転送プログラムに対応している。
【００２６】
また、ホスト・コンピュータ１２には、大容量の磁気ディスク等の記憶媒体から成る第１ストレージ１４、第２ストレージ１６及び第３ストレージ１８が各々接続され、第１ストレージ１４には送信データ格納データベース（ＤＢ）を記憶するための記憶領域が設けられ、第２ストレージ１６には格納済インデックスＤＢを記憶するための記憶領域が設けられ、第３ストレージ１８には送信済インデックスＤＢを記憶するための記憶領域が設けられている。なお、上記各ＤＢのうち送信データ格納ＤＢには大量のデータが格納されるため、本実施形態では第１ストレージ１４が複数設けられており、個々の第１ストレージ１４には、個々の第１ストレージ１４を識別するための識別情報として「区分(１を初期値とする昇順の数値（１,２,３,…))」が各々付与されている。なお、図１は第１ストレージ１４が３個設けられた構成を例として示しているが、第１ストレージ１４の数はこれに限定されるものでない。上記の第１ストレージ１４は本発明に係る第１記憶手段に、第２ストレージ１６は本発明に係る第２記憶手段に、第３ストレージ１８は本発明に係る第３記憶手段に各々対応している。
【００２７】
一方、コンピュータ・ネットワーク２０は、特定金融機関の各支店に各々設置されたブランチ・サーバ２２（ＰＣ、ワークステーション、大型コンピュータの何れでもよい）が通信回線を介して互いに接続されて構成されており、個々のブランチ・サーバ２２には、個々のブランチ・サーバ２２と同一の支店に設置された複数台の営業店端末（金融機関の従業員が操作するための端末）２４が各々接続されている。なお、ホスト・コンピュータ２６はホスト・コンピュータ１２とほぼ同一の構成（記憶部に記憶されているプログラムは相違している）であるので説明を省略する。
【００２８】
次に本実施形態の作用を説明する。本実施形態に係るホスト・コンピュータ１２では、特定金融機関内で各種業務が行われることに伴い、コンピュータ・システム１０内外の他のコンピュータ（例えば個々の営業店端末２４）から情報（例えば入出金の情報等）を受信する毎に、業務処理プログラムが起動されてＣＰＵ１２Ａによって実行され、業務処理として、受信した情報に応じた内容の処理（例えば記帳等の処理）を行う。また、行った処理の内容が、他のコンピュータ（例えばホスト・コンピュータ２６）へ転送すべきデータが生ずる処理であった場合には、業務処理プログラムによって送信データ生成アプリケーション・プログラムが起動されてＣＰＵ１２Ａによって実行され、他のコンピュータへ転送すべきデータ（送信データ）を生成する送信データ生成処理が行われる。
【００２９】
また、送信データ生成処理によって送信データが生成されると、送信データ生成アプリケーション・プログラムによって送信データ格納アプリケーション・プログラムが起動されてＣＰＵ１２Ａによって実行され、送信データ生成処理によって生成された送信データを第１ストレージ１４の送信データ格納ＤＢに格納する送信データ格納処理（詳細は後述）が行われる。一方、送信データ格納ＤＢに格納されている送信データの転送要求を他のコンピュータ（当該送信データを転送すべきコンピュータ：本実施形態ではホスト・コンピュータ２６を例に説明する）から受信すると、データ送信アプリケーション・プログラムが起動されてＣＰＵ１２Ａによって実行され、第１ストレージ１４の送信データ格納ＤＢから送信データを読み出してデータ要求元のホスト・コンピュータ２６へ送信するデータ送信処理（詳細は後述）が行われる。
【００３０】
なお、本実施形態において、ホスト・コンピュータ１２の記憶部１２Ｃに記憶されている送信データ生成アプリケーション・プログラム、送信データ格納アプリケーション・プログラム、データ送信アプリケーション・プログラムのプログラム群と、ホスト・コンピュータ１２に接続された第１ストレージ１４、第２ストレージ１６及び第３ストレージ１８のストレージ群は、特定金融機関の複数種の業務のうちの特定の業務に対応しており、図示は省略するが、上記のプログラム群及びストレージ群は、特定金融機関の複数種の業務に対応して複数組設けられている。
【００３１】
次に、各ストレージに設けられたＤＢについて説明する。複数の第１ストレージ１４に各々記憶された送信データ格納ＤＢは、送信データ生成処理によって生成された送信データを格納するためのＤＢであり、個々の第１ストレージ１４に各々設けられた送信データ格納ＤＢの記憶領域は一定サイズの多数個の格納領域に分割され、個々の格納領域（レコード）には、以下の表１に示すように、「業務ＩＤ」「区分」「通番」「送信済フラグ」「送信データ長」「送信データ」等の情報が格納される。
【００３２】
【表１】
2008186091.tif 000003
【００３３】
なお、「業務ＩＤ」には、ホスト・コンピュータ１２がデータを生成・転送する複数種の業務のうち、自ＤＢに対応する業務の識別情報が設定され、「区分」には自ＤＢ（が記憶されている第１ストレージ１４）に付与されている区分が設定される。また、個々の格納領域には、個々の格納領域を識別するための識別情報として「通番(１を初期値とする昇順の数値（１,２,３,…))」が各々付与されており、「通番」には対応する格納領域の通番が設定され、「送信済フラグ」には送信済みか否かを表すフラグが設定され、「送信データ」には送信データ生成処理によって生成された送信データ本体が設定され、「送信データ長」には送信データ本体のサイズが設定される。
【００３４】
また、第２ストレージ１６に記憶された格納済インデックスＤＢは、送信データ格納ＤＢに最後に格納された送信データを管理するためのＤＢであり、以下の表２に示すように、「業務ＩＤ」「最新格納区分」及び「最新格納通番」から成る共通情報と、「格納通番」「格納日付」及び「格納時刻」を各々含む複数（第１ストレージ１４と同数）の区分情報から構成されている。
【００３５】
【表２】
2008186091.tif 000004
【００３６】
なお、共通情報のうち「業務ＩＤ」には対応する業務の識別情報が設定され、「最新格納区分」及び「最新格納通番」には送信データ格納ＤＢに最後に格納された送信データが格納されている第１ストレージ１４の区分・格納領域の通番が各々設定される。また、区分情報のうち「格納通番」には、対応する区分の第１ストレージ１４に最後に格納された送信データが格納されている格納領域の通番が設定され、「格納日付」及び「格納時刻」には、対応する区分の第１ストレージ１４に最後に格納された送信データが第１ストレージ１４に格納された日付・時刻が各々設定される。また、共通情報の「最新格納区分」は初期値が１とされ、「最新格納通番」は初期値が０とされている。
【００３７】
また、格納済インデックスＤＢに保持される「最新格納区分」及び「最新格納通番」は、本発明に係る「第１記憶手段のうち未転送のデータが格納されている領域の末尾位置を表す第１位置情報」に対応している。また、上記の「最新格納区分」は請求項３に記載の媒体識別情報に、上記の「最新格納通番」は請求項３に記載の媒体内位置情報に各々対応している。
【００３８】
更に、第３ストレージ１８に記憶された送信済インデックスＤＢは、送信データ格納ＤＢから最後に読み出されて送信された送信データを管理するためのＤＢであり、以下の表３に示すように、「業務ＩＤ」「最終送信区分」「最終送信通番」「最終送信日付」「最終送信時刻」から成る送信済データ情報と、その他の情報（格納済データ情報）から構成されている。
【００３９】
【表３】
2008186091.tif 000005
【００４０】
なお、送信済データ情報のうち「業務ＩＤ」には対応する業務の識別情報が設定され、「最終送信区分」及び「最終送信通番」には送信データ格納ＤＢから最後に読み出されて送信された送信データが格納されている第１ストレージ１４の区分・格納領域の通番が各々設定され、「最終送信日付」及び「最終送信時刻」には送信データ格納ＤＢから最後に読み出されて送信された送信データの送信日付・送信時刻が各々設定される。また、格納済データ情報には、格納済インデックスＤＢ（表２）に設定されている「最新格納区分」以降の各情報がそのまま複写（設定）される。また、送信済みデータ情報の「最終送信区分」及び格納済みデータ情報の「格納区分」は初期値が各々１とされ、送信済みデータ情報の「最終送信通番」及び格納済みデータ情報の「格納通番」は初期値が各々０とされている。
【００４１】
なお、送信済インデックスＤＢに保持される「最終送信区分」及び「最終送信通番」は、本発明に係る「第１記憶手段のうち転送済みのデータが格納されている領域の末尾位置を表す第２位置情報」に対応している。また、上記の「最終送信区分」は請求項３に記載の媒体識別情報に、上記の「最終送信通番」は請求項３に記載の媒体内位置情報に各々対応している。
【００４２】
続いて、送信データ生成処理によって送信データが生成される毎に、ホスト・コンピュータ１２のＣＰＵ１２Ａによって送信データ格納アプリケーション・プログラムが実行されることで行われる送信データ格納処理について、図２を参照して説明する。
【００４３】
送信データ格納処理では、まずステップ５０において、第２ストレージ１６に記憶されている格納済インデックスＤＢから「最新格納区分」及び「最新格納通番」を読み込む（図４の(1)も参照）。次のステップ５２では、ステップ５０で読み込んだ「最新格納通番」が最大値（例えば単一の第１ストレージ１４に設けられている格納領域の総数）に一致しているか否か判定する。判定が否定された場合は、送信データ格納ＤＢに最後に格納された送信データと同一の区分（第１ストレージ１６）に新たな送信データを格納可能と判断できるので、ステップ５４へ移行し、「格納対象区分」としてステップ５０で読み込んだ「最新格納区分」を設定すると共に、「格納対象通番」としてステップ５０で読み込んだ「最新格納通番」を１だけインクリメントした値を設定する。「格納対象区分」及び「格納対象通番」は新たな送信データの格納対象の格納領域の区分・通番を表しており、この場合、最後に格納された送信データが格納されている送信データ格納ＤＢのうち、前記最後に格納された送信データが格納されている格納領域の次の格納領域（通番が次の格納領域）が新たな送信データの格納領域となる。
【００４４】
一方、ステップ５２の判定が肯定された場合は、送信データ格納ＤＢに最後に格納された送信データと同一の区分（第１ストレージ１６）には新たな送信データは格納できないと判断できるので、ステップ５６へ移行し、ステップ５０で読み込んだ「最新格納区分」が最大値（第１ストレージ１４の総数）に一致しているか否か判定する。この判定が否定された場合はステップ５８へ移行し、「格納対象区分」としてステップ５０で読み込んだ「最新格納区分」を１だけインクリメントした値を設定すると共に、「格納対象通番」として１を設定する。この場合、最後に格納された送信データが格納されている送信データ格納ＤＢに対して「区分」の次の送信データ格納ＤＢのうち「通番」が先頭（＝１）の格納領域が新たな送信データの格納領域となる。また、ステップ５６の判定が肯定された場合はステップ６０へ移行し、「格納対象区分」及び「格納対象通番」として各々１を設定する。この場合、「区分」＝１の送信データ格納ＤＢのうち「通番」が先頭（＝１）の格納領域が新たな送信データの格納領域となる。
【００４５】
上記のようにして「格納対象区分」及び「格納対象通番」を設定するとステップ６２へ移行し、「通番」として「格納対象通番」を、「送信済フラグ」として未送信であることを表す"Ｎ"を、「送信データ」として送信データ生成処理によって新たに生成された送信データを、「送信データ長」として当該送信データのサイズを各々設定することで、格納対象の格納領域（レコード）に格納する情報を生成し（「通番」については送信データ格納ＤＢに予め固定的に設定されていてもよい）、生成した情報を「格納対象区分」及び「格納対象通番」に対応する格納領域に格納させる（図４の(2)も参照）。これにより、送信データ生成処理によって新たに生成された送信データが送信データ格納ＤＢに格納される。なお、格納領域への情報の格納は、より詳しくは、まず情報を格納する格納領域への他のスレッド又はプロセスによるアクセスをロックした後に、当該格納領域に情報を格納し、情報の格納が完了すると前記格納領域へのアクセスのロックを解除することによって成される。
【００４６】
また、次のステップ６４ではステップ６２における送信データ格納ＤＢへの送信データ等の格納に応じて、格納済インデックスＤＢに登録されている情報を更新する。すなわち、格納済インデックスＤＢの共通情報のうち、「最新格納区分」に「格納対象区分」を、「最新格納通番」に「格納対象通番」を各々設定すると共に、格納済インデックスＤＢの複数の区分情報のうち「格納対象区分」に対応する区分情報に対し、「格納通番」に「格納対象通番」を、「格納日付」及び「格納時刻」に該当する日付・時刻を各々設定する（図４の(3)も参照）。
【００４７】
次のステップ６６では、送信データ生成処理によって生成されかつ送信データ格納ＤＢに未格納の送信データが有るか否か判定する。判定が肯定された場合はステップ５０に戻り、ステップ６６の判定が否定される迄ステップ５０〜ステップ６６を繰り返すことで、送信データ生成処理によって生成された送信データを送信データ格納ＤＢに順次格納させる。そしてステップ６６の判定が否定されると送信データ格納処理を終了する。上述した送信データ格納処理は、送信データ生成処理によって送信データが生成される毎に行われるので、送信データ生成処理によって生成された送信データは送信データ格納ＤＢに全て格納されることになる。
【００４８】
次に、ホスト・コンピュータ２６からデータ要求を受信したことを契機として、ホスト・コンピュータ１２のＣＰＵ１２Ａによってデータ送信アプリケーション・プログラムが実行されることで行われるデータ送信処理について、図３を参照して説明する。
【００４９】
データ送信処理では、まずステップ７０において、第３ストレージ１８に記憶されている送信済インデックスＤＢから「最終送信区分」「最終送信通番」「格納区分」及び「格納通番」を各々読み込む（図４の(4)も参照）。次のステップ７２では、ステップ７０で読み込んだ「最終送信区分」が「格納区分」に一致しており、かつステップ７０で読み込んだ「最終送信通番」が「格納通番」に一致しているか否か判定する。データ送信処理が最初に起動された場合（送信データの送信を行っていない場合）、送信済みインデックスＤＢは格納済データ情報が未設定（「格納区分」「格納通番」が初期値のまま）で、「最終送信区分」及び「最終送信通番」も初期値のままの状態となっているので、上記判定が肯定されてステップ９０へ移行し、第２ストレージ１６に記憶されている格納済インデックスＤＢから「最新格納区分」以降の全情報（「最新格納区分」及び「最新格納通番」と複数の区分情報）を読み込む（図４の(7)も参照）。なお、ステップ７２の判定が肯定された場合は、本発明における「第３記憶手段に保持されている第２位置情報及び第１位置情報が未転送のデータ無しを表す状態となった場合」に対応している。
【００５０】
ステップ９２では、ステップ９０で格納済インデックスＤＢから読み込んだ「最新格納区分」及び「最新格納通番」が、送信済インデックスＤＢに保持されている「格納区分」及び「格納通番」と同一か否か判定する。データ送信処理が起動されるときには、送信データ格納処理によって送信データ格納ＤＢに送信データが格納され、これに伴って格納済インデックスＤＢに保持されている「最新格納区分」及び「最新格納通番」が更新されているので、上記判定が否定されてステップ９４へ移行し、ステップ９０で格納済インデックスＤＢから読み込んだ情報を、格納済データ情報として送信済インデックスＤＢにそのまま書き込み（複写し）、ステップ７２に戻る。これにより、送信済インデックスＤＢに保持されている「格納区分」及び「格納通番」が、格納済インデックスＤＢに保持されている「最新格納区分」及び「最新格納通番」に一致するように更新される（図４の(8)も参照）ことになる。このように、ステップ９０及びステップ９４は本発明に係る同期処理に対応している。
【００５１】
上記のように、格納済インデックスＤＢに保持されている「最新格納区分」及び「最新格納通番」を含む各情報を送信済インデックスＤＢに複写すると、送信データ格納ＤＢに未送信の送信データが存在している場合には、送信済インデックスＤＢに保持されている「最終送信区分」「最終送信通番」「格納区分」及び「格納通番」が、未送信の送信データが存在していることを表す値となる。これにより、ステップ７２の判定が否定されてステップ７４へ移行し、ステップ７０で読み込んだ「最終送信通番」が最大値（単一の第１ストレージ１４に設けられている格納領域の総数）に一致しているか否か判定する。
【００５２】
ステップ７４の判定が否定された場合、送信データ格納ＤＢから最後に読み出して送信した送信データは、或る区分（第１ストレージ１６）の最終格納領域以外の格納領域に格納されていると判断できるので、ステップ７６へ移行し、「送信対象区分」としてステップ７０で読み込んだ「最終送信区分」を設定すると共に、「送信対象通番」としてステップ７０で読み込んだ「最終送信通番」を１だけインクリメントした値を設定する。「送信対象区分」及び「送信対象通番」は今回送信対象とする送信データが格納されている格納領域の区分・通番を表しており、この場合、送信データ格納ＤＢから最後に読み出して送信した送信データが格納されている送信データ格納ＤＢのうち、最後に送信した送信データが格納されている格納領域の次の格納領域（通番が次の格納領域）に格納されている送信データが今回の送信対象となる。
【００５３】
一方、ステップ７４の判定が肯定された場合、送信データ格納ＤＢから最後に読み出して送信した送信データは、或る区分の最終格納領域に格納されていると判断できるので、ステップ７８へ移行し、ステップ７０で読み込んだ「最終送信区分」が最大値（第１ストレージ１４の総数）に一致しているか否か判定する。この判定が否定された場合はステップ８０へ移行し、「送信対象区分」としてステップ７０で読み込んだ「最終送信区分」を１だけインクリメントした値を設定すると共に、「送信対象通番」として１を設定する。この場合、送信データ格納ＤＢから最後に読み出して送信した送信データが格納されている送信データ格納ＤＢに対して「区分」が次の送信データ格納ＤＢのうち「通番」が先頭の格納領域に格納されている送信データが今回の送信対象となる。また、ステップ７８の判定が肯定された場合はステップ８２へ移行し、「送信対象区分」及び「送信対象通番」として各々１を設定する。この場合、「区分」＝１の送信データ格納ＤＢのうち「通番」が先頭の格納領域に格納されている送信データが今回の送信対象となる。
【００５４】
上記のようにして「送信対象区分」及び「送信対象通番」を設定するとステップ８４へ移行し、設定した「送信対象区分」に対応する送信データ格納ＤＢのうち、設定した「送信対象通番」に対応する格納領域から「送信データ」を読み出し、読み出した「送信データ」をデータ要求元のホスト・コンピュータ２６へ送信する（図４の(5)も参照）。このステップ８４でホスト・コンピュータ１２から送信された送信データは、データ要求元のホスト・コンピュータ２６で受信され、ホスト・コンピュータ２６で行われる各種の業務処理に用いられる。また、次のステップ８６では、ステップ８４で送信データを読み出した格納領域内の「送信済みフラグ」に送信済みであることを表す"Ｙ"を設定することで、「送信済みフラグ」を更新する。なお、データ送信処理による送信データ格納ＤＢへのアクセス（送信データ格納ＤＢの送信対象の格納領域からの送信データの読み出し（ステップ８４）や送信データ格納ＤＢの送信対象の格納領域内の送信済みフラグの更新（ステップ８６))についても、先に説明した送信データ格納処理と同様に、送信対象の格納領域への他のスレッド又はプロセスによるアクセスをロックした後に行われ、送信データの読み出しや送信済みフラグの更新が完了するとアクセスのロックが解除される。
【００５５】
次のステップ８８では、送信済インデックスＤＢの「最終送信区分」として現在の「送信対象区分」を書き込むと共に、送信済インデックスＤＢの「最終送信通番」として現在の「送信対象通番」を書き込むことで、送信済インデックスＤＢの「最終送信区分」及び「最終送信通番」を更新し（図４の(6)も参照）、ステップ７２に戻る。これにより、ステップ７２の判定が肯定される迄の間、すなわち送信済インデックスＤＢに保持されている「最終送信区分」「最終送信通番」「格納区分」及び「格納通番」が、送信データ格納ＤＢに未送信の送信データが存在していないことを表す値になる迄の間、ステップ７２〜ステップ８８が繰り返され、送信データ格納ＤＢに格納されている未送信の送信データが順次読み出されてデータ要求元のホスト・コンピュータ２６へ送信される。
【００５６】
送信済インデックスＤＢに保持されている「最終送信区分」「最終送信通番」「格納区分」及び「格納通番」が、送信データ格納ＤＢに未送信の送信データが存在していないことを表す値になると、ステップ７２の判定が肯定されてステップ９０へ移行し、先にも説明したように、格納済インデックスＤＢから「最新格納区分」以降の全情報が読み込まれ（ステップ９０）、読み込まれた「最新格納区分」及び「最新格納通番」が送信済インデックスＤＢに保持されている「格納区分」及び「格納通番」と同一か否か判定される（ステップ９２）。ここで、ステップ７２〜ステップ８８で送信データ格納ＤＢからの送信データの読み込み・送信を行っている間に、送信データ格納処理によって新たな送信データが送信データ格納ＤＢに格納されていた場合には、ステップ９２の判定が否定され、ステップ９４で格納済インデックスＤＢから読み込んだ情報が送信済インデックスＤＢにそのまま書き込まれ（複写され）た後に、ステップ７２〜ステップ８８が再度繰り返される。
【００５７】
また、送信データ格納ＤＢからの送信データの読み込み・送信を行っている間に、送信データ格納ＤＢに新たな送信データが格納されなかった場合には、ステップ９２の判定が肯定されてステップ９６へ移行し、送信データ格納ＤＢから最後に読み出して送信した送信データが、ホスト・コンピュータ２６から要求されたデータの末尾に相当するデータか否か判定する。この判定は、例えば送信データ生成処理で要求されたデータの生成が完了すると、データ生成の完了が、送信データ生成アプリケーションから送信データ格納アプリケーションを経由してデータ送信アプリケーションに通知されるように構成しておき、データ生成の完了が通知されたか否かを判断することで行うことができる。また、前記判定は、ホスト・コンピュータ２６から要求されたデータの末尾に送信データ生成処理が所定の情報を付加し、最後に送信したデータの末尾に前記所定の情報が付加されていたか否かを判断することによっても行うことができる。
【００５８】
ステップ９６の判定が否定された場合、何らかの理由で送信データ格納ＤＢへの送信データの格納が遅延していると判断できるので、ステップ９８へ移行してタイマをスタートさせ、データ送信処理の実行を一旦終了する。これにより、データ送信処理が実行を停止している間に、送信データ格納処理によって新たな送信データが送信データ格納ＤＢに格納され、格納済インデックスＤＢに保持されている「最新格納区分」「最新格納通番」が更新される。そして、ステップ９８でスタートさせたタイマがタイムアウトするとデータ送信処理が再度実行され、ステップ７０，７２を経てステップ９０，９４で送信済インデックスＤＢに保持されている「格納区分」「格納通番」を格納済インデックスＤＢに保持されている「最新格納区分」「最新格納通番」と一致させる処理が行われ、ステップ７２〜ステップ８８における送信データ格納ＤＢからの送信データの読み出し・送信が再開されることになる。
【００５９】
そして、上述した処理を経て、要求されたデータをデータ要求元のホスト・コンピュータ２６へ末尾迄送信すると、ステップ７２,９２,９６の判定が各々肯定されることで、タイマをスタートさせることなくデータ送信処理を終了する。
【００６０】
図４からも明らかなように、本実施形態において、送信済インデックスＤＢにアクセスするのはデータ送信処理（アプリケーション）のみであり、送信データ格納処理（アプリケーション）は送信済インデックスＤＢにアクセスしないので、送信済インデックスＤＢではアクセスの競合は発生しない。一方、送信データ格納ＤＢは送信データ格納処理及びデータ送信処理によって各々アクセスされる。しかし、送信データ格納ＤＢのうちデータ送信処理によってアクセスされる格納領域は、送信データ格納処理によって送信データ等が格納され、当該格納に応じて更新された格納済インデックスＤＢの「最新格納区分」「最新格納通番」の送信済インデックスＤＢの「格納区分」「格納通番」への反映も完了した状態となっている格納領域であり、データ送信処理によってアクセスされる格納領域が送信データ格納処理によって同時にアクセスされることはないので、送信データ格納ＤＢへのアクセスの競合が発生することも防止できる。
【００６１】
また、格納済みインデックスＤＢも送信データ格納処理及びデータ送信処理によって各々アクセスされる。しかし、データ送信処理では、送信済インデックスＤＢに保持されている「最終送信区分」「最終送信通番」「格納区分」及び「格納通番」が、送信データ格納ＤＢに未送信の送信データが存在していないことを表す値になる迄の間、ステップ７２〜ステップ８８で送信データ格納ＤＢからの未送信の送信データの読み出し・送信を繰り返し、この間は格納済インデックスＤＢをアクセスしない（ステップ９０の処理を行わない）ので、データ送信処理による格納済インデックスＤＢのアクセスは必要最小限の頻度に抑制されており、格納済インデックスＤＢへのアクセスの競合が発生する確率も非常に小さくなっている。従って、本実施形態によれば、送信データ生成処理によって生成された送信データを、送信データ格納処理及びデータ送信処理により、非常に高いデータ転送レートでデータ要求元のホスト・コンピュータ２６へ送信（転送）することができる。
【００６２】
なお、上記では特定金融機関に設けられたコンピュータ・システム１０に本発明を適用し、特定金融機関の特定業務に関連するデータを転送する態様を説明したが、本発明はデータ転送を行う任意のコンピュータ・システムに適用可能であり、転送対象のデータの内容も上記に限定されるものではなく、任意のデータを転送可能である。また、上記では本発明に係る所定の転送先として、ホスト・コンピュータ１２と直接接続されたホスト・コンピュータ２６を適用した態様を説明したが、本発明はこれに限定されるものではなく、データの転送先はブランチ・サーバ２２を介して接続された営業店端末２４であってもよいし、複数台のコンピュータから成るコンピュータ・システムであってもよい。
【００６３】
また、上記では単一のデータ要求元からの要求に応じて単一のデータ要求元へデータを送信（転送）する態様を説明したが、本発明はこれに限定されるものではなく、複数のデータ要求元からの要求に応じて、複数のデータ要求元へのデータの送信（転送）を並列に行うことも可能である。これは、例えば送信済インデックスＤＢをデータ要求元（データ転送先）の数と同数設けると共に、データ送信処理を行うスレッド又はプロセスをデータ要求元の数と同数設け、個々のスレッド又はプロセスでデータ送信処理を互いに独立（並列）に行わせることによって実現できる。この態様は請求項４記載の発明に対応している。送信済インデックスＤＢの「格納区分」「格納通番」は、データ送信処理によって格納済インデックスＤＢの「最新格納区分」「最新格納通番」と一致され、データ送信処理では、格納済インデックスＤＢの「最新格納区分」「最新格納通番」に代えて、送信済インデックスＤＢの「格納区分」「格納通番」を参照して未送信の送信データの有無を判断している。このため、データ要求元の数が２以上の場合にも、格納済みインデックスＤＢの数及び送信データ格納処理を行うスレッド又はプロセスの数はデータ要求元の数に拘わらず１個でよく、送信データ格納処理の内容もデータ要求元の数に拘わらず同一でよい。
【００６４】
また、上記では本発明に係る第１位置情報として、「第１記憶手段のうち未転送のデータが格納されている領域の末尾位置を表す第１位置情報」、すなわち送信データ格納ＤＢに最後に格納された送信データを指し示す「最新格納区分」及び「最新格納通番」を格納済インデックスＤＢに保持させ、本発明に係る第２位置情報として、「第１記憶手段のうち転送済みのデータが格納されている領域の末尾位置を表す第２位置情報」、すなわち送信データ格納ＤＢから最後に読み出して送信した送信データを指し示す「最終送信区分」及び「最終送信通番」を送信済インデックスＤＢに保持させる態様を説明したが、本発明はこれに限定されるものではなく、第１位置情報として「第１記憶手段のうち新たなデータを格納する領域の先頭位置を表す第１位置情報」、すなわち送信データ格納ＤＢに最後に格納された送信データの次の格納領域を指し示す情報を格納済インデックスＤＢに保持させるようにしてもよいし、第２位置情報として「第１記憶手段のうち未転送のデータが格納されている領域の先頭位置を表す第２位置情報」、すなわち送信データ格納ＤＢから最後に読み出して送信した送信データの次の格納領域を指し示す情報を送信済インデックスＤＢに保持させるようにしてもよい。
【００６５】
また、上記では本発明に係るデータ転送プログラムに対応する送信データ格納アプリケーション・プログラム及び送信データ生成アプリケーション・プログラムが、ホスト・コンピュータ１２の記憶部１２Ｃに予め記憶されている態様を説明したが、本発明に係るデータ転送プログラムは、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ、或いは磁気テープ等の記録媒体に記録されている形態で提供することも可能である。
【図面の簡単な説明】
【００６６】
【図１】本実施形態に係るコンピュータ・システムの概略構成を示すブロック図である。
【図２】送信データ格納アプリケーションによって行われる送信データ格納処理の内容を示すフローチャートである。
【図３】データ送信アプリケーションによって行われるデータ送信処理の内容を示すフローチャートである。
【図４】送信データ格納アプリケーション及びデータ送信アプリケーションによる各ＤＢのアクセスを模式的に示す説明図である。
【符号の説明】
【００６７】
１０  コンピュータ・システム
１２  ホスト・コンピュータ
１２Ａ  ＣＰＵ
１２Ｂ  メモリ
１２Ｃ  記憶部
１４  第１ストレージ
１６  第２ストレージ
１８  第３ストレージ
２６  ホスト・コンピュータ
【図１】
2008186091.tif 000006
【図２】
2008186091.tif 000007
【図３】
2008186091.tif 000008
【図４】
2008186091.tif 000009