JP7401776B2 - Control method, control program and information processing device - Google Patents

Control method, control program and information processing device Download PDF

Info

Publication number
JP7401776B2
JP7401776B2 JP2020085396A JP2020085396A JP7401776B2 JP 7401776 B2 JP7401776 B2 JP 7401776B2 JP 2020085396 A JP2020085396 A JP 2020085396A JP 2020085396 A JP2020085396 A JP 2020085396A JP 7401776 B2 JP7401776 B2 JP 7401776B2
Authority
JP
Japan
Prior art keywords
information
virtual machine
specific information
virtual machines
management server
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
JP2020085396A
Other languages
Japanese (ja)
Other versions
JP2021179853A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2020085396A priority Critical patent/JP7401776B2/en
Publication of JP2021179853A publication Critical patent/JP2021179853A/en
Application granted granted Critical
Publication of JP7401776B2 publication Critical patent/JP7401776B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は制御方法、制御プログラムおよび情報処理装置に関する。 The present invention relates to a control method, a control program, and an information processing device.

情報処理の分野では、物理的なコンピュータ(物理マシンや物理ホストと呼ぶことがある)上で、複数の仮想的なコンピュータ(仮想マシンや仮想ホストと呼ぶことがある)を動作させる仮想化技術が利用されている。各仮想マシン上では、OS(Operating System)などのソフトウェアを実行できる。また、情報処理システムでは比較的多くの仮想マシンが実行され得る。 In the field of information processing, virtualization technology is used to run multiple virtual computers (sometimes called virtual machines or virtual hosts) on a physical computer (sometimes called physical machines or physical hosts). It's being used. Software such as an OS (Operating System) can be executed on each virtual machine. Furthermore, a relatively large number of virtual machines can be executed in an information processing system.

ところで、情報処理システムでは、サーバコンピュータなどの情報処理装置が、複数のクライアントコンピュータから所定の処理の要求を受け付けたり、情報の収集を行ったりすることがある。 By the way, in an information processing system, an information processing apparatus such as a server computer may receive requests for predetermined processing or collect information from a plurality of client computers.

例えば、ホストコンピュータより新聞記事などの情報をダウンロードする自動通信装置の提案がある。提案の自動通信装置は、設定した収集日時に対し、ユーザの個人情報あるいは当該装置に固有の番号を用いて、ネットワーク回線を介してホストコンピュータとの通信を開始する日時を演算により決定する。 For example, there have been proposals for automatic communication devices that download information such as newspaper articles from a host computer. The proposed automatic communication device uses the user's personal information or a number unique to the device to determine the date and time to start communication with the host computer via the network line based on the set collection date and time.

また、ユーザにより選択された時間範囲内において乱数によりコンテンツサーバへのダウンロード要求タイミングを決定し、決定したダウンロード要求タイミングに従って、ダウンロード要求情報をコンテンツサーバに送信するコンピュータの提案もある。 There is also a proposal for a computer that determines the timing of a download request to a content server using random numbers within a time range selected by the user, and transmits download request information to the content server in accordance with the determined download request timing.

特開2001-75909号公報Japanese Patent Application Publication No. 2001-75909 特開2003-208376号公報Japanese Patent Application Publication No. 2003-208376

情報処理装置が複数の仮想マシンから情報を受信することがある。この場合、複数の仮想マシンによる情報の送信が比較的短い時間内に集中すると、情報を受信する情報処理装置の負荷が増大する。 An information processing device may receive information from multiple virtual machines. In this case, if information transmission by a plurality of virtual machines is concentrated within a relatively short period of time, the load on the information processing device that receives the information increases.

1つの側面では、本発明は、負荷集中を軽減できる制御方法、制御プログラムおよび情報処理装置を提供することを目的とする。 In one aspect, the present invention aims to provide a control method, a control program, and an information processing device that can reduce load concentration.

1つの態様では、第1の情報処理装置と複数の仮想マシンを動作させる1以上の第2の情報処理装置とを含むシステムで実行される仮想マシンの制御方法が提供される。この制御方法では、第1の情報処理装置または複数の仮想マシンそれぞれが、当該仮想マシンを特定する特定情報を取得すると、特定情報を入力とするハッシュ関数の関数値を算出し、複数の仮想マシンそれぞれが、自仮想マシンに対応する関数値に基づくタイミングで、第1の情報処理装置に情報を送信する。 In one aspect, a method for controlling a virtual machine is provided that is executed in a system including a first information processing apparatus and one or more second information processing apparatuses that operate a plurality of virtual machines. In this control method, when the first information processing device or each of the plurality of virtual machines acquires specific information that identifies the virtual machine, the first information processing device or each of the plurality of virtual machines calculates a function value of a hash function using the specific information as input, and Each of the virtual machines transmits information to the first information processing device at a timing based on a function value corresponding to its own virtual machine.

また、1つの態様では、制御プログラムが提供される。
また、1つの態様では、情報処理装置が提供される。
Also, in one aspect, a control program is provided.
Further, in one aspect, an information processing device is provided.

1つの側面では、負荷集中を軽減できる。 One aspect is that load concentration can be reduced.

第1の実施の形態の情報処理装置の処理例を示す図である。FIG. 3 is a diagram illustrating an example of processing of the information processing apparatus according to the first embodiment. 第2の実施の形態の情報処理システムの例を示す図である。FIG. 3 is a diagram illustrating an example of an information processing system according to a second embodiment. 管理サーバのハードウェア例を示す図である。It is a diagram showing an example of hardware of a management server. 仮想化機構の例を示す図である。FIG. 3 is a diagram illustrating an example of a virtualization mechanism. VMの識別に用いられる情報の例を示す図である。FIG. 3 is a diagram illustrating an example of information used to identify a VM. 管理サーバによるデータ取得例を示す図である。It is a figure showing an example of data acquisition by a management server. 管理サーバの機能例を示す図である。FIG. 3 is a diagram illustrating a functional example of a management server. VMの機能例を示す図である。FIG. 3 is a diagram illustrating a functional example of a VM. アクセス権限管理テーブルの例を示す図である。FIG. 3 is a diagram showing an example of an access authority management table. 要求時刻データの例を示す図である。FIG. 3 is a diagram showing an example of request time data. VMの処理例を示すフローチャートである。3 is a flowchart illustrating an example of VM processing. 管理サーバの要求時刻提供の処理例を示すフローチャートである。12 is a flowchart illustrating an example of processing of request time provision by the management server. 管理サーバのアクセス権限更新の処理例を示すフローチャートである。12 is a flowchart illustrating an example of processing for updating access authority of the management server. VM固有情報およびハッシュ値の例を示す図である。FIG. 3 is a diagram illustrating an example of VM-specific information and hash values. ハッシュ値を時刻に変換する例を示す図である。FIG. 3 is a diagram illustrating an example of converting a hash value into time. 要求の分散の例を示す図である。FIG. 3 is a diagram illustrating an example of request distribution. 第3の実施の形態の管理サーバの機能例を示す図である。FIG. 7 is a diagram illustrating a functional example of a management server according to a third embodiment. VMの機能例を示す図である。FIG. 3 is a diagram illustrating a functional example of a VM. VMの処理例を示すフローチャートである。3 is a flowchart illustrating an example of VM processing.

以下、本実施の形態について図面を参照して説明する。
[第1の実施の形態]
第1の実施の形態を説明する。
The present embodiment will be described below with reference to the drawings.
[First embodiment]
A first embodiment will be described.

図1は、第1の実施の形態の情報処理装置の処理例を示す図である。
システム1は、情報処理装置10,20を含む。情報処理装置10,20は、ネットワークを介して接続される。情報処理装置10は、システム1で動作する複数の仮想マシンから情報を受信する。情報処理装置20は、複数の仮想マシンを実行する。システム1は、それぞれが1以上の仮想マシンを動作させる複数の情報処理装置を含んでもよい。
FIG. 1 is a diagram illustrating a processing example of the information processing apparatus according to the first embodiment.
System 1 includes information processing devices 10 and 20. Information processing devices 10 and 20 are connected via a network. The information processing device 10 receives information from a plurality of virtual machines operating in the system 1. The information processing device 20 executes multiple virtual machines. The system 1 may include a plurality of information processing devices each operating one or more virtual machines.

情報処理装置10は、記憶部11および処理部12を有する。情報処理装置20は、記憶部21および処理部22を有する。
記憶部11,21は、RAM(Random Access Memory)などの揮発性記憶装置でもよいし、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性記憶装置でもよい。処理部12,22は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)などを含み得る。処理部12はプログラムを実行するプロセッサでもよい。ここでいう「プロセッサ」には、複数のプロセッサの集合(マルチプロセッサ)も含まれ得る。
The information processing device 10 includes a storage section 11 and a processing section 12. The information processing device 20 includes a storage section 21 and a processing section 22.
The storage units 11 and 21 may be volatile storage devices such as RAM (Random Access Memory), or non-volatile storage devices such as HDD (Hard Disk Drive) or flash memory. The processing units 12 and 22 may include a CPU (Central Processing Unit), a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), and the like. The processing unit 12 may be a processor that executes a program. The term "processor" here may also include a set of multiple processors (multiprocessor).

例えば、情報処理装置20では、処理部22によりハイパーバイザと呼ばれるソフトウェアが実行され、ハイパーバイザの機能により、記憶部21や処理部22のリソースが、情報処理装置20上の仮想マシンに割り当てられる。情報処理装置20は、仮想マシン31,32,33,…を実行する。 For example, in the information processing device 20, the processing unit 22 executes software called a hypervisor, and the functions of the hypervisor allocate resources of the storage unit 21 and the processing unit 22 to virtual machines on the information processing device 20. The information processing device 20 executes virtual machines 31, 32, 33, . . . .

システム1では、仮想マシン31,32,33,…それぞれから情報処理装置10に対して、特定の処理の要求など、所定の情報が送信されることがある。システム1では、仮想マシン31,32,33,…それぞれから情報処理装置10に対する情報の送信のタイミングが、次のように制御される。 In the system 1, each of the virtual machines 31, 32, 33, . . . may transmit predetermined information, such as a request for a specific process, to the information processing device 10. In the system 1, the timing of information transmission from each of the virtual machines 31, 32, 33, . . . to the information processing device 10 is controlled as follows.

まず、仮想マシン31,32,33,…それぞれは、仮想マシン31,32,33,…の作成や起動/停止などを制御する制御装置(図1では図示を省略している)から、自仮想マシンを特定する特定情報を取得する。特定情報は、システム1の中で、仮想マシンを一意に識別する情報である。特定情報の例は、当該管理装置における仮想マシンの管理方法による。例えば、特定情報は、仮想マシン単位に一意に付与される仮想マシンID(IDentifier)でもよい。あるいは、特定情報は、例えば仮想マシン31,32,33,…がクラウドサービスシステムにより提供されるものである場合、クラウドサービスの利用に関する契約を示す契約IDとユーザが仮想マシンに付与した名称とを含む組合せ情報でもよい。 First, each of the virtual machines 31, 32, 33, ... receives a message from its own virtual machine from a control device (not shown in FIG. Obtain specific information that identifies a machine. The specific information is information that uniquely identifies a virtual machine within the system 1. An example of the specific information depends on the virtual machine management method in the management device. For example, the specific information may be a virtual machine ID (IDentifier) uniquely given to each virtual machine. Alternatively, if the virtual machines 31, 32, 33, etc. are provided by a cloud service system, the specific information may include the contract ID indicating the contract for use of the cloud service and the name given to the virtual machine by the user. It may also be combination information that includes.

例えば、仮想マシン31は、仮想マシン31を特定する特定情報k1を取得する。仮想マシン32は、仮想マシン32を特定する特定情報k2を取得する。仮想マシン33は、仮想マシン33を特定する特定情報k3を取得する。他の仮想マシンも、自仮想マシンを特定する特定情報を取得する。取得された特定情報は記憶部21に格納される。 For example, the virtual machine 31 acquires specific information k1 that specifies the virtual machine 31. The virtual machine 32 acquires specific information k2 that specifies the virtual machine 32. The virtual machine 33 acquires specific information k3 that specifies the virtual machine 33. Other virtual machines also acquire specific information that identifies their own virtual machines. The acquired specific information is stored in the storage unit 21.

第1の例では、仮想マシン31,32,33,…は、それぞれ特定情報k1,k2,k3,…を取得すると、それぞれ取得した特定情報k1,k2,k3,…を情報処理装置10に送信する。この場合、仮想マシン31,32,33,…それぞれによる特定情報の取得および情報処理装置10への特定情報の送信は、該当の仮想マシンが作成され起動されたときに実行される。仮想マシン31,32,33,…それぞれが作成され起動されるタイミングは、互いに異なることが多いため、情報処理装置10への特定情報k1,k2,k3,…の送信は、互いに異なるタイミングで行われる可能性が高い。 In the first example, when the virtual machines 31, 32, 33,... acquire specific information k1, k2, k3,..., respectively, they transmit the acquired specific information k1, k2, k3,... to the information processing device 10. do. In this case, acquisition of specific information by each of the virtual machines 31, 32, 33, . . . and transmission of specific information to the information processing device 10 is executed when the corresponding virtual machine is created and started. Since the timings at which the virtual machines 31, 32, 33, ... are created and started are often different from each other, the specific information k1, k2, k3, ... is transmitted to the information processing device 10 at different timings. There is a high possibility that the

情報処理装置10は、仮想マシン31,32,33,…それぞれから、当該仮想マシンを特定する特定情報を取得する。取得された特定情報は記憶部11に格納される。情報処理装置10は、特定情報を取得すると、当該特定情報を入力とするハッシュ関数の関数値を算出する。 The information processing device 10 acquires specific information that specifies the virtual machines from each of the virtual machines 31, 32, 33, . . . . The acquired specific information is stored in the storage unit 11. Upon acquiring the specific information, the information processing device 10 calculates a function value of a hash function using the specific information as input.

ここで、変数をxとして、ハッシュ関数をhash(x)と表す。ハッシュ関数hash(x)には、例えば、SHA-256(Secure Hash Algorithm 256-bits)やMD5(message digest algorithm 5)などを用いることができる。ハッシュ関数の関数値は、ハッシュ値と呼ばれることがある。 Here, the variable is x, and the hash function is expressed as hash(x). For the hash function hash(x), for example, SHA-256 (Secure Hash Algorithm 256-bits) or MD5 (message digest algorithm 5) can be used. The function value of a hash function is sometimes called a hash value.

例えば、処理部12は、仮想マシン31から特定情報k1を取得すると、特定情報k1を入力とするハッシュ関数の関数値hash(k1)を算出する。更に、処理部12は、関数値hash(x)を時刻に変換する関数f(hash(x))を用いて、関数値hash(k1)に対応する時刻time1=f(hash(k1))を求める。処理部12は、求めた時刻time1を仮想マシン31に送信する。 For example, upon acquiring the specific information k1 from the virtual machine 31, the processing unit 12 calculates a function value hash(k1) of a hash function using the specific information k1 as input. Furthermore, the processing unit 12 uses the function f (hash (x)) that converts the function value hash (x) into a time, and calculates the time time1=f (hash (k1)) corresponding to the function value hash (k1). demand. The processing unit 12 transmits the obtained time time1 to the virtual machine 31.

ここで、関数f(hash(x))は、関数値hash(x)を、特定期間に含まれる何れかの時刻に対応付ける関数である。例えば、関数f(hash(x))は、1つの関数値hash(x)を当該特定期間に含まれる1つの時刻に一意に対応付けるものでもよいし、2つ以上の一定数の関数値hash(x)を当該特定期間に含まれる1つの時刻に対応付けるものでもよい。例えば、MD5では128ビットの関数値であり、SHA-256では256ビットの関数値となる。このため、仮想マシンの数が比較的多く(例えば、10000程度)、特定期間の長さが比較的短い(例えば、1週間程度)場合であっても、2つ以上の特定情報xに対して、関数f(hash(x))で求められる時刻が衝突する可能性は低い。 Here, the function f(hash(x)) is a function that associates the function value hash(x) with any time included in the specific period. For example, the function f (hash (x)) may uniquely associate one function value hash ( x) may be associated with one time included in the specific period. For example, MD5 has a 128-bit function value, and SHA-256 has a 256-bit function value. Therefore, even if the number of virtual machines is relatively large (for example, about 10,000) and the length of the specific period is relatively short (for example, about one week), two or more pieces of specific information , it is unlikely that the times determined by the function f(hash(x)) will collide.

処理部12は、仮想マシン32に対して、時刻time2=f(hash(k2))を提供する。処理部12は、仮想マシン33に対して、時刻time3=f(hash(k3))を提供する。処理部12は、他の仮想マシンに対しても、当該他の仮想マシンの特定情報を入力としたハッシュ関数の関数値に対応する時刻を提供する。 The processing unit 12 provides time time2=f(hash(k2)) to the virtual machine 32. The processing unit 12 provides time time3=f(hash(k3)) to the virtual machine 33. The processing unit 12 also provides other virtual machines with the time corresponding to the function value of the hash function that inputs the specific information of the other virtual machines.

このように、第1の例では、処理部12は、複数の仮想マシンそれぞれに対応する関数値に基づいて、当該仮想マシンから情報処理装置10に情報を送信するタイミングを、複数の仮想マシンそれぞれに対して指示する。 In this way, in the first example, the processing unit 12 sets the timing for transmitting information from the virtual machine to the information processing device 10 for each of the plurality of virtual machines based on the function value corresponding to each of the plurality of virtual machines. give instructions to

第2の例として、情報処理装置10ではなく、仮想マシン31,32,33,…それぞれが、自仮想マシンの特定情報を入力とするハッシュ関数の関数値と、当該関数値に対応する時刻とを求めてもよい。なお、仮想マシン31,32,33,…それぞれにより実行される処理は、処理部22により実行される処理であると言える。 As a second example, instead of the information processing device 10, each of the virtual machines 31, 32, 33, . You may also ask for Note that the processing executed by each of the virtual machines 31, 32, 33, . . . can be said to be processing executed by the processing unit 22.

例えば、仮想マシン31は、取得した特定情報k1に基づいて、時刻time1=f(hash(k1))を求めてもよい。また、仮想マシン32は、取得した特定情報k2に基づいて、時刻time2=f(hash(k2))を求めてもよい。更に、仮想マシン33は、取得した特定情報k3に基づいて、時刻time3=f(hash(k3))を求めてもよい。他の仮想マシンも同様である。第2の例の場合、仮想マシン31,32,33,…は、情報処理装置10に特定情報を送信しなくてよい。 For example, the virtual machine 31 may calculate time time1=f(hash(k1)) based on the acquired specific information k1. Further, the virtual machine 32 may obtain time time2=f(hash(k2)) based on the acquired specific information k2. Furthermore, the virtual machine 33 may obtain time time3=f(hash(k3)) based on the acquired specific information k3. The same applies to other virtual machines. In the case of the second example, the virtual machines 31, 32, 33, . . . do not need to transmit specific information to the information processing device 10.

仮想マシン31,32,33,…それぞれは、自仮想マシンに対応するハッシュ関数の関数値に基づくタイミングで、情報処理装置10に情報を送信する。
例えば、仮想マシン31は、時刻time1に達したことを検出すると、情報処理装置10に情報を送信する。仮想マシン32は、時刻time2に達したことを検出すると、情報処理装置10に情報を送信する。仮想マシン33は、時刻time3に達したことを検出すると、情報処理装置10に情報を送信する。
Each of the virtual machines 31, 32, 33, . . . transmits information to the information processing device 10 at a timing based on the function value of the hash function corresponding to the virtual machine.
For example, when the virtual machine 31 detects that the time time1 has been reached, the virtual machine 31 transmits information to the information processing device 10. When the virtual machine 32 detects that time 2 has been reached, it transmits information to the information processing device 10. When the virtual machine 33 detects that time 3 has been reached, it transmits information to the information processing device 10.

このように、情報処理装置10または仮想マシン31,32,33,…それぞれにより、当該仮想マシンを特定する特定情報が取得されると、特定情報を入力とするハッシュ関数の関数値が算出される。仮想マシン31,32,33,…により、自仮想マシンに対応する関数値に基づくタイミングで、情報処理装置10に情報が送信される。 In this way, when the information processing device 10 or the virtual machines 31, 32, 33, ... acquires the specific information that identifies the virtual machine, the function value of the hash function using the specific information as input is calculated. . The virtual machines 31, 32, 33, . . . transmit information to the information processing apparatus 10 at timings based on the function values corresponding to the virtual machines.

これにより、情報処理装置10における負荷集中を軽減できる。
すなわち、ハッシュ関数hash(x)により、仮想マシンの特定情報xに対して、十分に分散したハッシュ値を得ることができる。このため、当該ハッシュ値に基づくタイミングで、仮想マシン31,32,33,…それぞれから情報処理装置10への情報の送信を行うことで、仮想マシン31,32,33,…それぞれによる送信タイミングを適切に分散させることができる。例えば、仮想マシン31,32,33,…による送信タイミングを示す時刻time1,time2,time3,…を適切に分散させることができる。よって、比較的短い期間のうちに、仮想マシン31,32,33,…から情報処理装置10へ大量の情報が集中的に送信される可能性が低減される。その結果、情報処理装置10における負荷集中を軽減することができる。
Thereby, load concentration on the information processing device 10 can be reduced.
That is, by using the hash function hash(x), it is possible to obtain sufficiently distributed hash values for the specific information x of the virtual machine. Therefore, by transmitting information from each of the virtual machines 31, 32, 33, ... to the information processing apparatus 10 at a timing based on the hash value, the transmission timing by each of the virtual machines 31, 32, 33, ... is adjusted. Can be properly dispersed. For example, times time 1, time 2, time 3, . . . indicating transmission timings by the virtual machines 31, 32, 33, . . . can be appropriately distributed. Therefore, the possibility that a large amount of information will be intensively transmitted from the virtual machines 31, 32, 33, . . . to the information processing apparatus 10 in a relatively short period of time is reduced. As a result, load concentration on the information processing device 10 can be reduced.

[第2の実施の形態]
次に、第2の実施の形態を説明する。
図2は、第2の実施の形態の情報処理システムの例を示す図である。
[Second embodiment]
Next, a second embodiment will be described.
FIG. 2 is a diagram illustrating an example of an information processing system according to the second embodiment.

第2の実施の形態の情報処理システムは、クラウドサービスシステム2,3、クラウドストレージ4および管理サーバ100を有する。クラウドサービスシステム2,3、クラウドストレージ4および管理サーバ100は、ネットワーク5に接続されている。ネットワーク5は、例えばインターネットである。 The information processing system of the second embodiment includes cloud service systems 2 and 3, cloud storage 4, and management server 100. Cloud service systems 2 and 3, cloud storage 4, and management server 100 are connected to network 5. The network 5 is, for example, the Internet.

クラウドサービスシステム2,3は、ユーザに対してクラウドサービスを提供するコンピュータシステムである。クラウドサービスシステム2は、物理マシン200,200aを含む。クラウドサービスシステム3は、物理マシン300,300aを含む。ただし、クラウドサービスシステム2,3は、それぞれ3以上の物理マシンを含み得る。クラウドサービスの例としては、Azure(登録商標)やAWS(登録商標)などが挙げられる。 The cloud service systems 2 and 3 are computer systems that provide cloud services to users. Cloud service system 2 includes physical machines 200 and 200a. The cloud service system 3 includes physical machines 300 and 300a. However, each of the cloud service systems 2 and 3 may include three or more physical machines. Examples of cloud services include Azure (registered trademark) and AWS (registered trademark).

物理マシン200,300は、複数の仮想マシンを実行するサーバコンピュータである。
物理マシン200a,300aは、それぞれ物理マシン200,300に対する仮想マシンの作成や起動/停止を制御するサーバコンピュータである。
The physical machines 200 and 300 are server computers that execute multiple virtual machines.
The physical machines 200a and 300a are server computers that control creation and startup/stop of virtual machines for the physical machines 200 and 300, respectively.

クラウドストレージ4は、クラウドサービスシステム2,3で動作する複数の仮想マシンおよび管理サーバ100によりアクセス可能なストレージ装置である。
クラウドサービスシステム2,3およびクラウドストレージ4を提供する事業者(ベンダー)は同じでもよいし異なっていてもよい。ユーザは、クラウドサービスシステム2,3が提供する複数の仮想マシンを連携させて、種々のアプリケーションを構築することができる。このように、複数のクラウドサービスシステムを用いたユーザのアプリケーションの構築環境あるいは運用環境は、マルチクラウドと呼ばれることがある。
The cloud storage 4 is a storage device that can be accessed by a plurality of virtual machines operating in the cloud service systems 2 and 3 and the management server 100.
Business operators (vendors) that provide the cloud service systems 2 and 3 and the cloud storage 4 may be the same or different. A user can build various applications by linking multiple virtual machines provided by the cloud service systems 2 and 3. In this way, a user's application construction or operation environment that uses multiple cloud service systems is sometimes called a multi-cloud.

管理サーバ100は、クラウドサービスシステム2,3で動作する複数の仮想マシンを管理するサーバコンピュータである。管理サーバ100は、当該複数の仮想マシンそれぞれの稼働状況の管理や、当該複数の仮想マシンそれぞれによるクラウドストレージ4に対するアクセス権限の管理を行う。管理サーバ100を提供する事業者は、クラウドサービスシステム2,3およびクラウドストレージ4を提供する事業者と同じでもよいし異なっていてもよい。 The management server 100 is a server computer that manages a plurality of virtual machines operating in the cloud service systems 2 and 3. The management server 100 manages the operating status of each of the plurality of virtual machines and manages the access authority to the cloud storage 4 by each of the plurality of virtual machines. The business that provides the management server 100 may be the same as or different from the business that provides the cloud service systems 2 and 3 and the cloud storage 4.

ここで、第2の実施の形態の情報処理システムは、第1の実施の形態のシステム1の一例である。管理サーバ100は、第1の実施の形態の情報処理装置10の一例である。物理マシン200,300は、第1の実施の形態の情報処理装置20の一例である。 Here, the information processing system of the second embodiment is an example of the system 1 of the first embodiment. The management server 100 is an example of the information processing device 10 of the first embodiment. The physical machines 200 and 300 are examples of the information processing device 20 of the first embodiment.

図3は、管理サーバのハードウェア例を示す図である。
管理サーバ100は、CPU101、RAM102、HDD103、画像信号処理部104、入力信号処理部105、媒体リーダ106およびNIC(Network Interface Card)107を有する。なお、CPU101は、第1の実施の形態の処理部12の一例である。RAM102またはHDD103は、第1の実施の形態の記憶部11の一例である。
FIG. 3 is a diagram showing an example of the hardware of the management server.
The management server 100 includes a CPU 101 , a RAM 102 , an HDD 103 , an image signal processing section 104 , an input signal processing section 105 , a medium reader 106 , and an NIC (Network Interface Card) 107 . Note that the CPU 101 is an example of the processing unit 12 of the first embodiment. The RAM 102 or the HDD 103 is an example of the storage unit 11 of the first embodiment.

CPU101は、プログラムの命令を実行するプロセッサである。CPU101は、HDD103に記憶されたプログラムやデータの少なくとも一部をRAM102にロードし、プログラムを実行する。なお、CPU101は複数のプロセッサコアを含んでもよい。また、管理サーバ100は複数のプロセッサを有してもよい。以下で説明する処理は複数のプロセッサまたはプロセッサコアを用いて並列に実行されてもよい。また、複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」と言うことがある。 The CPU 101 is a processor that executes program instructions. The CPU 101 loads at least part of the program and data stored in the HDD 103 into the RAM 102, and executes the program. Note that the CPU 101 may include multiple processor cores. Furthermore, the management server 100 may include multiple processors. The processing described below may be performed in parallel using multiple processors or processor cores. Furthermore, a set of multiple processors is sometimes referred to as a "multiprocessor" or simply "processor."

RAM102は、CPU101が実行するプログラムやCPU101が演算に用いるデータを一時的に記憶する揮発性の半導体メモリである。なお、管理サーバ100は、RAM以外の種類のメモリを備えてもよく、複数個のメモリを備えてもよい。 The RAM 102 is a volatile semiconductor memory that temporarily stores programs executed by the CPU 101 and data used for calculations by the CPU 101. Note that the management server 100 may include a type of memory other than RAM, or may include a plurality of memories.

HDD103は、OSやミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性の記憶装置である。なお、管理サーバ100は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の記憶装置を備えてもよく、複数の不揮発性の記憶装置を備えてもよい。 The HDD 103 is a nonvolatile storage device that stores software programs such as an OS, middleware, and application software, and data. Note that the management server 100 may include other types of storage devices such as flash memory and SSD (Solid State Drive), or may include a plurality of nonvolatile storage devices.

画像信号処理部104は、CPU101からの命令に従って、管理サーバ100に接続されたディスプレイ51に画像を出力する。ディスプレイ51としては、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ(LCD:Liquid Crystal Display)、プラズマディスプレイ、有機EL(OEL:Organic Electro-Luminescence)ディスプレイなど、任意の種類のディスプレイを用いることができる。 The image signal processing unit 104 outputs an image to the display 51 connected to the management server 100 according to instructions from the CPU 101. As the display 51, any type of display can be used, such as a CRT (Cathode Ray Tube) display, a Liquid Crystal Display (LCD), a plasma display, or an Organic Electro-Luminescence (OEL) display.

入力信号処理部105は、管理サーバ100に接続された入力デバイス52から入力信号を取得し、CPU101に出力する。入力デバイス52としては、マウス・タッチパネル・タッチパッド・トラックボールなどのポインティングデバイス、キーボード、リモートコントローラ、ボタンスイッチなどを用いることができる。また、管理サーバ100に、複数の種類の入力デバイスが接続されていてもよい。 The input signal processing unit 105 acquires an input signal from the input device 52 connected to the management server 100 and outputs it to the CPU 101. As the input device 52, a pointing device such as a mouse, a touch panel, a touch pad, a trackball, a keyboard, a remote controller, a button switch, etc. can be used. Furthermore, multiple types of input devices may be connected to the management server 100.

媒体リーダ106は、記録媒体53に記録されたプログラムやデータを読み取る読み取り装置である。記録媒体53として、例えば、磁気ディスク、光ディスク、光磁気ディスク(MO:Magneto-Optical disk)、半導体メモリなどを使用できる。磁気ディスクには、フレキシブルディスク(FD:Flexible Disk)やHDDが含まれる。光ディスクには、CD(Compact Disc)やDVD(Digital Versatile Disc)が含まれる。 The medium reader 106 is a reading device that reads programs and data recorded on the recording medium 53. As the recording medium 53, for example, a magnetic disk, an optical disk, a magneto-optical disk (MO), a semiconductor memory, etc. can be used. Magnetic disks include flexible disks (FDs) and HDDs. Optical discs include CDs (Compact Discs) and DVDs (Digital Versatile Discs).

媒体リーダ106は、例えば、記録媒体53から読み取ったプログラムやデータを、RAM102やHDD103などの他の記録媒体にコピーする。読み取られたプログラムは、例えば、CPU101によって実行される。なお、記録媒体53は可搬型記録媒体であってもよく、プログラムやデータの配布に用いられることがある。また、記録媒体53やHDD103を、コンピュータ読み取り可能な記録媒体と言うことがある。 For example, the media reader 106 copies programs and data read from the recording medium 53 to other recording media such as the RAM 102 and the HDD 103. The read program is executed by the CPU 101, for example. Note that the recording medium 53 may be a portable recording medium, and may be used for distributing programs and data. Further, the recording medium 53 and the HDD 103 are sometimes referred to as computer-readable recording media.

NIC107は、スイッチやルータなどの通信装置を介してネットワーク5に接続され、ネットワーク5を介して他のコンピュータと通信を行うインタフェースである。NIC107は、例えば、スイッチやルータなどの通信装置とケーブルで接続される。 The NIC 107 is an interface that is connected to the network 5 via a communication device such as a switch or router, and communicates with other computers via the network 5. The NIC 107 is connected to a communication device such as a switch or a router by a cable, for example.

なお、物理マシン200,200a,300,300aも、管理サーバ100と同様のハードウェアにより実現される。
図4は、仮想化機構の例を示す図である。
Note that the physical machines 200, 200a, 300, and 300a are also realized by the same hardware as the management server 100.
FIG. 4 is a diagram illustrating an example of a virtualization mechanism.

物理マシン200は、ハードウェアhw1を有する。物理マシン200は、ハードウェアhw1を用いて、ハイパーバイザhv1および仮想マシン201,202を動作させる。物理マシン200上では、1つの仮想マシンが動作することもあるし、3以上の仮想マシンが動作することもある。 The physical machine 200 has hardware hw1. The physical machine 200 uses the hardware hw1 to operate the hypervisor hv1 and the virtual machines 201 and 202. On the physical machine 200, one virtual machine may operate, or three or more virtual machines may operate on the physical machine 200.

ハードウェアhw1は、物理マシン200におけるデータ入出力や演算のための物理リソースである。ハードウェアhw1は、物理マシン200が備えるCPUやRAMなどを含む。 The hardware hw1 is a physical resource for data input/output and calculation in the physical machine 200. The hardware hw1 includes a CPU, RAM, etc. that the physical machine 200 is equipped with.

ハイパーバイザhv1は、物理マシン200のハードウェアhw1を、仮想マシン201,202に割り振ることで、物理マシン200上に、仮想マシン201,202を動作させる。ハイパーバイザhv1は、仮想マシン201,202の通信を中継する仮想スイッチの機能を有する。 The hypervisor hv1 operates the virtual machines 201 and 202 on the physical machine 200 by allocating the hardware hw1 of the physical machine 200 to the virtual machines 201 and 202. The hypervisor hv1 has the function of a virtual switch that relays communication between the virtual machines 201 and 202.

仮想マシン201,202は、ハードウェアhw1のリソースを用いて動作する仮想的なコンピュータである。
なお、物理マシン300も、物理マシン200と同様に、1以上の仮想マシンを実行する。
The virtual machines 201 and 202 are virtual computers that operate using the resources of the hardware hw1.
Note that, like the physical machine 200, the physical machine 300 also executes one or more virtual machines.

また、図4で例示した仮想化機構は一例であり、例えば、ハイパーバイザhv1に相当するソフトウェアが、物理マシン200のOS上で実行されて、仮想マシン201,202を動作させてもよい。以下の説明では、仮想マシンを、VM(Virtual Machine)と略記することがある。 Further, the virtualization mechanism illustrated in FIG. 4 is just an example, and for example, software corresponding to the hypervisor hv1 may be executed on the OS of the physical machine 200 to operate the virtual machines 201 and 202. In the following description, a virtual machine may be abbreviated as VM (Virtual Machine).

図5は、VMの識別に用いられる情報の例を示す図である。
例えば、クラウドサービスシステム2,3では、ユーザによる利用の契約の単位で、次の情報によりVMが識別される。
FIG. 5 is a diagram illustrating an example of information used to identify a VM.
For example, in the cloud service systems 2 and 3, VMs are identified by the following information in units of usage contracts by users.

1つの契約単位は、サブスクリプションと呼ばれる。サブスクリプションは、サブスクリプションIDで識別される。サブスクリプションIDは、グローバルで一意である。
サブスクリプションには、1以上のリソースグループが属する。リソースグループは、該当のサブスクリプションで利用可能なリソースの集合である。リソースは、CPUやRAMなどの演算リソース、スイッチなどの通信リソースおよびHDDやSSDなどの記憶リソースおよびVMを含み得る。
One contract unit is called a subscription. A subscription is identified by a subscription ID. The subscription ID is globally unique.
One or more resource groups belong to a subscription. A resource group is a collection of resources that can be used with a corresponding subscription. Resources may include computing resources such as CPU and RAM, communication resources such as switches, storage resources such as HDD and SSD, and VM.

リソースグループには、ユーザによりリソースグループ名が付与される。リソースグループ名は、サブスクリプション内で一意である。また、リソースは、リソースIDで識別される。リソースIDは、グローバルで一意である。 A resource group name is assigned to a resource group by a user. Resource group names are unique within a subscription. Further, a resource is identified by a resource ID. The resource ID is globally unique.

VMには、ユーザにより仮想マシン名(VM名)が付与される。VM名はリソースグループ内で一意である。
また、VMは、仮想マシンID(vmID)で識別される。vmIDは、グローバルで一意である。
A virtual machine name (VM name) is assigned to a VM by a user. VM names are unique within a resource group.
Further, a VM is identified by a virtual machine ID (vmID). vmID is globally unique.

このように、VMにはグローバルで一意な識別情報として、リソースIDおよびvmIDが付与される。
なお、クラウドサービスによっては、グローバルに一意であるインスタンスIDと呼ばれる識別情報により、VMを識別することもある。
In this way, a resource ID and a vmID are assigned to a VM as globally unique identification information.
Note that depending on the cloud service, a VM may be identified using globally unique identification information called an instance ID.

例えば、グローバルで一意なサブスクリプションID、リソースIDおよびvmID(あるいはインスタンスID)は、VMを管理する物理マシン200a,300aによって付与される。 For example, a globally unique subscription ID, resource ID, and vmID (or instance ID) are given by the physical machines 200a and 300a that manage VMs.

図5の例では、サブスクリプション60,70が例示されている。サブスクリプション60のサブスクリプションIDは「ss1」である。サブスクリプション70のサブスクリプションIDは「ss2」である。ここで、VM203~208は、VM201,202と同様に、クラウドサービスシステム2で動作する。 In the example of FIG. 5, subscriptions 60 and 70 are illustrated. The subscription ID of the subscription 60 is "ss1". The subscription ID of the subscription 70 is "ss2". Here, the VMs 203 to 208 operate in the cloud service system 2 similarly to the VMs 201 and 202.

サブスクリプション60は、リソースグループ61,62を有する。リソースグループ61のリソースグループ名は「rg1」である。リソースグループ62のリソースグループ名は「rg2」である。 Subscription 60 has resource groups 61 and 62. The resource group name of the resource group 61 is "rg1". The resource group name of the resource group 62 is "rg2".

リソースグループ61は、VM201,202を有する。VM201のVM名は「vm1」である。VM202のVM名は「vm2」である。
リソースグループ62は、VM203,204を有する。VM203のVM名は「vm1」である。VM204のVM名は「vm3」である。
Resource group 61 includes VMs 201 and 202. The VM name of the VM 201 is "vm1". The VM name of the VM 202 is "vm2".
The resource group 62 includes VMs 203 and 204. The VM name of the VM 203 is "vm1". The VM name of the VM 204 is "vm3".

サブスクリプション70は、リソースグループ71,72を有する。リソースグループ71のリソースグループ名は「rg1」である。リソースグループ72のリソースグループ名は「rg3」である。 Subscription 70 has resource groups 71 and 72. The resource group name of the resource group 71 is "rg1". The resource group name of the resource group 72 is "rg3".

リソースグループ71は、VM205,206を有する。VM205のVM名は「vm1」である。VM206のVM名は「vm2」である。
リソースグループ72は、VM207,208を有する。VM207のVM名は「vm1」である。VM208のVM名は「vm3」である。
Resource group 71 has VMs 205 and 206. The VM name of the VM 205 is "vm1". The VM name of the VM 206 is "vm2".
The resource group 72 includes VMs 207 and 208. The VM name of the VM 207 is "vm1". The VM name of the VM 208 is "vm3".

このように、各VMは、グローバルで一意であるvmIDやリソースIDで識別される他、サブスクリプションIDなどのグローバルで一意な識別情報とサブスクリプション内やリソースグループ内などのローカルで一意である識別名との組合せで識別されてもよい。 In this way, each VM is identified by a globally unique vmID and resource ID, as well as globally unique identification information such as a subscription ID, and locally unique identification information such as within a subscription or resource group. It may also be identified in combination with a given name.

例えば、VM201は、サブスクリプションID「ss1」とリソースグループ名「rg1」とVM名「vm1」との組合せにより、グローバルで一意に識別される。
同様に、例えばVM205は、サブスクリプションID「ss2」とリソースグループ名「rg1」とVM名「vm1」との組合せにより、グローバルで一意に識別される。
For example, the VM 201 is globally uniquely identified by the combination of the subscription ID "ss1", the resource group name "rg1", and the VM name "vm1".
Similarly, for example, the VM 205 is globally uniquely identified by the combination of the subscription ID "ss2", the resource group name "rg1", and the VM name "vm1".

上記のように、各VMを、グローバルに一意に識別する識別情報を、「VM固有情報」と称する。VM固有情報は、第1の実施の形態の特定情報の一例である。
図6は、管理サーバによるデータ取得例を示す図である。
As described above, the identification information that globally uniquely identifies each VM is referred to as "VM-specific information." The VM specific information is an example of specific information in the first embodiment.
FIG. 6 is a diagram showing an example of data acquisition by the management server.

VM201,202,…には、管理サーバ100により提供されるサービスにより所定のソフトウェアがインストールされる。管理サーバ100は、所定のタイミング(例えば、毎時0分)で、VM201,202,…に関するVM情報やVM201,202,…にインストール済みのソフトウェアに関するソフトウェア情報を取得する。 Predetermined software is installed in the VMs 201, 202, . . . by a service provided by the management server 100. The management server 100 acquires VM information regarding the VMs 201, 202, . . . and software information regarding software installed on the VMs 201, 202, .

ここで、VM201,202,…は、管理サーバ100に対してVM情報やソフトウェア情報を直接送信するのではなく、クラウドストレージ4を経由して、管理サーバ100にVM情報やソフトウェア情報を通知する。すなわち、VM201,202,…は、自VMのVM情報やソフトウェア情報を、所定のタイミングでクラウドストレージ4に格納する。そして、管理サーバ100は、クラウドストレージ4に格納されたVMごとのVM情報やソフトウェア情報を参照する。これにより、管理サーバ100は、管理サーバ100にとって都合の良いタイミングでVM情報やソフトウェア情報を取得可能になる。 Here, the VMs 201, 202, ... do not directly transmit VM information and software information to the management server 100, but notify the management server 100 of the VM information and software information via the cloud storage 4. That is, the VMs 201, 202, . . . store their own VM information and software information in the cloud storage 4 at predetermined timing. The management server 100 then refers to VM information and software information for each VM stored in the cloud storage 4. This allows the management server 100 to acquire VM information and software information at a timing convenient for the management server 100.

ただし、VM201,202,…それぞれからクラウドストレージ4に情報を格納するためには、VM201,202,…がクラウドストレージ4に対するアクセス権限を有することが必要となる。例えば、クラウドストレージ4が前述のAzureにより提供される場合、当該アクセス権限は、共有アクセス署名(Shared Access Signature)により付与される。 However, in order to store information from each of the VMs 201, 202, . . . in the cloud storage 4, the VMs 201, 202, . For example, when the cloud storage 4 is provided by the above-mentioned Azure, the access authority is granted by a shared access signature.

クラウドストレージ4へのアクセス権限には、有効期限があるため、定期的にアクセス権限を更新する必要がある。管理サーバ100は、VM201,202,…それぞれに対するアクセス権限を管理し、VM201,202,…それぞれから受け付けるアクセス権限の更新要求に応じて、アクセス権限を更新する。 Since the access authority to the cloud storage 4 has an expiration date, it is necessary to update the access authority periodically. The management server 100 manages access authority for each of the VMs 201, 202, . . . and updates the access authority in response to an access authority update request received from each of the VMs 201, 202, .

この場合、VM201,202,…が、管理サーバ100に対してアクセス権限の更新要求を、日曜午前0時00分00秒などの特定のタイミングに集中して行うと、管理サーバ100の負荷が増大する。そこで、管理サーバ100は、VM201,202,…によるアクセス権限の更新要求が異なるタイミングで分散して行われるように制御する機能を提供する。 In this case, if the VMs 201, 202, etc. make access authority update requests to the management server 100 in a concentrated manner at specific timings such as Sunday 0:00:00, the load on the management server 100 increases. do. Therefore, the management server 100 provides a function to control the VMs 201, 202, . . . to request access authority updates in a distributed manner at different timings.

図7は、管理サーバの機能例を示す図である。
管理サーバ100は、記憶部110、VM固有情報受信部120、ハッシュ値算出部130、変換部140、時刻送信部150、権限更新要求受信部160および権限管理部170を有する。
FIG. 7 is a diagram showing an example of the functions of the management server.
The management server 100 includes a storage section 110, a VM-specific information reception section 120, a hash value calculation section 130, a conversion section 140, a time transmission section 150, an authority update request reception section 160, and an authority management section 170.

記憶部110には、RAM102やHDD103の記憶領域が用いられる。VM固有情報受信部120、ハッシュ値算出部130、変換部140、時刻送信部150、権限更新要求受信部160および権限管理部170は、RAM102に記憶されたプログラムがCPU101により実行されることで実現される。 For the storage unit 110, a storage area of the RAM 102 or the HDD 103 is used. The VM-specific information receiving unit 120, the hash value calculating unit 130, the converting unit 140, the time transmitting unit 150, the authority update request receiving unit 160, and the authority managing unit 170 are realized by executing a program stored in the RAM 102 by the CPU 101. be done.

記憶部110は、アクセス権限管理テーブルを記憶する。アクセス権限管理テーブルは、クラウドサービスシステム2,3それぞれで動作するVMの、クラウドストレージ4に対するアクセス権限を管理するためのテーブルである。 The storage unit 110 stores an access authority management table. The access authority management table is a table for managing access authority to the cloud storage 4 of VMs operating in each of the cloud service systems 2 and 3.

VM固有情報受信部120は、各VMからVM固有情報を受信し、ハッシュ値算出部130にVM固有情報を出力する。VM固有情報受信部120は、受信したVM固有情報を、記憶部110に格納してもよい(図7ではVM固有情報受信部120と記憶部110との関連線を省略している)。例えば、VM固有情報は、アクセス権限管理テーブルにおけるVMごとのアクセス権限の管理に用いられてもよい。 The VM-specific information receiving unit 120 receives VM-specific information from each VM, and outputs the VM-specific information to the hash value calculating unit 130. The VM-specific information receiving unit 120 may store the received VM-specific information in the storage unit 110 (the relationship line between the VM-specific information receiving unit 120 and the storage unit 110 is omitted in FIG. 7). For example, the VM-specific information may be used to manage access privileges for each VM in an access privilege management table.

ハッシュ値算出部130は、VM固有情報を入力としたハッシュ関数の関数値を算出する。ハッシュ関数の関数値は、ハッシュ値と呼ばれる。ハッシュ関数には、例えば、SHA-256やMD5などが用いられる。ただし、ハッシュ関数にはその他のアルゴリズムによりハッシュ値を求める関数を用いてもよい。SHA-256やMD5などのアルゴリズムによりハッシュ値を求めるハッシュ関数は、一方向ハッシュ関数と呼ばれることがある。 The hash value calculation unit 130 calculates a function value of a hash function using the VM-specific information as input. The function value of a hash function is called a hash value. For example, SHA-256 or MD5 is used as the hash function. However, the hash function may be a function that calculates a hash value using another algorithm. A hash function that obtains a hash value using an algorithm such as SHA-256 or MD5 is sometimes called a one-way hash function.

変換部140は、ハッシュ値算出部130により算出されたハッシュ値を時刻に変換する。例えば、クラウドストレージ4に対する各VMのアクセス権限の有効期限は、1週間とされる。この場合、変換部140は、日曜午前0時00分00秒~土曜午後23時59分59秒までの1週間を単位期間とする。変換部140は、ハッシュ値を当該単位期間の何れかの時刻に割り当てることで、当該ハッシュ値に対応する時刻を求める。時刻としては、例えば協定世界時(UTC:Universal Time, Coordinated)が用いられる。変換部140により求められた時刻は、該当のVMにアクセス権限の更新要求を行わせる時刻である。VMにアクセス権限の更新要求を行わせる時刻を「要求時刻」と称する。 The conversion unit 140 converts the hash value calculated by the hash value calculation unit 130 into time. For example, the expiration date of each VM's access authority to the cloud storage 4 is one week. In this case, the conversion unit 140 takes one week from Sunday 0:00:00 a.m. to Saturday 23:59:59 p.m. as a unit period. The conversion unit 140 assigns the hash value to any time in the unit period to find the time corresponding to the hash value. As the time, for example, Universal Time Coordinated (UTC) is used. The time determined by the conversion unit 140 is the time at which the corresponding VM is requested to update the access authority. The time at which the VM is requested to update the access authority is referred to as the "request time."

時刻送信部150は、変換部140により求められた要求時刻を該当のVMに送信する。
権限更新要求受信部160は、VMからアクセス権限の更新要求を受信し、権限管理部170に当該更新要求を出力する。
The time transmitter 150 transmits the requested time obtained by the converter 140 to the corresponding VM.
The authority update request receiving unit 160 receives an access authority update request from the VM, and outputs the update request to the authority management unit 170.

権限管理部170は、アクセス権限の更新要求を受け付けると、アクセス権限管理テーブルに記録されている該当のVMのアクセス権限を更新する。例えば、権限管理部170は、該当のVMの既存のアクセス権限の有効期間を1週間延長する。権限管理部170は、アクセス権限の更新完了を、該当のVMに応答する。当該更新完了の応答は、更新後の権限有効期間、クラウドストレージ4におけるアクセス先およびクラウドストレージ4における認証用情報などの権限情報を含む。 Upon receiving the access authority update request, the authority management unit 170 updates the access authority of the corresponding VM recorded in the access authority management table. For example, the authority management unit 170 extends the validity period of the existing access authority for the corresponding VM by one week. The authority management unit 170 responds to the corresponding VM with the completion of updating the access authority. The update completion response includes authority information such as the updated authority validity period, the access destination in the cloud storage 4, and authentication information in the cloud storage 4.

図8は、VMの機能例を示す図である。
VM201は、記憶部210、VM固有情報取得部220、VM固有情報送信部230、時刻受信部240、権限更新要求部250およびストレージアクセス処理部260を有する。
FIG. 8 is a diagram showing an example of the functions of the VM.
The VM 201 includes a storage unit 210, a VM-specific information acquisition unit 220, a VM-specific information transmission unit 230, a time reception unit 240, an authority update request unit 250, and a storage access processing unit 260.

記憶部210には、物理マシン200が備えるRAMやHDDなどの記憶領域が用いられる。VM固有情報取得部220、VM固有情報送信部230、時刻受信部240、権限更新要求部250およびストレージアクセス処理部260は、物理マシン200が備えるCPUが、物理マシン200のRAMに記憶されたプログラムを実行することで実現される。 For the storage unit 210, a storage area such as a RAM or an HDD provided in the physical machine 200 is used. The VM-specific information acquisition unit 220, the VM-specific information transmission unit 230, the time reception unit 240, the authority update request unit 250, and the storage access processing unit 260 allow the CPU of the physical machine 200 to execute programs stored in the RAM of the physical machine 200. This is achieved by executing.

VM固有情報取得部220は、物理マシン200aからVM201に対応するVM固有情報を取得し、VM固有情報をVM固有情報送信部230に出力する。VM固有情報取得部220は、VM201が物理マシン200に作成されて起動された際に、VM固有情報取得用のAPI(Application Programming Interface)を用いて物理マシン200aからVM固有情報を取得する。VM固有情報取得部220は、取得したVM固有情報を記憶部210に格納して、例えば、次の権限更新の際などに再利用可能としてもよい。 The VM-specific information acquisition unit 220 acquires VM-specific information corresponding to the VM 201 from the physical machine 200a, and outputs the VM-specific information to the VM-specific information transmission unit 230. The VM-specific information acquisition unit 220 acquires VM-specific information from the physical machine 200a using an API (Application Programming Interface) for acquiring VM-specific information when the VM 201 is created and started on the physical machine 200. The VM-specific information acquisition unit 220 may store the acquired VM-specific information in the storage unit 210 so that it can be reused, for example, at the time of the next authority update.

VM固有情報送信部230は、VM固有情報取得部220からVM固有情報を取得すると、VM固有情報送信用のAPIを用いて当該VM固有情報を管理サーバ100に送信する。各VMでVM固有情報が取得されるタイミングは、前述のように当該VMが物理マシン上に作成されて起動されたタイミングである。物理マシン200aによる各VMの作成や起動は、VMごとに異なるタイミングで行われる。このため、各VMから管理サーバ100に対してVM固有情報が送信されるタイミングは、VMごとに異なるタイミングとなる可能性が高い。 When the VM-specific information transmission unit 230 acquires the VM-specific information from the VM-specific information acquisition unit 220, the VM-specific information transmission unit 230 transmits the VM-specific information to the management server 100 using the VM-specific information transmission API. The timing at which the VM-specific information is acquired for each VM is the timing at which the VM is created and started on the physical machine, as described above. Creation and activation of each VM by the physical machine 200a is performed at different timings for each VM. Therefore, the timing at which the VM-specific information is transmitted from each VM to the management server 100 is likely to be different for each VM.

時刻受信部240は、管理サーバ100から要求時刻を受信し、受信した要求時刻を記憶部210に格納する。時刻受信部240は、新たに要求時刻を受信した場合、その旨を権限更新要求部250に通知してもよい。 The time receiving unit 240 receives the requested time from the management server 100 and stores the received requested time in the storage unit 210. When the time receiving unit 240 receives a new requested time, it may notify the authority update requesting unit 250 of this fact.

権限更新要求部250は、現在時刻が記憶部210に格納された要求時刻に到達したか否かを監視する。権限更新要求部250は、現在時刻が要求時刻に到達すると、クラウドストレージ4に対するアクセス権限の更新要求を管理サーバ100に送信する。権限更新要求部250は、アクセス権限の更新完了の応答を管理サーバ100から受信する。当該応答には、クラウドストレージ4にアクセスするための権限情報が含まれる。すると、権限更新要求部250は、ストレージアクセス処理部260に、クラウドストレージ4にアクセスするための権限情報をストレージアクセス処理部260に通知する。 The authority update requesting unit 250 monitors whether the current time has reached the requested time stored in the storage unit 210. When the current time reaches the requested time, the authority update requesting unit 250 transmits a request to update the access authority for the cloud storage 4 to the management server 100. The authority update request unit 250 receives a response from the management server 100 indicating that the access authority has been updated. The response includes authority information for accessing the cloud storage 4. Then, the authority update requesting unit 250 notifies the storage access processing unit 260 of the authority information for accessing the cloud storage 4.

また、権限更新要求部250は、現在時刻が要求時刻に到達していない場合には、現在時刻が要求時刻に到達するまで更新要求の送信を行わずに待機する。
ストレージアクセス処理部260は、権限更新要求部250から取得した権限情報を用いて、クラウドストレージ4にアクセスし、VM情報やソフトウェア情報の書き込みを行う。
Further, if the current time has not reached the requested time, the authority update requesting unit 250 waits without transmitting an update request until the current time reaches the requested time.
The storage access processing unit 260 uses the authority information acquired from the authority update requesting unit 250 to access the cloud storage 4 and writes VM information and software information.

なお、クラウドサービスシステム2,3で動作する他のVMも、VM201と同様の機能を有する。
図9は、アクセス権限管理テーブルの例を示す図である。
Note that other VMs operating in the cloud service systems 2 and 3 also have the same functions as the VM 201.
FIG. 9 is a diagram showing an example of an access authority management table.

アクセス権限管理テーブル111は、記憶部110に格納される。アクセス権限管理テーブル111は、vmID、アクセス先および権限有効期間の項目を含む。
vmIDの項目には、vmIDが登録される。アクセス先の項目には、クラウドストレージ4におけるアクセスを許容するディレクトリを示すアドレスが登録される。権限有効期間の項目には、アクセス権限の有効期間が登録される。
The access authority management table 111 is stored in the storage unit 110. The access authority management table 111 includes items such as vmID, access destination, and authority validity period.
vmID is registered in the vmID item. In the access destination field, addresses indicating directories that are allowed to be accessed in the cloud storage 4 are registered. The validity period of the access authority is registered in the authority validity period item.

例えば、アクセス権限管理テーブル111には、vmID「vmID1」、アクセス先「cs1」、権限有効期間「20200501_12:00:00~20200508_11:59:59」のレコードが登録されている。このレコードは、vmID「vmID1」のVMが、クラウドストレージ4のアドレス「cs1」で示されるディレクトリに、2020年5月1日12時00分00秒~2020年5月8日11時59分59秒の期間だけアクセスが許可されることを示す。ここで、vmID「vmID1」は、VM201のvmIDであるとする。 For example, in the access authority management table 111, a record of vmID "vmID1", access destination "cs1", and authority validity period "20200501_12:00:00 to 20200508_11:59:59" is registered. This record shows that the VM with vmID "vmID1" is stored in the directory indicated by the address "cs1" of cloud storage 4 from 12:00:00 on May 1, 2020 to 11:59:59 on May 8, 2020. Indicates that access is permitted for a period of seconds. Here, it is assumed that the vmID "vmID1" is the vmID of the VM 201.

アクセス権限管理テーブル111には、他のVMについても同様にアクセス権限のレコードが登録される。
なお、図9の例では、権限有効期間をvmIDに対応付けて管理するものとしたが、管理サーバ100は、各仮想マシンから通知される、vmID以外のVM固有情報に対応付けて、権限有効期間を管理してもよい。
Access authority records for other VMs are similarly registered in the access authority management table 111.
Note that in the example of FIG. 9, the authority validity period is managed by associating it with the vmID, but the management server 100 manages the authority validity period by associating it with VM-specific information other than the vmID that is notified from each virtual machine. You can also manage the period.

図10は、要求時刻データの例を示す図である。
要求時刻データ211は、記憶部210に格納される。要求時刻データ211には、要求時刻が登録される。例えば、要求時刻データ211には、要求時刻「20200508_12:00:00」が登録されている。VM201は、要求時刻データ211に基づいて、2020年5月8日12時00分00秒に、クラウドストレージ4に対するアクセス権限の更新要求を管理サーバ100に送信する。
FIG. 10 is a diagram showing an example of request time data.
Request time data 211 is stored in storage unit 210. A request time is registered in the request time data 211. For example, in the request time data 211, request time “20200508_12:00:00” is registered. Based on the request time data 211, the VM 201 transmits a request to update the access authority for the cloud storage 4 to the management server 100 at 12:00:00 on May 8, 2020.

なお、VM201から管理サーバ100に対するアクセス権限の更新要求は、管理サーバ100で管理されるアクセス権限の有効期間が満了した後に行われてもよいし、当該有効期間が満了する前に行われてもよい。当該有効期間が満了する前にアクセス権限の更新要求が行われる場合、管理サーバ100は、VM201のアクセス権限の有効期間を所定期間(本例では1週間)延長する。 Note that the access authority update request from the VM 201 to the management server 100 may be made after the validity period of the access authority managed by the management server 100 has expired, or may be made before the validity period expires. good. If a request to update the access authority is made before the validity period expires, the management server 100 extends the validity period of the access authority of the VM 201 for a predetermined period (one week in this example).

次に、第2の実施の形態の処理手順を説明する。
以下ではVM201を主に例示して説明するが、クラウドサービスシステム2,3で動作する他のVMに関してもVM201と同様の手順となる。
Next, the processing procedure of the second embodiment will be explained.
Although the VM 201 will be mainly explained below as an example, the procedure for other VMs operating in the cloud service systems 2 and 3 is similar to that for the VM 201.

図11は、VMの処理例を示すフローチャートである。
(S10)VM固有情報取得部220は、クラウドサービスからVM201のVM固有情報を取得する。例えば、VM固有情報取得部220は、クラウドサービスを管理する物理マシン200aからVM固有情報を取得することができる。
FIG. 11 is a flowchart showing an example of VM processing.
(S10) The VM-specific information acquisition unit 220 acquires VM-specific information of the VM 201 from the cloud service. For example, the VM-specific information acquisition unit 220 can acquire VM-specific information from the physical machine 200a that manages the cloud service.

(S11)VM固有情報送信部230は、VM固有情報を管理サーバ100に送信する。
(S12)時刻受信部240は、管理サーバ100から要求時刻を受信し、受信した要求時刻を示す要求時刻データ211を記憶部210に保存する。
(S11) The VM-specific information transmitting unit 230 transmits VM-specific information to the management server 100.
(S12) The time receiving unit 240 receives the requested time from the management server 100, and stores the requested time data 211 indicating the received requested time in the storage unit 210.

(S13)権限更新要求部250は、現在時刻が記憶部210に保存された要求時刻データ211が示す要求時刻に達すると、クラウドストレージ4に対するアクセス権限の更新要求を管理サーバ100に送信する。 (S13) When the current time reaches the request time indicated by the request time data 211 stored in the storage unit 210, the authority update request unit 250 transmits a request to update the access authority for the cloud storage 4 to the management server 100.

(S14)権限更新要求部250は、アクセス権限の更新完了応答を管理サーバ100から受信する。例えば、当該更新完了応答は、クラウドストレージ4へのアクセスに用いられる権限情報を含み得る。そして、VM201の処理が終了する。 (S14) The authority update request unit 250 receives an access authority update completion response from the management server 100. For example, the update completion response may include authority information used to access the cloud storage 4. Then, the processing of the VM 201 ends.

なお、ストレージアクセス処理部260は、権限更新要求部250が管理サーバ100から取得した権限情報を用いて、クラウドストレージ4にアクセスし、VM情報やソフトウェア情報の書き込みを行う。ストレージアクセス処理部260によるクラウドストレージ4へのVM情報やソフトウェア情報の書き込みは、ステップS14の直後に行われてもよいし、更新後のアクセス権限の有効期間内におけるその他のタイミングで行われてもよい。 Note that the storage access processing unit 260 accesses the cloud storage 4 using the authority information acquired by the authority update requesting unit 250 from the management server 100, and writes VM information and software information. Writing of VM information and software information to the cloud storage 4 by the storage access processing unit 260 may be performed immediately after step S14, or may be performed at any other timing within the validity period of the updated access authority. good.

また、VM201は、例えば、アクセス権限の有効期間が1週間の場合、要求時刻データ211が示す前回の要求時刻から1週間経過するごとにアクセス権限の更新要求を管理サーバ100に送信してもよい。あるいは、VM201は、例えば、次週の最初、または、権限有効期間の満了後にVM201が起動された際に、クラウドサービスから取得したVM固有情報を管理サーバ100に再度送信して、管理サーバ100から新たな要求時刻を取得してもよい。 Further, for example, if the validity period of the access authority is one week, the VM 201 may send an access authority update request to the management server 100 every week from the previous request time indicated by the request time data 211. . Alternatively, the VM 201 may send the VM-specific information acquired from the cloud service to the management server 100 again, for example, at the beginning of the next week or when the VM 201 is started after the expiration of the authority validity period, and update the information from the management server 100. You may also obtain the requested time.

次に、管理サーバ100の要求時刻提供の手順を説明する。
図12は、管理サーバの要求時刻提供の処理例を示すフローチャートである。
(S20)VM固有情報受信部120は、VM201からVM固有情報を受信する。
Next, the procedure for providing the requested time by the management server 100 will be explained.
FIG. 12 is a flowchart illustrating an example of processing of request time provision by the management server.
(S20) The VM-specific information receiving unit 120 receives VM-specific information from the VM 201.

(S21)ハッシュ値算出部130は、VM固有情報からハッシュ値を算出する。すなわち、ハッシュ値算出部130は、VM固有情報をハッシュ関数に入力することで、VM固有情報に対するハッシュ値を求める。 (S21) The hash value calculation unit 130 calculates a hash value from the VM-specific information. That is, the hash value calculation unit 130 calculates a hash value for the VM-specific information by inputting the VM-specific information into a hash function.

(S22)変換部140は、ハッシュ値を時刻に変換する。例えば、変換部140は、当該ハッシュ値を、翌週日曜の0:00:00から翌週土曜の23:59:59までの時間範囲に属する何れかの時刻に変換する。時刻としては、例えばUTCが用いられる。 (S22) The conversion unit 140 converts the hash value into a time. For example, the conversion unit 140 converts the hash value into any time that belongs to the time range from 0:00:00 on Sunday of the following week to 23:59:59 on Saturday of the following week. For example, UTC is used as the time.

(S23)時刻送信部150は、得られた時刻を要求時刻として、VM201に送信する。そして、要求時刻提供の処理が終了する。
図13は、管理サーバのアクセス権限更新の処理例を示すフローチャートである。
(S23) The time transmitting unit 150 transmits the obtained time to the VM 201 as the requested time. Then, the process of providing the requested time ends.
FIG. 13 is a flowchart illustrating an example of processing for updating access authority of the management server.

(S30)権限更新要求受信部160は、VM201からアクセス権限の更新要求を受信する。
(S31)権限管理部170は、受信した更新要求に基づいて、クラウドストレージ4に対するVM201のアクセス権限を更新する。例えば、権限管理部170は、アクセス権限管理テーブル111におけるVM201の権限有効期間を、現時点から1週間延長してもよいし、現在の権限有効期間の満了時点から1週間延長してもよい。
(S30) The authority update request receiving unit 160 receives an access authority update request from the VM 201.
(S31) The authority management unit 170 updates the access authority of the VM 201 to the cloud storage 4 based on the received update request. For example, the authority management unit 170 may extend the authority validity period of the VM 201 in the access authority management table 111 by one week from the current time, or by one week from the expiration of the current authority validity period.

(S32)権限管理部170は、アクセス権限の更新完了応答をVM201に送信する。更新完了応答は、更新後の権限有効期間、クラウドストレージ4におけるアクセス先およびクラウドストレージ4における認証用情報などの権限情報を含み得る。そして、アクセス権限更新の処理が終了する。 (S32) The authority management unit 170 transmits an access authority update completion response to the VM 201. The update completion response may include authority information such as the updated authority validity period, the access destination in the cloud storage 4, and authentication information in the cloud storage 4. Then, the access authority update process ends.

図14は、VM固有情報およびハッシュ値の例を示す図である。
例えば、VM201は、物理マシン200上にVM201が作成されて起動されると、物理マシン200aからVM201のVM固有情報81を取得する。
FIG. 14 is a diagram illustrating an example of VM-specific information and hash values.
For example, when the VM 201 is created and started on the physical machine 200, the VM 201 acquires the VM specific information 81 of the VM 201 from the physical machine 200a.

例えば、VM固有情報81として、前述のvmIDを用いることができる。vmIDのサイズは、例えば36バイトである。
VM201は、管理サーバ100にVM固有情報81を提供する。すると、ハッシュ値算出部130は、VM固有情報81に基づいてハッシュ値82を算出する。ハッシュ関数として、例えばMD5を用いる場合、VM固有情報81から128ビットのハッシュ値82が得られる。図14では、16進数の数字32文字でハッシュ値82を表している。
For example, the above-mentioned vmID can be used as the VM specific information 81. The size of vmID is, for example, 36 bytes.
The VM 201 provides the management server 100 with VM-specific information 81. Then, the hash value calculation unit 130 calculates a hash value 82 based on the VM-specific information 81. When using MD5 as the hash function, for example, a 128-bit hash value 82 is obtained from the VM specific information 81. In FIG. 14, a hash value 82 is represented by 32 hexadecimal numbers.

なお、VM固有情報81としては、前述のようにvmID以外のものを用いることができる。例えば、VM固有情報81は、サブスクリプションIDとリソースグループ名とVM名との組合せでもよい。また、VM固有情報81は、リソースIDでもよい。VM固有情報81の候補であるサブスクリプションIDとリソースグループ名とVM名との組合せ、リソースID、および、vmIDのうち、vmIDの情報量が最も少ないことがある。また、上記のvmIDに代えて、VMをグローバルに一意に識別する識別情報としてインスタンスIDも使用され得る。インスタンスIDのサイズは、17バイト程度であることがある。 Note that as the VM specific information 81, information other than vmID can be used as described above. For example, the VM specific information 81 may be a combination of a subscription ID, a resource group name, and a VM name. Further, the VM specific information 81 may be a resource ID. Among the combination of subscription ID, resource group name, and VM name, resource ID, and vmID that are candidates for the VM-specific information 81, the amount of information of vmID may be the smallest. Furthermore, instead of the vmID described above, an instance ID may also be used as identification information that globally uniquely identifies a VM. The size of the instance ID may be about 17 bytes.

図15は、ハッシュ値を時刻に変換する例を示す図である。
ハッシュ値範囲90は、MD5で求められるハッシュ値が取り得る値の範囲である。図15では、16進数の数字32文字でハッシュ値を表している。ハッシュ値範囲90に含まれるハッシュ値の個数は、2^128通りとなる。
FIG. 15 is a diagram showing an example of converting a hash value into a time.
The hash value range 90 is the range of values that the hash value determined by MD5 can take. In FIG. 15, the hash value is represented by 32 hexadecimal numbers. The number of hash values included in the hash value range 90 is 2^128.

ここで、1週間は、604,800秒である。したがって、変換部140は、2^128通りのハッシュ値を含むハッシュ値範囲90を、604,800個のサブ範囲に分割し、各サブ範囲を、日曜日0時00分00秒を起点とする時刻に対応付ける。1つのサブ範囲に属するハッシュ値の数は、2^128/604,800=5.6*10^32である。 Here, one week is 604,800 seconds. Therefore, the conversion unit 140 divides the hash value range 90, which includes 2^128 hash values, into 604,800 sub-ranges, and divides each sub-range into a time starting from 0:00:00 on Sunday. map to. The number of hash values belonging to one subrange is 2^128/604,800=5.6*10^32.

例えば、変換部140は、ハッシュ値範囲90の最小値を含む最初のサブ範囲を、日曜日0時00分00秒に対応付け、次のサブ範囲を日曜日0時00分01秒に対応付け、…というようにして、各サブ範囲に属するハッシュ値を時刻に対応付ける。変換部140は、ハッシュ値の小さい方から順に早い時刻となるように対応付けてもよいし、ハッシュ値の大きい方から順に早い時刻となるように対応付けてもよい。 For example, the conversion unit 140 associates the first sub-range including the minimum value of the hash value range 90 with Sunday 0:00:00, the next sub-range with Sunday 0:00:01,... In this way, hash values belonging to each sub-range are associated with time. The converting unit 140 may associate the times so that the hash value becomes earlier in order, or it may associate the times so that the hash value becomes earlier in order.

ここで、管理サーバ100でクラウドストレージ4へのアクセス権限を管理しているVMの数をaとし、アクセス権限の1つの更新要求のトランザクションの所要時間をbとし、管理サーバ100が受け付ける更新要求の並列数をcとする。 Here, the number of VMs whose access privileges to the cloud storage 4 are managed by the management server 100 is a, the time required for a transaction for one access privilege update request is b, and the number of update requests accepted by the management server 100 is Let c be the number of parallel lines.

すると、a台のVMと管理サーバ100とのアクセス権限の更新要求に関するやり取りの総所要時間は、ab/cとなる。例えば、a=10000とし、c=1とし、b=10秒とすると、当該総所要時間は、100,000秒となる。 Then, the total time required for exchanges regarding the access authority update request between a VMs and the management server 100 is ab/c. For example, if a=10000, c=1, and b=10 seconds, the total required time is 100,000 seconds.

図16は、要求の分散の例を示す図である。
図16(A)は、VMからの要求が適切に分散されている例を示す。図16(A)の例は、管理サーバ100によりVM固有情報のハッシュ値を用いて決定された更新時刻で各VMがアクセス権限の更新要求を送信する場合である。
FIG. 16 is a diagram illustrating an example of request distribution.
FIG. 16(A) shows an example in which requests from VMs are appropriately distributed. The example in FIG. 16A is a case where each VM transmits an access authority update request at an update time determined by the management server 100 using a hash value of VM-specific information.

更新要求群rq1は、VM10000台から送信された10000個の更新要求である。図16(A)の例では、1週間(604,800秒)の各時刻において、各VMからほぼ重複しないタイミングで、アクセス権限の更新要求が管理サーバ100に送信される。 The update request group rq1 is 10,000 update requests sent from 10,000 VMs. In the example of FIG. 16A, each VM sends an access authority update request to the management server 100 at almost non-overlapping timings at each time of one week (604,800 seconds).

図16(B)は、VMからの要求が適切に分散されていない例を示す。図16(B)は、図16(A)の比較例である。図16(B)の例は、VM固有情報のハッシュ値を用いずに決定された時刻で各VMがアクセス権限の更新要求を送信する場合である。 FIG. 16(B) shows an example in which requests from VMs are not appropriately distributed. FIG. 16(B) is a comparative example of FIG. 16(A). The example in FIG. 16B is a case where each VM transmits an access authority update request at a time determined without using the hash value of VM-specific information.

更新要求群rq2は、VM10000台から送信された10000個の更新要求である。図16(B)の例では、1週間(604,800秒)の各時刻において、2以上のVMによる更新要求が重複して行われる時刻が、図16(A)の場合に比べて多くなる。 The update request group rq2 is 10,000 update requests sent from 10,000 VMs. In the example of FIG. 16(B), the number of times at which two or more VMs make duplicate update requests at each time in one week (604,800 seconds) is greater than in the case of FIG. 16(A). .

このように、VM固有情報のハッシュ値を用いて決定された更新時刻で各VMがアクセス権限の更新要求を管理サーバ100に送信することで、管理サーバ100における負荷集中を軽減できる。 In this way, each VM sends an access authority update request to the management server 100 at the update time determined using the hash value of the VM-specific information, so that load concentration on the management server 100 can be reduced.

すなわち、ハッシュ関数を用いることで、各VMのVM固有情報に対して、十分に分散したハッシュ値を得ることができる。このため、当該ハッシュ値に基づくタイミングで、各VMから管理サーバ100への更新要求の送信を行うことで、各VMによる更新要求の送信タイミングを適切に分散させることができる。言い換えれば、各VMにより更新要求が送信されるタイミングが平滑化される。よって、比較的短い期間のうちに、各VMから管理サーバ100へ大量の更新要求が集中的に送信される可能性が低減される。その結果、管理サーバ100における負荷集中を軽減することができる。 That is, by using a hash function, it is possible to obtain sufficiently distributed hash values for the VM-specific information of each VM. Therefore, by transmitting an update request from each VM to the management server 100 at a timing based on the hash value, it is possible to appropriately distribute the timing at which each VM transmits an update request. In other words, the timing at which update requests are sent by each VM is smoothed. Therefore, the possibility that a large number of update requests will be intensively transmitted from each VM to the management server 100 within a relatively short period of time is reduced. As a result, load concentration on the management server 100 can be reduced.

[第3の実施の形態]
次に第3の実施の形態を説明する。前述の第2の実施の形態と相違する事項を主に説明し、共通する事項の説明を省略する。
[Third embodiment]
Next, a third embodiment will be described. The points that are different from the second embodiment described above will be mainly explained, and the explanations of the common points will be omitted.

第3の実施の形態の情報処理システムの構成は、図2で例示した第2の実施の形態の情報処理システムの例と同様であるため説明を省略する。
第3の実施の形態では、要求時刻の計算を、管理サーバ100ではなくVM201,202,…で行う点が第2の実施の形態と異なる。そこで、まず、第3の実施の形態における管理サーバ100およびVM201,202,…の機能を説明する。
The configuration of the information processing system according to the third embodiment is the same as the example of the information processing system according to the second embodiment illustrated in FIG. 2, so a description thereof will be omitted.
The third embodiment differs from the second embodiment in that the request time is calculated by the VMs 201, 202, . . . instead of the management server 100. Therefore, first, the functions of the management server 100 and the VMs 201, 202, . . . in the third embodiment will be explained.

図17は、第3の実施の形態の管理サーバの機能例を示す図である。
管理サーバ100は、記憶部110、権限更新要求受信部160および権限管理部170を有する。記憶部110、権限更新要求受信部160および権限管理部170は、図7で例示した第2の実施の形態における同名の機能と同様の機能である。第3の実施の形態の例では、管理サーバ100は、VM固有情報受信部120、ハッシュ値算出部130、変換部140および時刻送信部150の機能を有していなくてよい。
FIG. 17 is a diagram illustrating a functional example of the management server according to the third embodiment.
The management server 100 includes a storage section 110, an authority update request receiving section 160, and an authority management section 170. The storage unit 110, the authority update request receiving unit 160, and the authority management unit 170 have the same functions as the functions with the same names in the second embodiment illustrated in FIG. In the example of the third embodiment, the management server 100 does not need to have the functions of the VM-specific information receiving section 120, the hash value calculating section 130, the converting section 140, and the time transmitting section 150.

図18は、VMの機能例を示す図である。
VM201は、記憶部210、VM固有情報取得部220、権限更新要求部250、ストレージアクセス処理部260、ハッシュ値算出部270および変換部280を有する。記憶部210、VM固有情報取得部220、権限更新要求部250およびストレージアクセス処理部260は、図8で例示した第2の実施の形態における同名の機能と同様の機能である。第3の実施の形態では、VM201がハッシュ値算出部270および変換部280を有し、VM固有情報送信部230および時刻受信部240を有さない点が、第2の実施の形態と異なる。
FIG. 18 is a diagram illustrating a functional example of a VM.
The VM 201 includes a storage unit 210, a VM-specific information acquisition unit 220, an authority update request unit 250, a storage access processing unit 260, a hash value calculation unit 270, and a conversion unit 280. The storage unit 210, the VM-specific information acquisition unit 220, the authority update request unit 250, and the storage access processing unit 260 are the same functions as the functions with the same names in the second embodiment illustrated in FIG. The third embodiment differs from the second embodiment in that the VM 201 includes a hash value calculation unit 270 and a conversion unit 280, but does not include a VM-specific information transmission unit 230 and a time reception unit 240.

ハッシュ値算出部270は、VM固有情報取得部220により取得されたVM固有情報を入力としたハッシュ関数の関数値、すなわち、ハッシュ値を算出する。ハッシュ関数には、例えば、SHA-256やMD5などが用いられる。ただし、ハッシュ関数にはその他のアルゴリズムよりハッシュ値を求める関数を用いてもよい。 The hash value calculation unit 270 calculates a function value of a hash function using the VM-specific information acquired by the VM-specific information acquisition unit 220 as input, that is, a hash value. For example, SHA-256 or MD5 is used as the hash function. However, a function that obtains a hash value using other algorithms may be used as the hash function.

変換部280は、ハッシュ値算出部270により算出されたハッシュ値を時刻に変換する。当該時刻は、第2の実施の形態の要求時刻に相当する。変換部280は、求めた要求時刻を記憶部210に格納する。変換部280は、要求時刻が更新されたことを権限更新要求部250に通知してもよい。 The conversion unit 280 converts the hash value calculated by the hash value calculation unit 270 into time. The time corresponds to the request time in the second embodiment. The conversion unit 280 stores the obtained request time in the storage unit 210. The conversion unit 280 may notify the authority update request unit 250 that the request time has been updated.

なお、クラウドサービスシステム2,3で動作する他のVMも、VM201と同様の機能を有する。
次に、第3の実施の形態における処理手順を説明する。第3の実施の形態では、各VMの処理手順が第2の実施の形態と異なる。具体的には、管理サーバ100は、図12で例示した第2の実施の形態の要求時刻提供の処理を実行しなくてよい。要求時刻の計算は、各VMによって実行される。以下では、VM201を主に例示して説明するが、他のVMも同様の手順を実行する。
Note that other VMs operating in the cloud service systems 2 and 3 also have the same functions as the VM 201.
Next, a processing procedure in the third embodiment will be explained. In the third embodiment, the processing procedure of each VM is different from the second embodiment. Specifically, the management server 100 does not need to execute the request time provision process of the second embodiment illustrated in FIG. Calculation of request time is performed by each VM. Although the VM 201 will be mainly described below as an example, other VMs also perform similar procedures.

図19は、VMの処理例を示すフローチャートである。
(S40)VM固有情報取得部220は、クラウドサービスからVM201のVM固有情報を取得する。例えば、VM固有情報取得部220は、クラウドサービスを管理する物理マシン200aからVM固有情報を取得することができる。
FIG. 19 is a flowchart showing an example of VM processing.
(S40) The VM-specific information acquisition unit 220 acquires VM-specific information of the VM 201 from the cloud service. For example, the VM-specific information acquisition unit 220 can acquire VM-specific information from the physical machine 200a that manages the cloud service.

(S41)ハッシュ値算出部270は、取得したVM固有情報からハッシュ値を算出する。すなわち、ハッシュ値算出部270は、VM固有情報をハッシュ関数に入力することで、VM固有情報に対するハッシュ値を求める。 (S41) The hash value calculation unit 270 calculates a hash value from the acquired VM-specific information. That is, the hash value calculation unit 270 calculates a hash value for the VM-specific information by inputting the VM-specific information into a hash function.

(S42)変換部280は、ハッシュ値を時刻に変換する。例えば、変換部280は、当該ハッシュ値を、翌週日曜の0:00:00から翌週土曜の23:59:59までの時間範囲に属する時刻に変換する。時刻としては、例えばUTCが用いられる。 (S42) The conversion unit 280 converts the hash value into time. For example, the conversion unit 280 converts the hash value into a time that falls within the time range from 0:00:00 on Sunday of the following week to 23:59:59 on Saturday of the following week. For example, UTC is used as the time.

(S43)変換部280は、得られた時刻を要求時刻とする。変換部280は、当該要求時刻を示す要求時刻データ211を記憶部210に保存する。
(S44)権限更新要求部250は、現在時刻が記憶部210に保存された要求時刻データ211が示す要求時刻に達すると、クラウドストレージ4に対するアクセス権限の更新要求を管理サーバ100に送信する。
(S43) The conversion unit 280 sets the obtained time as the requested time. The conversion unit 280 stores request time data 211 indicating the request time in the storage unit 210.
(S44) When the current time reaches the request time indicated by the request time data 211 stored in the storage unit 210, the authority update request unit 250 transmits a request to update the access authority for the cloud storage 4 to the management server 100.

(S45)権限更新要求部250は、アクセス権限の更新完了応答を管理サーバ100から受信する。例えば、当該更新完了応答は、クラウドストレージ4へのアクセスに用いられる権限情報を含み得る。そして、VM201の処理が終了する。 (S45) The authority update request unit 250 receives the access authority update completion response from the management server 100. For example, the update completion response may include authority information used to access the cloud storage 4. Then, the processing of the VM 201 ends.

なお、ストレージアクセス処理部260は、権限更新要求部250が管理サーバ100から取得した権限情報を用いて、クラウドストレージ4にアクセスし、VM情報やソフトウェア情報の書き込みを行う。ストレージアクセス処理部260によるクラウドストレージ4へのVM情報やソフトウェア情報の書き込みは、ステップS45の直後に行われてもよいし、更新後のアクセス権限の有効期間内におけるその他のタイミングで行われてもよい。 Note that the storage access processing unit 260 accesses the cloud storage 4 using the authority information acquired by the authority update requesting unit 250 from the management server 100, and writes VM information and software information. Writing of VM information and software information to the cloud storage 4 by the storage access processing unit 260 may be performed immediately after step S45, or may be performed at any other timing within the validity period of the updated access authority. good.

また、管理サーバ100によるアクセス権限更新処理は、図13で例示した手順と同様の手順となる。
このように、VM固有情報のハッシュ値を用いて決定された更新時刻で各VMがアクセス権限の更新要求を管理サーバ100に送信することで、管理サーバ100における負荷集中を軽減できる。
Furthermore, the access authority update process by the management server 100 is similar to the procedure illustrated in FIG. 13 .
In this way, each VM sends an access authority update request to the management server 100 at the update time determined using the hash value of the VM-specific information, so that load concentration on the management server 100 can be reduced.

すなわち、ハッシュ関数を用いることで、各VMのVM固有情報に対して、十分に分散したハッシュ値を得ることができる。このため、当該ハッシュ値に基づくタイミングで、各VMから管理サーバ100への更新要求の送信を行うことで、各VMによる更新要求の送信タイミングを適切に分散させることができる。言い換えれば、各VMにより更新要求が送信されるタイミングが平滑化される。よって、比較的短い期間のうちに、各VMから管理サーバ100へ大量の更新要求が集中的に送信される可能性が低減される。その結果、管理サーバ100における負荷集中を軽減することができる。 That is, by using a hash function, it is possible to obtain sufficiently distributed hash values for the VM-specific information of each VM. Therefore, by transmitting an update request from each VM to the management server 100 at a timing based on the hash value, it is possible to appropriately distribute the timing at which each VM transmits an update request. In other words, the timing at which update requests are sent by each VM is smoothed. Therefore, the possibility that a large number of update requests will be intensively transmitted from each VM to the management server 100 within a relatively short period of time is reduced. As a result, load concentration on the management server 100 can be reduced.

なお、第2,第3の実施の形態では、管理サーバ100がクラウドストレージ4に対するアクセス権限の更新要求を各VMから送信するタイミングを決定する例を説明したが、各VMから管理サーバ100へ他の情報を送信するタイミングを決定してもよい。当該タイミングの決定方法は、各VMからの要求がリアルタイム性のないもの、すなわち、一定の時間間隔で定期的に発生する要求のうち、クライアント数が増えると管理サーバの負荷が増大するものである場合に特に有用である。 In the second and third embodiments, an example was explained in which the management server 100 determines the timing at which each VM sends an update request for access authority to the cloud storage 4. The timing of transmitting the information may also be determined. The method for determining this timing is based on requests from each VM that are not real-time, that is, requests that occur regularly at fixed time intervals, and when the number of clients increases, the load on the management server increases. This is particularly useful in cases where

例えば、Webサイトの訪問者情報を、各VM上に構築されたWebサーバごとに一定の間隔で定期的に管理サーバ100に発信するサービスが考えられる。この場合、複数のWebサーバが訪問者情報を同時に管理サーバ100に送信すると、管理サーバ100の負荷が増大し得る。一方、管理サーバ100は、各VMのVM固有情報に対するハッシュ値に基づいて、訪問者情報を送信する時刻をVMごとに決定することで、各VMが訪問者情報を送信するタイミングを適切に分散させることができる。その結果、管理サーバ100における負荷集中を軽減することができる。 For example, a service can be considered in which website visitor information is periodically sent to the management server 100 at regular intervals for each web server built on each VM. In this case, if multiple Web servers simultaneously send visitor information to the management server 100, the load on the management server 100 may increase. On the other hand, the management server 100 appropriately distributes the timing at which each VM sends visitor information by determining the time to send visitor information for each VM based on the hash value of the VM-specific information of each VM. can be done. As a result, load concentration on the management server 100 can be reduced.

その他の情報を各VMから管理サーバ100に送信する場合も、同様の方法により、当該情報の送信タイミングをVMごとに適切に分散させることができ、管理サーバ100における負荷集中を軽減することができる。 When transmitting other information from each VM to the management server 100, the timing of transmitting the information can be appropriately distributed for each VM using a similar method, and load concentration on the management server 100 can be reduced. .

第2,第3の実施の形態に対する比較例として、例えば、VMセットアップ時に、管理サーバ100で情報の受信が可能である空き時刻を各VMから問い合わせて、当該VM内の設定ファイルに保存し、当該VMから当該時刻に情報の送信を行うことも考えられる。 As a comparative example with respect to the second and third embodiments, for example, when setting up a VM, the management server 100 inquires from each VM about the free time at which it is possible to receive information, and saves it in a configuration file within the VM. It is also possible to transmit information from the VM at the relevant time.

しかし、VMは、ある1つのVMイメージを複製することで作成され、起動されることでスケールアウトされることが多い。このため、例えば、同じ設定ファイルのVMが増える可能性が高く、同じ時刻に各VMから一斉に情報が送信される可能性が高まる。 However, a VM is often created by replicating a single VM image and scaled out by being started. Therefore, for example, there is a high possibility that the number of VMs with the same configuration file will increase, and there will be a high possibility that information will be transmitted from all VMs at the same time.

また、例えば、VMにおけるプログラム実行時の時刻を乱数の種にしてランダムなタイミングで情報送信を行わせることも考えられる。しかし、上記のように、同じVMイメージの複製によるVMのクローン同士では、同じプログラムが同じ時刻に動作するため、結局、各VMによる情報送信のタイミングが衝突する可能性が高い。 It is also conceivable to transmit information at random timing using, for example, the time when a program is executed in the VM as a random number seed. However, as described above, since the same program runs at the same time in VM clones created by copying the same VM image, there is a high possibility that the timing of information transmission by each VM will eventually conflict.

一方、一般的なクラウドサービスであれば取得できる、VM固有情報は、同じVMイメージを複製しても、VMごとに異なる値となる。したがって、第2,第3の実施の形態のように、VM固有情報のハッシュ値を用いて決定された時刻に各VMから管理サーバ100に情報を送信することで、各VMによる情報送信のタイミングが適切に分散され、管理サーバ100における負荷集中を軽減できる。 On the other hand, VM-specific information, which can be obtained with a general cloud service, has a different value for each VM even if the same VM image is duplicated. Therefore, as in the second and third embodiments, by transmitting information from each VM to the management server 100 at a time determined using a hash value of VM-specific information, the timing of information transmission by each VM is improved. are appropriately distributed, and load concentration on the management server 100 can be reduced.

以上をまとめると、第2,第3の実施の形態の情報処理システムは例えば次の機能を有する。
管理サーバ100またはVM201,202,…それぞれは、当該VMを特定する特定情報を取得すると、特定情報を入力とするハッシュ関数の関数値、すなわち、ハッシュ値を算出する。VM201,202,…それぞれは、自VMに対応するハッシュ値に基づくタイミングで、管理サーバ100に情報を送信する。
To summarize the above, the information processing systems of the second and third embodiments have, for example, the following functions.
When each of the management server 100 or the VMs 201, 202, . . . acquires specific information that specifies the VM, it calculates a function value of a hash function using the specific information as input, that is, a hash value. Each of the VMs 201, 202, . . . transmits information to the management server 100 at a timing based on the hash value corresponding to the own VM.

これにより、管理サーバ100の負荷集中を軽減できる。
例えば、管理サーバ100がハッシュ値を算出する場合、管理サーバ100は、複数のVMそれぞれに対応するハッシュ値に基づいて、当該VMから管理サーバ100(自装置)に情報を送信するタイミングを、複数のVMそれぞれに対して指示する。
Thereby, load concentration on the management server 100 can be reduced.
For example, when the management server 100 calculates a hash value, the management server 100 sets multiple timings for transmitting information from the VM to the management server 100 (own device) based on the hash values corresponding to each of the multiple VMs. instructions to each VM.

あるいは、VM201,202,…それぞれがハッシュ値を算出する場合、VM201,202,…それぞれは、自VMから、各VMの情報を収集する管理サーバ100へ、当該ハッシュ値に基づくタイミングで情報を送信する。 Alternatively, when each of the VMs 201, 202, ... calculates a hash value, each of the VMs 201, 202, ... transmits information from its own VM to the management server 100 that collects information about each VM at a timing based on the hash value. do.

VM201,202,…それぞれから管理サーバ100に送信される情報は、例えば、当該VMによる特定処理の実行権限の有効期限を延長する申請である。これにより、管理サーバ100において比較的短い時間に当該実行権限の有効期限の延長の処理が集中することが避けられ、当該有効期限の延長の処理による管理サーバ100の負荷集中を軽減できる。 The information sent to the management server 100 from each of the VMs 201, 202, . This prevents the management server 100 from concentrating the processing of extending the validity period of the execution authority in a relatively short period of time, and reduces the concentration of load on the management server 100 due to the processing of extending the validity period.

また、管理サーバ100またはVM201,202,…それぞれは、所定期間に属する、ハッシュ値に対応する時刻を、当該VMにより管理サーバ100へ情報を送信するタイミングと決定する。 Furthermore, each of the management server 100 or the VMs 201, 202, .

これにより、各VMにより情報を送信する時刻を、当該送信のタイミングが当該所定期間内に分散するように、適切に得ることができる。
また、第2,第3の実施の形態の情報処理システムは、物理マシン200,300を有するクラウドサービスシステム2,3を含む。
Thereby, the time at which each VM transmits information can be appropriately obtained so that the timing of the transmission is distributed within the predetermined period.
Further, the information processing systems of the second and third embodiments include cloud service systems 2 and 3 having physical machines 200 and 300.

この場合、特定情報は、クラウドサービスシステム2,3それぞれがVMごとに一意に付与するVMの第1の識別情報でもよい。前述のvmID、インスタンスIDおよびリソースIDそれぞれは、第1の識別情報の一例である。 In this case, the specific information may be first identification information of the VM that is uniquely assigned to each VM by each of the cloud service systems 2 and 3. Each of the above-mentioned vmID, instance ID, and resource ID is an example of first identification information.

あるいは、特定情報は、クラウドサービスシステム2,3が提供するクラウドサービスの利用契約ごとにクラウドサービスシステム2,3それぞれが一意に付与する第2の識別情報とVMに対してユーザが付与するVM名とを含む組合せ情報でもよい。前述のサブスクリプションIDは、第2の識別情報の一例である。また、前述のように、当該組合せ情報は、リソースグループ名などの、ユーザにより付与される他の情報を含んでもよい。 Alternatively, the specific information may include second identification information that is uniquely assigned by each of the cloud service systems 2 and 3 for each cloud service usage contract provided by the cloud service systems 2 and 3, and a VM name that the user assigns to the VM. It may be combination information including. The aforementioned subscription ID is an example of second identification information. Additionally, as described above, the combination information may include other information provided by the user, such as a resource group name.

これにより、各VMに対して、求められるハッシュ値を適度に分散させることができ、2以上のVMによる情報の送信タイミングが衝突する(あるいは重複する)可能性を低減できる。このため、管理サーバ100における負荷集中を一層軽減できる。 Thereby, the required hash values can be appropriately distributed to each VM, and the possibility that the timings of information transmission by two or more VMs will collide (or overlap) can be reduced. Therefore, load concentration on the management server 100 can be further reduced.

なお、第1の実施の形態の情報処理は、処理部12,22にプログラムを実行させることで実現できる。また、第2,第3の実施の形態の情報処理は、CPU101や物理マシン200,300が有するCPUにプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体53に記録できる。 Note that the information processing in the first embodiment can be realized by causing the processing units 12 and 22 to execute a program. Further, the information processing in the second and third embodiments can be realized by causing the CPU 101 or the CPUs of the physical machines 200 and 300 to execute programs. The program can be recorded on a computer-readable recording medium 53.

例えば、プログラムを記録した記録媒体53を配布することで、プログラムを流通させることができる。また、プログラムを他のコンピュータに格納しておき、ネットワーク経由でプログラムを配布してもよい。コンピュータは、例えば、記録媒体53に記録されたプログラムまたは他のコンピュータから受信したプログラムを、RAM102やHDD103などの記憶装置に格納し(インストールし)、当該記憶装置からプログラムを読み込んで実行してもよい。 For example, the program can be distributed by distributing the recording medium 53 on which the program is recorded. Alternatively, the program may be stored in another computer and distributed via a network. For example, the computer may store (install) a program recorded on the recording medium 53 or a program received from another computer in a storage device such as the RAM 102 or the HDD 103, and read and execute the program from the storage device. good.

1 システム
10,20 情報処理装置
11,21 記憶部
12,22 処理部
31,32,33 仮想マシン
1 System 10, 20 Information processing device 11, 21 Storage unit 12, 22 Processing unit 31, 32, 33 Virtual machine

Claims (8)

第1の情報処理装置と複数の仮想マシンを動作させる1以上の第2の情報処理装置とを含むシステムで実行される仮想マシンの制御方法において、
前記第1の情報処理装置または前記複数の仮想マシンそれぞれが、前記仮想マシンを特定する特定情報を取得すると、前記特定情報を入力とするハッシュ関数の関数値を算出し、
前記複数の仮想マシンそれぞれが、自仮想マシンに対応する前記関数値に基づくタイミングで、前記第1の情報処理装置に情報を送信する、
制御方法。
In a method for controlling a virtual machine executed in a system including a first information processing device and one or more second information processing devices that operate a plurality of virtual machines,
When the first information processing device or each of the plurality of virtual machines obtains specific information that identifies the virtual machine, calculates a function value of a hash function using the specific information as input;
each of the plurality of virtual machines transmits information to the first information processing device at a timing based on the function value corresponding to the virtual machine;
Control method.
前記情報は、前記仮想マシンによる特定処理の実行権限の有効期限を延長する申請である、請求項1記載の制御方法。 2. The control method according to claim 1, wherein the information is an application to extend the expiration date of the authority to execute a specific process by the virtual machine. 前記第1の情報処理装置または前記複数の仮想マシンそれぞれが、所定期間に属する、前記関数値に対応する時刻を、前記仮想マシンにより前記情報を送信する前記タイミングと決定する、請求項1記載の制御方法。 2. The method according to claim 1, wherein the first information processing device or each of the plurality of virtual machines determines a time corresponding to the function value that belongs to a predetermined period as the timing at which the virtual machine transmits the information. Control method. 前記システムは、前記第2の情報処理装置を有するクラウドサービスシステムを含み、
前記特定情報は、前記クラウドサービスシステムが前記仮想マシンごとに一意に付与する前記仮想マシンの第1の識別情報であるか、または、前記クラウドサービスシステムが提供するクラウドサービスの利用契約ごとに前記クラウドサービスシステムが一意に付与する第2の識別情報と前記仮想マシンに対してユーザが付与する仮想マシン名とを含む組合せ情報である、
請求項1記載の制御方法。
The system includes a cloud service system including the second information processing device,
The specific information may be first identification information of the virtual machine that is uniquely assigned to each virtual machine by the cloud service system, or may be first identification information that is uniquely assigned to each virtual machine by the cloud service system, or Combination information including second identification information uniquely given by the service system and a virtual machine name given by the user to the virtual machine;
The control method according to claim 1.
コンピュータに、
1以上の情報処理装置で動作する複数の仮想マシンそれぞれから仮想マシンを特定する特定情報を取得すると、前記特定情報を入力とするハッシュ関数の関数値を算出し、
前記複数の仮想マシンそれぞれに対応する前記関数値に基づいて、当該仮想マシンから前記コンピュータに情報を送信するタイミングを、前記複数の仮想マシンそれぞれに対して指示する、
処理を実行させる制御プログラム。
to the computer,
Upon obtaining specific information that identifies a virtual machine from each of a plurality of virtual machines operating on one or more information processing devices, calculating a function value of a hash function using the specific information as input;
Instructing each of the plurality of virtual machines when to transmit information from the virtual machine to the computer based on the function value corresponding to each of the plurality of virtual machines;
A control program that executes processing.
コンピュータに、
前記コンピュータで動作する仮想マシンを特定する特定情報を取得すると、前記特定情報を入力とするハッシュ関数の関数値を算出し、
前記仮想マシンから、前記仮想マシンを含む複数の仮想マシンの情報を収集する情報処理装置へ、前記関数値に基づくタイミングで前記情報を送信する、
処理を実行させる制御プログラム。
to the computer,
Upon obtaining specific information that identifies a virtual machine running on the computer, calculating a function value of a hash function using the specific information as input;
transmitting the information from the virtual machine to an information processing device that collects information on a plurality of virtual machines including the virtual machine at a timing based on the function value;
A control program that executes processing.
1以上の他の情報処理装置で動作する複数の仮想マシンそれぞれから取得された、仮想マシンを特定する特定情報を記憶する記憶部と、
前記特定情報を入力とするハッシュ関数の関数値を算出し、前記複数の仮想マシンそれぞれに対応する前記関数値に基づいて、当該仮想マシンから自装置に情報を送信するタイミングを、前記複数の仮想マシンそれぞれに対して指示する処理部と、
を有する情報処理装置。
a storage unit that stores specific information for identifying a virtual machine acquired from each of a plurality of virtual machines operating on one or more other information processing devices;
A function value of a hash function that takes the specific information as input is calculated, and based on the function value corresponding to each of the plurality of virtual machines, the timing for transmitting information from the virtual machine to its own device is determined by the plurality of virtual machines. A processing unit that instructs each machine,
An information processing device having:
自装置で動作する仮想マシンにより取得された、前記仮想マシンを特定する特定情報を記憶する記憶部と、
前記特定情報を入力とするハッシュ関数の関数値を算出し、前記仮想マシンから、前記仮想マシンを含む複数の仮想マシンの情報を収集する他の情報処理装置へ、前記関数値に基づくタイミングで前記情報を送信する処理部と、
を有する情報処理装置。
a storage unit that stores specific information that identifies the virtual machine, which is acquired by a virtual machine running on its own device;
A function value of a hash function that takes the specific information as input is calculated, and the information is transmitted from the virtual machine to another information processing device that collects information on a plurality of virtual machines including the virtual machine at a timing based on the function value. a processing unit that transmits information;
An information processing device having:
JP2020085396A 2020-05-14 2020-05-14 Control method, control program and information processing device Active JP7401776B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020085396A JP7401776B2 (en) 2020-05-14 2020-05-14 Control method, control program and information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020085396A JP7401776B2 (en) 2020-05-14 2020-05-14 Control method, control program and information processing device

Publications (2)

Publication Number Publication Date
JP2021179853A JP2021179853A (en) 2021-11-18
JP7401776B2 true JP7401776B2 (en) 2023-12-20

Family

ID=78511557

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020085396A Active JP7401776B2 (en) 2020-05-14 2020-05-14 Control method, control program and information processing device

Country Status (1)

Country Link
JP (1) JP7401776B2 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004264994A (en) 2003-02-28 2004-09-24 Toshiba Tec Corp Office equipment and program
JP2009134598A (en) 2007-11-30 2009-06-18 Hitachi Ltd Workflow system, flow control apparatus, approval apparatus, program and workflow method
JP2013148950A (en) 2012-01-17 2013-08-01 Nippon Telegr & Teleph Corp <Ntt> Load distribution program and load distribution device
JP2013152513A (en) 2012-01-24 2013-08-08 Nippon Telegr & Teleph Corp <Ntt> Task management system, task management server, task management method and task management program
JP2016170670A (en) 2015-03-13 2016-09-23 富士ゼロックス株式会社 Information processing device and information processing program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004264994A (en) 2003-02-28 2004-09-24 Toshiba Tec Corp Office equipment and program
JP2009134598A (en) 2007-11-30 2009-06-18 Hitachi Ltd Workflow system, flow control apparatus, approval apparatus, program and workflow method
JP2013148950A (en) 2012-01-17 2013-08-01 Nippon Telegr & Teleph Corp <Ntt> Load distribution program and load distribution device
JP2013152513A (en) 2012-01-24 2013-08-08 Nippon Telegr & Teleph Corp <Ntt> Task management system, task management server, task management method and task management program
JP2016170670A (en) 2015-03-13 2016-09-23 富士ゼロックス株式会社 Information processing device and information processing program

Also Published As

Publication number Publication date
JP2021179853A (en) 2021-11-18

Similar Documents

Publication Publication Date Title
CA2646135C (en) Managing execution of programs by multiple computing systems
US10824343B2 (en) Managing access of multiple executing programs to non-local block data storage
JP6357243B2 (en) Data stream ingestion and persistence policy
EP3469478B1 (en) Server computer management system for supporting highly available virtual desktops of multiple different tenants
JP6033805B2 (en) Balanced consistent hash for distributed resource management
US9262273B2 (en) Providing executing programs with reliable access to non-local block data storage
US10379891B2 (en) Apparatus and method for in-memory-based virtual desktop service
US8321530B2 (en) Cloud computing system, server computer, device connection method, and storage medium
US7440998B2 (en) Provisioning for a modular server
US10999266B2 (en) Secret keys management in a virtualized data-center
JP2010250778A (en) System and method for providing computer resource and resource transaction program
JP2016170669A (en) Load distribution function deployment method, load distribution function deployment device, and load distribution function deployment program
JP6003590B2 (en) Data center, virtual system copy service providing method, data center management server, and virtual system copy program
JP6889372B2 (en) Log management equipment, information processing systems and programs
JP7401776B2 (en) Control method, control program and information processing device
JP4375121B2 (en) Processing agent method in database management system
JP6568232B2 (en) Computer system and device management method
JP6643706B2 (en) Distribution history management program, distribution history management device, and distribution history management method
US20230216666A1 (en) Method and system for performing telemetry services for composed information handling systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230209

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231024

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231120

R150 Certificate of patent or registration of utility model

Ref document number: 7401776

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150