(57)【要約】【課題】サービスプログラムの不具合が起動処理に影響を与えないようにしたサーバ装置を提供する。【解決手段】システム起動プログラムを構成するサービス初期化プログラム１１０、サービス起動監視プログラム１２０及びメンテナンスプログラム１３０をトップルートディレクトリ１００に対応付け、サービスプログラム１４１、設定データ１４２及びサービス管理プログラム１４３をサービスルートディレクトリ１４０に対応付けてＲＯＭ１４に記憶し、起動時にサービス初期化プログラム１１０、サービス起動監視プログラム１２０及びメンテナンスプログラム１３０をＲＡＭ１５のシステム起動プログラム実行環境となるメモリ領域２００に記録して所定の起動処理を実行し、起動後にサービスプログラム１４１、設定データ１４２及びサービス管理プログラム１４３をＲＯＭ１４から読み出してＲＡＭ１５のサービスプログラム実行環境となるメモリ領域３００に記録する。【選択図】      図２
2011258245.tif 000002
【特許請求の範囲】
【請求項１】
処理用メモリに記録される起動プログラムに基づいて起動し、起動後に前記処理用メモリに記録されるサービスプログラムに基づいて通信処理を実行する通信処理部と、
前記処理用メモリ上で前記起動プログラムを起動させるプログラム実行環境となる第１のメモリ領域を特定する第１のディレクトリに対応付けて前記起動プログラムを記憶するとともに、前記サービスプログラムを前記起動プログラムの第１のメモリ領域と異なる第２のメモリ領域を特定する第２のディレクトリに対応付けて記憶する記憶手段と、
前記起動プログラムによる起動後に、前記記憶手段に記憶される前記サービスプログラムの第２のディレクトリを参照し、この参照結果に基づいて、前記サービスプログラムを前記記憶手段から読み出して、前記処理用メモリの前記起動プログラムとは異なる第２のメモリ領域に記録する制御手段とを具備するサーバ装置。
【請求項２】
前記制御手段は、サービスプログラムを起動した時点から所定時間経過後に前記サービスプログラムから正常起動完了の通知が受け取れない場合に、再起動を実行する請求項１記載のサーバ装置。
【請求項３】
前記制御手段は、前記サービスプログラムを起動する前に、起動失敗回数をインクリメントしておき、前記サービスプログラムを起動した時点から所定時間経過後に前記サービスプログラムから正常起動完了の通知を受信した場合に、前記起動失敗回数をデクリメントする請求項１記載のサーバ装置。
【請求項４】
前記記憶手段は、前記第１のディレクトリに対応付けて、前記サービスプログラムの動作異常に対処するためのメンテナンスプログラムを記憶し、
前記制御手段は、前記起動失敗回数が予め決められた回数を超えた場合に、前記メンテナンスプログラムを前記処理用メモリの前記第１のメモリ領域上で起動し、前記メンテナンスプログラムに基づいて異常発生を外部に通知する請求項３記載のサーバ装置。
【請求項５】
前記記憶手段は、前記サービスプログラムに対するバックアップ設定データを前記起動プログラム及び前記サービスプログラムのプログラム実行環境となる前記第１のメモリ領域及び前記第２のメモリ領域と異なる第３のメモリ領域を特定する第３のディレクトリに対応付けて記憶し、前記サービスプログラムのバックアップを前記第１、第２及び第３のメモリ領域とは異なる第４のメモリ領域を特定する第４のディレクトリに対応付けて記憶し、
前記制御手段は、前記異常発生を通知した後、ユーザの指示入力に応じてバックアップ設定データへの切り替え、前記サービスプログラムのディレクトリを前記サービスプログラムのバックアップである前記第４のディレクトリに変更のいずれかを実行する請求項４記載のサーバ装置。
【請求項６】
前記サービスプログラムは、呼処理端末制御プログラム、呼処理グループ制御プログラム、呼処理サービスプログラム、メディア処理プログラム、課金を実行するためのプログラム、通信管理処理を実行するためのプログラムのうち少なくとも１つを備える請求項１記載のサーバ装置。
【請求項７】
サーバ装置で使用される起動制御方法において、
処理用メモリに記録される起動プログラムに基づいて起動し、起動後に前記処理用メモリに記録されるサービスプログラムに基づいて通信処理を実行し、
前記処理用メモリ上で前記起動プログラムを起動させるプログラム実行環境となる第１のメモリ領域を特定する第１のディレクトリに対応付けて前記起動プログラムをデータベースに記憶するとともに、前記サービスプログラムを前記起動プログラムの第１のメモリ領域と異なる第２のメモリ領域を特定する第２のディレクトリに対応付けてデータベースに記憶し、
前記起動プログラムによる起動後に、前記データベースに記憶される前記サービスプログラムの第２のディレクトリを参照し、この参照結果に基づいて、前記サービスプログラムを前記データベースから読み出して、前記処理用メモリの前記起動プログラムとは異なる第２のメモリ領域に記録する起動制御方法。
【請求項８】
さらに、サービスプログラムを起動した時点から所定時間経過後に前記サービスプログラムから正常起動完了の通知が受け取れない場合に、再起動を実行する請求項７記載の起動制御方法。
【請求項９】
さらに、前記サービスプログラムを起動する前に、起動失敗回数をインクリメントしておき、前記サービスプログラムを起動した時点から所定時間経過後に前記サービスプログラムから正常起動完了の通知を受信した場合に、前記起動失敗回数をデクリメントする請求項７記載の起動制御方法。
【請求項１０】
前記記憶することは、前記第１のディレクトリに対応付けて、前記サービスプログラムの動作異常に対処するためのメンテナンスプログラムを前記データベースに記憶し、
さらに、前記起動失敗回数が予め決められた回数を超えた場合に、前記メンテナンスプログラムを前記処理用メモリの前記第１のメモリ領域上で起動し、前記メンテナンスプログラムに基づいて異常発生を外部に通知する請求項９記載の起動制御方法。
【請求項１１】
前記記憶することは、前記サービスプログラムに対するバックアップ設定データを前記起動プログラム及び前記サービスプログラムのプログラム実行環境となる前記第１のメモリ領域及び前記第２のメモリ領域と異なる第３のメモリ領域を特定する第３のディレクトリに対応付けて前記データベースに記憶し、前記サービスプログラムのバックアップを前記第１、第２及び第３のメモリ領域とは異なる第４のメモリ領域を特定する第４のディレクトリに対応付けて記憶し、
さらに、前記異常発生を通知した後、ユーザの指示入力に応じてバックアップ設定データへの切り替え、前記サービスプログラムのディレクトリを前記サービスプログラムのバックアップである前記第４のディレクトリに変更のいずれかを実行する請求項１０記載の起動制御方法。
【請求項１２】
前記サービスプログラムは、呼処理端末制御プログラム、呼処理グループ制御プログラム、呼処理サービスプログラム、メディア処理プログラム、課金を実行するためのプログラム、通信管理処理を実行するためのプログラムのうち少なくとも１つを備える請求項７記載の起動制御方法。
【請求項１３】
処理用メモリに記録される起動プログラムに基づいて起動し、起動後に前記処理用メモリに記録されるサービスプログラムに基づいて通信処理を実行する通信処理部と、
前記処理用メモリ上で前記起動プログラムを起動させるプログラム実行環境となる第１のメモリ領域を特定する第１のディレクトリに対応付けて前記起動プログラムを記憶するとともに、前記サービスプログラムを前記起動プログラムの第１のメモリ領域と異なる第２のメモリ領域を特定する第２のディレクトリに対応付けて記憶する記憶手段と、
前記起動プログラムによる起動後に、前記記憶手段に記憶される前記サービスプログラムの第２のディレクトリを参照し、この参照結果に基づいて、前記サービスプログラムを前記記憶手段から読み出して、前記処理用メモリの前記起動プログラムとは異なる第２のメモリ領域に記録する制御手段とを具備する情報処理装置。
【請求項１４】
前記制御手段は、サービスプログラムを起動した時点から所定時間経過後に前記サービスプログラムから正常起動完了の通知が受け取れない場合に、再起動を実行する請求項１３記載の情報処理装置。
【請求項１５】
前記制御手段は、前記サービスプログラムを起動する前に、起動失敗回数をインクリメントしておき、前記サービスプログラムを起動した時点から所定時間経過後に前記サービスプログラムから正常起動完了の通知を受信した場合に、前記起動失敗回数をデクリメントする請求項１３記載の情報処理装置。
【請求項１６】
前記記憶手段は、前記第１のディレクトリに対応付けて、前記サービスプログラムの動作異常に対処するためのメンテナンスプログラムを記憶し、
前記制御手段は、前記起動失敗回数が予め決められた回数を超えた場合に、前記メンテナンスプログラムを前記処理用メモリの前記第１のメモリ領域上で起動し、前記メンテナンスプログラムに基づいて異常発生を外部に通知する請求項１５記載の情報処理装置。
【請求項１７】
前記記憶手段は、前記サービスプログラムに対するバックアップ設定データを前記起動プログラム及び前記サービスプログラムのプログラム実行環境となる前記第１のメモリ領域及び前記第２のメモリ領域と異なる第３のメモリ領域を特定する第３のディレクトリに対応付けて記憶し、前記サービスプログラムのバックアップを前記第１、第２及び第３のメモリ領域とは異なる第４のメモリ領域を特定する第４のディレクトリに対応付けて記憶し、
前記制御手段は、前記異常発生を通知した後、ユーザの指示入力に応じてバックアップ設定データへの切り替え、前記サービスプログラムのディレクトリを前記サービスプログラムのバックアップである前記第４のディレクトリに変更のいずれかを実行する請求項１６記載の情報処理装置。
【請求項１８】
前記サービスプログラムは、呼処理端末制御プログラム、呼処理グループ制御プログラム、呼処理サービスプログラム、メディア処理プログラム、課金を実行するためのプログラム、通信管理処理を実行するためのプログラムのうち少なくとも１つを備える請求項１３記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、例えばＩＰ(Internet Protocol)電話システムで用いられるサーバ装置、及びサーバ装置で用いられる起動制御方法、及び情報処理装置に関する。
【背景技術】
【０００２】
近年、ＩＰ電話システムが普及し始めている。このＩＰ電話システムでは、例えばＬＡＮ(Local Area Network)やインターネットを含むＩＰ網にＩＰ電話端末を接続すると共に、ＩＰ網上の呼制御サーバにおいてプロトコル変換及びデータのフォーマット変換等を行うことにより、ＩＰ電話端末間及びＩＰ電話端末と一般電話網との間で音声通信を可能にしている。
【０００３】
ところで、上記呼制御サーバにあっては、一般にマイクロコンピュータを使用した制御部を備えており、この制御部において自装置の動作を統括的に制御している。また、制御部は、制御ハードウェア上にＯＳ（Operating System）等のシステム起動プログラムを備え、このＯＳ環境上で通信制御アプリケーションプログラムとしてのサービスプログラムを実行させることにより、ハードウェア部を動作させるように構成されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−２０７１７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、上記呼制御サーバでは、システム起動プログラムとサービスプログラムは同一プログラム実行環境となるメモリ領域で起動し、サービスプログラムの不具合がシステム起動プログラムやシステム起動処理に影響を与え、システム起動不可となる場合がある。
【０００６】
本発明の目的は、サービスプログラムの不具合が起動処理に影響を与えないようにしたサーバ装置及び起動制御方法及び情報処理装置を提供することにある。
【課題を解決するための手段】
【０００７】
本実施形態に従うサーバ装置は、処理用メモリに記録される起動プログラムに基づいて起動し、起動後に処理用メモリに記録されるサービスプログラムに基づいて通信処理を実行するサーバ装置において、処理用メモリ上で起動プログラムを起動させるプログラム実行環境となるメモリ領域を特定するディレクトリに対応付けて起動プログラムを記憶するとともに、サービスプログラムを起動プログラムのプログラム領域と異なるディレクトリに対応付けて記憶する記憶手段と、起動プログラムによる起動後に、記憶手段に記憶されるサービスプログラムのディレクトリを参照し、この参照結果に基づいて、サービスプログラムを記憶手段から読み出して、処理用メモリの起動プログラムとは異なるメモリ領域に記録する制御手段とを備えるようにしたものである。
【図面の簡単な説明】
【０００８】
【図１】本発明のサーバ装置が適用されるＩＰ電話システムの一実施形態の構成を示すブロック図。
【図２】上記図１に示した呼制御サーバのソフトウェア構成を示すブロック図。
【図３】同実施形態で取り扱うプログラムのルートディレクトリパスの構造を示す図。
【図４】同実施形態において、サービスプログラムの異常に対応するためのＣＰＵの制御処理手順を示すフローチャート。
【図５】同実施形態において、ＩＰ電話端末と公衆網上の外部端末との間の通信接続手順を示すシーケンス図。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面を参照して詳細に説明する。  
ここでは、本発明のサーバ装置をＩＰ電話システムの呼制御サーバに適用した場合の一実施形態について説明する。図１は、一実施形態におけるＩＰ電話システムの概略構成図である。
【００１０】
このシステムは、ＩＰ網としてパケット通信用のＬＡＮ（Local Area Network）１を有する。ＬＡＮ１は、ＩＰ電話端末Ｔ１１〜Ｔ１ｉ（ｉは自然数）が接続される。なお、ＩＰ電話端末Ｔ１１〜Ｔ１ｉは、通話処理機能と映像等のメディア情報処理機能とを備えている。
【００１１】
また、ＬＡＮ１には、ゲートウェイＧＷ１，ＧＷ２が接続されている。ゲートウェイＧＷ１は、ＬＡＮ１とインターネット等のＩＰ公衆網ＩＰＮとの間を接続するもので、ＬＡＮ１とＩＰ公衆網ＩＰＮとの間における通信プロトコル及び信号フォーマットの変換機能とを備えている。ゲートウェイＧＷ２は、ＬＡＮ１とアナログ電話網等の公衆網ＰＮＷとの間を接続するもので、ＬＡＮ１と公衆網ＰＮＷとの間における通信プロトコル及び信号フォーマットの変換機能とを備えている。
【００１２】
また、これらＩＰ電話端末Ｔ１１〜Ｔ１ｉ及びゲートウェイＧＷ１，ＧＷ２は、ＬＡＮ１を介して呼制御サーバＳＶに接続されている。呼制御サーバＳＶは、複数のＩＰ電話端末Ｔ１１〜Ｔ１ｉ間またはＩＰ電話端末Ｔ１１〜Ｔ１ｉとＩＰ公衆網ＩＰＮ，公衆網ＰＮＷとの間で、例えばＳＩＰ、Ｍｅｇａｃｏ、Ｈ．３２３等の所定のプロトコルに従ってセッションを確立する交換制御機能を備える。そして、確立されたセッションにより、発信側と着信側の電話端末間でＲＴＰパケットを送受信することで、音声通信を行なう。
【００１３】
ところで、呼制御サーバＳＶでは、システム起動プログラムとサービスプログラムは同一プログラム実行環境となるメモリ領域で起動し、サービスプログラムの不具合がシステム起動プログラムやシステム起動に影響を与え、システム起動不可となる場合がある。たとえば、サービスプログラム１をアップデートし、依存関係にあった共有ライブラリもアップデートされた場合、システム起動時に起動するサービスプログラム２も共有ライブラリを参照するが、正しく依存関係を設定されておらず、サービスプログラム２がアップデートされなかったとすると、システム起動時にサービスプログラム２が正常に起動せず、ハングアップしてしまい、システム起動不可となるケースがある。または、サービスプログラムがシステム起動プログラムが参照するファイルを書き換えるような動作を含んでいた場合、サービスプログラムの不具合により、該当ファイルを壊してしまい、システム起動プログラムが正常に起動できず、システム起動不可となるケースがある。
【００１４】
プログラム実行環境となるメモリ領域を分離する既存手段として、仮想化技術があるが、仮想化ソフトが必要である。
【００１５】
また、シングルユーザモードで起動することで、起動するプログラムを限定可能であるが、システム起動不可となった後の解決手段であるため、予防はできない。この場合、保守者は現地へ赴き、リカバリディスクを用いてシステム復旧するか、レスキューディスクでシステムを起動して、バックアッププログラムに切り替えやバックアップデータをリストアしなければならない。
【００１６】
このため、サービスプログラムの不具合が起動処理に影響を与えないようにしたサーバ装置及び起動制御方法が必要になる。そこで、本実施形態では、サービスプログラムの不具合が起動処理に影響を与えない起動制御方法を実行する呼制御サーバＳＶを備えるようにした。
【００１７】
呼制御サーバＳＶは、ＩＰ制御部１１と、メディア変換部１２と、ＣＰＵ（Central Processing Unit）１３、データベースとしてのＲＯＭ(Read Only Memory)１４、処理用メモリとしてのＲＡＭ(Random Access Memory)１５とを備えている。これらＩＰ制御部１１と、メディア変換部１２と、ＣＰＵ１３は、データハイウェイ１６を介して互いに接続されている。
【００１８】
ＩＰ制御部１１には、ＬＡＮ１が必要に応じて接続される。ＩＰ制御部１１は、接続されたＬＡＮ１との間でインタフェース処理を行う。また、ＩＰ制御部１１は、上記インタフェース処理に係わる種々の制御情報の授受を、データハイウェイ１５を介してＣＰＵ１３との間で行う。
【００１９】
メディア変換部１２には、タイムスイッチ１７が接続される。メディア変換部１２は、ＩＰ制御部１１で受信した制御パケット及び音声パケットを処理するもので、パケットをＰＣＭ信号に変換してタイムスイッチ１７に出力し、タイムスイッチ１６からのＰＣＭ信号をパケットに変換してＩＰ制御部１１に出力する。
【００２０】
ＣＰＵ１３は、ＲＯＭ１４に格納されている各種プログラムを読み出して、ＲＡＭ１５に記録し、ＲＡＭ１５に記録されたプログラムに基づいた処理を行なうことで、ＩＰ制御部１１、メディア変換部１２及びタイムスイッチ１７のそれぞれを総括制御し、呼制御サーバＳＶとしての動作を実現する。
【００２１】
図２は、上記ＲＯＭ１４及びＲＡＭ１５に記憶されるプログラムの構成を示すブロック図である。
【００２２】
ＲＯＭ１４に記憶される各種プログラムには、汎用ＯＳといったシステム起動プログラムがあり、このシステム起動プログラム上で実行される複数のサービスプログラムがある。これらシステム起動プログラム及び複数のサービスプログラムは、ＣＰＵ１３によりＲＡＭ１５の同一のプログラム実行環境となるメモリ領域に記録されることになり、万一サービスプログラムに動作異常が生じた場合に、この動作異常がシステム起動プログラムにも影響することになる。そこで、システム起動プログラムと複数のサービスプログラムとをＲＡＭ１５上の別々のメモリ領域に記録する手段を用いるようにしている。この手段を講じることにより、システム起動プログラムに属するサービス初期化プログラム１１０、サービス起動監視プログラム１２０、メンテナンスプログラム１３０、共有ライブラリ１７０は、ＲＡＭ１５のシステム起動プログラム実行環境となるメモリ領域２００を特定するトップルートディレクトリ１００に対応付けてＲＯＭ１４に記憶される。また、システム起動プログラム以外のサービスプログラム１４１、設定データ１４２、サービス管理プログラム１４３及び共有ライブラリ１４４は、ＲＡＭ１５のサービスプログラム実行環境となるメモリ領域３００を特定するサービスルートディレクトリ１４０に対応付けてＲＯＭ１４に記憶される。
【００２３】
サービス初期化プログラム１１０は、周知の起動処理を実行するためのプログラムである。サービス起動監視プログラム１２０は、サービスプログラム１４１が起動したか否かを監視するためのプログラムである。メンテナンスプログラム１３０は、サービスプログラム１４１に動作異常が発生した場合に、この動作異常に対応するためのプログラムである。共有ライブラリ１７０は、各プログラムの起動手順を示すデータである。
【００２４】
サービスプログラム１４１は、例えば交換処理用のプログラム群と、課金や通信履歴データ管理等の通信管理処理等を実行するための各種プログラム群１４１５とから構成される。交換処理用のプログラム群は、呼処理端末制御プログラム１４１１と、呼処理グループ制御プログラム１４１２と、呼処理サービスプログラム１４１３と、メディア処理プログラム１４１４とから構成される。
【００２５】
設定データ１４２は、サービスプログラム１４１をＲＡＭ１５のメモリ領域３００に設定するためのデータである。サービス管理プログラム１４３は、サービスプログラム１４１の起動・終了を管理するためのプログラムである。共有ライブラリ１４４は、交換処理に係わるサービス要求が発生したときに、どのサービスプログラム１４１１〜１４１５を起動させるかを参照するためのデータである。
【００２６】
さらに、ＲＯＭ１４には、ＲＡＭ１５上のメモリ領域２００，３００とは異なるプログラム実行環境となるメモリ領域を特定するバックアップサービスルートディレクトリ１５０及び工場出荷時サービスルートディレクトリ１６０が記憶される。なお、バックアップサービスルートディレクトリ１５０に対応するサービスプログラム１５１、設定データ１５２、サービス管理プログラム１５３及び共有ライブラリ１５４は、サービスルートディレクトリ１４０に対応するサービスプログラム１４１、設定データ１４２、サービス管理プログラム１４３及び共有ライブラリ１４４と同一である。
【００２７】
ＣＰＵ１３は、ＲＯＭ１４のトップルートディレクトリ１００に対応するサービス初期化プログラム１１０、サービス起動監視プログラム１２０、メンテナンスプログラム１３０及び共有メモリ１７０を読み出して、ＲＡＭ１５のメモリ領域２００に記録すると、サービス初期化プロセス２１０、サービス起動監視プロセス２２０、メンテナンスプロセス２３０及び共有ライブラリ２７０がメモリ領域２００に生成される。
【００２８】
また、ＣＰＵ１３は、ＲＯＭ１４のサービスルートディレクトリ１４０に対応するサービスプログラム１４１、設定データ１４２、サービス管理プログラム１４３及び共有ライブラリ１４４を読み出して、ＲＡＭ１５のメモリ領域３００に記録すると、サービスプロセス３１０、サービス管理プロセス３２０及び共有ライブラリ３３０がメモリ領域３００に生成される。
【００２９】
次に、上記構成における動作について説明する。  
まず、ＲＯＭ１４に記憶されるシステム起動プログラム及びサービスプログラムをディレクトリに対応付ける場合に、例えば保守端末として機能するＩＰ電話端末Ｔ１２のユーザがＩＰ電話端末Ｔ１２を操作して各プログラムに対しパスを設定する。
【００３０】
ここで、図３は、各プログラムのパス設定構造を示す図である。ＩＰ電話端末Ｔ１２のユーザは、ＲＯＭ１４中のトップルートディレクトリ１００に対し「/」を登録する。また、トップルートディレクトリ１００の配下に属する共有ライブラリ１７０に対し「/lib」を登録する。さらに、サービスルートディレクトリ１４０の配下に属するサービスプログラム１４１の呼処理サービスプログラム１４１３に対し「/current/usr/bin/call process」を登録する。
【００３１】
図示しない電源スイッチがオンされて、図示しない電源部からの電力供給が開始されることで、ＣＰＵ１３は制御処理を開始する。
【００３２】
図４は、ＣＰＵ１３の制御処理を示すフローチャートである。この制御処理を開始するとＣＰＵ１３は、まずＯＳを起動し（ステップＳＴ４ａ）、続いてＲＯＭ１４中の共有ライブラリ１７０を参照して、サービス初期化プログラム１１０及びサービス起動監視プログラム１２０をＲＡＭ１５のシステム起動プログラム実行環境となるメモリ領域２００上で起動させる（ステップＳＴ４ｂ）。そして、メモリ領域２００にサービス初期化プロセス２１０およびサービス起動監視プロセス２２０を生成させる（ステップＳＴ４ｃ）。ここで、プログラムをメモリ領域上で起動させることは、ＣＰＵ１３がＲＯＭ１４からプログラムを読み出して、このプログラムをＲＡＭ１５のメモリ領域に記録することである。
【００３３】
続いて、ＣＰＵ１３は、サービス起動監視プロセス２２０にてサービスプログラム起動失敗回数２４０を「＋１」にインクリメントしておき（ステップＳＴ４ｄ）、サービスプログラム起動失敗回数２４０が上限値を超えているか否かの判断を行う（ステップＳＴ４ｅ）。
【００３４】
ここでは、上限値を超えていないので（Ｙｅｓ）、ＣＰＵ１３はサービス初期化プロセス２１０にてサービスルートディレクトリ１４０を指定してサービスルートディレクトリ１４０に配下にあるサービス管理プログラム１４３をメモリ領域３００上で起動させる（ステップＳＴ４ｆ）。そして、サービス管理プログラム１４３にてサービスプログラム１４１をメモリ領域３００上で起動させることで、サービス管理プロセス３２０およびサービスプロセス３１０をメモリ領域３００に生成させる（ステップＳＴ４ｇ）。ここで、指定するルートディレクトリのパスは環境変数で設定し、メンテナンスプログラム２３０が変更するものとする。
【００３５】
続いて、ＣＰＵ１３は、サービスプログラム１４１が起動成功したか否かの判断を行なう（ステップＳＴ４ｈ）。ここで、起動成功した場合（Ｙｅｓ）、ＣＰＵ１３は、サービス起動成功通知をサービス起動監視プロセス２２０に通知し、サービス起動監視プロセス２２０にサービスプログラム起動失敗回数３４０を「−１」にデクリメントさせる（ステップＳＴ４ｉ）。
【００３６】
一方、サービスプログラム１４１が起動失敗した場合（Ｎｏ）、サービスプロセス３１０がシステムリセットを実行、もしくは、サービス起動監視プロセス２２０がサービスプログラム１４１起動失敗と判断して、システム再起動する（ステップＳＴ４ｊ）。
【００３７】
一方、上記ステップＳＴ４ｅにおいて、システムリセットが多発し、サービス起動失敗回数２４０が上限値を超えた場合、ＣＰＵ１３はサービス初期化プロセス２１０にてメンテナンスプログラム１３０をＲＯＭ１４から読み出してＲＡＭ１５のシステム起動プログラム領域２００に記録し、メンテナンスプロセス２３０をメモリ領域２００に生成させる（ステップＳＴ４ｋ）。メンテナンスプロセス２３０は、システム復旧方法として、設定データ切替またはサービスルートディレクトリ切替の旨を示す復旧対応メッセージをＩＰ電話端末Ｔ２１に送出してＯＳＤ(On Screen Display)表示させる。
【００３８】
この状態で保守者が、設定データ切替を選択するべくＩＰ電話端末Ｔ１２において選択指示を入力したとする。そうすると、ＣＰＵ１３はステップＳＴ４ｌからステップＳＴ４ｍに移行してここでメンテナンスプロセス３３０にて設定データをバックアップ設定データで上書きする。
【００３９】
一方、保守者がルートディレクトリ切替を選択した場合、ＣＰＵ１３はメンテナンスプロセス３３０にてメモリ領域３００とは異なるプログラム実行環境となるメモリ領域を特定するルートディレクトリを指定し（ステップＳＴ４ｎ）、続いてＲＯＭ１４中のサービスプログラム１４１のルートディレクトリパスの環境変数を指定されたパスに変更する（ステップＳＴ４ｏ）。つまり、不具合が生じた呼処理サービスプログラム１４１３のルートディレクトリパス「/current/usr/bin/call process」を「/xxxx/usr/bin/call process」に変更する。なお「xxxx」は、ＲＡＭ１５のメモリ領域２００，３００とは異なるプログラム実行環境となるメモリ領域を特定するものであり、メンテナンスプログラム１３０により予め決められているものとする。
【００４０】
そして、ＣＰＵ１３はサービスプログラム起動失敗回数２４０をリセットし（ステップＳＴ４ｐ）、上記ステップＳＴ４ｊの処理に移行してシステム再起動を実行する。
【００４１】
次に、ＩＰ電話端末Ｔ１１と公衆網ＰＮＷ上の電話端末ＴＴ２との間で通信接続を行なう場合の例について説明する。
【００４２】
図５は、通信接続を行なう手順を示すシーケンス図である。  
いま例えば、ＩＰ電話端末Ｔ１１においてユーザが、ＩＰ電話端末Ｔ１１から他の外部端末ＴＴ２に対し発信操作を行なったとする（図５（１））。そうするとＩＰ電話端末Ｔ１１でのオフフック動作は、呼制御サーバＳＶのＩＰ制御部１１で解析されて、オフフック信号としてＩＰ制御部１１からデータハイウェイ１６を介してＣＰＵ１３に転送される。
【００４３】
このオフフック信号が転送されるとＣＰＵ１３では、メモリ領域３００に生成される共有ライブラリ３３０により、処理に必要なサービスプログラム１４１が起動される。ここでは、ＩＰ電話端末Ｔ１１のオフフック信号であるので呼処理端末プログラム１４１１が起動され、このプログラムによりＩＰ電話端末Ｔ１１に対する端末処理が実行される。
【００４４】
そして、この呼処理端末プログラム１４１１において、例えばＣＰＵ１３からタイムスイッチ１７に対して発呼したＩＰ電話端末Ｔ１１へダイヤルトーンを送出する信号が転送される。また、ＣＰＵ１３からＩＰ制御部１１に対してダイヤル信号の受け付けを許可するための制御信号が転送される。ＩＰ制御部１１は、タイムスイッチ１７からのダイヤルトーンを発信元のＩＰ電話端末Ｔ１１へ送出し、以後ＩＰ電話端末Ｔ１１からのダイヤル信号を受け取る状態になる。
【００４５】
この状態で、ダイヤルトーンを確認したＩＰ電話端末Ｔ１１のユーザがダイヤル操作を行なうと、ダイヤル信号がＩＰ制御部１１及びデータハイウェイ１６を介してＣＰＵ１３に転送される。
【００４６】
そうするとＣＰＵ１３では、上記ダイヤル信号より発呼先が解析され、発呼先が公衆網ＰＮＷであることが分かると、メモリ領域３００に生成される共有ライブラリ３３０により、呼処理サービス制御プログラム１４１３が起動される。そして、呼処理サービス制御プログラム１４１３により公衆網ＰＮＷ宛ての発信メッセージが生成され、ＩＰ制御部１１に転送される。すると、ＩＰ制御部１１は、公衆網ＰＮＷ宛の発信メッセージをＬＡＮ１及びゲートウェイＧＷ２を経由して公衆網ＰＮＷへ送信する（図５（２））。
【００４７】
そうすると、着信先の外部端末ＴＴ２の呼び出しが行なわれる（図５（３））。呼び出しに対し外部端末ＴＴ２が応答すると（図５（４））、呼制御サーバＳＶのＣＰＵ１３は、発信元のＩＰ電話端末Ｔ１１とゲートウェイＧＷ２との間の通信パスを接続するための処理を実行する（図５（５））。かくして、ＩＰ端末Ｔ１１のユーザは外部端末ＴＴ２のユーザとの間で音声通信を行なうことが可能となる。
【００４８】
なお、上記呼処理端末プログラム１４１１の起動中に、ＩＰ電話端末Ｔ１１のグループ処理が必要な場合には、呼処理端末プログラム１４１１から呼処理グループ処理プログラム１４１２へ共有ライブラリ３３０を介して処理が依頼される。また、ＩＰ電話端末Ｔ１１，Ｔ１３間の相互接続が必要な場合には、呼処理端末プログラム１４１１から呼処理サービス制御プログラム１４１３へ共有ライブラリ３３０を介して処理が依頼される。さらに、画像伝送等といったメディア処理が必要な場合には、共有ライブラリ３３０によりメディア処理プログラム１４１４が起動される。
【００４９】
以上のように上記実施形態では、システム起動プログラムを構成するサービス初期化プログラム１１０、サービス起動監視プログラム１２０及びメンテナンスプログラム１３０をトップルートディレクトリ１００に対応付け、サービスプログラム１４１、設定データ１４２及びサービス管理プログラム１４３をサービスルートディレクトリ１４０に対応付けてＲＯＭ１４に記憶しておくことで、起動時にサービス初期化プログラム１１０、サービス起動監視プログラム１２０及びメンテナンスプログラム１３０がＲＡＭ１５のメモリ領域２００に記録されて所定の起動処理が実行され、起動後にサービスプログラム１４１、設定データ１４２及びサービス管理プログラム１４３がＲＯＭ１４から読み出されてＲＡＭ１５の起動プログラムとは異なるメモリ領域３００に記録されてサービスプログラムに従って通信処理が実行されることになる。
【００５０】
従って、サービスプログラム１４１の不具合が起動処理に影響を与えることを防ぐことができる。
【００５１】
また、上記実施形態では、サービスプログラム１４１を起動した時点から一定時間経過後にサービスプログラム１４１から正常起動完了の通知が受け取れない場合に、サービスプログラム１４１の動作異常と自動的に判定されて再起動が行われる。従って、サービスプログラム１４１の動作異常が起動処理に波及する心配はなくなり、これによりシステムダウンの発生を未然に防ぐことができる。
【００５２】
また、上記実施形態では、サービスプログラム１４１に起因したシステムリセットが多発した場合においても、メンテナンスプログラム１３０のみ起動させることができ、異常発生を表す情報を保守者のＩＰ電話端末Ｔ１２に転送して保守者に報知するようにしている。このため、保守者はサービスプログラムの異常が発生したことを即時知ることができ、これにより復旧操作などの対応処置を迅速に講じることが可能となる。
【００５３】
さらに、上記実施形態では、異常発生を通知した後、保守者の指示入力に応じてバックアップ設定データへの切り替え、サービスプログラムのディレクトリを指定のディレクトリに変更のいずれかを実行するようにしている。
【００５４】
従って、サービスプログラム１４１の不具合解析やバックアッププログラムへの切り替え、バックアップデータのリストアが可能であるため、レスキューディスクが不要となる。
【００５５】
（その他の実施形態）  
例えば上記各実施形態では、ＩＰ電話システムの呼制御サーバを例にとって説明したが、パーソナル・コンピュータ等の情報処理装置やＣＰＵと汎用ＯＳで構成されるシステムであってもよい。
【００５６】
この他の実施形態であっても、起動プログラムとサービスプログラムとを互いに異なるディレクトリに対応付けてデータベースに記憶しておくことで、起動時に起動プログラムが処理用メモリの対応するプログラム領域に記録されて所定の起動処理が実行され、起動後にサービスプログラムがデータベースから読み出されて処理用メモリの起動プログラムとは異なるプログラム領域に記録されてサービスプログラムに従って通信処理が実行されることになるので、サービスプログラムの不具合が起動処理に影響を与えることを防ぐことができる。
【００５７】
その他、呼制御サーバの構成、ソフトウェアの構成、各プログラムに対するディレクトリの登録手順、サービスプログラムの動作異常に対応するための制御処理手順とその内容等についても、要旨を逸脱しない範囲で種々変形して実施できる。
【符号の説明】
【００５８】
１…ＬＡＮ、１１…ＩＰ制御部、１２…メディア変換部、１３…ＣＰＵ、１４…ＲＯＭ、１５…ＲＡＭ、１６…データハイウェイ、１７…タイムスイッチ、１１０…サービス初期化プログラム、１２０…サービス起動監視プログラム、１３０…メンテナンスプログラム、１４０…サービスルートディレクトリ、１４１…サービスプログラム、１４２…設定データ、１４３…サービス管理プログラム、１４４…共有ライブラリ、２００，３００…メモリ領域、ＳＶ…呼制御サーバ、Ｔ１１〜Ｔ１ｉ…ＩＰ電話端末、ＧＷ１，ＧＷ２…ゲートウェイ、ＰＮＷ…公衆網。
【図１】
2011258245.tif 000003
【図２】
2011258245.tif 000004
【図３】
2011258245.tif 000005
【図４】
2011258245.tif 000006
【図５】
2011258245.tif 000007