IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キンドリル・インクの特許一覧

<>
  • 特許-構成に基づくワークフローの提供 図1
  • 特許-構成に基づくワークフローの提供 図2
  • 特許-構成に基づくワークフローの提供 図3
  • 特許-構成に基づくワークフローの提供 図4
  • 特許-構成に基づくワークフローの提供 図5
  • 特許-構成に基づくワークフローの提供 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-06-06
(45)【発行日】2023-06-14
(54)【発明の名称】構成に基づくワークフローの提供
(51)【国際特許分類】
   G06F 21/55 20130101AFI20230607BHJP
【FI】
G06F21/55
【請求項の数】 13
(21)【出願番号】P 2020504307
(86)(22)【出願日】2018-07-27
(65)【公表番号】
(43)【公表日】2020-10-08
(86)【国際出願番号】 IB2018055633
(87)【国際公開番号】W WO2019025921
(87)【国際公開日】2019-02-07
【審査請求日】2020-12-22
(31)【優先権主張番号】15/664,723
(32)【優先日】2017-07-31
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】521555742
【氏名又は名称】キンドリル・インク
【氏名又は名称原語表記】Kyndryl Inc.
【住所又は居所原語表記】One Vanderbilt Avenue,15th Floor,New York,New York 10017,USA
(74)【代理人】
【識別番号】110000420
【氏名又は名称】弁理士法人MIP
(72)【発明者】
【氏名】コピナス、アルン
(72)【発明者】
【氏名】マランカンダス、サディア
(72)【発明者】
【氏名】ラオ、スリヤナラヤーナ
(72)【発明者】
【氏名】パサク、ラメシュ、チャンドラ
【審査官】田名網 忠雄
(56)【参考文献】
【文献】特開2010-067056(JP,A)
【文献】特開2009-003726(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/52-21/55
(57)【特許請求の範囲】
【請求項1】
ITシステムにおいて構成に基づくワークフローを提供する方法であって、
コンピュータが、実行のために起動されるコマンドを、コマンドのリストに含まれているものとして識別するステップと、
前記コンピュータが、前記コマンドを識別するステップに応答して、識別された前記コマンドおよび1つ以上の外部システムとの対話に関連するパラメータのセットおよび事前構成条件を決定するステップと、
前記コンピュータが、前記パラメータのセットおよび前記事前構成条件に基づいて、前記コマンドを検証する1つ以上の検証活動であって、前記構成に基づくワークフローに含まれると共に、1つ以上の外部システムとのそれぞれ1つ以上の対話によって行われる1つ以上の検証活動を決定するステップと、
前記コンピュータが、前記パラメータのセットを用いた前記1つ以上の外部システムとの前記対話を完了させることによって、バックアップについて前記構成に基づくワークフローに含まれる前記1つ以上の検証活動を行うステップと、
前記コンピュータが、前記1つ以上の検証活動が正常に完了したかどうかを判定するステップと、
前記1つ以上の検証活動が正常に完了した場合に、前記コンピュータが前記コマンドの前記実行を継続するステップ、または前記1つ以上の検証活動の少なくとも1つが正常に完了していない場合に、前記コンピュータが前記コマンドの前記実行を継続しないステップと、
を含む、方法。
【請求項2】
前記コンピュータが、前記1つ以上の検証活動に含まれる検証活動が正常に完了していない場合に、前記コマンドの前記実行を継続しないステップとは別の1つ以上の付加的な活動を行うステップをさらに含み、前記1つ以上の付加的な活動を行うステップは、前記検証活動が正常に完了しなかったことを示す通知を送るステップを含む、請求項1に記載の方法。
【請求項3】
前記コンピュータが、前記1つ以上の検証活動に含まれる検証活動が正常に完了した場合に、前記コマンドの前記実行を継続するステップとは別の1つ以上の付加的な活動を行うステップをさらに含む、請求項1または請求項2に記載の方法。
【請求項4】
前記1つ以上の外部システムとの前記対話を完了させるステップは、構成管理データベース・システム、チケット・システム、ジョブ・スケジューリング・システム、作業負荷自動化システム、および運用管理システムの少なくとも1つとの対話を完了させるステップを含む、請求項1~請求項3のいずれか一項に記載の方法。
【請求項5】
前記1つ以上の検証活動を行うステップは、前記1つ以上の外部システムとインタフェースするための前記パラメータおよび前記事前構成条件を参照して、前記識別されたコマンドを阻止する前の予め定められた期間内のバックアップが検証されているか否かを判断するステップを含む、請求項1~請求項4のいずれか一項に記載の方法。
【請求項6】
前記コンピュータが、前記コマンドを識別するステップの前に、前記コマンドを受信するステップであって、(i)アプリケーション・プログラミング・インタフェース(API)接続を用いるソフトウェア・ツールから、(ii)前記ITシステムにおいて実行中のジョブであって、時間ベースのジョブ・スケジューラによってスケジュールされる前記ジョブの一部として、または(iii)ソフトウェア・エージェントから、前記コマンドを受信するステップをさらに含む、請求項1~請求項5のいずれか一項に記載の方法。
【請求項7】
前記コンピュータが、前記コマンドを識別するステップの前に、前記コマンドをオペレーティング・システムまたは前記オペレーティング・システムのサブシステムから受信するステップをさらに含む、請求項1~請求項5のいずれか一項に記載の方法。
【請求項8】
前記コンピュータが前記コマンドのリストを生成するステップをさらに含み、前記コマンドは前記ITシステムのそれぞれの重要な活動を実行し、前記コマンドの少なくとも1つは前記ITシステムにとって破壊的な活動を実行する、請求項1~請求項7のいずれか一項に記載の方法。
【請求項9】
請求項1~請求項8のいずれか一項に記載の方法の各ステップをコンピュータに実行させるためのコンピュータ・プログラム。
【請求項10】
請求項9に記載のコンピュータ・プログラムを記憶したコンピュータ可読ストレージ媒体。
【請求項11】
中央処理ユニット(CPU)と、
前記CPUに結合されたメモリと、
前記CPUに結合され、請求項1~請求項8のいずれか一項に記載の方法の各ステップを前記メモリを介して前記CPUに実行させるためのコンピュータ・プログラムを記憶した、コンピュータ可読ストレージ媒体と、
を含む、コンピュータ・システム。
【請求項12】
ITシステムにおいて構成に基づくワークフローを提供する方法であって、前記方法は、
コンピュータが、前記ITシステムにとって破壊的な活動を開始するソフトウェア・ツールからのコマンドを阻止するステップと、
前記コンピュータが、阻止された前記コマンドを、事前に構成されたコマンドのリストに含まれるものとして識別するステップであって、識別された前記コマンドは実行のために起動される、ステップと、
前記コンピュータが、前記コマンドを識別するステップに応答して、前記コマンドおよび外部システムとの対話に関連するパラメータのセットおよび事前構成条件を決定するステップと、
前記コンピュータが、前記パラメータのセットおよび前記事前構成条件に基づいて、拡張可能マークアップ言語(XML)データを生成するステップと、
前記コンピュータが、トランスポート・セキュリティ・レイヤを通じたハイパーテキスト・トランスファー・プロトコル(HTTPS)上のSOAPを通じてXMLデータを用いることによって、汎用外部システム・エンジンを介して前記外部システムと通信するステップであって、前記外部システムは前記ITシステムに対するチケット・システムおよび前記ITシステムに対するジョブ・スケジューリング・システムを含む、通信するステップと、
前記コンピュータが、前記通信するステップに応答して、前記構成に基づくワークフローにおける前記チケット・システムとインタフェースすることによって、前記識別されたコマンドに対する承認された変更制御が存在するかどうかを判定するステップと、
前記コンピュータが、前記通信するステップに応答して、前記構成に基づくワークフローにおける前記ジョブ・スケジューリング・システムとインタフェースすることによって、前記識別されたコマンドが阻止される前の予め定められた期間内のバックアップが検証されたかどうかを判定するステップと、
前記承認された変更制御が存在し、かつ前記バックアップが検証されている場合に、前記コンピュータが前記識別されたコマンドの前記実行を継続するステップ、または前記承認された変更制御が存在しない場合に、破壊的な前記活動に前記ITシステムが影響されないように前記コンピュータが前記識別されたコマンドの前記実行を終了するステップ、または前記バックアップが検証されていない場合に、破壊的な前記活動に前記ITシステムが影響されないように前記コンピュータが前記識別されたコマンドの前記実行を終了するステップと、
を含む、方法。
【請求項13】
ITシステムにおいて構成に基づくワークフローを提供するためのコンピュータ・プログラムであって、コンピュータに、
前記ITシステムにとって破壊的な活動を開始するソフトウェア・ツールからのコマンドを阻止するステップと、
阻止された前記コマンドを、事前に構成されたコマンドのリストに含まれるものとして識別するステップであって、識別された前記コマンドは実行のために起動される、ステップと、
前記コマンドを識別するステップに応答して、前記コマンドおよび外部システムとの対話に関連するパラメータのセットおよび事前構成条件を決定するステップと、
前記パラメータのセットおよび前記事前構成条件に基づいて、拡張可能マークアップ言語(XML)データを生成するステップと、
トランスポート・セキュリティ・レイヤを通じたハイパーテキスト・トランスファー・プロトコル(HTTPS)上のSOAPを通じて前記XMLデータを用いることによって、汎用外部システム・エンジンを介して前記外部システムと通信するステップであって、前記外部システムは前記ITシステムに対するチケット・システムおよび前記ITシステムに対するジョブ・スケジューリング・システムを含む、ステップと、
通信するステップに応答して、前記構成に基づくワークフローにおける前記チケット・システムとインタフェースすることによって、前記識別されたコマンドに対する承認された変更制御が存在するかどうかを判定するステップと、
通信するステップに応答して、前記構成に基づくワークフローにおける前記ジョブ・スケジューリング・システムとインタフェースすることによって、前記識別されたコマンドが阻止される前の予め定められた期間内のバックアップが検証されたかどうかを判定するステップと、
前記承認された変更制御が存在し、かつ前記バックアップが検証されている場合に、前記識別されたコマンドの前記実行を継続するステップ、または前記承認された変更制御が存在しない場合に、破壊的な前記活動に前記ITシステムが影響されないように前記識別されたコマンドの前記実行を終了するステップ、または前記バックアップが検証されていない場合に、破壊的な前記活動に前記ITシステムが影響されないように前記識別されたコマンドの前記実行を終了するステップと、
を実行させるための、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報技術(IT:information technology)システムを管理することに関し、より具体的にはITシステムにおいて構成に基づくワークフローを提供することに関する。
【背景技術】
【0002】
UNIX(登録商標)環境のITシステムにおいて、システム管理者がシャットダウンまたはリブート・コマンドを発行することに応答して、ITシステムは対応するシステム・シャットダウンまたはシステム・リブートを開始する。もしITシステムが稼動中のアプリケーションまたはデータベースを含んでいれば、システムはその稼動中のアプリケーションまたはデータベースに関連するプロセスを終了する。もしシャットダウンまたはリブートの時点で何らかのデータベース・トランザクションが起こっていれば、データベース内のデータの破損が起こることがある。よって、もしヒューマン・エラーによってシャットダウンまたはリブート・コマンドが非意図的に呼び出されれば、重要なビジネス機能が失われる。公知のITシステム環境において、システム・シャットダウン、システム・リブート、またはその他の重要なシステム活動を行う特権(すなわちルート(root))ユーザによって意図的または非意図的に発行されたコマンドを制御する機構は存在しない。UNIX(登録商標)は、バークシャー(Berkshire)、英国(United Kingdom)にあるエックス・オープン・カンパニー・リミテッド(X/Open Company,Ltd.)の登録商標である。
【0003】
ロール・ベース・アクセス・コントロール(RBAC:Role based access control)は、オペレーティング・システムおよびソフトウェアへのアクセスを制御する公知のモデルである。RBACモデル内では、システムを使用する組織において個々のユーザが有する役割に基づいてアクセスが与えられる。たとえばRBACによって、ユーザ管理者は、システム管理者が実行し得るより強力なコマンドへのアクセスを有することなく、かつシステム管理者がアクセスし得るファイルへのアクセスを有することなく、ユーザを追加、変更、または削除できる。RBACは、スーパー・ユーザ・アクセスを必要としない最も単純な管理タスクを行うために完全なアクセスを取得するために「ルート」を用いるUNIX(登録商標)システムが有し得る問題を解決する。RBACにはファイナンシャル・ライセンスが適用され、コストがかかる。RBACをサポートするために付加的な訓練が必要である。UNIX(登録商標)市場において、RBACの知識を伴うリソースを見出すことは困難である。さらに、コマンドに他のいずれの厳しい制御も適用されることなく、RBACルート・ユーザはなおもシャットダウンまたはその他の破壊的コマンドを起動し得る。
【0004】
UNIX(登録商標)システムに対する別の公知のアクセス制御システムはeTrust(登録商標)アクセス・コントロール(Access Control)であり、これはホスト・オペレーティング・システムからのサービスを要求するユーザがそれらのサービスにアクセスする権限を付与されているかどうかをチェックすることによって、コンピュータ・センタの情報資産を保護するものである。eTrust(登録商標)アクセス・コントロールは特定のコマンドの呼び出しを禁じるように構成され得るが、ルート・ユーザはeTrust(登録商標)サービスを停止してから、それまで禁じられていたコマンドを呼び出すことができる。さらに、たとえeTrust(登録商標)アクセス・コントロール・サービスを実行中であっても、システム・コンソールからコマンドが実行され得る。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明の目的は、ITシステムにおいて構成に基づくワークフローを提供することである。
【課題を解決するための手段】
【0006】
一実施形態において、本発明はITシステムにおいて構成に基づくワークフローを提供する方法を提供する。この方法は、コンピュータが、コマンドをコマンドのリストに含まれるものとして識別するステップを含む。そのコマンドは実行のために起動される。コマンドを識別するステップに応答して、コンピュータは識別されたコマンドに関連するパラメータのセットおよび事前構成条件を決定する。パラメータのセットおよび事前構成条件に基づいて、コンピュータは、コマンドを検証する1つ以上の検証活動であって、構成に基づくワークフローに含まれる1つ以上の検証活動を決定する。この1つ以上の検証活動は、1つ以上の外部システムとのそれぞれ1つ以上の対話によって指定される。コンピュータは、パラメータのセットを用いた1つ以上の外部システムとの1つ以上の対話を完了させることによって、構成に基づくワークフローに含まれる1つ以上の検証活動を行い、その1つ以上の検証活動が正常に完了したかどうかを判定する。さらに、もし1つ以上の検証活動が正常に完了していれば、コンピュータはコマンドの実行を継続し、もし1つ以上の検証活動の少なくとも1つが正常に完了していなければ、コンピュータはコマンドの実行を継続しない。
【0007】
有利には、前述の実施形態は、オペレーティング・システム・コマンドを解釈し、あらゆるソースまたはツール(例、破壊的活動を行うことを試みる、アプリケーション・プログラミング・インタフェース(API:application programming interface)接続、悪意をもって書かれたcronジョブ、ソフトウェア・エージェント、またはソフトウェア・ツール)からのコマンドを阻止し、コマンドがOSカーネルに到達する前に構成ルールおよびカスタマイズ可能な企業セキュリティ・モデルの適用に対してコマンドを評価することによって、複雑なIT環境におけるシステム管理者、システム・オペレータ、およびその他の特権ユーザが起こす意図的および偶発的なエラーを防止または低減し、それによってITシステムの重要なビジネス機能が失われないことを確実にするためのセキュリティ統合レイヤを提供する。
【0008】
好ましくは、本発明は、1つ以上の検証活動に含まれる検証活動が正常に完了していないときに、コンピュータがコマンドの実行を継続しないステップとは別の1つ以上の付加的な活動を行うステップを含む方法を提供する。1つ以上の付加的な活動を行うステップは、検証活動が正常に完了しなかったことを示す通知を送るステップを含む。有利には、この方法は、悪意をもって発行された破壊的である可能性のあるコマンドを管理者に警告する通知を送るステップを提供する。
【0009】
好ましくは、本発明は、1つ以上の検証活動に含まれる検証活動が正常に完了したときに、コンピュータがコマンドの実行を継続するステップとは別の1つ以上の付加的な活動を行うステップを含む方法を提供する。有利には、この方法は、システム・シャットダウンまたはリブートの前にデータベース・インスタンスをシャットダウンできる付加的な活動(単数または複数)を行うステップを提供し、このステップはデータの破損を回避する。
【0010】
好ましくは、本発明は、1つ以上の外部システムとの1つ以上の対話を完了させるステップを含む方法を提供し、このステップは、構成管理データベース・システム、チケット・システム、ジョブ・スケジューリング・システム、作業負荷自動化システム、および運用管理システムからなる群より選択される外部システムとの対話を完了させるステップを含む。有利には、この方法は、外部システムによって提供された重要なビジネス機能が悪影響を受けないように外部システムとの対話を完了させるステップを提供する。
【0011】
好ましくは、本発明は、1つ以上の検証活動を行うステップを含む方法を提供し、このステップは、複数のローカル・セキュリティ・ポリシーとITシステムに対するインタフェース・システムである外部システムのポリシーとに対してコマンドを検証するステップを含む。有利には、この方法はローカル・セキュリティ・ポリシーおよびインタフェース・システムのポリシーの両方に対してコマンドを検証するステップを提供し、このステップはシステム管理者の活動に対する厳重な制御を提供することによって、インタフェース・システムが提供する重要なビジネス機能を保護する。
【0012】
好ましくは、本発明は、コマンドを識別するステップの前に、コンピュータがコマンドを受信するステップであって、(i)アプリケーション・プログラミング・インタフェース(API)接続を用いるソフトウェア・ツールから、(ii)ITシステムにおいて実行中のジョブであって、時間ベースのジョブ・スケジューラによってスケジュールされるジョブの一部として、または(iii)ソフトウェア・エージェントからコマンドを受信するステップを含む方法を提供する。有利には、この方法は、破壊的活動をもたらすか、または重要なシステム活動に悪影響を与えるおそれのあるコマンドのさまざまな潜在的ソースに対する厳重な制御を提供することによって、重要なビジネス機能を保護する。
【0013】
好ましくは、本発明は、コマンドを識別するステップの前に、コンピュータがコマンドをオペレーティング・システムまたはオペレーティング・システムのサブシステムから受信するステップを含む方法を提供する。有利には、この方法は、破壊的活動をもたらすか、または重要なシステム活動に悪影響を与えるおそれのあるコマンドのサブシステム・ソースに対する厳重な制御を提供することによって、重要なビジネス機能を保護する。
【0014】
好ましくは、本発明は、コンピュータがITシステムのそれぞれの重要な活動を実行するコマンドのリストを生成するステップを含む方法を提供し、コマンドの少なくとも1つはITシステムにとって破壊的な活動を実行する。有利には、この方法は、コマンドの事前に構成されたリストを効率的に提供するためにコマンドのリストを生成するステップを提供し、このリストと受信したコマンドとが比較される。リストにおけるコマンドの事前構成は、重要なシステム活動に影響し得るコマンドのみを前述の方法によって効率的に処理することを可能にする。
【0015】
上で考察した利点は、以下に要約されるコンピュータ・システムおよびコンピュータ・プログラム製品の実施形態にも適用される。
【0016】
別の実施形態において、本発明は、コンピュータ可読ストレージ媒体と、そのコンピュータ可読ストレージ媒体に保存されたコンピュータ可読プログラム・コードとを含むコンピュータ・プログラム製品を提供する。コンピュータ可読プログラム・コードは、ITシステムにおいて構成に基づくワークフローを提供する方法を実現するためにコンピュータ・システムの中央処理ユニット(CPU:central processing unit)によって実行される命令を含む。この方法は、コンピュータ・システムがコマンドをコマンドのリストに含まれるものとして識別するステップを含む。そのコマンドは実行のために起動される。コンピュータ・システムは、コマンドを識別するステップに応答して、識別されたコマンドに関連するパラメータのセットおよび事前構成条件を決定する。そのパラメータのセットおよび事前構成条件に基づいて、コンピュータ・システムは、コマンドを検証する1つ以上の検証活動であって、構成に基づくワークフローに含まれる検証活動を決定する。この1つ以上の検証活動は、1つ以上の外部システムとのそれぞれ1つ以上の対話によって指定される。コンピュータ・システムは、パラメータのセットを用いた1つ以上の外部システムとの1つ以上の対話を完了させることによって、構成に基づくワークフローに含まれる1つ以上の検証活動を行う。次いでコンピュータ・システムは、その1つ以上の検証活動が正常に完了したかどうかを判定する。もし1つ以上の検証活動が正常に完了していれば、コンピュータ・システムはコマンドの実行を継続し、もし1つ以上の検証活動の少なくとも1つが正常に完了していなければ、コンピュータ・システムはコマンドの実行を継続しない。
【0017】
好ましくは、本発明は、1つ以上の検証活動に含まれる検証活動が正常に完了していないときに、コンピュータ・システムがコマンドの実行を継続しないステップとは別の1つ以上の付加的な活動を行うステップをさらに含む方法を提供し、1つ以上の付加的な活動を行うステップは、検証活動が正常に完了しなかったことを示す通知を送るステップを含む。
【0018】
好ましくは、本発明はコンピュータ・プログラム製品を提供し、ここでこの方法はさらに、1つ以上の検証活動に含まれる検証活動が正常に完了したときに、コンピュータ・システムがコマンドの実行を継続するステップとは別の1つ以上の付加的な活動を行うステップを含む。
【0019】
好ましくは、本発明はコンピュータ・プログラム製品を提供し、ここで1つ以上の外部システムとの1つ以上の対話を完了させるステップは、構成管理データベース・システム、チケット・システム、ジョブ・スケジューリング・システム、作業負荷自動化システム、および運用管理システムからなる群より選択される外部システムとの対話を完了させるステップを含む。
【0020】
好ましくは、本発明はコンピュータ・プログラム製品を提供し、ここで1つ以上の検証活動を行うステップは、複数のローカル・セキュリティ・ポリシーとITシステムに対するインタフェース・システムである外部システムのポリシーとに対してコマンドを検証するステップを含む。
【0021】
好ましくは、本発明はコンピュータ・プログラム製品を提供し、ここでこの方法はさらに、コマンドを識別するステップの前に、コンピュータ・システムがコマンドを受信するステップであって、(i)アプリケーション・プログラミング・インタフェース(API)接続を用いるソフトウェア・ツールから、(ii)ITシステムにおいて実行中のジョブであって、時間ベースのジョブ・スケジューラによってスケジュールされるジョブの一部として、または(iii)ソフトウェア・エージェントからコマンドを受信するステップを含む。
【0022】
好ましくは、本発明はコンピュータ・プログラム製品を提供し、ここでこの方法はさらに、コマンドを識別するステップの前に、コンピュータ・システムがコマンドをオペレーティング・システムまたはオペレーティング・システムのサブシステムから受信するステップを含む。
【0023】
好ましくは、本発明はコンピュータ・プログラム製品を提供し、ここでこの方法はさらに、コンピュータ・システムがコマンドのリストを生成するステップを含み、このコマンドはITシステムのそれぞれの重要な活動を実行し、このコマンドの少なくとも1つはITシステムにとって破壊的な活動を実行する。
【0024】
別の実施形態において、本発明は中央処理ユニット(CPU)と、CPUに結合されたメモリと、CPUに結合されたコンピュータ可読ストレージ媒体とを含むコンピュータ・システムを提供する。コンピュータ可読ストレージ媒体は、ITシステムにおいて構成に基づくワークフローを提供する方法を実現するためにメモリを介してCPUによって実行される命令を含む。この方法は、コンピュータ・システムがコマンドをコマンドのリストに含まれるものとして識別するステップを含む。そのコマンドは実行のために起動される。コマンドを識別するステップに応答して、コンピュータ・システムは識別されたコマンドに関連するパラメータのセットおよび事前構成条件を決定する。このパラメータのセットおよび事前構成条件に基づいて、コンピュータ・システムは、コマンドを検証する1つ以上の検証活動であって、構成に基づくワークフローに含まれる検証活動を決定する。この1つ以上の検証活動は、1つ以上の外部システムとのそれぞれ1つ以上の対話によって指定される。コンピュータ・システムは、パラメータのセットを用いた1つ以上の外部システムとの1つ以上の対話を完了させることによって、構成に基づくワークフローに含まれる1つ以上の検証活動を行う。コンピュータ・システムは、1つ以上の検証活動が正常に完了したかどうかを判定する。もし1つ以上の検証活動が正常に完了していれば、コンピュータ・システムはコマンドの実行を継続し、もし1つ以上の検証活動の少なくとも1つが正常に完了していなければ、コンピュータ・システムはコマンドの実行を継続しない。
【0025】
好ましくは、本発明はコンピュータ・システムを提供し、このコンピュータ・システムは、1つ以上の検証活動に含まれる検証活動が正常に完了したときに、コンピュータ・システムがコマンドの実行を継続するステップとは別の1つ以上の付加的な活動を行うステップを含む。
【0026】
好ましくは、本発明はコンピュータ・システムを提供し、ここで1つ以上の外部システムとの1つ以上の対話を完了させるステップは、構成管理データベース・システム、チケット・システム、ジョブ・スケジューリング・システム、作業負荷自動化システム、および運用管理システムからなる群より選択される外部システムとの対話を完了させるステップを含む。
【0027】
好ましくは、本発明はコンピュータ・システムを提供し、ここで1つ以上の検証活動を行うステップは、複数のローカル・セキュリティ・ポリシーおよびITシステムに対するインタフェース・システムである外部システムのポリシーに対してコマンドを検証するステップを含む。
【0028】
好ましくは、本発明はコンピュータ・システムを提供し、ここでこの方法はさらに、コマンドを識別するステップの前に、コンピュータ・システムがコマンドを受信するステップであって、(i)アプリケーション・プログラミング・インタフェース(API)接続を用いるソフトウェア・ツールから、(ii)ITシステムにおいて実行中のジョブであって、時間ベースのジョブ・スケジューラによってスケジュールされるジョブの一部として、または(iii)ソフトウェア・エージェントから受信するステップを含む。
【0029】
別の実施形態において、本発明はITシステムにおいて構成に基づくワークフローを提供する方法を提供する。この方法は、コンピュータがITシステムにとって破壊的な活動を開始するソフトウェア・ツールからのコマンドを阻止するステップを含む。コンピュータは阻止されたコマンドを、事前に構成されたコマンドのリストに含まれるものとして識別する。識別されたコマンドは、次いで実行のために起動される。コマンドを識別するステップに応答して、コンピュータは識別されたコマンドに関連するパラメータのセットおよび事前構成条件を決定する。パラメータのセットおよび事前構成条件に基づいて、コンピュータは拡張可能マークアップ言語(XML:Extensible Markup Language)データを生成する。コンピュータは、トランスポート・セキュリティ・レイヤ(Transport Security Layer)を通じたハイパーテキスト・トランスファー・プロトコル(Hypertext Transfer Protocol)(HTTPS)上のSOAPを通じてXMLデータを用いることによって、汎用外部システム・エンジンを介して外部システムと通信する。外部システムは、ITシステムに対するチケット・システムおよびITシステムに対するジョブ・スケジューリング・システムを含む。通信するステップに応答して、コンピュータは構成に基づくワークフローにおけるチケット・システムとインタフェースすることによって、識別されたコマンドに対する承認された変更制御が存在するかどうかを判定する。通信するステップに応答して、コンピュータは構成に基づくワークフローにおけるジョブ・スケジューリング・システムとインタフェースすることによって、識別されたコマンドが阻止される前の予め定められた期間内のバックアップが検証されたかどうかを判定する。承認された変更制御が存在し、かつバックアップが検証されているとき、コンピュータは識別されたコマンドの実行を継続し、承認された変更制御が存在しないとき、コンピュータは識別されたコマンドの実行を終了して破壊的な活動にITシステムが影響されないようにし、バックアップが検証されていないとき、コンピュータは識別されたコマンドの実行を終了して破壊的な活動にITシステムが影響されないようにする。
【0030】
別の実施形態において、本発明は、コンピュータ可読ストレージ媒体と、そのコンピュータ可読ストレージ媒体に保存されたコンピュータ可読プログラム・コードとを含むコンピュータ・プログラム製品を提供する。コンピュータ可読プログラム・コードは、ITシステムにおいて構成に基づくワークフローを提供する方法を実現するためにコンピュータ・システムの中央処理ユニット(CPU)によって実行される命令を含む。この方法は、コンピュータ・システムがITシステムにとって破壊的な活動を開始するソフトウェア・ツールからのコマンドを阻止するステップを含む。この方法は、コンピュータ・システムが阻止されたコマンドを、事前に構成されたコマンドのリストに含まれるものとして識別するステップを含む。識別されたコマンドは、実行のために起動される。コマンドを識別するステップに応答して、コンピュータ・システムは識別されたコマンドに関連するパラメータのセットおよび事前構成条件を決定する。パラメータのセットおよび事前構成条件に基づいて、コンピュータ・システムは拡張可能マークアップ言語(XML)データを生成する。コンピュータ・システムは、トランスポート・セキュリティ・レイヤを通じたハイパーテキスト・トランスファー・プロトコル(HTTPS)上のSOAPを通じてXMLデータを用いることによって、汎用外部システム・エンジンを介して外部システムと通信する。外部システムは、ITシステムに対するチケット・システムおよびITシステムに対するジョブ・スケジューリング・システムを含む。通信するステップに応答して、コンピュータ・システムは構成に基づくワークフローにおけるチケット・システムとインタフェースすることによって、識別されたコマンドに対する承認された変更制御が存在するかどうかを判定する。通信するステップに応答して、コンピュータ・システムは構成に基づくワークフローにおけるジョブ・スケジューリング・システムとインタフェースすることによって、識別されたコマンドが阻止される前の予め定められた期間内のバックアップが検証されたかどうかを判定する。承認された変更制御が存在し、かつバックアップが検証されているとき、コンピュータ・システムは識別されたコマンドの実行を継続し、承認された変更制御が存在しないとき、コンピュータ・システムは識別されたコマンドの実行を終了して破壊的な活動にITシステムが影響されないようにし、バックアップが検証されていないとき、コンピュータ・システムは識別されたコマンドの実行を終了して破壊的な活動にITシステムが影響されないようにする。
【図面の簡単な説明】
【0031】
図1】本発明の実施形態による、ルール・エンジンと統合されたITシステムにおいて構成に基づくワークフローを提供するためのシステムを示すブロック図である。
図2】本発明の実施形態による、ルール・エンジンと統合されたITシステムにおいて構成に基づくワークフローを提供するプロセスを示す流れ図である。
図3】本発明の実施形態による、図2のプロセスにおいて用いられるレジストリおよびAPIの実施例を示す図である。
図4】本発明の実施形態による、図3のレジストリおよびAPIを用いる図2のプロセスの実施例を示す図である。
図5】本発明の実施形態による、図3のレジストリおよびAPIを用いる図2のプロセスの実施例を示す図である。
図6】本発明の実施形態による、図1のシステムに含まれ、かつ図2のプロセスを実施するコンピュータを示すブロック図である。
【発明を実施するための形態】
【0032】
概要
本発明の実施形態は、ITシステムにおけるユーザとオペレーティング・システム(OS:operating system)との間のセキュリティ統合レイヤを提供する。セキュリティ統合レイヤは、カーネル・モードのプロセス・デーモンを通じてOSと対話する。セキュリティ統合レイヤはOS上で作動し、重要なシステム活動(例、システム・シャットダウン、システム・リブート、ファイル・システムの作成、新たに割り当てられたストレージ論理ユニット番号(LUN:logical unit number)のフォーマットなど)を行うユーザ、アプリケーション、およびOSコマンドの各々を解釈し、ITシステムにとって破壊的な活動を行うことを試みるたとえばAPI接続、悪意をもって書かれたcronジョブ、またはソフトウェア・ツールもしくはエージェントなど、あらゆるソースまたはツールからのコマンドを阻止し、事前に構成されたロジック(すなわち構成ルール)に基づいて、阻止されたコマンドに関する情報に基づく判定を行う。セキュリティ統合レイヤによるコマンドの解釈および阻止によって、意図的エラーおよび偶発的エラーを含むオペレータ・エラーが防止または低減される。セキュリティ統合レイヤのコンポーネントは(1)プロセス・レジストリと、(2)構成レジストリと、(3)活動レジストリと、(4)外部システムに対するAPIとを含み、これらは以下に提供される図1の考察においてより詳細に説明される。
【0033】
UNIX(登録商標)環境における特有の課題は、特権ユーザ(すなわちルート・ユーザ)による活動を制御するための定められたやり方がないことである。ユーザがルート・ユーザとしてUNIX(登録商標)システムにログインした後、そのユーザは特権ユーザとしてすべてのコマンドへのアクセスを得る。特権ユーザによるその後のヒューマン・エラーによってシャットダウンまたはリブート・コマンドが発行されるかもしれず、それが稼動中のアプリケーションおよびデータベース・プロセスを強制終了させることがある。もしシャットダウンまたはリブート・シーケンスの時点でデータベース・トランザクションが起こっていれば、データが破損するおそれがある。よって、非意図的に呼び出されたコマンドによって、重要なビジネス機能が失われるおそれがある。本明細書に開示される実施形態は、事前構成条件のセットによってコマンドを評価することによって、前述のヒューマン・エラーの問題を回避する。シャットダウン・コマンドに関する一例として、事前構成条件のセットは、チケット・システムと対話することによって変更制御を検証するステップと、ジョブ・スケジューリング・システムと対話することによって最近のバックアップを検証するステップと、データベース・インスタンスを識別およびシャットダウンするステップとを含んでもよい。
【0034】
一実施形態において、オペレータ・コマンドがOSカーネルに到達する前に、コマンドは構文解析を受け、構成ルールおよびカスタマイズ可能な企業セキュリティ・モデルの適用に対して自動的に評価される。
【0035】
一実施形態において、セキュリティ統合レイヤは外部システム(例、チケット・システム、変更管理データベース(CMDB:change management database)システム、メンテナンス/ダウンタイム・レポジトリ、企業バッチ管理ツール、およびシステム・モニタリング・エージェント)のAPIと統合されて、オペレータ・コマンドが活動(単数または複数)を行うために許可および実行されるべきか、それとも活動(単数または複数)が行われないように許可されず終了されるべきかどうかに関するインテリジェントな自動判定を提供する。コマンドに関連する活動が行われないようにオペレータ・コマンドが許可されずに終了されるとき、セキュリティ統合レイヤは1つ以上の他の活動を実行するかどうかを決定するためのインテリジェントな自動判定を行ってもよい。
【0036】
本発明の実施形態は、標準的なシステム提供品の一部として、またはクラウド提供品とバンドルされることがある。
【0037】
構成に基づくワークフローを提供するためのシステム
図1は、本発明の実施形態によるITシステムにおいて構成に基づくワークフローを提供するためのシステム100のブロック図である。システム100はコンピュータ102を含み、このコンピュータ102はセキュリティ統合レイヤ104(すなわち、ソフトウェアに基づくセキュリティ統合システム)を実行する。セキュリティ統合レイヤ104は中央管理コンソール106と、キャッシング・チャネル108と、プロセス・レジストリ110と、構成レジストリ112と、活動レジストリ114と、汎用外部システム・エンジン116と、システム特有の変換モジュール118とを含む。
【0038】
セキュリティ統合レイヤ104はコマンド120-1、…、120-Nを受信および解釈し、このコマンドはユーザもしくはアプリケーション・コマンドまたはその両方を含み、ここでNは1以上の整数である。セキュリティ統合レイヤ104は、カーネル・モードのプロセス・デーモンを通じてコンピュータ102のオペレーティング・システム(OS)(図示せず)と対話する。セキュリティ統合レイヤ104はOSの上で作動してコマンド120-1、…、120-Nの各々を解釈し、事前に構成されたルールに基づいて、コマンド120-1、…、120-Nの各々を検証することと、コマンド120-1、…、120-Nの各々の実行を継続するかどうかとに関して、情報に基づく判定を行う。
【0039】
プロセス・レジストリ110は、セキュリティ統合レイヤ104によって管理および制御されるものとして指定されたプロセスおよびコマンドのリストを含む。コマンドまたはプロセスがプロセス・レジストリ110にリストされているとき、セキュリティ統合レイヤ104は構成レジストリ112に制御を移す。
【0040】
構成レジストリ112は、構成可能なパラメータのセットおよび事前に構成された条件を含み、コマンド120-1、…、120-Nを検証するためにこれらに対してコマンド120-1、…、120-Nの各々がチェックされる。たとえば構成レジストリ112は、コマンドの検証が外部システム122-1、…、外部システム122-Mに含まれる外部チケット・システムとインタフェースすることを含む必要があることを示す事前構成条件を含んでもよく、ここでMは1以上の整数である。外部チケット・システムとインタフェースすることは、そのコマンドに対する有効な変更管理が存在することを確実にする。構成レジストリ112がパラメータのセットおよび事前構成条件に対してコマンドを検証することに応答して、セキュリティ統合レイヤ104は活動レジストリ114に制御を移す。
【0041】
活動レジストリ114は、構成レジストリ112がコマンド120-1、…、120-Nに含まれるコマンドを正常に検証したことに応答して行われる構成可能な活動(単数または複数)を含む。活動レジストリ114は、次の複数のやり方で構成されてもよい。(1)コマンドを実行する、(2)コマンドを中止する、または(3)付加的な活動を開始する。
【0042】
プロセス・レジストリ110、構成レジストリ112、および活動レジストリ114は中央管理コンソール106によって中央で管理されるが、キャッシング・チャネル108によってローカルにキャッシュされる。
【0043】
汎用外部システム・エンジン116は、外部システム122-1、…、外部システム122-Mと通信するために用いられるAPIを含み、ここでMは1以上の整数である。前述の外部システム122-1、…、122-Mとの通信によって、付加的なクエリの受信および付加的な応答の送信がもたらされて、コマンド120-1、…、120-Nの各々が正常に検証されたかどうかに関する最終判定が行われる。
【0044】
セキュリティ統合レイヤ104は、ITシステムに対してローカルに実行される。セキュリティ統合レイヤ104は、あらゆる輸送遅延(すなわち、コマンド120-1、…、120-Nの評価または構成変更の際の待ち時間)を回避または低減するためにキャッシング・チャネル108を使用する。中央管理コンソール106は集中した管理能力を提供し、それによってセキュリティ統合レイヤ104の機能を提供するそれぞれのセキュリティ統合レイヤ(図示せず)を含む他のシステム(図示せず)の制御が可能になる。
【0045】
セキュリティ統合レイヤ104は、あらゆるソースまたはソフトウェア・ツール(例、API接続、悪意をもって書かれたcronジョブ、またはシステム100にとって破壊的な活動を行うことを試みるソフトウェア・エージェントもしくはツール)からのコマンド120-1、…、120-Nに含まれる破壊的なコマンドを阻止する。
【0046】
一実施形態において、セキュリティ統合レイヤ104はシステム100のOSレイヤにおいて外部システム122-1、…、122-Mと統合される。一実施形態において、外部システム122-1、…、122-Mは、トランスポート・レイヤ・セキュリティを通じたハイパーテキスト・トランスファー・プロトコル(HTTPS)上のSOAP(元はシンプル・オブジェクト・アクセス・プロトコル(Simple Object Access Protocol))を通じて拡張可能マークアップ言語(XML)データを用いて、ソケットまたはその他の手段を介して通信するためのチケット・システムまたはその他の許可によって駆動されるシステムを含む。一実施形態において、セキュリティ統合レイヤ104はXMLデータを用いて、外部システム122-1、…、122-Mによる構成された付加的なチェックを行ってもよい。
【0047】
一実施形態において、外部システム122-1、…、122-Mはチケット・システム、構成管理データベース・システム、動作およびネットワーク管理を提供するモニタリング・システム、もしくはジョブ・スケジューリング・システム、またはその組み合わせを含み、これはコマンド120-1、…、120-Nの1つの検証の際にジョブが実行されていないことを確実にすること、承認された稼動停止時間のチェック、保守時間枠のチェックなどを行う。
【0048】
一実施形態において、セキュリティ統合レイヤ104が外部システム122-1、…、122-Mとの間で行う通信は汎用外部システム・エンジン116においてまとめられ、付加的なクエリおよび応答が受信および送信されて、コマンド120-1、…、120-Nの各々の検証および実行に関する最終判定が行われる。
【0049】
代替的実施形態において、セキュリティ統合レイヤ104は、たとえばオープン・データベース・コネクティビティ(ODBC:Open Database Connectivity)などの任意の受信プロトコルを介して、OSコマンドおよびサブシステム・コマンド(例、データベース・システム、ミドルウェアなどからのもの)を阻止する。
【0050】
図1に示されるコンポーネントの機能を、以下に提供される図2および図6の考察においてより詳細に説明する。
【0051】
構成に基づくワークフローを提供するためのプロセス
図2は、本発明の実施形態による、ルール・エンジンと統合されたITシステムにおいて構成に基づくワークフローを提供するプロセスの流れ図である。図2のプロセスは、ステップ200において開始する。ステップ202において、セキュリティ統合レイヤ104(図1を参照)は、ユーザ、オペレーティング・システム、または別のソースからコマンド120-1(図1を参照)を受信する。
【0052】
ステップ204において、セキュリティ統合レイヤ104(図1を参照)は、ステップ202において受信したコマンドを、プロセス・レジストリ110(図1を参照)に含まれるコマンドのリスト内のコマンドの1つとして識別する。
【0053】
ステップ206において、セキュリティ統合レイヤ104(図1を参照)は、ステップ204において識別したコマンドに関連するパラメータのセットおよび事前構成条件を決定する。
【0054】
ステップ208において、ステップ206において決定されたパラメータのセットおよび事前構成条件に基づいて、セキュリティ統合レイヤ104(図1を参照)は、構成に基づくワークフローに含まれかつコマンド120-1(図1を参照)を検証する検証活動(単数または複数)を決定する。
【0055】
ステップ210において、セキュリティ統合レイヤ104(図1を参照)は、外部システム122-1、…、122-M(図1を参照)に含まれる外部システム(単数または複数)とのそれぞれの対話(単数または複数)を完了させることによって、ステップ208において決定された検証活動(単数または複数)を行い、この対話(単数または複数)はステップ206において決定されたパラメータのセットを使用する。
【0056】
ステップ212において、セキュリティ統合レイヤ104(図1を参照)は、ステップ210において行った検証活動(単数または複数)が正常に完了したかどうかを判定する。ステップ212において検証活動(単数または複数)が正常に完了したと判定されたとき、次いでステップ212のYes分岐が取られて、ステップ214が行われる。
【0057】
ステップ214において、セキュリティ統合レイヤ104(図1を参照)は、コマンド120-1(図1を参照)の実行を許可および継続する。ステップ214の後、図2のプロセスはステップ216において終了する。
【0058】
ステップ212に戻って、セキュリティ統合レイヤ104(図1を参照)が、検証活動(単数または複数)の少なくとも1つが正常に完了しなかったと判定するとき、次いでステップ212のNo分岐が取られて、ステップ218が行われる。
【0059】
ステップ218において、セキュリティ統合レイヤ104(図1を参照)は、コマンド120-1(図1を参照)の実行を許可せず継続しない。ステップ218の後、図2のプロセスはステップ216において終了する。
【実施例
【0060】
図3は、本発明の実施形態による、図2のプロセスにおいて用いられるレジストリおよびAPIの実施例300を示す。実施例300はプロセス・レジストリ110と、構成レジストリ112と、外部システムAPI302と、活動レジストリ114とを含む。プロセス・レジストリ110は、プロセスS1Pを完了するためのシャットダウン・コマンド304と、プロセスS2Pを完了するためのリブート・コマンド306とを含む。
【0061】
構成レジストリ112は、それぞれ以下の検証活動のためのシーケンスS1C1、S1C2、およびS1C3を含む。変更制御を検証する308、最近のバックアップを検証する310、およびデータベース・インスタンスを検証する312。
【0062】
外部システムAPIは、チケット・システム314、スケジューリング・システム316、およびデータベース管理システム318と通信するためのAPIを含む。データベース管理システム318との通信のためのAPIは、JDBCまたはODBCを含んでもよい。
【0063】
活動レジストリ114は、シーケンスS1A1(すなわち、コマンドを中止して、コマンドが中止されたことを管理に通知する)およびS1A2(すなわち、コマンドの実行を継続する)を指定し、これらのシーケンスは、外部システムAPI302に含まれるAPIを介してチケット・システム314と対話することによって「変更制御を検証する」308(すなわちシーケンスS1C1)を行う構成レジストリ112の結果に関連付けられる。
【0064】
さらに、活動レジストリ114は、シーケンスS1A3(すなわち、コマンドを中止する)およびS1A4(すなわち、コマンドの実行を継続する)を指定し、これらのシーケンスは、外部システムAPI302に含まれるAPIを介してスケジューリング・システム316と対話することによって「最近のバックアップを検証する」310(すなわち、シーケンスS1C2)を行う構成レジストリ112の結果に関連付けられる。
【0065】
なおさらに、活動レジストリ114は、シーケンスS1A5(すなわち、データベースをシャットダウンする)およびS1A6(すなわち、コマンドの実行を継続する)を指定し、これらのシーケンスは、外部システムAPI302に含まれるAPI(例、JDBCまたはODBC)を介してデータベース管理システム318と対話することによって「データベース・インスタンスを検証する」312(すなわち、シーケンスS1C3)を行う構成レジストリ112の結果に関連付けられる。
【0066】
図2のプロセスを用いてコマンドを識別および検証し、コマンドの検証の結果に基づいて活動(単数または複数)を行うためのレジストリ110、112、および114ならびに外部システムAPI302の使用について、図4~5に示される実施例に関連して以下に説明する。
【0067】
図4~5は、本発明の実施形態による、図3のレジストリおよびAPIを用いる図2のプロセスの実施例330を示す。実施例330は、活動レジストリ114(図3を参照)によって行われる活動332と、汎用外部システム・エンジン116(図1を参照)に含まれるAPI302(図3を参照)によって行われる活動334と、構成レジストリ112(図3を参照)によって行われる活動336とを含む。実施例330におけるプロセスはステップ350において、システム・シャットダウン・コマンドを発行する(すなわち、ITシステムのシャットダウンを開始する)システム管理者またはITシステムの別のユーザによって開始される。以後、図4~5の考察において、ステップ350において発行されるシステム・シャットダウン・コマンドを単に「コマンド」と呼ぶ。ステップ202(図2を参照)において、セキュリティ統合レイヤ104(図1を参照)はコマンドを受信する。
【0068】
ステップ351(すなわち、シーケンスS1)において、セキュリティ統合レイヤ104(図1を参照)はコマンドを解釈し、プロセス・レジストリ110(図3を参照)に対してコマンドを検証する。
【0069】
ステップ352(すなわち、プロセスS1P)において、セキュリティ統合レイヤ104(図1を参照)はステップ351における検証が成功したかどうかを判定する(すなわち検証の成功とは、プロセス・レジストリ110(図3を参照)に含まれる、事前に設定されたコマンド・リストの中にそのコマンドが見出されたことを示す)。ステップ351および352は、ステップ204(図2を参照)に含まれる。
【0070】
ステップ352において、セキュリティ統合レイヤ104(図1を参照)がステップ351における検証が成功したと判定するとき、次いでステップ352のYes分岐に従ってステップ353が行われる。
【0071】
ステップ206(図2を参照)はステップ353に先行する。ステップ353(すなわち、シーケンスS1C)において、セキュリティ統合レイヤ104(図1を参照)はコマンドの処理の制御を保持し、構成レジストリ112(図1を参照)において定められる事前構成条件に対するコマンドの検証を開始する。事前構成条件は(i)変更制御と、(ii)一番最近のバックアップと、(iii)データベース・インスタンスとを検証することからなる。
【0072】
ステップ354(すなわち、シーケンスS1C1)において、セキュリティ統合レイヤ104(図1を参照)はコマンドに対する変更制御の検証を開始し、これは承認された変更レコードが存在することを確認することを試みるものである。ステップ355において、セキュリティ統合レイヤ104(図1を参照)は外部システムAPI302(図3を参照)内のAPIを介してチケット・システム314(図3を参照)と対話する。ステップ354および355は、ステップ210(図2を参照)に含まれる。
【0073】
ステップ356(すなわち、シーケンスS1A1またはS1A2)において、セキュリティ統合レイヤ104(図1を参照)は、承認された変更レコードが存在するかどうかを判定する。ステップ356において、セキュリティ統合レイヤ104(図1を参照)が承認された変更レコードが存在しないと判定するとき、次いでステップ356のNo分岐に従ってステップ357および358が行われて、活動レジストリ114(図3を参照)において構成されるとおりにさらなる活動が完了される。ステップ356はステップ212(図2を参照)に含まれる。
【0074】
ステップ357(すなわち、シーケンスS1A1の一部)においては、ステップ356において承認された変更制御が見出されなかったことに応答して、セキュリティ統合レイヤ104(図1を参照)は承認された変更制御が見出されなかったことを示す通知を管理に送る。ステップ358においては、ステップ356において承認された変更制御が見出されなかったことに応答して、セキュリティ統合レイヤ104(図1を参照)はコマンドの実行を中止する。ステップ358はステップ218(図2を参照)に含まれる。
【0075】
ステップ356に戻って、セキュリティ統合レイヤ104(図1を参照)が承認された変更レコードが存在すると判定するとき、次いでステップ356のYes分岐に従ってステップ359が行われる。
【0076】
ステップ359(すなわち、シーケンスS1A2)においては、ステップ356において承認された変更制御が見出されたことに応答して、セキュリティ統合レイヤ104(図1を参照)はステップ353において言及される残りの事前構成条件を用いてコマンドの検証を継続することによって、コマンドの実行を継続する。ステップ359はステップ214(図2を参照)に含まれる。
【0077】
ステップ360(すなわち、シーケンスS1C2)においては、シーケンスS1C1における検証の完了の成功の後に、セキュリティ統合レイヤ104(図1を参照)は一番最近のバックアップ(すなわち、現時点の直前の予め定められた期間内に起こったバックアップ)の検証(確認)を開始し、これは構成レジストリ112(図3を参照)における次の事前構成条件である。
【0078】
ステップ361において、セキュリティ統合レイヤ104(図1を参照)は外部システムAPI302(図3を参照)内のAPIを介してスケジューリング・システム316(図3を参照)と対話する。ステップ362(すなわち、シーケンスS1A3またはS1A4)において、セキュリティ統合レイヤ104(図1を参照)は、一番最近のバックアップが検証されたかどうかを判定する。ステップ360および361は、ステップ210(図2を参照)に含まれる。
【0079】
ステップ362において、セキュリティ統合レイヤ104(図1を参照)が、一番最近のバックアップが検証されていないと判定するとき、次いでステップ362のNo分岐に従ってシーケンスS1A3においてステップ358が行われ、このステップはコマンドの実行を中止する。ステップ362において、セキュリティ統合レイヤ104(図1を参照)が、一番最近のバックアップが検証されたと判定するとき、次いでステップ362のYes分岐に従ってシーケンスS1A4においてステップ359が行われ、このステップは構成レジストリ112(図3を参照)に含まれる残りの事前構成条件を用いてコマンドの検証を継続することによって、コマンドの実行を継続する。ステップ362はステップ212(図2を参照)に含まれる。
【0080】
ステップ363(すなわち、シーケンスS1C3)においては、シーケンスS1C2における検証の完了の成功の後に、セキュリティ統合レイヤ104(図1を参照)はデータベース・インスタンスの検証を開始し、これは構成レジストリ112(図3を参照)における次の事前構成条件である。
【0081】
ステップ363の後、プロセスは図5のステップ364に続く。図5は、活動レジストリ114(図3を参照)によって行われる活動332と、汎用外部システム・エンジン116(図1を参照)に含まれるAPI302(図3を参照)によって行われる活動334とを含む。図5のステップ364において、セキュリティ統合レイヤ104(図1を参照)は外部システムAPI302(図3を参照)内のAPIを介してデータベース管理システム318(図3を参照)と対話する。ステップ363(図4を参照)およびステップ364は、ステップ210(図2を参照)に含まれる。
【0082】
ステップ365(すなわち、シーケンスS1A5またはS1A6)においては、データベース管理システム318(図3を参照)との対話に基づいて、セキュリティ統合レイヤ104(図1を参照)はデータベース・インスタンスが稼動しているかどうかを判定する。ステップ365において、セキュリティ統合レイヤ104(図1を参照)がデータベース・インスタンス(単数または複数)が稼動していると判定するとき、次いでステップ365のYes分岐に従ってステップ366が行われる。ステップ365はステップ212(図2を参照)に含まれる。
【0083】
ステップ366においては、ステップ365においてデータベース・インスタンス(単数または複数)が稼動していると判定するステップに応答して、セキュリティ統合レイヤ104(図1を参照)はシーケンスS1A5を開始してデータベース・インスタンス(単数または複数)をシャットダウンする。ステップ367においては、ステップ365においてデータベース・インスタンス(単数または複数)が稼動していると判定するステップに応答して、セキュリティ統合レイヤ104(図1を参照)はシーケンスS1A6を開始してコマンドの実行を完了させ、その結果としてITシステムがシャットダウンされる。ステップ367はステップ214(図2を参照)に含まれる。
【0084】
ステップ365に戻って、セキュリティ統合レイヤ104(図1を参照)がデータベース・インスタンスが稼動していないと判定するとき、次いでステップ365のNo分岐に従ってステップ367が行われ、このステップはコマンドの実行を完了させ、その結果としてITシステムがシャットダウンされる。
【0085】
図4のステップ352に戻って、セキュリティ統合レイヤ104(図1を参照)が、プロセス・レジストリ110(図3を参照)に含まれる事前に設定されたコマンドのリストの中にコマンドが見出されなかったと判定するとき、次いで図5のステップ368が行われる。ステップ368において、セキュリティ統合レイヤ104(図1を参照)はITシステムのオペレーティング・システムにコマンドの制御を渡し、ステップ367において、セキュリティ統合レイヤ104(図1を参照)はコマンドの実行を完了させる。
【0086】
図4~5のプロセスは実施例として提供されるが、図4~5のプロセスにおけるロジックおよびステップは本発明の一実施形態である。
【0087】
コンピュータ・システム
図6は、本発明の実施形態による、図1のシステムに含まれ、かつ図2のプロセスを実施するコンピュータのブロック図である。コンピュータ102は、一般的に中央処理ユニット(CPU)402と、メモリ404と、入力/出力(I/O:input/output)インタフェース406と、バス408とを含むコンピュータ・システムである。さらに、コンピュータ102はI/Oデバイス410と、コンピュータ・データ・ストレージ・ユニット412とに結合される。CPU402はコンピュータ102の演算および制御機能を行い、それはITシステムにおいて構成に基づくワークフローを提供する方法を行うためのセキュリティ統合レイヤ104(図1を参照)に対するプログラム・コード414に含まれる命令を実行することを含み、この命令はメモリ404を介してCPU402によって実行される。CPU402は単一の処理ユニットを含んでもよいし、(例、クライアントおよびサーバにおける)1つ以上の場所の1つ以上の処理ユニットに分散されてもよい。
【0088】
メモリ404は、以下に説明する公知のコンピュータ可読ストレージ媒体を含む。一実施形態において、メモリ404のキャッシュ・メモリ・エレメントは、プログラム・コードの命令の実行中に大容量記憶装置からコードを検索しなければならない回数を低減するために、少なくともいくつかのプログラム・コード(例、プログラム・コード414)の一時記憶装置を提供する。さらに、CPU402と同様に、メモリ404は1つ以上のタイプのデータ・ストレージを含む単一の物理的場所に存在してもよいし、さまざまな形の複数の物理的システムに分散されてもよい。さらにメモリ404は、たとえばローカル・エリア・ネットワーク(LAN:local area network)または広域ネットワーク(WAN:wide area network)などに分散されたデータを含み得る。
【0089】
I/Oインタフェース406は、外部ソースと情報を交換するための任意のシステムを含む。I/Oデバイス410は、ディスプレイ、キーボードなどを含む任意の公知のタイプの外部デバイスを含む。バス408は、コンピュータ102の各コンポーネント間の通信リンクを提供し、電気、光、無線などを含む任意のタイプの伝送リンクを含んでもよい。
【0090】
加えて、I/Oインタフェース406は、コンピュータ102がコンピュータ・データ・ストレージ・ユニット412または別のコンピュータ・データ・ストレージ・ユニット(図示せず)に情報(例、データまたはプログラム命令、たとえばプログラム・コード414など)を保存して、そこからその情報を検索することを可能にする。コンピュータ・データ・ストレージ・ユニット412は、以下に説明する公知のコンピュータ可読ストレージ媒体を含む。一実施形態において、コンピュータ・データ・ストレージ・ユニット412はたとえば磁気ディスク・ドライブ(すなわち、ハード・ディスク・ドライブ)または光ディスク・ドライブ(例、CD-ROMディスクを受け取るCD-ROMドライブ)などの不揮発性データ・ストレージ・デバイスである。
【0091】
メモリ404もしくはストレージ・ユニット412またはその両方は、ITシステムにおいて構成に基づくワークフローを提供するためにメモリ404を介してCPU402によって実行される命令を含むコンピュータ・プログラム・コード414を保存してもよい。図6はメモリ404がプログラム・コードを含むものとして示しているが、本発明はメモリ404がすべてのコード414を同時に含むのではなく、一度にコード414の一部分のみを含むような実施形態も予期している。
【0092】
さらに、メモリ404はオペレーティング・システム(図示せず)を含んでもよいし、図6に示されていないその他のシステムを含んでもよい。
【0093】
コンピュータ102に結合されるストレージ・ユニット412または1つもしくはそれ以上の他のコンピュータ・データ・ストレージ・ユニット(図示せず)あるいはその両方は、コマンド120-1、…、コマンド120-N(図1を参照)に関連する検証活動のベースであるパラメータおよび事前構成条件を含んでもよい。
【0094】
当業者に認識されることとなるとおり、第1の実施形態において本発明は方法であってもよく、第2の実施形態において本発明はシステムであってもよく、第3の実施形態において本発明はコンピュータ・プログラム製品であってもよい。
【0095】
本発明の実施形態の任意のコンポーネントには、ITシステムにおいて構成に基づくワークフローを提供することに関するコンピューティング・インフラストラクチャをディプロイまたは統合することを提供するサービス・プロバイダによってディプロイ、管理、サービスなどが行われ得る。よって、本発明の実施形態はコンピュータ・インフラストラクチャをサポートするためのプロセスを開示し、このプロセスは、1つ以上のプロセッサ(例、CPU402)を含むコンピュータ・システム(例、コンピュータ102)においてコンピュータ可読コード(例、プログラム・コード414)の統合、ホスティング、維持、およびディプロイの少なくとも1つに対する少なくとも1つのサポート・サービスを提供するステップを含み、このプロセッサ(単数または複数)は、コンピュータ・システムにITシステムにおいて構成に基づくワークフローを提供させるコードに含まれる命令を行う。別の実施形態は、コンピュータ・インフラストラクチャをサポートするためのプロセスを開示し、このプロセスは、プロセッサを含むコンピュータ・システムにコンピュータ可読プログラム・コードを統合するステップを含む。統合するステップは、プロセッサの使用を通じてコンピュータ・システムのコンピュータ可読ストレージ・デバイスにプログラム・コードを保存するステップを含む。プログラム・コードは、プロセッサによって実行される際に、ITシステムにおいて構成に基づくワークフローを提供する方法を実現する。
【0096】
ITシステムにおいて構成に基づくワークフローを提供するためのプログラム・コード414は、コンピュータ可読ストレージ媒体(例、コンピュータ・データ・ストレージ・ユニット412)をロードすることを介してクライアント、サーバ、およびプロキシ・コンピュータ(図示せず)に直接手動でロードすることによってディプロイされてもよいことが理解されるが、プログラム・コード414は、中央サーバまたは中央サーバのグループにプログラム・コード414を送ることによって自動的または半自動的にコンピュータ102にディプロイされてもよい。次いで、プログラム・コード414はプログラム・コード414を実行することとなるクライアント・コンピュータ(例、コンピュータ102)にダウンロードされる。代替的に、プログラム・コード414はeメールを介してクライアント・コンピュータに直接送られる。次いで、プログラム・コード414を分離してディレクトリに入れるプログラムを実行するeメール上のボタンによって、プログラム・コード414はクライアント・コンピュータ上のディレクトリに分離されるか、またはクライアント・コンピュータ上のディレクトリにロードされる。別の選択肢は、クライアント・コンピュータ・ハード・ドライブ上のディレクトリにプログラム・コード414を直接送ることである。プロキシ・サーバが存在する場合は、プロセスはプロキシ・サーバ・コードを選択し、どのコンピュータにそのプロキシ・サーバのコードを置くかを定め、プロキシ・サーバ・コードを送信し、次いでプロキシ・コンピュータにおいてプロキシ・サーバ・コードをインストールする。プログラム・コード414はプロキシ・サーバに送信され、次いでプロキシ・サーバに保存される。
【0097】
本発明の別の実施形態は、サブスクリプション、広告、および/または料金に基づいてプロセス・ステップを行う方法を提供する。すなわち、たとえばソリューション・インテグレーター(Solution Integrator)などのサービス・プロバイダは、ITシステムにおいて構成に基づくワークフローを提供するプロセスの作成、維持、サポートなどを提供できる。この場合、サービス・プロバイダは、1人またはそれ以上の顧客に対するプロセス・ステップを行うコンピュータ・インフラストラクチャの作成、維持、サポートなどを行い得る。それと引き換えに、サービス・プロバイダはサブスクリプションもしくは料金またはその両方の合意の下に顧客(単数または複数)から支払いを受けることができ、またはサービス・プロバイダは1つもしくはそれ以上のサード・パーティに対する広告内容の販売からの支払いを受けることができ、あるいはその両方ができる。
【0098】
本発明は、統合の任意の可能な技術的詳細レベルにおけるシステム、方法、もしくはコンピュータ・プログラム製品、またはその組み合わせであってもよい。コンピュータ・プログラム製品は、プロセッサ(例、CPU402)に本発明の態様を行わせるためのコンピュータ可読プログラム命令414を有するコンピュータ可読ストレージ媒体(または複数の媒体)(すなわち、メモリ404およびコンピュータ・データ・ストレージ・ユニット412)を含んでもよい。
【0099】
コンピュータ可読ストレージ媒体は、命令実行デバイス(例、コンピュータ102)によって使用するための命令(例、プログラム・コード414)を保持および保存できる有形デバイスであり得る。コンピュータ可読ストレージ媒体は、たとえば電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、または前述の任意の好適な組み合わせなどであってもよいが、それに限定されない。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的リストは以下を含む。ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM:random access memory)、リード・オンリ・メモリ(ROM:read-only memory)、消去可能プログラマブル・リード・オンリ・メモリ(erasable programmable read-only memory)(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM:static random access memory)、ポータブル・コンパクト・ディスク・リード・オンリ・メモリ(CD-ROM:compact disc read-only memory)、デジタル多用途ディスク(DVD:digital versatile disk)、メモリ・スティック、フレキシブルディスク、機械的にコード化されたデバイス、たとえばパンチ・カードまたは記録された命令を有する溝の中の隆起構造など、および前述の任意の好適な組み合わせ。本明細書において用いられるコンピュータ可読ストレージ媒体は、たとえば電波もしくはその他の自由に伝播する電磁波、導波路もしくはその他の伝送媒体を通じて伝播する電磁波(例、光ファイバ・ケーブルを通過する光パルス)、またはワイヤを通じて伝送される電気信号など、それ自体が一時的信号のものであると解釈されるべきではない。
【0100】
本明細書に記載されるコンピュータ可読プログラム命令(例、プログラム・コード414)は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング/処理デバイス(例、コンピュータ102)にダウンロードされ得るか、またはたとえばインターネット、ローカル・エリア・ネットワーク、広域ネットワーク、もしくは無線ネットワーク、またはその組み合わせなどのネットワーク(図示せず)を介して外部コンピュータまたは外部ストレージ・デバイス(例、コンピュータ・データ・ストレージ・ユニット412)にダウンロードされ得る。ネットワークは銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、もしくはエッジ・サーバ、またはその組み合わせを含んでもよい。各コンピューティング/処理デバイス内のネットワーク・アダプタ・カード(図示せず)またはネットワーク・インタフェース(図示せず)は、ネットワークからコンピュータ可読プログラム命令を受信して、そのコンピュータ可読プログラム命令をそれぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体に記憶するために転送する。
【0101】
本発明の動作を実行するためのコンピュータ可読プログラム命令(例、プログラム・コード414)はアセンブラ命令、命令セット・アーキテクチャ(ISA:instruction-set-architecture)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路に対する構成データ、または1つもしくはそれ以上のプログラミング言語の任意の組み合わせで書かれたソース・コードもしくはオブジェクト・コードであってもよく、このプログラミング言語はオブジェクト指向プログラミング言語、たとえばSmalltalk、またはC++など、および手続き型プログラミング言語、たとえば「C」プログラミング言語または類似のプログラミング言語などを含む。コンピュータ可読プログラム命令は、すべてがユーザのコンピュータで実行されてもよいし、スタンド・アロン・ソフトウェア・パッケージとして部分的にユーザのコンピュータで実行されてもよいし、一部がユーザのコンピュータで、一部がリモート・コンピュータで実行されてもよいし、すべてがリモート・コンピュータまたはサーバで実行されてもよい。後者のシナリオにおいて、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)または広域ネットワーク(WAN)を含む任意のタイプのネットワークを通じてユーザのコンピュータに接続されてもよいし、(たとえば、インターネット・サービス・プロバイダを用いてインターネットを通じて)外部コンピュータへの接続が行われてもよい。いくつかの実施形態において、たとえばプログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ(FPGA:field-programmable gate arrays)、またはプログラマブル・ロジック・アレイ(PLA:programmable logic arrays)などを含む電子回路は、本発明の態様を行うために電子回路をパーソナライズするためのコンピュータ可読プログラム命令の状態情報を使用することによって、コンピュータ可読プログラム命令を実行してもよい。
【0102】
本明細書においては、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品の流れ図(例、図2)もしくはブロック図(例、図1および図6)またはその両方を参照して、本発明の態様を説明している。流れ図もしくはブロック図またはその両方の各ブロック、および流れ図もしくはブロック図またはその両方におけるブロックの組み合わせは、コンピュータ可読プログラム命令(例、プログラム・コード414)によって実現され得ることが理解されよう。
【0103】
これらのコンピュータ可読プログラム命令は、汎用目的コンピュータ、特定目的コンピュータ、またはマシンを生成するためのその他のプログラマブル・データ処理装置(例、コンピュータ102)のプロセッサ(例、CPU402)に提供されることによって、そのコンピュータまたはその他のプログラマブル・データ処理装置のプロセッサを介して実行される命令が、流れ図もしくはブロック図またはその両方の単数または複数のブロックにおいて指定される機能/動作を実現するための手段を生じてもよい。これらのコンピュータ可読プログラム命令は、コンピュータ、プログラマブル・データ処理装置、もしくはその他のデバイスまたはその組み合わせに特定の方式で機能するように指示できるコンピュータ可読ストレージ媒体(例、コンピュータ・データ・ストレージ・ユニット412)にも保存されることによって、命令が保存されたコンピュータ可読ストレージ媒体が、流れ図もしくはブロック図またはその両方の単数または複数のブロックにおいて指定される機能/動作の態様を実現する命令を含む製造物を含んでもよい。
【0104】
コンピュータ可読プログラム命令(例、プログラム・コード414)は、コンピュータ(例、コンピュータ102)、他のプログラマブル・データ処理装置、または他のデバイスにもロードされて、コンピュータに実現されるプロセスを生成するためにコンピュータ、他のプログラマブル装置、または他のデバイスにおいて一連の動作ステップを行わせることによって、そのコンピュータ、他のプログラマブル装置、または他のデバイスにおいて実行される命令が、流れ図もしくはブロック図またはその両方の単数または複数のブロックにおいて指定される機能/動作を実現してもよい。
【0105】
図面における流れ図およびブロック図は、本発明のさまざまな実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実施のアーキテクチャ、機能、および動作を示すものである。これに関して、流れ図またはブロック図の各ブロックは、指定される論理機能(単数または複数)を実現するための1つ以上の実行可能命令を含むモジュール、セグメント、または命令の一部を表してもよい。いくつかの代替的実施において、ブロック内に示される機能は、図面に示されるものとは異なる順序で起こってもよい。たとえば、連続して示される2つのブロックは、実際には実質的に同時に実行されてもよいし、関与する機能によってはこれらのブロックがときに逆の順序で実行されてもよい。加えて、ブロック図もしくは流れ図またはその両方の各ブロック、およびブロック図もしくは流れ図またはその両方のブロックの組み合わせは、指定された機能を行うか、特定目的のハードウェアおよびコンピュータ命令の組み合わせを実施または実行する特定目的のハードウェア・ベースのシステムによって実現され得ることが注目されるだろう。
【0106】
本明細書においては例示の目的のために本発明の実施形態を説明したが、当業者には多くの修正および変更が明らかになるだろう。したがって、添付の請求項はこうした修正および変更のすべてをこの発明の真の趣旨および範囲内にあるものとして包含することが意図される。
図1
図2
図3
図4
図5
図6