JP2008052358A - 非同期リクエスト伝達システム - Google Patents

非同期リクエスト伝達システム Download PDF

Info

Publication number
JP2008052358A
JP2008052358A JP2006225615A JP2006225615A JP2008052358A JP 2008052358 A JP2008052358 A JP 2008052358A JP 2006225615 A JP2006225615 A JP 2006225615A JP 2006225615 A JP2006225615 A JP 2006225615A JP 2008052358 A JP2008052358 A JP 2008052358A
Authority
JP
Japan
Prior art keywords
request
client
storage unit
server object
request transmission
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
JP2006225615A
Other languages
English (en)
Inventor
Koichi Shimohara
幸一 下原
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2006225615A priority Critical patent/JP2008052358A/ja
Publication of JP2008052358A publication Critical patent/JP2008052358A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

【課題】クライアント・オブジェクトがサーバ・オブジェクトに対してリクエストした処理の実行とは非同期で別の処理を実行しながら、且つサーバ・オブジェクトへのリクエスト伝達の成功または失敗を確認することの可能な非同期リクエスト伝達システムを提供すること。
【解決手段】クライアント・オブジェクト3は、サーバ・オブジェクト2に委譲する処理を示すリクエスト構造体を作成しての要求受付部4にリクエスト伝達を依頼する。要求受付部4は、リクエスト蓄積部6にリクエスト構造体を格納して処理の実行権をクライアント・オブジェクト3に返却する。クライアント・オブジェクト3はこの時点でサーバ・オブジェクト2に委譲した処理とは非同期で別の処理を継続することができる。リクエスト構造体はリクエスト送出部5に取り出され、リクエスト送出部5は受信先記憶部7からリクエスト識別子の合致するサーバ・オブジェクト2を検索してリクエストを伝達する。
【選択図】 図4

Description

この発明は、ネットワークを介して接続される複数の計算機要素に対して、分散オブジェクト環境、特にCORBAを導入したシステムと、その基盤ソフトウェアに関する。特に典型的な応用事例としては、単数または複数の計算機サーバをネットワークに接続し、ある計算機により他の計算機へ処理を委譲するシステムがある。
ネットワーク・アプリケーションを構築する主要な技術に分散オブジェクト指向技術が知られている。その標準的技術のひとつとして、OMG(Object Management Group)が策定したCORBA(Common Object Request Broker Architecture)が世界的に普及している。特許文献1に、CORBAを適用可能な技術の例が開示されている。
CORBAを特徴付ける仕様の一つに、ワンウェイ・リクエスト・オペレーションというリクエスト伝達方式がある。ワンウェイ・リクエスト・オペレーションは、サーバ・オブジェクトがリクエストを受け付けることを待たずにクライアント・オブジェクトのオペレーションが完了するリクエスト伝達方式であり、オペレーションを実行したクライアント・オブジェクトは、サーバ・オブジェクトの処理の実行とは非同期に別の処理を実行することができる。
ところで、ワンウェイ・リクエスト・オペレーションには、サーバ・オブジェクトからの応答やリクエスト伝達の成功または失敗を示す例外を定義することができない。このためクライアント・オブジェクトは、サーバ・オブジェクトにリクエストした処理とは非同期に処理を実行して、且つサーバ・オブジェクトへのリクエスト伝達が成功したか失敗したかを確認することができない。
特開2005−259106号公報
以上述べたようにCORBAにおけるワンウェイ・リクエスト・オペレーションには、サーバ・オブジェクトからの応答やリクエスト伝達の成功または失敗を示す例外を定義することができない。よってクライアント・オブジェクトは、サーバ・オブジェクトにリクエストした処理とは非同期で別の処理を実行しつつサーバ・オブジェクトへのリクエスト伝達の成功/失敗を確認することができない。
この発明は上記事情によりなされたもので、その目的は、クライアント・オブジェクトがサーバ・オブジェクトに対してリクエストした処理の実行とは非同期で別の処理を実行しながら、且つサーバ・オブジェクトへのリクエスト伝達の成功または失敗を確認することの可能な非同期リクエスト伝達システムを提供することにある。
上記目的を達成するためにこの発明の一態様によれば、ネットワークを介して接続される分散オブジェクト環境においてクライアント・オブジェクトからの非同期リクエストを共通のインタフェースを用いて実施する非同期リクエスト伝達システムであって、通知先IDとその通知先IDに対応するクライアント・オブジェクトの情報群である通知先記憶部と、リクエスト識別子とその識別子に対応するリクエストを受信するサーバ・オブジェクトの情報群である受信先記憶部と、クライアント・オブジェクトからサーバ・オブジェクトへ伝達するリクエストを蓄積するメッセージ・キューであるリクエスト蓄積部と、前記受信先記憶部に対する受信先の登録および解除、前記通知先記憶部に対する通知先の登録及び解除、および前記リクエスト蓄積部に対するリクエストの格納を前記インタフェースの種類に応じて実施する要求受付部と、前記リクエスト蓄積部からリクエストを取り出し、リクエストの内容に応じて、受信先となるサーバ・オブジェクトへのリクエスト伝達および、通知先となるクライアント・オブジェクトへのリクエスト伝達結果を通知するリクエスト送出部とを具備することを特徴とする非同期リクエスト伝達システムが提供される。
この発明によれば、クライアント・オブジェクトがサーバ・オブジェクトに対してリクエストした処理の実行とは非同期で別の処理を実行しながら、且つサーバ・オブジェクトへのリクエスト伝達の成功または失敗を確認することの可能な非同期リクエスト伝達システムを提供することができる。
図1はこの発明に係る非同期リクエスト伝達システムの実施の形態を示す機能ブロック図である。図1において、この実施形態に係わる非同期リクエスト伝達システム1は、単数または複数のサーバ・オブジェクト2とクライアント・オブジェクト3により利用される。サーバ・オブジェクト2およびクライアント・オブジェクト3は、非同期リクエスト伝達システム1が提供するインタフェースを利用して、リクエストの受信先登録または解除、リクエストの伝達成功または失敗の通知先登録または解除および、リクエストの伝達を実施する。図2に、非同期リクエスト伝達システム1により提供されるインタフェースの一例を示す。
クライアント・オブジェクト3、非同期リクエスト伝達システム1、およびサーバ・オブジェクト2の間で伝達されるリクエストは、例えば図3に示す構造を使用する。非同期リクエスト伝達システム1は、図3のリクエスト識別子によりリクエストの受信先を識別して、その受信先にリクエストを送出する。また、通知先IDによりリクエストの伝達成功または失敗の通知先を識別して、その結果を通知する。
図1において、非同期リクエスト伝達システム1は、要求受付部4、リクエスト送出部5、リクエスト蓄積部6、受信先記憶部7、および通知先記憶部8を備える。このうち受信先記憶部7は、リクエスト識別子と、その識別子に対応するリクエストを受信する単数または複数のサーバ・オブジェクト2の情報群である。
通知先記憶部8は、通知先IDと、その通知先IDに対応するクライアント・オブジェクト3の情報群である。リクエスト蓄積部6は、クライアント・オブジェクト3からサーバ・オブジェクト2へ伝達するリクエストを蓄積するFIFO(First-In-First-Out)形式のメッセージ・キューである。
リクエスト送出部5は、リクエスト蓄積部6からリクエストを取り出し、リクエストの内容に応じて、受信先となるサーバ・オブジェクト2へのリクエスト伝達および、通知先となるクライアント・オブジェクト3へのリクエスト伝達結果の通知を実施するスレッドである。
要求受付部4は、非同期リクエスト伝達システム1が提供するインタフェース(図2)を受け付ける窓口となるスレッドである。要求受付部4は、インタフェースの種類に応じて受信先記憶部7に対する受信先の登録および解除、通知先記憶部8に対する通知先の登録及び解除、リクエスト蓄積部6に対するリクエストの格納を実施する。
次に図4に示すシーケンスにしたがって、この実施形態の処理の順序を説明する。まず、クライアント・オブジェクト3は、サーバ・オブジェクト2に委譲する処理を示すリクエスト構造体を作成して(図4のP1)、非同期リクエスト伝達システム1の要求受付部4にリクエスト伝達を依頼する(図4のP2)。
これを受け取った要求受付部4は、リクエスト蓄積部6にリクエスト構造体を格納(図4のP3)して即座に処理の実行権をクライアント・オブジェクト3に返却する(図4のP4)。クライアント・オブジェクト3は、この時点でサーバ・オブジェクト2に委譲した処理とは非同期で別の処理を継続することが可能となる。
リクエスト蓄積部6に格納されたリクエスト構造体は、リクエスト送出部5に取り出される(図4のP6)。リクエスト構造体を取り出したリクエスト送出部5は、受信先記憶部7からリクエスト識別子の合致する単数または複数のサーバ・オブジェクト2を検索して(図4のP7)、リクエストを伝達する(図4のP8)。
リクエスト送出部5は、リクエストの伝達が成功したことをサーバ・オブジェクト2の処理が終了することで認識し、失敗したことをCORBA例外の発生によって認識する(図4のP9)。リクエストの伝達の成功または失敗を確認したリクエスト送出部5は、リクエスト構造体の通知先IDに合致するクライアント・オブジェクト3を通知先記憶部8から検索して(図4のP10)、通知先IDの合致したクライアント・オブジェクト3に対して伝達結果を通知する(図4のP11)。サーバ・オブジェクト2へのリクエスト伝達の成功または失敗の通知を受けたクライアント・オブジェクト3は、必要に応じて成功時処理または失敗時処理を実施する。たとえば、失敗時にはリクエスト伝達のリトライを実施する。
以上、説明したように本発明によれば、クライアント・オブジェクトは、サーバ・オブジェクトにリクエストした処理の実行とは非同期で処理を継続して、サーバ・オブジェクトへのリクエスト伝達結果を確認することが可能になる。特にクライアント・オブジェクトとサーバ・オブジェクトが、別の計算機で稼動している場合、プロセッサのリソースを有効に活用することができる。
なお、この発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
この発明に係る非同期リクエスト伝達システムの実施の形態を示す機能ブロック図。 図1の非同期リクエスト伝達システムが提供するインタフェースの一例を示す図。 図1の非同期リクエスト伝達システムが利用するリクエストの構造の一例を示す図。 図1のシステムにおける処理手順を示すシーケンスを示す図。
符号の説明
1…非同期リクエスト伝達システム、2…サーバ・オブジェクト、3…クライアント・オブジェクト、4…要求受付部、5…リクエスト送出部、6…リクエスト蓄積部、7…受信先記憶部、8…通知先記憶部

Claims (1)

  1. ネットワークを介して接続される分散オブジェクト環境においてクライアント・オブジェクトからの非同期リクエストを共通のインタフェースを用いて実施する非同期リクエスト伝達システムであって、
    通知先IDとその通知先IDに対応するクライアント・オブジェクトの情報群である通知先記憶部と、
    リクエスト識別子とその識別子に対応するリクエストを受信するサーバ・オブジェクトの情報群である受信先記憶部と、
    クライアント・オブジェクトからサーバ・オブジェクトへ伝達するリクエストを蓄積するメッセージ・キューであるリクエスト蓄積部と、
    前記受信先記憶部に対する受信先の登録および解除、前記通知先記憶部に対する通知先の登録及び解除、および前記リクエスト蓄積部に対するリクエストの格納を前記インタフェースの種類に応じて実施する要求受付部と、
    前記リクエスト蓄積部からリクエストを取り出し、リクエストの内容に応じて、受信先となるサーバ・オブジェクトへのリクエスト伝達および、通知先となるクライアント・オブジェクトへのリクエスト伝達結果を通知するリクエスト送出部とを具備することを特徴とする非同期リクエスト伝達システム。
JP2006225615A 2006-08-22 2006-08-22 非同期リクエスト伝達システム Pending JP2008052358A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006225615A JP2008052358A (ja) 2006-08-22 2006-08-22 非同期リクエスト伝達システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006225615A JP2008052358A (ja) 2006-08-22 2006-08-22 非同期リクエスト伝達システム

Publications (1)

Publication Number Publication Date
JP2008052358A true JP2008052358A (ja) 2008-03-06

Family

ID=39236388

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006225615A Pending JP2008052358A (ja) 2006-08-22 2006-08-22 非同期リクエスト伝達システム

Country Status (1)

Country Link
JP (1) JP2008052358A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011065760A2 (ko) * 2009-11-27 2011-06-03 주식회사 로그 접속 정보 제공 시스템 및 방법
WO2011065739A2 (ko) * 2009-11-27 2011-06-03 주식회사 로그 로그 정보 제공 시스템 및 방법
CN105635083A (zh) * 2014-11-14 2016-06-01 航天信息股份有限公司 基于服务器和客户端架构的业务处理方法及业务处理系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011065760A2 (ko) * 2009-11-27 2011-06-03 주식회사 로그 접속 정보 제공 시스템 및 방법
WO2011065739A2 (ko) * 2009-11-27 2011-06-03 주식회사 로그 로그 정보 제공 시스템 및 방법
WO2011065739A3 (ko) * 2009-11-27 2011-09-22 주식회사 로그 로그 정보 제공 시스템 및 방법
WO2011065760A3 (ko) * 2009-11-27 2011-10-20 주식회사 로그 접속 정보 제공 시스템 및 방법
CN105635083A (zh) * 2014-11-14 2016-06-01 航天信息股份有限公司 基于服务器和客户端架构的业务处理方法及业务处理系统

Similar Documents

Publication Publication Date Title
US6336135B1 (en) Gateway for converting synchronous client/server protocols into asynchronous messaging protocols and storing session state information at the client
EP3837604B1 (en) In situ triggered function as a service within a service mesh
US9967360B2 (en) Method and system for information exchange utilizing an asynchronous persistent store protocol
JP2008033952A (ja) 共通作業キュー環境における最適格サーバ
US7363355B2 (en) Transparent disconnected services discovery and use
WO2001067263A1 (en) Messaging system for computers
US9069632B2 (en) Message processing
US7743392B2 (en) System and method for parallel asynchronous execution of commands
CN113778714B (zh) 一种Linux兼容Android的共享剪切板方法及装置
JP2008052358A (ja) 非同期リクエスト伝達システム
US9143440B2 (en) System and method for unmarshalled routing
JP4415391B2 (ja) データをネットワークに送信する方法及び装置並びにデータをネットワークから受信する方法及び装置
JP4882537B2 (ja) タイマ連携によるリクエスト制御方法
US11556345B2 (en) Detecting and recovering lost adjunct processor messages
US9009257B2 (en) Direct return to source (DRS) routing of customer information control systems (CICS) transactions
US20180341900A1 (en) Guaranteed Processing with Generational Queues
JPH08212180A (ja) プロセス間通信処理装置
WO2014094315A1 (zh) 在系统升级过程中对业务进行处理的方法、装置和设备
US8332694B2 (en) Method for notification of an error in data exchanged between a client and a server
JP2006031491A (ja) アプリケーション間連携システム
JP3776706B2 (ja) データ通信装置、データ通信方法およびデータ通信プログラムを記録したコンピュータ読み取り可能な記録媒体
US20090204973A1 (en) Method and system for providing preemptive response routing
JP2008226127A (ja) 分散処理におけるメッセージングの高信頼化装置及び高信頼化方法
JP2007517279A (ja) 通信オブジェクト間で結果を送信するための非同期自動デバイス及び方法
JP2010237977A (ja) マルチプロセッサ及び制御プログラム