(57)【要約】      （修正有）【課題】複数のユニットで構成される制御システムにおいてユーザアカウントを一元的に管理する技術を提供する。【解決手段】制御システム１は、機能ユニット２００，機能ユニット３００を備える。機能ユニット２００は、外部機器５００から機能ユニット２００へのアクセス要求を受信した場合、ユーザアカウントの入力を外部機器５００に要求し、外部機器５００から受信したユーザアカウントを機能ユニット３００に送信する。機能ユニット３００は、登録されたユーザのアカウント情報を規定している登録情報３３０を参照して、上記ユーザアカウントが登録されていると判断した場合、アクセスの許可を示すトークンを機能ユニット２００に送信する。機能ユニット２００は、機能ユニット３００から受信したトークンを外部機器５００に送信する。【選択図】図１
2020160934.tif 000002
【特許請求の範囲】
【請求項１】
複数のユニットで構成される制御システムであって、
前記複数のユニットは、
第１ユニットと、
前記第１ユニットと通信可能な第２ユニットとを備え、
前記第１ユニットは、当該第１ユニットと通信可能に構成される外部機器から当該第１ユニットへのアクセス要求を受信したことに基づいて、ユーザアカウントの入力を前記外部機器に要求し、前記外部機器からユーザアカウントを受信したことに基づいて、当該ユーザアカウントを前記第２ユニットに送信し、
前記第２ユニットは、登録されたユーザのアカウント情報を規定している登録情報を参照して、前記第２ユニットから受信したユーザアカウントが登録されているか否かを判断し、前記第２ユニットから受信したユーザアカウントが登録されていると判断した場合には、アクセスの許可を示すトークンを前記第１ユニットに送信し、
前記第１ユニットは、前記第２ユニットから受信した前記トークンを前記外部機器に送信する、制御システム。
【請求項２】
前記複数のユニットは、第３ユニットをさらに備え、
前記第３ユニットは、当該第３ユニットへのアクセス要求とともに前記トークンを前記外部機器から受信した場合、当該第３ユニットへのアクセスを許可する、請求項１に記載の制御システム。
【請求項３】
前記第３ユニットは、前記第１ユニットと通信可能に構成されており、
前記第１ユニットは、前記第２ユニットと前記外部機器との間の通信を中継するとともに、前記第３ユニットと前記外部機器との間の通信との間の通信を中継する、請求項２に記載の制御システム。
【請求項４】
前記アカウント情報に規定される各ユーザアカウントには、アクセス権が対応付けられており、
前記第２ユニットは、前記外部機器からユーザアカウントを受信したことに基づいて、前記アカウント情報を参照して、当該ユーザアカウントに対応付けられているアクセス権を特定し、前記トークンを前記第１ユニットに送信する際に、当該特定したアクセス権を当該第１ユニットにさらに送信し、
前記第１ユニットは、前記第２ユニットから受信したアクセス権に応じた情報を前記外部機器に送信する、請求項１〜３のいずれか１項に記載の制御システム。
【請求項５】
前記制御システムの動作モードは、当該制御システムがメンテナンス中であることを示すメンテナンスモードを含み、
前記第１ユニットまたは前記第２ユニットは、前記制御システムの動作モードが前記メンテナンスモードである場合に、予め定められた種類のアクセス権を、予め定められた他の種類のアクセス権に書き換える、請求項４に記載の制御システム。
【請求項６】
前記第１ユニットまたは前記第２ユニットは、前記制御システムのメンテナンスが終了したことを示す予め定められた条件が満たされた場合に、前記予め定められた他の種類のアクセス権に書き換えられたアクセス権を、書き換え前のアクセス権に戻す、請求項５に記載の制御システム。
【請求項７】
複数のユニットで構成される制御システムの制御方法であって、
前記複数のユニットは、
第１ユニットと、
前記第１ユニットと通信可能な第２ユニットとを備え、
前記制御方法は、
前記第１ユニットが、当該第１ユニットと通信可能に構成される外部機器から当該第１ユニットへのアクセス要求を受信したことに基づいて、ユーザアカウントの入力を前記外部機器に要求し、前記外部機器からユーザアカウントを受信したことに基づいて、当該ユーザアカウントを前記第２ユニットに送信するステップと、
前記第２ユニットが、登録されたユーザのアカウント情報を規定している登録情報を参照して、前記第２ユニットから受信したユーザアカウントが登録されているか否かを判断し、前記第２ユニットから受信したユーザアカウントが登録されていると判断した場合には、アクセスの許可を示すトークンを前記第１ユニットに送信するステップと、
前記第１ユニットが、前記第２ユニットから受信した前記トークンを前記外部機器に送信するステップとを備える、制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、複数のユニットで構成される制御システムにおいてログイン処理を簡素化するための技術に関する。
【背景技術】
【０００２】
ＦＡ（Factory Automation）を用いた生産現場などでは、各種設備および各設備に配置される各種装置の制御において、ＰＬＣ（Programmable Logic Controller）などの制御ユニットが用いられる。近年、外部機器に接続できる制御ユニットが普及している。このような制御ユニットに関し、特許文献１（特開２０１６−１９４８０８号公報）は、外部機器のデーターベースにアクセスすることができるＰＬＣを開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−１９４８０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
制御ユニットには、種々の機能ユニットが接続され得る。各機能ユニットには、様々なアプリケーションがインストールされ得る。ユーザは、必要に応じて、機能ユニットを追加することができる。
【０００５】
セキュリティを担保するために、ユーザが異なる機能ユニットにアクセスする度に、各機能ユニットは、アカウントの入力をユーザに求める。アカウントの入力が異なる機能ユニットにアクセスする度に求められると、ユーザに手間がかかる。また、ユーザは、管理するアカウントの数が多くなると、同一のアカウントを使い回したり、容易なパスワードを設定したりする。そのため、かえって、セキュリティレベルが低くなってしまう可能性がある。したがって、複数のユニットで構成される制御システムにおいてユーザアカウントを一元的に管理するための技術が望まれている。
【課題を解決するための手段】
【０００６】
本開示の一例では、複数のユニットで構成される制御システムが提供される。上記複数のユニットは、第１ユニットと、上記第１ユニットと通信可能な第２ユニットとを備える。上記第１ユニットは、当該第１ユニットと通信可能に構成される外部機器から当該第１ユニットへのアクセス要求を受信したことに基づいて、ユーザアカウントの入力を上記外部機器に要求し、上記外部機器からユーザアカウントを受信したことに基づいて、当該ユーザアカウントを上記第２ユニットに送信する。上記第２ユニットは、登録されたユーザのアカウント情報を規定している登録情報を参照して、上記第２ユニットから受信したユーザアカウントが登録されているか否かを判断し、上記第２ユニットから受信したユーザアカウントが登録されていると判断した場合には、アクセスの許可を示すトークンを上記第１ユニットに送信する。上記第１ユニットは、上記第２ユニットから受信した上記トークンを上記外部機器に送信する。
【０００７】
本開示によれば、ユーザは、制御システムを構成するユニットごとにログイン処理を行う必要がなくなる。また、ユーザは、管理すべきユーザアカウントの数を減らすことができるので、ユーザアカウントの管理における煩雑性を解消することができる。その結果、ユーザアカウントが外部に漏れる可能性が低くなり、制御システムのセキュリティレベルが改善される。
【０００８】
本開示の一例では、上記複数のユニットは、第３ユニットをさらに備える。上記第３ユニットは、当該第３ユニットへのアクセス要求とともに上記トークンを上記外部機器から受信した場合、当該第３ユニットへのアクセスを許可する。
【０００９】
本開示によれば、制御システムは、第１ユニットについて発行されたトークンを、第３ユニットにも流用することできる。これにより、ユーザは、制御システムを構成するユニットごとにログイン処理を行う必要がなくなる。
【００１０】
本開示の一例では、上記第３ユニットは、上記第１ユニットと通信可能に構成されている。上記第１ユニットは、上記第２ユニットと上記外部機器との間の通信を中継するとともに、上記第３ユニットと上記外部機器との間の通信との間の通信を中継する。
【００１１】
本開示によれば、第１ユニットが、第２，第３ユニットと、外部機器との間の通信を中継するので、制御システム２内の各ユニットを外部から秘匿することができる。これにより、制御システム２内の各ユニットと外部機器との直接的な通信が防がれ、通信に伴うセキュリティ上のリスクが軽減される。
【００１２】
本開示の一例では、上記アカウント情報に規定される各ユーザアカウントには、アクセス権が対応付けられている。上記第２ユニットは、上記外部機器からユーザアカウントを受信したことに基づいて、上記アカウント情報を参照して、当該ユーザアカウントに対応付けられているアクセス権を特定し、上記トークンを上記第１ユニットに送信する際に、当該特定したアクセス権を当該第１ユニットにさらに送信する。上記第１ユニットは、上記第２ユニットから受信したアクセス権に応じた情報を上記外部機器に送信する。
【００１３】
本開示によれば、制御システムは、ユーザに与えられているアクセス権に応じて、ユーザに提供する情報を変えることができる。これにより、制御システムは、アクセス権に応じた適切な情報をユーザに提供することができる。
【００１４】
本開示の一例では、上記制御システムの動作モードは、当該制御システムがメンテナンス中であることを示すメンテナンスモードを含む。上記第１ユニットまたは上記第２ユニットは、上記制御システムの動作モードが上記メンテナンスモードである場合に、予め定められた種類のアクセス権を、予め定められた他の種類のアクセス権に書き換える。
【００１５】
本開示によれば、制御システムは、制御システムの動作モードがメンテナンスである場合には、アクセス権を適宜切り替えることができる。これにより、制御システムは、メンテナンスモード時に与えられるアクセス権に応じた適切な情報をユーザに提供することができる。
【００１６】
本開示の一例では、上記第１ユニットまたは上記第２ユニットは、上記制御システムのメンテナンスが終了したことを示す予め定められた条件が満たされた場合に、上記予め定められた他の種類のアクセス権に書き換えられたアクセス権を、書き換え前のアクセス権に戻す。
【００１７】
本開示によれば、制御システムは、メンテナンスが終了した場合に、書き換えたアクセス権を自動で戻すことが可能になる。
【００１８】
本開示の他の例では、複数のユニットで構成される制御システムの制御方法が提供される。上記複数のユニットは、第１ユニットと、上記第１ユニットと通信可能な第２ユニットとを備える。上記制御方法は、上記第１ユニットが、当該第１ユニットと通信可能に構成される外部機器から当該第１ユニットへのアクセス要求を受信したことに基づいて、ユーザアカウントの入力を上記外部機器に要求し、上記外部機器からユーザアカウントを受信したことに基づいて、当該ユーザアカウントを上記第２ユニットに送信するステップと、上記第２ユニットが、登録されたユーザのアカウント情報を規定している登録情報を参照して、上記第２ユニットから受信したユーザアカウントが登録されているか否かを判断し、上記第２ユニットから受信したユーザアカウントが登録されていると判断した場合には、アクセスの許可を示すトークンを上記第１ユニットに送信するステップと、上記第１ユニットが、上記第２ユニットから受信した上記トークンを上記外部機器に送信するステップとを備える。
【００１９】
本開示によれば、ユーザは、制御システムを構成するユニットごとにログイン処理を行う必要がなくなる。また、ユーザは、管理すべきユーザアカウントの数を減らすことができるので、ユーザアカウントの管理における煩雑性を解消することができる。その結果、ユーザアカウントが外部に漏れる可能性が低くなり、制御システムのセキュリティレベルが改善される。
【図面の簡単な説明】
【００２０】
【図１】実施の形態に従う情報処理システムの構成例を示す図である。
【図２】実施の形態に従う制御システムの構成例を示す外観図である。
【図３】実施の形態に従う制御システムを構成する制御ユニットのハードウェア構成例を示す模式図である。
【図４】実施の形態に従う制御システムを構成する機能ユニットのハードウェア構成例を示す模式図である。
【図５】実施の形態に従う制御システムを構成する機能ユニットのハードウェア構成例を示す模式図である。
【図６】実施の形態に従う情報処理システムを構成する外部機器のハードウェア構成例を示す模式図である。
【図７】実施の形態に従う情報処理システムのユニット構成の一例を示す図である。
【図８】通信設定情報の生成時における、各機能ユニットの間のデータフローを示す図である。
【図９】プロキシ情報の一例を示す図である。
【図１０】通信設定情報の一例を示す図である。
【図１１】ユーザ認証処理時における、各機能ユニットと外部機器との間のデータフローを示す図である。
【図１２】ＵＲＬ（Uniform Resource Locator）の書き換え処理を概略的に示す図である。
【図１３】実施の形態に従う外部機器に表示される画面の一例を示す図である。
【図１４】登録情報のデータ構造の一例を示す図である。
【図１５】図１１のステップＳ５０で記憶されるアカウント情報を示す図である。
【図１６】図１１のステップＳ５２で生成されるリンク情報を示す図である。
【図１７】機能ユニットによる認証処理時における、各機能ユニットと各外部機器との間のデータフローを示す図である。
【図１８】機能ユニットに記憶されるアカウント情報の一例を示す図である。
【図１９】ＵＲＬ変換ルールの一例を示す図である。
【図２０】メンテナンスモード時における、各機能ユニット各外部機器との間のデータフローを示す図である。
【図２１】機能ユニットがアクセス権を書き換える例を説明するための図である。
【図２２】メンテンナンスモード中におけるＵＲＬ変換ルールを示す図である。
【図２３】メンテンナンスモード中におけるアカウント情報を示す図である。
【図２４】変形例に従う情報処理システムのユニット構成を示す図である。
【図２５】変形例に従う情報処理システムのユニット構成を示す図である。
【発明を実施するための形態】
【００２１】
以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。
【００２２】
＜Ａ．適用例＞
図１を参照して、本発明の適用例について説明する。図１は、実施の形態に従う情報処理システム１の構成例を示す図である。
【００２３】
情報処理システム１は、１つ以上の制御システム２と、１つ以上の外部機器５００とを含む。制御システム２は、生産工程を自動化するためのＦＡシステムである。制御システム２は、制御ユニット１００と、機能ユニット２００（第１ユニット）と、機能ユニット３００（第２ユニット）とを含む。
【００２４】
機能ユニット２００および外部機器５００は、外部ネットワークＮＷ１に接続される。機能ユニット２００および外部機器５００の間の通信は、Ｅｔｈｅｒｎｅｔ（登録商標）によって実現される。すなわち、機能ユニット２００および外部機器５００の各々には、外部ネットワークＮＷ１で有効なＩＰアドレスが割り当てられており、機能ユニット２００および外部機器５００は、当該ＩＰアドレスに基づいて互いに通信を行う。
【００２５】
制御ユニット１００、機能ユニット２００、および機能ユニット３００は、内部ネットワークＮＷ２に接続される。これらのユニット間の通信は、たとえば、Ｅｔｈｅｒｎｅｔによってユニット間の通信を実現される。すなわち、制御システム２を構成する各ユニットは、内部ネットワークＮＷ２で有効なＩＰアドレスが割り当てられており、各ユニットは、当該ＩＰアドレスに基づいて互いに通信を行う。
【００２６】
制御ユニット１００は、たとえば、ＰＬＣである。制御ユニット１００は、予め設計されたユーザプログラムに従って、駆動機器（図示しない）を制御する。駆動機器は、生産工程を自動化するための種々の産業用機器を含む。一例として、駆動機器は、ロボットコントローラや、サーボドライバや、ロボットコントローラに制御されるアームロボットや、サーボドライバによって制御されるサーボモータなどを含む。また、駆動機器は、ワークを撮影するための視覚センサや、生産工程で利用されるその他の機器などを含んでもよい。
【００２７】
機能ユニット２００は、制御ユニット１００に接続され、中継ユニットとして機能する。すなわち、機能ユニット２００は、制御システム２を構成する各ユニットと、外部機器５００との間の通信を中継する。機能ユニット２００が提供する通信機能の詳細については、後述する。また、機能ユニット２００は、制御ユニット１００による様々な制御対象に対する制御を実現するための各種機能を提供する。機能ユニット２００は、ＷｅｂサーバＳＶ１と、アプリケーションＡＰ１とを含む。アプリケーションＡＰ１は、制御システム２に関する各種サービスを提供するためのプログラムである。
【００２８】
機能ユニット３００は、制御システム２を構成する各種ユニットについてのユーザアカウントを一元的に管理するためのユニットである。機能ユニット３００は、たとえば、ＳＧＵ（Security Guard Unit）である。機能ユニット３００は、登録情報３３０を保持する。登録情報３３０には、登録されたアカウント情報が規定される。一例として、各アカウント情報は、ユーザＩＤ（Identification）とパスワードとを含む。なお、登録情報３３０は、必ずしも機能ユニット３００で保持される必要はなく、外部サーバなどの他の機器で保持されていてもよい。
【００２９】
外部機器５００は、たとえば、ノート型またはデスクトップ型のＰＣ（Personal Computer）、タブレット端末、スマートフォン、ＨＭＩ（Human Machine Interface）、または、その他の情報処理端末である。
【００３０】
外部機器５００が機能ユニット２００内の情報にアクセスした場合、ＳＧＵとしての機能ユニット３００が、アクセスの認証処理を行う。より具体的には、まず、外部機器５００は、機能ユニット２００へのアクセス要求をユーザから受けたことに基づいて、機能ユニット２００へのアクセス要求を機能ユニット２００に送信する（ステップＳ１）。機能ユニット２００は、外部機器５００からアクセス要求を受信したことに基づいて、ユーザアカウントの入力を外部機器５００に要求する（ステップＳ２）。外部機器５００は、アカウントの入力要求を機能ユニット２００から受信したことに基づいて、ユーザアカウントの入力画面を表示する。外部機器５００は、ユーザアカウントの入力をユーザから受けたことに基づいて、入力されたユーザアカウントを機能ユニット２００に送信する（ステップＳ３）。
【００３１】
次に、機能ユニット２００は、外部機器５００からユーザアカウントを受信したことに基づいて、当該ユーザアカウントを機能ユニット３００に送信する（ステップＳ４）。機能ユニット３００は、登録情報３３０を参照して、機能ユニット２００から受信したユーザアカウントが登録されているか否かを判断する（ステップＳ５）。
【００３２】
機能ユニット３００は、ステップＳ４で受信したユーザアカウントが登録情報３３０に登録されていると判断した場合、アクセスの許可を示すトークンを機能ユニット２００に送信する（ステップＳ６）。その後、機能ユニット２００は、機能ユニット３００から受信したトークンを外部機器５００に送信する（ステップＳ７）。外部機器５００は、機能ユニット３００で発行されたトークンを元に、機能ユニット２００内の情報（たとえば、アプリケーションＡＰ１）にアクセスすることができる。
【００３３】
以上のように、制御システム２は、ユーザアカウントの認証処理を一元的に担う機能ユニット３００を有する。これにより、ユーザは、制御システム２を構成するユニットごとにログイン処理を行う必要がなくなる。また、ユーザは、管理すべきユーザアカウントの数を減らすことができるので、ユーザアカウントの管理における煩雑性を解消することができる。その結果、ユーザアカウントが外部に漏れる可能性が低くなり、制御システム２のセキュリティレベルが改善される。
【００３４】
＜Ｂ．制御システム２＞
図２を参照して、図１に示される制御システム２について説明する。図２は、制御システム２の構成例を示す外観図である。
【００３５】
図２を参照して、制御システム２は、１または複数の制御ユニット１００と、１または複数の機能ユニット２００と、１または複数の機能ユニット３００と、１または複数の機能ユニット４００と、電源ユニット４５０とを含む。
【００３６】
制御ユニット１００と機能ユニット２００との間は、任意のデータ伝送路を介して接続されている。制御ユニット１００と、機能ユニット２００と、１または複数の機能ユニット３００，４００との間は、後述の内部バス１０（図７参照）を介して接続されている。
【００３７】
制御ユニット１００は、制御システム２において中心的な処理を実行する。制御ユニット１００は、任意に設計された要求仕様に従って、制御対象を制御するための制御演算を実行する。図２に示す構成例において、制御ユニット１００は、１または複数の通信ポートを有している。制御ユニット１００は、標準制御プログラムに従って標準制御を実行する処理実行部に相当する。
【００３８】
機能ユニット２００は、制御ユニット１００に接続され、他の装置との間の通信機能を担当する。図２に示す構成例において、機能ユニット２００は、１または複数の通信ポートを有している。機能ユニット２００が提供する通信機能の詳細については、後述する。
【００３９】
機能ユニット３００は、オプションのユニットであり、必要に応じて制御ユニット１００に接続される。機能ユニット３００は、典型的には、ＳＧＵ（Security Guard Unit）、ＯＰＣ  ＵＡ（Object Linking and Embedding for Process Control Unified Architecture）によるデータ交換機能を有する通信ユニット、ＡＩ（Artificial Intelligence）による予防保全機能を有するＡＩユニットなどを包含し得る。
【００４０】
機能ユニット４００は、制御システム２による様々な制御対象に対する制御を実現するための各種機能を提供する。機能ユニット４００は、典型的には、Ｉ／Ｏユニット、セーフティＩ／Ｏユニット、通信ユニット、モーションコントローラユニット、温度調整ユニット、パルスカウンタユニットなどを包含し得る。Ｉ／Ｏユニットとしては、たとえば、デジタル入力（ＤＩ）ユニット、デジタル出力（ＤＯ）ユニット、アナログ出力（ＡＩ）ユニット、アナログ出力（ＡＯ）ユニット、パルスキャッチ入力ユニット、および、複数の種類を混合させた複合ユニットなどが挙げられる。セーフティＩ／Ｏユニットは、セーフティ制御に係るＩ／Ｏ処理を担当する。
【００４１】
電源ユニット４５０は、制御システム２を構成する各ユニットに対して、所定電圧の電源を供給する。
【００４２】
＜Ｃ．各ユニットのハードウェア構成例＞
次に、本実施の形態に従う制御システム２を構成する各ユニットのハードウェア構成例について説明する。
【００４３】
（ｃ１：制御ユニット１００）
図３は、本実施の形態に従う制御システム２を構成する制御ユニット１００のハードウェア構成例を示す模式図である。図３を参照して、制御ユニット１００は、主たるコンポーネントとして、ＣＰＵ（Central Processing Unit）やＧＰＵ（Graphical Processing Unit）などのプロセッサ１０２と、チップセット１０４と、主記憶装置１０６と、二次記憶装置１０８と、通信コントローラ１１０と、ＵＳＢ（Universal Serial Bus）コントローラ１１２と、メモリカードインターフェイス１１４と、ネットワークコントローラ１１６，１１８，１２０と、内部バスコントローラ１２２と、インジケータ１２４とを含む。
【００４４】
プロセッサ１０２は、二次記憶装置１０８に格納された各種プログラムを読み出して、主記憶装置１０６に展開して実行することで、標準制御に係る制御演算、および、後述するような各種処理を実現する。チップセット１０４は、プロセッサ１０２と各コンポーネントとの間のデータの遣り取りを仲介することで、制御ユニット１００全体としての処理を実現する。
【００４５】
二次記憶装置１０８には、システムプログラムに加えて、システムプログラムが提供する実行環境上で動作する制御プログラムが格納される。
【００４６】
通信コントローラ１１０は、機能ユニット３００との間のデータの遣り取りを担当する。通信コントローラ１１０としては、たとえば、内部バスあるいはＥｔｈｅｒＮｅｔなどに対応する通信チップを採用できる。
【００４７】
ＵＳＢコントローラ１１２は、ＵＳＢ接続を介して任意の情報処理装置との間のデータの遣り取りを担当する。
【００４８】
メモリカードインターフェイス１１４は、メモリカード１１５を着脱可能に構成されており、メモリカード１１５に対して制御プログラムや各種設定などのデータを書込み、あるいは、メモリカード１１５から制御プログラムや各種設定などのデータを読出すことが可能になっている。
【００４９】
ネットワークコントローラ１１６，１１８，１２０の各々は、ネットワークを介した任意のデバイスとの間のデータの遣り取りを担当する。ネットワークコントローラ１１６，１１８，１２０は、ＥｔｈｅｒＣＡＴ（登録商標）、ＥｔｈｅｒＮｅｔ／ＩＰ（登録商標）、ＤｅｖｉｃｅＮｅｔ（登録商標）、ＣｏｍｐｏＮｅｔ（登録商標）などの産業用ネットワークプロトコルを採用してもよい。
【００５０】
内部バスコントローラ１２２は、制御システム２を構成する機能ユニット２００、１または複数の機能ユニット３００、１または複数の機能ユニット４００との間のデータの遣り取りを担当する。内部バスには、メーカ固有の通信プロトコルを用いてもよいし、いずれかの産業用ネットワークプロトコルと同一あるいは準拠した通信プロトコルを用いてもよい。
【００５１】
インジケータ１２４は、制御ユニット１００の動作状態などを通知するものであり、ユニット表面に配置された１または複数のＬＥＤなどで構成される。
【００５２】
図３には、プロセッサ１０２がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路（たとえば、ＡＳＩＣ（Application Specific Integrated Circuit）またはＦＰＧＡ（Field-Programmable Gate Array）など）を用いて実装してもよい。あるいは、制御ユニット１００の主要部を、汎用的なアーキテクチャに従うハードウェア（たとえば、汎用パソコンをベースとした産業用パソコン）を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のＯＳ（Operating System）を並列的に実行させるとともに、各ＯＳ上で必要なアプリケーションを実行させるようにしてもよい。
【００５３】
（ｃ２：機能ユニット２００）
図４は、本実施の形態に従う制御システム２を構成する機能ユニット２００のハードウェア構成例を示す模式図である。図４を参照して、機能ユニット２００は、主たるコンポーネントとして、ＣＰＵやＧＰＵなどのプロセッサ２０２と、チップセット２０４と、主記憶装置２０６と、二次記憶装置２０８と、通信コントローラ２１０と、通信インターフェイス２１２と、メモリカードインターフェイス２１４と、ネットワークコントローラ２１６，２１８と、インジケータ２２４とを含む。
【００５４】
プロセッサ２０２は、二次記憶装置２０８に格納された各種プログラムを読み出して、主記憶装置２０６に展開して実行することで、後述するような各種通信機能を実現する。チップセット２０４は、プロセッサ２０２と各コンポーネントとの間のデータの遣り取りを仲介することで、機能ユニット２００全体としての処理を実現する。
【００５５】
二次記憶装置２０８には、システムプログラムに加えて、後述の通信設定情報２３０や、システムプログラムが提供する実行環境上で動作する通信制御プログラム２３２や、後述のアカウント情報２３４や、後述のＵＲＬ変換ルール２３６などの各種データが格納される。
【００５６】
通信コントローラ２１０は、制御ユニット１００や機能ユニット３００との間のデータの遣り取りを担当する。通信コントローラ２１０としては、たとえば、内部バスあるいはＥｔｈｅｒＮｅｔなどに対応する通信チップを採用できる。
【００５７】
通信インターフェイス２１２は、ＵＳＢ接続を介して任意の情報処理装置との間のデータの遣り取りを担当する。
【００５８】
メモリカードインターフェイス２１４は、メモリカード２１５を着脱可能に構成されており、メモリカード２１５に対して制御プログラムや各種設定などのデータを書込み、あるいは、メモリカード２１５から制御プログラムや各種設定などのデータを読出すことが可能になっている。
【００５９】
ネットワークコントローラ２１６，２１８の各々は、ネットワークを介した任意のデバイスとの間のデータの遣り取りを担当する。ネットワークコントローラ２１６，２１８は、ＥｔｈｅｒＮｅｔなどの汎用的なネットワークプロトコルを採用してもよい。一例として、機能ユニット２００は、ネットワークコントローラ２１６またはネットワークコントローラ２１８を介して外部機器５００と通信する。
【００６０】
インジケータ２２４は、機能ユニット２００の動作状態などを通知するものであり、ユニット表面に配置された１または複数のＬＥＤなどで構成される。
【００６１】
図４には、プロセッサ２０２がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路（たとえば、ＡＳＩＣまたはＦＰＧＡなど）を用いて実装してもよい。あるいは、機能ユニット２００の主要部を、汎用的なアーキテクチャに従うハードウェア（たとえば、汎用パソコンをベースとした産業用パソコン）を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のＯＳを並列的に実行させるとともに、各ＯＳ上で必要なアプリケーションを実行させるようにしてもよい。
【００６２】
（ｃ３：機能ユニット３００）
図５は、本実施の形態に従う制御システム２を構成する機能ユニット３００のハードウェア構成例を示す模式図である。図５を参照して、機能ユニット３００は、主たるコンポーネントとして、ＣＰＵやＧＰＵなどのプロセッサ３０２と、チップセット３０４と、主記憶装置３０６と、二次記憶装置３０８と、メモリカードインターフェイス３１４と、内部バスコントローラ３２２と、インジケータ３２４とを含む。
【００６３】
プロセッサ３０２は、二次記憶装置３０８に格納された各種アプリケーションプログラムを読み出して、主記憶装置３０６に展開して実行することで、サーバ機能および各種機能を実現する。チップセット３０４は、プロセッサ３０２と各コンポーネントとの間のデータの遣り取りを仲介することで、機能ユニット３００全体としての処理を実現する。
【００６４】
二次記憶装置３０８には、システムプログラムに加えて、システムプログラムが提供する実行環境上で動作するアプリケーションプログラムや上述の登録情報３３０（図１参照）が格納される。
【００６５】
メモリカードインターフェイス３１４は、メモリカード３１５を着脱可能に構成されており、メモリカード３１５に対してアプリケーションプログラムや各種設定などのデータを書込み、あるいは、メモリカード３１５からアプリケーションプログラムや各種設定などのデータを読出すことが可能になっている。
【００６６】
内部バスコントローラ３２２は、内部バスを介した制御ユニット１００や機能ユニット２００との間のデータの遣り取りを担当する。
【００６７】
インジケータ３２４は、機能ユニット３００の動作状態などを通知するものであり、ユニット表面に配置された１または複数のＬＥＤなどで構成される。
【００６８】
図５には、プロセッサ３０２がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路（たとえば、ＡＳＩＣまたはＦＰＧＡなど）を用いて実装してもよい。あるいは、機能ユニット３００の主要部を、汎用的なアーキテクチャに従うハードウェア（たとえば、汎用パソコンをベースとした産業用パソコン）を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のＯＳを並列的に実行させるとともに、各ＯＳ上で必要なアプリケーションを実行させるようにしてもよい。
【００６９】
＜Ｄ．外部機器５００のハードウェア構成例＞
次に、図６を参照して、外部機器５００のハードウェア構成について順に説明する。図６は、実施の形態に従う情報処理システム１を構成する外部機器５００のハードウェア構成例を示す模式図である。
【００７０】
外部機器５００は、一例として、汎用的なコンピュータアーキテクチャに準じて構成されるコンピュータからなる。外部機器５００は、ＣＰＵやＭＰＵなどのプロセッサ５０２と、主記憶装置５０４と、二次記憶装置５１０と、通信インターフェイス５１１と、Ｉ／Ｏ（Input/Output）インターフェイス５１４と、表示インターフェイス５２０とを含む。これらのコンポーネントは、内部バス５２５を介して互いに通信可能に接続されている。
【００７１】
プロセッサ５０２は、開発支援プログラム５１０Ａやブラウザアプリケーション（図示しない）などの各種の制御プログラムを実行することで外部機器５００の動作を制御する。開発支援プログラム５１０Ａは、制御システム２の制御プログラム（ユーザプログラム）を開発するための環境を提供するプログラムである。プロセッサ５０２は、開発支援プログラム５１０Ａやブラウザアプリケーションなどの各種制御プログラムの実行命令を受け付けたことに基づいて、実行対象の制御プログラムを二次記憶装置５１０から主記憶装置５０４に読み出す。
【００７２】
通信インターフェイス５１１は、他の通信機器との間でネットワークを介してデータを遣り取りする。当該他の通信機器は、たとえば、機能ユニット２００、サーバなどを含む。外部機器５００は、通信インターフェイス５１１を介して、当該他の通信機器から、開発支援プログラム５１０Ａなどの各種制御プログラムをダウンロード可能なように構成されてもよい。
【００７３】
Ｉ／Ｏインターフェイス５１４は、入力デバイス５１５に接続され、入力デバイス５１５からのユーザ操作を示す信号を取り込む。入力デバイス５１５は、典型的には、キーボード、マウス、タッチパネル、タッチパッドなどからなり、ユーザからの操作を受け付ける。なお、図６の例では、外部機器５００および入力デバイス５１５が別体として示されているが、外部機器５００および入力デバイス５１５は、一体的に構成されてもよい。
【００７４】
表示インターフェイス５２０は、ディスプレイ５２１と接続され、プロセッサ５０２などからの指令に従って、ディスプレイ５２１に対して、画像を表示するための画像信号を送出する。ディスプレイ５２１は、たとえば、ＬＣＤ（Liquid Crystal Display）や有機ＥＬ（Electro Luminescence）であり、ユーザに対して各種情報を提示する。ディスプレイ５２１には、開発支援プログラム５１０Ａによって提供される各種画面が表示され得る。なお、図６の例では、外部機器５００およびディスプレイ５２１が別体として示されているが、外部機器５００およびディスプレイ５２１は、一体的に構成されてもよい。
【００７５】
＜Ｅ．情報処理システム１のユニット構成例＞
図７は、情報処理システム１のユニット構成の一例を示す図である。図７を参照して、情報処理システム１のユニット構成の具体例について説明する。
【００７６】
図７に示されるように、情報処理システム１は、制御システム２と、外部機器５００とを含む。制御システム２は、制御ユニット１００と、機能ユニット２００と、機能ユニット３００とを含む。制御ユニット１００と、機能ユニット２００と、機能ユニット３００とは、内部バス１０を介して接続されている。これらのユニットは、内部バス１０を介して互いに通信する。当該通信は、たとえば、仮想Ｅｔｈｅｒｎｅｔによって実現される。
【００７７】
外部ネットワークＮＷ１には、機能ユニット２００および外部機器５００が接続されている。外部機器５００には、ＩＰアドレス「１９２．１６８．２５０．３」が割り当てられている。機能ユニット２００および外部機器５００は、それぞれ、物理的な通信ポートを有し、当該通信ポートを介して外部ネットワークＮＷ１に接続される。
【００７８】
内部ネットワークＮＷ２には、制御ユニット１００、機能ユニット２００、および機能ユニット３００が接続されている。制御ユニット１００には、仮想ＩＰアドレス「１９２．１６８．２５０．１」が割り当てられている。また、制御ユニット１００には、ユニット名「Ｕｎｉｔ  ＃０」が割り当てられている。
【００７９】
機能ユニット２００には、ＩＰアドレス「１９２．１６８．２５０．２」が割り当てられている。また、機能ユニット２００には、ユニット名「Ｕｎｉｔ  ＃１」が割り当てられている。機能ユニット２００は、Ｗｅｂサーバ「Ｗｅｂ１」として機能する。機能ユニット２００には、アプリケーション「Ａｐｐ１１」，「Ａｐｐ１２」がインストールされている。アプリケーション「Ａｐｐ１１」，「Ａｐｐ１２」は、Ｗｅｂサーバ「Ｗｅｂ１」からアクセスされる。
【００８０】
図７の例では、機能ユニット３００は、２つの機能ユニットＵ２，Ｕ３で構成される。機能ユニットＵ２には、仮想ＩＰアドレス「１９２．１６８．２５１．１００」が割り当てられている。また、機能ユニットＵ２には、ユニット名「Ｕｎｉｔ  ＃２」が割り当てられている。機能ユニットＵ２は、Ｗｅｂサーバ「Ｗｅｂ２」として機能する。機能ユニットＵ２には、アプリケーション「Ａｐｐ２１」，「Ａｐｐ２２」がインストールされている。アプリケーション「Ａｐｐ２１」，「Ａｐｐ２２」は、Ｗｅｂサーバ「Ｗｅｂ２」からアクセスされる。
【００８１】
機能ユニットＵ３には、仮想ＩＰアドレス「１９２．１６８．２５１．１０１」が割り当てられている。また、機能ユニットＵ３には、ユニット名「Ｕｎｉｔ  ＃３」が割り当てられている。機能ユニットＵ３は、Ｗｅｂサーバ「Ｗｅｂ３」として機能する。機能ユニットＵ３には、アプリケーション「Ａｐｐ３１」，「Ａｐｐ３２」がインストールされている。アプリケーション「Ａｐｐ３１」，「Ａｐｐ３２」は、Ｗｅｂサーバ「Ｗｅｂ３」からアクセスされる。また、機能ユニットＵ３は、ＳＳＯ（Single Sign On）機能を有し、認証サーバ（マスター）として機能する。
【００８２】
機能ユニット２００は、リバースプロキシ機能を有する。より具体的には、機能ユニット２００は、外部機器５００からアクセス要求を受けたときには、Ｗｅｂサーバとして機能する。そして、機能ユニット２００は、外部機器５００から受けたアクセス要求を書き換え、書き換え後のアクセス要求をアクセス先の機能ユニット３００に送信する。このときには、機能ユニット２００は、クライアントとして機能し、アクセス先の機能ユニット３００がＷｅｂサーバとして機能する。このように、機能ユニット２００は、Ｗｅｂサーバおよびクライアントの両方として機能する。
【００８３】
＜Ｆ．通信設定情報２３０の生成方法＞
機能ユニット２００は、外部機器５００と、機能ユニットＵ２，Ｕ３との間の通信を中継するために、外部機器５００からのアクセス要求をルーティングする必要がある。このような中継機能を実現するために、機能ユニット２００は、ルーティングのための通信設定情報２３０（図４参照）を予め生成しておく。
【００８４】
以下では、図８〜図１０を参照して、通信設定情報２３０の生成方法について説明する。図８は、通信設定情報２３０の生成時における、機能ユニット２００および機能ユニット３００の間のデータフローを示す図である。図８に示される処理は、たとえば、制御ユニット１００の起動時に実行される。
【００８５】
ステップＳ１０において、機能ユニット２００は、機能ユニットＵ２に関する情報（以下、「プロキシ情報」ともいう。）の取得要求を機能ユニットＵ２に送信する。機能ユニットＵ２は、当該取得要求を受けて、自身のプロキシ情報を機能ユニット２００に送信する。
【００８６】
図９は、プロキシ情報の一例を示す図である。プロキシ情報は、たとえば、ドメイン名、ユニット名、ホスト名とを含む。図９の例では、ドメイン名が「ＡＩ」として示され、ユニット名が「＃２」として示され、ホスト名が「Ｕｎｉｔ＿２」として示されている。
【００８７】
ステップＳ１２において、機能ユニット２００は、機能ユニットＵ２から受信したプロキシ情報に基づいて、通信設定情報２３０を更新する。図１０は、通信設定情報２３０の一例を示す図である。ステップＳ１２では、破線２３０Ａに示される情報が、通信設定情報２３０に追加される。これにより、機能ユニットＵ２のアドレス情報（図１０の例では、ホスト名「Ｕｎｉｔ＿２」）が識別子「ｕ２」に対応付けられる。
【００８８】
ホスト名「Ｕｎｉｔ＿２」に対応付けられる識別子「ｕ２」は、機能ユニット２００によって予め定められたルールに従って生成される。好ましくは、機能ユニット２００は、ユーザが機能ユニットＵ２を識別しやすい文字列を識別子として生成する。一例として、当該識別子は、機能ユニットＵ２のドメイン名、機能ユニットＵ２のユニット名、または機能ユニットＵ２のホスト名に基づいて、生成される。
【００８９】
識別子「ｕ２」に対応付けられるアドレス情報は、内部ネットワークＮＷ２内における機能ユニットＵ２のＩＰアドレスを特定できるものであればよく、必ずしもホスト名である必要はない。一例として、識別子「ｕ２」に対応付けられるアドレス情報は、内部ネットワークＮＷ２での機能ユニットＵ２のＩＰアドレス自体であってもよいし、機能ユニットＵ２のドメイン名であってもよい。
【００９０】
ステップＳ２０において、機能ユニット２００は、プロキシ情報の取得要求を機能ユニットＵ３に送信する。機能ユニットＵ３は、当該取得要求を受けて、自身のプロキシ情報を機能ユニット２００に送信する。
【００９１】
ステップＳ２２において、機能ユニット２００は、機能ユニットＵ３から受信したプロキシ情報に基づいて、通信設定情報２３０を更新する。ステップＳ２２では、図１０の破線２３０Ｂに示される情報が、通信設定情報２３０に追加される。これにより、機能ユニットＵ３のアドレス情報（図１０の例では、ホスト名「Ｕｎｉｔ＿３」）が識別子「ｕ３」に対応付けられる。識別子「ｕ３」は、識別子「ｕ２」と同様のルールに従って機能ユニット２００によって生成される。
【００９２】
識別子「ｕ３」に対応付けられるアドレス情報は、内部ネットワークＮＷ２内における機能ユニットＵ３のＩＰアドレスを特定できるものであればよく、必ずしもホスト名である必要はない。一例として、識別子「ｕ３」に対応付けられるアドレス情報は、内部ネットワークＮＷ２での機能ユニットＵ３のＩＰアドレス自体であってもよいし、機能ユニットＵ３のドメイン名であってもよい。
【００９３】
＜Ｇ．ユーザ認証処理＞
ＳＧＵとしての機能ユニットＵ３は、制御システム２を構成する各種ユニットについてのユーザアカウントを一元的に管理する。すなわち、外部機器５００から制御システム２の各ユニットにアクセスがあった場合には、機能ユニットＵ３がユーザ認証処理を行う。
【００９４】
以下では、図１１〜図１６を参照して、機能ユニットＵ３によるユーザ認証処理について説明する。図１１は、ユーザ認証処理時における、機能ユニット２００と、機能ユニット３００の一例である機能ユニットＵ３と、外部機器５００との間のデータフローを示す図である。図１１に示される処理は、たとえば、制御ユニット１００の起動後に実行される。
【００９５】
ステップＳ３０において、外部機器５００は、機能ユニット２００へのアクセス要求をユーザから受けたとする。本ステップでは、たとえば、外部機器５００は、各機能ユニットのアプリケーションにアクセスするためのポータルサイトの表示要求を受けたとする。
【００９６】
外部機器５００は、ポータルサイトの表示要求をユーザから受けたことに基づいて、ポータルサイトへのアクセス要求を機能ユニット２００に送信する。ステップＳ３０の時点では、アクセス許可を示すトークンが発行されていないため、外部機器５００は、アクセス要求をトークンなしに機能ユニット２００に送信する。機能ユニット２００は、外部機器５００からアクセス要求を受信したことに基づいて、ログインページのＵＲＬを外部機器５００に送信し、ログインページにリダイレクトさせる。
【００９７】
ステップＳ３２において、外部機器５００は、機能ユニット２００から受信したＵＲＬに基づいて、ログインページへのアクセス要求を機能ユニット２００に送信する。機能ユニット２００は、外部機器５００から受信したアクセス要求に含まれるＵＲＬを取得し、当該ＵＲＬを書き換える。すなわち、ステップＳ３２では、機能ユニット２００は、リバースプロキシサーバーとして機能する。図１２は、ＵＲＬの書き換え処理を概略的に示す図である。
【００９８】
図１２には、外部機器５００からのアクセス要求４０ＡがＵＲＬ「http://192.168.250.2/u3/login.php」として示されている。アクセス要求４０Ａに示される「192.168.250.2」は、機能ユニット２００のＩＰアドレスを示す。アクセス要求４０Ａに示される「u3」は、アクセス先のユニットの識別子を示す。
【００９９】
機能ユニット２００の通信部１５０は、外部機器５００からアクセス要求４０Ａを受信したことに基づいて、アクセス要求４０Ａに含まれる識別子「u3」を取得する。次に、通信部１５０は、上述の図１０で説明した通信設定情報２３０を参照して、識別子「u3」に対応するアドレス情報を取得する。その結果、内部ネットワークＮＷ２で有効なアドレス情報「unit_3」が特定される。その後、通信部１５０は、アクセス要求４０Ａを書き換え、アドレス情報「unit_3」を含むアクセス要求４０Ｂを生成する。
【０１００】
より具体的には、通信部１５０は、アクセス要求４０Ａに含まれる識別子「u3」を、当該識別子「u3」に対応するアドレス情報「unit_3」に置き換えることで、アクセス要求４０Ｂを生成する。このとき、アクセス要求４０Ａに含まれるドメイン「192.168.250.2」（すなわち、宛先情報）を削除する。これにより、アクセス要求４０Ａ「http://192.168.250.2/u3/App31/index.php」がアクセス要求４０Ｂ「http://unit_3/login.php」に書き換えられ、宛先が機能ユニット２００から機能ユニットＵ３に変えられる。通信部１５０は、書き換え後のアクセス要求４０Ｂを機能ユニットＵ３に送信する。
【０１０１】
再び図１１を参照して、ステップＳ３３において、機能ユニットＵ３は、ログインページをＨＴＭＬ（HyperText Markup Language）文書で機能ユニット２００に送信する。機能ユニット２００は、機能ユニットＵ３からログインページを受信したことに基づいて、当該ログインページを外部機器５００に送信する。
【０１０２】
ステップＳ３４において、外部機器５００は、機能ユニット２００から受信したログインページをディスプレイ５２１に表示する（図６参照）。図１３は、外部機器５００に表示される画面の一例を示す図である。図１３には、外部機器５００に表示される画面の一例として、ログインページ７００が示されている。ログインページ７００は、ユーザＩＤやパスワードなどのログイン情報（アカウント情報）の入力を受け付ける。ログインページ７００のログインボタンが押下された場合には、入力されたログイン情報が機能ユニット２００に送信される。ログインページ７００のキャンセルボタンが押下された場合には、入力されたログイン情報が破棄され、ログインページ７００が閉じられる。
【０１０３】
ステップＳ３６において、ログインページ７００のログインボタンが押下されたとする。これにより、外部機器５００は、ログインページ７００に入力されたログイン情報を機能ユニット２００に送信する。その後、機能ユニット２００は、ステップＳ３２と同様にリバースプロキシサーバーとして機能し、外部機器５００から受信したログイン情報を機能ユニットＵ３に送信する。
【０１０４】
外部機器５００は、機能ユニット２００からログイン情報を受信したことに基づいて、上述の登録情報３３０（図１参照）を参照して、当該ログイン情報の認証処理を実行する。図１４は、登録情報３３０のデータ構造の一例を示す図である。図１４に示されるように、登録情報３３０には、ユーザＩＤ別に、ユーザ名と、アクセス権と、パスワードとが関連付けられている。機能ユニットＵ３は、機能ユニット２００から受信したログイン情報に含まれるユーザＩＤをキーとして、当該ユーザＩＤに対応するパスワードを登録情報３３０から取得する。次に、機能ユニットＵ３は、登録情報３３０から取得したパスワードと、機能ユニット２００から受信したログイン情報に含まれるパスワードとを比較する。これらのパスワードが一致する場合、機能ユニットＵ３は、機能ユニット２００から受信したログイン情報が登録情報３３０に登録されていると判断する。
【０１０５】
再び図１１を参照して、ステップＳ３７において、機能ユニットＵ３は、機能ユニット２００から受信したログイン情報が登録情報３３０に登録されていると判断したとする。この場合、機能ユニットＵ３は、アクセスを許可するためのトークンを発行する。図１１の例では、「token1」が発行されている。このとき、機能ユニットＵ３は、ユーザＩＤやアクセス権などのアカウント情報に対応付けて、発行した「token1」を登録情報３３０に記憶する。「token1」は、たとえば、乱数であり、一定期間だけ有効となる。外部機器５００は、発行した「token1」を機能ユニット２００に送信する。機能ユニット２００は、外部機器５００から受信した「token1」を外部機器５００に送信する。
【０１０６】
ステップＳ３８において、外部機器５００は、各機能ユニット（または各アプリケーション）へのリンク先を含むポータルサイトの表示要求を機能ユニット２００に再び送信する。このとき、外部機器５００は、機能ユニット２００から受信した「token1」も機能ユニット２００に送信する。
【０１０７】
ステップＳ４０において、機能ユニット２００は、外部機器５００から受信した「token1」と、アカウント情報の取得要求とを機能ユニットＵ３に送信する。これにより、機能ユニットＵ３は、「token1」が不正でないか、「token1」が期限切れでないかなど、「token1」の有効性を判断する。機能ユニットＵ３は、「token1」が有効であると判断した場合、登録情報３３０を参照して、機能ユニット２００から受信した「token1」に対応するアカウント情報を取得し、当該アカウント情報を機能ユニット２００に送信する。
【０１０８】
ステップＳ５０において、機能ユニット２００は、ステップＳ４０で機能ユニットＵ３から受信したアカウント情報を「token1」に対応付けて記憶する。
【０１０９】
図１５は、ステップＳ５０で記憶されるアカウント情報２３４を示す図である。図１５に示されるように、アカウント情報２３４は、ユーザのアカウント名と、ユーザ名と、当該ユーザに与えられているアクセス権とを含む。これらの情報が、「token1」に対応付けられる。
【０１１０】
ステップＳ５２において、機能ユニット２００は、ステップＳ３８でのアクセス要求に対する応答を生成する。図１６は、生成される応答の一例であるリンク情報３０を示す図である。リンク情報３０は、ポータルサイトを規定するＨＴＭＬ文書である。
【０１１１】
リンク情報３０は、上述の通信設定情報２３０（図１０参照）に基づいて生成される。より具体的には、機能ユニット２００は、自身のＩＰアドレスと、通信設定情報２３０に規定される各ユニットの識別子とに基づいて、リンク情報３０を生成する。図１２の例では、機能ユニット２００のＩＰアドレス「１９２．１６８．２５０．２」と、通信設定情報２３０に規定される機能ユニットＵ３の識別子「ｕ３」とに基づいて、外部ネットワークＮＷ１で有効なＵＲＬ「http://192.168.250.2/u3/App31/index.php」が生成されている。当該ＵＲＬに示される「App31」は、機能ユニットＵ３内のアプリケーションの識別子である。機能ユニット２００は、このようなＵＲＬを制御システム２の各ユニット内の各アプリケーションについて生成し、リンク情報３０に書き込む。
【０１１２】
ステップＳ５２において、機能ユニット２００は、生成したリンク情報３０を外部機器５００に送信する。
【０１１３】
ステップＳ５４において、外部機器５００は、受信したリンク情報３０に基づいてポータルサイトを構成し、当該ポータルサイトをディスプレイ５２１（図６参照）に表示する。図１３には、外部機器５００に表示されるポータルサイト７１０の例が示されている。
【０１１４】
ポータルサイト７１０には、各ユニットへのリンクがハイパーリンクで示される。図１３の例では、機能ユニット３００の一例である機能ユニットＵ２へのリンクがハイパーリンク７１０Ａとして示され、機能ユニット２００のアプリケーションへのリンクがハイパーリンク７１０Ｂとして示されている。
【０１１５】
ステップＳ６０において、ポータルサイト７１０のハイパーリンク７１０Ｂが選択されたとする。これにより、外部機器５００は、選択されたハイパーリンク７１０Ｂに応じたアクセス要求を機能ユニット２００に送信する。このとき、外部機器５００は、既に発行されている「token1」も機能ユニット２００に送信する。
【０１１６】
外部機器５００から受信した「token1」は、ステップＳ５０で機能ユニット２００のアカウント情報２３４に既に登録されているため、機能ユニット２００は、上述のステップＳ４０でのアカウント取得処理を実行することなしに、ステップＳ６０でのアクセス要求に応じた応答を外部機器５００に送信する。
【０１１７】
ステップＳ６２において、外部機器５００は、機能ユニット２００から受信した応答に基づいて、ハイパーリンク７１０Ｂに対応するサイト（ホームページ）を表示する。図１３には、ステップＳ６２で表示されるサイト７２０の例が示されている。
【０１１８】
なお、ある機能ユニット（たとえば、機能ユニット２００）について発行された「token1」は、他の機能ユニット（たとえば、機能ユニットＵ２，Ｕ３）でも有効となる。一例として、機能ユニット２００のアクセス時に「token1」が発行されており、外部機器５００は、機能ユニットＵ２へのアクセス要求をユーザから受けたとする。
【０１１９】
この場合、まず、外部機器５００は、機能ユニットＵ２（第３機能ユニット）へのアクセス要求を、中継ユニットである機能ユニット２００（第１機能ユニット）に送信する。このとき、外部機器５００は、既に発行されている「token1」も中継ユニットに送信する。中継ユニットは、アクセス要求とともに「token1」を外部機器５００から受信した場合、「token1」がアカウント情報２３４に既に登録されているか否かを判断する。中継ユニットは、「token1」がアカウント情報２３４に既に登録されていると判断した場合、ユーザ認証なしに、機能ユニットＵ２へのアクセスを許可する。その後、機能ユニットＵ２は、機能ユニットＵ２内におけるアクセス先の情報を取得し、当該取得した情報を中継ユニットを介して外部機器５００に送信する。このように、ある機能ユニットへのアクセス時に発行された「token1」が、他の機能ユニットのアクセス時にも流用されると、ユーザは、ログイン処理を都度行う必要がなくなる。
【０１２０】
＜Ｈ．情報処理システム１の制御フローの変形例１＞
上述の図１１の例では、ログインユーザに与えられているアクセス権によらず、同じポータルサイト７１０がステップＳ５４で表示されていた。これに対して、本変形例では、外部機器５００は、ログインユーザのアクセス権に応じて、ポータルサイト７１０の表示内容を変える。
【０１２１】
以下では、図１７〜図１９を参照して、ポータルサイト７１０の表示内容が、外部機器５００Ａへのログインユーザと、外部機器５００Ｂへのログインユーザとで異なる例について説明する。
【０１２２】
図１７は、機能ユニットＵ３による認証処理時における、機能ユニット２００と、機能ユニット３００の一例である機能ユニットＵ３と、外部機器５００Ａ，５００Ｂとの間のデータフローを示す図である。
【０１２３】
ステップＳ７０において、外部機器５００Ａについてのユーザ認証処理と、外部機器５００Ｂについてのユーザ認証処理とが行われる。ユーザ認証処理については、上述の図１１のステップＳ３０，Ｓ３２，Ｓ３３，Ｓ３４，Ｓ３６，Ｓ３７，Ｓ３８で説明した通りである。すなわち、ステップＳ７０において、外部機器５００Ａおよび外部機器５００Ｂのそれぞれについて、上述の図１１のステップＳ３０，Ｓ３２，Ｓ３３，Ｓ３４，Ｓ３６，Ｓ３７，Ｓ３８の処理が実行される。その結果、機能ユニットＵ３は、外部機器５００Ａに対しては「token1」を発行し、外部機器５００Ｂに対しては「token2」を発行したとする。
【０１２４】
ステップＳ８０において、機能ユニット２００は、外部機器５００Ａから受信した「token1」と、アカウント情報の取得要求とを機能ユニットＵ３に送信する。機能ユニットＵ３は、これらを受信したことに基づいて、上述の登録情報３３０（図１４参照）を参照して、「token1」に対応するアカウント情報を取得する。その後、機能ユニットＵ３は、取得したアカウント情報を機能ユニット２００に送信する。
【０１２５】
ステップＳ８２において、機能ユニット２００は、機能ユニットＵ３から受信したアカウント情報を「token1」に対応付けて記憶する。図１８は、機能ユニット２００に記憶されるアカウント情報２３４の一例を示す図である。ステップＳ８２では、破線２３４Ａに示される情報が、アカウント情報２３４に追加される。アカウント情報２３４に追加される情報は、たとえば、ユーザのアカウント名と、ユーザ名と、当該ユーザに与えられているアクセス権とを含む。これらのアカウント情報が「token1」に対応付けられる。
【０１２６】
ステップＳ９０において、機能ユニット２００は、外部機器５００Ｂから受信した「token2」と、アカウント情報の取得要求とを機能ユニットＵ３に送信する。機能ユニットＵ３は、これらを受信したことに基づいて、上述の登録情報３３０（図１４参照）を参照して、「token2」に対応するアカウント情報を取得する。その後、機能ユニットＵ３は、取得したアカウント情報を機能ユニット２００に送信する。
【０１２７】
ステップＳ９２において、機能ユニット２００は、機能ユニットＵ３から受信したアカウント情報を「token2」に対応付けて記憶する。ステップＳ９２では、図１８の破線２３４Ｂに示される情報が、アカウント情報２３４に追加される。アカウント情報２３４に追加される情報は、たとえば、ユーザのアカウント名と、ユーザ名と、当該ユーザに与えられているアクセス権とを含む。これらのアカウント情報が「token2」に対応付けられる。
【０１２８】
ステップＳ１００において、外部機器５００Ａは、アクセス要求として、ポータルサイト７１０のＵＲＬを機能ユニット２００に送信する。このとき、外部機器５００Ａは、外部機器５００Ａについて発行されている「token1」も機能ユニット２００に送信する。
【０１２９】
機能ユニット２００は、ポータルサイト７１０のＵＲＬと、「token1」とを外部機器５００Ａから受信したことに基づいて、当該ＵＲＬに対する応答を生成する。このとき、機能ユニット２００は、外部機器５００Ａのユーザのアクセス権に応じて、外部機器５００Ａから受信したＵＲＬを変換する。
【０１３０】
ＵＲＬの変換は、たとえば、図１９に示されるＵＲＬ変換ルール２３６に基づいて行われる。図１９は、ＵＲＬ変換ルール２３６の一例を示す図である。ＵＲＬ変換ルール２３６には、ＨＴＭＬの表示ファイル名がアクセス権別に規定されている。表示ファイルと、アクセス権との対応関係は、予め規定されていてもよいし、ユーザによって任意に変更されてもよい。
【０１３１】
より具体的には、まず、機能ユニット２００は、上述のアカウント情報２３４（図１８参照）を参照して、「token1」に対応するアクセス権を取得する。図１８の例では、アクセス権「Admin」が取得される。次に、機能ユニット２００は、ＵＲＬ変換ルール２３６を参照して、アクセス権「Admin」に対応する表示ファイル名を取得する。図１９の例では、「AdminTop.html」が取得される。その後、機能ユニット２００は、外部機器５００Ａから受信したＵＲＬの表示ファイル名を「AdminTop.html」に変換する。そして、機能ユニット２００は、変換後のＵＲＬにアクセスし、対応するＨＴＭＬファイルを外部機器５００Ａに送信する。これにより、アクセス先が外部機器５００Ａのログインユーザに与えられているアクセス権に応じて変更される。
【０１３２】
ステップＳ１０２において、外部機器５００Ａは、機能ユニット２００から受信したＨＴＭＬファイルに基づいて、アクセス権「Admin」用のポータルサイト７１０を表示する。
【０１３３】
ステップＳ１１０において、外部機器５００Ｂは、アクセス要求として、ポータルサイト７１０のＵＲＬを機能ユニット２００に送信する。このとき、外部機器５００Ｂは、外部機器５００Ｂについて発行されている「token2」も機能ユニット２００に送信する。
【０１３４】
機能ユニット２００は、ポータルサイト７１０のＵＲＬと、「token2」とを外部機器５００Ｂから受信したことに基づいて、当該ＵＲＬに対する応答を生成する。このとき、機能ユニット２００は、外部機器５００Ｂのユーザのアクセス権に応じて、外部機器５００Ｂから受信したＵＲＬを変換する。
【０１３５】
ＵＲＬの変換は、たとえば、図１９に示されるＵＲＬ変換ルール２３６に基づいて行われる。より具体的には、まず、機能ユニット２００は、アカウント情報２３４（図１８参照）を参照して、「token2」に対応するアクセス権を取得する。図１８の例では、アクセス権「Operator」が取得される。次に、機能ユニット２００は、ＵＲＬ変換ルール２３６を参照して、アクセス権「Operator」に対応する表示ファイル名を取得する。図１９の例では、「OperatorTop.html」が取得される。その後、機能ユニット２００は、外部機器５００Ｂから受信したＵＲＬの表示ファイル名を「OperatorTop.html」に変換する。そして、機能ユニット２００は、変換後のＵＲＬにアクセスし、対応するＨＴＭＬファイルを外部機器５００Ｂに送信する。これにより、アクセス先が外部機器５００Ｂのログインユーザに与えられているアクセス権に応じて変更される。
【０１３６】
ステップＳ１１２において、外部機器５００Ｂは、機能ユニット２００から受信したＨＴＭＬファイルに基づいて、アクセス権「Operator」用のポータルサイト７１０を表示する。
【０１３７】
以上のように、機能ユニットＵ３は、外部機器５００からユーザアカウントを受信したことに基づいて、アカウント情報２３４を参照して、当該ユーザアカウントに対応付けられているアクセス権を特定し、機能ユニット２００にトークンを送信する際に、当該特定したアクセス権を機能ユニット２００にさらに送信する。機能ユニット２００は、外部機器５００からアクセス要求を受信した場合には、外部機器５００のログインユーザのアクセス権に応じた情報を外部機器５００に送信する。これにより、機能ユニット２００は、ユーザに与えられているアクセス権に応じて、提供する情報を変えることが可能になる。
【０１３８】
＜Ｉ．情報処理システム１の制御フローの変形例２＞
上述の図１７の例では、ログインしたユーザに与えられているアクセス権に応じて、ポータルサイト７１０の表示内容が変えられていた。これに対して、本変形例では、制御システム２の現在の動作モードに応じてもポータルサイト７１０の表示内容が変えられる。
【０１３９】
制御システム２の動作モードは、通常モードの他に、制御システム２がメンテナンス中であることを示すメンテナンスモードを含む。制御システム２の動作モードは、制御システム２のメンテナンスが開始したことを示す予め定められた条件が満たされた場合に、動作モードをメンテナンスモードに遷移させる。当該予め定められた条件は、たとえば、制御システム２に物理的なキーが差し込まれた場合や、メンテナンス用のパスワードが制御システム２に入力された場合や、メンテナンスモードへの移行操作が行われた場合に満たされる。
【０１４０】
以下では、図２０〜図２４を参照して、ポータルサイト７１０の表示内容がメンテナンスモードにおいて変えられる例について説明する。
【０１４１】
図２０は、メンテナンスモード時における、機能ユニット２００と、機能ユニット３００の一例である機能ユニットＵ３と、外部機器５００Ａ，５００Ｂとの間のデータフローを示す図である。なお、図２０に示されるステップＳ１１０Ａ，Ｓ１１２Ａ以外の処理については、図１７で説明した通りであるので、それらの説明については繰り返さない。
【０１４２】
制御システム２の動作モードがメンテナンスモードである場合には、予め定められた種類のアクセス権が、予め定められた他の種類のアクセス権に書き換えられる。当該アクセス権を書き換える主体は、機能ユニット２００であってもよいし、機能ユニットＵ３であってもよい。
【０１４３】
図２１は、機能ユニットＵ３がアクセス権を書き換える例を説明するための図である。図２１には、アクセス権が書き換えられた登録情報３３０を示す図である。登録情報３３０は、たとえば、機能ユニットＵ３の二次記憶装置３０８に格納されている。図２１に示されるように、メンテナンスモード中においては、機能ユニットＵ３は、たとえば、登録情報３３０に規定される予め定められた種類のアクセス権「Operator」を「Maintainer」に書き換える。
【０１４４】
これにより、図２０のステップＳ９０において、機能ユニットＵ３が登録情報３３０から「token2」に対応するアカウント情報を取得するときに、アクセス権として「Maintainer」を取得することになる。これにより、ステップＳ１１０Ａにおいて、機能ユニット２００は、アクセス権「Maintainer」に応じた情報を外部機器５００Ｂに送信する。
【０１４５】
より具体的には、ステップＳ１１０Ａにおいて、外部機器５００Ｂは、アクセス要求として、ポータルサイト７１０のＵＲＬを機能ユニット２００に送信する。このとき、外部機器５００Ｂは、外部機器５００Ｂについて発行されている「token2」も機能ユニット２００に送信する。機能ユニット２００は、ポータルサイト７１０のＵＲＬと、「token2」とを外部機器５００Ｂから受信したことに基づいて、当該ＵＲＬに対する応答を生成する。このとき、機能ユニット２００は、外部機器５００Ｂのユーザのアクセス権に応じて、外部機器５００Ｂから受信したＵＲＬを変換する。
【０１４６】
ＵＲＬの変換は、たとえば、図２２に示されるＵＲＬ変換ルール２３６に基づいて行われる。図２２は、メンテンナンスモード中におけるＵＲＬ変換ルール２３６を示す図である。
【０１４７】
機能ユニット２００は、ＵＲＬ変換ルール２３６を参照して、アクセス権「Maintainer」に対応する表示ファイル名を取得する。図２２の例では、「MaintainerTop.html」が取得される。その後、機能ユニット２００は、外部機器５００Ｂから受信したＵＲＬの表示ファイル名を「MaintainerTop.html」に変換する。これにより、所定の種類のアクセス権については、メンテナンスモード時において、アクセス先が変更される。そして、機能ユニット２００は、変換後のＵＲＬにアクセスし、対応するＨＴＭＬファイルを外部機器５００Ｂに送信する。
【０１４８】
ステップＳ１１２Ａにおいて、外部機器５００Ｂは、機能ユニット２００から受信したＨＴＭＬファイルに基づいて、アクセス権「Maintainer」用のポータルサイト７１０を表示する。
【０１４９】
なお、上述では、機能ユニットＵ３が登録情報３３０に規定されるアクセス権を「Maintainer」に書き換る例について説明を行ったが、アクセス権を書き換える主体は、機能ユニットＵ３でなくてもよい。一例として、アクセス権の書き換えは、機能ユニット２００によって行われてもよい。この場合、機能ユニット２００は、上述のアカウント情報２３４に規定されるアクセス権を「Maintainer」に書き換える。
【０１５０】
図２３は、メンテンナンスモード中におけるアカウント情報２３４を示す図である。アカウント情報２３４は、たとえば、機能ユニット２００の二次記憶装置２０８に格納されている。図２３に示されるように、機能ユニット２００は、メンテナンスモード中においては、アカウント情報２３４に規定される所定種類のアクセス権「Operator」を「Maintainer」に書き換える。また、機能ユニット２００は、アクセス権「Maintainer」の有効期限をアカウント情報２３４に書き込む。
【０１５１】
その後、ステップＳ１１０Ａにおいて、機能ユニット２００は、アカウント情報２３４を参照して、アクセス権「Maintainer」に応じた情報を外部機器５００Ｂに送信する。
【０１５２】
以上のように、制御システム２の動作モードがメンテナンスモードである場合には、登録情報３３０に規定される所定種類のアクセス権が「Maintainer」に書き換えられたり、あるいは、アカウント情報２３４に規定される所定種類のアクセス権が「Maintainer」に書き換えられたりする。「Maintainer」に書き換えられたアクセス権は、制御システム２のメンテナンスが終了したことを示す予め定められた終了条件が満たされた場合に、書き換え前のアクセス権に自動で戻される。アクセス権を元に戻す主体は、機能ユニット２００であってもよいし、機能ユニットＵ３であってもよい。
【０１５３】
メンテナンスモードの終了条件が満たされた否かは、種々の方法で判断される。一例として、アクセス権「Maintainer」について設定されている有効期限が切れたことに基づいて、メンテナンスモードの終了条件が満たされたと判断される。あるいは、制御システム２に差し込まれた物理的なキーが抜かれたことに基づいて、メンテナンスモードの終了条件が満たされたと判断される。あるいは、ユーザがメンテナンスの終了操作を行ったことに基づいて、メンテナンスモードの終了条件が満たされたと判断される。
【０１５４】
＜Ｊ．情報処理システム１の装置構成の変形例１＞
図２４は、変形例に従う情報処理システム１Ａのユニット構成を示す図である。図２４を参照して、変形例に従う情報処理システム１Ａのユニット構成について説明する。
【０１５５】
上述の図７では、情報処理システム１を構成する各ユニットは、内部バス１０を介して接続されていた。これに対して、本変形例に従う情報処理システム１Ａでは、各ユニットは、通信ポートを介して内部ネットワークＮＷ２に接続される。すなわち、本変形例においては、各ユニットは、物理的に離れた場所に設置される。このようなユニット構成であっても、本発明の趣旨を逸脱するものではない。
【０１５６】
＜Ｋ．情報処理システム１の装置構成の変形例２＞
図２５は、変形例に従う情報処理システム１Ｂのユニット構成を示す図である。図２５を参照して、変形例に従う情報処理システム１Ｂのユニット構成について説明する。
【０１５７】
上述の図７に示される情報処理システム１においては、機能ユニット２００のみが、外部ネットワークＮＷ１に接続されていた。これに対して、本変形例に従う情報処理システム１Ｂにおいては、機能ユニット２００だけでなく、他のユニットも外部ネットワークＮＷ１に接続される。すなわち、本変形例においては、機能ユニット２００だけでなく、他の機能ユニットも、外部機器５００と直接的に通信し得る。このようなユニット構成であっても、本発明の趣旨を逸脱するものではない。
【０１５８】
図２５の例では、機能ユニット２００が外部機器５００と直接的に接続されているだけでなく、機能ユニットＵ３も外部機器５００と直接的に接続されている。すなわち、外部機器５００から機能ユニットＵ３への通信経路は、機能ユニット２００を介する通信経路Ｒ１と、機能ユニット２００を介さない通信経路Ｒ２とが存在する。
【０１５９】
このような複数の通信経路が存在することで、各アプリケーションへのアクセスの許可／禁止が、通信経路に応じて切り替えられる。一例として、機能ユニットＵ３のアプリケーション「Ａｐｐ３１」については、通信経路Ｒ２での通信が禁止され、通信経路Ｒ１での通信のみが許可される。一方で、機能ユニットＵ３のアプリケーション「Ａｐｐ３２」については、通信経路Ｒ１での通信が禁止され、通信経路Ｒ２での通信のみが許可される。
【０１６０】
より具体的には、アクセスの許可／禁止の規定は、通信経路ごと、かつアプリケーションごとに予め規定され、許可／禁止規定として機能ユニット３００の各々で保持される。機能ユニット３００は、機能ユニット２００または外部機器５００からアクセス要求を受信した場合に、当該アクセス要求に含まれるＵＲＬからアクセス元を特定し、当該アクセス元に基づいて通信経路を特定する。その後、機能ユニット３００は、許可／禁止規定を参照して、特定した通信経路について、アクセス先のアプリケーションへのアクセスが許可されているか否かを判断する。
【０１６１】
＜Ｌ．付記＞
以上のように、本実施形態は以下のような開示を含む。
【０１６２】
［構成１］
複数のユニットで構成される制御システム（２）であって、
前記複数のユニットは、
第１ユニット（２００）と、
前記第１ユニット（２００）と通信可能な第２ユニット（３００，Ｕ３）とを備え、
前記第１ユニット（２００）は、当該第１ユニット（２００）と通信可能に構成される外部機器（５００）から当該第１ユニット（２００）へのアクセス要求を受信したことに基づいて、ユーザアカウントの入力を前記外部機器（５００）に要求し、前記外部機器（５００）からユーザアカウントを受信したことに基づいて、当該ユーザアカウントを前記第２ユニット（３００，Ｕ３）に送信し、
前記第２ユニット（３００，Ｕ３）は、登録されたユーザのアカウント情報を規定している登録情報（３３０）を参照して、前記第２ユニット（３００，Ｕ３）から受信したユーザアカウントが登録されているか否かを判断し、前記第２ユニット（３００，Ｕ３）から受信したユーザアカウントが登録されていると判断した場合には、アクセスの許可を示すトークンを前記第１ユニット（２００）に送信し、
前記第１ユニット（２００）は、前記第２ユニット（３００，Ｕ３）から受信した前記トークンを前記外部機器（５００）に送信する、制御システム。
【０１６３】
［構成２］
前記複数のユニットは、第３ユニット（３００，Ｕ２）をさらに備え、
前記第３ユニット（３００，Ｕ２）は、当該第３ユニット（３００，Ｕ２）へのアクセス要求とともに前記トークンを前記外部機器（５００）から受信した場合、当該第３ユニット（３００，Ｕ２）へのアクセスを許可する、構成１に記載の制御システム。
【０１６４】
［構成３］
前記第３ユニット（３００，Ｕ２）は、前記第１ユニット（２００）と通信可能に構成されており、
前記第１ユニット（２００）は、前記第２ユニット（３００，Ｕ３）と前記外部機器（５００）との間の通信を中継するとともに、前記第３ユニット（３００，Ｕ２）と前記外部機器（５００）との間の通信との間の通信を中継する、構成２に記載の制御システム。
【０１６５】
［構成４］
前記アカウント情報に規定される各ユーザアカウントには、アクセス権が対応付けられており、
前記第２ユニット（３００，Ｕ３）は、前記外部機器（５００）からユーザアカウントを受信したことに基づいて、前記アカウント情報を参照して、当該ユーザアカウントに対応付けられているアクセス権を特定し、前記トークンを前記第１ユニット（２００）に送信する際に、当該特定したアクセス権を当該第１ユニット（２００）にさらに送信し、
前記第１ユニット（２００）は、前記第２ユニット（３００，Ｕ３）から受信したアクセス権に応じた情報を前記外部機器（５００）に送信する、構成１〜３のいずれか１項に記載の制御システム。
【０１６６】
［構成５］
前記制御システム（２）の動作モードは、当該制御システム（２）がメンテナンス中であることを示すメンテナンスモードを含み、
前記第１ユニット（２００）または前記第２ユニット（３００，Ｕ３）は、前記制御システム（２）の動作モードが前記メンテナンスモードである場合に、予め定められた種類のアクセス権を、予め定められた他の種類のアクセス権に書き換える、構成４に記載の制御システム。
【０１６７】
［構成６］
前記第１ユニット（２００）または前記第２ユニット（３００，Ｕ３）は、前記制御システム（２）のメンテナンスが終了したことを示す予め定められた条件が満たされた場合に、前記予め定められた他の種類のアクセス権に書き換えられたアクセス権を、書き換え前のアクセス権に戻す、構成５に記載の制御システム。
【０１６８】
［構成７］
複数のユニットで構成される制御システム（２）の制御方法であって、
前記複数のユニットは、
第１ユニット（２００）と、
前記第１ユニット（２００）と通信可能な第２ユニット（３００，Ｕ３）とを備え、
前記制御方法は、
前記第１ユニット（２００）が、当該第１ユニット（２００）と通信可能に構成される外部機器（５００）から当該第１ユニット（２００）へのアクセス要求を受信したことに基づいて、ユーザアカウントの入力を前記外部機器（５００）に要求し、前記外部機器（５００）からユーザアカウントを受信したことに基づいて、当該ユーザアカウントを前記第２ユニット（３００，Ｕ３）に送信するステップ（Ｓ３６）と、
前記第２ユニット（３００，Ｕ３）が、登録されたユーザのアカウント情報を規定している登録情報（３３０）を参照して、前記第２ユニット（３００，Ｕ３）から受信したユーザアカウントが登録されているか否かを判断し、前記第２ユニット（３００，Ｕ３）から受信したユーザアカウントが登録されていると判断した場合には、アクセスの許可を示すトークンを前記第１ユニット（２００）に送信するステップ（Ｓ３７）と、
前記第１ユニット（２００）が、前記第２ユニット（３００，Ｕ３）から受信した前記トークンを前記外部機器（５００）に送信するステップ（Ｓ３７）とを備える、制御方法。
【０１６９】
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【０１７０】
１，１Ａ，１Ｂ  情報処理システム、２  制御システム、１０，５２５  内部バス、３０  リンク情報、４０Ａ，４０Ｂ  アクセス要求、１００  制御ユニット、１０２，２０２，３０２，５０２  プロセッサ、１０４，２０４，３０４  チップセット、１０６，２０６，３０６，５０４  主記憶装置、１０８，２０８，３０８，５１０  二次記憶装置、１１０，２１０  通信コントローラ、１１２  ＵＳＢコントローラ、１１４，２１４，３１４  メモリカードインターフェイス、１１５，２１５，３１５  メモリカード、１１６，１１８，１２０，２１６，２１８  ネットワークコントローラ、１２２，３２２  内部バスコントローラ、１２４，２２４，３２４  インジケータ、１５０  通信部、２００，３００，４００  機能ユニット、２１２，５１１  通信インターフェイス、２３０  通信設定情報、２３０Ａ，２３０Ｂ，２３４Ａ，２３４Ｂ  破線、２３２  通信制御プログラム、２３４  アカウント情報、２３６  ＵＲＬ変換ルール、３３０  登録情報、４５０  電源ユニット、５００，５００Ａ，５００Ｂ  外部機器、５１０Ａ  開発支援プログラム、５１４  Ｉ／Ｏインターフェイス、５１５  入力デバイス、５２０  表示インターフェイス、５２１  ディスプレイ、７００  ログインページ、７１０  ポータルサイト、７１０Ａ，７１０Ｂ  ハイパーリンク、７２０  サイト。
【図１】
2020160934.tif 000003
【図２】
2020160934.tif 000004
【図３】
2020160934.tif 000005
【図４】
2020160934.tif 000006
【図５】
2020160934.tif 000007
【図６】
2020160934.tif 000008
【図７】
2020160934.tif 000009
【図８】
2020160934.tif 000010
【図９】
2020160934.tif 000011
【図１０】
2020160934.tif 000012
【図１１】
2020160934.tif 000013
【図１２】
2020160934.tif 000014
【図１３】
2020160934.tif 000015
【図１４】
2020160934.tif 000016
【図１５】
2020160934.tif 000017
【図１６】
2020160934.tif 000018
【図１７】
2020160934.tif 000019
【図１８】
2020160934.tif 000020
【図１９】
2020160934.tif 000021
【図２０】
2020160934.tif 000022
【図２１】
2020160934.tif 000023
【図２２】
2020160934.tif 000024
【図２３】
2020160934.tif 000025
【図２４】
2020160934.tif 000026
【図２５】
2020160934.tif 000027