JP2008052358A - 非同期リクエスト伝達システム - Google Patents
非同期リクエスト伝達システム Download PDFInfo
- 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
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
【課題】クライアント・オブジェクトがサーバ・オブジェクトに対してリクエストした処理の実行とは非同期で別の処理を実行しながら、且つサーバ・オブジェクトへのリクエスト伝達の成功または失敗を確認することの可能な非同期リクエスト伝達システムを提供すること。
【解決手段】クライアント・オブジェクト3は、サーバ・オブジェクト2に委譲する処理を示すリクエスト構造体を作成しての要求受付部4にリクエスト伝達を依頼する。要求受付部4は、リクエスト蓄積部6にリクエスト構造体を格納して処理の実行権をクライアント・オブジェクト3に返却する。クライアント・オブジェクト3はこの時点でサーバ・オブジェクト2に委譲した処理とは非同期で別の処理を継続することができる。リクエスト構造体はリクエスト送出部5に取り出され、リクエスト送出部5は受信先記憶部7からリクエスト識別子の合致するサーバ・オブジェクト2を検索してリクエストを伝達する。
【選択図】 図4
【解決手段】クライアント・オブジェクト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…非同期リクエスト伝達システム、2…サーバ・オブジェクト、3…クライアント・オブジェクト、4…要求受付部、5…リクエスト送出部、6…リクエスト蓄積部、7…受信先記憶部、8…通知先記憶部
Claims (1)
- ネットワークを介して接続される分散オブジェクト環境においてクライアント・オブジェクトからの非同期リクエストを共通のインタフェースを用いて実施する非同期リクエスト伝達システムであって、
通知先IDとその通知先IDに対応するクライアント・オブジェクトの情報群である通知先記憶部と、
リクエスト識別子とその識別子に対応するリクエストを受信するサーバ・オブジェクトの情報群である受信先記憶部と、
クライアント・オブジェクトからサーバ・オブジェクトへ伝達するリクエストを蓄積するメッセージ・キューであるリクエスト蓄積部と、
前記受信先記憶部に対する受信先の登録および解除、前記通知先記憶部に対する通知先の登録及び解除、および前記リクエスト蓄積部に対するリクエストの格納を前記インタフェースの種類に応じて実施する要求受付部と、
前記リクエスト蓄積部からリクエストを取り出し、リクエストの内容に応じて、受信先となるサーバ・オブジェクトへのリクエスト伝達および、通知先となるクライアント・オブジェクトへのリクエスト伝達結果を通知するリクエスト送出部とを具備することを特徴とする非同期リクエスト伝達システム。
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)
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 | 航天信息股份有限公司 | 基于服务器和客户端架构的业务处理方法及业务处理系统 |
-
2006
- 2006-08-22 JP JP2006225615A patent/JP2008052358A/ja active Pending
Cited By (5)
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) | マルチプロセッサ及び制御プログラム |