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

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

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧

特許7706846セキュリティセンシティブなコンピューティング・システムに対するAPIアクセスのための方法、システム及びコンピュータプログラム
<>
  • 特許-セキュリティセンシティブなコンピューティング・システムに対するAPIアクセスのための方法、システム及びコンピュータプログラム 図1
  • 特許-セキュリティセンシティブなコンピューティング・システムに対するAPIアクセスのための方法、システム及びコンピュータプログラム 図2
  • 特許-セキュリティセンシティブなコンピューティング・システムに対するAPIアクセスのための方法、システム及びコンピュータプログラム 図3
  • 特許-セキュリティセンシティブなコンピューティング・システムに対するAPIアクセスのための方法、システム及びコンピュータプログラム 図4
  • 特許-セキュリティセンシティブなコンピューティング・システムに対するAPIアクセスのための方法、システム及びコンピュータプログラム 図5
  • 特許-セキュリティセンシティブなコンピューティング・システムに対するAPIアクセスのための方法、システム及びコンピュータプログラム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-07-04
(45)【発行日】2025-07-14
(54)【発明の名称】セキュリティセンシティブなコンピューティング・システムに対するAPIアクセスのための方法、システム及びコンピュータプログラム
(51)【国際特許分類】
   G06F 21/51 20130101AFI20250707BHJP
【FI】
G06F21/51
【請求項の数】 19
(21)【出願番号】P 2021195128
(22)【出願日】2021-12-01
(65)【公開番号】P2022094322
(43)【公開日】2022-06-24
【審査請求日】2024-05-16
(31)【優先権主張番号】17/120,330
(32)【優先日】2020-12-14
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(72)【発明者】
【氏名】プラディープ・パラメシュワラン
(72)【発明者】
【氏名】ノウルネ・ブツィオウェッヒ
(72)【発明者】
【氏名】ビルヘルム・ミルト
【審査官】岸野 徹
(56)【参考文献】
【文献】特開2020-166469(JP,A)
【文献】特開2014-134947(JP,A)
【文献】米国特許出願公開第2020/0007455(US,A1)
【文献】特許第6663531(JP,B1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/51
(57)【特許請求の範囲】
【請求項1】
アプリケーション・プログラミング・インターフェース(API)アクセスアクションを制御するための方法であって、
コンピュータにより、オペレータアカウント・データベースから利用可能なオペレータアカウントを選択することと、
コンピュータにより、前記APIアクセスアクションの識別子と、前記APIアクセスアクションを実行するためのユニークAPIアクセスキーとを包含する、ユニーク・アクションタグを生成することと、
コンピュータにより、前記APIアクセスアクションの識別子及び前記ユニークAPIアクセスキーと、選択されたオペレータアカウントとのマッピングを有する、動的アクセスリストをメンテナンスすることと、
コンピュータにより、前記選択されたオペレータアカウントに対して、前記動的アクセスリスト及び前記ユニーク・アクションタグを介して、マッピングされたAPIアクセスアクションの実行のみに限定されたセキュリティセンシティブなコンピューティング・システムに対するAPIアクセスアクションの権限を認可することであって、前記セキュリティセンシティブなコンピューティング・システムは、セキュア・エンクレーブの形態のセキュア・アプライアンスとして実装される、前記認可することと、
ペレータが前記APIアクセスアクションを実行したことに応答してコンピュータにより、前記ユニーク・アクションタグに基づく更なるAPIアクセスアクションを取り消すことと、
を含む方法。
【請求項2】
前記選択されたオペレータアカウントが、オペレータアカウントのグループである、請求項1に記載の方法。
【請求項3】
前記APIアクセスアクションが、APIアクセスアクションのグループである、請求項1又は請求項2のいずれかに記載の方法。
【請求項4】
前記APIアクセスアクションのグループが、異なるAPIを参照する、請求項3に記載の方法。
【請求項5】
コンピュータにより、APIアクセスアクションの要件を判定するために、システムログファイルを監視及び解析すること
をさらに含む、請求項1から請求項までのいずれか1項に記載の方法。
【請求項6】
前記APIアクセスアクションが、前記セキュリティセンシティブなコンピューティング・システムの構成の変更、及び、前記セキュリティセンシティブなコンピューティング・システムのコンポーネントの有効化を含む群の中から少なくとも選択される、請求項に記載の方法。
【請求項7】
前記更なるAPIアクセスアクションを取り消すことが、
前記更なるAPIアクセスアクションを取り消す前に、前記APIアクセスアクションの完了を監視すること
をさらに含む、請求項1から請求項までのいずれか1項に記載の方法。
【請求項8】
以前のアクセスアクションが実用的な解決に到達しなかった場合、コンピュータにより、前記ユニーク・アクションタグによって制御されるアクセスをAPIの追加セットに拡張すること
をさらに含む、請求項1から請求項までのいずれか1項に記載の方法。
【請求項9】
コンピュータにより、前記選択されたオペレータアカウントに、前記APIアクセスアクションに関する詳細を含む通知を送ること
をさらに含む、請求項1から請求項までのいずれか1項に記載の方法。
【請求項10】
アプリケーション・プログラミング・インターフェース(API)アクセスアクションを制御するためのアクセス制御システムであって、
プロセッサ・セットと、
機械可読ストレージデバイスと、
前記機械可読ストレージデバイスに格納されたコンピュータコードと、
を含み、前記コンピュータコードは、前記プロセッサ・セットに、
オペレータアカウント・データベースから利用可能なオペレータアカウントを選択することと、
前記APIアクセスアクションの識別子と、前記APIアクセスアクションを実行するためのユニークAPIアクセスキーとを包含する、ユニーク・アクションタグを生成することと、
前記APIアクセスアクションの識別子及び前記ユニークAPIアクセスキーと、選択されたオペレータアカウントとのマッピングを有する、動的アクセスリストをメンテナンスすることと、
前記選択されたオペレータアカウントに対して、前記動的アクセスリスト及び前記ユニーク・アクションタグを介して、マッピングされたAPIアクセスアクションの実行のみに限定されたセキュリティセンシティブなコンピューティング・システムに対するAPIアクセスアクションの権限を認可することであって、前記セキュリティセンシティブなコンピューティング・システムが、セキュア・エンクレーブの形態のセキュア・アプライアンスとして実装される、前記認可することと、
ペレータが前記APIアクセスアクションを実行したことに応答して、前記ユニーク・アクションタグに基づく更なるAPIアクセスアクションを取り消すことと、
を含むオペレーションを行わせる命令及びデータを含む、
システム。
【請求項11】
前記選択されたオペレータアカウントが、オペレータアカウントのグループである、請求項10に記載のシステム。
【請求項12】
前記APIアクセスアクションが、APIアクセスアクションのグループである、請求項10又は請求項11に記載のシステム。
【請求項13】
前記APIアクセスアクションのグループが、異なるAPIを参照する、請求項12に記載のシステム。
【請求項14】
前記オペレーションが、
APIアクセスアクションの要件を判定するために、システムログファイルを監視及び解析すること
をさらに含む、請求項10から請求項13までのいずれか1項に記載のシステム。
【請求項15】
前記APIアクセスアクションが、前記セキュリティセンシティブなコンピューティング・システムの構成の変更、及び、前記セキュリティセンシティブなコンピューティング・システムのコンポーネントの有効化を含む群の中から少なくとも選択される、請求項14に記載のシステム。
【請求項16】
前記更なるAPIアクセスアクションを取り消すことが、
前記更なるAPIアクセスアクションを取り消す前に、前記APIアクセスアクションの完了を監視すること
をさらに含む、請求項10から請求項15までのいずれか1項に記載のシステム。
【請求項17】
前記オペレーションが、
以前のアクセスアクションが実用的な解決に到達しなかった場合、前記ユニーク・アクションタグによって制御されるアクセスをAPIの追加セットに拡張すること
をさらに含む、請求項10から請求項16までのいずれか1項に記載のシステム。
【請求項18】
プロセッサ・セットに請求項1から請求項までのいずれか1項に記載の方法を行わせるコンピュータコードを含む、コンピュータプログラム。
【請求項19】
請求項18に記載のコンピュータプログラムを格納した、機械可読ストレージデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般的には、コンピューティング・システムに対するセキュアなアクセスアクションの分野に関し、より具体的には、セキュリティセンシティブなコンピューティング・システムにおいてアプリケーション・プログラミング・インターフェース(API)アクセスアクションを制御するための方法に関する。
【発明の概要】
【発明が解決しようとする課題】
【0002】
セキュリティセンシティブなコンピューティング・システムにおいてアプリケーション・プログラミング・インターフェース(API)アクセスアクションを制御するための方法を提供する。
【課題を解決するための手段】
【0003】
本発明の一態様によれば、セキュリティセンシティブなコンピューティング・システムにおいてアプリケーション・プログラミング・インターフェース(API)アクセスアクションを制御する方法が提供される。本方法のオペレーションは、実行すべきアクションについて、オペレータアカウント・データベースから利用可能なオペレータアカウントを選択することと、APIアクセスアクションの識別子と、APIアクセスアクションを実行するためのユニークAPIアクセスキーとを包含する、ユニーク・アクションタグを生成することと、APIアクセスアクションの識別子及びユニークAPIアクセスキーと、選択されたオペレータアカウントとのマッピングを有する、動的アクセスリストをメンテナンスすることとを含むことができる。さらに、本方法は、選択されたオペレータアカウントに対して、動的アクセスリスト及びユニーク・アクションタグを介して、マッピングされたAPIアクセスアクションの実行のみに限定されたセキュリティセンシティブなコンピューティング・システムに対するAPIアクセスアクションの権限を認可することと、オペレータがAPIアクセスアクションを実行した後、ユニーク・アクションタグに基づく更なるAPIアクセスアクションを取り消すこととを含むことができる。
【0004】
本発明の別の態様によれば、セキュリティセンシティブなコンピューティング・システムにおいてアプリケーション・プログラミング・インターフェース(API)アクセスアクションを制御するためのアクセス制御システムが提供される。アクセス制御システムは、プロセッサに通信可能に結合されたメモリを含むことができ、メモリは、実行すべきAPIアクセスアクションについて、プロセッサが、オペレータアカウント・データベースから利用可能なオペレータアカウントを選択し、APIアクセスアクションの識別子と、APIアクセスアクションを実行するためのユニークAPIアクセスキーとを包含する、ユニーク・アクションタグを生成することを可能にするプログラムコード部分を格納している。格納されたプログラムコードは、プロセッサが、更に、APIアクセスアクションの識別子及びユニークAPIアクセスキーと、選択されたオペレータアカウントとのマッピングを有する、動的アクセスリストをメンテナンスし、選択されたオペレータアカウントに、動的アクセスリスト及びユニーク・アクションタグを介して、マッピングされたAPIアクセスアクションの実行のみに限定されたセキュリティセンシティブなコンピューティング・システムに対するAPIアクセスアクションの権限を認可し、オペレータがAPIアクセスアクションを実行した後、ユニーク・アクションタグに基づく更なるAPIアクセスアクションを取り消すことを可能にすることができる。
【0005】
さらに、実施形態は、コンピュータ又はいずれかの命令実行システムによって又はそれとの関連で使用されるコンピュータ使用可能又はコンピュータ可読媒体からアクセス可能な、関連したコンピュータプログラム製品の形態を取ることができる。この説明の目的で、コンピュータ使用可能又はコンピュータ可読媒体は、命令実行システム、装置、又はデバイスによって又はそれらとの関連で使用されるプログラムを格納し、伝達し、伝搬し、もしくは輸送し、又はそれらの組合せを行うための手段を収納するあらゆる装置とすることができる。
【図面の簡単な説明】
【0006】
図1】セキュリティセンシティブなコンピューティング・システムにおいてAPIアクセスアクションを制御するための本発明の方法の実施形態のブロック図を示す。
図2】本発明の実施形態のコンポーネント及び関連する情報フローのブロック図を示す。
図3】本発明の実施形態の情報フローに関与するコンポーネントの第1の部分のブロック図を示す。
図4】本発明の実施形態の情報フローに関与するコンポーネントの第2の部分のブロック図を示す。
図5】セキュリティセンシティブなコンピューティング・システムにおいてAPIアクセスアクションを制御するためのアクセス制御システムの実施形態を示す。
図6】本発明の一態様によるアクセス制御システムを備えるコンピューティング・システムを示す。
【発明を実施するための形態】
【0007】
この説明の文脈では、以下の慣例、用語、もしくは表現又はそれらの組合せを使用することができる。
【0008】
「アプリケーション・プログラミング・インターフェース・アクセスアクション」(略して「APIアクセスアクション」)という用語は、あらゆる種類のアプリケーション・プログラミング・インターフェースに対する呼び出しを意味することができる。例として、オペレーティングシステム、データベース、設定ファイル、ミドルウェアコンポーネント、もしくはアプリケーションプログラム又はそれらの組合せのAPIが挙げられる。APIの基礎となるコンポーネントへのアクセスは、他のプログラムによって実行されることもあり、又はAPIに対するユーザインターフェースによって直接実行されることもある。アクセスアクションは、APIの根底にあるコンポーネントに対する、読出しアクセス、書込みアクセス、変更アクセス、もしくは削除アクセス又はそれらの組合せを含むがこれらに限定されない、あらゆる種類の影響を含むことができる。基本的に、あらゆるアクセスアクションは、APIの根底にあるコンポーネントに対するアクセスとして理解すべきものであり、そのアクセスはコンポーネントの設定を変更することができる。
【0009】
「セキュリティセンシティブなコンピューティング・システム」という用語は、アクセスが厳密に制御された高度にセキュアなコンピューティング・システムを意味することができる。多くの場合、こうしたシステムは、IBM Zシステム・コンプレックスのような、完全ないわゆるメインフレーム・コンピューティング・システムの一部の形態であるセキュア・エンクレーブとして実装される。
【0010】
「オペレータアカウント」という用語は、セキュリティセンシティブなコンピューティング・システムのオペレータ専用のユーザID(識別子)を意味することができる。オペレータ・ユーザのアクセス権限は、そのセキュリティセンシティブなコンピューティング・システムのアプリケーション・ユーザのアクセス権をはるかに超える場合がある。これまで(すなわち、従来のシステムでは)、オペレータのアクセス権は、セキュリティセンシティブなコンピューティング・システムに対するセキュリティ上の脅威となる可能性があった。提案する概念は、このギャップを埋める手段となり得る。
【0011】
「ユニーク・アクションタグ」という用語は、選択されたオペレータが1回限りのAPIアクセスアクションを実行できるようにするための、潜在的には時間依存性の(すなわち、事前定義された期間のみ有効な)ワンタイム識別子を意味することができる。1回限りのAPIアクセスアクションが実行されると、ユニーク・アクションタグはその有効性を失うものとすることができる。すなわち、同じ種類の2回目のAPIアクセスアクションを取り消すことができる。
【0012】
「ユニークAPIアクセスキー」という用語は、特定のAPIに対するアクセスを可能にするデジタルコードを意味することができる。
【0013】
「動的アクセスリスト」という用語は、特定のAPIに対する1回限りのAPIアクセスアクションについてユニーク・アクションタグとオペレータとをマッピングする、データベース又はテーブルを意味することができる。
【0014】
「選択されたオペレータアカウント」という用語は、エラー修正又はその他の必要な又は推奨される保守タスクを実行するために、1回限りのAPIアクセスアクションの権限が与えられるべく選択されたユーザIDを意味することができる。
【0015】
「APIアクセスアクションの権限」という用語は、選択されたオペレータがそれぞれのAPIに対する時間制限付きのアクセス権を有することができることを意味することができる。
【0016】
「更なるAPIアクセスアクションを取り消す」という用語は、ユニークAPIアクセスキーを使用することができ、かつ、潜在的な問題を解決することができた又は保守タスクを実行することができた後に、取り消しが行われることを意味することができる。ユニークAPIアクセスキーをユニーク・アクションタグと組み合わせて2回目に再利用する方法はない。これにより、高度にセキュアなコンピューティング・システムのシステムセキュリティをさらに向上させることができる。
【0017】
「セキュア・アプライアンス」という用語は、例えばセキュア・エンクレーブとして実装された、本発明者らの高度にセキュアなコンピューティング・システムの一部を意味することができる。多くの場合、こうしたシステムは、いわゆるメインフレームコンピュータシステムの形態で実装される。
【0018】
「セキュア・エンクレーブ」という用語は、より大きなコンピューティング・コンプレックスの一部としての、高度にセキュアな、そして多くの場合プライベートなコンピューティング環境を意味することができる。すべてのアクセス及びアカウントは、典型的にはセキュリティキー機構によってセキュアにされる。
【0019】
「システムログファイル」という用語は、コンピュータ・システム上で生じたアクティビティのリストを意味することができる。アクティビティのリストには、タイムタグを付すことができる。さらに、行われたアクティビティと組み合わせて、関与したユーザ又はサブコンポーネントをリスト化することもできる。
【0020】
セキュリティセンシティブなコンピューティング・システムにおいてアプリケーション・プログラミング・インターフェース(API)アクセスアクションを制御するための提案する方法は、複数の利点、貢献及び技術的効果を提供することができる。
【0021】
提案する概念の核心は、選択的な1回限りのアクション、並びに、解決されたアクションタグに基づいて決定することができる動的に生成されたアクセス制御リストに基づいた、必要なアクションを一度だけ実行することができるシステム管理者の選択的なグループに対する割当てにあるということができる。ひとたび特定のオペレータに権限が与えられ、当面のタスク、すなわちAPIに対するアクセスアクションが終了すると、APIに対する2回目のアクセスを取り消すことができる。
【0022】
したがって、提案する概念は、結局のところ、高度にセキュアなシステムを伴うIT環境で役立つように使用することができ、そこでは、オペレーション・チームは、直接の(すなわち制御されていない)アクセス、すなわちssh(セキュアシェル)アクセスの形態のアクセスは有さず、オペレーティングシステム・インターフェースに対する直接のアクセスは有さず(事前定義されたAPIを介したアクセスのみ)、アクションに対する高度に制御されたアクセスのみが専用オペレータに与えられ、すべてのAPI呼び出しは、制御された監視可能な環境で監査され、実行されることになる。
【0023】
要するに、オペレーション・チームに与えられた権限をさらに制限して、高度にセキュアなコンピューティング環境が、その固有の自己監視サブシステムによってさらに巧みに自己制御されるようにすることができる。
【0024】
所与のAPIアクセスアクションに対して、そのAPIアクセスアクションが実行された後で無効になる得るユニーク・アクションタグを使用することで、APIアクセスアクションが実行された後の、ある種のセルフロックを提供することができる。また、オペレータによるAPIアクセスアクションの意図が成功したことを保証することもできる。
【0025】
そうでない場合でも、所与のシステムの問題をできるだけすばやく解決するために、事前定義された規則及び手順(設定可能)に基づいて、APIに対するアクセス権を自動的に拡張することもできる。
【0026】
以下の段落では、本方法並びに関連システムに適用可能な追加の実施形態を説明する。
【0027】
本方法の一実施形態によれば、選択されたオペレータアカウントは、オペレータアカウントのグループであってもよい。したがって、APIへのアクセスアクションを行うのにふさわしいオペレータの選択を、スキル又はその他のグループ定義特性に基づいて、実際の利用可能性(例えば、休暇中ではなく「勤務中」であること)に基づいて行うことができる。クラウドコンピューティング環境では、オペレータ又はオペレータのグループの選択は、特定のクラウドコンピューティングシステムを使用しているクライアントに基づいて行うこともできる。
【0028】
本方法の別の実施形態によれば、APIアクセスアクションは、APIアクセスアクションのグループであってもよい。これには、同じAPIに対する異なるタイプのアクセスアクション、並びに、異なるAPIに対する同じ又は異なるアクセスアクションであるAPIアクセスアクションも含まれる。誤動作しているシステム機能が単一のAPIアクセスアクションでは修復できない場合、アクセス制御システムの事前定義された設定(又は構成)に基づいて、追加のAPIアクセスアクションを実行するための権限をトリガすることができる。したがって、オペレータに対するAPIアクセスアクションの完全な選択及び割当てプロセスを完全に最初から再始動する必要はない。それゆえ、本方法の別の実施形態によれば、APIアクセスアクションのグループは、異なるAPIを参照することができる。
【0029】
本方法の一実施形態によれば、セキュリティセンシティブなシステムは、セキュア・エンクレーブの形態のセキュア・アプライアンスとして実装することができる。このようなアプライアンス又はシステムは、あらゆるコンポーネント又はその関連APIに対するオープンアクセスを防止する、高度に保護されたシステムとして、最初から設計することができる。高度にセキュアな制御されたユーザ又は他のシステムにのみ、こうしたセキュア・アプライアンスに対するアクセスを許可する又は権限を与えることができる。しかしながら、それでもなお、一般的なオペレータにも、システムAPIへのアクセスが許可される場合がある。この穴を塞ぐために、本明細書で提案されるセキュリティシステムが手段となり得る。
【0030】
別の実施形態によれば、本方法は、APIアクセスアクションの要件を決定するために、システムログファイル(又は複数のシステムログファイス)を監視及び解析することも含む。これは、セキュア・アプライアンスのAPIに対するアクセスの要件が決定されると動的アクセス制御及びアクションレゾルバをトリガすることができる、ロギング及び解析システムによって実行することができる。
【0031】
本方法の一実施形態によれば、APIアクセスアクションは、セキュリティセンシティブなコンピューティング・システムの構成(すなわち、その少なくとも1つのリソース又はコンポーネント)の変更、及び、セキュリティセンシティブなコンピューティング・システムの別のコンポーネントの有効化を含む群の中から選択された少なくとも1つとすることができる。これは、セキュリティセンシティブなコンピューティング・システムのスリープしている(すなわち非アクティブな)コンポーネント、例えば、追加のプロセッサ・コア、記憶容量がより大きい更なるメモリ、又はより高いメモリ帯域幅などを利用可能にすることを含むこともできる。
【0032】
本方法の一実施形態によれば、更なるAPIアクセスアクションを取り消すことは、更なるAPIアクセスアクションを取り消す前に、APIアクセスアクションの完了を監視することを含むこともできる。したがって、権限を与えられたAPIアクセスアクションを一度だけ実行することができる。ひとたび特定のアクセスアクションが完了すると、同じアクセストークンに基づいた2回目のAPIアクションが不可能になり得る。それゆえ、オペレータがアクセスタグを後の(特に権限のない)使用のために秘密裏に保存することは不可能であり、むしろ意味をなさない。後の、すなわち2回目の使用は、いずれにしても取り消されることになる。
【0033】
本発明の一実施形態によれば、本方法は、以前のアクセスアクションが実用的な解決(working solution)に到達しなかった場合、ユニーク・アクションタグによって制御されるアクセスをAPIの追加セットに拡張することを含むこともできる。これは、解決すべき問題又は実行すべきタスクが、単一のAPIアクセスアクションだけでは完了しない場合に、特に有用であり得る。それゆえ、成功したAPIアクセスアクションの完了マークは設定されないであろう。その結果、事前定義された規則及び手順に基づいて、当面のタスクを解決するために必要なAPI及び潜在的なアクションの拡張を自動的に許可することができる。
【0034】
本発明の一実施形態によれば、本方法は、選択されたオペレータアカウントに通知を送ることを含むこともできる。これに関して、通知は、必要なAPIアクセスアクションに関する詳細(一般的には、より多くの詳細)を含むことができる。詳細は、追加の背景情報、特定の指示、追加で必要なリソース、前もって行うべきアクション(最悪の場合、コンピューティング・システムのシャットダウン又はアクティブユーザへの警告)又はバックアップ・アクティビティを含むことができる。
【0035】
以下の段落では、図面の詳細な説明を示す。図中の指示はすべて模式的なものである。最初に、セキュリティセンシティブなコンピューティング・システムにおいてAPIアクセスアクションを制御するための本発明の実施形態のブロック図を示す。その後、更なる実施形態、並びに、セキュリティセンシティブなコンピューティング・システムにおいてAPIアクセスアクションを制御するためのアクセス制御システムの実施形態について説明する。
【0036】
図1は、セキュリティセンシティブなコンピューティング・システムにおいてアプリケーション・プログラミング・インターフェース(API)アクセスアクションを制御するための方法100の実施形態のブロック図を示す。方法100は、実行すべきアクションについて、オペレータアカウント・データベースから利用可能なオペレータアカウントを選択すること(102)と、APIアクセスアクションの識別子とAPIアクセスアクションを実行するためのユニークAPIアクセスキーとを包含するユニーク・アクションタグを生成すること(104)とを含む。
【0037】
方法100は、さらに、APIアクセスアクションの識別子及びユニークAPIアクセスキーと選択されたオペレータアカウントとのマッピングを有する、動的アクセスリストをメンテナンスすること(106)を含む。ユニークAPIアクセスキーは、ユニーク・アクションタグとは異なることに留意されたい。
【0038】
さらに、方法100は、選択されたオペレータアカウントに対して、動的アクセスリスト及びユニーク・アクションタグを介して、マッピングされたAPIアクセスアクションの実行のみに限定されたセキュリティセンシティブなコンピューティング・システムに対するAPIアクセスアクションの権限を認可すること(108)も含む。これに関して、マッピングは、動的アクセス制御リストから知ることができることに留意されたい。
【0039】
最後に、方法100は、オペレータが実行したユニーク・アクションタグに基づく更なるAPIアクセスアクションを取り消すこと(110)を含む。したがって、選択されたオペレータは、割り当てられたタスク、すなわちユニーク・アクションタグによって識別された専用のAPIアクセスアクションを一度だけ実行することができる。
【0040】
図2は、本発明の実施形態のコンポーネント及び関連する情報フローのブロック図200を示す。フローは、例えばメインフレーム(MF)コンピュータ・システム上で実行されるセキュア・アプライアンス202のオペレーションによって生成することができるログ208から開始する。ログファイル208は、連続的に取得する(210)ことができ、これをロギング及び解析システム212で解析することができる。エラー又は保守要件が判定されると、動的アクセス制御及びアクションレゾルバ216に通知が送られる(214)。
【0041】
動的アクセス制御及びアクションレゾルバ216は、利用可能なオペレータのリスト(220、勤務中のオペレータ、もしくは、当面のタスクを実行する能力があるもしくは全般的な権限を与えられたオペレータ、又はその両方のリスト)にアクセスし(218)、選択されたオペレータ222のうちの少なくとも1人にアクセスを認可する(224)ことができる。利用可能なオペレータ222のうち少なくとも1人は、勤務中のオペレータのリスト220に勤務中として登録されている。また、動的アクセス制御及びアクションレゾルバ216は、選択されたオペレータに、API204を介して許可されたアクションを実行して(232)潜在的なエラーを解決する又は必要な保守タスクを完了するよう、通知する(228)。APIに対するアクセスは、選択されたオペレータ222のAPIアクセスアクションの認可を受け取る(230)APIアクセス管理コンポーネント206によって制御される。
【0042】
APIアクセスアクションが完了すると、そのことを、APIアクセス管理コンポーネント206によって動的アクセス制御及びアクションレゾルバ216に信号送信(234)することができ、API204に対する更なるアクセスが、動的アクセスリスト226(及び関連する制御コンポーネント)及びAPIアクセス管理コンポーネント206を介して、取り消される(236、238)。動的アクセス制御及びアクションレゾルバ216は、APIアクセスアクションの完了について、セキュア・アプライアンス202又はそのコンポーネントの1つ(例えば、APIアクセス管理コンポーネント206又はログファイル208の1つ)を能動的にしてもよいことに留意されたい。
【0043】
API204、ログファイル208、及びAPIアクセス管理コンポーネント206は、すべてセキュア・アプライアンス202の一部であることに留意されたい。さらに、ロギング及び解析システム212は、エラー又は必要な保守アクションについてログファイルを解析する以外に、判定されたエラー又は必要な保守アクションに基づいて、実行しなければならない特定のAPIアクセスアクションを決定又は判定することができる。
【0044】
さらに、動的アクセス制御及びアクションレゾルバ216は、ここで提示される概念をサポートする機器的(instrumental)アクティビティのリストを実行する。すなわち、ロギング及び解析システム212からの通知をリスニングし、通知ごとに必要なアクションを抽出し、勤務中の潜在的なアサイニー(すなわち、オペレータ)を決定し、アクションタグを作成し、アクションタグをオペレータ222とともに動的アクセスリスト226に登録し、アクションタグを割り当てて選択されたオペレータ222を通知し、実行すべきアクションを解決し、APIアクセスアクションが開始もしくは完了したかどうか又は開始及び完了したかどうかを検証し、動的アクセスリスト226内のAPIアクションタグを無効にして更なるAPIアクセスができなくなるようにする(すなわち取り消す)。
【0045】
図3は、本発明の概念の実施形態の情報フローに関与するコンポーネントの第1の部分のブロック図300を示す。図の上部には、関与するコンポーネント、すなわち、管理者のフロントエンドコンポーネント302、動的アクセスリスト304(図2の動的アクセスリスト226と対応)、及び動的アクセス制御及びアクションレゾルバ306(図2の動的アクセス制御及びアクションレゾルバ216と対応)が挙げられている。
【0046】
図3の右側には、フローチャートのコネクタA、B、C、D、Eが示されており、これらは図4のそれぞれの続きのコネクタに接続される。分かり易くするために、全体の情報フローを図3図4に分けた。
【0047】
アクター、すなわち選択されたオペレータ222(図2と対応)は、図3の左側に示されている。管理者のフロントエンド308は、選択されたオペレータ222に対する通知(228、図2)を常にリスニングしている。それぞれのトリガ信号は、通知器310によって生成される。これは動的アクセス制御リスト304に関連付けることができる。このことは、動的アクセス制御及びアクションレゾルバ306からの通知を取得(312)して、セキュア・アプライアンスに対するアサイニーのアクセストークンを求める要求314が生成されるようにするアクティビティにも適用することができる。
【0048】
動的アクセス制御及びアクションレゾルバ306は、アクセスアクションの抽出318をトリガし、選択されたオペレータを決定する、通知リスナ・コンポーネント316を含む。次いで、そのオペレータのためのユニーク・アクションタグが作成される(320)。さらに、動的アクセス制御及びアクションサーバ316は、APIアクセスアクションが事前定義された期間内に実行されるかどうか、監視し(322)、判定する。まだ実行されていない場合、プロセスは、事前定義された期間にわたって待機し(323)、その後、再び監視322が実行される。
【0049】
ここで図4を参照すると、動的アクセス制御及び実際のサーバ306とロギング及び監視コンポーネント402との間に、プロセスフロー接続を示すいくつかの情報バブル(information bubbles)が存在することが見てとれ、これらの続きの接続をA、B、C、D、Eと表す。図4は、本発明の実施形態の、図3及び図4で共同して表される実施形態の情報フローに関与するコンポーネントの第2の部分のブロック図400を示す。
【0050】
アクションの抽出318のトリガから、Aを介した、勤務中のオペレータのリスト406(図2の220に相当)への接続も見てとれる。通知リスナ・プロセス316は、必要な保守タスクの潜在的なエラー修正に関してどのAPIアクセスアクションを実行しなければならないかの決定(408)の後、Bを介してトリガされる。これは、セキュア・アプライアンス404のログ412の解析410に基づく。ここで、図2の参照符号が図3及び4の適切な場所に括弧付きで付記されていることにも言及しておく。
【0051】
また、セキュア・アプライアンスに対するアサイニー(すなわち選択されたオペレータ)のアクセストークンの要求314と、動的アクセスリスト416(例えば、図2の226に相当するデータベース)からの情報にアクセスするAPIアクセス管理コンポーネント414との間のCを介した接続、並びに、オペレータ222とセキュア・アプライアンス404のAPI418に対するアクセスとの間の論理的な接続も見てとれる。さらにDを介した、システムの連続的なヘルスチェック420への接続が示されている。さらに、APIアクセスアクションが事前定義された期間内に実行されない場合、Dを介して、APIアクセス管理414にも、潜在的なAPIアクセスアクションが取り消されるべきであることが通知される。
【0052】
完璧を期して、図5は、セキュリティセンシティブなコンピューティング・システムにおいてAPIアクセスアクションを制御するためのアクセス制御システム500の実施形態を示す。システム500は、プロセッサ504に通信可能に結合されたメモリ502を含み、メモリ502は、プロセッサ504がAPIアクセスアクションについて、特に選択ユニット506によって、オペレータアカウント・データベースから利用可能なオペレータアカウントを選択し、特に生成モジュール508によって、APIアクセスアクションの識別子とAPIアクセスアクションを実行するためのユニークAPIアクセスキーとを包含するユニーク・アクションタグを生成し、特にメンテナンスモジュール510によって、APIアクセスアクションの識別子及びユニークAPIアクセスキーと、選択されたオペレータアカウントとのマッピングを有する、動的アクセスリストをメンテナンスし、アクセス認可ユニット512によって、選択されたオペレータアカウントに対して、動的アクセスリスト及びユニーク・アクションタグを介して、マッピングされたAPIアクセスアクションの実行のみに限定されたセキュリティセンシティブなコンピューティング・システムに対するAPIアクセスアクションの権限を認可し、特に取消モジュール514によって、オペレータがAPIアクセスアクションを実行した後、ユニーク・アクションタグに基づく更なるAPIアクセスアクションを取り消すことを可能にする、プログラムコード部分(図示せず)を格納する。
【0053】
また、アクセス制御システム500のアクティビティは、メモリ502及びプロセッサ504とデータ交換するハードウェア・コンポーネントとして完全に実装することもできることに留意されたい。その結果、メモリ502と、プロセッサ504と、選択ユニット506と、生成モジュール508と、メンテナンスモジュール510と、アクセス認可ユニット512と、その取消モジュール514とを、データ及び情報交換のために互いに接続することができる。あるいは、アクティブなユニット及びモジュールを、アクセス制御システムの内部バスシステム516を介して、データ及び信号の交換のために連結することができる。これにより、エレガントに実装可能な完全なハードウェア実装を作製することができる。
【0054】
本発明の実施形態は、プログラムコードを格納もしくは実行する又は格納及び実行するのに適したプラットフォームに関わらず、事実上あらゆるタイプのコンピュータと共に実施することができる。図6は、一例として、提案された方法に関連するプログラムコードを実行するのに適したコンピューティング・システム600を示す。
【0055】
コンピューティング・システム600は、適切なコンピュータ・システムの一例に過ぎず、コンピュータ・システム600が本明細書で上述した機能のいずれかを実装することもしくは実行すること又はその両方が可能であるか否かに関わらず、本明細書に記載された本発明の実施形態の使用又は機能の範囲に関して、いかなる制限も示唆することを意図していない。コンピュータ・システム600には、多数の他の汎用又は専用コンピューティング・システム環境又は構成と共に動作可能なコンポーネントが存在する。コンピュータ・システム/サーバ600と共に使用するのに適した周知のコンピューティング・システム、環境、もしくは構成又はそれらの組合せの例には、パーソナルコンピュータシステム、サーバコンピュータシステム、シンクライアント、シッククライアント、ハンドヘルド又はラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な民生電子機器、ネットワークPC、ミニコンピュータシステム、メインフレームコンピュータシステム、及び上記のシステム又はデバイスのいずれかを含む分散型クラウドコンピューティング環境などが含まれるが、これらに限定されない。コンピュータ・システム/サーバ600は、プログラムモジュールなどのコンピュータ・システム実行可能な命令がコンピュータ・システム600によって実行されるという一般的な文脈で説明することができる。一般に、プログラムモジュールは、特定のタスクを実行する、又は特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などを含むことができる。コンピュータ・システム/サーバ600は、通信ネットワークを介してリンクされた遠隔処理装置によってタスクが実行される分散型クラウドコンピューティング環境で実施されてもよい。分散型クラウドコンピューティング環境では、プログラムモジュールは、メモリ記憶装置を含む、ローカル及び遠隔のコンピュータ・システム・ストレージ媒体の両方に配置されてもよい。
【0056】
図に示されるように、コンピュータ・システム/サーバ600は、汎用コンピューティング・デバイスの形態で示される。コンピュータ・システム/サーバ600のコンポーネントは、1つ又は複数のプロセッサ又は処理ユニット602、システム・メモリ604、及びシステム・メモリ604を含む種々のシステム・コンポーネントをプロセッサ602に結合するバス606を含むことができるが、これらに限定されない。バス606は、メモリ・バス又はメモリ・コントローラ、周辺バス、アクセラレーテッド・グラフィックス・ポート、及び種々のバス・アーキテクチャのいずれかを用いるプロセッサ又はローカル・バスを含む幾つかのタイプのバス構造のうちのいずれかの1つ又は複数を表す。限定ではなく例として、このようなアーキテクチャは、Industry Standard Architecture(ISA)バス、Micro Channel Architecture(MCA)バス、Enhanced ISA(EISA)バス、Video Electronics Standards Association(VESA)ローカル・バス、及びPeripheral Component Interconnect(PCI)バスを含む。コンピュータ・システム/サーバ600は、典型的には種々のコンピュータ・システム可読媒体を含む。このような媒体は、コンピュータ・システム/サーバ600によってアクセス可能なあらゆる利用可能媒体とすることができ、揮発性媒体及び不揮発性媒体両方、並びに取外し可能媒体及び取外し不能媒体の両方を含む。
【0057】
システム・メモリ604は、ランダム・アクセス・メモリ(RAM)1030もしくはキャッシュ・メモリ610又はその両方等の揮発性メモリの形態のコンピュータ・システム可読媒体を含むことができる。コンピュータ・システム/サーバ600は、その他の取外し可能/取外し不能な揮発性/不揮発性コンピュータ・システム・ストレージ媒体をさらに含むことができる。単なる例として、取外し不能の不揮発性磁気媒体(図示されておらず、典型的には「ハード・ドライブ」と呼ばれる)との間の読出し及び書込みのために、ストレージ・システム612を設けることができる。図示されていないが、取外し可能な不揮発性磁気ディスク(例えば、「フロッピー・ディスク」)との間の読出し及び書込みのための磁気ディスク・ドライブ、並びに、CD-ROM、DVD-ROM又はその他の光媒体等の取外し可能な不揮発性光ディスクとの間の読出し及び書込みのための光ディスク・ドライブを設けることができる。このような例においては、各々は、1つ又は複数のデータ媒体インタフェースによってバス606に接続することができる。以下でさらに示され、説明されるように、メモリ604は、本発明の実施形態の機能を実行するように構成されたプログラムモジュールの組(例えば、少なくとも1つ)を有する少なくとも1つのプログラム製品を含むことができる。
【0058】
プログラムモジュール616の組(少なくとも1つ)を有するプログラム/ユーティリティを、限定ではなく例として、オペレーティングシステム、1つ又は複数のアプリケーションプログラム、他のプログラムモジュール、及びプログラムデータと共にメモリ604内に格納することができる。オペレーティングシステム、1つ又は複数のアプリケーションプログラム、他のプログラムモジュール、及びプログラムデータ、又はそれらの幾つかの組合せの各々は、ネットワーキング環境の実装を含むことができる。プログラムモジュール616は、一般に、本明細書において説明される本発明の実施形態の機能もしくは方法又はその両方を実行する。
【0059】
コンピュータ・システム/サーバ600は、キーボード、ポインティング・デバイス、ディスプレイ620、ディスク・ドライブ等の1つ又は複数の外部デバイス618、ユーザがコンピュータ・システム/サーバ600と対話することを可能にする1つ又は複数のデバイス、もしくは、コンピュータ・システム/サーバ600が1つ又は複数の他のコンピューティング・デバイスと通信することを可能にするいずれかのデバイス(例えば、ネットワークカード、モデムなど)、又はそれらの組合せと通信することもできる。このような通信は、入力/出力(I/O)インタフェース614を経由して行うことができる。さらにまた、コンピュータ・システム/サーバ600は、ローカル・エリア・ネットワーク(LAN)、汎用広域ネットワーク(WAN)、もしくはパブリック・ネットワーク(例えば、インターネット)又はそれらの組合せ等の1つ又は複数のネットワークと、ネットワーク・アダプタ622を介して通信することができる。図示されるように、ネットワーク・アダプタ622は、バス606を介してコンピュータ・システム/サーバ600の他のコンポーネントと通信する。図示されないが、コンピュータ・システム/サーバ600と共に他のハードウェア・コンポーネントもしくはソフトウェア・コンポーネント又はその両方を使用することができることを理解されたい。例として、これらに限定されるものではないが、マイクロコード、デバイス・ドライバ、冗長処理ユニット、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、及びデータ・アーカイブ・ストレージ・システムなどが挙げられる。
【0060】
さらに、セキュリティセンシティブなコンピューティング・システムにおいてAPIアクセスアクションを制御するためのアクセスコントロールシステム500をバスシステム606に取り付けることができる。
【0061】
本発明の種々の実施形態の説明は、例証の目的で提示したものであるが、網羅的であることも、又は開示された実施形態に限定することも意図しない。説明した実施形態の範囲から逸脱することなく、多くの修正及び変形が当業者には明らかであろう。本明細書で用いる用語は、実施形態の原理、実際的な用途、もしくは市場において見いだされる技術に優る技術的改善を最も良く説明するように、又は当業者が本明細書で開示される実施形態を理解することを可能にするように、選択されたものである。
【0062】
本発明は、システム、方法、もしくはコンピュータプログラム製品又はそれらの組合せとすることができる。コンピュータプログラム製品は、本発明の態様をプロセッサに実行させるためのコンピュータ可読プログラム命令を有する1つ又は複数のコンピュータ可読ストレージ媒体を含むことができる。
【0063】
媒体は、伝搬媒体用の、電子、磁気、光学、電磁、赤外線、半導体システムとすることができる。コンピュータ可読媒体の例としては、半導体又はソリッドステートメモリ、磁気テープ、リムーバブルコンピュータディスケット、ランダム・アクセス・メモリ(RAM)、リードオンリーメモリ(ROM)、硬質磁気ディスク、光ディスクなどが挙げられる。光ディスクの現在例としては、Compact Disk-Read Only Memory(CD-ROM)、Compact Disk-Read/Write(CD-R/W)、DVD、及びBlu-Ray-Diskが挙げられる。
【0064】
コンピュータ可読ストレージ媒体は、命令実行デバイスによる使用のために命令を保持及び格納することができる有形デバイスとすることができる。コンピュータ可読ストレージ媒体は、例えば、電子ストレージデバイス、磁気ストレージデバイス、光ストレージデバイス、電磁気ストレージデバイス、半導体ストレージデバイス、又は上記のものの任意の適切な組合せとすることができるがこれらに限定されない。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストは、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラム可能読み出し専用メモリ(EPROM又はフラッシュメモリ)、静的ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクトディスク読み出し専用メモリ(CD-ROM)、デジタル多目的ディスク(DVD)、メモリスティック、フロッピーディスク、記録された命令を有するパンチカードもしくは溝内に隆起した構造等の機械式コード化デバイス、及び上記のものの任意の適切な組合せを含む。コンピュータ可読ストレージ媒体は、本明細書で用いられる場合、無線波もしくは他の自由に伝搬する電磁波、導波路もしくは他の伝送媒体を通って伝搬する電磁波(例えば光ファイバケーブルを通る光パルス)、又は電線を通って伝送される電気信号のような一時的な信号自体と解釈すべきではない。
【0065】
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング/処理デバイスにダウンロードすることも、又は、例えばインターネット、ローカル・エリア・ネットワーク、広域ネットワークもしくは無線ネットワーク又はそれらの組合せを経由して、外部コンピュータもしくは外部ストレージデバイスにダウンロードすることもできる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータもしくはエッジサーバ又はそれらの組合せを含むことができる。各コンピューティング/処理デバイス内のネットワーク・アダプタ・カード又はネットワーク・インタフェースは、ネットワークからコンピュータ可読プログラム命令を受け取り、そのコンピュータ可読プログラム命令をそれぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体にストレージのために転送する。
【0066】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、機械語命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、状態設定データ、又は、Smalltalk、もしくはC++などのオブジェクト指向プログラミング言語及び「C」プログラミング言語もしくは類似のプログラミング言語のような従来の手続き型プログラミング言語を含む1つもしくは複数のプログラミング言語の任意の組合せで記述されたソースコードもしくはオブジェクトコードのいずれかとすることができる。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で実行される場合もあり、一部がユーザのコンピュータ上で独立型ソフトウェア・パッケージとして実行される場合もあり、一部がユーザのコンピュータ上で実行され、一部が遠隔コンピュータ上で実行される場合もあり、又は完全に遠隔コンピュータもしくはサーバ上で実行される場合もある。後者のシナリオにおいては、遠隔コンピュータは、ローカル・エリア・ネットワーク(LAN)もしくは広域ネットワーク(WAN)を含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続される場合もあり、又は外部コンピュータへの接続が行われる場合もある(例えば、インターネット・サービス・プロバイダを用いたインターネットを通じて)。幾つかの実施形態において、例えばプログラム可能論理回路、フィールドプログラム可能ゲートアレイ(FPGA)、又はプログラム可能論理アレイ(PLA)を含む電子回路は、本発明の態様を実施するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路を個別化することにより、コンピュータ可読プログラム命令を実行することができる。
【0067】
本発明の態様は、本明細書において、本発明の実施形態による方法、装置(システム)、及びコンピュータプログラム製品のフローチャート図もしくはブロック図又はその両方を参照して説明される。フローチャート図もしくはブロック図又はその両方の各ブロック、並びにフローチャート図もしくはブロック図又はその両方のブロックの組合せは、コンピュータ可読プログラム命令によって実装することができることが理解されるであろう。
【0068】
これらのコンピュータ可読プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに与えてマシンを製造し、それにより、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャートもしくはブロック図又はその両方の1つ又は複数のブロック内で指定された機能/動作を実装するための手段を作り出すようにすることができる。これらのコンピュータ可読プログラム命令を、コンピュータ、プログラム可能データ処理装置、もしくは他のデバイス又はそれらの組合せを特定の方式で機能させるように指示することができるコンピュータ可読ストレージ媒体内に格納し、それにより、その中に格納された命令を有するコンピュータ可読媒体が、フローチャートもしくはブロック図又はその両方の1つ又は複数のブロックにおいて指定された機能/動作の態様を実装する命令を含む製品を含むようにすることもできる。
【0069】
コンピュータ可読プログラム命令を、コンピュータ、他のプログラム可能データ処理装置又は他のデバイス上にロードして、一連のオペレーション・ステップをコンピュータ、他のプログラム可能データ処理装置又は他のデバイス上で行わせてコンピュータ実装のプロセスを生成し、それにより、コンピュータ、他のプログラム可能装置又は他のデバイス上で実行される命令が、フローチャートもしくはブロック図又はその両方の1つ又は複数のブロックにおいて指定された機能/動作を実装するようにすることもできる。
【0070】
図面内のフローチャート及びブロック図は、本開示の種々の実施形態による、システム、方法、及びコンピュータプログラム製品の可能な実装の、アーキテクチャ、機能及びオペレーションを示す。この点に関して、フローチャート又はブロック図内の各ブロックは、指定された論理機能を実装するための1つ又は複数の実行可能命令を含む、モジュール、セグメント、又は命令の一部を表すことができる。幾つかの代替的な実装において、ブロック内に記された機能は、図中に記された順序とは異なる順序で行われることがある。例えば、連続して示された2つのブロックは、関与する機能に応じて、実際には実質的に同時に実行されることもあり、又はこれらのブロックはときとして逆順で実行されることもある。ブロック図もしくはフローチャート図又はその両方の各ブロック、及びブロック図もしくはフローチャート図又はその両方の中のブロックの組合せは、指定された機能又は動作を実行する専用ハードウェア・ベースのシステムによって実装することもでき、又は専用ハードウェアとコンピュータ命令との組合せを実行することもできることにも留意されたい。
【0071】
本明細書で用いられる用語は、特定の実施形態を説明することのみを目的としたものであり、本発明を限定することを意図したものではない。本明細書で使用される単数形「a」、「an」及び「the」は、前後関係から明らかに別の意味を示さない限り、複数形態も含むことを意図する。更に、本明細書内で使用する場合に、「備える、含む」もしくは「備えている、含んでいる」又はその両方の用語は、そこに述べた特徴、整数、ステップ、オペレーション、要素もしくはコンポーネント又はそれらの組合せの存在を明示しているが、1つ又は複数のその他の特徴、整数、ステップ、オペレーション、要素、コンポーネントもしくはそれらの群又はそれらの組合せの存在又は付加を排除するものではないことは理解されるであろう。
【0072】
以下の特許請求の範囲における全ての「手段又はステップと機能との組み合わせ(ミーンズ又はステップ・プラス・ファンクション)」要素の対応する構造、材料、動作、及び均等物は、その機能を、明確に特許請求された他の請求要素との組み合わせで実行するためのあらゆる構造、材料、又は動作を含むことが意図されている。本発明の説明は、例証及び説明を目的として提示されたものであるが、網羅的であること又は本発明を開示された形態に限定することを意図したものではない。本発明の範囲及び思想から逸脱しない多くの修正及び変形が当業者には明らかであろう。実施形態は、本発明の原理及び実際の用途を最も良く説明するようにまた企図される特定の用途に適するような種々の修正を伴う種々の実施形態に関して本発明を当業者が理解するのを可能にするように、選択しかつ説明したものである。
【0073】
いくつかの追加定義を以下に示す。
【0074】
本発明:出願時の請求項又は特許審査後に最終的に発行される場合の請求項のいずれかによってカバーされる「本発明」という用語によって説明される主題の絶対的な指示として解釈すべきではない。「本発明」という用語は、本明細書のどの開示が潜在的に新規であると考えられるかについて読者が一般的な感覚を得るために使用されているが、「本発明」という用語の使用によって示されるこの理解は暫定的なものであり、特許審査の過程で、関連情報が現れれたとき及び請求項が潜在的に補正されときに、変更される。
【0075】
実施形態:上記の「本発明」の定義を参照のこと。「実施形態」という用語にも同様の注意が適用される。
【0076】
及び/又は:包括的であること、又は、例えば、A、B「及び/又は」Cは、A又はB又はCの少なくとも1つが真であり、適用可能であることを意味する。
【0077】
含む(Including/include/includes):特に明示しない限り、「含むが、必ずしも限定しない」ことを意味する。
【0078】
ユーザ/サブスクライバ:(i)単一の個人、(ii)ユーザ又はサブスクライバとして行動するのに十分な知能を持つ人工知能の実体、もしくは(iii)関連するユーザ又はサブスクライバのグループ、又は(i)~(iii)の組合せを含むが、必ずしもこれらに限定されない
【0079】
データ通信:無線通信、有線通信、無線部分と有線部分を有する通信経路など、現在知られている、又は将来開発されるあらゆる種類のデータ通信方式であり、データ通信は、(i)直接データ通信、(ii)間接データ通信、もしくは(iii)データ通信の全過程においてフォーマット、パケット化状態、媒体、暗号化状態、もしくはプロトコル又はそれらの組合せが一定であるデータ通信、又は(i)~(iii)の組合せに必ずしも限定されない。
【0080】
受け取る/提供する/送る/入力/出力/報告:別段の定めがない限り、これらの言葉は、(i)客体と主体との間の関係に関する特定の度合いの直接さ、もしくは(ii)客体と主体との間に介在する中間的な構成要素、動作もしくは事物又はそれらの組合せの不在、又は(i)及び(ii)の両方を含意するものと解釈されるべきではない。
【0081】
人が実質的に介入しない:人がほとんど、あるいは全く入力しなくても、自動的に(多くの場合、ソフトウェアなどの機械論理のオペレーションによって)生じるプロセス。「人が実質的に介入しない」例としては、(i)コンピュータが複雑な処理を行っているときに、系統電力の停止により人間がコンピュータを代替電源に切り替え、処理が中断されないようにする場合、(ii)コンピュータが資源集約型の処理を行おうとしているときに、人間がその資源集約型の処理を本当に行うべきかどうかを確認する場合(この場合、確認のプロセスを切り離して考えると実質的な人間の介入があるが、資源集約型の処理では、人間が行う必要のある単純なYes-No形式の確認があるにせよ、実質的な人間の介入はない)、及び(iii)機械論理を用いて、コンピュータが重要な決定(例えば、悪天候を予測して全ての飛行機を着陸させる決定)を行ったが、その重要な決定を実行する前に、コンピュータは人間から単純なYes-No形式の確認を得なければならない場合、が挙げられる。
【0082】
自動:人が全く介入しない。
【0083】
含む・備える(comprises/comprising):本明細書中(特に特許請求の範囲以外)で使用されている場合、この用語は、(本明細書中で定義されている)「含む(include)」という用語及びその様々な活用形と完全に同義であることが意図されている。特許請求の範囲で使用されている「含む・備える(comprise)」という用語(及びその様々な活用形)には、特許請求の範囲の解釈と一致する通常の解釈が与えらる。
【0084】
モジュール/サブモジュール:ある種の機能を果たすために動作するハードウェア、ファームウェア、もしくはソフトウェア又はそれらの組合せの任意の組であり、モジュールが、(i)ローカルに近接した単一のものである、(ii)広域に分散している、(iii)より大きいピースのソフトウェアコード内で近接した単一のものである、(iv)単一ピースのソフトウェアコード内に配置されている、(v)単一のストレージデバイス、メモリ、又は媒体に配置されている、(vi)機械的に接続されている、(vii)電気的に接続されている、もしくは(viii)データ通信で接続されている、又はそれらの組合せ、のいずれであるかは問わない。
【0085】
コンピュータ:著しいデータ処理能力もしくは機械可読命令読み出し能力又はその両方を備えたあらゆるデバイスであって、デスクトップコンピュータ、メインフレームコンピュータ、ラップトップコンピュータ、フィールドプログラマブルゲートアレイ(FPGA)ベースのデバイス、スマートフォン、パーソナルデジタルアシスタント(PDA)、ボディ装着型又は挿入型コンピュータ、埋め込みデバイススタイルのコンピュータ、特定用途向け集積回路(ASIC)ベースのデバイスなどが含まれるが、これらに限定されない。
図1
図2
図3
図4
図5
図6