Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7692766B2 - Management device, method, and program - Google Patents
[go: Go Back, main page]

JP7692766B2 - Management device, method, and program - Google Patents

Management device, method, and program Download PDF

Info

Publication number
JP7692766B2
JP7692766B2 JP2021139054A JP2021139054A JP7692766B2 JP 7692766 B2 JP7692766 B2 JP 7692766B2 JP 2021139054 A JP2021139054 A JP 2021139054A JP 2021139054 A JP2021139054 A JP 2021139054A JP 7692766 B2 JP7692766 B2 JP 7692766B2
Authority
JP
Japan
Prior art keywords
data processing
user
upper limit
data
users
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021139054A
Other languages
Japanese (ja)
Other versions
JP2023032752A (en
Inventor
和彦 渡辺
健吾 池田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2021139054A priority Critical patent/JP7692766B2/en
Priority to PCT/JP2022/031761 priority patent/WO2023027081A1/en
Publication of JP2023032752A publication Critical patent/JP2023032752A/en
Application granted granted Critical
Publication of JP7692766B2 publication Critical patent/JP7692766B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephonic Communication Services (AREA)

Description

本開示は、クラウド上でマルチテナント型サービスを提供する技術に関する。 This disclosure relates to technology for providing multi-tenant services on the cloud.

クラウド上のリソースを利用してアプリケーションをマルチテナント型で提供するサービス事業者がある。クラウドにはブロックチェーン技術を利用したものがある。 There are service providers that use cloud resources to provide applications in a multi-tenant format. Some cloud services use blockchain technology.

サービス事業者は、複数のサービス利用者に対して、仮想プロセッサや仮想メモリのリソースを公平かつ効率的に分配することが求められる。一般的には、サービス提供者は、複数のサービス利用者のそれぞれに利用可能なリソースの上限をキャッピングし、固定の割合でリソースを分配している。また、特許文献1には、リソース通貨値を使ったオークションにより、オンデマンドサービス環境におけるリソース割り当てを行う技術が開示されている。また、特許文献2には、通常モードとバーストモードのそれぞれにトークンを設け、バーストモードによって余剰リソースを融通することにより、リソースの効率的な利用を可能にする技術が開示されている。 Service providers are required to distribute virtual processor and virtual memory resources fairly and efficiently among multiple service users. Typically, service providers cap the upper limit of resources available to each of multiple service users and distribute the resources at a fixed ratio. Patent Document 1 discloses a technology for allocating resources in an on-demand service environment by an auction using resource currency values. Patent Document 2 discloses a technology that enables efficient use of resources by providing tokens for both normal mode and burst mode and accommodating surplus resources in burst mode.

特表2015-535975号公報Special table 2015-535975 publication 特開2018-77852号公報JP 2018-77852 A

ブロックチェーン技術には様々な特有の性質がある。あるサービス利用者がクラウドに書き込んだデータが他のサービス利用者によってブロックチェーンネットワーク上で情報共有される。情報共有に貢献するサービス利用者は、自身に割り当てられているリソースを他社のために提供する。そのようなサービス利用者の貢献により他のサービス利用者が利益を受けることになる。また、ブロックチェーンでは、データは、所定サイズのブロックにブロック化されてクラウドに書き込まれる。そのため、小さいサイズのデータをブロックへ追加で書き込むことが頻繁に起こると、処理性能が低下する。 Blockchain technology has a variety of unique properties. Data written to the cloud by a service user is shared by other service users on the blockchain network. Service users who contribute to information sharing provide their assigned resources to other companies. Other service users benefit from the contributions of such service users. In addition, in blockchain, data is broken down into blocks of a specified size and written to the cloud. Therefore, if small amounts of data are frequently written to blocks, processing performance decreases.

これまで、このようなブロックチェーンの性質を考慮して好適なリソースの分配を実現する手法は提案されて来なかった。 To date, no method has been proposed to achieve optimal resource distribution while taking into account these characteristics of blockchain.

本開示のひとつの目的は、マルチテナント型のサービスにおいてクラウド上の好適なリソース分配を実現する技術を提供することである。 One objective of this disclosure is to provide technology that realizes optimal resource distribution on the cloud in a multi-tenant service.

本開示のひとつの態様による管理装置は、クラウド上で複数のユーザにより共有されるリソースによって、複数のユーザのデータ処理を実行するマルチテナント型サービスにおいて、ユーザからデータ処理の呼び出しを受け付けて、リソースによりデータ処理を実行させる管理装置であり、カウント値が上限値に達していたら、バーストモードとして、バースト時間の間、リソースを共有する複数のユーザの中に、データ処理の呼び出しのある他のユーザが無ければ、データ処理を受け付け、リソースを共有する複数のユーザの中に、データ処理の呼び出しのある他のユーザがあれば、ユーザのデータ処理によるデータが所定のデータサイズに到達していなければ、データ処理を受け付け、ユーザのデータ処理によるデータがデータサイズに到達していれば、所定の回復時間だけ待機した後、データ処理を受け付ける。 A management device according to one aspect of the present disclosure is a management device that accepts data processing calls from users and executes data processing using resources in a multitenant service that executes data processing for multiple users using resources shared by multiple users on a cloud, and accepts data processing calls from users in a burst mode if the count value reaches an upper limit value and there are no other users with data processing calls among the multiple users sharing the resources during the burst time, accepts data processing if there are other users with data processing calls among the multiple users sharing the resources and the data resulting from the user's data processing has not reached a predetermined data size, and waits for a predetermined recovery time and then accepts data processing if the data resulting from the user's data processing has reached the data size.

本開示のひとつの態様によれば、マルチテナント型のサービスにおいてクラウド上の好適なリソース分配を実現することができる。 According to one aspect of the present disclosure, it is possible to realize optimal resource distribution on the cloud in a multi-tenant service.

マルチテナント型サービスシステムの構成を示すブロック図である。FIG. 1 is a block diagram showing a configuration of a multi-tenant service system. 管理装置のブロック図である。FIG. 2 is a block diagram of a management device. ユーザ管理処理のフローチャートである。13 is a flowchart of a user management process. 契約プラン一覧を示す図である。FIG. 13 is a diagram showing a list of contract plans. ユーザテーブルを示す図である。FIG. 13 illustrates a user table. 優先順位テーブルを示す図である。FIG. 13 is a diagram showing a priority order table. API受け付け処理のフローチャートである。13 is a flowchart of an API receiving process. データベースを示す図である。FIG. 優先順位処理のフローチャートである。13 is a flowchart of a priority order process. API呼び出し受付処理のフローチャートである。13 is a flowchart of an API call reception process.

以下、本発明の実施形態について図面を参照して説明する。 The following describes an embodiment of the present invention with reference to the drawings.

図1は、マルチテナント型サービスシステムの構成を示すブロック図である。 Figure 1 is a block diagram showing the configuration of a multi-tenant service system.

マルチテナント型サービスシステムは、マルチテナント型サービスを提供するシステムである。マルチテナント型サービスは、ユーザのデータをブロックチェーンによって記憶する構成である。また、マルチテナント型サービスは、API(アプリケーション・プログラミング・インタフェース)を呼び出すことで実行されるアプリケーションプログラムにより構築されている。アプリケーションプログラムは、クラウド11上の仮想的な処理装置13および記憶装置14を含むリソース12によって実行される。リソース12は、マルチテナント型サービスの利用契約を行った複数のユーザA16A、ユーザB16B、ユーザC16Cに共用される。以下、複数のユーザA16A、ユーザB16B、ユーザC16Cをまとめてユーザ16と呼ぶ場合がある。なお、ここでいうユーザ16は企業等の組織であってもよいし、個人であってもよい。 The multitenant service system is a system that provides multitenant services. The multitenant service is configured to store user data using a blockchain. The multitenant service is constructed by an application program that is executed by calling an API (application programming interface). The application program is executed by resources 12 including a virtual processing device 13 and a storage device 14 on the cloud 11. The resources 12 are shared by multiple users A 16A, B 16B, and C 16C who have signed a contract to use the multitenant service. Hereinafter, the multiple users A 16A, B 16B, and C 16C may be collectively referred to as users 16. Note that the user 16 here may be an organization such as a company, or an individual.

マルチテナント型サービスシステムには、ユーザ16からAPIの呼び出しを受け付けて、リソース12にAPIにより呼び出される処理を実行させる管理装置15が設けられている。 The multi-tenant service system is provided with a management device 15 that receives API calls from users 16 and causes resources 12 to execute the processing called by the API.

図2は、管理装置のブロック図である。管理装置15は、ユーザ管理部21とAPI制御部25を有する。なお、本実施形態では、複数のユーザ16に対して共通の管理装置15が配置される構成が示されているが、物理的構成および論理的構成がこれに限定されることはない。管理装置15は、ユーザ16毎にそれぞれ設けられ、当該ユーザ16からのAPIの呼び出しを受け付ける複数のゲートウェイ装置により構成され、複数のゲートウェイ装置が相互に連携することで実現されるものであってもよい。その場合もゲートウェイ装置はクラウド11に構築可能である。また、本実施形態では、管理装置15はクラウド11上に構築されるものとして例示されるが、本例に限定されることはない。プロセッサおよびメモリを物理的に備え、プロセッサによってソフトウェアプログラムを実行するサーバ装置等のコンピュータによって管理装置15を構築してもよい。 2 is a block diagram of the management device. The management device 15 has a user management unit 21 and an API control unit 25. In this embodiment, a configuration in which a common management device 15 is arranged for multiple users 16 is shown, but the physical configuration and logical configuration are not limited to this. The management device 15 may be provided for each user 16 and configured with multiple gateway devices that accept API calls from the users 16, and may be realized by the multiple gateway devices cooperating with each other. In this case, the gateway device can also be constructed on the cloud 11. In this embodiment, the management device 15 is illustrated as being constructed on the cloud 11, but is not limited to this example. The management device 15 may also be constructed by a computer such as a server device that physically has a processor and memory and executes a software program using the processor.

ユーザ管理部21は、マルチテナント型サービスを利用するユーザ16を管理する。図2に示したように、ユーザ管理部21は、契約プラン受付部22、上限決定部23、および優先順位決定部24を有する。 The user management unit 21 manages users 16 who use the multi-tenant service. As shown in FIG. 2, the user management unit 21 has a contract plan acceptance unit 22, an upper limit determination unit 23, and a priority determination unit 24.

契約プラン受付部22は、マルチテナント型サービスの利用契約をしようとするユーザ16に様々な料金の契約プランを提示し、ユーザ16の希望に応じて利用する契約プランを決定する。 The contract plan reception unit 22 presents various contract plans with different fees to the user 16 who wishes to sign a contract to use the multi-tenant service, and determines the contract plan to be used based on the user 16's wishes.

上限決定部23は、ユーザ16の希望に応じて、単位時間当たりのAPIの呼び出しの受付可能な回数の上限値を決定する。以下、単位時間当たりのAPIの呼び出しの受付可能な回数の上限値をAPI上限値と呼ぶ場合がある。API上限値は、契約プランに応じて定まるものであってもよい。 The upper limit determination unit 23 determines the upper limit of the number of API calls that can be accepted per unit time according to the desires of the user 16. Hereinafter, the upper limit of the number of API calls that can be accepted per unit time may be referred to as the API upper limit. The API upper limit may be determined according to the contract plan.

API上限値は絶対的な上限値ではなく、バーストモードにおいてはAPI上限値を超えてAPIの呼び出しを受け付けることができる。上限決定部23は、API上限値を超えてAPIの呼び出しを受け付け可能な時間であるバースト時間を決定する。バースト時間は、リソース12を共用する全てのユーザ16のAPI上限値の合計に対する各ユーザ16のAPI上限値の割合に応じて単位時間を分配した時間であってもよい。以下、全ユーザのAPI上限値の合計に対する各ユーザのAPI上限値の割合をAPI上限値割合と呼ぶ場合がある。 The API upper limit is not an absolute upper limit, and in burst mode, API calls can be accepted beyond the API upper limit. The upper limit determination unit 23 determines a burst time, which is the time during which API calls can be accepted beyond the API upper limit. The burst time may be a unit time distributed according to the ratio of the API upper limit of each user 16 to the total API upper limit of all users 16 sharing the resource 12. Hereinafter, the ratio of each user's API upper limit to the total API upper limit of all users may be referred to as the API upper limit ratio.

優先順位決定部24は、各ユーザ16のAPIの呼び出しの処理における優先順位を決定する。優先順位は、全ユーザのAPI上限値の合計に対する各ユーザのAPI上限値の割合が高い順としてもよい。 The priority determination unit 24 determines the priority of each user 16 in the processing of API calls. The priority may be determined in descending order of the ratio of each user's API upper limit value to the total API upper limit value of all users.

API制御部25は、ユーザ16によるAPIの呼び出しによる処理の実行を制御する。図2に示したように、API制御部25は、キュー登録部26、データベースキュー27、キュー取出部28、およびAPI実行受付部29を有する。以下、データベースをDBと略す場合がある。 The API control unit 25 controls the execution of processes by calling APIs by the user 16. As shown in FIG. 2, the API control unit 25 has a queue registration unit 26, a database queue 27, a queue retrieval unit 28, and an API execution reception unit 29. Hereinafter, database may be abbreviated as DB.

キュー登録部26は、ユーザ16からのAPIの呼び出しを受信し、DBキュー27に登録する。 The queue registration unit 26 receives an API call from the user 16 and registers it in the DB queue 27.

DBキュー27は、各ユーザ16から受信されたAPIの呼び出しを管理するキューである。 The DB queue 27 is a queue that manages API calls received from each user 16.

キュー取出部28は、API実行受付部29の決定に従ってDBキュー27からAPIの呼び出しを取り出す。 The queue extraction unit 28 extracts the API call from the DB queue 27 according to the decision of the API execution reception unit 29.

API実行受付部29は、単位時間毎にユーザ16によるAPIの受け付け済みの呼び出しの回数をカウント値として計測し、カウント値がAPI上限値に達していなければAPIの呼び出しを受け付け、カウント値がAPI上限値に達していたら、バーストモードとして、バースト時間に基づいて、ユーザ16からのAPIの呼び出しの受け付けを制御する。詳細な処理は後述する。 The API execution reception unit 29 measures the number of API calls that have been accepted by the user 16 per unit time as a count value, and accepts the API call if the count value has not reached the API upper limit value, and controls the acceptance of API calls from the user 16 based on the burst time in burst mode if the count value has reached the API upper limit value. The detailed processing will be described later.

図3は、ユーザ管理処理のフローチャートである。ユーザ管理処理は、ユーザ管理部21の契約プラン受付部22、上限決定部23、および優先順位決定部24により実行される。 Figure 3 is a flowchart of the user management process. The user management process is executed by the contract plan acceptance unit 22, upper limit determination unit 23, and priority determination unit 24 of the user management unit 21.

ステップ101にて、契約プラン受付部22は、予め定められた複数の契約プランをユーザ16に提示して選択を促す。 In step 101, the contract plan acceptance unit 22 presents a number of predefined contract plans to the user 16 and prompts the user to select one.

図4は、契約プラン一覧を示す図である。 Figure 4 shows a list of contract plans.

契約プランは、「松」「竹」「梅」「格安」の4種類である。「松」は、料金が月額10万円であり、API上限値が1秒当たり100回である。「竹」は、料金が月額5万円であり、API上限値が1秒当たり40回である。「梅」は、料金が月額3万円であり、API上限値が1秒当たり20回である。「格安」は、料金が月額1万円であり、API上限値が1秒当たり0回である。APIの呼び出しに対するレスポンスの種別はいずれの契約プランもベストエフォートである。ユーザ16は、これらの契約プランの中から利用する契約プランを選択する。 There are four types of contract plans: "Pine," "Bamboo," "Plum," and "Cheap." "Pine" has a monthly fee of 100,000 yen and an API upper limit of 100 times per second. "Bamboo" has a monthly fee of 50,000 yen and an API upper limit of 40 times per second. "Plum" has a monthly fee of 30,000 yen and an API upper limit of 20 times per second. "Cheap" has a monthly fee of 10,000 yen and an API upper limit of 0 times per second. The response type to API calls is best effort for all contract plans. User 16 selects the contract plan to use from these contract plans.

ステップ102にて、契約プラン受付部22は、各ユーザ16の選択に基づき、各ユーザ16が利用する契約プランを決定する。 In step 102, the contract plan acceptance unit 22 determines the contract plan that each user 16 will use based on the selection of each user 16.

ステップ103にて、上限決定部23は、各ユーザ16の契約プランに基づいて各ユーザ16のAPI上限値を決定し、それに伴い、当該ユーザ16のAPI上限値割合を決定する。 In step 103, the upper limit determination unit 23 determines the API upper limit value for each user 16 based on the contract plan of each user 16, and accordingly determines the API upper limit value ratio for that user 16.

ステップ104にて、ユーザ管理部21は、マルチテナント型サービスでリソース12を共用する全てのユーザ16を管理するユーザテーブルを作成する。 In step 104, the user management unit 21 creates a user table that manages all users 16 who share resources 12 in the multitenant service.

図5は、ユーザテーブルを示す図である。ユーザテーブルには、各ユーザのユーザ名、API上限値、API上限値割合、およびAPI実割合が登録される。ユーザ名が「日立」であるユーザは、図4に示した契約プラン「松」を契約している。ユーザ名が「池田」であるユーザは、図4に示した契約プラン「竹」を契約している。ユーザ名が「戸塚」であるユーザは、図4に示した契約プラン「梅」を契約している。ユーザ名が「吉田」であるユーザは、図4に示した契約プラン「格安」を契約している。 Figure 5 is a diagram showing the user table. In the user table, the user name, API upper limit, API upper limit ratio, and API actual ratio of each user are registered. A user with the user name "Hitachi" has subscribed to the contract plan "Matsu" shown in Figure 4. A user with the user name "Ikeda" has subscribed to the contract plan "Take" shown in Figure 4. A user with the user name "Totsuka" has subscribed to the contract plan "Ume" shown in Figure 4. A user with the user name "Yoshida" has subscribed to the contract plan "Cheap" shown in Figure 4.

API上限値割合は、上述の通り、全ユーザのAPI上限値の合計に対する各ユーザのAPI上限値の割合である。例えば、図5において、ユーザ名が「日立」であるユーザのAPI上限値割合は式(1)により計算される。 As described above, the API upper limit ratio is the ratio of each user's API upper limit to the total API upper limit of all users. For example, in FIG. 5, the API upper limit ratio of a user with the user name "Hitachi" is calculated using formula (1).

API上限値割合(日立)=100回/(100+60+40)=50% …(1) API upper limit rate (Hitachi) = 100 times / (100 + 60 + 40) = 50% ... (1)

API実割合は、全てのユーザ16によるAPIの呼び出しが行われた回数の合計に対する、当該ユーザ16によるAPIの呼び出しが行われた回数の割合である。ユーザテーブルが作成された段階ではAPI実割合には数値が入らない。 The actual API ratio is the ratio of the number of times an API was called by a particular user 16 to the total number of times an API was called by all users 16. When the user table is created, no numerical value is entered into the actual API ratio.

図3に戻り、ステップ105にて、優先順位決定部24は、各ユーザ16のバースト時間を算出する。 Returning to FIG. 3, in step 105, the priority determination unit 24 calculates the burst time for each user 16.

バースト時間は、上述の通り、全てのユーザ16のAPI上限値の合計に対する各ユーザ16のAPI上限値の割合(すなわちAPI上限値割合)に応じて単位時間を分配した時間である。例えば、図5において、ユーザ名が「日立」であるユーザのバースト時間は式(2)により計算される。 As described above, the burst time is a unit time distributed according to the ratio of the API upper limit value of each user 16 to the total API upper limit values of all users 16 (i.e., the API upper limit value ratio). For example, in FIG. 5, the burst time of a user with the user name "Hitachi" is calculated by formula (2).

バースト時間(日立)=1秒×(API上限値割合(日立))=0.2秒 …(2) Burst time (Hitachi) = 1 second x (API upper limit rate (Hitachi)) = 0.2 seconds ... (2)

ステップ106にて、優先順位決定部24は、各ユーザ16のバーストモードを適用する優先順位を決定し、各ユーザ16のAPIの呼び出しに対する処理における優先順位を示す優先順位テーブルを作成する。 In step 106, the priority determination unit 24 determines the priority for applying burst mode to each user 16 and creates a priority table indicating the priority in processing API calls for each user 16.

優先順位決定部24は、上述の通り、各ユーザ16に対してAPI上限値割合が高い順に優先順位を付与していく。 As described above, the priority determination unit 24 assigns priority to each user 16 in descending order of API upper limit value ratio.

図6は、優先順位テーブルを示す図である。優先順位テーブルには、優先順位を示す数値と、その優先順位に該当するユーザのユーザ名とが記録されている。例えば、ユーザ名が「日立」であるユーザの優先順位が「1」であり、ユーザ名が「池田」であるユーザの優先順位が「2」である。 Figure 6 shows a priority table. The priority table records a numerical value indicating a priority and the user name of the user corresponding to that priority. For example, the priority of a user with the user name "Hitachi" is "1," and the priority of a user with the user name "Ikeda" is "2."

図7は、API受け付け処理のフローチャートである。API受け付け処理は、キュー登録部26により実行される。 Figure 7 is a flowchart of the API reception process. The API reception process is executed by the queue registration unit 26.

キュー登録部26は、ステップ201にて、ユーザ16から受信したAPIの呼び出しを取得し、ステップ202にて、APIの呼び出しを受信した時刻を取得する。以下、APIの呼び出しを受信した時刻を受信時刻と呼ぶ場合がある。 In step 201, the queue registration unit 26 acquires the API call received from the user 16, and in step 202, acquires the time at which the API call was received. Hereinafter, the time at which the API call was received may be referred to as the reception time.

ステップ203にて、キュー登録部26は、APIの呼び出しおよびその管理情報をデータベースおよびDBキュー27に登録する。 In step 203, the queue registration unit 26 registers the API call and its management information in the database and DB queue 27.

ステップ204にて、キュー登録部26は、新たなAPIの呼び出しがDBキュー27に登録されたことを示すシグナルを送出する。 In step 204, the queue registration unit 26 sends a signal indicating that a new API call has been registered in the DB queue 27.

図8は、データベースを示す図である。データベースには、各API呼び出しについて、識別子、ユーザ名、処理名、受信時刻、および開始時刻が記録される。識別子は、API呼び出しを個々に識別するための識別情報である。ユーザ名は、当該APIの呼び出しを送信したユーザ16を示す情報である。処理名は、当該APIの呼び出しにより呼び出され実行される処理を示す処理名である。受信時刻は、当該APIの呼び出しの受信時刻である。開始時刻は、当該APIの呼び出しによる処理が開始される時刻である。APIの呼び出しがデータベースに登録された段階では、開始時刻は記録されない。 Figure 8 is a diagram showing the database. In the database, an identifier, a user name, a process name, a reception time, and a start time are recorded for each API call. The identifier is identification information for individually identifying an API call. The user name is information indicating the user 16 who sent the API call. The process name is the process name indicating the process that is called and executed by the API call. The reception time is the time that the API call was received. The start time is the time that the process by the API call is started. When the API call is registered in the database, the start time is not recorded.

DBキュー27には、各ユーザ16から受信されたAPIの呼び出しが受信された順番に記録される。DBキュー27の構成は特に限定されないが、ユーザ16毎にAPIの呼び出しが受信された順番を特定可能に構成される。例えば、DBキュー27は、ユーザ16毎の個別のキューにより構成されてもよい。また、例えば、DBキュー27をデータベースと兼用とし、複数のユーザ16に対して共通に設けられ、各APIを送信したユーザ16を特定可能にする情報(例えばユーザ名)と共に記録し、所望のユーザ16のAPIの呼び出しを取り出すことが可能な構成であってもよい。図8の例で、ユーザ名が「日立」のユーザが処理対象であれば、識別子が1001のAPIの呼び出しよりも前に、識別子が1003のAPIの呼び出しが取り出されることがある。 In the DB queue 27, the API calls received from each user 16 are recorded in the order in which they were received. The configuration of the DB queue 27 is not particularly limited, but is configured to be able to identify the order in which the API calls were received for each user 16. For example, the DB queue 27 may be configured with an individual queue for each user 16. Also, for example, the DB queue 27 may be configured to double as a database, be shared by multiple users 16, record each API together with information (e.g., user name) that identifies the user 16 who sent it, and be able to extract the API call of the desired user 16. In the example of FIG. 8, if the user with the user name "Hitachi" is the processing target, the API call with identifier 1003 may be extracted before the API call with identifier 1001.

図9は、優先順位処理のフローチャートである。優先順位処理は、優先的にバーストモードを適用するユーザを決める処理である。優先順位処理は、ユーザ管理部21により実行される。 Figure 9 is a flowchart of the priority order process. The priority order process is a process for determining which users should be given priority in applying burst mode. The priority order process is executed by the user management unit 21.

ステップ301にて、ユーザ管理部21は、所定の条件が満たされると優先順位テーブルのカレントポインタを1つ進める。所定の条件には、現在の優先対象ユーザのバースト時間が満了したこと、および現在の優先対象ユーザのAPIの呼び出しがなくなったことが含まれる。 In step 301, the user management unit 21 advances the current pointer in the priority table by one when a predetermined condition is met. The predetermined condition includes the expiration of the burst time of the current priority user and the end of the API invocation of the current priority user.

ステップ302にて、ユーザ管理部21は、優先順位テーブルのカレントポインタが指している新たな優先対象ユーザを特定する。 In step 302, the user management unit 21 identifies the new priority target user to which the current pointer in the priority table points.

ステップ303にて、ユーザ管理部21は、新たな優先対象ユーザに優先的にバーストモードを適用する。 In step 303, the user management unit 21 applies burst mode preferentially to the new priority user.

図10は、API呼び出し受付処理のフローチャートである。API呼び出し受付処理は、優先対象ユーザを優先し、シグナルが送出されているユーザ16に対して実行される。ここでは、処理の対象となるユーザ16をユーザAとしている。API呼び出し受付処理は、API制御部25のAPI実行受付部29により実行される。 Figure 10 is a flowchart of the API call reception process. The API call reception process is executed for the user 16 to which the signal is being sent, with priority being given to the priority target user. In this example, the user 16 to be processed is user A. The API call reception process is executed by the API execution reception unit 29 of the API control unit 25.

API実行受付部29は、単位時間毎に、ユーザAを含む各ユーザ16のそれぞれに、受け付け済みのAPIの呼び出しの回数を計測している。以下、この受け付け済みのAPIの呼び出しの回数をAPI呼び出し回数と呼ぶ場合がある。 The API execution reception unit 29 measures the number of API calls that have been accepted for each user 16, including user A, per unit time. Hereinafter, the number of API calls that have been accepted may be referred to as the number of API calls.

API実行受付部29は、APIの呼び出しがあると(ステップ401)、ステップ402にて、ユーザAのAPI呼び出し回数がユーザAの上限値に到達しているか否か判定する。ユーザAのAPI呼び出し回数がユーザAの上限値に到達していなければ、API実行受付部29は、ステップ403にて、ユーザAによるAPIの呼び出しを受け付け、ステップ404にて、ユーザAのAPI呼び出し回数に1を加算する。APIの呼び出しが受け付けられると、呼び出された処理がクラウド11のリソース12により実行される。 When an API call is made (step 401), the API execution reception unit 29 determines in step 402 whether the number of API calls made by user A has reached the upper limit for user A. If the number of API calls made by user A has not reached the upper limit for user A, the API execution reception unit 29 accepts the API call made by user A in step 403, and adds 1 to the number of API calls made by user A in step 404. When the API call is accepted, the called process is executed by the resource 12 of the cloud 11.

ステップ402の判定で、ユーザAのAPI呼び出し回数がユーザAの上限値に到達していれば、API実行受付部29は、ステップ405にて、バースト時間内にユーザAによるAPIの呼び出しのみが実施されているか否か判定する。バースト時間内にユーザAによるAPIの呼び出しのみが実施されているのであれば、API実行受付部29は、ステップ406にて、ユーザAによるAPIの呼び出しを受け付け、ステップ404に進む。 If it is determined in step 402 that the number of API calls by user A has reached the upper limit for user A, then in step 405, the API execution receiving unit 29 determines whether or not only API calls by user A have been made within the burst time. If only API calls by user A have been made within the burst time, then in step 406, the API execution receiving unit 29 receives the API call by user A and proceeds to step 404.

ステップ405の判定で、バースト時間内にユーザAによるAPIの呼び出しのみが実施されているのでなければ、API実行受付部29は、ステップ407にて、ユーザAによるAPIの呼び出しの処理により生じ、未だブロックチェーンに書き込まれていないデータの総量が、ブロックチェーンのブロックのサイズに到達しているか否か判定する。ブロックチェーンのブロックのサイズを以下ブロックサイズと呼ぶ場合がある。ユーザAによるAPIの呼び出しの処理により生じ、未だブロックチェーンに書き込まれていないデータの総量がブロックサイズに到達していなければ、API実行受付部29は、ステップ406に進む。ステップ406では、ユーザAによるAPIの呼び出しが受け付けられ、呼び出された処理により生じるデータは、未だブロックチェーンに書き込まれていないデータと一緒にブロックに書き込まれる。 If it is determined in step 405 that only the API call by user A is not being performed within the burst time, then in step 407, the API execution receiving unit 29 determines whether the total amount of data generated by the processing of the API call by user A and not yet written to the blockchain has reached the size of a block in the blockchain. The size of a block in the blockchain may be referred to as the block size hereinafter. If the total amount of data generated by the processing of the API call by user A and not yet written to the blockchain has not reached the block size, the API execution receiving unit 29 proceeds to step 406. In step 406, the API call by user A is accepted, and the data generated by the called processing is written to the block together with the data that has not yet been written to the blockchain.

ユーザAによるAPIの呼び出しの処理により生じ、未だブロックチェーンに書き込まれていないデータの総量がブロックサイズに到達していれば、API実行受付部29は、ステップ408にて、APIの呼び出しの受け付けを所定の回復時間だけ一時停止した後に回復し、ステップ403に進む。なお、回復時間は、API上限値を超えたAPIの呼び出しの受け付けを停止して待ち受ける時間を示すシステムパラメータであり、API実行受付部29がこれを予め定めておく。 If the total amount of data generated by the processing of the API call by user A and not yet written to the blockchain has reached the block size, the API execution receiving unit 29 temporarily suspends the acceptance of API calls for a predetermined recovery time in step 408, then resumes and proceeds to step 403. The recovery time is a system parameter indicating the time to wait for the acceptance of API calls that exceed the API upper limit, and is determined in advance by the API execution receiving unit 29.

本実施形態では、各ユーザの契約プランと連動するAPI上限値や料金に応じたバースト時間まで、APIの個数の上限値を超えたバーストモードでのAPIの処理を行い、ブロックチェーンのブロックへできるだけまとめてデータの書き込みが行われるように制御する。API上限値を超えたAPIの呼び出しを、API上限値に応じて決まるバースト時間まで受け付けるので、ユーザに公平感が与えられる。また、データをブロックサイズにまとめてブロックチェーンへの書き込むので、書き込み処理の発生回数を低減することができる。 In this embodiment, API processing is performed in burst mode exceeding the upper limit on the number of APIs, up to a burst time according to the API upper limit and fee linked to each user's contract plan, and data is controlled so that it is written to the blockchain block as collectively as possible. API calls that exceed the API upper limit are accepted up to the burst time determined according to the API upper limit, providing a sense of fairness to users. In addition, data is written to the blockchain in block sizes, reducing the number of write processes that occur.

以上説明した本実施形態には、以下に示す事項が含まれる。ただし、本実施形態に含まれる事項が以下に示すものだけに限定されることはない。 The present embodiment described above includes the following items. However, the items included in the present embodiment are not limited to those listed below.

(事項1)
クラウド上で複数のユーザにより共有されるリソースによって、前記複数のユーザのデータ処理を実行するマルチテナント型サービスにおいて、前記ユーザからデータ処理の呼び出しを受け付けて、前記リソースにより前記データ処理を実行させる管理装置であって、
前記ユーザ毎に、単位時間当たりのデータ処理の呼び出しの回数の上限値と、前記上限値を超えてデータ処理の呼び出しを受け付け可能な時間であるバースト時間を予め設定するユーザ管理部と、
単位時間毎に前記ユーザによるデータ処理の受け付け済みの呼び出しの回数をカウント値として計測し、前記カウント値が前記上限値に達していなければ前記データ処理を受け付け、前記カウント値が前記上限値に達していたら、前記バースト時間に基づいて、前記ユーザからのデータ処理の呼び出しの受け付けを制御するデータ処理制御部と、
を有し、
前記データ処理制御部は、
前記カウント値が前記上限値に達していたら、バーストモードとして、前記バースト時間の間、
前記リソースを共有する複数のユーザの中に、データ処理の呼び出しのある他のユーザが無ければ、前記データ処理を受け付け、
前記リソースを共有する複数のユーザの中に、データ処理の呼び出しのある他のユーザがあれば、
前記ユーザのデータ処理によるデータが所定のデータサイズに到達していなければ、前記データ処理を受け付け、
前記ユーザのデータ処理によるデータが前記データサイズに到達していれば、所定の回復時間だけ待機した後、前記データ処理を受け付ける、
管理装置。
(Item 1)
1. A multitenant service that executes data processing for a plurality of users using resources shared by the plurality of users on a cloud, comprising: a management device that receives a call for data processing from the plurality of users and executes the data processing using the resources, the management device comprising:
a user management unit that pre-sets, for each user, an upper limit on the number of calls to data processing per unit time and a burst time that is a time during which calls to data processing can be accepted in excess of the upper limit;
a data processing control unit that measures the number of accepted calls for data processing by the user per unit time as a count value, accepts the data processing if the count value has not reached the upper limit value, and controls acceptance of the calls for data processing from the user based on the burst time if the count value has reached the upper limit value;
having
The data processing control unit
If the count value has reached the upper limit, the burst mode is set, and during the burst time,
If there is no other user among the multiple users sharing the resource who has a call for data processing, the data processing is accepted;
Among the multiple users sharing the resource, if there is another user with a data processing call,
If the data resulting from the data processing by the user has not reached a predetermined data size, the data processing is accepted;
If the data resulting from the data processing by the user has reached the data size, the data processing is accepted after waiting for a predetermined recovery time.
Management device.

これによれば、データ処理のカウント値が上限値に達していたら、バースト時間内のデータ処理の呼び出しの受け付けが実施されている他のユーザが無ければ、データ処理を受け付け、バースト時間内のデータ処理の呼び出しの受け付けが実施されている他のユーザがあっても、ユーザのデータ処理によるデータが所定のデータサイズに到達していなければ、データ処理を受け付ける。これにより、マルチテナント型のサービスにおいてクラウド上の好適なリソース分配を実現することができる。 According to this, if the data processing count value has reached the upper limit, and there are no other users for whom data processing calls are being accepted within the burst time, the data processing is accepted; even if there are other users for whom data processing calls are being accepted within the burst time, the data processing is accepted if the data resulting from the user's data processing has not reached a predetermined data size. This makes it possible to realize optimal resource distribution on the cloud in a multi-tenant service.

(事項2)
前記マルチテナント型サービスは、前記複数のユーザのデータをブロックチェーンによって記憶するサービスであり、
前記データサイズが前記ブロックチェーンのブロックのサイズに基づいて決定され、
前記データ処理制御部は、前記リソースに前記データ処理を実行させたことにより生じるデータを前記ブロックにまとめて前記ブロックチェーンに記録する、
事項1に記載の管理装置。
(Item 2)
The multi-tenant service is a service that stores data of the multiple users using a blockchain,
The data size is determined based on a size of a block of the blockchain;
The data processing control unit compiles data generated by causing the resource to execute the data processing into the block and records the data in the block chain.
2. The management device according to item 1.

これによれば、ブロックチェーンの性質を考慮してクラウド上の好適なリソース分配を実現することができる。ブロックチェーンは、所定サイズのブロック単位でデータの書き込みが行われるので、小さいデータをブロックにまとめることで、書き込みの回数および書き込まれるデータの個数を低減することができる。 This makes it possible to realize optimal resource distribution on the cloud, taking into account the characteristics of the blockchain. Since data is written to the blockchain in blocks of a specified size, the number of writes and the number of pieces of data written can be reduced by aggregating small data into blocks.

(事項3)
前記データ処理が、アプリケーション・プログラミング・インタフェースによる処理である、
事項1に記載の管理装置。
(Item 3)
The data processing is processing by an application programming interface.
2. The management device according to item 1.

これによれば、APIの呼び出しの単位でクラウド上のリソースを好適に分配することができる。 This allows resources on the cloud to be optimally distributed on an API call basis.

(事項4)
前記ユーザ管理部は、
前記複数のユーザの前記上限値の合計に対する各ユーザの前記上限値の割合に応じて、前記各ユーザのデータ処理における優先順位を示す優先順位テーブルを予め生成し、
前記優先順位テーブルにおいて、前記データ処理の受け付けを優先する優先対象ユーザを示すカレントポインタを設定し、
前記データ処理制御部に、前記優先対象ユーザを優先して前記バーストモードを適用させ、
前記バースト時間が満了したとき、あるいは、前記優先対象ユーザのデータ処理の呼び出しがなくなったとき、前記カレントポインタを前記優先順位テーブルにおける次のユーザに進める、
事項1に記載の管理装置。
(Item 4)
The user management unit
generating a priority order table indicating a priority order in data processing for each of the users in accordance with a ratio of the upper limit value of each of the users to a total of the upper limit values of the plurality of users;
a current pointer indicating a priority target user who is to be given priority in accepting the data processing in the priority order table;
causing the data processing control unit to apply the burst mode with priority to the priority target user;
when the burst time expires or when the prioritized user no longer has a data processing call, advance the current pointer to the next user in the priority table;
2. The management device according to item 1.

これによれば、与えられた上限値の割合に基づく優先順位に従ってリソースを分配する処理を実現することができる。 This allows for a process to distribute resources according to priorities based on a given upper limit percentage.

(事項5)
前記上限値は、ユーザが利用する前記マルチテナント型サービスの契約プランにより定まり、
前記ユーザ管理部は、前記複数のユーザの前記上限値の合計に対する各ユーザの前記上限値の割合に応じて、前記各ユーザのそれぞれのバースト時間を設定する、
事項1に記載の管理装置。
(Item 5)
the upper limit is determined by a contract plan of the multi-tenant service used by the user,
the user management unit sets a burst time for each of the users in accordance with a ratio of the upper limit value for each of the users to a sum of the upper limit values for the multiple users.
2. The management device according to item 1.

これによれば、契約プランにより定まる上限値の割合に応じたバースト時間で上限値を超えたバーストモードでのデータ処理の受け付けを行うので、ユーザに公平感を与えることができる。 This allows data processing in burst mode that exceeds the upper limit to be accepted for a burst time that corresponds to the percentage of the upper limit determined by the contract plan, providing a sense of fairness to users.

(事項6)
前記データ処理制御部は、
前記ユーザによるデータ処理の呼び出しをユーザ毎の呼び出しキューにエンキューし、
前記カウント値が前記上限値に達していなければ前記呼び出しキューから前記データ処理をデキューして受け付け、
前記カウント値が前記上限値に達していたら、
前記複数のユーザの中に、前記バースト時間内のデータ処理の呼び出しの受け付けが実施されている他のユーザが無ければ、前記呼び出しキューから前記データ処理をデキューして受け付け、
前記複数のユーザの中に、前記バースト時間内のデータ処理の呼び出しの受け付けが実施されている他のユーザがあれば、
前記ユーザのデータ処理によるデータが前記データサイズに到達していなければ、前記キューから前記データ処理をデキューして受け付け、
前記ユーザのデータ処理によるデータが前記データサイズに到達していれば、データ処理の呼び出しの受け付けを停止する、
事項1に記載の管理装置。
(Item 6)
The data processing control unit
enqueueing the user's data processing invocation in a per-user invocation queue;
If the count value does not reach the upper limit value, the data process is dequeued from the call queue and accepted;
If the count value reaches the upper limit value,
If there is no other user among the plurality of users who is accepting a call for data processing within the burst time, dequeue the data processing from the call queue and accept it;
If there is another user among the plurality of users who is accepting a data processing call within the burst time,
If the data resulting from the data processing by the user has not reached the data size, dequeue and accept the data processing from the queue;
If the data resulting from the data processing of the user reaches the data size, the acceptance of calls for the data processing is stopped.
2. The management device according to item 1.

これによれば、データ処理をキューによって管理し、処理するので、リアルタイムでの処理ができない場合でもデータ処理に対する好適なリソースの分配が可能である。 In this way, data processing is managed and processed using queues, making it possible to allocate resources appropriately for data processing even when real-time processing is not possible.

(事項7)
前記データ処理制御部は、
前記上限値を超えたデータ処理の呼び出しの受け付けを停止して待ち受ける時間である回復時間を予め定め、
前記カウント値が前記上限値に達しており、前記リソースを共有する複数のユーザの中に、前記バースト時間内のデータ処理の呼び出しの受け付けが実施されている他のユーザがあり、前記ユーザのデータ処理によるデータが前記データサイズに到達していれば、前記回復時間だけ、データ処理の呼び出しの受け付けを停止する、
事項1に記載の管理装置。
(Item 7)
The data processing control unit
A recovery time is previously determined as a time during which the acceptance of a call for data processing that has exceeded the upper limit is stopped and the device waits for the call,
if the count value has reached the upper limit value, and among the multiple users sharing the resource, there is another user who is accepting calls for data processing within the burst time, and data from the data processing of the user has reached the data size, then the acceptance of the calls for data processing is stopped for the recovery time.
2. The management device according to item 1.

これによれば、適切な回復時間によりリソース分配の処理を運用することができる。 This allows resource distribution processing to be carried out with appropriate recovery time.

(事項8)
前記管理装置は、ユーザ毎に設けられ当該ユーザからデータ処理の呼び出しを受け付ける複数のゲートウェイにより構成され、
前記ゲートウェイは、前記クラウド上に構築される、
事項1に記載の管理装置。
(Item 8)
the management device is configured with a plurality of gateways provided for each user and receiving data processing calls from the users;
The gateway is constructed on the cloud.
2. The management device according to item 1.

また、上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の範囲を逸脱することなしに、他の様々な態様で本発明を実施することができる。 The above-described embodiments of the present invention are merely illustrative examples of the present invention, and are not intended to limit the scope of the present invention to these embodiments. Those skilled in the art may implement the present invention in various other forms without departing from the scope of the present invention.

11…クラウド、12…リソース、13…処理装置、14…記憶装置、15…管理装置、16A…ユーザA、16B…ユーザB、16C…ユーザC、16…ユーザ、21…ユーザ管理部、22…契約プラン受付部、23…上限値決定部、24…優先順位決定部、25…API制御部、26…キュー登録部、27…データベースキュー、28…キュー取出部、29…API実行受付部

Reference Signs List 11: Cloud, 12: Resource, 13: Processing device, 14: Storage device, 15: Management device, 16A: User A, 16B: User B, 16C: User C, 16: User, 21: User management unit, 22: Contract plan reception unit, 23: Upper limit determination unit, 24: Priority determination unit, 25: API control unit, 26: Queue registration unit, 27: Database queue, 28: Queue retrieval unit, 29: API execution reception unit

Claims (10)

クラウド上で複数のユーザにより共有されるリソースによって、前記複数のユーザのデータ処理を実行するマルチテナント型サービスにおいて、前記ユーザからデータ処理の呼び出しを受け付けて、前記リソースにより前記データ処理を実行させる管理装置であって、
前記ユーザ毎に、単位時間当たりのデータ処理の呼び出しの回数の上限値と、前記上限値を超えてデータ処理の呼び出しを受け付け可能な時間であるバースト時間を予め設定するユーザ管理部と、
単位時間毎に前記ユーザによるデータ処理の受け付け済みの呼び出しの回数をカウント値として計測し、前記カウント値が前記上限値に達していなければ前記データ処理を受け付け、前記カウント値が前記上限値に達していたら、前記バースト時間に基づいて、前記ユーザからのデータ処理の呼び出しの受け付けを制御するデータ処理制御部と、
を有し、
前記データ処理制御部は、
前記カウント値が前記上限値に達していたら、バーストモードとして、前記バースト時間の間、
前記リソースを共有する複数のユーザの中に、データ処理の呼び出しのある他のユーザが無ければ、前記データ処理を受け付け、
前記リソースを共有する複数のユーザの中に、データ処理の呼び出しのある他のユーザがあれば、
前記ユーザのデータ処理によるデータが所定のデータサイズに到達していなければ、前記データ処理を受け付け、
前記ユーザのデータ処理によるデータが前記データサイズに到達していれば、所定の回復時間だけ待機した後、前記データ処理を受け付ける、
管理装置。
1. A multitenant service that executes data processing for a plurality of users using resources shared by the plurality of users on a cloud, comprising: a management device that receives a call for data processing from the plurality of users and executes the data processing using the resources, the management device comprising:
a user management unit that pre-sets, for each user, an upper limit on the number of calls to data processing per unit time and a burst time that is a time during which calls to data processing can be accepted in excess of the upper limit;
a data processing control unit that measures the number of accepted calls for data processing by the user per unit time as a count value, accepts the data processing if the count value has not reached the upper limit value, and controls acceptance of the calls for data processing from the user based on the burst time if the count value has reached the upper limit value;
having
The data processing control unit
If the count value has reached the upper limit, the burst mode is set, and during the burst time,
If there is no other user among the multiple users sharing the resource who has a call for data processing, the data processing is accepted;
Among the multiple users sharing the resource, if there is another user with a data processing call,
If the data resulting from the data processing by the user has not reached a predetermined data size, the data processing is accepted;
If the data resulting from the data processing by the user has reached the data size, the data processing is accepted after waiting for a predetermined recovery time.
Management device.
前記マルチテナント型サービスは、前記複数のユーザのデータをブロックチェーンによって記憶するサービスであり、
前記データサイズが前記ブロックチェーンのブロックのサイズに基づいて決定され、
前記データ処理制御部は、前記リソースに前記データ処理を実行させたことにより生じるデータを前記ブロックにまとめて前記ブロックチェーンに記録する、
請求項1に記載の管理装置。
The multi-tenant service is a service that stores data of the multiple users using a blockchain,
The data size is determined based on a size of a block of the blockchain;
The data processing control unit compiles data generated by causing the resource to execute the data processing into the block and records the data in the block chain.
The management device according to claim 1 .
前記データ処理が、アプリケーション・プログラミング・インタフェースによる処理である、
請求項1に記載の管理装置。
The data processing is processing by an application programming interface.
The management device according to claim 1 .
前記ユーザ管理部は、
前記複数のユーザの前記上限値の合計に対する各ユーザの前記上限値の割合に応じて、前記各ユーザのデータ処理における優先順位を示す優先順位テーブルを予め生成し、
前記優先順位テーブルにおいて、前記データ処理の受け付けを優先する優先対象ユーザを示すカレントポインタを設定し、
前記データ処理制御部に、前記優先対象ユーザを優先して前記バーストモードを適用させ、
前記バースト時間が満了したとき、あるいは、前記優先対象ユーザのデータ処理の呼び出しがなくなったとき、前記カレントポインタを前記優先順位テーブルにおける次のユーザに進める、
請求項1に記載の管理装置。
The user management unit
generating a priority order table indicating a priority order in data processing for each of the users in accordance with a ratio of the upper limit value of each of the users to a total of the upper limit values of the plurality of users;
a current pointer indicating a priority target user who is to be given priority in accepting the data processing in the priority order table;
causing the data processing control unit to apply the burst mode with priority to the priority target user;
when the burst time expires or when the prioritized user no longer has a data processing call, advance the current pointer to the next user in the priority table;
The management device according to claim 1 .
前記上限値は、ユーザが利用する前記マルチテナント型サービスの契約プランにより定まり、
前記ユーザ管理部は、前記複数のユーザの前記上限値の合計に対する各ユーザの前記上限値の割合に応じて、前記各ユーザのそれぞれのバースト時間を設定する、
請求項1に記載の管理装置。
the upper limit is determined by a contract plan of the multi-tenant service used by the user,
the user management unit sets a burst time for each of the users in accordance with a ratio of the upper limit value for each of the users to a sum of the upper limit values for the multiple users.
The management device according to claim 1 .
前記データ処理制御部は、
前記ユーザによるデータ処理の呼び出しをユーザ毎の呼び出しキューにエンキューし、
前記カウント値が前記上限値に達していなければ前記呼び出しキューから前記データ処理をデキューして受け付け、
前記カウント値が前記上限値に達していたら、
前記複数のユーザの中に、前記バースト時間内のデータ処理の呼び出しの受け付けが実施されている他のユーザが無ければ、前記呼び出しキューから前記データ処理をデキューして受け付け、
前記複数のユーザの中に、前記バースト時間内のデータ処理の呼び出しの受け付けが実施されている他のユーザがあれば、
前記ユーザのデータ処理によるデータが前記データサイズに到達していなければ、前記キューから前記データ処理をデキューして受け付け、
前記ユーザのデータ処理によるデータが前記データサイズに到達していれば、データ処理の呼び出しの受け付けを停止する、
請求項1に記載の管理装置。
The data processing control unit
enqueueing the user's data processing invocation in a per-user invocation queue;
If the count value does not reach the upper limit value, the data process is dequeued from the call queue and accepted;
If the count value reaches the upper limit value,
If there is no other user among the plurality of users who is accepting a call for data processing within the burst time, dequeue the data processing from the call queue and accept it;
If there is another user among the plurality of users who is accepting a data processing call within the burst time,
If the data resulting from the data processing by the user has not reached the data size, dequeue and accept the data processing from the queue;
If the data resulting from the data processing of the user reaches the data size, the acceptance of calls for the data processing is stopped.
The management device according to claim 1 .
前記データ処理制御部は、
前記上限値を超えたデータ処理の呼び出しの受け付けを停止して待ち受ける時間である回復時間を予め定め、
前記カウント値が前記上限値に達しており、前記リソースを共有する複数のユーザの中に、前記バースト時間内のデータ処理の呼び出しの受け付けが実施されている他のユーザがあり、前記ユーザのデータ処理によるデータが前記データサイズに到達していれば、前記回復時間だけ、データ処理の呼び出しの受け付けを停止する、
請求項1に記載の管理装置。
The data processing control unit
A recovery time is previously determined as a time during which the acceptance of a call for data processing that has exceeded the upper limit is stopped and the device waits for the call,
if the count value has reached the upper limit value, and among the multiple users sharing the resource, there is another user who is accepting calls for data processing within the burst time, and data from the data processing of the user has reached the data size, then the acceptance of the calls for data processing is stopped for the recovery time.
The management device according to claim 1 .
前記管理装置は、ユーザ毎に設けられ当該ユーザからデータ処理の呼び出しを受け付ける複数のゲートウェイにより構成され、
前記ゲートウェイは、前記クラウド上に構築される、
請求項1に記載の管理装置。
the management device is configured with a plurality of gateways provided for each user and receiving data processing calls from the users;
The gateway is constructed on the cloud.
The management device according to claim 1 .
クラウド上で複数のユーザにより共有されるリソースによって、前記複数のユーザのデータ処理を実行するマルチテナント型サービスにおいて、前記ユーザからデータ処理の呼び出しを受け付けて、前記リソースに前記データ処理を実行させるための管理方法であって、
コンピュータが、
前記ユーザ毎に、単位時間当たりのデータ処理の呼び出しの回数の上限値と、前記上限値を超えてデータ処理の呼び出しを受け付け可能な時間であるバースト時間を予め設定し、
単位時間毎に前記ユーザによるデータ処理の受け付け済みの呼び出しの回数をカウント値として計測し、
前記カウント値が前記上限値に達していなければ前記データ処理を受け付け、
前記カウント値が前記上限値に達していたら、バーストモードとして、前記バースト時間の間、
前記リソースを共有する複数のユーザの中に、データ処理の呼び出しのある他のユーザが無ければ、前記データ処理を受け付け、
前記リソースを共有する複数のユーザの中に、データ処理の呼び出しのある他のユーザがあれば、
前記ユーザのデータ処理によるデータが所定のデータサイズに到達していなければ、前記データ処理を受け付け、
前記ユーザのデータ処理によるデータが前記データサイズに到達していれば、所定の回復時間だけ待機した後、前記データ処理を受け付ける、
ことを実行する管理方法。
1. A management method for a multitenant service that executes data processing for a plurality of users using resources shared by the plurality of users on a cloud, the method comprising: receiving a call for data processing from the plurality of users and causing the resources to execute the data processing, the method comprising:
The computer
an upper limit value of the number of data processing calls per unit time and a burst time, which is a time during which data processing calls exceeding the upper limit value can be accepted, are set in advance for each user;
Counting the number of accepted calls for data processing by the user per unit time as a count value;
If the count value does not reach the upper limit value, the data processing is accepted;
If the count value has reached the upper limit, the burst mode is set, and during the burst time,
If there is no other user among the multiple users sharing the resource who has a call for data processing, the data processing is accepted;
Among the multiple users sharing the resource, if there is another user with a data processing call,
If the data resulting from the data processing by the user has not reached a predetermined data size, the data processing is accepted;
If the data resulting from the data processing by the user has reached the data size, the data processing is accepted after waiting for a predetermined recovery time.
A management method for carrying out this task.
クラウド上で複数のユーザにより共有されるリソースによって、前記複数のユーザのデータ処理を実行するマルチテナント型サービスにおいて、前記ユーザからデータ処理の呼び出しを受け付けて、前記リソースに前記データ処理を実行させるための管理プログラムであって、
コンピュータに、
前記ユーザ毎に、単位時間当たりのデータ処理の呼び出しの回数の上限値と、前記上限値を超えてデータ処理の呼び出しを受け付け可能な時間であるバースト時間を予め設定し、
単位時間毎に前記ユーザによるデータ処理の受け付け済みの呼び出しの回数をカウント値として計測し、
前記カウント値が前記上限値に達していなければ前記データ処理を受け付け、
前記カウント値が前記上限値に達していたら、バーストモードとして、前記バースト時間の間、
前記リソースを共有する複数のユーザの中に、データ処理の呼び出しのある他のユーザが無ければ、前記データ処理を受け付け、
前記リソースを共有する複数のユーザの中に、データ処理の呼び出しのある他のユーザがあれば、
前記ユーザのデータ処理によるデータが所定のデータサイズに到達していなければ、前記データ処理を受け付け、
前記ユーザのデータ処理によるデータが前記データサイズに到達していれば、所定の回復時間だけ待機した後、前記データ処理を受け付ける、
ことを実行させるための管理プログラム。
1. A multitenant service that executes data processing for a plurality of users using resources shared by the plurality of users on a cloud, comprising: a management program that receives a call for data processing from the plurality of users and causes the resources to execute the data processing, the management program comprising:
On the computer,
an upper limit value of the number of data processing calls per unit time and a burst time, which is a time during which data processing calls exceeding the upper limit value can be accepted, are set in advance for each user;
Counting the number of accepted calls for data processing by the user per unit time as a count value;
If the count value does not reach the upper limit value, the data processing is accepted;
If the count value has reached the upper limit, the burst mode is set, and during the burst time,
If there is no other user among the multiple users sharing the resource who has a call for data processing, the data processing is accepted;
Among the multiple users sharing the resource, if there is another user with a data processing call,
If the data resulting from the data processing by the user has not reached a predetermined data size, the data processing is accepted;
If the data resulting from the data processing by the user has reached the data size, the data processing is accepted after waiting for a predetermined recovery time.
A management program for making this happen.
JP2021139054A 2021-08-27 2021-08-27 Management device, method, and program Active JP7692766B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021139054A JP7692766B2 (en) 2021-08-27 2021-08-27 Management device, method, and program
PCT/JP2022/031761 WO2023027081A1 (en) 2021-08-27 2022-08-23 Management device, method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021139054A JP7692766B2 (en) 2021-08-27 2021-08-27 Management device, method, and program

Publications (2)

Publication Number Publication Date
JP2023032752A JP2023032752A (en) 2023-03-09
JP7692766B2 true JP7692766B2 (en) 2025-06-16

Family

ID=85322790

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021139054A Active JP7692766B2 (en) 2021-08-27 2021-08-27 Management device, method, and program

Country Status (2)

Country Link
JP (1) JP7692766B2 (en)
WO (1) WO2023027081A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016529597A (en) 2013-06-25 2016-09-23 アマゾン・テクノロジーズ・インコーポレーテッド Burst mode control
US20210234669A1 (en) 2020-01-29 2021-07-29 Salesforce.Com, Inc. Using cache objects to store events for adding corresponding objects in a blockchain

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016529597A (en) 2013-06-25 2016-09-23 アマゾン・テクノロジーズ・インコーポレーテッド Burst mode control
US20210234669A1 (en) 2020-01-29 2021-07-29 Salesforce.Com, Inc. Using cache objects to store events for adding corresponding objects in a blockchain

Also Published As

Publication number Publication date
JP2023032752A (en) 2023-03-09
WO2023027081A1 (en) 2023-03-02

Similar Documents

Publication Publication Date Title
US8701117B2 (en) Resource consumption template processing model
CN100542139C (en) Method and device for resource allocation based on task grouping
CN102144220B (en) Distributed data processing system
CN113127170B (en) Methods, systems, and articles of manufacture for pairing in a contact center system
CN108776934A (en) Distributed data computational methods, device, computer equipment and readable storage medium storing program for executing
CN103023980B (en) A kind of method and system of cloud platform processes user service request
US10394597B1 (en) Flexible batch job scheduling in virtualization environments
CN115328640B (en) Task scheduling method, device and system and computer readable storage medium
CN111709723A (en) RPA business process intelligent processing method, device, computer equipment and storage medium
CN111491015B (en) Preheating task processing method and system, proxy server and service center
CN107888660B (en) Cloud service provisioning method, medium, apparatus and computing device
CN109993417A (en) A kind of service condition mark adding method, device and storage medium
CN111092814A (en) Service handling request message distribution method and equipment
JP7692766B2 (en) Management device, method, and program
CN116456032A (en) Customer service session request processing method and related equipment
Edwin et al. Job scheduling and VM provisioning in clouds
CN116881003A (en) Resource allocation method, device, service equipment and storage medium
CN104658096A (en) Method and device for realizing virtual queuing machine
TWI296387B (en) Scheduling method for remote object procedure call and system thereof
KR101720292B1 (en) Method for allocating cloud service resources using expectation values for service provider's profit
CN115495247A (en) A task processing method and related device
CN107329819A (en) A kind of job management method and device
JP7037059B2 (en) Resource management system and resource allocation program
CN114020433A (en) Instance resource scheduling method, device, storage medium and device
CN111314413A (en) Task allocation device for a work platform

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240308

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: 20250507

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20250604

R150 Certificate of patent or registration of utility model

Ref document number: 7692766

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150