JP2008226127A - 分散処理におけるメッセージングの高信頼化装置及び高信頼化方法 - Google Patents

分散処理におけるメッセージングの高信頼化装置及び高信頼化方法 Download PDF

Info

Publication number
JP2008226127A
JP2008226127A JP2007066786A JP2007066786A JP2008226127A JP 2008226127 A JP2008226127 A JP 2008226127A JP 2007066786 A JP2007066786 A JP 2007066786A JP 2007066786 A JP2007066786 A JP 2007066786A JP 2008226127 A JP2008226127 A JP 2008226127A
Authority
JP
Japan
Prior art keywords
ior
server
request
transmission
client
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
JP2007066786A
Other languages
English (en)
Inventor
Hitoshi Sumiyoshi
仁 住吉
Kazuhiro Kawagome
和宏 河込
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 JP2007066786A priority Critical patent/JP2008226127A/ja
Publication of JP2008226127A publication Critical patent/JP2008226127A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

【課題】メッセージの送受信における高信頼化が図られていないクライアントとサーバ間においても簡易に高信頼化を実現できる高信頼化装置及び高信頼化方法を提供する。
【解決手段】クライアントとサーバの間に送受信制御部とIORテーブルを有する高信頼化装置を接続する。送受信制御部はクライアントからあて先情報とオブジェクトのリクエストを受け取るとIORテーブルを参照して対応するサーバIORを読み込む。さらに、高信頼化装置はPingとKeep_Aliveを使用してサーバと高信頼化装置の通信の接続を確認する。接続が確認されたとき、送受信制御部はサーバにメッセージを送信する。サーバからの応答は高信頼化装置に送信され、高信頼化装置がクライアントに送信するように構成しても、サーバから直接クライアントに送信するように構成してもよい。
【選択図】図1

Description

本発明は分散処理を行うオブジェクト・リクエスト・ブローカが実装されているサーバ及びクライアント間のメッセージングの信頼性を高める高信頼化装置及び高信頼化方法に関する。
複数のコンピュータを接続して異なるコンピュータに存在するオブジェクトを呼び出す分散オブジェクト技術においては、オブジェクトの呼び出しに際して接続が切断された場合の対処が問題となる。例えば、接続が切断されているにもかかわらずクライアントからサーバに対してオブジェクトを要求するリクエストが送信されると、そのリクエストは喪失され、クライアントにおいてリクエストを送信したプログラムは応答を待ち続ける。
この問題に関しては従来より多くの技術が開発されてきた。例えば、サーバ側においてオブジェクトを送信するプログラムと、クライアント側においてオブジェクトを要求するプログラムとの間に接続の確認とオブジェクトの授受に関するプロトコルを設定し、このプロトコルに従って、サーバ側とクライアント側のプログラムを開発するという方法が考えられる。しかし、この方法は開発工数が非常にかかるという問題点がある。
また、OSレベルの方法としてTCP/IPのPingやKeep_Aliveを用いて接続を確認することが考えられる。これらを実行する頻度は通常1時間から10分に1回程度である。しかし、上記問題の解決のためにはから0.1秒に1回程度まで頻度を高める必要がある。このように高頻度にPingやKeep_Aliveを行うと、クライアントにおいて動作している他のプログラムの実行速度に悪影響がある。
より少ない開発工数によってこの問題を解決するための製品が従来より販売されている。例えば、特許文献1にはマイクロソフト社のCOM+に関する仕様が詳細に記載されている。
特表2002−522843号公報
しかし、特許文献1に記載の技術を活用するためにはCOM+を実装しているマイクロソフト社のOSをサーバとクライアントにインストールし、COM+をサポートする開発言語によって既にあるソフトウエア資産を作り直し、COM+が利用できるようにオブジェクトを登録する必要がある。このため、作業工数とコストがかかるという問題点があった。
本発明は上記のような問題点に鑑みてなされたものであり、メッセージの送受信における高信頼化が図られていないクライアントとサーバ間においても簡易に高信頼化を実現できる高信頼化装置及び高信頼化方法を提供することを目的とする。
この目的を達成するために、請求項1に記載の発明は分散処理を行うオブジェクト・リクエスト・ブローカが実装されているサーバ及びクライアントとの間に接続され、サーバ及びクライアントとメッセージの送受信を行う高信頼化装置であって、サーバへのあて先情報を含むサーバIORとサーバへのあて先情報を高信頼化装置に変更したあて先情報を含む代理IORとを格納するIORテーブルと;メッセージの送受信を制御する送受信制御部と;を備え、送受信制御部が、クライアントから代理IORとオブジェクトを要求するリクエストを受信したとき、送受信制御部が代理IORを基にIORテーブルを検索して対応するサーバIORを読み込み;送受信制御部がサーバとの接続が確立されていることを、接続を確認する接続確認プログラムによって判定し;接続が確認されない場合には、接続が確認されるまで所定の時間間隔にて接続確認プログラムを実行して接続の確認を継続し;接続が確認された場合は、読み込んだサーバIORと受信したリクエストをサーバに送信する、ことを特徴とする高信頼化装置を提供する。
また、請求項7に記載の発明は分散処理を行うオブジェクト・リクエスト・ブローカが実装されているサーバ及びクライアントとの間に接続され、サーバ及びクライアントとメッセージの送受信を行う高信頼化装置の高信頼化方法であって、高信頼化装置が、サーバへのあて先情報を含むサーバIORとサーバへのあて先情報を高信頼化装置に変更したあて先情報を含む代理IORとを格納するIORテーブルと;メッセージの送受信を制御する送受信制御部と;を備え、送受信制御部が、クライアントから代理IORとオブジェクトを要求するリクエストを受信したとき、送受信制御部が代理IORを基にIORテーブルを検索して対応するサーバIORを読み込むステップと;送受信制御部がサーバとの接続が確立されていることを、接続を確認する接続確認プログラムによって判定し、接続が確認されない場合には、接続が確認されるまで所定の時間間隔にて前記接続確認プログラムを実行して接続の確認を継続するステップと;接続が確認された場合は、読み込んだ前記サーバIORと受信したリクエストをサーバに送信するステップと;を有することを特徴とする高信頼化方法を提供する。
本発明によれば、高信頼化装置がサーバとクライアントの間に接続され、高信頼化装置の送受信制御部がクライアントからリクエストを受信すると、クライアントに代わってサーバとの接続の確認とリクエストの送信と応答の受信を行うため、既存のソフトウエア資産に変更を加えることなく簡易に高信頼化を実現できる。
以下、本発明の第1の実施形態について図面を用いて説明する。図1は本実施形態の高信頼化装置の接続関係を示した図である。本実施形態の高信頼化装置11はサーバ10と通信回線13を介して接続され、また、クライアント12と通信回線13を介して接続される。
このように、高信頼化装置11はサーバ10とクライアント12の間に通信回線13を介して接続される。サーバ10及びクライアント12は複数接続されていても良い。通信回線13は種類を問わず、LANであってもインターネットのような公衆通信回線網を介するものであっても良い。
サーバ10とクライアント12には分散処理アーキテクチャに基づくオブジェクト・リクエスト・ブローカ(ORB)が実装されている。ORBの例としては共通オブジェクトリクエストブローカアーキテクチャ(CORBA:Common Object Request Broker Architecture)、JavaRMI(Java Remote Method Invocation)、HORB(Hirano Object Request Broker)などが挙げられるが、本実施形態は特にCORBAが実装されているサーバ10とクライアント12において効果的である。
図2は本実施形態の高信頼化装置11の構成を表した概要図である。高信頼化装置11は送受信制御部21と記憶装置30とを備える。送受信制御部21はCPU22と、メモリ23と、サーバ10とクライアント12と通信可能な通信手段24と、ソフトウエア25を備える。ソフトウエア25はTCP/IPをサポートするOS(オペレーションシステム)26と、通信を媒介するゲートウエイアプリケーション27を含む。
記憶装置30は例えば磁気ハードディスクやフラッシュメモリなどを用いることができる。記憶装置30はサーバ10へのあて先情報であるサーバIORとサーバへのあて先情報を高信頼化装置11に変更した代理IORとを対応付けて格納するIORテーブル28と、クライアント12から受信した代理IORとサーバ10に存在するオブジェクトを要求するリクエストを格納するリクエストテーブル29を備える。
ここで、あて先情報とはネットワーク上においてオブジェクトが存在する場所を特定する情報を含むデータである。あて先情報の例としてはIOR(Interoperable Object Reference)が挙げられる。IORはオブジェクトの存在する場所を特定する情報のほかに、サーバの場所を示す情報、送信元を識別する情報、プロトコルの種類、利用できるORBサービスに関する情報などを含んでいてもよい。また、メッセージとはコンピュータ間において送受信されるデータをいい、IORとリクエストが含まれる。
次に、本実施形態の高信頼化装置11の動作について説明する。高信頼化装置11の動作は準備段階であるIOR設定処理と高信頼化を実現するリクエスト送受信処理を含む。
図3はIOR設定処理のシーケンスチャートである。IOR設定処理の目的は、第1に高信頼化装置11のIORテーブル28にサーバIORと代理IORを対応付けて格納することであり、第2にクライアント12に代理IORを格納することである。
IOR設定処理に先立ち、クライアント12には高信頼化装置11のIORテーブル28にサーバIORと代理IORの設定を行うソフトウエアであるIOR設定エージェントをインストールしておく。IOR設定エージェントは高信頼化装置11のIORテーブル28をリモートにて更新するようにプログラムする。
ステップS301において、クライアント12はサーバIORをサーバ10に要求する。ステップS302においてクライアント12はサーバ10からサーバIORを受信する。なお、サーバIORの取得方法は限定されない。例えば、クライアント12がサーバ10において稼動しているネームサービスを利用して取得しても良い。また、サーバ10の管理者からメールにてサーバIORを入手してもよい。入手したサーバIORはIOR設定エージェントが読み込める状態にてクライアント12の記憶装置に格納しておく。
ステップS303において、クライアント12はIOR設定エージェントにより高信頼化装置11の送受信制御部21にサーバIORと、IORテーブル28にサーバIORを格納する設定指示とを送信する。
ステップS304において、送受信制御部21は受信したサーバIORをIORテーブル28に格納する。ステップS305において、高信頼化装置11の送受信制御部21はサーバIORに対応し、高信頼化装置11をあて先とする代理IORを生成し、この代理IORをサーバIORと対応付けてIORテーブル28に格納する。
ステップS306において、高信頼化装置11の送受信制御部21は生成した代理IORをクライアント12に送信する。ステップS307において、クライアント12は受信した代理IORをクライアント12のORBが利用できる状態に格納する。
図4は本実施形態におけるIORテーブル28の内容を示した図である。IORテーブル28の項目はサーバIORと代理IORである。格納されるIORの例は、第1レコード401において、サーバIORは送信先がサーバ1、オブジェクトの場所がサーバ1、送信元が高信頼化装置であり、代理IORは送信先が高信頼化装置、オブジェクトの場所がサーバ1、送信元がクライアント1である。
ここで、従来のIORは送信先がサーバ1、オブジェクトの場所がサーバ1、送信元がクライアント1となっている。これに代えて、クライアントは第1レコード401の代理IORを使用してリクエストを送信する。このため、代理IORとリクエストはサーバ1ではなく、高信頼化装置11に送信される。
第2レコード402においては、サーバIORは送信先とオブジェクトの場所がサーバ2、代理IORは送信元がクライアント1になっている。また、第3レコード403においては、サーバIORは送信先とオブジェクトの場所がサーバ2、代理IORは送信元がクライアント2になっている。このように、サーバやクライアントが複数あるときはIORの内容が変わり、IORテーブル28に格納される。
後述するように、高信頼化装置11の送受信制御部21はクライアントから受信した代理IORを対応するサーバIORに変更して送信する。このため、サーバIORとリクエストはサーバに送信され、リクエストに対する応答は高信頼化装置11に送信される。
図5は本実施形態におけるリクエストテーブル29の内容を示した図である。リクエストテーブル29の項目は代理IORとリクエストである。代理IORは例えば送信先が高信頼化装置、オブジェクトの場所がサーバ1、送信元がクライアント1であり、リクエストは例えばobject Aである。
図6は本実施形態の高信頼化装置11におけるリクエスト送受信処理のフローチャートである。リクエスト送受信処理を行うプログラムは、ゲートウエイアプリケーションをカスタマイズして作成しても、新たにアプリケーションを作成しても良い。なお、一般にゲートウェイはリクエストごとにマルチスレッドで動作する。ここでは一本のスレッドの処理フローについて述べる。
ステップS601において、送受信制御部21はクライアント12から代理IORとオブジェクトを要求するリクエストを受信する。ステップS602において、送受信制御部21は受信した代理IORとリクエストをリクエストテーブル29に格納する。
ステップS603において、送受信制御部21はIORテーブル28を参照し、受信した代理IORに対応するサーバIORを読み出す。前述したIOR設定処理において、受信した代理IORと同一のものがIORテーブル28の代理IORに格納されているため、送受信制御部21は受信した代理IOR自身をキーにIORテーブル28の代理IORの欄を検索することにより、対応するサーバIORを読み出すことができる。
ステップS604において、送受信制御部21はサーバIORに記載されているサーバ10にPingを送信する。ここで、PingはTCP/IPのプログラムであり、IPパケットをノードに対して送信するものである。ノードはPingのIPパケットを受信するとIPパケットを送信元に送信する。従って、サーバ10から応答のPingが送信されてくれば、サーバ10が起動していることが確認できる。
ステップS605において、送受信制御部21はサーバ10から応答のPingを受信したか判定する。所定時間内に送受信制御部21が応答のPingを受信しない場合にはステップS604に戻る。応答のPingを受信した場合にはステップS606に進む。
ここで、ステップS605を実行する時間間隔、すなわちサーバ10へのPing送信の時間間隔は50ms(ミリ秒)以上200ms以下であることが望ましく、100msであることがより望ましい。通常Pingは10分から1時間に1回程度の割合にて送信される。本実施形態においては、クライアントにおいてオブジェクトを要求するプログラムが動いており、このプログラムにサーバ10から受信したオブジェクトをできるだけ早く返す必要があるため、時間間隔を短くする必要があるが、短くしすぎるとサーバ10に負荷がかかるため上記の時間間隔が望ましい。
ステップS606において、送受信制御部21はサーバ10にKeep_Aliveを送信する。ここで、Keep_Aliveとは例えばTCP/IPなどのプロトコルにおいて、通信の接続を確認するために送信されるテキストデータを送信するプログラムをいうが、このテキストデータをKeep_Aliveともいう。接続が確立している場合には、Keep_Aliveを受信した機器はKeep_Aliveに対応する応答を、Keep_Aliveを送信してきた装置に送信する。従って、Keep_Aliveに対する応答が送信されてくれば、サーバ10とクライアント12において接続が確立されているか確認することができる。
ステップS607において、送受信制御部21はサーバ10からKeep_Aliveへ応答を受信したか判定する。所定時間内に送受信制御部21がKeep_Aliveへ応答を受信しない場合には再接続処理(ステップS6070)を行ない、ステップS606に戻る。Keep_Aliveへ応答を受信した場合にはステップS608に進む。
ここで、ステップS606を実行する時間間隔、すなわちサーバ10へのKeep_Alive送信の時間間隔は50ms(ミリ秒)以上200ms以下であることが望ましく、100msであることがより望ましい。通常Keep_Aliveは数分から数十分に1回程度の割合にて送信される。本実施形態においては、クライアントにおいてオブジェクトを要求するプログラムが動いており、このプログラムにサーバ10から受信したオブジェクトをできるだけ早く返す必要があるため、時間間隔を短くする必要があるが、短くしすぎるとサーバ10に負荷がかかるため上記の時間間隔が望ましい。
ステップS608において、送受信制御部21はサーバ10にサーバIORとリクエストを送信する。ステップS609において、送受信制御部21はサーバ10にKeep_Aliveを送信する。このKeep_Aliveの送信はサーバIORとリクエストを送信した直後においても接続が確立されていることを確認することにより、サーバIORとリクエストがサーバ10に到達していることを推定するために行われる。
ステップS610において、送受信制御部21はサーバ10からKeep_Aliveへ応答を受信したか判定する。所定時間内に送受信制御部21がKeep_Aliveへ応答を受信しない場合にはステップS606に戻る。Keep_Aliveへ応答を受信した場合にはステップS611に進む。
ステップS611において、送受信制御部21はサーバ10からリクエストへの応答を受信する。ステップS608において送受信制御部21がサーバ10に送信したサーバIORにはリクエストの送信元を高信頼化装置11として記載されている。従って、サーバ10のORBはリクエストへの応答を高信頼化装置11に送信する。
ステップS612において、送受信制御部21はクライアント12にリクエストへの応答を送信する。リクエストの応答を送信するクライアントの識別は、例えば次のように行う。サーバ10のORBから送受信制御部21が受信したデータの中には要求したオブジェクトを識別する識別情報が含まれている。送受信制御部21はこの識別情報をキーにリクエストテーブルのリクエストを検索し、該当する識別情報を有するリクエストに対応する代理IORを読み出す。代理IORにはリクエストを送信したクライアントを識別する情報が記載されている。この情報に基づいて送信先のクライアントを特定し、リクエストを送信する。
なお、クライアントに送信する際に、Ping及びKeep_Aliveを用いて上述したサーバ10との接続確認と同様な接続確認をクライアントに対して行うように構成してもよい。
ステップS613において、送受信制御部21は代理IORとリクエストをリクエストテーブル29から削除する。
以上のように、本実施形態の高信頼化装置11は、クライアント12から代理IORとリクエストを受信したとき、クライアント12に代わってサーバ10との接続の確認とメッセージの送受信を行うため、クライアント12に負荷をかけずにサーバ10へのリクエストの送信をより確実に行うことができる。
また、サーバ10とクライアント12の間に高信頼化装置11を接続し、IOR設定処理を行うことのみによりメッセージのやり取り、すなわちメッセージングにおける高信頼化を実現でき、既存のソフトウエア資産の変更を必要としない。
次に、第2の実施形態について説明する。本実施形態における高信頼化装置11の接続関係は実施形態1と同様である。すなわち、図1に示すように、高信頼化装置11はサーバ10と通信回線13を介して接続され、また、クライアント12と通信回線13を介して接続される。
高信頼化装置11はサーバ10とクライアント12の間に通信回線13を介して接続される。サーバ10及びクライアント12は複数接続されていても良い。通信回線13は種類を問わず、LANであってもインターネットのような公衆通信回線網を介するものであっても良い。サーバ10とクライアント12には分散処理アーキテクチャに基づくオブジェクト・リクエスト・ブローカ(ORB)が実装されている。
本実施形態における高信頼化装置11の構成は実施形態1と同様である。すなわち、図2に示すように、高信頼化装置11は送受信制御部21と記憶装置30とを備える。送受信制御部21はCPU22と、メモリ23と、サーバ10とクライアント12と通信可能な通信手段24と、ソフトウエア25を備える。ソフトウエア25はTCP/IPをサポートするOS(オペレーションシステム)26と、通信を媒介するゲートウエイアプリケーション27を含む。
記憶装置30は例えば磁気ハードディスクやフラッシュメモリなどを用いることができる。記憶装置30はサーバ10へのあて先情報であるサーバIORとサーバへのあて先情報を高信頼化装置11に変更した代理IORとを対応付けて格納するIORテーブル28と、クライアント12から受信した代理IORとサーバ10に存在するオブジェクトを要求するリクエストを格納するリクエストテーブル29を備える。
次に、本実施形態の高信頼化装置11の動作について説明する。高信頼化装置11の動作は準備段階であるIOR設定処理と高信頼化を実現するリクエスト送受信処理を含む。 本実施形態のIOR設定処理は実施形態1と同様のステップを有するが、生成するサーバIORの内容が実施形態1とは異なる。先ず、IOR設定処理を説明する。
IOR設定処理に先立ち、クライアント12には高信頼化装置11のIORテーブル28にサーバIORと代理IORの設定を行うソフトウエアであるIOR設定エージェントをインストールしておく。IOR設定エージェントは高信頼化装置11のIORテーブル28をリモートにて更新するようにプログラムする。
本実施形態のIOR設定処理は図3に示す如くである。ステップS301において、クライアント12はサーバIORをサーバ10に要求する。ステップS302においてクライアント12はサーバ10からサーバIORを受信する。なお、サーバIORの取得方法は限定されない。例えば、クライアント12がサーバ10において稼動しているネームサービスを利用して取得しても良い。また、サーバ10の管理者からメールにてサーバIORを入手してもよい。入手したサーバIORはIOR設定エージェントが読み込める状態にてクライアント12の記憶装置に格納しておく。
ステップS303において、クライアント12はIOR設定エージェントにより高信頼化装置11の送受信制御部21にサーバIORとIORテーブル28にサーバIORを格納する設定指示を送信する。
ステップS304において、送受信制御部21は受信したサーバIORをIORテーブル28に格納する。ステップS305において、高信頼化装置11の送受信制御部21はサーバIORに対応し、高信頼化装置11をあて先とする代理IORを生成し、この代理IORをサーバIORと対応付けてIORテーブル28に格納する。
ステップS306において、高信頼化装置11の送受信制御部21は生成した代理IORをクライアント12に送信する。ステップS307において、クライアント12は受信した代理IORをクライアント12のORBが利用できる状態に格納する。
図7は本実施形態におけるIORテーブル28の内容を示した図である。IORテーブル28の項目はサーバIORと代理IORである。格納されるIORの例は、第1レコード701において、サーバIORは送信先がサーバ1、オブジェクトの場所がサーバ1、送信元がクライアント1であり、代理IORは送信先が高信頼化装置、オブジェクトの場所がサーバ1、送信元がクライアント1である。
ここで、従来のIORは送信先がサーバ1、オブジェクトの場所がサーバ1、送信元がクライアント1となっている。これに代えて、クライアントは第1レコード701の代理IORを使用してリクエストを送信する。このため、代理IORとリクエストはサーバ1ではなく、高信頼化装置11に送信される。
第2レコード702においては、サーバIORは送信先とオブジェクトの場所がサーバ2、代理IORは送信元がクライアント1になっている。また、第3レコード703においては、サーバIORは送信先とオブジェクトの場所がサーバ2、代理IORは送信元がクライアント2になっている。このように、サーバやクライアントが複数あるときはIORの内容が変わり、IORテーブル28に格納される。
後述するように、高信頼化装置11の送受信制御部21はクライアントから受信した代理IORを対応するサーバIORに変更して送信する。このため、サーバIORとリクエストはサーバに送信され、リクエストに対する応答は高信頼化装置11を経由せずに直接送信元であるクライアントに送信される。
本実施形態におけるリクエストテーブル29の内容は第1の実施形態と同様である。すなわち、図5に示すように、リクエストテーブル29の項目は代理IORとリクエストである。代理IORは例えば送信先が高信頼化装置、オブジェクトの場所がサーバ1、送信元がクライアント1であり、リクエストは例えばobject Aである。
図8は本実施形態の高信頼化装置11におけるリクエスト送受信処理のフローチャートである。リクエスト送受信処理を行うプログラムは、ゲートウエイアプリケーションをカスタマイズして作成しても、新たにアプリケーションを作成しても良い。
ステップS801において、送受信制御部21はクライアント12から代理IORとオブジェクトを要求するリクエストを受信する。ステップS802において、送受信制御部21は受信した代理IORとリクエストをリクエストテーブル29に格納する。
ステップS803において、送受信制御部21はIORテーブル28を参照し、受信した代理IORに対応するサーバIORを読み出す。前述したIOR設定処理において、受信した代理IORと同一のものがIORテーブル28の代理IORに格納されているため、送受信制御部21は受信した代理IOR自身をキーにIORテーブル28の代理IORの欄を検索することにより、対応するサーバIORを読み出すことができる。
ステップS804において、送受信制御部21はサーバIORに記載されているサーバ10にPingを送信する。ステップS805において、送受信制御部21はサーバ10から応答のPingを受信したか判定する。所定時間内に送受信制御部21が応答のPingを受信しない場合にはステップS804に戻る。応答のPingを受信した場合にはステップS806に進む。
ここで、ステップS805を実行する時間間隔、すなわちサーバ10へのPing送信の時間間隔は50ms(ミリ秒)以上200ms以下であることが望ましく、100msであることがより望ましい。通常Pingは10分から1時間に1回程度の割合にて送信される。本実施形態においては、クライアントにおいてオブジェクトを要求するプログラムが動いており、このプログラムにサーバ10から受信したオブジェクトをできるだけ早く返す必要があるため、時間間隔を短くする必要があるが、短くしすぎるとサーバ10に負荷がかかるため上記の時間間隔が望ましい。
ステップ806において、送受信制御部21はサーバ10にKeep_Aliveを送信する。ステップS807において、送受信制御部21はサーバ10からKeep_Aliveへ応答を受信したか判定する。所定時間内に送受信制御部21がKeep_Aliveへ応答を受信しない場合には再接続処理(ステップS8070)を行ない、ステップS806に戻る。Keep_Aliveへ応答を受信した場合にはステップS808に進む。
ここで、ステップS806を実行する時間間隔、すなわちサーバ10へのKeep_Alive送信の時間間隔は50ms(ミリ秒)以上200ms以下であることが望ましく、100msであることがより望ましい。通常Keep_Aliveは数分から数十分に1回程度の割合にて送信される。本実施形態においては、クライアントにおいてオブジェクトを要求するプログラムが動いており、このプログラムにサーバ10から受信したオブジェクトをできるだけ早く返す必要があるため、時間間隔を短くする必要があるが、短くしすぎるとサーバ10に負荷がかかるため上記の時間間隔が望ましい。
ステップS808において、送受信制御部21はサーバ10にサーバIORとリクエストを送信する。ステップS809において、送受信制御部21はサーバ10にKeep_Aliveを送信する。このKeep_Aliveの送信はサーバIORとリクエストを送信した直後においても接続が確立されていることを確認することにより、サーバIORとリクエストがサーバ10に到達していることを推定するために行われる。
ステップS810において、送受信制御部21はサーバ10からKeep_Aliveへ応答を受信したか判定する。所定時間内に送受信制御部21がKeep_Aliveへ応答を受信しない場合にはステップS806に戻る。Keep_Aliveへ応答を受信した場合にはステップS811に進む。ステップS811において、送受信制御部21は代理IORとリクエストをリクエストテーブル29から削除する。
以上のように、本実施形態の高信頼化装置11は、サーバ10からのリクエストへの応答が高信頼化装置11を経由せずサーバ10から直接クライアント12に送信される。このため、クライアント12はより迅速にリクエストへの応答を受信することができる。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
高信頼化装置の接続関係を示した図である。 高信頼化装置の構成を表した概要図である。 IOR設定処理のシーケンスチャートである。 第1の実施形態におけるIORテーブルの内容を示した図である。 リクエストテーブルの内容を示した図である。 第1の実施形態のクエスト送受信処理のフローチャートである。 第2の実施形態におけるIORテーブルの内容を示した図である。 第2の実施形態のリクエスト送受信処理のフローチャートである。
符号の説明
10:サーバ、
11:高信頼化装置、
12:クライアント、
13:通信回線、
21:送受信制御部、
22:CPU、
23:メモリ、
24:通信手段、
25:ソフトウエア、
26:OS、
27:ゲートウエイアプリケーション、
28:IORテーブル、
29:リクエストテーブル、
30:記憶装置。

Claims (12)

  1. 分散処理を行うオブジェクト・リクエスト・ブローカが実装されているサーバ及びクライアントとの間に接続され、前記サーバ及び前記クライアントとメッセージの送受信を行う高信頼化装置であって、
    前記サーバへのあて先情報を含むサーバIORと前記サーバへのあて先情報を前記高信頼化装置に変更したあて先情報を含む代理IORとを格納するIORテーブルと、
    前記メッセージの送受信を制御する送受信制御部と、
    を備え、
    前記送受信制御部が、前記クライアントから前記代理IORとオブジェクトを要求するリクエストを受信したとき、
    前記送受信制御部が前記代理IORを基に前記IORテーブルを検索して対応する前記サーバIORを読み込み、
    前記送受信制御部が前記サーバとの接続が確立されていることを、接続を確認する接続確認プログラムによって判定し、
    接続が確認されない場合には、接続が確認されるまで所定の時間間隔にて前記接続確認プログラムを実行して接続の確認を継続し、
    接続が確認された場合は、読み込んだ前記サーバIORと前記受信した前記リクエストを前記サーバに送信する、
    ことを特徴とする高信頼化装置。
  2. 前記送受信制御部が、前記サーバから前記リクエストへの応答を受信したとき、
    前記送受信制御部が前記リクエストを送信したクライアントに前記リクエストへの応答を送信することを特徴とする請求項1に記載の高信頼化装置。
  3. 前記クライアントから受信した前記代理IORと前記リクエストを格納するリクエストテーブルを更に備え、
    前記送受信制御部が前記クライアントから前記代理IORと前記リクエストを受信したとき、
    前記送受信制御部が受信した前記代理IORと前記リクエストを前記リクエストテーブルに格納し、
    前記送受信制御部が前記サーバに前記サーバIORと前記受信したリクエストを送信した後に、
    前記サーバとの接続を前記接続確認プログラムによって判定し、
    接続が確認された場合は、前記リクエストテーブルに格納された送信済みの前記代理IORと前記リクエストを削除する
    ことを特徴とする請求項1又は2に記載の高信頼化装置。
  4. 前記分散処理を行うオブジェクト・リクエスト・ブローカが共通オブジェクトリクエストブローカアーキテクチャ(CORBA)であることを特徴とする請求項1乃至3のいずれか1項に記載の高信頼化装置。
  5. 前記接続確認プログラムがTCP/IPのPing及びKeep_Aliveであることを特徴とする請求項1乃至4のいずれか1項に記載の高信頼化装置。
  6. 前記Ping及び前記Keep_Aliveを送信する時間間隔が50ms以上200ms以下であることを特徴とする請求項5に記載の高信頼化装置。
  7. 分散処理を行うオブジェクト・リクエスト・ブローカが実装されているサーバ及びクライアントとの間に接続され、前記サーバ及び前記クライアントとメッセージの送受信を行う高信頼化装置の高信頼化方法であって、
    前記高信頼化装置が、
    前記サーバへのあて先情報を含むサーバIORと前記サーバへのあて先情報を前記高信頼化装置に変更したあて先情報を含む代理IORとを格納するIORテーブルと、
    前記メッセージの送受信を制御する送受信制御部と、
    を備え、
    前記送受信制御部が、前記クライアントから前記代理IORとオブジェクトを要求するリクエストを受信したとき、
    前記送受信制御部が前記代理IORを基に前記IORテーブルを検索して対応する前記サーバIORを読み込むステップと、
    前記送受信制御部が前記サーバとの接続が確立されていることを、接続を確認する接続確認プログラムによって判定し、
    接続が確認されない場合には、接続が確認されるまで所定の時間間隔にて前記接続確認プログラムを実行して接続の確認を継続するステップと、
    接続が確認された場合は、読み込んだ前記サーバIORと前記受信した前記リクエストを前記サーバに送信するステップと、
    を有することを特徴とする高信頼化方法。
  8. 前記送受信制御部が、前記サーバから前記リクエストへの応答を受信したとき、
    前記送受信制御部が前記リクエストを送信したクライアントに前記リクエストへの応答を送信するステップを更に有することを特徴とする請求項7に記載の高信頼化方法。
  9. 前記クライアントから受信した前記代理IORと前記リクエストを格納するリクエストテーブルを更に備える前記高信頼化装置の高信頼化方法であって、
    前記送受信制御部が前記クライアントから前記代理IORと前記リクエストを受信したとき、
    前記送受信制御部が受信した前記代理IORと前記リクエストを前記リクエストテーブルに格納するステップと、
    前記送受信制御部が前記サーバに前記サーバIORと前記受信したリクエストを送信するステップの後に、
    前記サーバとの接続を前記接続確認プログラムによって判定し、
    接続が確認された場合は、前記リクエストテーブルに格納された送信済みの前記代理IORと前記リクエストを削除するステップを
    更に有することを特徴とする請求項7又は8に記載の高信頼化方法。
  10. 前記分散処理アーキテクチャに基づくオブジェクト・リクエスト・ブローカが共通オブジェクトリクエストブローカアーキテクチャ(CORBA)であることを特徴とする請求項7乃至9のいずれか1項に記載の高信頼化方法。
  11. 前記接続確認プログラムがTCP/IPのPing及びKeep_Aliveであることを特徴とする請求項7乃至10のいずれか1項に記載の高信頼化方法。
  12. 前記Ping及び前記Keep_Aliveを送信する時間間隔が50ms以上200ms以下であることを特徴とする請求項11に記載の高信頼化方法。
JP2007066786A 2007-03-15 2007-03-15 分散処理におけるメッセージングの高信頼化装置及び高信頼化方法 Pending JP2008226127A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007066786A JP2008226127A (ja) 2007-03-15 2007-03-15 分散処理におけるメッセージングの高信頼化装置及び高信頼化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007066786A JP2008226127A (ja) 2007-03-15 2007-03-15 分散処理におけるメッセージングの高信頼化装置及び高信頼化方法

Publications (1)

Publication Number Publication Date
JP2008226127A true JP2008226127A (ja) 2008-09-25

Family

ID=39844623

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007066786A Pending JP2008226127A (ja) 2007-03-15 2007-03-15 分散処理におけるメッセージングの高信頼化装置及び高信頼化方法

Country Status (1)

Country Link
JP (1) JP2008226127A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013128750A1 (ja) * 2012-03-01 2013-09-06 ソニー株式会社 通信装置、通信システム、および、これらの制御方法ならびに当該方法をコンピュータに実行させるためのプログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03292555A (ja) * 1990-04-11 1991-12-24 Hitachi Ltd ネットワークにおける資源の探索制御方法
JP2002073578A (ja) * 2000-09-05 2002-03-12 Hitachi Software Eng Co Ltd 分散オブジェクトシステム
JP2002529856A (ja) * 1998-11-10 2002-09-10 ネットスケイラー インコーポレイテッド インターネットクライアントサーバマルチプレクサ
JP2004030204A (ja) * 2002-06-25 2004-01-29 Jmnet Inc 負荷分散装置及びそれに接続するノードコンピュータ
JP2006050137A (ja) * 2004-08-03 2006-02-16 Kddi Corp ネットワーク接続の診断方法ならびにプログラムおよびその記憶媒体
JP2006277569A (ja) * 2005-03-30 2006-10-12 Toshiba Corp 負荷分散システム、負荷分散装置、実サーバ及び負荷分散方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03292555A (ja) * 1990-04-11 1991-12-24 Hitachi Ltd ネットワークにおける資源の探索制御方法
JP2002529856A (ja) * 1998-11-10 2002-09-10 ネットスケイラー インコーポレイテッド インターネットクライアントサーバマルチプレクサ
JP2002073578A (ja) * 2000-09-05 2002-03-12 Hitachi Software Eng Co Ltd 分散オブジェクトシステム
JP2004030204A (ja) * 2002-06-25 2004-01-29 Jmnet Inc 負荷分散装置及びそれに接続するノードコンピュータ
JP2006050137A (ja) * 2004-08-03 2006-02-16 Kddi Corp ネットワーク接続の診断方法ならびにプログラムおよびその記憶媒体
JP2006277569A (ja) * 2005-03-30 2006-10-12 Toshiba Corp 負荷分散システム、負荷分散装置、実サーバ及び負荷分散方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013128750A1 (ja) * 2012-03-01 2013-09-06 ソニー株式会社 通信装置、通信システム、および、これらの制御方法ならびに当該方法をコンピュータに実行させるためのプログラム
JP2013182380A (ja) * 2012-03-01 2013-09-12 Sony Corp 通信装置、通信システム、および、これらの制御方法ならびに当該方法をコンピュータに実行させるためのプログラム
EP2821921A4 (en) * 2012-03-01 2015-11-11 Sony Corp COMMUNICATION DEVICE, COMMUNICATION SYSTEM, CONTROL METHOD FOR SAID DEVICE AND SYSTEM, AND PROGRAM FOR COMPUTER EXECUTION OF SAID METHOD
US10834204B2 (en) 2012-03-01 2020-11-10 Sony Corporation Transmitting display information based on communication protocols

Similar Documents

Publication Publication Date Title
US5926636A (en) Remote procedural call component management method for a heterogeneous computer network
JP6408545B2 (ja) ロケーションニュートラルソフトウェアの需要増大に伴う展開に対するシステム及び方法
KR100357850B1 (ko) 코버플락시모듈을 이용한 다양한 프로토콜 공통 서비스를위한 분산객체 지향 통신시스템 및 그 방법
JP4681968B2 (ja) サービス要求装置、サービス要求方法、サービス要求プログラム、及び記録媒体
JP3777302B2 (ja) 通信振り分け制御装置、および通信振り分けプログラムを記憶した記憶媒体
EP1695518B1 (en) Method of redirecting client requests to web services
US20100057865A1 (en) Transferable Debug Session in a Team Environment
US7363355B2 (en) Transparent disconnected services discovery and use
TW200843431A (en) System, computer program product and method of communicating with session initiation protocol (SIP) application sessions using a message-oriented middleware
US7266822B1 (en) System and method for controlling and managing computer farms
US20070288915A1 (en) Side by side for web services
JP2007334890A (ja) 自動プリンタ登録
JP2005346573A (ja) Webサービス提供方法、Webサービスシステムにおけるサーバ装置およびクライアント端末、Webサービスシステム、ならびに、Webサービスプログラムおよび記録媒体
JPH07117929B2 (ja) 無接続セッション指向プロトコルの第1メッセージの生成システム及び方法
US8156174B2 (en) Method and system for information exchange utilizing an asynchronous persistent store protocol
US7779086B1 (en) Methods and apparatus for performing a remote procedure call
JP2008226127A (ja) 分散処理におけるメッセージングの高信頼化装置及び高信頼化方法
JPH08212180A (ja) プロセス間通信処理装置
JP2008052358A (ja) 非同期リクエスト伝達システム
US7953107B2 (en) Method and system for using services within a communication network
JPH08249249A (ja) メッセージ中継装置及びメッセージ中継方法
JP3088683B2 (ja) データ通信システム
JP4536292B2 (ja) ネットワークシステム、サーバ、クライアント、オブジェクト間通信方法、プロファイルオブジェクト登録方法、プログラム、および記憶媒体
US8112763B2 (en) Computer-implemented method, apparatus, and computer program product for transmitting information between CORBA applications and servers utilizing HTTP
JPH11110365A (ja) ネットワーク計算機システム、該システムで用いる計算機、および該システムに係る方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Effective date: 20090203

Free format text: JAPANESE INTERMEDIATE CODE: A621

A977 Report on retrieval

Effective date: 20100723

Free format text: JAPANESE INTERMEDIATE CODE: A971007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100803

A521 Written amendment

Effective date: 20101001

Free format text: JAPANESE INTERMEDIATE CODE: A523

A02 Decision of refusal

Effective date: 20110222

Free format text: JAPANESE INTERMEDIATE CODE: A02