WO2020195350A1 - 制御システム、および制御方法 - Google Patents

制御システム、および制御方法 Download PDF

Info

Publication number
WO2020195350A1
WO2020195350A1 PCT/JP2020/006273 JP2020006273W WO2020195350A1 WO 2020195350 A1 WO2020195350 A1 WO 2020195350A1 JP 2020006273 W JP2020006273 W JP 2020006273W WO 2020195350 A1 WO2020195350 A1 WO 2020195350A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
external device
functional unit
control system
information
Prior art date
Application number
PCT/JP2020/006273
Other languages
English (en)
French (fr)
Inventor
雄大 永田
Original Assignee
オムロン株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by オムロン株式会社 filed Critical オムロン株式会社
Priority to EP20776990.2A priority Critical patent/EP3951629A4/en
Priority to CN202080019335.1A priority patent/CN113544668A/zh
Priority to US17/438,464 priority patent/US12008094B2/en
Publication of WO2020195350A1 publication Critical patent/WO2020195350A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/41User authentication where a single sign-on provides access to a plurality of computers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0846Network architectures or network communication protocols for network security for authentication of entities using passwords using time-dependent-passwords, e.g. periodically changing passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos

Definitions

  • the present disclosure relates to a technique for simplifying login processing in a control system composed of a plurality of units.
  • Patent Document 1 Japanese Unexamined Patent Publication No. 2016-1948078 discloses a PLC capable of accessing a database of an external device.
  • Various functional units can be connected to the control unit.
  • Various applications can be installed in each functional unit.
  • the user can add functional units as needed.
  • each functional unit requires the user to enter an account each time the user accesses a different functional unit. It would be a hassle for the user if the account input was required each time they accessed a different functional unit.
  • the user reuses the same account or sets an easy password. Therefore, there is a possibility that the security level will be lowered. Therefore, a technique for centrally managing user accounts in a control system composed of a plurality of units is desired.
  • a control system composed of a plurality of units.
  • the plurality of units include a first unit and a second unit capable of communicating with the first unit.
  • the first unit requests the input of the user account from the external device based on receiving the access request to the first unit from the external device configured to be able to communicate with the first unit, and the external device.
  • the user account is transmitted to the second unit.
  • the second unit refers to the registration information that defines the account information of the registered user, determines whether or not the user account received from the second unit is registered, and from the second unit. If it is determined that the received user account is registered, a token indicating access permission is transmitted to the first unit.
  • the first unit transmits the token received from the second unit to the external device.
  • the user does not need to perform login processing for each unit constituting the control system. Further, since the user can reduce the number of user accounts to be managed, it is possible to eliminate the complexity in managing the user accounts. As a result, the user account is less likely to be leaked to the outside, and the security level of the control system is improved.
  • the plurality of units further include a third unit.
  • the third unit receives the token from the external device together with the access request to the third unit, the third unit permits access to the third unit.
  • control system can divert the token issued for the first unit to the third unit. This eliminates the need for the user to perform login processing for each unit constituting the control system.
  • the third unit is configured to be able to communicate with the first unit.
  • the first unit relays communication between the second unit and the external device, and relays communication between the third unit and the external device.
  • each unit in the control system 2 can be concealed from the outside. As a result, direct communication between each unit in the control system 2 and the external device is prevented, and the security risk associated with the communication is reduced.
  • an access right is associated with each user account defined in the above account information.
  • the second unit refers to the account information based on the reception of the user account from the external device, identifies the access right associated with the user account, and uses the token as the first unit.
  • the specified access right is further transmitted to the first unit.
  • the first unit transmits information according to the access right received from the second unit to the external device.
  • control system can change the information provided to the user according to the access right given to the user. As a result, the control system can provide the user with appropriate information according to the access right.
  • the operation mode of the control system includes a maintenance mode indicating that the control system is under maintenance.
  • the first unit or the second unit rewrites a predetermined type of access right to another predetermined type of access right when the operation mode of the control system is the maintenance mode.
  • control system can appropriately switch the access right when the operation mode of the control system is maintenance.
  • control system can provide the user with appropriate information according to the access right given in the maintenance mode.
  • the first unit or the second unit may be the other predetermined type of access when a predetermined condition indicating that maintenance of the control system has been completed is satisfied.
  • the access right rewritten to the right is returned to the access right before rewriting.
  • control system can automatically return the rewritten access right when the maintenance is completed.
  • a control method of a control system composed of a plurality of units composed of a plurality of units.
  • the plurality of units include a first unit and a second unit capable of communicating with the first unit.
  • the input of the user account is input to the external device based on the fact that the first unit receives an access request to the first unit from an external device configured to be able to communicate with the first unit.
  • the step of transmitting the user account to the second unit and the registration in which the second unit defines the account information of the registered user By referring to the information, it is determined whether or not the user account received from the second unit is registered, and if it is determined that the user account received from the second unit is registered, access is permitted.
  • the first unit includes a step of transmitting the token indicating the above to the first unit, and a step of transmitting the token received from the second unit to the external device.
  • the user does not need to perform login processing for each unit constituting the control system. Further, since the user can reduce the number of user accounts to be managed, it is possible to eliminate the complexity in managing the user accounts. As a result, the user account is less likely to be leaked to the outside, and the security level of the control system is improved.
  • URL Uniform Resource Locator
  • FIG. 1 is a diagram showing a configuration example of an information processing system 1 according to an embodiment.
  • the information processing system 1 includes one or more control systems 2 and one or more external devices 500.
  • the control system 2 is an FA system for automating the production process.
  • the control system 2 includes a control unit 100, a functional unit 200 (first unit), and a functional unit 300 (second unit).
  • the functional unit 200 and the external device 500 are connected to the external network NW1. Communication between the functional unit 200 and the external device 500 is realized by Ethernet®. That is, each of the functional unit 200 and the external device 500 is assigned an IP address valid in the external network NW1, and the functional unit 200 and the external device 500 communicate with each other based on the IP address.
  • the control unit 100, the functional unit 200, and the functional unit 300 are connected to the internal network NW2. Communication between these units is realized by, for example, Ethernet. That is, each unit constituting the control system 2 is assigned an IP address valid in the internal network NW2, and each unit communicates with each other based on the IP address.
  • the control unit 100 is, for example, a PLC.
  • the control unit 100 controls a drive device (not shown) according to a user program designed in advance.
  • Drive equipment includes various industrial equipment for automating production processes.
  • the drive device includes a robot controller, a servo driver, an arm robot controlled by the robot controller, a servo motor controlled by the servo driver, and the like.
  • the drive device may include a visual sensor for photographing the work, other devices used in the production process, and the like.
  • the functional unit 200 is connected to the control unit 100 and functions as a relay unit. That is, the functional unit 200 relays communication between each unit constituting the control system 2 and the external device 500. Details of the communication function provided by the functional unit 200 will be described later. Further, the functional unit 200 provides various functions for realizing control of various control targets by the control unit 100.
  • the functional unit 200 includes a Web server SV1 and an application AP1.
  • the application AP1 is a program for providing various services related to the control system 2.
  • the functional unit 300 is a unit for centrally managing user accounts for various units constituting the control system 2.
  • the functional unit 300 is, for example, an SGU (Security Guard Unit).
  • the functional unit 300 holds the registration information 330.
  • the registered account information is defined in the registration information 330.
  • each account information includes a user ID (Identification) and a password.
  • the registration information 330 does not necessarily have to be held by the functional unit 300, and may be held by another device such as an external server.
  • the external device 500 is, for example, a notebook type or desktop type PC (Personal Computer), a tablet terminal, a smartphone, an HMI (Human Machine Interface), or another information processing terminal.
  • a notebook type or desktop type PC Personal Computer
  • a tablet terminal a tablet terminal
  • a smartphone a smartphone
  • an HMI Human Machine Interface
  • the functional unit 300 as the SGU performs the access authentication process. More specifically, first, the external device 500 transmits an access request to the functional unit 200 to the functional unit 200 based on receiving an access request to the functional unit 200 from the user (step S1). The functional unit 200 requests the external device 500 to input the user account based on the access request received from the external device 500 (step S2). The external device 500 displays the user account input screen based on the reception of the account input request from the functional unit 200. The external device 500 transmits the input user account to the functional unit 200 based on the input of the user account from the user (step S3).
  • the functional unit 200 transmits the user account to the functional unit 300 based on the reception of the user account from the external device 500 (step S4).
  • the functional unit 300 refers to the registration information 330 and determines whether or not the user account received from the functional unit 200 is registered (step S5).
  • the functional unit 300 determines that the user account received in step S4 is registered in the registration information 330, the functional unit 300 transmits a token indicating access permission to the functional unit 200 (step S6). After that, the functional unit 200 transmits the token received from the functional unit 300 to the external device 500 (step S7).
  • the external device 500 can access the information (for example, application AP1) in the functional unit 200 based on the token issued by the functional unit 300.
  • control system 2 has a functional unit 300 that centrally handles the authentication process of the user account. As a result, the user does not need to perform login processing for each unit constituting the control system 2. Further, since the user can reduce the number of user accounts to be managed, it is possible to eliminate the complexity in managing the user accounts. As a result, the possibility that the user account is leaked to the outside is reduced, and the security level of the control system 2 is improved.
  • Control system 2 The control system 2 shown in FIG. 1 will be described with reference to FIG. FIG. 2 is an external view showing a configuration example of the control system 2.
  • control system 2 includes one or more control units 100, one or more functional units 200, one or more functional units 300, one or more functional units 400, and a power supply unit. Including 450 and.
  • the control unit 100 and the functional unit 200 are connected via an arbitrary data transmission line.
  • the control unit 100, the functional unit 200, and one or more functional units 300, 400 are connected via an internal bus 10 (see FIG. 7) described later.
  • the control unit 100 executes a central process in the control system 2.
  • the control unit 100 executes a control operation for controlling a controlled object according to an arbitrarily designed requirement specification.
  • the control unit 100 has one or a plurality of communication ports.
  • the control unit 100 corresponds to a processing execution unit that executes standard control according to a standard control program.
  • the functional unit 200 is connected to the control unit 100 and is in charge of the communication function with other devices.
  • the functional unit 200 has one or a plurality of communication ports. Details of the communication function provided by the functional unit 200 will be described later.
  • the functional unit 300 is an optional unit and is connected to the control unit 100 as needed.
  • the functional unit 300 typically has a communication unit having a data exchange function by SGU (Security Guard Unit) and OPC UA (Object Linking and Embedding for Process Control Unified Architecture), and a preventive maintenance function by AI (Artificial Intelligence). It may include AI units and the like.
  • the functional unit 400 provides various functions for realizing control for various control targets by the control system 2.
  • the functional unit 400 may typically include an I / O unit, a safety I / O unit, a communication unit, a motion controller unit, a temperature control unit, a pulse counter unit, and the like.
  • the I / O unit for example, a digital input (DI) unit, a digital output (DO) unit, an analog output (AI) unit, an analog output (AO) unit, a pulse catch input unit, and a plurality of types are mixed. Examples include a composite unit.
  • the safety I / O unit is in charge of I / O processing related to safety control.
  • the power supply unit 450 supplies power of a predetermined voltage to each unit constituting the control system 2.
  • FIG. 3 is a schematic diagram showing a hardware configuration example of the control unit 100 constituting the control system 2 according to the present embodiment.
  • the control unit 100 has a processor 102 such as a CPU (Central Processing Unit) and a GPU (Graphical Processing Unit), a chipset 104, a main storage device 106, and a secondary storage device as main components. It includes 108, a communication controller 110, a USB (Universal Serial Bus) controller 112, a memory card interface 114, network controllers 116, 118, 120, an internal bus controller 122, and an indicator 124.
  • a processor 102 such as a CPU (Central Processing Unit) and a GPU (Graphical Processing Unit)
  • chipset 104 such as a main storage device 106
  • main storage device 106 main storage device
  • secondary storage device main components. It includes 108, a communication controller 110, a USB (Universal Serial Bus) controller 112, a memory card interface 114, network controllers 116, 118, 120, an internal bus controller 122,
  • the processor 102 reads various programs stored in the secondary storage device 108, expands them in the main storage device 106, and executes them to realize control operations related to standard control and various processes as described later. ..
  • the chipset 104 realizes the processing of the control unit 100 as a whole by mediating the exchange of data between the processor 102 and each component.
  • the secondary storage device 108 stores a control program that operates in the execution environment provided by the system program.
  • the communication controller 110 is in charge of exchanging data with the functional unit 300.
  • the communication controller 110 for example, a communication chip corresponding to an internal bus, Ethernet, or the like can be adopted.
  • the USB controller 112 is in charge of exchanging data with an arbitrary information processing device via a USB connection.
  • the memory card interface 114 is configured so that the memory card 115 can be attached and detached, and data such as a control program and various settings can be written to the memory card 115, or data such as a control program and various settings can be written from the memory card 115. It is possible to read it.
  • Each of the network controllers 116, 118, 120 is in charge of exchanging data with and from any device via the network.
  • the network controllers 116, 118, 120 may employ industrial network protocols such as EtherCAT®, EtherNet / IP®, DeviceNet®, CompoNet®.
  • the internal bus controller 122 is in charge of exchanging data with the functional units 200, one or a plurality of functional units 300, and one or a plurality of functional units 400 constituting the control system 2.
  • a manufacturer-specific communication protocol may be used, or a communication protocol that is the same as or compliant with any industrial network protocol may be used.
  • the indicator 124 notifies the operating state of the control unit 100 and the like, and is composed of one or a plurality of LEDs arranged on the surface of the unit.
  • FIG. 3 shows a configuration example in which the necessary functions are provided by the processor 102 executing the program, and some or all of these provided functions are provided by a dedicated hardware circuit (for example, ASIC). It may be implemented using (Application Specific Integrated Circuit) or FPGA (Field-Programmable Gate Array). Alternatively, the main part of the control unit 100 may be realized by using hardware that follows a general-purpose architecture (for example, an industrial personal computer based on a general-purpose personal computer). In this case, virtualization technology may be used to execute a plurality of OSs (Operating Systems) having different uses in parallel, and to execute necessary applications on each OS.
  • OSs Operating Systems
  • FIG. 4 is a schematic diagram showing a hardware configuration example of the functional unit 200 constituting the control system 2 according to the present embodiment.
  • the functional unit 200 has a processor 202 such as a CPU and a GPU, a chipset 204, a main storage device 206, a secondary storage device 208, a communication controller 210, and a communication interface as main components. Includes 212, memory card interface 214, network controllers 216, 218, and indicator 224.
  • the processor 202 realizes various communication functions as described later by reading various programs stored in the secondary storage device 208, deploying them in the main storage device 206, and executing the programs.
  • the chipset 204 realizes the processing of the functional unit 200 as a whole by mediating the exchange of data between the processor 202 and each component.
  • the communication setting information 230 described later in addition to the system program, the communication control program 232 operating in the execution environment provided by the system program, the account information 234 described later, and the URL conversion described later.
  • Various data such as rule 236 are stored.
  • the communication controller 210 is in charge of exchanging data with the control unit 100 and the functional unit 300.
  • the communication controller 210 for example, a communication chip corresponding to an internal bus, Ethernet, or the like can be adopted.
  • the communication interface 212 is in charge of exchanging data with an arbitrary information processing device via a USB connection.
  • the memory card interface 214 is configured so that the memory card 215 can be attached and detached, and data such as a control program and various settings can be written to the memory card 215, or data such as a control program and various settings can be written from the memory card 215. It is possible to read it.
  • Each of the network controllers 216 and 218 is in charge of exchanging data with and from any device via the network.
  • the network controllers 216 and 218 may employ a general-purpose network protocol such as Ethernet.
  • the functional unit 200 communicates with the external device 500 via the network controller 216 or the network controller 218.
  • the indicator 224 notifies the operating state of the functional unit 200, etc., and is composed of one or a plurality of LEDs arranged on the surface of the unit.
  • FIG. 4 shows a configuration example in which the necessary functions are provided by the processor 202 executing the program, and some or all of these provided functions are provided by a dedicated hardware circuit (for example, ASIC). Alternatively, it may be implemented using an FPGA or the like). Alternatively, the main part of the functional unit 200 may be realized by using hardware that follows a general-purpose architecture (for example, an industrial personal computer based on a general-purpose personal computer). In this case, virtualization technology may be used to execute a plurality of OSs having different uses in parallel, and to execute necessary applications on each OS.
  • a general-purpose architecture for example, an industrial personal computer based on a general-purpose personal computer.
  • virtualization technology may be used to execute a plurality of OSs having different uses in parallel, and to execute necessary applications on each OS.
  • FIG. 5 is a schematic diagram showing a hardware configuration example of the functional unit 300 constituting the control system 2 according to the present embodiment.
  • the functional unit 300 has, as main components, a processor 302 such as a CPU and a GPU, a chipset 304, a main storage device 306, a secondary storage device 308, a memory card interface 314, and an internal structure. It includes a bus controller 322 and an indicator 324.
  • the processor 302 realizes a server function and various functions by reading various application programs stored in the secondary storage device 308, deploying them in the main storage device 306, and executing them.
  • the chipset 304 realizes the processing of the functional unit 300 as a whole by mediating the exchange of data between the processor 302 and each component.
  • the secondary storage device 308 stores an application program that operates in the execution environment provided by the system program and the above-mentioned registration information 330 (see FIG. 1).
  • the memory card interface 314 is configured so that the memory card 315 can be attached and detached, and data such as application programs and various settings can be written to the memory card 315, or data such as application programs and various settings can be written from the memory card 315. It is possible to read it.
  • the internal bus controller 322 is in charge of exchanging data with the control unit 100 and the functional unit 200 via the internal bus.
  • the indicator 324 notifies the operating state of the functional unit 300, etc., and is composed of one or a plurality of LEDs arranged on the surface of the unit.
  • FIG. 5 shows a configuration example in which the necessary functions are provided by the processor 302 executing the program, and some or all of these provided functions are provided by a dedicated hardware circuit (for example, ASIC). Alternatively, it may be implemented using an FPGA or the like). Alternatively, the main part of the functional unit 300 may be realized by using hardware that follows a general-purpose architecture (for example, an industrial personal computer based on a general-purpose personal computer). In this case, virtualization technology may be used to execute a plurality of OSs having different uses in parallel, and to execute necessary applications on each OS.
  • a general-purpose architecture for example, an industrial personal computer based on a general-purpose personal computer.
  • virtualization technology may be used to execute a plurality of OSs having different uses in parallel, and to execute necessary applications on each OS.
  • FIG. 6 is a schematic diagram showing a hardware configuration example of the external device 500 constituting the information processing system 1 according to the embodiment.
  • the external device 500 is composed of a computer configured according to a general-purpose computer architecture.
  • the external device 500 includes a processor 502 such as a CPU and an MPU, a main storage device 504, a secondary storage device 510, a communication interface 511, an I / O (Input / Output) interface 514, and a display interface 520. .. These components are communicably connected to each other via an internal bus 525.
  • the processor 502 controls the operation of the external device 500 by executing various control programs such as the development support program 510A and a browser application (not shown).
  • the development support program 510A is a program that provides an environment for developing a control program (user program) of the control system 2.
  • the processor 502 reads the control program to be executed from the secondary storage device 510 to the main storage device 504 based on the reception of the execution instructions of various control programs such as the development support program 510A and the browser application.
  • the communication interface 511 exchanges data with other communication devices via a network.
  • the other communication device includes, for example, a functional unit 200, a server, and the like.
  • the external device 500 may be configured so that various control programs such as the development support program 510A can be downloaded from the other communication device via the communication interface 511.
  • the I / O interface 514 is connected to the input device 515 and captures a signal indicating a user operation from the input device 515.
  • the input device 515 typically comprises a keyboard, mouse, touch panel, touch pad, and the like, and accepts operations from the user.
  • the external device 500 and the input device 515 are shown as separate bodies, but the external device 500 and the input device 515 may be integrally configured.
  • the display interface 520 is connected to the display 521 and sends an image signal for displaying an image to the display 521 in accordance with a command from the processor 502 or the like.
  • the display 521 is, for example, an LCD (Liquid Crystal Display) or an organic EL (Electro Luminescence), and presents various information to the user.
  • the display 521 may display various screens provided by the development support program 510A.
  • the external device 500 and the display 521 are shown as separate bodies, but the external device 500 and the display 521 may be integrally configured.
  • FIG. 7 is a diagram showing an example of the unit configuration of the information processing system 1. A specific example of the unit configuration of the information processing system 1 will be described with reference to FIG. 7.
  • the information processing system 1 includes a control system 2 and an external device 500.
  • the control system 2 includes a control unit 100, a functional unit 200, and a functional unit 300.
  • the control unit 100, the functional unit 200, and the functional unit 300 are connected via the internal bus 10. These units communicate with each other via the internal bus 10.
  • the communication is realized by, for example, virtual Ethernet.
  • the functional unit 200 and the external device 500 are connected to the external network NW1.
  • An IP address "192.168.250.3" is assigned to the external device 500.
  • the functional unit 200 and the external device 500 each have a physical communication port, and are connected to the external network NW1 via the communication port.
  • control unit 100 the functional unit 200, and the functional unit 300 are connected to the internal network NW2.
  • a virtual IP address "192.168.250.1" is assigned to the control unit 100.
  • control unit 100 is assigned the unit name "Unit # 0".
  • the IP address "192.168.250.2" is assigned to the functional unit 200. Further, the unit name "Unit # 1" is assigned to the functional unit 200.
  • the functional unit 200 functions as a Web server "Web1”. Applications “App11” and “Appp12” are installed in the functional unit 200. The applications “App11” and “Appp12” are accessed from the Web server "Web1".
  • the functional unit 300 is composed of two functional units U2 and U3.
  • a virtual IP address "192.168.251.100" is assigned to the functional unit U2.
  • the unit name "Unit # 2" is assigned to the functional unit U2.
  • the functional unit U2 functions as a Web server "Web2”.
  • the applications "App 21” and “App 22” are installed in the functional unit U2.
  • the applications "App21” and “App22” are accessed from the Web server "Web2".
  • a virtual IP address "192.168.251.101" is assigned to the functional unit U3. Further, the unit name "Unit # 3" is assigned to the functional unit U3.
  • the functional unit U3 functions as a Web server "Web3". Applications "App31” and “Appp32” are installed in the functional unit U3. The applications “App31” and “App32” are accessed from the Web server "Web3".
  • the functional unit U3 has an SSO (Single Sign On) function and functions as an authentication server (master).
  • the functional unit 200 has a reverse proxy function. More specifically, the functional unit 200 functions as a Web server when an access request is received from the external device 500. Then, the functional unit 200 rewrites the access request received from the external device 500, and transmits the rewritten access request to the access destination functional unit 300. At this time, the functional unit 200 functions as a client, and the access destination functional unit 300 functions as a Web server. In this way, the functional unit 200 functions as both a Web server and a client.
  • the functional unit 200 needs to route the access request from the external device 500 in order to relay the communication between the external device 500 and the functional units U2 and U3. In order to realize such a relay function, the functional unit 200 generates communication setting information 230 (see FIG. 4) for routing in advance.
  • FIG. 8 is a diagram showing a data flow between the functional unit 200 and the functional unit 300 when the communication setting information 230 is generated. The process shown in FIG. 8 is executed, for example, when the control unit 100 is started.
  • step S10 the functional unit 200 transmits a request for acquiring information about the functional unit U2 (hereinafter, also referred to as “proxy information”) to the functional unit U2.
  • proxy information information about the functional unit U2
  • the functional unit U2 Upon receiving the acquisition request, the functional unit U2 transmits its own proxy information to the functional unit 200.
  • FIG. 9 is a diagram showing an example of proxy information.
  • the proxy information includes, for example, a domain name, a unit name, and a host name.
  • the domain name is shown as "AI”
  • the unit name is shown as "# 2”
  • the host name is shown as "Unit_2”.
  • step S12 the functional unit 200 updates the communication setting information 230 based on the proxy information received from the functional unit U2.
  • FIG. 10 is a diagram showing an example of communication setting information 230.
  • the information shown by the broken line 230A is added to the communication setting information 230.
  • the address information of the functional unit U2 (in the example of FIG. 10, the host name “Unit_2”) is associated with the identifier “u2”.
  • the identifier "u2" associated with the host name "Unit_2" is generated according to a rule predetermined by the functional unit 200.
  • the functional unit 200 generates a character string as an identifier that makes it easy for the user to identify the functional unit U2.
  • the identifier is generated based on the domain name of the functional unit U2, the unit name of the functional unit U2, or the host name of the functional unit U2.
  • the address information associated with the identifier "u2" does not necessarily have to be a host name, as long as it can identify the IP address of the functional unit U2 in the internal network NW2.
  • the address information associated with the identifier "u2" may be the IP address itself of the functional unit U2 in the internal network NW2, or may be the domain name of the functional unit U2.
  • step S20 the functional unit 200 transmits a proxy information acquisition request to the functional unit U3.
  • the functional unit U3 Upon receiving the acquisition request, the functional unit U3 transmits its own proxy information to the functional unit 200.
  • step S22 the functional unit 200 updates the communication setting information 230 based on the proxy information received from the functional unit U3.
  • the information shown by the broken line 230B in FIG. 10 is added to the communication setting information 230.
  • the address information of the functional unit U3 (in the example of FIG. 10, the host name “Unit_3”) is associated with the identifier “u3”.
  • the identifier "u3" is generated by the functional unit 200 according to the same rules as the identifier "u2".
  • the address information associated with the identifier "u3" may be any one that can identify the IP address of the functional unit U3 in the internal network NW2, and does not necessarily have to be a host name.
  • the address information associated with the identifier "u3" may be the IP address itself of the functional unit U3 in the internal network NW2, or may be the domain name of the functional unit U3.
  • the functional unit U3 as an SGU centrally manages user accounts for various units constituting the control system 2. That is, when each unit of the control system 2 is accessed from the external device 500, the functional unit U3 performs the user authentication process.
  • FIG. 11 is a diagram showing a data flow between the functional unit 200, the functional unit U3 which is an example of the functional unit 300, and the external device 500 during the user authentication process.
  • the process shown in FIG. 11 is executed, for example, after the control unit 100 is started.
  • step S30 it is assumed that the external device 500 receives an access request to the functional unit 200 from the user.
  • the external device 500 receives a request to display a portal site for accessing the application of each functional unit.
  • the external device 500 transmits an access request to the portal site to the functional unit 200 based on receiving the display request of the portal site from the user.
  • the external device 500 transmits the access request to the functional unit 200 without the token.
  • the functional unit 200 Based on receiving the access request from the external device 500, the functional unit 200 transmits the URL of the login page to the external device 500 and redirects the login page to the login page.
  • step S32 the external device 500 transmits an access request to the login page to the functional unit 200 based on the URL received from the functional unit 200.
  • the functional unit 200 acquires the URL included in the access request received from the external device 500 and rewrites the URL. That is, in step S32, the functional unit 200 functions as a reverse proxy server.
  • FIG. 12 is a diagram schematically showing a URL rewriting process.
  • the access request 40A from the external device 500 is shown as the URL "http://192.168.250.2/u3/login.php".
  • “192.168.250.2” shown in the access request 40A indicates the IP address of the functional unit 200.
  • “U3” shown in the access request 40A indicates the identifier of the access destination unit.
  • the communication unit 150 of the functional unit 200 acquires the identifier "u3" included in the access request 40A based on the reception of the access request 40A from the external device 500. Next, the communication unit 150 acquires the address information corresponding to the identifier “u3” by referring to the communication setting information 230 described with reference to FIG. As a result, valid address information "unit_3" is specified in the internal network NW2. After that, the communication unit 150 rewrites the access request 40A and generates the access request 40B including the address information "unit_3".
  • the communication unit 150 generates the access request 40B by replacing the identifier "u3" included in the access request 40A with the address information "unit_3" corresponding to the identifier "u3".
  • the domain "192.168.250.2” that is, destination information
  • access request 40A "http://192.168.250.2/u3/App31/index.php” is rewritten to access request 40B "http://unit_3/login.php”
  • the destination is from functional unit 200 to functional unit.
  • the communication unit 150 transmits the rewritten access request 40B to the functional unit U3.
  • the functional unit U3 transmits a login page to the functional unit 200 as an HTML (HyperText Markup Language) document.
  • the functional unit 200 transmits the login page to the external device 500 based on the reception of the login page from the functional unit U3.
  • step S34 the external device 500 displays the login page received from the functional unit 200 on the display 521 (see FIG. 6).
  • FIG. 13 is a diagram showing an example of a screen displayed on the external device 500.
  • FIG. 13 shows a login page 700 as an example of a screen displayed on the external device 500.
  • the login page 700 accepts input of login information (account information) such as a user ID and password.
  • login information account information
  • the login button on the login page 700 is pressed, the entered login information is transmitted to the functional unit 200.
  • the cancel button of the login page 700 is pressed, the entered login information is discarded and the login page 700 is closed.
  • step S36 the external device 500 transmits the login information entered on the login page 700 to the functional unit 200.
  • the functional unit 200 functions as a reverse proxy server in the same manner as in step S32, and transmits the login information received from the external device 500 to the functional unit U3.
  • FIG. 14 is a diagram showing an example of the data structure of the registration information 330.
  • the registration information 330 is associated with a user name, an access right, and a password for each user ID.
  • the functional unit U3 uses the user ID included in the login information received from the functional unit 200 as a key to acquire the password corresponding to the user ID from the registration information 330.
  • the functional unit U3 compares the password acquired from the registration information 330 with the password included in the login information received from the functional unit 200. If these passwords match, the functional unit U3 determines that the login information received from the functional unit 200 is registered in the registration information 330.
  • step S37 the functional unit U3 determines that the login information received from the functional unit 200 is registered in the registration information 330.
  • the functional unit U3 issues a token for permitting access.
  • "token1” is issued.
  • the functional unit U3 stores the issued "token1" in the registration information 330 in association with the account information such as the user ID and the access right.
  • “Token1” is, for example, a random number and is valid only for a certain period of time.
  • the external device 500 transmits the issued "token1" to the functional unit 200.
  • the functional unit 200 transmits the "token1" received from the external device 500 to the external device 500.
  • step S38 the external device 500 retransmits the display request of the portal site including the link destination to each functional unit (or each application) to the functional unit 200. At this time, the external device 500 also transmits the "token1" received from the functional unit 200 to the functional unit 200.
  • step S40 the functional unit 200 transmits the "token1" received from the external device 500 and the request for acquiring the account information to the functional unit U3.
  • the functional unit U3 determines the effectiveness of "token1", such as whether "token1" is invalid or "token1" has not expired.
  • the functional unit U3 determines that the "token1" is valid, it refers to the registration information 330, acquires the account information corresponding to the "token1" received from the functional unit 200, and uses the account information as the functional unit 200. Send to.
  • step S50 the functional unit 200 stores the account information received from the functional unit U3 in step S40 in association with "token1".
  • FIG. 15 is a diagram showing account information 234 stored in step S50.
  • the account information 234 includes the user's account name, the user name, and the access right given to the user. This information is associated with "token1".
  • step S52 the functional unit 200 generates a response to the access request in step S38.
  • FIG. 16 is a diagram showing link information 30 which is an example of the generated response.
  • the link information 30 is an HTML document that defines the portal site.
  • the link information 30 is generated based on the above-mentioned communication setting information 230 (see FIG. 10). More specifically, the functional unit 200 generates the link information 30 based on its own IP address and the identifier of each unit defined in the communication setting information 230. In the example of FIG. 12, it is valid in the external network NW1 based on the IP address “192.168.250.2” of the functional unit 200 and the identifier “u3” of the functional unit U3 defined in the communication setting information 230.
  • the URL "http://192.168.250.2/u3/App31/index.php” has been generated. "App31" shown in the URL is an identifier of the application in the functional unit U3.
  • the functional unit 200 generates such a URL for each application in each unit of the control system 2 and writes it in the link information 30.
  • step S52 the functional unit 200 transmits the generated link information 30 to the external device 500.
  • step S54 the external device 500 configures a portal site based on the received link information 30, and displays the portal site on the display 521 (see FIG. 6).
  • FIG. 13 shows an example of the portal site 710 displayed on the external device 500.
  • links to each unit are shown as hyperlinks.
  • the link to the functional unit U2 which is an example of the functional unit 300, is shown as a hyperlink 710A
  • the link to the application of the functional unit 200 is shown as a hyperlink 710B.
  • step S60 It is assumed that the hyperlink 710B of the portal site 710 is selected in step S60. As a result, the external device 500 transmits an access request corresponding to the selected hyperlink 710B to the functional unit 200. At this time, the external device 500 also transmits the already issued "token1" to the functional unit 200.
  • step S50 Since the "token1" received from the external device 500 is already registered in the account information 234 of the functional unit 200 in step S50, the functional unit 200 does not execute the account acquisition process in step S40 described above. A response corresponding to the access request in step S60 is transmitted to the external device 500.
  • step S62 the external device 500 displays the site (home page) corresponding to the hyperlink 710B based on the response received from the functional unit 200.
  • FIG. 13 shows an example of the site 720 displayed in step S62.
  • token1 issued for a certain functional unit (for example, functional unit 200) is also valid for other functional units (for example, functional units U2 and U3). As an example, it is assumed that "token1" is issued when the functional unit 200 is accessed, and the external device 500 receives an access request to the functional unit U2 from the user.
  • the external device 500 transmits an access request to the functional unit U2 (third functional unit) to the functional unit 200 (first functional unit) which is a relay unit. At this time, the external device 500 also transmits the already issued "token1" to the relay unit.
  • the relay unit receives "token1" from the external device 500 together with the access request, the relay unit determines whether or not "token1" is already registered in the account information 234. When the relay unit determines that "token1" is already registered in the account information 234, the relay unit permits access to the functional unit U2 without user authentication.
  • the functional unit U2 acquires the information of the access destination in the functional unit U2, and transmits the acquired information to the external device 500 via the relay unit. In this way, if the "token1" issued when accessing a certain functional unit is also diverted when accessing another functional unit, the user does not need to perform the login process each time.
  • Modification example 1 of the control flow of the information processing system 1> In the example of FIG. 11 described above, the same portal site 710 was displayed in step S54 regardless of the access right given to the logged-in user. On the other hand, in this modification, the external device 500 changes the display content of the portal site 710 according to the access right of the logged-in user.
  • FIG. 17 is a diagram showing a data flow between the functional unit 200, the functional unit U3 which is an example of the functional unit 300, and the external devices 500A and 500B during the authentication process by the functional unit U3.
  • step S70 the user authentication process for the external device 500A and the user authentication process for the external device 500B are performed.
  • the user authentication process is as described in steps S30, S32, S33, S34, S36, S37, and S38 of FIG. 11 above. That is, in step S70, the processes of steps S30, S32, S33, S34, S36, S37, and S38 of FIG. 11 described above are executed for each of the external device 500A and the external device 500B.
  • the functional unit U3 issues "token1" to the external device 500A and "token2" to the external device 500B.
  • step S80 the functional unit 200 transmits the "token1" received from the external device 500A and the request for acquiring the account information to the functional unit U3. Based on the reception of these, the functional unit U3 acquires the account information corresponding to "token1" with reference to the above-mentioned registration information 330 (see FIG. 14). After that, the functional unit U3 transmits the acquired account information to the functional unit 200.
  • step S82 the functional unit 200 stores the account information received from the functional unit U3 in association with "token1".
  • FIG. 18 is a diagram showing an example of account information 234 stored in the functional unit 200.
  • the information shown by the broken line 234A is added to the account information 234.
  • the information added to the account information 234 includes, for example, the user's account name, the user name, and the access rights granted to the user. These account information are associated with "token1".
  • step S90 the functional unit 200 transmits the "token2" received from the external device 500B and the request for acquiring the account information to the functional unit U3. Based on the reception of these, the functional unit U3 acquires the account information corresponding to "token2" with reference to the above-mentioned registration information 330 (see FIG. 14). After that, the functional unit U3 transmits the acquired account information to the functional unit 200.
  • step S92 the functional unit 200 stores the account information received from the functional unit U3 in association with "token2".
  • step S92 the information shown by the dashed line 234B in FIG. 18 is added to the account information 234.
  • the information added to the account information 234 includes, for example, the user's account name, the user name, and the access rights granted to the user. These account information are associated with "token2".
  • step S100 the external device 500A transmits the URL of the portal site 710 to the functional unit 200 as an access request. At this time, the external device 500A also transmits the "token1" issued for the external device 500A to the functional unit 200.
  • the functional unit 200 generates a response to the URL based on receiving the URL of the portal site 710 and "token1" from the external device 500A. At this time, the functional unit 200 converts the URL received from the external device 500A according to the access right of the user of the external device 500A.
  • the URL conversion is performed based on, for example, the URL conversion rule 236 shown in FIG.
  • FIG. 19 is a diagram showing an example of the URL conversion rule 236.
  • the HTML display file name is defined for each access right. The correspondence between the display file and the access right may be predetermined or may be arbitrarily changed by the user.
  • the functional unit 200 acquires the access right corresponding to "token1" by referring to the above-mentioned account information 234 (see FIG. 18).
  • the access right "Admin” is acquired.
  • the functional unit 200 refers to the URL conversion rule 236 and acquires the display file name corresponding to the access right “Admin”.
  • "AdminTop.html” is acquired.
  • the functional unit 200 converts the display file name of the URL received from the external device 500A into "AdminTop.html”.
  • the functional unit 200 accesses the converted URL and transmits the corresponding HTML file to the external device 500A.
  • the access destination is changed according to the access right given to the login user of the external device 500A.
  • step S102 the external device 500A displays the portal site 710 for the access right "Admin" based on the HTML file received from the functional unit 200.
  • step S110 the external device 500B transmits the URL of the portal site 710 to the functional unit 200 as an access request. At this time, the external device 500B also transmits the "token2" issued for the external device 500B to the functional unit 200.
  • the functional unit 200 generates a response to the URL based on the URL of the portal site 710 and "token2" received from the external device 500B. At this time, the functional unit 200 converts the URL received from the external device 500B according to the access right of the user of the external device 500B.
  • the URL conversion is performed based on, for example, the URL conversion rule 236 shown in FIG. More specifically, first, the functional unit 200 acquires the access right corresponding to "token2" by referring to the account information 234 (see FIG. 18). In the example of FIG. 18, the access right "Operator” is acquired. Next, the functional unit 200 refers to the URL conversion rule 236 and acquires the display file name corresponding to the access right “Operator”. In the example of FIG. 19, "OperatorTop.html” is acquired. After that, the functional unit 200 converts the display file name of the URL received from the external device 500B into "OperatorTop.html". Then, the functional unit 200 accesses the converted URL and transmits the corresponding HTML file to the external device 500B. As a result, the access destination is changed according to the access right given to the login user of the external device 500B.
  • step S112 the external device 500B displays the portal site 710 for the access right "Operator” based on the HTML file received from the functional unit 200.
  • the functional unit U3 identifies the access right associated with the user account by referring to the account information 234 based on the reception of the user account from the external device 500, and the functional unit 200 When the token is transmitted to, the specified access right is further transmitted to the functional unit 200.
  • the functional unit 200 receives an access request from the external device 500, the functional unit 200 transmits information according to the access right of the login user of the external device 500 to the external device 500. As a result, the functional unit 200 can change the information to be provided according to the access right given to the user.
  • the operation mode of the control system 2 includes a maintenance mode indicating that the control system 2 is under maintenance in addition to the normal mode.
  • the operation mode of the control system 2 shifts the operation mode to the maintenance mode when a predetermined condition indicating that the maintenance of the control system 2 has started is satisfied.
  • the predetermined conditions are, for example, when a physical key is inserted into the control system 2, a password for maintenance is entered into the control system 2, or a transition operation to the maintenance mode is performed. If you are satisfied.
  • FIG. 20 is a diagram showing a data flow between the functional unit 200, the functional unit U3 which is an example of the functional unit 300, and the external devices 500A and 500B in the maintenance mode.
  • the processes other than steps S110A and S112A shown in FIG. 20 are as described in FIG. 17, and the description thereof will not be repeated.
  • the predetermined type of access right is rewritten to another predetermined type of access right.
  • the entity that rewrites the access right may be the functional unit 200 or the functional unit U3.
  • FIG. 21 is a diagram for explaining an example in which the functional unit U3 rewrites the access right.
  • FIG. 21 is a diagram showing registration information 330 whose access right has been rewritten.
  • the registration information 330 is stored in, for example, the secondary storage device 308 of the functional unit U3.
  • the functional unit U3 in the maintenance mode, rewrites, for example, a predetermined type of access right "Operator" defined in the registration information 330 to "Maintainer".
  • step S90 of FIG. 20 when the functional unit U3 acquires the account information corresponding to "token2" from the registration information 330, the "Maintainer” is acquired as the access right.
  • step S110A the functional unit 200 transmits information according to the access right "Maintainer" to the external device 500B.
  • step S110A the external device 500B transmits the URL of the portal site 710 to the functional unit 200 as an access request.
  • the external device 500B also transmits the "token2" issued for the external device 500B to the functional unit 200.
  • the functional unit 200 generates a response to the URL based on the URL of the portal site 710 and "token2" received from the external device 500B.
  • the functional unit 200 converts the URL received from the external device 500B according to the access right of the user of the external device 500B.
  • the URL conversion is performed based on, for example, the URL conversion rule 236 shown in FIG.
  • FIG. 22 is a diagram showing a URL conversion rule 236 in the maintenance mode.
  • the functional unit 200 refers to the URL conversion rule 236 and acquires the display file name corresponding to the access right "Maintainer". In the example of FIG. 22, "MaintainerTop.html” is acquired. After that, the functional unit 200 converts the display file name of the URL received from the external device 500B into "MaintainerTop.html". As a result, the access destination of the predetermined type of access right is changed in the maintenance mode. Then, the functional unit 200 accesses the converted URL and transmits the corresponding HTML file to the external device 500B.
  • step S112A the external device 500B displays the portal site 710 for the access right "Maintainer" based on the HTML file received from the functional unit 200.
  • the functional unit U3 rewrites the access right defined in the registration information 330 to the "Maintainer"
  • the entity that rewrites the access right does not have to be the functional unit U3.
  • the rewriting of the access right may be performed by the functional unit 200.
  • the functional unit 200 rewrites the access right defined in the above-mentioned account information 234 to "Maintainer".
  • FIG. 23 is a diagram showing account information 234 in the maintenance mode.
  • the account information 234 is stored in, for example, the secondary storage device 208 of the functional unit 200.
  • the functional unit 200 rewrites the predetermined type of access right "Operator" defined in the account information 234 to "Maintainer" in the maintenance mode. Further, the functional unit 200 writes the expiration date of the access right "Maintainer" in the account information 234.
  • step S110A the functional unit 200 refers to the account information 234 and transmits information according to the access right "Maintainer" to the external device 500B.
  • the predetermined type of access right defined in the registration information 330 is rewritten to "Maintainer", or is defined in the account information 234.
  • a certain type of access right may be rewritten to "Maintainer”.
  • the access right rewritten to "Maintainer” is automatically returned to the access right before rewriting when a predetermined termination condition indicating that the maintenance of the control system 2 has been completed is satisfied.
  • the entity that restores the access right may be the functional unit 200 or the functional unit U3.
  • Whether or not the maintenance mode end condition is satisfied is determined by various methods. As an example, it is determined that the maintenance mode termination condition is satisfied based on the expiration date set for the access right "Maintainer". Alternatively, it is determined that the maintenance mode termination condition is satisfied based on the removal of the physical key inserted into the control system 2. Alternatively, it is determined that the maintenance mode end condition is satisfied based on the user performing the maintenance end operation.
  • FIG. 24 is a diagram showing a unit configuration of the information processing system 1A according to a modified example. The unit configuration of the information processing system 1A according to the modified example will be described with reference to FIG. 24.
  • each unit constituting the information processing system 1 was connected via the internal bus 10.
  • each unit is connected to the internal network NW2 via the communication port. That is, in this modification, each unit is installed at a physically separated place. Even such a unit configuration does not deviate from the gist of the present invention.
  • FIG. 25 is a diagram showing a unit configuration of the information processing system 1B according to a modified example. The unit configuration of the information processing system 1B according to the modified example will be described with reference to FIG. 25.
  • the functional unit 200 is directly connected to the external device 500, but also the functional unit U3 is directly connected to the external device 500. That is, the communication path from the external device 500 to the functional unit U3 includes a communication path R1 via the functional unit 200 and a communication path R2 not via the functional unit 200.
  • access permission / prohibition rules are defined in advance for each communication path and application, and are held in each of the functional units 300 as permission / prohibition rules.
  • the functional unit 300 receives an access request from the functional unit 200 or the external device 500, the functional unit 300 identifies the access source from the URL included in the access request, and identifies the communication route based on the access source. After that, the functional unit 300 determines whether or not access to the access destination application is permitted for the specified communication route by referring to the permission / prohibition rule.
  • the present embodiment includes the following disclosure.
  • a control system (2) composed of a plurality of units.
  • the plurality of units 1st unit (200) and A second unit (300, U3) capable of communicating with the first unit (200) is provided.
  • the first unit (200) is a user account based on receiving an access request to the first unit (200) from an external device (500) configured to be able to communicate with the first unit (200). Is requested to the external device (500), and the user account is transmitted to the second unit (300, U3) based on the reception of the user account from the external device (500).
  • the user account received from the second unit (300, U3) is registered with reference to the registration information (330) that defines the account information of the registered user.
  • the first unit (200) is a control system that transmits the token received from the second unit (300, U3) to the external device (500).
  • the plurality of units further include a third unit (300, U2).
  • the third unit (300, U2) sends the token to the third unit (300, U2).
  • the control system according to configuration 1, which allows access.
  • the third unit (300, U2) is configured to be able to communicate with the first unit (200).
  • the first unit (200) relays communication between the second unit (300, U3) and the external device (500), and the third unit (300, U2) and the external device (500).
  • the control system according to configuration 2, which relays the communication with and from the communication with.
  • An access right is associated with each user account specified in the account information. Based on receiving the user account from the external device (500), the second unit (300, U3) refers to the account information and identifies the access right associated with the user account. When transmitting the token to the first unit (200), the specified access right is further transmitted to the first unit (200). The item according to any one of configurations 1 to 3, wherein the first unit (200) transmits information according to the access right received from the second unit (300, U3) to the external device (500). Control system.
  • the operation mode of the control system (2) includes a maintenance mode indicating that the control system (2) is under maintenance.
  • the first unit (200) or the second unit (300, U3) is predetermined to have a predetermined type of access right when the operation mode of the control system (2) is the maintenance mode.
  • the first unit (200) or the second unit (300, U3) is predetermined when the predetermined condition indicating that the maintenance of the control system (2) is completed is satisfied.
  • [Structure 7] It is a control method of a control system (2) composed of a plurality of units.
  • the plurality of units 1st unit (200) and A second unit (300, U3) capable of communicating with the first unit (200) is provided.
  • the control method is A user account based on the fact that the first unit (200) receives an access request to the first unit (200) from an external device (500) configured to be able to communicate with the first unit (200).
  • the step (S36) of requesting the input of the external device (500) and transmitting the user account to the second unit (300, U3) based on the reception of the user account from the external device (500).
  • Step (S37) and A control method comprising a step (S37) in which the first unit (200) transmits the token received from the second unit (300, U3) to the external device (500).

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

複数のユニットで構成される制御システムにおいてユーザアカウントを一元的に管理する技術を提供する。制御システム(2)は、第1,第2ユニット(200,300)を備える。第1ユニット(200)は、外部機器(500)から第1ユニット(200)へのアクセス要求を受信した場合、ユーザアカウントの入力を外部機器(500)に要求し、外部機器(500)から受信したユーザアカウントを第2ユニット(300)に送信する。第2ユニット(300,U3)は、登録されたユーザのアカウント情報を規定している登録情報(330)を参照して、上記ユーザアカウントが登録されていると判断した場合、アクセスの許可を示すトークンを第1ユニット(200)に送信する。第1ユニット(200)は、第2ユニット(300)から受信したトークンを外部機器(500)に送信する。

Description

制御システム、および制御方法
 本開示は、複数のユニットで構成される制御システムにおいてログイン処理を簡素化するための技術に関する。
 FA(Factory Automation)を用いた生産現場などでは、各種設備および各設備に配置される各種装置の制御において、PLC(Programmable Logic Controller)などの制御ユニットが用いられる。近年、外部機器に接続できる制御ユニットが普及している。このような制御ユニットに関し、特許文献1(特開2016-194808号公報)は、外部機器のデーターベースにアクセスすることができるPLCを開示している。
特開2016-194808号公報
 制御ユニットには、種々の機能ユニットが接続され得る。各機能ユニットには、様々なアプリケーションがインストールされ得る。ユーザは、必要に応じて、機能ユニットを追加することができる。
 セキュリティを担保するために、ユーザが異なる機能ユニットにアクセスする度に、各機能ユニットは、アカウントの入力をユーザに求める。アカウントの入力が異なる機能ユニットにアクセスする度に求められると、ユーザに手間がかかる。また、ユーザは、管理するアカウントの数が多くなると、同一のアカウントを使い回したり、容易なパスワードを設定したりする。そのため、かえって、セキュリティレベルが低くなってしまう可能性がある。したがって、複数のユニットで構成される制御システムにおいてユーザアカウントを一元的に管理するための技術が望まれている。
 本開示の一例では、複数のユニットで構成される制御システムが提供される。上記複数のユニットは、第1ユニットと、上記第1ユニットと通信可能な第2ユニットとを備える。上記第1ユニットは、当該第1ユニットと通信可能に構成される外部機器から当該第1ユニットへのアクセス要求を受信したことに基づいて、ユーザアカウントの入力を上記外部機器に要求し、上記外部機器からユーザアカウントを受信したことに基づいて、当該ユーザアカウントを上記第2ユニットに送信する。上記第2ユニットは、登録されたユーザのアカウント情報を規定している登録情報を参照して、上記第2ユニットから受信したユーザアカウントが登録されているか否かを判断し、上記第2ユニットから受信したユーザアカウントが登録されていると判断した場合には、アクセスの許可を示すトークンを上記第1ユニットに送信する。上記第1ユニットは、上記第2ユニットから受信した上記トークンを上記外部機器に送信する。
 本開示によれば、ユーザは、制御システムを構成するユニットごとにログイン処理を行う必要がなくなる。また、ユーザは、管理すべきユーザアカウントの数を減らすことができるので、ユーザアカウントの管理における煩雑性を解消することができる。その結果、ユーザアカウントが外部に漏れる可能性が低くなり、制御システムのセキュリティレベルが改善される。
 本開示の一例では、上記複数のユニットは、第3ユニットをさらに備える。上記第3ユニットは、当該第3ユニットへのアクセス要求とともに上記トークンを上記外部機器から受信した場合、当該第3ユニットへのアクセスを許可する。
 本開示によれば、制御システムは、第1ユニットについて発行されたトークンを、第3ユニットにも流用することできる。これにより、ユーザは、制御システムを構成するユニットごとにログイン処理を行う必要がなくなる。
 本開示の一例では、上記第3ユニットは、上記第1ユニットと通信可能に構成されている。上記第1ユニットは、上記第2ユニットと上記外部機器との間の通信を中継するとともに、上記第3ユニットと上記外部機器との間の通信との間の通信を中継する。
 本開示によれば、第1ユニットが、第2,第3ユニットと、外部機器との間の通信を中継するので、制御システム2内の各ユニットを外部から秘匿することができる。これにより、制御システム2内の各ユニットと外部機器との直接的な通信が防がれ、通信に伴うセキュリティ上のリスクが軽減される。
 本開示の一例では、上記アカウント情報に規定される各ユーザアカウントには、アクセス権が対応付けられている。上記第2ユニットは、上記外部機器からユーザアカウントを受信したことに基づいて、上記アカウント情報を参照して、当該ユーザアカウントに対応付けられているアクセス権を特定し、上記トークンを上記第1ユニットに送信する際に、当該特定したアクセス権を当該第1ユニットにさらに送信する。上記第1ユニットは、上記第2ユニットから受信したアクセス権に応じた情報を上記外部機器に送信する。
 本開示によれば、制御システムは、ユーザに与えられているアクセス権に応じて、ユーザに提供する情報を変えることができる。これにより、制御システムは、アクセス権に応じた適切な情報をユーザに提供することができる。
 本開示の一例では、上記制御システムの動作モードは、当該制御システムがメンテナンス中であることを示すメンテナンスモードを含む。上記第1ユニットまたは上記第2ユニットは、上記制御システムの動作モードが上記メンテナンスモードである場合に、予め定められた種類のアクセス権を、予め定められた他の種類のアクセス権に書き換える。
 本開示によれば、制御システムは、制御システムの動作モードがメンテナンスである場合には、アクセス権を適宜切り替えることができる。これにより、制御システムは、メンテナンスモード時に与えられるアクセス権に応じた適切な情報をユーザに提供することができる。
 本開示の一例では、上記第1ユニットまたは上記第2ユニットは、上記制御システムのメンテナンスが終了したことを示す予め定められた条件が満たされた場合に、上記予め定められた他の種類のアクセス権に書き換えられたアクセス権を、書き換え前のアクセス権に戻す。
 本開示によれば、制御システムは、メンテナンスが終了した場合に、書き換えたアクセス権を自動で戻すことが可能になる。
 本開示の他の例では、複数のユニットで構成される制御システムの制御方法が提供される。上記複数のユニットは、第1ユニットと、上記第1ユニットと通信可能な第2ユニットとを備える。上記制御方法は、上記第1ユニットが、当該第1ユニットと通信可能に構成される外部機器から当該第1ユニットへのアクセス要求を受信したことに基づいて、ユーザアカウントの入力を上記外部機器に要求し、上記外部機器からユーザアカウントを受信したことに基づいて、当該ユーザアカウントを上記第2ユニットに送信するステップと、上記第2ユニットが、登録されたユーザのアカウント情報を規定している登録情報を参照して、上記第2ユニットから受信したユーザアカウントが登録されているか否かを判断し、上記第2ユニットから受信したユーザアカウントが登録されていると判断した場合には、アクセスの許可を示すトークンを上記第1ユニットに送信するステップと、上記第1ユニットが、上記第2ユニットから受信した上記トークンを上記外部機器に送信するステップとを備える。
 本開示によれば、ユーザは、制御システムを構成するユニットごとにログイン処理を行う必要がなくなる。また、ユーザは、管理すべきユーザアカウントの数を減らすことができるので、ユーザアカウントの管理における煩雑性を解消することができる。その結果、ユーザアカウントが外部に漏れる可能性が低くなり、制御システムのセキュリティレベルが改善される。
実施の形態に従う情報処理システムの構成例を示す図である。 実施の形態に従う制御システムの構成例を示す外観図である。 実施の形態に従う制御システムを構成する制御ユニットのハードウェア構成例を示す模式図である。 実施の形態に従う制御システムを構成する機能ユニットのハードウェア構成例を示す模式図である。 実施の形態に従う制御システムを構成する機能ユニットのハードウェア構成例を示す模式図である。 実施の形態に従う情報処理システムを構成する外部機器のハードウェア構成例を示す模式図である。 実施の形態に従う情報処理システムのユニット構成の一例を示す図である。 通信設定情報の生成時における、各機能ユニットの間のデータフローを示す図である。 プロキシ情報の一例を示す図である。 通信設定情報の一例を示す図である。 ユーザ認証処理時における、各機能ユニットと外部機器との間のデータフローを示す図である。 URL(Uniform Resource Locator)の書き換え処理を概略的に示す図である。 実施の形態に従う外部機器に表示される画面の一例を示す図である。 登録情報のデータ構造の一例を示す図である。 図11のステップS50で記憶されるアカウント情報を示す図である。 図11のステップS52で生成されるリンク情報を示す図である。 機能ユニットによる認証処理時における、各機能ユニットと各外部機器との間のデータフローを示す図である。 機能ユニットに記憶されるアカウント情報の一例を示す図である。 URL変換ルールの一例を示す図である。 メンテナンスモード時における、各機能ユニット各外部機器との間のデータフローを示す図である。 機能ユニットがアクセス権を書き換える例を説明するための図である。 メンテンナンスモード中におけるURL変換ルールを示す図である。 メンテンナンスモード中におけるアカウント情報を示す図である。 変形例に従う情報処理システムのユニット構成を示す図である。 変形例に従う情報処理システムのユニット構成を示す図である。
 以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。
 <A.適用例>
 図1を参照して、本発明の適用例について説明する。図1は、実施の形態に従う情報処理システム1の構成例を示す図である。
 情報処理システム1は、1つ以上の制御システム2と、1つ以上の外部機器500とを含む。制御システム2は、生産工程を自動化するためのFAシステムである。制御システム2は、制御ユニット100と、機能ユニット200(第1ユニット)と、機能ユニット300(第2ユニット)とを含む。
 機能ユニット200および外部機器500は、外部ネットワークNW1に接続される。機能ユニット200および外部機器500の間の通信は、Ethernet(登録商標)によって実現される。すなわち、機能ユニット200および外部機器500の各々には、外部ネットワークNW1で有効なIPアドレスが割り当てられており、機能ユニット200および外部機器500は、当該IPアドレスに基づいて互いに通信を行う。
 制御ユニット100、機能ユニット200、および機能ユニット300は、内部ネットワークNW2に接続される。これらのユニット間の通信は、たとえば、Ethernetによってユニット間の通信を実現される。すなわち、制御システム2を構成する各ユニットは、内部ネットワークNW2で有効なIPアドレスが割り当てられており、各ユニットは、当該IPアドレスに基づいて互いに通信を行う。
 制御ユニット100は、たとえば、PLCである。制御ユニット100は、予め設計されたユーザプログラムに従って、駆動機器(図示しない)を制御する。駆動機器は、生産工程を自動化するための種々の産業用機器を含む。一例として、駆動機器は、ロボットコントローラや、サーボドライバや、ロボットコントローラに制御されるアームロボットや、サーボドライバによって制御されるサーボモータなどを含む。また、駆動機器は、ワークを撮影するための視覚センサや、生産工程で利用されるその他の機器などを含んでもよい。
 機能ユニット200は、制御ユニット100に接続され、中継ユニットとして機能する。すなわち、機能ユニット200は、制御システム2を構成する各ユニットと、外部機器500との間の通信を中継する。機能ユニット200が提供する通信機能の詳細については、後述する。また、機能ユニット200は、制御ユニット100による様々な制御対象に対する制御を実現するための各種機能を提供する。機能ユニット200は、WebサーバSV1と、アプリケーションAP1とを含む。アプリケーションAP1は、制御システム2に関する各種サービスを提供するためのプログラムである。
 機能ユニット300は、制御システム2を構成する各種ユニットについてのユーザアカウントを一元的に管理するためのユニットである。機能ユニット300は、たとえば、SGU(Security Guard Unit)である。機能ユニット300は、登録情報330を保持する。登録情報330には、登録されたアカウント情報が規定される。一例として、各アカウント情報は、ユーザID(Identification)とパスワードとを含む。なお、登録情報330は、必ずしも機能ユニット300で保持される必要はなく、外部サーバなどの他の機器で保持されていてもよい。
 外部機器500は、たとえば、ノート型またはデスクトップ型のPC(Personal Computer)、タブレット端末、スマートフォン、HMI(Human Machine Interface)、または、その他の情報処理端末である。
 外部機器500が機能ユニット200内の情報にアクセスした場合、SGUとしての機能ユニット300が、アクセスの認証処理を行う。より具体的には、まず、外部機器500は、機能ユニット200へのアクセス要求をユーザから受けたことに基づいて、機能ユニット200へのアクセス要求を機能ユニット200に送信する(ステップS1)。機能ユニット200は、外部機器500からアクセス要求を受信したことに基づいて、ユーザアカウントの入力を外部機器500に要求する(ステップS2)。外部機器500は、アカウントの入力要求を機能ユニット200から受信したことに基づいて、ユーザアカウントの入力画面を表示する。外部機器500は、ユーザアカウントの入力をユーザから受けたことに基づいて、入力されたユーザアカウントを機能ユニット200に送信する(ステップS3)。
 次に、機能ユニット200は、外部機器500からユーザアカウントを受信したことに基づいて、当該ユーザアカウントを機能ユニット300に送信する(ステップS4)。機能ユニット300は、登録情報330を参照して、機能ユニット200から受信したユーザアカウントが登録されているか否かを判断する(ステップS5)。
 機能ユニット300は、ステップS4で受信したユーザアカウントが登録情報330に登録されていると判断した場合、アクセスの許可を示すトークンを機能ユニット200に送信する(ステップS6)。その後、機能ユニット200は、機能ユニット300から受信したトークンを外部機器500に送信する(ステップS7)。外部機器500は、機能ユニット300で発行されたトークンを元に、機能ユニット200内の情報(たとえば、アプリケーションAP1)にアクセスすることができる。
 以上のように、制御システム2は、ユーザアカウントの認証処理を一元的に担う機能ユニット300を有する。これにより、ユーザは、制御システム2を構成するユニットごとにログイン処理を行う必要がなくなる。また、ユーザは、管理すべきユーザアカウントの数を減らすことができるので、ユーザアカウントの管理における煩雑性を解消することができる。その結果、ユーザアカウントが外部に漏れる可能性が低くなり、制御システム2のセキュリティレベルが改善される。
 <B.制御システム2>
 図2を参照して、図1に示される制御システム2について説明する。図2は、制御システム2の構成例を示す外観図である。
 図2を参照して、制御システム2は、1または複数の制御ユニット100と、1または複数の機能ユニット200と、1または複数の機能ユニット300と、1または複数の機能ユニット400と、電源ユニット450とを含む。
 制御ユニット100と機能ユニット200との間は、任意のデータ伝送路を介して接続されている。制御ユニット100と、機能ユニット200と、1または複数の機能ユニット300,400との間は、後述の内部バス10(図7参照)を介して接続されている。
 制御ユニット100は、制御システム2において中心的な処理を実行する。制御ユニット100は、任意に設計された要求仕様に従って、制御対象を制御するための制御演算を実行する。図2に示す構成例において、制御ユニット100は、1または複数の通信ポートを有している。制御ユニット100は、標準制御プログラムに従って標準制御を実行する処理実行部に相当する。
 機能ユニット200は、制御ユニット100に接続され、他の装置との間の通信機能を担当する。図2に示す構成例において、機能ユニット200は、1または複数の通信ポートを有している。機能ユニット200が提供する通信機能の詳細については、後述する。
 機能ユニット300は、オプションのユニットであり、必要に応じて制御ユニット100に接続される。機能ユニット300は、典型的には、SGU(Security Guard Unit)、OPC UA(Object Linking and Embedding for Process Control Unified Architecture)によるデータ交換機能を有する通信ユニット、AI(Artificial Intelligence)による予防保全機能を有するAIユニットなどを包含し得る。
 機能ユニット400は、制御システム2による様々な制御対象に対する制御を実現するための各種機能を提供する。機能ユニット400は、典型的には、I/Oユニット、セーフティI/Oユニット、通信ユニット、モーションコントローラユニット、温度調整ユニット、パルスカウンタユニットなどを包含し得る。I/Oユニットとしては、たとえば、デジタル入力(DI)ユニット、デジタル出力(DO)ユニット、アナログ出力(AI)ユニット、アナログ出力(AO)ユニット、パルスキャッチ入力ユニット、および、複数の種類を混合させた複合ユニットなどが挙げられる。セーフティI/Oユニットは、セーフティ制御に係るI/O処理を担当する。
 電源ユニット450は、制御システム2を構成する各ユニットに対して、所定電圧の電源を供給する。
 <C.各ユニットのハードウェア構成例>
 次に、本実施の形態に従う制御システム2を構成する各ユニットのハードウェア構成例について説明する。
 (c1:制御ユニット100)
 図3は、本実施の形態に従う制御システム2を構成する制御ユニット100のハードウェア構成例を示す模式図である。図3を参照して、制御ユニット100は、主たるコンポーネントとして、CPU(Central Processing Unit)やGPU(Graphical Processing Unit)などのプロセッサ102と、チップセット104と、主記憶装置106と、二次記憶装置108と、通信コントローラ110と、USB(Universal Serial Bus)コントローラ112と、メモリカードインターフェイス114と、ネットワークコントローラ116,118,120と、内部バスコントローラ122と、インジケータ124とを含む。
 プロセッサ102は、二次記憶装置108に格納された各種プログラムを読み出して、主記憶装置106に展開して実行することで、標準制御に係る制御演算、および、後述するような各種処理を実現する。チップセット104は、プロセッサ102と各コンポーネントとの間のデータの遣り取りを仲介することで、制御ユニット100全体としての処理を実現する。
 二次記憶装置108には、システムプログラムに加えて、システムプログラムが提供する実行環境上で動作する制御プログラムが格納される。
 通信コントローラ110は、機能ユニット300との間のデータの遣り取りを担当する。通信コントローラ110としては、たとえば、内部バスあるいはEtherNetなどに対応する通信チップを採用できる。
 USBコントローラ112は、USB接続を介して任意の情報処理装置との間のデータの遣り取りを担当する。
 メモリカードインターフェイス114は、メモリカード115を着脱可能に構成されており、メモリカード115に対して制御プログラムや各種設定などのデータを書込み、あるいは、メモリカード115から制御プログラムや各種設定などのデータを読出すことが可能になっている。
 ネットワークコントローラ116,118,120の各々は、ネットワークを介した任意のデバイスとの間のデータの遣り取りを担当する。ネットワークコントローラ116,118,120は、EtherCAT(登録商標)、EtherNet/IP(登録商標)、DeviceNet(登録商標)、CompoNet(登録商標)などの産業用ネットワークプロトコルを採用してもよい。
 内部バスコントローラ122は、制御システム2を構成する機能ユニット200、1または複数の機能ユニット300、1または複数の機能ユニット400との間のデータの遣り取りを担当する。内部バスには、メーカ固有の通信プロトコルを用いてもよいし、いずれかの産業用ネットワークプロトコルと同一あるいは準拠した通信プロトコルを用いてもよい。
 インジケータ124は、制御ユニット100の動作状態などを通知するものであり、ユニット表面に配置された1または複数のLEDなどで構成される。
 図3には、プロセッサ102がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(たとえば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。あるいは、制御ユニット100の主要部を、汎用的なアーキテクチャに従うハードウェア(たとえば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOS(Operating System)を並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
 (c2:機能ユニット200)
 図4は、本実施の形態に従う制御システム2を構成する機能ユニット200のハードウェア構成例を示す模式図である。図4を参照して、機能ユニット200は、主たるコンポーネントとして、CPUやGPUなどのプロセッサ202と、チップセット204と、主記憶装置206と、二次記憶装置208と、通信コントローラ210と、通信インターフェイス212と、メモリカードインターフェイス214と、ネットワークコントローラ216,218と、インジケータ224とを含む。
 プロセッサ202は、二次記憶装置208に格納された各種プログラムを読み出して、主記憶装置206に展開して実行することで、後述するような各種通信機能を実現する。チップセット204は、プロセッサ202と各コンポーネントとの間のデータの遣り取りを仲介することで、機能ユニット200全体としての処理を実現する。
 二次記憶装置208には、システムプログラムに加えて、後述の通信設定情報230や、システムプログラムが提供する実行環境上で動作する通信制御プログラム232や、後述のアカウント情報234や、後述のURL変換ルール236などの各種データが格納される。
 通信コントローラ210は、制御ユニット100や機能ユニット300との間のデータの遣り取りを担当する。通信コントローラ210としては、たとえば、内部バスあるいはEtherNetなどに対応する通信チップを採用できる。
 通信インターフェイス212は、USB接続を介して任意の情報処理装置との間のデータの遣り取りを担当する。
 メモリカードインターフェイス214は、メモリカード215を着脱可能に構成されており、メモリカード215に対して制御プログラムや各種設定などのデータを書込み、あるいは、メモリカード215から制御プログラムや各種設定などのデータを読出すことが可能になっている。
 ネットワークコントローラ216,218の各々は、ネットワークを介した任意のデバイスとの間のデータの遣り取りを担当する。ネットワークコントローラ216,218は、EtherNetなどの汎用的なネットワークプロトコルを採用してもよい。一例として、機能ユニット200は、ネットワークコントローラ216またはネットワークコントローラ218を介して外部機器500と通信する。
 インジケータ224は、機能ユニット200の動作状態などを通知するものであり、ユニット表面に配置された1または複数のLEDなどで構成される。
 図4には、プロセッサ202がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(たとえば、ASICまたはFPGAなど)を用いて実装してもよい。あるいは、機能ユニット200の主要部を、汎用的なアーキテクチャに従うハードウェア(たとえば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOSを並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
 (c3:機能ユニット300)
 図5は、本実施の形態に従う制御システム2を構成する機能ユニット300のハードウェア構成例を示す模式図である。図5を参照して、機能ユニット300は、主たるコンポーネントとして、CPUやGPUなどのプロセッサ302と、チップセット304と、主記憶装置306と、二次記憶装置308と、メモリカードインターフェイス314と、内部バスコントローラ322と、インジケータ324とを含む。
 プロセッサ302は、二次記憶装置308に格納された各種アプリケーションプログラムを読み出して、主記憶装置306に展開して実行することで、サーバ機能および各種機能を実現する。チップセット304は、プロセッサ302と各コンポーネントとの間のデータの遣り取りを仲介することで、機能ユニット300全体としての処理を実現する。
 二次記憶装置308には、システムプログラムに加えて、システムプログラムが提供する実行環境上で動作するアプリケーションプログラムや上述の登録情報330(図1参照)が格納される。
 メモリカードインターフェイス314は、メモリカード315を着脱可能に構成されており、メモリカード315に対してアプリケーションプログラムや各種設定などのデータを書込み、あるいは、メモリカード315からアプリケーションプログラムや各種設定などのデータを読出すことが可能になっている。
 内部バスコントローラ322は、内部バスを介した制御ユニット100や機能ユニット200との間のデータの遣り取りを担当する。
 インジケータ324は、機能ユニット300の動作状態などを通知するものであり、ユニット表面に配置された1または複数のLEDなどで構成される。
 図5には、プロセッサ302がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(たとえば、ASICまたはFPGAなど)を用いて実装してもよい。あるいは、機能ユニット300の主要部を、汎用的なアーキテクチャに従うハードウェア(たとえば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOSを並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
 <D.外部機器500のハードウェア構成例>
 次に、図6を参照して、外部機器500のハードウェア構成について順に説明する。図6は、実施の形態に従う情報処理システム1を構成する外部機器500のハードウェア構成例を示す模式図である。
 外部機器500は、一例として、汎用的なコンピュータアーキテクチャに準じて構成されるコンピュータからなる。外部機器500は、CPUやMPUなどのプロセッサ502と、主記憶装置504と、二次記憶装置510と、通信インターフェイス511と、I/O(Input/Output)インターフェイス514と、表示インターフェイス520とを含む。これらのコンポーネントは、内部バス525を介して互いに通信可能に接続されている。
 プロセッサ502は、開発支援プログラム510Aやブラウザアプリケーション(図示しない)などの各種の制御プログラムを実行することで外部機器500の動作を制御する。開発支援プログラム510Aは、制御システム2の制御プログラム(ユーザプログラム)を開発するための環境を提供するプログラムである。プロセッサ502は、開発支援プログラム510Aやブラウザアプリケーションなどの各種制御プログラムの実行命令を受け付けたことに基づいて、実行対象の制御プログラムを二次記憶装置510から主記憶装置504に読み出す。
 通信インターフェイス511は、他の通信機器との間でネットワークを介してデータを遣り取りする。当該他の通信機器は、たとえば、機能ユニット200、サーバなどを含む。外部機器500は、通信インターフェイス511を介して、当該他の通信機器から、開発支援プログラム510Aなどの各種制御プログラムをダウンロード可能なように構成されてもよい。
 I/Oインターフェイス514は、入力デバイス515に接続され、入力デバイス515からのユーザ操作を示す信号を取り込む。入力デバイス515は、典型的には、キーボード、マウス、タッチパネル、タッチパッドなどからなり、ユーザからの操作を受け付ける。なお、図6の例では、外部機器500および入力デバイス515が別体として示されているが、外部機器500および入力デバイス515は、一体的に構成されてもよい。
 表示インターフェイス520は、ディスプレイ521と接続され、プロセッサ502などからの指令に従って、ディスプレイ521に対して、画像を表示するための画像信号を送出する。ディスプレイ521は、たとえば、LCD(Liquid Crystal Display)や有機EL(Electro Luminescence)であり、ユーザに対して各種情報を提示する。ディスプレイ521には、開発支援プログラム510Aによって提供される各種画面が表示され得る。なお、図6の例では、外部機器500およびディスプレイ521が別体として示されているが、外部機器500およびディスプレイ521は、一体的に構成されてもよい。
 <E.情報処理システム1のユニット構成例>
 図7は、情報処理システム1のユニット構成の一例を示す図である。図7を参照して、情報処理システム1のユニット構成の具体例について説明する。
 図7に示されるように、情報処理システム1は、制御システム2と、外部機器500とを含む。制御システム2は、制御ユニット100と、機能ユニット200と、機能ユニット300とを含む。制御ユニット100と、機能ユニット200と、機能ユニット300とは、内部バス10を介して接続されている。これらのユニットは、内部バス10を介して互いに通信する。当該通信は、たとえば、仮想Ethernetによって実現される。
 外部ネットワークNW1には、機能ユニット200および外部機器500が接続されている。外部機器500には、IPアドレス「192.168.250.3」が割り当てられている。機能ユニット200および外部機器500は、それぞれ、物理的な通信ポートを有し、当該通信ポートを介して外部ネットワークNW1に接続される。
 内部ネットワークNW2には、制御ユニット100、機能ユニット200、および機能ユニット300が接続されている。制御ユニット100には、仮想IPアドレス「192.168.250.1」が割り当てられている。また、制御ユニット100には、ユニット名「Unit #0」が割り当てられている。
 機能ユニット200には、IPアドレス「192.168.250.2」が割り当てられている。また、機能ユニット200には、ユニット名「Unit #1」が割り当てられている。機能ユニット200は、Webサーバ「Web1」として機能する。機能ユニット200には、アプリケーション「App11」,「App12」がインストールされている。アプリケーション「App11」,「App12」は、Webサーバ「Web1」からアクセスされる。
 図7の例では、機能ユニット300は、2つの機能ユニットU2,U3で構成される。機能ユニットU2には、仮想IPアドレス「192.168.251.100」が割り当てられている。また、機能ユニットU2には、ユニット名「Unit #2」が割り当てられている。機能ユニットU2は、Webサーバ「Web2」として機能する。機能ユニットU2には、アプリケーション「App21」,「App22」がインストールされている。アプリケーション「App21」,「App22」は、Webサーバ「Web2」からアクセスされる。
 機能ユニットU3には、仮想IPアドレス「192.168.251.101」が割り当てられている。また、機能ユニットU3には、ユニット名「Unit #3」が割り当てられている。機能ユニットU3は、Webサーバ「Web3」として機能する。機能ユニットU3には、アプリケーション「App31」,「App32」がインストールされている。アプリケーション「App31」,「App32」は、Webサーバ「Web3」からアクセスされる。また、機能ユニットU3は、SSO(Single Sign On)機能を有し、認証サーバ(マスター)として機能する。
 機能ユニット200は、リバースプロキシ機能を有する。より具体的には、機能ユニット200は、外部機器500からアクセス要求を受けたときには、Webサーバとして機能する。そして、機能ユニット200は、外部機器500から受けたアクセス要求を書き換え、書き換え後のアクセス要求をアクセス先の機能ユニット300に送信する。このときには、機能ユニット200は、クライアントとして機能し、アクセス先の機能ユニット300がWebサーバとして機能する。このように、機能ユニット200は、Webサーバおよびクライアントの両方として機能する。
 <F.通信設定情報230の生成方法>
 機能ユニット200は、外部機器500と、機能ユニットU2,U3との間の通信を中継するために、外部機器500からのアクセス要求をルーティングする必要がある。このような中継機能を実現するために、機能ユニット200は、ルーティングのための通信設定情報230(図4参照)を予め生成しておく。
 以下では、図8~図10を参照して、通信設定情報230の生成方法について説明する。図8は、通信設定情報230の生成時における、機能ユニット200および機能ユニット300の間のデータフローを示す図である。図8に示される処理は、たとえば、制御ユニット100の起動時に実行される。
 ステップS10において、機能ユニット200は、機能ユニットU2に関する情報(以下、「プロキシ情報」ともいう。)の取得要求を機能ユニットU2に送信する。機能ユニットU2は、当該取得要求を受けて、自身のプロキシ情報を機能ユニット200に送信する。
 図9は、プロキシ情報の一例を示す図である。プロキシ情報は、たとえば、ドメイン名、ユニット名、ホスト名とを含む。図9の例では、ドメイン名が「AI」として示され、ユニット名が「#2」として示され、ホスト名が「Unit_2」として示されている。
 ステップS12において、機能ユニット200は、機能ユニットU2から受信したプロキシ情報に基づいて、通信設定情報230を更新する。図10は、通信設定情報230の一例を示す図である。ステップS12では、破線230Aに示される情報が、通信設定情報230に追加される。これにより、機能ユニットU2のアドレス情報(図10の例では、ホスト名「Unit_2」)が識別子「u2」に対応付けられる。
 ホスト名「Unit_2」に対応付けられる識別子「u2」は、機能ユニット200によって予め定められたルールに従って生成される。好ましくは、機能ユニット200は、ユーザが機能ユニットU2を識別しやすい文字列を識別子として生成する。一例として、当該識別子は、機能ユニットU2のドメイン名、機能ユニットU2のユニット名、または機能ユニットU2のホスト名に基づいて、生成される。
 識別子「u2」に対応付けられるアドレス情報は、内部ネットワークNW2内における機能ユニットU2のIPアドレスを特定できるものであればよく、必ずしもホスト名である必要はない。一例として、識別子「u2」に対応付けられるアドレス情報は、内部ネットワークNW2での機能ユニットU2のIPアドレス自体であってもよいし、機能ユニットU2のドメイン名であってもよい。
 ステップS20において、機能ユニット200は、プロキシ情報の取得要求を機能ユニットU3に送信する。機能ユニットU3は、当該取得要求を受けて、自身のプロキシ情報を機能ユニット200に送信する。
 ステップS22において、機能ユニット200は、機能ユニットU3から受信したプロキシ情報に基づいて、通信設定情報230を更新する。ステップS22では、図10の破線230Bに示される情報が、通信設定情報230に追加される。これにより、機能ユニットU3のアドレス情報(図10の例では、ホスト名「Unit_3」)が識別子「u3」に対応付けられる。識別子「u3」は、識別子「u2」と同様のルールに従って機能ユニット200によって生成される。
 識別子「u3」に対応付けられるアドレス情報は、内部ネットワークNW2内における機能ユニットU3のIPアドレスを特定できるものであればよく、必ずしもホスト名である必要はない。一例として、識別子「u3」に対応付けられるアドレス情報は、内部ネットワークNW2での機能ユニットU3のIPアドレス自体であってもよいし、機能ユニットU3のドメイン名であってもよい。
 <G.ユーザ認証処理>
 SGUとしての機能ユニットU3は、制御システム2を構成する各種ユニットについてのユーザアカウントを一元的に管理する。すなわち、外部機器500から制御システム2の各ユニットにアクセスがあった場合には、機能ユニットU3がユーザ認証処理を行う。
 以下では、図11~図16を参照して、機能ユニットU3によるユーザ認証処理について説明する。図11は、ユーザ認証処理時における、機能ユニット200と、機能ユニット300の一例である機能ユニットU3と、外部機器500との間のデータフローを示す図である。図11に示される処理は、たとえば、制御ユニット100の起動後に実行される。
 ステップS30において、外部機器500は、機能ユニット200へのアクセス要求をユーザから受けたとする。本ステップでは、たとえば、外部機器500は、各機能ユニットのアプリケーションにアクセスするためのポータルサイトの表示要求を受けたとする。
 外部機器500は、ポータルサイトの表示要求をユーザから受けたことに基づいて、ポータルサイトへのアクセス要求を機能ユニット200に送信する。ステップS30の時点では、アクセス許可を示すトークンが発行されていないため、外部機器500は、アクセス要求をトークンなしに機能ユニット200に送信する。機能ユニット200は、外部機器500からアクセス要求を受信したことに基づいて、ログインページのURLを外部機器500に送信し、ログインページにリダイレクトさせる。
 ステップS32において、外部機器500は、機能ユニット200から受信したURLに基づいて、ログインページへのアクセス要求を機能ユニット200に送信する。機能ユニット200は、外部機器500から受信したアクセス要求に含まれるURLを取得し、当該URLを書き換える。すなわち、ステップS32では、機能ユニット200は、リバースプロキシサーバーとして機能する。図12は、URLの書き換え処理を概略的に示す図である。
 図12には、外部機器500からのアクセス要求40AがURL「http://192.168.250.2/u3/login.php」として示されている。アクセス要求40Aに示される「192.168.250.2」は、機能ユニット200のIPアドレスを示す。アクセス要求40Aに示される「u3」は、アクセス先のユニットの識別子を示す。
 機能ユニット200の通信部150は、外部機器500からアクセス要求40Aを受信したことに基づいて、アクセス要求40Aに含まれる識別子「u3」を取得する。次に、通信部150は、上述の図10で説明した通信設定情報230を参照して、識別子「u3」に対応するアドレス情報を取得する。その結果、内部ネットワークNW2で有効なアドレス情報「unit_3」が特定される。その後、通信部150は、アクセス要求40Aを書き換え、アドレス情報「unit_3」を含むアクセス要求40Bを生成する。
 より具体的には、通信部150は、アクセス要求40Aに含まれる識別子「u3」を、当該識別子「u3」に対応するアドレス情報「unit_3」に置き換えることで、アクセス要求40Bを生成する。このとき、アクセス要求40Aに含まれるドメイン「192.168.250.2」(すなわち、宛先情報)を削除する。これにより、アクセス要求40A「http://192.168.250.2/u3/App31/index.php」がアクセス要求40B「http://unit_3/login.php」に書き換えられ、宛先が機能ユニット200から機能ユニットU3に変えられる。通信部150は、書き換え後のアクセス要求40Bを機能ユニットU3に送信する。
 再び図11を参照して、ステップS33において、機能ユニットU3は、ログインページをHTML(HyperText Markup Language)文書で機能ユニット200に送信する。機能ユニット200は、機能ユニットU3からログインページを受信したことに基づいて、当該ログインページを外部機器500に送信する。
 ステップS34において、外部機器500は、機能ユニット200から受信したログインページをディスプレイ521に表示する(図6参照)。図13は、外部機器500に表示される画面の一例を示す図である。図13には、外部機器500に表示される画面の一例として、ログインページ700が示されている。ログインページ700は、ユーザIDやパスワードなどのログイン情報(アカウント情報)の入力を受け付ける。ログインページ700のログインボタンが押下された場合には、入力されたログイン情報が機能ユニット200に送信される。ログインページ700のキャンセルボタンが押下された場合には、入力されたログイン情報が破棄され、ログインページ700が閉じられる。
 ステップS36において、ログインページ700のログインボタンが押下されたとする。これにより、外部機器500は、ログインページ700に入力されたログイン情報を機能ユニット200に送信する。その後、機能ユニット200は、ステップS32と同様にリバースプロキシサーバーとして機能し、外部機器500から受信したログイン情報を機能ユニットU3に送信する。
 外部機器500は、機能ユニット200からログイン情報を受信したことに基づいて、上述の登録情報330(図1参照)を参照して、当該ログイン情報の認証処理を実行する。図14は、登録情報330のデータ構造の一例を示す図である。図14に示されるように、登録情報330には、ユーザID別に、ユーザ名と、アクセス権と、パスワードとが関連付けられている。機能ユニットU3は、機能ユニット200から受信したログイン情報に含まれるユーザIDをキーとして、当該ユーザIDに対応するパスワードを登録情報330から取得する。次に、機能ユニットU3は、登録情報330から取得したパスワードと、機能ユニット200から受信したログイン情報に含まれるパスワードとを比較する。これらのパスワードが一致する場合、機能ユニットU3は、機能ユニット200から受信したログイン情報が登録情報330に登録されていると判断する。
 再び図11を参照して、ステップS37において、機能ユニットU3は、機能ユニット200から受信したログイン情報が登録情報330に登録されていると判断したとする。この場合、機能ユニットU3は、アクセスを許可するためのトークンを発行する。図11の例では、「token1」が発行されている。このとき、機能ユニットU3は、ユーザIDやアクセス権などのアカウント情報に対応付けて、発行した「token1」を登録情報330に記憶する。「token1」は、たとえば、乱数であり、一定期間だけ有効となる。外部機器500は、発行した「token1」を機能ユニット200に送信する。機能ユニット200は、外部機器500から受信した「token1」を外部機器500に送信する。
 ステップS38において、外部機器500は、各機能ユニット(または各アプリケーション)へのリンク先を含むポータルサイトの表示要求を機能ユニット200に再び送信する。このとき、外部機器500は、機能ユニット200から受信した「token1」も機能ユニット200に送信する。
 ステップS40において、機能ユニット200は、外部機器500から受信した「token1」と、アカウント情報の取得要求とを機能ユニットU3に送信する。これにより、機能ユニットU3は、「token1」が不正でないか、「token1」が期限切れでないかなど、「token1」の有効性を判断する。機能ユニットU3は、「token1」が有効であると判断した場合、登録情報330を参照して、機能ユニット200から受信した「token1」に対応するアカウント情報を取得し、当該アカウント情報を機能ユニット200に送信する。
 ステップS50において、機能ユニット200は、ステップS40で機能ユニットU3から受信したアカウント情報を「token1」に対応付けて記憶する。
 図15は、ステップS50で記憶されるアカウント情報234を示す図である。図15に示されるように、アカウント情報234は、ユーザのアカウント名と、ユーザ名と、当該ユーザに与えられているアクセス権とを含む。これらの情報が、「token1」に対応付けられる。
 ステップS52において、機能ユニット200は、ステップS38でのアクセス要求に対する応答を生成する。図16は、生成される応答の一例であるリンク情報30を示す図である。リンク情報30は、ポータルサイトを規定するHTML文書である。
 リンク情報30は、上述の通信設定情報230(図10参照)に基づいて生成される。より具体的には、機能ユニット200は、自身のIPアドレスと、通信設定情報230に規定される各ユニットの識別子とに基づいて、リンク情報30を生成する。図12の例では、機能ユニット200のIPアドレス「192.168.250.2」と、通信設定情報230に規定される機能ユニットU3の識別子「u3」とに基づいて、外部ネットワークNW1で有効なURL「http://192.168.250.2/u3/App31/index.php」が生成されている。当該URLに示される「App31」は、機能ユニットU3内のアプリケーションの識別子である。機能ユニット200は、このようなURLを制御システム2の各ユニット内の各アプリケーションについて生成し、リンク情報30に書き込む。
 ステップS52において、機能ユニット200は、生成したリンク情報30を外部機器500に送信する。
 ステップS54において、外部機器500は、受信したリンク情報30に基づいてポータルサイトを構成し、当該ポータルサイトをディスプレイ521(図6参照)に表示する。図13には、外部機器500に表示されるポータルサイト710の例が示されている。
 ポータルサイト710には、各ユニットへのリンクがハイパーリンクで示される。図13の例では、機能ユニット300の一例である機能ユニットU2へのリンクがハイパーリンク710Aとして示され、機能ユニット200のアプリケーションへのリンクがハイパーリンク710Bとして示されている。
 ステップS60において、ポータルサイト710のハイパーリンク710Bが選択されたとする。これにより、外部機器500は、選択されたハイパーリンク710Bに応じたアクセス要求を機能ユニット200に送信する。このとき、外部機器500は、既に発行されている「token1」も機能ユニット200に送信する。
 外部機器500から受信した「token1」は、ステップS50で機能ユニット200のアカウント情報234に既に登録されているため、機能ユニット200は、上述のステップS40でのアカウント取得処理を実行することなしに、ステップS60でのアクセス要求に応じた応答を外部機器500に送信する。
 ステップS62において、外部機器500は、機能ユニット200から受信した応答に基づいて、ハイパーリンク710Bに対応するサイト(ホームページ)を表示する。図13には、ステップS62で表示されるサイト720の例が示されている。
 なお、ある機能ユニット(たとえば、機能ユニット200)について発行された「token1」は、他の機能ユニット(たとえば、機能ユニットU2,U3)でも有効となる。一例として、機能ユニット200のアクセス時に「token1」が発行されており、外部機器500は、機能ユニットU2へのアクセス要求をユーザから受けたとする。
 この場合、まず、外部機器500は、機能ユニットU2(第3機能ユニット)へのアクセス要求を、中継ユニットである機能ユニット200(第1機能ユニット)に送信する。このとき、外部機器500は、既に発行されている「token1」も中継ユニットに送信する。中継ユニットは、アクセス要求とともに「token1」を外部機器500から受信した場合、「token1」がアカウント情報234に既に登録されているか否かを判断する。中継ユニットは、「token1」がアカウント情報234に既に登録されていると判断した場合、ユーザ認証なしに、機能ユニットU2へのアクセスを許可する。その後、機能ユニットU2は、機能ユニットU2内におけるアクセス先の情報を取得し、当該取得した情報を中継ユニットを介して外部機器500に送信する。このように、ある機能ユニットへのアクセス時に発行された「token1」が、他の機能ユニットのアクセス時にも流用されると、ユーザは、ログイン処理を都度行う必要がなくなる。
 <H.情報処理システム1の制御フローの変形例1>
 上述の図11の例では、ログインユーザに与えられているアクセス権によらず、同じポータルサイト710がステップS54で表示されていた。これに対して、本変形例では、外部機器500は、ログインユーザのアクセス権に応じて、ポータルサイト710の表示内容を変える。
 以下では、図17~図19を参照して、ポータルサイト710の表示内容が、外部機器500Aへのログインユーザと、外部機器500Bへのログインユーザとで異なる例について説明する。
 図17は、機能ユニットU3による認証処理時における、機能ユニット200と、機能ユニット300の一例である機能ユニットU3と、外部機器500A,500Bとの間のデータフローを示す図である。
 ステップS70において、外部機器500Aについてのユーザ認証処理と、外部機器500Bについてのユーザ認証処理とが行われる。ユーザ認証処理については、上述の図11のステップS30,S32,S33,S34,S36,S37,S38で説明した通りである。すなわち、ステップS70において、外部機器500Aおよび外部機器500Bのそれぞれについて、上述の図11のステップS30,S32,S33,S34,S36,S37,S38の処理が実行される。その結果、機能ユニットU3は、外部機器500Aに対しては「token1」を発行し、外部機器500Bに対しては「token2」を発行したとする。
 ステップS80において、機能ユニット200は、外部機器500Aから受信した「token1」と、アカウント情報の取得要求とを機能ユニットU3に送信する。機能ユニットU3は、これらを受信したことに基づいて、上述の登録情報330(図14参照)を参照して、「token1」に対応するアカウント情報を取得する。その後、機能ユニットU3は、取得したアカウント情報を機能ユニット200に送信する。
 ステップS82において、機能ユニット200は、機能ユニットU3から受信したアカウント情報を「token1」に対応付けて記憶する。図18は、機能ユニット200に記憶されるアカウント情報234の一例を示す図である。ステップS82では、破線234Aに示される情報が、アカウント情報234に追加される。アカウント情報234に追加される情報は、たとえば、ユーザのアカウント名と、ユーザ名と、当該ユーザに与えられているアクセス権とを含む。これらのアカウント情報が「token1」に対応付けられる。
 ステップS90において、機能ユニット200は、外部機器500Bから受信した「token2」と、アカウント情報の取得要求とを機能ユニットU3に送信する。機能ユニットU3は、これらを受信したことに基づいて、上述の登録情報330(図14参照)を参照して、「token2」に対応するアカウント情報を取得する。その後、機能ユニットU3は、取得したアカウント情報を機能ユニット200に送信する。
 ステップS92において、機能ユニット200は、機能ユニットU3から受信したアカウント情報を「token2」に対応付けて記憶する。ステップS92では、図18の破線234Bに示される情報が、アカウント情報234に追加される。アカウント情報234に追加される情報は、たとえば、ユーザのアカウント名と、ユーザ名と、当該ユーザに与えられているアクセス権とを含む。これらのアカウント情報が「token2」に対応付けられる。
 ステップS100において、外部機器500Aは、アクセス要求として、ポータルサイト710のURLを機能ユニット200に送信する。このとき、外部機器500Aは、外部機器500Aについて発行されている「token1」も機能ユニット200に送信する。
 機能ユニット200は、ポータルサイト710のURLと、「token1」とを外部機器500Aから受信したことに基づいて、当該URLに対する応答を生成する。このとき、機能ユニット200は、外部機器500Aのユーザのアクセス権に応じて、外部機器500Aから受信したURLを変換する。
 URLの変換は、たとえば、図19に示されるURL変換ルール236に基づいて行われる。図19は、URL変換ルール236の一例を示す図である。URL変換ルール236には、HTMLの表示ファイル名がアクセス権別に規定されている。表示ファイルと、アクセス権との対応関係は、予め規定されていてもよいし、ユーザによって任意に変更されてもよい。
 より具体的には、まず、機能ユニット200は、上述のアカウント情報234(図18参照)を参照して、「token1」に対応するアクセス権を取得する。図18の例では、アクセス権「Admin」が取得される。次に、機能ユニット200は、URL変換ルール236を参照して、アクセス権「Admin」に対応する表示ファイル名を取得する。図19の例では、「AdminTop.html」が取得される。その後、機能ユニット200は、外部機器500Aから受信したURLの表示ファイル名を「AdminTop.html」に変換する。そして、機能ユニット200は、変換後のURLにアクセスし、対応するHTMLファイルを外部機器500Aに送信する。これにより、アクセス先が外部機器500Aのログインユーザに与えられているアクセス権に応じて変更される。
 ステップS102において、外部機器500Aは、機能ユニット200から受信したHTMLファイルに基づいて、アクセス権「Admin」用のポータルサイト710を表示する。
 ステップS110において、外部機器500Bは、アクセス要求として、ポータルサイト710のURLを機能ユニット200に送信する。このとき、外部機器500Bは、外部機器500Bについて発行されている「token2」も機能ユニット200に送信する。
 機能ユニット200は、ポータルサイト710のURLと、「token2」とを外部機器500Bから受信したことに基づいて、当該URLに対する応答を生成する。このとき、機能ユニット200は、外部機器500Bのユーザのアクセス権に応じて、外部機器500Bから受信したURLを変換する。
 URLの変換は、たとえば、図19に示されるURL変換ルール236に基づいて行われる。より具体的には、まず、機能ユニット200は、アカウント情報234(図18参照)を参照して、「token2」に対応するアクセス権を取得する。図18の例では、アクセス権「Operator」が取得される。次に、機能ユニット200は、URL変換ルール236を参照して、アクセス権「Operator」に対応する表示ファイル名を取得する。図19の例では、「OperatorTop.html」が取得される。その後、機能ユニット200は、外部機器500Bから受信したURLの表示ファイル名を「OperatorTop.html」に変換する。そして、機能ユニット200は、変換後のURLにアクセスし、対応するHTMLファイルを外部機器500Bに送信する。これにより、アクセス先が外部機器500Bのログインユーザに与えられているアクセス権に応じて変更される。
 ステップS112において、外部機器500Bは、機能ユニット200から受信したHTMLファイルに基づいて、アクセス権「Operator」用のポータルサイト710を表示する。
 以上のように、機能ユニットU3は、外部機器500からユーザアカウントを受信したことに基づいて、アカウント情報234を参照して、当該ユーザアカウントに対応付けられているアクセス権を特定し、機能ユニット200にトークンを送信する際に、当該特定したアクセス権を機能ユニット200にさらに送信する。機能ユニット200は、外部機器500からアクセス要求を受信した場合には、外部機器500のログインユーザのアクセス権に応じた情報を外部機器500に送信する。これにより、機能ユニット200は、ユーザに与えられているアクセス権に応じて、提供する情報を変えることが可能になる。
 <I.情報処理システム1の制御フローの変形例2>
 上述の図17の例では、ログインしたユーザに与えられているアクセス権に応じて、ポータルサイト710の表示内容が変えられていた。これに対して、本変形例では、制御システム2の現在の動作モードに応じてもポータルサイト710の表示内容が変えられる。
 制御システム2の動作モードは、通常モードの他に、制御システム2がメンテナンス中であることを示すメンテナンスモードを含む。制御システム2の動作モードは、制御システム2のメンテナンスが開始したことを示す予め定められた条件が満たされた場合に、動作モードをメンテナンスモードに遷移させる。当該予め定められた条件は、たとえば、制御システム2に物理的なキーが差し込まれた場合や、メンテナンス用のパスワードが制御システム2に入力された場合や、メンテナンスモードへの移行操作が行われた場合に満たされる。
 以下では、図20~図24を参照して、ポータルサイト710の表示内容がメンテナンスモードにおいて変えられる例について説明する。
 図20は、メンテナンスモード時における、機能ユニット200と、機能ユニット300の一例である機能ユニットU3と、外部機器500A,500Bとの間のデータフローを示す図である。なお、図20に示されるステップS110A,S112A以外の処理については、図17で説明した通りであるので、それらの説明については繰り返さない。
 制御システム2の動作モードがメンテナンスモードである場合には、予め定められた種類のアクセス権が、予め定められた他の種類のアクセス権に書き換えられる。当該アクセス権を書き換える主体は、機能ユニット200であってもよいし、機能ユニットU3であってもよい。
 図21は、機能ユニットU3がアクセス権を書き換える例を説明するための図である。図21には、アクセス権が書き換えられた登録情報330を示す図である。登録情報330は、たとえば、機能ユニットU3の二次記憶装置308に格納されている。図21に示されるように、メンテナンスモード中においては、機能ユニットU3は、たとえば、登録情報330に規定される予め定められた種類のアクセス権「Operator」を「Maintainer」に書き換える。
 これにより、図20のステップS90において、機能ユニットU3が登録情報330から「token2」に対応するアカウント情報を取得するときに、アクセス権として「Maintainer」を取得することになる。これにより、ステップS110Aにおいて、機能ユニット200は、アクセス権「Maintainer」に応じた情報を外部機器500Bに送信する。
 より具体的には、ステップS110Aにおいて、外部機器500Bは、アクセス要求として、ポータルサイト710のURLを機能ユニット200に送信する。このとき、外部機器500Bは、外部機器500Bについて発行されている「token2」も機能ユニット200に送信する。機能ユニット200は、ポータルサイト710のURLと、「token2」とを外部機器500Bから受信したことに基づいて、当該URLに対する応答を生成する。このとき、機能ユニット200は、外部機器500Bのユーザのアクセス権に応じて、外部機器500Bから受信したURLを変換する。
 URLの変換は、たとえば、図22に示されるURL変換ルール236に基づいて行われる。図22は、メンテンナンスモード中におけるURL変換ルール236を示す図である。
 機能ユニット200は、URL変換ルール236を参照して、アクセス権「Maintainer」に対応する表示ファイル名を取得する。図22の例では、「MaintainerTop.html」が取得される。その後、機能ユニット200は、外部機器500Bから受信したURLの表示ファイル名を「MaintainerTop.html」に変換する。これにより、所定の種類のアクセス権については、メンテナンスモード時において、アクセス先が変更される。そして、機能ユニット200は、変換後のURLにアクセスし、対応するHTMLファイルを外部機器500Bに送信する。
 ステップS112Aにおいて、外部機器500Bは、機能ユニット200から受信したHTMLファイルに基づいて、アクセス権「Maintainer」用のポータルサイト710を表示する。
 なお、上述では、機能ユニットU3が登録情報330に規定されるアクセス権を「Maintainer」に書き換る例について説明を行ったが、アクセス権を書き換える主体は、機能ユニットU3でなくてもよい。一例として、アクセス権の書き換えは、機能ユニット200によって行われてもよい。この場合、機能ユニット200は、上述のアカウント情報234に規定されるアクセス権を「Maintainer」に書き換える。
 図23は、メンテンナンスモード中におけるアカウント情報234を示す図である。アカウント情報234は、たとえば、機能ユニット200の二次記憶装置208に格納されている。図23に示されるように、機能ユニット200は、メンテナンスモード中においては、アカウント情報234に規定される所定種類のアクセス権「Operator」を「Maintainer」に書き換える。また、機能ユニット200は、アクセス権「Maintainer」の有効期限をアカウント情報234に書き込む。
 その後、ステップS110Aにおいて、機能ユニット200は、アカウント情報234を参照して、アクセス権「Maintainer」に応じた情報を外部機器500Bに送信する。
 以上のように、制御システム2の動作モードがメンテナンスモードである場合には、登録情報330に規定される所定種類のアクセス権が「Maintainer」に書き換えられたり、あるいは、アカウント情報234に規定される所定種類のアクセス権が「Maintainer」に書き換えられたりする。「Maintainer」に書き換えられたアクセス権は、制御システム2のメンテナンスが終了したことを示す予め定められた終了条件が満たされた場合に、書き換え前のアクセス権に自動で戻される。アクセス権を元に戻す主体は、機能ユニット200であってもよいし、機能ユニットU3であってもよい。
 メンテナンスモードの終了条件が満たされた否かは、種々の方法で判断される。一例として、アクセス権「Maintainer」について設定されている有効期限が切れたことに基づいて、メンテナンスモードの終了条件が満たされたと判断される。あるいは、制御システム2に差し込まれた物理的なキーが抜かれたことに基づいて、メンテナンスモードの終了条件が満たされたと判断される。あるいは、ユーザがメンテナンスの終了操作を行ったことに基づいて、メンテナンスモードの終了条件が満たされたと判断される。
 <J.情報処理システム1の装置構成の変形例1>
 図24は、変形例に従う情報処理システム1Aのユニット構成を示す図である。図24を参照して、変形例に従う情報処理システム1Aのユニット構成について説明する。
 上述の図7では、情報処理システム1を構成する各ユニットは、内部バス10を介して接続されていた。これに対して、本変形例に従う情報処理システム1Aでは、各ユニットは、通信ポートを介して内部ネットワークNW2に接続される。すなわち、本変形例においては、各ユニットは、物理的に離れた場所に設置される。このようなユニット構成であっても、本発明の趣旨を逸脱するものではない。
 <K.情報処理システム1の装置構成の変形例2>
 図25は、変形例に従う情報処理システム1Bのユニット構成を示す図である。図25を参照して、変形例に従う情報処理システム1Bのユニット構成について説明する。
 上述の図7に示される情報処理システム1においては、機能ユニット200のみが、外部ネットワークNW1に接続されていた。これに対して、本変形例に従う情報処理システム1Bにおいては、機能ユニット200だけでなく、他のユニットも外部ネットワークNW1に接続される。すなわち、本変形例においては、機能ユニット200だけでなく、他の機能ユニットも、外部機器500と直接的に通信し得る。このようなユニット構成であっても、本発明の趣旨を逸脱するものではない。
 図25の例では、機能ユニット200が外部機器500と直接的に接続されているだけでなく、機能ユニットU3も外部機器500と直接的に接続されている。すなわち、外部機器500から機能ユニットU3への通信経路は、機能ユニット200を介する通信経路R1と、機能ユニット200を介さない通信経路R2とが存在する。
 このような複数の通信経路が存在することで、各アプリケーションへのアクセスの許可/禁止が、通信経路に応じて切り替えられる。一例として、機能ユニットU3のアプリケーション「App31」については、通信経路R2での通信が禁止され、通信経路R1での通信のみが許可される。一方で、機能ユニットU3のアプリケーション「App32」については、通信経路R1での通信が禁止され、通信経路R2での通信のみが許可される。
 より具体的には、アクセスの許可/禁止の規定は、通信経路ごと、かつアプリケーションごとに予め規定され、許可/禁止規定として機能ユニット300の各々で保持される。機能ユニット300は、機能ユニット200または外部機器500からアクセス要求を受信した場合に、当該アクセス要求に含まれるURLからアクセス元を特定し、当該アクセス元に基づいて通信経路を特定する。その後、機能ユニット300は、許可/禁止規定を参照して、特定した通信経路について、アクセス先のアプリケーションへのアクセスが許可されているか否かを判断する。
 <L.付記>
 以上のように、本実施形態は以下のような開示を含む。
 [構成1]
 複数のユニットで構成される制御システム(2)であって、
 前記複数のユニットは、
  第1ユニット(200)と、
  前記第1ユニット(200)と通信可能な第2ユニット(300,U3)とを備え、
 前記第1ユニット(200)は、当該第1ユニット(200)と通信可能に構成される外部機器(500)から当該第1ユニット(200)へのアクセス要求を受信したことに基づいて、ユーザアカウントの入力を前記外部機器(500)に要求し、前記外部機器(500)からユーザアカウントを受信したことに基づいて、当該ユーザアカウントを前記第2ユニット(300,U3)に送信し、
 前記第2ユニット(300,U3)は、登録されたユーザのアカウント情報を規定している登録情報(330)を参照して、前記第2ユニット(300,U3)から受信したユーザアカウントが登録されているか否かを判断し、前記第2ユニット(300,U3)から受信したユーザアカウントが登録されていると判断した場合には、アクセスの許可を示すトークンを前記第1ユニット(200)に送信し、
 前記第1ユニット(200)は、前記第2ユニット(300,U3)から受信した前記トークンを前記外部機器(500)に送信する、制御システム。
 [構成2]
 前記複数のユニットは、第3ユニット(300,U2)をさらに備え、
 前記第3ユニット(300,U2)は、当該第3ユニット(300,U2)へのアクセス要求とともに前記トークンを前記外部機器(500)から受信した場合、当該第3ユニット(300,U2)へのアクセスを許可する、構成1に記載の制御システム。
 [構成3]
 前記第3ユニット(300,U2)は、前記第1ユニット(200)と通信可能に構成されており、
 前記第1ユニット(200)は、前記第2ユニット(300,U3)と前記外部機器(500)との間の通信を中継するとともに、前記第3ユニット(300,U2)と前記外部機器(500)との間の通信との間の通信を中継する、構成2に記載の制御システム。
 [構成4]
 前記アカウント情報に規定される各ユーザアカウントには、アクセス権が対応付けられており、
 前記第2ユニット(300,U3)は、前記外部機器(500)からユーザアカウントを受信したことに基づいて、前記アカウント情報を参照して、当該ユーザアカウントに対応付けられているアクセス権を特定し、前記トークンを前記第1ユニット(200)に送信する際に、当該特定したアクセス権を当該第1ユニット(200)にさらに送信し、
 前記第1ユニット(200)は、前記第2ユニット(300,U3)から受信したアクセス権に応じた情報を前記外部機器(500)に送信する、構成1~3のいずれか1項に記載の制御システム。
 [構成5]
 前記制御システム(2)の動作モードは、当該制御システム(2)がメンテナンス中であることを示すメンテナンスモードを含み、
 前記第1ユニット(200)または前記第2ユニット(300,U3)は、前記制御システム(2)の動作モードが前記メンテナンスモードである場合に、予め定められた種類のアクセス権を、予め定められた他の種類のアクセス権に書き換える、構成4に記載の制御システム。
 [構成6]
 前記第1ユニット(200)または前記第2ユニット(300,U3)は、前記制御システム(2)のメンテナンスが終了したことを示す予め定められた条件が満たされた場合に、前記予め定められた他の種類のアクセス権に書き換えられたアクセス権を、書き換え前のアクセス権に戻す、構成5に記載の制御システム。
 [構成7]
 複数のユニットで構成される制御システム(2)の制御方法であって、
 前記複数のユニットは、
  第1ユニット(200)と、
  前記第1ユニット(200)と通信可能な第2ユニット(300,U3)とを備え、
 前記制御方法は、
  前記第1ユニット(200)が、当該第1ユニット(200)と通信可能に構成される外部機器(500)から当該第1ユニット(200)へのアクセス要求を受信したことに基づいて、ユーザアカウントの入力を前記外部機器(500)に要求し、前記外部機器(500)からユーザアカウントを受信したことに基づいて、当該ユーザアカウントを前記第2ユニット(300,U3)に送信するステップ(S36)と、
  前記第2ユニット(300,U3)が、登録されたユーザのアカウント情報を規定している登録情報(330)を参照して、前記第2ユニット(300,U3)から受信したユーザアカウントが登録されているか否かを判断し、前記第2ユニット(300,U3)から受信したユーザアカウントが登録されていると判断した場合には、アクセスの許可を示すトークンを前記第1ユニット(200)に送信するステップ(S37)と、
  前記第1ユニット(200)が、前記第2ユニット(300,U3)から受信した前記トークンを前記外部機器(500)に送信するステップ(S37)とを備える、制御方法。
 今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
 1,1A,1B 情報処理システム、2 制御システム、10,525 内部バス、30 リンク情報、40A,40B アクセス要求、100 制御ユニット、102,202,302,502 プロセッサ、104,204,304 チップセット、106,206,306,504 主記憶装置、108,208,308,510 二次記憶装置、110,210 通信コントローラ、112 USBコントローラ、114,214,314 メモリカードインターフェイス、115,215,315 メモリカード、116,118,120,216,218 ネットワークコントローラ、122,322 内部バスコントローラ、124,224,324 インジケータ、150 通信部、200,300,400 機能ユニット、212,511 通信インターフェイス、230 通信設定情報、230A,230B,234A,234B 破線、232 通信制御プログラム、234 アカウント情報、236 URL変換ルール、330 登録情報、450 電源ユニット、500,500A,500B 外部機器、510A 開発支援プログラム、514 I/Oインターフェイス、515 入力デバイス、520 表示インターフェイス、521 ディスプレイ、700 ログインページ、710 ポータルサイト、710A,710B ハイパーリンク、720 サイト。

Claims (7)

  1.  複数のユニットで構成される制御システムであって、
     前記複数のユニットは、
      第1ユニットと、
      前記第1ユニットと通信可能な第2ユニットとを備え、
     前記第1ユニットは、当該第1ユニットと通信可能に構成される外部機器から当該第1ユニットへのアクセス要求を受信したことに基づいて、ユーザアカウントの入力を前記外部機器に要求し、前記外部機器からユーザアカウントを受信したことに基づいて、当該ユーザアカウントを前記第2ユニットに送信し、
     前記第2ユニットは、登録されたユーザのアカウント情報を規定している登録情報を参照して、前記第2ユニットから受信したユーザアカウントが登録されているか否かを判断し、前記第2ユニットから受信したユーザアカウントが登録されていると判断した場合には、アクセスの許可を示すトークンを前記第1ユニットに送信し、
     前記第1ユニットは、前記第2ユニットから受信した前記トークンを前記外部機器に送信する、制御システム。
  2.  前記複数のユニットは、第3ユニットをさらに備え、
     前記第3ユニットは、当該第3ユニットへのアクセス要求とともに前記トークンを前記外部機器から受信した場合、当該第3ユニットへのアクセスを許可する、請求項1に記載の制御システム。
  3.  前記第3ユニットは、前記第1ユニットと通信可能に構成されており、
     前記第1ユニットは、前記第2ユニットと前記外部機器との間の通信を中継するとともに、前記第3ユニットと前記外部機器との間の通信との間の通信を中継する、請求項2に記載の制御システム。
  4.  前記アカウント情報に規定される各ユーザアカウントには、アクセス権が対応付けられており、
     前記第2ユニットは、前記外部機器からユーザアカウントを受信したことに基づいて、前記アカウント情報を参照して、当該ユーザアカウントに対応付けられているアクセス権を特定し、前記トークンを前記第1ユニットに送信する際に、当該特定したアクセス権を当該第1ユニットにさらに送信し、
     前記第1ユニットは、前記第2ユニットから受信したアクセス権に応じた情報を前記外部機器に送信する、請求項1~3のいずれか1項に記載の制御システム。
  5.  前記制御システムの動作モードは、当該制御システムがメンテナンス中であることを示すメンテナンスモードを含み、
     前記第1ユニットまたは前記第2ユニットは、前記制御システムの動作モードが前記メンテナンスモードである場合に、予め定められた種類のアクセス権を、予め定められた他の種類のアクセス権に書き換える、請求項4に記載の制御システム。
  6.  前記第1ユニットまたは前記第2ユニットは、前記制御システムのメンテナンスが終了したことを示す予め定められた条件が満たされた場合に、前記予め定められた他の種類のアクセス権に書き換えられたアクセス権を、書き換え前のアクセス権に戻す、請求項5に記載の制御システム。
  7.  複数のユニットで構成される制御システムの制御方法であって、
     前記複数のユニットは、
      第1ユニットと、
      前記第1ユニットと通信可能な第2ユニットとを備え、
     前記制御方法は、
      前記第1ユニットが、当該第1ユニットと通信可能に構成される外部機器から当該第1ユニットへのアクセス要求を受信したことに基づいて、ユーザアカウントの入力を前記外部機器に要求し、前記外部機器からユーザアカウントを受信したことに基づいて、当該ユーザアカウントを前記第2ユニットに送信するステップと、
      前記第2ユニットが、登録されたユーザのアカウント情報を規定している登録情報を参照して、前記第2ユニットから受信したユーザアカウントが登録されているか否かを判断し、前記第2ユニットから受信したユーザアカウントが登録されていると判断した場合には、アクセスの許可を示すトークンを前記第1ユニットに送信するステップと、
      前記第1ユニットが、前記第2ユニットから受信した前記トークンを前記外部機器に送信するステップとを備える、制御方法。
PCT/JP2020/006273 2019-03-27 2020-02-18 制御システム、および制御方法 WO2020195350A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP20776990.2A EP3951629A4 (en) 2019-03-27 2020-02-18 ORDERING SYSTEM AND ORDERING METHOD
CN202080019335.1A CN113544668A (zh) 2019-03-27 2020-02-18 控制系统和控制方法
US17/438,464 US12008094B2 (en) 2019-03-27 2020-02-18 Control system and control method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019061206A JP7088104B2 (ja) 2019-03-27 2019-03-27 制御システム、および制御方法
JP2019-061206 2019-03-27

Publications (1)

Publication Number Publication Date
WO2020195350A1 true WO2020195350A1 (ja) 2020-10-01

Family

ID=72611803

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/006273 WO2020195350A1 (ja) 2019-03-27 2020-02-18 制御システム、および制御方法

Country Status (5)

Country Link
US (1) US12008094B2 (ja)
EP (1) EP3951629A4 (ja)
JP (1) JP7088104B2 (ja)
CN (1) CN113544668A (ja)
WO (1) WO2020195350A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020021820A1 (ja) * 2018-07-25 2020-01-30 株式会社Nttドコモ ユーザ装置及び外部装置
JP7379888B2 (ja) * 2019-07-08 2023-11-15 オムロン株式会社 制御システム、および制御方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009217803A (ja) * 2008-02-12 2009-09-24 Fuji Xerox Co Ltd 情報処理システム及び情報処理プログラム
JP2014075084A (ja) * 2012-10-05 2014-04-24 Fuji Xerox Co Ltd 通信システム、クライアント装置、中継装置及びプログラム
WO2014068632A1 (ja) * 2012-10-29 2014-05-08 三菱電機株式会社 設備管理装置、設備管理システム及びプログラム
JP2016194808A (ja) 2015-03-31 2016-11-17 オムロン株式会社 プログラマブルロジックコントローラ、データ収集装置、データベースアクセス方法およびデータベースアクセスプログラム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6055637A (en) 1996-09-27 2000-04-25 Electronic Data Systems Corporation System and method for accessing enterprise-wide resources by presenting to the resource a temporary credential
JP2005157881A (ja) * 2003-11-27 2005-06-16 Canon Inc サーバ端末装置、クライアント端末装置、オブジェクト管理システム、オブジェクト管理方法、コンピュータプログラム及び記録媒体
CN101321063A (zh) 2008-07-17 2008-12-10 上海众恒信息产业有限公司 基于数字证书技术的系统用户访问管理系统及方法
US8875282B2 (en) * 2009-03-30 2014-10-28 Ncr Corporation Accessing a processing device
JP5822668B2 (ja) * 2011-11-16 2015-11-24 キヤノン株式会社 システム、および制御方法。
US8621651B2 (en) * 2012-01-23 2013-12-31 Verizon Patent And Licensing Inc. Enforcing content blackout
WO2014043277A2 (en) * 2012-09-11 2014-03-20 Numecent Holdings Ltd. Application streaming using pixel streaming
JP5666537B2 (ja) 2012-11-07 2015-02-12 株式会社堀場製作所 分析システム及び管理装置
JP6354132B2 (ja) 2013-10-09 2018-07-11 富士ゼロックス株式会社 中継装置、中継システム及びプログラム
JP6334920B2 (ja) * 2014-01-07 2018-05-30 キヤノン株式会社 権限管理サーバー及び権限管理方法
JP2016103750A (ja) 2014-11-28 2016-06-02 京セラドキュメントソリューションズ株式会社 認証システム
JP6771991B2 (ja) 2016-08-10 2020-10-21 キヤノン株式会社 印刷装置、印刷装置の制御方法、及びプログラム
JP6966849B2 (ja) * 2017-03-02 2021-11-17 キヤノン株式会社 画像形成装置、方法、プログラム、並びにシステム
JP6857065B2 (ja) * 2017-03-27 2021-04-14 キヤノン株式会社 認証認可サーバー、リソースサーバー、認証認可システム、認証方法及びプログラム
US11038869B1 (en) * 2017-05-12 2021-06-15 F5 Networks, Inc. Methods for managing a federated identity environment based on application availability and devices thereof
JP6731887B2 (ja) * 2017-06-27 2020-07-29 Kddi株式会社 保守システム及び保守方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009217803A (ja) * 2008-02-12 2009-09-24 Fuji Xerox Co Ltd 情報処理システム及び情報処理プログラム
JP2014075084A (ja) * 2012-10-05 2014-04-24 Fuji Xerox Co Ltd 通信システム、クライアント装置、中継装置及びプログラム
WO2014068632A1 (ja) * 2012-10-29 2014-05-08 三菱電機株式会社 設備管理装置、設備管理システム及びプログラム
JP2016194808A (ja) 2015-03-31 2016-11-17 オムロン株式会社 プログラマブルロジックコントローラ、データ収集装置、データベースアクセス方法およびデータベースアクセスプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3951629A4

Also Published As

Publication number Publication date
CN113544668A (zh) 2021-10-22
EP3951629A1 (en) 2022-02-09
JP7088104B2 (ja) 2022-06-21
US20220129533A1 (en) 2022-04-28
US12008094B2 (en) 2024-06-11
JP2020160934A (ja) 2020-10-01
EP3951629A4 (en) 2022-12-21

Similar Documents

Publication Publication Date Title
JP7226906B2 (ja) 埋め込む方法、埋め込む装置、及び機械アクセス可能媒体
EP3048523B1 (en) Programmable display
CN105324750B (zh) 开发环境系统、开发环境装置以及开发环境提供方法
JP6201917B2 (ja) フィールドデバイスを設定するためのシステムおよび方法
WO2020195350A1 (ja) 制御システム、および制御方法
KR20060006722A (ko) 단말 기기, 제공 서버, 전자 정보 이용 방법, 전자 정보제공 방법, 단말 기기 프로그램, 제공 서버 프로그램,중개 프로그램, 및 기억 매체
JP4708664B2 (ja) 周辺機器、周辺機器の制御方法、周辺機器の制御プログラム及び記憶媒体
JP7379888B2 (ja) 制御システム、および制御方法
JP7131455B2 (ja) ユニット、ユニットの制御方法、および、ユニットの制御プログラム
US20020107922A1 (en) Processing apparatus, management apparatus, computer system, and memory medium and program
JP2002091560A (ja) 制御システム、および、そのプログラムが記録された記録媒体
JP2004126817A (ja) 設定ツール装置及びプログラム製品
KR100463513B1 (ko) 온라인상의 각종 부품 원격 제어 시스템 및 이 시스템의운영방법
Penberthy Exam Ref 70-486 Developing ASP. NET MVC 4 Web Applications (MCSD): Developing ASP. NET MVC 4 Web Applications
KR20000024774A (ko) 인터넷상의 원격 디지털 카메라 제어 시스템 및 그 제어 방법
Kaplun The benefits of CANopen IoT: CANopen Internet of Things (IoT) is intended for networks without embedded internet protocol support, allowing access to local and remote CANopen networks using web protocols and communication services
Pianegiani et al. Open distributed control and measurement system based on an abstract client-server architecture
JP2002091511A (ja) 制御システム、および、そのプログラムが記録された記録媒体
JP2002297116A (ja) 制御システム、そのプログラム、および、それが記録された記録媒体
JP2002007363A (ja) 制御用通信システム、および、そのプログラムが記録された記録媒体
Warner et al. Development of web-based software for a multi-fieldbus diagnosis tool
KR20020041359A (ko) 웹페이지 실시간 제어 시스템 및 그 방법
KR20000031697A (ko) 오디오/비디오 기기의 제어명령 교환방법

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

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

Country of ref document: EP

Effective date: 20211027