(57)【要約】【課題】グループに属するデバイスの単位で個別に制御フローを定義できる情報処理装置を提供すること。【解決手段】グループに属するデバイスからネットワークを介して送信されたデータに基づき、グループに属するデバイスの処理を有効な制御フローにより制御する情報処理装置であって、デバイスの処理が許可又は禁止されるユーザが設定されたポリシーデータをグループ単位で記憶する手段と、条件と該条件を満たした場合に実行されるデバイスの処理とを対応付ける制御フローを、グループ単位で記憶する手段と、制御フローの実施を要求したユーザが、実施を要求された制御フローの条件を満たした場合に実行されるデバイスの処理がポリシーデータにおいて許可されているか、又は、禁止されていなければ、制御フローを有効にすることで、有効になった制御フローに基づいてグループ単位でデバイスの処理を制御する手段と、を有することにより上記課題を解決する。【選択図】  図１
2018092219.tif 000002
【特許請求の範囲】
【請求項１】
グループに属する１つ以上のデバイスからネットワークを介して送信されたデータに基づき、前記グループに属する１つ以上の前記デバイスの処理を有効な制御フローにより制御する情報処理装置であって、
前記デバイスの処理が許可されるユーザ又は該処理が禁止されるユーザの少なくとも一方が設定されたポリシーデータを、前記グループ単位で記憶するポリシーデータ記憶手段と、
条件と、該条件を満たした場合に実行される前記デバイスの処理と、を対応付ける制御フローを、前記グループ単位で記憶する制御フロー記憶手段と、
前記制御フローの実施を要求したユーザが、該実施を要求された前記制御フローの前記条件を満たした場合に実行されるデバイスの処理が前記ポリシーデータにおいて許可されているか、又は、禁止されていなければ、前記制御フローを有効にすることで該有効になった制御フローに基づいて前記グループ単位で前記デバイスの処理を制御する制御フロー実施手段と、
を有する情報処理装置。
【請求項２】
作成された前記制御フローを実施する要求を前記ユーザから受け付けた場合に、前記制御フローの実施を要求したユーザが、前記制御フローの前記条件を満たした場合に実行されるデバイス処理が前記ポリシーデータにおいて許可されているか、又は、禁止されていなければ、前記制御フローの前記制御フロー記憶手段への前記制御フローの反映を行う制御フロー管理手段、
を更に有する請求項１記載の情報処理装置。
【請求項３】
前記制御フロー管理手段は、前記ネットワークを介して接続されたサーバ装置から前記グループを包含する組織の前記制御フローを取得して前記制御フロー記憶手段に記憶させること
を特徴とする請求項２記載の情報処理装置。
【請求項４】
前記ネットワークを介して接続された前記グループに属する１つ以上の前記デバイスを検索し、検索した１つ以上の前記デバイスを登録して該デバイスからのデータの受信を開始するデバイス登録手段、
を更に有する請求項１乃至３何れか一項記載の情報処理装置。
【請求項５】
前記ネットワークを介して接続されたサーバ装置から前記ポリシーデータを取得して前記ポリシーデータ記憶手段に記憶させるポリシーデータ管理手段、
を更に有する請求項１乃至４何れか一項記載の情報処理装置。
【請求項６】
前記情報処理装置は、１つ以上の前記デバイスに含まれる１つの前記デバイスを介して前記ネットワークと接続されており、接続された前記デバイスの通信機能を利用して前記ネットワークを介した通信を行うこと
を特徴とする請求項１乃至５何れか一項記載の情報処理装置。
【請求項７】
前記情報処理装置は、１つ以上の前記デバイスに含まれる１つの前記デバイスと接続された操作パネルを利用して前記ユーザから前記制御フローの実施の要求を受け付けること
を特徴とする請求項６記載の情報処理装置。
【請求項８】
前記情報処理装置は、１つ以上の前記デバイスに含まれる１つの前記デバイスと接続された認証装置を利用して前記ユーザの認証を行うこと
を特徴とする請求項６又は７記載の情報処理装置。
【請求項９】
前記情報処理装置は、１つ以上の前記デバイスに含まれる１つの前記デバイスと接続された操作パネルを利用して前記ユーザから前記制御フローの作成の要求を受け付けること
を特徴とする請求項６又は７記載の情報処理装置。
【請求項１０】
前記情報処理装置は、前記ネットワークを介して接続されたユーザ端末を操作する前記ユーザから前記制御フローの作成の要求を受け付けること
を特徴とする請求項６又は７記載の情報処理装置。
【請求項１１】
前記制御フロー実施手段は、前記制御フローの実施を要求したユーザが、該実施を要求された前記制御フローの前記条件を満たした場合に実行されるデバイスの処理が前記ポリシーデータにおいて部分的に禁止されていれば、禁止された処理を除いた前記制御フローを有効にすることで該有効になった制御フローに基づいて前記グループ単位で前記デバイスの処理を制御すること
を特徴とする請求項１乃至１０何れか一項記載の情報処理装置。
【請求項１２】
グループに属する１つ以上のデバイスからネットワークを介して送信されたデータに基づき、前記グループに属する１つ以上の前記デバイスの処理を有効な制御フローにより制御する情報処理装置の制御方法であって、
前記情報処理装置が、
前記デバイスの処理が許可されるユーザ又は該処理が禁止されるユーザの少なくとも一方が設定されたポリシーデータを、前記グループ単位でポリシーデータ記憶手段に記憶するステップと、
条件と、該条件を満たした場合に実行される前記デバイスの処理と、を対応付ける制御フローを、前記グループ単位で制御フロー記憶手段に記憶するステップと、
前記制御フローの実施を要求したユーザが、該実施を要求された前記制御フローの前記条件を満たした場合に実行されるデバイスの処理が前記ポリシーデータにおいて許可されているか、又は、禁止されていなければ、前記制御フローを有効にすることで該有効になった制御フローに基づいて前記グループ単位で前記デバイスの処理を制御するステップと、
を有する制御方法。
【請求項１３】
グループに属する１つ以上のデバイスからネットワークを介して送信されたデータに基づき、前記グループに属する１つ以上の前記デバイスの処理を有効な制御フローにより制御する情報処理装置を、
前記デバイスの処理が許可されるユーザ又は該処理が禁止されるユーザの少なくとも一方が設定されたポリシーデータを、前記グループ単位で記憶するポリシーデータ記憶手段、
条件と、該条件を満たした場合に実行される前記デバイスの処理と、を対応付ける制御フローを、前記グループ単位で記憶する制御フロー記憶手段、
前記制御フローの実施を要求したユーザが、該実施を要求された前記制御フローの前記条件を満たした場合に実行されるデバイスの処理が前記ポリシーデータにおいて許可されているか、又は、禁止されていなければ、前記制御フローを有効にすることで該有効になった制御フローに基づいて前記グループ単位で前記デバイスの処理を制御する制御フロー実施手段、
として機能させるためのプログラム。
【請求項１４】
グループに属する１つ以上の他のデバイスからネットワークを介して送信されたデータに基づき、前記グループに属する１つ以上の前記他のデバイスの処理を有効な制御フローによって制御するデバイスであって、
前記デバイスの処理が許可されるユーザ又は該処理が禁止されるユーザの少なくとも一方が設定されたポリシーデータを、前記グループ単位で記憶するポリシーデータ記憶手段と、
条件と、該条件を満たした場合に実行される前記デバイスの処理と、を対応付ける制御フローを、前記グループ単位で記憶する制御フロー記憶手段と、
前記制御フローの実施を要求したユーザが、該実施を要求された前記制御フローの前記条件を満たした場合に実行されるデバイスの処理が前記ポリシーデータにおいて許可されているか、又は、禁止されていなければ、前記制御フローを有効にすることで該有効になった制御フローに基づいて前記グループ単位で前記デバイスの処理を制御する制御フロー実施手段と、
を有するデバイス。
【請求項１５】
グループに属する１つ以上のデバイスと、前記デバイスからネットワークを介して送信されたデータに基づき、前記グループに属する１つ以上の前記デバイスの処理を有効な制御フローにより制御する情報処理装置と、を有する情報処理システムであって、
前記デバイスの処理が許可されるユーザ又は該処理が禁止されるユーザの少なくとも一方が設定されたポリシーデータを、前記グループ単位で記憶するポリシーデータ記憶手段と、
条件と、該条件を満たした場合に実行される前記デバイスの処理と、を対応付ける制御フローを、前記グループ単位で記憶する制御フロー記憶手段と、
前記制御フローの実施を要求したユーザが、該実施を要求された前記制御フローの前記条件を満たした場合に実行されるデバイスの処理が前記ポリシーデータにおいて許可されているか、又は、禁止されていなければ、前記制御フローを有効にすることで該有効になった制御フローに基づいて前記グループ単位で前記デバイスの処理を制御する制御フロー実施手段と、
を有する情報処理システム。
【請求項１６】
グループに属する１つ以上のデバイスと、前記デバイスからネットワークを介して送信されたデータに基づき、前記グループに属する１つ以上の前記デバイスの処理を有効な制御フローにより制御する情報処理装置と、を有する情報処理システムの制御方法であって、
前記デバイスの処理が許可されるユーザ又は該処理が禁止されるユーザの少なくとも一方が設定されたポリシーデータを、前記グループ単位でポリシーデータ記憶手段に記憶するステップと、
条件と、該条件を満たした場合に実行される前記デバイスの処理と、を対応付ける制御フローを、前記グループ単位で制御フロー記憶手段に記憶するステップと、
前記制御フローの実施を要求したユーザが、該実施を要求された前記制御フローの前記条件を満たした場合に実行されるデバイスの処理が前記ポリシーデータにおいて許可されているか、又は、禁止されていなければ、前記制御フローを有効にすることで該有効になった制御フローに基づいて前記グループ単位で前記デバイスの処理を制御するステップと、
を有する制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、制御方法、プログラム、デバイス及び情報処理システムに関する。
【背景技術】
【０００２】
近年では、ＰＣ（パーソナルコンピュータ）をはじめ、既に世の中に多くの機器（デバイス）がネットワークを介して接続されるようになり、インターネット通信だけでなく、クラウド、Ｗｅｂサービス、ＡＳＰ（Application Service Provider）などと称されるネットワークサービスも拡大しつつある。
【０００３】
その中で、パソコン類以外の機器も含むモノをインターネットに接続するモノのインターネット（ＩｏＴ）が知られるようになった。
【０００４】
例えばコンピュータおよびコンピュータネットワークだけでなく、日常的なモノがＩｏＴ通信ネットワークによって読み取り可能、認識可能、位置特定可能、アドレス指定可能および制御可能であり得るという考えが知られている（例えば特許文献１参照）。
【０００５】
また、通信ネットワークに接続されたマシン同士が人間による操作を介在せずに通信を実行し、適切なマシンの制御などを自動的に実行するマシン間（Ｍ２Ｍ）通信も知られている。従来のマシン間通信では、マシン間通信を行うデバイス（Ｍ２Ｍデバイス）から通信ネットワークを経由して送信されたデータを格納するとともに、そのデータに基づいたサービスの実行環境を提供していた（例えば特許文献２参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
このように世の中の様々な機器がネットワークを介して接続されるシステム形態の一例としてＩｏＴやマシン間通信がある。従来、ＩｏＴを実現するためにネットワークに接続されるデバイス（ＩｏＴデバイス）はマシン間通信により連携制御が行われていた。このようなＩｏＴデバイスが連携して行う一連の動作は、制御フローとして会社などの組織単位で定義されている場合がある。しかし、ＩｏＴデバイスが連携して行う一連の動作は制御フローとして会社などの組織単位で定義されている場合に、例えばあるオフィス内に配置されたＩｏＴデバイスなど、特定のグループに属するＩｏＴデバイスの単位で個別に定義できなかった。
【０００７】
本発明の実施の形態は、グループに属するデバイスの単位で個別に制御フローを定義できる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記した課題を達成するために本願請求項１は、グループに属する１つ以上のデバイスからネットワークを介して送信されたデータに基づき、前記グループに属する１つ以上の前記デバイスの処理を有効な制御フローにより制御する情報処理装置であって、前記デバイスの処理が許可されるユーザ又は該処理が禁止されるユーザの少なくとも一方が設定されたポリシーデータを、前記グループ単位で記憶するポリシーデータ記憶手段と、条件と、該条件を満たした場合に実行される前記デバイスの処理と、を対応付ける制御フローを、前記グループ単位で記憶する制御フロー記憶手段と、前記制御フローの実施を要求したユーザが、該実施を要求された前記制御フローの前記条件を満たした場合に実行されるデバイスの処理が前記ポリシーデータにおいて許可されているか、又は、禁止されていなければ、前記制御フローを有効にすることで該有効になった制御フローに基づいて前記グループ単位で前記デバイスの処理を制御する制御フロー実施手段と、を有することを特徴とする。
【発明の効果】
【０００９】
本発明の実施の形態によれば、グループに属するデバイスの単位で個別に制御フローを定義できる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施形態に係る情報処理システムの一例の構成図である。
【図２】コンピュータの一例のハードウェア構成図である。
【図３】画像形成装置の一例のハードウェア構成図である。
【図４】ＩｏＴコントローラの一例のハードウェア構成図である。
【図５】本実施形態に係るＩｏＴサーバの一例の処理ブロック図である。
【図６】本実施形態に係る操作パネル及び画像形成装置の一例の処理ブロック図である。
【図７】本実施形態に係るＩｏＴコントローラの一例の処理ブロック図である。
【図８】本実施形態に係るＩｏＴデバイスの一例の処理ブロック図である。
【図９】本実施形態に係るＩｏＴデバイス制御処理の一例のフローチャートである。
【図１０】制御フローの一例の構成図である。
【図１１】ステップＳ１２の処理の一例のフローチャートである。
【図１２】ステップＳ１３の処理の一例のフローチャートである。
【図１３】ＩｏＴデバイス制御ポリシーの一例の構成図である。
【図１４】ステップＳ１３の処理の他の例のフローチャートである。
【図１５】制御フロー作成画面の一例のイメージ図である。
【図１６】第１の実施形態に係る情報処理システムの他の例の構成図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について図面を参照しながら説明する。
［第１の実施形態］
＜システム構成＞
図１は、第１の実施形態に係る情報処理システムの一例の構成図である。図１の情報処理システム１はオフィス内に１台以上のＩｏＴデバイス３０が配置された例である。図１の画像形成装置２２はＩｏＴデバイスの一例である。画像形成装置２２にはＩｏＴコントローラ２４、ＩＣカードリーダ２６及び操作パネル２８が接続されている。
【００１２】
画像形成装置２２及びＩｏＴデバイス３０は、ＬＡＮなどのＩｏＴネットワーク４２を介して接続されている。また、ＩｏＴネットワーク４２は、ファイアウォール２０、インターネットなどのネットワーク４０を介してＩｏＴサーバ１０に接続されている。
【００１３】
ＩｏＴサーバ１０は後述のポリシーデータや制御フローデータをＩｏＴコントローラ２４に提供する。また、ＩｏＴサーバ１０はＩｏＴコントローラ２４から後述のように送信されるレポートデータを記憶する。画像形成装置２２はオフィス内に設置される可能性の高い電子機器の一例である。
【００１４】
画像形成装置２２はレーザプリンタや複合機（マルチファンクションプリンタ）やプロジェクタ、電子黒板、テレビ会議装置、通信機能を備えた産業用又は家庭用機器、通信機能を備えた医療機器などであってもよい。
【００１５】
画像形成装置２２は、ＩＣカードリーダ２６を利用して、ユーザの認証を行うことができる。また、画像形成装置２２は操作パネル２８を利用することで、ユーザに対する情報の表示と、ユーザからの指示の受付とを行うことができる。
【００１６】
ＩｏＴコントローラ２４は画像形成装置２２の通信機能を利用して、ＩｏＴサーバ１０及びＩｏＴデバイス３０と通信を行う。なお、ＩｏＴコントローラ２４は、例えば無線通信モジュールを備えるなど、通信機能を備える構成である場合、ＩｏＴコントローラ２４自身が備える通信機能を利用して、ＩｏＴサーバ１０及びＩｏＴデバイス３０と通信を行うようにしてもよい。
ＩｏＴコントローラ２４は画像形成装置２２に内蔵される拡張ボードの形態や外付けされる形態であってもよいし、画像形成装置２２の付近に設置される筐体の形態であってもよい。
【００１７】
ＩｏＴコントローラ２４はＩｏＴサーバ１０から提供される後述のポリシーデータや制御フローデータを記憶する。ＩｏＴサーバ１０から提供される制御フローデータは例えば会社などの組織全体でＩｏＴデバイス３０の制御を一括管理するためのデータである。
【００１８】
また、ＩｏＴコントローラ２４は画像形成装置２２において後述のように作成される制御フローデータを記憶する。画像形成装置２２において作成される制御フローデータは例えば組織全体に含まれる特定のグループ単位でＩｏＴデバイス３０の制御を個別管理するためのデータである。グループは組織を構成する単位を示す概念である。組織を構成する単位はオフィス等の物理的な場所で示されていてもよいし、部署などの組織間の関係で示されていても良い。
【００１９】
ＩｏＴコントローラ２４はユーザから選択された制御フローを実施することでＩｏＴデバイス３０の処理を制御できる。例えばＩｏＴコントローラ２４はＩｏＴデバイス３０からＩｏＴデバイスデータを受信すると実施中の制御フローの条件に合致しているか否かを判定し、条件に合致した制御フローに従ってＩｏＴデバイス３０を制御する。なお、実施中の制御フローとは制御フローが有効（有効な制御フロー）であることを意味する。
このようにＩｏＴコントローラ２４は同一のオフィス内に設置されたＩｏＴデバイス３０を特定のグループに属するＩｏＴデバイス３０として制御フローにより制御できる。
【００２０】
情報処理システム１は、画像形成装置２２のほか、ネットワーク４２を介して接続されうる様々な機器（デバイス）が適用されうる。本発明の実施形態の説明の便宜上、これらの機器（デバイス）を「ＩｏＴデバイス」と称することとするが、これに限定されるものではない。
【００２１】
本実施形態における「ＩｏＴデバイス」とは、モノのインターネット（ＩｏＴ）を実現する上でネットワークに接続されるデバイスを指す。ＩｏＴデバイスはネットワークを利用して通信するためのアドレス指定可能な通信インタフェースを有する電子機器、センサなどを含むデバイスである。本実施形態ではＩｏＴデバイスの一例として、ＰＣ、スマートフォンやタブレット端末等のモバイル機器、ウェアラブル機器、エアコン等の空調機器、照明機器、複合機やプリンタ等の画像形成装置、スキャナ、電子黒板、プロジェクタ、温度センサや加速度センサ等のセンサ、カメラ、テレビ又は音声会議装置等を示すが、これに限定されない。ＩｏＴデバイスには、冷蔵庫、テレビ、自動販売機など、様々なデバイスが含まれる。
【００２２】
ＩｏＴデバイスの一例で挙げたモバイル機器は、例えば画像形成装置２２に対して上述の近距離無線通信を介して通信可能な携帯通信端末としてのスマートフォン、タブレット端末等のデバイスである。
【００２３】
スマートフォンとは、携帯電話としての通話機能のほかカメラによる撮像機能、ＰＣのようなＷｅｂ情報表示機能など多機能を備える端末というのが典型である。タブレット端末とは、スマートフォンと同様に多機能端末として機能するタブレット型の端末というのが典型である。また、ウェアラブル機器とは、例えばユーザゴーグルのような頭部、時計のような手首、あるいはネックストライプのような胸部等に装着され得るものが典型であるが、これに限らず、ユーザが所持している物体、例えば帽子やランドセル、カバン等に装着されるものであっても良い。すなわち本実施形態において「携帯」とは、ユーザの身体に直接身に付けられる場合と、ユーザの身体に間接的に身に付けられる場合との双方を含みうるものであり、衣服のポケット等に入れたままでもよいし、所定の場所（頭、手首や胸など）に身に付けておいてもよく、あるいは手に握っていてもよい。
【００２４】
また、ＩｏＴデバイス３０はオフィス内に設置されたエアコン、照明機器、複合機、電子黒板、プロジェクタ、温度センサ等のデバイスである。ＩｏＴデバイス３０はＩｏＴコントローラ２４に対して登録を行い、ＩｏＴデバイスデータをＩｏＴコントローラ２４に送信する。例えばＩｏＴデバイス３０が温度センサの場合のＩｏＴデバイスデータは温度センサの出力（温度データ）である。また、例えばＩｏＴデバイス３０がエアコンの場合のＩｏＴデバイスデータはエアコン電源のＯＮ／ＯＦＦや設定温度などである。
【００２５】
操作パネル２８は、タブレットＰＣ等のコンピュータにより実現できる。また、操作パネル２８には、Ｗｅｂブラウザなどの画面表示機能を有するアプリケーションが搭載されている。アプリケーションは制御フローデータを作成するための制御フロー作成画面を画面表示する機能を有していればよくＷｅｂブラウザに限られない。
【００２６】
なお、図１に示す情報処理システム１の構成は一例であって、ファイアウォール２０とＩｏＴサーバ１０との間に１つ以上のサーバ装置（プロキシサーバやゲートウェイサーバなど）が介在していてもよい。
【００２７】
ＩｏＴデバイス３０には、ＩｏＴコントローラ２４を備える画像形成装置２２が含まれる。各ＩｏＴデバイス３０には、ＩｏＴサーバ１０（や他のＩｏＴデバイス３０）との連携のために、ＩｏＴサーバ１０（又はＩｏＴコントローラ２４を有するＩｏＴデバイス３０）のＩＰアドレスや、通信インタフェースに対するポート番号等が設定されている。
【００２８】
各ＩｏＴデバイス３０は通信インタフェースを介して、例えば、定期的に当該ＩＰアドレス及び当該ポート番号宛に、何らかの事象の発生の有無を問い合わせるためのポーリングを行う。当該問い合わせには、例えば、機体番号等の通信先を識別する識別情報が含まれる。ＩｏＴサーバ１０の通信インタフェースは、例えば当該問い合わせに指定されている機体番号がＩｏＴサーバ１０に記憶されている機体番号であれば、当該機体番号に対応するＩｏＴデバイス３０にポリシーデータ等の各種データを返信してもよい。
【００２９】
なお、機体番号は通信先を識別する識別情報の一例であって、通信先が特定できる識別情報であればよい。通信先を識別する識別情報には、ネットワーク上でＩｏＴデバイス３０を識別可能なアドレス情報やサービス提供者や管理者がＩｏＴデバイス３０に割り当てた識別情報も含まれる。
【００３０】
また、通信先を識別する識別情報はサービス提供者や管理者によって変更可能な情報としてよい。例えばＩｏＴデバイス３０に記憶される通信先を識別する識別情報はＩｏＴデバイス３０の直接操作やネットワークを介してＩｏＴデバイス３０へアクセスした操作端末からの操作によって変更可能としてもよい。また、通信先を識別する識別情報はＩｏＴデバイス３０が備えるＳＩＭカード等の記録媒体５０３ａに記憶されていてもよい。このような記録媒体を変更することでＩｏＴデバイス３０に割り当てられた通信先を識別する識別情報を変更させてもよい。
【００３１】
また、ＩｏＴコントローラ２４を有するＩｏＴデバイス３０とＩｏＴコントローラ２４を有さないＩｏＴデバイス３０を区別できるように、ＩｏＴサーバ１０で管理していてもよい。例えば、ＩｏＴコントローラ２４を有するＩｏＴデバイス３０の識別情報とＩｏＴコントローラ２４を有さないＩｏＴデバイス３０の識別情報を別個のテーブルで区別して管理してもよい。また、ＩｏＴデバイス３０の識別情報ごとにＩｏＴコントローラ２４を有するか否かを示すフラグ情報を関連付けて管理してもよい。また、ＩｏＴデバイス３０がＩｏＴコントローラ２４を有するか否かによって割り当てる識別情報の付与方法を変更してもよい。
【００３２】
このような場合に、ＩｏＴサーバ１０はＩｏＴコントローラ２４を有するＩｏＴデバイス３０のみにポリシーデータ等の各種データを送信してもよい。また、ＩｏＴコントローラ２４を有するＩｏＴデバイス３０のみ、ポリシーデータ等の各種データをＩｏＴサーバ１０へ要求してもよい。ＩｏＴコントローラ２４がＩｏＴサーバ１０からポリシーデータ等の各種データを取得する処理については図９にて詳細を後述する。なお、ここではＩｏＴサーバ１０とＩｏＴデバイス３０との間の通信について説明した。ＩｏＴコントローラ２４を有するＩｏＴデバイス３０とＩｏＴコントローラ２４を有さないその他のＩｏＴデバイス３０との間の通信についても、同様の方法を用いて、その他のＩｏＴデバイス３０が登録されているＩｏＴコントローラ２４に対してポーリングを行うことができる。
【００３３】
ただし、ユーザ環境である本実施形態で言うオフィス内と外部環境であるＩｏＴサーバ１０との間にファイアウォール２０が存在しない場合は、ＩｏＴサーバ１０の通信インタフェースが、各ＩｏＴデバイス３０に対してポリシーデータ等の各種データを送り付けてもよい。この場合、ポリシーデータ記憶部５５に記憶される機器情報として、ＩｏＴデバイス３０のＩＰアドレス及びポート番号等が含まれるようにしてもよい。なお、上述したＩｏＴコントローラ２４とＩｏＴコントローラ２４に登録されているＩｏＴデバイス３０との間の通信についても同様である。
【００３４】
また、ＩｏＴサーバ１０は例えば図１６に示すように、複数台のコンピュータに分散して実現してもよい。図１６は、第１の実施形態に係る情報処理システムの他の例の構成図である。図１６では複数のコンピュータが連携することにより、外部環境においてＩｏＴサーバ１０を実現している。
【００３５】
さらに、ＩｏＴサーバ１０の機能の一部は、その他のサーバに備えてもよい。また、図１に示した同一のオフィス内に設置されたＩｏＴデバイス３０は一例であって、例えばビルの同一階に設置されたＩｏＴデバイス３０や同一部屋に設置されたＩｏＴデバイス３０であってもよい。
【００３６】
＜ハードウェア構成＞
《コンピュータ》
図１のＩｏＴサーバ１０、操作パネル２８は例えば図２に示すようなハードウェア構成のコンピュータにより実現される。図２は、コンピュータの一例のハードウェア構成図である。
【００３７】
図２に示したコンピュータ５００は、入力装置５０１、表示装置５０２、外部Ｉ／Ｆ５０３、ＲＡＭ５０４、ＲＯＭ５０５、ＣＰＵ５０６、通信Ｉ／Ｆ５０７及びＨＤＤ５０８などを備え、それぞれがバスＢで相互に接続されている。なお、入力装置５０１及び表示装置５０２は必要なときに接続して利用する形態であってもよい。
【００３８】
入力装置５０１はキーボードやマウス、タッチパネルなどを含み、ユーザが各操作信号を入力するのに用いられる。表示装置５０２はディスプレイ等を含み、コンピュータ５００による処理結果を表示する。
【００３９】
通信Ｉ／Ｆ５０７はコンピュータ５００を各種ネットワークに接続するインタフェースである。これにより、コンピュータ５００は通信Ｉ／Ｆ５０７を介してデータ通信を行うことができる。
【００４０】
また、ＨＤＤ５０８は、プログラムやデータを格納している不揮発性の記憶装置の一例である。格納されるプログラムやデータには、コンピュータ５００全体を制御する基本ソフトウェアであるＯＳ、及びＯＳ上において各種機能を提供するアプリケーションなどがある。なお、コンピュータ５００はＨＤＤ５０８に替え、記憶媒体としてフラッシュメモリを用いるドライブ装置（例えばソリッドステートドライブ：ＳＳＤ）を利用するものであってもよい。
【００４１】
外部Ｉ／Ｆ５０３は、外部装置とのインタフェースである。外部装置には、記録媒体５０３ａなどがある。これにより、コンピュータ５００は外部Ｉ／Ｆ５０３を介して記録媒体５０３ａの読み取り及び／又は書き込みを行うことができる。記録媒体５０３ａにはフレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリ、ＳＩＭカードなどがある。
【００４２】
ＲＯＭ５０５は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ（記憶装置）の一例である。ＲＯＭ５０５にはコンピュータ５００の起動時に実行されるＢＩＯＳ、ＯＳ設定、及びネットワーク設定などのプログラムやデータが格納されている。ＲＡＭ５０４はプログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）の一例である。
【００４３】
ＣＰＵ５０６は、ＲＯＭ５０５やＨＤＤ５０８などの記憶装置からプログラムやデータをＲＡＭ５０４上に読み出し、処理を実行することで、コンピュータ５００全体の制御や機能を実現する演算装置である。ＣＰＵ５０６は１つのプロセッサ又は複数のプロセッサで実現されていてもよい。
【００４４】
ＩｏＴサーバ１０及び操作パネル２８は例えば図２に示すコンピュータ５００のハードウェア構成により、後述するような各種処理を実現できる。
【００４５】
《画像形成装置》
図１の画像形成装置２２は、複合機の場合、例えば図３に示すようなハードウェア構成により実現される。図３は画像形成装置の一例のハードウェア構成図である。図３に示す画像形成装置２２はコントローラ６０１、外部Ｉ／Ｆ６０３、通信Ｉ／Ｆ６０４、プリンタ６０５及びスキャナ６０６などを備える。
【００４６】
コントローラ６０１はＣＰＵ６１１、ＲＡＭ６１２、ＲＯＭ６１３、ＮＶＲＡＭ６１４及びＨＤＤ６１５などを備える。ＲＯＭ６１３は、各種プログラムやデータが格納されている。ＲＡＭ６１２はプログラムやデータを一時保持する。ＮＶＲＡＭ６１４は、例えば設定情報等が格納されている。また、ＨＤＤ６１５は各種プログラムやデータが格納されている。
【００４７】
ＣＰＵ６１１は、ＲＯＭ６１３やＮＶＲＡＭ６１４、ＨＤＤ６１５などからプログラムやデータ、設定情報等をＲＡＭ６１２上に読み出し、処理を実行することで、画像形成装置２２全体の制御や機能を実現する。
【００４８】
外部Ｉ／Ｆ６０３は、外部装置とのインタフェースである。外部装置には、例えばＩｏＴコントローラ２４、ＩＣカードリーダ２６、操作パネル２８、記録媒体６０３ａなどがある。これにより、画像形成装置２２は、外部Ｉ／Ｆ６０３を介して例えばＩｏＴコントローラ２４やＩＣカードリーダ２６、操作パネル２８と通信できる。なお、操作パネル２８はユーザからの入力を受け付ける入力部と、表示を行う表示部とを備えている。
【００４９】
また、画像形成装置２２は、外部Ｉ／Ｆ６０３を介して記録媒体６０３ａの読み取り及び／又は書き込みを行うことができる。記録媒体６０３ａにはＩＣカード、フレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリ、ＳＩＭカード等がある。
【００５０】
通信Ｉ／Ｆ６０４は、画像形成装置２２をＩｏＴネットワーク４２に接続させるインタフェースである。これにより、画像形成装置２２は通信Ｉ／Ｆ６０４を介してデータ通信を行うことができる。
【００５１】
プリンタ６０５は印刷データを被搬送物に印刷するための印刷装置である。例えば被搬送物は、紙、コート紙、厚紙、ＯＨＰ、プラスチックフィルム、プリプレグ、銅箔など、紙に限定されない。スキャナ６０６は原稿から画像データ（電子データ）を読み取るための読取装置である。なお、図３は画像形成装置２２が複合機の例を示しており、画像形成装置２２が複合機でない場合、プリンタ６０５やスキャナ６０６を必ずしも備える必要はない。また、カメラ、ランプ光源など、図３に示した以外のハードウェアを有していてもよい。
【００５２】
《ＩｏＴコントローラ》
図１のＩｏＴコントローラ２４は例えば図４に示すハードウェア構成のコンピュータにより実現される。図４は、ＩｏＴコントローラの一例のハードウェア構成図である。
【００５３】
図４に示したＩｏＴコントローラ２４は、外部Ｉ／Ｆ７０１、ＲＡＭ７０２、ＣＰＵ７０３、ＲＯＭ７０４、ＮＶＲＡＭ７０５などを備え、それぞれがバスＢで相互に接続されている。ＮＶＲＡＭ７０５は、プログラムやデータを格納している不揮発性の記憶装置の一例である。
【００５４】
外部Ｉ／Ｆ７０１は、外部装置とのインタフェースである。外部装置には、画像形成装置２２、記録媒体などがある。これにより、ＩｏＴコントローラ２４は外部Ｉ／Ｆ７０１を介してフレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリ、ＳＩＭカードなどの記録媒体の読み取り及び／又は書き込みを行うことができる。
【００５５】
ＲＯＭ７０４は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ（記憶装置）の一例である。ＲＯＭ７０４にはＩｏＴコントローラ２４の起動時に実行されるプログラムやデータが格納されている。ＲＡＭ７０２はプログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）の一例である。ＣＰＵ７０３はＲＯＭ７０４やＮＶＲＡＭ７０５などの記憶装置からプログラムやデータをＲＡＭ７０２上に読み出し、処理を実行することで、ＩｏＴコントローラ２４全体の制御や機能を実現する演算装置である。ＣＰＵ７０３は１つのプロセッサ又は複数のプロセッサで実現されていてもよい。ＩｏＴコントローラ２４は、例えば図４に示したようなハードウェア構成により、後述するような各種処理を実現できる。
【００５６】
＜ソフトウェア構成＞
ここでは、本実施形態に係る情報処理システム１のソフトウェア構成について説明するが、本実施形態の説明に不要な構成について適宜説明を省略する。
【００５７】
《ＩｏＴサーバ》
本実施形態に係るＩｏＴサーバ１０は、例えば図５に示すような処理ブロックにより実現される。図５は本実施形態に係るＩｏＴサーバの一例の処理ブロック図である。
【００５８】
図５のＩｏＴサーバ１０はプログラムを実行することにより、例えばポリシーデータ提供部５１、レポートデータ管理部５２、制御フロー提供部５３、ポリシーデータ記憶部５５、レポートデータ記憶部５６、制御フロー記憶部５７を実現している。
【００５９】
ポリシーデータ提供部５１は、ＩｏＴコントローラ２４に後述のポリシーデータを提供する。ポリシーデータはポリシーデータ記憶部５５に記憶されている。ポリシーデータ記憶部５５に記憶されているポリシーデータは、後述の制御フローをユーザが実施してよいか否かを判定するために利用される。
【００６０】
レポートデータ管理部５２は、ＩｏＴコントローラ２４からレポートデータを受信し、受信したレポートデータをレポートデータ記憶部５６に記憶させる。制御フロー提供部５３は、ＩｏＴコントローラ２４に後述の制御フローデータを提供する。制御フローデータは制御フロー記憶部５７に記憶されている。制御フロー記憶部５７に記憶されている制御フローデータは、会社などの組織全体でＩｏＴデバイス３０の制御を一括管理するためのものである。
【００６１】
《操作パネル及び画像形成装置》
本実施形態に係る操作パネル２８及び画像形成装置２２は、例えば図６に示すような処理ブロックにより実現される。図６は本実施形態に係る操作パネル及び画像形成装置の一例の処理ブロック図である。
【００６２】
図６の画像形成装置２２は通信部６１、ユーザ管理部６２、ユーザ情報記憶部６３を有する構成である。通信部６１は、ＩｏＴネットワーク４２を介して外部とのデータ通信を行う。ユーザ管理部６２は、ユーザ情報記憶部６３に記憶されているユーザ情報の管理を行う。例えばユーザ管理部６２はＩＣカードリーダ２６がユーザのＩＣカード等から読み取った情報とユーザ情報記憶部６３に記憶されているユーザ情報とを利用することによりユーザ認証を行う。
【００６３】
操作パネル２８はプログラムを実行することにより、例えば制御フロー作成受付部７１及び制御フロー実施要求部７２を実現している。制御フロー作成受付部７１は例えば制御フロー作成画面を表示し、オフィス内のＩｏＴデバイス３０に対する個別の制御フローの作成をユーザから受け付ける。また、制御フロー実施要求部７２はユーザが選択した制御フローの実施をＩｏＴコントローラ２４に対して要求する。
【００６４】
《ＩｏＴコントローラ》
本実施形態に係るＩｏＴコントローラ２４は、例えば図７に示すような処理ブロックにより実現される。図７は本実施形態に係るＩｏＴコントローラの一例の処理ブロック図である。
【００６５】
図７のＩｏＴコントローラ２４はプログラムを実行することにより、ポリシーデータ管理部８１、ＩｏＴデバイス登録部８２、制御フロー管理部８３、制御フロー実施部８４、イベント制御部８５、レポート制御部８６を実現している。さらに、ＩｏＴコントローラ２４はＩｏＴデバイス制御ポリシー記憶部９１、データアクセスポリシー記憶部９２、ＩｏＴデバイスデータ記憶部９３、制御フロー記憶部９４を実現している。
【００６６】
ポリシーデータ管理部８１はＩｏＴサーバ１０から提供されたポリシーデータに含まれるＩｏＴデバイス制御ポリシーをＩｏＴデバイス制御ポリシー記憶部９１に記憶させて管理する。また、ポリシーデータ管理部８１はＩｏＴサーバ１０から提供されたポリシーデータに含まれるデータアクセスポリシーをデータアクセスポリシー記憶部９２に記憶させて管理する。
【００６７】
なお、ポリシーデータは、扱うＩｏＴデバイス３０が多くなればなるほど、データ量が大きくなる。そこで、ポリシーデータ管理部８１は不要になったポリシーデータを削除する更新処理を設けることでメモリを節約できる。ポリシーデータを削除する方法としては例えば下記の方法が考えられる。
【００６８】
一つ目の方法としては、例えばＩｏＴサーバ１０からポリシーデータを特定する情報とともに、対応するポリシーデータが不要となった旨の通知をＩｏＴコントローラ２４が受信したら、対象のポリシーデータを削除する方法がある。ポリシーデータ管理部８１はポリシーデータを削除する前に、どのポリシーデータを削除するかを示す情報を自機器の機体番号と併せてＩｏＴサーバ１０へログ情報として送信してもよい。このような構成とすることで、ＩｏＴサーバ１０はどのＩｏＴコントローラ２４がどのポリシーデータを記憶しているのかの状況を把握することができる。
【００６９】
二つ目の方法としては、ポリシーデータに期限の設定を設け、その期限を過ぎたか否かをＩｏＴコントローラ２４が判断し、過ぎたと判断された場合に一つ目の方法と同様に削除する方法がある。一つ目の方法と同様に、ポリシーデータ管理部８１はポリシーデータを削除する前にログ情報をＩｏＴサーバ１０へ送信してもよい。
【００７０】
なお、ポリシーデータ管理部８１はＩｏＴサーバ１０から受信したポリシーデータに関連するＩｏＴデバイス３０が画像形成装置２２のＩｏＴデバイスデータ記憶部９３に登録されているかを判断し、登録されていない場合に、登録されていない旨をＩｏＴサーバ１０へ通知し、ポリシーデータを削除してもよい。
【００７１】
このような構成の場合に、ポリシーデータ管理部８１はＩｏＴデバイス３０がＩｏＴデバイスデータ記憶部９３に新規に登録されたときに、画像形成装置２２からＩｏＴサーバ１０へ自機器が記憶していないポリシーデータで、かつ、新規に登録されたＩｏＴデバイス３０に関連するポリシーデータがあるか否かを問い合わせる。
【００７２】
該当するポリシーデータがあるとＩｏＴサーバ１０で判断された場合に、ＩｏＴサーバ１０は該当するポリシーデータを画像形成装置２２へ送信することでＩｏＴコントローラ２４が記憶するポリシーデータを更新できる。なお、ＩｏＴデバイス３０を新規に登録する処理については図１１において詳細を後述する。
【００７３】
ＩｏＴデバイス登録部８２は、同一のオフィス内に設置されたＩｏＴデバイス３０を特定のグループに属するＩｏＴデバイス３０としてＩｏＴデバイスデータ記憶部９３に登録する。ＩｏＴデバイスデータ記憶部９３には、特定のグループに属するＩｏＴデバイス３０のＩｏＴデバイスデータが記憶される。
【００７４】
制御フロー管理部８３は、ＩｏＴサーバ１０から提供された制御フローデータを制御フロー記憶部９４に記憶させて管理する。また、制御フロー管理部８３は操作パネル２８においてユーザが作成した制御フローのデータを、制御フローデータとして制御フロー記憶部９４に記憶させて管理する。
【００７５】
制御フロー実施部８４は、制御フローの実施に関する処理を行う。制御フローの実施を要求したユーザが、その制御フローの処理を禁止されていなければ、制御フロー実施部８４はユーザにより実施を要求された制御フローの実施を開始する。イベント制御部８５は操作パネル２８からの制御フローの実施の要求やＩｏＴデバイス３０からのＩｏＴデバイスデータの受信、ＩＣカード等からの情報の読み取り等、をイベントとして検出し、制御フロー管理部８３や制御フロー実施部８４に通知する。
【００７６】
また、レポート制御部８６はＩｏＴデバイスデータ記憶部９３に記憶されているＩｏＴデバイスデータをデータアクセスポリシー記憶部９２に記憶されているデータアクセスポリシーに従って、ＩｏＴサーバ１０へレポートデータとして送信する。
【００７７】
《ＩｏＴデバイス》
本実施形態に係るＩｏＴデバイス３０は、例えば図８に示すような処理ブロックにより実現される。図８は本実施形態に係るＩｏＴデバイスの一例の処理ブロック図である。
【００７８】
図８のＩｏＴデバイス３０はＩｏＴデバイス登録要求部１０１、ＩｏＴデバイスデータ送信部１０２を有する構成である。ＩｏＴデバイス登録要求部１０１は自機をＩｏＴコントローラ２４に登録するためのＩｏＴデバイス登録の要求を行う。ＩｏＴデバイスデータ送信部１０２はＩｏＴデバイス登録を行ったＩｏＴコントローラ２４に対し、ＩｏＴデバイスデータを送信する。
【００７９】
＜処理＞
《ＩｏＴデバイス制御処理》
本実施形態に係る情報処理システム１は、例えば図９に示す手順でＩｏＴデバイス制御処理を行う。図９は本実施形態に係るＩｏＴデバイス制御処理の一例のフローチャートである。
【００８０】
ステップＳ１１において、ＩｏＴコントローラ２４のポリシーデータ管理部８１はＩｏＴサーバ１０のポリシーデータ提供部５１にアクセスする。ポリシーデータ管理部８１は会社やビルなどのＩｏＴデバイス３０の制御を一括管理する組織の識別情報（ＩＤ）を指定してポリシーデータ提供部５１からポリシーデータを受信する。なお、ＩｏＴサーバ１０は組織の識別情報（ＩＤ）ではなく上述したＩｏＴコントローラ２４の識別情報に関連付けて組織のポリシーデータを管理していてもよい。ＩｏＴサーバ１０は、ＩｏＴコントローラ２４の識別情報を受信することで関連付けられたポリシーデータを取得し、該取得したポリシーデータをポリシーデータ提供部５１によってＩｏＴコントローラ２４へ提供してもよい。また、ＩｏＴサーバ１０は組織の識別情報（ＩＤ）にＩｏＴコントローラ２４の識別情報を関連付けて管理しておいてもよい。ＩｏＴサーバ１０は、受信したＩｏＴコントローラ２４の識別情報に基づいて組織の識別情報（ＩＤ）を特定し、特定した組織の識別情報（ＩＤ）に基づいてポリシーデータを取得してＩｏＴコントローラ２４へ提供してもよい。
【００８１】
ポリシーデータ管理部８１は受信したポリシーデータに含まれるＩｏＴデバイス制御ポリシー及びデータアクセスポリシーを設定する。具体的に、ポリシーデータ管理部８１はＩｏＴデバイス制御ポリシーをＩｏＴデバイス制御ポリシー記憶部９１に記憶させることで設定を行う。また、ポリシーデータ管理部８１はデータアクセスポリシーをデータアクセスポリシー記憶部９２に記憶させることで設定を行う。
【００８２】
さらに、ＩｏＴコントローラ２４の制御フロー管理部８３は、ＩｏＴサーバ１０の制御フロー提供部５３にアクセスする。制御フロー管理部８３は会社やビルなどのＩｏＴデバイス３０の制御を一括管理する組織の識別情報（ＩＤ）を指定して制御フロー提供部５３から制御フローデータを受信する。制御フロー管理部８３は受信した制御フローデータを制御フロー記憶部９４に記憶させることで設定を行う。
【００８３】
なお、ポリシーデータと同様にＩｏＴサーバ１０は組織の識別情報（ＩＤ）ではなく上述したＩｏＴコントローラ２４の識別情報に関連付けて組織の制御フローデータを管理していてもよい。ＩｏＴサーバ１０は、ＩｏＴコントローラ２４の識別情報を受信することで関連付けられた制御フローデータを取得し、該取得した制御フローデータを制御フロー提供部５３によってＩｏＴコントローラ２４へ提供してもよい。また、ＩｏＴサーバ１０は組織の識別情報（ＩＤ）にＩｏＴコントローラ２４の識別情報を関連付けて管理しておいてもよい。ＩｏＴサーバ１０は、受信したＩｏＴコントローラ２４の識別情報に基づいて組織の識別情報（ＩＤ）を特定し、特定した組織の識別情報（ＩＤ）に基づいて制御フローデータを取得してＩｏＴコントローラ２４へ提供してもよい。
【００８４】
ステップＳ１１の処理により、ＩｏＴコントローラ２４はＩｏＴデバイス３０の制御を一括管理する組織と対応付けられたポリシーデータ及び制御フローデータをＩｏＴサーバ１０から取得して設定できる。
【００８５】
ステップＳ１２に進み、ＩｏＴコントローラ２４のＩｏＴデバイス登録部８２は同一のオフィス内に設置されたＩｏＴデバイス３０を検索する。検索されたＩｏＴデバイス３０のＩｏＴデバイス登録要求部１０１はＩｏＴコントローラ２４のＩｏＴデバイス登録部８２に対して、ＩｏＴデバイス登録の要求を行う。ＩｏＴデバイス登録部８２はＩｏＴデバイス登録の要求を行ったＩｏＴデバイス３０を、特定のグループに属するＩｏＴデバイス３０としてＩｏＴデバイスデータ記憶部９３に登録する。
【００８６】
また、ＩｏＴデバイス登録の要求を行ったＩｏＴデバイス３０のＩｏＴデバイスデータ送信部１０２はＩｏＴデバイス登録を行ったＩｏＴコントローラ２４に対し、ＩｏＴデバイスデータの送信を開始する。イベント制御部８５はＩｏＴデバイス３０から受信したＩｏＴデバイスデータをＩｏＴデバイスデータ記憶部９３に記憶させる。
【００８７】
ステップＳ１３に進み、ＩｏＴコントローラ２４の制御フロー実施部８４は画像形成装置２２を操作するユーザから、実施する制御フローの選択を受け付ける。制御フロー実施部８４は、制御フローを選択したユーザが、その制御フローの処理を許可されたユーザであるか否かをＩｏＴデバイス制御ポリシーから判定する。
【００８８】
制御フロー実施部８４は、制御フローを選択したユーザが、その制御フローの処理を許可されたユーザであれば、例えば図１０に示す制御フローの実施を開始する。図１０は制御フローの一例の構成図である。図１０の制御フローは、制御フロー名称、条件、処理を項目として有する。制御フロー名称は、ユーザが制御フローを識別するために利用する識別情報の一例である。処理はＩｏＴデバイス３０を制御する各種処理である。また、条件は制御フローの処理を行うための各種条件である。
【００８９】
例えば図１０の制御フローはＩｏＴデバイス３０の一例であるエアコンを制御するための制御フローである。図１０の制御フローは「平日の８時〜２０時」という条件と「温度センサー２８℃以上」という条件とに合致する場合に「エアコン電源ＯＮ」の処理と「温度２５℃に設定」の処理とを行うことを表している。さらに、図１０の制御フローは「平日の８時〜２０時」という条件と「温度センサー２２℃以下」という条件とに合致する場合に「エアコン電源ＯＮ」の処理と「温度２５℃に設定」の処理とを行うこと、を表している。
【００９０】
制御フローの実施が開始され、制御フロー実施部８４はユーザから制御フローの実施を終了する指示があるまで、ステップＳ１４〜Ｓ１６の処理を繰り返すことで、条件に合致する制御フローを検出する。条件に合致する制御フローがあれば、制御フロー実施部８４はステップＳ１５に進み、条件に合致した制御フローに従い、ＩｏＴデバイス３０の制御を行う。
【００９１】
《ステップＳ１２の処理》
図１１はステップＳ１２の処理の一例のフローチャートである。ステップＳ２１においてＩｏＴコントローラ２４のＩｏＴデバイス登録部８２は同一のオフィス内に設置されたＩｏＴデバイス３０を検索する。例えばＩｏＴデバイス登録部８２はブロードキャストでオフィス内のＩｏＴデバイス３０を検索する。
【００９２】
検索された（例えばブロードキャストを受信した）ＩｏＴデバイス３０のＩｏＴデバイス登録要求部１０１はステップＳ２２に進み、ＩｏＴコントローラ２４のＩｏＴデバイス登録部８２に対して、ＩｏＴデバイス登録の要求を行う。このＩｏＴデバイス登録の要求には、例えばＩｏＴデバイス３０の機器情報と、利用可能な機能（処理）情報と、が含まれる。
【００９３】
ＩｏＴデバイス３０の機器情報には上述した通信先を識別する識別情報が含まれ、識別情報を用いることでＩｏＴデバイス３０を区別することができる。さらに、機器情報にはＩＰアドレス等のネットワーク上でＩｏＴデバイス３０を特定するためのアドレス情報が含まれ、アドレス情報を用いることでＩｏＴデバイス３０に対してデータを送信することが可能となる。なお、通信先を識別する識別情報がアドレス情報であってもよい。ＩｏＴコントローラ２４のＩｏＴデバイス登録部８２はＩｏＴデバイス登録の要求を行ったＩｏＴデバイス３０の機器情報及び利用可能な機能情報を、特定のグループに属するＩｏＴデバイス３０としてＩｏＴデバイスデータ記憶部９３に登録する。
【００９４】
ステップＳ２３に進み、ＩｏＴデバイス登録の要求を行ったＩｏＴデバイス３０のＩｏＴデバイスデータ送信部１０２はＩｏＴデバイス登録を行ったＩｏＴコントローラ２４に対し、ＩｏＴデバイスデータの送信を開始する。ＩｏＴコントローラ２４のイベント制御部８５はＩｏＴデバイス３０からのＩｏＴデバイスデータの受信と、受信したＩｏＴデバイスデータのＩｏＴデバイスデータ記憶部９３への保存と、開始する。
【００９５】
《ステップＳ１３の処理》
図１２はステップＳ１３の処理の一例のフローチャートである。ステップＳ３１においてＩｏＴコントローラ２４の制御フロー実施部８４は操作パネル２８を操作するユーザの認証を行い、操作パネル２８を操作するユーザのユーザ情報を特定する。ステップＳ３２に進み、制御フロー実施部８４は画像形成装置２２を操作するユーザから、実施する制御フローの選択を受け付ける。
【００９６】
ステップＳ３３に進み、制御フロー実施部８４は図１０の制御フローを参照し、ユーザにより選択された制御フローの処理を抽出する。ステップＳ３３において抽出された制御フローの処理は、ユーザにより選択された制御フローの実施に必要なＩｏＴデバイス３０の処理である。
【００９７】
ステップＳ３４に進み、制御フロー実施部８４は、画像形成装置２２を操作するユーザのユーザ情報に含まれるロールを特定する。また、制御フロー実施部８４は図１３のＩｏＴデバイス制御ポリシーを参照することで、画像形成装置２２を操作するユーザのロールに対応して許可されている処理、禁止されている処理を特定する。
【００９８】
制御フロー実施部８４は、画像形成装置２２を操作するユーザのロールに対応して許可されている処理、禁止されている処理と、ユーザにより選択された制御フローの実施に必要なＩｏＴデバイス３０の処理とを比較する。その比較結果から、制御フロー実施部８４はユーザにより選択された制御フローの実施に必要なＩｏＴデバイス３０の処理を、画像形成装置２２を操作するユーザが禁止されていないか判定する。
【００９９】
言い換えれば、制御フロー実施部８４は、制御フローを選択したユーザが、その制御フローの処理を許可されたユーザであるか否かを図１３のＩｏＴデバイス制御ポリシーから判定する。
【０１００】
禁止されていなければ、制御フロー実施部８４はステップＳ３６に進み、ステップＳ３２でユーザに選択された制御フローの実施を開始する。禁止されていれば、制御フロー実施部８４はステップＳ３７に進み、例えば操作パネル２８にエラー表示を行わせる。
【０１０１】
つまり、制御フロー実施部８４は、制御フローを選択したユーザが、その制御フローの処理を許可されたユーザであれば、そのユーザにより選択された制御フローの実施を開始する。また、制御フロー実施部８４は制御フローを選択したユーザが、その制御フローの処理を禁止されたユーザであれば、そのユーザにより選択された制御フローの実施を開始しない。
【０１０２】
例えば図１３のＩｏＴデバイス制御ポリシーの場合、ロールが「管理ユーザ」のユーザはＩｏＴデバイス３０である「エアコン」の処理である「電源ＯＮ／ＯＦＦ」及び「温度設定」が許可されている。また、ロールが「一般ユーザ」のユーザは、ＩｏＴデバイス３０である「エアコン」の処理である「電源ＯＮ／ＯＦＦ」及び「温度設定」が禁止されている。
【０１０３】
ステップＳ３２で図１０の制御フローを選択したユーザのロールが「管理ユーザ」であれば、制御フロー実施部８４は「電源ＯＮ／ＯＦＦ」及び「温度設定」が許可されているユーザと判定し、図１０の制御フローの実施を開始する。また、ステップＳ３２で図１０の制御フローを選択したユーザのロールが「一般ユーザ」であれば、制御フロー実施部８４は「電源ＯＮ／ＯＦＦ」及び「温度設定」が禁止されているユーザと判定し、図１０の制御フローの実施を開始せず、エラー表示を行う。
【０１０４】
図１２の処理によれば、例えば会社などの組織が所有するＩｏＴデバイス３０の制御フローをＩｏＴサーバ１０から提供することで、ＩｏＴデバイス３０の制御を組織全体で一括管理できる。また、図１２の処理によれば、例えばＩｏＴコントローラ２４を１部屋に１台ずつ配置される画像形成装置２２に接続することで、権限のあるユーザが、オフィス単位や部屋単位など、所定のグループ単位で個別に実施する制御フローを選択できる。
【０１０５】
したがって、例えば空調機器の制御が企業内やビル内で一括管理されているケースにおいて、あるオフィス内のＩｏＴデバイス３０の制御フローを、ＩｏＴサーバ１０から提供された制御フローから権限のあるユーザに選択させるような運用も可能である。権限のあるユーザに選択させることにより、図１２の処理ではセキュリティ及び安全性を確保することができる。
【０１０６】
ステップＳ１３の処理は図１４に示すように行うこともできる。図１４はステップＳ１３の処理の他の例のフローチャートである。ステップＳ４１においてＩｏＴコントローラ２４の制御フロー実施部８４は操作パネル２８を操作するユーザの認証を行い、操作パネル２８を操作するユーザのユーザ情報を特定する。
【０１０７】
ステップＳ４２に進み、操作パネル２８の制御フロー作成受付部７１は例えば図１５に示すような制御フロー作成画面を表示し、ユーザから制御フローの作成を受け付ける。図１５は制御フロー作成画面の一例のイメージ図である。図１５の制御フロー作成画面は温度センサであるＩｏＴデバイス３０からの出力（温度データ）を入力とし、エアコンであるＩｏＴデバイス３０の制御を行う制御フローを作成した画面イメージである。例えば制御フロー作成画面は、例えばアプリケーション開発ツールの一例であるＮｏｄｅ−ＲＥＤを利用することができる。
【０１０８】
例えばステップＳ４２でユーザにより作成される制御フローの一例が図１０に示す制御フローである。制御フロー作成画面で作成される制御ロジックは図１０の制御フローの条件及び処理を示すデータと対応する。また、図１５の制御フロー作成画面に表示された温度センサー及びエアコンは図９のステップＳ１２で登録されたＩｏＴデバイス３０から選択可能である。さらに、図１５の制御フロー作成画面に表示される制御ロジックは図９のステップＳ１２を実行することで把握できるＩｏＴデバイス３０の機能に基づいて作成可能である。
【０１０９】
なお、図１５の制御フロー作成画面における制御フローの作成までは、ステップＳ４１の認証を行っていないユーザに許可してもよい。また、制御フロー作成画面による制御フローの作成は、操作パネル２８の他、ＩｏＴコントローラ２４と通信可能なユーザ端末から行えるようにしてもよい。
【０１１０】
また、ステップＳ４３に進み、制御フロー実施部８４はステップＳ４２でユーザにより作成された制御フローの実施の要求をユーザから受け付ける。ステップＳ４４に進み、制御フロー実施部８４はユーザにより作成された制御フローの処理を抽出する。ステップＳ４４において抽出された制御フローの処理は、ユーザにより作成された制御フローの実施に必要なＩｏＴデバイス３０の処理である。
【０１１１】
ステップＳ４５に進み、制御フロー実施部８４は、画像形成装置２２を操作するユーザのユーザ情報に含まれるロールを特定する。また、制御フロー実施部８４は図１３のＩｏＴデバイス制御ポリシーを参照することで、画像形成装置２２を操作するユーザのロールに対応して許可されている処理、禁止されている処理を特定する。
【０１１２】
制御フロー実施部８４は、画像形成装置２２を操作するユーザのロールに対応して許可されている処理、禁止されている処理と、ユーザにより作成された制御フローの実施に必要なＩｏＴデバイス３０の処理とを比較する。その比較結果から、制御フロー実施部８４はユーザにより作成された制御フローの実施に必要なＩｏＴデバイス３０の処理を、画像形成装置２２を操作するユーザが禁止されていないか判定する。
【０１１３】
言い換えれば、制御フロー実施部８４は、制御フローを作成したユーザが、その制御フローの処理を許可されたユーザであるか否かを図１３のＩｏＴデバイス制御ポリシーから判定する。
【０１１４】
禁止されていなければ、制御フロー実施部８４はステップＳ４７に進み、ステップＳ４２でユーザに作成された制御フローの制御フロー記憶部９４への反映と、ユーザにより作成された制御フローの実施とを開始する。禁止されていれば、制御フロー実施部８４はステップＳ４８に進み、例えば操作パネル２８にエラー表示を行わせる。
【０１１５】
つまり、制御フロー実施部８４は、制御フローを作成したユーザが、その制御フローの処理を許可されたユーザであれば、そのユーザにより作成された制御フローの反映と実施とを開始する。また、制御フロー実施部８４は制御フローを作成したユーザが、その制御フローの処理を禁止されたユーザであれば、そのユーザにより作成された制御フローの反映と実施とを開始しない。
【０１１６】
図１４の処理によれば、権限のあるユーザが、オフィス単位など、所定のグループ単位で個別に制御フローを作成し、実施できる。例えばＩｏＴコントローラ２４を１部屋に１台ずつ配置される画像形成装置２２に接続することで、部屋ごとに制御フローを作成させて実施させる運用も可能である。
【０１１７】
具体例として、第１の実施形態に係る情報処理システム１は、ビル全体で一律の温度から下がらないようにエアコンであるＩｏＴデバイス３０を制御する図１０の制御フローが実施されているものとする。また、オフィス内のＩｏＴデバイス３０によって、オフィス内に設置されたＩｏＴデバイス３０の動作が制御されているものとする。
【０１１８】
この場合、例えば特定の社員が休日出勤したときに、その社員のオフィス内だけ温度センサであるＩｏＴデバイス３０と連携してエアコンであるＩｏＴデバイス３０の動作を制御できる制御フローを実施したい場合がある。しかし、誰でも自由に制御フローを選択して実施できてしまうと、セキュリティや安全性に問題が生じる可能性がある。
【０１１９】
第１の実施形態に係る情報処理システム１によれば、セキュリティや安全性を考慮しながら、所定のグループに属するＩｏＴデバイス３０の単位で、柔軟に制御フローを変更することができる。
【０１２０】
なお、制御フロー実施部８４は制御フローの実施に必要なＩｏＴデバイス３０の処理の一部について、画像形成装置２２を操作するユーザが禁止されている場合、以下のように対応してもよい。例えば制御フロー実施部８４は禁止されている処理を除いた制御フローと除かれた処理の内容をユーザに提示し、提示した制御フローを実施するか否かの選択を受け付けるようにしてもよい。
【０１２１】
「実施しない」の選択を受け付けた場合、制御フロー実施部８４は禁止されている処理を除いた制御フローを実施しない。また「実施する」の選択を受け付けた場合、制御フロー実施部８４は禁止されている処理を除いた制御フローの反映、実施を開始する。
【０１２２】
例えば、一般ユーザが許可されている「ユーザ端末へ条件を満たしていることを通知する」という処理と、一般ユーザが禁止されている「エアコン電源ＯＮ」の処理と、が含まれる制御フローの処理があったとする。ポリシーでは「ユーザ端末へ条件を満たしていることを通知する」処理が禁止されていない。したがって「ユーザ端末へ条件を満たしていることを通知する」処理の制御フローであれば一般ユーザも実施できる。
【０１２３】
そこで、制御フロー実施部８４は「エアコン電源ＯＮが禁止されているが、温度センサの条件が満たされたときにユーザ端末に通知するだけなら許可される」旨を提示し、この制御フローを実行するか否かをユーザに選択させるようにしてもよい。また、制御フロー実施部８４はユーザに提示せず、自動的に禁止処理を除いた制御フローを反映、実施するようにしてもよい。
［他の実施形態］
第１の実施形態は、温度センサであるＩｏＴデバイス３０と連携してエアコンであるＩｏＴデバイス３０の動作を制御できる制御フローを説明したが、これに限定されるものではない。
【０１２４】
例えば他の実施形態としては、照明機器であるＩｏＴデバイス３０の「電源ＯＮ」と連携してエアコンであるＩｏＴデバイス３０を「電源ＯＮ」に制御する制御フローなどが考えられる。また、プロジェクタであるＩｏＴデバイス３０の「電源ＯＮ」と連携して照明機器であるＩｏＴデバイス３０を「電源ＯＮ」に制御し、エアコンであるＩｏＴデバイス３０の設定温度を下げるように制御する制御フローなどが考えられる。
【０１２５】
さらに、プロジェクタであるＩｏＴデバイス３０の「電源ＯＮ」と連携して照明機器であるＩｏＴデバイス３０の明るさを下げるように制御し、エアコンであるＩｏＴデバイス３０の設定温度を下げるように制御する制御フローなどが考えられる。
【０１２６】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。なお、本実施形態で説明した情報処理システム１は一例であって、用途や目的に応じて様々なシステム構成例があることは言うまでもない。
【符号の説明】
【０１２７】
１    情報処理システム
１０    ＩｏＴサーバ
２０    ファイアウォール
２２    画像形成装置
２４    ＩｏＴコントローラ
２６    ＩＣカードリーダ
２８    操作パネル
３０    ＩｏＴデバイス
４０、４２    ネットワーク
５１    ポリシーデータ提供部
５２    レポートデータ管理部
５３    制御フロー提供部
５５    ポリシーデータ記憶部
５６    レポートデータ記憶部
５７    制御フロー記憶部
６１    通信部
６２    ユーザ管理部
６３    ユーザ情報記憶部
７１    制御フロー作成受付部
７２    制御フロー実施要求部
８１    ポリシーデータ管理部
８２    ＩｏＴデバイス登録部
８３    制御フロー管理部
８４    制御フロー実施部
８５    イベント制御部
８６    レポート制御部
９１    ＩｏＴデバイス制御ポリシー記憶部
９２    データアクセスポリシー記憶部
９３    ＩｏＴデバイスデータ記憶部
９４    制御フロー記憶部
１０１    ＩｏＴデバイス登録要求部
１０２    ＩｏＴデバイスデータ送信部
５００    コンピュータ
５０１    入力装置
５０２    表示装置
５０３、６０３、７０１    外部Ｉ／Ｆ
５０３ａ、６０３ａ    記録媒体
５０４、６１２、７０２    ＲＡＭ
５０５、６１３、７０４    ＲＯＭ
５０６、６１１、７０３    ＣＰＵ
５０７、６０４    通信Ｉ／Ｆ
５０８、６１５    ＨＤＤ
６０１    コントローラ
６０５    プリンタ
６０６    スキャナ
６１４、７０５    ＮＶＲＡＭ
Ｂ    バス
【先行技術文献】
【特許文献】
【０１２８】
【特許文献１】特表２０１６−５１５３２８号公報
【特許文献２】特開２０１４−２３５４４１号公報
【図１】
2018092219.tif 000003
【図２】
2018092219.tif 000004
【図３】
2018092219.tif 000005
【図４】
2018092219.tif 000006
【図５】
2018092219.tif 000007
【図６】
2018092219.tif 000008
【図７】
2018092219.tif 000009
【図８】
2018092219.tif 000010
【図９】
2018092219.tif 000011
【図１０】
2018092219.tif 000012
【図１１】
2018092219.tif 000013
【図１２】
2018092219.tif 000014
【図１３】
2018092219.tif 000015
【図１４】
2018092219.tif 000016
【図１５】
2018092219.tif 000017
【図１６】
2018092219.tif 000018