JP7336197B2 - システム、その制御方法、およびプログラム - Google Patents

システム、その制御方法、およびプログラム Download PDF

Info

Publication number
JP7336197B2
JP7336197B2 JP2019007010A JP2019007010A JP7336197B2 JP 7336197 B2 JP7336197 B2 JP 7336197B2 JP 2019007010 A JP2019007010 A JP 2019007010A JP 2019007010 A JP2019007010 A JP 2019007010A JP 7336197 B2 JP7336197 B2 JP 7336197B2
Authority
JP
Japan
Prior art keywords
information
user
setting
mfp
setting value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019007010A
Other languages
English (en)
Other versions
JP2020119017A (ja
Inventor
健太 矢部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2019007010A priority Critical patent/JP7336197B2/ja
Priority to PCT/JP2020/000459 priority patent/WO2020149208A1/ja
Priority to CN202080009161.0A priority patent/CN113330371A/zh
Publication of JP2020119017A publication Critical patent/JP2020119017A/ja
Priority to US17/375,967 priority patent/US11893295B2/en
Application granted granted Critical
Publication of JP7336197B2 publication Critical patent/JP7336197B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1279Controller construction, e.g. aspects of the interface hardware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00129Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a display device, e.g. CRT or LCD monitor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J29/00Details of, or accessories for, typewriters or selective printing mechanisms not otherwise provided for
    • B41J29/38Drives, motors, controls or automatic cut-off devices for the entire printing mechanism
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J29/00Details of, or accessories for, typewriters or selective printing mechanisms not otherwise provided for
    • B41J29/42Scales and indicators, e.g. for determining side margins
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03GELECTROGRAPHY; ELECTROPHOTOGRAPHY; MAGNETOGRAPHY
    • G03G21/00Arrangements not provided for by groups G03G13/00 - G03G19/00, e.g. cleaning, elimination of residual charge
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1205Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1253Configuration of print job parameters, e.g. using UI at the client
    • G06F3/1255Settings incompatibility, e.g. constraints, user requirements vs. device capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1287Remote printer device, e.g. being remote from client or server via internet
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00002Diagnosis, testing or measuring; Detecting, analysing or monitoring not otherwise provided for
    • H04N1/00007Diagnosis, testing or measuring; Detecting, analysing or monitoring not otherwise provided for relating to particular apparatus or devices
    • H04N1/00015Reproducing apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00002Diagnosis, testing or measuring; Detecting, analysing or monitoring not otherwise provided for
    • H04N1/00026Methods therefor
    • H04N1/00037Detecting, i.e. determining the occurrence of a predetermined state
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00002Diagnosis, testing or measuring; Detecting, analysing or monitoring not otherwise provided for
    • H04N1/00071Diagnosis, testing or measuring; Detecting, analysing or monitoring not otherwise provided for characterised by the action taken
    • H04N1/00082Adjusting or controlling

Description

本発明は学習済みモデルを利用し推定した結果をアプリケーション設定に利用するシステム、その制御方法、およびプログラムに関する。
近年、クラウドコンピューティング(以降、クラウドと略称する)の普及が加速している。
日々コンピューティングリソースや運用に対するコストは安価になり、サービスの開発者はクラウドを活用することで、核となる機能の開発にますます注力することができる。
また、クラウドの普及はAI(Artificial Intelligence)の普及も加速化させている。AIを実現するためのコア技術の一つに機械学習がある。機械学習はビッグデータと呼ばれる大量のデータを、所定の学習アルゴリズムで解析することで、データの特徴を抽出する技術である。解析が一定の成果を上げるためには、大量のデータを長期間保存するだけのストレージ、およびそれらのデータをなるべく短期間に学習アルゴリズムで解析するだけのコンピューティングリソースを確保することが肝となる。この点で、必要な時に必要な量のコンピューティングリソース、ストレージをコストの面でもスピードの面でも柔軟に対応可能なクラウドは、機械学習と親和性が高い。
MFP(Multifunctional Peripheral)の分野においても、MFPと連携したサービスの開発にAIを活用した機能が増えてきている。特許文献1では、MFPの操作ログをユーザーごとに収集、学習し、ユーザーがMFPを操作する際、選択した操作の次の操作を推定し、画面に表示することでMFPの利便性を向上する技術が開示されている。
特開2018-99817
従来技術では、MFPごとにユーザーごとの操作ログを学習する。しかし、ユーザーは必ずしも同一のデバイスを使い続けるわけではない。例えばMFPであれば1ユーザーがオフィス等で使用可能なMFPが複数存在する環境が想定されるが、夫々のMFPには性能などによる個体差があるわけで、推定した結果が必ずしもすべてのMFPに対して有効なものであるという保証はない。
本願発明の目的は、学習済みモデルを利用し推定した結果をアプリケーション設定に利用するシステムにおいて、推定した結果をデバイスに関連するルールに基づき調整することで適正なアプリケーション設定を可能にすることである。
本発明の一実施形態に係るシステムは、複数のデバイスの収集データを基に学習を行うことによって生成された複数の学習済みモデルであって、ユーザーごとの学習済みモデルとテナントごとの学習済みモデルとを含む前記複数の学習済みモデルを用いて、設定値の推定を行うシステムであって、ユーザーにより操作されたデバイスのデバイス情報を取得する取得手段と、前記複数の学習済みモデルの中に、当該デバイスの操作を行っているユーザーに対応する学習済みモデルが存在する場合は、当該デバイスの操作を行っているユーザーに対応する学習済みモデルを用いて、当該デバイスでの処理に関する設定値を推定し、前記複数の学習済みモデルの中に、当該デバイスの操作を行っているユーザーに対応する学習済みモデルが存在しないが、当該デバイスのテナントに対応する学習済みモデルが存在する場合は、当該デバイスのテナントに対応する学習済みモデルを用いて、当該デバイスでの処理に関する設定値を推定する推定手段と、前記取得手段により取得された前記デバイス情報を基に、前記推定手段により推定された前記設定値を前記デバイスで設定できるか否かを判定する判定手段と、前記判定手段により設定できないと判定された場合、前記推定手段により推定された前記設定値を、前記デバイスで設定可能な設定値に調整する調整手段と、を有し、前記ユーザーにより操作された前記デバイスは、前記調整手段により調整された設定値を、前記デバイスでの処理に関する設定値として表示することを特徴とする。
学習済みモデルを利用し推定した結果をアプリケーション設定に利用するシステムにおいて、推定した結果をデバイスに関連するルールに基づき調整することで適正なアプリケーション設定を可能になる。
システム全体図 ハードウェア構成図 ソフトウェア構成図 収集データ情報を示したブロック図 デバイス設定管理サーバー105が記憶するデータ情報を示したブロック図 認可クライアント374、アプリケーション371、372,373が記憶するデータ情報を示したブロック図 データ情報を示したブロック図 データ収集、学習、推定の一連の流れの概略を示したフロー図 デバイス設定管理サーバー105における学習の詳細フロー図 デバイス設定管理サーバー105における推定の詳細フロー図 操作パネル207に表示される内容を示したブロック図 MFP102が学習済みモデルを取得する詳細フロー図 MFP102における推定の詳細フロー図 代替ルール情報のデータ構造を示したブロック図 アプリケーションデフォルト設定情報のデータ構造を示したブロック図
以下、本発明を実施するための形態について図面を用いて説明する。
本実施例においては、インターネット上の各サーバーにアプリケーションが設置されている。各アプリケーションはMFPと連携し、様々な機能を提供する。このような機能を提供する実体をサービスと呼称し、機能をMFPに提供することをサービスの提供と呼称する。
図1は、本実施例に係る設定推定システムの全体構成を示すブロック図である。インターネット100は、本システムの各構成要素を接続するWide Area Network(以降、WANと略称する)である。ローカルネットワーク101は、本システムの各構成要素を接続するLocal Area Network(以降、LANと略称する)である。
MFP102は、本実施例に示すサービスを利用するクライアント端末である。MFP102は、ローカルネットワーク101を介してインターネット100に接続し、サーバー103~106からのサービス提供を受けることができる。
認可サーバー103は、OAuthを実現するためのサーバーであり、クライアント情報の管理や認可トークンの発行、管理を行う。収集データ管理サーバー104、デバイス設定管理サーバー105、デバイス情報管理サーバー106は認可サーバー103のセキュリティドメインに属する。MFP102が認可サーバー103のセキュリティドメインに属するサーバーからサービス提供を受けるには認可サーバー103が発行した認可トークンが必要である。認可サーバー103が認可トークンの有効性を確認した場合にのみ、MFP102はクラウド上のこれらサーバーからサービスの提供を受ける。認可サーバー103が行う認可トークンの有効性チェックには、有効期限チェックやライセンスチェック等の処理がある。
収集データ管理サーバー104は、MFP102から送信されるデータを管理するサーバーである。MFP102は、MFP102内で発生した事象をデータ化し、収集データ管理サーバー104に送信する。収集データ管理サーバー104は、MFP102からのデータを受信し保存する。
デバイス設定管理サーバー105は、MFP102で利用する設定を管理するサーバーである。本実施例では、デバイス設定管理サーバー105は、MFP102のコピー機能、スキャン機能、プリント機能の設定を収集データ管理サーバー104が保持する収集データをもとに解析を行い学習する。デバイス設定管理サーバー105、あるいはMFP102は、デバイス設定管理サーバー105で学習した結果をもとに各デバイス機能に応じた設定を推定する。
デバイス情報管理サーバー106は、MFP102の機種情報を管理するサーバーである。MFP102は、機種に応じて保有する機能、そしてその機能に設定可能な値がそれぞれ異なる。デバイス情報管理サーバー106は、そうしたMFP102の機種に応じて異なる機能情報、設定情報等を管理するサーバーである。本実施例では、デバイス情報管理サーバー106が保有するデータを用いて、デバイス設定管理サーバー105は推定した設定を評価し、調整する。
図1において、本実施例での説明を簡略化するためMFP102、103~106の各サーバーをそれぞれ1台構成として図示しているが、その台数を限定する意図はない。それぞれの構成要素は複数台存在していても良い。また、MFP102を例に説明するが、デバイスはMFPに限定されるものではない。
図2は、本実施例に係る設定推定システムを構成する装置のハードウェア構成を示すブロック図である。図2aは、MFP102のハードウェア構成の一例を示すブロック図である。ハードウェアの各構成要素はシステムバス200に接続されている。
CPU201は、装置全体の制御を行うCPUであり、システムバス200に接続された各種デバイスとのアクセスを統括的に制御する。この制御はROM203に記憶された制御プログラム等、あるいはディスクコントローラ(不図示)を介して接続された外部メモリ206に記憶された制御プログラムやリソースデータ(資源情報)等に基づく。
GPU202は、画像処理や機械学習等のベクトル演算に特化した演算装置である。ROM203は、記憶手段であるROMであり、内部には基本I/Oプログラム等のプログラム、文書処理の際に使用するフォントデータ等の各種データを記憶する。RAM204は、一時記憶手段であるRAMであり、CPU201やGPU202の主メモリ、ワークエリア等として機能するRAMで、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。
NIC205はネットワークインターフェースカード(以降、NICと略称する)であり、外部装置とのデータのやり取りを行う。外部メモリ206は、ディスクコントローラ(不図示)を介して接続および制御されるMFP102の装置外に存在する外部記憶装置である。
操作パネル207は、MFP102の操作画面の表示や、画面を介したユーザーの操作指示を受け付ける操作部である。また、操作パネル207にはMFP102の動作モード等の設定や、MFP102の動作状況の表示、各機能の操作等を行うためのハードウェアボタンおよび液晶パネル等の表示部も配置される。
記憶装置208は、外部記憶手段の一つで、大容量メモリとして機能する外部記憶手段であり、本発明に係るプログラムを格納する。機器インターフェース(以降、機器I/Fと略称する)209は、USB等で接続可能な外部機器との接続I/Fである。
プリンタ210は既知の印刷技術を利用するものであり、好適な実施系として例えば電子写真方式(レーザービーム方式)やインクジェット方式、昇華方(熱転写)方式等が挙げられる。プリンタ210は印刷データ(PDL言語・PDF言語等)から変換した画像データを排紙する。スキャナ211は既知の画像読取技術を利用するものであり、透明な天板に置かれた紙原稿を光学的に走査し画像に変換する。また自動原稿送り装置(ADF)に置かれた複数枚の紙原稿を連続して読み込み、画像データに変換する。
なお、MFP102の機種によってはプリンタ210やスキャナ211が構成要素として存在しない場合がある。本実施例において、デバイス情報管理サーバー106が管理する機種情報の中にはこれらプリンタ210やスキャナ211の有無を示す情報が含まれる。
図2bは、103から106までの各サーバーのハードウェア構成の一例を示すブロック図である。特に断らない限り、本発明の機能が実行可能であるならば、単体の機器であっても、複数の機器からなるシステムであっても、本発明が適用できる。また、特に断らない限り、本発明の機能が実行可能であるならば、LAN、WAN等のネットワークを介して接続が為され、処理が行われるシステムであっても本発明を適用できる。本実施例ではシステムバス226により各構成要素が接続されているものとして説明する。
CPU220は、情報処理装置の制御装置であるCPUであり、ROM222または記憶装置225に格納されている103~106のアプリケーションプログラム、オペレーティングシステムを実行する。また、CPU220はRAM223にプログラム実行に必要な情報、ファイル等を一時的に格納する制御を行う。
GPU221は、画像処理や機械学習等のベクトル演算に特化した演算装置である。ROM222は、記憶手段であるROMであり、内部には基本I/Oプログラム等のプログラム、文書処理の際に使用するフォントデータ等の各種データを記憶する。RAM223は、一時記憶手段であるRAMであり、CPU220やGPU221の主メモリやワークエリア等として機能する。
NIC224は、ネットワークインターフェースカード(以降、NICと略称する)であり、外部装置とのデータのやり取りを行う。記憶装置225は、外部記憶手段の一つで、大容量メモリとして機能する記憶装置であり、アプリケーションプログラム、OS等の本発明に係るプログラムを格納している。
図3は、本実施例に係る設定推定システムの構成要素のソフトウェア構成の一例を示すブロック図である。なお、MFP102のソフトウェアモジュールは図2で示したROM203または記憶装置208に記憶されており、CPU201によってRAM204にロードされCPU201および/またはGPU202によって実行される。各サーバーのソフトウェアモジュールは図2で示したROM222または記憶装置225に記憶されており、CPU220によってRAM223にロードされ、CPU220および/またはGPU221により実行される。
図3aは、認可サーバー103のソフトウェア構成の一例を示すブロック図である。Webサーバー301は、認可サーバー103の各種インターフェースを提供し、MFP102またはサーバー104、105,106から受け付けた情報の妥当性の検証を行う。
認可情報管理部302は、クライアント情報と認可トークン情報を管理する。認可情報管理部302は、Webサーバー301が受け付けたリクエストに応じて、認可トークンの発行、スコープの確認、有効期限の確認等を行う。ストレージ303は、クライアント情報と認可トークン情報等、認可サーバー103が保持および管理する情報を格納する。
表1は、認可サーバー103がストレージ303で記憶するクライアント情報のデータテーブルを示したものである。
Figure 0007336197000001
認可サーバー103は、クライアント情報テーブルでサーバー104、105、106にアクセス可能なクライアントの情報を管理する。クライアントIDカラムには、クライアントを一意に識別するための識別子が格納される。パスワードカラムには、クライアントの正当性を判断するためのパスワードが格納される。認可サーバー103は、クライアントIDカラムの値と、パスワードカラムの値の一致によってサーバー104、105、106にリクエストを送信するクライアントを特定する。デバイスIDカラムには、クライアントがMFP102だった場合に、MFP102の識別子であるデバイスIDを格納する。テナントIDカラムには、クライアントを利用する会社や組織等の識別子を格納する。
表2は、認可サーバー103がストレージ303で記憶する認可トークン情報のデータテーブルを示したものである。
Figure 0007336197000002
認可サーバー103は、クライアントから認可トークン取得リクエストを受け付けた際に発行した認可トークン情報を管理する。認可トークンカラムには、認可サーバー103が発行した認可トークンを一意に識別するための識別子が格納される。有効期限カラムには、認可サーバー103が認可トークン取得リクエストを受信した時刻から、認可トークンの有効期限として定める時間を加算した時刻情報が格納される。有効期限カラムに格納された有効期限を過ぎた認可トークンを認可サーバー103は無効と判断する。
スコープカラムには、OAuthのスコープが格納される。スコープはクライアントがアクセス可能なリソースの範囲を表す。スコープは認可トークンが利用可能なスコープとなり、認可サーバー103への認可トークン取得リクエストで、クライアントに渡されるスコープが登録される。実施例1では、例えば、収集データ管理サーバー104に収集データを送信可能なスコープとしてPutDeviceData、デバイス設定管理サーバー105からベクトル化情報や学習済みモデル情報を取得可能なスコープとしてGetDeviceSettingを利用する。
クライアントIDには、認可サーバー103へ認可トークン取得リクエストを送信したクライアントのクライアントIDが登録される。なお、表1、表2に示したデータテーブルは、認可サーバー103のストレージ303ではなく、インターネット100やローカルネットワーク101を介して通信可能な状態にある別のサーバーに分散して記憶するように構成することもできる。
図3bは、収集データ管理サーバー104のソフトウェア構成の一例を示すブロック図である。Webサーバー311は、収集データ管理サーバー104の各種インターフェースを提供し、MFP102またはデバイス設定管理サーバー105から受け付けた情報の妥当性の検証を行う。収集データ管理部312は、収集データ情報を管理する。収集データ管理部312は、Webサーバー311が受け付けた収集データを保存する。ストレージ313は、収集データ情報等、収集データ管理サーバー104が保持および管理する情報を格納する。
図3cは、デバイス設定管理サーバー105のソフトウェア構成の一例を示すブロック図である。Webサーバー321は、デバイス設定管理サーバー105の各種インターフェースを提供し、MFP102から受け付けた情報の妥当性を検証する。デバイス設定推定部322は、ベクトル化情報500と学習済みモデル情報510,520,530を管理する。デバイス設定推定部322は、収集データ管理サーバー104が収集したMFP102の収集データを機械学習することで、MFP102の各機能に応じたデバイス設定を推定する学習済みモデル情報を生成する。
また、デバイス設定推定部322は、デバイス情報管理サーバー106からデバイスの機種情報を取得して、学習済みモデル情報を用いて推定したデバイス設定を調整する。また、デバイス設定推定部322は、MFP102に対してベクトル化情報500と学習済みモデル情報510,520,530を提供する。ストレージ323は、ベクトル化情報や学習済みモデル情報等、デバイス設定管理サーバー105が保持および管理する情報を格納する。
図3dは、デバイス情報管理サーバー106のソフトウェア構成の一例を示すブロック図である。Webサーバー331は、デバイス情報管理サーバー106の各巣インターフェースを提供し、MFP102またはデバイス設定管理サーバー105から受け付けた情報の妥当性の検証を行う。デバイス情報管理部332は、デバイスの機種情報を管理する。デバイス情報管理部332は、Webサーバー331がMFP102から受け付けたデバイスの機種情報を保存する。ストレージ333は、デバイスの機種情報等、デバイス情報管理サーバー106が保持および管理する情報を格納する。
表3は、デバイス情報管理サーバー106がストレージ333で記憶するデバイス機種情報のデータテーブルを示したものである。
Figure 0007336197000003
デバイス情報管理サーバー106は、デバイス情報管理テーブルで、MFPの機種ごとに有する機能と、その機能で設定可能な項目とその範囲を管理する。機種タイプカラムには、MFPの機種の種別を識別するための識別子が格納される。機能名称カラムには、機種タイプカラムの値が示す機種が有する機能カテゴリを格納するカラムである。本実施例においては機能カテゴリを後述するアプリケーション371、372,373に対応する形でScan、Copy,Printとしているが、限定するものではない。
設定項目名カラムには、機能名称カラムの値が示す機能が備える設定項目名を格納する。設定項目値カラムには、設定項目名カラムの値が示す設定項目で、設定可能な能力値の一覧を格納する。例えば、機種タイプがタイプAのMFPはScan、Copy、Printの3種類の機能を有する。そして、Scan機能の読み込み解像度を表すinput.dpi項目においては解像度が100dpiから600dpiまで設定することが可能な能力を有していることを示す。
また、機種タイプがタイプAとタイプBのMFPはともにScan機能を有しているが、Scan機能の読み込み色設定を表すinput.colorMode項目においてはタイプAがカラーとモノクロ両方の設定で読み込み可能であるのに対して、タイプBはモノクロでしか読み込みができないことを示す。そして、タイプCにおいては、他の機種タイプと比較してPrint機能しか有していないことを示す。
図3eは、MFP102のソフトウェア構成の一例を示すブロック図である。MFP102は生産時にMFP102毎に一意な値となるデバイスIDが発行および設定され、以降デバイスIDによってMFP102の個体が識別される。OS330はOSであり、一般的にはリアルタイムOSが使用されるが、昨今ではLinux(登録商標)等の汎用OSが使用される事もある。印刷装置制御部340は図2で示したMFP102の各種ハードウェアを制御するデバイスコントローラである。また、印刷装置制御部340は、各ハードウェアを制御するモジュール341~345間の制御を行う。操作パネル制御部341は、操作パネル207への画面表示を制御する。
NIC制御部342は、NIC205を利用してTCP/IPなどの通信プロトコルを制御する。記憶装置制御部343は記憶装置208へのI/Oを制御するディスクコントローラである。プリンタ制御部344は、受け付けた印刷データ(PDL言語・PDF言語など)を画像データに変換し、プリンタ210を制御し排紙する。スキャナ制御部345、スキャン指示を受け付けるとスキャナ211を制御することで原稿を読み取り画像に変換する。
仮想マシン350は、OSで制御されるアプリケーションとして動作する仮想的なアプリケーション実行環境である。仮想マシン350は、例えばJava(登録商標)VMがよく知られている。アプリケーションフレームワーク360は、仮想マシン350が提供するアプリケーション実行環境上で動作する管理対象のアプリケーションのライフサイクルを管理する機能を備える。また、アプリケーションのライフサイクルを制御するI/F、および各アプリケーション間での処理要求を仲介するためのI/F公開機能を備えている。ライフサイクルとはアプリケーションのインストール、起動、停止、アンインストールを含むアプリケーションの状態を示すものとする。
また、アプリケーションフレームワーク360は印刷装置制御部340を介してMFP102の各種ハードウェアを制御するI/Fをアプリケーションに提供する。アプリケーションフレームワーク360で動作するアプリケーションはアプリケーションフレームワーク360を介して印刷指示や印刷結果の受信、スキャン指示、スキャン画像の取得、操作パネルへの画面表示などを行うことができる。デバイス認証アプリケーション370やコピーアプリケーション371、スキャンアプリケーション372、プリントアプリケーション373、認可クライアント374、収集データ送信クライアント375は、アプリケーションフレームワーク360上で動作するアプリケーションである。
デバイス認証アプリケーション370は、MFP102へのログインを管理するアプリケーションである。デバイス認証アプリケーション370は、MFP102の操作パネルにログイン画面を表示し、ユーザーからのログイン(ユーザー名、パスワード)を受け付けユーザー認証する。デバイス認証アプリケーション370は、認証に成功するとログイン画面を非表示にし、MFP102の各種機能を操作パネルから利用できるようにする。ここでデバイス認証アプリケーション370にはユーザー認証をしなくても利用できるアプリケーションを設定することもでき、そうした場合にはユーザーはログインなしでアプリケーションの機能を利用できる。
デバイス認証アプリケーション370は、アプリケーションフレームワーク360にMFP102にログイン中のユーザーIDを取得するI/Fを公開しており、アプリケーションフレームワーク360上のアプリケーションはI/Fを介してログインイベントを受け取ったり、ログイン情報を取得したりできる。
コピーアプリケーション371は、MFP102のコピー機能を提供するアプリケーションである。コピーアプリケーション371はスキャナ211で原稿の読み込みを指示し、プリンタ210で読み込んだ画像データを印刷する。また、コピーアプリケーション371は操作パネルを表示し、ユーザーからのコピー設定を受け付ける。コピーアプリケーション371はアプリケーションフレームワーク360にコピージョブの情報を取得するI/Fを公開しており、アプリケーションフレームワーク360上のアプリケーションはI/Fを介してコピー開始イベントやコピー終了イベントなどを受け取ることができる。
スキャンアプリケーション372は、MFP102のスキャン機能を提供するアプリケーションである。スキャンアプリケーション372はスキャナ211で原稿の読み込みを指示し、外部メモリ206や記憶装置208、あるいはNIC206を介して外部の情報機器に読み込んだ画像データを保存する。
また、スキャンアプリケーション372は操作パネルを表示し、ユーザーからのスキャン設定を受け付ける。スキャンアプリケーション372はアプリケーションフレームワーク360にスキャンジョブの情報を取得するI/Fを公開しており、アプリケーションフレームワーク360上のアプリケーションはI/Fを介してスキャン開始イベントやスキャン終了イベントなどを受け取ることができる。
プリントアプリケーション373は、MFP102のプリント機能を提供するアプリケーションである。プリントアプリケーション373は、外部メモリ206や記憶装置208に保存された画像データ、あるいはNIC206を介して外部の情報機器から受信した画像データを読み込み、プリンタ210で印刷する。
また、プリントアプリケーション373は操作パネルを表示し、ユーザーからのプリント設定を受け付ける。プリントアプリケーション373はアプリケーションフレームワーク360にプリントジョブの情報を取得するI/Fを公開しており、アプリケーションフレームワーク360上のアプリケーションはI/Fを介してプリント開始イベントやプリント終了イベントなどを受け取ることができる。
認可クライアント374は、認可サーバー103のクライアントアプリケーションである。認可クライアント374はテナント登録されると認可サーバー103からクライアント情報取得を行う。テナントとは会社や組織などの複数のユーザーを管理するグループ単位に作成されテナントIDで識別される。
認可クライアント374が行う認可サーバー103へのテナント登録は認可サーバー103であらかじめ発行されたテナントのワンタイムパスワードを認可クライアント374の画面にユーザーが入力することで実施される。また、認可クライアント374は認可サーバー103から認可トークンを取得し、コピーアプリケーション371、スキャンアプリケーション372、プリントアプリケーション373や収集データ送信クライアント375に提供する。
収集データ送信クライアント375は、MFP102で発生したイベントを検知し、イベント情報を収集データ管理サーバー104に送信する。収集データ送信クライアント375で検知するイベントにはMFP102の起動・停止・スリープイベント、ユーザーログイン・ログアウンイベント等がある。また、収集データ送信クライアント375は、アプリケーションフレームワーク360を介してMFP102内(印刷装置制御部340やアプリケーション370、371、372、373など)で発生するイベントを検知する。
図4は、収集データ管理サーバー104がストレージ313に記憶する収集データ情報の一例を示した図である。収集データ構造400は、MFP102にインストールされた収集データ送信クライアント375から収集データ管理サーバー104に送信される収集データのデータ構造を示した図である。
収集データ構造400はデータの分類を表すentityと、entityから発生するイベントのeventNameが定義されている。entityにはMFP102全般の動作に関係するデータ分類であるdevice410、MFP102に対してユーザーが行う操作に関係するuserAction420、MFP102の各機能の処理に関係するjob430などがある。
device410には、MFP102の電源がONになった時に発生するイベントpowerOn411、電源がOFFになった時に発生するイベントpowerOff412、スリープモードに移行した時に発生するイベントsleep413がある。
userAction420には、ユーザーがデバイス認証アプリケーション370でログインした時に発生するイベントlogIn421やログアウトした時に発生するイベントlogOut422がある。job430には、ユーザーがアプリケーション371、372、373を操作してMFP102が機能の実行を開始した時に発生するイベントjobStarted431や機能の実行が完了した時に発生するイベントjobCompleted432がある。
イベントには、イベントの内容を詳細に表現するための情報を格納するためのイベント属性情報が定義される。イベント属性情報にはイベント間で共通の情報を格納するイベント共通属性と、イベント個別の情報を格納するイベント個別属性とがある。
イベント共通属性には、time440、eventId441、deviceSeriarId442がある。time440は、MFP102でイベントが発生した時刻を格納するイベント共通属性である。eventId441は、収集データ管理サーバー104においてイベントを一意に識別する識別子を格納するイベント共通属性である。deviceSerialId442は、イベントが発生したMFP102を一意に識別する識別子を格納するイベント共通属性である。
イベント個別属性には、userId443、input.paperSize444、input.pageNumber445がある。userId443は、userAction420で発生するイベントの個別属性であり、イベントを発生させたユーザーの識別子を格納する。input.paperSize444は、job430で発生するイベントjobCompleted432の個別属性であり、コピージョブのコピー原稿の用紙サイズの値を格納する。input.pageNumber445は、job430で発生するイベントjobCompleted432の個別属性であり、コピー原稿の読み込みページ数を格納する。
なお、収集データ構造400で図示した内容はMFP102にインストールされた収集データ送信クライアント375から収集データ管理サーバー104に送信される収集データの一部を表した例である。
収集データ情報450は、収集データ管理サーバー104が保存する収集データの一例である。収集データは1つのイベントを1つのJsonフォーマットとして表現する。収集データのJsonフォーマットのkeyは収集データ構造400で定義される情報であり、valueは発生イベントの値となる。収集データ情報450は1つのイベントの情報を1行ずつ保存したJson Linesフォーマットで収集データを保存する。なお収集データ管理サーバー104が保存する収集データ情報450には収集データ送信クライアント375が送信する収集データにtenantIdが追加される。このtenantIdは収集データ送信時に指定される認可トークンから特定するテナントIDである。
なお、図4に示した収集データ情報は、収集データ管理サーバー104のストレージ313ではなく、インターネット100やローカルネットワーク101を介して通信可能な状態にある別のサーバーに分散して記憶するように構成することもできる。
図5は、デバイス設定管理サーバー105がストレージ323に記憶するデータ情報の一例を示した図である。ベクトル化情報500は、収集データのイベント属性情報の中で、値がラベルのものを、数値計算ができるようにベクトル表現に変換するためのマッピング情報である。
input.colorMode501は、スキャナ211を介してMFP102が原稿を読み込む際のカラー設定を表すイベント属性情報に対応するマッピング情報である。input.colorMode501は、主にコピージョブ、スキャンジョブに対応するイベントに設定されるイベント属性情報である。input.colorMode501の値が「color」の場合は「0」、「mono」の場合は「1」として取り扱う。
マッピング情報502から509の値についても、それぞれイベント属性情報値をベクトル表現に変換するために定義されたマッピング情報である。ベクトル表現は1つだけ1で、他は0となるOne-hot表現を用いており属性毎に一意に割り振りを行う。
学習済みモデル情報510、520、530は、ベクトル化情報500に基づきベクトル表現に変換した収集データを機械学習した結果得られた学習済みモデル情報を管理する。なお、機械学習におけるモデルについての説明は後述する。学習済みモデル情報はジョブの種別ごとに管理され、学習済みモデル情報510はコピージョブ、学習済みモデル情報520はスキャンジョブ、学習済みモデル情報530はプリントジョブに対応する学習済みモデル情報を管理する。
学習済みモデル情報510では、コピージョブについて機械学習を行った結果のモデル情報のファイルパスを、テナントID511ごと、ユーザーID512ごとに学習済みモデルファイルパス514に格納する。学習済みモデル情報510において、格納された情報がアスタリスク(*)となっているものはAllを意味している。例えば、テナントID511がアスタリスクの場合は、対応する学習済みモデルファイルパス514はテナントで共通の学習済みモデルであることを意味する。
学習済みモデルファイルパス514には、イベント属性情報ごとに機械学習を行った結果得られた学習済みモデル情報のファイルパスが、複数格納される。デバイス設定管理サーバー105が保持する学習済みモデルファイルはストレージ323に保存され、学習済みモデルファイルパス514にストレージ323のファイルパスが格納される。デバイス設定管理サーバー105が行う機械学習は、ジョブの種別によって使用するイベント属性情報が異なる。そのため、当然学習済みモデルファイルパス514もジョブ種513によってそれぞれ格納する種類が異なる。
ジョブ種513が同じである場合には、テナントID511、またはユーザーID512が異なっていた場合でも学習済みモデルファイルパス514に格納するモデル情報の種類は、機械学習で使用するイベント属性情報の範囲で共通となる。同様に、学習済みモデル情報520では、スキャンジョブについて機械学習を行った結果のモデル情報のファイルパスを、テナントID521ごと、ユーザーID522ごとに学習済みモデルファイルパス524に格納する。
学習済みモデル情報530では、プリントジョブについて機械学習を行った結果のモデル情報のファイルパスを、テナントID531ごと、ユーザーID532ごとに学習済みモデルファイルパス534に格納する。なお、図5に示したデータ情報は、デバイス設定管理サーバー105のストレージ323ではなく、インターネット100やローカルネットワーク101を介して通信可能な状態にある別のサーバーに分散して記憶するように構成することもできる。その場合、学習済みモデルファイルパス514、524、534には、それぞれファイルを保存したサーバーのURLが格納される。
図14は、デバイス設定管理サーバー105において、ストレージ323に記憶する推定結果代替ルールの一例を示した図である。代替ルール情報1410、1420、1430は、後述するデバイスの設定値の推定処理において、推定結果がMFP102で使用できない場合にデバイス設定管理サーバー105がMFP102で使用可能な設定値に調整するためのルールを管理する。
代替ルール情報はジョブの種別ごとに管理され、代替ルール情報1410はコピージョブ、代替ルール情報1420はスキャンジョブ、代替ルール情報はプリントジョブに対応する代替ルール情報を管理する。
代替ルール情報1410では、コピージョブについてデバイス設定管理サーバー105が後述する推定処理で推定するデバイスの設定値1414とその代替ルール1415それぞれをテナントID1411ごと、ユーザーID1412ごとに管理する。代替ルール情報1410において、格納された情報がアスタリスク(*)となっているものはAllを意味している。例えば、テナントID1411がアスタリスクの場合は、対応するモデル1414についてデバイス設定管理サーバー105が適用する代替ルール1415はデバイスにログインしていないユーザーで共通であることを意味する。デバイス設定管理サーバー105が推定するデバイスの設定値はジョブ種別1413によってその種類が異なる。さらに代替ルールについても設定値1414が同様であってもジョブ種別1413が異なれば代替ルールは異なる。
設定値1414の値が「input.dpi」の場合、代替ルール1415は「Ascending」と「Descending」の値を取ることができる。ベクトル化情報500に示したdpi505が設定値として取りうる値は連続した数値である。このような連続した数値の場合には代替ルールには昇順を意味する「Ascending」と降順を意味する「Descending」を取ることができる。「Ascending」の場合には、推定値に対してMFP102が「input.dpi」の値として取りうる値を昇順から数えて最も近い値をデバイス設定管理サーバー105は代替値とする。具体的には、MFP102が表3に示す機種タイプ「タイプA」で、推定値が「350」だった場合、代替値には「300」が選択される。
「Descending」の場合には、推定値に対してMFP102が「input.dpi」の値として取りうる値を降順から数えて最も近い値をデバイス設定管理サーバー105は代替値とする。具体的には、MFP102が表3に示す機種タイプ「タイプA」で、推定値が「350」だった場合、代替値には「400」が選択される。
また、設定値1414の値が「input.colorMode」のように連続した数値ではない場合には、代替ルール1415には設定値として取りうる値の優先順位が格納される。代替ルール1415に格納された優先順位に従って、MFP102で設定可能な値が代替値として設定される。
なお、この代替ルールについては、以上に記載した規則以外を格納しても構わない。例えば、設定値として取りうる値が連続した数値であっても、優先順位を指定した規則を代替ルール1415に格納しても構わない。同様に代替ルール情報1420では、スキャンジョブについてデバイス設定管理サーバー105が後述する推定処理で推定するデバイスの設定値項目に対応したモデル情報1424とその代替ルール1425それぞれをテナントID1421ごと、ユーザーID1422ごとに管理する。
代替ルール情報1430では、プリントジョブについてデバイス設定管理サーバー105が後述する推定処理で推定するデバイスの設定値項目に対応したモデル情報1434とその代替ルール1435それぞれをテナントID1431ごと、ユーザーID1432ごとに管理する。
図6は、MFP102において、認可クライアント374とアプリケーション371,372,373が記憶装置208に保存するデータの一例を示した図である。表4は、認可クライアント374が記憶装置208で管理するクライアント情報のデータテーブルを示したものである。
Figure 0007336197000004
アプリケーション371、372,373は、それぞれ認可クライアント374が管理するクライアント情報に対応する学習済みモデル情報をデバイス設定管理サーバー105から取得して、MFP102上で推定する。認可クライアント374は、認可サーバー103に登録した自身のクライアント情報をクライアント情報テーブルで管理する。クライアントIDカラムには、認可クライアント374自身のクライアントIDが格納される。
パスワードカラムには、認可クライアント374自身のパスワードが格納される。
デバイスIDカラムには、認可クライアント374がインストールされているMFP102のデバイスIDを格納する。テナントIDカラムには、認可クライアント374自身のテナントIDを格納する。
学習済みモデル情報610は、コピーアプリケーション371が保持するデータである。コピーアプリケーション371は、デバイス設定管理サーバー105が管理するジョブ種別がcopyの学習済みモデル情報510の中からAllおよび、表3に示したクライアント情報において、自身のMFP102に対応するテナントIDが一致する学習済みモデル情報510のみを取得して保持する。
また、同様にデバイス設定管理サーバー105から、コピーアプリケーション371はコピージョブに関するベクトル化情報500のみを取得して保持する。コピージョブに関するベクトル化情報とは、例えば、input.colorMode501、output.colorMode502、layout503、paperSide504、dpi505、input.paperSize506、outpur.paperSize507である。
なお、MFP102にインストールされるスキャンアプリケーション372、プリントアプリケーション373も同様に、デバイス設定管理サーバー105から、それぞれのアプリケーションとMFP102のテナントIDに対応するベクトル化情報500、学習済みモデル情報520、530を取得して保持する。
図15は、MFP102が管理するMFP102のアプリケーション371のデフォルト設定の一例を示した図である。コピーアプリケーションデフォルト設定情報1510は、推定処理を実行しなかった場合、あるいは推定処理の結果が一部使用できなかった場合に、コピーアプリケーション371を利用するユーザーに対して操作パネル207に表示される各設定値を管理するものである。
コピーアプリケーションデフォルト設定情報1510では、コピージョブを実行する際の各種設定値をテナントID1512ごと、ユーザーID1513ごとに管理する。コピーアプリケーションデフォルト設定情報1510において、格納された情報がアスタリスク(*)となっているものはAllを意味している。例えば、テナントID1512がアスタリスクの場合は、対応するデフォルト値はデバイスにログインしていないユーザーで共通の値であることを意味する。デバイスID1511には、コピーアプリケーション371がインストールされているMFP102を識別するデバイスIDの値が格納される。ジョブ種別1514にはアプリケーションに対応するジョブ種別情報が格納され、設定値1515とデフォルト値1516には、コピージョブの各設定値のデフォルト値が格納される。
なお、コピーアプリケーションデフォルト設定情報1510はコピーアプリケーション371によってデバイス情報管理サーバー106に送信され、ストレージ333で管理される。また、デフォルト設定情報はアプリケーション372、373に合わせて同様に管理されるものとする。
図7は、実施例1に係る設定推定システムがMFP102から収集したデータを機械学習し、学習したモデル情報とMFPの機種情報を用いて、ユーザーの操作内容からアプリケーション371,372,373の各設定値を推定するフローの概略を示した図である。なお、それぞれのフローの詳細については後述する。
図7aは、アプリケーションの設定値の推定を、デバイス設定管理サーバー105で行う場合のフローの概略を示した図である。ステップS701からS703までは、収集データ管理サーバー104が、収集データ送信クライアント375を介して、MFP102で発生する収集データを収集する一連の処理を示したフローである。
ステップS701において、収集データ送信クライアント375は、アプリケーションフレームワーク360からMFP102で発生したイベント通知を取得する。ステップS702において、収集データ送信クライアント375は、ステップS701で取得したイベント通知に含まれる情報を、収集データ構造400に従ってJsonフォーマットに変換し、収集データ管理サーバー104に送信する。
ステップS703において、収集データ管理サーバー104は、収集データ送信クライアント375から受信した収集データを、収集データ情報450として保存する。ステップS711からS712までは、デバイス設定管理サーバー105が機械学習で学習済みモデル情報510、520、530を生成する一連の処理を示したフローである。
ステップS711において、デバイス設定管理サーバー105は、収集データ管理サーバー104から、収集データ情報450を取得する。ステップS712において、デバイス設定管理サーバー105は、収集データ情報450をベクトル化情報500に基づき数値ベクトル化することでベクトル表現に変換する。そして、機械学習を行い、学習済みモデルを生成して学習済みモデルファイルパス614が示す保存先に保存する。
ステップS721からステップS725までは、ユーザーのデバイス操作を検知して、デバイス設定管理サーバー105がその収集データを学習済みモデルファイルおよびデバイスの機種情報からアプリケーション371,372,373に適した設定を推定しアプリケーション371,372,373に表示する一連の処理を示したフローである。なお、図7においてはコピー操作を例にして説明する。
ステップS721において、コピーアプリケーション371は、アプリケーションフレームワーク360からコピー原稿がMFP102に配置されたことを示すイベント通知を取得する。このイベント通知にはコピー原稿の用紙サイズを示す属性であるinput.paperSize506や、コピー原稿のカラー情報を示す属性であるinput.colorMode501、ページ数(不図示)等が含まれる。
ステップS722において、コピーアプリケーション371は、ステップS721で取得したイベント通知に含まれる情報を、収集データ構造400に従ってJsonフォーマットに変換し、デバイス設定管理サーバー105に送信する。ステップS723において、デバイス設定管理サーバー105は、コピーアプリケーション371から受信した収集データをベクトル化情報500に基づきベクトル表現に変換し、ステップS712で生成した学習済みモデル情報510で、コピーアプリケーション371に設定すべき値を推定する。
ステップS724において、デバイス設定管理サーバー105はデバイス情報管理サーバー106からMFP102のデバイス機種情報を取得し、ステップS723で推定したコピー設定がMFP102で実現可能かどうか確認し調整する。MFP102で実現が不可能な推定値だった場合には実現可能な設定に変更する。
ステップS725において、デバイス設定管理サーバー105は、コピーアプリケーション371にステップS724で調整したコピー設定の推定値を送信し、コピーアプリケーション371は受信した推定値を、操作パネル207に表示する。
なお、ステップS701からステップS703までの収集データ管理サーバー104が収集データを保存する処理、ステップS711からステップS712までのデバイス設定管理サーバー105が機械学習を行う処理、ステップS721からステップS725までのデバイス設定管理サーバー105がアプリケーションの設定を推定する処理はそれぞれ非同期で実施される。また、ステップS711からステップS712までのデバイス設定管理サーバー105が機械学習を行う処理は定期的に実行される。
図8は、図7のステップS701からステップS703までで概略を示した収集データ管理サーバー104が、収集データ送信クライアント375を介して、MFP102で発生する収集データを収集するフローの詳細である。
ステップS801において、収集データ送信クライアント375は、アプリケーションフレームワーク360からMFP102内で発生したイベント通知を受ける。イベント通知は、entity、eventName、イベントの属性情報が含まれる。イベント通知は、例えば、MFP102がコピー原稿を読み込んだタイミングで通知される。
ステップS802において、収集データ送信クライアント375は、ステップS801で受け取ったイベント通知からJsonフォーマットの収集データ情報を生成する。ステップS803において、収集データ送信クライアント375は、認可クライアント374に認可トークン取得リクエストを送信する。このとき、認可トークン取得リクエストでは、まずスコープに「PutDeviceData」を指定する。認可トークン取得リクエストを受信した認可クライアント374は、認可サーバー103に認可クライアント374が保持するクライアントID701、パスワード702、スコープにPutDeviceData」を指定して、認可トークン取得リクエストを送信し、認可トークンを取得する。
認可クライアント374は、取得した認可トークンを収集データ送信クライアント375に渡す。ステップS804において、収集データ送信クライアント375は、ステップS802で生成した収集データ情報とステップS803で取得した認可トークンを収集データ管理サーバー104に送信する。
ステップS805において、収集データ管理サーバー104は、収集データ送信クライアント375から送信された収集データ情報と認可トークンを取得する。ステップS806において、収集データ管理サーバー104は、ステップS805で取得した認可トークンとスコープにPutDeviceDataを指定して認可サーバー103に、認可トークン検証リクエストを送信する。
認可サーバー103は認可トークン検証リクエストを受信すると、認可トークン情報テーブルを参照し、まず収集データ管理サーバー104から受信した認可トークンとスコープの組み合わせが一致する認可トークン情報レコードが存在するかどうかを確認する。一致したレコードが確認できた場合には有効期限カラムの値を検証する。
認可サーバー103は検証に成功すると、認可トークン情報レコードのクライアントIDカラムの値が一致するクライアント情報レコードをクライアント情報テーブルから取得し、取得したレコードのテナントIDカラムの値を収集データ管理サーバー104に送信する。ステップS807において、収集データ管理サーバー104は、ステップS806で認可サーバー103から受信したテナントIDの値をステップS801で受信した収集データに追加する。ステップS808において、収集データ管理サーバー104は、ステップS807でテナントIDの値を追加した収集データを収集データ情報540として保存する。
図9は、図7のステップS711からステップS712までで概略を示したデバイス設定管理サーバー105が機械学習を行うフローの詳細である。ステップS901において、デバイス設定管理サーバー105は、収集データ管理サーバー104から収集データ情報540を取得する。デバイス設定管理サーバー105は、取得した収集データ情報のうちentity=job、eventName=jobCompleted、jobType=copy、scan、printの3種類の収集データを機械学習に利用する。
jobTypeの値がcopyの収集データとは、MFP102においてユーザーがコピーアプリケーション371の機能を実行した際に生成されるデータである。jobTypeの値がscanの収集データとは、MFP102においてユーザーがスキャンアプリケーション372の機能を実行した際に生成されるデータである。そして、jobTypeの値がprintの収集データとは、MFP102においてユーザーがプリントアプリケーション373の機能を実行した際に生成されるデータである。
ステップS902において、デバイス設定管理サーバー105は、ステップS901で取得した収集データを、jobTypeの値それぞれで全データとテナントIDごとのデータ、ユーザーIDごとのデータに分類し、それぞれのデータを学習データとする。ステップS902以降の処理は、3種類のjobTypeの値ごとそれぞれ分類した全データの学習データ、テナントIDごとの学習データ、ユーザーIDごとの学習データの全ての学習データについて処理を行う。
ステップS903において、デバイス設定管理サーバー105は、ステップS902で準備した学習データをそれぞれ入力データと正解データに分類する。表5から表7は、jobTypeの値ごとに分類した入力データと正解データを示すデータテーブルである。
表5は、jobTypeの値がcopyの収集データを入力データと正解データに分類した結果を示すデータテーブルである。
Figure 0007336197000005
なお、本実施例では入力データをコピージョブのイベント個別属性であるコピー原稿の用紙サイズと枚数としているが、入力データを限定するものではない。コピーのためにスキャンした原稿のスキャン画像の属性値やスキャン画像が得ることのできる特徴量を入力データとして利用することもできる。また、入力データにはイベントの共通属性値である時間情報(コピーが実行された時間等)やユーザー情報(部署、役職、年齢等)、MFP102の情報(機種、設置場所、コピー速度等)等の値を利用することもできる。正解データも実施例1で示したコピーの設定項目以外の情報を指定することもできる。また、MFP102が備える機能の設定項目を正解データとすることで、あらゆる設定項目にも適用可能である。
表6は、jobTypeの値がscanの収集データを入力データと正解データに分類した結果を示すデータテーブルの一例である。
Figure 0007336197000006
表7は、jobTypeの値がprintの収集データを入力データと正解データに分類した結果を示すデータテーブルの一例である。
Figure 0007336197000007
ステップS904において、デバイス設定管理サーバー105は、ステップS903で生成した入力データと正解データの両方をベクトル化情報500に従って数値ベクトル化し、それぞれを入力ベクトルと正解ベクトルに変換する。ステップS905において、デバイス設定管理サーバー105は、ステップS904で変換した正解ベクトルを1項目ずつ、全項目に学習処理を施す。全項目に対する学習処理が完了したら、フローに示す一連の処理は終了となる。
実施例1では、正解ベクトルを1項目ずつ処理するが、複数の項目をまとめて学習してもよい。正解ベクトルの複数の項目を用いて学習した場合、ベクトル空間が広がることで精度の高い推定を行うためには大量のデータが必要になる。例えばテナントごとやユーザーごとの学習データは大量に収集することが難しく、少量の学習データとなるため、広いベクトル空間で学習した場合には推定精度が落ちる可能性がある。本実施例では正解ベクトルを1設定項目ずつ処理することで、最低限のベクトル空間で学習するため学習データが少ない場合であっても推定精度を高くすることができる。
ステップS906において、デバイス設定管理サーバー105は、ステップS904で変換した入力ベクトルと正解ベクトルの1設定項目をもって、入力ベクトルから正解ベクトルが得られるようにSVM(Support Vector Machine)を利用して学習する。SVMは公知の機械学習アルゴリズムであり本実施例では、RBF(Radial Basis Function Kernel)による非線形ソフトマージンSVMを利用する。学習では、学習データをランダムに解析データと検証データに分割する交差検証によって学習結果を評価する。またRBFを用いたSVMのハイパーパラメータにコストパラメータ(C)とガンマ(γ)があり推定性能に影響を及ぼすので、それぞれ複数の値を網羅的に試すグリッドサーチを行い推定性能が高いものを学習結果とする。SVMは分類と回帰のどちらの学習も行うことができる。推定を行う設定項目のなかで、例えばコピーの印刷部数を表すprintSettings.copiesのような数値の推定が必要な場合は回帰を、colorModeとlayoutやpaperside、paperSizeでは分類を行う。
ここで機械学習アルゴリズムにはパーセプトロンやロジスティック回帰、ニューラルネットワーク、k近傍法、ナイーブベイズ、ニューラルネットワーク、畳み込みニューラルネットワーク、決定木、ランダムフォレスト、線形回帰、多項式回帰、Lasso回帰、Ridge回帰など様々なものがある。またSVMにもハードマージンSVMや多項式カーネルSVMなどの種類がある。機械学習アルゴリズムのハイパーパラメータも機械学習アルゴリズムによって異なる。また学習結果の評価手法には交差検証法以外に代替推定法やテストサンプル法などがある。さらに機械学習アルゴリズムのハイパーパラメータの最適化手法にはグリッドサーチ以外にランダムサーチ、ラテン超方格サンプリング法、ベイズ最適化などがある。本実施例において機械学習アルゴリズムや学習結果を評価手法、機械学習アルゴリズムのハイパーパラメータの最適化手法などの学習手法は変更してもよい。
ステップS907において、デバイス設定管理サーバー105は、ステップS906で学習した学習済みモデルをファイルに保存し、jobTypeの値に対応した学習済みモデル情報510、520、530に登録する。ここで学習済みモデルを保存したファイルには、学習アルゴリズムの種類(RBFによる非線形ソフトマージンSVM)や学習アルゴリズムのハイパーパラメータの値(コストパラメータ(C)とガンマ(γ))、学習した結果得られる係数ベクトルが含まれる。
なお、学習済みモデル情報510,520,530への登録はステップS902で分類したテナントIDごとの学習データの場合は、テナントID511、521、531に学習データのテナントIDを指定し、ユーザーID512,522,532をアスタリスク(*)として登録する。また、ステップS902で分類したユーザーIDごとの学習データの場合はテナントID511、521、531に学習データのテナントIDを指定し、テナントID511、521、531に学習データのユーザーIDとして登録する。
ステップS902で分類した全データの学習データの場合は、テナントID511,521,531とユーザーID512.522.532をそれぞれアスタリスク(*)として登録する。学習済みモデルファイル名にはステップS905で処理する項目名(copies、colorModeとlayout、paperside、paperSizeなど)を付与する。
図10は、図7のステップS721からステップS725までで概略を示したデバイス設定管理サーバー105がユーザーのデバイス操作を検知して、その操作に適した設定を推定するフローの詳細である。なお、以下ではユーザー操作がコピーの実行であることを前提としてフローの説明を行う。
ステップS1001において、コピーアプリケーション371は、アプリケーションフレームワーク360からMFP102がコピー原稿を読み込んだことに対応するイベント通知を受ける。このときのイベント通知には、コピー原稿の紙サイズ(input.paperSize)、コピー原稿の読み込み枚数(input.pageNumber)などの情報が含まれる。
図11は、操作パネル207に表示されるコピーアプリケーション371のユーザーインターフェースとなるアプリケーション画面を示した図である。図11aは、ステップS1001において、コピーアプリケーション371がアプリケーションフレームワーク360からMFP102がコピー原稿を読み込んだことに対応するイベント通知を受けた直後のアプリケーション画面を示した図である。
コピーアプリケーション画面1100は、アプリケーションメッセージ表示部1101、原稿情報表示部1102、コピー設定情報表示部1103、推定設定チェックボックス1104から構成される。アプリケーションメッセージ表示部1101には、コピーアプリケーション371の現在の状態を示すメッセージをユーザーに通知する領域である。例えば、MFP102に装填されたコピー用紙が用紙切れを起こしていたり、トナーが空になっていてコピーの実行が不可能な場合には、アプリケーションメッセージ表示部1101を介してその旨が通知される。
原稿情報表示部1102は、コピーアプリケーション371が読み込んだコピー原稿の情報を表示する領域であり、ステップS1001において受信したイベント通知に含まれる情報を表示する。コピー設定情報表示部1103は、コピーアプリケーション371がコピーを実行する際の各種設定項目とその値を表示する領域である。通常、コピー原稿が読み込まれた時点では、コピーアプリケーション371に設定された初期値が表示される。また、初期値についてはコピーアプリケーション371に設定された値以外にも、MFP102が属するテナントID、MFP102にログインしたユーザーIDに応じた初期値を表示しても良い。
推定設定チェックボックス1104は、コピーアプリケーション371においてステップS721からS725に示すコピー設定の推定処理を行うかどうかを決定するチェックボックスである。コピーアプリケーション371は、チェックボックス1104の有効、無効の情報を保持する。なお、実施例1ではユーザーが図11には不図示のコピー指示ボタンを押下することでコピーが実行されることを想定しているが、ボタンが押下されずに一定時間後にコピーが開始される形態であってもよい。
チェックボックス1104が有効化されている場合、ステップS1002において、コピーアプリケーション371はコピー設定の推定を行う必要があると判断し、ステップS1003に進む。チェックボックス1104が無効化されている場合、ステップS1002において、コピーアプリケーション371はコピー設定の推定を行う必要がないと判断し、ステップS1026に進む。
ステップS1003において、コピーアプリケーション371は、MFP102にユーザーがログインしているかどうかデバイス認証アプリケーション370に確認する。MFP102にユーザーがログインしている場合には、ステップS1004において、コピーアプリケーション371は、デバイス認証アプリケーション370からログインしているユーザーIDとテナントIDを取得する。MFPにユーザーがログインしていない場合には、ステップS1005に進む。ステップS1005において、コピーアプリケーション371は、MFP102の記憶装置208で保持されるデバイス情報としてデバイスIDと機種タイプを取得する。
表8はMFP102の記憶装置208で管理されるデバイス情報を示したデータテーブルである。
Figure 0007336197000008
デバイスIDカラムには、前述したMFP102に、一意に割り当てられる識別子であるデバイスIDを格納する。機種タイプカラムには、MFP102の機種タイプを格納する。機種タイプはMFP102が備える機器能力およびインストールされたアプリケーション等の情報を参照するための情報であり、デバイスIDが異なるMFPであっても機種タイプが同一のMFPであれば、その能力は共通であることを意味する。デバイス情報はデバイス情報管理サーバー106で管理される。
ステップS1006において、コピーアプリケーション371は、スコープにPutDeviceDataを指定して認可クライアント374に認可トークン取得依頼を行い、認可トークンを受け取る。認可トークン取得依頼については、ステップS803と同様なので説明を省略する。
ステップS1007において、コピーアプリケーション371は、デバイス設定管理サーバー105に収集データを送信して、コピー設定の推定依頼を行う。なお、ここでコピーアプリケーション371が送信する収集データには、ステップS1101で受け取ったコピー原稿サイズ(input.paperSize)とコピー原稿のページ数(input.pageNumber)、ステップS1004で取得したユーザーIDとテナントID、そしてステップS1006で取得した認可トークンが含まれる。
ステップS1008において、デバイス設定管理サーバー105は、ステップS1007においてコピーアプリケーション371から送信された収集データを受信する。ステップS1009において、デバイス設定管理サーバー105は、ステップS1008で受信した収集データに含まれる認可トークンとスコープにPutDeviceDataを指定して認可サーバー103に、認可トークン検証リクエストを送信する。認可トークンの検証依頼については、ステップS806と同様なので説明を省略する。認可トークンの検証に成功した場合はステップS1010に進み、失敗した場合はステップS1026に進む。
ステップS1010において、デバイス設定管理サーバー105は、ステップS1008で受信した収集データに含まれるイベント情報、コピー原稿サイズ(input.paperSize)とコピー原稿のページ数(input.pageNumber)をベクトル化情報500に従ってベクトル化する。ステップS1011において、デバイス設定管理サーバー105は、コピーアプリケーション371の全てのコピー設定項目(colorMode、copies、layout、paperSide、paperSize)についての推定処理を実行する。デバイス設定管理サーバー105は、全てのコピー設定項目について、推定処理が完了したら、ステップS1019に進む。
ステップS1012において、デバイス設定管理サーバー105は、ステップS1008で受信した収集データにユーザーID、テナントIDのいずれか、もしくはその両方が存在するかどうかを確認する。収集データにユーザーIDとテナントIDの両方が含まれていなかった場合にはステップS1017に進む。
ステップS1013において、デバイス設定管理サーバー105は、コピーアプリケーション371に対応する学習モデル510のユーザーID512を参照し、ステップS1012で取得したユーザーIDと一致する学習済みモデルが存在するか否かを確認し、存在する場合にはステップS1014に進む。ステップS1013において、ステップS1012で取得したユーザーIDと一致する学習済みモデルが存在しない場合にはステップS1015に進む。
ステップS1014において、デバイス設定管理サーバー105は、ステップS1013で確認したユーザーIDを含んだレコードの学習済みモデルファイルパス514に保存している学習済みモデルファイルを読み込んでコピー設定の推定処理を行う。ここで学習済みモデルに対する入力にはステップS1010でベクトル化したコピー原稿サイズ(input.paperSize)とコピー原稿のページ数(input.pageNumber)を用い、出力を推定ベクトルとする。推定する設定項目が数値の場合(printSettings.copies)は、推定ベクトルを四捨五入して整数にしたものを推定値とする。推定する設定項目が分類の場合は得られた推定ベクトルを、ベクトル化情報500に基づき変換し、推定値とする。
ステップS1015において、デバイス設定管理サーバー105は、コピーアプリケーション371に対応する学習済みモデル510のテナントID511、ユーザーID512を参照し、ステップS1012で取得したテナントIDと一致しかつユーザーID512の値がアスタリスク(*)であるレコードが存在するか否かを確認し、存在する場合にはステップS1016に進む。ステップS1013において、ステップS1012で取得したテナントIDと一致する学習済みモデルが存在しない場合にはステップS1017に進む。
ステップS1016において、デバイス設定管理サーバー105は、ステップS1003でMFP102にユーザーがログインしていない場合、または、デバイス設定管理サーバー105にユーザーIDごとの学習済みモデルが保持されていない場合の推定処理を行う。デバイス設定管理サーバー105は、ステップS1015でテナントIDごとの学習済みモデルファイルパス514に保存している学習済みモデルファイルを読み込んで推定を行う。学習済みモデルへの入力と出力、推定ベクトルの設定への変換はステップS1014と同様なので説明を省略する。
ステップS1017において、デバイス設定管理サーバー105は、学習済みモデル510でテナントID511、ユーザーID511の値がともにアスタリスク(*)のレコードが存在するか否かを確認し、存在する場合にはステップS1018に進む。ステップS1018において、デバイス設定管理サーバー105は、ステップS1017で取得した学習済みモデルファイルパス514に保存しているテナントID、ユーザーIDに依存しない共通の学習済みモデルファイルを読み込んで推定を行う。学習済みモデルへの入力と出力、推定ベクトルの設定への変換はステップS1014と同様なので説明を省略する。
ステップS1019において、デバイス設定管理サーバー105は、ステップS1008で取得した収集データからMFP102のデバイス情報を取得する。そしてデバイス設定管理サーバー105は、デバイス情報からMFP102の機種タイプを取得して、デバイス情報管理サーバー106から、取得した機種タイプと一致するMFPのデバイス機種情報を取得する。例えばここでは、MFP102は機種タイプがタイプAであるため、デバイス情報管理サーバー106が管理するデバイス情報管理テーブルから機種タイプがタイプAのレコードを全て取得する。
ステップS1020において、デバイス設定管理サーバー105は、ステップS1011からステップS1018にて推定したコピーアプリケーション371のコピー設定の全項目に対して、ステップS1019で取得したMFP102のデバイス機種情報を比較して、推定結果がMFP102で実行可能かどうかを判断する。
ユーザーが学習モデルを生成するための入力データに使用したMFPを多用している場合には、ユーザーの操作とそれに基づく学習済みモデルから得られた推定結果は、ユーザーが使用するMFPにおいて実現可能な結果となる。一方で、ユーザーが初めて使うMFPかつ、それが学習モデルを生成するための入力データとして利用した頻度も少ないMFPであった場合には、推定結果が必ずしもそのままMFPに適用できない場合がある。デバイス設定管理サーバー105が行うステップS1020の処理はそのような推定結果と、推定結果を反映するMFPとの能力のギャップを埋める処理である。
ステップS1021において、デバイス設定管理サーバー105は、推定結果の設定値はMFP102で設定可能な設定値であるか否かを判定する。具体的に説明する。デバイス設定管理サーバー105は、ステップS1011からステップS1018にて実行した推定処理の結果得られた推定ベクトルをベクトル化情報500に基づき、推定値に変換する。そして変換したコピー設定の推定値のそれぞれが対応するデバイス機種情報の設定項目値に含まれているかどうかを確認する。
例えば、MFP102の機種タイプが「タイプA」であった場合、設定項目「input.dpi」は項目値として100~500の値を取ることができる。設定項目「input.dpi」の推定結果がここに含まれる値であれば、推定結果の項目値はMFP102で設定可能と判断し、デバイス設定管理サーバー105は、次の推定結果の確認を行う。ステップS1021において、推定結果が設定項目の項目値に含まれていなければ、推定結果はそのままではMFP102で設定不可能と判断し、ステップS1022に進む。
ステップS1022において、デバイス設定管理サーバー105は、ステップS1019で取得したデバイス機種情報から、推定結果の代替となる項目値があるかどうかを確認する。例えば、MFP102の機種タイプが「タイプA」で、設定項目「input.dpi」の推定値が「600」であった場合、デバイス設定管理サーバー105は、設定項目「input.dpi」については推定結果に代わる値が存在するのでステップS1023に進む。
ステップS1023において、デバイス設定管理サーバー105は、ステップS1022で取得した推定結果に代わる値の中で、どの値を推定結果の代替値として使用するかを決定する。まず、デバイス設定管理サーバー105は、代替ルール情報1410を参照し、テナントID1411とユーザーID1412が、ステップS1012で取得したテナントIDとユーザーIDと一致するレコードの中から設定値1414がステップ1020で未調整と判断した設定値と一致するレコードを取得する。そして、ステップS1022で推定結果に代わる値の一覧から代替ルールレコードの代替ルール1415に従って代替値を決定する。
例えば、設定値「input.dpi」の代替ルール1415が「Descending」だった場合、機種タイプ「タイプA」のMFP102が「input.dpi」の値として取りうる値のうち、最大値である「500」から降順に並べて最も推定値「600」に近い値である「500」を設定項目「input.dpi」の代替値として選択する。
また、推定した項目自体がMFP102に存在しなかった場合には、代替値の決定が不可能であるためステップS1024に進み、デバイス設定管理サーバー105は、ステップS1014、S1016、S1018のいずれかでもとめた設定項目の推定値を削除する。そして、ステップS1031において、デバイス設定管理サーバー105は、ステップS1024で推定値を削除した設定項目のデフォルト値を、デバイス情報管理サーバー106が管理するコピーアプリケーションデフォルト設定情報1510から取得する。
例えば、設定項目「output.colorMode」の推定値として「color」が推定されたMFP102がカラー出力のできない「mono」のみ設定可能な機種タイプだった場合、代替ルール情報1410に基づきステップS1022で推定値の調整が本来は行われる。この時、コピーアプリケーション371を操作するユーザーが、テナントIDが「tenant0001」、ユーザーIDが「user1111」のユーザーであった場合、代替ルール1415も「color」であり、推定値も代替ルールに基づく値もMFP102では使用不可能な値を示すことになる。このような場合、ステップS1031においてデバイス設定管理サーバー105が、コピーアプリケーションデフォルト設定情報1510からMFP102に設定可能なデフォルト値である「mono」を取得して推定値と差し替える。
ステップS1025において、デバイス設定管理サーバー105は、コピーアプリケーション371に対してステップS1020で調整したコピー設定の推定結果を送信する。ステップS1026において、コピーアプリケーション371は、デバイス設定管理サーバー105が推定したコピー設定を受信する。ステップS1027において、コピーアプリケーション371は、受信したコピー設定の推定値の各設定値をコピーアプリケーション371に適用した場合、設定値同士でコンフリクトを起こしていないかどうかを確認する。矛盾やコンフリクトが確認された場合には、ステップS1028に進む。
例えば、コピーアプリケーション371がデバイス設定管理サーバー105から受信したカラー読み込み設定(input.colorMode)の推定値がmonoに対して、カラー出力設定(output.colorMode)の推定値がcolorであった場合、コピー機能の実行結果としてはモノクロのコピー結果が出力される。このような場合には、ステップS1028において、コピーアプリケーション371が保持するデフォルトのコピー設定に基づき、推定値のコンフリクト、矛盾を解消する。
コピーアプリケーション371のデフォルト設定のカラー読み込み設定が、colorがデフォルト設定である場合には、カラー読み込み設定(input.colorMode)の値をcolorに修正する。あるいは、コピーアプリケーション371のデフォルト設定のカラー出力設定がmonoである場合には、カラー出力設定(output.colorMode)の推定値をmonoに変更する。なお、デフォルト値でコンフリクトを解消するとしたが、デフォルト値を利用せずに別の値を利用しコンフリクトを解消しても良い。
ステップS1029において、コピーアプリケーション371は、デバイス設定管理サーバー105から取得し、調整した推定結果をコピーアプリケーション画面1100に表示する。図11bは、ステップS1025において、設定値の提供先であるMFP102のコピーアプリケーション371が、デバイス設定管理サーバー105から取得し、調整した推定結果をコピーアプリケーション画面1100に表示した結果を示した図である。
アプリケーションメッセージ表示部1111には、デバイス設定管理サーバー105のコピー設定の推定処理に基づきコピー設定が行われたことを示すメッセージが追加で表示される。これにより、ユーザーは表示されている設定値が推定の結果による設定値であることを認識することができる。原稿情報表示部1112は、コピーアプリケーション371が読み込んだコピー原稿の情報を表示する領域であり、ステップS1001において受信したイベント通知に含まれる情報を表示する。
コピー設定情報表示部1113は、コピーアプリケーション371がステップS1028で最終的に調整したコピー設定の推定値を表示する領域である。なお、表示については推定処理によって求められた設定値と、コピーアプリケーション371のデフォルト値が反映された設定値との間で強調表示等をすることで、ユーザーへの表示の仕方に差別化を行っても良い。推定設定チェックボックス1114は、コピーアプリケーション371においてステップS721からS725に示すコピー設定の推定処理を行うかどうかを決定するチェックボックスである。推定処理が行われる場合には、推定設定チェックボックス1114は有効化された状態にある。
ステップS1002において、推定処理の実行が有効化されていなかった場合、あるいは推定処理が行われなかった場合、ステップS1030において、コピーアプリケーション371は、操作パネル207のコピー設定情報表示部1113にコピーアプリケーションデフォルト設定情報1510に基づくデフォルト値を表示する。
この一連の推定処理において、ユーザーID毎の学習済みモデル、テナントID毎の学習済みモデル、テナントID711とユーザーIDがアスタリスク(*)の学習済みモデルのうち、どの学習済みモデルを用いて設定を推定するかは設定によって切り替えてもよい。また、学習済みモデルを用いて設定を推定するか、設定のデフォルト値を利用するのかも設定によって切り替えてもよい。
以上のように、MFP102で発生するイベント情報を収集データ管理サーバー104に保存し、その収集データを学習した結果を学習済みモデルとして、デバイス設定管理サーバー105で利用することで、アプリケーション371、372,373のアプリケーション設定を推定することができる。さらに加えて、推定の結果をユーザーが操作するMFPの機種の能力と比較して、設定の反映が可能かどうかを確認し、かつアプリケーションの設定として矛盾やコンフリクトが発生していた場合にはアプリケーションのデフォルト値で調整することで、推定結果の確実性を高めることが可能になる。
また、MFPにおいてはユーザーが利用する機能間で学習データ項目が重複せざるを得ない。例えばスキャン機能とコピー機能ではともに原稿の読み込みが行われ、そこで取得するデータも似通る。このような課題に対して、MFPが実行するジョブごとに学習を行うことで、より推定結果をユーザーが利用する機能に適した形で導きだすことが可能となる。
デバイス設定管理サーバー105がMFP102で発生するイベント情報を学習した結果である学習済みモデルは、インターネット上のサーバーでなくても利用して構わない。実施例2においては、MFP102が学習済みモデルを利用して、MFP102上でアプリケーション371、372,373のアプリケーション設定を推定する一連の処理について説明する。
実施例1では、図8から図11を用いて、デバイス設定管理サーバー105において、アプリケーション371、372、373の設定の推定処理の詳細な説明を行った。図12から図13では、図7bに示すステップS731からS734までの、アプリケーション371、372,373がデバイス設定管理サーバー105から学習済みモデルファイルを取得して、自身でアプリケーション設定の推定処理を行う場合の詳細を示す。
図7bは、アプリケーションの設定の推定を、MFP102のアプリケーション371,372,373で行う場合のフローの概略を示した図である。ステップS701からS703まで、およびステップS711からS712までのフローは図7aと同様のため説明を省略する。
ステップS731からステップS734までは、ユーザーのデバイス操作を検知したMFP102が、学習済みモデルファイルおよびデバイスの機種情報からアプリケーション371,372,373に適した設定を推定しアプリケーション371,372,373に表示するまでの一連の処理を示したフローである。なお、図7においてはコピー操作を例にして説明する。
ステップS731において、アプリケーション731、732、733は、それぞれデバイス設定管理サーバー105からベクトル化情報500と学習済みモデルファイル510、520、530を取得し、保存する。ステップS732において、コピーアプリケーション371は、アプリケーションフレームワーク360からコピー原稿がMFP102に配置されたことを示すイベント通知を取得する。このイベント通知にはコピー原稿の用紙サイズを示す属性であるinput.paperSize506や、コピー原稿のカラー情報を示す属性であるinput.colorMode501、ページ数(不図示)等が含まれる。
ステップS733において、コピーアプリケーション371は、イベント通知に含まれる属性情報をベクトル化情報500に基づきベクトル表現に変換し、ステップS731で保存した学習済みモデル情報510で、コピーアプリケーション371に設定すべき値を推定する。ステップS734において、コピーアプリケーション371は、MFP102のデバイス機種情報を取得し、ステップS733で導きだしたコピー設定の推定値がMFP102で実現可能かどうか確認し調整する。MFP102で実現が不可能な推定値だった場合には実現可能な設定に変更する。その後、コピーアプリケーション371は推定、調整した値を、操作パネル207に表示する。
図12は、図7bにおけるステップS731の、コピーアプリケーション371がデバイス設定管理サーバー105からベクトル化情報500および学習済みモデルファイル、代替ルール情報1410,1420,1430を取得するフローの詳細である。なお、コピーアプリケーション371は、定期的に図12に示す一連の処理を実行し、最新のベクトル化情報および学習済みモデルファイル、代替ルール情報を取得する。
ステップS1201において、コピーアプリケーション371は、認可クライアント374からテナントIDを取得する。認可クライアント374は表4に示したクライアント情報テーブルのテナントIDカラムの値をコピーアプリケーション371に渡す。
ステップS1202において、コピーアプリケーション371はスコープにGetDeviceSettingを指定して認可クライアント374に認可トークンの取得依頼を行い、認可トークンを受け取る。認可トークン取得依頼はステップS803で前述しているため説明を省略する。
ステップS1203において、コピーアプリケーション371はデバイス設定管理サーバー105から学習済みモデル情報と学習済みモデルファイルを取得する。ここでコピーアプリケーション371はステップS1202で受け取った認可トークンと、ステップS1201で取得したテナントIDを指定して学習済みモデルを指定する。デバイス設定管理サーバー105は、コピーアプリケーション371から受け取った認可トークンを認可サーバー103にチェック依頼し、指定されたテナントIDが一致する学習済みモデル情報510と学習済みモデルファイルをコピーアプリケーション371に渡す。
ステップS1204において、コピーアプリケーション371はステップS1202で取得した学習済みモデル情報610と学習済みモデルファイルを保存する。ステップS1205において、コピーアプリケーション371はステップS1202で受け取った認可トークンをパラメータとしてデバイス設定管理サーバー105からベクトル化情報500を取得する。
デバイス設定管理サーバー105は受け取った認可トークンを認可サーバー103にチェック依頼し、ベクトル化情報500をコピーアプリケーション371に渡す。ステップS1206において、コピーアプリケーション371はステップS1205で取得したベクトル化情報を保存する。
ステップS1207において、コピーアプリケーション371は、ステップS1202で受け取った認可トークンをパラメータとしてデバイス設定管理サーバー105から代替ルール情報1410,1420,1430を取得する。ステップS1208において、コピーアプリケーション371は、ステップS1207で取得した代替ルール情報を保存する。
図13は、図7bにおけるステップS732からS734までの、コピーアプリケーション371がコピー設定の推定処理を行うフローの詳細である。ステップS1301からステップS1302までは、ステップS1001からステップS1002までの処理と同様のため、説明を省略する。
ステップS1303において、コピーアプリケーション371は、ステップS1301で受け取ったコピー原稿サイズ(input.paperSize)とコピー原稿のページ数(input.pageNumber)をベクトル化情報500に従ってベクトル化する。ステップS1304において、コピーアプリケーション371は、コピーアプリケーション371の全てのコピー設定項目(colorMode、copies、layout、paperSide、paperSize)についての推定処理を実行する。
コピーアプリケーション371は、全てのコピー設定項目について、推定処理が完了したら、ステップS1314に進む。ステップS1305において、コピーアプリケーション371は、MFP102にユーザーがログインしているかどうかデバイス認証アプリケーション370に確認する。MFP102にユーザーがログインしている場合には、ステップS1306において、コピーアプリケーション371は、デバイス認証アプリケーション370からログインしているユーザーIDを取得する。MFPにユーザーがログインしていない場合には、ステップS1309に進む。
ステップS1307において、コピーアプリケーション371は。コピーアプリケーション371に対応する学習モデル610のユーザーID612を参照し、ステップS1306で取得したユーザーIDと一致する学習済みモデルが存在するか否かを確認し、存在する場合にはステップS1308に進む。ステップS1307において、ステップS1306で取得したユーザーIDと一致する学習済みモデルが存在しない場合にはステップS1309に進む。
ステップS1308において、コピーアプリケーション371は、ステップS1307で確認したユーザーIDを含んだレコードの学習済みモデルファイルパス614に保存している学習済みモデルファイルを読み込んでコピー設定の推定処理を行う。ここで学習済みモデルに対する入力にはステップS1303でベクトル化したコピー原稿サイズ(input.paperSize)とコピー原稿のページ数(input.pageNumber)を用い、出力を推定ベクトルとする。推定する設定項目が数値の場合(printSettings.copies)は、推定ベクトルを四捨五入して整数にしたものを推定値とする。推定する設定項目が分類の場合は得られた推定ベクトルを、ベクトル化情報500に基づき変換し、推定値とする。
ステップS1309において、コピーアプリケーション371は、S1305でMFP102にユーザーがログインしていない場合、またはユーザーIDごとの学習済みモデルを保持していない場合、認可クライアント374からテナントIDを取得する。認可クライアント374は表4に示すクライアント情報テーブルのテナントIDカラムの値をコピーアプリケーション371に渡す。
ステップS1310において、コピーアプリケーション371は、コピーアプリケーション371に対応する学習済みモデル610のテナントID611、ユーザーID612を参照する。そして、ステップS1309で取得したテナントIDと一致しかつユーザーID612の値がアスタリスク(*)であるレコードが存在するか否かを確認し、存在する場合にはステップS1311に進む。ステップS1310において、ステップS1309で取得したテナントIDと一致する学習済みモデルが存在しない場合にはステップS1312に進む。
ステップS1311において、コピーアプリケーション371は、ステップS1305でMFP102にユーザーがログインしていない場合、または、ユーザーIDごとの学習済みモデルが保持されていない場合、コピーアプリケーション371は、テナントIDごとの学習済みモデルファイルパス614に保存している学習済みモデルファイルを読み込んで推定を行う。学習済みモデルへの入力と出力、推定ベクトルの設定への変換はステップS1308と同様なので説明を省略する。
ステップS1312において、コピーアプリケーション371は、学習済みモデル610でテナントID611、ユーザーID612の値がともにアスタリスク(*)のレコードが存在するか否かを確認し、存在する場合にはステップS1313に進む。ステップS1313において、コピーアプリケーション371は、ステップS1312で取得した学習済みモデルファイルパス614に保存しているテナントID、ユーザーIDに依存しない共通の学習済みモデルファイルを読み込んで推定を行う。学習済みモデルへの入力と出力、推定ベクトルの設定への変換はステップS1308と同様なので説明を省略する。ステップS1314において、コピーアプリケーション371は、MFP102の記憶装置208で保持されるデバイス情報を取得する。
ステップS1315において、コピーアプリケーション371は、ステップS1304からステップS1313にて推定したコピーアプリケーション371のコピー設定と、ステップS1314で取得したMFP102のデバイス機種情報を比較する。そして、推定結果がMFP102で実行可能かどうかを判断する。このステップS1315からステップS1318までの比較処理はステップS1020からステップS1024までの処理と同様のため説明を省略する。
ステップS1319において、コピーアプリケーション371は、推定値の代替値への置き換えが不可能と判断して、ステップS1316,S1318のいずれかでもとめた設定項目の推定値を削除する。そして、ステップS1324において、コピーアプリケーション371は、ステップS1319で推定値を削除した設定項目のデフォルト値を、MFP102が管理するコピーアプリケーションデフォルト設定情報1510から取得し、推定値と差し替える。
ステップS1320において、コピーアプリケーション371は、コピー設定の推定値の各項目を、コピーアプリケーション371に適用した場合、コピー設定として矛盾していないか、コンフリクトを起こしていないかどうかを確認する。矛盾やコンフリクトが確認された場合には、ステップS1321に進む。ステップS1321において、コピーアプリケーション371は、保持するデフォルトのコピー設定に基づき、推定値のコンフリクト、矛盾を解消する。この処理についてはステップS1024の処理と同様のため説明を省略する。
ステップS1322において、コピーアプリケーション371は、推定結果をコピーアプリケーション画面1100に表示する。ステップS1302において、推定処理の実行が有効化されていなかった場合、あるいは推定処理が行われなかった場合、ステップS1323において、コピーアプリケーション371は、操作パネル207のコピー設定情報表示部1113にデフォルト値を表示する。
以上のように、MFP102で発生するイベント情報を収集データ管理サーバー104に保存し、その収集データを学習した結果を学習済みモデルとして、MFP102で利用する。これにより、アプリケーション371、372,373のアプリケーション設定を推定することができる。加えて、推定の結果をユーザーが操作するMFPの機種の能力と比較し、設定の反映が可能かどうかを確認する。また、アプリケーションの設定として矛盾やコンフリクトが発生していた場合にはアプリケーションのデフォルト値で調整することで、推定結果の確実性を高めることが可能になる。
また、MFPにおいてはユーザーが利用する機能間で学習データ項目が重複せざるを得ない。例えばスキャン機能とコピー機能ではともに原稿の読み込みが行われ、そこで取得するデータも似通る。このような課題に対して、MFPが実行するジョブごとに学習を行うことで、より推定結果をユーザーが利用する機能に適した形で導きだすことが可能となる。
〔その他の実施例〕
各実施例ではMFPを例に説明したが、その他のデバイスであっても良い。また、MFPのコピー機能を例に説明したが、その他の機能によるデバイス処理であっても良い。
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
102 MFP
103 認可サーバー
104 収集データ管理サーバー
105 デバイス設定管理サーバー
106 デバイス情報管理サーバー
371 コピーアプリケーション
372 スキャンアプリケーション
373 プリントアプリケーション
375 収集データ送信クライアント

Claims (9)

  1. 複数のデバイスの収集データを基に学習を行うことによって生成された複数の学習済みモデルであって、ユーザーごとの学習済みモデルとテナントごとの学習済みモデルとを含む前記複数の学習済みモデルを用いて、設定値の推定を行うシステムであって、
    ユーザーにより操作されたデバイスのデバイス情報を取得する取得手段と、
    前記複数の学習済みモデルの中に、当該デバイスの操作を行っているユーザーに対応する学習済みモデルが存在する場合は、当該デバイスの操作を行っているユーザーに対応する学習済みモデルを用いて、当該デバイスでの処理に関する設定値を推定し、
    前記複数の学習済みモデルの中に、当該デバイスの操作を行っているユーザーに対応する学習済みモデルが存在しないが、当該デバイスのテナントに対応する学習済みモデルが存在する場合は、当該デバイスのテナントに対応する学習済みモデルを用いて、当該デバイスでの処理に関する設定値を推定する推定手段と、
    前記取得手段により取得された前記デバイス情報を基に、前記推定手段により推定された前記設定値を前記デバイスで設定できるか否かを判定する判定手段と、
    前記判定手段により設定できないと判定された場合、前記推定手段により推定された前記設定値を、前記デバイスで設定可能な設定値に調整する調整手段と、を有し、
    前記ユーザーにより操作された前記デバイスは、前記調整手段により調整された設定値を、前記デバイスでの処理に関する設定値として表示することを特徴とするシステム。
  2. 前記複数の学習済みモデルは、さらに、ユーザーおよびテナントに依存しない共通の学習済みモデルを含み、
    前記推定手段は、前記複数の学習済みモデルの中に、当該デバイスの操作を行っているユーザーに対応する学習済みモデルおよび当該デバイスのテナントに対応する学習済みモデルが存在しないが、前記共通の学習済みモデルが存在する場合は、前記共通の学習済みモデルを用いて、当該デバイスでの処理に関する設定値を推定する、ことを特徴とする請求項1に記載のシステム。
  3. 前記判定手段により設定できると判定された場合、前記調整手段による前記設定値の調整は行われず、前記ユーザーにより操作された前記デバイスは、前記推定手段により推定された前記設定値を、前記デバイスでの処理に関する設定値として表示することを特徴とする請求項1または2に記載のシステム。
  4. 前記推定手段による推定を利用しないことが前記ユーザーにより設定されている場合には前記デバイスが保持するデフォルト値を表示することを特徴とする請求項1乃至3の何れか1項に記載のシステム。
  5. 前記ユーザーにより操作された前記デバイスは、前記調整手段により調整された設定値を、前記デバイスでの処理に関する設定値として表示するとともに、前記調整手段により調整された設定値が表示されることを認識させるための情報を表示することを特徴とする請求項1乃至4の何れか1項に記載のシステム。
  6. 前記調整手段により複数の設定値が調整された結果、調整された複数の設定値同士がコンフリクトを起こしてしまった場合、調整された複数の前記設定値のコンフリクトを解消するように更なる調整を行うことを特徴とする請求項1乃至5の何れか1項に記載のシステム。
  7. 前記複数の学習済みモデルは、前記収集データに含まれる原稿の用紙サイズとページ数を入力データとして取得し、前記収集データに含まれるコピーの際に設定された設定値を正解データとして取得し、夫々を数値ベクトル化して学習を行うことによって生成される、ことを特徴とする請求項1乃至6の何れか1項に記載のシステム。
  8. 複数のデバイスの収集データを基に学習を行うことによって生成された複数の学習済みモデルであって、ユーザーごとの学習済みモデルとテナントごとの学習済みモデルとを含む前記複数の学習済みモデルを用いて、設定値の推定を行うシステムを制御する方法であって、
    ユーザーにより操作されたデバイスのデバイス情報を取得する取得ステップと、
    前記複数の学習済みモデルの中に、当該デバイスの操作を行っているユーザーに対応する学習済みモデルが存在する場合は、当該デバイスの操作を行っているユーザーに対応する学習済みモデルを用いて、当該デバイスでの処理に関する設定値を推定し、前記複数の学習済みモデルの中に、当該デバイスの操作を行っているユーザーに対応する学習済みモデルが存在しないが、当該デバイスのテナントに対応する学習済みモデルが存在する場合は、当該デバイスのテナントに対応する学習済みモデルを用いて、当該デバイスでの処理に関する設定値を推定する推定ステップと、
    前記取得手段により取得された前記デバイス情報を基に、前記推定ステップで推定された前記設定値を前記デバイスで設定できるか否かを判定する判定ステップと、
    前記判定ステップで設定できないと判定された場合、前記推定ステップで推定された前記設定値を、前記デバイスで設定可能な設定値に調整する調整ステップと、を有し、
    前記ユーザーにより操作された前記デバイスは、前記調整ステップで調整された設定値を、前記デバイスでの処理に関する設定値として表示することを特徴とする方法。
  9. 複数のデバイスの収集データを基に学習を行うことによって生成された複数の学習済みモデルであって、ユーザーごとの学習済みモデルとテナントごとの学習済みモデルとを含む前記複数の学習済みモデルを用いて、設定値の推定をコンピュータに行わせるためのプログラムであって、該プログラムは、前記コンピュータを、
    ユーザーにより操作されたデバイスのデバイス情報を取得する取得手段と、
    前記複数の学習済みモデルの中に、当該デバイスの操作を行っているユーザーに対応する学習済みモデルが存在する場合は、当該デバイスの操作を行っているユーザーに対応する学習済みモデルを用いて、当該デバイスでの処理に関する設定値を推定し、前記複数の学習済みモデルの中に、当該デバイスの操作を行っているユーザーに対応する学習済みモデルが存在しないが、当該デバイスのテナントに対応する学習済みモデルが存在する場合は、当該デバイスのテナントに対応する学習済みモデルを用いて、当該デバイスでの処理に関する設定値を推定する推定手段と、
    前記取得手段により取得された前記デバイス情報を基に、前記推定手段により推定された前記設定値を前記デバイスで設定できるか否かを判定する判定手段と、
    前記判定手段により設定できないと判定された場合、前記推定手段により推定された前記設定値を、前記デバイスで設定可能な設定値に調整する調整手段、として機能させるためのプログラムであり
    前記ユーザーにより操作された前記デバイスは、前記調整手段により調整された設定値を、前記デバイスでの処理に関する設定値として表示することを特徴とするプログラム。
JP2019007010A 2019-01-18 2019-01-18 システム、その制御方法、およびプログラム Active JP7336197B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019007010A JP7336197B2 (ja) 2019-01-18 2019-01-18 システム、その制御方法、およびプログラム
PCT/JP2020/000459 WO2020149208A1 (ja) 2019-01-18 2020-01-09 システム、その制御方法、およびプログラム
CN202080009161.0A CN113330371A (zh) 2019-01-18 2020-01-09 系统、用于控制系统的方法、以及程序
US17/375,967 US11893295B2 (en) 2019-01-18 2021-07-14 System for estimating a setting value using a trained model generated by collecting data on a device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019007010A JP7336197B2 (ja) 2019-01-18 2019-01-18 システム、その制御方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2020119017A JP2020119017A (ja) 2020-08-06
JP7336197B2 true JP7336197B2 (ja) 2023-08-31

Family

ID=71613867

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019007010A Active JP7336197B2 (ja) 2019-01-18 2019-01-18 システム、その制御方法、およびプログラム

Country Status (4)

Country Link
US (1) US11893295B2 (ja)
JP (1) JP7336197B2 (ja)
CN (1) CN113330371A (ja)
WO (1) WO2020149208A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7059214B2 (ja) * 2019-01-31 2022-04-25 株式会社日立製作所 演算装置
KR102470637B1 (ko) * 2020-11-26 2022-11-25 (주)심플랫폼 클라우드 기반 디바이스 인공지능 설정 시스템 및 방법
CN114654884B (zh) * 2020-12-22 2023-06-06 精工爱普生株式会社 印刷条件设定方法、印刷条件设定系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004266408A (ja) 2003-02-28 2004-09-24 Konica Minolta Holdings Inc 画像処理装置
JP2008077160A (ja) 2006-09-19 2008-04-03 Ricoh Co Ltd 画像処理装置、画像処理方法、画像形成装置、コンピュータが実行するためのプログラム、およびそのプログラムを格納した記録媒体
JP2014059689A (ja) 2012-09-18 2014-04-03 Konica Minolta Inc 印刷条件推奨装置および印刷処理装置
JP2014203391A (ja) 2013-04-09 2014-10-27 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
JP2015176293A (ja) 2014-03-14 2015-10-05 キヤノン株式会社 情報処理装置、印刷システム、制御方法およびコンピュータプログラム
JP2018069684A (ja) 2016-11-02 2018-05-10 株式会社リコー 情報処理装置、情報処理システム、及び情報処理方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003345193A (ja) * 2002-05-27 2003-12-03 Fuji Xerox Co Ltd パラメータ設定装置およびこれを用いた画像形成装置
JP2004185464A (ja) * 2002-12-05 2004-07-02 Ricoh Co Ltd 情報処理装置、プログラムおよび記録媒体
US20110199623A1 (en) * 2010-02-12 2011-08-18 Kabushiki Kaisha Toshiba Image processing apparatus and setting method used in image processing apparatus
US9557939B2 (en) * 2015-03-05 2017-01-31 Océ-Technologies B.V. Print job processing system and method
JP2018099817A (ja) 2016-12-20 2018-06-28 株式会社リコー 情報処理装置、画像処理装置及びプログラム
JP7385449B2 (ja) * 2019-12-05 2023-11-22 キヤノン株式会社 システムおよびその制御方法、並びにプログラム
US11048455B1 (en) * 2020-03-04 2021-06-29 Canon Kabushiki. Kaisha Devices, systems, and methods for resolving conflicting print settings

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004266408A (ja) 2003-02-28 2004-09-24 Konica Minolta Holdings Inc 画像処理装置
JP2008077160A (ja) 2006-09-19 2008-04-03 Ricoh Co Ltd 画像処理装置、画像処理方法、画像形成装置、コンピュータが実行するためのプログラム、およびそのプログラムを格納した記録媒体
JP2014059689A (ja) 2012-09-18 2014-04-03 Konica Minolta Inc 印刷条件推奨装置および印刷処理装置
JP2014203391A (ja) 2013-04-09 2014-10-27 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
JP2015176293A (ja) 2014-03-14 2015-10-05 キヤノン株式会社 情報処理装置、印刷システム、制御方法およびコンピュータプログラム
JP2018069684A (ja) 2016-11-02 2018-05-10 株式会社リコー 情報処理装置、情報処理システム、及び情報処理方法

Also Published As

Publication number Publication date
JP2020119017A (ja) 2020-08-06
US11893295B2 (en) 2024-02-06
WO2020149208A1 (ja) 2020-07-23
CN113330371A (zh) 2021-08-31
US20210342108A1 (en) 2021-11-04

Similar Documents

Publication Publication Date Title
JP7337504B2 (ja) システム、方法、及びプログラム
WO2020149208A1 (ja) システム、その制御方法、およびプログラム
JP6327930B2 (ja) 画像形成装置、情報処理方法及びプログラム
JP5212559B1 (ja) 情報処理システム及びプログラム
CN102214077B (zh) 文档管理系统及文档管理方法
JP5888880B2 (ja) 印刷システム、サーバ装置、画像形成装置および印刷処理方法
JP4267011B2 (ja) 画像形成装置及び権限制御サーバ及び画像形成システム
JP5129640B2 (ja) 出力装置とその制御方法
US20130169987A1 (en) Information processing apparatus, information processing method, and computer-readable storage medium
US9349078B2 (en) Job management system, image forming apparatus, control method, and storage medium
CN106612384B (zh) 作业处理系统、作业处理装置及作业处理装置的控制方法
US9086827B2 (en) Job processing apparatus, job processing method for job processing apparatus, and storage medium
WO2013100943A1 (en) Document policies for a document processing unit
US20120291118A1 (en) Image processing system, image processing apparatus and computer-readable recording medium
JP7374752B2 (ja) 印刷すべきファイルを判定するサーバシステム、サーバシステムの制御方法、プログラム
JP5729503B2 (ja) 情報処理装置及びプログラム
JP5448364B2 (ja) 印刷制御装置、印刷制御方法及びプログラム
WO2020152257A1 (en) A printing system and a method of printing
JP6470636B2 (ja) 情報処理装置、その制御方法、及びプログラム
JP2000284936A (ja) 印刷システム
JP2019200689A (ja) 画像処理装置、情報処理システム、情報処理方法及びプログラム
JP2015016588A (ja) 画像処理装置、サーバー装置、クライアント装置、システム、情報処理方法及びプログラム
JP6743082B2 (ja) 画像形成装置、画像形成装置の制御方法及びプログラム
JP5494855B2 (ja) 情報処理システム及びプログラム
JP2021167080A (ja) 画像形成装置、画像形成装置の制御方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230412

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230718

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230821

R151 Written notification of patent or utility model registration

Ref document number: 7336197

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151