JP2022006436A - Electronic apparatus and firmware - Google Patents
Electronic apparatus and firmware Download PDFInfo
- 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
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Stored Programmes (AREA)
- Facsimiles In General (AREA)
Abstract
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).
しかしながら、従来の画像形成装置においては、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.
以下、本発明の実施の形態について、図面を用いて説明する。 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
記憶部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
記憶部19は、画像形成装置10のファームウェア19bを記憶している。ファームウェア19bは、例えば、画像形成装置10の製造段階で画像形成装置10にインストールされていても良いし、CD、DVD、USBメモリーなどの外部の記憶媒体から画像形成装置10に追加でインストールされても良いし、ネットワーク上から画像形成装置10に追加でインストールされても良い。
The storage unit 19 stores the
記憶部19は、画像形成装置10の標準の機能以外の機能を実現するためのプログラムである拡張用プログラム19cを記憶している。拡張用プログラム19cは、例えば、画像形成装置10の製造段階で画像形成装置10にインストールされていても良いし、CD、DVD、USBメモリーなどの外部の記憶媒体から画像形成装置10に追加でインストールされても良いし、ネットワーク上から画像形成装置10に追加でインストールされても良い。
The storage unit 19 stores an
記憶部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
制御部20は、例えば、CPU(Central Processing Unit)と、プログラムおよび各種のデータを記憶しているROM(Read Only Memory)と、CPUの作業領域として用いられるメモリーとしてのRAM(Random Access Memory)とを備えている。CPUは、記憶部19またはROMに記憶されているプログラムを実行する。
The
制御部20は、記憶部19またはROMに記憶されているプログラムを実行することによって、図2に示す制御構成を実現する。
The
図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
制御部20は、汎用OS110上で動作して、画像処理に関するサービスを提供する画像処理サービス121と、汎用OS110上で動作して、ネットワーク経由の通信に関するサービスを提供するネットワーク通信サービス122と、汎用OS110上で動作して、画像形成装置10の各ハードウェアを操作するサービスを提供するデバイス操作サービス123とを、ファームウェア19b(図1参照。)を実行することによって実現する。画像処理サービス121、ネットワーク通信サービス122およびデバイス操作サービス123は、それぞれ、汎用OS110を介して画像形成装置10の各ハードウェアを制御する。
The
画像処理サービス121は、例えば、スキャナー15で解像度や色などを設定して原稿から読み取った画像データを記憶部19に記憶し、記憶部19に記憶されている画像データを画像処理部13に画像処理させるサービスを提供しても良い。画像処理サービス121は、プリンター14で印刷する画像データをファイルに基づいて描画するサービスを提供しても良い。画像処理サービス121は、拡張アプリから取得した画像データ、スキャナー15によって原稿から読み取った画像データ、または、記憶部19に記憶されている画像データに対して、拡大、縮小、回転、色変換、ノイズ除去、フォーマット変換、文字認識、透かし認識などの画像処理を実行するサービスを提供しても良い。
The
ネットワーク通信サービス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
デバイス操作サービス123は、表示部12への描画、プリンター14の駆動、ファックス通信部17の制御、ユーザー認証、画像形成装置10の各ハードウェアのステータスの取得などの処理を実行するサービスを提供しても良い。デバイス操作サービス123は、例えば、スキャナー15によって原稿から読み取った画像データを記憶部19に記憶するサービスを提供しても良いし、表示部12に表示されるブラウザー上に画像を描画するサービスを提供しても良いし、画像データをプリンター14に送信して画像形成させるサービスを提供しても良いし、記憶部19に記憶されている画像データをファックス通信部17によってファクシミリ送信させるサービスを提供しても良い。デバイス操作サービス123は、例えばフィニッシャーなどのオプション機器が画像形成装置10に存在する場合には例えば製本やステープルなどの処理をオプション機器に実行させるサービスを提供しても良いし、ICカードや生体認証によってユーザーを認証するユーザー認証部が画像形成装置10に存在する場合にはユーザー認証部にユーザー認証を実行させるサービスを提供しても良いし、画像形成装置10にカメラが存在する場合にはカメラに映像データの生成を実行させたり、カメラによって生成された映像データに基づいた視線検出などの各機能を呼び出したりするサービスを提供しても良い。デバイス操作サービス123は、例えばプリンター14の搬送部のモーターの一つを駆動させるといった、画像形成装置10の各ハードウェアの詳細な制御を実行するサービスを提供しても良い。デバイス操作サービス123は、画像形成装置10の各部の状態を取得するサービスを提供しても良い。
The
制御部20は、画像処理サービス121、ネットワーク通信サービス122およびデバイス操作サービス123を呼び出すためのインターフェイスを提供するプラットフォームサービスIF部130を、ファームウェア19bを実行することによって実現する。プラットフォームサービスIF部130は、特定の種類のHTTPの構文を解析する構文解析部131と、Web APIのリクエストに応じたレスポンスをリクエスト元に通知するレスポンス通知部132とを備えている。
The
図3は、構文解析部131によって解析可能なWeb APIのリクエストの一例を示す図である。
FIG. 3 is a diagram showing an example of a Web API request that can be analyzed by the
図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
図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
制御部20は、プラットフォームサービスIF部130を介さずに汎用OS110を利用するサービスを提供する汎用OSサービス基盤150を、拡張用プログラム19c(図1参照。)を実行することによって実現する。汎用OSサービス基盤150は、例えば、汎用OS110上にデバイスドライバーやスクリプトなどの制御プログラムをインストールするなど、汎用OS110に機能を追加するサービスを提供しても良い。
The
制御部20は、拡張アプリ側からプラットフォームサービスIF部130を利用するためのインターフェイスを提供する拡張アプリサービスIF部160を、拡張用プログラム19cを実行することによって実現する。
The
制御部20は、標準アプリを利用して画像形成装置10の標準の機能を拡張アプリに提供するサービスである標準機能サービス170を、拡張用プログラム19cを実行することによって実現する。標準機能サービス170は、拡張アプリサービスIF部160を介して標準アプリを利用する。例えば、拡張アプリは、標準機能サービス170を利用することによって、コピーアプリ141によるコピーの開始の画面を表示部12に表示することができる。また、拡張アプリは、標準機能サービス170を利用することによって、拡張アプリ自身が取得したり、操作部11を介して指定されたりした各種ジョブデータやファイルなどをプリンターアプリ142に印刷させることができる。また、拡張アプリは、標準機能サービス170を利用することによって、FAXアプリ143によって受信されたファクシミリの画像データのうち、操作部11を介して指定された画像データを取得したり、操作部11を介して指定されたファイルなどをFAXアプリ143に送信させたりすることができる。
The
制御部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
拡張機能サービスは、画像形成装置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
図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
制御部20は、拡張アプリの起動、開始および停止など、拡張アプリの管理を実行する拡張アプリ管理部200を、拡張用プログラム19cを実行することによって実現する。
The
制御部20は、拡張アプリ用プログラム19d(図1参照。)を実行することによって、拡張アプリ210を実現する。なお、制御部20は、拡張アプリ210以外にも、少なくとも1つの拡張アプリを実現することが可能である。拡張アプリは、ユーザーが直接的に利用するアプリケーションであり、ユーザーインターフェイスを備えている。利用者は、拡張アプリのユーザーインターフェイスを操作することによって、この拡張アプリが提供する機能を利用することができる。例えば、拡張アプリとしては、OCR(Optical Character Recognition)、監視カメラアプリ、ウォーターマーク作成、請求書作成、社員名簿管理、伝票管理、契約書管理、名刺管理、PDF作成、帳簿管理、グループ管理などの実用アプリでも良いし、汎用OS110上のデバイスドライバーやファームウェアなどの追加変更を行うインストーラーアプリや、その他の管理アプリなどでも良い。拡張アプリは、標準機能サービス170を呼び出して標準アプリを利用して汎用OS110を利用したり、拡張サービスを呼び出して標準アプリを利用せずに汎用OS110を利用したり、汎用OSサービス基盤150を直接呼び出して汎用OS110を利用したりすることが可能である。
The
次に、画像形成装置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
画像形成装置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
図9は、構文解析プログラム19fをインストールする場合の画像形成装置10の動作のフローチャートである。
FIG. 9 is a flowchart of the operation of the image forming apparatus 10 when the
画像形成装置10の拡張サービス管理部190は、画像形成装置10のUSBポート18にUSBメモリーが装着されると、インストールサービスを起動する。インストールサービスは、起動されると、図9に示す動作を実行する。
The extended
図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
インストールサービスは、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ポート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
次に、構文解析サービスが存在しない場合に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
プラットフォームサービスIF部130の構文解析部131は、ネットワーク通信部16、汎用OS110、ネットワーク通信サービス122を順に経由してリクエスト元290からWeb APIのリクエストが通知されると、リクエスト元290から通知されたリクエストの構文の解析を試みる(S322)。
When the
構文解析部131は、S322における実行の結果、S322における対象のリクエストが構文解析部131自身が解析可能なものである場合、S322において解析したリクエストに応じたジョブを実行する(S323)。例えば、構文解析部131によって解析可能なWeb APIのリクエストが図3に示すものであり、S322における対象のリクエストが図4に示すものである場合、構文解析部131は、例えば図4に示すリクエストに応じたスキャンジョブをコピーアプリ141を利用して実行する。
As a result of the execution in S322, the
構文解析部131は、S323の処理の後、S323における実行結果をレスポンスとして生成する(S324)。例えば、構文解析部131は、図4に示すリクエストに応じたスキャンジョブを実行した場合、図5に示すレスポンスを生成する。
After the processing of S323, the
構文解析部131は、S322における実行の結果、例えば、S322における対象のリクエストのURL(Uniform Resource Locator)、HTTPヘッダーおよびHTTPボディーの少なくとも1つが構文解析部131自身が対応していないものである場合など、S322における対象のリクエストが構文解析部131自身が解析不可能なものである場合に、HTTP400のBad requestをレスポンスとして生成する(S325)。
When the
プラットフォームサービスIF部130のレスポンス通知部132は、S324またはS325の処理の後、S324またはS325において生成したレスポンスを、ネットワーク通信サービス122、汎用OS110、ネットワーク通信部16を順に経由してリクエスト元290に通知する(S326)。
The
次に、構文解析サービスが存在する場合に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
図11に示すように、Web APIのリクエスト元290は、ネットワークを経由して、画像形成装置10にWeb APIのリクエストを通知する(S341)ことができる。
As shown in FIG. 11, the Web
プラットフォームサービスIF部130の構文解析部131は、ネットワーク通信部16、汎用OS110、ネットワーク通信サービス122を順に経由してリクエスト元290からWeb APIのリクエストが通知されると、リクエスト元290から通知されたリクエストの構文の解析を試みる(S342)。
When the
構文解析部131は、S342における実行の結果、S342における対象のリクエストが構文解析部131自身が解析可能なものである場合、S323の処理と同様に、S342において解析したリクエストに応じたジョブを実行する(S343)。
As a result of the execution in S342, the
構文解析部131は、S343の処理の後、S324の処理と同様に、S343における実行結果をレスポンスとして生成する(S344)。
After the processing of S343, the
構文解析部131は、S342における実行の結果、例えば、S342における対象のリクエストのURL、HTTPヘッダーおよびHTTPボディーの少なくとも1つが構文解析部131自身が対応していないものである場合など、S342における対象のリクエスト構文解析部131自身が解析不可能なものである場合に、S342における対象のリクエストを拡張アプリサービスIF部160経由で構文解析サービス181aに通知する(S345)。
The
構文解析サービス181aは、S345においてリクエストが通知されると、S345において通知されたリクエストの構文の解析を試みる(S346)。
When the request is notified in S345, the
構文解析サービス181aは、S346における実行の結果、S346における対象のリクエストが構文解析サービス181a自身が解析可能なものである場合、S346における対象のリクエストに応じたジョブを実行する(S347)。例えば、構文解析サービス181aによって解析可能なWeb APIのリクエストが図6に示すものであり、S346における対象のリクエストが図7に示すものである場合、構文解析サービス181aは、例えば図7に示すリクエストに応じた印刷ジョブをプリンターアプリ142を利用して実行する。
As a result of the execution in S346, the
構文解析サービス181aは、S347の処理の後、S347における実行結果をレスポンスとして生成する(S348)。例えば、構文解析サービス181aは、図7に示すリクエストに応じたスキャンジョブを実行した場合、図8に示すレスポンスを生成する。
After the processing of S347, the
構文解析サービス181aは、S346における実行の結果、例えば、S346における対象のリクエストのURL、HTTPヘッダーおよびHTTPボディーの少なくとも1つが構文解析サービス181a自身が対応していないものである場合など、S346における対象のリクエストが構文解析サービス181a自身が解析不可能なものである場合、HTTP400のBad requestをレスポンスとして生成する(S349)。
The
構文解析サービス181aは、S348またはS349の処理の後、S348またはS349において生成したレスポンスを、拡張アプリサービスIF部160経由でプラットフォームサービスIF部130に通知する(S350)。
After the processing of S348 or S349, the
プラットフォームサービスIF部130のレスポンス通知部132は、S344またはS350の処理の後、S344において生成したレスポンス、または、S350において構文解析サービス181aから通知されたレスポンスを、ネットワーク通信サービス122、汎用OS110、ネットワーク通信部16を順に経由してリクエスト元290に通知する(S351)。
The
以上に説明したように、画像形成装置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
画像形成装置10は、構文解析プログラム19fが画像形成装置10のファームウェア19bとは別のプログラムであるので、構文解析プログラム19fがインストールされたことによって画像形成装置10の動作に悪影響があった場合に、構文解析プログラム19fが削除されることによって画像形成装置10の動作が容易に正常化されることができる。
In the image forming apparatus 10, since the
画像形成装置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
本実施の形態におけるいずれかの複数のプログラムは、1つのプログラムとして構成されても良い。例えば、拡張用プログラム19cと、拡張サービス用プログラムとは、1つのプログラムとして構成されても良い。
Any plurality of programs in the present embodiment may be configured as one program. For example, the
画像形成装置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)
19f Parsing program (program for extended services)
131
290 Request source
Claims (2)
前記リクエストの構文を解析する構文解析部と、
前記電子機器の標準の機能以外の機能を提供する拡張サービスとして前記リクエストの構文を解析する構文解析サービスと、
前記リクエストが前記構文解析部および前記構文解析サービスのいずれかによって解析可能なものである場合に、前記構文解析部および前記構文解析サービスのいずれかによって解析された前記リクエストに応じた前記レスポンスを前記リクエスト元に通知するレスポンス通知部と
を備え、
前記構文解析部用のプログラム、および、前記レスポンス通知部用のプログラムは、前記電子機器のファームウェアに含まれており、
前記拡張サービス用のプログラムは、前記ファームウェアに含まれないことを特徴とする電子機器。 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.
前記リクエストの構文を解析する構文解析部用のプログラムと、
前記電子機器の標準の機能以外の機能を提供する拡張サービスとして前記リクエストの構文を解析する構文解析サービス、および、前記構文解析部のいずれかによって前記リクエストが解析可能なものである場合に、前記構文解析部および前記構文解析サービスのいずれかによって解析された前記リクエストに応じた前記レスポンスを前記リクエスト元に通知するレスポンス通知部用のプログラムと
を含み、
前記拡張サービス用のプログラムを含まないことを特徴とするファームウェア。 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.
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) |
-
2020
- 2020-06-24 JP JP2020108653A patent/JP2022006436A/en active Pending
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 |