(57)【特許請求の範囲】
【請求項１】
ネットワークを介して投入されたジョブのセキュリティ管理を行うためのセキュリティ管理プログラムにおいて、
コンピュータを、
信頼できる装置の識別情報を示す信頼装置情報が予め設定されており、プログラムを含むジョブの実行要求が前記ネットワーク経由で入力されると、前記ジョブの送信元の識別情報を前記信頼装置情報と比較し、前記プログラムが信頼できる装置から送信されたか否かを判断する送信元判断手段、
入力された前記プログラムを記憶装置に格納し、前記プログラムを指定した起動要求を出力するジョブ管理手段、
前記ジョブ管理手段で出力された前記起動要求で指定された前記プログラムが、前記送信元判断手段において信頼できる装置から送信されたと判断された場合、前記起動要求をオペレーティングシステムに実行させ、前記起動要求で指定された前記プログラムが、前記送信元判断手段において信頼できる装置以外から送信されたと判断された場合、ウィルスチェック要求を出力する安全性判断手段、
前記安全性判断手段から前記ウィルスチェック要求が出力されると、前記起動要求で指定された前記プログラムを前記記憶装置から読み出し、既知のウィルスに含まれるコード配列が前記プログラムに含まれていないことを確認するコードチェック処理を実行し、前記コード配列が含まれていない場合に前記起動要求を前記オペレーティングシステムに実行させるウィルスチェック手段、
として機能させることを特徴とするセキュリティ管理プログラム。
【請求項２】
前記ウィルスチェック手段は、前記安全性判断手段から前記ウィルスチェック要求が出力された場合、前記プログラムを実行するプロセスを監視し、前記プロセスから前記オペレーティングシステムに対して要求が出力されると、出力された前記要求が不正な処理要求でないことを確認する実時間監視処理を実行することを特徴とする請求項１記載のセキュリティ管理プログラム。
【請求項３】
前記送信元判断手段は、信頼できる装置から送信されたと判断した前記プログラムのプログラム名を安全プログラムリストに設定し、
前記安全性判断手段は、前記安全プログラムリストを参照することで、前記ジョブ管理手段で出力された前記起動要求で指定された前記プログラムが、前記送信元判断手段において信頼できる装置から送信されたと判断されたか否かを認識することを特徴とする請求項１記載のセキュリティ管理プログラム。
【請求項４】
前記送信元判断手段は、前記プログラムの安全性を示す安全性情報が前記プログラムに付加されていた場合、前記安全性情報を取得し、
前記安全性判断手段は、前記ジョブ管理手段で出力された前記起動要求で指定された前記プログラムが、前記送信元判断手段において信頼できる装置から送信されたと判断された場合において、前記送信元判断手段が取得した前記安全性情報において前記プログラムが安全であることが示されていれば、前記起動要求をオペレーティングシステムに実行させ、前記送信元判断手段が取得した前記安全性情報において前記プログラムが安全であることが示されていなければ、前記ウィルスチェック要求を出力することを特徴とする請求項１記載のセキュリティ管理プログラム。
【請求項５】
前記安全性情報には、前記プログラムの安全性の高さを３段階のレベルで示す信頼度が設定されており、
前記送信元判断手段は、前記プログラムのファイル名と前記信頼度とを対応付けてプログラム安全管理テーブルに設定し、
前記安全性判断手段は、前記ジョブ管理手段で出力された前記起動要求で指定された前記プログラムの前記信頼度が最上位のレベルの場合、前記起動要求をオペレーティングシステムに実行させ、前記信頼度が上位から２番目のレベルの場合、コードチェックを指定したウィルスチェック要求を出力し、前記信頼度が上位から３番目のレベルの場合、前記コードチェックと実時間監視とを指定したウィルスチェック要求を出力し、
前記ウィルスチェック手段は、前記安全性判断手段から出力された前記ウィルスチェック要求において前記コードチェックが指定されていた場合、前記コードチェック処理を実行し、前記コード配列が含まれていない場合に前記起動要求を前記オペレーティングシステムに実行させ、前記ウィルスチェック要求において前記実時間監視が指定されていた場合、前記プログラムを実行するプロセスを監視し、前記プロセスから前記オペレーティングシステムに対して要求が出力されると、出力された前記要求が不正な処理要求でないことを確認する実時間監視処理を実行することを特徴とする請求項４記載のセキュリティ管理プログラム。
【請求項６】
ネットワークを介して投入されたジョブのセキュリティ管理を行うためのセキュリティ管理方法において、
ジョブ管理装置の証明書認証手段が、証明書とプログラムとを含むジョブ投入要求が入力されると、前記証明書の正当性を認証し、
前記ジョブ管理装置のジョブ振り分け手段が、前記証明書認証手段で前記証明書が正しく認証された場合、ジョブの実行を依頼するジョブ実行装置を選択し、選択した前記ジョブ実行装置に対して、前記プログラムを含むジョブの実行要求を送信し、
前記ジョブ実行装置の送信元判断手段が、信頼できる装置の識別情報を示す信頼装置情報が予め設定されており、プログラムを含むジョブの実行要求が前記ネットワーク経由で入力されると、前記ジョブの送信元の識別情報を前記信頼装置情報と比較し、前記プログラムが信頼できる装置から送信されたか否かを判断し、
前記ジョブ実行装置のジョブ管理手段が、入力された前記プログラムを記憶装置に格納し、前記プログラムを指定した起動要求を出力し、
前記ジョブ実行装置の安全性判断手段が、前記ジョブ管理手段で出力された前記起動要求で指定された前記プログラムが、前記送信元判断手段において信頼できる装置から送信されたと判断された場合、前記起動要求をオペレーティングシステムに実行させ、前記起動要求で指定された前記プログラムが、前記送信元判断手段において信頼できる装置以外から送信されたと判断された場合、ウィルスチェック要求を出力し、
前記ジョブ実行装置のウィルスチェック手段が、前記安全性判断手段から前記ウィルスチェック要求が出力されると、前記起動要求で指定された前記プログラムを前記記憶装置から読み出し、既知のウィルスに含まれるコード配列が前記プログラムに含まれていないことを確認するコードチェックを実行し、前記コード配列が含まれていない場合に前記起動要求をオペレーティングシステムに実行させる、
ことを特徴とするセキュリティ管理方法。
【請求項７】
前記ジョブ管理装置の前記証明書認証手段で前記証明書が正しく認証された場合には、前記ジョブ管理装置の安全性情報設定手段が、前記プログラムが安全であることを示す安全性情報を付加し、
前記ジョブ実行装置の前記送信元判断手段は、前記プログラムの安全性を示す安全性情報が前記プログラムに付加されていた場合、前記安全性情報を取得し、
前記ジョブ実行装置の前記安全性判断手段は、前記ジョブ管理手段で出力された前記起動要求で指定された前記プログラムが、前記送信元判断手段において信頼できる装置から送信されたと判断された場合において、前記送信元判断手段が取得した前記安全性情報において前記プログラムが安全であることが示されていれば、前記起動要求をオペレーティングシステムに実行させ、前記送信元判断手段が取得した前記安全性情報において前記プログラムが安全であることが示されていなければ、前記ウィルスチェック要求を出力することを特徴とする請求項６記載のセキュリティ管理方法。
【請求項８】
前記ジョブ管理装置の前記安全性情報設定手段は、前記クライアントと、前記プログラムから入力される前記プログラムの安全性の高さを３段階のレベルで示す信頼度とが対応付けて登録されたクライアント安全管理テーブルを参照し、前記プログラムを含む前記ジョブ投入要求を送信した前記クライアントに対応する信頼度を前記安全性情報に設定し、
前記ジョブ実行装置の前記送信元判断手段は、前記プログラムのファイル名と前記信頼度とを対応付けてプログラム安全管理テーブルに設定し、
前記ジョブ実行装置の前記安全性判断手段は、前記ジョブ管理手段で出力された前記起動要求で指定された前記プログラムの前記信頼度が最上位のレベルの場合、前記起動要求をオペレーティングシステムに実行させ、前記信頼度が上位から２番目のレベルの場合、コードチェックを指定したウィルスチェック要求を出力し、前記信頼度が上位から３番目のレベルの場合、前記コードチェックと実時間監視とを指定したウィルスチェック要求を出力し、
前記ジョブ実行装置の前記ウィルスチェック手段は、前記安全性判断手段から出力された前記ウィルスチェック要求において前記コードチェックが指定されていた場合、前記コードチェック処理を実行し、前記コード配列が含まれていない場合に前記起動要求を前記オペレーティングシステムに実行させ、前記ウィルスチェック要求において前記実時間監視が指定されていた場合、前記プログラムを実行するプロセスを監視し、前記プロセスから前記オペレーティングシステムに対して要求が出力されると、出力された前記要求が不正な処理要求でないことを確認する実時間監視処理を実行することを特徴とする請求項７記載のセキュリティ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はジョブ実行時の安全性を確保するためのセキュリティ管理プログラム、ジョブ投入管理プログラム、およびセキュリティ管理方法に関し、特に他の装置から投入されるジョブを実行する場合の安全性を確保するセキュリティ管理プログラム、ジョブ投入管理プログラム、およびセキュリティ管理方法に関する。
【背景技術】
【０００２】
多くの企業では、並列処理によって大量の計算を行うために、グリッドシステムが用いられている。グリッドシステムは、多数のノード（ジョブを実行するコンピュータ）をネットワークで接続し、実行すべき処理を各ノードに振り分けて並列に実行させるものである。
【０００３】
企業クライアントＰＣ（Personal Computer）をノードとして用いたグリッドシステムは、様々な条件下のＰＣそれぞれで、できる限り高い性能を引き出すことが求められる。そこで、通常は各ノードそれぞれで行われる処理の一部を他のコンピュータに代行させるシステムが考えられている。例えば、サーバからクライアントに対して送信される証明書が有効であることを中継装置で確認し、中継装置で有効性が確認された証明書に関しては、クライアントにおいてその証明書の有効性のチェックを省略する技術がある（例えば、特許文献１参照）。
【特許文献１】特開２００２−８２９０７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１の技術では、証明書の認証処理が中継サーバで代行され、証明書受け取り時の一時的な処理が軽減されるのみであり、それ以外の処理負荷を軽減することはできない。現在のグリッドシステムのノードの処理負荷の大きな要素として、ウィルスチェック処理がある。
【０００５】
例えば、企業のクライアントＰＣでは、プログラムに未知のセキュリティ上の欠陥がある場合に備えて、対ウィルス機能が、起動時のコードチェックを行うと共に、プログラム実行中のプロセスの挙動を実時間で監視する。実時間の監視とは、ユーザプロセスプログラムがＯＳ（Operating System）を介して処理要求を出力する度に、その処理要求を奪い取り、セキュリティ上の問題が無いことを確認する処理である。セキュリティ上の問題が無いことが確認された場合、処理要求がＯＳに渡される。
【０００６】
このようなコードチェックや実時間監視は、計算性能劣化の大きな要因となる。特に計算性能が求められるグリッドジョブ（グリッドシステムで並列実行させるジョブ）の場合、コードチェックや実時間監視が全てのノードで実行され、全体としての計算性能の劣化が顕著となる。
【０００７】
本発明はこのような点に鑑みてなされたものであり、システムの安全性を保ったままジョブを実行するノードでのウィルスチェックを省略可能とするセキュリティ管理プログラム、ジョブ投入管理プログラム、およびセキュリティ管理方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明では上記課題を解決するために、図１に示すようなセキュリティ管理プログラムが提供される。本発明に係るセキュリティ管理プログラムは、ネットワークを介して投入されたジョブのセキュリティ管理を行うために、図１に示す機能をコンピュータに実行させる。
【０００９】
送信元判断手段２ａは、信頼できる装置の識別情報を示す信頼装置情報２ａａが予め設定されており、プログラム５，７を含むジョブの実行要求がネットワーク経由で入力されると、ジョブの送信元の識別情報を信頼装置情報２ａａと比較し、プログラム５，７が信頼できる装置から送信されたか否かを判断する。ジョブ管理手段２ｂは、入力されたプログラム５，７を記憶装置に格納し、プログラム５，７を指定した起動要求を出力する。安全性判断手段２ｃは、ジョブ管理手段２ｂから出力された起動要求で指定されたプログラムが、送信元判断手段２ａにおいて信頼できる装置から送信されたと判断された場合、起動要求をオペレーティングシステムに実行させ、起動要求で指定されたプログラムが、送信元判断手段において信頼できる装置以外から送信されたと判断された場合、ウィルスチェック要求を出力する。ウィルスチェック手段２ｄは、安全性判断手段２ｃからウィルスチェック要求が出力されると、起動要求で指定されたプログラムを記憶装置から読み出し、既知のウィルスに含まれるコード配列がプログラムに含まれていないことを確認するコードチェックを実行し、コード配列が含まれていない場合に起動要求をオペレーティングシステムに実行させる。
【００１０】
このようなセキュリティ管理プログラムをコンピュータに実行させることで、プログラム５，７を含むジョブの実行要求がネットワーク経由で入力されると、送信元判断手段２ａにより、ジョブの送信元の識別情報と信頼装置情報２ａａとが比較され、プログラム５，７が信頼できる装置から送信されたか否かが判断される。次に、ジョブ管理手段２ｂにより、入力されたプログラム５，７が記憶装置に格納され、プログラム５，７を指定した起動要求が出力される。ジョブ管理手段２ｂで出力された起動要求で指定されたプログラムが、送信元判断手段２ａにおいて信頼できる装置から送信されたと判断された場合、起動要求がオペレーティングシステムで実行される。また、起動要求で指定されたプログラムが、送信元判断手段において信頼できる装置以外から送信されたと判断された場合、安全性判断手段２ｃにより、ウィルスチェック要求が出力される。すると、ウィルスチェック手段２ｄにより、起動要求で指定されたプログラムが記憶装置から読み出され、コードチェックが実行される。その結果、プログラムにウィルスのコード配列が含まれていなければ、起動要求がオペレーティングシステムで実行される。
【００１１】
また、上記課題を解決するために、クライアントからの要求に応じてジョブを複数のコンピュータに分散処理させるための振り分けを行うジョブ投入管理プログラムにおいて、コンピュータを、証明書とプログラムとを含むジョブ投入要求が入力されると、前記証明書の正当性を認証する証明書認証手段、前記証明書認証手段で前記証明書が正しく認証された場合、前記プログラムが安全であることを示す安全性情報を付加する安全性情報設定手段、ジョブの実行を依頼するノードを選択し、選択した前記ノードに対して、前記安全性情報設定手段によって前記安全性情報が付加された前記プログラムを含むジョブの実行要求を送信するジョブ振り分け手段、として機能させることを特徴とするジョブ投入管理プログラムが提供される。
【００１２】
このようなジョブ投入管理プログラムをコンピュータで実行させることで、証明書とプログラムとを含むジョブ投入要求が入力されると、証明書認証手段により、証明書の正当性が認証される。証明書認証手段で証明書が正しく認証された場合、安全性情報設定手段により、プログラムが安全であることを示す安全性情報が付加される。そして、ジョブ振り分け手段により、ジョブの実行を依頼するノードが選択され、選択されたノードに対して、安全性情報設定手段によって安全性情報が付加されたプログラムを含むジョブの実行要求が送信される。
【００１３】
また、本発明では上記課題を解決するために、ネットワークを介して投入されたジョブのセキュリティ管理を行うためのセキュリティ管理方法において、ジョブ管理装置の証明書認証手段が、証明書とプログラムとを含むジョブ投入要求が入力されると、前記証明書の正当性を認証し、前記ジョブ管理装置のジョブ振り分け手段が、前記証明書認証手段で前記証明書が正しく認証された場合、ジョブの実行を依頼するジョブ実行装置を選択し、選択した前記ジョブ実行装置に対して、前記プログラムを含むジョブの実行要求を送信し、前記ジョブ実行装置の送信元判断手段が、信頼できる装置の識別情報を示す信頼装置情報が予め設定されており、プログラムを含むジョブの実行要求が前記ネットワーク経由で入力されると、前記ジョブの送信元の識別情報を前記信頼装置情報と比較し、前記プログラムが信頼できる装置から送信されたか否かを判断し、前記ジョブ実行装置のジョブ管理手段が、入力された前記プログラムを記憶装置に格納し、前記プログラムを指定した起動要求を出力し、前記ジョブ実行装置の安全性判断手段が、前記ジョブ管理手段で出力された前記起動要求で指定された前記プログラムが、前記送信元判断手段において信頼できる装置から送信されたと判断された場合、前記起動要求をオペレーティングシステムに実行させ、前記起動要求で指定された前記プログラムが、前記送信元判断手段において信頼できる装置以外から送信されたと判断された場合、ウィルスチェック要求を出力し、前記ジョブ実行装置のウィルスチェック手段が、前記安全性判断手段から前記ウィルスチェック要求が出力されると、前記起動要求で指定された前記プログラムを前記記憶装置から読み出し、既知のウィルスに含まれるコード配列が前記プログラムに含まれていないことを確認するコードチェックを実行し、前記コード配列が含まれていない場合に前記起動要求をオペレーティングシステムに実行させる、ことを特徴とするセキュリティ管理方法が提供される。
【００１４】
このようなセキュリティ管理方法によれば、ジョブ管理装置に証明書とプログラムとを含むジョブ投入要求が入力されると、ジョブ管理装置の証明書認証手段により、前記証明書の正当性が認証される。前記証明書認証手段で前記証明書が正しく認証された場合、前記ジョブ管理装置のジョブ振り分け手段により、ジョブの実行を依頼するジョブ実行装置が選択され、選択された前記ジョブ実行装置に対して、前記プログラムを含むジョブの実行要求が送信される。前記ジョブ実行装置にプログラムを含むジョブの実行要求が前記ネットワーク経由で入力されると、前記ジョブ実行装置の送信元判断手段により、前記ジョブの送信元の識別情報が前記信頼装置情報と比較され、前記プログラムが信頼できる装置から送信されたか否かが判断される。また、前記ジョブ実行装置のジョブ管理手段により、入力された前記プログラムが記憶装置に格納され、前記プログラムを指定した起動要求が出力される。前記ジョブ管理手段で出力された前記起動要求で指定された前記プログラムが、前記送信元判断手段において信頼できる装置から送信されたと判断された場合、前記起動要求がオペレーティングシステムに実行される。前記起動要求で指定された前記プログラムが、前記送信元判断手段において信頼できる装置以外から送信されたと判断された場合、前記ジョブ実行装置の安全性判断手段により、ウィルスチェック要求が出力される。すると、前記ジョブ実行装置のウィルスチェック手段により、前記起動要求で指定された前記プログラムが前記記憶装置から読み出され、既知のウィルスに含まれるコード配列が前記プログラムに含まれていないことを確認するコードチェックが実行され、前記コード配列が含まれていない場合に前記起動要求がオペレーティングシステムで実行される。
【発明の効果】
【００１５】
本発明では、ジョブの送信元が信頼できる装置か否かを判断し、信頼できる装置であれば、ジョブを実行時にプログラムのコードチェックを省略するようにした。これにより、ジョブ実行時の処理負荷が軽減される。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施の形態を図面を参照して説明する。
図１は、本実施の形態の概略を示す図である。図１の例では、クライアント３から投入されるジョブは、ジョブ管理装置１を経由して、ジョブ実行装置２に渡される。クライアント３は、ジョブの投入に際し、証明書６を付加したプログラム５をジョブ管理装置１に渡す。また、クライアント４から投入されるジョブは、ジョブ実行装置２に直接渡される。クライアント４は、ジョブの投入に際し、プログラム７をジョブ実行装置２に渡す。
【００１７】
なお、図１の例では、ジョブ管理装置１の識別情報は「ＧＷ＃１」である。クライアント３の識別情報は「ＣＬ＃１」である。クライアント４の識別情報は「ＣＬ＃２」である。
【００１８】
ジョブ管理装置１は、投入されたジョブの振り分けを行う。そのために、ジョブ管理装置１は、証明書認証手段１ａとジョブ振り分け手段１ｂとを有している。
証明書認証手段１ａは、証明書６とプログラム５とを含むジョブ投入要求が入力されると、証明書の正当性を認証する。証明書６は、不正行為を働かないことが予め確認された作成者によって、プログラム５が作成されていることを証明する情報である。
【００１９】
ジョブ振り分け手段１ｂは、証明書認証手段１ａで証明書６が正しく認証された場合、ジョブの実行を依頼するジョブ実行装置２を選択する。そして、ジョブ振り分け手段１ｂは、選択したジョブ実行装置２に対して、プログラムを含むジョブの実行要求を送信する。
【００２０】
ジョブ実行装置２は、投入されたジョブをジョブ実行プロセス２ｅ，２ｆにより実行する。その際、信頼できる装置から投入されたジョブについては、ウィルスチェックを省略する。そのために、ジョブ実行装置２は、送信元判断手段２ａ、ジョブ管理手段２ｂ、安全性判断手段２ｃ、ウィルスチェック手段２ｄを有している。
【００２１】
送信元判断手段２ａは、信頼できる装置の識別情報を示す信頼装置情報２ａａが予め設定されており、プログラム５，７を含むジョブの実行要求がネットワーク経由で入力されると、ジョブの送信元の識別情報を信頼装置情報と比較する。そして、送信元判断手段２ａは、比較結果に基づいて、プログラム５，７が信頼できる装置から送信されたか否かを判断する。すなわち、ジョブの送信元の識別情報と信頼装置情報２ａａに設定された識別情報とが一致すれば、送信元判断手段２ａは、プログラム５，７が信頼できる装置から送信されたと判断する。また、ジョブの送信元の識別情報と信頼装置情報２ａａに設定された識別情報とが一致しなければ、送信元判断手段２ａは、プログラム５，７が信頼できる装置以外から送信されたと判断する。
【００２２】
ジョブ管理手段２ｂは、入力されたプログラム５，７を記憶装置に格納し、プログラム５，７を指定した起動要求を出力する。
安全性判断手段２ｃは、ジョブ管理手段２ｂから出力された起動要求で指定されたプログラム５，７が、送信元判断手段２ａにおいて信頼できる装置から送信されたと判断された場合、起動要求をオペレーティングシステムに実行させる。また、安全性判断手段２ｃは、起動要求で指定されたプログラム５，７が、送信元判断手段２ａにおいて信頼できる装置以外から送信されたと判断された場合、ウィルスチェック要求を出力する。
【００２３】
ウィルスチェック手段２ｄは、安全性判断手段２ｃからウィルスチェック要求が出力されると、起動要求で指定されたプログラム５，７を記憶装置から読み出し、コードチェック処理を実行する。コードチェック処理は、既知のウィルスに含まれるコード配列がプログラム７に含まれていないことを確認する処理である。コードチェック処理により、既知のウィルスに該当するコード配列が含まれていない場合、ウィルスチェック手段２ｄは、起動要求をオペレーティングシステムに実行させる。
【００２４】
オペレーティングシステムに起動要求が出されることで、オペレーティングシステムによってジョブ実行プロセス２ｅ，２ｆが生成され、ジョブが実行される。
このようなセキュリティ管理プログラムをコンピュータに実行させることで、ジョブ管理装置１から投入されたジョブのウィルスチェックが省略される。例えば、クライアント３から投入されたジョブの場合、証明書６が付加されたプログラム５がジョブ管理装置１に入力される。すると、証明書認証手段１ａにより証明書６の認証処理が行われる。証明書６が正しく認証されると、ジョブ振り分け手段１ｂにより、ジョブの振り分けが行われる。そして、ジョブ振り分け手段１ｂにより、ジョブの振り分け先として決定されたジョブ実行装置２に対して、プログラム５を含むジョブの実行要求が送信される。
【００２５】
プログラム５，７を含むジョブの実行要求がネットワーク経由でジョブ実行装置２に入力されると、送信元判断手段２ａにより、ジョブの送信元の識別情報と信頼装置情報２ａａとが比較され、プログラム５，７が信頼できる装置から送信されたか否かが判断される。信頼装置情報２ａａに設定された識別情報は「ＧＷ＃１」である。従って、ジョブ管理装置１から渡されたプログラム５については、送信元判断手段２ａにおいて、信頼できる装置から送信されたものと判断される。また、クライアント４から渡されたプログラム７については、送信元判断手段２ａにおいて、信頼できる装置以外から送信されたものと判断される。
【００２６】
次に、ジョブ管理手段２ｂにより、入力されたプログラム５，７が記憶装置に格納され、プログラム５，７を指定した起動要求が出力される。ここで、プログラム５は、送信元判断手段２ａにおいて信頼できる装置から送信されたと判断されているため、ウィルスチェックを行うことなく、起動要求がオペレーティングシステムで実行される。すなわち、ジョブ実行プロセス２ｅが生成され、ジョブ実行プロセス２ｅによってプログラム５に記述された処理が実行される。
【００２７】
また、プログラム７は、送信元判断手段２ａにおいて信頼できる装置以外から送信されたと判断されているため、安全性判断手段２ｃにより、ウィルスチェック要求が出力される。すると、ウィルスチェック手段２ｄにより、プログラム７が記憶装置から読み出され、コードチェック処理が実行される。コードチェック処理の結果、プログラム７にウィルスのコード配列が含まれていなければ、起動要求がオペレーティングシステムで実行される。すなわち、ジョブ実行プロセス２ｆが生成され、ジョブ実行プロセス２ｆによってプログラム７に記述された処理が実行される。
【００２８】
このようにして、ジョブ管理装置１においてプログラム５の安全性を保障することで、ジョブ実行装置２では、ジョブ管理装置１経由で入力されたプログラム５のウィルスチェックを省略することができる。その結果、ジョブ実行装置２におけるジョブ実行時の処理付加が軽減される。
【００２９】
なお、図１に示したシステムをグリッドシステムに適用することで、負荷軽減の効果がより高くなる。すなわち、グリッドシステムでは、ゲートウェイを介して、ジョブが複数のノードに分散投入される。その際、全てのノードでウィルスチェックを行ったのでは、全体としての処理効率が悪化する。そこで、ゲートウェイによってプログラムの安全性を保障し、ゲートウェイ経由で投入されたプログラムのウィルスチェックを省略することで、システム全体の安全性を保ちつつ、処理負荷の軽減を図ることができる。
【００３０】
そこで、本発明をグリッドシステムに提供した場合を例に採り、本発明の実施の形態の詳細を説明する。
［第１の実施の形態］
第１の実施形態は、信頼できるグリッド管理マネージャから投入されたジョブのプログラムはすべて安全であると信頼し、ウィルスチェックを省略するものである。なお、第１の実施の形態では、簡単のために、各種ウィルスチェック処理のうちコードチェック処理のみを省略する場合を想定して説明する。
【００３１】
図２は、本実施の形態のシステム構成例を示す図である。クライアント３１は、グリッドシステム１００に配置されたゲートウェイ（ＧＷ）１１０に対してネットワーク２１を介して接続されている。
【００３２】
グリッドシステム１００は、ゲートウェイ１１０、複数のノード１２０ａ，１２０ｂ，１２０ｃ，・・・で構成されるＣＰＵ、ファイバーチャネル（ＦＣ）１４０、および複数の共有二次記憶装置１３１，１３２，１３３を有している。
【００３３】
ゲートウェイ１１０と各ノード１２０ａ，１２０ｂ，１２０ｃ，・・・とは、ネットワーク２２で接続されている。また、各ノード１２０ａ，１２０ｂ，１２０ｃ，・・・と共有二次記憶装置１３１，１３２，１３３とは、ファイバーチャネル１４０を介して接続されている。
【００３４】
ゲートウェイ１１０は、クライアント３１からのジョブの投入要求を受け付ける。その際、ゲートウェイ１１０は、入力されたジョブに付加された証明書の認証処理を行う。証明書の認証は、例えば、ＧＳＩ（Grid Security Infrastructure）機能を用いて行われる。証明書が正しく認証された場合、ゲートウェイ１１０はジョブを分割し、ＣＰＵ群１２０内のノードに分割したジョブを投入する。
【００３５】
ＣＰＵ群１２０を構成する各ノード１２０ａ，１２０ｂ，１２０ｃ，・・・は、ゲートウェイ１１０から投入されたジョブを実行する。その際、各ノード１２０ａ，１２０ｂ，１２０ｃ，・・・は、必要に応じて共有二次記憶装置１３１，１３２，１３３に対して、データの格納または読み出しを行う。
【００３６】
図３は、本実施の形態に用いるゲートウェイのハードウェア構成例を示す図である。ゲートウェイ１１０は、ＣＰＵ（Central Processing Unit）１１１ｂによって装置全体が制御されている。ＣＰＵ１１１には、バス１１１ｉを介してＲＡＭ（Random Access Memory）１１１ｃ、ハードディスクドライブ（ＨＤＤ:Hard Disk Drive）１１１ｄ、グラフィック処理装置１１１ｅ、入力インタフェース１１１ｆ、および通信インタフェース１１１ｇ，１１１ｈが接続されている。
【００３７】
ＲＡＭ１１１ｃには、ＣＰＵ１１１ｂに実行させるＯＳのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１１１ｃには、ＣＰＵ１１１ｂによる処理に必要な各種データが格納される。ＨＤＤ１１１ｄには、ＯＳやアプリケーションプログラムが格納される。
【００３８】
グラフィック処理装置１１１ｅには、モニタ１１が接続されている。グラフィック処理装置１１１ｅは、ＣＰＵ１１１ｂからの命令に従って、画像をモニタ１１の画面に表示させる。入力インタフェース１１１ｆには、キーボード１２とマウス１３とが接続されている。入力インタフェース１１５は、キーボード１２やマウス１３から送られてくる信号を、バス１１１ｉを介してＣＰＵ１１１ｂに送信する。
【００３９】
通信インタフェース１１１ｇは、ネットワーク２１に接続されている。通信インタフェース１１１ｇは、ネットワーク２１を介して、クライアント３１との間でデータの送受信を行う。
【００４０】
通信インタフェース１１１ｈは、ネットワーク２２に接続されている。通信インタフェース１１１ｈは、ネットワーク２２を介して、各ノード１２０ａ，１２０ｂ，１２０ｃ，・・・との間でデータの送受信を行う。
【００４１】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図３にはゲートウェイ１１０のハードウェア構成を示したが、各ノード１２０ａ，１２０ｂ，１２０ｃ，・・・も同様のハードウェアで実現することができる。
【００４２】
図４は、第１の実施の形態における処理を示す概念図である。グリッドシステム１００を構成する各ノードでは、クライアントアプリケーション９１〜９３が実行されている。その状態で、いずれかのノード（図４の例では、ノード１２０ａ，１２０ｂ，１２０ｃ）にジョブ９４〜９６を実行させるものとする。
【００４３】
まず、クライアント３１からジョブが投入される（ステップＳ１１）。ジョブの投入時には、クライアント３１からゲートウェイ１１０に、ジョブの実行要求と共に証明書５１付きのアーカイブ４０が送信される。アーカイブ４０は、プログラム４１と付帯情報４２とを１つのファイルにまとめたものである。プログラム４１には、クライアント３１から依頼されたジョブを実行するための処理手順が記述されている。付帯情報４２には、ジョブの実行に必要な各環境情報（例えば、参照するデータベースの所在等）が設定されている。
【００４４】
アーカイブ４０としては、例えば、ＺＡＲ（ゼロ・アドミニストレーション・アーカイブ）を利用することができる。ＺＡＲは、ＺＡＲで提供される情報（プログラムと付帯情報）のみによってジョブを実行可能なアーカイブである。すなわち、ＺＡＲの実行に際し、予め所定のライブラリ等の機能が各ノード１２０ａ，１２０ｂ，１２０ｃ，・・・に組み込まれている必要がない。
【００４５】
証明書５１は、アーカイブ４０の作成者を認証局を通して認証するためのデータである。この機能は、例えば、ＳＳＬ（Secure Socket Layer）に既定されている。
ゲートウェイ１１０では、証明書５１付きのアーカイブ４０を受け取ると、証明書５１の認証および認可処理を行う（ステップＳ１２）。証明書の認証は、図示していない認証局を通して行うことができる。
【００４６】
証明書５１が正しく認証されれば、ゲートウェイ１１０は、ジョブを分割する（ステップＳ１３）。そして、ゲートウェイ１１０は、分割したジョブを複数のノード１２０ａ，１２０ｂ，１２０ｃに投入する（ステップＳ１４）。ノード１２０ａ，１２０ｂ，１２０ｃに対するジョブの投入では、ジョブの処理要求と共に、アーカイブ４０が各ノード１２０ａ，１２０ｂ，１２０ｃに送信される。
【００４７】
そして、ジョブが投入されたノード１２０ａ，１２０ｂ，１２０ｃにおいて、アーカイブ４０内のプログラム４１と付帯情報４２が取り出され、プログラム４１が実行される。この際、ジョブが投入されたノード１２０ａ，１２０ｂ，１２０ｃでは、信頼できるグリッド管理マネージャ（本実施の形態ではゲートウェイ１１０内の機能）から投入されたジョブであることを確認し、ウィルスチェックを省略してプログラム４１を実行する。
【００４８】
次に、図４に示した処理を実行するために必要なゲートウェイ１１０とノードとの機能について説明する。
図５は、第１の実施の形態におけるゲートウェイとノードとの処理機能を示すブロック図である。なお、図５では代表としてノード１２０ａの機能が示されているが、他のノードもノード１２０ａと同様の機能を有している。
【００４９】
ゲートウェイ１１０は、グリッドシステム１００で実行するジョブを管理するためのグリッド管理マネージャ１１０ａを有している。グリッド管理マネージャ１１０ａは、ジョブ投入受け付け部１１１、証明書認証部１１２、およびジョブ振り分け部１１３で構成される。
【００５０】
ジョブ投入受け付け部１１１は、クライアント３１から証明書５１が添付されたアーカイブ４０を受け取ると、証明書５１を証明書認証部１１２に渡す。そして、ジョブ投入受け付け部１１１は、証明書認証部１１２から、正しく認証された旨の認証結果を受け取ると、アーカイブ４０をジョブ振り分け部１１３に渡す。
【００５１】
証明書認証部１１２は、受け取った証明書５１に基づいて、アーカイブ４０の作成者が本人であることを認証する。認証処理は、例えば、図示していない認証局に対して認証を依頼することで実現される。証明書５１が正しく認証された場合、証明書認証部１１２は、認証処理の結果をジョブ投入受け付け部１１１に対して出力する。
【００５２】
ジョブ振り分け部１１３は、投入されたジョブを複数のノードに実行させるために、ジョブを実行させるノートを決定する。例えば、各ノードの負荷を監視し、負荷の少ないノードにジョブを実行させる。ノードが決定すると、ジョブ振り分け部１１３は、ジョブを実行させるべきノードに対してジョブを投入する。具体的には、ジョブ振り分け部１１３は、ノードに対して、ジョブの実行要求と共にアーカイブ４０を送信する。
【００５３】
ノード１２０ａは、通信制御部１２１、ジョブ管理部１２２、ＯＳ１２３、プログラム記憶部１２４、ジョブ実行プロセス１２５、およびセキュリティ管理部１２６を有する。
通信制御部１２１は、ゲートウェイ１１０からアーカイブ４０を受け取り、そのアーカイブ４０をジョブ管理部１２２に渡す。その際、通信制御部１２１は、アーカイブ４０を送信したゲートウェイ１１０のＩＰアドレスをセキュリティ管理部１２６の送信元判断部１２６ａに渡す。
【００５４】
ジョブ管理部１２２は、アーカイブ４０を受け取ると、アーカイブ４０からプログラム４１と付帯情報４２を取り出す。そして、ジョブ管理部１２２は、プログラム４１と付帯情報４２とを、ＯＳ１２３のファイルシステム１２３ａを介して、プログラム記憶部１２４に格納する。この際、ジョブ管理部１２２は、取り出したプログラム４１のファイル名を、セキュリティ管理部１２６の送信元判断部１２６ａに通知する。その後、ジョブ管理部１２２は、ＯＳ１２３に対して、プログラム４１の起動要求を出力する。
【００５５】
ＯＳ１２３は、ノード１２０ａ全体の処理を管理する。例えば、ジョブ管理部１２２からプログラム４１の起動要求が入力されると、ＯＳ１２３がジョブ実行プロセス１２５を起動し、そのジョブ実行プロセス１２５にプログラム４１を実行させる。ファイル管理に関しては、ＯＳ１２３内のファイルシステム１２３ａで行われる。
【００５６】
ＯＳ１２３内のファイルシステム１２３ａは、プログラム記憶部１２４に入出力されるファイルを管理する。具体的には、ファイルシステム１２３ａは、ジョブ管理部１２２からプログラム４１と付帯情報４２との格納要求を受け取ると、それらをプログラム記憶部１２４に書き込む。また、ファイルシステム１２３ａは、ジョブ管理部１２２からＯＳ１２３にプログラム４１の起動要求が出されると、プログラム記憶部１２４からプログラム４１を読み出し、ジョブ実行プロセス１２５の管理するメモリ領域に格納する。
【００５７】
プログラム記憶部１２４は、投入されたジョブを実行するためのプログラム４１と付帯情報４２とを記憶するための記憶領域である。
ジョブ実行プロセス１２５は、プログラム４１に従った処理を実行する。また、ジョブ実行プロセス１２５は、プログラム記憶部１２４内の付帯情報を参照することで、プログラム４１の実行に必要な環境情報を把握する。
【００５８】
セキュリティ管理部１２６は、クライアント３１からの依頼によって実行するジョブのセキュリティを管理する。具体的には、セキュリティ管理部１２６は、ゲートウェイ１１０から投入されたジョブであれば、そのジョブを実行するためのプログラム４１に対するウィルスチェックを省略する。ジョブのセキュリティ管理を行うために、セキュリティ管理部１２６は、送信元判断部１２６ａ、安全プログラムリスト１２６ｂ、安全性判断部１２６ｃ、およびウィルスチェック部１２６ｄを有する。
【００５９】
送信元判断部１２６ａは、通信制御部１２１から、アーカイブ４０の送信元のＩＰアドレスを取得する。送信元判断部１２６ａは、ゲートウェイ１１０のＩＰアドレスを予め保持しており、ＩＰアドレスを比較することにより、アーカイブ４０の送信元がゲートウェイ１１０であることを確認する。アーカイブ４０がゲートウェイ１１０から送られたことを確認した送信元判断部１２６ａは、アーカイブ４０に含まれていたプログラム４１のファイル名をジョブ管理部１２２から受け取り、そのファイル名を安全プログラムリスト１２６ｂに登録する。
【００６０】
安全プログラムリスト１２６ｂには、信頼できるグリッド管理マネージャ１１０ａから投入されたジョブを実行するためのプログラムのファイル名が登録される。
安全性判断部１２６ｃは、ジョブ管理部１２２からＯＳ１２３に対して、プログラム４１のファイル名を指定した起動要求が出されると、その起動要求で指定されたファイルの安全性を確認する。具体的には、安全性判断部１２６ｃは、起動要求で指定されたファイル名が、安全プログラムリスト１２６ｂに登録されているか否かを判断する。該当するファイル名が、安全プログラムリスト１２６ｂに登録されていれば、そのファイル名に対応するプログラム４１が安全であると判断される。該当するファイル名が、安全プログラムリスト１２６ｂに登録されていなければ、そのファイル名に対応するプログラム４１の安全性が保障できないと判断される。安全性判断部１２６ｃは、判断結果をウィルスチェック部１２６ｄに通知する。
【００６１】
ウィルスチェック部１２６ｄは、プログラムのウィルスチェックを、次のような手順で行う。ウィルスチェック部１２６ｄは、ジョブ管理部１２２からの起動要求に応じて、ＯＳ１２３によってプログラム４１が読み出されると、そのプログラム４１がジョブ実行プロセス１２５に渡される前にウィルスチェックの要否を判断する。具体的には、ウィルスチェック部１２６ｄは、安全性判断部１２６ｃから安全である旨の判断結果を受け取った場合、ウィルスチェック不要と判断する。また、ウィルスチェック部１２６ｄは、安全性判断部１２６ｃから安全性を保障できない旨の判断結果を受け取った場合、ウィルスチェック必要と判断する。
【００６２】
ウィルスチェック部１２６ｄは、ウィルスチェックが不要であれば、起動要求に応じてファイルシステム１２３ａで読み出されたプログラム４１に対して、ウィルスチェックを行わずにジョブ実行プロセス１２５に渡す。一方、ウィルスチェックが必要であれば、ウィルスチェック部１２６ｄは、起動要求に応じてファイルシステム１２３ａで読み出されたプログラム４１に対してウィルスチェックを実行する。そして、ウィルスチェック部１２６ｄは、ウィルスチェックの結果、問題が検出されなければ、プログラム４１をジョブ実行プロセス１２５に渡す。
【００６３】
図６は、安全プログラムリストのデータ構造例を示す図である。安全プログラムリスト１２６ｂには、信頼できるグリッド管理マネージャ１１０ａから配布されたことが確認されたプログラムのファイル名が登録されている。
【００６４】
以上のような構成によって、各ノードにおけるジョブ実行時のウィルスチェックを省略することができる。以下、ジョブ投入からジョブ実行までの処理手順を説明する。
図７は、第１の実施の形態におけるジョブ実行手順を示すシーケンス図である。以下、図７に示す処理をステップ番号に沿って説明する。
【００６５】
［ステップＳ２１］クライアント３１において、ユーザからジョブ投入指示を受け付ける。
［ステップＳ２２］クライアント３１は、証明書５１付きのアーカイブ４０をゲートウェイ１１０に対して送信する。
【００６６】
［ステップＳ２３］ゲートウェイ１１０のジョブ投入受け付け部１１１は、証明書５１付きのアーカイブ４０を受信する。すると、ジョブ投入受け付け部１１１は、証明書認証部１１２に対して証明書５１を渡す。
【００６７】
［ステップＳ２４］ゲートウェイ１１０の証明書認証部１１２は、証明書５１の認証処理を行う。そして、証明書認証部１１２は、認証結果をジョブ投入受け付け部１１１に渡す。
【００６８】
［ステップＳ２５］証明書５１が正しく認証された場合、ジョブ投入受け付け部１１１は、アーカイブ４０をジョブ振り分け部１１３に渡す。ジョブ振り分け部１１３は、ジョブを実行させる１つ以上のノードを決定し、そのノードに対してアーカイブ４０を送信する。この例では、ノード１２０ａに対してアーカイブ４０が送信されている。
【００６９】
［ステップＳ２６］ノード１２０ａは、アーカイブ４０を受信する。
［ステップＳ２７］ノード１２０ａは、ジョブ実行プロセス１２５を起動し、受信したアーカイブ４０に含まれるプログラム４１を実行する。なお、ノード１２０ａで実行される処理は、図８を参照して詳細に説明する。
【００７０】
図８は、ノードにおけるジョブ実行処理手順を示すフローチャートである。以下、図８に示す処理をステップ番号に沿って説明する。
［ステップＳ３１］通信制御部１２１は、受信したアーカイブ４０の送信元アドレスを取得する。そして、通信制御部１２１は、取得した送信元アドレスをセキュリティ管理部１２６の送信元判断部１２６ａに渡す。
【００７１】
［ステップＳ３２］送信元判断部１２６ａは、アーカイブ４０の送信元がゲートウェイ１１０か否かを判断する。具体的には、送信元判断部１２６ａは、予め設定されているゲートウェイ１１０のＩＰアドレスと送信元アドレスとを比較し、同一か否かを判断する。アドレスが一致すれば、アーカイブ４０の送信元がゲートウェイ１１０であると判断する。アーカイブ４０の送信元がゲートウェイ１１０であれば、処理がステップＳ３３に進められる。アーカイブ４０の送信元がゲートウェイ１１０でなければ、処理がステップＳ３５に進められる。
【００７２】
［ステップＳ３３］ジョブ管理部１２２は、アーカイブ４０内のファイルを分離し、プログラム４１と付帯情報４２を取り出す。この際、アーカイブ４０が所定の圧縮形式で圧縮されている場合、ジョブ管理部１２２は、アーカイブ４０の圧縮を解凍後、ファイルを分離する。また、ジョブ管理部１２２は、プログラム４１のファイル名をセキュリティ管理部１２６の送信元判断部１２６ａに通知する。
【００７３】
［ステップＳ３４］送信元判断部１２６ａは、プログラム４１のファイル名を安全プログラムリスト１２６ｂに格納する。その後、処理がステップＳ３６に進められる。
［ステップＳ３５］ジョブ管理部１２２は、アーカイブ４０内のファイルを分離し、プログラム４１と付帯情報４２とを取り出す。
【００７４】
［ステップＳ３６］ジョブ管理部１２２は、アーカイブ４０から取り出したプログラム４１と付帯情報４２とをプログラム記憶部１２４に格納する。
［ステップＳ３７］ジョブ管理部１２２は、プログラム４１の起動要求をＯＳ１２３に対して出力する。
【００７５】
［ステップＳ３８］セキュリティ管理部１２６の安全性判断部１２６ｃは、起動要求で指定されたプログラム４１の安全性を判断する。具体的には、安全性判断部１２６ｃは安全プログラムリスト１２６ｂを参照し、プログラム４１のファイル名が格納されていれば、信頼できる（安全である）と判断する。また、安全性判断部１２６ｃは、安全プログラムリスト１２６ｂにプログラム４１のファイル名が格納されていなければ、信頼できない（安全が保障できない）と判断する。プログラム４１が安全であれば、処理がステップＳ４１に進められる。プログラム４１の安全が保障できなければ、処理がステップＳ３９に進められる。
【００７６】
［ステップＳ３９］セキュリティ管理部１２６のウィルスチェック部１２６ｄは、安全性が保障されない場合、プログラム４１のウィルスチェックを行う。
［ステップＳ４０］ウィルスチェック部１２６ｄは、ウィルスチェックの結果、セキュリティ上の問題が検出されたか否かを判断する。問題がなければ、処理がステップＳ４１に進められる。問題が検出された場合、ジョブ実行プロセス１２５が起動されることなく、処理が終了する。
【００７７】
［ステップＳ４１］ＯＳ１２３は、起動要求に応じて、ジョブ実行プロセス１２５を生成する。さらに、ＯＳ１２３によってプログラム４１がジョブ実行プロセス１２５に渡される。すると、ジョブ実行プロセス１２５が、プログラム４１に応じてジョブを実行する。
【００７８】
以上のようにして、信頼できるグリッド管理マネージャから投入されたジョブのプログラムはすべて安全であると信頼し、ウィルスチェックを省略することができる。その結果、ジョブ投入者が注意深く作成し、責任が取れるプログラムに関しては、ノードでのセキュリティチェックによる性能劣化を防止できる。
【００７９】
［第２の実施の形態］
次に第２の実施の形態について説明する。第２の実施の形態では、ゲートウェイに配置されたグリッド管理マネージャがジョブ配布時にコードをチェックする。そして、各ノードでは、起動時のコードチェックを省略する。
【００８０】
図９は、第２の実施の形態の処理を示す概念図である。図９には、グリッドシステム２００内のゲートウェイ２１０とノード２２０ａ，２２０ｂ，２２０ｃ，・・・とが示されている。グリッドシステム２００を構成する各ノードでは、クライアントアプリケーション９１ａ，９２ａ，９３ａが実行されている。その状態で、いずれかのノード（図９の例では、ノード２２０ａ，２２０ｂ，２２０ｃ）にジョブ９４ａ，９５ａ，９６ａを実行させるものとする。
【００８１】
まず、クライアント３１からジョブが投入される（ステップＳ５１）。ジョブの投入時には、クライアント３１からゲートウェイ２１０に、ジョブの実行要求と共に証明書５２付きのアーカイブ６０が送信される。アーカイブ６０には、プログラム６１と付帯情報６２とが含まれる。
【００８２】
ゲートウェイ２１０では、証明書５２付きのアーカイブ６０を受け取ると、証明書５２の認証および認可処理を行う（ステップＳ５２）。さらに、ゲートウェイ２１０は、アーカイブ６０に含まれるプログラム６１のウィルスチェック（コードチェック）を行う（ステップＳ５３）。証明書５１が正しく認証され、かつコードチェックで問題が検出されなければ、ゲートウェイ２１０はジョブを分割する（ステップＳ５４）。そして、ゲートウェイ２１０は、分割したジョブを複数のノード２２０ａ，２２０ｂ，２２０ｃに投入する（ステップＳ５５）。
【００８３】
ノード２２０ａ，２２０ｂ，２２０ｃに対するジョブの投入では、ジョブの処理供給と共に、アーカイブ６０が各ノード２２０ａ，２２０ｂ，２２０ｃに送信される。そして、ジョブが投入されたノード２２０ａ，２２０ｂ，２２０ｃにおいて、アーカイブ６０内のプログラム６１と付帯情報６２が取り出され、プログラム６１が実行される。この際、ジョブが投入されたノード２２０ａ，２２０ｂ，２２０ｃでは、信頼できるグリッド管理マネージャ（第２の実施の形態ではゲートウェイ２１０内の機能）から投入されたジョブであることを確認し、コードチェックを省略してプログラム６１を実行する（ステップＳ５６）。
【００８４】
図１０は、第２の実施の形態におけるゲートウェイとノードとの処理機能を示すブロック図である。なお、図１０では代表としてノード２２０ａの機能が示されているが、他のノードもノード２２０ａと同様の機能を有している。
【００８５】
ゲートウェイ２１０は、グリッドシステム２００で実行するジョブを管理するためのグリッド管理マネージャ２１０ａを有している。グリッド管理マネージャ２１０ａは、ジョブ投入受け付け部２１１、証明書認証部２１２、ジョブ振り分け部２１３、およびウィルスチェック部２１４で構成される。
【００８６】
ジョブ投入受け付け部２１１は、クライアント３１から証明書５２が添付されたアーカイブ６０を受け取ると、アーカイブ６０をウィルスチェック部２１４に渡し、証明書５１を証明書認証部２１２に渡す。そして、ジョブ投入受け付け部２１１は、証明書認証部２１２から正しく認証された旨の認証結果を受け取り、かつウィルスチェック部２１４から問題が検出されなかった旨のチェック結果を受け取ると、アーカイブ６０をジョブ振り分け部２１３に渡す。
【００８７】
証明書認証部２１２は、受け取った証明書５２に基づいて、アーカイブ６０の作成者が本人であることを認証する。認証処理は、例えば、図示していない認証局に対して認証を依頼することで実現される。証明書５２が正しく認証された場合、証明書認証部２１２は、認証処理の結果をジョブ投入受け付け部２１１に対して出力する。
【００８８】
ウィルスチェック部２１４は、受け取ったアーカイブ６０からプログラム６１を取り出し、コードチェックを行う。具体的には、ウィルスチェック部２１４は、ウィルスに感染したファイル内で出現するコードの配列を示す複数のコード情報を有しており、プログラム６１内に、ウィルスに相当するコード情報と同じ配列が出現するか否かを判断する。
【００８９】
ウィルスに相当するコード情報と同じ配列が見つからなければ、ウィルスチェック部２１４は、問題無い旨のチェック結果をジョブ投入受け付け部２１１に対して出力する。また、ウィルスに相当するコード情報と同じ配列が見つかった場合、ウィルスチェック部２１４は、ウィルスが検出された旨のチェック結果をジョブ投入受け付け部２１１に対して出力する。なお、ウィルスが検出された場合であっても、ウィルスチェック部２１４でそのウィルスを除去できる場合、プログラム６１内のウィルスを除去した上で、問題無い旨のチェック結果をジョブ投入受け付け部２１１に対して出力してもよい。
【００９０】
ジョブ振り分け部２１３は、投入されたジョブを複数のノードに実行させるために、ジョブを実行させるノードを決定する。ノードが決定すると、ジョブ振り分け部２１３は、ジョブを実行させるべきノードに対してジョブを投入する。
【００９１】
ノード２２０ａは、通信制御部２２１、ジョブ管理部２２２、ＯＳ２２３、プログラム記憶部２２４、ジョブ実行プロセス２２５、およびセキュリティ管理部２２６を有する。また、セキュリティ管理部２２６は、送信元判断部２２６ａ、安全プログラムリスト２２６ｂ、安全性判断部２２６ｃ、およびウィルスチェック部２２６ｄを有する。ノード２２０ａ内の各構成要素の機能は、図５に示した第１の実施の形態のノード１２０ａ内の同名の構成要素と同じである。そこで、ノード２２０ａ内の各構成要素の機能については説明を省略する。
【００９２】
以上のような構成によって、各ノードにおけるジョブ実行時のコードチェックを省略することができる。以下、ジョブ投入からジョブ実行までの処理手順を説明する。
図１１は、第２の実施の形態におけるジョブ実行手順を示すシーケンス図である。以下、図１１に示す処理をステップ番号に沿って説明する。
【００９３】
［ステップＳ７１］クライアント３１において、ユーザからジョブ投入指示を受け付ける。
［ステップＳ７２］クライアント３１は、証明書５２付きのアーカイブ６０をゲートウェイ２１０に対して送信する。
【００９４】
［ステップＳ７３］ゲートウェイ２１０のジョブ投入受け付け部２１１は、証明書５２付きのアーカイブ６０を受信する。すると、ジョブ投入受け付け部２１１は、証明書認証部２１２に対して証明書５２を渡す。
【００９５】
［ステップＳ７４］ゲートウェイ２１０の証明書認証部２１２は、証明書５２の認証処理を行う。そして、証明書認証部２１２は、認証結果をジョブ投入受け付け部２１１に渡す。
【００９６】
［ステップＳ７５］ゲートウェイ２１０のウィルスチェック部２１４は、アーカイブ６０内のプログラム６１を取り出し、ウィルスチェック（コードチェック）を行う。
［ステップＳ７６］証明書５２が正しく認証され、コードチェックにより問題が検出されなかった場合、ジョブ投入受け付け部２１１は、アーカイブ６０をジョブ振り分け部２１３に渡す。ジョブ振り分け部２１３は、ジョブを実行させる１つ以上のノードを決定し、そのノードに対してアーカイブ６０を送信する。この例では、ノード２２１ａに対してアーカイブ６０が送信されている。
【００９７】
［ステップＳ７７］ノード２２１ａは、アーカイブ６０を受信する。
［ステップＳ７８］ノード２２１ａは、ジョブ実行プロセス２２５を起動し、受信したアーカイブ６０に含まれるプログラム６１を実行する。なお、ノード２２１ａで実行される処理の詳細は、図８に示した第１の実施の形態の処理と同様である。
【００９８】
以上のようにして、グリッド管理マネージャ２１０ａでコードチェックを一旦行えば、各ノードでコードチェックを省略できる。その結果、各ノードで二重にコードチェックをする必要が無くなり、ノードでの処理の効率化が図れる。
【００９９】
［第３の実施の形態］
第３の実施の形態は、グリッド管理マネージャが、ジョブに対して「信頼できる。」「信頼できない。」の署名およびマーク（安全であることを示す情報）をつけ、これに応じてノードでのウィルスチェックの適用・非適用を制御するものである。また、信頼できる場合でも、信頼の度合いによって、マークを変更することで信頼度を定義する。この信頼度に応じて、ノードでのウィルスチェックの内容（実時間監視のみを行うのか、コードチェックと実時間監視とを行うのか）を変更する。
【０１００】
図１２は、第３の実施の形態の処理を示す概念図である。図１２には、グリッドシステム３００内のゲートウェイ３１０とノード３２０ａ，３２０ｂ，３２０ｃ，・・・とが示されている。グリッドシステム３００を構成する各ノードでは、クライアントアプリケーション９１ｂ，９２ｂ，９３ｂが実行されている。その状態で、いずれかのノード（図９の例では、ノード３２０ａ，３２０ｂ，３２０ｃ）にジョブ９４ｂ，９５ｂ，９６ｂを実行させるものとする。
【０１０１】
まず、クライアント３１からジョブが投入される（ステップＳ８１）。ジョブの投入時には、クライアント３１からゲートウェイ３１０に、ジョブの実行要求と共に証明書５３付きのアーカイブ７０が送信される。アーカイブ７０には、プログラム７１と付帯情報７２とが含まれる。
【０１０２】
ゲートウェイ３１０では、証明書５３付きのアーカイブ７０を受け取ると、証明書５３の認証および認可処理を行う（ステップＳ８２）。さらに、ゲートウェイ３１０は、クライアント３１を識別し、クライアント３１に応じた安全性を決定する（ステップＳ８３）。次に、ゲートウェイ３１０はジョブを分割する（ステップＳ８４）。そして、ゲートウェイ３１０は、分割したジョブを複数のノード３２０ａ，３２０ｂ，３２０ｃに投入する（ステップＳ８５）。この際、ジョブの実行要求と共に、安全性を示す安全性情報５４を負荷したアーカイブ７０が各ノード３２０ａ，３２０ｂ，３２０ｃに送信される。
【０１０３】
ノード３２０ａ，３２０ｂ，３２０ｃに対するジョブの投入では、ジョブの処理供給と共に、アーカイブ７０が各ノード３２０ａ，３２０ｂ，３２０ｃに送信される。そして、ジョブが投入されたノード３２０ａ，３２０ｂ，３２０ｃにおいて、アーカイブ７０内のプログラム７１と付帯情報７２が取り出され、プログラム７１が実行される。この際、ジョブが投入されたノード３２０ａ，３２０ｂ，３２０ｃでは、安全性情報５４に応じたセキュリティ管理が行われる（ステップＳ８６）。
【０１０４】
図１３は、第３の実施の形態におけるゲートウェイとノードとの処理機能を示すブロック図である。なお、図１３では代表としてノード３２０ａの機能が示されているが、他のノードもノード３２０ａと同様の機能を有している。
【０１０５】
ゲートウェイ３１０は、グリッドシステム３００で実行するジョブを管理するためのグリッド管理マネージャ３１０ａを有している。グリッド管理マネージャ３１０ａは、ジョブ投入受け付け部３１１、証明書認証部３１２、ジョブ振り分け部３１３、クライアント安全管理テーブル３１４、および安全性情報設定部３１５で構成される。
【０１０６】
ジョブ投入受け付け部３１１は、クライアント３１から証明書５３が添付されたアーカイブ７０を受け取ると、アーカイブ７０の送信元を示す識別情報（例えばＩＰアドレス）を安全性情報設定部３１５に渡し、証明書５３を証明書認証部３１２に渡す。そして、ジョブ投入受け付け部３１１は、証明書認証部３１２から正しく認証された旨の認証結果を受け取り、かつ安全性情報設定部３１５から安全性情報を受け取ると、安全性情報５４付きのアーカイブ７０をジョブ振り分け部３１３に渡す。
【０１０７】
証明書認証部３１２は、受け取った証明書５３に基づいて、アーカイブ７０の作成者が本人であることを認証する。認証処理は、例えば、図示していない認証局に対して認証を依頼することで実現される。証明書５３が正しく認証された場合、証明書認証部３１２は、認証処理の結果をジョブ投入受け付け部３１１に対して出力する。
【０１０８】
クライアント安全管理テーブル３１４は、クライアント（図１２に示すクライアント３１および図示されていない他の多くのクライアント）の識別情報と、そのクライアントの信頼度とが関連づけて登録されている。クライアントの識別情報としては、例えばＩＰアドレスを利用するとことができる。
【０１０９】
安全性情報設定部３１５は、アーカイブ７０の送信元を示す識別情報をジョブ投入受け付け部３１１から受け取ると、クライアント安全管理テーブル３１４を参照し、識別情報に対応する信頼度を判断する。そして、安全性情報設定部３１５は、信頼度と署名とを設定した安全性情報５４をジョブ投入受け付け部３１１に渡す。
【０１１０】
ジョブ振り分け部３１３は、投入されたジョブを複数のノードに実行させるために、ジョブを実行させるノートを決定する。ノードが決定すると、ジョブ振り分け部３１３は、ジョブを実行させるべきノードに対してジョブを投入する。具体的には、ジョブ振り分け部３１３は、ジョブを実行させるべきノードそれぞれに、安全性情報５４付きのアーカイブ７０を送信する。
【０１１１】
ノード３２０ａは、通信制御部３２１、ジョブ管理部３２２、ＯＳ３２３、プログラム記憶部３２４、ジョブ実行プロセス３２５、およびセキュリティ管理部３２６を有する。ノード３２０ａ内の各構成要素の機能は、通信制御部３２１とセキュリティ管理部３２６とを除き、図５に示した第１の実施の形態のノード１２０ａ内の同名の構成要素と同じである。そこで、ノード３２０ａ内の通信制御部３２１とセキュリティ管理部３２６以外の各構成要素の機能については説明を省略する。
【０１１２】
通信制御部３２１は、安全性情報５４が付加されたアーカイブ７０を受信すると、アーカイブ７０をジョブ管理部３２２に渡し、安全性情報５４をセキュリティ管理部３２６の送信元判断部３２６ａに渡す。
【０１１３】
セキュリティ管理部３２６は、投入されたジョブの実行に際し、安全性情報に応じたセキュリティ監視を行う。セキュリティ監視として、プログラム起動時のコードチェックと、プログラム実行時の実時間監視とが行われる。
【０１１４】
実時間監視とは、プログラムを実行するプロセスがＯＳ３２３に対して何らかの要求を出力した際に、その要求を奪い取り、不正な要求でないことを確認する処理である。不正な要求でない場合にのみ、その要求はＯＳ３２３に渡される。ここで、不正な処理とは、例えば、ＯＳ３２３の重要なファイルの内容を操作する処理や、外部からのアクセスを容易にするような環境設定を行う処理などである。
【０１１５】
セキュリティ管理部３２６は、このようなセキュリティ監視処理を行うために、送信元判断部３２６ａ、プログラム安全管理テーブル３２６ｂ、安全性判断部３２６ｃ、およびウィルスチェック部３２６ｄを有する。
【０１１６】
送信元判断部３２６ａは、通信制御部３２１から安全性情報５４を取得する。そして、送信元判断部３２６ａは、安全性情報５４内の署名に基づいて、アーカイブ７０の送信元がゲートウェイ３１０であることを確認する。
【０１１７】
また、送信元判断部３２６ａは、アーカイブ７０に含まれていたプログラム７１のファイル名をジョブ管理部３２２から受け取る。そして、送信元判断部３２６ａは、取得したファイル名と安全性情報５４に含まれる信頼度との組を、プログラム安全管理テーブル３２６ｂに格納する。
【０１１８】
プログラム安全管理テーブル３２６ｂには、安全性情報５４が付加されたアーカイブ７０から抽出されたプログラムのプログラム名と、該当するプログラムの信頼度との組が登録される。
【０１１９】
安全性判断部３２６ｃは、ジョブ管理部３２２からＯＳ３２３に対して、プログラム４１のファイル名を指定した起動要求が出されると、その起動要求で指定されたファイルの安全性を確認する。具体的には、安全性判断部３２６ｃは、起動要求で指定されたファイル名が、プログラム安全管理テーブル３２６ｂに登録されているか否かを判断する。該当するファイル名が、プログラム安全管理テーブル３２６ｂに登録されていれば、そのファイル名に対応する信頼度をプログラム安全管理テーブル３２６ｂから抽出する。そして、安全性判断部３２６ｃは、信頼度に基づいて、コードチェックの要否、および実時間監視の要否をウィルスチェック部３２６ｄに伝える。
【０１２０】
ウィルスチェック部３２６ｄは、プログラムのウィルスチェックを行う。ウィルスチェック部３２６ｄは、ジョブ管理部３２２からの起動要求に応じて、ＯＳ３２３によってプログラム７１が読み出されると、そのプログラム７１がジョブ実行プロセス３２５に渡される前にコードチェックの要否の通知を安全性判断部３２６ｃから受け取る。
【０１２１】
コードチェックが不要であれば、ウィルスチェック部３２６ｄは、起動要求に応じてファイルシステム３２３ａで読み出されたプログラム７１に対して、ウィルスチェックを行わずにジョブ実行プロセス３２５に渡す。一方、ウィルスチェックが必要であれば、ウィルスチェック部３２６ｄは、起動要求に応じてファイルシステム３２３ａで読み出されたプログラム７１に対してウィルスチェックを実行する。そして、ウィルスチェック部３２６ｄは、ウィルスチェックの結果、問題が検出されなければ、プログラム７１をジョブ実行プロセス３２５に渡す。
【０１２２】
また、ウィルスチェック部３２６ｄは、ジョブ実行プロセス３２５に関して実時間監視が必要か否かを、実時間監視プロセスリスト３２６ｅで管理する。実時間監視プロセスリスト３２６ｅには、ジョブ管理部３２２からの起動要求に応じて起動されたプロセスのプロセスＩＤに対応付けて、実時間監視の要否を示すフラグ（実時間監視フラグ）が設定されている。ウィルスチェック部３２６ｄは、実時間監視プロセスリスト３２６ｅに基づいて、ジョブ実行プロセス３２５が実時間監視の対象か否かを判断する。実時間監視の対象であれば、ウィルスチェック部３２６ｄは、ジョブ実行プロセス３２５からＯＳ３２３に出される要求を奪い取り、不正な要求でないことを確認する。ウィルスチェック部３２６ｄは、要求が不正なものでなければ、その要求をＯＳ３２３に渡す。また、ウィルスチェック部３２６ｄは、要求が不正なものであれば、その要求を破棄する。
【０１２３】
図１４は、クライアント安全管理テーブルのデータ構造例を示す図である。クライアント安全管理テーブル３１４には、識別情報と信頼度との欄が設けられている。識別情報の欄には、クライアントの識別情報が設定される。例えば、クライアントのＩＰアドレスが設定される。また、信頼度の欄には、対応するクライアントの信頼性を示す数値が設定される。
【０１２４】
図１４の例では、信頼度が３段階のレベルで示されている。最も信頼性の高いクライアントの信頼度を「Ｌｖ．３」、次に信頼性の高いクライアントの信頼度を「Ｌｖ．２」、最も信頼性の低いクライアントの信頼度を「Ｌｖ．１」である。
【０１２５】
アーカイブ７０の信頼度が「Ｌｖ．３」の場合、そのアーカイブ７０に基づくジョブを実行する際に、コードチェックおよび実時間監視の両方を省略できる。アーカイブ７０の信頼度が「Ｌｖ．２」の場合、そのアーカイブ７０に基づくジョブを実行する際に、実時間監視を省略できる。アーカイブ７０の信頼度が「Ｌｖ．１」の場合、そのアーカイブ７０に基づくジョブを実行する際に、ウィルスチェックの省略はできない。
【０１２６】
図１５は、プログラム安全管理テーブルのデータ構造例を示す図である。プログラム安全管理テーブル３２６ｂには、ファイル名と信頼度との欄が設けられている。ファイル名の欄には、ジョブ投入によってアーカイブ７０から取り出されたプログラム７１のファイル名が設定される。信頼度の欄には、アーカイブ７０に付加された安全性情報で示された信頼度が設定される。
【０１２７】
図１６は、実時間監視プロセスリストのデータ構造例を示す図である。実時間監視プロセスリスト３２６ｅには、プロセスＩＤと実時間監視フラグとの欄が設けられている。プロセスＩＤの欄には、ジョブ管理部３２２からの起動要求に応じてＯＳによって起動されたジョブ実行プロセスのプロセスＩＤが設定される。
【０１２８】
以上のような構成によって、各ノードにおけるジョブ実行時のウィルスチェックまたは実時間監視を省略することができる。以下、ジョブ投入からジョブ実行までの処理手順を説明する。
【０１２９】
図１７は、第３の実施の形態におけるジョブ実行手順を示すシーケンス図である。以下、図１７に示す処理をステップ番号に沿って説明する。
［ステップＳ９１］クライアント３１において、ユーザからジョブ投入指示を受け付ける。
【０１３０】
［ステップＳ９２］クライアント３１は、証明書５３付きのアーカイブ７０をゲートウェイ３１０に対して送信する。
［ステップＳ９３］ゲートウェイ３１０のジョブ投入受け付け部３１１は、証明書５３付きのアーカイブ７０を受信する。すると、ジョブ投入受け付け部３１１は、証明書認証部３１２に対して証明書５３を渡す。また、ジョブ投入受け付け部３１１は、クライアント３１の識別情報を安全性情報設定部３１５に渡す。
【０１３１】
［ステップＳ９４］ゲートウェイ３１０の証明書認証部３１２は、証明書５３の認証処理を行う。そして、証明書認証部３１２は、認証結果をジョブ投入受け付け部３１１に渡す。
【０１３２】
［ステップＳ９５］安全性情報設定部３１５は、クライアント安全管理テーブル３１４を参照し、アーカイブ７０の送信元であるクライアント３１の識別情報に基づいて、信頼度を決定する。決定された信頼度は、ジョブ投入受け付け部３１１に渡される。
【０１３３】
［ステップＳ９６］証明書５３が正しく認証された場合、ジョブ投入受け付け部３１１は、信頼度と署名とを含む安全性情報５４を付加したアーカイブ７０をジョブ振り分け部３１３に渡す。ジョブ振り分け部３１３は、ジョブを実行させる１つ以上のノードを決定し、そのノードに対してアーカイブ７０を送信する。この例では、ノード３２０ａに対してアーカイブ７０が送信されている。
【０１３４】
［ステップＳ９７］ノード３２０ａは、アーカイブ７０を受信する。
［ステップＳ９８］ノード３２０ａは、ジョブ実行プロセス３２５を起動し、受信したアーカイブ７０に含まれるプログラム７１を実行する。なお、ノード３２０ａで実行される処理は、図１８を参照して詳細に説明する。
【０１３５】
図１８は、ノードにおけるジョブ実行処理手順を示すフローチャートである。以下、図１８に示す処理をステップ番号に沿って説明する。
［ステップＳ１０１］通信制御部３２１は、受信したアーカイブ７０に付加された安全性情報５４を取得し、セキュリティ管理部３２６の送信元判断部３２６ａに渡す。また、通信制御部３２１は、アーカイブ７０をジョブ管理部３２２に渡す。
【０１３６】
［ステップＳ１０２］送信元判断部３２６ａは、アーカイブ７０の送信元がゲートウェイ３１０か否かを判断する。具体的には、送信元判断部３２６ａは、安全性情報５４に含まれる署名が、予め設定されているゲートウェイ３１０の署名と一致するか否かを判断する。署名が一致すれば、アーカイブ７０の送信元がゲートウェイ３１０であると判断する。アーカイブ７０の送信元がゲートウェイ３１０であれば、処理がステップＳ１０３に進められる。アーカイブ７０の送信元がゲートウェイ３１０でなければ、処理がステップＳ１０５に進められる。
【０１３７】
［ステップＳ１０３］ジョブ管理部３２２は、アーカイブ７０内のファイルを分離し、プログラム７１と付帯情報７２を取り出す。また、ジョブ管理部３２２は、プログラム７１のファイル名をセキュリティ管理部３２６の送信元判断部３２６ａに通知する。
【０１３８】
［ステップＳ１０４］送信元判断部３２６ａは、プログラム安全管理テーブル３２６ｂを更新する。具体的には、送信元判断部３２６ａは、通信制御部３２１から受け取った安全性情報５４に基づいて、プログラム７１の信頼度を取得する。そして、送信元判断部３２６ａは、プログラム７１のファイル名と信頼度との組を、プログラム安全管理テーブル３２６ｂに登録する。その後、処理がステップＳ１０６に進められる。
【０１３９】
［ステップＳ１０５］ジョブ管理部３２２は、アーカイブ７０内のファイルを分離し、プログラム７１と付帯情報７２を取り出す。
［ステップＳ１０６］ジョブ管理部３２２は、アーカイブ７０から取り出したプログラム７１と付帯情報７２とをプログラム記憶部３２４に格納する。
【０１４０】
［ステップＳ１０７］ジョブ管理部３２２は、プログラム７１の起動要求をＯＳ３２３に対して出力する。
［ステップＳ１０８］セキュリティ管理部３２６の安全性判断部３２６ｃは、起動要求で指定されたプログラム７１の安全性を判断する。具体的には、安全性判断部３２６ｃはプログラム安全管理テーブル３２６ｂを参照し、プログラム７１のファイル名に基づいて、そのプログラム７１の信頼度を判断する。そして、安全性判断部３２６ｃは、信頼度が「Ｌｖ．２」以上であれば、処理がステップＳ１１１に進める。また、安全性判断部３２６ｃは、信頼度が「Ｌｖ．１」であれば、処理がステップＳ１０９に進められる。
【０１４１】
［ステップＳ１０９］セキュリティ管理部３２６のウィルスチェック部３２６ｄは、安全性判断部３２６ｃにおいて信頼性が「Ｌｖ．１」と判断された場合、プログラム７１のコードチェックを行う。
【０１４２】
［ステップＳ１１０］ウィルスチェック部３２６ｄは、コードチェックの結果、セキュリティ上の問題が検出されたか否かを判断する。問題がなければ、処理がステップＳ１１１に進められる。問題が検出された場合、ジョブ実行プロセス３２５が起動されることなく、処理が終了する。
【０１４３】
［ステップＳ１１１］安全性判断部３２６ｃは、起動要求で指定されたプログラム７１の信頼度が「Ｌｖ．３」か否かを判断する。信頼度が「Ｌｖ．３」であれば、処理がステップＳ１１３に進められる。信頼度が「Ｌｖ．３」でなければ、処理がステップＳ１１２に進められる。
【０１４４】
［ステップＳ１１２］ＯＳ３２３は、起動要求に応じて、ジョブ実行プロセス３２５を生成する。さらに、ＯＳ３２３によってプログラム７１がジョブ実行プロセス３２５に渡される。すると、ジョブ実行プロセス３２５が、プログラム７１に応じてジョブを実行する。
【０１４５】
このとき、ウィルスチェック部３２６ｄは、ＯＳ３２３によって起動されたジョブ実行プロセス３２５のプロセスＩＤを、実時間監視プロセスリスト３２６ｅに実時間監視フラグ「１」として設定する。その後、ジョブ実行プロセス３２５がプログラム７１に従った処理を実行する。ウィルスチェック部３２６ｄは、ジョブ実行プロセス３２５の動作を監視し、ＯＳ３２３に対する要求が出されると、その要求が不正な要求で無いことを確認する。不正な要求で無い場合のみ、その要求がＯＳ３２３に渡される。
【０１４６】
［ステップＳ１１３］ＯＳ３２３は、起動要求に応じて、ジョブ実行プロセス３２５を生成する。さらに、ＯＳ３２３によってプログラム７１がジョブ実行プロセス３２５に渡される。すると、ジョブ実行プロセス３２５が、プログラム７１に応じてジョブを実行する。
【０１４７】
このとき、ウィルスチェック部３２６ｄは、ＯＳ３２３によって起動されたジョブ実行プロセス３２５のプロセスＩＤを、実時間監視プロセスリスト３２６ｅに実時間監視フラグ「０」として設定する。その後、ジョブ実行プロセス３２５は、ウィルスチェック部３２６ｄの実時間監視を受けることなく、プログラム７１に従った処理を実行する。
【０１４８】
このようにして、信頼できるクライアント３１から投入されたジョブであれば、各ノードにおいて、コードチェックや実時間監視を省略することができる。また、クライアント３１の信頼度に応じて、コードチェックのみを省略することも可能となる。
【０１４９】
なお、上記の例では、安全性情報として３段階の信頼度を設定したが、安全であることを示すフラグ（安全マーク）を、安全性情報としてアーカイブ７０に付加することもできる。その場合、各ノードは、安全マークが付いている場合には、コードチェックや実時間監視を省略する。また、各ノードは、安全マークが付いていない場合には、コードチェックや実時間監視を行う。
【０１５０】
また、第３の実施の形態では、ゲートウェイ３１０においてウィルスチェック（コードチェック）を行っていないが、第２の実施の形態と同様にゲートウェイ３１０でウィルスチェックを行うこともできる。その際、ウィルスチェックを行ったプログラムの送信元の信頼度が「Ｌｖ．１」であれば、安全性情報５４に設定する信頼度を「Ｌｖ．２」に変更してもよい。これにより、ゲートウェイ３１０でコードチェックを行ったプログラムに関しては、各ノードでのコードチェックを省略できる。
【０１５１】
また、実時間監視処理については第３の実施の形態でのみ説明しているが、第１および第２の実施の形態においても、各ノードで実時処理を行う場合がある。その場合、信頼できる装置から送信されたプログラムを実行する際には、第３の実施の形態と同様に、実時間監視処理を省略することができる。
【０１５２】
なお、上記の各実施の形態で示した処理機能は、コンピュータによって実現することができる。その場合、ゲートウェイや各ノードが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。
【０１５３】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１５４】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、受け取ったプログラムに従った処理を実行することもできる。
【０１５５】
なお、本発明は、上述の実施の形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変更を加えることができる。
以上説明した実施の形態の主な技術的特徴は、以下の付記の通りである。
【０１５６】
（付記１）  ネットワークを介して投入されたジョブのセキュリティ管理を行うためのセキュリティ管理プログラムにおいて、
コンピュータに、
信頼できる装置の識別情報を示す信頼装置情報が予め設定されており、プログラムを含むジョブの実行要求が前記ネットワーク経由で入力されると、前記ジョブの送信元の識別情報を前記信頼装置情報と比較し、前記プログラムが信頼できる装置から送信されたか否かを判断する送信元判断手段、
入力された前記プログラムを記憶装置に格納し、前記プログラムを指定した起動要求を出力するジョブ管理手段、
前記ジョブ管理手段で出力された前記起動要求で指定された前記プログラムが、前記送信元判断手段において信頼できる装置から送信されたと判断された場合、前記起動要求をオペレーティングシステムに実行させ、前記起動要求で指定された前記プログラムが、前記送信元判断手段において信頼できる装置以外から送信されたと判断された場合、ウィルスチェック要求を出力する安全性判断手段、
前記安全性判断手段から前記ウィルスチェック要求が出力されると、前記起動要求で指定された前記プログラムを前記記憶装置から読み出し、既知のウィルスに含まれるコード配列が前記プログラムに含まれていないことを確認するコードチェック処理を実行し、前記コード配列が含まれていない場合に前記起動要求を前記オペレーティングシステムに実行させるウィルスチェック手段、
として機能させることを特徴とするセキュリティ管理プログラム。
【０１５７】
（付記２）  前記ウィルスチェック手段は、前記安全性判断手段から前記ウィルスチェック要求が出力された場合、前記プログラムを実行するプロセスを監視し、前記プロセスから前記オペレーティングシステムに対して要求が出力されると、出力された前記要求が不正な処理要求でないことを確認する実時間監視処理を実行することを特徴とする付記１記載のセキュリティ管理プログラム。
【０１５８】
（付記３）  前記送信元判断手段は、信頼できる装置から送信されたと判断した前記プログラムのプログラム名を安全プログラムリストに設定し、
前記安全性判断手段は、前記安全プログラムリストを参照することで、前記ジョブ管理手段で出力された前記起動要求で指定された前記プログラムが、前記送信元判断手段において信頼できる装置から送信されたと判断されたか否かを認識することを特徴とする付記１記載のセキュリティ管理プログラム。
【０１５９】
（付記４）  前記送信元判断手段は、前記プログラムの安全性を示す安全性情報が前記プログラムに付加されていた場合、前記安全性情報を取得し、
前記安全性判断手段は、前記ジョブ管理手段で出力された前記起動要求で指定された前記プログラムが、前記送信元判断手段において信頼できる装置から送信されたと判断された場合において、前記送信元判断手段が取得した前記安全性情報において前記プログラムが安全であることが示されていれば、前記起動要求をオペレーティングシステムに実行させ、前記送信元判断手段が取得した前記安全性情報において前記プログラムが安全であることが示されていなければ、前記ウィルスチェック要求を出力することを特徴とする付記１記載のセキュリティ管理プログラム。
【０１６０】
（付記５）  前記安全性情報には、前記プログラムの安全性の高さを３段階のレベルで示す信頼度が設定されており、
前記送信元判断手段は、前記プログラムのファイル名と前記信頼度とを対応付けてプログラム安全管理テーブルに設定し、
前記安全性判断手段は、前記ジョブ管理手段で出力された前記起動要求で指定された前記プログラムの前記信頼度が最上位のレベルの場合、前記起動要求をオペレーティングシステムに実行させ、前記信頼度が上位から２番目のレベルの場合、コードチェックを指定したウィルスチェック要求を出力し、前記信頼度が上位から３番目のレベルの場合、前記コードチェックと実時間監視とを指定したウィルスチェック要求を出力し、
前記ウィルスチェック手段は、前記安全性判断手段から出力された前記ウィルスチェック要求において前記コードチェックが指定されていた場合、前記コードチェック処理を実行し、前記コード配列が含まれていない場合に前記起動要求を前記オペレーティングシステムに実行させ、前記ウィルスチェック要求において前記実時間監視が指定されていた場合、前記プログラムを実行するプロセスを監視し、前記プロセスから前記オペレーティングシステムに対して要求が出力されると、出力された前記要求が不正な処理要求でないことを確認する実時間監視処理を実行することを特徴とする付記１記載のセキュリティ管理プログラム。
【０１６１】
（付記６）  クライアントからの要求に応じてジョブを複数のコンピュータに分散処理させるための振り分けを行うジョブ投入管理プログラムにおいて、
コンピュータを、
証明書とプログラムとを含むジョブ投入要求が入力されると、前記証明書の正当性を認証する証明書認証手段、
前記証明書認証手段で前記証明書が正しく認証された場合、前記プログラムが安全であることを示す安全性情報を付加する安全性情報設定手段、
ジョブの実行を依頼するノードを選択し、選択した前記ノードに対して、前記安全性情報設定手段によって前記安全性情報が付加された前記プログラムを含むジョブの実行要求を送信するジョブ振り分け手段、
として機能させることを特徴とするジョブ投入管理プログラム。
【０１６２】
（付記７）  前記安全性情報設定手段は、前記クライアントと、前記プログラムから入力される前記プログラムの安全性の高さを３段階のレベルで示す信頼度とが対応付けて登録されたクライアント安全管理テーブルを参照し、前記プログラムを含む前記ジョブ投入要求を送信した前記クライアントに対応する信頼度を前記安全性情報に設定することを特徴とする付記６記載のジョブ投入管理プログラム。
【０１６３】
（付記８）  ネットワークを介して投入されたジョブのセキュリティ管理を行うためのセキュリティ管理方法において、
ジョブ管理装置の証明書認証手段が、証明書とプログラムとを含むジョブ投入要求が入力されると、前記証明書の正当性を認証し、
前記ジョブ管理装置のジョブ振り分け手段が、前記証明書認証手段で前記証明書が正しく認証された場合、ジョブの実行を依頼するジョブ実行装置を選択し、選択した前記ジョブ実行装置に対して、前記プログラムを含むジョブの実行要求を送信し、
前記ジョブ実行装置の送信元判断手段が、信頼できる装置の識別情報を示す信頼装置情報が予め設定されており、プログラムを含むジョブの実行要求が前記ネットワーク経由で入力されると、前記ジョブの送信元の識別情報を前記信頼装置情報と比較し、前記プログラムが信頼できる装置から送信されたか否かを判断し、
前記ジョブ実行装置のジョブ管理手段が、入力された前記プログラムを記憶装置に格納し、前記プログラムを指定した起動要求を出力し、
前記ジョブ実行装置の安全性判断手段が、前記ジョブ管理手段で出力された前記起動要求で指定された前記プログラムが、前記送信元判断手段において信頼できる装置から送信されたと判断された場合、前記起動要求をオペレーティングシステムに実行させ、前記起動要求で指定された前記プログラムが、前記送信元判断手段において信頼できる装置以外から送信されたと判断された場合、ウィルスチェック要求を出力し、
前記ジョブ実行装置のウィルスチェック手段が、前記安全性判断手段から前記ウィルスチェック要求が出力されると、前記起動要求で指定された前記プログラムを前記記憶装置から読み出し、既知のウィルスに含まれるコード配列が前記プログラムに含まれていないことを確認するコードチェックを実行し、前記コード配列が含まれていない場合に前記起動要求をオペレーティングシステムに実行させる、
ことを特徴とするセキュリティ管理方法。
【０１６４】
（付記９）  前記ウィルスチェック手段は、前記安全性判断手段から前記ウィルスチェック要求が出力された場合、前記プログラムを実行するプロセスを監視し、前記プロセスから前記オペレーティングシステムに対して要求が出力されると、出力された前記要求が不正な処理要求でないことを確認する実時間監視処理を実行することを特徴とする付記８記載のセキュリティ管理方法。
【０１６５】
（付記１０）  前記ジョブ管理装置の前記証明書認証手段で前記証明書が正しく認証された場合には、前記ジョブ管理装置の安全性情報設定手段が、前記プログラムが安全であることを示す安全性情報を付加し、
前記ジョブ実行装置の前記送信元判断手段は、前記プログラムの安全性を示す安全性情報が前記プログラムに付加されていた場合、前記安全性情報を取得し、
前記ジョブ実行装置の前記安全性判断手段は、前記ジョブ管理手段で出力された前記起動要求で指定された前記プログラムが、前記送信元判断手段において信頼できる装置から送信されたと判断された場合において、前記送信元判断手段が取得した前記安全性情報において前記プログラムが安全であることが示されていれば、前記起動要求をオペレーティングシステムに実行させ、前記送信元判断手段が取得した前記安全性情報において前記プログラムが安全であることが示されていなければ、前記ウィルスチェック要求を出力することを特徴とする付記８記載のセキュリティ管理方法。
【０１６６】
（付記１１）  前記ジョブ管理装置の前記安全性情報設定手段は、前記クライアントと、前記プログラムから入力される前記プログラムの安全性の高さを３段階のレベルで示す信頼度とが対応付けて登録されたクライアント安全管理テーブルを参照し、前記プログラムを含む前記ジョブ投入要求を送信した前記クライアントに対応する信頼度を前記安全性情報に設定し、
前記ジョブ実行装置の前記送信元判断手段は、前記プログラムのファイル名と前記信頼度とを対応付けてプログラム安全管理テーブルに設定し、
前記ジョブ実行装置の前記安全性判断手段は、前記ジョブ管理手段で出力された前記起動要求で指定された前記プログラムの前記信頼度が最上位のレベルの場合、前記起動要求をオペレーティングシステムに実行させ、前記信頼度が上位から２番目のレベルの場合、コードチェックを指定したウィルスチェック要求を出力し、前記信頼度が上位から３番目のレベルの場合、前記コードチェックと実時間監視とを指定したウィルスチェック要求を出力し、
前記ジョブ実行装置の前記ウィルスチェック手段は、前記安全性判断手段から出力された前記ウィルスチェック要求において前記コードチェックが指定されていた場合、前記コードチェック処理を実行し、前記コード配列が含まれていない場合に前記起動要求を前記オペレーティングシステムに実行させ、前記ウィルスチェック要求において前記実時間監視が指定されていた場合、前記プログラムを実行するプロセスを監視し、前記プロセスから前記オペレーティングシステムに対して要求が出力されると、出力された前記要求が不正な処理要求でないことを確認する実時間監視処理を実行することを特徴とする付記１０記載のセキュリティ管理方法。
【０１６７】
（付記１２）  証明書とプログラムとを含むジョブ投入要求が入力された際には、前記ジョブ管理装置のウィスル事前チェック手段が、既知のウィルスに含まれるコード配列が前記プログラムに含まれていないことを確認するコードチェック処理を実行し、
前記ジョブ管理装置の前記ジョブ振り分け手段は、前記証明書認証手段で前記証明書が正しく認証されると共に、前記ウィスル事前チェック手段における前記コードチェック処理において問題が検出されたかった場合に、ジョブの実行を依頼するジョブ実行装置を選択し、選択した前記ジョブ実行装置に対して、前記プログラムを含むジョブの実行要求を送信することを特徴とする付記８記載のセキュリティ管理方法。
【図面の簡単な説明】
【０１６８】
【図１】本実施の形態の概略を示す図である。
【図２】本実施の形態のシステム構成例を示す図である。
【図３】本実施の形態に用いるゲートウェイのハードウェア構成例を示す図である。
【図４】第１の実施の形態における処理を示す概念図である。
【図５】第１の実施の形態におけるゲートウェイとノードとの処理機能を示すブロック図である。
【図６】安全プログラムリストのデータ構造例を示す図である。
【図７】第１の実施の形態におけるジョブ実行手順を示すシーケンス図である。
【図８】ノードにおけるジョブ実行処理手順を示すフローチャートである。
【図９】第２の実施の形態の処理を示す概念図である。
【図１０】第２の実施の形態におけるゲートウェイとノードとの処理機能を示すブロック図である。
【図１１】第２の実施の形態におけるジョブ実行手順を示すシーケンス図である。
【図１２】第３の実施の形態の処理を示す概念図である。
【図１３】第３の実施の形態におけるゲートウェイとノードとの処理機能を示すブロック図である。
【図１４】クライアント安全管理テーブルのデータ構造例を示す図である。
【図１５】プログラム安全管理テーブルのデータ構造例を示す図である。
【図１６】実時間監視プロセスリストのデータ構造例を示す図である。
【図１７】第３の実施の形態におけるジョブ実行手順を示すシーケンス図である。
【図１８】ノードにおけるジョブ実行処理手順を示すフローチャートである。
【符号の説明】
【０１６９】
１  ジョブ管理装置
１ａ  証明書認証手段
１ｂ  ジョブ振り分け手段
２  ジョブ実行装置
２ａ  送信元判断手段
２ａａ  信頼装置情報
２ｂ  ジョブ管理手段
２ｃ  安全性判断手段
２ｄ  ウィルスチェック手段
２ｅ，２ｆ  ジョブ実行プロセス
３，４  クライアント
５，７  プログラム
６  証明書
【図１】
0004745858.tif 000002
【図２】
0004745858.tif 000003
【図３】
0004745858.tif 000004
【図４】
0004745858.tif 000005
【図５】
0004745858.tif 000006
【図６】
0004745858.tif 000007
【図７】
0004745858.tif 000008
【図８】
0004745858.tif 000009
【図９】
0004745858.tif 000010
【図１０】
0004745858.tif 000011
【図１１】
0004745858.tif 000012
【図１２】
0004745858.tif 000013
【図１３】
0004745858.tif 000014
【図１４】
0004745858.tif 000015
【図１５】
0004745858.tif 000016
【図１６】
0004745858.tif 000017
【図１７】
0004745858.tif 000018
【図１８】
0004745858.tif 000019