(57)【要約】【課題】ネットワーク回線、および計算機間のデータおよびシステムプログラム全体としての資源の送受信、および実現する機能を考慮してシステムプログラム全体の処理時間の効率化を図る。【解決手段】副プログラムで使用されるデータの入出力場所および入出力データ量を含む副プログラム情報が格納された副プログラム情報記憶部１３５と、副プログラムを実行する前に現在の通信速度を通信評価指標として測定する通信量評価手段１３２と、入出力場所ごとの入出力データの総量をデータ評価指標として算出するデータ入出力評価手段１３３と、データ評価指標およびデータ評価指標に基づいて、副プログラムの内部処理時間とともに、データの利用状況および通信状況も加味して総合的に転送要否の判定を行う副プログラム転送判定手段１３４とを有する転送評価判定手段を備える。【選択図】図２
2006293743.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータネットワークシステム内のクライアント型計算機にネットワークを介して接続され、前記ネットワーク内の資源を利用しながら、１以上の副プログラムを有するシステムアプリケーションプログラムの処理を実行するサーバ型計算機において、
副プログラムの識別子と、前記副プログラムで使用されるデータごとの入出力場所および入出力データ量とを関連づけた副プログラム情報が格納された副プログラム情報記憶部と、
副プログラムを実行する前に、前記サーバ型計算機と前記クライアント型計算機との間の現在の通信速度を通信評価指標として測定する通信量評価手段と、
前記副プログラム情報記憶部から取り出した前記入出力場所および前記入出力データ量に基づいて、入出力場所ごとの入出力データの総量をデータ評価指標として算出するデータ入出力評価手段と、
前記通信評価指標および前記データ評価指標に基づいて、前記データ評価指標の中に前記クライアント型計算機を入出力場所とする入出力データが含まれている場合には、対応する副プログラムを前記クライアント型計算機に転送する必要があると判定し、前記データ評価指標の中に前記サーバ型計算機を入出力場所とする入出力データのみが含まれている場合には、対応する副プログラムを前記クライアント型計算機に転送する必要がないと判定し、前記データ評価指標に中に前記クライアント型計算機を入出力場所とする入出力データが含まれておらず、かつ前記クライアント型計算機および前記サーバ型計算機以外を入出力場所とする入出力データが含まれている場合には、前記サーバ型計算機で前記副プログラムを実行した場合の処理時間と、前記副プログラムを転送することにより前記クライアント型計算機で前記副プログラムを実行した場合の処理時間とを算出し、算出した両処理時間の比較から前記副プログラムの転送要否を判定する副プログラム転送判定手段と
を有する転送評価判定手段を備えたことを特徴とするサーバ型計算機。
【請求項２】
請求項１に記載のサーバ型計算機において、
前記副プログラム情報記憶部は、副プログラムの転送要否を強制的に設定する強制転送設定データをさらに含む副プログラム情報を格納し、
前記副プログラム転送判定手段は、前記副プログラム情報の前記強制転送設定データが強制的転送に設定されている場合には、副プログラムを前記クライアント型計算機に転送する必要があると判定し、前記副プログラム情報の前記強制転送設定データが強制的非転送に設定されている場合には、副プログラムを前記クライアント型計算機に転送する必要がないと判定し、前記副プログラム情報の前記強制転送設定データが強制的転送あるいは強制的非転送のいずれでもない場合には、前記通信評価指標および前記データ評価指標に基づく転送要否の判定処理を行う
ことを特徴とするサーバ型計算機。
【請求項３】
請求項１または２に記載のサーバ型計算機において、
前記転送評価判定手段は、副プログラムのソースコードに含まれる処理関数の名称から前記副プログラムで使用されるデータの入出力場所を特定し、前記処理関数に含まれる変数定義の確保領域から入出力データ量を特定し、特定した前記入出力場所および前記入出力データ量を副プログラムの識別子と関連づけて副プログラム情報を生成し、生成した前記副プログラム情報を前記副プログラム情報記憶部に記憶させるプログラムソースコード変換手段をさらに備えたことを特徴とするサーバ型計算機。
【請求項４】
請求項１ないし３のいずれか１項に記載のサーバ型計算機において、
前記副プログラム転送判定手段は、前記副プログラムの転送要否を判定するごとに前記転送要否の判定結果と判定時刻を前記副プログラム情報に付加して前記副プログラム情報記憶部に記憶させ、副プログラムの今回の転送要否判定時に、前記副プログラムに対応する副プログラム情報に付加された前記判定結果および前記判定時刻を前回の転送要否判定時のデータとして前記副プログラム情報記憶部から取り出し、前記判定時刻からの経過時間が所定時間以内である場合には、今回の転送要否判定処理を行わずに前回の転送要否判定時の前記判定結果を流用することを特徴とするサーバ型計算機。
【請求項５】
サーバ型計算機とクライアント型計算機とがネットワークを介して接続されたコンピュータネットワークシステム内で、前記サーバ型計算機が、前記ネットワーク内の資源を利用しながら、１以上の副プログラムを有するシステムアプリケーションプログラムの処理を実行する際に、前記サーバ型計算機から副プログラム転送に関する転送評価判定指令を前記ネットワークを介して受信することにより、前記副プログラムを前記サーバ型計算機から前記クライアント型計算機に転送すべきか否かを判定する転送評価判定装置であって、
副プログラムの識別子と、前記副プログラムで使用されるデータごとの入出力場所および入出力データ量とを関連づけた副プログラム情報が格納された副プログラム情報記憶部と、
前記転送評価判定指令に基づいて、副プログラムを実行する前に、前記サーバ型計算機と前記クライアント型計算機との間の現在の通信速度を通信評価指標として測定する通信量評価手段と、
前記転送評価判定指令に基づいて、前記副プログラム情報記憶部から取り出した前記入出力場所および前記入出力データ量に基づいて、入出力場所ごとの入出力データの総量をデータ評価指標として算出するデータ入出力評価手段と、
前記通信評価指標および前記データ評価指標に基づいて、前記データ評価指標の中に前記クライアント型計算機を入出力場所とする入出力データが含まれている場合には、対応する副プログラムを前記クライアント型計算機に転送する必要があると判定し、前記データ評価指標の中に前記サーバ型計算機を入出力場所とする入出力データのみが含まれている場合には、対応する副プログラムを前記クライアント型計算機に転送する必要がないと判定し、前記データ評価指標の中に前記クライアント型計算機を入出力場所とする入出力データが含まれておらず、かつ前記クライアント型計算機および前記サーバ型計算機以外を入出力場所とする入出力データが含まれている場合には、前記サーバ型計算機で前記副プログラムを実行した場合の処理時間と、前記副プログラムを転送することにより前記クライアント型計算機で前記副プログラムを実行した場合の処理時間とを算出し、算出した両処理時間の比較から前記副プログラムの転送要否を判定し、判定した前記転送要否の結果を前記転送評価判定指令に対する応答として前記サーバ型計算機に返送する副プログラム転送判定手段と
を備えたことを特徴とする転送評価判定装置。
【請求項６】
請求項５に記載の転送評価判定装置において、
前記副プログラム情報記憶部は、副プログラムの転送要否を強制的に設定する強制転送設定データをさらに含む副プログラム情報を格納し、
前記副プログラム転送判定手段は、前記副プログラム情報の前記強制転送設定データが強制的転送に設定されている場合には、副プログラムを前記クライアント型計算機に転送する必要があると判定し、前記副プログラム情報の前記強制転送設定データが強制的非転送に設定されている場合には、副プログラムを前記クライアント型計算機に転送する必要がないと判定し、前記副プログラム情報の前記強制転送設定データが強制的転送あるいは強制的非転送のいずれでもない場合には、前記通信評価指標および前記データ評価指標に基づく転送要否の判定処理を行う
ことを特徴とする転送評価判定装置。
【請求項７】
請求項５または６に記載の転送評価判定装置において、
副プログラムのソースコードに含まれる処理関数の名称から前記副プログラムで使用されるデータの入出力場所を特定し、前記処理関数に含まれる変数定義の確保領域から入出力データ量を特定し、特定した前記入出力場所および前記入出力データ量を副プログラムの識別子と関連づけて副プログラム情報を生成し、生成した前記副プログラム情報を前記副プログラム情報記憶部に記憶させるプログラムソースコード変換手段をさらに備えたことを特徴とする転送評価判定装置。
【請求項８】
請求項５ないし７のいずれか１項に記載の転送評価判定装置において、
前記副プログラム転送判定手段は、前記副プログラムの転送要否を判定するごとに前記転送要否の判定結果と判定時刻を前記副プログラム情報に付加して前記副プログラム情報記憶部に記憶させ、副プログラムの今回の転送要否判定時に、前記副プログラムに対応する副プログラム情報に付加された前記判定結果および前記判定時刻を前回の転送要否判定時のデータとして前記副プログラム情報記憶部から取り出し、前記判定時刻からの経過時間が所定時間以内である場合には、今回の転送要否判定処理を行わずに前回の転送要否判定時の前記判定結果を流用することを特徴とする転送評価判定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の計算機、プログラム、および各計算機間の伝送処理を行うコンピュータネットワークから構成されるシステムに関し、特にサーバ計算機集中処理型のプログラムにおいて、複数の計算機間での伝送、プログラム機能の実現における処理時間の短縮化、およびプログラム、資源間の伝送効率化を実現するサーバ型計算機および転送評価判定装置に関する。
【背景技術】
【０００２】
コンピュータネットワークにおける分散処理では、資源を持ち、それを共通のサービスとして提供するための汎用性のあるプログラムを備えた計算機であるサーバと、個別の処理プログラムを持ち、サーバが提供するサービスを利用する計算機であるクライアントとに分かれ、それぞれの計算機で動作するプログラムが通信によりデータを交換し合い処理を行うのが一般的である。
【０００３】
最近では、プログラムの保守性の観点から、サーバ計算機側で集中的にプログラムを処理し、クライアント側では利用者の入出力情報のみを伝送する方式がある（例えば、特許文献１参照）。
【０００４】
図１は、従来装置において副プログラム転送実行を選択する際の分散プログラム処理のフローチャートである。この図１は、プログラムがクライアントに配置されている場合の分散プログラム処理を示しているが、逆にプログラムがサーバに配置されている場合にも同様の処理を適用できる。
【０００５】
まず始めに、ステップＳ１０１において、クライアントは、システムプログラムを開始し、主プログラムを実行する。次に、ステップＳ１０２において、クライアントは、サーバの資源を利用する処理を実行する際に、クライアントとサーバとの間の通信速度を測定する。
【０００６】
次に、ステップＳ１０３において、クライアントは、測定した通信速度をもとに、次の２種類の処理時間を計算する。第１の処理時間は、副プログラムの転送を行わずにクライアント自身で副プログラムを実行し、クライアントからネットワークを介してサーバの資源を利用する場合の処理（以下、第１の処理と呼ぶ）にかかる時間であり、第２の処理時間は、サーバの資源を利用する処理プログラムをサーバへ転送して、サーバ内で資源を利用する場合の処理（以下、第２の処理と呼ぶ）にかかる時間である。
【０００７】
次に、ステップＳ１０４において、クライアントは、第１の処理時間と第２の処理時間との比較を行う。そして、クライアントは、第１の処理時間が短い場合には、ステップＳ１０５において、第１の処理を実行する。一方、クライアントは、第２の処理時間が短い場合あるいは両方の処理時間が同じ場合には、ステップＳ１０６において第２の処理を実行する。
【０００８】
そして、ステップＳ１０７において、クライアントは、必要に応じて処理結果の出力を行う。さらに、クライアントは、サーバの資源を利用する副プログラムごとに上述のステップＳ１０３〜Ｓ１０７を繰り返すこととなる（ステップＳ１０８）。
【０００９】
このように、従来の分散プログラム処理は、プログラム実行中にサーバの資源を利用する副プログラムを実行するごとに、第１の処理と第２の処理の処理時間を事前に評価し、処理時間の短い方を選択する。これにより、規模が大きなプログラムにおいて、特に処理時間短縮の効果を得ることができる。
【００１０】
【特許文献１】特開平７−１０５１４９号公報（第１頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、従来技術には次のような課題がある。上述のような分散プログラム処理は、他の計算機の資源を利用する際に、副プログラム自体を転送する場合と転送しない場合の処理時間を副プログラムごとに事前に評価しているが、サーバ、クライアント各計算機間のプログラムおよび資源のデータ量のみに着目した転送処理時間を比較しており、副プログラムの入出力データ等の資源および副プログラムが実現する機能の効率化については考慮していない。
【００１２】
システムプログラムの保守性およびセキュリティ性の向上の観点から、サーバ型計算機にプログラムを集中する方法が一般的になりつつある背景の中で、プログラム機能面も含めた処理時間の効率化を行うことが必要不可欠な問題となっている。
【００１３】
本発明は上述のような課題を解決するためになされたもので、ネットワーク回線、および計算機間のデータおよびシステムプログラム全体としての資源の送受信、および実現する機能を考慮して、システムプログラム全体の処理時間の効率化を図るサーバ型計算機および転送評価判定装置を得ることを目的としている。
【課題を解決するための手段】
【００１４】
本発明に係るサーバ型計算機は、コンピュータネットワークシステム内のクライアント型計算機にネットワークを介して接続され、ネットワーク内の資源を利用しながら、１以上の副プログラムを有するシステムアプリケーションプログラムの処理を実行するサーバ型計算機において、副プログラムの識別子と、副プログラムで使用されるデータごとの入出力場所および入出力データ量とを関連づけた副プログラム情報が格納された副プログラム情報記憶部と、副プログラムを実行する前に、サーバ型計算機とクライアント型計算機との間の現在の通信速度を通信評価指標として測定する通信量評価手段と、副プログラム情報記憶部から取り出した入出力場所および入出力データ量に基づいて、入出力場所ごとの入出力データの総量をデータ評価指標として算出するデータ入出力評価手段と、通信評価指標およびデータ評価指標に基づいて、データ評価指標の中にクライアント型計算機を入出力場所とする入出力データが含まれている場合には、対応する副プログラムをクライアント型計算機に転送する必要があると判定し、データ評価指標の中にサーバ型計算機を入出力場所とする入出力データのみが含まれている場合には、対応する副プログラムをクライアント型計算機に転送する必要がないと判定し、データ評価指標に中にクライアント型計算機を入出力場所とする入出力データが含まれておらず、かつクライアント型計算機およびサーバ型計算機以外を入出力場所とする入出力データが含まれている場合には、サーバ型計算機で副プログラムを実行した場合の処理時間と、副プログラムを転送することによりクライアント型計算機で副プログラムを実行した場合の処理時間とを算出し、算出した両処理時間の比較から副プログラムの転送要否を判定する副プログラム転送判定手段とを有する転送評価判定手段を備えたものである。
【００１５】
また、本発明に係る転送評価判定装置は、サーバ型計算機とクライアント型計算機とがネットワークを介して接続されたコンピュータネットワークシステム内で、サーバ型計算機が、ネットワーク内の資源を利用しながら、１以上の副プログラムを有するシステムアプリケーションプログラムの処理を実行する際に、サーバ型計算機から副プログラム転送に関する転送評価判定指令をネットワークを介して受信することにより、副プログラムをサーバ型計算機からクライアント型計算機に転送すべきか否かを判定する転送評価判定装置であって、副プログラムの識別子と、副プログラムで使用されるデータごとの入出力場所および入出力データ量とを関連づけた副プログラム情報が格納された副プログラム情報記憶部と、転送評価判定指令に基づいて、副プログラムを実行する前に、サーバ型計算機とクライアント型計算機との間の現在の通信速度を通信評価指標として測定する通信量評価手段と、転送評価判定指令に基づいて、副プログラム情報記憶部から取り出した入出力場所および入出力データ量に基づいて、入出力場所ごとの入出力データの総量をデータ評価指標として算出するデータ入出力評価手段と、通信評価指標およびデータ評価指標に基づいて、データ評価指標の中にクライアント型計算機を入出力場所とする入出力データが含まれている場合には、対応する副プログラムをクライアント型計算機に転送する必要があると判定し、データ評価指標の中にサーバ型計算機を入出力場所とする入出力データのみが含まれている場合には、対応する副プログラムをクライアント型計算機に転送する必要がないと判定し、データ評価指標の中にクライアント型計算機を入出力場所とする入出力データが含まれておらず、かつクライアント型計算機およびサーバ型計算機以外を入出力場所とする入出力データが含まれている場合には、サーバ型計算機で副プログラムを実行した場合の処理時間と、副プログラムを転送することによりクライアント型計算機で副プログラムを実行した場合の処理時間とを算出し、算出した両処理時間の比較から副プログラムの転送要否を判定し、判定した転送要否の結果を転送評価判定指令に対する応答としてサーバ型計算機に返送する副プログラム転送判定手段とを備えたものである。
【発明の効果】
【００１６】
本発明によれば、副プログラムで使用されるデータの入出力場所および入出力データ量を備えた副プログラム情報に基づいて副プログラムの転送要否を判定することにより、ネットワーク回線、および計算機間のデータおよびシステムプログラム全体としての資源の送受信、および実現する機能を考慮してシステムプログラム全体の処理時間の効率化を図ることができるサーバ型計算機および転送評価判定装置を得ることができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明のサーバ型計算機および転送評価判定装置の好適な実施の形態につき図面を用いて説明する。
【００１８】
実施の形態１．
図２は、本発明の実施の形態１におけるコンピュータネットワークシステムの構成図である。図２におけるコンピュータネットワークシステムは、サーバ型計算機１００、クライアント型計算機２００、およびそれらを互いに接続するネットワーク３００で構成される。
【００１９】
サーバ型計算機１００は、複数の副プログラム１１０と、これら副プログラム１１０の相互制御を行っているシステムプログラム１２０とを有し、事前評価に基づいて副プログラムの転送要否を判定する転送評価判定手段１３０、副プログラムの圧縮処理を行う圧縮手段１４０、およびネットワーク３００を介してクライアント型計算機２００と種々のデータの通信を行う通信手段１５０で構成される。
【００２０】
ここで、副プログラム１１０とは、システムプログラム１２０内で、各用途に応じた個別の機能をサーバ型計算機１００上、クライアント型計算機２００上、あるいはネットワーク上の他の装置・計算機上の資源を利用して実現するプログラムのことである。
【００２１】
また、この副プログラム１１０の転送要否を判定する転送評価判定手段１３０は、副プログラムの転送の強制条件を判定する強制転送評価手段１３１、サーバ型計算機１００とクライアント型計算機２００との間の通信速度を測定する通信量評価手段１３２、副プログラムの入出力データ量と場所を判定するデータ入出力評価手段１３３、各判定手段で収集を行った評価指標に基づいて、副プログラムの転送要否を総合的に判定する副プログラム転送判定手段１３４、および副プログラムの識別子と、副プログラムで使用されるデータの入出力場所および入出力データ量とを関連づけた副プログラム情報が格納された副プログラム情報記憶部１３５を備えている。
【００２２】
一方、クライアント型計算機２００は、ネットワーク３００を介してサーバ型計算機１００と副プログラムを含む種々のデータの通信を行う通信手段２１０、および受信した圧縮処理済みの副プログラムの解凍処理を行う解凍手段２２０を備えている。
【００２３】
図３は、本発明の実施の形態１における副プログラム情報のデータ構造を示す図である。個々の副プログラム１１０に対応する副プログラム情報１３５ａは、「入力場所」「入力データ項目」「出力場所」「出力データ項目」「強制転送設定」の各情報を備えている。そして、この副プログラム情報１３５ａは、各副プログラムの識別子（ＩＤ）と対応付けられて副プログラム情報記憶部１３５に記憶されている。
【００２４】
「入力場所」および「出力場所」は、副プログラム１１０に対してデータ入力を行う場所、あるいは副プログラム１１０からデータ出力を行う場所を示すものである。具体的には、サーバ型計算機１００、クライアント型計算機２００およびこれらに接続される他の装置を識別するデータが設定される。この「入力場所」および「出力場所」に関する情報は、データ入出力評価手段１３３の判定材料として使用される。
【００２５】
また、「入力データ項目」および「出力データ項目」は、副プログラム１１０が必要とする入力データおよび出力データのデータ量が設定されている。例えば、図３において、Ｉ１（１０、１０）と記載された入力データ項目は、入力場所ＰＩ１から（１０、１０）の２次元配列として入力されるデータ量を示している。また、Ｉ２（２００）と記載された入力データ項目は、同じ入力場所ＰＩ１から（２００）の１次元配列として入力されるデータ量を示している。
【００２６】
一方、Ｏ１（１００）と記載された出力データ項目は、出力場所ＰＯ３から（１００）の１次元配列として出力されるデータ量を示している。これら「入力データ項目」および「出力データ項目」に関する情報は、通信量評価手段１３２の判定材料として使用される。
【００２７】
さらに、「強制転送設定」は、副プログラム１１０をクライアント型計算機２００上に強制的に転送すべきか（以下、強制的転送と称す）、強制的に転送しないべきか（以下、強制的非転送と称す）、あるいは他の判定材料に基づいて転送要否を判定すべきか（以下、転送要否判定と称す）を設定するものである。
【００２８】
例えば、図３において、「強制転送設定＝１」は強制的転送を示し、「強制転送設定＝２」は強制的非転送を示し、「強制転送設定＝０」は転送要否判定を示している。そして、この「強制転送設定」は、強制転送評価手段１３１の判定材料として使用される。
【００２９】
このようにして、転送評価判定手段１３０は、副プログラム１１０に含まれている副プログラム情報１３５ａに基づいて、副プログラムの転送要否を判定することとなる。
【００３０】
次に、図４を用いて一連の処理を詳細に説明する。図４は、本発明の実施の形態１における副プログラムの転送要否を判定する際の分散プログラム処理のフローチャートである。まず始めに、ステップＳ４０１において、サーバ型計算機１００は、システムプログラムを開始する。
【００３１】
次に、ステップＳ４０２において、転送評価判定手段１３０内の強制転送評価手段１３１は、副プログラム情報記憶部１３５に記憶された、転送要否を判定すべき副プログラム１１０に対応する副プログラム情報１３５ａ内の「強制転送設定」の情報を読み取り、強制状態（強制的転送または強制的非転送）が設定されているか否かを判定する。
【００３２】
強制状態が設定されている場合には、ステップＳ４０３において、強制転送評価手段１３１は、強制状態の設定がサーバ側からクライアント側への強制的転送か強制的非転送かを判定する。そして、強制転送評価手段１３１は、強制的転送である場合には、処理をステップＳ４０９に移行し、強制的転送でない場合（すなわち、強制的非転送である場合）には、処理をステップＳ４１３に移行する。
【００３３】
一方、ステップＳ４０２で強制状態の設定がないと判定された場合には、ステップＳ４０４以降の処理に移行し、転送評価判定手段１３０内の各手段による転送要否の判定を行うこととなる。ステップＳ４０４において、転送評価判定手段１３０内の通信量評価手段１３２は、クライアント・サーバ間の通信速度を次の手順で測定する。まず始めに、通信量評価手段１３２は、サーバ型計算機１００上の通信手段１５０を介してクライアント型計算機２００上の通信手段２１０に一定量のデータを送信し、その応答の有無と応答時間を測定する。
【００３４】
通信量評価手段１３２は、一定量のデータを複数回送信し、そのときの応答時間の平均値を求めることにより、通信評価指標としての通信速度を算出できる。例えば、データ量がａ（バイト）のデータを４回送信し、そのときの応答時間平均値がｂ（ミリ秒）であったとすると、通信量評価手段１３２は、値ａおよびｂから、通信速度ｃをａ×１０００／ｂ（バイト／秒）として算出する。
【００３５】
また、通信量評価手段１３２は、４回送信時の不達の有無を同時に測定し、１回でも不達があれば「不達あり」として送信不達情報ｄを保持する。そして、通信量評価手段１３２は、通信速度ｃ（バイト／秒）および送信不達情報ｄを評価情報として保持する。具体的には、通信量評価手段１３２は、副プログラム情報１３５ａのデータに対して、通信速度ｃ（バイト／秒）および送信不達情報ｄの評価情報を付加して副プログラム情報記憶部１３５に記憶させる。
【００３６】
次に、ステップＳ４０５において、転送評価判定手段１３０内のデータ入出力評価手段１３３は、副プログラム情報記憶部１３５に記憶された副プログラム情報１３５ａに対応する「入力場所」「出力場所」の情報を読み取り、入力元場所ｅ１〜ｅｎ、出力先場所ｆ１〜ｆｎ（１〜ｎは、入出力の場所毎の通番）の評価情報として保持する。
【００３７】
さらに、ステップＳ４０６において、データ入出力評価手段１３３は、副プログラム情報記憶部１３５に記憶された副プログラム情報１３５ａ内の「入力データ項目」「出力データ項目」の情報を読み取り、先の入力元場所ｅ１〜ｅｎおよび出力先場所ｆ１〜ｆｎごとに合算して、それぞれ入力データ量ｇ１〜ｇｎ、出力データ量ｈ１〜ｈｎを求め、データ評価指標として保持する。
【００３８】
そして、ステップＳ４０７において、転送評価判定手段１３０内の副プログラム転送判定手段１３４は、ステップＳ４０４〜Ｓ４０６で得られた通信評価指標とデータ評価指標、および副プログラム１１０の圧縮後のサイズｉ（バイト）に基づいて、副プログラムをクライアント側に転送する必要があるか、あるいは転送する必要がなくサーバ側でそのまま処理を行えばよいかを総合的に判定する。この「総合的な判定」に関しては、図５を用いて具体的に後述する。
【００３９】
そして、副プログラム転送判定手段１３４は、サーバ側からクライアント側への転送が必要であると判定した場合には、処理をステップＳ４０９に移行し、サーバ側からクライアント側への転送が必要でないと判定した場合には、処理をステップＳ４１３に移行する。
【００４０】
先のステップＳ４０３による強制的な設定により、またはステップＳ４０８による転送要否の判定結果により、副プログラムをサーバ側からクライアント側に転送する必要があると判定された場合には、ステップＳ４０９以降の処理が行われる。まず、ステップＳ４０９において、圧縮手段１４０は、転送すべき副プログラムの圧縮処理を行う。次に、ステップＳ４１０において、通信手段１５０は、圧縮した副プログラムをクライアント側に転送する。
【００４１】
これに対して、クライアント型計算機２００は、ステップＳ４１１において、通信手段２１０により圧縮された副プログラムを受信し、解凍手段２２０によりその副プログラムの解凍を行う。さらに、ステップＳ４１２において、クライアント型計算機２００は、解凍後の副プログラムを実行し、その後、実行結果をサーバ型計算機１００に返送する。
【００４２】
一方、先のステップＳ４０３による強制的な設定により、またはステップＳ４０８による転送要否の判定結果により、副プログラムをサーバ側からクライアント側に転送する必要がないと判定された場合には、ステップＳ４１３において、サーバ型計算機１００は、サーバ上で副プログラムを実行する。
【００４３】
そして、ステップＳ４１２またはステップＳ４１３で副プログラムの実行を終えると、ステップＳ４１４において、システムプログラム１２０は、処理結果を取得し、必要に応じ、出力手段（図示せず）を用いて結果を出力する。そして、サーバの資源を利用する副プログラムが複数ある場合は、以下、副プログラムごとに、ステップＳ４０２〜Ｓ４１４までの処理を繰り返すこととなる（ステップＳ４１５）。
【００４４】
次に、先のステップＳ４０７において行った「総合的な判定」について説明する。図５は、本発明の実施の形態１における副プログラム転送判定手段１３４による転送要否の総合的な判定の処理手順を示したフローチャートである。
【００４５】
まず始めに、ステップＳ５０１において、副プログラム転送判定手段１３４は、データ入出力評価手段１３３により取り出された副プログラムの入力元場所ｅ１〜ｅｎ、出力先場所ｆ１〜ｆｎの評価情報の中に、クライアント型計算機２００と同一場所に設置されている他の計算機、またはクライアント型計算機２００に直接接続されている外部入出力（以下、クライアント型計算機２００に関連する入出力情報と称す）が含まれているか否かを判定する。
【００４６】
そして、副プログラム転送判定手段１３４は、クライアント型計算機２００に関連する入出力情報が含まれていると判定した場合には、ステップＳ５０２に移行し、対象となる副プログラム１１０をクライアント側に転送する必要があると判定し、判定処理を終了する。
【００４７】
データを繰り返し使用する場合、あるいはそのデータの入出力を行う外部装置の配置によっては、単に資源のデータ量だけでは、効率面を重視した転送要否の判定は行えない。そこで、本実施の形態１のサーバ型計算機１００は、資源のデータ量のみに着目して転送要否を判定するのではなく、クライアント型計算機２００に関連する入出力情報が含まれている場合には、効率を重視して対象となる副プログラム１１０をクライアント側に転送する必要があると判定する。
【００４８】
一方、副プログラム転送判定手段１３４は、クライアント型計算機２００に関連する入出力情報が含まれていないと判定した場合には、ステップＳ５０３に処理を移行する。
【００４９】
次に、ステップＳ５０３において、副プログラム転送判定手段１３４は、入力元場所ｅ１〜ｅｎ、出力先場所ｆ１〜ｆｎの評価情報のすべてが、サーバ自身に直接接続されている装置、または同一場所に設置されている他の計算機に接続あるいは設置されている装置（以下、サーバ型計算機１００に関連する入出力情報と称す）であるか否かを判定する。
【００５０】
そして、副プログラム転送判定手段１３４は、入力元場所ｅ１〜ｅｎ、出力先場所ｆ１〜ｆｎの評価情報のすべてが、サーバ型計算機１００に関連する入出力情報であると判定した場合には、ステップＳ５０４に移行し、対象となる副プログラム１１０をクライアント側に転送する必要がないと判定し、判定処理を終了する。
【００５１】
一方、副プログラム転送判定手段１３４は、入力元場所ｅ１〜ｅｎ、出力先場所ｆ１〜ｆｎの評価情報のすべてが、サーバ型計算機１００に関連する入出力情報であるといえない（すなわち、サーバ型計算機１００およびクライアント型計算機２００以外の計算機に関連する入出力情報が含まれている）と判定した場合には、ステップＳ５０５に処理を移行する。
【００５２】
ステップＳ５０５において、副プログラム転送判定手段１３４は、先に通信量評価手段１３２において通信速度ｃを判定した際の送信不達情報ｄが含まれているか否かを判定する。そして、副プログラム転送判定手段１３４は、送信不達情報ｄが１回でも発生している場合にはネットワーク環境が不安定であると判定し、ステップＳ５０４に移行し、対象となる副プログラム１１０をクライアント側に転送する必要がないと判定し、判定処理を終了する。
【００５３】
一方、副プログラム転送判定手段１３４は、送信不達情報ｄが１回も発生していない場合には、ステップＳ５０６に処理を移行する。ステップＳ５０６において、副プログラム転送判定手段１３４は、副プログラムの転送時間を計算し、サーバ側で副プログラムを実行した場合の処理時間と、副プログラムを転送することによりクライアント側で副プログラムを実行した場合の処理時間との比較を行う。具体的には、副プログラム転送判定手段１３４は、以下の処理により両方の処理時間の比較を行うこととなる。
【００５４】
ここで、ｊ、ｋａ、ｋｂ、ｍａ、ｍｂを次のように定義する。
ｊ：副プログラムを実行した場合のプログラム内部処理時間（秒）
ｋａ：サーバがネットワークを介してその他の計算機上の入力データを入力するために必要なアクセス時間（秒）
ｋｂ：クライアントがネットワークを介してその他の計算機上の入力データを入力するために必要なアクセス時間（秒）
ｍａ：サーバがネットワークを介してその他の計算機上へ出力データを出力するために必要なアクセス時間（秒）
ｍｂ：クライアントがネットワークを介してその他の計算機上へ出力データを出力するために必要なアクセス時間（秒）
【００５５】
さらに、ｎ、ｐを次のように定義する。
ｎ：プログラム圧縮時間（秒）
ｐ：プログラム解凍時間（秒）
【００５６】
また、ｉ、ｃ、ｇ１〜ｇｎ、ｈ１〜ｈｎは、次のように定義されるものである。
ｉ：圧縮後のサイズ（バイト）
ｃ：通信速度（バイト／秒）
ｇ１〜ｇｎ：その他の計算機上の入力データ量
ｈ１〜ｈｎ：その他の計算機上への出力データ量
【００５７】
以上の定義に基づいて、次の評価指標値が計算できる。ただし、副プログラムの内部処理時間ｊは、サーバで実行する場合と、クライアントで実行する場合とで同一と見なすこととする。
サーバ側処理時間ｑ（秒）＝ｊ＋ｋａ＋ｍａ
クライアント側処理時間ｒ（秒）＝ｊ＋ｉ／ｃ＋ｋｂ＋ｍｂ＋ｎ＋ｐ
ｋａ、ｋｂ＝Σ（ｇ１／ｃ、ｇ２／ｃ・・、ｇｎ／ｃ）
ｍａ、ｍｂ＝Σ（ｈ１／ｃ、ｈ２／ｃ・・、ｈｎ／ｃ）
【００５８】
副プログラム転送判定手段１３４は、求まった評価指標値に基づいて、ｑ＞ｒの場合（すなわち、サーバ側処理時間ｑがクライアント側処理時間ｒより長い場合）には、ステップＳ５０２に移行し、副プログラムをクライアントへ転送する必要があると判定し、処理を終了する。
【００５９】
一方、副プログラム転送判定手段１３４は、ｑ≦ｒの場合（すなわち、サーバ側処理時間ｑがクライアント側処理時間ｒ以下の場合）には、ステップＳ５０４に移行し、副プログラムをクライアントへ転送する必要がないと判定し、処理を終了する。
【００６０】
以上のように、実施の形態１によれば、副プログラムで使用されるデータの入出力場所および入出力データ量に関する副プログラム情報、および通信状況を活用して、副プログラムの内部処理時間とともに、データの利用状況および通信状況も加味して総合的に評価することにより、副プログラムを転送すべきか否かを判定することができ、副プログラムごとに、副プログラム機能を考慮した上で、効率的に処理可能な計算機を選択して実行することができる。
【００６１】
この結果、サーバ型計算機にて主体的に処理を行い、かつ副プログラムが多量のデータ入出力を有し、入出力元が分散配置されている場合、あるいはシステムプログラムが多くの機能を有する場合に、システムプログラム全体としての処理効率化と処理時間短縮の効果が大きい。
【００６２】
なお、上述においては、副プログラムの内部処理時間ｊは、サーバで実行する場合と、クライアントで実行する場合とで同一と見なしたが、それぞれ個別の内部処理時間ｊｓ（サーバ側の内部処理時間）とｊｃ（クライアント側の内部処理時間）を用いることにより、上述の処理時間ｑ、ｒの比較を行うことも可能である。
【００６３】
実施の形態２．
本実施の形態２では、実施の形態１で説明した図３の副プログラム情報１３５ａを、副プログラム１１０のソースコード文に基づいて生成する手段について説明する。図６は、本発明の実施の形態２における副プログラム情報１３５ａの生成に関する説明図である。
【００６４】
図６において、プログラムソースコード変換手段１３６は、副プログラムのソースコード文１１１に基づいて、副プログラム情報１３５ａとして、「入力場所」「入力データ項目」「出力場所」「出力データ項目」「強制転送設定」に関する各情報を生成する手段である。
【００６５】
プログラムソースコード変換手段１３６は、副プログラムのソースコード文１１１の中に外部装置との入出力に関するコードが含まれている場合には、対応するコードに基づいて入出力場所とデータ量の情報を取り出す。プログラムソースコード変換手段１３６は、例えば、ソースコードに含まれる処理関数の名称から副プログラムで使用されるデータの入出力場所を特定でき、処理関数に含まれる変数定義の確保領域から入出力データ量を特定できる。
【００６６】
さらに、プログラムソースコード変換手段１３６は、特定された入出力場所および入出力データ量から強制転送設定を規定することができる。例えば、プログラムソースコード変換手段１３６は、特定された入出力場所および入出力データ量に基づいて、クライアント型計算機２００に関連する入出力情報の総データ量を算出し、算出した総データ量が所定値以上であれば、強制転送設定を「強制的転送」に設定することができる。
【００６７】
また、プログラムソースコード変換手段１３６は、特定された入出力場所に基づいて、サーバ型計算機１００に関連する入出力情報のみから入出力データが構成されていると判定した場合には、強制転送設定を「強制的非転送」に設定することができる。
【００６８】
プログラムソースコード変換手段１３６は、このようにして、副プログラムのソースコード文１１１に基づいて、該当する副プログラムに対応する副プログラム情報１３５ａを生成し、副プログラム情報記憶部１３５に記憶させる。
【００６９】
あるいは、プログラムソースコード変換手段１３６は、取り出した情報をある文章規則に定められた変数に格納するように記述することにより副プログラム情報１３５ａを生成し、副プログラム情報記憶部１３５内に記憶させることもできる。この場合には、プログラムソースコード変換手段１３６は、副プログラムを実行可能コードに変換する際に、格納された変数を読み込み、副プログラム情報を、実行可能プログラム内部に埋め込むことができる。
【００７０】
以上のように、実施の形態２によれば、副プログラムのソースコードから、副プログラム情報を自動的に作成可能となる。さらに、副プログラム情報を計算機内部で処理可能なコードに変換して、実行可能プログラム内部に埋め込むことで、副プログラムのクライアントへの転送に対する評価・判定処理性能の向上に寄与することができる。
【００７１】
実施の形態３．
実施の形態１で示した図４のステップＳ４１５の処理においては、副プログラムごとに、ステップＳ４０２〜Ｓ４１４までの転送要否判定処理を繰り返している。本実施の形態３では、必要に応じて転送要否判定処理を行うことにより、判定処理にかかる時間の短縮を図る方策について説明する。
【００７２】
本実施の形態３において、副プログラム転送判定手段１３４は、副プログラム毎の転送要否の判定処理を実行した際に、副プログラム毎の判定処理結果および判定処理時刻を副プログラム情報１３５ａに付加して副プログラム情報記憶部１３５に記憶しておく。
【００７３】
そして、副プログラム転送判定手段１３４は、後に同一の副プログラムの転送要否の判定処理を実行する際に、副プログラム情報記憶部１３５内の副プログラム情報１３５ａに付加された前回の判定処理時刻からの経過時間を算出する。
【００７４】
さらに、副プログラム転送判定手段１３４は、算出した経過時間が所定時間内である場合には、ネットワーク環境あるいは計算機間での資源の送受信環境が大きく変化していないと判定して、前回の判定処理結果をそのまま流用する。これにより、今回の転送要否の判定処理に関わる時間を短縮することが可能となる。
【００７５】
以上のように、実施の形態３によれば、前回の副プログラムの実行からの経過時間が所定時間以内である場合には、前回の転送要否の判定処理結果を流用することにより、判定処理に関わる時間を短縮できるとともに、前回実行時と同等の処理時間が期待できる。
【００７６】
なお、上述の実施の形態３においては、経過時間に応じて前回の転送要否の判定処理結果を流用する場合について説明したが、副プログラムを実行した際の実績処理時間を副プログラム情報に付加して記憶しておくことにより、実績処理時間も加味した転送要否の判定処理を行うことができる。このように実績処理時間を加味することにより、例えば、前回は転送するべきと判定したが、実績処理時間が長くかかっている場合には、今回は転送しないと判定することができる。
【００７７】
実施の形態４．
実施の形態１は、サーバ型計算機１００内に転送評価判定手段１３０を備えている場合について説明した。本実施の形態４は、転送評価判定手段１３０の機能を、サーバ型計算機１００内に持たせず、ネットワーク上に専用の新たな装置として独立して設けた場合について説明する。
【００７８】
図７は、本発明の実施の形態４におけるコンピュータネットワークシステムの構成図である。副プログラムの転送要否を判定するための転送評価判定装置１３０ａが、専用の装置として、ネットワーク上に設けられている。
【００７９】
図７におけるこの転送評価判定装置１３０ａは、図２における転送評価判定手段１３０と同一の機能を有するとともに、他の計算機との通信を行うために、転送評価判定装置１３０ａ内に通信手段１３７を備えている。転送評価判定装置１３０ａは、サーバ型計算機１００から副プログラムの実行ごとに転送評価判定指令を受けることにより、対応する副プログラムの転送要否を判定し、判定結果をサーバ型計算機１００に返答する。
【００８０】
実施の形態１の構成である図２において、サーバ型計算機１００内に設けられていた転送評価判定手段１３０を、図７に示すように、コンピュータネットワークシステム内の独立した専用装置である転送評価判定装置１３０ａとして分散配置することにより、サーバ型計算機１００の処理負荷を軽減し、判定処理時間の短縮化を図ることができる。
【００８１】
また、図７における転送評価判定装置１３０ａとサーバ型計算機１００とをネットワーク上の近い位置に配置することにより、ネットワーク通信時間要素の影響を排除することができる。
【００８２】
実施の形態４によれば、サーバ型計算機内の転送評価判定手段を、コンピュータネットワークシステム内の独立した転送評価判定装置として分散配置することにより、サーバ型計算機の処理負荷を軽減し、判定処理時間の短縮化を図ることができる。さらに、サーバ型計算機と転送評価判定装置との配置をネットワーク上の近い位置とすることにより、これらの間でのネットワーク通信時間要素を排除して、判定処理を実行することができる。
【００８３】
なお、実施の形態４で説明した転送評価判定装置に対しても、実施の形態２で説明したプログラムソースコード変換手段を組み込むこと、そして実施の形態３で説明した経過時間に基づく判定処理を適用することが可能である。
【図面の簡単な説明】
【００８４】
【図１】従来装置において副プログラム転送実行を選択する際の分散プログラム処理のフローチャートである。
【図２】本発明の実施の形態１におけるコンピュータネットワークシステムの構成図である。
【図３】本発明の実施の形態１における副プログラム情報のデータ構造を示す図である。
【図４】本発明の実施の形態１における副プログラムの転送要否を判定する際の分散プログラム処理のフローチャートである。
【図５】本発明の実施の形態１における副プログラム転送判定手段による転送要否の総合的な判定の処理手順を示したフローチャートである。
【図６】本発明の実施の形態２における副プログラム情報の生成に関する説明図である。
【図７】本発明の実施の形態４におけるコンピュータネットワークシステムの構成図である。
【符号の説明】
【００８５】
１００  サーバ型計算機、１１０  副プログラム、１１１  副プログラムのソースコード文、１２０  システムプログラム、１３０  転送評価判定手段、１３０ａ  転送評価判定装置、１３１  強制転送評価手段、１３２  通信量評価手段、１３３  データ入出力評価手段、１３４  副プログラム転送判定手段、１３５  副プログラム情報記憶部、１３５ａ  副プログラム情報、１３６  プログラムソースコード変換手段、１３７  通信手段、１４０  圧縮手段、１５０  通信手段、２００  クライアント型計算機、２１０  通信手段、２２０  解凍手段、３００  ネットワーク。
【図１】
2006293743.tif 000003
【図２】
2006293743.tif 000004
【図３】
2006293743.tif 000005
【図４】
2006293743.tif 000006
【図５】
2006293743.tif 000007
【図６】
2006293743.tif 000008
【図７】
2006293743.tif 000009