(57)【要約】【課題】  サーバーシステムから電子機器の管理を行うシステムにおいて、開発負担の軽減が可能な電子機器、画像読取方法及び印刷処理方法等の提供。【解決手段】  電子機器１００は、通信部１２０と、処理部１１０と、画像読取部１４１を含む。処理部１１０は、サーバーシステム２００と通信可能なＷｅｂブラウザー３００の処理によって、電子機器１００が提供するスキャン開始要求ＷｅｂＡＰＩが呼び出された場合に、画像読取部１４１にスキャン処理を開始させる。そして処理部１１０は、画像読取部１４１によって取得されたスキャンデータのサーバーシステム２００への送信を、通信部１２０に実行させる。【選択図】      図３
2020088593.tif 000002
【特許請求の範囲】
【請求項１】
通信部と、
前記通信部の制御を行う処理部と、
画像読取部と、
を含み、
前記処理部は、
サーバーシステムと通信可能なＷｅｂブラウザーの処理によって、電子機器が提供するスキャン開始要求ＷｅｂＡＰＩ（Web Application Programming Interface）が呼び出された場合に、前記スキャン開始要求ＷｅｂＡＰＩに基づいて、前記画像読取部にスキャン処理を開始させ、
前記画像読取部によって取得されたスキャンデータの前記サーバーシステムへの送信を、前記通信部に実行させることを特徴とする電子機器。
【請求項２】
請求項１に記載の電子機器において、
前記通信部は、
前記スキャンデータを前記サーバーシステムに直接送信することを特徴とする電子機器。
【請求項３】
請求項１に記載の電子機器において、
前記通信部は、
前記スキャンデータを、前記Ｗｅｂブラウザーを経由して、前記サーバーシステムに送信することを特徴とする電子機器。
【請求項４】
請求項３に記載の電子機器において、
前記通信部は、
前記スキャン開始要求ＷｅｂＡＰＩの呼び出しに対する応答として、前記Ｗｅｂブラウザーに前記スキャンデータを送信することを特徴とする電子機器。
【請求項５】
請求項３に記載の電子機器において、
前記通信部は、
前記スキャン開始要求ＷｅｂＡＰＩが呼び出された後に、前記Ｗｅｂブラウザーの処理によって、前記電子機器が提供するスキャンデータ要求ＷｅｂＡＰＩが呼び出された場合に、前記スキャンデータ要求ＷｅｂＡＰＩの呼び出しに対する応答として、前記Ｗｅｂブラウザーに前記スキャンデータを送信することを特徴とする電子機器。
【請求項６】
通信部と、
前記通信部の制御を行う処理部と、
印刷部と、
を含み、
前記処理部は、
印刷データを蓄積するサーバーシステムと通信可能なＷｅｂブラウザーの処理によって、電子機器が提供する印刷要求ＷｅｂＡＰＩ（Web Application Programming Interface）が呼び出された場合に、前記印刷要求ＷｅｂＡＰＩに基づいて、前記印刷部に前記印刷データの印刷処理を実行させることを特徴とする電子機器。
【請求項７】
請求項６に記載の電子機器において、
前記通信部は、
前記Ｗｅｂブラウザーによる前記印刷要求ＷｅｂＡＰＩの呼び出しの受け付けにおいて、前記Ｗｅｂブラウザーが前記サーバーシステムから取得した前記印刷データを、前記Ｗｅｂブラウザーから受信することを特徴とする電子機器。
【請求項８】
請求項６に記載の電子機器において、
前記通信部は、
前記印刷要求ＷｅｂＡＰＩに基づいて、前記印刷データの取得要求を前記サーバーシステムへ送信した後、前記取得要求に対する応答として前記印刷データを受信することを特徴とする電子機器。
【請求項９】
請求項１乃至８のいずれか一項に記載の電子機器において、
前記通信部は、
前記Ｗｅｂブラウザーの処理によって、前記電子機器が提供する状態情報要求ＷｅｂＡＰＩが呼び出された場合、前記状態情報要求ＷｅｂＡＰＩの呼び出しに対する応答として、前記電子機器の状態情報を前記Ｗｅｂブラウザーへ返信することを特徴とする電子機器。
【請求項１０】
請求項９に記載の電子機器において、
前記処理部は、
前記電子機器の状態変化を検出した場合に、前記Ｗｅｂブラウザーに状態変化を通知する処理を行うことを特徴とする電子機器。
【請求項１１】
請求項９に記載の電子機器において、
前記サーバーシステムは、前記Ｗｅｂブラウザーとの通信に基づいてユーザー認証を行う認証サーバーであり、
前記通信部は、
ユーザーの認証情報を取得した場合に、前記状態情報要求ＷｅｂＡＰＩの呼び出しに対する応答として、前記認証情報を前記Ｗｅｂブラウザーへ返信することを特徴とする電子機器。
【請求項１２】
請求項１乃至５のいずれか一項に記載の電子機器において、
前記通信部は、
前記Ｗｅｂブラウザーの処理によって、前記電子機器が提供する状態情報要求ＷｅｂＡＰＩが呼び出された場合に、前記状態情報要求ＷｅｂＡＰＩの呼び出しに対する応答として、前記電子機器の状態情報を前記Ｗｅｂブラウザーへ返信し、
前記状態情報は、前記画像読取部におけるスキャン枚数を表す情報であることを特徴とする電子機器。
【請求項１３】
請求項６乃至８のいずれか一項に記載の電子機器において、
前記通信部は、
前記Ｗｅｂブラウザーの処理によって、前記電子機器が提供する状態情報要求ＷｅｂＡＰＩが呼び出された場合に、前記状態情報要求ＷｅｂＡＰＩの呼び出しに対する応答として、前記電子機器の状態情報を前記Ｗｅｂブラウザーへ返信し、
前記状態情報は、前記印刷部における印刷枚数又は印刷ページ数を表す情報であることを特徴とする電子機器。
【請求項１４】
請求項１乃至１３のいずれか一項に記載の電子機器において、
前記処理部は、
前記Ｗｅｂブラウザーの処理を実行することを特徴とする電子機器。
【請求項１５】
サーバーシステムと通信可能なＷｅｂブラウザーの処理によって、電子機器が提供するスキャン開始要求ＷｅｂＡＰＩ（Web Application Programming Interface）を呼び出し、
前記スキャン開始要求ＷｅｂＡＰＩに基づいて、前記電子機器の画像読取部によってスキャン処理を行い、
前記画像読取部によって取得されたスキャンデータを、前記電子機器から前記サーバーシステムへ送信する、
ことを特徴とする画像読取方法。
【請求項１６】
印刷データを蓄積するサーバーシステムと通信可能なＷｅｂブラウザーの処理によって、電子機器が提供する印刷要求ＷｅｂＡＰＩを呼び出し、
前記印刷要求ＷｅｂＡＰＩの呼び出しにおいて前記Ｗｅｂブラウザーから前記電子機器へ前記印刷データを送信する処理、及び、前記印刷要求ＷｅｂＡＰＩの呼び出しに基づいて前記電子機器から前記サーバーシステムへ前記印刷データを要求する処理、のいずれか一方の処理によって、前記印刷データを前記電子機器に送信し、
前記印刷要求ＷｅｂＡＰＩに基づいて、前記電子機器の印刷部に前記印刷データの印刷処理を実行させる、
ことを特徴とする印刷処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器、画像読取方法及び印刷処理方法等に関する。
【背景技術】
【０００２】
従来、印刷機能、スキャン機能等の複数の機能を有する複合機（ＭＦＰ：Multifunction Peripheral）が広く知られている。例えば特許文献１には、サーバーシステム等の機器から、複合機の機能を利用する手法が開示されている。特許文献１における複合機のソフトウェアは、複合機のハードウェアを制御するために拡張されたスクリプトを解釈可能なブラウザーを含む。当該ブラウザーは、スクリプトを含むＨＴＭＬ（HyperText Markup Language）データを、Ｗｅｂアプリケーションが実装されたサーバーシステムから取得することによって、複合機のハードウェアを制御する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１５１８４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１の手法においては、複合機の機能を使用するためのスクリプト用ＡＰＩが、ブラウザーに設けられる。そのため、この機能を使用するＷｅｂアプリケーションを通常のブラウザーで動作させることができない。専用のブラウザーを用いるため、ブラウザーの開発負担が大きいという課題があった。
【課題を解決するための手段】
【０００５】
本発明の一態様は、通信部と、前記通信部の制御を行う処理部と、画像読取部と、を含み、前記処理部は、サーバーシステムと通信可能なＷｅｂブラウザーの処理によって、電子機器が提供するスキャン開始要求ＷｅｂＡＰＩ（Web Application Programming Interface）が呼び出された場合に、前記スキャン開始要求ＷｅｂＡＰＩに基づいて、前記画像読取部にスキャン処理を開始させ、前記画像読取部によって取得されたスキャンデータの前記サーバーシステムへの送信を、前記通信部に実行させる電子機器に関係する。
【図面の簡単な説明】
【０００６】
【図１】電子機器の構成例。
【図２】電子機器の他の構成例。
【図３】電子機器を含む処理システムの構成例。
【図４】Ｗｅｂブラウザーが外部機器に含まれる場合の処理システム構成例。
【図５】Ｗｅｂブラウザーが電子機器に含まれる場合の処理システム構成例。
【図６】ＷｅｂＡＰＩの呼び出しに関するＨＴＭＬデータの例。
【図７】認証処理を説明するシーケンス図。
【図８】スキャン処理を説明するシーケンス図。
【図９】スキャン処理を説明する他のシーケンス図。
【図１０】印刷処理を説明するシーケンス図。
【図１１】印刷処理を説明する他のシーケンス図。
【発明を実施するための形態】
【０００７】
以下、本発明の好適な実施の形態について詳細に説明する。なお以下に説明する本実施形態は特許請求の範囲に記載された本発明の内容を不当に限定するものではなく、本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
【０００８】
１．システム構成例
図１は、電子機器１００の構成例である。電子機器１００は、処理部１１０、通信部１２０、記憶部１３０、画像読取部１４１、表示部１５０を含む。即ち、図１は、スキャナーである電子機器１００の構成例である。ただし電子機器１００は図１の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【０００９】
処理部１１０は、電子機器１００の各部の制御を行う。例えば処理部１１０は、メインＣＰＵ（Central Processing Unit）、サブＣＰＵなどの複数のＣＰＵ、或いはＭＰＵ（Micro-processing unit）を含むことができる。メインＣＰＵは、電子機器１００の各部の制御や全体的な制御を行う。サブＣＰＵは、例えば画像読取についての各種の処理を行う。或いは通信処理のためのＣＰＵが更に設けられてもよい。
【００１０】
処理部１１０は、下記のハードウェアにより構成される。ハードウェアは、デジタル信号を処理する回路及びアナログ信号を処理する回路の少なくとも一方を含むことができる。例えば、ハードウェアは、回路基板に実装された１又は複数の回路装置や、１又は複数の回路素子で構成することができる。１又は複数の回路装置は例えばＩＣ等である。１又は複数の回路素子は例えば抵抗、キャパシター等である。
【００１１】
また処理部１１０は、下記のプロセッサーにより実現されてもよい。本実施形態の電子機器１００は、情報を記憶するメモリーと、メモリーに記憶された情報に基づいて動作するプロセッサーと、を含む。情報は、例えばプログラムと各種のデータ等である。プロセッサーは、ハードウェアを含む。プロセッサーは、ＣＰＵ、ＧＰＵ（Graphics Processing Unit）、ＤＳＰ（Digital Signal Processor）等、各種のプロセッサーを用いることが可能である。メモリーは、ＳＲＡＭ（Static Random Access Memory）、ＤＲＡＭ（Dynamic Random Access Memory）などの半導体メモリーであってもよいし、レジスターであってもよいし、ハードディスク装置（ＨＤＤ：Hard Disk Drive）等の磁気記憶装置であってもよいし、光学ディスク装置等の光学式記憶装置であってもよい。例えば、メモリーはコンピューターにより読み取り可能な命令を格納しており、当該命令がプロセッサーにより実行されることで、電子機器１００の各部の機能が処理として実現される。ここでの命令は、プログラムを構成する命令セットの命令でもよいし、プロセッサーのハードウェア回路に対して動作を指示する命令であってもよい。
【００１２】
通信部１２０は、ネットワークを介して、サーバーシステム２００を含む他の装置との通信を行う。ここでのネットワークは、図３において第１ネットワークＮＷ１、第２ネットワークＮＷ２として後述するように、ＷＡＮ（Wide Area Network）やＬＡＮ（Local Area Network）などにより実現することができ、有線・無線を問わない。通信部１２０は、具体的には有線通信又は無線通信を行うチップやモジュールである。なお、図５を用いて後述する処理システム１０において、電子機器１００に実装されたＷｅｂブラウザー３００が自身を対象としたアクセスを行った場合に、電子機器１００の通信部１２０は、当該アクセスの受け付け等を行う。即ち、通信部１２０は、所与の通信プロトコルに従った通信を電子機器１００の内部において実行してもよく、第１ネットワークＮＷ１等のネットワークを介した通信を行うものに限定されない。
【００１３】
記憶部１３０は、データやプログラムなどの各種の情報を記憶する。処理部１１０や通信部１２０は例えば記憶部１３０をワーク領域として動作する。記憶部１３０は、半導体メモリーであってもよいし、レジスターであってもよいし、磁気記憶装置であってもよいし、光学式記憶装置であってもよい。
【００１４】
画像読取部１４１は、載置面に載置された複数枚の原稿を、搬送経路に沿って１枚ずつ搬送する搬送機構を含む。搬送機構は、例えば原稿を搬送するための搬送ローラー対を含む。搬送ローラー対は、例えば駆動ローラーと従動ローラーとにより構成される。また画像読取部１４１は、光源と画像センサーを含む。光源は、例えばＬＥＤ（light emitting diode）や蛍光ランプなどにより構成される。画像センサーは、光源から射出された光が原稿等の読み取り対象で反射した反射光を受光し、受光した光を電気信号に変換して受光量に応じた値の画素信号を出力する。画像センサーは、例えばリニアイメージセンサーである。なお、画像読取部１４１の具体的構成はここで例示したものに限られず、種々の変形実施が可能である。
【００１５】
表示部１５０は、各種情報をユーザーに表示するディスプレイ等で構成される。表示部１５０は、例えばタッチパネルであり、ユーザーからの入力操作を受け付ける操作インターフェースを兼ねてもよい。
【００１６】
図２は、電子機器１００の他の構成例である。電子機器１００は、処理部１１０、通信部１２０、記憶部１３０、印刷部１４２、表示部１５０を含む。即ち、図２は、印刷装置である電子機器１００の構成例である。ただし電子機器１００は図２の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。なお、通信部１２０、記憶部１３０、表示部１５０は図１と同様であるため詳細な説明を省略する。また処理部１１０は、印刷に関する制御を行う点を除いて図１と同様であるため、詳細な説明を省略する。
【００１７】
印刷部１４２は、印刷エンジンを含む。印刷エンジンとは、印刷媒体への画像の印刷を実行する機械的構成である。印刷エンジンは、例えば搬送機構やインクジェット方式の吐出ヘッド、当該吐出ヘッドを含むキャリッジの駆動機構等を含む。印刷エンジンは、搬送機構により搬送される印刷媒体に対して、吐出ヘッドからインクを吐出することによって、印刷媒体に画像を印刷する。印刷媒体は、紙や布等、種々の媒体を利用できる。なお、印刷エンジンの具体的構成はここで例示したものに限られず、電子写真方式でトナーにより印刷するものでもよい。
【００１８】
図１及び図２に示したように、電子機器１００は、スキャナーであってもよいし、プリンターであってもよい。或いは電子機器１００は、複数の機能を有する複合機であってもよい。複合機は、印刷機能、スキャン機能の他に、ファクシミリ機能やコピー機能等を含むことが可能である。
【００１９】
図３は、本実施形態に係る電子機器１００を含む処理システム１０の構成例である。処理システム１０は、電子機器１００、サーバーシステム２００、Ｗｅｂブラウザー３００、ルーター４００を含む。なお、図４及び図５を用いて後述するように、Ｗｅｂブラウザー３００が実装される機器は種々の変形実施が可能であり、電子機器１００がＷｅｂブラウザー３００を含むことも妨げられない。
【００２０】
電子機器１００及びＷｅｂブラウザー３００は、第１ネットワークＮＷ１に接続される。第１ネットワークＮＷ１は、例えばＬＡＮ（Local Area Network）である。第１ネットワークＮＷ１は、具体的にはイントラネットであってもよい。サーバーシステム２００は、第２ネットワークＮＷ２に接続される。第２ネットワークＮＷ２は、インターネット等の公衆通信網である。第１ネットワークＮＷ１と第２ネットワークＮＷ２の間には、ルーター４００が設けられる。
【００２１】
サーバーシステム２００から、電子機器１００のハードウェアを制御する手法が広く知られている。図１に示す電子機器１００であれば、サーバーシステム２００は、電子機器１００の画像読取部１４１を制御することによってスキャン機能を利用する。図２に示す電子機器１００であれば、サーバーシステム２００は、印刷部１４２を制御することによって印刷機能を利用する。
【００２２】
サーバーシステム２００を用いない場合、電子機器１００の機能拡張には、電子機器１００のファームウェアの更新等が必要になるため、開発及び保守の負担が大きい。これに対して、追加機能をサーバーシステム２００のアプリケーションとして実装することによって、電子機器１００の機能拡張が容易になる。サーバーシステム２００のアプリケーションとは例えばＷｅｂアプリケーションである。拡張される機能は、例えば図７を用いて後述するユーザー認証機能である。このようにすれば、電子機器１００側の更新処理を抑制しつつ、認証スキャン又は認証印刷を実現することが可能になる。
【００２３】
ただし、本実施形態で想定するサーバーシステム２００は、図３に示すように、電子機器１００が接続される第１ネットワークＮＷ１とは異なる第２ネットワークＮＷ２に接続される。企業においては、外部からのネットワーク経由での攻撃による機密情報や個人情報の漏えいを防ぐため、ファイアーウォールを設置していることが多い。ファイアーウォールは、社内イントラネットへの社外インターネットからのアクセスを制御する。例えば、社内イントラネットから社外インターネットへのアクセスはＨＴＴＰ（Hypertext Transfer Protocol）とＨＴＴＰＳ（Hypertext Transfer Protocol Secure）のみを許可し、社外インターネットから社内イントラネットへは全アクセスをブロックする。ＨＴＴＰによるアクセスとは、具体的には８０番ポートを利用したアクセスであり、ＨＴＴＰＳによるアクセスとは、４４３番ポートを用いたアクセスである。つまり、イントラネット内の機器からインターネット上のサーバーシステムへアクセスすることは出来るが、インターネット上のサーバーシステムによるイントラネット内の機器へのアクセスはファイアーウォールにより遮断されている。
【００２４】
図３の例においては、Ａ４に示す電子機器１００からサーバーシステム２００へのアクセス、及び当該アクセスに対する応答は可能である。しかし、サーバーシステム２００から電子機器１００への能動的なアクセスは、ルーター４００に設けられるファイアーウォールによって遮断されてしまう。サーバーシステム２００が第１ネットワークＮＷ１に接続される態様であれば、サーバーシステム２００から電子機器１００へのアクセスが可能である。そのため、ＰＣ（Personal Computer）からプリンターへ印刷を指示する際に用いられる一般的な制御手法と同様の手法によって、サーバーシステム２００から電子機器１００の印刷機能を利用することが可能である。同様に、サーバーシステム２００が第１ネットワークＮＷ１に接続される態様であれば、サーバーシステム２００から電子機器１００のスキャン機能を利用することも容易である。しかし、本実施形態の手法においては、そのような広く用いられる制御手法をそのまま適用することが難しい。
【００２５】
よって本実施形態の手法では、Ａ１に示す電子機器１００への通信、及びＡ３に示すサーバーシステム２００への通信が可能なＷｅｂブラウザー３００を利用する。即ち、サーバーシステム２００からＷｅｂブラウザー３００を経由する態様によって、電子機器１００のハードウェアを制御する。
【００２６】
ブラウザーを用いて複合機を制御する手法は、例えば特許文献１に開示されている。しかし特許文献１の手法は、複合機の機能を使用するためのスクリプト用ＡＰＩが設けられている。換言すれば、特許文献１におけるブラウザーのプログラムは、複合機のプログラムを直接動作させるように作り込まれている。そのため、特許文献１の手法は、標準スクリプトに対応する標準ブラウザーを用いることができず、拡張スクリプトに対応可能な専用ブラウザーを用いなくてはならない。そのため、専用ブラウザーの開発負担が大きい。
【００２７】
また、専用ブラウザーを用いることによって、サーバー側の開発、即ちＷｅｂアプリケーションの開発負担も大きくなる。なぜなら、特許文献１の専用ブラウザーは、上記のように複合機のプログラムを動作させるものである。そのため、Ｗｅｂアプリケーションに基づく複合機の実動作を確認するためには、当該専用ブラウザーが複合機に搭載された環境を用意する必要がある。また専用ブラウザーの動作は複合機のファームウェアと密接に結合しているため、デバッグにおいて複合機専用のデバッグソフトウェアを用いる必要が生じる場合もある。Ｗｅｂアプリケーションの開発は複合機メーカー以外の業者が行うこともあるため、開発者がデバッグソフトウェアを入手できないケースも多いと想定される。この場合、プログラムの実行を逐一停止しながら複合機の動作を確認する、といった手順を用いることが難しく、Ｗｅｂアプリケーションの効率的な開発が容易でない。
【００２８】
このような従来手法に対して、本実施形態に係る電子機器１００は、図１に示したように、通信部１２０と、通信部１２０の制御を行う処理部１１０と、画像読取部１４１を含む。そして処理部１１０は、サーバーシステム２００と通信可能なＷｅｂブラウザー３００の処理によって、電子機器１００が提供するスキャン開始要求ＷｅｂＡＰＩが呼び出された場合に、スキャン開始要求ＷｅｂＡＰＩに基づいて、画像読取部１４１にスキャン処理を開始させる。そして処理部１１０は、画像読取部１４１によって取得されたスキャンデータのサーバーシステム２００への送信を、通信部１２０に実行させる。スキャンデータとは、スキャン処理の結果として取得される画像データである。
【００２９】
或いは、本実施形態に係る電子機器１００は、図２に示したように、通信部１２０と、通信部１２０の制御を行う処理部１１０と、印刷部１４２を含む。そして処理部１１０は、印刷データを蓄積するサーバーシステム２００と通信可能なＷｅｂブラウザー３００の処理によって、電子機器１００が提供する印刷要求ＷｅｂＡＰＩが呼び出された場合に、印刷要求ＷｅｂＡＰＩに基づいて、印刷部１４２に印刷データの印刷処理を実行させる。ここでの印刷データとは、印刷対象の画像である印刷画像データを含む。また印刷データは、印刷設定情報等の画像以外の情報を含んでもよい。また、サーバーシステム２００は、自身が蓄積する印刷データの送信時に、当該印刷データに対して何らかの変換処理を行ってもよく、本実施形態における印刷データは、変換処理後のデータを含むものとする。
【００３０】
このように、本実施形態の手法は、電子機器１００のスキャン機能や印刷機能を利用するためのＷｅｂＡＰＩを、当該電子機器１００に設ける。ＷｅｂＡＰＩとは、ＨＴＴＰ又はＨＴＴＰＳベースの機能呼び出し用のインターフェースである。このようにすれば、電子機器１００が設けられる第１ネットワークＮＷ１とは異なる第２ネットワークＮＷ２に設けられるサーバーシステム２００から、ブラウザー経由でスキャン又は印刷の管理を行うことが可能になる。ＷｅｂＡＰＩは広く用いられる標準ブラウザーでサポートされているため、専用ブラウザーを用いる必要がないという利点がある。標準ブラウザーは、電子機器１００と密接に結合するものではない。そのため、本実施形態におけるＷｅｂブラウザー３００は、電子機器１００に実装されることが必須とならない。
【００３１】
図４及び図５は、Ｗｅｂブラウザー３００が実装される機器の具体例を示す図である。図４に示すように、Ｗｅｂブラウザー３００は、電子機器１００と異なる機器である処理装置５００に含まれてもよい。処理装置５００は任意の機器であり、例えばＰＣである。或いは、図５に示すように、Ｗｅｂブラウザー３００は、電子機器１００に含まれてもよい。即ち、電子機器１００の処理部１１０は、ＷｅｂＡＰＩを呼び出すというＷｅｂブラウザー３００の処理を実行してもよい。
【００３２】
例えば、図４の処理装置５００に統合開発環境（ＩＤＥ：Integrated Development Environment）等を導入することによってＷｅｂアプリケーションの開発を行った後、生成物であるＷｅｂアプリケーションをサーバーシステム２００に配置することによって、図５に示す本番環境を実現する手法が考えられる。この場合、Ｗｅｂブラウザー３００がインストールされている任意の処理装置５００において、電子機器１００の実動作を確認しながらのＷｅｂアプリケーションの開発が可能である。即ち、Ｗｅｂアプリケーションの開発における制約が少なく、従来の開発手法を広く適用できる。例えば処理装置５００は、広く用いられている種々のＩＤＥを利用可能であるため、プログラムを１行ずつ実行することによって電子機器１００の動作を逐一確認する等の柔軟な開発が容易である。なお、本実施形態の電子機器１００はＷｅｂブラウザー３００を内蔵するものに限定されず、図４に示すシステムが本番環境となることも妨げられない。
【００３３】
２．ＷｅｂＡＰＩ
上述したように、本実施形態に係る電子機器１００は、画像読取部１４１にスキャン処理を実行させるためのスキャン開始要求ＷｅｂＡＰＩを提供する。スキャン開始要求ＷｅｂＡＰＩは、所与のＵＲＬ（Uniform Resource Locator）と関連付けられており、Ｗｅｂブラウザー３００が当該ＵＲＬに対して所定のパラメーターを指定してアクセスを行うことによって、スキャン処理が開始される。
【００３４】
図６は、サーバーシステム２００がＷｅｂブラウザー３００に送信するＨＴＭＬデータの一部を例示する図である。図６の例では、Ｂ４に示すようにＷｅｂブラウザー３００は「Ｓｃａｎ」というボタンを含むシンプルなページを表示する。ユーザーがＷｅｂブラウザー３００においてＳｃａｎボタンを押下する操作を行った場合、Ｂ１に示すｓｃａｎ関数が実行される。
【００３５】
ｓｃａｎ関数は、Ｂ２に示すように、ＨＴＴＰのＰＯＳＴメソッドを用いた所与のＵＲＬに対するリクエストの初期化を行う。ここでのＵＲＬは、スキャン開始要求ＷｅｂＡＰＩに対応付けられたＵＲＬである。ＵＲＬは、例えばＢ２に示すように、電子機器１００のＩＰアドレスと、ディレクトリーやファイル名等を表す文字列から構成される。図６においては、電子機器１００のＩＰアドレスが１９２．０．２．１である例を示している。図５に示すようにＷｅｂブラウザー３００が電子機器１００に含まれる場合、Ｂ２のＵＲＬに含まれるＩＰアドレスは、自身を表すＩＰアドレスである。ただし、ＵＲＬは種々の変形実施が可能であり、例えばＩＰアドレスをドメイン名に置き換える等の変形実施が可能である。その後、ｓｃａｎ関数は、Ｂ３に示すように、スキャンサイズ等のスキャン設定を指定するパラメーターを付してリクエストの送信を行う。‘ｘｘｘ’の部分は、例えばＸＭＬ（Extensible Markup Language）形式に準拠したテキストであって、スキャン項目と、各項目の設定値を対応付ける情報である。
【００３６】
電子機器１００の処理部１１０は、Ｗｅｂブラウザー３００からのリクエストを受信した場合、Ｂ３において指定された設定を用いたスキャン処理を、画像読取部１４１に実行させる。適切な場面において図６に示すＨＴＭＬデータをＷｅｂブラウザー３００に送信するＷｅｂアプリケーションを実装することによって、サーバーシステム２００から電子機器１００のスキャン機能を利用することが可能になる。なお、図６はスキャン機能を利用するためのＨＴＭＬデータの一例であり、表示されるページの形式や、具体的なスクリプト言語の内容に種々の変形実施が可能であることは言うまでもない。
【００３７】
また、本実施形態に係る電子機器１００は、印刷部１４２に印刷処理を実行させるための印刷要求ＷｅｂＡＰＩを提供する。印刷要求ＷｅｂＡＰＩは、スキャン開始要求ＷｅｂＡＰＩとは異なる所与のＵＲＬと関連付けられており、Ｗｅｂブラウザー３００が当該ＵＲＬに対して所定のパラメーターを指定してアクセスを行うことによって、印刷処理が開始される。例えば図６と同様に、サーバーシステム２００からＷｅｂブラウザー３００に送信されるＨＴＭＬデータに、印刷要求ＷｅｂＡＰＩに対応するＵＲＬに対してリクエストを送信するためのスクリプトが記載される。このようにすれば、サーバーシステム２００から電子機器１００の印刷機能を利用することが可能になる。
【００３８】
なお、印刷要求ＷｅｂＡＰＩは、印刷ジョブの作成指示、及び、当該印刷ジョブの実行に用いられる印刷データの送信の両方を行うＷｅｂＡＰＩであってもよい。この場合、印刷要求ＷｅｂＡＰＩを呼び出すＷｅｂブラウザー３００は、予めサーバーシステム２００から印刷データを取得しておく必要がある。或いは印刷要求ＷｅｂＡＰＩは、印刷ジョブの作成を指示するＷｅｂＡＰＩであり、印刷データの取得は電子機器１００がサーバーシステム２００に直接取得要求を送信することによって実現されてもよい。各処理の詳細については後述する。
【００３９】
また、電子機器１００がＷｅｂＡＰＩによって提供する機能は、スキャン機能及び印刷機能に限定されない。例えば電子機器１００の通信部１２０は、Ｗｅｂブラウザー３００の処理によって、電子機器１００が提供する状態情報要求ＷｅｂＡＰＩが呼び出された場合、状態情報要求ＷｅｂＡＰＩの呼び出しに対する応答として、電子機器１００の状態情報をＷｅｂブラウザー３００へ返信する。具体的には、処理部１１０は電子機器１００の状態情報を取得し、当該状態情報のＷｅｂブラウザー３００への送信を通信部１２０に実行させる。
【００４０】
このようにすれば、Ｗｅｂブラウザー３００によるＷｅｂＡＰＩの呼び出しに対する応答として、電子機器１００の状態情報をＷｅｂブラウザー３００に返信することが可能になる。本実施形態の手法は、Ｗｅｂブラウザー３００が標準的なブラウザーであることを想定している。そのため、Ｗｅｂブラウザー３００は外部からの要求を受け付けることが難しい。
【００４１】
図３のＡ２に示す電子機器１００からＷｅｂブラウザー３００への通信は、例えば仮想キーボードドライバーを設けることによって実現される。電子機器１００から何らかの要求を行った場合、Ｗｅｂブラウザー３００は当該要求をキーボードの操作として認識する。ただし、複雑な情報、例えばＸＭＬデータやＪＳＯＮ（JavaScript（JavaScriptは登録商標） Object Notation）データは文字数が非常に多い。そのため、仮想キーボードドライバーを用いてＸＭＬデータ等を送信する場合、キー入力が文字数分だけ行われたとみなす制御が必要となり、煩雑である。また、Ａ２に示す通信を仮想キーボードドライバー以外の手法により実現することも可能であるが、何らかの仕組みを用意する必要がある。
【００４２】
これに対して、図３のＡ１に示すＷｅｂブラウザー３００から電子機器１００への通信は、通常のＨＴＴＰ又はＨＴＴＰＳの通信であるため、Ａ２の通信に比べて容易である。即ち、状態情報要求ＷｅｂＡＰＩを提供し、且つ、当該状態情報要求ＷｅｂＡＰＩをＷｅｂブラウザー３００から呼び出させることによって、状態情報のＷｅｂブラウザー３００への送信を容易に実現することが可能になる。状態情報をＷｅｂブラウザー３００に送信することによって、Ｗｅｂブラウザー３００での表示ページの更新が可能であるため、電子機器１００の状態を適切にユーザーに報知することが可能になる。また、図３のＡ３に示すように、Ｗｅｂブラウザー３００からサーバーシステム２００への通信も容易であるため、電子機器１００の状態情報をサーバーシステム２００へ転送、蓄積することが可能になる。
【００４３】
３．処理の流れ
次に、認証処理、スキャン処理、印刷処理の詳細をそれぞれ説明する。
【００４４】
３．１  認証処理
図７は、ユーザー認証を行う認証処理を説明するシーケンス図である。即ち、この場合のサーバーシステム２００は、Ｗｅｂブラウザー３００との通信に基づいてユーザー認証を行う認証サーバーである。なお図７における実線の矢印は、能動的な要求送信を表し、破線の矢印は当該要求に対する応答を表す。図８以降のシーケンス図においても同様である。
【００４５】
この処理が開始されると、まずＷｅｂブラウザー３００は、サーバーシステム２００にログイン画面を要求する（Ｓ１０１）。Ｓ１０１は、具体的にはＷｅｂブラウザー３００がログイン画面に対応する所与のＵＲＬを指定して取得要求をサーバーシステム２００に送信する処理である。サーバーシステム２００は、Ｓ１０１の要求に対する応答として、ログイン画面の情報を返信する（Ｓ１０２）。Ｓ１０２等のサーバーシステム２００の応答とは、ＨＴＭＬやスクリプトの応答である。Ｗｅｂブラウザー３００は、Ｓ１０２で受信したＨＴＭＬ等のデータに基づいて、ユーザーに提示するためのログイン画面を表示する（Ｓ１０３）。ログイン画面は、例えば認証用のカードをカードリーダーに読み取らせる操作をユーザーに促す画面である。ただし、ログイン画面はこれに限定されない。例えばユーザー名とパスワードの組み合わせによって認証処理を行う場合、ログイン画面は、ユーザー名とパスワードの入力を促す画面であってもよい。
【００４６】
ユーザーは、表示されたログイン画面に基づいて、ログイン操作を行う。ログイン操作は、例えば認証カードのタッチ操作である（Ｓ１０４）。カードリーダーは、所与の接続インターフェースを用いて電子機器１００に接続されている。電子機器１００の処理部１１０は、カードリーダーが認証カードから読み取った認証情報を取得する。電子機器１００は、ユーザーの認証情報の取得をトリガーとして、Ｗｅｂブラウザー３００に状態変化を通知する（Ｓ１０５）。Ｓ１０５の通知は、例えば上述した仮想キーボードドライバーを用いて行われる。Ｓ１０５の通知は、状態変化が起きたことを通知するものであって、認証情報の内容までは通知しない。そのため、例えば仮想キーボードドライバーは、電子機器１００からの通知を、エンターキーが１回押下される等のシンプルなキー操作としてＷｅｂブラウザー３００に認識させる。
【００４７】
Ｗｅｂブラウザー３００は、Ｓ１０５の通知に基づいて、状態情報要求ＷｅｂＡＰＩを呼び出すことによって、電子機器１００に状態情報の取得を要求する（Ｓ１０６）。例えば、サーバーシステム２００のＷｅｂアプリケーションには、エンターキーの押下というイベントが発生した場合に、状態情報要求ＷｅｂＡＰＩに対応するＵＲＬにアクセスする、という処理が実装されている。ここでの状態情報は、ユーザーの認証情報である。
【００４８】
電子機器１００の通信部１２０は、状態情報要求ＷｅｂＡＰＩの呼び出しに対する応答として、認証情報をＷｅｂブラウザー３００へ返信する。（Ｓ１０７）。上述したように、Ｓ１０７の処理は、ユーザーの認証情報を取得した場合に実行される処理である。このようにすれば、電子機器１００が取得した認証情報を、ＷｅｂＡＰＩを利用してＷｅｂブラウザー３００へ送信することが可能になる。
【００４９】
なお図７の例では、電子機器１００の処理部１１０は、Ｓ１０５に示したように、電子機器１００の状態変化を検出した場合に、Ｗｅｂブラウザー３００に状態変化を通知する処理を行う。このようにすれば、電子機器１００側から、ＷｅｂＡＰＩの呼び出しをＷｅｂブラウザー３００に要求することが可能になる。電子機器１００は、例えばユーザー操作を受け付けた場合に、状態変化を検出する。ユーザー操作は例えばＳ１０４に示すログイン操作であるがこれには限定されない。例えば電子機器１００は、後述するように、所与のＷｅｂＡＰＩに基づく処理が実行された場合に、状態変化を検出してもよい。具体的には電子機器１００は、スキャン開始要求ＷｅｂＡＰＩに基づくスキャン処理の完了、或いは印刷要求ＷｅｂＡＰＩに基づく印刷処理の完了等を、状態変化として検出する。ただし電子機器１００は、エラーの発生等の他の条件に基づいて状態変化を検出することは妨げられない。また変形例として後述するように、電子機器１００からＷｅｂブラウザー３００への状態変化の通知を省略してもよい。
【００５０】
Ｗｅｂブラウザー３００は、Ｓ１０７において電子機器１００から取得した認証情報に基づいて、サーバーシステム２００にログイン要求を送信する（Ｓ１０８）。認証サーバーであるサーバーシステム２００は、Ｓ１０８で取得した認証情報に基づくユーザー認証処理を行う。サーバーシステム２００におけるユーザー認証処理については公知の手法を広く適用可能であるため、詳細な説明を省略する。ユーザーの認証が行われた場合、サーバーシステム２００はＷｅｂブラウザー３００に、ログイン完了画面を表示するための情報を返信する（Ｓ１０９）。Ｗｅｂブラウザー３００は、サーバーシステム２００から取得した情報に基づいて、ログイン完了画面を表示する（Ｓ１１０）。
【００５１】
図７に示したように、本実施形態の手法によれば、認証処理をサーバーシステム２００のアプリケーションとして実現することが可能であり、電子機器１００の機能拡張が容易である。さらに、電子機器１００とサーバーシステム２００の間のデータ送受信を、標準ブラウザーであるＷｅｂブラウザー３００を経由することによって実現できる。図７に示す処理と、図８又は図９を用いて後述する処理を組み合わせることによって、認証スキャン処理が実現される。また図７に示す処理と、図１０又は図１１を用いて後述する処理を組み合わせることによって、認証印刷処理が実現される。
【００５２】
３．２  スキャン処理
次にスキャン処理について説明する。電子機器１００からサーバーシステム２００へのスキャンデータの送信は、直接行われてもよいし、Ｗｅｂブラウザー３００を経由して行われてもよい。各処理について、図８、図９を用いて説明する。
【００５３】
図８は、スキャン処理を説明するシーケンス図である。図８に示す処理は、例えば図７に示す処理の後に実行される。この処理が開始されると、ユーザーはＷｅｂブラウザー３００を用いてスキャン操作を行う（Ｓ２０１）。Ｓ２０１におけるスキャン操作は、例えば図６に示すＨＴＭＬデータに基づいてＷｅｂブラウザー３００が表示する画面において、Ｓｃａｎボタンを押下する操作である。
【００５４】
Ｗｅｂブラウザー３００は、スキャン操作に基づいて、電子機器１００にスキャンを要求する（Ｓ２０２）。Ｓ２０２の処理は、図６のＢ２及びＢ３に示すように、スキャン開始要求ＷｅｂＡＰＩの呼び出しである。
【００５５】
電子機器１００の処理部１１０は、スキャン開始要求ＷｅｂＡＰＩの呼び出しに基づいて画像読取部１４１にスキャン処理を実行させる。スキャン処理が完了することによってスキャンデータが取得された場合、電子機器１００の通信部１２０は、スキャンデータをサーバーシステム２００に直接送信する（Ｓ２０３）。図３のＡ４に示したように、電子機器１００側からサーバーシステム２００への通信は可能である。スキャンデータを直接サーバーシステム２００に送信する場合、シンプルな通信制御によって、スキャンデータをサーバーシステム２００に蓄積することが可能になる。なお、サーバーシステム２００がスキャンデータの取得要求を受け付け、当該取得要求に対する応答としてスキャンデータを返信することによって、種々の装置においてスキャンデータを利用することが可能である。
【００５６】
なお、スキャン処理が正常に完了したか否か、或いはスキャン処理の対象となった原稿枚数は何枚であった等、スキャン結果に関する情報に対するユーザーの関心は高いと考えられる。そのため、サーバーシステム２００へのスキャンデータの送信で処理を終了するのではなく、Ｗｅｂブラウザー３００を用いてスキャン結果を提示する画面を表示することが望ましい。
【００５７】
よって電子機器１００は、ＷｅｂＡＰＩに基づく処理が実行された場合、具体的には、スキャン開始要求ＷｅｂＡＰＩに基づくスキャン処理が完了した場合に、状態変化を検出したと判定する。電子機器１００は、状態変化をＷｅｂブラウザー３００に通知する（Ｓ２０４）。Ｗｅｂブラウザー３００は、Ｓ２０４の通知に基づいて、状態情報要求ＷｅｂＡＰＩを呼び出すことによって、電子機器１００に状態情報の取得を要求する（Ｓ２０５）。
【００５８】
電子機器１００の通信部１２０は、状態情報要求ＷｅｂＡＰＩの呼び出しに対する応答として、状態情報をＷｅｂブラウザー３００へ返信する（Ｓ２０６）。ここでの状態情報は、画像読取部１４１におけるスキャン枚数を表す情報である。このようにすれば、スキャン結果を表す状態情報を、ＷｅｂＡＰＩを用いてＷｅｂブラウザー３００へ送信することが可能になる。例えば、Ｗｅｂブラウザー３００は、スキャン枚数等のスキャン結果を表す情報の表示処理を行う。また、Ｗｅｂブラウザー３００は、スキャン枚数等の情報を、サーバーシステム２００に送信する（Ｓ２０７）。このようにすれば、画像データであるスキャンデータ以外の情報についても、サーバーシステム２００に蓄積することが可能になる。スキャン枚数の情報は、例えば電子機器１００の管理や、ユーザーへの課金処理に利用可能である。
【００５９】
また図９は、スキャン処理を説明する他のシーケンス図である。図９に示す処理は、例えば図７に示す処理の後に実行される。ユーザーによるスキャン操作（Ｓ３０１）、及びＷｅｂブラウザー３００によるスキャン要求（Ｓ３０２）は、図８に示す処理と同様である。
【００６０】
図９の例では、電子機器１００の通信部１２０は、スキャンデータを、Ｗｅｂブラウザー３００を経由してサーバーシステム２００に送信する。例えば、通信部１２０は、Ｓ３０２に示すスキャン開始要求ＷｅｂＡＰＩの呼び出しに対する応答として、Ｗｅｂブラウザー３００にスキャン結果を送信する（Ｓ３０３）。Ｗｅｂブラウザー３００は、受信したスキャンデータをサーバーシステム２００に送信する（Ｓ３０４）。このようにすれば、Ｗｅｂブラウザー３００を経由してスキャンデータをサーバーシステム２００に送信することが可能になる。必要に応じて、スキャンデータのサムネイル画像を、Ｗｅｂブラウザー３００において表示することも可能である。その際、電子機器１００からＷｅｂブラウザー３００へのスキャンデータの送信を、スキャン開始要求ＷｅｂＡＰＩの呼び出しに対する応答とすることによって、要求送信の回数を抑制することが可能である。
【００６１】
ただし、ＷｅｂＡＰＩの構成は種々の変形実施が可能である。例えば、スキャン開始要求ＷｅｂＡＰＩは、図８の例と同様に画像読取部１４１にスキャン処理を実行させるＡＰＩであって、スキャンデータの返信は行わないものであってもよい。そして電子機器１００は、スキャン開始要求ＷｅｂＡＰＩとは別に、スキャンデータ取得用のＷｅｂＡＰＩであるスキャンデータ要求ＷｅｂＡＰＩを提供してもよい。この場合、スキャン開始要求ＷｅｂＡＰＩが呼び出された後に、Ｗｅｂブラウザー３００の処理によって、電子機器１００が提供するスキャンデータ要求ＷｅｂＡＰＩが呼び出される。電子機器１００の通信部１２０は、スキャンデータ要求ＷｅｂＡＰＩの呼び出しに対する応答として、Ｗｅｂブラウザー３００にスキャンデータを送信する。このようにすれば、スキャン処理の開始と、スキャンデータの取得とを、それぞれ異なるＷｅｂＡＰＩの機能として提供することが可能になる。
【００６２】
なお、図９のＳ３０５〜Ｓ３０８は、図８のＳ２０４〜Ｓ２０７と同様であるため、詳細な説明は省略する。
【００６３】
３．３  印刷処理
次に印刷処理について説明する。印刷部１４２における印刷処理には、印刷画像データを含む印刷データが必要になる。印刷データは、例えばサーバーシステム２００に蓄積されている。印刷データは、Ｗｅｂブラウザー３００が電子機器１００の印刷要求ＷｅｂＡＰＩを呼び出す際に、当該ＷｅｂＡＰＩのパラメーターとしてＷｅｂブラウザー３００から送信されてもよい。或いは、印刷要求ＷｅｂＡＰＩは、印刷の指示を行うものであり、印刷データの送受信は、電子機器１００とサーバーシステム２００との間で行われてもよい。各処理について、図１０、図１１を用いて説明する。
【００６４】
図１０は、印刷処理を説明するシーケンス図である。図１０に示す処理は、例えば図７に示す処理の後に実行される。この処理が開始されると、ユーザーはＷｅｂブラウザー３００に印刷操作を行う（Ｓ４０１）。印刷操作は、例えばＷｅｂブラウザー３００が表示する画面において、印刷ボタンを押下する操作である。Ｗｅｂブラウザー３００は、印刷操作に基づいて、電子機器１００に印刷を要求する（Ｓ４０２）。Ｓ４０２の処理は、印刷要求ＷｅｂＡＰＩの呼び出しである。
【００６５】
そして電子機器１００の通信部１２０は、印刷要求ＷｅｂＡＰＩに基づいて、印刷データの取得要求をサーバーシステム２００へ送信する（Ｓ４０３）。そしてサーバーシステム２００は、当該取得要求に対する応答として、印刷データを電子機器１００に返信する（Ｓ４０４）。換言すれば、電子機器１００の通信部１２０は、上記取得要求に対する応答として印刷データをサーバーシステム２００から受信する。処理部１１０は、取得した印刷データを印刷部１４２に印刷させる。このようにすれば、電子機器１００とサーバーシステム２００との間で直接印刷データを送受信することが可能になる。
【００６６】
また電子機器１００は、ＷｅｂＡＰＩに基づく処理が実行された場合、具体的には、印刷要求ＷｅｂＡＰＩに基づく印刷処理が完了した場合に、状態変化を検出したと判定する。電子機器１００は、状態変化をＷｅｂブラウザー３００に通知する（Ｓ４０５）。Ｗｅｂブラウザー３００は、Ｓ４０５の通知に基づいて、状態情報要求ＷｅｂＡＰＩを呼び出すことによって、電子機器１００に状態情報の取得を要求する（Ｓ４０６）。
【００６７】
電子機器１００の通信部１２０は、状態情報要求ＷｅｂＡＰＩの呼び出しに対する応答として、状態情報をＷｅｂブラウザー３００へ返信する（Ｓ４０７）。ここでの状態情報は、印刷部１４２における印刷枚数又は印刷ページ数を表す情報である。印刷枚数とは、印刷に使用された印刷媒体の枚数を表す。所与の印刷媒体における印刷が片面印刷であっても両面印刷であっても、印刷枚数のカウントにおいては当該印刷媒体は１枚としてカウントされる。印刷ページ数とは、印刷媒体の表面と裏面を区別する。即ち、１枚の印刷媒体であっても、片面印刷の場合は１ページであり、両面印刷の場合は２ページとなる。
【００６８】
このようにすれば、電子機器１００における印刷結果を表す状態情報を、ＷｅｂＡＰＩを用いてＷｅｂブラウザー３００へ送信することが可能になる。Ｗｅｂブラウザー３００は、印刷枚数等の情報を、サーバーシステム２００に送信する（Ｓ４０８）。スキャン結果の例と同様に、Ｗｅｂブラウザー３００は、印刷枚数や印刷ページ数等の印刷結果の表示処理を行ってもよい。印刷枚数又は印刷ページ数の情報は、例えば電子機器１００の管理や、ユーザーへの課金処理に利用可能である。例えばインクやトナーの消費を考慮して課金を行う場合、印刷ページ数を用いることが有用である。一方、印刷媒体自体が高価である場合には、印刷枚数を用いることによって適切な課金処理が可能になる。
【００６９】
また図１１は、印刷処理を説明する他のシーケンス図である。図１１に示す処理は、例えば図７に示す処理の後に実行される。ユーザーによる印刷操作（Ｓ５０１）が処理の起点となる点は、図１０に示す処理と同様である。
【００７０】
図１１の例では、Ｗｅｂブラウザー３００は、印刷操作が行われた場合、印刷要求ＷｅｂＡＰＩの呼び出し前に、サーバーシステム２００から印刷データを取得する。具体的には、Ｗｅｂブラウザー３００は、サーバーシステム２００に印刷データを要求する（Ｓ５０２）。サーバーシステム２００は、Ｓ５０２の要求に対して、印刷データを応答として返信する（Ｓ５０３）。Ｓ５０２及びＳ５０３は、ＨＰＰＴ又はＨＴＴＰＳのリクエスト及びレスポンスである。
【００７１】
そしてＷｅｂブラウザー３００は、取得した印刷データをパラメーターとして、印刷要求ＷｅｂＡＰＩの呼び出しを行う。換言すれば、電子機器１００の通信部１２０は、Ｗｅｂブラウザー３００による印刷要求ＷｅｂＡＰＩの呼び出しの受け付けにおいて、Ｗｅｂブラウザー３００がサーバーシステム２００から取得した印刷データを、Ｗｅｂブラウザーから受信する。このようにすれば、電子機器１００は、サーバーシステム２００に蓄積された印刷データを、Ｗｅｂブラウザー３００を経由することにって取得することが可能になる。電子機器１００は、印刷要求ＷｅｂＡＰＩの呼び出しに基づいて、印刷部１４２に印刷データの印刷を実行させる。
【００７２】
なお、図１１のＳ５０５〜Ｓ５０８は、図１０のＳ４０５〜Ｓ４０８と同様であるため、詳細な説明は省略する。
【００７３】
４．変形例
以上では、電子機器１００の状態情報をサーバーシステム２００に送信する手法として、図８のＳ２０４〜Ｓ２０７に示す処理を説明した。具体的には、電子機器１００側から状態変化をＷｅｂブラウザー３００に通知することによって、Ｗｅｂブラウザー３００に状態情報要求ＷｅｂＡＰＩの呼び出しを実行させる。ただし、状態情報をＷｅｂブラウザー３００及びサーバーシステム２００に送信する手法はこれに限定されない。
【００７４】
例えば、Ｗｅｂブラウザー３００は、定期的に状態情報要求ＷｅｂＡＰＩを呼び出してもよい。そして、認証情報等の取得等、状態変化が生じていている場合に、電子機器１００は状態情報要求ＷｅｂＡＰＩの呼び出しに対する応答として、状態情報をＷｅｂブラウザー３００に返信する。この場合、Ｗｅｂブラウザー３００側から定期的にＷｅｂＡＰＩの呼び出しを実行する必要が生じるが、図３のＡ２に示す電子機器１００からＷｅｂブラウザー３００への要求送信が不要である。そのため、仮想キーボードドライバー等を用いる必要がなく、実装が容易であるという利点がある。
【００７５】
或いは、図３のＡ４に示す通信が容易であることに着目して、電子機器１００は状態変化が検出されたことをサーバーシステム２００に通知してもよい。Ｗｅｂブラウザー３００は、Ａ３に示す通信を用いて、定期的にサーバーシステム２００に対してロングポーリング要求又はポーリングを行う。サーバーシステム２００は、状態変化の通知があった場合、ロングポーリング要求又はポーリングに対する応答として、状態変化が検出されたことをＷｅｂブラウザー３００に通知する。このようにすれば、サーバーシステム２００を介して電子機器１００の状態変化をＷｅｂブラウザー３００に通知できる。Ｗｅｂブラウザー３００は、状態変化の通知に基づいて、状態情報要求ＷｅｂＡＰＩを呼び出す。
【００７６】
また、電子機器１００の状態情報は、状態情報要求ＷｅｂＡＰＩの呼び出しに対する応答として送信されるものに限定されない。例えば、Ａ２に示す通信を用いて、電子機器１００からＷｅｂブラウザー３００に、状態変化の具体的な内容まで送信してもよい。ただし、仮想キーボードドライバーの制御等を考慮すれば、複雑な状態情報の送信が容易でない点には留意すべきである。
【００７７】
或いは、電子機器１００は、Ａ４に示す通信を用いて、状態変化の具体的な内容をサーバーシステム２００に送信してもよい。Ｗｅｂブラウザー３００は、Ａ３に示す通信を用いて、定期的にサーバーシステム２００に対してロングポーリング要求又はポーリングを行う。サーバーシステム２００は、状態変化に関する情報を電子機器１００から受信した場合、ロングポーリング要求又はポーリングに対する応答として、当該状態変化に関する情報を、Ｗｅｂブラウザー３００に送信する。このようにすれば、状態情報をサーバーシステム２００に蓄積する処理をＡ４に示す通信を用いて実現できる。さらにＡ３に示す通信及びその応答を用いて、状態情報をＷｅｂブラウザー３００に送信することも可能であるため、Ｗｅｂブラウザー３００における状態情報の表示処理等も実現可能である。
【００７８】
以上のように、本実施形態の電子機器は、通信部と、通信部の制御を行う処理部と、画像読取部を含む。処理部は、サーバーシステムと通信可能なＷｅｂブラウザーの処理によって、電子機器が提供するスキャン開始要求ＷｅｂＡＰＩが呼び出された場合に、スキャン開始要求ＷｅｂＡＰＩに基づいて、画像読取部にスキャン処理を開始させる。そして処理部は、画像読取部によって取得されたスキャンデータのサーバーシステムへの送信を、通信部に実行させる。
【００７９】
このように、電子機器におけるスキャン処理によって取得されるスキャンデータをサーバーシステムに送信するシステムにおいて、電子機器のスキャン機能をＷｅｂＡＰＩを用いてＷｅｂブラウザーから利用することが可能になる。即ち、サーバーシステムは、Ｗｅｂブラウザーを経由することによって、電子機器の制御を行うことが可能になり、電子機器の機能拡張が容易になる。また、ＷｅｂＡＰＩは広く用いられる標準ブラウザーにおいてサポートされているため、Ｗｅｂブラウザーを専用ブラウザーとする必要がない。そのため、ブラウザーの開発負担、及びサーバーシステム側のアプリケーションの開発負担の軽減が可能になる。
【００８０】
また通信部は、スキャンデータをサーバーシステムに直接送信してもよい。
【００８１】
このようにすれば、電子機器とサーバーシステムとの通信に基づいて、スキャンデータをサーバーシステムに蓄積することが可能になる。
【００８２】
また通信部は、スキャンデータを、Ｗｅｂブラウザーを経由して、サーバーシステムに送信してもよい。
【００８３】
このようにすれば、Ｗｅｂブラウザーを経由させることによって、スキャンデータをサーバーシステムに蓄積することが可能になる。
【００８４】
また通信部は、スキャン開始要求ＷｅｂＡＰＩの呼び出しに対する応答として、Ｗｅｂブラウザーにスキャンデータを送信してもよい。
【００８５】
このようにすれば、スキャン開始要求ＷｅｂＡＰＩに基づいて、スキャン処理の開始及びスキャンデータの送信が可能になる。
【００８６】
また通信部は、スキャン開始要求ＷｅｂＡＰＩが呼び出された後に、Ｗｅｂブラウザーによって、電子機器が提供するスキャンデータ要求ＷｅｂＡＰＩが呼び出された場合に、スキャンデータ要求ＷｅｂＡＰＩの呼び出しに対する応答として、Ｗｅｂブラウザーにスキャンデータを送信してもよい。
【００８７】
このようにすれば、スキャン開始要求ＷｅｂＡＰＩとは異なるスキャンデータ要求ＷｅｂＡＰＩに対する応答として、Ｗｅｂブラウザーにスキャンデータを送信することが可能になる。
【００８８】
また本実施形態の電子機器は、通信部と、通信部の制御を行う処理部と、印刷部を含む。処理部は、印刷データを蓄積するサーバーシステムと通信可能なＷｅｂブラウザーの処理によって、電子機器が提供する印刷要求ＷｅｂＡＰＩが呼び出された場合に、印刷要求ＷｅｂＡＰＩに基づいて、印刷部に印刷データの印刷処理を実行させる。
【００８９】
このように、電子機器における印刷処理に用いる印刷データをサーバーシステムが蓄積するシステムにおいて、電子機器の印刷機能をＷｅｂＡＰＩを用いてＷｅｂブラウザーから利用することが可能になる。即ち、サーバーシステムは、Ｗｅｂブラウザーを経由することによって、電子機器の制御を行うことが可能になり、電子機器の機能拡張が容易になる。また、ＷｅｂＡＰＩは広く用いられる標準ブラウザーにおいてサポートされているため、Ｗｅｂブラウザーを専用ブラウザーとする必要がない。そのため、ブラウザーの開発負担、及びサーバーシステム側のアプリケーションの開発負担の軽減が可能になる。
【００９０】
また通信部は、Ｗｅｂブラウザーによる印刷要求ＷｅｂＡＰＩの呼び出しの受け付けにおいて、Ｗｅｂブラウザーがサーバーシステムから取得した印刷データを、Ｗｅｂブラウザーから受信してもよい。
【００９１】
このようにすれば、電子機器は、ＷｅｂＡＰＩの呼び出しにおけるパラメーターとして、印刷データを取得することが可能になる。
【００９２】
また通信部は、印刷要求ＷｅｂＡＰＩに基づいて、印刷データの取得要求をサーバーシステムへ送信した後、取得要求に対する応答として印刷データを受信してもよい。
【００９３】
このようにすれば、電子機器は、ＷｅｂＡＰＩの呼び出しをトリガーとして、サーバーシステムに印刷データを要求することが可能になる。
【００９４】
また通信部は、Ｗｅｂブラウザーの処理によって、電子機器が提供する状態情報要求ＷｅｂＡＰＩが呼び出された場合、状態情報要求ＷｅｂＡＰＩの呼び出しに対する応答として、電子機器の状態情報をＷｅｂブラウザーへ返信してもよい。
【００９５】
このようにすれば、電子機器の状態情報をＷｅｂブラウザーに送信することが可能になる。そのため、当該状態情報をＷｅｂブラウザーにおいて表示すること、当該状態情報をサーバーシステムに送信して蓄積すること等が可能になる。
【００９６】
また処理部は、電子機器の状態変化を検出した場合に、Ｗｅｂブラウザーに状態変化を通知する処理を行ってもよい。
【００９７】
このようにすれば、電子機器からの通知をトリガーとして、状態情報要求ＷｅｂＡＰＩの呼び出しを促すことが可能になる。
【００９８】
またサーバーシステムは、Ｗｅｂブラウザーとの通信に基づいてユーザー認証を行う認証サーバーであってもよい。電子機器の通信部は、ユーザーの認証情報を取得した場合に、状態情報要求ＷｅｂＡＰＩの呼び出しに対する応答として、認証情報をＷｅｂブラウザーへ返信してもよい。
【００９９】
このようにすれば、電子機器が取得したユーザーの認証情報を、Ｗｅｂブラウザーを経由して適切にサーバーシステムに送信することが可能になる。
【０１００】
また通信部は、Ｗｅｂブラウザーの処理によって、電子機器が提供する状態情報要求ＷｅｂＡＰＩが呼び出された場合に、状態情報要求ＷｅｂＡＰＩの呼び出しに対する応答として、電子機器の状態情報をＷｅｂブラウザーへ返信してもよい。ここでの状態情報は、画像読取部におけるスキャン枚数を表す情報である。
【０１０１】
このようにすれば、スキャン枚数を表す情報をＷｅｂブラウザーへ送信すること、及びＷｅｂブラウザーを経由してサーバーシステムに蓄積することが可能になる。
【０１０２】
また通信部は、Ｗｅｂブラウザーの処理によって、電子機器が提供する状態情報要求ＷｅｂＡＰＩが呼び出された場合に、状態情報要求ＷｅｂＡＰＩの呼び出しに対する応答として、電子機器の状態情報をＷｅｂブラウザーへ返信してもよい。ここでの状態情報は、印刷部における印刷枚数又は印刷ページ数を表す情報である。
【０１０３】
このようにすれば、印刷枚数又は印刷ページ数を表す情報をＷｅｂブラウザーへ送信すること、及びＷｅｂブラウザーを経由してサーバーシステムに蓄積することが可能になる。
【０１０４】
また処理部は、Ｗｅｂブラウザーの処理を実行してもよい。
【０１０５】
このようにすれば、電子機器がＷｅｂブラウザーを含むことが可能になる。
【０１０６】
また本実施形態の画像読取方法は、サーバーシステムと通信可能なＷｅｂブラウザーの処理によって、電子機器が提供するスキャン開始要求ＷｅｂＡＰＩを呼び出し、スキャン開始要求ＷｅｂＡＰＩに基づいて、電子機器の画像読取部によってスキャン処理を行い、画像読取部によって取得されたスキャンデータを、電子機器からサーバーシステムへ送信する。
【０１０７】
また本実施形態の印刷処理方法は、印刷データを蓄積するサーバーシステムと通信可能なＷｅｂブラウザーの処理によって、電子機器が提供する印刷要求ＷｅｂＡＰＩを呼び出す。その後、印刷要求ＷｅｂＡＰＩの呼び出しにおいてＷｅｂブラウザーから電子機器へ印刷データを送信する処理、及び、印刷要求ＷｅｂＡＰＩの呼び出しに基づいて電子機器からサーバーシステムへ印刷データを要求する処理、のいずれか一方の処理によって、印刷データを電子機器に送信する。さらに、印刷要求ＷｅｂＡＰＩに基づいて、電子機器の印刷部に印刷データの印刷処理を実行させる。
【０１０８】
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また本実施形態及び変形例の全ての組み合わせも、本発明の範囲に含まれる。また電子機器、処理システムの構成及び動作等も、本実施形態で説明したものに限定されず、種々の変形実施が可能である。
【符号の説明】
【０１０９】
１０…処理システム、１００…電子機器、１１０…処理部、１２０…通信部、１３０…記憶部、１４１…画像読取部、１４２…印刷部、１５０…表示部、２００…サーバーシステム、３００…Ｗｅｂブラウザー、４００…ルーター、５００…処理装置、ＮＷ１…第１ネットワーク、ＮＷ２…第２ネットワーク
【図１】
2020088593.tif 000003
【図２】
2020088593.tif 000004
【図３】
2020088593.tif 000005
【図４】
2020088593.tif 000006
【図５】
2020088593.tif 000007
【図６】
2020088593.tif 000008
【図７】
2020088593.tif 000009
【図８】
2020088593.tif 000010
【図９】
2020088593.tif 000011
【図１０】
2020088593.tif 000012
【図１１】
2020088593.tif 000013