WO2020240954A1 - 情報処理システム、及び情報処理システムの制御方法 - Google Patents

情報処理システム、及び情報処理システムの制御方法 Download PDF

Info

Publication number
WO2020240954A1
WO2020240954A1 PCT/JP2020/007813 JP2020007813W WO2020240954A1 WO 2020240954 A1 WO2020240954 A1 WO 2020240954A1 JP 2020007813 W JP2020007813 W JP 2020007813W WO 2020240954 A1 WO2020240954 A1 WO 2020240954A1
Authority
WO
WIPO (PCT)
Prior art keywords
execution
information
software
execution device
processing system
Prior art date
Application number
PCT/JP2020/007813
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
Priority claimed from JP2019165080A external-priority patent/JP7189104B2/ja
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to US17/275,535 priority Critical patent/US11539788B2/en
Priority to CN202080005057.4A priority patent/CN112673353B/zh
Priority to KR1020217007071A priority patent/KR102523389B1/ko
Priority to BR112021004630-5A priority patent/BR112021004630A2/pt
Publication of WO2020240954A1 publication Critical patent/WO2020240954A1/ja
Priority to PH12021550547A priority patent/PH12021550547A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • 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/466Transaction processing
    • 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/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1021Server selection for load balancing based on client or server locations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Definitions

  • the present invention relates to an information processing system and a control method of the information processing system.
  • Patent Document 1 describes real-time processing between a cloud and an edge device in a system in which a plurality of edge devices such as a personal computer, a cell phone, a smartphone, and a personal digital assistant are connected to the cloud via a network so as to be able to communicate with each other. It is stated that the application that performs the service provides services such as notifications and recommendations based on real-time feeds collected from edge devices and the cloud.
  • Patent Document 2 describes a cloud relay device configured for the purpose of improving the ease of developing an application and enabling flexible use of various cloud services from an application in an edge-side device that uses a cloud service. Is described.
  • the cloud relay device includes a cloud connection processing unit that can connect to a cloud service device, a user interface unit that corresponds to the cloud connection processing unit, and a relay unit that relays data between the cloud connection processing unit and the user interface unit. To be equipped.
  • edge computing in which processing that should be performed with low delay is executed on the edge side, and processing content on the edge side is managed on the cloud side.
  • edge computing there are increasing opportunities to develop software for realizing processing performed between multiple bases such as edge computing.
  • software that links the processing of applications provided on the cloud side or edge side by using API (Application Program Interface) published by cloud or edge applications is attracting attention.
  • each edge device is configured to individually communicate with the cloud, it is necessary to construct software individually for each of the cloud and each edge device, and the development burden of the entire system is heavy. Especially, it is difficult to develop by a domain expert who is not familiar with the processing linked with the cloud. In addition, since communication occurs between the cloud and each edge device, there is a problem in ensuring the communication load and security between the cloud and the edge device.
  • Patent Document 2 it is necessary to develop software that realizes the function of the cloud relay device on the edge side, and it is necessary to individually develop software for the cloud relay device at each base, which imposes a development burden. It is difficult for domain experts to develop software that realizes large-scale, especially linked processing between cloud relay devices and the cloud.
  • the present invention has been made based on such a background, and provides an information processing system and a control method for the information processing system, which can efficiently develop software that realizes processing performed in cooperation between a plurality of bases.
  • the purpose is to provide.
  • One of the present inventions for achieving the above object is an information processing system, which is an information processing device that executes AP software, which is software that is provided at each of a plurality of bases and realizes application functions.
  • the AP executors are communicably connected to each other via a communication network, and each of the AP executors stores common AP software that executes the same processing blocks in the same order.
  • the AP software performs processing for linking the processing of the processing block executed by the first AP execution device of the first base to the second AP execution device of the second base.
  • the first AP execution device When the first AP execution device reaches the first transfer processing block when sequentially executing the processing blocks of the AP software, including the transfer processing block which is the processing block to be realized, the first transfer processing block of the first transfer processing block.
  • a cooperation start message including an identifier is transmitted to the second AP execution device, which is a message notifying the start of cooperation, and the second AP execution device receives the cooperation start message, the first transfer process is performed. Execution is started sequentially from the processing block following the block.
  • FIG. 1 It is a figure which shows the schematic structure of an information processing system. It is a figure explaining the schematic flow from generation to execution of AP software. It is a figure which shows the specific example of AP software.
  • This is a configuration example of an information processing device. It is a figure explaining the main function of a client apparatus. It is a figure explaining the main function of the AP management apparatus. It is a figure explaining the main function of a cluster management apparatus. It is a figure explaining the main function of the AP execution apparatus. It is a figure explaining the main function realized by the AP process. It is a figure explaining the AP software registration sequence. It is a flowchart explaining the procedure of adding a new AP execution device to a cluster. This is an example of AP execution device information 451.
  • FIG. 1 shows a schematic configuration of the information processing system 1 described as the first embodiment.
  • the information processing system 1 has one or more AP executions existing in each of the client device 2, the AP management device 3, the cluster management device 4, and the plurality of bases 8 (1) to (N). Includes device 10. All of these devices are configured by using an information processing device (computer), and are connected to each other so as to be able to communicate with each other via a communication network 5.
  • information processing device computer
  • the communication network 5 is a communication infrastructure (Network Infrastructure) that realizes communication according to a predetermined communication protocol such as Ethernet (registered trademark) or TCP / IP.
  • a predetermined communication protocol such as Ethernet (registered trademark) or TCP / IP.
  • Ethernet registered trademark
  • TCP / IP IP-based communication protocol
  • LAN Local Area Network
  • WAN Wide Area Network
  • Internet dedicated lines
  • public communication networks etc.
  • the client device 2 provides a user such as a software development engineer or a domain expert with an environment for editing and generating application software (hereinafter referred to as "AP software”) executed by the AP execution device 10 (hereinafter, “software development environment”). ”).
  • AP software application software
  • software development environment an environment for editing and generating application software
  • the client device 2 provides a software development environment using a visual programming tool (hereinafter, abbreviated as "VP tool”), but the mode of the software development environment is Not necessarily limited.
  • VP tool visual programming tool
  • Nodes correspond to functions or methods in common procedural programming languages.
  • the user can intuitively develop software that performs the intended processing.
  • Node-RED is an example of a VP tool.
  • a series of flows developed by Node-RED are managed by JSON (JavaScript Object Notation) format code based on JavaScript (registered trademark).
  • JSON JavaScript Object Notation
  • the AP management device 3 manages (stores) the AP software generated by the client device 2. For example, when the AP software is generated by Node-RED, the AP management device 3 manages the JSON format code of the AP software.
  • the AP software may be managed by the AP management device 3 as a container (a package of information on the execution module of the AP software, information on the execution environment, information on the deployment method and the operation method, and the like).
  • An example of a container is Docker®.
  • the AP management device 3 may include a mechanism for performing version control of AP software (GitHub (registered trademark), GitLab (registered trademark), etc.).
  • Bases 8 (1) to (N) are, for example, cloud sites, sites where sensor data is collected (factories, various work sites, distribution warehouses, offices, various facilities (aircraft, automatic ticket gates, various gates, railway facilities). , Road equipment, environmental measurement equipment using sensors, moving objects (automobiles, trains, aircraft, drones, agricultural equipment, etc.), farms, data centers, etc.
  • the cluster management device 4 performs processing execution control and monitoring in the AP execution device 10, and provides (management, monitoring, control) of cluster services (load distribution, failover, etc.) using a plurality of AP execution devices 10.
  • the cluster refers to a set of AP execution devices 10 capable of executing processing of AP software in cooperation with each other. Further, the cluster management device 4 manages one or more clusters, and for example, performs processing related to registration (participation) and deregistration of the AP execution device 10 in the cluster.
  • the cluster management device 4 distributes information to the AP execution device 10 (AP software, AP execution device information described later, etc.) and information between the AP execution devices 10 (information of the AP execution device 10 participating in the cluster (information of the AP execution device 10 participating in the cluster). A list of participating AP execution devices 10 and AP execution device information described later)) will be shared.
  • the cluster management device 4 realizes a cluster service not only between the AP execution devices 10 in the same base 8 but also between the AP execution devices 10 beyond the base 8.
  • the AP execution device 10 existing in each of the bases 8 (1) to (N) can execute the AP software in cooperation with other AP execution devices 10 of the same or different bases 8 belonging to the same cluster.
  • FIG. 2 is a diagram showing a schematic flow until the AP software generated by the client device 2 is provided (deployed) to the AP execution device 10 and each AP execution device 10 executes the AP software.
  • the AP software 7 generated by the client device 2 is registered in the AP management device 3 and provided (transmitted) to the cluster management device 4 (S21).
  • the illustrated AP software 7 has five processing blocks (“processing A”, “processing B”, “transfer processing”, “processing C”, and “processing D”) that are sequentially executed.
  • Each processing block corresponds to, for example, one processing block in a VP tool, or a function or method in a general procedural programming language.
  • the processing block may be used by calling other software (for example, software provided as API (Application Program Interface)) that already exists in the AP execution device 10.
  • "Process A” and “Process B” are processing blocks scheduled to be executed at the base 8 (1)
  • “Process C” and “Process D” are executed at the base 8 (2). Is a scheduled processing block.
  • the cluster management device 4 deploys the AP software 7 having a common (same) configuration to a plurality of AP execution devices 10 belonging to the same cluster (S22).
  • the cluster management device 4 manages the AP execution device 10 (1) at the base 8 (1) and the AP execution device 10 (2) at the base 8 (2) as the AP execution device 10 belonging to a common cluster.
  • the processing of the AP software deployed in the AP execution device 10 is started by, for example, the cluster management device 4 transmitting an execution start command of the AP software 7 to one of the AP execution devices 10 (1).
  • the cluster management device 4 transmits an execution start command to the AP execution device 10 (1) at the base 8 (1), and the AP execution device 10 (1) starts execution of the AP software (from "Process A"). Execution starts).
  • the “forwarding process” is a process of linking (taking over) the process to another AP execution device 10.
  • the processing is linked to the AP execution device 10 (2) of the base 8 (2), the processing result of the "processing B” is taken over by the "transfer processing” of the AP execution device 10 (2), and the AP is executed.
  • the "transfer process” of the device 10 (2) starts the process from the subsequent "process C”.
  • FIG. 3 shows a specific example of AP software 7.
  • the illustrated AP software 7 is software that realizes a function of predictive diagnosis using a machine learning model (hereinafter, referred to as “learning model”) by edge computing.
  • learning model a machine learning model
  • the AP execution device 10 (1) of the base 8 (1) in the cloud is one or more used by the AP execution device 10 (2) of the base 8 (2) which is the edge in the predictive diagnosis.
  • the learning model 30 is managed (memorized).
  • the AP execution device 10 (1) acquires a learning model provided to the AP execution device 10 (2) of the base 8 (2) which is an edge (S31), and the acquired learning model is used as the AP of the base 8 (2). Transfer to the execution device 10 (S32).
  • the process of S32 corresponds to the above-mentioned "transfer process”.
  • the AP execution device 10 (2) at the base 8 (2) receives and stores the learning model (S33). Subsequently, the AP execution device 10 (2) acquires sensor data (S34), applies the acquired sensor data to the stored learning model to perform predictive diagnosis (S35), and responds to the result of the predictive diagnosis. Process (output alert, etc.) (S36).
  • the AP execution device 10 (2) updates the learning model by machine learning using the acquired sensor data as learning data (S37), and uses the updated learning model as the learning model at the base 8 (1). Transfer to (1) (S38).
  • S33 and S38 correspond to the above-mentioned "transfer processing".
  • the cloud AP execution device 10 (1) receives the learning model (S39) and updates the management (memory) learning model 30 with the contents of the received learning model (S40).
  • the process of S39 corresponds to the above-mentioned "transfer process”.
  • AP software 7 having a common (same) configuration is provided (deployed) to each of the plurality of AP execution devices 10 that execute processing in cooperation with each other. Therefore, it is not necessary to construct different AP software 7 for each AP execution device 10, and the AP software 7 may be constructed by, for example, a specific developer who is familiar with the processing between the cloud and the base 8. Therefore, it is not necessary for the domain experts of each base 8 to individually construct the AP software 7, and it is possible to efficiently develop the software that executes the processing in cooperation between the plurality of bases 8 as the information processing system 1 as a whole.
  • the (same) AP software 7 common to all of the plurality of AP execution devices 10 is provided (deployed). Therefore, the management (maintenance) burden and operation burden of AP software 7 can be reduced. Further, since communication between the AP execution devices 10 occurs only in the transfer process in principle, the communication load can be reduced as the entire information processing system 1, and if the information processing block (transfer process) is concentrated and monitored. Since it is good, security can be improved.
  • FIG. 4 shows an example of the hardware of the information processing device 100 used to realize the client device 2, the AP management device 3, the cluster management device 4, and the AP execution device 10 described above.
  • the illustrated information processing device 100 includes a processor 11, a main storage device 12, an auxiliary storage device 13, an input device 14, an output device 15, and a communication device 16.
  • the client device 2, the AP management device 3, the cluster management device 4, and the AP execution device 10 use virtual information processing resources such as a cloud server (Cloud Server) provided by a cloud system (Cloud System), for example. It may be realized by. Further, for example, the client device 2, the AP management device 3, the cluster management device 4, and the AP execution device 10 may be realized by a plurality of information processing devices 100 that operate in cooperation with each other. Further, for example, two or more of the client device 2, the AP management device 3, the cluster management device 4, and the AP execution device 10 may be realized by the common information processing device 100.
  • a cloud server Cloud Server
  • Cloud System cloud system
  • the client device 2, the AP management device 3, the cluster management device 4, and the AP execution device 10 may be realized by a plurality of information processing devices 100 that operate in cooperation with each other. Further, for example, two or more of the client device 2, the AP management device 3, the cluster management device 4, and the AP execution device 10 may be realized by the common information processing device 100.
  • the processor 11 is configured by using, for example, a CPU (Central Processing Unit), an MPU (Micro Processing Unit), a GPU (Graphics Processing Unit), or the like.
  • the main storage device 12 is a device that stores programs and data, and is, for example, a ROM (Read Only Memory) (SRAM (Static Random Access Memory), NVRAM (Non Volatile RAM), mask ROM (Mask Read Only Memory), PROM (Programmable ROM), etc.), RAM (RandomAccessMemory) (DRAM (DynamicRandomAccessMemory), etc.), etc.
  • the auxiliary storage device 13 is a hard disk drive (Hard Disk Drive), a flash memory (Flash Memory), an SSD (Solid State Drive), an optical storage device (CD (Compact Disc), DVD (Digital Versatile Disc), etc.) and the like. ..
  • the programs and data stored in the auxiliary storage device 13 are read into the main storage device 12 at any time.
  • the input device 14 is a user interface that receives information from the user, and is, for example, a keyboard, a mouse, a card reader, a touch panel, or the like.
  • the output device 15 is a user interface that provides information to the user by outputting information (display output, audio output, print output, etc.). For example, a display device (LCD (Liquid Crystal Display)) that visualizes various information. Graphic cards, etc.), audio output devices (speakers), printing devices, etc.
  • the communication device 16 is a communication interface that communicates with another device via the communication network 5, and includes, for example, a NIC (Network Interface Card), a wireless communication module, a USB (Universal Serial Interface) module, a serial communication module, and the like.
  • the communication device 16 can also function as an input device that receives information from another device that is communicably connected. Further, the communication device 16 can also function as an output device that transmits information to another device that is communicably connected.
  • the functions of the client device 2, the AP management device 3, the cluster management device 4, and the AP execution device 10 are realized by the processor 11 reading and executing the program stored in the main storage device 12. Further, the above program can be recorded on a recording medium and distributed, for example.
  • the client device 2, the AP management device 3, the cluster management device 4, and the AP execution device 10 have other functions such as an operating system, a file system, a device driver, and a DBMS (DataBase Management System). May be further provided.
  • the client device 2, the AP management device 3, the cluster management device 4, and the AP execution device 10 store various types of information (data) as, for example, database tables and files.
  • FIG. 5 shows the main functions of the client device 2.
  • the client device 2 includes the functions of the storage unit 205, the AP software editing unit 210, the AP software transfer unit 220, the attribute information acquisition and presentation unit 230, and the processing request transmission unit 240.
  • the client device 2 is operated by a user such as a software development engineer, a domain expert, or a cluster administrator.
  • the storage unit 205 stores the AP software 7 and the attribute information 252.
  • the AP software editorial department 210 provides the user with a development environment for the AP software 7 using the VP tool, and generates the AP software 7.
  • the AP software transfer unit 220 transfers the AP software 7 generated by the AP software editorial unit 210 to the AP management device 3 and the cluster management device 4.
  • the attribute information acquisition presentation unit 230 transmits an attribute information acquisition request described later to the cluster management device 4, receives the attribute information sent from the cluster management device 4, and presents it to the user. Attribute information will be described later.
  • the processing request transmission unit 240 transmits to the cluster management device 4 a processing request such as an AP process 800 generation instruction and an AP software 7 execution start instruction, which will be described later.
  • FIG. 6 shows the main functions of the AP management device 3.
  • the AP management device 3 includes a storage unit 305, an AP software receiving unit 310, and an AP software management unit 520.
  • the AP software receiving unit 310 receives the AP software 7 sent from the client device 2 via the communication network 5.
  • the storage unit 305 stores the AP software received by the AP software receiving unit 310.
  • the AP software management unit 520 manages the version of the AP software 7.
  • FIG. 7 shows the main functions of the cluster management device 4.
  • the cluster management device 4 includes a storage unit 405, a processing request reception unit 410, and a cluster management unit 420.
  • the storage unit 405 stores AP execution device information 451 and cluster management information 452, and AP software 7.
  • the AP execution device information 451 includes various information regarding the AP execution device 10.
  • the cluster management information 452 includes information on the cluster configuration and the operating status of the cluster. The contents of the cluster management information 452 are managed by the cluster management unit 420 and the interprocess information sharing unit 423.
  • the processing request receiving unit 410 receives a processing execution request (attribute information provision request, AP software 7 execution start request, AP software 7 and AP execution device information 451 setting (registration / change / deletion) request, etc.) from the client device 2. ) Is accepted. In this way, the cluster management device 4 also functions as a user interface (contact point with the user) for receiving the request from the user.
  • a processing execution request attribute information provision request, AP software 7 execution start request, AP software 7 and AP execution device information 451 setting (registration / change / deletion) request, etc.
  • the cluster management unit 420 includes an AP execution device information management unit 421, an attribute information management unit 422, and an interprocess information sharing unit 423.
  • the AP execution device information management unit 421 includes the process generated in the AP execution device 10 (the process generated by executing the AP software 7) among the information about the AP execution device 10 constituting the cluster. It manages information about "AP process").
  • the above information is, for example, a network address (IP address or the like) of the AP execution device 10 on which the AP process operates, a port number for communicating with the AP process, and the like.
  • the attribute information management unit 422 manages information (hereinafter, referred to as "attribute information") necessary for specifying the transfer destination AP execution device 10 when the AP process performs the above-mentioned "transfer process". Details of the attribute information will be described later.
  • the interprocess information sharing unit 423 performs processing related to information sharing between each AP process generated by the AP execution device 10.
  • the interprocess information sharing unit 423 manages (stores) information (AP software 7, AP execution device information, etc., which will be described later) to be shared between the AP execution devices 10 constituting the cluster and between each AP process, and described above. Information can be shared (delivered, notified) at high speed (real time) between the AP execution device 10 and the AP process via the communication network 5. Further, the interprocess information sharing unit 423 receives the participation registration request to the cluster sent from the AP process and updates the cluster management information 452 (the AP process updates the contents to belong to a predetermined cluster). Further, the interprocess information sharing unit 423 monitors the survival notification (heartbeat) sent from the AP process 800, which will be described later, of the AP execution device 10 to check in real time whether or not the AP process 800 is functioning normally. To grasp.
  • the interprocess information sharing unit 423 may be realized by, for example, a distributed processing system configured by communicably connecting information processing devices existing in the respective bases 8 (1) to (N) on the edge side. By doing so, it is possible to prevent the load from being concentrated on a specific information processing device such as the cluster management device 4, and to speed up the processing at each of the bases 8 (1) to (N).
  • the distributed processing system can be realized by using, for example, ZooKeeper provided by the Apache Software Foundation.
  • FIG. 8 shows the main functions of the AP execution device 10.
  • the AP execution device 10 includes a storage unit 105, a sensor data acquisition unit 110, and a process execution management unit 120.
  • the sensor data acquisition unit 110 receives the sensor data sent from the sensor device or the like provided at the base 8 where the AP execution device 10 is located.
  • the storage unit 105 stores the sensor data received by the sensor data acquisition unit 110 as the sensor data 152.
  • the data to be processed by the AP execution device 10 (AP process 800) is sensor data will be described as an example, but the AP execution device 10 (AP process 800) will be the processing target.
  • the type of data is not necessarily limited, and the data to be processed by the AP execution device 10 (AP process 800) may be data other than the sensor data.
  • the process execution management unit 120 manages the AP process 800 (Docker (registered trademark) container process, etc.) (generation and disappearance of the AP process, status monitoring of the AP process, etc.).
  • AP process 800 Docker (registered trademark) container process, etc.
  • FIG. 9 conceptually shows the main functions realized by the AP process 800 generated by the AP execution device 10.
  • the AP process 800 includes an AP software receiving unit 811, a process execution control unit 812, and a survival notification transmitting unit 813. Some of these functions may be realized by the operating system included in the AP execution device 10 or the process execution management unit 120.
  • the AP software receiving unit 811 receives the AP software 7 from the interprocess information sharing unit 423 of the cluster management device 4.
  • the storage unit 105 stores the AP software 7 received by the AP software receiving unit 811. As a result, the AP software 7 is deployed to the AP execution device 10 (AP process 800).
  • the process execution control unit 812 provides the execution environment of AP software 7. For example, when the AP software 7 is generated by the Node-RED, the process execution control unit 812 provides an execution environment of the Node-RED for executing the AP software 7. Further, the process execution control unit 812 controls the execution of the AP software 7.
  • the process execution control unit 812 has an AP software processing execution unit 8121 and a message transfer unit 8122.
  • the AP software processing execution unit 8121 performs flow control (sequential execution control of processing blocks) of the AP software 7.
  • the message transfer unit 8122 transfers information (hereinafter, referred to as "message") necessary for cooperation (takeover) of processing between AP processes 800 with other AP processes 800. Send or receive.
  • the survival notification transmission unit 813 transmits and receives the survival notification (heartbeat) to and from the interprocess information sharing unit 423 at any time (for example, periodically).
  • FIG. 10 is a sequence diagram illustrating a process (hereinafter, referred to as AP software registration sequence S1000) performed when the AP software 7 is registered (stored) from the client device 2 to the AP management device 3 and the cluster management device 4. Is.
  • the client device 2 transmits a registration request for the AP software 7 and the AP software 7 to the AP management device 3 (S1011).
  • the AP management device 3 registers (stores) the AP software 7 received together with the registration request as a management target (S1012).
  • the client device 2 transmits the AP software 7 to the cluster management device 4.
  • the processing request receiving unit 410 of the cluster management device 4 receives the AP software 7 sent from the client device 2 (S1013).
  • the processing request receiving unit 410 of the cluster management device 4 transmits the received AP software 7 to its own interprocess information sharing unit 423 (S1014).
  • the interprocess information sharing unit 423 receives the AP software 7 and registers (stores) it as a management target (S1015).
  • the processing request receiving unit 410 transmits the AP software 7 to the AP management device 3 together with the interprocess information sharing unit 423, and the AP management device 3 sends the AP software 7. You may try to register. In the case of this processing order, the number of times that the client device 2 transmits the AP software registration request can be suppressed to one.
  • FIG. 11 is a flowchart illustrating a procedure for adding a new AP execution device 10 to the cluster managed by the cluster management device 4.
  • the administrator of the AP execution device 10 connects the AP execution device 10 to the communication network 5 (S1111).
  • the administrator of the cluster management device 4 registers (stores) the information of the AP execution device 10 newly connected to the communication network 5 as the AP execution device information 451 (S1112).
  • the newly registered AP execution device information 451 is also notified (shared) to the interprocess information sharing unit 423 and shared with each AP execution device 10 of the cluster to which the AP execution device 10 belongs.
  • FIG. 12 is an example of AP execution device information 451.
  • the illustrated AP execution device information 451 is described in JSON format data.
  • the AP execution device information 451 includes communication-related information, the attribute information described above, and authentication information.
  • communication-related information is used to communicate between AP execution devices 10 (AP process 800) when processing AP software is performed in cooperation between AP execution devices 10 (AP process 800) belonging to the same cluster.
  • Necessary information for example, IP address of AP execution device 10, port number of AP process 800, etc.
  • the information described in the “0002” line corresponds to the communication-related information.
  • the attribute information is information necessary for specifying the transfer destination AP execution device 10 when the AP process performs the above-mentioned "transfer processing".
  • the attribute information includes information about the virtual machine. In the figure, the information described in the lines "0003" to "0019" corresponds to the attribute information.
  • the authentication information is information (user ID, password) and the like required for accessing (communication, use, etc.) the functions realized by the AP process 800 and the AP process 800 of the AP execution device 10.
  • the information described in the lines "0020" to "0021" corresponds to the authentication information.
  • FIG. 13 is a sequence for explaining the process (hereinafter, referred to as “AP execution device information reception sequence S1300”) performed when the cluster management device 4 receives the AP execution device information from the client device 2 in S1112 of FIG. It is a figure.
  • the processing request receiving unit 410 receives the AP execution device information from the client device 2 (S1311), transmits the received AP execution device information to the cluster management unit 420, and transmits the received AP execution device information to the cluster management unit 420 (AP execution device information management unit 421). , Interprocess information sharing unit 423) receives AP execution device information (S1312).
  • the AP execution device information management unit 421 of the cluster management unit 420 stores the received AP execution device information as AP execution device information 451 (S1313). Further, the interprocess information sharing unit 423 of the cluster management unit 420 stores the received AP execution device information 451 as a management target (S1314).
  • the AP execution device information management unit 421 transmits the AP execution device information to the inter-process information sharing unit 423 (S1312), and the inter-process information.
  • the sharing unit 423 may store the AP execution device information 451 (S1314).
  • FIG. 14 is a sequence diagram illustrating a process (hereinafter, referred to as “attribute information change sequence S1400”) performed when the cluster management device 4 receives a request for changing attribute information from the client device 2.
  • the processing request receiving unit 410 receives the change information of the attribute information from the client device 2 (S1411), transmits the received change information to the cluster management unit 420, and sends the cluster management unit 420 (AP execution device information management unit 421). ,
  • the interprocess information sharing unit 423) receives the above change information (S1412).
  • the processing request receiving unit 410 inspects the content of the change information (whether the change information contains illegal characters or is used as the identifier of the AP execution device 10 included in the change information. (Inspect for duplication, etc.) to prevent the attribute information from being stored in the cluster management device 4 with invalid contents. By inspecting the content of the change information by the processing request receiving unit 410 in this way, it is possible to prevent the occurrence of troubles.
  • the AP execution device information management unit 421 reflects the received change information in the AP execution device information 451 (S1413).
  • the interprocess information sharing unit 423 reflects the sent change information in the AP execution device information stored by itself (S1414). Since the content of the AP execution device information 451 and the content of the AP execution device information stored in the interprocess information sharing unit 423 need to be synchronized, the above change information is the AP execution device information 451 in S1413. After it is confirmed that the information is reflected in the above, it is preferable that the information is reflected in the content of the AP execution device information stored in the interprocess information sharing unit 423 (S1414).
  • FIG. 15 is an example of change information of attribute information.
  • the example change information is described in JSON format data.
  • the illustrated change information includes communication-related information (line “0002”) and attribute information (lines “0003" to "0019"), but does not include authentication information. It should be noted that the change information includes communication-related information because it is necessary to specify the AP execution device information to which the change information is reflected.
  • FIG. 16 is a sequence diagram illustrating a process (hereinafter, referred to as “attribute information providing sequence S1600”) performed when the cluster management device 4 receives a request for acquiring attribute information from the client device 2.
  • the user refers to the attribute information provided by the process when editing the AP software, for example.
  • the processing request receiving unit 410 receives the attribute information acquisition request from the client device 2 (S1611).
  • the acquisition request may specify the attribute information of the specific AP execution device 10, or may specify a plurality of attribute information managed (stored) by the cluster management device 4.
  • the processing request receiving unit 410 When the processing request receiving unit 410 receives the acquisition request, it transmits a request for providing the attribute information specified in the acquisition request to the attribute information management unit 422 of the cluster management unit 420 (S1612).
  • the attribute information management unit 422 When the attribute information management unit 422 receives the above provision request, it transmits the attribute information specified in the provision request to the processing request reception unit 410 (S1613).
  • the processing request receiving unit 410 When the processing request receiving unit 410 receives the attribute information from the attribute information management unit 422, the processing request receiving unit 410 transmits the received attribute information to the client device 2 (S1614).
  • FIG. 17 is a sequence diagram illustrating a process (hereinafter, referred to as “AP software execution preparation sequence S1700”) performed when the cluster management device 4 receives a generation instruction of the AP process 800 from the client device 2.
  • the AP software execution preparation sequence S1700 is a preparation process for the AP execution device 10 to execute the AP software 7.
  • the client device 2 transmits an instruction to generate the AP process 800 to the processing request receiving unit 410 of the cluster management device 4 (S1711).
  • the processing request receiving unit 410 plans to execute the generation instruction of the AP process in cooperation with the AP process 800 that is the target of the generation instruction (same cluster).
  • the process execution management unit 120 of the AP execution device 10 When the process execution management unit 120 of the AP execution device 10 receives the generation instruction (S1713), the process execution management unit 120 generates the AP process 800 (S1713, S1714).
  • the activated AP process 800 transmits an acquisition request for AP software 7 to the interprocess information sharing unit 423 (S1715).
  • the interprocess information sharing unit 423 receives the acquisition request, it transmits the requested AP software 7 to the requesting AP process 800, and the AP process 800 receives and stores the AP software 7 (S1716).
  • the AP software 7 is deployed to the AP execution device 10 (AP process 800).
  • the AP process 800 transmits a participation registration request to the cluster (the cluster to which the AP execution device 10 that processes the AP software 7 in cooperation belongs) to the interprocess information sharing unit 423 (S1717).
  • the interprocess information sharing unit 423 updates the cluster management information 452 and registers the AP process 800 in the cluster (S1718).
  • the AP process 800 uses the above-mentioned information on the predetermined cluster (information on the AP process 800 belonging to the cluster (list information, etc.), attributes of the AP execution device 10 in which the AP process 800 belonging to the cluster exists). (Information, etc.) is transmitted to the interprocess information sharing unit 423 (S1719).
  • the interprocess information sharing unit 423 When the interprocess information sharing unit 423 receives the above provision request, it acquires the corresponding information from the storage unit 405 and transmits the acquired information to the AP process 800 (S1720).
  • FIG. 18 shows an AP execution device 10 belonging to the cluster (in this example, three AP execution devices 10 (1) to (3) belong to the cluster, which is performed when a new AP process 800 joins the cluster. It is a sequence diagram explaining the process (hereinafter, referred to as “in-cluster information sharing sequence (at the time of starting AP process) S1800”) related to information sharing between).
  • the AP process 800 (1) When the AP process 800 (1) is newly started in the AP execution device 10 (1) to which a certain cluster belongs, the AP process 800 (1) transmits a participation registration request to the cluster as described above (S1811).
  • the interprocess information sharing unit 423 When the interprocess information sharing unit 423 receives the participation registration request, it updates the cluster management information 452 and registers the AP process 800 (1) in the cluster (S1812).
  • the interprocess information sharing unit 423 is the AP execution device of the AP execution device 10 (1) in which the AP process 800 (1) exists in the other AP execution devices 10 (2) and (3) belonging to the cluster.
  • Information (including communication information, attribute information, and authentication information) is transmitted, and the other AP execution devices 10 (2) and (3) receive and store the above AP execution device information (S1813).
  • FIG. 19 shows the AP execution device 10 belonging to the cluster, which is performed when the AP process 800 disappears (in this example, it is assumed that the three AP execution devices 10 (1) to (3) belong to the cluster). It is a sequence diagram explaining the process related to information sharing between (hereinafter, referred to as "in-cluster information sharing sequence (when AP process disappears) S1900").
  • the reasons for the disappearance of the AP process 800 include, for example, a failure of the AP execution device 10 and the communication network 5, and a user's intentional disappearance operation.
  • the interprocess information sharing unit 423 monitors the survival notification sent from the AP process 800 in real time (S1911). When the interprocess information sharing unit 423 detects that the survival notification of a certain AP process 800 (1) is interrupted (S1912), it updates the cluster management information 452 and the current AP process 800 of the AP process 800 (1). The participation in the cluster to which (1) belongs is invalidated (S1913).
  • the interprocess information sharing unit 423 notifies the other AP processes 800 (2) and (3) belonging to the cluster that the AP process 800 (1) has left the cluster (S1914).
  • the other AP processes 800 (2) and (3) update the information regarding the participation status to the cluster, which is stored in each of the other AP processes 800 (2) and (3), and the AP process 800 (1) to the cluster. Disable participation (S1915).
  • the AP execution device 10 belonging to the same cluster is based on the AP software execution preparation sequence S1700, the intra-cluster information sharing sequence (when the AP process is started) S1800, and the intra-cluster information sharing sequence (when the AP process disappears) S1900 described above. Information about the cluster is always kept in sync between (AP process 800).
  • FIG. 20 is a sequence diagram illustrating a processing flow (hereinafter, referred to as “AP software execution sequence S2000”) when the AP execution device 10 (AP process 800) executes the AP software 7.
  • AP process 800 (1) of the AP execution device 10 (1) of the base 8 (1) and the AP process 800 of the AP execution device 10 (2) of the base 8 (2) belonging to the same cluster ( It is assumed that AP software 7 is executed in cooperation with 2). Further, it is assumed that the AP software 7 has the configuration illustrated in FIG. 21 as an example.
  • the AP software processing execution unit 8121 (1) of the AP process 800 (1) starts the execution of the AP software 7 in response to the execution start instruction from the cluster management device 4 (“Process A””. Sequential execution from (S2011, S2012).
  • the AP software process execution unit 8121 (1) sends the AP to the message transfer unit 8122 (1) of the AP process 800 (1).
  • a message (hereinafter, referred to as a “transfer start message”) including information necessary for linking (taking over) the processing to the process 800 (2) is transmitted (S2014).
  • FIG. 22 shows an example of the transfer start message.
  • the transfer start message includes information for designating the destination AP execution device 10 (description on the “0002” line; hereinafter referred to as “destination device designation information”), “transfer process a”.
  • Identifier (description on the "0003” line; hereinafter referred to as “processing block ID”), information indicating the type (type) of the message (description on the "0004" line, hereinafter referred to as "transfer type”).
  • processing block ID information indicating the type (type) of the message
  • transfer type information to be passed to the processing block of the cooperation destination (takeover destination)
  • cooperation information information for designating the destination AP execution device 10
  • cooperation information information for designating the destination AP execution device 10
  • transfer process a information for designating the destination AP execution device 10
  • transfer process a information for designating the destination AP execution device 10
  • transfer process a information for designating the destination AP execution device 10
  • transfer process a information
  • edge_siteA is described as the destination device designation information. This specifies that the AP execution device 10 (2) existing at the base 8 (2) should be designated as the destination. Also, "start” is specified as the transfer type. This indicates that the message is a transfer start message.
  • the cooperation information is, for example, a learning model 30 (parameter) when the AP software 7 is illustrated in FIG.
  • the message transfer unit 8122 (1) when the message transfer unit 8122 (1) receives the transfer start message, the destination device designation information of the transfer start message is compared with the AP execution device information 451 and the cluster management information 452, and the destination device designation information
  • the AP execution device 10 (2) having the attribute specified in is selected as the cooperation destination AP execution device 10 (2) (S2015).
  • the message transfer unit 8122 (1) uses information for identifying the location of the selected AP execution device 10 (2) (AP process 800 (2)) (for example, the network address of the AP execution device 10 and the relevant information).
  • the port number of the AP process 800 (2) of the AP execution device 10 (2) is acquired.
  • the message transfer unit 8122 (1) sends a message (hereinafter, referred to as “cooperation start message”) to the selected AP execution device 10 (2) (AP process 800 (2)) to notify the start of cooperation. Transmit (S2016).
  • FIG. 23 shows an example of the cooperation start message.
  • the cooperation start message includes information indicating the source AP execution device 10 (1) (description on the “0002” line; hereinafter referred to as “source information”), “transfer processing a”. (Description on the "0003” line; hereinafter referred to as “processing block ID”), information indicating the type (type) of the message (description on the "0004" line; hereinafter, “transfer type” ), Information to be passed to the processing block of the cooperation destination (takeover destination) (description on the lines “0005" to "0007", hereinafter referred to as "cooperation information”) is included.
  • the source information is information that is required when the AP process 800 (2), which is the cooperation destination, takes over the processing to the AP process 800 (1) again.
  • the message transfer unit 8122 (2) of the AP process 800 (2) of the cooperation destination AP execution device 10 (2) receives the cooperation start message
  • the received cooperation start message is sent to the AP process 800 ( Notify (transmit) to the AP software processing execution unit 8121 (2) of 2) (S2017).
  • the AP software processing execution unit 8121 (2) When the AP software processing execution unit 8121 (2) receives the cooperation start message, the AP software processing execution unit 8121 (2) starts processing from “processing C” by inputting the content of "cooperation information" of the cooperation start message (S2018, S2019). Since the AP software processing execution unit 8121 (2) has the identifier of "transfer processing a" set in the "processing block ID" of the cooperation start message, "processing C" following "transfer processing a" Start processing from.
  • the AP software process execution unit 8121 (2) When the process reaches the "transfer process b" after the execution of the "process D” (S2020), the AP software process execution unit 8121 (2) subsequently sends the message transfer unit 8122 (2) of the AP process 800 (2). , Notifies (transmits) a message (hereinafter, referred to as "transfer end message") instructing the linkage (takeover) of processing to the AP process 800 (1) (S2021).
  • transfer end message a message instructing the linkage (takeover) of processing to the AP process 800 (1)
  • the message transfer unit 8122 (2) Upon receiving the transfer end message, the message transfer unit 8122 (2) notifies the AP process 800 (1) of the AP execution device 10 (1) of the end of cooperation (hereinafter, referred to as "cooperation end message"). Is transmitted (S2022).
  • FIG. 24 shows an example of the cooperation end message.
  • the cooperation end message is information indicating the AP execution device 10 (1) of the transmission source of the cooperation start message (description on the “0002” line, hereinafter referred to as “source information”).
  • source information information indicating the AP execution device 10 (1) of the transmission source of the cooperation start message
  • processing block ID information indicating the type (type) of the message
  • type type of the message
  • linkage information includes information to be passed to the processing block of the linkage destination (takeover destination) (description on the "0005" to "0007” lines, hereinafter referred to as "linkage information”).
  • the sender information in the linkage end message is the same as the sender information in the linkage start message.
  • the learning model 30 (parameter) updated by the sensor data is set.
  • the message transfer unit 8122 (1) of the AP process 800 (1) receives the cooperation end message
  • the content of the received cooperation end message is notified (transmitted) to the AP software processing execution unit 8121 (1).
  • the AP software processing execution unit 8121 (1) specifies the processing block to be executed next based on the content of the cooperation end message (specified as "process E” in this example), and receives the cooperation end message. Processing is started from the specified processing block (“processing E”) by inputting “cooperation information”.
  • the identifier of "transfer processing a" is set in the "processing block ID" of the cooperation end message, and "end” meaning the end of cooperation is set in the "transfer type”. Therefore, the process is started from the “process E” following the "transfer process b".
  • the processes are linked between the AP execution devices 10 (AP process 800) of each site 8 via the "transfer process", and the same (common) deployed in the AP execution device 10 of each site 8 is provided. )
  • the process is executed by the AP software 7.
  • AP software 7 having a common (same) configuration is provided to each of the plurality of AP execution devices 10 that execute processing in cooperation with each other. Since it is (deployed), it is not necessary to build different AP software 7 for each AP execution device 10, and it is necessary to efficiently develop software that executes processing in cooperation between a plurality of bases 8 as the entire information processing system 1. Can be done. Further, since the AP execution device 10 for executing the AP software 7 can be specified in the AP execution device information 451 that can be set by the user, the user can easily and flexibly select the execution environment of the AP software 7.
  • the management (maintenance) burden and operation burden of the AP software 7 can be reduced. Further, the communication load of the information processing system 1 as a whole can be reduced, and the security can be improved.
  • the AP software was directly provided from the client device 2 to the cluster management device 4, but the AP software including version control is managed by the AP management device 3 and the cluster is managed.
  • the management device 4 may receive the AP software from the AP management device 3.
  • the parts different from those of the first embodiment will be mainly described.
  • FIG. 25 is a diagram illustrating the main functions of the AP management device 3 of the second embodiment.
  • the AP management device 3 of the second embodiment further includes an AP software providing unit 530 in addition to the functions provided by the AP management device 3 of the first embodiment.
  • the AP software providing unit 530 transmits the specified version of the AP software 7 to the client device 4 in response to the request from the cluster management device 4.
  • FIG. 26 is a diagram illustrating the main functions of the cluster management device 4 of the second embodiment.
  • the cluster management device 4 of the second embodiment further includes an AP software acquisition unit 430 in addition to the functions provided by the cluster management device 4 of the first embodiment.
  • the AP software acquisition unit 430 acquires a predetermined version of the AP software 7 from the AP management device 3 and reflects the acquired AP software 7 in the interprocess information sharing unit 423.
  • FIG. 27 shows a flow of processing performed when the processing request receiving unit 410 of the cluster management device 4 of the second embodiment receives an AP software reflection request from the client device 2 (hereinafter, referred to as “AP software reflection sequence S700”). It is a sequence diagram explaining.).
  • the AP software 7 is transmitted from the client device 2 to the AP management device 3 (S2711), and the AP management device 3 receives the sent AP software 7 and registers (stores) it as a management target. (S2712).
  • the processing request receiving unit 410 of the cluster management device 4 When the processing request receiving unit 410 of the cluster management device 4 receives the reflection request of the AP software from the client device 2 (S2713), the processing request receiving unit 410 notifies the AP software acquisition unit 430 of the received reflection request (S2714).
  • the AP software acquisition unit 430 When the AP software acquisition unit 430 receives the reflection request, it transmits an acquisition request for the AP software to the AP management device 3 (S2715), acquires the AP software 7 from the AP management device 3 (S2716), and acquires the AP software 7. Is transmitted to the interprocess information sharing unit 423 (S2717).
  • the interprocess information sharing unit 423 receives the AP software 7 and registers (stores) the received AP software 7 as a management target (S1018).
  • the cluster management device 4 may receive the AP software from the AP management device 3.
  • the developer of the AP software 7 sets the destination device designation information in the “transfer process a” of the AP software 7.
  • the processing block after the processing block is executed at the base 8 designated by the destination device designation information.
  • the developer of the AP software 7 performs the data (data meta information) required for the processing after the processing in the transfer processing block of the AP software 7.
  • the AP execution device 10 of the base 8 that can automatically execute the processing blocks after the transfer processing block of the AP software 7 (the data can be used) is selected, and the selected AP execution device 10 is selected.
  • the processing of the processing block after the transfer processing block is executed.
  • the developer of the AP software 7 does not need to know at which base 8 the data necessary for executing the processing block exists, and the data is concerned.
  • the processing block is executed by the AP execution device 10 of the base 8 where the data can be used by simply adding the information that specifies the data (hereinafter referred to as "data designation information") to the processing that requires the data. Can be done.
  • the basic configuration of the information processing system 1 of the third embodiment is the same as that of the information processing system 1 of the first embodiment. Hereinafter, the parts different from those of the first embodiment will be mainly described.
  • FIG. 28 is a diagram showing a schematic configuration of the information processing system 1 of the third embodiment.
  • the information processing system 1 of the third embodiment receives data collected at each base 8 at each of the bases 8.
  • a database 2801 to be managed is provided.
  • Database 2801 is, for example, a relational database realized by DBMS.
  • the databases 2801 (1) to (N) of each base 8 are communicably connected to the AP execution devices 10 (1) to (N) existing in each base 8.
  • FIG. 29 shows the main functions included in the AP execution device 10 of the third embodiment.
  • the AP execution device 10 of the third embodiment includes a data information management unit 130 in addition to the functions provided by the AP execution device 10 of the first embodiment.
  • the storage unit 105 of the AP execution device 10 of the third embodiment stores the data list 153 and the DB connection information 154 in addition to the data stored by the storage unit 105 of the first embodiment.
  • the data list 153 of each base 8 includes a list of information (data designation information described above) that specifies data included in the database 2801 of each base 8.
  • the DB connection information 154 includes information (hereinafter, referred to as "DB connection information") required for accessing the data in the database 2801. Examples of the DB connection information include the network address of the database 2801, the information for specifying the type of the database 2801, the authentication information for accessing the database 2801, and the like.
  • the data information management unit 130 provides a user interface for editing (registering, changing, deleting, etc.) the data list 153 and the DB connection information 154.
  • the user (data manager, etc.) of each base 8 can edit the data list 153 and the DB connection information 154 via the data information management unit 130.
  • the DB connection information 154 is individually managed by each AP execution device 10 from the viewpoint of preventing information leakage to the outside, and is not transmitted to the cluster management device 4 in principle.
  • the data list 153 is also transmitted to the cluster management device 4 via the communication network 5.
  • FIG. 30 shows the main functions of the cluster management device 4 of the third embodiment.
  • the storage unit 405 of the cluster management device 4 of the third embodiment stores the data list 453 in addition to the data stored by the storage unit 405 of the cluster management device 4 of the first embodiment.
  • the data list 453 is data that integrates the data list 153 sent from the AP execution device 10 of each base 8, and is managed by the interprocess information sharing unit 423. As will be described later, whether or not the AP execution device 10 can actually access each data registered in the data list 453 is confirmed (verified) when the AP software 7 is deployed to the AP execution device 10. To.
  • the developer of the AP software 7 can refer to the data list 453 via the processing request receiving unit 410 of the client device 2. As a result, the developer of the AP software 7 can describe the data designation information in the AP software 7 while checking the data list 453 when developing the AP software 7.
  • FIG. 31 shows an example of the data list 453.
  • the illustrated data list 453 includes one or more records having each item (column) of AP execution device ID 4531, data name 4532, and description 4533.
  • An identifier of the AP execution device 10 (hereinafter, referred to as “AP execution device ID”) is set in the AP execution device ID 4531.
  • Data designation information (data name in this example) is set in the data name 4532.
  • Information for explaining the data (information referred to by a person such as a developer of AP software 7) is set in the explanation 4533.
  • the data list 453 may be further provided with items (columns) in which the format of each data and sample data are set. Further, although the illustrated data list 453 is described in a relational database format, the format of the data list 453 is not necessarily limited.
  • FIG. 32 shows a description example of AP software 7 in the third embodiment.
  • the illustrated AP software 7 is described according to the syntax of the Python language.
  • the language for describing the AP software 7 is not necessarily limited.
  • One processing block of AP software 7 shown in FIG. 21 of the first embodiment corresponds to one function described in AP software 7 illustrated in FIG. 32.
  • Five functions are described in the AP software 7 illustrated in FIG. 32. Of these, the main function (lines 3223 to 3226) is executed first, and the other four functions are sequentially called and executed from the main function.
  • the anomaly_factor function lines 3206 to 3212
  • This decorator indicates that the Anomaly_factor function is executed at the base 8 where the data corresponding to the data name (data designation information) "pic.line-a.jp" is managed.
  • a plurality of data names (data designation information) can be described at the same time on the 3206th line.
  • Db_connector.get (data [0])" on the 3209th line is a function to access the data in the database 2801.
  • the function is executed, the data value is acquired from the database 2801.
  • processing using the value acquired in the 3209th line is performed.
  • the above function is described in a general-purpose description format that does not depend on the type of database 2801 (hereinafter, referred to as "DB type").
  • DB type a general-purpose description format that does not depend on the type of database 2801.
  • FIG. 33 shows an example of DB connection information 154.
  • the DB connection information 154 manages information (DB connection information) necessary for the AP execution device 10 to access the database 2801.
  • the illustrated DB connection information 154 is composed of one or more records including each item such as a data name 1541, a DB type 1542, a connection destination 1543, and authentication information 1544.
  • the above-mentioned data designation information is set in the data name 1541.
  • Information indicating the DB type of the database 2801 in which the data is stored is set in the DB type 1542.
  • Connection information IP address, port number, etc.
  • Authentication information (user ID, password, etc.) required for accessing the database 2801 is set in the authentication information 1544.
  • the developer of AP software 7 When developing AP software 7, the developer of AP software 7 describes a general-purpose function such as the data acquisition function (db_connector.get) described in line 3209 of FIG. 32 in AP software 7.
  • the access from the AP execution device 10 to the database 2801 is performed by the AP execution device 10 referring to the DB connection information 154 managed on the base 8 side. Therefore, the developer of AP software 7 can efficiently develop AP software 7.
  • a general-purpose function can be described in the same manner as the illustrated data acquisition function. By doing so, it is possible to improve the development efficiency of the AP software 7.
  • FIG. 34 shows the main functions realized by the AP process 800 of the third embodiment.
  • the AP process 800 of the third embodiment further includes a DB connection confirmation execution unit 8123 in addition to the functions provided by the AP process 800 of the first embodiment.
  • the DB connection confirmation execution unit 8123 is the data described in the AP software 7 at the base 8 where the AP process 800 including itself exists at an appropriate timing such as when the AP software 7 is deployed in the AP execution device 10.
  • a process for confirming whether or not the data corresponding to the designated information is available hereinafter, referred to as a DB connection confirmation sequence S3500 is performed.
  • FIG. 35 is a sequence diagram illustrating an example of the DB connection confirmation sequence S3500.
  • the DB connection confirmation execution unit 8123 is stored in the storage unit 105.
  • the data designation information described in the AP software 7 is read (S3503) by referring to the AP software 7 (S3501 to S3502).
  • the DB connection confirmation execution unit 8123 acquires the DB connection information 154 of the data corresponding to the read data designation information from the storage unit 105 (S3504 to S3505).
  • the DB connection confirmation execution unit 8123 accesses the database 2801 using the acquired DB connection information 154, and confirms whether or not the database 2801 can be accessed (for example, whether or not the ping command reaches the database 2801). (Confirm) (S3506-3507).
  • the DB connection confirmation execution unit 8123 confirms whether or not the data corresponding to the data designation information of the access destination database 2801 can be used (whether or not the value of the data can be actually acquired) (S3508 to). 3509).
  • the DB connection confirmation execution unit 8123 indicates that the data is available in the AP process 800 including itself (that is, a process using the data (for example, FIG. The process described in lines 3206 to 3212 of 32) can be executed)) is notified to the inter-process information sharing unit 423 (S3510).
  • the DB connection confirmation execution unit 8123 cannot use the data in the AP process 800 including itself (that is, cannot execute the process using the data). ) Is notified to the inter-process information sharing unit 423 (S3510).
  • the interprocess information sharing unit 423 updates the data list 453 by receiving the above notification, and provides the updated contents of the data list 453 to each AP execution device 10 and the cluster management device 4.
  • the message transfer unit 8122 of the AP process 800 has the AP process 800 (AP execution device 10) of any of the bases 8 among the other AP processes 800 (AP execution device 10) other than the AP process 800 including itself. You can know which data is available.
  • the AP execution device 10 confirms whether or not the data in the database 2801 is actually available when the AP software 7 is deployed (S1716) has been illustrated, but the above confirmation is, for example, , When the contents of the database 2801 are updated (data is registered, edited, deleted) or when the database 2801 no longer exists.
  • FIG. 36 is a sequence diagram illustrating the AP software execution sequence S2000 of the third embodiment.
  • the AP software execution sequence S2000 of the third embodiment is different from the AP software execution sequence S2000 of the first embodiment in the content of the transfer start message transmitted in S2014 and the content of the processing in S2015.
  • the transfer start message is transmitted from the AP software processing execution unit 8121 (1) to the message transfer unit 8122 (1) (S3602).
  • the transfer start message to be transmitted is not the attribute information of the transfer destination base 3, but the data specification information (data name, etc.) that specifies the data to be used in the execution of the subsequent processing blocks. ) Is described.
  • the message transfer unit 8122 (1) selects the AP execution device 10 that can use the data corresponding to the data designation information (S3603). As described above, this process is performed by the message transfer unit 8122 (1) referring to the data list 453 provided by the interprocess information sharing unit 423. Subsequent processing of the AP software execution sequence S2000 is the same as that of the first embodiment.
  • FIG. 37 is an example of the transfer start message transmitted in S3602 of FIG. 26. Unlike the first embodiment, the example transfer start message does not describe the information indicating the attribute information of the base 8, but the data designation information (data name) of the data used in the subsequent processing blocks (3702). ⁇ 3704 lines). It is also possible to describe a plurality of data designation information in a list format in the transfer start message so that the process using a plurality of data can be supported.
  • the AP execution device 10 that can use the data designation information (data name, etc.) described in the AP software 7 at the time of cooperation automatically automatically.
  • a cooperation start message is transmitted to the selected AP execution device 10. Therefore, the developer does not need to know which base 8 AP execution device 10 can cooperate with, and can efficiently develop the AP software 7, and in particular, a large number of bases 8 exist in a wide range. If you do, you can expect a great effect.
  • the developer of AP software 7 does not need to manage the DB connection information at each base 8, it is not necessary to constantly grasp the environment of each base 8, and the AP software for the development and maintenance of AP software 7 does not need to be constantly grasped. The information management load of the developer of 7 is reduced.
  • each of the above configurations, functional units, processing units, processing means, etc. may be realized by hardware by designing a part or all of them by, for example, an integrated circuit.
  • each of the above configurations, functions, etc. may be realized by software by the processor interpreting and executing a program that realizes each function.
  • Information such as programs, tables, and files that realize each function can be placed in a memory, a hard disk, a recording device such as an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, or a DVD.
  • control lines and information lines are shown as necessary for explanation, and not all the control lines and information lines in the implementation are necessarily shown. For example, in practice almost all configurations may be considered interconnected.
  • the arrangement form of various functional units, various processing units, and various databases of each information processing device described above is only an example.
  • the arrangement form of various function units, various processing units, and various databases can be changed to the optimum arrangement form from the viewpoint of the performance, processing efficiency, communication efficiency, and the like of the hardware and software included in these devices.
  • the configuration of the database (schema, etc.) that stores the various data described above can be flexibly changed from the viewpoints of efficient use of resources, improvement of processing efficiency, improvement of access efficiency, improvement of search efficiency, and the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

複数の拠点間で連携して行われる処理を実現するソフトウェアを効率よく開発する。情報処理システムは、複数の拠点の夫々に設けられ、APソフトを実行する複数のAP実行装置を含む。AP実行装置の夫々は、同じ処理ブロックを同じ順序で実行する共通のAPソフトを記憶する。APソフトは、第1の拠点の第1のAP実行装置で実行された処理ブロックの処理を、第2の拠点の第2のAP実行装置に連携する処理を実現する転送処理ブロックを含む。第1のAP実行装置は、APソフトの処理ブロックの順次実行に際して第1の転送処理ブロックに到達すると、第1の転送処理ブロックの識別子を含む、連携開始を通知する連携開始メッセージを第2のAP実行装置に送信し、第2のAP実行装置は、連携開始メッセージを受信すると、第1の転送処理ブロックに後続する処理ブロックから順次実行を開始する。

Description

情報処理システム、及び情報処理システムの制御方法
 本発明は、情報処理システム、及び情報処理システムの制御方法に関する。
 本出願は、2019年5月28日に出願された日本特許出願2019-099564号、及び、2019年9月11日に出願された日本特許出願2019-165080号に基づく優先権を主張し、その開示全体を援用して本出願に取り込むものである。
 特許文献1には、パーソナルコンピュータ、セル電話、スマートフォン、携帯情報端末等の複数のエッジデバイスが、夫々ネットワークを介してクラウドと通信可能に接続されるシステムにおいて、クラウドとエッジデバイス間でリアルタイムに処理を行うアプリケーションが、エッジデバイスやクラウドから収集されるリアルタイムフィードに基づき通知や推奨等のサービスを提供することが記載されている。
 特許文献2には、クラウドサービスを利用するエッジ側の装置において、アプリケーションの開発容易性の向上や、アプリケーションから各種のクラウドサービスの柔軟な利用を可能にすることを目的として構成されたクラウド中継装置について記載されている。クラウド中継装置は、クラウドサービス装置と接続可能なクラウド接続処理部と、クラウド接続処理部に対応するユーザインタフェース部と、クラウド接続処理部とユーザインタフェース部との間でデータの中継を行う中継部とを備える。
特表2015-505404号公報 特開2018-92565号公報
 低遅延で行うべき処理等をエッジ側で実行し、クラウド側ではエッジ側の処理内容の管理等を行う、いわゆるエッジコンピューティングが注目されている。またエッジコンピューティングのように複数の拠点間で行われる処理を実現するためのソフトウェアを開発する機会が増加している。またクラウドやエッジのアプリケーションが公開するAPI(Application Program Interface)を利用してクラウド側やエッジ側で提供されるアプリケーションの処理を連携させるソフトウェアが注目されている。
 こうした複数の拠点間で処理を連携するソフトウェアの開発に際しては、拠点間の通信負荷の軽減やセキュリティの向上、ソフトウェアの開発負荷の軽減等を図ることが求められる。またソフトウェアの開発手法は、従来のデータの管理(SoR:System of Record)を中心とした開発手法から、顧客を中心とした開発手法(SoE:system of Engagement)にシフトしつつあり、ソフトウェアの開発に際しては、ドメイン側(エッジ側)の状況を熟知したシステムの発注側(ドメインエキスパート)の参加が重要になってきている。
 特許文献1では、個々のエッジデバイスが個別にクラウドとの間で通信する構成であるため、クラウド及び個々のエッジデバイスの夫々について個別にソフトウェアを構築する必要があり、システム全体の開発負担が大きく、とくにクラウドとの連携処理に習熟していないドメインエキスパートによる開発は困難である。またエッジデバイスごとにクラウドとの間で通信が発生するため、クラウドとエッジデバイスとの間の通信負荷やセキュリティの確保が問題となる。
 また特許文献2に記載された構成では、エッジ側のクラウド中継装置の機能を実現するソフトウェアを開発する必要があり、各拠点のクラウド中継装置について個別にソフトウェアを開発する必要があるため開発負担が大きく、とくにクラウド中継装置とクラウドとの間の連携処理を実現するソフトウェアの開発はドメインエキスパートには困難である。
 本発明はこうした背景に基づきなされたものであり、複数の拠点間で連携して行われる処理を実現するソフトウェアを効率よく開発することが可能な、情報処理システム、及び情報処理システムの制御方法を提供することを目的とする。
 上記目的を達成するための本発明の一つは、情報処理システムであって、複数の拠点の夫々に設けられ、アプリケーションの機能を実現するソフトウェアであるAPソフトを実行する情報処理装置である複数のAP実行装置を含み、前記AP実行装置は通信ネットワークを介して互いに通信可能に接続されており、前記AP実行装置の夫々は、同じ処理ブロックを同じ順序で実行する共通のAPソフトを記憶し、前記APソフトは、第1の前記拠点の第1の前記AP実行装置で実行された前記処理ブロックの処理を、第2の前記拠点の第2の前記AP実行装置に連携するための処理を実現する処理ブロックである転送処理ブロックを含み、前記第1のAP実行装置は、前記APソフトの処理ブロックの順次実行に際して第1の前記転送処理ブロックに到達すると、当該第1の転送処理ブロックの識別子を含む、連携開始を通知するメッセージである連携開始メッセージを前記第2のAP実行装置に送信し、前記第2のAP実行装置は、前記連携開始メッセージを受信すると、前記第1の転送処理ブロックに後続する処理ブロックから順次実行を開始する。
 その他、本願が開示する課題、及びその解決方法は、発明を実施するための形態の欄、及び図面により明らかにされる。
 本発明によれば、複数の拠点間で連携して行われる処理を実現するソフトウェアを効率よく開発することができる。
情報処理システムの概略的な構成を示す図である。 APソフトの生成から実行までの概略的な流れを説明する図である。 APソフトの具体例を示す図である。 情報処理装置の構成例である。 クライアント装置の主な機能を説明する図である。 AP管理装置の主な機能を説明する図である。 クラスタ管理装置の主な機能を説明する図である。 AP実行装置の主な機能を説明する図である。 APプロセスにより実現される主な機能を説明する図である。 APソフト登録シーケンスを説明する図である。 新たなAP実行装置をクラスタに追加する手順を説明するフローチャートである。 AP実行装置情報451の一例である。 AP実行装置情報受付シーケンスを説明する図である。 属性情報変更シーケンスを説明する図である。 属性情報の変更情報の一例である。 属性情報提供シーケンスを説明する図である。 APソフト実行準備シーケンスを説明する図である。 クラスタ内情報共有シーケンス(APプロセス起動時)を説明する図である。 クラスタ内情報共有シーケンス(APプロセス消滅時)を説明する図である。 APソフト実行シーケンスを説明する図である。 APソフトの構成を説明する図である。 転送開始メッセージの一例である。 連携開始メッセージの一例である。 連携終了メッセージの一例である。 第2実施形態のAP管理装置の主な機能を説明する図である。 第2実施形態のクラスタ管理装置の主な機能を説明する図である。 APソフト反映シーケンスを説明する図である。 第3実施形態の情報処理システムの概略的な構成を示す図である。 第3実施形態のAP実行装置の主な機能を説明する図である。 第3実施形態のクラスタ管理装置の主な機能を説明する図である。 クラスタ管理装置が管理するデータリストの一例である。 第3実施形態におけるAPソフトの記述例である。 DB接続情報の一例である。 第3実施形態のAPプロセスにより実現される主な機能を説明する図である。 DB接続確認シーケンスを説明する図である。 第3実施形態のAPソフト実行シーケンスを説明する図である。 第3実施形態の転送開始メッセージの一例である。
 以下、実施形態につき図面を参照しつつ説明する。以下の説明において、同一のまたは類似する構成に同一の符号を付して重複した説明を省略することがある。また「アプリケーションソフトウェア」のことを「AP」と表記することがある。また「データベースのことを」のことを「DB」と表記することがある。また以下の説明において、同種の構成を区別する必要がある場合、構成を総称する符号の後に括弧書きで識別子(数字、アルファベット等)を表記することがある。
[第1実施形態]
 図1に第1実施形態として説明する情報処理システム1の概略的な構成を示している。同図に示すように、情報処理システム1は、クライアント装置2、AP管理装置3、クラスタ管理装置4、及び複数の拠点8(1)~(N)の夫々に存在する一つ以上のAP実行装置10を含む。これらの装置は、いずれも情報処理装置(コンピュータ)を用いて構成され、通信ネットワーク5を介して互いに通信可能に接続されている。
 通信ネットワーク5は、イーサネット(登録商標)やTCP/IP等の所定の通信プロトコルに従った通信を実現する通信基盤(Network Infrastructure)であり、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネット、専用線、公衆通信網等である。
 クライアント装置2は、ソフトウェア開発技術者やドメインエキスパート等のユーザに、AP実行装置10で実行されるアプリケーションソフトウェア(以下、「APソフト」と称する。)の編集及び生成環境(以下、「ソフトウェア開発環境」と称する。)を提供する。尚、本実施形態では、一例として、クライアント装置2は、ビジュアルプログラミングツール(以下、「VPツール」と略記する。)を用いたソフトウェア開発環境を提供するものとするが、ソフトウェア開発環境の態様は必ずしも限定されない。
 VPツールを用いたソフトウェア開発においては、各種の処理が表現されるノードに、用途や環境、その他の状況に対応した情報をプロパティ値として設定し、ノード間を線で繋ぐことにより一連の処理をフローとして記述する。ノードは、一般的な手続き型プログラミング言語における関数またはメソッドに相当する。ユーザは、VPツールを用いることで、意図した処理を行うソフトウェアを直感的に開発することができる。VPツールの一例としてNode-REDがある。Node-REDで開発した一連のフローは、JavaScript(登録商標)をベースとしたJSON(JavaScript Object Notation)形式のコードで管理される。また他のVPツールの例として、Apache Nifi等がある。
 図1において、AP管理装置3は、クライアント装置2により生成されたAPソフトの管理(記憶)を行う。例えば、APソフトがNode-REDにより生成されたものである場合、AP管理装置3は、APソフトのJSON形式のコードを管理する。APソフトは、コンテナ(APソフトの実行モジュール、実行環境に関する情報、展開方法や操作方法に関する情報等をパッケージ化したもの)としてAP管理装置3に管理されるものであってもよい。コンテナの一例としてDocker(登録商標)によるものがある。AP管理装置3は、APソフトのバージョン管理を行う仕組み(GitHub(登録商標)、GitLab(登録商標)等)を備えていてもよい。
 拠点8(1)~(N)は、例えば、クラウド、センサデータの収集等が行われる現場(工場、各種作業現場、物流倉庫、オフィス、各種設備(エレベータ、自動改札機、各種ゲート、鉄道設備、道路設備、センサ利用の環境計測設備、移動体(自動車、列車、航空機、ドローン、農業機器等)、農場、データセンタ等である。
 クラスタ管理装置4は、AP実行装置10における処理の実行制御や監視、複数のAP実行装置10を利用したクラスタサービス(負荷分散、フェールオーバ等)の提供(管理、監視、制御)を行う。本明細書において、クラスタとは、連携してAPソフトの処理を実行することができるAP実行装置10の集合を指す。またクラスタ管理装置4は、一つ以上のクラスタを管理し、例えば、クラスタへのAP実行装置10の登録(参加)や登録解除に関する処理を行う。またクラスタ管理装置4は、AP実行装置10への情報(APソフト、後述するAP実行装置情報等)の配信やAP実行装置10間での情報(クラスタに参加中のAP実行装置10の情報(参加中のAP実行装置10の一覧や後述するAP実行装置情報等))の共有を行う。クラスタ管理装置4は、同一拠点8内のAP実行装置10間だけでなく、拠点8を超えたAP実行装置10間でのクラスタサービスを実現する。
 各拠点8(1)~(N)には一つ以上のAP実行装置10が存在する。各拠点8(1)~(N)に存在するAP実行装置10は、同じクラスタに属している同一又は異なる拠点8の他のAP実行装置10と連携してAPソフトを実行することができる。
 図2は、クライアント装置2により生成されたAPソフトがAP実行装置10に提供(デプロイ)され、各AP実行装置10がAPソフトを実行するまでの概略的な流れを示す図である。
 同図に示すように、クライアント装置2により生成されたAPソフト7は、AP管理装置3に登録されるとともに、クラスタ管理装置4に提供(送信)される(S21)。例示するAPソフト7は、順次実行される5つの処理ブロック(「処理A」、「処理B」、「転送処理」、「処理C」、及び「処理D」)を有する。各処理ブロックは、例えば、VPツールにおける1つの処理ブロック、また一般的な手続き型プログラミング言語における関数またはメソッド、に相当する。処理ブロックは、AP実行装置10に既に存在する他のソフトウェア(例えば、API(Application Program Interface)として提供されるソフトウェア)を呼び出して利用するものであってもよい。「処理A」及び「処理B」は、拠点8(1)で実行されることが予定された処理ブロックであり、「処理C」及び「処理D」は、拠点8(2)で実行されることが予定された処理ブロックである。
 続いて、クラスタ管理装置4は、共通の(同じ)構成を有するAPソフト7を、同じクラスタに属している複数のAP実行装置10にデプロイする(S22)。本例では、クラスタ管理装置4が、拠点8(1)のAP実行装置10(1)と拠点8(2)のAP実行装置10(2)を共通のクラスタに属するAP実行装置10として管理し、拠点8(1)のAP実行装置10(1)と拠点8(2)のAP実行装置10(2)に共通のAPソフト7をデプロイする。
 AP実行装置10にデプロイされたAPソフトの処理は、例えば、クラスタ管理装置4が、AP実行装置10(1)の一つにAPソフト7の実行開始命令を送信することにより開始される。本例では、拠点8(1)のAP実行装置10(1)にクラスタ管理装置4から実行開始命令が送信され、AP実行装置10(1)がAPソフトの実行を開始(「処理A」から実行開始)するものとする。
 「処理A」が終了すると、AP実行装置10(1)は、続いて「処理B」を実行し、続いて「転送処理」を実行する。「転送処理」は、他のAP実行装置10に処理を連携させる(引継ぐ)処理である。本例では、拠点8(2)のAP実行装置10(2)に処理が連携され、「処理B」の処理結果が、AP実行装置10(2)の「転送処理」に引継がれ、AP実行装置10(2)の「転送処理」は、後続する「処理C」から処理を開始する。
 図3にAPソフト7の具体例を示す。例示するAPソフト7は、エッジコンピューティングによる、機械学習モデル(以下、「学習モデル」と称する。)を利用した予兆診断の機能を実現するソフトウェアである。
 同図に示すように、クラウドである拠点8(1)のAP実行装置10(1)は、エッジである拠点8(2)のAP実行装置10(2)が予兆診断に際して利用する一つ以上の学習モデル30を管理(記憶)する。
 まずAP実行装置10(1)が、エッジである拠点8(2)のAP実行装置10(2)に提供する学習モデルを取得し(S31)、取得した学習モデルを拠点8(2)のAP実行装置10に転送する(S32)。S32の処理は、前述した「転送処理」に相当する。
 拠点8(2)のAP実行装置10(2)は、学習モデルを受信して記憶する(S33)。続いてAP実行装置10(2)はセンサデータを取得し(S34)、取得したセンサデータを、記憶している学習モデルに適用して予兆診断を行い(S35)、予兆診断の結果に応じた処理(アラートの出力等)を行う(S36)。
 一方、AP実行装置10(2)は、取得したセンサデータを学習データとした機械学習することにより学習モデルを更新し(S37)、更新済の学習モデルを拠点8(1)のAP実行装置10(1)に転送する(S38)。S33及びS38は、前述した「転送処理」に相当する。
 クラウドのAP実行装置10(1)は、学習モデルを受信し(S39)、管理(記憶)している学習モデル30を受信した学習モデルの内容に更新する(S40)。S39の処理は前述した「転送処理」に相当する。
 以上のように、連携して処理を実行する複数のAP実行装置10の夫々には、共通の(同じ)構成を有するAPソフト7が提供(デプロイ)される。従って、AP実行装置10毎に異なるAPソフト7を構築する必要がなく、APソフト7は、例えば、クラウドと拠点8間の処理に精通している特定の開発者が構築すればよい。そのため、各拠点8のドメインエキスパートが個別にAPソフト7を構築する必要がなく、複数の拠点8間で連携して処理を実行するソフトウェアを情報処理システム1全体として効率よく開発することができる。
 また複数のAP実行装置10のいずれにも共通の(同じ)APソフト7が提供(デプロイ)される。そのため、APソフト7の管理(保守)負担や運用負担が少なくて済む。またAP実行装置10間の通信は、原則として転送処理でのみ発生するので情報処理システム1全体として通信負荷を軽減することができ、また特定の処理ブロック(転送処理)に集中して監視すればよいのでセキュリティの向上を図ることができる。
 図4に、以上に説明したクライアント装置2、AP管理装置3、クラスタ管理装置4、及びAP実行装置10の実現に用いる情報処理装置100のハードウェアの一例を示す。同図に示すように、例示する情報処理装置100は、プロセッサ11、主記憶装置12、補助記憶装置13、入力装置14、出力装置15、及び通信装置16を備える。
 クライアント装置2、AP管理装置3、クラスタ管理装置4、及びAP実行装置10は、例えば、クラウドシステム(Cloud System)により提供されるクラウドサーバ(Cloud Server)のような仮想的な情報処理資源を用いて実現されるものであってもよい。また例えば、クライアント装置2、AP管理装置3、クラスタ管理装置4、及びAP実行装置10は、協調して動作する複数の情報処理装置100によって実現されるものであってもよい。また例えば、クライアント装置2、AP管理装置3、クラスタ管理装置4、及びAP実行装置10のうちの2つ以上を共通の情報処理装置100で実現するようにしてもよい。
 プロセッサ11は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)等を用いて構成されている。主記憶装置12は、プログラムやデータを記憶する装置であり、例えば、ROM(Read Only Memory)(SRAM(Static Random Access Memory)、NVRAM(Non Volatile RAM)、マスクROM(Mask Read Only Memory)、PROM(Programmable ROM)等)、RAM(Random Access Memory)(DRAM(Dynamic Random Access Memory)等)等である。補助記憶装置13は、ハードディスクドライブ(Hard Disk Drive)、フラッシュメモリ(Flash Memory)、SSD(Solid State Drive)、光学式記憶装置(CD(Compact Disc)、DVD(Digital Versatile Disc)等)等である。補助記憶装置13に格納されているプログラムやデータは、随時、主記憶装置12に読み込まれる。
 入力装置14は、ユーザから情報を受付けるユーザインタフェースであり、例えば、キーボード、マウス、カードリーダ、タッチパネル等である。出力装置15は、情報を出力(表示出力、音声出力、印字出力等)することによりユーザに情報を提供するユーザインタフェースであり、例えば、各種情報を可視化する表示装置(LCD(Liquid Crystal Display)、グラフィックカード等)や音声出力装置(スピーカ)、印字装置等である。通信装置16は、通信ネットワーク5を介して他の装置と通信する通信インタフェースであり、例えば、NIC(Network Interface Card)、無線通信モジュール、USB(Universal Serial Interface)モジュール、シリアル通信モジュール等である。通信装置16は、通信可能に接続する他の装置から情報を受信する入力装置として機能させることもできる。また通信装置16は、通信可能に接続する他の装置に情報を送信する出力装置として機能させることもできる。
 クライアント装置2、AP管理装置3、クラスタ管理装置4、及びAP実行装置10の機能は、プロセッサ11が、主記憶装置12に格納されているプログラムを読み出して実行することにより実現される。また上記のプログラムは、例えば、記録媒体に記録して配布することができる。
 クライアント装置2、AP管理装置3、クラスタ管理装置4、及びAP実行装置10は、上記の機能に加えて、例えば、オペレーティングシステム、ファイルシステム、デバイスドライバ、DBMS(DataBase Management System)等の他の機能をさらに備えていてもよい。クライアント装置2、AP管理装置3、クラスタ管理装置4、及びAP実行装置10は、各種の情報(データ)を、例えば、データベースのテーブルやファイルとして記憶する。
 図5にクライアント装置2が備える主な機能を示している。同図に示すように、クライアント装置2は、記憶部205、APソフト編集部210、APソフト転送部220、属性情報取得提示部230、及び処理要求送信部240の各機能を備える。尚、クライアント装置2は、ソフトウェア開発技術者やドメインエキスパート、クラスタの管理者等のユーザによって操作される。
 上記機能のうち、記憶部205は、APソフト7及び属性情報252を記憶する。
 APソフト編集部210は、VPツールを用いたAPソフト7の開発環境をユーザに提供し、APソフト7の生成を行う。
 APソフト転送部220は、APソフト編集部210により生成されたAPソフト7をAP管理装置3及びクラスタ管理装置4に転送する。
 属性情報取得提示部230は、後述する属性情報の取得要求をクラスタ管理装置4に送信し、クラスタ管理装置4から送られてくる属性情報を受信してユーザに提示する。属性情報については後述する。
 処理要求送信部240は、クラスタ管理装置4に、後述するAPプロセス800の生成指示やAPソフト7の実行開始指示等の処理要求をクラスタ管理装置4に送信する。
 図6にAP管理装置3が備える主な機能を示している。同図に示すように、AP管理装置3は、記憶部305、APソフト受信部310、及びAPソフト管理部520を備える。
 APソフト受信部310は、クライアント装置2から通信ネットワーク5を介して送られてくるAPソフト7を受信する。APソフト受信部310が受信したAPソフトは記憶部305が記憶する。APソフト管理部520は、APソフト7のバージョン管理を行う。
 図7にクラスタ管理装置4が備える主な機能を示している。同図に示すように、クラスタ管理装置4は、記憶部405、処理要求受付部410、及びクラスタ管理部420を備える。
 記憶部405は、AP実行装置情報451、クラスタ管理情報452、及びAPソフト7を記憶する。AP実行装置情報451は、AP実行装置10に関する各種の情報を含む。クラスタ管理情報452は、クラスタの構成やクラスタの稼動状況に関する情報を含む。クラスタ管理情報452の内容は、クラスタ管理部420及びプロセス間情報共有部423が管理する。
 処理要求受付部410は、クライアント装置2から処理の実行要求(属性情報の提供要求、APソフト7の実行開始要求、APソフト7やAP実行装置情報451の設定(登録/変更/削除)要求等)を受付ける。このようにクラスタ管理装置4は、ユーザからの要求を受付けるユーザインタフェース(ユーザとの接点)としても機能する。
 クラスタ管理部420は、AP実行装置情報管理部421、属性情報管理部422、及びプロセス間情報共有部423を含む。
 このうちAP実行装置情報管理部421は、クラスタを構成するAP実行装置10に関する情報のうち、AP実行装置10において生成されるプロセス(APソフト7を実行することにより生成されるプロセス。以下、「APプロセス」と称する。)に関する情報を管理する。上記情報は、例えば、APプロセスが動作するAP実行装置10のネットワークアドレス(IPアドレス等)やAPプロセスと通信するためのポート番号等である。
 属性情報管理部422は、APプロセスが前述した「転送処理」を行う際に転送先のAP実行装置10を特定するために必要な情報(以下、「属性情報」と称する。)を管理する。属性情報の詳細については後述する。
 プロセス間情報共有部423は、AP実行装置10において生成される各APプロセスの間での情報共有に関する処理を行う。プロセス間情報共有部423は、クラスタを構成するAP実行装置10の間や各APプロセスの間で共有すべき情報(APソフト7、後述するAP実行装置情報等)を管理(記憶)し、上記情報について、通信ネットワーク5を介してAP実行装置10及びAPプロセス間での高速(リアルタイム)な共有(配信、通知)を実現する。またプロセス間情報共有部423は、APプロセスから送られてくるクラスタへの参加登録要求を受信してクラスタ管理情報452を更新(上記APプロセスが所定のクラスタに属する内容に更新)する。またプロセス間情報共有部423は、AP実行装置10の後述するAPプロセス800から送られてくる生存通知(ハートビート)を監視することで、APプロセス800が正常に機能しているか否かをリアルタイムに把握する。
 プロセス間情報共有部423は、例えば、エッジ側の各拠点8(1)~(N)に存在する情報処理装置を通信可能に接続して構成される分散処理システムにより実現してもよい。そのようにすることで、クラスタ管理装置4のような特定の情報処理装置への負荷の集中を防ぐとともに、各拠点8(1)~(N)における処理の高速化を図ることができる。上記分散処理システムは、例えば、Apacheソフトウェア財団(Apache Software Foundation)が提供するZooKeeperを用いて実現することができる。
 図8にAP実行装置10が備える主な機能を示している。同図に示すように、AP実行装置10は、記憶部105、センサデータ取得部110、及びプロセス実行管理部120を備える。
 センサデータ取得部110は、当該AP実行装置10が存在する拠点8に設けられているセンサ装置等から送られてくるセンサデータを受信する。センサデータ取得部110が受信したセンサデータは、記憶部105がセンサデータ152として記憶する。尚、以下では、このようにAP実行装置10(APプロセス800)が処理対象とするデータがセンサデータである場合を例として説明するが、AP実行装置10(APプロセス800)が処理対象とするデータの種類は必ずしも限定されず、AP実行装置10(APプロセス800)が処理対象とするデータはセンサデータ以外のデータであってもよい。
 プロセス実行管理部120は、APプロセス800(Docker(登録商標)コンテナのプロセス等)の管理(APプロセスの生成や消滅、APプロセスの状態監視等)を行う。
 図9は、AP実行装置10が生成するAPプロセス800により実現される主な機能を概念的に示したものである。同図に示すように、APプロセス800は、APソフト受信部811、プロセス実行制御部812、及び生存通知送信部813を備える。これらの機能の一部は、AP実行装置10が備えるオペレーティングシステムやプロセス実行管理部120によって実現されるものであってもよい。
 APソフト受信部811は、クラスタ管理装置4のプロセス間情報共有部423からAPソフト7を受信する。記憶部105は、APソフト受信部811が受信したAPソフト7を記憶する。これによりAP実行装置10(APプロセス800)にAPソフト7がデプロイされる。
 プロセス実行制御部812は、APソフト7の実行環境を提供する。例えば、APソフト7がNode-REDにより生成されたものである場合、プロセス実行制御部812は、APソフト7を実行するためのNode-REDの実行環境を提供する。またプロセス実行制御部812は、APソフト7の実行制御を行う。
 プロセス実行制御部812は、APソフト処理実行部8121及びメッセージ転送部8122を有する。このうちAPソフト処理実行部8121は、APソフト7のフロー制御(処理ブロックの順次実行制御)を行う。メッセージ転送部8122は、前述した「転送処理」に際し、APプロセス800間での処理の連携(引継ぎ)に必要な情報(以下、「メッセージ」と称する。)を他のAPプロセス800との間で送信又は受信する。
 生存通知送信部813は、プロセス間情報共有部423と生存通知(ハートビート)を随時(例えば定期的に)送受信する。
<処理説明>
 続いて、情報処理システム1において行われる各種の処理について順に説明する。
 図10は、クライアント装置2からAP管理装置3及びクラスタ管理装置4にAPソフト7が登録(記憶)される際に行われる処理(以下、APソフト登録シーケンスS1000と称する。)を説明するシーケンス図である。
 まずクライアント装置2は、AP管理装置3にAPソフト7とAPソフト7の登録要求を送信する(S1011)。AP管理装置3は、クライアント装置2から上記登録要求を受信すると、上記登録要求とともに受信したAPソフト7を管理対象として登録(記憶)する(S1012)。
 またクライアント装置2は、クラスタ管理装置4にAPソフト7を送信する。クラスタ管理装置4の処理要求受付部410は、クライアント装置2から送られてきた上記APソフト7を受信する(S1013)。
 クラスタ管理装置4の処理要求受付部410は、受信したAPソフト7を自身のプロセス間情報共有部423に送信する(S1014)。プロセス間情報共有部423は、APソフト7を受信して管理対象として登録(記憶)する(S1015)。
 尚、別の処理順序として、処理要求受付部410が、APソフト7の受信後に、プロセス間情報共有部423とともにAP管理装置3にAPソフト7を送信し、AP管理装置3がAPソフト7を登録するようにしてもよい。この処理順序の場合、クライアント装置2がAPソフト登録要求を送信する回数を1回に抑えることができる。
 図11は、クラスタ管理装置4が管理するクラスタに新たなAP実行装置10を追加する手順を説明するフローチャートである。
 まずAP実行装置10の管理者等が、AP実行装置10を通信ネットワーク5に接続する(S1111)。
 続いて、クラスタ管理装置4の管理者等が、新たに通信ネットワーク5に接続された上記のAP実行装置10の情報をAP実行装置情報451として登録(記憶)する(S1112)。尚、新たに登録されたAP実行装置情報451は、プロセス間情報共有部423にも通知(共有)され、当該AP実行装置10が属するクラスタの各AP実行装置10に共有される。
 図12は、AP実行装置情報451の一例である。例示するAP実行装置情報451は、JSON形式のデータで記述されている。AP実行装置情報451は、通信関連情報、前述した属性情報、及び認証情報を含む。
 このうち通信関連情報は、同じクラスタに属するAP実行装置10(APプロセス800)間でAPソフトの処理を連携して行う際、各AP実行装置10(APプロセス800)間で通信を行うために必要な情報(例えば、AP実行装置10のIPアドレス、APプロセス800のポート番号等)である。同図では「0002」行目に記述されている情報が通信関連情報に相当する。
 また属性情報は、APプロセスが前述した「転送処理」を行う際に転送先のAP実行装置10を特定するために必要な情報であり、例えば、AP実行装置10が設置されている拠点8やAP実行装置10を管理する組織を特定する情報、AP実行装置10の名称、AP実行装置10の構成(プロセッサやメモリの情報)を示す情報等である。尚、AP実行装置10が仮想マシンを提供する場合、属性情報には仮想マシンに関する情報が含まれる。同図では「0003」~「0019」行に記述されている情報が属性情報に相当する。
 また認証情報は、AP実行装置10のAPプロセス800やAPプロセス800により実現される機能にアクセス(通信、利用等)する際に必要となる情報(ユーザID、パスワード)等である。同図では「0020」~「0021」行に記述されている情報が認証情報に相当する。
 図13は、図11のS1112において、クラスタ管理装置4がクライアント装置2からAP実行装置情報を受付けた際に行う処理(以下、「AP実行装置情報受付シーケンスS1300」と称する。)を説明するシーケンス図である。
 まず処理要求受付部410が、クライアント装置2からAP実行装置情報を受信し(S1311)、受信したAP実行装置情報をクラスタ管理部420に送信し、クラスタ管理部420(AP実行装置情報管理部421、プロセス間情報共有部423)がAP実行装置情報を受信する(S1312)。
 クラスタ管理部420のAP実行装置情報管理部421は、受信したAP実行装置情報をAP実行装置情報451として記憶する(S1313)。またクラスタ管理部420のプロセス間情報共有部423は、受信したAP実行装置情報451を管理対象として記憶する(S1314)。
 尚、別の処理順序として、AP実行装置情報が登録(S1313)された後に、AP実行装置情報管理部421がAP実行装置情報をプロセス間情報共有部423に送信し(S1312)、プロセス間情報共有部423がAP実行装置情報451を記憶(S1314)するようにしてもよい。
 図14は、クラスタ管理装置4が、クライアント装置2から属性情報の変更要求を受付けた際に行う処理(以下、「属性情報変更シーケンスS1400」と称する。)を説明するシーケンス図である。
 まず処理要求受付部410が、クライアント装置2から属性情報の変更情報を受信し(S1411)、受信した上記変更情報をクラスタ管理部420に送信し、クラスタ管理部420(AP実行装置情報管理部421、プロセス間情報共有部423)が上記変更情報を受信する(S1412)。尚、上記変更情報の受付けに際し、処理要求受付部410が、上記変更情報の内容を検査(変更情報に不正文字が含まれていないか、変更情報に含まれているAP実行装置10の識別子に重複はないか等を検査)し、属性情報が不正な内容でクラスタ管理装置4に記憶されないようにしてもよい。このように処理要求受付部410が変更情報の内容を検査することでトラブルの発生を未然に防ぐことができる。
 続いて、AP実行装置情報管理部421が、受信した上記変更情報をAP実行装置情報451に反映する(S1413)。またプロセス間情報共有部423が、送られてきた上記変更情報を、自身が記憶しているAP実行装置情報に反映する(S1414)。尚、AP実行装置情報451の内容と、プロセス間情報共有部423が記憶しているAP実行装置情報の内容は同期している必要があるため、S1413にて上記変更情報がAP実行装置情報451に反映されたことが確認された後に、プロセス間情報共有部423が記憶しているAP実行装置情報の内容に反映する(S1414)ことが好ましい。
 図15は、属性情報の変更情報の一例である。例示する変更情報はJSON形式のデータで記述されている。例示する変更情報は、通信関連情報(「0002」行目)及び属性情報(「0003」~「0019」行)を含むが、認証情報は含まない。尚、変更情報が通信関連情報を含むのは、当該変更情報の反映の対象となるAP実行装置情報を特定する必要があるためである。
 図16は、クラスタ管理装置4がクライアント装置2から属性情報の取得要求を受付けた際に行う処理(以下、「属性情報提供シーケンスS1600」と称する。)を説明するシーケンス図である。尚、ユーザは、例えば、APソフトの編集に際して当該処理により提供される属性情報を参照する。
 まず処理要求受付部410が、クライアント装置2から属性情報の取得要求を受付ける(S1611)。上記取得要求は、特定のAP実行装置10の属性情報を指定するものでもよいし、クラスタ管理装置4が管理(記憶)している複数の属性情報を指定するものでもよい。
 処理要求受付部410は、上記取得要求を受信すると、クラスタ管理部420の属性情報管理部422に、上記取得要求で指定された属性情報の提供要求を送信する(S1612)。
 属性情報管理部422は、上記提供要求を受信すると、当該提供要求で指定された属性情報を処理要求受付部410に送信する(S1613)。
 処理要求受付部410は、属性情報管理部422から属性情報を受信すると、受信した属性情報をクライアント装置2に送信する(S1614)。
 図17は、クラスタ管理装置4がクライアント装置2からAPプロセス800の生成指示を受信した際に行う処理(以下、「APソフト実行準備シーケンスS1700」と称する。)を説明するシーケンス図である。APソフト実行準備シーケンスS1700は、AP実行装置10がAPソフト7を実行するための準備処理である。
 まずクライアント装置2からクラスタ管理装置4の処理要求受付部410にAPプロセス800の生成指示が送信される(S1711)。
 処理要求受付部410は、上記生成指示を受信すると、APプロセスの生成指示を、当該生成指示の対象になっているAPプロセス800を連携して実行させる予定の複数のAP実行装置10(同じクラスタに属するAP実行装置10。本例では3つのAP実行装置10(1)~(3)が同じクラスタに属しているものとする。)に送信する(S1712)。
 AP実行装置10のプロセス実行管理部120は、上記生成指示を受信すると(S1713)、APプロセス800を生成する(S1713,S1714)。
 起動したAPプロセス800は、プロセス間情報共有部423にAPソフト7の取得要求を送信する(S1715)。プロセス間情報共有部423は、上記取得要求を受信すると、要求されたAPソフト7を要求元のAPプロセス800に送信し、APプロセス800が上記APソフト7を受信して記憶する(S1716)。これによりAP実行装置10(APプロセス800)にAPソフト7がデプロイされる。
 続いて、APプロセス800は、プロセス間情報共有部423にクラスタ(APソフト7を連携して処理するAP実行装置10が所属するクラスタ)への参加登録要求を送信する(S1717)。プロセス間情報共有部423は、上記参加登録要求を受信すると、クラスタ管理情報452を更新して当該APプロセス800を上記クラスタに登録する(S1718)。
 続いて、APプロセス800は、上記所定のクラスタの情報(当該クラスタに属しているAPプロセス800の情報(一覧情報等)、当該クラスタに属しているAPプロセス800が存在するAP実行装置10の属性情報等)の提供要求をプロセス間情報共有部423に送信する(S1719)。
 プロセス間情報共有部423は、上記提供要求を受信すると、該当の情報を記憶部405から取得し、取得した情報をAPプロセス800に送信する(S1720)。
 図18は、クラスタに新たなAPプロセス800が参加する際に行われる、当該クラスタに所属するAP実行装置10(本例では3つのAP実行装置10(1)~(3)が属しているものとする。)間での情報共有に関する処理(以下、「クラスタ内情報共有シーケンス(APプロセス起動時)S1800」と称する。)を説明するシーケンス図である。
 あるクラスタ属するAP実行装置10(1)において新たにAPプロセス800(1)が起動すると、前述したようにAPプロセス800(1)が当該クラスタへの参加登録要求を送信する(S1811)。
 プロセス間情報共有部423は、上記参加登録要求を受信すると、クラスタ管理情報452を更新して当該APプロセス800(1)を上記クラスタに登録する(S1812)。
 続いて、プロセス間情報共有部423は、当該クラスタに属する他のAP実行装置10(2),(3)に、APプロセス800(1)が存在するAP実行装置10(1)のAP実行装置情報(通信情報、属性情報、及び認証情報を含む)を送信し、他のAP実行装置10(2),(3)は、上記AP実行装置情報を受信して記憶する(S1813)。
 図19は、APプロセス800が消滅した際に行われる、当該クラスタに所属するAP実行装置10(本例では3つのAP実行装置10(1)~(3)が属しているものとする。)間での情報共有に関する処理(以下、「クラスタ内情報共有シーケンス(APプロセス消滅時)S1900」と称する。)を説明するシーケンス図である。尚、APプロセス800の消滅理由として、例えば、AP実行装置10や通信ネットワーク5の障害、ユーザの意図的な消滅操作の実施等がある。
 プロセス間情報共有部423は、APプロセス800から送られてくる生存通知をリアルタイムに監視している(S1911)。プロセス間情報共有部423は、あるAPプロセス800(1)の生存通知が途絶したことを検知すると(S1912)、クラスタ管理情報452を更新して当該APプロセス800(1)の現在当該APプロセス800(1)が属しているクラスタへの参加を無効化する(S1913)。
 続いて、プロセス間情報共有部423は、APプロセス800(1)が上記クラスタから離脱したことを当該クラスタに属する他のAPプロセス800(2),(3)に通知する(S1914)。他のAPプロセス800(2),(3)は、上記通知を受信すると、夫々が記憶している、当該クラスタへの参加状況に関する情報を更新し、APプロセス800(1)の当該クラスタへの参加を無効化する(S1915)。
 尚、以上に説明した、APソフト実行準備シーケンスS1700、クラスタ内情報共有シーケンス(APプロセス起動時)S1800、及びクラスタ内情報共有シーケンス(APプロセス消滅時)S1900により、同じクラスタに属するAP実行装置10(APプロセス800)間で、クラスタに関する情報の同期が常時維持される。
 図20は、AP実行装置10(APプロセス800)がAPソフト7を実行する際の処理の流れ(以下、「APソフト実行シーケンスS2000」と称する。)を説明するシーケンス図である。尚、本例では、同じクラスタに属する、拠点8(1)のAP実行装置10(1)のAPプロセス800(1)と拠点8(2)のAP実行装置10(2)のAPプロセス800(2)とが連携してAPソフト7を実行するものとする。またAPソフト7は、一例として図21に例示する構成であるものとする。
 図20に示すように、まずAPプロセス800(1)のAPソフト処理実行部8121(1)が、クラスタ管理装置4からの実行開始指示を受けてAPソフト7の実行を開始(「処理A」からの順次実行を開始)する(S2011,S2012)。
 「処理B」の実行を経て処理が「転送処理a」に到達すると(S2013)、APソフト処理実行部8121(1)は、APプロセス800(1)のメッセージ転送部8122(1)に、APプロセス800(2)に処理を連携(引継ぐ)するために必要な情報を含むメッセージ(以下、「転送開始メッセージ」と称する。)を送信する(S2014)。
 図22に転送開始メッセージの一例を示す。同図に示すように、転送開始メッセージは、宛先となるAP実行装置10を指定する情報(「0002」行目の記述。以下、「宛先装置指定情報」と称する。)、「転送処理a」の識別子(「0003」行目の記述。以下、「処理ブロックID」と称する。)、当該メッセージの種別(種類)を示す情報(「0004」行目の記述。以下、「転送種別」と称する。)、及び、連携先(引継ぎ先)の処理ブロックに渡す情報(「0005」~「0007」行目の記述。以下、「連携情報」と称する。)を含む。
 本例では、宛先装置指定情報として「edge_siteA」が記述されている。これは拠点8(2)に存在するAP実行装置10(2)を宛先として指定すべきことを指定している。また転送種別として「start」が指定されている。これは当該メッセージが転送開始メッセージであることを示している。連携情報は、例えば、APソフト7が図3に例示するものである場合は学習モデル30(パラメータ)である。
 図20に戻り、メッセージ転送部8122(1)は、転送開始メッセージを受信すると、当該転送開始メッセージの宛先装置指定情報とAP実行装置情報451及びクラスタ管理情報452とを対照し、宛先装置指定情報で指定される属性を有するAP実行装置10(2)を連携先のAP実行装置10(2)として選出する(S2015)。尚、上記選出に際し、メッセージ転送部8122(1)は、選出したAP実行装置10(2)(APプロセス800(2))の所在を特定する情報(例えば、AP実行装置10のネットワークアドレスと当該AP実行装置10(2)のAPプロセス800(2)のポート番号)を取得する。
 続いて、メッセージ転送部8122(1)は、選出したAP実行装置10(2)(APプロセス800(2))に、連携開始を通知するメッセージ(以下、「連携開始メッセージ」と称する。)を送信する(S2016)。
 図23に連携開始メッセージの一例を示す。同図に示すように、連携開始メッセージは、送信元のAP実行装置10(1)を示す情報(「0002」行目の記述。以下、「送信元情報」と称する。)、「転送処理a」の識別子(「0003」行目の記述。以下、「処理ブロックID」と称する。)、当該メッセージの種別(種類)を示す情報(「0004」行目の記述。以下、「転送種別」と称する。)、連携先(引継ぎ先)の処理ブロックに渡す情報(「0005」~「0007」行目の記述。以下、「連携情報」と称する。)を含む。尚、送信元情報は、連携先であるAPプロセス800(2)が再びAPプロセス800(1)に処理を引継ぐ際に必要になる情報である。
 図20に戻り、連携先のAP実行装置10(2)のAPプロセス800(2)のメッセージ転送部8122(2)は、連携開始メッセージを受信すると、受信した連携開始メッセージを当該APプロセス800(2)のAPソフト処理実行部8121(2)に通知(送信)する(S2017)。
 APソフト処理実行部8121(2)は、連携開始メッセージを受信すると、連携開始メッセージの「連携情報」の内容を入力として「処理C」から処理を開始する(S2018,S2019)。尚、APソフト処理実行部8121(2)は、連携開始メッセージの「処理ブロックID」に「転送処理a」の識別子が設定されていることから、「転送処理a」に後続する「処理C」から処理を開始する。
 「処理D」の実行を経て処理が「転送処理b」に到達すると(S2020)、続いてAPソフト処理実行部8121(2)は、APプロセス800(2)のメッセージ転送部8122(2)に、APプロセス800(1)への処理の連携(引継ぐ)を指示するメッセージ(以下、「転送終了メッセージ」と称する。)を通知(送信)する(S2021)。
 メッセージ転送部8122(2)は、転送終了メッセージを受信すると、AP実行装置10(1)のAPプロセス800(1)に、連携終了を通知するメッセージ(以下、「連携終了メッセージ」と称する。)を送信する(S2022)。
 図24に連携終了メッセージの一例を示す。同図に示すように、連携終了メッセージは、連携開始メッセージの送信元のAP実行装置10(1)を示す情報(「0002」行目の記述。以下、「送信元情報」と称する。)、「転送処理a」の識別子(「0003」行目の記述。以下、「処理ブロックID」と称する。)、当該メッセージの種別(種類)を示す情報(「0004」行目の記述。以下、「転送種別」と称する。)、連携先(引継ぎ先)の処理ブロックに渡す情報(「0005」~「0007」行目の記述。以下、「連携情報」と称する。)を含む。尚、連携終了メッセージにおける送信元情報は、連携開始メッセージの送信元情報と同じである。また連携情報には、例えば、APソフト7が図3に例示したものである場合、センサデータにより更新された学習モデル30(パラメータ)が設定される。
 図20に戻り、APプロセス800(1)のメッセージ転送部8122(1)は、連携終了メッセージを受信すると、受信した連携終了メッセージの内容をAPソフト処理実行部8121(1)に通知(送信)する(S2023)。APソフト処理実行部8121(1)は、上記通知を受けると、連携終了メッセージの内容に基づき次に実行すべき処理ブロックを特定(本例では「処理E」と特定)し、連携終了メッセージの「連携情報」を入力として、特定した処理ブロック(「処理E」)から処理を開始する。尚、APソフト処理実行部8121(1)は、連携終了メッセージの「処理ブロックID」に「転送処理a」の識別子が設定され、「転送種別」に連携終了を意味する「end」が設定されていることから、「転送処理b」に後続する「処理E」から処理を開始する。
 以上のように、「転送処理」を介して、各拠点8のAP実行装置10(APプロセス800)間で処理が連携され、各拠点8のAP実行装置10にデプロイされている同じ(共通の)APソフト7により処理が実行される。
 以上詳細に説明したように、本実施形態の情報処理システム1においては、連携して処理を実行する複数のAP実行装置10の夫々には、共通の(同じ)構成を有するAPソフト7が提供(デプロイ)されるので、AP実行装置10毎に異なるAPソフト7を構築する必要がなく、複数の拠点8間で連携して処理を実行するソフトウェアを情報処理システム1全体として効率よく開発することができる。またユーザが設定可能なAP実行装置情報451においてAPソフト7を実行させるAP実行装置10を指定することができるため、ユーザはAPソフト7の実行環境を容易かつ柔軟に選択することができる。
 また複数のAP実行装置10のいずれにも共通の(同じ)APソフト7が提供(デプロイ)されるので、APソフト7の管理(保守)負担や運用負担が少なくて済む。また情報処理システム1全体として通信負荷を軽減することができ、セキュリティの向上を図ることもできる。
[第2実施形態]
 図10に示したように、第1実施形態では、クライアント装置2からクラスタ管理装置4にAPソフトが直接提供されていたが、バージョン管理を含むAPソフトの管理をAP管理装置3で行い、クラスタ管理装置4がAP管理装置3からAPソフトの提供を受けるようにしてもよい。以下、第1実施形態と相違する部分を中心として説明する。
 図25は、第2実施形態のAP管理装置3の主な機能を説明する図である。同図に示すように、第2実施形態のAP管理装置3は、第1実施形態のAP管理装置3が備える機能に加えて、APソフト提供部530をさらに備える。APソフト提供部530は、クラスタ管理装置4からの要求に応じて、指定されたバージョンのAPソフト7をクライアント装置4に送信する。
 図26は、第2実施形態のクラスタ管理装置4の主な機能を説明する図である。同図に示すように、第2実施形態のクラスタ管理装置4は、第1実施形態のクラスタ管理装置4が備える機能に加えて、APソフト取得部430をさらに備える。APソフト取得部430は、AP管理装置3からの所定バージョンのAPソフト7の取得と、取得したAPソフト7のプロセス間情報共有部423への反映を行う。
 図27は、第2実施形態のクラスタ管理装置4の処理要求受付部410がクライアント装置2からAPソフトの反映要求を受信した際に行う処理の流れ(以下、「APソフト反映シーケンスS700」と称する。)を説明するシーケンス図である。
 第1実施形態と同様、クライアント装置2からAP管理装置3にAPソフト7が送信され(S2711)、AP管理装置3は送られてきたAPソフト7を受信して管理対象として登録(記憶)する(S2712)。
 クラスタ管理装置4の処理要求受付部410は、クライアント装置2からAPソフトの反映要求を受信すると(S2713)、受信した反映要求をAPソフト取得部430に通知する(S2714)。
 APソフト取得部430は、上記反映要求を受信するとAPソフトの取得要求をAP管理装置3に送信して(S2715)AP管理装置3からAPソフト7を取得し(S2716)、取得したAPソフト7をプロセス間情報共有部423に送信する(S2717)。
 プロセス間情報共有部423は、APソフト7を受信し、受信したAPソフト7を管理対象として登録(記憶)する(S1018)。
 このようにバージョン管理を含むAPソフトの管理をAP管理装置3が行う構成である場合には、クラスタ管理装置4がAP管理装置3からAPソフトの提供を受けるようにしてもよい。
[第3実施形態]
 図21及び図22に示したように、第1実施形態の情報処理システム1では、APソフト7の開発者がAPソフト7の「転送処理a」において宛先装置指定情報を設定することで、当該処理ブロック以降の処理ブロックが、宛先装置指定情報で指定された拠点8で実行される。対して、以下に説明する第3実施形態の情報処理システム1では、APソフト7の開発者が、APソフト7の転送処理ブロックにおいて、当該処理以降の処理に必要なデータ(データのメタ情報)を設定することで、自動的にAPソフト7の転送処理ブロック以降の処理ブロックを実行可能な(当該データを利用可能な)拠点8のAP実行装置10が選択され、選択されたAP実行装置10で転送処理ブロック以降の処理ブロックの処理が実行される。この第3実施形態の情報処理システム1によれば、APソフト7の開発者は、処理ブロックの実行に際して必要なデータがいずれの拠点8に存在するかを把握している必要がなく、当該データを必要とする処理に当該データを指定する情報(以下、「データ指定情報」と称する。)を付加するだけで、当該処理ブロックが当該データを利用可能な拠点8のAP実行装置10で実行されるようにすることができる。第3実施形態の情報処理システム1の基本的な構成は、第1実施形態の情報処理システム1と同様である。以下、第1実施形態と相違する部分を中心として説明する。
 図28は、第3実施形態の情報処理システム1の概略的な構成を示す図である。同図に示すように、第3実施形態の情報処理システム1は、第1実施形態の情報処理システム1が備える構成に加えて、各拠点8の夫々に、各拠点8において収集されたデータを管理するデータベース2801を備える。データベース2801は、例えば、DBMSにより実現されるリレーショナルデータベースである。各拠点8のデータベース2801(1)~(N)は、各拠点8に存在するAP実行装置10(1)~(N)と通信可能に接続されている。
 図29に、第3実施形態のAP実行装置10が備える主な機能を示している。第3実施形態のAP実行装置10は、第1実施形態のAP実行装置10が備える機能に加えて、データ情報管理部130を備える。また第3実施形態のAP実行装置10の記憶部105は、第1実施形態の記憶部105が記憶するデータに加えて、データリスト153とDB接続情報154を記憶する。各拠点8のデータリスト153は、夫々の拠点8のデータベース2801に含まれているデータを指定する情報(前述したデータ指定情報)のリストを含む。DB接続情報154は、データベース2801のデータにアクセスする際に必要となる情報(以下、「DB接続情報」と称する。)を含む。DB接続情報の例として、データベース2801のネットワークアドレス、データベース2801の種類を特定する情報、データベース2801にアクセスするための認証情報等がある。
 データ情報管理部130は、データリスト153やDB接続情報154を編集(登録、変更、削除等)するためのユーザインタフェースを提供する。各拠点8のユーザ(データ管理者等)は、データ情報管理部130を介してデータリスト153やDB接続情報154を編集することができる。DB接続情報154は、情報の外部流出防止等の観点から各AP実行装置10において個別に管理され、クラスタ管理装置4には原則として送信されない。データリスト153は、通信ネットワーク5を介してクラスタ管理装置4にも送信される。
 図30に、第3実施形態のクラスタ管理装置4が備える主な機能を示している。第3実施形態のクラスタ管理装置4の記憶部405は、第1実施形態のクラスタ管理装置4の記憶部405が記憶するデータに加えて、データリスト453を記憶する。データリスト453は、各拠点8のAP実行装置10から送られてくるデータリスト153を統合したデータであり、プロセス間情報共有部423によって管理される。尚、後述するように、データリスト453に登録されている各データにAP実行装置10が実際にアクセス可能か否かはAPソフト7のAP実行装置10へのデプロイ時等に確認(検証)される。APソフト7の開発者は、クライアント装置2の処理要求受付部410を介してデータリスト453を参照することができる。これによりAPソフト7の開発者は、APソフト7の開発に際し、データリスト453を確認しつつ、APソフト7にデータ指定情報を記述することができる。
 図31にデータリスト453の一例を示す。例示するデータリスト453は、AP実行装置ID4531、データ名4532、及び説明4533の各項目(カラム)を有する一つ以上のレコードを含む。AP実行装置ID4531には、AP実行装置10の識別子(以下、「AP実行装置ID」と称する。)が設定される。データ名4532には、データ指定情報(本例ではデータ名)が設定される。説明4533には、当該データを説明する情報(APソフト7の開発者等の人が参照する情報)が設定される。尚、データリスト453に、さらに各データのフォーマットやサンプルデータが設定される項目(カラム)を設けてもよい。また例示するデータリスト453は、リレーショナルデータベース形式のフォーマットで記述したものであるが、データリスト453のフォーマットは必ずしも限定されない。
 図32に第3実施形態におけるAPソフト7の記述例を示す。例示するAPソフト7はPython言語の構文に従って記述されている。尚、APソフト7を記述する言語は必ずしも限定されない。第1実施形態の図21に示したAPソフト7の一つの処理ブロックは、図32に例示したAPソフト7に記述されている一つの関数に対応している。図32に例示したAPソフト7には5つの関数が記述されている。このうちmain関数(3223~3226行)が最初に実行され、他の4つの関数はmain関数から順次呼び出されて実行される。同図に示すように、本例では、anomaly_factor関数(3206~3212行)にのみ、「@」記号を用いて記述されるデコレータが付加されている。このデコレータは、Anomaly_factor関数が、「pic.line-a.jp」というデータ名(データ指定情報)に対応するデータが管理されている拠点8において実行されることを示している。尚、3206行目には、同時に複数のデータ名(データ指定情報)を記述することができる。
 3209行目の「db_connector.get(data[0])」は、データベース2801のデータにアクセスする関数である。当該関数が実行されることでデータベース2801からデータの値が取得される。3211行目では、3209行目で取得した値を用いた処理が行われる。尚、上記関数は、データベース2801の種類(以下、「DB種別」と称する。)に依存しない汎用的な記述形式で記述される。これによりAPソフト7の開発者は、DB種別を意識することなく効率よくAPソフト7を開発することができる。
 図33にDB接続情報154の一例を示す。DB接続情報154には、AP実行装置10がデータベース2801にアクセスするために必要な情報(DB接続情報)が管理される。例示するDB接続情報154は、データ名1541、DB種別1542、接続先1543、認証情報1544等の各項目を含む一つ以上のレコードで構成される。
 データ名1541には、前述したデータ指定情報が設定される。DB種別1542には、当該データが格納されているデータベース2801のDB種別を示す情報が設定される。接続先1543には、データベース2801にアクセスする際に用いられる接続情報(IPアドレス、ポート番号等)が設定される。認証情報1544には、データベース2801にアクセスする際に必要となる認証情報(ユーザID、パスワード等)が設定される。
 尚、APソフト7の開発者は、APソフト7の開発に際し、APソフト7に図32の3209行目に記述されているデータ取得関数(db_connector.get)のような汎用的な関数を記述するだけでよく、AP実行装置10からデータベース2801へのアクセスは、AP実行装置10が、拠点8側で管理されているDB接続情報154を参照することにより行われる。このため、APソフト7の開発者は、APソフト7を効率よく開発することができる。尚、APソフト7にデータベース2801に管理されているデータの編集(登録、更新、削除等)を行う処理を記述する場合についても、例示したデータ取得関数と同様に汎用的な関数を記述できるようにすることで、APソフト7の開発効率の向上を図ることができる。
 図34に、第3実施形態のAPプロセス800により実現される主な機能を示している。同図に示すように、第3実施形態のAPプロセス800は、第1実施形態のAPプロセス800が備える機能に加えて、DB接続確認実行部8123をさらに備える。DB接続確認実行部8123は、APソフト7がAP実行装置10にデプロイされた際等の適宜なタイミングで、自身を含むAPプロセス800が存在する拠点8に、APソフト7に記述されているデータ指定情報に対応するデータが利用可能か否かを確認する処理(以下、DB接続確認シーケンスS3500と称する。)を行う。
 図35は、DB接続確認シーケンスS3500の一例を説明するシーケンス図である。同図に示すように、図17のAPソフト実行準備シーケンスS1700にてAPプロセス800にAPソフト7がデプロイ投入されると(S1716)、DB接続確認実行部8123は、記憶部105に格納されているAPソフト7を参照し(S3501~S3502)、APソフト7に記述されているデータ指定情報を読み取る(S3503)。またDB接続確認実行部8123は、読み取ったデータ指定情報に対応するデータのDB接続情報154を記憶部105から取得する(S3504~S3505)。
 続いて、DB接続確認実行部8123は、取得したDB接続情報154を用いてデータベース2801にアクセスし、データベース2801にアクセス可能か否かを確認(例えば、pingコマンドがデータベース2801に到達するか否かを確認)する(S3506~3507)。
 続いて、DB接続確認実行部8123は、アクセス先のデータベース2801のデータ指定情報に対応するデータを利用可能か否かを確認(実際に当該データの値を取得できるか否か)する(S3508~3509)。データ指定情報に対応するデータが利用可能である場合、DB接続確認実行部8123は、自身を含むAPプロセス800において当該データが利用可能であること(即ち、当該データを利用する処理(例えば、図32の3206~3212行に記述されている処理)を実行可能であること。)を、プロセス間情報共有部423に通知する(S3510)。一方、データ指定情報に対応するデータが利用可能でない場合、DB接続確認実行部8123は、自身を含むAPプロセス800において当該データを利用できないこと(即ち、当該データを利用する処理を実行できないこと。)をプロセス間情報共有部423に通知する(S3510)。
 プロセス間情報共有部423は、以上の通知を受信することによりデータリスト453を更新し、更新後のデータリスト453の内容を各AP実行装置10やクラスタ管理装置4に提供する。これにより、APプロセス800のメッセージ転送部8122は、自身を含むAPプロセス800以外の他のAPプロセス800(AP実行装置10)のうち、いずれの拠点8のAPプロセス800(AP実行装置10)がいずれのデータを利用可能であるかを知ることができる。
 ところで、以上では、APソフト7がデプロイされた(S1716)ことを契機としてAP実行装置10がデータベース2801のデータを実際に利用可能か否かを確認する場合を例示したが、上記確認は、例えば、データベース2801の内容が更新(データの登録、編集、削除)された場合やデータベース2801が存在しなくなった場合に行ってもよい。
 図36は、第3実施形態のAPソフト実行シーケンスS2000を説明するシーケンス図である。第3実施形態のAPソフト実行シーケンスS2000は、第1実施形態のAPソフト実行シーケンスS2000と、S2014で送信される転送開始メッセージの内容及びS2015の処理の内容が異なる。
 同図に示すように、APソフト7に記述されている処理の実行が開始され、拠点8のデータを用いる処理(例えば、図32の3206~3212行目の処理)に到達すると(S3601)、第1実施形態と同様、APソフト処理実行部8121(1)からメッセージ転送部8122(1)に転送開始メッセージが送信される(S3602)。但し、第1実施形態と異なり、送信される転送開始メッセージには、転送先の拠点3の属性情報ではなく、以降の処理ブロックの実行に際して利用されるデータを指定するデータ指定情報(データ名等)が記述されている。
 続いて、メッセージ転送部8122(1)は、データ指定情報に対応するデータを利用可能なAP実行装置10を選出する(S3603)。この処理は、前述の通り、メッセージ転送部8122(1)が、プロセス間情報共有部423から提供されるデータリスト453を参照することにより行われる。その後のAPソフト実行シーケンスS2000の各処理は第1実施形態と同様である。
 図37は、図26のS3602で送信される転送開始メッセージの一例である。第1実施形態と異なり、例示する転送開始メッセージには、拠点8の属性情報を示す情報ではなく、以降の処理ブロックで利用されるデータのデータ指定情報(データ名)が記述されている(3702~3704行)。尚、複数のデータを用いる処理にも対応できるように、転送開始メッセージには、リスト形式で複数のデータ指定情報を記述することも可能である。
 以上に説明したように、第3実施形態の情報処理システム1によれば、連携に際してAPソフト7に記述されているデータ指定情報(データ名等)を利用可能なAP実行装置10が自動的に選択され、選択されたAP実行装置10に連携開始メッセージが送信される。そのため、開発者はいずれの拠点8のAP実行装置10が連携可能か否かを把握しておく必要がなく、効率よくAPソフト7を開発することができ、とくに多数の拠点8が広範囲に存在する場合には多大な効果が期待される。またAPソフト7の開発者は、各拠点8におけるDB接続情報を管理する必要がないため拠点8毎の環境を常時把握している必要がなく、APソフト7の開発や保守のためのAPソフト7の開発者の情報の管理負荷が軽減される。
 以上、本発明の一実施形態について説明したが、本発明は上記の実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上記の実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また上記実施形態の構成の一部について、他の構成の追加や削除、置換をすることが可能である。
 また上記の各構成、機能部、処理部、処理手段等は、それらの一部または全部を、例えば、集積回路で設計する等によりハードウェアで実現してもよい。また上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、SSD(Solid State Drive)等の記録装置、ICカード、SDカード、DVD等の記録媒体に置くことができる。
 また上記の各図において、制御線や情報線は説明上必要と考えられるものを示しており、必ずしも実装上の全ての制御線や情報線を示しているとは限らない。例えば、実際には殆ど全ての構成が相互に接続されていると考えてもよい。
 また以上に説明した各情報処理装置の各種機能部、各種処理部、各種データベースの配置形態は一例に過ぎない。各種機能部、各種処理部、各種データベースの配置形態は、これらの装置が備えるハードウェアやソフトウェアの性能、処理効率、通信効率等の観点から最適な配置形態に変更し得る。
 また前述した各種のデータを格納するデータベースの構成(スキーマ(Schema)等)は、リソースの効率的な利用、処理効率向上、アクセス効率向上、検索効率向上等の観点から柔軟に変更し得る。
1 情報処理システム、2 クライアント装置、205 記憶部、210 APソフト編集部、220 APソフト転送部、230 属性情報取得提示部、240 処理要求送信部、252 属性情報、3 AP管理装置、305 記憶部、310 APソフト受信部、320 APソフト管理部、4 クラスタ管理装置、405 記憶部、410 処理要求受付部、420 クラスタ管理部、421 AP実行装置情報管理部、422 属性情報管理部、423 プロセス間情報共有部、451 AP実行装置情報、452 クラスタ管理情報、5 通信ネットワーク、7 APソフト、8 拠点、10 AP実行装置、105 記憶部、110 センサデータ取得部、120 プロセス実行管理部、152 センサデータ、800 プロセス、811 APソフト受信部、812 プロセス実行制御部、8121 APソフト処理実行部、8122 メッセージ転送部、813 生存通知送信部、153 データリスト、154 DB接続情報、8123 DB接続確認実行部

Claims (20)

  1.  複数の拠点の夫々に設けられ、アプリケーションの機能を実現するソフトウェアであるAPソフトを実行する情報処理装置である複数のAP実行装置を含み、
     前記AP実行装置は通信ネットワークを介して互いに通信可能に接続されており、
     前記AP実行装置の夫々は、同じ処理ブロックを同じ順序で実行する共通のAPソフトを記憶し、
     前記APソフトは、第1の前記拠点の第1の前記AP実行装置で実行された前記処理ブロックの処理を、第2の前記拠点の第2の前記AP実行装置に連携するための処理を実現する処理ブロックである転送処理ブロックを含み、
     前記第1のAP実行装置は、前記APソフトの処理ブロックの順次実行に際して第1の前記転送処理ブロックに到達すると、連携開始を通知するメッセージである連携開始メッセージを前記第2のAP実行装置に送信し、
     前記第2のAP実行装置は、前記連携開始メッセージを受信すると、前記第1の転送処理ブロックに後続する処理ブロックから順次実行を開始する、
     情報処理システム。
  2.  請求項1に記載の情報処理システムであって、
     前記連携開始メッセージは、前記第1の転送処理ブロックの直前の処理ブロックまでの実行結果を含み、
     前記第2のAP実行装置は、前記実行結果を前記第1の転送処理ブロックに後続する処理ブロックに入力する、
     情報処理システム。
  3.  請求項1に記載の情報処理システムであって、
     前記第1のAP実行装置は、前記APソフトの処理ブロックの順次実行に際して第1の前記転送処理ブロックに到達すると、当該第1の転送処理ブロックの識別子を含む、連携開始を通知するメッセージである連携開始メッセージを前記第2のAP実行装置に送信し、
     前記第2のAP実行装置は、前記第1の転送処理ブロックに後続する処理ブロックの順次実行に際して第2の前記転送処理ブロックに到達すると、前記第1の転送処理ブロックの識別子を含む、連携終了を通知するメッセージである連携終了メッセージを前記第1のAP実行装置に送信し、
     前記第1のAP実行装置は、前記連携開始メッセージを受信すると、前記第2の転送処理ブロックに後続する処理ブロックから順次実行を開始する、
     情報処理システム。
  4.  請求項3に記載の情報処理システムであって、
     前記連携終了メッセージは、前記第2の転送処理ブロックの直前の処理ブロックまでの実行結果を含み、
     前記第1のAP実行装置は、前記実行結果を前記第2の転送処理ブロックに後続する処理ブロックに入力する、
     情報処理システム。
  5.  請求項1に記載の情報処理システムであって、
     複数の前記AP実行装置は、同じ前記APソフトを連携して実行するクラスタを構成し、
     前記複数のAP実行装置の夫々と通信可能に接続する情報処理装置であるクラスタ管理装置を備え、
     前記クラスタ管理装置は、前記クラスタの夫々に属する前記AP実行装置を示す情報であるAP実行装置情報を記憶し、前記複数のAP実行装置の夫々に前記AP実行装置情報を送信する、
     情報処理システム。
  6.  請求項5に記載の情報処理システムであって、
     前記AP実行装置情報は、前記AP実行装置の前記通信ネットワークにおける所在を示す情報である通信情報と、前記APソフトに記述される、前記AP実行装置の所在を特定する情報である属性情報と、を対応づけた情報を含む、
     情報処理システム。
  7.  請求項6に記載の情報処理システムであって、
     前記APソフトは、連携先となる前記第2のAP実行装置を指定する前記属性情報の記述を含み、前記AP実行装置は、前記記述と前記AP実行装置情報とを対照することにより連携先の前記AP実行装置の前記通信ネットワークにおける所在を特定する、
     情報処理システム。
  8.  請求項6に記載の情報処理システムであって、
     前記クラスタ管理装置は、ユーザが操作する情報処理装置であるクライアント装置と通信可能に接続し、前記クライアント装置を介してユーザから前記AP実行装置情報の設定を受付ける、
     情報処理システム。
  9.  請求項8に記載の情報処理システムであって、
     前記クラスタ管理装置は、ユーザから受付けた前記AP実行装置情報の内容の誤りを検査する、
     情報処理システム。
  10.  請求項8に記載の情報処理システムであって、
     前記クラスタ管理装置は、記憶している前記AP実行装置情報を前記クライアント装置に送信する、
     情報処理システム。
  11.  請求項6に記載の情報処理システムであって、
     前記クラスタ管理装置は、新たな前記AP実行装置の前記クラスタへの参加登録を受付け、受付けた前記AP実行装置の前記AP実行装置情報を前記クラスタに属する他の前記AP実行装置に送信する、
     情報処理システム。
  12.  請求項11に記載の情報処理システムであって、
     前記クラスタ管理装置は、ある前記クラスタに属する前記AP実行装置において生成される前記APソフトを実行するプロセスであるAPプロセスの生存確認を前記通信ネットワークを介して行い、一の前記AP実行装置の前記APプロセスの生存が確認できなくなると、当該AP実行装置を当該クラスタから離脱させるとともに、当該AP実行装置が前記クラスタから離脱した旨を他の前記AP実行装置に通知する、
     情報処理システム。
  13.  請求項6に記載の情報処理システムであって、
     前記クラスタ管理装置は、
     ユーザが操作する情報処理装置であるクライアント装置と通信可能に接続し、
     前記クライアント装置から前記APソフトを受信して記憶し、
     前記AP実行装置から送られてくる前記APソフトの取得要求に応じて前記APソフトを前記AP実行装置に送信する、
     情報処理システム。
  14.  請求項13に記載の情報処理システムであって、
     前記クラスタ管理装置は、前記APソフトのバージョン管理を行う情報処理装置であるAP管理装置と通信可能に接続し、前記APソフトを前記AP管理装置から取得して記憶する、
     情報処理システム。
  15.  請求項1に記載の情報処理システムであって、
     前記複数のAP実行装置の夫々において利用可能なデータを示す情報であるデータリストを管理し、
     前記第1のAP実行装置は、
     前記APソフトの処理ブロックの順次実行に際して第1の前記転送処理ブロックに到達すると、前記データリストに基づき、当該第1の転送処理ブロックに記述されている、前記第2の拠点におけるデータを指定する情報であるデータ指定情報に対応するデータを利用可能な前記AP実行装置を前記第2のAP実行装置として選出し、
     連携開始を通知するメッセージである連携開始メッセージを、選出した前記第2のAP実行装置に送信し、
     前記第2のAP実行装置は、前記連携開始メッセージを受信すると、前記第1の転送処理ブロックに後続する処理ブロックから順次実行を開始する、
     情報処理システム。
  16.  請求項15に記載の情報処理システムであって、
     前記AP実行装置の夫々は、前記APソフトの実行時に利用するデータを管理するデータベースと通信可能に接続し、
     前記AP実行装置が、前記データベースにアクセスすることにより、自身にデプロイされた前記APソフトに記述されている前記データ指定情報に対応するデータを取得可能か否かを検証し、
     取得可能な場合に前記データを前記データリストに管理する、
     情報処理システム。
  17.  請求項16に記載の情報処理システムであって、
     前記AP実行装置の夫々と通信可能に接続され、前記データリストを分散処理方式で更新管理する複数の情報処理装置を含む、
     情報処理システム。
  18.  請求項16に記載の情報処理システムであって、
     前記AP実行装置の夫々は、夫々が前記データベースに接続するために必要な情報であるDB接続情報を個別に管理する、
     情報処理システム。
  19.  複数の拠点の夫々に設けられ、アプリケーションの機能を実現するソフトウェアであるAPソフトを実行する情報処理装置である複数のAP実行装置を含み、前記AP実行装置は通信ネットワークを介して互いに通信可能に接続されて構成される情報処理システムの制御方法であって、
     前記AP実行装置の夫々が、同じ処理ブロックを同じ順序で実行する共通のAPソフトを記憶し、
     前記APソフトは、第1の前記拠点の第1の前記AP実行装置で実行された前記処理ブロックの処理を、第2の前記拠点の第2の前記AP実行装置に連携するための処理を実現する処理ブロックである転送処理ブロックを含み、
     前記第1のAP実行装置は、前記APソフトの処理ブロックの順次実行に際して第1の前記転送処理ブロックに到達すると、連携開始を通知するメッセージである連携開始メッセージを前記第2のAP実行装置に送信し、
     前記第2のAP実行装置は、前記連携開始メッセージを受信すると、前記第1の転送処理ブロックに後続する処理ブロックから順次実行を開始する、
     情報処理システムの制御方法。
  20.  請求項19に記載の情報処理システムの制御方法であって、
     前記複数のAP実行装置の夫々において利用可能なデータを示す情報であるデータリストを管理し、
     前記第1のAP実行装置が、
     前記APソフトの処理ブロックの順次実行に際して第1の前記転送処理ブロックに到達すると、前記データリストに基づき、当該第1の転送処理ブロックに記述されている、前記第2の拠点におけるデータを指定する情報であるデータ指定情報に対応するデータを利用可能な前記AP実行装置を前記第2のAP実行装置として選出し、
     連携開始を通知するメッセージである連携開始メッセージを、選出した前記第2のAP実行装置に送信し、
     前記第2のAP実行装置が、前記連携開始メッセージを受信すると、前記第1の転送処理ブロックに後続する処理ブロックから順次実行を開始する、
     情報処理システムの制御方法。
PCT/JP2020/007813 2019-05-28 2020-02-26 情報処理システム、及び情報処理システムの制御方法 WO2020240954A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US17/275,535 US11539788B2 (en) 2019-05-28 2020-02-26 Information processing system and method of controlling information processing system
CN202080005057.4A CN112673353B (zh) 2019-05-28 2020-02-26 信息处理系统及信息处理系统的控制方法
KR1020217007071A KR102523389B1 (ko) 2019-05-28 2020-02-26 정보 처리 시스템, 및 정보 처리 시스템의 제어 방법
BR112021004630-5A BR112021004630A2 (pt) 2019-05-28 2020-02-26 sistema de processamento de informação, e, método de controle de um sistema de processamento de informação
PH12021550547A PH12021550547A1 (en) 2019-05-28 2021-03-11 Information processing system and method of controlling information processing system

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2019-099564 2019-05-28
JP2019099564 2019-05-28
JP2019-165080 2019-09-11
JP2019165080A JP7189104B2 (ja) 2019-05-28 2019-09-11 情報処理システム、及び情報処理システムの制御方法

Publications (1)

Publication Number Publication Date
WO2020240954A1 true WO2020240954A1 (ja) 2020-12-03

Family

ID=73553296

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/007813 WO2020240954A1 (ja) 2019-05-28 2020-02-26 情報処理システム、及び情報処理システムの制御方法

Country Status (3)

Country Link
US (1) US11539788B2 (ja)
PH (1) PH12021550547A1 (ja)
WO (1) WO2020240954A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014109800A (ja) * 2012-11-30 2014-06-12 Fujitsu Ltd 分散処理方法、情報処理装置、及びプログラム
JP2014167685A (ja) * 2013-02-28 2014-09-11 Kddi Corp データ処理システム、データ処理方法およびプログラム
JP2014241119A (ja) * 2013-06-12 2014-12-25 株式会社ソニー・コンピュータエンタテインメント 情報処理装置、情報処理システム、および情報処理方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007304687A (ja) * 2006-05-09 2007-11-22 Hitachi Ltd クラスタ構成とその制御手段
JP5239752B2 (ja) * 2008-10-31 2013-07-17 富士通株式会社 同期メッセージ発行システム、同期メッセージ発行方法および同期メッセージ発行プログラム
US9203900B2 (en) * 2011-09-23 2015-12-01 Netapp, Inc. Storage area network attached clustered storage system
US9098344B2 (en) 2011-12-27 2015-08-04 Microsoft Technology Licensing, Llc Cloud-edge topologies
US9450999B2 (en) * 2012-09-21 2016-09-20 Nyse Group, Inc. High performance data streaming
JP6303300B2 (ja) * 2013-06-25 2018-04-04 富士通株式会社 制御依頼方法、情報処理装置、システム、およびプログラム
US9639544B1 (en) * 2013-10-28 2017-05-02 Pivotal Software, Inc. Table data persistence
US9354922B2 (en) * 2014-04-02 2016-05-31 International Business Machines Corporation Metadata-driven workflows and integration with genomic data processing systems and techniques
US10148498B1 (en) * 2016-03-30 2018-12-04 EMC IP Holding Company LLC Provisioning storage in a multi-site cloud computing environment
US11310113B2 (en) * 2016-05-27 2022-04-19 Intel Corporation Methods, systems and apparatus to improve cluster efficiency
US10572306B2 (en) * 2016-09-14 2020-02-25 Cloudera, Inc. Utilization-aware resource scheduling in a distributed computing cluster
JP6901290B2 (ja) 2016-12-01 2021-07-14 エヌ・ティ・ティ・コミュニケーションズ株式会社 クラウド中継装置、クラウド接続処理方法、及びプログラム
US10795699B1 (en) * 2019-03-28 2020-10-06 Cohesity, Inc. Central storage management interface supporting native user interface versions

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014109800A (ja) * 2012-11-30 2014-06-12 Fujitsu Ltd 分散処理方法、情報処理装置、及びプログラム
JP2014167685A (ja) * 2013-02-28 2014-09-11 Kddi Corp データ処理システム、データ処理方法およびプログラム
JP2014241119A (ja) * 2013-06-12 2014-12-25 株式会社ソニー・コンピュータエンタテインメント 情報処理装置、情報処理システム、および情報処理方法

Also Published As

Publication number Publication date
US20220116446A1 (en) 2022-04-14
US11539788B2 (en) 2022-12-27
PH12021550547A1 (en) 2022-02-14

Similar Documents

Publication Publication Date Title
CN111163002B (zh) 一种基于容器的边缘网关系统和能源数据处理方法
CN106790595B (zh) 一种Docker容器主动负载均衡装置及方法
CN109101373B (zh) 基于订阅/发布模式的通用测试平台
US8584081B2 (en) Server side application integration framework
US8069246B2 (en) Relay server and relay communication system including a relay group information registration unit, a shared resource information registration unit, and a control unit
CN112069265B (zh) 配置数据的同步方法、业务数据系统、计算机系统和介质
TWI519965B (zh) Flexible assembly system and method for cloud service service for telecommunication application
CN106685706A (zh) 一种基于Zookeeper的配置更新方法及系统
JP2013152666A (ja) 管理システム、画像形成装置、管理システムの制御方法、画像形成装置の制御方法、プログラム
US6804710B1 (en) Configuration information management system, method, program, and program storage device
US8321575B2 (en) Relay server and relay communication system
Schwan et al. Autoflow: Autonomic information flows for critical information systems
CN103399776B (zh) 可重用mock创建方法及系统
WO2020240954A1 (ja) 情報処理システム、及び情報処理システムの制御方法
JP7189104B2 (ja) 情報処理システム、及び情報処理システムの制御方法
Pantoja et al. Exposing IoT objects in the internet using the resource management architecture
CN110417580A (zh) 一种ib网络拓扑关系的展示方法、设备以及存储介质
CN115695537A (zh) 实现服务网格适配传统微服务注册中心的方法、系统和装置
JP7013326B2 (ja) 情報処理システム、情報処理装置、および情報処理システムの制御方法
JPH09330243A (ja) 計算機システム
JP5247750B2 (ja) プログラムコンポーネントコンテナ装置
JP2008305205A (ja) フロー処理構築装置、フロー処理構築方法及びプログラム
US20240070304A1 (en) Methods and systems for model management
JPH1132041A (ja) コマンドファイル共有方式
JPH08161186A (ja) タスク間通信方式

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

Country of ref document: EP

Kind code of ref document: A1

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112021004630

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 112021004630

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20210311

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20813686

Country of ref document: EP

Kind code of ref document: A1