(57)【要約】【課題】スクリプトを効率よく実行する技術を提供する。【解決手段】第１サーバにおける処理を要求する第１スクリプトをクライアント端末が実行する（ステップ２−１）。クライアント端末のインタプリタは、第１サーバから処理結果が返る前に、マークを生成して、データ記憶部に格納する（ステップ２−２）。クライアント端末のスクリプトは、マークが返ると、それをサーバからの結果として仮に扱う。ついで、クライアント端末は、第２サーバに対して処理を要求する第２スクリプトを実行する（ステップ２−３）。マークを仮の結果として生成しているので、クライアント端末は、第１サーバからの実際の結果が返る前に、第２スクリプトを実行できる。マークに対応する実際の結果がサーバから返ってくると、クライアント端末は、それをマークと置換して、スクリプトを実行する。【選択図】図２
2004295262.tif 000002
【特許請求の範囲】
【請求項１】
以下のステップを備えるスクリプトの実行方法：
（１）第１サーバにおける処理を要求する第１スクリプトをクライアント端末が実行するステップ；
（２）前記クライアント端末は、第１サーバから処理結果が返る前にマークを生成して格納するステップ；
（３）前記クライアント端末は、前記ステップ（２）の後、第２サーバまたはクライアント端末自身に対して処理を要求する第２スクリプトを実行するステップ；
（４）前記第１および第２スクリプトに対する処理結果が前記クライアント端末に返った後、これらの処理結果を利用する第３スクリプトをクライアント端末が実行するステップ。
【請求項２】
以下のステップを備えるスクリプトの実行方法：
（１）クライアント端末から送られた、第２サーバにおける処理を要求する第１スクリプトを第１サーバが実行するステップ；
（２）前記第１サーバは、前記第２サーバから処理結果が返る前にマークを生成して、前記第１サーバにおけるデータ記憶部に格納するステップ；
（３）前記クライアント端末から送られた、第３サーバまたは第１サーバ自身における処理を要求する第２スクリプトを第１サーバが実行するステップ。
【請求項３】
クライアント端末、第１サーバおよび第２サーバを備えており、前記クライアント端末は以下のステップを実行するシステム：
（１）前記第１サーバにおける処理を要求する第１スクリプトを実行するステップ；
（２）前記第１サーバから処理結果が返る前にマークを生成して格納するステップ；
（３）前記ステップ（２）の後、前記第２サーバまたは前記クライアント端末自身に対して処理を要求する第２スクリプトを実行するステップ；
（４）前記第１および第２スクリプトに対する処理結果が前記クライアント端末に返った後、これらの処理結果を利用する第３スクリプトを実行するステップ。
【請求項４】
クライアント端末、第１サーバ、第２サーバおよび第３サーバを備えており、前記第１サーバは以下のステップを実行するシステム：
（１）前記クライアント端末から送られた、前記第２サーバにおける処理を要求する第１スクリプトを実行するステップ；
（２）前記第２サーバから処理結果が返る前にマークを生成して、前記第１サーバにおけるデータ記憶部に格納するステップ；
（３）前記クライアント端末から送られた、第３サーバまたは第１サーバ自身における処理を要求する第２スクリプトを実行するステップ。
【請求項５】
前記第２サーバと前記第３サーバとは同一のサーバであることを特徴とする請求項４記載のシステム。
【請求項６】
以下のステップを実行するクライアント端末：
（１）第１サーバにおける処理を要求する第１スクリプトを実行するステップ；
（２）第１サーバから処理結果が返る前にマークを生成して格納するステップ；
（３）前記ステップ（２）の後、第２サーバまたはクライアント端末自身に対して処理を要求する第２スクリプトを実行するステップ；
（４）前記第１および第２スクリプトに対する処理結果が前記クライアント端末に返った後、これらの処理結果を利用する第３スクリプトを実行するステップ。
【請求項７】
以下のステップを実行する第１サーバ：
（１）クライアント端末から送られた、第２サーバにおける処理を要求する第１スクリプトを実行するステップ；
（２）第２サーバから処理結果が返る前にマークを生成して、前記第１サーバにおけるデータ記憶部に格納するステップ；
（３）前記クライアント端末から送られた、第３サーバまたは第１サーバ自身における処理を要求する第２スクリプトを実行するステップ。
【請求項８】
以下のステップを実行するクライアント端末用プログラム：
（１）第１サーバにおける処理を要求する第１スクリプトを実行するステップ；
（２）第１サーバから処理結果が返る前にマークを生成して格納するステップ；
（３）前記ステップ（２）の後、第２サーバまたはクライアント端末自身に対して処理を要求する第２スクリプトを実行するステップ；
（４）前記第１および第２スクリプトに対する処理結果が前記クライアント端末に返った後、これらの処理結果を利用する第３スクリプトを実行するステップ。
【請求項９】
以下のステップを実行する第１サーバ用プログラム：
（１）クライアント端末から送られた、第２サーバにおける処理を要求する第１スクリプトを実行するステップ；
（２）第２サーバから処理結果が返る前にマークを生成して、前記第１サーバにおけるデータ記憶部に格納するステップ；
（３）前記クライアント端末から送られた、第３サーバまたは第１サーバ自身における処理を要求する第２スクリプトを実行するステップ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、スクリプトの実行方法に関するものである。
【０００２】
【発明の背景】
サーバ・クライアントシステムにおいては、クライアントまたはサーバにあるスクリプトによって、ランデブーが行われる。ランデブーとは、サーバがクライアント端末からの要求を受け付けて実行結果を返すまで、クライアント端末が待ち続けることである。このランデブーにより、サーバとクライアント端末の実行動作を同期させることができる。このようなランデブーを行うときには、ネットワークの通信オーバヘッドにより、スクリプトの実行が、長い時間にわたって待ちの状態になる。このため、従来のシステムでは、スクリプトの実行効率が非常に低くなる場合がある。
【０００３】
例えば、クライアントＣが、サーバＳ，Ｔ，Ｕとランデブーする状況を考える。クライアントＣ上で以下のようなスクリプトを動作させる。
（ｆｕｎｃ
（ｒｅｍｏｔｅ  Ｓ  （ｒｖ−Ｓ））
（ｒｅｍｏｔｅ  Ｔ  （ｒｖ−Ｔ））
（ｒｅｍｏｔｅ  Ｕ  （ｒｖ−Ｕ）））
このスクリプトをアプリカティブ・オーダで解釈すると以下のような実行の順番になる。
１．  ｒｖ−Ｓ  をサーバＳ上で実行し、結果を得る。ネットワークをも含めた実行時間をｄ＿Ｓとする。
２．  ｒｖ−Ｔ  をサーバＴ上で実行し、結果を得る。同様実行時間をｄ＿Ｔとする。
３．  ｒｖ−Ｕ  をサーバＴ上で実行し、結果を得る。同様実行時間をｄ＿Ｕとする。
４．  以上三つの結果をｆｕｎｃに与え、結果を得る。その実行時間ｄ＿ｆｕｎｃとする。
【０００４】
以上の全プロセスにかかる時間は、
ｄ＿Ｓ  ＋  ｄ＿Ｔ  ＋  ｄ＿Ｕ  ＋  ｄ＿ｆｕｎｃ
となる。
【０００５】
しかし、時間ｄ＿Ｓ  ＋  ｄ＿Ｔ  ＋  ｄ＿Ｕの間は、サーバ側の処理が行われており、クライアントＣはほとんどアイドル状態であると言える。
【０００６】
【発明が解決しようとする課題】
本発明は、前記の事情に鑑みてなされたものである。本発明の目的は、スクリプトを効率よく実行する技術を提供することである。
【０００７】
【課題を解決するための手段】
本発明に係るスクリプトの実行方法は、以下のステップを備えている：
（１）第１サーバにおける処理を要求する第１スクリプトをクライアント端末が実行するステップ；
（２）前記クライアント端末は、第１サーバから処理結果が返る前にマークを生成して格納するステップ；
（３）前記クライアント端末は、前記ステップ（２）の後、第２サーバまたはクライアント端末自身に対して処理を要求する第２スクリプトを実行するステップ；
（４）前記第１および第２スクリプトに対する処理結果が前記クライアント端末に返った後、これらの処理結果を利用する第３スクリプトをクライアント端末が実行するステップ。
【０００８】
本発明に係るスクリプトの実行方法は、次のステップを備えていてもよい：
（１）クライアント端末から送られた、第２サーバにおける処理を要求する第１スクリプトを第１サーバが実行するステップ；
（２）前記第１サーバは、前記第２サーバから処理結果が返る前にマークを生成して、前記第１サーバにおけるデータ記憶部に格納するステップ；
（３）前記クライアント端末から送られた、第３サーバまたは第１サーバ自身における処理を要求する第２スクリプトを第１サーバが実行するステップ。
【０００９】
本発明に係るシステムは、クライアント端末、第１サーバおよび第２サーバを備えている。さらに、クライアント端末は、以下のステップを実行するものである：
（１）前記第１サーバにおける処理を要求する第１スクリプトを実行するステップ；
（２）前記第１サーバから処理結果が返る前にマークを生成して格納するステップ；
（３）前記ステップ（２）の後、前記第２サーバまたは前記クライアント端末自身に対して処理を要求する第２スクリプトを実行するステップ；
（４）前記第１および第２スクリプトに対する処理結果が前記クライアント端末に返った後、これらの処理結果を利用する第３スクリプトを実行するステップ。
【００１０】
本発明に係る他のシステムは、クライアント端末、第１サーバ、第２サーバおよび第３サーバを備えており、前記第１サーバは以下のステップを実行するものである：
（１）前記クライアント端末から送られた、前記第２サーバにおける処理を要求する第１スクリプトを実行するステップ；
（２）前記第２サーバから処理結果が返る前にマークを生成して、前記第１サーバにおけるデータ記憶部に格納するステップ；
（３）前記クライアント端末から送られた、第３サーバまたは第１サーバ自身における処理を要求する第２スクリプトを実行するステップ。
【００１１】
このシステムにおいて、前記第２サーバと前記第３サーバとは同一のサーバであってもよい。
【００１２】
本発明に係るクライアント端末は、以下のステップを実行するものである：
（１）第１サーバにおける処理を要求する第１スクリプトを実行するステップ；
（２）第１サーバから処理結果が返る前にマークを生成して格納するステップ；
（３）前記ステップ（２）の後、第２サーバまたはクライアント端末自身に対して処理を要求する第２スクリプトを実行するステップ；
（４）前記第１および第２スクリプトに対する処理結果が前記クライアント端末に返った後、これらの処理結果を利用する第３スクリプトを実行するステップ。
【００１３】
本発明に係る第１サーバは、以下のステップを実行するものである：
（１）クライアント端末から送られた、第２サーバにおける処理を要求する第１スクリプトを実行するステップ；
（２）第２サーバから処理結果が返る前にマークを生成して、前記第１サーバにおけるデータ記憶部に格納するステップ；
（３）前記クライアント端末から送られた、第３サーバまたは第１サーバ自身における処理を要求する第２スクリプトを実行するステップ。
【００１４】
本発明に係るクライアント端末用プログラムは、以下のステップを実行するものである：
（１）第１サーバにおける処理を要求する第１スクリプトを実行するステップ；
（２）第１サーバから処理結果が返る前にマークを生成して格納するステップ；
（３）前記ステップ（２）の後、第２サーバまたはクライアント端末自身に対して処理を要求する第２スクリプトを実行するステップ；
（４）前記第１および第２スクリプトに対する処理結果が前記クライアント端末に返った後、これらの処理結果を利用する第３スクリプトを実行するステップ。
【００１５】
本発明に係る第１サーバ用プログラムは、以下のステップを実行するものである：
（１）クライアント端末から送られた、第２サーバにおける処理を要求する第１スクリプトを実行するステップ；
（２）第２サーバから処理結果が返る前にマークを生成して、前記第１サーバにおけるデータ記憶部に格納するステップ；
（３）前記クライアント端末から送られた、第３サーバまたは第１サーバ自身における処理を要求する第２スクリプトを実行するステップ。
【００１６】
【発明の実施の形態】
（第１実施形態…請求項１に対応）
本発明の第１実施形態に係るスクリプトの実行方法を以下に説明する。ここでスクリプトとは、サーバやクライアント端末において解釈されて実行されるプログラムをいい、その長さや言語を問わない。まず、この方法に用いるクライアント・サーバシステムを図１に基づいて説明する。このシステムは、クライアント端末ＣとサーバＳとサーバＴとサーバＵとこれらを接続するネットワークＮとを備えている。
【００１７】
クライアント端末Ｃは、制御部１０と記憶部１１とインタフェース部１２とネットワークインタフェース部１３とを備えている。記憶部１１は、プログラム記憶部１１１とデータ記憶部１１２とを備えている。
【００１８】
制御部１０は、プログラム記憶部１１１に格納されたプログラムに従う動作を行うものである。
【００１９】
プログラム記憶部１１１は、クライアント端末用のインタプリタその他の、クライアント端末の動作に必要なプログラムを格納している。プログラムの動作は後述する。データ記憶部１１２は、スクリプトの実行（後述）において生成されるマーク等のデータを格納するものである。
【００２０】
インタフェース部１２は、入出力装置を接続する部分である。入出力装置としては、例えばディスプレイやプリンタやキーボードである。
【００２１】
ネットワークインタフェース部１３は、クライアント端末ＣがネットワークＮに接続するための部分である。
【００２２】
サーバＳは、制御部２０と記憶部２１とネットワークインタフェース部２３とを有している。制御部２０は、プログラム記憶部２１１に格納されたプログラムに従う動作を行うものである。
【００２３】
記憶部２１は、プログラム記憶部２１１とデータ記憶部２１２とを備えている。プログラム記憶部２１１は、サーバＳ用のインタプリタその他の、サーバＳの動作に必要なプログラムを格納している。プログラムの動作は後述する。データ記憶部２１２は、スクリプトの実行（後述）において生成されるマーク等のデータを格納するものである。
【００２４】
ネットワークインタフェース部２３は、サーバＳがネットワークＮに接続するための部分である。
【００２５】
サーバＳは、インタフェース部をさらに備えていてもよい。
【００２６】
サーバＴおよびサーバＵは、それぞれ、制御部３０・４０と記憶部３１・４１とネットワークインタフェース部３３・４３とを有している。記憶部３１・４１は、プログラム記憶部３１１・４１１とデータ記憶部３１２・４１２とを備えている。プログラム記憶部３１１・４１１は、各サーバ用のインタプリタその他の、サーバの動作に必要なプログラムを格納している。その他の構成は、基本的にサーバＳと同様なので、詳細な説明は省略する。
【００２７】
前記したクライアント端末ＣおよびサーバＳ，Ｔ，Ｕは、適宜なコンピュータや周辺装置を用いて構成することができる。
【００２８】
ネットワークＮは、クライアント端末ＣやサーバＳ等の各要素が相互に通信するための適宜な通信網であって、例えばインターネットである。ただし、ネットワークＮは、ＴＣＰ／ＩＰ以外のプロトコルを用いていてもよい。
【００２９】
つぎに、前記システムを用いたスクリプトの実行方法について説明する。このスクリプトの実行は、前記したクライアント端末ＣおよびサーバＳ，Ｔ，Ｕに格納されたプログラム（インタプリタ）によって行われる。
【００３０】
スクリプトの具体例として、前記した
（ｆｕｎｃ
（ｒｅｍｏｔｅ  Ｓ  （ｒｖ−Ｓ））
（ｒｅｍｏｔｅ  Ｔ  （ｒｖ−Ｔ））
（ｒｅｍｏｔｅ  Ｕ  （ｒｖ−Ｕ）））
というスクリプトを仮定する。このスクリプトがクライアント端末Ｃに入力されたとする。クライアント端末Ｃは、インタプリタによりこのスクリプトを評価し、次の動作を行う。
【００３１】
サーバＳ（第１サーバ）における処理を要求する第１スクリプト（ｒｅｍｏｔｅ  Ｓ  （ｒｖ−Ｓ））をクライアント端末Ｃが実行する（図２のステップ２−１）。サーバＳには、（ｒｖ−Ｓ）というスクリプトが送られ、この命令がサーバＳ上で実行される（ステップ２−２）。
【００３２】
一方、クライアント端末Ｃは、サーバＳ（第１サーバ）から処理結果が返る前に、マークを生成して、データ記憶部１１２に格納する（ステップ２−２）。つまり、第１スクリプトを実行すると、直ちに、インタプリタがマークを返す。このとき、マークとサーバとを対応させて格納することが好ましい。マークの生成とサーバＳへのスクリプト送信は、どちらが先でも良い。マークとは、仮の結果を意味するデータ型で定義されているデータである。つまり、インタプリタ側で、そのようなデータ型が定義されている。このようなデータ型は、例えば整数型や実数型と同様に定義することができる。クライアント端末Ｃのスクリプトは、マークが返ると、それをサーバＳからの結果として仮に扱う。
【００３３】
クライアント端末Ｃは、ステップ２−２の後、サーバＴ（第２サーバ）に対して処理を要求する第２スクリプト（ｒｅｍｏｔｅ  Ｔ  （ｒｖ−Ｔ））を実行する（ステップ２−３）。第２サーバは第１サーバと同じであっても良い。また、第２スクリプトは、クライアント端末Ｃ自身が実行して結果を算出するものであっても良い。マークを仮の結果として生成しているので、このような処理が可能となる。
【００３４】
そして、クライアント端末Ｃは、サーバＴ（第２サーバ）から処理結果が返る前に、前記と同様にしてマークを生成し、データ記憶部１１２に格納する（ステップ２−４）。マークの生成とサーバＳへのスクリプト送信は、どちらが先でも良い。
【００３５】
この実施形態では、さらに、クライアント端末Ｃは、サーバＵ（第２サーバ）に対して処理を要求する第３スクリプト（ｒｅｍｏｔｅ  Ｕ  （ｒｖ−Ｕ））を実行する。そして、クライアント端末Ｃは、前記と同様に、サーバＵから処理結果が返る前に、マークを生成して、データ記憶部１１２に格納する。
【００３６】
ついで、第１〜第３スクリプトに対する処理結果がクライアント端末Ｃに返った後、各結果を、各サーバに対応して格納されたマークと置換する。ついで、これらの処理結果を利用する第３スクリプト（ｆｕｎｃ）をクライアント端末Ｃが実行する。これにより、前記したスクリプト全体を実行することができる。マークは、仮データを示すデータ型なので、実際の結果が返ってくるまで、インタプリタは第３スクリプトの処理を待つ。また、クライアント端末Ｃは、第３スクリプトを実行した後、その結果をインタフェース部１２に出力する。
【００３７】
従来の実行方法では、サーバＳでの処理が終わってからサーバＴでの処理を行い、その後、サーバＵでの処理を行っている。このため、各サーバでの処理時間と、各サーバにおける結果を用いたクライアント端末での処理時間との合計時間が、スクリプトの処理時間となる。
【００３８】
これに対して、この実施形態の方法によれば、クライアント端末Ｃは、マークを生成後、直ちに次のスクリプトの処理に移ることができる。このため、スクリプトの処理時間を大幅に短縮することが可能である。スクリプトの処理時間を図３により概念的に説明する。前記した通り、クライアント端末Ｃから各サーバにスクリプトの処理要求が送信される。サーバＳでの処理時間（通信オーバヘッド含む）を時間ｄ＿Ｓとする。同様に、サーバＴでの処理時間を時間ｄ＿Ｔとし、サーバＵでの処理時間を時間ｄ＿Ｕとする。さらに、クライアント端末での処理時間を時間ｄ＿ｆｕｎｃとする。従来であれば、合計の処理時間は、
ｄ＿Ｓ  ＋  ｄ＿Ｔ  ＋  ｄ＿Ｕ  ＋  ｄ＿ｆｕｎｃ
であった。しかし、この実施形態では、合計処理時間は
ｍａｘ  （  ｄ＿Ｓ  ＋  ｄ＿Ｔ  ＋  ｄ＿Ｕ  ）  ＋  ｄ＿ｆｕｎｃ
となる。もし、各サーバにおけるスクリプトの実行時間がほぼ等しく、かつ、時間ｄ＿ｆｕｎｃが無視できる大きさであれば、実行時間は、従来に較べて、およそ３分の１になる。
【００３９】
（第２実施形態…請求項２に対応）
次に、本発明の第２実施形態に係るスクリプトの実行方法を説明する。この方法においても、第１実施形態と同様なシステムを用いる。ただし、サーバＳおよびＴのデータ記憶部２１２および２１３には、キュー２１２ａおよび２１３ａが実装されているものとする。他の構成は、第１実施形態と同様なので、同一の符号を用いることで説明を省略する。
【００４０】
第２実施形態は、主に、サーバＳの動作に関するものである。まず、次のスクリプトを仮定する。サーバＳ上のスクリプト定義は
（Ｄｅｆｉｎｅ  （ｒｖ１−１）  ｓｏｍｅ−ｓｅｑｕｅｎｃｅ  ａｎｄ
ｒｅｔｕｒｎ  （ｒｅｍｏｔｅ  Ｔ  （ｒｖ２−１）））
（Ｄｅｆｉｎｅ  （ｒｖ１−２）  ｓｏｍｅ−ｓｅｑｕｅｎｃｅ  ａｎｄ
ｒｅｔｕｒｎ  （ｒｅｍｏｔｅ  Ｔ  （ｒｖ２−２）））
であるとする。ここで、ｓｏｍｅ−ｓｅｑｕｅｎｃｅとは、サーバ側で実行される任意のスクリプトを意味する。サーバにおいては、通常、このような任意のスクリプトが実行された後、ｒｅｔｕｒｎ命令以降のスクリプトが実行される。
【００４１】
さらに、クライアントＣは、以下のスクリプトを実行することとする。
（ｆｕｎｃ
（ｒｅｍｏｔｅ  Ｓ  （ｒｖ１−１））
（ｒｅｍｏｔｅ  Ｓ  （ｒｖ１−２）））
この状態では、サーバＳとサーバＴとがカスケードしている。また、クライアント端末Ｃは、前記第１実施実施形態と同様の方法を実行するものとする。
【００４２】
以下の説明においては、ネットワーク上の動作を示す図６と、サーバＳの動作を主に示す図５を主に参照する。また、以下の説明では、図６におけるステップ毎に区切って説明する。
【００４３】
（図６のステップＨ）
まず、クライアント端末Ｃは、スクリプト（ｒｅｍｏｔｅ  Ｓ  （ｒｖ１−１））を実行し、サーバＳにスクリプト（ｒｖ１−１）を送る。このとき、クライアント端末Ｃは、第１実施形態と同様にして、マークを生成する。続いて、クライアントＣは、（ｒｅｍｏｔｅ  Ｓ  （ｒｖ１−２））を実行し、第１実施形態と同様にマークを生成してから、スクリプト（ｒｖ１−２）をサーバＳに送る。
【００４４】
（図６のステップＩ）
サーバＳ（第１サーバ）は、クライアント端末Ｃから送られた、サーバＴ（第２サーバ）における処理を要求するスクリプト（ｒｖ１−１）を受領する（図５のステップ５−１）。スクリプト（ｒｖ１−１）は、その定義の中に、本発明の第１スクリプトに対応する（ｒｅｍｏｔｅ  Ｔ  （ｒｖ２−１））を含んでいる。さらに、サーバＳ（第１サーバ）は、クライアント端末Ｃから送られた、サーバＴ（第３サーバ）における処理を要求する第２スクリプト（ｒｖ１−２）を受領する（ステップ５−１）。スクリプト（ｒｖ１−２）は、その定義の中に、本発明の第２スクリプトに対応する（ｒｅｍｏｔｅ  Ｔ  （ｒｖ２−２））を含んでいる。なお、この実施形態では、本発明における第３サーバを、第２サーバと同じくサーバＴとしたが、第３サーバはサーバＵその他のサーバであってもよい。また、第２スクリプトは、サーバＳ（第１サーバ）自身が処理して結果を算出するものであっても良い。
【００４５】
ついで、サーバＳは、スクリプト（ｒｖ１−１）を実行する。これにより、サーバＳは、この実施形態では、まず、ｓｏｍｅ−ｓｅｑｕｅｎｃｅに記載されたスクリプトを実行する（ステップ５−２）。その後、サーバＳは、第１スクリプト（ｒｅｍｏｔｅ  Ｔ  （ｒｖ２−１））を実行して、サーバＴにスクリプト（ｒｖ２−１）を送信し、その処理を要求する（ステップ５−３）。なお、第１スクリプトの実行は、第２スクリプトの受領前であってもよい。
【００４６】
さらに、サーバＳ（第１サーバ）は、サーバＴ（第２サーバ）から第１スクリプトに対応する処理結果が返る前に、マークを生成して、このマークを第１サーバにおけるデータ記憶部２１２のキュー２１２ａに格納する（ステップ５−３）。この動作は、サーバＴへのスクリプト送信の前であっても後であっても良い。
【００４７】
（図６のステップＪ）
その後、サーバＴは、スクリプト（ｒｖ２−１）を実行する。
【００４８】
（図６のステップＫ）
ついで、サーバＳは、第２スクリプト（ｒｖ１−２）を実行する。これにより、サーバＳは、この実施形態では、ｓｏｍｅ−ｓｅｑｕｅｎｃｅに記載されたスクリプトを実行する（ステップ５−４）。その後、サーバＳは、第２スクリプト（ｒｅｍｏｔｅ  Ｔ  （ｒｖ２−２））を実行して、サーバＴにスクリプト（ｒｖ２−２）を送信し、その処理を要求する（ステップ５−５）。この実施形態では、マークをキュー２１２ａに格納することとしたので、サーバＴにおける処理結果が返ってくる前であっても、サーバＳが第２スクリプトを実行できる。これにより、サーバＳにおける待ち時間が少なくなり、処理時間の短縮を図ることができる。
【００４９】
（図６のステップＬ）
その後、サーバＴ（第２サーバ）から、スクリプト（ｒｖ２−１）についての処理結果がサーバＳ（第１サーバ）に返る（ステップ５−６）。つまり、サーバＳは、サーバＴでの処理結果を受け取る。ついで、サーバＳは、この処理結果を、キュー２１２ａに格納されているマークと置換し、命令（ｒｅｔｕｒｎ）を実行する。これにより、サーバＳは、第１スクリプトの結果をクライアント端末Ｃに送る（ステップ５−７）。
【００５０】
（図６のステップＭ）
サーバＴ（第３サーバ）からスクリプト（ｒｖ２−２）についての処理結果が返ると、前記と同様に、サーバＳは、処理結果を、キュー２１２ａに格納されているマークと置換して、クライアント端末Ｃに送る。
【００５１】
（図６のステップＮ）
クライアント端末Ｃが生成したマークに対応した実際の結果が各サーバから戻ると、クライアント端末Ｃは、スクリプト（ｆｕｎｃ）を実行し、その結果をインタフェース部１２に出力する（ステップ５−８）。
【００５２】
第１実施形態の方法をカスケードに適用すると、サーバＳでは、第１スクリプトの処理が終わるまで、第２スクリプトの処理に移れない。これは、サーバＴから処理結果が戻るまでに使われるマークが、あくまで仮データであり、その処理結果をクライアント端末Ｃに返すことができないからである。これに対して、第２実施形態の方法によれば、前記したとおり、第１スクリプトの処理が終わる前に、サーバＳにおいて第２スクリプトの処理に移ることができる。このため、スクリプトの処理時間を短縮することができるという利点がある。
【００５３】
なお、前記実施形態および実施例の記載は単なる一例に過ぎず、本発明に必須の構成を示したものではない。各部の構成は、本発明の趣旨を達成できるものであれば、上記に限らない。例えば、クライアント端末は複数であっても良い。また、サーバの数が多数であってもよい。
【００５４】
また、前記した各実施形態における構成要素は、機能要素として存在していればよい。一つの機能要素は、他の要素と統合されていてもよく、また、複数の部品やソフトによって一つの要素が実現されていてもよい。さらに機能要素の実現方法としては、ハードウエアを用いても、コンピュータソフトウエアを用いてもよい。さらに機能要素相互の接続形態は、ネットワークを介したものであってもよい。つまり、複数の機能要素が互いに離間した位置に存在していても良い。
【００５５】
【発明の効果】
本発明によれば、スクリプトを効率よく実行することが可能となる。
【図面の簡単な説明】
【図１】本発明の第１実施形態に係るサーバ・クライアントシステムの概略的な構成を示すブロック図である。
【図２】第１実施形態におけるスクリプトの実行方法を説明するためのフローチャートである。
【図３】第１実施形態におけるスクリプトの実行方法を説明するための説明図である。
【図４】本発明の第２実施形態に係るサーバ・クライアントシステムにおけるデータ記憶部を示すブロック図である。
【図５】第２実施形態におけるスクリプトの実行方法を説明するためのフローチャートである。
【図６】第２実施形態におけるスクリプトの実行方法を説明するための説明図である。
【符号の説明】
Ｃ  クライアント端末
Ｓ・Ｔ・Ｕ  サーバ
１０・２０・３０・４０  制御部
１１・２１・３１・４１  記憶部
１１１・２１１・３１１・４１１  プログラム記憶部
１１２・２１２・３１２・４１２  データ記憶部
１２  インタフェース部
１３・２３・３３・４３  ネットワークインタフェース部
【図１】
2004295262.tif 000003
【図２】
2004295262.tif 000004
【図３】
2004295262.tif 000005
【図４】
2004295262.tif 000006
【図５】
2004295262.tif 000007
【図６】
2004295262.tif 000008