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

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

Info

Publication number
JP7088104B2
JP7088104B2 JP2019061206A JP2019061206A JP7088104B2 JP 7088104 B2 JP7088104 B2 JP 7088104B2 JP 2019061206 A JP2019061206 A JP 2019061206A JP 2019061206 A JP2019061206 A JP 2019061206A JP 7088104 B2 JP7088104 B2 JP 7088104B2
Authority
JP
Japan
Prior art keywords
unit
external device
functional unit
user account
control system
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2019061206A
Other languages
English (en)
Other versions
JP2020160934A (ja
Inventor
雄大 永田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
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 Omron Corp filed Critical Omron Corp
Priority to JP2019061206A priority Critical patent/JP7088104B2/ja
Priority to US17/438,464 priority patent/US12008094B2/en
Priority to CN202080019335.1A priority patent/CN113544668A/zh
Priority to EP20776990.2A priority patent/EP3951629A4/en
Priority to PCT/JP2020/006273 priority patent/WO2020195350A1/ja
Publication of JP2020160934A publication Critical patent/JP2020160934A/ja
Application granted granted Critical
Publication of JP7088104B2 publication Critical patent/JP7088104B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

Landscapes

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

Description

本開示は、複数のユニットで構成される制御システムにおいてログイン処理を簡素化するための技術に関する。
FA(Factory Automation)を用いた生産現場などでは、各種設備および各設備に配置される各種装置の制御において、PLC(Programmable Logic Controller)などの制御ユニットが用いられる。近年、外部機器に接続できる制御ユニットが普及している。このような制御ユニットに関し、特許文献1(特開2016-194808号公報)は、外部機器のデーターベースにアクセスすることができるPLCを開示している。
特開2016-194808号公報
制御ユニットには、種々の機能ユニットが接続され得る。各機能ユニットには、様々なアプリケーションがインストールされ得る。ユーザは、必要に応じて、機能ユニットを追加することができる。
セキュリティを担保するために、ユーザが異なる機能ユニットにアクセスする度に、各機能ユニットは、アカウントの入力をユーザに求める。アカウントの入力が異なる機能ユニットにアクセスする度に求められると、ユーザに手間がかかる。また、ユーザは、管理するアカウントの数が多くなると、同一のアカウントを使い回したり、容易なパスワードを設定したりする。そのため、かえって、セキュリティレベルが低くなってしまう可能性がある。したがって、複数のユニットで構成される制御システムにおいてユーザアカウントを一元的に管理するための技術が望まれている。
本開示の一例では、複数のユニットで構成される制御システムが提供される。上記複数のユニットは、第1ユニットと、上記第1ユニットと通信可能な第2ユニットとを備える。上記第1ユニットは、当該第1ユニットと通信可能に構成される外部機器から当該第1ユニットへのアクセス要求を受信したことに基づいて、ユーザアカウントの入力を上記外部機器に要求し、上記外部機器からユーザアカウントを受信したことに基づいて、当該ユーザアカウントを上記第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ユニットが、登録されたユーザのアカウント情報を規定している登録情報を参照して、上記第ユニットから受信したユーザアカウントが登録されているか否かを判断し、上記第ユニットから受信したユーザアカウントが登録されていると判断した場合には、アクセスの許可を示すトークンを上記第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に送信する。
機能ユニットU3は、機能ユニット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」は、たとえば、乱数であり、一定期間だけ有効となる。機能ユニットU3は、発行した「token1」を機能ユニット200に送信する。機能ユニット200は、機能ユニットU3から受信した「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)を参照して、前記第ユニット(300,U3)から受信したユーザアカウントが登録されているか否かを判断し、前記第ユニット(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)を参照して、前記第ユニット(300,U3)から受信したユーザアカウントが登録されているか否かを判断し、前記第ユニット(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ユニットと、
    第3ユニットとを備え、
    前記第1ユニットは、当該第1ユニットと通信可能に構成される外部機器から当該第1ユニットへのアクセス要求を受信したことに基づいて、ユーザアカウントの入力を前記外部機器に要求し、前記外部機器からユーザアカウントを受信したことに基づいて、当該ユーザアカウントを前記第2ユニットに送信し、
    前記第2ユニットは、登録されたユーザのアカウント情報を規定している登録情報を参照して、前記第ユニットから受信したユーザアカウントが登録されているか否かを判断し、前記第ユニットから受信したユーザアカウントが登録されていると判断した場合には、アクセスの許可を示すトークンを前記第1ユニットに送信し、
    前記第1ユニットは、前記第2ユニットから受信した前記トークンを前記外部機器に送信し、
    前記第3ユニットは、当該第3ユニットへのアクセス要求とともに前記第1ユニットへのアクセスを許可する前記トークンを前記外部機器から受信した場合、当該第3ユニットへのアクセスを許可する、制御システム。
  2. 前記第3ユニットは、前記第1ユニットと通信可能に構成されており、
    前記第1ユニットは、前記第2ユニットと前記外部機器との間の通信を中継するとともに、前記第3ユニットと前記外部機器との間の通信との間の通信を中継する、請求項1に記載の制御システム。
  3. 複数のユニットで構成される制御システムであって、
    前記複数のユニットは、
    第1ユニットと、
    前記第1ユニットと通信可能な第2ユニットとを備え、
    前記第1ユニットは、当該第1ユニットと通信可能に構成される外部機器から当該第1
    ユニットへのアクセス要求を受信したことに基づいて、ユーザアカウントの入力を前記外部機器に要求し、前記外部機器からユーザアカウントを受信したことに基づいて、当該ユーザアカウントを前記第2ユニットに送信し、
    前記第2ユニットは、登録されたユーザのアカウント情報を規定している登録情報を参照して、前記第ユニットから受信したユーザアカウントが登録されているか否かを判断し、前記第ユニットから受信したユーザアカウントが登録されていると判断した場合には、アクセスの許可を示すトークンを前記第1ユニットに送信し、
    前記第1ユニットは、前記第2ユニットから受信した前記トークンを前記外部機器に送信し、
    前記アカウント情報に規定される各ユーザアカウントには、アクセス権が対応付けられており、
    前記第2ユニットは、前記外部機器からユーザアカウントを受信したことに基づいて、前記アカウント情報を参照して、当該ユーザアカウントに対応付けられているアクセス権を特定し、前記トークンを前記第1ユニットに送信する際に、当該特定したアクセス権を当該第1ユニットにさらに送信し、
    前記第1ユニットは、前記第2ユニットから受信したアクセス権に応じた情報を前記外部機器に送信する、制御システム。
  4. 前記制御システムの動作モードは、当該制御システムがメンテナンス中であることを示すメンテナンスモードを含み、
    前記第1ユニットまたは前記第2ユニットは、前記制御システムの動作モードが前記メンテナンスモードである場合に、予め定められた種類のアクセス権を、予め定められた他の種類のアクセス権に書き換える、請求項3に記載の制御システム。
  5. 前記第1ユニットまたは前記第2ユニットは、前記制御システムのメンテナンスが終了したことを示す予め定められた条件が満たされた場合に、前記予め定められた他の種類のアクセス権に書き換えられたアクセス権を、書き換え前のアクセス権に戻す、請求項4に記載の制御システム。
  6. 複数のユニットで構成される制御システムの制御方法であって、
    前記複数のユニットは、
    第1ユニットと、
    前記第1ユニットと通信可能な第2ユニットと、
    第3ユニットとを備え、
    前記制御方法は、
    前記第1ユニットが、当該第1ユニットと通信可能に構成される外部機器から当該第1ユニットへのアクセス要求を受信したことに基づいて、ユーザアカウントの入力を前記外部機器に要求し、前記外部機器からユーザアカウントを受信したことに基づいて、当該ユーザアカウントを前記第2ユニットに送信するステップと、
    前記第2ユニットが、登録されたユーザのアカウント情報を規定している登録情報を参照して、前記第ユニットから受信したユーザアカウントが登録されているか否かを判断し、前記第ユニットから受信したユーザアカウントが登録されていると判断した場合には、アクセスの許可を示すトークンを前記第1ユニットに送信するステップと、
    前記第1ユニットが、前記第2ユニットから受信した前記トークンを前記外部機器に送信するステップと、
    前記第3ユニットが、当該第3ユニットへのアクセス要求とともに前記第1ユニットへのアクセスを許可する前記トークンを前記外部機器から受信した場合、当該第3ユニットへのアクセスを許可するステップとを備える、制御方法。
  7. 複数のユニットで構成される制御システムの制御方法であって、
    前記複数のユニットは、
    第1ユニットと、
    前記第1ユニットと通信可能な第2ユニットと、
    を備え、
    前記制御方法は、
    前記第1ユニットが、当該第1ユニットと通信可能に構成される外部機器から当該第1ユニットへのアクセス要求を受信したことに基づいて、ユーザアカウントの入力を前記外部機器に要求し、前記外部機器からユーザアカウントを受信したことに基づいて、当該ユーザアカウントを前記第2ユニットに送信するステップと、
    前記第2ユニットが、登録されたユーザのアカウント情報を規定している登録情報を参照して、前記第ユニットから受信したユーザアカウントが登録されているか否かを判断し、前記第ユニットから受信したユーザアカウントが登録されていると判断した場合には、アクセスの許可を示すトークンを前記第1ユニットに送信するステップと、
    前記第1ユニットが、前記第2ユニットから受信した前記トークンを前記外部機器に送信するステップとを備え、
    前記アカウント情報に規定される各ユーザアカウントには、アクセス権が対応付けられており、
    前記制御方法は、
    前記第2ユニットが、前記外部機器からユーザアカウントを受信したことに基づいて、前記アカウント情報を参照して、当該ユーザアカウントに対応付けられているアクセス権を特定し、前記トークンを前記第1ユニットに送信する際に、当該特定したアクセス権を当該第1ユニットにさらに送信するステップと、
    前記第1ユニットが、前記第2ユニットから受信したアクセス権に応じた情報を前記外部機器に送信するステップとをさらに備える、制御方法。
JP2019061206A 2019-03-27 2019-03-27 制御システム、および制御方法 Active JP7088104B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2019061206A JP7088104B2 (ja) 2019-03-27 2019-03-27 制御システム、および制御方法
US17/438,464 US12008094B2 (en) 2019-03-27 2020-02-18 Control system and control method
CN202080019335.1A CN113544668A (zh) 2019-03-27 2020-02-18 控制***和控制方法
EP20776990.2A EP3951629A4 (en) 2019-03-27 2020-02-18 ORDERING SYSTEM AND ORDERING METHOD
PCT/JP2020/006273 WO2020195350A1 (ja) 2019-03-27 2020-02-18 制御システム、および制御方法

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JP2020160934A JP2020160934A (ja) 2020-10-01
JP7088104B2 true JP7088104B2 (ja) 2022-06-21

Family

ID=72611803

Family Applications (1)

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

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 (3)

* 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 三菱電機株式会社 設備管理装置、設備管理システム及びプログラム

Family Cites Families (17)

* 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
US10021168B2 (en) * 2012-09-11 2018-07-10 Numecent Holdings, Inc. 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 京セラドキュメントソリューションズ株式会社 認証システム
JP2016194808A (ja) 2015-03-31 2016-11-17 オムロン株式会社 プログラマブルロジックコントローラ、データ収集装置、データベースアクセス方法およびデータベースアクセスプログラム
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 (3)

* 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 三菱電機株式会社 設備管理装置、設備管理システム及びプログラム

Also Published As

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

Similar Documents

Publication Publication Date Title
JP7226906B2 (ja) 埋め込む方法、埋め込む装置、及び機械アクセス可能媒体
CN105824283B (zh) 可编程显示器
JP6201917B2 (ja) フィールドデバイスを設定するためのシステムおよび方法
WO2020195350A1 (ja) 制御システム、および制御方法
JP4708664B2 (ja) 周辺機器、周辺機器の制御方法、周辺機器の制御プログラム及び記憶媒体
WO2007094697A1 (en) Security key with instructions
JP7131455B2 (ja) ユニット、ユニットの制御方法、および、ユニットの制御プログラム
WO2021005831A1 (ja) 制御システム、および制御方法
JP2002091560A (ja) 制御システム、および、そのプログラムが記録された記録媒体
JP2004126817A (ja) 設定ツール装置及びプログラム製品
KR100463513B1 (ko) 온라인상의 각종 부품 원격 제어 시스템 및 이 시스템의운영방법
JP4962721B2 (ja) ツール装置及びメッセージ送信プログラムの作成方法
Penberthy Exam Ref 70-486 Developing ASP. NET MVC 4 Web Applications (MCSD): Developing ASP. NET MVC 4 Web Applications
WO2020246093A1 (ja) 情報提供方法、情報提供システムおよびサーバ
KR20040045122A (ko) 인터넷 사이트의 자동 접속 및 로그인 시스템과 자동접속및 로그인을 위한 사이트 등재방법 및 자동접속 및 로그인실행방법
KR20000024774A (ko) 인터넷상의 원격 디지털 카메라 제어 시스템 및 그 제어 방법
Pianegiani et al. Open distributed control and measurement system based on an abstract client-server architecture
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
JP2002297116A (ja) 制御システム、そのプログラム、および、それが記録された記録媒体
Warner et al. Development of web-based software for a multi-fieldbus diagnosis tool
KR20020003943A (ko) 아파트 홈페이지 제작방법 및 시스템
JP2002007363A (ja) 制御用通信システム、および、そのプログラムが記録された記録媒体
KR20020041359A (ko) 웹페이지 실시간 제어 시스템 및 그 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220308

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220425

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220510

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220523

R150 Certificate of patent or registration of utility model

Ref document number: 7088104

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150