(57)【特許請求の範囲】
【請求項１】
サービス要求を依頼するプロセスとサービス要求を処理するプロセスが分散しており、前記サービス要求を処理するプロセスが一のサービス要求処理終了後に、次のサービス要求を処理するための情報の引き継ぎを要とする分散サービスを処理する方法において、
予めサービス要求を依頼する複数のプロセスの生成・起動と同時にサービス要求を処理する複数のプロセスを生成・起動し、かつ、入力／出力が対となった一つの制御用通信路を開設して、サービス要求を依頼するプロセスは前記制御用通信路の一方の側を共用し、サービス要求を処理するプロセスは前記制御用通信路のもう一方の側を共用し、
サービス要求を依頼するプロセスは、自分の識別子を前記制御用通信路に伝達し、サービス要求の処理可能な状態の任意の一つのサービス要求を処理するプロセスは、前記制御用通信路より前記識別子を取り出して、該識別子で示されるサービス要求を依頼するプロセスとの間に個別通信路を生成し、
前記サービス要求を処理するプロセスは、前記サービス要求を依頼するプロセスから、サービス要求情報、次サービス要求引継要否情報を前記個別通信路経由で受信し、サービス要求を処理し、当該処理結果等の情報を前記個別通信路経由で前記サービス要求を依頼するプロセスに送信し、
前記サービス要求を処理するプロセスは、前記次サービス要求引継要否情報が要であれば前記個別通信路を維持し、前記次サービス要求引継要否情報が否であれば前記個別通信路を消滅させる
ことを特徴とする分散サービス処理制御方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、サービス要求を依頼する側とサービス要求を処理する側が分散している分散サービス処理システムにおけるサービス要求処理制御方法に係り、詳しくは、サービス要求を依頼する側とサービス要求を処理する側とを動的に結び付ける制御方法、さらには、サービス要求を依頼する側とサービス要求を処理する側とを結びつけた状態で保留する制御方法に関するものである。
【０００２】
【従来の技術】
従来は分散サービス処理制御を行う場合、サービス要求を依頼する１つのプロセスに対して必ずサービス要求を処理する１つのプロセスを生成し、処理終了後、消滅させていた。
【０００３】
図４に、従来の分散サービス処理制御方法の説明図を示す。これは、便宜上、サービス要求を依頼するプロセスが３プロセスである場合を示したもので、２０１と２０２と２０３はサービス要求を依頼するプロセス、２１１と２１２と２１３はサービス要求を処理するプロセス、２２０は２次記憶装置である。
【０００４】
図４において、サービス要求を依頼するプロセス（Ａ）２０１に着目して処理の流れを説明する。サービス要求を依頼するプロセス（Ａ）２０１は、サービス要求が発生した場合、引き継ぎ情報を２次記憶装置２２０に保存する。その後、サービス要求を依頼するプロセス（Ａ）２０１は、サービス要求を処理するプロセス（１）２１１を生成し起動する。サービス要求を処理するプロセス（１）２１１は、２次記憶装置２２０から引き継ぎ情報を取り出し処理を実行する。サービス要求を処理するプロセス（１）２１１は、処理終了後、処理結果を引き継ぎ情報として２次記憶装置２２０に保存し、消滅する。サービス要求を依頼するプロセス（Ａ）２０１は、２次記憶装置２２０から引き継ぎ情報を取り出し、該２次記憶装置２２０の引き継ぎ情報を消去し、処理を続行する。サービス要求を依頼するプロセス（Ｂ）２２０およびサービス要求を依頼するプロセス（Ｃ）２０３においても、サービス要求を依頼するプロセス（Ａ）２０１と同様であり、それぞれ２１２、２１３のサービス要求を処理するプロセス（２)、プロセス（３)を生成し、処理が終了すると消滅せしめる。
【０００５】
【発明が解決しようとする課題】
従来の分散サービス処理制御では、サービス要求を処理するプロセスは、処理が終了すると消滅してしまうため、処理結果情報以外の情報の引き継ぎを行うことはできない。また、サービス要求を依頼する側とサービス要求を処理する側の間で２次記憶装置を経由して引き継ぎ情報の授受を行っており、サービス要求の発生から終了までの間に、引き継ぎ情報の２次記憶装置への保存、サービス要求を処理するプロセスの生成と起動、引き継ぎ情報の２次記憶装置からの取り出し、処理結果を引き継ぎ情報として２次記憶装置に保存、サービス要求を依頼するプロセスが引き継ぎ情報を２次記憶装置から取り出し、引き継ぎ情報の消去を行うため、サービス要求の依頼が生じてから処理が完了するまでの時間が長くなる問題がある。
【０００６】
本発明の目的は、従来技術において、サービス要求を依頼するプロセスがサービス要求の都度、サービス要求を処理するプロセスを生成する必要があるので、サービス要求の依頼から要求処理を完了するまでの時間が長くなること、及び、サービス要求を処理するプロセスが処理終了後消滅し、処理結果情報以外の情報の引き継ぎができないこと、を解決した分散サービス処理制御方法を提供することにある。
【０００７】
【課題を解決するための手段】
本発明は、サービス要求を依頼する側とサービス要求を処理する側が分散しており、両者間で引き継ぎ情報を授受し、一つのサービス要求を依頼するプロセスが一つのサービス要求を処理するプロセスを生成・起動し、サービス要求処理終了後、該プロセスが消滅して分散サービスを処理する方法において、予めサービス要求を依頼する複数のプロセスの生成・起動と同時にサービス要求を処理する複数のプロセスを生成・起動し、かつ、入力／出力が対となった一つの制御用通信路（ソケットペア）を開設して、サービス要求を依頼するプロセスは前記制御用通信路の一方を共用し、サービス要求を処理するプロセスは前記制御用通信路のもう一方を共用し、サービス要求を依頼するプロセスは、自分の識別子を前記制御用通信路に伝達し、サービス要求の処理可能な状態の任意の一つのサービス要求を処理するプロセスは、前記制御用通信路より前記識別子を取り出して、該識別子で示されるサービス要求を依頼するプロセスとの間に個別通信路を生成し、該個別通信路経由で情報を授受してサービス要求を処理することを特徴とする。
【０００８】
また、本発明は、サービス要求を処理するプロセスは、サービス要求処理終了後、次のサービス要求時に情報の引き継ぎが必要でなければ前記個別通信路を消滅させ、情報の引き継ぎが必要であれば、前記個別通信路を保持したまま、次のサービス要求を待つことを特徴とする。
【０００９】
【作用】
サービス要求を依頼するプロセスと同時にサービス要求を処理するプロセスを起動する。サービス要求を依頼するプロセスはソケットペアの一方を共用している。サービス要求を処理するプロセスはソケットペアのもう一方を共用している。サービス要求を依頼するプロセスは自分を識別するための識別子をソケットペアに伝達する。サービス要求の処理が可能なサービス要求を処理するプロセスはソケットペアから識別子を取り出す。該サービス要求を処理するプロセスは、取り出した識別子からサービス要求を依頼したプロセスを識別し、この識別したプロセスとの間を結ぶ個別通信路を生成する。サービス要求を依頼するプロセスからサービス要求を処理するプロセスに、個別通信路を通してサービス要求を伝達する。これにより、サービス要求の都度、サービス要求の処理をするプロセスを生成することなく、当該プロセスにサービス要求を依頼するプロセスを動的に結び付け、サービス要求を処理することができる。
【００１０】
サービス要求を処理するプロセスは、次のサービス要求に情報の引き継ぎが必要である場合、個別通信路を保持したまま次のサービス要求を待つ。これにより、処理終了後もサービス要求を依頼するプロセスとサービス要求を処理するプロセスを結び付けた状態で保留することができる。
【００１１】
【実施例】
以下、図１乃至図３により本発明の一実施例を説明する。
【００１２】
図１はサービス要求を依頼するプロセスとサービス要求を処理するプロセスを起動する動作を説明する図である。オペレーティングシステムの制御下で、起動／監視プロセス１００は、サービス要求を依頼するプロセス１０１、１０２、１０３と同時にサービス要求を処理するプロセス１１１、１１２を起動する。さらに、起動／監視プロセス１００は、入力／出力が対となった１つの論理通信路である制御用通信路のソケットペア１２０を開設して、該ソケットペア１２０の一方の口（入力側）をサービス要求を依頼するプロセス１０１、１０２、１０３に共有とし、他方の口（出力側）をサービス要求を処理するプロセス１１１、１１２に共有とする。
【００１３】
なお、本実施例では、サービス要求を依頼するプロセスをプロセス（Ａ）、
（Ｂ）、（Ｃ）、サービス要求を処理するプロセスをプロセス（１）、（２）としたが、勿論、これは説明の便宜上にすぎないものである。
【００１４】
図２はサービス要求を依頼するプロセスからソケットペアにサービス要求の識別子を依頼する動作を説明する図である。ここでは、サービス要求を依頼するプロセス（Ａ）１０１に着目して処理の流れを説明する。
【００１５】
サービス要求を依頼するプロセス（Ａ）１０１は、自分がサービス要求を依頼したプロセス（Ａ）であるという識別子１２１を１バイト長のデータとしてソケットペア１２０に入力する。なお、識別子のデータ長は、プロセスを一意に識別可能であれば良く、１バイトに限定されるものではない。ソケットペア１２０は、入力された識別子１２１をサービス要求を処理するプロセス側に伝達する。ここで、サービス要求を処理するプロセス（１）１１１及びサービス要求を処理するプロセス（２）１１２ともサービス要求が処理可能である場合、ソケットペア１２０は、これらサービス要求を処理するプロセス１１１、１１２の両方に識別子１２１の存在を通知する。ＯＳはサービス要求を依頼するプロセス、サービス要求を処理するプロセスの状況を管理しており、起動／監視プロセス１００を通して、ソケットペア１２０はサービス要求を処理するプロセス１１１、１１２が処理中かどうか知ることができる。
【００１６】
サービス要求を処理するプロセス（１）１１１とサービス要求を処理するプロセス（２）１１２のうち、ソケットペア１２０へのアクセスの早い方が識別子１２１を取り出す。ここでは、サービス要求を処理するプロセス（１）１１１が早い場合で説明する。識別子１２１を取り出した側のサービス要求を処理するプロセス（１）１１１は、サービス要求の処理を行う。一方、識別子１２１の取り出しができなかった側のサービス要求を処理するプロセス（２）１１２は、ソケットペア１２０から次のサービス要求の識別子の存在を通知されるのを待つ。
【００１７】
このようにして、サービス要求を依頼するプロセス側とサービス要求を処理するプロセス側を動的に結び付けることが可能になる。
【００１８】
図３はサービス要求を依頼するプロセスとサービス要求を処理するプロセスが個別通信路で結ばれた状態を示す図である。ここでは、サービス要求を依頼するプロセス（Ａ）１０１とサービス要求を処理するプロセス（１）１１１が個別通信路で結ばれる場合について説明する。サービス要求を処理するプロセス（１）１１１は、ソケットペア１２０から識別子１２１を取り出し、該識別子１２１から、サービス要求の依頼がプロセス（Ａ）１０１からであることを識別する。したがって、サービス要求を処理するプロセス（１）１１１は、サービス要求を依頼するプロセス（Ａ）１０１との間に個別通信路１３１を生成する。以降、サービス要求を依頼するプロセス（Ａ）１０１とサービス要求を処理するプロセス
（１）１１１の間での、サービス要求、サービス要求の処理結果などの送受信は個別通信路１２１経由で行われる。
【００１９】
サービス要求の処理終了後、サービス要求を処理するプロセス（１）１１１は、サービス要求を依頼するプロセス（Ａ）１０１からの次のサービス要求に情報の引き継ぎが必要である場合、個別通信路１３１を保持し、該個別通信路１３１によりサービス要求を依頼するプロセス（Ａ）１０１から次のサービス要求を受け取る。サービス要求を依頼するプロセス（Ａ）１０１は、サービス要求を送信後、同様に個別通信路１３１を経由して、サービス要求を処理するプロセス（１）１１１と情報の引き継ぎを行う。サービス要求を依頼するプロセス（Ａ）１０１からの次のサービス要求に情報の引き継ぎが必要でない場合、サービス要求を処理するプロセス（１）１１１は、サービス要求の処理終了後、個別通信路１３１を消滅させて、ソケットペア１２０から次のサービス要求の識別子の取り出しを待つ。なお、次のサービス要求の引き継ぎが必要か否かは、あらかじめサービス要求を依頼するプロセス（Ａ）１０１からサービス要求を処理するプロセス
（１）１１１に知らせておく。
【００２０】
図５に、従来の分散サービス処理制御方法と本発明方法におけるサービス要求処理時間を比較した例を示す。ただし、図５においては、サービス要求処理時間には、サービス処理時間の削減は本発明の対象ではないので除いてある。従来の分散サービス処理制御方法においては、引き継ぎ情報を２次記憶装置へ保存および読み込みに要する時間、サービス要求を処理するプロセスの生成および起動に要する時間は、いずれも２次記憶装置を操作するため、本発明方法のサービス要求を処理するプロセスへの動的結び付け、個別通信路の生成、消滅に要する時間の数十から数百倍を要する。したがって、サービス要求処理時間は、本発明方法を用いた場合、従来方法に比較して十分に短くすることが可能になる。
【００２１】
図６は、本発明が適用される分散サービス処理システムの具体的構成例を示したものである。ここで、サービス依頼側の各サーバがサービス要求を依頼するプロセスに、カスタムサーバの各々がサービス要求を処理するプロセスにそれぞれ対応する。監視モニタは起動／監視プロセスに対応する。サービス制御・リクエストブローカはパソコン−サーバ間の交換処理を行うものである。オペレーションシステム（ＯＳ）は分散サービス環境全体の監視／管理を司どり、該分散サービス環境のサービス開始の準備処理として、監視モニタの起動／監視プロセスを起動し、該起動／監視プロセスが、図１で説明したように、サービス依頼側の各サービス要求を依頼するプロセスとカスタムサーバ側の各サービス要求を処理するプロセスを起動すると同時に、入力／出力が対の制御用通信路のソケットペアを設定して、該ソケットペアの入力側をサービス依頼側の各プロセスの共有とし、該ソケットペアの出力側をカスタムサーバ側の各プロセスの共有とする。個別通信路は、図２、図３で説明したようにして、サービス依頼側の任意のプロセスとカスタムサーバ側の任意のプロセスとの間で動的に設定される。
【００２２】
【発明の効果】
以上説明したように、本発明の分散サービス処理方法によれば、サービス要求から要求処理完了までの処理時間を短縮することが可能となり、また、次のサービス要求に情報を引き継ぎを行うことが可能となる。
【図面の簡単な説明】
【図１】本発明の分散サービス処理制御方法におけるサービス要求を依頼するプロセスとサービス要求を処理するプロセスの起動を説明する図である。
【図２】サービス要求を依頼するプロセスからソケットペアにサービス要求の識別子を依頼した場合の図である。
【図３】サービス要求を依頼するプロセスとサービス要求を処理するプロセスが個別通信路で結ばれた状態の図である。
【図４】従来の分散サービス処理制御方法の処理を説明する図である。
【図５】従来の分散サービス処理制御方法と本発明方法におけるサービス要求処理時間を比較した図である。
【図６】分散サービス処理システムのシステム環境の構成例を示す図である。
【符号の説明】
１００  起動／監視プロセス１００
１０１、１０２、１０３  サービス要求を依頼するプロセス
１１１、１１２  サービス要求を処理するプロセス
１２０  制御用通信路（ソケットペア）
１２１  識別子
１３１  個別通信路
【図１】
0003883216.tif 000002
【図２】
0003883216.tif 000003
【図３】
0003883216.tif 000004
【図４】
0003883216.tif 000005
【図５】
0003883216.tif 000006
【図６】
0003883216.tif 000007