(57)【要約】【課題】ＩＴシステムにおいて構成に基づくワークフローを提供するためのアプローチを提供する。【解決手段】実行のために起動されたコマンドは、コマンドのリストに含まれるものとして識別される。識別されたコマンドに関連するパラメータのセットおよび事前構成条件が決定される。構成に基づくワークフローに含まれかつコマンドを検証する検証活動が決定される。外部システムとのそれぞれの対話によって、検証活動が指定される。パラメータのセットを用いた外部システムとの対話を完了させることによって、構成に基づくワークフローに含まれる検証活動が行われる。検証活動が正常に完了したかどうかが判定される。検証活動が正常に完了したとき、コマンドの実行は継続される。検証活動の少なくとも１つが正常に完了しなかったとき、コマンドの実行は継続されない。【選択図】図２
2020529661.tif 000002
【特許請求の範囲】
【請求項１】
ＩＴシステムにおいて構成に基づくワークフローを提供する方法であって、
コンピュータが、実行のために起動されるコマンドを、コマンドのリストに含まれているものとして識別するステップと、
前記コンピュータが、前記コマンドを識別するステップに応答して、識別された前記コマンドに関連するパラメータのセットおよび事前構成条件を決定するステップと、
前記コンピュータが、前記パラメータのセットおよび前記事前構成条件に基づいて、前記コマンドを検証する１つ以上の検証活動であって、前記構成に基づくワークフローに含まれると共に、１つ以上の外部システムとのそれぞれ１つ以上の対話によって指定される１つ以上の検証活動を決定するステップと、
前記コンピュータが、前記パラメータのセットを用いた前記１つ以上の外部システムとの前記１つ以上の対話を完了させることによって、前記構成に基づくワークフローに含まれる前記１つ以上の検証活動を行うステップと、
前記コンピュータが、前記１つ以上の検証活動が正常に完了したかどうかを判定するステップと、
前記１つ以上の検証活動が正常に完了した場合に、前記コンピュータが前記コマンドの前記実行を継続するステップ、または前記１つ以上の検証活動の少なくとも１つが正常に完了していない場合に、前記コンピュータが前記コマンドの前記実行を継続しないステップと、
を含む、方法。
【請求項２】
前記コンピュータが、前記１つ以上の検証活動に含まれる検証活動が正常に完了していない場合に、前記コマンドの前記実行を継続しないステップとは別の１つ以上の付加的な活動を行うステップをさらに含み、前記１つ以上の付加的な活動を行うステップは、前記検証活動が正常に完了しなかったことを示す通知を送るステップを含む、請求項１に記載の方法。
【請求項３】
前記コンピュータが、前記１つ以上の検証活動に含まれる検証活動が正常に完了した場合に、前記コマンドの前記実行を継続するステップとは別の１つ以上の付加的な活動を行うステップをさらに含む、請求項１に記載の方法。
【請求項４】
１つ以上の外部システムとの前記１つ以上の対話を完了させるステップは、構成管理データベース・システム、チケット・システム、ジョブ・スケジューリング・システム、作業負荷自動化システム、および運用管理システムからなる群より選択される外部システムとの対話を完了させるステップを含む、請求項１に記載の方法。
【請求項５】
前記１つ以上の検証活動を行うステップは、複数のローカル・セキュリティ・ポリシーと前記ＩＴシステムに対するインタフェース・システムである外部システムのポリシーとに対して前記コマンドを検証するステップを含む、請求項１に記載の方法。
【請求項６】
前記コンピュータが、前記コマンドを識別するステップの前に、前記コマンドを受信するステップであって、（ｉ）アプリケーション・プログラミング・インタフェース（ＡＰＩ）接続を用いるソフトウェア・ツールから、（ｉｉ）前記ＩＴシステムにおいて実行中のジョブであって、時間ベースのジョブ・スケジューラによってスケジュールされる前記ジョブの一部として、または（ｉｉｉ）ソフトウェア・エージェントから、前記コマンドを受信するステップをさらに含む、請求項１に記載の方法。
【請求項７】
前記コンピュータが、前記コマンドを識別するステップの前に、前記コマンドをオペレーティング・システムまたは前記オペレーティング・システムのサブシステムから受信するステップをさらに含む、請求項１に記載の方法。
【請求項８】
前記コンピュータが前記コマンドのリストを生成するステップをさらに含み、前記コマンドは前記ＩＴシステムのそれぞれの重要な活動を実行し、前記コマンドの少なくとも１つは前記ＩＴシステムにとって破壊的な活動を実行する、請求項１に記載の方法。
【請求項９】
前記コンピュータにおいてコンピュータ可読プログラム・コードの作成、統合、ホスティング、維持、およびディプロイの少なくとも１つに対する少なくとも１つのサポート・サービスを提供するステップをさらに含み、前記プログラム・コードは前記コンピュータのプロセッサによって実行されて、前記コマンドを識別するステップと、前記パラメータのセットおよび前記事前構成条件を決定するステップと、前記１つ以上の検証活動を決定するステップと、前記１つ以上の検証活動を行うステップと、前記パラメータのセットを用いた前記１つ以上の外部システムとの前記１つ以上の対話を完了させるステップと、前記１つ以上の検証活動が正常に完了したかどうかを判定するステップと、前記１つ以上の検証活動が正常に完了した場合に前記コマンドの前記実行を継続するステップ、または前記１つ以上の検証活動の任意の１つが正常に完了していない場合に前記コマンドの前記実行を継続しないステップとを実施する、請求項１に記載の方法。
【請求項１０】
コンピュータ可読ストレージ媒体と、前記コンピュータ可読ストレージ媒体に保存されたコンピュータ可読プログラム・コードとを含むコンピュータ・プログラム製品であって、前記コンピュータ可読プログラム・コードは、ＩＴシステムにおいて構成に基づくワークフローを提供する方法を実現するためにコンピュータ・システムの中央処理ユニット（ＣＰＵ）によって実行される命令を含み、前記方法は、
前記コンピュータ・システムが、実行のために起動されるコマンドを、コマンドのリストに含まれるものとして識別するステップと、
前記コンピュータ・システムが、前記コマンドを識別するステップに応答して、識別された前記コマンドに関連するパラメータのセットおよび事前構成条件を決定するステップと、
前記コンピュータ・システムが、前記パラメータのセットおよび前記事前構成条件に基づいて、前記コマンドを検証する１つ以上の検証活動であって、前記構成に基づくワークフローに含まれると共に、１つ以上の外部システムとのそれぞれ１つ以上の対話によって指定される１つ以上の検証活動を決定するステップと、
前記コンピュータ・システムが、前記パラメータのセットを用いた前記１つ以上の外部システムとの前記１つ以上の対話を完了させることによって、前記構成に基づくワークフローに含まれる前記１つ以上の検証活動を行うステップと、
前記コンピュータ・システムが、前記１つ以上の検証活動が正常に完了したかどうかを判定するステップと、
前記１つ以上の検証活動が正常に完了した場合に、前記コンピュータ・システムが前記コマンドの前記実行を継続するステップ、または前記１つ以上の検証活動の少なくとも１つが正常に完了していない場合に、前記コンピュータ・システムが前記コマンドの前記実行を継続しないステップと、
を含む、コンピュータ・プログラム製品。
【請求項１１】
前記方法はさらに、前記コンピュータ・システムが、前記１つ以上の検証活動に含まれる検証活動が正常に完了していない場合に、前記コマンドの前記実行を継続しないステップとは別の１つ以上の付加的な活動を行うステップを含み、前記１つ以上の付加的な活動を行うステップは、前記検証活動が正常に完了しなかったことを示す通知を送るステップを含む、請求項１０に記載のコンピュータ・プログラム製品。
【請求項１２】
前記方法はさらに、前記コンピュータ・システムが、前記１つ以上の検証活動に含まれる検証活動が正常に完了した場合に、前記コマンドの前記実行を継続するステップとは別の１つ以上の付加的な活動を行うステップを含む、請求項１０に記載のコンピュータ・プログラム製品。
【請求項１３】
１つ以上の外部システムとの前記１つ以上の対話を完了させるステップは、構成管理データベース・システム、チケット・システム、ジョブ・スケジューリング・システム、作業負荷自動化システム、および運用管理システムからなる群より選択される外部システムとの対話を完了させるステップを含む、請求項１０に記載のコンピュータ・プログラム製品。
【請求項１４】
前記１つ以上の検証活動を行うステップは、複数のローカル・セキュリティ・ポリシーと前記ＩＴシステムに対するインタフェース・システムである外部システムのポリシーとに対して前記コマンドを検証するステップを含む、請求項１０に記載のコンピュータ・プログラム製品。
【請求項１５】
前記方法はさらに、前記コンピュータ・システムが、前記コマンドを識別するステップの前に、前記コマンドを受信するステップであって、（ｉ）アプリケーション・プログラミング・インタフェース（ＡＰＩ）接続を用いるソフトウェア・ツールから、（ｉｉ）前記ＩＴシステムにおいて実行中のジョブであって、時間ベースのジョブ・スケジューラによってスケジュールされる前記ジョブの一部として、または（ｉｉｉ）ソフトウェア・エージェントから、前記コマンドを受信するステップを含む、請求項１０に記載のコンピュータ・プログラム製品。
【請求項１６】
前記方法はさらに、前記コンピュータ・システムが、前記コマンドを識別するステップの前に、前記コマンドをオペレーティング・システムまたは前記オペレーティング・システムのサブシステムから受信するステップを含む、請求項１０に記載のコンピュータ・プログラム製品。
【請求項１７】
前記方法はさらに、前記コンピュータ・システムが前記コマンドのリストを生成するステップを含み、前記コマンドは前記ＩＴシステムのそれぞれの重要な活動を実行し、前記コマンドの少なくとも１つは前記ＩＴシステムにとって破壊的な活動を実行する、請求項１０に記載のコンピュータ・プログラム製品。
【請求項１８】
中央処理ユニット（ＣＰＵ）と、
前記ＣＰＵに結合されたメモリと、
前記ＣＰＵに結合されたコンピュータ可読ストレージ媒体とを含むコンピュータ・システムであって、前記コンピュータ可読ストレージ媒体は、ＩＴシステムにおいて構成に基づくワークフローを提供する方法を実現するために前記メモリを介して前記ＣＰＵによって実行される命令を含み、前記方法は、
前記コンピュータ・システムが、実行のために起動されるコマンドを、コマンドのリストに含まれるものとして識別するステップと、
前記コンピュータ・システムが、前記コマンドを識別するステップに応答して、識別された前記コマンドに関連するパラメータのセットおよび事前構成条件を決定するステップと、
前記コンピュータ・システムが、前記パラメータのセットおよび前記事前構成条件に基づいて、前記コマンドを検証する１つ以上の検証活動であって、前記構成に基づくワークフローに含まれると共に、１つ以上の外部システムとのそれぞれ１つ以上の対話によって指定される１つ以上の検証活動を決定するステップと、
前記コンピュータ・システムが、前記パラメータのセットを用いた前記１つ以上の外部システムとの前記１つ以上の対話を完了させることによって、前記構成に基づくワークフローに含まれる前記１つ以上の検証活動を行うステップと、
前記コンピュータ・システムが、前記１つ以上の検証活動が正常に完了したかどうかを判定するステップと、
前記１つ以上の検証活動が正常に完了した場合に、前記コンピュータ・システムが前記コマンドの前記実行を継続するステップ、または前記１つ以上の検証活動の少なくとも１つが正常に完了していない場合に、前記コンピュータ・システムが前記コマンドの前記実行を継続しないステップと、
を含む、コンピュータ・システム。
【請求項１９】
前記方法はさらに、前記コンピュータ・システムが、前記１つ以上の検証活動に含まれる検証活動が正常に完了していない場合に、前記コマンドの前記実行を継続しないステップとは別の１つ以上の付加的な活動を行うステップを含み、前記１つ以上の付加的な活動を行うステップは、前記検証活動が正常に完了しなかったことを示す通知を送るステップを含む、請求項１８に記載のコンピュータ・システム。
【請求項２０】
前記方法はさらに、前記コンピュータ・システムが、前記１つ以上の検証活動に含まれる検証活動が正常に完了した場合に、前記コマンドの前記実行を継続するステップとは別の１つ以上の付加的な活動を行うステップを含む、請求項１８に記載のコンピュータ・システム。
【請求項２１】
１つ以上の外部システムとの前記１つ以上の対話を完了させるステップは、構成管理データベース・システム、チケット・システム、ジョブ・スケジューリング・システム、作業負荷自動化システム、および運用管理システムからなる群より選択される外部システムとの対話を完了させるステップを含む、請求項１８に記載のコンピュータ・システム。
【請求項２２】
前記１つ以上の検証活動を行うステップは、複数のローカル・セキュリティ・ポリシーと前記ＩＴシステムに対するインタフェース・システムである外部システムのポリシーとに対して前記コマンドを検証するステップを含む、請求項１８に記載のコンピュータ・システム。
【請求項２３】
前記方法はさらに、前記コンピュータ・システムが、前記コマンドを識別するステップの前に、前記コマンドを受信するステップであって、（ｉ）アプリケーション・プログラミング・インタフェース（ＡＰＩ）接続を用いるソフトウェア・ツールから、（ｉｉ）前記ＩＴシステムにおいて実行中のジョブであって、時間ベースのジョブ・スケジューラによってスケジュールされる前記ジョブの一部として、または（ｉｉｉ）ソフトウェア・エージェントから、前記コマンドを受信するステップを含む、請求項１８に記載のコンピュータ・システム。
【請求項２４】
ＩＴシステムにおいて構成に基づくワークフローを提供する方法であって、前記方法は、
コンピュータが、前記ＩＴシステムにとって破壊的な活動を開始するソフトウェア・ツールからのコマンドを阻止するステップと、
前記コンピュータが、阻止された前記コマンドを、事前に構成されたコマンドのリストに含まれるものとして識別するステップであって、識別された前記コマンドは実行のために起動される、ステップと、
前記コンピュータが、前記コマンドを識別するステップに応答して、前記識別されたコマンドに関連するパラメータのセットおよび事前構成条件を決定するステップと、
前記コンピュータが、前記パラメータのセットおよび前記事前構成条件に基づいて、拡張可能マークアップ言語（ＸＭＬ）データを生成するステップと、
前記コンピュータが、トランスポート・セキュリティ・レイヤを通じたハイパーテキスト・トランスファー・プロトコル（ＨＴＴＰＳ）上のＳＯＡＰを通じてＸＭＬデータを用いることによって、汎用外部システム・エンジンを介して外部システムと通信するステップであって、前記外部システムは前記ＩＴシステムに対するチケット・システムおよび前記ＩＴシステムに対するジョブ・スケジューリング・システムを含む、通信するステップと、
前記コンピュータが、前記通信するステップに応答して、前記構成に基づくワークフローにおける前記チケット・システムとインタフェースすることによって、前記識別されたコマンドに対する承認された変更制御が存在するかどうかを判定するステップと、
前記コンピュータが、前記通信するステップに応答して、前記構成に基づくワークフローにおける前記ジョブ・スケジューリング・システムとインタフェースすることによって、前記識別されたコマンドが阻止される前の予め定められた期間内のバックアップが検証されたかどうかを判定するステップと、
前記承認された変更制御が存在し、かつ前記バックアップが検証されている場合に、前記コンピュータが前記識別されたコマンドの前記実行を継続するステップ、または前記承認された変更制御が存在しない場合に、破壊的な前記活動に前記ＩＴシステムが影響されないように前記コンピュータが前記識別されたコマンドの前記実行を終了するステップ、または前記バックアップが検証されていない場合に、破壊的な前記活動に前記ＩＴシステムが影響されないように前記コンピュータが前記識別されたコマンドの前記実行を終了するステップと、
を含む、方法。
【請求項２５】
コンピュータ可読ストレージ媒体と、前記コンピュータ可読ストレージ媒体に保存されたコンピュータ可読プログラム・コードとを含むコンピュータ・プログラム製品であって、前記コンピュータ可読プログラム・コードは、ＩＴシステムにおいて構成に基づくワークフローを提供する方法を実現するためにコンピュータ・システムの中央処理ユニット（ＣＰＵ）によって実行される命令を含み、前記方法は、
前記コンピュータ・システムが前記ＩＴシステムにとって破壊的な活動を開始するソフトウェア・ツールからのコマンドを阻止するステップと、
前記コンピュータ・システムが、阻止された前記コマンドを、事前に構成されたコマンドのリストに含まれるものとして識別するステップであって、識別された前記コマンドは実行のために起動される、ステップと、
前記コンピュータ・システムが、前記コマンドを識別するステップに応答して、前記識別されたコマンドに関連するパラメータのセットおよび事前構成条件を決定するステップと、
前記コンピュータ・システムが、前記パラメータのセットおよび前記事前構成条件に基づいて、拡張可能マークアップ言語（ＸＭＬ）データを生成するステップと、
前記コンピュータ・システムが、トランスポート・セキュリティ・レイヤを通じたハイパーテキスト・トランスファー・プロトコル（ＨＴＴＰＳ）上のＳＯＡＰを通じて前記ＸＭＬデータを用いることによって、汎用外部システム・エンジンを介して外部システムと通信するステップであって、前記外部システムは前記ＩＴシステムに対するチケット・システムおよび前記ＩＴシステムに対するジョブ・スケジューリング・システムを含む、ステップと、
前記コンピュータ・システムが、通信するステップに応答して、前記構成に基づくワークフローにおける前記チケット・システムとインタフェースすることによって、前記識別されたコマンドに対する承認された変更制御が存在するかどうかを判定するステップと、
前記コンピュータ・システムが、通信するステップに応答して、前記構成に基づくワークフローにおける前記ジョブ・スケジューリング・システムとインタフェースすることによって、前記識別されたコマンドが阻止される前の予め定められた期間内のバックアップが検証されたかどうかを判定するステップと、
前記承認された変更制御が存在し、かつ前記バックアップが検証されている場合に、前記コンピュータ・システムが前記識別されたコマンドの前記実行を継続するステップ、または前記承認された変更制御が存在しない場合に、破壊的な前記活動に前記ＩＴシステムが影響されないように前記コンピュータ・システムが前記識別されたコマンドの前記実行を終了するステップ、または前記バックアップが検証されていない場合に、破壊的な前記活動に前記ＩＴシステムが影響されないように前記コンピュータ・システムが前記識別されたコマンドの前記実行を終了するステップと、
を含む、コンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報技術（ＩＴ：ｉｎｆｏｒｍａｔｉｏｎ  ｔｅｃｈｎｏｌｏｇｙ）システムを管理することに関し、より具体的にはＩＴシステムにおいて構成に基づくワークフローを提供することに関する。
【背景技術】
【０００２】
ＵＮＩＸ（登録商標）環境のＩＴシステムにおいて、システム管理者がシャットダウンまたはリブート・コマンドを発行することに応答して、ＩＴシステムは対応するシステム・シャットダウンまたはシステム・リブートを開始する。もしＩＴシステムが稼動中のアプリケーションまたはデータベースを含んでいれば、システムはその稼動中のアプリケーションまたはデータベースに関連するプロセスを終了する。もしシャットダウンまたはリブートの時点で何らかのデータベース・トランザクションが起こっていれば、データベース内のデータの破損が起こることがある。よって、もしヒューマン・エラーによってシャットダウンまたはリブート・コマンドが非意図的に呼び出されれば、重要なビジネス機能が失われる。公知のＩＴシステム環境において、システム・シャットダウン、システム・リブート、またはその他の重要なシステム活動を行う特権（すなわちルート（ｒｏｏｔ））ユーザによって意図的または非意図的に発行されたコマンドを制御する機構は存在しない。ＵＮＩＸ（登録商標）は、バークシャー（Ｂｅｒｋｓｈｉｒｅ）、英国（Ｕｎｉｔｅｄ  Ｋｉｎｇｄｏｍ）にあるエックス・オープン・カンパニー・リミテッド（Ｘ／Ｏｐｅｎ  Ｃｏｍｐａｎｙ，Ｌｔｄ．）の登録商標である。
【０００３】
ロール・ベース・アクセス・コントロール（ＲＢＡＣ：Ｒｏｌｅ  ｂａｓｅｄ  ａｃｃｅｓｓ  ｃｏｎｔｒｏｌ）は、オペレーティング・システムおよびソフトウェアへのアクセスを制御する公知のモデルである。ＲＢＡＣモデル内では、システムを使用する組織において個々のユーザが有する役割に基づいてアクセスが与えられる。たとえばＲＢＡＣによって、ユーザ管理者は、システム管理者が実行し得るより強力なコマンドへのアクセスを有することなく、かつシステム管理者がアクセスし得るファイルへのアクセスを有することなく、ユーザを追加、変更、または削除できる。ＲＢＡＣは、スーパー・ユーザ・アクセスを必要としない最も単純な管理タスクを行うために完全なアクセスを取得するために「ルート」を用いるＵＮＩＸ（登録商標）システムが有し得る問題を解決する。ＲＢＡＣにはファイナンシャル・ライセンスが適用され、コストがかかる。ＲＢＡＣをサポートするために付加的な訓練が必要である。ＵＮＩＸ（登録商標）市場において、ＲＢＡＣの知識を伴うリソースを見出すことは困難である。さらに、コマンドに他のいずれの厳しい制御も適用されることなく、ＲＢＡＣルート・ユーザはなおもシャットダウンまたはその他の破壊的コマンドを起動し得る。
【０００４】
ＵＮＩＸ（登録商標）システムに対する別の公知のアクセス制御システムはｅＴｒｕｓｔ（登録商標）アクセス・コントロール（Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）であり、これはホスト・オペレーティング・システムからのサービスを要求するユーザがそれらのサービスにアクセスする権限を付与されているかどうかをチェックすることによって、コンピュータ・センタの情報資産を保護するものである。ｅＴｒｕｓｔ（登録商標）アクセス・コントロールは特定のコマンドの呼び出しを禁じるように構成され得るが、ルート・ユーザはｅＴｒｕｓｔ（登録商標）サービスを停止してから、それまで禁じられていたコマンドを呼び出すことができる。さらに、たとえｅＴｒｕｓｔ（登録商標）アクセス・コントロール・サービスを実行中であっても、システム・コンソールからコマンドが実行され得る。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、ＩＴシステムにおいて構成に基づくワークフローを提供することである。
【課題を解決するための手段】
【０００６】
一実施形態において、本発明はＩＴシステムにおいて構成に基づくワークフローを提供する方法を提供する。この方法は、コンピュータが、コマンドをコマンドのリストに含まれるものとして識別するステップを含む。そのコマンドは実行のために起動される。コマンドを識別するステップに応答して、コンピュータは識別されたコマンドに関連するパラメータのセットおよび事前構成条件を決定する。パラメータのセットおよび事前構成条件に基づいて、コンピュータは、コマンドを検証する１つ以上の検証活動であって、構成に基づくワークフローに含まれる１つ以上の検証活動を決定する。この１つ以上の検証活動は、１つ以上の外部システムとのそれぞれ１つ以上の対話によって指定される。コンピュータは、パラメータのセットを用いた１つ以上の外部システムとの１つ以上の対話を完了させることによって、構成に基づくワークフローに含まれる１つ以上の検証活動を行い、その１つ以上の検証活動が正常に完了したかどうかを判定する。さらに、もし１つ以上の検証活動が正常に完了していれば、コンピュータはコマンドの実行を継続し、もし１つ以上の検証活動の少なくとも１つが正常に完了していなければ、コンピュータはコマンドの実行を継続しない。
【０００７】
有利には、前述の実施形態は、オペレーティング・システム・コマンドを解釈し、あらゆるソースまたはツール（例、破壊的活動を行うことを試みる、アプリケーション・プログラミング・インタフェース（ＡＰＩ：ａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｇｒａｍｍｉｎｇ  ｉｎｔｅｒｆａｃｅ）接続、悪意をもって書かれたｃｒｏｎジョブ、ソフトウェア・エージェント、またはソフトウェア・ツール）からのコマンドを阻止し、コマンドがＯＳカーネルに到達する前に構成ルールおよびカスタマイズ可能な企業セキュリティ・モデルの適用に対してコマンドを評価することによって、複雑なＩＴ環境におけるシステム管理者、システム・オペレータ、およびその他の特権ユーザが起こす意図的および偶発的なエラーを防止または低減し、それによってＩＴシステムの重要なビジネス機能が失われないことを確実にするためのセキュリティ統合レイヤを提供する。
【０００８】
好ましくは、本発明は、１つ以上の検証活動に含まれる検証活動が正常に完了していないときに、コンピュータがコマンドの実行を継続しないステップとは別の１つ以上の付加的な活動を行うステップを含む方法を提供する。１つ以上の付加的な活動を行うステップは、検証活動が正常に完了しなかったことを示す通知を送るステップを含む。有利には、この方法は、悪意をもって発行された破壊的である可能性のあるコマンドを管理者に警告する通知を送るステップを提供する。
【０００９】
好ましくは、本発明は、１つ以上の検証活動に含まれる検証活動が正常に完了したときに、コンピュータがコマンドの実行を継続するステップとは別の１つ以上の付加的な活動を行うステップを含む方法を提供する。有利には、この方法は、システム・シャットダウンまたはリブートの前にデータベース・インスタンスをシャットダウンできる付加的な活動（単数または複数）を行うステップを提供し、このステップはデータの破損を回避する。
【００１０】
好ましくは、本発明は、１つ以上の外部システムとの１つ以上の対話を完了させるステップを含む方法を提供し、このステップは、構成管理データベース・システム、チケット・システム、ジョブ・スケジューリング・システム、作業負荷自動化システム、および運用管理システムからなる群より選択される外部システムとの対話を完了させるステップを含む。有利には、この方法は、外部システムによって提供された重要なビジネス機能が悪影響を受けないように外部システムとの対話を完了させるステップを提供する。
【００１１】
好ましくは、本発明は、１つ以上の検証活動を行うステップを含む方法を提供し、このステップは、複数のローカル・セキュリティ・ポリシーとＩＴシステムに対するインタフェース・システムである外部システムのポリシーとに対してコマンドを検証するステップを含む。有利には、この方法はローカル・セキュリティ・ポリシーおよびインタフェース・システムのポリシーの両方に対してコマンドを検証するステップを提供し、このステップはシステム管理者の活動に対する厳重な制御を提供することによって、インタフェース・システムが提供する重要なビジネス機能を保護する。
【００１２】
好ましくは、本発明は、コマンドを識別するステップの前に、コンピュータがコマンドを受信するステップであって、（ｉ）アプリケーション・プログラミング・インタフェース（ＡＰＩ）接続を用いるソフトウェア・ツールから、（ｉｉ）ＩＴシステムにおいて実行中のジョブであって、時間ベースのジョブ・スケジューラによってスケジュールされるジョブの一部として、または（ｉｉｉ）ソフトウェア・エージェントからコマンドを受信するステップを含む方法を提供する。有利には、この方法は、破壊的活動をもたらすか、または重要なシステム活動に悪影響を与えるおそれのあるコマンドのさまざまな潜在的ソースに対する厳重な制御を提供することによって、重要なビジネス機能を保護する。
【００１３】
好ましくは、本発明は、コマンドを識別するステップの前に、コンピュータがコマンドをオペレーティング・システムまたはオペレーティング・システムのサブシステムから受信するステップを含む方法を提供する。有利には、この方法は、破壊的活動をもたらすか、または重要なシステム活動に悪影響を与えるおそれのあるコマンドのサブシステム・ソースに対する厳重な制御を提供することによって、重要なビジネス機能を保護する。
【００１４】
好ましくは、本発明は、コンピュータがＩＴシステムのそれぞれの重要な活動を実行するコマンドのリストを生成するステップを含む方法を提供し、コマンドの少なくとも１つはＩＴシステムにとって破壊的な活動を実行する。有利には、この方法は、コマンドの事前に構成されたリストを効率的に提供するためにコマンドのリストを生成するステップを提供し、このリストと受信したコマンドとが比較される。リストにおけるコマンドの事前構成は、重要なシステム活動に影響し得るコマンドのみを前述の方法によって効率的に処理することを可能にする。
【００１５】
上で考察した利点は、以下に要約されるコンピュータ・システムおよびコンピュータ・プログラム製品の実施形態にも適用される。
【００１６】
別の実施形態において、本発明は、コンピュータ可読ストレージ媒体と、そのコンピュータ可読ストレージ媒体に保存されたコンピュータ可読プログラム・コードとを含むコンピュータ・プログラム製品を提供する。コンピュータ可読プログラム・コードは、ＩＴシステムにおいて構成に基づくワークフローを提供する方法を実現するためにコンピュータ・システムの中央処理ユニット（ＣＰＵ：ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）によって実行される命令を含む。この方法は、コンピュータ・システムがコマンドをコマンドのリストに含まれるものとして識別するステップを含む。そのコマンドは実行のために起動される。コンピュータ・システムは、コマンドを識別するステップに応答して、識別されたコマンドに関連するパラメータのセットおよび事前構成条件を決定する。そのパラメータのセットおよび事前構成条件に基づいて、コンピュータ・システムは、コマンドを検証する１つ以上の検証活動であって、構成に基づくワークフローに含まれる検証活動を決定する。この１つ以上の検証活動は、１つ以上の外部システムとのそれぞれ１つ以上の対話によって指定される。コンピュータ・システムは、パラメータのセットを用いた１つ以上の外部システムとの１つ以上の対話を完了させることによって、構成に基づくワークフローに含まれる１つ以上の検証活動を行う。次いでコンピュータ・システムは、その１つ以上の検証活動が正常に完了したかどうかを判定する。もし１つ以上の検証活動が正常に完了していれば、コンピュータ・システムはコマンドの実行を継続し、もし１つ以上の検証活動の少なくとも１つが正常に完了していなければ、コンピュータ・システムはコマンドの実行を継続しない。
【００１７】
好ましくは、本発明は、１つ以上の検証活動に含まれる検証活動が正常に完了していないときに、コンピュータ・システムがコマンドの実行を継続しないステップとは別の１つ以上の付加的な活動を行うステップをさらに含む方法を提供し、１つ以上の付加的な活動を行うステップは、検証活動が正常に完了しなかったことを示す通知を送るステップを含む。
【００１８】
好ましくは、本発明はコンピュータ・プログラム製品を提供し、ここでこの方法はさらに、１つ以上の検証活動に含まれる検証活動が正常に完了したときに、コンピュータ・システムがコマンドの実行を継続するステップとは別の１つ以上の付加的な活動を行うステップを含む。
【００１９】
好ましくは、本発明はコンピュータ・プログラム製品を提供し、ここで１つ以上の外部システムとの１つ以上の対話を完了させるステップは、構成管理データベース・システム、チケット・システム、ジョブ・スケジューリング・システム、作業負荷自動化システム、および運用管理システムからなる群より選択される外部システムとの対話を完了させるステップを含む。
【００２０】
好ましくは、本発明はコンピュータ・プログラム製品を提供し、ここで１つ以上の検証活動を行うステップは、複数のローカル・セキュリティ・ポリシーとＩＴシステムに対するインタフェース・システムである外部システムのポリシーとに対してコマンドを検証するステップを含む。
【００２１】
好ましくは、本発明はコンピュータ・プログラム製品を提供し、ここでこの方法はさらに、コマンドを識別するステップの前に、コンピュータ・システムがコマンドを受信するステップであって、（ｉ）アプリケーション・プログラミング・インタフェース（ＡＰＩ）接続を用いるソフトウェア・ツールから、（ｉｉ）ＩＴシステムにおいて実行中のジョブであって、時間ベースのジョブ・スケジューラによってスケジュールされるジョブの一部として、または（ｉｉｉ）ソフトウェア・エージェントからコマンドを受信するステップを含む。
【００２２】
好ましくは、本発明はコンピュータ・プログラム製品を提供し、ここでこの方法はさらに、コマンドを識別するステップの前に、コンピュータ・システムがコマンドをオペレーティング・システムまたはオペレーティング・システムのサブシステムから受信するステップを含む。
【００２３】
好ましくは、本発明はコンピュータ・プログラム製品を提供し、ここでこの方法はさらに、コンピュータ・システムがコマンドのリストを生成するステップを含み、このコマンドはＩＴシステムのそれぞれの重要な活動を実行し、このコマンドの少なくとも１つはＩＴシステムにとって破壊的な活動を実行する。
【００２４】
別の実施形態において、本発明は中央処理ユニット（ＣＰＵ）と、ＣＰＵに結合されたメモリと、ＣＰＵに結合されたコンピュータ可読ストレージ媒体とを含むコンピュータ・システムを提供する。コンピュータ可読ストレージ媒体は、ＩＴシステムにおいて構成に基づくワークフローを提供する方法を実現するためにメモリを介してＣＰＵによって実行される命令を含む。この方法は、コンピュータ・システムがコマンドをコマンドのリストに含まれるものとして識別するステップを含む。そのコマンドは実行のために起動される。コマンドを識別するステップに応答して、コンピュータ・システムは識別されたコマンドに関連するパラメータのセットおよび事前構成条件を決定する。このパラメータのセットおよび事前構成条件に基づいて、コンピュータ・システムは、コマンドを検証する１つ以上の検証活動であって、構成に基づくワークフローに含まれる検証活動を決定する。この１つ以上の検証活動は、１つ以上の外部システムとのそれぞれ１つ以上の対話によって指定される。コンピュータ・システムは、パラメータのセットを用いた１つ以上の外部システムとの１つ以上の対話を完了させることによって、構成に基づくワークフローに含まれる１つ以上の検証活動を行う。コンピュータ・システムは、１つ以上の検証活動が正常に完了したかどうかを判定する。もし１つ以上の検証活動が正常に完了していれば、コンピュータ・システムはコマンドの実行を継続し、もし１つ以上の検証活動の少なくとも１つが正常に完了していなければ、コンピュータ・システムはコマンドの実行を継続しない。
【００２５】
好ましくは、本発明はコンピュータ・システムを提供し、このコンピュータ・システムは、１つ以上の検証活動に含まれる検証活動が正常に完了したときに、コンピュータ・システムがコマンドの実行を継続するステップとは別の１つ以上の付加的な活動を行うステップを含む。
【００２６】
好ましくは、本発明はコンピュータ・システムを提供し、ここで１つ以上の外部システムとの１つ以上の対話を完了させるステップは、構成管理データベース・システム、チケット・システム、ジョブ・スケジューリング・システム、作業負荷自動化システム、および運用管理システムからなる群より選択される外部システムとの対話を完了させるステップを含む。
【００２７】
好ましくは、本発明はコンピュータ・システムを提供し、ここで１つ以上の検証活動を行うステップは、複数のローカル・セキュリティ・ポリシーおよびＩＴシステムに対するインタフェース・システムである外部システムのポリシーに対してコマンドを検証するステップを含む。
【００２８】
好ましくは、本発明はコンピュータ・システムを提供し、ここでこの方法はさらに、コマンドを識別するステップの前に、コンピュータ・システムがコマンドを受信するステップであって、（ｉ）アプリケーション・プログラミング・インタフェース（ＡＰＩ）接続を用いるソフトウェア・ツールから、（ｉｉ）ＩＴシステムにおいて実行中のジョブであって、時間ベースのジョブ・スケジューラによってスケジュールされるジョブの一部として、または（ｉｉｉ）ソフトウェア・エージェントから受信するステップを含む。
【００２９】
別の実施形態において、本発明はＩＴシステムにおいて構成に基づくワークフローを提供する方法を提供する。この方法は、コンピュータがＩＴシステムにとって破壊的な活動を開始するソフトウェア・ツールからのコマンドを阻止するステップを含む。コンピュータは阻止されたコマンドを、事前に構成されたコマンドのリストに含まれるものとして識別する。識別されたコマンドは、次いで実行のために起動される。コマンドを識別するステップに応答して、コンピュータは識別されたコマンドに関連するパラメータのセットおよび事前構成条件を決定する。パラメータのセットおよび事前構成条件に基づいて、コンピュータは拡張可能マークアップ言語（ＸＭＬ：Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）データを生成する。コンピュータは、トランスポート・セキュリティ・レイヤ（Ｔｒａｎｓｐｏｒｔ  Ｓｅｃｕｒｉｔｙ  Ｌａｙｅｒ）を通じたハイパーテキスト・トランスファー・プロトコル（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）（ＨＴＴＰＳ）上のＳＯＡＰを通じてＸＭＬデータを用いることによって、汎用外部システム・エンジンを介して外部システムと通信する。外部システムは、ＩＴシステムに対するチケット・システムおよびＩＴシステムに対するジョブ・スケジューリング・システムを含む。通信するステップに応答して、コンピュータは構成に基づくワークフローにおけるチケット・システムとインタフェースすることによって、識別されたコマンドに対する承認された変更制御が存在するかどうかを判定する。通信するステップに応答して、コンピュータは構成に基づくワークフローにおけるジョブ・スケジューリング・システムとインタフェースすることによって、識別されたコマンドが阻止される前の予め定められた期間内のバックアップが検証されたかどうかを判定する。承認された変更制御が存在し、かつバックアップが検証されているとき、コンピュータは識別されたコマンドの実行を継続し、承認された変更制御が存在しないとき、コンピュータは識別されたコマンドの実行を終了して破壊的な活動にＩＴシステムが影響されないようにし、バックアップが検証されていないとき、コンピュータは識別されたコマンドの実行を終了して破壊的な活動にＩＴシステムが影響されないようにする。
【００３０】
別の実施形態において、本発明は、コンピュータ可読ストレージ媒体と、そのコンピュータ可読ストレージ媒体に保存されたコンピュータ可読プログラム・コードとを含むコンピュータ・プログラム製品を提供する。コンピュータ可読プログラム・コードは、ＩＴシステムにおいて構成に基づくワークフローを提供する方法を実現するためにコンピュータ・システムの中央処理ユニット（ＣＰＵ）によって実行される命令を含む。この方法は、コンピュータ・システムがＩＴシステムにとって破壊的な活動を開始するソフトウェア・ツールからのコマンドを阻止するステップを含む。この方法は、コンピュータ・システムが阻止されたコマンドを、事前に構成されたコマンドのリストに含まれるものとして識別するステップを含む。識別されたコマンドは、実行のために起動される。コマンドを識別するステップに応答して、コンピュータ・システムは識別されたコマンドに関連するパラメータのセットおよび事前構成条件を決定する。パラメータのセットおよび事前構成条件に基づいて、コンピュータ・システムは拡張可能マークアップ言語（ＸＭＬ）データを生成する。コンピュータ・システムは、トランスポート・セキュリティ・レイヤを通じたハイパーテキスト・トランスファー・プロトコル（ＨＴＴＰＳ）上のＳＯＡＰを通じてＸＭＬデータを用いることによって、汎用外部システム・エンジンを介して外部システムと通信する。外部システムは、ＩＴシステムに対するチケット・システムおよびＩＴシステムに対するジョブ・スケジューリング・システムを含む。通信するステップに応答して、コンピュータ・システムは構成に基づくワークフローにおけるチケット・システムとインタフェースすることによって、識別されたコマンドに対する承認された変更制御が存在するかどうかを判定する。通信するステップに応答して、コンピュータ・システムは構成に基づくワークフローにおけるジョブ・スケジューリング・システムとインタフェースすることによって、識別されたコマンドが阻止される前の予め定められた期間内のバックアップが検証されたかどうかを判定する。承認された変更制御が存在し、かつバックアップが検証されているとき、コンピュータ・システムは識別されたコマンドの実行を継続し、承認された変更制御が存在しないとき、コンピュータ・システムは識別されたコマンドの実行を終了して破壊的な活動にＩＴシステムが影響されないようにし、バックアップが検証されていないとき、コンピュータ・システムは識別されたコマンドの実行を終了して破壊的な活動にＩＴシステムが影響されないようにする。
【図面の簡単な説明】
【００３１】
【図１】本発明の実施形態による、ルール・エンジンと統合されたＩＴシステムにおいて構成に基づくワークフローを提供するためのシステムを示すブロック図である。
【図２】本発明の実施形態による、ルール・エンジンと統合されたＩＴシステムにおいて構成に基づくワークフローを提供するプロセスを示す流れ図である。
【図３】本発明の実施形態による、図２のプロセスにおいて用いられるレジストリおよびＡＰＩの実施例を示す図である。
【図４】本発明の実施形態による、図３のレジストリおよびＡＰＩを用いる図２のプロセスの実施例を示す図である。
【図５】本発明の実施形態による、図３のレジストリおよびＡＰＩを用いる図２のプロセスの実施例を示す図である。
【図６】本発明の実施形態による、図１のシステムに含まれ、かつ図２のプロセスを実施するコンピュータを示すブロック図である。
【発明を実施するための形態】
【００３２】
概要
本発明の実施形態は、ＩＴシステムにおけるユーザとオペレーティング・システム（ＯＳ：ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ）との間のセキュリティ統合レイヤを提供する。セキュリティ統合レイヤは、カーネル・モードのプロセス・デーモンを通じてＯＳと対話する。セキュリティ統合レイヤはＯＳ上で作動し、重要なシステム活動（例、システム・シャットダウン、システム・リブート、ファイル・システムの作成、新たに割り当てられたストレージ論理ユニット番号（ＬＵＮ：ｌｏｇｉｃａｌ  ｕｎｉｔ  ｎｕｍｂｅｒ）のフォーマットなど）を行うユーザ、アプリケーション、およびＯＳコマンドの各々を解釈し、ＩＴシステムにとって破壊的な活動を行うことを試みるたとえばＡＰＩ接続、悪意をもって書かれたｃｒｏｎジョブ、またはソフトウェア・ツールもしくはエージェントなど、あらゆるソースまたはツールからのコマンドを阻止し、事前に構成されたロジック（すなわち構成ルール）に基づいて、阻止されたコマンドに関する情報に基づく判定を行う。セキュリティ統合レイヤによるコマンドの解釈および阻止によって、意図的エラーおよび偶発的エラーを含むオペレータ・エラーが防止または低減される。セキュリティ統合レイヤのコンポーネントは（１）プロセス・レジストリと、（２）構成レジストリと、（３）活動レジストリと、（４）外部システムに対するＡＰＩとを含み、これらは以下に提供される図１の考察においてより詳細に説明される。
【００３３】
ＵＮＩＸ（登録商標）環境における特有の課題は、特権ユーザ（すなわちルート・ユーザ）による活動を制御するための定められたやり方がないことである。ユーザがルート・ユーザとしてＵＮＩＸ（登録商標）システムにログインした後、そのユーザは特権ユーザとしてすべてのコマンドへのアクセスを得る。特権ユーザによるその後のヒューマン・エラーによってシャットダウンまたはリブート・コマンドが発行されるかもしれず、それが稼動中のアプリケーションおよびデータベース・プロセスを強制終了させることがある。もしシャットダウンまたはリブート・シーケンスの時点でデータベース・トランザクションが起こっていれば、データが破損するおそれがある。よって、非意図的に呼び出されたコマンドによって、重要なビジネス機能が失われるおそれがある。本明細書に開示される実施形態は、事前構成条件のセットによってコマンドを評価することによって、前述のヒューマン・エラーの問題を回避する。シャットダウン・コマンドに関する一例として、事前構成条件のセットは、チケット・システムと対話することによって変更制御を検証するステップと、ジョブ・スケジューリング・システムと対話することによって最近のバックアップを検証するステップと、データベース・インスタンスを識別およびシャットダウンするステップとを含んでもよい。
【００３４】
一実施形態において、オペレータ・コマンドがＯＳカーネルに到達する前に、コマンドは構文解析を受け、構成ルールおよびカスタマイズ可能な企業セキュリティ・モデルの適用に対して自動的に評価される。
【００３５】
一実施形態において、セキュリティ統合レイヤは外部システム（例、チケット・システム、変更管理データベース（ＣＭＤＢ：ｃｈａｎｇｅ  ｍａｎａｇｅｍｅｎｔ  ｄａｔａｂａｓｅ）システム、メンテナンス／ダウンタイム・レポジトリ、企業バッチ管理ツール、およびシステム・モニタリング・エージェント）のＡＰＩと統合されて、オペレータ・コマンドが活動（単数または複数）を行うために許可および実行されるべきか、それとも活動（単数または複数）が行われないように許可されず終了されるべきかどうかに関するインテリジェントな自動判定を提供する。コマンドに関連する活動が行われないようにオペレータ・コマンドが許可されずに終了されるとき、セキュリティ統合レイヤは１つ以上の他の活動を実行するかどうかを決定するためのインテリジェントな自動判定を行ってもよい。
【００３６】
本発明の実施形態は、標準的なシステム提供品の一部として、またはクラウド提供品とバンドルされることがある。
【００３７】
構成に基づくワークフローを提供するためのシステム
図１は、本発明の実施形態によるＩＴシステムにおいて構成に基づくワークフローを提供するためのシステム１００のブロック図である。システム１００はコンピュータ１０２を含み、このコンピュータ１０２はセキュリティ統合レイヤ１０４（すなわち、ソフトウェアに基づくセキュリティ統合システム）を実行する。セキュリティ統合レイヤ１０４は中央管理コンソール１０６と、キャッシング・チャネル１０８と、プロセス・レジストリ１１０と、構成レジストリ１１２と、活動レジストリ１１４と、汎用外部システム・エンジン１１６と、システム特有の変換モジュール１１８とを含む。
【００３８】
セキュリティ統合レイヤ１０４はコマンド１２０−１、…、１２０−Ｎを受信および解釈し、このコマンドはユーザもしくはアプリケーション・コマンドまたはその両方を含み、ここでＮは１以上の整数である。セキュリティ統合レイヤ１０４は、カーネル・モードのプロセス・デーモンを通じてコンピュータ１０２のオペレーティング・システム（ＯＳ）（図示せず）と対話する。セキュリティ統合レイヤ１０４はＯＳの上で作動してコマンド１２０−１、…、１２０−Ｎの各々を解釈し、事前に構成されたルールに基づいて、コマンド１２０−１、…、１２０−Ｎの各々を検証することと、コマンド１２０−１、…、１２０−Ｎの各々の実行を継続するかどうかとに関して、情報に基づく判定を行う。
【００３９】
プロセス・レジストリ１１０は、セキュリティ統合レイヤ１０４によって管理および制御されるものとして指定されたプロセスおよびコマンドのリストを含む。コマンドまたはプロセスがプロセス・レジストリ１１０にリストされているとき、セキュリティ統合レイヤ１０４は構成レジストリ１１２に制御を移す。
【００４０】
構成レジストリ１１２は、構成可能なパラメータのセットおよび事前に構成された条件を含み、コマンド１２０−１、…、１２０−Ｎを検証するためにこれらに対してコマンド１２０−１、…、１２０−Ｎの各々がチェックされる。たとえば構成レジストリ１１２は、コマンドの検証が外部システム１２２−１、…、外部システム１２２−Ｍに含まれる外部チケット・システムとインタフェースすることを含む必要があることを示す事前構成条件を含んでもよく、ここでＭは１以上の整数である。外部チケット・システムとインタフェースすることは、そのコマンドに対する有効な変更管理が存在することを確実にする。構成レジストリ１１２がパラメータのセットおよび事前構成条件に対してコマンドを検証することに応答して、セキュリティ統合レイヤ１０４は活動レジストリ１１４に制御を移す。
【００４１】
活動レジストリ１１４は、構成レジストリ１１２がコマンド１２０−１、…、１２０−Ｎに含まれるコマンドを正常に検証したことに応答して行われる構成可能な活動（単数または複数）を含む。活動レジストリ１１４は、次の複数のやり方で構成されてもよい。（１）コマンドを実行する、（２）コマンドを中止する、または（３）付加的な活動を開始する。
【００４２】
プロセス・レジストリ１１０、構成レジストリ１１２、および活動レジストリ１１４は中央管理コンソール１０６によって中央で管理されるが、キャッシング・チャネル１０８によってローカルにキャッシュされる。
【００４３】
汎用外部システム・エンジン１１６は、外部システム１２２−１、…、外部システム１２２−Ｍと通信するために用いられるＡＰＩを含み、ここでＭは１以上の整数である。前述の外部システム１２２−１、…、１２２−Ｍとの通信によって、付加的なクエリの受信および付加的な応答の送信がもたらされて、コマンド１２０−１、…、１２０−Ｎの各々が正常に検証されたかどうかに関する最終判定が行われる。
【００４４】
セキュリティ統合レイヤ１０４は、ＩＴシステムに対してローカルに実行される。セキュリティ統合レイヤ１０４は、あらゆる輸送遅延（すなわち、コマンド１２０−１、…、１２０−Ｎの評価または構成変更の際の待ち時間）を回避または低減するためにキャッシング・チャネル１０８を使用する。中央管理コンソール１０６は集中した管理能力を提供し、それによってセキュリティ統合レイヤ１０４の機能を提供するそれぞれのセキュリティ統合レイヤ（図示せず）を含む他のシステム（図示せず）の制御が可能になる。
【００４５】
セキュリティ統合レイヤ１０４は、あらゆるソースまたはソフトウェア・ツール（例、ＡＰＩ接続、悪意をもって書かれたｃｒｏｎジョブ、またはシステム１００にとって破壊的な活動を行うことを試みるソフトウェア・エージェントもしくはツール）からのコマンド１２０−１、…、１２０−Ｎに含まれる破壊的なコマンドを阻止する。
【００４６】
一実施形態において、セキュリティ統合レイヤ１０４はシステム１００のＯＳレイヤにおいて外部システム１２２−１、…、１２２−Ｍと統合される。一実施形態において、外部システム１２２−１、…、１２２−Ｍは、トランスポート・レイヤ・セキュリティを通じたハイパーテキスト・トランスファー・プロトコル（ＨＴＴＰＳ）上のＳＯＡＰ（元はシンプル・オブジェクト・アクセス・プロトコル（Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ））を通じて拡張可能マークアップ言語（ＸＭＬ）データを用いて、ソケットまたはその他の手段を介して通信するためのチケット・システムまたはその他の許可によって駆動されるシステムを含む。一実施形態において、セキュリティ統合レイヤ１０４はＸＭＬデータを用いて、外部システム１２２−１、…、１２２−Ｍによる構成された付加的なチェックを行ってもよい。
【００４７】
一実施形態において、外部システム１２２−１、…、１２２−Ｍはチケット・システム、構成管理データベース・システム、動作およびネットワーク管理を提供するモニタリング・システム、もしくはジョブ・スケジューリング・システム、またはその組み合わせを含み、これはコマンド１２０−１、…、１２０−Ｎの１つの検証の際にジョブが実行されていないことを確実にすること、承認された稼動停止時間のチェック、保守時間枠のチェックなどを行う。
【００４８】
一実施形態において、セキュリティ統合レイヤ１０４が外部システム１２２−１、…、１２２−Ｍとの間で行う通信は汎用外部システム・エンジン１１６においてまとめられ、付加的なクエリおよび応答が受信および送信されて、コマンド１２０−１、…、１２０−Ｎの各々の検証および実行に関する最終判定が行われる。
【００４９】
代替的実施形態において、セキュリティ統合レイヤ１０４は、たとえばオープン・データベース・コネクティビティ（ＯＤＢＣ：Ｏｐｅｎ  Ｄａｔａｂａｓｅ  Ｃｏｎｎｅｃｔｉｖｉｔｙ）などの任意の受信プロトコルを介して、ＯＳコマンドおよびサブシステム・コマンド（例、データベース・システム、ミドルウェアなどからのもの）を阻止する。
【００５０】
図１に示されるコンポーネントの機能を、以下に提供される図２および図６の考察においてより詳細に説明する。
【００５１】
構成に基づくワークフローを提供するためのプロセス
図２は、本発明の実施形態による、ルール・エンジンと統合されたＩＴシステムにおいて構成に基づくワークフローを提供するプロセスの流れ図である。図２のプロセスは、ステップ２００において開始する。ステップ２０２において、セキュリティ統合レイヤ１０４（図１を参照）は、ユーザ、オペレーティング・システム、または別のソースからコマンド１２０−１（図１を参照）を受信する。
【００５２】
ステップ２０４において、セキュリティ統合レイヤ１０４（図１を参照）は、ステップ２０２において受信したコマンドを、プロセス・レジストリ１１０（図１を参照）に含まれるコマンドのリスト内のコマンドの１つとして識別する。
【００５３】
ステップ２０６において、セキュリティ統合レイヤ１０４（図１を参照）は、ステップ２０４において識別したコマンドに関連するパラメータのセットおよび事前構成条件を決定する。
【００５４】
ステップ２０８において、ステップ２０６において決定されたパラメータのセットおよび事前構成条件に基づいて、セキュリティ統合レイヤ１０４（図１を参照）は、構成に基づくワークフローに含まれかつコマンド１２０−１（図１を参照）を検証する検証活動（単数または複数）を決定する。
【００５５】
ステップ２１０において、セキュリティ統合レイヤ１０４（図１を参照）は、外部システム１２２−１、…、１２２−Ｍ（図１を参照）に含まれる外部システム（単数または複数）とのそれぞれの対話（単数または複数）を完了させることによって、ステップ２０８において決定された検証活動（単数または複数）を行い、この対話（単数または複数）はステップ２０６において決定されたパラメータのセットを使用する。
【００５６】
ステップ２１２において、セキュリティ統合レイヤ１０４（図１を参照）は、ステップ２１０において行った検証活動（単数または複数）が正常に完了したかどうかを判定する。ステップ２１２において検証活動（単数または複数）が正常に完了したと判定されたとき、次いでステップ２１２のＹｅｓ分岐が取られて、ステップ２１４が行われる。
【００５７】
ステップ２１４において、セキュリティ統合レイヤ１０４（図１を参照）は、コマンド１２０−１（図１を参照）の実行を許可および継続する。ステップ２１４の後、図２のプロセスはステップ２１６において終了する。
【００５８】
ステップ２１２に戻って、セキュリティ統合レイヤ１０４（図１を参照）が、検証活動（単数または複数）の少なくとも１つが正常に完了しなかったと判定するとき、次いでステップ２１２のＮｏ分岐が取られて、ステップ２１８が行われる。
【００５９】
ステップ２１８において、セキュリティ統合レイヤ１０４（図１を参照）は、コマンド１２０−１（図１を参照）の実行を許可せず継続しない。ステップ２１８の後、図２のプロセスはステップ２１６において終了する。
【実施例】
【００６０】
図３は、本発明の実施形態による、図２のプロセスにおいて用いられるレジストリおよびＡＰＩの実施例３００を示す。実施例３００はプロセス・レジストリ１１０と、構成レジストリ１１２と、外部システムＡＰＩ３０２と、活動レジストリ１１４とを含む。プロセス・レジストリ１１０は、プロセスＳ１Ｐを完了するためのシャットダウン・コマンド３０４と、プロセスＳ２Ｐを完了するためのリブート・コマンド３０６とを含む。
【００６１】
構成レジストリ１１２は、それぞれ以下の検証活動のためのシーケンスＳ１Ｃ１、Ｓ１Ｃ２、およびＳ１Ｃ３を含む。変更制御を検証する３０８、最近のバックアップを検証する３１０、およびデータベース・インスタンスを検証する３１２。
【００６２】
外部システムＡＰＩは、チケット・システム３１４、スケジューリング・システム３１６、およびデータベース管理システム３１８と通信するためのＡＰＩを含む。データベース管理システム３１８との通信のためのＡＰＩは、ＪＤＢＣまたはＯＤＢＣを含んでもよい。
【００６３】
活動レジストリ１１４は、シーケンスＳ１Ａ１（すなわち、コマンドを中止して、コマンドが中止されたことを管理に通知する）およびＳ１Ａ２（すなわち、コマンドの実行を継続する）を指定し、これらのシーケンスは、外部システムＡＰＩ３０２に含まれるＡＰＩを介してチケット・システム３１４と対話することによって「変更制御を検証する」３０８（すなわちシーケンスＳ１Ｃ１）を行う構成レジストリ１１２の結果に関連付けられる。
【００６４】
さらに、活動レジストリ１１４は、シーケンスＳ１Ａ３（すなわち、コマンドを中止する）およびＳ１Ａ４（すなわち、コマンドの実行を継続する）を指定し、これらのシーケンスは、外部システムＡＰＩ３０２に含まれるＡＰＩを介してスケジューリング・システム３１６と対話することによって「最近のバックアップを検証する」３１０（すなわち、シーケンスＳ１Ｃ２）を行う構成レジストリ１１２の結果に関連付けられる。
【００６５】
なおさらに、活動レジストリ１１４は、シーケンスＳ１Ａ５（すなわち、データベースをシャットダウンする）およびＳ１Ａ６（すなわち、コマンドの実行を継続する）を指定し、これらのシーケンスは、外部システムＡＰＩ３０２に含まれるＡＰＩ（例、ＪＤＢＣまたはＯＤＢＣ）を介してデータベース管理システム３１８と対話することによって「データベース・インスタンスを検証する」３１２（すなわち、シーケンスＳ１Ｃ３）を行う構成レジストリ１１２の結果に関連付けられる。
【００６６】
図２のプロセスを用いてコマンドを識別および検証し、コマンドの検証の結果に基づいて活動（単数または複数）を行うためのレジストリ１１０、１１２、および１１４ならびに外部システムＡＰＩ３０２の使用について、図４〜５に示される実施例に関連して以下に説明する。
【００６７】
図４〜５は、本発明の実施形態による、図３のレジストリおよびＡＰＩを用いる図２のプロセスの実施例３３０を示す。実施例３３０は、活動レジストリ１１４（図３を参照）によって行われる活動３３２と、汎用外部システム・エンジン１１６（図１を参照）に含まれるＡＰＩ３０２（図３を参照）によって行われる活動３３４と、構成レジストリ１１２（図３を参照）によって行われる活動３３６とを含む。実施例３３０におけるプロセスはステップ３５０において、システム・シャットダウン・コマンドを発行する（すなわち、ＩＴシステムのシャットダウンを開始する）システム管理者またはＩＴシステムの別のユーザによって開始される。以後、図４〜５の考察において、ステップ３５０において発行されるシステム・シャットダウン・コマンドを単に「コマンド」と呼ぶ。ステップ２０２（図２を参照）において、セキュリティ統合レイヤ１０４（図１を参照）はコマンドを受信する。
【００６８】
ステップ３５１（すなわち、シーケンスＳ１）において、セキュリティ統合レイヤ１０４（図１を参照）はコマンドを解釈し、プロセス・レジストリ１１０（図３を参照）に対してコマンドを検証する。
【００６９】
ステップ３５２（すなわち、プロセスＳ１Ｐ）において、セキュリティ統合レイヤ１０４（図１を参照）はステップ３５１における検証が成功したかどうかを判定する（すなわち検証の成功とは、プロセス・レジストリ１１０（図３を参照）に含まれる、事前に設定されたコマンド・リストの中にそのコマンドが見出されたことを示す）。ステップ３５１および３５２は、ステップ２０４（図２を参照）に含まれる。
【００７０】
ステップ３５２において、セキュリティ統合レイヤ１０４（図１を参照）がステップ３５１における検証が成功したと判定するとき、次いでステップ３５２のＹｅｓ分岐に従ってステップ３５３が行われる。
【００７１】
ステップ２０６（図２を参照）はステップ３５３に先行する。ステップ３５３（すなわち、シーケンスＳ１Ｃ）において、セキュリティ統合レイヤ１０４（図１を参照）はコマンドの処理の制御を保持し、構成レジストリ１１２（図１を参照）において定められる事前構成条件に対するコマンドの検証を開始する。事前構成条件は（ｉ）変更制御と、（ｉｉ）一番最近のバックアップと、（ｉｉｉ）データベース・インスタンスとを検証することからなる。
【００７２】
ステップ３５４（すなわち、シーケンスＳ１Ｃ１）において、セキュリティ統合レイヤ１０４（図１を参照）はコマンドに対する変更制御の検証を開始し、これは承認された変更レコードが存在することを確認することを試みるものである。ステップ３５５において、セキュリティ統合レイヤ１０４（図１を参照）は外部システムＡＰＩ３０２（図３を参照）内のＡＰＩを介してチケット・システム３１４（図３を参照）と対話する。ステップ３５４および３５５は、ステップ２１０（図２を参照）に含まれる。
【００７３】
ステップ３５６（すなわち、シーケンスＳ１Ａ１またはＳ１Ａ２）において、セキュリティ統合レイヤ１０４（図１を参照）は、承認された変更レコードが存在するかどうかを判定する。ステップ３５６において、セキュリティ統合レイヤ１０４（図１を参照）が承認された変更レコードが存在しないと判定するとき、次いでステップ３５６のＮｏ分岐に従ってステップ３５７および３５８が行われて、活動レジストリ１１４（図３を参照）において構成されるとおりにさらなる活動が完了される。ステップ３５６はステップ２１２（図２を参照）に含まれる。
【００７４】
ステップ３５７（すなわち、シーケンスＳ１Ａ１の一部）においては、ステップ３５６において承認された変更制御が見出されなかったことに応答して、セキュリティ統合レイヤ１０４（図１を参照）は承認された変更制御が見出されなかったことを示す通知を管理に送る。ステップ３５８においては、ステップ３５６において承認された変更制御が見出されなかったことに応答して、セキュリティ統合レイヤ１０４（図１を参照）はコマンドの実行を中止する。ステップ３５８はステップ２１８（図２を参照）に含まれる。
【００７５】
ステップ３５６に戻って、セキュリティ統合レイヤ１０４（図１を参照）が承認された変更レコードが存在すると判定するとき、次いでステップ３５６のＹｅｓ分岐に従ってステップ３５９が行われる。
【００７６】
ステップ３５９（すなわち、シーケンスＳ１Ａ２）においては、ステップ３５６において承認された変更制御が見出されたことに応答して、セキュリティ統合レイヤ１０４（図１を参照）はステップ３５３において言及される残りの事前構成条件を用いてコマンドの検証を継続することによって、コマンドの実行を継続する。ステップ３５９はステップ２１４（図２を参照）に含まれる。
【００７７】
ステップ３６０（すなわち、シーケンスＳ１Ｃ２）においては、シーケンスＳ１Ｃ１における検証の完了の成功の後に、セキュリティ統合レイヤ１０４（図１を参照）は一番最近のバックアップ（すなわち、現時点の直前の予め定められた期間内に起こったバックアップ）の検証（確認）を開始し、これは構成レジストリ１１２（図３を参照）における次の事前構成条件である。
【００７８】
ステップ３６１において、セキュリティ統合レイヤ１０４（図１を参照）は外部システムＡＰＩ３０２（図３を参照）内のＡＰＩを介してスケジューリング・システム３１６（図３を参照）と対話する。ステップ３６２（すなわち、シーケンスＳ１Ａ３またはＳ１Ａ４）において、セキュリティ統合レイヤ１０４（図１を参照）は、一番最近のバックアップが検証されたかどうかを判定する。ステップ３６０および３６１は、ステップ２１０（図２を参照）に含まれる。
【００７９】
ステップ３６２において、セキュリティ統合レイヤ１０４（図１を参照）が、一番最近のバックアップが検証されていないと判定するとき、次いでステップ３６２のＮｏ分岐に従ってシーケンスＳ１Ａ３においてステップ３５８が行われ、このステップはコマンドの実行を中止する。ステップ３６２において、セキュリティ統合レイヤ１０４（図１を参照）が、一番最近のバックアップが検証されたと判定するとき、次いでステップ３６２のＹｅｓ分岐に従ってシーケンスＳ１Ａ４においてステップ３５９が行われ、このステップは構成レジストリ１１２（図３を参照）に含まれる残りの事前構成条件を用いてコマンドの検証を継続することによって、コマンドの実行を継続する。ステップ３６２はステップ２１２（図２を参照）に含まれる。
【００８０】
ステップ３６３（すなわち、シーケンスＳ１Ｃ３）においては、シーケンスＳ１Ｃ２における検証の完了の成功の後に、セキュリティ統合レイヤ１０４（図１を参照）はデータベース・インスタンスの検証を開始し、これは構成レジストリ１１２（図３を参照）における次の事前構成条件である。
【００８１】
ステップ３６３の後、プロセスは図５のステップ３６４に続く。図５は、活動レジストリ１１４（図３を参照）によって行われる活動３３２と、汎用外部システム・エンジン１１６（図１を参照）に含まれるＡＰＩ３０２（図３を参照）によって行われる活動３３４とを含む。図５のステップ３６４において、セキュリティ統合レイヤ１０４（図１を参照）は外部システムＡＰＩ３０２（図３を参照）内のＡＰＩを介してデータベース管理システム３１８（図３を参照）と対話する。ステップ３６３（図４を参照）およびステップ３６４は、ステップ２１０（図２を参照）に含まれる。
【００８２】
ステップ３６５（すなわち、シーケンスＳ１Ａ５またはＳ１Ａ６）においては、データベース管理システム３１８（図３を参照）との対話に基づいて、セキュリティ統合レイヤ１０４（図１を参照）はデータベース・インスタンスが稼動しているかどうかを判定する。ステップ３６５において、セキュリティ統合レイヤ１０４（図１を参照）がデータベース・インスタンス（単数または複数）が稼動していると判定するとき、次いでステップ３６５のＹｅｓ分岐に従ってステップ３６６が行われる。ステップ３６５はステップ２１２（図２を参照）に含まれる。
【００８３】
ステップ３６６においては、ステップ３６５においてデータベース・インスタンス（単数または複数）が稼動していると判定するステップに応答して、セキュリティ統合レイヤ１０４（図１を参照）はシーケンスＳ１Ａ５を開始してデータベース・インスタンス（単数または複数）をシャットダウンする。ステップ３６７においては、ステップ３６５においてデータベース・インスタンス（単数または複数）が稼動していると判定するステップに応答して、セキュリティ統合レイヤ１０４（図１を参照）はシーケンスＳ１Ａ６を開始してコマンドの実行を完了させ、その結果としてＩＴシステムがシャットダウンされる。ステップ３６７はステップ２１４（図２を参照）に含まれる。
【００８４】
ステップ３６５に戻って、セキュリティ統合レイヤ１０４（図１を参照）がデータベース・インスタンスが稼動していないと判定するとき、次いでステップ３６５のＮｏ分岐に従ってステップ３６７が行われ、このステップはコマンドの実行を完了させ、その結果としてＩＴシステムがシャットダウンされる。
【００８５】
図４のステップ３５２に戻って、セキュリティ統合レイヤ１０４（図１を参照）が、プロセス・レジストリ１１０（図３を参照）に含まれる事前に設定されたコマンドのリストの中にコマンドが見出されなかったと判定するとき、次いで図５のステップ３６８が行われる。ステップ３６８において、セキュリティ統合レイヤ１０４（図１を参照）はＩＴシステムのオペレーティング・システムにコマンドの制御を渡し、ステップ３６７において、セキュリティ統合レイヤ１０４（図１を参照）はコマンドの実行を完了させる。
【００８６】
図４〜５のプロセスは実施例として提供されるが、図４〜５のプロセスにおけるロジックおよびステップは本発明の一実施形態である。
【００８７】
コンピュータ・システム
図６は、本発明の実施形態による、図１のシステムに含まれ、かつ図２のプロセスを実施するコンピュータのブロック図である。コンピュータ１０２は、一般的に中央処理ユニット（ＣＰＵ）４０２と、メモリ４０４と、入力／出力（Ｉ／Ｏ：ｉｎｐｕｔ／ｏｕｔｐｕｔ）インタフェース４０６と、バス４０８とを含むコンピュータ・システムである。さらに、コンピュータ１０２はＩ／Ｏデバイス４１０と、コンピュータ・データ・ストレージ・ユニット４１２とに結合される。ＣＰＵ４０２はコンピュータ１０２の演算および制御機能を行い、それはＩＴシステムにおいて構成に基づくワークフローを提供する方法を行うためのセキュリティ統合レイヤ１０４（図１を参照）に対するプログラム・コード４１４に含まれる命令を実行することを含み、この命令はメモリ４０４を介してＣＰＵ４０２によって実行される。ＣＰＵ４０２は単一の処理ユニットを含んでもよいし、（例、クライアントおよびサーバにおける）１つ以上の場所の１つ以上の処理ユニットに分散されてもよい。
【００８８】
メモリ４０４は、以下に説明する公知のコンピュータ可読ストレージ媒体を含む。一実施形態において、メモリ４０４のキャッシュ・メモリ・エレメントは、プログラム・コードの命令の実行中に大容量記憶装置からコードを検索しなければならない回数を低減するために、少なくともいくつかのプログラム・コード（例、プログラム・コード４１４）の一時記憶装置を提供する。さらに、ＣＰＵ４０２と同様に、メモリ４０４は１つ以上のタイプのデータ・ストレージを含む単一の物理的場所に存在してもよいし、さまざまな形の複数の物理的システムに分散されてもよい。さらにメモリ４０４は、たとえばローカル・エリア・ネットワーク（ＬＡＮ：ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）または広域ネットワーク（ＷＡＮ：ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）などに分散されたデータを含み得る。
【００８９】
Ｉ／Ｏインタフェース４０６は、外部ソースと情報を交換するための任意のシステムを含む。Ｉ／Ｏデバイス４１０は、ディスプレイ、キーボードなどを含む任意の公知のタイプの外部デバイスを含む。バス４０８は、コンピュータ１０２の各コンポーネント間の通信リンクを提供し、電気、光、無線などを含む任意のタイプの伝送リンクを含んでもよい。
【００９０】
加えて、Ｉ／Ｏインタフェース４０６は、コンピュータ１０２がコンピュータ・データ・ストレージ・ユニット４１２または別のコンピュータ・データ・ストレージ・ユニット（図示せず）に情報（例、データまたはプログラム命令、たとえばプログラム・コード４１４など）を保存して、そこからその情報を検索することを可能にする。コンピュータ・データ・ストレージ・ユニット４１２は、以下に説明する公知のコンピュータ可読ストレージ媒体を含む。一実施形態において、コンピュータ・データ・ストレージ・ユニット４１２はたとえば磁気ディスク・ドライブ（すなわち、ハード・ディスク・ドライブ）または光ディスク・ドライブ（例、ＣＤ−ＲＯＭディスクを受け取るＣＤ−ＲＯＭドライブ）などの不揮発性データ・ストレージ・デバイスである。
【００９１】
メモリ４０４もしくはストレージ・ユニット４１２またはその両方は、ＩＴシステムにおいて構成に基づくワークフローを提供するためにメモリ４０４を介してＣＰＵ４０２によって実行される命令を含むコンピュータ・プログラム・コード４１４を保存してもよい。図６はメモリ４０４がプログラム・コードを含むものとして示しているが、本発明はメモリ４０４がすべてのコード４１４を同時に含むのではなく、一度にコード４１４の一部分のみを含むような実施形態も予期している。
【００９２】
さらに、メモリ４０４はオペレーティング・システム（図示せず）を含んでもよいし、図６に示されていないその他のシステムを含んでもよい。
【００９３】
コンピュータ１０２に結合されるストレージ・ユニット４１２または１つもしくはそれ以上の他のコンピュータ・データ・ストレージ・ユニット（図示せず）あるいはその両方は、コマンド１２０−１、…、コマンド１２０−Ｎ（図１を参照）に関連する検証活動のベースであるパラメータおよび事前構成条件を含んでもよい。
【００９４】
当業者に認識されることとなるとおり、第１の実施形態において本発明は方法であってもよく、第２の実施形態において本発明はシステムであってもよく、第３の実施形態において本発明はコンピュータ・プログラム製品であってもよい。
【００９５】
本発明の実施形態の任意のコンポーネントには、ＩＴシステムにおいて構成に基づくワークフローを提供することに関するコンピューティング・インフラストラクチャをディプロイまたは統合することを提供するサービス・プロバイダによってディプロイ、管理、サービスなどが行われ得る。よって、本発明の実施形態はコンピュータ・インフラストラクチャをサポートするためのプロセスを開示し、このプロセスは、１つ以上のプロセッサ（例、ＣＰＵ４０２）を含むコンピュータ・システム（例、コンピュータ１０２）においてコンピュータ可読コード（例、プログラム・コード４１４）の統合、ホスティング、維持、およびディプロイの少なくとも１つに対する少なくとも１つのサポート・サービスを提供するステップを含み、このプロセッサ（単数または複数）は、コンピュータ・システムにＩＴシステムにおいて構成に基づくワークフローを提供させるコードに含まれる命令を行う。別の実施形態は、コンピュータ・インフラストラクチャをサポートするためのプロセスを開示し、このプロセスは、プロセッサを含むコンピュータ・システムにコンピュータ可読プログラム・コードを統合するステップを含む。統合するステップは、プロセッサの使用を通じてコンピュータ・システムのコンピュータ可読ストレージ・デバイスにプログラム・コードを保存するステップを含む。プログラム・コードは、プロセッサによって実行される際に、ＩＴシステムにおいて構成に基づくワークフローを提供する方法を実現する。
【００９６】
ＩＴシステムにおいて構成に基づくワークフローを提供するためのプログラム・コード４１４は、コンピュータ可読ストレージ媒体（例、コンピュータ・データ・ストレージ・ユニット４１２）をロードすることを介してクライアント、サーバ、およびプロキシ・コンピュータ（図示せず）に直接手動でロードすることによってディプロイされてもよいことが理解されるが、プログラム・コード４１４は、中央サーバまたは中央サーバのグループにプログラム・コード４１４を送ることによって自動的または半自動的にコンピュータ１０２にディプロイされてもよい。次いで、プログラム・コード４１４はプログラム・コード４１４を実行することとなるクライアント・コンピュータ（例、コンピュータ１０２）にダウンロードされる。代替的に、プログラム・コード４１４はｅメールを介してクライアント・コンピュータに直接送られる。次いで、プログラム・コード４１４を分離してディレクトリに入れるプログラムを実行するｅメール上のボタンによって、プログラム・コード４１４はクライアント・コンピュータ上のディレクトリに分離されるか、またはクライアント・コンピュータ上のディレクトリにロードされる。別の選択肢は、クライアント・コンピュータ・ハード・ドライブ上のディレクトリにプログラム・コード４１４を直接送ることである。プロキシ・サーバが存在する場合は、プロセスはプロキシ・サーバ・コードを選択し、どのコンピュータにそのプロキシ・サーバのコードを置くかを定め、プロキシ・サーバ・コードを送信し、次いでプロキシ・コンピュータにおいてプロキシ・サーバ・コードをインストールする。プログラム・コード４１４はプロキシ・サーバに送信され、次いでプロキシ・サーバに保存される。
【００９７】
本発明の別の実施形態は、サブスクリプション、広告、および／または料金に基づいてプロセス・ステップを行う方法を提供する。すなわち、たとえばソリューション・インテグレーター（Ｓｏｌｕｔｉｏｎ  Ｉｎｔｅｇｒａｔｏｒ）などのサービス・プロバイダは、ＩＴシステムにおいて構成に基づくワークフローを提供するプロセスの作成、維持、サポートなどを提供できる。この場合、サービス・プロバイダは、１人またはそれ以上の顧客に対するプロセス・ステップを行うコンピュータ・インフラストラクチャの作成、維持、サポートなどを行い得る。それと引き換えに、サービス・プロバイダはサブスクリプションもしくは料金またはその両方の合意の下に顧客（単数または複数）から支払いを受けることができ、またはサービス・プロバイダは１つもしくはそれ以上のサード・パーティに対する広告内容の販売からの支払いを受けることができ、あるいはその両方ができる。
【００９８】
本発明は、統合の任意の可能な技術的詳細レベルにおけるシステム、方法、もしくはコンピュータ・プログラム製品、またはその組み合わせであってもよい。コンピュータ・プログラム製品は、プロセッサ（例、ＣＰＵ４０２）に本発明の態様を行わせるためのコンピュータ可読プログラム命令４１４を有するコンピュータ可読ストレージ媒体（または複数の媒体）（すなわち、メモリ４０４およびコンピュータ・データ・ストレージ・ユニット４１２）を含んでもよい。
【００９９】
コンピュータ可読ストレージ媒体は、命令実行デバイス（例、コンピュータ１０２）によって使用するための命令（例、プログラム・コード４１４）を保持および保存できる有形デバイスであり得る。コンピュータ可読ストレージ媒体は、たとえば電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、または前述の任意の好適な組み合わせなどであってもよいが、それに限定されない。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的リストは以下を含む。ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ：ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、リード・オンリ・メモリ（ＲＯＭ：ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、消去可能プログラマブル・リード・オンリ・メモリ（ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）（ＥＰＲＯＭまたはフラッシュ・メモリ）、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ：ｓｔａｔｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、ポータブル・コンパクト・ディスク・リード・オンリ・メモリ（ＣＤ−ＲＯＭ：ｃｏｍｐａｃｔ  ｄｉｓｃ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、デジタル多用途ディスク（ＤＶＤ：ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋ）、メモリ・スティック、フレキシブルディスク、機械的にコード化されたデバイス、たとえばパンチ・カードまたは記録された命令を有する溝の中の隆起構造など、および前述の任意の好適な組み合わせ。本明細書において用いられるコンピュータ可読ストレージ媒体は、たとえば電波もしくはその他の自由に伝播する電磁波、導波路もしくはその他の伝送媒体を通じて伝播する電磁波（例、光ファイバ・ケーブルを通過する光パルス）、またはワイヤを通じて伝送される電気信号など、それ自体が一時的信号のものであると解釈されるべきではない。
【０１００】
本明細書に記載されるコンピュータ可読プログラム命令（例、プログラム・コード４１４）は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング／処理デバイス（例、コンピュータ１０２）にダウンロードされ得るか、またはたとえばインターネット、ローカル・エリア・ネットワーク、広域ネットワーク、もしくは無線ネットワーク、またはその組み合わせなどのネットワーク（図示せず）を介して外部コンピュータまたは外部ストレージ・デバイス（例、コンピュータ・データ・ストレージ・ユニット４１２）にダウンロードされ得る。ネットワークは銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、もしくはエッジ・サーバ、またはその組み合わせを含んでもよい。各コンピューティング／処理デバイス内のネットワーク・アダプタ・カード（図示せず）またはネットワーク・インタフェース（図示せず）は、ネットワークからコンピュータ可読プログラム命令を受信して、そのコンピュータ可読プログラム命令をそれぞれのコンピューティング／処理デバイス内のコンピュータ可読ストレージ媒体に記憶するために転送する。
【０１０１】
本発明の動作を実行するためのコンピュータ可読プログラム命令（例、プログラム・コード４１４）はアセンブラ命令、命令セット・アーキテクチャ（ＩＳＡ：ｉｎｓｔｒｕｃｔｉｏｎ−ｓｅｔ−ａｒｃｈｉｔｅｃｔｕｒｅ）命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路に対する構成データ、または１つもしくはそれ以上のプログラミング言語の任意の組み合わせで書かれたソース・コードもしくはオブジェクト・コードであってもよく、このプログラミング言語はオブジェクト指向プログラミング言語、たとえばＳｍａｌｌｔａｌｋ、またはＣ＋＋など、および手続き型プログラミング言語、たとえば「Ｃ」プログラミング言語または類似のプログラミング言語などを含む。コンピュータ可読プログラム命令は、すべてがユーザのコンピュータで実行されてもよいし、スタンド・アロン・ソフトウェア・パッケージとして部分的にユーザのコンピュータで実行されてもよいし、一部がユーザのコンピュータで、一部がリモート・コンピュータで実行されてもよいし、すべてがリモート・コンピュータまたはサーバで実行されてもよい。後者のシナリオにおいて、リモート・コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）または広域ネットワーク（ＷＡＮ）を含む任意のタイプのネットワークを通じてユーザのコンピュータに接続されてもよいし、（たとえば、インターネット・サービス・プロバイダを用いてインターネットを通じて）外部コンピュータへの接続が行われてもよい。いくつかの実施形態において、たとえばプログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ：ｆｉｅｌｄ−ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙｓ）、またはプログラマブル・ロジック・アレイ（ＰＬＡ：ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ａｒｒａｙｓ）などを含む電子回路は、本発明の態様を行うために電子回路をパーソナライズするためのコンピュータ可読プログラム命令の状態情報を使用することによって、コンピュータ可読プログラム命令を実行してもよい。
【０１０２】
本明細書においては、本発明の実施形態による方法、装置（システム）、およびコンピュータ・プログラム製品の流れ図（例、図２）もしくはブロック図（例、図１および図６）またはその両方を参照して、本発明の態様を説明している。流れ図もしくはブロック図またはその両方の各ブロック、および流れ図もしくはブロック図またはその両方におけるブロックの組み合わせは、コンピュータ可読プログラム命令（例、プログラム・コード４１４）によって実現され得ることが理解されよう。
【０１０３】
これらのコンピュータ可読プログラム命令は、汎用目的コンピュータ、特定目的コンピュータ、またはマシンを生成するためのその他のプログラマブル・データ処理装置（例、コンピュータ１０２）のプロセッサ（例、ＣＰＵ４０２）に提供されることによって、そのコンピュータまたはその他のプログラマブル・データ処理装置のプロセッサを介して実行される命令が、流れ図もしくはブロック図またはその両方の単数または複数のブロックにおいて指定される機能／動作を実現するための手段を生じてもよい。これらのコンピュータ可読プログラム命令は、コンピュータ、プログラマブル・データ処理装置、もしくはその他のデバイスまたはその組み合わせに特定の方式で機能するように指示できるコンピュータ可読ストレージ媒体（例、コンピュータ・データ・ストレージ・ユニット４１２）にも保存されることによって、命令が保存されたコンピュータ可読ストレージ媒体が、流れ図もしくはブロック図またはその両方の単数または複数のブロックにおいて指定される機能／動作の態様を実現する命令を含む製造物を含んでもよい。
【０１０４】
コンピュータ可読プログラム命令（例、プログラム・コード４１４）は、コンピュータ（例、コンピュータ１０２）、他のプログラマブル・データ処理装置、または他のデバイスにもロードされて、コンピュータに実現されるプロセスを生成するためにコンピュータ、他のプログラマブル装置、または他のデバイスにおいて一連の動作ステップを行わせることによって、そのコンピュータ、他のプログラマブル装置、または他のデバイスにおいて実行される命令が、流れ図もしくはブロック図またはその両方の単数または複数のブロックにおいて指定される機能／動作を実現してもよい。
【０１０５】
図面における流れ図およびブロック図は、本発明のさまざまな実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実施のアーキテクチャ、機能、および動作を示すものである。これに関して、流れ図またはブロック図の各ブロックは、指定される論理機能（単数または複数）を実現するための１つ以上の実行可能命令を含むモジュール、セグメント、または命令の一部を表してもよい。いくつかの代替的実施において、ブロック内に示される機能は、図面に示されるものとは異なる順序で起こってもよい。たとえば、連続して示される２つのブロックは、実際には実質的に同時に実行されてもよいし、関与する機能によってはこれらのブロックがときに逆の順序で実行されてもよい。加えて、ブロック図もしくは流れ図またはその両方の各ブロック、およびブロック図もしくは流れ図またはその両方のブロックの組み合わせは、指定された機能を行うか、特定目的のハードウェアおよびコンピュータ命令の組み合わせを実施または実行する特定目的のハードウェア・ベースのシステムによって実現され得ることが注目されるだろう。
【０１０６】
本明細書においては例示の目的のために本発明の実施形態を説明したが、当業者には多くの修正および変更が明らかになるだろう。したがって、添付の請求項はこうした修正および変更のすべてをこの発明の真の趣旨および範囲内にあるものとして包含することが意図される。
【図１】
2020529661.tif 000003
【図２】
2020529661.tif 000004
【図３】
2020529661.tif 000005
【図４】
2020529661.tif 000006
【図５】
2020529661.tif 000007
【図６】
2020529661.tif 000008
【国際調査報告】
2020529661.tif 000009
2020529661.tif 000010