JP2021096590A - Recording apparatus, system including recording apparatus, control method of recording apparatus, and program - Google Patents

Recording apparatus, system including recording apparatus, control method of recording apparatus, and program Download PDF

Info

Publication number
JP2021096590A
JP2021096590A JP2019226599A JP2019226599A JP2021096590A JP 2021096590 A JP2021096590 A JP 2021096590A JP 2019226599 A JP2019226599 A JP 2019226599A JP 2019226599 A JP2019226599 A JP 2019226599A JP 2021096590 A JP2021096590 A JP 2021096590A
Authority
JP
Japan
Prior art keywords
learning
ink
information
inference
data
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.)
Pending
Application number
JP2019226599A
Other languages
Japanese (ja)
Inventor
涼介 中石
Ryosuke Nakaishi
涼介 中石
鈴木 健
Takeshi Suzuki
健 鈴木
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 JP2019226599A priority Critical patent/JP2021096590A/en
Publication of JP2021096590A publication Critical patent/JP2021096590A/en
Pending legal-status Critical Current

Links

Images

Abstract

To deliver multiple kinds of consumable supplies at a time in accordance with use state of a user.SOLUTION: A recording apparatus in an embodiment of the present invention having first transmission means which transmits an inference request for inferring a timing to deliver consumable supplies, is configured to determine whether it is necessary to deliver multiple kinds of consumable supplies at a time, or not, on the basis of an inference result notification which is generated with a learned model in accordance with the inference request.SELECTED DRAWING: Figure 15

Description

本発明は、記録装置の消耗品を自動的に発注する消耗品自動発注システムの技術に関する。 The present invention relates to a technique for an automatic consumable ordering system for automatically ordering consumables for a recording device.

プリンタや複写機、ファクシミリに代表される画像記録装置はインクや用紙といった消耗品を必要とする。画像記録装置において必要な消耗品がなくなる、または少なくなると、ユーザ自ら販売店に行き、必要な消耗品を購入する。近年、画像記録装置がインターネットに接続しWEBサーバーと通信できようになっている。インターネットを利用した画像記録装置用のサービスとして、画像記録装置が消耗品の残量をWEBサーバーに通知し、WEBサーバーは、消耗品の残量情報に基づいて、消耗品を販売店に自動発注する消耗品自動発注システムが登場している。 Image recording devices such as printers, copiers, and facsimiles require consumables such as ink and paper. When the necessary consumables in the image recording device are exhausted or scarce, the user himself goes to the store and purchases the necessary consumables. In recent years, an image recording device has become able to connect to the Internet and communicate with a WEB server. As a service for image recording devices using the Internet, the image recording device notifies the WEB server of the remaining amount of consumables, and the WEB server automatically orders the consumables from the store based on the remaining amount information of the consumables. An automatic ordering system for consumables has appeared.

特許文献1に記載の消耗品自動発注システムでは、インク情報や用紙情報等の消耗品情報を、画像記録装置が管理サーバーに送信する。そして、管理サーバーは、消耗品の残量が所定の閾値以下になると、販売店サーバーへ発注要求を送信する。販売店サーバーは発注要求を受けると、ユーザに消耗品を発送する。 In the consumables automatic ordering system described in Patent Document 1, the image recording device transmits consumables information such as ink information and paper information to the management server. Then, when the remaining amount of consumables becomes equal to or less than a predetermined threshold value, the management server sends an order request to the store server. When the dealer server receives the order request, it ships the consumables to the user.

特開2018−136638号公報Japanese Unexamined Patent Publication No. 2018-136638

しかしながら、ユーザの画像記録装置の利用頻度や印刷内容によっては、ユーザにインクや用紙などの消耗品が短い間隔で届いてしまうという課題があった。インクや用紙などの消耗品が少なくなったことを検出して消耗品を発注し終わった直後に再度該発注し終わった消耗品とは別の消耗品が少なくなったことを検出した場合に再び同一ユーザのもとへ配送する必要があるため、立て続けに消耗品が発注されてしまう。従って、消耗品を受け取る側のユーザにとっては、複数種類の消耗品がそれぞれ異なるタイミングで立て続けに配送されるため煩わしい。 However, there is a problem that consumables such as ink and paper arrive at the user at short intervals depending on the frequency of use of the image recording device of the user and the print contents. When it is detected that the number of consumables such as ink and paper is low and the number of consumables other than the consumables that have been ordered is low immediately after the consumables have been ordered, the number of consumables is reduced again. Since it is necessary to deliver to the same user, consumables are ordered in quick succession. Therefore, it is troublesome for the user who receives the consumables because the plurality of types of consumables are delivered in quick succession at different timings.

そこで本発明の一実施形態は、ユーザの利用状況に応じた、複数種類の消耗品の同時配送を可能にすることを目的とする。 Therefore, one embodiment of the present invention aims to enable simultaneous delivery of a plurality of types of consumables according to a user's usage situation.

本発明の一実施形態は、消耗品を配送するタイミングを推論するための推論依頼を送信する第1送信手段を有する記録装置であって、前記推論依頼に応じて学習済モデルを用いて作成される推論結果通知に基づいて、複数種類の前記消耗品の同時配送が必要か判定されることを特徴とする記録装置である。 One embodiment of the present invention is a recording device having a first transmission means for transmitting an inference request for inferring the timing of delivering consumables, and is created by using a trained model in response to the inference request. It is a recording device characterized in that it is determined whether or not simultaneous delivery of a plurality of types of the consumables is necessary based on the inference result notification.

本発明の一実施形態によれば、ユーザの利用状況に応じた、複数種類の消耗品の同時配送が可能になる。 According to one embodiment of the present invention, it is possible to simultaneously deliver a plurality of types of consumables according to the usage situation of the user.

本発明の一実施形態における処理システム100の構成を示す図である。It is a figure which shows the structure of the processing system 100 in one Embodiment of this invention. クラウドサーバー200、消耗品発注サーバー260、エッジサーバー300の構成を示すブロック図である。It is a block diagram which shows the structure of the cloud server 200, the consumables ordering server 260, and the edge server 300. スマートフォン500の外観図である。It is an external view of the smartphone 500. プリンタ600の外観図である。It is an external view of the printer 600. スマートフォン500の構成を示すブロック図である。It is a block diagram which shows the structure of the smartphone 500. プリンタ600の構成を示すブロック図である。It is a block diagram which shows the structure of a printer 600. プリンタ600における印刷部617の構成を示す図である。It is a figure which shows the structure of the printing part 617 in a printer 600. 操作パネル605に表示されるインク関連のエラー等を通知する画面を示す図である。It is a figure which shows the screen which notifies the ink-related error, etc. displayed on the operation panel 605. 第1の実施形態における処理システム100のソフトウェア構成を示す図である。It is a figure which shows the software structure of the processing system 100 in 1st Embodiment. 学習モデル252、学習済モデル352を利用する際の入出力の構造を示す概念図である。It is a conceptual diagram which shows the input / output structure at the time of using a learning model 252 and a trained model 352. 印刷ジョブ900のデータ構造を示す図である。It is a figure which shows the data structure of the print job 900. ジョブログ情報やプリンタログ情報のデータ構造を示す図である。It is a figure which shows the data structure of job log information and printer log information. 学習依頼のデータ構造を示す図である。It is a figure which shows the data structure of a learning request. 推論依頼および推論結果通知のデータ構造を示す図である。It is a figure which shows the data structure of the inference request and the inference result notification. 第1の実施形態における学習時の学習モデル252の入出力の構造を示す図である。It is a figure which shows the input / output structure of the learning model 252 at the time of learning in 1st Embodiment. 第1の実施形態における推論時の学習済モデル352の入出力の構造を示す図である。It is a figure which shows the input / output structure of the trained model 352 at the time of inference in the 1st Embodiment. プリンタ600の処理内容を示すフローチャートである。It is a flowchart which shows the processing content of a printer 600. 第1の実施形態におけるエッジサーバー300の処理内容を示すフローチャートである。It is a flowchart which shows the processing content of the edge server 300 in 1st Embodiment. 第1の実施形態におけるクラウドサーバー200の処理内容を示すフローチャートである。It is a flowchart which shows the processing content of the cloud server 200 in 1st Embodiment. 第1の実施形態における消耗品発注サーバー260の処理内容を示すフローチャートである。It is a flowchart which shows the processing content of the consumables ordering server 260 in 1st Embodiment. 第2の実施形態における処理システム100のソフトウェア構成を示す図である。It is a figure which shows the software structure of the processing system 100 in 2nd Embodiment. 第2の実施形態におけるエッジサーバー300の処理内容を示すフローチャートである。It is a flowchart which shows the processing content of the edge server 300 in 2nd Embodiment. 第2の実施形態におけるクラウドサーバー200の処理内容を示すフローチャートである。It is a flowchart which shows the processing content of the cloud server 200 in 2nd Embodiment. 第3の実施形態における学習時の学習モデル252の入出力の構造を示す図である。It is a figure which shows the input / output structure of the learning model 252 at the time of learning in 3rd Embodiment.

以下、本発明の実施形態について詳細に説明する。尚、以下に記載されている内容は、本発明を適用可能な形態を例示的に示すものであり、本発明の範囲をそれらのみに限定するものではない。 Hereinafter, embodiments of the present invention will be described in detail. The contents described below exemplify the forms to which the present invention can be applied, and the scope of the present invention is not limited to them.

<処理システムの構成>
図1は、本発明の一実施形態である処理システム100の構成を示す図である。処理システム100は、クラウドサーバー200と、消耗品発注サーバー260と、エッジサーバー300と、デバイス400とを有する。エッジサーバー300は、ローカルエリアネットワーク102を介してデバイス400と接続される。また、エッジサーバー300およびデバイス400は夫々、ローカルエリアネットワーク102に設置されているルータ103を介してインターネット104に接続され、インターネット104上のクラウドサーバー200とデータを送受信することが可能である。
<Processing system configuration>
FIG. 1 is a diagram showing a configuration of a processing system 100 according to an embodiment of the present invention. The processing system 100 includes a cloud server 200, a consumables ordering server 260, an edge server 300, and a device 400. The edge server 300 is connected to the device 400 via the local area network 102. Further, the edge server 300 and the device 400 are each connected to the Internet 104 via a router 103 installed in the local area network 102, and can transmit and receive data to and from the cloud server 200 on the Internet 104.

デバイス400には、ネットワーク接続が可能な各種装置が含まれる。デバイス400として例えば、スマートフォン500、プリンタ600、パーソナルコンピュータやワークステーションなどのクライアント端末401、デジタルカメラ402などが挙げられる。但し、デバイス400はこれらの装置に限られるものではなく、例えば冷蔵庫やテレビ、エアコンなどの家電製品を含むものであってもよい。これらデバイス400はローカルエリアネットワーク102を介して相互に接続され、ローカルエリアネットワーク102に設置されているルータ103を介してインターネット104と接続することが可能である。尚、本明細書では、ネットワーク接続が可能な各種装置を総称してデバイス400と呼ぶ。 The device 400 includes various devices capable of connecting to a network. Examples of the device 400 include a smartphone 500, a printer 600, a client terminal 401 such as a personal computer or a workstation, and a digital camera 402. However, the device 400 is not limited to these devices, and may include home appliances such as refrigerators, televisions, and air conditioners. These devices 400 are connected to each other via the local area network 102, and can be connected to the Internet 104 via a router 103 installed in the local area network 102. In this specification, various devices that can be connected to a network are collectively referred to as a device 400.

ここで、ルータ103はローカルエリアネットワーク102とインターネット104を接続する機器として図示されているが、ローカルエリアネットワーク102を構成する無線LANアクセスポイント機能をルータ103に持たせることも可能である。この場合、各デバイス400は有線LANでルータ103と接続する以外に、無線LANでアクセスポイントと接続してローカルエリアネットワーク102に参加するように、処理システムを構成することができる。例えば、プリンタ600やクライアント端末401は有線LANで接続し、スマートフォン500やデジタルカメラ402は無線LANで接続するように、処理システムを構成することも可能である。各デバイス400とエッジサーバー300とは、ルータ103を介して接続されたインターネット104を経由して、クラウドサーバー200、消耗品発注サーバー260と相互に通信することが可能である。エッジサーバー300と各デバイス400とは、ローカルエリアネットワーク102を介して相互に通信することが可能である。また、各デバイス400同士もローカルエリアネットワーク102を介して相互に通信することが可能である。スマートフォン500とプリンタ600とは、近距離無線通信101によって通信可能である。近距離無線通信101としては、Bluetooth(登録商標)規格やNFC規格に則った無線通信を利用するものが考えられる。またスマートフォン500は携帯電話回線網105とも接続されており、携帯電話回線網105を介して、クラウドサーバー200、消耗品発注サーバー260と通信することもできる。 Here, although the router 103 is shown as a device that connects the local area network 102 and the Internet 104, it is also possible for the router 103 to have a wireless LAN access point function that constitutes the local area network 102. In this case, in addition to connecting each device 400 to the router 103 via a wired LAN, the processing system can be configured to connect to an access point via a wireless LAN and participate in the local area network 102. For example, it is possible to configure the processing system so that the printer 600 and the client terminal 401 are connected by a wired LAN, and the smartphone 500 and the digital camera 402 are connected by a wireless LAN. Each device 400 and the edge server 300 can communicate with each other with the cloud server 200 and the consumables ordering server 260 via the Internet 104 connected via the router 103. The edge server 300 and each device 400 can communicate with each other via the local area network 102. Further, the devices 400 can also communicate with each other via the local area network 102. The smartphone 500 and the printer 600 can communicate with each other by short-range wireless communication 101. As the short-range wireless communication 101, it is conceivable to use wireless communication in accordance with the Bluetooth (registered trademark) standard or the NFC standard. The smartphone 500 is also connected to the mobile phone line network 105, and can communicate with the cloud server 200 and the consumables ordering server 260 via the mobile phone line network 105.

尚、上で説明した構成は本発明を適用可能な一例を示すものであって、この一例と異なる構成を取るものであっても、本発明の効果を得ることは可能である。例えば、ルータ103がアクセスポイント機能を有する例を示したが、アクセスポイントはルータ103と異なる装置で実現してもよい。また、エッジサーバー300と各デバイス400との間の接続は、ローカルエリアネットワーク102以外の接続手段を用いるものであってもよい。例えば、無線LAN以外のLPWA、ZigBee、Bluetooth、近距離無線通信などの無線通信や、USBなどの有線接続や赤外線通信などを用いるものであってもよい。また、エッジサーバー300は、ローカルエリアネットワーク102上ではなく、インターネット104上にあってもよい。 It should be noted that the configuration described above shows an example to which the present invention can be applied, and it is possible to obtain the effect of the present invention even if the configuration is different from this example. For example, although the router 103 has an access point function, the access point may be realized by a device different from the router 103. Further, the connection between the edge server 300 and each device 400 may use a connection means other than the local area network 102. For example, wireless communication such as LPWA, ZigBee, Bluetooth, short-range wireless communication other than wireless LAN, wired connection such as USB, infrared communication, etc. may be used. Further, the edge server 300 may be on the Internet 104 instead of on the local area network 102.

<サーバーの構成>
図2は、クラウドサーバー200、消耗品発注サーバー260、エッジサーバー300のハードウェア構成を示すブロック図である。ここでは、これらサーバーのハードウェア構成として共通のものを利用するものとして、クラウドサーバー200に関して説明し、消耗品発注サーバー260、エッジサーバー300に関する説明は割愛する。クラウドサーバー200は、装置全体の制御を行うメインボード210と、ネットワーク接続ユニット201と、ハードディスクユニット202とを有する。メインボード210に配置されるプロセッサーであるCPU211は、内部バス212を介して接続されているプログラムメモリ213に記憶されている制御プログラムに従って、またデータメモリ214に記憶されている内容に基づいて、動作する。
<Server configuration>
FIG. 2 is a block diagram showing the hardware configurations of the cloud server 200, the consumables ordering server 260, and the edge server 300. Here, the cloud server 200 will be described as the one that uses the common hardware configuration of these servers, and the description of the consumables ordering server 260 and the edge server 300 will be omitted. The cloud server 200 includes a main board 210 that controls the entire device, a network connection unit 201, and a hard disk unit 202. The CPU 211, which is a processor arranged on the main board 210, operates according to the control program stored in the program memory 213 connected via the internal bus 212 and based on the contents stored in the data memory 214. To do.

CPU211はネットワーク制御回路215を介して、ネットワーク接続ユニット201を制御することで、インターネット104やローカルエリアネットワーク102などのネットワークと接続し、他の装置との通信を行う。CPU211は、ハードディスク制御回路216を経由して接続されたハードディスクユニット202に対しデータを読み書きすることができる。ハードディスクユニット202には、プログラムメモリ213にロードして使用されるオペレーティングシステムやサーバー200の制御ソフトウェアが記憶されるほか、各種データも記憶される。メインボード210にはGPU217が搭載されており、各種演算処理をCPU211の代わりに実行させることが可能である。GPU217はデータをより多く並列処理することで効率的な演算を行うことができるので、ディープラーニングのような学習モデルを用いて複数回に渡り学習を行う場合には、GPU217で処理を行うことが有効である。そこで本実施形態では、後述の学習部251(図9参照)による処理にはCPU211に加えてGPU217を用いるものとする。具体的には、学習モデルを含む学習プログラムを実行する場合に、CPU211とGPU217とが協同して演算を行うことで学習を行う。尚、CPU211とGPU217との何れかにより演算を行うことで、学習部251の処理が実行されてもよい。また、推論部351(図9参照)の処理も学習部251と同様に、GPU217を用いて実行してもよい。 The CPU 211 controls the network connection unit 201 via the network control circuit 215 to connect to a network such as the Internet 104 or a local area network 102 and communicate with other devices. The CPU 211 can read and write data to and from the hard disk unit 202 connected via the hard disk control circuit 216. The hard disk unit 202 stores the operating system loaded in the program memory 213 and the control software of the server 200, and also stores various data. GPU 217 is mounted on the main board 210, and various arithmetic processes can be executed instead of the CPU 211. Since GPU 217 can perform efficient calculation by processing more data in parallel, when learning is performed multiple times using a learning model such as deep learning, it is possible to perform processing on GPU 217. It is valid. Therefore, in the present embodiment, the GPU 217 is used in addition to the CPU 211 for the processing by the learning unit 251 (see FIG. 9) described later. Specifically, when executing a learning program including a learning model, learning is performed by performing calculations in cooperation with the CPU 211 and the GPU 217. The process of the learning unit 251 may be executed by performing the calculation by either the CPU 211 or the GPU 217. Further, the processing of the inference unit 351 (see FIG. 9) may also be executed by using the GPU 217 in the same manner as the learning unit 251.

尚、ここでは、エッジサーバー300とクラウドサーバー200とが共通の構成を有するものとして説明したが、本発明の実施形態はこのような構成に限定されない。例えば、クラウドサーバー200にはGPU217を搭載するが、エッジサーバー300にはGPU217を搭載しない構成を取ってよいし、クラウドサーバー200とエッジサーバー300とで異なる性能のGPU217を用いるように構成してもよい。また、ここでは、消耗品発注サーバー260とクラウドサーバー200とが共通の構成を有するものとして説明したが、本発明の実施形態はこのような構成に限定されない。例えば、消耗品発注サーバー260でディープラーニングのような学習を行わないため、消耗品発注サーバー260にGPU217を搭載しない構成を取ってもよい。 Although it has been described here that the edge server 300 and the cloud server 200 have a common configuration, the embodiment of the present invention is not limited to such a configuration. For example, the cloud server 200 may be equipped with the GPU 217, but the edge server 300 may not be equipped with the GPU 217, or the cloud server 200 and the edge server 300 may be configured to use the GPU 217 having different performances. Good. Further, although the consumables ordering server 260 and the cloud server 200 have been described here as having a common configuration, the embodiment of the present invention is not limited to such a configuration. For example, since the consumables ordering server 260 does not perform learning such as deep learning, the consumables ordering server 260 may not be equipped with the GPU 217.

<スマートフォンの外観>
図3は、スマートフォン500の外観図である。スマートフォンとは、携帯電話の機能の他に、カメラや、ネットブラウザ、メール機能などを搭載した多機能型の携帯電話のことである。近距離無線通信ユニット501は、近距離無線通信を行うためのユニットであり、所定距離内にいる通信相手の近距離無線通信ユニットと通信を行うことができる。無線LANユニット502は、無線LANを利用してローカルエリアネットワーク102と接続して通信を行うためのユニットで、装置内に配置されている。回線接続ユニット503は、携帯電話回線に接続して通信を行うためのユニットで、装置内に配置されている。タッチパネルディスプレイ504はLCD方式の表示機構とタッチパネル方式の操作機構とを兼ね備えており、スマートフォン500の前面に備えられている。代表的な操作方法は、タッチパネルディスプレイ504上にボタン状の操作パーツの表示を行い、ユーザがタッチパネルディスプレイ504へのタッチ操作を行うことによってボタンが押下されたイベントを発行することである。電源ボタン505は、スマートフォン500の電源のオンからオフへの変更、またはオフからオンへの変更をする際に用いる。
<Appearance of smartphone>
FIG. 3 is an external view of the smartphone 500. A smartphone is a multifunctional mobile phone equipped with a camera, an internet browser, an email function, etc. in addition to the functions of a mobile phone. The short-range wireless communication unit 501 is a unit for performing short-range wireless communication, and can communicate with a short-range wireless communication unit of a communication partner within a predetermined distance. The wireless LAN unit 502 is a unit for connecting to and communicating with the local area network 102 using a wireless LAN, and is arranged in the device. The line connection unit 503 is a unit for connecting to a mobile phone line and performing communication, and is arranged in the device. The touch panel display 504 has both an LCD display mechanism and a touch panel operation mechanism, and is provided on the front surface of the smartphone 500. A typical operation method is to display a button-shaped operation part on the touch panel display 504 and issue an event in which the button is pressed by the user performing a touch operation on the touch panel display 504. The power button 505 is used when changing the power of the smartphone 500 from on to off or from off to on.

<プリンタの外観>
図4は、プリンタ600の外観図である。ここではプリンタとして、プリント機能の他、スキャナ機能やその他の機能を兼ね備えたマルチファンクションプリンタ(MFP)を挙げて説明するが、本発明の実施形態はMFPに限定されない。図4(a)は、プリンタ600の全体外観を表す斜視図である。原稿台601はガラス状の透明な台であり、原稿をのせてスキャナで読み取る時に使用する。原稿台圧板602はスキャナで読み取りを行う際に原稿が浮かないように原稿台に押しつけるとともに、外光がスキャナユニットに入らないようにするためのカバーである。印刷用紙挿入口603は様々なサイズの用紙をセットする挿入口である。ここにセットされた用紙は一枚ずつ印刷部に搬送され、所望の印刷が行われた後、印刷用紙排出口604から排出される。
<Appearance of printer>
FIG. 4 is an external view of the printer 600. Here, a multifunction printer (MFP) having a scanner function and other functions in addition to a print function will be described as a printer, but the embodiment of the present invention is not limited to the MFP. FIG. 4A is a perspective view showing the overall appearance of the printer 600. The document table 601 is a transparent glass-like table, which is used when a document is placed and read by a scanner. The platen pressure plate 602 is a cover for pressing the document against the platen so that the document does not float when scanning with a scanner, and for preventing outside light from entering the scanner unit. The printing paper insertion slot 603 is an insertion slot for loading various sizes of paper. The paper set here is conveyed to the printing unit one by one, and after the desired printing is performed, the paper is ejected from the printing paper ejection port 604.

図4(b)は、プリンタ600上面の外観図を表している。原稿台圧板602の上部には操作パネル605および近距離無線通信ユニット606が配置されている。近距離無線通信ユニット606は近距離無線通信を行うためのユニットで、所定距離内にいる通信相手の近距離無線通信ユニットと通信を行うことができる。無線LANアンテナ607は、無線LANを用いてローカルエリアネットワーク102と接続して通信を行うためのアンテナである。 FIG. 4B shows an external view of the upper surface of the printer 600. An operation panel 605 and a short-range wireless communication unit 606 are arranged above the platen pressure plate 602. The short-range wireless communication unit 606 is a unit for performing short-range wireless communication, and can communicate with a short-range wireless communication unit of a communication partner within a predetermined distance. The wireless LAN antenna 607 is an antenna for connecting to and communicating with the local area network 102 using a wireless LAN.

<スマートフォンの構成>
図5は、スマートフォン500の構成を示すブロック図である。スマートフォン500は、装置全体の制御を行うメインボード510と、無線LANユニット502と、近距離無線通信ユニット501と、回線接続ユニット503と、タッチパネルディスプレイ504とを有する。メインボード510に配置されるプロセッサーであるCPU511は、内部バス512を介して接続されているプログラムメモリ513(具体的にはROM)に記憶されている制御プログラムと、データメモリ514(具体的にはRAM)の内容とに従って動作する。
<Smartphone configuration>
FIG. 5 is a block diagram showing the configuration of the smartphone 500. The smartphone 500 includes a main board 510 that controls the entire device, a wireless LAN unit 502, a short-range wireless communication unit 501, a line connection unit 503, and a touch panel display 504. The CPU 511, which is a processor arranged on the main board 510, has a control program stored in a program memory 513 (specifically ROM) connected via an internal bus 512 and a data memory 514 (specifically, ROM). Operates according to the contents of RAM).

CPU511は、無線LAN制御回路515を介して無線LANユニット502を制御することで、他の通信端末装置と無線LAN通信を行う。またCPU511は、近距離無線通信制御回路516を介して近距離無線通信ユニット501を制御することで、他の近距離無線通信端末との接続を検出したり、他の近距離無線通信端末との間でデータの送受信を行ったりすることができる。さらにCPU511は、回線制御回路517を介して回線接続ユニット503を制御することで、携帯電話回線網105に接続し、通話やデータ送受信を行うことができる。 The CPU 511 controls the wireless LAN unit 502 via the wireless LAN control circuit 515 to perform wireless LAN communication with other communication terminal devices. Further, the CPU 511 controls the short-range wireless communication unit 501 via the short-range wireless communication control circuit 516 to detect a connection with another short-range wireless communication terminal or with another short-range wireless communication terminal. Data can be sent and received between. Further, the CPU 511 controls the line connection unit 503 via the line control circuit 517 to connect to the mobile phone line network 105 and perform a call and data transmission / reception.

CPU511は、操作部制御回路518を制御することで、タッチパネルディスプレイ504に所望の表示を行ったり、ユーザからの操作を受け付けたりすることが可能である。CPU511は、カメラ519を制御して撮像することができ、取得した画像をデータメモリ514中の画像メモリ520に記憶する。またCPU511は、撮像により取得した画像以外にも、携帯電話回線、ローカルエリアネットワーク102、近距離無線通信101等を通じて外部から取得した画像を画像メモリ520に記憶したり、逆に画像を外部に送信したりすることも可能である。 By controlling the operation unit control circuit 518, the CPU 511 can display a desired display on the touch panel display 504 and accept an operation from the user. The CPU 511 can control the camera 519 to take an image, and stores the acquired image in the image memory 520 in the data memory 514. In addition to the image acquired by imaging, the CPU 511 stores an image acquired from the outside through a mobile phone line, a local area network 102, a short-range wireless communication 101, or the like in the image memory 520, or conversely transmits the image to the outside. It is also possible to do.

不揮発性メモリ521はフラッシュメモリ等で構成され、不揮発性メモリ521には、電源がオンからオフに変更された後でも残しておきたいデータが記憶される。このようなデータとして例えば、電話帳データや、各種通信接続情報や過去に接続したデバイス情報の他、残しておきたい画像データ、及びスマートフォン500に各種機能を実現するためのアプリケーションソフトウェア等が挙げられる。 The non-volatile memory 521 is composed of a flash memory or the like, and the non-volatile memory 521 stores data to be retained even after the power is changed from on to off. Examples of such data include telephone directory data, various communication connection information, device information connected in the past, image data to be retained, application software for realizing various functions on the smartphone 500, and the like. ..

<プリンタの構成>
図6は、プリンタ600の構成を示すブロック図である。プリンタ600は、装置全体の制御を行うメインボード610と、無線LANユニット608と、近距離無線通信ユニット606と、操作パネル605とを有する。メインボード610に配置されるプロセッサーであるCPU611は、内部バス612を介して接続されているプログラムメモリ613(具体的にはROM)に記憶されている制御プログラムと、データメモリ614(具体的にはRAM)の内容とに従って動作する。CPU611は、スキャナ部615を制御して原稿を読み取り、該読み取りによって取得した画像データをデータメモリ614中の画像メモリ616に記憶する。また、CPU611は、印刷部617を制御して、画像メモリ616に記憶されている画像データに基づいて、用紙などの記録媒体上にインク像を形成(つまり印刷)することができる。
<Printer configuration>
FIG. 6 is a block diagram showing the configuration of the printer 600. The printer 600 includes a main board 610 that controls the entire device, a wireless LAN unit 608, a short-range wireless communication unit 606, and an operation panel 605. The CPU 611, which is a processor arranged on the main board 610, has a control program stored in a program memory 613 (specifically ROM) connected via an internal bus 612 and a data memory 614 (specifically, ROM). Operates according to the contents of RAM). The CPU 611 controls the scanner unit 615 to read the original, and stores the image data acquired by the reading in the image memory 616 in the data memory 614. Further, the CPU 611 can control the printing unit 617 to form (that is, print) an ink image on a recording medium such as paper based on the image data stored in the image memory 616.

CPU611は、無線LAN制御部618を介して無線LANユニット608を制御することで、他の通信端末装置と無線LAN通信を行う。またCPU611は、近距離無線通信制御回路619を介して近距離無線通信ユニット606を制御することで、他の近距離無線通信端末との接続を検出したり、他の近距離無線通信端末との間でデータの送受信を行ったりすることができる。 The CPU 611 controls the wireless LAN unit 608 via the wireless LAN control unit 618 to perform wireless LAN communication with other communication terminal devices. Further, the CPU 611 controls the short-range wireless communication unit 606 via the short-range wireless communication control circuit 619 to detect a connection with another short-range wireless communication terminal or to connect with another short-range wireless communication terminal. Data can be sent and received between.

CPU611は操作部制御回路620を制御することで、操作パネル605にプリンタ600の状態や機能選択メニューの表示を行ったり、ユーザからの操作を受け付けたりすることが可能である。操作パネル605にはバックライトが備えられており、CPU611は、操作部制御回路620を介してバックライトの点灯、消灯を制御することができる。バックライトを消灯すると、操作パネル605の表示が見えにくくなるが、プリンタ600の消費電力を抑えることができる。 By controlling the operation unit control circuit 620, the CPU 611 can display the status of the printer 600 and the function selection menu on the operation panel 605, and can accept operations from the user. The operation panel 605 is provided with a backlight, and the CPU 611 can control the lighting and extinguishing of the backlight via the operation unit control circuit 620. When the backlight is turned off, the display on the operation panel 605 becomes difficult to see, but the power consumption of the printer 600 can be suppressed.

<印刷部の構成>
図7は、プリンタ600における印刷部617の構成を示す図である。ガイドシャフト630上を矢印A、B方向に往復移動するキャリッジ631上には、ブラック、シアン、マゼンタ、イエロー各色のノズル列を持つインクカートリッジ632が搭載されている。インクカートリッジ632は、記録ヘッドと記録ヘッドにインクを供給するインクタンクとから構成され、これらが一体化したものである。尚、ここで説明する実施形態では、記録ヘッドとインクタンクが一体化した構成となっているが、記録ヘッドとインクタンクが分離した構成でもよい。尚、以降では、シアン、マゼンダ、イエロー、ブラックの4色についてはC、M、Y、Kと夫々一文字で表す。
<Structure of printing unit>
FIG. 7 is a diagram showing a configuration of a printing unit 617 in the printer 600. An ink cartridge 632 having nozzle rows of black, cyan, magenta, and yellow is mounted on the carriage 631 that reciprocates on the guide shaft 630 in the directions of arrows A and B. The ink cartridge 632 is composed of a recording head and an ink tank that supplies ink to the recording head, and these are integrated. In the embodiment described here, the recording head and the ink tank are integrated, but the recording head and the ink tank may be separated from each other. In the following, the four colors of cyan, magenta, yellow, and black will be represented by one letter each as C, M, Y, and K.

ベルト633を介してキャリッジ631と接続されたキャリッジモータ634によりキャリッジ631を移動しながらインクカートリッジ632に駆動パルスを与えることで、1走査分の印字記録動作が行われる。また、キャリッジ631上のインクカートリッジ632と並ぶ位置には、センサ635が設けられている。キャリッジ631を移動しながら、センサ635を用いて記録媒体636を監視することにより、インクカートリッジ632により印字記録した結果を読み取ることができる。記録媒体636はキャリッジ631の1走査分の印字記録動作ごとに、搬送モータ637により駆動される搬送ローラ638によって矢印C方向に規定量ずつ送られ、これを繰り返すことにより、記録媒体636の1ページ分の印字記録動作が完了する。 By applying a drive pulse to the ink cartridge 632 while moving the carriage 631 by the carriage motor 634 connected to the carriage 631 via the belt 633, a print recording operation for one scan is performed. Further, a sensor 635 is provided at a position on the carriage 631 alongside the ink cartridge 632. By monitoring the recording medium 636 using the sensor 635 while moving the carriage 631, the result of printing and recording by the ink cartridge 632 can be read. The recording medium 636 is fed by the transfer roller 638 driven by the transfer motor 637 in a specified amount in the direction of arrow C for each print recording operation for one scan of the carriage 631, and by repeating this, one page of the recording medium 636 is displayed. The minute print recording operation is completed.

記録媒体636から矢印A方向に外れた位置には、インクカートリッジ632の状態を良好に保つための回復機構639が、インクカートリッジ632と対向するように設けられている。インクカートリッジ632が回復機構639と対向する位置へキャリッジ631を移動した後に回復機構639を駆動する。これにより、インクカートリッジ632の目詰まりを取り除いたり、色間の混色を除去したりするクリーニング動作を行うことが可能である。クリーニング動作として、標準的なクリーニング動作の他、インクカートリッジ632のノズル内のインクをより強く吸引する強力クリーニング等の、複数種類のクリーニング動作を設けることができる。また、記録動作を長時間行わない場合には、インクカートリッジ632に回復機構639を当接させておくことにより、インクカートリッジ632のノズル部分をキャップして乾燥やインクの固化を防ぐこともできる。この動作を「キャッピング(動作)」と記す。これらのクリーニング動作やキャッピング動作をプリンタ600の動作制御に合わせて自動で実行して印刷品質を適正に保つ制御が行われる。尚、このような制御を行っても、インクがかすれたり乱れたりした場合には、ユーザが操作パネルからメンテナンス動作を選択して実行させることが可能である。 At a position deviated from the recording medium 636 in the direction of arrow A, a recovery mechanism 639 for keeping the state of the ink cartridge 632 in good condition is provided so as to face the ink cartridge 632. After the ink cartridge 632 moves the carriage 631 to a position facing the recovery mechanism 639, the recovery mechanism 639 is driven. As a result, it is possible to perform a cleaning operation such as removing clogging of the ink cartridge 632 and removing color mixing between colors. As the cleaning operation, in addition to the standard cleaning operation, a plurality of types of cleaning operations such as strong cleaning that sucks the ink in the nozzle of the ink cartridge 632 more strongly can be provided. Further, when the recording operation is not performed for a long time, the recovery mechanism 639 is brought into contact with the ink cartridge 632 to cap the nozzle portion of the ink cartridge 632 to prevent drying and solidification of the ink. This operation is referred to as "capping (operation)". These cleaning operations and capping operations are automatically executed in accordance with the operation control of the printer 600 to control the print quality to be maintained appropriately. Even if such control is performed, if the ink is faint or disturbed, the user can select and execute the maintenance operation from the operation panel.

またプリンタ600は、インクカートリッジ632におけるインクの残量を検出することができる。その検出用法は種々のものでよい。例えば、インクタンクにセンサを設けインク残量を直接測定するものがある。このセンサとしては、電極や光学センサを用いる。センサに電極を用いる方法では、インクタンクの内部にインクに接した2本の電極を設け、インク残量に応じて変化する電極間の抵抗値を測定することによりインク残量を推定する。一方、光学センサを用いる方法では、インクタンクの近傍に光源と受光部からなる光学センサを設け、インクタンク内のインクに対して光を入射させ、インク残量やインクの有無に応じて変化する反射光或いは透過光を検出する。これにより、インク残量やインクの有無を検出している。センサを用いるこれらの検出方法を、「センサ方式」と呼ぶ。ただし、センサ方式では、センサ出力値に電気ノイズなどが干渉した場合や受光部が外乱光を受光してしまうような外部要因により、正確な残量検出ができない場合がある。 Further, the printer 600 can detect the remaining amount of ink in the ink cartridge 632. The detection method may be various. For example, there is one in which a sensor is provided in the ink tank to directly measure the remaining amount of ink. As this sensor, an electrode or an optical sensor is used. In the method using electrodes for the sensor, the ink remaining amount is estimated by providing two electrodes in contact with the ink inside the ink tank and measuring the resistance value between the electrodes that changes according to the ink remaining amount. On the other hand, in the method using an optical sensor, an optical sensor consisting of a light source and a light receiving part is provided in the vicinity of the ink tank, light is incident on the ink in the ink tank, and the light changes depending on the remaining amount of ink and the presence or absence of ink. Detects reflected or transmitted light. As a result, the remaining amount of ink and the presence or absence of ink are detected. These detection methods using a sensor are called "sensor method". However, in the sensor method, accurate remaining amount detection may not be possible due to external factors such as electrical noise interfering with the sensor output value or the light receiving portion receiving ambient light.

また、上記のセンサ方式の方法とは別の方法として、インク滴の吐出回数をカウントし、予め見積もってある1吐出当りのインク量と吐出回数とを掛け合わせることにより、インク消費量を間接的に推定してもよい。この方式を「ドットカウント方式」と呼ぶ。ドットカウント方式では、記録装置毎の吐出量のばらつきや記録装置の使用環境(具体的には温度、湿度)によって1吐出当りのインク量が異なることや、インクの蒸発などによるインク量の変化に対応していないため、インク残量を正確に検出できない場合がある。このように、それぞれの方法は長所と短所があるので、相互に補い合うために複数の残量検出方法を組み合わせて使用してもよい。インク残量検出の具体的構成について以下説明する。 Further, as a method different from the above-mentioned sensor method, the ink consumption amount is indirectly calculated by counting the number of times the ink droplets are ejected and multiplying the pre-estimated amount of ink per ejection and the number of times of ejection. It may be estimated to. This method is called a "dot count method". In the dot count method, the amount of ink per ejection differs depending on the variation in the ejection amount for each recording device and the usage environment (specifically, temperature and humidity) of the recording device, and the amount of ink changes due to ink evaporation. Since it is not supported, it may not be possible to accurately detect the remaining amount of ink. As described above, since each method has advantages and disadvantages, a plurality of remaining amount detection methods may be used in combination in order to complement each other. The specific configuration of the ink remaining amount detection will be described below.

回復機構639の横側には、赤外LED(発光素子)及びフォトトランジスタ(受光素子)から成るインク残量検出を行うための反射型センサを構成する光学ユニット640が設けられている。これらの発光素子と受光素子とは、記録用紙の搬送方向(矢印C方向)に沿って並ぶように取り付けられている。インクカートリッジ632がキャリッジ631に搭載され、図6に示された位置より右方向へと移動すると、インクカートリッジ632は光学ユニット640上に位置するようになる。こうすることで、光学ユニット640は、インクカートリッジ632の底面に向けて光を入射し、インク残量等のインクカートリッジ632の状態を検出することが可能となる。 On the lateral side of the recovery mechanism 639, an optical unit 640 including an infrared LED (light emitting element) and a phototransistor (light receiving element) constituting a reflective sensor for detecting the remaining amount of ink is provided. These light emitting elements and light receiving elements are attached so as to be arranged along the conveying direction (arrow C direction) of the recording paper. When the ink cartridge 632 is mounted on the carriage 631 and moves to the right from the position shown in FIG. 6, the ink cartridge 632 comes to be located on the optical unit 640. By doing so, the optical unit 640 can inject light toward the bottom surface of the ink cartridge 632 and detect the state of the ink cartridge 632 such as the remaining amount of ink.

また印刷部617には、インクカートリッジ632から吐出されたインク滴の数を計数するドットカウンタ(不図示)が設けられている。このドットカウンタを設けることで、画像を形成するために吐出されるインク滴と、回復処理の一環として実施される予備吐出の際に吐出されるインク滴との双方のインク滴を計数することを可能としている。また、本実施形態における記録装置では、各種吸引回復処理における各インクタンクにおけるインク消費量を予め実験的に求めており、吸引回復処理が実行された場合の消費重量をインクタンクごとに管理することができる。これにより、上述のドットカウンタにより計数されたドット数に吐出液滴重量を乗算した値と、上述の吸引回復処理に費やした消費重量とを合算することにより、消費されたインク量を算出することが可能である。尚、本実施形態における記録装置は、光学ユニット640とドットカウンタ(不図示)との両方を有する構成となっているが、どちらか一方のみ有する構成でもよい。 Further, the printing unit 617 is provided with a dot counter (not shown) for counting the number of ink droplets ejected from the ink cartridge 632. By providing this dot counter, it is possible to count both the ink droplets ejected to form an image and the ink droplets ejected during the preliminary ejection performed as part of the recovery process. It is possible. Further, in the recording device of the present embodiment, the ink consumption amount in each ink tank in various suction recovery processes is experimentally obtained in advance, and the weight consumption when the suction recovery process is executed is managed for each ink tank. Can be done. As a result, the amount of ink consumed can be calculated by adding the value obtained by multiplying the number of dots counted by the above-mentioned dot counter by the weight of the ejected droplets and the weight consumed for the above-mentioned suction recovery process. Is possible. The recording device in the present embodiment has a configuration having both an optical unit 640 and a dot counter (not shown), but may have a configuration in which only one of them is provided.

<インク関連のエラーを表示するGUI>
図8は、プリンタ600において発生したインク関連のエラー(具体的には、インク残量に起因するエラー)をユーザに通知するGUI、具体的には、操作パネル605に表示されるエラー通知画面の例を示す図である。本実施形態におけるプリンタ600は、3種類のインク関連のエラー通知画面のうち、インク残量に応じた1つを選択的に表示するものとする。
<GUI that displays ink-related errors>
FIG. 8 shows a GUI for notifying the user of an ink-related error (specifically, an error caused by the remaining amount of ink) generated in the printer 600, specifically, an error notification screen displayed on the operation panel 605. It is a figure which shows an example. The printer 600 in the present embodiment selectively displays one of the three types of ink-related error notification screens according to the remaining amount of ink.

図8(a)は、インクロー警告画面650を示す。インクロー警告画面650は、インク残量がある一定の閾値以下(例えば、20%以下)になった場合に、インクが少なくなってきていることを、ユーザに通知するための画面である。インクロー警告画面650は、インクが少なくなってきたため、交換用のインクカートリッジ632を準備することをユーザに促すために表示される。インクロー警告画面650を視認したユーザは、OKボタン651を押下するか、インクカートリッジ632を交換することで、インクロー警告画面650を消して、印刷を続行することができる。 FIG. 8A shows an ink low warning screen 650. The ink claw warning screen 650 is a screen for notifying the user that the ink is running low when the remaining amount of ink falls below a certain threshold value (for example, 20% or less). The ink claw warning screen 650 is displayed to prompt the user to prepare a replacement ink cartridge 632 because the ink is running low. The user who visually recognizes the ink low warning screen 650 can erase the ink low warning screen 650 and continue printing by pressing the OK button 651 or replacing the ink cartridge 632.

図8(b)は、インクなしエラー画面660を示す。インクなしエラー画面660は、インクロー警告画面650を表示した時よりさらにインク残量が減って、一定の閾値以下(例えば、10%以下)になった場合に、インクがなくなってきていることを、ユーザに通知するための画面である。この画面は、インクがなくなってきている為、出力画像がかすれてしまったり、インクがない状態で記録動作を行うことで、記録ヘッドに吐出不良等の異常が発生してしまったりする虞があるので、インクカートリッジ632の交換をユーザに促すために表示される。インクなしエラー画面660を視認したユーザは、OKボタン661を押下するか、インクカートリッジ632を交換することで、インクなしエラー画面660を消して、印刷を続行することができる。また、印刷を続行した後で再度印刷ジョブやコピージョブやメンテナンスジョブを実行した場合、再度このエラー画面を表示してもよい。インクなしエラー画面660を再度表示することで、ユーザにインク交換が必要な旨を繰り返し通知することができる。 FIG. 8B shows an inkless error screen 660. The out-of-ink error screen 660 indicates that the ink is running out when the remaining amount of ink is further reduced than when the ink low warning screen 650 is displayed and becomes below a certain threshold value (for example, 10% or less). This is a screen for notifying the user. Since this screen is running out of ink, the output image may be faint, or the recording head may have an abnormality such as ejection failure if the recording operation is performed without ink. Therefore, it is displayed to prompt the user to replace the ink cartridge 632. The user who visually recognizes the no-ink error screen 660 can erase the no-ink error screen 660 and continue printing by pressing the OK button 661 or replacing the ink cartridge 632. If the print job, copy job, or maintenance job is executed again after printing is continued, this error screen may be displayed again. By displaying the out-of-ink error screen 660 again, the user can be repeatedly notified that the ink needs to be replaced.

図8(c)は、インク完全なしエラー画面670を示す。インク完全なしエラー画面670は、インクなしエラー画面660を表示した時よりさらにインク残量が減って、一定の閾値以下(例えば、1%以下)になった場合に、インクがなくなったことを、ユーザに通知するための画面である。この画面は、インクがなくなったため、出力画像がかすれてしまったり、インクがない状態で記録動作を行うことで、記録ヘッドに吐出不良等の異常が発生してしまったりする虞があることから、インクカートリッジ632の交換をユーザに促すために表示される。インク完全なしエラー画面670を視認したユーザは、インクカートリッジ632を交換することで、インク完全なしエラー画面670を消して、印刷を続行することができる。 FIG. 8C shows an ink-free error screen 670. The no-ink error screen 670 indicates that the ink has run out when the remaining amount of ink is further reduced than when the no-ink error screen 660 is displayed and becomes below a certain threshold value (for example, 1% or less). This is a screen for notifying the user. Since this screen runs out of ink, the output image may be faint, or if the recording operation is performed without ink, an abnormality such as ejection failure may occur in the recording head. It is displayed to prompt the user to replace the ink cartridge 632. The user who visually recognizes the ink completeness error screen 670 can erase the ink completeness error screen 670 and continue printing by replacing the ink cartridge 632.

尚、図8に示した例では、CMYKの何れのインクに関するエラー情報かを特定する情報を示さなかったが、インク色を指定して、エラー情報を表示してもよい。または、インクカートリッジ632の交換を行う手順の中で、エラーが起きているインク色の情報をユーザに提示してもよい。 In the example shown in FIG. 8, the information for specifying which ink of CMYK the error information is related to is not shown, but the error information may be displayed by specifying the ink color. Alternatively, in the procedure for replacing the ink cartridge 632, information on the ink color in which the error has occurred may be presented to the user.

<ソフトウェア構成>
図9は、処理システム100(具体的には印刷システム)のソフトウェア構成を示す図である。尚、図9では、処理システム100が有するソフトウェア構成のうち、本実施形態における学習及び推論の処理に関わるものについてのみ記載しており、その他のソフトウェアモジュールについては省略している。例えば、各デバイスやサーバー上で動作するオペレーティングシステムや各種ミドルウェア、メンテナンスのためのアプリケーション等については省略している。
<Software configuration>
FIG. 9 is a diagram showing a software configuration of the processing system 100 (specifically, a printing system). Note that, in FIG. 9, among the software configurations of the processing system 100, only those related to the learning and inference processing in the present embodiment are described, and other software modules are omitted. For example, the operating system running on each device or server, various middleware, maintenance applications, etc. are omitted.

クラウドサーバー200は、学習用データ生成部250と、学習部251と、学習モデル252とを有する。学習用データ生成部250は、外部から受信したデータに基づき、学習部251が処理可能な学習用データを生成するモジュールである。学習用データは、学習部251の入力データXと、学習結果の正解を示す教師データTとの組である(図10参照)。学習部251は、学習用データ生成部250から受け取った学習用データに基づいて、学習モデル252に対する学習を実行するプログラムモジュールである。学習モデル252は、学習部251で行った学習結果を蓄積する。ここでは学習モデル252をニューラルネットワークとして実現する例を説明する。ニューラルネットワークの各ノード間の重み付けパラメータを適切なものに補正することにより、入力データを分類したり、評価値を決定したりすることができる。蓄積した学習モデル252は、エッジサーバー300に学習済モデルとして配信され、エッジサーバー300における推論処理に用いられる。 The cloud server 200 has a learning data generation unit 250, a learning unit 251 and a learning model 252. The learning data generation unit 250 is a module that generates learning data that can be processed by the learning unit 251 based on the data received from the outside. The learning data is a set of the input data X of the learning unit 251 and the teacher data T indicating the correct answer of the learning result (see FIG. 10). The learning unit 251 is a program module that executes learning for the learning model 252 based on the learning data received from the learning data generation unit 250. The learning model 252 accumulates the learning results performed by the learning unit 251. Here, an example of realizing the learning model 252 as a neural network will be described. By correcting the weighting parameters between each node of the neural network to appropriate ones, the input data can be classified and the evaluation value can be determined. The accumulated learning model 252 is distributed to the edge server 300 as a trained model, and is used for inference processing in the edge server 300.

エッジサーバー300は、データ収集・提供部350と、推論用データ生成部353と、推論部351と、学習済モデル352とを有する。データ収集・提供部350は、デバイス400からデータを受信したり、ログ情報を収集して記憶したりするモジュールである。また、データ収集・提供部350は、これらのデータを推論用データ生成部353に渡したり、学習に用いるためのデータ群としてクラウドサーバー200送信したりする。推論用データ生成部353は、データ収集・提供部350から渡されたデータに基づき、推論部351が処理可能な推論用データを生成するモジュールである。推論用データは、推論部351の入力データXである。この入力データXは、学習部251で用いる入力データXと同じ形式のデータであるが、推論に用いるデータは常に、最新ジョブのデータである。推論部351は、推論用データ生成部353から渡された推論用データに基づき、学習済モデル352を用いて推論を実行し、その結果をデバイス400に返送するプログラムモジュールである。デバイス400からエッジサーバー300に送られるデータは、推論部351の入力データXとなるデータである。学習済モデル352は、エッジサーバー300で行う推論に用いられる。学習済モデル352も学習モデル252と同様にニューラルネットワークとして実現されるものとする。但し、後述のように、学習済モデル352は、学習モデル252と同一のものであってもよいし、学習モデル252の一部を抽出して利用するものであってもよい。学習済モデル352として、クラウドサーバー200で蓄積して配信された学習モデル252を記憶する。尚、学習済モデル352は、学習モデル252の全部が配信されたものであってもよいし、学習モデル252のうち、エッジサーバー300での推論に必要な一部分だけを抜き出して配信されたものであってもよい。 The edge server 300 has a data collection / provision unit 350, an inference data generation unit 353, an inference unit 351 and a trained model 352. The data collection / provision unit 350 is a module that receives data from the device 400 and collects and stores log information. Further, the data collection / provision unit 350 passes these data to the inference data generation unit 353, or transmits the cloud server 200 as a data group to be used for learning. The inference data generation unit 353 is a module that generates inference data that can be processed by the inference unit 351 based on the data passed from the data collection / provision unit 350. The inference data is the input data X of the inference unit 351. The input data X is data in the same format as the input data X used in the learning unit 251 but the data used for inference is always the latest job data. The inference unit 351 is a program module that executes inference using the trained model 352 based on the inference data passed from the inference data generation unit 353 and returns the result to the device 400. The data sent from the device 400 to the edge server 300 is the data that becomes the input data X of the inference unit 351. The trained model 352 is used for inference performed by the edge server 300. It is assumed that the trained model 352 is also realized as a neural network like the training model 252. However, as described later, the trained model 352 may be the same as the learning model 252, or a part of the learning model 252 may be extracted and used. As the learned model 352, the learning model 252 accumulated and distributed by the cloud server 200 is stored. The trained model 352 may be the one in which the entire learning model 252 is distributed, or the training model 252 is distributed by extracting only a part necessary for inference by the edge server 300. There may be.

デバイス400は、アプリケーション部450と、データ送受信部451とを有する。アプリケーション部450は、デバイス400で実行する各種の機能を実現するモジュールであり、機械学習による学習・推論の仕組みを利用するモジュールである。データ送受信部451は、エッジサーバー300に学習または推論を依頼するモジュールである。学習時には、データ送受信部451は、アプリケーション部450からの依頼により学習に用いるデータをエッジサーバー300のデータ収集・提供部350に送信する。また、推論時には、データ送受信部451は、アプリケーション部450からの依頼により、推論に用いるデータをエッジサーバー300に送信し、推論の結果を受信してアプリケーション部450に返す。 The device 400 has an application unit 450 and a data transmission / reception unit 451. The application unit 450 is a module that realizes various functions executed by the device 400, and is a module that uses a learning / inference mechanism by machine learning. The data transmission / reception unit 451 is a module that requests the edge server 300 to learn or infer. At the time of learning, the data transmission / reception unit 451 transmits the data used for learning to the data collection / provision unit 350 of the edge server 300 at the request of the application unit 450. At the time of inference, the data transmission / reception unit 451 transmits the data used for inference to the edge server 300 at the request of the application unit 450, receives the inference result, and returns it to the application unit 450.

尚、前述の説明では、クラウドサーバー200で学習した学習モデル252を、エッジサーバー300に学習済モデル352として配信し、推論に利用する形態を示したが、本発明の実施形態はこの形態に限定されるものではない。学習、推論をそれぞれ、クラウドサーバー200、エッジサーバー300、デバイス400のどこで実行するかは、ハードウェア資源の配分や計算量、データ通信量の大小に応じて決定すればよい。具体的には例えば、デバイス400は、学習済モデル352を自身で保持し、学習済モデル352による推論を自身で行ってもよい。或いは、これら資源の配分や計算量、データ通信量の増減に応じて動的に変えるようにシステムを構成してもよい。学習と推論を行う主体が異なる場合、推論側は推論のみで使用するロジックや学習済モデル352の容量を削減したり、より高速で実行できるように構成したりすることが可能である。 In the above description, the learning model 252 trained by the cloud server 200 is distributed to the edge server 300 as the trained model 352 and used for inference, but the embodiment of the present invention is limited to this mode. It is not something that is done. Where to execute learning and inference in the cloud server 200, the edge server 300, and the device 400, respectively, may be determined according to the allocation of hardware resources, the amount of calculation, and the amount of data communication. Specifically, for example, the device 400 may hold the trained model 352 by itself and make inferences by the trained model 352 by itself. Alternatively, the system may be configured to dynamically change according to the allocation of these resources, the amount of calculation, and the increase / decrease in the amount of data communication. When the subject performing the learning and the inference are different, the inference side can reduce the capacity of the logic used only for the inference and the trained model 352, or can be configured to execute at higher speed.

<学習モデル>
図10は、学習モデル252、学習済モデル352を利用する際の入出力の構造を示す概念図である。
<Learning model>
FIG. 10 is a conceptual diagram showing an input / output structure when the learning model 252 and the trained model 352 are used.

図10(a)は、学習時における、学習モデル252とその入出力データとの関係を示す。入力データX(801)は、学習モデル252の入力層のデータである。本実施形態における入力データXの詳細は後述する。入力データXを機械学習モデルである学習モデル252を用いて認識した結果として、出力データY(803)が出力される。学習時には、入力データXの認識結果の正解データとして教師データT(802)が与えられるので、出力データYと教師データTとを損失関数804に与えることにより、認識結果の正解からのずれ量L(805)が得られる。多数の学習用データに対してずれ量Lが小さくなるように、学習モデル252中のニューラルネットワークのノード間の結合重み付け係数等を更新する。誤差逆伝播法は、上記の誤差が小さくなるように、各ニューラルネットワークのノード間の結合重み付け係数等を調整する手法である。機械学習の具体的なアルゴリズムとしては、最近傍法、ナイーブベイズ法、決定木、サポートベクターマシン等が挙げられる。また、ニューラルネットワークを利用して、学習するための特徴量、結合重み付け係数を自ら生成する深層学習(ディープラーニング)も挙げられる。これらのアルゴリズムのうち適宜利用できるものを用いて本実施形態を適用することができる。 FIG. 10A shows the relationship between the learning model 252 and its input / output data at the time of learning. The input data X (801) is the data of the input layer of the learning model 252. Details of the input data X in this embodiment will be described later. As a result of recognizing the input data X using the learning model 252 which is a machine learning model, the output data Y (803) is output. At the time of learning, the teacher data T (802) is given as the correct answer data of the recognition result of the input data X. Therefore, by giving the output data Y and the teacher data T to the loss function 804, the amount of deviation L from the correct answer of the recognition result L. (805) is obtained. The coupling weighting coefficient between the nodes of the neural network in the training model 252 is updated so that the deviation amount L becomes smaller for a large number of training data. The error backpropagation method is a method of adjusting the coupling weighting coefficient between the nodes of each neural network so that the above error becomes small. Specific algorithms for machine learning include the nearest neighbor method, the naive Bayes method, a decision tree, and a support vector machine. In addition, deep learning (deep learning) in which features and coupling weighting coefficients for learning are generated by themselves using a neural network can also be mentioned. The present embodiment can be applied by using any of these algorithms that can be appropriately used.

図10(b)は、推論時における、学習済モデル352とその入出力データとの関係を示す。入力データX(801)は、学習済モデル352の入力層のデータである。本実施形態における入力データXの詳細は後述する。入力データXを機械学習モデルである学習済モデル352を用いて認識した結果として出力データY(803)が出力される。推論時には、この出力データYを推論結果として利用する。尚、推論時の学習済モデル352は、学習時の学習モデル252と同等のニューラルネットワークを備えるものとして説明したが、推論で必要な部分のみを抽出したものを学習済モデル352として用意することもできる。これによって学習済モデル352のデータ量を削減したり、推論時のニューラルネットワーク処理時間を短縮したりすることが可能である。以上説明した構成を前提に、本発明を適用する場合の実施形態について説明する。 FIG. 10B shows the relationship between the trained model 352 and its input / output data at the time of inference. The input data X (801) is the data of the input layer of the trained model 352. Details of the input data X in this embodiment will be described later. The output data Y (803) is output as a result of recognizing the input data X using the trained model 352 which is a machine learning model. At the time of inference, this output data Y is used as the inference result. Although the trained model 352 at the time of inference has been described as having a neural network equivalent to the learning model 252 at the time of training, it is also possible to prepare a trained model 352 in which only the parts necessary for inference are extracted. it can. This makes it possible to reduce the amount of data in the trained model 352 and shorten the neural network processing time at the time of inference. An embodiment in which the present invention is applied will be described on the premise of the configuration described above.

[第1の実施形態]
第1の実施形態では、印刷、コピー、メンテナンス等によりインクを消費し、インクの自動発注が必要になる可能性を機械学習で推定し、適切なタイミングでインクの自動発注を行う場合を説明する。
[First Embodiment]
In the first embodiment, a case where ink is consumed by printing, copying, maintenance, etc., the possibility that automatic ink ordering is required is estimated by machine learning, and ink is automatically ordered at an appropriate timing will be described. ..

<印刷ジョブのデータ構造>
図11は、印刷ジョブ900のデータ構造を示す図である。印刷ジョブ900はスマートフォン500やクライアント端末401などのデバイス400からプリンタ600に対して印刷の実行を指示するために、プリンタ600に対して送信されるデータである。また、このデータ構造は、クラウドサーバー200やエッジサーバー300に対して、学習用の入力データとして印刷ジョブに関する情報を送信するためにも用いられる。
<Print job data structure>
FIG. 11 is a diagram showing a data structure of the print job 900. The print job 900 is data transmitted to the printer 600 in order to instruct the printer 600 to execute printing from a device 400 such as a smartphone 500 or a client terminal 401. This data structure is also used to transmit information about a print job to the cloud server 200 and the edge server 300 as input data for learning.

図11(a)は、印刷ジョブの全体構造を示す。印刷ジョブ900のデータ構造は、印刷ジョブヘッダ部910と、印刷ジョブデータ部920とから成る。印刷ジョブヘッダ部910には、印刷ジョブの送信元および送信先に関する情報が格納される。印刷ジョブデータ部920には、印刷ジョブの実行に必要な情報が格納される。 FIG. 11A shows the overall structure of the print job. The data structure of the print job 900 includes a print job header unit 910 and a print job data unit 920. Information about the source and destination of the print job is stored in the print job header section 910. The print job data unit 920 stores information necessary for executing the print job.

図11(b)は、印刷ジョブヘッダ部910の詳細を示す。送信日時911は、送信元から印刷ジョブが送信された日時を示す。日時情報としては、年月日時分秒を示す情報が用いられるが、必要に応じてミリ秒などより細かい単位の時刻情報を含めてもよい。送信者識別子912は、送信元のユーザを一意に特定する識別子である。送信元デバイスに対するユーザのログイン名などが相当する。送信者名913は、送信元のユーザの名前を表示するなどの目的のために用いられる任意の文字列である。送信元デバイス識別子914は、送信元の端末デバイスを一意に特定する識別子である。IPアドレスやMACアドレスなどが相当する。送信元デバイス名915は、送信元のデバイスの名前を表示するなどの目的のために用いられる任意文字列である。印刷ジョブ識別子916は、印刷ジョブ900を一意に特定するための識別子である。印刷ジョブ識別子916と、送信元デバイス識別子914と、送信者識別子912とを適宜組み合わせることによって、クラウドサーバー200に集められる、膨大な数の印刷ジョブ900のうち一つを特定することが可能である。送信先プリンタ識別子917は、印刷ジョブ900が送信される行先のプリンタ600を一意に特定する識別子である。即ち、印刷ジョブを実行して印刷を行うプリンタ600を示す。 FIG. 11B shows the details of the print job header section 910. The transmission date and time 911 indicates the date and time when the print job was transmitted from the transmission source. As the date and time information, information indicating the year, month, day, hour, minute, and second is used, but if necessary, time information in finer units such as milliseconds may be included. The sender identifier 912 is an identifier that uniquely identifies the sender user. This corresponds to the user's login name for the source device. The sender name 913 is an arbitrary character string used for a purpose such as displaying the name of the sender user. The source device identifier 914 is an identifier that uniquely identifies the source terminal device. IP address, MAC address, etc. correspond. The source device name 915 is an arbitrary character string used for a purpose such as displaying the name of the source device. The print job identifier 916 is an identifier for uniquely identifying the print job 900. By appropriately combining the print job identifier 916, the source device identifier 914, and the sender identifier 912, it is possible to identify one of a huge number of print jobs 900 collected in the cloud server 200. .. The destination printer identifier 917 is an identifier that uniquely identifies the destination printer 600 to which the print job 900 is transmitted. That is, the printer 600 that executes a print job and prints is shown.

図11(c)は、印刷ジョブデータ部920の詳細を示す。文書名921は、印刷ジョブの印刷対象文書の名称を示す任意の文字列である。作成アプリケーション名922は、印刷対象文書を作成したアプリケーション名称を示す任意の文字列である。印刷用紙サイズ923は、印刷されるべき用紙サイズに関する設定情報である。用紙サイズとしてはA3、A4、A5やB4、B5などの文書印刷に利用されるサイズ、L判や2L判などの写真印刷として用いられるサイズ、はがきや封筒などのサイズなどが挙げられる。用紙サイズは、利用するプリンタ600がサポートする用紙サイズの中からユーザに選択させるなどの方法で、指定される。印刷用紙種類924は、印刷されるべき用紙の種類に関する設定情報である。用紙種類としては、普通紙や写真用紙、クラフト紙など様々なものが挙げられる。用紙種類は、利用するプリンタ600がサポートする用紙種類の中からユーザに選択させるなどの方法で指定される。印刷品質設定925は、印刷物の品位に関する設定情報である。品位を落とす代わりに高速に印刷させたり、多少印刷時間がかかっても高品位で印刷させたりといったことを指定できる。部数設定926は、印刷物の部数に関する設定情報である。部数設定926を用いることで、一つの印刷対象文書データを送って複数部数の印刷を行わせることが可能である。両面印刷設定927は、両面印刷に関する設定情報である。両面印刷設定927を用いることで、印刷対象文書を印刷用紙の片面に配置して印刷させたり、印刷用紙の両面に配置して印刷させたりといったことが指定できる。尚、上記の内容は一例であり、上記に挙げたものを必ずしもすべて含む必要はなく、また上記以外の情報を印刷ジョブに含めることも可能である。印刷対象文書データ928は、印刷する内容を示すデータである。文書の印刷であれば文書を構成する各ページのテキストデータやイメージデータであったり、写真印刷であれば画像データであったりする。 FIG. 11C shows the details of the print job data unit 920. The document name 921 is an arbitrary character string indicating the name of the document to be printed by the print job. The created application name 922 is an arbitrary character string indicating the name of the application that created the print target document. The print paper size 923 is setting information regarding the paper size to be printed. Examples of the paper size include sizes used for document printing such as A3, A4, A5, B4, and B5, sizes used for photo printing such as L size and 2L size, and sizes of postcards and envelopes. The paper size is specified by a method such as allowing the user to select from the paper sizes supported by the printer 600 to be used. The print paper type 924 is setting information regarding the type of paper to be printed. Various types of paper such as plain paper, photo paper, and kraft paper can be mentioned. The paper type is specified by a method such as allowing the user to select from the paper types supported by the printer 600 to be used. The print quality setting 925 is setting information regarding the quality of the printed matter. You can specify that you want to print at high speed instead of degrading the quality, or you can print at high quality even if it takes some printing time. The number of copies setting 926 is setting information regarding the number of copies of the printed matter. By using the number of copies setting 926, it is possible to send one print target document data to print a plurality of copies. The double-sided printing setting 927 is setting information related to double-sided printing. By using the double-sided printing setting 927, it is possible to specify that the document to be printed is arranged on one side of the printing paper for printing, or arranged on both sides of the printing paper for printing. It should be noted that the above content is an example, and it is not always necessary to include all of the above items, and it is possible to include information other than the above in the print job. The print target document data 928 is data indicating the contents to be printed. In the case of printing a document, it may be text data or image data of each page constituting the document, or in the case of photo printing, it may be image data.

<ログ情報のデータ構造>
図12は、ジョブログ情報やプリンタログ情報のデータ構造を示す図である。ジョブログ情報のデータ構造は、プリンタ600が実行したジョブの情報をエッジサーバー300に送るために用いられる。プリンタログ情報のデータ構造は、ジョブ実行やインクカートリッジ交換などによってインク情報が更新された際に、プリンタ600がインク情報などの情報をエッジサーバー300に送るために用いられる。エッジサーバー300に送られたジョブログ情報やプリンタログ情報は、推論の際の入力データとして用いられる。また、ジョブログ情報やプリンタログ情報は、クラウドサーバー200での学習の入力データとしても用いられる。
<Data structure of log information>
FIG. 12 is a diagram showing a data structure of job log information and printer log information. The data structure of the job log information is used to send the information of the job executed by the printer 600 to the edge server 300. The data structure of the printer log information is used for the printer 600 to send information such as ink information to the edge server 300 when the ink information is updated due to job execution, ink cartridge replacement, or the like. The job log information and printer log information sent to the edge server 300 are used as input data at the time of inference. Further, the job log information and the printer log information are also used as input data for learning on the cloud server 200.

図12(a)は、印刷実行時のジョブログ情報である、印刷ジョブログ情報940の内容を示す。印刷ジョブログ情報940には以下の情報が含まれる。ログ識別子941は、ジョブログ情報を一意に特定する識別子である。ジョブタイプ情報942はジョブログ情報のジョブタイプを示し、印刷ジョブログ情報940におけるジョブタイプ情報942は、ジョブタイプが「印刷」であることを示している。ジョブ開始日時943は、印刷ジョブの開始日時を示す情報であり、ジョブ終了日時944は、印刷ジョブの終了日時の情報を示す情報である。プリンタ識別子945は、プリンタ600を一意に特定する識別子である。印刷ジョブヘッダ情報946は、実行した印刷ジョブ900の印刷ジョブヘッダ部910の内容の情報であり、印刷ジョブデータ情報947は、実行した印刷ジョブ900の印刷ジョブデータ部920の内容の情報である。ここでは印刷ジョブヘッダ部910と印刷ジョブデータ部920との内容を全てジョブログ情報に格納するようにしているが、ジョブログ情報の容量を抑えるために、必要な情報に限定してジョブログ情報に格納するように構成してもよい。特に印刷ジョブデータ部920の印刷対象文書データ928は容量が大きいため、ジョブログ情報に含めないようにしてもよい。カラーページ数948は、プリンタ600が印刷ジョブ900を実行した結果、印刷したカラーページのページ数の情報である。モノクロページ数949は、プリンタ600が印刷ジョブ900を実行した結果、印刷したモノクロページのページ数の情報である。インク使用量950は、プリンタ600が印刷ジョブ900を実行した結果、印刷に使用した色毎のインク量の情報である。インク使用量950の値は、印刷時にインクカートリッジから吐出したインクドット数をカウントし、所定の数式に従って算出すればよい。 FIG. 12A shows the contents of the print job log information 940, which is the job log information at the time of printing execution. The print job log information 940 includes the following information. The log identifier 941 is an identifier that uniquely identifies the job log information. The job type information 942 indicates the job type of the job log information, and the job type information 942 in the print job log information 940 indicates that the job type is "print". The job start date and time 943 is information indicating the start date and time of the print job, and the job end date and time 944 is information indicating the end date and time information of the print job. The printer identifier 945 is an identifier that uniquely identifies the printer 600. The print job header information 946 is information on the contents of the print job header section 910 of the executed print job 900, and the print job data information 947 is information on the contents of the print job data section 920 of the executed print job 900. Here, all the contents of the print job header section 910 and the print job data section 920 are stored in the job log information, but in order to reduce the capacity of the job log information, the job log information is limited to the necessary information. It may be configured to be stored in. In particular, since the print target document data 928 of the print job data unit 920 has a large capacity, it may not be included in the job log information. The number of color pages 948 is information on the number of pages of the color pages printed as a result of the printer 600 executing the print job 900. The number of monochrome pages 949 is information on the number of pages of monochrome pages printed as a result of the printer 600 executing the print job 900. The ink usage amount 950 is information on the amount of ink used for each color used for printing as a result of the printer 600 executing the print job 900. The value of the ink usage amount 950 may be calculated according to a predetermined mathematical formula by counting the number of ink dots ejected from the ink cartridge at the time of printing.

図12(b)は、コピー実行時のジョブログ情報である、コピージョブログ情報960の内容を示す。コピージョブログ情報960には以下の情報が含まれる。ログ識別子961は、ジョブログ情報を一意に特定する識別子である。ジョブタイプ情報962はジョブログ情報のジョブタイプを示し、コピージョブログ情報960におけるジョブタイプ情報962は、ジョブタイプが「コピー」であることを示している。ジョブ開始日時963は、コピー動作の開始日時を示す情報であり、ジョブ終了日時964は、コピー動作の終了日時を示す情報である。プリンタ識別子965は、プリンタ600を一意に特定する識別子である。用紙サイズ966は、コピー実行時に使用した印刷用紙の用紙サイズに関する設定情報である。用紙種類967は、コピー実行時に使用した印刷用紙の用紙種類に関する設定情報である。印刷品質設定968は、コピー実行時に使用した印刷物の品位に関する設定情報である。部数設定969は、コピー実行に使用した部数に関する設定情報である。両面印刷設定970は、コピー実行時に使用した、両面印刷に関する設定情報である。カラーページ数971は、コピー動作を実行した結果、印刷したカラーページのページ数の情報である。モノクロページ数972は、コピー動作を実行した結果、印刷したモノクロページのページ数の情報である。インク使用量973は、コピー動作を実行した結果、使用した色毎のインク量の情報である。 FIG. 12B shows the contents of the copy job log information 960, which is the job log information at the time of copy execution. The copy job log information 960 includes the following information. The log identifier 961 is an identifier that uniquely identifies the job log information. The job type information 962 indicates the job type of the job log information, and the job type information 962 in the copy job log information 960 indicates that the job type is "copy". The job start date and time 963 is information indicating the start date and time of the copy operation, and the job end date and time 964 is information indicating the end date and time of the copy operation. The printer identifier 965 is an identifier that uniquely identifies the printer 600. The paper size 966 is setting information regarding the paper size of the printing paper used at the time of copying. The paper type 967 is setting information regarding the paper type of the printing paper used at the time of copying. The print quality setting 968 is setting information regarding the quality of the printed matter used at the time of copying. The number of copies setting 969 is setting information regarding the number of copies used for copy execution. The double-sided printing setting 970 is setting information related to double-sided printing used at the time of copying. The number of color pages 971 is information on the number of pages of the color pages printed as a result of executing the copy operation. The number of monochrome pages 972 is information on the number of pages of monochrome pages printed as a result of executing the copy operation. The ink usage amount 973 is information on the ink amount for each color used as a result of executing the copy operation.

図12(c)は、メンテナンス実行時のジョブログ情報である、メンテナンスジョブログ情報980の内容を示す。メンテナンスジョブログ情報980には以下の情報が含まれる。ログ識別子981は、ジョブログ情報を一意に特定する識別子である。ジョブタイプ情報982はジョブログ情報のジョブタイプを示し、メンテナンスジョブログ情報980におけるジョブタイプ情報982は、ジョブタイプが「メンテナンス」であることを示している。ジョブ開始日時983は、メンテナンス動作の開始日時の情報であり、ジョブ終了日時984は、メンテナンス動作の終了日時の情報である。プリンタ識別子985は、プリンタ600を一意に特定する識別子である。メンテナンス種別986は、実行したメンテナンス動作が、ユーザが操作パネルからメンテナンス実行を選択したことにより実行されたものか、或いはユーザ操作ではなく自動で実行されたものかの種別を示す。クリーニング種別987は、メンテナンスの内容として実行されたクリーニングの種別を示し、取りうる値には、標準クリーニング、強力クリーニング、キャッピング、キャッピング解除などを示す各値がある。 FIG. 12C shows the contents of the maintenance job log information 980, which is the job log information at the time of maintenance execution. The maintenance job log information 980 includes the following information. The log identifier 981 is an identifier that uniquely identifies the job log information. The job type information 982 indicates the job type of the job log information, and the job type information 982 in the maintenance job log information 980 indicates that the job type is "maintenance". The job start date and time 983 is information on the start date and time of the maintenance operation, and the job end date and time 984 is information on the end date and time of the maintenance operation. The printer identifier 985 is an identifier that uniquely identifies the printer 600. The maintenance type 986 indicates whether the executed maintenance operation is executed by the user selecting the maintenance execution from the operation panel, or is automatically executed instead of the user operation. The cleaning type 987 indicates the type of cleaning executed as the content of maintenance, and the possible values include each value indicating standard cleaning, strong cleaning, capping, uncapping, and the like.

図12(d)は、プリンタ600の各種情報である、プリンタログ情報990の内容を示す。プリンタログ情報990には以下の情報が含まれる。ログ識別子991は、ジョブログ情報を一意に特定する識別子である。インク残量(K/C/M/Y)992は、光学ユニット640やドットカウンタを用いて取得したインク色毎のインク残量情報である。最終インク交換日時(K/C/M/Y)993は、インク色毎にインクカートリッジ632を交換した日時情報である。使用環境994は、ユーザがプリンタ600をどのような環境で使用しているかの情報である。このような情報として、例えば、プリンタ設置時にユーザが操作パネル605を用いて入力した、使用人数、使用目的(オフィス/ホームなど)、ネットワーク環境(インターネット/イントラネット/USBなど)などが挙げられる。ユーザ情報995は、例えばプリンタ設置時にユーザが操作パネル605を用いて入力した、国情報、年齢、性別などの情報である。プリンタ識別子996は、プリンタ600を一意に特定する識別子である。 FIG. 12D shows the contents of the printer log information 990, which is various information of the printer 600. The printer log information 990 includes the following information. The log identifier 991 is an identifier that uniquely identifies the job log information. The ink remaining amount (K / C / M / Y) 992 is ink remaining amount information for each ink color acquired by using the optical unit 640 or the dot counter. The final ink replacement date and time (K / C / M / Y) 993 is date and time information for replacing the ink cartridge 632 for each ink color. The usage environment 994 is information on what kind of environment the user is using the printer 600. Examples of such information include the number of users, the purpose of use (office / home, etc.), the network environment (Internet / intranet / USB, etc.) entered by the user using the operation panel 605 when the printer is installed. The user information 995 is, for example, information such as country information, age, and gender input by the user using the operation panel 605 when the printer is installed. The printer identifier 996 is an identifier that uniquely identifies the printer 600.

<学習依頼のデータ構造>
図13は、学習依頼のデータ構造を示す図である。このデータ構造は、プリンタ600からエッジサーバー300やクラウドサーバー200に対して学習依頼を行う際に用いられる。本実施形態における学習は、プリンタ600に対してユーザがジョブ実行やインクカートリッジ交換などを行うことによって、インク情報が更新された場合に行われる。従って、学習依頼700には、プリンタ識別子701、ログ識別子702、インク完全なしエラーの有無情報703、最終インク交換日時(K/C/M/Y)704、ログ履歴情報705、配送情報807が含まれる。例えば、印刷ジョブに伴ってインク情報が更新された場合は、ログ識別子702には、印刷ジョブログ情報940とプリンタログ情報990との2つのログ識別子が含まれる。また、インク交換によってインク情報が更新された場合は、ログ識別子702には、プリンタログ情報990のログ識別子が含まれる。
<Data structure of learning request>
FIG. 13 is a diagram showing a data structure of a learning request. This data structure is used when a learning request is made from the printer 600 to the edge server 300 and the cloud server 200. The learning in the present embodiment is performed when the ink information is updated by the user executing a job, replacing the ink cartridge, or the like with respect to the printer 600. Therefore, the learning request 700 includes the printer identifier 701, the log identifier 702, the presence / absence information 703 of the ink completeness error, the last ink replacement date / time (K / C / M / Y) 704, the log history information 705, and the delivery information 807. Is done. For example, when the ink information is updated with the print job, the log identifier 702 includes two log identifiers, the print job log information 940 and the printer log information 990. Further, when the ink information is updated by the ink exchange, the log identifier 702 includes the log identifier of the printer log information 990.

インク完全なしエラーの有無情報703は、学習依頼時のプリンタ600の状態としてインク完全なしエラーが発生しているか否かを示す情報である。インク完全なしエラーが有の場合、インク完全なしエラー画面670が操作パネル605に表示される。また、最終インク交換日時(K/C/M/Y)704は、インク色毎のインクカートリッジ632を交換した日時の情報であり、プリンタログ情報990に含まれる最終インク交換日時993と同じ内容である。 The presence / absence information 703 of the ink completeness error is information indicating whether or not the ink completeness error has occurred as the state of the printer 600 at the time of the learning request. When there is an ink completeness error, the ink completeness error screen 670 is displayed on the operation panel 605. Further, the last ink replacement date and time (K / C / M / Y) 704 is information on the date and time when the ink cartridge 632 was replaced for each ink color, and has the same contents as the last ink replacement date and time 993 included in the printer log information 990. is there.

ログ履歴情報705は、サーバー負荷軽減のためにサーバーでの学習頻度を減らす場合などに、前回の学習から次の学習が必要になった時点までの動作履歴を取得するための情報として利用される。この情報は前回学習を実行した後、次の学習を実施するまでの間に発生したログ情報を特定するログ識別子のデータ群をテーブル化して渡すものとする。尚、テーブルを用いてログ識別子を保持する代わりに、ログ情報全体を格納するように構成してもよい。また、全てのログ履歴情報705を保持して格納することが難しい場合は、一定期間内のログ履歴に限定して格納するように構成してもよい。また、インク情報が更新される毎に毎回学習する場合、ログ履歴情報705は不要である。配送情報807は、配送先の住所や配送手段等の情報である。配送システムを利用するユーザは、サービス利用登録時に、配送先の住所等の情報を入力し、該入力された情報は、エッジサーバー300またはクラウドサーバー200において記憶される。 The log history information 705 is used as information for acquiring the operation history from the previous learning to the time when the next learning is required, such as when reducing the learning frequency on the server in order to reduce the server load. .. For this information, it is assumed that the data group of the log identifier that specifies the log information generated between the time when the previous learning is executed and the time when the next learning is executed is passed as a table. Instead of using a table to hold the log identifier, it may be configured to store the entire log information. If it is difficult to retain and store all the log history information 705, it may be configured to store only the log history within a certain period of time. Further, when learning every time the ink information is updated, the log history information 705 is unnecessary. The delivery information 807 is information such as a delivery address and a delivery means. The user who uses the delivery system inputs information such as the delivery address at the time of service use registration, and the input information is stored in the edge server 300 or the cloud server 200.

<推論依頼および推論結果通知のデータ構造>
図14は、推論依頼および推論結果通知のデータ構造を示す図である。このデータ構造は、プリンタ600からエッジサーバー300やクラウドサーバー200に対して、推論依頼を行って、その結果を消耗品発注サーバー260へ通知する際に用いられる。本実施形態における推論依頼は、プリンタ600に対してユーザがジョブ実行やインクカートリッジ交換などを行うことによって、インク情報が更新された際に、インクの自動発注が必要になるか否かを示す情報を得るために行われる。
<Data structure of inference request and inference result notification>
FIG. 14 is a diagram showing a data structure of an inference request and an inference result notification. This data structure is used when an inference request is made from the printer 600 to the edge server 300 and the cloud server 200, and the result is notified to the consumables ordering server 260. The inference request in the present embodiment is information indicating whether or not automatic ordering of ink is required when the ink information is updated by the user executing a job or exchanging an ink cartridge for the printer 600. Is done to get.

図14(a)は、プリンタ600からエッジサーバー300やクラウドサーバー200に対して送られる推論依頼710のデータ構造を示す。推論依頼710には、プリンタ識別子711と、ログ識別子712と、ログ履歴情報713とが含まれる。例えば、コピージョブに伴ってインク情報が更新された場合は、ログ識別子712には、コピージョブログ情報960と、プリンタログ情報990との2つのログ識別子が含まれる。また、インク交換によってインク情報が更新された場合は、ログ識別子712には、プリンタログ情報990のログ識別子が含まれる。 FIG. 14A shows the data structure of the inference request 710 sent from the printer 600 to the edge server 300 and the cloud server 200. The inference request 710 includes a printer identifier 711, a log identifier 712, and log history information 713. For example, when the ink information is updated with the copy job, the log identifier 712 includes two log identifiers, the copy job log information 960 and the printer log information 990. Further, when the ink information is updated by the ink exchange, the log identifier 712 includes the log identifier of the printer log information 990.

ログ履歴情報713は、サーバー負荷軽減のためにサーバーでの推論頻度を減らす場合などに、前回の推論から次の推論が必要になった時点までの動作履歴を取得するための情報として利用される。この情報は前回推論を実行した後、次の推論を実施するまでの間に発生したログ情報を特定するログ識別子のデータ群をテーブル化して渡すものとする。尚、テーブルを用いてログ識別子を保持する代わりに、ログ情報全体を格納するように構成してもよい。また、全てのログ履歴情報713を保持して格納することが難しい場合は、一定期間内のログ履歴に限定して格納するように構成してもよい。また、インク情報が更新される毎に毎回推論する場合、ログ履歴情報713は不要である。 The log history information 713 is used as information for acquiring the operation history from the previous inference to the time when the next inference is required, such as when reducing the inference frequency on the server in order to reduce the server load. .. This information shall be passed as a table of log identifier data groups that specify log information that occurred between the time when the previous inference was executed and the time when the next inference was executed. Instead of using a table to hold the log identifier, it may be configured to store the entire log information. If it is difficult to retain and store all the log history information 713, it may be configured to store only the log history within a certain period of time. Further, when inferring each time the ink information is updated, the log history information 713 is unnecessary.

図14(b)は、エッジサーバー300やクラウドサーバー200で推論を行った結果を消耗品発注サーバー260へ通知する推論結果通知720のデータ構造を示す。推論結果通知720には、プリンタ識別子721、ログ識別子722に加えて、同時配送インクを推論した結果得られる情報として、同時配送インク情報723が格納される。同時配送インク情報723は具体的には、推論した結果の同時に配送するインクの情報である。 FIG. 14B shows the data structure of the inference result notification 720 that notifies the consumables ordering server 260 of the result of inference performed by the edge server 300 and the cloud server 200. In the inference result notification 720, in addition to the printer identifier 721 and the log identifier 722, the simultaneous delivery ink information 723 is stored as the information obtained as a result of inferring the simultaneous delivery ink. The simultaneous delivery ink information 723 is specifically information on ink to be delivered at the same time as a result of inference.

<学習時の学習モデルの入出力の構造>
図15は、本実施形態における学習時の学習モデル252の入出力の構造を示す図である。図に示す通り、学習依頼700で渡される、サーバーに格納されているログ情報806、学習依頼700に含まれるログ識別子702およびログ履歴情報705、並びに、配送情報807から、入力データXを生成して使用する。配送情報807は配送先の住所や配送手段等の情報である。配送システムを利用するユーザは、サービス利用登録時に、配送先の住所等の情報を入力し、該入力された情報は、エッジサーバー300またはクラウドサーバー200において記憶される。
<I / O structure of learning model during learning>
FIG. 15 is a diagram showing an input / output structure of the learning model 252 at the time of learning in the present embodiment. As shown in the figure, the input data X is generated from the log information 806 stored in the server, the log identifier 702 and the log history information 705 included in the learning request 700, and the delivery information 807 passed by the learning request 700. To use. The delivery information 807 is information such as a delivery address and a delivery means. The user who uses the delivery system inputs information such as the delivery address at the time of service use registration, and the input information is stored in the edge server 300 or the cloud server 200.

入力データXを生成するために、ログ識別子702で指定されたログ情報として、後述のようにエッジサーバー300に保存されているログ情報806を抽出する。また、必要に応じてログ履歴情報705で指定されたログ情報として、同様にエッジサーバー300に保存されているログ情報806を抽出する。学習は、プリンタ600のインク残量の傾向を予測し、同時に配送するインクを予測するために行う。後述するステップS1903(図19参照)で行う学習の実行時には、以下に列挙するパラメータを適宜導出する等して用いることが考えられる。 In order to generate the input data X, the log information 806 stored in the edge server 300 is extracted as the log information specified by the log identifier 702 as described later. Further, as necessary, the log information 806 stored in the edge server 300 is similarly extracted as the log information specified in the log history information 705. The learning is performed in order to predict the tendency of the ink remaining amount of the printer 600 and to predict the ink to be delivered at the same time. When executing the learning performed in step S1903 (see FIG. 19) described later, it is conceivable to appropriately derive and use the parameters listed below.

プリンタ識別子。各ログ情報にはプリンタ識別子945、965、985、996が格納されているため、これを取得して入力データXに含めることができる。プリンタ識別子を入力データXに含めることで、当該含められたプリンタ識別子で特定されるプリンタ600に適した学習を行うことができる。また、プリンタ識別子を入力データXには含めないようにすることで、複数のプリンタに共通の特性を学習させることができる。 Printer identifier. Since the printer identifiers 945, 965, 985, and 996 are stored in each log information, they can be acquired and included in the input data X. By including the printer identifier in the input data X, learning suitable for the printer 600 specified by the included printer identifier can be performed. Further, by not including the printer identifier in the input data X, it is possible to make a plurality of printers learn common characteristics.

最後に印刷やメンテナンスを終了してからの経過時間。これは次のように算出することができる。プリンタ600のログ情報から、最後に行われたジョブの情報として、印刷ジョブログ情報940、コピージョブログ情報960、またはメンテナンスジョブログ情報980を取得する。取得した印刷ジョブログ情報940、コピージョブログ情報960、またはメンテナンスジョブログ情報980に格納されているジョブ終了時刻(944、964、984)の情報を用いて、最後に印刷やメンテナンスを終了してからの経過時間を導出する。具体的には、ジョブ終了時刻と現在時刻との差分を算出すればよい。 Elapsed time since the last printing or maintenance was completed. This can be calculated as follows. From the log information of the printer 600, the print job log information 940, the copy job log information 960, or the maintenance job log information 980 is acquired as the information of the last executed job. Finally, using the information of the job end time (944, 964, 984) stored in the acquired print job log information 940, copy job log information 960, or maintenance job log information 980, the printing or maintenance is finally completed. Derived the elapsed time from. Specifically, the difference between the job end time and the current time may be calculated.

最後のインク交換以降に行われた印刷やメンテナンスの回数。これは次のように算出することができる。プリンタ600のログ情報から最新のプリンタログ情報990を抽出する。そして、最終インク交換日時993を取得し、該取得した最終インク交換日時993以降に行われた印刷ジョブログ情報940、コピージョブログ情報960、およびメンテナンスジョブログ情報980を全て抽出する。この抽出の際、ジョブ終了時刻944、964、984と最終インク交換日時993とを比較する。そして、抽出された印刷ジョブログ情報940、コピージョブログ情報960、およびメンテナンスジョブログ情報980の個数をそれぞれ計数することで、印刷やメンテナンスの回数を求める。また、最終インク交換日時993としてインク色(具体的にはK/C/M/Y)毎に情報を持っているため、回数をインク色毎に算出してもよい。 The number of prints and maintenance performed since the last ink change. This can be calculated as follows. The latest printer log information 990 is extracted from the log information of the printer 600. Then, the final ink replacement date and time 993 is acquired, and all the print job log information 940, copy job log information 960, and maintenance job log information 980 performed after the acquired final ink replacement date and time 993 are extracted. At the time of this extraction, the job end times 944, 964, 984 and the final ink replacement date and time 993 are compared. Then, the number of times of printing and maintenance is obtained by counting the number of the extracted print job log information 940, copy job log information 960, and maintenance job log information 980, respectively. Further, since the information is stored for each ink color (specifically, K / C / M / Y) as the final ink replacement date and time 993, the number of times may be calculated for each ink color.

最後のインク交換以降に行われた印刷ページ数。これは次のように算出することができる。プリンタ600のログ情報から最新のプリンタログ990を抽出する。そして、最終インク交換日時993を取得し、該取得した最終インク交換日時993以降に行われた印刷ジョブログ情報940、コピージョブログ情報960を全て抽出する。この抽出の際、ジョブ終了時刻944、964と最終インク交換日時993とを比較する。そして、抽出された印刷ジョブログ情報940およびコピージョブログ情報960に格納されている、カラーページ数948、971、モノクロページ数949、972の各値の総和を算出することで、印刷ページ数を求める。尚、カラーページ数とモノクロページ数とを分けて算出して用いてもよい。また、最終インク交換日時993としてインク色毎に情報を持っているため、ページ数をインク色毎に算出してもよい。 The number of printed pages since the last ink change. This can be calculated as follows. The latest printer log 990 is extracted from the log information of the printer 600. Then, the final ink exchange date and time 993 is acquired, and all the print job log information 940 and the copy job log information 960 performed after the acquired final ink exchange date and time 993 are extracted. At the time of this extraction, the job end times 944 and 964 are compared with the last ink replacement date and time 993. Then, the number of print pages is calculated by calculating the sum of the values of the number of color pages 948 and 971 and the number of monochrome pages 949 and 972 stored in the extracted print job log information 940 and copy job log information 960. Ask. The number of color pages and the number of monochrome pages may be calculated and used separately. Further, since the information is stored for each ink color as the last ink replacement date and time 993, the number of pages may be calculated for each ink color.

最後のインク交換以降に行われた印刷に使用されたインク使用量。これは次のように算出することができる。プリンタ600のログ情報から最新のプリンタログ990を抽出する。そして、最終インク交換日時993を取得し、該取得した最終インク交換日時993以降に行われた印刷ジョブログ情報940、コピージョブログ情報960を全て抽出する。この抽出の際、ジョブ終了時刻944、964と最終インク交換日時993とを比較する。そして、抽出された印刷ジョブログ情報940およびコピージョブログ情報960に格納されている、インク使用量950、973の各値の総和を算出する。また、最終インク交換日時993やインク使用量950、973としてインク色毎に情報を持っているため、インク使用量をインク色毎に算出してもよい。 The amount of ink used for printing since the last ink change. This can be calculated as follows. The latest printer log 990 is extracted from the log information of the printer 600. Then, the final ink exchange date and time 993 is acquired, and all the print job log information 940 and the copy job log information 960 performed after the acquired final ink exchange date and time 993 are extracted. At the time of this extraction, the job end times 944 and 964 are compared with the last ink replacement date and time 993. Then, the sum of the ink usage amounts 950 and 973 stored in the extracted print job log information 940 and copy job log information 960 is calculated. Further, since the information is stored for each ink color as the final ink replacement date and time 993 and the ink usage amounts 950 and 973, the ink usage amount may be calculated for each ink color.

最後の印刷におけるインク使用密度。これは次のように算出することができる。最後に行われた印刷ジョブの印刷ジョブログ情報940、または、最後に行われたコピージョブのコピージョブログ情報960を取得する。取得した印刷ジョブログ情報940に格納されているインク使用量950の値、または、取得したコピージョブログ情報960に含まれるインク使用量973の値を、インク使用量とする。またこのときの、印刷ジョブログ情報940に格納されているカラーページ数948の値とモノクロページ数949の値との和、または、コピージョブログ情報960に含まれるカラーページ数971の値とモノクロページ数972の値との和を、ページ数とする。インク使用量をページ数で割ることにより、ページあたりのインク使用密度が算出される。尚、ここでは最後の印刷におけるインク使用密度を算出しているが、最後のインク交換以降に行われた全ての印刷についての累積でインク使用密度を算出するように構成してもよい。 Ink density in the final print. This can be calculated as follows. The print job log information 940 of the last print job or the copy job log information 960 of the last copy job is acquired. The value of the ink usage amount 950 stored in the acquired print job log information 940 or the value of the ink usage amount 973 included in the acquired copy job log information 960 is defined as the ink usage amount. At this time, the sum of the value of the number of color pages 948 stored in the print job log information 940 and the value of the number of monochrome pages 949, or the value of the number of color pages 971 included in the copy job log information 960 and the monochrome page. The sum with the value of the number of pages 972 is defined as the number of pages. The ink usage density per page is calculated by dividing the ink usage by the number of pages. Although the ink usage density in the last printing is calculated here, the ink usage density may be calculated by accumulating all the printings performed after the last ink replacement.

最後のインク交換以降の印刷頻度(回数)。これは次のように算出することができる。プリンタ600のログ情報から最新のプリンタログ情報990を抽出する。そして、最終インク交換日時993を取得し、該取得した最終インク交換日時993が示す時刻と現在時刻との差分を算出する。そして、算出した差分で、前述の「最後のインク交換以降に行われた印刷やメンテナンスの回数」を除算する。尚、最後のインク交換以降ではなく、プリンタ600設置以降に行われた全ての印刷やメンテナンス回数についての累積を、プリンタ600設置以降の期間で除算することで、より長いスパンにおける印刷頻度を算出することもできる。また、最後のインク交換以降の印刷頻度(回数)を定期的に算出して、時系列的に学習することで、時系列の観点からユーザの利用頻度の推移を推定することもできる。また、この推定に基づいて、インクがなくなる時期を予測し、インク配送タイミングを推定する。 Printing frequency (number of times) since the last ink change. This can be calculated as follows. The latest printer log information 990 is extracted from the log information of the printer 600. Then, the last ink exchange date and time 993 is acquired, and the difference between the time indicated by the acquired last ink exchange date and time 993 and the current time is calculated. Then, the calculated difference is divided by the above-mentioned "number of printings and maintenances performed since the last ink replacement". The printing frequency in a longer span is calculated by dividing the cumulative number of prints and maintenance performed after the printer 600 is installed, not after the last ink replacement, by the period after the printer 600 is installed. You can also do it. In addition, by periodically calculating the printing frequency (number of times) since the last ink replacement and learning in chronological order, it is possible to estimate the transition of the user's usage frequency from the viewpoint of chronological order. In addition, based on this estimation, the time when the ink runs out is predicted, and the ink delivery timing is estimated.

最後のインク交換以降の印刷頻度(印刷ページ数)。これは次のように算出することができる。プリンタ600のログ情報から最新のプリンタログ情報990を抽出する。そして、最終インク交換日時993を取得し、該取得した最終インク交換日時993が示す時刻と現在時刻との差分を算出する。そして、算出した差分で、前述の「最後のインク交換以降に行われた印刷ページ数」を除算する。尚、最後のインク交換以降ではなく、プリンタ600設置以降に行われた全ての印刷ページ数の累積を、プリンタ600設置以降の期間で除算することで、より長いスパンにおける印刷頻度を算出することもできる。また、最後のインク交換以降の印刷頻度(印刷ページ数)を定期的に算出して、時系列的に学習することで、時系列の観点からユーザの利用頻度の推移を推定することもできる。また、この推定に基づいて、インクがなくなる時期を予測し、インク配送タイミングを推定する。 Printing frequency (number of printed pages) since the last ink change. This can be calculated as follows. The latest printer log information 990 is extracted from the log information of the printer 600. Then, the last ink exchange date and time 993 is acquired, and the difference between the time indicated by the acquired last ink exchange date and time 993 and the current time is calculated. Then, the calculated difference is divided by the above-mentioned "number of printed pages performed since the last ink replacement". It is also possible to calculate the printing frequency in a longer span by dividing the cumulative number of all printed pages performed after the printer 600 is installed, not after the last ink replacement, by the period after the printer 600 is installed. it can. In addition, by periodically calculating the printing frequency (number of printed pages) since the last ink replacement and learning in chronological order, it is possible to estimate the transition of the user's usage frequency from the viewpoint of chronological order. In addition, based on this estimation, the time when the ink runs out is predicted, and the ink delivery timing is estimated.

最後にインクを交換した以降の印刷内容(インク使用量)。これは次のように算出することができる。プリンタ600のログ情報から最新のプリンタログ情報990を抽出する。そして、最終インク交換日時993を取得し、該取得した最終インク交換日時993が示す時刻と現在時刻との差分を算出する。そして、算出した差分で、前述の「最後のインク交換以降に行われた印刷に使用されたインク使用量」を除算する。尚、最後のインク交換以降ではなく、プリンタ600設置以降に行われた全てのインク使用量の累積を、プリンタ600設置以降の期間で除算することで、より長いスパンにおける印刷内容(インク使用量)を算出することもできる。また、最後にインクを交換した以降の印刷内容(インク使用量)を定期的に算出して、時系列的に学習することで、時系列の観点からユーザの利用内容の推移を推定することもできる。ユーザの利用内容の推移とは、例えば、モノクロ印刷が多かったのが、カラー印刷が多いように変わっている傾向、などである。また、この推定に基づいて、インクがなくなる時期を予測し、インク配送タイミングを推定する。 Printed content (ink usage) since the last ink change. This can be calculated as follows. The latest printer log information 990 is extracted from the log information of the printer 600. Then, the last ink exchange date and time 993 is acquired, and the difference between the time indicated by the acquired last ink exchange date and time 993 and the current time is calculated. Then, the calculated difference is used to divide the above-mentioned "ink usage amount used for printing performed after the last ink replacement". By dividing the cumulative total of all ink usage performed after the printer 600 is installed, not after the last ink replacement, by the period after the printer 600 is installed, the print content (ink usage) over a longer span. Can also be calculated. In addition, by periodically calculating the print content (ink usage) since the last ink change and learning in chronological order, it is also possible to estimate the transition of the user's usage content from the time series perspective. it can. The transition of the user's usage content is, for example, a tendency that monochrome printing is more common, but color printing is more common. In addition, based on this estimation, the time when the ink runs out is predicted, and the ink delivery timing is estimated.

配送情報。配送情報807はプリンタ600の自動発注システム登録時にユーザが入力した情報であり、販売店サーバーに記憶されている。配送情報807はエッジサーバー300またはクラウドサーバー300にも複製され、これを取得して入力データXに含めることができる。配送情報807は配送先までの距離や配送方法、配送時期の情報を含む。配送方法とは自動車での配送や飛行機での配送などのことである。また、配送時期の情報とは年末の年賀状を送る時期など、突発的に配送時間に影響を及ぼす要因を考慮するものである。例えば、12月は年賀状印刷のためインクの配送が多くなるため配送に時間がかかるため、機械学習のパラメータを調整して同時に配送できる量や期間を変動させるといった使い方ができる。これらの要因によりユーザに消耗品が届くまでの時間が変動する。そのため、入力データXに配送情報含めることで、各ユーザの使用環境や時期に適した学習を行うことが可能になる。 Shipping information. The delivery information 807 is information input by the user when the printer 600 is registered in the automatic ordering system, and is stored in the store server. The delivery information 807 is also replicated to the edge server 300 or the cloud server 300, which can be acquired and included in the input data X. The delivery information 807 includes information on the distance to the delivery destination, the delivery method, and the delivery time. The delivery method includes delivery by car or delivery by airplane. In addition, the delivery time information considers factors that suddenly affect the delivery time, such as the time to send a New Year's card at the end of the year. For example, in December, the amount and period of ink that can be delivered at the same time can be changed by adjusting the parameters of machine learning because the delivery of ink increases due to the printing of New Year's cards. Due to these factors, the time it takes for consumables to reach the user varies. Therefore, by including the delivery information in the input data X, it is possible to perform learning suitable for the usage environment and time of each user.

尚、学習モデルへの入力データXとして用いることが出来るパラメータは上記の例に限定されるものではない。ログ情報に格納されているパラメータの一部または全てを、そのまま学習モデルへの入力データXとしてもよい。これによって、例えばインク関連のエラーが発生するか否かの要因として未知のパラメータを機械学習によって制御に反映することも可能になる。 The parameters that can be used as the input data X to the learning model are not limited to the above example. Some or all of the parameters stored in the log information may be used as they are as input data X to the learning model. This also makes it possible to reflect unknown parameters in the control by machine learning, for example, as a factor of whether or not an ink-related error occurs.

また、教師データTとしては、学習依頼700に格納されているインク完全なしエラーの有無情報703と、最終インク交換日時(K/C/M/Y)704と、配送情報807に基づき生成される配送コスト707とを使用する。インク完全なしエラーが発生している場合、インク配送が遅かったことになるため、過去のインク配送タイミングの推論が誤っていたことになる。また、消耗品発注サーバー260から実際のインク発送日時の情報を取得し、最終インク交換日時との差分を算出することで、ユーザの手元に新しいインクが届いてから、実際にプリンタ600に取り付けるまでの期間が分かる。この期間が長い場合、インク配送が早かったことになるため、過去のインク配送タイミングの推論が誤っていたことになる。1つのインクを配送するだけならば各インクの最適な配送タイミングを学習して配送すればよいが、複数種類のインクを配送する場合は、追加で配送するインクは最適なタイミングではない可能性が大きい。そのため、学習で用いるずれ量Lを最適化するために用いる教師データTに関しては、インク完全なしエラーの有無情報703と最終インク交換日時(K/C/M/Y)704に加えて、配送コスト707を考慮する必要がある。配送コスト707とは具体的には、エッジサーバー300またはクラウドサーバー200が保持している配送情報807に基づいて算出される人件費や燃料費であるため、できるだけ小さくなるように学習する必要がある。配送コスト707の閾値を設定し、閾値を超えたか否かで同時インク配送の成功か失敗かを判定する。各インクを同時に送らずに最適なタイミングで複数回送った場合に配送コスト707がこの閾値を上回った場合には最適な配送タイミングよりも配送コスト707を重視し、配送コスト707のパラメータの重みが大きくなる方向に学習を行う。配送コスト707の閾値はユーザごとに固有の値を設定してもよい。これら3つの教師データを用いることで、ユーザごとにインク配送タイミングと配送コストのバランスを考慮して学習する。場合によっては立て続けに配送されたユーザの満足度を定量的に算出し、教師データに加えてもよい。ユーザの満足度はユーザからインク配送時にフィードバックを送信してもらって取得する。即ち、ログ識別子702と配送情報807、さらに必要に応じてログ履歴情報705に基づいて生成された入力データXを学習モデル252に入力したときの出力と、前述の教師データTから導き出される値とのずれ量Lが最小となるよう学習を行う。そして、その結果、学習モデル252が更新される。 Further, the teacher data T is generated based on the presence / absence information 703 of the ink completeness error stored in the learning request 700, the last ink exchange date / time (K / C / M / Y) 704, and the delivery information 807. A delivery cost of 707 is used. If the ink completeness error occurs, it means that the ink delivery was slow, and the inference of the past ink delivery timing was incorrect. In addition, by acquiring information on the actual ink shipping date and time from the consumables ordering server 260 and calculating the difference from the last ink replacement date and time, from the time when new ink arrives at the user's hand until it is actually attached to the printer 600. You can see the period of. If this period is long, it means that the ink delivery was early, and the inference of the past ink delivery timing was incorrect. If you only want to deliver one ink, you can learn the optimum delivery timing of each ink and deliver it, but if you deliver multiple types of ink, the additional ink may not be delivered at the optimum timing. large. Therefore, regarding the teacher data T used for optimizing the deviation amount L used in learning, in addition to the presence / absence information 703 of ink completeness error and the last ink replacement date / time (K / C / M / Y) 704, the delivery cost 707 needs to be considered. Specifically, the delivery cost 707 is a labor cost and a fuel cost calculated based on the delivery information 807 held by the edge server 300 or the cloud server 200, so it is necessary to learn to make it as small as possible. .. A threshold value of the delivery cost 707 is set, and whether the simultaneous ink delivery is successful or unsuccessful is determined based on whether or not the threshold value is exceeded. If the delivery cost 707 exceeds this threshold when each ink is sent multiple times at the optimum timing without sending each ink at the same time, the delivery cost 707 is more important than the optimum delivery timing, and the weight of the parameter of the delivery cost 707 is increased. Learn in the direction of increasing. The threshold value of the delivery cost 707 may be set to a value unique to each user. By using these three teacher data, learning is performed in consideration of the balance between ink delivery timing and delivery cost for each user. In some cases, the satisfaction level of the users delivered in quick succession may be quantitatively calculated and added to the teacher data. The user's satisfaction is obtained by having the user send feedback at the time of ink delivery. That is, the output when the input data X generated based on the log identifier 702, the delivery information 807, and the log history information 705 as needed is input to the learning model 252, and the value derived from the above-mentioned teacher data T. Learning is performed so that the deviation amount L of is minimized. Then, as a result, the learning model 252 is updated.

<推論時の学習済モデルの入出力の構造>
図16は、本実施形態における推論時の学習済モデル352の入出力の構造を示す図である。推論時には、推論依頼710で渡される、プリンタ識別子711を用いて、エッジサーバー300に記憶されているログ情報806から必要なログ履歴情報を抽出して使用する。抽出したログ履歴情報から、学習時と同様に、必要なパラメータを取得して入力データXとする。推論は、プリンタ600のインク残量の傾向を予測し、同時配送インクを予測するために行う。そして、後述するステップS1807(図18参照)で行う推論の実行時には、学習時と同様に、上述のパラメータを算出して用いることが考えられる。学習済モデル352による推論の結果として得られる出力データYは、推論結果通知720となる。推論結果通知720により、消耗品発注サーバー260に同時配送インク情報723を通知する。
<I / O structure of trained model at the time of inference>
FIG. 16 is a diagram showing an input / output structure of the trained model 352 at the time of inference in the present embodiment. At the time of inference, the necessary log history information is extracted from the log information 806 stored in the edge server 300 and used by using the printer identifier 711 passed in the inference request 710. From the extracted log history information, necessary parameters are acquired and used as input data X as in the case of learning. The inference is performed to predict the tendency of the ink remaining amount of the printer 600 and to predict the simultaneous delivery ink. Then, when executing the inference performed in step S1807 (see FIG. 18) described later, it is conceivable to calculate and use the above-mentioned parameters as in the case of learning. The output data Y obtained as a result of the inference by the trained model 352 becomes the inference result notification 720. The inference result notification 720 notifies the consumables ordering server 260 of the simultaneous delivery ink information 723.

配送コスト707が閾値を超えている場合を失敗として学習パラメータを決定しているため、最適な配送タイミングと配送コスト707との何れかを優先すべきかを学習済モデル352により判定する。例えば、配送に1週間以上かかるユーザには配送タイミングにある第1インク(インク1とする)のインクロー警告画面650の表示から1週間以内にインクロー警告画面650が表示されると推定された第2インク(インク2とする)がある場合を考える。この場合は1週間後に再度配送することで発生するコストを抑えるために、インク2のインクロー警告画面650が表示されていなくても1週間前倒しでインク1と同時に配送する。同時配送をおこなっても到着するのはインク2のインクロー警告画面650が表示された後であると推定されているため、ユーザの手元にインク在庫が増え続けることを回避できる。このように、ユーザの使用頻度や使用量によって何日間を同時配送の対象とするかを決定する。また、同色のインクであっても以前の使用頻度、使用量が非常に大きく、数日でインクロー警告画面650が表示されてしまうユーザの場合には、同時に複数個配送することが可能となる。配送タイミングを決定する要因は、インクロー警告以外の図8に記載のエラーや、インク残量が閾値以下になった場合などでもよい。 Since the learning parameter is determined with the case where the delivery cost 707 exceeds the threshold value as a failure, it is determined by the trained model 352 which of the optimum delivery timing and the delivery cost 707 should be prioritized. For example, it is estimated that the ink low warning screen 650 is displayed within one week from the display of the ink low warning screen 650 of the first ink (referred to as ink 1) at the delivery timing for the user who takes one week or more for delivery. Consider the case where there is ink (referred to as ink 2). In this case, in order to reduce the cost of re-delivering after one week, even if the ink low warning screen 650 of ink 2 is not displayed, the ink 1 is delivered at the same time one week ahead of schedule. Since it is estimated that the ink 2 arrives after the ink low warning screen 650 is displayed even if the simultaneous delivery is performed, it is possible to prevent the ink inventory from continuing to increase in the user's hand. In this way, the number of days to be targeted for simultaneous delivery is determined according to the usage frequency and usage amount of the user. Further, even if the inks have the same color, a plurality of inks of the same color can be delivered at the same time in the case of a user whose previous usage frequency and usage amount are very large and the ink low warning screen 650 is displayed in a few days. The factor that determines the delivery timing may be an error shown in FIG. 8 other than the ink low warning, or a case where the remaining amount of ink becomes equal to or less than the threshold value.

<プリンタの処理内容>
図17は、プリンタ600の処理内容を示すフローチャートである。この処理を実行するためのプログラムは、プリンタ600のプログラムメモリ613に記憶されている。プリンタ600の電源が投入されると、初期化動作実行後、プリンタ600のCPU611は、外部からプリンタ600に対して何らかのジョブや指示を受けるごとに、この処理を実行する。尚、図17では、本実施形態に関わる処理について記載しており、その他の処理については図示を省略している。
<Printer processing details>
FIG. 17 is a flowchart showing the processing contents of the printer 600. The program for executing this process is stored in the program memory 613 of the printer 600. When the power of the printer 600 is turned on, after the initialization operation is executed, the CPU 611 of the printer 600 executes this process every time a job or an instruction is received from the outside to the printer 600. Note that FIG. 17 describes the processes related to the present embodiment, and the other processes are not shown.

ステップS1701において、CPU611は、インク情報が更新される可能性があるジョブである、印刷ジョブ、コピージョブ、またはメンテナンスジョブの処理が完了したか判定する。本ステップの判定結果が真の場合、S1703に進む。一方、本ステップの判定結果が偽の場合、S1702に進む。尚、以降では「ステップS〜」を「S〜」と略記する。 In step S1701, the CPU 611 determines whether the processing of the print job, the copy job, or the maintenance job, which is a job whose ink information may be updated, has been completed. If the determination result of this step is true, the process proceeds to S1703. On the other hand, if the determination result of this step is false, the process proceeds to S1702. Hereinafter, "step S-" will be abbreviated as "S-".

S1702において、CPU611は、プリンタ600のインクカートリッジ632が交換されたか判定する。本ステップの判定結果が真の場合、S1704に進む。一方、本ステップの判定結果が偽の場合、一連の処理を終了する。 In S1702, the CPU 611 determines whether the ink cartridge 632 of the printer 600 has been replaced. If the determination result of this step is true, the process proceeds to S1704. On the other hand, if the determination result of this step is false, a series of processes is terminated.

S1703において、CPU611は、印刷ジョブ、コピージョブ、またはメンテナンスジョブのインク消費量などの情報を含むジョブログ情報をエッジサーバー300に送信する。また、CPU611は、ジョブ完了後のインク残量などの情報を含むプリンタログ情報990をエッジサーバー300に送信する。例えば、メンテナンスジョブが実行された場合、CPU611は、ジョブログ情報として、メンテナンスジョブログ情報980をエッジサーバー300に送信する。 In S1703, the CPU 611 transmits job log information including information such as ink consumption of a print job, a copy job, or a maintenance job to the edge server 300. Further, the CPU 611 transmits the printer log information 990 including the information such as the ink remaining amount after the job is completed to the edge server 300. For example, when the maintenance job is executed, the CPU 611 transmits the maintenance job log information 980 to the edge server 300 as the job log information.

S1704において、CPU611は、インクカートリッジ632交換後のインク残量などの情報を含むプリンタログ情報990をエッジサーバー300に送信する。 In S1704, the CPU 611 transmits printer log information 990 including information such as the remaining amount of ink after replacing the ink cartridge 632 to the edge server 300.

続いて、インク情報が更新されたので、以前の推論結果の検証を行うため、S1705において、CPU611は、学習依頼700をエッジサーバー300に送信する。 Subsequently, since the ink information has been updated, the CPU 611 transmits the learning request 700 to the edge server 300 in S1705 in order to verify the previous inference result.

続いて、インク情報が更新されたので、インクの自動発注が必要になる可能性を知るため、S1706において、CPU611は、推論依頼710をエッジサーバー300に送信する。 Subsequently, since the ink information has been updated, the CPU 611 transmits the inference request 710 to the edge server 300 in S1706 in order to know the possibility that the automatic ordering of ink is required.

尚、ここでは推論依頼をプリンタ600が送信する形態を説明したが、本発明の実施形態は、これに限定されるものではない。推論に必要な情報はジョブログ情報やプリンタログ情報でエッジサーバー300に送信済みのため、エッジサーバー300がジョブログ情報やプリンタログ情報の受信時に、推論を実行してもよい。 Although the mode in which the printer 600 transmits the inference request has been described here, the embodiment of the present invention is not limited to this. Since the information required for inference has already been transmitted to the edge server 300 as job log information or printer log information, the edge server 300 may execute inference when receiving the job log information or printer log information.

また、ここでは学習依頼をプリンタ600が送信する形態を説明したが、本発明の実施形態はこれに限定されるものではない。学習に必要な教師データTのうち最終インク交換日時(K/C/M/Y)704については、同等の情報がプリンタログ情報に含まれている。一方、インク完全なしエラーの有無情報703はプリンタログ情報に含まれていないため、ジョブログ情報やプリンタログ情報に含まれるように変更することで、エッジサーバー300がジョブログ情報やプリンタログ情報を受信した場合に、学習を実行してもよい。 Further, although the mode in which the printer 600 transmits the learning request has been described here, the embodiment of the present invention is not limited to this. Of the teacher data T required for learning, the printer log information includes the same information as the last ink replacement date and time (K / C / M / Y) 704. On the other hand, since the presence / absence information 703 of the ink completeness error is not included in the printer log information, the edge server 300 can change the job log information and the printer log information by changing the information so that the information is included in the job log information and the printer log information. Learning may be performed when it is received.

<エッジサーバーの処理内容>
図18は、本実施形態におけるエッジサーバー300の処理内容を示すフローチャートである。この処理を実行するためのプログラムはエッジサーバー300のハードディスクユニット202に記憶されている。エッジサーバー300が起動されると、初期化動作実行後、エッジサーバー300のCPU211は、外部からエッジサーバー300に対して何らかのリクエストを受信するごとに、この処理を実行する。尚、図18では、本実施形態に関わる処理について記載しており、その他の処理については図示を省略している。
<Processing content of edge server>
FIG. 18 is a flowchart showing the processing contents of the edge server 300 in the present embodiment. The program for executing this process is stored in the hard disk unit 202 of the edge server 300. When the edge server 300 is started, after the initialization operation is executed, the CPU 211 of the edge server 300 executes this process every time it receives a request from the outside to the edge server 300. Note that FIG. 18 describes the processes related to the present embodiment, and the other processes are not shown.

S1801において、CPU211は、プリンタ600によって送信された推論依頼710を受信したか判定する。本ステップの判定結果が真の場合、S1805に進む。一方、本ステップの判定結果が偽の場合、S1802に進む。 In S1801, the CPU 211 determines whether or not the inference request 710 transmitted by the printer 600 has been received. If the determination result of this step is true, the process proceeds to S1805. On the other hand, if the determination result of this step is false, the process proceeds to S1802.

まず、推論依頼710の受信を検出した場合(S1801でYESの場合)について説明する。この場合、S1805において、CPU211は、リクエストされた推論を行うために必要なログ情報を、ハードディスクユニット202内のログ情報が記憶されている領域(ログ情報記憶領域)から抽出する。具体的には、CPU211は、推論依頼710に格納されているプリンタ識別子711とプリンタ識別子が一致するログ情報を抽出した上で、ログ識別子712およびログ履歴情報713を用いて、今回の推論の対象となるログ情報を抽出する。尚、全てのログ情報を抽出して処理することが難しい場合は、一定期間内のログ情報に限定して抽出するように構成してもよい。 First, the case where the reception of the inference request 710 is detected (when YES in S1801) will be described. In this case, in S1805, the CPU 211 extracts the log information necessary for performing the requested inference from the area (log information storage area) in which the log information is stored in the hard disk unit 202. Specifically, the CPU 211 extracts the log information in which the printer identifier 711 and the printer identifier match in the inference request 710, and then uses the log identifier 712 and the log history information 713 to perform the inference this time. Extract the log information that becomes. If it is difficult to extract and process all the log information, it may be configured to extract only the log information within a certain period.

S1805にて必要なログ情報を抽出した後、S1806において、CPU211は、抽出したログ情報に基づいて、推論用データ(具体的には学習済モデル352に対する入力データX)を生成する。 After extracting the necessary log information in S1805, in S1806, the CPU 211 generates inference data (specifically, input data X for the trained model 352) based on the extracted log information.

S1807において、CPU211は、S1806で生成した推論用データに基づく推論を実行する。具体的には、推論用データを推論部351に送り、学習済モデル352に入力して推論を実行する。 In S1807, the CPU 211 executes inference based on the inference data generated in S1806. Specifically, the inference data is sent to the inference unit 351 and input to the trained model 352 to execute the inference.

S1808において、CPU211は、S1807の推論結果に基づく推論結果通知720を作成し、該作成した推論結果通知720を、消耗品発注サーバー260へ送信する。 In S1808, the CPU 211 creates an inference result notification 720 based on the inference result of S1807, and transmits the created inference result notification 720 to the consumables ordering server 260.

続けて、推論依頼710の受信を検出しなかった場合(S1801でNOの場合)について説明する。この場合、S1802において、CPU211は、プリンタ600から何らかのログ情報を受信したか判定する。本ステップの判定結果が真の場合、S1809に進む。一方、本ステップの判定結果が偽の場合、S1803に進む。 Subsequently, the case where the reception of the inference request 710 is not detected (the case of NO in S1801) will be described. In this case, in S1802, the CPU 211 determines whether or not some log information has been received from the printer 600. If the determination result of this step is true, the process proceeds to S1809. On the other hand, if the determination result of this step is false, the process proceeds to S1803.

S1809において、CPU211は、受信したログ情報を、エッジサーバー300内のハードディスクユニット202に設けられたログ情報記録領域に、該当プリンタに対するログ情報として記憶する。 In S1809, the CPU 211 stores the received log information as log information for the corresponding printer in the log information recording area provided in the hard disk unit 202 in the edge server 300.

S1803において、CPU211は、プリンタ600から学習依頼700を受信したか判定する。本ステップの判定結果が真の場合、S1810に進む。一方、本ステップの判定結果が偽の場合、S1804に進む。 In S1803, the CPU 211 determines whether or not the learning request 700 has been received from the printer 600. If the determination result of this step is true, the process proceeds to S1810. On the other hand, if the determination result of this step is false, the process proceeds to S1804.

S1810において、CPU211は、リクエストされた学習を行うために必要なログ情報を、ハードディスクユニット202内のログ情報記憶領域から抽出する。具体的には、CPU211は、学習依頼700に格納されているプリンタ識別子701とプリンタ識別子が一致するログ情報を抽出した上で、ログ識別子702およびログ履歴情報705を用いて、今回の学習の対象となるログ情報を抽出する。 In S1810, the CPU 211 extracts the log information necessary for performing the requested learning from the log information storage area in the hard disk unit 202. Specifically, the CPU 211 extracts the log information in which the printer identifier 701 and the printer identifier match the printer identifier stored in the learning request 700, and then uses the log identifier 702 and the log history information 705 to use the log identifier 702 and the log history information 705 to be the target of the current learning. Extract the log information that becomes.

S1810にて必要なログ情報を抽出した後、S1811において、CPU211は、抽出したログ情報を付加した学習依頼700を、クラウドサーバー200に送信する。 After extracting the necessary log information in S1810, in S1811, the CPU 211 transmits the learning request 700 to which the extracted log information is added to the cloud server 200.

S1804において、CPU211は、クラウドサーバー200によって配信される学習済モデルを受信したか判定する。本ステップの判定結果が真の場合、S1812に進む。一方、本ステップの判定結果が偽の場合、一連の処理を終了する。 In S1804, the CPU 211 determines whether or not the trained model delivered by the cloud server 200 has been received. If the determination result of this step is true, the process proceeds to S1812. On the other hand, if the determination result of this step is false, a series of processes is terminated.

S1812において、CPU211は、受信した学習済モデルの情報をエッジサーバー300の学習済モデル352に反映し、該反映された学習済モデル352を記憶する。これにより、以降の推論依頼に対しては、更新された学習済モデル352が用いられるようになる。 In S1812, the CPU 211 reflects the received trained model information in the trained model 352 of the edge server 300, and stores the reflected trained model 352. As a result, the updated trained model 352 will be used for subsequent inference requests.

<クラウドサーバーの処理内容>
図19は、クラウドサーバー200の処理内容を示すフローチャートである。この処理を実行するためのプログラムはクラウドサーバー200のハードディスクユニット202に記憶されている。クラウドサーバー200が起動されると、初期化動作実行後、クラウドサーバー200のCPU211は、外部からクラウドサーバー200に対して何らかのリクエストを受信するごとに、この処理を実行する。尚、図19では、本実施形態に関わる処理について記載しており、その他の処理については図示を省略している。
<Processing content of cloud server>
FIG. 19 is a flowchart showing the processing contents of the cloud server 200. The program for executing this process is stored in the hard disk unit 202 of the cloud server 200. When the cloud server 200 is started, after the initialization operation is executed, the CPU 211 of the cloud server 200 executes this process every time it receives a request from the outside to the cloud server 200. Note that FIG. 19 describes the processes related to the present embodiment, and the other processes are not shown.

S1901において、CPU211は、クラウドサーバー200外部からの学習依頼700を受信したか判定する。本ステップの判定結果が真の場合、S1902に進む。一方、本ステップの判定結果が偽の場合、一連の処理を終了する。 In S1901, the CPU 211 determines whether or not the learning request 700 from the outside of the cloud server 200 has been received. If the determination result of this step is true, the process proceeds to S1902. On the other hand, if the determination result of this step is false, a series of processes is terminated.

S1902において、受信した学習依頼700を学習用データ生成部250に送り、学習用データを生成する。具体的には、受信した学習依頼700には、エッジサーバー300によって付加された抽出したログ情報が含まれており、学習用データ生成部250は、この情報に基づいて、学習モデル252に対する入力データXを生成する。また、学習用データ生成部250は、学習依頼700に格納されている、インク完全なしエラーの有無情報703と最終インク交換日時(K/C/M/Y)704とに基づき、教師データTを生成する。 In S1902, the received learning request 700 is sent to the learning data generation unit 250 to generate learning data. Specifically, the received learning request 700 includes the extracted log information added by the edge server 300, and the learning data generation unit 250 uses the input data for the learning model 252 based on this information. Generate X. Further, the learning data generation unit 250 generates the teacher data T based on the presence / absence information 703 of the ink completeness error and the last ink exchange date / time (K / C / M / Y) 704 stored in the learning request 700. Generate.

S1903において、CPU211は、S1902で生成した学習用データに基づく学習を実行する。具体的には、学習用データを学習部251に送り、学習モデル252に対する学習を実行する。 In S1903, the CPU 211 executes learning based on the learning data generated in S1902. Specifically, the learning data is sent to the learning unit 251 to execute the learning for the learning model 252.

S1904において、CPU211は、S1903の学習結果を学習モデル252に反映し蓄積する。学習結果の蓄積が終わると、S1905に進む。 In S1904, the CPU 211 reflects the learning result of S1903 in the learning model 252 and accumulates it. When the accumulation of learning results is completed, the process proceeds to S1905.

S1905において、CPU211は、学習モデル252に基づいて学習済モデル352を生成し、該生成した学習済モデル352を配信、つまりエッジサーバー300へ送信する。尚、ここではクラウドサーバー200が学習依頼を受信するごとに学習を実行するように説明したが、学習の実行には処理時間を要するため、受信した学習依頼を蓄積しておいて、学習依頼の受信とは非同期に学習を実行するように構成してもよい。また、学習が行われる毎にエッジサーバー300への学習済モデルが配信される形態を説明したが、大量の学習がクラウドサーバー200で行われる場合には、学習が行われる都度配信しなくてもよい。つまり、学習済モデルを定期的に配信するか、またはエッジサーバー300からクライドサーバー200に送られる配信要求に応じて、学習済モデルを配信するような構成にしてもよい。 In S1905, the CPU 211 generates a trained model 352 based on the learning model 252, and distributes the generated trained model 352, that is, transmits it to the edge server 300. Here, it is explained that the cloud server 200 executes learning every time a learning request is received. However, since it takes a processing time to execute learning, the received learning requests are accumulated and the learning request is executed. It may be configured to execute learning asynchronously with reception. Further, although the form in which the trained model is delivered to the edge server 300 each time the learning is performed has been described, when a large amount of learning is performed on the cloud server 200, it is not necessary to deliver the trained model each time the learning is performed. Good. That is, the trained model may be delivered periodically, or the trained model may be delivered in response to a delivery request sent from the edge server 300 to the Clyde server 200.

<消耗品発注サーバーの処理内容>
図20は、消耗品発注サーバー260の処理内容を示すフローチャートである。この処理を実行するためのプログラムは消耗品発注サーバー260のハードディスクユニット202に記憶されている。消耗品発注サーバー260が起動されると、初期化動作実行後、消耗品発注サーバー260のCPU211は、外部から消耗品発注サーバー260に対して何らかのリクエストを受信するごとに、この処理を実行する。尚、図20では、本実施形態に関わる処理について記載しており、その他の処理については図示を省略している。
<Processing contents of consumables ordering server>
FIG. 20 is a flowchart showing the processing contents of the consumables ordering server 260. The program for executing this process is stored in the hard disk unit 202 of the consumables ordering server 260. When the consumables ordering server 260 is started, after the initialization operation is executed, the CPU 211 of the consumables ordering server 260 executes this process every time it receives a request from the outside to the consumables ordering server 260. Note that FIG. 20 describes the processes related to the present embodiment, and the other processes are not shown.

S2001において、CPU211は、消耗品発注サーバー260外部からの推論結果通知720を受信したか判定する。本ステップの判定結果が真の場合、S2002に進む。一方、本ステップの判定結果が偽の場合、一連の処理を終了する。 In S2001, the CPU 211 determines whether or not the inference result notification 720 from the outside of the consumables ordering server 260 has been received. If the determination result of this step is true, the process proceeds to S2002. On the other hand, if the determination result of this step is false, a series of processes is terminated.

S2002において、CPU211は、受信した推論結果通知720に格納されている同時配送インク情報723、つまり、推論結果としてのインク色毎の配送日時の情報を用いて、インク配送が必要か判定する。例えば、推論された配送日時と現在日時とを比較して、推論された配送日時が現在日時を超過していた場合に、インク配送が必要とみなしてよい。本ステップの判定結果が真の場合、S2003に進む一方、該判定結果が偽の場合、一連の処理を終了する。 In S2002, the CPU 211 determines whether ink delivery is necessary by using the simultaneous delivery ink information 723 stored in the received inference result notification 720, that is, the delivery date and time information for each ink color as the inference result. For example, the inferred delivery date and time may be compared with the current date and time, and if the inferred delivery date and time exceeds the current date and time, ink delivery may be considered necessary. If the determination result of this step is true, the process proceeds to S2003, while if the determination result is false, a series of processes is terminated.

S2003において、CPU211は、同時配送インク情報723に基づいて、同時配送インクがあるか判定する。本ステップの判定結果が真の場合(言い換えると、配送コスト707の観点から、推論の結果本来配送すべきインクとこれとは別のインクとを、同時に配送した方がよいと判定された場合)、S2004に進む。一方、本ステップの判定結果が偽の場合、S2005に進む。 In S2003, the CPU 211 determines whether or not there is simultaneous delivery ink based on the simultaneous delivery ink information 723. When the judgment result of this step is true (in other words, when it is judged from the viewpoint of delivery cost 707 that the ink that should be originally delivered and the ink different from this should be delivered at the same time as a result of inference) , S2004. On the other hand, if the determination result of this step is false, the process proceeds to S2005.

S2004において、CPU211は、本来配送すべきインクとは別のインク(本来配送すべきインクと同時に配送した方がよいインクであり、「同時配送インク」と記す)を、配送対象のインクに追加する。 In S2004, the CPU 211 adds an ink different from the ink that should be originally delivered (an ink that should be delivered at the same time as the ink that should be delivered and is referred to as "simultaneous delivery ink") to the ink to be delivered. ..

S2005において、CPU211は、配送対象のインクに対するインク配送処理を実行する。例えば、同時配送インクがない場合に、インクロー警告画面650で指定されたインクのみを配送する。配送タイミングを決定する要因は、インクロー警告以外の図8に記載のエラーや、インク残量が所定の閾値以下になった場合などでもよい。尚、インク配送処理は、既存の配送システムを用いて実行する処理であるため、詳しい説明を省略する。例えば、消耗品発注サーバー260に登録されているユーザ情報に基づいて、インク配送を行ってもよいし、消耗品発注サーバー260が不図示のユーザ情報サーバーからユーザ情報を取得して、インク配送を行ってもよい。 In S2005, the CPU 211 executes an ink delivery process for the ink to be delivered. For example, when there is no simultaneous delivery ink, only the ink specified on the ink low warning screen 650 is delivered. The factor for determining the delivery timing may be an error shown in FIG. 8 other than the ink low warning, or a case where the remaining amount of ink becomes equal to or less than a predetermined threshold value. Since the ink delivery process is a process executed by using an existing delivery system, detailed description thereof will be omitted. For example, ink may be delivered based on the user information registered in the consumables ordering server 260, or the consumables ordering server 260 acquires user information from a user information server (not shown) to deliver ink. You may go.

<本実施形態の効果>
本実施形態によれば、印刷、コピー、メンテナンスなどによりインクを消費し、インクの自動発注が必要になる可能性の予測結果に基づいて、適切なタイミングで複数種類のインク配送を行うことができる。
<Effect of this embodiment>
According to this embodiment, it is possible to deliver a plurality of types of ink at an appropriate timing based on a prediction result of the possibility that ink is consumed by printing, copying, maintenance, etc. and automatic ordering of ink is required. ..

[第2の実施形態]
第1の実施形態では、クラウドサーバー200で学習した学習モデル252に基づいた学習済モデル352を、エッジサーバー300が推論に使用する構成を説明した。このような構成では、仮にエッジサーバー300が複数ある場合に、クラウドサーバー200で学習した同一の学習モデル252を、複数のエッジサーバー300それぞれの学習済モデル352に反映させて使用することになる。しかしながら、インクカートリッジは製造上のばらつきもあり、また周囲の温度、湿度などの環境によっても特性にばらつきが発生する。このため、インクの自動発注が必要となるタイミングはプリンタ600の個体ごとに異なる場合がある。また、印刷物の利用用途はユーザによって異なるため、どの程度印刷物にかすれや乱れが出ることを許容するかの判断基準がユーザによって異なる場合がある。
[Second Embodiment]
In the first embodiment, the configuration in which the edge server 300 uses the trained model 352 based on the learning model 252 trained by the cloud server 200 for inference has been described. In such a configuration, if there are a plurality of edge servers 300, the same learning model 252 trained by the cloud server 200 is reflected in the trained models 352 of each of the plurality of edge servers 300 and used. However, there are variations in the manufacturing of ink cartridges, and the characteristics also vary depending on the environment such as ambient temperature and humidity. Therefore, the timing at which automatic ink ordering is required may differ for each individual printer 600. In addition, since the intended use of the printed matter differs depending on the user, the criteria for determining how much the printed matter is allowed to be blurred or disturbed may differ depending on the user.

そこで本実施形態では、プリンタ600が複数ある場合に、プリンタ600毎に異なるインクの自動発注の必要性を推論するケースを説明する。具体的には、クラウドサーバー200で学習した汎用学習モデル253を、エッジサーバー300の個別学習モデル356に反映させるとともに、エッジサーバー300でも固有の学習を行うものとする。エッジサーバー300は自身に送られた学習依頼に限定して学習を行って、その学習結果を自身の個別学習モデル356にのみ反映させる。これによって、エッジサーバー300が管理する範囲のデバイス群に固有の特性や、利用するユーザ個々の特性、利用されるプリンタなどに依存した学習を行うことが可能になる。 Therefore, in the present embodiment, when there are a plurality of printers 600, a case of inferring the necessity of automatic ordering of inks different for each printer 600 will be described. Specifically, the general-purpose learning model 253 learned by the cloud server 200 is reflected in the individual learning model 356 of the edge server 300, and the edge server 300 also performs unique learning. The edge server 300 performs learning only on the learning request sent to itself, and reflects the learning result only on its own individual learning model 356. This makes it possible to perform learning depending on the characteristics unique to the device group in the range managed by the edge server 300, the characteristics of each user to be used, the printer to be used, and the like.

<ソフトウェア構成>
図21は、本実施形態における処理システム100のソフトウェア構成を示す図である。クラウドサーバー200は、学習用データ生成部250と、学習部251と、汎用学習モデル253とを有する。学習用データ生成部250は、外部から受信したデータに基づき、学習部251が処理可能な学習用データを生成するモジュールである。学習用データは、学習部251の入力データXと、学習結果の正解を示す教師データTとの組である。学習部251は、学習用データ生成部250から受け取った学習用データに基づいて、汎用学習モデル253に対する学習を実行するプログラムモジュールである。汎用学習モデル253は、学習部251で行った学習の結果を蓄積する。ここでは汎用学習モデル253をニューラルネットワークとして実現する例を説明する。ニューラルネットワークの各ノード間の重み付けパラメータを適切なものに補正することにより、入力データを分類したり、評価値を決定したりすることができる。蓄積した汎用学習モデル253は、エッジサーバー300に汎用学習済モデルとして配信され、エッジサーバー300における個別学習モデル356の更新に用いられる。
<Software configuration>
FIG. 21 is a diagram showing a software configuration of the processing system 100 according to the present embodiment. The cloud server 200 has a learning data generation unit 250, a learning unit 251 and a general-purpose learning model 253. The learning data generation unit 250 is a module that generates learning data that can be processed by the learning unit 251 based on the data received from the outside. The learning data is a set of the input data X of the learning unit 251 and the teacher data T indicating the correct answer of the learning result. The learning unit 251 is a program module that executes learning for the general-purpose learning model 253 based on the learning data received from the learning data generation unit 250. The general-purpose learning model 253 accumulates the results of learning performed by the learning unit 251. Here, an example of realizing the general-purpose learning model 253 as a neural network will be described. By correcting the weighting parameters between each node of the neural network to appropriate ones, the input data can be classified and the evaluation value can be determined. The accumulated general-purpose learning model 253 is distributed to the edge server 300 as a general-purpose learned model, and is used for updating the individual learning model 356 in the edge server 300.

エッジサーバー300は、データ収集・提供部350と、学習・推論用データ生成部354と、学習部355と、個別学習モデル356と、推論部351とを有する。データ収集・提供部350は、デバイス400から受信したデータや、エッジサーバー300が自ら収集したデータを、学習に用いるためのデータ群として、クラウドサーバー200に対して送信するモジュールである。また、これらのデータは、エッジサーバー300自身が学習に用いるためのデータ群として、学習・推論用データ生成部354にも送られる。学習・推論用データ生成部354は、外部から受信したデータに基づき、学習部355が処理可能な学習用データを生成するモジュールである。学習用データは、学習部355の入力データXと、学習結果の正解を示す教師データTとの組である。学習部355は、学習・推論用データ生成部354から受け取った学習用データに基づいて、個別学習モデル356に対する学習を実行するプログラムモジュールである。個別学習モデル356は、学習部355で行った学習の結果を蓄積する。また、クラウドサーバー200が学習して配信された汎用学習済モデルをエッジサーバー300が受信すると、該受信した汎用学習済モデルと個別学習モデル356との差分を、個別学習モデル356のニューラルネットワークに反映させる。これによって、クラウドサーバー200が行った汎用学習結果とエッジサーバー300自身が行った個別学習結果との両方を反映した学習済モデルを用いた推論を実行することができるようになる。推論部351は、デバイス400から送られるデータに基づき、個別学習モデル356を用いて推論を実行し、その結果をデバイス400に返送するプログラムモジュールである。デバイス400からエッジサーバー300に送られるデータは、推論部351の入力データXとなるデータである。 The edge server 300 has a data collection / provision unit 350, a learning / inference data generation unit 354, a learning unit 355, an individual learning model 356, and an inference unit 351. The data collection / provision unit 350 is a module that transmits the data received from the device 400 and the data collected by the edge server 300 to the cloud server 200 as a data group to be used for learning. Further, these data are also sent to the learning / inference data generation unit 354 as a data group for the edge server 300 itself to use for learning. The learning / inference data generation unit 354 is a module that generates learning data that can be processed by the learning unit 355 based on the data received from the outside. The learning data is a set of the input data X of the learning unit 355 and the teacher data T indicating the correct answer of the learning result. The learning unit 355 is a program module that executes learning for the individual learning model 356 based on the learning data received from the learning / inference data generation unit 354. The individual learning model 356 accumulates the results of learning performed by the learning unit 355. Further, when the edge server 300 receives the general-purpose trained model learned and distributed by the cloud server 200, the difference between the received general-purpose trained model and the individual learning model 356 is reflected in the neural network of the individual learning model 356. Let me. As a result, it becomes possible to execute inference using a trained model that reflects both the general-purpose learning result performed by the cloud server 200 and the individual learning result performed by the edge server 300 itself. The inference unit 351 is a program module that executes inference using the individual learning model 356 based on the data sent from the device 400 and returns the result to the device 400. The data sent from the device 400 to the edge server 300 is the data that becomes the input data X of the inference unit 351.

デバイス400は、アプリケーション部450と、データ送受信部451とを有する。アプリケーション部450は、デバイス400で実行する各種の機能を実現するモジュールであり、機械学習による学習・推論の仕組みを利用するモジュールである。データ送受信部451は、エッジサーバー300に学習または推論を依頼するモジュールである。学習時には、データ送受信部451は、アプリケーション部450からの依頼により学習に用いるデータをエッジサーバー300のデータ収集・提供部350に送信する。また、推論時には、データ送受信部451は、アプリケーション部450からの依頼により、推論に用いるデータをエッジサーバー300に送信し、推論の結果を受信してアプリケーション部450に返す。尚、図9と図21に示すように、本実施形態におけるデバイス400の構成は第1の実施形態と同じであり、本実施形態におけるデバイス400の処理も第1の実施形態(図17参照)と同じであるため、以下では、デバイス400の処理に関する説明を省略する。また、消耗品発注サーバー260の処理も第1の実施形態と同様のため説明を省略する。 The device 400 has an application unit 450 and a data transmission / reception unit 451. The application unit 450 is a module that realizes various functions executed by the device 400, and is a module that uses a learning / inference mechanism by machine learning. The data transmission / reception unit 451 is a module that requests the edge server 300 to learn or infer. At the time of learning, the data transmission / reception unit 451 transmits the data used for learning to the data collection / provision unit 350 of the edge server 300 at the request of the application unit 450. At the time of inference, the data transmission / reception unit 451 transmits the data used for inference to the edge server 300 at the request of the application unit 450, receives the inference result, and returns it to the application unit 450. As shown in FIGS. 9 and 21, the configuration of the device 400 in this embodiment is the same as that in the first embodiment, and the processing of the device 400 in this embodiment is also in the first embodiment (see FIG. 17). Since it is the same as the above, the description regarding the processing of the device 400 will be omitted below. Further, since the processing of the consumables ordering server 260 is the same as that of the first embodiment, the description thereof will be omitted.

<エッジサーバーの処理内容>
図22は、本実施形態におけるエッジサーバー300の処理内容を示すフローチャートである。この処理を実行するためのプログラムはエッジサーバー300のハードディスクユニット202に記憶されている。エッジサーバー300が起動されると、初期化動作実行後、エッジサーバー300のCPU211は、外部からエッジサーバー300に対して何らかのリクエストを受信するごとに、この処理を実行する。尚、図22では、本実施形態に関わる処理について記載しており、その他の処理については図示を省略している。
<Processing content of edge server>
FIG. 22 is a flowchart showing the processing contents of the edge server 300 in the present embodiment. The program for executing this process is stored in the hard disk unit 202 of the edge server 300. When the edge server 300 is started, after the initialization operation is executed, the CPU 211 of the edge server 300 executes this process every time it receives a request from the outside to the edge server 300. Note that FIG. 22 describes the processes related to the present embodiment, and the other processes are not shown.

S2201において、CPU211は、プリンタ600によって送信された推論依頼710を受信したか判定する。本ステップの判定結果が真の場合、S2205に進む。一方、本ステップの判定結果が偽の場合、S2202に進む。 In S2201, the CPU 211 determines whether or not the inference request 710 transmitted by the printer 600 has been received. If the determination result of this step is true, the process proceeds to S2205. On the other hand, if the determination result of this step is false, the process proceeds to S2202.

まず、推論依頼710の受信を検出した場合(S2201でYESの場合)について説明する。この場合、S2205において、CPU211は、リクエストされた推論を行うために必要なログ情報を、ハードディスクユニット202内のログ情報記憶領域から抽出する。具体的には、CPU211は、推論依頼710に格納されているプリンタ識別子711とプリンタ識別子が一致するログ情報を抽出した上で、ログ識別子712およびログ履歴情報713を用いて、今回の推論の対象となるログ情報を抽出する。尚、全てのログ情報を抽出して処理することが難しい場合は、一定期間内のログ情報に限定して抽出するように構成してもよい。 First, the case where the reception of the inference request 710 is detected (when YES in S2201) will be described. In this case, in S2205, the CPU 211 extracts the log information necessary for performing the requested inference from the log information storage area in the hard disk unit 202. Specifically, the CPU 211 extracts the log information in which the printer identifier 711 and the printer identifier match in the inference request 710, and then uses the log identifier 712 and the log history information 713 to perform the inference this time. Extract the log information that becomes. If it is difficult to extract and process all the log information, it may be configured to extract only the log information within a certain period.

S2205にて必要なログ情報を抽出した後、S2206において、CPU211は、抽出したログ情報に基づいて、個別学習モデル356に対する入力データXを生成する。ここではプリンタ600の個体に依存した学習を行うために、プリンタ識別子の情報を含めて入力データXを生成するように構成することができる。 After extracting the necessary log information in S2205, in S2206, the CPU 211 generates the input data X for the individual learning model 356 based on the extracted log information. Here, in order to perform learning depending on the individual printer 600, it can be configured to generate the input data X including the information of the printer identifier.

S2207において、CPU211は、S2206で生成した推論用データに基づく推論を実行する。具体的には、推論用データを推論部351に送り、個別学習モデル356に入力して推論を実行する。 In S2207, the CPU 211 executes inference based on the inference data generated in S2206. Specifically, the inference data is sent to the inference unit 351 and input to the individual learning model 356 to execute the inference.

S2208において、CPU211は、S2207の推論結果に基づく推論結果通知720を作成し、該作成した推論結果通知720を、消耗品発注サーバー260へ送信する。 In S2208, the CPU 211 creates an inference result notification 720 based on the inference result of S2207, and transmits the created inference result notification 720 to the consumables ordering server 260.

続けて、推論依頼710の受信を検出しなかった場合(S2201でNOの場合)について説明する。この場合、S2202において、CPU211は、プリンタ600から何らかのログ情報を受信したか判定する。本ステップの判定結果が真の場合、S2209に進む。一方、本ステップの判定結果が偽の場合、S2203に進む。 Subsequently, the case where the reception of the inference request 710 is not detected (the case of NO in S2201) will be described. In this case, in S2202, the CPU 211 determines whether or not some log information has been received from the printer 600. If the determination result of this step is true, the process proceeds to S2209. On the other hand, if the determination result of this step is false, the process proceeds to S2203.

S2209において、CPU211は、受信したログ情報を、エッジサーバー300内のハードディスクユニット202に設けられたログ情報記録領域に、該当プリンタに対するログ情報として記憶する。 In S2209, the CPU 211 stores the received log information as log information for the corresponding printer in the log information recording area provided in the hard disk unit 202 in the edge server 300.

S2203において、CPU211は、プリンタ600から学習依頼700を受信したか判定する。本ステップの判定結果が真の場合、S2210に進む。一方、本ステップの判定結果が偽の場合、S2204に進む。 In S2203, the CPU 211 determines whether or not the learning request 700 has been received from the printer 600. If the determination result of this step is true, the process proceeds to S2210. On the other hand, if the determination result of this step is false, the process proceeds to S2204.

S2210において、CPU211は、リクエストされた学習を行うために必要なログ情報を、ハードディスクユニット202内のログ情報記憶領域から抽出する。具体的には、CPU211は、学習依頼700に格納されているログ履歴情報705を用いて、今回の学習の対象となるログ情報を抽出する。 In S2210, the CPU 211 extracts the log information necessary for performing the requested learning from the log information storage area in the hard disk unit 202. Specifically, the CPU 211 extracts the log information to be the target of the current learning by using the log history information 705 stored in the learning request 700.

S2210にて必要なログ情報を抽出した後、S2211において、学習・推論用データ生成部354により学習用データを生成する。具体的には、学習・推論用データ生成部354は、ステップS2210で抽出したログ情報に基づき、個別学習モデル356に対する入力データXを生成する。また、学習・推論用データ生成部354は、受信したインク関連のエラーの有無情報703に基づき、教師データTを生成する。 After extracting the necessary log information in S22110, the learning / inference data generation unit 354 generates learning data in S2211. Specifically, the learning / inference data generation unit 354 generates the input data X for the individual learning model 356 based on the log information extracted in step S2210. Further, the learning / inference data generation unit 354 generates the teacher data T based on the received ink-related error presence / absence information 703.

S2212において、CPU211は、S2211で生成した学習用データに基づく学習を実行する。具体的には、学習用データを学習部355に送り、個別学習モデル356に対する学習を実行する。 In S2212, the CPU 211 executes learning based on the learning data generated in S2211. Specifically, the learning data is sent to the learning unit 355, and learning for the individual learning model 356 is executed.

S2213において、CPU211は、S2212の学習結果を個別学習モデル356に反映し蓄積する。ところで、プリンタ600から送信されエッジサーバー300が受信した学習依頼700は、エッジサーバー300が自身の個別学習モデル356への学習に用いられ、また、汎用学習モデル253への学習依頼としてクラウドサーバー200へ渡す必要がある。 In S2213, the CPU 211 reflects the learning result of S2212 in the individual learning model 356 and accumulates it. By the way, the learning request 700 transmitted from the printer 600 and received by the edge server 300 is used by the edge server 300 for learning to its own individual learning model 356, and to the cloud server 200 as a learning request to the general-purpose learning model 253. Need to pass.

そこで、続くS2214において、CPU211は、S2210で抽出したログ情報を付加して、受信した学習依頼700をクラウドサーバー200に送信する。 Therefore, in the following S2214, the CPU 211 adds the log information extracted in S2210 and transmits the received learning request 700 to the cloud server 200.

S2204において、CPU211は、クラウドサーバー200によって配信される汎用学習モデルを受信したか判定する。本ステップの判定結果が真の場合、S2215に進む。一方、本ステップの判定結果が偽の場合、一連の処理を終了する。 In S2204, the CPU 211 determines whether or not the general-purpose learning model distributed by the cloud server 200 has been received. If the determination result of this step is true, the process proceeds to S2215. On the other hand, if the determination result of this step is false, a series of processes is terminated.

S2215において、CPU211は、受信した汎用学習モデルを記憶する。 In S2215, the CPU 211 stores the received general-purpose learning model.

S2216において、CPU211は、S2215で記憶した汎用学習(学習済)モデルの情報について、個別学習モデル356との差分を個別学習モデル356に反映し、該反映された個別学習モデル356を記憶する。これにより、以降の推論依頼に対しては、更新された個別学習モデル356が用いられるようになる。 In S2216, the CPU 211 reflects the difference between the general-purpose learning (learned) model information stored in S2215 and the individual learning model 356 in the individual learning model 356, and stores the reflected individual learning model 356. As a result, the updated individual learning model 356 will be used for subsequent inference requests.

<クラウドサーバーの処理内容>
図23は、クラウドサーバー200の処理内容を示すフローチャートである。この処理を実行するためのプログラムはクラウドサーバー200のハードディスクユニット202に記憶されている。クラウドサーバー200が起動されると、初期化動作実行後、クラウドサーバー200のCPU211は、外部からクラウドサーバー200に対して何らかのリクエストを受信するごとに、この処理を実行する。尚、図23では、本実施形態に関わる処理について記載しており、その他の処理については図示を省略している。
<Processing content of cloud server>
FIG. 23 is a flowchart showing the processing contents of the cloud server 200. The program for executing this process is stored in the hard disk unit 202 of the cloud server 200. When the cloud server 200 is started, after the initialization operation is executed, the CPU 211 of the cloud server 200 executes this process every time it receives a request from the outside to the cloud server 200. Note that FIG. 23 describes the processes related to the present embodiment, and the other processes are not shown.

S2301において、CPU211は、クラウドサーバー200外部からの学習依頼700を受信したか判定する。本ステップの判定結果が真の場合、S2302に進む。一方、本ステップの判定結果が偽の場合、一連の処理を終了する。 In S2301, the CPU 211 determines whether or not the learning request 700 from the outside of the cloud server 200 has been received. If the determination result of this step is true, the process proceeds to S2302. On the other hand, if the determination result of this step is false, a series of processes is terminated.

S2302において、受信した学習依頼700を学習用データ生成部250に送り、学習用データを生成する。具体的には、受信した学習依頼700には、エッジサーバー300によって付加された抽出したログ情報が含まれており、学習用データ生成部250は、この情報に基づいて、学習モデル252に対する入力データXを生成する。ここではプリンタ600の個体に依存した学習を排除するために、プリンタ識別子の情報を除いて入力データXを生成するように構成することができる。また、学習用データ生成部250は、学習依頼700に格納されている、インク完全なしエラーの有無情報703、最終インク交換日時(K/C/M/Y)704、配送情報807に基づき、教師データTを生成する。 In S2302, the received learning request 700 is sent to the learning data generation unit 250 to generate learning data. Specifically, the received learning request 700 includes the extracted log information added by the edge server 300, and the learning data generation unit 250 uses the input data for the learning model 252 based on this information. Generate X. Here, in order to eliminate individual-dependent learning of the printer 600, the input data X can be generated by removing the information of the printer identifier. Further, the learning data generation unit 250 is a teacher based on the presence / absence information 703 of the ink completeness error, the last ink exchange date / time (K / C / M / Y) 704, and the delivery information 807 stored in the learning request 700. Generate data T.

S2303において、CPU211は、S2302で生成した学習用データに基づく学習を実行する。具体的には、学習用データを学習部251に送り、汎用学習モデル253に対する学習を実行する。 In S2303, the CPU 211 executes learning based on the learning data generated in S2302. Specifically, the learning data is sent to the learning unit 251 to execute learning for the general-purpose learning model 253.

S2304において、CPU211は、S2303の学習結果を汎用学習モデル253に反映し蓄積する。学習結果の蓄積が終わると、S2305に進む。 In S2304, the CPU 211 reflects the learning result of S2303 in the general-purpose learning model 253 and accumulates it. When the accumulation of learning results is completed, the process proceeds to S2305.

S2305において、CPU211は、生成された汎用学習モデル253をエッジサーバー300へ送信する。 In S2305, the CPU 211 transmits the generated general-purpose learning model 253 to the edge server 300.

<本実施形態の効果>
本実施形態によれば、プリンタ600の個体ごとに異なる固有の特性や、利用するユーザの特性に依存した学習を行うことが可能になる。尚、固有の特性に依存した学習は、プリンタ600の個体に限定されるものではなく、その他のグループ化情報を用いてグループに依存する学習を行わせることもできる。グループ化の例としては、デバイスやユーザが所属する会社や組織に関する情報、プリンタ600が設置され稼働している国や地域に関する情報、デバイスが利用される業務内容に応じた業態情報などが挙げられる。これらは、エッジサーバー300が取得したプリンタログ情報990に含まれる使用環境994、ユーザ情報995を解析することで取得できる。
<Effect of this embodiment>
According to this embodiment, it is possible to perform learning depending on the unique characteristics different for each individual printer 600 and the characteristics of the user who uses the printer 600. The learning depending on the unique characteristics is not limited to the individual printer 600, and the learning depending on the group can be performed by using other grouping information. Examples of grouping include information about the company or organization to which the device or user belongs, information about the country or region where the printer 600 is installed and operating, and business format information according to the business content in which the device is used. .. These can be obtained by analyzing the usage environment 994 and the user information 995 included in the printer log information 990 acquired by the edge server 300.

[第3の実施形態]
第1の実施形態、第2の実施形態では、図8(c)に示すようなインク完全なしエラーの有無の情報を、教師データTとして用いて学習する構成(図15参照)を説明したが、本発明の実施形態は、これに限定されるものではない。
[Third Embodiment]
In the first embodiment and the second embodiment, a configuration (see FIG. 15) in which information on the presence or absence of an ink completeness error as shown in FIG. 8C is learned using the teacher data T has been described. , The embodiment of the present invention is not limited to this.

インク関連のエラーに関しては、プリンタ600の構成によって、発生し得るエラーが異なる。例えば、操作パネル605のような表現力の高いパネルがなく、インクエラーをLEDの点滅や点灯のみで表現するプリンタは、インク関連の複数のエラーを表現できないず、インクロー警告の表示をサポートできない。この場合、表現可能なエラー数が2つになるため、各エラー表示の判定に用いるインク残量の閾値を変更する必要がある。また、プリンタの構成によっては、新しいエラーを追加したい場合もあり、その場合にもインク残量の閾値を新規に設定する必要がある。 Regarding ink-related errors, the errors that can occur differ depending on the configuration of the printer 600. For example, a printer that does not have a highly expressive panel such as the operation panel 605 and expresses an ink error only by blinking or lighting an LED cannot express a plurality of ink-related errors and cannot support the display of an ink low warning. In this case, since the number of errors that can be expressed is two, it is necessary to change the threshold value of the ink remaining amount used for determining each error display. Also, depending on the printer configuration, you may want to add a new error, and even in that case, you need to set a new ink level threshold.

このため、インク完全なしエラーの有無の情報を教師データTとして用いて学習するのではなく、プリンタ毎に指定されたインク残量に到達したか否かの情報を教師データTとして用いて学習する構成でもよい。予めプリンタ600が教師データTとして学習して欲しいインク残量をエッジサーバー300に登録する。また、インク色毎にインク残量をエッジサーバー300に登録してもよい。 Therefore, instead of learning using the information on the presence or absence of the ink completeness error as the teacher data T, the information on whether or not the ink remaining amount specified for each printer has been reached is used as the teacher data T for learning. It may be configured. The remaining amount of ink that the printer 600 wants to learn as teacher data T is registered in the edge server 300 in advance. Further, the ink remaining amount may be registered in the edge server 300 for each ink color.

図24は、本実施形態における学習時の学習モデル252の入出力の構造を示す図である。図中に示すインク残量706以外は第1の実施形態(図15参照)と同様のため説明を省略する。教師データT802には、学習依頼700に格納されているインク残量情報706と最終インク交換日時)(K/C/M/Y)704と配送コスト707とを使用する。そして、ログ識別子702と、必要に応じてログ履歴情報705とに基づき生成された入力データXを学習モデル252に入力したときの出力と、教師データT(706と704と707)から導き出される値とのずれ量Lが最小となるよう学習が行われる。その結果、学習モデル252が更新される。 FIG. 24 is a diagram showing an input / output structure of the learning model 252 at the time of learning in the present embodiment. Since the same as the first embodiment (see FIG. 15) except for the ink remaining amount 706 shown in the figure, the description thereof will be omitted. For the teacher data T802, the ink remaining amount information 706 stored in the learning request 700, the last ink replacement date and time) (K / C / M / Y) 704, and the delivery cost 707 are used. Then, the output when the input data X generated based on the log identifier 702 and the log history information 705 as needed is input to the learning model 252, and the values derived from the teacher data T (706, 704, and 707). Learning is performed so that the deviation amount L from the above is minimized. As a result, the learning model 252 is updated.

[第4の実施形態]
第1の実施形態、第2の実施形態では、インク情報が更新される可能性がある場合に、S1703またはS1704(図17参照)で、インク残量情報を含むプリンタログ情報をエッジサーバー300に送信している。しかし、本発明の実施形態は、これに限定されるものではない。
[Fourth Embodiment]
In the first embodiment and the second embodiment, when the ink information may be updated, the printer log information including the ink remaining amount information is transmitted to the edge server 300 in S1703 or S1704 (see FIG. 17). I'm sending. However, the embodiments of the present invention are not limited to this.

エッジサーバー300やクラウドサーバー200が推論や学習を行う際に、インク残量情報を必要とした場合に、プリンタ600に対する直接通信を行って必要な情報を取得してもよい。これにより、インク情報が更新される可能性がある場合に、プリンタ600とエッジサーバー300との間におけるプリンタログ情報を送信するためのデータ通信がなくなり、プリンタ600およびエッジサーバー300の通信負荷を軽減できる。 When the edge server 300 or the cloud server 200 needs the ink remaining amount information when performing inference or learning, the necessary information may be acquired by directly communicating with the printer 600. As a result, when there is a possibility that the ink information is updated, there is no data communication for transmitting the printer log information between the printer 600 and the edge server 300, and the communication load of the printer 600 and the edge server 300 is reduced. it can.

[その他の実施形態]
なお、以上の実施形態では、プリンタにおいて使用される消耗品としてインクを例に説明したが、これに限らず、トナー等の他の記録材でも良いし、または用紙等の記録媒体でもよい。その他、種々の消耗品について以上の実施形態の処理を適用することができる。
[Other Embodiments]
In the above embodiment, ink has been described as an example of consumables used in the printer, but the present invention is not limited to this, and other recording materials such as toner or a recording medium such as paper may be used. In addition, the treatment of the above embodiment can be applied to various consumables.

本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワークまたは記憶媒体を介してシステムまたは装置に供給し、そのシステムまたは装置のコンピュータがプログラムを読出し実行する処理でも実現可能である。コンピュータは、1または複数のプロセッサーまたは回路を有し、コンピュータ実行可能命令を読み出し実行するために、分離した複数のコンピュータまたは分離した複数のプロセッサーまたは回路のネットワークを含みうる。 The present invention can also be realized by supplying a program that realizes one or more functions of the above-described embodiment to a system or a device via a network or a storage medium, and the computer of the system or the device reads and executes the program. is there. A computer may have one or more processors or circuits and may include multiple separate computers or a network of separate processors or circuits to read and execute computer executable instructions.

プロセッサーまたは回路は、中央演算処理装置(CPU)、マイクロプロセッシングユニット(MPU)、グラフィクスプロセッシングユニット(GPU)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートウェイ(FPGA)を含みうる。また、プロセッサーまたは回路は、デジタルシグナルプロセッサ(DSP)、データフロープロセッサ(DFP)、またはニューラルプロセッシングユニット(NPU)を含みうる。 The processor or circuit may include a central processing unit (CPU), a microprocessing unit (MPU), a graphics processing unit (GPU), an application specific integrated circuit (ASIC), a field programmable gateway (FPGA). Also, the processor or circuit may include a digital signal processor (DSP), a data flow processor (DFP), or a neural processing unit (NPU).

記憶媒体は、非一時的なコンピュータ可読媒体とも称することができる。また、記憶媒体は、1または複数のハードディスク(HD)、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、分散コンピューティングシステムの記憶装置を含みうる。また、記憶媒体は、光ディスク(例えば、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、またはブルーレイディスク(BD、登録商標))、フラッシュメモリデバイス、及びメモリカードを含みうる。つまり本発明は、前述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介しシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。尚、本発明は、前述の実施形態の要素を適宜組み合わせて構成してもよい。 The storage medium can also be referred to as a non-transitory computer-readable medium. The storage medium may also include one or more hard disks (HD), random access memory (RAM), read-only memory (ROM), and storage devices for distributed computing systems. The storage medium may also include an optical disc (eg, a compact disc (CD), a digital versatile disc (DVD), or a Blu-ray disc (BD, registered trademark)), a flash memory device, and a memory card. That is, the present invention supplies a program that realizes one or more functions of the above-described embodiment to a system or device via a network or storage medium, and one or more processors in the computer of the system or device reads and executes the program. It can also be realized by the processing to be performed. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions. The present invention may be configured by appropriately combining the elements of the above-described embodiments.

また、前述の実施形態では消耗品のインクに関する自動発注について記載したが、本発明はこれに限定されるものではない。例えば、印刷するための各種用紙や、廃インクを吸収するメンテナンスカートリッジなどの消耗品でもよい。これらの消耗品を用いる場合は図12(d)のインク残量情報は用紙残量情報やメンテナンスカートリッジ残量情報となる。 Further, in the above-described embodiment, automatic ordering for ink for consumables has been described, but the present invention is not limited thereto. For example, it may be various types of paper for printing or consumables such as a maintenance cartridge that absorbs waste ink. When these consumables are used, the ink remaining amount information in FIG. 12D becomes the paper remaining amount information and the maintenance cartridge remaining amount information.

451 データ送受信部
600 プリンタ
710 推論依頼
720 推論結果通知
451 Data transmitter / receiver 600 Printer 710 Inference request 720 Inference result notification

Claims (19)

消耗品を配送するタイミングを推論するための推論依頼を送信する第1送信手段を有する記録装置であって、
前記推論依頼に応じて学習済モデルを用いて作成される推論結果通知に基づいて、複数種類の前記消耗品の同時配送が必要か判定される
ことを特徴とする記録装置。
A recording device having a first transmission means for transmitting an inference request for inferring the timing of delivering consumables.
A recording device characterized in that it is determined whether or not simultaneous delivery of a plurality of types of the consumables is necessary based on an inference result notification created by using a trained model in response to the inference request.
前記推論依頼には、記録装置を識別するための第1識別子と、ログを識別するための第2識別子とが含まれることを特徴とする請求項1に記載の記録装置。 The recording device according to claim 1, wherein the inference request includes a first identifier for identifying a recording device and a second identifier for identifying a log. 前記推論依頼には、ログ履歴情報が更に含まれることを特徴とする請求項2に記載の記録装置。 The recording device according to claim 2, wherein the inference request further includes log history information. 前記学習済モデルは、前記消耗品の残量に関する情報を少なくとも含む教師データを用いた機械学習によって取得されることを特徴とする請求項1乃至3の何れか1項に記載の記録装置。 The recording device according to any one of claims 1 to 3, wherein the trained model is acquired by machine learning using teacher data including at least information on the remaining amount of the consumables. 前記消耗品は、インクであり、
前記教師データには、前記情報としての前記記録装置においてインク完全なしエラーが発生しているか否かを示すインク完全なしエラーの有無情報と、インクカートリッジを最後に交換した日時の情報と、配送コストの情報とが含まれる
ことを特徴とする請求項4に記載の記録装置。
The consumable is ink
The teacher data includes information on the presence or absence of an ink completeness error indicating whether or not an ink completeness error has occurred in the recording device as the information, information on the date and time when the ink cartridge was last replaced, and delivery cost. The recording device according to claim 4, wherein the information of the above is included.
前記消耗品は、インクであり、
前記教師データには、前記情報としてのインク残量情報と、インクカートリッジを最後に交換した日時の情報と、配送コストの情報とが含まれる
ことを特徴とする請求項4に記載の記録装置。
The consumable is ink
The recording device according to claim 4, wherein the teacher data includes ink remaining amount information as the information, information on the date and time when the ink cartridge was last replaced, and information on the delivery cost.
前記消耗品には、インクと、トナーと、用紙と、メンテナンスカートリッジとが含まれることを特徴とする請求項1乃至6の何れか1項に記載の記録装置。 The recording device according to any one of claims 1 to 6, wherein the consumable includes ink, toner, paper, and a maintenance cartridge. 請求項4乃至6の何れか1項に記載の記録装置と、第1サーバーと、を有するシステムであって、
前記第1サーバーは、
前記第1送信手段が送信した前記推論依頼に基づいて、該記録装置のログ情報として、該記録装置が行った動作、前記消耗品の残量、並びに該記録装置及びジョブにおける設定に関するデータを収集するデータ収集手段と、
前記データ収集手段により収集されたデータに基づいて、推論に必要な第1入力データを生成する推論用データ生成手段と、
前記第1入力データを前記学習済モデルに入力することで、推論を行う推論手段と、
を有することを特徴とするシステム。
A system including the recording device according to any one of claims 4 to 6 and a first server.
The first server is
Based on the inference request transmitted by the first transmission means, data regarding the operation performed by the recording device, the remaining amount of the consumables, and the settings in the recording device and the job are collected as the log information of the recording device. Data collection means and
An inference data generation means that generates the first input data necessary for inference based on the data collected by the data collection means, and an inference data generation means.
An inference means for making inferences by inputting the first input data into the trained model,
A system characterized by having.
前記推論手段による前記推論が行われた場合に取得される前記推論結果通知には、複数種類の前記消耗品を同時に配送するか否かを示す情報が含まれることを特徴とする請求項8に記載のシステム。 8. The inference result notification acquired when the inference is performed by the inference means includes information indicating whether or not a plurality of types of the consumables are to be delivered at the same time, according to claim 8. The system described. 前記記録装置において、印刷ジョブ、コピージョブ、若しくはメンテナンスジョブが完了した場合、又はインクカートリッジが交換された場合、前記第1送信手段は、前記推論依頼と、前記学習済モデルを更新するための学習依頼とを前記第1サーバーに送信することを特徴とする請求項8または9に記載のシステム。 When the print job, copy job, or maintenance job is completed in the recording device, or when the ink cartridge is replaced, the first transmission means learns to update the inference request and the trained model. The system according to claim 8 or 9, wherein the request is transmitted to the first server. 前記学習依頼には、記録装置を識別するための第1識別子と、ログを識別するための第2識別子と、前記記録装置においてインク完全なしエラーが発生しているか否かを示すインク完全なしエラーの有無情報と、インクカートリッジを最後に交換した日時の情報と、ログ履歴情報と、配送情報とが含まれる
ことを特徴とする請求項10に記載のシステム。
The learning request includes a first identifier for identifying the recording device, a second identifier for identifying the log, and an ink completeness error indicating whether or not an ink completeness error has occurred in the recording device. The system according to claim 10, further comprising information on the presence or absence of an ink cartridge, information on the date and time when the ink cartridge was last replaced, log history information, and delivery information.
第2サーバーを更に有し、
前記第2サーバーは、
前記学習依頼に基づいて、ログ情報に基づき生成される第2入力データと前記教師データとの組である学習用データを生成する学習用データ生成手段と、
前記学習済モデルを更新するための学習モデルを蓄積する学習を行う第1学習手段と
前記第1学習手段による学習の結果、蓄積された学習モデルの一部または全部を、前記第1サーバーに送信する第2送信手段と、
を有することを特徴とする請求項10または11に記載のシステム。
Has a second server,
The second server is
A learning data generation means that generates learning data that is a set of a second input data generated based on log information and the teacher data based on the learning request.
A first learning means for accumulating a learning model for updating the learned model and a part or all of the accumulated learning model as a result of learning by the first learning means are transmitted to the first server. Second transmission means to
10. The system according to claim 10 or 11.
前記第1学習手段は、前記学習モデルを用いて前記第2入力データを認識した結果として得られる出力データと、前記教師データとのずれ量が最小となるように、該学習モデルを補正することを特徴とする請求項12に記載のシステム。 The first learning means corrects the learning model so that the amount of deviation between the output data obtained as a result of recognizing the second input data using the learning model and the teacher data is minimized. 12. The system according to claim 12. 前記第1サーバーは、個別の記録装置に依存する学習を行う第2学習手段を更に有し、
前記第2サーバーの前記第1学習手段は、記録装置に依存しない汎用の学習を行い、
前記第1学習手段の学習結果および前記第2学習手段の学習結果が、前記学習済モデルに反映される
ことを特徴とする請求項12または13に記載のシステム。
The first server further has a second learning means for performing learning depending on an individual recording device.
The first learning means of the second server performs general-purpose learning independent of a recording device, and performs general-purpose learning.
The system according to claim 12 or 13, wherein the learning result of the first learning means and the learning result of the second learning means are reflected in the trained model.
前記第1サーバーは、前記推論手段による推論を行う場合、前記記録装置と直接通信を行って、該記録装置のログ情報を取得し、
前記第2サーバーは、前記第1学習手段による学習を行う場合、前記記録装置と直接通信を行って、該記録装置のログ情報を取得する
ことを特徴とする請求項12乃至14の何れか1項に記載のシステム。
When the inference is performed by the inference means, the first server directly communicates with the recording device to acquire the log information of the recording device.
Any one of claims 12 to 14, wherein the second server directly communicates with the recording device to acquire log information of the recording device when learning is performed by the first learning means. The system described in the section.
第3サーバーを更に有し、
前記第1サーバーは、前記推論手段が行う前記推論によって作成される前記推論結果通知を、前記第3サーバーに送信する
ことを特徴とする請求項12乃至15の何れか1項に記載のシステム。
Has a third server,
The system according to any one of claims 12 to 15, wherein the first server transmits the inference result notification created by the inference performed by the inference means to the third server.
前記第3サーバーは、
前記推論結果通知を受信する受信手段と、
前記受信手段によって受信された前記推論結果通知に基づいて、前記消耗品の配送が必要か判定する第1判定手段と、
前記推論結果通知に基づいて、複数種類の前記消耗品の同時配送が必要か判定する第2判定手段と、
前記第2判定手段による判定結果が真の場合、同時配送すべき消耗品を配送対象に追加する追加手段と、
を有することを特徴とする請求項16に記載のシステム。
The third server is
The receiving means for receiving the inference result notification and
Based on the inference result notification received by the receiving means, the first determining means for determining whether the consumables need to be delivered, and the first determining means.
Based on the inference result notification, a second determination means for determining whether simultaneous delivery of a plurality of types of the consumables is necessary, and
If the determination result by the second determination means is true, an additional means for adding consumables to be delivered at the same time to the delivery target, and
16. The system according to claim 16.
消耗品を配送するタイミングを推論するための推論依頼を送信するステップを有する記録装置の制御方法であって、
前記推論依頼に応じて学習済モデルを用いて作成される推論結果通知に基づいて、複数種類の前記消耗品の同時配送が必要か判定される
ことを特徴とする制御方法。
A method of controlling a recording device having a step of transmitting an inference request for inferring the timing of delivering consumables.
A control method characterized in that it is determined whether or not simultaneous delivery of a plurality of types of the consumables is necessary based on an inference result notification created by using a trained model in response to the inference request.
コンピュータに請求項18に記載の方法を実行させるためのプログラム。 A program for causing a computer to perform the method according to claim 18.
JP2019226599A 2019-12-16 2019-12-16 Recording apparatus, system including recording apparatus, control method of recording apparatus, and program Pending JP2021096590A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019226599A JP2021096590A (en) 2019-12-16 2019-12-16 Recording apparatus, system including recording apparatus, control method of recording apparatus, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019226599A JP2021096590A (en) 2019-12-16 2019-12-16 Recording apparatus, system including recording apparatus, control method of recording apparatus, and program

Publications (1)

Publication Number Publication Date
JP2021096590A true JP2021096590A (en) 2021-06-24

Family

ID=76432633

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019226599A Pending JP2021096590A (en) 2019-12-16 2019-12-16 Recording apparatus, system including recording apparatus, control method of recording apparatus, and program

Country Status (1)

Country Link
JP (1) JP2021096590A (en)

Similar Documents

Publication Publication Date Title
US9046854B2 (en) Estimating accuracy of a remaining useful life prediction model for a consumable using statistics based segmentation technique
US7649645B2 (en) Method of ordering job queue of marking systems
US8543015B2 (en) Replacement toner cartridge management apparatus, replacement toner cartridge management system, image forming apparatus, replacement toner cartridge management method, and recording medium
US8787778B2 (en) Replacement toner cartridge management apparatus, replacement toner cartridge management system, image forming apparatus, replacement toner cartridge management method, and recording medium
JP2002006696A (en) Co2 emission quantity calculation method by using image forming device, co2 emission quantity management system and image forming device
CN102193380B (en) The control method of image processing apparatus and image processing apparatus
EP1357440A2 (en) Information processing apparatus, monitoring method and program, and memory medium
US9904207B2 (en) Image formation apparatus, image formation system, control method, and non-transitory recording medium
US11436456B2 (en) Device management system, server, and method of controlling device management system
JP2008146465A (en) Print server and print server system
CN101132468A (en) Printing supply information of an image forming apparatus
US10845748B2 (en) Image forming apparatus and control method to check consumable part consumption
CN108621612B (en) printing apparatus and information collecting and transmitting method
CN103207547A (en) Image forming apparatus and control method thereof
JP2007076868A (en) Image forming device
JP5363440B2 (en) Printing device
JP2021089606A (en) System and method for controlling the same, and program
US20130083339A1 (en) Resource saving while avoiding customer wait annoyance
JP2011243000A (en) Printing control program, recording medium, information processor, printing system, and printer
JP2021096590A (en) Recording apparatus, system including recording apparatus, control method of recording apparatus, and program
US11099959B2 (en) Image processing device and non-transitory recording medium
JP2021096589A (en) Recording apparatus, system including recording apparatus, control method of recording apparatus, and program
JP2021121482A (en) Recording device, ordering system, control method, and program
JP2021096588A (en) Recording apparatus, system including recording apparatus, control method of recording apparatus, and program
CN114072287B (en) Image recording apparatus