WO2005111798A1 - グリッドコンピューティングシステム、情報処理装置、ジョブ実行要求生成装置、制御方法、プログラム、及び記録媒体 - Google Patents

グリッドコンピューティングシステム、情報処理装置、ジョブ実行要求生成装置、制御方法、プログラム、及び記録媒体 Download PDF

Info

Publication number
WO2005111798A1
WO2005111798A1 PCT/JP2005/008628 JP2005008628W WO2005111798A1 WO 2005111798 A1 WO2005111798 A1 WO 2005111798A1 JP 2005008628 W JP2005008628 W JP 2005008628W WO 2005111798 A1 WO2005111798 A1 WO 2005111798A1
Authority
WO
WIPO (PCT)
Prior art keywords
information processing
job
processing device
job execution
index value
Prior art date
Application number
PCT/JP2005/008628
Other languages
English (en)
French (fr)
Inventor
Seiji Kobayashi
Takashi Ohta
Kazuo Iwano
Original Assignee
International Business Machines Corporation
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 International Business Machines Corporation filed Critical International Business Machines Corporation
Priority to JP2006513541A priority Critical patent/JP4428483B2/ja
Priority to EP05739336A priority patent/EP1762936A4/en
Priority to CA002570641A priority patent/CA2570641A1/en
Priority to US11/569,014 priority patent/US8359596B2/en
Publication of WO2005111798A1 publication Critical patent/WO2005111798A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/503Resource availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload

Definitions

  • Grid computing system information processing device, job execution request generation device, control method, program, and recording medium
  • the present invention relates to a grid computing system, an information processing device, a job execution request generation device, a control method, a program, and a recording medium.
  • the present invention relates to a grid combination system, an information processing device, a job execution request generation device, a control method, a program, and a recording medium that cause an appropriate information processing device to process a job according to the processing content of the job.
  • a grid computing system that connects a plurality of information processing apparatuses via a network and executes the requested job in cooperation with the information processing apparatuses has been receiving attention.
  • a predetermined job management server manages the status of all information processing devices in the system. Then, the scheduler provided in the job management server causes an information processing device or the like that satisfies predetermined conditions such as an excess processing capacity to execute the job.
  • Patent Document 1 JP-A-7-66834
  • Patent Document 2 Japanese Patent Application Laid-Open No. 2001-175560
  • the job management server may not be able to properly manage all the information processing devices in the system. For example, with the spread of network technology in recent years, a plurality of information processing devices managed by different organizations have been connected by a network, and each organization has added a new information processing device. Or, if the network power is disconnected, etc. It is not easy to manage sharply.
  • Patent Documents 1 and 2 aim at path selection for selecting a path from one information processing apparatus to another information processing apparatus. For this reason, it is assumed that the information processing devices of the communication source and the communication destination are determined in advance. Therefore, it is difficult to apply the techniques described in these documents to a scheduling process that determines whether any information processing apparatus is capable of executing a job.
  • an object of the present invention is to provide a grid computing system, an information processing device, a job execution request generation device, a control method, a program, and a recording medium that can solve the above-mentioned problems. .
  • This object is achieved by a combination of features described in the independent claims.
  • the dependent claims define further advantageous embodiments of the present invention.
  • a grid computing system including a plurality of information processing apparatuses.
  • a self-index value storage unit that stores an index value indicating the processing capability of the job
  • a request acquisition unit that acquires a job execution request that requests execution of a job, an index value stored in the self-index value storage unit, and the job If it is determined that the job is to be executed by the information processing apparatus based on the processing content of the job, the job to execute the job is executed.
  • a grid computer having an execution unit and a request transmission unit configured to transfer the job execution request to another information processing device connected to the information processing device when it is determined that the job is not to be executed in the information processing device.
  • Provided are an information processing device included in a computing system, a grid combining, a control method for controlling the information processing device, a program for controlling the information processing device, and a recording medium on which the program is recorded.
  • a grid computing system can be operated efficiently.
  • FIG. 1 schematically shows a grid computing system 10.
  • the grid combining system 10 includes a plurality of information processing devices. Then, the grid combining system 10 causes a plurality of information processing apparatuses to sequentially transfer a job execution request for executing a job. Then, the grid computing system 10 causes each information processing device to determine whether or not the job should be executed by the information processing device. As described above, the grid computing system 10 aims to allow each information processing device to autonomously schedule a job without providing a specific job management server.
  • the grid computing system 10 includes a network 1, a network 2, and a network 3.
  • Networks 1 to 3 are managed by different organizations, for example.
  • the network 1 includes an information processing device 20, an information processing device E, an information processing device F, an information processing device G, and an information processing device H.
  • the network 2 includes an information processing device B, an information processing device C, and an information processing device D.
  • the network 3 includes an information processing device A, an information processing device I, and a job execution request generation device 30.
  • the job execution request generation device 30 receives the job execution instruction from the user and inputs the job execution request. And sends the request to the information processing apparatus A and the information processing apparatus C. Then, the information processing device A determines whether or not to execute the job in the information processing device A based on the job execution request. When it is determined that the job is not to be executed by the information processing device A, the information processing device A transfers the job execution request to the information processing device 20.
  • the grid computing system 10 may include a plurality of job execution request generation devices 30. Further, the job execution request generation device 30 may further have the function of the information processing device 20. In the present embodiment, for convenience, the grid computing system 10 has one job execution request generation device 30, and the job execution request generation device 30 has the function of the information processing device 20! /, Na! / , In case!
  • the information processing device 20 associates each of the indices indicating the different processing capabilities of the information processing device with the identification information of the information processing device in which the processing capability indicated by the index satisfies a predetermined basic condition. It is stored in advance. For example, in the figure, a dotted line indicates a connection to an information processing device whose CPU operating frequency is equal to or higher than a predetermined frequency among information processing devices connected to the information processing device 20. The connection to the information processing device having a memory capacity equal to or larger than a predetermined value is indicated by a solid line.
  • the information processing apparatus 20 determines whether or not the job should be executed by the information processing apparatus 20. If it is determined that the processing should not be executed! / ⁇ , the information processing apparatus 20 selects, for example, an information processing apparatus whose CPU operating frequency is equal to or higher than a predetermined value based on the processing content of the job, and selects a predetermined information processing apparatus from the selected information processing apparatus. The information processing device that satisfies the above conditions is selected as the transfer destination of the job execution request. For example, the information processing device 20 selects the information processing device B from among the information processing devices B, D, E, G, and I, and transfers the job execution request to the information processing device B. The information processing device B determines that the job execution request should be transferred, and executes the job.
  • each information processing apparatus without providing a specific job management server autonomously selects an information processing apparatus to execute a job. can do.
  • the information processing device 20 in the present embodiment stores a set of identification information of information processing devices that are transfer destination candidates in association with different processing capabilities. Quick transfer destination Can be determined.
  • each of the information processing apparatuses A to I in the present embodiment has substantially the same configuration as the information processing apparatus 20. Therefore, in the following embodiments, the information processing device 20 will be described.
  • FIG. 2 is a functional block diagram of the information processing device 20.
  • the information processing device 20 includes a self index value storage unit 200, a connection destination index value storage unit 210, a request acquisition unit 220, a job history storage unit 230, a job execution unit 240, and a condition satisfaction device information storage unit 250. , A condition satisfaction device selecting unit 260, a request transmitting unit 270, and an index value adding unit 280.
  • the self index value storage unit 200 stores an index value indicating the processing capability of the information processing device 20.
  • the connection destination index value storage unit 210 stores an index value indicating the processing capability of the information processing device in association with each of the plurality of information processing devices connected to the information processing device 20.
  • the connection destination index value storage unit 210 receives a change notification notifying a change in the index value indicating the processing capability of the other information processing device from another information processing device connected to the information processing device 20.
  • the stored index value is changed based on the change notification.
  • the connection destination index value storage unit 210 changes the stored index value to an index value indicating that the processing capacity is lower than the index value stored.
  • the information processing device connected to the information processing device 20 refers to, for example, an information processing device that communicates with the information processing device 20 without relaying through a router.
  • the information processing device connected to the information processing device 20 may be an information processing device that communicates with the information processing device 20 via a predetermined number of routers or less.
  • the information processing device connected to the information processing device 20 may be predetermined by the user.
  • the request acquisition unit 220 acquires a job execution request from the information processing device A.
  • the job execution request includes, for example, the identification information of the job execution request generation device 30 that has generated the job execution request, an index indicating the processing capacity required for executing the job, and the information processing device to satisfy the job. It includes criteria for determining conditions, the amount of change in the index when the job is executed, the date and time when the job was requested, and the identification information of the job.
  • the job history storage unit 230 stores the history of the identification information of the job execution request acquired by the request acquisition unit 220.
  • the request acquisition unit 220 identifies the execution request of the acquired job.
  • the job execution request is returned to the information processing apparatus A that is the transfer source of the job. As a result, it is possible to prevent the job execution request from being cyclically transferred.
  • the job history storage unit 230 stores the identification information of the job execution request in association with the date and time when the job execution request was acquired, and when a predetermined period of time has elapsed after the acquisition, the identification information is stored. Information may be deleted.
  • the job execution unit 240 executes the job in the information processing apparatus 20 based on the index value stored in the self-index value storage unit 200 and the processing content of the job requested by the job execution request. It is determined whether or not to do. In addition, the job execution unit 240 may determine whether to execute the job based on the index value stored in the connection destination index value storage unit 210. Also, the job execution unit 240 determines that the job is to be executed even when the request transmission unit 270 receives the return of the job execution request.
  • the job execution unit 240 transmits an execution notification notifying that the job is to be executed to the job execution request generation device 30. Then, the job execution unit 240 receives data and the like necessary for executing the job from the job execution request generation device 30 and starts executing the job. In this case, the job execution unit 240 changes the index value of the self-index value storage unit 200 as the job is executed. Further, the job execution unit 240 transmits a change notification for changing the index value indicating the processing capability of the information processing device 20 to the information processing devices A to I.
  • the job execution unit 240 transmits, as a change notification, an index value indicating the processing capability of the information processing device 20 together with information indicating that the information processing device 20 is newly connected.
  • the information may be transmitted to the information processing devices A to I.
  • the job execution unit 240 sends an index value indicating the processing capability of the information processing apparatus 20 as a change notification together with information indicating that the network is also disconnected. You may send it to ⁇ I.
  • the condition satisfying device information storage unit 250 stores the index of a plurality of information processing devices connected to the information processing device 20 in association with each of the plurality of indices indicating different processing capabilities of the information processing device.
  • the identification information of the information processing apparatus whose processing capability indicated by satisfies the predetermined basic condition is stored.
  • the condition satisfaction device information storage unit 250 In association with the index indicating the operation frequency, the identification information of the information processing device having the CPU operating frequency of 1 GHz or more among the information processing devices connected to the information processing device 20 is stored.
  • the condition satisfaction device selection unit 260 stores identification information corresponding to an index indicating the processing capability required for the job based on the processing content of the job requested by the job execution request, and stores the condition satisfaction device information storage unit 250 Choose from If the request transmitting unit 270 determines that the job is not to be executed in the information processing device 20, the request transmitting unit 270 sends the job execution request to one of the information processing devices indicated by the identification information selected by the condition satisfaction device selecting unit 260. To transfer.
  • the request transmitting unit 270 selects, from the connection destination index value storage unit 210, the index value of the information processing device indicated by the identification information selected by the condition satisfaction device selecting unit 260. Then, the request transmitting unit 270 selects an index value that satisfies a predetermined condition from the selected index values, and transfers a job execution request to the information processing apparatus corresponding to the index value. For example, the request transmitting unit 270 may transfer the job execution request to an information processing device whose CPU usage rate is equal to or less than a predetermined value. When receiving a return of the job execution request from the transfer destination of the job execution request, the request transmission unit 270 notifies the job execution unit 240 of the fact via the request acquisition unit 220.
  • the index value adding unit 280 calculates a method of calculating the index value of the index, and the condition satisfaction device information.
  • the basic condition to be satisfied by the index value for storing the identification information in the storage unit 250 is notified to another information processing apparatus. This notification is called an additional notification.
  • the index value adding unit 280 causes the self-index value storage unit 200 to calculate and store the index value of the index for the information processing device 20. Also, the index value adding unit 280 sets the basic condition to be satisfied by the index value in the condition satisfying device information storage unit 250.
  • FIG. 3 shows an example of the data structure of the connection destination index value storage section 210.
  • the connection destination index value storage unit 210 is provided in the information processing device as an index value indicating the processing capability of the information processing device in association with each of the plurality of information processing devices connected to the information processing device 20. Stores an index of a characteristic index indicating the characteristic of software installed in the device or the information processing apparatus thereof. Specifically, the connection destination index value storage unit 210 associates the identification information (ID) of each information processing device with the information processing device as a characteristic index of the information processing device.
  • ID identification information
  • the operating frequency of the CPU of the information processing device, the memory capacity of the information processing device, and the type of OS installed in the information processing device are stored.
  • connection destination index value storage unit 210 stores, as an index value indicating the processing capability of the information processing device, an index value of a load index indicating a processing load of a job being processed by the information processing device. Specifically, the connection destination index value storage unit 210 associates the CPU utilization rate of the information processing device with the load index of the information processing device in association with the identification information (ID) of the information processing device, The memory usage rate of the information processing device is stored.
  • ID identification information
  • the CPU operating frequency of the information processing apparatus A is 1.6 GHz
  • the memory capacity is
  • the characteristic index may be an index indicating the type of CPU or an index indicating the capacity and speed of the hard disk drive.
  • the load index may be an index indicating the free space of the hard disk drive.
  • the processing capability of the information processing apparatus may be a static and unchanging ability, for example, a performance of the information processing apparatus, a capability of dynamically changing, For example, the surplus computing power of the information processing device may be used.
  • FIG. 4 shows an example of the data structure of the condition satisfaction device information storage section 250.
  • the condition satisfaction device information storage unit 250 stores identification information of an information processing device whose processing capability indicated by the characteristic index satisfies the basic condition, in association with each of the characteristic indices.
  • the condition satisfying device information storage unit 250 stores A, B, D, E, G, and I as identification information of an information processing device that satisfies the basic condition that the operating frequency of the CPU is 1 GHz or more. I do.
  • the condition satisfying device information storage unit 250 stores C, F, H, and I as identification information of an information processing device satisfying a basic condition that a memory capacity is 128 MB or more.
  • the condition satisfaction device information storage unit 250 stores A, B, D, F, H, and I as identification information of an information processing device that satisfies the basic condition that the OS type is X.
  • the basic condition may be, for example, a condition that a device such as a CPU has performance higher than a predetermined reference, or a condition that a device or software is of a predetermined type. There may be. Further, the condition satisfying device information storage unit 250 stores these plural conditions. For the same information processing device that satisfies, the identification information of the information processing device may be stored in association with each of the plurality of indices. That is, the condition satisfaction device information storage unit 250 may store the identification information I of the information processing device I in association with each index indicating the operating frequency of the CPU, the capacity of the memory, and the type of the OS.
  • the information processing apparatuses A, B, D, E, G, and I are referred to as virtual adjacent nodes with respect to the CPU operating frequency.
  • the information processing devices C, F, H, and I are referred to as virtual adjacent nodes for the memory capacity.
  • the information processing devices A, B, D, F, H, and I are called virtual adjacent nodes for the OS.
  • FIG. 5 is a functional block diagram of the job execution request generation device 30.
  • the job execution request generation device 30 includes a job execution request transmission unit 300 and a job execution instruction unit 310.
  • the job execution request transmission unit 300 generates a job execution request for requesting the execution of a job when the user is instructed to execute the job. Then, the job execution request transmission unit 300 transmits the generated job execution request to two or more information processing devices, for example, each of the information processing devices A and C.
  • the job execution request transmission unit 300 compares the identification information of the job execution request generation device 30 that generated the job execution request with the predicted value of the amount of computational resources used when executing the job. And send it in the job execution request.
  • the predicted value of the amount of computational resources used is, for example, a predicted value of the size of the memory occupied by the job.
  • the predicted value may be input by a user who instructs to execute the job, or may be determined by trying to execute a part of the job.
  • the job execution request does not include data or the like for actually executing the job.
  • the job execution request is input to any one of the information processing apparatuses in the Darling Computing System 10 in order to search for an information processing apparatus that can execute a job.
  • the job execution request transmitted to the information processing apparatus A is transferred to the information processing apparatus B, and the information processing apparatus B determines that the job is to be executed.
  • the job execution request transmitted to the information processing apparatus C is not transferred, and the information processing apparatus C determines that the job is to be executed.
  • the job execution instruction unit 310 executes the job in response to the transmitted job execution request.
  • An execution notification which is a notification of execution, is received from each of the information processing apparatuses B and C.
  • the job execution instructing unit 310 selects an information processing device that satisfies a predetermined condition from among a plurality of information processing devices that are transmission sources of these execution notifications. For example, when receiving the execution notification from the information processing apparatuses B and C, the job execution instruction unit 310 selects the information processing apparatus B that satisfies the condition that the CPU usage rate is 30% or less.
  • job execution instructing section 310 causes selected information processing apparatus B to execute a job.
  • the job execution instructing unit 310 may transmit a program and data necessary for executing the job to the information processing apparatus B.
  • the job execution request generation device 30 can select one information processing device suitable for job execution and cause the information processing device to execute the job. it can.
  • FIG. 6 is a flowchart showing a process in which the information processing device 20 transfers or executes a job.
  • the request acquisition unit 220 acquires a job execution request from the information processing device A (S600). Then, the request acquisition unit 220 determines whether or not the job execution request has already been acquired in the past (S610). If the job has already been acquired in the past (S610: YES), the request acquisition unit 220 returns a job execution request to the job transfer source (for example, the information processing device A) (S620).
  • the transfer source information processing device refers to a destination information processing device that directly receives a job execution request.
  • the transfer source in the information processing device 20 is the information processing device A.
  • the transfer source in the information processing device A is the job execution request generation device 30.
  • the request acquisition unit 220 may return the job execution request to the job execution request generation device 30.
  • the request acquisition unit 220 determines whether or not the job execution request has already been acquired in the past by any of the following methods.
  • the request obtaining unit 220 determines that the job execution request has already been obtained in the past.
  • job transfer history information which is identification information of an information processing apparatus to which a job execution request has been transferred in the past, included in the job execution request
  • the job transfer history If the information includes the identification information of the information processing device 20, a job execution request has been issued in the past. Is determined to have been acquired.
  • the request acquisition unit 220 may process the information of the transfer source of the job execution request.
  • a job execution request may be returned to the device.
  • the job execution request includes transfer count information indicating the number of times the job execution request has been transferred, and the request acquisition unit 220 indicates that the transfer count information indicates a transfer count equal to or greater than the reference count. In this case, the job execution request is returned to the information processing apparatus that has transmitted the job execution request.
  • the job execution unit 240 analyzes the processing contents of the job (S630). For example, the job execution unit 240 may analyze the processing content of the job by obtaining, from the job execution request, a characteristic index indicating the processing capacity required for executing the job. Then, based on the index value stored in the self-index value storage unit 200 and the processing content of the job, the job execution unit 240 determines whether or not the information processing apparatus 20 has the ability to execute the job (see FIG. S640). For example, when the following expression (1) is satisfied, the job execution unit 240 determines that the job is to be executed by the information processing device 20.
  • variable threshold is set by the time the information processing device to execute the job is determined.
  • the variable target is an index value indicating the processing capacity required for the job.
  • the variable efficiency indicates an index value stored in the self-index value storage unit 200.
  • the variable counter indicates the number of transfers of the job execution request.
  • variable alpha is a constant arbitrarily set by the user.
  • the job execution unit 240 when the index value stored in the self-index value storage unit 200 indicates a processing capacity higher than the processing capacity required for the job, Is determined to be executed in the information processing device 20. Then, even when the index value stored in the self-index value storage unit 200 indicates that the processing capacity required for the job is lower! If the difference from the index value indicating the required processing capability is within a predetermined reference difference value, it is determined that the job is to be executed in the information processing device 20.
  • the job execution unit 240 determines the reference difference value when the cumulative number of times the job execution request has already been transferred by another information processing apparatus is larger than when the cumulative number is smaller. To a larger value. That is, when the number of transfers is larger, the possibility that the job will be executed increases. As a result, the divergence of the search area for searching for the information processing device that executes the job can be prevented.
  • the job execution unit 240 may determine whether or not to execute the job in the information processing device 20 based on a set of a plurality of index values. . As yet another example, the job execution unit 240 determines whether to execute a job in the information processing device 20 based on the index values of the information processing devices A to I connected to the information processing device 20. You may. As an example, the job execution unit 240 shows higher processing capacity even when the index value stored in the self-index value storage unit 200 is compared with any index value stored in the connection destination index value storage unit 210. In such a case, it is determined that the job is to be executed in the information processing apparatus 20.
  • the job executing section 240 executes the job (S650).
  • the request transmitting unit 270 transfers the job execution request (S660).
  • FIG. 7 shows details of the process of S650 in FIG.
  • the job execution unit 240 transmits an execution notification to the job execution request generation device 30 that has generated the job execution request (S700). Then, the job execution unit 240 obtains, from the job execution request, a predicted value of a change amount in which the index value changes when the job is executed, and changes the index value based on the predicted value (S710). . For example, the job execution unit 240 sets the index value indicating the CPU usage to 100% Is changed to an index value indicating that
  • the information processing device 20 can be made hard to receive the transfer of another job execution request. That is, acquisition of resources by a plurality of job execution requests can be appropriately arbitrated. Further, according to this method, it is possible to make the information processing apparatus 20 accept any job execution request, and to flexibly perform job scheduling as compared with the lock mechanism.
  • the job execution unit 240 transmits a change notification for changing the index value indicating the processing capability of the information processing device 20 to the information processing devices A to I (S720).
  • the job execution unit 240 undoes the change in the index value (S740).
  • the job execution unit 240 executes the received job (S750).
  • the self-index value storage unit 200 compares the stored index value with the index value based on the processing capacity changed by executing the job, and the processing capacity of the information processing device is low! To an index value indicating that
  • the job executing unit 240 transmits a change notification for changing the index value indicating the processing capability of the information processing device 20 to the information processing devices A to I (S760).
  • the job execution unit 240 may transmit the change notification including identification information of the job to be executed. Then, when the execution of the job is completed, the job execution unit 240 returns the execution result to the job execution request generation device 30 (S770).
  • the job execution unit 240 calculates the index value of the information processing device 20, A change notification indicating the calculated index value to be notified by another information processing device may be transmitted. Similarly, even when the information processing device 20 stops the connection with the grid combining system 10, the job execution unit 240 transmits as a change notification that the index value of the information processing device 20 is to be deleted. Well! /.
  • FIG. 8 shows details of the process of S660 in FIG.
  • the condition satisfaction device selection unit 260 selects, from the condition satisfaction device information storage unit 250, identification information corresponding to the characteristic index indicating the processing capability required for the job, based on the processing content of the job (S800). For example, when the processing capacity required for a job is mainly the processing capacity of the CPU, the condition satisfaction device selecting unit 260 selects a virtual adjacent node for the CPU operating frequency. Then, the request transmission unit 270 Selects an information processing device of which the index value of the load index satisfies a predetermined condition from among the virtual adjacent nodes selected by the condition satisfaction device selecting section 260 (S810). As a result, for example, the request transmitting unit 270 selects the information processing device B.
  • the request transmitting unit 270 adds 1 to the transfer count information indicating the number of times the job execution request has been transferred (S820). Then, the request transmitting unit 270 transmits the information on the number of times of transfer to the information processing apparatus B with the information included in the job execution request (S830). In addition, the request transmitting unit 270 may transfer the identification information of the information processing device 20 as history information indicating the history of the information processing device that has transferred the job execution request, included in the job execution request.
  • job execution section 240 may execute the job corresponding to the job execution request. Good. As a result, it is possible to prevent the circulation of the job execution request and to search for an information processing apparatus suitable for executing the job within a range where the circulation does not occur.
  • FIG. 9 is a flowchart showing a process when the information processing device 20 receives a change notification.
  • a description will be given of a process in a case where the index value of the information processing device is changed as a result of executing a job with another information processing device different from the information processing device 20.
  • the connection destination index value storage unit 210 determines whether the change notification has already been received in the past (S900). ). If the information has already been received in the past (S900: YES), the information processing device 20 ends the process.
  • connection destination index value storage unit 210 stores the index value stored in association with the information processing apparatus that executes the job.
  • the index value is changed to an index value indicating that the processing capability of the information processing apparatus is lower than the index value (S910).
  • the self-index value storage unit 200 determines whether the index value of the information processing device 20 needs to be changed (S920). For example, the self-index value storage unit 200 further stores an index value based on the processing capability of the information processing devices A to I connected to the information processing device 20! Judge as necessary. As an example, the self-index storage unit 200 stores the average of the CPU operating frequencies in the information processing devices A to I connected to the information processing device 20. If the average value is stored as one index value, it is determined that the average value needs to be changed.
  • the self-index value storage unit 200 changes the stored index value based on the received change notification (S930). Then, the self-index value storage unit 200 further transmits the change notification for notifying the change of the index value, including the identification information of the job, to the information processing apparatuses A to I connected to the information processing apparatus 20 ( S940).
  • each information processing apparatus can appropriately update its own index value by exchanging the change notification with each other. .
  • FIG. 10A is a flowchart illustrating a process when the information processing apparatus 20 receives an addition instruction from a user.
  • the index value adding unit 280 causes the self-index value storage unit 200 to store an index value based on the additional instruction when the user receives an additional instruction to add another index indicating the processing capability of the information processing apparatus ( S 1000).
  • the index value adding unit 280 calculates a method of calculating the index value of the index, and the basic condition that the index value must satisfy in order to store the identification information in the condition satisfaction device information storage unit 250, User power is also received as additional instructions. Then, the index value adding unit 280 notifies the self index value storage unit 200 of the calculation method, and causes the self index value storage unit 200 to calculate and store the index value. In addition, the index value adding unit 280 may receive the definition and name of the index. In this case, the index value adding section 280 may further store the definition and name in the self-index value storage section 200.
  • the self-index value storage unit 200 connects to the information processing device 20 and transmits a change notification notifying that the index value has been newly calculated to the information processing devices A to I (S1010).
  • the index value adding unit 280 sets the basic condition in the condition satisfying device information storage unit 250 (S1020).
  • the index value adding unit 280 sends the index calculation method, definition, name, and basic conditions to all other information processing devices as an additional notification notifying that a new index value is to be added. Send it (S1030).
  • FIG. 10B is a flowchart showing a process when the information processing device 20 receives an addition notification from another information processing device.
  • Index value adding section 280 receives an additional notification including the basic condition from another information processing device. Then, based on the basic condition received in the addition notification, the index value adding unit 280 determines whether the index value of the other information processing devices connected to the information processing device 20 satisfies the basic condition. The processing device is detected (S1040).
  • the index value adding unit 280 receives an index value of another information processing device connected to the information processing device 20 from the connection destination index value storage unit 210, and the received index value satisfies the basic condition. It may be determined whether the force is satisfied. Then, the index value adding unit 280 stores the detected identification information of the information processing device in the condition satisfaction device information storage unit 250 in association with the added index (S1050).
  • the user inputs an additional instruction to one information processing device, thereby causing a plurality of information processing devices in the grid computing system 10 to be input. Can be added with an index value.
  • FIG. 11 is a flowchart showing a process when the job execution request generation device 30 receives a user's instruction to execute a job.
  • the job execution request transmission unit 300 generates a job execution request, and transmits the generated job execution request to the information processing apparatuses A and C (S1100).
  • the job execution request transmitting unit 300 generates identification information of a job whose execution is requested by the job execution request, and transmits the identification information included in the job execution request. For example, based on the generation time of the job execution request and the identification information for identifying the information processing apparatus to which the job execution request is transmitted, the job execution request transmission unit 300 May be generated.
  • the job execution request transmitting unit 300 determines whether or not the power has received the return of the job execution request (S1105).
  • the job execution request transmission unit 300 returns the processing to S1100, and executes the job to the information processing apparatus A and another information processing apparatus different from the same. Submit the request.
  • the job execution request generation device 30 determines whether a predetermined reference period has elapsed since the transmission of the job execution request. It is determined whether or not it is (S1110). If the reference period has elapsed (S1110: YES), the job The line instruction unit 310 selects the information processing device having the highest processing capability from among the plurality of information processing devices that are the transmission sources of the plurality of notifications received during the reference period (S1120). Then, the job execution instructing unit 310 transmits a program, data, and the like necessary for executing the job to the selected information processing apparatus (S1130).
  • the job execution instructing unit 310 selects the information processing device that has transmitted the execution notification to the job execution request generation device 30 as soon as possible.
  • the job may be executed by the selected information processing apparatus.
  • the job execution instructing unit 310 may be configured to execute an arbitrary time based on a combination of the time required from the transmission of the job execution request to the reception of the execution notification and the processing capability of the information processing apparatus from which the execution notification is transmitted.
  • a policy may be used to determine which information processing apparatus is to execute a job.
  • FIG. 12 shows an example of a hardware configuration of the information processing device 20.
  • the information processing device 20 has a host controller 1282 including a host controller 1282 having a CPU 1200, a RAM 1220, and a graphic controller 1275, which are connected to each other.
  • An input / output unit having a communication interface 1230, a hard disk drive 1240, and a CD-ROM drive 1260 connected to the I / O controller, and a legacy having a BIOS 1210, a flexible disk drive 1250, and an input / output chip 1270 connected to an input / output controller 1284
  • An input / output unit An input / output unit.
  • the host controller 1282 connects the RAM 1220, the CPU 1200 that accesses the RAM 1220 at a high transfer rate, and the graphic controller 1275.
  • the CPU 1200 operates based on programs stored in the BIOS 1210 and the RAM 1220, and controls each unit.
  • the graphic controller 1275 acquires image data generated by the CPU 1200 or the like on a frame buffer provided in the RAM 1220 and displays the image data on the display device 1280.
  • the graphic controller 1275 may include a frame buffer for storing image data generated by the CPU 1200 or the like.
  • the input / output controller 1284 connects the host controller 1282 to the communication interface 1230, the hard disk drive 1240, and the CD-ROM drive 1260, which are relatively high-speed input / output devices.
  • Communication interface 1230 is connected to an external Communicate with the device.
  • the hard disk drive 1240 stores programs and data used by the information processing device 20.
  • the CD-ROM drive 1260 reads a program or data from the CD-ROM 1295 and provides the program or data to the input / output chip 1270 via the RAM 1220.
  • the input / output controller 1284 is connected to the BIOS 1210 and relatively low-speed input / output devices such as the flexible disk drive 1250 and the input / output chip 1270.
  • the BIOS 1210 stores a boot program executed by the CPU 1200 when the information processing device 20 is started, a program that depends on hardware of the information processing device 20, and the like.
  • the flexible disk drive 1250 reads a program or data from the flexible disk 1290 and provides it to the input / output chip 1270 via the RAM 1220.
  • the input / output chip 1270 connects various input / output devices via a flexible disk 1290 and, for example, a parallel port, a serial port, a keyboard port, a mouse port, and the like.
  • the program provided to the information processing device 20 is stored in a recording medium such as the flexible disk 1290, the CD-ROM 1295, or an IC card and provided by the user.
  • the program is read out from a recording medium via the input / output chip 1270 and / or the input / output controller 1284, installed in the information processing device 20, and executed.
  • the operation that a program (eg, an agent program) installed and executed in the information processing device 20 causes the information processing device 20 to perform is the same as the operation in the information processing device 20 described with reference to FIGS. The description is omitted.
  • the programs described above may be stored in an external storage medium.
  • the storage medium include a flexible disk 1290, a CD-ROM 1295, an optical recording medium such as a DVD and a PD, a magneto-optical recording medium such as an MD, a tape medium, and a semiconductor memory such as an IC card.
  • a storage device such as a node disk or a RAM provided in a server system connected to a dedicated communication network or the Internet may be used as a recording medium, and the program may be provided to the information processing device 20 via the network.
  • the grid computing system 10 sequentially transfers a job execution request for requesting execution of a job to a plurality of information processing apparatuses. Then, the grid computing system 10 executes the job in each information processing device. To determine whether or not the power should be executed by the information processing apparatus. Thereby, the grid computing system 10 can make each information processing device autonomously schedule a job without providing a specific job management server.
  • the information processing device 20 records the transfer count of the job execution request in the job execution request. Then, the information processing device 20 executes the job with a higher probability when the number of times of transfer of the job execution request is larger than when the number of times of transfer is smaller. That is, each time a job execution request is transferred, the job is easily executed. As a result, circulation of job execution requests can be prevented, and jobs can be scheduled appropriately.
  • the information processing apparatus 20 associates each of the plurality of characteristic indices indicating the processing capability of the information processing apparatus with identification information of the information processing apparatus whose index value of the characteristic index satisfies the basic condition. It is stored as a virtual adjacent node of the information processing device 20. If the information processing apparatus 20 receives the job execution request and determines that the job is not to be executed by itself, the information processing apparatus 20 selects the identification information corresponding to the characteristic index indicating the processing capability required for the job. Then, the information processing device 20 transfers the job execution request to the information processing device indicated by any selected identification information. This makes it possible to appropriately and promptly select a transfer destination of the job execution request.
  • FIG. 1 schematically shows a grid computing system 10.
  • FIG. 2 is a functional block diagram of the information processing device 20.
  • FIG. 3 shows an example of a data structure of a connection destination index value storage section 210.
  • FIG. 4 shows an example of a data structure of a condition satisfaction device information storage section 250.
  • FIG. 5 is a functional block diagram of the job execution request generation device 30.
  • FIG. 6 is a flowchart showing a process in which the information processing apparatus 20 transfers or executes a job. It is.
  • FIG. 7 shows details of the processing of S650 in FIG.
  • FIG. 8 shows details of the process of S660 in FIG. 6.
  • FIG. 9 is a flowchart showing a process when the information processing device 20 receives a change notification.
  • FIG. 10 (a) is a flowchart illustrating a process when the information processing apparatus 20 receives an addition instruction from a user.
  • ( b ) is a flowchart showing a process when the information processing device 20 receives additional notification from another information processing device.
  • FIG. 11 is a flowchart showing a process when the job execution request generation device 30 receives an instruction to execute a job from a user.
  • FIG. 12 shows an example of a hardware configuration of an information processing device 20.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Facsimiles In General (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Air Conditioning Control Device (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】グリッドコンピューティングシステムを効率的に運用する。 【解決手段】 複数の情報処理装置を備えたグリッドコンピューティングシステムであって、複数の情報処理装置の各々が、当該情報処理装置の処理能力を示す指標値を格納する自己指標値格納部と、ジョブの実行を要求するジョブ実行要求を取得する要求取得部と、自己指標値格納部に格納された指標値、及び、当該ジョブの処理内容に基づいて、当該ジョブを当該情報処理装置において実行すると判断した場合に、当該ジョブを実行するジョブ実行部と、当該ジョブを当該情報処理装置において実行しないと判断した場合に、当該ジョブ実行要求を、当該情報処理装置に接続する他の情報処理装置に転送する要求送信部とを有するグリッドコンピューティングシステムを提供する。

Description

明 細 書
グリッドコンピューティングシステム、情報処理装置、ジョブ実行要求生成 装置、制御方法、プログラム、及び記録媒体
技術分野
[0001] 本発明は、グリッドコンピューティングシステム、情報処理装置、ジョブ実行要求生 成装置、制御方法、プログラム、及び記録媒体に関する。特に、本発明は、ジョブの 処理内容に応じて適切な情報処理装置にそのジョブを処理させるグリッドコンビユー ティングシステム、情報処理装置、ジョブ実行要求生成装置、制御方法、プログラム、 及び記録媒体に関する。
背景技術
[0002] 近年、複数の情報処理装置をネットワークにより接続し、これらの情報処理装置が 協働して要求されたジョブを実行するグリッドコンピューティングシステムが注目され ている。従来、グリッドコンピューティングシステムにおいて、予め定められたジョブ管 理サーバは、システム内の全ての情報処理装置の状況を管理している。そして、ジョ ブ管理サーバに設けられたスケジューラは、処理能力が余剰している等の所定の条 件を満たす情報処理装置等に、ジョブを実行させる。
[0003] 関連技術として、ネットワーク上で通信経路を探索する技術が提案されて!、る (特許 文献 1及び 2参照。)。
特許文献 1:特開平 7— 66834号公報
特許文献 2:特開 2001— 175560号公報
発明の開示
発明が解決しょうとする課題
[0004] し力しながら、システム内に多数の情報処理装置が存在する場合には、ジョブ管理 サーバは、システム内の全ての情報処理装置を適切に管理できない場合がある。例 えば、近年のネットワーク技術の普及に伴い、互いに異なる組織により管理された複 数の情報処理装置がネットワークにより接続されるようになってきており、各組織で新 たに情報処理装置を追加、又は、ネットワーク力も切り離した場合等に、その旨を適 切に管理するのは容易でない。
[0005] また、各組織が独自にジョブ管理サーバを起動している場合には、様々な不都合 が発生する。例えば、ある情報処理装置の処理能力が余剰している場合には、複数 のジョブ管理サーバは、その情報処理装置にそれぞれジョブを実行させようとする。 このため、その情報処理装置の計算資源の利用が競合し、結果としてジョブの実行 が非効率になる場合がある。また、ジョブ管理サーバが管理する情報処理装置の数 が膨大になると、ジョブ管理サーバの負荷が増大して処理不能に陥る場合もある。
[0006] これに対して、複数のジョブ管理サーバを更に管理する統合的な管理サーバを設 ける解決策が考えられる。しかしながら、複数のジョブ管理サーバが互いに離れて設 置されている場合や、複数のジョブ管理サーバが互いに大きく異なる方法により情報 処理装置を管理する場合には、統合的な管理サーバを設けることは困難である。
[0007] また、上記特許文献 1及び 2は、ある情報処理装置から他の情報処理装置に至る 経路を選択する経路選択を目的としている。このため、通信元及び通信先の各情報 処理装置が予め定まっていることが前提となっている。従って、これらの文献に記載 された技術を、ジョブを何れの情報処理装置にぉ ヽて実行させる力否かを判断する スケジューリング処理に応用することは困難である。
[0008] そこで本発明は、上記の課題を解決することのできるグリッドコンピューティングシス テム、情報処理装置、ジョブ実行要求生成装置、制御方法、プログラム、及び記録媒 体を提供することを目的とする。この目的は特許請求の範囲における独立項に記載 の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例 を規定する。
課題を解決するための手段
[0009] 上記課題を解決するために、本発明の第 1の形態においては、複数の情報処理装 置を備えたグリッドコンピューティングシステムであって、複数の情報処理装置の各々 力 当該情報処理装置の処理能力を示す指標値を格納する自己指標値格納部と、 ジョブの実行を要求するジョブ実行要求を取得する要求取得部と、自己指標値格納 部に格納された指標値、及び、当該ジョブの処理内容に基づいて、当該ジョブを当 該情報処理装置にぉ 、て実行すると判断した場合に、当該ジョブを実行するジョブ 実行部と、当該ジョブを当該情報処理装置において実行しないと判断した場合に、 当該ジョブ実行要求を、当該情報処理装置に接続する他の情報処理装置に転送す る要求送信部とを有するグリッドコンピューティングシステム、グリッドコンビユーティン グが有する情報処理装置、当該情報処理装置を制御する制御方法、当該情報処理 装置を制御するプログラム、及び当該プログラムを記録した記録媒体を提供する。
[0010] なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなぐ これらの特徴群のサブコンビネーションもまた、発明となりうる。
発明の効果
[0011] 本発明によれば、グリッドコンピューティングシステムを効率的に運用できる。
発明を実施するための最良の形態
[0012] 以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請 求の範隨こかかる発明を限定するものではなぐまた実施形態の中で説明されてい る特徴の組み合わせの全てが発明の解決手段に必須であるとは限らな 、。
[0013] 図 1は、グリッドコンピューティングシステム 10の概略を示す。グリッドコンビユーティ ングシステム 10は、複数の情報処理装置を備える。そして、グリッドコンビユーティン グシステム 10は、ジョブの実行を要求するジョブ実行要求を、複数の情報処理装置 に順次転送させる。そして、グリッドコンピューティングシステム 10は、各々の情報処 理装置において、そのジョブをその情報処理装置において実行すべき力否かを判断 させる。このように、グリッドコンピューティングシステム 10は、特定のジョブ管理サー バを設けることなぐ各々の情報処理装置が自律的にジョブをスケジューリングするこ とを目的とする。
[0014] グリッドコンピューティングシステム 10は、ネットワーク 1と、ネットワーク 2と、ネットヮ ーク 3とを備える。ネットワーク 1から 3は、例えば、それぞれ互いに異なる組織により 管理されている。ネットワーク 1は、情報処理装置 20と、情報処理装置 Eと、情報処理 装置 Fと、情報処理装置 Gと、情報処理装置 Hとを有する。ネットワーク 2は、情報処 理装置 Bと、情報処理装置 Cと、情報処理装置 Dとを有する。ネットワーク 3は、情報 処理装置 Aと、情報処理装置 Iと、ジョブ実行要求生成装置 30とを有する。
[0015] ジョブ実行要求生成装置 30は、使用者力もジョブの実行の指示を入力すると、ジョ ブ実行要求を生成し、情報処理装置 A及び情報処理装置 Cに送る。そして、情報処 理装置 Aは、ジョブ実行要求に基づいて、そのジョブを情報処理装置 Aにおいて実 行するか否かを判断する。情報処理装置 Aにお ヽて実行しな ヽと判断した場合には 、情報処理装置 Aは、情報処理装置 20にジョブ実行要求を転送する。なお、グリッド コンピューティングシステム 10は、複数のジョブ実行要求生成装置 30を備えてもよい 。また、ジョブ実行要求生成装置 30は、情報処理装置 20の機能を更に有してもよい 。本実施例では、便宜上、グリッドコンピューティングシステム 10が、 1つのジョブ実行 要求生成装置 30を有し、ジョブ実行要求生成装置 30が、情報処理装置 20の機能を 有して!/、な!/、場合につ!、て説明する。
[0016] 情報処理装置 20は、情報処理装置の互いに異なる処理能力を示す指標の各々に 対応付けて、その指標が示す処理能力が予め定められた基本条件を満たす情報処 理装置の識別情報を予め格納している。例えば本図において、情報処理装置 20に 接続する情報処理装置のうち、 CPUの動作周波数が所定以上の情報処理装置へ の接続を、点線で示す。また、メモリの容量が所定以上の情報処理装置への接続を 、実線で示す。
[0017] 情報処理装置 20は、ジョブ実行要求を情報処理装置 Aから取得すると、そのジョブ を情報処理装置 20にお ヽて実行するべきカゝ否かを判断する。実行するべきでな!/ヽと 判断した場合に、情報処理装置 20は、ジョブの処理内容に基づいて、例えば CPU の動作周波数が所定以上の情報処理装置を選択し、その中から予め定められた条 件を満たす情報処理装置を、ジョブ実行要求の転送先として選択する。例えば、情 報処理装置 20は、情報処理装置 B、 D、 E、 G、及び Iの中から情報処理装置 Bを選 択し、情報処理装置 Bにジョブ実行要求を転送する。情報処理装置 Bは、ジョブ実行 要求を転送すべきでな 、と判断し、そのジョブを実行する。
[0018] このように、本実施例におけるグリッドコンピューティングシステム 10によれば、特定 のジョブ管理サーバを設けることなぐ各々の情報処理装置が、ジョブを実行するべ き情報処理装置を自律的に選択することができる。更に、本実施例における情報処 理装置 20は、互いに異なる処理能力に対応付けて、転送先の候補となる情報処理 装置の識別情報の組を格納して 、るので、要求されたジョブの適切な転送先を迅速 に決定することができる。
[0019] なお、本実施例における情報処理装置 Aから Iの各々は、情報処理装置 20と略同 一の構成をとる。そこで、以降の実施例においては、情報処理装置 20について説明 する。
[0020] 図 2は、情報処理装置 20の機能ブロック図である。情報処理装置 20は、自己指標 値格納部 200と、接続先指標値格納部 210と、要求取得部 220と、ジョブ履歴格納 部 230と、ジョブ実行部 240と、条件充足装置情報格納部 250と、条件充足装置選 択部 260と、要求送信部 270と、指標値追加部 280とを有する。自己指標値格納部 2 00は、情報処理装置 20の処理能力を示す指標値を格納する。
[0021] 接続先指標値格納部 210は、情報処理装置 20に接続する複数の情報処理装置 の各々に対応付けて、その情報処理装置の処理能力を示す指標値を格納する。ま た、接続先指標値格納部 210は、情報処理装置 20に接続する他の情報処理装置か ら、当該他の情報処理装置の処理能力を示す指標値の変更を通知する変更通知を 受信した場合に、その変更通知に基づいて、格納している指標値を変更する。例え ば、接続先指標値格納部 210は、格納している指標値を、その指標値と比較してより 処理能力が低 、旨を示す指標値に変更する。
[0022] ここで、情報処理装置 20に接続する情報処理装置とは、例えば、ルータを中継す ることなく情報処理装置 20と通信する情報処理装置をいう。これに代えて、情報処理 装置 20に接続する情報処理装置とは、予め定められた数以内のルータを中継して 情報処理装置 20と通信する情報処理装置であってもよい。更に他の例として、情報 処理装置 20に接続する情報処理装置は、使用者により予め定められてもよい。
[0023] 要求取得部 220は、ジョブ実行要求を情報処理装置 Aから取得する。ジョブ実行要 求は、例えば、ジョブ実行要求を生成したジョブ実行要求生成装置 30の識別情報と 、ジョブの実行に要する処理能力を示す指標と、ジョブを実行するために情報処理装 置が満たすべき条件の判断基準と、ジョブを実行した場合にその指標が変化する変 化量と、ジョブが要求された日時と、ジョブの識別情報とを含む。
[0024] ジョブ履歴格納部 230は、要求取得部 220が取得したジョブ実行要求の識別情報 の履歴を格納する。そして、要求取得部 220は、取得したジョブの実行要求の識別 情報が、ジョブ履歴格納部 230に格納された履歴に含まれる場合に、ジョブの転送 元である情報処理装置 Aにジョブ実行要求を返送する。これにより、ジョブの実行要 求が循環して転送されることを防止できる。なお、ジョブ履歴格納部 230は、ジョブ実 行要求の識別情報を、そのジョブ実行要求を取得した日時に対応付けて格納し、取 得してカゝら所定期間が経過した場合に、その識別情報を削除してもよい。
[0025] ジョブ実行部 240は、自己指標値格納部 200に格納された指標値、及び、ジョブ実 行要求により要求されるジョブの処理内容に基づいて、そのジョブを情報処理装置 2 0において実行するか否かを判断する。これに加えて、ジョブ実行部 240は、接続先 指標値格納部 210に格納された指標値に更に基づ 、て、そのジョブを実行するか否 かを判断してもよい。また、ジョブ実行部 240は、要求送信部 270がジョブ実行要求 の返送を受けた場合にも、そのジョブを実行すると判断する。
[0026] そして、ジョブ実行部 240は、そのジョブを実行すると判断した場合に、ジョブを実 行する旨を通知する実行通知をジョブ実行要求生成装置 30に送信する。そして、ジ ヨブ実行部 240は、ジョブを実行するために要するデータ等をジョブ実行要求生成装 置 30から受けとつて、そのジョブの実行を開始する。そしてこの場合、ジョブ実行部 2 40は、ジョブの実行に伴って自己指標値格納部 200の指標値を変更する。更に、ジ ヨブ実行部 240は、情報処理装置 20の処理能力を示す指標値を変更する変更通知 を、情報処理装置 A〜Iに送信する。
[0027] 更に、ジョブ実行部 240は、情報処理装置 20がネットワークに新たに接続した場合 に、新たに接続する旨の情報と共に、情報処理装置 20の処理能力を示す指標値を 、変更通知として情報処理装置 A〜Iに送信してもよい。一方、ジョブ実行部 240は、 情報処理装置 20がネットワーク力も切り離される場合に、ネットワーク力も切り離され る旨の情報と共に、情報処理装置 20の処理能力を示す指標値を、変更通知として 情報処理装置 A〜Iに送信してもよ ヽ。
[0028] 条件充足装置情報格納部 250は、情報処理装置の互いに異なる処理能力を示す 複数の指標の各々に対応付けて、情報処理装置 20に接続する複数の情報処理装 置のうち、その指標が示す処理能力が予め定められた基本条件を満たす情報処理 装置の識別情報を格納する。例えば、条件充足装置情報格納部 250は、 CPUの動 作周波数を示す指標に対応付けて、情報処理装置 20に接続する情報処理装置のう ち、 CPUの動作周波数が 1GHz以上の情報処理装置の識別情報を格納する。
[0029] 条件充足装置選択部 260は、ジョブ実行要求が要求するジョブの処理内容に基づ いて、そのジョブに要する処理能力を示す指標に対応する識別情報を、条件充足装 置情報格納部 250から選択する。要求送信部 270は、ジョブを情報処理装置 20に おいて実行しないと判断した場合に、条件充足装置選択部 260により選択された識 別情報の示す情報処理装置の何れかに、そのジョブ実行要求を転送する。
[0030] 例えば、要求送信部 270は、条件充足装置選択部 260により選択された識別情報 の示す情報処理装置の指標値を接続先指標値格納部 210から選択する。そして、 要求送信部 270は、選択したこれらの指標値うち予め定められた条件を満たす指標 値を選択し、その指標値に対応する情報処理装置にジョブ実行要求を転送する。例 えば、要求送信部 270は、 CPU使用率が所定以下の情報処理装置にジョブ実行要 求を転送してもよい。また、要求送信部 270は、ジョブ実行要求の転送先から、ジョブ 実行要求の返送を受けた場合には、要求取得部 220を経由してその旨をジョブ実行 部 240に通知する。
[0031] 指標値追加部 280は、情報処理装置の処理能力を示す他の指標を追加する追加 指示を使用者から受けた場合に、その指標の指標値の算出方法、及び、条件充足 装置情報格納部 250に識別情報を格納させるためにその指標値が満たすべき基本 条件を、他の情報処理装置に通知する。この通知を追加通知と呼ぶ。また、指標値 追加部 280は、情報処理装置 20についてのその指標の指標値を自己指標値格納 部 200に算出させ、格納させる。また、指標値追加部 280は、その指標値が満たす べき基本条件を条件充足装置情報格納部 250に設定する。
[0032] 図 3は、接続先指標値格納部 210のデータ構造の一例を示す。接続先指標値格 納部 210は、情報処理装置 20に接続する複数の情報処理装置の各々に対応付け て、その情報処理装置の処理能力を示す指標値として、その情報処理装置に設けら れたデバイス又はその情報処理装置にインストールされたソフトウェアの特性を示す 特性指標の指標を格納する。具体的には、接続先指標値格納部 210は、各情報処 理装置の識別情報 (ID)に対応付けて、その情報処理装置の特性指標として、その 情報処理装置の CPUの動作周波数と、その情報処理装置のメモリの容量と、その情 報処理装置にインストールされた OSの種類とを格納する。
[0033] 更に、接続先指標値格納部 210は、その情報処理装置の処理能力を示す指標値 として、その情報処理装置が処理中のジョブの処理負荷を示す負荷指標の指標値を 格納する。具体的には、接続先指標値格納部 210は、各情報処理装置の識別情報 (ID)に対応付けて、その情報処理装置の負荷指標として、その情報処理装置の CP U使用率と、その情報処理装置のメモリ使用率とを格納する。
[0034] 一例として、情報処理装置 Aの CPU動作周波数は、 1. 6GHzであり、メモリ容量を
64MB (バイト)であり、オペレーティングシステム(OS)の種類は Xである。そして、 C
PU使用率は、 90%であり、メモリ使用率は 80%である。この例に加えて、特性指標 とは、 CPUの種類を示す指標であってもよいし、ハードディスクドライブの容量'速度 を示す指標であってもよい。また、この例に加えて、負荷指標とは、ハードディスクドラ イブの空き容量を示す指標であってもよ 、。
[0035] このように、本実施例における情報処理装置の処理能力とは、静的であり変化しな い能力、例えば情報処理装置の性能であってもよいし、動的に変化する能力、例え ば情報処理装置の余剰計算力であってもよ 、。
[0036] 図 4は、条件充足装置情報格納部 250のデータ構造の一例を示す。条件充足装 置情報格納部 250は、特性指標の各々に対応付けて、特性指標の示す処理能力が 基本条件を満たす情報処理装置の識別情報を格納する。例えば、条件充足装置情 報格納部 250は、 CPUの動作周波数が 1GHz以上である旨の基本条件を満たす情 報処理装置の識別情報として、 A、 B、 D、 E、 G、及び Iを格納する。また、条件充足 装置情報格納部 250は、メモリの容量が 128MB以上である旨の基本条件を満たす 情報処理装置の識別情報として、 C、 F、 H、及び Iを格納する。さらに、条件充足装 置情報格納部 250は、 OSの種類が Xである旨の基本条件を満たす情報処理装置の 識別情報として、 A、 B、 D、 F、 H、及び Iを格納する。
[0037] このように、基本条件とは、例えば、 CPU等のデバイスが所定の基準以上の性能を 有する旨の条件であってもよいし、デバイス又はソフトウェアが所定の種類である旨の 条件であってもよい。更に、条件充足装置情報格納部 250は、これらの複数の条件 を満たす同一の情報処理装置については、その情報処理装置の識別情報を、複数 の指標の各々に対応付けて格納してもよい。即ち、条件充足装置情報格納部 250は 、情報処理装置 Iの識別情報 Iを、 CPUの動作周波数、メモリの容量、及び OSの種 類を示す各指標に対応付けて格納してもよい。
[0038] 以降の説明にお 、て、情報処理装置 A、 B、 D、 E、 G、及び Iを、 CPU動作周波数 についての仮想隣接ノードと呼ぶ。同様に、情報処理装置 C、 F、 H、及び Iを、メモリ 容量についての仮想隣接ノードと呼ぶ。同様に、情報処理装置 A、 B、 D、 F、 H、及 び Iを、 OSについての仮想隣接ノードと呼ぶ。
[0039] 図 5は、ジョブ実行要求生成装置 30の機能ブロック図である。ジョブ実行要求生成 装置 30は、ジョブ実行要求送信部 300と、ジョブ実行指示部 310とを有する。ジョブ 実行要求送信部 300は、使用者カゝらジョブの実行を指示された場合に、そのジョブ の実行を要求するジョブ実行要求を生成する。そして、ジョブ実行要求送信部 300は 、生成したそのジョブ実行要求を、 2以上の情報処理装置、例えば、情報処理装置 A 及び Cの各々に送信する。
[0040] この際、ジョブ実行要求送信部 300は、ジョブ実行要求を生成したジョブ実行要求 生成装置 30の識別情報と、そのジョブを実行した場合に使用される計算資源の量の 予測値とを、ジョブ実行要求に含めて送信する。ここで、使用される計算資源の量の 予測値とは、例えば、そのジョブが占有するメモリのサイズの予測値である。この予測 値は、ジョブの実行を指示する使用者力 入力されてもよいし、ジョブの一部の実行 を試行することにより定められてもよい。
[0041] なお、このジョブ実行要求は、ジョブを実際に実行するためのデータ等を含まな!/、。
即ち、ジョブ実行要求は、ジョブを実行可能な情報処理装置を探索するために、ダリ ッドコンピューティングシステム 10における何れかの情報処理装置に投入される。ここ で、情報処理装置 Aに送信されたジョブ実行要求は、情報処理装置 Bに転送され、 情報処理装置 Bは、そのジョブを実行すると判断したと仮定する。また、情報処理装 置 Cに送信されたジョブ実行要求は転送されずに、情報処理装置 Cは、そのジョブを 実行すると判断したと仮定する。
[0042] ジョブ実行指示部 310は、送信したそのジョブ実行要求に対して、そのジョブを実 行する旨の通知である実行通知を、情報処理装置 B及び Cの各々から受信する。ジ ヨブ実行指示部 310は、これらの実行通知の送信元である複数の情報処理装置のう ち、予め定められた条件を満たす情報処理装置を選択する。例えば、ジョブ実行指 示部 310は、情報処理装置 B及び Cから実行通知を受け取った場合に、 CPU使用 率が 30%以下である旨の条件を満たす情報処理装置 Bを選択する。
[0043] 次に、ジョブ実行指示部 310は、選択した情報処理装置 Bにジョブを実行させる。
例えば、ジョブ実行指示部 310は、ジョブの実行に必要なプログラム及びデータを情 報処理装置 Bに送信してもよ ヽ。
このように、ジョブ実行要求生成装置 30は、複数の実行通知を受信した場合には、 ジョブの実行に適した 1つの情報処理装置を選択して、その情報処理装置にジョブを 実行させることができる。
[0044] 図 6は、情報処理装置 20がジョブを転送又は実行する処理を示すフローチャートで ある。要求取得部 220は、情報処理装置 Aからジョブ実行要求を取得する(S600)。 そして、要求取得部 220は、そのジョブ実行要求を過去に既に取得したカゝ否かを判 断する(S610)。過去に既に取得した場合に、(S610 : YES)、要求取得部 220は、 ジョブの転送元 (例えば、情報処理装置 A)に、ジョブ実行要求を返送する(S620)。 ここで、転送元の情報処理装置とは、ジョブ実行要求を直接受け取った受け取り先の 情報処理装置をいう。例えば、本例において、情報処理装置 20における転送元は 情報処理装置 Aである。また、情報処理装置 Aにおける転送元はジョブ実行要求生 成装置 30である。これに代えて、要求取得部 220は、ジョブ実行要求を、ジョブ実行 要求生成装置 30に返送してもよ 、。
[0045] 具体的には、要求取得部 220は、以下の何れかの方法により、ジョブ実行要求を過 去に既に取得した力否かを判断する。第 1の例として、要求取得部 220は、ジョブ履 歴格納部 230に格納された履歴にジョブ実行要求の識別情報が含まれる場合に、ジ ヨブ実行要求を過去に既に取得したと判断する。第 2の例として、要求取得部 220は 、ジョブ実行要求を過去に転送した情報処理装置の識別情報であるジョブ転送履歴 情報を、ジョブ実行要求に含めて取得した場合においては、そのジョブ転送履歴情 報に、情報処理装置 20の識別情報が含まれる場合に、ジョブ実行要求を過去に既 に取得したと判断する。
[0046] なお、これに代えて、要求取得部 220は、ジョブ実行要求が過去に既に転送された 転送回数が予め定められた基準回数以上である場合に、ジョブ実行要求の転送元 の情報処理装置に、ジョブ実行要求を返送してもよい。具体的には、ジョブ実行要求 には、そのジョブ実行要求が転送された回数を示す転送回数情報が含まれており、 要求取得部 220は、その転送回数情報が基準回数以上の転送回数を示す場合に、 ジョブ実行要求の転送元の情報処理装置に、ジョブ実行要求を返送する。
[0047] 一方、ジョブ実行要求を過去に既に取得していなかった場合に(S610 :NO)、ジョ ブ実行部 240は、ジョブの処理内容を解析する(S630)。例えば、ジョブ実行部 240 は、ジョブ実行要求から、そのジョブの実行に要する処理能力を示す特性指標を取 得することにより、そのジョブの処理内容を解析してもよい。そして、ジョブ実行部 240 は、自己指標値格納部 200に格納された指標値、及び、そのジョブの処理内容に基 づいて、そのジョブを情報処理装置 20において実行する力否かを判断する(S640) 。例えば、ジョブ実行部 240は、以下の式(1)を満たす場合に、そのジョブを情報処 理装置 20において実行すると判断する。
[0048] [数 1]
I target - efficiency \≤ ― · · · (1)
1
exp(threshold - counter) ここで、変数 thresholdは、ジョブを実行する情報処理装置が決定されるまでに、そ の
ジョブ実行要求を転送する転送回数の上限値を示す。また、変数 targetは、そのジョ ブに要する処理能力を示す指標値である。また、変数 efficiencyは、自己指標値格納 部 200に格納されている指標値を示す。また、変数 counterは、そのジョブ実行要求 の転送回数
を示す。また、変数 alphaは、使用者により任意に設定される定数である。
[0049] この式から明らかなように、ジョブ実行部 240は、自己指標値格納部 200に格納さ れた指標値が、ジョブに要する処理能力より高い処理能力を示す場合に、そのジョブ を情報処理装置 20において実行すると判断する。そして、ジョブ実行部 240は、自 己指標値格納部 200に格納された指標値が、ジョブに要する処理能力より低!、処理 能力を示した場合であっても、その指標値と、ジョブに要する処理能力を示す指標値 との差が、予め定められた基準差分値以内である場合に、そのジョブを情報処理装 置 20において実行すると判断する。
[0050] 更に、ジョブ実行部 240は、ジョブ実行要求が既に他の情報処理装置により転送さ れた累積回数がより多い場合に、その累積回数がより少ない場合と比較して、上記 基準差分値をより大きい値に設定する。即ち、転送回数がより大きい場合には、ジョ ブが実行される可能性がより高まる。これにより、ジョブを実行する情報処理装置を探 索する探索域の発散を防止できる。
[0051] なお、この例に代えて、ジョブ実行部 240は、複数の指標値の組に基づ!/、て、ジョ ブを情報処理装置 20において実行するか否かを判断してもよい。更に他の例として 、ジョブ実行部 240は、情報処理装置 20に接続している情報処理装置 A〜Iの指標 値にさらに基づいて、ジョブを情報処理装置 20において実行するか否かを判断して もよい。一例として、ジョブ実行部 240は、自己指標値格納部 200に格納された指標 値が、接続先指標値格納部 210に格納された何れの指標値と比較しても、より高い 処理能力を示す場合に、そのジョブを情報処理装置 20において実行すると判断して ちょい。
[0052] 続、て、ジョブ実行部 240は、ジョブを情報処理装置 20にお 、て実行すると判断し た場合に(S640 :YES)、そのジョブを実行する(S650)。一方、ジョブを情報処理装 置 20において実行しないと判断した場合に、要求送信部 270は、ジョブ実行要求を 転送する(S660)。
[0053] 図 7は、図 6の S650の処理の詳細を示す。ジョブ実行部 240は、要求されたジョブ を情報処理装置 20において実行すると判断した場合に、そのジョブ実行要求を生成 したジョブ実行要求生成装置 30に、実行通知を送信する(S700)。そして、ジョブ実 行部 240は、そのジョブを実行した場合に指標値が変化する変化量の予測値を、ジ ヨブ実行要求から取得し、その予測値に基づいて指標値を変更する(S710)。例え ば、ジョブ実行部 240は、 CPUの使用率を示す指標値を、 CPUの使用率が 100% である旨の指標値に変更する。
[0054] これにより、情報処理装置 20は、他のジョブ実行要求の転送を受けにくくすることが できる。即ち、複数のジョブ実行要求による資源の獲得を適切に調停できる。また、こ の方法によれば、情報処理装置 20に一切のジョブ実行要求を受け付けさせな 、ロッ ク機構と比較して、ジョブのスケジューリングを柔軟に行わせることができる。
[0055] そして、ジョブ実行部 240は、情報処理装置 20の処理能力を示す指標値を変更す る変更通知を、情報処理装置 A〜Iに送信する(S 720)。ジョブ実行部 240は、実行 通知に対応するジョブをジョブ実行要求生成装置 30から受信した場合に(S 730: Y ES)、指標値の変更を元に戻す (S740)。そして、ジョブ実行部 240は、受信したジョ ブを実行する(S750)。この場合、自己指標値格納部 200は、ジョブを実行すること により変化する処理能力に基づいて、格納している指標値を、その指標値と比較して 情報処理装置の処理能力が低!、旨を示す指標値に変更する。
[0056] ジョブ実行部 240は、情報処理装置 20の処理能力を示す指標値を変更する変更 通知を、情報処理装置 A〜Iに送信する(S760)。この場合、ジョブ実行部 240は、こ の変更通知に、実行するジョブの識別情報を含めて送信してもよい。そして、ジョブ 実行部 240は、ジョブの実行を終えた場合に、実行結果をジョブ実行要求生成装置 30に返送する(S770)。
[0057] なお、本図の例に加えて、情報処理装置 20が新たにグリッドコンピューティングシス テム 10に接続した場合においても、ジョブ実行部 240は、情報処理装置 20の指標 値を算出し、算出したその指標値を他の情報処理装置の通知するべぐその指標値 を示す変更通知を送信してもよい。同様に、情報処理装置 20がグリッドコンビユーテ イングシステム 10との接続を停止する場合においても、ジョブ実行部 240は、情報処 理装置 20の指標値を削除する旨を、変更通知として送信してもよ!/、。
[0058] 図 8は、図 6の S660の処理の詳細を示す。条件充足装置選択部 260は、ジョブの 処理内容に基づいて、そのジョブに要する処理能力を示す特性指標に対応する識 別情報を、条件充足装置情報格納部 250から選択する(S800)。例えば、条件充足 装置選択部 260は、ジョブに要する処理能力が主に CPUの演算能力である場合に 、 CPU動作周波数についての仮想隣接ノードを選択する。そして、要求送信部 270 は、条件充足装置選択部 260により選択された仮想隣接ノードのうち、負荷指標の 指標値が予め定められた条件を満たす情報処理装置を選択する(S810)。この結果 、例えば、要求送信部 270は、情報処理装置 Bを選択する。
[0059] 要求送信部 270は、ジョブ実行要求が転送された回数を示す転送回数情報に、 1 を加える(S820)。そして、要求送信部 270は、転送回数情報をジョブ実行要求に含 めて、情報処理装置 Bに送信する(S830)。これに加えて、要求送信部 270は、情報 処理装置 20の識別情報を、ジョブ実行要求を転送した情報処理装置の履歴を示す 履歴情報として、そのジョブ実行要求に含めて転送してもよい。
[0060] ここで、要求送信部 270が送信したジョブ実行要求が、情報処理装置 Bから返送さ れた場合には、ジョブ実行部 240は、そのジョブ実行要求に対応するジョブを実行し てもよい。これにより、ジョブ実行要求の循環を防止すると共に、循環が起こらない範 囲内でジョブの実行に適した情報処理装置を探索できる。
[0061] 図 9は、情報処理装置 20が変更通知を受信した場合の処理を示すフローチャート である。本図において、情報処理装置 20と異なる他の情報処理装置があるジョブを 実行した結果、その情報処理装置の指標値が変更された場合の処理を説明する。 接続先指標値格納部 210は、指標値を変更させる原因となったジョブの識別情報を 、変更通知に含めて受信すると、その変更通知を過去に既に受信しているか否かを 判断する(S900)。過去に既に受信していた場合に(S900 : YES)、情報処理装置 2 0は、処理を終了する。
[0062] 一方、その変更通知を初めて受信した場合に(S900 : NO)、接続先指標値格納部 210は、ジョブを実行するその情報処理装置に対応付けて格納して 、る指標値を、 その指標値と比較して情報処理装置の処理能力が低い旨を示す指標値に変更する (S910)。
[0063] 続 、て、自己指標値格納部 200は、情報処理装置 20の指標値の変更が必要か否 かを判断する(S920)。例えば、自己指標値格納部 200は、情報処理装置 20に接 続される情報処理装置 A〜Iにおける処理能力に基づく指標値を更に格納して!/、る 場合には、指標値の変更が必要と判断する。一例としては、自己指標値格納部 200 は、情報処理装置 20に接続する情報処理装置 A〜Iにおける CPU動作周波数の平 均値を、 1つの指標値として格納している場合には、その平均値の変更が必要と判断 する。
[0064] 指標値の変更が不要な場合には(S920 :NO)、情報処理装置 20は、処理を終了 する。一方、自己指標値格納部 200は、指標値の変更が必要と判断した場合に (S9 20 : YES)、受け取った変更通知に基づいて、格納している指標値を変更する(S93 0)。そして、自己指標値格納部 200は、指標値の変更を通知する変更通知に、その ジョブの識別情報を含めて、情報処理装置 20に接続された情報処理装置 A〜Iに更 に送信する(S940)。
[0065] このように、何れかの情報処理装置において指標値が変更された場合に、各々の 情報処理装置は、互いに変更通知を交換することにより自己の指標値を適切に更新 することができる。
[0066] 図 10 (a)は、情報処理装置 20が使用者から追加指示を受けた場合の処理を示す フローチャートである。指標値追加部 280は、情報処理装置の処理能力を示す他の 指標を追加する追加指示を使用者力 受けた場合に、その追加指示に基づく指標 値を自己指標値格納部 200に格納させる(S 1000)。
[0067] 例えば、指標値追加部 280は、その指標の指標値の算出方法、及び、条件充足装 置情報格納部 250に識別情報を格納させるためにその指標値が満たすべき基本条 件を、追加指示として使用者力も受け取る。そして、指標値追加部 280は、その算出 方法を自己指標値格納部 200に通知し、自己指標値格納部 200により指標値を算 出させて格納させる。これに加えて、指標値追加部 280は、その指標の定義及び名 称を受け取ってもよい。この場合、指標値追加部 280は、その定義及び名称を自己 指標値格納部 200に更に格納させてもょ 、。
[0068] 自己指標値格納部 200は、情報処理装置 20に接続して 、る情報処理装置 A〜Iに 、その指標値を新たに算出した旨を通知する変更通知を送信する(S1010)。次に、 指標値追加部 280は、その基本条件を条件充足装置情報格納部 250に設定する( S1020)。そして、指標値追加部 280は、新たな指標値を追加する旨を通知する追 加通知として、その指標の算出方法、定義、及び名称、並びに基本条件を、他の全 ての情報処理装置に送信する(S1030)。 [0069] 図 10 (b)は、情報処理装置 20が他の情報処理装置から追加通知を受けた場合の 処理を示すフローチャートである。指標値追加部 280は、基本条件を含む追加通知 を他の情報処理装置から受信する。そして、指標値追加部 280は、追加通知に含め て受信した基本条件に基づ!/、て、情報処理装置 20に接続する他の情報処理装置の うち、指標値がその基本条件を満たす情報処理装置を検出する(S1040)。
[0070] 例えば、指標値追加部 280は、情報処理装置 20に接続する他の情報処理装置の 指標値を、接続先指標値格納部 210から受信して、受信したその指標値が基本条件 を満たす力否かを判断してもよい。そして、指標値追加部 280は、検出した情報処理 装置の識別情報を、追加するその指標に対応付けて条件充足装置情報格納部 250 に格納する(S 1050)。
[0071] 以上、図 10 (a)及び (b)に示すように、使用者は、 1つの情報処理装置に追加指示 を入力することにより、グリッドコンピューティングシステム 10内の複数の情報処理装 置の各々に指標値を追加させることができる。
[0072] 図 11は、ジョブ実行要求生成装置 30が、ジョブを実行する指示を使用者力 受け た場合の処理を示すフローチャートである。ジョブ実行要求送信部 300は、ジョブ実 行要求を生成し、生成したそのジョブ実行要求を情報処理装置 A及び Cに送信する( S1100)。好ましくは、ジョブ実行要求送信部 300は、そのジョブ実行要求により実行 が要求されるジョブの識別情報を生成し、その識別情報をジョブ実行要求に含めて 送信する。例えば、ジョブ実行要求送信部 300は、ジョブ実行要求の生成時刻、及 び、そのジョブ実行要求の送信先の情報処理装置を識別する識別情報に基づ!/、て 、そのジョブの識別情報を生成してもよい。
[0073] そして、ジョブ実行要求送信部 300は、ジョブ実行要求の返送を受けた力否かを判 断する(S1105)。ジョブ実行要求の返送を受けた場合には(S1105 :YES)、ジョブ 実行要求送信部 300は、 S1100に処理を戻すことにより、情報処理装置 A及びじと は異なる他の情報処理装置にジョブ実行要求を送信する。
[0074] ジョブ実行要求の返送を受けていない場合には(S 1105 : NO)、ジョブ実行要求生 成装置 30は、ジョブ実行要求を送信してから、予め定められた基準期間が経過した か否かを判断する(S 1110)。基準期間が経過した場合に(S1110 :YES)、ジョブ実 行指示部 310は、その基準期間内に受け取った複数の通知の送信元である複数の 情報処理装置のうち、最も処理能力が高い情報処理装置を選択する(S 1120)。そ して、ジョブ実行指示部 310は、選択したその情報処理装置に、ジョブの実行に必要 なプログラム及びデータ等を送信する(S 1130)。
[0075] これに代えて、ジョブ実行指示部 310は、複数の実行通知を受け取った場合に、最 も早くその実行通知をジョブ実行要求生成装置 30に到達させた情報処理装置を選 択して、選択したその情報処理装置にジョブを実行させてもよい。更に、ジョブ実行 指示部 310は、ジョブ実行要求を送信してから実行通知を受け取るまでに要する時 間、及び、実行通知の送信元である情報処理装置の処理能力の組み合わせに基づ く任意のポリシーにより、何れの情報処理装置にジョブを実行させるか判断してもよい
[0076] 図 12は、情報処理装置 20のハードウェア構成の一例を示す。情報処理装置 20は 、ホス卜 =3ン卜ローラ 1282【こよりネ目互【こ接続される CPU1200、 RAM 1220,及びグラ フィックコントローラ 1275を有する CPU周辺部と、入出力コントローラ 1284によりホス トコントローラ 1282に接続される通信インターフェイス 1230、ハードディスクドライブ 1 240、及び CD— ROMドライブ 1260を有する入出力部と、入出力コントローラ 1284 に接続される BIOS1210、フレキシブルディスクドライブ 1250、及び入出力チップ 1 270を有するレガシー入出力部とを備える。
[0077] ホストコントローラ 1282は、 RAM1220と、高い転送レートで RAM1220をアクセス する CPU1200及びグラフィックコントローラ 1275とを接続する。 CPU1200は、 BIO S1210及び RAM1220に格納されたプログラムに基づいて動作し、各部の制御を 行う。グラフィックコントローラ 1275は、 CPU 1200等が RAM 1220内に設けたフレ ームバッファ上に生成する画像データを取得し、表示装置 1280上に表示させる。こ れに代えて、グラフィックコントローラ 1275は、 CPU1200等が生成する画像データ を格納するフレームバッファを、内部に含んでもよい。
[0078] 入出力コントローラ 1284は、ホストコントローラ 1282と、比較的高速な入出力装置 である通信インターフェイス 1230、ハードディスクドライブ 1240、及び CD— ROMド ライブ 1260を接続する。通信インターフェイス 1230は、ネットワークを介して外部の 装置と通信する。ハードディスクドライブ 1240は、情報処理装置 20が使用するプロ グラム及びデータを格納する。 CD— ROMドライブ 1260は、 CD—ROM1295から プログラム又はデータを読み取り、 RAM1220を介して入出力チップ 1270に提供す る。
[0079] また、入出力コントローラ 1284〖こは、 BIOS1210と、フレキシブルディスクドライブ 1 250や入出力チップ 1270等の比較的低速な入出力装置とが接続される。 BIOS 12 10は、情報処理装置 20の起動時に CPU1200が実行するブートプログラムや、情 報処理装置 20のハードウェアに依存するプログラム等を格納する。フレキシブルディ スクドライブ 1250は、フレキシブルディスク 1290からプログラム又はデータを読み取 り、 RAM1220を介して入出力チップ 1270に提供する。入出力チップ 1270は、フレ キシブルディスク 1290や、例えばパラレルポート、シリアルポート、キーボードポート 、マウスポート等を介して各種の入出力装置を接続する。
[0080] 情報処理装置 20に提供されるプログラムは、フレキシブルディスク 1290、 CD— R OM1295、又は ICカード等の記録媒体に格納されて利用者によって提供される。プ ログラムは、入出力チップ 1270及び/又は入出力コントローラ 1284を介して、 記録媒体カゝら読み出され情報処理装置 20にインストールされて実行される。情報処 理装置 20にインストールされて実行されるプログラム(例えばエージェントプログラム) が情報処理装置 20に働きかけて行わせる動作は、図 1から図 11において説明した 情報処理装置 20における動作と同一であるから、説明を省略する。
[0081] 以上に示したプログラムは、外部の記憶媒体に格納されてもよい。記憶媒体として は、フレキシブルディスク 1290、 CD— ROM1295の他〖こ、 DVDや PD等の光学記 録媒体、 MD等の光磁気記録媒体、テープ媒体、 ICカード等の半導体メモリ等を用 いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシ ステムに設けたノヽードディスク又は RAM等の記憶装置を記録媒体として使用し、ネ ットワークを介してプログラムを情報処理装置 20に提供してもよい。
[0082] 以上の実施例で説明したように、グリッドコンピューティングシステム 10は、ジョブの 実行を要求するジョブ実行要求を、複数の情報処理装置に順次転送させる。そして 、グリッドコンピューティングシステム 10は、各々の情報処理装置において、そのジョ ブをその情報処理装置において実行すべき力否かを判断させる。これにより、グリッド コンピューティングシステム 10は、特定のジョブ管理サーバを設けることなぐ各々の 情報処理装置に自律的にジョブをスケジューリングさせることができる。
[0083] 更に、情報処理装置 20は、ジョブ実行要求の転送回数を、ジョブ実行要求内に記 録する。そして、情報処理装置 20は、ジョブ実行要求の転送回数がより多い場合に、 より少ない場合と比較して高い確率でジョブを実行する。即ち、ジョブ実行要求が転 送される毎に、そのジョブが実行されやすくなる。これにより、ジョブ実行要求の循環 を防止して、ジョブを適切にスケジューリングさせることができる。
[0084] また、情報処理装置 20は、情報処理装置の処理能力を示す複数の特性指標の各 々に対応付けて、その特性指標の指標値が基本条件を満たす情報処理装置の識別 情報を、情報処理装置 20の仮想隣接ノードとして格納する。そして、情報処理装置 2 0は、ジョブ実行要求を受け取ってそのジョブを自己で実行しないと判断した場合に は、ジョブに要する処理能力を示す特性指標に対応する識別情報を選択する。そし て、情報処理装置 20は、選択した何れかの識別情報が示す情報処理装置にそのジ ヨブ実行要求を転送する。これにより、ジョブ実行要求の転送先を適切かつ迅速に選 択することができる。
[0085] 以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実 施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または 改良を加えることが可能であることが当業者に明らかである。その様な変更または改 良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載 力 明らかである。
図面の簡単な説明
[0086] [図 1]図 1は、グリッドコンピューティングシステム 10の概略を示す。
[図 2]図 2は、情報処理装置 20の機能ブロック図である。
[図 3]図 3は、接続先指標値格納部 210のデータ構造の一例を示す。
[図 4]図 4は、条件充足装置情報格納部 250のデータ構造の一例を示す。
[図 5]図 5は、ジョブ実行要求生成装置 30の機能ブロック図である。
[図 6]図 6は、情報処理装置 20がジョブを転送又は実行する処理を示すフローチヤ一 トである。
[図 7]図 7は、図 6の S650の処理の詳細を示す。
[図 8]図 8は、図 6の S660の処理の詳細を示す。
圆 9]図 9は、情報処理装置 20が変更通知を受信した場合の処理を示すフローチヤ ートである。
[図 10] (a)は、情報処理装置 20が使用者から追加指示を受けた場合の処理を示す フローチャートである。 (b)は、情報処理装置 20が他の情報処理装置から追加通 知を受けた場合の処理を示すフローチャートである。
[図 11]図 11は、ジョブ実行要求生成装置 30が、ジョブを実行する指示を使用者カゝら 受けた場合の処理を示すフローチャートである。
[図 12]図 12は、情報処理装置 20のハードウェア構成の一例を示す。
符号の説明
10 グリッドコンピューティングシステム
20 ' f青報処理装置
30 ジョブ実行要求生成装置
200 自己指標値格納部
210 接続先指標値格納部
220 要求取得部
230 ジョブ履歴格納部
240 ジョブ実行部
250 条件充足装置情報格納部
260 条件充足装置選択部
270 要求送信部
280 指標値追加部
300 ジョブ実行要求送信部
310 ジョブ実行指示部

Claims

請求の範囲
[1] 他の情報処理装置と接続してグリッドコンピューティングシステムを構成する情報処 理装置であって、
当該情報処理装置の処理能力を示す指標値を格納する自己指標値格納部と、 ジョブの実行を要求するジョブ実行要求を取得する要求取得部と、
前記自己指標値格納部に格納された指標値、及び、当該ジョブの処理内容に基づ いて、当該ジョブを当該情報処理装置において実行すると判断した場合に、当該ジョ ブを実行するジョブ実行部と、
当該ジョブを当該情報処理装置において実行しないと判断した場合に、当該ジョブ 実行要求を、当該情報処理装置に接続する他の情報処理装置に転送する要求送信 部と
を備える情報処理装置。
[2] 当該情報処理装置に接続する複数の情報処理装置の各々に対応付けて、当該情 報処理装置の処理能力を示す指標値を格納する接続先指標値格納部を更に備え、 前記要求送信部は、当該情報処理装置に接続する複数の情報処理装置のうち、 前記接続先指標値格納部に格納された指標値が予め定められた条件を満たす情報 処理装置に、前記ジョブ実行要求を転送する
請求項 1記載の情報処理装置。
[3] 当該情報処理装置がジョブを実行する場合に、前記自己指標値格納部は、格納し ている前記指標値を、当該指標値と比較して当該情報処理装置の処理能力が低い 旨を示す指標値に変更し、
当該情報処理装置に接続する何れかの情報処理装置がジョブを実行する場合に、 前記接続先指標値格納部は、ジョブを実行する当該情報処理装置に対応付けて格 納している前記指標値を、当該指標値と比較して当該情報処理装置の処理能力が 低 、旨を示す指標値に変更する
請求項 2記載の情報処理装置。
[4] 前記ジョブ実行部は、前記自己指標値格納部に格納された指標値が、前記接続先 指標値格納部に格納された指標値と比較して、より高い処理能力を示す場合に、要 求されたジョブを当該情報処理装置において実行すると判断する
請求項 2記載の情報処理装置。
[5] 前記ジョブ実行部は、前記自己指標値格納部に格納された指標値が、要求された 当該ジョブに要する処理能力より高い処理能力を示す場合に、当該ジョブを当該情 報処理装置において実行すると判断する
請求項 1記載の情報処理装置。
[6] 前記ジョブ実行部は、前記自己指標値格納部に格納された指標値が、要求された 当該ジョブに要する処理能力より低い処理能力を示し、かつ、当該ジョブに要する処 理能力を示す指標値と、前記自己指標値格納部に格納された指標値との差が、予 め定められた基準差分値以内である場合に、更に、当該ジョブを当該情報処理装置 にお ヽて実行すると判断する
請求項 5記載の情報処理装置。
[7] 前記ジョブ実行部は、前記ジョブ実行要求が既に他の情報処理装置により転送さ れた累積回数がより多い場合に、当該累積回数がより少ない場合と比較して、前記 基準差分値をより大きい値に設定する
請求項 6記載の情報処理装置。
[8] 前記要求送信部は、要求されたジョブを当該情報処理装置において実行しないと 判断した場合に、当該情報処理装置を識別する識別情報を、当該ジョブ実行要求を 転送した情報処理装置の履歴を示す履歴情報として、当該ジョブ実行要求に含めて 転 し、
前記要求取得部は、当該ジョブ実行要求に含まれる履歴情報に、当該情報処理装 置の識別情報が含まれる場合に、ジョブの転送元である情報処理装置にジョブ実行 要求を返送する
請求項 1記載の情報処理装置。
[9] 前記要求取得部が取得したジョブ実行要求の識別情報の履歴を格納するジョブ履 歴格納部を更に備え、
前記要求取得部は、取得したジョブ実行要求の識別情報が、前記ジョブ履歴格納 部に格納された履歴に含まれる場合に、ジョブの転送元である情報処理装置にジョ ブ実行要求を返送する
請求項 1記載の情報処理装置。
[10] 前記要求送信部は、要求されたジョブを当該情報処理装置において実行しないと 判断した場合に、当該ジョブ実行要求が転送された回数を示す転送回数情報に、 1 を加えて、当該転送回数情報を、当該ジョブ実行要求に含めて送信し、
前記要求取得部は、当該転送回数情報を含むジョブ実行要求を取得し、取得した 転送回数情報が、予め定められた基準回数以上の転送回数を示す場合に、ジョブ の転送元である情報処理装置にジョブ実行要求を返送する
請求項 1記載の情報処理装置。
[11] 前記ジョブ実行部は、ジョブを実行する場合に、当該情報処理装置の処理能力を 示す指標値の変更を通知する変更通知に、当該ジョブの識別情報を含めて、当該 情報処理装置に接続される他の各情報処理装置に送信し、
前記自己指標値格納部は、当該情報処理装置に接続される他の各々の情報処理 装置における処理能力に基づく指標値を更に格納しており、前記変更通知を受け取 つた場合において、前記変更通知に含めて送信されたジョブの識別情報を既に受け 取っていないことを条件として、当該変更通知に基づいて当該指標値を変更し、当 該指標値の変更を通知する変更通知に当該識別情報を含めて、当該情報処理装置 に接続された他の各情報処理装置に更に送信する
請求項 1記載の情報処理装置。
[12] 情報処理装置の互いに異なる処理能力を示す複数の指標の各々に対応付けて、 当該情報処理装置に接続する複数の情報処理装置のうち、当該指標が示す処理能 力が予め定められた基本条件を満たす情報処理装置の識別情報を格納する条件充 足装置情報格納部と、
前記ジョブ実行要求が要求するジョブの処理内容に基づいて、当該ジョブに要する 処理能力を示す指標に対応する識別情報を、前記条件充足装置情報格納部から選 択する条件充足装置選択部と
を更に備え、
前記要求送信部は、要求された当該ジョブを当該情報処理装置において実行しな いと判断した場合に、前記条件充足装置選択部により選択された識別情報の示す情 報処理装置の何れかに、当該ジョブ実行要求を転送する
請求項 1記載の情報処理装置。
[13] 当該情報処理装置に接続する複数の情報処理装置の各々に対応付けて、当該情 報処理装置の処理能力を示す指標値として、当該情報処理装置に設けられたデバ イス又は当該情報処理装置にインストールされたソフトウェアの特性を示す特性指標 の指標値と、当該情報処理装置が処理中のジョブの処理負荷を示す負荷指標の指 標値とを格納する接続先指標値格納部を更に備え、
前記条件充足装置情報格納部は、前記特性指標の各々に対応付けて、当該特性 指標が示す処理能力が前記基本条件を満たす情報処理装置の識別情報を格納し、 前記条件充足装置選択部は、要求されたジョブの処理内容に基づいて、当該ジョ ブに要する処理能力を示す特性指標に対応する識別情報を、前記条件充足装置情 報格納部から選択し、
前記要求送信部は、要求された当該ジョブを当該情報処理装置において実行しな いと判断した場合に、前記条件充足装置選択部により選択された識別情報の示す情 報処理装置のうち、前記負荷指標の指標値が予め定められた条件を満たす情報処 理装置に、当該ジョブ実行要求を転送する
請求項 12記載の情報処理装置。
[14] 情報処理装置の処理能力を示す他の指標を追加する指示を使用者力 受けた場 合に、当該指標の指標値の算出方法、及び、前記条件充足装置情報格納部に識別 情報を格納させるために当該指標値が満たすべき前記基本条件を、他の情報処理 装置に通知する指標値追加部を更に備え、
前記条件充足装置情報格納部は、当該情報処理装置に接続される他の情報処理 装置の各々について、前記指標値追加部から受け取った算出方法により指標値を 算出し、算出した指標値が前記基本条件を満たす情報処理装置の識別情報を、当 該指標に対応付けて格納する
請求項 12記載の情報処理装置。
[15] 他の情報処理装置と接続してグリッドコンピューティングシステムを構成する情報処 理装置であって、
情報処理装置の互いに異なる処理能力を示す複数の指標の各々に対応付けて、 当該情報処理装置に接続する複数の情報処理装置のうち、当該指標が示す処理能 力が予め定められた基本条件を満たす情報処理装置の識別情報を格納する条件充 足装置情報格納部と、
実行すべきジョブの処理内容に基づ 、て、当該ジョブに要する処理能力を示す指 標に対応する識別情報を、前記条件充足装置情報格納部から選択する条件充足装 置選択部と、
選択した識別情報が示す情報処理装置のうち、予め定められた条件を満たす情報 処理装置に、当該ジョブの実行を要求するジョブ実行要求を送信する要求送信部と を備える情報処理装置。
[16] 複数の情報処理装置を備え、前記複数の情報処理装置の各々は、
当該情報処理装置の処理能力を示す指標値を格納する自己指標値格納部と、 ジョブの実行を要求するジョブ実行要求を取得する要求取得部と、
前記自己指標値格納部に格納された指標値、及び、当該ジョブの処理内容に基づ いて、当該ジョブを当該情報処理装置において実行すると判断した場合に、当該ジョ ブを実行するジョブ実行部と、
当該ジョブを当該情報処理装置において実行しないと判断した場合に、当該ジョブ 実行要求を、当該情報処理装置に接続する他の情報処理装置に転送する要求送信 部と
を有するグリッドコンピューティングシステム。
[17] ジョブ実行要求を生成するジョブ実行要求生成装置を更に備え、
前記ジョブ実行部は、要求されたジョブを当該情報処理装置にぉ 、て実行すると 判断した場合に、当該ジョブ実行要求を生成した前記ジョブ実行要求生成装置に当 該ジョブを実行する旨を通知し、
前記ジョブ実行要求生成装置が、
前記ジョブ実行要求を生成し、生成した当該ジョブ実行要求を、 2以上の情報処理 装置の各々に送信するジョブ実行要求送信部と、 送信した当該ジョブ実行要求に対して、当該ジョブを実行する旨の複数の通知を受 け取った場合に、当該複数の通知の送信元である複数の情報処理装置のうち、予め 定められた条件を満たす情報処理装置を選択して、選択した当該情報処理装置に ジョブを実行させるジョブ実行指示部と
を有する請求項 16記載のグリッドコンピューティングシステム。
[18] 前記ジョブ実行指示部は、当該ジョブを実行する旨の複数の通知を受け取った場 合に、最も早く当該通知を当該情報処理装置に到達させた情報処理装置を選択し て、選択した当該情報処理装置にジョブを実行させる
請求項 17記載のグリッドコンピューティングシステム。
[19] 前記ジョブ実行指示部は、当該ジョブ実行要求を送信してから、予め定められた基 準期間内に、当該ジョブを実行する旨の複数の通知を受け取った場合に、当該複数 の通知の送信元である複数の情報処理装置のうち、最も処理能力が高い情報処理 装置を選択して、選択した当該情報処理装置にジョブを実行させる
請求項 17記載のグリッドコンピューティングシステム。
[20] 複数の情報処理装置を備え、一の前記情報処理装置は、
情報処理装置の互いに異なる処理能力を示す複数の指標の各々に対応付けて、 当該情報処理装置に接続する複数の情報処理装置のうち、当該指標が示す処理能 力が予め定められた基本条件を満たす情報処理装置の識別情報を格納する条件充 足装置情報格納部と、
実行すべきジョブの処理内容に基づ 、て、当該ジョブに要する処理能力を示す指 標に対応する識別情報を、前記条件充足装置情報格納部から選択する条件充足装 置選択部と、
選択した識別情報が示す情報処理装置のうち、予め定められた条件を満たす情報 処理装置に、当該ジョブの実行を要求するジョブ実行要求を送信する要求送信部と を有するグリッドコンピューティングシステム。
[21] 複数の情報処理装置を備えたグリッドコンピューティングにお 、て、前記複数の情 報処理装置の何れかにジョブを実行させるジョブ実行要求生成装置であって、 前記複数の情報処理装置の各々は、 ジョブの実行を要求するジョブ実行要求を取得する要求取得部と、 要求されたジョブを当該情報処理装置において実行すると判断した場合に、当該 ジョブ実行要求を生成した前記ジョブ実行要求生成装置に当該ジョブを実行する旨 を通知するジョブ実行部と
を有し、
前記ジョブ実行要求を生成し、生成した当該ジョブ実行要求を、 2以上の情報処理 装置の各々に送信するジョブ実行要求送信部と、
送信した当該ジョブ実行要求に対して、当該ジョブを実行する旨の複数の通知を受 け取った場合に、当該複数の通知の送信元である複数の情報処理装置のうち、予め 定められた条件を満たす情報処理装置を選択して、選択した当該情報処理装置に ジョブを実行させるジョブ実行指示部と
を備えるジョブ実行要求生成装置。
[22] 前記要求取得部は、取得したジョブ実行要求を過去に既に取得したと判断した場 合に、取得した前記ジョブ実行要求を当該ジョブ実行要求の転送元に返送し、 前記ジョブ実行要求送信部は、ジョブ実行要求の返送を受けた場合に、当該ジョブ 実行要求を、前記 2以上の情報処理装置と異なる他の情報処理装置に送信する 請求項 21記載のジョブ実行要求生成装置。
[23] 他の情報処理装置と接続してグリッドコンピューティングシステムを構成する情報処 理装置の制御方法であって、
当該情報処理装置は、当該情報処理装置の処理能力を示す指標値を格納する自 己指標値格納部を有し、
ジョブの実行を要求するジョブ実行要求を取得する要求取得段階と、
前記自己指標値格納部に格納された指標値、及び、当該ジョブの処理内容に基づ いて、当該ジョブを当該情報処理装置において実行すると判断した場合に、当該ジョ ブを実行するジョブ実行段階と、
当該ジョブを当該情報処理装置において実行しないと判断した場合に、当該ジョブ 実行要求を、当該情報処理装置に接続する他の情報処理装置に転送する要求送信 段階と を備える制御方法。
[24] 他の情報処理装置と接続してグリッドコンピューティングシステムを構成する情報処 理装置の制御方法であって、
当該情報処理装置は、
情報処理装置の互いに異なる処理能力を示す複数の指標の各々に対応付けて、 当該情報処理装置に接続する複数の情報処理装置のうち、当該指標が示す処理能 力が予め定められた基本条件を満たす情報処理装置の識別情報を格納する条件充 足装置情報格納部を有し、 実行すべきジョブの処理内容に基づいて、当該ジョブ に要する処理能力を示す指標に対応する識別情報を、前記条件充足装置情報格納 部から選択する条件充足装置選択段階と、 選択した識別情報が示す情報処理装 置のうち、予め定められた条件を満たす情報処理装置に、当該ジョブの実行を要求 するジョブ実行要求を送信する要求送信段階と
を備える制御方法。
[25] 複数の情報処理装置を備えたグリッドコンピューティングにお 、て、前記複数の情 報処理装置の何れかにジョブを実行させるジョブ実行要求生成装置の制御方法であ つて、
前記複数の情報処理装置の各々は、
ジョブの実行を要求するジョブ実行要求を取得する要求取得部と、
要求されたジョブを当該情報処理装置において実行すると判断した場合に、当該 ジョブ実行要求を生成した前記ジョブ実行要求生成装置に当該ジョブを実行する旨 を通知するジョブ実行部と
を有し、
前記ジョブ実行要求を生成し、生成した当該ジョブ実行要求を、 2以上の情報処理 装置の各々に送信するジョブ実行要求送信段階と、
送信した当該ジョブ実行要求に対して、当該ジョブを実行する旨の複数の通知を受 け取った場合に、当該複数の通知の送信元である複数の情報処理装置のうち、予め 定められた条件を満たす情報処理装置を選択して、選択した当該情報処理装置に ジョブを実行させるジョブ実行指示段階と を備える制御方法。
[26] 他の情報処理装置と接続してグリッドコンピューティングシステムを構成する情報処 理装置を制御するプログラムであって、
前記情報処理装置を、
当該情報処理装置の処理能力を示す指標値を格納する自己指標値格納部と、 ジョブの実行を要求するジョブ実行要求を取得する要求取得部と、
前記自己指標値格納部に格納された指標値、及び、当該ジョブの処理内容に基づ いて、当該ジョブを当該情報処理装置において実行すると判断した場合に、当該ジョ ブを実行するジョブ実行部と、
当該ジョブを当該情報処理装置において実行しないと判断した場合に、当該ジョブ 実行要求を、当該情報処理装置に接続する他の情報処理装置に転送する要求送信 部と
して機能させるプログラム。
[27] 他の情報処理装置と接続してグリッドコンピューティングシステムを構成する情報処 理装置を制御するプログラムであって、
前記情報処理装置を、
情報処理装置の互いに異なる処理能力を示す複数の指標の各々に対応付けて、 当該情報処理装置に接続する複数の情報処理装置のうち、当該指標が示す処理能 力が予め定められた基本条件を満たす情報処理装置の識別情報を格納する条件充 足装置情報格納部と、
実行すべきジョブの処理内容に基づ 、て、当該ジョブに要する処理能力を示す指 標に対応する識別情報を、前記条件充足装置情報格納部から選択する条件充足装 置選択部と、
選択した識別情報が示す情報処理装置のうち、予め定められた条件を満たす情報 処理装置に、当該ジョブの実行を要求するジョブ実行要求を送信する要求送信部と して機能させるプログラム。
[28] 複数の情報処理装置を備えたグリッドコンピューティングにお 、て、前記複数の情 報処理装置の何れかにジョブを実行させるジョブ実行要求生成装置として、一の前 記情報処理装置を機能させるプログラムであって、
前記複数の情報処理装置の各々は、
ジョブの実行を要求するジョブ実行要求を取得する要求取得部と、
要求されたジョブを当該情報処理装置において実行すると判断した場合に、当該 ジョブ実行要求を生成した前記ジョブ実行要求生成装置に当該ジョブを実行する旨 を通知するジョブ実行部と
を有し、
前記一の情報処理装置を、
前記ジョブ実行要求を生成し、生成した当該ジョブ実行要求を、 2以上の情報処理 装置の各々に送信するジョブ実行要求送信部と、
送信した当該ジョブ実行要求に対して、当該ジョブを実行する旨の複数の通知を受 け取った場合に、当該複数の通知の送信元である複数の情報処理装置のうち、予め 定められた条件を満たす情報処理装置を選択して、選択した当該情報処理装置に ジョブを実行させるジョブ実行指示部と
して機能させるプログラム。
請求項 26から請求項 28の何れかに記載のプログラムを記録した記録媒体。
PCT/JP2005/008628 2004-05-14 2005-05-11 グリッドコンピューティングシステム、情報処理装置、ジョブ実行要求生成装置、制御方法、プログラム、及び記録媒体 WO2005111798A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2006513541A JP4428483B2 (ja) 2004-05-14 2005-05-11 情報処理装置、制御方法、プログラム及び記録媒体
EP05739336A EP1762936A4 (en) 2004-05-14 2005-05-11 GRID CALCULATION SYSTEM, INFORMATION PROCESSING APPARATUS, TASK EXECUTION REQUEST GENERATING APPARATUS, CONTROL METHOD, PROGRAM, AND RECORDING MEDIUM
CA002570641A CA2570641A1 (en) 2004-05-14 2005-05-11 Grid computing system, information processing apparatus, job execution request generating apparatus, control method, program and recording medium
US11/569,014 US8359596B2 (en) 2004-05-14 2005-05-11 Determining capability of an information processing unit to execute the job request based on satisfying an index value and a content of processing of the job

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004-145390 2004-05-14
JP2004145390 2004-05-14

Publications (1)

Publication Number Publication Date
WO2005111798A1 true WO2005111798A1 (ja) 2005-11-24

Family

ID=35394318

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/008628 WO2005111798A1 (ja) 2004-05-14 2005-05-11 グリッドコンピューティングシステム、情報処理装置、ジョブ実行要求生成装置、制御方法、プログラム、及び記録媒体

Country Status (7)

Country Link
US (1) US8359596B2 (ja)
EP (1) EP1762936A4 (ja)
JP (1) JP4428483B2 (ja)
CN (1) CN100504793C (ja)
CA (1) CA2570641A1 (ja)
TW (1) TWI370979B (ja)
WO (1) WO2005111798A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008097378A (ja) * 2006-10-12 2008-04-24 Nomura Research Institute Ltd ジョブ管理装置、ジョブ実行装置、及びそれら装置を含むジョブ管理システム
US8751653B2 (en) 2005-12-28 2014-06-10 Fujitsu Limited System for managing computers and pieces of software allocated to and executed by the computers

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9547485B2 (en) * 2006-03-31 2017-01-17 Prowess Consulting, Llc System and method for deploying a virtual machine
JP4317234B2 (ja) * 2007-03-05 2009-08-19 キヤノンマーケティングジャパン株式会社 画像表示制御装置および画像表示制御方法および画像表示制御プログラム
JP5146453B2 (ja) * 2007-06-22 2013-02-20 日本電気株式会社 携帯通信端末装置のデータ処理方法、及び、携帯通信端末装置
US8332365B2 (en) 2009-03-31 2012-12-11 Amazon Technologies, Inc. Cloning and recovery of data volumes
GB0920514D0 (en) * 2009-11-23 2010-01-06 Rezzable Productions Ltd Method and system for delivering a user experience
JP2011123817A (ja) * 2009-12-14 2011-06-23 Fujitsu Ltd ジョブ振分装置、ジョブ振分プログラム及びジョブ振分方法
JP5678556B2 (ja) * 2010-10-04 2015-03-04 富士ゼロックス株式会社 ジョブ実行システム、ジョブ実行装置及びプログラム
US10120897B2 (en) * 2011-06-06 2018-11-06 International Business Machines Corporation Interception of database queries for delegation to an in memory data grid
US9405579B2 (en) * 2012-10-11 2016-08-02 International Business Machines Corporation Seamless extension of local computing power
US11157436B2 (en) 2012-11-20 2021-10-26 Samsung Electronics Company, Ltd. Services associated with wearable electronic device
US11237719B2 (en) * 2012-11-20 2022-02-01 Samsung Electronics Company, Ltd. Controlling remote electronic device with wearable electronic device
JP6463598B2 (ja) * 2012-11-20 2019-02-06 三星電子株式会社Samsung Electronics Co.,Ltd. 着用式電子デバイスからのプロセッシングの委任
US10423214B2 (en) * 2012-11-20 2019-09-24 Samsung Electronics Company, Ltd Delegating processing from wearable electronic device
US10185416B2 (en) 2012-11-20 2019-01-22 Samsung Electronics Co., Ltd. User gesture input to wearable electronic device involving movement of device
US10551928B2 (en) 2012-11-20 2020-02-04 Samsung Electronics Company, Ltd. GUI transitions on wearable electronic device
US11372536B2 (en) 2012-11-20 2022-06-28 Samsung Electronics Company, Ltd. Transition and interaction model for wearable electronic device
US8994827B2 (en) 2012-11-20 2015-03-31 Samsung Electronics Co., Ltd Wearable electronic device
US9413854B1 (en) 2013-07-15 2016-08-09 Amazon Technologies, Inc. Network-accessible signal processing service
US9720989B2 (en) 2013-11-11 2017-08-01 Amazon Technologies, Inc. Dynamic partitioning techniques for data streams
US9858322B2 (en) 2013-11-11 2018-01-02 Amazon Technologies, Inc. Data stream ingestion and persistence techniques
US9276959B2 (en) 2013-11-11 2016-03-01 Amazon Technologies, Inc. Client-configurable security options for data streams
US9794135B2 (en) 2013-11-11 2017-10-17 Amazon Technologies, Inc. Managed service for acquisition, storage and consumption of large-scale data streams
US10635644B2 (en) 2013-11-11 2020-04-28 Amazon Technologies, Inc. Partition-based data stream processing framework
US9639589B1 (en) 2013-12-20 2017-05-02 Amazon Technologies, Inc. Chained replication techniques for large-scale data streams
US9471585B1 (en) 2013-12-20 2016-10-18 Amazon Technologies, Inc. Decentralized de-duplication techniques for largescale data streams
US10691332B2 (en) 2014-02-28 2020-06-23 Samsung Electronics Company, Ltd. Text input on an interactive display
US9785510B1 (en) 2014-05-09 2017-10-10 Amazon Technologies, Inc. Variable data replication for storage implementing data backup
US9734021B1 (en) 2014-08-18 2017-08-15 Amazon Technologies, Inc. Visualizing restoration operation granularity for a database
CN104239153B (zh) * 2014-09-29 2018-09-11 三星电子(中国)研发中心 多核cpu负载均衡的方法和装置
US10356150B1 (en) 2014-12-15 2019-07-16 Amazon Technologies, Inc. Automated repartitioning of streaming data
US10423493B1 (en) 2015-12-21 2019-09-24 Amazon Technologies, Inc. Scalable log-based continuous data protection for distributed databases
US10567500B1 (en) 2015-12-21 2020-02-18 Amazon Technologies, Inc. Continuous backup of data in a distributed data store
US10853182B1 (en) 2015-12-21 2020-12-01 Amazon Technologies, Inc. Scalable log-based secondary indexes for non-relational databases
US10644986B2 (en) * 2016-02-04 2020-05-05 Mitsubishi Electric Corporation Master station device, slave station device, process delegation management method, and process execution method
CN109690584A (zh) * 2016-09-07 2019-04-26 三菱电机株式会社 信息处理装置、信息处理方法及信息处理程序
US10990581B1 (en) 2017-09-27 2021-04-27 Amazon Technologies, Inc. Tracking a size of a database change log
US10754844B1 (en) 2017-09-27 2020-08-25 Amazon Technologies, Inc. Efficient database snapshot generation
US11182372B1 (en) 2017-11-08 2021-11-23 Amazon Technologies, Inc. Tracking database partition change log dependencies
US11042503B1 (en) 2017-11-22 2021-06-22 Amazon Technologies, Inc. Continuous data protection and restoration
US11269731B1 (en) 2017-11-22 2022-03-08 Amazon Technologies, Inc. Continuous data protection
US10621049B1 (en) 2018-03-12 2020-04-14 Amazon Technologies, Inc. Consistent backups based on local node clock
US10855754B1 (en) 2018-07-16 2020-12-01 Amazon Technologies, Inc. Isolated read channel categories at streaming data service
US10768830B1 (en) 2018-07-16 2020-09-08 Amazon Technologies, Inc. Streaming data service with isolated read channels
US11070600B1 (en) 2018-07-16 2021-07-20 Amazon Technologies, Inc. Optimization techniques to support lagging readers at streaming data service
US11075984B1 (en) 2018-07-16 2021-07-27 Amazon Technologies, Inc. Workload management at streaming data service supporting persistent connections for reads
US10956246B1 (en) 2018-07-16 2021-03-23 Amazon Technologies, Inc. Isolated read channel management interfaces at streaming data service
US10798140B1 (en) 2018-07-16 2020-10-06 Amazon Technologies, Inc. Stream data record reads using push-mode persistent connections
US11126505B1 (en) 2018-08-10 2021-09-21 Amazon Technologies, Inc. Past-state backup generator and interface for database systems
US11042454B1 (en) 2018-11-20 2021-06-22 Amazon Technologies, Inc. Restoration of a data source

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04114250A (ja) * 1990-09-05 1992-04-15 Nec Corp ローカルエリアネットワークにおけるサーバ決定方式
JPH10207849A (ja) * 1997-01-17 1998-08-07 Nippon Telegr & Teleph Corp <Ntt> 分散システムにおける高信頼化と負荷分散方法
JPH11316692A (ja) * 1999-04-06 1999-11-16 Tao Group Ltd データ処理システム
JP2002007326A (ja) * 2000-06-26 2002-01-11 Nippon Telegr & Teleph Corp <Ntt> 適応型ネットワーキングサービス提供システムとネットワークリソース探索システムおよび方法ならびにその処理プログラムを記録した記録媒体
JP2002505482A (ja) * 1998-02-27 2002-02-19 セイバー インコーポレイティド コンピュータ・ネットワークにおけるデータ変換および負荷平衡のための装置および方法
JP2002251292A (ja) * 2001-02-22 2002-09-06 Nec Software Chubu Ltd クライアントサーバシステムにおけるジョブ管理方式及びクライアントサーバシステムにおけるジョブ管理方法
JP2004021287A (ja) * 2002-06-12 2004-01-22 Ntt Docomo Inc 稼働率平準化装置、稼働率平準化方法、稼働率平準化プログラム及び稼働率平準化プログラムを記録した記録媒体

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61114363A (ja) * 1984-11-07 1986-06-02 Hitachi Ltd 計算機システム間ジヨブ転送方式
US5031089A (en) * 1988-12-30 1991-07-09 United States Of America As Represented By The Administrator, National Aeronautics And Space Administration Dynamic resource allocation scheme for distributed heterogeneous computer systems
US5923875A (en) * 1995-08-28 1999-07-13 Nec Corporation Load distributing job processing system
JPH09167141A (ja) * 1995-12-18 1997-06-24 Hitachi Ltd 負荷分散制御方法
US6393455B1 (en) * 1997-03-28 2002-05-21 International Business Machines Corp. Workload management method to enhance shared resource access in a multisystem environment
JPH10334058A (ja) 1997-05-27 1998-12-18 Shikoku Nippon Denki Software Kk オンラインシステムと負荷分散方式
US6128279A (en) * 1997-10-06 2000-10-03 Web Balance, Inc. System for balancing loads among network servers
US6370584B1 (en) * 1998-01-13 2002-04-09 Trustees Of Boston University Distributed routing
US7016853B1 (en) * 2000-09-20 2006-03-21 Openhike, Inc. Method and system for resume storage and retrieval
US7203943B2 (en) * 2001-10-31 2007-04-10 Avaya Technology Corp. Dynamic allocation of processing tasks using variable performance hardware platforms
US7734726B2 (en) * 2001-11-27 2010-06-08 International Business Machines Corporation System and method for dynamically allocating processing on a network amongst multiple network servers
US7076781B2 (en) * 2002-05-31 2006-07-11 International Business Machines Corporation Resource reservation for large-scale job scheduling
US7647523B2 (en) * 2002-06-12 2010-01-12 International Business Machines Corporation Dynamic binding and fail-over of comparable web service instances in a services grid
JP4095352B2 (ja) * 2002-06-14 2008-06-04 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及び当該制御方法を実行するためのコンピュータプログラム
US7010596B2 (en) 2002-06-28 2006-03-07 International Business Machines Corporation System and method for the allocation of grid computing to network workstations
US7996458B2 (en) * 2004-01-28 2011-08-09 Apple Inc. Assigning tasks in a distributed system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04114250A (ja) * 1990-09-05 1992-04-15 Nec Corp ローカルエリアネットワークにおけるサーバ決定方式
JPH10207849A (ja) * 1997-01-17 1998-08-07 Nippon Telegr & Teleph Corp <Ntt> 分散システムにおける高信頼化と負荷分散方法
JP2002505482A (ja) * 1998-02-27 2002-02-19 セイバー インコーポレイティド コンピュータ・ネットワークにおけるデータ変換および負荷平衡のための装置および方法
JPH11316692A (ja) * 1999-04-06 1999-11-16 Tao Group Ltd データ処理システム
JP2002007326A (ja) * 2000-06-26 2002-01-11 Nippon Telegr & Teleph Corp <Ntt> 適応型ネットワーキングサービス提供システムとネットワークリソース探索システムおよび方法ならびにその処理プログラムを記録した記録媒体
JP2002251292A (ja) * 2001-02-22 2002-09-06 Nec Software Chubu Ltd クライアントサーバシステムにおけるジョブ管理方式及びクライアントサーバシステムにおけるジョブ管理方法
JP2004021287A (ja) * 2002-06-12 2004-01-22 Ntt Docomo Inc 稼働率平準化装置、稼働率平準化方法、稼働率平準化プログラム及び稼働率平準化プログラムを記録した記録媒体

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KANEDA K. ET AL.: "Virtual Private Grid: A Command Shell for Utilizing Hundreds of MAchines Efficiently.", PROCEEDINGS OF 2ND IEEE/ACM INTERNATIONAL SYMPOSIUM ON CLUSTERCOMPUTING AND THE GRID. (CCGRID'02), May 2002 (2002-05-01), pages 212 - 219, XP004420315 *
See also references of EP1762936A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8751653B2 (en) 2005-12-28 2014-06-10 Fujitsu Limited System for managing computers and pieces of software allocated to and executed by the computers
JP2008097378A (ja) * 2006-10-12 2008-04-24 Nomura Research Institute Ltd ジョブ管理装置、ジョブ実行装置、及びそれら装置を含むジョブ管理システム

Also Published As

Publication number Publication date
JPWO2005111798A1 (ja) 2008-07-31
CN100504793C (zh) 2009-06-24
US20070250835A1 (en) 2007-10-25
TW200614026A (en) 2006-05-01
JP4428483B2 (ja) 2010-03-10
EP1762936A4 (en) 2008-07-09
CA2570641A1 (en) 2005-11-24
TWI370979B (en) 2012-08-21
US8359596B2 (en) 2013-01-22
CN1954294A (zh) 2007-04-25
EP1762936A1 (en) 2007-03-14

Similar Documents

Publication Publication Date Title
WO2005111798A1 (ja) グリッドコンピューティングシステム、情報処理装置、ジョブ実行要求生成装置、制御方法、プログラム、及び記録媒体
US10838890B2 (en) Acceleration resource processing method and apparatus, and network functions virtualization system
JP5244236B2 (ja) 計算機システム、方法、およびプログラム
JP5022030B2 (ja) コンピュータシステム、これを構成するサーバ、そのジョブ実行制御方法及びプログラム
JP4921054B2 (ja) 負荷分散制御システム及び負荷分散制御方法
Elmroth et al. Grid resource brokering algorithms enabling advance reservations and resource selection based on performance predictions
US20060123115A1 (en) Information processing device control method
JP2004038758A (ja) 記憶制御装置、記憶制御装置の制御方法、及びプログラム
US20070106843A1 (en) Management of number of disk groups that can be activated in storage device
KR20060121962A (ko) 시스템, 관리 서버, 수신 서버, 제어 방법, 제어 프로그램및 기록 매체
JPWO2006100752A1 (ja) 分散処理管理装置、分散処理管理方法、分散処理管理プログラム
JP2005056391A (ja) コンピューティング環境の作業負荷を均衡させる方法およびシステム
JPWO2005116832A1 (ja) 分散処理環境におけるジョブの実行を制御するためのコンピュータシステム、方法及びプログラム
JP2017091330A (ja) 計算機システム及び計算機システムのタスク実行方法
US9400691B2 (en) Process allocation management apparatus, system and method
US7707576B2 (en) Method of and apparatus for managing task, and computer product
US11842213B2 (en) Cooling-power-utilization-based workload allocation system
CN115220890A (zh) 密码计算任务调度方法、装置、介质及电子设备
KR20070022248A (ko) 그리드 컴퓨팅 시스템, 정보 처리 장치, 작업 실행 요구생성 장치, 제어 방법, 프로그램, 및 기록 매체
WO2020022018A1 (ja) リソース割当装置、リソース管理システム、および、リソース割当プログラム
US11343134B1 (en) System and method for mitigating analytics loads between hardware devices
JP2022191583A (ja) 情報処理システム、情報処理装置およびプログラム
CN116974748A (zh) 资源调度方法、节点、设备、介质和程序产品

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DPEN Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed from 20040101)
WWE Wipo information: entry into national phase

Ref document number: 200580009812.1

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 1020067021408

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2006513541

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

WWE Wipo information: entry into national phase

Ref document number: 2005739336

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2570641

Country of ref document: CA

WWP Wipo information: published in national office

Ref document number: 1020067021408

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 2005739336

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 11569014

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 11569014

Country of ref document: US