以下、本発明の実施形態について図面を参照しながら説明する。
[第1の実施形態]
<システム構成>
図1は、第1の実施形態に係る情報処理システムの一例の構成図である。図1の情報処理システム1はオフィス内に1台以上のIoTデバイス30が配置された例である。図1の画像形成装置22はIoTデバイスの一例である。画像形成装置22にはIoTコントローラ24、ICカードリーダ26及び操作パネル28が接続されている。クライアント装置32はユーザが操作する操作端末の一例である。また、画像ログサーバ34は画像ログを保存するサーバ装置の一例である。
なお、画像ログサーバ34は例えば画像形成装置22がスキャンした画像データをログとして保存するためのサーバである。画像形成装置22は原稿をスキャンすることで作成した画像データを画像ログサーバ34へ送信することで画像形成装置22自身に画像データを保存しなくともスキャンした画像データをログとして管理することができる。
画像形成装置22、IoTデバイス30、クライアント装置32及び画像ログサーバ34はLANなどのIoTネットワーク42を介して接続されている。IoTネットワーク42はファイアウォール36、インターネットなどのネットワーク40を介してIoTサーバ10に接続されている。なお、クライアント装置32及び画像ログサーバ34はネットワーク40に接続されていてもよい。
IoTサーバ10は後述のポリシーデータや制御フローデータをIoTコントローラ24に提供する。また、IoTサーバ10はIoTコントローラ24から後述のように送信されるレポートデータを記憶する。画像形成装置22はオフィス内に設置される可能性の高い電子機器の一例である。
電子機器は画像形成装置22に限らずレーザプリンタや複合機(マルチファンクションプリンタ)やプロジェクタ、電子黒板、テレビ会議装置、通信機能を備えた産業用又は家庭用機器、通信機能を備えた医療機器などであってもよい。以降の説明では電子機器が画像形成装置22である場合として説明をするが、画像形成装置22が備えるハードウェア及びソフトウェアの構成は、電子機器が画像形成装置22以外の装置であったとしても同様に備えることができる。画像形成装置22は、ICカードリーダ26を利用して、ユーザの認証を行うことができる。また、画像形成装置22は操作パネル28を利用することで、ユーザに対する情報の表示と、ユーザからの指示の受付とを行うことができる。
IoTコントローラ24は情報処理装置であって、画像形成装置22の通信機能を利用することで、例えばIoTサーバ10、IoTデバイス30及び画像ログサーバ34と通信を行う。なお、IoTコントローラ24は、例えば無線通信モジュールを備えるなど、通信機能を備える構成である場合、IoTコントローラ24自身が備える通信機能を利用することでIoTサーバ10、IoTデバイス30及び画像ログサーバ34と通信を行うようにしてもよい。IoTコントローラ24は画像形成装置22に内蔵される拡張ボードの形態や外付けされる形態であってもよいし、画像形成装置22の付近に設置される筐体の形態であってもよい。IoTコントローラ24が画像形成装置22(電子機器)に内蔵される形態の場合には、電子機器がIoTコントローラ24の機能を有する情報処理装置として動作する。なお、後述するIoTコントローラ24の機能を実現するソフトウェアを電子機器上で動作させてもよい。
IoTコントローラ24はIoTサーバ10から提供される後述のポリシーデータや制御フローデータを記憶する。IoTサーバ10から提供される制御フローデータは例えば会社などの組織全体でIoTデバイス30の制御を一括管理するためのデータである。
また、IoTコントローラ24は画像形成装置22において後述のように作成される制御フローデータを記憶する。画像形成装置22において作成される制御フローデータは例えば組織全体に含まれる特定のグループ単位でIoTデバイス30の制御を個別管理するためのデータである。グループは組織を構成する単位を示す概念である。組織を構成する単位はオフィス等の物理的な場所で示されていてもよいし、部署などの組織間の関係で示されていても良い。
IoTコントローラ24はユーザから選択された制御フローを実施することでIoTデバイス30の処理を制御できる。例えばIoTコントローラ24はIoTデバイス30からIoTデバイスデータ(ログデータ)を受信すると、実施中の制御フローの条件に合致しているか否かを判定し、条件に合致した制御フローに従ってIoTデバイス30を制御する。なお、実施中の制御フローとは制御フローが有効(有効な制御フロー)であることを意味する。このようにIoTコントローラ24は同一のオフィス内に設置されたIoTデバイス30を特定のグループに属するIoTデバイス30として制御フローにより制御できる。
また、IoTコントローラ24はIoTデバイス30からIoTデバイスデータを受信すると、後述のデータフィルタポリシーに従い、フィルタリング処理を行った後のIoTデバイスデータを記憶する。
また、IoTコントローラ24は後述のレポートポリシーに従い、フィルタリング処理を行ってIoTデバイスデータからレポートデータを作成する。IoTコントローラ24は作成したレポートデータをIoTサーバ10に送信する。データフィルタポリシー及びレポートポリシーは、IoTサーバ10から提供されるポリシーデータに含まれている。
情報処理システム1は、画像形成装置22のほか、ネットワーク42を介して接続されうる様々な機器(デバイス)が適用されうる。本発明の実施形態の説明の便宜上、これらの機器(デバイス)を「IoTデバイス」と称することとするが、これに限定されるものではない。
本実施形態における「IoTデバイス」とは、モノのインターネット(IoT)を実現する上でネットワークに接続されるデバイスを指す。IoTデバイスはネットワークを利用して通信するためのアドレス指定可能な通信インタフェースを有する電子機器、センサなどを含むデバイスである。
本実施形態ではIoTデバイスの一例として、PC、スマートフォンやタブレット端末等のモバイル機器、ウェアラブル機器、エアコン等の空調機器、照明機器、複合機やプリンタ等の画像形成装置、スキャナ、電子黒板、プロジェクタ、温度センサや加速度センサ等のセンサ、カメラ、テレビ又は音声会議装置等を示すが、これに限定されない。IoTデバイスには、冷蔵庫、テレビ、自動販売機など、様々なデバイスが含まれる。
IoTデバイスの一例で挙げたモバイル機器は、例えば画像形成装置22に対して上述の近距離無線通信を介して通信可能な携帯通信端末としてのスマートフォン、タブレット端末等のデバイスである。
スマートフォンとは、携帯電話としての通話機能のほかカメラによる撮像機能、PCのようなWeb情報表示機能など多機能を備える端末というのが典型である。タブレット端末とは、スマートフォンと同様に多機能端末として機能するタブレット型の端末というのが典型である。また、ウェアラブル機器とは、例えばユーザゴーグルのような頭部、時計のような手首、あるいはネックストライプのような胸部等に装着され得るものが典型であるが、これに限らず、ユーザが所持している物体、例えば帽子やランドセル、カバン等に装着されるものであっても良い。すなわち本実施形態において「携帯」とは、ユーザの身体に直接身に付けられる場合と、ユーザの身体に間接的に身に付けられる場合との双方を含みうるものであり、衣服のポケット等に入れたままでもよいし、所定の場所(頭、手首や胸など)に身に付けておいてもよく、あるいは手に握っていてもよい。
また、IoTデバイス30はオフィス内に設置されたエアコン、照明機器、複合機、電子黒板、プロジェクタ、温度センサ等のデバイスである。IoTデバイス30はIoTコントローラ24に対して登録を行い、IoTデバイスデータをIoTコントローラ24に送信する。例えばIoTデバイス30が温度センサの場合のIoTデバイスデータは温度センサの出力(温度データ)である。また、例えばIoTデバイス30がエアコンの場合のIoTデバイスデータはエアコン電源のON/OFFや設定温度などである。
操作パネル28は、タブレットPC等のコンピュータにより実現できる。また、操作パネル28には、Webブラウザなどの画面表示機能を有するアプリケーションが搭載されている。アプリケーションは制御フローデータを作成するための制御フロー作成画面を画面表示する機能を有していればよくWebブラウザに限られない。例えば操作パネル28はコンピュータではなく表示ディスプレイで実現されていてもよい。
なお、図1に示す情報処理システム1の構成は一例であって、ファイアウォール36とIoTサーバ10との間に1つ以上のサーバ装置(プロキシサーバやゲートウェイサーバなど)が介在していてもよい。
IoTデバイス30には、IoTコントローラ24を備える画像形成装置22が含まれる。各IoTデバイス30には、IoTサーバ10(や他のIoTデバイス30)との連携のために、IoTサーバ10(又はIoTコントローラ24を有するIoTデバイス30)のIPアドレスや、通信インタフェースに対するポート番号等が設定されている。
各IoTデバイス30は通信インタフェースを介して、例えば、定期的に当該IPアドレス及び当該ポート番号宛に、何らかの事象の発生の有無を問い合わせるためのポーリングを行う。当該問い合わせには、例えば、機体番号等の通信先を識別する識別情報が含まれる。IoTサーバ10の通信インタフェースは、例えば当該問い合わせに指定されている機体番号がIoTサーバ10に記憶されている機体番号であれば、当該機体番号に対応するIoTデバイス30にポリシーデータ等の各種データを返信してもよい。
なお、機体番号は通信先を識別する識別情報の一例であって、通信先が特定できる識別情報であればよい。通信先を識別する識別情報には、ネットワーク上でIoTデバイス30を識別可能なアドレス情報やサービス提供者や管理者がIoTデバイス30に割り当てた識別情報も含まれる。
また、通信先を識別する識別情報はサービス提供者や管理者によって変更可能な情報としてよい。例えばIoTデバイス30に記憶される通信先を識別する識別情報はIoTデバイス30の直接操作やネットワークを介してIoTデバイス30へアクセスしたクライアント装置32からの操作によって変更可能としてもよい。また、通信先を識別する識別情報はIoTデバイス30が備えるSIMカード等の記録媒体503aに記憶されていてもよい。このような記録媒体を変更することでIoTデバイス30に割り当てられた通信先を識別する識別情報を変更させてもよい。
また、IoTコントローラ24を有するIoTデバイス30とIoTコントローラ24を有さないIoTデバイス30を区別できるように、IoTサーバ10で管理していてもよい。例えば、IoTコントローラ24を有するIoTデバイス30の識別情報とIoTコントローラ24を有さないIoTデバイス30の識別情報を別個のテーブルで区別して管理してもよい。また、IoTデバイス30の識別情報ごとにIoTコントローラ24を有するか否かを示すフラグ情報を関連付けて管理してもよい。また、IoTデバイス30がIoTコントローラ24を有するか否かによって割り当てる識別情報の付与方法を変更してもよい。
このような場合に、IoTサーバ10はIoTコントローラ24を有するIoTデバイス30にポリシーデータ等の各種データを送信してもよい。また、IoTコントローラ24を有するIoTデバイス30のみ、ポリシーデータ等の各種データをIoTサーバ10へ要求してもよい。IoTコントローラ24がIoTサーバ10からポリシーデータ等の各種データを取得する処理については図9にて詳細を後述する。ここではIoTサーバ10とIoTデバイス30との間の通信について説明した。IoTコントローラ24を有するIoTデバイス30とIoTコントローラ24を有さないその他のIoTデバイス30との間の通信についても、同様の方法を用いて、その他のIoTデバイス30が登録されているIoTコントローラ24に対してポーリングを行うことができる。
ただし、ユーザ環境である本実施形態で言うオフィス内と外部環境であるIoTサーバ10との間にファイアウォール36が存在しない場合は、IoTサーバ10の通信インタフェースが、各IoTデバイス30に対してポリシーデータ等の各種データを送り付けてもよい。
この場合、ポリシーデータ記憶部55に記憶される機器情報として、後述のIoTデバイス30のIPアドレス及びポート番号等が含まれるようにしてもよい。なお、上述したIoTコントローラ24とIoTコントローラ24に登録されているIoTデバイス30との間の通信についても同様である。
また、IoTサーバ10は例えば図19に示すように、複数台のコンピュータに分散して実現してもよい。図19は、第1の実施形態に係る情報処理システムの他の例の構成図である。図19では複数のコンピュータが連携することにより、外部環境においてIoTサーバ10を実現している。
さらに、IoTサーバ10の機能の一部は、その他のサーバに備えてもよい。また、図1に示した同一のオフィス内に設置されたIoTデバイス30は一例であって、例えばビルの同一階に設置されたIoTデバイス30や同一部屋に設置されたIoTデバイス30であってもよい。図1のオフィス内は、ユーザがIoTデバイス30を設置する環境の一例であって、病院、工場、店舗、展示場、家庭等様々な環境が含まれる。
<ハードウェア構成>
《コンピュータ》
図1のIoTサーバ10、操作パネル28、クライアント装置32及び画像ログサーバ34は例えば図2に示すようなハードウェア構成のコンピュータにより実現される。図2はコンピュータの一例のハードウェア構成図である。
図2に示したコンピュータ500は、入力装置501、表示装置502、外部I/F503、RAM504、ROM505、CPU506、通信I/F507及びHDD508などを備え、それぞれがバスBで相互に接続されている。なお、入力装置501及び表示装置502は必要なときに接続して利用する形態であってもよい。
入力装置501はキーボードやマウス、タッチパネルなどを含み、ユーザが各操作信号を入力するのに用いられる。表示装置502はディスプレイ等を含み、コンピュータ500による処理結果を表示する。
通信I/F507はコンピュータ500を各種ネットワークに接続するインタフェースである。これにより、コンピュータ500は通信I/F507を介してデータ通信を行うことができる。
また、HDD508は、プログラムやデータを格納している不揮発性の記憶装置の一例である。格納されるプログラムやデータには、コンピュータ500全体を制御する基本ソフトウェアであるOS、及びOS上において各種機能を提供するアプリケーションなどがある。なお、コンピュータ500はHDD508に替え、記憶媒体としてフラッシュメモリを用いるドライブ装置(例えばソリッドステートドライブ:SSD)を利用するものであってもよい。
外部I/F503は、外部装置とのインタフェースである。外部装置には、記録媒体503aなどがある。これにより、コンピュータ500は外部I/F503を介して記録媒体503aの読み取り及び/又は書き込みを行うことができる。記録媒体503aにはフレキシブルディスク、CD、DVD、SDメモリカード、USBメモリ、SIMカードなどがある。
ROM505は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ(記憶装置)の一例である。ROM505にはコンピュータ500の起動時に実行されるBIOS、OS設定、及びネットワーク設定などのプログラムやデータが格納されている。RAM504はプログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)の一例である。
CPU506は、ROM505やHDD508などの記憶装置からプログラムやデータをRAM504上に読み出し、処理を実行することで、コンピュータ500全体の制御や機能を実現する演算装置である。CPU506は1つのプロセッサ又は複数のプロセッサで実現されていてもよい。
IoTサーバ10、操作パネル28、クライアント装置32及び画像ログサーバ34は例えば図2に示すコンピュータ500のハードウェア構成により、後述するような各種処理を実現できる。
《画像形成装置》
図1の電子機器の一例である画像形成装置22は、複合機の場合、例えば図3に示すようなハードウェア構成により実現される。図3は画像形成装置の一例のハードウェア構成図である。図3に示す画像形成装置22はコントローラ601、外部I/F603、通信I/F604、プリンタ605及びスキャナ606などを備える。
コントローラ601はCPU611、RAM612、ROM613、NVRAM614及びHDD615などを備える。ROM613は、各種プログラムやデータが格納されている。RAM612はプログラムやデータを一時保持する。NVRAM614は、例えば設定情報等が格納されている。また、HDD615は各種プログラムやデータが格納されている。
CPU611は、ROM613やNVRAM614、HDD615などからプログラムやデータ、設定情報等をRAM612上に読み出し、処理を実行することで、画像形成装置22全体の制御や機能を実現する。
外部I/F603は、外部装置とのインタフェースである。外部装置には、例えばIoTコントローラ24、ICカードリーダ26、操作パネル28、記録媒体603aなどがある。これにより、画像形成装置22は、外部I/F603を介して例えばIoTコントローラ24やICカードリーダ26、操作パネル28と通信できる。なお、操作パネル28はユーザからの入力を受け付ける入力部と、表示を行う表示部とを備えている。
また、画像形成装置22は、外部I/F603を介して記録媒体603aの読み取り及び/又は書き込みを行うことができる。記録媒体603aにはICカード、フレキシブルディスク、CD、DVD、SDメモリカード、USBメモリ、SIMカード等がある。
通信I/F604は、画像形成装置22をIoTネットワーク42に接続させるインタフェースである。これにより、画像形成装置22は通信I/F604を介してデータ通信を行うことができる。
プリンタ605は印刷データを被搬送物に印刷するための印刷装置である。例えば被搬送物は、紙、コート紙、厚紙、OHP、プラスチックフィルム、プリプレグ、銅箔など、紙に限定されない。スキャナ606は原稿から画像データ(電子データ)を読み取るための読取装置である。なお、図3は画像形成装置22が複合機の例を示しており、画像形成装置22が複合機でない場合、プリンタ605やスキャナ606を必ずしも備える必要はない。また、カメラ、ランプ光源など、図3に示した以外のハードウェアを有していてもよい。
《IoTコントローラ》
図1のIoTコントローラ24は例えば図4に示すハードウェア構成のコンピュータにより実現される。図4は、IoTコントローラの一例のハードウェア構成図である。
図4に示したIoTコントローラ24は、外部I/F701、RAM702、CPU703、ROM704、NVRAM705などを備え、それぞれがバスBで相互に接続されている。NVRAM705は、プログラムやデータを格納している不揮発性の記憶装置の一例である。
外部I/F701は、外部装置とのインタフェースである。外部装置には、画像形成装置22、記録媒体などがある。これにより、IoTコントローラ24は外部I/F701を介してフレキシブルディスク、CD、DVD、SDメモリカード、USBメモリ、SIMカードなどの記録媒体の読み取り及び/又は書き込みを行うことができる。
ROM704は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ(記憶装置)の一例である。ROM704にはIoTコントローラ24の起動時に実行されるプログラムやデータが格納されている。RAM702はプログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)の一例である。CPU703はROM704やNVRAM705などの記憶装置からプログラムやデータをRAM702上に読み出し、処理を実行することで、IoTコントローラ24全体の制御や機能を実現する演算装置である。CPU703は1つのプロセッサ又は複数のプロセッサで実現されていてもよい。IoTコントローラ24は、例えば図4に示したようなハードウェア構成により、後述するような各種処理を実現できる。
なお、上述したようにIoTコントローラ24の機能を実現するソフトウェアが画像形成装置22(電子機器)上で動作する場合には、図4で示したようなハードウェア構成を必ずしも備える必要はなく、動作するソフトウェアが電子機器のプログラムと同様に図2で示した電子機器のハードウェアと協働することでIoTコントローラ24の機能を実現することができる。
<ソフトウェア構成>
ここでは、本実施形態に係る情報処理システム1のソフトウェア構成について説明するが、本実施形態の説明に不要な構成について適宜説明を省略する。
《IoTサーバ》
本実施形態に係るIoTサーバ10は、例えば図5に示すような処理ブロックにより実現される。図5は本実施形態に係るIoTサーバの一例の処理ブロック図である。
図5のIoTサーバ10はプログラムを実行することにより、例えばポリシーデータ提供部51、レポートデータ管理部52、制御フロー提供部53、ポリシーデータ記憶部55、レポートデータ記憶部56、制御フロー記憶部57を実現している。
ポリシーデータ提供部51は、IoTコントローラ24に後述のポリシーデータを提供する。ポリシーデータはポリシーデータ記憶部55に記憶されている。ポリシーデータ記憶部55に記憶されているポリシーデータは、後述の制御フローをユーザが実施してよいか否かを判定するために利用される。
また、ポリシーデータ記憶部55に記憶されているポリシーデータは、後述のIoTデバイスデータのフィルタリング処理のために利用される。さらに、ポリシーデータ記憶部55に記憶されているポリシーデータは、IoTデバイスデータからレポートデータを作成するためのフィルタリング処理に利用される。
レポートデータ管理部52は、IoTコントローラ24からレポートデータを受信し、受信したレポートデータをレポートデータ記憶部56に記憶させる。制御フロー提供部53は、IoTコントローラ24に後述の制御フローデータを提供する。制御フローデータは制御フロー記憶部57に記憶されている。制御フロー記憶部57に記憶されている制御フローデータは、会社などの組織全体でIoTデバイス30の制御を一括管理するためのものである。
《操作パネル及び画像形成装置》
本実施形態に係る操作パネル28及び画像形成装置22は、例えば図6に示すような処理ブロックにより実現される。図6は本実施形態に係る操作パネル及び画像形成装置の一例の処理ブロック図である。
図6の画像形成装置22は通信部61、ユーザ管理部62、ユーザ情報記憶部63を有する構成である。通信部61は、IoTネットワーク42を介して外部とのデータ通信を行う。ユーザ管理部62は、ユーザ情報記憶部63に記憶されているユーザ情報の管理を行う。例えばユーザ管理部62はICカードリーダ26がユーザのICカード等から読み取った情報とユーザ情報記憶部63に記憶されているユーザ情報とを利用することによりユーザ認証を行う。
操作パネル28はプログラムを実行することにより、例えば制御フロー作成受付部71及び制御フロー実施要求部72を実現している。制御フロー作成受付部71は例えば制御フロー作成画面を表示し、オフィス内のIoTデバイス30に対する個別の制御フローの作成をユーザから受け付ける。また、制御フロー実施要求部72はユーザが選択した制御フローの実施をIoTコントローラ24に対して要求する。
《IoTコントローラ》
本実施形態に係るIoTコントローラ24は、例えば図7に示すような処理ブロックにより実現される。図7は本実施形態に係るIoTコントローラの一例の処理ブロック図である。
図7のIoTコントローラ24はプログラムを実行することにより、ポリシーデータ管理部81、デバイス登録部82、制御フロー管理部83、制御フロー実施部84、イベント制御部85、受信データフィルタリング処理部86、レポート制御部87を実現している。さらに、IoTコントローラ24はデバイス制御ポリシー記憶部91、レポートポリシー記憶部92、デバイスデータ記憶部93、制御フロー記憶部94及びデータフィルタポリシー記憶部95を実現している。
ポリシーデータ管理部81は、IoTサーバ10から提供されたポリシーデータに含まれるIoTデバイス制御ポリシーをデバイス制御ポリシー記憶部91に記憶させて管理する。また、ポリシーデータ管理部81は、ポリシーデータに含まれるレポートポリシーをレポートポリシー記憶部92に記憶させて管理する。さらに、ポリシーデータ管理部81はポリシーデータに含まれるデータフィルタポリシーをデータフィルタポリシー記憶部95に記憶させて管理する。
なお、ポリシーデータは、扱うIoTデバイス30が多くなればなるほど、データ量が大きくなる。そこで、ポリシーデータ管理部81は不要になったポリシーデータを削除する更新処理を設けることでメモリを節約できる。ポリシーデータを削除する方法としては例えば下記の方法が考えられる。
一つ目の方法としては、例えばIoTサーバ10からポリシーデータを特定する情報とともに、対応するポリシーデータが不要となった旨の通知をIoTコントローラ24が受信したら、対象のポリシーデータを削除する方法がある。ポリシーデータ管理部81はポリシーデータを削除する前に、どのポリシーデータを削除するかを示す情報を自機器の機体番号と併せてIoTサーバ10へログ情報として送信してもよい。このような構成とすることで、IoTサーバ10はどのIoTコントローラ24がどのポリシーデータを記憶しているのかの状況を把握することができる。
二つ目の方法としては、ポリシーデータに期限の設定を設け、その期限を過ぎたか否かをIoTコントローラ24が判断し、過ぎたと判断された場合に一つ目の方法と同様に削除する方法がある。一つ目の方法と同様に、ポリシーデータ管理部81はポリシーデータを削除する前にログ情報をIoTサーバ10へ送信してもよい。
なお、ポリシーデータ管理部81はIoTサーバ10から受信したポリシーデータに関連するIoTデバイス30が画像形成装置22のデバイスデータ記憶部93に登録されているかを判断し、登録されていない場合に、登録されていない旨をIoTサーバ10へ通知し、ポリシーデータを削除してもよい。
このような構成の場合に、ポリシーデータ管理部81はIoTデバイス30がデバイスデータ記憶部93に新規に登録されたときに、画像形成装置22からIoTサーバ10へ自機器が記憶していないポリシーデータで、かつ、新規に登録されたIoTデバイス30に関連するポリシーデータがあるか否かを問い合わせる。
該当するポリシーデータがあるとIoTサーバ10で判断された場合に、IoTサーバ10は該当するポリシーデータを画像形成装置22へ送信することでIoTコントローラ24が記憶するポリシーデータを更新できる。なお、IoTデバイス30を新規に登録する処理については図11において詳細を後述する。
デバイス登録部82は、同一のオフィス内に設置されたIoTデバイス30を特定のグループに属するIoTデバイス30としてデバイスデータ記憶部93に登録する。デバイスデータ記憶部93には、特定のグループに属するIoTデバイス30のIoTデバイスデータが記憶される。
制御フロー管理部83は、IoTサーバ10から提供された制御フローデータを制御フロー記憶部94に記憶させて管理する。また、制御フロー管理部83は操作パネル28においてユーザが作成した制御フローのデータを、制御フローデータとして制御フロー記憶部94に記憶させて管理する。
制御フロー実施部84は、制御フローの実施に関する処理を行う。制御フローの実施を要求したユーザが、その制御フローの処理を禁止されていなければ、制御フロー実施部84はユーザにより実施を要求された制御フローの実施を開始する。イベント制御部85は操作パネル28からの制御フローの実施の要求やIoTデバイス30からのIoTデバイスデータの受信、ICカード等からの情報の読み取り等、をイベントとして検出し、制御フロー管理部83、制御フロー実施部84及び受信データフィルタリング処理部86に通知する。
また、受信データフィルタリング処理部86は、IoTデバイス30からIoTデバイスデータを受信し、データフィルタポリシー記憶部95に記憶されているデータフィルタポリシーに従い、IoTデバイスデータのフィルタリング処理を行う。そして、受信データフィルタリング処理部86はフィルタリング処理を行った後のIoTデバイスデータをデバイスデータ記憶部93に記憶させる。
また、レポート制御部87はデバイスデータ記憶部93に記憶されているIoTデバイスデータに対して、レポートポリシー記憶部92に記憶されているレポートポリシーに従い、フィルタリング処理を実行することによって、フィルタリング処理済のログデータを示すレポートデータを作成する。レポート制御部87は作成したレポートデータをIoTサーバ10へ送信する。
なお、IoTコントローラ24は、IoTコントローラ24自身が備える通信機能によってIoTサーバ10、IoTデバイス30及び画像ログサーバ34と通信を行う場合には、図6の画像形成装置22の通信部61と同様な機能を有する。
《IoTデバイス》
本実施形態に係るIoTデバイス30は、例えば図8に示すような処理ブロックにより実現される。図8は本実施形態に係るIoTデバイスの一例の処理ブロック図である。
図8のIoTデバイス30はIoTデバイス登録要求部101、IoTデバイスデータ送信部102を有する構成である。IoTデバイス登録要求部101は自機をIoTコントローラ24に登録するためのIoTデバイス登録の要求を行う。IoTデバイスデータ送信部102はIoTデバイス登録を行ったIoTコントローラ24に対し、IoTデバイスデータを送信する。
<処理>
《IoTデバイス制御処理》
本実施形態に係る情報処理システム1は、例えば図9に示す手順でIoTデバイス制御処理を行う。図9は本実施形態に係るIoTデバイス制御処理の一例のフローチャートである。
ステップS11において、IoTコントローラ24のポリシーデータ管理部81はIoTサーバ10のポリシーデータ提供部51にアクセスする。ポリシーデータ管理部81は会社やビルなどのIoTデバイス30の制御を一括管理する組織の識別情報(ID)を指定してポリシーデータ提供部51からポリシーデータを受信する。なお、IoTサーバ10は組織の識別情報(ID)ではなく上述したIoTコントローラ24の識別情報に関連付けて組織のポリシーデータを管理していてもよい。IoTサーバ10は、IoTコントローラ24の識別情報を受信することで関連付けられたポリシーデータを取得し、該取得したポリシーデータをポリシーデータ提供部51によってIoTコントローラ24へ提供してもよい。また、IoTサーバ10は組織の識別情報(ID)にIoTコントローラ24の識別情報を関連付けて管理しておいてもよい。IoTサーバ10は、受信したIoTコントローラ24の識別情報に基づいて組織の識別情報(ID)を特定し、特定した組織の識別情報(ID)に基づいてポリシーデータを取得してIoTコントローラ24へ提供してもよい。
ポリシーデータ管理部81は受信したポリシーデータに含まれていたIoTデバイス制御ポリシー、レポートポリシー及びデータフィルタポリシーを設定する。具体的に、ポリシーデータ管理部81はIoTデバイス制御ポリシーをデバイス制御ポリシー記憶部91に記憶させることで設定を行う。ポリシーデータ管理部81はレポートポリシーをレポートポリシー記憶部92に記憶させることで設定を行う。また、ポリシーデータ管理部81はデータフィルタポリシーをデータフィルタポリシー記憶部95に記憶させることで設定を行う。
さらに、IoTコントローラ24の制御フロー管理部83は、IoTサーバ10の制御フロー提供部53にアクセスする。制御フロー管理部83は会社やビルなどのIoTデバイス30の制御を一括管理する組織の識別情報(ID)を指定して制御フロー提供部53から制御フローデータを受信する。制御フロー管理部83は受信した制御フローデータを制御フロー記憶部94に記憶させることで設定を行う。
なお、ポリシーデータと同様にIoTサーバ10は組織の識別情報(ID)ではなく上述したIoTコントローラ24の識別情報に関連付けて組織の制御フローデータを管理していてもよい。IoTサーバ10はIoTコントローラ24の識別情報を受信することで関連付けられた制御フローデータを取得し、該制御フローデータをIoTコントローラ24へ提供してもよい。また、IoTサーバ10は組織の識別情報(ID)にIoTコントローラ24の識別情報を関連付けて管理しておいてもよい。IoTサーバ10は、受信したIoTコントローラ24の識別情報に基づいて組織の識別情報(ID)を特定し、特定した組織の識別情報(ID)に基づいて制御フローデータを取得してIoTコントローラ24へ提供してもよい。
ステップS11の処理により、IoTコントローラ24はIoTデバイス30の制御を一括管理する組織と対応付けられたポリシーデータ及び制御フローデータをIoTサーバ10から取得して設定できる。
ステップS12に進み、IoTコントローラ24のデバイス登録部82は同一のオフィス内に設置されたIoTデバイス30を検索する。検索されたIoTデバイス30のIoTデバイス登録要求部101はIoTコントローラ24のデバイス登録部82に対して、IoTデバイス登録の要求を行う。デバイス登録部82はIoTデバイス登録の要求を行ったIoTデバイス30を、特定のグループに属するIoTデバイス30としてデバイスデータ記憶部93に登録する。
また、IoTデバイス登録の要求を行ったIoTデバイス30のIoTデバイスデータ送信部102はIoTデバイス登録を行ったIoTコントローラ24に対し、IoTデバイスデータの送信を開始する。なお、受信データフィルタリング処理部86はIoTデバイス30から受信したIoTデバイスデータに、データフィルタポリシーに従ってフィルタリング処理を行った後、デバイスデータ記憶部93に記憶させる。
ステップS13に進み、IoTコントローラ24の制御フロー実施部84は画像形成装置22を操作するユーザから、実施する制御フローの選択を受け付ける。制御フロー実施部84は、制御フローを選択したユーザが、その制御フローの処理を許可されたユーザであるか否かをIoTデバイス制御ポリシーから判定する。
制御フロー実施部84は、制御フローを選択したユーザが、その制御フローの処理を許可されたユーザであれば、例えば図10に示す制御フローの実施を開始する。図10は制御フローの一例の構成図である。図10の制御フローは、制御フロー名称、条件、処理を項目として有する。制御フロー名称は、ユーザが制御フローを識別するために利用する識別情報の一例である。処理はIoTデバイス30を制御する各種処理である。また、条件は制御フローの処理を行うための各種条件である。
例えば図10の制御フローはIoTデバイス30の一例であるエアコンを制御するための制御フローである。図10の制御フローは「平日の8時~20時」という条件と「温度センサ28℃以上」という条件とに合致する場合に「エアコン電源ON」の処理と「温度25℃に設定」の処理とを行うことを表している。さらに、図10の制御フローは「平日の8時~20時」という条件と「温度センサ22℃以下」という条件とに合致する場合に「エアコン電源ON」の処理と「温度25℃に設定」の処理とを行うこと、を表している。
制御フローの実施が開始され、制御フロー実施部84はユーザから制御フローの実施を終了する指示があるまで、ステップS14~S16の処理を繰り返すことで、条件に合致する制御フローを検出する。条件に合致する制御フローがあれば、制御フロー実施部84はステップS15に進み、条件に合致した制御フローに従い、IoTデバイス30の制御を行う。
《ステップS12の処理》
図11はステップS12の処理の一例のフローチャートである。ステップS21においてIoTコントローラ24のデバイス登録部82は同一のオフィス内に設置されたIoTデバイス30を検索する。例えばデバイス登録部82はブロードキャストでオフィス内のIoTデバイス30を検索する。
検索された(例えばブロードキャストを受信した)IoTデバイス30のIoTデバイス登録要求部101はステップS22に進み、IoTコントローラ24のデバイス登録部82に対して、IoTデバイス登録の要求を行う。このIoTデバイス登録の要求には、例えばIoTデバイス30の機器情報と、利用可能な機能(処理)情報と、が含まれる。
IoTデバイス30の機器情報には上述した通信先を識別する識別情報が含まれ、識別情報を用いることでIoTデバイス30を区別することができる。さらに、機器情報にはIPアドレス等のネットワーク上でIoTデバイス30を特定するためのアドレス情報が含まれ、アドレス情報を用いることでIoTデバイス30に対してデータを送信することが可能となる。なお、通信先を識別する識別情報がアドレス情報であってもよい。IoTコントローラ24のデバイス登録部82はIoTデバイス登録の要求を行ったIoTデバイス30の機器情報及び利用可能な機能情報を、特定のグループに属するIoTデバイス30としてデバイスデータ記憶部93に登録する。
ステップS23に進み、IoTデバイス登録の要求を行ったIoTデバイス30のIoTデバイスデータ送信部102はIoTデバイス登録を行ったIoTコントローラ24に対し、IoTデバイスデータの送信を開始する。IoTコントローラ24のイベント制御部85はIoTデバイス30からのIoTデバイスデータの受信を開始する。
IoTデバイス30からのIoTデバイスデータを受信すると、受信データフィルタリング処理部86はステップS24に進み、データフィルタポリシー記憶部95に記憶されている例えば図12に示すデータフィルタポリシーを参照する。
図12はデータフィルタポリシーの一例の構成図である。図12のデータフィルタポリシーは、IoTデバイス名称及びフィルタON/OFF設定を項目として有する。IoTデバイス名称はIoTデバイス30を識別するための識別情報の一例である。フィルタON/OFF設定は、IoTデバイス名称により識別されるIoTデバイス30からのIoTデバイスデータをデバイスデータ記憶部93に記憶させるか否かを表す。
例えば図12のデータフィルタポリシーはIoTデバイス名称「エアコン」のIoTデバイス30のフィルタON/OFF設定が「ON」であり、そのIoTデバイス30からのIoTデバイスデータを記憶させないことを表している。また、図12のデータフィルタポリシーはIoTデバイス名称「電子黒板」のIoTデバイス30のフィルタON/OFF設定が「OFF」であり、そのIoTデバイス30からのIoTデバイスデータをデバイスデータ記憶部93に記憶させることを表している。
ステップS25に進み、受信データフィルタリング処理部86は、データフィルタポリシー記憶部95に記憶されているデータフィルタポリシーに従い、IoTデバイス30から受信したIoTデバイスデータのフィルタリング処理を行う。図12のデータフィルタポリシーの例ではIoTデバイス名称「電子黒板」のIoTデバイス30以外からのIoTデバイスデータがフィルタリング処理により削除される。
そして、ステップS26に進み、受信データフィルタリング処理部86はデータフィルタポリシーに従ってフィルタリング処理を行った後のIoTデバイスデータをデバイスデータ記憶部93に記憶させる。図12のデータフィルタポリシーの例ではIoTデバイス名称「電子黒板」のIoTデバイス30からのIoTデバイスデータがデバイスデータ記憶部93に記憶される。
このように、データフィルタポリシーを利用することで、IoTコントローラ24に蓄積させるIoTデバイスデータを制御できる。データフィルタポリシーはIoTサーバ10に登録しておくことで、IoTサーバ10から1つ以上のIoTコントローラ24に配信できる。なお、データフィルタポリシーはユーザがクライアント装置32から設定するようにしてもよい。また、データフィルタポリシーはIoTサーバ10でのレポートデータの利用状況に応じて動的に変更してもよい。また、データフィルタポリシーはIoTサーバ10でのレポートデータの利用状況からディープラーニングなどの技術を使って判断したレポートデータの必要性に従い、動的に変更してもよい。
例えばIoTコントローラ24の役割を画像形成装置22に持たせる場合、画像形成装置22は必ずしも十分なメモリを備えていない場合がある。さらに、十分なメモリを備えていたとしても、画像形成装置22の通常の機能のために必要なメモリもあるため、IoTデバイスデータ用に確保できるメモリが十分でない場合もある。このため、多数のIoTデバイス30が送信してくるIoTデバイスデータの全てを記憶すると、メモリ圧迫の原因となることが予想される。
そこで、本実施形態のIoTコントローラ24はIoTデバイス30から受信したIoTデバイスデータを、IoTサーバ10から配信されるデータフィルタポリシーに従ってフィルタリング処理することで、記憶するIoTデバイスデータを絞り込める。また、IoTサーバ10から配信されるデータフィルタポリシーに従ってフィルタリング処理を行うことで、IoTサーバ10でのレポートデータの利用状況や分析結果に追従したフィルタリング処理を実現できる。
《ステップS13の処理》
図13はステップS13の処理の一例のフローチャートである。ステップS31においてIoTコントローラ24の制御フロー実施部84は操作パネル28を操作するユーザの認証を行い、操作パネル28を操作するユーザのユーザ情報を特定する。ステップS32に進み、制御フロー実施部84は画像形成装置22を操作するユーザから、実施する制御フローの選択を受け付ける。
ステップS33に進み、制御フロー実施部84は図10の制御フローを参照し、ユーザにより選択された制御フローの処理を抽出する。ステップS33において抽出された制御フローの処理は、ユーザにより選択された制御フローの実施に必要なIoTデバイス30の処理である。
ステップS34に進み、制御フロー実施部84は、画像形成装置22を操作するユーザのユーザ情報に含まれるロールを特定する。また、制御フロー実施部84は図14のIoTデバイス制御ポリシーを参照することで、画像形成装置22を操作するユーザのロールに対応して許可されている処理、禁止されている処理を特定する。
制御フロー実施部84は、画像形成装置22を操作するユーザのロールに対応して許可されている処理、禁止されている処理と、ユーザにより選択された制御フローの実施に必要なIoTデバイス30の処理とを比較する。その比較結果から、制御フロー実施部84はユーザにより選択された制御フローの実施に必要なIoTデバイス30の処理を、画像形成装置22を操作するユーザが禁止されていないか判定する。
言い換えれば、制御フロー実施部84は、制御フローを選択したユーザが、その制御フローの処理を許可されたユーザであるか否かを図14のIoTデバイス制御ポリシーから判定する。
禁止されていなければ、制御フロー実施部84はステップS36に進み、ステップS32でユーザに選択された制御フローの実施を開始する。禁止されていれば、制御フロー実施部84はステップS37に進み、例えば操作パネル28にエラー表示を行わせる。
つまり、制御フロー実施部84は、制御フローを選択したユーザが、その制御フローの処理を許可されたユーザであれば、そのユーザにより選択された制御フローの実施を開始する。また、制御フロー実施部84は制御フローを選択したユーザが、その制御フローの処理を禁止されたユーザであれば、そのユーザにより選択された制御フローの実施を開始しない。
例えば図14のIoTデバイス制御ポリシーの場合、ロールが「管理ユーザ」のユーザはIoTデバイス30である「エアコン」の処理である「電源ON/OFF」及び「温度設定」が許可されている。また、ロールが「一般ユーザ」のユーザは、IoTデバイス30である「エアコン」の処理である「電源ON/OFF」及び「温度設定」が禁止されている。
ステップS32で図10の制御フローを選択したユーザのロールが「管理ユーザ」であれば、制御フロー実施部84は「電源ON/OFF」及び「温度設定」が許可されているユーザと判定し、図10の制御フローの実施を開始する。また、ステップS32で図10の制御フローを選択したユーザのロールが「一般ユーザ」であれば、制御フロー実施部84は「電源ON/OFF」及び「温度設定」が禁止されているユーザと判定し、図10の制御フローの実施を開始せず、エラー表示を行う。
なお、ステップS36において制御フローの実施を開始するとともに、ステップS31において認証されたユーザの情報とステップS36において実施を開始した制御フローの情報を関連付けたログデータが保存される。このログデータは後述するレポートポリシーにおいてフィルタリング対象として設定されるデータになり得る。
また、ステップS36において実施が開始された制御フローに対応するデバイスに対して、後述するフィルタリングポリシー及びレポートポリシーを自動で設定するようにしてもよい。例えばエアコンの制御フローの実施が開始された場合には、エアコンに関するフィルタリングポリシー及びレポートポリシーをIoTサーバ10へ要求し、予め用意されたエアコンに関するフィルタリングポリシー及びレポートポリシーを取得することでIoTコントローラ24が設定するポリシーを更新してもよい。このようにして自動で設定されたポリシーはユーザが後から変更することができる。
図13の処理によれば、例えば会社などの組織が所有するIoTデバイス30の制御フローをIoTサーバ10から提供することで、IoTデバイス30の制御を組織全体で一括管理できる。また、図13の処理によれば、例えばIoTコントローラ24を1部屋に1台ずつ配置される画像形成装置22に接続することで、権限のあるユーザが、オフィス単位や部屋単位など、所定のグループ単位で個別に実施する制御フローを選択できる。
したがって、例えば空調機器の制御が企業内やビル内で一括管理されているケースにおいて、あるオフィス内のIoTデバイス30の制御フローを、IoTサーバ10から提供された制御フローから権限のあるユーザに選択させるような運用も可能である。権限のあるユーザに選択させることにより、図13の処理ではセキュリティ及び安全性を確保することができる。
《レポートデータ送信処理》
図15はレポートデータ送信処理の一例のフローチャートである。レポートデータ送信処理はIoTコントローラ24のレポート制御部87がレポートポリシーに従い、IoTデバイスデータからフィルタリング処理済のログデータを示すレポートデータを作成し、作成したレポートデータをIoTサーバ10へ送信する処理である。なお、レポートデータ送信処理は例えば所定時間毎に実行してもよいし、IoTサーバ10からの要求があった場合に実行してもよい。図15では所定時間毎に実行されるレポート送信処理の例を示している。
所定時間が経過したと判定すると、レポート制御部87はステップS51からステップS52に進み、レポートポリシー記憶部92に記憶されている例えば図16に示すようなレポートポリシーを参照する。
図16はレポートポリシーの一例の構成図である。図16のレポートポリシーは、ポリシー名、ユーザ、設置場所、IoTデバイス名称、ID、フィルタリング対象のデータ及びフィルタリング処理を項目として有する。ポリシー名はレポートポリシーを識別するための識別情報の一例である。ユーザはIoTデバイス30の利用者を表す。設置場所はIoTデバイス30が設置されている場所を表す。IoTデバイス名称はIoTデバイス30の機器名であって、IoTデバイス30を識別するための識別情報の一例である。IDはIoTデバイス30のIDであって、IoTデバイス30を識別するための識別情報の一例である。フィルタリング対象のデータは、フィルタリング処理の対象となるデータである。フィルタリング処理はフィルタリング対象のデータに対して行う処理を表す。
図16のレポートポリシーのユーザ、設置場所などの情報は、ログデータに対応する処理(デバイスの動作)を実行したデバイスの属性情報の一例である。属性情報には、デバイスの種類を示す情報や、デバイスの能力やスペックを示す情報も含まれる。図16の項目「IoTデバイス名称(機器名)はデバイスの種類を示す情報であってもよい。
図16のレポートポリシーは重複した場合に備えて優先順位を設ける。図16では上側のレコードほど、優先順位が高く、下側のレコードほど、優先順位が低くなるレポートポリシーの例を示している。なお、図16のレポートポリシーのレコードは、ユーザ、設置場所、IoTデバイス名称及びIDが、そのレコードのフィルタリング対象のデータに対してフィルタリング処理を実行する条件を表す。
フィルタリング処理は、フィルタリング対象のデータを暗号化する処理、削除する処理、送信対象のIoTデバイスデータから削除する処理、IoTデバイスデータの中の画像ログなどのデータを、そのデータの保管場所を示すURIへ置き換える処理、などである。送信対象のIoTデバイスデータから削除する処理は、例えばIoTサーバ10から利用価値の低いとしてフィードバックされたIoTデバイス30のIoTデバイスデータに対して設定される。
ステップS53に進み、レポート制御部87はデバイスデータ記憶部93から図15のレポートデータ送信処理を行っていないIoTデバイスデータを順次読み出す。ステップS54に進み、レポート制御部87は読み出したIoTデバイスデータに対応するレポートポリシーのレコードを条件により選択し、そのレコードのフィルタリング対象のデータに対してフィルタリング処理を実行する。
例えば図16のレポートポリシーの場合、社長であるユーザ「AAA」により利用されたIoTデバイス名称「電子黒板」のIoTデバイス30からのIoTデバイスデータは操作データ(ストロークを含む)がフィルタリング処理により暗号化される。このように特定のユーザが利用しているIoTデバイス30のIoTデバイスデータはレポート作成時のフィルタリング処理により暗号化できる。
また、図16のレポートポリシーの場合、設置場所が「社長室」であるIoTデバイス名称「電子黒板」のIoTデバイス30からのIoTデバイスデータは、操作データ(ストロークを含む)がフィルタリング処理により削除される。このように特定の場所に設置されたIoTデバイス30のIoTデバイスデータは、レポート作成時のフィルタリング処理により削除できる。
なお、図16ではフィルタリング対象のデータの一例として、IoTデバイスデータ(ログデータ)として電子黒板において書き込まれたストローク等を含むIoTデバイス30の操作データ、画像ログが示されているがこれに限られない。例えばIoTデバイス30の設定を変更した履歴、IoTデバイス30へのログインの履歴、IoTデバイス30に接続した機器の履歴等を示すログデータも含まれる。また、上述したように図13のステップS36においてIoTコントローラ24が保存するユーザ情報と関連付けられた制御フローの情報もフィルタリング対象のデータに含まれる。この場合にポリシーで設定されるIoTデバイス名称の項目はIoTコントローラ24でもよいしIoTコントローラ24に接続された画像形成装置22であってもよい。
そして、レポート制御部87はレポート作成時のフィルタリング処理の後、IoTデバイスデータからレポートデータを作成する。ステップS55に進み、レポート制御部87は作成したレポートデータをIoTサーバ10へ送信する。
図17は、図16のレポートポリシーに従って行ったフィルタリング処理の一例の説明図である。図17(A)は、社長であるユーザ「AAA」により利用されたIoTデバイス名称「電子黒板」のIoTデバイス30からのIoTデバイスデータを示している。図17(A)のIoTデバイスデータは電源ONの操作、2回のストロークの操作、電源OFFの操作を含んでいる。
図17(A)では2回のストロークの操作のIoTデバイスデータに対応するレポートポリシーのレコードとして図16の一番上のレコードが選択される。レポート制御部87は選択されたレコードのフィルタリング対象のデータである操作データ(ストロークを含む)をフィルタリング処理により暗号化する。なお、図17(A)では電源ON及び電源OFFの操作のIoTデバイスデータに対応するレポートポリシーのレコードが図16のレポートポリシーから選択されない。
したがって、図17(A)のIoTデバイスデータはレポート作成時のフィルタリング処理の後、図17(B)のようになる。図17(B)は、フィルタリング処理済みのログデータであって、IoTサーバ10へ送信するレポートデータを示している。なお、図17(B)のログデータをそのまま送信するのではなく、IoTサーバ10が管理するログデータの形式に合わせてフィルタリング処理済みのログデータを加工して送信するようにしてもよい。
なお、図16で示したレポートポリシーではユーザの項目において「AAA」といった特定のユーザを設定しているが、ユーザの属性を設定してもよい。例えば管理権限や役職などに応じて設定されているユーザの属性を設定することができる。このような設定の場合には、IoTコントローラ24がログデータに含まれるユーザの属性を含むユーザ情報を管理する外部のサーバへ問い合わせることができる。外部のサーバではユーザの識別情報とユーザの属性を示す情報が関連付けて管理されている。このため、IoTコントローラ24は外部のサーバへユーザの識別情報を送信することで、ユーザの識別情報に対応するユーザの属性を示す情報を特定することができる。なお、ユーザの属性を示す情報は一度外部のサーバから取得した場合には、IoTコントローラ24がキャッシュするようにしてもよい。もしユーザの属性を確認したいユーザの情報が既にキャッシュされている場合には外部のサーバへ問い合わせなくてもよい。
図18は、図16のレポートポリシーに従って行ったフィルタリング処理の一例の説明図である。図18(A)は設置場所が「社長室」であるIoTデバイス名称「IWB」のIoTデバイス30からのIoTデバイスデータを示している。図18(A)のIoTデバイスデータは、電源ONの操作、2回のストロークの操作、電源OFFの操作を含んでいる。
図18(A)は2回のストロークの操作のIoTデバイスデータに対応するレポートポリシーのレコードとして図16の上から二番目のレコードが選択される。レポート制御部87は選択されたレコードのフィルタリング対象のデータである操作データ(ストロークを含む)をフィルタリング処理により削除する。なお、図18(A)では電源ON及び電源OFFの操作のIoTデバイスデータに対応するレポートポリシーのレコードが図16のレポートポリシーから選択されない。
したがって、図18(A)のIoTデバイスデータはレポート作成時のフィルタリング処理の後、図18(B)のようになる。図18(B)は、フィルタリング処理済みのログデータであって、IoTサーバ10へ送信するレポートデータを示している。なお、図18(B)のログデータをそのまま送信するのではなく、IoTサーバ10が管理するログデータの形式に合わせてフィルタリング処理済みのログデータを加工して送信するようにしてもよい。なお、図16、図17及び図18に示した「機器名」は単なる名称でなく、IoTデバイス30の種類を示す情報であってもよい。
図15の処理によれば、特定のユーザや特定の場所(または、その両方)に関連付けられたIoTデバイス30のIoTデバイスデータのうち、そのままIoTサーバ10へ送信したくないデータに対して、レポートデータ作成時のフィルタリング処理を行うことができる。そのままIoTサーバ10へ送信したくないデータに対して行うレポート作成時のフィルタリング処理には、暗号化、削除、送信対象から削除、画像データをURIへ置き換える処理などがある。
このようなレポートデータ作成時のフィルタリング処理により、個人情報や課金情報の他、特定のユーザが利用するIoTデバイス30や特定の場所に配置されたIoTデバイス30のIoTデバイスデータに対してフィルタリング処理できる。
本実施形態によれば、IoTサーバ10へアクセスしたユーザがレポートポリシー及びデータフィルタポリシーを作成し、そのレポートポリシー及びデータフィルタポリシーをIoTコントローラ24へ配信できる。IoTコントローラ24は配信されたレポートポリシー及びデータフィルタポリシーに従い、IoTデバイスデータのフィルタリング処理を実行できる。
具体的には、図20で示すようなポリシーの設定画面1000を介してユーザはレポートポリシー及びデータフィルタポリシーを作成又は設定することができる。本実施形態に係る情報処理システム1は、例えば図21に示す手順でポリシーの設定処理を行う。図21は本実施形態に係るポリシーの設定処理の一例のフローチャートである。
ステップS61において、ユーザはクライアント装置32を操作することによって、ネットワーク40を介してIoTサーバ10へログインする。ステップS62において、ログインに成功したクライアント装置32の表示画面において図20で示すようなポリシーの設定画面1000が表示される。ステップS63において、ユーザはまずポリシー適用条件を設定する。ポリシー適用条件の具体的な項目としては例えばポリシー適用先がある。図20で示されるポリシー適用先の項目においてユーザは編集ボタン1002を選択することによって、データフィルタポリシー及びレポートポリシーの適用先を編集することができる。図20で示す例では組織A及び組織Bがポリシー適用先として設定されている。ユーザは例えば設定済みの組織を削除することもできるし、未設定の組織を追加することもできる。ポリシー適用先として設定可能な組織の情報は予めIoTサーバ10において記憶して管理されている。また、IoTサーバ10が外部のサーバから組織の情報を取得してもよい。図20の例では組織の名称が表示されているが、組織の識別情報が表示されていてもよい。組織の名称は組織の識別情報と関連付けて管理されていてもよいし、組織の名称自体が組織の識別情報であってもよい。組織の識別情報は図9のステップS11でIoTコントローラ24がIoTサーバ10に対して指定する組織の識別情報と対応している。
次に、ステップS64において、ユーザはデータフィルタポリシーの設定を実行する。図20のデータフィルタポリシー設定の項目で示されているようにIoTデバイス30の種類の一覧が表示されており、IoTデバイス30の種類ごとにデータフィルタポリシーにおけるON又はOFFをラジオボタン1004の選択によってユーザが設定することができる。ここでの設定が図12で示されているデータフィルタポリシーに反映される。
次に、ステップS65において、ユーザはレポートポリシーの設定を実行する。図20のレポートポリシー設定の項目で示されているように、ユーザは例えばレポート詳細レベルやセキュリティレベルを選択することで事前にレポート詳細レベルやセキュリティレベルといったレベルに関連付けて記憶されているレポートポリシーを設定する方法と、ユーザ自身がポリシーを作成又は事前に用意されたレポートポリシーを選択することでレポートポリシーを設定する方法を選ぶことができる。
もしレポート詳細レベルやセキュリティレベルを選択する方法を選んだ場合には、ユーザは所望のレポート詳細レベルやセキュリティレベルに対応付けられたラジオボタン1006を選択する。レポート詳細レベルとは、IoTコントローラ24からIoTサーバ10へ送信するレポートデータの詳細さの度合いを示している。レポート詳細レベルが高いほどより多くの情報を含むログデータがレポートデータに含まれる。従って、レポート詳細レベルが低い項目を選択すると、レポート詳細レベルが高い項目を選択した場合と比較してより多くのレポートポリシーが適用されることによって多くの情報がフィルタリング処理されることになる。
レポート詳細レベルには予めレポートポリシーが関連付けて記憶されている。図20で示す例ではレポート詳細レベル低を選択した場合、フィルタリング処理として削除や排除を実行する「ポリシー2」、「ポリシー3」がレポート詳細レベル低に関連付けられているため、これらのレポートポリシーが設定される。設定されるレポートポリシーは図20で示されるように適用ポリシーとして画面に表示されている。このようにしてレポート詳細レベルに応じて異なるポリシーが関連付けて記憶されており、例えばレポート詳細レベル高には「ポリシー2」が関連付けて記憶されており、「ポリシー3」は関連付けて記憶されていない。ここでの「ポリシー1」等のポリシー名は図16で示したレポートポリシーのポリシー名と対応する。
なお、ユーザはレポート詳細レベルの他にセキュリティレベルも設定することができる。セキュリティレベルとは、レポートポリシーが適用されたフィルタリング済のログデータがセキュリティの観点で機密性が高いか否かを示している。
セキュリティレベルが高いほどより機密性が高くなるフィルタリング処理を施されたログデータがレポートデータに含まれる。従って、セキュリティレベルが低い項目を選択すると、セキュリティレベルが高い項目を選択した場合と比較してより機密性の高いレポートポリシーが適用されることによって機密性を高くするフィルタリング処理が多く施されることになる。
セキュリティレベルには予めレポートポリシーが関連付けて記憶されている。図20で示す例ではセキュリティレベル高を選択した場合、フィルタリング処理として暗号化や画像ログを別の情報に置き換える処理を実行する「ポリシー1」、「ポリシー4」がセキュリティレベル高に関連付けられているため、これらのレポートポリシーが設定される。設定されるレポートポリシーは図20で示されるように適用ポリシーとして画面に表示されている。このようにしてセキュリティレベルに応じて異なるポリシーが関連付けて記憶されており、例えばセキュリティレベル低にはレポートポリシーは何も関連付けて記憶されていない。
また、ユーザ自身がポリシーを作成又は事前に用意されたレポートポリシーを選択することでレポートポリシーを設定する方法を選んだ場合、図20で示す例ではレポートポリシーを設定する項目においてマニュアル設定のラジオボタン1008を選択する。その後、ユーザはレポートポリシー自体を新規で作成したい場合には新規ボタン1010を選択する。新規ボタン1010が選択されると、図16で示したようなレポートポリシーのポリシー名、ユーザ、設置場所、IoTデバイス名称等の項目をユーザが設定する画面に遷移し、ユーザ自身が項目を設定することで新規にレポートポリシーを作成することができる。作成したレポートポリシーのポリシー名は図20のマニュアル設定の項目において表示される。
また、図20において追加ボタン1012を選択すると、ユーザは事前に用意されたレポートポリシーの一覧から所望のポリシーを選択することで適用するレポートポリシーを追加することができる。追加されたレポートポリシーのポリシー名は図20のマニュアル設定の項目において表示される。また、図20において削除ボタン1014を選択すると、マニュアル設定の項目において表示されている設定済みのレポートポリシーのいずれかを選択することができ、選択したレポートポリシーを削除することができる。
また、レポートポリシーの設定として複数のレポートポリシーが設定された場合にフィルタリング対象のデータが重複した場合の処理について設定することもできる。レポートポリシー設定の項目において、重複の設定のうちANDのラジオボタン1016を選択すると、フィルタリング対象のデータが重複した場合に条件が合致するレポートポリシーのフィルタリング処理を同じフィルタリング対象のデータに対して全て実行する。例えば図16の「ポリシー1」及び「ポリシー2」ではいずれもフィルタリング対象のデータが操作データとなっているため、その他の条件が合致した場合には同じ操作データに対して暗号化処理及び削除処理を実行する。もし先に削除処理が実行されている場合には暗号化対象のデータが存在しないため、暗号化処理は実行しなくてもよい。
さらに、重複の設定のうちORのラジオボタン1018を選択すると、フィルタリング対象のデータが重複した場合に条件が合致するレポートポリシーのフィルタリング処理を同じフィルタリング対象のデータに対してそれぞれ個別に実行する。例えば図16の「ポリシー1」及び「ポリシー2」ではいずれもフィルタリング対象のデータが操作データとなっているため、その他の条件が合致した場合には同じ操作データに対して暗号化処理を実行し、別途削除処理も実行する。そのため、もし先に削除処理が実行されている場合であっても、暗号化処理が実行されたフィルタリング済のログデータは作成されることになる。
このような重複の設定項目は図9のステップS11においてIoTコントローラ24がIoTサーバ10から受信するポリシーデータに含まれる。さらに、レポートポリシーに基づいて「ポリシー1」や「ポリシー2」といったように各ポリシーのフィルタリング処理をフィルタリング対象のデータに対して実行する順番は、図16の説明で述べたように優先順位が設定されている場合には優先順位の順番に沿って実行する。
次に、ステップS66においてユーザが図20において示される適用ボタン1020を選択することによって、ステップS63、S64、S65で説明したユーザの設定が適用される。適用されたポリシーの設定は適用先として設定された組織の識別情報と関連付けて管理され、図9で示したようにIoTサーバ10からIoTコントローラ24に対して提供される。
なお、図20で示したポリシー名を選択すると、選択されたポリシー名に対応するポリシーの内容(図16で示されるユーザ、設置場所等の項目)がクライアント装置32の表示画面上に表示され、内容を確認することができる。
なお、図20で示した例ではラジオボタンの選択によってユーザはポリシーの情報を設定しているが、他の方法で設定してもよい。なお、図20で示したポリシーの設定画面1000をIoTコントローラ24が制御することによって画像形成装置22の操作パネル28に表示させ、操作パネル28をユーザが操作することによって同様にポリシーを設定又は更新できるようにしてもよい。
また、上記実施例ではクライアント装置32がIoTサーバ10へアクセスすることによってポリシーを更新する例を説明したが、クライアント装置32がIoTコントローラ24にネットワークを介してアクセスすることによって図20で示したポリシーの設定画面1000を表示画面に表示し、同様にIoTコントローラ24が記憶するポリシーデータを設定又は更新してもよい。
このような場合にはIoTコントローラ24は必ずしもIoTサーバ10からポリシーデータを取得する必要はないが、設定されたポリシーはIoTサーバ10へ送信し、IoTサーバ10で管理されているポリシーデータを更新する。
IoTコントローラ24は、IoTサーバ10へログデータを送信する際に、フィルタリング処理を実行する対象となるログデータの種類にログデータに対応する処理を実行したデバイスの利用者やデバイスの設置場所といったIoTデバイス30の属性情報を含むフィルタリング処理を実行する条件を関連付けたポリシーを参照してフィルタリング処理を施すため、IoTデバイス30の運用や利用者の組織、さらにはログデータをどのように活用したいかといったユーザ個別の事情を考慮したログデータの処理を実現できる。
また、IoTコントローラ24ごとにレポートポリシーを異ならせることができるので、同じユーザであっても、ユーザが複数の異なる環境(例えば複数のオフィス)を運用していれば、それぞれの環境に設置したIoTコントローラ24に対して異なるレポートポリシーを設定するだけで、ユーザは環境ごとの事情を考慮したレポートポリシーの運用が可能となる。
また、IoTデバイス30から直接IoTサーバ10へログデータを送信するのではなく、同じネットワークに接続されたIoTコントローラ24が一旦ログデータを収集し、IoTコントローラ24がレポートポリシーに従ったフィルタリング処理を実行した上でフィルタリング処理済のログデータをレポートデータとしてIoTサーバ10へ送信するため、IoTデバイス301つ1つに対してポリシーを設定する必要がない。
[他の実施形態]
第1の実施形態では、受信データフィルタリング処理部86が、IoTデバイス30から受信したIoTデバイスデータを、データフィルタポリシーに従い、フィルタリング処理を行う例を説明したが、これに限定されるものではない。
例えば他の実施形態としては図7のIoTコントローラ24から受信データフィルタリング処理部86及びデータフィルタポリシー記憶部95を削除し、受信データフィルタリング処理部86によるフィルタリング処理を無くした構成も可能である。
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。なお、本実施形態で説明した情報処理システム1は一例であって、用途や目的に応じて様々なシステム構成例があることは言うまでもない。