JP7351679B2 - Computer, data control method and data store system - Google Patents
Computer, data control method and data store system Download PDFInfo
- Publication number
- JP7351679B2 JP7351679B2 JP2019161075A JP2019161075A JP7351679B2 JP 7351679 B2 JP7351679 B2 JP 7351679B2 JP 2019161075 A JP2019161075 A JP 2019161075A JP 2019161075 A JP2019161075 A JP 2019161075A JP 7351679 B2 JP7351679 B2 JP 7351679B2
- Authority
- JP
- Japan
- Prior art keywords
- determination key
- priority
- priority determination
- data
- identifier
- 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
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Description
本発明は、クライアントから受信したデータをサービス提供サーバへ転送するキューシステム及びデータストアシステムに関する。 The present invention relates to a queue system and a data store system that transfer data received from a client to a service providing server.
近年において、ユーザが所有する通信端末やIoTデバイスの増加に伴い、これらのデバイスから送信されるデータが増大している。これらのデータを処理するシステムとして、キューサーバを含むシステムがある。 In recent years, as the number of communication terminals and IoT devices owned by users has increased, the amount of data transmitted from these devices has increased. As a system for processing these data, there is a system including a queue server.
従来のキューを保持するシステムは、各用途においてキューを設定し、キュー毎に、各リクエストをメッセージとして扱い、FIFO(ファーストインファーストアウト)で制御している。 A conventional system that maintains a queue sets a queue for each application, handles each request as a message for each queue, and controls the queue using FIFO (first-in-first-out).
また、上記キューサーバに関連する技術として、キュー内部ではなく、キュー間で優先順位を設定して処理する技術がある。複数のキューを設定し、キュー間での優先順位を管理させることにより、キュー間での、リクエストの優先順位を決定し、優先順位どおりに処理をするものも知られている。ただし、このように複数のキューを設けると各サービス提供システム毎にキューの設計が必要となり、運用面においても複雑な運用となる。 Further, as a technology related to the above-mentioned queue server, there is a technology in which priority is set and processed not within a queue but between queues. There is also known a system that sets a plurality of queues and manages the priorities among the queues, thereby determining the priorities of requests among the queues and processing them according to the priorities. However, if a plurality of queues are provided in this way, it will be necessary to design the queues for each service providing system, and the operation will be complicated.
上記課題をふまえ、特許文献1には、同一キュー内において、キュー格納時に、相互関係のあるメッセージを関連付けるキーを付与し、他のメッセージとの相互関係に基づいたキュー処理順序の制御を行う発明が開示されている。
In view of the above problems,
近年において、ユーザが所有する通信端末やIoTデバイスの増加に伴い、これらのデバイスから送信されるデータが増大している。メッセージキューもビックデータの受け皿となるよう大量のデータを格納、取り出しを行う機能が要求されている。 In recent years, as the number of communication terminals and IoT devices owned by users has increased, the amount of data transmitted from these devices has increased. Message queues are also required to have the ability to store and retrieve large amounts of data in order to serve as a receptacle for big data.
また、単に大量のデータを処理するだけではなく、処理するデータの特性に応じて複数の種別の優先度を付与し、複数の条件によって特定されたデータをより速くサービス実現サーバへ送信する機会も要求されるようになってきた。 In addition to simply processing large amounts of data, there is also an opportunity to assign priorities to multiple types of data depending on the characteristics of the data to be processed, and to send data identified based on multiple conditions to the service realization server more quickly. It's starting to be demanded.
そこで本発明は、上記問題点に鑑みてなされたもので、複数の優先度を有するリクエストを受け付けて、高効率で処理することを目的とする。 The present invention has been made in view of the above-mentioned problems, and an object of the present invention is to receive requests having multiple priorities and process them with high efficiency.
プロセッサと、メモリと、通信装置を含む計算機であって、前記通信装置が受信した複数の優先度として第1優先順位決定キーと第2優先順位決定キーを含むデータを制御する制御部と、前記データを到着順で格納する受信データ格納部と、前記データの前記第1優先順位決定キーと第2優先順位決定キーと前記データの識別子を対応付けて管理する格納管理テーブルと、1以上の前記データの識別子を、前記第1優先順位決定キーと第2優先順位決定キーの優先度に関連付けて格納する優先順位制御情報テーブルと、を有し、前記制御部は、前記通信装置が受信した複数の優先度を含むデータを、到着順で前記受信データ格納部に格納し、前記受信したデータから複数の優先度として第1優先順位決定キーと第2優先順位決定キーを取得して前記受信したデータに識別子を設定して前記格納管理テーブルへ格納する際には、前記第1優先順位決定キーと第2優先順位決定キーが優先順位制御テーブルに登録済みの場合には第1優先順位決定キーと第2優先順位決定キーのエントリに前記データの識別子を格納管理テーブルへ追加し、第1優先順位決定キーのみが前記優先順位制御テーブルに登録済みの場合には第1の優先順位決定キーと前記データの識別子を格納管理テーブルへ追加し、第1優先順位決定キーが無ければ前記データの識別子のみを格納管理テーブルへ格納し、前記第1優先順位決定キーと第2優先順位決定キーと前記データの識別子を優先順位制御テーブルへ格納する際には、第1優先順位決定キーと第2優先順位決定キーが当該優先順位制御テーブルに登録済みの場合は、第1優先順位決定キーと第2優先順位決定キーのエントリに前記データの識別子を優先順位制御テーブルへ追加し、第1優先順位決定キーのみが当該優先順位制御テーブルに登録済みの場合は、第2優先順位決定キーと前記データの識別子を優先順位制御テーブルへ格納し、前記受信データ格納部から前記データを取り出す際には、前記第1優先順位決定キーと第2優先順位決定キーが格納管理テーブルに登録済みで、かつ、前記優先順位制御テーブルの第1優先順位決定キーと第2優先順位決定キーのエントリの前記識別子と、格納管理テーブルの第1優先順位決定キーと第2優先順位決定キーのエントリの前記識別子が一致していれば当該識別子に対応するデータを前記受信データ格納部から取得して送信し、前記優先順位制御テーブルの第1優先順位決定キーと第2優先順位決定キーの前記識別子と、前記格納管理テーブルの第1優先順位決定キーと第2優先順位決定キーのエントリの前記識別子が一致しない場合には前記識別子に対応するデータの送信を保留する。 A computer including a processor, a memory, and a communication device, the control unit controlling data including a first priority determination key and a second priority determination key as a plurality of priorities received by the communication device ; a received data storage unit that stores data in the order of arrival; a storage management table that manages the first priority determination key, the second priority determination key of the data, and the identifier of the data in association with each other; a priority control information table that stores data identifiers in association with the priorities of the first priority determination key and the second priority determination key; The data including the priorities of the received data are stored in the received data storage unit in the order of arrival, and a first priority determination key and a second priority determination key are obtained from the received data as a plurality of priorities. When setting an identifier to data and storing it in the storage management table, if the first priority determination key and the second priority determination key are already registered in the priority control table, the first priority determination key and the identifier of the data is added to the storage management table in the entry of the second priority determination key, and if only the first priority determination key is already registered in the priority control table, it is added as the first priority determination key. The identifier of the data is added to the storage management table, and if there is no first priority determination key, only the identifier of the data is stored in the storage management table, and the first priority determination key, the second priority determination key, and the When storing the data identifier in the priority control table, if the first priority determination key and the second priority determination key have already been registered in the priority control table, the first priority determination key and the second priority determination key must be stored. Add the identifier of the data to the priority control table in the priority order determination key entry, and if only the first priority determination key is registered in the priority control table, the second priority determination key and the data When storing the identifier in the priority order control table and retrieving the data from the received data storage section, the first priority order determination key and the second priority order determination key are already registered in the storage management table, and the The identifiers of the entries for the first priority determination key and the second priority determination key in the priority control table match the identifiers for the entries for the first priority determination key and the second priority determination key in the storage management table. If so, data corresponding to the identifier is acquired from the received data storage unit and transmitted, and the data corresponding to the identifier of the first priority determination key and second priority determination key of the priority control table and the storage management table are transmitted. If the identifiers of the entries of the first priority determination key and the second priority determination key do not match, transmission of data corresponding to the identifiers is suspended.
本発明により、受信データ格納部が到着順で受け付けたデータを、前記データに含まれる複数の優先度に基づいて効率よく処理することが可能となる。 According to the present invention, it becomes possible to efficiently process data received by the received data storage unit in the order of arrival based on a plurality of priorities included in the data.
本明細書において開示される主題の、少なくとも一つの実施の詳細は、添付されている図面と以下の記述の中で述べられる。開示される主題のその他の特徴、態様、効果は、以下の開示、図面、請求項により明らかにされる。 The details of at least one implementation of the subject matter disclosed herein are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages of the disclosed subject matter will be apparent from the following disclosure, drawings, and claims.
以下、本発明の実施形態を添付図面に基づいて説明する。 Embodiments of the present invention will be described below based on the accompanying drawings.
前述したように、ユーザ等のデバイスから送信されるデータが増大しても大量のデータを処理することが要求さている。また、処理するデータの特性に応じて複数の種別の優先度を付与し、複数の条件によって特定されたデータをより速くサービス実現サーバへ送信する機会も要求されるようになってきた。 As mentioned above, even as the amount of data transmitted from devices such as users increases, there is a need to process large amounts of data. Additionally, there is a growing demand for opportunities to assign priorities to multiple types of data depending on the characteristics of the data to be processed, and to more quickly transmit data specified by multiple conditions to a service implementation server.
本発明が適用される具体例としては、スマートメーターに代表されるIoTデバイスからの頻繁なデータ受信が挙げられる。また、災害時や不具合発生時に代表されるメールサービスや、サーバへのアクセス集中時におけるチケット予約販売システムにも適用される。 A specific example to which the present invention is applied is frequent data reception from an IoT device typified by a smart meter. It can also be applied to email services during disasters or malfunctions, and to ticket reservation and sales systems when servers are heavily accessed.
図1は、本発明の実施例1を示し、チケットの予約販売で行われる処理の一例を示す図である。 FIG. 1 shows a first embodiment of the present invention, and is a diagram showing an example of processing performed in ticket reservation sales.
図1では、チケットの日程が3種類(12/10、12/20、12/30)、予約を希望するユーザの属性として3属性(ゴールド会員、シルバー会員、ブロンズ会員)がある場合を示している。 Figure 1 shows a case where there are three types of ticket dates (12/10, 12/20, 12/30) and three attributes of the user who wishes to make a reservation (gold member, silver member, bronze member). There is.
チケットの日程として12/10が最も近いため、12/10の予約を優先して処理する方針とする。また、ユーザもゴールド会員を優先して受け付けることが本サービスを提供するうえで重要な方針となる。これら2つの方針を優先度に対応させて説明する。 Since 12/10 is the closest ticket date, we will prioritize reservations for 12/10. Furthermore, it is an important policy in providing this service that users should be given priority to gold members. These two policies will be explained in correspondence with priorities.
なお、複数の優先度を有する予約を本発明のように1本のキューで設計せずに、従来のような複数のキューで設計した場合との比較も下記に説明する。 A comparison with a case where reservations having multiple priorities are designed using multiple queues as in the prior art instead of using one queue as in the present invention will be described below.
複数のキューの構成を採用する際は、複数の各サービス提供サーバへリクエストを送信する場合に、各サービス提供サーバ(図2参照)分のキューが必要となり、設計の管理コストが増加する。 When adopting a configuration of multiple queues, when sending requests to multiple service providing servers, queues for each service providing server (see FIG. 2) are required, increasing design management costs.
すなわち、優先順位に応じてキューの本数を増加させないことが好ましいがそのような構成が取れない。また、新規に各サービス提供サーバが追加となり、既存のサービスと順序の保証が必要になった場合に、キューの設計をやり直すなどの開発コストがかかってしまう。この際にもキューの本数が多いとキュー設計のやり直しが煩雑となる。 That is, although it is preferable not to increase the number of queues according to the priority order, such a configuration is not possible. Furthermore, when a new service providing server is added and it becomes necessary to guarantee the order of existing services, development costs such as re-designing the queue are incurred. In this case, too, if the number of queues is large, re-designing the queues becomes complicated.
また、キューの設計によってはキューが格納される際(キューイン)に、その後の取り出し順が確定する場合があり、キューからデータを取り出す際(キューアウト、もしくはデキュー)には判定を行わない。言い換えるならば、キューにデータが格納された後においては取り出し順を変更していない。 Furthermore, depending on the design of the queue, the subsequent order of retrieval may be determined when the queue is stored (queue in), and no determination is made when data is retrieved from the queue (queue out or dequeue). In other words, after data is stored in the queue, the order of retrieval is not changed.
上記の場合、キューにデータが格納された後に、取り出し順を変更できないため、時間の経過によって状態(負荷やリソース)が変化するキューサーバ(図2の優先順位保証サーバ)の状態に合わせて特定のデータを優先して取り出すことができないことになる。 In the above case, the retrieval order cannot be changed after data is stored in the queue, so it is specified according to the state of the queue server (priority guarantee server in Figure 2) whose state (load and resources) changes over time. This means that the data cannot be retrieved with priority.
本発明は、1つのキューに入ったメッセージでも、優先順位の制御キーを設定することにより、相互関係があるメッセージのみを順序制御し、同一キュー内であっても、キュー設計の複雑化を回避し柔軟な順序制御を可能とする。 By setting a priority control key for messages in one queue, the present invention controls the order of only messages that are related to each other, thereby avoiding complication in queue design even in the same queue. This enables flexible order control.
図2は、本発明の実施例1における計算機システムのブロック図を示す。本実施例ではやり取りするデータをメッセージとして説明しているが他のデータでもよい。 FIG. 2 shows a block diagram of a computer system according to the first embodiment of the present invention. In this embodiment, the data to be exchanged is explained as a message, but other data may be used.
本実施例1における計算機システムはクライアントサーバ102から送られてきたリクエスト(メッセージ)を優先順位保証サーバ300が入力インタフェース302にて受信し、キュー303に格納する。
In the computer system according to the first embodiment, a
キュー制御部320はキュー情報管理部304の情報に基づいてキュー303に格納されたリクエストに優先順位を付与し、キュー制御部320は優先順位に応じて出力インタフェース305から各サービス提供サーバ104-A~104-Cにリクエストを送信する。
The
その後、優先順位保証サーバ300は、サービス提供サーバ104-A~104-Cから送られたリクエストに対する応答を受け付けると、クライアントサーバ102へ転送する。なお、以下ではサービス提供サーバを個々に特定しない場合には、「-」以降を省略した符号「104」を使用する。
Thereafter, upon receiving a response to the request sent from the service providing servers 104-A to 104-C, the
優先順位保証サーバ300は、ネットワーク35を介して各サービス提供サーバ104へのリクエストを送信するクライアントサーバ102と優先順位保証サーバ300が中継するリクエストに基づいて、要求されたサービスを提供するサービス提供サーバ104と接続される。
The
優先順位保証サーバ300は、プロセッサ31と、メモリ32と、ストレージ装置33と、通信装置34を含む計算機である。メモリ32には、リクエストを格納するキュー303が設定され、キュー制御部320と入力インタフェース302及び出力インタフェース305がプログラムとして格納され、キュー制御部320が利用する各種テーブルがキュー情報管理部304に保持される。
The
入力インタフェース302は、クライアントサーバ102からのリクエストを受信する。キュー制御部320は、入力インタフェース302からのリクエストをキュー303へ格納し、後述するように優先順位に従ってキュー303のリクエストを出力インタフェース305を介してサービス提供サーバ104へ送信する。
キュー制御部320と、入力インタフェース302と、出力インタフェース305の各機能部はプログラムとしてメモリ32にロードされる。
Each functional unit of the
プロセッサ31は、各機能部のプログラムに従って処理を実行することによって、所定の機能を提供する機能部として稼働する。例えば、プロセッサ31は、キュー制御プログラムに従って処理を実行することでキュー制御部320として機能する。他のプログラムについても同様である。さらに、プロセッサ31は、各プログラムが実行する複数の処理のそれぞれの機能を提供する機能部としても稼働する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。
The
ストレージ装置33は、不揮発性の記憶媒体で構成されて、プログラムやテーブル類を保持することができる。
The
図3は図2のキュー情報管理部304が保持するテーブルを示す図である。キュー情報管理部304は、キュー格納管理テーブル309と、優先順位制御テーブル310と、リクエスト取得管理テーブル313を含む。
FIG. 3 is a diagram showing a table held by the queue
キュー格納管理テーブル309は、リクエストをキュー303へ格納する際に、リクエストID307と優先順位決定キー1(308a)と、優先順位決定キー2(308b)とを対応付けて管理する。キュー格納管理テーブル309は、リクエストID307をキーとしてリクエストの到着順で格納される。
When storing a request in the
なお、優先順位決定キー1(308a)は、例えば、予約日付であり、優先順位決定キー2(308b)は、例えば、会員の属性(ゴールド会員、シルバー会員、ブロンズ会員)である。本実施例では、クライアントサーバ102が送信するリクエストには、優先順位決定キー1と、優先順位決定キー2が付与されているものとする。
The priority order determination key 1 (308a) is, for example, the reservation date, and the priority order determination key 2 (308b) is, for example, the attribute of the member (gold member, silver member, bronze member). In this embodiment, it is assumed that a priority
本実施例では、優先順位決定キーを2つとした例を示すが、これに限定されるものではなく、複数の種類の優先順位決定キーを使用することができる。 Although this embodiment shows an example in which two priority order determination keys are used, the present invention is not limited to this, and multiple types of priority order determination keys can be used.
また、リクエストID307は、計算機システム内でユニークな値であればよく、優先順位保証サーバ300の入力インタフェース302で付与してもよいし、クライアントサーバ102で付与することもできる。
Further, the
リクエスト取得管理テーブル313は、キュー303からリクエストを出力した際に、リクエストID314を格納し、キュー303から出力したリクエストを管理する。リクエスト取得管理テーブル313に格納されたリクエストID314は、所定時間経過後(又は所定のタイミング)に削除される。
The request acquisition management table 313 stores the
優先順位制御テーブル310は、優先順位決定キー1(315a)と、優先順位決定キー2(315b)をキーとして、それぞれの優先順位決定キー315a、315bに関連付けられたリクエストID307a、307bをリストとして保持するテーブルである。
The priority control table 310 holds a list of
キュー制御部320は、リクエストをキュー303へ格納する場合と、キュー303からリクエストを取得する場合に優先順位制御テーブル310を参照することにより、リクエストの送信順序の制御を行う。
The
キュー格納管理テーブル309と、優先順位制御テーブル310とは扱うパラメーターが似ているが、優先順位制御テーブル310は、各リクエストが優先度毎にソートされた状態を示している。 The queue storage management table 309 and the priority control table 310 handle similar parameters, but the priority control table 310 shows a state in which requests are sorted by priority.
キュー303からリクエストを取得する場合は、キュー制御部320がキュー格納管理テーブル309を検索し、取得できるリクエストを抽出する。キュー制御部320は、取得しようとしたリクエストID307に優先順位決定キー1(308a)と、優先順位決定キー2(308b)が設定されている場合は、当該リクエストID307の取得の可否を判断するために、優先順位制御テーブル310を参照する。
When acquiring requests from the
優先順位決定キー1(308a)と、優先順位決定キー2(308b)は、キュー制御部320がキュー303からリクエストを取り出す際に、取得するリクエストが、送信する際の順序制御の対象になるか否かを判定する情報となる。
The priority order determination key 1 (308a) and the priority order determination key 2 (308b) are used to determine whether the acquired requests are subject to order control when being transmitted when the
なお、キュー制御部320は、キュー303に格納されたリクエストのうち、同一の優先順位決定キー1と、優先順位決定キー2が付与されているリクエストは、格納順に送信する。
Note that among the requests stored in the
図4は、優先順位保証サーバ300で行われるリクエストの格納処理の一例を示すフローチャートである。この処理は、所定のタイミング、例えば、入力インタフェース302がリクエストを受信した場合に実行される。
FIG. 4 is a flowchart illustrating an example of a request storage process performed by the
キュー制御部320は、リクエストの格納処理において、受け付けたリクエストを優先順位制御するか否かを判定するために、優先順位決定キー1(308a)を取得し(ステップ500、優先順位決定キー1(308a)の値の有無を判定する(ステップ501)。
In the request storage process, the
優先順位決定キー1(308a)の値がある場合はステップ502へ進み、そうでない場合にはステップ514へ進む。ステップ502では、キュー制御部320が、優先順位制御テーブル310の情報を取得する。
If there is a value for priority determination key 1 (308a), the process advances to step 502; otherwise, the process advances to step 514. In
次に、キュー制御部320は、上記ステップ500で取得した優先順位決定キー1(308a)が優先順位制御テーブル310に登録済みか否かを判定する(ステップ503)。キュー制御部320は、登録済みの場合にはステップ505へ進み、未登録の場合にはステップ504へ進む。
Next, the
ステップ504では、キュー制御部320が、優先順位制御テーブル310へ新規に優先順位決定キー1、2(315a、315b)、とリクエストID307aを格納する。
In
そして、キュー制御部320は、新たなリクエストの情報を格納した優先順位制御テーブル310を優先順位決定キー1(315a)の昇順及び優先順位決定キー2(315b)の降順でソートする。
Then, the
本実施例では、優先順位決定キー1(315a)の値は予約の日付を示すシリアル値であり、優先順位決定キー2(315b)は、会員の属性を示す値として、ゴールド会員=3、シルバー会員=2、ブロンズ会員=1とする。 In this embodiment, the value of the priority determination key 1 (315a) is a serial value indicating the reservation date, and the value of the priority determination key 2 (315b) is a value indicating the attributes of the member, such as gold member = 3, silver member = 3. Member = 2, Bronze member = 1.
次に、キュー制御部320は、優先順位決定キー2(308b)の値の有無を取得して(ステップ505)、優先順位決定キー2(308b)の値の有無を判定する(ステップ506)。キュー制御部320は、優先順位決定キー2(308b)の値がある場合はステップ507へ進み、値が無い場合にはステップ513へ進む。
Next, the
ステップ507では、キュー制御部320がキュー格納管理テーブル309にリクエストID(307a)優先順位決定キー1(308a)及び優先順位決定キー2(308b)を関連付けて格納する。
In
ステップ513では、キュー制御部320が、キュー格納管理テーブル309にリクエストID(307)と優先順位決定キー1(308a)を関連付けて格納した後に、ステップ515へ進む。
In
次に、キュー制御部320は、優先順位制御テーブル310の情報を取得する(ステップ508)。その後、キュー制御部320は、に優先順位決定キー2(315b)が優先順位制御テーブル310に登録済みか否かを判定する(ステップ509)。キュー制御部320は、登録済みの場合は、先に格納されているリクエストID307aの後ろに新たなリクエストID307bを追加する(ステップ510)。
Next, the
一方、登録されていない場合は、キュー制御部320が既に登録されている優先順位決定キー1(315a)と、新たな優先順位決定キー2(315b)のエントリを優先順位制御テーブル310へ新規に追加し、リクエストID307aを格納する(ステップ511)。
On the other hand, if they are not registered, the
そして、キュー制御部320は、新たなリクエストの情報を格納した優先順位制御テーブル310を、優先順位決定キー1(315a)の昇順及び優先順位決定キー2(315b)の降順でソートする。
Then, the
また、ステップ501の判定で優先順位決定キー1の値が無い場合は、キュー制御部320がリクエストID307をキュー格納管理テーブル309に格納する(ステップ514)。
Further, if there is no value for the priority
上記処理の後に、キュー制御部320は、キュー303にリクエストを格納し(ステップ515)、上記処理をリクエストが入力される度に繰り返す。
After the above processing, the
以上の処理によって、優先順位保証サーバ300がクライアントサーバ102から受け付けたリクエストは、優先順位制御テーブル310に優先順位決定キー1、2が登録されていなければ、キュー制御部320が新たな優先順位決定キー1、2(315a、315b)として優先順位制御テーブル310に登録し、リクエストID307aを付加する。そして、キュー制御部320は、優先順位制御テーブル310を優先順位決定キー1の昇順及び優先順位決定キー2の降順でソートしておく。
Through the above processing, the
また、キュー制御部320は、キュー格納管理テーブル309にリクエストID307と、優先順位決定キー1(308a)と優先順位決定キー2(308b)を登録し、クライアントサーバ102から受信したリクエストをキュー303に格納する。
The
キュー制御部320は、リクエストを受け付ける度に、優先順位制御テーブル310に優先順位決定キー1、2の有無に応じてキーを追加してからリクエストID307aを付加し、優先順位決定キー1の昇順及び優先順位決定キー2の降順で優先順位制御テーブル310をソートしておく。
Every time the
図5Aは、優先順位保証サーバで行われるリクエスト出力処理の一例を示すフローチャートである。リクエスト出力処理では、キュー制御部320が、サービス提供サーバ104へ出力可能なリクエストを判定するために、キュー格納管理テーブル309の情報を取得する(ステップ601)。
FIG. 5A is a flowchart illustrating an example of request output processing performed by the priority guarantee server. In the request output process, the
キュー制御部320は、取得したキュー格納管理テーブル309の情報から先頭のエントリ(又はレコード)のリクエストID307と、優先順位決定キー1(308a)を取得し、優先順位決定キー1の有無を判定する(ステップ602)。キュー制御部320は、優先順位決定キー1がある場合にはステップ603へ進み、優先順位決定キー1が無い場合にはステップ616へ進む。
The
ステップ603では、キュー制御部320が、取得したキュー格納管理テーブル309の先頭のレコードからリクエストID307と、優先順位決定キー2(308b)を取得し、優先順位決定キー2の有無を判定する(ステップ603)。キュー制御部320は、優先順位決定キー2がある場合にはステップ604へ進み、優先順位決定キー2が無い場合にはステップ610へ進む。
In
ステップ604では、キュー制御部320が、各サービス提供サーバ104へリクエストの送信の優先順位を保つ必要がある。そのため、キュー制御部320は、優先順位制御テーブル310から情報を取得する(ステップ604)。
In
次に、キュー制御部320は、優先順位制御テーブル310から取得するリクエストID307a(又は307b)が先頭のエントリであるか否かを判定する(ステップ605)。
Next, the
キュー制御部320は、優先順位制御テーブル310の先頭のエントリのリクエストID307aが、キュー格納管理テーブル309の先頭のエントリのリクエストID307と一致していればステップ606へ進み、一致していなければ処理を終了する。
If the
ステップ606では、キュー制御部320は、優先順位制御テーブル310の先頭のエントリのリクエストID307aがキュー格納管理テーブル309の先頭のエントリのリクエストID307と一致しているので、キュー303に格納されているリクエストの中でリクエストID307aと一致するリクエストIDのリクエストをキュー303から取得する。
In
次に、キュー制御部320は、出力インタフェース305を介してリクエストを各サービス提供サーバ104へ送信し(ステップ607)、送信済みのリクエストID314をリクエスト取得管理テーブル313に格納する(ステップ608)。
Next, the
そして、キュー制御部320は、キュー格納管理テーブル309から送信済みのリクエストID307のエントリ(優先順位決定キー1(308a)、優先順位決定キー2(308b))を削除する(ステップ609)。
Then, the
次に、キュー制御部320は、送信済みのリクエストID307a(又は307b)を優先順位制御テーブル310から削除してから処理を終了する(ステップ650)。この処理については、図5Bで後述する。
Next, the
なお、ステップ605の判定結果がNOの場合は、取得しようとしたリクエストが優先順位制御テーブル310の先頭のエントリに格納されていないこととなり、他に優先的に送信するリクエストがあると判定されたため、その後はなにも実行せずに処理を終了する。
Note that if the determination result in
また、ステップ603の判定結果がNOの場合、キュー格納管理テーブル309の先頭のエントリは、優先順位決定キー2が無く、優先順位決定キー1があるため、各サービス提供サーバ104へリクエストの送信の優先順位を保つ必要がある。そのため、優先順位制御テーブル310から情報を取得する(ステップ610)。
Further, if the determination result in
次に、キュー制御部320は、優先順位制御テーブル310から取得するリクエストID307a(又は307b)が先頭のエントリであるか否かを判定する(ステップ611)。
Next, the
キュー制御部320は、優先順位制御テーブル310の先頭のエントリのリクエストID307aが、キュー格納管理テーブル309の先頭のエントリのリクエストID307と一致していればステップ612へ進み、一致していなければ処理を終了する。
If the
ステップ612では、キュー制御部320は、優先順位制御テーブル310の先頭のエントリのリクエストID307aがキュー格納管理テーブル309の先頭のエントリのリクエストID307と一致しているので、キュー303に格納されているリクエストの中でリクエストID307aと一致するリクエストIDのリクエストをキュー303から取得する。
In
次に、キュー制御部320は、出力インタフェース305を介してリクエストを各サービス提供サーバ104へ送信し(ステップ613)、送信済みのリクエストID314をリクエスト取得管理テーブル313に格納する(ステップ614)。
Next, the
そして、キュー制御部320は、キュー格納管理テーブル309から送信済みのリクエストID307のエントリを削除し(ステップ615)、その後、ステップ650へ進む。
The
なお、ステップ611の判定結果がNOの場合は、取得しようとしたリクエストIDが先頭に格納されていないこととなり、他に優先的に送信するリクエストがあると判定されたため、その後はなにも実行せずに処理を終了する。
Note that if the determination result in
また、ステップ602の判定結果がNOの場合は、優先順位決定キー1、優先順位決定キー2が無いリクエストのため、各サービス提供サーバ104へ送信するリクエストの優先順位は無い。
Further, if the determination result in
このため、キュー制御部320は、キュー格納管理テーブル309の先頭のリクエストID307に対応するリクエストをキュー303から取得する(ステップ616)。次に、キュー制御部320は、取得したリクエストを各サービス提供サーバ104へ送信し(ステップ617)、キュー制御部320は、送信済みのリクエストIDをリクエスト取得管理テーブル313に格納する(ステップ618)。最後にキュー制御部320は、キュー格納管理テーブル309からリクエストIDのエントリを削除し(ステップ619)、その後、ステップ700へ進む。
Therefore, the
ステップ650では、図5Bで示すように、まず、ステップ651でキュー制御部320が、優先順位制御テーブル310で送信済みのリクエストID307aを含むエントリを参照し、当該エントリに他のリクエストID307bがあるか否かを判定する(ステップ652)。
In
他のリクエストID307bがある場合には、ステップ653へ進んで、キュー制御部320は、送信済みのリクエストID307aのみを削除する。一方、他のリクエストID307bが無い場合には、ステップ704へ進んで、キュー制御部320は、送信済みのリクエストID307aを含むエントリを削除する。
If there is another
上記処理によって、キュー制御部320は、受信したリクエストを到着順でキュー303へ一時的に格納し、キュー303から取り出す際には、優先順位決定キー1(315a)と優先順位決定キー2(315b)で所定の順序でソートされた優先順位制御テーブル310の先頭のエントリから順次出力され、サービス提供サーバ104に送信される。
Through the above processing, the
これにより、優先順位保証サーバ300は、受け付けたリクエストを優先順位決定キー1、2の順序を維持して高効率で処理することが可能となる。本実施例では、クライアントサーバ102からのリクエストには優先順位決定キー1、2が付与されていることが前提であり、ステップ610~615、616~619の優先順位決定キーが無い場合の処理は例外処理となる。
This allows the
なお、本実施例では、キュー303にリクエストを格納する例を示したが、これに限定されるものではない。キュー303に代わってメモリ32にバッファを設定し、このバッファに受信したリクエストを格納するようにしてもよい。
Note that although this embodiment shows an example in which requests are stored in the
すなわち、優先順位保証サーバ300では、受信したリクエストを到着順に格納する領域(受信データ格納部)をメモリ32上に設定すればよく、FIFO(First In First Out)の機能が無い格納領域を使用することができる。
That is, the
また、本実施例では、優先順位保証サーバ300が複数の種類の優先度を含むリクエストを受け付ける例を示したが、リクエストに限定されるものではない。例えば、優先順位保証サーバ300が、複数の種類の優先度を含むデータを受け付けて受信データ格納部へ一時的に格納し、複数の種類の優先度に応じて受信データ格納部のデータを取り出せばよい。
Further, in this embodiment, an example has been shown in which the
図6は、本発明の実施例2を示し、データストアシステムの構成の一例を示すブロック図である。データストアシステムは拡張型メッセージキュー(Advanced Message Queue(AMQ))を含み、複数のメッセージキューサーバ730a、730bにまたがるインメモリキューを分散管理することにより、突発的なトラフィックの平準化や無停止、高速な大量データ処理システムに有効なシステムである。本実施例では拡張型メッセージキューに前記実施例1と同様のキュー制御を適用して、複数の種類の優先度を含むリクエストを効率よく処理する例を示す。
FIG. 6 is a block diagram showing an example of the configuration of a data store system according to a second embodiment of the present invention. The data store system includes an Advanced Message Queue (AMQ), and by distributing and managing in-memory queues that span multiple
データストアシステムは、クライアント700aと、700bと、ロードバランサー720と、メッセージキューサーバ730a、730bと、ロードバランサー770、及びサービス提供サーバ780a、780bを含む。
The data store system includes
なお、ロードバランサー720とクライアント700a、700b及びロードバランサー770とサービス提供サーバ780a、780bは、図示しないネットワークを介して接続される。また、メッセージキューサーバ730a、730bは図示しないネットワークを介して相互に接続される。
Note that the
サービス提供サーバ780a、780bは、クライアント700a、700bに所定のサービスを提供するサーバである。サービス提供サーバ780aとサービス提供サーバ780bは同じ構成であり、負荷を分散している。サービス提供サーバ780aではサービス提供プログラム790aが稼働している。サービス提供サーバ780bではサービス提供プログラム790bが稼働している。
The
クライアント700a、700bは、サービス提供サーバ780a、780bのサービスを利用するクライアントである。クライアント700aとクライアント700bは同じ構成である。クライアント700aは、クライアントプログラム710aを稼働させている。クライアント700bは、クライアントプログラム710bを稼働させている。
The
ロードバランサー720は、クライアント700a、700bのクライアントプログラム710a、710bが送信するリクエストを複数のメッセージキューサーバ730a、730bに振り分ける。
The
メッセージキューサーバ730a、730bは、クライアント700a、700bからサービス提供サーバ780a、780bへのリクエストのメッセージデータを一時的に蓄積し、メッセージキューのキュー制御を行う計算機である。メッセージキューサーバ730aとメッセージキューサーバ730bは同じ構成であり、負荷を分散している。
メッセージキューサーバ730aは、データストアシステムを構成するサーバであり、ストレージデバイス760aと、分散データストア750a、及びメッセージキュー制御部740aを有している。
The
同様に、メッセージキューサーバ730bは、データストアシステムを構成するサーバであり、ストレージデバイス760bと、分散データストア750b、及びメッセージキュー制御部740bを有している。
Similarly, the
メッセージキュー制御部740a、740bは、図示を省略したプロセッサにてソフトウェアプログラムを実行することにより実現され、リクエスト(メッセージデータ)のキューイングを制御する。メッセージキュー制御部740a、740bの内部構成及び処理については後述する。
The message
分散データストア750a、750bは、メッセージキューサーバ730a、730bのストレージデバイス760a、760bを共有化し、図示しないメッセージキューを相互に利用可能にする。なお、メッセージキューは共有化されたストレージデバイス760a、760bの分散データストア750a、750bに設定される。
Distributed
ロードバランサー770は、メッセージキューサーバ730a、730bのメッセージキュー制御部740a、740bが送信するメッセージデータをサービス提供サーバ780a、780bに振り分ける。
The
なお、図6ではクライアント700a、700b、メッセージキューサーバ、サービス提供サーバをそれぞれ2台としているが、あくまで構成の一例であり、2台以上のクライアント、メッセージキューサーバ、サービス提供サーバが存在してもよい。
Note that in FIG. 6, there are two
次に、メッセージキューサーバ730a、730bの詳細について説明する。本実施例ではメッセージキューサーバ730aを例に説明する。
Next, details of the
メッセージキュー制御部740aは、図示しないプロセッサがソフトウェアプログラムを実行し、主記憶装置及び補助記憶装置といったハードウェアリソースを利用することにより機能する。
The message
メッセージキュー制御部740aは、リクエスト送受信部741と、統計情報操作部742と、メッセージデータ情報サマリ操作部743と、レジストリ更新部745と、メッセージデータ情報操作部746と、メッセージデータ情報選択部749を含んでいる。
The message
リクエスト送受信部741は、複数のクライアント700a、700b及びサービス提供サーバ780a、780bとリクエストのメッセージデータを送受信する。
The request transmitting/receiving
統計情報操作部742は、クライアント700a、700bから受信したリクエストのメッセージデータの統計情報を算出し、レジストリ更新部745を介して統計情報レジストリ747へ保存する。メッセージデータの統計情報は、ストレージデバイス760a、760bへのメッセージデータの追加、及びストレージデバイス760a、760bからのメッセージデータの取得を集計した情報である。
The statistical information operation unit 742 calculates statistical information of message data of requests received from the
また、取得先決定要求を受信したメッセージデータ情報選択部749は、統計情報レジストリ747と、メッセージデータ情報サマリレジストリ751、及びメッセージキュー設定レジストリ748にアクセスし、平均取得メッセージデータ数と、メッセージデータ情報サマリ、及びメッセージキュー制御主体数を取得する。
In addition, the message data
そして、メッセージキュー設定レジストリ748には、メッセージキューに関する各種設定情報が予め登録されている。設定情報の一つとして、メッセージキュー制御主体数が登録されている。メッセージキュー制御主体数は、メッセージキューを制御する主体の個数を示す情報である。
In the message
メッセージキュー制御の主体となるのは、メッセージキュー制御部740a、740bであり、言い換えれば、メッセージキューサーバ730a、730bにてプロセッサにより実行されるメッセージキュー制御プログラムと言ってもよい。
The main body of message queue control is the message
図7は、統計情報操作部742に含まれるキュー情報管理部304の構成の一例を示す図である。
FIG. 7 is a diagram showing an example of the configuration of the queue
キュー情報管理部304は、メッセージキューが分散データストア750a、750b(AMQ)によって実現された優先順位を制御するデータ構造を含む。前記実施例1の図3と同様にキュー情報管理部304は、キュー格納管理テーブル309と、優先順位制御テーブル310と、リクエスト取得管理テーブル313を含む。
The
キュー格納管理テーブル309は、前記実施例1の構成にメッセージキューサーバ730a、730bのアドレス800を加えた点が相違する。その他の構成については前記実施例1と同様である。本実施例のキューシステムはFIFOで制御しているが、データストアシステムを用いることにより、各リクエストIDをアドレス800で管理することが可能である。アドレス800は、メッセージキューサーバ730a、730bのIPアドレスやMACアドレスなどを用いることができる。
The queue storage management table 309 differs from the configuration of the first embodiment in that addresses 800 of the
優先順位制御テーブル310は、優先順位決定キー1(308a)と、優先順位決定キー2(308b)をキーとして、それぞれの優先順位決定キーに関連付くリクエストID307a、307bをリストとして含むテーブルである。
The priority order control table 310 is a table that uses priority order determination key 1 (308a) and priority order determination key 2 (308b) as keys, and includes a list of
メッセージキュー制御部740aは、リクエストをメッセージキューへ格納する場合とメッセージキューから取得する場合に優先順位制御テーブル310を参照することにより、リクエストの送信順序の制御を行う。
The message
メッセージキューからリクエストを取得する場合、メッセージキュー制御部740aはキュー格納管理テーブル309を検索し、取得できるリクエストを抽出する。取得しようとしたリクエストID307に優先順位決定キー1(308a)、優先順位決定キー2(308b)が設定されている場合は、当該リクエストID307の取得可否を判断するために、優先順位制御テーブル310を参照する。
When acquiring requests from the message queue, the message
本実施例では、メッセージキュー制御部740aがメッセージキューからリクエストを取り出す際には、取り出すべきリクエストに対応したアドレス800を指定し、メッセージキューからリクエストを取り出すことでデータストアシステムにおいて、メッセージキューから送信するリクエストの優先順位を制御することができる。また、メッセージキュー制御部740bについても同様である。
In this embodiment, when the message
なお、本実施例では、メッセージキューに受信したリクエストを格納する例を示したが、これに限定されるものではない。メッセージキューに代わって分散データストア750a、750bにバッファを設定し、このバッファに受信したリクエストを格納するようにしてもよい。
Note that although this embodiment shows an example in which received requests are stored in a message queue, the present invention is not limited to this. Instead of a message queue, a buffer may be set up in the distributed
すなわち、メッセージキューサーバ730a、730bでは、受信したリクエストを到着順に格納する領域(受信データ格納部)を分散データストア750a、750b上に設定すればよく、FIFOの機能が無い格納領域を使用することができる。
That is, in the
また、優先順位決定キー2の属性に対する優先度は、キュー303やバッファのサイズ(容量)に応じて設定することができる。例えば、キュー303のサイズが大きい場合には、上述した優先順位決定キー2の属性の優先度を設定し、キュー303のサイズが小さい場合には、メッセージキューサーバ730a、730bが受信してからサービス提供サーバ104へ出力するまでの遅延が大きい属性の優先度を高く設定することができる。
Furthermore, the priority for the attribute of the priority order determining key 2 can be set according to the size (capacity) of the
また、優先順位決定キー2の属性に対する優先度は、受信データ格納部(キュー303やバッファ)のサイズに限定されるものではなく、メッセージキューサーバ730a、730bが受信してからサービス提供サーバ104へ出力するまでの遅延時間が大きい優先順位決定キー2の属性について優先度を高く設定してもよい。
Furthermore, the priority for the attribute of the priority
図8は、本発明の実施例3を示し、優先順位保証サーバ300で行われる優先順位更新処理の一例を示すフローチャートである。本実施例では、前記実施例1に示した優先順位決定キー2の優先度を可変制御する例を示す。
FIG. 8 is a flowchart showing an example of priority update processing performed by the
前記実施例1では、優先順位決定キー2の属性に対する優先度(優先順位)が、ブロンズ会員、シルバー会員及びゴールド会員となるにつれて優先度が順次高くなるように固定されていた。一時的にシルバー会員(又はブロンズ会員)からのリクエストが増大した場合、常にゴールド会員を優先していると、キュー303を効率よく運用できなくなる恐れがある。
In the first embodiment, the priority (priority order) for the attribute of the priority
そこで、本実施例では、優先順位決定キー2の属性毎のリクエストの数に応じて優先順位を動的に制御する例を示す。
Therefore, in this embodiment, an example will be shown in which the priority order is dynamically controlled according to the number of requests for each attribute of the priority
図8の処理は所定の周期で繰り返して実行される。まず、キュー制御部320は、優先順位決定キー2の属性毎に予め設定された閾値Thを設定する(ステップ620)。閾値Thは、例えば、キュー303に占める優先順位決定キー2の属性毎のリクエストの比率とし、閾値Th=99%に設定する。
The process in FIG. 8 is repeatedly executed at a predetermined period. First, the
キュー制御部320は、優先順位決定キー2の属性(優先度)毎にキュー303内のリクエストの数を算出し、優先順位決定キー2の属性毎のリクエスト数と、キュー303の最大格納数との比率(占有率)を算出する(ステップ621)。
The
次に、キュー制御部320は、属性毎の占有率のうち、閾値Thを超えた属性(優先度)があるか否かを判定する(ステップ622)。占有率が閾値Thを超えた属性がある場合にはステップ623へ進み、そうでない場合には処理を終了する。
Next, the
ステップ623では、キュー制御部320は、占有率が閾値Thを超えた属性の優先度を増大させる。前記実施例1と同様に、優先順位決定キー2の属性に対する優先度が、ブロンズ会員の場合は優先度=1、シルバー会員の場合は優先度=2、ゴールド会員の場合は、優先度=3としていた場合、キュー制御部320は、閾値Thを超えた属性の優先度に「3」を加算する。
In
そして、ステップ624では、キュー制御部320が、変更された優先度で優先順位制御テーブル310をソートして更新する。
Then, in
上記処理によって、優先度が低いリクエストが一時的に急増した場合、優先度を動的に増大させることで、キュー303を効率よく利用することが可能となる。また、キュー制御部320は、占有率が閾値Th以下になると属性に対応する優先度を元の値に戻すようにしてもよい。
Through the above processing, when the number of requests with low priority temporarily increases, the priority can be dynamically increased, thereby making it possible to use the
図9は、本発明の実施例3を示し、優先順位保証サーバ300で行われるリクエスト出力処理の一例を示すフローチャートである。本実施例では、前記実施例1の優先度に代わって、優先順位決定キー2の属性に対する処理個数を設定し、優先度が高い属性のリクエストが大量に送信された場合でも、優先度が低い属性のリクエストが殆ど処理されなくなるのを防止する例を示す。
FIG. 9 is a flowchart showing an example of request output processing performed by the
図9の処理は、前記実施例1の図5A、図5Bに代わって実施される。本実施例では、優先順位決定キー2の属性に対する処理個数として、ゴールド会員の処理個数N1=7個、シルバー会員の処理個数N2=2個、ブロンズ会員の処理個数N3=1個とする例を示すが、これに限定されるものではない。例えば、ゴールド会員、シルバー会員、ブロンズ会員のリクエストを処理する比率が7:2:1であってもよい。
The process in FIG. 9 is performed in place of FIGS. 5A and 5B of the first embodiment. In this embodiment, as the number of items to be processed for the attribute of
キュー制御部320は、優先順位制御テーブル310の先頭からN1個のゴールド会員のリクエストID307a(307b)を選択する(ステップ630)。なお、キュー制御部320は、キュー303内のゴールド会員のリクエストID307aがN1個未満の場合は、ゴールド会員の全てを選択する。
The
次に、キュー制御部320は、選択したN1個のゴールド会員のリクエストID307aの先頭から順にリクエストを送信する(ステップ631)。すなわち、キュー制御部320は、リクエストID307aに対応するリクエストをキュー303から取り出し、出力インタフェース305を介してサービス提供サーバ104へ送信する。
Next, the
キュー制御部320は、送信済みのリクエストID307aをリクエスト取得管理テーブル313に格納し、送信済みのリクエストID307aを優先順位制御テーブル310から削除し、リクエストID307aに対応するキュー格納管理テーブル309のリクエストID307のエントリを削除する(ステップ632)。なお、キュー制御部320は、優先順位制御テーブル310で送信済みのリクエストID307aを含むエントリに他のリクエストID307bが格納されていなければ、当該エントリを削除する。
The
キュー制御部320は、ゴールド会員の選択中のリクエストID307aに未送信のものがあるか否かを判定する(ステップ633)。未送信のリクエストID307aがあればステップ631に戻って上記処理を繰り返す。一方、未送信のリクエストID307aが無ければ、ステップ634へ進む。
The
キュー制御部320は、優先順位制御テーブル310の先頭からN2個のシルバー会員のリクエストID307a(307b)を選択する(ステップ634)。なお、キュー制御部320は、キュー303内のシルバー会員のリクエストID307aがN2個未満の場合は、シルバー会員の全てを選択する。
The
次に、キュー制御部320は、選択したN2個のリクエストID307aの先頭から順にリクエストを送信する(ステップ635)。すなわち、キュー制御部320は、リクエストID307aに対応するリクエストをキュー303から取り出し、出力インタフェース305を介してサービス提供サーバ104へ送信する。
Next, the
キュー制御部320は、送信済みのリクエストID307aをリクエスト取得管理テーブル313に格納し、送信済みのリクエストID307aを優先順位制御テーブル310から削除し、リクエストID307aに対応するキュー格納管理テーブル309のリクエストID307のエントリを削除する(ステップ636)。なお、キュー制御部320は、優先順位制御テーブル310で送信済みのリクエストID307aを含むエントリに他のリクエストID307bが格納されていなければ、当該エントリを削除する。
The
キュー制御部320は、シルバー会員の選択中のリクエストID307aに未送信のものがあるか否かを判定する(ステップ637)。未送信のリクエストID307aがあればステップ635に戻って上記処理を繰り返す。一方、未送信のリクエストID307aが無ければ、ステップ638へ進む。
The
キュー制御部320は、優先順位制御テーブル310の先頭からN3個のブロンズ会員のリクエストID307a(307b)を選択する(ステップ638)。なお、キュー制御部320は、キュー303内のブロンズ会員のリクエストID307aがN3個未満の場合は、ブロンズ会員の全てを選択する。
The
次に、キュー制御部320は、選択したN3個のリクエストID307aの先頭から順にリクエストを送信する(ステップ639)。すなわち、キュー制御部320は、リクエストID307aに対応するリクエストをキュー303から取り出し、出力インタフェース305を介してサービス提供サーバ104へ送信する。
Next, the
キュー制御部320は、送信済みのリクエストID307aをリクエスト取得管理テーブル313に格納し、送信済みのリクエストID307aを優先順位制御テーブル310から削除し、リクエストID307aに対応するキュー格納管理テーブル309のリクエストID307のエントリを削除する(ステップ640)。なお、キュー制御部320は、優先順位制御テーブル310で送信済みのリクエストID307aを含むエントリに他のリクエストID307bが格納されていなければ、当該エントリを削除する。
The
キュー制御部320は、ブロンズ会員の選択中のリクエストID307aに未送信のものがあるか否かを判定する(ステップ641)。未送信のリクエストID307aがあればステップ639に戻って上記処理を繰り返す。一方、未送信のリクエストID307aが無ければ処理を終了する。
The
上記処理によって、キュー303に格納された優先順位決定キー2の各属性のリクエストは、所定の比率でサービス提供サーバ104へ出力され、優先度が高い属性のリクエストが大量に送信された場合でも、優先度が低い属性のリクエストを確実に処理することが可能となる。
Through the above processing, requests for each attribute of the
なお、本実施例の処理は、N1+N2+N3のリクエストを処理するので、キュー303に格納されたリクエストが所定の数、又は所定の比率となる度に繰り返して実行するようにしてもよい。
<結び>
Note that since the process of this embodiment processes N1+N2+N3 requests, it may be repeatedly executed every time the number of requests stored in the
<Conclusion>
以上のように、上記実施例1~4の優先順位保証サーバ300及びデータストアシステムは、以下のような構成とすることができる。
As described above, the
(1)プロセッサ(31)と、メモリ(32)と、通信装置(34)を含む計算機(優先順位保証サーバ300)であって、前記通信装置(34)が受信した複数の優先度(優先順位決定キー1、2(308a、308b))を含むデータ(リクエスト)を制御する制御部(キュー制御部320)を有し、前記制御部(320)は、前記通信装置(34)が受信した複数の優先度を含むデータを、到着順で受信データ格納部(キュー303)に格納し、前記受信データ格納部(303)から前記データを取り出す際には、前記複数の優先度(308a、308b)に基づいて取り出す順序を変更する。
(1) A computer (priority guarantee server 300) including a processor (31), a memory (32), and a communication device (34), wherein the computer (priority guarantee server 300) includes a plurality of priorities (priority It has a control unit (queue control unit 320) that controls data (requests) including
上記構成により、キュー制御部320は、受信したリクエストを到着順でキュー303へ一時的に格納し、キュー303から取り出す際には、優先順位決定キー1(315a)と優先順位決定キー2(315b)で所定の順序でソートされた優先順位制御テーブル310の先頭のエントリから順次出力され、サービス提供サーバ104に送信される。これにより、複数の優先度を有するリクエストを高効率で処理することが可能となる。
With the above configuration, the
(2)上記(1)に記載の計算機(300)であって、前記複数の優先度(308a、308b)は、前記受信データ格納部(303)の容量に基づいて設定される。 (2) In the computer (300) according to (1) above, the plurality of priorities (308a, 308b) are set based on the capacity of the received data storage section (303).
上記構成により、例えば、キュー303のサイズが大きい場合には、予め設定された優先順位決定キー2の属性の優先度を設定し、キュー303のサイズが小さい場合には、優先順位保証サーバ300が受信してからサービス提供サーバ104へ出力するまでの遅延が大きい属性の優先度を高く設定することができる。
With the above configuration, for example, when the size of the
(3)上記(1)に記載の計算機(300)であって、前記制御部(320)は、前記複数の優先度(308a、308b)に応じた比率を有し、前記受信データ格納部(303)から前記データを取り出す際には、前記比率に基づいて取り出す順序を変更する。 (3) The computer (300) according to (1) above, wherein the control unit (320) has a ratio according to the plurality of priorities (308a, 308b), and the received data storage unit ( 303), the order of extraction is changed based on the ratio.
上記構成により、キュー303に格納された優先順位決定キー2の各属性のリクエストは、所定の比率で出力され、優先度が高い属性のリクエストが大量に送信された場合でも、優先度が低い属性のリクエストを確実に処理することが可能となる。
With the above configuration, requests for each attribute of the
(4)上記(1)に記載の計算機(300)であって、前記制御部(320)は、前記受信したデータから複数の優先度(308a、308b)を取得して、前記受信したデータに識別子(リクエストID307)を設定し、前記複数の優先度(308a、308b)をキーとして前記データの識別子(307)を前記複数の優先度(308a、308b)に関連付けて優先順位制御情報(優先順位制御テーブル310)に格納し、前記複数の優先度(308a、308b)に予め設定した順序で前記優先順位制御情報(310)をソートする。 (4) In the computer (300) according to (1) above, the control unit (320) acquires a plurality of priorities (308a, 308b) from the received data and applies the received data to the computer (300). An identifier (request ID 307) is set, the identifier (307) of the data is associated with the plurality of priorities (308a, 308b) using the plurality of priorities (308a, 308b) as keys, and priority control information (priority order control table 310), and the priority control information (310) is sorted in the order preset for the plurality of priorities (308a, 308b).
上記構成により、リクエストを格納する際には、優先順位決定キー1、2に設定された順序で優先順位制御テーブル310がソートされてリクエストID307の順序が更新される。これにより、優先順位保証サーバ300は、受け付けたリクエストを優先順位決定キー1、2の順序を維持して高効率で処理することが可能となる。
With the above configuration, when storing requests, the priority control table 310 is sorted in the order set in the
(5)上記(4)に記載の計算機(300)であって、前記制御部(320)は、前記受信したデータの識別子(307)に前記複数の優先度(308a、308b)を関連付けて、前記識別子(307)をキーとしてデータ管理情報(キュー格納管理テーブル309)に前記データの到着順で格納する。 (5) In the computer (300) according to (4) above, the control unit (320) associates the plurality of priorities (308a, 308b) with the identifier (307) of the received data, Using the identifier (307) as a key, the data is stored in the data management information (queue storage management table 309) in the order of arrival of the data.
上記構成により、キュー格納管理テーブル309では、リクエストID307と優先順位決定キー1、2を対応付けて到着順で管理することが可能となる。
With the above configuration, in the queue storage management table 309, it is possible to associate the
(6)上記(1)に記載の計算機(300)であって、前記制御部(320)は、前記受信データ格納部(303)内のデータの数を前記優先度(308a、308b)毎に計数し、前記データの数が予め設定した閾値を超えた優先度(308a、308b)の優先順位を変更する。 (6) In the computer (300) according to (1) above, the control unit (320) controls the number of data in the received data storage unit (303) for each priority (308a, 308b). The priority order of the priority data (308a, 308b) whose number of data exceeds a preset threshold is changed.
上記構成により、優先度が低いリクエストが一時的に急増した場合、優先度を動的に増大させることで、キュー303を効率よく利用することが可能となる。
With the above configuration, when the number of low-priority requests temporarily increases, the
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に記載したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、又は置換のいずれもが、単独で、又は組み合わせても適用可能である。 Note that the present invention is not limited to the above-described embodiments, and includes various modifications. For example, the embodiments described above are described in detail to explain the present invention in an easy-to-understand manner, and the present invention is not necessarily limited to having all the configurations described. Furthermore, it is possible to replace a part of the configuration of one embodiment with the configuration of another embodiment, and it is also possible to add the configuration of another embodiment to the configuration of one embodiment. Furthermore, addition, deletion, or replacement of other configurations to some of the configurations of each embodiment may be applied singly or in combination.
また、上記の各構成、機能、処理部、及び処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、及び機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、又は、ICカード、SDカード、DVD等の記録媒体に置くことができる。 Further, each of the above-mentioned configurations, functions, processing units, processing means, etc. may be partially or entirely realized in hardware by designing, for example, an integrated circuit. Moreover, each of the above-mentioned configurations, functions, etc. may be realized by software by a processor interpreting and executing a program that realizes each function. Information such as programs, tables, files, etc. that implement each function can be stored in a memory, a recording device such as a hard disk, an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, or a DVD.
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。 Further, the control lines and information lines are shown to be necessary for explanation purposes, and not all control lines and information lines are necessarily shown in the product. In reality, almost all components may be considered to be interconnected.
31 プロセッサ
32 メモリ
34 通信装置
303 キュー
307 リクエストID
308a、308b 優先順位決定キー1、2
309 キュー格納管理テーブル
310 優先順位制御テーブル
320 キュー制御部
313 リクエスト取得管理テーブル
740a、740b メッセージキューサーバ
31
308a, 308b
309 Queue storage management table 310 Priority control table 320
Claims (5)
前記通信装置が受信した複数の優先度として第1優先順位決定キーと第2優先順位決定キーを含むデータを制御する制御部と、
前記データを到着順で格納する受信データ格納部と、
前記データの前記第1優先順位決定キーと第2優先順位決定キーと前記データの識別子を対応付けて管理する格納管理テーブルと、
1以上の前記データの識別子を、前記第1優先順位決定キーと第2優先順位決定キーの優先度に関連付けて格納する優先順位制御情報テーブルと、
を有し、
前記制御部は、
前記通信装置が受信した複数の優先度を含むデータを、到着順で前記受信データ格納部に格納し、
前記受信したデータから複数の優先度として第1優先順位決定キーと第2優先順位決定キーを取得して前記受信したデータに識別子を設定して前記格納管理テーブルへ格納する際には、
前記第1優先順位決定キーと第2優先順位決定キーが優先順位制御テーブルに登録済みの場合には第1優先順位決定キーと第2優先順位決定キーのエントリに前記データの識別子を格納管理テーブルへ追加し、
第1優先順位決定キーのみが前記優先順位制御テーブルに登録済みの場合には第1の優先順位決定キーと前記データの識別子を格納管理テーブルへ追加し、
第1優先順位決定キーが無ければ前記データの識別子のみを格納管理テーブルへ格納し、 前記第1優先順位決定キーと第2優先順位決定キーと前記データの識別子を優先順位制御テーブルへ格納する際には、
第1優先順位決定キーと第2優先順位決定キーが当該優先順位制御テーブルに登録済みの場合は、第1優先順位決定キーと第2優先順位決定キーのエントリに前記データの識別子を優先順位制御テーブルへ追加し、
第1優先順位決定キーのみが当該優先順位制御テーブルに登録済みの場合は、第2優先順位決定キーと前記データの識別子を優先順位制御テーブルへ格納し、
前記受信データ格納部から前記データを取り出す際には、
前記第1優先順位決定キーと第2優先順位決定キーが格納管理テーブルに登録済みで、かつ、前記優先順位制御テーブルの第1優先順位決定キーと第2優先順位決定キーのエントリの前記識別子と、格納管理テーブルの第1優先順位決定キーと第2優先順位決定キーのエントリの前記識別子が一致していれば当該識別子に対応するデータを前記受信データ格納部から取得して送信し、
前記優先順位制御テーブルの第1優先順位決定キーと第2優先順位決定キーの前記識別子と、前記格納管理テーブルの第1優先順位決定キーと第2優先順位決定キーのエントリの前記識別子が一致しない場合には前記識別子に対応するデータの送信を保留することを特徴とする計算機。 A computer including a processor, a memory, and a communication device,
a control unit that controls data including a first priority determination key and a second priority determination key as the plurality of priorities received by the communication device ;
a received data storage unit that stores the data in the order of arrival;
a storage management table that manages the first priority determination key and second priority determination key of the data in association with the identifier of the data;
a priority control information table that stores one or more identifiers of the data in association with the priorities of the first priority determination key and the second priority determination key;
has
The control unit includes:
storing data including a plurality of priorities received by the communication device in the received data storage unit in the order of arrival;
When acquiring a first priority determination key and a second priority determination key as a plurality of priorities from the received data, setting an identifier to the received data, and storing it in the storage management table,
If the first priority determination key and the second priority determination key are already registered in the priority control table, the identifier of the data is stored in the entry of the first priority determination key and the second priority determination key in the management table. Add to
If only the first priority determination key has been registered in the priority control table, add the first priority determination key and the data identifier to the storage management table;
If there is no first priority determination key, only the identifier of the data is stored in the storage management table, and when storing the first priority determination key, the second priority determination key, and the identifier of the data in the priority control table. for,
If the first priority determination key and the second priority determination key have already been registered in the priority control table, the identifier of the data is assigned to the entry of the first priority determination key and the second priority determination key for priority control. add to table,
If only the first priority determination key has been registered in the priority control table, store the second priority determination key and the identifier of the data in the priority control table;
When retrieving the data from the received data storage section,
The first priority determination key and the second priority determination key have been registered in the storage management table, and the identifiers of the entries for the first priority determination key and the second priority determination key in the priority control table , if the identifiers of the entries of the first priority determination key and the second priority determination key of the storage management table match, acquiring data corresponding to the identifier from the received data storage unit and transmitting it;
The identifiers of the first priority determination key and second priority determination key of the priority control table do not match the identifiers of the entries of the first priority determination key and second priority determination key of the storage management table. A computer characterized in that, in this case, transmission of data corresponding to the identifier is suspended .
前記制御部が前記受信データ格納部から前記データを取り出す際には、 When the control unit retrieves the data from the received data storage unit,
前記第2優先順位決定キーが前記格納管理テーブルに登録済みでない場合には、前記優先順位制御テーブルの先頭のエントリの識別子が、格納管理テーブルの先頭のエントリの識別子と一致していれば送信することを特徴とする計算機。 If the second priority determination key has not been registered in the storage management table, transmit if the identifier of the first entry in the priority control table matches the identifier of the first entry in the storage management table. A calculator characterized by:
前記計算機は、前記通信装置で受信した複数の優先度として第1優先順位決定キーと第2優先順位決定キーを含むデータを、受信データ格納部へ到着順で格納するデータ格納ステップと、
前記計算機は、前記受信したデータから複数の優先度として第1優先順位決定キーと第2優先順位決定キーを取得して前記受信したデータに識別子を設定して格納管理テーブルへ格納する格納管理テーブル格納ステップと、
前記計算機は、前記第1優先順位決定キーと第2優先順位決定キーと前記データの識別子を優先順位制御テーブルへ格納する優先順位制御テーブル格納ステップと、
前記計算機は、前記受信データ格納部から前記データを取り出すデータ出力ステップと、
を含み、
前記格納管理テーブル格納ステップは、
前記第1優先順位決定キーと第2優先順位決定キーが優先順位制御テーブルに登録済みの場合には第1優先順位決定キーと第2優先順位決定キーのエントリに前記データの識別子を格納管理テーブルへ追加し、
第1優先順位決定キーのみが前記優先順位制御テーブルに登録済みの場合には第1の優先順位決定キーと前記データの識別子を格納管理テーブルへ追加し、
第1優先順位決定キーが無ければ前記データの識別子のみを格納管理テーブルへ格納し、
前記優先順位制御テーブル格納ステップ
第1優先順位決定キーと第2優先順位決定キーが当該優先順位制御テーブルに登録済みの場合は、第1優先順位決定キーと第2優先順位決定キーのエントリに前記データの識別子を優先順位制御テーブルへ追加し、
第1優先順位決定キーのみが当該優先順位制御テーブルに登録済みの場合は、第2優先順位決定キーと前記データの識別子を優先順位制御テーブルへ格納し、
前記データ出力ステップは、
前記第1優先順位決定キーと第2優先順位決定キーが格納管理テーブルに登録済みで、かつ、前記優先順位制御テーブルの第1優先順位決定キーと第2優先順位決定キーのエントリの前記識別子と、格納管理テーブルの第1優先順位決定キーと第2優先順位決定キーのエントリの前記識別子が一致していれば当該識別子に対応するデータを前記受信データ格納部から取得して送信し、
前記優先順位制御テーブルの第1優先順位決定キーと第2優先順位決定キーの前記識別子と、前記格納管理テーブルの第1優先順位決定キーと第2優先順位決定キーのエントリの前記識別子が一致しない場合には前記識別子に対応するデータの送信を保留することを特徴とするデータ制御方法。 A data control method for controlling data received by a computer including a processor, a memory, and a communication device, the method comprising:
a data storage step in which the computer stores data including a first priority determination key and a second priority determination key as the plurality of priorities received by the communication device in the received data storage unit in the order of arrival;
The computer acquires a first priority determination key and a second priority determination key as a plurality of priorities from the received data, sets an identifier to the received data, and stores the same in a storage management table. a storage step;
a priority control table storage step in which the computer stores the first priority determination key, the second priority determination key, and the identifier of the data in a priority control table;
a data output step in which the computer retrieves the data from the received data storage unit;
including ;
The storing management table storing step includes:
If the first priority determination key and the second priority determination key are already registered in the priority control table, the identifier of the data is stored in the entry of the first priority determination key and the second priority determination key in the management table. Add to
If only the first priority determination key has been registered in the priority control table, add the first priority determination key and the data identifier to the storage management table;
If there is no first priority determination key, only the identifier of the data is stored in the storage management table,
The step of storing the priority control table
If the first priority determination key and the second priority determination key have already been registered in the priority control table, the identifier of the data is assigned to the entry of the first priority determination key and the second priority determination key for priority control. add to table,
If only the first priority determination key has been registered in the priority control table, store the second priority determination key and the identifier of the data in the priority control table;
The data output step includes:
The first priority determination key and the second priority determination key have been registered in the storage management table, and the identifiers of the entries for the first priority determination key and the second priority determination key in the priority control table , if the identifiers of the entries of the first priority determination key and the second priority determination key of the storage management table match, acquiring data corresponding to the identifier from the received data storage unit and transmitting it;
The identifiers of the first priority determination key and second priority determination key of the priority control table do not match the identifiers of the entries of the first priority determination key and second priority determination key of the storage management table. A data control method characterized by suspending transmission of data corresponding to the identifier in the case where the identifier is the identifier .
前記データ出力ステップは、The data output step includes:
前記第2優先順位決定キーが前記格納管理テーブルに登録済みでない場合には、前記優先順位制御テーブルの先頭のエントリの識別子が、格納管理テーブルの先頭のエントリの識別子と一致していれば送信することを特徴とするデータ制御方法。 If the second priority determination key has not been registered in the storage management table, transmit if the identifier of the first entry in the priority control table matches the identifier of the first entry in the storage management table. A data control method characterized by:
前記メッセージ制御サーバは、
前記複数のメッセージ制御サーバで共有された受信データ格納部と、
前記通信装置が受信した複数の優先度として第1優先順位決定キーと第2優先順位決定キーを含むデータを制御する制御部と、
前記データの前記第1優先順位決定キーと第2優先順位決定キーと前記データの識別子を対応付けて管理する格納管理テーブルと、
1以上の前記データの識別子を、前記第1優先順位決定キーと第2優先順位決定キーの優先度に関連付けて格納する優先順位制御情報テーブルと、
を有し、
前記制御部は、
前記通信装置が受信した複数の優先度を含むデータを、到着順で前記受信データ格納部に格納し、
前記受信したデータから複数の優先度として第1優先順位決定キーと第2優先順位決定キーを取得して前記受信したデータに識別子を設定して前記格納管理テーブルへ格納する際には、
前記第1優先順位決定キーと第2優先順位決定キーが優先順位制御テーブルに登録済みの場合には第1優先順位決定キーと第2優先順位決定キーのエントリに前記データの識別子を格納管理テーブルへ追加し、
第1優先順位決定キーのみが前記優先順位制御テーブルに登録済みの場合には第1の優先順位決定キーと前記データの識別子を格納管理テーブルへ追加し、
第1優先順位決定キーが無ければ前記データの識別子のみを格納管理テーブルへ格納し、
前記第1優先順位決定キーと第2優先順位決定キーと前記データの識別子を優先順位制御テーブルへ格納する際には、
第1優先順位決定キーと第2優先順位決定キーが当該優先順位制御テーブルに登録済みの場合は、第1優先順位決定キーと第2優先順位決定キーのエントリに前記データの識別子を優先順位制御テーブルへ追加し、
第1優先順位決定キーのみが当該優先順位制御テーブルに登録済みの場合は、第2優先順位決定キーと前記データの識別子を優先順位制御テーブルへ格納し、
前記受信データ格納部から前記データを取り出す際には、
前記第1優先順位決定キーと第2優先順位決定キーが格納管理テーブルに登録済みで、かつ、前記優先順位制御テーブルの第1優先順位決定キーと第2優先順位決定キーのエントリの前記識別子と、格納管理テーブルの第1優先順位決定キーと第2優先順位決定キーのエントリの前記識別子が一致していれば当該識別子に対応するデータを前記受信データ格納部から取得して送信し、
前記優先順位制御テーブルの第1優先順位決定キーと第2優先順位決定キーの前記識別子と、前記格納管理テーブルの第1優先順位決定キーと第2優先順位決定キーのエントリの前記識別子が一致しない場合には前記識別子に対応するデータの送信を保留することを特徴とするデータストアシステム。 A data store system having a plurality of message control servers including a processor, a memory, and a communication device,
The message control server includes:
a received data storage unit shared by the plurality of message control servers;
a control unit that controls data including a first priority determination key and a second priority determination key as the plurality of priorities received by the communication device;
a storage management table that manages the first priority determination key and second priority determination key of the data in association with the identifier of the data;
a priority control information table that stores one or more identifiers of the data in association with the priorities of the first priority determination key and the second priority determination key;
has
The control unit includes:
storing data including a plurality of priorities received by the communication device in the received data storage unit in the order of arrival;
When acquiring a first priority determination key and a second priority determination key as a plurality of priorities from the received data, setting an identifier to the received data, and storing it in the storage management table,
If the first priority determination key and the second priority determination key are already registered in the priority control table, the identifier of the data is stored in the entry of the first priority determination key and the second priority determination key in the management table. Add to
If only the first priority determination key has been registered in the priority control table, add the first priority determination key and the data identifier to the storage management table;
If there is no first priority determination key, only the identifier of the data is stored in the storage management table,
When storing the first priority determination key, the second priority determination key, and the data identifier in the priority control table,
If the first priority determination key and the second priority determination key have already been registered in the priority control table, the identifier of the data is assigned to the entry of the first priority determination key and the second priority determination key for priority control. add to table,
If only the first priority determination key has been registered in the priority control table, store the second priority determination key and the identifier of the data in the priority control table;
When retrieving the data from the received data storage section,
The first priority determination key and the second priority determination key have been registered in the storage management table, and the identifiers of the entries for the first priority determination key and the second priority determination key in the priority control table , if the identifiers of the entries of the first priority determination key and the second priority determination key of the storage management table match, acquiring data corresponding to the identifier from the received data storage unit and transmitting it;
The identifiers of the first priority determination key and second priority determination key of the priority control table do not match the identifiers of the entries of the first priority determination key and second priority determination key of the storage management table. A data store system characterized in that, in some cases, transmission of data corresponding to the identifier is suspended .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019161075A JP7351679B2 (en) | 2019-09-04 | 2019-09-04 | Computer, data control method and data store system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019161075A JP7351679B2 (en) | 2019-09-04 | 2019-09-04 | Computer, data control method and data store system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021040259A JP2021040259A (en) | 2021-03-11 |
JP7351679B2 true JP7351679B2 (en) | 2023-09-27 |
Family
ID=74847476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019161075A Active JP7351679B2 (en) | 2019-09-04 | 2019-09-04 | Computer, data control method and data store system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7351679B2 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020118387A1 (en) | 2001-02-28 | 2002-08-29 | Patton Ronnie N. | Priority interruptible printing system |
JP2004038758A (en) | 2002-07-05 | 2004-02-05 | Hitachi Ltd | Storage controller, control method for storage controller, and program |
JP2004220083A (en) | 2003-01-09 | 2004-08-05 | Hitachi Ltd | Message queueing method and message queueing system |
JP2016018222A (en) | 2014-07-04 | 2016-02-01 | 株式会社日立製作所 | Queue server |
JP2018032115A (en) | 2016-08-23 | 2018-03-01 | 株式会社日立製作所 | Data store device and data management method |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2933005B2 (en) * | 1996-04-05 | 1999-08-09 | 日本電気株式会社 | Management information storage device |
-
2019
- 2019-09-04 JP JP2019161075A patent/JP7351679B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020118387A1 (en) | 2001-02-28 | 2002-08-29 | Patton Ronnie N. | Priority interruptible printing system |
JP2004038758A (en) | 2002-07-05 | 2004-02-05 | Hitachi Ltd | Storage controller, control method for storage controller, and program |
JP2004220083A (en) | 2003-01-09 | 2004-08-05 | Hitachi Ltd | Message queueing method and message queueing system |
JP2016018222A (en) | 2014-07-04 | 2016-02-01 | 株式会社日立製作所 | Queue server |
JP2018032115A (en) | 2016-08-23 | 2018-03-01 | 株式会社日立製作所 | Data store device and data management method |
Also Published As
Publication number | Publication date |
---|---|
JP2021040259A (en) | 2021-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4569846B2 (en) | I / O node control method and method | |
US7979509B1 (en) | Clustered network acceleration devices having shared cache | |
US7676554B1 (en) | Network acceleration device having persistent in-memory cache | |
US8959226B2 (en) | Load balancing workload groups | |
US9313153B2 (en) | Dynamic subscription and message routing on a topic between publishing nodes and subscribing nodes | |
US7076553B2 (en) | Method and apparatus for real-time parallel delivery of segments of a large payload file | |
US8180730B2 (en) | Arbitration token for managing data integrity and data accuracy of information services that utilize distributed data replicas | |
US7644108B1 (en) | Network acceleration device cache supporting multiple historical versions of content | |
US20100138540A1 (en) | Method of managing organization of a computer system, computer system, and program for managing organization | |
US8149846B2 (en) | Data processing system and method | |
JP4144897B2 (en) | Optimal server in common work queue environment | |
US8661055B2 (en) | File server system and storage control method | |
JP2019535072A (en) | System and method for providing messages to multiple subscribers | |
CN103312624A (en) | Message queue service system and method | |
JPWO2018220708A1 (en) | Resource allocation system, management device, method and program | |
US20040205069A1 (en) | Attached file management system, program, information storage medium, and method of managing attached file | |
JP7351679B2 (en) | Computer, data control method and data store system | |
US20110282923A1 (en) | File management system, method, and recording medium of program | |
US8635256B2 (en) | Network filesystem asynchronous I/O scheduling | |
US8539508B2 (en) | Message ordering using dynamically updated selectors | |
GB2356473A (en) | A distributed file system using autonomous disks | |
JP3672483B2 (en) | Content distribution apparatus, content distribution method, and recording medium recording content distribution program | |
US20230176908A1 (en) | Systems, methods and computer program products for job management | |
US10135750B1 (en) | Satisfaction-ratio based server congestion control mechanism | |
US20220100374A1 (en) | Hierarchical file block variant tracking for performance in parallelism at multi-disk arrays |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220823 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230518 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230523 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230706 |
|
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: 20230829 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230914 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7351679 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |