JP2022006436A - Electronic apparatus and firmware - Google Patents

Electronic apparatus and firmware Download PDF

Info

Publication number
JP2022006436A
JP2022006436A JP2020108653A JP2020108653A JP2022006436A JP 2022006436 A JP2022006436 A JP 2022006436A JP 2020108653 A JP2020108653 A JP 2020108653A JP 2020108653 A JP2020108653 A JP 2020108653A JP 2022006436 A JP2022006436 A JP 2022006436A
Authority
JP
Japan
Prior art keywords
service
request
unit
forming apparatus
image forming
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
JP2020108653A
Other languages
Japanese (ja)
Inventor
智治 徳永
Tomoharu Tokunaga
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.)
Kyocera Document Solutions Inc
Original Assignee
Kyocera Document Solutions 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 Kyocera Document Solutions Inc filed Critical Kyocera Document Solutions Inc
Priority to JP2020108653A priority Critical patent/JP2022006436A/en
Publication of JP2022006436A publication Critical patent/JP2022006436A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Stored Programmes (AREA)
  • Facsimiles In General (AREA)

Abstract

To provide an electronic apparatus and firmware that can easily deal with a new request from a Web API.SOLUTION: An image forming apparatus comprises: a platform service IF unit 130 that analyzes the syntax of a request from a Web API in S342; and a syntax analysis service 181a that analyzes the syntax of the request in S346 as an extended service that provides a function other than a standard function of the image forming apparatus. The platform service IF unit 130 notifies a request source 290 of a response according to the request analyzed by one of the platform service IF unit 130 itself and the syntax analysis service 181a (S351). A program for the platform service IF unit 130 is included in firmware of the image forming apparatus. A program for the extended service is not included in the firmware.SELECTED DRAWING: Figure 11

Description

本発明は、Web API(Application Programming Interface)のリクエストに応じたレスポンスをリクエスト元に通知する電子機器およびファームウェアに関する。 The present invention relates to an electronic device and firmware for notifying a request source of a response in response to a Web API (Application Programming Interface) request.

従来の電子機器として、画像形成装置の標準の機能を実現するアプリケーションである標準アプリと、画像形成装置の標準の機能以外の機能を実現するアプリケーションである拡張アプリと、標準アプリを利用せずに画像形成装置の標準の機能の拡張の機能を拡張アプリに提供する拡張機能サービスとを備える画像形成装置が知られている(特許文献1参照。)。 As a conventional electronic device, a standard application that realizes the standard function of the image forming apparatus, an extended application that realizes a function other than the standard function of the image forming apparatus, and a standard application without using the standard application. An image forming apparatus including an extended function service that provides an extended function of an extended function of a standard function of the image forming apparatus to an extended application is known (see Patent Document 1).

国際公開第2015/182303号International Publication No. 2015/182303

しかしながら、従来の画像形成装置においては、Web APIのリクエストの構文を解析するためのプログラムが画像形成装置のファームウェアに含まれるので、Web APIの新たなリクエストに対応するためにファームウェアを更新する必要があり、Web APIの新たなリクエストに対応するカスタマイズ性が悪いという問題がある。 However, in the conventional image forming apparatus, since the program for analyzing the syntax of the Web API request is included in the firmware of the image forming apparatus, it is necessary to update the firmware in order to respond to the new request of Web API. There is a problem that the customizability corresponding to the new request of Web API is poor.

そこで、本発明は、Web APIの新たなリクエストに容易に対応することができる電子機器およびファームウェアを提供することを目的とする。 Therefore, an object of the present invention is to provide an electronic device and firmware that can easily respond to a new request of Web API.

本発明の電子機器は、Web APIのリクエストに応じたレスポンスをリクエスト元に通知する電子機器であって、前記リクエストの構文を解析する構文解析部と、前記電子機器の標準の機能以外の機能を提供する拡張サービスとして前記リクエストの構文を解析する構文解析サービスと、前記リクエストが前記構文解析部および前記構文解析サービスのいずれかによって解析可能なものである場合に、前記構文解析部および前記構文解析サービスのいずれかによって解析された前記リクエストに応じた前記レスポンスを前記リクエスト元に通知するレスポンス通知部とを備え、前記構文解析部用のプログラム、および、前記レスポンス通知部用のプログラムは、前記電子機器のファームウェアに含まれており、前記拡張サービス用のプログラムは、前記ファームウェアに含まれないことを特徴とする。 The electronic device of the present invention is an electronic device that notifies the request source of a response in response to a Web API request, and has a parsing unit that analyzes the syntax of the request and a function other than the standard function of the electronic device. As an extension service to be provided, a parsing service that analyzes the syntax of the request, and the parsing unit and the parsing when the request can be analyzed by either the parsing unit or the parsing service. The program for the parsing unit and the program for the response notification unit include a response notification unit that notifies the request source of the response corresponding to the request analyzed by any of the services, and the program for the response notification unit is the electronic. The program included in the firmware of the device and for the extended service is not included in the firmware.

この構成により、本発明の電子機器は、Web APIのリクエストの構文を解析する構文解析サービス用のプログラムが電子機器のファームウェアとは別のプログラムであるので、電子機器のファームウェアを更新することなく、構文解析サービス用のプログラムを更新するだけで、Web APIの新たなリクエストに容易に対応することができる。 With this configuration, in the electronic device of the present invention, the program for the parsing service that analyzes the request syntax of the Web API is a program different from the firmware of the electronic device, so that the firmware of the electronic device is not updated. By simply updating the program for the parsing service, it is possible to easily respond to new requests for Web APIs.

本発明のファームウェアは、Web APIのリクエストに応じたレスポンスをリクエスト元に通知する電子機器のファームウェアであって、前記リクエストの構文を解析する構文解析部用のプログラムと、前記電子機器の標準の機能以外の機能を提供する拡張サービスとして前記リクエストの構文を解析する構文解析サービス、および、前記構文解析部のいずれかによって前記リクエストが解析可能なものである場合に、前記構文解析部および前記構文解析サービスのいずれかによって解析された前記リクエストに応じた前記レスポンスを前記リクエスト元に通知するレスポンス通知部用のプログラムとを含み、前記拡張サービス用のプログラムを含まないことを特徴とする。 The firmware of the present invention is the firmware of an electronic device that notifies the request source of a response in response to a Web API request, and is a program for a parser that analyzes the syntax of the request and a standard function of the electronic device. The parsing unit and the parsing unit when the request can be analyzed by any of the parsing service that analyzes the syntax of the request as an extension service that provides functions other than the above and the parsing unit. It is characterized by including a program for a response notification unit that notifies the request source of the response corresponding to the request analyzed by any of the services, and does not include the program for the extended service.

この構成により、本発明のファームウェアを実行する電子機器は、Web APIのリクエストの構文を解析する構文解析サービス用のプログラムが電子機器のファームウェアとは別のプログラムであるので、電子機器のファームウェアを更新することなく、構文解析サービス用のプログラムを更新するだけで、Web APIの新たなリクエストに容易に対応することができる。 With this configuration, the electronic device that executes the firmware of the present invention updates the firmware of the electronic device because the program for the parsing service that analyzes the syntax of the request of the Web API is a program different from the firmware of the electronic device. It is possible to easily respond to a new request of Web API simply by updating the program for the parsing service without doing so.

本発明の電子機器およびファームウェアは、Web APIの新たなリクエストに容易に対応することができる。 The electronic device and firmware of the present invention can easily respond to a new request of Web API.

MFPである場合の本発明の一実施の形態に係る画像形成装置のハードウェアのブロック図である。It is a block diagram of the hardware of the image forming apparatus which concerns on one Embodiment of this invention in the case of an MFP. 図1に示す画像形成装置の制御構成のブロック図である。It is a block diagram of the control configuration of the image forming apparatus shown in FIG. 図2に示す構文解析部によって解析可能なWeb APIのリクエストの一例を示す図である。It is a figure which shows an example of the request of Web API which can be parsed by the syntax analysis part shown in FIG. 図3に示す「POST /scanner/jobs」リクエストの一例である。This is an example of the "POST / scanner / jobs" request shown in FIG. 図4に示す「POST /scanner/jobs」リクエストに対するレスポンスの一例である。This is an example of the response to the "POST / scanner / jobs" request shown in FIG. 図1に示す構文解析プログラムによって実現される構文解析サービスによって解析可能なWeb APIのリクエストの一例を示す図である。It is a figure which shows an example of the request of the Web API which can be analyzed by the syntax analysis service realized by the syntax analysis program shown in FIG. 図6に示す「POST /printer/jobs」リクエストの一例である。This is an example of the "POST / printer / jobs" request shown in FIG. 図7に示す「POST /printer/jobs」リクエストに対するレスポンスの一例である。This is an example of the response to the "POST / printer / jobs" request shown in FIG. 構文解析プログラムをインストールする場合の図1に示す画像形成装置の動作のフローチャートである。It is a flowchart of the operation of the image forming apparatus shown in FIG. 1 at the time of installing a parsing program. 構文解析サービスが存在しない場合にWeb APIのリクエストが通知されたときの図1に示す画像形成装置の動作のシーケンス図である。It is a sequence diagram of the operation of the image forming apparatus shown in FIG. 1 when the request of Web API is notified when the parsing service does not exist. 構文解析サービスが存在する場合にWeb APIのリクエストが通知されたときの図1に示す画像形成装置の動作のシーケンス図である。It is a sequence diagram of the operation of the image forming apparatus shown in FIG. 1 when the request of Web API is notified when the parsing service exists.

以下、本発明の実施の形態について、図面を用いて説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.

まず、本発明の一実施の形態に係る電子機器としての画像形成装置の構成について説明する。 First, a configuration of an image forming apparatus as an electronic device according to an embodiment of the present invention will be described.

図1は、MFP(Multifunction Peripheral)である場合の本実施の形態に係る画像形成装置10のハードウェアのブロック図である。 FIG. 1 is a block diagram of the hardware of the image forming apparatus 10 according to the present embodiment in the case of an MFP (Multifunction Peripheral).

図1に示すように、画像形成装置10は、種々の操作が入力される例えばボタンなどの操作デバイスである操作部11と、種々の情報を表示する例えばLCD(Liquid Crystal Display)などの表示デバイスである表示部12と、画像データに対して例えば、拡大、縮小、濃度調整、階調調整、画像改善などの各種の画像処理を実行する例えばGPU(Graphics Processing Unit)などの画像処理デバイスである画像処理部13と、用紙などの記録媒体に画像を印刷する印刷デバイスであるプリンター14と、原稿から画像を読み取る読取デバイスであるスキャナー15と、LAN(Local Area Network)、インターネットなどのネットワーク経由で、または、ネットワークを介さずに有線または無線によって直接に、外部の装置と通信を行う通信デバイスであるネットワーク通信部16と、図示していない外部のファクシミリ装置と公衆電話回線などの通信回線経由でファックス通信を行うファックスデバイスであるファックス通信部17と、USB(Universal Serial Bus)ポート18と、各種の情報を記憶する例えば半導体メモリー、HDD(Hard Disk Drive)などの不揮発性の記憶デバイスである記憶部19と、画像形成装置10全体を制御する制御部20とを備えている。 As shown in FIG. 1, the image forming apparatus 10 includes an operation unit 11 which is an operation device such as a button into which various operations are input, and a display device such as an LCD (Liquid Crystal Disk Play) which displays various information. The display unit 12 is an image processing device such as a GPU (Graphics Processing Unit) that executes various image processing such as enlargement, reduction, density adjustment, gradation adjustment, and image improvement on the image data. Via a network such as an image processing unit 13, a printer 14 which is a printing device for printing an image on a recording medium such as paper, a scanner 15 which is a reading device for reading an image from a document, a LAN (Local Area Network), and the Internet. Alternatively, via a network communication unit 16 which is a communication device that directly communicates with an external device by wire or wirelessly without going through a network, and a communication line such as an external facsimile machine and a public telephone line (not shown). A fax communication unit 17 that is a fax device that performs fax communication, a USB (Universal Serial Bus) port 18, and a storage that is a non-volatile storage device such as a semiconductor memory or an HDD (Hard Disk Drive) that stores various information. A unit 19 and a control unit 20 that controls the entire image forming apparatus 10 are provided.

記憶部19は、画像形成装置10の各ハードウェアを制御するための例えばLinux(登録商標)などの汎用OS(Operating System)用のプログラム(以下「汎用OS用プログラム」という。)19aを記憶している。汎用OS用プログラム19aは、例えば、画像形成装置10の製造段階で画像形成装置10にインストールされていても良いし、CD(Compact Disk)、DVD(Digital Versatile Disk)、USBメモリーなどの外部の記憶媒体から画像形成装置10に追加でインストールされても良いし、ネットワーク上から画像形成装置10に追加でインストールされても良い。 The storage unit 19 stores a program (hereinafter referred to as “general-purpose OS program”) 19a for a general-purpose OS (Operating System) such as Linux (registered trademark) for controlling each hardware of the image forming apparatus 10. ing. The program 19a for a general-purpose OS may be installed in the image forming apparatus 10 at the manufacturing stage of the image forming apparatus 10, or may be externally stored in an external storage such as a CD (Compact Disk), a DVD (Digital Versaille Disk), or a USB memory. It may be additionally installed on the image forming apparatus 10 from the medium, or may be additionally installed on the image forming apparatus 10 from the network.

記憶部19は、画像形成装置10のファームウェア19bを記憶している。ファームウェア19bは、例えば、画像形成装置10の製造段階で画像形成装置10にインストールされていても良いし、CD、DVD、USBメモリーなどの外部の記憶媒体から画像形成装置10に追加でインストールされても良いし、ネットワーク上から画像形成装置10に追加でインストールされても良い。 The storage unit 19 stores the firmware 19b of the image forming apparatus 10. The firmware 19b may be installed in the image forming apparatus 10 at the manufacturing stage of the image forming apparatus 10, or may be additionally installed in the image forming apparatus 10 from an external storage medium such as a CD, a DVD, or a USB memory. Alternatively, it may be additionally installed on the image forming apparatus 10 from the network.

記憶部19は、画像形成装置10の標準の機能以外の機能を実現するためのプログラムである拡張用プログラム19cを記憶している。拡張用プログラム19cは、例えば、画像形成装置10の製造段階で画像形成装置10にインストールされていても良いし、CD、DVD、USBメモリーなどの外部の記憶媒体から画像形成装置10に追加でインストールされても良いし、ネットワーク上から画像形成装置10に追加でインストールされても良い。 The storage unit 19 stores an extension program 19c, which is a program for realizing a function other than the standard function of the image forming apparatus 10. The expansion program 19c may be installed in the image forming apparatus 10 at the manufacturing stage of the image forming apparatus 10, or may be additionally installed in the image forming apparatus 10 from an external storage medium such as a CD, DVD, or USB memory. It may be additionally installed in the image forming apparatus 10 from the network.

記憶部19は、画像形成装置10の標準の機能以外の機能を実現するアプリケーションである拡張アプリ用のプログラム(以下「拡張アプリ用プログラム」という。)19dを記憶している。記憶部19は、拡張アプリ毎に拡張アプリ用プログラムを記憶可能である。拡張アプリ用プログラムは、例えば、画像形成装置10の製造段階で画像形成装置10にインストールされていても良いし、CD、DVD、USBメモリーなどの外部の記憶媒体から画像形成装置10に追加でインストールされても良いし、ネットワーク上から画像形成装置10に追加でインストールされても良い。 The storage unit 19 stores a program for an extended application (hereinafter referred to as an “extended application program”) 19d, which is an application that realizes a function other than the standard function of the image forming apparatus 10. The storage unit 19 can store the program for the extended application for each extended application. The program for the extended application may be installed in the image forming apparatus 10 at the manufacturing stage of the image forming apparatus 10, or may be additionally installed in the image forming apparatus 10 from an external storage medium such as a CD, DVD, or USB memory. It may be additionally installed in the image forming apparatus 10 from the network.

記憶部19は、画像形成装置10の標準の機能を実現するアプリケーションである標準アプリを利用せずに汎用OSを利用するサービスを拡張アプリに提供する拡張サービス用のプログラム(以下「拡張サービス用プログラム」という。)19eを記憶している。記憶部19は、拡張サービス毎に拡張サービス用プログラムを記憶可能である。例えば、拡張サービス用プログラムとしては、HTTP(Hypertext Transfer Protocol)の構文を解析するための拡張サービスである後述の構文解析サービス用の拡張サービス用プログラムである構文解析プログラム19fと、構文解析プログラム19fをインストールするための拡張サービスであるインストールサービス用の拡張サービス用プログラムであるインストールプログラム19gとが存在する。拡張サービス用プログラムは、例えば、画像形成装置10の製造段階で画像形成装置10にインストールされていても良いし、CD、DVD、USBメモリーなどの外部の記憶媒体から画像形成装置10に追加でインストールされても良いし、ネットワーク上から画像形成装置10に追加でインストールされても良い。 The storage unit 19 is a program for an extended service that provides a service that uses a general-purpose OS to an extended application without using a standard application that is an application that realizes the standard functions of the image forming apparatus 10 (hereinafter, “program for extended service”). I remember 19e. The storage unit 19 can store the extended service program for each extended service. For example, as the program for the extended service, the parsing program 19f and the parsing program 19f, which are the programs for the extended service for the parsing service described later, which are the extended services for analyzing the syntax of HTTP (Hyperext Transfer Protocol), are used. There is an installation program 19g, which is an extension service program for an installation service, which is an extension service for installation. The extended service program may be installed in the image forming apparatus 10 at the manufacturing stage of the image forming apparatus 10, or may be additionally installed in the image forming apparatus 10 from an external storage medium such as a CD, DVD, or USB memory. It may be additionally installed in the image forming apparatus 10 from the network.

制御部20は、例えば、CPU(Central Processing Unit)と、プログラムおよび各種のデータを記憶しているROM(Read Only Memory)と、CPUの作業領域として用いられるメモリーとしてのRAM(Random Access Memory)とを備えている。CPUは、記憶部19またはROMに記憶されているプログラムを実行する。 The control unit 20 includes, for example, a CPU (Central Processing Unit), a ROM (Read Only Memory) that stores programs and various data, and a RAM (Random Access Memory) as a memory used as a work area of the CPU. It is equipped with. The CPU executes a program stored in the storage unit 19 or the ROM.

制御部20は、記憶部19またはROMに記憶されているプログラムを実行することによって、図2に示す制御構成を実現する。 The control unit 20 realizes the control configuration shown in FIG. 2 by executing the program stored in the storage unit 19 or the ROM.

図2は、画像形成装置10の制御構成のブロック図である。 FIG. 2 is a block diagram of a control configuration of the image forming apparatus 10.

図2に示すように、制御部20は、汎用OS用プログラム19a(図1参照。)を実行することによって、汎用OS110を実現する。 As shown in FIG. 2, the control unit 20 realizes the general-purpose OS 110 by executing the general-purpose OS program 19a (see FIG. 1).

制御部20は、汎用OS110上で動作して、画像処理に関するサービスを提供する画像処理サービス121と、汎用OS110上で動作して、ネットワーク経由の通信に関するサービスを提供するネットワーク通信サービス122と、汎用OS110上で動作して、画像形成装置10の各ハードウェアを操作するサービスを提供するデバイス操作サービス123とを、ファームウェア19b(図1参照。)を実行することによって実現する。画像処理サービス121、ネットワーク通信サービス122およびデバイス操作サービス123は、それぞれ、汎用OS110を介して画像形成装置10の各ハードウェアを制御する。 The control unit 20 has an image processing service 121 that operates on the general-purpose OS 110 and provides services related to image processing, a network communication service 122 that operates on the general-purpose OS 110 and provides services related to communication via a network, and a general-purpose unit. A device operation service 123 that operates on the OS 110 and provides a service for operating each hardware of the image forming apparatus 10 is realized by executing firmware 19b (see FIG. 1). The image processing service 121, the network communication service 122, and the device operation service 123 each control each hardware of the image forming apparatus 10 via the general-purpose OS 110.

画像処理サービス121は、例えば、スキャナー15で解像度や色などを設定して原稿から読み取った画像データを記憶部19に記憶し、記憶部19に記憶されている画像データを画像処理部13に画像処理させるサービスを提供しても良い。画像処理サービス121は、プリンター14で印刷する画像データをファイルに基づいて描画するサービスを提供しても良い。画像処理サービス121は、拡張アプリから取得した画像データ、スキャナー15によって原稿から読み取った画像データ、または、記憶部19に記憶されている画像データに対して、拡大、縮小、回転、色変換、ノイズ除去、フォーマット変換、文字認識、透かし認識などの画像処理を実行するサービスを提供しても良い。 The image processing service 121 stores, for example, image data read from a document by setting a resolution, color, etc. with a scanner 15 in a storage unit 19, and stores image data stored in the storage unit 19 in an image processing unit 13. You may provide a service to process. The image processing service 121 may provide a service for drawing image data to be printed by the printer 14 based on a file. The image processing service 121 enlarges, reduces, rotates, converts colors, and noises the image data acquired from the extended application, the image data read from the original by the scanner 15, or the image data stored in the storage unit 19. Services may be provided that perform image processing such as removal, format conversion, character recognition, and watermark recognition.

ネットワーク通信サービス122は、TCP(Transmission Control Protocol)/IP(Internet Protocol)やUDP(User Datagram Protocol)などの各種のプロトコルを用いてネットワーク通信部16経由でファイルの送受信、ストリーミング、認証データの送受信を実行するサービスを提供しても良い。例えば、ネットワーク通信サービス122は、スキャナー15によって原稿から読み取った画像データや、記憶部19に記憶されるファイルを送受信することも可能である。なお、ネットワーク通信サービス122は、ファックス通信部17によってファクシミリ送受信した画像データの送受信、IC(Integrated Circuit)カードや生体認証によってユーザーを認証するユーザー認証部が画像形成装置10に存在する場合にはユーザー認証部によるユーザー認証の結果の送受信、画像形成装置10にカメラが存在する場合にはカメラによって生成された映像データの送受信などを行うことも可能である。また、ネットワーク通信サービス122は、画像形成装置10の各部の状態、各部の機能の呼び出しの結果などについても、送受信可能である。 The network communication service 122 uses various protocols such as TCP (Transmission Control Protocol) / IP (Internet Protocol) and UDP (User Datagram Protocol) to send / receive files, stream, and send / receive authentication data via the network communication unit 16. You may provide a service to execute. For example, the network communication service 122 can also send and receive image data read from a document by a scanner 15 and a file stored in a storage unit 19. The network communication service 122 is a user when the image forming apparatus 10 has a user authentication unit that authenticates the user by transmitting / receiving image data facsimile-transmitted / received by the fax communication unit 17, an IC (Integrated Circuit) card, or biometric authentication. It is also possible to send and receive the result of user authentication by the authentication unit, and to send and receive video data generated by the camera when the image forming apparatus 10 has a camera. Further, the network communication service 122 can also transmit and receive the state of each part of the image forming apparatus 10, the result of calling the function of each part, and the like.

デバイス操作サービス123は、表示部12への描画、プリンター14の駆動、ファックス通信部17の制御、ユーザー認証、画像形成装置10の各ハードウェアのステータスの取得などの処理を実行するサービスを提供しても良い。デバイス操作サービス123は、例えば、スキャナー15によって原稿から読み取った画像データを記憶部19に記憶するサービスを提供しても良いし、表示部12に表示されるブラウザー上に画像を描画するサービスを提供しても良いし、画像データをプリンター14に送信して画像形成させるサービスを提供しても良いし、記憶部19に記憶されている画像データをファックス通信部17によってファクシミリ送信させるサービスを提供しても良い。デバイス操作サービス123は、例えばフィニッシャーなどのオプション機器が画像形成装置10に存在する場合には例えば製本やステープルなどの処理をオプション機器に実行させるサービスを提供しても良いし、ICカードや生体認証によってユーザーを認証するユーザー認証部が画像形成装置10に存在する場合にはユーザー認証部にユーザー認証を実行させるサービスを提供しても良いし、画像形成装置10にカメラが存在する場合にはカメラに映像データの生成を実行させたり、カメラによって生成された映像データに基づいた視線検出などの各機能を呼び出したりするサービスを提供しても良い。デバイス操作サービス123は、例えばプリンター14の搬送部のモーターの一つを駆動させるといった、画像形成装置10の各ハードウェアの詳細な制御を実行するサービスを提供しても良い。デバイス操作サービス123は、画像形成装置10の各部の状態を取得するサービスを提供しても良い。 The device operation service 123 provides a service that executes processing such as drawing on the display unit 12, driving the printer 14, controlling the fax communication unit 17, user authentication, and acquiring the status of each hardware of the image forming apparatus 10. May be. The device operation service 123 may provide, for example, a service of storing image data read from a document by a scanner 15 in a storage unit 19, or a service of drawing an image on a browser displayed on the display unit 12. Alternatively, a service may be provided in which image data is transmitted to the printer 14 to form an image, or a service is provided in which the image data stored in the storage unit 19 is facsimile-transmitted by the fax communication unit 17. May be. When the image forming apparatus 10 has an optional device such as a finisher, the device operation service 123 may provide a service for causing the optional device to perform processing such as bookbinding or staples, or may provide an IC card or biometric authentication. If the image forming apparatus 10 has a user authentication unit that authenticates the user, a service may be provided to cause the user authentication unit to execute the user authentication, or if the image forming apparatus 10 has a camera, the camera may be provided. May provide a service that causes the camera to generate video data, or calls each function such as line-of-sight detection based on the video data generated by the camera. The device operation service 123 may provide a service that executes detailed control of each hardware of the image forming apparatus 10, such as driving one of the motors of the transport unit of the printer 14. The device operation service 123 may provide a service for acquiring the state of each part of the image forming apparatus 10.

制御部20は、画像処理サービス121、ネットワーク通信サービス122およびデバイス操作サービス123を呼び出すためのインターフェイスを提供するプラットフォームサービスIF部130を、ファームウェア19bを実行することによって実現する。プラットフォームサービスIF部130は、特定の種類のHTTPの構文を解析する構文解析部131と、Web APIのリクエストに応じたレスポンスをリクエスト元に通知するレスポンス通知部132とを備えている。 The control unit 20 realizes the platform service IF unit 130 that provides an interface for calling the image processing service 121, the network communication service 122, and the device operation service 123 by executing the firmware 19b. The platform service IF unit 130 includes a syntax analysis unit 131 that analyzes the syntax of a specific type of HTTP, and a response notification unit 132 that notifies the request source of a response in response to a Web API request.

図3は、構文解析部131によって解析可能なWeb APIのリクエストの一例を示す図である。 FIG. 3 is a diagram showing an example of a Web API request that can be analyzed by the syntax analysis unit 131.

図3において、「POST /scanner/jobs」は、スキャンジョブを生成し、スキャンを開始するためのリクエストである。「GET /scanner/jobs」は、スキャンジョブの一覧を取得するためのリクエストである。「GET /scanner/jobs/capabilities」は、スキャンジョブ設定値の有効範囲情報を取得するためのリクエストである。「GET /scanner/jobs/settings」は、スキャンジョブのデフォルト設定値を取得するためのリクエストである。「DELETE /scanner/jobs/{job_id}」は、「{job_id}」で示されるスキャンジョブを終了するためのリクエストである。なお、「{job_id}」は、スキャンジョブなどのジョブの識別情報であるジョブIDを示している。「GET /scanner/jobs/{job_id}/scan_data」は、「{job_id}」で示されるスキャンジョブにおいてスキャンした画像を取得するためのリクエストである。「GET /scanner/jobs/{job_id}/status」は、「{job_id}」で示されるスキャンジョブの状態を取得するためのリクエストである。「PUT /scanner/jobs/{job_id}/status」は、「{job_id}」で示されるスキャンジョブにおける原稿の連続読み込みのために、画像形成装置10からのスキャンデータの受信の状態を画像形成装置10に通知するためのリクエストである。 In FIG. 3, "POST / scanner / jobs" is a request for generating a scan job and starting a scan. "GET / scanner / jobs" is a request to get a list of scan jobs. "GET / scanner / jobs / capabilities" is a request to acquire the valid range information of the scan job setting value. "GET / scanner / jobs / settings" is a request to get the default settings of the scan job. "DELETE / scanner / jobs / {job_id}" is a request to end the scan job indicated by "{job_id}". In addition, "{job_id}" indicates a job ID which is identification information of a job such as a scan job. "GET / scanner / jobs / {job_id} / scan_data" is a request to acquire the scanned image in the scan job indicated by "{job_id}". "GET / scanner / jobs / {job_id} / status" is a request to acquire the status of the scan job indicated by "{job_id}". "PUT / scanner / jobs / {job_id} / status" indicates the status of reception of scan data from the image forming apparatus 10 for continuous reading of documents in the scanning job indicated by "{job_id}". This is a request to notify 10.

図4は、図3に示す「POST /scanner/jobs」リクエストの一例である。 FIG. 4 is an example of the “POST / scanner / jobs” request shown in FIG.

図4において、「xxx.xxx.xxx」は、画像形成装置10のIPアドレスを示している。「"information": {"type": "account code","data": "kyocera"}」のうち、「account code」は、部門コードを示している。すなわち、「"information": {"type": "account code","data": "kyocera"}」は、「部門コードが「kyocera」である部門のスキャンジョブを行う」という意味である。「"device_screen": ”status screen"」は、「画像形成装置10の表示部12にスキャンジョブの状態を表示する」という意味である。「"scan_job_kind": "scan to send"」は、「スキャンした画像を送信するスキャンジョブを行う」という意味である。「"scan_image_setting": {"color_selection": "fullcolor","scan_resolution": "300 x 300 dpi"}」は、「解像度300×300dpiのフルカラーのスキャンを行う」という意味である。 In FIG. 4, "xxx.xxx.xxx" indicates the IP address of the image forming apparatus 10. Of "" information ": {" type ":" account code "," data ":" kyocera "}", "account code" indicates the department code. That is, "" information ": {" type ":" account code "," data ":" kyocera "}" means "perform a scan job for a department whose department code is" kyocera "". "" Device_screen ":" status screen "" means "display the status of the scan job on the display unit 12 of the image forming apparatus 10." "" Scan_job_kind ":" scan to send "" means "perform a scan job to send the scanned image". "" Scan_image_setting ": {" color_selection ":" fullcolor "," scan_resolution ":" 300 x 300 dpi "}" means "perform a full color scan with a resolution of 300 x 300 dpi".

図5は、図4に示す「POST /scanner/jobs」リクエストに対するレスポンスの一例である。 FIG. 5 is an example of a response to the “POST / scanner / jobs” request shown in FIG.

図5において、「xxx.xxx.xxx:xxxx」は、画像形成装置10のIPアドレスおよびポート番号を示している。「"job_id": 1」は、「ジョブIDとして1が付与された」という意味である。「"error": {"message": "Created"}」は、「スキャンジョブを作成した」という意味である。 In FIG. 5, "xxx.xxx.xxx:xxxx" indicates the IP address and the port number of the image forming apparatus 10. "" Job_id ": 1" means "1 was given as the job ID". "" Error ": {" message ":" Created "}" means "created a scan job".

図2に示す制御部20は、ファームウェア19bを実行することによって標準アプリを実現する。標準アプリは、プラットフォームサービスIF部130上で動作して、画像形成装置10の各ハードウェアを利用する。例えば、制御部20は、操作部11sに入力された指示に応じてスキャナー15によって原稿から画像を読み取って、読み取った画像をプリンター14によって印刷するコピーを実現する標準アプリであるコピーアプリ141と、ネットワーク通信部16によって受信した、例えばPDL(Page Description Language)で記述されたデータなどのデータに基づいた画像をプリンター14によって印刷する標準アプリであるプリンターアプリ142と、操作部11に入力された指示に応じてスキャナー15によって原稿から画像を読み取って、読み取った画像をファックス通信部17によって送信する標準アプリであるFAXアプリ143と、操作部11に入力された指示に応じてスキャナー15によって原稿から画像を読み取って、読み取った画像をネットワーク通信部16によって送信する送信アプリ144とを実現する。プリンターアプリ142は、操作部11に入力された指示に応じて記憶部19に記憶されているファイルに基づいた画像をプリンター14によって印刷しても良い。FAXアプリ143は、ネットワーク通信部16によって受信したファイルに基づいた画像をファックス通信部17によって送信したり、ファックス通信部17によって受信した画像をプリンター14によって印刷したり、ファックス通信部17によって受信した画像を記憶部19に記憶したりしても良い。 The control unit 20 shown in FIG. 2 realizes a standard application by executing firmware 19b. The standard application operates on the platform service IF unit 130 and uses each hardware of the image forming apparatus 10. For example, the control unit 20 has a copy application 141, which is a standard application that realizes a copy in which an image is read from a document by a scanner 15 in response to an instruction input to an operation unit 11s and the read image is printed by a printer 14. The printer application 142, which is a standard application for printing an image based on data such as data described by, for example, PDL (Page Description Language) received by the network communication unit 16, by the printer 14, and an instruction input to the operation unit 11. The fax application 143, which is a standard application that reads an image from a manuscript by the scanner 15 and transmits the read image by the fax communication unit 17, and the image from the manuscript by the scanner 15 according to an instruction input to the operation unit 11. Is realized, and a transmission application 144 is realized, in which the scanned image is transmitted by the network communication unit 16. The printer application 142 may print an image based on a file stored in the storage unit 19 by the printer 14 in response to an instruction input to the operation unit 11. The FAX application 143 transmits an image based on the file received by the network communication unit 16 by the fax communication unit 17, prints the image received by the fax communication unit 17 by the printer 14, and receives the image by the fax communication unit 17. The image may be stored in the storage unit 19.

制御部20は、プラットフォームサービスIF部130を介さずに汎用OS110を利用するサービスを提供する汎用OSサービス基盤150を、拡張用プログラム19c(図1参照。)を実行することによって実現する。汎用OSサービス基盤150は、例えば、汎用OS110上にデバイスドライバーやスクリプトなどの制御プログラムをインストールするなど、汎用OS110に機能を追加するサービスを提供しても良い。 The control unit 20 realizes the general-purpose OS service platform 150 that provides a service that uses the general-purpose OS 110 without going through the platform service IF unit 130 by executing the extension program 19c (see FIG. 1). The general-purpose OS service platform 150 may provide a service for adding a function to the general-purpose OS 110, such as installing a control program such as a device driver or a script on the general-purpose OS 110.

制御部20は、拡張アプリ側からプラットフォームサービスIF部130を利用するためのインターフェイスを提供する拡張アプリサービスIF部160を、拡張用プログラム19cを実行することによって実現する。 The control unit 20 realizes the extended application service IF unit 160 that provides an interface for using the platform service IF unit 130 from the extended application side by executing the extension program 19c.

制御部20は、標準アプリを利用して画像形成装置10の標準の機能を拡張アプリに提供するサービスである標準機能サービス170を、拡張用プログラム19cを実行することによって実現する。標準機能サービス170は、拡張アプリサービスIF部160を介して標準アプリを利用する。例えば、拡張アプリは、標準機能サービス170を利用することによって、コピーアプリ141によるコピーの開始の画面を表示部12に表示することができる。また、拡張アプリは、標準機能サービス170を利用することによって、拡張アプリ自身が取得したり、操作部11を介して指定されたりした各種ジョブデータやファイルなどをプリンターアプリ142に印刷させることができる。また、拡張アプリは、標準機能サービス170を利用することによって、FAXアプリ143によって受信されたファクシミリの画像データのうち、操作部11を介して指定された画像データを取得したり、操作部11を介して指定されたファイルなどをFAXアプリ143に送信させたりすることができる。 The control unit 20 realizes the standard function service 170, which is a service that provides the standard function of the image forming apparatus 10 to the extended application by using the standard application, by executing the extension program 19c. The standard function service 170 uses the standard application via the extended application service IF unit 160. For example, the extended application can display the screen of the start of copying by the copy application 141 on the display unit 12 by using the standard function service 170. Further, by using the standard function service 170, the extended application can print various job data, files, etc. acquired by the extended application itself or specified via the operation unit 11 on the printer application 142. .. Further, by using the standard function service 170, the extended application can acquire the image data specified via the operation unit 11 among the facsimile image data received by the FAX application 143, or can use the operation unit 11. It is possible to send the specified file or the like to the FAX application 143 via the fax application 143.

制御部20は、画像形成装置10の標準の機能以外の機能を提供するサービスである拡張サービスを、拡張サービス用プログラム(図1参照。)を実行することによって実現する。例えば、制御部20は、標準アプリを利用せずに拡張アプリサービスIF部160を介してプラットフォームサービスIF部130を利用したり、汎用OSサービス基盤150を利用して汎用OS110を利用したりするサービスを拡張アプリに提供する拡張サービスである拡張機能サービス181と、プラットフォームサービスIF部130を利用せずに汎用OSサービス基盤150を利用して汎用OS110を利用するサービスを拡張アプリに提供する拡張サービスであるバックエンドサービス182とを実現する。制御部20は、拡張機能サービス181以外にも、少なくとも1つの拡張機能サービスを実現可能である。制御部20は、バックエンドサービス182以外にも、少なくとも1つのバックエンドサービスを実現可能である。 The control unit 20 realizes an extended service, which is a service that provides functions other than the standard functions of the image forming apparatus 10, by executing an extended service program (see FIG. 1). For example, the control unit 20 is a service that uses the platform service IF unit 130 via the extended application service IF unit 160 without using the standard application, or uses the general-purpose OS 110 by using the general-purpose OS service platform 150. An extended function service 181 that is an extended service that provides the extended application, and an extended service that provides the extended application a service that uses the general-purpose OS 110 by using the general-purpose OS service platform 150 without using the platform service IF unit 130. Realize a certain back-end service 182. The control unit 20 can realize at least one extended function service other than the extended function service 181. The control unit 20 can realize at least one back-end service other than the back-end service 182.

拡張機能サービスは、画像形成装置10の標準の機能の拡張の機能を拡張アプリに提供するサービスである。拡張機能サービスとしては、例えば、構文解析プログラム19fを実行することによって実現する構文解析サービスと、インストールプログラム19gを実行することによって実現するインストールサービスとが存在する。 The extended function service is a service that provides an extended function of a standard function of the image forming apparatus 10 to an extended application. As the extended function service, for example, there are a parsing service realized by executing the parsing program 19f and an installation service realized by executing the installation program 19g.

図6は、構文解析サービスによって解析可能なWeb APIのリクエストの一例を示す図である。 FIG. 6 is a diagram showing an example of a Web API request that can be analyzed by a parsing service.

図6において、「POST /printer/jobs」は、印刷ジョブを生成し、印刷を開始するためのリクエストである。なお、構文解析サービスは、複数の種類のWeb APIのリクエストを解析可能でも良い。 In FIG. 6, "POST / printer / jobs" is a request for generating a print job and starting printing. The syntax analysis service may be able to analyze requests of a plurality of types of Web APIs.

図7は、図6に示す「POST /printer/jobs」リクエストの一例である。 FIG. 7 is an example of the “POST / printer / jobs” request shown in FIG.

図7において、「xxx.xxx.xxx」は、画像形成装置10のIPアドレスを示している。「"information": {"type": "account code","data": "kyocera"}」は、「部門コードが「kyocera」である部門の印刷ジョブを行う」という意味である。「"printer_setting": {"color_selection": "fullcolor","cassette_selection": "mp_tray"}」は、「「mp_tray」という給紙トレイの用紙を使用してフルカラーの印刷を行う」という意味である。 In FIG. 7, “xxx.xxx.xxx” indicates the IP address of the image forming apparatus 10. "" Information ": {" type ":" account code "," data ":" kyocera "}" means "perform a print job for a department whose department code is" kyocera "". "" Printer_setting ": {" color_selection ":" fullcolor "," cassette_selection ":" mp_tray "}" means "print in full color using the paper in the input tray called" mp_tray "".

図8は、図7に示す「POST /printer/jobs」リクエストに対するレスポンスの一例である。 FIG. 8 is an example of a response to the “POST / printer / jobs” request shown in FIG.

図8において、「xxx.xxx.xxx:xxxx」は、画像形成装置10のIPアドレスおよびポート番号を示している。「"job_id": 1」は、「ジョブIDとして1が付与された」という意味である。「"error": {"message": "Processing"}」は、「印刷ジョブを実行中である」という意味である。 In FIG. 8, "xxx.xxx.xxx:xxxx" indicates the IP address and the port number of the image forming apparatus 10. "" Job_id ": 1" means "1 was given as the job ID". "" Error ": {" message ":" Processing "}" means "print job is running".

バックエンドサービスは、バックエンドで稼働するサービスである。バックエンドサービスは、画像形成装置10の標準の機能以外の機能のうち、画像形成装置10の標準の機能の拡張の機能以外の機能を提供するサービスである。バックエンドサービスとしては、例えば、画像形成装置10を監視する機能を提供するサービス、複数の画像形成装置から構成されるシステム全体を監視する機能を提供するサービス、特定のサーバーを監視する機能を提供するサービス、画像形成装置10の印刷枚数を示すカウンターなどの情報を画像形成装置10から収集して、収集した情報を人間が理解することができる形式の情報に変換する機能を提供するサービス、画像形成装置10から出力される情報の形式を旧型のインターフェイスの形式から新型のインターフェイスの形式に変換する機能を提供するサービスが存在する。 A backend service is a service that runs on the backend. The back-end service is a service that provides functions other than the functions of the extension of the standard functions of the image forming apparatus 10 among the functions other than the standard functions of the image forming apparatus 10. As the back-end service, for example, a service that provides a function of monitoring the image forming apparatus 10, a service that provides a function of monitoring the entire system composed of a plurality of image forming apparatus, and a function of monitoring a specific server are provided. A service that collects information such as a counter indicating the number of printed sheets of the image forming apparatus 10 from the image forming apparatus 10 and converts the collected information into information in a format that can be understood by humans, an image. There is a service that provides a function of converting the format of the information output from the forming apparatus 10 from the format of the old interface to the format of the new interface.

制御部20は、拡張サービスの起動、開始および停止など、拡張サービスの管理を実行する拡張サービス管理部190を、拡張用プログラム19cを実行することによって実現する。拡張サービス管理部190は、拡張サービスおよび汎用OSサービス基盤150の状態を監視する。 The control unit 20 realizes the extended service management unit 190 that executes the management of the extended service such as starting, starting, and stopping the extended service by executing the extension program 19c. The extended service management unit 190 monitors the status of the extended service and the general-purpose OS service infrastructure 150.

制御部20は、拡張アプリの起動、開始および停止など、拡張アプリの管理を実行する拡張アプリ管理部200を、拡張用プログラム19cを実行することによって実現する。 The control unit 20 realizes the extended application management unit 200 that executes the management of the extended application such as starting, starting and stopping the extended application by executing the extension program 19c.

制御部20は、拡張アプリ用プログラム19d(図1参照。)を実行することによって、拡張アプリ210を実現する。なお、制御部20は、拡張アプリ210以外にも、少なくとも1つの拡張アプリを実現することが可能である。拡張アプリは、ユーザーが直接的に利用するアプリケーションであり、ユーザーインターフェイスを備えている。利用者は、拡張アプリのユーザーインターフェイスを操作することによって、この拡張アプリが提供する機能を利用することができる。例えば、拡張アプリとしては、OCR(Optical Character Recognition)、監視カメラアプリ、ウォーターマーク作成、請求書作成、社員名簿管理、伝票管理、契約書管理、名刺管理、PDF作成、帳簿管理、グループ管理などの実用アプリでも良いし、汎用OS110上のデバイスドライバーやファームウェアなどの追加変更を行うインストーラーアプリや、その他の管理アプリなどでも良い。拡張アプリは、標準機能サービス170を呼び出して標準アプリを利用して汎用OS110を利用したり、拡張サービスを呼び出して標準アプリを利用せずに汎用OS110を利用したり、汎用OSサービス基盤150を直接呼び出して汎用OS110を利用したりすることが可能である。 The control unit 20 realizes the extended application 210 by executing the extended application program 19d (see FIG. 1). The control unit 20 can realize at least one extended application other than the extended application 210. An extended application is an application that is directly used by the user and has a user interface. The user can use the functions provided by this extended application by operating the user interface of the extended application. For example, as an extended application, OCR (Optical Character Recognition), surveillance camera application, water mark creation, invoice creation, employee list management, slip management, contract management, business card management, PDF creation, book management, group management, etc. It may be a practical application, an installer application that adds or changes a device driver or firmware on a general-purpose OS 110, or another management application. The extended application can call the standard function service 170 and use the general-purpose OS 110 by using the standard application, call the extended service and use the general-purpose OS 110 without using the standard application, or directly use the general-purpose OS service platform 150. It is possible to call and use the general-purpose OS 110.

次に、画像形成装置10の動作について説明する。 Next, the operation of the image forming apparatus 10 will be described.

まず、構文解析プログラム19fをインストールする場合の画像形成装置10の動作について説明する。 First, the operation of the image forming apparatus 10 when the syntax analysis program 19f is installed will be described.

画像形成装置10の管理者などの利用者は、画像形成装置10への構文解析プログラム19fのインストールを希望する場合に、画像形成装置10へのインストールを希望する構文解析プログラムをUSBメモリーに記憶した後、このUSBメモリーを画像形成装置10のUSBポート18に装着することができる。 When a user such as an administrator of the image forming apparatus 10 desires to install the syntax analysis program 19f on the image forming apparatus 10, the user such as the administrator stores the syntax analysis program desired to be installed on the image forming apparatus 10 in the USB memory. Later, this USB memory can be attached to the USB port 18 of the image forming apparatus 10.

図9は、構文解析プログラム19fをインストールする場合の画像形成装置10の動作のフローチャートである。 FIG. 9 is a flowchart of the operation of the image forming apparatus 10 when the syntax analysis program 19f is installed.

画像形成装置10の拡張サービス管理部190は、画像形成装置10のUSBポート18にUSBメモリーが装着されると、インストールサービスを起動する。インストールサービスは、起動されると、図9に示す動作を実行する。 The extended service management unit 190 of the image forming apparatus 10 starts the installation service when the USB memory is attached to the USB port 18 of the image forming apparatus 10. When the installation service is started, it executes the operation shown in FIG.

図9に示すように、インストールサービスは、USBポート18に装着されたUSBメモリーに構文解析プログラムが記憶されているか否かを判断する(S301)。ここで、インストールサービスは、拡張アプリサービスIF部160、プラットフォームサービスIF部130、デバイス操作サービス123、汎用OS110、USBポート18を順に経由して、USBメモリーにアクセスする。 As shown in FIG. 9, the installation service determines whether or not the parsing program is stored in the USB memory attached to the USB port 18 (S301). Here, the installation service accesses the USB memory via the extended application service IF unit 160, the platform service IF unit 130, the device operation service 123, the general-purpose OS 110, and the USB port 18 in this order.

インストールサービスは、USBポート18に装着されたUSBメモリーに構文解析プログラムが記憶されているとS301において判断すると、このUSBメモリーに記憶されている構文解析プログラムを構文解析プログラム19fとして記憶部19の拡張機能サービス用の領域にインストールする(S302)。ここで、インストールサービスは、拡張アプリサービスIF部160、プラットフォームサービスIF部130、デバイス操作サービス123、汎用OS110を順に経由して、記憶部19にアクセスする。 When the installation service determines in S301 that the syntax analysis program is stored in the USB memory attached to the USB port 18, the syntax analysis program stored in the USB memory is used as the syntax analysis program 19f to extend the storage unit 19. Install in the area for functional services (S302). Here, the installation service accesses the storage unit 19 via the extended application service IF unit 160, the platform service IF unit 130, the device operation service 123, and the general-purpose OS 110 in this order.

インストールサービスは、USBポート18に装着されたUSBメモリーに構文解析プログラムが記憶されていないとS301において判断するか、S302の処理が終了すると、図9に示す動作を終了する。 When the installation service determines in S301 that the parsing program is not stored in the USB memory attached to the USB port 18, or when the processing of S302 is completed, the operation shown in FIG. 9 is terminated.

次に、構文解析サービスが存在しない場合にWeb APIのリクエストが通知されたときの画像形成装置10の動作について説明する。 Next, the operation of the image forming apparatus 10 when the Web API request is notified when the syntax analysis service does not exist will be described.

図10は、構文解析サービスが存在しない場合にWeb APIのリクエストが通知されたときの画像形成装置10の動作のシーケンス図である。 FIG. 10 is a sequence diagram of the operation of the image forming apparatus 10 when a Web API request is notified when the syntax analysis service does not exist.

図10に示すように、画像形成装置10の外部のWebアプリケーションなど、Web APIのリクエスト元290は、ネットワークを経由して、画像形成装置10にWeb APIのリクエストを通知する(S321)ことができる。 As shown in FIG. 10, the Web API request source 290, such as a Web application outside the image forming apparatus 10, can notify the image forming apparatus 10 of the Web API request via the network (S321). ..

プラットフォームサービスIF部130の構文解析部131は、ネットワーク通信部16、汎用OS110、ネットワーク通信サービス122を順に経由してリクエスト元290からWeb APIのリクエストが通知されると、リクエスト元290から通知されたリクエストの構文の解析を試みる(S322)。 When the request source 290 notifies the Web API request via the network communication unit 16, the general-purpose OS 110, and the network communication service 122 in order, the syntax analysis unit 131 of the platform service IF unit 130 is notified by the request source 290. Attempts to parse the request syntax (S322).

構文解析部131は、S322における実行の結果、S322における対象のリクエストが構文解析部131自身が解析可能なものである場合、S322において解析したリクエストに応じたジョブを実行する(S323)。例えば、構文解析部131によって解析可能なWeb APIのリクエストが図3に示すものであり、S322における対象のリクエストが図4に示すものである場合、構文解析部131は、例えば図4に示すリクエストに応じたスキャンジョブをコピーアプリ141を利用して実行する。 As a result of the execution in S322, the parsing unit 131 executes the job corresponding to the request analyzed in S322 when the target request in S322 can be analyzed by the parsing unit 131 itself (S323). For example, when the Web API request that can be analyzed by the parsing unit 131 is shown in FIG. 3 and the target request in S322 is shown in FIG. 4, the parsing unit 131 is, for example, the request shown in FIG. The scan job according to the above is executed by using the copy application 141.

構文解析部131は、S323の処理の後、S323における実行結果をレスポンスとして生成する(S324)。例えば、構文解析部131は、図4に示すリクエストに応じたスキャンジョブを実行した場合、図5に示すレスポンスを生成する。 After the processing of S323, the parsing unit 131 generates the execution result in S323 as a response (S324). For example, the parsing unit 131 generates the response shown in FIG. 5 when the scan job in response to the request shown in FIG. 4 is executed.

構文解析部131は、S322における実行の結果、例えば、S322における対象のリクエストのURL(Uniform Resource Locator)、HTTPヘッダーおよびHTTPボディーの少なくとも1つが構文解析部131自身が対応していないものである場合など、S322における対象のリクエストが構文解析部131自身が解析不可能なものである場合に、HTTP400のBad requestをレスポンスとして生成する(S325)。 When the parsing unit 131 does not correspond to at least one of the URL (Uniform Resource Locator), the HTTP header, and the HTTP body of the target request in S322 as a result of the execution in S322, for example, the parsing unit 131 itself. For example, when the target request in S322 cannot be analyzed by the parsing unit 131 itself, the Bad request of the HTTP 400 is generated as a response (S325).

プラットフォームサービスIF部130のレスポンス通知部132は、S324またはS325の処理の後、S324またはS325において生成したレスポンスを、ネットワーク通信サービス122、汎用OS110、ネットワーク通信部16を順に経由してリクエスト元290に通知する(S326)。 The response notification unit 132 of the platform service IF unit 130 sends the response generated in S324 or S325 to the request source 290 via the network communication service 122, the general-purpose OS 110, and the network communication unit 16 in order after the processing of S324 or S325. Notify (S326).

次に、構文解析サービスが存在する場合にWeb APIのリクエストが通知されたときの画像形成装置10の動作について説明する。 Next, the operation of the image forming apparatus 10 when the Web API request is notified when the syntax analysis service exists will be described.

図11は、構文解析サービス181aが存在する場合にWeb APIのリクエストが通知されたときの画像形成装置10の動作のシーケンス図である。 FIG. 11 is a sequence diagram of the operation of the image forming apparatus 10 when a Web API request is notified when the syntax analysis service 181a is present.

図11に示すように、Web APIのリクエスト元290は、ネットワークを経由して、画像形成装置10にWeb APIのリクエストを通知する(S341)ことができる。 As shown in FIG. 11, the Web API request source 290 can notify the image forming apparatus 10 of the Web API request (S341) via the network.

プラットフォームサービスIF部130の構文解析部131は、ネットワーク通信部16、汎用OS110、ネットワーク通信サービス122を順に経由してリクエスト元290からWeb APIのリクエストが通知されると、リクエスト元290から通知されたリクエストの構文の解析を試みる(S342)。 When the request source 290 notifies the Web API request via the network communication unit 16, the general-purpose OS 110, and the network communication service 122 in order, the syntax analysis unit 131 of the platform service IF unit 130 is notified by the request source 290. Attempts to parse the request syntax (S342).

構文解析部131は、S342における実行の結果、S342における対象のリクエストが構文解析部131自身が解析可能なものである場合、S323の処理と同様に、S342において解析したリクエストに応じたジョブを実行する(S343)。 As a result of the execution in S342, the parsing unit 131 executes the job corresponding to the request analyzed in S342 in the same manner as the processing of S323 when the target request in S342 can be analyzed by the parsing unit 131 itself. (S343).

構文解析部131は、S343の処理の後、S324の処理と同様に、S343における実行結果をレスポンスとして生成する(S344)。 After the processing of S343, the parsing unit 131 generates the execution result in S343 as a response in the same manner as the processing of S324 (S344).

構文解析部131は、S342における実行の結果、例えば、S342における対象のリクエストのURL、HTTPヘッダーおよびHTTPボディーの少なくとも1つが構文解析部131自身が対応していないものである場合など、S342における対象のリクエスト構文解析部131自身が解析不可能なものである場合に、S342における対象のリクエストを拡張アプリサービスIF部160経由で構文解析サービス181aに通知する(S345)。 The parser 131 is the target in S342 as a result of the execution in S342, for example, when at least one of the URL, the HTTP header, and the HTTP body of the target request in S342 is not supported by the parser 131 itself. When the request parsing unit 131 itself cannot be analyzed, the target request in S342 is notified to the parsing service 181a via the extended application service IF unit 160 (S345).

構文解析サービス181aは、S345においてリクエストが通知されると、S345において通知されたリクエストの構文の解析を試みる(S346)。 When the request is notified in S345, the syntax analysis service 181a attempts to analyze the syntax of the request notified in S345 (S346).

構文解析サービス181aは、S346における実行の結果、S346における対象のリクエストが構文解析サービス181a自身が解析可能なものである場合、S346における対象のリクエストに応じたジョブを実行する(S347)。例えば、構文解析サービス181aによって解析可能なWeb APIのリクエストが図6に示すものであり、S346における対象のリクエストが図7に示すものである場合、構文解析サービス181aは、例えば図7に示すリクエストに応じた印刷ジョブをプリンターアプリ142を利用して実行する。 As a result of the execution in S346, the parsing service 181a executes the job corresponding to the target request in S346 when the target request in S346 can be analyzed by the parsing service 181a itself (S347). For example, when the Web API request that can be analyzed by the parsing service 181a is shown in FIG. 6 and the target request in S346 is shown in FIG. 7, the parsing service 181a is, for example, the request shown in FIG. The print job according to the above is executed by using the printer application 142.

構文解析サービス181aは、S347の処理の後、S347における実行結果をレスポンスとして生成する(S348)。例えば、構文解析サービス181aは、図7に示すリクエストに応じたスキャンジョブを実行した場合、図8に示すレスポンスを生成する。 After the processing of S347, the parsing service 181a generates the execution result in S347 as a response (S348). For example, the parsing service 181a generates the response shown in FIG. 8 when the scan job in response to the request shown in FIG. 7 is executed.

構文解析サービス181aは、S346における実行の結果、例えば、S346における対象のリクエストのURL、HTTPヘッダーおよびHTTPボディーの少なくとも1つが構文解析サービス181a自身が対応していないものである場合など、S346における対象のリクエストが構文解析サービス181a自身が解析不可能なものである場合、HTTP400のBad requestをレスポンスとして生成する(S349)。 The parsing service 181a is a target in S346 as a result of execution in S346, for example, when at least one of the URL, HTTP header, and HTTP body of the target request in S346 is not supported by the parsing service 181a itself. If the request of is unparseable by the parsing service 181a itself, a Bad request of HTTP 400 is generated as a response (S349).

構文解析サービス181aは、S348またはS349の処理の後、S348またはS349において生成したレスポンスを、拡張アプリサービスIF部160経由でプラットフォームサービスIF部130に通知する(S350)。 After the processing of S348 or S349, the parsing service 181a notifies the platform service IF unit 130 of the response generated in S348 or S349 via the extended application service IF unit 160 (S350).

プラットフォームサービスIF部130のレスポンス通知部132は、S344またはS350の処理の後、S344において生成したレスポンス、または、S350において構文解析サービス181aから通知されたレスポンスを、ネットワーク通信サービス122、汎用OS110、ネットワーク通信部16を順に経由してリクエスト元290に通知する(S351)。 The response notification unit 132 of the platform service IF unit 130 receives the response generated in S344 after the processing of S344 or S350, or the response notified from the parsing service 181a in S350, to the network communication service 122, the general-purpose OS 110, and the network. Notify the request source 290 via the communication unit 16 in order (S351).

以上に説明したように、画像形成装置10は、Web APIのリクエストの構文を解析する構文解析サービス181a用のプログラムである構文解析プログラム19fが画像形成装置10のファームウェア19bとは別のプログラムであるので、ファームウェア19bを更新することなく、構文解析プログラム19fを更新するだけで、Web APIの新たなリクエストに容易に対応することができる。したがって、画像形成装置10は、Web APIの新たなリクエストに対応するために画像形成装置10のファームウェア19bを更新する必要がある構成と比較して、Web APIの新たなリクエストに対応するためのソフトウェアの開発期間を短縮することができる。 As described above, in the image forming apparatus 10, the parsing program 19f, which is a program for the parsing service 181a that analyzes the syntax of the request of the Web API, is a program different from the firmware 19b of the image forming apparatus 10. Therefore, it is possible to easily respond to a new request of the Web API simply by updating the parsing program 19f without updating the firmware 19b. Therefore, the image forming apparatus 10 is software for responding to a new request of Web API as compared with a configuration in which firmware 19b of the image forming apparatus 10 needs to be updated in order to respond to a new request of Web API. Development period can be shortened.

画像形成装置10は、構文解析プログラム19fが画像形成装置10のファームウェア19bとは別のプログラムであるので、構文解析プログラム19fがインストールされたことによって画像形成装置10の動作に悪影響があった場合に、構文解析プログラム19fが削除されることによって画像形成装置10の動作が容易に正常化されることができる。 In the image forming apparatus 10, since the syntax analysis program 19f is a program different from the firmware 19b of the image forming apparatus 10, the operation of the image forming apparatus 10 is adversely affected by the installation of the syntax analysis program 19f. By deleting the parsing program 19f, the operation of the image forming apparatus 10 can be easily normalized.

画像形成装置10は、本実施の形態において、構文解析プログラムが記憶されているUSBメモリーがUSBポート18に装着された場合に、この構文解析プログラムをインストールする。しかしながら、画像形成装置10は、他の方法によって構文解析プログラムをインストールしても良い。例えば、画像形成装置10は、構文解析プログラムが記憶されている、USBメモリー以外の記憶デバイスが接続された場合に、この構文解析プログラムをインストールしても良い。 In the present embodiment, the image forming apparatus 10 installs the parsing program when the USB memory in which the parsing program is stored is attached to the USB port 18. However, the image forming apparatus 10 may install the parsing program by another method. For example, the image forming apparatus 10 may install the parsing program when a storage device other than the USB memory in which the parsing program is stored is connected.

本実施の形態におけるいずれかの複数のプログラムは、1つのプログラムとして構成されても良い。例えば、拡張用プログラム19cと、拡張サービス用プログラムとは、1つのプログラムとして構成されても良い。 Any plurality of programs in the present embodiment may be configured as one program. For example, the extension program 19c and the extension service program may be configured as one program.

画像形成装置10は、本実施の形態においてMFPであるが、例えばプリンター専用機など、MFP以外の画像形成装置でも良い。 The image forming apparatus 10 is an MFP in the present embodiment, but an image forming apparatus other than the MFP, such as a dedicated printer, may be used.

本発明の電子機器は、本実施の形態において画像形成装置であるが、例えばPC(Personal Computer)など、画像形成装置以外の電子機器でも良い。 The electronic device of the present invention is an image forming apparatus in the present embodiment, but may be an electronic device other than the image forming apparatus such as a PC (Personal Computer).

10 画像形成装置(電子機器)
19b ファームウェア
19e 拡張サービス用プログラム(拡張サービス用のプログラム)
19f 構文解析プログラム(拡張サービス用のプログラム)
131 構文解析部
132 レスポンス通知部
181 拡張機能サービス(拡張サービス)
181a 構文解析サービス
182 バックエンドサービス(拡張サービス)
290 リクエスト元
10 Image forming device (electronic device)
19b Firmware 19e Extended service program (Extended service program)
19f Parsing program (program for extended services)
131 Parsing unit 132 Response notification unit 181 Extended function service (extended service)
181a Parsing service 182 Backend service (extended service)
290 Request source

Claims (2)

Web APIのリクエストに応じたレスポンスをリクエスト元に通知する電子機器であって、
前記リクエストの構文を解析する構文解析部と、
前記電子機器の標準の機能以外の機能を提供する拡張サービスとして前記リクエストの構文を解析する構文解析サービスと、
前記リクエストが前記構文解析部および前記構文解析サービスのいずれかによって解析可能なものである場合に、前記構文解析部および前記構文解析サービスのいずれかによって解析された前記リクエストに応じた前記レスポンスを前記リクエスト元に通知するレスポンス通知部と
を備え、
前記構文解析部用のプログラム、および、前記レスポンス通知部用のプログラムは、前記電子機器のファームウェアに含まれており、
前記拡張サービス用のプログラムは、前記ファームウェアに含まれないことを特徴とする電子機器。
It is an electronic device that notifies the request source of the response in response to the Web API request.
A parser that analyzes the syntax of the request,
A parsing service that parses the syntax of the request as an extended service that provides functions other than the standard functions of the electronic device, and
When the request can be parsed by either the parsing unit or the parsing service, the response in response to the request analyzed by either the parsing unit or the parsing service is described. It is equipped with a response notification unit that notifies the request source.
The program for the syntax analysis unit and the program for the response notification unit are included in the firmware of the electronic device.
An electronic device, characterized in that the program for the extended service is not included in the firmware.
Web APIのリクエストに応じたレスポンスをリクエスト元に通知する電子機器のファームウェアであって、
前記リクエストの構文を解析する構文解析部用のプログラムと、
前記電子機器の標準の機能以外の機能を提供する拡張サービスとして前記リクエストの構文を解析する構文解析サービス、および、前記構文解析部のいずれかによって前記リクエストが解析可能なものである場合に、前記構文解析部および前記構文解析サービスのいずれかによって解析された前記リクエストに応じた前記レスポンスを前記リクエスト元に通知するレスポンス通知部用のプログラムと
を含み、
前記拡張サービス用のプログラムを含まないことを特徴とするファームウェア。
It is the firmware of the electronic device that notifies the request source of the response in response to the Web API request.
A program for the parsing section that analyzes the syntax of the request,
When the request can be analyzed by any of the parsing service that analyzes the syntax of the request as an extended service that provides functions other than the standard functions of the electronic device and the parsing unit. Includes a program for the response notification unit that notifies the request source of the response in response to the request analyzed by either the parsing unit or the parsing service.
Firmware characterized by not including a program for the extended service.
JP2020108653A 2020-06-24 2020-06-24 Electronic apparatus and firmware Pending JP2022006436A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020108653A JP2022006436A (en) 2020-06-24 2020-06-24 Electronic apparatus and firmware

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020108653A JP2022006436A (en) 2020-06-24 2020-06-24 Electronic apparatus and firmware

Publications (1)

Publication Number Publication Date
JP2022006436A true JP2022006436A (en) 2022-01-13

Family

ID=80110831

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020108653A Pending JP2022006436A (en) 2020-06-24 2020-06-24 Electronic apparatus and firmware

Country Status (1)

Country Link
JP (1) JP2022006436A (en)

Similar Documents

Publication Publication Date Title
JP5368837B2 (en) Server, information processing system including server, server control method, and program
JP6331302B2 (en) Information processing system, information acquisition apparatus, server, program, and information processing method
JP2006352845A (en) Image handling apparatus, image processing system, image processing control method, and image processing control program program
JP6102264B2 (en) Processing execution system, information processing apparatus, program
JP2006109459A (en) Print supporting apparatus, print processing apparatus, document processing system, method of controlling print supporting apparatus, print support control program, and computer readable recording medium
JP5328327B2 (en) Workflow system, image processing apparatus, and control method for image processing apparatus
US20200195791A1 (en) Image processing system, cloud server, and program
JP3812556B2 (en) Image processing device
JP3778190B2 (en) Image processing device
JP2022006436A (en) Electronic apparatus and firmware
US11258916B2 (en) Electronic device and computer-readable non-transitory recording medium storing program
US11483440B2 (en) Function executing device displays approval screens, when executing requests receive from external devices, for executing first and second functions
JP2016148923A (en) Image forming device, image forming method, and image forming program
US11641436B2 (en) Electronic device, and non-transitory computer-readable recording medium recording firmware
JP3812555B2 (en) Image processing device
JP2022013131A (en) Electronic apparatus and firmware
JP7496055B2 (en) Electronic devices and programs
JP2007208408A (en) Image forming apparatus and file transmission system
JP5315939B2 (en) Image forming apparatus, information processing system, information processing method, and program
JP2019192956A (en) Information processing device, image formation device, image formation system, and virus check method
US11509789B2 (en) Electronic apparatus and computer readable non-transitory recording medium storing program
JP2021140378A (en) Electronic apparatus and program
JP4605229B2 (en) Image forming apparatus
JP2021140376A (en) Electronic apparatus and program
US20230145435A1 (en) Electronic device and program