JP2004199250A - Program execution method and its execution system as well as its processing program - Google Patents
Program execution method and its execution system as well as its processing program Download PDFInfo
- Publication number
- JP2004199250A JP2004199250A JP2002365134A JP2002365134A JP2004199250A JP 2004199250 A JP2004199250 A JP 2004199250A JP 2002365134 A JP2002365134 A JP 2002365134A JP 2002365134 A JP2002365134 A JP 2002365134A JP 2004199250 A JP2004199250 A JP 2004199250A
- Authority
- JP
- Japan
- Prior art keywords
- program
- environment information
- information
- environment
- reference source
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は変化する実行環境でプログラムを実行するプログラム実行システムに関し、特に前提となるプログラムの位置等を示す設定情報の内容が変化する環境でその参照元プログラムを実行するプログラム実行システムに適用して有効な技術に関するものである。
【0002】
【従来の技術】
従来、複数のプログラムから構築されるシステムを動作させる場合等、前提となるプログラム(以下、前提プログラムと記載)を必要とする要求元プログラムを実行する場合では、システムの環境変数やファイル若しくはオーエムジー(OMG:Object Management Group)の「ネーミングサービススペシフィケーション(Naming Service Specification)」に示されるネーミングサービス(Naming Service)等に、前提プログラムの場所等を示す環境の設定情報をユーザがプログラム起動前に設定しておく事により、システム動作に必要な環境を準備していた。
【0003】
また運用形態やネットワーク形態に依存することなく、CORBA(Common Object Request Broker Architecture)におけるネーミングサービスを、高信頼性をもってクライアントへ提供するオブジェクトリファレンス生成装置も知られている(例えば特許文献1参照)。
【0004】
【特許文献1】
特開2001−331334号公報(第5−7頁、第1図)
【0005】
【発明が解決しようとする課題】
上記従来のシステムでは、実行に必要な環境の情報をネーミングサービス等に設定してから参照元プログラムの起動を行っている為、その設定を忘れてしまうとプログラムの起動や動作がうまく行かない事があった。また前記設定を行った後に動作環境の変化が有った場合には、その設定情報を更新するまでシステムが正しく動作できないという問題があった。
【0006】
本発明の目的は上記問題を解決し、起動前にユーザにより環境情報の設定を行うことなく、参照元プログラムの実行モジュールを実行できる様にすることが可能な技術を提供することにある。
【0007】
【課題を解決するための手段】
本発明は、所定の環境情報の必要な参照元プログラムを実行するプログラム実行システムにおいて、参照元プログラムから要求された環境情報を検索して評価し、所定の条件を満たす環境情報を参照元プログラムへ渡すものである。
【0008】
本発明では、実行に必要な環境情報の検索・評価を動的に行う環境リロケータを用意しておき、参照元プログラムに必要な環境情報を環境リロケータから取得し、要求元プログラムの起動前に、環境変数、ファイルやネーミングサービスに環境設定を行わなくても実行モジュールを実行できる様にする。
【0009】
すなわち本発明の環境リロケータは、参照元プログラムから前提プログラムの名称等の環境情報が要求されると、その要求された環境情報を、その参照元プログラムの格納された情報処理装置内のファイルシステム、またはその情報処理装置とネットワークで接続された他の情報処理装置のファイルシステムから検索する。
【0010】
次に、前記検索された環境情報を、その環境情報の格納されている位置、その環境情報のバージョン、その環境情報を利用した利用者の数、またはその環境情報で用いられるメタデータにより評価し、その評価結果をデータベースに格納しておく。そして、前記データベース中に格納された環境情報の内で所定の条件を満たす環境情報を取り出して参照元プログラムへ渡す。
【0011】
前記の様に本発明では、参照元プログラムから要求された環境情報を検索して参照元プログラムへ渡すので、ネーミングサービスや環境変数等をユーザが事前に設定する必要が無くなり、前提となるプログラムが、何らかの事情により、別のフォルダーや別サーバに移動された場合等でも、ユーザは、環境変数や設定ファイル等の設定情報を手動で更新する必要無く、参照元プログラムを起動することが出来る様になるので、設定ファイルの書き間違い等が発生しなくなる。そして、最新の環境情報によりプログラムを動作させることができるので、常に最良の環境でプログラムを動作させることができる様になる。
【0012】
以上の様に本発明のプログラム実行システムによれば、参照元プログラムから要求された環境情報を検索して評価し、所定の条件を満たす環境情報を参照元プログラムへ渡すので、起動前にユーザにより環境情報の設定を行うことなく、参照元プログラムの実行モジュールを実行できる様にすることが可能である。
【0013】
【発明の実施の形態】
以下に前提プログラムや環境の設定情報等の所定の環境情報を必要とする参照元プログラムを実行する一実施形態のプログラム実行システムについて説明する。
【0014】
図1は本実施形態のプログラム実行システムの概要を示す図である。図1の様に参照元プログラム101は、環境リロケータ102によりファイルシステムやネットワーク105にある前提プログラム103の情報を取得する。環境リロケータ102は、収集した情報を蓄える為にデータベース104を利用する。
【0015】
図16は従来のシステムの構成例を示す図である。図16の様に従来のシステムでは、参照元プログラム201は、ネーミングサービス202により、前提プログラム103の位置を取得していた。
【0016】
例えばTARGET PROGという名前のプログラムが前提プログラム103の場合、ネーミングサービス202に、その前提プログラムの位置情報203を記録させてから、システムの起動を行い、システム内部で前提プログラム103が必要になった時に、ネーミングサービス202に問い合わせる事により、前提プログラムの位置情報203をネーミングサービス202から取得していた。
【0017】
本実施形態では、事前にネーミングサービス202に登録する作業をせず、環境リロケータ102を用意し、参照元プログラム101が、環境情報にアクセスする場合、必ず環境リロケータ102を通して、アクセスする様にする。参照元プログラム101は、ネーミングサービス202の代わりに環境リロケータ102に要求を行う。環境リロケータ102は、周囲の情報を収集し、評価してから一番適切なものに展開して参照元プログラム101に渡す。ここでは、参照元プログラム101が必要としている物を前提プログラム103として示すが、前提となる物は、プログラムとは限らず、参照元プログラム101が必要としているものであるならば、普通のファイルであっても良いものとする。
【0018】
環境情報の収集としては、まずは、近くにあるファイルから検索を始める。例えば、参照元プログラム101が、必要なファイル名だけを環境リロケータ102に渡すものとすると、環境リロケータ102は、システムのあるディレクトリを中心に、ファイル名により前提プログラム103の検索を始める。前提プログラム103として該当するプログラムが発見された場合、それを評価して評価結果をその位置と共に記録する。
【0019】
図2は本実施形態の環境リロケータ102の動作する情報処理装置の概略構成を示す図である。図2に示す様に本実施形態の情報処理装置110は、CPU111と、メモリ112と、磁気ディスク装置113と、入力装置114と、出力装置115と、CD−ROM装置116と、通信装置117とを有している。
【0020】
CPU111は、情報処理装置110全体の動作を制御する装置である。メモリ112は、情報処理装置110全体の動作を制御する際にその為の各種処理プログラムやデータをロードする記憶装置である。
【0021】
磁気ディスク装置113は、前記各種処理プログラムやデータを格納しておく記憶装置である。入力装置114は、前提プログラム103やデータファイル等の環境情報の検索、評価、決定に必要な情報を設定する為の各種入力を行う装置である。
【0022】
出力装置115は、前提プログラム103やデータファイル等の環境情報の検索、評価、決定に伴う各種出力を行う装置である。CD−ROM装置116は、前記各種処理プログラムを記録したCD−ROMの内容を読み出す装置である。通信装置117は、インターネットやイントラネット等のネットワークを介して他の情報処理装置との通信を行う装置である。
【0023】
また情報処理装置110は、環境情報検索処理部120と、環境情報評価処理部121と、環境情報決定処理部122とを有している。
【0024】
環境情報検索処理部120は、参照元プログラム101から要求された前提プログラム103やデータファイル等の環境情報を、その参照元プログラム101の格納された情報処理装置内のファイルシステムまたはその情報処理装置とネットワークで接続された他の情報処理装置のファイルシステムである、ファイルシステムやネットワーク105から検索する処理部である。
【0025】
環境情報評価処理部121は、前記検索された環境情報を、その環境情報の格納されている位置、その環境情報のバージョン、その環境情報を利用した利用者の数、またはその環境情報で用いられるメタデータにより評価して、その結果をデータベース104に格納する処理部である。環境情報決定処理部122は、データベース104中に格納された環境情報の内で所定の条件を満たす環境情報を取り出して参照元プログラム101へ渡す処理部である。
【0026】
情報処理装置110を、環境情報検索処理部120、環境情報評価処理部121及び環境情報決定処理部122として機能させる為のプログラムは、CD−ROM等の記録媒体に記録され磁気ディスク等に格納された後、メモリにロードされて実行されるものとする。なお前記プログラムを記録する記録媒体はCD−ROM以外の他の記録媒体でも良い。また前記プログラムを当該記録媒体から情報処理装置にインストールして使用しても良いし、ネットワークを通じて当該記録媒体にアクセスして前記プログラムを使用するものとしても良い。
【0027】
図3は本実施形態の環境リロケータ102が周囲の情報を収集して評価する処理の処理手順を示すフローチャートである。参照元プログラム101から前提プログラム103を要求されるとステップ301で環境リロケータ102は処理を開始する。
【0028】
ステップ302で環境リロケータ102の環境情報検索処理部120は、参照元プログラム101から要求された前提プログラム103やデータファイル等の環境情報を、その参照元プログラム101の格納された情報処理装置110内のファイルシステムまたはその情報処理装置110とネットワークで接続された他の情報処理装置のファイルシステムである、ファイルシステムやネットワーク105から検索する処理を行う。
【0029】
ステップ303で環境リロケータ102の環境情報評価処理部121は、前記検索された環境情報を、その環境情報の格納されている位置、その環境情報のバージョン、その環境情報を利用した利用者の数、またはその環境情報で用いられるメタデータにより評価して、その結果をデータベース104に格納する処理を行う。
【0030】
ステップ304で環境リロケータ102の環境情報決定処理部122は、データベース104中に格納された環境情報の内で、最も評価値の良い等の所定の条件を満たす環境情報を取り出して参照元プログラム101へ渡す処理を行い、ステップ305で処理を終了して制御を参照元プログラム101に戻す。
【0031】
次に、前記ステップ302で行う環境情報の検索の処理を図4〜図8で詳しく示す。
【0032】
図4は本実施形態のファイルシステム内を検索する処理の処理手順を示すフローチャートである。ステップ401で処理が開始されると、ステップ402で環境リロケータ102の環境情報検索処理部120は、まず、参照元プログラム101があるカレントディレクトリから、未評価のファイルを一つ取り出し、次にステップ403で環境情報評価処理部121は、そのファイルの評価値を計算する。該当のファイルが対象になる場合には、ステップ404で評価の結果をデータベース104に記録する。
【0033】
その後、ステップ405で環境情報検索処理部120は、カレントディレクトリに、まだ評価していないファイルが有るかを判定し、有る場合には未評価のファイルを一つ取り出してステップ402に戻る。無い場合には、ステップ406でカレントディレクトリに評価していないフォルダーが有るかを判定し、評価していないフォルダーか有る場合には、ステップ407でそれをカレントディレクトリに設定する。評価していないフォルダーが無い場合には、ステップ408で、そのディレクトリがルートディレクトリかを判定して、ルートディレクトリ以外の場合には、ステップ409で一つ上のフォルダーに遡る。もし、ルートディレクトリならばステップ410へ進み、ファイルの検索処理を終了する。
【0034】
以上のフローチャートでの処理をファイルシステム上に表現したのが図5である。
【0035】
図5は本実施形態のファイルシステム上での検索処理の概要を示す図である。図5の様に参照元プログラム101がProg1(501)であるものとすると、まずは、参照元プログラム101のあるフォルダーbin(503)内でファイルを探し、次に更に上のフォルダーProduct1(504)を探す。これを繰り返し、前提となるプログラムTARGET PROG(502)を探していく。
【0036】
本実施形態のプログラム実行システムでは、現在のマシン上に該当ファイルが見つからない場合には、ネットワークにより、更に周囲のマシンに検索の範囲を広げる。
【0037】
図6は本実施形態のファイルシステム上のプログラムを検索した後に、ネットワークを介して検索する場合の処理手順を示すフローチャートである。参照元プログラム101のあるファイルシステムの検索が終了すると、次にステップ601でネットワークからの検索を開始し、ステップ602で環境リロケータ102の環境情報検索処理部120は、まず、カレントドメインからマシンを一つ取り出し、ステップ603では、その取り出されたマシンのファイルシステム内の検索を行う。ここでの処理は、図4のファイルシステムの検索と同様になる。
【0038】
マシン内の検索が行われた後に、ステップ604では、ドメインに未検索のマシンが有るかを判定し、まだ未検索のマシンが有る場合には、ステップ602のカレントドメインからマシンを一つ取り出す処理に戻る。
【0039】
未検索のマシンが無い場合には、ステップ605で、未評価のサブドメインが有るかを判定して、未評価のサブドメインが有る場合には、ステップ606でそれをカレントドメインに設定した後、ステップ602へ戻る。
【0040】
未評価のサブドメインが無い場合には、ステップ607で上に親ドメインが無いかを判定し、親ドメインが有る場合には、ステップ608でカレントドメインを親ドメインに遡らせる。もし、上に親ドメインが無い場合には、ステップ609にてネットワークを介しての検索を終了する。
【0041】
図7は本実施形態のドメイン配置から見た検索の様子を示す図である。図7の様にmachine1.soft.hitachi.co.jp(701)に参照元プログラム101が有った場合、まず隣のマシンであるmachine2.soft.hitachi.co.jp(702)が検索対象になり、soft.hitachi.co.jpドメイン(703)内のマシンの検索が全て終わると、隣のドメインであるbisd.hitachi.co.jp(704)ドメイン内のマシンmachine1.bisd.hitachi.co.jp(705)やmachine2.bisd.hitachi.co.jp(706)の検索を行う。
【0042】
図8は本実施形態のファイルシステムの検索とネットワークを介した検索の組み合わせを示す図である。図8の参照元プログラム(801)からの要求により、環境リロケータ102は、始めに参照元プログラム(801)が格納されているファイルシステム(803)を検索し、次に、ネットワークを介して自ドメインsoft.hitachi.co.jp(804)にある隣のマシンmachine2.soft.hitachi.co.jp(805)の中にある前提プログラムTarget Prog(802)を探し当てる。
【0043】
本実施形態の環境リロケータ102は、以上の様に検索を進める事により、情報の収集を行う。次に環境情報評価処理部121による評価について説明する。環境情報評価処理部121は、位置の評価・バージョンの評価・利用者数の評価・メタデータ(Metadata)によるサポート項目数の評価を行う。以下に、それぞれについての評価値の算出方法を示す。
【0044】
図9は本実施形態のファイルの位置による評価の概要を示す図である。図9に示す様に本実施形態の位置の評価では、近いもの程評価を高くする事により、同時にインストールされたりネットワーク的に近い物を優先する。
【0045】
環境情報評価処理部121は、前提プログラム103として利用出来るhitachiフォルダー以下にあるProg2(902)と、Adachiフォルダー以下にあるProg2(903)が有る場合、hitachiフォルダー以下にあり、参照元プログラム(901)に近いProg2(902)を、良い評価とする。参照元プログラムに近い物を優先する事により、その前提プログラムを呼び出す際にネットワークを通さない等、速度的に有利となる。実際の評価値とする値は、参照元プログラムからの前提プログラムの位置を、ネットワークを含めた相対パスで示し、その間のパス区切りの数を十分大きな数から引いた数を評価値とする。
【0046】
また本実施形態のバージョンの評価では、前提プログラムは、バージョンの取得が出来る様にしておき、バージョンが新しい物程評価を高くする。
【0047】
図10は本実施形態のファイルのバージョンによる評価の概要を示す図である。図10に示す様に、環境情報検索処理部120がTarget Prog Ver1.0(1002)と、バージョンの新しいTarget Prog Ver1.5(1003)を見つけた場合、環境情報評価処理部121は、バージョンの新しいTarget Prog Ver1.5(1003)に良い評価を与える様にする。
【0048】
バージョンが新しい物程、バグが減っていたり、新機能がサポートされていたりして有用だと思われるので、新しい物程良い評価とする。実際の評価値としては、通常、バージョン番号が大きい数値である程、新しいバージョンなので、バージョン番号そのものを利用する。バージョンによる評価を行う事により、新しいシステムが優先して利用されるので、プログラムに障害が発生した場合にその修正を行う事故対策等が楽になる。
【0049】
また本実施形態では、利用者数での評価の為に、システムで前提プログラムが利用された場合にその利用者の数をカウントするカウンターを環境リロケータ102に設けておく。環境情報評価処理部121は、このカウンター機能により、より多くの利用者によって利用された前提プログラム程、良い評価を与える処理を行う。この評価の高い前提プログラムは、多くの人に利用されているので安心して使用することができる。この為、環境リロケータ102は、今までの利用者の数を前提プログラムのパス毎にデータベース上へ記録し、実際の評価値として、この利用者の数を利用する。
【0050】
図11は本実施形態の利用者数を記録するデータベースのデータ構造例を示す図である。図11のデータベースは、前提プログラムの場所を示すPath(1101)と利用者数(1102)からなっている。
【0051】
また本実施形態のメタデータによるサポート項目の評価では、前提プログラムに、どの様なサポート項目があるかを示すメタデータを出力する機能を埋め込み、その情報を評価に利用する事により行う。
【0052】
図12は本実施形態のメタデータの例を示す図である。図12の様に環境情報評価処理部121は、サポート項目が一つしかない前提プログラム/opt/hitachi/Product1/Prog1(1201)より、サポート項目が二つある/opt/Adachi/Product1/Prog1(1202)をより良い評価とする。メタデータによる評価は、サポート項目数の多さにより、良い評価となる様にする。実際の評価値としても、サポート項目数を利用する。
【0053】
以上の様に環境情報評価処理部121は、四つの項目、位置の評価・バージョンの評価・利用者数の評価・メタデータによるサポート項目数による評価を行い、評価の結果をデータベース104に保存する。
【0054】
図13は本実施形態の評価結果を記録するデータベース104のデータ構造例を示す図である。このデータベース104は、前提プログラム103の場所を示すPath(1301)と評価値(1302)からなる。
【0055】
これらの評価を総合評価するにあたり、評価のパラメータで、より近い物が良い場合と、より新しいものが良い場合、多くの利用者が使っている物が良い場合等、ユーザにより条件が異なるものと考えられる。そこで本実施形態では、評価値の優先度を、それぞれの評価値の優先係数として、ユーザが設定する様にする。環境情報評価処理部121は、この優先係数を、それぞれの評価値に掛け合わせ、その総和を該当する前提プログラムの総合評価値とする。この評価式を以下の数1に示す。
【0056】
【数1】
総合評価値=(位置の評価値)x(位置の優先係数)+(バージョンの評価値)x(バージョンの優先係数)+(利用者数の評価値)x(利用者数の優先係数)+(メタデータの評価値)x(メタデータの優先係数)
【0057】
一方、前提プログラムを検索する際に、検索範囲が広過ぎて問題となる場合がある。そこで、検索に時間が掛かる場合の対策を述べる。検索に時間が掛かる場合には、検索範囲を限定したり、検索時間を限定する事により、制限する事ができる。その為に検索で、ある程度の数が見つかった場合には検索を中断するか、若しくは、検索で有る程度の時間が経ったら中断する等のパラメータをユーザが設定できる様にする。例えば、該当する前提プログラムを数個発見した段階で、その中から利用する様にユーザが設定可能とする事により、検索に時間が掛かり過ぎてしまうという問題を解決できる。
【0058】
その他の応用として、ネーミングサービスとの互換機能を環境リロケータ102が受け持つ事も出来る。分散オブジェクト環境の場合、ネーミングサービスが利用されることが多い。事前に登録を行い、参照元プログラムがネーミングサービスに問い合わせることにより、サーバへのリファレンス等、実行時に必要な情報を取得できる様になっている。環境リロケータ102が、ネーミングサービス(Naming Service)として、応答できる様にすると、事前に登録の必要も無く、従来のシステムとの互換性もあり便利である。
【0059】
図14は本実施形態の環境リロケータ102による負荷分散の例を示す図である。図14の様に参照元プログラムとして、プログラム1(1401)、プログラム2(1402)、プログラム3(1403)の様に、複数の参照元が有る場合に、それぞれの参照元プログラム毎に、環境リロケータ102の回答を変える事により、負荷分散を行うことが出来る。
【0060】
すなわち、複数のプログラム1401〜1403から同一名称の前提プログラム103が要求された場合、データベース104中に格納された環境情報の内で、最も評価値の良い等の所定の条件を満たす前提プログラム103の情報を取り出してプログラム1401へ渡した後、その既にプログラム1401に渡された情報を除いた環境情報の内で所定の条件を満たす前提プログラム103の情報を取り出して次のプログラム1402へ渡す処理を行い、それぞれのプログラム1401〜1403に対して異なる情報処理装置上の前提プログラム103の情報を渡す。
【0061】
図15は本実施形態の参照元プログラム101の開発環境等のフェーズによるグループ分けの例を示す図である。図15に示す様に更に別の応用として、プログラムdebug(1501)、プログラム開発版(1502)、プログラム完成版(1503)という様に参照元プログラムの状況が違う場合、環境リロケータ102に参照元の状況を渡す事により、開発中の参照元プログラムと、完成版の参照元プログラムとで、環境リロケータ102が返す前提プログラムを変える事が出来る。この機能により、開発環境等のフェーズによるグループ分けを行うことが可能になる。
【0062】
前記の様に本実施形態では、参照元プログラムから要求された環境情報を検索して参照元プログラムへ渡すので、ネーミングサービスや環境変数等をユーザが事前に設定する必要が無くなり、前提プログラムが、何らかの事情により、別のフォルダーや別サーバに移動された場合等でも、ユーザは、環境変数や設定ファイル等の設定情報を手動で更新する必要無く、参照元プログラムを起動することが出来る様になるので、設定ファイルの書き間違い等が発生しなくなる。そして、最新の環境情報によりプログラムを動作させることができるので、常に最良の環境でプログラムを動作させることができる様になる。
【0063】
また、バージョンによる評価を行う事により新しいシステムが利用されるので、障害が発生した場合にはその修正版を要求元プログラムの近くにインストールすることで対策することができ、事故対策等が楽になる。また、事故対策が失敗した場合には、インストールした物を直ぐに消せば以前の状態に戻るので、元の状態に簡単に戻す事ができる。また全ては、環境リロケータ経由でアクセスが行われているので、動的な入れ替えも可能となる。
【0064】
以上説明した様に本実施形態のプログラム実行システムによれば、参照元プログラムから要求された環境情報を検索して評価し、所定の条件を満たす環境情報を参照元プログラムへ渡すので、起動前にユーザにより環境情報の設定を行うことなく、参照元プログラムの実行モジュールを実行できる様にすることが可能である。
【0065】
【発明の効果】
本発明によれば参照元プログラムから要求された環境情報を検索して評価し、所定の条件を満たす環境情報を参照元プログラムへ渡すので、起動前にユーザにより環境情報の設定を行うことなく、参照元プログラムの実行モジュールを実行できる様にすることが可能である。
【図面の簡単な説明】
【図1】本実施形態のプログラム実行システムの概要を示す図である。
【図2】本実施形態の環境リロケータ102の動作する情報処理装置の概略構成を示す図である。
【図3】本実施形態の環境リロケータ102が周囲の情報を収集して評価する処理の処理手順を示すフローチャートである。
【図4】本実施形態のファイルシステム内を検索する処理の処理手順を示すフローチャートである。
【図5】本実施形態のファイルシステム上での検索処理の概要を示す図である。
【図6】本実施形態のファイルシステム上のプログラムを検索した後に、ネットワークを介して検索する場合の処理手順を示すフローチャートである。
【図7】本実施形態のドメイン配置から見た検索の様子を示す図である。
【図8】本実施形態のファイルシステムの検索とネットワークを介した検索の組み合わせを示す図である。
【図9】本実施形態のファイルの位置による評価の概要を示す図である。
【図10】本実施形態のファイルのバージョンによる評価の概要を示す図である。
【図11】本実施形態の利用者数を記録するデータベースのデータ構造例を示す図である。
【図12】本実施形態のメタデータの例を示す図である。
【図13】本実施形態の評価結果を記録するデータベース104のデータ構造例を示す図である。
【図14】本実施形態の環境リロケータ102による負荷分散の例を示す図である。
【図15】本実施形態の参照元プログラム101の開発環境等のフェーズによるグループ分けの例を示す図である。
【図16】従来のシステムの構成例を示す図である。
【符号の説明】
101…参照元プログラム、102…環境リロケータ、103…前提プログラム、104…データベース、105…ファイルシステムやネットワーク、110…情報処理装置、111…CPU、112…メモリ、113…磁気ディスク装置、114…入力装置、115…出力装置、116…CD−ROM装置、117…通信装置、120…環境情報検索処理部、121…環境情報評価処理部、122…環境情報決定処理部、1101…Path、1102…利用者数、1401〜1403…プログラム、201…参照元プログラム、202…ネーミングサービス、203…前提プログラムの位置情報。[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a program execution system for executing a program in a changing execution environment, and particularly to a program execution system for executing a reference source program in an environment in which the contents of setting information indicating a prerequisite program location and the like change. It is about effective technology.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, when a request source program that requires a prerequisite program (hereinafter referred to as a prerequisite program) is executed, such as when operating a system constructed from a plurality of programs, system environment variables, files, or OMG (OMG: Object Management Group) naming service specification (Naming Service Specification) specified in `` Naming Service Specification '', etc. By setting, the environment necessary for system operation was prepared.
[0003]
There is also known an object reference generation device that provides a naming service in CORBA (Common Object Request Broker Architecture) to a client with high reliability without depending on an operation mode or a network mode (for example, see Patent Document 1).
[0004]
[Patent Document 1]
JP 2001-331334 A (Page 5-7, FIG. 1)
[0005]
[Problems to be solved by the invention]
In the above conventional system, since the information of the environment required for execution is set in the naming service etc. and then the reference source program is started, if the setting is forgotten, the program start or operation will not work properly was there. In addition, if the operating environment changes after the setting, there is a problem that the system cannot operate properly until the setting information is updated.
[0006]
An object of the present invention is to solve the above-mentioned problem and to provide a technique capable of executing an execution module of a reference source program without setting environment information by a user before activation.
[0007]
[Means for Solving the Problems]
The present invention relates to a program execution system that executes a reference source program requiring predetermined environment information, searches and evaluates environment information requested from the reference source program, and transmits environment information satisfying a predetermined condition to the reference source program. To pass.
[0008]
In the present invention, an environment relocator that dynamically searches and evaluates environment information necessary for execution is prepared, environment information necessary for the referencing program is obtained from the environment relocator, and before the requesting program is started, Enables execution of an execution module without setting environment for environment variables, files and naming service.
[0009]
That is, the environment relocator of the present invention is such that, when environment information such as the name of a prerequisite program is requested from a reference source program, the requested environment information is converted into a file system in the information processing device in which the reference source program is stored, Alternatively, a search is performed from the file system of another information processing device connected to the information processing device via a network.
[0010]
Next, the searched environment information is evaluated based on the location where the environment information is stored, the version of the environment information, the number of users using the environment information, or metadata used in the environment information. The evaluation result is stored in a database. Then, environment information that satisfies a predetermined condition is extracted from the environment information stored in the database and passed to the reference source program.
[0011]
As described above, in the present invention, the environment information requested from the reference source program is searched and passed to the reference source program, so that the user does not need to set the naming service and environment variables in advance, and the prerequisite program is Even if the file is moved to another folder or another server for some reason, the user can start the referencing program without having to manually update the setting information such as environment variables and setting files. Therefore, mistakes in writing the setting file and the like do not occur. Since the program can be operated with the latest environment information, the program can always be operated in the best environment.
[0012]
As described above, according to the program execution system of the present invention, the environment information requested from the reference source program is searched and evaluated, and the environment information satisfying a predetermined condition is passed to the reference source program. It is possible to execute the execution module of the reference source program without setting environment information.
[0013]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, a program execution system according to an embodiment that executes a reference source program that requires predetermined environment information such as a prerequisite program and environment setting information will be described.
[0014]
FIG. 1 is a diagram showing an outline of a program execution system of the present embodiment. As shown in FIG. 1, the
[0015]
FIG. 16 is a diagram showing a configuration example of a conventional system. As shown in FIG. 16, in the conventional system, the
[0016]
For example, if the program named TARGET PROG is the
[0017]
In the present embodiment, the
[0018]
To collect environmental information, start by searching for nearby files. For example, assuming that the
[0019]
FIG. 2 is a diagram illustrating a schematic configuration of an information processing apparatus on which the
[0020]
The CPU 111 is a device that controls the operation of the entire
[0021]
The
[0022]
The
[0023]
In addition, the
[0024]
The environment information
[0025]
The environment information
[0026]
A program for causing the
[0027]
FIG. 3 is a flowchart showing a processing procedure of a process in which the
[0028]
In
[0029]
In
[0030]
In
[0031]
Next, the process of searching for environment information performed in
[0032]
FIG. 4 is a flowchart illustrating a processing procedure of a process of searching the file system according to the present embodiment. When the process is started in
[0033]
Thereafter, in
[0034]
FIG. 5 illustrates the processing in the above flowchart on a file system.
[0035]
FIG. 5 is a diagram illustrating an outline of a search process on the file system according to the present embodiment. Assuming that the
[0036]
In the program execution system according to the present embodiment, when the file is not found on the current machine, the search range is further expanded to the surrounding machines by the network.
[0037]
FIG. 6 is a flowchart showing a processing procedure when searching through the network after searching for a program on the file system of the present embodiment. When the search of the file system having the
[0038]
After the search in the machine is performed, it is determined in
[0039]
If there is no unsearched machine, it is determined in
[0040]
If there is no un-evaluated sub-domain, it is determined in
[0041]
FIG. 7 is a diagram illustrating a state of the search viewed from the domain arrangement according to the present embodiment. As shown in FIG. 7, when there is a
[0042]
FIG. 8 is a diagram illustrating a combination of the search of the file system and the search via the network according to the present embodiment. In response to a request from the referencing program (801) in FIG. 8, the
[0043]
The environment relocator 102 of the present embodiment collects information by performing a search as described above. Next, evaluation by the environment information
[0044]
FIG. 9 is a diagram illustrating an outline of the evaluation based on the file position according to the present embodiment. As shown in FIG. 9, in the evaluation of the position in the present embodiment, by increasing the evaluation as the position is closer, the one that is installed at the same time or that is closer to the network is given priority.
[0045]
If there is a Prog2 (902) under the hitachi folder that can be used as the
[0046]
In the evaluation of the version according to the present embodiment, the prerequisite program is set so that the version can be acquired, and the evaluation of a newer version is higher.
[0047]
FIG. 10 is a diagram showing an outline of the evaluation based on the file version of the present embodiment. As shown in FIG. 10, when the environment information
[0048]
The newer the version, the less bugs it has and the new features are supported. As the actual evaluation value, normally, the larger the version number is, the newer the version is. Therefore, the version number itself is used. By performing the evaluation based on the version, the new system is preferentially used, so that when a failure occurs in the program, it is easy to take measures against an accident for correcting the failure.
[0049]
In this embodiment, a counter for counting the number of users when a prerequisite program is used in the system is provided in the
[0050]
FIG. 11 is a diagram illustrating an example of the data structure of a database that records the number of users according to the present embodiment. The database in FIG. 11 includes a path (1101) indicating the location of the prerequisite program and the number of users (1102).
[0051]
The evaluation of the support items by the metadata of the present embodiment is performed by embedding a function of outputting metadata indicating what support items are present in the prerequisite program and using the information for evaluation.
[0052]
FIG. 12 is a diagram illustrating an example of metadata according to the present embodiment. As shown in FIG. 12, the environment information
[0053]
As described above, the environmental information
[0054]
FIG. 13 is a diagram illustrating an example of the data structure of the
[0055]
When comprehensively evaluating these evaluations, it is assumed that the parameters differ depending on the user, such as when the closer one is better, the newer one is better, or the one used by many users is better. Conceivable. Therefore, in this embodiment, the user sets the priority of the evaluation value as a priority coefficient of each evaluation value. The environment information
[0056]
(Equation 1)
Overall evaluation value = (position evaluation value) x (position priority coefficient) + (version evaluation value) x (version priority coefficient) + (user number evaluation value) x (user number priority coefficient) + (Metadata evaluation value) x (Metadata priority factor)
[0057]
On the other hand, when searching for a prerequisite program, the search range may be too wide to cause a problem. Therefore, measures to be taken when the search takes a long time will be described. When a long time is required for the search, the search can be limited by limiting the search range or the search time. Therefore, the search is interrupted when a certain number is found in the search, or the user can set parameters such as to interrupt the search after a certain period of time has passed. For example, when a user finds several relevant prerequisite programs and makes it possible for the user to make settings to use them, the problem that the search takes too much time can be solved.
[0058]
As another application, the
[0059]
FIG. 14 is a diagram illustrating an example of load distribution by the
[0060]
That is, when the
[0061]
FIG. 15 is a diagram illustrating an example of grouping according to phases such as the development environment of the
[0062]
As described above, in the present embodiment, the environment information requested from the reference source program is searched and passed to the reference source program, so that the user does not need to set the naming service and environment variables in advance, and the prerequisite program is Even if the folder is moved to another folder or another server for some reason, the user can start the referencing program without having to manually update the setting information such as environment variables and setting files. Therefore, mistakes in writing the setting file and the like do not occur. Since the program can be operated with the latest environment information, the program can always be operated in the best environment.
[0063]
In addition, since a new system is used by evaluating by version, if a failure occurs, it is possible to take measures by installing the modified version near the requesting program, making it easier to take measures against accidents etc. . Also, if the accident countermeasure fails, the installed state can be returned to the previous state by immediately erasing it, so that the original state can be easily restored. In addition, since all are accessed via the environment relocator, dynamic replacement is also possible.
[0064]
As described above, according to the program execution system of the present embodiment, the environment information requested from the reference source program is searched and evaluated, and the environment information satisfying a predetermined condition is passed to the reference source program. It is possible to execute the execution module of the reference source program without setting the environment information by the user.
[0065]
【The invention's effect】
According to the present invention, the environment information requested from the reference source program is searched for and evaluated, and the environment information that satisfies a predetermined condition is passed to the reference source program, so that the user does not set the environment information before activation, It is possible to execute the execution module of the reference source program.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating an outline of a program execution system according to an embodiment.
FIG. 2 is a diagram illustrating a schematic configuration of an information processing device on which an
FIG. 3 is a flowchart illustrating a processing procedure of a process in which the
FIG. 4 is a flowchart illustrating a processing procedure of a process of searching the file system according to the embodiment;
FIG. 5 is a diagram illustrating an outline of a search process on the file system according to the embodiment;
FIG. 6 is a flowchart illustrating a processing procedure in a case where a search is performed via a network after a program on the file system according to the embodiment is searched.
FIG. 7 is a diagram illustrating a state of a search viewed from a domain arrangement according to the present embodiment.
FIG. 8 is a diagram showing a combination of a file system search and a search via a network according to the embodiment.
FIG. 9 is a diagram illustrating an outline of evaluation based on a file position according to the embodiment;
FIG. 10 is a diagram illustrating an outline of evaluation based on a file version according to the embodiment;
FIG. 11 is a diagram illustrating an example of a data structure of a database that records the number of users according to the present embodiment.
FIG. 12 is a diagram illustrating an example of metadata according to the present embodiment.
FIG. 13 is a diagram illustrating an example of a data structure of a
FIG. 14 is a diagram showing an example of load distribution by the
FIG. 15 is a diagram illustrating an example of grouping according to phases such as a development environment of the
FIG. 16 is a diagram showing a configuration example of a conventional system.
[Explanation of symbols]
101: Reference Program, 102: Environment Relocator, 103: Prerequisite Program, 104: Database, 105: File System or Network, 110: Information Processing Device, 111: CPU, 112: Memory, 113: Magnetic Disk Device, 114:
Claims (5)
参照元プログラムから要求された環境情報を、その参照元プログラムの格納された情報処理装置内のファイルシステムまたはその情報処理装置とネットワークで接続された他の情報処理装置のファイルシステムから検索するステップと、前記検索された環境情報を評価して、その結果をデータベースに格納するステップと、前記データベース中に格納された環境情報の内で所定の条件を満たす環境情報を取り出して参照元プログラムへ渡すステップとを有することを特徴とするプログラム実行方法。In a program execution method for executing a reference program required for predetermined environmental information,
Retrieving environment information requested from the reference source program from a file system in the information processing apparatus in which the reference source program is stored or a file system of another information processing apparatus connected to the information processing apparatus via a network; Evaluating the searched environment information and storing the result in a database; and extracting environment information satisfying a predetermined condition from the environment information stored in the database and passing the extracted environment information to a reference source program. And a program executing method.
参照元プログラムから要求された環境情報を、その参照元プログラムの格納された情報処理装置内のファイルシステムまたはその情報処理装置とネットワークで接続された他の情報処理装置のファイルシステムから検索する環境情報検索処理部と、前記検索された環境情報を評価して、その結果をデータベースに格納する環境情報評価処理部と、前記データベース中に格納された環境情報の内で所定の条件を満たす環境情報を取り出して参照元プログラムへ渡す環境情報決定処理部とを備えることを特徴とするプログラム実行システム。In a program execution system that executes a reference program required for predetermined environmental information,
Environment information for retrieving environment information requested from a reference source program from a file system in an information processing apparatus in which the reference source program is stored or a file system of another information processing apparatus connected to the information processing apparatus via a network. A search processing unit, an environment information evaluation processing unit that evaluates the searched environment information and stores the result in a database, and an environment information that satisfies a predetermined condition among the environment information stored in the database. A program execution system comprising: an environment information determination processing unit that extracts and transfers the extracted information to a reference source program.
参照元プログラムから要求された環境情報を、その参照元プログラムの格納された情報処理装置内のファイルシステムまたはその情報処理装置とネットワークで接続された他の情報処理装置のファイルシステムから検索する環境情報検索処理部と、前記検索された環境情報を評価して、その結果をデータベースに格納する環境情報評価処理部と、前記データベース中に格納された環境情報の内で所定の条件を満たす環境情報を取り出して参照元プログラムへ渡す環境情報決定処理部としてコンピュータを機能させることを特徴とするプログラム。In a program for causing a computer to function as a program execution system that executes a reference source program required for predetermined environmental information,
Environment information for retrieving environment information requested from a reference source program from a file system in an information processing apparatus in which the reference source program is stored or a file system of another information processing apparatus connected to the information processing apparatus via a network. A search processing unit, an environment information evaluation processing unit that evaluates the searched environment information and stores the result in a database, and an environment information that satisfies a predetermined condition among the environment information stored in the database. A program that causes a computer to function as an environment information determination processing unit that extracts and passes the extracted information to a reference source program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002365134A JP2004199250A (en) | 2002-12-17 | 2002-12-17 | Program execution method and its execution system as well as its processing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002365134A JP2004199250A (en) | 2002-12-17 | 2002-12-17 | Program execution method and its execution system as well as its processing program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004199250A true JP2004199250A (en) | 2004-07-15 |
Family
ID=32762778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002365134A Pending JP2004199250A (en) | 2002-12-17 | 2002-12-17 | Program execution method and its execution system as well as its processing program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004199250A (en) |
-
2002
- 2002-12-17 JP JP2002365134A patent/JP2004199250A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7299450B2 (en) | Undoing changes in a software configuration management system | |
JP3041528B2 (en) | File system module | |
US7974949B2 (en) | Computer system and automatic data backup method | |
US7516166B2 (en) | Resource loading | |
JP2009009590A (en) | System and method for website content development | |
KR20070049166A (en) | System and method for extraction and creation of application meta-information within a software application repository | |
EP1485801A1 (en) | Iterative software development environment with prioritized build rules | |
JP2007504526A (en) | Pointer update control based on file movement history | |
JP2011191862A (en) | File management apparatus, file management system, and file management program | |
JP5241298B2 (en) | System and method for supporting file search and file operations by indexing historical file names and locations | |
JP4755244B2 (en) | Information generation method, information generation program, and information generation apparatus | |
CN110008197A (en) | A kind of data processing method, system and electronic equipment and storage medium | |
JPH11110275A (en) | Database system, control device for the same and information processor | |
US8442961B2 (en) | Method, system and computer programming for maintaining bookmarks up-to date | |
JP5556025B2 (en) | Storage system | |
US8433729B2 (en) | Method and system for automatically generating a communication interface | |
JP5106062B2 (en) | File search method, file search device, search system, and file search program | |
JP2006031608A (en) | Computer, storage system, file management method which computer performs, and program | |
US7028031B1 (en) | Repairing links in deactivated files | |
JP4253315B2 (en) | Knowledge information collecting system and knowledge information collecting method | |
JP2004199250A (en) | Program execution method and its execution system as well as its processing program | |
JP2006185167A (en) | File retrieval method, file retrieval device, and file retrieval program | |
JP2011081472A (en) | Document management system | |
KR100658299B1 (en) | Method for monitoring telecommunication network performance based on web corresponding to change database structure | |
JP2005327225A (en) | System, method, and program for document management, and program recording medium |