JP4262121B2 - Object management method, system, and program - Google Patents
Object management method, system, and program Download PDFInfo
- Publication number
- JP4262121B2 JP4262121B2 JP2004061118A JP2004061118A JP4262121B2 JP 4262121 B2 JP4262121 B2 JP 4262121B2 JP 2004061118 A JP2004061118 A JP 2004061118A JP 2004061118 A JP2004061118 A JP 2004061118A JP 4262121 B2 JP4262121 B2 JP 4262121B2
- Authority
- JP
- Japan
- Prior art keywords
- reference information
- cluster
- objects
- platform
- software bus
- 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.)
- Expired - Fee Related
Links
Images
Description
本発明は通信システムに好適であり、OpenAPIを搭載するプラットフォームと、OpenAPIを利用するサービスアプリケーションとの間がソフトウェアバスにより結合されたコンピュータシステムにおいて、プロセスの消滅および再起動またはクラスタ切替に応じてオブジェクトを復旧し、オブジェクト間通信を再開するためのオブジェクト管理方法、システム、およびプログラムに関する。 The present invention is suitable for a communication system, and in a computer system in which a platform equipped with OpenAPI and a service application using OpenAPI are connected by a software bus, an object is generated in accordance with process extinction and restart or cluster switching. The present invention relates to an object management method, system, and program for recovering data and resuming communication between objects.
OpenAPIのようなアプリケーションプログラムインタフェース(API)を有するプラットフォームと、このAPIを使用するサービスアプリケーションとがソフトウェアバスを介して結合され、分散システム環境におけるオブジェクト間のメッセージ交換技術を利用し、プラットフォームのAPIにおいて生成されたオブジェクトとサービスアプリケーションのオブジェクトとがソフトウェアバスを介してオブジェクト間通信を行えるように構成されたシステムが知られている。このようなシステム構成はIPネットワークをベースとした種々の電話サービスにも応用されるようになり、いわゆるVoIP(Voice Over IP)やIPセントレックス(Centrex)として知られる。ユーザに提供する新たなサービスを構築するにあたり、呼処理のような基本的な制御がOpenAPIを通じて統一化されることは、開発コスト等を含む多大なメリットがある。 A platform having an application program interface (API) such as OpenAPI and a service application using the API are coupled via a software bus, and a message exchange technique between objects in a distributed system environment is used. There is known a system configured such that a generated object and an object of a service application can perform inter-object communication via a software bus. Such a system configuration is applied to various telephone services based on an IP network, and is known as a so-called VoIP (Voice Over IP) or IP Centrex. In constructing a new service to be provided to the user, the basic control such as call processing is unified through the Open API, which has a great merit including development costs.
このようなシステムにおいて、種々の障害への耐性を高め、堅牢にサービスを提供し続けることができるような仕組みを備えることが必要とされるが、従来では次のような問題がある。例えば、プラットフォーム側のプロセスが単独で再起動した場合、プロセス起動や呼生起により生成されたプラットフォーム側のオブジェクトが消滅するが、該オブジェクトを再生する情報を保持していないために、再起動後にサービスアプリケーション側で管理しているオブジェクトとの差分が発生し、サービスの続行ができなくなる。サービスアプリケーション側でプロセスが再起動した場合も同様であり、消滅したオブジェクトに関して差分が生じてしまう。一方、呼を処理する現用系と予備系から構成された制御装置間のクラスタ切替においても、現用系のプラットフォームおよびサービスアプリケーションで管理しているオブジェクトに対応するものが予備系のプラットフォームおよびサービスアプリケーションに不存在となり、サービスを続行できなくなる。これらのケースにおけるオブジェクトの扱いに関してOpenAPIではなんら言及されていない(例えば非特許文献1を参照)。
In such a system, it is necessary to provide a mechanism that can increase resistance to various faults and continue to provide a robust service. However, conventionally, there are the following problems. For example, when a platform-side process is restarted independently, the platform-side object generated by process activation or call generation disappears, but since the information for reproducing the object is not retained, the service after restarting A difference with the object managed on the application side occurs, and the service cannot be continued. The same is true when the process is restarted on the service application side, and a difference occurs with respect to the disappeared object. On the other hand, in the cluster switching between the control system composed of the active system and the standby system for processing calls, the object corresponding to the object managed by the active platform and service application is the standby platform and service application. It becomes nonexistent and the service cannot continue. There is no mention in OpenAPI regarding the handling of objects in these cases (see Non-Patent
したがって、上記のような問題があることから、従来、プロセス再起動等によるオブジェクトの初期設定においてはサービスを非救済とする他なかった。なお、オブジェクトの集合によりアプリケーションが構成され、これら一連のオブジェクトにより呼接続が実現される電子交換機が例えば下記特許文献1に記載されている。同特許文献1においては呼処理の初期設定についても記載されているが、上記問題の解決策とはならない。
Therefore, due to the above-described problems, conventionally, there is no other way than to make the service non-rescue in the initial setting of an object by process restart or the like. An electronic exchange in which an application is configured by a set of objects and call connection is realized by a series of these objects is described in
上記のようにOpenAPIを搭載するプラットフォームと、OpenAPIを使用するサービスアプリケーションソフトウェアとの間がソフトウェアバスで結合されたシステムにおいて、これらプラットフォームまたはサービスアプリケーションのプロセスが消滅し、再起動した際に、それぞれのプロセスで管理している呼情報を有するオブジェクトが消滅すると、通話中呼に関する呼の制御を行えないという問題がある。いわゆるVoIP(Voice Over IP)やIPセントレックス(Centrex)の様なサービスでは、サービスの継続が必要であり、そのためにはオブジェクトの再生ならびにオブジェクト間API通信の復旧が必須である。 As described above, in a system in which the platform equipped with OpenAPI and the service application software that uses OpenAPI are connected by a software bus, the process of these platforms or service applications disappears and restarts. When an object having call information managed by a process disappears, there is a problem that it is impossible to control a call related to a call in progress. In services such as so-called VoIP (Voice Over IP) and IP Centrex, it is necessary to continue the service. For this purpose, it is essential to reproduce objects and restore API communication between objects.
本発明はかかる事情を考慮してなされたものであり、オブジェクトとAPI通信の復旧をプラットフォームとサービスアプリケーションで連携して実施することにより、サービス処理を救済することができるオブジェクト間通信におけるオブジェクトの管理方法、システム、およびプログラムを提供することを目的とする。 The present invention has been made in consideration of such circumstances, and management of objects in inter-object communication that can relieve service processing by executing recovery of an object and API communication in cooperation with a platform and a service application. It is an object to provide a method, a system, and a program.
本発明の一観点に係るオブジェクトの管理方法は、アプリケーションプログラムインタフェースを有するプラットフォームがイベント毎に生成した第1のオブジェクトと、前記イベント毎にアプリケーションが生成した第2のオブジェクトとがソフトウェアバスを介して通信することにより前記イベントを処理するシステムにおけるオブジェクトの管理方法において、前記ソフトウェアバスを介して前記第1、第2のオブジェクトが互いを参照するために必要な第1、第2のオブジェクト参照情報を含む保存情報を記憶手段に記憶する記憶ステップと、前記第1、第2のオブジェクトの少なくともいずれかの消滅に応じ、前記イベントの処理を継続するために必要なオブジェクトを再生する再生ステップと、前記第1のオブジェクトを参照するための前記第1のオブジェクト参照情報を前記アプリケーションに送り、前記第2のオブジェクトを参照するための前記第2のオブジェクト参照情報を前記プラットフォームに送ることにより前記第1、第2のオブジェクト参照情報を前記プラットフォームと前記アプリケーションとの間で交換したのち、前記ソフトウェアバスを介した通信を前記記憶手段の保存情報を用いて復旧する復旧ステップとを具備するオブジェクトの管理方法である。 An object management method according to an aspect of the present invention includes a first object generated for each event by a platform having an application program interface and a second object generated by an application for each event via a software bus. In the object management method in the system for processing the event by communicating, the first and second object reference information necessary for the first and second objects to refer to each other via the software bus a storage step of storing the storage information which includes the storage means, and reproducing step of said first, according to at least one of disappearance of the second object, reproduces the objects needed to continue processing of the event, the Refers to the first object Sending the first object reference information for the application to the application and sending the second object reference information for referring to the second object to the platform. An object management method comprising: a recovery step of recovering communication via the software bus using information stored in the storage unit after exchanging between the platform and the application .
本発明によれば、OpenAPIを搭載し、OpenAPIを使用するソフトウェア間をソフトウェアバスで結合しているシステムにてプロセス再起動の際のサービス継続に必要な情報とそれを保持するオブジェクトに関するオブジェクトとAPI通信の復旧をプラットフォームとサービスアプリケーションで連携して実施することにより、サービス処理を救済することができる。 According to the present invention, an object and an API related to information that is necessary for continuation of a service when a process is restarted in a system in which OpenAPI is installed and software that uses OpenAPI is connected by a software bus, and an object that holds the information. By performing communication recovery in cooperation with the platform and the service application, service processing can be relieved.
以下、図面を参照しながら本発明の実施の形態を説明する。図1は本発明が適用された一実施形態に係るシステムを示すブロック図である。このシステムは、現用系の制御装置10と予備系の制御装置20とを同図のようにクラスタ切り替え部50を介して切り替えて運用可能な通信システムであって、ネットワーク40に接続されている。ネットワーク40は例えばIPネットワークをベースにした電話ネットワークであり、例えばIP電話機1,2…nが接続される。制御装置10,20は例えばキャリヤまたはサービスプロバイダ等に設置され、IP電話サービス、IPセントレックスサービスおよびその他種々のサービスを提供する。あるいは制御装置10,20は例えば企業や自治体等の構内に設置され、PBX(Private Branch Exchange)を提供する。なお、これら実施形態はあくまで一例であって他の通信システムに本発明を適用することができる。また、図1に示す本実施形態の構成についても当業者に自明な範囲で種々変形することができる。例えば、図1のような現用系と予備系を有するクラスタ構成を採らない制御装置に本発明を適用することもできる。
Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing a system according to an embodiment to which the present invention is applied. This system is a communication system that can be operated by switching the
現用系の制御装置10は、本実施形態ではIP電話サービスに係る呼処理を担う装置であって、プラットフォーム呼処理機能部100と、サービスアプリケーション呼処理機能部110とを有する。図1には示さないが、プラットフォーム呼処理機能部100はオペレーティングシステム(OS)をベースにして実現される。このようなプラットフォーム呼処理機能部100ならびにサービスアプリケーション呼処理機能部110はいずれもコンピュータプログラムの形態とすることができ、本発明についてもコンピュータプログラムとして実施することができる。
In the present embodiment, the
プラットフォーム呼処理機能部100と、サービスアプリケーション呼処理機能部110とは、ソフトウェアバス120を介して通信可能に構成される。ここで、ソフトウェアバス120を介した通信とは、アプリケーションプロセスとプラットフォーム側プロセスとの間のオブジェクト間通信(あるいはAPI通信)のことである。プラットフォーム呼処理機能部100は、図1に示すように呼制御/プロトコル部101と、OpenAPI102とを有する。本明細書に記載の「OpenAPI」とは「Open Application Program Interface」の略称であり、ソフトウェアバスを介して実現されるオブジェクト間通信の方式に沿うように規定される。ソフトウェアバスとしては、例えばCORBA(Common Object Request Broker Architecture)等の分散技術に基づくものが想定される。OpenAPI102では、このようなソフトウェアバス120を介してサービスアプリケーション呼処理機能部110とのオブジェクト間通信を行えるよう、該サービスアプリケーション呼処理機能部110に対するインタフェースを提供する。
The platform call
図2はオブジェクトデータの一例を示す図である。プラットフォーム呼処理機能部100では、呼の生起毎に生成されるオブジェクトと、呼毎に生成されたオブジェクトを管理するための少なくとも一つのオブジェクトとが存在する。本明細書では前者のオブジェクトをCallオブジェクトと称し、後者のオブジェクトをCallCntMngと称する。図2(a)はCallオブジェクトとCallCntMngオブジェクトとの間の関係を示している。すなわち図2(a)に示すように、生成された一つの呼に対応する一つのCallオブジェクトのデータ(1022オブジェクトデータ)は、呼識別子、呼情報、このCallオブジェクトにリモートからもアクセス可能とさせるCallオブジェクトの参照情報(1022オブジェクト参照情報)、およびサービスアプリケーション呼処理機能部110においてこのCallオブジェクトに対応するAppCallオブジェクトにアクセス可能とさせるためのAppCallオブジェクト参照情報(1102オブジェクト参照情報)を有する。一方、CallCntMngオブジェクトのデータ(1021)は、このCallCntMngオブジェクトの参照情報(1021オブジェクト参照情報)と、サービスアプリケーション呼処理機能部110においてこのCallCntMngオブジェクトに対応するAppCallCntMngオブジェクトの参照情報(1101オブジェクト参照情報)とを有する。また、全ての呼について、呼識別子、呼情報、およびCallオブジェクトを示すポインタ(1022オブジェクトのポインタ)を有する。
FIG. 2 is a diagram illustrating an example of object data. In the platform call
サービスアプリケーション呼処理機能部110においても同様に、呼毎に生成されるオブジェクトと、該オブジェクトを管理するためのオブジェクトとが存在する。本明細書では前者のオブジェクトをAppCallオブジェクトと称し、後者のオブジェクトをAppCallCntMngオブジェクトと称する。図2(b)はAppCallオブジェクトとAppCallCntMngオブジェクトとの間の関係を示している。データ構造の詳細については、同図から分かるように、プラットフォーム呼処理機能部100のものと対応している。
Similarly, in the service application call
プラットフォーム呼処理機能部100のオブジェクトとサービスアプリケーション呼処理機能部110のオブジェクトとが通信を行えるためには、これらのオブジェクトについての参照情報がソフトウェアバス120に登録されている必要がある。該ソフトウェアバス120に登録された各々のオブジェクトの参照情報は、ソフトウェアバス120を通じて取得することができ、サービスアプリケーション呼処理機能部110およびプラットフォーム呼処理機能部100のOpenAPI102のそれぞれの内部で管理される。
In order for the objects of the platform call
図3はソフトウェアバスにおけるオブジェクト参照情報の管理テーブルの構成例を示す図である。ソフトウェアバス120は、該ソフトウェアバス120に登録されたオブジェクトとオブジェクトの参照情報とを図3に示すような管理テーブル1201で管理する。サービスアプリケーションのオブジェクト(例えばオブジェクト1102)がプラットフォームのオブジェクト(例えばオブジェクト1022)と通信する場合、ソフトウェアバス120において、図3の管理テーブル1201をオブジェクト参照情報(例えばオブジェクト参照情報2)で検査(ルックアップ)すると、プラットフォームで生成された複数のオブジェクトのうち該当するもの(この例ではオブジェクト2)が特定される。
FIG. 3 is a diagram illustrating a configuration example of a management table of object reference information in the software bus. The
逆に、プラットフォームからサービスアプリケーションに対して通信を開始する場合においても、同様にサービスアプリケーションで生成されたオブジェクトのオブジェクト参照情報から該当オブジェクトを特定し、そのオブジェクトにイベントを通知することができる。 Conversely, when communication is started from the platform to the service application, the corresponding object can be specified from the object reference information of the object generated by the service application, and an event can be notified to the object.
現用系の制御装置10は以上のように構成される。一方、予備系の制御装置20は現用系の制御装置10と対で設けられるのであり、図1からも分かるように現用系の制御装置10と実質的に等価な構成を有する。このような予備系の制御装置20は、現用系の制御装置10に障害等が発生した際に、クラスタ切替の働きによって駆動され、代替で運用される。予備系の制御装置20へのクラスタ切替が発生した場合、使用されるソフトウェアバスはソフトウェアバス220になるが、該ソフトウェアバス220が提供する機能は上記ソフトウェアバス120と同じである。なお、ネットワーク40を介して接続されたソフトウェアバス120とソフトウェアバス220とでそれぞれ管理されるオブジェクト参照情報は、これらの間においてもオブジェクトを一意に特定できるようにユニークでなければならない。
The
図4は、本実施形態のシステムにおける基本動作手順の一例としてのコールバックの処理手順を示すシーケンス図である。コールバックの呼処理自体については公知であり、本発明が主眼とするものではないから概略的に説明する。この処理手順は、外部からの呼設定要求(イベント)に応じてコールバックを登録するステップS1と、コールバックのために本実施形態のシステムから外部に対して呼設定を要求するステップS2とを有する。これらステップS1、S2の後に実際の通信が開始される。この通信中に、本発明に係る情報保存処理ステップS3、S4および情報削除処理ステップS6、7が実行される。 FIG. 4 is a sequence diagram showing a callback processing procedure as an example of a basic operation procedure in the system of the present embodiment. The call processing itself of the callback is publicly known, and will not be described as a main feature of the present invention. This processing procedure includes step S1 for registering a callback in response to an external call setting request (event), and step S2 for requesting call setting from the system of the present embodiment to the outside for the callback. Have. After these steps S1 and S2, actual communication is started. During this communication, information storage processing steps S3 and S4 and information deletion processing steps S6 and 7 according to the present invention are executed.
まず上記ステップS1について説明する。外部において呼が発生すると、呼制御/プロトコル部101側に呼設定イベントが発生し、CallCntMngオブジェクトに該イベントが通知される。この呼設定イベント通知に応じてCallCntMngオブジェクトはCallオブジェクトを生成する。Callオブジェクトをソフトウェアバス120に登録することで、CallCntMngオブジェクトはCallオブジェクトのオブジェクト参照情報を取得する。次に、生成されたCallオブジェクトに対する呼識別子をCallCntMngオブジェクトの処理の中で払い出し、図2に示したようにCallオブジェクトと呼識別子とを関連付けることで呼毎にオブジェクトを管理する。ここで、「呼識別子を払い出す」とは、既に払い出された他の識別子と重複しない識別子を新規に生成し又は所定の選択候補のなかから選択することである。次にCallCntMngオブジェクトは、呼制御の対象であるCallオブジェクトのオブジェクト参照情報、呼識別子等のパラメータ設定した呼処理イベントをAppCallCntMngオブジェクトに通知する。AppCallCntMngオブジェクトはAppCallオブジェクトを生成し、Callと同様に該オブジェクトをソフトウェアバス120に登録し、必要なオブジェクト参照情報を取得する。また、コールバック登録により、Callオブジェクトは対応するAppCallオブジェクトの参照情報を取得して保持する。
First, step S1 will be described. When a call is generated externally, a call setting event is generated on the call control /
呼に対応するオブジェクトが登録され、オブジェクト参照情報が適切に取得保持された後は、通信相手先のオブジェクトの参照情報をソフトウェアバス120に渡すことにより、該当するオブジェクトが特定され、すなわちCall,CallCntMng,AppCall,AppCallCntMng間でオブジェクト間通信が行われる。
After the object corresponding to the call is registered and the object reference information is appropriately acquired and held, the corresponding object is specified by passing the reference information of the communication partner object to the
本実施形態では、現用系プロセス復旧ならびにクラスタ切替に伴うプロセスの再起動が発生した場合であっても、サービスを中断することなく継続できるように、現用系の制御装置10のプラットフォーム呼処理機能部100およびサービスアプリケーション呼処理機能部110では、通信中の呼に関してステップS3およびステップS4を実行する。ステップS3では、サービスアプリケーション側のオブジェクトについて、復旧に必要な情報を記憶装置30に保存する。ステップS4では、プラットフォーム側のオブジェクトについて、復旧に必要な情報を記憶装置30に保存する。なお、呼が切断された場合(例えばステップS5の呼解放通知)は、ステップS6,S7において保存データを記憶装置30から削除する。
In the present embodiment, the platform call processing function unit of the
図5は記憶装置30に保存するデータの構造を示す図である。図5に示すように、保存データは、そのオブジェクトで管理する呼情報やソフトウェアバス120を介してAPI通信を行うためのオブジェクトと対応づけられる1021,1101オブジェクトのオブジェクト参照情報、1021、1101オブジェクトがそれぞれ保持している呼識別子をキーとしたオブジェクト間の連携情報、ならびに、1022,1102オブジェクトに保持している呼識別子、呼情報、1022,1102オブジェクトのオブジェクト参照情報である。
FIG. 5 is a diagram showing the structure of data stored in the
上述したように、ソフトウェアバス120は、呼処理イベント通知したオブジェクトと該オブジェクトの参照情報との関係を図3に示すようなテーブルで管理している。サービスアプリケーション呼処理機能部110がプラットフォーム呼処理機能部100のOpenAPI102のオブジェクトと通信する場合、ソフトウェアバス120は、プラットフォーム呼処理機能部100で生成されたオブジェクトのオブジェクト参照情報から図3の管理テーブル1201からオブジェクトを特定する。また、プラットフォーム呼処理機能部100のOpenAPI102側からサービスアプリケーション呼処理機能部110との通信が開始される場合においても、アプリケーションと同様にサービスアプリケーション呼処理機能部110で生成されたオブジェクトのオブジェクト参照情報から該当オブジェクトを特定し、そのオブジェクトにイベントを通知する。
As described above, the
以下、図6〜図8を参照し、プラットフォーム呼処理機能部がプロセス再起動する場合、サービスアプリケーション呼処理機能部がプロセス再起動する場合、および現用系と予備系との間でクラスタ切替する場合のそれぞれについて、本実施形態の処理手順を説明する。 Hereinafter, referring to FIGS. 6 to 8, when the platform call processing function unit restarts the process, when the service application call processing function unit restarts the process, and when switching the cluster between the active system and the standby system The processing procedure of this embodiment is demonstrated about each of these.
図6は、現用系の制御装置10においてプラットフォーム呼処理機能部100のプロセスが再起動した際の処理手順を示す図である。図4の呼処理シーケンス例で説明したように、通信中に遷移した呼に関する1021,1022オブジェクトが図5に示したデータ構造に従って記憶装置30に保存される(ステップS101;プラットフォーム管理対象呼情報・オブジェクト情報保存)。1101,1102オブジェクトについても同様に保存される(ステップS102;サービスアプリケーション管理対象呼情報・オブジェクト情報保存)。
FIG. 6 is a diagram illustrating a processing procedure when the process of the platform call
ここで、プラットフォーム呼処理機能部100がプロセスを再起動する場合(ステップS103)、通信中に遷移した呼に関連する1021,1022オブジェクトの保存データを記憶装置30から読み出す(ステップS104;プラットフォーム管理対象呼情報・オブジェクト情報取得)。これにより得られた情報を元に、プラットフォーム呼処理機能部100のOpenAPI102で管理する1021,1022オブジェクトを再生成し復旧する(ステップS105)。その後、復旧したオブジェクトを図3に示したソフトウェアバス120の管理テーブル1201に再登録し(ステップS106;プラットフォーム管理対象オブジェクト登録)、サービスアプリケーション呼処理機能部110とのAPI通信を復旧する(ステップS107)。
Here, when the platform call
以上の処理手順によれば、プラットフォーム呼処理機能部100がプロセスを再起動する場合であっても、プラットフォーム呼処理機能部100内のオブジェクトが記憶装置30の保存データに基づいて再生され、ソフトウェアバス120に再登録されることから、ソフトウェアバス120を介したオブジェクト間通信(API通信)を復旧でき、サービスが中断されることがない。したがって、システムの堅牢性、可用性を向上できる。
According to the above processing procedure, even if the platform call
図7は、現用系の制御装置10においてサービスアプリケーション呼処理機能部110のプロセスが再起動した際の処理手順を示す図である。図4の呼処理シーケンス例で説明したように、通信中に遷移した呼に関する1021,1022オブジェクトが図5に示したデータ構造に従って記憶装置30に保存される(ステップS201;プラットフォーム管理対象呼情報・オブジェクト情報保存)。1101,1102オブジェクトについても同様に保存される(ステップS202;サービスアプリケーション管理対象呼情報・オブジェクト情報保存)。
FIG. 7 is a diagram showing a processing procedure when the process of the service application call
ここで、サービスアプリケーション呼処理機能部110がプロセスを再起動する場合(ステップS203)、1101,1102オブジェクトの保存データを記憶装置30から読み出す(ステップS204;サービスアプリケーション管理対象呼情報・オブジェクト情報取得)。これにより得られた情報を元に、サービスアプリケーション呼処理機能部110で管理する1101,1022オブジェクトを再生成し復旧する(ステップS205)。その後、復旧したオブジェクトを図3に示したソフトウェアバス120の管理テーブル1201に再登録し(ステップS206;サービスアプリケーション管理対象オブジェクト登録)、プラットフォーム呼処理機能部100とのAPI通信を復旧する(ステップS207)。
Here, when the service application call
以上の処理手順によれば、サービスアプリケーション呼処理機能部110がプロセスを再起動する場合であっても、サービスアプリケーション呼処理機能部110内のオブジェクトが記憶装置30の保存データに基づいて再生され、ソフトウェアバス120に再登録されることから、ソフトウェアバス120を介したオブジェクト間通信(API通信)を復旧でき、サービスが中断されることがない。したがって、システムの堅牢性、可用性を向上できる。
According to the above processing procedure, even if the service application call
図8は、現用系の制御装置10から予備系の制御装置20へクラスタ切替が発生した際の処理手順を示す図である。現用系の制御装置10において、図2の呼処理シーケンス例のように通信中に遷移した呼に関する1021,1022オブジェクトが図5に示したデータ構造に従って記憶装置30に保存される(ステップS301;プラットフォーム管理対象呼情報・オブジェクト情報保存)。1101,1102オブジェクトについても同様に保存される(ステップS302;サービスアプリケーション管理対象呼情報・オブジェクト情報保存)。
FIG. 8 is a diagram illustrating a processing procedure when cluster switching occurs from the
ここで、現用系の制御装置10から予備系の制御装置20へクラスタ切替が発生した場合(ステップS303)、予備系の制御装置20のプラットフォーム呼処理機能部200とサービスアプリケーション呼処理機能部210では、まず1021,1022オブジェクトの保存データを記憶装置30から読み出す(ステップS304;プラットフォーム管理対象呼情報・オブジェクト情報取得)。次に、1101,1102オブジェクトの保存データを取得し、記憶装置30から読み出す(ステップS305;サービスアプリケーション管理対象呼情報・オブジェクト情報取得)。
Here, when cluster switching occurs from the
これにより得られた情報を元に、予備系制御装置20のプラットフォーム呼処理機能部200のOpenAPI202とサービスアプリケーション呼処理機能部210が管理する1021,1022,1101,1102オブジェクトをそれぞれ再生成する(ステップS306)。その後、復旧した1021,1022,1101,1102オブジェクトに対応するオブジェクト参照情報を新規にソフトウェアバス220から取得するため、これらオブジェクトを図3に示したものと同様のソフトウェアバス220のオブジェクトとオブジェクト参照情報との対応テーブルに再登録する(ステップS307;プラットフォーム管理対象オブジェクト登録およびオブジェクト参照情報取得,ステップS308;サービスアプリケーション管理対象オブジェクト登録およびオブジェクト参照情報取得)。
Based on the obtained information, the
次に、ステップS309において、プラットフォーム呼処理機能部200のOpenAPI202で管理している1021,1022オブジェクトの参照情報とサービスアプリケーション呼処理機能部210で管理している1101,1102オブジェクトの参照情報とを互いに交換したのち、ステップS310においてAPI通信を復旧する。
Next, in step S309, the reference information of the 1021 and 1022 objects managed by the
以上の処理手順によれば、現用系の制御装置10と予備系の制御装置20との間でクラスタ切替が発生した場合であっても、これら現用系の制御装置10と予備系の制御装置20との間で必要なオブジェクトが記憶装置30の保存データに基づいて再生され、該当するソフトウェアバス120(あるいは220)に再登録されることから、ソフトウェアバス120(あるいは220)を介したオブジェクト間通信(API通信)を復旧でき、サービスが中断されることがない。したがって、システムの堅牢性、可用性を向上できる。
According to the above processing procedure, even when a cluster switch occurs between the
なお、以上の実施形態は、サービスアプリケーションとプラットフォームとが同一制御装置上で動作するクラスタ構成をとる形態として説明したが、シングル構成の形態や、サービスアプリケーションとプラットフォームとが制御装置として分離する形態においても、自明な変形を行って本発明を適用可能であることは言うまでもない。また、通信中の呼を処理する場合について説明したが、他の状態の呼処理や、呼処理以外の処理を有するオブジェクトに対しても同様に本発明に従って処理できることは勿論である。 In the above embodiment, the service application and the platform have been described as a cluster configuration in which the platform operates on the same control device. However, in the single configuration mode or the service application and the platform are separated as the control device. However, it goes without saying that the present invention can be applied with obvious modifications. Further, the case of processing a call during communication has been described, but it goes without saying that an object having a call process in another state or a process other than the call process can be similarly processed according to the present invention.
また、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。 Further, the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. In addition, various inventions can be formed by appropriately combining a plurality of components disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, constituent elements over different embodiments may be appropriately combined.
1〜n…IP電話機、10…現用系の制御装置、20…予備系の制御装置、30…記憶装置、40…IPネットワーク、50…クラスタ切替部 1 to n: IP telephone, 10: active control device, 20: standby control device, 30: storage device, 40: IP network, 50: cluster switching unit
Claims (9)
前記ソフトウェアバスを介して前記第1、第2のオブジェクトが互いを参照するために必要な第1、第2のオブジェクト参照情報を含む保存情報を記憶手段に記憶する記憶ステップと、
前記第1、第2のオブジェクトの少なくともいずれかの消滅に応じ、前記イベントの処理を継続するために必要なオブジェクトを再生する再生ステップと、
前記第1のオブジェクトを参照するための前記第1のオブジェクト参照情報を前記アプリケーションに送り、前記第2のオブジェクトを参照するための前記第2のオブジェクト参照情報を前記プラットフォームに送ることにより前記第1、第2のオブジェクト参照情報を前記プラットフォームと前記アプリケーションとの間で交換したのち、前記ソフトウェアバスを介した通信を前記記憶手段の保存情報を用いて復旧する復旧ステップとを具備するオブジェクトの管理方法。 The first object generated for each event by the platform having the application program interface and the second object generated by the application for each event communicate with each other via a software bus. In the management method,
A storage step of storing storage information including first and second object reference information necessary for the first and second objects to refer to each other via the software bus;
A playback step of playing back an object required to continue processing the event in response to the disappearance of at least one of the first and second objects;
The first object reference information for referring to the first object is sent to the application, and the second object reference information for referring to the second object is sent to the platform. And a recovery step of recovering communication via the software bus using information stored in the storage means after exchanging second object reference information between the platform and the application. .
前記復旧ステップは、前記再生したオブジェクトのオブジェクト参照情報を前記テーブルに再登録するステップを具備する請求項1に記載のオブジェクトの管理方法。 The software bus has a table for storing the first and second objects and the first and second object reference information in association with each other.
The object management method according to claim 1, wherein the restoration step includes a step of re-registering object reference information of the reproduced object in the table.
前記第1のクラスタに存在する前記第1、第2のオブジェクトを前記第2のクラスタにおいて再生するステップと、
前記第1のクラスタにおけるソフトウェアバスを介した通信を、前記記憶手段の保存情報を用いて前記第2のクラスタにおいて復旧するステップとを具備する請求項1または2に記載のオブジェクトの管理方法。 A switching step of switching the first cluster to the second cluster;
Playing back the first and second objects present in the first cluster in the second cluster;
The object management method according to claim 1, further comprising a step of restoring communication in the first cluster via the software bus in the second cluster using information stored in the storage unit.
前記イベント毎に第2のオブジェクトを生成するアプリケーションと、
前記プラットフォームにおいて生成された第1のオブジェクトと前記アプリケーションにおいて生成された第2のオブジェクトとが通信するためのソフトウェアバスと、
前記ソフトウェアバスを介して前記第1、第2のオブジェクトが互いを参照するために必要な第1、第2のオブジェクト参照情報を含む保存情報を記憶する記憶手段と、
前記第1、第2のオブジェクトの少なくともいずれかの消滅に応じ、イベントの処理を継続するために必要なオブジェクトを再生する再生手段と、
前記第1のオブジェクトを参照するための前記第1のオブジェクト参照情報を前記アプリケーションに送り、前記第2のオブジェクトを参照するための前記第2のオブジェクト参照情報を前記プラットフォームに送ることにより前記第1、第2のオブジェクト参照情報を前記プラットフォームと前記アプリケーションとの間で交換したのち、前記ソフトウェアバスを介した通信を前記記憶手段の保存情報を用いて復旧する復旧手段とを具備するシステム。 A platform having an application program interface and generating a first object for each event;
An application that generates a second object for each event;
A software bus for communication between a first object generated in the platform and a second object generated in the application;
Storage means for storing storage information including first and second object reference information necessary for the first and second objects to refer to each other via the software bus;
Playback means for playing back an object necessary to continue processing an event in response to the disappearance of at least one of the first and second objects;
The first object reference information for referring to the first object is sent to the application, and the second object reference information for referring to the second object is sent to the platform. And a recovery means for exchanging the second object reference information between the platform and the application and then recovering the communication via the software bus using the saved information of the storage means.
前記復旧手段は、前記再生したオブジェクトのオブジェクト参照情報を前記テーブルに再登録する手段を具備する請求項4に記載のシステム。 The software bus has a table for storing the first and second objects and the first and second object reference information in association with each other.
The system according to claim 4, wherein the recovery means includes means for re-registering object reference information of the reproduced object in the table.
前記第1のクラスタに存在する前記第1、第2のオブジェクトを前記第2のクラスタにおいて再生する手段と、
前記第1のクラスタにおけるソフトウェアバスを介した通信を、前記記憶手段の保存情報を用いて前記第2のクラスタにおいて復旧する手段とを具備する請求項4または5に記載のシステム。 Switching means for switching the first cluster to the second cluster;
Means for reproducing the first and second objects existing in the first cluster in the second cluster;
The system of claim 4 or 5, and means for recovering the communication via the software bus in the first cluster, in the second cluster by using stored information of the storage means.
前記ソフトウェアバスを介して前記第1、第2のオブジェクトが互いを参照するために必要な第1、第2のオブジェクト参照情報を含む保存情報を記憶手段に記憶する記憶手順と、
前記第1、第2のオブジェクトの少なくともいずれかの消滅に応じ、前記イベントの処理を継続するために必要なオブジェクトを再生する再生ステップと、
前記第1のオブジェクトを参照するための前記第1のオブジェクト参照情報を前記アプリケーションに送り、前記第2のオブジェクトを参照するための前記第2のオブジェクト参照情報を前記プラットフォームに送ることにより前記第1、第2のオブジェクト参照情報を前記プラットフォームと前記アプリケーションとの間で交換したのち、前記ソフトウェアバスを介した通信を前記記憶手段の保存情報を用いて復旧する復旧手順とをコンピュータに実行させるためのプログラム。 A first object generated for each event by a platform having an application program interface and a second object generated by an application for each event communicate with each other via a software bus, and the object is processed in the system that processes the event. A program to manage,
A storage procedure for storing storage information including first and second object reference information necessary for the first and second objects to refer to each other via the software bus in a storage unit;
A playback step of playing back an object required to continue processing the event in response to the disappearance of at least one of the first and second objects;
The first object reference information for referring to the first object is sent to the application, and the second object reference information for referring to the second object is sent to the platform. For causing the computer to execute a restoration procedure for restoring the communication via the software bus using the saved information of the storage means after exchanging the second object reference information between the platform and the application. program.
前記復旧手順は、前記再生したオブジェクトのオブジェクト参照情報を前記テーブルに再登録する手順を具備する請求項7に記載のプログラム。 The software bus has a table for storing the first and second objects and the first and second object reference information in association with each other.
The program according to claim 7, wherein the restoration procedure includes a procedure of re-registering object reference information of the reproduced object in the table.
前記第1のクラスタに存在する前記第1、第2のオブジェクトを前記第2のクラスタにおいて再生する手順と、
前記第1のクラスタにおけるソフトウェアバスを介した通信を、前記記憶手段の保存情報を用いて前記第2のクラスタにおいて復旧する手順とを具備する請求項7または8に記載のプログラム。 A switching procedure for switching the first cluster to the second cluster;
Replaying the first and second objects existing in the first cluster in the second cluster;
The program according to claim 7, further comprising: a procedure for restoring communication in the first cluster in the second cluster using information stored in the storage unit via the software bus.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004061118A JP4262121B2 (en) | 2004-03-04 | 2004-03-04 | Object management method, system, and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004061118A JP4262121B2 (en) | 2004-03-04 | 2004-03-04 | Object management method, system, and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2005250900A JP2005250900A (en) | 2005-09-15 |
| JP4262121B2 true JP4262121B2 (en) | 2009-05-13 |
Family
ID=35031316
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2004061118A Expired - Fee Related JP4262121B2 (en) | 2004-03-04 | 2004-03-04 | Object management method, system, and program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4262121B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4786568B2 (en) * | 2007-02-27 | 2011-10-05 | 日本電信電話株式会社 | Information processing apparatus, communication control processing function addition method, and communication control processing function addition program |
-
2004
- 2004-03-04 JP JP2004061118A patent/JP4262121B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2005250900A (en) | 2005-09-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN101989922A (en) | Method and system for recovering session initial protocol affairs | |
| JP2005535241A (en) | Method of moving application software in multicomputer architecture, multicomputer method and apparatus for realizing continuity of operation using the moving method | |
| JP5235292B2 (en) | Computer system, method for migrating to backup system, program for migrating to backup system, monitoring device, terminal device, and backup system | |
| US8150007B2 (en) | Fully redundant call recording | |
| CN103299584B (en) | For temporary lose connection after optimize the method for network performance | |
| JP4262121B2 (en) | Object management method, system, and program | |
| JP4881711B2 (en) | Thin client system and communication device | |
| JP2013021529A (en) | Subscriber data management method and call control system | |
| JP2012175158A (en) | Call relief system and call relief method | |
| JP2015153128A (en) | Call processing control device and software update method of the same, call processing system, and computer program | |
| JP3821379B2 (en) | Service providing method and service providing system | |
| JP5342578B2 (en) | Call control system and information redundancy method used for call control | |
| JP5220059B2 (en) | Network communication system and network communication method | |
| JP4399014B2 (en) | Telephone system and its terminal device | |
| JP2009246475A (en) | Communication system with redundancy composition, and system switching method of the system | |
| JP4550705B2 (en) | Server device | |
| JP5699999B2 (en) | Information processing system | |
| JP2007318613A (en) | Server device | |
| US20240430158A1 (en) | Clustered servers for telecommunications | |
| KR19990049842A (en) | Redundancy Processing Method of Exchange Protocol Device Processor | |
| CN113505022B (en) | Hot backup processing method, device, equipment and machine-readable storage medium | |
| JP2010130620A (en) | System, method and program for updating program, and call control server | |
| CN113507386B (en) | Hybrid backup method, device, equipment and machine-readable storage medium | |
| JP4398887B2 (en) | Communication device | |
| CN108337103A (en) | Backup method, the standby recovery method and system of sip server |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060418 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080521 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080603 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080804 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080924 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081117 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090203 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090206 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120220 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130220 Year of fee payment: 4 |
|
| LAPS | Cancellation because of no payment of annual fees |