WO2005116832A1 - 分散処理環境におけるジョブの実行を制御するためのコンピュータシステム、方法及びプログラム - Google Patents

分散処理環境におけるジョブの実行を制御するためのコンピュータシステム、方法及びプログラム Download PDF

Info

Publication number
WO2005116832A1
WO2005116832A1 PCT/JP2005/009350 JP2005009350W WO2005116832A1 WO 2005116832 A1 WO2005116832 A1 WO 2005116832A1 JP 2005009350 W JP2005009350 W JP 2005009350W WO 2005116832 A1 WO2005116832 A1 WO 2005116832A1
Authority
WO
WIPO (PCT)
Prior art keywords
resource
job
computer system
network
grid
Prior art date
Application number
PCT/JP2005/009350
Other languages
English (en)
French (fr)
Inventor
Kazutoshi Sugimoto
Takashi Yonezawa
Kazuhisa Misono
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 JP2006513869A priority Critical patent/JPWO2005116832A1/ja
Publication of WO2005116832A1 publication Critical patent/WO2005116832A1/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

Definitions

  • the present invention relates to grid computing, and more particularly, to a method for controlling a plurality of grid computing systems in an integrated manner and a system configuration thereof.
  • a distributed processing system is a system that manages a large number of various computer resources connected to a network as one group, and performs load distribution and scheduling.
  • the distributed processing system group means a group of distributed processing systems that exist on a wide area network (distributed network).
  • a distributed processing system will be described as an individual grid computing system (hereinafter, abbreviated as a dalit system) in a grid computing environment in which resources are virtualized.
  • Non-Patent Document 1 for the centralized scheme and the hierarchical scheme
  • Non-Patent Document 2 for the distributed scheme
  • FIG. 13 is a diagram schematically showing a system configuration based on a centralized scheme.
  • the meta-scheduler of the center server that manages the entire grid system group collects the blue alerts of all grid systems, and the meta-scheduler makes the scheduling e-mail decision.
  • the scheduling decision is not made, but the meta-scheduler of the center server also executes the submitted job, and completes the job and the resource status (such as an empty processor).
  • the resource status such as an empty processor.
  • a procedure on the center server is required to reflect the changes in the scheduling by the meta scheduler.
  • FIG. 14 is a diagram schematically showing a system configuration according to a hierarchical scheme.
  • the scheduling process is shared between the center server and each local site. After submitting a job from the center server's metascheduler to the local site's scheduler, the metascheduler does not need to be directly involved in the job. Each job will be executed at each local site to which the job was sent, even if there is free space at other local sites after submitting the job.
  • FIG. 15 is a diagram schematically showing a system configuration based on a distributed scheme.
  • every site has a meta-scheduler. Jobs are submitted and scheduled to the meta-scheduler at each oral site. Since all sites have a meta-scheduler, if a certain job is scheduled at a predetermined local site, and if there is free space at another local site, the job is executed at the other local site. Can be rescheduled.
  • the meta scheduler at each local site must have the same information, and the Information such as load status is exchanged at any time or periodically.
  • Non-Patent Document 1 Chris Smith, “Open Source Metascheduling for Virtual Organizations with the Community Scheduler Framework (CSF)", Technical Whitepaper, Platform Computing Inc. August 2003.
  • CSF Community Scheduler Framework
  • Non-Patent Document 2 Vi jay Subramani, ⁇ Distributed Job Scheduling on Computational Grids using Multiple simultaneous Requests, IEEE International Symposium on High Performance Distributed Computing (HPDC 2002), 2002.
  • the information such as the load status of each local site must be exchanged as needed or periodically between the meta schedulers of all the local sites, so that the network load increases. I will.
  • the present invention provides a scalable system capable of easily responding to a change in system configuration and expansion / reduction of scale in a wide-area distributed system that integrates and uses computer resources existing in a grid system group. It is intended to realize the configuration.
  • Another object of the present invention is to reduce network load while exchanging information between local sites in order to execute a job efficiently.
  • Still another object of the present invention is to realize a wide-area distributed system in which grid systems are integrated without increasing the development cost of the system.
  • the present invention is implemented as a network that performs distributed processing by a group of computer systems (groups of grid systems) connected via a network. That is, in this distributed processing environment, each grid system assigns a job in information processing to a computer resource on the network and issues a request for execution. And a computer resource (local resource) such as a process server that actually executes a job in the own system. Each grid server allocates a job to a resource unit including each local resource and another grid system on the network, and a scheduler for requesting execution of the job, and a scheduler between the scheduler and the resource unit. And an agent (resource agent) that relays the communication.
  • the agent is a software module that manages information on resource means, receives a job execution request from a scheduler on behalf of the resource means assigned to the job, and responds according to the status of the resource means. The job execution request is sent to the resource means.
  • an agent is provided separately for each local resource and each other grid system (network resource) adjacent to (directly connected to) the system on the network. , Each of which makes a job execution request in an individual communication format set with the corresponding resource means.
  • the agent corresponding to the local resource also acquires and manages the local resource power to obtain information on the capability and operation status, and the agent corresponding to another grid system (network resource) uses the grid system to execute the job. It also obtains and manages grid server power in other grid systems that uses information on resource capabilities that can be provided for requests. Then, the scheduler allocates a job to the resource means based on each information managed by the resource agent.
  • the grid server includes a resource capability information acquisition unit that acquires information on resource capabilities that can be provided by its own system in response to a job execution request from the outside, the resource capability information acquisition unit, and another grid on the network.
  • a resource capability information notifying unit for notifying the agent of information on the available resource capability acquired by the resource capability information unit in response to an inquiry from an agent of the grid server in the system; be able to.
  • the scheduler calculates the available resource capacity based on the information on the resource capacity obtained from the agent in the own system. Then, the information on the resource capability that can be provided is passed to the resource capability information acquisition unit.
  • the interface means of the grid server receives a job execution request received from an agent of the grid server in another grid system on the network, and the job reception unit receives the job execution request. And a job execution requesting unit that transfers the job according to the execution request to the scheduler and requests assignment and execution of the job.
  • a computer system uses a local resource by an interface module provided for each of the local resources included in its own system and other grid systems (network resources) on the network. Acquiring information on the capability and operation status of the network resource from the local resource, and acquiring and managing information on the resource capability that can be provided by the network resource from the grid server in the network resource; and Allocating a job to resource means including local resources and network resources based on these pieces of information, and issuing a job execution request to the resource means to which the job is assigned. Comprising the steps of rows, the. Further, the interface module includes a step of temporarily holding the issued job execution request and transmitting the issued job execution request to a powerful resource unit according to the operation state of the resource unit to which the job is assigned.
  • the present invention is also realized as a program that controls a computer to realize the functions of the grid server described above, or a program that causes a computer to execute processing corresponding to each step of the above-described job execution control method.
  • This program is provided by storing and distributing it on a magnetic disk, optical disk, semiconductor memory, or other recording medium, or distributing it via a network.
  • the grid server of each grid system constituting the wide area distributed system is connected via the agent, and the agent has information on the grid system in charge.
  • the agent has information on the grid system in charge. Therefore, it is possible to realize a scalable system configuration that can easily cope with a change in the size of the system configuration change and the scale of the change.
  • each grid system since each grid system has information of another grid system adjacent on the network, information of the entire grid system group is shared by each grid system as a result. Network loads that do not require frequent information exchange between grid systems can be reduced.
  • FIG. 1 is a diagram showing an overall configuration of a wide area distributed system according to the present embodiment.
  • the wide area distributed system of the present embodiment integrates a group of grid systems connected to a wide area network such as the Internet so that computer resources in each grid system can be used mutually.
  • Each grid system is a distributed processing system that manages a large number of diverse computer resources connected to the network as a group by using grid computing technology, and performs load distribution and scheduling.
  • each grid system does not have a subordinate relationship, and operates in parallel with an equal relationship.
  • other grid systems adjacent on the network can be treated in the same manner as local resources (computer resources) in the own system, and can request execution of a job.
  • adjacent on a network means a relationship between grid systems that can directly exchange data via the network.
  • the local resource refers to a computer resource such as a process server that actually executes a job assigned in grid computing.
  • a network scheme Network Scheme
  • FIG. 2 is a diagram showing a configuration of each grid system constituting the wide area distributed system of FIG.
  • the grid system includes a grid server (GS) 100 for allocating (scheduling) a job and a local server for actually executing a job according to the allocation by the grid server 100.
  • Process server (PS) 200 as a resource.
  • the grid server 100 is also connected to the grid server 100 of another grid system.
  • the grid server 100, the process server 200, and the grid servers 100 of a plurality of Dardell systems are connected to each other via the Internet or another computer network.
  • This computer network may be of any type, such as a communication protocol or a wired or wireless communication, and may have a firewall or other access restrictions.
  • the grid server 100 of the present embodiment includes an interface module called an agent, and the grid server of the process server 200 or another grid system through the agent. Connect to server 100.
  • the framework of the powerful device connection is hereinafter referred to as an agent framework (Agent Framework).
  • FIG. 3 is a diagram schematically showing an example of a hardware configuration of a computer device suitable for realizing the grid server 100 and the process server 200 in the present embodiment.
  • the computer device shown in FIG. A CPU (Central Processing Unit) 11 which is an arithmetic means, an MZB (mother board) chipset 12 and a main memory 13 connected to the CPU 11 via a CPU bus, and an MZB chipset 12 and an AGP ( Video card connected to CPU11 via Accelerated Graphics Port) 1
  • CPU Central Processing Unit
  • MZB mother board
  • a magnetic disk device (HDD) 15 connected to the M / B chipset 12 via a PCI (Peripheral Component Interconnect) bus, a network interface 16, and a bridge circuit 17 and an IS A (Industry Standard Architecture) Bus It has a flexible disk drive 18 and a keyboard Z mouse 19 connected to the M / B chipset 12 via a low-speed bus such as.
  • PCI Peripheral Component Interconnect
  • network interface 16 Peripheral Component Interconnect
  • IS A Industry Standard Architecture
  • FIG. 3 merely shows an example of a hardware configuration of a computer device that realizes the present embodiment, and various other configurations can be adopted as long as the present embodiment is applicable.
  • the video card 14 instead of providing the video card 14, only the video memory may be mounted and the CPU 11 may process the image data, or the external storage device may be an ATA (AT Attachment
  • CD-R Compact Disc Recordable
  • DVD-RAM Digital Versatile Disc Random Access Memory
  • FIG. 4 is a diagram showing a functional configuration of the grid server 100 in the present embodiment.
  • the grid server 100 manages a process server 200 and a scheduler 110 for allocating (scheduling) a job to each process server 200 which is a local resource in its own system.
  • a resource agent 120 that relays transmission and reception, and a grid server resource agent 'interface (hereinafter referred to as “GS agent' interface”) 130 that allows the system to operate as if it were a resource of another grid system.
  • the resource agent 120 is provided for each process server 200 and each other grid system (network resource) adjacent on the network. Then, the scheduler 110 accesses each process server 200 and the grid server 100 of another grid system via the resource agent 120.
  • the scheduler 110 is realized by, for example, a program-controlled CPU 11 and storage means such as the main memory 13 and the magnetic disk device 15 shown in FIG. 3, and as a specific function, as shown in FIG. It comprises a resource capability inquiry response unit 111, a resource capability acquisition unit 112, a job reception unit 113, an optimal resource selection unit 114, and a job requesting unit 115.
  • the resource capability inquiry / response unit 111 calculates and replies the available resource capability of the own system in response to an external capability inquiry (resource capability acquisition request) input via the GS agent interface 130.
  • the resource capacity that can be provided depends on the resource The calculation is based on the information acquired by the source capability acquisition unit 112. Also, the resource capacity that can be provided can be changed according to the resource capacity provision target.
  • the resource capacity acquisition unit 112 inquires the resource capacity available to the own system from each process server 200 and the resource agent 120 corresponding to another grid system adjacent on the network, and obtains information (hereinafter, these resources are referred to as the resource capacity acquisition unit 112).
  • the process server 200 which is recognized as a local resource of the system, and the other grid systems, which are recognized as network resources, are collectively referred to as resource means).
  • the acquired information includes static information on the original processing capacity and storage capacity of the storage device in the own system, and dynamic information based on the real-time load situation.
  • the job receiving unit 113 receives a job execution request from an external computer system (for example, a client) or the GS agent 'interface 130.
  • the optimal resource selecting unit 114 selects the resource means optimal for the execution according to the job based on the information of the resource capability acquired by the resource capability acquiring unit 112, and allocates the job.
  • the logic for optimization in job assignment is arbitrary!
  • the job requesting unit 115 issues a request to execute a job to the resource agent 120 corresponding to the resource means selected by the optimal resource selecting unit 114.
  • the resource agent 120 relays communication between the scheduler 110 and available resource means, and receives a job execution request from the scheduler 110 on behalf of these resource means. Therefore, the inquiry destination of the resource capacity acquisition unit 112 and the issue destination of the request of the job requesting unit 115 become the resource agent 120!
  • scheduler 110 Other functions of the scheduler 110 are not different from the existing scheduler. Also, the difference in the communication format between the grid server 100 and the individual process server 200 or the grid server 100 of another grid system is absorbed by the setting in the resource agent 120, and the scheduler 110 itself issues the request. There is no need to consider the differences in communication formats. Therefore, a scheduler that is used in an existing grid system can be used as the scheduler 110.
  • the resource agent 120 is, for example, a program-controlled CPU 11 shown in FIG. And the storage means such as the main memory 13 and the magnetic disk device 15 and the network interface 16, and as its specific functions, as shown in FIG. 4, a resource status management unit 121, a resource capacity management unit 122, a job It includes a receiving unit 123 and a job requesting unit 124.
  • the resource status management unit 121 accesses the corresponding resource means and grasps the current operation status in the corresponding process server 200 (local resource) or grid system (network resource).
  • the resource capacity management unit 122 manages statistical information and the like regarding the job execution capacity of the corresponding resource means, and returns the managed information in response to an inquiry from the resource capacity acquisition unit 112 of the scheduler 110.
  • the statistical information and the like relating to the job execution ability are simply dynamic information such as time variation of the load on the CPU and operation tendency, which are not merely based on the static information of the processing capacity of the CPU itself and the storage capacity of the storage device. Includes information obtained by statistical processing.
  • Such resource information managed by the resource status management unit 121 and the resource capacity management unit 122 is obtained from the resource means supported by the resource agent 120, and is stored in the main memory 13 and the magnetic disk device 15 shown in FIG. In the storage means.
  • the job receiving unit 123 receives a job execution request issued from the job requesting unit 115 of the scheduler 110.
  • the job requesting unit 124 transmits the job execution request received by the job receiving unit 123 to the corresponding resource unit.
  • the GS agent 'interface 130 is realized by, for example, a program-controlled CPU 11 and storage means such as a main memory 13 and a magnetic disk device 15 and a network interface 16 as shown in FIG. As shown in FIG. 4, a resource capability information acquiring unit 131, a resource capability information notifying unit 132, a job receiving unit 133, and a job execution requesting unit 134 are provided.
  • the GS agent 'interface 130 is a function for making the grid system available to other grid systems on the network as well as the local resources of the other grid system.
  • the grid server 100 receives a request from the grid server 100 of another grid system. It can receive and return the result of executing the job using the resource means available to its own system.
  • the resource capability information acquiring unit 131 inquires of the scheduler 110 and acquires information on the resource capability of the own system (resource information) that can be provided in response to an external powerful job execution request.
  • the resource capability information notification unit 132 notifies the resource information acquired by the resource capability information acquisition unit 131 to the transmission source of the resource capability acquisition request in response to the received resource capability acquisition request.
  • the resource agent 120 is notified.
  • the resource status management unit 121 and the resource capacity management unit 122 receive this notification, and store and manage the storage in the storage device such as the main memory 13 or the magnetic disk device 15.
  • the notification from the resource capability information notification unit 132 to the grid server 100 may be performed periodically, or may be performed when the operation status of the own system is changed. Also, the resource agent 120 of the grid server 100 may make an inquiry to the corresponding grid server 100 of another grid system at an arbitrary timing.
  • the job receiving unit 133 receives the job execution request transmitted from the job requesting unit 124 of the resource agent 120 of the grid server 100 in another grid system.
  • the job execution requesting unit 134 requests the scheduler 110 to schedule and execute the job received by the job receiving unit 133.
  • FIG. 5 is a diagram showing the relationship between the functional configuration of the process server 200 and the resource agent 120 of the grid server 100.
  • the process server 200 is a process server resource agent.interface (hereinafter referred to as “PS agent” interface) for causing the computer device shown in FIG. 3 to function as the process server 200 in the grid system. ) 210 Have.
  • PS agent process server resource agent.interface
  • the PS agent ′ interface 210 is realized by, for example, the program-controlled CPU 11 shown in FIG. 3, storage means such as the main memory 13 and the magnetic disk device 15, and the network interface 16. As shown in FIG. 5, the functions include a PS status monitoring unit 211, a resource capability information notification unit 212, a job reception unit 213, and a job execution unit 214.
  • the PS status monitoring unit 211 monitors the current usage status and resource status of its own device (process server 200) and collects information.
  • the resource capability information notifying unit 212 notifies the resource agent 120 of the grid server 100 of the information on the usage status of the PS and the status of the resource collected by the PS status monitoring unit 211.
  • the resource status management unit 121 and the resource capacity management unit 122 receive this notification, and store and manage it in a storage device such as the main memory 13 or the magnetic disk device 15.
  • the notification from the resource capability information notification unit 212 to the grid server 100 may be performed periodically, or may be performed when the operation status of the process server 200 is changed. It is also possible to inquire the process server 200 at any time from the corresponding resource agent 120 of the grid server 100 and match it!
  • the job receiving unit 213 receives the job execution request transmitted from the job requesting unit 124 of the resource agent 120 of the grid server 100.
  • the job execution unit 214 executes the job received by the job reception unit 213 using the resources of the process server 200.
  • the PS status monitoring unit 211 monitors the status of its own device and collects information.
  • the resource capacity information acquisition unit 131 inquires the scheduler 110 of the resource capacity of the own system, and the job execution unit 214 executes a job using the resources of the own apparatus, while the job execution request unit 134 sets the scheduler.
  • job execution is requested to 110.
  • the process server 200 with the PS agent interface 210 is a local resource that executes jobs in the grid system
  • the GS agent interface 130 is a local resource.
  • the embedded grid server 100 is a server that performs overall control of the grid system and performs scheduling of job execution.
  • the resource agent 120 of the grid server 100 that transmits a resource capacity acquisition request and a job execution request and the corresponding GS agent 'interface 130 and PS agent' interface 210, the GS agent ' There is no difference between the interface 130 and the PS agent 'interface 210. Therefore, the resource agent 120 has the same functional configuration regardless of whether the corresponding partner is the process server 200 that is a local resource or another grid server 100 that is a network resource.
  • the jobs are executed with the load distributed by a group of grid systems constituting the wide area distribution system.
  • the client is an information device such as a computer or a PDA (Personal Digital Assistant) that can access any of the grid systems constituting the wide area distribution system of the present embodiment.
  • the process server 200 having a function described later can also issue a job execution request as a client.
  • FIG. 6 is a diagram showing the relationship between the functional configuration of a client that issues a job execution request to the wide area distributed system of the present embodiment and the scheduler 110 of the grid server 100.
  • the client 300 sends the job execution request to the grid system
  • the system includes a resource capacity inquiry section 310 for inquiring the resource capacity of the system, and a job request section 320 for issuing a job execution request and transmitting it to the grid system.
  • the client 300 may leave the computer resources necessary for executing the job to the grid system if the execution result for the desired job is obtained.
  • the resource capability inquiry unit 310 is required. Not a configuration requirement.
  • These functions are realized by a program-controlled CPU 11 and storage means such as a main memory 13 and a magnetic disk device 15, for example, when the client 300 is configured by the computer device shown in FIG.
  • the job requesting unit 320 of the client 300 issues a job execution request and transmits the job execution request to the grid server 100 in the grid system to be accessed.
  • a resource capacity acquisition request is transmitted from the resource capacity inquiry unit 310 to the grid server 100 to determine whether the grid system has sufficient resource capacity to execute a job. Can be.
  • the job receiving unit 113 receives the job execution request transmitted from the client 300, and the optimal resource selecting unit 114 targets the resource means that can be used by the own system. Assign jobs.
  • the resource means to which the job is assigned are the process server 200, which is a local resource, and another grid system, which is a network resource.
  • FIG. 7 is a flowchart for explaining the job scheduling operation by the scheduler 110.
  • the optimal resource selection unit 114 acquires statistical information such as the capability and operation tendency of each resource means from the resource agent 120 via the resource capability inquiry response unit 111 and the resource capability acquisition unit 112 (step 701), and optimal scheduling is performed based on the information and the type and characteristics of the job (step 702). Then, the job requesting unit 115 issues a job execution request based on the processing result of the optimal resource selecting unit 114 irrespective of the operation status of the resource unit to which the job is assigned, and issues a resource agent 120 corresponding to the resource unit. (Step 703).
  • the logic of the scheduling by the optimal resource selection unit 114 may be arbitrary, but may be other groups.
  • the job execution is also scheduled in the grid system to which the job is requested. Therefore, it is generally considered that allocating jobs to local resources is more efficient. Therefore, first assign a job to the process server 200, which is a local resource of the own system, and use the method that was used when requesting another grid system to execute a job when the capacity of the process server 200 alone is insufficient. Can be.
  • the resource agent 120 transmits the job execution request received from the job requesting unit 115 of the scheduler 110 to the corresponding resource means, and also receives the resource execution result and returns the job execution result to the scheduler 110.
  • the operation of the resource agent 120 does not differ depending on whether the corresponding resource means is the process server 200 or another grid system.
  • the scheduler 110 integrates the execution results of the job by each resource means received from the resource agent 120 and returns the result to the client 300.
  • the resource means for executing a job is a case where the resource is a process server 200 which is a local resource of the grid system requested to execute the job, or a case where the resource means is another grid system which is a network resource.
  • the job receiving unit 213 of the PS agent interface 210 receives a job execution request from the resource agent 120 of the grid server 100
  • the process server 200 executes the job in accordance with the request. Then, the execution result is returned to the resource agent 120 of the grid server 100.
  • the resource means is a grid system
  • a job execution request from the resource agent 120 is received by the job receiving unit 133 of the GS agent 'interface 130 in the grid server 100 of the grid system, and The request is sent to the scheduler 110 of the grid server 100 by the request unit 134.
  • FIG. 8 is a diagram showing the relationship between the resource agent 120, the GS agent 'interface 130, and the scheduler 110.
  • the scheduler 110 similarly to the operation for the job execution request directly received from the client 300 described above, the scheduler 110 also responds to the job execution request received from the grid server 100 of another grid system via the GS agent 'interface 130. Scheduling can be performed, and a job execution can be requested to resource means available to the own system.
  • the resource agent 120 acquires information (resource information) on the current operation status and job execution capability of the corresponding resource device, And the resource capacity management unit 122.
  • the resource means is the process server 200
  • the resource information is collected by the PS status monitoring unit 211 of the PS agent interface 210 and sent to the resource agent 120 by the resource capability information notification unit 212.
  • the resource information is acquired by the resource capability information acquisition unit 131 of the GS agent 'interface 130 in the grid server 100 of the grid system, and the resource information is reported by the resource capability information notification unit 132. Sent to Sagent 120.
  • the resource capability information acquisition unit 131 interrogates the resource capability inquiry of the scheduler 110 with the matching response unit 111, and receives the information. Therefore, the resource capability inquiry response unit 111 may receive an inquiry about the resource capability from the client 300, or may receive an inquiry from the GS agent 'interface 130.
  • another grid system adjacent to this grid system on the network can execute a job on the grid system while being able to use it as a resource means of the grid system. You can also ask.
  • the grid system uses the predetermined grid system that has requested the job execution as a resource means of its own system. Not available.
  • the scheduler 110 uses the grid system including the grid server 100 which has transmitted the resource capability acquisition request to the GS agent' interface 130 as a resource means. I can't. Therefore, in this case, the scheduler 110 calculates the resource capacity that can be provided except for the grid system including the grid server 100 that has transmitted the resource capacity acquisition request, and returns it to the GS agent 'interface 130.
  • FIG. 9 is a diagram showing an overall configuration of a grid system group constituting a wide area distributed system according to the present embodiment.
  • each grid system the connection between the grid server 100 and the process server 200 which is a local resource, and the connection between the grid server 100 and another grid system are connected to the grid server 100. It has been decided to be performed through the provided resource agent 120.
  • a network scheme as shown in FIG. 9 is realized, and each grid system group can receive a job execution request from the client 300, and transfers the job to the process server 200 which is a local resource of its own system. , Or can be put into another grid system adjacent on the network and executed.
  • Each grid system does not have a subordinate relationship, and operates in parallel in an equal relationship.
  • FIG. 10 is a diagram showing a state of distribution when a job is input to a predetermined grid system of a grid system group connected by the network scheme of the present embodiment.
  • a job is submitted to grid A in a wide-area distributed system consisting of five grid systems (grids A, B, C, D, and E) indicated by broken lines.
  • This job is first distributed to Process Server (PS) 200, which is a local resource of Grid A. If the capacity of the local resource of Grid A cannot handle this job and overflow occurs, the grid server (GS) 100 of Grid A will respond to the neighboring grids B and C on the network.
  • PS Process Server
  • a job can be passed from the grid A to the grids B and C regardless of the operation status of the grids B and C.
  • grid A In the grid server 100, the resource agents 120 corresponding to the grids B and C receive the execution request of the job, and when the grids B and C are ready to accept the job, the resource agents 120 switch to the grids B and C. The job is submitted to C.
  • the job is input to another grid system.
  • a method of processing jobs preferentially with local resources as much as possible is preferable to reduce the load on the network.
  • the method of distributed job submission is not limited to this. In consideration of the local resources of the own system and the capacity of other neighboring grid systems, job types, characteristics, etc., it is possible to allocate jobs with arbitrary logic so that distribution is optimal (high execution efficiency). it can.
  • FIG. 11 is a diagram showing a state of distribution when a job is input to another grid system (grid B) in the grid system group of FIG.
  • a job submitted to grid B is first submitted to process server 200, which is a local resource of grid B, and when an overflow occurs, adjacent grids A, D, and Distributed into E. If an overflow occurs in grid A, jobs are also distributed to grid C.
  • FIG. 12 is a diagram illustrating resource capacity when a job is input to a predetermined grid system in the grid system group of FIG.
  • the resource capacity of each grid system is defined as follows.
  • C Grid system X's own (local resource) resource capacity
  • C Resource capacity that grid system x can provide in response to a job execution request from a client
  • grid system b (grid B in Fig. 10) is adjacent to grid system a and grid systems d and e (grid D and E in Fig. 10).
  • the resource capacity that can be provided is the sum of the resource capacity of the own system and the resource capacity provided by grid systems d and e. That is,
  • grid system c (grid C in Fig. 10) is only adjacent to grid system a, so it can provide only the resource capacity of its own system.
  • the processing capacity C provided to execute this job is calculated as follows.
  • the resource capacity provided from grid system b to grid system d is as follows.
  • the resource capacity c is as described above.
  • each grid system directly obtains the resource capability of its own system and the resource capability provided by another grid system adjacent to its own system.
  • the processing capacity of the entire wide area distributed system is increased. Therefore, as in the conventional technology shown in Figs. 13 to 15, the network load that does not require the provision of a meta-scheduler to exchange information for grasping the state of the grid system and its local resources in the entire wide area distributed system. Can be greatly reduced.
  • the grid server 100 of the grid system and the process server 200 which is a local resource are connected as a resource agent 120 provided in the grid server 100 as an interface module.
  • Grid Sano 100 of another grid system adjacent on the network was connected via the same resource agent 120.
  • the grid servers 100 of the grid systems adjacent to each other on the network can treat each other's grid system in the same way as the local resources of the own system.
  • a connected wide area distributed system can be realized. Since the scheduler 110 of each grid server 100 does not need to distinguish between other grid systems and its own resources, there is no need to introduce a special mechanism for a wide area distributed system. Also, there is no need to provide a meta-scheduler that manages the grid system group that composes the wide area distributed system. Therefore, the labor and cost required for system development can be significantly reduced.
  • the scheduler 110 since the resource agent 120 provided corresponding to each resource means manages information on resource means including local resources and other adjacent grid systems, the scheduler 110 operates each resource means.
  • the job may be assigned to the resource agent 120 without considering the state. Therefore, when a new grid system is added to the grid system group that composes the wide area distributed system, or when a predetermined grid system is excluded from the grid system group, the grid system adjacent to these grid systems is This can be achieved simply by adding or deleting the corresponding resource agent 120. For this reason, the extensibility and flexibility of the system are very high.
  • FIG. 1 is a diagram showing an entire configuration of a wide area distributed system according to the present embodiment.
  • FIG. 2 is a diagram showing a configuration of each grid system constituting the wide area distributed system of FIG. 1.
  • FIG. 3 is a diagram schematically showing an example of a hardware configuration of a computer device suitable for realizing a grid server and a process server in the present embodiment.
  • FIG. 4 is a diagram showing a functional configuration of a grid server in the present embodiment.
  • FIG. 5 is a diagram showing a relationship between a functional configuration of a process server and a resource agent of a grid server according to the embodiment.
  • FIG. 6 is a diagram showing a relationship between a functional configuration of a client that issues a job execution request to the wide area distributed system of the present embodiment and a grid server scheduler.
  • FIG. 7 is a flowchart illustrating an operation of scheduling a job by the scheduler of the embodiment.
  • FIG. 8 is a diagram showing a relationship between a resource agent, a GS agent 'interface, and a scheduler in the present embodiment.
  • FIG. 9 is a diagram showing an entire configuration of a grid system group constituting a wide area distributed system according to the present embodiment.
  • FIG. 10 is a diagram illustrating a distribution state when a job is input to a predetermined grid system of a grid system group connected by the network scheme of the present embodiment.
  • FIG. 11 is a diagram showing a distribution state when a job is input to another grid system in the grid system group of FIG.
  • FIG. 12 is a diagram illustrating resource capacity when a job is input to a predetermined grid system in the grid system group of FIG.
  • FIG. 13 is a diagram schematically showing a system configuration of a wide area distributed system by a centralized scheme.
  • FIG. 14 is a diagram schematically showing a system configuration of a wide area distributed system by a hierarchical scheme.
  • FIG. 15 is a diagram schematically showing a system configuration of a wide area distributed system by a distributed scheme. Explanation of reference numerals

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】 グリッドシステム群を統合して利用する広域分散システムにおいて、システム構成の変更や規模の拡大縮小に容易に対応可能なスケーラブルなシステム構成を実現する。  【解決手段】 広域分散システムを構成する各グリッドシステムのグリッドサーバ100は、自システムを構成するコンピュータ(ローカルリソース)とネットワーク上の他のグリッドシステム(ネットワークリソース)とを含むリソース手段を対象としてジョブの割り当てを行い、このジョブの実行要求を行うスケジューラ110と、このスケジューラ110とリソース手段との間の通信を中継するリソースエージェント120とを備える。リソースエージェント120は、リソース手段の情報を管理すると共に、スケジューラ110によるジョブの実行要求をそのジョブの割り当てられたリソース手段に代わって受け付け、かかるリソース手段の状況に応じてジョブの実行要求をリソース手段に対して行う。

Description

明 細 書
分散処理環境におけるジョブの実行を制御するためのコンピュータシステ ム、方法及びプログラム
技術分野
[0001] 本発明は、グリッドコンピューティングに関し、特に複数のグリッドコンピューティング システムを統括的に制御する方法およびそのシステム構成に関する。
背景技術
[0002] 近年、ネットワークで接続されたヘテロジーニアス (異機種混在)な情報システムを 統合して利用する、グリッドコンピューティングと呼ばれる技術が注目されている。この 技術では、ネットワーク上の複数のコンピュータにおける CPUパワーやデータストレ ージなどのコンピュータ資源が共有され、仮想的な 1つの高性能コンピュータとして利 用される。複数のコンピュータに並列処理を行わせることで、 1台 1台の性能は低くと も高速に大量の処理を実行することが可能となる。
[0003] さて、広域ネットワークに接続された分散処理システム群にあるコンピュータ資源を 仮想化し、互 、の分散処理システム群に存在するコンピュータ資源をユーティリティと して共有して、有効活用することを考える。ここで、分散処理システムとは、ネットヮー クに接続された多数の多種多様なコンピュータ資源を 1つのグループとして管理し、 負荷分散およびスケジューリングを行って 、るシステムを 、う。分散処理システム群と は、広域ネットワーク (分散ネットワーク)上に複数存在している一群の分散処理シス テムを意味する。以下の説明では、分散処理システムを資源が仮想化されたグリッド コンピューティング環境における個々のグリッドコンピューティングシステム(以下、ダリ ッドシステムと略記する)として記述する。
[0004] このような、グリッドシステム群に存在するコンピュータ資源を統合して利用する広域 的な分散システムを構築するためには、個々のグリッドシステムにおけるコンピュータ 資源の管理の他に、グリッドシステム群全体を管理する仕組みが必要である。そこで 従来から、このようなグリッドシステム群のコンピュータ資源の負荷分散やスケジユーリ ングを行うためのメタスケジューラの研究、開発が行われている。メタスケジューラを備 えた従来のグリッドシステム群の組織形態は、主として集中型スキーム(Centralized Scheme)、階層型スキーム(Hierarchical Scheme)、分散型スキーム(Distributed scheme)の
3種類に分けられる (集中型スキームおよび階層型スキームについては例えば非特 許文献 1を参照、分散型スキームについては例えば非特許文献 2を参照)。
[0005] 図 13は、集中型スキームによるシステム構成を概略的に示した図である。
集中型スキームでは、グリッドシステム群全体を管理するセンターサーバのメタスケ ジユーラに、全てのグリッドシステムの†青報が集められ、そのメタスケジューラでスケジ ユーリングの決定がなされる。個々のグリッドシステムであるローカルサイト(ローカル ディスパッチャ)では、スケジューリングの決定はなされないが、センターサーバのメタ スケジューラ力も投入されたジョブを実行し、ジョブの完了と資源の状態 (空いたプロ セッサなど)の情報をメタスケジューラに通知する。新しいグリッドシステムの追加など システム構成を変更する場合、メタスケジューラによるスケジューリングに反映させる ためにセンターサーバでの手続きが必要である。
[0006] 図 14は、階層型スキームによるシステム構成を概略的に示した図である。
階層型スキームでは、センターサーバと各ローカルサイトとの間で、スケジユーリン グのプロセスをシェアする。センターサーバのメタスケジューラからローカルサイトのス ケジユーラにジョブをサブミットした後は、メタスケジューラは、そのジョブに対して直接 に関与する必要はない。もし、ジョブのサブミット後に他のローカルサイトに空きができ ても、各ジョブの実行は、そのジョブが送られた各ローカルサイトにおいて実行される
[0007] 図 15は、分散型スキームによるシステム構成を概略的に示した図である。
分散型スキームでは、全てのサイトにメタスケジューラが設けられる。ジョブは、各口 一カルサイトのメタスケジューラにサブミットされて、スケジューリングされる。全てのサ イトがメタスケジューラを持つので、あるジョブに関して、所定のローカルサイトでー且 スケジューリングされた後に、他のローカルサイトに空きができたならば、当該ジョブを 当該他のローカルサイトで実行するようにスケジューリングし直すことができる。各ロー カルサイトのメタスケジューラは同一の情報を持つ必要があり、各ローカルサイトの負 荷状況等の情報を随時あるいは定期的に交換する。
[0008] 非特許文献 1: Chris Smith, "Open Source Metascheduling for Virtual Organizations with the Community Scheduler Framework (CSF)", Technical Whitepaper, Platform Computing Inc. 2003年 8月 .
非特許文献 2 : Vi jay Subramani, "Distributed Job Scheduling on Computational Grids using Multiple simultaneous Requests , IEEE International Symposium on High Performance Distributed Computing (HPDC 2002), 2002年.
発明の開示
発明が解決しょうとする課題
[0009] 上述したように、ネットワーク上の複数のグリッドシステム群に存在するコンピュータ 資源を統合して利用する広域的な分散システムを構築するため、グリッドシステム群 全体を管理する仕組みが従来から提案されて!ヽる。
しかし、上述した集中型スキームは、メタスケジューラにおいてネットワーク上の各口 一カルサイトにあるコンピュータ資源の詳細な情報を管理する必要があるので、新し V、グリッドシステムの追加などシステム構成を変更する場合、メタスケジューラによるス ケジユーリングに反映させるためにセンターサーバでの手続きが必要となる。したがつ て、システム構成の変更(ローカルサイトの追加、削除、ローカルサイトにおけるコンビ ユータ資源の変更等)に伴って、メタスケジューラにおける設定の更新を要し、センタ 一サーバにおける運用 '管理の負荷が大きくなる。したがって、システム構成の変更 や規模の拡大縮小に容易に対応することができず、スケーラブルなシステムにするの は難しい。
[0010] また、階層型スキームは、センターサーバのメタスケジューラからローカルサイトのス ケジユーラにジョブをサブミットした後は、メタスケジューラは、そのジョブに対して直接 に関与しないため、ジョブのサブミット後に他のローカルサイトに空きができても、各ジ ヨブの実行は、そのジョブが送られた各ローカルサイトにおいて実行される。このため
、必ずしも効率良くジョブが実行されない。
なお、階層型スキームでは、各ローカルサイト間で情報をやりとりすることにより、他 のローカルサイトに空きができた場合に、すでに別のローカルサイトにサブミットされ たジョブを空 、たローカルサイトに再サブミットする仕組みを導入することもできる。し かし、このような仕組みを導入すると、システムが複雑ィ匕してしまうため、開発に手間 を要する。
また、各ローカルサイト間で情報をやりとりするために、ネットワーク負荷が増大して しまう。さら〖こ、階層型スキームにおいても、集中型スキームと同様に、システム構成 の変更に伴ってメタスケジューラにおける設定の更新を要するため、システム構成の 変更や規模の拡大縮小に容易に対応することができず、スケーラブルなシステムに するのは難しい。
[0011] また、分散型スキームにおいても、全てのローカルサイトのメタスケジューラ間で、各 ローカルサイトの負荷状況等の情報を随時あるいは定期的に交換する必要があるた め、ネットワーク負荷が増大してしまう。そして、システム構成の変更に伴って各ロー カルサイトのメタスケジューラにおける設定の更新を要するため、システム構成の変更 や規模の拡大縮小に容易に対応することができず、スケーラブルなシステムにするの は難しい。
さらに、階層型スキームや分散型スキームでは、メタスケジューラとローカルなスケ ジユーラとを個別に開発しなければならず、開発コストが増大する。
[0012] そこで本発明は、グリッドシステム群に存在するコンピュータ資源を統合して利用す る広域分散システムにお 、て、システム構成の変更や規模の拡大縮小に容易に対 応可能なスケーラブルなシステム構成を実現することを目的とする。
また本発明は、効率よくジョブを実行するためにローカルサイト間で情報をやり取り しながら、ネットワーク負荷を軽減することを他の目的とする。
また本発明は、システムの開発コストを増大させることなぐグリッドシステム群を統 合した広域分散システムを実現することをさらに他の目的とする。
課題を解決するための手段
[0013] 上記の目的を達成するため、本発明は、ネットワークを介して接続されたコンビユー タシステム群 (グリッドシステム群)により分散処理を行うネットワークとして実現される。 すなわち、この分散処理環境において各グリッドシステムは、ネットワーク上のコンビ ユータ資源に対して情報処理におけるジョブの割り当ておよび実行要求を行うグリツ ドサーバと、 自システムにおいて実際にジョブを実行するプロセスサーバ等のコンビ ユータ資源(ローカルリソース)とを備える。各グリッドサーバは、それぞれのローカルリ ソースとネットワーク上の他のグリッドシステムとを含むリソース手段を対象としてジョブ の割り当てを行い、このジョブの実行要求を行うスケジューラと、このスケジューラとリ ソース手段との間の通信を中継するエージェント(リソースエージェント)とを備える。こ のエージェントは、リソース手段の情報を管理するソフトウェアモジュールであって、ス ケジユーラによる前記ジョブの実行要求を当該ジョブの割り当てられた当該リソース手 段に代わって受け付け、当該リソース手段の状況に応じて当該ジョブの実行要求を 当該リソース手段に対して行う。
[0014] より詳細には、エージェントは、ローカルリソースおよびネットワーク上で自システム に隣接する(直接に接続されている)他のグリッドシステム (ネットワークリソース)のそ れぞれに対して個別に設けられ、各々が対応するリソース手段との間で設定された 個別の通信形式でジョブの実行要求を行う。
ローカルリソースに対応するエージェントは、その能力および動作状況に関する情 報を力かるローカルリソース力も取得して管理し、他のグリッドシステム (ネットワークリ ソース)に対応するエージェントは、そのグリッドシステムがジョブの実行要求に対して 提供可能なリソース能力の情報を力かる他のグリッドシステムにおけるグリッドサーバ 力も取得して管理する。そして、スケジューラは、リソースエージェントに管理されてい る各情報に基づいて、リソース手段に対するジョブの割り当てを行う。
[0015] さらに、このグリッドサーバは、外部からのジョブの実行要求に応答して自システム が提供可能なリソース能力の情報を前記スケジューラ力 取得するリソース能力情報 取得部と、ネットワーク上の他のグリッドシステムにおけるグリッドサーバのエージェン トからの問い合わせに応答してリソース能力情報部にて取得された提供可能なリソー ス能力の情報をこのエージェントに通知するリソース能力情報通知部とを備えるイン タフエース手段を有することができる。この場合、スケジューラは、 自システムにおける エージェントから取得される前記リソース能力の情報に基づき、提供可能なリソース能 力を計算する。そして、この提供可能なリソース能力の情報をリソース能力情報取得 部に渡す。 [0016] さらにまた、このグリッドサーバのインタフェース手段は、ネットワーク上の他のグリツ ドシステムにおけるグリッドサーバのエージェントから送信されたジョブの実行要求を 受け付けるジョブ受け付け部と、このジョブ受け付け部にて受け付けられた実行要求 にかかるジョブをスケジューラに渡してジョブの割り当ておよび実行を依頼するジョブ 実行依頼部とを備える構成とすることができる。
[0017] また、上記の目的を達成する他の本発明は、グリッドシステムにおいてジョブのスケ ジユーリングおよび実行要求を行う、次のようなジョブ実行制御方法としても実現され る。この方法は、コンピュータシステム(グリッドシステム)が、 自システムに含まれる口 一力ルリソースおよびネットワーク上の他のグリッドシステム(ネットワークリソース)のそ れぞれに対応して設けたインタフェースモジュールにより、ローカルリソースの能力お よび動作状況に関する情報をローカルリソースから取得し、ネットワークリソースが提 供可能なリソース能力の情報をそのネットワークリソースにおけるグリッドサーノ から取 得して管理するステップと、インタフェースモジュールにより管理して 、るこれらの情 報に基づ 、て、ローカルリソースとネットワークリソースとを含むリソース手段を対象と してジョブの割り当てを行うステップと、ジョブの割り当てられたリソース手段に対する ジョブ実行リクエストを発行するステップと、を具備する。さらに、このインタフェースモ ジュールが、発行されたジョブ実行リクエストを一時的に保持し、ジョブの割り当てら れたリソース手段の動作状況に応じて、力かるリソース手段に送信するステップを含 む。
[0018] さらに本発明は、コンピュータを制御して上述したグリッドサーバの機能を実現させ るプログラム、あるいはコンピュータに上記のジョブ実行制御方法の各ステップに対 応する処理を実行させるプログラムとしても実現される。このプログラムは、磁気デイス クゃ光ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワーク を介して配信したりすることにより提供される。
発明の効果
[0019] 以上のように構成された本発明によれば、広域分散システムを構成する各グリッドシ ステムのグリッドサーバを、エージェントを介して接続し、このエージェントに、担当す るグリッドシステムの情報を持たせることにより、担当エージェントの追加、削除によつ てグリッドシステム群全体の構成の変更に対応できるため、システム構成の変更ゃ規 模の拡大縮小に容易に対応可能なスケーラブルなシステム構成を実現できる。 また本発明によれば、各グリッドシステムがネットワーク上で隣接する他のグリッドシ ステムの情報を持つことによって、結果的にグリッドシステム群全体の情報が各グリツ ドシステムに共有されることとなるので、各グリッドシステム間で頻繁に情報交換を行う 必要がなぐネットワーク負荷を軽減することができる。
さらに本発明によれば、グリッドシステム群全体を統括制御するための固有の仕組 みを必要としないので、システムの開発に要する手間やコストを大幅に削減すること ができ、かつ様々なネットワーク構造を持ったシステムを容易に構築できると!、う柔軟 性に富んだシステムを実現できる。
発明を実施するための最良の形態
[0020] 以下、添付図面を参照して、本発明を実施するための最良の形態 (以下、実施形 態)について詳細に説明する。
図 1は、本実施形態による広域分散システムの全体構成を示す図である。 本実施形態の広域分散システムは、インターネット等の広域ネットワークに接続され たグリッドシステム群を統合して、各グリッドシステムにおけるコンピュータ資源を相互 に利用可能としている。各グリッドシステムは、グリッドコンピューティング技術により、 ネットワークに接続された多数の多種多様なコンピュータ資源を 1つのグループとして 管理し、その負荷分散およびスケジューリングを行って 、る分散処理システムである
[0021] 本実施形態にぉ 、て各々のグリッドシステムは、従属関係を持たず、対等な関係で 並列に動作する。また、各グリッドシステムにとって、ネットワーク上で隣接する他のグ リツドシステムは、自システム内のローカルリソース(コンピュータ資源)と同様に扱い、 ジョブの実行を依頼することができる。ここで、ネットワーク上で隣接するとは、ネットヮ ークを介してデータ交換を直接行うことが可能なグリッドシステムどうしの関係を意味 する。また、ローカルリソースとは、グリッドコンピューティングにおいて割り当てられた ジョブを実際に実行するプロセスサーバ等のコンピュータ資源を指す。このような本 実施形態によるグリッドシステム群の組織形態を、以下、ネットワークスキーム( Network Scheme)と称す。
[0022] 図 2は、図 1の広域分散システムを構成する個々のグリッドシステムの構成を示す図 である。
図 2に示すように、本実施形態によるグリッドシステムは、ジョブの割り当て (スケジュ 一リング)を行うグリッドサーバ(GS) 100と、グリッドサーバ 100による割り当てにした がって実際にジョブを実行するローカルリソースとしてのプロセスサーバ(PS) 200と を備える。また、グリッドサーバ 100は、他のグリッドシステムのグリッドサーバ 100とも 接続されている。
[0023] 本実施形態において、グリッドサーバ 100とプロセスサーバ 200、および複数のダリ ッドシステムのグリッドサーバ 100どうしは、インターネットその他のコンピュータネット ワークにて接続されている。このコンピュータネットワークは、通信プロトコルや、有線 力 無線かといつた通信形式を問わず、またファイアウォールやその他のアクセス制 限を設けたものであっても良 ヽ。
また、詳しくは後述する力 上記のネットワークスキームを実現するために、本実施 形態のグリッドサーバ 100は、エージェントと呼ぶインタフェースモジュールを備え、こ のエージェントを介してプロセスサーバ 200や他のグリッドシステムのグリッドサーバ 1 00と接続する。力かる装置間接続のフレームワークを、以下、エージェントフレームヮ ~~ク (Agent Framework)と称す。
[0024] 図 3は、本実施形態におけるグリッドサーバ 100およびプロセスサーバ 200を実現 するのに好適なコンピュータ装置のハードウェア構成の例を模式的に示した図である 図 3に示すコンピュータ装置は、演算手段である CPU (Central Processing Unit : 中央処理装置) 11と、 MZB (マザ一ボード)チップセット 12および CPUバスを介して CPU11に接続されたメインメモリ 13と、同じく MZBチップセット 12および AGP ( Accelerated Graphics Port)を介して CPU11に接続されたビデオカード 1
4と、 PCI (Peripheral Component Interconnect)バスを介して M/Bチップセット 12に接続された磁気ディスク装置 (HDD) 15、ネットワークインタフェース 16と、さら にこの PCIバスからブリッジ回路 17および IS A (Industry Standard Architecture)バス などの低速なバスを介して M/Bチップセット 12に接続されたフレキシブルディスクド ライブ 18およびキーボード Zマウス 19とを備える。
[0025] なお、図 3は本実施形態を実現するコンピュータ装置のハードウェア構成を例示す るに過ぎず、本実施形態を適用可能であれば、他の種々の構成を取ることができる。 例えば、ビデオカード 14を設ける代わりに、ビデオメモリのみを搭載し、 CPU11にて イメージデータを処理する構成としても良いし、外部記憶装置として、 ATA (AT Attachment
)や SCSI (Small Computer System Interface)などのインタフェースを介して CD -R (Compact Disc Recordable)や DVD— RAM (Digital Versatile Disc Random Access Memory)のドライブを設けても良い。
[0026] 図 4は、本実施形態におけるグリッドサーバ 100の機能構成を示す図である。
グリッドサーバ 100は、 自システム内のローカルリソースである各プロセスサーバ 20 0に対するジョブの割り当て(スケジューリング)を行うスケジューラ 110と、プロセスサ ーバ 200の管理を行 、、プロセスサーバ 200に対するリクエストおよびレスポンスの 送受信を中継するリソースエージェント 120と、 自システムをあた力も他のグリッドシス テムのリソースであるかのように動作させるためのグリッドサーバ用リソースエージェン ト 'インタフェース(以下「GSエージェント 'インタフェース」) 130とを備える。リソースェ ージェント 120は、各プロセスサーバ 200およびネットワーク上で隣接する他のグリツ ドシステム (ネットワークリソース)ごとに設けられている。そして、スケジューラ 110は、 このリソースエージェント 120を介して各プロセスサーバ 200および他のグリッドシステ ムのグリッドサーバ 100にアクセスする。
[0027] スケジューラ 110は、例えば図 3に示したプログラム制御された CPU11とメインメモ リ 13や磁気ディスク装置 15等の記憶手段とで実現され、その具体的な機能として図 4に示すように、リソース能力問い合わせ応答部 111と、リソース能力取得部 112と、 ジョブ受け付け部 113と、最適リソース選択部 114と、ジョブ依頼部 115とを備える。 リソース能力問 、合わせ応答部 111は、 GSエージェント ·インタフェース 130を介し て入力される外部力 の問い合わせ (リソース能力取得要求)に応じて、提供可能な 自システムのリソース能力を計算し返答する。提供可能なリソース能力は、後述のリソ ース能力取得部 112により取得される情報に基づいて計算される。また、リソース能 力の提供対象に応じて提供可能なリソース能力を変更することもできる。
リソース能力取得部 112は、 自システムが利用可能なリソース能力を各プロセスサ ーバ 200およびネットワーク上で隣接する他のグリッドシステムに対応するリソースェ ージェント 120に問合せ、情報を取得する(以下、これら自システムのローカルリソー スとして認識されるプロセスサーバ 200およびネットワークリソースとして認識される他 のグリッドシステムを合わせて、リソース手段と称す)。取得される情報には、自システ ムにおける本来の処理能力や記憶装置の記憶容量などを静的情報と、実時間の負 荷状況に基づく動的情報とが含まれる。
ジョブ受け付け部 113は、外部のコンピュータシステム(例えばクライアント)や GSェ ージェント 'インタフェース 130からジョブの実行要求を受け付ける。
最適リソース選択部 114は、リソース能力取得部 112により取得されたリソース能力 の情報に基づき、ジョブに応じてその実行に最適なリソース手段を選択し、ジョブの 割り当てを行う。このジョブの割り当てにおける最適化のロジックは任意で良!、。 ジョブ依頼部 115は、最適リソース選択部 114において選択されたリソース手段に 対応するリソースエージェント 120に対して、ジョブの実行を要求するリクエストを発行 する。
[0028] 本実施形態では、リソースエージェント 120がスケジューラ 110と利用可能なリソー ス手段との間の通信を中継し、スケジューラ 110によるジョブの実行要求をこれらのリ ソース手段に代わって受け付ける。そのため、リソース能力取得部 112の問い合わせ 先やジョブ依頼部 115のリクエストの発行先がリソースエージェント 120となって!/、る
1S それ以外のスケジューラ 110の機能自体は、既存のスケジューラと変わらない。ま た、グリッドサーバ 100と個々のプロセスサーバ 200あるいは他のグリッドシステムの グリッドサーバ 100との間における通信形式の違いは、リソースエージェント 120にお ける設定によって吸収され、スケジューラ 110自身はリクエストを発行する際に通信形 式の差異を考慮する必要がない。したがって、スケジューラ 110には、既存のグリッド システムで利用されて 、るスケジューラを用いることができる。
[0029] リソースエージェント 120は、例えば図 3に示したプログラム制御された CPU11 とメインメモリ 13や磁気ディスク装置 15等の記憶手段とネットワークインタフェース 16 とで実現され、その具体的な機能として図 4に示すように、リソース状況管理部 121と 、リソース能力管理部 122と、ジョブ受け付け部 123と、ジョブ依頼部 124とを備える。 リソース状況管理部 121は、対応するリソース手段にアクセスして、該当するプロセ スサーバ 200 (ローカルリソース)またはグリッドシステム(ネットワークリソース)におけ る現在の動作状況を把握する。
リソース能力管理部 122は、対応するリソース手段のジョブ実行能力に関する統計 情報等を管理し、スケジューラ 110のリソース能力取得部 112からの問い合わせに応 じて、管理している情報を返す。ここで、ジョブ実行能力に関する統計情報等とは、単 に CPU自身の処理能力や記憶装置の記憶容量の静的な情報だけでなぐ CPUに 対する負荷の時間変動や動作傾向といった動的な内容を統計的に処理して得られ た情報を含む。
リソース状況管理部 121およびリソース能力管理部 122に管理されるこのようなリソ ース情報は、リソースエージェント 120が対応しているリソース手段から取得し、図 3の メインメモリ 13や磁気ディスク装置 15等の記憶手段に格納する。
ジョブ受け付け部 123は、スケジューラ 110のジョブ依頼部 115から発行されたジョ ブ実行リクエストを受け付ける。
ジョブ依頼部 124は、ジョブ受け付け部 123により受け付けられたジョブ実行リクェ ストを対応するリソース手段に送信する。
GSエージェント 'インタフェース 130は、例えば図 3に示したプログラム制御された C PU11とメインメモリ 13や磁気ディスク装置 15等の記憶手段とネットワークインタフエ ース 16とで実現され、その具体的な機能として図 4に示すように、リソース能力情報 取得部 131と、リソース能力情報通知部 132と、ジョブ受け付け部 133と、ジョブ実行 依頼部 134とを備える。
上述したように、 GSエージェント 'インタフェース 130は、グリッドシステムをネットヮ ーク上の他のグリッドシステムに対して当該他のグリッドシステムのローカルリソースと 同様に利用可能とするための機能である。この GSエージェント 'インタフェース 130 により、グリッドサーバ 100は、他のグリッドシステムのグリッドサーバ 100からの要求を 受け付け、自システムが利用可能なリソース手段を用いてジョブを実行した結果を返 すことができる。
[0031] リソース能力情報取得部 131は、外部力ものジョブの実行要求に対して提供可能な 自システムのリソース能力の情報(リソース情報)を、スケジューラ 110に問い合わせ て取得する。
リソース能力情報通知部 132は、受信したリソース能力取得要求に応じて、リソース 能力情報取得部 131において取得されたリソース情報を、リソース能力取得要求の 送信元に通知する。リソース能力取得要求がネットワーク上の他のグリッドシステムに おけるグリッドサーバ 100の対応するリソースエージェント 120から受信された場合は 、当該リソースエージェント 120に通知する。リソースエージェント 120では、リソース 状況管理部 121およびリソース能力管理部 122がこの通知を受け付け、メインメモリ 1 3や磁気ディスク装置 15等の記憶装置に格納して管理する。リソース能力情報通知 部 132からグリッドサーバ 100への通知は、定期的に行っても良いし、 自システムの 動作状況が変更された際に行うようにしても良い。また、グリッドサーバ 100のリソース エージェント 120から任意のタイミングで対応する他のグリッドシステムのグリッドサー ノ 100へ問い合わせても良い。
ジョブ受け付け部 133は、他のグリッドシステムにおけるグリッドサーバ 100のリソー スエージェント 120のジョブ依頼部 124力も送信されたジョブ実行リクエストを受け付 ける。
ジョブ実行依頼部 134は、ジョブ受け付け部 133により受け付けられたジョブのス ケジユーリングおよび実行を、スケジューラ 110に依頼する。
[0032] 次に、プロセスサーバ 200の機能構成と、対応するリソースエージェント 120との関 係について説明する。
図 5は、プロセスサーバ 200の機能構成とグリッドサーバ 100のリソースエージェント 120との関係を示す図である。
図 5に示すように、プロセスサーバ 200は、図 3に示したようなコンピュータ装置をグ リツドシステムにおけるプロセスサーバ 200として機能させるためのプロセスサーバ用 リソースエージェント.インタフェース(以下「PSエージェント 'インタフェース」) 210を 備えている。
[0033] PSエージェント 'インタフェース 210は、例えば図 3に示したプログラム制御された C PU11とメインメモリ 13や磁気ディスク装置 15等の記憶手段とネットワークインタフエ ース 16とで実現され、その具体的な機能として図 5に示すように、 PS状況監視部 21 1と、リソース能力情報通知部 212と、ジョブ受け付け部 213と、ジョブ実行部 214とを 備える。
PS状況監視部 211は、自装置 (プロセスサーバ 200)の現在の使用状況や資源の 状況を監視し、情報を収集する。
リソース能力情報通知部 212は、 PS状況監視部 211にお 、て収集された PSの使 用状況や資源の状況に関する情報を、グリッドサーバ 100のリソースエージェント 12 0に通知する。リソースエージェント 120では、リソース状況管理部 121およびリソース 能力管理部 122がこの通知を受け付け、メインメモリ 13や磁気ディスク装置 15等の 記憶装置に格納して管理する。リソース能力情報通知部 212からグリッドサーバ 100 への通知は、定期的に行っても良いし、プロセスサーバ 200の動作状況が変更され た際に行うようにしても良い。また、グリッドサーバ 100の対応するリソースエージェン ト 120から任意のタイミングでプロセスサーバ 200へ問 、合わせても良!、。
ジョブ受け付け部 213は、グリッドサーバ 100のリソースエージェント 120のジョブ依 頼部 124から送信されたジョブ実行リクエストを受け付ける。
ジョブ実行部 214は、ジョブ受け付け部 213により受け付けられたジョブを、プロセ スサーバ 200の資源を用いて実行する。
[0034] グリッドサーバ 100の GSエージェント 'インタフェース 130とプロセスサーバ 200の P Sエージェント 'インタフェース 210とを比較すると、 PS状況監視部 211が自装置の状 況を監視して情報を収集するのに対し、リソース能力情報取得部 131がスケジューラ 110に自システムのリソース能力を問い合わせており、また、ジョブ実行部 214が自 装置の資源を用いてジョブを実行するのに対し、ジョブ実行依頼部 134がスケジユー ラ 110にジョブの実行を依頼している点が異なる。これは、 PSエージェント 'インタフ エース 210が組み込まれたプロセスサーバ 200がグリッドシステムにおいてジョブを実 行するローカルリソースであるのに対し、 GSエージェント 'インタフェース 130が組み 込まれたグリッドサーバ 100がグリッドシステムを統括制御してジョブ実行のスケジュ 一リングを行うサーバであることに基づく相違である。
[0035] すなわち、リソース能力取得要求やジョブの実行要求を送信するグリッドサーバ 10 0のリソースエージェント 120と、これに対応する GSエージェント 'インタフェース 130 および PSエージェント 'インタフェース 210との関係では、 GSエージェント 'インタフエ ース 130と PSエージェント 'インタフェース 210とは何ら変わりがない。したがって、リ ソースエージェント 120は、対応する相手がローカルリソースであるプロセスサーバ 2 00かネットワークリソースである他のグリッドサーバ 100かに関わらず、同じ機能構成 を有することとなる。
[0036] このように、リソースエージェント 120をインタフェースモジュールとして用い、かつグ リツドサーバ 100に GSエージェント 'インタフェース 130を備えることにより、ネットヮー ク上で隣接するグリッドサーバ 100どうしは、互いに自システムのローカルリソースと同 様に他のシステムを扱ってジョブの割り当てを行うことができ、かつ他のシステムの口 一力ルリソースとして振る舞うことができる。このようなエージェントフレームワークによ り、グリッドシステムどうしは従属関係を持たず、対等な関係で並列に動作しながら、 相互に他のグリッドシステムを自システムのリソースとして扱うことが可能なネットワーク スキームが実現される。
[0037] 次に、上記のように構成された本実施形態による広域分散システムの動作につい て説明する。
本実施形態では、所定のクライアントから所定のグリッドシステムに対して発行され たジョブ実行リクエストに応じて、広域分散システムを構成するグリッドシステム群によ り負荷分散されてジョブが実行される。ここで、クライアントとは、本実施形態の広域分 散システムを構成するいずれかのグリッドシステムにアクセス可能なコンピュータや P DA (Personal Digital Assistant)等の情報機器である。後述する機能を備えたプロセ スサーバ 200がクライアントとしてジョブ実行リクエストを発行することもできる。
図 6は、本実施形態の広域分散システムにジョブ実行リクエストを発行するクライア ントの機能構成とグリッドサーバ 100のスケジューラ 110との関係を示す図である。 図 6に示すように、クライアント 300は、ジョブ実行リクエストの送信先であるグリッドシ ステムのリソース能力を問い合わせるためのリソース能力問い合わせ部 310と、ジョブ 実行リクエストを発行してグリッドシステムに送信するジョブ依頼部 320とを備える。な お、クライアント 300は、所望のジョブに対する実行結果が得られれば良ぐジョブの 実行に必要なコンピュータ資源の調達はグリッドシステムに任せて良 、場合は、リソ ース能力問い合わせ部 310は必須の構成要件ではない。これらの機能は、例えばク ライアント 300が図 3に示したコンピュータ装置にて構成される場合、プログラム制御 された CPU 11とメインメモリ 13や磁気ディスク装置 15等の記憶手段とで実現される。
[0038] 本実施形態によりジョブを実行するに際しては、まず上記のクライアント 300のジョ ブ依頼部 320がジョブ実行リクエストを発行し、アクセス対象のグリッドシステムにおけ るグリッドサーバ 100に送信する。なお、これに先立つ事前調査として、リソース能力 問い合わせ部 310から同グリッドサーバ 100に対してリソース能力取得要求を送信し 、グリッドシステムがジョブを実行するに足るリソース能力を備えているかどうかを判断 することができる。
[0039] グリッドサーバ 100のスケジューラ 110では、ジョブ受け付け部 113がクライアント 30 0から送信されたジョブ実行リクエストを受け付け、最適リソース選択部 114が、自シス テムが利用可能なリソース手段を対象として、当該ジョブの割り当てを行う。ジョブの 割り当て対象であるリソース手段は、ローカルリソースであるプロセスサーバ 200と、 ネットワークリソースである他のグリッドシステムである。
[0040] 図 7は、スケジューラ 110によるジョブのスケジューリングの動作を説明するフローチ ヤートである。
図 7を参照すると、最適リソース選択部 114は、リソース能力問い合わせ応答部 111 およびリソース能力取得部 112を介してリソースエージェント 120から各リソース手段 の能力や動作傾向等の統計情報等を取得し (ステップ 701)、これらの情報およびジ ヨブの種類や特性に基づいて最適なスケジューリングを行う(ステップ 702)。そして、 ジョブ依頼部 115が、最適リソース選択部 114による処理結果に基づいて、ジョブが 割り当てられたリソース手段の動作状況に関わらずにジョブ実行リクエストを発行し 、そのリソース手段に対応するリソースエージェント 120に送信する(ステップ 703)。
[0041] 最適リソース選択部 114によるスケジューリングのロジックは任意で良いが、他のグ リツドシステムにジョブの実行を依頼すると依頼先のグリッドシステムでもジョブ実行の スケジューリングが行われることから、一般にローカルリソースにジョブを割り振った方 が作業効率が高いと考えられる。そこで、まず自システムのローカルリソースであるプ ロセスサーバ 200に対してジョブを割り振り、プロセスサーバ 200だけでは能力が不 足する場合に他のグリッドシステムにジョブの実行を依頼するといつた方法をとること ができる。
[0042] リソースエージェント 120は、スケジューラ 110のジョブ依頼部 115から受け取った ジョブ実行リクエストを対応するリソース手段に送信し、そのリソース手段力もジョブの 実行結果を受け取ってスケジューラ 110に返す。ここで、リソースエージェント 120の 動作は、対応するリソース手段がプロセスサーバ 200であるか他のグリッドシステムで あるかによる違いはない。
スケジューラ 110は、リソースエージェント 120から受け取った各リソース手段による ジョブの実行結果を統合して、クライアント 300に返す。
[0043] さて、本実施形態では、ジョブを実行するリソース手段は、ジョブの実行を依頼され たグリッドシステムのローカルリソースであるプロセスサーバ 200である場合とネットヮ ークリソースである他のグリッドシステムである場合とがある。このうち、プロセスサーバ 200は、 PSエージェント 'インタフェース 210のジョブ受け付け部 213がグリッドサー ノ 100のリソースエージェント 120からジョブ実行リクエストを受け付けると、そのリクェ ストに応じてジョブ実行部 214がジョブを実行し、実行結果をグリッドサーバ 100のリソ ースエージェント 120に返す。
[0044] 一方、リソース手段がグリッドシステムである場合、リソースエージェント 120からのジ ヨブ実行リクエストは、当該グリッドシステムのグリッドサーバ 100における GSエージェ ント 'インタフェース 130のジョブ受け付け部 133により受け付けられ、ジョブ実行依頼 部 134により当該グリッドサーバ 100のスケジューラ 110に送られる。
図 8は、リソースエージェント 120と GSエージェント 'インタフェース 130とスケジユー ラ 110との関係を示す図である。
ここで、図 8と図 6とを比較すると、スケジューラ 110にとつては、 GSエージェント'ィ ンタフェース 130との関係と、クライアント 300の PSエージェント 'インタフェース 210と の関係は等価である。したがって、スケジューラ 110は、上述したクライアント 300から 直接受け取ったジョブ実行リクエストに対する動作と同様に、 GSエージェント 'インタ フェース 130を介して他のグリッドシステムのグリッドサーバ 100から受け取ったジョブ 実行リクエストに対してもスケジューリングを行 、、自システムが利用可能なリソース手 段に対してジョブの実行を依頼することができる。
[0045] ところで、リソースエージェント 120は、 [0029]で述べたように、対応するリソース手 段力 現在の動作状況やジョブ実行能力に関する情報 (リソース情報)を取得して、リ ソース状況管理部 121およびリソース能力管理部 122により管理している。このリソー ス情報は、リソース手段がプロセスサーバ 200である場合は、その PSエージェント'ィ ンタフェース 210の PS状況監視部 211により収集され、リソース能力情報通知部 21 2によりジソースエージェント 120に送られる。
一方、リソース手段が他のグリッドシステムである場合、リソース情報は、当該グリッド システムのグリッドサーバ 100における GSエージェント 'インタフェース 130の リソース能力情報取得部 131により取得され、リソース能力情報通知部 132によりリソ ースエージェント 120に送られる。ここで、リソース能力情報取得部 131は、図 4に示 したように、スケジューラ 110のリソース能力問 、合わせ応答部 111に問 、合わせを 行い、これらの情報を受け取る。したがって、リソース能力問い合わせ応答部 111は、 クライアント 300からリソース能力の問 、合わせを受ける場合と、 GSエージェント 'イン タフエース 130から問い合わせを受ける場合とがある。
[0046] 1つのグリッドシステムに着目した場合、ネットワーク上でこのグリッドシステムに隣接 する他のグリッドシステムは、当該グリッドシステムのリソース手段として利用できる一 方で、当該グリッドシステムに対してジョブの実行を依頼することもできる。そして、所 定のグリッドシステムから当該グリッドシステムに対してジョブの実行が依頼された場 合を考えると、当該グリッドシステムは、ジョブの実行を依頼した所定のグリッドシステ ムを自システムのリソース手段として利用することはできな 、。
したがって、 GSエージェント 'インタフェース 130から問い合わせを受けた場合、ス ケジユーラ 110は、 GSエージェント 'インタフェース 130に対してリソース能力取得要 求を送信したグリッドサーバ 100が含まれるグリッドシステムをリソース手段として利用 することはできない。したがってこの場合、スケジューラ 110は、リソース能力取得要 求を送信したグリッドサーバ 100が含まれるグリッドシステムを除いて提供可能なリソ ース能力を計算して、 GSエージェント 'インタフェース 130へ返すこととなる。
[0047] 図 9は、本実施の形態による広域分散システムを構成するグリッドシステム群の全体 構成を示す図である。
上述したように本実施の形態では、個々のグリッドシステムにおいて、グリッドサーバ 100とローカルリソースであるプロセスサーバ 200との接続、およびグリッドサーバ 10 0と他のグリッドシステムとの接続を、グリッドサーバ 100に備えたリソースエージェント 120を介して行うこととした。これにより、図 9に示すようなネットワークスキームが実現 され、各グリッドシステム群は、それぞれクライアント 300からジョブの実行依頼を受け 付けることができ、そのジョブを自システムのローカルリソースであるプロセスサーバ 2 00によって実行し、あるいはネットワーク上で隣接する他のグリッドシステムに投入し て実行させることができる。各グリッドシステムどうしは従属関係を持たず、対等な関 係で並列に動作する。
[0048] 図 10は、本実施形態のネットワークスキームにより接続されたグリッドシステム群の 所定のグリッドシステムにジョブが投入された場合の分散の様子を示す図である。 図 10の例では、破線で示された 5つのグリッドシステム(グリッド A、 B、 C、 D、 E)か らなる広域分散システムのうち、グリッド Aにジョブが投入されている。このジョブは、ま ずグリッド Aのローカルリソースであるプロセスサーバ(PS) 200に分散投入される。そ して、グリッド Aのローカルリソースの能力ではこのジョブを処理しきれず、オーバーフ ローが発生する場合は、グリッド Aのグリッドサーバ(GS) 100において、ネットワーク 上で隣接するグリッド B、 Cに対応するリソースエージェント 120とスケジューラ 110と の間で動作状況の確認等のネゴシエーションが行われ、当該ジョブがグリッド B、 こ 投入される。ジョブがグリッド B、 Cに投入された場合、各グリッド B、 Cのローカルリソー スで実行され、グリッド Bでオーバーフローが生じる場合には、さらにグリッド Bに隣接 するグリッド D、 Eにも当該ジョブが分散投入される。
[0049] なお、アプリケーションの種類によっては、グリッド B、 Cの動作状況等に関わらず、 グリッド Aからグリッド B、 Cへジョブを渡してしまうこともできる。この場合、グリッド Aの グリッドサーバ 100において、グリッド B、 Cに対応するリソースエージェント 120が当 該ジョブの実行依頼を受け付け、グリッド B、 Cがジョブを受け付け可能な状 態となつた時点で、リソースエージェント 120からグリッド B、 Cへジョブの実行依頼が 行われることとなる。
また、上記の説明では、 自システムのローカルリソースではジョブを処理しきれずォ 一バーフローが生ずる場合に他のグリッドシステムにジョブを投入することとした。この ように、できるだけローカルリソースで優先的にジョブを処理する方法は、ネットワーク の負荷を軽減するために好ましい。し力しながら、ジョブの分散投入の方法はこれに 限るものではな 、。 自システムのローカルリソースおよび隣接する他のグリッドシステ ムの能力やジョブの種類、特性等に鑑み、最適な (実行効率の高い)分散となるよう に、任意のロジックでジョブの割り当てを行うことができる。
[0050] 図 11は、図 10のグリッドシステム群において、他のグリッドシステム(グリッド B)に対 してジョブが投入された場合の分散の様子を示す図である。
図 11に示すように、グリッド Bに投入されたジョブは、まずグリッド Bのローカルリソー スであるプロセスサーバ 200に投入され、オーバーフローが発生する場合に、ネット ワーク上で隣接するグリッド A、 D、 Eに分散投入される。また、グリッド Aにおいてォー バーフローが生じるならば、さらにグリッド Cにもジョブが分散投入される。
このように、本実施形態のネットワークスキームにより接続されたグリッドシステム群 では、各グリッドシステム間に主従関係がなぐ対等な関係で並列に動作するため、 V、ずれのグリッドシステムにジョブが投入されても、ネットワーク上で隣接するグリッド システムに連鎖的にジョブが分散投入され、グリッドシステム群にて構成される広域 分散システム全体でジョブを処理することが可能となる。
[0051] ここで、本実施形態による広域分散システムがジョブを実行する場合におけるリソー ス能力の計算方法の一例について説明する。
図 12は、図 10のグリッドシステム群において所定のグリッドシステムにジョブが投入 された場合のリソース能力を説明する図である。
図 12において、各グリッドシステムのリソース能力は、次のように定義される。
C:グリッドシステム X自身の(ローカルリソースの)リソース能力 C :クライアントからのジョブの実行要求に対してグリッドシステム xが提供可能な リソース能力
C :ネットワーク上でグリッドシステム Xに隣接するグリッドシステム yからの ジョブの実行要求に対してグリッドシステム Xが提供可能なリソース能力
すすななわち、 C および C は次の数 1式により計算される。
[数 1] し X for user し x + -/yeall adjacents of x Ί for χ
c χ for y = x + \Uηzedll adjacents of x except y z for x
[0052] 図 12を参照すると、クライアント 300からグリッドシステム a (図 10のグリッド A)にジョ ブの実行要求が行われた場合、このジョブを実行するために提供される処理能力 C は次のように計算される。
C =C +C +C
ここで、グリッドシステム b (図 10のグリッド B)は、グリッドシステム aの他にグ リツドシステム d、 e (図 10のグリッド D、 E)とも隣接しているので、グリッドシステム aに 対して提供できるリソース能力は自システムのリソース能力とグリッドシステム d、 eから 提供されるリソース能力とを加えたものとなる。すなわち、
C =C +C +C
である。一方、グリッドシステム c (図 10のグリッド C)は、グリッドシステム aとのみ隣接 するので、自システムのリソース能力のみを提供でき、
c =c
となる。
[0053] 同様に図 12から、クライアント 300からグリッドシステム bにジョブの実行要求が行わ れた場合、このジョブを実行するために提供される処理能力 C は次のように計 算される。
C =C +C +C +C そして、グリッドシステム a、 d、 eからそれぞれグリッドシステム bに提供されるリソース は、次のようになる a for b =c a +c c for a
C =C
d for b d
C =C
e for b e
[0054] また、クライアント 300からグリッドシステム dにジョブの実行要求が行われた場合、こ のジョブを実行するために提供される処理能力 C は次のように計算される。
d for user
C =C +C
d for user d b for d
そして、グリッドシステム bからグリッドシステム dに提供されるリソース能力は次のよう になる。
C =C +C +C
b for d b a for b e for b
このうち、リソース能力 c 、 いては上述の通りである。
a for b c につ
e for b
なお、以上の計算方法は例示に過ぎず、この方法に限らないことは言うまでもない
[0055] 以上のように本実施形態では、各グリッドシステムは、直接的には自システムのリソ ース能力と自システムに隣接する他のグリッドシステムが提供するリソース能力とを求 めることで、所定のグリッドシステムに対してジョブの実行要求がなされた場合の広域 分散システム全体の処理能力がわ力ることとなる。したがって、図 13〜15に示した従 来技術のように、メタスケジューラを設けて広域分散システム全体のグリッドシステム やそのローカルリソースの状態を把握するための情報交換を行う必要がなぐネットヮ ーク負荷を大幅に軽減することができる。
[0056] 本実施形態は、グリッドシステムのグリッドサーバ 100とローカルリソースであるプ ロセスサーバ 200とを、グリッドサーバ 100に設けられたリソースエージェント 120をィ ンタフェースモジュールとして接続すると共に、かつグリッドサーバ 100とネットワーク 上で隣接する他のグリッドシステムのグリッドサーノ 100とを、同様のリソースエージェ ント 120を介して接続した。このため、ネットワーク上で隣接する各グリッドシステムの グリッドサーバ 100は、相互に相手のグリッドシステムを自システムのローカルリソース と同様に扱うことができ、これにより、グリッドシステム群が上述したネットワークスキー ムによって接続された広域分散システムを実現することが可能となる。 各グリッドサーバ 100のスケジューラ 110は、他のグリッドシステムと自システムの口 一力ルリソースとを区別する必要がな 、ため、広域分散システム用の特別の仕組みを 導入する必要はない。また、広域分散システムを構成するグリッドシステム群を統括 的に管理するメタスケジューラを設ける必要もない。このため、システムの開発に要す る手間やコストを大幅に削減することができる。
さらに本実施形態では、ローカルリソースおよび隣接する他のグリッドシステムから なるリソース手段の情報を、各リソース手段に対応させて設けられたリソースエージェ ント 120が管理するため、スケジューラ 110は各リソース手段の動作状態を考慮する ことなくリソースエージェント 120に対してジョブの割り当てを行えば良い。したがって 、広域分散システムを構成するグリッドシステム群に新たなグリッドシステムが追加さ れたり、グリッドシステム群力 所定のグリッドシステムが除外されたりした場合、これら のグリッドシステムに隣接するグリッドシステムにお 、て、対応するリソースエージェン ト 120を追加あるいは削除するだけで対応することができる。このため、システムの拡 張性や柔軟性が非常に高い。
そして、ネットワーク上で隣接するグリッドシステムを担当するリソースエージェント 1 20の数を加減することにより、階層構造やカスケード構造など、任意のネットワーク構 造を持った広域分散システムを容易に構築することができる。
例えば、 1つのグリッドシステムにのみ他のグリッドシステムを担当するリソースエー ジェント 120を多数設けること〖こより、この 1つのグリッドシステムをセンターとして用い 、他のグリッドシステム群をバックアップとして運用する、集中型スキームに似た運用 形態のシステムを構築できる。
また、個々のグリッドシステムにおいて他のグリッドシステムを担当するリソースエー ジェント 120を 1つだけ設けることにより、各グリッドシステムがカスケード的に接続され たシステムを構築できる。
さらに、リソースエージェント 120の設定によって、ネットワークに障害が起きた場合 に使用される代替のグリッドシステムを定義しておくことも容易に可能なので、障害に 対して堅牢な広域分散システムを構築することが可能である。
図面の簡単な説明 [図 1]本実施形態による広域分散システムの全体構成を示す図である。
[図 2]図 1の広域分散システムを構成する個々のグリッドシステムの構成を示す図であ る。
[図 3]本実施形態におけるグリッドサーバおよびプロセスサーバを実現するのに好適 なコンピュータ装置のハードウェア構成の例を模式的に示した図である。
[図 4]本実施形態におけるグリッドサーバの機能構成を示す図である。
[図 5]本実施形態におけるプロセスサーバの機能構成とグリッドサーバのリソースエー ジェントとの関係を示す図である。
[図 6]本実施形態の広域分散システムにジョブ実行リクエストを発行するクライアントの 機能構成とグリッドサーバのスケジューラとの関係を示す図である。
[図 7]本実施形態のスケジューラによるジョブのスケジューリングの動作を説明するフ ローチャートである。
[図 8]本実施形態におけるリソースエージェントと GSエージェント 'インタフェースとス ケジユーラとの関係を示す図である。
[図 9]本実施の形態による広域分散システムを構成するグリッドシステム群の全体構 成を示す図である。
[図 10]本実施形態のネットワークスキームにより接続されたグリッドシステム群の所定 のグリッドシステムにジョブが投入された場合の分散の様子を示す図である。
[図 11]図 10のグリッドシステム群において、他のグリッドシステムに対してジョブが投 入された場合の分散の様子を示す図である。
[図 12]図 10のグリッドシステム群において所定のグリッドシステムにジョブが投入され た場合のリソース能力を説明する図である。
[図 13]集中型スキームによる広域分散システムのシステム構成を概略的に示した図 である。
[図 14]階層型スキームによる広域分散システムのシステム構成を概略的に示した図 である。
[図 15]分散型スキームによる広域分散システムのシステム構成を概略的に示した図 である。 符号の説明
11〜CPU (Central Processing Unit:中央処理装置)、 13· "メインメモリ、 15
…磁気ディスク装置(HDD)、 16…ネットワークインタフェース、 100···グリッドサーバ 、 110···スケジューラ、 111···リソース能力問い合わせ応答部、 112···リソース能力 取得部、 113···ジョブ受け付け部、 114…最適リソース選択部、 115…ジョブ依頼部 、 120···リソースエージェント、 121···リソース状況管理部、 122···リソース能力管理 123···ジョブ受け付け咅^ 124···ジョブ依頼咅^ 130 -GSエージェント 'インタフ エース、 131···リソース能力情報取得部、 132···リソース能力情報通知部、 133···ジ ヨブ受け付け部、 134···ジョブ実行依頼部、 200···プロセスサーノ 、 210 PSエー ジェント 'インタフェース、 211 "'PS状況監視部、 212···リソース能力情報通知部、 2 13···ジョブ受け付け咅^ 214—ジョブ実行咅^ 300···クライアント、 310···リソース會 力問い合わせ部、 320…ジョブ依頼部

Claims

請求の範囲
[1] 複数のコンピュータシステムをネットワークを介して接続する分散処理環境にぉ 、て
、当該ネットワークに接続されたコンピュータシステムであって、
ジョブを実行するコンピュータ資源(ローカルリソース)と、
ジョブの割り当ておよび実行要求を行うグリッドサーバとを備え、
前記グリッドサーバが、
前記ネットワーク上で前記コンピュータシステム(自システム)に接続されて 、る少な くとも 1つの他のコンピュータシステム(ネットワークリソース)および前記ローカルリソー スに関する情報(リソース情報)を管理し、これらのリソースにジョブの実行を要求する エージェントと、
第 1のジョブの実行をもとめる第 1の要求に応答して、前記リソース情報に基づき、 前記ローカルリソースおよび前記ネットワークリソースのうち 1または複数のリソースに 当該第 1のジョブを割り当てるスケジューラと、を具備することを特徴とする、 コンピュータシステム。
[2] 前記エージェントは、各々の前記ネットワークリソースおよび前記ローカルリソースご とに設けられることを特徴とする、請求項 1に記載のコンピュータシステム。
[3] 前記エージェントによって管理される前記リソース情報は、対応する前記ローカルリ ソースまたは前記ネットワークリソースの処理能力に関する静的情報を含むことを特 徴とする、請求項 2に記載のコンピュータシステム。
[4] 前記エージェントによって管理される前記リソース情報は、対応する前記ローカルリ ソースまたは前記ネットワークリソースの実時間における負荷状況に関する動的情報 を含むことを特徴とする、請求項 2記載のコンピュータシステム。
[5] 前記グリッドサーバは、
前記ネットワーク上の他のコンピュータシステム力 送信された第 2のジョブの実行 をもとめる第 2の要求を受け付け、当該第 2の要求を前記スケジューラに渡して当該 第 2のジョブの割り当てを依頼する第 1のインタフェース手段をさらに具備することを 特徴とする、請求項 1に記載のコンピュータシステム。
[6] 前記第 1のインタフェース手段は、 前記他のコンピュータシステムからの問い合わせに応じて、前記コンピュータシステ ム(自システム)に関する前記リソース情報を、当該他のコンピュータシステムに通知 する手段をさらに有することを特徴とする、請求項 5に記載のコンピュータシステム。
[7] 前記ローカルリソースに対応する前記エージェントは、当該ローカルリソースの処理 能力および動作状況に関する情報を前記リソース情報として管理し、
前記ネットワークリソースに対応する前記エージェントは、当該ネットワークリソース が前記第 1の要求に対して提供可能なリソースの処理能力に関する情報を前記リソ ース情報として管理し、
前記スケジューラは、前記エージェントに管理されている前記リソース情報に基づ V、て、前記第 1のジョブの割り当てを行うことを特徴とする、
請求項 2に記載のコンピュータシステム。
[8] 前記ローカルリソースは、
対応する前記エージェントからの問い合わせに応じて、前記リソース情報を当該ェ ージェントに通知する第 2のインタフェース手段をさらに具備することを特徴とする、請 求項
2に記載のコンピュータシステム。
[9] それぞれがジョブを実行するローカルのコンピュータ資源(ローカルリソース)を有す る複数のコンピュータシステムをネットワークを介して接続する分散処理環境におい て、ジョブの実行を制御するための方法であって、
前記ネットワークに接続された第 1のコンピュータシステム力 自身の前記ローカル リソース力 その処理能力に関する第 1のリソース情報を、前記ネットワーク上で当該 第 1のコンピュータシステムと接続されている少なくとも 1つの第 2のコンピュータシス テム (ネットワークリソース)力もその処理能力に関する第 2のリソース情報を、それぞ れ取得して管理するステップと、
前記第 1のコンピュータシステム力 第 1のジョブの実行をもとめる第 1の要求に応答 して、前記第 1および第 2のリソース情報に基づいて、前記ローカルリソースと前記ネ ットワークリソースを対象として前記第 1のジョブの割り当てを行うステップと、 前記第 1のコンピュータシステムが、前記第 1のジョブの割り当てられたリソースに対 して当該第 1のジョブの実行をもとめる第 2の要求を発行するステップと、 を含むことを特徴とするジョブ実行制御方法。
[10] 前記第 1のコンピュータシステムが、発行された前記第 2の要求を一時的に保持し、 前記第 1のジョブの割り当てられた前記リソースの動作状況に応じて、当該リソースに 送信するステップをさらに有することを特徴とする、請求項 9記載の方法。
[11] 前記第 2のコンピュータシステムが、前記ネットワーク上で当該第 2のコンピュータシ ステムと接続されている少なくとも 1つの第 3のコンピュータシステムとの関係で、前記 第 1のコンピュータシステムと同等のステップを実行することを特徴とする、請求項 10 記載の方法。
[12] 前記第 2のコンピュータシステムが、前記第 1のコンピュータシステムからの問い合 わせに応答して、前記第 2のリソース情報を通知するステップを有することを特徴とす る、請求項 9記載の方法。
[13] それぞれがジョブを実行するローカルのコンピュータ資源(ローカルリソース)を有す る複数のコンピュータシステムをネットワークを介して接続する分散処理環境におい て、前記ネットワークに接続された第 1のコンピュータシステムに、
前記ネットワークに接続された第 1のコンピュータシステム力 自身の前記ローカル リソース力 その処理能力に関する第 1のリソース情報を、前記ネットワーク上で当該 第 1のコンピュータシステムと接続されている少なくとも 1つの第 2のコンピュータシス テム (ネットワークリソース)力もその処理能力に関する第 2のリソース情報を、それぞ れ取得して管理する処理と、
前記第 1のコンピュータシステム力 第 1のジョブの実行をもとめる第 1の要求に応答 して、前記第 1および第 2のリソース情報に基づいて、前記ローカルリソースと前記ネ ットワークリソースを対象として前記第 1のジョブの割り当てを行う処理と、
前記第 1のコンピュータシステムが、前記第 1のジョブの割り当てられたリソースに対 して当該第 1のジョブの実行をもとめる第 2の要求を発行する処理と、
を実行させることを特徴とするプログラム。
[14] 前記第 1のコンピュータシステムが、発行された前記第 2の要求を一時的に保持し、 前記第 1のジョブの割り当てられた前記リソースの動作状況に応じて、当該リソースに 送信する処理を前記コンピュータにさらに実行させることを特徴とする請求項 13に記 載のプログラム。
PCT/JP2005/009350 2004-05-31 2005-05-23 分散処理環境におけるジョブの実行を制御するためのコンピュータシステム、方法及びプログラム WO2005116832A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006513869A JPWO2005116832A1 (ja) 2004-05-31 2005-05-23 分散処理環境におけるジョブの実行を制御するためのコンピュータシステム、方法及びプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004-161819 2004-05-31
JP2004161819 2004-05-31

Publications (1)

Publication Number Publication Date
WO2005116832A1 true WO2005116832A1 (ja) 2005-12-08

Family

ID=35451046

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/009350 WO2005116832A1 (ja) 2004-05-31 2005-05-23 分散処理環境におけるジョブの実行を制御するためのコンピュータシステム、方法及びプログラム

Country Status (3)

Country Link
JP (1) JPWO2005116832A1 (ja)
CN (1) CN1954295A (ja)
WO (1) WO2005116832A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006038669A (ja) * 2004-07-28 2006-02-09 Toyota Infotechnology Center Co Ltd グリッド・コンピューティング・システム、プログラム、記録媒体およびグリッド・コンピューティング方法
JP2008198025A (ja) * 2007-02-14 2008-08-28 Fujitsu Ltd 並列処理制御プログラム、並列処理制御システムおよび並列処理制御方法
JP2009187415A (ja) * 2008-02-08 2009-08-20 Nec Corp グリッドコンピューティングシステム及びデータ処理方法
JP2011096247A (ja) * 2009-10-28 2011-05-12 Internatl Business Mach Corp <Ibm> 並列計算の親和性駆動分散スケジューリングのための装置、方法、およびコンピュータ・プログラム(並列計算の親和性駆動分散スケジューリングのためのシステムおよび方法)
JP2013239124A (ja) * 2012-05-17 2013-11-28 Nec Corp 端末制御システム、端末管理装置、端末制御装置、端末制御方法、端末管理プログラム及び端末制御プログラム
US9921883B2 (en) 2015-01-22 2018-03-20 Fujitsu Limited Job management device and method for determining processing elements for job assignment

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8442015B2 (en) * 2007-07-20 2013-05-14 Broadcom Corporation Method and system for an atomizing function of a mobile device
CN106899656B (zh) * 2017-01-03 2018-12-11 珠海格力电器股份有限公司 设备控制方法和装置
CN110032364B (zh) * 2019-04-11 2023-08-15 上海商汤智能科技有限公司 数据处理方法、装置、电子设备和计算机存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07141302A (ja) * 1993-11-17 1995-06-02 Agency Of Ind Science & Technol 並列計算機における負荷分散方法
JPH09179832A (ja) * 1995-12-27 1997-07-11 Sony Corp 計算装置および方法
JPH09231184A (ja) * 1996-02-23 1997-09-05 Mitsubishi Electric Corp 自律協調情報処理装置並びに自律協調分散処理方法
JP2912225B2 (ja) * 1996-04-18 1999-06-28 四国日本電気ソフトウェア株式会社 通信処理システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07141302A (ja) * 1993-11-17 1995-06-02 Agency Of Ind Science & Technol 並列計算機における負荷分散方法
JPH09179832A (ja) * 1995-12-27 1997-07-11 Sony Corp 計算装置および方法
JPH09231184A (ja) * 1996-02-23 1997-09-05 Mitsubishi Electric Corp 自律協調情報処理装置並びに自律協調分散処理方法
JP2912225B2 (ja) * 1996-04-18 1999-06-28 四国日本電気ソフトウェア株式会社 通信処理システム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ANDRADE N. ET AL: "Our Grid: An approach to easily assemble grids with equitable resource sharing", PROCEEDINGS OF THE 9TH INTERNATIONAL JOB SCHEDULING FOR PARALLEL PROCESSING, June 2003 (2003-06-01), pages 61 - 86, XP002990370 *
PROCEEDINGS OF THE 19TH INTERNATIONAL CONFERENCE ON DATA ENGINEERING (ICDE), March 2003 (2003-03-01), XP010678728 *
TALIA D. ET AL: "Toward a Synergy Between P2P and Grids", IEEE INTERNET COMPUTING, 2003, pages 94 - 96, XP002990371 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006038669A (ja) * 2004-07-28 2006-02-09 Toyota Infotechnology Center Co Ltd グリッド・コンピューティング・システム、プログラム、記録媒体およびグリッド・コンピューティング方法
JP4522780B2 (ja) * 2004-07-28 2010-08-11 株式会社トヨタIt開発センター グリッド・コンピューティング・システム、プログラム、記録媒体およびグリッド・コンピューティング方法
JP2008198025A (ja) * 2007-02-14 2008-08-28 Fujitsu Ltd 並列処理制御プログラム、並列処理制御システムおよび並列処理制御方法
JP2009187415A (ja) * 2008-02-08 2009-08-20 Nec Corp グリッドコンピューティングシステム及びデータ処理方法
JP2011096247A (ja) * 2009-10-28 2011-05-12 Internatl Business Mach Corp <Ibm> 並列計算の親和性駆動分散スケジューリングのための装置、方法、およびコンピュータ・プログラム(並列計算の親和性駆動分散スケジューリングのためのシステムおよび方法)
US8959525B2 (en) 2009-10-28 2015-02-17 International Business Machines Corporation Systems and methods for affinity driven distributed scheduling of parallel computations
JP2013239124A (ja) * 2012-05-17 2013-11-28 Nec Corp 端末制御システム、端末管理装置、端末制御装置、端末制御方法、端末管理プログラム及び端末制御プログラム
US9921883B2 (en) 2015-01-22 2018-03-20 Fujitsu Limited Job management device and method for determining processing elements for job assignment

Also Published As

Publication number Publication date
CN1954295A (zh) 2007-04-25
JPWO2005116832A1 (ja) 2008-04-03

Similar Documents

Publication Publication Date Title
Tran-Dang et al. FRATO: Fog resource based adaptive task offloading for delay-minimizing IoT service provisioning
JP5022030B2 (ja) コンピュータシステム、これを構成するサーバ、そのジョブ実行制御方法及びプログラム
US20210250249A1 (en) System and Method for Providing Dynamic Provisioning Within a Compute Environment
US10652319B2 (en) Method and system for forming compute clusters using block chains
US9075659B2 (en) Task allocation in a computer network
WO2005116832A1 (ja) 分散処理環境におけるジョブの実行を制御するためのコンピュータシステム、方法及びプログラム
US7707288B2 (en) Automatically building a locally managed virtual node grouping to handle a grid job requiring a degree of resource parallelism within a grid environment
US20050188087A1 (en) Parallel processing system
US7774457B1 (en) Resource evaluation for a batch job and an interactive session concurrently executed in a grid computing environment
JP4954089B2 (ja) グリッド・アクティビティのモニタリングおよび振り分けによる総合的グリッド環境管理を促進する方法、システム、およびコンピュータ・プログラム
US9424096B2 (en) Task allocation in a computer network
JP5088366B2 (ja) 仮想計算機制御プログラム、仮想計算機制御システムおよび仮想計算機移動方法
KR20130088512A (ko) 클러스터 컴퓨팅 환경에서의 자원 관리 장치 및 방법
JP2008226181A (ja) 並列実行プログラム、該プログラムを記録した記録媒体、並列実行装置および並列実行方法
JP2007041720A (ja) ジョブステップ実行プログラムおよびジョブステップ実行方法
US10270847B2 (en) Method for distributing heavy task loads across a multiple-computer network by sending a task-available message over the computer network to all other server computers connected to the network
JP5151509B2 (ja) 仮想マシンシステム及びそれに用いる仮想マシン分散方法
US20120324095A1 (en) Image processing in a computer network
JP2007102332A (ja) 負荷分散システム及び負荷分散方法
JP4963854B2 (ja) マルチプロセッサコンピュータおよびネットワークコンピューティングシステム
Peng et al. BQueue: A coarse-grained bucket QoS scheduler
JP4963855B2 (ja) ネットワークコンピューティングシステムおよびマルチプロセッサコンピュータ
TW202205091A (zh) 運算系統及其主機資源分配方法
JPH10207847A (ja) 分散システムにおける自動負荷分散方式
JP4647513B2 (ja) 並列処理システム、処理端末装置、並列処理方法、描画システム、画像表示システム、音響システム、プログラム、及び、記録媒体

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

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 200580015495.4

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

122 Ep: pct application non-entry in european phase