WO2011016327A1 - 計算機システム、プログラム及びシミュレーションに使用する計算資源を割り当てる方法 - Google Patents

計算機システム、プログラム及びシミュレーションに使用する計算資源を割り当てる方法 Download PDF

Info

Publication number
WO2011016327A1
WO2011016327A1 PCT/JP2010/062081 JP2010062081W WO2011016327A1 WO 2011016327 A1 WO2011016327 A1 WO 2011016327A1 JP 2010062081 W JP2010062081 W JP 2010062081W WO 2011016327 A1 WO2011016327 A1 WO 2011016327A1
Authority
WO
WIPO (PCT)
Prior art keywords
simulation
configuration
task
information
terminal
Prior art date
Application number
PCT/JP2010/062081
Other languages
English (en)
French (fr)
Inventor
康宏 伊藤
康夫 勝
茂 於保
英明 倉田
Original Assignee
株式会社日立製作所
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 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to US13/387,243 priority Critical patent/US9037448B2/en
Priority to JP2011525843A priority patent/JP5332006B2/ja
Publication of WO2011016327A1 publication Critical patent/WO2011016327A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • 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/5055Allocation 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 software capabilities, i.e. software resources associated or available to the machine

Definitions

  • the present invention relates to a technique used in a development environment for executing a complicated simulation in which a plurality of simulators cooperate in the development of an embedded system.
  • An embedded system is composed of a mechanism that configures a control target, hardware that performs a control operation based on a physical quantity received from the mechanism and outputs a control value to the mechanism, and software that operates on the hardware.
  • System For example, in an automobile embedded system, it refers to an engine to be controlled, an electronic device such as a microcomputer for controlling the engine, and software operating on the electronic device. Since the behavior of software included in an embedded system strongly depends on the mechanism to be controlled and the hardware configuration, it is necessary to analyze the behavior that combines the mechanism, hardware, and software.
  • Patent Document 1 One way to deal with the above issues is to unify the development environment.
  • a calculation environment providing service is disclosed in Patent Document 1. This service lends a server on the network to a user for a fee, and the user obtains a computing environment by remotely operating the server.
  • the problems to be solved by the present invention are the first to third problems described in the background art.
  • the first issue is that it is difficult to share design files and manage progress due to simultaneous development at multiple locations.
  • the second problem is that it is necessary to connect different simulators, which increases the cost of manually adjusting individual simulators and connection parameters between the simulators.
  • the third problem is that since a plurality of simulators and calculation resources are required, the cost of introducing and maintaining software and hardware increases, and it is difficult to perform simulation easily.
  • the present invention has been made in view of the above-mentioned problems, suppresses the cost required for the introduction and maintenance of a development environment including a plurality of simulators, shares design information, and facilitates parameter adjustment of the simulator. For the purpose.
  • the present invention includes a mechanism for extracting and recording a simulator or software usage history for each user with high accuracy in embedded system development, and a mechanism for extracting and recording a user's development process from information collected by the mechanism. Solve one problem.
  • the second problem is solved by providing a mechanism for automatically optimizing the simulation configuration from the information collected by the above mechanism.
  • the third problem will be solved by enabling the reduction of the initial investment for the environmental maintenance by the service that realizes the unification of the development environment on the computer with the above-mentioned mechanism.
  • FIG. 1 is a block diagram illustrating a detailed configuration of an entire system according to a first embodiment of this invention. It is a flowchart which shows the 1st Embodiment of this invention and shows an example of a process in software development mode. It is a flowchart which shows the 1st Embodiment of this invention and shows an example of a process in simulation mode.
  • the graph which shows the 1st Embodiment of this invention uses the task imposed from the user by analyzing the time series and the flow of operation as a base point, the simulation trial, the change of the file as a point, and the dependency relation of information as an edge An example of an information flow graph of a structure is shown.
  • Explanatory drawing which shows the 1st Embodiment of this invention and shows an example of the simulator structure table 2601 of a simulation structure history database. It is the figure which showed the 1st Embodiment of this invention and showed the example of the system usage fee report with respect to a user. It is the figure which showed the 1st Embodiment of this invention and showed the example of the license fee report with respect to a software provider. It is a block diagram which shows the 2nd Embodiment of this invention and shows the functional element of a computer system.
  • FIG. 1 shows an outline of an example of an embodiment of the present invention, and is a functional block diagram of a computer system (embedded device development business support system) that supports development of an embedded system.
  • a computer system embedded device development business support system
  • a dynamic resource allocation system 100 In a computer system for developing an embedded system, a dynamic resource allocation system 100, a simulation resource 101, a simulation result visualization system 102, a system load / user behavior monitoring system 103, a work computer system 106, and secure communication are used.
  • a screen transmission system 104, a user terminal 107, and a software provider terminal 108 are connected via an internal network.
  • the above configuration is hereinafter referred to as the present system.
  • the user terminal 107 and the software provider terminal 108 can access this system only via the screen transmission system 104 using secure communication.
  • Each system, computing resource, and terminal are configured by a computer including a processor, a memory, and an interface.
  • the embedded system is a combination of a control target mechanism, hardware that drives the mechanism, and software that controls the hardware.
  • the outline of this system is that the built-in software is created by the work computer system 106 in accordance with the input or command from the user terminal 107, and the simulation of the created built-in software is optimized by the dynamic computing resource allocation system 100.
  • the dynamic computing resource allocation system 100 executes the optimized simulation task with the simulation computing resource 101 including a plurality of computers.
  • the simulation calculation resource 101 includes simulation software (simulator) for executing a simulation and a computer (FIG. 14, cluster node 1400) for executing the simulator, and includes a plurality of applications and applications for performing a plurality of types of simulations. A plurality of computers to be executed.
  • the user terminal 107 When executing the simulation of the embedded software, the user terminal 107 instructs the dynamic calculation resource allocation system 100 to execute the simulation. Based on a request from the user terminal 107, the dynamic computing resource allocation system 100 secures software resources and hardware resources of the simulation computing resource 101 and executes the simulation.
  • the screen transmission system 104 functions as a gateway that transmits and receives data to and from the user terminal 107 or the software provider terminal 108, authenticates the user terminal 107 (or software provider terminal 108), and authenticates the user terminal 107 that has been authenticated.
  • Data is exchanged with (or software provider terminal 108) by highly confidential communication such as encrypted communication (hereinafter referred to as secure communication).
  • this system includes a simulation result visualization system 102.
  • the simulation result visualization system 102 includes a computer that provides the simulation result calculated by the simulation resource 101 to the user terminal 107 in a graph or the like.
  • This system also includes a system load / user behavior monitoring system 103.
  • the system load / user behavior monitoring system 103 includes hardware for the simulation computing resource 101, a computer that collects the operating status of the software, a computer that collects the progress status of the embedded system developed by input from the user terminal 107 and commands, and the like. And billing information and statistical information for each user terminal 107 are generated. Details of each computer system will be described later.
  • FIG. 2 is a flowchart of the development work of the embedded system performed at the user terminal 107 in this system. With reference to FIG.2 and FIG.1, operation when a user uses this system in this embodiment with the user terminal 107 is demonstrated.
  • step 301 the user connects to the screen transmission system 104 with the user terminal 107.
  • the screen transmission system 104 authenticates whether or not it has the authority to connect to this system.
  • the software provider terminal 108 is connected to the screen transmission system 104, and the screen transmission system 104 authenticates whether or not it has the authority to connect to this system.
  • the user or software provider After the authentication, the user or software provider always accesses through the screen transmission system 104, and hence the explanation that the access is through the screen transmission system 104 will be omitted.
  • step 302 the user selects work contents on the user terminal 107.
  • This system has three modes of work contents: a software creation mode 315 for creating embedded software, a simulation mode 316 for executing a simulation for controlling a mechanism to be controlled by the created embedded software, and This is a development progress / tool usage status / system usage fee confirmation mode 317 for acquiring the usage status of computer resources.
  • the system usage fee calculation method is different.
  • the screen transmission system 104 requests the user terminal 107 to select one of the three modes after the authentication of the user terminal 107 is completed.
  • the screen transmission system 104 notifies the computer system corresponding to the selected mode of the start of use from the user terminal 107.
  • the computer system (the dynamic computing resource allocation system 100, the work computer system 106, the system load / user behavior monitoring system 103) that has received the use start notification from the screen transmission system 104 provides the service to the user terminal 107. Start.
  • step 304 the user terminal 107 remotely operates the work computer system 106 to develop software for the embedded system, and stores the design file created in step 305.
  • the user terminal 107 stores the design file in the work computer system 106 or a storage device in this system.
  • the dynamic calculation resource allocation system 100, the simulation calculation resource 101, and the simulation result visualization system 102 execute a simulation instructed by the user terminal 107 according to a command from the user terminal 107.
  • step 307 the user inputs a simulation configuration (a plurality of simulation task dependencies) using a plurality of commercial simulation software (or simulators) from the user terminal 107 to the dynamic computing resource allocation system 100.
  • the dynamic computing resource allocation system 100 has enough simulators, the simulation result visualization system 102, and the number of CPUs used in the simulation computing resource 101 to execute the simulation task received from the user terminal 107. Ensure the memory capacity, the number of special arithmetic units (accelerators), and the amount of recording area.
  • the dynamic computing resource allocation system 100 is configured so that the simulation task configuration is optimally executed based on the connection relationship of each component (development mechanism, hardware, software) in the simulation task input from the user terminal 107.
  • the simulator placement relationship on the simulation resource 101 is calculated, and an actual simulation task is constructed.
  • simulation task simulation task, simulation configuration, and simulation task configuration are defined as follows.
  • the simulation task indicates a simulation target that combines the elements of the mechanism, hardware, and software embedded system.
  • One simulation task can include a plurality of simulations.
  • Simulation configuration defines the dependency between simulations when multiple simulations are included in the simulation task.
  • the simulation task configuration defines the relationship between the cluster node 1400 of the simulation computing resource 101 and the simulation assigned to the cluster node 1400.
  • the simulation task configuration is expressed by a command list as shown in FIG. 23, for example.
  • FIG. 11 shows a task generation result when an internal combustion engine control system is developed as an embedded system.
  • the simulation elements are an engine control ECU, an air flow meter, an injector, and an engine.
  • a plurality of simulation software programs (simulators) corresponding to the engine control ECU, the air flow meter, the injector, and the engine are executed.
  • the cluster node 1400 that executes each simulator is assigned by a simulation task configuration.
  • Dependencies (simulation configurations) of each simulator are as follows in the example of FIG.
  • Data such as the intake air amount of the air flow meter is input to the simulator of the engine control ECU.
  • the fuel injection amount from the engine control ECU is input to the injector simulator.
  • the fuel injection period and fuel injection amount from the injector are input to the engine simulator.
  • the rotational speed of the engine is input to the air flow meter simulator.
  • the output of the engine is input to the simulator of the entire system (Logger001.exe in FIG. 11). That is, the input / output relationship of data between simulation software programs is a simulation configuration.
  • Step 309 executes a simulation. Specifically, when the user instructs the execution of the simulation task configuration constructed by the dynamic computing resource allocation system 100 from the user terminal 107, the dynamic computing resource allocation system 100 inputs the simulation task to the simulation computing resource 101. To do. The cluster node 1400 to which the simulation task is assigned in the simulation computing resource 101 executes the simulation.
  • Step 310 displays the simulation result.
  • the simulation result visualization system 102 analyzes the simulation task configuration input from the user terminal 107 and estimates a simulation result required by the user.
  • the simulation result visualization system 102 further allocates a simulation result that satisfies the user's request to the simulation result visualization unit 715 inside.
  • the simulation result visualization unit 715 is an independent program included in the simulation result visualization system 102, and graphs one or more specific types of data in a unique method. There are many implementations depending on the graphing method and the type of data received.
  • the result of the simulation performed by the simulation resource 101 is transmitted to the simulation result visualization system 102.
  • the simulation result is processed into a form desired by the user and presented to the user terminal 107 through the screen transmission system 104 using secure communication.
  • Information collection, recording, and statistics are performed by the system load / user behavior monitoring system 103.
  • the collected data can be provided to the user in the development progress / tool usage state / system usage fee confirmation mode 317 described below.
  • the system load / user behavior monitoring system 103 includes GUI operation and file operation of the user terminal 107 in the work computer system 106 using secure communication, input of simulation from the user terminal 107 in the dynamic computing resource allocation system 100, The system load on the CPU, memory, network, and storage in the simulation resource 101 is monitored and recorded.
  • the system load / user behavior monitoring system 103 performs several processes using the acquired record of the GUI operation and file operation of the user terminal 107, the simulation commanded from the user terminal 107, and the system history data. They are the calculation of the usage fee for the user terminal 107, the creation of a development progress report for the user terminal 107 or the group to which the user belongs, the license fee payment amount for the software provider that provides the simulator installed in the simulation computing resource 101 This is the creation of a usage report for a simulator introduced to the calculation and simulation calculation resource 101.
  • step 313 the user terminal 107 selects the type of information desired to be browsed from the development progress report, software usage status report, and system usage fee report.
  • step 314 the user terminal 107 browses the selected information through the screen transmission system 104.
  • the system load / user behavior monitoring system 103 calculates the usage fee information and development progress report of the system.
  • the system load / user behavior monitoring system 103 receives the software usage status and the license revenue report generated by the software usage. be able to.
  • FIG. 3 is a block diagram showing a detailed configuration of an apparatus necessary for implementing this system.
  • the connection relationship of the devices in this figure is merely an example of the embodiment, and any known or publicly known technique can be used as long as the above-described functions can be obtained.
  • the confirmation (authentication) of the user connection information described in step 301 in FIG. 2 is executed by the user connection authority confirmation device 702 in the screen transmission system 104 in FIG.
  • an authentication method provided by the user connection authority confirmation apparatus 702 in addition to a method using an ID number and password for identifying a user (user terminal 107), authentication using exchange of a file including encrypted personal identification information is used. It is possible to use a method, an authentication method using an apparatus including personal identification information encrypted on the user side, and the like.
  • a method of providing a login program to the system a method of providing it as an application on a web browser, a method of providing it as an independent application operating on a user's personal computer (user terminal 107), and login to the system
  • an OS Operating System
  • the confidentiality of communication between the user and the system is ensured, and it satisfies the requirement that an unauthorized person using the system cannot log in to the system.
  • Well-known or well-known techniques can be used.
  • FIG. 4 illustrates the processing flow of the present system in the software creation mode 315.
  • the processing of this system in the software creation mode 315 will be described in detail with reference to FIGS.
  • the software mentioned here refers to software of an embedded system developed by a user, a simulation model required for executing a simulation, and a simulation result visualization system 102.
  • step 401 the user terminal 107 selects a software creation mode.
  • step 402 the work computer system 106 assigns a work environment suitable for the user who uses the user terminal 107. By this assignment, the user terminal 107 can use the tool / model database 709 of the dynamic computing resource allocation system 100 via the work computer system 106.
  • the work computer system 106 includes a work calculation resource 722, a user file storage 707, and a work environment providing apparatus 703, which will be described later.
  • step 304 the user remotely operates the assigned work environment from the user terminal 107 to develop software.
  • step 305 the design file created by the user is stored in the user file storage 707.
  • the changes made to the user file storage 707 by the user are registered in the operation history database 708 that records the GUI operation and the file history as a file access history by the file history recording device 714 in step 404.
  • step 403 the user's GUI operation in the user terminal 107 on the work environment provided by the work computer system 106 is acquired by the user behavior statistics device 713 described later and registered in the operation history database 708.
  • the registered GUI operation history is used for visualization of development progress, and is also used as statistical information on the software usage status.
  • step 306 when the user of the user terminal 107 finishes the software development and selects to stop using the work environment, the user behavior statistics device 713 uses the OS function of the user terminal 107 to log in to the work environment. The difference between logout time and logout time is acquired as the usage time.
  • step 405 the acquired usage time is registered in the resource usage management database 711 that records the system load in this system, and is used to calculate the usage fee in the software creation mode 315.
  • the user file storage 707 of the work computer system 106 is a file storage area arranged on the network, and stores a design file created in the software creation mode 315 and a simulation log file in the simulation mode 316.
  • the user file storage 707 is divided into small areas for each user or for each organization to which the user belongs.
  • the user file storage 707 is classified according to transfer performance and capacity, and the storage usage unit price used when calculating the system usage fee varies depending on the class.
  • the usage amount or the allocation amount is registered in advance in the resource usage management database 711 for each small area (for example, block), which is used for the system usage for the user. Used when calculating fees.
  • the system administrator maintains the confidentiality of the system by setting the read, write, and reference access privileges for any small area of the user in advance.
  • the work computing resource 722 includes a computer on which one or a plurality of OSs (OperatingOperaSystems) operate.
  • the work computing resource 722 is in a state where the software provided to the system can be used.
  • OSs OperatingOperaSystems
  • a well-known or publicly known technique can be used, and typically a plurality of OSs are provided to enable operation of all the software provided in the system.
  • a type of OS is used.
  • the simulator or software used by the user terminal 107 is different, the setting of the OS provided to the user terminal 107 is typically diverse.
  • the number of computers required to satisfy the above requirement increases.
  • the number of computers required for work computing resources provided by the work computer system 106 by using virtualization software capable of operating a plurality of OSs on one computer such as VMWare. Can be reduced.
  • the work computing resource 722 needs to have a function for acquiring the login time and the user logout time of the user terminal 107, the number of times of use for each type of software used by the user, the usage time, and the usage function.
  • a function provided by the OS is used and a case where it is necessary to introduce software supplementing the function not provided by the OS.
  • a well-known or well-known technique can be used regarding a method.
  • the work environment providing apparatus 703 selects an optimal OS configuration from the work computing resource 722 from the type of OS that satisfies the request of the user who operates the user terminal 107 and the type of software to be used, and selects it from the user file storage.
  • 707 is a computer that is connected to the corresponding user area 707 and provided to the user.
  • One method is to assign one or more dedicated work environments to all users from the work computing resource 722 and then perform a work performed on the work environment by a user other than the deliverable stored in the user file storage 707. Changes are also saved in the work environment so that they can be reused for future use.
  • Another method is to discard the changes made to the work environment by users other than the deliverables stored in the user file storage 707 when all users use the same work environment.
  • a well-known or publicly known technique can be used for details regarding a method for providing a work environment except that a product is registered in the user file storage 707.
  • One method is to mount the user file storage 707 as a disk area that can be written only by the user on the OS constituting the work environment.
  • the user actively copies the design file to the user file storage 707 without mounting it on the OS constituting the work environment.
  • FIG. 5 illustrates a processing flow of the present system in the simulation mode 316.
  • the operation in the simulation mode 316 will be described in detail with reference to FIGS. 5, 2, and 3.
  • the simulation is executed by the dynamic calculation resource allocation system 100, the simulation calculation resource 101, and the simulation result visualization system 102.
  • the dynamic computing resource allocation system 100 includes a simulation task input device 704, a simulation task generation device 705, and a simulation task issue device 723.
  • each of these devices is an independent computer, but a program for realizing the functions of these devices can be executed by one computer.
  • the simulation result visualization system 102 includes a simulation result visualization unit 715 assigned by the simulation task generation device 705, and the simulation result visualization unit 715 is connected to the screen transmission device 701 of the screen transmission system 104.
  • step 307 in FIG. 2 the user terminal 107 uses the simulation task input device 704 to create a simulation configuration desired by the user.
  • step 501 the simulation task generation device 705 of the dynamic calculation resource allocation system 100 estimates a calculation resource necessary for executing the simulation configuration received from the user terminal 107.
  • step 308 the dynamic computing resource allocation system 100 calculates the necessary time and cost calculated by the simulation task generation device 705 and the simulation allocated to the computing resources (cluster node 1400 in FIGS. 13 and 14). Is presented on the user terminal 107.
  • the user using the user terminal 107 returns to step 307, adjusts the parameters with the simulation task input device 704, and generates the simulation task again. Request a quote from device 705.
  • the user 107 instructs the simulation task issuing device 723 to execute the generated simulation task.
  • the simulation task issuing device 723 follows the command list 1202 illustrated in FIG. A minimum number of cluster nodes satisfying the required number of CPUs and the amount of memory are secured out of 101.
  • the license of all software required for the simulation configuration input from the user terminal 107 is secured by the license server 724 described later, and the simulation is started.
  • step 504 the simulator executed on the cluster node 1400 of the simulation resource 101 shown in FIGS. 13 and 14 advances the simulation while exchanging data with each other.
  • step 310 the simulation result visualization unit 715 of the simulation result visualization system 102 accumulates data received from one or more simulators (cluster node 1400), and becomes a graph designated by the user terminal 107. Process the accumulated data.
  • the simulation result visualization unit 715 performs simulation on the user terminal 107 via the screen transmission system 104 in the simulation mode 316.
  • Provide visualized data (such as graphs).
  • the simulation result visualization unit 715 holds the processed data in the user file storage 707. In response to a request from the user terminal 107, the simulation result visualization unit 715 provides data visualized from the user file storage 707.
  • the load on the system during simulation execution is recorded in the system load / user behavior monitoring system 103 by the following processing.
  • step 506 shown in FIG. 5 the load on the CPU and memory of the cluster node 1400 to which the simulation task configuration is assigned by the simulation calculation resource 101 is measured, and in step 505, a simulation log is recorded.
  • the data is recorded as the resource usage in the resource usage management database 711 of the system load / user behavior monitoring system 103 shown in FIG.
  • the system load during the simulation execution stored in the resource usage management database 711 is analyzed together with the behavior information of the user terminal 107 after the simulation stored in the operation history database 708.
  • the analysis result is fed back to the task generation algorithm of the simulation task generation device 705 to improve the accuracy of generating the simulation task configuration.
  • the task input device 704 and the simulation result visualization unit 715 are implemented as independent applications from the simulation calculation resources 101 and assigned to a simulation execution work environment.
  • Another method presents the task input device 704 and the simulation result visualization unit 715 as applications on the web browser.
  • any known or publicly known technique may be used for the method of presenting the task input device 704 and the simulation result visualization unit 715 to the user.
  • the license server 724 of the dynamic computing resource allocation system 100 is a computer that holds a license key necessary for starting the software installed on the simulation computing resource 101.
  • license authentication by the license server 724 is used is described.
  • a known or publicly known technique can be used in the present invention.
  • the former authentication for each computer is necessary.
  • the number of licenses to be increased increases the cost of computer management.
  • FIG. 7 shows an example of a typical configuration of the simulation task input device 704 of the dynamic computing resource allocation system 100.
  • the simulation task input device 704 is implemented as a computer that executes a GUI application including a task construction screen 801 and a tool palette 802.
  • the tool palette 802 includes all the simulation models that can be used for the simulation configuration as a plurality of component blocks 804, and each component block 804 includes one simulation model or a set of simulation models. Assuming that a large number of simulation models are registered in the tool palette 802, an implementation in which the types are divided and displayed in the menu 806 for each type of simulation model is also conceivable.
  • classification according to application fields such as an automobile system, an aeronautical system, an OA system, and a hydraulic machine system
  • classification according to a physical hierarchy of a simulation target such as an electronic system and an environmental model, or a simulation model described later is performed.
  • the classification by the simulator to be executed is presented.
  • the automobile system is selected from the menu 806, and simulation models of mechanical system parts such as engines and motors in automobile embedded systems, drive system parts such as injectors and sensors, and electronic system parts such as control controllers are shown. It is displayed.
  • the user places the part block 804 selected from the tool palette 802 on the task configuration screen 801, and uses the arrow line 815 to connect the parts between the part blocks 820 to 825 arranged on the task configuration screen 801. Can be described. At this time, the user does not need to explicitly specify which software is used to execute each of the component blocks 820 to 825 and how many I / O interfaces are connected. Further, the user can display a parameter setting screen 805 for each of the component blocks 820 to 825 arranged on the task configuration screen 801 from the user terminal 107.
  • the parameter setting screen 805 initially displays standard operation parameters of the components 820 to 825, and the user can appropriately change the operation parameters from the user terminal 107 according to the simulation configuration.
  • the operation parameters of each model there are a step period 817 for event update, an abstraction level 807, internal data 808 that the user wants to visualize, and the like.
  • the simulation result visualization unit 715 for visualizing data is assigned to the simulation environment in such a manner that it is inserted into the component for which the internal state is to be monitored or the connection between the components on the task construction screen 801. In addition, it is possible to abstractly select a presentation method to be used at that time.
  • the user assigns the continuous graphing visualization unit 811 to the visualization of the engine block 825 and assigns the discrete graphing visualization unit 821 to the visualization of the internal state of the engine control ECU 820. Is specified.
  • the user sets parameters used by the simulation task generation device 705 when generating a simulation task described later.
  • the user designates the target end time 816 of the simulation configuration designated from the user terminal 107.
  • the setting method of the target end time 813 there are two types of methods, a method for specifying the time at which the simulation is desired to end and a method for specifying the elapsed time, as shown in FIG. A well-known or well-known technique can be used.
  • the task configuration screen 801 is a GUI that performs setting and display in response to an input from the user terminal 107.
  • the simulation configuration input by the user from the user terminal 107 can be saved.
  • the user can save the simulation configuration on the task construction screen 801 in the simulation configuration history database 721 by pressing a save button 813 on the task construction screen 801.
  • the user sets, from the user terminal 107, the disclosure range of the saved simulation configuration, presence / absence of detailed reference / change authority of the configuration, and ON / OFF of the parameter edit items of each component block Is possible.
  • FIG. 8 shows an example of screen display when the subsystem stored in FIG. 7 is reused.
  • the created simulation configuration 900 can be shared with other users and reused.
  • the simulation configuration 900 saved by the user in the simulation configuration history database 721 is displayed in the user definition menu 906 of the tool palette.
  • this simulation configuration 900 is arranged on the task construction screen 801
  • the simulation environment constructed in FIG. 7 is expanded as shown in FIG. 8, and the parameters set by the user who created the subsystem are displayed on the parameter setting screen 901.
  • the user of the subsystem can refer to / change the detailed parameters of each component constituting the subsystem, or It is possible to add a new simulation model or visualization target in the system.
  • FIG. 9 shows a configuration example when it is necessary to explicitly specify software to be used for each simulation target component in the simulation task input device 704 of the dynamic computing resource allocation system 100.
  • the difference from FIG. 7 is that all parts displayed on the tool palette 1000 are designated.
  • the arrangement method on the task construction screen 801 and the operation parameter setting method are the same as those in FIG.
  • the present invention does not limit the configuration of the simulation task input device 704 to any of the configuration example of FIG. 7, the configuration example of FIG. 8, or the configuration example of FIG. May be.
  • FIG. 10 is a screen image showing an example of the user interface of the simulation task.
  • This user interface presents the result of assignment of the simulation task configuration to the simulation computing resource 101 on the user terminal 107.
  • the screen display of the simulation task input device 704 is reused, and the scheduled end time of the simulation, the overall cost of the simulation, and the breakdown thereof are shown in the screen.
  • the task generation work described with reference to FIGS. 7 to 10 is a simulation task that receives a simulation configuration created from the user terminal 107 using the simulation task input device 704 of the dynamic resource allocation system 100 as an input and can execute it. It is defined as an operation to convert to a configuration column.
  • the simulation task configuration is generated by adjusting parameters such as simulation or computer configuration according to the granularity of the simulation model and the characteristics of the simulator executing the simulation model.
  • the granularity of the simulation model is the minimum unit size in the simulation model. For example, there is a large difference in the level of abstraction depending on the simulation model, such as modeling at a low level of abstraction such as the signal line level in System C and modeling at a high level of abstraction such as the data communication level. This greatly changes the amount of communication between components that are directly coupled to the amount of calculation required for the simulation.
  • a simulation model with a lower level of abstraction requires more computation and communication, but it is possible to acquire detailed internal information.
  • a simulation model with a high degree of abstraction requires a small amount of calculation and communication, but has low time accuracy and limited acquisition of internal states.
  • FIG. 11 shows an example in which a simulation task configuration 1101 is generated using a simulation of an engine control ECU as a simulation task when an internal combustion engine control system is developed as an embedded system.
  • the engine control ECU, the air flow meter, the injector, and the engine which are simulation elements, respectively include software for executing simulation (execution tool in the figure), model for executing simulation (use model in the figure), and parameters to be used (use parameters).
  • the identifier (execution node in the figure) of the cluster node 1400 that executes the simulation is assigned.
  • FIG. 12 shows a flowchart of task generation by the simulation task generation device 705 of the dynamic computing resource allocation system 100. This corresponds to the simulation task generation step 501 of FIG. 5 and the step 502 of recording the task configuration.
  • a task generation process of the simulation task generation apparatus 705 will be described.
  • step 1203 the simulation task generation device 705 generates a task with the simulation configuration created using the simulation task input device 704 as an input.
  • the simulation task generation device 705 associates with a simulator that executes each component included in the simulation configuration.
  • the association between the parts and the simulator is necessary to execute each part included in the simulation configuration by searching (step 1210) in the tool / model database 709 in which information on the simulation model used in the simulation configuration is recorded. Information on the type of simulator (simulation software) and the granularity of the simulation model.
  • the simulation task generation device 705 When acquiring, the simulation task generation device 705 refers to the simulation configuration history database 721 that records the simulation task configuration executed in the past (step 1212). When a history of execution of the equivalent configuration can be found, the history data of the simulation configuration history database 721 can be reused without querying the tool / model database 709.
  • step 1205 the simulation task generation device 705 assigns a task to the simulation calculation resource 101 of the simulator and the simulation model.
  • the computing resource management database 706 is referred to (step 1211). Specifically, requests for the calculation amount and communication amount of each component, and information on the calculation capacity, communication capacity, and use state of the calculation resource of the simulation calculation resource 101 recorded in the calculation resource management database 706 described later Based on the above, in order to simulate each part of the simulation configuration, a task and a simulation model 101 are assigned tasks to the simulation calculation resource 101.
  • task assignment it is determined whether to place the cluster node 1400 near or far away according to the amount of communication between components. In addition, those with too much traffic are allocated within the same node. Also, since the execution time and data are synchronized between the components by TCP / IP communication, a port number used for data communication is also assigned.
  • the simulation task generation apparatus 705 includes a simulation result visualization unit 715 that needs to sequentially display the results during simulation execution
  • the simulation task visualization unit 705 is coupled to the simulation mode presentation user interface. Also do.
  • the simulation task generation device 705 adjusts parameters of each simulation task.
  • the parameter adjustment of the simulation task refers to the simulation configuration history database 721, and for each combination of the simulator and the simulation model, the history of the parameters of each simulator when performing a simulation with similar parts, part connection relations, and cluster arrangements. Is searched (step 1212).
  • the results that match the above search conditions use the simulation parameters. If the search result is not found, the parameters input by the simulation task input device 704 and the similar configuration history are searched in the simulation configuration history database 721, and the parameters for the simulator acquired from the configuration having the high effectiveness of the simulation results are generated. .
  • the validity of the simulation result is a numerical value obtained by analyzing the behavior of the user after executing the simulation and evaluating whether the simulation result is an analysis result or an execution speed according to the user's wishes.
  • the flow of effectiveness analysis of simulation results will be described later.
  • step 1207 the simulation task generation device 705 determines the execution parameter for each combination of the simulator and the simulation model, thereby generating a simulation task command list 1202 to be executed by the simulation calculation resource 101 as illustrated in FIG. Determine.
  • the types and number of simulators and simulation visualization units 715 necessary for the simulation, the amount of calculation resources, and the connection relationship of the calculation resources can be understood. Based on these, it is possible to refer to the simulation configuration history database 721 and predict how much time and computing resources are required for a similar simulation.
  • the simulation task generation device 705 calculates the expected cost of the simulation to be presented to the user from the user terminal 107 when the predicted value of time and used resources can be calculated. The expected value is presented to the user. The system waits until an instruction for either simulation execution or simulation task regeneration is received from the user terminal 107.
  • the simulation task generation device 705 When an instruction to regenerate a simulation task is issued from the user terminal 107, the simulation task generation device 705 subtracts the task generation accuracy of the simulation configuration presented to the user terminal 107, and again generates another generation parameter (simulation element). Generate a simulation task using.
  • the task generation accuracy is a numerical value given to each simulation task generated by the simulation task generation device 705, and is calculated by subtracting 1 or adding 1 based on the effectiveness evaluation of the user for the executed simulation task.
  • the simulation task generating device 705 passes the command list 1202 to the task issuing device 723 and starts the simulation.
  • a well-known or publicly known technique can be used other than having the operation flow described in FIG.
  • the computing resource load measuring device 712 observes the system load on the simulation computing resource 101 during simulation execution and records the observation result. Specifically, the system load (for example, processor usage rate) of each cluster node 1400 of the simulation computing resource 101 is acquired and recorded in the resource usage management database.
  • the system load for example, processor usage rate
  • step 1209 the simulation task generation device 705 analyzes the simulation result and the configuration of the executed simulation after executing the simulation, and evaluates the effectiveness of the simulation.
  • the user behavior statistics device 713 can acquire what kind of action the user takes according to the result.
  • the simulation task generation device 705 determines that the user is not satisfied with the automatic assignment performance by the simulation task generation device 705, and subtracts the task generation accuracy of the simulation configuration history.
  • the simulation task generation apparatus 705 When the user receives the simulation result at the user terminal 107 and it is found from the measurement result of the user behavior statistical apparatus 713 that the same component configuration and the same simulator operation parameter are used, the simulation task generation apparatus 705 corresponds. Add task generation accuracy in simulation configuration history.
  • the simulation task generation device 705 uses the validity of each configuration history entry in the simulation configuration history database 721 so that a simulation configuration history with high effectiveness is used from the next time.
  • the simulation task generation device 705 can improve its task generation accuracy by the above-described mechanism.
  • the tool model database 709 is a database that stores information on an arbitrary simulation model that can be used in the present system.
  • a table configuration 1200 in FIG. 19 illustrates an example of a table configuration of the tool / model database 709.
  • the tool model database 709 includes an identifier (part name in the figure) of each simulation model, an identifier of a simulator that can execute the simulation model (tool in the figure), and version information of the simulator that can be executed (in the figure). Version), the granularity of the simulation model (model granularity in the figure), and the number of input / output ports of the simulation model are stored as connection information in the figure.
  • This table configuration is the minimum table configuration for realizing the present invention, and information to be stored may be further increased.
  • the computing resource management database 706 is a database that manages the state of the simulation computing resource 101 of this system.
  • FIG. 24 illustrates an example of a table configuration of the computing resource management database 706.
  • the computing resource management database 706 is a database that stores the computing capacity of the cluster node 1400 that constitutes the simulation computing resource 101, node position information, usage status, scheduled return time from usage status, and the like.
  • a cluster node class 2401 is obtained by classifying the simulation computing resource 101 by its CPU performance and RAM capacity.
  • the class of the cluster node is used for calculating the cost in the simulation execution described later.
  • the node arrangement 2402 stores location information on the target cluster node on the network.
  • an IP address is used as location information on the network.
  • the positional relationship on the network can be grasped from the IP address, and the traffic can be estimated based on the positional relationship on the network.
  • a node with a closer IP address can support a higher traffic.
  • This table configuration is a minimum table configuration for realizing the present invention, and information to be stored may be further increased.
  • the simulation configuration history database 711 of the dynamic computing resource allocation system 100 stores the simulation task configuration generated by the simulation task generation device 705, that is, the type of simulator used in a certain simulation, the simulation model, and the connection relationship between the simulators ( Simulation configuration), a database for storing parameters used in each simulator and the effectiveness of the execution result of the simulation configuration.
  • FIG. 26A shows an example of the simulation configuration table 2600 of the simulation configuration history database 711.
  • a simulation identifier (simulation ID in the figure), a simulation start time (start time in the figure), a target end time, an actual end time (actual end time in the figure), a simulation configuration (simulation configuration file in the figure)
  • a link to another table storing the path) and the simulation effectiveness are stored.
  • FIG. 26B shows an example of the simulator configuration table 2601 of the simulation configuration history database 711.
  • the simulator configuration identifier simulation ID in the figure
  • the simulator type simulation model file storage location
  • the simulation model identifier adjacent configuration ID in the figure
  • a known or publicly known technique can be used for other parts.
  • the computing resource load measuring device 712 can be realized by, for example, an OS standard system state acquisition program installed in the simulation calculation resource 101 introduced by the system provider.
  • the computing resource load measuring device 712 can use well-known or publicly known technology for details thereof, except that the execution time of each process, CPU load, and RAM usage can be recorded.
  • a computer for acquiring the load information of each cluster node 1400 may be executed by the computer of the system load / user behavior monitoring system 103.
  • FIG. 14 illustrates an example of a minimum structure of a cluster that is a component of the simulation resource 101.
  • FIG. 13 illustrates a configuration example of a cluster node that is a component of the cluster.
  • the simulation computing resource 101 has a minimum cluster structure 1403 in which one or more cluster nodes 1400 and one or more storage systems 1402 are connected to each other by a communication network 1401.
  • the simulation computing resource 101 can have a structure in which one minimum cluster structure 1403 or a plurality of minimum cluster structures 1403 are connected by a communication network 1401.
  • a communication network 1401 any of a local area network (LAN), the Internet, a wide area network (WAN), a dedicated line, a wireless network, a public line network, and a mobile phone network can be applied. I don't care.
  • the communication network 1401 may be subjected to application of a virtual dedicated network technology such as VPN (Virtual Private Network).
  • the basic configuration of the cluster node 1400 includes one or more processors 1300, one or more memories 1303, a controller 1301, one or more accelerators 1302, and network interface 1304 elements.
  • the number of elements and the connection relationship are not limited.
  • FIG. 6 and 3 are used to explain an example of processing in the development progress / tool usage state / system usage fee confirmation mode 317.
  • FIG. 6 and 3 are used to explain an example of processing in the development progress / tool usage state / system usage fee confirmation mode 317.
  • the information provided in the development progress, tool usage status, and system usage fee confirmation mode 317 is analyzed using the latest data from the system information search 600 at that time periodically by a method described later.
  • the development progress extraction device 718 in the system load / user behavior monitoring system 103 analyzes the information using the latest data in the development progress report creation 603 and the software usage status report creation 604.
  • the system usage fee generation device 716 analyzes the information using the latest data in the system usage fee report creation 601 and the license fee report creation 602.
  • the development progress report is recorded in the development progress information database 720
  • the software usage status report is recorded in the tool usage status database 719
  • the system usage fee report and the license fee report are recorded in the billing management database 717.
  • the user who has selected the development progress / tool usage status / system usage fee confirmation mode 317 in step 302 selects the type of information to be confirmed from the development progress report, tool usage status report, and system usage confirmation report in step 313. To do.
  • the system searches the development progress information database 720, the tool usage status database 719, and the charge management database 717 for the latest report. If the corresponding report data is found, it is presented to the user terminal 107 via the screen transmission device 701 in step 314.
  • the user can limit the information that the user can see in advance when concluding the use contract of this system.
  • a user who develops with this system can receive a development progress report and usage fee information, but cannot view license fee information.
  • FIG. 15A shows that the system usage fee generation device 716 bills the user using the user terminal 107 from the information of the operation history database 708, the resource usage management database 711, and the resource price database 710, and the usage fee and software provision of this system Shows a procedure for calculating a license fee to be paid to a user.
  • step 1500 and step 1501 the system usage fee generation device 716 displays, for each user, the load history of the simulation calculation resource 101 and the GUI operation history within the usage time by the user of the work computer system 106, respectively.
  • the management database 711 and the operation history database 708 are searched.
  • step 1503 the system usage fee generation device 716 extracts the CPU usage amount, the RAM usage amount, and the required time for each used function based on the combination of the load history of the simulation computing resource 101 and the GUI operation history of the work computer system 106. To do.
  • step 1502 the system usage fee generation device 716 searches the resource price database 710 for the calculation resource unit price and the tool unit price for each tool used from the user terminal 107 using the usage calculation node as a keyword.
  • step 1504 the system usage fee generation device 716 collects the data collected in steps 1502 and 1503. (CPU usage x RAM usage x computing resource unit price + tool unit price) x usage time.
  • This calculation formula corresponds to a calculation in which the usage amount of the computer resource is multiplied by the unit cost of the computer resource.
  • the system usage fee generation device 716 calculates and aggregates the system usage fee according to the usage amount of the function of this system for each user of the user terminal 107.
  • step 1513 the system usage fee generation device 716 searches the resource usage management database 711 for the storage usage of the user of the user terminal 107 and searches the resource price database 710 for the storage unit price. Furthermore, in step 1505, the storage usage amount and the storage unit price are multiplied and added to the system usage fee as a storage usage fee.
  • the resource price database 710 will be explained later.
  • step 1505 the system usage amount for the user is Given in.
  • step 1506 the system usage fee generation device 716 collects the total system usage fee and the details including the calculated storage usage fee, and creates a system usage fee report 2700 as illustrated in FIG. Finally, in step 1512, the created system usage fee report 2700 is registered in the accounting management database 717.
  • step 1507 and step 1501 the system usage fee generation device 716 manages the resource usage amount of the load history of the simulation calculation resource 101 for each software and the GUI operation history within the usage time by the user of the work computer system 106. Search from the database 711 and the operation history database 708.
  • step 1509 a detailed required time for each function used is extracted based on the combination of the load history of the simulation resource 101 and the work computer system 106 GUI operation history.
  • step 1508 the system usage fee generation device 716 searches the resource price database 710 for the unit price of software using the function of the software as a keyword and multiplies it with the extracted required time.
  • step 1510 the software license payment fee for the software provider is Calculated by
  • step 1511 the system usage fee generation device 716 totals the calculated software license fees and details, and creates a license fee report 2800 as illustrated in FIG. Finally, in step 1512, the created system usage charge report 2800 is registered in the charge management database 717.
  • the system usage fee generation device 716 generates the system usage fee report 2700 and the system usage fee report 2800.
  • the resource price database 710 in the system load / user behavior monitoring system 103 stores the contract information of the software provider, the license fee and the system usage fee that are linked with the user in advance.
  • the storage price table 1730 of the resource price database 710 stores the performance, capacity, and unit price per usage time for each storage class in the system.
  • the cluster node price table 1740 of the resource price database 710 stores the installed CPU, hardware type, memory installed amount, unit price per time / unit CPU usage / unit RAM usage for each node type.
  • the tool price table 1750 of the resource price database 710 stores vendor information and unit price per function / unit time for each software and function.
  • the unit price information stores two prices: a unit price for payment to the software provider and a unit price for billing to the user.
  • the resource usage management database 711 in the system load / user behavior monitoring system 103 is a database that records usage loads on the simulation calculation resource 101, the work calculation resource 722, and the user file storage 707.
  • FIG. 17 illustrates a table configuration example of the resource usage management database 711.
  • the resource usage management database 711 includes a storage usage history table 1700 that stores the usage history of the user file storage 707 used by the user terminal 107, and a system load that stores the load history of the cluster node 1400 used by the computational resource 101 for simulation.
  • a history table 1710 and a remote OS usage time table 1720 are included.
  • the storage usage history table 1700 records information including the usage for each storage area secured on the user file storage 707 by the user of the user terminal 107.
  • the user identifier, the used storage amount, and the storage class identifier are recorded.
  • the storage usage amount of each user in the user file storage 707 in the work computer system 106 is sequentially monitored by a storage usage totaling program executed by the system load / user behavior monitoring system 103.
  • the system load history table 1710 stores the system load of tasks executed by the user of the user terminal 107 on the simulation calculation resource 101.
  • used software In the present embodiment, used software, task start time, task end time, type of cluster node used, average value and peak value of CPU usage and memory usage are recorded.
  • the remote OS usage time table 1720 records the usage time of the user in the work environment computing resource 722 in the work computer system 106.
  • the user identifier, the login time to the work environment computing resource 722, and the logout time thereof are recorded.
  • the operation history database 708 is a database that holds operations performed by the user on the GUI or file on the system via the user terminal 107 and behaviors analyzed from the operation history.
  • FIG. 18 shows a table configuration example of the operation history database 708.
  • the operation history database 708 includes a user behavior RAW data table 1820 for storing a history of use of the system by the user from the user terminal 107, an event table 1810 for storing an analysis result of the user behavior statistics device 713, and a user for each user.
  • a file history table 1800 for storing a history of accessing the user file storage 707 from the terminal 107.
  • the user behavior RAW data table 1820 retains the data acquired by the user behavior statistics device 713 from the user's operation on the simulation task input device 704 and the work calculation resource 722 as it is. Therefore, the table 1820 only records the event history of the GUI component of each tool such as an operation on the mouse, the entered text, and the like.
  • the event table 1810 stores data obtained by performing a template analysis on the data of the user behavior RAW data table 1820 and the file history table 1800 by the user behavior statistics device 713.
  • the user behavior statistics device 713 stores a pair of GUI operations corresponding to a GUI operation sequence (template), compares the user's GUI operation history with the template, and determines that the probability of the most correspondence is high by statistical means. Output computer operation event. In the present application, this matching is referred to as template analysis.
  • an operation event for each tool for example, what part was handled on the tool, and what option was selected from the GUI operation history column of the user behavior RAW data table 1820 Can be estimated.
  • the event table 1810 stores user identifiers, software types, event occurrence times, and event contents.
  • this system In extracting the development progress status and tool usage status, this system periodically analyzes information without receiving user requests, and stores the latest report file in each database each time.
  • the information analysis method of this system estimates the process of creating simulation results as development results from software parts as materials from the use of each tool and access to files.
  • the development progress extracting device 718 searches for a job for each user.
  • a job assigned to a user or a user group using the user terminal 107 for example, a simulation including a certain part and software is registered in the system by the user or the administrator of the user group or the user himself / herself.
  • a well-known or publicly known technique can be used for the job input method and storage method.
  • step 1608 the development progress extracting device 718 searches the simulation configuration history database 721 and the resource usage management database 711 of the dynamic computing resource allocation system 100, and the simulation task configuration corresponding to the job searched in step 1607. Find the history of. If a search result is found, in the next step 1609, dependency relation analysis of information related to the simulation is performed.
  • step 1600 the development progress extracting apparatus 718 executes a search using the identification number of the user or user group and the corresponding simulation as keywords.
  • the resource usage management database 711 the simulation execution time and the software and file information used in the simulation are searched.
  • step 1600 the development progress extracting device 718 aggregates the search results and creates an information flow graph 2100 as shown in FIG.
  • the information flow graph 2100 in FIG. 21 is based on the simulation task imposed on the user by analyzing the time series and operation flow, the simulation trial and the file change are the points, and the information dependency is the edge. It has a graph structure. If there is a step that refers to the information corresponding to the information or file that has been changed by a certain step at a later time, such as steps 2101 and 2102 in FIG. 21, there is a dependency between the two steps. Think of it as having a relationship.
  • the development progress extracting device 718 visualizes the dependency sequence as a loop 2103 together.
  • step 1602 the development progress extracting device 718 creates or changes a file or software created or changed in the execution process of the simulation job imposed on the user by the information flow graph 2100 obtained by analyzing the development information obtained in step 1600. It is possible to extract a list of In step 1603, the development progress extracting device 718 issues a development progress report including the extraction result and records it in the development progress information database 720.
  • the development progress extracting device 718 also analyzes the loop structure of the information flow graph 2100.
  • An example of the analysis of the loop structure is as follows. When the simulation is continuously tried without changing the simulation configuration or parameters, in the information flow graph 2100, a self-closed path, that is, a part where an edge from a certain point to itself exists, exists in the simulation part.
  • the analysis of the loop structure in addition to the extraction of the self-closing circuit, the hierarchical structure of the loop is extracted, the work efficiency of the workflow is measured, and the achievement degree of the job imposed on the user is extracted.
  • the development progress extraction device 718 has a development progress report 1604 (exemplified in FIG. 22) that includes the progress rate of the simulation process extracted in step 1602, information on the file created during the execution of the simulation, the number of simulations executed and their effectiveness. ) Is created and stored in the development progress information database 720.
  • the development progress report 1604 in FIG. 22 is merely an example of the configuration, and a well-known or publicly known technique can be used as a method for adding and expressing information other than those listed above.
  • steps 1608 and 1609 of FIG. 16B the search for the resource usage management database 711 and the simulation configuration history database 721, the information flow analysis, and the creation of the information flow graph 2100 are the same as the development progress analysis described with reference to FIG. 16A. It is. However, in the extraction of the software usage status shown in FIG. 16B, a search is performed using the ID of the software installed in the system as a keyword.
  • the development progress extracting device 718 acquires the function and parameter usage frequency distribution of the corresponding software from the event table 1810 of the operation history database 708. Further, based on the information flow graph 2100 used for the above-described development progress extraction, information on a file used in cooperation with the corresponding software or other software is collected.
  • step 1605 the development progress extracting apparatus 718 processes the collected information into a form that can be visualized as a tool usage status report 2500 as shown in FIG.
  • the tool usage status report 2500 is stored in the tool usage status database 719 and issued to the software provider (step 1606).
  • the tool usage status report 2500 in FIG. 25 is merely an example of the configuration, and well-known or publicly known techniques can be used for information addition and expression methods other than those listed above.
  • the dynamic computing resource allocation system has a simulation task configuration based on the connection relationship of each component (development mechanism, hardware, software) in the simulation task input from the user terminal. So that the simulator is placed on the simulation computing resource and an actual simulation task is constructed. Thereby, a simulation can be executed at high speed.
  • the simulator or software usage history is extracted and recorded with high accuracy, and the development process for each user is extracted from the recorded information. Thereby, management of progress for every user can be performed easily.
  • the past parameters and simulation configurations are reused from the collected information for each user to automate the linkage of multiple simulators and simulator parameter adjustment, so that the developer (user) has detailed know-how. Even in the absence of the simulation, it is possible to easily execute a simulation with excellent speed and accuracy. This makes it possible to improve the efficiency of embedded system development.
  • FIG. 29 is a block diagram showing an outline of an example of the second embodiment of the present invention.
  • the second embodiment includes a high security file transmission system 105 in addition to the configuration of the first embodiment.
  • a system usage fee report, a license fee report, a development progress report, and a software usage status report provided from the system load / user behavior monitoring system 103 through the high-security file transmission system 105 are stored as files in the user terminal 107 or the provider terminal 108. Can receive.
  • the function of the development progress extracting device 718 constituting the system load / user behavior monitoring system 103 shown in FIG. 3 of the first embodiment calculates the system usage fee and the license usage fee generated by using this system. You may incorporate in a system utilization fee production
  • the system usage fee generation device extracts the development progress of extracting the user's development process in the system, and requests the system usage fee from the user's screen operation information, file operation information, and the load on the simulation computing resource in the system. Calculate the amount and license fee payment, and create a development progress report and a software usage report for each user.
  • the work computer system 106 shown in FIG. 3 of the first embodiment functions as a work calculation resource including a computer that is arranged on the network and can be remotely operated from the user terminal 107. Further, the work computer system 106 functions as a user file storage including a storage that is arranged on the network and is created from the user terminal 107 and can be shared with other user terminals 107.
  • the work computer system 106 functions as a work environment providing device as a device that combines and provides the work calculation resource and the user file storage in response to a request from the user terminal 107. As described above, the work computer system 106 realizes creation of a design file on the user terminal 107 and sharing of the design file by the plurality of user terminals 107.
  • the simulation task input device 704 of the dynamic computing resource allocation system 100 shown in FIG. 3 of the first embodiment can arrange a tool palette capable of selecting a simulation model that can be used from the user terminal 107 and a simulation model. Equipped with a simple model building screen.
  • the tool palette and the model construction screen are GUIs that allow the simulation task input device 704 to perform a simulation configuration in response to an input from the user terminal 107.
  • the tool palette provides a GUI in which one or a plurality of simulation models in which specific details are omitted are arranged.
  • the model construction screen places a simulation model selected from the tool palette, connects the placed models with lines, and displays and sets information unique to the simulation model.
  • the simulation task input device 704 constructs a simulation configuration.
  • each device in the screen transmission system 104 using the above is expressed as a computer, software executed by each device may be executed by one computer.
  • each device in the systems 101 to 104 may be read as, for example, a user behavior statistics unit.
  • the software program that operates in this system can be stored on a computer-readable medium with or without compression. Any type of medium such as a semiconductor memory, magnetic disk or optical disk may be used.
  • the present invention can be applied to a computer system and a development system program for performing design by executing a simulation.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

 複数のシミュレータを含む開発環境の導入及び保守に要するコストを抑制し、設計情報の共有を図って、シミュレータのパラメータ調整を容易にする。設計ファイルの漏洩がないことを保障可能な作業用計算機システムを備え、シミュレータあるいはソフトウェア利用履歴をユーザ毎に収集し、収集した情報からユーザ毎の開発工程を抽出するユーザ挙動監視システムを備え、前記ユーザ挙動監視システムにより収集した情報から、複雑なシミュレーション構成の自動最適化が可能な動的計算資源配分システムを備えた計算機上に開発環境を一元化するサービスの提供を可能にする。

Description

計算機システム、プログラム及びシミュレーションに使用する計算資源を割り当てる方法
 本発明は、組込みシステムの開発に於いて複数のシミュレータが連携する複雑なシミュレーションを実行する開発環境で使用される技術に関わる。
 組込みシステムとは、制御対象を構成するメカニズムと、メカニズムから受け取った物理量を元に制御演算を行いメカニズムに制御値の出力を行なうハードウェアと、ハードウェア上で動作するソフトウェアと、から構成されるシステムである。例えば自動車の組込みシステムでは、制御対象であるエンジンと、エンジンを制御するマイコン等の電子機器と、その上で動作するソフトウェアと、を指す。組込みシステムに含まれるソフトウェアの挙動は制御対象のメカニズムとハードウェアの構成とに強く依存するため、メカニズム、ハードウェア、ソフトウェアを併せた挙動の解析が必要である。
 近年、自動車、電気機器等の高信頼化、高機能化により組込みシステムが複雑化している。そこで、作業期間短縮のため、ハードウェア及びソフトウェアの各部品を細分化して分業化が行なわれ、複数拠点での同時開発が行われている。分業化が進むにあたり、部品毎の動作確認だけではなく、部品の組み立て時に判明する性能不足、仕様の不具合が増加している。そのため、製品出荷前の最終段階での手戻りによる開発期間の遅延が多発しており、開発効率の悪化が問題となっている。
 この問題を解決するため、設計時点でのメカニズム、ハードウェア及びソフトウェアを協調させたシミュレーションによる性能評価、検証手法が用いられ始めている。メカニズム・ハードウェア・ソフトウェア協調のシミュレーションでは、シミュレーション対象となるメカニズムやハードウェアの構成によって利用できるシミュレータが異なることと、すでに特定のシミュレータ用に作成されたシミュレーションモデルの蓄積があることから、異種シミュレータの相互接続による製品全体レベルの協調シミュレーションが行なわれる。
 従来、複数シミュレータを相互結合させた協調シミュレーションを行なうには、各個人の計算機上に実行環境を構築する必要があり、以下の5つの問題が存在する。1つ目は、複数拠点での同時開発のため、設計ファイルの共有、進捗の管理が困難になることである。2つ目は、異なるシミュレータを接続する必要があるため、個々のシミュレータ及びシミュレータ間の接続のパラメータ調整を人手で行なうコストが増大することである。
 3つ目は、複数のシミュレータを使用するため、その導入及び保守のコストが高いことである。4つ目は、複数のシミュレータを動作させるため、計算能力が不足することである。5つ目は、設計ファイルが個人PC上に格納されているため、情報漏えいのリスクが高まることである。
 上記の課題に対する対処法の一つとして、開発環境の一元化が考えられる。開発環境の一元化に関する公知の技術として、計算環境提供サービスが特許文献1に開示されている。このサービスはネットワーク上のサーバをユーザに有償貸与し、ユーザはサーバを遠隔操作することで計算環境を得る。
特開2002-24192号公報
 上記特許文献1の技術は、上記の問題点のうち4つ目と5つ目とを解決可能であるが、他の問題点を解決することができず、サービスユーザが個別に、それらに対処する必要がある。本発明が解決しようとする課題は、上記背景技術で述べた問題点の1つ目から3つ目である。
 再度述べると、第一の課題は、複数拠点での同時開発のため、設計ファイルの共有、進捗の管理が困難になることである。また、第二の課題は、異なるシミュレータを接続する必要があるため、個々のシミュレータ及びシミュレータ間の接続のパラメータ調整を人手で行なうコストが増大することである。さらに、第三の課題は、複数のシミュレータ及び計算資源を必要とするため、ソフトウェアとハードウェアの導入及び保守のコストが高くなり、容易にシミュレーションを行なうことが困難である点である。
 本発明は、上記の課題に鑑みてなされたもので、複数のシミュレータを含む開発環境の導入及び保守に要するコストを抑制し、設計情報の共有を図り、さらに、シミュレータのパラメータ調整を容易にすることを目的とする。
 本発明は、組込みシステム開発においてユーザ毎のシミュレータまたはソフトウェア利用履歴を高精度に抽出、記録する仕組みを備え、その仕組みにより収集した情報からユーザの開発工程を抽出し記録する仕組みを備えることで第一の課題を解決する。
 また、前記の仕組みにより収集した情報からシミュレーション構成の最適化を自動で行なう仕組みを備えることで第二の課題を解決する。
 更に、開発環境の一元化を前記の仕組みを伴った計算機上で実現させるサービスにより、環境整備にかかる初期投資の低減を可能にすることで、第三の課題を解決する。
 したがって、本発明により、シミュレータあるいはソフトウェアは全てサーバ上で管理されるため、組込みシステム開発者が各自で事前購入と保守をする必要がなくなる。また、開発されたソフトウェアとそれを用いたシミュレーションの結果はサーバ上に管理されるため、設計ファイルの共有が容易となり、部外者への情報漏えいのリスクを最小限に抑えることが可能となる。
 更に、複数シミュレータの連携とシミュレータのパラメータ調整の自動化の仕組みとにより、開発者が、詳細なノウハウを必要とすることなく、速度及び精度の優れたシミュレーションを容易に実行することができるため、組込みシステムの開発効率が向上する。
本発明の第1の実施形態を示し、計算機システムの機能要素を示すブロック図である。 本発明の第1の実施形態を示し、ユーザ端末で行われる処理の一例を示すフローチャートである。 本発明の第1の実施形態を示し、システム全体の詳細な構成を示すブロック図である。 本発明の第1の実施形態を示し、ソフトウェア開発モードにおける、処理の一例を示すフローチャートである。 本発明の第1の実施形態を示し、シミュレーションモードにおける、処理の一例を示すフローチャートである。 本発明の第1の実施形態を示し、開発進捗・ツール利用状態・システム利用料確認モードにおける、処理の一例を示すフローチャートである。 本発明の第1の実施形態を示しシミュレーションタスク入力装置の画面イメージの一例を示す説明図である。 本発明の第1の実施形態を示し、シミュレーションタスク入力装置において作成されたタスクの構成を再利用する場合の画面イメージの一例を示す図である。 本発明の第1の実施形態を示し、シミュレーションタスク入力装置においてタスク入力の抽象度が低下した場合の画面イメージの一例を示す図である。 本発明の第1の実施形態を示し、タスク入力装置により生成された、シミュレーションタスク構成を提示する画面イメージの一例を示す図である。 本発明の第1の実施形態を示し、タスクの構成結果を示す説明図である。 本発明の第1の実施形態を示し、シミュレーションタスク生成装置によるタスク生成のフローチャートを示す。 本発明の第1の実施形態を示し、シミュレーション用計算資源を構成するクラスタノードの構成例を示した図である。 本発明の第1の実施形態を示し、シミュレーション用計算資源の一例を示すブロック図である。 本発明の第1の実施形態を示し、システム利用料金算出の処理の一例を示すフローチャートである。 本発明の第1の実施形態を示し、ライセンス料金算出の処理の一例を示すフローチャートである。 本発明の第1の実施形態を示し、開発進捗の解析処理の一例を示すフローチャートである。 本発明の第1の実施形態を示し、ツール利用状況の解析処理の一例を示すフローチャートである。 本発明の第1の実施形態を示し、資源利用量管理データベース及び、資源価格データベースのテーブル構成例を示した図である。 本発明の第1の実施形態を示し、操作履歴データベースのテーブル構成例を示した図である。 本発明の第1の実施形態を示し、ツール・モデルデータベースのテーブル構成例を示した図である。 本発明の第1の実施形態を示し、資源価格データベースのテーブル構成例を示した図である。 本発明の第1の実施形態を示し、時系列及び操作の流れを解析してユーザから課せられたタスクを基点として、シミュレーション試行、ファイルの変更を点とし、情報の依存関係を辺としたグラフ構造の情報流グラフの一例を示す。 本発明の第1の実施形態を示し、開発進捗レポートの一例を示す図である。 本発明の第1の実施形態を示し、コマンドリストの一例を示す説明図。 本発明の第1の実施形態を示し、シミュレーション用計算資源101の状態を管理するデータベースの一例を示す説明図。 本発明の第1の実施形態を示し、ツール利用状況レポートの一例を示す図である。 本発明の第1の実施形態を示し、シミュレーション構成履歴データベースのシミュレーション構成テーブル2600の一例を示す説明図。 本発明の第1の実施形態を示し、シミュレーション構成履歴データベースのシミュレータ構成テーブル2601の一例を示す説明図。 本発明の第1の実施形態を示し、ユーザに対するシステム利用料レポートの例を示した図である。 本発明の第1の実施形態を示し、ソフトウェア提供者に対するライセンス料レポートの例を示した図である。 本発明の第2の実施形態を示し、計算機システムの機能要素を示すブロック図である。
第1の実施形態
 以下、本発明の一実施形態を添付図面に基づいて説明する。図1は本発明の実施形態の一例の概略を示し、組み込みシステムの開発を支援する計算機システム(組み込み機器の開発業務支援システム)の機能ブロック図である。
 組込みシステムの開発を行う計算機システムにおいて、動的計算資源配分システム100、シミュレーション用計算資源101、シミュレーション結果可視化システム102、システム負荷・ユーザ挙動監視システム103、作業用計算機システム106、セキュア通信を用いた画面伝送システム104、ユーザ端末107及びソフトウェア提供者端末108が、内部ネットワークを介して接続されている。
 上記の構成を、以下では、本システムと呼ぶ。ユーザ端末107及びソフトウェア提供者端末108は、セキュア通信を用いた画面伝送システム104を介してのみ本システムにアクセスすることが可能である。なお、各システム、計算資源、端末は、プロセッサ、メモリ及びインターフェースを含む計算機で構成される。
 また、組み込みシステムは、前記従来例で述べたように、制御対象のメカニズムと、メカニズムを駆動するハードウェアと、ハードウェアを制御するソフトウェアとを組み合わせたものである。
 本システムの概要は、ユーザ端末107からの入力または指令に従って、作業用計算機システム106で組み込みソフトウェアを作成し、作成した組み込みソフトウェアのシミュレーションを動的計算資源配分システム100で最適化する。
 動的計算資源配分システム100は、最適化したシミュレーションタスクを、複数の計算機を含むシミュレーション用計算資源101で実行する。シミュレーション用計算資源101は、シミュレーションを実行するシミュレーション用ソフトウェア(シミュレータ)と、シミュレータを実行する計算機(図14、クラスタノード1400)を含み、複数種類のシミュレーションを行うために複数のアプリケーションと、アプリケーションを実行する複数の計算機とを備える。
 組み込みソフトウェアのシミュレーションを実行するときには、ユーザ端末107が、実行するシミュレーションを、動的計算資源配分システム100に対して指令する。動的計算資源配分システム100は、ユーザ端末107からの要求に基づいて、シミュレーション用計算資源101のソフトウェアリソースとハードウェアリソースとを確保して、シミュレーションを実行する。
 画面伝送システム104は、ユーザ端末107またはソフトウェア提供者端末108との間でデータの送受信を行うゲートウェイとして機能し、ユーザ端末107(またはソフトウェア提供者端末108)の認証を行い、認証したユーザ端末107(またはソフトウェア提供者端末108)との間で暗号化通信などの秘匿性の高い通信(以下、セキュア通信)によりデータの授受を行う。
 また、本システムはシミュレーション結果可視化システム102を含む。シミュレーション結果可視化システム102は、シミュレーション用計算資源101が算出したシミュレーション結果をグラフなどでユーザ端末107へ提供する計算機を備える。
 また、本システムは、システム負荷・ユーザ挙動監視システム103を備えている。システム負荷・ユーザ挙動監視システム103は、シミュレーション用計算資源101のハードウェア、ソフトウェアの稼働状況を収集する計算機、ユーザ端末107からの入力、指令により開発した組み込みシステムの進捗状況を収集する計算機などを備え、ユーザ端末107毎の課金情報や統計情報を生成する。なお、各計算機システムの詳細については後述する。
 図2は、本システムにおけるユーザ端末107で行われる組み込みシステムの開発作業のフローチャートである。図2及び図1を参照して、ユーザがユーザ端末107で本実施形態における本システムを利用する際の操作について説明する。
 まずステップ301で、ユーザがユーザ端末107で画面伝送システム104に接続する。画面伝送システム104は、本システムへの接続権限を所有しているか否かを認証する。また、ソフトウェア提供者端末108も同様にして画面伝送システム104に接続し、画面伝送システム104は本システムへの接続権限を所有しているか否かを認証する。
 認証後は、ユーザあるいはソフトウェア提供者は必ず画面伝送システム104を介してアクセスするため、以降ではアクセスが画面伝送システム104を介していることの説明を割愛する。
 次にステップ302で、ユーザはユーザ端末107で作業内容の選択を行なう。本システムは3つの作業内容のモードを備えており、それらは、組み込みソフトウェアを作成するソフトウェア作成モード315、作成した組み込みソフトウェアで制御対象のメカニズムを制御するシミュレーションを実行するシミュレーションモード316及び本システムの計算機資源の利用状況を取得する開発進捗・ツール利用状態・システム利用料確認モード317である。上記3つのモードでは、提供されるサービス内容が異なる他に、システム利用料金の算出方法が異なる。
 また、画面伝送システム104は、ユーザ端末107の認証が完了した後に、ユーザ端末107に対して上記3つのモードの何れかの選択を要求する。ユーザ端末107が画面伝送システム104に対して選択結果を通知すると、画面伝送システム104は、選択されたモードに対応する計算機システムに対して、ユーザ端末107からの利用開始を通知する。画面伝送システム104から利用開始の通知を受け付けた計算機システム(動的計算資源配分システム100、作業用計算機システム106、システム負荷・ユーザ挙動監視システム103)は、ユーザ端末107に対してサービスの提供を開始する。
 まずは、ユーザが、ユーザ端末107からソフトウェア作成モード315を選択した時の作業フローを説明する。ユーザ端末107は、ステップ304で、作業用計算機システム106を遠隔操作して組み込みシステムのためのソフトウェア開発を行ない、ステップ305で作成した設計ファイルを保存する。ユーザ端末107は、作業用計算機システム106または本システム内のストレージ装置に設計ファイルを格納する。
 次に、ユーザが、ユーザ端末107からシミュレーションモード316を選択した時の作業フローを説明する。シミュレーションモードを選択した場合は、ユーザ端末107からの指令により、動的計算資源配分システム100、シミュレーション用計算資源101、シミュレーション結果可視化システム102は、ユーザ端末107が指示したシミュレーションを実行する。
 まず、ステップ307で、ユーザはユーザ端末107から動的計算資源配分システム100に対して、複数の商用シミュレーションソフトウェア(またはシミュレータ)を用いるシミュレーション構成(複数のシミュレーションタスクの依存関係)を入力する。
 次のステップ308で、動的計算資源配分システム100は、ユーザ端末107から受け付けたシミュレーションタスクを実行するのに十分な、シミュレータ、シミュレーション結果可視化システム102、シミュレーション用計算資源101で利用するCPU数、メモリ容量、特殊演算器(アクセラレータ)の数、記録領域の量を確保する。動的計算資源配分システム100は、ユーザ端末107から入力されたシミュレーションタスクにおける各部品(開発するメカニズム、ハードウェア、ソフトウェア)の結合関係を基に、シミュレーションタスク構成が最適に実行されるように、シミュレーション用計算資源101上でのシミュレータの配置関係を算出し、実際のシミュレーションタスクを構築する。
 なお、以下の説明では、シミュレーションタスク、シミュレーション構成、シミュレーションタスク構成を、次のように定義する。
 シミュレーションタスクは、メカニズム、ハードウェア、ソフトウェアの組み込みシステムの各要素を結合したシミュレーション対象を示す。一つのシミュレーションタスクには、複数のシミュレーションを含むことができる。
 シミュレーション構成は、シミュレーションタスクに複数のシミュレーションが含まれる場合に、各シミュレーション間の依存関係を定義する。
 シミュレーションタスク構成は、シミュレーション用計算資源101のクラスタノード1400とそのクラスタノード1400に割り当てるシミュレーションとの関係を定義する。シミュレーションタスク構成は、例えば、図23のようなコマンドリストで表現される。
 例えば、組み込みシステムとして内燃機関の制御システムを開発する場合のタスク生成結果を、図11に示す。エンジン制御ECU(Electronic Control Unit)のシミュレーションをシミュレーションタスクとする場合、シミュレーション要素(部品)は、エンジン制御ECU、エアフローメータ、インジェクタ、エンジンである。そして、それぞれがエンジン制御ECU、エアフローメータ、インジェクタ、エンジンのそれぞれに対応する、複数のシミュレーションソフトウェアプログラム(シミュレータ)が実行される。各シミュレータを実行するクラスタノード1400は、シミュレーションタスク構成によって割り当てられる。
 各シミュレータの依存関係(シミュレーション構成)は、図11の例では、以下の通りである。エアフローメータの吸入空気量などのデータが、エンジン制御ECUのシミュレータへ入力される。エンジン制御ECUからの燃料噴射量などが、インジェクタのシミュレータへ入力される。インジェクタからの燃料噴射期間、燃料噴射量が、エンジンのシミュレータに入力される。エンジンの回転速度などが、エアフローメータのシミュレータへ入力される。さらに、エンジンの出力が、系全体のシミュレータ(図11のLoger001.exe)に入力される。つまり、シミュレーションソフトウェアプログラム間のデータの入出力の関係が、シミュレーション構成である。
 その後、ステップ309は、シミュレーションを実行する。具体的には、ユーザがユーザ端末107から動的計算資源配分システム100で構築されたシミュレーションタスク構成の実行を指示すると、動的計算資源配分システム100は、シミュレーション用計算資源101にシミュレーションタスクを投入する。シミュレーション用計算資源101内でシミュレーションタスクを割り当てられたクラスタノード1400は、シミュレーションを実行する。
 次に、ステップ310は、シミュレーション結果を表示する。具体的には、シミュレーション結果可視化システム102は、ユーザ端末107から入力されたシミュレーションタスク構成を解析し、ユーザが必要とするシミュレーション結果を推定する。シミュレーション結果可視化システム102は、さらに、その内部でシミュレーション結果可視化部715にユーザの要求を満たすシミュレーション結果を割り当てる。シミュレーション結果可視化部715は、シミュレーション結果可視化システム102に含まれる独立したプログラムであって、1つまたは複数の特定の種類のデータを固有の方法でグラフ化する。グラフ化の方法、受け取るデータの種類により、多数の実装形態がある。
 シミュレーション用計算資源101で行なわれたシミュレーションの結果は、シミュレーション結果可視化システム102に送信される。上述のように、シミュレーション結果はユーザの望む形に加工され、セキュア通信を用いた画面伝送システム104を通してユーザ端末107に提示される。
 次に、上記のソフトウェア作成モード315とシミュレーションモード316の実行中に、本システムのバックグラウンドで行なわれる情報の収集及び記録動作に関して説明する。
 情報の収集、記録、統計化は、システム負荷・ユーザ挙動監視システム103により行なわれる。これにより、以降説明する開発進捗・ツール利用状態・システム利用料確認モード317で、収集されたデータをユーザに提供することが可能となる。
 システム負荷・ユーザ挙動監視システム103は、セキュア通信を用いた作業用計算機システム106におけるユーザ端末107のGUI操作、ファイル操作と、動的計算資源配分システム100におけるユーザ端末107からのシミュレーションの入力と、シミュレーション用計算資源101におけるCPU、メモリ、ネットワーク、ストレージへのシステム負荷と、を監視し、記録する。
 システム負荷・ユーザ挙動監視システム103は、取得したユーザ端末107のGUI操作及びファイル操作の記録、ユーザ端末107から指令されたシミュレーション及びシステム履歴データを用いて、いくつかの処理を行う。それらは、ユーザ端末107に対する利用料金の算出、ユーザ端末107またはユーザの所属するグループの開発進捗レポートの作成、シミュレーション用計算資源101に導入されるシミュレータを提供するソフトウェア提供者に対するライセンス料支払額の算出及びシミュレーション用計算資源101に導入されるシミュレータの利用状況レポートの作成である。
 上記開発進捗・ツール利用状態・システム利用料確認モード317を選択した時の作業フローを、図2を参照しながら説明する。本システムは、システム負荷・ユーザ挙動監視システム103を用いてこの作業を実行する。
 ステップ313において、ユーザ端末107は、開発進捗レポート、ソフトウェア利用状態レポート、システム利用料レポートの中から、閲覧を希望する情報の種類を選択する。ステップ314において、ユーザ端末107は、画面伝送システム104を通じて上記選択した情報を閲覧する。
 ユーザがユーザ端末107を操作して本システム上で組み込みシステム等の開発を行なっていれば、システム負荷・ユーザ挙動監視システム103が算出した本システムの利用料金情報及び開発進捗レポートを受け取る。
 また、ユーザがソフトウェア提供者となって、本システムにソフトウェアを提供していれば、システム負荷・ユーザ挙動監視システム103が算出した、ソフトウェアの利用状況及びソフトウェアの利用により発生したライセンス収入報告を受け取ることができる。
 次に、本システムの詳細について説明する。図3は本システムを実施するのに必要な装置の詳細な構成を示すブロック図である。ただし、本図における装置の接続関係は単に実施形態の一例を示すものであり、先に示した機能を得られるのであれば、周知または公知の技術を用いることができる。
 なお、図2の、ステップ301で説明したユーザ接続用情報の確認(認証)は、図3の画面伝送システム104内のユーザ接続権限確認装置702によって実行される。ユーザ接続権限確認装置702で提供される認証方式としては、ユーザ(ユーザ端末107)を識別するID番号とパスワードを用いる方式に加え、暗号化された個人識別情報を含むファイルの交換を用いた認証方式、ユーザ側で暗号化された個人識別情報を含む装置を用いた認証方式などを用いることが可能である。
 また、本システムへのログインプログラムの提供方法としては、ウェブブラウザ上のアプリケーションとして提供する方法、ユーザのパーソナルコンピュータ(ユーザ端末107)上で動作する独立したアプリケーションとして提供する方法、本システムへのログインプログラムのみが動作するように構築されたOS(Operating System)を前述の個人識別情報を含む装置に導入して提供する方法が考えられる。しかし、本発明ではユーザと本システムの間の通信の秘匿性が確保され、本システムを利用する権限のないものが本システムにログインすることが不可能である、という要件を満たすものであれば、周知または公知の技術を用いることができる。
 図4はソフトウェア作成モード315における本システムの処理フローを図示したものである。図4と図3を用いて、ソフトウェア作成モード315における本システムの処理を詳細に説明する。ここで言及するソフトウェアとは、ユーザが開発する組込みシステムのソフトウェア、シミュレーションを実行する上で必要となるシミュレーションモデル及びシミュレーション結果可視化システム102を指す。
 ステップ401で、ユーザ端末107は、ソフトウェア作成モードを選択する。ステップ402で、作業用計算機システム106は、ユーザ端末107を使用するユーザに適した作業環境を割り当てる。この割り当てによって、ユーザ端末107は動的計算資源配分システム100のツール・モデルデータベース709等を、作業用計算機システム106を介して利用可能となる。作業用計算機システム106は、後に説明する作業用計算資源722と、ユーザファイルストレージ707と、作業環境提供装置703によって構成される。
 ステップ304で、ユーザは、ユーザ端末107から上記割り当てられた作業環境を遠隔操作し、ソフトウェアの開発を行なう。ステップ305で、ユーザが作成した設計ファイル等は、ユーザファイルストレージ707に保管される。この際、ユーザがユーザファイルストレージ707に施した変更は、ステップ404で、ファイル来歴記録装置714により、ファイルアクセス履歴として、GUI操作及びファイル来歴を記録する操作履歴データベース708に登録される。
 ステップ403で、作業用計算機システム106が提供する作業環境上でのユーザ端末107におけるユーザのGUI操作は、後に説明するユーザ挙動統計化装置713によって取得され、操作履歴データベース708に登録される。登録されたGUI操作履歴は、開発進捗の可視化のために利用され、また、ソフトウェア利用状況の統計情報として利用される。
 ステップ306で、ユーザ端末107のユーザがソフトウェアの開発を終え作業環境の利用の停止を選択した場合、ユーザ挙動統計化装置713は、ユーザ端末107のOSの機能を用いて作業環境へのログイン時間とログアウト時間の差分を利用時間として取得する。取得された利用時間は、ステップ405で、本システムにおけるシステム負荷を記録する資源利用量管理データベース711に登録され、ソフトウェア作成モード315の利用料金の算出に利用される。
 作業用計算機システム106のユーザファイルストレージ707は、ネットワーク上に配置されたファイル保管領域であって、ソフトウェア作成モード315で作成された設計ファイル及びシミュレーションモード316におけるシミュレーションのログファイルが保存される。
 ユーザファイルストレージ707はユーザごと、またはユーザの所属する団体ごとに小領域に分割されている。なお、ユーザファイルストレージ707は、転送性能と容量によりクラス分けが行なわれており、システム利用料算出時に使用されるストレージ利用単価にもクラスによって差がついている。
 また、ユーザファイルストレージ707を構成するストレージシステムの機能により、小領域(例えば、ブロック)毎に使用量または割当量が資源利用量管理データベース711に予め登録されており、それらは、ユーザに対するシステム利用料の算出の際に使用される。
 本システム管理者は、ユーザの任意の小領域に対する読み込み、書き込み、参照の各アクセス権限を事前に設定することにより、本システムの機密性を保持する。
 作業用計算資源722は、一つまたは複数のOS(Operating System)が動作する計算機を含んで構成される。作業用計算資源722は、本システムに提供されたソフトウェアが利用可能な状態である。作業環境を構成するために使用されるOSの種類に関しては、周知または公知の技術を用いることができ、典型的には、本システムに提供される全てのソフトウェアの動作を可能にするため、複数種類のOSを利用される。
 また、ユーザ端末107により利用されるシミュレータあるいはソフトウェアが異なることから、ユーザ端末107に提供されるOSの設定は、典型的には、多岐にわたる。
 通常の1つの計算機に対して1つのOSという構成では、上記要求を満たすために必要とされる計算機数が増大する。しかし、例えば、VMWareのような一つの計算機上に複数のOSを動作させることができる仮想化ソフトウェアを用いることで、作業用計算機システム106が提供する作業用計算資源に必要とされる計算機の数を、削減することが可能である。
 また、作業用計算資源722には、ユーザ端末107のログイン時間とユーザのログアウト時間、ユーザの使用したソフトウェアの種類ごとの使用回数、利用時間、使用機能、を取得する機能が必要となる。これらの情報を取得する機能を実現するため、OSで提供されている機能を利用する場合とOSが提供していない機能を補完するソフトウェアの導入を必要とする場合が考えられるが、機能の実現方法に関しては周知または公知の技術を用いることができる。
 作業環境提供装置703は、ユーザ端末107を操作するユーザの要求を満たすOSの種類と利用するソフトウェアの種類から、最適なOSの構成を作業用計算資源722内から選択し、それをユーザファイルストレージ707の該当するユーザの領域と結合し、ユーザに提供する計算機である。
 作業用計算資源722とユーザファイルストレージ707の結合の実現方法として、2つの方法が可能である。一つの方法は、全てのユーザに一つまたは複数の専用作業環境を作業用計算資源722から割り当てた後、ユーザファイルストレージ707に保存された成果物以外のユーザが作業環境に施した作業中の変更も作業環境上に保存し、次回以降の利用でも再利用可能にする。
 他の一つの方法は、全てのユーザが同じ作業環境を用いた場合、ユーザファイルストレージ707に保存された成果物以外のユーザが作業環境に施した変更を破棄する。本発明では、成果物をユーザファイルストレージ707に登録する点を除く作業環境の提供方法に関して、詳細は周知または公知の技術を用いることができる。
 ユーザファイルストレージ707と作業環境との接続の方法として、少なくとも2つの方法が可能である。一つの方法は、作業環境を構成するOS上でユーザが唯一書き込み可能なディスク領域として、ユーザファイルストレージ707をマウントする。他の一つの方法は、作業環境を構成するOS上にはマウントせず、ユーザに能動的にユーザファイルストレージ707に設計ファイルをコピーさせる。
 図5はシミュレーションモード316における、本システムの処理フローを図示したものである。図5、図2、図3を用いて、シミュレーションモード316における動作を詳しく説明する。
 ユーザ端末107がシミュレーションモード316を選択した場合は、動的計算資源配分システム100、シミュレーション用計算資源101、シミュレーション結果可視化システム102により、シミュレーションが実行される。
 動的計算資源配分システム100は、シミュレーションタスク入力装置704、シミュレーションタスク生成装置705及びシミュレーションタスク発行装置723から構成される。なお、図3において、これらの各装置は独立した計算機であるが、これら装置の機能を実現するプログラムを、一つの計算機で実行することができる。
 シミュレーション結果可視化システム102は、シミュレーションタスク生成装置705によって割り当てられたシミュレーション結果可視化部715を含んで構成され、シミュレーション結果可視化部715は画面伝送システム104の画面伝送装置701と接続される。
 図2のステップ307で、ユーザ端末107はシミュレーションタスク入力装置704を用いて、ユーザの望むシミュレーション構成を作成する。
 シミュレーションタスク入力装置704を用いたシミュレーション対象の構築が終了すると、図5の制御が開始される。ステップ501で、動的計算資源配分システム100のシミュレーションタスク生成装置705は、ユーザ端末107から受け付けたシミュレーション構成の実行に必要な計算資源の見積もりを行なう。
 その後、ステップ308で、動的計算資源配分システム100は、そのシミュレーションタスク生成装置705により算出された必要となる時間及び費用並びに計算資源(図13、図14のクラスタノード1400)に割り当てられたシミュレーションの構成を、ユーザ端末107に提示する。
 ユーザ端末107を使用するユーザは、動的計算資源配分システム100から提示された情報が希望に沿わない際は、ステップ307に戻り、シミュレーションタスク入力装置704でパラメータの調整を行い、再度シミュレーションタスク生成装置705に対し見積もりを要求する。
 一方、シミュレーションタスク生成装置705がユーザ端末107に対して提示するシミュレーションの実行に必要とされる時間と費用が、ユーザの希望に沿うものであれば、次のステップ309で、ユーザは、ユーザ端末107からシミュレーションタスク発行装置723に、上記生成したシミュレーションタスクの実行を指示する。
 ユーザ端末107がシミュレーションタスク発行装置723にシミュレーションタスクの実行を指示すると、ステップ503で、シミュレーションタスク発行装置723は、シミュレーションタスク構成として生成された図23に例示するコマンドリスト1202に従い、シミュレーション用計算資源101の中から、必要とするCPU数、メモリ量を満たす最小の数のクラスタノードを確保する。
 ユーザ端末107から入力したシミュレーション構成に必要とされる全てのソフトウェアのライセンスを後に説明するライセンスサーバ724により確保し、シミュレーションが開始される。
 ステップ504で、図13、図14に示すシミュレーション用計算資源101のクラスタノード1400で実行されるシミュレータが、相互にデータを交換しながらシミュレーションを進める。
 その際、ステップ310で、シミュレーション結果可視化システム102のシミュレーション結果可視化部715は、1つまたは複数のシミュレータ(クラスタノード1400)より受信したデータを蓄積し、ユーザ端末107から指定されたグラフとなるよう蓄積したデータを加工する。
 シミュレーション結果可視化部715で加工されたデータを、リアルタイムにユーザ端末107へ提示する指定があれば、シミュレーション結果可視化部715は、シミュレーションモード316では、画面伝送システム104を介してユーザ端末107にシミュレーションを可視化したデータ(グラフなど)を提供する。
 リアルタイムで提示する指定がなされていない場合、シミュレーション結果可視化部715は、加工したデータをユーザファイルストレージ707に保持する。ユーザ端末107からの要求に応じて、シミュレーション結果可視化部715は、ユーザファイルストレージ707から可視化したデータを提供する。
 シミュレーション実行中の本システムへの負荷は、以下の処理でシステム負荷・ユーザ挙動監視システム103に記録される。
 図5に示すステップ506で、シミュレーション用計算資源101でシミュレーションタスク構成が割り当てられたクラスタノード1400のCPU、メモリに対する負荷が測定され、ステップ505で、シミュレーションログが記録される。データは、資源利用量として、図3に示すシステム負荷・ユーザ挙動監視システム103の資源利用量管理データベース711に記録される。
 資源利用量管理データベース711に格納されたシミュレーション実行中のシステム負荷は、操作履歴データベース708に格納されたシミュレーション実行後のユーザ端末107の挙動情報とあわせて解析される。解析結果は、シミュレーションタスク生成装置705のタスク生成アルゴリズムにフィードバックされ、シミュレーションタスク構成を生成する精度を向上させる。
 シミュレーションモード316のユーザへの提示方法としては、二つの方法が可能である。一つの方法は、ソフトウェア作成モードと同様に、シミュレーション用計算資源101の中からタスク入力装置704とシミュレーション結果可視化部715を各々独立したアプリケーションとして実装してシミュレーション実行用作業環境を割り当てる。
 他の一つの方法は、タスク入力装置704とシミュレーション結果可視化部715をウェブブラウザ上のアプリケーションとして提示する。本発明ではタスク入力装置704とシミュレーション結果可視化部715のユーザへの提示方法について、いずれの周知または公知の技術を用いてもよい。
 動的計算資源配分システム100のライセンスサーバ724は、シミュレーション用計算資源101上に導入されたソフトウェアを起動するために必要なライセンス鍵を保持する計算機である。
 通常、商用のソフトウェアには、不正コピーの防止のため、ライセンス認証によるソフトウェア起動の制限がかけられている。ライセンス認証によるソフトウェア起動の制限の手法としては、2つの方法が可能である。一つの方法は、計算機固有の情報、例えば、ネットワークインターフェースの個体識別子またはハードディスクの固体識別子等を用いて、認証を計算機それぞれで行なう。他の一つの方法は、ある一台の計算機で認証を行い、他の計算機が認証された計算機にライセンスを取得する。
 本実施形態では、ライセンスサーバ724によるライセンス認証を用いた方を説明している。しかし、認証の提供方法に関して、本発明では周知または公知の技術を用いることができる。一般的に、本実施形態のように多数の計算機によって構成されるシミュレーション用計算資源を備え、かつ実行するソフトウェアが動的に変化していくような環境では、前者の計算機毎の認証は必要とするライセンスの本数の増加を招くため、計算機管理のコストは増加する。
 図7は、動的計算資源配分システム100のシミュレーションタスク入力装置704の典型的構成の一例を示す。シミュレーションタスク入力装置704は、タスク構築画面801とツールパレット802を備えたGUIアプリケーションを実行する計算機として実装される。
 ツールパレット802は、シミュレーション構成に使用可能な全シミュレーションモデルを複数の部品ブロック804として備え、各部品ブロック804は、一つのシミュレーションモデルまたはシミュレーションモデルの集合からなる。またツールパレット802には多数のシミュレーションモデルが登録されることを想定し、シミュレーションモデルの種別ごとメニュー806に、種別を分割表示する実装も考えられる。
 図7の実施形態では、自動車系、航空系、OA系、油圧機械系などの適用分野による分類と、電子系、環境モデルなどのシミュレーション対象の物理階層による分類、あるいは後に説明する、シミュレーションモデルを実行するシミュレータによる分類を提示している。本図はメニュー806から自動車系を選択しており、エンジン、モータ等自動車の組込みシステムにおけるメカ系部品と、インジェクタ、センサのような駆動系部品、制御コントローラのような電子系部品のシミュレーションモデルが表示されている。
 ユーザは、ツールパレット802から選択した部品ブロック804を、タスク構成画面801上に配置し、タスク構成画面801に配置された部品ブロック820~825間において、矢印線815を用いて部品間の接続関係を記述することが可能である。このとき、ユーザは、各部品ブロック820~825がどのソフトウェアによって実行されるか、いくつのI/Oインターフェースとつながっているかを明示的に指定する必要がない。また、ユーザはユーザ端末107からタスク構成画面801に配置された部品ブロック820~825ごとにパラメータ設定画面805を表示させることができる。
 パラメータ設定画面805は、最初は、各部品820~825の標準的な動作パラメータを表示し、ユーザはユーザ端末107からシミュレーション構成に併せて動作パラメータを適切に変更することが可能である。各モデルの動作パラメータの一例としては、イベント更新のためのステップ周期817、抽象化レベル807、ユーザが可視化させたい内部データ808等がある。
 データの可視化を行うシミュレーション結果可視化部715は、タスク構築画面801上で、内部状態を監視したい部品または部品間の結合に対して挿入される形で、シミュレーション環境に割り当てられる。また、その際にどのような提示方法を使うかを抽象的に選ぶことが可能である。
 本実施形態では図7で示すようにエンジンブロック825の可視化に対し連続系のグラフ化可視化部811を割り当て、エンジン制御ECU820の内部状態の可視化に離散系のグラフ化可視化部821を割り当てることをユーザが指定している。
 また、シミュレーション構成の全体に関わるパラメータの設定画面814では、ユーザは、後に説明するシミュレーションタスクの生成時にシミュレーションタスク生成装置705が用いるパラメータを設定する。
 本実施形態では、ユーザは、ユーザ端末107から指定するシミュレーション構成の目標終了時間816を指定する。目標終了時間813の設定方法としては、本図のように、シミュレーションが終了して欲しい時刻を指定する方法と、経過時間を指定する方法の2種類が想定されるが、本発明ではその指定方法について、周知または公知の技術を用いることができる。このように、タスク構成画面801は、ユーザ端末107からの入力に応じて、設定、表示を行うGUIである。
 図7において、ユーザがユーザ端末107から入力したシミュレーション構成は、保存することが可能である。具体的には、ユーザは、タスク構築画面801の保存ボタン813を押すことにより、タスク構築画面801上のシミュレーション構成をシミュレーション構成履歴データベース721に保存することが可能である。シミュレーション構成を保存するのにあたり、ユーザは、ユーザ端末107から、保存されたシミュレーション構成の開示範囲、構成の詳細参照・変更権限の有無及び各部品ブロックの持つパラメータの編集項目のオン/オフを設定可能である。
 以降では、上記保存されたシミュレーション構成をサブシステムと呼称する。図8は、図7で保存されたサブシステムを再利用した際の画面提示例を図示したものである。サブシステムを用いることによって、作成したシミュレーション構成900を他のユーザと共有して再利用することが可能である。
 ユーザがシミュレーション構成履歴データベース721に保存したシミュレーション構成900は、ツールパレットのユーザ定義メニュー906に表示される。このシミュレーション構成900をタスク構築画面801上に配置すると、図7において構築したシミュレーション環境が図8のように展開され、サブシステムを作成したユーザが設定したパラメータがパラメータ設定画面901に表示される。本例では、可視化対象905、部品全体の抽象化レベル903、各モデルのシミュレーションステップ周期902などがある。
 また事前に、サブシステムを作成したユーザがユーザ端末107から変更・参照権限を付与していた場合、サブシステムのユーザは、サブシステムを構成する各部品の詳細パラメータを参照・変更することまたはサブシステム内に新たなシミュレーションモデルもしくは可視化対象を追加することが可能である。
 図9は、動的計算資源配分システム100のシミュレーションタスク入力装置704において、シミュレーション対象の各部品で使用するソフトウェアを明示的に指定する必要がある場合の構成例を示す。図7との相違は、ツールパレット1000に表示される全てび部品のツールが指定されていることである。タスク構築画面801への配置の方法、動作パラメータの設置方法は上記図7と共通である。
 本発明はシミュレーションタスク入力装置704の構成を図7の構成例、図8の構成例、図9の構成例のいずれかに限定することはなく、これらのうち全てまたは一部を含む構成であっても良い。
 図10は、シミュレーションタスクのユーザインターフェースの一例を示す画面イメージである。このユーザインターフェースは、シミュレーション用計算資源101へのシミュレーションタスク構成の割り当て結果をユーザ端末107に提示する。本実施形態は、シミュレーションタスク入力装置704の画面表示を再利用し、その画面中にシミュレーションの終了予定時間、シミュレーションにかかる全体のコスト及びその内訳を示している。
 シミュレーションの終了予定時間の提示方法は、本図のようにシミュレーションが終了して欲しい時刻を指定する方法と、経過時間を指定する方法の2種類が想定される。本発明では、その指定方法について、周知または公知の技術を用いることができる。また、計算資源割り当て結果の提示方法は、図10に示した方法には限定しない。
 図7から図10までで説明したタスク生成作業は、動的計算資源配分システム100のシミュレーションタスク入力装置704を用いてユーザ端末107から作成したシミュレーション構成を入力として受け取り、それを実行可能なシミュレーションタスク構成の列へと変換する作業であると定義する。
 シミュレーションタスク構成の生成は、シミュレーションモデルの粒度及びシミュレーションモデルを実行するシミュレータの特性に合わせて、シミュレーションもしくは計算機構成などのパラメータ調節を行なう。
 シミュレーションモデルの粒度とは、シミュレーションモデルにおける最小ユニットのサイズである。例えば、SystemCにおける信号線レベルの様な低い抽象度のモデル化とデータ通信レベルの様な高い抽象度のモデル化というように、シミュレーションモデルによって、その抽象度に大きな差異がある。これにより、シミュレーション実行に必要とされる計算量と直接結合関係にある部品間の通信量が大きく変わる。
 一般に、抽象度が低いシミュレーションモデルほど、多くの計算量と通信量を必要とするが、詳細な内部情報を取得することが可能である。一方、抽象度が高いシミュレーションモデルは少ない計算量と通信量を必要とするが、時間精度が低く、内部状態の取得も限られる。
 粒度の異なるシミュレーションモデルを2つ以上接続する場合、シミュレーションモデル間のデータの同期を一定時間ごとに行なう必要がある。ここで最適化を施さない接続を行なうと、シミュレーションの実行は粒度の粗いモデルに合わせられ、全体のシミュレーション速度は低下する。
 よって、シミュレーションの可視化したい箇所に合わせてデータの同期周期を最適化することにより、全体のシミュレーション速度を改善する手法が重要となる。しかし、同期周期の最適化は、シミュレーション実行前に決定的に推定可能なものではない。よって、本システムでは、以前に実行されたシミュレーションの構成とそのシミュレーション構成実行時のシステム負荷を学習データとした、シミュレーション構成の最適化手法を採用する。
 図11は、組み込みシステムとして内燃機関の制御システムを開発する場合に、エンジン制御ECUのシミュレーションをシミュレーションタスクとし、シミュレーションタスク構成1101を生成した例を示す。シミュレーション要素のエンジン制御ECU、エアフローメータ、インジェクタ、エンジンには、それぞれシミュレーションを実行するソフトウェア(図中実行ツール)と、シミュレーションを行うモデル(図中使用モデル)と、使用するパラメータ(使用パラメータ)と、シミュレーションを実行するクラスタノード1400の識別子(図中実行ノード)が割り当てられる。
 図12に動的計算資源配分システム100のシミュレーションタスク生成装置705によるタスク生成のフローチャートを図示する。これは図5のシミュレーションタスクの生成ステップ501と、タスク構成の記録をするステップ502に対応する。以下に、シミュレーションタスク生成装置705のタスク生成工程を説明する。
 ステップ1203で、シミュレーションタスク生成装置705は、シミュレーションタスク入力装置704を用いて作成されたシミュレーション構成を入力として、タスクを生成する。
 ステップ1204で、シミュレーションタスク生成装置705は、シミュレーション構成に含まれる各部品を実行するシミュレータと対応付ける。部品とシミュレータの対応付けは、シミュレーション構成内で利用されるシミュレーションモデルの情報を記録しているツール・モデルデータベース709における検索(ステップ1210)により、シミュレーション構成に含まれる各部品を実行させるのに必要なシミュレータ(シミュレーションソフトウェア)の種類、そしてシミュレーションモデルの粒度の情報を取得する。
 取得する際、シミュレーションタスク生成装置705は、過去に実行したシミュレーションタスク構成を記録するシミュレーション構成履歴データベース721を参照する(ステップ1212)。同等の構成を実行した履歴を発見できた際は、ツール・モデルデータベース709への照会は行なわず、シミュレーション構成履歴データベース721の履歴データを再利用することが可能である。
 次にステップ1205で、シミュレーションタスク生成装置705は、シミュレータとシミュレーションモデルとのシミュレーション用計算資源101へタスクを割り当てる。このとき、計算資源管理データベース706を参照する(ステップ1211)。具体的には、各部品の計算量と通信量への要求と、後に説明する計算資源管理データベース706に記録されているシミュレーション用計算資源101の計算能力と通信容量及び計算資源の使用状態の情報と、に基づき、シミュレーション構成の各部品を模擬するため、シミュレータとシミュレーションモデルとのシミュレーション用計算資源101へのタスクの割り当てを行なう。
 タスクの割り当てにおいては、部品間の通信量の多寡に応じて、配置するクラスタノード1400の位置を近くに配置するかあるいは遠くに配置するかを判断する。また、あまりにも通信量が多いものに関しては、同一ノード内へ割り当てる。また、各部品間ではTCP/IP通信によって実行時間及びデータの同期が行われるため、データ通信に使うポート番号の割り当ても行なう。
 また、シミュレーションタスク生成装置705は、シミュレーション実行中に逐次結果を表示する必要があるシミュレーション結果可視化部715が含まれている場合は、シミュレーション結果可視化部715とシミュレーションモード提示用のユーザインターフェースとの結合も行なう。
 シミュレーション用計算資源101への各シミュレーションタスクの割り当てが終了すると、次のステップ1206で、シミュレーションタスク生成装置705は、各シミュレーションタスクのパラメータ調整を行なう。
 シミュレーションタスクのパラメータ調整は、シミュレーション構成履歴データベース721を参照し、各シミュレータとシミュレーションモデルの組み合わせについて、類似の部品、部品の結合関係及びクラスタ配置を持つシミュレーションを行なった際の各シミュレータのパラメータの履歴を検索する(ステップ1212)。
 上記検索条件に該当する結果が見つかった場合は、そのシミュレーションのパラメータを用いる。検索結果が見つからなければシミュレーションタスク入力装置704で入力されたパラメータ及びシミュレーション構成履歴データベース721において類似する構成履歴を検索し、シミュレーション結果の有効性の高い構成から取得した、シミュレータ用のパラメータを生成する。
 シミュレーション結果の有効性とは、シミュレーション結果がユーザの希望に沿う解析結果や実行速度であったか否かを、シミュレーション実行後のユーザの挙動を解析して評価した数値である。シミュレーション結果の有効性解析のフローに関しては後ほど説明する。
 ステップ1207で、シミュレーションタスク生成装置705は、各シミュレータとシミュレーションモデルの組み合わせに対する実行パラメータを確定することにより、図23に例示するような、シミュレーション用計算資源101で実行させるシミュレーションタスクのコマンドリスト1202を確定する。
 上記処理により、シミュレーションに必要なシミュレータ及びシミュレーション可視化部715の種類と数、計算資源の量、計算資源の結合関係が分かる。これらを基にシミュレーション構成履歴データベース721を参照し、類似のシミュレーションがどれだけの時間と計算資源が必要であるか予測できる。
 シミュレーションタスク生成装置705は、時間と使用資源の予想値が算出できると、ユーザ端末107からユーザに提示するシミュレーションの予想経費を算出する。上記の予想値は、ユーザに提示される。本システムはシミュレーション実行あるいは、シミュレーションタスクの再生成のどちらかの指示がユーザ端末107から来るまで待機する。
 ユーザ端末107からシミュレーションタスクの再生成の指示が行なわれた場合、シミュレーションタスク生成装置705は、ユーザ端末107に提示したシミュレーション構成のタスク生成精度を減算し、再度別の生成パラメータ(シミュレーションの要素)を使いシミュレーションタスクの生成を行なう。
 タスク生成精度とはシミュレーションタスク生成装置705により生成されたシミュレーションタスク毎に付与される数値であり、実行されたシミュレーションタスクに対するユーザの有効度評価に基づいて1減算または1加算されることで算出される。
 一方、ユーザ端末107から実行の指示があった場合は、シミュレーションタスク生成装置705は、コマンドリスト1202をタスク発行装置723に渡しシミュレーションを開始する。シミュレーションタスク生成装置705における、シミュレーション構成と履歴データの間の類似度の推定アルゴリズムに関しては、図12で説明した動作フローを持つこと以外について、周知または公知の技術を用いることができる。
 ステップ1208では、演算資源負荷測定装置712は、シミュレーション実行中のシミュレーション用計算資源101でのシステム負荷を観測し、その観測結果を記録する。具体的には、シミュレーション用計算資源101の各クラスタノード1400のシステム負荷(例えば、プロセッサ使用率)を取得し、資源利用量管理データベースに記録する。
 ステップ1209では、シミュレーションタスク生成装置705が、シミュレーション結果及び実行されたシミュレーションの構成について、シミュレーション実行後に解析を行い、当該シミュレーションの有効性を評価する。
 シミュレーション実行後に、ユーザがユーザ端末107で可視化されたシミュレーション結果を確かめる。その結果に応じユーザがどのような行動を取るかは、ユーザ挙動統計化装置713により取得が可能である。
 ユーザがユーザ端末107にてシミュレーション結果を受け、同じ部品構成のシミュレーションをシミュレータの動作に関わるパラメータを変えつつ再実行を繰り返していることが、ユーザ挙動統計化装置713の測定結果により判明した際は、シミュレーションタスク生成装置705は、ユーザがシミュレーションタスク生成装置705による自動割り当て性能に満足していないと判断し、シミュレーション構成履歴のタスク生成精度を減算する。
 ユーザがユーザ端末107でシミュレーション結果を受け、全く同じ部品構成、同じシミュレータ動作パラメータを用いていることがユーザ挙動統計化装置713の測定結果により判明した際は、シミュレーションタスク生成装置705は、該当するシミュレーション構成履歴のタスク生成精度を加算する。有効度の高いシミュレーション構成履歴が次回以降から用いられるように、シミュレーションタスク生成装置705は、シミュレーション構成履歴データベース721の各構成履歴エントリの有効度を用いている。
 前述の仕組みによりシミュレーションタスク生成装置705は自身のタスク生成精度を向上させることが可能である。
 以降、前記タスク生成装置705で用いるデータベースのテーブル構成例等について説明する。ツール・モデルデータベース709は、本システムで利用可能である任意シミュレーションモデルの情報を格納するデータベースである。図19のテーブル構成1200はツール・モデルデータベース709のテーブル構成の一例を図示したものである。
 本実施形態では、ツール・モデルデータベース709は、各シミュレーションモデルの識別子(図中部品名)と、シミュレーションモデルを実行可能なシミュレータの識別子(図中ツール)と、実行可能なシミュレータのバージョン情報(図中バージョン)、当該シミュレーションモデルの粒度(図中モデル粒度)と、当該シミュレーションモデルの入出力ポートの個数を図中コネクション情報として格納する。このテーブル構成は本発明を実現する上で最低限のテーブル構成であり、更に格納するべき情報を増やしてもよい。
 計算資源管理データベース706は、本システムのシミュレーション用計算資源101の状態を管理するデータベースである。図24は、計算資源管理データベース706のテーブル構成の一例を図示したものである。
 本実施形態において、計算資源管理データベース706は、シミュレーション用計算資源101を構成するクラスタノード1400の計算能力、ノードの位置情報、利用状態、利用状態からの復帰予定時間等を格納するデータベースである。
 図24において、クラスタノードのクラス2401は、シミュレーション用計算資源101を、そのCPU性能及びRAM容量でクラス分けしたものである。クラスタノードのクラスは、後ほど説明するシミュレーション実行における費用の算出に利用される。
 本実施形態では、ノード配置2402は、対象とするクラスタノードのネットワーク上での位置情報を格納する。本実施形態は、ネットワーク上の位置情報としてIPアドレスを用いている。IPアドレスによりネットワーク上での位置関係が把握でき、ネットワーク上での位置関係を基に通信量を見積もることが可能になる。一般的にIPアドレスの近いノードほど、高い通信量をサポートすることが可能である。
 このテーブル構成は本発明を実現する上で最低限のテーブル構成であり、更に格納するべき情報を増やしてもよい。
 動的計算資源配分システム100のシミュレーション構成履歴データベース711は、シミュレーションタスク生成装置705によって生成されるシミュレーションタスクの構成、すなわち、あるシミュレーションにおいて利用されたシミュレータの種類、シミュレーションモデル、シミュレータ間の結合関係(シミュレーション構成)、各シミュレータで使用したパラメータ及びそのシミュレーション構成の実行結果の有効度を保存するデータベースである。
 図26Aは、シミュレーション構成履歴データベース711のシミュレーション構成テーブル2600の一例を示すものである。本実施形態では、シミュレーションの識別子(図中シミュレーションID)、シミュレーションの開始時間(図中開始時刻)、目標終了時間、実際の終了時間(図中実終了時刻)、シミュレーション構成(図中シミュレーション構成ファイルパス)を格納する別のテーブルへのリンク及びシミュレーション有効度を格納する。
 図26Bはシミュレーション構成履歴データベース711のシミュレータ構成テーブル2601の一例を示すものである。本実施形態では、シミュレータ構成の識別子(図中シミュレーションID)、シミュレータ種類、シミュレーションモデルのファイル格納先及びシミュレーション実行時に直接データを交換するシミュレーションモデルの識別子(図中隣接構成ID)を格納する。本データベースの構成は、図26A、図26Bで図示する情報を含む限り、他の部分に関して周知または公知の技術を用いることができる。
 演算資源負荷測定装置712は、例えば、システム提供者により導入された、シミュレーション用計算資源101に搭載されているOS標準のシステム状態取得用プログラムにより実現することができる。演算資源負荷測定装置712は、各プロセスの実行時間とCPU負荷、RAM使用量の記録が可能であることを除き、その詳細に関しては、周知または公知の技術を用いることができる。図3に示すように、各クラスタノード1400の負荷情報を取得するプログラムを、システム負荷・ユーザ挙動監視システム103の計算機が実行するようにしても良い。
 シミュレーション用計算資源101の構成例を図13、図14を用いて説明する。図14は、シミュレーション用計算資源101の構成要素であるクラスタの最小構造の一例を図示する。図13は、クラスタの構成要素であるクラスタノードの構成例を図示する。シミュレーション用計算資源101は、1つまたは複数のクラスタノード1400及び一つまたは複数のストレージシステム1402が通信ネットワーク1401によって相互に接続されたクラスタ最小構造1403をもつ。
 またシミュレーション用計算資源101は、1つのクラスタ最小構造1403または複数のクラスタ最小構造1403が通信ネットワーク1401により接続された構造を持つことができる。通信ネットワーク1401には、LAN(Local Area Network)、インターネット、WAN(Wide Area Network)、専用回線、無線ネットワーク、公衆回線網、携帯電話網のいずれを適用することもでき、ネットワークの種類と接続構造には拘らない。通信ネットワーク1401はVPN(Virtual Private Network)などの仮想専用ネットワーク技術の適用を受けるときがある。
 クラスタノード1400の構成例を、図13を用いて説明する。クラスタノード1400の基本的構成は、1つまたは複数のプロセッサ1300、1つまたは複数のメモリ1303、コントローラ1301、1つまたは複数のアクセラレータ1302とネットワークインターフェース1304の要素を備える。各要素の個数、接続関係は限定しない。
 図6及び図3を用い、開発進捗・ツール利用状態・システム利用料確認モード317における処理の一例を解説する。
 開発進捗・ツール利用状態・システム利用料確認モード317で提供される情報は、後に説明する方法により、定期的にその時点でのシステム情報の検索600による最新のデータを用いて解析される。具体的には、システム負荷・ユーザ挙動監視システム103内の開発進捗抽出装置718は、開発進捗レポートの作成603とソフトウェア利用状況レポートの作成604において、上記最新のデータを用いて上記情報を解析する。システム利用料生成装置716は、システム利用料レポートの作成601とライセンス料レポートの作成602において、上記最新のデータを用いて上記情報を解析する。
 開発進捗レポートは開発進捗情報データベース720に、ソフトウェア利用状況レポートはツール利用状況データベース719に、システム利用料レポート及びライセンス料レポートは課金管理データベース717に、それぞれ記録されている。
 ステップ302で開発進捗・ツール利用状態・システム利用料確認モード317を選択したユーザは、ステップ313で、確認したい情報の種類を、開発進捗レポート、ツール利用状況レポート及びシステム利用確認レポートの中から選択する。
 利用する情報がユーザ端末107で選択されると、本システムは該当する最新のレポートを開発進捗情報データベース720、ツール利用状況データベース719及び課金管理データベース717から検索する。該当するレポートデータが見つかった場合は、ステップ314で、画面伝送装置701を介してユーザ端末107に提示を行なう。
 ユーザは、本システムの利用契約を締結する際に、ユーザが見ることが出来る情報にあらかじめ制限をつけることが可能である。例として、本システムで開発を行なうユーザは、開発進捗レポートと利用料金情報を受け取ることが可能だが、ライセンス料情報に関しては閲覧することが不可能である。
 以降にシステム負荷・ユーザ挙動監視システム103内のシステム利用料生成装置716及び開発進捗抽出装置718における情報の解析手順と、その際に必要となるデータベースの構成例に関して説明する。
 図15Aは、システム利用料生成装置716が、操作履歴データベース708、資源利用量管理データベース711及び資源価格データベース710の情報から、ユーザ端末107を使用するユーザに請求する本システムの利用料金及びソフトウェア提供者に支払うライセンス料を算出する手順を示したものである。
 まず、ユーザに請求するシステム使用料の算出プロセスを説明する。ステップ1500及びステップ1501で、システム利用料生成装置716は、ユーザ毎に、シミュレーション用計算資源101の負荷履歴と作業用計算機システム106のユーザによる使用時間内のGUI操作履歴を、それぞれ、資源利用量管理データベース711と操作履歴データベース708から検索する。
 ステップ1503で、システム利用料生成装置716は、シミュレーション用計算資源101の負荷履歴と作業用計算機システム106のGUI操作履歴の組み合わせにより、使用機能毎のCPU利用量、RAM利用量及び所要時間を抽出する。
 一方、ステップ1502で、システム利用料生成装置716は、資源価格データベース710から、ユーザ端末107から使用したツールごとに、利用計算ノードをキーワードとして計算資源単価とツール単価を検索する。
 システム利用料生成装置716は、上記ステップ1502、1503で収集したデータを、ステップ1504で、
(CPU使用量×RAM使用量×計算資源単価+ツール単価)×利用時間
の計算式に従って計算する。この計算式は、計算機資源の使用量に計算機資源の使用単価を乗じる計算に相当する。システム利用料生成装置716は、ユーザ端末107のユーザ毎に、本システムの機能の利用量に応じたシステム利用料金を計算して集計する。
 次にステップ1513で、システム利用料生成装置716は、資源利用量管理データベース711からユーザ端末107のユーザのストレージ利用量を検索し、資源価格データベース710からストレージ単価を検索する。さらに、ステップ1505で、ストレージ利用量とストレージ単価を掛け合わせて、ストレージ利用料金としてシステム利用料金に加算する。資源価格データベース710に関しては後ほど解説する。
 ステップ1505により、ユーザに対するシステム利用金額は、
Figure JPOXMLDOC01-appb-M000001

で与えられる。
 ステップ1506で、システム利用料生成装置716は、上記算出したストレージ利用料金を加えたシステム利用料の合計及び明細をまとめ、図27に例示されるようなシステム使用料金レポート2700を作成する。最後にステップ1512で、作成したシステム使用料金レポート2700を課金管理データベース717に登録する。
 次に図15Bを用いて、ソフトウェア提供者に支払うソフトウェアライセンス料の算出プロセスを説明する。ステップ1507及びステップ1501で、システム利用料生成装置716が、ソフトウェア毎のシミュレーション用計算資源101の負荷履歴と、作業用計算機システム106のユーザによる使用時間内のGUI操作履歴を、それぞれ資源利用量管理データベース711と操作履歴データベース708から検索する。
 次にステップ1509で、シミュレーション用計算資源101の負荷履歴と作業用計算機システム106GUI操作履歴の組み合わせにより、使用機能毎の細かい所要時間を抽出する。
 一方、ステップ1508で、システム利用料生成装置716は、資源価格データベース710から、ソフトウェアの使用単価を、ソフトウェアの機能をキーワードとして検索し、上記抽出した所要時間と掛け合わせる。ステップ1510により、ソフトウェア提供者に対するソフトウェアライセンス支払い料を、
Figure JPOXMLDOC01-appb-M000002

により算出する。
 ステップ1511で、システム利用料生成装置716は、算出したソフトウェアライセンス料の合計及び明細を集計して、図28で例示するようなライセンス料レポート2800を作成する。最後にステップ1512で、作成したシステム使用料金レポート2800を課金管理データベース717に登録する。
 以上により、システム利用料生成装置716はシステム使用料金レポート2700とシステム使用料金レポート2800を生成する。
 次に、図15A及び図15Bで説明した資源価格データベース710の詳細について図20を参照しながら説明する。システム負荷・ユーザ挙動監視システム103内の資源価格データベース710は、事前に、ソフトウェア提供者、ユーザと結んだライセンス料及びシステム利用料、の契約情報を保管する。
 資源価格データベース710のテーブル構成例を図20を用いて説明する。資源価格データベース710のストレージ価格テーブル1730は、本システム内のストレージのクラスごとに、その性能、容量及び使用時間あたりの単価を保存する。
 資源価格データベース710のクラスタノード価格テーブル1740は、ノードの種類ごとに、搭載CPU、ハード種類、メモリ搭載量、時間・単位CPU使用量・単位RAM使用量あたりの単価、を保存する。
 資源価格データベース710のツール価格テーブル1750は、ソフトウェア及び機能ごとに、ベンダ情報と機能毎・単位時間当たりの単価を保存する。単価情報は、ソフトウェア提供者への支払い用単価とユーザへの請求用単価の2つを格納する。
 システム負荷・ユーザ挙動監視システム103内の資源利用量管理データベース711は、シミュレーション用計算資源101と作業用計算資源722とユーザファイルストレージ707とに対する使用負荷を記録するデータベースである。
 図17に、資源利用量管理データベース711のテーブル構成例を図示する。資源利用量管理データベース711は、ユーザ端末107が利用したユーザファイルストレージ707の利用履歴を格納するストレージ利用量履歴テーブル1700、シミュレーション用計算資源101で利用したクラスタノード1400の負荷履歴を格納するシステム負荷履歴テーブル1710及びリモートOS利用時間テーブル1720を含んで構成される。
 ストレージ利用量履歴テーブル1700は、ユーザ端末107のユーザがユーザファイルストレージ707上に確保しているストレージ領域ごとに、利用量を含む情報を記録する。本実施形態では、ユーザ識別子、使用ストレージ量及びストレージクラス識別子を記録する。
 作業用計算機システム106内のユーザファイルストレージ707における各ユーザのストレージ利用量は、システム負荷・ユーザ挙動監視システム103で実行されるストレージ利用量集計プログラムにより逐次モニタされている。
 システム負荷履歴テーブル1710は、ユーザ端末107のユーザがシミュレーション用計算資源101上で実行したタスクのシステム負荷を格納する。本実施形態では、使用したソフトウェア、タスクの開始時間、タスクの終了時間、使用したクラスタノードの種類、CPU使用量及びメモリ使用量の平均値及びピーク値、を記録する。
 リモートOS利用時間テーブル1720は、作業用計算機システム106内の作業環境用計算資源722におけるユーザの利用時間を記録する。本実施形態では、ユーザ識別子、作業環境用計算資源722へのログイン時間及びそのログアウト時間を記録する。操作履歴データベース708は、ユーザ端末107を介してユーザが本システム上でGUIあるいはファイルに対し行なった操作を保持し、操作履歴から解析された挙動を保持するデータベースである。
 図18に操作履歴データベース708のテーブル構成例を図示する。操作履歴データベース708は、ユーザ端末107からユーザが本システムを利用した履歴を格納するユーザ挙動RAWデータテーブル1820と、ユーザ挙動統計化装置713の解析結果を格納するイベントテーブル1810と、ユーザ毎にユーザ端末107からユーザファイルストレージ707にアクセスした履歴を格納するファイル来歴テーブル1800と、から構成される。
 ユーザ挙動RAWデータテーブル1820は、シミュレーションタスク入力装置704及び作業用計算資源722に対するユーザの操作からユーザ挙動統計化装置713が取得したデータを、そのまま保持する。よって、本テーブル1820には、マウスに対する操作のような各ツールのGUI部品のイベント履歴や、記入されたテキスト等が記録されるのみである。
 イベントテーブル1810は、ユーザ挙動RAWデータテーブル1820とファイル来歴テーブル1800のデータをユーザ挙動統計化装置713がテンプレート解析したデータを格納する。
 ユーザ挙動統計化装置713は、GUI操作列(テンプレート)と対応する計算機操作のペアを格納しており、ユーザのGUI操作履歴とテンプレートを照合し、統計的手段により最も対応する確率の高いと判定された計算機操作イベントを出力する。本願ではこの照合をテンプレート解析と呼称する。
 ユーザ挙動統計化装置713のテンプレート解析により、ユーザ挙動RAWデータテーブル1820のGUI操作履歴の列から、各ツールに対する操作イベント、例えばツール上でどのような部品を扱ったか、どのようなオプションを選択したかが推定できるようになる。本実施形態では、イベントテーブル1810は、ユーザ識別子、ソフトウェアの種類、イベントの発生時刻、イベント内容を格納する。
 また、本実施形態では、ユーザ挙動統計化装置713に対して、テンプレート解析のアルゴリズムに関し上記で述べた機能以外については、周知または公知の技術を用いることができる。
 開発進捗状況及びツール利用状態の抽出において、本システムは、ユーザの要請を受けることなく定期的に情報解析を行い、その都度最新のレポートファイルを各データベースに格納する。本システムの情報解析手法は、材料であるソフトウェア部品から開発結果であるシミュレーション結果が創出される過程を、各ツールの利用及びファイルへのアクセスから推定する。
 図16Aを用いて、開発進捗抽出装置718がユーザの挙動履歴(操作履歴データベース708)を参照して開発進捗状況を抽出する処理の一例を以下に説明する。ステップ1607では、開発進捗抽出装置718が、ユーザ毎のジョブを検索する。この検索は、ユーザ端末107を使用するユーザまたはユーザグループに課せられたジョブ、例えば一定の部品とソフトウェアを含むシミュレーションが、ユーザもしくはユーザグループの管理者またはユーザ自身により、システムに登録されていることを前提とする。このジョブの入力方法、格納方法に関しては、周知または公知の技術を用いることができる。
 次に、ステップ1608では、開発進捗抽出装置718が、動的計算資源配分システム100のシミュレーション構成履歴データベース721及び資源利用量管理データベース711を検索し、ステップ1607で検索したジョブに該当するシミュレーションタスク構成の履歴を探す。検索結果が見つかった場合、次のステップ1609で当該シミュレーションに関わる情報の依存関係解析を行なう。
 開発進捗抽出装置718は、ステップ1600で、ユーザまたはユーザグループの識別番号と該当するシミュレーションをキーワードとして検索を実行する。資源利用量管理データベース711において、シミュレーションの実行時間並びにシミュレーションで使用されたソフトウェア及びファイルの情報を検索する。操作履歴データベース708において、GUI操作、各ソフトウェアの各機能の利用イベント及びイベントが発生した時間の情報ファイルの来歴情報を検索する。
 そしてステップ1600では、開発進捗抽出装置718は、検索結果を集計し、図21で示されるような情報流グラフ2100を作成する。
 図21の情報流グラフ2100は、時系列及び操作の流れを解析しユーザに課せられたシミュレーションタスクが基点であり、シミュレーション試行、ファイルの変更が点であり、情報の依存関係を辺である、グラフ構造を有する。図21のステップ2101と2102のように、あるステップが変更を行なった情報あるいはファイルに対して、後の時間で該当する情報を参照しているステップがある場合、2つのステップの間には依存関係があるものと考える。
 また、時系列が進む中で同じ依存関係の列が複数回現れる場合、開発進捗抽出装置718は、その依存関係列をループ2103としてまとめて可視化する。
 ステップ1602で、開発進捗抽出装置718は、上記ステップ1600で得られた開発情報を解析した情報流グラフ2100により、ユーザに課せられたシミュレーションジョブの実行過程で作成または変更を施されたファイルまたはソフトウェアの一覧を抽出することが可能である。ステップ1603において、開発進捗抽出装置718は、抽出結果を含む開発進捗レポートを発行して開発進捗情報データベース720に記録する。
 また、開発進捗抽出装置718は、情報流グラフ2100のループ構造についても解析を行なう。ループ構造の解析の一例は、以下のようなものである。シミュレーション構成またはパラメータを変更することなくシミュレーションを試行し続けた場合、情報流グラフ2100において、自己閉路すなわちある点から自分自身への辺が出る部分が、当該シミュレーション部分に存在することになる。ループ構造の解析は、このような自己閉路の抽出の他、ループの階層構造の抽出を行ない、ワークフローの作業効率を測定し、ユーザに課せられたジョブの達成度合いを抽出する。
 開発進捗抽出装置718は、ステップ1602で抽出されたシミュレーション工程の進捗割合、シミュレーション実行に際し作成されたファイルの情報、実行されたシミュレーションの回数とその有効度を有する開発進捗レポート1604(図22に例示)を作成し、開発進捗情報データベース720に格納する。図22の開発進捗レポート1604はあくまでもその構成の一例であり、上記で列挙した以外の情報の付加、表現方法に関しては、周知または公知の技術を用いることができる。
 最後に、開発進捗抽出装置718が行う、ユーザの挙動履歴によるソフトウェア利用状況の抽出に関して、図16Bを用いて説明する。
 図16Bのステップ1607からステップ1600までは、上記図16Aに示したユーザの挙動履歴による開発進捗状況の抽出フローのステップ1607からステップ1600までと同様なので、それらにおける重複した説明を省略する。図16Bのステップ1608、1609において、資源利用量管理データベース711及びシミュレーション構成履歴データベース721に対する検索、情報流解析、情報流グラフ2100の作成は、図16Aを参照して説明した開発進捗の解析と共通である。しかし、図16Bに示すソフトウェア利用状況の抽出は、本システムに導入されているソフトウェアのIDをキーワードとして検索を行なう。
 開発進捗抽出装置718は、操作履歴データベース708のイベントテーブル1810から、該当ソフトウェアが備える機能及びパラメータの使用頻度分布を取得する。また、前述の開発進捗状況抽出に用いた情報流グラフ2100に基づき、該当ソフトウェアと連携して使用されるファイルまたは別のソフトウェアに関する情報を収集する。
 ステップ1605において、開発進捗抽出装置718は、収集された情報を図25に示されるようなツール利用状況レポート2500として可視化できる形に加工する。ツール利用状況レポート2500は、ツール利用状態データベース719に保管され、ソフトウェア提供者に発行される(ステップ1606)。
 図25のツール利用状況レポート2500はあくまでもその構成の一例であり、上記で列挙した以外の情報付加、表現方法に関しては、周知または公知の技術を用いることができる。
 以上述べたように、本実施形態では、動的計算資源配分システムは、ユーザ端末から入力されたシミュレーションタスクにおける各部品(開発するメカニズム、ハードウェア、ソフトウェア)の結合関係を基に、シミュレーションタスク構成が最適に実行されるように、シミュレーション用計算資源上でのシミュレータの配置関係を算出して実際のシミュレーションタスクを構築する。これにより、高速にシミュレーションを実行することができる。
 また、組込みシステム開発のユーザ毎に、シミュレータあるいはソフトウェア利用履歴を高精度で抽出して記録し、記録した情報からユーザ毎の開発工程を抽出する。これにより、ユーザ毎の進捗の管理を容易に行うことができる。
 更に、作業用計算資源722及びシミュレーション用計算資源101を一元化することで、開発環境の整備にかかる初期投資と保守費用を低減することができる。また、作業用計算資源722を及びシミュレーション用計算資源101を一元化することで、複数の拠点で同時開発を行う場合であっても、設計ファイル(シミュレーションモデルやパラメータなど)の共有が可能となり、組込みシステム開発の効率を向上させることが可能となる。特に、シミュレータあるいはソフトウェアは全て一元化された計算機システム上での管理となるため、組込みシステム開発者が各自でソフトウェアの事前購入と保守をする必要がなくなる。
 また、上記収集したユーザ毎の情報から過去のパラメータやシミュレーション構成を再利用して複数のシミュレータの連携とシミュレータのパラメータ調整の自動化を行うようにしたため、開発者(ユーザ)が詳細なノウハウを持たない場合でも速度及び精度の優れたシミュレーションを容易に実行することができる。これにより、組込みシステム開発の効率を向上させることが可能となる。
 また、開発されたソフトウェアと当該ソフトウェアを用いたシミュレーションの結果は、一元化された計算機システムにおいて安全に転送されるため、設計ファイルの共有が容易となり、部外者へ情報が漏えいするリスクを抑制することが可能となる。
第2の実施形態.
 図29は本発明の第2の実施形態の一例の概略を示すブロック図である。第2の実施形態は、前記実施形態1の構成に加え、高セキュリティファイル送信システム105を備えている。高セキュリティファイル送信システム105を通じて、システム負荷・ユーザ挙動監視システム103から提供されるシステム利用料レポート、ライセンス料レポート、開発進捗レポート及びソフトウェア利用状況レポートを、ファイルとして、ユーザ端末107または提供者端末108が受け取ることができる。
 これにより、各レポートを取得して確認する際に、本システムのシステム負荷・ユーザ挙動監視システム103にユーザ端末107、提供者端末108を直接接続する必要がない。これにより、開発作業以外で、動的計算資源配分システム100、シミュレーション用計算資源101、シミュレーション結果可視化システム102及びシステム負荷・ユーザ挙動監視システム103に、ユーザ端末107等を接続する必要が無くなり、セキュリティをより高めることが可能となる。
 なお、上記第1実施形態の図3に示したシステム負荷・ユーザ挙動監視システム103を構成する開発進捗抽出装置718の機能を、本システムの利用によって発生するシステム使用料金及びライセンス利用料金を算出するシステム利用料金生成装置に組み込んでもよい。
 システム利用料金生成装置は、本システムにおけるユーザの開発工程を抽出する開発進捗を抽出し、本システムにおけるユーザの画面操作情報と、ファイル操作情報と、シミュレーション用計算資源に対する負荷から、システム利用料請求額及びライセンス料支払い額の算出と、ユーザ毎の開発進捗レポート及びソフトウェア利用状況レポートの作成を行う。
 また、上記第1実施形態の図3に示した作業用計算機システム106は、ネットワーク上に配置されてユーザ端末107から遠隔操作可能な計算機を含む作業用計算資源として機能する。また、作業用計算機システム106は、ネットワーク上に配置されてユーザ端末107から製作した設計ファイルを保存し、他のユーザ端末107と共有が可能なストレージを含むユーザファイルストレージとして機能する。
 さらに、作業用計算機システム106は、ユーザ端末107からの要求に応じて、上記作業用計算資源と上記ユーザファイルストレージを結合して提供する装置としての作業環境提供装置として機能する。このように、作業用計算機システム106は、ユーザ端末107での設計ファイル作成及び複数のユーザ端末107による設計ファイルの共有を実現する。
 また、上記第1実施形態の図3に示した動的計算資源配分システム100のシミュレーションタスク入力装置704は、ユーザ端末107から使用可能なシミュレーションモデルを選択可能なツールパレットと、シミュレーションモデルを配置可能なモデル構築画面を備える。ツールパレットとモデル構築画面は、ユーザ端末107からの入力に応じてシミュレーションタスク入力装置704がシミュレーション構成することを可能とする、GUIである。
 ツールパレットは、固有の詳細情報が省かれた1つまたは複数のシミュレーションモデルを配置しているGUIを提供する。モデル構築画面は、ユーザ端末107からの入力に応じて、ツールパレットから選択されたシミュレーションモデルを配置し、配置されたモデル間を線で結合し、シミュレーションモデル固有の情報を表示及び設定する。上記ツールパレットと上記モデル構築画面を使った画面操作に応じて、シミュレーションタスク入力装置704は、シミュレーション構成を構築する。
 また、上記第1実施形態の図3に示した動的計算資源配分システム100、シミュレーション用計算資源101、シミュレーション結果可視化システム102、システム負荷・ユーザ挙動監視システム103、作業用計算機システム106、セキュア通信を用いた画面伝送システム104内の各装置を、それぞれ計算機として表現したが、各装置で実行されるソフトウェアを一つの計算機で実行するようにしても良い。この場合、上記システム101~104内の各装置は、例えば、ユーザ挙動統計化部と読み替えればよい。
 本システムで動作するソフトウェアプログラムは、圧縮してあるいは圧縮することなくコンピュータ読み取り可能な媒体に格納することができる。半導体メモリ、磁気ディスクまたは光ディスクなど、いずれの種類の媒体を使用してもよい。
 以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。
 以上のように、本発明はシミュレーションを実行して設計を行う計算機システム及び開発システムのプログラムに適用することができる。

Claims (15)

  1.  プロセッサとメモリを備えた複数の計算機を含んでシミュレーションを実行するシミュレーション用計算資源を備えた計算機システムであって、
     ネットワークを介して端末に接続されて、前記端末からシミュレーションタスクの生成要求を受け付けて、前記端末からの前記要求に基づいて前記シミュレーションタスクに含まれるシミュレーション構成を生成し、前記シミュレーション構成に含まれるシミュレーションを前記シミュレーション用計算機資源に発行する動的計算資源配分部と、
     前記端末から受け付けたシミュレーションタスクの生成要求を格納するストレージ部と、
     前記端末から受け付けたシミュレーションタスクに対する操作履歴と、前記シミュレーションタスクの実行に要したシミュレーション用計算資源の負荷とを、前記端末のユーザ毎に収集する履歴監視部と、を備え、
     前記シミュレーション用計算資源は、複数種のシミュレータを予め備え、
     前記動的計算資源配分部は、
     前記シミュレーション用計算資源に実行させたシミュレーションの要素を記録し、前記受け付けたシミュレーションタスクに対して前記記録した過去のシミュレーションの要素を適用し、当該要素を適用するシミュレーションを実行する前記シミュレーション用計算資源を前記履歴監視部が収集したシミュレーション用計算資源の負荷に基づいて割り当てる計算機システム。
  2.  請求項1に記載の計算機システムであって、
     前記動的計算資源配分部は、
     前記端末から受け付けたシミュレーションタスクの生成の要求を満たすシミュレーション構成を生成するシミュレーションタスク入力部と、
     前記生成されたシミュレーション構成から前記シミュレーション用計算資源に割り当てるシミュレーションの集合を生成するシミュレーションタスク生成部と、
     前記シミュレーション用計算資源に割り当てるシミュレーションで使用するシミュレーションモデルを記録するツール・モデルデータベースと、
     前記シミュレーション用計算資源の利用状態を管理する計算資源管理データベースと、
     前記実行されたシミュレーション構成を記録するシミュレーション構成履歴データベースと、を有し、
     前記シミュレーションタスク生成部は、前記タスク入力部で生成されたシミュレーション構成を、前記シミュレーション構成履歴データベースと、前記ツール・モデルデータベースと、前記計算資源管理データベースの情報に基づいて、前記シミュレーション用計算資源で実行可能な計算処理に変換する計算機システム。
  3.  請求項2に記載の計算機システムであって、
     前記シミュレーションタスク入力部は、
     前記端末から選択可能なシミュレーションモデルを予め格納したツールパレットと、前記シミュレーションタスクに対して予め設定したシミュレーションモデルを配置可能なモデル構築画面と、を前記端末に提供し、
     前記モデル構築画面上での入力に応じて前記シミュレーション構成を生成し、
     前記ツールパレットは、固有の詳細情報が省かれた1つまたは複数のシミュレーションモデルが配置されているGUIで構成され、
     前記モデル構築画面は、前記ツールパレットから選択されたシミュレーションモデルを配置し、配置されたモデル間を線で結合し、前記シミュレーションモデルに固有の情報を表示及び設定するGUIで構成されている計算機システム。
  4.  請求項3に記載の計算機システムであって、
     前記シミュレーションタスク生成部は、
     前記ツール・モデルデータベースと、前記計算資源管理データベースと、前記シミュレーション構成履歴データベースに接続されて、前記シミュレーションタスク入力部が生成したシミュレーション構成を受け付けて、当該シミュレーション構成が必要とするシミュレーションツールとしてのシミュレータと前記シミュレーション用計算資源の割り当てを行ない、前記シミュレーション構成におけるシミュレーションモデルの結合関係と前記ツール・モデルデータベースに格納された情報に基づいて、前記シミュレーション用計算資源の結合関係が前記端末から受け付けたシミュレーションタスクの生成要求を満たす様に、前記シミュレータのパラメータを調整する計算機システム。
  5.  請求項1に記載の計算機システムであって、
     前記履歴監視部は、ユーザ挙動統計化部を有し、
     前記ユーザ挙動統計化部は、
     前記動的計算資源配分部が前記端末から受け付けるシミュレーションタスクの生成要求として、前記端末からの画面操作情報及びファイル操作情報を収集し、
     特定の画面操作情報及び特定のファイル操作情報に特定のソフトウェアの操作を対応付けて、前記端末を使用するユーザの挙動を表すソフトウェア操作履歴情報を生成する計算機システム。
  6.  請求項5に記載の計算機システムであって、
     前記履歴監視部は、
     前記ユーザ挙動統計化部が出力するソフトウェア操作履歴情報が含むファイルへの変更及び参照の依存関係及び時系列に基づいて、ソフトウェア操作履歴情報間の関係を抽出する計算機システム。
  7.  請求項5に記載の計算機システムであって、
     前記履歴監視部は、
     前記ユーザ挙動統計化部が生成したソフトウェア操作履歴情報を解析して情報流を生成する情報流解析部と、前記画面操作情報及び前記ファイル操作情報に含まれる情報の依存関係を解析して開発進捗及びソフトウェア使用状況を抽出する開発進捗抽出部を有し、
     前記動的計算資源配分部は、
     シミュレーション構成履歴データベースに記録されたシミュレーション構成の実行履歴について前記開発進捗抽出部が抽出した情報に基づいて開発進捗における当該シミュレーションの寄与を見積もり、
     前記シミュレーション用計算資源の負荷情報に基づいて前記シミュレーションの負荷の分布を見積もり、
     前記寄与の見積もりと前記分布の見積もりに基づいて、前記シミュレーション構成に対するシミュレーションタスク生成部のタスク生成精度を評価する計算機システム。
  8.  計算機を制御するプログラムであって、
     前記計算機は、プログラムが格納されるメモリと、前記メモリに格納された前記プログラムを実行する演算装置と、を備え、
     ネットワークを介して接続された端末からシミュレーションタスクの生成要求を受け付けて、前記端末からの前記要求に基づいて前記シミュレーションタスクに含まれるシミュレーション構成を生成し、前記シミュレーション構成に含まれるシミュレーションを、複数種のシミュレータを予め備えたシミュレーション用計算機資源に発行する第1の手順と、
     前記端末から受け付けたシミュレーションタスクの生成要求を前記計算機のストレージに格納する第2の手順と、
     前記端末から受け付けたシミュレーションタスクに対する操作履歴と、前記シミュレーションタスクの実行に要したシミュレーション用計算資源の負荷を、前記端末のユーザ毎に収集する第3の手順と、を含み、
     前記第1の手順は、
     前記シミュレーション用計算資源に実行させたシミュレーションの要素を記録し、前記受け付けたシミュレーションタスクに対して前記記録した過去のシミュレーションの要素を適用し、当該要素を適用するシミュレーションを実行する前記シミュレーション用計算資源を前記収集したシミュレーション用計算資源の負荷に基づいて割り当てる手順を前記演算装置に実行させるプログラム。
  9.  請求項8に記載のプログラムであって、
     前記第1の手順は、
     前記端末から受け付けたシミュレーションタスクの生成の要求を満たすシミュレーション構成を生成するシミュレーションタスク入力手順と、
     前記生成されたシミュレーション構成から前記シミュレーション用計算資源に割り当てるシミュレーションの集合を生成するシミュレーションタスク生成手順と、
     前記シミュレーション用計算資源に割り当てるシミュレーションで使用するシミュレーションモデルをツール・モデルデータベースに記録する手順と、
     前記シミュレーション用計算資源の利用状態を計算資源管理データベースで管理する手順と、
     前記実行されたシミュレーション構成をシミュレーション構成履歴データベースに記録する手順と、を含み、
     前記シミュレーションタスク生成手順は、前記シミュレーションタスク入力手順で生成されたシミュレーション構成を、前記シミュレーション構成履歴データベースと、前記ツール・モデルデータベースと前記計算資源管理データベースの情報に基づいて、前記シミュレーション用計算資源で実行可能な計算処理に変換するプログラム。
  10.  請求項9に記載のプログラムであって、
     前記シミュレーションタスク入力手順は、
     前記端末から選択可能なシミュレーションモデルを予め格納したツールパレットと、前記シミュレーションタスクに対して予め設定したシミュレーションモデルを配置可能なモデル構築画面と、を前記端末に提供する手順と、
     前記モデル構築画面上での入力に応じて前記シミュレーション構成を生成する手順とを含み、
     前記ツールパレットは、固有の詳細情報が省かれた1つまたは複数のシミュレーションモデルが配置されているGUIで構成され、
     前記モデル構築画面は、前記ツールパレットから選択されたシミュレーションモデルを配置し、配置されたモデル間を線で結合し、前記シミュレーションモデルに固有の情報を表示及び設定するGUIで構成されているプログラム。
  11.  請求項10に記載のプログラムであって、
     前記シミュレーションタスク生成手順は、
     前記生成したシミュレーション構成を受け付け、
     前記ツール・モデルデータベースと、前記計算資源管理データベースと、前記シミュレーション構成履歴データベースを参照して、当該シミュレーション構成が必要とするシミュレーションツールとしてのシミュレータと前記シミュレーション用計算資源の割り当てを行ない、
     前記シミュレーション構成におけるシミュレーションモデルの結合関係と前記ツール・モデルデータベースに格納された情報に基づいて、前記シミュレーション用計算資源の結合関係が前記端末から受け付けたシミュレーションタスクの生成要求を満たす様に、前記シミュレータのパラメータを調整するプログラム。
  12.  請求項8に記載のプログラムであって、
     前記第3の手順は、
     前記端末から受け付けるシミュレーションタスクの生成要求として、前記端末からの画面操作情報及びファイル操作情報を収集し、
     特定の画面操作情報及び特定のファイル操作情報に特定のソフトウェアの操作を対応付けて、前記端末を使用するユーザの挙動を表すソフトウェア操作履歴情報を生成するプログラム。
  13.  請求項12に記載のプログラムであって、
     前記第3の手順は、
     前記ソフトウェア操作履歴情報が含むファイルへの変更及び参照の依存関係及び時系列に基づいて、ソフトウェア操作履歴情報間の関係を抽出するプログラム。
  14.  請求項12に記載のプログラムであって、
     前記第3の手順は、
     前記ソフトウェア操作履歴情報を解析して情報流を生成し、前記画面操作及びファイル操作情報に含まれる情報の依存関係を解析して開発進捗及びソフトウェア使用状況を抽出し、
     前記第1の手順は、
     シミュレーション構成履歴データベースに記録されたシミュレーション構成の実行履歴について前記抽出した情報に基づいて開発進捗における当該シミュレーションの寄与を見積もり、
     前記シミュレーション用計算資源の負荷情報に基づいて前記シミュレーションの負荷の分布を見積もり、
     前記寄与の見積もりと前記分布の見積もりに基づいて、前記シミュレーション構成に対するシミュレーションタスクのタスク生成精度を評価するプログラム。
  15.  シミュレーションに使用する計算資源を割り当てる方法であって、
     ネットワークを介して接続された端末からシミュレーションタスクの生成要求を受け付けて、前記端末からの前記要求に基づいて前記シミュレーションタスクに含まれるシミュレーション構成を生成し、前記シミュレーション構成に含まれるシミュレーションを、複数種のシミュレータを予め備えたシミュレーション用計算機資源に発行する第1の手順と、
     前記端末から受け付けたシミュレーションタスクの生成要求を前記計算機のストレージに格納する第2の手順と、
     前記端末から受け付けたシミュレーションタスクに対する操作履歴と、前記シミュレーションタスクの実行に要したシミュレーション用計算資源の負荷を、前記端末のユーザ毎に収集する第3の手順と、を含み、
     前記第1の手順は、
     前記シミュレーション用計算資源に実行させたシミュレーションの要素を記録し、前記受け付けたシミュレーションタスクに対して前記記録した過去のシミュレーションの要素を適用し、当該要素を適用するシミュレーションを実行する前記シミュレーション用計算資源を前記収集したシミュレーション用計算資源の負荷に基づいて割り当てる、方法。
PCT/JP2010/062081 2009-08-07 2010-07-16 計算機システム、プログラム及びシミュレーションに使用する計算資源を割り当てる方法 WO2011016327A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US13/387,243 US9037448B2 (en) 2009-08-07 2010-07-16 Computer system, program, and method for assigning computational resource to be used in simulation
JP2011525843A JP5332006B2 (ja) 2009-08-07 2010-07-16 計算機システム、プログラム及びシミュレーションに使用する計算資源を割り当てる方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009184616 2009-08-07
JP2009-184616 2009-08-07

Publications (1)

Publication Number Publication Date
WO2011016327A1 true WO2011016327A1 (ja) 2011-02-10

Family

ID=43544225

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/062081 WO2011016327A1 (ja) 2009-08-07 2010-07-16 計算機システム、プログラム及びシミュレーションに使用する計算資源を割り当てる方法

Country Status (3)

Country Link
US (1) US9037448B2 (ja)
JP (1) JP5332006B2 (ja)
WO (1) WO2011016327A1 (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014112089A1 (ja) * 2013-01-17 2014-07-24 株式会社日立製作所 計算機システム、及びプログラム
JP2014153825A (ja) * 2013-02-06 2014-08-25 Ricoh Co Ltd サーバ、シミュレータ管理プログラム及びシミュレータ管理システム
KR20160133183A (ko) * 2015-05-12 2016-11-22 주식회사 에코시안 건물에너지 시뮬레이션 수행 서버
JP2017111791A (ja) * 2015-09-30 2017-06-22 横河電機株式会社 シミュレートされたオペレータ・トレーニング・システムに対するクラウド・ベースのコンピューティング・クラスタのための方法、システムおよびコンピュータ・プログラム
JP2018005896A (ja) * 2016-07-08 2018-01-11 富士通株式会社 シミュレーションジョブを実行するためのシステム、コントローラ、方法、及びプログラム
JP2018032392A (ja) * 2016-08-26 2018-03-01 株式会社日立製作所 複数のシミュレータを含むシミュレーション
JP2020120260A (ja) * 2019-01-23 2020-08-06 トヨタ自動車株式会社 車両走行模擬システム、車両走行模擬方法および作動装置
JP2021043976A (ja) * 2019-09-12 2021-03-18 バーチャル ヴィークル リサーチ ゲーエムベーハー メカトロニックシステムのシミュレーションのための操作手順を生成する方法
JP7241137B1 (ja) 2021-08-31 2023-03-16 株式会社ネクスティエレクトロニクス シミュレーションシステム、シミュレーション装置、シミュレーション方法及びコンピュータプログラム
WO2023136075A1 (ja) * 2022-01-11 2023-07-20 株式会社Takumo 情報処理装置及びプログラム
JP7506955B2 (ja) 2022-01-11 2024-06-27 株式会社Takumo 情報処理装置及びプログラム

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9372827B2 (en) * 2011-09-30 2016-06-21 Commvault Systems, Inc. Migration of an existing computing system to new hardware
US9514257B1 (en) * 2011-10-30 2016-12-06 Lockheed Martin Corporation Event visualization based on unstructured data
KR20130091096A (ko) * 2012-02-07 2013-08-16 한국전자통신연구원 하이브리드 시스템을 검증하기 위한 시뮬레이션 장치 및 방법
US20130262017A1 (en) * 2012-04-03 2013-10-03 International Business Machines Corporation Method and apparatus for reusing parts of existing tests
US10002164B2 (en) * 2012-06-01 2018-06-19 Ansys, Inc. Systems and methods for context based search of simulation objects
US8591000B1 (en) 2012-11-01 2013-11-26 Xerox Corporation Compliant liquid path member for ink reclamation in an ink-jet printer
US9349304B2 (en) * 2013-02-04 2016-05-24 Bose Corporation Demonstrating an active vibration isolation system
US9940223B2 (en) * 2013-04-05 2018-04-10 FEV North America Inc. Human-machine interface test system
US9760463B2 (en) * 2013-06-06 2017-09-12 Hitachi, Ltd. Microcontroller fault injection method and system
CN104866941A (zh) * 2014-02-26 2015-08-26 中国移动通信集团公司 一种仪表管理方法和装置
CN103928985B (zh) * 2014-04-09 2015-10-28 国家电网公司 基于goose通信机制的联闭锁逻辑自动检测方法
EP2949908B1 (en) * 2014-05-30 2016-07-06 AVL List GmbH Method for simulation of an internal combustion engine
GB2556572A (en) 2015-09-04 2018-05-30 Halliburton Energy Services Inc Time-to-finish simulation forecaster
US10146665B2 (en) * 2016-03-24 2018-12-04 Oracle International Corporation Systems and methods for providing dynamic and real time simulations of matching resources to requests
US9898203B2 (en) * 2016-05-20 2018-02-20 Oracle International Corporation Replacing data structures for process control
GB2552034A (en) * 2016-07-08 2018-01-10 Fujitsu Ltd System, controller, method, and program for executing simulation jobs
US10657053B2 (en) 2017-03-31 2020-05-19 Kyocera Document Solutions Inc. Memory allocation techniques for filtering software
US10402429B2 (en) * 2017-05-31 2019-09-03 International Business Machines Corporation Minimizing data transport within a storlet architecture
JP2019082819A (ja) * 2017-10-30 2019-05-30 株式会社日立製作所 アクセラレータ部の利用に対する課金を支援するシステム及び方法
US10521332B1 (en) * 2018-09-28 2019-12-31 Dspace Digital Signal Processing And Control Engineering Gmbh Parametrization of a simulation model
CN111124592B (zh) * 2018-10-31 2023-07-28 阿波罗智能技术(北京)有限公司 仿真任务执行方法和装置
CN109858607A (zh) * 2019-03-08 2019-06-07 网宿科技股份有限公司 一种模型应用方法、管理方法、系统及服务器
JP7334434B2 (ja) * 2019-03-19 2023-08-29 富士フイルムビジネスイノベーション株式会社 文書検索結果提示装置及びプログラム並びに文書検索結果提示システム
EP3816800A1 (en) * 2019-10-31 2021-05-05 ABB Schweiz AG Assignment of tasks between a plurality of devices
CN111427692A (zh) * 2020-03-26 2020-07-17 中国平安财产保险股份有限公司 功能配置方法、装置、电子设备及介质
US11210138B1 (en) 2020-09-24 2021-12-28 OnScale, Inc. Dynamic resource allocation for computational simulation
CN112699458B (zh) * 2020-12-28 2023-03-03 东风汽车集团有限公司 一种车载域控制器算力计算方法及装置
CN112861456B (zh) * 2021-01-29 2022-07-22 中国电子科技集团公司第二十九研究所 工艺ip仿真模型封装及库管理方法及系统、存储介质
CN113270007A (zh) * 2021-04-15 2021-08-17 国网北京市电力公司 一种云环境下多模式的调度员培训仿真系统
CN113886211B (zh) * 2021-10-22 2023-08-25 成都中科合迅科技有限公司 一种基于固定流程模型的可视化测试方法
US20230195608A1 (en) * 2021-12-17 2023-06-22 Fidelity Information Services, Llc Systems and methods for detecting failures of computer applications
CN116708434B (zh) * 2023-06-16 2023-12-22 广东红海湾发电有限公司 一种同时满足多类型关系数据库的数据交换系统
CN117234711B (zh) * 2023-09-05 2024-05-07 合芯科技(苏州)有限公司 Flink系统资源动态分配方法、系统、设备及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06214962A (ja) * 1993-01-19 1994-08-05 Hitachi Ltd 負荷分散制御方法および分散処理システム
JPH0850576A (ja) * 1994-08-05 1996-02-20 Sumitomo Metal Ind Ltd 視覚対話型シミュレーション装置
JP2003263317A (ja) * 2002-03-07 2003-09-19 Toshiba Corp 情報処理装置
JP2004219173A (ja) * 2003-01-10 2004-08-05 Sumitomo Rubber Ind Ltd タイヤ情報の提供方法及び提供装置
JP2008084121A (ja) * 2006-09-28 2008-04-10 Fujitsu Ten Ltd シミュレーションシステム及びシミュレーション方法
JP2009110521A (ja) * 2008-10-28 2009-05-21 Canon Electronics Inc 情報処理装置及びその制御方法、プログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6321181B1 (en) * 1998-08-24 2001-11-20 Agere Systems Guardian Corp. Device and method for parallel simulation
US20060117274A1 (en) * 1998-08-31 2006-06-01 Tseng Ping-Sheng Behavior processor system and method
US20020152305A1 (en) * 2000-03-03 2002-10-17 Jackson Gregory J. Systems and methods for resource utilization analysis in information management environments
JP4292693B2 (ja) 2000-07-07 2009-07-08 株式会社日立製作所 計算機資源分割装置および資源分割方法
US6965800B2 (en) * 2001-06-29 2005-11-15 National Instruments Corporation System of measurements experts and method for generating high-performance measurements software drivers
JP2006053788A (ja) * 2004-08-12 2006-02-23 Ntt Docomo Inc ソフトウェア動作監視装置及びソフトウェア動作監視方法
CN101896888A (zh) * 2008-02-26 2010-11-24 三菱电机株式会社 嵌入式系统中的自动再现测试装置及自动再现测试方法
CN101520784B (zh) * 2008-02-29 2011-09-28 富士通株式会社 信息发布系统和信息发布方法
US8751211B2 (en) * 2008-03-27 2014-06-10 Rocketick Technologies Ltd. Simulation using parallel processors
JP5270209B2 (ja) * 2008-03-31 2013-08-21 インターナショナル・ビジネス・マシーンズ・コーポレーション 複数のタスクの進捗を管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
KR101522477B1 (ko) * 2010-08-20 2015-05-21 인터내셔널 비지네스 머신즈 코포레이션 시뮬레이션 방법, 시스템 및 프로그램
US9052703B2 (en) * 2012-02-02 2015-06-09 Emerson Process Management Power & Water Solutions, Inc. Enhanced sequential method for solving pressure/flow network parameters in a real-time distributed industrial process simulation system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06214962A (ja) * 1993-01-19 1994-08-05 Hitachi Ltd 負荷分散制御方法および分散処理システム
JPH0850576A (ja) * 1994-08-05 1996-02-20 Sumitomo Metal Ind Ltd 視覚対話型シミュレーション装置
JP2003263317A (ja) * 2002-03-07 2003-09-19 Toshiba Corp 情報処理装置
JP2004219173A (ja) * 2003-01-10 2004-08-05 Sumitomo Rubber Ind Ltd タイヤ情報の提供方法及び提供装置
JP2008084121A (ja) * 2006-09-28 2008-04-10 Fujitsu Ten Ltd シミュレーションシステム及びシミュレーション方法
JP2009110521A (ja) * 2008-10-28 2009-05-21 Canon Electronics Inc 情報処理装置及びその制御方法、プログラム

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5956613B2 (ja) * 2013-01-17 2016-07-27 株式会社日立製作所 計算機システム、及びプログラム
WO2014112089A1 (ja) * 2013-01-17 2014-07-24 株式会社日立製作所 計算機システム、及びプログラム
JP2014153825A (ja) * 2013-02-06 2014-08-25 Ricoh Co Ltd サーバ、シミュレータ管理プログラム及びシミュレータ管理システム
KR20160133183A (ko) * 2015-05-12 2016-11-22 주식회사 에코시안 건물에너지 시뮬레이션 수행 서버
KR102408390B1 (ko) * 2015-05-12 2022-06-14 주식회사 에코시안 건물에너지 시뮬레이션 수행 서버
JP2017111791A (ja) * 2015-09-30 2017-06-22 横河電機株式会社 シミュレートされたオペレータ・トレーニング・システムに対するクラウド・ベースのコンピューティング・クラスタのための方法、システムおよびコンピュータ・プログラム
JP2018005896A (ja) * 2016-07-08 2018-01-11 富士通株式会社 シミュレーションジョブを実行するためのシステム、コントローラ、方法、及びプログラム
JP2018032392A (ja) * 2016-08-26 2018-03-01 株式会社日立製作所 複数のシミュレータを含むシミュレーション
JP7305964B2 (ja) 2019-01-23 2023-07-11 トヨタ自動車株式会社 車両走行模擬システム、車両走行模擬方法および作動装置
JP2020120260A (ja) * 2019-01-23 2020-08-06 トヨタ自動車株式会社 車両走行模擬システム、車両走行模擬方法および作動装置
JP2021043976A (ja) * 2019-09-12 2021-03-18 バーチャル ヴィークル リサーチ ゲーエムベーハー メカトロニックシステムのシミュレーションのための操作手順を生成する方法
US11630931B2 (en) 2019-09-12 2023-04-18 Virtual Vehicle Research Gmbh Method of generating an operation procedure for a simulation of a mechatronic system
JP7111425B2 (ja) 2019-09-12 2022-08-02 バーチャル ヴィークル リサーチ ゲーエムベーハー メカトロニックシステムのシミュレーションのための操作手順を生成する方法
JP7241137B1 (ja) 2021-08-31 2023-03-16 株式会社ネクスティエレクトロニクス シミュレーションシステム、シミュレーション装置、シミュレーション方法及びコンピュータプログラム
JP2023041987A (ja) * 2021-08-31 2023-03-27 株式会社ネクスティエレクトロニクス シミュレーションシステム、シミュレーション装置、シミュレーション方法及びコンピュータプログラム
WO2023136075A1 (ja) * 2022-01-11 2023-07-20 株式会社Takumo 情報処理装置及びプログラム
JP7506955B2 (ja) 2022-01-11 2024-06-27 株式会社Takumo 情報処理装置及びプログラム

Also Published As

Publication number Publication date
US9037448B2 (en) 2015-05-19
US20120123764A1 (en) 2012-05-17
JP5332006B2 (ja) 2013-11-06
JPWO2011016327A1 (ja) 2013-01-10

Similar Documents

Publication Publication Date Title
JP5332006B2 (ja) 計算機システム、プログラム及びシミュレーションに使用する計算資源を割り当てる方法
CN103281344B (zh) 用于混合云的服务使用的集成计量的方法和系统
JP2019526854A (ja) シミュレーション資源の動的最適化
Kazhamiakin et al. Timed modelling and analysis in web service compositions
US20100280863A1 (en) Automated Model Generation For Computer Based Business Process
US20100262558A1 (en) Incorporating Development Tools In System For Deploying Computer Based Process On Shared Infrastructure
KR101345068B1 (ko) 워크플로우 모델링 및 시뮬레이션 시스템 및 방법
EP2223278A1 (en) Modelling computer based business process and simulating operation
EP2223281A1 (en) Modelling computer based business process for customisation and delivery
Lin et al. ABS-YARN: A formal framework for modeling Hadoop YARN clusters
US20060250970A1 (en) Method and apparatus for managing capacity utilization estimation of a data center
Casalicchio et al. Research challenges in legal-rule and QoS-aware cloud service brokerage
Wu et al. A reference model for virtual machine launching overhead
CN111143391A (zh) 一种数据共享交换方法及系统
CN109426602A (zh) 一种应用开发过程中使用的检测方法及设备
Gorsler et al. Performance queries for architecture-level performance models
Lehrig et al. The architectural template method: templating architectural knowledge to efficiently conduct quality‐of‐service analyses
Ochei et al. Degrees of tenant isolation for cloud-hosted software services: a cross-case analysis
Mikov et al. Some problems of the simulation model efficiency and flexibility
JP5468921B2 (ja) シミュレーション支援システム及びシミュレーション支援方法
EP3694178B1 (en) Computer systems for regulating access to electronic content using usage telemetry data
Barber et al. Performance evaluation of domain reference architectures
Krzywda et al. Prototype optimisation model: project deliverable D3. 1
Wei Research on Automatic Test Technology of Embedded System Based on Cloud Platform
WO2009082387A1 (en) Setting up development environment for computer based business process

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10806327

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2011525843

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 13387243

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10806327

Country of ref document: EP

Kind code of ref document: A1