(57)【要約】【課題】ユーザがデータ位置を意識せず１つの計算機のように扱える計算機システムを提供する。【解決手段】計算機システムを構成する第１の計算機は、計算機システム内の第２の計算機から第２の計算機が計算機システム内のデータを計算機システム上で一意に識別するためのデータ識別情報を受信すると、データ識別情報を、第１の計算機がデータを計算機システムから読み出すための読み出し情報に変換して第２の計算機に送信する変換手段を含む。第２の計算機は、プログラム識別情報とデータ識別情報を受け付けると、データ識別情報を第１の計算機に送信し読み出し情報を受信すると、読み出し情報とプログラム識別情報を用いて、第１の計算機にプログラムを実行してデータを処理させる遠隔実行命令を生成する生成手段を含む。【選択図】図１
2010015371.tif 000002
【特許請求の範囲】
【請求項１】
互いに接続された複数の計算機を含む計算機システムであって、
前記複数の計算機のうちの第１の計算機は、
前記複数の計算機のうちの第２の計算機から、当該第２の計算機が前記計算機システムに存在するデータを前記計算機システム上で一意に識別するためのデータ識別情報を受信すると、当該データ識別情報を、前記第１の計算機が前記データを前記計算機システムから読み出すための読み出し情報に変換し、当該読み出し情報を前記第２の計算機に送信する変換手段と、を含み、
前記第２の計算機は、
前記計算機システムに存在するプログラムのうち前記データを処理するためのプログラムを識別するためのプログラム識別情報と前記データ識別情報とを受け付けると、当該データ識別情報を、前記第１の計算機に送信し、当該第１の計算機から前記読み出し情報を受信すると、当該読み出し情報と、前記プログラム識別情報と、を用いて、前記第１の計算機に前記プログラムを実行して前記データを処理させる遠隔実行命令を生成する生成手段を、含む、計算機システム。
【請求項２】
前記第１の計算機は、
前記プログラムごとに、当該プログラムのプログラム識別情報を、当該プログラム識別情報にて識別されるプログラムを実行するための要因を示す要因情報に対応づけて格納する要因情報格納手段と、
前記第２の計算機から、前記要因情報を受信すると、前記要因情報格納手段内の前記プログラム識別情報の中から、当該要因情報に対応する対応プログラム識別情報を探索し、当該対応プログラム識別情報が存在する場合、当該対応プログラム識別情報を示す探索の結果を、前記第２の計算機に送信する探索手段と、をさらに含み、
前記第２の計算機は、
前記要因情報と前記データ識別情報とを示し、プログラム実行のトリガとなる、入力情報を検出する検出手段と、
前記入力情報が検出されると、当該入力情報が示す要因情報を、前記第１の計算機に送信し、当該第１の計算機から前記探索の結果を受信すると、当該探索の結果が示す対応プログラム識別情報にて識別されるプログラムの中から、遠隔実行させる実行プログラムを決定し、当該実行プログラムのプログラム識別情報と、前記入力情報が示すデータ識別情報とを、前記生成手段に送信する選択手段と、をさらに含み、
前記生成手段は、前記読み出し情報と、前記実行プログラムのプログラム識別情報と、を用いて、前記第１の計算機に前記実行プログラムを実行して前記データを処理させる遠隔実行命令を生成し、
前記第２の計算機は、前記遠隔実行命令を実行するプログラム起動手段をさらに含む、請求項１に記載の計算機システム。
【請求項３】
前記複数の計算機は、複数の前記第１の計算機と、前記第２の計算機と、を含む３台以上の計算機、または、前記第１の計算機と前記第２の計算機とを有する特定計算機と、前記第１の計算機と、を含む２台以上の計算機であり、
前記選択手段は、前記要因情報を、前記複数の第１の計算機に送信し、当該複数の第１の計算機からそれぞれの前記探索の結果を受信すると、当該それぞれの探索の結果に示された対応プログラム識別情報にて識別されるプログラムの中から、前記実行プログラムを決定し、かつ、前記複数の第１の計算機の中から、当該実行プログラムを実行させる実行計算機を決定し、前記実行プログラムのプログラム識別情報と、前記データ識別情報と、前記実行計算機の識別情報とを、前記生成手段に送信し、
前記生成手段は、前記実行プログラムのプログラム識別情報と、前記読み出し情報と、前記実行計算機の識別情報と、を用いて、前記実行計算機に前記実行プログラムを実行して前記データを処理させる遠隔実行命令を生成する、請求項２に記載の計算機システム。
【請求項４】
前記選択手段は、前記それぞれの探索の結果に基づいて、前記複数の第１の計算機のうち前記実行プログラムを格納している計算機を特定し、当該特定された計算機の中から、前記実行計算機を、ランダムに選択して決定する、請求項３に記載の計算機システム。
【請求項５】
前記選択手段は、前記それぞれの探索の結果に基づいて、前記複数の第１の計算機のうち前記実行プログラムを格納している計算機を特定し、当該特定された計算機の中から、当該計算機の識別情報を所定条件に基づいて並べたときの降順、昇順、または、当該識別情報についての予め定められた計算の結果に基づいて、前記実行計算機を選択して決定する、請求項３に記載の計算機システム。
【請求項６】
前記選択手段は、前記それぞれの探索の結果に基づいて、前記複数の第１の計算機のうち前記実行プログラムを格納している計算機を特定し、当該特定された計算機から送信された前記探索の結果のうち最も早く受信された探索の結果を送信した計算機を、前記実行計算機を選択して決定する、請求項３に記載の計算機システム。
【請求項７】
前記選択手段は、前記探索の結果に示された対応プログラム識別情報にて識別されるプログラムの中から、前記実行プログラムを、ランダムに選択して決定する、請求項２から６のいずれか１項に記載の計算機システム。
【請求項８】
前記選択手段は、前記探索の結果に示された対応プログラム識別情報にて識別されるプログラムの中から、当該プログラムの識別情報を所定条件に基づいて並べたときの降順、昇順、または、当該識別情報についての予め定められた計算の結果に基づいて、前記実行プログラムを選択して決定する、請求項２から６のいずれか１項に記載の計算機システム。
【請求項９】
前記選択手段は、前記探索の結果のそれぞれのうち最も早く受信された探索の結果に示された対応プログラム識別情報にて識別されるプログラムを、前記実行プログラムとして選択して決定する、請求項３から６のいずれか１項に記載の計算機システム。
【請求項１０】
前記変換手段が前記データ識別情報を前記読み出し情報に変換できない場合、前記選択手段は、前記探索の結果に示されたプログラム識別情報にて識別されるプログラムと前記複数の第１の計算機との組み合わせのうち、前記実行プログラムとして選択したことのあるプログラムと前記実行計算機として選択したことのある計算機との組み合わせを除いた組み合わせから、再度、実行プログラムおよび実行計算機を選択して決定する、請求項３に記載の計算機システム。
【請求項１１】
前記要因情報格納手段は、前記読み出し情報を用いて前記データを読み出すことが許容されている計算機を示すライセンス情報を格納し、
前記変換手段は、前記第１の計算機が、前記ライセンス情報に示されていない場合、前記データ識別情報を前記読み出し情報に変換できないと判定する、請求項１０に記載の計算機システム。
【請求項１２】
互いに接続された複数の計算機を含む計算機システムであって、
前記複数の計算機のうちの第１の計算機は、
複数の計算機のうちの第２の計算機が前記計算機システムに存在するデータを前記計算機システム上で一意に識別するためのデータ識別情報を受信すると、当該データ識別情報を、前記第１の計算機が前記データを前記計算機システムから読み出すための読み出し情報に変換し、当該読み出し情報を前記データ識別情報の送信元に送信する変換手段と、
前記計算機システムに存在するプログラムごとに、当該プログラムのプログラム識別情報を、当該プログラム識別情報にて識別されるプログラムを実行するための要因を示す要因情報に対応づけて格納する要因情報格納手段と、
前記第２の計算機から、前記要因情報と前記データ識別情報とを受信すると、前記要因情報格納手段内の前記プログラム識別情報の中から、当該要因情報に対応する対応プログラム識別情報を探索し、当該対応プログラム識別情報が存在する場合、前記変換手段に前記データ識別情報を送信し、前記変換手段から前記読み出し情報を受信すると、前記対応プログラム識別情報を示す探索の結果と前記読み出し情報とを、前記第２の計算機に送信する探索手段と、を含み、
前記第２の計算機は、
前記要因情報と前記データ識別情報とを示し、プログラム実行のトリガとなる、入力情報を検出する検出手段と、
前記入力情報が検出されると、当該入力情報が示す要因情報およびデータ識別情報を、前記第１の計算機に送信し、当該第１の計算機から前記探索の結果と前記読み出し情報とを受信すると、当該探索の結果が示す対応プログラム識別情報にて識別されるプログラムの中から、遠隔実行させる実行プログラムを決定し、当該実行プログラムのプログラム識別情報と、前記読み出し情報と、を送信する選択手段と、
前記選択手段から送信された実行プログラムのプログラム識別情報と読み出し情報とを受信すると、当該実行プログラムのプログラム識別情報と読み出し情報とを用いて、前記第１の計算機に前記実行プログラムを実行して前記データを処理させる遠隔実行命令を生成する生成手段と、を含む、計算機システム。
【請求項１３】
前記第２の計算機は、前記遠隔実行命令を実行するプログラム起動手段をさらに含む、請求項１２に記載の計算機システム。
【請求項１４】
他の計算機と共に計算機システムを構成する計算機であって、
前記他の計算機から、当該他の計算機が前記計算機システムに存在するデータを一意に識別するためのデータ識別情報を受信すると、当該データ識別情報を、自計算機が前記データを前記計算機システムから読み出すための読み出し情報に変換し、当該読み出し情報を前記他の計算機に送信する変換手段と、を含む計算機。
【請求項１５】
前記計算機システムに存在するプログラムごとに、当該プログラムのプログラム識別情報を、当該プログラム識別情報にて識別されるプログラムを実行するための要因を示す要因情報に、対応づけて格納する要因情報格納手段と、
前記他の計算機から、前記要因情報を受信すると、前記要因情報格納手段内の前記プログラム識別情報の中から、当該要因情報に対応する対応プログラム識別情報を探索し、当該対応プログラム識別情報が存在する場合、当該対応プログラム識別情報を示す探索の結果を、前記他の計算機に送信する探索手段と、をさらに含む請求項１４に記載の計算機。
【請求項１６】
他の計算機と共に計算機システムを構成する計算機であって、
前記計算機システムに存在するプログラムを識別するためのプログラム識別情報と、前記計算機システムに存在するデータを自計算機が一意に識別するためのデータ識別情報と、を受け付けると、当該データ識別情報を、前記他の計算機に送信し、前記他の計算機から、当該他の計算機が前記データを前記計算機システムから読み出すための読み出し情報を受信すると、当該読み出し情報と、前記プログラム識別情報と、を用いて、前記他の計算機に前記プログラムを実行して前記データを処理させる遠隔実行命令を生成する生成手段とを、含む計算機。
【請求項１７】
前記遠隔実行命令を実行するプログラム起動手段をさらに含む、請求項１６に記載の計算機。
【請求項１８】
互いに接続された複数の計算機を含む計算機システムでのプログラム実行支援方法であって、
前記複数の計算機のうちの第２の計算機が、前記計算機システムに存在するプログラムを識別するためのプログラム識別情報と、前記第２の計算機が前記計算機システムに存在するデータを前記計算機システム上で一意に識別するためのデータ識別情報と、を受け付けると、当該データ識別情報を、前記第１の計算機に送信する送信ステップと、
前記第１の計算機が、前記第２の計算機から、前記データ識別情報を受信すると、当該データ識別情報を、前記第１の計算機が前記データを前記計算機システムから読み出すための読み出し情報に変換し、当該読み出し情報を前記第２の計算機に送信する変換ステップと、
前記第２の計算機が、前記第１の計算機から前記読み出し情報を受信すると、当該読み出し情報と、前記プログラム識別情報と、を用いて、前記第１の計算機に前記プログラムを実行して前記データを処理させる遠隔実行命令を生成する生成ステップと、を含むプログラム実行支援方法。
【請求項１９】
前記第１の計算機が、前記プログラムごとに、当該プログラムのプログラム識別情報を、当該プログラム識別情報にて識別されるプログラムを実行するための要因を示す要因情報に対応づけて要因情報格納手段に格納する要因情報格納ステップと、
前記第２の計算機が、前記要因情報と前記データ識別情報とを示し、かつ、プログラム実行のトリガとなる、入力情報を受け付けると、当該入力情報が示す要因情報を、前記第１の計算機に送信する要因情報送信ステップと、
前記第１の計算機が、前記第２の計算機から、前記要因情報を受信すると、前記要因情報格納手段内の前記プログラム識別情報の中から、当該要因情報に対応する対応プログラム識別情報を探索し、当該対応プログラム識別情報が存在する場合、当該対応プログラム識別情報を示す探索の結果を、前記第２の計算機に送信する検索ステップと、をさらに含み、
前記生成ステップでは、前記第１の計算機から前記探索の結果を受信すると、当該探索の結果が示す対応プログラム識別情報にて識別されるプログラムの中から、遠隔実行させる実行プログラムを決定し、当該実行プログラムのプログラム識別情報と、前記入力情報が示すデータ識別情報とを用いて、前記第１の計算機に前記実行プログラムを実行して前記データを処理させる遠隔実行命令を生成し、
前記第２の計算機が、前記遠隔実行命令を実行する実行ステップをさらに含む、請求項１８に記載のプログラム実行支援方法。
【請求項２０】
互いに接続された複数の計算機を含む計算機システムでのプログラム実行支援方法であって、
前記複数の計算機のうちの第１の計算機が、前記計算機システムに存在するプログラムごとに、当該プログラムのプログラム識別情報を、当該プログラム識別情報にて識別されるプログラムを実行するための要因を示す要因情報に対応づけて要因情報格納手段に格納する要因情報格納ステップと、
前記複数の計算機のうちの第２の計算機が、前記要因情報と、前記第２の計算機が前記計算機システムに存在するデータを前記計算機システム上で一意に識別するためのデータ識別情報と、を受け付けると、前記要因情報と前記データ識別情報とを、前記第１の計算機に送信する送信ステップと、
前記第１の計算機が、前記要因情報と前記データ識別情報と受信すると、前記要因情報格納手段内の前記プログラム識別情報の中から、当該要因情報に対応する対応プログラム識別情報を探索し、当該対応プログラム識別情報が存在する場合、前記データ識別情報を、前記第１の計算機が前記データを前記計算機システムから読み出すための読み出し情報に変換し、前記対応プログラム識別情報と前記読み出し情報とを、前記第２の計算機に送信する探索ステップと、
前記第２の計算機が、前記対応プログラム識別情報と前記読み出し情報とを受信すると、前記対応プログラム識別情報にて識別されるプログラムの中から、遠隔実行させる実行プログラムを決定し、当該実行プログラムのプログラム識別情報と、前記読み出し情報と、を用いて、前記第１の計算機に前記実行プログラムを実行して前記データを処理させる遠隔実行命令を生成する生成ステップと、を含むプログラム実行支援方法。
【請求項２１】
前記第２の計算機が、前記遠隔実行命令を実行するプログラム起動ステップをさらに含む、請求項２０に記載のプログラム実行支援方法。
【請求項２２】
他の計算機と共に計算機システムを構成する計算機が行うプログラム実行支援方法であって、
前記他の計算機から、当該他の計算機が前記計算機システムに存在するデータを一意に識別するためのデータ識別情報を受信すると、当該データ識別情報を、自計算機が前記データを前記計算機システムから読み出すための読み出し情報に変換し、当該読み出し情報を前記他の計算機に送信する変換ステップを含むプログラム実行支援方法。
【請求項２３】
前記計算機システムに存在するプログラムごとに、当該プログラムのプログラム識別情報を、当該プログラム識別情報にて識別されるプログラムを実行するための要因を示す要因情報に対応づけて、要因情報格納手段に格納する要因情報格納ステップをさらに含み、
前記探索ステップでは、前記他の計算機から、前記要因情報を受信すると、前記要因情報格納手段内の前記プログラム識別情報の中から、当該要因情報に対応する対応プログラム識別情報を探索し、当該対応プログラム識別情報が存在する場合、当該対応プログラム識別情報を示す探索の結果を、前記他の計算機に送信する、請求項２２に記載のプログラム実行支援方法。
【請求項２４】
他の計算機と共に計算機システムを構成する計算機が行うプログラム実行支援方法であって、
前記計算機システムに存在するプログラムを識別するためのプログラム識別情報と、前記計算機システムに存在するデータを自計算機が一意に識別するためのデータ識別情報と、を受け付けると、当該データ識別情報を、前記他の計算機に送信する送信ステップと、
前記他の計算機から、当該他の計算機が前記データを前記計算機システムから読み出すための読み出し情報を受信すると、当該読み出し情報と、前記プログラム識別情報と、を用いて、前記他の計算機に前記プログラムを実行して前記データを処理させる遠隔実行命令を生成する生成ステップと、を含む、計算機でのプログラム実行支援方法。
【請求項２５】
前記遠隔実行命令を実行する実行ステップをさらに含む請求項２４に記載のプログラム実行支援方法。
【請求項２６】
他の計算機と共に計算機システムを構成するコンピュータに、
前記他の計算機から、当該他の計算機が前記計算機システムに存在するデータを一意に識別するためのデータ識別情報を受信すると、当該データ識別情報を、自計算機が前記データを前記計算機システムから読み出すための読み出し情報に変換し、当該読み出し情報を前記他の計算機に送信する変換手順を実行させるためのプログラム実行支援用プログラム。
【請求項２７】
前記コンピュータに、
前記計算機システムに存在するプログラムごとに、当該プログラムのプログラム識別情報を、当該プログラム識別情報にて識別されるプログラムを実行するための要因を示す要因情報に対応づけて、要因情報格納手段に格納する要因情報格納手順をさらに実行させ、
前記探索手順では、前記他の計算機から、前記要因情報を受信すると、前記要因情報格納手段内の前記プログラム識別情報の中から、当該要因情報に対応する対応プログラム識別情報を探索し、当該対応プログラム識別情報が存在する場合、当該対応プログラム識別情報を示す探索の結果を、前記他の計算機に送信する、請求項２６に記載のプログラム実行支援用プログラム。
【請求項２８】
他の計算機と共に計算機システムを構成するコンピュータに、
前記計算機システムに存在するプログラムを識別するためのプログラム識別情報と、前記計算機システムに存在するデータを自計算機が一意に識別するためのデータ識別情報と、を受け付けると、当該データ識別情報を、前記他の計算機に送信する送信手順と、
前記他の計算機から、当該他の計算機が前記データを前記計算機システムから読み出すための読み出し情報を受信すると、当該読み出し情報と、前記プログラム識別情報と、を用いて、前記他の計算機に前記プログラムを実行して前記データを処理させる遠隔実行命令を生成する生成手順と、を実行させるためのプログラム実行支援用プログラム。
【請求項２９】
前記コンピュータに、
前記遠隔実行命令を実行する実行手順をさらに実行させるための請求項２８に記載のプログラム実行支援用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システム、計算機、プログラム実行支援方法、および、プログラムに関し、特に、動的に動作環境が変更される個人用計算機の集合体である分散計算機システムにおいて、起動されるプログラムを自動的に選択することができる計算機システム、計算機、プログラム実行支援方法、および、プログラムに関する。
【背景技術】
【０００２】
特許文献１には、複数の計算機がネットワークで接続されている計算機システムが記載されている。
【０００３】
また、複数の個人用計算機がネットワークで接続されている分散計算機環境（以下「分散計算機システム」と称する）も知られている。この分散計算機システム内の各計算機には、使用者が望む計算機の用途に応じて、異なるオペレーティングシステム（OS）とアプリケーションプログラム（AP）が設定されている。
【０００４】
例えば、オフィスでは、資料および書類作成のためにOSａ１上でAPａ２が起動される個人用PC（Personal Computer）と、ファイル共有のためにOSｂ１上でAPｂ２が起動されるファイルサーバとが、ネットワークを介して、接続されている。このオフィス内の計算機環境では、目的を達するための複数のジョブが、複数のアプリケーションを用いて並行に実行されている。このため、この計算機環境は、一種の分散計算機システムといえる。
【０００５】
分散計算機システムの使用者は、分散計算機システムを１つの計算機として意識するのではなく、自分の管理している計算機（以下「ユーザ計算機」と称する）を、さらに言えば、分散計算機システム内の各計算機を、１つの計算機として意識している。
【０００６】
また、上述したように、分散計算機システム内の各計算機には、各使用者が望む計算機の用途に応じて、異なる動作環境（例えば、異なるOSおよびAP）が設定されている可能性がある。
【０００７】
そのため、分散計算機システムの使用者は、使用目的に応じて、分散計算機システム内の計算機を使い分ける必要がある。
【０００８】
例えば、使用者は、あるジョブを実行するために、ユーザ計算機ではなく、そのジョブを実行可能な動作環境を有する他の計算機（例えば、APａ２がインストールされている計算機）を使う必要がある。
【０００９】
また、使用者は、特定のジョブを実行するために、リモートデスクトップ接続またはVNC（Virtual Network Computing）などの、遠隔にあるPCへ接続するためのアプリケーションを利用して、ユーザ計算機を、その特定のジョブを実行可能な動作環境を有する他の計算機と接続して、特定のジョブを実行する必要がある。
【００１０】
また、使用者は、仮想的な計算機を作ってユーザ計算機を複数の計算機に見せる仮想化技術を利用して、ジョブを実行する必要がある。
【００１１】
使用者が計算機システム内の計算機を使い分けなければならないという課題を解決可能なシステムの一例、すなわち、計算機システムをユーザが１つの計算機と同じように扱うことが可能なシステムが、特許文献２、特許文献３、および、特許文献４に記載されている。
【００１２】
特許文献２に記載のシステムでは、共有される磁気ディスク装置に、プログラムと、そのプログラムに対応する実行環境定義ファイルと、プログラム名とそのプログラム名のプログラムを実行可能な計算機名とを記載したプログラム定義テーブルと、利用可能なソフトウェアとOSとを計算機名ごとに記載したソフトウェア定義テーブルとが、保持される。
【００１３】
特許文献２に記載のシステムは、これらのテーブルを探索することで、実行対象プログラムを実行可能な計算機を決定し、その計算機で実行対象プログラムを実行させている。
【００１４】
特許文献３に記載のシステムは、計算機環境の変化に対応するために、実行対象である参照元プログラムから要求された環境情報を、ファイルシステムから検索して評価した後、条件を満たす環境情報を、参照元プログラムへ渡している。参照元プログラムは、その環境情報を利用して動作を開始する。
【００１５】
特許文献４に記載のシステムでは、要求元コンピュータは、プログラムの遠隔実行要求を受け付けると、資源保持コンピュータ群に、資源に関する情報を問い合わせ、その応答に基づいて、実行コンピュータを決定し、その実行コンピュータにプログラムの遠隔実行を要求する。
【特許文献１】特開平８−１２３７５４号公報
【特許文献２】特開２００３−６１７０号公報
【特許文献３】特開２００４−１９９２５０号公報
【特許文献４】特開平３−２０６５４５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１６】
特許文献２に記載のシステムおよび特許文献３に記載のシステムは、プログラムファイルが共有磁気ディスク装置に保存されていることが前提となっている。このため、プログラムファイルが共有磁気ディスク装置に保存されていない場合、特許文献１、２に記載の技術を使用することができない。
【００１７】
複数の個人の計算機がネットワークで接続されている分散計算機システムでは、各計算機にプログラムがインストールされている。また、同様にデータファイルも、各計算機に分散されて存在している。
【００１８】
その結果、複数の個人の計算機がネットワークで接続されている分散計算機システムでは、プログラムファイルが共有磁気ディスク装置に保存されていないため、特許文献２、３に記載の技術を使用することができない。
【００１９】
また、分散計算機システムでは、各計算機のファイル共有システムの設定により、個々の計算機間で、パスなどのファイルの見え方が異なる可能性がある。
【００２０】
例えば、ある計算機が認識している、自計算機内の特定データのパス（データを読み出すための情報）が、その特定データを他の計算機が分散計算機システム上で一意に識別するためのデータ識別子で示されたパス、つまり、他の計算機が認識する特定データのパスと異なってしまう。
【００２１】
このため、分散計算機システムにおいて、特定の計算機が、特許文献４に記載のシステムのように、他の計算機から受け付けた資源に関する情報に基づいて、特定プログラムを実行する実行計算機を決定しても、特定の計算機が認識している特定データのパスが、実行計算機が認識している特定データのパスと異なってしまう。
【００２２】
その結果、特定の計算機は、実行計算機に特定プログラムを実行させて特定データを処理させるための遠隔実行命令を作成する際、遠隔実行命令に記載される特定データのパス（位置、つまり、データを読み出すための情報）を正しく設定することができない。
【００２３】
したがって、特定の計算機は、遠隔実行命令を正確に生成することができないという課題が生じる。
【００２４】
本発明の目的は、上述した課題を解決可能な計算機システム、プログラム実行方法、プログラム、端末、および、サーバを提供することにある。
【課題を解決するための手段】
【００２５】
本発明の計算機システムは、互いに接続された複数の計算機を含む計算機システムであって、前記複数の計算機のうちの第１の計算機は、前記複数の計算機のうちの第２の計算機から、当該第２の計算機が前記計算機システムに存在するデータを前記計算機システム上で一意に識別するためのデータ識別情報を受信すると、当該データ識別情報を、前記第１の計算機が前記データを前記計算機システムから読み出すための読み出し情報に変換し、当該読み出し情報を前記第２の計算機に送信する変換手段と、を含み、前記第２の計算機は、前記計算機システムに存在するプログラムのうち前記データを処理するためのプログラムを識別するためのプログラム識別情報と前記データ識別情報とを受け付けると、当該データ識別情報を、前記第１の計算機に送信し、当該第１の計算機から前記読み出し情報を受信すると、当該読み出し情報と、前記プログラム識別情報と、を用いて、前記第１の計算機に前記プログラムを実行して前記データを処理させる遠隔実行命令を生成する生成手段を、含む。
【００２６】
本発明の計算機システムは、互いに接続された複数の計算機を含む計算機システムであって、前記複数の計算機のうちの第１の計算機は、複数の計算機のうちの第２の計算機が前記計算機システムに存在するデータを前記計算機システム上で一意に識別するためのデータ識別情報を受信すると、当該データ識別情報を、前記第１の計算機が前記データを前記計算機システムから読み出すための読み出し情報に変換し、当該読み出し情報を前記データ識別情報の送信元に送信する変換手段と、前記計算機システムに存在するプログラムごとに、当該プログラムのプログラム識別情報を、当該プログラム識別情報にて識別されるプログラムを実行するための要因を示す要因情報に対応づけて格納する要因情報格納手段と、前記第２の計算機から、前記要因情報と前記データ識別情報とを受信すると、前記要因情報格納手段内の前記プログラム識別情報の中から、当該要因情報に対応する対応プログラム識別情報を探索し、当該対応プログラム識別情報が存在する場合、前記変換手段に前記データ識別情報を送信し、前記変換手段から前記読み出し情報を受信すると、前記対応プログラム識別情報を示す探索の結果と前記読み出し情報とを、前記第２の計算機に送信する探索手段と、を含み、前記第２の計算機は、前記要因情報と前記データ識別情報とを示し、プログラム実行のトリガとなる、入力情報を検出する検出手段と、前記入力情報が検出されると、当該入力情報が示す要因情報およびデータ識別情報を、前記第１の計算機に送信し、当該第１の計算機から前記探索の結果と前記読み出し情報とを受信すると、当該探索の結果が示す対応プログラム識別情報にて識別されるプログラムの中から、遠隔実行させる実行プログラムを決定し、当該実行プログラムのプログラム識別情報と、前記読み出し情報と、を送信する選択手段と、前記選択手段から送信された実行プログラムのプログラム識別情報と読み出し情報とを受信すると、当該実行プログラムのプログラム識別情報と読み出し情報とを用いて、前記第１の計算機に前記実行プログラムを実行して前記データを処理させる遠隔実行命令を生成する生成手段と、を含む。
【００２７】
本発明の計算機は、他の計算機と共に計算機システムを構成する計算機であって、
前記他の計算機から、当該他の計算機が前記計算機システムに存在するデータを一意に識別するためのデータ識別情報を受信すると、当該データ識別情報を、自計算機が前記データを前記計算機システムから読み出すための読み出し情報に変換し、当該読み出し情報を前記他の計算機に送信する変換手段と、を含む。
【００２８】
本発明の計算機は、他の計算機と共に計算機システムを構成する計算機であって、前記計算機システムに存在するプログラムを識別するためのプログラム識別情報と、前記計算機システムに存在するデータを自計算機が一意に識別するためのデータ識別情報と、を受け付けると、当該データ識別情報を、前記他の計算機に送信し、前記他の計算機から、当該他の計算機が前記データを前記計算機システムから読み出すための読み出し情報を受信すると、当該読み出し情報と、前記プログラム識別情報と、を用いて、前記他の計算機に前記プログラムを実行して前記データを処理させる遠隔実行命令を生成する生成手段とを、含む。
【００２９】
本発明のプログラム実行支援方法は、互いに接続された複数の計算機を含む計算機システムでのプログラム実行支援方法であって、前記複数の計算機のうちの第２の計算機が、前記計算機システムに存在するプログラムを識別するためのプログラム識別情報と、前記第２の計算機が前記計算機システムに存在するデータを前記計算機システム上で一意に識別するためのデータ識別情報と、を受け付けると、当該データ識別情報を、前記第１の計算機に送信する送信ステップと、前記第１の計算機が、前記第２の計算機から、前記データ識別情報を受信すると、当該データ識別情報を、前記第１の計算機が前記データを前記計算機システムから読み出すための読み出し情報に変換し、当該読み出し情報を前記第２の計算機に送信する変換ステップと、前記第２の計算機が、前記第１の計算機から前記読み出し情報を受信すると、当該読み出し情報と、前記プログラム識別情報と、を用いて、前記第１の計算機に前記プログラムを実行して前記データを処理させる遠隔実行命令を生成する生成ステップと、を含む。
【００３０】
本発明のプログラム実行支援方法は、互いに接続された複数の計算機を含む計算機システムでのプログラム実行支援方法であって、前記複数の計算機のうちの第１の計算機が、前記計算機システムに存在するプログラムごとに、当該プログラムのプログラム識別情報を、当該プログラム識別情報にて識別されるプログラムを実行するための要因を示す要因情報に対応づけて要因情報格納手段に格納する要因情報格納ステップと、前記複数の計算機のうちの第２の計算機が、前記要因情報と、前記第２の計算機が前記計算機システムに存在するデータを前記計算機システム上で一意に識別するためのデータ識別情報と、を受け付けると、前記要因情報と前記データ識別情報とを、前記第１の計算機に送信する送信ステップと、前記第１の計算機が、前記要因情報と前記データ識別情報と受信すると、前記要因情報格納手段内の前記プログラム識別情報の中から、当該要因情報に対応する対応プログラム識別情報を探索し、当該対応プログラム識別情報が存在する場合、前記データ識別情報を、前記第１の計算機が前記データを前記計算機システムから読み出すための読み出し情報に変換し、前記対応プログラム識別情報と前記読み出し情報とを、前記第２の計算機に送信する探索ステップと、前記第２の計算機が、前記対応プログラム識別情報と前記読み出し情報とを受信すると、前記対応プログラム識別情報にて識別されるプログラムの中から、遠隔実行させる実行プログラムを決定し、当該実行プログラムのプログラム識別情報と、前記読み出し情報と、を用いて、前記第１の計算機に前記実行プログラムを実行して前記データを処理させる遠隔実行命令を生成する生成ステップと、を含む。
【００３１】
本発明のプログラム実行支援方法は、他の計算機と共に計算機システムを構成する計算機が行うプログラム実行支援方法であって、前記他の計算機から、当該他の計算機が前記計算機システムに存在するデータを一意に識別するためのデータ識別情報を受信すると、当該データ識別情報を、自計算機が前記データを前記計算機システムから読み出すための読み出し情報に変換し、当該読み出し情報を前記他の計算機に送信する変換ステップを含む。
【００３２】
本発明のプログラム実行支援方法は、他の計算機と共に計算機システムを構成する計算機が行うプログラム実行支援方法であって、前記計算機システムに存在するプログラムを識別するためのプログラム識別情報と、前記計算機システムに存在するデータを自計算機が一意に識別するためのデータ識別情報と、を受け付けると、当該データ識別情報を、前記他の計算機に送信する送信ステップと、前記他の計算機から、当該他の計算機が前記データを前記計算機システムから読み出すための読み出し情報を受信すると、当該読み出し情報と、前記プログラム識別情報と、を用いて、前記他の計算機に前記プログラムを実行して前記データを処理させる遠隔実行命令を生成する生成ステップと、を含む。
【００３３】
本発明のプログラムは、他の計算機と共に計算機システムを構成するコンピュータに、前記他の計算機から、当該他の計算機が前記計算機システムに存在するデータを一意に識別するためのデータ識別情報を受信すると、当該データ識別情報を、自計算機が前記データを前記計算機システムから読み出すための読み出し情報に変換し、当該読み出し情報を前記他の計算機に送信する変換手順を実行させる。
【００３４】
本発明のプログラムは、他の計算機と共に計算機システムを構成するコンピュータに、前記計算機システムに存在するプログラムを識別するためのプログラム識別情報と、前記計算機システムに存在するデータを自計算機が一意に識別するためのデータ識別情報と、を受け付けると、当該データ識別情報を、前記他の計算機に送信する送信手順と、前記他の計算機から、当該他の計算機が前記データを前記計算機システムから読み出すための読み出し情報を受信すると、当該読み出し情報と、前記プログラム識別情報と、を用いて、前記他の計算機に前記プログラムを実行して前記データを処理させる遠隔実行命令を生成する生成手順と、を実行させる。
【発明の効果】
【００３５】
本発明によれば、ユーザは、複数の計算機がネットワークで接続されている計算機システムを、データの位置を意識することなく、単一の計算機のように扱うことが可能となる。
【発明を実施するための最良の形態】
【００３６】
次に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
【００３７】
図１は、本発明の第１の実施の形態の計算機システムを示したブロック図である。
【００３８】
図１において、第１の実施の形態の計算機システムは、命令発行部１００と、プログラム選択部１１０と、プログラム探索部１２０と、プログラム遠隔化部１３０と、環境具体化部１４０と、プログラム起動部１５０と、プログラム格納部１６０と、データ格納部１７０と、処理部１８０と、環境情報格納部１９０と、を含む。
【００３９】
各部は、計算機システム内の任意の計算機内に含まれる。
【００４０】
本実施の形態では、命令発行部１００、プログラム選択部１１０、プログラム遠隔化部１３０、および、プログラム起動部１５０は、計算機システム内の実行アクションを起こす計算機１０００に含まれる。また、プログラム探索部１２０、環境具体化部１４０、プログラム格納部１６０、データ格納部１７０、処理部１８０、および、環境情報格納部１９０は、計算機システム内の起動可能なプログラムが探索される計算機１１００内に含まれる。
【００４１】
なお、プログラム格納部１６０は、処理部１８０を有する計算機１１００内に含まれず、計算機システム内の他の計算機（例えば、ファイルサーバ）に含まれてもよい。
【００４２】
また、データ格納部１７０は、処理部１８０を有する計算機１１００内に含まれず、計算機システム内の他の計算機（例えば、ファイルサーバ）に含まれてもよい。
【００４３】
計算機１１００は、一般的に第１の計算機と呼ぶことができる。計算機１０００は、一般的に第２の計算機と呼ぶことができる。なお、計算機１０００と計算機１１００は、ネットワークで接続され、計算機システム、つまり、分散計算機環境を構成する。
【００４４】
また、計算機１１００は、複数存在してもよく、そのうちの１つが、計算機１０００に含まれてもよい。この場合、計算機１１００を含む計算機（第１の計算機と第２の計算機とを含む特定計算機）１０００は、命令発行部１００と、プログラム選択部１１０と、プログラム探索部１２０と、プログラム遠隔化部１３０と、環境具体化部１４０と、プログラム起動部１５０と、プログラム格納部１６０と、データ格納部１７０と、処理部１８０と、環境情報格納部１９０と、を含むことになる。
【００４５】
また、計算機１１００を含む複数の計算機１０００が、ネットワークを介して相互に接続されていてもよい。
【００４６】
プログラム格納部１６０は、一般的にプログラム格納手段と呼ぶことができる。
【００４７】
プログラム格納部１６０は、プログラムを格納する。なお、プログラム格納部１６０は、複数種類のプログラムを格納してもよい。
【００４８】
データ格納部１７０は、一般的にデータ格納手段と呼ぶことができる。
【００４９】
データ格納部１７０は、プログラム格納部１６０内のプログラムで処理されるデータを格納する。
【００５０】
処理部１８０は、一般的に処理手段と呼ぶことができる。
【００５１】
処理部１８０は、例えば、計算機１１００（処理部１８０）がデータ格納部１７０からデータを読み出すための読み出し情報を用いて、データ格納部１７０からデータを読み出し、プログラム格納部１６０内のプログラムを実行して、その読み出されたデータを処理する。
【００５２】
環境情報格納部１９０は、一般的に環境情報格納手段または要因情報格納手段と呼ぶことができる。
【００５３】
環境情報格納部１９０は、プログラム格納部１６０内のプログラムの種類ごとに、プログラムを識別するためのプログラム識別情報を、プログラム識別情報にて識別されるプログラムを実行するための要因を示す要因情報に、対応づけて格納する。
【００５４】
以下では、プログラム識別情報として、プログラム名が使用されるとする。なお、プログラム識別情報は、プログラム名に限らず、適宜変更可能である。
【００５５】
環境情報格納部１９０は、計算機１１００（処理部１８０）がデータ格納部１７０からデータを読み出すための読み出し情報（データのパス）を格納する。
【００５６】
また、環境情報格納部１９０は、自計算機が他の計算機内のデータ（さらに言えば、計算機システムに存在するデータ）を計算機システム上で一意に識別するためのデータ識別情報を格納する。
【００５７】
命令発行部１００は、一般的に検出手段と呼ぶことができる。
【００５８】
命令発行部１００は、プログラム実行（起動）のトリガとなる入力情報を監視し、検出する。なお、入力情報は、要因情報とデータ識別情報と示す。
【００５９】
プログラム実行のトリガの例として、コンソールまたはターミナルなどからのコマンド入力がある。プログラム実行のトリガの別の例として、ExplorerまたはNautilusなどのGUI（Graphical User Interface）ファイルマネージャなどからの、ファイル（データ）に関連付けられたプログラムの起動アクション（例えば、マウスのダブルクリックなど）がある。
【００６０】
命令発行部１００は、プログラム実行のトリガ（入力情報）を検出すると、そのプログラム実行のトリガを、プログラム選択部１１０へ通知する。
【００６１】
プログラム選択部１１０は、一般的に選択手段と呼ぶことができる。
【００６２】
プログラム選択部１１０は、計算機システム内で実行させる実行プログラム、および、計算機システム内で実行プログラムを実行させる実行計算機（計算機環境）を決定する。
【００６３】
プログラム選択部１１０は、命令発行部１００から、プログラム実行のトリガ（入力情報）を通知されると、計算機システム（分散計算機環境）に存在する、予め設定されたプログラム探索部１２０（例えば、計算機１１００内のプログラム探索部１２０）へ、プログラム実行のトリガに対応する起動可能なプログラムの探索を要求する。
【００６４】
なお、複数の計算機１１００が計算機システム内に存在する場合、プログラム選択部１１０は、複数の計算機１１００のそれぞれのプログラム探索部１２０へ、プログラム実行のトリガに対応する起動可能なプログラムの探索を要求する。
【００６５】
例えば、プログラム選択部１１０は、入力情報が示す要因情報を、予め設定された複数のプログラム探索部１２０へ送信する。
【００６６】
プログラム選択部１１０が探索要求時に伝達する情報としては、プログラム実行のトリガの要因となった入力情報が示す要因情報（例えば、使用者にて選択されたプログラムを起動させるためのコマンド、または、使用者にて選択されたデータファイルの情報）が渡される。
【００６７】
これら情報は、名前、拡張子、データ種類の識別子など、プログラムまたはデータ自身の特性を特定する情報である。
【００６８】
プログラム探索部１２０は、一般的に探索手段と呼ぶことができる。
【００６９】
プログラム探索部１２０は、探索要求に適したプログラムを探索し、その探索の結果を返答する。
【００７０】
プログラム探索部１２０は、プログラム選択部１１０から要因情報を受信すると、環境情報格納部１９０内に格納されているプログラム名の中に、その要因情報に対応づけられたプログラム名が存在するかどうかを判定する。
【００７１】
要因情報に対応づけられたプログラム名が存在する場合は、プログラム探索部１２０は、そのプログラム名を示す探索の結果を、プログラム選択部１１０（計算機１０００）に送信する。プログラム探索部１２０は、プログラム名を、必要に応じて、フルパスで返答することもある。なお、プログラム探索部１２０は、自計算機の識別情報と共に、探索の結果を送信する。
【００７２】
要因情報に対応づけられたプログラム名が存在しない場合は、プログラム探索部１２０は、実行不可を示す探索の結果を、プログラム選択部１１０（計算機１０００）に送信する。
【００７３】
プログラム選択部１１０は、プログラム探索部１２０から返答された探索の結果に示されたプログラム名を基に、実行プログラムと実行計算機とを決定する。
【００７４】
例えば、プログラム選択部１１０は、プログラム探索部１２０（計算機１１００）から探索の結果を受信すると、その探索の結果が示すプログラム名にて識別されるプログラムの中から、遠隔実行させる実行プログラムを決定する。
【００７５】
また、プログラム選択部１１０は、複数の計算機１１００のそれぞれのプログラム探索部１２０から、探索の結果を受け付けると、それぞれの探索の結果に示されたプログラム名にて識別されるプログラムの中から、実行プログラムを決定し、かつ、複数の計算機１１００の中から、実行計算機を決定する。
【００７６】
プログラム選択部１１０は、プログラム遠隔化部１３０へ、実行プログラムのプログラム名と実行計算機の識別情報を通知し、プログラム命令の遠隔化作業を依頼する。
【００７７】
なお、プログラム選択部１１０は、起動可能な実行プログラムと実行計算機との組合せが存在しない場合、表示等により、起動失敗通知をユーザへ返答する。
【００７８】
実行プログラムと実行計算機の決定方法の一例としては、任意の実行プログラムと任意の実行計算機を選択する方法がある。
【００７９】
例えば、プログラム選択部１１０は、探索の結果に示されたプログラム名にて識別されるプログラムの中から、実行プログラムを、ランダムに選択して決定する。
【００８０】
また、例えば、プログラム選択部１１０は、それぞれの探索の結果に基づいて、複数の計算機１１００のうち実行プログラムを格納している計算機１１００を特定し、その特定された計算機１１００の中から、実行計算機を、ランダムに選択して決定する。
【００８１】
実行プログラムと実行計算機の決定方法の別の例としては、プログラム探索部１２０からの応答の速い順に、実行プログラムと実行計算機を選択する方法がある。
【００８２】
例えば、プログラム選択部１１０は、探索の結果のそれぞれのうち最も早く受信された探索の結果に示されたプログラム名にて識別されるプログラムを、実行プログラムとして選択して決定する。
【００８３】
また、例えば、プログラム選択部１１０は、それぞれの探索の結果に基づいて、複数の計算機１１００のうち実行プログラムを格納している計算機１１００を特定し、その特定された計算機１１００から送信された探索の結果のうち最も早く受信された探索の結果を送信した計算機１１００を、実行計算機を選択して決定する。
【００８４】
実行プログラムと実行計算機の決定方法の別の例としては、計算機とプログラムの識別子（名前、IPアドレスなど）に基づく昇順、降順、または、一定の決まりの順で、選択する方法がある。
【００８５】
例えば、プログラム選択部１１０は、探索の結果に示されたプログラム名にて識別されるプログラムの中から、それらプログラム名を所定条件（例えば、アルファベット順）に基づいて並べたときの降順、昇順、または、それらプログラム名についての予め定められた計算の結果に基づいて、実行プログラムを選択して決定する。
【００８６】
また、例えば、プログラム選択部１１０は、それぞれの探索の結果に基づいて、複数の計算機１１００のうち実行プログラムを格納している計算機１１００を特定し、その特定された計算機１１００の中から、それら計算機１１００の識別情報を所定条件（例えば、アルファベット順）に基づいて並べたときの降順、昇順、または、それら識別情報についての予め定められた計算の結果に基づいて、実行計算機を選択して決定する。
【００８７】
プログラム選択部１１０は、実行プログラムのプログラム名と、実行計算機の識別情報と、入力情報に示されたデータ識別情報とを、プログラム遠隔化部１３０に送信する。
【００８８】
プログラム遠隔化部１３０は、一般的に生成手段と呼ぶことができる。
【００８９】
プログラム遠隔化部１３０は、プログラム選択部１１０で決定された実行プログラムを実行計算機で動作させるための遠隔実行コマンドを作成する。なお、遠隔実行コマンドは、一般的に遠隔実行命令と呼ぶことができる。プログラム遠隔化部１３０は、遠隔化対応手法に従って、遠隔実行コマンドを作成する。
【００９０】
遠隔化対応手法の一例として、rsh(Remote Shell)やssh(Secure Shell)などの遠隔計算機へプログラムコマンドを実行するプログラムを活用することができる。
【００９１】
この場合、遠隔計算機へプログラムコマンドを実行するプログラムのパラメータとして、動作マシン名などの遠隔実行のために必要なパラメータと、プログラム選択部１１０で決定された実行プログラム名、および、実行プログラムのパラメータ（例えば、実行プログラムで処理されるデータのデータ識別情報）を設定することで、プログラム遠隔化部１３０は、遠隔実行コマンドを作成することができる。
【００９２】
また、遠隔化対応手法の別の一例として、リモートデスクトップまたはVNCを活用して実行計算機と接続し、その後に、その実行計算機にコマンドを実行させる、という一連のプロセスを規定するコマンド系列として、遠隔実行コマンドを作成することができる。
【００９３】
この場合、プログラム遠隔化部１３０は、リモートデスクトップのためのプロトコルコマンドと、必要に応じて遠隔計算機へプログラムコマンドを実行するプログラムを用いた起動コマンドと、の系列により、遠隔実行コマンドを作成することができる。
【００９４】
また、遠隔化対応手法の一例として、TS RemoteAppまたはXwindowシステムなどのクライアント・サーバシステムを活用して、プログラムを起動させる一連のプロセス（コマンド系列）として、遠隔実行コマンドを作成することができる。
【００９５】
この場合、プログラム遠隔化部１３０は、クライアント・サーバシステムのためのRPC（Remote Procedure Call）コマンドと、必要に応じて遠隔計算機へプログラムコマンドを実行するプログラムを用いた起動コマンドと、の系列により、遠隔実行コマンドを作成することができる。
【００９６】
上記の遠隔化対応手法の中から単一の遠隔化対応手法を選択し、その選択された遠隔化対応手法をプログラム遠隔化部１３０に設定することができる。
【００９７】
また、それぞれのアプリケーションの特性を踏まえ、プログラム遠隔化部１３０が、アプリケーションの特性に応じて、遠隔実行コマンドの作成方法を、上記の例の中から選択するようにすることもできる。
【００９８】
なお、そのために、遠隔実行コマンドの作成条件分離機構、および、遠隔実行コマンドの作成ルールデータベースを、プログラム遠隔化部１３０に保持させることが好ましい。
【００９９】
この場合、例えば、Wordなどのオフィスプログラムの場合は、TS RemoteAppを用いて実行し、サーバ設定などのコマンドの場合は、sshを用いて実行するなどの、条件を規定することができる。
【０１００】
プログラム遠隔化部１３０は、遠隔実行コマンドを作成する際に、環境具体化部１４０へ、遠隔実行コマンドに示される環境依存の設定情報を問い合わせる。
【０１０１】
なお、環境依存の設定情報とは、計算機（計算機環境）によって、表現を変えなければならない設定情報のことである。例えば、環境依存の設定情報は、計算機システム内の計算機に格納されたデータのパス（データの読み出し情報）である。
【０１０２】
設定情報の問い合わせの例として、ファイルシステム上のプログラムファイルもしくはデータファイルの格納箇所（データのパス）の照合を問い合わせることができる。
【０１０３】
例えば、プログラム遠隔化部１３０は、実行プログラムに処理させたいデータ（データファイル）を、計算機システムのネットワーク上で自計算機が一意に判別可能な識別子（データ識別情報）に変更し、その識別子を、環境具体化部１４０へ送信する。
【０１０４】
例えば、計算機１１００と計算機１０００が、NFS(Network File System)、または、SAMBAで接続されている場合、計算機１０００がネットワーク上で一意に判別可能な識別子は、マシン識別子と、共有ファイルシステムが外部へ提供しているパスと、によって表現できる。
【０１０５】
環境具体化部１４０は、一般的に変換手段と呼ぶことができる。
【０１０６】
環境具体化部１４０は、プログラム遠隔化部１３０から、環境依存の設定情報（識別子）の問い合わせを受信したとき、その環境依存の設定情報（識別子）と、環境情報格納部１９０内の情報（具体的には、計算機１１００（処理部１８０）がデータ格納部１７０からその識別子にて識別されるデータを読み出すための読み出し情報（データのパス））と、を照合する。
【０１０７】
環境具体化部１４０は、その照合に伴って、環境依存の設定情報（識別子）が自計算機環境に適合するように、環境依存の設定情報（識別子）を、その読み出し情報に変換して返答する。
【０１０８】
計算機１１００（処理部１８０）がデータ格納部１７０からその識別子にて識別されるデータを読み出すための読み出し情報（データのパス）が、環境情報格納部１９０にない場合、環境具体化部１４０は、対応付けなしの返答を行う。
【０１０９】
なお、環境具体化部１４０は、識別子と環境情報格納部１９０内の情報とを照合し、識別子にて特定されるデータファイルが格納されているパスを計算し、求められたパスを応答として返してもよい。これにより、遠隔実行時におけるコマンド、データの対応付けが可能になる。
【０１１０】
なお、プログラム遠隔化部１３０は、実行プログラムが自計算機内にあると判断したときは、遠隔実行コマンドを、ローカルで実行するコマンド系列として作成することを許す。
【０１１１】
プログラム遠隔化部１３０は、作成した遠隔実行コマンドを、プログラム起動部１５０へ発行する。
【０１１２】
プログラム起動部１５０は、一般的にプログラム起動手段と呼ぶことができる。
【０１１３】
プログラム起動部１５０は、プログラム遠隔化部１３０が作成した遠隔実行コマンドを実行し、実行計算機で、実行プログラムの実行を始める。
【０１１４】
次に、図１及び図２乃至図６のフローチャートを参照して本実施の形態の全体の動作について詳細に説明する。以下では、計算機１１００が、複数存在し、そのうちの１つが、計算機１０００に含まれているものとする。
【０１１５】
まず、命令発行部１００が、コマンド入力やダブルクリックなどのアクション（入力情報）を監視し、プログラム実行トリガ（入力情報）を検出する。
【０１１６】
命令発行部１００は、プログラム実行トリガを検出すると、プログラム選択部１１０にプログラム実行トリガの発生、つまり、入力情報を通知する（図２のフローチャート開始）。
【０１１７】
プログラム選択部１１０は、プログラム実行トリガの発生を受け付けると、プログラム実行トリガに対応する実行可能なプログラムの探索に入る（図２のステップＡ１、図３のフローチャート開始）。
【０１１８】
プログラム選択部１１０は、実行可能なプログラムの探索に入ると、計算機システム（分散計算機環境）内に存在する、予め設定された複数の計算機内のプログラム探索部１２０に向けて、プログラム実行トリガの要因（要因情報）、および、検索に必要なデータを通知し、実行プログラムの有無を問い合わせる（図３のステップＢ１）。
【０１１９】
プログラム選択部１１０は、問い合わせた全計算機から探索の結果を受け付ける、もしくは、問い合わせを行ってから問い合わせた全計算機から探索の結果を受け付けるまでの時間が予め定められたタイムアウトに達するまで待機する（ステップＢ２）。
【０１２０】
プログラム探索部１２０は、実行プログラムの有無の問い合わせを受け付けると、環境情報格納部１９０を参照して、プログラム実行トリガの要因（要因情報）に対応する対応プログラム、すなわち、実行プログラムが存在するかを探索する（図４のフローチャート開始〜ステップＣ１）。
【０１２１】
実行プログラムが存在した場合は、プログラム探索部１２０は、プログラム選択部１１０へ、実行プログラム名（フルパス表記の場合も含む）、もしくは、実行プログラムの識別子を返答する（ステップＣ３）。
【０１２２】
実行プログラムが存在しない場合は、プログラム探索部１２０は、プログラム選択部１１０へ、該当プログラム、すなわち、実行プログラムがないことを返答する（ステップＣ４）。
【０１２３】
プログラム選択部１１０は、計算機システム内の問い合わせた全計算機のプログラム探索部１２０から探索の結果を受け付ける、もしくは、問い合わせを行ってから問い合わせた全計算機から探索の結果を受け付けるまでの時間が予め定められたタイムアウトに達するまで待機したら（図３のフローチャート終了）、収集した探索の結果を基に、実行プログラムと実行計算機とを決定する（図１のステップＡ２）。例えば、プログラム選択部１１０は、探索の結果に基づいて、任意の１つの実行プログラムと任意の１つの実行計算機とを選択する。
【０１２４】
プログラム選択部１１０は、実行プログラムと実行計算機とを決定すると、プログラム遠隔化部１３０へ、実行プログラムのプログラム名と、実行計算機の識別情報（例えば、実行計算機名）と、入力情報（データ識別情報）と、を通知して、遠隔実行コマンドの作成を依頼する（ステップＡ３ Yes）。
【０１２５】
実行プログラムと実行計算機が存在しない場合、プログラム選択部１１０は、プログラムの起動失敗を、表示等によりユーザへ通知する（ステップＡ７）。
【０１２６】
プログラム遠隔化部１３０は、実行プログラムプログラム名と実行計算機の識別子と入力情報（データ識別情報）の組み合わせを受け付けると、予め設定されている遠隔化対応手法に従い、遠隔実行コマンドを作成する（ステップＡ４）。
【０１２７】
例えば、遠隔化実行プログラムを活用する場合、プログラム遠隔化部１３０は、遠隔化実行プログラムのパラメータとして、実行計算機の識別子と実行プログラム名、および、実行プログラムに対するパラメータ（実行プログラムが処理するデータを示したデータ識別情報）を設定したコマンド系列（遠隔実行コマンド）を作成する。
【０１２８】
リモートデスクトップなどの遠隔地計算機と通信するシステムを利用する場合、プログラム遠隔化部１３０は、リモートデスクトップの起動コマンドと、その後のアクションを規定するプロトコルコマンドと、を含むコマンド系列（遠隔実行コマンド）を作成する。
【０１２９】
TS RemoteAppなどのような特定のプログラムのウィンドウのみを通信したり、クライアント・サーバシステムにより遠隔実行を実現したりする場合も、プログラム遠隔化部１３０は、対応するプロトコルのコマンド系列（遠隔実行コマンド）を作成する。
【０１３０】
さらに、プログラム遠隔化部１３０は、遠隔実行コマンドに記載されている、データファイル名などの環境依存のパラメータを、実行計算機での環境に合わせるために変換する（ステップＡ５）。
【０１３１】
まず、プログラム遠隔化部１３０は、作成した遠隔実行コマンドに記載の情報のうち、環境依存するパラメータ（データファイル名などのパラメータ）を抽出する（図５のステップＤ１）。
【０１３２】
続いて、プログラム遠隔化部１３０は、自計算機の環境情報格納部１９０を参照し、抽出したパラメータを、計算機システム上で一意に認識できる形式（データ識別情報）へ変換する。
【０１３３】
プログラム遠隔化部１３０は、実行計算機内の環境具体化部１４０へ、パラメータ（データ識別情報）を送信し、パラメータ（データ識別情報）が実行計算機の環境に適応するように、パラメータ（データ識別情報）を変換することを依頼する（ステップＤ２）。
【０１３４】
実行計算機内の環境具体化部１４０は、依頼されたパラメータに対して、環境依存部分（データ名）をキーにして、実行計算機内の環境情報格納部１９０内の読み出し情報を探索する（図６のステップＥ１）。
【０１３５】
環境依存部分（データ名）を含む読み出し情報がある場合は、環境具体化部１４０は、パラメータ（データ識別情報）を、実行計算機の環境で適応するように、環境依存部分（データ名）を含む読み出し情報に変換し、その変換結果を、プログラム遠隔化部１３０へ応答する（ステップＥ３）。
【０１３６】
環境依存部分（データ名）を含む読み出し情報がない場合は、環境具体化部１４０は、対応付けなしという旨を、プログラム遠隔化部１３０へ応答する（ステップＥ４）。
【０１３７】
プログラム遠隔化部１３０は、環境依存情報の変換の応答に従い、遠隔実行コマンド内のパラメータ（データ識別情報）を、応答された値（読み出し情報）へ変換する（図５のステップＤ４）。
【０１３８】
ここで、環境依存するパラメータの変換について詳述する。
【０１３９】
環境依存するパラメータの例として、データファイル名などが挙げられる。
【０１４０】
データファイル名は、ネットワークファイルシステム、または、ネットワークドライブ認識などを通して参照される。
【０１４１】
このため、プログラム遠隔化部１３０は、データファイル名を、データファイルが存在する計算機の識別子、または、デバイスの識別子とデータファイルが存在する計算機の識別子、または、デバイスが外部計算機に対して認識させるときのパス名と、ファイル名との組み合わせという、計算機システム上で一意に識別できる形式へ変換する。
【０１４２】
プログラム遠隔化部１３０は、データファイル名を変換後に、選択されている実行計算機の環境具体化部１４０へ、変換したデータファイル名（パラメータ）を通知し、変換したデータファイル名（パラメータ）を実行計算機の環境に適応するように変換することを依頼する。
【０１４３】
環境具体化部１４０は、計算機の識別子またはデバイスの識別子とパス名と、ファイル名とを、自計算機の中で識別されるファイル名（読み出し情報：データのパス）へ変換し、その変換の結果を、プログラム遠隔化部１３０へ返答する。
【０１４４】
プログラム遠隔化部１３０は、変換が必要なパラメータが全て変換されたなら、プログラム起動部１５０へ、作成した遠隔実行コマンドを通知する。
【０１４５】
最後に、プログラム起動部１５０は、作成された遠隔実行コマンドを実行することによって、実行計算機へ、実行プログラムの起動を依頼し、指定したデータを処理させる（ステップＡ６）。
【０１４６】
次に、本実施の形態の効果について説明する。
【０１４７】
本実施の形態では、プログラム実行のトリガを基に、ネットワークに接続されている計算機内のプログラムの中から、プログラム実行のトリガに対応する実行プログラムを検索し、その後、実行プログラムで処理されるデータを識別するためのパラメータを、実行プログラムを有する計算機の環境に適応するように変換するように構成されている。
【０１４８】
このため、ユーザは、自計算機を使用することによって、複数の計算機を、プログラムの位置やデータの位置を意識することなく、単一の計算機のように扱うことが可能となる。
【０１４９】
また、本実施の形態では、プログラム遠隔化部１３０は、実行プログラムで処理されるデータを自計算機が計算機システム上で一意に識別するためのパラメータを、実行プログラムを有する計算機が読み出せるように、読み出し情報に変換することを、環境具体化部１４０に依頼し、その変換結果である読み出し情報を用いて、遠隔実行コマンドを作成する。
【０１５０】
このため、プログラム遠隔化部１３０は、正確な遠隔実行コマンドを作成することが可能になる。
【０１５１】
なお、正確な遠隔実行コマンドを作成することが可能になるという効果は、計算機１１００が環境具体化部１４０からなり、計算機１０００がプログラム遠隔化部１３０からなる、計算機システムでも奏する。
【０１５２】
次に、本発明の第２の実施の形態について、図面を参照して詳細に説明する。
【０１５３】
図７は、本発明の第２の実施の形態の計算機システムを示したブロック図である。
【０１５４】
図７において、第２の実施の形態の計算機システムは、命令発行部１００と、プログラム選択部２１０と、プログラム探索部１２０と、プログラム遠隔化部２３０と、環境具体化部１４０と、プログラム起動部１５０と、プログラム格納部１６０と、データ格納部１７０と、処理部１８０と、環境情報格納部１９０と、を含む。
【０１５５】
第２の実施の形態と第１の実施の形態との主な差異は、第２の実施の形態では、プログラム選択部１１０の代わりにプログラム選択部２１０が用いられ、プログラム遠隔化部１３０の代わりにプログラム遠隔化部２３０が用いられている点である。以下では、差異部分を中心に詳細に説明する。
【０１５６】
なお、以下では、計算機１１００が、複数存在し、そのうちの１つが、計算機１０００に含まれているものとする。
【０１５７】
プログラム選択部２１０は、一般的に選択手段と呼ぶことができる。
【０１５８】
プログラム選択部２１０は、プログラム選択部１１０の拡張である。プログラム選択部２１０は、実行プログラム、および、実行計算機を決定する。
【０１５９】
プログラム選択部２１０は、命令発行部１００から、プログラム起動のトリガ（入力情報）を通知されると、計算機システム（分散計算機環境）に存在する、予め設定されたプログラム探索部１２０（例えば、計算機１１００内のプログラム探索部１２０）へ、プログラム実行のトリガに対応する起動可能なプログラムの探索を要求する。
【０１６０】
なお、複数の計算機１１００が計算機システム内に存在する場合、プログラム選択部２１０は、複数の計算機１１００のそれぞれのプログラム探索部１２０へ、プログラム実行のトリガに対応する起動可能なプログラムの探索を要求する。
【０１６１】
プログラム選択部２１０が探索要求時に伝達する情報としては、プログラム実行のトリガの要因となった入力情報が示す要因情報（例えば、使用者にて選択されたプログラムを起動させるためのコマンド、または、使用者にて選択されたデータファイルの情報）が渡される。
【０１６２】
プログラム選択部２１０は、プログラム探索部１２０から返答された探索の結果に示されたプログラム名を基に、実行プログラムと実行計算機とを決定する。なお、プログラム選択部２１０は、プログラム選択部１１０と同様に、実行プログラムと実行計算機とを決定する。
【０１６３】
プログラム選択部２１０は、プログラム遠隔化部２３０へ、実行プログラムのプログラム名と、実行計算機の識別情報と、入力情報に示されたデータ識別情報とを、通知し、プログラム命令の遠隔化作業を依頼する。
【０１６４】
プログラム選択部２１０は、プログラム遠隔化部２３０から、変換失敗の通知を受け付けたら、以前に決定した実行プログラムと実行計算機の組合せを除いた条件で、再度、実行プログラムと実行計算機の組合せを決定する。
【０１６５】
例えば、プログラム選択部２１０は、プログラム遠隔化部２３０から、変換失敗の通知を受け付けたら、探索の結果に示されたプログラム名にて識別されるプログラムと複数の計算機１１００との組み合わせのうち、実行プログラムとして選択したことのあるプログラムと実行計算機として選択したことのある計算機との組み合わせを除いたプログラムと計算機との組み合わせから、再度、実行プログラムおよび実行計算機を選択して決定する。
【０１６６】
プログラム選択部２１０は、プログラム遠隔化部２３０へ、再決定した、実行プログラムのプログラム識別情報および実行計算機の識別情報と、入力情報に示されたデータ識別情報とを、通知し、プログラム命令の遠隔化作業を再び依頼する。
【０１６７】
プログラム選択部２１０は、実行プログラムと実行計算機の組合せが存在しない場合、表示等によって、起動失敗通知をユーザへ返答する。
【０１６８】
プログラム遠隔化部２３０は、一般的に生成手段と呼ぶことができる。
【０１６９】
プログラム遠隔化部２３０は、プログラム遠隔化部１３０の拡張である。
【０１７０】
プログラム遠隔化部２３０は、プログラム選択部２１０で決定された実行プログラムを実行計算機で動作させるための遠隔実行コマンドを作成する。プログラム遠隔化部２３０は、遠隔化対応手法に従って、プログラム遠隔化部１３０と同様に、遠隔実行コマンドを作成する。
【０１７１】
プログラム遠隔化部２３０は、遠隔実行コマンドを作成する際に、環境具体化部１４０へ、遠隔実行コマンドに示される環境依存の設定情報を問い合わせる。
【０１７２】
プログラム遠隔化部２３０は、環境具体化部１４０へ問い合わせた環境依存の設定情報に関して、対応付けなしと返答されたとき、プログラム選択部２１０へ、変換失敗を通知する。
【０１７３】
プログラム遠隔化部２３０は、実行プログラムが自計算機環境内にあると判断したときは、遠隔実行コマンドを、ローカルで実行するコマンド系列として作成することを許す。
【０１７４】
プログラム遠隔化部２３０は、遠隔実行コマンド内の環境依存の設定情報を、すべて実行計算機の環境に対応付けることができた場合、環境依存の設定情報が変換された遠隔実行コマンドを、プログラム起動部１５０へ発行する。
【０１７５】
次に、図７及び図８のフローチャートを参照して、本実施の形態の全体の動作について詳細に説明する。第２の実施の形態の動作において、第１の実施の形態との差異は、ステップＦ１だけであるので、ここでは差異部分のみを詳細に説明する。
【０１７６】
第１の実施の形態と同様に図８のステップＡ５までの動作が実行されると、実行プログラムと実行計算機とが選択され、遠隔実行コマンドが作成される。
【０１７７】
次に、プログラム遠隔化部２３０は、遠隔実行コマンド内のパラメータにおいて、実行計算機の環境への対応がすべて成功したかどうかを判定する（図８のステップＦ１)。
【０１７８】
実行計算機の環境への対応がすべて成功した場合は、プログラム遠隔化部２３０は、第１の実施の形態と同様の動作を行い、プログラム起動部１５０へ、作成した遠隔実行コマンド系列を通知する。
【０１７９】
プログラム起動部１５０は、作成された遠隔実行コマンド系列を実行することで、実行計算機へ、実行プログラムの起動を依頼し、パラメータにて指定されたデータの処理を実行させる（ステップＡ６）。
【０１８０】
実行計算機の環境への対応において失敗した部分が存在する場合は、プログラム遠隔化部２３０は、プログラム選択部２１０へ、変換失敗を通知し、失敗した組合せを除いた実行プログラムと実行計算機の選択を再度行わせる（ステップＡ２へ戻る）。
【０１８１】
次に、第２の実施の形態の効果について説明する。
【０１８２】
プログラム選択部２１０は、環境具体化部１４０がデータ識別情報を読み出し情報に変換できない場合、探索の結果に示されたプログラム名にて識別されるプログラムと複数の計算機１１００との組み合わせのうち、実行プログラムとして選択したことのあるプログラムと実行計算機として選択したことのある計算機との組み合わせを除いた組み合わせから、再度、実行プログラムおよび実行計算機を選択して決定する。
【０１８３】
このため、第２の実施の形態では、第１の実施の形態の効果に加えて、パラメータ変換が失敗することで実行できない実行プログラムと実行計算機の組み合わせを選択したときに、他の組み合わせを探索することにより、計算機システムにおいて、実行プログラムが、パラメータにて指定されたデータを処理する可能性を向上させることができる。
【０１８４】
次に、本発明の第３の実施の形態について図面を参照して詳細に説明する。
【０１８５】
図９は、本発明の第３の実施の形態の計算機システムを示したブロック図である。
【０１８６】
図９において、第３の実施の形態の計算機システムは、命令発行部１００と、プログラム選択部２１０と、プログラム探索部１２０と、プログラム遠隔化部２３０と、環境具体化部３４０と、プログラム起動部１５０と、プログラム格納部１６０と、データ格納部１７０と、処理部１８０と、環境情報格納部１９０と、を含む。
【０１８７】
第３の実施の形態と第２の実施の形態との主な差異は、第３の実施の形態では、環境具体化部１４０の代わりに環境具体化部３４０が用いられている点である。以下では、差異部分を中心に詳細に説明する。
【０１８８】
なお、以下では、計算機１１００が、複数存在し、そのうちの１つが、計算機１０００に含まれているものとする。
【０１８９】
環境具体化部３４０は、一般的に変換手段と呼ぶことができる。
【０１９０】
環境具体化部３４０は、環境具体化部１４０の拡張である。
【０１９１】
環境具体化部３４０は、プログラム遠隔化部１３０から、環境依存の設定情報を受け付けたとき、その環境依存の設定情報と、環境情報格納部１９０内の情報（具体的には、計算機１１００（処理部１８０）がデータ格納部１７０からその識別子にて識別されるデータを読み出すための読み出し情報（データのパス））と、を照合する。
【０１９２】
環境具体化部３４０は、その照合に伴って、環境依存の設定情報が自計算機環境に適合するように、環境依存の設定情報を、その読み出し情報に変換して返答する。
【０１９３】
さらに、環境具体化部３４０は、変換した設定情報が、自計算環境で活用可能かどうかを判定する。
【０１９４】
例えば、環境情報格納部１９０は、読み出し情報を用いてデータを読み出すことが許容されている計算機を示すライセンス情報を格納する。
【０１９５】
環境具体化部３４０は、環境依存の設定情報を読み出し情報に変換した際に、自計算機がライセンス情報に示されていない場合、読み出し情報が、自計算環境で活用できないと判定し、これに伴い、環境依存の設定情報を読み出し情報に変換できないと判定する。
【０１９６】
変換した設定情報が活用可能であれば、すなわち、自計算機がライセンス情報に示されている場合、環境具体化部３４０は、変換した設定情報を、プログラム遠隔化部２３０に通知する。
【０１９７】
設定情報の対応付け（変換）ができない場合、もしくは、変換した設定情報が活用不可能な場合（環境依存の設定情報を読み出し情報に変換できないと判断した場合）、環境具体化部３４０は、対応付けなしの旨を、プログラム遠隔化部２３０に返答する。
【０１９８】
設定情報を活用可能かどうかを判定する方法として、プログラムやデータファイルのライセンスを用いることができる。
【０１９９】
例えば、ビデオデータにおいて、自計算機にデータ取扱いのライセンスがない場合は、プログラムが起動されてもエラーになるだけであるので、対応付けなしとして返答することにより、自計算機環境での取扱い権利がないことを事前に知らせることが可能となる。
【０２００】
次に、図９及び図８と図１０のフローチャートを参照して本実施の形態の全体の動作について詳細に説明する。第３の実施の形態の動作において、第２の実施の形態との差異は、環境依存問い合わせフローチャートのステップＧ１だけであるので、ここでは差異部分のみを詳細に説明する。
【０２０１】
第２の実施の形態と同様に図８のステップＡ５までの動作が実行されると、計算機システム内の計算機から、実行プログラムと実行計算機とが選択され、遠隔実行コマンドが作成される。
【０２０２】
ステップＡ５において、選択された実行計算機へ、図５のフローチャートに示した動作にしたがって、環境依存情報の変換問い合わせが発行される。
【０２０３】
ここで、図１０のフローチャートが開始され、選択された実行計算機内の環境具体化部３４０は、ステップＥ２までの動作において、環境情報格納部１９０を参照して、環境依存情報が対応付けされた値（読み出し情報）を探索する。
【０２０４】
次に、環境具体化部３４０は、環境依存情報の対応付けされた値が自計算機の環境で活用可能かどうかを判定する（ステップＧ１）。
【０２０５】
環境依存情報の対応付けされた値が活用可能と判定された場合、環境具体化部３４０は、対応付けされた値を、プログラム遠隔化部２３０へ通知する（ステップＥ３）。
【０２０６】
環境依存情報の対応付けされた値が活用不能と判定された場合は、環境具体化部３４０は、対応付けなしを、プログラム遠隔化部２３０へ通知する（ステップＥ４）。
【０２０７】
その後、図８のステップＡ６から動作が継続され、実行プログラムと実行計算機の組み合わせにより、計算機システム上の適切な計算機で実行プログラムが起動して、パラメータにて指定されたデータが処理される。
【０２０８】
次に、第３の実施の形態の効果について説明する。
【０２０９】
第３の実施の形態では、第２の実施の形態の効果に加えて、データファイル等の環境依存情報に対して、ライセンス等の活用情報を参照することが可能となる。
【０２１０】
また、第３の実施の形態では、環境具体化部３４０は、自計算機がライセンス情報に示されていない場合、データ識別情報を読み出し情報に変換できないと判定する。
【０２１１】
このため、実行可能判定を、より詳細に行うことができ、第２の実施の形態に比べて、より効率よく、実行可能なプログラムと実行計算機を探索することができる。
【０２１２】
次に、本発明の第４の実施の形態について、図面を参照して詳細に説明する。
【０２１３】
図１１は、本発明の第４の実施の形態の計算機システムを示したブロック図である。
【０２１４】
図１１において、第４の実施の形態の計算機システムは、命令発行部１００と、プログラム選択部４１０と、プログラム探索部４２０と、プログラム遠隔化部４３０と、環境具体化部４４０と、プログラム起動部１５０と、プログラム格納部１６０と、データ格納部１７０と、処理部１８０と、環境情報格納部１９０と、を含む。
【０２１５】
第４の実施の形態と第２の実施の形態との主な差異は、第４の実施の形態では、実行プログラムの探索と環境依存情報変換の問い合わせが、統一して行われる点であり、プログラム選択部２１０の代わりにプログラム選択部４１０が用いられ、プログラム探索部１２０の代わりにプログラム探索部４２０が用いられ、プログラム遠隔化部２３０の代わりにプログラム遠隔化部４３０が用いられ、環境具体化部１４０の代わりに環境具体化部４４０が用いられている点である。以下では、差異部分を中心に詳細に説明する。
【０２１６】
なお、以下では、計算機１１００が、複数存在し、そのうちの１つが、計算機１０００に含まれているものとする。
【０２１７】
プログラム選択部４１０は、一般的に選択手段と呼ぶことができる。
【０２１８】
プログラム選択部４１０は、プログラム選択部２１０の拡張である。プログラム選択部４１０は、実行プログラム、および、実行計算機を決定する。
【０２１９】
プログラム選択部４１０は、命令発行部１００から、プログラム起動のトリガ（入力情報）を通知されると、計算機システム（分散計算機環境）に存在する、予め設定されたプログラム探索部４２０（例えば、計算機１１００内のプログラム探索部１２０）へ、プログラム実行のトリガに対応する起動可能なプログラムの探索を要求する。
【０２２０】
なお、複数の計算機１１００が計算機システム内に存在する場合、プログラム選択部２１０は、複数の計算機１１００のそれぞれのプログラム探索部１２０へ、プログラム実行のトリガに対応する起動可能なプログラムの探索を要求する。
【０２２１】
プログラム選択部４１０が探索要求時に伝達する情報として、プログラム実行のトリガの要因となった入力情報が示す要因情報（例えば、使用者にて選択されたプログラムを起動させるためのコマンド、または、使用者にて選択されたデータファイルの情報）が渡される。
【０２２２】
また、同時に、プログラム選択部４１０は、起動時に必要となるパラメータ情報（データファイル名など）も渡す。
【０２２３】
このとき、パラメータ情報は、計算機システム上で唯一認識できる識別子の形式へ変換された後、プログラム探索部４２０へ渡される。
【０２２４】
プログラム選択部４１０は、プログラム探索部４２０から返答された探索の結果に示されたプログラム名を基に、実行プログラムと実行計算機とを決定する。なお、プログラム選択部４１０は、プログラム選択部２１０と同様に、実行プログラムと実行計算機とを決定する。
【０２２５】
プログラム選択部４１０は、プログラム遠隔化部４３０へ、実行プログラムのプログラム名と、実行計算機の識別情報と、プログラム探索部４２０から識別子の応答として受信した読み出し情報と、を通知し、プログラム命令の遠隔化作業を依頼する。  プログラム選択部４１０は、実行プログラムと実行計算機の組合せが存在しない場合、表示等によって、起動失敗通知をユーザへ返答する。
【０２２６】
プログラム探索部４２０は、一般的に探索手段と呼ぶことができる。
【０２２７】
プログラム探索部４２０は、プログラム探索部１２０の拡張である。
【０２２８】
プログラム探索部４２０は、探索要求に適したプログラムを探索し、その探索の結果を実行形式のコマンドとして返答する。
【０２２９】
プログラム探索部４２０は、プログラム選択部４１０から入力情報（要因情報）およびパラメータ情報（識別子）を受信すると、環境情報格納部１９０内に格納されているプログラム名の中に、その入力情報（要因情報）に対応づけられたプログラム名が存在するかどうかを判定する。
【０２３０】
入力情報（要因情報）に対応づけられたプログラム名が存在する場合は、続いて、プログラム探索部４２０は、パラメータ情報（識別子）を、自計算機内の環境具体化部４４０へ通知し、自計算機の環境に適合するパラメータ情報（読み出し情報）へ変換するように依頼する。
【０２３１】
プログラム探索部４２０は、環境具体化部４４０から、変換情報（読み出し情報）を応答されたら、変換情報（読み出し情報）を、パラメータとして、実行プログラムのプログラム名に加え、ローカル形式の実行コマンドを作成し、その実行コマンドをプログラム選択部４１０へ返答する。
【０２３２】
もし、環境具体化部４４０から変換失敗が応答されたなら、プログラム探索部４２０は、環境依存情報の変更が必要かどうかを判定する。
【０２３３】
もし、環境依存情報の変更が必要ない場合、プログラム探索部４２０は、環境依存情報を変更しない形で、ローカル形式の実行コマンドを作成し、その実行コマンドをプログラム選択部４１０へ返答する。
【０２３４】
もし、環境依存情報の変更が必要な場合、もしくは、実行プログラムが探索されなかった場合、プログラム探索部４２０は、プログラム選択部４１０へ、実行不可を返答する。
【０２３５】
環境依存情報の変更が必要か、不必要かの例として、メディアデータの取り扱いがある。
【０２３６】
メディアデータを読み込むときは、データファイルが読み込めないと意味がないので、環境依存情報の変更が必要となる。
【０２３７】
メディアデータを作成（例えば、録画）するときは、パラメータ情報は、新たに作成するファイル名であり、既定の保存場所に保存されればよいので、環境依存情報の変更が不必要となる。
【０２３８】
本実施の形態では、メディアデータのみならず、ドキュメントデータを含め、プログラムが、パラメータに対応する環境情報が活用可能でないと実行エラーになる場合は、環境依存情報の変更を必要とし、パラメータが新規に作成されるなどの初期情報に当たる場合は、環境依存情報の変更を不必要とすることができる。
【０２３９】
プログラム遠隔化部４３０は、一般的に生成手段と呼ぶことができる。
【０２４０】
プログラム遠隔化部４３０は、プログラム遠隔化部２３０の拡張である。プログラム遠隔化部４３０は、プログラム選択部４１０で決定された実行プログラムを実行計算機で動作させるための遠隔実行コマンドを作成する。プログラム遠隔化部４３０は、遠隔化対応手法にしたがって、遠隔実行コマンドを作成する。
【０２４１】
プログラム遠隔化部４３０は、実行プログラムが自計算機内であると判断したときは、遠隔実行コマンドを、ローカルで実行するコマンド系列として作成することを許す。
【０２４２】
プログラム遠隔化部４３０は、作成した遠隔実行コマンドをプログラム起動部１５０へ発行する。
【０２４３】
環境具体化部４４０は、一般的に変換手段と呼ぶことができる。
【０２４４】
環境具体化部４４０は、環境具体化部１４０の拡張である。
【０２４５】
環境具体化部４４０は、プログラム探索部４２０から、環境依存の設定情報（パラメータ情報：識別子）を受け付けると、その環境依存の設定情報と、自計算機内の環境情報格納部１９０内の情報（具体的には、計算機１１００（処理部１８０）がデータ格納部１７０からその識別子にて識別されるデータを読み出すための読み出し情報（データのパス））と、を照合する。
【０２４６】
環境具体化部４４０は、その照合に伴って、環境依存の設定情報が自計算機環境に適合するように、環境依存の設定情報を、その読み出し情報に変換して返答する。
【０２４７】
計算機１１００（処理部１８０）がデータ格納部１７０からその識別子にて識別されるデータを読み出すための読み出し情報（データのパス）が、環境情報格納部１９０にない場合、環境具体化部４４０は、対応付けなしの返答を行う。
【０２４８】
なお、プログラム遠隔化部４３０は、プログラム遠隔化部２３０と同様の機能を有し、環境具体化部４４０は、環境具体化部１４０と同様の機能を有していてもよい。
【０２４９】
次に、図１１及び図１２乃至１４のフローチャートを参照して、本実施の形態の全体の動作について詳細に説明する。
【０２５０】
まず、命令発行部１００が、コマンド入力やダブルクリックなどのアクション（入力情報）を監視し、プログラム実行トリガ（入力情報）を検出する。
【０２５１】
命令発行部１００は、プログラム実行トリガを検出すると、プログラム選択部４１０に、プログラム実行トリガの発生、つまり、入力情報を通知する（図１２のフローチャート開始）。
【０２５２】
プログラム選択部４１０は、プログラム実行トリガの発生を受け付けると、プログラム実行トリガに対応する実行可能なプログラムの探索に入る（図２のステップＨ１、図１３のフローチャート開始）。
【０２５３】
プログラム選択部４１０は、実行可能なプログラムの探索に入ると、計算機システム（分散計算機環境）内に存在する、予め設定された複数の計算機内のプログラム探索部４２０に向けて、プログラム実行トリガの要因（要因情報）、および、検索に必要なデータ、また、実行プログラムの実行時に必要となるパラメータ用のデータ（パラメータ情報、データファイル名つまりデータ識別情報）を通知し、実行プログラムの有無を問い合わせる（図１３のステップＩ１）。
【０２５４】
プログラム選択部１１０は、問い合わせた全計算機から探索の結果を受け付ける、もしくは、問い合わせを行ってから問い合わせた全計算機から探索の結果を受け付けるまでの時間が予め定められたタイムアウトに達するまで待機する（ステップＢ２）。
【０２５５】
プログラム探索部４２０は、実行プログラムの有無の問い合わせを受け付けると、環境情報格納部１９０を参照して、プログラム実行トリガの要因（要因情報）に対応する対応プログラム、すなわち、実行プログラムが存在するかを探索する（図１４のフローチャート開始〜ステップＣ１）。
【０２５６】
実行プログラムが存在した場合は、プログラム探索部４２０は、パラメータの環境具体化フェーズに入る。
【０２５７】
プログラム探索部４２０は、パラメータの環境具体化フェーズに入ると、パラメータのうち、環境依存情報（データファイル名）を、環境具体化部４４０へ通知し、変更を問い合わせる（ステップＪ１）。
【０２５８】
環境具体化部４４０から、全環境依存情報が、変換された形で応答された場合、プログラム探索部４２０は、探索した実行プログラムと変換後のパラメータ（読み出し情報）を用いて、ローカル実行形式の実行コマンドを作成し、その実行コマンドを、プログラム選択部４１０へ応答する（ステップＪ３）。
【０２５９】
プログラム探索部４２０から、ある環境依存情報が対応なしとして応答された場合、プログラム選択部４１０は、それら対応付けされなかった環境依存情報が変換必要なパラメータかどうかを判定する（ステップＪ４）。
【０２６０】
対応付けされなかった環境依存情報が変換不必要なパラメータであった場合、プログラム探索部４２０は、実行プログラムのプログラム名と、変換後のパラメータまたは変換不必要であったパラメータと、を用いて、ローカル実行形式の実行コマンドを作成し、その実行コマンドを、プログラム選択部４１０へ応答する（ステップＪ５）。
【０２６１】
実行プログラムが存在しなかった場合、もしくは、変換必要なパラメータが存在し、かつ、そのパラメータを変換できなかった場合、プログラム探索部４２０は、実行ファイルなしの旨を、プログラム選択部４１０へ応答する（ステップＣ４）。
【０２６２】
プログラム選択部４１０は、計算機システム内の問い合わせた全計算機のプログラム探索部１２０から探索の結果を受け付ける、もしくは、問い合わせを行ってから問い合わせた全計算機から探索の結果を受け付けるまでの時間が予め定められたタイムアウトに達するまで待機したら（図１３のフローチャート終了）、収集した情報を基に、実行プログラムと実行計算機とを決定する（図１２のステップＡ２）。
【０２６３】
なお、プログラム選択部４１０は、プログラム選択部２１０と同様に、実行プログラムと実行計算機とを決定する。
【０２６４】
プログラム選択部４１０は、実行プログラムと実行計算機を決定できたなら、プログラム遠隔化部４３０へ、遠隔実行コマンドの作成を依頼する（ステップＡ３ Yes）。
【０２６５】
このとき、実行プログラムのプログラム識別情報は、ローカル実行形式のコマンドとなる。
【０２６６】
実行プログラムと実行計算機が存在しない場合、プログラム選択部４１０は、表示等により、プログラムの起動失敗を、ユーザへ通知する（ステップＡ７）。
【０２６７】
プログラム遠隔化部４３０は、実行プログラムと実行計算機との組み合わせを受け付けると、設定されている遠隔化対応手法に従い、遠隔実行コマンドを作成する（ステップＡ４）。
【０２６８】
例えば、プログラム遠隔化部４３０は、遠隔化実行プログラムを活用する場合、遠隔化実行プログラムのパラメータとして、実行計算機の識別子と実行プログラムのプログラム名を設定したコマンド系列を作成する。
【０２６９】
プログラム遠隔化部４３０は、リモートデスクトップなどの遠隔地計算機と通信するシステムを利用する場合、リモートデスクトップの起動コマンドと、その後のアクションのプロトコルコマンドとを、コマンド系列（遠隔実行コマンド）として作成する。
【０２７０】
TS RemoteAppなどのような特定のプログラムのウィンドウのみを通信したり、クライアント・サーバシステムにより遠隔実行を実現したりする場合も、プログラム遠隔化部４３０は、対応するプロトコルのコマンド系列（遠隔実行コマンド）を作成する。
【０２７１】
プログラム遠隔化部４３０は、プログラム起動部１５０へ、作成した遠隔実行コマンド系列を通知する。
【０２７２】
プログラム起動部１５０は、作成された遠隔実行コマンド系列を実行することで、実行計算機へ、実行プログラムの起動を依頼し、実行させる（ステップＡ６）。
【０２７３】
次に、本実施の形態の効果について説明する。
【０２７４】
第４の実施の形態では、第２の実施の形態の効果に加えて、実行プログラムの探索と環境依存情報変換の問い合わせを統一して行うことで、問い合わせを１度に行うことによる通信の削減と、環境パラメータを含めたコマンド作成による、実行プログラムと実行計算機の探索の効率化がある。
【０２７５】
次に、他の例を用いて、上記各実施の形態の動作を説明する。
【０２７６】
以下では、パーソナルコンピュータ(PC)、ノート型パーソナルコンピュータ(NPC)、および、ビデオレコーダ(VR)などの各計算機が、計算機１１００を含む計算機１０００として、用いられるとする。そして、パーソナルコンピュータ(PC)、ノート型パーソナルコンピュータ(NPC)、および、ビデオレコーダ(VR)などの各計算機が、ネットワークを介して、接続されているとする。
【０２７７】
なお、各計算機は、コンピュータにより実現可能である。この場合、各計算機は、例えば、ディスクに記録されたプログラム（アプリケーション）に従って動作する。ディスクは、一般的に、コンピュータ（各計算機）にて読み取り可能な記録媒体と呼ぶことができる。
【０２７８】
各計算機は、プログラムをディスク（記録媒体）から読み取り実行することによって、命令発行部１００、プログラム選択部１１０または２１０または４１０、プログラム探索部１２０または４２０、プログラム遠隔化部１３０または２３０または４３０、環境具体化部１４０または３４０または４４０、プログラム起動部１５０、プログラム格納部１６０、データ格納部１７０、処理部１８０、および、環境情報格納部１９０として機能する。
【０２７９】
また、以下では、各計算機上で実現される各部の符号を、”上記各実施の形態において対応する部の符号”-“計算機の識別子”として表現する。例えば、NPC上で実現される命令発行部１００は、NPCの命令発行部”100-NPC”として表現する。
【０２８０】
また、以下では、起動可能プログラムの表示として、ビデオ再録ソフトを”VideoRecorder”、ドキュメント編集ソフトを”DocumentEditor”、ドキュメント読込専用ソフトを”DocumentReader”として表記する。
【０２８１】
また、以下では、データ名は、種類とライセンスのための記号とデータ番号とを、この順番でハイフン(“-“)でつなげて表示する。
【０２８２】
なお、種類は、ビデオデータを”Video”、ドキュメントデータを”Document”として表記する。
【０２８３】
また、ライセンスのための記号は、計算機識別子（PC、NPC、VR）で表記する。識別子で識別される計算機でないと、その識別子が示されているデータ名のデータは、実行できないことを意味する。ライセンスのための記号がデータ名に非表記の場合は、そのデータ名のデータは、任意のマシンで実行できることを意味する。
【０２８４】
最後に、データ番号を数字にて表記する。
【０２８５】
よって、例えば、”Video-PC-X(Xは任意の数字)”は、PC上の、ビデオデータを扱うプログラムのみが実行することができる。
【０２８６】
また、説明のための遠隔実行コマンド”rexe“をここで定義する。
【０２８７】
遠隔実行コマンドは、「rexe “実行場所” “コマンド名” ”データファイル名の系列”」で表現され、”実行場所”である計算機上で、”コマンド名”のプログラムを”データファイル名の系列”のデータファイル群を用いて実行することを意味することとする。
【０２８８】
上述したように、各実施の形態を実現するときには、遠隔実行コマンド”rexe“のようなコマンド形式だけではなく、遠隔実行するためのプログラム、または、プロトコル、設定方法を組み合わせて、遠隔実行コマンドを作成することができる。
【０２８９】
各計算機が保有しているプログラムの名称、すなわち、各計算機でプログラム実行が可能なプログラムの名称をSoft（ソフト）欄に、各計算機が保有しているデータの名称をData（データ）欄に、ネットワーク共有ファイルシステムでデータが複数の計算機間で対応付けされている場合、ネットワーク共有ファイルシステムが設定している外部へのマッピングをMapping（マッピング）欄に、記載する。
【０２９０】
なお、ソフト欄、データ欄およびマッピング欄は、環境情報格納部１９０に格納される（図１５参照）。
【０２９１】
データ名は、データ欄に、途中のパスを含めて「”パス名”/”データ名”」のように記載されている。
【０２９２】
マッピング情報は、自計算機にマッピングしたファイル名とマッピング先とを示す。マッピング欄には、自計算機にマッピングしたファイル名が「”パス名”/”データ名”」で記載され、マッピング先が括弧内「”計算機識別子”:”パス”/”データ名”」で記載されている。
【０２９３】
Export（エクスポート）欄には、「”ローカル環境のパス名” →  “外部に見せるパス名”」が記載されている。
【０２９４】
まず、図１５に示す例を用いて、第１の実施の形態の動作を説明する。
【０２９５】
最初に、NPC２０からVideo-1を再生する場合の動作を説明する。
【０２９６】
このときのプログラム実行トリガは、データファイルVideo-1を指定した入力情報となる。
【０２９７】
NPC２０の命令発行部１００-NPCは、Video-1(/PC/Video-1)の再生を意味する入力情報を、プログラム実行トリガとして検出すると、NPC２０のプログラム選択部１１０-NPCへ、プログラム実行トリガの発生（入力情報）を通知する（図２のフローチャート開始〜ステップＡ１）。
【０２９８】
NPC２０のプログラム選択部１１０-NPCは、PC１０のプログラム探索部１２０-PCおよびNPC２０のプログラム探索部１２０-NPCへ、プログラム実行トリガが「Video-1の再生」であること（要因情報）を通知する（図３のステップＢ１）。
【０２９９】
PC１０のプログラム探索部１２０-PCは、プログラム実行トリガが「Video-1の再生」であること（要因情報）を受け付けると、PC１０の環境情報格納部１９０-PCを参照して、ビデオデータの再生（要因情報）に関連付けられているVideoRecorderを発見し、VideoRecorder（プログラム名）を、NPC２０のプログラム選択部１１０-NPCへ返答する（図４のステップＣ１〜Ｃ３）。
【０３００】
NPC２０のプログラム探索部１２０-NPCは、プログラム実行トリガが「Video-1の再生」であること（要因情報）を受け付けると、NPC２０の環境情報格納部１９０-NPCを参照し、参照の結果、ビデオ再生のためのプログラムが存在しないので、実行プログラムなしを、NPC２０のプログラム選択部１１０-NPCへ返答する（図４のステップＣ１〜Ｃ４）。
【０３０１】
NPC２０のプログラム選択部１１０-NPCは、起動可能なプログラムVideoRecorderがPC１０にのみに存在することを把握し、VideoRecorderを、実行プログラムとして決定する。
【０３０２】
NPC２０のプログラム選択部１１０-NPCは、NPC２０のプログラム遠隔化部１３０-NPCへ、その選択結果（PC１０のVideoRecorder）および入力情報（Video-1(/PC/Video-1)の再生）を通知し、遠隔実行コマンドの作成を依頼する（図１のステップＡ２〜Ａ３Yes）。
【０３０３】
NPC２０のプログラム遠隔化部１３０-NPCは、実行プログラム用の遠隔実行コマンドを作成する。
【０３０４】
NPC２０のプログラム遠隔化部１３０-NPCは、まず、選択結果および入力情報に基づいて、遠隔実行コマンドの骨格となる「rexe PC VideoRecorder /PC/Video-1」を作成する（ステップＡ４）。
【０３０５】
ここで、”/PC/Video-1”は、NPC２０にマッピングされた、NPC２０が計算機システム上で一意にPC１０上のVideo-1を判別可能な識別子である。このため、”/PC/Video-1”は、環境依存パラメータになる（図５のステップＤ１）。
【０３０６】
このため、NPC２０のプログラム遠隔化部１３０-NPCは、まず、マッピング欄を参照して、”/PC/Video-1”を、”PC:/media/Video-1”へ変換し、PC１０の環境具体化部１４０-PCへ、”PC:/media/Video-1”がPC１０の環境に適応するように、パラメータ（”PC:/media/Video-1”）を変換することを依頼する（図５のステップＤ２）。
【０３０７】
PC１０の環境具体化部１４０-PCは、PC１０の環境情報格納部１９０-PCを参照し（図６のステップＥ１）、具体的には、PC１０の環境情報格納部１９０-PCのデータ欄を参照し、”PC:/media/Video-1”を”/export/media/Video-1”へ変換し、NPC２０のプログラム遠隔化部１３０-NPCへ、”/export/media/Video-1”を応答する（図６のステップＥ３）。
【０３０８】
NPC２０のプログラム遠隔化部１３０-NPCは、その応答に基づいて、遠隔実行パラメータを「rexe PC VideoRecorder /export/media/Video-1」に変換する（図５のステップＤ４）。
【０３０９】
環境依存パラメータの変換が終了したため、NPC２０のプログラム遠隔化部１３０-NPCは、NPC２０のプログラム起動部１５０-NPCへ、遠隔実行コマンド（rexe PC VideoRecorder /export/media/Video-1）を通知し、NPC２０のプログラム起動部１５０-NPCは、その遠隔実行コマンドを実行する（ステップＡ６）。
【０３１０】
これにより、PC１０の処理部１８０-PCで、プログラムVideoRecorderが実行されてVideo-1が再生され、その再生結果が、NPC２０に提供される。
【０３１１】
以上の動作により、ネットワークで接続された複数の計算機環境上で、単一の計算機のようにプログラム実行トリガを与えるだけで、遠隔計算機のプログラムを実行することができ、ユーザは、プログラムの位置やデータの位置を意識することなく、複数の計算機を、単一の計算機のように扱うことが可能となる。
【０３１２】
次に、図１５において、Document-1を扱う場合について説明する。
【０３１３】
まず、Document-1の読取りの場合の動作を説明する。
【０３１４】
NPC２０の命令発行部１００-NPCは、Document-1(/PC/Document-1)の読取りを意味する入力情報を、プログラム実行トリガとして検出し、NPC２０のプログラム選択部１１０-NPCへ、プログラム実行トリガの発生（入力情報）を通知する（図８のフローチャート開始〜ステップＡ１）。
【０３１５】
NPC２０のプログラム選択部１１０-NPCは、PC１０のプログラム探索部１２０-PCおよびNPC２０のプログラム探索部１２０-NPCへ、プログラム実行トリガが「Document-1の読み取り」であること（要因情報）を通知する。
【０３１６】
PC１０のプログラム探索部１２０-PCは、プログラム実行トリガが「Document-1の読み取り」であること（要因情報）を受け付けると、PC１０の環境情報格納部１９０-PCを参照して、ドキュメントファイルの読み取り（要因情報）に関連付けられているDocumentEditorを発見し、DocumentEditor（プログラム名）を、NPC２０のプログラム選択部１１０-NPCへ返答する（ステップＣ１〜Ｃ３）。
【０３１７】
NPC２０のプログラム探索部１２０-NPCは、プログラム実行トリガが「Document-1の読み取り」であること（要因情報）を受け付けると、NPC２０の環境情報格納部１９０-NPCを参照して、ドキュメントファイルの読み取り（要因情報）に関連付けられているDocumentReaderを発見し、DocumentReader（プログラム名）を、NPC２０のプログラム選択部１１０-NPCへ返答する（ステップＣ１〜Ｃ３）。
【０３１８】
NPC２０のプログラム選択部１１０-NPCは、起動可能なプログラムがPC１０上でDocumentEditorであることと、NPC２０上でDocumentReaderであることを把握し、これらのうちから、任意の１つを、まず選択する。
【０３１９】
ここでは、ローカル計算機の環境を優先する方針で説明する。
【０３２０】
すなわち、NPC２０のプログラム選択部１１０-NPCは、NPC２０上のDocumentReaderを、実行プログラムとして決定する。
【０３２１】
NPC２０のプログラム選択部１１０-NPCは、NPC２０のプログラム遠隔化部１３０-NPCへ、その選択結果（NPC２０のDocumentReader）および入力情報（Document-1(/PC/Document-1)の読取り）を通知し、遠隔実行コマンドの作成を依頼する（図１のステップＡ２〜Ａ３Yes）。
【０３２２】
NPC２０のプログラム遠隔化部１３０-NPCは、プログラムの遠隔実行コマンドを作成する。
【０３２３】
このとき、NPCのプログラム遠隔化部１３０-NPCは、実行計算機が自計算機であるので、コマンドrexeを使用せず、選択結果および入力情報に基づいて、ローカル計算機用の遠隔実行コマンド作成を実行する。すなわち、作成される遠隔実行コマンドは、「DocumentReader /PC/Document-1」となる（ステップＡ４）。
【０３２４】
ここで、”/PC/Document-1”は、NPC２０にマッピングされた、NPC２０が計算機システムネットワーク上で一意にPC１０上のDocument-1を判別可能な識別子である。このため、”/PC/Document-1”は、環境依存パラメータになる（(図５のステップＤ１)。
【０３２５】
このため、NPC２０のプログラム遠隔化部１３０-NPCは、まず、マッピング欄を参照して、”/PC/Document-1”を”PC:/media/Document-1”へ変換し、NPC２０の環境具体化部１４０-NPCへ、”PC:/media/Document-1”がNPC２０の環境に適応するように、パラメータ（”PC:/media/Document-1”）を変換することを依頼する（図５のステップＤ２）。
【０３２６】
NPC２０の環境具体化部１４０-NPCは、NPC２０の環境情報格納部１９０-NPCを参照し（図６のステップＥ１）、具体的には、NPC２０の環境情報格納部１９０-NPCのマッピング欄を参照し、”PC:/media/Document-1”を”/PC/Document-1”へ変換し、NPC２０のプログラム遠隔化部１３０-NPCへ、”/PC/Document-1”を応答する（図６のステップＥ３）。
【０３２７】
NPC２０のプログラム遠隔化部１３０-NPCは、その応答に基づいて、遠隔実行パラメータを「DocumentReader /PC/Document-1」へ変換する（図５のステップＤ４）。
【０３２８】
このように、ローカル環境では、環境依存パラメータを返還しても元に戻って同じになるため、変換問い合わせを省くことができる。すなわち、実行プログラムがローカル計算機にあるとき、環境依存パラメータは存在しないものとして扱ってよい。
【０３２９】
NPC２０のプログラム遠隔化部１３０-NPCは、遠隔実行コマンド「DocumentReader /PC/Document-1」を、NPC２０のプログラム起動部１５０-NPCへ通知し、NPC２０のプログラム起動部１５０-NPCは、その遠隔実行コマンドを実行する（ステップＡ６）。
【０３３０】
これにより、ローカル計算機（NPC２０）でプログラムDocumentReaderが実行され、Document-1が再生される。
【０３３１】
プログラム実行トリガが「Document-1(PC/Document-1)の編集」の場合の動作は、Video-1のときの動作と同様になり、PC１０上でDocumentEditorを起動させる動作になる。
【０３３２】
このように、Document-1の扱い方によっても、実行プログラムは変わり、データの対応付けも違うことになるが、本実施の形態により、プログラム、および、データの対応付けが可能となる。
【０３３３】
以上の動作により、ネットワークで接続された複数の計算機環境上で、単一の計算機のようにプログラム実行トリガを与えるだけで、計算機システム内のプログラムの中から自動的に適切なプログラムを選択し、実行することができる。そのため、ユーザは、プログラムの位置やデータの位置を意識することなく、複数の計算機を単一の計算機のように扱うことが可能となる。
【０３３４】
次に、図１６に示す他の例を用いて、第２、第３、および、第４の実施の形態の動作を説明する。
【０３３５】
最初に、図１６において、NPC２０からVideo-1を再生する動作を説明する。この動作は、第２の実施の形態の動作に対応する。
【０３３６】
NPC２０の命令発行部１００-NPCは、Video-1(/PC/Video-1)の再生を意味する入力情報を、プログラム実行トリガとして検出すると、NPC２０のプログラム選択部２１０-NPCへ、プログラム実行トリガの発生（入力情報）を通知する（図８のフローチャート開始〜ステップＡ１）。
【０３３７】
NPC２０のプログラム選択部２１０-NPCは、PC１０のプログラム探索部１２０-PC、NPC２０のプログラム探索部１２０-NPC、および、VR３０のプログラム探索部１２０-VRへ、プログラム実行トリガが「Video-1の再生」であること（要因情報）を通知する（図３のステップＢ１）。
【０３３８】
PC１０のプログラム探索部１２０-PC、および、VR３０のプログラム探索部１２０-VRは、プログラム実行トリガが「Video-1の再生」であること（要因情報）を受け付けると、各々、PC１０の環境情報格納部１９０-PCまたはVR３０の環境情報格納部１９０-VRを参照して、ビデオデータの再生（要因情報）に関連付けられているVideoRecorderを発見し、VideoRecorder（プログラム名）を、NPC２０のプログラム選択部１１０-NPCへ返答する（図４のステップＣ１〜Ｃ３）。
【０３３９】
NPC２０のプログラム探索部１２０-NPCは、プログラム実行トリガが「Video-1の再生」であること（要因情報）を受け付けると、NPC２０の環境情報格納部１９０-NPCを参照し、参照の結果、ビデオ再生のためのプログラムが存在しないので、実行プログラムなしを、NPC２０のプログラム選択部１１０-NPCへ返答する（図４のステップＣ１〜Ｃ４）。
【０３４０】
NPC２０のプログラム選択部２１０-NPCは、起動可能なプログラムとして、PC１０上にVideoRecorderが存在し、VR３０上にもVideoRecorderが存在することを把握する。
【０３４１】
ここで、NPC２０のプログラム選択部２１０-NPCは、VR３０を優先して選択することにする。このため、NPC２０のプログラム選択部２１０-NPCは、VR３０上のVideoRecorderを、実行プログラムとして決定する。
【０３４２】
NPC２０のプログラム選択部２１０-NPCは、NPC２０のプログラム遠隔化部２３０-NPCへ、その選択結果（VR３０のVideoRecorder）および入力情報（Video-1(/PC/Video-1)の再生）を通知し、遠隔実行コマンドの作成を依頼する（図８のステップＡ２〜Ａ３Yes）。
【０３４３】
NPC２０のプログラム遠隔化部２３０-NPCは、実行プログラム用の遠隔実行コマンドを作成する。
【０３４４】
NPC２０のプログラム遠隔化部２３０-NPCは、まず、選択結果および入力情報に基づいて、遠隔実行コマンドの骨格となる「rexe VR VideoRecorder /PC/Video-1」を作成する（ステップＡ４）。
【０３４５】
ここで、”/PC/Video-1”は、NPC２０にマッピングされた、NPC２０が計算機システム上で一意にPC１０上のVideo-1を判別可能な識別子である。このため、”/PC/Video-1”は、環境依存パラメータになる（図５のステップＤ１）。
【０３４６】
このため、NPC２０のプログラム遠隔化部２３０-NPCは、まず、マッピング欄を参照して、”/PC/Video-1”を”PC:/media/Video-1”へ変換し、VR３０の環境具体化部１４０-VRへ、”PC:/media/Video-1”がVR３０の環境に適応するように、パラメータ（”PC:/media/Video-1”）を変換することを依頼する（図５のステップＤ２）。
【０３４７】
VR３０の環境具体化部１４０-VRは、VR３０の環境情報格納部１９０-VRを参照する（図６のステップＥ１）。
【０３４８】
しかし、”PC:/media/Video-1”は、VR３０の計算機環境には、関連付けられていないので、VR３０の環境具体化部１４０-VRは、環境具体化できないパラメータとして、対応なしの結果を、NPC２０のプログラム遠隔化部２３０-NPCへ応答する（図６のステップＥ４）。
【０３４９】
NPC２０のプログラム遠隔化部２３０-NPCは、環境依存パラメータの変換、すなわち、実行計算機の環境への対応変換が失敗したため、NPC２０のプログラム選択部２１０-NPCへ、変換失敗の結果とともに、再探索を依頼する(図８のステップF１のNo)。
【０３５０】
NPCのプログラム選択部２１０-NPCは、実行プログラムと実行計算機とを再度決定する。
【０３５１】
ここでは、残りは、PC１０上のVideoRecorderしか存在しないため、NPC２０のプログラム選択部２１０-NPCは、PC２０上のVideoRecorderを、実行プログラムとして選択する（図８のステップＡ２）。
【０３５２】
後は、上記と同様の動作により、PC２０上でVideoRecorderが起動し、Video-1が再生されることになる（ステップＡ３〜Ａ６）。
【０３５３】
以上の動作により、ネットワークで接続された複数の計算機環境上で、単一の計算機のようにプログラム実行トリガを与えるだけで、計算機システム内のプログラムの中から自動的に適切なプログラムを選択し、実行することができる。そのため、ユーザは、プログラムの位置やデータの位置を意識することなく、複数の計算機を単一の計算機のように扱うことが可能となる。
【０３５４】
また、第１の実施の形態から比較して、実行計算機からのデータアクセス可能性などを検証できるようにすることにより、ネットワークに接続された計算機での実行プログラムの実行可能性を向上させることができ、より効率よく、実行プログラムと実行計算機を探索することができる。
【０３５５】
次に、図１６において、NPC２０からVideo-1を再生する他の動作を説明する。この動作は、第４の実施の形態の動作に対応する。
【０３５６】
NPC２０の命令発行部１００-NPCは、Video-1（/PC/Video-1）の再生を意味する入力情報を、プログラム実行トリガとして検出すると、NPC２０のプログラム選択部４１０-NPCへ、プログラム実行トリガの発生（入力情報）を通知する（図１２のフローチャート開始〜ステップＨ１）。
【０３５７】
NPC２０のプログラム選択部４１０-NPCは、PC１０のプログラム探索部４２０-PC、NPC２０のプログラム探索部４２０-NPC、および、VR３０のプログラム探索部４２０-VRへ、プログラム実行トリガが「Video-1の再生」であること（要因情報）を通知すると同時に、データが”PC:/media/Video-1”(/PC/Video-1から変換)であることを通知する（図１３のステップＩ１）。
【０３５８】
PC１０のプログラム探索部４２０-PCは、プログラム実行トリガが「Video-1の再生」であること（入力情報）を受け付けると、PC１０の環境情報格納部１９０-PCを参照して、ビデオデータの再生（要因情報）に関連付けられているVideoRecorderを発見する（図１４のステップＣ１）。
【０３５９】
続いて、PC１０のプログラム探索部４２０-PCは、パラメータとなるデータファイル” PC:/media/Video-1 ”を自計算機の環境に適合させるために、PC１０の環境具体化部４４０-PCへ、パラメータ” PC:/media/Video-1 ”を通知する。
【０３６０】
PC１０の環境具体化部４４０-PCは、PC１０の環境情報格納部１９０-PCを参照し、パラメータ” PC:/media/Video-1 ”に対応する”/export/media/Video-1”をデータ欄から検出し、PC１０のプログラム探索部４２０-PCへ、”/export/media/Video-1”を応答する（図１４のステップＪ１〜Ｊ２ Yes）。
【０３６１】
PC１０のプログラム探索部４２０-PCは、探索結果および応答結果に従って、ローカル実行コマンド「VideoRecorder /export/media/Video-1」を作成し、NPC２０のプログラム選択部４１０-NPCへ、ローカル実行コマンド「VideoRecorder /export/media/Video-1」を探索結果として応答する。
【０３６２】
VR３０のプログラム探索部４２０-VRは、プログラム実行トリガが「Video-1の再生」であること（要因情報）を受け付けると、VR３０の環境情報格納部１９０-VRを参照して、ビデオデータの再生（要因情報）に関連付けられているVideoRecorderを発見する（図１４のステップＣ１）。
【０３６３】
続いて、VR３０のプログラム探索部４２０-PCは、パラメータとなるデータファイル” PC:/media/Video-1 ”を自計算機の環境に適合させるために、VR３０の環境具体化部４４０-VRへ、パラメータ” PC:/media/Video-1 ”を通知する。
【０３６４】
VR３０の環境具体化部４４０-VRは、VR３０の環境情報格納部１９０-VRを参照し、パラメータ”PC:/media/Video-1”に対応する情報を求めることができないと判断し、VR３０のプログラム探索部４２０-VRへ、対応付けなしを応答する（図１４のステップＪ１〜Ｊ２ No）。
【０３６５】
VR３０のプログラム探索部４２０-VRは、ビデオデータの再生において、ビデオデータが参照できないため、実行プログラムの実行ができないと判断することになる（図１４のステップＪ４ No）。
【０３６６】
結果として、VR３０のプログラム探部段４２０-VRは、実行プログラムなしという旨を、NPC２０のプログラム選択部４１０-NPCへ、応答する（図３のステップＣ１、Ｃ２ No、Ｃ４）。
【０３６７】
NPC２０のプログラム選択部４１０-NPCは、応答の結果から、起動可能なプログラムを指定するコマンドとして、PC１０からの実行コマンド「VideoRecorder /export/media/Video-1」のみが存在することを把握し、これを、実行プログラムとして決定する（図１２のステップＡ２）。
【０３６８】
NPC２０のプログラム選択部４１０-NPCは、NPC２０のプログラム遠隔化部４３０-NPCへ、実行コマンド（「VideoRecorder /export/media/Video-1」）を通知し、遠隔実行コマンドの作成を依頼する（図１２のステップＡ３ Yes）。
【０３６９】
NPC２０のプログラム遠隔化部４３０-NPCは、実行コマンドを遠隔実行コマンドに変換して、「rexe PC VideoRecorder /export/media/Video-1」を作成する（図１２のステップＡ３ Yes）。
【０３７０】
NPC２０のプログラム遠隔化部４３０-NPCは、その遠隔実行コマンドをNPC２のプログラム起動部１５０-NPCへ通知する。
【０３７１】
NPC２０のプログラム起動部１５０-NPCは、遠隔実行コマンドを実行する（ステップＡ６）。これにより、遠隔計算機PC１０でプログラムVideoRecorderが実行され、Video-1の再生が始まる。
【０３７２】
以上の動作により、ネットワークで接続された複数の計算機環境上で、単一の計算機のようにプログラム実行トリガを与えるだけで、計算機システム内のプログラムの中から自動的に適切なプログラムと実行計算機が選択され、プログラムを実行することができる。そのため、ユーザは、プログラムの位置やデータの位置を意識することなく、複数の計算機を単一の計算機のように扱うことが可能となる。
【０３７３】
また、第２の実施の形態から比較して、１度の問い合わせで、遠隔実行コマンドの作成を行うことができる。このため、より効率よく、実行プログラムと実行計算機とを探索し、かつ、遠隔実行コマンドを作成することができる。
【０３７４】
次に、図１６において、NPC２０からVideo-3を録画する動作を説明する。この動作は、第４の実施の形態の動作に対応する。
【０３７５】
なお、録画されるデータは、計算機ごとに対応付けられているデフォルトフォルダ（PCは/export/media、VRは/data）に、VideoRecorderによって録画されるものとし、コマンド発生時は、NPCの”/PC”フォルダにいることとする。
【０３７６】
NPC２０の命令発行部１００-NPCは、Video-3（/PC/Video-3：NPC２０の計算機環境情報内の相対パス表現（/PC/Video-1）から抽出）の録画を意味する入力情報を、プログラム実行トリガとして検出すると、NPC２０のプログラム選択部４１０-NPCへ、プログラム実行トリガの発生（入力情報）を通知する（図１２のフローチャート開始〜ステップＨ１）。
【０３７７】
NPC２０のプログラム選択部４１０-NPCは、PC１０のプログラム探索部４２０-PC、NPC２０のプログラム探索部４２０-NPC、および、VR３０のプログラム探索部４２０-VRへ、プログラム実行トリガが「Video-3の録画」であること（要因情報）を通知すると同時に、データが” PC:/media/Video-3 ”(/PC/Video-3から変換)であることを通知する（図１３のステップＩ１）。
【０３７８】
PC１０のプログラム探索部４２０-PCは、プログラム実行トリガが「Video-3の録画」であること（入力情報）を受け付けると、PC１０の環境情報格納部１９０-PCを参照して、ビデオデータの録画（要因情報）に関連付けられているVideoRecorderを発見する（図１４のステップＣ１）。
【０３７９】
続いて、PC１０のプログラム探索部４２０-PCは、パラメータとなるデータファイル” PC:/media/Video-3 ”を、自計算機の環境に適合させるために、PC１０の環境具体化部４４０-PCへ、パラメータ” PC:/media/Video-3 ”を通知する。
【０３８０】
PC１０の環境具体化部４４０-PCは、PC１０の環境情報格納部１９０-PCを参照し、パラメータ” PC:/media/Video-3 ”に対応する”/export/media/Video-3”を求め、PC１０のプログラム探索部４２０-PCへ、”/export/media/Video-3”を応答する（図１４のステップＪ１〜Ｊ２ Yes）。
【０３８１】
PC１０のプログラム探索部４２０-PCは、探索結果および応答結果に従って、ローカル実行コマンド「VideoRecorder /export/media/Video-3」を作成し、NPC２０のプログラム選択部４１０-NPCへ、ローカル実行コマンド「VideoRecorder /export/media/Video-3」を探索結果として応答する。
【０３８２】
VR３０のプログラム探索部４２０-VRは、プログラム実行トリガが「Video-3の録画」であること（要因情報）を受け付けると、VR３０の環境情報格納部１９０-VRを参照して、ビデオデータの録画（要因情報）に関連付けられているVideoRecorderを発見する（図１４のステップＣ１）。
【０３８３】
続いて、VR３０のプログラム探索部４２０-PCは、パラメータとなるデータファイル” PC:/media/Video-3 ”を、自計算機の環境に適合させるために、VR３０の環境具体化部４４０-VRへ、パラメータ” PC:/media/Video-3 ”を通知する。
【０３８４】
VR３０の環境具体化部４４０-VRは、VR３０の環境情報格納部１９０-VRを参照し、パラメータ”PC:/media/Video-3”に対応する情報を求めることができないため、VR３０のプログラム探索部４２０-VRへ、対応付けなしを応答する（図１４のステップＪ１〜Ｊ２ No）。
【０３８５】
VR３０のプログラム探索部４２０-VRは、ビデオデータの録画において、ビデオデータの格納場所を特定できないと判定するが、デフォルトフォルダに録画すればよいと判定できる（図１４のステップＪ４ Yes）。
【０３８６】
結果として、VR３０のプログラム探索部４２０-VRは、ローカル実行コマンド「VideoRecorder Video-3」を作成し、NPC２０のプログラム選択部４１０-NPCへ応答する。
【０３８７】
NPC２０のプログラム探索部４２０-PCは、プログラム実行トリガが「Video-3の録画」であること（入力情報）を受け付けると、NPC２０の環境情報格納部１９０-NPCを参照し、参照の結果、ビデオ録画のためのプログラムがNPC２０内に存在しないと認識し、実行プログラムなしを、NPC２０のプログラム選択部４１０-NPCへ返答する（図３のステップＣ１、Ｃ２ No、Ｃ４）。
【０３８８】
NPC２０のプログラム選択部４１０-NPCは、各応答の結果から、起動可能なプログラムとして、PC１０上の実行コマンド「VideoRecorder /export/media/Video-1」と、VR３０上の実行コマンド「VideoRecorder Video-3」とが存在することを把握する。
【０３８９】
NPC２０のプログラム選択部４１０-NPCは、このうち任意の１つを選択する。
【０３９０】
NPC２０のプログラム選択部４１０-NPCは、今回は、VR３０を優先することとする。
【０３９１】
すなわち、NPC２０のプログラム選択部４１０-NPCは、VR３０からの実行コマンド「VideoRecorder Video-3」を選択する（図１２のステップＡ２）。
【０３９２】
NPC２０のプログラム選択部４１０-NPCは、NPC２０のプログラム遠隔化部４３０-NPCへ、選択結果（VideoRecorder Video-3）を通知し、遠隔実行コマンドの作成を依頼する（図１４のステップＡ３ Yes）。
【０３９３】
NPC２０のプログラム遠隔化部４３０-NPCは、実行コマンドを遠隔実行コマンドに変換し、「rexe VR VideoRecorder Video-3」を作成する（図１２のステップＡ３ Yes）。
【０３９４】
NPC２０のプログラム遠隔化部４３０-NPCは、その遠隔実行コマンドをNPC２０のプログラム起動部１５０-NPCへ通知する。
【０３９５】
NPC２０のプログラム起動部１５０-NPCは、遠隔実行コマンド系列を実行する（ステップＡ６）。これにより、遠隔計算機VR３０でプログラムVideoRecorderが実行され、Video-3が録画される。
【０３９６】
以上の動作により、ネットワークで接続された複数の計算機環境上で、単一の計算機のようにプログラム実行トリガを与えるだけで、計算機システム内のプログラムの中から自動的に適切なプログラムと実行計算機が選択され、プログラムを実行することができる。そのため、ユーザは、プログラムの位置やデータの位置を意識することなく、複数の計算機を単一の計算機のように扱うことが可能となる。
【０３９７】
また、第２の実施の形態から比較して、１度の問い合わせで、遠隔実行コマンドの作成を行うことができる。このため、より効率よく、実行プログラムと実行計算機とを探索し、かつ、遠隔実行コマンドを作成することができる。
【０３９８】
また、プログラムの動作とパラメータの意味により、実行できるパターンを増加させ、実行可能性を向上させることができる。
【０３９９】
次に、環境依存パラメータが活用可能かどうかの判定が存在する動作を説明する。
【０４００】
以下では、図１６において、NPC２０からVideo-VR-2を再生する動作を説明する。この動作は、第３の実施の形態の動作に対応する。
【０４０１】
NPC２０の命令発行部１００-NPCは、Video-VR-2(/VR/Video-VR-2)の再生を意味する入力情報を、プログラム実行トリガとして検出すると、NPC２０のプログラム選択部２１０-NPCへ、プログラム実行トリガの発生（入力情報）を通知する（図８のフローチャート開始〜ステップＡ１）。
【０４０２】
NPC２０のプログラム選択部２１０-NPCは、PC１０のプログラム探索部１２０-PC、NPC２０のプログラム探索部１２０-NPC、および、VR３０のプログラム探索部１２０-VRへ、プログラム実行トリガが「Video-VR-2の再生」であること（要因情報）を通知する（図３のステップＢ１）。
【０４０３】
PC１０のプログラム探索部１２０-PC、および、VR３０のプログラム探索部１２０-VRは、プログラム実行トリガが「Video-VR-2の再生」であること（要因情報）を受け付けると、各々、PC１０の環境情報格納部１９０-PCまたはVR３０の環境情報格納部１９０-VRを参照して、ビデオデータの再生（要因情報）に関連付けられているVideoRecorderを発見し、VideoRecorder（プログラム名）を、NPC２０のプログラム選択部２１０-NPCへ返答する（図４のステップＣ１〜Ｃ３）。
【０４０４】
NPC２０のプログラム探索部１２０-PCは、プログラム実行トリガが「Video-VR-2の再生」であること（要因情報）を受け付けると、NPC２０の環境情報格納部１９０-NPCを参照し、参照の結果、ビデオ再生のためのプログラムが存在しないので、実行プログラムなしを、NPC２０のプログラム選択部２１０-NPCへ返答する（図４のステップＣ１〜Ｃ４）。
【０４０５】
NPC２０のプログラム選択部２１０-NPCは、起動可能なプログラムとして、PC１０上にVideoRecorderが、VR３０上にもVideoRecorderが存在することを把握する。
【０４０６】
ここで、NPC２０のプログラム選択部２１０-NPCは、PC１０を優先して選択することにする。
【０４０７】
NPC２０のプログラム選択部２１０-NPCは、PC１０上のVideoRecorderを、実行プログラムとして決定する。
【０４０８】
NPC２０のプログラム選択部２１０-NPCは、NPC２０のプログラム遠隔化部２３０-NPCへ、その選択結果（PC１０のVideoRecorder）および入力情報（Video-VR-2(/VR/Video-VR-2)の再生）を通知し、遠隔実行コマンドの作成を依頼する（図８のステップＡ２〜Ａ３Yes）。
【０４０９】
NPC２０のプログラム遠隔化部２３０-NPCは、実行プログラム用の遠隔実行コマンドを作成する。
【０４１０】
NPC２０のプログラム遠隔化部２３０-NPCは、まず、選択結果および入力情報に基づいて、遠隔実行コマンドの骨格となる「rexe PC VideoRecorder /VR/Video-VR-2」を作成する（ステップＡ４）。
【０４１１】
ここで、”/VR/Video-VR-2”は、NPC２０にマッピングされた、NPC２０が計算機システム上で一意にPC１０上のVideo-VR-2を判別可能な識別子である。このため、”/VR/Video-VR-2”は、環境依存パラメータになる（図５のステップＤ１)。
【０４１２】
このため、NPC２０のプログラム遠隔化部２３０-NPCは、まず、マッピング欄を参照して、”/VR/Video-VR-2”を、”VR:/Video-VR-2”へ変換し、PC１０の環境具体化部３４０-PCへ、”VR:/Video-VR-2”がPC１０の環境に適応するように、パラメータ（”VR:/Video-VR-2”）を変換することを依頼する（図５のステップＤ２）。
【０４１３】
PC１０の環境具体化部３４０-PCは、PC１０の環境情報格納部１９０-PCを参照する（図１０のステップＥ１）。
【０４１４】
参照の結果、”VR:/Video-VR-2”に対応する”/Video/Video-VR-2”が発見されるので（ステップＥ２ Yes)、PC１０の環境具体化部３４０-PCは、続いて、”/Video/Video-VR-2”のライセンス情報を確かめる。
【０４１５】
しかし、”/Video/Video-VR-2”は、VR３０でしか再生できないライセンスであるため、PC１０の環境具体化部３４０-PCは、環境依存パラメータである”/Video/Video-VR-2”は活用不可能であると判定し（ステップＧ１ No）、対応なしを、NPC２０のプログラム遠隔化部２３０-NPCへ、応答する（図６のステップＥ４）。
【０４１６】
NPC２０のプログラム遠隔化部２３０-NPCは、環境依存パラメータの変換、すなわち、環境依存パラメータの実行計算機の環境への対応が、失敗したため、NPC２０のプログラム選択部２１０-NPCへ、変換失敗の結果とともに、再探索を依頼する（図８のステップF１のNo）。
【０４１７】
NPC２０のプログラム選択部２１０-NPCは、実行プログラムと実行計算機を、再度、決定する。
【０４１８】
ここでは、残りは、VR３０上のVideoRecorderしか存在しないため、VR３０上のVideoRecorderが選択される（図８のステップＡ２）。
【０４１９】
NPC２０のプログラム選択部２１０-NPCは、NPC２０のプログラム遠隔化部２３０-NPCへ、その選択結果および入力情報を通知し、遠隔実行コマンドの作成を依頼する（図８のステップＡ２〜Ａ３Yes）。
【０４２０】
NPC２０のプログラム遠隔化部２３０-NPCは、再度、プログラムの遠隔実行コマンドを作成する。
【０４２１】
NPC２０のプログラム遠隔化部２３０-NPCは、まず、遠隔実行コマンドの骨格となる「rexe VR VideoRecorder /VR/Video-VR-2」を作成する（ステップＡ４）。
【０４２２】
ここで、”/VR/Video-VR-2”は、環境依存パラメータになるため（図５のステップＤ１）、NPC２０のプログラム遠隔化部２３０-NPCは、まず、マッピング欄を参照して、”/VR/Video-VR-2”を、”VR:/Video-VR-2”へ変換し、VR３０の環境具体化部３４０-VRへ、”VR:/Video-VR-2”がVR３０の環境に適応するように、パラメータ（”VR:/Video-VR-2”）を変換することを依頼する（図５のステップＤ２）。
【０４２３】
VR３０の環境具体化部３４０-VR.は、VR３０の環境情報格納部１９０-VRを参照する（図１０のステップＥ１）。
【０４２４】
参照の結果、VR３０の環境具体化部３４０-VR.は、”VR:/Video-VR-2”に対応する”/data/Video-VR-2”を発見するので（ステップＥ２ Yes）、VR３０の環境具体化部３４０-VR.は、続いて、ライセンス情報を確かめる。
【０４２５】
VR３０は、Video-VR-2の再生のライセンスを持つので、VR３０の環境具体化部３４０-VR.は、環境依存パラメータである”/data/Video-VR-2”は活用可能であると判定し（ステップＨ１ Yes）、変更情報として、”/data/Video-VR-2”を、NPC２０のプログラム遠隔化部２３０-NPCへ応答する（図６のステップＥ４）。
【０４２６】
NPC２０のプログラム遠隔化部１３０-NPCは、その応答に基づいて、遠隔実行パラメータを「rexe VR VideoRecorder /data/Video-2」に変換する（図５のステップＤ4）。
【０４２７】
環境依存パラメータの変換が終了したため、NPC２０のプログラム遠隔化部２３０-NPCは、NPC２０のプログラム起動部１５０-NPCへ、遠隔実行コマンド（rexe VR VideoRecorder /data/Video-2）を通知し、NPC２０のプログラム起動部１５０-NPCは、その遠隔実行コマンドを実行する（ステップＡ６）。これにより、VR３０上でプログラムVideoRecorderを用いてVideo-VR-2が再生される。
【０４２８】
以上の動作により、ネットワークで接続された複数の計算機環境上で、単一の計算機のようにプログラム実行トリガを与えるだけで、計算機システム内のプログラムの中から自動的に適切なプログラムと実行計算機が選択され、プログラムを実行することができる。そのため、ユーザは、プログラムの位置やデータの位置を意識することなく、複数の計算機を単一の計算機のように扱うことが可能となる。
【０４２９】
また、第２の実施の形態から比較して、ライセンス情報に代表されるデータ活用権限を調査し、実行計算機を絞ることができるため、より効率よく、実行プログラムと実行計算機を探索することができる。
【０４３０】
（産業上の利用可能性）
各実施の形態によれば、PCやNPC、PDAなどの情報端末やビデオレコーダなどの家電を含む、複数の計算機がネットワークに接続された計算機環境において、ユーザは、自分の使用端末や使用端末の環境を意識せずに、あたかも１台の計算機を扱っているか如く、複数の計算機環境を利用することができる。
【０４３１】
また、ネットワーク環境におけるコンテンツ管理に対応したコンテンツ再生の機器選択自動化といった用途に適用できる。
【０４３２】
また、大規模計算機環境における自律サーバ管理といった用途にも適用可能である。
【図面の簡単な説明】
【０４３３】
【図１】本発明の第１の実施の形態の構成を示すブロック図である。
【図２】第１の実施の形態の動作を示す流れ図である。
【図３】第１の実施の形態の動作のうち、ネットワークに接続された計算機へ起動可能プログラムの問い合わせと結果待機の具体的な動作を示す流れ図である。
【図４】第１の実施の形態の動作のうち、ネットワークに接続された計算機が自計算機環境から起動トリガに対応する起動可能なプログラムを探索し返答する動作を具体的に示す流れ図である。
【図５】第１の実施の形態の動作のうち、ネットワークに接続された計算機へ環境依存情報の問い合わせと結果待機の具体的な動作を示す流れ図である。
【図６】第１の実施の形態の動作のうち、ネットワークに接続された計算機が自計算機環境から環境情報の変換を探索し返答する動作を具体的に示す流れ図である。
【図７】本発明の第２の実施の形態の構成を示すプロック図である。
【図８】第２の実施の形態の動作を示す流れ図である。
【図９】本発明の第３の実施の形態の構成を示すプロック図である。
【図１０】第３の実施の形態の動作のうち、ネットワークに接続された計算機が自計算機環境から環境情報の変換を探索し返答する動作を具体的に示す流れ図である。
【図１１】本発明の第４の実施の形態の構成を示すブロック図である。
【図１２】第４の実施の形態の動作を示す流れ図である。
【図１３】第４の実施の形態の動作のうち、ネットワークに接続された計算機へ環境依存情報を返還した起動可能プログラムの問い合わせと結果待機の具体的な動作を示す流れ図である。
【図１４】第１の実施の形態の動作のうち、ネットワークに接続された計算機が自計算機環境から起動トリガに対応する起動可能なプログラムを探索し環境依存情報を変換し返答する動作を具体的に示す流れ図である。
【図１５】各実施の形態の動作の具体例を示す図である。
【図１６】各実施の形態の動作の具体例を示す図である。
【符号の説明】
【０４３４】
１０  パーソナルコンピュータ（PC）
２０  ノート型パーソナルコンピュータ（NPC）
３０  ビデオレコーダ（VR）
５０  スイッチングハブ（SW）
１００  命令発行部
１１０、２１０、４１０  プログラム選択部
１２０、３２０、４２０  プログラム探索部
１３０、２３０、４３０  プログラム遠隔化部
１４０、３４０、４４０  環境具体化部
１５０  プログラム起動部
１６０  プログラム格納部
１７０  データ格納部
１８０  処理部
１９０  環境情報格納部
１０００、１１００  計算機
【図１】
2010015371.tif 000003
【図２】
2010015371.tif 000004
【図３】
2010015371.tif 000005
【図４】
2010015371.tif 000006
【図５】
2010015371.tif 000007
【図６】
2010015371.tif 000008
【図７】
2010015371.tif 000009
【図８】
2010015371.tif 000010
【図９】
2010015371.tif 000011
【図１０】
2010015371.tif 000012
【図１１】
2010015371.tif 000013
【図１２】
2010015371.tif 000014
【図１３】
2010015371.tif 000015
【図１４】
2010015371.tif 000016
【図１５】
2010015371.tif 000017
【図１６】
2010015371.tif 000018