JP6340308B2 - Parallel processing system, method, and program - Google Patents
Parallel processing system, method, and program Download PDFInfo
- Publication number
- JP6340308B2 JP6340308B2 JP2014247360A JP2014247360A JP6340308B2 JP 6340308 B2 JP6340308 B2 JP 6340308B2 JP 2014247360 A JP2014247360 A JP 2014247360A JP 2014247360 A JP2014247360 A JP 2014247360A JP 6340308 B2 JP6340308 B2 JP 6340308B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- thread
- server
- request
- processing
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Description
この発明は、例えば、複数のデータ管理サーバが連動して動作するシステムにおいて、複数のユーザに関するデータまたは複数の種別のデータの操作を並列処理により高速に実行させるシステム、方法、およびプログラムに関する。 The present invention relates to, for example, a system, method, and program for executing operations on data related to a plurality of users or data of a plurality of types at high speed by parallel processing in a system in which a plurality of data management servers operate in conjunction with each other.
近年、普及が進むクラウド環境において、リソースや運用コストを低減するために、アプリケーションやデータサーバを複数の利用事業者で共用するしくみが広く用いられている(マルチテナント方式)。例えば、自治体の業務に関するデータが、低コスト化や災害時のBCP(業務継続計画)の一環として、自治体外のクラウド環境にマルチテナント方式で保存される傾向がある(例えば、非特許文献1参照)。
In recent years, in a cloud environment that has become widespread, a mechanism for sharing applications and data servers among a plurality of users is widely used in order to reduce resources and operation costs (multi-tenant method). For example, data related to municipal operations tends to be stored in a multi-tenant method in a cloud environment outside the municipality as part of cost reduction and disaster continuity planning (BCP) (see Non-Patent
自治体では、数十万・数百万人オーダの住民に関する多種多様な情報を複数年分にわたり管理しており、そのデータは定期的または不定期に追加更新される。例えば、国民健康保険における診療や調剤のレセプト情報、および健康診断情報などは受診の都度、データが追加される。従って、このような自治体に関する自治体業務データをクラウドへのアップロードする場合において、複数人分の多種多様な大容量データを、適切な宛先に振り分けながら、効率的よく高速に登録・更新できることが求められている。また、運用者の手間を極力最小化することが望ましい。 Local governments manage a wide variety of information on residents of the order of hundreds of thousands or millions over a period of several years, and the data is updated regularly or irregularly. For example, receipt information on medical care and dispensing in the National Health Insurance, health checkup information, and the like are added each time a visit is made. Therefore, when uploading local government business data related to such local governments to the cloud, it is required to be able to register and update various types of large volumes of data for multiple people efficiently and quickly while distributing them to appropriate destinations. ing. It is also desirable to minimize the labor of the operator as much as possible.
そこで、クラウド上などに構築された複数のサービスサーバでデータを管理する情報システムにおいて、自治体などが保有するサーバ(外部サーバ)から情報システム内の各サービスサーバに対して、運用者の手を介さずにデータ登録の操作を行うための方法が提案されている(例えば、特許文献1参照)。特許文献1の方法を用いることによって、外部サーバの正当性の確認後にユーザを擬似した認証処理を自動的に実行することにより、情報システム内の各サービスサーバにおいて、外部サーバからのアクセスを正当に認証されたものと認識できる。
Therefore, in an information system that manages data with a plurality of service servers built on the cloud, etc., the operator (external server) from the server owned by the local government, etc., gets to the service servers in the information system through the operator's hands. For example, a method for performing a data registration operation has been proposed (see, for example, Patent Document 1). By using the method of
また、特許文献1には、複数のサービスサーバが連動して動作する情報システムにおいて、各サービスサーバに対するデータ操作を運用者の手を介さずに外部サーバから実行する場合に、アクセス元の正当性を確認する方法についても記載されている。
Further, in
また、特許文献1には、高速化の側面についても、外部サーバからのアクセスが多重に実行され複数スレッドを起動して処理をする場合に、認証状態を管理しておくことで証明書を適切に複数スレッドで利用できるようにするしくみが提案されている。
しかしながら、大量データを高速に処理するためには、外部サーバからのアクセスの多重化への対応だけでなく、情報システム内の複数のサービスサーバに対するデータ操作処理要求を適切な単位に切り分けて並列処理する必要がある。なお、並列処理は、例えば、マルチスレッドを用いた処理である。そのため、自治体業務データのように、複数ユーザ分かつ多種多様なデータへの操作要求が含まれるリクエストをマルチスレッドで処理する場合には、次のような課題を解決する必要がある。 However, in order to process a large amount of data at high speed, in addition to supporting multiple access from external servers, parallel processing is performed by dividing data operation processing requests for multiple service servers in the information system into appropriate units. There is a need to. The parallel processing is, for example, processing using multithread. Therefore, when processing a request including operation requests for various types of data for a plurality of users, such as local government business data, it is necessary to solve the following problems.
外部サーバからのリクエストには複数ユーザのデータ且つ複数種類のデータが含まれており、情報システム内ではデータ種別ごとや利用事業者(自治体)ごとに、サービスサーバ内のデータベース(DB)やテーブルが管理されている。そのため、リクエストに含まれるデータ種別またはユーザの属性などに応じてリクエストデータを切り分け、通信処理時間が最小になるように処理スレッドを分割しなければ、効率よく処理を実行することができないという問題がある。 A request from an external server includes data of a plurality of users and a plurality of types of data. In the information system, a database (DB) and a table in the service server are stored for each data type and for each service provider (local government). It is managed. Therefore, if the request data is separated according to the data type included in the request or the attribute of the user and the processing thread is not divided so that the communication processing time is minimized, there is a problem that the processing cannot be executed efficiently. is there.
また、情報システム内の複数のサービスサーバは、常時全てが正常に動作しているとは限らない。一部のサーバがダウンしていたり、何らかの処理プログラムに不具合が発生している可能性もある。そのため、リクエスト処理中にエラーが発生した場合には、運用者がもしくは自動で再試行することによって、少なくともリクエスト実行前の状態に戻す必要がある。しかしながら、高速化のためにマルチスレッド処理を実行する場合、何れのサービスサーバにおいて何れのデータの処理が失敗したかを知ること、および、エラーによる影響の範囲を知ることが難しくなるという問題がある。 In addition, not all of the plurality of service servers in the information system are always operating normally. Some servers may be down or some processing program may be defective. Therefore, when an error occurs during request processing, it is necessary to restore at least the state before request execution by the operator or by automatically retrying. However, when multi-thread processing is executed for speeding up, there is a problem that it becomes difficult to know which data processing has failed in which service server and to know the range of the effect of the error. .
この発明は上記事情に着目してなされたもので、その目的とするところは、複数のユーザまたは多種多様なデータへの操作要求が含まれるリクエストを、システム内の複数のサーバに対して行う場合における並列処理の高速化を図るためのシステム、方法、及びプログラムを提供することにある。 The present invention has been made paying attention to the above circumstances, and its purpose is to make a request including operation requests for a plurality of users or various data to a plurality of servers in the system. Is to provide a system, a method, and a program for speeding up parallel processing.
上記目的を達成するためにこの発明の第1の観点は、以下のような構成要素を備えている。すなわち、複数の管理サーバを用いてデータを並列的に処理させるシステムであって、外部サーバから各管理サーバに対して複数のユーザに関するデータの操作をリクエストされた場合、データの種別またはユーザの属性に基づいてデータを複数の管理サーバごとのリクエストデータに分割し、分割された各管理サーバに対応するリクエストデータを異なる複数のスレッドとしてマルチスレッド処理を実行する制御手段を備え、前記制御手段は、複数のスレッドの各々に対して少なくとも操作対象となる管理サーバを示す識別子を含むスレッド番号を付与し、何れかのスレッドでエラーが発生した場合、エラーが発生したスレッドに対応するスレッド番号を少なくとも外部サーバに返却またはログに出力するようにしたものである。 In order to achieve the above object, a first aspect of the present invention includes the following components. That is, in a system that processes data in parallel using a plurality of management servers, and when an operation of data related to a plurality of users is requested from each external server to each management server, the data type or user attribute dividing the data in the request data for a plurality of management server based on the request data corresponding to each management server that is divided with different threads comprising a control means for executing the multithreaded process, the control means When a thread number including an identifier indicating at least the management server to be operated is assigned to each of the plurality of threads and an error occurs in any thread, at least the thread number corresponding to the thread in which the error has occurred Returned to an external server or output to a log.
また、ユーザを認証する認証手段をさらに備える。さらに、認証手段は、リクエスト元の認証トークンが必要な場合、認証トークンを発行する。さらに、制御手段は、マルチスレッド処理を実行するために、認証トークンを複製し、複製された認証トークンを各スレッドに対して使用する。 Further, an authentication means for authenticating the user is further provided. Further, the authentication unit issues an authentication token when the request source authentication token is required. Furthermore, the control means duplicates the authentication token and executes the duplicated authentication token for each thread in order to execute the multi-thread processing.
また、この発明の第1の観点には、同様な構成要素および態様を備える方法およびプログラムも含まれる。 The first aspect of the present invention also includes a method and program having similar components and aspects.
すなわちこの発明によれば、複数のユーザまたは多種多様なデータへの操作要求が含まれるリクエストを、システム内の複数のサーバに対して行う場合における並列処理の高速化を図るシステム、方法、及びプログラムを提供することができる。 That is, according to the present invention, a system, method, and program for speeding up parallel processing when a request including operation requests for a plurality of users or various types of data is made to a plurality of servers in the system Can be provided.
(第1の実施形態)
以下、図面を参照してこの発明に係る第1の実施形態を説明する。
図1は、本発明の第1の実施形態の並列処理システム10の構成例を示す図である。本実施形態の並列処理システム10は、ネットワークを介してクライアント端末50、複数の外部サーバ40―1,40―2,・・・,40―M、および複数のサービスサーバ30―1,30―2,・・・,30―Nに接続されたゲートウェイサーバ20によって実現する。
(First embodiment)
A first embodiment according to the present invention will be described below with reference to the drawings.
FIG. 1 is a diagram illustrating a configuration example of a
ゲートウェイサーバ20は、要求処理統括管理部21、通信管理部22、および通信処理部23を備える。ゲートウェイサーバ20は、複数のサービスサーバ30へのデータ操作リクエストを通信相手となるサービスサーバ30ごとに分割し、分割したデータ操作リクエストを異なるスレッドとして並列実行することによって複数のサービスサーバ30へのデータ操作リクエストを高速に処理するために、要求処理統括管理部21、通信管理部22、および通信処理部23による各処理を実行するスレッドを順次起動し、起動したスレッドを並列的に実行する。具体的には、ゲートウェイサーバ20は、要求処理統括管理部21、通信管理部22、および通信処理部23による各処理に対応する3つのスレッドを順次起動する。なお、以下、データの登録、更新、または削除などのデータの操作をデータ操作と称する。また、データ操作リクエストとは、データ操作に関するリクエストである。
The
要求処理統括管理部21は、各外部サーバ40またはクライアント端末50から各サービスサーバ30に対するデータ操作リクエストを受信し、受信したデータ操作リクエストに応じて、メインスレッドを起動する。なお、受信するデータ操作リクエストには、複数の利用事業者からのリクエストが含まれる。また、要求処理統括管理部21は、データ操作リクエストに対する応答処理の全体を管理する。なお、メインスレッドは、データ操作リクエストを受け付け、受け付けたデータ操作リクエストに対応する処理の全体を管理するためのスレッドである。
The request processing
また、要求処理統括管理部21は、各外部サーバ40およびクライアント端末50から各サービスサーバ30へのデータ操作リクエストを受け付け、受け付けたリクエストを各サービスサーバ30へのリクエストに分割する。より詳細には、要求処理統括管理部21は、データ所在情報を保持する。要求処理統括管理部21は、データ所在情報を参照し、データ操作の対象となるサービスサーバ30を1つの単位として、データ操作リクエストに関するデータ(以下、リクエストデータと称す。)を分割する。なお、データ所在情報については図6を参照して詳述するが、データ所在情報は、リクエストデータをサービスサーバ30ごとに分割するために必要な情報を含む。
Further, the request processing
また、要求処理統括管理部21は、分割されたリクエストデータを引数として、通信する対象となるサービスサーバ30の数に対応する数の通信管理部22を呼び出し、各通信管理部22から返却された結果を、リクエスト元である外部サーバ40またはクライアント端末50に返却する。
Further, the request processing
通信管理部22は、要求処理統括管理部21からの呼び出しに応じて通信管理スレッドを起動する。通信管理スレッドは、通信相手となるサービスサーバ30ごとの設定(例えば、データサイズ、接続上限数)に基づき、複数に分割して呼び出した通信処理部からの応答を管理するためのスレッドである。通信管理部22は、呼び出される際に指定されたサービスサーバ30に対するデータ操作リクエストの応答処理を管理する。
The
また、通信管理部22は、サービスサーバ経路特性情報を保持する。なお、サービスサーバ経路特性情報については図7を参照して詳述するが、サービスサーバ経路特性情報は、1回の通信で適切なサイズを特定するための情報を含む。通信管理部22は、サービスサーバ経路特性情報を参照し、要求処理統括管理部21から渡されたリクエストデータを指定されたサービスサーバ30に適切なサイズに分割する。なお、適切なサイズとは、例えば、データの容量等に基づくデータサイズ、または、リクエストの件数等に基づくサイズである。通信管理部22は、分割されたリクエストデータを引数として、分割された数だけ通信処理部23を呼び出し、各通信処理部23から返却された結果を、要求処理統括管理部21に返却する。
The
通信処理部23は、通信管理部22からの呼び出しに応じて、通信処理スレッドを起動する。通信処理スレッドは、サービスサーバ30に接続し、データ操作をリクエストするためのスレッドである。通信処理部23は、通信処理部23が呼び出される際に指定されたサービスサーバ30に対して少なくとも1回の通信処理を行う。
The
また、通信処理部23は、通信管理部22によって分割されたリクエストを各サービスサーバ30へ送信し、指定されたリクエストデータに関するデータ操作を、指定されたリクエストデータに対応するサービスサーバ30に依頼する。なお、リクエストデータは、例えば、通信処理部23が呼び出される際に指定される。そして、通信処理部23は、処理結果を通信管理部22に返却する。
In addition, the
また、通信処理部23は、サービスサーバ通信情報を保持する。なお、サービスサーバ通信情報については図8を参照して詳述するが、サービスサーバ通信情報は、IPアドレス、End Point Reference、ポートなどの各サービスサーバ30と通信するための情報を含む。通信処理部23は、サービスサーバ通信情報を参照し、該当するサービスサーバ30との通信を行う。
The
各サービスサーバ30は、ゲートウェイサーバ20の指示に応じて、それぞれデータ種別の異なるデータを格納することによってデータを管理し、クライアント端末50からのリクエストに応じて、データ操作を実行することによってデータを処理し、クライアント端末50等にサービスを提供する。また、各サービスサーバ30にはそれぞれ異なるデータ種別のデータが保存されており、1つのサービスサーバ30には複数の利用事業者のデータが保存されている。
Each
各外部サーバ40およびクライアント端末50は、ゲートウェイサーバ20に対して、データ操作リクエストを送信する。
Each
次に、図2を参照して、ゲートウェイサーバ20によってなされる処理の一例について説明する。
図2は、要求処理統括管理部21、通信管理部22、および通信処理部23の呼び出しにおける関係を示している。なお、図2乃至図9では、データ操作の一例として各外部サーバ40から各サービスサーバ30にデータを登録する場合について説明するが、データ操作は、上述したようなデータの更新、データの削除などでもよい。
Next, an example of processing performed by the
FIG. 2 shows a relationship in calling the request processing
外部サーバ40は、登録操作に関するリクエストデータとして、複数のデータ種別を有する登録データaを、要求処理統括管理部21に送る。要求処理統括管理部21は、外部サーバ40から受信したデータ登録リクエストに応じて、メインスレッドを起動する。また、要求処理統括管理部21は、データ所在情報24を参照し、登録データaを、サービスサーバ30−1によって管理されるデータ種別を有する登録データb−1、及び、サービスサーバ30−2によって管理されるデータ種別を有する登録データb−2、に分割する。
The
そして、要求処理統括管理部21は、登録データb−1及び登録データb−2を引数として、通信先のサービスサーバ30ごとに通信管理スレッドを通信管理部22に起動させるために、通信管理部22−1及び通信管理部22−2を呼び出す。このように、通信管理部22は、サービスサーバ30毎に個別に存在する。また、要求処理統括管理部21は、登録データb−1を通信管理部22−1に送り、登録データb−2を通信管理部22−2に送る。
Then, the request processing
なお、図2では要求処理統括管理部21が2つの通信管理部22を呼び出した場合を示しているが、要求処理統括管理部21は、登録データaを分割しない場合は、1つの通信管理部22を呼び出す。
FIG. 2 shows a case where the request processing
次に、通信管理部22−1は、要求処理統括管理部21からの呼び出しに応じて、通信管理スレッドを起動する。また、通信管理部22−1は、サービスサーバ経路特性情報25を参照し、登録データb−1を、サービスサーバ30−1の経路特性に適したサイズを有する登録データc−1−1及び登録データc−1−2に分割する。
Next, the communication management unit 22-1 activates a communication management thread in response to a call from the request processing
そして、通信管理部22−1は、登録データc−1−1及び登録データc−1−2を引数として、ゲートウェイサーバ20とサービスサーバ30−1との間の1回の通信分ごとに通信処理スレッドを起動させるために、通信処理部23−1−1及び通信処理部23−1−2を呼び出す。また、通信管理部22−1は、登録データc−1−1を通信処理部23−1−1に送り、登録データc−1−2を通信処理部23−1−2に送る。
Then, the communication management unit 22-1 performs communication for each communication between the
同様に、通信管理部22−2は、要求処理統括管理部21からの呼び出しに応じて、通信管理スレッドを起動する。また、通信管理部22−2は、サービスサーバ経路特性情報25を参照し、登録データb−2を、サービスサーバ30−2の経路特性に適したサイズを有する登録データc−2−1及び登録データc−2−2に分割する。
Similarly, the communication management unit 22-2 activates a communication management thread in response to a call from the request processing
そして、通信管理部22−2は、登録データc−2−1及び登録データc−2−2を引数として、ゲートウェイサーバ20とサービスサーバ30−2との間の1回の通信分ごとに通信処理スレッドを起動させるために、通信処理部23−2−1及び通信処理部23−2−2を呼び出す。また、通信管理部22−2は、登録データc−2−1を通信処理部23−2−1に送り、登録データc−2−2を通信処理部23−2−2に送る。
Then, the communication management unit 22-2 performs communication for each communication between the
なお、図2では、通信処理部23は、1つの通信管理部22に対して2つ存在する例を示しているが、これは一例に過ぎず、例えば、通信処理部23−1−1と通信処理部23−1−2とを、1つの通信処理部23−1(図示せず)で共有し、通信処理部23−2−1と通信処理部23−2−2とを、1つの通信処理部23−2(図示せず)で共有してもよい。
2 shows an example in which two
通信処理部23−1−1は、通信管理部22−1からの呼び出しに応じて、通信処理スレッドを起動する。そして、登録データc−1−1に関する登録操作を、サービスサーバ30−1に依頼する。なお、通信処理部23−1は、サービスサーバ通信情報26を参照し、サービスサーバ30−1と通信する。
The communication processing unit 23-1-1 activates a communication processing thread in response to a call from the communication management unit 22-1. And the registration operation regarding registration data c-1-1 is requested to the service server 30-1. The communication processing unit 23-1 refers to the service
また、通信処理部23−1−2は、通信管理部22−1からの呼び出しに応じて、通信処理スレッドを起動する。そして、登録データc−1−2に関する登録操作を、サービスサーバ30−1に依頼する。なお、通信処理部23−1−2は、サービスサーバ通信情報26を参照し、サービスサーバ30−1と通信する。
In addition, the communication processing unit 23-1-2 activates a communication processing thread in response to a call from the communication management unit 22-1. And the registration operation regarding registration data c-1-2 is requested to the service server 30-1. The communication processing unit 23-1-2 refers to the service
同様に、通信処理部23−2−1は、通信管理部22−2からの呼び出しに応じて、通信処理スレッドを起動する。そして、登録データc−2−1に関する登録操作を、サービスサーバ30−2に依頼する。なお、通信処理部23−2−1は、サービスサーバ通信情報26を参照し、サービスサーバ30−2と通信する。
Similarly, the communication processing unit 23-2-1 activates a communication processing thread in response to a call from the communication management unit 22-2. Then, a registration operation regarding the registration data c-2-1 is requested to the service server 30-2. The communication processing unit 23-2-1 refers to the service
また、通信処理部23−2−2は、通信管理部22−2からの呼び出しに応じて、通信処理スレッドを起動する。そして、登録データc−2−2に関する登録操作を、サービスサーバ30−2に依頼する。なお、通信処理部23−2−2は、サービスサーバ通信情報26を参照し、サービスサーバ30−2と通信する。
In addition, the communication processing unit 23-2-2 activates a communication processing thread in response to a call from the communication management unit 22-2. Then, a registration operation regarding the registration data c-2-2 is requested to the service server 30-2. The communication processing unit 23-2-2 refers to the service
次に、図3を参照して、要求処理統括管理部21によって実行される処理の一例について説明する。
なお、図3乃至図9では、一例として、3つのサービスサーバ30−1、サービスサーバ30−2、およびサービスサーバ30−3を用いる場合について説明するが、用いるサービスサーバ30の数は3つに限定する必要はなく、例えば、2つ、4つ、あるいはそれ以上のサービスサーバ30を用いてもよい。
Next, an example of processing executed by the request processing
3 to 9, as an example, a case where three service servers 30-1, 30-2, and 30-3 are used will be described. However, the number of
要求処理統括管理部21は、データ登録操作リクエストを受信すると(ステップS20)、メインスレッドを起動する(ステップS21)。次に、メインスレッドにおいて、登録データaを読み込む(ステップS22)。そして、読み込まれた登録データaを格納先となるサービスサーバ30ごとの登録データb−1,b−2,b−3に分割するために、登録データaの全単位、たとえばレコードについて、当該単位中のデータ種別に基づいて格納先となるサービスサーバ30を判別する処理を繰り返し行う(ステップS23)。
When receiving the data registration operation request (step S20), the request processing
登録データaに含まれる全単位について繰り返し実施する内容は以下の通りである。まず、登録データaの各単位について、データ種別に該当するデータの格納先となるサービスサーバ30を判定する(ステップS24)。
The contents to be repeatedly executed for all the units included in the registration data a are as follows. First, for each unit of registered data a, the
そして、サービスサーバ30−1に登録データaの当該単位のデータを格納すると判定した場合、登録データaの当該単位のデータを登録データb−1に追加する(ステップS25−1)。一方、サービスサーバ30−2に登録データaの当該単位のデータを格納すると判定した場合、登録データaの当該単位のデータを登録データb−2に追加する(ステップS25−2)。あるいは、サービスサーバ30−3に登録データaの当該単位のデータを格納すると判定した場合、登録データaの当該単位のデータを登録データb−3に追加する(ステップS25−3)。 And when it determines with storing the data of the said unit of registration data a in the service server 30-1, the data of the said unit of registration data a are added to registration data b-1 (step S25-1). On the other hand, if it is determined that the unit of registration data a is stored in the service server 30-2, the unit of registration data a is added to the registration data b-2 (step S25-2). Alternatively, when it is determined that the unit of registration data a is stored in the service server 30-3, the unit of registration data a is added to the registration data b-3 (step S25-3).
次に、登録データb−1,b−2,b−3の作成が完了したか否かを判定する(ステップS26)。なお、ステップS26における処理は、例えば、ステップS23乃至ステップS26の処理が実行された回数が、予め設定された回数に達しているか否かを判定する処理でもよい。登録データb−1,b−2,b−3の作成が完了した場合(ステップS26のYES)、後述するステップS26の処理を行う。登録データb−1,b−2,b−3の作成が完了していない場合(ステップS26のNO)、ステップS23に戻り、登録データaの次の単位に対する追加処理を行う。ステップS23において、追加処理を行う登録データaの次の単位がない場合、ステップS23乃至ステップS26の繰り返し行われる追加処理を行うことなく、ステップS27に進む。 Next, it is determined whether or not the creation of registration data b-1, b-2, and b-3 is completed (step S26). In addition, the process in step S26 may be a process of determining whether or not the number of times the process in steps S23 to S26 has been performed has reached a preset number. When the creation of the registration data b-1, b-2, b-3 is completed (YES in step S26), the process of step S26 described later is performed. If the creation of the registration data b-1, b-2, b-3 has not been completed (NO in step S26), the process returns to step S23 to perform an additional process for the next unit of the registration data a. In step S23, when there is no next unit of the registration data a to be subjected to the addition process, the process proceeds to step S27 without performing the addition process that is repeatedly performed in steps S23 to S26.
要求処理統括管理部21は、ステップS23またはステップS26の後、すなわち、登録データb−1,b−2,b−3の作成が完了した後、登録データb−1を引数として通信管理部22−1を呼び出す(ステップS27)。次に、登録データb−2を引数として通信管理部22−2を呼び出す(ステップS28)。次に、登録データb−3を引数として通信管理部22−3を呼び出す(ステップS29)。なお、ステップS27、ステップS28、ステップS29の処理の順序は、図3に示す順番でなくてもよい。例えば、ステップS28またはステップS29の処理の後、ステップS27の処理を行ってもよい。
After step S23 or step S26, that is, after the creation of the registration data b-1, b-2, b-3 is completed, the request processing
要求処理統括管理部21は、ステップS29の後、呼び出した全ての通信管理部22−1,22−2,22−3からの応答が揃うまで待機する(ステップS30)。呼び出した全ての通信管理部22−1,22−2,22−3からの応答があった際、換言すると並列起動させた通信管理スレッドが終了した場合、各通信管理部22−1,22−2,22−3から返却されたリクエスト結果を、リクエスト元である外部サーバ40またはクライアント端末50に返却する(ステップS31)。
After step S29, the request processing
次に、図4を参照して、通信管理部22によって実行される処理の一例について説明する。
通信管理部22―n(nは、例えば1〜3)は、要求処理統括管理部21からの呼び出しに応じて(ステップS40)、登録データb―nを引数として通信管理スレッドを起動する(ステップS41)。次に、通信管理部22―nは、登録データb―nをサービスサーバ30に適したリクエスト件数に分割し、登録データc―n―1,c―n―2を生成する(ステップS42)。
Next, an example of processing executed by the
In response to a call from the request processing overall management unit 21 (step S40), the communication management unit 22-n (n is, for example, 1 to 3) starts a communication management thread with the registration data b-n as an argument (step S40). S41). Next, the communication management unit 22-n divides the registration data b-n into the number of requests suitable for the
次に、登録データc−n−1を引数として、登録データc−n−1に対応する通信処理部23−n−1を呼び出す(ステップS43)。また、通信管理部22―nは、登録データc−n−2を引数として、登録データc−n−2に対応する通信処理部23−n−2を呼び出す(ステップS44)。 Next, the communication processing unit 23-n-1 corresponding to the registration data cn-1 is called using the registration data cn-1 as an argument (step S43). Also, the communication management unit 22-n calls the communication processing unit 23-n-2 corresponding to the registration data cn-2 using the registration data cn-2 as an argument (step S44).
通信管理部22―nは、ステップS43−1またはステップS43−2の後、呼び出した全ての通信処理部23−n−1,23−n−2からの応答が揃うまで待機する(ステップS45)。通信管理部22−nは、呼び出した全ての通信処理部23−n−1,23−n−2からの応答があった際、換言すると並列起動させた通信処理スレッドが終了した場合、処理結果を要求処理統括管理部21に、すなわちメインスレッドに、返却する(ステップS46)。
After step S43-1 or step S43-2, the communication management unit 22-n waits until responses from all the communication processing units 23-n-1, 23-n-2 that have been called are completed (step S45). . When there is a response from all of the called communication processing units 23-n-1, 23-n-2, in other words, when the communication processing thread activated in parallel ends, the communication management unit 22-n Is returned to the request processing
次に、図5を参照して、通信処理部23によって実行される処理の一例について説明する。
通信処理部23―n−1(nは、例えば1〜3)及び通信処理部23―n−2の各々は、通信管理部22−nからの呼び出しに応じて(ステップS50)、登録データc―n−1及び登録データc―n−2の各々を引数として通信処理スレッドを起動する(ステップS51)。通信処理部23―n−1及び通信処理部23―n−2の各々は、対応するサービスサーバ30−nにデータ登録を依頼し、処理結果をサービスサーバ30―nの各々から取得する(ステップS52)。通信処理部23―n−1及び通信処理部23―n−2の各々は、取得した処理結果を対応する通信管理部22―nに返却する(ステップS53)。
Next, an example of processing executed by the
Each of the communication processing unit 23-n-1 (n is, for example, 1 to 3) and the communication processing unit 23-n-2 responds to a call from the communication management unit 22-n (step S50), and registration data c -A communication processing thread is activated with each of n-1 and registered data c-n-2 as arguments (step S51). Each of the communication processing unit 23-n-1 and the communication processing unit 23-n-2 requests data registration from the corresponding service server 30-n, and obtains a processing result from each of the service servers 30-n (steps). S52). Each of the communication processing unit 23-n-1 and the communication processing unit 23-n-2 returns the acquired processing result to the corresponding communication management unit 22-n (step S53).
次に、図6乃至図8を参照して、ゲートウェイサーバ20の各部によって保持される情報の一例について説明する。各部は、各々の役割に応じて、各部の処理において必要な設定データを保持する。
Next, an example of information held by each unit of the
まず、図6を参照して、要求処理統括管理部21によって保持される情報を示すデータベース構造の一例について説明する。
要求処理統括管理部21は、データ所在情報24を保持する。上述したように、データ所在情報24は、リクエストデータをサービスサーバ30ごとに分割するために必要な情報を含む。また、データ所在情報24は、リクエストデータ内に含まれる各データ種別が格納されているサービスサーバ30を特定するための情報でもある。
First, an example of a database structure indicating information held by the request processing
The request processing
データ所在情報24は、図6に示すように、例えば、データ種別情報24−a及び格納先サービスサーバ情報24―bを有する。
As shown in FIG. 6, the
データ種別情報24−aは、データの種別を示す情報である。データ種別情報24−aは、図6に示すように、例えば、診療に関する診療レセプト情報、介護に関する介護レセプト情報、および健康診断に関する健康診断情報の要素を有する。 The data type information 24-a is information indicating the type of data. As shown in FIG. 6, the data type information 24-a includes, for example, medical receipt information related to medical care, care receipt information related to care, and health check information related to health checkup.
格納先サービスサーバ情報24―bは、データの格納先であるサービスサーバ30に関する情報である。格納先サービスサーバ情報24―bは、図6に示すように、例えば、サービスサーバ1、サービスサーバ2、およびサービスサーバ3の要素を有する。
The storage destination service server information 24-b is information related to the
データ種別情報24−aの各要素は、サービスサーバ情報24―bの各要素に一対一に関連付けられており、各サービスサーバ30によって格納されるデータ種別を示している。
Each element of the data type information 24-a is associated with each element of the service server information 24-b on a one-to-one basis, and indicates a data type stored by each
次に、図7を参照して、通信管理部22によって保持される情報を示すデータベース構造の一例について説明する。
通信管理部22は、サービスサーバ経路特性情報25を保持する。上述したように、サービスサーバ経路特性情報25は、1回の通信で適切なサイズを特定するための情報を含む。また、サービスサーバ経路特性情報25は、サービスサーバ識別情報25−a毎に、サービスサーバ30の性能による最適値に関する情報(サーバ性能要素情報25―b)、及び、サービスサーバ30への経路の性能による最適値に関する情報(経路特性要素情報25―c)も含む。
Next, an example of a database structure indicating information held by the
The
最適値としては、通信管理部22によって保持されているサービスサーバ30に対するリクエスト件数に基づき、各サービスサーバ30におけるリクエスト件数のうちリクエスト件数の少ない値を、最適値としてもよい。または、通信管理部22によって保持されている上述したような適切なデータサイズに基づき、例えば、適切なデータサイズをリクエストデータの1単位の記録サイズで除算した値を最適値として、通信管理部22等によって算出してもよい。
As the optimum value, based on the number of requests to the
具体的には、図7に示すように、サービスサーバ経路特性情報25は、サービスサーバ識別情報25−a、サーバ性能要素情報25−b、及び経路特性要素情報25−cを有する。
Specifically, as shown in FIG. 7, the service server path
サービスサーバ識別情報25−aは、各サービスサーバを識別するための情報であり、図7に示すように、例えば、サービスサーバ1、サービスサーバ2、およびサービスサーバ3の要素を有する。
The service server identification information 25-a is information for identifying each service server, and includes, for example, elements of the
また、サーバ性能要素情報25−b及び経路特性要素情報25−cは、各サービスサーバ30に一対一に関連付けられている。例えば、図7に示すように、サービスサーバ1は、100件を最適値とするサーバ性能要素情報25―bの要素、及び、200件を最適値とする経路特性要素25―cの要素、に関連付けられている。同様に、サービスサーバ2は、200件を最適値とするサーバ性能要素情報25―bの要素、及び、200件を最適値とする経路特性要素25―cの要素、に関連付けられている。また、サービスサーバ3は、300件を最適値とするサーバ性能要素情報25―bの要素、及び、200件を最適値とする経路特性要素25―cの要素、に関連付けられている。
The server performance element information 25-b and the path characteristic element information 25-c are associated with each
次に、図8を参照して、通信処理部23によって保持される情報を示すデータベース構造の一例について説明する。
通信処理部23は、サービスサーバ通信情報26を保持する。上述したように、サービスサーバ通信情報26は、サービスサーバ識別情報26−a毎に、End Point Reference情報26―b、IPアドレス情報26−c、及びポートなどの各サービスサーバ30と通信するための情報を含む。
Next, an example of a database structure indicating information held by the
The
サービスサーバ識別情報26―aの各要素は、図8に示すように、End Point Reference情報26―bの各要素、及び、IPアドレス情報26−cの各要素と一対一に関連付けられている。例えば、サービスサーバ1は、「xxxxx」で示されるEnd Point Reference情報26―bの要素、及び、「xx.xx.xx.xx」で示されるIPアドレス情報26−cの要素、に関連付けられている。
As shown in FIG. 8, each element of the service server identification information 26-a is associated with each element of the End Point Reference information 26-b and each element of the IP address information 26-c on a one-to-one basis. For example, the
次に、図9を参照して、ゲートウェイサーバ20の各部によって引き渡されるデータの一例について説明する。
外部サーバ40から要求処理統括管理部21に引き渡されるデータである「登録データa」は、様々なユーザ属性を有する複数のユーザに関するデータ、及び、複数のデータ種別に関するデータを含んでいる。
Next, an example of data delivered by each unit of the
The “registration data a” that is data delivered from the
「登録データa」は、例えば、図9に示すような引き渡しデータベース90として表される。具体的には、引き渡しデータベース90は、ユーザ識別情報90−a、データ種別情報90―b、及びユーザ属性情報90−cを含む。また、データ種別情報90−bは、診療レセプト情報90−d、介護レセプト情報90−e、及び健康診断情報90―fを含む。また、ユーザ属性情報90−cは、所属保険者情報90―g及び居住地情報90−hを含む。
“Registered data a” is represented, for example, as a
より詳細には、ユーザ識別情報90−a毎に、診療レセプト情報90−d、介護レセプト情報90−e、健康診断情報90―f、所属保険者情報90―g、及び居住地情報90−hが関連付けられている。例えば、UserAで示されるユーザ識別情報90−aには、「xxAA」で示される診療レセプト情報90−dの要素、「yyAA」で示される介護レセプト情報90−eの要素、「zzAA」で示される健康診断情報90−fの要素、「国民健康保険」で示される所属保険者情報90−gの要素、及び、「自治体X」で示される居住地情報90−dhの要素が関連付けられている。 More specifically, for each user identification information 90-a, medical receipt information 90-d, care receipt information 90-e, health check information 90-f, belonging insurer information 90-g, and residence information 90-h Is associated. For example, in the user identification information 90-a indicated by UserA, the element of the medical receipt information 90-d indicated by “xxAA”, the element of the care reception information 90-e indicated by “yyAA”, indicated by “zzAA” Are associated with an element of health check information 90-f, an element of insurer information 90-g indicated by "National Health Insurance", and an element of residence information 90-dh indicated by "Local Government X". .
要求処理統括管理部21から通信管理部21−1,21−2,21−3の各々に引き渡されるデータである登録データ92(b−1),92(b−2),92(b−3)は、それぞれ、サービスサーバ30−1,30−2,30−3の各々に格納されるデータ種別に関するリクエストデータのみが抜粋されたデータである。
Registration data 92 (b-1), 92 (b-2), and 92 (b-3) that are data delivered from the request processing
具体的には、登録データ92(b−1)は、登録データa 90から、ユーザ識別情報90−a毎に診療レセプト情報90−dが抜粋されたデータである。同様に、登録データ92(b−2)は、登録データa 90から、ユーザ識別情報90−a毎に介護レセプト情報90−eが抜粋されたデータである。また、登録データ92(b−3)は、登録データa 90から、ユーザ識別情報90−a毎に健康診断レセプト情報90−fが抜粋されたデータである。 Specifically, the registration data 92 (b-1) is data obtained by extracting the medical receipt information 90-d for each user identification information 90-a from the registration data a 90. Similarly, the registration data 92 (b-2) is data obtained by extracting the care receipt information 90-e for each user identification information 90-a from the registration data a 90. The registration data 92 (b-3) is data obtained by extracting the health checkup receipt information 90-f for each user identification information 90-a from the registration data a90.
また、登録データ94(c−1−1),94(c−1−2)は、通信管理部22−1から通信処理部23−1−1及び通信処理部23−1−2に引き渡されるリクエストデータであり、サービスサーバ30−1の性能及びサービスサーバ30−1までの経路の特性に適したサイズに切り分けられている。 The registration data 94 (c-1-1) and 94 (c-1-2) are delivered from the communication management unit 22-1 to the communication processing unit 23-1-1 and the communication processing unit 23-1-2. The request data is divided into sizes suitable for the performance of the service server 30-1 and the characteristics of the route to the service server 30-1.
具体的には、登録データ94(c−1−1)は、UserAに関する診療レセプト情報90−d及びUserBに関する診療レセプト情報90−dを含む100件の診療レセプト情報90−dを有している。一方、登録データ94(c−1−2)は、UserCに関する診療レセプト情報90−d及びUserDに関する診療レセプト情報90−dを含む100件の診療レセプト情報90−dを有している。 Specifically, the registration data 94 (c-1-1) includes 100 pieces of medical receipt information 90-d including the medical receipt information 90-d related to UserA and the medical receipt information 90-d related to UserB. . On the other hand, the registration data 94 (c-1-2) has 100 pieces of medical receipt information 90-d including the medical receipt information 90-d related to UserC and the medical receipt information 90-d related to UserD.
同様に、図示していないが、通信管理部22−2から通信処理部23−2−1及び通信処理部23−2−2に引き渡されるデータである登録データ94(c−2−1)及び登録データ94(c−2−2)も存在する。これら登録データ94(c−2−1)および登録データ94(c−2−2)の各々も同様に、サービスサーバ30−2の性能及びサービスサーバ30−2までの経路の特性に適したサイズに切り分けられている。 Similarly, although not shown, registration data 94 (c-2-1), which is data delivered from the communication management unit 22-2 to the communication processing unit 23-2-1 and the communication processing unit 23-2-2, and Registration data 94 (c-2-2) also exists. Similarly, each of the registration data 94 (c-2-1) and the registration data 94 (c-2-2) has a size suitable for the performance of the service server 30-2 and the characteristics of the route to the service server 30-2. It is carved into.
また、同様に、図示していないが、通信管理部22−3から通信処理部23−3−1及び通信処理部23−3−2に引き渡されるデータである登録データ94(c−3−1)及び登録データ94(c−3−2)も存在する。これら登録データ94(c−3−1)および登録データ94(c−3−2)の各々も同様に、サービスサーバ30−3の性能及びサービスサーバ30−3までの経路の特性に適したサイズに切り分けられている。 Similarly, although not shown, registration data 94 (c-3-1) which is data delivered from the communication management unit 22-3 to the communication processing unit 23-3-1 and the communication processing unit 23-3-2. ) And registration data 94 (c-3-2). Similarly, each of the registration data 94 (c-3-1) and the registration data 94 (c-3-2) has a size suitable for the performance of the service server 30-3 and the characteristics of the route to the service server 30-3. It is carved into.
以上のような第1の実施形態によって、次のような効果を得ることができる。
リクエストに含まれるデータ種別やデータオーナの所属等に応じて、各スレッドで処理する単位を適切に切り分けてマルチスレッド処理を実行し、通信処理の回数を最小化することが可能となる。また、各スレッドにおいてデータ操作対象となるサービスサーバ30と通信する際に、相手サーバの能力やネットワーク環境に応じて更にスレッド分割を行い、通信処理を最適化することが可能となる。したがって、階層的なマルチスレッド処理による高速化が可能となる。
According to the first embodiment as described above, the following effects can be obtained.
Depending on the data type included in the request, the affiliation of the data owner, etc., it is possible to appropriately divide the unit to be processed in each thread and execute the multi-thread process, thereby minimizing the number of communication processes. Further, when communicating with the
また、より詳細には、リクエストの中身に応じてデータを切り分け、階層的にマルチスレッド化することにより、通信処理の回数を最小化すると共に、各スレッドの対象となる通信相手の能力に応じて、通信処理をそれぞれ最適化することが可能となる。これにより、並列処理システム10内の複数のサービスサーバ30へのデータ操作要求を高速に処理することが可能となる。また、配信先のサービスサーバ30の性能に応じてリクエストデータのサイズを切り分けて、階層的にマルチスレッド化し、並列処理を実行することによって、高速化が可能となる。
(第2の実施形態)
以下、図10及び図11を参照して本発明に係る第2の実施形態を説明する。
なお、以下では、第1の実施形態において示した構成と異なる部分を中心に説明する。そのため、第1の実施形態と共通する要素には同一の符号を付し、重複する説明を省略する。
In more detail, the number of communication processes is minimized by separating the data according to the contents of the request and hierarchically multi-threading, and depending on the ability of the communication partner that is the target of each thread. The communication processing can be optimized. This makes it possible to process data operation requests to the plurality of
(Second Embodiment)
Hereinafter, a second embodiment according to the present invention will be described with reference to FIGS. 10 and 11.
In the following, the description will focus on parts different from the configuration shown in the first embodiment. Therefore, the same code | symbol is attached | subjected to the element which is common in 1st Embodiment, and the overlapping description is abbreviate | omitted.
図10は、本発明の第2の実施形態の並列処理システム100の構成例を示す図である。
第2の実施形態の並列処理システム100は、第1の実施形態の並列処理システム10に対して認証サーバ110をさらに加えた構成である。また、第2の実施形態の並列処理システム100は、並列処理システム100を利用するために認証が必要な場合を想定しており、認証サーバ110によって発行される認証トークンを利用する。
FIG. 10 is a diagram illustrating a configuration example of the
The
認証サーバ110は、ゲートウェイサーバ20及び各サービスサーバ30−1,30−2,・・・,30−Nと接続されており、認証が必要な場合、認証トークンを発行する。
The authentication server 110 is connected to the
次に、図11を参照して、第2の実施形態の並列処理システム100によってなされる処理シーケンスの一例について説明する。
並列処理システム100は、マルチスレッド処理を実行する際、次のような処理をさらに実行する。
ゲートウェイサーバ20は、クライアント端末50または外部サーバ40からのデータ操作リクエストに応じて、リクエスト元のクライアント端末50または外部サーバ40の認証トークンが必要な場合、擬似的な認証を行う(ステップS111)。認証トークンは、例えば、ゲートウェイサーバ20上で動作する各スレッドの起動時に、クライアント端末50に対応するユーザに対して認証済みであることを示すトークンである。また、擬似的な認証とは、ゲートウェイサーバ20において保持されているハッシュ化されたID/パスワードを用いて、各外部サーバ40と接続する際に行われる認証である。
Next, an example of a processing sequence performed by the
The
In response to a data operation request from the
次に、ゲートウェイサーバ20は、擬似的な認証に成功した場合、認証サーバ110に対して認証トークンの発行を要求する(ステップS113)。認証サーバ110は、この要求に応じて認証トークンを発行し(ステップS115)、発行した認証トークンをゲートウェイサーバ20に送信する。
Next, when the pseudo authentication is successful, the
次に、ゲートウェイサーバ20は、並列動作するスレッド間において使用される認証トークンが競合しないように、受信した認証トークンを各スレッドに対して複製する(ステップS117)。換言すると、ゲートウェイサーバ20は、各スレッドに対して認証トークンのインスタンスを生成する。ゲートウェイサーバ20は、複製した認証トークンを各スレッドに対して使用して、各サービスサーバ30に対して並列処理を実行させる(ステップS119)。
Next, the
以上のような第2の実施形態の並列処理システム100によって、次のような効果を得ることができる。
すなわち、第2の実施形態では、認証が必要な場合であっても、認証サーバ110を用いることによって、複数のサービスサーバ30−1,30−2,・・・,30−Nに対するデータ操作処理を並列的に高速に実行することが可能となる。また、各スレッドが並列的に動作する場合であっても、認証トークンが競合することなく認証トークンを利用することが可能となる。また、各サービスサーバ30−1,30−2,・・・,30−Nにおいてリクエスト元である各外部サーバ40を判別することが可能となる。
(第3の実施形態)
以下、図12及び図13を参照して本発明に係る第3の実施形態を説明する。
なお、以下では、第1の実施形態及び第2の実施形態において示した構成と異なる部分を中心に説明する。そのため、第1の実施形態及び第2の実施形態と共通する要素には同一の符号を付し、重複する説明を省略する。
With the
That is, in the second embodiment, even when authentication is required, by using the authentication server 110, data operation processing for a plurality of service servers 30-1, 30-2,. Can be executed in parallel at high speed. Further, even when the threads operate in parallel, the authentication token can be used without the authentication token competing. In addition, each service server 30-1, 30-2,..., 30-N can determine each
(Third embodiment)
A third embodiment according to the present invention will be described below with reference to FIGS.
In the following, the description will focus on parts different from the configurations shown in the first embodiment and the second embodiment. Therefore, the same code | symbol is attached | subjected to the element which is common in 1st Embodiment and 2nd Embodiment, and the overlapping description is abbreviate | omitted.
第3の実施形態の並列処理システム120は、第2の実施形態の並列処理システム100における認証サーバ110の代わりに認証サーバ130を備えた構成である。この構成は、並列処理システム120が、認証サーバ130を使用して、ユーザIDを分散管理する場合を想定している。より詳細には、並列処理システム120は、サービスサーバ30−1,30−2,・・・,30−N間の通信において、ユーザIDを分散管理するために、ユーザ識別子として実ユーザIDを使用せず、各ユーザに対して付与する仲介用の仲介IDを使用する。仲介IDは、認証サーバ130と各サービスサーバ30−1,30−2,・・・,30−Nとの間で連携処理を実行するために使用される。
The
まず、図12を参照して、並列処理システム120の構成例について説明する。
認証サーバ130は、通信処理部131及びデータ操作部132を備える。また、認証サーバ130は、ユーザ情報133及びID連携情報134を保持する。
First, a configuration example of the
The
通信処理部131は、通信処理部23、及び、通信処理部31−1,31−2,・・・,31−Nの何れかとの間で通信を行う。また、通信処理部131は、データ操作部132と接続されており、データ操作部132と連携してデータ操作に関する処理を行ってもよい。また、通信処理部131は、各サービスサーバ−1,30−2,・・・,30−Nと接続されており、各サービスサーバ−1,30−2,・・・,30−Nと連携してデータ操作に関する処理を行ってもよい。
The
データ操作部132は、ユーザ情報133及び通信処理部131と連携して、例えば、後述するような、ユーザ登録処理、仲介用IDの登録処理、及びデータ登録処理を行う。
The
ユーザ情報133は、サービスサーバ30−1,30−2,・・・,30−Nの何れかを利用するユーザの認証サーバ130におけるユーザIDに関する情報を含む。
The
ID連携情報134は、認証サーバ130と各サービスサーバ30−1,30−2,・・・,30−Nと間で用いる仲介IDと認証サーバ130のユーザIDとのマッピングに関するマッピング情報を含む。
The
また、サービスサーバ30−1,30−2,・・・,30−Nの各々も、認証サーバ130と同様の構成をしている。すなわち、サービスサーバ30−1,30−2,・・・,30−Nはそれぞれ、通信処理部31−1,31−2,・・・,31−N、及び、データ操作部32−1,32−2,・・・,32−Nを備え、ユーザ情報33−1,33−2,・・・,33−N、及び、ID連携情報34−1,34−2,・・・,34−Nを保持する。
Each of the service servers 30-1, 30-2,..., 30-N has the same configuration as that of the
サービスサーバ30−1によって保持される各ユーザ情報33−1は、サービスサーバ30−1を利用するユーザのサービスサーバ30−1におけるユーザIDに関する情報を含む。ユーザ情報33−2,・・・,33−Nについても同様である。 Each user information 33-1 held by the service server 30-1 includes information related to a user ID in the service server 30-1 of a user who uses the service server 30-1. The same applies to the user information 33-2, ..., 33-N.
ID連携情報34−1は、認証サーバ130のID連携情報134と同一の仲介IDと、サービスサーバ30−1におけるユーザIDとのマッピングに関するマッピング情報を含む。ID連携情報34−2,・・・,34−Nについても同様である。
The ID linkage information 34-1 includes mapping information related to mapping between the same mediation ID as the
次に、並列処理システム120によってなされる処理シーケンスの一例について説明する。
まず、並列処理システム120によってなされる処理シーケンスの概要について説明する。並列処理システム120によって実行される動作は、各外部サーバ40−1,40−2,・・・,40−Mからのデータ操作リクエストが、更新または削除に関するリクエストである場合、第1の実施形態の並列処理システム10によって実行される動作と同様の動作である。しかしながら、例えばデータ操作リクエストが、登録に関するリクエストである場合、認証サーバ130及び各サービスサーバ30−1,30−2,・・・,30−Nへのユーザ登録処理、並びに、認証サーバ130及び各サービスサーバ30−1,30−2,・・・,30−Nへの仲介用IDの登録処理を、データ登録処理を行う前に実行する必要がある。
Next, an example of a processing sequence performed by the
First, an outline of a processing sequence performed by the
次に、具体的に、図13を参照して、データ登録に関する並列処理について説明する。
まず、ゲートウェイサーバ20は、各外部サーバ40−1,40−2,・・・,40−Mからデータ登録操作リクエストを受信する(ステップS131)。そして、ゲートウェイサーバ20は、データ登録操作リクエストを受信した場合、データ登録処理を並列的に処理する前に、次のような処理を実行する。
Next, the parallel processing related to data registration will be specifically described with reference to FIG.
First, the
要求処理統括管理部21が、データ登録操作リクエストデータに基づき、各サービスサーバ30−1,30−2,・・・,30−N及び認証サーバ130へのユーザ登録要求データを生成する(ステップS133)。なお、生成されるユーザ登録要求データは、データ登録操作リクエストデータに含まれているユーザ情報に対応するユーザに関するデータである。
The request processing
次に、要求処理統括管理部21が、第1の実施形態において説明したデータ登録処理と同様のデータ登録処理を用いて、サービスサーバ30−1,30−2,・・・,30−N毎に生成したユーザ登録要求データを分割する(ステップS135)。そして、要求処理統括管理部21は、分割したユーザ登録要求データを引数として通信管理部22を呼び出す。そして、通信管理部22は、通信先であるサービスサーバ30(サービスサーバ30−1,30−2,・・・,30−Nのうちの何れか)の性能などに適したサイズにユーザ登録要求データを分割し、そして、通信処理部23を呼び出し、ユーザ登録要求データに関する並列処理を実行する。
Next, the request processing
次に、要求処理統括管理部21が、ユーザID連携要求データ(仲介ID登録要求データ)を生成する(ステップS137)。ユーザID連携要求データは、各サービスサーバ30−1,30−2,・・・,30−N及び認証サーバ130に対するデータ登録操作リクエストデータに含まれるユーザ情報に対応するユーザに関するデータである。また、ユーザID連携要求データは、認証サーバ130および各サービスサーバ30−1,30−2,・・・,30−Nに仲介IDを登録することを要求するデータでもある。
Next, the request processing
なお、ユーザID連携要求データに含める仲介IDは、データ登録操作リクエストデータに含まれていてもよいし、ゲートウェイサーバ20によって生成されてもよい。あるいは、ゲートウェイサーバ20が、データ登録操作リクエストデータに含まれるユーザIDに対応する仲介IDを、認証サーバ130に発行及び登録するための依頼をし、認証サーバ130によって発行された仲介IDを使用してもよい。
Note that the mediation ID included in the user ID cooperation request data may be included in the data registration operation request data, or may be generated by the
次に、要求処理統括管理部21が、第1の実施形態において説明したデータ登録処理と同様のデータ登録処理を用いて、サービスサーバ30−1,30−2,・・・,30−N毎にユーザID連携要求データを分割し(ステップS139)、分割したユーザID連携要求データを引数として通信管理部22を呼び出す。そして、通信管理部22は、通信先であるサービスサーバ30(サービスサーバ30−1,30−2,・・・,30−Nのうちの何れか)の性能などに適したサイズにユーザID連携要求データを分割する。そして、通信管理部22が、通信処理部23を呼び出し、ユーザID連携要求データに関する並列処理を実行する(ステップS141)。
Next, the request processing
ステップS141の後、第1の実施形態において説明したデータ登録に関する並列処理を実行する。例えば、ステップS141の後、図3に示すようなステップS31の処理を開始する。 After step S141, the parallel processing related to data registration described in the first embodiment is executed. For example, after step S141, the process of step S31 as shown in FIG. 3 is started.
以上のような第3の実施形態によって、次のような効果を得ることができる。
すなわち、本実施形態によれば、ユーザIDを分散させて管理し、認証サーバ130およびサービスサーバ30−1,30−2,・・・,30−N間において実ユーザIDでなく仲介IDを用いる場合においても、第1の実施形態の並列処理システム10または第2の実施形態の並列処理システム100における並列処理方法を用いて、複数のサービスサーバ30−1,30−2,・・・,30−Nに対して、データ操作処理を高速に実行させることが可能となる。また、ユーザIDを分散管理することによって、登録に関するリクエストを受けた場合に必要となるような、各サービスサーバ30−1,30−2,・・・,30−N及び認証サーバ130へのユーザ登録処理及びID連携処理も、1回のリクエストにおいて、高速に実行することが可能となる。
(その他の変形例)
次に、第1の実施形態乃至第3の実施形態において適用可能な変形例について説明する。
(変形例1)
変形例1では、マルチスレッド処理を実行中にエラーが発生した場合を想定しており、エラー発生時に返却値とエラーに関するログを発行することによって、例えばマルチスレッド処理中のエラー発生時にも、エラー発生箇所を特定する(エラーハンドリング・ログ出力方法)。
According to the third embodiment as described above, the following effects can be obtained.
That is, according to the present embodiment, user IDs are distributed and managed, and an intermediary ID is used instead of an actual user ID between the
(Other variations)
Next, modifications that can be applied in the first to third embodiments will be described.
(Modification 1)
In
変形例1の並列処理システムにおけるゲートウェイサーバ20は、エラーが発生した場合、エラーが発生したスレッドに対応するスレッド番号を発行する機能、及び、エラーが発生した箇所を特定するためのログを出力する機能を有する。
When an error occurs, the
具体的には、ゲートウェイサーバ20は、エラー発生箇所を特定するために、複数のスレッドの各々に対してスレッド番号を付与し、何れかのスレッドでエラーが発生した場合、エラーが発生したスレッドに対応するスレッド番号(以下、エラースレッド番号と称す。)を発行する。なお、スレッド番号は、例えば、スレッドを分割する際に、予め設定された体系的なスレッド番号である。
Specifically, the
次に、ゲートウェイサーバ20は、例えば各スレッドに対して処理を実行している際、エラースレッド番号に対応するスレッドに含まれるデータ操作の対象となるデータを、ログとして出力する。また、ゲートウェイサーバ20は、エラースレッド番号を、例えばリクエスト元である外部サーバ40またはクライアント端末50に返却する。
Next, for example, when executing processing for each thread, the
次に、出力されるログについて説明する。
まず、要求処理統括管理部21は、第1の実施形態乃至第3の実施形態において用いた階層的なスレッドにおける各スレッドに対して、スレッドを分割する際、次のような体系的なスレッド番号を付与する。スレッド番号は、例えば「X.Y.Z」で表わされる。
Next, the output log will be described.
First, when the request processing
ここで、Xは、各サービスサーバ30を示す文字列または数値を表している。文字列で示されるXは、例えば、「medical」、「care」、「inquiry」、または「checkup」である。また、Xの値は、メインスレッドで管理される。
Here, X represents a character string or a numerical value indicating each
Yは、各サービスサーバ30に対して、何個目の通信管理スレッドであるかを示す値である。また、Yは、同一のサービスサーバ30に対するデータを引数として通信管理部21を呼び出すごとに、換言すると通信管理スレッドを作成するごとに、インクリメントされる。また、Yの値は、メインスレッドで管理される。
Y is a value indicating the number of communication management threads for each
Zは、各通信管理スレッドで生成した何個目の通信処理スレッドであるかを示す値である。Zは、通信管理スレッドにおいて通信処理部23を呼び出すごとに、換言すると通信処理スレッドを起動するごとに、インクリメントされる。また、Zの値は、通信管理スレッドで管理される。
Z is a value indicating the number of communication processing threads generated by each communication management thread. Z is incremented each time the
以上のような変形例1によって、次のような効果を得ることができる。
自治体業務データのように、複数のユーザに関するデータかつ多種多様なデータへの操作要求が含まれるリクエストを、並列処理システム内の複数のサービスサーバ30に対して行う場合において、処理の高速化及びエラー発生時の発生箇所の特定が可能となる。
According to
When making a request including operation requests for data related to a plurality of users and various types of data, such as local government business data, to a plurality of
また、利用者であるユーザに対応するクライアント端末50は、エラー発生時にエラースレッド番号を含む返却値およびログを用いることによって、エラー発生箇所及びエラーにより影響を受ける範囲を特定することが可能となる。また、クライアント端末50は、必要に応じて、返却値及びログに基づき、例えばエラー発生箇所に対するデータ操作リクエストの再試行を実行することが可能となる。また、クライアント端末50は、ログに基づき、同一の要求に対する処理であることを判別することによって、要求ごとに正確にデータ操作に関するログを追跡することが可能となる。
Further, the
また、各スレッドの処理中に上述したようなエラースレッド番号をログとして出力することにより、例えば、複数のデータ操作リクエストを処理している場合であっても、同一のデータ操作リクエストを処理している親スレッド及び子スレッドが出力するログをそれぞれ対応づけることが可能となり、同一のデータ操作リクエストの処理のログを追跡することが可能となる。 In addition, by outputting the error thread number as described above as a log during processing of each thread, for example, even when processing a plurality of data operation requests, the same data operation request is processed. It is possible to associate the logs output by the parent thread and the child thread with each other, and it is possible to trace the processing log of the same data operation request.
また、何れかのスレッドでエラーが発生した場合、エラースレッド番号を、例えばリクエスト元である外部サーバ40またはクライアント端末50に返却すると共に、エラーが発生したスレッドに含まれるリクエストデータ及びエラースレッド番号をログに出力することによって、エラーの影響が出る可能性がある同一スレッドで処理されたデータを明確化することが可能となる。そのため、エラー発生時の再試行を効率的に行うことが可能となる。
When an error occurs in any thread, the error thread number is returned to, for example, the
また、不正利用などが発覚した際、ログを用いて利用者ごとにアクセス履歴を追跡できること必要とされるような場合がある。このような場合において、処理を逐次実行する場合は、例えば、実行中のスレッド名をログに出力することによって、複数のデータ操作リクエストが混在している場合であっても、複数のデータ操作リクエストから同一のデータ操作御リクエストに対応するログを抽出すればよい。しかし、マルチスレッド処理を実行する場合において、同一のデータ操作リクエストの処理を複数のスレッドに分割して実行し、各スレッドが同一のデータ操作リクエストであることを示さない単なる連番などのスレッド名でログを出力するような場合は、実行したデータ操作リクエスト処理の実行状況に関する時系列を用いた追跡や、エラー発生箇所の解析などが困難になる。しかしながら、本発明の変形例1において上述したような処理を実行することによって、このようなことを防ぐことが可能となる。
(変形例2)
変形例2は、要求処理統括管理部21によるスレッド分割単位に関する変形例である。
並列処理システムにおいて、リソースをシェアすることによってコストを削減することを目的として、データ種別ごとにサービスサーバ30を設置したとしても、サービスサーバ30内において自治体ごとに独立してデータを管理するような場合がある。また、自治体内において管理組織や区分が異なるデータを独立して管理するために、自治体ごとにサービスサーバ30を設置したとしても、サービスサーバ30内ではデータごとに独立して管理する場合もある。
In addition, when unauthorized use is detected, it may be necessary to track the access history for each user using a log. In such a case, when the processing is executed sequentially, for example, by outputting the name of the executing thread to the log, even if a plurality of data operation requests are mixed, a plurality of data operation requests Logs corresponding to the same data operation request can be extracted from. However, when executing multi-thread processing, the same data operation request processing is divided into multiple threads and executed, and the thread name such as a simple serial number that does not indicate that each thread is the same data operation request In the case of outputting a log with, it becomes difficult to track using the time series regarding the execution status of the executed data operation request processing and to analyze the location where the error occurred. However, this can be prevented by executing the processing described above in the first modification of the present invention.
(Modification 2)
In a parallel processing system, for the purpose of reducing costs by sharing resources, even if a
このような場合、要求処理統括管理部21によって保持されるデータ所在情報24と、サービスサーバ30内のデータベースまたはテーブル等に記録されているより詳細なデータに関する宛先及びユーザ属性情報90−cと、をマッピングする。これにより、要求処理統括管理部21は、リクエストデータに含まれるデータオーナに関するユーザ属性情報90―cをさらに用いてリクエストデータを分割し、通信管理スレッドの単位をサービスサーバ30内で独立して管理される単位に合わせることが可能となる。また、通信管理部22が、データ所在情報24を参照できるようにすることによって、通信管理部22において通信処理部23を呼び出す際、ユーザ属性情報90−cをさらに用いてリクエストデータを分割し、通信管理スレッドの単位をサービスサーバ30内で独立して管理される単位に合わせることが可能となる。
In such a case, the
なお、通信管理部22におけるスレッド分割単位について、エラー発生時の再試行を行うことを考慮した場合、マルチスレッド処理が成功したか否かの結果は、ユーザ単位で把握できることが望ましい。そのため、リクエストデータに含まれる同一のユーザ情報が多い場合などにおいて、サービスサーバ30ごとに分割されたリクエストデータを、通信管理部22においてユーザごとに分割し、通信処理スレッドを起動させるようにしてもよい。
In consideration of retrying when an error occurs for the thread division unit in the
また、上記第1の実施形態乃至第3の実施形態において、データ操作の一例としてデータ登録について述べたが、リクエストデータをリクエスト検索式に置き換えることによって、データ操作としてデータの検索及びデータの取得について、上記第1の実施形態乃至第3の実施形態を適用可能である。そのため、例えば、ユーザIDが分散管理されたデータをID−WSFなどのプロトコルを用いてデータを収集することによって、並列処理の高速化が可能となる。 In the first to third embodiments, the data registration is described as an example of the data operation. However, by replacing the request data with the request search expression, the data search and the data acquisition are performed as the data operation. The first to third embodiments can be applied. Therefore, for example, by collecting data with distributed management of user IDs using a protocol such as ID-WSF, parallel processing can be speeded up.
また、並列処理システム10,100,120は、外部サーバ40と接続することなく、ゲートウェイサーバ20にクライアント端末50を接続して、例えばGUIを用いて、ローカルにあるリクエストデータを読み込むようにしてもよい。
Further, the
なお、この発明は、上記第1の実施形態乃至第3の実施形態に限定されるものではない。例えば、図1,10,12に示すような、ゲートウェイサーバ30とは別に認証サーバ110を備えている場合の構成について説明したが、ゲートウェイサーバ30の中に認証サーバ110を備えていてもよい。または、さらに多くのエンティティで構成してもよい。例えば、要求処理統括管理部21、通信管理部22、通信処理部23、認証サーバ130、及びサービスサーバ30の各々が有するデータベースを適宜統合したり、あるいは、さらに分散することによって、並列処理システム10,100,120を実現してもよい。
In addition, this invention is not limited to the said 1st Embodiment thru | or 3rd Embodiment. For example, the configuration in the case where the authentication server 110 is provided separately from the
その他、図6乃至図9は、各データベースの一例であり、適宜、フィールドを追加することができるため、図6乃至図9等についても、この発明の要旨を逸脱しない範囲で種々変形して実施可能である。 In addition, FIGS. 6 to 9 are examples of each database, and since fields can be added as appropriate, FIGS. 6 to 9 and the like are variously modified without departing from the gist of the present invention. Is possible.
また、その他の変形例でも示したように、この発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。 Further, as shown in other modified examples, the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. Further, various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, you may combine suitably the component covering different embodiment.
10,100,120…並列処理システム、20…ゲートウェイサーバ、21…要求処理統括管理部、22…通信管理部、23…通信処理部、24…データ所在情報、25…サービスサーバ経路特性情報、26…サービスサーバ通信情報、30…サービスサーバ、40…外部サーバ、50…クライアント端末、90…引き渡しデータベース、92,94…登録データ、110,130…認証サーバ、31,131…通信処理部、32,132…データ操作部、33,133…ユーザ情報、34,134…ID連携情報。 DESCRIPTION OF SYMBOLS 10,100,120 ... Parallel processing system, 20 ... Gateway server, 21 ... Request processing supervision management part, 22 ... Communication management part, 23 ... Communication processing part, 24 ... Data location information, 25 ... Service server path characteristic information, 26 ... service server communication information, 30 ... service server, 40 ... external server, 50 ... client terminal, 90 ... delivery database, 92, 94 ... registration data, 110, 130 ... authentication server, 31, 131 ... communication processing unit, 32, 132: Data operation unit, 33, 133: User information, 34, 134: ID linkage information.
Claims (5)
外部サーバから各管理サーバに対して複数のユーザに関するデータの操作をリクエストされた場合、前記データの種別または前記ユーザの属性に基づいて前記データを前記複数の管理サーバごとのリクエストデータに分割し、前記分割された各管理サーバに対応するリクエストデータを異なる複数のスレッドとしてマルチスレッド処理を実行する制御手段を備え、
前記制御手段は、前記複数のスレッドの各々に対して少なくとも操作対象となる前記管理サーバを示す識別子を含むスレッド番号を付与し、何れかのスレッドでエラーが発生した場合、前記エラーが発生したスレッドに対応するスレッド番号を少なくとも前記外部サーバに返却またはログに出力する、並列処理システム。 A system for processing data in parallel using a plurality of management servers,
When an operation of data related to a plurality of users is requested from an external server to each management server, the data is divided into request data for each of the plurality of management servers based on the type of the data or the attribute of the user, a control means for executing a multi-threading as a plurality of threads having different request data corresponding to each management server that is the divided,
The control means assigns a thread number including at least an identifier indicating the management server to be operated to each of the plurality of threads, and when an error occurs in any thread, the thread in which the error has occurred A parallel processing system that returns a thread number corresponding to at least to the external server or outputs it to a log .
前記認証手段は、リクエスト元の認証トークンが必要な場合、前記認証トークンを発行し、
前記制御手段は、前記マルチスレッド処理を実行するために、前記認証トークンを複製し、前記複製された認証トークンを各スレッドに対して使用する、請求項1記載のシステム。 An authentication unit for authenticating the user;
When the authentication token of the request source is necessary, the authentication means issues the authentication token,
The system according to claim 1, wherein the control means replicates the authentication token and uses the replicated authentication token for each thread to perform the multi-thread processing.
前記システムが備える制御手段が、外部サーバから前記各管理サーバに対して複数のユーザに関するデータの操作をリクエストされた場合、前記データの種別または前記ユーザの属性に基づいて前記データを前記複数の管理サーバごとのリクエストデータに分割し、前記分割された各管理サーバに対応するリクエストデータを、異なる複数のスレッドとしてマルチスレッド処理を実行し、
前記システムが備える制御手段が、前記マルチスレッド処理を実行する際に、前記複数のスレッドの各々に対して少なくとも操作対象となる前記管理サーバを示す識別子を含むスレッド番号を付与し、何れかのスレッドでエラーが発生した場合、前記エラーが発生したスレッドに対応するスレッド番号を少なくとも前記外部サーバに返却またはログに出力する、並列処理方法。 A parallel processing method executed by a system that processes data in parallel using a plurality of management servers,
Control means for the system comprises If the requested operation data for a plurality of users with respect to each management server from the external server, the plurality of managing the data based on the attributes of the type or the user of the data dividing the request data for each server, the request data corresponding to the divided respective management server has to perform multithreading in a plurality of different threads,
When the control means included in the system executes the multi-thread processing, each of the plurality of threads gives a thread number including an identifier indicating the management server to be operated at least to any one of the threads. In the case where an error occurs , a parallel processing method in which at least a thread number corresponding to the thread in which the error has occurred is returned to the external server or output to a log .
前記システムが備える認証手段が、リクエスト元の認証トークンが必要な場合、前記認証トークンを発行し、
前記システムが備える制御手段が、前記マルチスレッド処理を実行するために、前記認証トークンを複製し、前記複製された認証トークンを各スレッドに対して使用する、請求項3記載の並列処理方法。 An authentication means included in the system authenticates the user,
When the authentication means provided in the system requires the authentication token of the request source, the authentication token is issued,
The parallel processing method according to claim 3 , wherein the control means included in the system duplicates the authentication token and uses the duplicated authentication token for each thread to execute the multi-thread processing.
外部サーバから各管理サーバに対して複数のユーザに関するデータの操作をリクエストされた場合、前記データの種別または前記ユーザの属性に基づいて前記データを前記複数の管理サーバごとのリクエストデータに分割し、前記分割された各管理サーバに対応するリクエストデータを、異なる複数のスレッドとしてマルチスレッド処理を実行する手順をコンピュータに実行させ、
かつ前記マルチスレッド処理を実行する手順は、前記複数のスレッドの各々に対して少なくとも操作対象となる前記管理サーバを示す識別子を含むスレッド番号を付与し、何れかのスレッドでエラーが発生した場合、前記エラーが発生したスレッドに対応するスレッド番号を少なくとも前記外部サーバに返却またはログに出力する、プログラム。 A program for processing data in parallel using a plurality of management servers,
When an operation of data related to a plurality of users is requested from an external server to each management server, the data is divided into request data for each of the plurality of management servers based on the type of the data or the attribute of the user, wherein the divided request data corresponding to each management server which, to execute the steps for executing the multithreaded processed as different threads in the computer,
And the procedure for executing the multi-thread process is to assign a thread number including an identifier indicating at least the management server to be operated to each of the plurality of threads, and when an error occurs in any of the threads, A program that returns at least the thread number corresponding to the thread in which the error has occurred to the external server or outputs it to a log .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014247360A JP6340308B2 (en) | 2014-12-05 | 2014-12-05 | Parallel processing system, method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014247360A JP6340308B2 (en) | 2014-12-05 | 2014-12-05 | Parallel processing system, method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016110397A JP2016110397A (en) | 2016-06-20 |
JP6340308B2 true JP6340308B2 (en) | 2018-06-06 |
Family
ID=56124481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014247360A Active JP6340308B2 (en) | 2014-12-05 | 2014-12-05 | Parallel processing system, method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6340308B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110209549B (en) * | 2018-05-22 | 2022-02-22 | 腾讯科技(深圳)有限公司 | Data processing method, related device, related equipment and system |
JP6778713B2 (en) * | 2018-05-29 | 2020-11-04 | 日本電信電話株式会社 | Functional analysis device, functional analysis method and functional analysis program |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6651183B1 (en) * | 1999-10-28 | 2003-11-18 | International Business Machines Corporation | Technique for referencing failure information representative of multiple related failures in a distributed computing environment |
JP2004062566A (en) * | 2002-07-30 | 2004-02-26 | Jmnet Inc | Database system, master node device constituting it, and program |
US8397290B2 (en) * | 2008-06-27 | 2013-03-12 | Microsoft Corporation | Granting least privilege access for computing processes |
JP5478591B2 (en) * | 2011-11-22 | 2014-04-23 | 日本電信電話株式会社 | Information system and authentication state management method thereof |
-
2014
- 2014-12-05 JP JP2014247360A patent/JP6340308B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016110397A (en) | 2016-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113169952B (en) | Container cloud management system based on block chain technology | |
TWI751139B (en) | Business processing system, business processing method and business update method | |
US9613330B2 (en) | Identity and access management | |
US9501541B2 (en) | Separation of pod provisioning and service provisioning | |
EP3370391B1 (en) | System for data cleansing based aggregation and prioritization of it asset field values from real-time event logs and method thereof | |
US9071644B2 (en) | Automated security policy enforcement and auditing | |
CN104679717A (en) | Method and management system of elastic cluster deployment | |
CN108431836A (en) | Infrastructure management system for hardware fault reparation | |
EP2893683A1 (en) | Ldap-based multi-customer in-cloud identity management system | |
US11057276B2 (en) | Bulk service mapping | |
US20190386960A1 (en) | Systems and methods for firewall configuration using block lists | |
CN104718533A (en) | Robust hardware fault management system, method and framework for enterprise devices | |
CN106055377A (en) | Method for achieving distributed compiling and distributed compiling system | |
US11431800B2 (en) | Systems and methods for recording an indeterministic transaction on a distributed ledger network | |
CA2967451A1 (en) | Toll-free telecommunications management platform | |
JP6340308B2 (en) | Parallel processing system, method, and program | |
KR20170077182A (en) | Rule-based action triggering in a provider network | |
CN109117152B (en) | Service generation system and method | |
US20220044144A1 (en) | Real time model cascades and derived feature hierarchy | |
US11805146B2 (en) | System and method for detection promotion | |
US20190303469A1 (en) | SYSTEM AND METHOD FOR ALERT INSIGHT IN CONFIGURATION MANAGEMENT DATABASES (CMDBs) | |
US10466984B2 (en) | Identifying and associating computer assets impacted by potential change to a particular computer asset | |
US11582345B2 (en) | Context data management interface for contact center | |
CN113240499B (en) | Order processing method and device based on system switching | |
US11133977B2 (en) | Anonymizing action implementation data obtained from incident analysis systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170303 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180124 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180220 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180411 |
|
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: 20180508 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180514 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6340308 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |