WO2018061621A1 - アプリケーション開発環境提供システム、アプリケーション開発環境提供方法、コンピュータ読み取り可能な非一時的記録媒体、及び端末装置 - Google Patents
アプリケーション開発環境提供システム、アプリケーション開発環境提供方法、コンピュータ読み取り可能な非一時的記録媒体、及び端末装置 Download PDFInfo
- Publication number
- WO2018061621A1 WO2018061621A1 PCT/JP2017/031659 JP2017031659W WO2018061621A1 WO 2018061621 A1 WO2018061621 A1 WO 2018061621A1 JP 2017031659 W JP2017031659 W JP 2017031659W WO 2018061621 A1 WO2018061621 A1 WO 2018061621A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- information
- node
- device node
- application
- development environment
- Prior art date
Links
- 238000011161 development Methods 0.000 title claims abstract description 136
- 238000000034 method Methods 0.000 title claims description 78
- 238000012545 processing Methods 0.000 claims abstract description 47
- 230000008569 process Effects 0.000 claims description 47
- 238000003860 storage Methods 0.000 claims description 45
- 230000006870 function Effects 0.000 claims description 36
- 238000004891 communication Methods 0.000 claims description 32
- 238000004458 analytical method Methods 0.000 claims description 11
- 238000013461 design Methods 0.000 claims description 11
- 238000000611 regression analysis Methods 0.000 claims description 6
- 238000010219 correlation analysis Methods 0.000 claims description 3
- 238000013135 deep learning Methods 0.000 claims description 3
- 239000004020 conductor Substances 0.000 claims description 2
- 238000007726 management method Methods 0.000 description 52
- 230000007704 transition Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 17
- 230000004308 accommodation Effects 0.000 description 15
- 230000004913 activation Effects 0.000 description 8
- 230000001413 cellular effect Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000009434 installation Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000013475 authorization Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6236—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database between heterogeneous systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/33—Intelligent editors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y30/00—IoT infrastructure
- G16Y30/10—Security thereof
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y40/00—IoT characterised by the purpose of the information processing
- G16Y40/30—Control
- G16Y40/35—Management of things, i.e. controlling in accordance with a policy or in order to achieve specified objectives
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/131—Protocols for games, networked simulations or virtual reality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/69—Identity-dependent
- H04W12/71—Hardware identity
Definitions
- the present invention relates to an application development environment providing system, an application development environment providing method, a computer-readable non-transitory recording medium, and a terminal device.
- DCS Distributed Control System
- field devices measuring instruments, operating devices
- PIMS plant information management system
- ERP core business system
- MES manufacturing execution system
- PIMS plant information management system
- ERP core business system
- cloud computing may conform to a definition (a definition recommended by the National Institute of Standards and Technology) described in a document specified by the following URL (Uniform Resource Locator). good. http://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-145.pdf https://www.ipa.go.jp/files/000025366.pdf
- Patent Document 1 discloses cloud computing for industrial automation and production systems.
- Patent Document 2 discloses an example of a technique for providing a development environment for developing an application program used in a cloud computing environment by cloud computing.
- a system that provides the development environment disclosed in Patent Document 2 and the like described above is used by various companies (tenants).
- a system that provides a development environment includes a customer (for example, an orderer), an engineering company (for example, a contractor), and a third vendor (a third party). ).
- the application development environment providing system is used in the application program in the application development environment providing system (1) for providing the application program development environment via a network in accordance with an instruction from a tenant using the development environment.
- the specified first information is associated with the second information related to the tenant that specified the first information, and the device node
- the management part (55) which performs the management process which restricts or permits use of is provided.
- the management unit stores the first information of the device node connected to the network when the first information is specified (32, 42). When the specified first information is searched, the first information and the second information are associated with each other.
- the management unit when there is authentication information corresponding to the first information, instructs the authentication information stored in the storage unit and the first information by the tenant. Authentication processing is performed using the authentication information.
- the management process includes: a first process for allocating the device node to a specific site and account among the sites and accounts belonging to the tenant that specified the first information; It includes at least one of a second process for setting an access right for the device node for each site and the account, and a third process for limiting or permitting the use of the device node only to a specific application program.
- the application development environment providing system of the present invention displays the device node on which the management process has been performed as a development part on an application development screen.
- the application development screen visually displays the development part list display area (E1) in which the device node on which the management processing has been performed is displayed and the structure of the application program.
- the application development environment providing system of the present invention further includes a program development section (51) that provides the application development environment to a user and visually displays the application program.
- the program development unit visually displays the application program based on layout information, connection information, parameter information, and selection area information, and the layout information It is information indicating a processing form of the program, and the connection information is information on a conductor connecting an input data item, a logic that is a processing content, and an output data item that is a processing result, and the parameter information is the information This is information indicating parameter setting values set in the application program, and the selection area information is information indicating a part of processing selected by the user in a series of processing of the application program.
- the application development environment providing system of the present invention further includes a communication unit (52) that transmits and receives part or all of the application program including setting information.
- the communication unit provides at least one of a chat function, a video communication function, a voice call function, a screen sharing function, and a community function.
- the application development environment providing system of the present invention further includes a library (53) for providing a tool used when the program development unit develops or executes an application program.
- the library includes a similar waveform search tool, regression analysis tool, multiple regression analysis tool, MT method analysis tool, error variance analysis tool, data driven modeling tool, deep learning tool, and correlation analysis. Provide at least one of the tools.
- An application development environment providing method of the present invention is an application development environment providing method for providing an application program development environment via a network, and is a device used in the application program in accordance with an instruction from a tenant using the development environment.
- First information for identifying the node (11) is identified (S105, S106), and the identified first information is associated with second information relating to the tenant that identified the first information (S109)
- a management process for restricting or permitting use of the device node is performed (S112 to S114).
- the application development environment providing method of the present invention searches the specified first information from the storage unit (32, 42) in which the first information of the device node connected to the network is stored (S107), When the specified first information is searched, the first information and the second information are associated with each other.
- the application development environment providing method of the present invention includes a step of assigning the device node to a specific site and account among sites and accounts belonging to the tenant that specified the first information, and for each site and account, At least one of setting an access right to the device node and restricting or permitting the use of the device node only to a specific application program.
- the computer-readable non-transitory storage medium of the present invention is a computer-readable non-transitory storage medium that stores one or more programs executed by a computer, and the one or more programs are transmitted via a network.
- the specified first One information is associated with the second information related to the tenant that specified the first information, and management processing for restricting or permitting the use of the device node is performed.
- the terminal device of the present invention is used in the application program specified by the instruction of the tenant using the development environment in the terminal device (16) connected to the development environment of the application program provided via the network.
- the management information for restricting or permitting the use of the device node has been performed by associating the first information for identifying the device node to be associated with the second information relating to the tenant that specified the first information.
- a display unit for displaying device nodes is provided.
- the management process includes: a first process for allocating the device node to a specific site and account among the sites and accounts belonging to the tenant that specified the first information; the site and the account For each account, at least one of a second process for setting an access right for the device node and a third process for limiting or permitting the use of the device node only to a specific application program is included.
- the terminal device according to the present invention displays the device node on which the management process has been performed as a development part on an application development screen.
- the application development screen visually displays the development part list display area (E1) where the device node on which the management process has been performed is displayed, and the structure of the application program, And an application design area (E2) in which the application program can be created and edited.
- the management process for restricting or permitting the use of the device node is performed by associating with the tenant who specified the above. Therefore, it is possible to realize efficient development and introduction of application programs used in a cloud computing environment while ensuring security.
- FIG. 1 It is the schematic which shows the system outline
- One embodiment of the present invention is an application development environment providing system, an application development environment providing method, and a computer reading capable of realizing efficient development and introduction of an application program used in a cloud computing environment while ensuring security. To provide a possible non-transitory recording medium and a terminal device.
- the development environment provided in the present embodiment is an IoT (Internet Of Things) that performs arithmetic processing using data transmitted from sensors, devices, and systems connected to a communication network as input values. It is for developing programs such as IIoT (Industrial Internet Of Things: Industrial IoT) basic software, applications, solutions, and the like (hereinafter collectively referred to as “applications”).
- IoT Internet Of Things
- IIoT Intelligent Internet Of Things: Industrial IoT
- FIG. 1 is a schematic diagram showing a system overview of an application development environment providing system according to an embodiment of the present invention.
- the application development environment providing system 1 is a system configured by a four-level hierarchical structure of a device node 11, a spinal node 12, an intelligence node 13, and a socialization node 14 in a cloud computing environment. is there.
- the things cloud 15 and the terminal device 16 are connected to the intelligence node 13.
- the device node 11 includes various sensors, various devices, and various systems.
- the various sensors include a temperature / humidity sensor, a pressure sensor, and a flow rate sensor.
- Various devices include, for example, PLC (programmable logic controller) that is a control device, OBD (On-Board Diagnostics: self-failure) connected to CAN-BUS (Controller Area Network-BUS: bus type control network) in the vehicle Diagnosis) devices, KPI (Key Performance Indicator) monitors, indicators that display the current values of specific sensors, lamps, buzzers, valves, and robot arms.
- the various systems include a DCS, a drone control system, an intrusion detection system, a security system to which an entrance badge reader is connected, and a building automation system to which lights, door locks, elevators, sprinklers, and the like are connected.
- a device node 11 a configured by sensors
- a device node 11 b configured by actuators
- a device node 11 c configured by sensors
- a device node 11d constituted by sensors
- the device node 11 of the application development environment providing system 1 includes three device nodes 11a, 11c, and 11d configured by sensors, and one device node 11b configured by an actuator.
- the device node 11 can be arbitrarily configured by one or more device nodes configured by sensors, devices, or systems.
- Sensors, devices, and systems that constitute the device node 11 include devices that transmit data, devices that receive and display data, and devices that receive data and take action. These sensors, devices, systems, and the like are, for example, devices that support plug and play. These sensors, devices, systems, and the like are devices having a function of performing communication simultaneously with a plurality of applications, for example.
- the device node 11 includes a device that communicates and connects to a device that constitutes the spinal node 12, a device that communicates and connects to a device that constitutes the intelligence node 13, and a device that communicates and connects to a device that constitutes the things cloud 15.
- the device node 11 that communicates and connects to the devices constituting the spinal node 12 is a device that requires real-time performance, an application that does not allow data delay (data communication delay), fluctuation (data communication speed variation), and the like.
- the device node 11 that is communicatively connected to the device that constitutes the intelligence node 13 is used for an application that is not affected by delay, fluctuation, or the like, unlike the device node 11 that is communicatively connected to the device that constitutes the spinal node 12.
- the device node 11 that is communicatively connected to the devices constituting the things cloud 15 is, for example, a device installed in a remote place that needs to be routed through a wireless communication network such as a mobile phone network or a satellite line, and a device that is moved. is there.
- the device node 11a and the device node 11b are connected to devices constituting the spinal node 12 via, for example, a local area network (LAN).
- the device node 11c is connected to a device constituting the intelligence node 13 via, for example, the Internet.
- the device node 11d is connected to devices constituting the things cloud 15 via, for example, a cellular network.
- the spinal node 12 is configured by a server device and functions as a gateway.
- a server device constituting the spinal node 12 (hereinafter, also simply referred to as “spinal node 12”) accommodates at least one device node 11 in the cloud computing environment (that is, logical connection, management, or data storage). It is a server device that performs input / output.
- the spinal node 12 is generally a device called a gateway server, a fog computer, or an edge computer, for example.
- the spinal node 12 is installed between a server device (in the present embodiment, the intelligence node 13 and the socialization node 14) in the cloud computing environment and the sensors, devices, and systems that constitute the device node 11. .
- the spinal node 12 receives data from the device node 11 that performs communication using a communication protocol that the intelligence node 13 cannot communicate with, for example.
- the spinal node 12 transmits the received data to the intelligence node 13 using a communication protocol with which the intelligence node 13 can communicate.
- the spinal node 12 transfers data from the device node 11 to the intelligence node 13.
- the spinal node 12 receives a signal transmitted from an analog sensor or the like that cannot communicate using the Internet protocol, using a communication protocol other than the Internet protocol.
- the spinal node 12 digitally converts the received signal and normalizes it, and then normalizes the normalized signal to a server device (hereinafter also simply referred to as “intelligence node 13”) that constitutes the intelligence node 13 by communication using the Internet protocol. Send.
- the spinal node 12 performs data transfer from the device node 11 to the intelligence node 13.
- the spinal node 12 receives the data transmitted from the device node 11, performs processing such as calculation, interpretation, and determination on the received data, and transmits the processing result to the intelligence node 13.
- the spinal node 12 acquires data from the device node 11, performs preprocessing on the data, adds a time stamp (a symbol representing the time of occurrence) to obtain time series data, and the time series data Is acquired from the intelligence node 13 and processing (processing such as processing and determination) is performed on the time series data based on the logic and the algorithm.
- the spinal node 12 transmits the time series data to the intelligence node 13 as necessary or based on an instruction from the intelligence node 13.
- the spinal node 12 transmits a control signal indicating an action generated based on the time series data, the logic, the algorithm, and the like to the appropriate device node 11.
- the spinal node 12 temporarily stores the time series data in a time series database (not shown) provided in the spinal node 12. At the same time, the spinal node 12 transmits the time series data to the intelligence node 13 in response to a request from the intelligence node 13. Further, the spinal node 12 transmits the time series data temporarily stored in the time series database asynchronously in order from the oldest data to the historian (not shown) via a secure communication path. .
- the historian may be directly connected to the intelligence node 13. In this case, the intelligence node 13 can refer to and use the historian as if the historian exists in the local environment.
- the spinal node 12 is provided with a device pool area 32 (see FIG. 4) for storing information for identifying the device node in the initial state connected to the spinal node 12.
- the device pool area 32 is an area in which information for identifying a newly available device node among the device nodes connected to the spinal node 12 is stored.
- Specific information stored in the device pool area 32 is individual identification information uniquely assigned to a device node in advance, or individual identification information and an authentication-specific passcode (authentication information). Such information is automatically transmitted from the device node to the spinal node 12 by plug and play when the device node is connected to the spinal node 12 and accumulated in the device pool area 32.
- the spinal node 12 is configured by a single piece of hardware, two device nodes 11 that are connected to the spinal node 12 are connected in preparation for a failure or abnormal operation in the spinal node 12. You may make it transmit data with respect to the above spinal node 12 in parallel.
- the device node 11 is a device that communicates using the Internet protocol, the device node 11 sends data and control signals to the communication network using techniques such as multicast and broadcast, and the plurality of spinal nodes 12 Redundancy may be performed by receiving data and the control signal in parallel.
- the intelligence node 13, the socialization node 14, and the things cloud 15 include a server device and a network device that provide a cloud computing environment.
- the cloud computing environment is an environment in which various services are provided by a server connected to a network such as the Internet.
- the intelligence node 13, the socialization node 14, and the things cloud 15 may be physically separated by separate devices, or may be logically separated within a single device.
- the devices constituting the intelligence node 13 include a plurality of departments, groups and other organizations (hereinafter also referred to as “sites”) that jointly develop applications within a company, and a plurality of employees (hereinafter referred to as “accounts” or “ A function is provided so that an application development environment and an application execution environment can be shared among users).
- a device constituting the socialization node 14 (hereinafter, also simply referred to as “socialization node 14”) is a company that provides an application among a plurality of companies that jointly develop an application (hereinafter also referred to as “tenant”).
- a function is provided to enable joint use of an application development environment and an application execution environment between an enterprise customer who uses an application and between an enterprise and an individual.
- An application development environment is an IoT or IIoT basic software, application, and the like that perform arithmetic processing using data transmitted from sensors, devices, and systems connected to a communication network as input values in a cloud computing environment, and This is a development environment for developing programs such as solutions.
- An application execution environment is an IoT or IIoT basic software, application, and the like that perform arithmetic processing using data transmitted from sensors, devices, and systems connected to a communication network as input values in a cloud computing environment, and This is an environment for executing programs such as solutions.
- Co-innovation space (co-creation space).
- Co-innovation space is a virtual space in a cloud computing environment.
- the Co-innovation space is a space for co-creation of applications that are separated from each other by a company (tenant) unit or an organization (site) unit and are securely isolated from each other.
- the Co-innovation space may be implemented in the server device of the data center in the local environment.
- the above-described architecture of the Co-innovation space may be provided by one or a plurality of devices constituting the intelligence node 13 and the socialization node 14.
- the storage area in the architecture of the Co-innovation space may be a storage unit of one or a plurality of devices constituting the intelligence node 13 and the socialization node 14, or a storage region of a storage unit included in the plurality of devices. A part of them may be combined.
- the intelligence node 13 and the socialization node 14 operate in the server device, and the Co-innovation space is mounted on the intelligence node 13 and the socialization node 14.
- the intelligence node 13 has a main function of the Co-innovation space.
- the socialization node 14 is a function necessary for sharing, buying and selling, and communication of application programs between companies or between companies and individuals among the functions of the Co-innovation space.
- the intelligence node 13 manages the spinal node 12 and the device node 11 that are connected to the intelligence node 13 for communication.
- the user accesses the intelligence node 13 through a human machine interface (HMI) and uses the Co-innovation space.
- HMI human machine interface
- This human machine interface may be, for example, the terminal device 16 shown in FIG.
- the intelligence node 13 stores a device pool area (storage unit) that stores information (the above-described individual identification information, or individual identification information and unique passcode) for identifying a device node in an initial state connected to the intelligence node 13. ) (Not shown).
- This device pool area is an area in which information for identifying a newly available device node among the device nodes connected to the intelligence node 13 is stored. For example, when a device node is connected to the intelligence node 13, such information is automatically transmitted from the device node to the intelligence node 13 by plug and play and accumulated in the device pool area.
- the intelligence node 13 has various external interfaces for linking with various external systems.
- the intelligence node 13 can cooperate with an external IoT and IIoT cloud computing environment, an external charging system, an external database system, and the like.
- the intelligence node 13 can cooperate widely with various external systems, so that the intelligence node 13 can have a co-innovation space and a wide cooperation with various external systems in various IoT cloud computing environments. You can build applications on the Co-innovation space.
- the intelligence node 13 can utilize the interface group provided by the IoT and IIoT cloud computing environments by having various external interfaces for the intelligence node 13 to cooperate with various external systems. For this reason, it is possible to develop a solution that covers the entire business process supply chain and the entire life cycle of a client company.
- Things cloud 15 provides a platform service for connecting device nodes to the cloud (specifically, intelligence node 13).
- a device pool area 42 (which stores the above-described individual identification information, or individual identification information and unique passcode) for identifying a device node in an initial state connected to the single cloud 15.
- FIG. 5 is provided.
- the device pool area 42 is an area in which information for identifying a newly available device node among the device nodes connected to the things cloud 15 is stored. Such information is automatically transmitted from the device node to the things cloud 15 by plug and play when the device node is connected to the things cloud 15 and accumulated in the device pool area 42, for example.
- the platform service for connecting the above-described device node to the cloud may be provided by one or a plurality of devices constituting the things cloud 15.
- the device pool area 42 may be a storage unit of one or a plurality of apparatuses constituting the single cloud 15 or may be configured by combining a plurality of storage areas of the storage units included in the plurality of apparatuses. May be.
- the terminal device 16 is a device that is communicatively connected to a development environment for application programs provided via a network (a development environment provided by the application development environment providing system 1).
- the terminal device 16 is realized by a personal computer including an input device such as a keyboard, a display device (display unit) such as a liquid crystal display device, a CPU (central processing unit), a RAM, and the like.
- the personal computer type may be, for example, a desktop type, a notebook type, a tablet type, or the like.
- FIG. 2 is a diagram illustrating an example of a connection form between a device node and an intelligence node via a spinal node.
- the device node 11a and the spinal node 12 are connected via a local area network N11.
- the spinal node 12 and the intelligence node 13 are connected via a communication network N12 such as a local area network, a dedicated line, or the Internet VPN (Virtual Private Network).
- the spinal node 12 is managed by the monitoring / management tool M1.
- FIG. 3 is a diagram illustrating an example of a connection form between a device node and an intelligence node via a things cloud.
- the device node 11d and the things cloud 15 are connected via, for example, a cellular network N21 and a dedicated line N22.
- the things cloud 15 and the intelligence node 13 are connected via a dedicated network or a communication network N23 such as the Internet VPN.
- the things cloud 15 is managed by the monitoring / management center M2.
- the device node 11a shown in FIG. 2 and the device node 11d shown in FIG. 3 each retain individual identification information (or individual identification information and a unique passcode). For example, when the installation of the device node 11a shown in FIG. 2 is completed, the individual identification information of the device node 11a is transmitted to the spinal node 12 through the local area network N11 by plug and play. For example, when the installation of the device node 11d shown in FIG. 3 is completed, the individual identification information and the like of the device node 11d is transmitted to the single cloud 15 through the cellular network N21 and the dedicated line N22 by plug and play.
- FIG. 4 is a block diagram showing a configuration relating to transmission / reception of individual identification information in the connection form shown in FIG.
- the device node 11 a includes an individual identification information storage unit 21, an activation operation unit 22, and an individual identification information transmission unit 23.
- the individual identification information storage unit 21 stores the above individual identification information (or individual identification information and unique passcode).
- the activation operation unit 22 instructs the individual identification information transmission unit 23 to transmit individual identification information (or individual identification information and a unique passcode) by an activation operation by plug and play.
- the individual identification information transmission unit 23 reads the individual identification information (or the individual identification information and the unique passcode) from the individual identification information storage unit 21 based on an instruction from the activation operation unit 22 and sends the individual identification information to the outside ( For example, it is transmitted to the local area network N11).
- the spinal node 12 includes an individual identification information receiving unit 31 and a device pool area 32 (storage unit).
- the individual identification information receiving unit 31 receives individual identification information (or individual identification information and unique passcode) transmitted from the device node 11a via the local area network N11.
- the device pool area 32 stores individual identification information (or individual identification information and unique passcode) received by the individual identification information receiving unit 31 in a device list.
- FIG. 5 is a block diagram showing a configuration relating to the exchange of individual identification information in the connection form shown in FIG.
- the device node 11 d includes an individual identification information storage unit 21, an activation operation unit 22, and an individual identification information transmission unit 23, similar to the device node 11 a illustrated in FIG. 4.
- the individual identification information transmission unit 23 reads the individual identification information (or individual identification information and unique passcode) from the individual identification information storage unit 21.
- the individual identification information is transmitted to the outside (for example, the cellular network N21).
- the things cloud 15 includes an individual identification information receiving unit 41 and a device pool area 42 (storage unit).
- the individual identification information receiving unit 41 receives individual identification information (or individual identification information and unique path code) transmitted from the device node 11d through the cellular network N21 and the dedicated line N22 in order.
- the device pool area 42 stores individual identification information (or individual identification information and unique passcode) received by the individual identification information receiving unit 41 in a device list.
- FIG. 6 is a functional configuration diagram of a co-innovation space implemented in an application development environment providing system according to an embodiment of the present invention.
- the function of the Co-innovation space may be realized by only one of the intelligence node 13 and the socialization node 14, or may be realized by both the intelligence node 13 and the socialization node 14. In the present embodiment, in order to simplify the description, it is assumed that the function of the Co-innovation space is realized by the intelligence node 13.
- the Co-innovation space realized by the intelligence node 13 includes an application board 51, a communication tool 52, a library 53, a storage 54, a device management unit 55 (management unit, management means), a tenant management unit 56, A site / account management unit 57, an application store 58, a charging unit 59, and a database unit 60 are provided.
- Application board 51 provides a user with a multi-tenant, multi-site, and multi-account application development environment and application execution environment.
- the application board 51 has functions such as a compiler and a display unit that can visually display an application program to the user.
- the display unit displays an image indicating the Co-innovation space, and visually displays the application program in the Co-innovation space based on layout information, connection information, parameter information, selection area information, and the like.
- Layout information is information indicating the processing mode of the application program to be developed.
- the application program to be developed is an application that performs multi-input 2-output processing, or is an application that performs multi-input multi-output processing, or 1-input multi-output processing.
- Information indicating that the application is to be executed is included.
- connection information is a visual representation of the relationship between data items and logic by connecting the input data items, the logic that is the processing content, and the output data items that are the processing results in the application program that is the development target.
- the parameter information is information indicating setting values of various parameters set in the application program to be developed.
- the selected area information is information indicating a part of processing selected (designated) by a user operation or the like in a series of processing of the application program to be developed. For example, with respect to an application program visually displayed by the application board 51, the user surrounds a partial area of the application program by operating a mouse or the like, so that selection area information indicating the enclosed area is obtained. Generated.
- the communication tool 52 provides a chat function, a video communication function, a voice call function, a screen sharing function, and community functions such as a bulletin board and a social network service (SNS) used between users.
- the chat function includes not only text data (eg, source code), image data, and program execution files, but also part or all of the application program to be developed, including setting information such as parameter values. Can be transmitted and received between users.
- the library 53 provides general-purpose processing logic, templates, analysis tools, and historians (a database storing history information and performance information) used when developing or executing application programs on the application board 51. To do.
- the library 53 includes various analysis tools such as a similar waveform search tool, a regression analysis tool, a multiple regression analysis tool, an MT method analysis tool, an error variance analysis tool, a data driven modeling tool, a deep learning tool, and a correlation analysis tool. I remember it.
- the storage 54 distinguishes various types of information (for example, developed application programs and analysis result data) into information that is open to the public, information shared by tenants, information shared by sites, and information for individual accounts. Each is stored in a public storage area, a tenant shared storage area, a site shared storage area, or an account individual storage area. The storage area in which each user can store various types of information may be controlled based on the authority set for each user in advance by the tenant administrator.
- the storage 54 may be a storage medium such as a hard disk drive (HDD), flash memory, EEPROM (EEPROM), RAM (read / write memory), ROM (read only memory), or any combination thereof. .
- the device management unit 55 manages information on sensors, devices, systems, and the like that constitute the device node 11 accommodated by the intelligence node 13. For example, the device management unit 55 manages information associated with identification information assigned to the device node 11 and identification information of an account, a site, and a tenant, which is used for accommodating the device node 11.
- the device management unit 55 of the intelligence node 13 may acquire and manage information on sensors, devices, systems, and the like constituting the device node 11 accommodated by the spinal node 12 via the spinal node 12.
- the spinal node 12 may manage the information
- the device management unit 55 of the intelligence node 13 may acquire the information from the spinal node 12.
- the tenant management unit 56 manages various types of information related to the tenant (company). For example, the tenant management unit 56 performs setting, change, deletion, and the like on information such as tenant basic information, billing information, operation authority, and authorization authority. For example, the tenant management unit 56 manages contract information related to contracts associated with the use of the Co-innovation space and the use of paid or free applications, tools, templates, data, and the like for each tenant.
- the site / account management unit 57 manages various information related to a site (organization) and an account (user). For example, the site / account management unit 57 sets, changes, deletes information such as basic information on the site and account, billing information, operation authority, and authorization authority.
- the application store 58 is a function for the user to buy and sell part or all of the application program, logic, template, data, and the like (hereinafter simply referred to as application).
- the application sold by the application store 58 may be charged by any billing method such as monthly billing, annual billing, billing according to the usage rate, or one-time billing.
- Certain applications, etc. sold by the application store 58 are free trial periods for a certain period (for example, one month) from the date when the user starts using the application store 58 so that no charges are incurred. Also good.
- the charging unit 59 performs a charging process for a user who purchased an application or the like sold by the application store 58.
- the charging unit 59 may perform a charging process for use of the Co-innovation space.
- the billing destination may be registered in advance for each tenant, site, or account. If the purchased application is an application registered in the application store 58 by the user, the application etc. is registered with a part of the amount collected by charging the user who purchased the application etc. You may pay to the user.
- the database unit 60 stores data such as production management information, plant operation management information, and quality information necessary for the operation of the application as a database, and provides necessary data according to the application request.
- This database may be a general database such as SQL or a non-SQL specific use database. This database may be set for each tenant, site, or account, and an administrator may set access authority individually according to the contents of data. These databases may refer to external databases outside the Co-innovation space.
- the accommodation of the device node in the system means that the device node is logically connected to the system, managed, and input / output.
- the device node 11 holds the individual identification information (or the individual identification information and the unique passcode) in the internal individual identification information storage unit 21.
- the device node 11 transmits individual identification information and the like to the spinal node 12 and the things cloud 15 by plug and play.
- individual identification information or the like from the device node 11 is received by the spinal node 12 or the things cloud 15, it is accumulated in the device pool area 32 or the device pool area 42.
- the activated (STIVATED) state ST1 the registered (REGISTERD) state ST2, the allocated (ALLOCATED) state ST3, the assigned (ASSIGNED) state ST4, and Five states are defined: an APPLOCKED state ST5.
- FIG. 7 is a state transition diagram showing state transition when the device node is accommodated.
- the device node 11 is in an initial state at the time of factory shipment.
- the device node 11 transits to the activated state ST1.
- the activated state ST1 is a state in which the device node 11 that has been activated is recognized by the spinal node 12 or the things cloud 15.
- the state transition of the device node 11 may be managed by registering or changing the state (state information) of the device node 11 that has been activated to the activated state ST1.
- the connection of the device node 11 to the network is realized by placing the device node 11 within the reach of the radio wave if it is accommodated by the cellular network / wireless network.
- the connection of the device node 11 to the network is realized by connecting a wiring to the device node 11 or the like.
- the individual identification information of the device node 11 that has been activated is accumulated in the device pool area 32 of the spinal node 12 or the device pool area 42 of the things cloud 15.
- no tenant can recognize its existence. As a result, the device node 11 is not unintentionally taken over, attacked, or skimmed.
- the registered state ST2 is a state in which the device node 11 is allocated to a specific tenant.
- a tenant accommodating the device node 11 notifies the individual node identification information to the spinal node 12 or the things cloud 15.
- the individual identification information (first information) of the device node 11 held in the device pool areas 32 and 42 is associated with the tenant (second information). This association is performed by the device management unit 55 shown in FIG.
- the associated individual identification information is copied to the device registration area of the tenant and deleted from the device pool areas 32 and 42.
- the device management unit 55 of the Co-innovation space configured by the intelligence node 13 uses a state management file for managing each state of the device node stored in the storage unit or storage area (not shown),
- the state transition may be managed by changing the state (state information) of the registered device node 11 from the activated state ST1 to the registered state ST2.
- tenant spaces are safely isolated from each other. For this reason, in this state, the third party tenant cannot recognize the accommodated device node 11 and cannot allocate this device node 11 to the third party tenant. If the individual identification information and the unique passcode are stored in the device pool areas 32 and 42, the tenant and the device pool area 32 unless the intelligence node 13 notifies the individual identification information and the unique passcode of the device at the same time. , 42 is not associated with the individual identification information held in.
- the allocated state ST3 is a state in which the device node 11 is assigned to a specific tenant or account.
- the device node 11 is recognized on the Co-innovation space of his / her account, and the device node 11 is displayed on the application development screen ( (See FIG. 13).
- the device management unit 55 of the Co-innovation space configured by the intelligence node 13 uses a state management file for managing each state of the device node stored in the storage unit or storage area (not shown),
- the state transition may be managed by changing the state (state information) of the registered device node 11 from the registered state ST2 to the allocated state ST3.
- the device node 11 is assigned by performing an operation called “Assignment” (the tenant administrator logs in to the tenant with administrator authority and sets the authority for the site and account under each tenant). Transition to state ST4.
- Assigned state ST4 is a state in which access rights for each site or account are set.
- the device node 11 is recognized from any account of any site under the tenant and is in a usable state.
- R / O read-only: read only
- R / W read-write: read / write
- X (Execution) can be set.
- the device management unit 55 of the Co-innovation space configured by the intelligence node 13 uses a state management file for managing each state of the device node stored in the storage unit or storage area (not shown),
- the state transition may be managed by changing the state (state information) of the registered device node 11 from the allocated state ST3 to the assigned state ST4.
- the locked state ST5 is a state in which use of the device node 11 is restricted or permitted only to a specific application. This state is provided to restrict or permit setting change, stop, restart, etc. of the device node 11 so that the device node 11 can be used stably.
- the lock operation can be executed by any account, and the tenant administrator can forcibly change it. Even a device in the locked state ST5 can be read as long as it has R / O (read only) authority. For a device in the locked state ST5, if an attempt is made to change the setting to use it from a program of another application, an error is returned, and the user ID and application ID performing the lock operation are presented.
- the device management unit 55 of the Co-innovation space configured by the intelligence node 13 uses a state management file for managing each state of the device node stored in the storage unit or storage area (not shown),
- the state transition may be managed by changing the state (state information) of the registered device node 11 from the assigned state ST4 to the attached state ST5.
- FIG. 8 is a flowchart showing processing when the device node is accommodated.
- the flowchart shown in FIG. 8 shows processing until the accommodated device node 11 transitions to the registered state ST2.
- FIG. 8 shows processing until the accommodated device node 11 transitions to the registered state ST2.
- the same processing is performed when the device node 11 connected to the things cloud 15 is accommodated.
- the intelligence node 13 transmits the individual identification information of the device node to be accommodated to the spinal node 12 (step S1). This process is performed, for example, when the user inputs the individual identification information of the device node to be accommodated by operating the terminal device 16.
- the spinal node 12 receives the individual identification information transmitted from the intelligence node 13 (step S2). Then, the spinal node 12 compares the received individual identification information with the device unique information list in the device pool area 32, and determines whether there is a match between the individual identification information (step S3).
- step S4 the spinal node 12 transmits a rejection to the intelligence node 13 (step S4).
- the intelligence node 13 receives the reject transmitted from the spinal node 12 (step S5). Then, the intelligence node 13 fails to register the device node 11 (step S6).
- step S7 the spinal node 12 copies the information of the device node 11 to the device registration area of the tenant (step S8). Thereafter, the spinal node 12 deletes the device information in the device pool area 32 (step S9).
- the spinal node 12 transmits registration completion to the intelligence node 13 (step S10).
- the intelligence node 13 receives the registration completion transmitted from the spinal node 12 (step S11).
- the intelligence node 13 completes registration of the device node 11 (step S12).
- the registered device node 11 enters the registered state ST2.
- step S7 determines whether there is a unique passcode (if the determination result in step S7 is “YES”), the spinal node 12 transmits a passcode request to the intelligence node 13 (step S13). ). The intelligence node 13 receives the passcode request transmitted from the spinal node 12 (step S14). Then, the intelligence node 13 prepares a unique pass code (step S15), and transmits the unique pass code to the spinal node 12 (step S16).
- the spinal node 12 receives the unique passcode transmitted from the intelligence node 13 (step S17). Then, the spinal node 12 compares the received unique passcode with the unique passcode stored in the device pool area 32 and determines whether or not the unique passcode matches (step S18).
- step S18 When it is determined that the unique passcodes do not match (when the determination result of step S18 is “NO”), the spinal node 12 transmits a rejection to the intelligence node 13 (step S19). The intelligence node 13 receives the reject transmitted from the spinal node 12 (step S20). Then, the intelligence node 13 fails to register the device node 11 (step S21). On the other hand, when it is determined that the unique passcodes match (when the determination result of step S18 is “YES”), the spinal node 12 and the intelligence node 13 perform the processing of steps S8 to S12 described above, and the device Registration of the node 11 is completed. As a result, the registered device node 11 enters the registered state ST2.
- the transition from the registered state ST2 to the locked state ST5 requires the operation of the tenant administrator.
- the tenant administrator needs to input the individual identification information of the device node 11 and input the unique passcode. For this reason, the work burden of the tenant administrator is large. Therefore, in this embodiment, in order to simplify the device housing operation, as shown in FIG. It is done.
- FIG. 9A and FIG. 9B are diagrams showing an example of a sticker attached to a device node.
- a character string ST indicating individual identification information of a device node and a two-dimensional code CD including the individual identification information are printed on the seal SL shown in FIG. 9A.
- the character string ST includes “Device Identification” indicating that it is individual identification information of the device node, and individual identification information “3201 XF5J P3A2 S052” of the device node.
- the two-dimensional code CD includes information in which the individual identification information of the device node 11 is described in the XML (Extensible Markup Language) format.
- the character string ST indicating the individual identification information of the device node and the seal SL on which the two-dimensional code CD including the individual identification information is printed are attached to the device node.
- the two-dimensional code CD may be printed or stamped directly on the device node.
- a seal SM shown in FIG. 9B is printed with a character string SU indicating individual identification information and unique passcode of a device node, and a two-dimensional code CE including the individual identification information and unique passcode.
- the character string SU includes “Device identification” indicating that the device node is individual identification information, individual identification information “3201 XF5J P3A2 S052” of the device node, “PASS CODE” indicating that it is a unique passcode, and unique Pass code "X_5PxG32LZZQ" is included.
- the two-dimensional code CE includes information in which the individual identification information of the device node 11 and the unique pass code are described in the XML format.
- the two-dimensional code CD printed on the seal SL illustrated in FIG. 9A and the two-dimensional code CE printed on the seal SM illustrated in FIG. 9B are matrix-type two-dimensional codes such as a QR code (registered trademark). It may be a stack type two-dimensional code.
- the two-dimensional codes CD and CE are not limited to the two-dimensional code, and may be other codes such as a one-dimensional code.
- the seal SM is used for the device node from the viewpoint of security preventing a situation where a third party specifies and uses the device on the network. It should be peeled off and stored and managed separately.
- FIG. 10 is a diagram for explaining a first example of the accommodation procedure of the device node
- FIG. 11 is a sequence diagram showing a first example of the procedure.
- tenant areas R1 to R3 for each tenant are provided. These tenant areas R1 to R3 are created using information managed by the tenant management unit 56 shown in FIG.
- tenant areas R1 to R3 are shown for ease of explanation. However, tenant areas are provided according to the number of tenants that use the Co-innovation space.
- tenant A focusing on the tenant in which the tenant area R1 is provided (hereinafter referred to as “tenant A”).
- a site region R11 for each site (organization) belonging to the tenant A is provided in the tenant region R1.
- site B the site region belonging to the tenant A
- account C an account area R12 of one account belonging to the site B
- site region R11 and account region R12 are created using information managed by the site / account management unit 57 shown in FIG.
- a device registration area R13 in which device nodes that can be shared by sites and accounts belonging to the tenant A are registered.
- the device registration area R13 is created using information managed by the device management unit 55 shown in FIG.
- the device node registered in the device registration area R13 provided in the tenant area R1 can be shared by the tenant A, the site B, and the account C.
- Sites and accounts belonging to the tenant A can share data, logic, applications, and the like in addition to the device nodes registered in the device registration area R13.
- the administrator of the tenant A first installs the device node 11 and turns on the power of the device node 11 (step S101).
- the device node 11 is connected to the spinal node 12, the intelligence node 13, or the things cloud 15 by plug and play.
- the device node 11 is connected to the spinal node 12.
- the device node 11 transmits the individual identification information (or individual identification information and unique passcode) of the device node 11 to the spinal node 12 (step S102).
- the individual identification information of the device node 11 is accumulated in the device pool area 32 of the spinal node 12. Thereby, the state of the device node 11 changes from the initial state to the activated state ST1.
- the administrator of tenant A operates the terminal device 16 to access the intelligence node 13 and logs in to the Co-innovation space (step S104).
- the administrator of the tenant A can use the tenant region R1 provided in the Co-innovation space realized by the intelligence node 13.
- the administrator of tenant A selects a device registration menu prepared in advance in the Co-innovation space.
- the administrator of the tenant A uses the camera 17 connected to the terminal device 16 to photograph the two-dimensional code CE of the seal SM attached to the device node 11 (Step S105).
- the individual identification information (or individual identification information and unique passcode) of the device node 11 is read from the two-dimensional code CE.
- the terminal device 16 transmits the read individual identification information (or individual identification information and unique passcode) to the intelligence node 13 (step S106).
- the camera 17 connected to the terminal device 16 described above may be a portable terminal device such as a smartphone equipped with a camera function.
- a portable terminal device such as a smartphone equipped with a camera function.
- the portable terminal device is connected via a wireless telephone line. Can be connected to the intelligence node 13, so that work can be performed efficiently.
- the intelligence node 13 accesses the device pool area 32 of the spinal node 12 and searches for the same individual identification information as the individual identification information transmitted from the terminal device 16 (step S107). If there is a unique passcode corresponding to the individual identification information, the intelligence node 13 authenticates by comparing the unique passcode stored in the device pool area 32 with the unique passcode transmitted from the terminal device 16 ( Step S108: Authentication processing).
- the intelligence node 13 performs processing for associating the tenant A with the device node 11 (step S109). This process is performed by the device management unit 55 of FIG. Thereafter, the spinal node 12 transmits the information on the device node 11 accumulated in the device pool area 32 to the intelligence node 13 (step S110). The intelligence node 13 registers the information of the device node 11 in the device registration area R13 of the tenant A (step S111). As a result, the state of the device node 11 transitions from the activated state ST1 to the registered state ST2. The information of the device node 11 transferred to the intelligence node 13 is deleted from the device pool area 32.
- the administrator of the tenant A operates the terminal device 16 to assign the device node 11 to the site B and the account C under the tenant A (step S112).
- the intelligence node 13 performs a process (first process) of assigning a device node to a specific site and account (for example, the site B or the account C).
- this process ends, the state of the device node 11 transitions from the registered state ST2 to the allocated state ST3.
- the administrator of tenant A who has logged in with the administrator authority operates the terminal device 16 to perform the R / O (read only), R / W (read write), Authority setting such as X (execution) is performed (step S113).
- the intelligence node 13 performs a process (second process) for setting an access right to the device node 11 for each site and account.
- this process ends, the state of the device node 11 transitions from the allocated state ST3 to the assigned state ST4.
- An operation (lock) in which an arbitrary site or account of the tenant A or an administrator of the tenant A operates the terminal device 16 to restrict authority such as setting change, stop, and restart of the device node 11 to a specific application Is performed (step S114).
- the intelligence node 13 performs a process (third process) for restricting or permitting the use of the device node 11 only to a specific application program.
- this process ends, the state of the device node 11 transitions from the assigned state ST4 to the locked state ST5.
- FIG. 12 is a diagram for explaining a second example of the device node accommodation work procedure.
- processing from the activated state ST1 to the assigned state ST4 can be easily performed. That is, the processing of step S104 to step S112 shown in FIG.
- the administrator of the tenant A activates the application of the mobile terminal 18 and reads the two-dimensional code CD1 displayed on the terminal device 16 using the mobile terminal 18.
- the account ID and password are input to the portable terminal 18.
- the account ID and password input to the mobile terminal 18 are automatically transmitted to the intelligence node 13 by the application of the mobile terminal 18.
- the administrator of tenant A logs in to the Co-innovation space (step S104).
- the two-dimensional code CD1 displayed on the terminal device 16 includes an account ID and a password necessary for the administrator of the tenant A to log in to the Co-innovation space.
- This two-dimensional code CD1 is the contract information of the tenant to which the tenant A belongs when the administrator of the tenant A logs in to the Co-innovation space with the terminal device 16 and selects, for example, the “Contract Information” menu. It is displayed with.
- the administrator of the tenant A can log in to the Co-innovation space only by performing an operation of reading the two-dimensional code CD1 with the application of the portable terminal 18. For this reason, when logging in to the Co-innovation space, it becomes unnecessary to input an account ID and a password, and the administrator of the tenant A can log on very easily.
- the two-dimensional code CD1 may be printed, and the printed two-dimensional code CD1 may be read by the terminal device 16.
- the administrator of the tenant A reads the two-dimensional code CD1 displayed on the terminal device 16 by the application of the mobile terminal 18, and inputs the account ID and password to the mobile terminal 18 and enters the Co-innovation space.
- the present invention is not limited to this.
- the administrator of tenant A may log in to the Co-innovation space by inputting an account ID and password using the keyboard of the mobile terminal 18 on the screen of the mobile terminal 18.
- Step S105 the administrator of the tenant A uses the mobile terminal 18 to photograph the two-dimensional code CE of the seal SM attached to the device node 11 (Step S105). Thereby, the individual identification information (or individual identification information and unique passcode) of the device node 11 is read from the two-dimensional code CE. Then, the processing from step S106 to step S112 is automatically performed by the application of the mobile terminal 18, and the processing up to the allocated state ST3 is completed. In the process of step S112, it is necessary to set a site and an account to which the device node 11 is assigned. This setting information is set in advance in the application of the portable terminal 18.
- the authority of each site and account can be selected on the application input screen of the mobile terminal 18, and the administrator of the tenant A logs in to the Co-innovation space of the intelligence node 13 with the administrator authority using the mobile terminal 18. Also good.
- the process up to step S113 can be performed by the application of the portable terminal 18, and the process up to the assigned state ST4 is completed. As a result, the work can be further simplified.
- FIG. 13 is a diagram illustrating an example of an application development screen according to an embodiment of the present invention.
- each user can develop an application program via the network on the application development screen shown in FIG. .
- this application development screen multiple users (accounts) set for each tenant and site can create application programs while sharing data, logic, applications, and status according to the execution authority set in advance by the administrator. Management, monitoring and execution.
- This application development screen is displayed on, for example, a display device (display unit) of the terminal device.
- the application development screen shown in FIG. 13 has a development parts list display area E1 and an application design area E2.
- the development part list display area E1 is an area in which a list of development parts used for developing an application program is displayed.
- analysis elements, input / output data items (for example, sensor output), general-purpose various logics (operators, functions), and the like are displayed as development parts in a list.
- the application design area E2 is an area for visually displaying the structure of the application program to be developed.
- an application program to be developed can be created and edited. For example, the user selects a required development part from a list of development parts (for example, analysis elements, data items of input / output data, logic as processing contents) displayed in the development part list display area E1. Then, the selected part is dragged and dropped to the application design area E2 by a mouse operation or the like. Thereby, an image showing the selected development part can be displayed in the application design area.
- An application program can be created by connecting the development parts displayed in the application design area E2 with lines and arrows.
- the accommodated device When accommodating the device node 11, when the device node 11 transitions to the allocated state ST3, the accommodated device is displayed in the development part list display area E1 on the application development screen of the tenant, site, and account to which the device node 11 is allocated. Node 11 is displayed as a development part.
- Each tenant, site, and account can share the device node 11 accommodated to create or edit a program.
- the identification is performed when the individual identification information of the device node 11 used in the application program is specified by the instruction of the administrator of the tenant who uses the application development environment providing system 1.
- Management processing for restricting or permitting the use of the device node 11 is performed by associating the individual identification information with the tenant who has specified the individual identification information. For this reason, the device node 11 can be accommodated in the system with high security.
- the application development environment providing system 1 can be used by various companies (tenants). For example, when an engineering system realized in a plant is developed, it can be used by a customer (for example, an orderer), an engineering company (for example, a contractor), and a third vendor (a third party). In such a system used by various tenants, the existence of the device node 11 used in the plant may not be known to other tenants from the viewpoint of security. Even in the same tenant, there are cases where it is desired to restrict access from other departments (sites) or other employees (users).
- the management process for restricting or permitting the use of the device node 11 is performed, so that the use of the device node 11 is restricted to a specific site and account belonging to a specific tenant.
- the access right to the device node 11 is set to the device node 11, and the use of the device node 11 is restricted to a specific application program.
- the existence of the device node 11 used in the plant is not known to other tenants, and access from other departments (sites) or other employees (users) in the same tenant is restricted. It is also possible.
- the device node 11 can be accommodated in the system with high security.
- the seals SL and SM on which the two-dimensional codes CD and CE including the individual identification information and the unique pass code information are printed are attached to the device node 11. For this reason, the individual identification information and passcode of the device node 11 can be input efficiently.
- the two-dimensional code CD1 is read using the portable terminal 18 to log in to the Co-innovation space, and the application of the portable terminal 18 realizes the accommodating operation of the device node 11. For this reason, the device node 11 can be accommodated efficiently.
- the device node 11 connected to the spinal node 12 is connected to the spinal node 12 in an initial state, and stores individual identification information and a unique passcode in the device pool area 32 of the spinal node 12.
- the device node 11 connected to the intelligence node 13 is connected to the intelligence node 13 in the initial state, and stores individual identification information and a unique passcode in a device pool area (not shown) of the intelligence node 13.
- the device node 11 connected to the things cloud 15 is connected to the things cloud 15 in an initial state, and stores individual identification information and a unique passcode in the device pool area 42 of the things cloud 15.
- the location (network) to which the device node 11 is connected and the device pool area in which the information (individual identification information and unique passcode) of the device node 11 is accumulated are divided.
- the device pool area may be shared. For example, if a cellular network is used, the cloud can be accessed from any location, so that all the device nodes 11 are connected to the single cloud 15 in the initial state, and the information of all the device nodes 11 is the device pool of the single cloud 15. It may be accumulated in the area 42.
- part or all of the application development environment providing system 1 in the above-described embodiment may be realized by a computer.
- one or more programs for realizing part or all of the functions of the application development environment providing system 1 can be read by a computer It may be realized by recording one or more programs recorded on the recording medium into a computer system and executing them.
- the “computer system” is a computer system built in the application development environment providing system 1, and includes hardware such as an OS and peripheral devices.
- “Computer-readable recording medium” refers to a portable medium such as a flexible disk, a magneto-optical disk, a ROM, and a CD-ROM, and a storage device such as a hard disk built in a computer system.
- Computer-readable recording medium means a program that dynamically holds a program for a short time, such as a communication line when transmitting a program via a network such as the Internet or a communication line such as a telephone line.
- a volatile memory inside a computer system serving as a server or a client may hold a program held for a certain period of time.
- the program may be a program for realizing a part of the above-described functions, or may be a program that can realize the above-described functions in combination with a program already recorded in a computer system.
- the application development environment providing system 1 in the above-described embodiment may be realized as an integrated circuit such as an LSI (Large Scale Integration).
- LSI Large Scale Integration
- Each functional block of the application development environment providing system 1 may be individually made into a processor, or a part or all of them may be integrated into a processor.
- the method of circuit integration is not limited to LSI, and may be realized by a dedicated circuit or a general-purpose processor. When integrated circuit technology that replaces LSI emerges due to advances in semiconductor technology, an integrated circuit based on this technology may be used.
- unit is used to indicate a component, unit, hardware, or a portion of software programmed to perform a desired function.
- Typical examples of hardware are devices and circuits, but are not limited to these.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Tourism & Hospitality (AREA)
- General Health & Medical Sciences (AREA)
- General Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Marketing (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Databases & Information Systems (AREA)
- Bioethics (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
ネットワークを介してアプリケーションプログラムの開発環境を提供するアプリケーション開発環境提供システムにおいて、 前記開発環境を利用するテナントの指示によって、前記アプリケーションプログラムで利用されるデバイスノードを識別する第1情報が特定された場合に、特定された前記第1情報と、前記第1情報の特定を行ったテナントに関する第2情報との関連付けを行い、前記デバイスノードの使用を制限或いは許可する管理処理を行う管理部 を備えるアプリケーション開発環境提供システム。
Description
本発明は、アプリケーション開発環境提供システム、アプリケーション開発環境提供方法、コンピュータ読み取り可能な非一時的記録媒体、及び端末装置に関する。
プラントや工場等においては、フィールド機器(測定器、操作器)と、これらを制御する制御装置とが通信手段を介して接続された分散制御システム(DCS:Distributed Control System)が構築されており、高度な自動操業が実現されている。このような高度な自動操業が実現されるプラントでは、分散制御システム以外に、製造実行システム(MES:Manufacturing Execution System)、プラント情報管理システム(PIMS:Plant Information Management System)、基幹業務システム(ERP:Enterprise Resource Planning)等の種々のシステム(エンジニアリングシステム)が構築されることが多い。
これらのエンジニアリングシステムは、例えばPLC(Programmable Logic Controller)、FA(Factory Automation)コンピュータ、汎用デスクトップコンピュータ、サーバ装置等のプラントに設置された装置を用いて実現されるのが殆どであった。近年においては、通信技術の進展によって、これらエンジニアリングシステムの一部が、ネットワークを介したクラウドコンピューティングによって実現されている。
ここで、クラウドコンピューティングは、例えば、以下のURL(Uniform Resource Locator)で特定される文書に記載されている定義(米国国立標準技術研究所によって推奨される定義)に合致するものであっても良い。
http://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-145.pdf
https://www.ipa.go.jp/files/000025366.pdf
http://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-145.pdf
https://www.ipa.go.jp/files/000025366.pdf
以下の特許文献1には、工業自動化及び生産システム用のクラウドコンピューティングが開示されている。以下の特許文献2には、クラウドコンピューティング環境において用いられるアプリケーションプログラムを開発するための開発環境を、クラウドコンピューティングによって提供する技術の一例が開示されている。
上述した特許文献2等に開示された開発環境を提供するシステムは、様々な企業(テナント)に利用される。例えば、プラントで実現されるエンジニアリングシステムの開発が行われる場合には、開発環境を提供するシステムは、顧客(例えば、発注者)、エンジニアリング会社(例えば、受注者)、及びサードベンダ(第三者)によって利用される。
このような様々なテナントによって利用されるシステムにおいては、セキュリティの観点から、例えばプラント等で用いられるデバイスの存在を他のテナントに知られてなはならない。同一のテナントであっても、他の部署(サイト)、或いは他の社員(ユーザ)からのアクセスを制限したい場合がある。加えて、従来デバイスの収容(設定)は、従来、全て手作業で行われていたため、極めて非効率であり、コストを要する結果となっていた。デバイスの収容作業を効率的に行うことができれば、エンジニアリング(装置等の設置・設定作業等)に要する時間を短縮することができるとともに、コスト削減を図ることができると考えられる。
本発明のアプリケーション開発環境提供システムは、ネットワークを介してアプリケーションプログラムの開発環境を提供するアプリケーション開発環境提供システム(1)において、前記開発環境を利用するテナントの指示によって、前記アプリケーションプログラムで利用されるデバイスノード(11)を識別する第1情報が特定された場合に、特定された前記第1情報と、前記第1情報の特定を行ったテナントに関する第2情報との関連付けを行い、前記デバイスノードの使用を制限或いは許可する管理処理を行う管理部(55)を備える。
本発明のアプリケーション開発環境提供システムは、前記管理部が、前記第1情報が特定された場合に、ネットワークに接続された前記デバイスノードの前記第1情報が蓄積される蓄積部(32、42)を検索し、特定された前記第1情報が検索されたときに、前記第1情報と前記第2情報との関連付けを行う。
本発明のアプリケーション開発環境提供システムは、前記管理部が、前記第1情報に対応する認証情報がある場合には、前記蓄積部に蓄積された認証情報と、前記テナントによって前記第1情報とともに指示される認証情報とを用いて認証処理を行う。
本発明のアプリケーション開発環境提供システムは、前記管理処理が、前記第1情報の特定を行ったテナントに属するサイト及びアカウントのうち、特定のサイト及びアカウントに前記デバイスノードを割り当てる第1処理と、前記サイト及び前記アカウント毎に、前記デバイスノードに対するアクセス権を設定する第2処理と、前記デバイスノードの利用を特定のアプリケーションプログラムのみに制限或いは許可する第3処理と、の少なくとも1つを含む。
本発明のアプリケーション開発環境提供システムは、前記管理処理が行われた前記デバイスノードを、アプリケーション開発画面に開発パーツとして表示する。
本発明のアプリケーション開発環境提供システムは、前記アプリケーション開発画面が、前記管理処理が行われた前記デバイスノードが表示される開発パーツ一覧表示領域(E1)と、前記アプリケーションプログラムの構造を視覚的に表示するとともに、前記アプリケーションプログラムの作成及び編集が可能なアプリケーション設計領域(E2)と、を有する。
本発明のアプリケーション開発環境提供システムは、前記アプリケーション開発環境をユーザへ提供し、視覚的に前記アプリケーションプログラムを表示するプログラム開発部(51)を更に備える。
本発明のアプリケーション開発環境提供システムは、前記プログラム開発部が、レイアウト情報、結線情報、パラメータ情報、及び選択領域情報に基づいて、視覚的に前記アプリケーションプログラムを表示し、前記レイアウト情報が、前記アプリケーションプログラムの処理の形態を示す情報であり、前記結線情報が、入力データ項目と、処理内容であるロジックと、処理結果である出力データ項目とを結ぶ導線に関する情報であり、前記パラメータ情報が、前記アプリケーションプログラムにおいて設定されるパラメータの設定値を示す情報であり、前記選択領域情報が、前記アプリケーションプログラムの一連の処理の中で、ユーザによって選択された一部の処理を示す情報である。
本発明のアプリケーション開発環境提供システムは、前記アプリケーションプログラムの一部又は全部を、設定情報も含めて送受信するコミュニケーション部(52)を更に備える。
本発明のアプリケーション開発環境提供システムは、前記コミュニケーション部が、チャット機能、ビデオコミュニケーション機能、音声通話機能、画面共有機能、及びコミュニティ機能のうちの少なくとも一つを提供する。
本発明のアプリケーション開発環境提供システムは、前記プログラム開発部においてアプリケーションプログラムを開発又は実行する際に用いられるツールを提供するライブラリ(53)を更に備える。
本発明のアプリケーション開発環境提供システムは、前記ライブラリが、類似波形検索ツール、回帰分析ツール、重回帰分析ツール、MT法分析ツール、誤差分散分析ツール、データドリブンモデリングツール、ディープラーニングツール、及び相関分析ツールのうちの少なくとも一つを提供する。
本発明のアプリケーション開発環境提供方法は、ネットワークを介してアプリケーションプログラムの開発環境を提供するアプリケーション開発環境提供方法であって、前記開発環境を利用するテナントの指示によって、前記アプリケーションプログラムで利用されるデバイスノード(11)を識別する第1情報を特定し(S105、S106)、特定された前記第1情報と、前記第1情報の特定を行ったテナントに関する第2情報との関連付けを行い(S109)、前記デバイスノードの使用を制限或いは許可する管理処理を行う(S112~S114)。
本発明のアプリケーション開発環境提供方法は、ネットワークに接続された前記デバイスノードの前記第1情報が蓄積される蓄積部(32、42)から、特定された前記第1情報を検索し(S107)、特定された前記第1情報が検索されたときに、前記第1情報と前記第2情報との関連付けを行う。
本発明のアプリケーション開発環境提供方法は、前記第1情報の特定を行ったテナントに属するサイト及びアカウントのうち、特定のサイト及びアカウントに前記デバイスノードを割り当てるステップと、前記サイト及び前記アカウント毎に、前記デバイスノードに対するアクセス権を設定するステップと、前記デバイスノードの利用を特定のアプリケーションプログラムのみに制限或いは許可するステップと、の少なくとも1つを含む。
本発明のコンピュータ読み取り可能な非一時的記憶媒体は、コンピュータによって実行される一以上のプログラムを記憶するコンピュータ読み取り可能な非一時的記憶媒体であって、前記一以上のプログラムは、ネットワークを介してアプリケーションプログラムの開発環境を提供し、前記開発環境を利用するテナントの指示によって、前記アプリケーションプログラムで利用されるデバイスノード(11)を識別する第1情報が特定された場合に、特定された前記第1情報と、前記第1情報の特定を行ったテナントに関する第2情報との関連付けを行い、前記デバイスノードの使用を制限或いは許可する管理処理を行う。
本発明の端末装置は、ネットワークを介して提供されるアプリケーションプログラムの開発環境に通信接続される端末装置(16)において、前記開発環境を利用するテナントの指示によって特定された前記アプリケーションプログラムで利用されるデバイスノードを識別する第1情報と、該第1情報の特定を行ったテナントに関する第2情報との関連付けが行われて、前記デバイスノードの使用を制限或いは許可する管理処理が行われた前記デバイスノードを表示する表示部を備える。
本発明の端末装置は、前記管理処理が、前記第1情報の特定を行ったテナントに属するサイト及びアカウントのうち、特定のサイト及びアカウントに前記デバイスノードを割り当てる第1処理と、前記サイト及び前記アカウント毎に、前記デバイスノードに対するアクセス権を設定する第2処理と、前記デバイスノードの利用を特定のアプリケーションプログラムのみに制限或いは許可する第3処理と、の少なくとも1つを含む。
本発明の端末装置は、前記管理処理が行われた前記デバイスノードを、アプリケーション開発画面に開発パーツとして表示する。
本発明の端末装置は、前記アプリケーション開発画面が、前記管理処理が行われた前記デバイスノードが表示される開発パーツ一覧表示領域(E1)と、前記アプリケーションプログラムの構造を視覚的に表示するとともに、前記アプリケーションプログラムの作成及び編集が可能なアプリケーション設計領域(E2)と、を有する。
本発明のアプリケーション開発環境提供システムは、前記管理部が、前記第1情報が特定された場合に、ネットワークに接続された前記デバイスノードの前記第1情報が蓄積される蓄積部(32、42)を検索し、特定された前記第1情報が検索されたときに、前記第1情報と前記第2情報との関連付けを行う。
本発明のアプリケーション開発環境提供システムは、前記管理部が、前記第1情報に対応する認証情報がある場合には、前記蓄積部に蓄積された認証情報と、前記テナントによって前記第1情報とともに指示される認証情報とを用いて認証処理を行う。
本発明のアプリケーション開発環境提供システムは、前記管理処理が、前記第1情報の特定を行ったテナントに属するサイト及びアカウントのうち、特定のサイト及びアカウントに前記デバイスノードを割り当てる第1処理と、前記サイト及び前記アカウント毎に、前記デバイスノードに対するアクセス権を設定する第2処理と、前記デバイスノードの利用を特定のアプリケーションプログラムのみに制限或いは許可する第3処理と、の少なくとも1つを含む。
本発明のアプリケーション開発環境提供システムは、前記管理処理が行われた前記デバイスノードを、アプリケーション開発画面に開発パーツとして表示する。
本発明のアプリケーション開発環境提供システムは、前記アプリケーション開発画面が、前記管理処理が行われた前記デバイスノードが表示される開発パーツ一覧表示領域(E1)と、前記アプリケーションプログラムの構造を視覚的に表示するとともに、前記アプリケーションプログラムの作成及び編集が可能なアプリケーション設計領域(E2)と、を有する。
本発明のアプリケーション開発環境提供システムは、前記アプリケーション開発環境をユーザへ提供し、視覚的に前記アプリケーションプログラムを表示するプログラム開発部(51)を更に備える。
本発明のアプリケーション開発環境提供システムは、前記プログラム開発部が、レイアウト情報、結線情報、パラメータ情報、及び選択領域情報に基づいて、視覚的に前記アプリケーションプログラムを表示し、前記レイアウト情報が、前記アプリケーションプログラムの処理の形態を示す情報であり、前記結線情報が、入力データ項目と、処理内容であるロジックと、処理結果である出力データ項目とを結ぶ導線に関する情報であり、前記パラメータ情報が、前記アプリケーションプログラムにおいて設定されるパラメータの設定値を示す情報であり、前記選択領域情報が、前記アプリケーションプログラムの一連の処理の中で、ユーザによって選択された一部の処理を示す情報である。
本発明のアプリケーション開発環境提供システムは、前記アプリケーションプログラムの一部又は全部を、設定情報も含めて送受信するコミュニケーション部(52)を更に備える。
本発明のアプリケーション開発環境提供システムは、前記コミュニケーション部が、チャット機能、ビデオコミュニケーション機能、音声通話機能、画面共有機能、及びコミュニティ機能のうちの少なくとも一つを提供する。
本発明のアプリケーション開発環境提供システムは、前記プログラム開発部においてアプリケーションプログラムを開発又は実行する際に用いられるツールを提供するライブラリ(53)を更に備える。
本発明のアプリケーション開発環境提供システムは、前記ライブラリが、類似波形検索ツール、回帰分析ツール、重回帰分析ツール、MT法分析ツール、誤差分散分析ツール、データドリブンモデリングツール、ディープラーニングツール、及び相関分析ツールのうちの少なくとも一つを提供する。
本発明のアプリケーション開発環境提供方法は、ネットワークを介してアプリケーションプログラムの開発環境を提供するアプリケーション開発環境提供方法であって、前記開発環境を利用するテナントの指示によって、前記アプリケーションプログラムで利用されるデバイスノード(11)を識別する第1情報を特定し(S105、S106)、特定された前記第1情報と、前記第1情報の特定を行ったテナントに関する第2情報との関連付けを行い(S109)、前記デバイスノードの使用を制限或いは許可する管理処理を行う(S112~S114)。
本発明のアプリケーション開発環境提供方法は、ネットワークに接続された前記デバイスノードの前記第1情報が蓄積される蓄積部(32、42)から、特定された前記第1情報を検索し(S107)、特定された前記第1情報が検索されたときに、前記第1情報と前記第2情報との関連付けを行う。
本発明のアプリケーション開発環境提供方法は、前記第1情報の特定を行ったテナントに属するサイト及びアカウントのうち、特定のサイト及びアカウントに前記デバイスノードを割り当てるステップと、前記サイト及び前記アカウント毎に、前記デバイスノードに対するアクセス権を設定するステップと、前記デバイスノードの利用を特定のアプリケーションプログラムのみに制限或いは許可するステップと、の少なくとも1つを含む。
本発明のコンピュータ読み取り可能な非一時的記憶媒体は、コンピュータによって実行される一以上のプログラムを記憶するコンピュータ読み取り可能な非一時的記憶媒体であって、前記一以上のプログラムは、ネットワークを介してアプリケーションプログラムの開発環境を提供し、前記開発環境を利用するテナントの指示によって、前記アプリケーションプログラムで利用されるデバイスノード(11)を識別する第1情報が特定された場合に、特定された前記第1情報と、前記第1情報の特定を行ったテナントに関する第2情報との関連付けを行い、前記デバイスノードの使用を制限或いは許可する管理処理を行う。
本発明の端末装置は、ネットワークを介して提供されるアプリケーションプログラムの開発環境に通信接続される端末装置(16)において、前記開発環境を利用するテナントの指示によって特定された前記アプリケーションプログラムで利用されるデバイスノードを識別する第1情報と、該第1情報の特定を行ったテナントに関する第2情報との関連付けが行われて、前記デバイスノードの使用を制限或いは許可する管理処理が行われた前記デバイスノードを表示する表示部を備える。
本発明の端末装置は、前記管理処理が、前記第1情報の特定を行ったテナントに属するサイト及びアカウントのうち、特定のサイト及びアカウントに前記デバイスノードを割り当てる第1処理と、前記サイト及び前記アカウント毎に、前記デバイスノードに対するアクセス権を設定する第2処理と、前記デバイスノードの利用を特定のアプリケーションプログラムのみに制限或いは許可する第3処理と、の少なくとも1つを含む。
本発明の端末装置は、前記管理処理が行われた前記デバイスノードを、アプリケーション開発画面に開発パーツとして表示する。
本発明の端末装置は、前記アプリケーション開発画面が、前記管理処理が行われた前記デバイスノードが表示される開発パーツ一覧表示領域(E1)と、前記アプリケーションプログラムの構造を視覚的に表示するとともに、前記アプリケーションプログラムの作成及び編集が可能なアプリケーション設計領域(E2)と、を有する。
本発明の更なる特徴及び態様は、添付図面を参照し、以下に述べる実施形態の詳細な説明から明らかとなるであろう。
本発明によれば、アプリケーション開発環境提供システムを利用するテナントの指示によって、アプリケーションプログラムで利用されるデバイスノードの個体識別情報が特定された場合に、特定された個体識別情報と、その個体識別情報の特定を行ったテナントとの関連付けを行い、デバイスノードの使用を制限或いは許可する管理処理を行うようにしている。このため、セキュリティを確保しつつ、クラウドコンピューティング環境において用いられるアプリケーションプログラムの効率的な開発及び導入を実現することが可能である。
本発明の実施形態を、好ましい実施形態を参照して説明する。当業者は、本発明の教示を用いて本実施形態の多くの代替手段を達成することができ、本発明は、ここで説明される好ましい本実施形態に限定されない。
本発明の一態様は、セキュリティを確保しつつ、クラウドコンピューティング環境において用いられるアプリケーションプログラムの効率的な開発及び導入を実現することが可能なアプリケーション開発環境提供システム、アプリケーション開発環境提供方法、コンピュータ読み取り可能な非一時的記録媒体、及び端末装置を提供することである。
以下、図面を参照して本発明の一実施形態によるアプリケーション開発環境提供システム、アプリケーション開発環境提供方法、アプリケーション開発環境提供プログラム、及び端末装置について詳細に説明する。本実施形態で提供される開発環境は、通信ネットワークに接続されるセンサー、デバイス、及びシステム等から送信されるデータを入力値として演算処理等を行う、IoT(Internet Of Things:モノのインターネット)又はIIoT(Industrial Internet Of Things:産業用IoT)の基本ソフトウェア、アプリケーション、及びソリューション等(以下、これらを総称する場合には、「アプリケーション」という)のプログラムを開発するためのものである。
〈アプリケーション開発環境提供システム〉
図1は、本発明の一実施形態によるアプリケーション開発環境提供システムのシステム概要を示す概略図である。図1に示す通り、アプリケーション開発環境提供システム1は、クラウドコンピューティング環境において、デバイスノード11、スパイナルノード12、インテリジェンスノード13、及びソーシャリゼーションノード14の4階層の階層構造によって構成されるシステムである。このアプリケーション開発環境提供システム1には、図1に示される通り、インテリジェンスノード13にシングスクラウド15及び端末装置16が接続される。
図1は、本発明の一実施形態によるアプリケーション開発環境提供システムのシステム概要を示す概略図である。図1に示す通り、アプリケーション開発環境提供システム1は、クラウドコンピューティング環境において、デバイスノード11、スパイナルノード12、インテリジェンスノード13、及びソーシャリゼーションノード14の4階層の階層構造によって構成されるシステムである。このアプリケーション開発環境提供システム1には、図1に示される通り、インテリジェンスノード13にシングスクラウド15及び端末装置16が接続される。
デバイスノード11は、各種センサー、各種デバイス、及び各種システムによって構成される。各種センサーとは、例えば、温湿度センサー、圧力センサー、及び流量センサー等である。各種デバイスとは、例えば、制御装置であるPLC(プログラマブルロジックコントローラ)、車両内のCAN-BUS(Controller Area Network - BUS:バス型の制御ネットワーク)に接続されたOBD(On-Board Diagnostics:自己故障診断)デバイス、KPI(Key Performance Indicator:重要業績評価指標)モニター、特定のセンサーの現在値を表示する表示器、ランプ、ブザー、バルブ、及びロボットアーム等である。各種システムとは、例えば、DCS、ドローン管制システム、侵入検知システム、入室バッジリーダーが接続されたセキュリティシステム、及び照明やドアロックやエレベーターやスプリンクラーなどが接続されたビルディング・オートメーション・システム等である。
図1に例示するアプリケーション開発環境提供システム1においては、デバイスノード11の階層には、センサーによって構成されるデバイスノード11a、アクチュエータによって構成されるデバイスノード11b、センサーによって構成されるデバイスノード11c、及びセンサーによって構成されるデバイスノード11dが含まれる。以下では、これらのデバイスノード11a~11dを区別することなく総称する場合には、単に「デバイスノード11」という。
本実施形態に係るアプリケーション開発環境提供システム1のデバイスノード11は、説明を簡略化するため、センサーによって構成される3つのデバイスノード11a,11c,11dと、アクチュエータによって構成される1つのデバイスノード11bとによって構成されるものとしたが、これに限られない。デバイスノード11は、センサー、デバイス、或いはシステムによって構成される1つ以上のデバイスノードによって任意に構成可能である。
デバイスノード11を構成するセンサー、デバイス、及びシステム等には、データを送信する装置、データを受信して表示する装置、及びデータ受信してアクションを起こす装置等がある。これらセンサー、デバイス、及びシステム等は、例えば、プラグ・アンド・プレイに対応した装置である。これらセンサー、デバイス、及びシステム等は、例えば、複数のアプリケーションと同時に通信を行う機能を有する装置である。
例えば、デバイスノード11には、スパイナルノード12を構成する装置に通信接続する装置、インテリジェンスノード13を構成する装置に通信接続する装置、及びシングスクラウド15を構成する装置に通信接続する装置がある。スパイナルノード12を構成する装置に通信接続するデバイスノード11は、例えば、リアルタイム性を必要とする装置、データの遅延(データ通信の遅れ)や揺らぎ(データ通信速度のばらつき)等が許されないアプリケーションに使用される装置、及び大量のデータを生成するためインテリジェンスノード13に直接接続すると通信帯域を逼迫させてしまう恐れがある装置等である。
インテリジェンスノード13を構成する装置に通信接続するデバイスノード11は、スパイナルノード12を構成する装置に通信接続するデバイスノード11とは異なり、例えば、遅延や揺らぎ等に影響されないような用途で使用される装置である。シングスクラウド15を構成する装置に通信接続するデバイスノード11は、例えば、携帯電話網や衛星回線等の無線通信網を経由させる必要がある遠隔地に設置される装置、及び移動される装置等である。
図1に示す例において、デバイスノード11a及びデバイスノード11bは、例えばローカルエリアネットワーク(LAN)を介してスパイナルノード12を構成する装置に接続されている。デバイスノード11cは、例えばインターネットを介してインテリジェンスノード13を構成する装置に接続されている。デバイスノード11dは、例えばセルラー網を介してシングスクラウド15を構成する装置に接続されている。
スパイナルノード12は、サーバ装置によって構成され、ゲートウェイとして機能する。スパイナルノード12を構成するサーバ装置(以下、単に「スパイナルノード12」ともいう)は、クラウドコンピューティング環境において、少なくとも1つのデバイスノード11を収容する(即ち、論理的に接続、管理、又はデータの入出力を行う)サーバ装置である。
スパイナルノード12は、一般的には、例えば、ゲートウェイサーバ、フォグコンピュータ、又はエッジコンピュータ等と呼ばれる装置である。スパイナルノード12は、クラウドコンピューティング環境におけるサーバ装置(本実施形態においては、インテリジェンスノード13及びソーシャリゼーションノード14)と、デバイスノード11を構成するセンサー、デバイス、及びシステムとの間に設置される。
スパイナルノード12は、例えば、インテリジェンスノード13が通信することができない通信プロトコルによって通信を行うようなデバイスノード11からデータを受信する。スパイナルノード12は、受信したデータをインテリジェンスノード13が通信可能な通信プロトコルによってインテリジェンスノード13へ送信する。これにより、スパイナルノード12は、デバイスノード11からインテリジェンスノード13へのデータの転送を行う。例えば、スパイナルノード12は、インターネットプロトコルによる通信を行うことができないアナログセンサー等から送信された信号を、インターネットプロトコル以外の通信プロトコルによって受信する。スパイナルノード12は、受信した信号をデジタル変換して正規化した後、正規化した信号を、インターネットプロトコルによる通信によってインテリジェンスノード13を構成するサーバ装置(以下、単に「インテリジェンスノード13」ともいう)へ送信する。これにより、スパイナルノード12は、デバイスノード11からインテリジェンスノード13へのデータ転送を行う。
スパイナルノード12は、例えば、デバイスノード11から送信されたデータを受信し、受信したデータに対して、演算、解釈、及び判定等の処理を行い、処理結果をインテリジェンスノード13へ送信する。
スパイナルノード12は、例えば、デバイスノード11からデータを取得し、当該データに対して前処理を行った後、タイムスタンプ(発生時刻を表す記号)を付加してタイムシリーズデータとし、当該タイムシリーズデータを処理するロジックやアルゴリズム等をインテリジェンスノード13から取得して、当該ロジックや当該アルゴリズム等に基づいて当該タイムシリーズデータに対する処理(加工や判断等の処理)を実行する。スパイナルノード12は、例えば、必要に応じて又はインテリジェンスノード13からの指示に基づいて、インテリジェンスノード13に当該タイムシリーズデータを送信する。スパイナルノード12は、当該タイムシリーズデータと当該ロジックや当該アルゴリズム等に基づいて生成されたアクションを示す制御信号を、適切なデバイスノード11に対して送信する。
スパイナルノード12は、当該タイムシリーズデータをスパイナルノード12に設けられたタイムシリーズデータベース(図示せず)に一時保存する。これと同時に、スパイナルノード12は、インテリジェンスノード13の要求に応じて、インテリジェンスノード13に対して当該タイムシリーズデータを送信する。更に、スパイナルノード12は、タイムシリーズデータベースに一時保存したタイムシリーズデータを、古いデータから順に非同期的に、ヒストリアン(図示せず)に対してセキュリティを確保された通信経路を経由して送信する。ヒストリアンは、インテリジェンスノード13に直接接続されてもよい。この場合、インテリジェンスノード13は、ローカル環境にヒストリアンが存在するかのようにヒストリアンを参照・利用することができる。
スパイナルノード12には、スパイナルノード12に接続された初期状態のデバイスノードを識別するための情報を蓄積するデバイスプール領域32(図4参照)が設けられている。このデバイスプール領域32は、スパイナルノード12に接続されているデバイスノードのうち、新規に利用可能なデバイスノードを識別するための情報が格納される領域である。デバイスプール領域32に蓄積される具体的な情報は、予めデバイスノードに一意に割り当てられた個体識別情報、或いは、個体識別情報及び認証用の固有パスコード(認証情報)である。このような情報は、例えばデバイスノードがスパイナルノード12に接続されたときに、プラグ・アンド・プレイによってデバイスノードから自動的にスパイナルノード12に送信されて、デバイスプール領域32に蓄積される。
スパイナルノード12が単一のハードウェアによって構成されるような場合には、スパイナルノード12において故障や異常な動作が発生した場合に備えて、スパイナルノード12に通信接続するデバイスノード11は、2つ以上のスパイナルノード12に対して並行してデータを送信するようにしてもよい。デバイスノード11がインターネットプロトコルによって通信する装置である場合には、デバイスノード11が、マルチキャストやブロードキャストなどの技術を利用してデータ及び制御信号等を通信ネットワークへ送出し、複数のスパイナルノード12が当該データ及び当該制御信号等を並行して受信することにより冗長化を行ってもよい。
インテリジェンスノード13、ソーシャリゼーションノード14、及びシングスクラウド15は、クラウドコンピューティング環境を提供するサーバ装置及びネットワーク機器等を含む。ここで、クラウドコンピューティング環境とは、インターネット等のネットワークに接続されたサーバにより各種のサービスを提供する環境である。インテリジェンスノード13、ソーシャリゼーションノード14、及びシングスクラウド15は、別々の装置によって物理的に分けられてもよいし、単一の装置の中で論理的に分けられてもよい。
インテリジェンスノード13を構成する装置は、企業内のアプリケーションを共同開発する複数の部門やグループ等の組織(以下、「サイト」ともいう)の間、及び複数の従業員(以下、「アカウント」又は「ユーザ」ともいう)の間において、アプリケーション開発環境やアプリケーション実行環境を共同利用できるようにするための機能を提供する。ソーシャリゼーションノード14を構成する装置(以下、単に「ソーシャリゼーションノード14」ともいう)は、アプリケーションを共同開発する複数の企業(以下、「テナント」ともいう)間、アプリケーションを提供する企業とアプリケーションを利用する企業顧客との間、及び企業と個人との間において、アプリケーション開発環境やアプリケーション実行環境を共同利用できるようにするための機能を提供する。
アプリケーション開発環境とは、クラウドコンピューティング環境において、通信ネットワークに接続されるセンサー、デバイス、及びシステム等から送信されるデータを入力値として演算処理等を行う、IoT又はIIoTの基本ソフトウェア、アプリケーション、及びソリューション等のプログラム開発をするための開発環境である。アプリケーション実行環境とは、クラウドコンピューティング環境において、通信ネットワークに接続されるセンサー、デバイス、及びシステム等から送信されるデータを入力値として演算処理等を行う、IoT又はIIoTの基本ソフトウェア、アプリケーション、及びソリューション等のプログラムを実行するための環境である。
以下、インテリジェンスノード13及びソーシャリゼーションノード14によって構成される、企業間、企業と個人、及び企業内のユーザ間において共同で利用可能な、本発明におけるアプリケーション開発環境及びアプリケーション実行環境等を総称して、Co-innovationスペース(共創空間)という。Co-innovationスペースは、クラウドコンピューティング環境における仮想の空間である。また、Co-innovationスペースは、企業(テナント)単位、又は組織(サイト)単位等で区切られた、互いに安全に隔離されたアプリケーション共創のための空間である。
Co-innovationスペースのアーキテクチャを用いることにより、例えば、ビッグデータを用いたコンサルテーション、各種制御、アセット・マネジメント、リモートセンシング、リモートモニタリング、KAIZEN(改善)活動支援等を行うためのアプリケーションの開発、及びMESやDCS等のシステムの開発を行うことができる。Co-innovationスペースは、クラウドコンピューティング環境において実装される代わりに、ローカル環境のデータセンターのサーバ装置において実装されてもよい。
上述のCo-innovationスペースのアーキテクチャは、インテリジェンスノード13及びソーシャリゼーションノード14を構成する1又は複数の装置により提供されてもよい。このCo-innovationスペースのアーキテクチャにおける記憶領域は、インテリジェンスノード13及びソーシャリゼーションノード14を構成する1又は複数の装置の記憶部であってもよく、或いは、複数の装置が有する記憶部の記憶領域のうちの一部を複数組み合わせて構成されてもよい。
インテリジェンスノード13及びソーシャリゼーションノード14は、上述した通り、サーバ装置において動作し、Co-innovationスペースがインテリジェンスノード13及びソーシャリゼーションノード14に実装される。インテリジェンスノード13は、Co-innovationスペースの主要な機能を有する。一方、ソーシャリゼーションノード14は、Co-innovationスペースが有する機能の中で、企業間、又は企業と個人との間でアプリケーションプログラムの共有や売買、及びコミュニケーション等が行われる場合に必要となる機能を有する。
インテリジェンスノード13は、インテリジェンスノード13と通信接続する、スパイナルノード12の管理、デバイスノード11の管理を行う。ユーザは、ヒューマンマシンインターフェイス(HMI)を通じてインテリジェンスノード13にアクセスし、Co-innovationスペースを利用する。このヒューマンマシンインターフェイスは、例えば図1に示す端末装置16であってよい。
インテリジェンスノード13には、インテリジェンスノード13に接続された初期状態のデバイスノードを識別するための情報(前述した個体識別情報、或いは、個体識別情報及び固有パスコード)を蓄積するデバイスプール領域(蓄積部)(図示省略)が設けられている。このデバイスプール領域は、インテリジェンスノード13に接続されているデバイスノードのうち、新規に利用可能なデバイスノードを識別するための情報が格納される領域である。このような情報は、例えばデバイスノードがインテリジェンスノード13に接続されたときに、プラグ・アンド・プレイによってデバイスノードから自動的にインテリジェンスノード13に送信されてデバイスプール領域に蓄積される。
インテリジェンスノード13は、様々な外部のシステムと連携するための多様な外部インターフェイスを有している。例えば、インテリジェンスノード13は、外部のIoT及びIIoTクラウドコンピューティング環境、外部の課金システム、及び外部のデータベースシステム等との連携することができる。このように、インテリジェンスノード13が外部の様々なシステムと幅広く連携することができることによって、インテリジェンスノード13は、様々なIoTクラウドコンピューティング環境において、外部の様々なシステムと幅広く連携したCo-innovationスペース及びCo-innovationスペース上のアプリケーションを構築することができる。
インテリジェンスノード13が様々な外部のシステムと連携するための多様な外部インターフェイスを有していることによって、インテリジェンスノード13は、IoT及びIIoTクラウドコンピューティング環境が提供するインターフェイス群を活用することができる。このため、顧客企業における業務プロセスのサプライチェーン全体、及びライフサイクル全体を対象としたソリューションを開発することができる。
シングスクラウド15は、デバイスノードをクラウド(具体的には、インテリジェンスノード13)に接続するためのプラットフォームのサービスを提供する。このシングスクラウド15には、シングスクラウド15に接続された初期状態のデバイスノードを識別するための情報(前述した個体識別情報、或いは、個体識別情報及び固有パスコード)を蓄積するデバイスプール領域42(図5参照)が設けられている。このデバイスプール領域42は、シングスクラウド15に接続されているデバイスノードのうち、新規に利用可能なデバイスノードを識別するための情報が格納される領域である。このような情報は、例えばデバイスノードがシングスクラウド15に接続されたときに、プラグ・アンド・プレイによってデバイスノードから自動的にシングスクラウド15に送信されてデバイスプール領域42に蓄積される。
上述のデバイスノードをクラウド(インテリジェンスノード13)に接続するためのプラットフォームのサービスは、シングスクラウド15を構成する1又は複数の装置により提供されてもよい。このデバイスプール領域42は、シングスクラウド15を構成する1又は複数の装置の記憶部であってもよく、或いは、複数の装置が有する記憶部の記憶領域のうちの一部を複数組み合わせて構成されてもよい。
端末装置16は、ネットワークを介して提供されるアプリケーションプログラムの開発環境(アプリケーション開発環境提供システム1によって提供される開発環境)に通信接続される装置である。この端末装置16は、例えばキーボード等の入力装置、液晶表示装置等の表示装置(表示部)、CPU(中央処理装置)やRAM等を備えるパーソナルコンピュータによって実現される。パーソナルコンピュータの型は、例えば、デスクトップ型、ノート型、タブレット型等の何れであっても良い。
〈デバイスノードとインテリジェンスノードとの間の接続形態〉
図2は、スパイナルノードを介したデバイスノードとインテリジェンスノードとの間の接続形態の一例を示す図である。図2に示す通り、デバイスノード11aとスパイナルノード12とは、ローカルエリアネットワークN11を介して接続される。スパイナルノード12とインテリジェンスノード13とは、ローカルエリアネットワーク、専用線、又はインターネットVPN(Virtual Private Network)等の通信網N12を介して接続される。スパイナルノード12は、監視・管理ツールM1により管理される。
図2は、スパイナルノードを介したデバイスノードとインテリジェンスノードとの間の接続形態の一例を示す図である。図2に示す通り、デバイスノード11aとスパイナルノード12とは、ローカルエリアネットワークN11を介して接続される。スパイナルノード12とインテリジェンスノード13とは、ローカルエリアネットワーク、専用線、又はインターネットVPN(Virtual Private Network)等の通信網N12を介して接続される。スパイナルノード12は、監視・管理ツールM1により管理される。
図3は、シングスクラウドを介したデバイスノードとインテリジェンスノードとの間の接続形態の一例を示す図である。図3に示す通り、デバイスノード11dとシングスクラウド15とは、例えばセルラー網N21及び専用線N22を介して接続される。シングスクラウド15とインテリジェンスノード13とは、専用線又はインターネットVPN等の通信網N23を介して接続される。シングスクラウド15は、監視・管理センターM2により管理される。
図2に示すデバイスノード11a、及び図3に示すデバイスノード11dはそれぞれ、個体識別情報(或いは、個体識別情報及び固有パスコード)を内部に保持している。そして、例えば図2示すデバイスノード11aの設置が完了すると、プラグ・アンド・プレイによってデバイスノード11aの個体識別情報等がローカルエリアネットワークN11を介してスパイナルノード12に送信される。例えば、図3に示すデバイスノード11dの設置が完了すると、プラグ・アンド・プレイによってデバイスノード11dの個体識別情報等がセルラー網N21及び専用線N22を介してシングスクラウド15に送信される。
図4は、図2に示す接続形態における個体識別情報の授受に係る構成を示すブロック図である。図4に示す通り、デバイスノード11aは、個体識別情報保存部21、アクティベーション操作部22、及び個体識別情報送信部23を備える。個体識別情報保存部21は、上述の個体識別情報(或いは、個体識別情報及び固有パスコード)を保存する。アクティベーション操作部22は、プラグ・アンド・プレイによるアクティベーション操作で、個体識別情報送信部23に対し、個体識別情報(或いは、個体識別情報及び固有パスコード)の送信を指示する。個体識別情報送信部23は、アクティベーション操作部22の指示に基づいて、個体識別情報保存部21から個体識別情報(或いは、個体識別情報及び固有パスコード)を読み出して、個体識別情報を外部(例えば、ローカルエリアネットワークN11)に送信する。
スパイナルノード12は、個体識別情報受信部31及びデバイスプール領域32(蓄積部)を備える。個体識別情報受信部31は、デバイスノード11aからローカルエリアネットワークN11を介して送信されてきた個体識別情報(或いは、個体識別情報及び固有パスコード)を受信する。デバイスプール領域32は、個体識別情報受信部31で受信された個体識別情報(或いは、個体識別情報及び固有パスコード)をデバイスリストに保存する。
図5は、図3に示す接続形態における個体識別情報の授受に係る構成を示すブロック図である。図5に示す通り、デバイスノード11dは、図4に示すデバイスノード11aと同様に、個体識別情報保存部21、アクティベーション操作部22、及び個体識別情報送信部23を備える。このようなデバイスノード11dでは、アクティベーション操作部22の指示に基づいて、個体識別情報送信部23が、個体識別情報保存部21から個体識別情報(或いは、個体識別情報及び固有パスコード)を読み出し、個体識別情報を外部(例えば、セルラー網N21)に送信する。
シングスクラウド15は、個体識別情報受信部41及びデバイスプール領域42(蓄積部)を備える。個体識別情報受信部41は、デバイスノード11dからセルラー網N21及び専用線N22を順に介して送信されてきた個体識別情報(或いは、個体識別情報及び固有パスコード)を受信する。デバイスプール領域42は、個体識別情報受信部41で受信された個体識別情報(或いは、個体識別情報及び固有パスコード)をデバイスリストに保存する。
〈Co-innovationスペースの機能構成〉
図6は、本発明の一実施形態によるアプリケーション開発環境提供システムに実装されるCo-innovationスペースの機能構成図である。Co-innovationスペースの機能は、インテリジェンスノード13及びソーシャリゼーションノード14の何れか一方のみで実現されても良く、インテリジェンスノード13及びソーシャリゼーションノード14の双方で実現されても良い。本実施形態では、説明を簡単にするために、Co-innovationスペースの機能が、インテリジェンスノード13で実現されるものとする。
図6は、本発明の一実施形態によるアプリケーション開発環境提供システムに実装されるCo-innovationスペースの機能構成図である。Co-innovationスペースの機能は、インテリジェンスノード13及びソーシャリゼーションノード14の何れか一方のみで実現されても良く、インテリジェンスノード13及びソーシャリゼーションノード14の双方で実現されても良い。本実施形態では、説明を簡単にするために、Co-innovationスペースの機能が、インテリジェンスノード13で実現されるものとする。
図6に示す通り、インテリジェンスノード13で実現されるCo-innovationスペースは、アプリケーションボード51、コミュニケーションツール52、ライブラリ53、ストレージ54、デバイス管理部55(管理部、管理手段)、テナント管理部56、サイト・アカウント管理部57、アプリケーションストア58、課金部59、及びデータベース部60を備える。
アプリケーションボード51(プログラム開発部)は、マルチテナント、マルチサイト、及びマルチアカウントのアプリケーション開発環境及びアプリケーション実行環境をユーザへ提供する。アプリケーションボード51は、コンパイラや、ユーザに対して視覚的にアプリケーションプログラムを表示させることができる表示部等の機能を有する。表示部は、Co-innovationスペースを示す画像を表示し、当該Co-innovationスペースにおいて、レイアウト情報、結線情報、パラメータ情報、及び選択領域情報等に基づいて、視覚的にアプリケーションプログラムを表示する。
レイアウト情報とは、開発対象であるアプリケーションプログラムの処理の形態を示す情報である。例えば、レイアウト情報には、開発対象であるアプリケーションプログラムが、多入力2出力の処理を行うアプリケーションであること、或いは多入力多出力の処理を行うアプリケーションであること、或いは1入力多出力の処理を行うアプリケーションであること等を示す情報が含まれる。
結線情報とは、開発対象であるアプリケーションプログラムにおける、入力データ項目と、処理内容であるロジックと、処理結果である出力データ項目とをそれぞれ導線で結ぶことによってデータ項目やロジック間の関係性を視覚的に示す図を生成する際に定義される、当該導線に関する情報である。パラメータ情報とは、開発対象であるアプリケーションプログラムにおいて設定される各種パラメータの設定値を示す情報である。
選択領域情報とは、開発対象であるアプリケーションプログラムの一連の処理の中で、ユーザによる操作等によって選択(指定)された一部の処理を示す情報である。例えば、アプリケーションボード51によって視覚的に表示されたアプリケーションプログラムに対して、ユーザは当該アプリケーションプログラムの一部の領域を、マウス等を操作して囲むことにより、囲まれた領域を示す選択領域情報が生成される。
コミュニケーションツール52は、ユーザ間で利用されるチャット機能、ビデオコミュニケーション機能、音声通話機能、画面共有機能、及び掲示板やソーシャルネットワークサービス(SNS)等のコミュニティ機能等を提供する。例えば、チャット機能は、テキストデータ(例えば、ソースコード等)、画像データ、及びプログラムの実行ファイル等だけでなく、開発対象であるアプリケーションプログラムの一部又は全部を、パラメータ値等の設定情報も含めてユーザ間で送受信して共有することができる。
ライブラリ53は、アプリケーションボード51においてアプリケーションプログラムを開発又は実行する際に用いられる、汎用的な、処理ロジック、テンプレート、分析ツール、及びヒストリアン(履歴情報や実績情報が格納されたデータベース)等を提供する。例えば、ライブラリ53は、類似波形検索ツール、回帰分析ツール、重回帰分析ツール、MT法分析ツール、誤差分散分析ツール、データドリブンモデリングツール、ディープラーニングツール、及び相関分析ツール等の様々な分析ツールを記憶している。
ストレージ54は、各種情報(例えば、開発したアプリケーションプログラムや分析結果データ等)を、一般公開される情報と、テナント共用の情報と、サイト共用の情報と、アカウント個人用の情報とに区別して、それぞれ一般公開用の記憶領域、テナント共用の記憶領域、サイト共用の記憶領域、又はアカウント個人用の記憶領域に記憶する。各ユーザが、各種情報をどの記憶領域に保存可能であるかについては、予めテナントの管理者によってユーザごとに設定された権限に基づいて制御されてもよい。ストレージ54は、記憶媒体、例えば、ハードディスクドライブ(HDD)、フラッシュメモリ、イーイーピーロム(EEPROM)、RAM(読み書き可能なメモリ)、ROM(読み出し専用メモリ)、又はそれらの任意の組み合わせであってよい。
デバイス管理部55は、インテリジェンスノード13が収容するデバイスノード11を構成するセンサー、デバイス、及びシステム等の情報を管理する。例えば、デバイス管理部55は、デバイスノード11の収容のために用いられる、デバイスノード11に付与された識別情報と、アカウント、サイト、及びテナントの識別情報とを関連付けた情報等を管理する。
インテリジェンスノード13のデバイス管理部55は、スパイナルノード12が収容するデバイスノード11を構成するセンサー、デバイス、及びシステム等の情報を、スパイナルノード12を介して取得して管理してもよい。又は、スパイナルノード12が当該情報を管理して、インテリジェンスノード13のデバイス管理部55が当該情報をスパイナルノード12から取得してもよい。
テナント管理部56は、テナント(企業)に関する各種情報を管理する。例えば、テナント管理部56は、テナントの基礎情報、課金情報、操作権限、及び承認権限等の情報に対して、設定、変更、削除等を行う。例えば、テナント管理部56は、Co-innovationスペースの利用、及び有料又は無料の、アプリケーション、ツール、テンプレート、及びデータ等の利用に伴う契約に関する契約情報をテナントごとに管理する。
サイト・アカウント管理部57は、サイト(組織)及びアカウント(ユーザ)に関する各種情報を管理する。例えば、サイト・アカウント管理部57は、サイト及びアカウントの基礎情報、課金情報、操作権限、及び承認権限等の情報に対して、設定、変更、削除等を行う。
アプリケーションストア58は、ユーザが、アプリケーションプログラムの一部又は全部、ロジック、テンプレート、及びデータ等(以下、単にアプリケーション等と言う)の売買を行うための機能である。アプリケーションストア58によって販売されるアプリケーション等に対して、月額課金、年額課金、利用度に応じた課金、又はワンタイムの課金等の、任意の課金方法で課金できるようにしてもよい。アプリケーションストア58によって販売されているアプリケーション等のうち特定のアプリケーション等については、ユーザが使用開始した日から一定期間(例えば、一か月間)は無料のお試し期間として、課金が発生しないようにしてもよい。
課金部59は、アプリケーションストア58によって販売されているアプリケーション等を購入したユーザに対する課金処理を行う。課金部59は、Co-innovationスペースの利用に対して課金処理を行うようにしてもよい。課金先は、テナント、サイト、又はアカウントごとに予め登録することができるようにしてもよい。購入されたアプリケーション等が、ユーザによってアプリケーションストア58に登録されたアプリケーション等である場合には、当該アプリケーション等を購入したユーザに対して課金を行って徴収した金額の一部を、アプリケーション等を登録したユーザへ支払ってもよい。
データベース部60は、アプリケーションの動作に必要な生産管理情報、プラント運転管理情報、品質情報等のデータをデータベースとして保持し、アプリケーションの要求に応じて必要なデータを提供する。このデータベースは、SQLなどの一般的なデータベースでもよいし、非SQLの特定用途のデータベースでもよい。このデータベースは、テナント、サイト、またはアカウントごとに設定されてもよく、データの内容に応じて、管理者が個別にアクセス権限を設定してもよい。これらのデータベースは、Co-innovationスペースの外側にある外部のデータベースを参照してもよい。
〈デバイスノードの収容〉
次に、デバイスノードのシステムへの収容について説明する。ここで、デバイスノードのシステムへの収容とは、システムにデバイスノードを論理的に接続し、管理し、入出力することを意味する。図4,図5を用いて説明した通り、デバイスノード11は、個体識別情報(或いは、個体識別情報及び固有パスコード)を内部の個体識別情報保存部21に保持している。デバイスノード11は、プラグ・アンド・プレイによって、スパイナルノード12やシングスクラウド15に対して個体識別情報等を送信する。デバイスノード11からの個体識別情報等がスパイナルノード12やシングスクラウド15で受信されると、デバイスプール領域32やデバイスプール領域42に蓄積される。
次に、デバイスノードのシステムへの収容について説明する。ここで、デバイスノードのシステムへの収容とは、システムにデバイスノードを論理的に接続し、管理し、入出力することを意味する。図4,図5を用いて説明した通り、デバイスノード11は、個体識別情報(或いは、個体識別情報及び固有パスコード)を内部の個体識別情報保存部21に保持している。デバイスノード11は、プラグ・アンド・プレイによって、スパイナルノード12やシングスクラウド15に対して個体識別情報等を送信する。デバイスノード11からの個体識別情報等がスパイナルノード12やシングスクラウド15で受信されると、デバイスプール領域32やデバイスプール領域42に蓄積される。
このとき、セキュリティの観点から、個々のデバイスノードの存在を他テナントから知られてはならない場合がある。また、他ユーザ、他サイトからのアクセスを制限したい場合もある。更に、デバイスの収容を容易にすることは、設置作業の効率化の観点とコスト削減の観点で極めて重要である。これを実現するために、本実施形態では、図7に示す通り、アクティベーテド(ACTIVATED)状態ST1、レジスタード(REGISTERD)状態ST2、アロケーテド(ALLOCATED)状態ST3、アサインド(ASSIGNED)状態ST4、及びアプロックド(APPLOCKED)状態ST5の5つの状態が定義されている。
図7は、デバイスノードの収容時における状態遷移を示す状態遷移図である。まず、デバイスノード11は、工場出荷時において初期状態になっている。初期状態からアクティベーション(Activation)という操作をすることにより、デバイスノード11がアクティベーテド状態ST1に遷移する。アクティベーテド状態ST1は、アクティベーションが完了したデバイスノード11が、スパイナルノード12又はシングスクラウド15で認識された状態である。
このとき、スパイナルノード12又はシングスクラウド15を構成する1又は複数の装置は、これらの装置から成る図示しない記憶部又は記憶領域に記憶されているデバイスノードの各状態を管理するための状態管理ファイルを用いて、アクティベーションが完了したデバイスノード11の状態(状態情報)をアクティベート状態ST1に登録又は変更することにより、デバイスノードの状態遷移を管理しても良い。
通常、デバイスノード11をネットワークに接続し、電源を投入すると、プラグ・アンド・プレイにより、アクティベーションは完了する。デバイスノード11のネットワークへの接続は、セルラー網/無線網で収容するならば、電波の届く範囲内にデバイスノード11を置くことにより実現される。ファイバーやツイストペアで収容する場合、デバイスノード11のネットワークへの接続は、配線をデバイスノード11に接続する等により実現される。
アクティベーテド状態ST1では、アクティベーションが完了したデバイスノード11の個体識別情報等が、スパイナルノード12のデバイスプール領域32又はシングスクラウド15のデバイスプール領域42に蓄積されている。しかしながら、いかなるテナントもその存在を認識できない。これにより、デバイスノード11が意図されない乗っ取り、アタック、スキミングされることはない。
このような状態であったとしても、デバイスプール領域32,42に蓄積された個体識別情報等が、第三者に何らかの方法で知られてしまうと、レジストレーション(Registration)という操作(デバイスノード11とテナントの割り付けを行う操作)によって、デバイスノード11が乗っ取られたり、アタックされたり、スキミングされる危険性がある。固有パスコードは、このような危険性を少なくするために個体識別情報に付加される。
次に、レジストレーションという操作を行うことにより、デバイスノード11がレジスタード状態ST2に遷移する。レジスタード状態ST2は、デバイスノード11が特定のテナントに割り付けられた状態である。インテリジェンスノード13の中で、デバイスノード11の収容を行うテナントが、スパイナルノード12又はシングスクラウド15に個体識別情報を通知する。これにより、デバイスプール領域32,42に保持されているデバイスノード11の個体識別情報(第1情報)とテナント(第2情報)との関連付けが行われる。この関連付けは、図6に示すデバイス管理部55で行われる。関連付けが行われた個体識別情報がテナントのデバイス登録領域にコピーされ、デバイスプール領域32,42からは削除される。
このとき、インテリジェンスノード13により構成されるCo-innovationスペースのデバイス管理部55が、図示しない記憶部又は記憶領域に記憶されているデバイスノードの各状態を管理するための状態管理ファイルを用いて、登録が完了したデバイスノード11の状態(状態情報)をアクティベート状態ST1からレジスタード状態ST2に変更することで、状態遷移を管理しても良い。
前述した通り、テナント毎の空間は互いに安全に隔離されている。このため、この状態では、第三者テナントは収容したデバイスノード11を認識できず、このデバイスノード11を第三者テナントに割り付けることもできない。デバイスプール領域32,42に、個体識別情報及び固有パスコードが蓄積されている場合には、インテリジェンスノード13がデバイスの個体識別情報及び固有パスコードを同時に通知しなければ、テナントとデバイスプール領域32,42に保持されている個体識別情報との関連付けは行われない。
次に、アロケーション(Allocation)という操作(レジスタード状態ST2にあるデバイスノード11を当該テナントの管理者がサイトやアカウントに割り当てる操作)を行うことにより、デバイスノード11がアロケーテド状態ST3に遷移する。アロケーテド状態ST3は、デバイスノード11が特定のテナントやアカウントに割り当てられた状態である。このアロケーテド状態ST3では、各ユーザがインテリジェンスノード13の各自のアカウントのCo-innovationスペースにログインすると、各自のアカウントのCo-innovationスペース上でデバイスノード11を認識し、デバイスノード11をアプリケーション開発画面(図13参照)で利用することができる。
このとき、インテリジェンスノード13により構成されるCo-innovationスペースのデバイス管理部55が、図示しない記憶部又は記憶領域に記憶されているデバイスノードの各状態を管理するための状態管理ファイルを用いて、登録が完了したデバイスノード11の状態(状態情報)をレジスタード状態ST2からアロケーテド状態ST3に変更することで、状態遷移を管理しても良い。
次に、アサインメント(Assignment)という操作(テナントの管理者が、管理者権限でテナントにログインし、各テナント配下のサイトやアカウントに権限を設定する操作)を行うことにより、デバイスノード11がアサインド状態ST4に遷移する。アサインド状態ST4は、サイトやアカウント毎のアクセス権が設定された状態である。ここで、デバイスノード11は、初期状態では、テナント配下のどのサイトのどのアカウントからも認識され、利用可能な状態となっている。テナントの管理者が管理者権限でログインすることにより、サイト、アカウント、或いは別途設定するグループ毎に、R/O(リードオンリー:読み込みのみ)、R/W(リードライト:読み書き可能)、X(エグゼキューション)等の権限設定をすることができる。
このとき、インテリジェンスノード13により構成されるCo-innovationスペースのデバイス管理部55が、図示しない記憶部又は記憶領域に記憶されているデバイスノードの各状態を管理するための状態管理ファイルを用いて、登録が完了したデバイスノード11の状態(状態情報)をアロケーテド状態ST3からアサインド状態ST4に変更することで、状態遷移を管理しても良い。
次に、ロック(Lock)という操作(デバイスノード11の設定変更、停止、再起動等の権限を特定のアプリケーションに限定する操作)を行うことにより、デバイスノード11がアプロックド状態ST5に遷移する。アプロックド状態ST5は、デバイスノード11の利用が特定のアプリケーションのみに制限或いは許可された状態である。この状態は、デバイスノード11の設定変更、停止、再起動等を制限或いは許可し、デバイスノード11を安定的に利用できるようにするために設けられる。
ロックという操作は、どのアカウントでも実行することができ、テナントの管理者はそれを強制的に変更できる。アプロックド状態ST5になっているデバイスであっても、R/O(リードオンリー)の権限さえあれば、読み込みが可能である。アプロックド状態ST5となっているデバイスについて、他のアプリケーションのプログラムから利用するために設定変更をしようとすると、エラーが返され、ロックという操作を行っているユーザIDとアプリケーションIDが提示される。
このとき、インテリジェンスノード13により構成されるCo-innovationスペースのデバイス管理部55が、図示しない記憶部又は記憶領域に記憶されているデバイスノードの各状態を管理するための状態管理ファイルを用いて、登録が完了したデバイスノード11の状態(状態情報)をアサインド状態ST4からアプロックド状態ST5に変更することで、状態遷移を管理しても良い。
図8は、デバイスノードの収容時の処理を示すフローチャートである。図8に示すフローチャートは、収容されたデバイスノード11がレジスタード状態ST2に遷移するまでの処理を示している。ここでは、理解を容易にするために、スパイナルノード12に接続されたデバイスノード11が収容される場合を例に挙げて説明する。しかしながら、シングスクラウド15に接続されたデバイスノード11が収容される場合にも、同様の処理が行われる。
まず、インテリジェンスノード13は、スパイナルノード12に対し、収容しようとしているデバイスノードの個体識別情報を送信する(ステップS1)。この処理は、例えばユーザが端末装置16を操作して収容しようとしているデバイスノードの個体識別情報を入力することにより行われる。スパイナルノード12は、インテリジェンスノード13から送信されてきた個体識別情報を受信する(ステップS2)。すると、スパイナルノード12は、受信した個体識別情報と、デバイスプール領域32のデバイス固有情報リストとを比較し、個体識別情報が一致するものがあるか否かを判定する(ステップS3)。
個体識別情報が一致するものがないと判定された場合(ステップS3の判定結果が「NO」の場合)、スパイナルノード12は、インテリジェンスノード13に対してリジェクトを送信する(ステップS4)。インテリジェンスノード13は、スパイナルノード12から送信されてきたリジェクトを受信する(ステップS5)。すると、インテリジェンスノード13では、デバイスノード11の登録失敗となる(ステップS6)。
これに対し、個体識別情報が一致するものがあると判定された場合(ステップS3の判定結果が「YES」の場合)、スパイナルノード12は、その個体識別情報に対応する固有パスコードがあるか否かを判定する(ステップS7)。固有パスコードが無いと判定された場合(ステップS7の判定結果が「NO」の場合)、スパイナルノード12は、デバイスノード11の情報をテナントのデバイス登録領域にコピーする(ステップS8)。その後、スパイナルノード12は、デバイスプール領域32のデバイスの情報を削除する(ステップS9)。
そして、スパイナルノード12は、インテリジェンスノード13に対し、登録完了を送信する(ステップS10)。インテリジェンスノード13は、スパイナルノード12から送信されてきた登録完了を受信する(ステップS11)。すると、インテリジェンスノード13では、デバイスノード11の登録完了となる(ステップS12)。これにより、登録が完了したデバイスノード11は、レジスタード状態ST2になる。
他方、ステップS7において、固有パスコードがあると判定された場合(ステップS7の判断結果が「YES」の場合)、スパイナルノード12は、インテリジェンスノード13に対し、パスコード要求を送信する(ステップS13)。インテリジェンスノード13は、スパイナルノード12から送信されてきたパスコード要求を受信する(ステップS14)。すると、インテリジェンスノード13は、固有パスコードを準備し(ステップS15)、スパイナルノード12に固有パスコードを送信する(ステップS16)。
スパイナルノード12は、インテリジェンスノード13から送信された固有パスコードを受信する(ステップS17)。すると、スパイナルノード12は、受信した固有パスコードと、デバイスプール領域32に蓄積されている固有パスコードと比較し、固有パスコードが一致するか否かを判定する(ステップS18)。
固有パスコードが一致していないと判定された場合(ステップS18の判断結果が「NO」の場合)、スパイナルノード12は、インテリジェンスノード13に対してリジェクトを送信する(ステップS19)。インテリジェンスノード13は、スパイナルノード12から送信されてきたリジェクトを受信する(ステップS20)。すると、インテリジェンスノード13では、デバイスノード11の登録失敗となる(ステップS21)。他方、固有パスコードが一致していると判定された場合(ステップS18の判断結果が「YES」の場合)、スパイナルノード12及びインテリジェンスノード13は、前述したステップS8~12の処理を行い、デバイスノード11の登録完了となる。これにより、登録が完了したデバイスノード11は、レジスタード状態ST2になる。
〈デバイスノードの収容作業手順〉
次に、デバイスノード11を収容するための具体的な作業手順について説明する。図7を用いて説明した通り、本実施形態では、デバイスノード11を収容する場合には、アクティベーテド状態ST1、レジスタード状態ST2、アロケーテド状態ST3、アサインド状態ST4、及びアプロックド状態ST5の5つの状態にデバイスノード11を設定していく必要がある。初期状態からアクティベーテド状態ST1までの遷移は、プラグ・アンド・プレイにより行うことができる。
次に、デバイスノード11を収容するための具体的な作業手順について説明する。図7を用いて説明した通り、本実施形態では、デバイスノード11を収容する場合には、アクティベーテド状態ST1、レジスタード状態ST2、アロケーテド状態ST3、アサインド状態ST4、及びアプロックド状態ST5の5つの状態にデバイスノード11を設定していく必要がある。初期状態からアクティベーテド状態ST1までの遷移は、プラグ・アンド・プレイにより行うことができる。
しかしながら、レジスタード状態ST2からアプロックド状態ST5までの遷移は、テナントの管理者の操作が必要になる。例えば、テナントの管理者は、デバイスノード11の個体識別情報の入力や固有パスコードの入力作業を行う必要がある。このため、テナントの管理者の作業負担が大きい。そこで、本実施形態では、デバイス収容の作業を簡単化するために、図9に示す通り、個体識別情報や固有パスコードとともに二次元コードCDが印字されたシールSLが、デバイスノード11に貼り付けられる。
図9Aおよび図9Bは、デバイスノードに貼着されるシールの一例を示す図である。図9Aに示すシールSLには、デバイスノードの個体識別情報を示す文字列STと、その個体識別情報が含まれる二次元コードCDとが印字されている。文字列STには、デバイスノードの個体識別情報である旨を示す「Device Identification」、及びデバイスノードの個体識別情報「3201 XF5J P3A2 S052」が含まれる。二次元コードCDには、デバイスノード11の個体識別情報がXML(Extensible Markup Language)形式で記述された情報が含まれる。ここでは、デバイスノードの個体識別情報を示す文字列STと、その個体識別情報が含まれる二次元コードCDとが印字されたシールSLがデバイスノードに貼着されているとしているが、文字列ST及び二次元コードCDは、直接デバイスノードに印字或いは刻印されていても良い。
図9Bに示すシールSMには、デバイスノードの個体識別情報及び固有パスコードを示す文字列SUと、それら個体識別情報及び固有パスコードが含まれる二次元コードCEとが印字されている。文字列SUには、デバイスノードの個体識別情報である旨を示す「Device Identification」、デバイスノードの個体識別情報「3201 XF5J P3A2 S052」、固有パスコードである旨を示す「PASS CODE」、及び固有パスコード「X_5PxG32LZZQ」が含まれる。二次元コードCEには、デバイスノード11の個体識別情報及び固有パスコードがXML形式で記述された情報が含まれる。
図9Bに示すシールSMのように、文字列SUに固有パスコードが含まれる場合には、固有パスコードが他人に知られる危険性がある。このため、通常シールSLとシールSMは併用され、シールSMは、容易に剥がすことができるようになっている。図9Aに例示するシールSLに印字される二次元コードCD及び図9Bに例示するシールSMに印字される二次元コードCEは、QRコード(登録商標)等のマトリックス型の二次元コードであっても良く、スタック型の二次元コードであっても良い。二次元コードCDおよびCEは、二次元コードに限られず、一次元コード等の他のコードであっても良い。従って、設置時に二次元コードが読み取られ、デバイスノードの設定が完了したのちには、第三者がデバイスをネットワーク上で特定し利用するような状況を防ぐセキュリティの観点から、シールSMはデバイスノードから剥がされ、別途保管及び管理されるべきものである。
《収容作業手順の第1例》
図10は、デバイスノードの収容作業手順の第1例を説明するための図であり、図11は、同作業手順の第1例を示すシーケンス図である。図10に示す通り、インテリジェンスノード13で実現されるCo-innovationスペースには、テナント毎のテナント領域R1~R3が設けられている。これらテナント領域R1~R3は、図6に示すテナント管理部56で管理される情報を用いて作成される。ここでは、説明を簡単にするために、3つのテナント領域R1~R3のみを図示している。しかしながら、テナント領域は、Co-innovationスペースを利用するテナントの数に応じた分だけ設けられる。以下では、理解を容易にするために、テナント領域R1が設けられているテナント(以下、「テナントA」という)に着目して、収容作業手順の第1例を説明する。
図10は、デバイスノードの収容作業手順の第1例を説明するための図であり、図11は、同作業手順の第1例を示すシーケンス図である。図10に示す通り、インテリジェンスノード13で実現されるCo-innovationスペースには、テナント毎のテナント領域R1~R3が設けられている。これらテナント領域R1~R3は、図6に示すテナント管理部56で管理される情報を用いて作成される。ここでは、説明を簡単にするために、3つのテナント領域R1~R3のみを図示している。しかしながら、テナント領域は、Co-innovationスペースを利用するテナントの数に応じた分だけ設けられる。以下では、理解を容易にするために、テナント領域R1が設けられているテナント(以下、「テナントA」という)に着目して、収容作業手順の第1例を説明する。
図10に示す通り、テナント領域R1の内部には、テナントAに属するサイト(組織)毎のサイト領域R11が設けられている。図10では、図示を簡略化するために、テナントAに属するある1つのサイト(以下、「サイトB」という)のサイト領域R11のみ図示している。サイト領域R11の内部には、サイトBに属するアカウント(ユーザ)毎のアカウント領域R12が設けられている。図10では、図示を簡略化するために、サイトBに属するある1つのアカウント(以下、「アカウントC」という)のアカウント領域R12のみ図示している。これらサイト領域R11及びアカウント領域R12は、図6に示すサイト・アカウント管理部57で管理される情報を用いて作成される。
テナント領域R1の内部には、テナントAに属するサイトやアカウントで共用することができるデバイスノードが登録されるデバイス登録領域R13が設けられている。このデバイス登録領域R13は、図6に示すデバイス管理部55で管理される情報を用いて作成される。図10に示す例では、テナント領域R1の内部に設けられたデバイス登録領域R13に登録されているデバイスノードは、テナントA、サイトB、及びアカウントCで共用することができる。テナントAに属するサイトやアカウントは、デバイス登録領域R13に登録されたデバイスノード以外に、データ、ロジック、アプリケーション等を共用することが可能である。
図11に示す通り、テナントAの管理者は、まずデバイスノード11を設置し、デバイスノード11の電源をオンする(ステップS101)。デバイスノード11の電源がオンされると、プラグ・アンド・プレイにより、デバイスノード11は、スパイナルノード12、インテリジェンスノード13、又はシングスクラウド15に接続される。ここでは、一例として、デバイスノード11がスパイナルノード12に接続されるものとする。デバイスノード11がスパイナルノード12に接続されると、デバイスノード11は、デバイスノード11の個体識別情報(或いは、個体識別情報及び固有パスコード)をスパイナルノード12に送信する(ステップS102)。デバイスノード11の個体識別情報は、スパイナルノード12のデバイスプール領域32に蓄積される。これにより、デバイスノード11の状態は初期状態からアクティベーテド状態ST1に遷移する。
次に、テナントAの管理者は、端末装置16を操作してインテリジェンスノード13にアクセスし、Co-innovationスペースにログインする(ステップS104)。これにより、テナントAの管理者は、インテリジェンスノード13で実現されるCo-innovationスペースに設けられたテナント領域R1の利用が可能になる。続いて、テナントAの管理者は、Co-innovationスペースにおいて予め用意されているデバイス登録メニューを選択する。
そして、テナントAの管理者は、端末装置16に接続されたカメラ17を用いて、デバイスノード11に貼着されているシールSMの二次元コードCEを撮影する(ステップS105)。カメラ17で二次元コードCEが撮影されると、この二次元コードCEから、デバイスノード11の個体識別情報(或いは、個体識別情報及び固有パスコード)が読み取られる。端末装置16は、読み取られた個体識別情報(或いは、個体識別情報及び固有パスコード)を、インテリジェンスノード13に送信する(ステップS106)。
上述の端末装置16に接続されたカメラ17は、例えばカメラ機能が搭載されたスマートフォン等の携帯型端末装置であっても良い。このような携帯型端末装置を用いる場合には、例えばネットワークもPC(パーソナルコンピュータ)も無い屋外でデバイスノード11の設置が行われるようなときにも、無線の電話回線を介して携帯型端末装置をインテリジェンスノード13に接続可能であるため、効率的に作業を行うことができる。
次いで、インテリジェンスノード13は、スパイナルノード12のデバイスプール領域32にアクセスして、端末装置16から送信されてきた個体識別情報と同じ個体識別情報を検索する(ステップS107)。個体識別情報に対応する固有パスコードがある場合、インテリジェンスノード13は、デバイスプール領域32に蓄積された固有パスコードと、端末装置16から送信されてきた固有パスコードとを比較して認証する(ステップS108:認証処理)。
端末装置16から送信されてきた個体識別情報と同じ個体識別情報が検索された場合(言い換えると、端末装置16から送信されてきた個体識別情報と同じ個体識別情報がデバイスプール領域32に存在する場合)、インテリジェンスノード13は、テナントAとデバイスノード11とを関連付ける処理を行う(ステップS109)。この処理は、図6のデバイス管理部55で行われる。その後、スパイナルノード12は、デバイスプール領域32に蓄積されたデバイスノード11の情報をインテリジェンスノード13に送信する(ステップS110)。インテリジェンスノード13は、デバイスノード11の情報をテナントAのデバイス登録領域R13に登録する(ステップS111)。これにより、デバイスノード11の状態は、アクティベーテド状態ST1からレジスタード状態ST2に遷移する。インテリジェンスノード13に転送されたデバイスノード11の情報は、デバイスプール領域32から削除される。
デバイスノード11がテナントAのデバイスノードとして登録されると、テナントAの管理者は、端末装置16を操作して、テナントAの配下のサイトBやアカウントCに対し、デバイスノード11を割り当てる(ステップS112)。これにより、インテリジェンスノード13は、特定のサイト及びアカウント(例えば、サイトBやアカウントC)にデバイスノードを割り当てる処理(第1処理)を行う。この処理が終了すると、デバイスノード11の状態は、レジスタード状態ST2からアロケーテド状態ST3に遷移する。
管理者権限でログインしたテナントAの管理者は、端末装置16を操作して、テナントAの配下のサイトBやアカウントCに対し、R/O(リードオンリー)、R/W(リードライト)、X(エグゼキューション)等の権限設定を行う(ステップS113)。これにより、インテリジェンスノード13は、サイト及びアカウント毎に、デバイスノード11に対するアクセス権を設定する処理(第2処理)を行う。この処理が終了すると、デバイスノード11の状態は、アロケーテド状態ST3から、アサインド状態ST4に遷移する。
テナントAの任意のサイト、アカウント、或いはテナントAの管理者が、端末装置16を操作して、デバイスノード11の設定変更、停止、再起動等の権限を特定のアプリケーションに限定する操作(ロック)を行う(ステップS114)。これにより、インテリジェンスノード13は、デバイスノード11の利用を特定のアプリケーションプログラムのみに制限或いは許可する処理(第3処理)を行う。この処理が終了すると、デバイスノード11の状態は、アサインド状態ST4から、アプロックド状態ST5に遷移する。
《収容作業手順の第2例》
図12は、デバイスノードの収容作業手順の第2例を説明するための図である。本例においては、携帯端末18のアプリケーションを利用することで、アクティベーテド状態ST1からアサインド状態ST4までの処理を容易に行うことができる。即ち、携帯端末18のアプリケーションによって、図11に示すステップS104~ステップS112の処理が行われる。
図12は、デバイスノードの収容作業手順の第2例を説明するための図である。本例においては、携帯端末18のアプリケーションを利用することで、アクティベーテド状態ST1からアサインド状態ST4までの処理を容易に行うことができる。即ち、携帯端末18のアプリケーションによって、図11に示すステップS104~ステップS112の処理が行われる。
本例では、携帯端末18のアプリケーションを利用する場合を例に挙げて説明するが、これに限定されるものではない。例えば、携帯端末18からブラウザを介してCo-innovationスペース上のデバイス登録画面(アプリ)にアクセスし、そのデバイス登録画面(アプリ)を利用することで、図11に示すステップS104~ステップS112の処理が行われるようにしても良い。
デバイスノード11の設置が完了した後に、テナントAの管理者が、携帯端末18のアプリケーションを起動して、端末装置16に表示された二次元コードCD1を、携帯端末18を用いて読み取る。これによって、アカウントID、パスワードが携帯端末18に入力される。携帯端末18に入力されたアカウントID、パスワードは、携帯端末18のアプリケーションによって自動的にインテリジェンスノード13に送信される。これにより、テナントAの管理者は、Co-innovationスペースにログインする(ステップS104)。
ここで、端末装置16に表示される二次元コードCD1には、テナントAの管理者がCo-innovationスペースにログインするために必要なアカウントID及びパスワードが含まれる。この二次元コードCD1は、テナントAの管理者が、端末装置16でCo-innovationスペースにログインしている状態で、例えば「契約情報」メニューを選択した際に、自身の所属するテナントの契約情報とともに表示される。
このように本例では、携帯端末18のアプリケーションで二次元コードCD1を読み取る操作を行うだけで、テナントAの管理者はCo-innovationスペースにログインすることが可能である。このため、Co-innovationスペースにログインする際に、アカウントID、パスワードの入力が不要になり、テナントAの管理者は極めて容易にログオンすることができる。上記の二次元コードCD1を印刷し、印刷された二次元コードCD1を、端末装置16で読み取るようにしても良い。
本例では、テナントAの管理者は、携帯端末18のアプリケーションによって端末装置16に表示される二次元コードCD1を読み取ることで、アカウントID、パスワードを携帯端末18に入力し、Co-innovationスペースにログインする例について説明したが、これに限定されるものではない。例えば、テナントAの管理者は、携帯端末18の画面上で、アカウントID及びパスワードを携帯端末18のキーボードを使って入力してCo-innovationスペースにログインしても良い。
Co-innovationスペースへのログインが完了した後に、テナントAの管理者は、携帯端末18を用いてデバイスノード11に貼着されているシールSMの二次元コードCEを撮影する(ステップS105)。これによって、二次元コードCEから、デバイスノード11の個体識別情報(或いは、個体識別情報及び固有パスコード)が読み取られる。すると、携帯端末18のアプリケーションにより、ステップS106~ステップS112の処理が自動的に行われ、アロケーテド状態ST3までの処理が完了する。ステップS112の処理において、デバイスノード11を割り当てるサイトやアカウントを設定する必要があるが、この設定情報は予め携帯端末18のアプリケーションに設定しておく。
各サイトやアカウントの権限を携帯端末18のアプリケーションの入力画面で選択可能とし、テナントAの管理者は、携帯端末18を用いて、管理者権限でインテリジェンスノード13のCo-innovationスペースにログインしてもよい。この場合には、携帯端末18のアプリケーションによりステップS113の処理まで行うことができ、アサインド状態ST4までの処理が完了する。これにより、作業の更なる簡略化を図ることができる。
〈アプリケーション開発画面〉
図13は、本発明の一実施形態におけるアプリケーション開発画面の一例を示す図である。上述したデバイスノードの収容後(或いは、デバイスノードの収容を行いながら)、各ユーザ(アカウント)は、図13に示すアプリケーション開発画面にて、ネットワークを介してアプリケーションプログラムを開発していくことができる。このアプリケーション開発画面では、テナント、サイト毎に設定された複数のユーザ(アカウント)が、予め管理者によって設定された実行権限に応じて、データ、ロジック、アプリケーション、状態を共有しながらアプリケーションプログラムの作成、管理、監視、実行を行うことが可能である。このアプリケーション開発画面は、例えば端末装置の表示装置(表示部)に表示される。
図13は、本発明の一実施形態におけるアプリケーション開発画面の一例を示す図である。上述したデバイスノードの収容後(或いは、デバイスノードの収容を行いながら)、各ユーザ(アカウント)は、図13に示すアプリケーション開発画面にて、ネットワークを介してアプリケーションプログラムを開発していくことができる。このアプリケーション開発画面では、テナント、サイト毎に設定された複数のユーザ(アカウント)が、予め管理者によって設定された実行権限に応じて、データ、ロジック、アプリケーション、状態を共有しながらアプリケーションプログラムの作成、管理、監視、実行を行うことが可能である。このアプリケーション開発画面は、例えば端末装置の表示装置(表示部)に表示される。
図13に示すアプリケーション開発画面は、開発パーツ一覧表示領域E1と、アプリケーション設計領域E2とを有する。開発パーツ一覧表示領域E1は、アプリケーションプログラムの開発に用いられる開発パーツの一覧が表示される領域である。この開発パーツ一覧表示領域E1には、例えば分析エレメント、入出力データ項目(例えば、センサー出力)、汎用の各種ロジック(演算子、関数)等が開発パーツとして一覧表示される。
アプリケーション設計領域E2は、開発対象であるアプリケーションプログラムの構造を視覚的に表示する領域である。このアプリケーション設計領域E2において、開発対象であるアプリケーションプログラムの作成及び編集が可能である。ユーザは、例えば、開発パーツ一覧表示領域E1に表示された開発パーツ(例えば、分析エレメント、入出力データのデータ項目、処理内容であるロジック等)の一覧の中から、必要な開発パーツを選択し、選択したパーツをアプリケーション設計領域E2へマウス操作等によりドラッグ・アンド・ドロップする。これにより、選択した開発パーツを示す画像をアプリケーション設計領域に表示させることができる。そして、アプリケーション設計領域E2に表示された開発パーツを線や矢印で接続することで、アプリケーションプログラムを作成することができる。
デバイスノード11を収容する際に、デバイスノード11がアロケーテド状態ST3に遷移すると、そのデバイスノード11が割り当てられたテナント、サイト、アカウントのアプリケーション開発画面における開発パーツ一覧表示領域E1には、収容したデバイスノード11が開発パーツとして表示される。そして、各テナント、サイト、アカウントは、収容したデバイスノード11を共有して、プログラムの作成や編集を行うことができる。
収容されたデバイスノード11がアサインド状態ST4に遷移すると、サイトやアカウント毎にアクセス権が設定される。このため、図13に示すアプリケーション開発画面で開発を行っているユーザは、デバイスノード11の使用が、設定された権限の範囲内での使用のみに制限される。収容されたデバイスノード11がアプロックド状態ST5に遷移すると、デバイスノード11の利用が特定のアプリケーションのみに制限される。このため、図13に示すアプリケーション開発画面で開発を行っているユーザは、利用が許可されたアプリケーションを開発する場合のみ、デバイスノード11の利用が可能となる。
以上説明した通り、本実施形態では、アプリケーション開発環境提供システム1を利用するテナントの管理者の指示によって、アプリケーションプログラムで利用されるデバイスノード11の個体識別情報が特定された場合に、特定された個体識別情報と、その個体識別情報の特定を行ったテナントとの関連付けを行い、デバイスノード11の使用を制限或いは許可する管理処理を行う。このため、高いセキュリティで、デバイスノード11をシステムに収容することができる。
具体的に、アプリケーション開発環境提供システム1は、様々な企業(テナント)に利用されうる。例えば、プラントで実現されるエンジニアリングシステムの開発が行われる場合には、顧客(例えば、発注者)、エンジニアリング会社(例えば、受注者)、及びサードベンダ(第三者)によって利用されうる。このような、様々なテナントによって利用されるシステムにおいては、セキュリティの観点から、プラントで用いられるデバイスノード11の存在を他のテナントに知られてはならない場合がある。また、同一のテナントであっても、他の部署(サイト)、或いは他の社員(ユーザ)からのアクセスを制限したい場合がある。
上述した実施形態においては、デバイスノード11の使用を制限或いは許可する管理処理が行われることで、デバイスノード11の使用が、特定のテナントに属する特定のサイト及びアカウントに制限され、サイト及びアカウント毎にデバイスノード11に対するアクセス権が設定され、デバイスノード11の利用が特定のアプリケーションプログラムのみに制限される。これにより、例えば、プラントで用いられるデバイスノード11の存在が他のテナントに知られることはなく、同一のテナントにおける、他の部署(サイト)、或いは他の社員(ユーザ)からのアクセスを制限することも可能である。このように、本実施形態では、高いセキュリティで、デバイスノード11をシステムに収容することができる。
テナントで扱われるデバイスノード11は、同一に管理されるため、アプリケーションから見ると、インテリジェンスノード13に直接接続されているセンサー、デバイス、及びシステム、スパイナルノード12を介して接続されているセンサー、デバイス、及びシステム、並びにシングスクラウド15を介して接続されているセンサー、デバイス、及びシステムを等しく認識することができる。これにより、各サイトや各アカウントでは、デバイスを同様に取り扱って、プログラムを開発、編集していくことができる。
上述した実施形態では、個体識別情報や固有パスコードの情報が含まれる二次元コードCD,CEが印字されたシールSL,SMは、デバイスノード11に貼り付けられている。このため、デバイスノード11の個体識別情報やパスコードを効率的に入力できる。携帯端末18を用いて二次元コードCD1を読み取ってCo-innovationスペースへのログインを行い、携帯端末18のアプリケーションがデバイスノード11の収容作業を実現する。このため、デバイスノード11の収容を効率的に行うことができる。
上述した実施形態では、スパイナルノード12に接続されるデバイスノード11は、初期状態でスパイナルノード12に接続されて、個体識別情報や固有パスコードをスパイナルノード12のデバイスプール領域32に蓄積している。インテリジェンスノード13に接続されるデバイスノード11は、初期状態でインテリジェンスノード13に接続されて、個体識別情報や固有パスコードをインテリジェンスノード13の不図示のデバイスプール領域に蓄積している。シングスクラウド15に接続されるデバイスノード11は、初期状態でシングスクラウド15に接続されて、個体識別情報や固有パスコードをシングスクラウド15のデバイスプール領域42に蓄積している。
このように、上述した実施形態では、デバイスノード11が接続される場所(ネットワーク)やデバイスノード11の情報(個体識別情報や固有パスコード)が蓄積されるデバイスプール領域を分けるようにしているが、デバイスプール領域を共通化しても良い。例えば、セルラー網を使えばどの場所からもクラウドにアクセスすることができるため、全てのデバイスノード11が初期状態でシングスクラウド15に接続され、全てのデバイスノード11の情報がシングスクラウド15のデバイスプール領域42に蓄積されても良い。
以上、本発明の一実施形態について詳細に説明したが、本発明は、上述した実施形態に制限されることなく、本発明の範囲内で自由に変更が可能である。例えば、上述した実施形態におけるアプリケーション開発環境提供システム1の一部又は全部をコンピュータで実現するようにしてもよい。アプリケーション開発環境提供システム1の一部又は全部がコンピュータで実現される場合には、アプリケーション開発環境提供システム1の一部又は全部の機能を実現するための一以上のプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録された一以上のプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。
ここでいう「コンピュータシステム」とは、アプリケーション開発環境提供システム1に内蔵されたコンピュータシステムであって、OSや周辺機器等のハードウェアを含む。「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信回線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、更に前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるものであってもよい。
上述した実施形態におけるアプリケーション開発環境提供システム1を、LSI(Large Scale Integration)等の集積回路として実現してもよい。アプリケーション開発環境提供システム1の各機能ブロックは個別にプロセッサ化してもよいし、一部、又は全部を集積してプロセッサ化してもよい。集積回路化の手法はLSIに限らず専用回路、又は汎用プロセッサで実現してもよい。半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
本明細書において「前、後ろ、上、下、右、左、垂直、水平、下、横、行および列」などの方向を示す言葉は、本発明の装置におけるこれらの方向について言及する。従って、本発明の明細書におけるこれらの言葉は、本発明の装置において相対的に解釈されるべきである。
「構成される」という言葉は、本発明の機能を実行するために構成され、または装置の構成、要素、部分を示すために使われる。
さらに、クレームにおいて「ミーンズ・プラス・ファンクション」として表現されている言葉は、本発明に含まれる機能を実行するために利用することができるあらゆる構造を含むべきものである。
「ユニット」という言葉は、構成要素、ユニット、ハードウェアや所望の機能を実行するためにプログラミングされたソフトウェアの一部分を示すために用いられる。ハードウェアの典型例はデバイスや回路であるが、これらに限られない。
以上、本発明の好ましい実施例を説明したが、本発明はこれら実施例に限定されることはない。本発明の趣旨を逸脱しない範囲で、構成の付加、省略、置換、およびその他の変更が可能である。本発明は前述した説明によって限定されることはなく、添付のクレームの範囲によってのみ限定される。
1 アプリケーション開発環境提供システム
11 デバイスノード
16 端末装置
32 デバイスプール領域
42 デバイスプール領域
55 デバイス管理部
E1 開発パーツ一覧表示領域
E2 アプリケーション設計領域
11 デバイスノード
16 端末装置
32 デバイスプール領域
42 デバイスプール領域
55 デバイス管理部
E1 開発パーツ一覧表示領域
E2 アプリケーション設計領域
Claims (20)
- ネットワークを介してアプリケーションプログラムの開発環境を提供するアプリケーション開発環境提供システムにおいて、
前記開発環境を利用するテナントの指示によって、前記アプリケーションプログラムで利用されるデバイスノードを識別する第1情報が特定された場合に、特定された前記第1情報と、前記第1情報の特定を行ったテナントに関する第2情報との関連付けを行い、前記デバイスノードの使用を制限或いは許可する管理処理を行う管理部
を備えるアプリケーション開発環境提供システム。 - 前記管理部は、前記第1情報が特定された場合に、ネットワークに接続された前記デバイスノードの前記第1情報が蓄積される蓄積部を検索し、特定された前記第1情報が検索されたときに、前記第1情報と前記第2情報との関連付けを行う、請求項1記載のアプリケーション開発環境提供システム。
- 前記管理部は、前記第1情報に対応する認証情報がある場合には、前記蓄積部に蓄積された認証情報と、前記テナントによって前記第1情報とともに指示される認証情報とを用いて認証処理を行う、請求項2記載のアプリケーション開発環境提供システム。
- 前記管理処理は、前記第1情報の特定を行ったテナントに属するサイト及びアカウントのうち、特定のサイト及びアカウントに前記デバイスノードを割り当てる第1処理と、
前記サイト及び前記アカウント毎に、前記デバイスノードに対するアクセス権を設定する第2処理と、
前記デバイスノードの利用を特定のアプリケーションプログラムのみに制限或いは許可する第3処理と、
の少なくとも1つを含む、請求項1から請求項3の何れか一項に記載のアプリケーション開発環境提供システム。 - 前記管理処理が行われた前記デバイスノードを、アプリケーション開発画面に開発パーツとして表示する、請求項1から請求項4の何れか一項に記載のアプリケーション開発環境提供システム。
- 前記アプリケーション開発画面は、前記管理処理が行われた前記デバイスノードが表示される開発パーツ一覧表示領域と、
前記アプリケーションプログラムの構造を視覚的に表示するとともに、前記アプリケーションプログラムの作成及び編集が可能なアプリケーション設計領域と、
を有する請求項5記載のアプリケーション開発環境提供システム。 - 前記アプリケーション開発環境をユーザへ提供し、視覚的に前記アプリケーションプログラムを表示するプログラム開発部を更に備える、請求項1から請求項6の何れか一項に記載のアプリケーション開発環境提供システム。
- 前記プログラム開発部は、レイアウト情報、結線情報、パラメータ情報、及び選択領域情報に基づいて、視覚的に前記アプリケーションプログラムを表示し、
前記レイアウト情報は、前記アプリケーションプログラムの処理の形態を示す情報であり、
前記結線情報は、入力データ項目と、処理内容であるロジックと、処理結果である出力データ項目とを結ぶ導線に関する情報であり、
前記パラメータ情報は、前記アプリケーションプログラムにおいて設定されるパラメータの設定値を示す情報であり、
前記選択領域情報は、前記アプリケーションプログラムの一連の処理の中で、ユーザによって選択された一部の処理を示す情報である
請求項7記載のアプリケーション開発環境提供システム。 - 前記アプリケーションプログラムの一部又は全部を、設定情報も含めて送受信するコミュニケーション部を更に備える、請求項1から請求項8の何れか一項に記載のアプリケーション開発環境提供システム。
- 前記コミュニケーション部は、チャット機能、ビデオコミュニケーション機能、音声通話機能、画面共有機能、及びコミュニティ機能のうちの少なくとも一つを提供する、請求項9記載のアプリケーション開発環境提供システム。
- 前記プログラム開発部においてアプリケーションプログラムを開発又は実行する際に用いられるツールを提供するライブラリを更に備える、請求項7または8記載のアプリケーション開発環境提供システム。
- 前記ライブラリは、類似波形検索ツール、回帰分析ツール、重回帰分析ツール、MT法分析ツール、誤差分散分析ツール、データドリブンモデリングツール、ディープラーニングツール、及び相関分析ツールのうちの少なくとも一つを提供する、請求項11記載のアプリケーション開発環境提供システム。
- ネットワークを介してアプリケーションプログラムの開発環境を提供するアプリケーション開発環境提供方法であって、
前記開発環境を利用するテナントの指示によって、前記アプリケーションプログラムで利用されるデバイスノードを識別する第1情報を特定し、
特定された前記第1情報と、前記第1情報の特定を行ったテナントに関する第2情報との関連付けを行い、
前記デバイスノードの使用を制限或いは許可する管理処理を行う、
アプリケーション開発環境提供方法。 - ネットワークに接続された前記デバイスノードの前記第1情報が蓄積される蓄積部から、特定された前記第1情報を検索し、
特定された前記第1情報が検索されたときに、前記第1情報と前記第2情報との関連付けを行う
請求項13記載のアプリケーション開発環境提供方法。 - 前記第1情報の特定を行ったテナントに属するサイト及びアカウントのうち、特定のサイト及びアカウントに前記デバイスノードを割り当てるステップと、
前記サイト及び前記アカウント毎に、前記デバイスノードに対するアクセス権を設定するステップと、
前記デバイスノードの利用を特定のアプリケーションプログラムのみに制限或いは許可するステップと、
の少なくとも1つを含む、請求項13又は請求項14記載のアプリケーション開発環境提供方法。 - コンピュータによって実行される一以上のプログラムを記憶するコンピュータ読み取り可能な非一時的記憶媒体であって、前記一以上のプログラムは、
ネットワークを介してアプリケーションプログラムの開発環境を提供し、
前記開発環境を利用するテナントの指示によって、前記アプリケーションプログラムで利用されるデバイスノードを識別する第1情報が特定された場合に、特定された前記第1情報と、前記第1情報の特定を行ったテナントに関する第2情報との関連付けを行い、前記デバイスノードの使用を制限或いは許可する管理処理を行う
コンピュータ読み取り可能な非一時的記憶媒体。 - ネットワークを介して提供されるアプリケーションプログラムの開発環境に通信接続される端末装置において、
前記開発環境を利用するテナントの指示によって特定された前記アプリケーションプログラムで利用されるデバイスノードを識別する第1情報と、該第1情報の特定を行ったテナントに関する第2情報との関連付けが行われて、前記デバイスノードの使用を制限或いは許可する管理処理が行われた前記デバイスノードを表示する表示部
を備える端末装置。 - 前記管理処理は、前記第1情報の特定を行ったテナントに属するサイト及びアカウントのうち、特定のサイト及びアカウントに前記デバイスノードを割り当てる第1処理と、
前記サイト及び前記アカウント毎に、前記デバイスノードに対するアクセス権を設定する第2処理と、
前記デバイスノードの利用を特定のアプリケーションプログラムのみに制限或いは許可する第3処理と、
の少なくとも1つを含む、請求項17記載の端末装置。 - 前記管理処理が行われた前記デバイスノードを、アプリケーション開発画面に開発パーツとして表示する、請求項17又は請求項18記載の端末装置。
- 前記アプリケーション開発画面は、前記管理処理が行われた前記デバイスノードが表示される開発パーツ一覧表示領域と、
前記アプリケーションプログラムの構造を視覚的に表示するとともに、前記アプリケーションプログラムの作成及び編集が可能なアプリケーション設計領域と、
を有する請求項19記載の端末装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201780059835.6A CN109791495A (zh) | 2016-09-30 | 2017-09-01 | 应用开发环境提供***、应用开发环境提供方法、计算机可读取的非易失性的记录介质及终端装置 |
US16/335,517 US20200019385A1 (en) | 2016-09-30 | 2017-09-01 | Application development environment providing system, application development environment provision method, and terminal device |
EP17855579.3A EP3522060A4 (en) | 2016-09-30 | 2017-09-01 | APPLICATION DEVELOPMENT ENVIRONMENT DEVICE SYSTEM, APPLICATION DEVELOPMENT ENVIRONMENT DEPLOYMENT METHOD, COMPUTER READABLE TRANSFERLED MEDIUM AND TERMINAL DEVICE |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016-193560 | 2016-09-30 | ||
JP2016193560A JP6708083B2 (ja) | 2016-09-30 | 2016-09-30 | アプリケーション開発環境提供システム、アプリケーション開発環境提供方法、アプリケーション開発環境提供プログラム、及び端末装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018061621A1 true WO2018061621A1 (ja) | 2018-04-05 |
Family
ID=61760743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2017/031659 WO2018061621A1 (ja) | 2016-09-30 | 2017-09-01 | アプリケーション開発環境提供システム、アプリケーション開発環境提供方法、コンピュータ読み取り可能な非一時的記録媒体、及び端末装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20200019385A1 (ja) |
EP (1) | EP3522060A4 (ja) |
JP (1) | JP6708083B2 (ja) |
CN (1) | CN109791495A (ja) |
WO (1) | WO2018061621A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102122451B1 (ko) * | 2018-07-31 | 2020-06-12 | 주식회사 피노 | 애플리케이션의 개발을 지원하는 플랫폼의 동작 방법 및 플랫폼을 제공하는 서버 |
JP6634665B1 (ja) * | 2019-02-21 | 2020-01-22 | 三菱重工環境・化学エンジニアリング株式会社 | プラント機器情報管理システム |
JP7354409B2 (ja) * | 2020-03-09 | 2023-10-02 | 日立Astemo株式会社 | 物理量測定装置 |
CN111988173B (zh) * | 2020-08-19 | 2023-09-12 | 北京安瑞志远科技有限公司 | 基于多层父子结构租户的租户管理平台和租户管理方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007249561A (ja) * | 2006-03-15 | 2007-09-27 | Hitachi Software Eng Co Ltd | 画面遷移図の表示システム及びプログラム |
WO2014045699A1 (ja) * | 2012-09-21 | 2014-03-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | センサー共有制御装置、方法、コンピュータ・プログラム |
JP2014534487A (ja) * | 2011-09-19 | 2014-12-18 | タタ コンサルタンシー サービシズ リミテッドTATA Consultancy Services Limited | センサーデータベースのアプリケーションおよびサービスの開発および配備のための演算プラットフォーム |
JP5792891B2 (ja) | 2012-03-28 | 2015-10-14 | 株式会社日立システムズ | アプリケーション開発営業支援システム |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8429630B2 (en) * | 2005-09-15 | 2013-04-23 | Ca, Inc. | Globally distributed utility computing cloud |
WO2008021433A2 (en) * | 2006-08-14 | 2008-02-21 | Payman Khodabandehloo | Design tool and methodology for enterprise software applications |
JP6193479B2 (ja) * | 2013-05-06 | 2017-09-06 | コンヴィーダ ワイヤレス, エルエルシー | モノのインターネット(iot)適応サービス |
KR101752082B1 (ko) * | 2013-06-12 | 2017-07-11 | 미쓰비시덴키 가부시키가이샤 | 개발 환경 시스템, 개발 환경 장치, 개발 환경 제공 방법 및 프로그램을 기록한 컴퓨터 판독 가능한 매체 |
US10476743B2 (en) * | 2014-10-13 | 2019-11-12 | Cisco Technology, Inc. | Automatic creation and management of a community of things for Internet of Things (IoT) applications |
US9860681B2 (en) * | 2015-01-06 | 2018-01-02 | Afero, Inc. | System and method for selecting a cell carrier to connect an IOT hub |
US10001975B2 (en) * | 2015-09-21 | 2018-06-19 | Shridhar V. Bharthulwar | Integrated system for software application development |
-
2016
- 2016-09-30 JP JP2016193560A patent/JP6708083B2/ja active Active
-
2017
- 2017-09-01 WO PCT/JP2017/031659 patent/WO2018061621A1/ja unknown
- 2017-09-01 US US16/335,517 patent/US20200019385A1/en not_active Abandoned
- 2017-09-01 EP EP17855579.3A patent/EP3522060A4/en active Pending
- 2017-09-01 CN CN201780059835.6A patent/CN109791495A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007249561A (ja) * | 2006-03-15 | 2007-09-27 | Hitachi Software Eng Co Ltd | 画面遷移図の表示システム及びプログラム |
JP2014534487A (ja) * | 2011-09-19 | 2014-12-18 | タタ コンサルタンシー サービシズ リミテッドTATA Consultancy Services Limited | センサーデータベースのアプリケーションおよびサービスの開発および配備のための演算プラットフォーム |
JP5792891B2 (ja) | 2012-03-28 | 2015-10-14 | 株式会社日立システムズ | アプリケーション開発営業支援システム |
WO2014045699A1 (ja) * | 2012-09-21 | 2014-03-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | センサー共有制御装置、方法、コンピュータ・プログラム |
Non-Patent Citations (3)
Title |
---|
MARUYAMA, YUNA; KONNO, SHOTARO; HAZEYAMA, ATSUO: "Discussion of the Requirements of Coordination Communication Support Environments in Cooperative Software Development", IPSJ TECHNICAL REPORT. SIG HUMAN-COMPUTER INTERACTION (HCI), vol. 2014-HCI-157, no. 54, 7 March 2014 (2014-03-07), pages 1 - 6, XP009514891 * |
MATSUMOTO HITOSHI ET AL.: "Dynamic Resource Management Technique in Cloud Environment", FUJITSŪ, vol. 62, no. 1, 11 January 2011 (2011-01-11), pages 14 - 20, XP009517776, ISSN: 0016-2515 * |
See also references of EP3522060A4 |
Also Published As
Publication number | Publication date |
---|---|
JP2018055571A (ja) | 2018-04-05 |
EP3522060A4 (en) | 2020-05-13 |
JP6708083B2 (ja) | 2020-06-10 |
US20200019385A1 (en) | 2020-01-16 |
EP3522060A1 (en) | 2019-08-07 |
CN109791495A (zh) | 2019-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11057391B2 (en) | Connected device rights management administration | |
WO2018061621A1 (ja) | アプリケーション開発環境提供システム、アプリケーション開発環境提供方法、コンピュータ読み取り可能な非一時的記録媒体、及び端末装置 | |
US12007950B2 (en) | Systems and methods for content sharing using template-driven workflows | |
US11651415B2 (en) | On-demand service providing system and on-demand service providing method | |
US11281435B2 (en) | Application development environment providing system, application development environment provision method, terminal device, and application display method | |
US11010201B2 (en) | Information processing device, resource allocation system, and resource allocation method | |
US11900147B2 (en) | Systems and methods for data collection using workflow forms | |
WO2016145475A2 (en) | System of standardized api interpretation for inter application communication | |
CN110063065B (zh) | 用于用户授权的***和方法 | |
US20230281343A1 (en) | Configuration and Implementation of Extra-Organizational Applications | |
WO2018061614A1 (ja) | アプリケーション開発環境提供システム、アプリケーション開発環境提供方法、情報処理装置、およびコンピュータ読み取り可能な非一時的記録媒体 | |
JP2015109015A (ja) | 接続先解決システムおよび接続先解決方法 | |
US11711360B2 (en) | Expedited authorization and access management | |
JP2002222236A (ja) | 製品情報提供装置、製品情報の提供方法、そのためのプログラムおよび記録媒体 | |
GB2581972A (en) | Data management system & apparatus for interaction therewith | |
US20230315036A1 (en) | Systems and methods for connecting, remotely monitoring and controlling entity systems | |
JP2004258971A (ja) | スケジュール管理システム、プログラムおよび記録媒体 | |
KR20180024723A (ko) | 온라인 아웃소싱 기반의 소프트웨어 개발 및 설계 시스템 | |
JP2004259019A (ja) | スケジュール管理システム、プログラムおよび記録媒体 | |
EP3726404A1 (en) | Product management system and method for exchanging products stored in the product management system | |
Bridge et al. | RELATED SECTIONS | |
JP2004259029A (ja) | スケジュール管理システム、プログラムおよび記録媒体 | |
JP2004259018A (ja) | スケジュール管理システム、プログラムおよび記録媒体 | |
KR20120025044A (ko) | 온라인 아웃소싱 기반의 소프트웨어 개발 및 설계 시스템 | |
JP2004258959A (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: 17855579 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2017855579 Country of ref document: EP Effective date: 20190430 |