JP2015059984A - Information concealing method in cloud computing - Google Patents

Information concealing method in cloud computing Download PDF

Info

Publication number
JP2015059984A
JP2015059984A JP2013191966A JP2013191966A JP2015059984A JP 2015059984 A JP2015059984 A JP 2015059984A JP 2013191966 A JP2013191966 A JP 2013191966A JP 2013191966 A JP2013191966 A JP 2013191966A JP 2015059984 A JP2015059984 A JP 2015059984A
Authority
JP
Japan
Prior art keywords
processing
cloud
request
unit
business program
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.)
Pending
Application number
JP2013191966A
Other languages
Japanese (ja)
Inventor
直行 武
Naoyuki Take
直行 武
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.)
Hitachi Systems Ltd
Original Assignee
Hitachi Systems Ltd
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 Hitachi Systems Ltd filed Critical Hitachi Systems Ltd
Priority to JP2013191966A priority Critical patent/JP2015059984A/en
Publication of JP2015059984A publication Critical patent/JP2015059984A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide an information concealing method in cloud computing.SOLUTION: A cloud portal system is configured such that when a task program makes a processing request to a database disposed in a cloud, a value included in the database processing request transmitted from the task program is encrypted by a secure gateway part of the cloud portal system interposed between the task program and the cloud, and that when the encrypted and accumulated data in the cloud are returned as a processing result, the data are decrypted and returned to the task program. Thus, it is possible to guarantee security without repairing the existing task program, and to safely use the cloud.

Description

本発明は、クラウドコンピューティングでの情報秘匿方法に関する。   The present invention relates to an information concealment method in cloud computing.

従来、クラウドコンピューティングによるサービスであって、不特定多数のユーザによって利用されるパブリッククラウドサービスが多くの企業によって提供されている。パブリッククラウドサービスを利用するにあたり、ユーザはストレージ装置の保守作業等を意識せずとも良く、種々のデータをアップロードしておき、必要なときに必要なファイルをダウンロードして使用することができる。またこのようなデータを利用、加工するトランザクション処理等もパブリッククラウドサービスを利用して行うことで、データベース管理ソフトウェア等の保守作業等からも解放される。このようなパブリッククラウドサービスは、個人利用に留まらず、企業等が顧客データや営業データ等を管理するために利用するケースも多くなってきている。このようなパブリッククラウドサービスにおいて、その利便性の更なる向上を図る技術が種々開示されている。   2. Description of the Related Art Conventionally, a public cloud service that is a cloud computing service and is used by an unspecified number of users has been provided by many companies. When using the public cloud service, the user does not need to be aware of maintenance work of the storage device, but can upload various data and download and use necessary files when necessary. Also, transaction processing that uses and processes such data is performed using public cloud services, thereby freeing from maintenance work such as database management software. Such public cloud services are used not only for personal use but also for companies and the like to manage customer data, sales data, and the like. Various technologies for further improving the convenience of such public cloud services have been disclosed.

例えば特許文献1では、上記のようなクラウドを複数に跨って一連のクラウドコンピューティングを行う際の仲介装置となるSDP(サービス デリバリー プラットフォーム)が開示されている。また、特許文献2では複数のクラウドの状態を判別し、異常の生じたクラウドを回避してデータの更新を行い、また異常から回復した場合、正常に更新されたクラウドの情報を復帰したクラウドへ時系列順に反映することを可能とするサービス中継装置が開示されている。   For example, Patent Document 1 discloses an SDP (Service Delivery Platform) that serves as an intermediary device when performing a series of cloud computing across a plurality of clouds as described above. Also, in Patent Document 2, the status of multiple clouds is determined, data is updated by avoiding the cloud in which an abnormality has occurred, and when recovered from the abnormality, the information on the normally updated cloud is restored to the cloud A service relay device that can be reflected in chronological order is disclosed.

特開2011−182031号公報JP 2011-182031 A 特開2012−203473号公報JP 2012-203473 A

しかしながら、上記特許文献1及び特許文献2の構成では、クラウドサービス提供者が第三者である場合、クラウドによって管理するデータは平文のままであり、秘匿すべき情報をクラウドに預けるにはセキュリティ上大きな問題となり、クラウドを利用する企業などは、このリスクをクラウドの利便性と天秤にかけて利用する必要がある。   However, in the configurations of Patent Document 1 and Patent Document 2 described above, when the cloud service provider is a third party, the data managed by the cloud remains in plain text, and in order to deposit information that should be kept confidential in the cloud It becomes a big problem, and companies that use the cloud need to use this risk with the convenience and balance of the cloud.

そこで本発明では、クラウドコンピューティングでのデータの情報秘匿を可能とし、既存の業務プログラムを改修せずとも、セキュリティ性を向上させて情報漏洩やデータ改竄を防止することを可能とするクラウドコンピューティングでの情報秘匿方法を提供することを目的とする。   Therefore, in the present invention, cloud computing enables data concealment in cloud computing, and can improve information security and prevent information leakage and data tampering without modifying existing business programs. The purpose is to provide an information concealment method in the Internet.

本発明のクラウドコンピューティングでの情報秘匿方法は、データベースを備えるクラウドと、クラウド宛のデータベース処理要求を行う業務プログラムと、前記クラウドと前記業務プログラムの間に介在し、両者と通信可能に接続するクラウドポータルシステムと、からなるクラウドコンピューティングシステムであって、前記クラウドポータルシステムは、前記業務プログラムからの前記クラウド宛の要求に含まれる情報を暗号化する暗号化部と、前記クラウドからの前記業務プログラムに返却する処理結果を復号化する復号化部と、暗号化鍵及び復号化鍵を管理すると共に、前記クラウド宛の処理要求及び前記クラウドからの処理結果について、何れの処理を何れの暗号化鍵又は復号化鍵を用いて暗号化又は復号化を試行するのかを設定する暗号化ポリシー保持部と、を備え、前記業務プログラムから前記クラウドのデータベース処理要求がなされた際、当該データベース処理要求に使用する暗号化鍵を前記暗号化ポリシー保持部に基づいて選択して暗号化した上で前記クラウドへ暗号化済みのデータベース処理要求を送出し、前記クラウドから前記業務プログラムへ処理結果が返却された際、当該処理結果に用いる復号化鍵を前記暗号化ポリシー保持部に基づいて選択して復号化した上で前記業務プログラムへ復号化済みの処理結果を返却するよう構成したことを特徴とする。   An information concealment method in cloud computing according to the present invention includes a cloud provided with a database, a business program that makes a database processing request addressed to the cloud, and the cloud and the business program. A cloud computing system comprising: a cloud portal system, wherein the cloud portal system encrypts information included in a request addressed to the cloud from the business program; and the business from the cloud The decryption unit that decrypts the processing result to be returned to the program, and manages the encryption key and the decryption key. Sets whether to attempt encryption or decryption using a key or decryption key An encryption policy holding unit that selects and encrypts an encryption key to be used for the database processing request based on the encryption policy holding unit when the cloud database processing request is made from the business program. The encrypted database processing request is sent to the cloud, and when the processing result is returned from the cloud to the business program, the decryption key used for the processing result is based on the encryption policy holding unit. The decryption process result is returned to the business program after being selected and decrypted.

本発明によれば、業務プログラムとクラウドの間にクラウドポータルシステムを介し、業務プログラムから送出されたデータベース処理要求を暗号化することができ、また暗号化されて蓄積されるクラウド上のデータが処理結果として返却された場合これを復号化して業務プログラムに返却することができるため、業務プログラム側でセキュリティ性を担保せずともクラウドに蓄積する情報を秘匿することができる。   According to the present invention, it is possible to encrypt a database processing request sent from a business program via a cloud portal system between the business program and the cloud, and process data stored in the cloud after being encrypted. When returned as a result, it can be decrypted and returned to the business program, so that the information stored in the cloud can be concealed without securing security on the business program side.

本発明の実施例における、クラウドポータルシステムの構成を示すブロック図である。It is a block diagram which shows the structure of the cloud portal system in the Example of this invention. 同上、キューゲートウェイ部の構成を示すブロック図である。It is a block diagram which shows the structure of a queue gateway part same as the above. 同上、トランザクションゲートウェイ部の構成を示すブロック図である。It is a block diagram which shows a structure of a transaction gateway part same as the above. 同上、セキュアゲートウェイ部の構成を示すブロック図である。It is a block diagram which shows a structure of a secure gateway part same as the above. 同上、データベース更新処理要求部の動作を示すフローチャートである。It is a flowchart which shows operation | movement of a database update process request part same as the above. 同上、コミット処理部の動作を示すフローチャートである。It is a flowchart which shows operation | movement of a commit process part same as the above. 同上、リアルタイム処理部の動作を示すフローチャートである。It is a flowchart which shows operation | movement of a real-time processing part same as the above. 同上、遅延処理部の動作を示すフローチャートである。It is a flowchart which shows operation | movement of a delay processing part same as the above. 同上、遅延処理部の動作を示すフローチャートである。It is a flowchart which shows operation | movement of a delay processing part same as the above. 同上、遅延処理部の動作を示すフローチャートである。It is a flowchart which shows operation | movement of a delay processing part same as the above. 同上、遅延処理部の動作を示すフローチャートである。It is a flowchart which shows operation | movement of a delay processing part same as the above. 同上、遅延処理ポリシーの一例を示す説明図である。It is explanatory drawing which shows an example of a delay processing policy same as the above. 同上、遅延処理スクリプトの一例を示す説明図である。It is explanatory drawing which shows an example of a delay processing script same as the above. 同上、従来のセキュアデータセンターとセキュアゲートウェイ部を具備したセキュアデータセンターとを比較する説明図である。It is explanatory drawing which compares the conventional secure data center and the secure data center which comprised the secure gateway part same as the above. 同上、処理待ちキューの構成を示す説明図である。It is explanatory drawing which shows the structure of a process waiting queue same as the above. 同上、遅延処理スクリプト内の遅延処理対象の処理要求へのポインタに作成される処理単位リストと、処理待ちキューの関係性を示す説明図である。FIG. 4 is an explanatory diagram showing a relationship between a processing unit list created as a pointer to a processing request to be processed in a delay processing script and a processing queue. 同上、業務プログラムAの処理内容を疑似的なプログラムコードにて示す説明図である。It is explanatory drawing which shows the processing content of the business program A by a pseudo program code.

本発明を実施するための形態を以下に説明する。もちろん、本発明は、その発明の趣旨に反しない範囲で、本実施形態において説明した以外の構成のものに対しても容易に適用可能なことは説明を要するまでもない。   The form for implementing this invention is demonstrated below. Of course, it is needless to say that the present invention can be easily applied to configurations other than those described in the present embodiment without departing from the spirit of the invention.

本実施例について、図1乃至6に基づいて説明する。尚、本実施例において、説明の簡略化のため、利用するパブリッククラウドサービスの数を2として説明する。   The present embodiment will be described with reference to FIGS. In this embodiment, the number of public cloud services to be used is assumed to be 2 for the sake of simplicity.

事業者300は、セキュアデータセンター100を介してパブリッククラウドサービス(以降単にパブリッククラウドと称呼する)P1、P2が備えるデータベースPD1及びPD2を利用する。セキュアデータセンター100はクラウドポータルシステム200と、事業者300向けの業務プログラムa1、業務プログラムa2を備えており、事業者300は当該業務プログラムa1及びa2にアクセスし、クラウドポータルシステム200を介してパブリッククラウドP1、P2を利用する。   The operator 300 uses the databases PD1 and PD2 included in the public cloud services (hereinafter simply referred to as public clouds) P1 and P2 via the secure data center 100. The secure data center 100 includes a cloud portal system 200 and business programs a1 and a2 for business operators 300. The business operators 300 access the business programs a1 and a2 and make public via the cloud portal system 200. Clouds P1 and P2 are used.

クラウドポータルシステム200は、業務プログラムからのパブリッククラウド宛の処理要求の受け付け及びパブリッククラウドからの処理結果の返却を行う要求受付/結果返却部210、業務プログラムからパブリッククラウド宛の処理要求の待ち行列管理の機能を有するキューゲートウェイ部220、複数パブリッククラウドのデータベース更新を含む一連の複数の処理要求を、1つの処理要求の単位(グローバルトランザクション)として実行する機能を有するトランザクションゲートウェイ部230、当該暗号化された情報をパブリッククラウドから得た際にこれを復号化する機能を担うセキュアゲートウェイ部240、業務プログラムからパブリッククラウド宛の処理要求をパブリッククラウドに送出し、また、パブリッククラウドから処理要求の結果を受領する機能を有する要求送出/結果受領部250、以上大きく分類して5つの構成から成る。   The cloud portal system 200 includes a request reception / result return unit 210 that receives a processing request addressed to a public cloud from a business program and returns a processing result from the public cloud, and queue management of a processing request addressed to the public cloud from the business program Queue gateway unit 220 having the function of the above, transaction gateway unit 230 having a function of executing a series of a plurality of processing requests including database updates of a plurality of public clouds as a unit (global transaction) of the processing request, the encrypted The secure gateway unit 240, which is responsible for decrypting the received information from the public cloud, sends a processing request addressed to the public cloud from the business program to the public cloud. Request sending / result receiving unit 250 having a function of receiving the result of the processing request from a five configurations by increasing the classification above.

キューゲートウェイ部220について詳述する。キューゲートウェイ部220は、業務プログラムからのパブリッククラウド宛の処理要求の待ち行列管理を担うものであり、これによってパブリッククラウドで処理要求のリアルタイムな処理が不可能な場合の遅延処理、一括バッチ処理及び後述のグローバルトランザクション処理を実現可能とするものである。図2に示すように、キューゲートウェイ部220は、リアルタイム処理部221、処理待ちキュー保持部222、遅延処理部223、遅延処理ポリシー保持部224から構成される。   The queue gateway unit 220 will be described in detail. The queue gateway unit 220 is responsible for queue management of processing requests addressed to a public cloud from a business program, thereby allowing delay processing, batch processing, and batch processing when real-time processing of processing requests is impossible in the public cloud. This makes it possible to realize global transaction processing described later. As shown in FIG. 2, the queue gateway unit 220 includes a real-time processing unit 221, a processing queue holding unit 222, a delay processing unit 223, and a delay processing policy holding unit 224.

リアルタイム処理部221は、業務プログラムからパブリッククラウド宛ての処理要求を実行するものである。この処理要求を実行する際、何らかの要因によってその処理の実行を完遂できない場合、当該要求をパブリッククラウド毎に用意された処理待ちキューに要素として編入し、後述の遅延処理ポリシーに従って遅延処理スクリプトを作成し、更にこの遅延処理スクリプトに従って後述の遅延処理部を起動させる設定を行う。   The real-time processing unit 221 executes a processing request addressed to a public cloud from a business program. When executing this processing request, if the execution of the processing cannot be completed for some reason, the request is incorporated as an element in the processing queue prepared for each public cloud, and a delay processing script is created according to the delay processing policy described later Further, a setting for starting a later-described delay processing unit is performed according to the delay processing script.

処理待ちキュー保持部222は、パブリッククラウド毎に具備する処理待ちキュー(222a、222b、・・・)を蓄積するためのものである。処理待ちキューとは、業務プログラムから各々のパブリッククラウドに宛てた処理要求を格納する待ち行列である。   The processing queue holding unit 222 is for accumulating processing queues (222a, 222b,...) Provided for each public cloud. The processing queue is a queue that stores processing requests addressed to each public cloud from the business program.

処理待ちキュー保持部222に保持される処理待ちキュー222a、222bの構造は、図15に示すような構造からなる。各業務プログラム又はキューゲートウェイ部220のリアルタイム処理部221によって、パブリッククラウドP1またはP2宛てのデータベース更新処理要求を受け付け順に並べて管理する機能と、遅延処理ポリシー若しくは遅延処理スクリプトのリトライ間隔に応じた経過時間の到達の際にこれをパブリッククラウド宛に送出する機能と、及び遅延処理部223からのキュー要素の削除指示を受けて処理待ちキューから該当するキュー要素を削除する機能を有する。
個々のキュー要素には、データベース更新処理要求の具体的な内容(例えばSQL文やデータファイル等)がキュー要素として格納される。
The structure of the processing queues 222a and 222b held in the processing queue holding unit 222 is as shown in FIG. A function for arranging the database update processing requests addressed to the public cloud P1 or P2 in order of acceptance by the real-time processing unit 221 of each business program or the queue gateway unit 220, and the elapsed time according to the retry interval of the delay processing policy or the delay processing script And a function to send the message to the public cloud when it arrives, and a function to delete the corresponding queue element from the processing queue in response to a queue element deletion instruction from the delay processing unit 223.
In each queue element, specific contents of the database update processing request (for example, an SQL statement or a data file) are stored as queue elements.

遅延処理部223はクラウドポータルシステム200内部からの呼び出しや、予めセットされたタイマー満了をトリガーとして起動され、前述の遅延処理スクリプトに従い、障害に起因する要求再送出等、処理待ちキューに編入された要素(即ち処理要求)に対する遅延処理や、編入された要素の処理待ちキューからの削除処理を担う。また、日次バッチ等の一括処理指定がされた要素のバッチ処理や、後述のグローバルトランザクション処理の際にも当該機能を用いる。   The delay processing unit 223 is activated by a call from the inside of the cloud portal system 200 or a preset timer expiration as a trigger, and is incorporated into a processing waiting queue such as request re-sending due to a failure according to the delay processing script described above. Responsible for delay processing for elements (that is, processing requests) and deletion processing of incorporated elements from the processing queue. This function is also used for batch processing of elements for which batch processing is specified such as daily batch, and for global transaction processing described later.

遅延処理ポリシー保持部224には、業務プログラム毎の遅延処理ポリシーが格納される。遅延処理ポリシーとは、業務プログラム毎に予め定義され、何らかの要因によって、処理要求の宛先であるパブリッククラウドが利用不可能な場合やデータベース更新処理が失敗した場合の対処法が記述されており、図12に示すようなデータ構造からなる。「一括処理オプション」とは、パブリッククラウド宛の複数の要求の一括処理の是非、並びに処理に失敗した際の遅延処理又はロールバックとエラーの返却等の設定値である。「リトライ回数」とは、処理失敗の際の再試行回数の設定値である。0が指定された場合は再試行を行わずに直ちにエラーを返却する。「リトライ間隔」は再試行を行う間隔、即ち再試行するまでの待機時間の設定値であり、単位を秒とする。「要求先変更タイミング」とは、所定の回数再試行が行われても処理に失敗する場合に処理先のパブリッククラウドを変更する際の試行回数の閾値である。要求先変更タイミングに1が設定された場合、処理の失敗時に直ちに要求先を変更する。「変更後要求先」には処理の再試行回数が要求先変更タイミングに設定された閾値に到達した場合の他のパブリッククラウドを一意に特定するための識別子が設定される。   The delay processing policy holding unit 224 stores a delay processing policy for each business program. The delay processing policy is defined in advance for each business program, and describes what to do when the public cloud that is the destination of the processing request is unavailable or the database update processing fails due to some reason. 12 has a data structure as shown in FIG. The “batch processing option” is a set value such as the right or wrong of batch processing of a plurality of requests addressed to the public cloud, and delay processing or rollback and error return when processing fails. The “retry count” is a set value of the retry count when the process fails. If 0 is specified, an error is returned immediately without retrying. The “retry interval” is a setting value of an interval for retrying, that is, a waiting time until retrying, and the unit is seconds. The “request destination change timing” is a threshold value of the number of trials when changing the processing destination public cloud when the processing fails even if a predetermined number of retries are performed. When 1 is set as the request destination change timing, the request destination is immediately changed when the processing fails. In “request destination after change”, an identifier for uniquely specifying another public cloud when the number of processing retries reaches the threshold set in the request destination change timing is set.

トランザクションゲートウェイ部230について詳述する。図3に示すようにトランザクションゲートウェイ部230は、業務プログラムからのグローバルトランザクションとしての処理要求があった場合、複数のパブリッククラウド宛のデータベース更新要求を、1つの処理単位(グローバルトランザクション)として実行するためのものであり、トランザクションゲートウェイ部230は、グローバルトランザクション毎に、グローバルトランザクション未成立時の扱いとしてロールバック又は遅延コミットの何れかを指定することができる。トランザクションゲートウェイ部230は、データベース更新要求処理部231とコミット処理部232とで構成される。   The transaction gateway unit 230 will be described in detail. As shown in FIG. 3, when there is a processing request as a global transaction from the business program, the transaction gateway unit 230 executes a database update request addressed to a plurality of public clouds as one processing unit (global transaction). The transaction gateway unit 230 can designate either rollback or delayed commit as a handling when a global transaction is not established for each global transaction. The transaction gateway unit 230 includes a database update request processing unit 231 and a commit processing unit 232.

データベース更新要求処理部231は、業務プログラムからのデータベース更新要求を前述のキューゲートウェイ部220が具備するリアルタイム処理部221に伝達するものである。また、コミット処理部232は、データベース更新要求処理部231を介してパブリッククラウドに送出された処理要求の確定処理を行うためのものである。   The database update request processing unit 231 transmits a database update request from the business program to the real-time processing unit 221 included in the queue gateway unit 220 described above. In addition, the commit processing unit 232 performs processing for determining a processing request sent to the public cloud via the database update request processing unit 231.

セキュアゲートウェイ部240について詳述する。図4に示すように、セキュアゲートウェイ部240は、秘匿したい情報の暗号化を行う暗号化部241と、パブリッククラウドから送出される暗号化された情報の復号化を行う復号化部242、更に、予め業務プログラム毎に設定される暗号化ポリシーと、同じく予め登録される暗号化鍵及び復号化鍵が記録される暗号化/復号化情報保持部243a、243bとで構成される。尚、暗号化ポリシーとは、どの業務プログラムからの何れの情報を如何様に暗合化するか、もしくは暗号化そのものを行わないかを記述したものである。   The secure gateway unit 240 will be described in detail. As shown in FIG. 4, the secure gateway unit 240 includes an encryption unit 241 that encrypts information to be concealed, a decryption unit 242 that decrypts encrypted information transmitted from the public cloud, and It comprises an encryption policy set in advance for each business program, and encryption / decryption information holding units 243a and 243b in which encryption keys and decryption keys registered in advance are recorded. The encryption policy describes what information from which business program is encrypted and how encryption is not performed.

続いて、キューゲートウェイ部220が具備するリアルタイム処理部221の動作について、図7に基づいて説明する。業務プログラムからのデータベース更新要求を受けてデータベース更新要求処理部231は当該データベース更新要求をパラメータとしてリアルタイム処理部221を起動する。その際、リアルタイム処理部221は、遅延処理ポリシーを取得する(S701)。この遅延処理ポリシーは、予め読み込んでおいても良いし、データベース更新要求処理部231がパラメータとして渡すよう構成しても良い。取得した遅延処理ポリシーに「一括処理」の指定があるかを判別する(S702)。一括処理指定が無い場合は直ちにデータベースの更新を要求されたものとし、要求送出/結果受領部250に対し、データベース更新要求の宛先となるパブリッククラウドに宛てて、データベース更新要求を送出する(S703)。パブリッククラウド側にて当該データベース更新要求が正しく受信され、更新処理が成功したか否かを判別し(S704)、更新処理が成功した場合はその結果の受領を持ってデータベース更新要求処理部231に処理成功を通知し、処理を終了する。更新処理に失敗した場合、当該データベース更新要求をキュー要素として更新先のパブリッククラウドに対応する処理待ちキューに編入する(S705)。続いて遅延処理ポリシーに従って、後述の遅延処理スクリプトを作成し(S706)、遅延処理スクリプトに従って遅延処理部223の起動タイマーをセットする(S707)。   Next, the operation of the real-time processing unit 221 included in the queue gateway unit 220 will be described with reference to FIG. Upon receiving the database update request from the business program, the database update request processing unit 231 activates the real-time processing unit 221 using the database update request as a parameter. At that time, the real-time processing unit 221 acquires a delay processing policy (S701). This delay processing policy may be read in advance, or may be configured so that the database update request processing unit 231 passes it as a parameter. It is determined whether “collective processing” is specified in the acquired delay processing policy (S702). If the batch processing is not designated, it is assumed that the database update is requested immediately, and a database update request is sent to the request sending / result receiving unit 250 to the public cloud that is the destination of the database update request (S703). . It is determined whether or not the database update request is correctly received on the public cloud side and the update process is successful (S704). If the update process is successful, the database update request processing unit 231 receives the result and updates it. Notify the success of the process and end the process. If the update process has failed, the database update request is transferred as a queue element to a process queue corresponding to the update destination public cloud (S705). Subsequently, a later-described delay processing script is created according to the delay processing policy (S706), and a start timer for the delay processing unit 223 is set according to the delay processing script (S707).

データベース更新処理要求に一括処理指定がある場合(ステップS702 YES)、一括処理に対応する遅延処理スクリプトが作成済みであるか否かを検索し、作成されていない場合(S708 YES)、遅延処理ポリシーに従って一括処理用の遅延処理スクリプトを作成する(S709)。作成済み、もしくは作成が完了した後、当該データベース更新要求をキュー要素として更新先のパブリッククラウドに対応する処理待ちキューに編入する(S710)。また、処理待ちキューに編入したキュー要素を指し示すポインタを、遅延処理スクリプトの処理単位リストの末尾に追加する(S711)。   If there is a batch processing designation in the database update processing request (step S702 YES), it is searched whether or not a delay processing script corresponding to the batch processing has been created, and if it has not been created (S708 YES), a delay processing policy A delay processing script for batch processing is created according to (S709). After creation or completion of creation, the database update request is transferred to a processing queue corresponding to the update destination public cloud as a queue element (S710). In addition, a pointer indicating the queue element incorporated into the processing queue is added to the end of the processing unit list of the delay processing script (S711).

遅延処理スクリプトについて以下に詳述する。遅延処理スクリプトのデータ構造を図13に示す。遅延処理スクリプトはリアルタイム処理部221によってリアルタイムに更新を行わない若しくは行えない場合の遅延処理のスケジュール管理に必要な情報を格納したスクリプトである。「残りリトライ回数」は遅延ポリシーのリトライ回数を初期値とし、再試行が行われる毎に1ずつ減算されるものである。「リトライ間隔」は遅延処理ポリシーのそれと同義であり、更新処理に失敗し次の再試行が行われるまでの待機時間が格納される。このリトライ間隔に従って遅延処理部223の起動タイマーが設定される。「要求先変更までの残りリトライ回数」は、初期値を遅延処理ポリシーの「要求先変更タイミング」を初期値とし、「残りリトライ回数」と同様に再試行が行われる毎に1ずつ減算される。「変更後要求先」は遅延処理ポリシーの「変更後要求先」と同値とし、識別子に応じたパブリッククラウドが割り当てられ、要求先変更タイミングが0となった場合にデータベース更新処理要求の宛先を変更先のパブリッククラウドへ変更する。「遅延処理対象の処理要求へのポインタ」にはキュー要素として格納されたデータベース更新処理要求が、処理待ちキューの何れに位置するかのポインタが格納されており、これを参照することで遅延処理スクリプトによって遅延処理を行うデータベース更新処理要求を一意に特定することを可能とする。   The delay processing script will be described in detail below. The data structure of the delay processing script is shown in FIG. The delay processing script is a script that stores information necessary for schedule management of delay processing when the real-time processing unit 221 does not update or cannot update in real time. The “remaining retry count” is the initial value of the delay policy retry count, and is decremented by 1 each time a retry is performed. “Retry interval” is synonymous with that of the delay processing policy, and stores a waiting time until the update processing fails and the next retry is performed. The activation timer of the delay processing unit 223 is set according to the retry interval. “Residual retry count until request destination change” is initially set to “request destination change timing” of the delay processing policy as an initial value, and is decremented by 1 each time a retry is performed in the same manner as “remaining retry count”. . “Changed request destination” has the same value as “Deferred request destination” in the delay processing policy, and when the public cloud corresponding to the identifier is assigned and the request destination change timing becomes 0, the destination of the database update processing request is changed Change to the previous public cloud. “Pointer to processing request subject to delay processing” stores a pointer indicating where the database update processing request stored as a queue element is located in the processing waiting queue. By referring to this pointer, delay processing is performed. It is possible to uniquely specify a database update processing request for performing delay processing by a script.

尚、「遅延処理対象の処理要求へのポインタ」には「処理単位リスト」を格納することができる。「処理単位リスト」とは複数のデータベース更新処理要求を1つのトランザクションとして扱うためのリストであり、複数のキュー要素(即ちデータベース更新処理要求)へのポインタを一覧として格納するものである。例えば、日次バッチ処理で更新を行うと指定された複数のデータベース更新処理要求がなされた場合、前述のリアルタイム処理部221の動作を示すフローチャートに従って、「一括処理指定」が成された複数のデータベース更新処理要求は、一括処理するための同一の遅延処理スクリプトが割り当てられ、当該遅延処理スクリプトの「遅延処理対象の処理要求へのポインタ」に格納される「処理単位リスト」には、一括処理指定がされたデータベース更新処理要求を格納するキュー要素へのポインタが順次追加されていくことになる。   Note that a “processing unit list” can be stored in the “pointer to the processing request subject to delay processing”. The “processing unit list” is a list for handling a plurality of database update processing requests as one transaction, and stores pointers to a plurality of queue elements (that is, database update processing requests) as a list. For example, when a plurality of database update processing requests designated to be updated in daily batch processing are made, a plurality of databases for which “batch processing designation” is made according to the flowchart showing the operation of the real-time processing unit 221 described above. The same delay processing script for batch processing is assigned to the update processing request, and the batch processing specification is specified in the “processing unit list” stored in the “pointer to the processing request of the delay processing target” of the delay processing script. The pointers to the queue elements that store the database update processing requests that have been performed are sequentially added.

続いて、遅延処理部223の動作について、図8〜図11に基づいて説明する。遅延処理ポリシーを取得する(S801)。リアルタイム処理部221と同様、遅延処理ポリシーを記憶部等から読み出し、パラメータとして渡される等、適宜手段を用いて読み出しができればその手段は問わない。遅延処理ポリシーの「一括処理」の指定の有無を判別する(S802)。「一括処理」の指定が無い場合(S802 NO)、遅延処理スクリプトを取得する(S803)。遅延処理スクリプトに従い、「遅延処理対象の処理要求へのポインタ」が指し示す処理待ちキュー内のキュー要素に格納されるデータベース更新要求を、更新先のパブリッククラウド宛に送出するよう、要求送出/結果受領部250に指示する(S804)。尚、このとき「要求先変更タイミング」が0の場合は、更新先のパブリッククラウドを「変更後要求先」に格納された識別子に応じて変更する。要求送出/結果受領部250にて更新先のパブリッククラウドから更新の成否を受領して更新処理の成否を判別し、失敗した場合(S805 NO)は、遅延処理スクリプトの「リトライ回数」と「要求先変更タイミング」を減算し(S806)、遅延処理スクリプトの「リトライ間隔」に従って遅延処理部223の起動タイマーをセットして処理を終了する(S807)。パブリッククラウドの更新処理に成功した場合(S805)、「遅延処理対象の処理要求へのポインタ」に格納される処理待ちキューへのポインタを参照し、該当するキュー要素を処理待ちキューから削除し(S808)、当該遅延処理スクリプトを削除して処理を終了する(S809)。   Next, the operation of the delay processing unit 223 will be described with reference to FIGS. A delay processing policy is acquired (S801). As with the real-time processing unit 221, any means can be used as long as the delay processing policy can be read out using appropriate means such as reading out the delay processing policy from a storage unit and passing it as a parameter. It is determined whether or not “collective processing” of the delay processing policy is designated (S802). If “collective processing” is not designated (NO in S802), a delay processing script is acquired (S803). According to the delay processing script, send the request / receive the result so that the database update request stored in the queue element in the queue for processing indicated by the “pointer to the processing request for delay processing” is sent to the update destination public cloud. The unit 250 is instructed (S804). At this time, if the “request destination change timing” is 0, the update destination public cloud is changed according to the identifier stored in “request destination after change”. The request sending / result receiving unit 250 receives the success / failure of the update from the update destination public cloud and determines the success / failure of the update process. If the update process is unsuccessful (NO in S805), the “retry count” and “request” The “first change timing” is subtracted (S806), the activation timer of the delay processing unit 223 is set according to the “retry interval” of the delay processing script, and the process is terminated (S807). When the public cloud update processing is successful (S805), the pointer to the processing queue stored in “Pointer to processing request subject to delay processing” is referred to, and the corresponding queue element is deleted from the processing queue ( S808), the delay processing script is deleted, and the processing is terminated (S809).

ステップS802にて、遅延処理ポリシーにおいて一括処理指定がなされている場合(S802 YES)の処理を図9に基づいて説明する。遅延処理スクリプトを取得し(S901)、「遅延処理対象の処理要求へのポインタ」に格納される処理単位リストを読み出し、その先頭のデータを選択する(S902)。処理単位リストが終端か否かを判別し(S903)、終端でない場合は処理単位リストが処理済みでないとし、選択中のポインタが指し示す処理待ちキューのキュー要素に格納されたデータベース更新処理要求を、遅延処理スクリプトに従ってパブリッククラウド宛に送出するよう、要求送出/結果受領部250に指示する(S904)。パブリッククラウドからの更新処理成功が通知され、要求送出/結果受領部250がこれを受領した場合(S905 YES)、処理単位リストのポインタを次のデータへと更新し(S906)、以降処理単位リストが終端となるまでステップS903〜ステップS906を繰り返す。   The processing when batch processing is designated in the delay processing policy in step S802 (S802: YES) will be described with reference to FIG. A delay processing script is acquired (S901), a processing unit list stored in “pointer to processing request for delay processing” is read, and the head data is selected (S902). It is determined whether or not the processing unit list is at the end (S903). If the processing unit list is not at the end, it is determined that the processing unit list has not been processed, and the database update processing request stored in the queue element of the processing waiting queue indicated by the selected pointer is The request sending / result receiving unit 250 is instructed to send to the public cloud in accordance with the delay processing script (S904). When the update processing success from the public cloud is notified and the request sending / result receiving unit 250 receives this (S905 YES), the pointer of the processing unit list is updated to the next data (S906), and the processing unit list thereafter. Steps S903 to S906 are repeated until is terminated.

続いて、処理単位リストが終端である場合(ステップS903 YES)の動作について、図10に基づいて説明する。処理単位リストの先頭のデータを再度選択する(S1001)。処理単位リストが終端か否かを判別し、終端でない場合(S1002 NO)は処理単位リストが処理済みでないとし、選択中のポインタが指し示す処理待ちキューのキュー要素に格納されたデータベース更新処理要求に対するコミット要求を、当該データベース更新処理要求の宛先となるパブリッククラウドへ送出するよう、要求送出/結果受領部250に指示する(S1003)。コミット指示を送出したデータベース更新要求を格納するキュー要素を処理待ちキューから削除する(S1004)。これを繰り返し処理単位リストが終端となったら(S1002 YES)、遅延処理スクリプトを削除して処理を終了する(S1005)。   Next, the operation when the processing unit list is at the end (YES in step S903) will be described with reference to FIG. The top data in the processing unit list is selected again (S1001). It is determined whether or not the processing unit list is at the end. If the processing unit list is not at the end (NO in S1002), it is determined that the processing unit list has not been processed, and the database update processing request stored in the queue element of the processing waiting queue indicated by the selected pointer The request sending / result receiving unit 250 is instructed to send the commit request to the public cloud that is the destination of the database update processing request (S1003). The queue element that stores the database update request that sent the commit instruction is deleted from the processing queue (S1004). When this is repeated and the processing unit list ends (S1002 YES), the delay processing script is deleted and the processing is terminated (S1005).

続いて、更新処理に失敗した場合(ステップS905 NO)の動作について、図11に基づいて説明する。更新に成功した全てのデータベース更新処理要求に対してロールバック処理を行う(S1101)。遅延処理ポリシーの一括処理オプションが2、即ち「一括処理し、一括処理不可の場合、ポリシーに従ってリトライする」であるかを判別し、2以外の場合(ステップS1102 NO)、処理単位リストを参照し処理単位リストが指し示す全てのキュー要素を処理待ちキューから一括削除し(S1103)、当該遅延処理スクリプトを削除して処理を終了する(S1104)。遅延処理ポリシーの一括処理オプションが2である場合(ステップS1102 YES)は、遅延処理スクリプトの「リトライ回数」と「要求先変更タイミング」を減算し(S1105)、遅延処理スクリプトの「リトライ間隔」に従って遅延処理部223の起動タイマーをセットして処理を終了する(S1106)。   Subsequently, an operation when the update process has failed (NO in step S905) will be described with reference to FIG. Rollback processing is performed for all database update processing requests that have been successfully updated (S1101). If the batch processing option of the delay processing policy is 2, that is, “if batch processing and batch processing is impossible, retry according to the policy” is determined. If it is not 2 (NO in step S1102), the processing unit list is referred to. All the queue elements pointed to by the processing unit list are collectively deleted from the processing queue (S1103), the delay processing script is deleted, and the processing is terminated (S1104). If the batch processing option of the delay processing policy is 2 (YES in step S1102), the “retry count” and “request destination change timing” of the delay processing script are subtracted (S1105), and according to the “retry interval” of the delay processing script. The activation timer of the delay processing unit 223 is set and the process is terminated (S1106).

続いて業務プログラムからパブリッククラウドの更新を行う際のクラウドポータルシステムの動作について説明する。図17は、複数の更新要求を行う業務プログラムAの具体的な処理内容を、疑似的なプログラムコードとして表記したものを示している。業務プログラムAは、第1に複数の更新を1つのまとまった処理とするために、当該処理をグローバルトランザクションとして宣言する。以降、パブリッククラウドP1のデータベースPD1の更新要求及びパブリッククラウドP2のデータベースPD2の更新要求を2回ずつ行い、これら4つの更新要求に対してコミット処理を行ってプログラムを終了する、という内容となっている。   Next, the operation of the cloud portal system when updating the public cloud from a business program will be described. FIG. 17 shows the specific processing contents of the business program A that makes a plurality of update requests expressed as pseudo program codes. The business program A first declares the processing as a global transaction in order to make a plurality of updates into a single processing. Thereafter, the update request of the database PD1 of the public cloud P1 and the update request of the database PD2 of the public cloud P2 are performed twice, the commit process is performed on these four update requests, and the program is terminated. Yes.

まず、グローバルトランザクションの開始が宣言される。このとき、業務プログラムAからの処理要求を要求受付/結果返却部210が受け付け、これに基づきトランザクションゲートウェイ部230のデータベース更新要求処理部231が当該グローバルトランザクション用の遅延処理スクリプトを生成する。   First, the start of a global transaction is declared. At this time, the request reception / result return unit 210 receives a processing request from the business program A, and based on this, the database update request processing unit 231 of the transaction gateway unit 230 generates a delay processing script for the global transaction.

続いて、業務プログラムAから各パブリッククラウドのデータベースPD1、PD2の更新要求がなされる。4つのデータベース更新要求の各々はトランザクションゲートウェイ部230のデータベース更新要求処理部231を介して、キューゲートウェイ部220のリアルタイム処理部221によって、図7のフローチャートの一括処理指定有のルートに基づいて、データベース更新要求の宛先となるパブリッククラウドに対応する処理待ちキュー保持部222a又は222bにキュー要素として編入される。更にリアルタイム処理部221は、当該グローバルトランザクション用の遅延処理スクリプトを更新する。出来上がった遅延処理スクリプトの「遅延処理対象の処理要求へのポインタ」には図16に概念的に示されるキュー要素へのポインタリストたる「処理単位リスト」が作成され格納される。   Subsequently, the business program A makes an update request for each of the public cloud databases PD1 and PD2. Each of the four database update requests is processed by the real-time processing unit 221 of the queue gateway unit 220 via the database update request processing unit 231 of the transaction gateway unit 230 based on the route with batch processing designation in the flowchart of FIG. The queue is stored as a queue element in the processing queue holding unit 222a or 222b corresponding to the public cloud that is the destination of the update request. Further, the real-time processing unit 221 updates the delay processing script for the global transaction. A “processing unit list”, which is a pointer list to queue elements conceptually shown in FIG. 16, is created and stored in “pointer to processing request for delay processing” of the completed delay processing script.

続いて、コミット処理がなされる。以降、上記4つの更新要求が全て成功しデータベースの更新を正しく終えることができたケース(ケース1)、一部更新処理が失敗し且つ業務プログラムAの遅延ポリシーに「処理中止」が指定されているケース(ケース2)、一部更新処理に失敗し且つ業務プログラムAの遅延ポリシーに「遅延コミット(一定時間間隔でリトライ)」が指定されているケース(ケース3)のそれぞれについて説明する。   Subsequently, commit processing is performed. Thereafter, when all of the above four update requests have succeeded and the database update has been successfully completed (case 1), the partial update process has failed and “Process Cancel” is specified in the delay policy of the business program A A case (case 2) in which a partial update process has failed and “delay commit (retry at a fixed time interval)” is specified in the delay policy of the business program A will be described.

最初に、上記4つの更新要求が全て成功しデータベースの更新を正しく終えることができたケース1について説明する。業務プログラムAからのグローバルトランザクションの終了宣言を要求受付/結果返却部210が受け付け、トランザクションゲートウェイ部230のコミット処理部232は遅延処理部223を起動し、図8〜図11に示すフローチャートに従って処理を行う。即ち、キューゲートウェイ部220の遅延処理部223に対して、当該グローバルトランザクション用の遅延処理スクリプトの「遅延処理対象の処理要求へのポインタ」に処理単位リストとして格納されるポインタが示すキュー要素たるデータベース更新処理要求の全てを、対応するパブリッククラウド宛に送出するよう指示し、要求送出/結果受領部250はこれを送出し、パブリッククラウドから全ての更新処理が成功した旨の通知を受領し、これを受けて遅延処理部223によって当該グローバルトランザクションに関連する全てのキュー要素を処理待ちキューから削除し、対応する遅延処理スクリプトを削除する。以上のような手順によって処理がなされる。   First, Case 1 in which all the four update requests have succeeded and the database update has been completed correctly will be described. The request acceptance / result return unit 210 accepts the end declaration of the global transaction from the business program A, and the commit processing unit 232 of the transaction gateway unit 230 activates the delay processing unit 223 and performs processing according to the flowcharts shown in FIGS. Do. That is, for the delay processing unit 223 of the queue gateway unit 220, a database that is a queue element indicated by a pointer stored as a processing unit list in the “pointer to processing request to be delayed” of the delay processing script for the global transaction. An instruction is sent to send all update processing requests to the corresponding public cloud, and the request sending / result receiving unit 250 sends this, and receives notification from the public cloud that all update processing has been successful, In response to this, the delay processing unit 223 deletes all queue elements related to the global transaction from the queue for processing, and deletes the corresponding delay processing script. Processing is performed by the procedure as described above.

次に、一部更新処理が失敗し且つ業務プログラムAの遅延処理ポリシーに「1:一括処理し、一括処理不可の場合、全ての処理をロールバックする。」が指定されているケース2について説明する。上記成功例と同様に、業務プログラムAからのグローバルトランザクションの終了宣言を要求受付/結果返却部210が受け付け、キューゲートウェイ部220の遅延処理部223に対して、当該グローバルトランザクション用の遅延処理スクリプトの「遅延処理対象の処理要求へのポインタ」に格納される処理単位リストが指し示すポインタに対応するキュー要素たるデータベース更新要求を、パブリッククラウド宛に送出するよう指示し、要求送出/結果受領部250はこれを送出する。このとき、パブリッククラウドの更新について4つあるうちの最後の1つの更新処理が何らかの原因によって失敗した場合を想定する。このとき、続く処理は図9のフローチャートのステップS905の更新処理の成否判別のNOのルート、即ち図11のフローチャートに従って行われる。まず、遅延処理部223に対して成功した3つの更新処理を取り消すために各パブリッククラウドのデータベースに対してロールバックを行うよう要求する。続いて遅延処理ポリシーに「1」が指定されていることから、ステップS1102の遅延コミット指定の判別はNOのルートとなり、当該グローバルトランザクションに関連する全てのデータベース更新処理要求を処理待ちキューから削除し、対応する遅延処理スクリプトを削除する。以上のように、グローバルトランザクション処理であって複数のパブリッククラウド宛ての更新処理において一部で成功した更新処理があったとしても、同一のグローバルトランザクション内の他の更新処理で1つでも更新に失敗した場合は、全てロールバックされる。   Next, a case 2 in which the partial update process has failed and “1: batch processing is performed and all processing is rolled back when batch processing cannot be performed” is specified in the delay processing policy of the business program A will be described. To do. Similar to the above success example, the request acceptance / result return unit 210 accepts the end declaration of the global transaction from the business program A, and the delay processing unit 223 of the queue gateway unit 220 receives the delay processing script for the global transaction. The request sending / result receiving unit 250 instructs to send a database update request as a queue element corresponding to the pointer indicated by the processing unit list stored in “pointer to processing request subject to delay processing” to the public cloud. Send this out. At this time, it is assumed that the last one update process among the four updates to the public cloud has failed for some reason. At this time, the subsequent processing is performed according to the NO route for success / failure determination in step S905 of the flowchart of FIG. 9, that is, the flowchart of FIG. First, the delay processing unit 223 is requested to roll back the database of each public cloud in order to cancel the three successful update processes. Subsequently, since “1” is specified in the delay processing policy, the determination of the delay commit specification in step S1102 becomes the route of NO, and all database update processing requests related to the global transaction are deleted from the processing queue. , Delete the corresponding delay processing script. As described above, even if there are some successful update processes in the global transaction process that are addressed to multiple public clouds, even one of the other update processes in the same global transaction fails to be updated. If you do, everything will be rolled back.

続いて、一部更新処理に失敗し且つ業務プログラムAの遅延処理ポリシーに「2:一括処理し、一括処理不可の場合、ポリシーに従ってリトライする。」が指定されているケース3について説明する。上述の例と同様4番目の更新処理、つまりプライベートクラウドP2のデータベースPD2への更新が失敗したものとして説明する。図8のフローチャートのステップS1102の判別まではケース2と同様に処理される。遅延処理ポリシーには「2」が指定されていることから、ステップS1102の遅延コミット指定の判別はYESのルートとなる。遅延処理スクリプトに従って、処理待ちキュー保持部242a及び242bに保持される各パブリッククラウドに対応する処理待ちキューから当該グローバルトランザクションに関連するキュー要素として格納される未実行の更新要求、この場合4番目のプライベートクラウドP2のデータベースPD2への更新要求に対応するキュー要素のポインタを、処理単位リストとして遅延処理スクリプトの「遅延処理対象の処理要求へのポインタ」に更新し、遅延処理スクリプトの残りリトライ回数を減算し、リトライ間隔に格納された設定値に応じて遅延処理部223を起動するようタイマーをセットする。当然、「変更後要求先」が設定されているのであれば、「要求先変更までの残りリトライ回数」についても減算する。   Next, a case 3 in which the partial update process fails and the delay processing policy of the business program A is designated as “2: batch processing and retry when the batch processing is impossible” will be described. Similar to the above example, the fourth update process, that is, the update to the database PD2 of the private cloud P2 is assumed to have failed. The same processing as in case 2 is performed until the determination in step S1102 of the flowchart of FIG. Since “2” is specified in the delay processing policy, the determination of the delay commit specification in step S1102 is a route of YES. According to the delay processing script, an unexecuted update request stored as a queue element related to the global transaction from the processing queue corresponding to each public cloud held in the processing queue holding units 242a and 242b, in this case, the fourth The pointer of the queue element corresponding to the update request to the database PD2 of the private cloud P2 is updated to “delay processing target pointer” in the delay processing script as the processing unit list, and the remaining retry count of the delay processing script is set. The timer is set so as to start the delay processing unit 223 in accordance with the set value stored in the retry interval. Of course, if “request destination after change” is set, “remaining retry count until request destination change” is also subtracted.

これによって失敗した4番目の更新要求を再試行することができ、再試行の結果更新に成功した場合は、ケース1と同様に処理待ちキュー保持部222a及び222bの処理待ちキューから当該グローバルトランザクションに関連するキュー要素を全て削除し、遅延処理スクリプトを削除する。また、再試行の結果更新処理に失敗をし、その回数が遅延処理スクリプトに設定された「リトライ回数」に達した場合は、ケース2と同様に遅延処理部223に対して成功した3つの更新処理を取り消すために各パブリッククラウドのデータベースに対してロールバックを行うよう要求すると共に、当該グローバルトランザクションに関連する全てのキュー要素を処理待ちキューから削除し、対応する遅延処理スクリプトを削除する。   As a result, the failed fourth update request can be retried, and if the update is successful as a result of the retry, the global transaction is transferred from the processing queue of the processing queue holding units 222a and 222b to the relevant global transaction as in the case 1. Delete all the related queue elements and delete the delay processing script. If the update process fails as a result of the retry and the number of times reaches the “retry count” set in the delay processing script, the three successful updates to the delay processing unit 223 are performed as in the case 2. In order to cancel the processing, the public cloud database is requested to be rolled back, all the queue elements related to the global transaction are deleted from the processing queue, and the corresponding delay processing script is deleted.

続いて、セキュアゲートウェイ部の動作について説明する。図14(a)に示すように、パブリッククラウドサービスを活用する以前の業務プログラムは、閉鎖されたネットワーク上に設けられた処理システム及びデータベースから構成されることから、各々の処理要求は返却された結果などは平文でやり取りされている。この業務プログラムで用いるデータの管理にパブリッククラウドを用いるよう図14(b)のように構成しようとすると、業務プログラムはパブリッククラウド処理システムが予め具備する暗号化機能にそのセキュリティポリシーとセキュリティ施策を委ねることになる。往々にしてパブリッククラウドのセキュリティポリシーとセキュリティ施策は明確に可視化されることはなく、ユーザはパブリッククラウドの業務プログラムによる利用の際には、パブリッククラウド側のセキュリティポリシーに合わせて、秘匿しなくてもよい情報のみをパブリッククラウドへ、秘匿すべき情報は別途セキュアデータセンターに蓄積するといった構成する必要がある。しかしながら、それを行うには業務プログラム側でセキュリティポリシーの異なる2以上のデータベースにアクセスするよう構築し直す必要があり、更に何れのデータベースにどの情報を管理するかを分類する必要がある。大規模な業務プログラムであると、このような作業を行うには多大な工数が必要となり、パブリッククラウドを業務プログラムにて利用することの大きな障害となっている。しかしながら業務プログラムにとって、例えば障害発生時のデータ破損等データ維持に関する堅牢性や、大きなエリアで展開する端末からのアクセスの容易性等において強力なメリットを有するパブリッククラウドのメリットは計り知れないものがある。   Next, the operation of the secure gateway unit will be described. As shown in FIG. 14 (a), since the business program before using the public cloud service is composed of a processing system and a database provided on a closed network, each processing request is returned. Results are exchanged in clear text. If the public cloud is used to manage the data used in the business program as shown in FIG. 14B, the business program entrusts its security policy and security measures to the encryption function provided in advance in the public cloud processing system. It will be. Often, public cloud security policies and security measures are not clearly visualized, and users do not need to conceal them in accordance with public cloud security policies when using public cloud business programs. It is necessary to configure such that only good information is stored in the public cloud and information that should be kept secret is stored separately in a secure data center. However, in order to do so, it is necessary to restructure the business program to access two or more databases having different security policies, and it is necessary to classify which information is managed in which database. A large-scale business program requires a large amount of man-hours to perform such work, which is a major obstacle to using a public cloud in the business program. However, for business programs, for example, there are immeasurable benefits of a public cloud that has strong merits in maintaining data, such as data corruption in the event of a failure, and ease of access from terminals deployed in large areas. .

そこで本実施例では図1及び図4に示すように、業務プログラムAとパブリッククラウドP1及びP2の間に配されるセキュアデータセンター100のクラウドポータルシステム200に、セキュアゲートウェイ部240を設け、業務プログラムAから更新要求が成される平文である値を暗号化部241によって暗号化し、暗号化された値によってデータベース更新要求を生成し、パブリッククラウドP1、P2のデータベースPD1、PD2の更新を行うよう構成する。更に業務プログラムAからの要求によってパブリッククラウドのデータベースPD1またはPD2から暗号化された値を取得し、復号化部242を介して復号化して平文の値を業務プログラムAに返却するよう構成する。その際、業務プログラム毎に暗号化ポリシー保持部243a、243b・・・を具備し、暗号化及び復号化のポリシー、暗号化鍵及び復号化鍵を業務プログラム毎に個別に設定登録する。   Therefore, in this embodiment, as shown in FIGS. 1 and 4, a secure gateway unit 240 is provided in the cloud portal system 200 of the secure data center 100 arranged between the business program A and the public clouds P1 and P2, and the business program A value that is a plaintext for which an update request is made from A is encrypted by the encryption unit 241, a database update request is generated by the encrypted value, and the databases PD 1 and PD 2 of the public clouds P 1 and P 2 are updated. To do. Further, an encrypted value is acquired from the public cloud database PD1 or PD2 in response to a request from the business program A, decrypted via the decryption unit 242, and a plaintext value is returned to the business program A. At that time, the encryption policy holding units 243a, 243b,... Are provided for each business program, and the encryption and decryption policies, the encryption key, and the decryption key are individually set and registered for each business program.

このように構成することで、図14(c)に示すように業務プログラムには特別な改修をせずとも、業務プログラム固有のセキュリティポリシーに従った値の暗号化を行った上でパブリッククラウドに登録することができ、暗号化された値をパブリッククラウドから取得した際も容易に復号化を行うことができる。また業務プログラム毎に暗号化/復号化のポリシー、暗号化鍵及び復号化鍵を設定することができるので、例えばセキュリティポリシーの異なる業務プログラムであっても同一のクラウドポータルシステムにて管理し、パブリッククラウドの利用を可能とする。従ってセキュアデータセンター100内にて複数事業者の業務プログラムを稼働させたとしても、事業者ごと、業務プログラム毎に個別のセキュリティポリシーを適用することが可能となる。   By configuring in this way, as shown in FIG. 14C, the business program is encrypted in the public cloud after encryption according to the security policy specific to the business program without special modification. It can be registered and can be easily decrypted when an encrypted value is obtained from the public cloud. Also, encryption / decryption policies, encryption keys, and decryption keys can be set for each business program. For example, business programs with different security policies can be managed by the same cloud portal system and public Enable cloud usage. Therefore, even if the business programs of a plurality of business operators are operated in the secure data center 100, it is possible to apply individual security policies for each business operator and for each business program.

以上のようなクラウドポータルシステムによれば、一般に公開されたパブリッククラウドサービスを利用する場合であっても、パブリッククラウドサービス側に送信するデータであって秘匿性を確保する必要があるデータに対しては暗号化を行って送信し、また当該暗号化されたデータを受信する際にはクラウドポータルシステムによって復号化して受信するので、ユーザはデータの暗号化及び復号化を意識せずに行うことができ、パブリッククラウドサービスの利便性を確保しつつ信頼性を著しく向上させることができる。   According to the cloud portal system as described above, even when using a public cloud service that is open to the public, data transmitted to the public cloud service side that needs to be kept confidential Is encrypted and transmitted, and when the encrypted data is received, it is decrypted and received by the cloud portal system, so the user can do it without being aware of the encryption and decryption of the data. In addition, reliability can be significantly improved while ensuring the convenience of public cloud services.

また、業務プログラムからの処理要求が何らかの要因で失敗した場合であっても、遅延処理部による更新要求のリトライ機能によって自動的に更新処理の再試行を行うことができ、利便性の向上を図ることができる。   In addition, even when a processing request from a business program fails for some reason, the update processing can be automatically retried by the update request retry function by the delay processing unit, thereby improving convenience. be able to.

更に、複数のパブリッククラウドサービスに対して一括処理にて更新を行うようなクラウドコンピューティングが必要なケースであっても、個別のパブリッククラウドサービスへの更新の成否を人的な運用などで判別する必要がなく、グローバルトランザクション処理を可能とし、システムの利便性及び信頼性が著しく向上する。   Furthermore, even in cases where cloud computing is required to update multiple public cloud services in a batch process, the success or failure of updating to an individual public cloud service is determined by human operation, etc. This eliminates the need for global transaction processing and improves the convenience and reliability of the system.

上述したクラウドポータルシステム100に別途記憶部を設け、パブリッククラウドへの更新内容と同一の内容を当該記憶部に更新することでパブリッククラウドのミラーリングを行うことで、若しくはパブリッククラウドから定期的に全データを取得して記憶部に記憶することで、バックアップとするよう構成することで、クラウドポータルシステム100の更なる堅牢性、信頼性の向上を図ることも可能である。   The cloud portal system 100 described above is provided with a separate storage unit, and mirroring the public cloud by updating the same content as the update content to the public cloud to the storage unit, or all data periodically from the public cloud It is also possible to further improve the robustness and reliability of the cloud portal system 100 by configuring so as to be a backup by acquiring and storing it in the storage unit.

以上、本発明の実施例について詳述したが、本発明は前記実施例に限定されるものではなく、本発明の要旨の範囲内で種々の変形実施が可能である。例えば業務プログラムをAの1種、パブリッククラウドサービスをP1及びP2の2種のケースとして説明したが、これに限定するものではなく、これ以上の業務プログラム及びパブリッククラウドサービスを複数組み合わせて用いたとしても何ら問題なく、業務プログラムの数もパブリッククラウドの数も任意に変更することができる。また遅延処理ポリシー及び遅延処理スクリプトは、図12及び図13に限定するものではなく、利便性等を勘案して適宜設定すればよい。また、遅延処理を担うキューゲートウェイ部220と、グローバルトランザクション機能を担うトランザクションゲートウェイ部230、暗号化/復号化機能を担うセキュアゲートウェイ部240はそれぞれ個別に利用することができ、また任意の組み合わせにて運用することもできることは言うまでもない。例えば、とあるファイルを1乃至複数暗号化してパブリッククラウドサービスに登録したい場合はセキュアゲートウェイ部240のみを利用すればよく、そのファイルの登録の際に失敗した場合再試行を自動化したいのであればキューゲートウェイ部220を用いるよう設定すればよいし、また、グローバルトランザクションを用いた複数のパブリッククラウド宛の更新においても、セキュアゲートウェイ部240を介した上でキューゲートウェイ部220やトランザクションゲートウェイ部230の処理を行うことで、複数のパブリッククラウドに対して自動的に暗号化したデータによって更新処理を行うことができ、また処理結果についても業務プログラムに返却する以前に復号化を終えておくことができるので、業務プログラム側が特に意識することなく、高度なセキュリティ性を実現することが可能となる。   As mentioned above, although the Example of this invention was explained in full detail, this invention is not limited to the said Example, A various deformation | transformation implementation is possible within the range of the summary of this invention. For example, the business program has been described as one type of A and the public cloud service as two types of P1 and P2. However, the present invention is not limited to this, and it is assumed that a plurality of business programs and public cloud services are used in combination. There is no problem, and the number of business programs and the number of public clouds can be changed arbitrarily. The delay processing policy and the delay processing script are not limited to those shown in FIGS. 12 and 13 and may be set as appropriate in consideration of convenience and the like. In addition, the queue gateway unit 220 responsible for delay processing, the transaction gateway unit 230 responsible for the global transaction function, and the secure gateway unit 240 responsible for the encryption / decryption function can be used individually, and in any combination Needless to say, it can also be used. For example, if you want to encrypt one or more files and register them in the public cloud service, you only need to use the secure gateway unit 240. If you want to automate retries if registration fails, queue What is necessary is just to set so that the gateway part 220 may be used, and also in the update addressed to a plurality of public clouds using a global transaction, the processing of the queue gateway part 220 and the transaction gateway part 230 is performed via the secure gateway part 240. By doing so, update processing can be performed with automatically encrypted data for multiple public clouds, and decryption can be completed before returning the processing result to the business program, Specialized on business program side Consciousness without, it is possible to realize a high degree of security.

100 セキュアデータセンター
A 業務プログラム
200 クラウドポータルシステム
210 要求受付/結果返却部
220 キューゲートウェイ部
221 処理待ちキュー作成部
222a、b 処理待ちキュー保持部
223 遅延処理部
224a、b 遅延処理ポリシー保持部
230 トランザクションゲートウェイ部
231 データベース(DB)更新処理要求部
232 コミット処理部
240 セキュアゲートウェイ部
241 暗号化部
242 復号化部
243a、b 暗号化/復号化情報保持部
250 要求送出/結果受領部
P1、P2 パブリッククラウドサービス
PS1、PS2 処理システム
PD1、PD2 データベース
100 Secure Data Center A Business Program 200 Cloud Portal System 210 Request Acceptance / Result Return Unit 220 Queue Gateway Unit 221 Processing Queue Creation Unit 222a, b Processing Queue Holding Unit 223 Delay Processing Unit 224a, b Delay Processing Policy Holding Unit 230 Transaction Gateway unit 231 Database (DB) update processing request unit 232 Commit processing unit 240 Secure gateway unit 241 Encryption unit 242 Decryption unit 243a, b Encryption / decryption information holding unit 250 Request transmission / result reception unit P1, P2 Public cloud Service PS1, PS2 Processing System PD1, PD2 Database

Claims (1)

データベースを備えるクラウドと、
クラウド宛のデータベース処理要求を行う業務プログラムと、
前記クラウドと前記業務プログラムの間に介在し、両者と通信可能に接続するクラウドポータルシステムと、
からなるクラウドコンピューティングシステムであって、
前記クラウドポータルシステムは、
前記業務プログラムからの前記クラウド宛の要求に含まれる情報を暗号化する暗号化部と、
前記クラウドからの前記業務プログラムに返却する処理結果を復号化する復号化部と、
暗号化鍵及び復号化鍵を管理すると共に、前記クラウド宛の処理要求及び前記クラウドからの処理結果について、何れの処理を何れの暗号化鍵又は復号化鍵を用いて暗号化又は復号化を試行するのかを設定する暗号化ポリシー保持部と、を備え、
前記業務プログラムから前記クラウドのデータベース処理要求がなされた際、当該データベース処理要求に使用する暗号化鍵を前記暗号化ポリシー保持部に基づいて選択して暗号化した上で前記クラウドへ暗号化済みのデータベース処理要求を送出し、
前記クラウドから前記業務プログラムへ処理結果が返却された際、当該処理結果に用いる復号化鍵を前記暗号化ポリシー保持部に基づいて選択して復号化した上で前記業務プログラムへ復号化済みの処理結果を返却するよう構成したことを特徴とするクラウドコンピューティングでの情報秘匿方法。
A cloud with a database,
A business program that makes database processing requests to the cloud;
A cloud portal system that intervenes between the cloud and the business program and communicates with both;
A cloud computing system comprising:
The cloud portal system
An encryption unit for encrypting information included in the request addressed to the cloud from the business program;
A decryption unit for decrypting a processing result to be returned to the business program from the cloud;
Manages the encryption key and decryption key, and attempts to encrypt or decrypt the processing request addressed to the cloud and the processing result from the cloud using any encryption key or decryption key. An encryption policy holding unit for setting whether to perform,
When the cloud database processing request is made from the business program, the encryption key used for the database processing request is selected and encrypted based on the encryption policy holding unit, and then encrypted to the cloud. Send database processing request,
When a processing result is returned from the cloud to the business program, a decryption key used for the processing result is selected and decrypted based on the encryption policy holding unit, and then decrypted into the business program An information concealment method in cloud computing, which is configured to return results.
JP2013191966A 2013-09-17 2013-09-17 Information concealing method in cloud computing Pending JP2015059984A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013191966A JP2015059984A (en) 2013-09-17 2013-09-17 Information concealing method in cloud computing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013191966A JP2015059984A (en) 2013-09-17 2013-09-17 Information concealing method in cloud computing

Publications (1)

Publication Number Publication Date
JP2015059984A true JP2015059984A (en) 2015-03-30

Family

ID=52817595

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013191966A Pending JP2015059984A (en) 2013-09-17 2013-09-17 Information concealing method in cloud computing

Country Status (1)

Country Link
JP (1) JP2015059984A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10133879B2 (en) 2015-11-03 2018-11-20 International Business Machines Corporation Technique used in text analysis in a safe manner
US10623396B2 (en) * 2016-01-26 2020-04-14 Canon Kabushiki Kaisha System and method for controlling system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10133879B2 (en) 2015-11-03 2018-11-20 International Business Machines Corporation Technique used in text analysis in a safe manner
US10769308B2 (en) 2015-11-03 2020-09-08 International Business Machines Corporation Technique used in text analysis in a safe manner
US10623396B2 (en) * 2016-01-26 2020-04-14 Canon Kabushiki Kaisha System and method for controlling system

Similar Documents

Publication Publication Date Title
CN103930879B (en) Projection storage gateway
JP2015060285A (en) Global transaction processing method in cloud computing
US11683451B2 (en) Self-healing video surveillance system
US10685141B2 (en) Method for storing data blocks from client devices to a cloud storage system
US11327846B2 (en) System and method for backup and recovery of services in a cloud computing environment
JP5020857B2 (en) Computer system and terminal
CN103765406A (en) Methods and apparatus for remotely updating executing processes
CN107710164B (en) Disaster recovery as a service
US11496893B2 (en) Secure computation system and relay device, and method, program, and recording medium thereof
US11627122B2 (en) Inter-system linking method and node
JP2015060286A (en) Delay processing method in cloud computing
US10204021B2 (en) Recovery of an infected and quarantined file in a primary storage controller from a secondary storage controller
CN110362984B (en) Method and device for operating service system by multiple devices
US9575977B1 (en) Data management system
US11626986B1 (en) Method and system of rescinding access to blockchain data
WO2020255382A1 (en) Content transaction system, content transaction method, key management device, and key management program
JP2015059984A (en) Information concealing method in cloud computing
EP3568798B1 (en) Data filing method and system
JP2004341961A (en) Storage system and storage program
JP2011198325A (en) Method and system for performing safe bringing-out of file data to outside
JP6492731B2 (en) Storage system, storage control device, and storage control program
US10340036B2 (en) Data management mechanism for wide-area distributed medical information network
CN115499228A (en) Key protection method, device, equipment and storage medium
JP2023078577A (en) Information processing system, information processing method, and program
US20240364504A1 (en) Reliable On-Demand Destruction of Cryptographic Keys