JP2020088593A - 電子機器、画像読取方法及び印刷処理方法 - Google Patents
電子機器、画像読取方法及び印刷処理方法 Download PDFInfo
- Publication number
- JP2020088593A JP2020088593A JP2018219988A JP2018219988A JP2020088593A JP 2020088593 A JP2020088593 A JP 2020088593A JP 2018219988 A JP2018219988 A JP 2018219988A JP 2018219988 A JP2018219988 A JP 2018219988A JP 2020088593 A JP2020088593 A JP 2020088593A
- Authority
- JP
- Japan
- Prior art keywords
- electronic device
- web browser
- webapi
- server system
- request
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
- G06F3/1288—Remote printer device, e.g. being remote from client or server in client-server-printer device configuration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00127—Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
- H04N1/00204—Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
- H04N1/00244—Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server with a server, e.g. an internet server
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1229—Printer resources management or printer maintenance, e.g. device status, power levels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1259—Print job monitoring, e.g. job status
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
- G06F3/1287—Remote printer device, e.g. being remote from client or server via internet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00127—Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
- H04N1/00204—Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
- H04N1/00209—Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax
- H04N1/00222—Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax details of image data generation or reproduction, e.g. scan-to-email or network printing
- H04N1/00225—Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax details of image data generation or reproduction, e.g. scan-to-email or network printing details of image data generation, e.g. scan-to-email or network scanners
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00127—Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
- H04N1/00204—Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
- H04N1/00209—Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax
- H04N1/00222—Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax details of image data generation or reproduction, e.g. scan-to-email or network printing
- H04N1/00233—Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax details of image data generation or reproduction, e.g. scan-to-email or network printing details of image data reproduction, e.g. network printing or remote image display
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/0035—User-machine interface; Control console
- H04N1/00405—Output means
- H04N1/00408—Display of information to the user, e.g. menus
- H04N1/00464—Display of information to the user, e.g. menus using browsers, i.e. interfaces based on mark-up languages
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00962—Input arrangements for operating instructions or parameters, e.g. updating internal software
- H04N1/00973—Input arrangements for operating instructions or parameters, e.g. updating internal software from a remote device, e.g. receiving via the internet instructions input to a computer terminal
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Facsimiles In General (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
【課題】 サーバーシステムから電子機器の管理を行うシステムにおいて、開発負担の軽減が可能な電子機器、画像読取方法及び印刷処理方法等の提供。【解決手段】 電子機器100は、通信部120と、処理部110と、画像読取部141を含む。処理部110は、サーバーシステム200と通信可能なWebブラウザー300の処理によって、電子機器100が提供するスキャン開始要求WebAPIが呼び出された場合に、画像読取部141にスキャン処理を開始させる。そして処理部110は、画像読取部141によって取得されたスキャンデータのサーバーシステム200への送信を、通信部120に実行させる。【選択図】 図3
Description
本発明は、電子機器、画像読取方法及び印刷処理方法等に関する。
従来、印刷機能、スキャン機能等の複数の機能を有する複合機(MFP:Multifunction Peripheral)が広く知られている。例えば特許文献1には、サーバーシステム等の機器から、複合機の機能を利用する手法が開示されている。特許文献1における複合機のソフトウェアは、複合機のハードウェアを制御するために拡張されたスクリプトを解釈可能なブラウザーを含む。当該ブラウザーは、スクリプトを含むHTML(HyperText Markup Language)データを、Webアプリケーションが実装されたサーバーシステムから取得することによって、複合機のハードウェアを制御する。
特許文献1の手法においては、複合機の機能を使用するためのスクリプト用APIが、ブラウザーに設けられる。そのため、この機能を使用するWebアプリケーションを通常のブラウザーで動作させることができない。専用のブラウザーを用いるため、ブラウザーの開発負担が大きいという課題があった。
本発明の一態様は、通信部と、前記通信部の制御を行う処理部と、画像読取部と、を含み、前記処理部は、サーバーシステムと通信可能なWebブラウザーの処理によって、電子機器が提供するスキャン開始要求WebAPI(Web Application Programming Interface)が呼び出された場合に、前記スキャン開始要求WebAPIに基づいて、前記画像読取部にスキャン処理を開始させ、前記画像読取部によって取得されたスキャンデータの前記サーバーシステムへの送信を、前記通信部に実行させる電子機器に関係する。
以下、本発明の好適な実施の形態について詳細に説明する。なお以下に説明する本実施形態は特許請求の範囲に記載された本発明の内容を不当に限定するものではなく、本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
1.システム構成例
図1は、電子機器100の構成例である。電子機器100は、処理部110、通信部120、記憶部130、画像読取部141、表示部150を含む。即ち、図1は、スキャナーである電子機器100の構成例である。ただし電子機器100は図1の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
図1は、電子機器100の構成例である。電子機器100は、処理部110、通信部120、記憶部130、画像読取部141、表示部150を含む。即ち、図1は、スキャナーである電子機器100の構成例である。ただし電子機器100は図1の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
処理部110は、電子機器100の各部の制御を行う。例えば処理部110は、メインCPU(Central Processing Unit)、サブCPUなどの複数のCPU、或いはMPU(Micro-processing unit)を含むことができる。メインCPUは、電子機器100の各部の制御や全体的な制御を行う。サブCPUは、例えば画像読取についての各種の処理を行う。或いは通信処理のためのCPUが更に設けられてもよい。
処理部110は、下記のハードウェアにより構成される。ハードウェアは、デジタル信号を処理する回路及びアナログ信号を処理する回路の少なくとも一方を含むことができる。例えば、ハードウェアは、回路基板に実装された1又は複数の回路装置や、1又は複数の回路素子で構成することができる。1又は複数の回路装置は例えばIC等である。1又は複数の回路素子は例えば抵抗、キャパシター等である。
また処理部110は、下記のプロセッサーにより実現されてもよい。本実施形態の電子機器100は、情報を記憶するメモリーと、メモリーに記憶された情報に基づいて動作するプロセッサーと、を含む。情報は、例えばプログラムと各種のデータ等である。プロセッサーは、ハードウェアを含む。プロセッサーは、CPU、GPU(Graphics Processing Unit)、DSP(Digital Signal Processor)等、各種のプロセッサーを用いることが可能である。メモリーは、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)などの半導体メモリーであってもよいし、レジスターであってもよいし、ハードディスク装置(HDD:Hard Disk Drive)等の磁気記憶装置であってもよいし、光学ディスク装置等の光学式記憶装置であってもよい。例えば、メモリーはコンピューターにより読み取り可能な命令を格納しており、当該命令がプロセッサーにより実行されることで、電子機器100の各部の機能が処理として実現される。ここでの命令は、プログラムを構成する命令セットの命令でもよいし、プロセッサーのハードウェア回路に対して動作を指示する命令であってもよい。
通信部120は、ネットワークを介して、サーバーシステム200を含む他の装置との通信を行う。ここでのネットワークは、図3において第1ネットワークNW1、第2ネットワークNW2として後述するように、WAN(Wide Area Network)やLAN(Local Area Network)などにより実現することができ、有線・無線を問わない。通信部120は、具体的には有線通信又は無線通信を行うチップやモジュールである。なお、図5を用いて後述する処理システム10において、電子機器100に実装されたWebブラウザー300が自身を対象としたアクセスを行った場合に、電子機器100の通信部120は、当該アクセスの受け付け等を行う。即ち、通信部120は、所与の通信プロトコルに従った通信を電子機器100の内部において実行してもよく、第1ネットワークNW1等のネットワークを介した通信を行うものに限定されない。
記憶部130は、データやプログラムなどの各種の情報を記憶する。処理部110や通信部120は例えば記憶部130をワーク領域として動作する。記憶部130は、半導体メモリーであってもよいし、レジスターであってもよいし、磁気記憶装置であってもよいし、光学式記憶装置であってもよい。
画像読取部141は、載置面に載置された複数枚の原稿を、搬送経路に沿って1枚ずつ搬送する搬送機構を含む。搬送機構は、例えば原稿を搬送するための搬送ローラー対を含む。搬送ローラー対は、例えば駆動ローラーと従動ローラーとにより構成される。また画像読取部141は、光源と画像センサーを含む。光源は、例えばLED(light emitting diode)や蛍光ランプなどにより構成される。画像センサーは、光源から射出された光が原稿等の読み取り対象で反射した反射光を受光し、受光した光を電気信号に変換して受光量に応じた値の画素信号を出力する。画像センサーは、例えばリニアイメージセンサーである。なお、画像読取部141の具体的構成はここで例示したものに限られず、種々の変形実施が可能である。
表示部150は、各種情報をユーザーに表示するディスプレイ等で構成される。表示部150は、例えばタッチパネルであり、ユーザーからの入力操作を受け付ける操作インターフェースを兼ねてもよい。
図2は、電子機器100の他の構成例である。電子機器100は、処理部110、通信部120、記憶部130、印刷部142、表示部150を含む。即ち、図2は、印刷装置である電子機器100の構成例である。ただし電子機器100は図2の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。なお、通信部120、記憶部130、表示部150は図1と同様であるため詳細な説明を省略する。また処理部110は、印刷に関する制御を行う点を除いて図1と同様であるため、詳細な説明を省略する。
印刷部142は、印刷エンジンを含む。印刷エンジンとは、印刷媒体への画像の印刷を実行する機械的構成である。印刷エンジンは、例えば搬送機構やインクジェット方式の吐出ヘッド、当該吐出ヘッドを含むキャリッジの駆動機構等を含む。印刷エンジンは、搬送機構により搬送される印刷媒体に対して、吐出ヘッドからインクを吐出することによって、印刷媒体に画像を印刷する。印刷媒体は、紙や布等、種々の媒体を利用できる。なお、印刷エンジンの具体的構成はここで例示したものに限られず、電子写真方式でトナーにより印刷するものでもよい。
図1及び図2に示したように、電子機器100は、スキャナーであってもよいし、プリンターであってもよい。或いは電子機器100は、複数の機能を有する複合機であってもよい。複合機は、印刷機能、スキャン機能の他に、ファクシミリ機能やコピー機能等を含むことが可能である。
図3は、本実施形態に係る電子機器100を含む処理システム10の構成例である。処理システム10は、電子機器100、サーバーシステム200、Webブラウザー300、ルーター400を含む。なお、図4及び図5を用いて後述するように、Webブラウザー300が実装される機器は種々の変形実施が可能であり、電子機器100がWebブラウザー300を含むことも妨げられない。
電子機器100及びWebブラウザー300は、第1ネットワークNW1に接続される。第1ネットワークNW1は、例えばLAN(Local Area Network)である。第1ネットワークNW1は、具体的にはイントラネットであってもよい。サーバーシステム200は、第2ネットワークNW2に接続される。第2ネットワークNW2は、インターネット等の公衆通信網である。第1ネットワークNW1と第2ネットワークNW2の間には、ルーター400が設けられる。
サーバーシステム200から、電子機器100のハードウェアを制御する手法が広く知られている。図1に示す電子機器100であれば、サーバーシステム200は、電子機器100の画像読取部141を制御することによってスキャン機能を利用する。図2に示す電子機器100であれば、サーバーシステム200は、印刷部142を制御することによって印刷機能を利用する。
サーバーシステム200を用いない場合、電子機器100の機能拡張には、電子機器100のファームウェアの更新等が必要になるため、開発及び保守の負担が大きい。これに対して、追加機能をサーバーシステム200のアプリケーションとして実装することによって、電子機器100の機能拡張が容易になる。サーバーシステム200のアプリケーションとは例えばWebアプリケーションである。拡張される機能は、例えば図7を用いて後述するユーザー認証機能である。このようにすれば、電子機器100側の更新処理を抑制しつつ、認証スキャン又は認証印刷を実現することが可能になる。
ただし、本実施形態で想定するサーバーシステム200は、図3に示すように、電子機器100が接続される第1ネットワークNW1とは異なる第2ネットワークNW2に接続される。企業においては、外部からのネットワーク経由での攻撃による機密情報や個人情報の漏えいを防ぐため、ファイアーウォールを設置していることが多い。ファイアーウォールは、社内イントラネットへの社外インターネットからのアクセスを制御する。例えば、社内イントラネットから社外インターネットへのアクセスはHTTP(Hypertext Transfer Protocol)とHTTPS(Hypertext Transfer Protocol Secure)のみを許可し、社外インターネットから社内イントラネットへは全アクセスをブロックする。HTTPによるアクセスとは、具体的には80番ポートを利用したアクセスであり、HTTPSによるアクセスとは、443番ポートを用いたアクセスである。つまり、イントラネット内の機器からインターネット上のサーバーシステムへアクセスすることは出来るが、インターネット上のサーバーシステムによるイントラネット内の機器へのアクセスはファイアーウォールにより遮断されている。
図3の例においては、A4に示す電子機器100からサーバーシステム200へのアクセス、及び当該アクセスに対する応答は可能である。しかし、サーバーシステム200から電子機器100への能動的なアクセスは、ルーター400に設けられるファイアーウォールによって遮断されてしまう。サーバーシステム200が第1ネットワークNW1に接続される態様であれば、サーバーシステム200から電子機器100へのアクセスが可能である。そのため、PC(Personal Computer)からプリンターへ印刷を指示する際に用いられる一般的な制御手法と同様の手法によって、サーバーシステム200から電子機器100の印刷機能を利用することが可能である。同様に、サーバーシステム200が第1ネットワークNW1に接続される態様であれば、サーバーシステム200から電子機器100のスキャン機能を利用することも容易である。しかし、本実施形態の手法においては、そのような広く用いられる制御手法をそのまま適用することが難しい。
よって本実施形態の手法では、A1に示す電子機器100への通信、及びA3に示すサーバーシステム200への通信が可能なWebブラウザー300を利用する。即ち、サーバーシステム200からWebブラウザー300を経由する態様によって、電子機器100のハードウェアを制御する。
ブラウザーを用いて複合機を制御する手法は、例えば特許文献1に開示されている。しかし特許文献1の手法は、複合機の機能を使用するためのスクリプト用APIが設けられている。換言すれば、特許文献1におけるブラウザーのプログラムは、複合機のプログラムを直接動作させるように作り込まれている。そのため、特許文献1の手法は、標準スクリプトに対応する標準ブラウザーを用いることができず、拡張スクリプトに対応可能な専用ブラウザーを用いなくてはならない。そのため、専用ブラウザーの開発負担が大きい。
また、専用ブラウザーを用いることによって、サーバー側の開発、即ちWebアプリケーションの開発負担も大きくなる。なぜなら、特許文献1の専用ブラウザーは、上記のように複合機のプログラムを動作させるものである。そのため、Webアプリケーションに基づく複合機の実動作を確認するためには、当該専用ブラウザーが複合機に搭載された環境を用意する必要がある。また専用ブラウザーの動作は複合機のファームウェアと密接に結合しているため、デバッグにおいて複合機専用のデバッグソフトウェアを用いる必要が生じる場合もある。Webアプリケーションの開発は複合機メーカー以外の業者が行うこともあるため、開発者がデバッグソフトウェアを入手できないケースも多いと想定される。この場合、プログラムの実行を逐一停止しながら複合機の動作を確認する、といった手順を用いることが難しく、Webアプリケーションの効率的な開発が容易でない。
このような従来手法に対して、本実施形態に係る電子機器100は、図1に示したように、通信部120と、通信部120の制御を行う処理部110と、画像読取部141を含む。そして処理部110は、サーバーシステム200と通信可能なWebブラウザー300の処理によって、電子機器100が提供するスキャン開始要求WebAPIが呼び出された場合に、スキャン開始要求WebAPIに基づいて、画像読取部141にスキャン処理を開始させる。そして処理部110は、画像読取部141によって取得されたスキャンデータのサーバーシステム200への送信を、通信部120に実行させる。スキャンデータとは、スキャン処理の結果として取得される画像データである。
或いは、本実施形態に係る電子機器100は、図2に示したように、通信部120と、通信部120の制御を行う処理部110と、印刷部142を含む。そして処理部110は、印刷データを蓄積するサーバーシステム200と通信可能なWebブラウザー300の処理によって、電子機器100が提供する印刷要求WebAPIが呼び出された場合に、印刷要求WebAPIに基づいて、印刷部142に印刷データの印刷処理を実行させる。ここでの印刷データとは、印刷対象の画像である印刷画像データを含む。また印刷データは、印刷設定情報等の画像以外の情報を含んでもよい。また、サーバーシステム200は、自身が蓄積する印刷データの送信時に、当該印刷データに対して何らかの変換処理を行ってもよく、本実施形態における印刷データは、変換処理後のデータを含むものとする。
このように、本実施形態の手法は、電子機器100のスキャン機能や印刷機能を利用するためのWebAPIを、当該電子機器100に設ける。WebAPIとは、HTTP又はHTTPSベースの機能呼び出し用のインターフェースである。このようにすれば、電子機器100が設けられる第1ネットワークNW1とは異なる第2ネットワークNW2に設けられるサーバーシステム200から、ブラウザー経由でスキャン又は印刷の管理を行うことが可能になる。WebAPIは広く用いられる標準ブラウザーでサポートされているため、専用ブラウザーを用いる必要がないという利点がある。標準ブラウザーは、電子機器100と密接に結合するものではない。そのため、本実施形態におけるWebブラウザー300は、電子機器100に実装されることが必須とならない。
図4及び図5は、Webブラウザー300が実装される機器の具体例を示す図である。図4に示すように、Webブラウザー300は、電子機器100と異なる機器である処理装置500に含まれてもよい。処理装置500は任意の機器であり、例えばPCである。或いは、図5に示すように、Webブラウザー300は、電子機器100に含まれてもよい。即ち、電子機器100の処理部110は、WebAPIを呼び出すというWebブラウザー300の処理を実行してもよい。
例えば、図4の処理装置500に統合開発環境(IDE:Integrated Development Environment)等を導入することによってWebアプリケーションの開発を行った後、生成物であるWebアプリケーションをサーバーシステム200に配置することによって、図5に示す本番環境を実現する手法が考えられる。この場合、Webブラウザー300がインストールされている任意の処理装置500において、電子機器100の実動作を確認しながらのWebアプリケーションの開発が可能である。即ち、Webアプリケーションの開発における制約が少なく、従来の開発手法を広く適用できる。例えば処理装置500は、広く用いられている種々のIDEを利用可能であるため、プログラムを1行ずつ実行することによって電子機器100の動作を逐一確認する等の柔軟な開発が容易である。なお、本実施形態の電子機器100はWebブラウザー300を内蔵するものに限定されず、図4に示すシステムが本番環境となることも妨げられない。
2.WebAPI
上述したように、本実施形態に係る電子機器100は、画像読取部141にスキャン処理を実行させるためのスキャン開始要求WebAPIを提供する。スキャン開始要求WebAPIは、所与のURL(Uniform Resource Locator)と関連付けられており、Webブラウザー300が当該URLに対して所定のパラメーターを指定してアクセスを行うことによって、スキャン処理が開始される。
上述したように、本実施形態に係る電子機器100は、画像読取部141にスキャン処理を実行させるためのスキャン開始要求WebAPIを提供する。スキャン開始要求WebAPIは、所与のURL(Uniform Resource Locator)と関連付けられており、Webブラウザー300が当該URLに対して所定のパラメーターを指定してアクセスを行うことによって、スキャン処理が開始される。
図6は、サーバーシステム200がWebブラウザー300に送信するHTMLデータの一部を例示する図である。図6の例では、B4に示すようにWebブラウザー300は「Scan」というボタンを含むシンプルなページを表示する。ユーザーがWebブラウザー300においてScanボタンを押下する操作を行った場合、B1に示すscan関数が実行される。
scan関数は、B2に示すように、HTTPのPOSTメソッドを用いた所与のURLに対するリクエストの初期化を行う。ここでのURLは、スキャン開始要求WebAPIに対応付けられたURLである。URLは、例えばB2に示すように、電子機器100のIPアドレスと、ディレクトリーやファイル名等を表す文字列から構成される。図6においては、電子機器100のIPアドレスが192.0.2.1である例を示している。図5に示すようにWebブラウザー300が電子機器100に含まれる場合、B2のURLに含まれるIPアドレスは、自身を表すIPアドレスである。ただし、URLは種々の変形実施が可能であり、例えばIPアドレスをドメイン名に置き換える等の変形実施が可能である。その後、scan関数は、B3に示すように、スキャンサイズ等のスキャン設定を指定するパラメーターを付してリクエストの送信を行う。‘xxx’の部分は、例えばXML(Extensible Markup Language)形式に準拠したテキストであって、スキャン項目と、各項目の設定値を対応付ける情報である。
電子機器100の処理部110は、Webブラウザー300からのリクエストを受信した場合、B3において指定された設定を用いたスキャン処理を、画像読取部141に実行させる。適切な場面において図6に示すHTMLデータをWebブラウザー300に送信するWebアプリケーションを実装することによって、サーバーシステム200から電子機器100のスキャン機能を利用することが可能になる。なお、図6はスキャン機能を利用するためのHTMLデータの一例であり、表示されるページの形式や、具体的なスクリプト言語の内容に種々の変形実施が可能であることは言うまでもない。
また、本実施形態に係る電子機器100は、印刷部142に印刷処理を実行させるための印刷要求WebAPIを提供する。印刷要求WebAPIは、スキャン開始要求WebAPIとは異なる所与のURLと関連付けられており、Webブラウザー300が当該URLに対して所定のパラメーターを指定してアクセスを行うことによって、印刷処理が開始される。例えば図6と同様に、サーバーシステム200からWebブラウザー300に送信されるHTMLデータに、印刷要求WebAPIに対応するURLに対してリクエストを送信するためのスクリプトが記載される。このようにすれば、サーバーシステム200から電子機器100の印刷機能を利用することが可能になる。
なお、印刷要求WebAPIは、印刷ジョブの作成指示、及び、当該印刷ジョブの実行に用いられる印刷データの送信の両方を行うWebAPIであってもよい。この場合、印刷要求WebAPIを呼び出すWebブラウザー300は、予めサーバーシステム200から印刷データを取得しておく必要がある。或いは印刷要求WebAPIは、印刷ジョブの作成を指示するWebAPIであり、印刷データの取得は電子機器100がサーバーシステム200に直接取得要求を送信することによって実現されてもよい。各処理の詳細については後述する。
また、電子機器100がWebAPIによって提供する機能は、スキャン機能及び印刷機能に限定されない。例えば電子機器100の通信部120は、Webブラウザー300の処理によって、電子機器100が提供する状態情報要求WebAPIが呼び出された場合、状態情報要求WebAPIの呼び出しに対する応答として、電子機器100の状態情報をWebブラウザー300へ返信する。具体的には、処理部110は電子機器100の状態情報を取得し、当該状態情報のWebブラウザー300への送信を通信部120に実行させる。
このようにすれば、Webブラウザー300によるWebAPIの呼び出しに対する応答として、電子機器100の状態情報をWebブラウザー300に返信することが可能になる。本実施形態の手法は、Webブラウザー300が標準的なブラウザーであることを想定している。そのため、Webブラウザー300は外部からの要求を受け付けることが難しい。
図3のA2に示す電子機器100からWebブラウザー300への通信は、例えば仮想キーボードドライバーを設けることによって実現される。電子機器100から何らかの要求を行った場合、Webブラウザー300は当該要求をキーボードの操作として認識する。ただし、複雑な情報、例えばXMLデータやJSON(JavaScript(JavaScriptは登録商標) Object Notation)データは文字数が非常に多い。そのため、仮想キーボードドライバーを用いてXMLデータ等を送信する場合、キー入力が文字数分だけ行われたとみなす制御が必要となり、煩雑である。また、A2に示す通信を仮想キーボードドライバー以外の手法により実現することも可能であるが、何らかの仕組みを用意する必要がある。
これに対して、図3のA1に示すWebブラウザー300から電子機器100への通信は、通常のHTTP又はHTTPSの通信であるため、A2の通信に比べて容易である。即ち、状態情報要求WebAPIを提供し、且つ、当該状態情報要求WebAPIをWebブラウザー300から呼び出させることによって、状態情報のWebブラウザー300への送信を容易に実現することが可能になる。状態情報をWebブラウザー300に送信することによって、Webブラウザー300での表示ページの更新が可能であるため、電子機器100の状態を適切にユーザーに報知することが可能になる。また、図3のA3に示すように、Webブラウザー300からサーバーシステム200への通信も容易であるため、電子機器100の状態情報をサーバーシステム200へ転送、蓄積することが可能になる。
3.処理の流れ
次に、認証処理、スキャン処理、印刷処理の詳細をそれぞれ説明する。
次に、認証処理、スキャン処理、印刷処理の詳細をそれぞれ説明する。
3.1 認証処理
図7は、ユーザー認証を行う認証処理を説明するシーケンス図である。即ち、この場合のサーバーシステム200は、Webブラウザー300との通信に基づいてユーザー認証を行う認証サーバーである。なお図7における実線の矢印は、能動的な要求送信を表し、破線の矢印は当該要求に対する応答を表す。図8以降のシーケンス図においても同様である。
図7は、ユーザー認証を行う認証処理を説明するシーケンス図である。即ち、この場合のサーバーシステム200は、Webブラウザー300との通信に基づいてユーザー認証を行う認証サーバーである。なお図7における実線の矢印は、能動的な要求送信を表し、破線の矢印は当該要求に対する応答を表す。図8以降のシーケンス図においても同様である。
この処理が開始されると、まずWebブラウザー300は、サーバーシステム200にログイン画面を要求する(S101)。S101は、具体的にはWebブラウザー300がログイン画面に対応する所与のURLを指定して取得要求をサーバーシステム200に送信する処理である。サーバーシステム200は、S101の要求に対する応答として、ログイン画面の情報を返信する(S102)。S102等のサーバーシステム200の応答とは、HTMLやスクリプトの応答である。Webブラウザー300は、S102で受信したHTML等のデータに基づいて、ユーザーに提示するためのログイン画面を表示する(S103)。ログイン画面は、例えば認証用のカードをカードリーダーに読み取らせる操作をユーザーに促す画面である。ただし、ログイン画面はこれに限定されない。例えばユーザー名とパスワードの組み合わせによって認証処理を行う場合、ログイン画面は、ユーザー名とパスワードの入力を促す画面であってもよい。
ユーザーは、表示されたログイン画面に基づいて、ログイン操作を行う。ログイン操作は、例えば認証カードのタッチ操作である(S104)。カードリーダーは、所与の接続インターフェースを用いて電子機器100に接続されている。電子機器100の処理部110は、カードリーダーが認証カードから読み取った認証情報を取得する。電子機器100は、ユーザーの認証情報の取得をトリガーとして、Webブラウザー300に状態変化を通知する(S105)。S105の通知は、例えば上述した仮想キーボードドライバーを用いて行われる。S105の通知は、状態変化が起きたことを通知するものであって、認証情報の内容までは通知しない。そのため、例えば仮想キーボードドライバーは、電子機器100からの通知を、エンターキーが1回押下される等のシンプルなキー操作としてWebブラウザー300に認識させる。
Webブラウザー300は、S105の通知に基づいて、状態情報要求WebAPIを呼び出すことによって、電子機器100に状態情報の取得を要求する(S106)。例えば、サーバーシステム200のWebアプリケーションには、エンターキーの押下というイベントが発生した場合に、状態情報要求WebAPIに対応するURLにアクセスする、という処理が実装されている。ここでの状態情報は、ユーザーの認証情報である。
電子機器100の通信部120は、状態情報要求WebAPIの呼び出しに対する応答として、認証情報をWebブラウザー300へ返信する。(S107)。上述したように、S107の処理は、ユーザーの認証情報を取得した場合に実行される処理である。このようにすれば、電子機器100が取得した認証情報を、WebAPIを利用してWebブラウザー300へ送信することが可能になる。
なお図7の例では、電子機器100の処理部110は、S105に示したように、電子機器100の状態変化を検出した場合に、Webブラウザー300に状態変化を通知する処理を行う。このようにすれば、電子機器100側から、WebAPIの呼び出しをWebブラウザー300に要求することが可能になる。電子機器100は、例えばユーザー操作を受け付けた場合に、状態変化を検出する。ユーザー操作は例えばS104に示すログイン操作であるがこれには限定されない。例えば電子機器100は、後述するように、所与のWebAPIに基づく処理が実行された場合に、状態変化を検出してもよい。具体的には電子機器100は、スキャン開始要求WebAPIに基づくスキャン処理の完了、或いは印刷要求WebAPIに基づく印刷処理の完了等を、状態変化として検出する。ただし電子機器100は、エラーの発生等の他の条件に基づいて状態変化を検出することは妨げられない。また変形例として後述するように、電子機器100からWebブラウザー300への状態変化の通知を省略してもよい。
Webブラウザー300は、S107において電子機器100から取得した認証情報に基づいて、サーバーシステム200にログイン要求を送信する(S108)。認証サーバーであるサーバーシステム200は、S108で取得した認証情報に基づくユーザー認証処理を行う。サーバーシステム200におけるユーザー認証処理については公知の手法を広く適用可能であるため、詳細な説明を省略する。ユーザーの認証が行われた場合、サーバーシステム200はWebブラウザー300に、ログイン完了画面を表示するための情報を返信する(S109)。Webブラウザー300は、サーバーシステム200から取得した情報に基づいて、ログイン完了画面を表示する(S110)。
図7に示したように、本実施形態の手法によれば、認証処理をサーバーシステム200のアプリケーションとして実現することが可能であり、電子機器100の機能拡張が容易である。さらに、電子機器100とサーバーシステム200の間のデータ送受信を、標準ブラウザーであるWebブラウザー300を経由することによって実現できる。図7に示す処理と、図8又は図9を用いて後述する処理を組み合わせることによって、認証スキャン処理が実現される。また図7に示す処理と、図10又は図11を用いて後述する処理を組み合わせることによって、認証印刷処理が実現される。
3.2 スキャン処理
次にスキャン処理について説明する。電子機器100からサーバーシステム200へのスキャンデータの送信は、直接行われてもよいし、Webブラウザー300を経由して行われてもよい。各処理について、図8、図9を用いて説明する。
次にスキャン処理について説明する。電子機器100からサーバーシステム200へのスキャンデータの送信は、直接行われてもよいし、Webブラウザー300を経由して行われてもよい。各処理について、図8、図9を用いて説明する。
図8は、スキャン処理を説明するシーケンス図である。図8に示す処理は、例えば図7に示す処理の後に実行される。この処理が開始されると、ユーザーはWebブラウザー300を用いてスキャン操作を行う(S201)。S201におけるスキャン操作は、例えば図6に示すHTMLデータに基づいてWebブラウザー300が表示する画面において、Scanボタンを押下する操作である。
Webブラウザー300は、スキャン操作に基づいて、電子機器100にスキャンを要求する(S202)。S202の処理は、図6のB2及びB3に示すように、スキャン開始要求WebAPIの呼び出しである。
電子機器100の処理部110は、スキャン開始要求WebAPIの呼び出しに基づいて画像読取部141にスキャン処理を実行させる。スキャン処理が完了することによってスキャンデータが取得された場合、電子機器100の通信部120は、スキャンデータをサーバーシステム200に直接送信する(S203)。図3のA4に示したように、電子機器100側からサーバーシステム200への通信は可能である。スキャンデータを直接サーバーシステム200に送信する場合、シンプルな通信制御によって、スキャンデータをサーバーシステム200に蓄積することが可能になる。なお、サーバーシステム200がスキャンデータの取得要求を受け付け、当該取得要求に対する応答としてスキャンデータを返信することによって、種々の装置においてスキャンデータを利用することが可能である。
なお、スキャン処理が正常に完了したか否か、或いはスキャン処理の対象となった原稿枚数は何枚であった等、スキャン結果に関する情報に対するユーザーの関心は高いと考えられる。そのため、サーバーシステム200へのスキャンデータの送信で処理を終了するのではなく、Webブラウザー300を用いてスキャン結果を提示する画面を表示することが望ましい。
よって電子機器100は、WebAPIに基づく処理が実行された場合、具体的には、スキャン開始要求WebAPIに基づくスキャン処理が完了した場合に、状態変化を検出したと判定する。電子機器100は、状態変化をWebブラウザー300に通知する(S204)。Webブラウザー300は、S204の通知に基づいて、状態情報要求WebAPIを呼び出すことによって、電子機器100に状態情報の取得を要求する(S205)。
電子機器100の通信部120は、状態情報要求WebAPIの呼び出しに対する応答として、状態情報をWebブラウザー300へ返信する(S206)。ここでの状態情報は、画像読取部141におけるスキャン枚数を表す情報である。このようにすれば、スキャン結果を表す状態情報を、WebAPIを用いてWebブラウザー300へ送信することが可能になる。例えば、Webブラウザー300は、スキャン枚数等のスキャン結果を表す情報の表示処理を行う。また、Webブラウザー300は、スキャン枚数等の情報を、サーバーシステム200に送信する(S207)。このようにすれば、画像データであるスキャンデータ以外の情報についても、サーバーシステム200に蓄積することが可能になる。スキャン枚数の情報は、例えば電子機器100の管理や、ユーザーへの課金処理に利用可能である。
また図9は、スキャン処理を説明する他のシーケンス図である。図9に示す処理は、例えば図7に示す処理の後に実行される。ユーザーによるスキャン操作(S301)、及びWebブラウザー300によるスキャン要求(S302)は、図8に示す処理と同様である。
図9の例では、電子機器100の通信部120は、スキャンデータを、Webブラウザー300を経由してサーバーシステム200に送信する。例えば、通信部120は、S302に示すスキャン開始要求WebAPIの呼び出しに対する応答として、Webブラウザー300にスキャン結果を送信する(S303)。Webブラウザー300は、受信したスキャンデータをサーバーシステム200に送信する(S304)。このようにすれば、Webブラウザー300を経由してスキャンデータをサーバーシステム200に送信することが可能になる。必要に応じて、スキャンデータのサムネイル画像を、Webブラウザー300において表示することも可能である。その際、電子機器100からWebブラウザー300へのスキャンデータの送信を、スキャン開始要求WebAPIの呼び出しに対する応答とすることによって、要求送信の回数を抑制することが可能である。
ただし、WebAPIの構成は種々の変形実施が可能である。例えば、スキャン開始要求WebAPIは、図8の例と同様に画像読取部141にスキャン処理を実行させるAPIであって、スキャンデータの返信は行わないものであってもよい。そして電子機器100は、スキャン開始要求WebAPIとは別に、スキャンデータ取得用のWebAPIであるスキャンデータ要求WebAPIを提供してもよい。この場合、スキャン開始要求WebAPIが呼び出された後に、Webブラウザー300の処理によって、電子機器100が提供するスキャンデータ要求WebAPIが呼び出される。電子機器100の通信部120は、スキャンデータ要求WebAPIの呼び出しに対する応答として、Webブラウザー300にスキャンデータを送信する。このようにすれば、スキャン処理の開始と、スキャンデータの取得とを、それぞれ異なるWebAPIの機能として提供することが可能になる。
なお、図9のS305〜S308は、図8のS204〜S207と同様であるため、詳細な説明は省略する。
3.3 印刷処理
次に印刷処理について説明する。印刷部142における印刷処理には、印刷画像データを含む印刷データが必要になる。印刷データは、例えばサーバーシステム200に蓄積されている。印刷データは、Webブラウザー300が電子機器100の印刷要求WebAPIを呼び出す際に、当該WebAPIのパラメーターとしてWebブラウザー300から送信されてもよい。或いは、印刷要求WebAPIは、印刷の指示を行うものであり、印刷データの送受信は、電子機器100とサーバーシステム200との間で行われてもよい。各処理について、図10、図11を用いて説明する。
次に印刷処理について説明する。印刷部142における印刷処理には、印刷画像データを含む印刷データが必要になる。印刷データは、例えばサーバーシステム200に蓄積されている。印刷データは、Webブラウザー300が電子機器100の印刷要求WebAPIを呼び出す際に、当該WebAPIのパラメーターとしてWebブラウザー300から送信されてもよい。或いは、印刷要求WebAPIは、印刷の指示を行うものであり、印刷データの送受信は、電子機器100とサーバーシステム200との間で行われてもよい。各処理について、図10、図11を用いて説明する。
図10は、印刷処理を説明するシーケンス図である。図10に示す処理は、例えば図7に示す処理の後に実行される。この処理が開始されると、ユーザーはWebブラウザー300に印刷操作を行う(S401)。印刷操作は、例えばWebブラウザー300が表示する画面において、印刷ボタンを押下する操作である。Webブラウザー300は、印刷操作に基づいて、電子機器100に印刷を要求する(S402)。S402の処理は、印刷要求WebAPIの呼び出しである。
そして電子機器100の通信部120は、印刷要求WebAPIに基づいて、印刷データの取得要求をサーバーシステム200へ送信する(S403)。そしてサーバーシステム200は、当該取得要求に対する応答として、印刷データを電子機器100に返信する(S404)。換言すれば、電子機器100の通信部120は、上記取得要求に対する応答として印刷データをサーバーシステム200から受信する。処理部110は、取得した印刷データを印刷部142に印刷させる。このようにすれば、電子機器100とサーバーシステム200との間で直接印刷データを送受信することが可能になる。
また電子機器100は、WebAPIに基づく処理が実行された場合、具体的には、印刷要求WebAPIに基づく印刷処理が完了した場合に、状態変化を検出したと判定する。電子機器100は、状態変化をWebブラウザー300に通知する(S405)。Webブラウザー300は、S405の通知に基づいて、状態情報要求WebAPIを呼び出すことによって、電子機器100に状態情報の取得を要求する(S406)。
電子機器100の通信部120は、状態情報要求WebAPIの呼び出しに対する応答として、状態情報をWebブラウザー300へ返信する(S407)。ここでの状態情報は、印刷部142における印刷枚数又は印刷ページ数を表す情報である。印刷枚数とは、印刷に使用された印刷媒体の枚数を表す。所与の印刷媒体における印刷が片面印刷であっても両面印刷であっても、印刷枚数のカウントにおいては当該印刷媒体は1枚としてカウントされる。印刷ページ数とは、印刷媒体の表面と裏面を区別する。即ち、1枚の印刷媒体であっても、片面印刷の場合は1ページであり、両面印刷の場合は2ページとなる。
このようにすれば、電子機器100における印刷結果を表す状態情報を、WebAPIを用いてWebブラウザー300へ送信することが可能になる。Webブラウザー300は、印刷枚数等の情報を、サーバーシステム200に送信する(S408)。スキャン結果の例と同様に、Webブラウザー300は、印刷枚数や印刷ページ数等の印刷結果の表示処理を行ってもよい。印刷枚数又は印刷ページ数の情報は、例えば電子機器100の管理や、ユーザーへの課金処理に利用可能である。例えばインクやトナーの消費を考慮して課金を行う場合、印刷ページ数を用いることが有用である。一方、印刷媒体自体が高価である場合には、印刷枚数を用いることによって適切な課金処理が可能になる。
また図11は、印刷処理を説明する他のシーケンス図である。図11に示す処理は、例えば図7に示す処理の後に実行される。ユーザーによる印刷操作(S501)が処理の起点となる点は、図10に示す処理と同様である。
図11の例では、Webブラウザー300は、印刷操作が行われた場合、印刷要求WebAPIの呼び出し前に、サーバーシステム200から印刷データを取得する。具体的には、Webブラウザー300は、サーバーシステム200に印刷データを要求する(S502)。サーバーシステム200は、S502の要求に対して、印刷データを応答として返信する(S503)。S502及びS503は、HPPT又はHTTPSのリクエスト及びレスポンスである。
そしてWebブラウザー300は、取得した印刷データをパラメーターとして、印刷要求WebAPIの呼び出しを行う。換言すれば、電子機器100の通信部120は、Webブラウザー300による印刷要求WebAPIの呼び出しの受け付けにおいて、Webブラウザー300がサーバーシステム200から取得した印刷データを、Webブラウザーから受信する。このようにすれば、電子機器100は、サーバーシステム200に蓄積された印刷データを、Webブラウザー300を経由することにって取得することが可能になる。電子機器100は、印刷要求WebAPIの呼び出しに基づいて、印刷部142に印刷データの印刷を実行させる。
なお、図11のS505〜S508は、図10のS405〜S408と同様であるため、詳細な説明は省略する。
4.変形例
以上では、電子機器100の状態情報をサーバーシステム200に送信する手法として、図8のS204〜S207に示す処理を説明した。具体的には、電子機器100側から状態変化をWebブラウザー300に通知することによって、Webブラウザー300に状態情報要求WebAPIの呼び出しを実行させる。ただし、状態情報をWebブラウザー300及びサーバーシステム200に送信する手法はこれに限定されない。
以上では、電子機器100の状態情報をサーバーシステム200に送信する手法として、図8のS204〜S207に示す処理を説明した。具体的には、電子機器100側から状態変化をWebブラウザー300に通知することによって、Webブラウザー300に状態情報要求WebAPIの呼び出しを実行させる。ただし、状態情報をWebブラウザー300及びサーバーシステム200に送信する手法はこれに限定されない。
例えば、Webブラウザー300は、定期的に状態情報要求WebAPIを呼び出してもよい。そして、認証情報等の取得等、状態変化が生じていている場合に、電子機器100は状態情報要求WebAPIの呼び出しに対する応答として、状態情報をWebブラウザー300に返信する。この場合、Webブラウザー300側から定期的にWebAPIの呼び出しを実行する必要が生じるが、図3のA2に示す電子機器100からWebブラウザー300への要求送信が不要である。そのため、仮想キーボードドライバー等を用いる必要がなく、実装が容易であるという利点がある。
或いは、図3のA4に示す通信が容易であることに着目して、電子機器100は状態変化が検出されたことをサーバーシステム200に通知してもよい。Webブラウザー300は、A3に示す通信を用いて、定期的にサーバーシステム200に対してロングポーリング要求又はポーリングを行う。サーバーシステム200は、状態変化の通知があった場合、ロングポーリング要求又はポーリングに対する応答として、状態変化が検出されたことをWebブラウザー300に通知する。このようにすれば、サーバーシステム200を介して電子機器100の状態変化をWebブラウザー300に通知できる。Webブラウザー300は、状態変化の通知に基づいて、状態情報要求WebAPIを呼び出す。
また、電子機器100の状態情報は、状態情報要求WebAPIの呼び出しに対する応答として送信されるものに限定されない。例えば、A2に示す通信を用いて、電子機器100からWebブラウザー300に、状態変化の具体的な内容まで送信してもよい。ただし、仮想キーボードドライバーの制御等を考慮すれば、複雑な状態情報の送信が容易でない点には留意すべきである。
或いは、電子機器100は、A4に示す通信を用いて、状態変化の具体的な内容をサーバーシステム200に送信してもよい。Webブラウザー300は、A3に示す通信を用いて、定期的にサーバーシステム200に対してロングポーリング要求又はポーリングを行う。サーバーシステム200は、状態変化に関する情報を電子機器100から受信した場合、ロングポーリング要求又はポーリングに対する応答として、当該状態変化に関する情報を、Webブラウザー300に送信する。このようにすれば、状態情報をサーバーシステム200に蓄積する処理をA4に示す通信を用いて実現できる。さらにA3に示す通信及びその応答を用いて、状態情報をWebブラウザー300に送信することも可能であるため、Webブラウザー300における状態情報の表示処理等も実現可能である。
以上のように、本実施形態の電子機器は、通信部と、通信部の制御を行う処理部と、画像読取部を含む。処理部は、サーバーシステムと通信可能なWebブラウザーの処理によって、電子機器が提供するスキャン開始要求WebAPIが呼び出された場合に、スキャン開始要求WebAPIに基づいて、画像読取部にスキャン処理を開始させる。そして処理部は、画像読取部によって取得されたスキャンデータのサーバーシステムへの送信を、通信部に実行させる。
このように、電子機器におけるスキャン処理によって取得されるスキャンデータをサーバーシステムに送信するシステムにおいて、電子機器のスキャン機能をWebAPIを用いてWebブラウザーから利用することが可能になる。即ち、サーバーシステムは、Webブラウザーを経由することによって、電子機器の制御を行うことが可能になり、電子機器の機能拡張が容易になる。また、WebAPIは広く用いられる標準ブラウザーにおいてサポートされているため、Webブラウザーを専用ブラウザーとする必要がない。そのため、ブラウザーの開発負担、及びサーバーシステム側のアプリケーションの開発負担の軽減が可能になる。
また通信部は、スキャンデータをサーバーシステムに直接送信してもよい。
このようにすれば、電子機器とサーバーシステムとの通信に基づいて、スキャンデータをサーバーシステムに蓄積することが可能になる。
また通信部は、スキャンデータを、Webブラウザーを経由して、サーバーシステムに送信してもよい。
このようにすれば、Webブラウザーを経由させることによって、スキャンデータをサーバーシステムに蓄積することが可能になる。
また通信部は、スキャン開始要求WebAPIの呼び出しに対する応答として、Webブラウザーにスキャンデータを送信してもよい。
このようにすれば、スキャン開始要求WebAPIに基づいて、スキャン処理の開始及びスキャンデータの送信が可能になる。
また通信部は、スキャン開始要求WebAPIが呼び出された後に、Webブラウザーによって、電子機器が提供するスキャンデータ要求WebAPIが呼び出された場合に、スキャンデータ要求WebAPIの呼び出しに対する応答として、Webブラウザーにスキャンデータを送信してもよい。
このようにすれば、スキャン開始要求WebAPIとは異なるスキャンデータ要求WebAPIに対する応答として、Webブラウザーにスキャンデータを送信することが可能になる。
また本実施形態の電子機器は、通信部と、通信部の制御を行う処理部と、印刷部を含む。処理部は、印刷データを蓄積するサーバーシステムと通信可能なWebブラウザーの処理によって、電子機器が提供する印刷要求WebAPIが呼び出された場合に、印刷要求WebAPIに基づいて、印刷部に印刷データの印刷処理を実行させる。
このように、電子機器における印刷処理に用いる印刷データをサーバーシステムが蓄積するシステムにおいて、電子機器の印刷機能をWebAPIを用いてWebブラウザーから利用することが可能になる。即ち、サーバーシステムは、Webブラウザーを経由することによって、電子機器の制御を行うことが可能になり、電子機器の機能拡張が容易になる。また、WebAPIは広く用いられる標準ブラウザーにおいてサポートされているため、Webブラウザーを専用ブラウザーとする必要がない。そのため、ブラウザーの開発負担、及びサーバーシステム側のアプリケーションの開発負担の軽減が可能になる。
また通信部は、Webブラウザーによる印刷要求WebAPIの呼び出しの受け付けにおいて、Webブラウザーがサーバーシステムから取得した印刷データを、Webブラウザーから受信してもよい。
このようにすれば、電子機器は、WebAPIの呼び出しにおけるパラメーターとして、印刷データを取得することが可能になる。
また通信部は、印刷要求WebAPIに基づいて、印刷データの取得要求をサーバーシステムへ送信した後、取得要求に対する応答として印刷データを受信してもよい。
このようにすれば、電子機器は、WebAPIの呼び出しをトリガーとして、サーバーシステムに印刷データを要求することが可能になる。
また通信部は、Webブラウザーの処理によって、電子機器が提供する状態情報要求WebAPIが呼び出された場合、状態情報要求WebAPIの呼び出しに対する応答として、電子機器の状態情報をWebブラウザーへ返信してもよい。
このようにすれば、電子機器の状態情報をWebブラウザーに送信することが可能になる。そのため、当該状態情報をWebブラウザーにおいて表示すること、当該状態情報をサーバーシステムに送信して蓄積すること等が可能になる。
また処理部は、電子機器の状態変化を検出した場合に、Webブラウザーに状態変化を通知する処理を行ってもよい。
このようにすれば、電子機器からの通知をトリガーとして、状態情報要求WebAPIの呼び出しを促すことが可能になる。
またサーバーシステムは、Webブラウザーとの通信に基づいてユーザー認証を行う認証サーバーであってもよい。電子機器の通信部は、ユーザーの認証情報を取得した場合に、状態情報要求WebAPIの呼び出しに対する応答として、認証情報をWebブラウザーへ返信してもよい。
このようにすれば、電子機器が取得したユーザーの認証情報を、Webブラウザーを経由して適切にサーバーシステムに送信することが可能になる。
また通信部は、Webブラウザーの処理によって、電子機器が提供する状態情報要求WebAPIが呼び出された場合に、状態情報要求WebAPIの呼び出しに対する応答として、電子機器の状態情報をWebブラウザーへ返信してもよい。ここでの状態情報は、画像読取部におけるスキャン枚数を表す情報である。
このようにすれば、スキャン枚数を表す情報をWebブラウザーへ送信すること、及びWebブラウザーを経由してサーバーシステムに蓄積することが可能になる。
また通信部は、Webブラウザーの処理によって、電子機器が提供する状態情報要求WebAPIが呼び出された場合に、状態情報要求WebAPIの呼び出しに対する応答として、電子機器の状態情報をWebブラウザーへ返信してもよい。ここでの状態情報は、印刷部における印刷枚数又は印刷ページ数を表す情報である。
このようにすれば、印刷枚数又は印刷ページ数を表す情報をWebブラウザーへ送信すること、及びWebブラウザーを経由してサーバーシステムに蓄積することが可能になる。
また処理部は、Webブラウザーの処理を実行してもよい。
このようにすれば、電子機器がWebブラウザーを含むことが可能になる。
また本実施形態の画像読取方法は、サーバーシステムと通信可能なWebブラウザーの処理によって、電子機器が提供するスキャン開始要求WebAPIを呼び出し、スキャン開始要求WebAPIに基づいて、電子機器の画像読取部によってスキャン処理を行い、画像読取部によって取得されたスキャンデータを、電子機器からサーバーシステムへ送信する。
また本実施形態の印刷処理方法は、印刷データを蓄積するサーバーシステムと通信可能なWebブラウザーの処理によって、電子機器が提供する印刷要求WebAPIを呼び出す。その後、印刷要求WebAPIの呼び出しにおいてWebブラウザーから電子機器へ印刷データを送信する処理、及び、印刷要求WebAPIの呼び出しに基づいて電子機器からサーバーシステムへ印刷データを要求する処理、のいずれか一方の処理によって、印刷データを電子機器に送信する。さらに、印刷要求WebAPIに基づいて、電子機器の印刷部に印刷データの印刷処理を実行させる。
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また本実施形態及び変形例の全ての組み合わせも、本発明の範囲に含まれる。また電子機器、処理システムの構成及び動作等も、本実施形態で説明したものに限定されず、種々の変形実施が可能である。
10…処理システム、100…電子機器、110…処理部、120…通信部、130…記憶部、141…画像読取部、142…印刷部、150…表示部、200…サーバーシステム、300…Webブラウザー、400…ルーター、500…処理装置、NW1…第1ネットワーク、NW2…第2ネットワーク
Claims (16)
- 通信部と、
前記通信部の制御を行う処理部と、
画像読取部と、
を含み、
前記処理部は、
サーバーシステムと通信可能なWebブラウザーの処理によって、電子機器が提供するスキャン開始要求WebAPI(Web Application Programming Interface)が呼び出された場合に、前記スキャン開始要求WebAPIに基づいて、前記画像読取部にスキャン処理を開始させ、
前記画像読取部によって取得されたスキャンデータの前記サーバーシステムへの送信を、前記通信部に実行させることを特徴とする電子機器。 - 請求項1に記載の電子機器において、
前記通信部は、
前記スキャンデータを前記サーバーシステムに直接送信することを特徴とする電子機器。 - 請求項1に記載の電子機器において、
前記通信部は、
前記スキャンデータを、前記Webブラウザーを経由して、前記サーバーシステムに送信することを特徴とする電子機器。 - 請求項3に記載の電子機器において、
前記通信部は、
前記スキャン開始要求WebAPIの呼び出しに対する応答として、前記Webブラウザーに前記スキャンデータを送信することを特徴とする電子機器。 - 請求項3に記載の電子機器において、
前記通信部は、
前記スキャン開始要求WebAPIが呼び出された後に、前記Webブラウザーの処理によって、前記電子機器が提供するスキャンデータ要求WebAPIが呼び出された場合に、前記スキャンデータ要求WebAPIの呼び出しに対する応答として、前記Webブラウザーに前記スキャンデータを送信することを特徴とする電子機器。 - 通信部と、
前記通信部の制御を行う処理部と、
印刷部と、
を含み、
前記処理部は、
印刷データを蓄積するサーバーシステムと通信可能なWebブラウザーの処理によって、電子機器が提供する印刷要求WebAPI(Web Application Programming Interface)が呼び出された場合に、前記印刷要求WebAPIに基づいて、前記印刷部に前記印刷データの印刷処理を実行させることを特徴とする電子機器。 - 請求項6に記載の電子機器において、
前記通信部は、
前記Webブラウザーによる前記印刷要求WebAPIの呼び出しの受け付けにおいて、前記Webブラウザーが前記サーバーシステムから取得した前記印刷データを、前記Webブラウザーから受信することを特徴とする電子機器。 - 請求項6に記載の電子機器において、
前記通信部は、
前記印刷要求WebAPIに基づいて、前記印刷データの取得要求を前記サーバーシステムへ送信した後、前記取得要求に対する応答として前記印刷データを受信することを特徴とする電子機器。 - 請求項1乃至8のいずれか一項に記載の電子機器において、
前記通信部は、
前記Webブラウザーの処理によって、前記電子機器が提供する状態情報要求WebAPIが呼び出された場合、前記状態情報要求WebAPIの呼び出しに対する応答として、前記電子機器の状態情報を前記Webブラウザーへ返信することを特徴とする電子機器。 - 請求項9に記載の電子機器において、
前記処理部は、
前記電子機器の状態変化を検出した場合に、前記Webブラウザーに状態変化を通知する処理を行うことを特徴とする電子機器。 - 請求項9に記載の電子機器において、
前記サーバーシステムは、前記Webブラウザーとの通信に基づいてユーザー認証を行う認証サーバーであり、
前記通信部は、
ユーザーの認証情報を取得した場合に、前記状態情報要求WebAPIの呼び出しに対する応答として、前記認証情報を前記Webブラウザーへ返信することを特徴とする電子機器。 - 請求項1乃至5のいずれか一項に記載の電子機器において、
前記通信部は、
前記Webブラウザーの処理によって、前記電子機器が提供する状態情報要求WebAPIが呼び出された場合に、前記状態情報要求WebAPIの呼び出しに対する応答として、前記電子機器の状態情報を前記Webブラウザーへ返信し、
前記状態情報は、前記画像読取部におけるスキャン枚数を表す情報であることを特徴とする電子機器。 - 請求項6乃至8のいずれか一項に記載の電子機器において、
前記通信部は、
前記Webブラウザーの処理によって、前記電子機器が提供する状態情報要求WebAPIが呼び出された場合に、前記状態情報要求WebAPIの呼び出しに対する応答として、前記電子機器の状態情報を前記Webブラウザーへ返信し、
前記状態情報は、前記印刷部における印刷枚数又は印刷ページ数を表す情報であることを特徴とする電子機器。 - 請求項1乃至13のいずれか一項に記載の電子機器において、
前記処理部は、
前記Webブラウザーの処理を実行することを特徴とする電子機器。 - サーバーシステムと通信可能なWebブラウザーの処理によって、電子機器が提供するスキャン開始要求WebAPI(Web Application Programming Interface)を呼び出し、
前記スキャン開始要求WebAPIに基づいて、前記電子機器の画像読取部によってスキャン処理を行い、
前記画像読取部によって取得されたスキャンデータを、前記電子機器から前記サーバーシステムへ送信する、
ことを特徴とする画像読取方法。 - 印刷データを蓄積するサーバーシステムと通信可能なWebブラウザーの処理によって、電子機器が提供する印刷要求WebAPIを呼び出し、
前記印刷要求WebAPIの呼び出しにおいて前記Webブラウザーから前記電子機器へ前記印刷データを送信する処理、及び、前記印刷要求WebAPIの呼び出しに基づいて前記電子機器から前記サーバーシステムへ前記印刷データを要求する処理、のいずれか一方の処理によって、前記印刷データを前記電子機器に送信し、
前記印刷要求WebAPIに基づいて、前記電子機器の印刷部に前記印刷データの印刷処理を実行させる、
ことを特徴とする印刷処理方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018219988A JP2020088593A (ja) | 2018-11-26 | 2018-11-26 | 電子機器、画像読取方法及び印刷処理方法 |
US16/691,034 US11113017B2 (en) | 2018-11-26 | 2019-11-21 | Electronic device, image reading method, and print processing method |
CN201911166232.3A CN111225119A (zh) | 2018-11-26 | 2019-11-25 | 电子设备、图像读取及印刷处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018219988A JP2020088593A (ja) | 2018-11-26 | 2018-11-26 | 電子機器、画像読取方法及び印刷処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020088593A true JP2020088593A (ja) | 2020-06-04 |
Family
ID=70769832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018219988A Pending JP2020088593A (ja) | 2018-11-26 | 2018-11-26 | 電子機器、画像読取方法及び印刷処理方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11113017B2 (ja) |
JP (1) | JP2020088593A (ja) |
CN (1) | CN111225119A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4254161A2 (en) | 2022-03-29 | 2023-10-04 | Seiko Epson Corporation | Print management system and recycled paper production method |
EP4254162A1 (en) | 2022-03-29 | 2023-10-04 | Seiko Epson Corporation | Print management system and print management method |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040143651A1 (en) * | 2003-01-21 | 2004-07-22 | Allen Kram H. | System and method for distributing configuration changes made to a printing device |
KR100629499B1 (ko) * | 2004-05-22 | 2006-09-28 | 삼성전자주식회사 | 인쇄시스템의 인쇄요금 과금방법 |
US7957021B2 (en) | 2005-05-20 | 2011-06-07 | Ricoh Company, Ltd. | Image handling apparatus, image processing system, image process controlling method, and image process controlling program product |
JP5761923B2 (ja) * | 2010-04-28 | 2015-08-12 | キヤノン株式会社 | 印刷システム、情報処理装置及びその方法 |
JP5732896B2 (ja) * | 2011-02-21 | 2015-06-10 | セイコーエプソン株式会社 | ネットワークシステムおよびネットワークシステムの制御方法 |
JP2012253514A (ja) * | 2011-06-01 | 2012-12-20 | Canon Inc | 画像入力システム、サーバ装置、サーバ装置の制御方法、及び制御プログラム |
JP5885410B2 (ja) * | 2011-06-29 | 2016-03-15 | キヤノン株式会社 | プルプリントシステム、プリントサーバおよびその制御方法、並びにプログラム |
JP2013088950A (ja) * | 2011-10-14 | 2013-05-13 | Canon Inc | 印刷システム及び印刷方法 |
JP5987656B2 (ja) * | 2012-03-19 | 2016-09-07 | 株式会社リコー | 情報処理システム、情報処理装置、情報処理方法、及び情報処理プログラム |
JP5962702B2 (ja) * | 2014-05-09 | 2016-08-03 | コニカミノルタ株式会社 | 画像形成装置、ウエブアプリケーションシステムおよびプログラム |
JP6265873B2 (ja) * | 2014-09-24 | 2018-01-24 | キヤノン株式会社 | モバイル端末とその制御方法、及びプログラム |
JP6365247B2 (ja) * | 2014-11-05 | 2018-08-01 | 株式会社リコー | 情報処理装置、情報処理システム、及び情報処理方法 |
US20170257510A1 (en) | 2016-03-04 | 2017-09-07 | Ricoh Company, Ltd. | Image forming apparatus, image forming system, and image forming method |
JP2017162169A (ja) * | 2016-03-09 | 2017-09-14 | 富士ゼロックス株式会社 | 情報処理装置及び情報処理プログラム |
US20180198930A1 (en) * | 2017-01-10 | 2018-07-12 | Ricoh Company, Ltd. | Input/output device and information processing system |
US10416940B2 (en) * | 2017-03-17 | 2019-09-17 | Ricoh Company, Ltd. | Image processing apparatus, image processing system, and image processing method for interpreting content obtained from a web browser and displaying a screen based on the interpreted content |
-
2018
- 2018-11-26 JP JP2018219988A patent/JP2020088593A/ja active Pending
-
2019
- 2019-11-21 US US16/691,034 patent/US11113017B2/en active Active
- 2019-11-25 CN CN201911166232.3A patent/CN111225119A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4254161A2 (en) | 2022-03-29 | 2023-10-04 | Seiko Epson Corporation | Print management system and recycled paper production method |
EP4254162A1 (en) | 2022-03-29 | 2023-10-04 | Seiko Epson Corporation | Print management system and print management method |
KR20230140412A (ko) | 2022-03-29 | 2023-10-06 | 세이코 엡슨 가부시키가이샤 | 인쇄 관리 시스템, 및 인쇄 관리 방법 |
KR20230140416A (ko) | 2022-03-29 | 2023-10-06 | 세이코 엡슨 가부시키가이샤 | 인쇄 관리 시스템, 및 재생지 생산 방법 |
US11914908B2 (en) | 2022-03-29 | 2024-02-27 | Seiko Epson Corporation | Print management system and print management method |
US12019925B2 (en) | 2022-03-29 | 2024-06-25 | Seiko Epson Corporation | Print management system and recycled paper production method |
Also Published As
Publication number | Publication date |
---|---|
CN111225119A (zh) | 2020-06-02 |
US11113017B2 (en) | 2021-09-07 |
US20200167111A1 (en) | 2020-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1501002B1 (en) | User authentication method and program, and image forming apparatus | |
US11778110B2 (en) | Image processing apparatus displaying a home screen in a fixed button mode in a state where acquisition of a recommended button information is unavailable | |
US10397426B2 (en) | Information processing system | |
CN103685811B (zh) | 电子设备、显示控制方法、以及网络系统 | |
US20100036796A1 (en) | Image forming apparatus, log storing method, and computer program product | |
US8873080B2 (en) | Image forming device generating screens for remote and local access, information processing method, and computer-readable recording medium | |
US10455101B2 (en) | Server, image processing unit, and non-transitory recording medium for displaying error screen | |
US20150281501A1 (en) | Image Forming System, Server, Image Forming Apparatus, and Image Forming Method That Ensure Simple Execution of Application | |
US20120133966A1 (en) | Image processing apparatus, control method thereof and storage medium | |
US11700345B2 (en) | Image processing apparatus, image processing method, and storage medium for displaying a function screen | |
CN101521715A (zh) | 图像处理装置、设定信息获取方法以及设定信息获取程序 | |
US11159697B2 (en) | Control apparatus, control method, and non-transitory computer-readable storage medium | |
JP5141743B2 (ja) | 画像処理装置 | |
US20200259971A1 (en) | Image processing apparatus, image processing system, image processing method, and storage medium | |
JP2020088593A (ja) | 電子機器、画像読取方法及び印刷処理方法 | |
US20070083629A1 (en) | Data processing system, data managing apparatus, and computer product | |
JP2012034277A (ja) | 画像処理システム、その制御方法およびプログラム | |
US20110128565A1 (en) | Image processing apparatus, control method of image processing apparatus, and recording medium | |
US20120019862A1 (en) | Image processing apparatus, control method of image processing apparatus, and program | |
JP4251958B2 (ja) | 画像形成装置、情報処理装置、情報処理方法、情報処理プログラム、及び記録媒体 | |
US9692931B2 (en) | Image processing apparatus and image processing apparatus control method | |
US20220038586A1 (en) | Image processing apparatus, control method, and medium | |
US20210240411A1 (en) | Printer and non-transitory computer-readable recording medium storing computer-readable instructions for printer | |
JP2015055951A (ja) | 情報処理システム及び情報処理方法 | |
CN103677794A (zh) | 多功能一体机和系统及其脚本控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD07 | Notification of extinguishment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7427 Effective date: 20200810 |