JP5916852B2 - 依頼−回答メッセージ待ち行列作成環境に関連付けられた動的データ保護ポリシー - Google Patents

依頼−回答メッセージ待ち行列作成環境に関連付けられた動的データ保護ポリシー Download PDF

Info

Publication number
JP5916852B2
JP5916852B2 JP2014517990A JP2014517990A JP5916852B2 JP 5916852 B2 JP5916852 B2 JP 5916852B2 JP 2014517990 A JP2014517990 A JP 2014517990A JP 2014517990 A JP2014517990 A JP 2014517990A JP 5916852 B2 JP5916852 B2 JP 5916852B2
Authority
JP
Japan
Prior art keywords
request
queue
policy
response
answer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014517990A
Other languages
English (en)
Other versions
JP2014521236A (ja
Inventor
ディクソン、ブレット、ウィリアム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2014521236A publication Critical patent/JP2014521236A/ja
Application granted granted Critical
Publication of JP5916852B2 publication Critical patent/JP5916852B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は依頼−回答メッセージング環境に関する。さらに具体的には、本発明は、依頼−回答メッセージ待ち行列作成環境に関連する動的データ保護ポリシーに関する。
メッセージ待ち行列作成技術では、アプリケーション・プログラムは、アプリケーション・プログラム・インタフェース(API:application program interface)を用い、メッセージ待ち行列経由のメッセージの形で、データを保存し読み出すことができる。メッセージ待ち行列は、アプリケーション・プログラムが、メッセージ待ち行列を介するメッセージ受領に関し、非同期的にメッセージを回収できるように、メッセージのバッファリングを可能にする。メッセージ待ち行列は、それぞれのアプリケーション・プログラムがメッセージを回収する前にメッセージ待ち行列中に累積され得る、メッセージの予測数に従って大きさを決めることができる。
本主題は、依頼−回答メッセージ待ち行列作成シナリオに関連する、データ保護パラダイムの拡張、および依頼待ち行列ポリシーの諸要素および依頼メッセージの内容に基づいて(動的に生成されるかまたはその他の)回答待ち行列に対するデータ保護ポリシーを動的に生成することによるデータ保護サービスの向上を提供する。本主題は、公開鍵の詳細が、依頼メッセージ内容から抽出され、特定の依頼メッセージに対する回答メッセージを生成するため使用されるのを可能にすることでデータ保護のパラダイムをさらに拡張し、これにより、メッセージ応答元デバイスが使用するため、依頼元が公開鍵または証明書データを予め設定しておく必要性を省くものである。
本主題の方法は、動的データ保護モジュールにおいて、依頼−回答メッセージング環境に関連する依頼待ち行列を用いて、依頼メッセージを処理する要求を検出するステップと、依頼待ち行列の依頼待ち行列ポリシーを用いて、依頼メッセージに対する応答メッセージの少なくとも一つの正当な送信元モジュールおよび唯一の正当な受信先モジュールを識別するステップと、応答メッセージの識別された少なくとも一つの正当な送信元モジュールおよび唯一の正当な受信先モジュールを用いて、応答メッセージを処理するための回答待ち行列ポリシーを動的に生成するステップと、動的に生成された回答待ち行列ポリシーを回答待ち行列に関連付けるステップと、応答メッセージを処理する要求を受けて、動的に生成された回答待ち行列ポリシーおよび関連付けられた回答待ち行列を用い、応答メッセージを処理するステップと、を含む。
本主題のシステムは、依頼−回答メッセージング環境に関連する依頼待ち行列を用いて、依頼メッセージを処理する要求を検出し、依頼待ち行列の依頼待ち行列ポリシーを用いて、依頼メッセージに対する応答メッセージの少なくとも一つの正当な送信元モジュールおよび唯一の正当な受信先モジュールを識別し、応答メッセージの識別された少なくとも一つの正当な送信元モジュールおよび唯一の正当な受信先モジュールを用いて、応答メッセージを処理するための回答待ち行列ポリシーを動的に生成し、動的に生成された回答待ち行列ポリシーを回答待ち行列に関連付け、応答メッセージを処理する要求を受けて、動的に生成された回答待ち行列ポリシーおよび関連付けられた回答待ち行列を用い、応答メッセージを処理するように、プログラムされた通信モジュールおよびプロセッサを含む。
本主題のコンピュータ・プログラム製品は、コンピュータ可読プログラム・コードを含むコンピュータ可読ストレージ媒体を含み、コンピュータ可読プログラム・コードは、コンピュータ上で実行されたとき、そのコンピュータに、依頼−回答メッセージング環境に関連する依頼待ち行列を用いて、依頼メッセージを処理する要求を検出させ、依頼待ち行列の依頼待ち行列ポリシーを用いて、依頼メッセージに対する応答メッセージの少なくとも一つの正当な送信元モジュールおよび唯一の正当な受信先モジュールを識別させ、応答メッセージの識別された少なくとも一つの正当な送信元モジュールおよび唯一の正当な受信先モジュールを用いて、応答メッセージを処理するための回答待ち行列ポリシーを動的に生成させ、動的に生成された回答待ち行列ポリシーを回答待ち行列に関連付けさせ、応答メッセージを処理する要求を受けて、動的に生成された回答待ち行列ポリシーおよび関連付けられた回答待ち行列を用い、応答メッセージを処理させる。
以下に、一つの例として、添付の図面に示された好適な実施形態を参照しながら、本発明を説明する。
本主題のある実施形態による、依頼−回答メッセージ待ち行列作成環境内の自動生成の動的データ保護ポリシーのためのシステムの実装の一例のブロック図である。 本主題のある実施形態による、依頼−回答メッセージ待ち行列作成環境内の自動生成の動的データ保護ポリシーを実施できるコア処理モジュールの実装の一例のブロック図である。 本主題のある実施形態による、依頼元および応答元双方の視点からの依頼待ち行列ポリシーに基づく動的回答待ち行列ポリシーの生成を表す、メッセージング相互作用の実装の一例の論理ブロック図である。 本主題のある実施形態による、依頼−回答メッセージ待ち行列作成環境内の自動生成の動的データ保護ポリシーに対するプロセスの実装の一例のフローチャートである。 本主題のある実施形態による、依頼−回答メッセージ待ち行列作成環境内の自動生成の動的データ保護ポリシーに対するプロセス中の初期処理の実装の一例のフローチャートである。 本主題のある実施形態による、依頼−回答メッセージ待ち行列作成環境内の自動生成の動的データ保護ポリシーに対するプロセス中のさらなる処理の実装の一例のフローチャートである。
以下に説明する諸事例は、当業者が本発明を実践できるよう必要な情報を表し、本発明を実践するための最良の形態を示す。当業者は、添付の図面に照らして以下の説明を読むことにより本発明の概念を理解し、これらの概念の、本明細書で具体的に取り扱っていない応用を認識することができよう。当然ながら、それらの概念および応用は、本開示および添付の特許請求の範囲内に含まれる。
本明細書で説明する主題は、依頼−回答メッセージ待ち行列作成環境内における動的データ保護ポリシーを提供する。動的データ保護モジュールは、依頼−回答メッセージング環境内の依頼待ち行列を介する依頼メッセージを処理する要求を検出する。依頼メッセージを処理する要求は、依頼元モジュールから受信した依頼メッセージに対する「PUT」メッセージ要求、または、その要求を処理する意図のある応答元モジュールから受信した、依頼メッセージに対する「GET」メッセージ要求を含み得る。依頼メッセージに対する回答メッセージの少なくとも一つの正当な送信元モジュールおよび唯一の正当な受信先モジュールが、依頼待ち行列の依頼待ち行列ポリシーを用いて識別される。回答メッセージの識別された少なくとも一つの正当な送信元モジュールおよび唯一の正当な受信先モジュールを用いて、回答メッセージを処理するための回答待ち行列ポリシーが動的に生成される。例えば、依頼待ち行列ポリシーの送信元および受信先データ・フィールドを交換して、動的に生成された回答待ち行列ポリシーのそれぞれの送信元および受信先データ・フィールドを生成することができる(例えば、依頼ポリシーの送信元フィールドが、動的に生成された回答ポリシーの受信先フィールドの唯一のエントリになり、依頼ポリシーの受信先フィールド・エントリ/エントリ群が、動的に生成された回答ポリシーの送信元フィールドに対するエントリ/エントリ群になる)。動的に生成された回答待ち行列ポリシーは、回答待ち行列に関連付けられ、回答メッセージを処理する要求を受けて、動的に生成された回答待ち行列ポリシーおよび関連する回答待ち行列を用いて回答メッセージが処理される。
しかして、回答待ち行列に対するデータ保護ポリシーは、依頼待ち行列の依頼待ち行列ポリシーおよび依頼待ち行列から回収された依頼メッセージの内容に基づいて動的に生成される。本説明の目的上、回答メッセージに暗号化が使用されることになる場合、依頼メッセージが依頼待ち行列に「PUT」されるときに、その依頼メッセージの内容に依頼元モジュールの暗号化情報(例えば、暗号化鍵/証明書)が含められることになり、その依頼メッセージに関連する「GET」要求に応じて、少なくとも応答元側で、依頼元モジュールの暗号化情報が動的に生成された回答待ち行列に加えられることになる。但し、当然ながら、本主題の範囲から逸脱することなく、この依頼元モジュールの暗号化情報を依頼元側で動的に生成された回答待ち行列に加えることもできる。前述のように、本主題は、依頼待ち行列ポリシーが、依頼待ち行列にメッセージを「PUT」できるユーザ・デバイス(例、送信元/依頼元)、および依頼待ち行列からメッセージを「GET」できるユーザ・デバイス(例、受信先/応答元)を識別するという事実を利用する。依頼待ち行列ポリシー情報が、特定の受信先に対するメッセージを暗号化することを可能にし、随意的に受信先が送信元の信ぴょう性を検証することを可能にするための情報を提供するので、依頼メッセージを回収次第、この依頼待ち行列ポリシー情報を用いて、リアルタイムで回答待ち行列および回答待ち行列ポリシーが動的に生成される。依頼待ち行列ポリシー中で識別される全受信先は、潜在的送信元として、動的に生成された回答待ち行列ポリシー中に登録される。依頼メッセージの送信元は、動的に生成された回答待ち行列ポリシーの中で唯一の受信先として識別される。しかして、当初の依頼元は、この時点で回答待ち行列に対する専用の動的に生成されたデータ保護ポリシーを有し、この回答待ち行列には、潜在的な応答元のいずれでもメッセージを置くことが可能で、かかる一切の回答メッセージは、当初の依頼メッセージを発行した特定のユーザ・デバイスのための保護がされる。回答メッセージの暗号化のために暗号化アルゴリズムが使われる場合、その暗号化アルゴリズム(例えば、暗号化情報または暗号化鍵)は、暗号化鍵/証明書を保管する別個のもしくは外部のまたはその両方のサービスから読み出すことができる。但し、回答メッセージが暗号化されているかどうかにかかわらず、回答待ち行列ポリシーの動的な生成は、応答元モジュールとの関連で、回答待ち行列ポリシーの高度なプロビジョニングを必要とせずに、回答メッセージのランタイム管理を可能にすることに留意すべきである。さらに、依頼元側の動的データ保護モジュールおよび応答元側の動的データ保護モジュールが同一のホスト上で実行されている場合、同じ動的回答待ち行列ポリシーを、メッセージング相互作用の依頼元側および応答元側の双方で使用できることに留意すべきである。但し、それぞれの動的データ保護モジュールが相異なるホスト上で動作している場合、2つの整合するポリシーがあり得、一方は、応答元側の動的データ保護モジュールが回答メッセージを回答待ち行列に「PUT」するのに使われ、他方は、依頼元側の動的データ保護モジュールがその回答メッセージを回答待ち行列から「GET」するのに使われる。
本説明の目的上、「ポリシー」は、特定のメッセージ待ち行列を介して暗号化メッセージを交換可能な特定のユーザまたはユーザ群を識別する構成の形態(例えば、データ項目、ファイル、メタデータなど)と見なすことができる。また、ポリシーには、それぞれの特定のユーザまたはユーザ群に向けられたメッセージに使用するための関連暗号化アルゴリズムを定めることも可能である。後記でさらなる詳細を説明するが、「動的回答待ち行列ポリシー」は、依頼メッセージに応じて、その依頼メッセージ内の情報、およびその依頼メッセージが回収された依頼待ち行列に関連する依頼メッセージポリシーを用いて、動的回答待ち行列と一緒に生成することができる。さらに、本説明が、便宜上、語句「動的回答待ち行列」と「回答待ち行列」とを互換的に用いていることに留意すべきである。但し、当然のことながら、ある特定の依頼−回答メッセージング相互作用に用いられる回答待ち行列は、所与の実装に応じ、その特定の依頼−回答メッセージング相互作用の間にそれに使うため動的に生成するか、もしくは回答待ち行列を既存の待ち行列のプールから選択してその特定の依頼−回答メッセージング相互作用に割り当てることができる。しかして、「動的回答待ち行列」という用語は、所与の実装に応じ、動的に生成された回答待ち行列を言うことも、もしくは動的に割り当て/選定された回答待ち行列を言うこともある。
さらに、暗号化は、所与の実装に適した任意の方式またはアルゴリズムとすることができる。当然ながら、多くの方式の暗号化が利用可能で、所与の実装に適した任意の暗号化法を用いることが可能である。例えば、デジタル証明書と公開および秘密証明書鍵とを用いる公開鍵基盤(PKI:Public Key Infrastructure)技法を使うことができる。さらに、暗号化アルゴリズムを依頼メッセージ中に指定し、特定の暗号化アルゴリズムによる応答メッセージの暗号化を要求することができる。本主題の範囲から逸脱することなく、トリプル・データ暗号化アルゴリズム(Triple DES:Triple data encryption algorithm)、AES128(128ビット)、AES192(192ビット)、AES256(256ビット)などの高度暗号化標準(AES:advanced encryption standard)のバリエーション、リベスト暗号(RC2、RC4、RC5、RC6)といった暗号化アルゴリズム、および他の暗号化方式を用いることが可能である。
すべてのあり得る依頼元の証明書を、応答元が利用可能なように予め設定しておく必要性を省くために、依頼メッセージは、そのメッセージ内容の中に依頼元の公開鍵または証明書を含む。応答元は、依頼メッセージから依頼元の公開鍵を抽出し、それを使って保護された回答を作成することができる。
前述のように、依頼メッセージの送信元は、動的に生成された回答待ち行列ポリシーの中で唯一の受信先として識別される。但し、特定の実装においては、依頼待ち行列ポリシーに複数の潜在的送信元をリストすることが可能なことに留意すべきである。かかる任意の実装内において、特定の依頼メッセージの送信元は、その特定の依頼メッセージの内容を調べる、もしくはその依頼メッセージの発行に関連するユーザ(例えば、ユーザ識別子(ID:identifier))を調べる、またはその両方を行うことによって識別ができ、動的に生成/割り当てされた回答待ち行列に対するデータ保護ポリシーの動的生成が容易化されて、一切の回答メッセージが、当初の依頼メッセージを発行した特定のユーザ・デバイスのために保護可能になる。
なお、本主題は、多様なシステム内に柔軟に実装が可能で、しかして、プラットフォーム非依存と見なすことができる。例えば、本主題は、本主題の範囲から逸脱することなく、メインフレーム・システム内、分散システム内、クライアント−サーバ・システム内、またはスタンドアローン・システム内に実装することが可能である。
しかして、依頼待ち行列および回答待ち行列は、依頼−回答メッセージング環境内で相互作用する各デバイスに関連付けることができる。かかる任意の実装において、本回答待ち行列ポリシーの動的な生成は、意図する回答待ち行列が依頼メッセージの発行時には未知である状況下において、リアルタイムでの回答待ち行列ポリシーの生成を提供する(例えば、回答待ち行列は、依頼メッセージに応じ、同様に動的に生成されるか、もしくはランタイムの間に利用可能な待ち行列のプールなどから指定/割り当てられる)。さらに、本回答待ち行列ポリシーの動的な生成は、意図する回答待ち行列が依頼メッセージの発行時に既知である状況下においても、リアルタイムでの回答待ち行列ポリシーの生成を提供する。
前述し後記でさらなる詳細を述べるように、データ保護サービスは、依頼および回答待ち行列にメッセージを「PUT」する、およびこれからから「GET」する要求をインターセプトしてデータ保護ポリシーを適用する。動的なポリシー生成に関しては、依頼待ち行列にメッセージを「PUT」する要求の検出に応じ、および、依頼待ち行列からメッセージを回収(例えば「GET」)する要求の検出を受けて、回答待ち行列に対するポリシーを動的に生成することができる。依頼メッセージの正当な受信先は、所与の実装に応じ、その特定の依頼メッセージに関連する依頼待ち行列ポリシーを用い、依頼メッセージを処理する要求に関連するユーザを識別するか、またはその依頼メッセージの内容を調べることによって判定が可能である。
依頼待ち行列にメッセージを「PUT」する(例えば依頼元側からの)要求を受けての、回答待ち行列に対する動的ポリシーの生成に関しては、データ保護サービス/モジュールは、アプリケーションが依頼待ち行列に依頼メッセージを置く要求を発行したときこれを検出し、その特定のメッセージおよび同じ回答待ち行列へのその後の回答メッセージに対する、動的なデータ保護回答待ち行列ポリシーを生成する。これを行うため、データ保護サービスは、依頼待ち行列上に依頼メッセージを「PUT」する要求が発生したことを検出するよう増強される。データ保護サービスは、依頼メッセージに応じ発行されることになる回答メッセージに対し意図された回答待ち行列を識別する。データ保護サービスは、回答待ち行列の名前に基づき動的なデータ保護ポリシーを生成し、動的に生成された回答待ち行列ポリシーを当該回答待ち行列に関連付けし(なお、再言するが回答待ち行列も動的に生成可能である)、依頼待ち行列ポリシー中に識別された依頼メッセージの受信先は、動的回答待ち行列ポリシー中の正当な送信元となり、依頼待ち行列ポリシー中に識別された依頼メッセージの送信元は、動的回答待ち行列ポリシーにおいて唯一の受信先となり、依頼待ち行列ポリシー中の任意のアルゴリズム仕様は、データ保護(例えば、暗号化)目的のため動的回答待ち行列ポリシーにコピーすることができる。送信元の公開鍵または証明書は、依頼元側の動的データ保護サービスによって依頼メッセージ内に(例えば、内容もしくはペイロードまたはその両方の一部として)含めることができ、メッセージング相互作用の応答元側で、依頼メッセージから生成された動的回答待ち行列ポリシーの中に組み込むことができる。応答元側の動的データ保護モジュールは、メッセージング相互作用の応答元側で動的に生成された回答待ち行列ポリシー内に格納された公開鍵または証明書を用いて、特定の依頼元モジュールのために回答メッセージを暗号化することができる。さらに、前述したように、この公開鍵または証明書は、所与の実装に応じ、随意的に、依頼元モジュールの暗号化情報を保管する(依頼元側の動的データ保護モジュールがアクセス可能な)暗号化鍵サービスから読み出すことができ、あるいはメッセージング相互作用の依頼元側で、動的に生成された回答待ち行列ポリシーに暗号化情報を書き加えることもできる。しかして、本主題の範囲から逸脱することなく、メッセージング相互作用の依頼元側で動的に生成された回答待ち行列ポリシーに、公開鍵または証明書を書き加えることが可能である。このように、メッセージング相互作用の依頼元側のデータ保護サービスは、暗号化鍵サービスを介して、もしくはメッセージング相互作用の依頼元側の動的に生成された回答待ち行列ポリシー内に格納された暗号化情報を介して識別された暗号化鍵を用いて、依頼元モジュールのために応答メッセージを解読することができる。
依頼待ち行列からメッセージを「GET」する(例えば応答元側からの)要求を受けての、回答待ち行列に対する動的ポリシーの生成に関しては、データ保護サービス/モジュールは、アプリケーションが依頼待ち行列から依頼メッセージを回収する要求を発行したときこれを検出し、その特定のメッセージ、および同じ回答待ち行列を識別するその後の依頼メッセージに対する、動的なデータ保護回答待ち行列ポリシーを生成する。これを行うため、データ保護サービスは、依頼待ち行列から依頼メッセージを「GET」する要求が発生したことを検出するように増強される。データ保護サービスは、その依頼メッセージに応じ発行されることになる回答メッセージに対する意図された回答待ち行列を識別する。データ保護サービスは、回答待ち行列の名前に基づき動的なデータ保護ポリシーを生成し、動的に生成された回答待ち行列ポリシーを回答待ち行列に関連付け(なお、再言するが回答待ち行列も動的に生成可能である)、依頼待ち行列ポリシー中に識別された依頼メッセージの受信先は、動的回答待ち行列ポリシー中の正当な送信元となり、依頼待ち行列ポリシー中に識別された(または依頼メッセージの内容中に識別された)依頼メッセージの送信元は、動的回答待ち行列ポリシーにおいて唯一の受信先となる(なお、依頼メッセージ内容からユーザ詳細/情報を抽出することによって、依頼の回収側で送信元を判定することができる)。但し、応答元側において、依頼待ち行列ポリシーよりむしろ依頼メッセージ内で任意のアルゴリズム仕様が識別可能で、データ保護目的(例えば、暗号化)のため、このアルゴリズム仕様を動的回答待ち行列ポリシーにコピーすることが可能なことに留意すべきである。このように、依頼メッセージ中の送信元の公開鍵または証明書は、動的回答待ち行列ポリシーに組み込むことができ、依頼メッセージの受信に先立って応答元側で設定しておく必要はない。しかして、応答元側のデータ保護サービスは、特定の実装に応じ、回答メッセージを待ち行列マネージャに渡す前、あるいはメッセージを回答待ち行列上に置く前に、特定の依頼先に対する回答メッセージを暗号化することができる。
本主題は、依頼−回答メッセージ待ち行列作成シナリオに関連する、データ保護パラダイムの拡張、および依頼待ち行列ポリシーの諸要素および依頼メッセージの内容に基づいて(動的に生成されるかまたはその他の)回答待ち行列に対するデータ保護ポリシーを動的に生成することによるデータ保護サービスの向上を提供する。本主題は、公開鍵の詳細が、依頼メッセージ内容から抽出され、特定の依頼メッセージに対する回答メッセージを生成するため使用されるのを可能にすることでデータ保護のパラダイムをさらに拡張し、これにより、メッセージ応答元デバイスが使用するため、依頼元が公開鍵または証明書データを予め設定しておく必要性を省くものである。
なお、本事例では、実際の回答待ち行列の動的な生成を用いているが、本明細書で説明する動的回答待ち行列ポリシーの生成は、本主題の範囲を逸脱することなく、静的に生成された回答待ち行列と併せ用いることも可能である。
なお、本主題の構想は、データ保護に関連した、動的メッセージ待ち行列処理に関わるある種の限界の認識から得られたものである。例えば、動的待ち行列には、それらが生成されたときに、動的に生成された名前を付けることができる。データ保護ポリシーを結び付ける回答待ち行列の名前がないので、回答待ち行列の名前は前もっては分からず、メッセージ待ち行列に対して特定的にデータ保護ポリシーを事前設定することはできない。しかして、かかる動的に生成された回答待ち行列に対し、データ保護ポリシーを前もって用いておくことはできない。前述し後記でさらなる詳細を述べるように、本主題は、受信された依頼メッセージに応じ動的回答待ち行列ポリシーの生成を可能にすることによって、依頼−回答メッセージ待ち行列環境内におけるデータ保護を改良する。しかして、回答待ち行列に対するポリシーの動的生成を介して、改良された動的メッセージ待ち行列処理およびデータ保護を得ることができ、これには回答メッセージ待ち行列自体の動的な生成をさらに含めることができる。さらに、メッセージングの前に依頼元デバイスのデジタル証明書を設定する必要がなく、これにより、依頼−回答メッセージ待ち行列環境内における設定の複雑さが軽減される。
本明細書で説明する、依頼−回答メッセージ待ち行列作成環境内における動的データ保護ポリシーは、リアルタイムで実施でき、依頼−回答メッセージ待ち行列作成環境内においてデータ保護能力のある回答メッセージ待ち行列の迅速な生成を可能にする。本説明の目的上、リアルタイムは、説明された本主題のユーザが受容可能な情報処理のために妥当な応答時間を提供する、十分に短い持続時間の任意の時間枠を含むものとする。さらに、本用語「リアルタイム」は、一般に、説明された本主題のユーザが受容可能なオンデマンド情報処理のために妥当な応答時間を提供する、十分に短い持続時間の任意の時間枠(例えば、一秒内または数秒内)を意味する、通常「ほぼリアルタイム」と称するものも含むこととする。これらの用語は、正確に定義するのは困難であるが、当業者には良く理解していよう。
可能ないくつもの本主題の物理的実装があり、本明細書の事例は、特定のアーキテクチャ領域に関連する実装についての詳細を提供していることにさらに留意すべきである。しかしながら、本主題の実装のためのアーキテクチャの他の多くの可能なバリエーションがあり得、それらすべては本主題の範囲内と見なされる。
図1は、依頼−回答メッセージ待ち行列作成環境内の自動生成の動的データ保護ポリシーのためのシステム100の実装の一例のブロック図である。コンピューティング・デバイス_1(102)、コンピューティング・デバイス_2(104)〜コンピューティング・デバイス_N(106)は、ネットワーク108を介してサーバ_1(110)〜サーバ_M(112)と通信している。なお、図1の構成は、可能な実装の一例であり、前述のように、システム実装の多くのバリエーションがあり得る。また一方、本事例の明瞭化のため、システム100内の一切のデバイスは、他の一切のデバイスに対しローカルにまたはリモートに動作可能なものとしてよい。さらに、ローカルに実行されているとき、それぞれのローカル・デバイスの間に介在するクロスネットワークはないものとする。
図2〜図6に関連して後記にさらなる詳細を説明するように、コンピューティング・デバイス_1(102)〜コンピューティング・デバイス_N(106)およびサーバ_1(110)〜サーバ_M(112)は、所与の実装に応じ、依頼−回答メッセージ待ち行列作成環境内における自動生成の動的データ保護ポリシーを提供することができる。しかして、複数のデバイスが、依頼−回答メッセージ待ち行列作成環境内における自動生成の動的データ保護ポリシーを協働して提供することもでき、あるいは単独のデバイスが、依頼−回答メッセージ待ち行列作成環境内における自動生成の動的データ保護ポリシーを提供することもできる。
依頼−回答メッセージ待ち行列作成環境内における自動生成の動的データ保護ポリシーは、依頼元デバイス/アプリケーションと応答元デバイス/アプリケーションとの間を結び付けるデータ保護サービス/モジュールによって促進される。また、待ち行列マネージャ・アプリケーションも、データ保護サービス/モジュールの指示に従って待ち行列管理の機能を処理することができる。本発明の説明の簡明化のため、本明細書では、このデータ保護サービス/モジュールをデータ保護モジュールと称することがある。当然ながら、所与の実装に応じ、本主題を実装するために、一つまたは複数のデータ保護モジュールを用いることが可能である。同様に、本明細書の簡明化のため、依頼元デバイス/モジュール/アプリケーションおよび応答元デバイス/モジュール/アプリケーションを依頼元モジュールおよび応答元モジュールと称することがある。但し、当然ながら、一つまたは複数の依頼元アプリケーションまたは応答元アプリケーションを、任意の特定のデバイスに関連付けることができる。さらに、後記でさらなる詳細を述べるように、依頼元モジュールまたは応答元モジュールは、完全にハードウェアに実装されるだけでなく、それぞれのアプリケーションは、一つまたは複数のプロセッサによって実行されるアプリケーションとすることも可能である。
依頼−回答メッセージ待ち行列作成環境内の自動生成の動的データ保護ポリシーは、応答/回答待ち行列に対するポリシーの生成を容易化し、これら待ち行列は、依頼メッセージの開始または依頼メッセージの受信に応じて動的に生成または割り当てされる。依頼メッセージの開始に応じての動的回答待ち行列ポリシーの生成に関しては、依頼元アプリケーションに対するデータ保護モジュールによって、依頼元モジュールにより開始された依頼メッセージに対する「PUT」要求をインターセプトすることが可能で、所与の実装に応じ、依頼メッセージの内容または依頼待ち行列ポリシー(あるいはそれらの組合せ)に基づいて、動的回答待ち行列ポリシーを生成することができる。反対に、依頼メッセージの受信に応じての動的回答待ち行列ポリシー生成に関しては、依頼メッセージに対する応答元モジュールからの「GET」要求は、応答元アプリケーションに対するデータ保護モジュールによってインターセプトすることができ、これも所与の実装に応じ、依頼メッセージの内容または依頼待ち行列ポリシー(あるいはそれらの組合せ)に基づいて、動的回答待ち行列ポリシーを生成することができる。
なお、コンピューティング・デバイス_1(102)〜コンピューティング・デバイス_N(106)もしくはサーバ_1(110)〜サーバ_M(112)またはこれらの両方は、航空機、列車、自動車、または他の移動車両など、それぞれのデバイスを異なる場所に移動するユーザの能力により、もしくはそれぞれのデバイスの携帯プラットフォームとの関連により、携帯コンピューティング・デバイスであり得る。また、前述し後記でさらなる詳細を述べるように、コンピューティング・デバイス_1(102)〜コンピューティング・デバイス_N(106)およびサーバ_1(110)〜サーバ_M(112)は、情報を処理する能力のある任意のコンピューティング・デバイスであり得ることに留意すべきである。例えば、それぞれのコンピューティング・デバイスのいずれにも、メインフレーム・コンピュータ、コンピューティング・デバイスの分散ネットワーク内の分散型コンピューティング・デバイス、パーソナル・コンピュータ(例、デスクトップ、ラップトップなど)またはハンドヘルド・デバイス(例、携帯電話、携帯情報端末(PDA:personal digital assistant)、eメール・デバイス、音楽レコーディングもしくは再生デバイスなど)、あるいは、後記でさらなる詳細を述べるような、情報処理能力のある任意の他のデバイスを含めることができる。
ネットワーク108には、それぞれイントラネットまたはインターネットなどのプライベートもしくはパブリック・ネットワーク、直接モジュール間相互接続、ダイヤルアップ、無線、または個別のデバイスを相互接続する能力のある任意の他の相互接続メカニズムなど、使用目的に適した任意の形態の相互接続を含めることができる。
サーバ_1(110)〜サーバ_M(112)には、コンピューティング・デバイス_1(102)〜コンピューティング・デバイス_Nなどのデバイスが、ネットワーク108などのネットワークを介して使用するデータを供給する能力のある任意のデバイスを含めることができる。例えば、サーバ_1(110)〜サーバ_M(112)は、所与の実装に応じ、各々、ウェブ・サーバ、アプリケーション・サーバ、または他のデータ・サーバ・デバイスを表し得る。
図2は、依頼−回答メッセージ待ち行列作成環境内で自動生成の動的データ保護ポリシーを実施する能力のあるコア処理モジュール200の実装の一例のブロック図である。コア処理モジュール200は、所与の実装に応じ、コンピューティング・デバイス_1(102)〜コンピューティング・デバイス_N(106)もしくはサーバ_1(110)〜サーバ_M(112)またはその両方のどれにも関連付けることができる。さらに、コア処理モジュール200は、後記でさらなる詳細を述べるように、各々の実装と関連して、動的に割り当てられもしくは生成されたまたはその両方による回答待ち行列に対する、動的回答待ち行列ポリシーの生成のための各種の補完的な処理を提供することができる。コア処理モジュール200は、依頼−回答メッセージ待ち行列作成環境内で自動生成の動的データ保護ポリシーを実施する能力を有する。中央処理装置(CPU:central processing unit)202は、コア処理モジュール200内で、コンピュータ命令の実行、計算、および他の機能を提供する。ディスプレイ204は、コア処理モジュール200のユーザに視覚情報を提供し、入力デバイス206は、ユーザに入力機能を提供する。
ディスプレイ204には、ブラウン管(CRT:cathode ray tube)、液晶ディスプレイ(LCD:liquid crystal display)、発光ダイオード(LED:light emitting diode)、電子インク・ディスプレイ、投写装置、タッチスクリーン、または他のディスプレイ・エレメントもしくはパネルなど、任意のディスプレイ・デバイスを含めることができる。入力デバイス206は、コンピュータ・キーボード、キーパッド、マウス、ペン、ジョイスティック、または、ユーザがディスプレイ204上の情報とやり取り、応答することのできる任意の他の入力デバイスを含み得る。
なお、ある実装については、ディスプレイ204および入力デバイス206が、コア処理モジュール200に対して随意的なコンポーネントであり得ることを示すために、図2内ではこれらを点線表現を使って表している。すなわち、コア処理モジュール200は、ユーザの直接的設定操作性またはフィードバックのない完全に自動化された内蔵デバイスとして動作させることができる。但し、コア処理モジュール200は、それぞれ、ディスプレイ204および入力デバイス206を介して、ユーザへのフィードバックおよびユーザの設定操作性を提供することも可能である。
通信モジュール208は、コア処理モジュール200が、コンピューティング・デバイス_1(102)〜コンピューティング・デバイス_N(106)、およびサーバ_1(110)〜サーバ_M(112)など、システム100内の他のモジュールと通信し、本明細書に述べられた、依頼−回答メッセージ待ち行列作成環境内の自動生成の動的データ保護ポリシーを実施することを可能にする相互接続機能を提供する。通信モジュール208には、この相互接続機能を提供するために使用可能な、任意の電子的、プロトコル、およびプロトコル変換機能を含めることができる。通信モジュール208は、図示および説明の簡明化のためにコンポーネント・レベルのモジュールとして描かれているが、前述し後記でさらなる詳細を述べるように、通信モジュール208は、通信モジュール208の機能を実行するために使われる任意のハードウェア、プログラムされたプロセッサ(群)およびメモリを含み得ることに留意すべきである。例えば、通信モジュール208には、通信モジュール208に関わる通信および電子的制御アクティビティを実施するため、特定用途向け集積回路(ASIC:application specific integrated circuit)、プロセッサ、アンテナもしくはディスクリート集積回路および部品またはこれらの組み合わせの形で、追加のコントローラ回路を含めることができる。加えて、通信モジュール208には、必要に応じ、インタラプトレベル、スタックレベル、およびアプリケーションレベルのモジュールを含めることも可能である。さらに、通信モジュール208には、通信モジュール208に関わる処理アクティビティを実施するための、ストレージ、実行、およびデータ処理に使われる任意のメモリ・コンポーネントを含めることができる。また、通信モジュール208は、本主題の範囲から逸脱することなく表された他の回路の一部を形成することも可能である。
メモリ210は、動的待ち行列ストレージ領域212、動的待ち行列マネジメント・ストレージ領域214、およびアプリケーション領域216を含む。前述し後記でさらなる詳細を述べるように、動的待ち行列領域212は、一つ以上の依頼待ち行列、および一つ以上の動的に割り当てられたまたは動的に生成された依頼待ち行列を含み得る。但し、メモリ210は、ストレージ・デバイスの一般的実装を表しており、例えば、ハード・ディスクまたは他のデバイスなど、本明細書で説明したデータを保存する能力のある任意の適切なデバイスの使用が可能なことに留意すべきである。動的待ち行列マネジメント・ストレージ領域214は、依頼メッセージに応じて生成された動的回答待ち行列ポリシーなどの情報、および所与の実装に応じ、他の情報を格納する。アプリケーション領域216は、一つ以上の依頼元アプリケーションもしくは一つ以上の応答元アプリケーションまたはその両方など、一つ以上のアプリケーションのための保存および実行スペースを表す。
当然ながら、メモリ210には、必要に応じて分散またはローカライズされた、使用目的に適した揮発性または不揮発性のメモリの任意の組み合わせを含めることができ、図示の簡明化のため本例中に示されていない他のメモリ・セグメントを含めることが可能である。例えば、メモリ210には、本主題の範囲から逸脱することなく、コード・ストレージ領域、オペレーティング・システム・ストレージ領域、コード実行領域、およびデータ領域を含めることができる。
待ち行列マネージャ・モジュール218は、前述し後記でさらなる詳細を述べるように、コア処理モジュール200のために、動的待ち行列ストレージ領域212中に格納された待ち行列へのメッセージの載置および待ち行列からの回収など、待ち行列マネジメント処理を提供する。動的データ保護モジュール220も示されている。動的データ保護モジュール220は、コア処理モジュール200の依頼−回答メッセージ待ち行列作成環境内における自動生成の動的データ保護ポリシーを実装する。動的データ保護モジュール220は、アプリケーション領域216内でローカルにまたは別のデバイスでリモートに実行されていてよい、一つ以上の依頼元アプリケーションからの、依頼メッセージなどのメッセージングをインターセプトする。動的データ保護モジュール220は、送信元デバイスに安全な仕方で応答メッセージを直接配信するために用いられる動的回答待ち行列ポリシーを生成する。動的データ保護モジュール220は、後記でもさらなる詳細を説明するように、特定の依頼メッセージ(群)の内容と、特定の送信元および対象となる受信先/応答元と、依頼待ち行列ポリシーとに基づいて、動的回答待ち行列ポリシーを生成する。
図2中で、待ち行列マネージャ/動的データ保護モジュール222が点線表現によって示されていることにさらに留意すべきである。待ち行列マネージャ/動的データ保護モジュール222は、待ち行列マネージャ・モジュール218および動的データ保護モジュール220の両方を含んで示され、所与の実装に応じ、待ち行列マネージャ・モジュール218と動的データ保護モジュール220とが単一のモジュール内に実装できることを示すために、点線表現によって表されている。
待ち行列マネージャ・モジュール218および動的データ保護モジュール220は(同様に、待ち行列マネージャ/動的データ保護モジュール222も)図示および説明の簡明化のためにコンポーネント・レベルのモジュールとして描かれているが、前述し後記でさらなる詳細を述べるように、それぞれのモジュールは、これらモジュールのそれぞれの機能を実行するために使われる任意のハードウェア、プログラムされたプロセッサ(群)およびメモリを含み得ることに留意すべきである。例えば、これらのモジュールには、それぞれのデバイスに関わる通信および電子的制御を実施するため、特定用途向け集積回路(ASIC)、プロセッサ、もしくはディスクリート集積回路および部品またはこれらの組み合わせの形で、追加のコントローラ回路を含めることができる。加えて、これらのモジュールには、必要に応じ、インタラプトレベル、スタックレベル、およびアプリケーションレベルのモジュールを含めることも可能である。さらに、これらのモジュールには、それぞれのモジュールに関わる処理アクティビティを実施するための、ストレージ、実行、およびデータ処理に使われる任意のメモリ・コンポーネントを含めることができる。
また、待ち行列マネージャ218および動的データ保護モジュール220は(同様に、待ち行列マネージャ/動的データ保護モジュール222も)、本主題の範囲から逸脱することなく表された他の回路の一部を形成することも可能である。さらに、これらのモジュールは、別の方法として、メモリ210内に保存されるアプリケーションとして実装することもできる。かかる実装において、これらのモジュールには、本明細書で説明する機能を実施するためCPU202に実行される命令を含めることができる。CPU202は、これらの命令を実行し、コア処理モジュール200のための、前述し後記でさらなる詳細を述べる処理機能を提供することができる。これらのモジュールは、本主題の範囲から逸脱することなく、割り込みサービスルーチン(ISR:interrupt service routine)の一部、オペレーティング・システムの一部、ブラウザ・アプリケーションの一部、または別個のアプリケーションの一部を形成することが可能である。
CPU202、ディスプレイ204、入力デバイス206、通信モジュール208、メモリ210、待ち行列マネージャ・モジュール218、動的データ保護モジュール220、および待ち行列マネージャ/動的データ保護モジュール222は、相互接続224を介して相互接続される。相互接続224は、システム・バス、ネットワーク、またはそれぞれのコンポーネントにそれぞれの用途のため適切な相互接続を提供する能力のある任意の他の相互接続を含み得る。
コア処理モジュール200は、述べられた特定のコンポーネントを備え保有するように表されているが、本主題の範囲を逸脱することなく、他のモジュールおよびコンポーネントをコア処理モジュール200と関連付けることができる。さらに、図示の簡明化のために、コア処理モジュール200が単一のデバイスとして表されているが、本主題の範囲を逸脱することなく、コア処理モジュール200内のコンポーネントを並行して配置、または分散配置してネットワークを介し相互接続することも可能である。分散型配置については、ディスプレイ204および入力デバイス206は、販売地点のデバイス、キオスク、または他の場所に配置することができ、一方、CPU202およびメモリ210はローカルまたはリモートのサーバに配置することができる。コア処理モジュール200のコンポーネントに対し、多くの他の可能な配置があり得、それらのすべては本主題の範囲内にあると見なされる。このように、コア処理モジュール200は、多くの形態を取り得、多くのプラットフォームに関連付けることができる。
図3は、依頼元および応答元双方の視点からの依頼待ち行列ポリシーに基づく動的回答待ち行列ポリシーの生成を表す、メッセージング相互作用300の実装の一例の論理ブロック図である。論理ブロック図として、図2のコア処理モジュール200の例示的アーキテクチャへの、図3のそれぞれのコンポーネントのマッピングの詳細については、前述したコア処理モジュール200の詳細を再吟味することによって理解できよう。図3の図面内容の混雑を避けるため、これらの詳細は図3から省かれている。さらに、待ち行列マネージャ218などの別個の待ち行列マネージャ・モジュールも、図3の図面内容の混雑を避けるため省かれている。但し、当然ながら、メッセージの待ち行列への載置およびこれらからの回収を処理するための待ち行列マネージャ・モジュール機能およびこれらの待ち行列は、例えば、前述の動的待ち行列ストレージ領域212など、一つ以上の動的待ち行列ストレージ領域内に保存することができる。さらに、動的データ保護モジュール220などのデータ保護モジュールは、一つ以上の動的データ保護モジュールとして実装することが可能である。ポリシーは、依頼待ち行列ポリシーおよび動的に生成された回答待ち行列ポリシーを含め、例えば、動的待ち行列マネジメント・ストレージ領域214など、一つ以上の動的待ち行列マネジメント・ストレージ領域中に格納することができる。かかる任意のコンポーネントを一つより多く含む任意の実装に対し、これら複数のコンポーネントは、一つ以上のデバイス内に、しかして一つ以上のコア処理モジュール200内に実装することが可能である。本明細書では、実装のかなりの数のバリエーションを考慮して、簡明化のため、いずれか特定のアーキテクチャへの図3のコンポーネントのマッピングの詳細は省略されており、これらは、所与の任意の実装に応じ、本明細書の説明に基づいて変えることができる。
図3を参照すると、動的回答待ち行列ポリシーによるメッセージング実装内の依頼−回答オペレーションにおいて、依頼元(ユーザ_1)302が応答元(ユーザ_A)304と相互作用している。動的データ保護モジュール306は、依頼元(ユーザ_1)302から送信されるメッセージングを暗号化し、依頼元(ユーザ_1)302が受信するメッセージングを解読することによって、依頼元(ユーザ_1)302に対してデータおよびメッセージの保護をする。さらに、動的データ保護モジュール306は、後記でさらなる詳細を説明するように、依頼元(ユーザ_1)302に対する動的回答待ち行列ポリシーを生成する。
動的データ保護モジュール308は、応答元(ユーザ_A)304が受信するメッセージングを解読し、応答元(ユーザ_A)304から送信されるメッセージングを暗号化することによって、応答元(ユーザ_A)304に対してメッセージの保護をする。さらに、動的データ保護モジュール308は、後記でさらなる詳細を説明するように、応答元(ユーザ_A)304に対する動的回答待ち行列ポリシーを生成する。
メッセージング相互作用300の論理フローは、依頼元(ユーザ_1)302が、図3中の論理フロー・ポイント(1)(例、「(1)PUT(依頼)」)で、依頼メッセージに対する「PUT」を開始することで始まる。この依頼メッセージは、依頼待ち行列310に対する静的依頼待ち行列の名前を含む。依頼待ち行列310は、メッセージング相互作用の依頼元側に、関連依頼待ち行列ポリシー312を有する。依頼待ち行列ポリシー312は、依頼メッセージの送信元を、依頼元(ユーザ_1)302を表す「ユーザ_1」として識別し、潜在的応答元を、応答元(ユーザ_A)304を表す「ユーザ_A」としてリストし、図面内容の混雑の面から図3内に図示されていないデバイス/アプリケーションである「ユーザ_B」をリストする。しかして、応答元(ユーザ_A)304は潜在的受信先であり、この例では、当該依頼メッセージの応答元である。なお、送信元の身元は、依頼元アプリケーションに関連する、オペレーティング・システムが割り当てたユーザ識別子(ID:identifier)を検証することによって識別が可能である。しかして、この識別子は、依頼待ち行列ポリシー312内で利用可能で抽出できることもあり、それらをできないこともある。さらに、依頼待ち行列ポリシー312は、複数の正当な送信元に対応が可能である。かかる状況で、依頼元アプリケーションに関連付けられた関連ユーザIDを使って、正当な依頼元アプリケーションのどれが、その特定の依頼メッセージを発行したのかを判定することができる。
図3中の論理フロー・ポイント(1)(例、(1)PUT(依頼))の依頼元(ユーザ_1)302による依頼メッセージに対する「PUT」要求を受けて、動的データ保護モジュール306は、依頼メッセージおよび依頼待ち行列ポリシー312を解析し、適切な生成対象の動的回答待ち行列ポリシーを決定する。動的データ保護モジュール306は、回答メッセージに対し生成または割り当てされることになる回答待ち行列に対し、「ALPHA」の回答待ち行列の名前を割り当て、依頼元(ユーザ_1)302の暗号化鍵を識別する。なお、この回答待ち行列の名前は依頼メッセージの中で提供される。しかして、依頼元アプリケーションは、待ち行列マネージャ(もしくは、動的データ保護モジュールと待ち行列マネージャ・モジュールとの組み合わせ)が、メッセージング相互作用に先立って回答待ち行列を生成するように要求することができる。依頼メッセージ生成の過程で、依頼元モジュールは、さきほどの名前を依頼メッセージに加えることができる。これに換えて、依頼元モジュールは、依頼メッセージ中に所定の回答待ち行列の名前を用いることも可能である。回答待ち行列を命名するための他のやり方もあり、これらのすべては本主題の範囲内にあると見なされる。
図3中の論理フロー・ポイント(2)で、動的データ保護モジュール306は依頼元側の動的回答待ち行列ポリシー314を生成する。依頼元側の動的回答待ち行列ポリシー314は、回答メッセージに対して生成または割り当てされることになる回答待ち行列に対し意図された回答待ち行列の名前「ALPHA」と、応答メッセージの正当な送信元(例、ユーザ_Aおよびユーザ_B)と、依頼元(ユーザ_1)302を表す応答メッセージの受信先「ユーザ_1」とを含む。
なお、動的データ保護モジュール306は、依頼待ち行列ポリシー312の「送信元」フィールドと「受信先」フィールドと(例、それぞれ、ユーザ_1およびユーザ_A、ユーザ_B)を交換し、依頼元側の動的回答待ち行列ポリシー314の「送信元」および「受信先」フィールド(例、それぞれ、ユーザ_A、ユーザ_Bおよびユーザ_1)を形成することができる。しかして、依頼元側の動的回答待ち行列ポリシー314の送信元および受信先フィールドを生成するために用いる情報は、既存の依頼待ち行列ポリシー312から得ることが可能である。
なお、回答待ち行列の名前「ALPHA」は、依頼元(ユーザ_1)302によって依頼メッセージに加えられている。動的データ保護モジュール306は、依頼待ち行列ポリシー312中で識別された受信先/応答元(例、ユーザ_Aおよびユーザ_B)に対する暗号化鍵を読み出す。前述のように、暗号化鍵の読み出しは、暗号化鍵/証明書を保管している外部サービスに要求して行うことができる。但し、暗号化鍵が依頼待ち行列ポリシー312の一部である必要はないこと(だが、これらを随意的に含めることは可能)と、受信先の名前が依頼待ち行列ポリシー312の一部であり、これらの名前がリストされた任意の受信先に対する適切な鍵/証明書を得るために用いられることとに留意すべきである。依頼元アプリケーション/モジュールは、これらが依頼メッセージを「PUT」するための使用に選択する依頼待ち行列の名前を「知っている」ように構成することができる。依頼元アプリケーション/モジュールは、それぞれの待ち行列マネージャに、特定の依頼待ち行列に依頼メッセージを「PUT」するよう伝え、応答元アプリケーション/モジュールは、それぞれの待ち行列マネージャに、それぞれの回答待ち行列に応答メッセージを「PUT」するよう告げる。待ち行列マネージャは、依頼メッセージを指定された依頼待ち行列に、回答メッセージを指定された回答待ち行列に置く。動的データ保護モジュール306(および308)がこれらの要求をインターセプトすることができるように、動的データ保護モジュール306(および308)は、それぞれ、各自の依頼元または応答元アプリケーションと待ち行列マネージャとの間に位置している。これにより、動的データ保護モジュール306(および308)がランタイムの間に「オン・ザ・フライ」で暗号化および解読を行うことが可能になる。依頼元アプリケーションは、待ち行列マネージャに、所与の実装に応じ、依頼待ち行列名を「作り出す」か、あるいは特定の名前を使うよう要求することができる。「作り出された」名前がアプローチに用いられる場合、待ち行列マネージャは、アプリケーションにそれが「作り出した」名前を告げる。依頼元アプリケーションは、それを受けて、その後回答メッセージを得る際にその名前を使用する。動的データ保護モジュール306は、それぞれの正当な応答元のそれぞれの受信先の暗号化鍵を用いて、各正当な応答元に対する依頼メッセージのペイロードを暗号化する。動的データ保護モジュール306は、依頼待ち行列310上への載置のため、依頼メッセージを待ち行列マネージャ(図3には示さず)に提出する。待ち行列マネージャは、図3中の論理フロー・ポイント(3)(例、(3)依頼(回答待ち行列の名前:「ALPHA」および送信元暗号化鍵))で、修正された依頼メッセージを依頼待ち行列310上に置く。
しかして、依頼メッセージは、この時点で、応答メッセージに対し生成または割り当てされることになる意図する回答待ち行列の名前を含み、メッセージの特定の送信元の暗号化鍵を含む。こうして、意図された応答元群(例、ユーザ_Aおよびユーザ_B)のいずれかによって生成された応答メッセージは、本例中では依頼元(ユーザ_1)302である、特定の依頼しているデバイスのために暗号化することが可能になる。
前述のように、当然ながら、多くの暗号化方式が利用可能であり、所与の実装に応じ、任意の暗号化法を用いることができる。例えば、デジタル証明書と公開および秘密証明書鍵とを用いる公開鍵基盤(PKI)技法を使用することができる。さらに、依頼メッセージ中で暗号化アルゴリズムを指定し、あるいは、このアルゴリズムを依頼待ち行列ポリシーの一部として形成し、随意的に、動的に生成された回答待ち行列ポリシーにコピーし、指定された暗号化アルゴリズムによる応答メッセージの暗号化を要求することが可能である。本主題の範囲から逸脱することなく、トリプル・データ暗号化アルゴリズム(Triple DES)、AES128(128ビット)、AES192(192ビット)、AES256(256ビット)などの高度暗号化標準(AES)、リベスト暗号(RC2、RC4、RC5、RC6)といった暗号化アルゴリズム、および他の暗号化方式を用いることができる。
また、依頼待ち行列310は、メッセージング相互作用の応答元側にも関連する依頼待ち行列ポリシー316を有する。なお、依頼元と応答元とが同じホスト上で実行されている場合、依頼待ち行列ポリシー312と依頼待ち行列ポリシー316とを同一のポリシーにすることができる。依頼待ち行列ポリシー312と同様に、依頼待ち行列ポリシー316は、依頼メッセージの送信元を、依頼元(ユーザ_1)302を表す「ユーザ_1」として識別し、潜在的応答元を、応答元(ユーザ_A)304を表す「ユーザ_A」としてリストし、図面内容の混雑の面から図3内に図示されていないデバイス/アプリケーションである「ユーザ_B」をリストする。しかして、依頼待ち行列ポリシー316も、応答元(ユーザ_A)304を潜在的受信先として、この例では、当該依頼メッセージの応答元として識別する。
図3中の論理フロー・ポイント(4)(例、「(4)GET(依頼)」)で、応答元(ユーザ_A)304による依頼メッセージの「GET」要求を受けて、動的データ保護モジュール308は、依頼メッセージおよび依頼待ち行列ポリシー316を解析し、適切な生成対象の動的回答待ち行列ポリシーを決定する。動的データ保護モジュール308は、回答メッセージのため生成または割り当てされることになる回答待ち行列に対し、依頼メッセージから回答待ち行列の名前(例、「ALPHA」)を割り当て、依頼メッセージ中の依頼元(ユーザ_1)302の暗号化鍵を識別する。動的データ保護モジュール308は、待ち行列マネージャ(図示せず)に対し名前「ALPHA」を有する待ち行列の生成を命令し、図3中の論理フロー・ポイント(5)で、予定の回答メッセージに対して、回答待ち行列「ALPHA」318が生成または割り当てされる。本説明の目的の上で、回答待ち行列「ALPFA」318は、これを動的に生成するか、もしくは、予期される回答メッセージに関連して使用するため利用可能な待ち行列のプールから動的に割り当てることができるという点で、動的回答待ち行列と見なすことができる。
依頼元側の動的回答待ち行列ポリシー314を生成する依頼元側の処理と同様に、動的データ保護モジュール308は、図3中の論理フロー・ポイント(6)で、応答元側の動的回答待ち行列ポリシー320を生成する。なお、依頼元と応答元とが同一のホスト上で動作している場合、依頼元側の動的回答待ち行列ポリシー314と応答元側の動的回答待ち行列ポリシー320とを同一のポリシーとすることが可能である。かかる実装において、応答元側ポリシーを生成する代わりに、単一の動的回答待ち行列ポリシーを追加の送信元鍵情報を使って更新することができる。応答元側の動的回答待ち行列ポリシー320は、回答メッセージのために生成または割り当てされた回答待ち行列に対する回答待ち行列の名前「ALPHA」と、応答メッセージの正当な送信元(例、ユーザ_Aおよびユーザ_B)と、依頼元(ユーザ_1)302を表す応答メッセージの受信先「ユーザ_1」と、依頼メッセージ中に含まれていた依頼元(ユーザ_1)302の暗号化鍵と、を含む。
なお、動的データ保護モジュール308は、依頼待ち行列ポリシー316の「送信元」フィールドと「受信先」フィールドと(例、それぞれ、ユーザ_1およびユーザ_A、ユーザ_B)を交換し、応答元側の動的回答待ち行列ポリシー320の「送信元」および「受信先」フィールド(例、それぞれ、ユーザ_A、ユーザ_Bおよびユーザ_1)を形成することができる。しかして、応答元側の動的回答待ち行列ポリシー320の送信元および受信先フィールドを生成するために用いる情報は、既存の依頼待ち行列ポリシー316から得ることが可能である。
動的データ保護モジュール308は、依頼待ち行列ポリシー316中の、応答元(ユーザ_A)304に対する解読鍵を識別し、応答元(ユーザ_A)304の識別された暗号化鍵を使ってこの特定の正当な応答元のために暗号化された依頼メッセージのペイロードを解読する。前述のように、解読鍵は、応答元モジュールのユーザIDを用いて、暗号化鍵を保管しているサービスから取得することができる。これに換えて、所与の実装に応じ、それぞれの依頼待ち行列ポリシー内に暗号化情報を格納しておくことも可能である。動的データ保護モジュール308は、解読されたメッセージを処理のため応答元(ユーザ_A)304に提供する。
依頼メッセージの処理の完了に応じ、応答元(ユーザ_A)304は、図3中の論理フロー・ポイント(7)(例、「(7)PUT(回答)」)で、応答メッセージに対する「PUT」要求を開始する。動的データ保護モジュール308は、応答元側の動的回答待ち行列ポリシー320を解析し、応答メッセージの意図された受信先(例、依頼元(ユーザ_1)302)、意図された受信先の暗号化鍵、およびこの特定のメッセージング相互作用のため生成された回答待ち行列「ALPFA」318を識別する。
また、動的データ保護モジュール308は、応答元(ユーザ_A)304が、依頼メッセージに対する正当な応答元であることを検証する。応答元(ユーザ_A)304が、依頼メッセージに対する正当な応答元であれば、動的データ保護モジュール308は、依頼元(ユーザ_1)302に対する応答メッセージを暗号化し、図3中の論理フロー・ポイント(8)(例、(8)回答(送信元暗号化鍵を使って暗号化))で、暗号化されたメッセージを回答待ち行列「ALPHA」318への載置のため、それを待ち行列マネージャ(図示せず)に提出する。
図3中の論理フロー・ポイント(9)(例、「(9)GET(回答)」)で、応答メッセージに対する依頼元(ユーザ_1)302による「GET」要求を受けて、動的データ保護モジュール306は、依頼元側の動的回答待ち行列ポリシー314を解析し、当初の依頼メッセージに対するすべての正当な応答元を識別する。また、動的データ保護モジュール306は、当初の依頼元(例、依頼元(ユーザ_1)302)の暗号化鍵も識別する。動的データ保護モジュール306は、依頼メッセージ自体の中の依頼元の暗号化情報にアクセスするか、もしくは依頼メッセージ自体とは別個に依頼元の暗号化情報にアクセスを行うことができる。動的データ保護モジュール306は、応答元が正当な応答元で、依頼元側の動的回答待ち行列ポリシー314中にリストされているかどうかを判定する。応答元が正当な応答元としてリストされていれば、動的データ保護モジュール306は、依頼元(ユーザ_1)302に対する応答メッセージを、当初依頼元の暗号化鍵を使って解読し、その応答メッセージを依頼元(ユーザ_1)302に提供する。
なお、依頼元側の動的回答待ち行列ポリシー314および応答元側の動的回答待ち行列ポリシー320は、メッセージング相互作用が完了次第、削除することができ、メモリは、他のアプリケーション/処理またはメッセージング用途への使用のために返却することができる。さらに、回答待ち行列「ALPHA」318は、所与の実装に応じ、削除または利用可能な待ち行列のプールに返却することが可能である。
このように、動的データ保護モジュール306および動的データ保護モジュール308の各々は、依頼メッセージに応じて動的回答待ち行列ポリシーの生成を提供する。前述のように、回答待ち行列は、依頼メッセージに基づいて、回答メッセージを処理するために動的に生成するかあるいは利用可能な待ち行列のプールから割り当て/命名することができる。さらに、暗号化鍵は、依頼メッセージとともに転送することが可能で、特定の依頼を行うエンティティのために動的に回答メッセージを暗号化することができ、応答元は、あり得るすべての依頼元に対する暗号化鍵を備えておく必要はない。しかして、動的データ保護モジュール306および動的データ保護モジュール308の各々は、依頼−回答メッセージ待ち行列作成環境内における自動生成の動的データ保護ポリシーを提供する。
以降の図4〜図6は、本主題に関連する依頼−回答メッセージ待ち行列作成環境内で自動生成の動的データ保護ポリシーを実施するため、コア処理モジュール200などのデバイスによって実行できる、例示的なプロセスを表す。本例示のプロセスに対する多くの他のバリエーションが可能であり、それらのすべては本主題の範囲内と見なされる。これらの例示的プロセスは、動的データ保護モジュール220などのモジュールによって実施するか、もしくはかかるデバイスに関連付けられたCPU202によって実行するか、またはこれらの両方によって行うことができる。なお、説明を分かり易くするため、以下に記載の例示プロセス中には、タイム・アウト手順および他のエラー制御手順は示されていない。但し、当然ながら、かかるすべての手順は本主題の範囲内にあると見なされる。
図4は、依頼−回答メッセージ待ち行列作成環境内の自動生成の動的データ保護ポリシーに対するプロセス400の実装の一例のフローチャートである。判定ポイント402で、プロセス400は、動的データ保護モジュールにおいて、依頼−回答メッセージング環境内の依頼待ち行列を介し、依頼メッセージを処理する要求を検出する。ブロック404で、プロセス400は、依頼待ち行列の依頼待ち行列ポリシーを使って、依頼メッセージへの応答メッセージの少なくとも一つの正当な送信元モジュールおよび唯一の正当な受信先モジュールを識別する。ブロック406で、プロセス400は、応答メッセージの識別された少なくとも一つの正当な送信元モジュールおよび唯一の正当な受信先モジュールを用いて、応答メッセージを処理するための回答待ち行列ポリシーを動的に生成する。ブロック408で、プロセス400は、この動的に生成された回答待ち行列ポリシーを回答待ち行列と関連付ける。ブロック410で、プロセス400は、応答メッセージを処理する要求を受けて、動的に生成された回答待ち行列ポリシーおよび関連する回答待ち行列を用いて応答メッセージを処理する。
図5〜図6は、依頼−回答メッセージ待ち行列作成環境内の自動生成の動的データ保護ポリシーに対するプロセス500の実装の一例のフローチャートを示す。図5は、プロセス500内の初めの処理を示す。判定ポイント502で、プロセス500は、依頼−回答メッセージング環境内の依頼待ち行列を介して依頼メッセージを処理せよとの要求が、検出されたかどうかの判定を行う。前述のように、依頼待ち行列を介して依頼メッセージを処理する要求は、依頼を生成した依頼元モジュールからの「PUT」要求、または依頼に応答しようとする応答元モジュールからの「GET」要求を含み得る。しかして、図5〜図6に関連して説明する処理は、図3に関連して前述した動的データ保護モジュール306または動的データ保護モジュール308など、依頼元もしくは応答元のデータ保護モジュールに関連付けることができる。
依頼待ち行列を介して依頼メッセージを処理する要求が検出されたと判定するのに応じ、プロセス500は、ブロック504で、その要求に関連する依頼待ち行列を識別する。なお、所与の実装に応じ、依頼メッセージに依頼待ち行列の名前を含めることもでき、あるいはデータ保護モジュールがその依頼をある依頼待ち行列に割り当てることも可能である。
ブロック506で、プロセス500は、識別された依頼待ち行列に関連する依頼待ち行列ポリシーを識別する。ブロック508で、プロセス500は、依頼待ち行列ポリシーの中で、回答メッセージの正当な送信元モジュールとして一つ以上の応答元を識別する。ブロック510で、プロセス500は、依頼メッセージへの回答メッセージの唯一の正当な受信先モジュールとして、依頼メッセージの依頼元モジュールを識別し、この識別は依頼メッセージの解析もしくは依頼待ち行列ポリシーによって行うことができる。ブロック512で、プロセス500は、応答メッセージの識別された少なくとも一つの正当な送信元モジュールおよび正当な唯一の受信先モジュールを用いて、回答メッセージを処理するための回答待ち行列ポリシーを動的に生成する。前述のように、データ保護モジュールは、依頼待ち行列ポリシーの受信先フィールドと送信元フィールドとを交換し、動的に生成される回答待ち行列ポリシーの対応する送信元および受信先フィールドを生成することができる。動的データ保護モジュールは、識別された依頼元モジュールを、動的に生成された回答待ち行列ポリシーの受信先データ・フィールド中の唯一の正当な受信先モジュールとして指定することができ、識別された応答元モジュール(群)を、動的に生成された回答待ち行列ポリシーの送信元データ・フィールド中の正当な送信元モジュール(群)として指定することができる。
ブロック514で、プロセス500は、暗号化鍵など、依頼元モジュールの暗号化情報を識別する。なお、メッセージ・トランザクションの依頼元側でこの処理が行われる場合、その動的データ保護モジュールは、依頼メッセージ自体の中で依頼元の暗号化情報にアクセスできるか、もしくは依頼メッセージ自体とは別個に依頼元の暗号化情報にアクセスすることができる。
あるいは、メッセージ・トランザクションの応答元側で処理が行われる場合、依頼メッセージを解析することができ、依頼元モジュールの暗号化情報をそのメッセージのペイロードの中に含めておくことができる。ブロック516で、プロセス500は、依頼元の暗号化情報を応答元側の動的回答待ち行列ポリシー320に加える。但し、本例には、依頼元の暗号化情報を、メッセージング相互作用の依頼元側の動的に生成された回答待ち行列ポリシーに書き加えることは含まれていないが、これは限定と見なすべきではない。というのは、上記に換えて、本主題の範囲から逸脱することなく、依頼元側の動的回答待ち行列ポリシー314を使って暗号化情報を保存することもできるからである。
ブロック518で、プロセス500は、応答メッセージに対して意図された回答待ち行列の名前を識別する。前の説明と同様に、メッセージ・トランザクションの依頼元側で処理が行われる場合、その動的データ保護モジュールが回答待ち行列の名前を自律的に生成するかまたは選択することができ、あるいは、依頼メッセージ自体に回答待ち行列に対する名前を含めておくことができる。あるいは、メッセージ・トランザクションの応答元側でこの処理が行われる場合、依頼メッセージを解析することが可能で、意図される回答待ち行列に対する名前をそのメッセージ自体に含めておくことができる。ブロック520で、プロセス500は、意図される回答待ち行列の名前を、動的に生成された回答待ち行列ポリシーに関連付ける。
判定ポイント522で、プロセス500は、回答待ち行列を生成するかどうかの決定を行う。前述のように、回答待ち行列は、ランタイムの間に生成するか、あるいは利用可能な回答待ち行列のプールから選択することができ、動的に命名して回答メッセージとの関連付けを形成することができる。しかして、回答待ち行列を生成すると決定したのに応じ、ブロック524で、プロセス500は回答待ち行列を生成する。なお、回答待ち行列の生成には、動的に生成された待ち行列ポリシーを用いて、回答メッセージを処理するための回答待ち行列を生成することを含めることができる。回答待ち行列を生成しないと決定したのに応じ、プロセス500は、ブロック526で、意図された回答待ち行列の名前を、ある既存の待ち行列に関連付ける。なお、本例は、回答待ち行列が生成される実装について、実際上の問題としてさまざまなプロセス実装を説明することを意図しているが、依頼元は、依頼メッセージを「PUT」した後すぐに回答待ち行列から応答を「GET」しようと試みることが多いので、応答メッセージの処理を促進するために、回答待ち行列を依頼元側に生成することも可能である。さらに、前述のように、ランタイムの効率を向上するため、依頼元モジュールは、待ち行列マネージャに対し、該モジュールが依頼メッセージをPUTする前に回答待ち行列を生成することを要求し、依頼メッセージにデータ・フィールドとして回答待ち行列の名前を含めることができる。しかして、本例のプロセス500中の回答待ち行列生成の設定は例示のためのものであり、処理のシーケンスに対する限定ではない。プロセス500に関連して説明した処理に対し多くのバリエーションが可能であり、それらのすべては本主題の範囲内にあると見なされる。
判定ポイント528で、プロセス500は、依頼メッセージを処理する要求が依頼元モジュールからの「PUT」要求なのか、それとも応答元モジュールからの「GET」要求なのかの判定を行う。要求が「PUT」要求であるとの判定に応じ、プロセス500は、ブロック530で、依頼メッセージに回答待ち行列の名前と依頼元の暗号化情報(例、暗号化鍵)とを加える。ブロック532で、プロセス500は、依頼メッセージを依頼待ち行列に転送する。前述のように、依頼待ち行列への依頼メッセージの転送は、依頼メッセージを待ち行列マネージャ・モジュールに転送することを含み得る。あるいは、待ち行列マネージャ・モジュールが動的データ保護モジュールと一体化している場合は、動的データ保護モジュールが依頼メッセージを依頼待ち行列に直接に置くことも可能である。
ブロック532で依頼メッセージを依頼待ち行列に転送するのに応じ、あるいは、判定ポイント528で、依頼メッセージを処理する要求が、依頼元モジュールからの「PUT」要求でない(すなわち、要求は応答元モジュールからの「GET」要求である)との判定を行うのに応じ、プロセス500は、図6に関連して示され、説明される処理に移行する。
図6は、依頼−回答メッセージ待ち行列作成環境内の自動生成の動的データ保護ポリシーに対する、プロセス500に関連する追加の処理を示す。判定ポイント534で、プロセス500は、応答メッセージを処理せよとの要求が検出されたかどうかの判定を行う。前述の依頼メッセージの場合と同様に、応答メッセージを処理する要求は、回答待ち行列への「PUT」要求を生成した応答元モジュール、もしくは回答待ち行列からメッセージを回収する「GET」要求を生成した依頼元モジュールから受信し得る。
なお、動的データ保護モジュールは、複数の依頼/応答メッセージング相互作用を同時に管理することができる。応答メッセージを処理する要求に関わるそれぞれの回答待ち行列を識別する処理は、図面内の混雑を低減するために省略されている。但し、本主題の範囲から逸脱することなく、複数の依頼/応答メッセージング相互作用環境における実装に関連して、かかる処理を実施することができるのは言うまでもない。
判定ポイント534で、応答メッセージを処理する要求が検出されたと判定するのに応じ、プロセス500は、ブロック536で、それぞれの応答メッセージに対する、動的に生成された回答待ち行列ポリシーを読み出す。ブロック538で、プロセス500は、当初の依頼元モジュール(すなわち、受信先)に対する暗号化情報を読み出す。例えば、メッセージング相互作用の応答元側で、動的データ保護モジュール308は、動的に生成された回答待ち行列ポリシー320から暗号化情報(例、暗号化鍵)を抽出することができる。これに換えて、メッセージング相互作用の依頼元側で、動的データ保護モジュール306が、その構成の一部として、依頼元の暗号化情報にアクセス可能なようにすることもできる。
判定ポイント540で、プロセス500は、応答元が、動的に生成された回答待ち行列ポリシーの正当な送信元データ・フィールド中に表された正当な応答元かどうかの判定を行う。しかして、プロセス500がメッセージング相互作用の応答元側で行われるか依頼元側で行われるかに関係なく、プロセス500は、動的に生成された回答待ち行列ポリシーを用いて、応答メッセージに関連する応答元モジュールが正当な応答元モジュールであることを検証する。
応答元モジュールが、動的に生成された回答待ち行列ポリシーによる正当な応答元モジュールでないと判定するのに応じ、プロセス500は、ブロック542で、所与の実装に応じ、正当でない応答元モジュール、管理者、エラー・ロギング・システムへのエラー通知メッセージまたは別途によるなどして、エラー通知を生成する。判定ポイント502で、プロセス500は、図5に関連させて前述した処理に戻り、前述の処理を反復する。
判定ポイント540の記述に戻って、応答元モジュールが、動的に生成された回答待ち行列ポリシーによる正当な応答元モジュールであると判定するのに応じ、プロセス500は、判定ポイント544で、応答メッセージを処理する要求が、応答元モジュールからの「PUT」要求なのか、または依頼元モジュールからの「GET」要求なのかの判定を行う。当該要求が、正当な応答元モジュールからの「PUT」要求を含むと判定するのに応じ、プロセス500は、ブロック546で、動的に生成された回答待ち行列ポリシーから得られた依頼元モジュールの暗号化情報(例、暗号化鍵)を使って、当初の依頼元モジュールに対する応答メッセージを暗号化する。
ブロック548で、プロセス500は、暗号化応答メッセージを回答待ち行列に転送する。前述のように、回答待ち行列への応答メッセージの転送は、応答メッセージを待ち行列マネージャ・モジュールに転送することを含み得る。あるいは、待ち行列マネージャ・モジュールが動的データ保護モジュールと一体化している場合は、動的データ保護モジュールが応答メッセージを回答待ち行列に直接に置くことができる。
判定ポイント544の説明に戻って、当該要求が、当初の依頼元モジュールからの「GET」要求を含むと判定するのに応じ、プロセス500は、ブロック550で、動的に生成された回答待ち行列ポリシーから、または動的に生成された回答待ち行列ポリシーの外部にある関連設定から得られた依頼元モジュールの暗号化情報(例、暗号化鍵)を使って、当初の依頼元モジュールに対する応答メッセージを解読する。ブロック552で、プロセス500は、解読された応答メッセージを当初の依頼元モジュールに転送する。
ブロック552で、解読された応答メッセージを当初の依頼元モジュールに転送するのに応じ、または、ブロック548で応答メッセージを回答待ち行列に転送するのに応じ、プロセス500は、ブロック554で、動的に生成された回答待ち行列ポリシーを削除する。しかして、動的に生成された回答待ち行列ポリシーは、それぞれの依頼メッセージに対する処理が完了すれば、メモリまたはストレージ・スペースを消費することはない。あるいは、動的に生成された回答待ち行列ポリシーを(例えば、その後のメッセージングに)さらに繰り返して使用する可能性があると判定された場合、動的に生成された回答待ち行列ポリシーは、現在の繰り返し処理の間は削除しないでおくことができ、あるいは、待ち行列のプールから割り当てられている場合には、現在の繰り返しの間は割り当て解除しないでおくことができ、一回以上のその後の繰り返し処理の過程で使用するために保存しておくことが可能である。なお、依頼元モジュールは、それがもはや回答待ち行列を必要としないことを、待ち行列マネージャに通知することができる。それぞれの動的データ保護モジュールは、この通知をインターセプトし、その時点で、クリーンアップ・オペレーションを実施し、動的に生成された回答待ち行列ポリシーを削除することが可能である。しかして、所与の実装に応じ、動的に生成された回答待ち行列ポリシーおよびそれぞれの回答待ち行列は複数の依頼および回答のために使用することができる。
判定ポイント556で、プロセス500は、回答待ち行列を削除するかどうかの判定を行う。前述のように、回答待ち行列は、動的に生成される回答待ち行列ポリシーと一緒に動的に生成することができ、あるいは、利用可能な未割り当てのメッセージング待ち行列のプールまたは他のコレクションから、特定のメッセージング相互作用に割り当てることができる。しかして、回答待ち行列を削除する決定に応じて、プロセス500は、ブロック558で、回答待ち行列を削除する。あるいは、回答待ち行列を削除しないとの決定に応じて、プロセス500は、ブロック560で、回答待ち行列をそれぞれのメッセージング相互作用から割り当て解除し、割り当てた回答待ち行列の名前を回答待ち行列から除去し、しかしてそれぞれの待ち行列を利用可能な待ち行列のプールに返却する。あるいは、動的に生成された回答待ち行列がさらなる繰り返し処理(例、引き続きのメッセージング)に使用できると判定された場合には、動的に生成された回答待ち行列ポリシーを現在の繰り返し処理の間削除しないでおくことができ、または待ち行列のプールから割り当てられた場合にあっては、現在の繰り返しの間は割り当て解除せずにおくことができ、一回以上のその後の繰り返し処理の過程で使用するため保存しておくことも可能である。
ブロック560で、それぞれのメッセージング相互作用から回答待ち行列を割り当て解除し、割り当てた回答待ち行列の名前を回答待ち行列から除去するのに応じ、またはブロック558で回答待ち行列を削除するのに応じ、プロセス500は、図5に関連させて前述した判定ポイント502の処理に戻り、前に説明した処理を繰り返す。
しかして、プロセス500は、依頼元側の処理に対する依頼元モジュールからの、または応答元側の処理に対する応答元モジュールからの、依頼メッセージの処理要求を受けて、動的回答待ち行列ポリシーの動的な生成と回答待ち行列の生成もしくは割り当てとを提供する。動的に生成された回答待ち行列ポリシーを使って処理され、回答を行うモジュールの信ぴょう性が検証される。応答メッセージは、特定の依頼元モジュールのために、動的に生成された回答待ち行列ポリシーからの依頼元の暗号化情報を用いて暗号化され、依頼元側での処理のため回答待ち行列に転送される。応答メッセージは、特定の依頼元モジュールのために、動的に生成された回答待ち行列ポリシーからのまたは動的に生成された回答待ち行列ポリシーの外部にある関連設定からの依頼元の暗号化情報を用いて解読され、依頼元側での処理のため依頼元モジュールに転送される。再使用されない場合、動的に生成された回答待ち行列ポリシーは削除される。依頼メッセージ処理の完了に応じ、回答待ち行列は削除されるか、もしくは回答待ち行列を利用可能なメッセージ待ち行列のプールに返却することができる。あるいは、動的に生成された回答待ち行列ポリシーおよび回答待ち行列の両方は、依頼/回答サイクルのさらなる繰り返し処理が確認される場合には、削除せずにまたは割り当て解除せずにおくことができる。
図1〜図6に関連させて上記で説明したように、本例示的なシステムおよびプロセスは、依頼−回答メッセージ待ち行列作成環境内における自動生成の動的データ保護ポリシーを提供する。依頼−回答メッセージ待ち行列作成環境内における自動生成の動的データ保護ポリシーに関連する他の多くのバリエーションおよび追加的アクティビティが可能で、それらのすべては本主題の範囲内にあると見なされる。
当業者は、上記の教示を検討すれば、前述の例のあるものは、CPU202などのプログラムされたプロセッサの使用に基づいていることを認識するであろう。しかしながら、本発明はかかる例示的な実施形態に限定されるものではない。というのは、特殊用途向けハードウェアもしくは専用プロセッサまたはその両方など、ハードウェア・コンポーネントの同等物を用いて、他の実施形態が実装できるであろうからである。同様に、汎用コンピュータ、マイクロプロセッサ・ベースのコンピュータ、マイクロコントローラ、光コンピュータ、アナログ・コンピュータ、専用プロセッサ、特定用途向け回路、もしくは専用ハードワイヤード・ロジックまたはこれらの組み合わせを用いて、別の同等な実施形態を構築することが可能である。
当業者ならよく理解できるように、本発明の態様は、システム、方法、またはコンピュータ・プログラム製品として具現化することができる。従って、本発明の態様は、全体がハードウェアの実施形態、全体がソフトウェアの実施形態(ファームウエア、常駐ソフトウェア、マイクロコードなどを含む)、あるいは、ソフトウェア態様およびハードウェア態様を組み合わせた実施形態の形を取ることができ、これらは一般に本明細書ではすべて「回路」、「モジュール」、または「システム」と称することもある。さらに、本発明の態様は、コンピュータ可読プログラム・コードが中に具現化されている一つ以上のコンピュータ可読媒体中に具現化されたコンピュータ・プログラム製品の形を取ることも可能である。
一つ以上のコンピュータ可読媒体の任意の組み合わせを用いることができる。コンピュータ可読媒体は、コンピュータ可読信号媒体、またはコンピュータ可読ストレージ媒体とすることができる。コンピュータ可読ストレージ媒体は、例えば、以下に限らないが、電子的、磁気的、光学的、電磁気的、赤外的、または半導体の、システム、装置、もしくはデバイス、あるいはこれらの任意の適切な組み合わせとすることができる。コンピュータ可読ストレージ媒体のさらに具体的な例(非包括的リスト)には、一つ以上の配線を有する電気接続、携帯型コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM:random access memory)、読み取り専用メモリ(ROM:read−only memory)、消去可能プログラム可能読み取り専用メモリ(EPROM:erasable programmable read−only memoryもしくはフラッシュ・メモリ)、携帯型コンパクト・ディスク読み取り専用メモリ(CD−ROM:compact disc read−only memory)、光ストレージ・デバイス、磁気ストレージ・デバイス、または前述の任意の適切な組み合わせが含まれよう。本文書の文脈において、コンピュータ可読ストレージ媒体は、命令実行システム、装置、またはデバイスによってあるいはこれらに関連させて使用するためのプログラムを、包含または保存できる任意の有形媒体とすることができる。
コンピュータ可読信号媒体には、例えばベースバンド中にまたは搬送波の一部として具現化されたコンピュータ可読プログラム・コードを有する、伝播データ信号を含めることができる。かかる伝播信号は、以下に限らないが、電磁気的、光学的、またはこれらの任意の適切な組み合わせを含め、さまざまな形態の任意の形を取ることが可能である。コンピュータ可読信号媒体は、コンピュータ可読ストレージ媒体ではないが、命令実行システム、装置、もしくはデバイスによってまたはこれらに関連させて使用するためのプログラムを通信、伝播、または伝送が可能な任意のコンピュータ可読媒体であり得る。
コンピュータ可読媒体上に具現化されたプログラム・コードは、以下に限らないが、無線、有線、光ファイバ・ケーブル、RFなど、または前述の任意の適した組み合わせを含め、任意の適切な媒体を用
いて送信することができる。
本発明の態様のオペレーションを実行するためのコンピュータ・プログラム・コードは、Java(R)、Smalltalk(R)、C++などのオブジェクト指向プログラミング言語、および、“C”プログラミング言語または類似のプログラミング言語などの従来式手続き型プログラミング言語を含め、一つ以上のプログラミング言語の任意の組み合わせで記述することができる。このプログラム・コードは、スタンドアロン・ソフトウェア・パッケージとしてユーザのコンピュータで専ら実行することも、ユーザのコンピュータで部分的に実行することもでき、一部をユーザのコンピュータで一部を遠隔コンピュータで実行することもでき、あるいは遠隔のコンピュータまたはサーバで専ら実行することもできる。後者の場合は、ローカル・エリア・ネットワーク(LAN:local area network)または広域ネットワーク(WAN:wide area network)を含む任意の種類のネットワークを介して、遠隔コンピュータをユーザのコンピュータに接続することもでき、あるいは(例えばインターネット・サービス・プロバイダを使いインターネットを介し)外部のコンピュータへの接続を行うこともできる。
本発明の実施形態による方法、装置(システム)およびコンピュータ・プログラム製品のフローチャート図もしくはブロック図またはその両方を参照しながら、本発明の態様を説明してきた。当然のことながら、フローチャート図もしくはブロック図またはその両方の各ブロック、および、フローチャート図もしくはブロック図またはその両方中のブロックの組み合わせは、コンピュータ・プログラム命令によって実装することが可能である。これらのコンピュータ・プログラム命令を、汎用コンピュータ、特殊用途コンピュータ、またはマシンを形成する他のプログラム可能データ処理装置のプロセッサに供給し、そのコンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行されるこれらの命令が、フローチャートもしくはブロック図またはその両方のブロックまたはブロック群中に規定された機能群/動作群を実装するための手段を生成するようにすることができる。
また、これらのコンピュータ・プログラム命令を、コンピュータまたは他のプログラム可能データ処理装置に対し特定の仕方で機能するよう命令することができるコンピュータ可読ストレージ媒体に保存し、そのコンピュータ可読ストレージ媒体に保存された命令が、フローチャートもしくはブロック図またはその両方のブロックまたはブロック群中に規定された機能/動作を実装する命令群を包含する製造品を生成するようにすることができる。
さらに、コンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスにロードし、当該コンピュータ上、他のプログラム可能装置上、または他のデバイス上で一連のオペレーション・ステップを実行させて、コンピュータ実装されるプロセスを生成し、当該コンピュータ上または他のプログラム可能装置上で実行される命令が、フローチャートもしくはブロック図またはその両方のブロックまたはブロック群中に規定された機能群/動作群を実装するためのプロセスを提供するようにすることも可能である。
図面のフローチャートおよびブロック図は、本発明のさまざまな実施形態による、システム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、およびオペレーションを例示している。この点に関し、フローチャートまたはブロック図中の各ブロックは、規定の論理機能(群)を実装するための一つ以上の実行可能命令を含む、モジュール、セグメント、またはコードの部分を表し得る。また、一部の別の実装においては、ブロック中に記載された機能が、図面に記載された順序を外れて行われ得ることに留意すべきである。例えば、連続して示された2つのブロックが、関与する機能によって実際にはほぼ同時に実行されることがあり、時にはこれらのブロックが逆の順序で実行されることもあり得る。さらに、ブロック図もしくはフローチャート図またはその両方の各ブロック、およびブロック図もしくはフローチャート図またはその両方中のブロック群の組み合わせは、特定の機能または動作を実施する、特殊用途ハードウェア・ベースのシステム、または特殊用途ハードウェアとコンピュータ命令との組み合わせによって実装可能なことにも留意すべきである。
プログラム・コードを保存もしくは実行またはその両方を行うのに適したデータ処理システムには、システム・バスを介して直接的または間接的にメモリ・エレメントに連結された少なくとも一つのプロセッサが含まれよう。メモリ・エレメントには、プログラム・コードの実際の実行の過程で用いられるローカル・メモリ、大容量記憶装置、実行の過程で大容量記憶装置からコードを読み出さなければならない回数を低減するために少なくとも一部のプログラム・コードの一時的格納を提供するキャッシュ・メモリを含めることができる。
入力/出力もしくはI/Oデバイス(以下に限らないが、キーボード、ディスプレイ、ポインティング・デバイスなどを含む)は、直接にもしくは介在I/Oコントローラを介してシステムに連結することができる。
また、ネットワーク・アダプタをシステムに連結して、データ処理システムが、介在するプライベートまたはパブリック・ネットワークを介して、他のデータ処理システムまたは遠隔のプリンタまたはストレージ・デバイスに連結することを可能にすることができる。モデム、ケーブル・モデム、およびイーサネット(R)カードは、現在利用可能なネットワーク・アダプタのごくわずかな例である。
本明細書で使用する用語は、単に特定の実施形態を説明する目的のためのものであり、本発明を限定することは意図されていない。本明細書で用いられる、単数形「ある(“a”、“an”)」、および「該(“the”)」は、文脈上明確に別途に示されていなければ、複数形も同じように含むことが意図されている。さらに、当然のことながら本明細書で用いられる「含む(“comprise”)」もしくは「含んでいる(“comprising”)」またはその両方は、述べられた機能、整数、ステップ、オペレーション、エレメント、もしくはコンポーネント、またはこれらの組み合わせの存在を特定するが、一つ以上の他の機能、整数、ステップ、オペレーション、エレメント、コンポーネント、もしくはこれらの群、または上記の組み合わせの存在を排除するものではない。
添付の特許請求の範囲のミーンズ・プラス・ファンクションまたはステップ・プラス・ファンクションの要素すべての、対応する構造、材料、動作および均等物は、具体的に請求された他の請求要素と組み合わせてその機能を実施するための、一切の構造、材料または動作を包含することが意図されている。本発明の記述は、例示および説明の目的で提示されたもので、網羅的であることも、または本発明を開示した形態に限定することも意図されていない。当業者には、本発明の範囲および趣旨から逸脱することのない多くの修改および変形が明白であろう。本実施形態は、本発明の原理および実際的な応用を最善に説明し、他の当業者が、意図する特定の用途に適したさまざまな修改を加えたさまざまな実施形態に関して、本発明を理解できるように選択し説明されたものである。

Claims (18)

  1. コンピュータの情報処理により依頼メッセージを処理する方法であって、
    動的データ保護モジュールで、依頼−回答メッセージング環境に関連する依頼待ち行列を用いて、前記依頼メッセージを処理する要求を検出するステップと、
    前記依頼待ち行列の依頼待ち行列ポリシーを用いて、前記依頼メッセージに対する応答メッセージの、少なくとも一つの正当な送信元モジュールおよび唯一の正当な受信先モジュールを識別するステップと、
    前記応答メッセージの前記識別された少なくとも一つの正当な送信元モジュールおよび前記唯一の正当な受信先モジュールを用いて、前記応答メッセージを処理するための回答待ち行列ポリシーを動的に生成するステップと、
    前記動的に生成された回答待ち行列ポリシーを回答待ち行列に関連付けるステップと、 前記応答メッセージを処理する要求を受け、前記動的に生成された回答待ち行列ポリシーおよび前記関連する回答待ち行列を用いて、前記応答メッセージを処理するステップと、
    を含む方法。
  2. 前記応答メッセージの処理の完了に応じて、前記動的に生成された回答待ち行列ポリシーを削除するステップをさらに含む、請求項1に記載の方法。
  3. 前記動的に生成された回答待ち行列ポリシーを回答待ち行列に関連付けるステップが、
    前記動的に生成された回答待ち行列ポリシーを用いて、前記応答メッセージを処理するための前記回答待ち行列を生成するステップ、または
    前記動的に生成された回答待ち行列ポリシーを用いて、前記応答メッセージを処理するために利用可能な待ち行列のプールから前記回答待ち行列を割り当てるステップ、
    のうちの一つを含む前記回答待ち行列に関連付ける、請求項1または請求項2に記載の方法。
  4. 前記動的に生成された回答待ち行列ポリシーを用いるメッセージングが完了したとの判定に応じ、
    前記回答待ち行列を削除するステップ、および
    前記動的に生成された回答待ち行列ポリシーを用いて、前記応答メッセージを処理するために前記利用可能な回答待ち行列のプールから割り当てられた前記回答待ち行列を割り当て解除するステップ、
    のうちの一つをさらに含む、請求項3に記載の方法。
  5. 前記依頼メッセージが前記回答待ち行列に対する名前を含み、
    前記依頼メッセージに関連する前記名前を使って前記回答待ち行列を命名するステップと、
    前記回答待ち行列の名前を前記動的に生成された回答待ち行列ポリシーに関連付けるステップと、
    をさらに含む、請求項1〜4のいずれかに記載の方法。
  6. 前記応答メッセージの前記識別された少なくとも一つの正当な送信元モジュールおよび前記唯一の正当な受信先モジュールを用いて、前記応答メッセージを処理するための前記回答待ち行列ポリシーを動的に生成するステップは、
    前記依頼待ち行列ポリシーの送信元データ・フィールドに関連付けられた依頼元モジュールおよび受信先データ・フィールドに関連付けられた少なくとも一つの応答元モジュールを識別するステップと、
    前記識別された依頼元モジュールを、前記動的に生成された回答待ち行列ポリシーの受信先データ・フィールドに関連付けられた前記唯一の正当な受信先モジュールとして指定するステップと、
    前記少なくとも一つの応答元モジュールを、前記動的に生成された回答待ち行列ポリシーの送信元データ・フィールドに関連付けられた前記少なくとも一つの正当な送信元モジュールとして指定するステップと、
    を含む、請求項1〜5のいずれかに記載の方法。
  7. 前記応答メッセージの前記識別された少なくとも一つの正当な送信元モジュールおよび前記唯一の正当な受信先モジュールを用いて、前記応答メッセージを処理するための前記回答待ち行列ポリシーを動的に生成するステップは、
    前記依頼メッセージから依頼元の暗号化情報を抽出するステップと、
    前記動的に生成された回答待ち行列ポリシーに前記依頼元の暗号化情報を加えるステップと、
    を含む、請求項1〜6のいずれかに記載の方法。
  8. 前記動的に生成された回答待ち行列ポリシーを用いて、前記応答メッセージに関連する応答元モジュールが前記少なくとも一つの正当な送信元モジュールの一つであることを検証するステップをさらに含み、
    前記応答メッセージを処理する前記要求が、前記応答元モジュールからの「PUT」メッセージ要求を含むと判定するのに応じ、前記応答メッセージを処理する前記要求を受けて、前記動的に生成された回答待ち行列ポリシーおよび前記関連する回答待ち行列を用い、前記応答メッセージを処理するステップは、
    前記動的に生成された回答待ち行列ポリシーからの前記依頼元の暗号化情報を用い、前記応答メッセージを暗号化するステップと、
    前記暗号化された前記応答メッセージを前記回答待ち行列に転送するステップと、
    を含み、
    前記応答メッセージを処理する前記要求が、前記依頼元モジュールからの「GET」メッセージ要求を含むと判定するのに応じ、前記応答メッセージを処理する前記要求を受けて、前記動的に生成された回答待ち行列ポリシーおよび前記関連する回答待ち行列を用い、前記応答メッセージを処理するステップは、
    前記動的に生成された回答待ち行列ポリシー、および前記動的に生成された回答待ち行列ポリシーの外部にある関連設定のうちの一つから得られた前記依頼元の暗号化情報を用い、前記応答メッセージを解読するステップと、
    前記解読された応答メッセージを前記依頼元モジュールに転送するステップと、
    を含む、請求項7に記載の方法。
  9. 通信モジュールとプロセッサを有する、依頼メッセージを処理するためのシステムであって、
    依頼−回答メッセージング環境に関連する依頼待ち行列を用いる前記依頼メッセージを処理する要求を検出し、
    前記依頼待ち行列の依頼待ち行列ポリシーを用い、前記依頼メッセージに対する応答メッセージの少なくとも一つの正当な送信元モジュールおよび唯一の正当な受信先モジュールを識別し、
    前記応答メッセージの前記識別された少なくとも一つの正当な送信元モジュールおよび前記唯一の正当な受信先モジュールを用い、前記応答メッセージを処理するための回答待ち行列ポリシーを動的に生成し、
    前記動的に生成された回答待ち行列ポリシーを回答待ち行列に関連付け、
    前記応答メッセージを処理する要求を受けて、前記動的に生成された回答待ち行列ポリシーおよび前記関連付けられた回答待ち行列を用い、前記応答メッセージを処理する、
    システム。
  10. 前記応答メッセージの処理の完了に応じて、前記動的に生成された回答待ち行列ポリシーを削除する、請求項9に記載のシステム。
  11. 前記動的に生成された回答待ち行列ポリシーを前記回答待ち行列に関連付けることにおいて、
    前記動的に生成された回答待ち行列ポリシーを用いて、前記応答メッセージを処理するための前記回答待ち行列を生成する、または
    前記動的に生成された回答待ち行列ポリシーを用いて、前記応答メッセージを処理するために利用可能な回答待ち行列のプールから前記回答待ち行列を割り当てる、
    のうちの一つを行う、請求項9または10に記載のシステム。
  12. 前記動的に生成された回答待ち行列ポリシーを用いるメッセージングが完了したと判定するのに応じ、
    前記回答待ち行列を削除する、
    前記動的に生成された回答待ち行列ポリシーを用いて、前記応答メッセージを処理するために前記利用可能な回答待ち行列のプールから割り当てられた前記回答待ち行列を割り当て解除する、
    のうちの一つを行う、請求項11に記載のシステム。
  13. 前記依頼メッセージが前記回答待ち行列の名前を含み、
    前記依頼メッセージに関連する前記名前を使って前記回答待ち行列を命名し、
    前記回答待ち行列の名前を前記動的に生成された回答待ち行列ポリシーに関連付ける、請求項9〜12のいずれかに記載のシステム。
  14. 前記応答メッセージの前記識別された少なくとも一つの正当な送信元モジュールおよび前記唯一の正当な受信先モジュールを用いて、前記応答メッセージを処理するための前記回答待ち行列ポリシーを動的に生成することにおいて、
    前記依頼待ち行列ポリシーの送信元データ・フィールドに関連付けられた依頼元モジュール、および受信先データ・フィールドに関連付けられた少なくとも一つの応答元モジュールを識別し、
    前記識別された依頼元モジュールを、前記動的に生成された回答待ち行列ポリシーの受信先データ・フィールドに関連付けられた前記唯一の正当な受信先モジュールとして指定し、
    前記少なくとも一つの応答元モジュールを、前記動的に生成された回答待ち行列ポリシーの送信元データ・フィールドに関連付けられた前記少なくとも一つの正当な送信元モジュールとして指定する、
    請求項9〜13のいずれかに記載のシステム。
  15. 前記応答メッセージの前記識別された少なくとも一つの正当な送信元モジュールおよび前記唯一の正当な受信先モジュールを用いて、前記応答メッセージを処理するための前記回答待ち行列ポリシーを動的に生成することにおいて、
    前記依頼メッセージから依頼元の暗号化情報を抽出し、
    前記動的に生成された回答待ち行列ポリシーに前記依頼元の暗号化情報を加える、
    請求項9〜14に記載のシステム。
  16. 前記動的に生成された回答待ち行列ポリシーを用いて、前記応答メッセージに関連する応答元モジュールが前記少なくとも一つの正当な送信元モジュールの一つであることを検証し、
    前記応答メッセージを処理する前記要求が、前記応答元モジュールからの「PUT」メッセージ要求を含むと判定するのに応じ、前記応答メッセージを処理する前記要求を受けて、前記動的に生成された回答待ち行列ポリシーおよび前記関連する回答待ち行列を用い、前記応答メッセージを処理することにおいて、前記動的に生成された回答待ち行列ポリシーからの前記依頼元の暗号化情報を用い、前記応答メッセージを暗号化し、
    前記暗号化された前記応答メッセージを前記回答待ち行列に転送し、
    前記応答メッセージを処理する前記要求が、前記依頼元モジュールからの「GET」メッセージ要求を含むと判定するのに応じ、前記応答メッセージを処理する前記要求を受けて、前記動的に生成された回答待ち行列ポリシーおよび前記関連する回答待ち行列を用い、前記応答メッセージを処理し、
    前記動的に生成された回答待ち行列ポリシー、および前記動的に生成された回答待ち行列ポリシーの外部にある関連設定のうちの一つから得られた前記依頼元の暗号化情報を用い、前記応答メッセージを解読し、
    前記解読された応答メッセージを前記依頼元モジュールに転送する、
    請求項15に記載のシステム。
  17. 請求項1〜8の何れか1項に記載の方法の各ステップをコンピュータに実行させる、コンピュータ・プログラム。
  18. 請求項17記載のコンピュータ・プログラムをコンピュータ可読ストレージ媒体に記録した、コンピュータ可読ストレージ媒体。
JP2014517990A 2011-07-06 2012-06-13 依頼−回答メッセージ待ち行列作成環境に関連付けられた動的データ保護ポリシー Active JP5916852B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/177,252 2011-07-06
US13/177,252 US8549579B2 (en) 2011-07-06 2011-07-06 Dynamic data-protection policies within a request-reply message queuing environment
PCT/IB2012/052982 WO2013005121A1 (en) 2011-07-06 2012-06-13 Dynamic data-protection policies associated with a request-reply message queuing environment

Publications (2)

Publication Number Publication Date
JP2014521236A JP2014521236A (ja) 2014-08-25
JP5916852B2 true JP5916852B2 (ja) 2016-05-11

Family

ID=47436602

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014517990A Active JP5916852B2 (ja) 2011-07-06 2012-06-13 依頼−回答メッセージ待ち行列作成環境に関連付けられた動的データ保護ポリシー

Country Status (5)

Country Link
US (2) US8549579B2 (ja)
JP (1) JP5916852B2 (ja)
CN (1) CN103636166B (ja)
DE (1) DE112012002541B4 (ja)
WO (1) WO2013005121A1 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8549579B2 (en) * 2011-07-06 2013-10-01 International Business Machines Corporation Dynamic data-protection policies within a request-reply message queuing environment
US9992183B2 (en) * 2013-03-15 2018-06-05 T-Mobile Usa, Inc. Using an IP multimedia subsystem for HTTP session authentication
US9794198B2 (en) * 2013-07-19 2017-10-17 Tencent Technology (Shenzhen) Company Limited Methods and systems for creating auto-reply messages
US10572684B2 (en) 2013-11-01 2020-02-25 Anonos Inc. Systems and methods for enforcing centralized privacy controls in de-centralized systems
WO2015066523A2 (en) * 2013-11-01 2015-05-07 Anonos Inc. Dynamic de-identification and anonymity
US9129133B2 (en) 2013-11-01 2015-09-08 Anonos, Inc. Dynamic de-identification and anonymity
US9361481B2 (en) 2013-11-01 2016-06-07 Anonos Inc. Systems and methods for contextualized data protection
US10043035B2 (en) 2013-11-01 2018-08-07 Anonos Inc. Systems and methods for enhancing data protection by anonosizing structured and unstructured data and incorporating machine learning and artificial intelligence in classical and quantum computing environments
US11030341B2 (en) 2013-11-01 2021-06-08 Anonos Inc. Systems and methods for enforcing privacy-respectful, trusted communications
US9619669B2 (en) 2013-11-01 2017-04-11 Anonos Inc. Systems and methods for anonosizing data
US12093426B2 (en) 2013-11-01 2024-09-17 Anonos Ip Llc Systems and methods for functionally separating heterogeneous data for analytics, artificial intelligence, and machine learning in global data ecosystems
US9940678B2 (en) 2014-03-04 2018-04-10 Aon Global Operations Limited (Singapore Branch) Automated systems and methods for managing the placement process for securing insurance coverage
GB2532227B (en) * 2014-11-12 2021-10-27 Arm Ip Ltd Methods of communication between a remote resource and a data processing device
US20160191957A1 (en) * 2014-12-31 2016-06-30 Opentv, Inc. Lull management for content delivery
EP3662620B1 (en) * 2017-08-03 2023-06-07 AON Global Operations PLC, Singapore Branch Data sharing between participants using disparate message formats
US10592340B2 (en) * 2018-02-28 2020-03-17 International Business Machines Corporation Dynamic authorization batching in a dispersed storage network
CN110389912A (zh) * 2019-07-22 2019-10-29 北京天融信网络安全技术有限公司 一种信息处理方法及信息处理装置
WO2021042121A1 (en) * 2019-08-29 2021-03-04 Schlumberger Technology Corporation System and method for managing external processing in a web-based computing system
CN110719330A (zh) * 2019-10-11 2020-01-21 拉扎斯网络科技(上海)有限公司 一种调控方法、装置及相关设备
CN111010447A (zh) * 2019-12-23 2020-04-14 北京奇艺世纪科技有限公司 一种数据通信方法及装置
CN111008087B (zh) * 2019-12-25 2024-03-15 上海众源网络有限公司 一种消息处理方法及装置
CN111314320B (zh) * 2020-01-20 2022-05-10 北京无限光场科技有限公司 基于http的通信方法、终端、服务器和系统
US11632352B2 (en) * 2020-01-29 2023-04-18 Microsoft Technology Licensing, Llc Fulfillment of requests stored on a message queue
CN112104442B (zh) * 2020-08-31 2023-12-05 宁波三星医疗电气股份有限公司 一种电力采集终端的报文回复方法
CN112235205B (zh) * 2020-09-21 2022-07-01 珠海市卓轩科技有限公司 一种发送和消费mq消息的方法、装置及存储介质
CN113495797B (zh) * 2021-06-22 2023-03-07 上海百秋新网商数字科技有限公司 一种消息队列及消费者动态创建方法及系统
CN113630809B (zh) * 2021-08-12 2024-07-05 迈普通信技术股份有限公司 一种业务转发方法、装置及计算机可读存储介质

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69323499T2 (de) * 1993-10-08 1999-09-23 International Business Machines Corp., Armonk Nachrichtenübertragung über ein netzwerk
US6611864B2 (en) * 1999-09-10 2003-08-26 Intel Corporation Extensible policy-based network management architecture
GB0023570D0 (en) * 2000-09-26 2000-11-08 Volantis Systems Ltd Web server
DE60227247D1 (de) * 2001-02-22 2008-08-07 Bea Systems Inc System und verfahren zum verschlüsseln von nachrichten und zum registrieren in einem transaktionsverarbeitungssystem
US20030067874A1 (en) * 2001-10-10 2003-04-10 See Michael B. Central policy based traffic management
JP3895146B2 (ja) * 2001-10-22 2007-03-22 富士通株式会社 サービス制御ネットワーク、サーバ装置、ネットワーク装置、サービス情報配布方法、及びサービス情報配布プログラム
JP4420324B2 (ja) * 2001-11-01 2010-02-24 ベリサイン・インコーポレイテッド 高速非並行制御されたデータベース
US7631084B2 (en) * 2001-11-02 2009-12-08 Juniper Networks, Inc. Method and system for providing secure access to private networks with client redirection
US7222148B2 (en) 2002-05-02 2007-05-22 Bea Systems, Inc. System and method for providing highly available processing of asynchronous service requests
US7986625B2 (en) 2002-12-10 2011-07-26 International Business Machines Corporation Resource-aware system, method and program product for managing request traffic based on a management policy
US10275723B2 (en) * 2005-09-14 2019-04-30 Oracle International Corporation Policy enforcement via attestations
US7237260B2 (en) 2003-07-08 2007-06-26 Matsushita Electric Industrial Co., Ltd. Method for dynamic selection for secure and firewall friendly communication protocols between multiple distributed modules
US7349966B2 (en) * 2003-09-30 2008-03-25 International Business Machines Corporation Method, system, and storage medium for providing context-based dynamic policy assignment in a distributed processing environment
US7188219B2 (en) 2004-01-30 2007-03-06 Micron Technology, Inc. Buffer control system and method for a memory system having outstanding read and write request buffers
MX2007001740A (es) * 2004-08-14 2007-04-20 Kirusa Inc Metodos para identificar mensajes y comunicarse con usuarios de un servicio de mensaje multimodal.
US20100115581A1 (en) * 2008-11-06 2010-05-06 Trust Digital System method and device for mediating connections between policy source servers, corporate respositories, and mobile devices
US20080155437A1 (en) * 2006-12-21 2008-06-26 Morris Robert P Methods, systems, and computer program products for controlling presentation of dynamic content in a presentation element
US7797487B2 (en) * 2007-06-26 2010-09-14 Seagate Technology Llc Command queue loading
US9329800B2 (en) * 2007-06-29 2016-05-03 Seagate Technology Llc Preferred zone scheduling
US20090041013A1 (en) * 2007-08-07 2009-02-12 Mitchell Nathan A Dynamically Assigning A Policy For A Communication Session
US8073962B2 (en) 2008-03-03 2011-12-06 Oracle International Corporation Queued transaction processing
JP2009223790A (ja) * 2008-03-18 2009-10-01 Internatl Business Mach Corp <Ibm> トランザクションを処理するための方法、プログラム、およびシステム
US20090241118A1 (en) 2008-03-20 2009-09-24 American Express Travel Related Services Company, Inc. System and method for processing interface requests in batch
US8065395B2 (en) * 2009-03-13 2011-11-22 Novell, Inc. System and method for queuing to a cloud via a queuing proxy
US20100180349A1 (en) * 2009-01-12 2010-07-15 Mahshad Koohgoli System and method of policy driven content development
JP5195552B2 (ja) * 2009-03-18 2013-05-08 富士電機株式会社 中継サーバを有するネットワークシステム、その中継サーバ、プログラム
US8081569B2 (en) * 2009-04-20 2011-12-20 Telefonaktiebolaget L M Ericsson (Publ) Dynamic adjustment of connection setup request parameters
US8868889B2 (en) * 2010-03-12 2014-10-21 Lsi Corporation Instruction breakpoints in a multi-core, multi-thread network communications processor architecture
US9361165B2 (en) * 2009-12-03 2016-06-07 International Business Machines Corporation Automated merger of logically associated messages in a message queue
US8549579B2 (en) * 2011-07-06 2013-10-01 International Business Machines Corporation Dynamic data-protection policies within a request-reply message queuing environment

Also Published As

Publication number Publication date
CN103636166B (zh) 2016-09-07
DE112012002541B4 (de) 2020-01-30
DE112012002541T5 (de) 2014-03-27
CN103636166A (zh) 2014-03-12
US8631461B2 (en) 2014-01-14
US20130013920A1 (en) 2013-01-10
US8549579B2 (en) 2013-10-01
JP2014521236A (ja) 2014-08-25
WO2013005121A1 (en) 2013-01-10
US20130013924A1 (en) 2013-01-10

Similar Documents

Publication Publication Date Title
JP5916852B2 (ja) 依頼−回答メッセージ待ち行列作成環境に関連付けられた動的データ保護ポリシー
US10277591B2 (en) Protection and verification of user authentication credentials against server compromise
US9735962B1 (en) Three layer key wrapping for securing encryption keys in a data storage system
US10467425B1 (en) System, method and apparatus for securely storing data on public networks
CN109150499B (zh) 动态加密数据的方法、装置、计算机设备和存储介质
JP5679018B2 (ja) データベース暗号化システムと方法及びプログラム
KR20230157929A (ko) 원격 액세스 제한 지갑으로부터 암호화폐 이체
US9344410B1 (en) Telecommunication method for securely exchanging data
CN107750363A (zh) 保护与硬件加速器的通信以增加工作流安全性
CN109981287B (zh) 一种代码签名方法及其存储介质
KR20230078706A (ko) 포스트 양자 암호화를 사용하는 인증서 기반 보안
CN104995633A (zh) 利用下游解密器进行端到端加密情况下实现存储效率
CN104967591A (zh) 云存储数据读写方法、设备及读写控制方法、设备
CN111934872A (zh) 密钥处理方法、装置、电子设备以及存储介质
CN112182635A (zh) 一种联合建模的实现方法、装置、设备和介质
CN111010283B (zh) 用于生成信息的方法和装置
CN110414269B (zh) 应用安装包的处理方法、相关装置、存储介质及系统
WO2020177109A1 (zh) 抽签处理方法、可信芯片、节点、存储介质和电子设备
US20230179404A1 (en) Hybrid cloud-based security service method and apparatus for security of confidential data
JP6737086B2 (ja) アドレス管理装置、データ管理システム及びプログラム
CN111130788B (zh) 数据处理方法和系统、数据读取方法和iSCSI服务器
US10313315B2 (en) Ensuring information security in data transfers by utilizing proximity keys
EP3016343B1 (en) Telecommunication method for securely exchanging data
CN108985079A (zh) 数据验证方法和验证系统
KR101474744B1 (ko) 신뢰 보안 플랫폼 모듈(mtm)을 이용한 usim 데이터 관리 장치 및 그 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141224

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150814

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150908

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151026

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160315

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160405

R150 Certificate of patent or registration of utility model

Ref document number: 5916852

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150