JP2006185229A - オンライン同期処理方法及び装置 - Google Patents

オンライン同期処理方法及び装置 Download PDF

Info

Publication number
JP2006185229A
JP2006185229A JP2004378705A JP2004378705A JP2006185229A JP 2006185229 A JP2006185229 A JP 2006185229A JP 2004378705 A JP2004378705 A JP 2004378705A JP 2004378705 A JP2004378705 A JP 2004378705A JP 2006185229 A JP2006185229 A JP 2006185229A
Authority
JP
Japan
Prior art keywords
response
rpc
processing
suppression
remote procedure
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.)
Pending
Application number
JP2004378705A
Other languages
English (en)
Inventor
Shinji Hamada
真二 浜田
Takatoshi Miyata
高敏 宮田
Takashi Ichimura
高志 市村
Noriaki Takahashi
則明 高橋
Hirokazu Matsumoto
洋和 松本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2004378705A priority Critical patent/JP2006185229A/ja
Publication of JP2006185229A publication Critical patent/JP2006185229A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

【課題】 クライアントが発行する同期型のRPCに対して非同期処理によって応答するサーバ計算機において、クライアント側のプログラムを変更することなく同期処理を実現する。
【解決手段】 制御サーバ11は、クライアント10からRPC要求を受信すると、リソースを確保し、このRPCの処理をする非同期処理を起動するとともにRPC応答送信を抑止し、その後確保したリソースを解放する。非同期処理が終了したとき、制御サーバ11は、再度リソースを確保し、当該RPCについて抑止されていた応答をクライアント10へ送信し、非同期処理の終了時に確保したリソースを解放する。
【選択図】 図2

Description

本発明は、クライアント/サーバ型のオンライン処理システムにおいて、クライアント側からのリモートプロシジャコール(RPC)の同期呼び出しに応答するサーバ計算機に関する。
クライアント/サーバ形態のクライアントプログラムからの呼び出し方式には、同期処理呼び出しと非同期処理呼び出しの2種類の方式がある。
同期呼び出し方式では、クライアントは、サーバに処理要求をすると、サーバの処理が完了して応答が返ってくるまで待機する。クライアントは、サーバからの応答を受け取った後に次の処理を実行できる。同期呼び出しではサーバの処理結果を即座に受信することができるが、要求処理中にサーバ障害やネットワーク障害が発生すると同期呼び出しの処理は失敗し、失敗した結果がクライアントに通知される。
非同期呼び出し方式では、クライアントはメッセージキューイングプログラムに処理を要求すると、サーバからの応答を待たずに次の処理を実行できる。クライアントが依頼した処理要求は、サーバ側のメッセージキューに蓄積される。サーバは、このメッセージキューから処理要求を取り出してサーバ側処理を実行し、その結果を再びメッセージキューに格納する。クライアントは、任意の時点でメッセージキューから処理結果を取り出すことができる。このように、非同期呼び出しでは処理要求、処理結果がメッセージキューに蓄積されるため、サーバ障害やネットワーク障害発生時でも、クライアントは処理要求を依頼することができ、また、サーバ側での処理結果を確実に受信することが保証される。
クライアントサーバ型システムの多くは同期呼び出し方式を利用して作成されている。これらのプログラムをサーバ障害やネットワーク障害発生時や、サーバ側が稼動していない状態でも利用できるようにする場合、サーバ側の呼び出し処理方式に合わせて、クライアントプログラムの処理方式を変更する必要がある。サーバ側プログラムが非同期処理を行う場合、クライアントプログラムも非同期処理方式にする必要があった。
これらの問題に対処する従来の技術としては、特開平9−330287号公報(特許文献1)に開示されるクライアント/サーバシステムの方式がある。
この方式は、クライアント処理の同期呼び出しを内部的に非同期呼び出しに変換することにより、クライアントの同期処理方式を実現するものである。
特開平9−330287号公報
上記従来の処理方式では、クライアントのプログラム処理には一度エラーが返送される。また、クライアントは、サーバに対して処理結果呼び出しを再度要求する必要がある。このためクライアントプログラムの変更が生じる可能性がある。
本発明の目的は、送られた同期処理要求に対し、非同期処理を実現することにある。
本発明は、クライアント計算機が発行する同期型のリモートプロシジャコール(以下、RPCと呼ぶ)に応答するサーバ計算機の機能を特徴とする。サーバ計算機は、このRPCのためにリソースを確保した上で、このRPCの処理をする非同期処理を起動するとともにRPC応答送信を抑止し、その後確保したリソースを解放する。非同期処理が終了したとき、サーバ計算機は、再度リソースを確保し、当該RPCについて抑止されていた応答をクライアント計算機へ送信し、非同期処理の終了時に確保したリソースを解放する。
本発明によれば、送られた同期処理要求に対し、内部的に非同期処理を実現可能とする。また、サーバ側のリソースを有効に活用する同期処理を実現できる。
以下、本発明の実施形態について図面を用いて説明する。
図1は、本発明によるRPC通信処理を行うオンライントランザクション処理システムの一構成例を示すブロック図である。実施例のオンライントランザクション処理システムは、業務要求元となる複数のクライアント10、制御サーバ11および業務サーバ14で構成される。クライアント10と制御サーバ11の間は任意のネットワークによって接続され、制御サーバ11と業務サーバ14はLANを経由して接続される。
制御サーバ11は、その外部記憶装置上にステータスファイル13を格納する。ステータスファイルは、業務サーバ14と共有してもよい。制御サーバ11は、クライアント10からのRPCの送受信を行うRPC送受信部111と、RPC応答送信を抑止するRPC応答抑止制御部115と、抑止した応答の送信制御を行うRPC抑止応答送信制御部118とを備える。また、制御サーバ11は、RPC応答抑止制御部115とRPC抑止応答送信制御部118をそれぞれ呼び出す受信処理UAP(ユーザ・アプリケーション・プログラム)部121と、応答処理UAP部122とを備える。
RPC送受信部111は、クライアントからのRPC要求を受信するRPC受信処理112とクライアントにRPC送信を行うRPC送信処理114と、RPC応答抑止状態を監視するタイマ監視処理120を有する。
RPC応答抑止制御部115は、受信処理UAP部121から呼び出されるRPC応答抑止処理116と、ステータスファイルに抑止情報を設定するステータスファイル抑止情報設定処理117とを有する。
RPC抑止応答送信制御部118は、応答抑止していたクライアントに対して、応答送信するRPC応答送信処理119と、ステータスファイルの抑止情報を削除するステータスファイル抑止状態解除処理124とを有する。
業務サーバ14は、制御サーバ11から制御を渡され、実際の業務処理を実行する。
クライアント10、制御サーバ11および業務サーバ14は、各々CPU、メモリおよび外部記憶装置を有する計算機である。RPC送受信部111、RPC応答抑止制御部115、RPC抑止応答送信制御部118、受信処理UAP部121および応答処理UAP部122は、制御サーバ11のメモリに格納され、そのCPUによって実行されるプログラムである。これらのプログラムの全体は、1つのプロセスとして動作する。図示しない後述の再開始処理部も制御サーバ11のプログラムであり、このプロセスとして動作する。なお制御サーバ11と業務サーバ14を1台のサーバ計算機で実現することも可能である。
図2は、RPC送受信処理の概略処理の流れを示す。図2は、クライアント10のUAP処理部101から同期応答型RPC送信を行った場合の例を示している。同期応答型RPC送信とは、送信した電文を処理した結果の応答が戻るまで、UAP処理部101の処理が続行できないものを言う。
RPC送受信部111は、クライアント10からRPC要求を受信すると、トランザクションを起動し、リソースを確保する。次にRPC送受信部111は、受信処理UAP部121を呼び出し、受信処理UAP部121がクライアントからのRPC要求に対応する業務処理をするためにRPC送受信部111を介して業務サーバ14にサービス要求を送信する。このサービス要求は、メッセージキューイングによる非同期呼び出しの形態をとる。次に受信処理UAP部121は、RPC応答抑止制御部115を呼び出してRPC応答を抑止し、RPC送受信部111に制御を戻す。RPC送受信部111は、当該トランザクションを終了させるとともに、確保していたリソースを解放する。図2の点線で囲んだ部分が1つのトランザクション処理の範囲を示す。
業務サーバ14の業務処理部141は、上記のサービス要求を受け付け、業務処理を実行する。業務処理が終了すると、業務処理部141は、メッセージキューイングを介して制御サーバ11へ業務処理回答を送信する。
RPC送受信部111は、この業務処理回答を受信すると、新たにトランザクションを起動し、リソースを確保する。次にRPC送受信部111は、応答処理UAP部122を呼び出す。応答処理UAP部122は、RPC抑止応答送信制御部118を呼び出してクライアント10へRPC抑止応答を送信する。RPC応答抑止制御部115がRPC応答抑止をするとき、該当するクライアントの情報を記憶するので、RPC抑止応答送信制御部118はこの情報を読み出し、該当するクライアント10へRPC抑止応答を送信する。その後、応答処理UAP部122は、RPC送受信部111に制御を戻す。RPC送受信部111は、当該トランザクションを終了させるとともに、確保していたリソースを解放する。
受信処理UAP部121は、その最後の処理でトランザクションを終了させ、リソースを解放するので、RPC送受信部111は、他のRPC要求についてそのリソースを割り当て、同様のトランザクション処理を実行させることができる。
また受信処理UAP部121は、クライアント10からのRPC要求に対してRPC応答を抑止するので、この段階でクライアント10へRPC応答が送信されることはない。これによって同期応答型のRPCを送信するクライアント10のUAP処理部101を変更する必要がない。
図3は、RPC受信処理112の流れを示すフローチャートである。RPC受信処理112は、クライアント10から同期RPC要求を受け付ける(ステップ31)と、このRPC要求が指定するサービスに該当する受信処理UAP部121が制御サーバ11内に存在するか否か判定する(ステップ32)。サービス要求をする場合、通常、要求するサービスのサービス名を指定する。該当サービスがない場合、RPC受信処理112は、クライアント10に対して即座にエラー応答を送信する(ステップ33)。該当サービスがある場合、RPC受信処理112は、トランザクション処理を開始する(ステップ34)。トランザクションを起動するとき、RPC受信処理112は、このトランザクションに空きのスレッドを割り当てる。各スレッドは、各々メモリ領域などのリソースを確保しているので、トランザクション起動とともにリソースが確保されることになる。その後、RPC受信処理112は、指定されたサービスに対応する受信処理UAP部121を呼び出す(ステップ35)。
受信処理UAP部121から制御が戻ったとき、RPC受信処理112は、受信処理UAP部121からRPC応答抑止要求があったか否かを判定する(ステップ36)。受信処理UAP部121によって、あるいはクライアント10からのRPC要求によってはRPC応答抑止を行わない場合がある。RPC応答抑止を行わない場合には、RPC受信処理112は、クライアント10に対してRPC応答を送信し(ステップ37)、ステップ38へ行く。RPC応答抑止要求がある場合には、RPC受信処理112は、トランザクション処理を終了させる(ステップ38)。RPC受信処理112は、このトランザクションに割り当てられていたスレッドを解放するので、このスレッドとともに確保されていたリソースが解放される。
ステップ36でRPC応答抑止要求がある場合、RPC受信処理112は、クライアント10に対してRPC応答を送信しないが、クライアント10側の処理は完結していないので、待ち合わせることになる。制御サーバ11は、ステップ38で解放されたリソースを用いて他のトランザクションの処理を実行することができる。
図4は、受信処理UAP部121の処理の流れを示すフローチャートである。受信処理UAP部121は、ステップ35の受信処理UAP部呼び出しにより処理を開始する。受信処理UAP部121は、サービス処理を行うための準備処理等を実行し(ステップ41)、その後、業務サーバ14の業務処理部141に業務処理を実行させるためにサービス要求を行う(ステップ42)。このサービス要求には応答先のIPアドレス又は後述の抑止識別子51が付加されている。このサービス要求は、キューを使用したメッセージ転送による要求でも、RPCによる非応答送信要求でもよい。いずれにしても業務サーバ14の業務処理は非同期処理となる。
業務処理部141からの業務処理回答を待つ必要がある場合には、受信処理UAP部121は、クライアント10へのRPC応答を抑止することとし、RPC応答抑止制御部115を呼び出す(ステップ43)。RPC応答抑止制御部115から戻ったとき、受信処理UAP部121は処理を終了し、RPC受信処理112に制御を戻す。ただし受信処理UAP部121によっては、あるいはRPC要求の内容によってはRPC応答を抑止しないことも可能であり、その場合にはステップ43を実行せず、RPC応答抑止要求なしを指定してRPC受信処理112に制御を戻す。なおステップ43をステップ42の前に実行してもよい。
図5は、RPC応答抑止制御部115とRPC抑止応答送信制御部118で用いられるRPC応答抑止管理テーブル200のデータ構成を示す図である。RPC応答抑止管理テーブル200の各レコードは、抑止識別子51、応答先サービス名52、応答先IPアドレス53、応答先ポート番号54及びタイムアウト時刻55から構成される。抑止識別子51は、RPC応答抑止管理テーブル200のレコードを検索するときのキーとなる一意な識別子である。応答先サービス名52は、要求されたサービスのサービス名である。タイムアウト時刻55は、応答抑止してから抑止応答を送信するまでの時間を監視するときの上限時刻を設定する。
RPC応答抑止管理テーブル200は、プロセス内のメモリ領域に展開される。またRPC応答抑止管理テーブル200の情報は、障害回復に備えてステータスファイル13にも保存される。
使用中のRPC応答抑止レコード56,57は、図示するように、使用中RPC応答抑止レコード制御ポインタ62からチェーンされる。また空きのRPC応答抑止レコード58,59は、空きRPC応答抑止レコード制御ポインタ61からチェーンされる。新しくRPC応答抑止レコードを作成するとき、空きRPC応答抑止レコード制御ポインタ61からチェーンされている空きレコードの1つに上記のRPC応答抑止情報を作成し、使用中RPC応答抑止レコード制御ポインタ62にチェーンし直すことにより、RPC応答抑止管理テーブル200に新しく作成したレコードが追加される。
本実施例では、RPC応答抑止管理テーブル200は、当該プロセスを起動するときにあらかじめメモリに展開され、空きレコードの動的追加は行われない。
図6は、受信処理UAP部121から呼び出されるRPC応答抑止制御部115の処理の流れを示すフローチャートである。RPC応答抑止制御部115のRPC応答抑止処理116は、メモリ内に展開されているRPC応答抑止管理テーブル200に応答抑止対象となる当該応答先を設定できる空きレコードが存在するか否か判定する(ステップ71)。空きレコードがない場合、RPC応答抑止処理116は、呼び出し元に対してRPC応答抑止ができない旨のエラーを設定し(ステップ72)、処理を終了する。このエラー報告は、受信処理UAP部121を介してRPC受信処理112に伝えられ、ステップ37でクライアント10にエラー報告される。空きレコードがある場合、RPC応答抑止処理116は、空きレコードの1つに当該クライアントについて応答先サービス名52、応答先IPアドレス53および応答先ポート番号54を設定する(ステップ73)。またRPC応答抑止処理116は、抑止中のタイマ監視を行うために、現在時刻を求め(ステップ74)、現在時刻にタイマ時間を加算した値を当該レコードのタイムアウト時刻55に設定する(ステップ75)。またRPC応答抑止処理116は、一意な識別子を求め(ステップ76)、当該レコードの抑止識別子51に設定する(ステップ77)。以上の処理によってRPC応答抑止レコードが作成されたので、RPC応答抑止処理116は、このレコードを使用中RPC応答抑止レコード制御ポインタ62にチェーンし直す。
次にステータスファイル抑止情報設定処理117は、作成したレコードをステータスファイル13に追加する(ステップ78)。ステータスファイル13の情報は、後述するように、制御サーバ11に障害が発生し、メモリ内容が消失した場合に障害回復のために使用される。なおRPC応答抑止管理テーブル200の内容を制御サーバ11、業務サーバ14間で共用されるメモリ上に保存してもよい。
RPC応答抑止制御部115は、設定された抑止識別子51又は抑止識別子51と応答先IPアドレス53をもって受信処理UAP部121に戻る。受信処理UAP部121は、取得した抑止識別子51と応答先IPアドレス53の対応を応答処理UAP部122に引き渡してもよい。
図7は、業務サーバ14の業務処理部141の処理が終了し、業務処理回答が戻ってきたときのRPC送受信部111の処理の流れを示すフローチャートである。業務サーバ14から応答を受信する(ステップ81)と、RPC送信処理114は、RPC応答を送信する処理を開始する。受信した業務処理回答には、抑止識別子51又は応答先IPアドレス53が付加されている。RPC送信処理114は、処理終了したサービスに該当する応答処理UAP部122が制御サーバ11内に存在するか否か判定する(ステップ82)。該当サービスがない場合、RPC送信処理114は、エラー処理を行い(ステップ83)、ステップ86へ行く。エラー処理は、クライアント10へエラーメッセージを送信する場合と、クライアント10へRPCエラー応答を送信する場合とで処理手順が異なるが、詳細な手順の説明を省略する。
該当サービスがある場合、RPC送信処理114は、トランザクション処理を開始する(ステップ84)。RPC送信処理114は、新しいトランザクションに空きのスレッドを割り当てて、このトランザクションを起動する。すなわちこのトランザクションを処理するために、ここでリソースが確保される。その後、RPC送信処理114は、指定されたサービスに対応する応答処理UAP部122を呼び出す(ステップ85)。このときRPC送信処理114が応答処理UAP部122に応答先IPアドレス53を渡してもよい。応答処理UAP部122から制御が戻ったとき、RPC送信処理114は、トランザクション処理を終了させる(ステップ86)。RPC送信処理114は、このトランザクションに割り当てられていたスレッドを解放するので、このスレッドとともに確保されていたリソースが解放される。
図8は、応答処理UAP部122の処理の流れを示すフローチャートである。応答処理UAP部122は、ステップ85の応答処理UAP部呼び出しにより処理を開始する。応答処理UAP部122は、サービス処理を行うための準備処理等を実行し(ステップ91)、その後、業務サーバ14が処理した結果を応答対象のクライアント10に応答するため、受信処理UAP部121が取得した抑止識別子51を指定し、RPC抑止応答送信制御部118を呼び出す(ステップ92)。応答処理UAP部122が抑止識別子51と応答先IPアドレス53の対応を取得している場合には、RPC送信処理114から受け取った応答先IPアドレス53と突き合わせることによって、対応する抑止識別子51が得られる。
図9は、応答処理UAP部122から呼び出されるRPC抑止応答送信制御部118の処理の流れを示すフローチャートである。RPC抑止応答送信制御部118は、この呼び出し時に入力される抑止識別子51と同一識別子がメモリ内に展開されているRPC応答抑止管理テーブル200に設定されているか否か判定する(ステップ151)。当該抑止識別子がRPC応答抑止管理テーブル200にない場合には、RPC抑止応答送信制御部118は、エラーを設定し(ステップ152)、RPC抑止応答送信処理を終了する。このエラーは、RPCエラー応答としてクライアント10へ送信されない。当該抑止識別子がこのテーブルに存在する場合には、RPC抑止応答送信制御部118は、テーブルの該当レコードから応答先となるクライアント10の応答先サービス名52、応答先IPアドレス53および応答先ポート番号54を求める(ステップ153)。RPC抑止応答送信制御部118は、これらの情報を用いてクライアント10に業務処理結果応答の送信を行う(ステップ154)。その後、RPC抑止応答送信制御部118は、RPC応答抑止管理テーブル200から当該抑止識別子51をもつRPC応答抑止レコードをクリアする(ステップ155)。すなわちRPC抑止応答送信制御部118は、当該レコードの内容を0クリアして空きRPC応答抑止レコード制御ポインタ61にチェーンし直す。またRPC抑止応答送信制御部118は、ステータスファイル13上にある当該RPC応答抑止レコードを削除する(ステップ156)。
図7、図8および図9の一連の処理を実行することにより、RPC送受信部111は、業務サーバ14からの結果応答を受信した時点で、トランザクションを起動してリソースを確保し、応答処理UAP部122から当該クライアント10にRPC抑止応答送信処理を行う。これによって制御サーバ11が業務処理結果を待っている間にそのリソースを占有することなく、クライアント10の同期処理を完結させることができる。
図10は、RPC応答抑止の監視上限時刻に達した時に、該当するクライアント10にエラー応答送信を行うタイマ監視処理120の流れを示すフローチャートである。タイマ監視処理120は、例えば、一定時間ごとに起動されて動作する。タイマ監視処理120は、RPC応答抑止管理テーブル200に使用中のRPC応答抑止レコードがあるか否か判定する(ステップ161)。該当するレコードがない場合には、タイマ監視処理120は、タイマ監視処理を終了する。使用中の該当レコードがある場合、タイマ監視処理120は、先頭から最終までの使用中レコードについて、監視時刻に達しているか否か判定する。そのため、タイマ監視処理120は、現在時刻を求め(ステップ162)、取得したRPC応答抑止レコード中に設定されているタイムアウト時刻55と現在時刻を比較し、RPC応答抑止タイムアウトか否か判定する(ステップ163)。すなわちタイムアウト時刻55より現在時刻の方が大きい場合には、タイマ監視処理120は、当該クライアントにエラー応答を送信する(ステップ164)。その後、タイマ監視処理120は、当該RPC応答抑止管理レコードをクリアする(ステップ165)。また、タイマ監視処理120は、ステータスファイル13上にある当該RPC応答抑止レコードをクリアし(ステップ166)、ステップ167に進む。RPC応答抑止タイムアウトでない場合か、またはステップ166の処理が済んだとき、タイマ監視処理120は、使用中の全レコードの処理が終了したか否か判定する(ステップ167)。次の使用中レコードがある場合には、タイマ監視処理120は、そのレコードを取得し(ステップ168)、取得したレコードについてステップ163の判定を行う。使用中の全レコードの処理が終了したとき、タイマ監視処理120は、その処理を終了する。
図11は、制御サーバ11の障害によりメモリに展開されるRCP応答抑止管理テーブル200が消失した場合に、プロセスの実行を再開始する再開始処理部の本発明に関連する処理の流れを示すフローチャートである。
再開始処理部は、ステータスファイル13からRPC抑止応答レコードを全レコード読み込む(ステップ171)。次に再開始処理部は、RPC抑止応答レコードが存在するか否か判定する(ステップ172)。RPC抑止応答レコードがない場合には、再開始処理部は、その処理を終了する。RPC抑止応答レコードがある場合には、再開始処理部は、先頭のレコードを選択し、そのクライアント10にエラー応答を送信する(ステップ173)。次に再開始処理部は、全レコードの処理が済んだか否か判定する(ステップ174)。まだ未処理のレコードがある場合には、再開始処理部は、次のレコードを選択し(ステップ175)、ステップ173の処理を繰り返す。全レコードの処理が済んだとき、再開始処理部はその処理を終了する。
本処理により、仕掛り中となっている応答抑止状態について応答送信を可能とし、クライアント10での同期処理の早期決着を図ることができる。なお再開始処理部の処理は、プロセス再開始処理全体の一部を構成する。
本実施形態によれば、制御サーバ11は、業務サーバ14が非同期処理を行っている間に制御サーバ11内のリソースを占有することなく、クライアントからのRPC要求に応答することができる。これによって、例えば制御サーバ11のリソース量が限られていて1つのRPC要求しか処理できない場合にも、複数のクライアント10からのRPC要求を同時に処理可能となる。また同期応答型のRPC要求をするクライアント10に対して正常時のエラー応答が返送されないため、そのUAP処理部101に変更を加えることもなく、制御サーバ11と業務サーバ14を含むオンライントランザクション処理システムに対してRPCを実現できる。また制御サーバ11は、RPC応答送信を抑止してからの経過時間をタイマ監視し、タイムアウト状態になったRPC応答を自動的に送信するので、クライアントへの応答送信漏れを防ぐことができる。
実施形態のシステムの構成図である。 実施形態のRPC送受信の概略処理の流れを示す図である。 実施形態のRPC受信処理の流れを示すフローチャートである。 実施形態の受信処理UAP部の処理の流れを示すフローチャートである。 RPC応答抑止管理テーブルのデータ構成例を示す図である。 実施形態のRPC応答抑止制御部の処理の流れを示すフローチャートである。 実施形態のRPC送信処理の流れを示すフローチャートである。 実実施形態の応答処理UAP部の処理の流れを示すフローチャートである。 実施形態のRPC抑止応答送信制御部の流れを示すフローチャートである。 実施形態のタイマ監視処理の流れを示すフローチャートである。 実施形態の障害時の再開始処理の流れを示すフローチャートである。
符号の説明
10…クライアント、11…制御サーバ、14…業務サーバ、111…RPC送受信部、115…RPC応答抑止制御部、118…RPC抑止応答送信制御部、120…タイマ監視処理、121…受信処理UAP部、122…応答処理UAP部。

Claims (5)

  1. 同期型のリモートプロシジャコールを発行するクライアント計算機と、前記リモートプロシジャコールの処理を行ってその処理結果を前記クライアント計算機に応答するサーバ計算機とを有するオンライン処理システムのうちの前記サーバ計算機によって実行される方法であって、
    受信した前記リモートプロシジャコールのためのリソースを確保し、
    前記リモートプロシジャコールの処理をする非同期処理を起動し、
    前記リモートプロシジャコールの応答送信を抑止し、
    確保した前記リソースを解放し、
    前記非同期処理が終了したとき、前記リモートプロシジャコールのためのリソースを確保し、
    当該リモートプロシジャコールについて抑止されていた応答を前記クライアント計算機へ送信し、
    前記非同期処理の終了時に確保した前記リソースを解放することを特徴とするオンライン同期処理方法。
  2. 応答送信を抑止した前記リモートプロシジャコールの応答先情報をメモリに保存し、前記の抑止応答の送信処理に引き継ぐことを特徴とする請求項1記載のオンライン同期処理方法。
  3. 前記サーバ計算機の障害時の障害回復に備えて、前記メモリ上の前記応答先情報を前記サーバ計算機の外部記憶装置にも保存することを特徴とする請求項2記載のオンライン同期処理方法。
  4. 前記応答送信を抑止したときからの経過時間が所定時間を越えてなお抑止応答が前記クライアント計算機へ送信されないタイムアウト状態が発生したか否かタイマ監視し、
    前記タイムアウト状態を検出したとき、前記クライアント計算機へ応答を送信することを特徴とする請求項1記載のオンライン同期処理方法。
  5. 同期型のリモートプロシジャコールを発行するクライアント計算機と、前記リモートプロシジャコールの処理を行ってその処理結果を前記クライアント計算機に応答するサーバ計算機とを有するオンライン処理システムのうちの前記サーバ計算機であって、
    前記サーバ計算機は、CPUとメモリを有し、前記メモリに格納されるプログラムを前記CPUによって実行することによって実現される処理手段として、
    受信した前記リモートプロシジャコールのためのリソースを確保する手段と、
    前記リモートプロシジャコールの処理をする非同期処理を起動する手段と、
    前記リモートプロシジャコールの応答送信を抑止する手段と、
    確保した前記リソースを解放する手段と、
    前記非同期処理が終了したとき、前記リモートプロシジャコールのためのリソースを確保する手段と、
    当該リモートプロシジャコールについて抑止されていた応答を前記クライアント計算機へ送信する手段と、
    前記非同期処理の終了時に確保した前記リソースを解放する手段とを有することを特徴とするサーバ計算機。
JP2004378705A 2004-12-28 2004-12-28 オンライン同期処理方法及び装置 Pending JP2006185229A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004378705A JP2006185229A (ja) 2004-12-28 2004-12-28 オンライン同期処理方法及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004378705A JP2006185229A (ja) 2004-12-28 2004-12-28 オンライン同期処理方法及び装置

Publications (1)

Publication Number Publication Date
JP2006185229A true JP2006185229A (ja) 2006-07-13

Family

ID=36738294

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004378705A Pending JP2006185229A (ja) 2004-12-28 2004-12-28 オンライン同期処理方法及び装置

Country Status (1)

Country Link
JP (1) JP2006185229A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010001555A1 (ja) * 2008-06-30 2010-01-07 パナソニック株式会社 実行順序決定装置、実行順序決定プログラム、実行順序決定回路及び情報処理装置
JP2010518527A (ja) * 2007-02-13 2010-05-27 アマデウス エス.アー.エス. インターフェースモジュール
WO2012008016A1 (ja) * 2010-07-13 2012-01-19 富士通株式会社 マルチスレッド処理装置,マルチスレッド処理システム,マルチスレッド処理プログラム,及びマルチスレッド処理方法
CN110704203A (zh) * 2018-07-10 2020-01-17 武汉斗鱼网络科技有限公司 一种可中断的远程过程调用方法及装置
JP2022013618A (ja) * 2020-06-30 2022-01-18 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド 分散型記憶方法および装置、電子機器、コンピュータ可読媒体およびコンピュータプログラム製品

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010518527A (ja) * 2007-02-13 2010-05-27 アマデウス エス.アー.エス. インターフェースモジュール
WO2010001555A1 (ja) * 2008-06-30 2010-01-07 パナソニック株式会社 実行順序決定装置、実行順序決定プログラム、実行順序決定回路及び情報処理装置
JP5259714B2 (ja) * 2008-06-30 2013-08-07 パナソニック株式会社 実行順序決定装置、実行順序決定プログラム、実行順序決定回路及び情報処理装置
US8544011B2 (en) 2008-06-30 2013-09-24 Panasonic Corporation Generation and concurrent execution of a virtual task in an execution order determining system
WO2012008016A1 (ja) * 2010-07-13 2012-01-19 富士通株式会社 マルチスレッド処理装置,マルチスレッド処理システム,マルチスレッド処理プログラム,及びマルチスレッド処理方法
JP5408353B2 (ja) * 2010-07-13 2014-02-05 富士通株式会社 マルチスレッド処理装置,マルチスレッド処理システム,マルチスレッド処理プログラム,及びマルチスレッド処理方法
CN110704203A (zh) * 2018-07-10 2020-01-17 武汉斗鱼网络科技有限公司 一种可中断的远程过程调用方法及装置
CN110704203B (zh) * 2018-07-10 2022-08-16 武汉斗鱼网络科技有限公司 一种可中断的远程过程调用方法及装置
JP2022013618A (ja) * 2020-06-30 2022-01-18 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド 分散型記憶方法および装置、電子機器、コンピュータ可読媒体およびコンピュータプログラム製品
JP7226743B2 (ja) 2020-06-30 2023-02-21 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド 分散型記憶方法および装置、電子機器、コンピュータ可読媒体およびコンピュータプログラム製品

Similar Documents

Publication Publication Date Title
CN108124003B (zh) 网络管理设备连接处理方法、装置及系统
US6141720A (en) Method and apparatus for coordination of a shared object in a distributed system
CA3168286A1 (en) Data flow processing method and system
US7734782B2 (en) Method and system for controlling computer in system
US11553021B2 (en) Media downlink transmission control method and related device
JP6615761B2 (ja) 分散データグリッドにおいて非同期呼出をサポートするためのシステムおよび方法
JP2005276175A (ja) 拡張性のあるプリントスプーラ
JP2008033952A (ja) 共通作業キュー環境における最適格サーバ
CN110471749B (zh) 任务处理方法、装置、计算机可读存储介质和计算机设备
US7257615B2 (en) Server side execution of application modules in a client and server system
EP2913981B1 (en) Image forming system, relay server, communication controlling method and non-transitory computer readable recording medium
CN111163140A (zh) 资源获取和分配的方法、装置和计算机可读存储介质
CN111835797A (zh) 一种数据处理方法、装置及设备
JP2006185229A (ja) オンライン同期処理方法及び装置
JP2010086137A (ja) メッセージキューイング方法及びプログラム
US20030204775A1 (en) Method for handling node failures and reloads in a fault tolerant clustered database supporting transaction registration and fault-in logic
JP3515839B2 (ja) コンピュータシステム間通信システム
JP4882537B2 (ja) タイマ連携によるリクエスト制御方法
JP2016042338A (ja) 情報処理システム、情報処理装置、情報処理装置の制御方法、及びプログラム
CN106790632B (zh) 一种流数据的并发传输方法和装置
WO2014203728A1 (ja) メッセージ制御システム、メッセージ制御装置、メッセージ制御方法及びプログラム
JP4151330B2 (ja) ネットワークファイルシステム用i/o制御方法
TWI673610B (zh) 遠端工作系統及其工作方法
JP2006059321A (ja) 分散オブジェクト環境におけるセッション維持方法
JP7260569B2 (ja) メディアダウンリンク伝送制御方法及び関連するデバイス