(57)【要約】【課題】仮想メインフレームシステムにおいて、システムを構成する装置のソフトウェアを改変することなくシステムを正常に起動すること。【解決手段】ＩＯコントローラ接続部１３１は、サーバ装置１００の起動時に、ＩＯコントローラにアクセスする。データバッファ部１３２は、ＩＯコントローラ接続部１３１から出力されるデータを一時的に保持し、接続制御部１３３によってクライアント装置２００との接続が確立された後に、保持されたデータを接続制御部１３３へ出力する。接続制御部１３３は、サーバ装置１００の起動時に、クライアント装置２００からの接続を受け付ける。モード切替部１３４は、ＩＯコントローラ接続部１３１および接続制御部１３３の双方から接続が完了した旨が通知されると、ＩＯコントローラ接続部１３１および接続制御部１３３をパススルーモードに設定する。【選択図】        図１
2008262273.tif 000002
【特許請求の範囲】
【請求項１】
データを処理・加工するソフトウェアを備えたサーバ装置と前記サーバ装置において処理・加工されたデータを表示するソフトウェアを備えたクライアント装置とを有するデータ処理システムであって、
前記サーバ装置は、
電源投入時に前記クライアント装置との接続を開始する第１接続制御手段と、
前記第１接続制御手段による接続制御中に、前記サーバ装置内のソフトウェアと接続して前記サーバ装置が前記クライアント装置と接続済みであると認識させる第１接続手段とを有し、
前記クライアント装置は、
電源投入時に前記サーバ装置との接続を開始する第２接続制御手段と、
前記第２接続制御手段による接続制御中に、前記クライアント装置内のソフトウェアと接続して前記クライアント装置が前記サーバ装置と接続済みであると認識させる第２接続手段とを有する
ことを特徴とするデータ処理システム。
【請求項２】
前記サーバ装置は、
前記第１接続手段と接続するソフトウェアによって出力されるデータを格納するバッファ手段をさらに有し、
前記第１接続制御手段は、
前記クライアント装置との接続確立後、前記バッファ手段に格納されたデータを前記クライアント装置へ転送することを特徴とする請求項１記載のデータ処理システム。
【請求項３】
前記サーバ装置は、
前記第１接続制御手段および前記第１接続手段がそれぞれ前記クライアント装置およびソフトウェアとの接続を確立した後、前記第１接続制御手段および前記第１接続手段をパススルーモードへ切り替える切替手段をさらに有することを特徴とする請求項１記載のデータ処理システム。
【請求項４】
前記クライアント装置は、
前記第２接続制御手段および前記第２接続手段がそれぞれ前記クライアント装置およびソフトウェアとの接続を確立した後、前記第２接続制御手段および前記第２接続手段をパススルーモードへ切り替える切替手段をさらに有することを特徴とする請求項１記載のデータ処理システム。
【請求項５】
データを処理するソフトウェアが他装置との接続を前提に起動するコンピュータにおけるデーモンプログラムであって、前記コンピュータに、
電源投入時に前記他装置との接続を確立する接続制御工程と、
前記接続制御工程中に、前記ソフトウェアにアクセスして前記コンピュータが前記他装置と接続済みであると認識させるアクセス工程と
を実行させることを特徴とするデーモンプログラム。
【請求項６】
前記アクセス工程終了後に起動する前記ソフトウェアによって処理されたデータをバッファに格納する格納工程と、
前記格納工程にてバッファに格納されたデータを前記接続制御工程終了後に前記他装置へ転送する転送工程と
をさらにコンピュータに実行させることを特徴とする請求項５記載のデーモンプログラム。
【請求項７】
データを処理するソフトウェアが他装置との接続を前提に起動するコンピュータにおけるコンピュータ起動方法であって、
電源投入時に前記他装置との接続を確立する接続制御工程と、
前記接続制御工程中に、前記ソフトウェアにアクセスして前記コンピュータが前記他装置と接続済みであると認識させるアクセス工程と
を有することを特徴とするコンピュータ起動方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理システム、デーモンプログラム、およびコンピュータ起動方法に関し、特に、仮想メインフレームシステムにおいて、システムを構成する装置のソフトウェアを改変することなくシステムを正常に起動することができるデータ処理システム、デーモンプログラム、およびコンピュータ起動方法に関する。
【背景技術】
【０００２】
従来、メインフレームと呼ばれる大型の汎用コンピュータシステムは、例えば企業の基幹業務などに用いられている。メインフレームシステムは、図１０に示すように、メインユニット１０、サービスプロセッサ２０、およびコンソール３０などから構成されている。メインユニット１０は、ＣＰＵ（Central Processing Unit）およびＯＳ（Operating System）などを備え、実際にデータの処理や加工を実行する。サービスプロセッサ２０は、メインユニット１０とコンソール３０の間のデータの入出力を制御するとともに、電源などの制御を行う。コンソール３０は、ユーザが操作する端末であり、サービスプロセッサ２０を介してメインユニット１０から送信されるデータの表示などを行う。
【０００３】
このようなメインフレームシステムの起動時には、サービスプロセッサ２０によってメインユニット１０とコンソール３０の接続がハードウェア的に管理されるため、メインユニット１０からデータが送信される際に、コンソール３０が未接続であるなどの事態が生じることがなく、メインフレームシステムの起動が失敗することがない。
【０００４】
ところで、近年では、コンピュータの小型化・低価格化が進んだり、ネットワーク技術が普及したりしたことから、例えば特許文献１に記載されたような仮想メインフレームが構築されるようになっている。仮想メインフレームシステムにおいては、上述したメインユニット１０およびサービスプロセッサ２０が１台のサーバ装置などにソフトウェアとして格納され、コンソール３０に相当するパソコンなどのクライアント装置にデータの表示が行われる。このような仮想メインフレームシステムにおけるサーバ装置およびクライアント装置は、互いにＬＡＮ（Local Area Network）によって接続されている。
【０００５】
【特許文献１】特開平７−１０５０３０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した仮想メインフレームシステムにおいては、システムを起動する際、サーバ装置とクライアント装置のすべてのソフトウェアの起動が完全に同期することはなく、システム全体が正常に起動しないことがあるという問題がある。
【０００７】
すなわち、サーバ装置とクライアント装置の電源を同時に入れても、必ずしもサーバ装置内のサービスプロセッサ２０に対応するソフトウェアが最初に起動するとは限らない。そして、サービスプロセッサ２０に対応するソフトウェアが起動しないうちに、クライアント装置からサーバ装置への接続が試行されると、クライアント装置によるサーバ装置への接続は失敗する。さらに、サーバ装置内のメインユニット１０に対応するソフトウェアは、クライアント装置との接続を前提にして起動するため、クライアント装置がサーバ装置に接続されていないと、このソフトウェアも正常に起動しない。
【０００８】
このように、仮想メインフレームシステムにおいては、各々の機能がソフトウェア主導で実現されるため、装置が正常に動作していても、各ソフトウェアの起動タイミングが適切でなければ、システム全体の起動が妨げられる。また、サーバ装置およびクライアント装置がＬＡＮにより接続されているため、サーバ装置およびクライアント装置そのものの電源を容易に制御することはできず、結果として、各ソフトウェアの起動タイミングの制御がより困難となっている。
【０００９】
さらに、ソフトウェアを改変して起動タイミングを制御することも考えられるが、この場合には、例えばＯＳのような既存の基本ソフトウェアを改変する必要が生じ、コストが増大するとともにシステムの汎用性が損なわれてしまう。
【００１０】
本発明はかかる点に鑑みてなされたものであり、仮想メインフレームシステムにおいて、システムを構成する装置のソフトウェアを改変することなくシステムを正常に起動することができるデータ処理システム、デーモンプログラム、およびコンピュータ起動方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明は、データを処理・加工するソフトウェアを備えたサーバ装置と前記サーバ装置において処理・加工されたデータを表示するソフトウェアを備えたクライアント装置とを有するデータ処理システムであって、前記サーバ装置は、電源投入時に前記クライアント装置との接続を開始する第１接続制御手段と、前記第１接続制御手段による接続制御中に、前記サーバ装置内のソフトウェアと接続して前記サーバ装置が前記クライアント装置と接続済みであると認識させる第１接続手段とを有し、前記クライアント装置は、電源投入時に前記サーバ装置との接続を開始する第２接続制御手段と、前記第２接続制御手段による接続制御中に、前記クライアント装置内のソフトウェアと接続して前記クライアント装置が前記サーバ装置と接続済みであると認識させる第２接続手段とを有することを特徴とする。
【００１２】
また、本発明は、上記発明において、前記サーバ装置は、前記第１接続手段と接続するソフトウェアによって出力されるデータを格納するバッファ手段をさらに有し、前記第１接続制御手段は、前記クライアント装置との接続確立後、前記バッファ手段に格納されたデータを前記クライアント装置へ転送することを特徴とする。
【００１３】
また、本発明は、上記発明において、前記サーバ装置は、前記第１接続制御手段および前記第１接続手段がそれぞれ前記クライアント装置およびソフトウェアとの接続を確立した後、前記第１接続制御手段および前記第１接続手段をパススルーモードへ切り替える切替手段をさらに有することを特徴とする。
【００１４】
また、本発明は、上記発明において、前記クライアント装置は、前記第２接続制御手段および前記第２接続手段がそれぞれ前記クライアント装置およびソフトウェアとの接続を確立した後、前記第２接続制御手段および前記第２接続手段をパススルーモードへ切り替える切替手段をさらに有することを特徴とする。
【００１５】
また、本発明は、データを処理するソフトウェアが他装置との接続を前提に起動するコンピュータにおけるデーモンプログラムであって、前記コンピュータに、電源投入時に前記他装置との接続を確立する接続制御工程と、前記接続制御工程中に、前記ソフトウェアにアクセスして前記コンピュータが前記他装置と接続済みであると認識させるアクセス工程とを実行させることを特徴とする。
【００１６】
また、本発明は、上記発明において、前記アクセス工程終了後に起動する前記ソフトウェアによって処理されたデータをバッファに格納する格納工程と、前記格納工程にてバッファに格納されたデータを前記接続制御工程終了後に前記他装置へ転送する転送工程とをさらにコンピュータに実行させることを特徴とする。
【００１７】
また、本発明は、上記発明において、前記接続制御工程終了後、前記ソフトウェアによって処理されたデータを前記他装置へパススルーするパススルー工程をさらにコンピュータに実行させることを特徴とする。
【００１８】
また、本発明は、データを処理するソフトウェアが他装置との接続を前提に起動するコンピュータにおけるコンピュータ起動方法であって、電源投入時に前記他装置との接続を確立する接続制御工程と、前記接続制御工程中に、前記ソフトウェアにアクセスして前記コンピュータが前記他装置と接続済みであると認識させるアクセス工程とを有することを特徴とする。
【００１９】
また、本発明は、上記発明において、前記アクセス工程終了後に起動する前記ソフトウェアによって処理されたデータをバッファに格納する格納工程と、前記格納工程にてバッファに格納されたデータを前記接続制御工程終了後に前記他装置へ転送する転送工程とをさらに有することを特徴とする。
【００２０】
また、本発明は、上記発明において、前記接続制御工程終了後、前記ソフトウェアによって処理されたデータを前記他装置へパススルーするパススルー工程をさらに有することを特徴とする。
【発明の効果】
【００２１】
本発明によれば、サーバ装置は、電源投入時にクライアント装置との接続を開始し、接続制御中に、サーバ装置内のソフトウェアと接続してサーバ装置がクライアント装置と接続済みであると認識させ、クライアント装置は、電源投入時にサーバ装置との接続を開始し、接続制御中に、クライアント装置内のソフトウェアと接続してクライアント装置がサーバ装置と接続済みであると認識させる。このため、サーバ装置およびクライアント装置内の互いの接続を前提として起動するソフトウェアは、装置間の接続制御中であっても既に接続が完了しているものとして正常に起動し、仮想メインフレームシステムにおいて、システムを構成する装置のソフトウェアを改変することなくシステムを正常に起動することができる。
【００２２】
また、本発明によれば、ソフトウェアによって出力されるデータを格納し、クライアント装置との接続確立後、格納されたデータをクライアント装置へ転送するため、接続制御中にサーバ装置のソフトウェアによって処理されたデータを確実にクライアント装置へ転送し、データの消失を防止することができる。
【００２３】
また、本発明によれば、電源投入時に他装置との接続を確立し、接続制御中に、ソフトウェアにアクセスしてコンピュータが他装置と接続済みであると認識させるため、ソフトウェアは、装置間の接続制御中であっても既に接続が完了しているものとして正常に起動し、仮想メインフレームシステムにおいて、システムを構成する装置のソフトウェアを改変することなくシステムを正常に起動することができる。
【００２４】
また、本発明によれば、アクセス終了後に起動するソフトウェアによって処理されたデータをバッファに格納し、バッファに格納されたデータを接続制御終了後に他装置へ転送する。このため、接続制御中にソフトウェアによって処理されたデータを確実に他装置へ転送し、データの消失を防止することができる。
【００２５】
また、本発明によれば、接続制御終了後、ソフトウェアによって処理されたデータをクライアント装置へパススルーするため、装置間の接続確立後は、ソフトウェアを通常通りに機能させることができ、ソフトウェアの改変の必要がない。
【発明を実施するための最良の形態】
【００２６】
本発明の骨子は、サーバ装置およびクライアント装置の起動時に、装置間の接続を制御するとともに、それぞれの装置内のソフトウェアに対して対向する装置の代理をするデーモンプログラムを実行させることである。以下、本発明の一実施の形態について、図面を参照して詳細に説明する。
【００２７】
図１は、本発明の一実施の形態に係る仮想メインフレームシステムの要部構成を示すブロック図である。同図に示す仮想メインフレームシステムは、サーバ装置１００とクライアント装置２００がＬＡＮによって接続されて構成されている。そして、サーバ装置１００は、ＯＳ実行部１１０、ＩＯ（Input Output）コントローラ実行部１２０、およびデーモン実行部１３０を有している。
【００２８】
ＯＳ実行部１１０は、サーバ装置１００の基本ソフトウェアであるＯＳの実行を実現し、このＯＳ上で種々のアプリケーションソフトウェア（以下、単に「アプリケーション」という）を実行する。そして、ＯＳ実行部１１０は、ＯＳやＯＳ上で動作するアプリケーションによってデータの処理・加工を行い、得られたデータをクライアント装置２００へ送信するためにＩＯコントローラ実行部１２０へ出力する。
【００２９】
また、ＯＳ実行部１１０は、ＯＳ起動時にクライアント装置２００との接続が完了しているか否かをＩＯコントローラ実行部１２０へ問い合わせ、接続が完了していればＯＳの起動処理を続け、ＯＳ自身が生成・加工するデータやアプリケーションからのデータをＩＯコントローラ実行部１２０へ出力し始める。
【００３０】
ＩＯコントローラ実行部１２０は、サーバ装置１００におけるデータの入出力を制御するソフトウェアであるＩＯコントローラを実行する。そして、ＩＯコントローラ実行部１２０は、ＯＳ実行部１１０から出力されるデータをデーモン実行部１３０へ出力する。
【００３１】
また、ＩＯコントローラ実行部１２０は、ＩＯコントローラ起動時にデーモン実行部１３０と接続し、デーモン実行部１３０との接続をクライアント装置２００との接続であると認識する。したがって、ＩＯコントローラ実行部１２０は、ＯＳ実行部１１０からクライアント装置２００との接続が完了しているか否かが問い合わせられると、デーモン実行部１３０との接続後は、接続が完了していると応答する。
【００３２】
デーモン実行部１３０は、サーバ装置１００の起動時にＯＳおよびＩＯコントローラより先に起動するデーモンプログラム（以下、単に「デーモン」という）を実行し、クライアント装置２００との接続制御を開始するとともに、ＩＯコントローラ実行部１２０との接続を試行する。また、デーモン実行部１３０は、クライアント装置２００およびＩＯコントローラ実行部１２０との接続が確立されると、パススルーモードに移行し、ＩＯコントローラ実行部１２０から出力されるデータをクライアント装置２００へ転送する。
【００３３】
具体的には、デーモン実行部１３０は、ＩＯコントローラ接続部１３１、データバッファ部１３２、接続制御部１３３、およびモード切替部１３４を有している。
【００３４】
ＩＯコントローラ接続部１３１は、サーバ装置１００の起動に伴うデーモン実行時には接続モードに設定され、ＩＯコントローラ実行部１２０への接続を試行し、ＩＯコントローラに対応するポート番号においてＩＯコントローラとアクセスする。そして、ＩＯコントローラ接続部１３１は、ＩＯコントローラ実行部１２０との接続が完了すると、その旨をモード切替部１３４へ通知し、以降、ＩＯコントローラ実行部１２０から出力されるデータをデータバッファ部１３２に格納する。また、ＩＯコントローラ接続部１３１は、モード切替部１３４によってパススルーモードに切り替えられると、単なるデータの通路として機能するようになる。
【００３５】
データバッファ部１３２は、例えばＦＩＦＯ（First-In First-Out）方式のバッファから構成されており、ＩＯコントローラ接続部１３１から出力されるデータを一時的に保持し、接続制御部１３３によってクライアント装置２００との接続が確立された後に、保持されたデータを接続制御部１３３へ出力する。
【００３６】
接続制御部１３３は、サーバ装置１００の起動に伴うデーモン実行時には接続モードに設定され、クライアント装置２００からの接続を受け付ける。具体的には、接続制御部１３３は、クライアント装置２００のデーモンに対応するポート番号を開放する。そして、接続制御部１３３は、クライアント装置２００との接続が完了すると、その旨をモード切替部１３４へ通知する。また、接続制御部１３３は、モード切替部１３４によってパススルーモードに切り替えられると、データバッファ部１３２に保持されたデータをクライアント装置２００へ転送する。
【００３７】
モード切替部１３４は、サーバ装置１００の起動に伴うデーモン実行時に、ＩＯコントローラ接続部１３１および接続制御部１３３を接続モードに設定する。また、モード切替部１３４は、ＩＯコントローラ接続部１３１および接続制御部１３３の双方から接続が完了した旨が通知されると、これらのＩＯコントローラ接続部１３１および接続制御部１３３をパススルーモードに設定する。
【００３８】
一方、図１に示すクライアント装置２００は、デーモン実行部２１０およびエミュレータ実行部２２０を有している。
【００３９】
デーモン実行部２１０は、クライアント装置２００の起動時にクライアント装置２００をメインフレームシステムのコンソールとして機能させるエミュレータより先に起動するデーモンを実行し、サーバ装置１００との接続制御を開始する。また、デーモン実行部２１０は、サーバ装置１００およびエミュレータ実行部２２０との接続が確立されると、パススルーモードに移行し、サーバ装置１００から受信されるデータをエミュレータ実行部２２０へ転送する。
【００４０】
具体的には、デーモン実行部２１０は、接続制御部２１１、エミュレータ接続部２１２、およびモード切替部２１３を有している。
【００４１】
接続制御部２１１は、クライアント装置２００の起動に伴うデーモン実行時には接続モードに設定され、サーバ装置１００への接続を試行する。具体的には、接続制御部２１１は、サーバ装置１００のデーモンに対応するポート番号に接続を試行する。そして、接続制御部２１１は、サーバ装置１００との接続が完了すると、その旨をモード切替部２１３へ通知し、以降、サーバ装置１００からのデータを待機する。また、接続制御部２１１は、モード切替部２１３によってパススルーモードに切り替えられると、単なるデータの通路として機能するようになる。
【００４２】
エミュレータ接続部２１２は、クライアント装置２００の起動に伴うデーモン実行時には接続モードに設定され、エミュレータ実行部２２０からの接続を受け付け、エミュレータに対応するポート番号においてエミュレータとアクセスする。そして、エミュレータ接続部２１２は、エミュレータ実行部２２０との接続が完了すると、その旨をモード切替部２１３へ通知する。また、エミュレータ接続部２１２は、モード切替部２１３によってパススルーモードに切り替えられると、接続制御部２１１に受信されるデータをエミュレータ実行部２２０へそのまま転送する。
【００４３】
モード切替部２１３は、クライアント装置２００の起動に伴うデーモン実行時に、接続制御部２１１およびエミュレータ接続部２１２を接続モードに設定する。また、モード切替部２１３は、接続制御部２１１およびエミュレータ接続部２１２の双方から接続が完了した旨が通知されると、接続制御部２１１およびエミュレータ接続部２１２をパススルーモードに設定する。
【００４４】
エミュレータ実行部２２０は、クライアント装置２００をメインフレームシステムのコンソールとして機能させるエミュレータを実行する。具体的には、エミュレータ実行部２２０は、サーバ装置１００から受信されたデータの表示などを行う。
【００４５】
次いで、上記のように構成されたサーバ装置１００におけるデーモンの処理について、図２に示すフロー図を参照しながら説明する。
【００４６】
まず、サーバ装置１００の電源が入ると、デーモン実行部１３０においてデーモンが起動し、モード切替部１３４によってＩＯコントローラ接続部１３１および接続制御部１３３のモードが接続モードに設定される（ステップＳ１０１）。モードが接続モードに設定されることにより、ＩＯコントローラ接続部１３１によって、ＩＯコントローラ実行部１２０への接続が試行される（ステップＳ１０２）。換言すれば、ＩＯコントローラ接続部１３１がＩＯコントローラへアクセスする。
【００４７】
そして、ＩＯコントローラ実行部１２０との接続が試行された後、ＩＯコントローラ接続部１３１によって、ＩＯコントローラ実行部１２０との接続が完了したか否かが判定される（ステップＳ１０３）。このとき、ＩＯコントローラ実行部１２０においてＩＯコントローラの起動が完了していれば、ＩＯコントローラとの接続が可能となり、ＩＯコントローラ接続部１３１とＩＯコントローラ実行部１２０との接続が確立される。
【００４８】
そして、ＩＯコントローラ接続部１３１とＩＯコントローラ実行部１２０との接続が完了した場合（ステップＳ１０３Ｙｅｓ）、ＩＯコントローラ接続部１３１によって、接続が完了した旨がモード切替部１３４へ通知される。また、接続完了後は、ＯＳ実行部１１０におけるＯＳが起動した後、ＯＳ実行部１１０から出力されるデータがＩＯコントローラ実行部１２０およびＩＯコントローラ接続部１３１を介してデータバッファ部１３２に格納される（ステップＳ１０４）。
【００４９】
ここで、ＩＯコントローラ実行部１２０においてＩＯコントローラが起動する際、ＩＯコントローラ実行部１２０はＩＯコントローラ接続部１３１と接続したに過ぎないが、ＩＯコントローラ実行部１２０においては、クライアント装置２００と接続したものと認識される。そして、ＯＳ実行部１１０においてＯＳが起動する際、クライアント装置２００との接続が完了しているか否かがＩＯコントローラ実行部１２０へ問い合わせられるが、接続済みであるとの応答が得られ、ＯＳが正常に起動する。したがって、ＯＳ実行部１１０からは、アプリケーションによって処理・加工されたデータがＩＯコントローラ実行部１２０へ出力され始める。
【００５０】
一方、ＩＯコントローラ接続部１３１によってＩＯコントローラ実行部１２０との接続が試行される間、接続制御部１３３においては、クライアント装置２００からの接続が待機されている（ステップＳ１０５）。そして、クライアント装置２００との接続が完了すると、接続制御部１３３によって、クライアント装置２００との接続が完了した旨がモード切替部１３４へ通知される。また、接続制御部１３３とクライアント装置２００とが未接続である状態でも、ＯＳ実行部１１０およびＩＯコントローラ実行部１２０は、クライアント装置２００が接続済みであるものとして動作し、ＯＳ実行部１１０から出力されるデータは、データバッファ部１３２に格納される。
【００５１】
この間、モード切替部１３４によって、ＩＯコントローラ接続部１３１および接続制御部１３３の双方から接続が完了した旨が通知されたか否かが監視される（ステップＳ１０６）。この結果、いずれか一方でも未接続であれば（ステップＳ１０６Ｎｏ）、ＩＯコントローラ接続部１３１および接続制御部１３３によって、上述した接続モードでの処理が継続される。また、ＩＯコントローラ接続部１３１および接続制御部１３３の双方における接続が完了すると（ステップＳ１０６Ｙｅｓ）、モード切替部１３４によって、ＩＯコントローラ接続部１３１および接続制御部１３３がパススルーモードに設定される（ステップＳ１０７）。これにより、以後は、ＯＳ実行部１１０から出力されるデータがＩＯコントローラ実行部１２０およびデーモン実行部１３０を介してクライアント装置２００へ送信されるようになる。
【００５２】
また、接続制御部１３３がパススルーモードに設定されると、データバッファ部１３２にデータが保持されているか否かが確認され（ステップＳ１０８）、データが保持されている場合には（ステップＳ１０８Ｙｅｓ）、このデータが接続制御部１３３によってクライアント装置２００へ転送される（ステップＳ１０９）。なお、データバッファ部１３２がＦＩＦＯ方式のバッファから構成されている場合には、パススルーモードに設定後にＩＯコントローラ実行部１２０から出力されるデータもデータバッファ部１３２に一度格納され、先に格納されたデータから順に接続制御部１３３を介してクライアント装置２００へ転送される。
【００５３】
このように、本実施の形態に係るサーバ装置１００のデーモンによれば、クライアント装置２００との接続が確立される前であっても、ＯＳおよびＩＯコントローラをクライアント装置２００との接続後と同様に動作させながら、クライアント装置２００との接続を待機することができる。そして、サーバ装置１００とクライアント装置２００との接続後は、接続前にＩＯコントローラから出力されたデータをバッファからクライアント装置２００へ転送し、データの消失を防止することができる。
【００５４】
次に、本実施の形態に係るクライアント装置２００におけるデーモンの処理について、図３に示すフロー図を参照しながら説明する。
【００５５】
まず、クライアント装置２００の電源が入ると、デーモン実行部２１０においてデーモンが起動し、モード切替部２１３によって接続制御部２１１およびエミュレータ接続部２１２のモードが接続モードに設定される（ステップＳ２０１）。モードが接続モードに設定されることにより、接続制御部２１１によって、サーバ装置１００への接続が試行される（ステップＳ２０２）。
【００５６】
そして、サーバ装置１００との接続が試行された後、接続制御部２１１によって、サーバ装置１００との接続が完了したか否かが判定される（ステップＳ２０３）。このとき、サーバ装置１００においてデーモンの起動が完了していれば、デーモン実行部１３０の接続制御部１３３によってクライアント装置２００からの接続が待機されており、接続制御部２１１とサーバ装置１００の接続制御部１３３との接続が確立される。
【００５７】
そして、接続制御部２１１とサーバ装置１００との接続が完了した場合（ステップＳ２０３Ｙｅｓ）、接続制御部２１１によって、接続が完了した旨がモード切替部２１３へ通知される。また、接続完了後は、サーバ装置１００から送信されるデータが接続制御部２１１によって待機される（ステップＳ２０４）。
【００５８】
一方、接続制御部２１１によってサーバ装置１００との接続が試行される間、エミュレータ接続部２１２においては、エミュレータ実行部２２０からの接続が待機されている（ステップＳ２０５）。このとき、エミュレータ実行部２２０においてエミュレータの起動が完了すれば、エミュレータがサーバ装置１００へ接続するために、エミュレータ接続部２１２に接続する。換言すれば、エミュレータ接続部２１２は、エミュレータにアクセスする。そして、エミュレータ接続部２１２とエミュレータ実行部２２０との接続が完了すると、エミュレータ接続部２１２によって、エミュレータ実行部２２０との接続が完了した旨がモード切替部２１３へ通知される。
【００５９】
ここで、エミュレータ実行部２２０においてエミュレータが起動する際、エミュレータ実行部２２０はエミュレータ接続部２１２と接続したに過ぎないが、エミュレータ実行部２２０においては、サーバ装置１００と接続したものと認識される。このため、エミュレータ実行部２２０では、サーバ装置１００とクライアント装置２００が接続されているものとして、エミュレータが通常通り機能する。すなわち、接続制御部２１１とサーバ装置１００とが未接続である状態でも、エミュレータ実行部２２０は、サーバ装置１００が接続済みであるものとして動作する。
【００６０】
この間、モード切替部２１３によって、接続制御部２１１およびエミュレータ接続部２１２の双方から接続が完了した旨が通知されたか否かが監視される（ステップＳ２０６）。この結果、いずれか一方でも未接続であれば（ステップＳ２０６Ｎｏ）、接続制御部２１１およびエミュレータ接続部２１２によって、上述した接続モードでの処理が継続される。また、接続制御部２１１およびエミュレータ接続部２１２の双方における接続が完了すると（ステップＳ２０６Ｙｅｓ）、モード切替部２１３によって、接続制御部２１１およびエミュレータ接続部２１２がパススルーモードに設定される（ステップＳ２０７）。これにより、以後は、サーバ装置１００からのデータ受信が接続制御部２１１において監視され（ステップＳ２０８）、受信されたデータがエミュレータ接続部２１２を介してエミュレータ実行部２２０へ転送され（ステップＳ２０９）、エミュレータによってデータの表示などが行われるようになる。
【００６１】
このように、本実施の形態に係るクライアント装置２００のデーモンによれば、サーバ装置１００との接続が確立される前であっても、エミュレータをサーバ装置１００との接続後と同様に動作させながら、サーバ装置１００との接続を試行することができる。そして、サーバ装置１００およびクライアント装置２００の双方において起動時にデーモンが動作することにより、各々の装置におけるＯＳなどのソフトウェアは、接続が確立されているものとして正常に起動することができる。換言すれば、仮想メインフレームシステムにおいて、システムを構成する装置のソフトウェアを改変することなくシステムを正常に起動することができる。
【００６２】
次に、本実施の形態に係るデーモンの処理の具体例について、図４〜９を参照して説明する。以下では、サーバ装置１００およびクライアント装置２００の電源が入れられた直後の処理について説明する。サーバ装置１００およびクライアント装置２００の電源が入れられるタイミングは、必ずしも完全に一致していなくて良い。
【００６３】
サーバ装置１００およびクライアント装置２００の電源が入れられた直後は、これらの装置間の接続は確立されておらず、図４に示すように、サーバ装置１００においてはＯＳ、ＩＯコントローラ、およびデーモンがそれぞれ起動を開始し、クライアント装置２００においてはエミュレータおよびデーモンが起動を開始する。デーモンは、ＯＳ、ＩＯコントローラ、およびエミュレータよりも早く起動を完了するため、ここでは、クライアント装置２００のデーモンが最初に起動を完了するものとする。
【００６４】
クライアント装置２００のデーモンが起動を完了すると、図５に示すように、このデーモンによって、サーバ装置１００への接続が試行される。具体的には、クライアント装置２００の接続制御部２１１によって、サーバ装置１００への接続要求が繰り返される。しかし、この時点では、サーバ装置１００のデーモンが起動を完了していないため、サーバ装置１００とクライアント装置２００の接続が確立されることはない。
【００６５】
そして、図６に示すように、クライアント装置２００のエミュレータが起動を完了すると、エミュレータは、デーモンへ接続し、サーバ装置１００とクライアント装置２００とが接続済みであると認識して通常通りの動作を開始する。ただし、この時点では、実際にはサーバ装置１００とクライアント装置２００は未接続である。すなわち、クライアント装置２００の接続制御部２１１によって、サーバ装置１００への接続要求が繰り返されている。
【００６６】
その後、サーバ装置１００のデーモンが起動を完了すると、図７に示すように、このデーモンによって、ＩＯコントローラへの接続が試行される。具体的には、サーバ装置１００のＩＯコントローラ接続部１３１によって、ＩＯコントローラ実行部１２０への接続要求が繰り返される。しかし、この時点では、ＩＯコントローラが起動を完了していないため、ＩＯコントローラ実行部１２０とＩＯコントローラ接続部１３１の接続が確立されることはない。一方、接続制御部１３３においては、クライアント装置２００の接続制御部２１１からの接続要求が検知され、サーバ装置１００とクライアント装置２００の接続が確立される。
【００６７】
これにより、クライアント装置２００においては、デーモン実行部２１０がエミュレータ実行部２２０およびサーバ装置１００の双方と接続したことになるので、以降は、デーモン実行部２１０内の接続制御部２１１およびエミュレータ接続部２１２がパススルーモードに移行する。つまり、クライアント装置２００においては、エミュレータ実行部２２０が直接サーバ装置１００に接続している場合と同様の動作が開始される。
【００６８】
そして、図８に示すように、サーバ装置１００のＩＯコントローラが起動を完了すると、ＩＯコントローラは、デーモンからの接続要求を受け、ＩＯコントローラ実行部１２０とＩＯコントローラ接続部１３１の接続が完了する。このとき、ＩＯコントローラ実行部１２０は、デーモンによるＩＯコントローラ接続部１３１との接続をクライアント装置２００との接続と認識する。したがって、ここでは実際にサーバ装置１００とクライアント装置２００が接続済みであるが、サーバ装置１００とクライアント装置２００が未接続である場合でも、ＩＯコントローラ実行部１２０は、クライアント装置２００との接続が確立されていると認識する。
【００６９】
また、ＩＯコントローラ実行部１２０とＩＯコントローラ接続部１３１の接続により、サーバ装置１００においては、デーモン実行部１３０がＩＯコントローラ実行部１２０およびクライアント装置２００の双方と接続したことになるので、以降は、デーモン実行部１３０内のＩＯコントローラ接続部１３１および接続制御部１３３がパススルーモードに移行する。つまり、サーバ装置１００においては、ＩＯコントローラ実行部１２０が直接クライアント装置２００に接続している場合と同様の動作が開始される。
【００７０】
ＩＯコントローラの起動後、ＯＳはＩＯコントローラへクライアント装置２００が接続しているか否かを問い合わせ、クライアント装置２００が接続している場合には、図９に示すように、ＯＳの起動が完了する。これにより、システム全体のソフトウェアが正常に起動し、サーバ装置１００のデーモン実行部１３０およびクライアント装置２００のデーモン実行部２１０に関しては、パススルーモードに移行しているため、ソフトウェアの正常な起動後は、デーモンがない場合と同様に動作する。
【００７１】
なお、ここでは、ＯＳからＩＯコントローラへクライアント装置２００との接続の有無が問い合わせられる際、実際にサーバ装置１００とクライアント装置２００が接続している。しかし、たとえ未接続であっても、ＩＯコントローラ実行部１２０はＩＯコントローラ接続部１３１との接続をクライアント装置２００との接続と認識しており、ＯＳからの問い合わせに対しては、必ずクライアント装置２００と接続済みである旨の応答がなされる。そして、サーバ装置１００とクライアント装置２００が未接続である場合には、ＯＳおよびＩＯコントローラから出力されるデータがデータバッファ部１３２に格納され、サーバ装置１００とクライアント装置２００の接続が確立された後、データバッファ部１３２からクライアント装置２００へ転送される。
【００７２】
以上のように、本実施の形態によれば、サーバ装置およびクライアント装置の電源が入れられると、最初に起動するデーモンが互いの装置間の接続を開始するとともに、装置内のソフトウェアに対してはサーバ装置およびクライアント装置の接続が完了していると認識させる。このため、装置間の接続を前提として起動するソフトウェアを、サーバ装置とクライアント装置の接続の有無に拘わらず正常に起動させることができ、仮想メインフレームシステムにおいて、システムを構成する装置のソフトウェアを改変することなくシステムを正常に起動することができる。また、サーバ装置とクライアント装置が未接続の間にソフトウェアによって処理されたデータは、デーモンによる接続確立後に対向する装置へ転送されるため、データが消失することもない。
【００７３】
なお、上記一実施の形態においては、ＩＯコントローラ接続部１３１からＩＯコントローラ実行部１２０への接続や接続制御部２１１からサーバ装置１００への接続について、接続が確立されるまでリトライするものとしたが、このリトライ回数の上限を設定しておくようにしても良い。同様に、接続制御部１３３およびエミュレータ接続部２１２においては、接続を待機するものとしたが、この待機時間の上限を設定しておくようにしても良い。
【００７４】
（付記１）データを処理・加工するソフトウェアを備えたサーバ装置と前記サーバ装置において処理・加工されたデータを表示するソフトウェアを備えたクライアント装置とを有するデータ処理システムであって、
前記サーバ装置は、
電源投入時に前記クライアント装置との接続を開始する第１接続制御手段と、
前記第１接続制御手段による接続制御中に、前記サーバ装置内のソフトウェアと接続して前記サーバ装置が前記クライアント装置と接続済みであると認識させる第１接続手段とを有し、
前記クライアント装置は、
電源投入時に前記サーバ装置との接続を開始する第２接続制御手段と、
前記第２接続制御手段による接続制御中に、前記クライアント装置内のソフトウェアと接続して前記クライアント装置が前記サーバ装置と接続済みであると認識させる第２接続手段とを有する
ことを特徴とするデータ処理システム。
【００７５】
（付記２）前記サーバ装置は、
前記第１接続手段と接続するソフトウェアによって出力されるデータを格納するバッファ手段をさらに有し、
前記第１接続制御手段は、
前記クライアント装置との接続確立後、前記バッファ手段に格納されたデータを前記クライアント装置へ転送することを特徴とする付記１記載のデータ処理システム。
【００７６】
（付記３）前記サーバ装置は、
前記第１接続制御手段および前記第１接続手段がそれぞれ前記クライアント装置およびソフトウェアとの接続を確立した後、前記第１接続制御手段および前記第１接続手段をパススルーモードへ切り替える切替手段をさらに有することを特徴とする付記１記載のデータ処理システム。
【００７７】
（付記４）前記クライアント装置は、
前記第２接続制御手段および前記第２接続手段がそれぞれ前記クライアント装置およびソフトウェアとの接続を確立した後、前記第２接続制御手段および前記第２接続手段をパススルーモードへ切り替える切替手段をさらに有することを特徴とする付記１記載のデータ処理システム。
【００７８】
（付記５）データを処理するソフトウェアが他装置との接続を前提に起動するコンピュータにおけるデーモンプログラムであって、前記コンピュータに、
電源投入時に前記他装置との接続を確立する接続制御工程と、
前記接続制御工程中に、前記ソフトウェアにアクセスして前記コンピュータが前記他装置と接続済みであると認識させるアクセス工程と
を実行させることを特徴とするデーモンプログラム。
【００７９】
（付記６）前記アクセス工程終了後に起動する前記ソフトウェアによって処理されたデータをバッファに格納する格納工程と、
前記格納工程にてバッファに格納されたデータを前記接続制御工程終了後に前記他装置へ転送する転送工程と
をさらにコンピュータに実行させることを特徴とする付記５記載のデーモンプログラム。
【００８０】
（付記７）前記接続制御工程終了後、前記ソフトウェアによって処理されたデータを前記他装置へパススルーするパススルー工程をさらにコンピュータに実行させることを特徴とする付記５記載のデーモンプログラム。
【００８１】
（付記８）データを処理するソフトウェアが他装置との接続を前提に起動するコンピュータにおけるコンピュータ起動方法であって、
電源投入時に前記他装置との接続を確立する接続制御工程と、
前記接続制御工程中に、前記ソフトウェアにアクセスして前記コンピュータが前記他装置と接続済みであると認識させるアクセス工程と
を有することを特徴とするコンピュータ起動方法。
【００８２】
（付記９）前記アクセス工程終了後に起動する前記ソフトウェアによって処理されたデータをバッファに格納する格納工程と、
前記格納工程にてバッファに格納されたデータを前記接続制御工程終了後に前記他装置へ転送する転送工程と
をさらに有することを特徴とする付記８記載のコンピュータ起動方法。
【００８３】
（付記１０）前記接続制御工程終了後、前記ソフトウェアによって処理されたデータを前記他装置へパススルーするパススルー工程をさらに有することを特徴とする付記８記載のコンピュータ起動方法。
【産業上の利用可能性】
【００８４】
本発明は、仮想メインフレームシステムにおいて、システムを構成する装置のソフトウェアを改変することなくシステムを正常に起動する場合に適用することができる。
【図面の簡単な説明】
【００８５】
【図１】一実施の形態に係る仮想メインフレームシステムの要部構成を示すブロック図である。
【図２】一実施の形態に係るサーバ装置のデーモンの処理を示すフロー図である。
【図３】一実施の形態に係るクライアント装置のデーモンの処理を示すフロー図である。
【図４】一実施の形態に係るデーモンの処理の具体例を示す図である。
【図５】図４に続く図である。
【図６】図５に続く図である。
【図７】図６に続く図である。
【図８】図７に続く図である。
【図９】図８に続く図である。
【図１０】メインフレームシステムの概略構成を示すブロック図である。
【符号の説明】
【００８６】
１００  サーバ装置
１１０  ＯＳ実行部
１２０  ＩＯコントローラ実行部
１３０  デーモン実行部
１３１  ＩＯコントローラ接続部
１３２  データバッファ部
１３３  接続制御部
１３４  モード切替部
２００  クライアント装置
２１０  デーモン実行部
２１１  接続制御部
２１２  エミュレータ接続部
２１３  モード切替部
２２０  エミュレータ実行部
【図１】
2008262273.tif 000003
【図２】
2008262273.tif 000004
【図３】
2008262273.tif 000005
【図４】
2008262273.tif 000006
【図５】
2008262273.tif 000007
【図６】
2008262273.tif 000008
【図７】
2008262273.tif 000009
【図８】
2008262273.tif 000010
【図９】
2008262273.tif 000011
【図１０】
2008262273.tif 000012