IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

特許7581268情報処理装置、情報処理装置の制御方法及びプログラム
<>
  • 特許-情報処理装置、情報処理装置の制御方法及びプログラム 図1
  • 特許-情報処理装置、情報処理装置の制御方法及びプログラム 図2
  • 特許-情報処理装置、情報処理装置の制御方法及びプログラム 図3
  • 特許-情報処理装置、情報処理装置の制御方法及びプログラム 図4
  • 特許-情報処理装置、情報処理装置の制御方法及びプログラム 図5
  • 特許-情報処理装置、情報処理装置の制御方法及びプログラム 図6
  • 特許-情報処理装置、情報処理装置の制御方法及びプログラム 図7
  • 特許-情報処理装置、情報処理装置の制御方法及びプログラム 図8
  • 特許-情報処理装置、情報処理装置の制御方法及びプログラム 図9
  • 特許-情報処理装置、情報処理装置の制御方法及びプログラム 図10
  • 特許-情報処理装置、情報処理装置の制御方法及びプログラム 図11
  • 特許-情報処理装置、情報処理装置の制御方法及びプログラム 図12
  • 特許-情報処理装置、情報処理装置の制御方法及びプログラム 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-01
(45)【発行日】2024-11-12
(54)【発明の名称】情報処理装置、情報処理装置の制御方法及びプログラム
(51)【国際特許分類】
   G06Q 50/10 20120101AFI20241105BHJP
【FI】
G06Q50/10
【請求項の数】 13
(21)【出願番号】P 2022016554
(22)【出願日】2022-02-04
(65)【公開番号】P2023114275
(43)【公開日】2023-08-17
【審査請求日】2023-09-26
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100090273
【弁理士】
【氏名又は名称】國分 孝悦
(72)【発明者】
【氏名】石川 亮
【審査官】酒井 優一
(56)【参考文献】
【文献】特表2021-525040(JP,A)
【文献】特開2007-150613(JP,A)
【文献】特開2018-107575(JP,A)
【文献】特開2008-107975(JP,A)
【文献】特開2019-016151(JP,A)
【文献】米国特許出願公開第2018/0026999(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
情報処理装置であって、
前記情報処理装置が行った通信の特徴を表す特徴情報を取得する取得手段と、
取得した、前記情報処理装置が行った通信の特徴を表す前記特徴情報に基づいて、前記情報処理装置に設定されることが推奨される利用環境であって、セキュリティに関する複数の設定値に対応する前記情報処理装置の利用環境を特定する特定手段と、
複数の利用環境の中から1つの利用環境の選択を受け付ける画面であって、前記特定された利用環境を識別可能に表示する画面を表示するように制御する表示制御手段と、
前記画面において選択された1つの利用環境に対応するセキュリティに関する複数の設定値を前記情報処理装置に設定する設定手段と、
を有する情報処理装置。
【請求項2】
前記特徴情報は、機器が送受信した通信パケットに基づく情報であることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記特徴情報は、機器が送受信する通信パケットの数を表す指標、通信パケットに含まれるアドレスの数を表す指標、通信パケットに使用されるプロトコルの種類の数を表す指標、及び通信パケットのヘッダ情報に含まれるTime to Live属性のバリエーション数を表す指標の内の少なくとも1つを含むことを特徴とする請求項1に記載の情報処理装置。
【請求項4】
前記特徴情報は数値ベクトル化されており、
前記情報処理装置の利用環境は、数値ベクトル化された前記特徴情報に基づいて特定されることを特徴とする請求項1に記載の情報処理装置。
【請求項5】
前記利用環境は、学習済モデルと取得した前記情報処理装置が行った通信の特徴を表す前記特徴情報とに基づいて前記情報処理装置の利用環境を推定することにより特定され、
前記学習済モデルは、前記情報処理装置とは異なる複数の機器が行った通信の特徴を表す特徴情報と前記複数の機器に設定された利用環境とに基づいて行う機械学習により生成される
ことを特徴とする請求項1に記載の情報処理装置。
【請求項6】
前記学習済モデルの生成のための前記機械学習に用いられる、前記複数の機器が行った通信の特徴を表す特徴情報は、所定の期間運用された当該複数の機器が行った通信の特徴を表す特徴情報であることを特徴とする請求項5に記載の情報処理装置。
【請求項7】
前記学習済モデルの生成のための前記機械学習は、
前記複数の機器が行った通信の特徴を表す特徴情報を入力データとして用い、
前記複数の機器に設定された利用環境を教師データとして用いて行う機械学習であることを特徴とする請求項5に記載の情報処理装置。
【請求項8】
前記画面は、前記情報処理装置のパネルに表示されることを特徴とする請求項1に記載の情報処理装置。
【請求項9】
前記特定手段は、前記画面において1つの利用環境の選択を受け付けた後に、前記情報処理装置の利用環境を特定することが可能であり、
前記表示制御手段は、さらに、前記特定手段により特定された利用環境が、当該1つの利用環境と異なる場合に、利用環境の選択を見直すことをユーザに促すメッセージを前記パネルに表示する
ことを特徴とする請求項8に記載の情報処理装置。
【請求項10】
前記複数の利用環境は、前記セキュリティに関する複数の設定値の設定を行うために分類された環境であり、
特定される前記利用環境は、前記情報処理装置が現在利用されている環境に対応する前記分類された環境である
ことを特徴とする請求項1に記載の情報処理装置。
【請求項11】
前記複数の利用環境は、社内のネットワーク環境、インターネットとの接続が禁止された環境、家庭内のネットワーク環境、及び、公共スペースのネットワーク環境のうちの少なくとも1つを含む
ことを特徴とする請求項10に記載の情報処理装置。
【請求項12】
情報処理装置の制御方法であって、
前記情報処理装置が行った通信の特徴を表す特徴情報を取得する取得工程と、
取得した、前記情報処理装置が行った通信の特徴を表す前記特徴情報に基づいて、前記情報処理装置に設定されることが推奨される利用環境であって、セキュリティに関する複数の設定値に対応する前記情報処理装置の利用環境を特定する特定工程と、
複数の利用環境の中から1つの利用環境の選択を受け付ける画面であって、前記特定された利用環境を識別可能に表示する画面を表示するように制御する表示制御工程と、
前記画面において選択された1つの利用環境に対応するセキュリティに関する複数の設定値を前記情報処理装置に設定する設定工程と、
を有する制御方法。
【請求項13】
情報処理装置を、
前記情報処理装置が行った通信の特徴を表す特徴情報を取得する取得手段と、
取得した、前記情報処理装置が行った通信の特徴を表す前記特徴情報に基づいて、前記情報処理装置に設定されることが推奨される利用環境であって、セキュリティに関する複数の設定値に対応する前記情報処理装置の利用環境を特定する特定手段と、
複数の利用環境の中から1つの利用環境の選択を受け付ける画面であって、前記特定された利用環境を識別可能に表示する画面を表示するように制御する表示制御手段と、
前記画面において選択された1つの利用環境に対応するセキュリティに関する複数の設定値を前記情報処理装置に設定する設定手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理装置の制御方法及びプログラムに関する。
【背景技術】
【0002】
セキュリティ対策として、情報機器が持つ各種セキュリティ関連機能は適切に設定されている必要がある。利用環境が単一固定的な情報機器であれば、その単一の利用環境に合わせこんだ設定値を出荷時に適用しておくことで、ユーザは何も意識することなく適切にセキュリティ対策が施された情報機器を利用することができる。
【0003】
例えば、複合機の利用環境に着目すると、オフィス環境での利用に限らず、在宅勤務での利用や、不特定多数の人で共有する公共スペースでの利用など利用環境が多様化している。利用環境に応じて適切なセキュリティ設定は異なるため、利用環境にあった適切な設定を行う必要がある。セキュリティの専門知識を持つ情報機器の管理者であれば、利用環境毎に設定変更が必要なことを認識し、利用環境にあわせて設定変更を行った上で利用するといった対策が取られている。
【0004】
特許文献1には、予め設定したセキュリティポリシーとネットワークの動作状況の特徴を紐づけて管理し、ネットワークの動作状況の特徴が変化したことを検知することで、セキュリティポリシー更新を支援する技術が提案されている。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2019-22099号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
個人利用する情報機器の増大、在宅ワークの増加などの背景から、専門的なセキュリティ知識を持たない利用者が情報機器の管理を行うケースが増えている。近年では、個人管理の情報機器は、セキュリティ管理者が対策を行っている企業ネットワーク内の情報機器よりも不十分なセキュリティ対策となりがちなことから、攻撃者からの情報機器に対する攻撃を受ける可能性が高まっている。セキュリティ対策における利用環境毎の推奨設定値の設定入力を支援する機能を情報機器に設けることが考えられるが、セキュリティの専門家ではない利用者は、利用する情報機器の利用環境がどの利用環境に該当するのか判断できないことがある。
【0007】
本発明は、推定される機器の利用環境を提示し、セキュリティ対策に係る適切な設定を支援できるようにすることを目的とする。
【課題を解決するための手段】
【0008】
本発明に係る情報処理装置は、前記情報処理装置が行った通信の特徴を表す特徴情報を取得する取得手段と、取得した、前記情報処理装置が行った通信の特徴を表す前記特徴情報に基づいて、前記情報処理装置に設定されることが推奨される利用環境であって、セキュリティに関する複数の設定値に対応する前記情報処理装置の利用環境を特定する特定手段と、複数の利用環境の中から1つの利用環境の選択を受け付ける画面であって、前記特定された利用環境を識別可能に表示する画面を表示するように制御する表示制御手段と、前記画面において選択された1つの利用環境に対応するセキュリティに関する複数の設定値を前記情報処理装置に設定する設定手段と、を有する。

【発明の効果】
【0009】
本発明によれば、推定される機器の利用環境を提示でき、セキュリティ対策に係る適切な設定を支援することが可能となる。
【図面の簡単な説明】
【0010】
図1】MFPと学習・推定サーバの接続形態を説明する図である。
図2】MFPのコントローラ部の構成例を示す図である。
図3】学習・推定サーバの構成例を示す図である。
図4】MFPのコントローラ部の機能構成例を示す図である。
図5】学習・推定サーバの機能構成例を示す図である。
図6】セキュリティ設定に係る画面構成を示す図である。
図7】学習モデルを用いた入出力の構造を説明する図である。
図8】学習モデルを利用したシステムの動作を説明する図である。
図9】MFPのデータ送信処理の例を示すフローチャートである。
図10】学習・推定サーバの学習済モデルの生成・更新処理の例を示すフローチャートである。
図11】MFPのデータ送信処理の例を示すフローチャートである。
図12】第1の実施形態における推定フェーズでの処理例を示すフローチャートである。
図13】第2の実施形態における推定フェーズでの処理例を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、本発明の実施形態を図面に基づいて説明する。
【0012】
(第1の実施形態)
図1は、本実施形態に係るMFP(Multi-Function Peripheral:複合機)100、132、133、134と、ゲートウェイ111、131と、学習・推定サーバ121の接続形態を説明する図である。MFP100と学習・推定サーバ121は、LAN(Local Area Network)110とゲートウェイ111とインターネット120を介して、接続されている。同様に、MFP132、133、134と学習・推定サーバ121は、LAN130とゲートウェイ131とインターネット120を介して、接続されている。
【0013】
以下では、MFP100を本実施形態で着目するユーザが直接利用するMFP(推定対象のMFP)とし、MFP132、133、134を他のユーザがどこかで利用しているMFPとして説明する。学習・推定サーバ121は、MFPベンダーが管理し同一ベンダーの利用者が共通で使うことができるサーバである。各MFP100、132、133、134は利用者毎に管理される。図1には、説明のために、着目するユーザが直接利用するMFP100とは異なるMFPとしてMFP132、133、134の3台を例示したが、実際は多数のユーザによって多くのMFPが利用され稼働している。また、着目するユーザが直接利用するMFPとして1台のMFP100を例示したが、着目するユーザが利用するMFPが複数台であっても良い。また、例えばLAN110とゲートウェイ111、LAN130とゲートウェイ131は、利用者の単位で個別のものが利用されている。
【0014】
MFP100は、ユーザとの入出力を行う操作部102、電子データを紙媒体に出力するプリンタ部103、及び紙媒体を読み込み電子データに変換するスキャナ部104を有する。操作部102とプリンタ部103とスキャナ部104はコントローラ部101に接続され、コントローラ部101の制御に従い複合機としての機能を実現する。図1では簡単のために図示を省略しているが、MFP132、133、134に関しても、コントローラ部101、操作部102、プリンタ部103、及びスキャナ部104を有する。
【0015】
ゲートウェイ111は、MFP100の通信をインターネット120との間で中継するネットワークルーターである。同様に、ゲートウェイ131は、MFP132、133、134の通信をインターネット120との間で中継するネットワークルーターである。学習・推定サーバ121は、MFP100、132、133、134の情報を収集して傾向を学習したり、MFP100、132、133、134からの要求に基づいて推定処理をしたりする。
【0016】
図2は、MFPのコントローラ部101の構成例を示すブロック図である。CPU(Central Processing Unit)201は、コントローラ部101内の主な演算処理を行う。CPU201は、バスを介してDRAM(Dynamic Random Access Memory)202と接続される。DRAM202は、CPU201が演算する過程で演算命令を表すプログラムデータや、処理対象のデータを配置するための作業メモリとしてCPU201によって使用される。CPU201は、バスを介してI/Oコントローラ203と接続される。I/Oコントローラ203は、CPU201の指示に従い各種デバイスに対する入出力を行う。
【0017】
I/Oコントローラ203にはSATA(Serial Advanced Technology Attachment) I/F205が接続される。SATA I/F205にフラッシュROM(Read Only Memory)211が接続される。CPU201は、フラッシュROM211をMFPの機能を実現するためのプログラム及びドキュメントファイルを記憶するために使用する。I/Oコントローラ203にはネットワークI/F204が接続される。ネットワークI/F204には有線LANデバイス210が接続される。CPU201は、ネットワークI/F204を介して有線LANデバイス210を制御することで、LAN110上の通信を実現する。
【0018】
I/Oコントローラ203にはパネルI/F206が接続される。CPU201は、パネルI/F206を介して操作部102に対するユーザ向けの入出力を実現する。I/Oコントローラ203にはプリンタI/F207が接続される。CPU201は、プリンタI/F207を介してプリンタ部103を利用した紙媒体の出力処理を実現する。I/Oコントローラ203にはスキャナI/F208が接続される。CPU201は、スキャナI/F208を介してスキャナ部104を利用した紙媒体の原稿の読み込み処理を実現する。
【0019】
例えば、コピー機能を実施する場合は、CPU201がSATA I/F205を介してフラッシュROM211からプログラムデータをDRAM202に読み込む。CPU201がDRAM202に読み込まれたプログラムに従い、パネルI/F206を介して操作部102に対するユーザからのコピー指示を検出する。CPU201はコピー指示を検出するとスキャナI/F208を介してスキャナ部104から原稿を画像データとして受け取りDRAM202に格納する。CPU201はDRAM202に格納した画像データに対して出力に適した色変換処理などを実施する。CPU201はDRAM202に格納した画像データをプリンタI/F207を介してプリンタ部103に転送し、紙媒体への出力処理を実施する。
【0020】
図3は、学習・推定サーバ121を実現するサーバ300の構成例を示すブロック図である。CPU301は、サーバ300内の主な演算処理を行う。CPU301は、バスを介してDRAM302と接続される。DRAM302は、CPU301が演算する過程で演算命令を表すプログラムデータや、処理対象のデータを配置するための作業メモリとしてCPU301によって使用される。CPU301は、バスを介してI/Oコントローラ303と接続される。I/Oコントローラ303は、CPU301の指示に従い各種デバイスに対する入出力を行う。I/Oコントローラ303にはSATA I/F304が接続される。SATA I/F304に記憶デバイス305が接続される。CPU301は、記憶デバイス305をサーバの各種機能を実現するためのプログラム及び設定値を記憶するために使用する。記憶デバイス305は、例えばハードディスクドライブ(HDD)やソリッドステートドライブ(SSD)などである。
【0021】
このように、CPU301、DRAM302、記憶デバイス305等のハードウェアは、いわゆるコンピュータを構成している。本実施形態では、説明のため、1つのCPU301が1つのメモリ(DRAM302)を用いて後述するフローチャートに示す各処理を実行する場合を例示するが、他の様態であっても構わない。例えば、複数のプロセッサ、RAM、記憶デバイスを協働させて後述するフローチャートに示す各処理を実行することもできる。また、複数のサーバコンピュータを用いて各処理を実行することもできる。サーバ300は、コンテナ化や仮想化技術を用いることで、複数の異なるテナントに学習・推定サーバの機能を提供することができる。
【0022】
図4は、MFPのコントローラ部101で実行されるソフトウェアが実現する機能構成例を示すブロック図である。コントローラ部101で実行されるソフトウェアはすべて、CPU201がフラッシュROM211に記憶されたプログラムをDRAM202に読み込んだ後に実行する。
【0023】
操作制御部401は、操作部102にユーザ向けの画面イメージを表示し、ユーザ操作を検知し、画面上に表示したボタン等の画面部品に紐づけられた処理を実行する。データ記憶部402は、他の制御部からの要求でフラッシュROM211に対してデータの書き込み及び読み出しを行う。例えば、ユーザが何らかの機器設定を変更したい場合、操作部102にユーザが入力した内容を操作制御部401が検知し、操作制御部401からの要求でデータ記憶部402が設定値としてフラッシュROM211に保存する。
【0024】
ジョブ制御部403は、他の制御部からの指示に従って、ジョブ実行の制御を行う。画像処理部404は、ジョブ制御部403からの指示に従って、画像データを用途ごとに適した形式に加工する。印刷処理部405は、ジョブ制御部403からの指示に従い、プリンタI/F207を介して、紙媒体に画像を印刷する。読み取り処理部406は、ジョブ制御部403からの指示に従い、スキャナI/F208を介して、原稿を読み込む。
【0025】
ネットワーク制御部407は、データ記憶部402に記憶された設定値に従い、システム起動時や設定変更検出時に、IPアドレスなどのネットワーク設定をTCP/IP制御部408に対して行う。TCP/IP制御部408は、他の制御部からの指示に従い、ネットワークI/F204を介して、ネットワークパケットの送受信処理を行う。
【0026】
セキュリティ設定制御部409は、MFPのセキュリティ設定に係る制御を行う。セキュリティ設定制御部409は、社内LAN、在宅、公共スペースといった利用環境と、それに対するセキュリティ関連の設定項目との対応関係を管理し、ユーザが利用環境を指定したことを契機に対応するセキュリティ関連設定を一括で設定できる。セキュリティ設定制御部409は、設定値を参照及び変更するためにデータ記憶部402を利用する。
【0027】
学習・推定サーバ通信部410は、ネットワーク制御部407を利用し、学習・推定サーバ121とMFP100との間で情報の受け渡しを行う。例えば、学習・推定サーバ通信部410は、ネットワーク制御部407へ指示することで、通信ログ抽出部411が抽出した通信ログなどの情報を学習・推定サーバ121に送信する。また、例えば、学習・推定サーバ通信部410は、推定処理部412からの指示に従い、ネットワーク制御部407へ指示することで、学習・推定サーバ121に利用環境の推定結果の要求を送信したり、学習・推定サーバ121から推定結果を受信したりする。
【0028】
通信ログ抽出部411は、ネットワーク制御部407を利用し、MFP100が行うデータの送受信に係る通信ログを抽出する。通信ログ抽出部411は、例えば、ネットワークパケットに付随する情報のうち、宛先と送信元のIPアドレス、TCP/UDPの種別、ポート番号、及びIPヘッダ情報を抽出する。この通信ログ抽出部411での抽出処理により、ペイロードと呼ばれるパケットのコンテンツ部分は除外される。
【0029】
推定処理部412は、画面表示時や一定期間の経過を契機に利用環境の推定処理を行う。推定処理部412は、例えば推定処理として、学習・推定サーバ121に利用環境の推定結果を要求することで推定結果(推定される利用環境の情報)を取得する。
【0030】
図5は、学習・推定サーバ121で実行されるソフトウェアが実現する機能構成例を示すブロック図である。学習・推定サーバ121で実行されるソフトウェアはすべて、CPU301が記憶デバイス305に記憶されたプログラムをDRAM302に読み込んだ後に実行する。
【0031】
MFP通信部501は、通信可能に接続されたMFPとの間の通信を制御する。MFP通信部501は、MFPから受信した通信ログ(特徴情報)や利用環境の設定値(設定情報)などの情報をデータ記憶部502に保存したり、MFPからの推定結果の要求を受け付けて推定部504で推定した結果をMFPに送信したりする。データ記憶部502は、他の機能部からの要求でクラウド上の分散リソースに対してデータの記憶及び読み出しを行う。
【0032】
学習部503は、データ記憶部502に保存された通信ログ(特徴情報)と利用環境の設定値(設定情報)の紐づけから、利用環境に対する通信ログの傾向を学習済モデルとして生成する。生成した学習済モデルは、データ記憶部502に保持される。推定部504は、MFP通信部501を介して受け取った推定結果の要求に応じて、推定結果を要求したMFPの利用環境を推定する。推定部504は、データ記憶部502に保存されている、推定結果の要求を行ったMFPの通信データと、生成済みの利用環境に対する通信ログの傾向をモデル化した学習済モデルとに基づいて、利用環境を推定する。
【0033】
図6(a)及び図6(b)は、操作部102に表示される、おすすめセキュリティ設定画面601を示す図である。図6(a)及び図6(b)において、利用環境社内LANボタン602は、設定対象のMFPの利用環境が社内LANである場合に適切とされる一連のセキュリティ設定を一括で設定するボタンである。利用環境在宅ボタン603は、設定対象のMFPの利用環境が在宅である場合に適切とされる一連のセキュリティ設定を一括で設定するボタンである。利用環境公共スペースボタン604は、設定対象のMFPの利用環境が公共スペースである場合に適切とされる一連のセキュリティ設定を一括で設定するボタンである。隔離ネットワークボタン605は、設定対象のMFPの利用環境が隔離ネットワークである場合に適切とされる一連のセキュリティ設定を一括で設定するボタンである。
【0034】
選択中の利用環境表示606は、ボタン602、603、604、605によって設定されたMFPの利用環境を表示している。利用環境として何が選択されたのかという情報は、それぞれ対応するボタンを押下したタイミングで、いつ押下されたのかという日時情報とともにデータ記憶部402に保存されている。利用環境推定結果表示607は、学習済モデルを用いた推定処理によって通信ログの傾向から推定されたMFPの利用環境を表示している。情報表示部608は、ユーザに各種情報を通知する表示領域である。
【0035】
図6(a)には、ボタン602、603、604、605によって選択された利用環境と、推定された利用環境が異なる場合の表示例を示している。この場合、セキュリティ設定に係るユーザの選択が適切でない可能性が高いため、情報表示部608を用いて図6(a)に示すような通知を行い、おすすめセキュリティ設定画面601によって設定を見直すことをユーザに促している。
【0036】
図6(b)には、ボタン602、603、604、605によって選択された利用環境と、推定された利用環境が一致する場合の表示例を示している。この場合、セキュリティ設定に係るユーザの選択が適切である可能性が高いため、情報表示部608を用いて図6(b)に示すような通知を行い、安心して利用いただけることをユーザに伝えている。
【0037】
なお、前述した例では、MFPの利用環境を、社内LAN、在宅、公共スペース、及び隔離ネットワークの4つのパターンとした場合を示したが、これに限定されるものではない。MFPの利用環境として他のパターンを設けても良いし、4つのパターンより少なくとも良く、設けた利用環境のパターンに応じて、セキュリティ設定のボタンを設ければ良い。
【0038】
また、本実施形態では、MFPの利用環境を在宅勤務などの利用シーン別とした例を示したが、単純にセキュリティレベル1、セキュリティレベル2などの強度のバリエーションとしていくつか用意する形態であっても良い。その場合には、通信ログに基づく利用環境についての学習及び推定がセキュリティ強度に対して行われることになるが、セキュリティ強度も利用シーンに紐づくため本質的には同じことをしている。
【0039】
図7は、本実施形態の学習モデルを用いた入出力の構造を示す概念図である。学習モデル(学習済モデル)701は、通信ログ(通信の特徴情報)702を入力として利用環境703を出力する。利用環境703は、本実施形態の例では表1に示すパターンによって構成される。
【0040】
【表1】
【0041】
利用環境「社内LAN」は、一般的なオフィス環境であり、多くの人が集まり、クラウドサービスを用いるためにインターネット接続も行っている環境を想定している。接続する情報機器の数は、他の利用環境に比べて最も多い。このような環境では、一般的に外部ネットワークとの境界に管理されたファイアウォールが設けられ、利用するユーザも社員のみに制限されている。この場合、利用環境側で行うセキュリティ対策と、各端末側で行うセキュリティ対策がバランスよく用いられるのが一般的である。
【0042】
利用環境「隔離ネットワーク」は、旧式のプロトコルを利用するなどの事情からインターネットとの接続をネットワークトポロジーとして遮断し、分離されたネットワークでの利用する環境を想定している。接続する情報機器の数は、比較的少ない。この場合、利用環境側で強固にセキュリティ対策を行うことで、端末側で行うセキュリティ対策の水準を緩和することができる。
【0043】
利用環境「在宅」は、在宅勤務時などを想定したホームネットワークで、家庭内で利用している小規模なLANをそのまま在宅での業務に利用している環境を想定している。接続する情報機器の数は、最も少ない。この場合、利用環境側で行うセキュリティ対策は信頼性が高くない前提で、バランスよく端末側のセキュリティ対策を行う必要がある。
【0044】
利用環境「公共スペース」は、不特定多数の人が出入りし、ネットワークを共有するオープンスペースな環境を想定している。例えば、空港のラウンジや、ゲスト利用できるコワーキングスペースなどがこの環境に該当し、厳しくない入室制限のもと利用することになる。接続する情報機器の数は、比較的多い。この場合、利用環境側で行うセキュリティ対策は基本的に信用せず、端末側で機能性をある程度犠牲にしてでもセキュリティ対策を行う必要がある。
【0045】
また、通信ログ702は、本実施形態の例では表2に示すデータによって構成される。
【0046】
【表2】
【0047】
トラフィック量は、単位時間当たりに送受信された通信パケットの数である。機器がネットワークに接続して受信できるのは、自機宛のユニキャスト通信、宛先を指定しないブロードキャスト、マルチキャストである。ブロードキャストとマルチキャストのトラフィック量は、ネットワーク内に存在する情報機器の数に比例して増えるため、接続するネットワークの規模を推定可能な情報である。より明確にネットワークの規模を特定するために、ユニキャスト通信を除外しても良い。トラフィック量の値の大きさによって、利用環境が、大規模なネットワーク(社内LAN、隔離ネットワーク)、中規模な公共スペース、小規模な在宅の何れである可能性が相対的に高いかを推定できる。例えば、トラフィック量の値が大きいとネットワーク内に存在する情報機器の数が多い大規模なネットワークである可能性が高い。また、トラフィック量の値が小さいと小規模な在宅である可能性が高く、トラフィック量の値が中程度であれば中規模な公共スペースである可能性が高い。
【0048】
宛先アドレスの数は、単位時間当たりに送受信された通信パケットが宛先としていたアドレスのバリエーション数である。機器が外部のいろいろなサービスを利用すると、宛先アドレスの数の値が大きくなる。宛先アドレスの数の値が極端に小さいと、通信が制限されている隔離ネットワークである可能性が相対的に高い。
【0049】
送信元アドレスの数は、単位時間当たりに送受信された通信パケットが送信元としていたアドレスのバリエーション数である。ネットワーク内に大量の情報機器が存在すると、送信元アドレスの数の値が大きくなる。利用環境に応じた送信元アドレスの数の大きさは、トラフィック量と類似した傾向がみられる。しかし、送信元アドレスの数は、トラフィック量とは本質的に異なるデータであるため、トラフィック量と組み合わせて傾向を見ることで利用環境の推定精度をより向上させることができる。
【0050】
プロトコルの種類数は、単位時間当たりに送受信された通信パケットが利用していたプロトコルのバリエーション数である。ネットワークに接続する情報機器の数が多ければ、それに比例してプロトコルの種類数の値が大きくなる。また、機能制限の強いネットワーク環境では、プロトコルの種類数の値が小さくなる。プロトコルの種類数の値が小さいと、隔離ネットワーク又は公共スペースである可能性が高い。
【0051】
IPヘッダのTTL(Time to Live)属性のバリエーションは、単位時間当たりに送受信された通信パケットに付随したTTL値のバリエーション数である。TTL値は、ルータを経由する度に減算される値であるため、たくさんのルータを経由して到達したパケットでは小さい値になる。一様に大きいTTL値しかなく、TTL属性のバリエーションが少ない環境は、小規模なネットワークである可能性が高い。TTL値について大きい値から小さい値まであり、TTL属性のバリエーションが多い環境は、大規模なネットワークである可能性が高い。
【0052】
このように、それぞれのパラメータが、ネットワーク規模などの特徴に対して、ある程度の傾向を持つが、その判断を行うための閾値を論理的に決定することは難しい。また、複数のパラメータを組み合わせて複合的に決定することで利用環境の推定を行うことが好ましい。このようなことから、本実施形態では、学習アルゴリズムを用いて、利用環境とそこで取得できた通信ログの組み合わせから推定処理を行う。多くの実験を重ねることで、学習アルゴリズムを用いずに閾値を決定することもできるため、本技術はそうした学習アルゴリズムを用いない閾値に基づく手法であっても適用可能な技術である。
【0053】
入力である通信ログ(通信の特徴情報)については、送受信された通信パケットから得られたそれぞれの情報(データ)に加工を施すことで数値ベクトル化し、推定の精度を向上させる。トラフィック量とTTL属性のバリエーションに関しては、予め学習データとしての情報を用いて単位時間毎における数をそれぞれヒストグラム化し、例えば各レンジに同量のデータを含むように5つのレンジに区分する閾値を決定する。決定した閾値に基づいて、単位時間当たりにおけるトラフィック量とTTL属性のバリエーションを、対応するレンジの値である1から5の整数値に置き換えて入力として用いる。なお、5つのレンジに区分する例を示したが、区分するレンジ数は任意であり、例えば他のパラメータの値域等に応じて適宜設定すれば良い。
【0054】
また、宛先アドレスの数、送信元アドレスの数、及びプロトコルの種類数に関しては、単位時間内に1、2度の少ない発生回数のものを除外した上で、一意な値の出現バリエーションを用いる。こうすることで発生頻度の低い通信を除外して通信の傾向を見ることができる。例えば、宛先アドレスの数及び送信元アドレスの数に関しては、それぞれ単位時間内に送受信したパケットに重複して含まれる同じ値を持つパケットを数える。そして、最も重複回数の多い値から順に対応するパケットを選び、全パケットに対して残り1%となった時点で、それまでに選択された値の数を用いる。このように単位時間内に送受信したパケットの宛先アドレス及び送信元アドレスのそれぞれについて、占有率上位99%を抽出したときのアドレスの数を用いる。同様に、プロトコルの種類数に関しては、単位時間内に送受信したパケットに重複して含まれる同じプロトコルを利用したパケットを数える。そして、最も重複回数の多いプロトコルから順に対応するパケットを選び、全パケットに対して残り1%となった時点で、それまでに選択されたプロトコルの種類の数を用いる。このように単位時間内に送受信したパケットに利用されるプロトコル種別から占有率上位99%を抽出したときのプロトコルの種類の数を用いる。単位時間の取り方にもよるが、おおむね1~20程度の値に収まるのでこの値を用いる。仮に、20を大きく上回る値が出た場合には、値を20に丸めるなどの処理をしても良い。
【0055】
一般的に、値域の大きく異なるパラメータの値を学習アルゴリズムにそのまま入力した場合、値域の差が推定精度に影響してしまうことがある。例えば、トラフィック量だけが1~10000の値域であり、他のパラメータが1~10の値域であった場合、トラフィック量に強く反応する推定結果になってしまう。それぞれのパラメータをバランスよく用いるために、このような数値ベクトル化し値域の差を低減することによって推定精度を向上させることができる。
【0056】
学習モデル(学習済モデル)701としては、入力である通信ログ702と、出力に対応する利用環境703の組み合わせを実環境で多数のサンプルを収集し、これを基に学習することで生成することができる。本実施形態では、通信ログ702に係る単位時間当たりのパラメータ配列を1次元配列とし、それを複数回サンプリングして時系列に並べることで2次元配列を形成する。この2次元配列の情報と利用環境の設定値を用い、Convolutional Neural network(CNN:畳み込みニューラルネットワーク)モデルを生成する一般的なアルゴリズムを利用して学習済モデルを生成する。なお、k近傍法やサポートベクターマシンといったアルゴリズムを利用して分類器を構成してもよい。
【0057】
図8(a)及び図8(b)を参照して、図7に示した学習モデルの構造を利用したシステムの動作を説明する。図8(a)は、学習フェーズのシステムの動作を説明する図である。MFP132、133、134は、おすすめセキュリティ設定画面601を用いて機器に設定された表1に示した利用環境の設定値と、通信ログ抽出部411が抽出した表2に示した情報を含む通信ログを、学習・推定サーバ121に定常的に送信する(P11)。本実施形態では、説明のため3台しか記載していないが、実際には他でも運用される多数(例えば、数百万台)の機器のデータ(利用環境の設定値及び通信ログ)が収集される。こうして得られた、利用環境の設定値と通信ログの組み合わせを、図7で説明したように数値ベクトル化を施し、機械学習アルゴリズムで計算させ学習済モデルを生成する。このように利用環境の設定値と通信の特徴を紐づけて学習することによって学習済モデルを生成する(P12)。実際には利用環境毎に取得されるデータに偏りが発生するので、特定の利用環境に対する過学習にならないようにデータのサンプル数を整えたり、利用環境毎に標準偏差を基に外れ値となるようなデータを取り除いたりといったデータの加工をする。
【0058】
図8(b)は、推定フェーズのシステムの動作を説明する図である。MFP100は、ネットワークへの接続を完了し、MFPとしての動作を実現するために通信を開始している。MFP100は、通信ログを学習・推定サーバ121に送信する(P21)。例えば、MFP100は、通信ログ抽出部411により通信ログが例えば30秒間分収集できたタイミングで、抽出した表2に示した特徴情報を含む通信ログを学習・推定サーバ121に送信する。この学習・推定サーバ121への通信ログの送信は、例えば100パケットなど一定量の通信が収集できたことを条件として送信するようにしても良いし、逐一送信する形態や、何らかのユーザ操作を条件として送信するようにしても良い。
【0059】
その後、MFP100は、学習・推定システム121に推定結果の要求を送信する(P22)。例えば、MFP100は、特定画面表示などを契機に学習・推定サーバ121に推定結果を要求する。
【0060】
学習・推定サーバ121は、MFP100における通信の特徴を基に、MFP100の利用環境を推定する(P23)。学習・推定サーバ121は、MFP100から推定結果の要求を受けると、それまでMFP100から受信した通信ログを、学習フェーズで生成した学習済モデルに入力することで、出力として利用環境を取得する。
【0061】
学習・推定サーバ121は、学習済モデルの出力として得られたMFP100の利用環境を推定結果としてMFP100に送信する(P24)。
【0062】
MFP100は、学習・推定サーバ121からの推定結果を基に、利用環境毎の設定を支援する(P25)。MFP100は、学習・推定サーバ121によって推定された利用環境を基に、図6において示した利用環境推定結果表示607や、選択中の利用環境と推定された利用環境との比較結果などの情報表示部608に表示する情報を決定する。
【0063】
前述した一連の動作が行われることで、ユーザが利用していない他のMFPの利用環境の設定値と通信ログから機械学習を行い、ユーザが利用するMFPの通信ログから、設定するのが適切である可能性の高い利用環境の設定値を提示することができる。これにより、ユーザが利用環境の選択時に判断がつけられずに設定をやめてしまったり、誤った利用環境の設定で利用してしまったりすることを抑制できる。
【0064】
図9を参照して、図8(a)の処理P11のように、学習フェーズにおいてMFP132、133、134が通信ログを学習・推定サーバ121に通知する処理について説明する。図9は、MFP132、133、134のデータ送信処理の例を示すフローチャートである。図9のフローチャートの処理は、CPU201がフラッシュROM211に格納されたプログラムをDRAM202に読み込んだ後、そのプログラムを実行することにより実現される。なんらかの通信が行われるたびに、図9のフローチャートの処理が開始される。
【0065】
ステップS901では、通信ログ抽出部411は、利用環境が設定されているか否かを判定する。通信ログ抽出部411は、おすすめセキュリティ設定画面601を用いて設定された利用環境が何れであるかという情報がデータ記憶部402に保存されていることを確認することによって、利用環境が設定されているか否かを判定する。利用環境が設定されていると判定した場合(ステップS901でYES)には、処理はステップS902へ進み、利用環境が設定されていないと判定した場合(ステップS901でNO)には、図9のフローチャートの処理を終了する。
【0066】
ステップS902では、通信ログ抽出部411は、データ利用に対してユーザによる同意があるか否かを判定する。MFP132、133、134では、初回起動時やネットワーク接続の設定時といったタイミングで、操作部102上にポップアップ表示などを行い、データ利用を行ってよいかをMFPのユーザに確認する。ユーザがデータ利用に同意又は拒否した結果をデータ記憶部402に保存しておく。ステップS902の処理では、通信ログ抽出部411は、データ記憶部402に保存された、データ利用に同意したのか、又は拒否したのかの情報を確認することによって、データ利用に同意しているか否かを判定する。データ利用に同意していると判定した場合(ステップS902でYES)には、処理はステップS903へ進み、データ利用に同意していないと判定した場合(ステップS902でNO)には、図9のフローチャートの処理を終了する。
【0067】
ステップS903では、通信ログ抽出部411は、MFP132、133、134が一定期間運用されたか否かを判定する。通信ログ抽出部411は、データ記憶部402を確認し、おすすめセキュリティ設定画面601を用いて利用環境が設定された日時を確認することによって、一定期間運用されたか否かを判定する。通信ログ抽出部411は、例えば、利用環境が設定されてから1週間など予め決められた閾値を経過していた場合には、MFPが一定期間運用されたとみなす。一定期間運用されたと判定した場合(ステップS903でYES)には、処理はステップS904へ進み、一定期間運用されていないと判定した場合(ステップS903でNO)には、図9のフローチャートの処理を終了する。このように一定期間経過していない機器からの情報を送信しないことで、この後すぐに設定が変更されてしまうかもしれないデータを学習データから除外することができ、推定精度の向上が見込める。なお、本実施形態では、一定期間という時間を条件に分岐したが、一定の通信量の経過や、一定回数の印刷ジョブ受信、何らかのユーザ操作を条件に処理は分岐させてもよい。
【0068】
ステップS904では、通信ログ抽出部411は、通信ログから学習・推定サーバ121との通信に係る通信ログを除外する。通信ログ抽出部411は、通信相手のIPアドレスやURL(uniform resource locator)が学習・推定サーバ121に割り当てたものであった場合、その通信ログを削除する。学習・推定サーバ121との通信は、本実施形態で学習用に情報を収集する機器がかならず行っているものであり、機器毎の利用環境によって変わるものではない。この利用環境によらず不変な通信を除外することで、利用環境毎に変わる部分に着目して傾向学習を行うことができ、推定精度の向上が見込める。
【0069】
ステップS905では、通信ログ抽出部411は、特徴情報を抽出する。通信ログ抽出部411は、送受信される通信パケットデータから、表2に示した情報を抜き出す処理を行うことで特徴情報を抽出する。情報の単位としては、例えば30秒毎などの予め決めた単位時間当たりの集計値となるため、一定期間パケットを収集する処理がこのステップで行われる。本実施形態では、時間を収集単位としているが、例えば100パケットなどデータの量を収集単位としても良い。
【0070】
ステップS906では、通信ログ抽出部411は、ステップS905で抽出した特徴情報からなる通信ログを学習・推定サーバ121に送信する。通信ログ抽出部411は、学習・推定サーバ通信部410に依頼することで、ネットワーク制御部407を介して通信ログを学習・推定サーバ121に送信する。このとき、通信ログとともに、データ記憶部404に保存されている利用環境の設定値が学習・推定サーバ121に送信される。
以上説明したように、図9のフローチャートの処理を実行することで、各地で利用されている多数のMFPから、利用環境の設定値と通信ログを収集することができる。
【0071】
図10を参照して、学習・推定サーバ121が、学習用データとしての通信の特徴情報(通信ログ)及び利用環境の設定情報(設定値)を受信して、学習済モデルの生成及び更新を行う処理について説明する。図10は、学習・推定サーバ121での学習済モデルの生成・更新処理の例を示すフローチャートである。図10のフローチャートの処理は、CPU301が記憶デバイス305に保存されたプログラムをDRAM302に読み込んだ後、そのプログラムを実行することにより実現される。MFP132、133、134から通信ログを受信すると、図10のフローチャートの処理が開始される。
【0072】
ステップS1001では、学習・推定サーバ121は、MFPから受信したデータ(通信ログ及び利用環境の設定値)を保存する。このステップS1001の処理は、図9のステップS905でMFPが送信したデータを受信して、データ記憶部502に保存する処理である。ここで、MFPの利用環境が表1で説明した隔離ネットワークである場合には、インターネットを介したデータの収集ができないので、例えば次のようにしてデータを収集すれば良い。例えば、MFPが接続されているネットワークと学習・推定サーバ121との間にVPN(Virtual Private Network)接続を確立することで、インターネットを経由することなく通信可能に接続しデータを収集する。また、サービスエンジニアが利用者を訪問時にMFPで蓄積した通信ログを可搬性の記憶媒体などに複製した後、サービス拠点にある端末などから学習・推定サーバ121にデータを送信しても良い。
【0073】
ステップS1002では、学習・推定サーバ121は、所定の基準時刻から一定期間が経過したか否かを判定する。例えば、週に一度などの予め決めた周期で学習モデルを更新する場合、学習・推定サーバ121は、MFPからのデータ収集が1週間行われたか否かを判定する。一定期間が経過したと判定した場合(ステップS1002でYES)には、処理はステップS1003へ進み、一定期間が経過していないと判定した場合(ステップS1002でNO)には、図10のフローチャートの処理を終了する。なお、本実施形態では、一定期間という時間を条件にしているが、受信した通信ログのデータ数が所定数などのデータ量を条件としても良い。
【0074】
ステップS1003では、学習・推定サーバ121は、蓄積した受信データを数値ベクトル化する。学習・推定サーバ121は、図7の説明として記載した入力である通信ログに施す数値ベクトル化処理を実施することで、受信した通信ログの情報を値域の揃った整数の配列データに変換する。この1次元配列データである通信ログを個々のMFP毎に時系列に並べて2次元配列データを得る。この2次元配列データを入力データとし、その2次元配列データに対応するMFPに設定された利用環境の設定値を教師データとして1つの学習データとする。同様の処理をすべてのMFPの受信データに対して行うことで、複数の学習データからなる学習データセットを得る。
【0075】
ステップS1004では、学習・推定サーバ121は、学習アルゴリズムを用いて計算を行う。学習・推定サーバ121は、ステップS1003で生成した学習データセットをConvolutional Neural network(CNN:畳み込みニューラルネットワーク)で計算する。
【0076】
ステップS1005では、学習・推定サーバ121は、ステップS1004での計算結果に基づいて学習済モデルを生成する。学習・推定サーバ121は、ステップS1004で計算した結果を抽出し、学習済モデルのデータをデータ記憶部502に学習済モデル候補として保存する。
【0077】
ステップS1006では、学習・推定サーバ121は、ステップS1005で学習済モデル候補として保存した学習済モデルの推定精度を測定する。学習・推定サーバ121は、収集済みのMFPのデータを用いて、ステップS1005で学習済モデル候補として保存した学習済モデルの精度を検証する。検証では、学習・推定サーバ121は、例えばホールドアウト法などの、学習に用いていないデータを検証に用いて推定精度を測定し、得られた精度情報をデータ記憶部502に保存する。
【0078】
ステップS1007では、学習・推定サーバ121は、学習済モデルの推定精度が向上したか否かを判定する。学習・推定サーバ121は、ステップS1006で今回測定した、ステップS1005で学習済モデル候補として保存した学習済モデルの推定精度が、前回までの処理で保存されている学習済モデルの推定精度より向上したか否かを判定する。推定精度が向上したと判定した場合(ステップS1007でYES)には、処理はステップS1008へ進み、推定精度が向上しなかったと判定した場合(ステップS1007でNO)には、図10のフローチャートの処理を終了する。なお、本実施形態では、プログラムの処理として一律に判定するとしてが、実際は特定の利用環境の精度は上がるが、他の利用環境の精度が下がるなどの、一概にどちらの性能が良いか機械的な判断が難しい場合がある。そうした場合を考慮して、精度の確認は人間がその都度比較検討した結果判断して、学習・推定サーバ121に指示するようにしても良い。
【0079】
ステップS1008では、学習・推定サーバ121は、学習済モデルの更新を行う。学習・推定サーバ121は、データ記憶部502に保存されている学習済モデルを、ステップS1005で学習済モデル候補として保存した学習済モデルで上書きし更新する。
以上説明したように、図10のフローチャートの処理を実行することで、学習・推定サーバ121は、収集したMFPの通信ログ及び利用環境の設定値に基づく学習データを元に、利用環境の推定処理を行うための学習済モデルを生成することができる。
【0080】
図11を参照して、図8(b)の処理P21のように、推定フェーズにおいてMFP100が通信ログを学習・推定サーバ121に通知する処理について説明する。図11は、MFP100のデータ送信処理の例を示すフローチャートである。図11のフローチャートの処理は、CPU201がフラッシュROM211に格納されたプログラムをDRAM202に読み込んだ後、そのプログラムを実行することにより実現される。なんらかの通信が行われるたびに、図11のフローチャートの処理が開始される。
【0081】
ステップS1101では、通信ログ抽出部411は、通信ログから学習・推定サーバ121との通信に係る通信ログを除外する。通信ログ抽出部411は、通信相手のIPアドレスやURLが学習・推定サーバ121に割り当てたものであった場合、その通信ログを削除する。学習フェーズにおいて、学習・推定サーバ121との通信に係る通信ログを用いていないため、推定フェーズにおいても学習・推定サーバ121との通信に係る通信ログ除外することで、より高い推定精度が見込める。
【0082】
ステップS1102では、通信ログ抽出部411は、特徴情報を抽出する。通信ログ抽出部411は、送受信される通信パケットデータから、表2に示した情報を抜き出す処理を行うことで特徴情報を抽出する。
【0083】
ステップS1103では、通信ログ抽出部411は、ステップS1102で抽出した特徴情報からなる通信ログを学習・推定サーバ121に送信する。通信ログ抽出部411は、学習・推定サーバ通信部410に依頼することで、ネットワーク制御部407を介して通信ログを学習・推定サーバ121に送信する。
以上説明したように、図11のフローチャートの処理を実行することで、MFP100の利用環境の推定処理において入力となる通信ログを準備することができる。
【0084】
図12(a)及び図12(b)を参照して、推定フェーズにおいて、学習・推定サーバ121が推定結果の要求又は通信ログを受信したときの処理と、MFP100が利用環境の推定結果を取得する処理について説明する。図12(a)は、学習・推定サーバ121の処理例を示すフローチャートである。図12(a)のフローチャートの処理は、CPU301が記憶デバイス305に保存されたプログラムをDRAM302に読み込んだ後、そのプログラムを実行することにより実現される。MFP100から通信ログ又は推定結果の要求を受信すると、図12(a)のフローチャートの処理が開始される。
【0085】
ステップS1201では、学習・推定サーバ121は、MFP100から受信したデータが推定結果の要求であるのか否かを判定する。具体的には、学習・推定サーバ121は、MFPから受信したデータが推定結果の要求であるのか、又は通信ログ(特徴情報)であるのかを判定する。推定結果の要求であると判定した場合(ステップS1201でYES)には、処理はステップS1203へ進み、推定結果の要求ではなく通信ログであると判定した場合(ステップS1203でNO)には、処理はステップS1202へ進む。
【0086】
通信ログを受信したと判定した場合に進むステップS1202では、学習・推定サーバ121は、MFP100から受信した特徴情報(通信ログ)を保存する。学習・推定サーバ121は、MFP100が送信してきた通信ログをデータ記憶部502に保存するが、既に過去に受信した通信ログが保存されているので、上書きせずに受信時刻と共に追加する形で保存する。ステップS1202の処理を実行すると、図12(a)のフローチャートの処理を終了する。
【0087】
推定結果の要求を受信したと判定した場合に進むステップS1203では、学習・推定サーバ121は、累積した特徴情報(通信ログ)を数値ベクトル化する。学習・推定サーバ121は、現在までに受信してデータ記憶部502に保存している、MFP100に対応する通信ログを数値ベクトル化する。数値ベクトル化の処理は、図7の説明として記載した数値ベクトル化処理であり、学習フェーズで行う同様の処理を実行する。
【0088】
ステップS1204では、学習・推定サーバ121は、MFP100の利用環境の推定処理を実行する。学習・推定サーバ121は、図10のステップS1008でデータ記憶部502に保存した学習済モデルを用い、ステップS1203で作成した数値ベクトル化された通信ログを入力データとして学習済モデルに入力し、出力として利用環境の推定結果を得る。
【0089】
ステップS1205では、学習・推定サーバ121は、ステップS1204で取得した利用環境の推定結果をMFP100に対して送信する。ステップS1205の処理を実行すると、図12(a)のフローチャートの処理を終了する。
【0090】
図12(b)は、MFP100が利用環境の推定結果を取得する処理の例を示すフローチャートである。図12(b)のフローチャートの処理は、CPU201がフラッシュROM211に格納されたプログラムをDRAM202に読み込んだ後、そのプログラムを実行することにより実現される。例えば、図6に示したおすすめセキュリティ設定画面601の表示時に、図12(b)のフローチャートの処理が開始される。また、例えば、一日に一度などの定期的なタイミングで、図12(b)のフローチャートの処理が開始されるようにしても良い。
【0091】
ステップS1211では、MFP100は、利用環境の推定結果の要求を学習・推定サーバ121に送信する。
ステップS1212では、MFP100は、推定結果の要求に対応する応答として学習・推定サーバ121から送信された利用環境の推定結果を受信する。受信する利用環境の推定結果は、図12(a)のステップS1204で行われた推定処理で決定され、図12(a)のステップS1205で学習・推定サーバ121から送信されたものである。
【0092】
ステップS1213では、MFP100は、利用環境の推定結果を表示する。例えば、MFP100は、おすすめセキュリティ設定画面601の表示を契機に利用環境の推定結果を取得した場合には、取得した推定結果を利用環境推定結果表示607に表示する。また、例えば、MFP100は、一日に一度の定期的なタイミングで推定結果を取得した場合には、現在の設定値と比較した上で適切な文言を情報表示部608に表示する。なお、おすすめセキュリティ設定画面601による設定が行われていなかった場合には、おすすめセキュリティ設定画面601による設定をユーザに促す表示をしても良い。
以上説明したように処理を実行することで、MFP100は、利用環境の推定結果を取得してユーザに提示でき、ユーザによる適切な利用環境の設定を支援することができる。
【0093】
第1の実施形態によれば、ユーザがセキュリティの専門知識を有さなくても、他のユーザが利用している多数のMFPの設定傾向に基づいて、利用環境として適切である可能性が高い利用環境を選択し、セキュリティに係る適切な設定をすることが可能となる。また、例えば、ユーザが認識する利用環境が大多数の他のユーザが認識する利用環境と異なっていた場合にも、適切である可能性が高い利用環境を提示し、不適切なセキュリティに係る設定となってしまうことを防止することが可能となる。また、例えば、利用環境の変化により適切であったセキュリティに係る設定が不適切な設定となってしまった場合に、現在において適切である可能性が高い利用環境を提示し、セキュリティに係る設定を適切な設定に変更することが可能となる。
【0094】
(第2の実施形態)
第1の実施形態では、学習・推定サーバ121が利用環境の推定処理を実施するが、第2の実施形態では、学習・推定サーバ121ではなく、エッジデバイスである情報機器側で利用環境の推定処理を実施する例について説明する。図1図10を参照して説明したシステム構成と学習済モデルの生成方法までは第1の実施形態と同様である。図10のステップS1008で学習・推定サーバ121のデータ記憶部502に保存した学習済モデルを、第2の実施形態では、予めMFP100のデータ記憶部402に配置しておく。これは機器出荷時に配置しておくが、ファームウェアバージョンアップの機構を設け、他のプログラムを更新するタイミングで合わせて更新しても良い。また、学習済モデルのみ個別に更新する機構を設けても良い。
【0095】
図13(a)及び図13(b)を参照して、第2の実施形態における推定フェーズでの処理について説明する。図13(a)は、推定フェーズにおけるMFP100のデータ収集処理の例を示すフローチャートである。図13(a)のフローチャートの処理は、CPU201がフラッシュROM211に格納されたプログラムをDRAM202に読み込んだ後、そのプログラムを実行することにより実現される。なんらかの通信が行われるたびに、図13(a)のフローチャートの処理が開始される。
【0096】
ステップS1301では、通信ログ抽出部411は、特徴情報を抽出する。通信ログ抽出部411は、送受信される通信パケットデータから、表2に示した情報を抜き出す処理を行うことで特徴情報を抽出する。
ステップS1302では、通信ログ抽出部411は、ステップS1302で抽出した特徴情報をデータ記憶部402に保存する。
以上説明したように処理を実行することで、MFP100は、利用環境の推定処理において入力データとなる通信ログを定常的に取得することができる。
【0097】
図13(b)は、推定フェーズにおけるMFP100の推定処理の例を示すフローチャートである。図13(b)のフローチャートの処理は、CPU201がフラッシュROM211に格納されたプログラムをDRAM202に読み込んだ後、そのプログラムを実行することにより実現される。例えば、図6に示したおすすめセキュリティ設定画面601の表示時に、図13(b)のフローチャートの処理が開始される。また、例えば、一日に一度などの定期的なタイミングで、図13(b)のフローチャートの処理が開始されるようにしても良い。
【0098】
ステップS1311では、推定処理部412は、累積した特徴情報(通信ログ)を数値ベクトル化する。推定処理部412は、ステップS1302でデータ記憶部402に記録した通信ログを、図7の説明として記載した方法でデータを加工し、学習済モデルが入力として扱える配列構造に変換する。
【0099】
ステップS1312では、推定処理部412は、利用環境の推定処理を実行する。推定処理部412は、図10に示した処理で生成された後にデータ記憶部404に保存してある学習済モデルを用い、ステップS1311で作成した数値ベクトル化された通信ログを入力データとして学習済モデルに入力し、出力として利用環境の推定結果を得る。
【0100】
ステップS1313では、推定処理部412は、利用環境の推定結果を表示する。例えば、おすすめセキュリティ設定画面601の表示を契機に利用環境の推定結果を取得した場合には、取得した推定結果を利用環境推定結果表示607に表示する。また、例えば、一日に一度の定期的なタイミングで推定結果を取得した場合には、現在の設定値と比較した上で適切な文言を情報表示部608に表示する。
以上説明したように処理を実行することで、MFPが学習・推定サーバに常時接続していない環境でも、利用環境の推定結果を取得してユーザに提示することができ、利便性が向上する。ユーザは、提示される推定結果に基づいて利用環境として適切である可能性が高い利用環境を選択し、セキュリティに係る適切な設定をすることが可能となる。
【0101】
なお、前述した第1の実施形態及び第2の実施形態では、適切である可能性が高い利用環境の選択は、1つの学習済モデルを用いて決定するようにしている。これに限らず、利用環境の各パターンについて、その適合性を出力する学習済モデルを準備し、出力された適合性に基づいて判定を行い、最も適合性が高い利用環境のパターンを適切である可能性が高い利用環境として選択するようにしても良い。例えば、利用環境のパターンが4つである場合には、それぞれのパターンに対応する4つの学習済モデルを用いて、各パターンの適合性を取得し、4つの内で最も適合性が高いものを利用環境として選択すれば良い。
また、前述した第1の実施形態及び第2の実施形態では、MFPを例に説明したが、本発明はMFPに対する適用に限定されるものではなく、情報処理装置一般に適用可能である。
【0102】
(本発明の他の実施形態)
本発明は、前述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0103】
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【0104】
100、132、133、134:MFP 121:学習・推定サーバ 401:操作制御部 402:データ記憶部 403:ジョブ制御部 407:ネットワーク制御部 408:TCP/IP制御部 409:セキュリティ設定制御部 410:学習・推定サーバ通信部 411:通信ログ抽出部 412:推定処理部 501:MFP通信部 502:データ記憶部 503:学習部 504:推定部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13