(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-08
(45)【発行日】2024-04-16
(54)【発明の名称】画像形成装置、画面描画方法及び画面描画システム
(51)【国際特許分類】
H04L 67/02 20220101AFI20240409BHJP
G06F 3/14 20060101ALI20240409BHJP
【FI】
H04L67/02
G06F3/14 310E
(21)【出願番号】P 2020009711
(22)【出願日】2020-01-24
【審査請求日】2022-12-28
(73)【特許権者】
【識別番号】000006150
【氏名又は名称】京セラドキュメントソリューションズ株式会社
(74)【代理人】
【識別番号】110003339
【氏名又は名称】弁理士法人南青山国際特許事務所
(74)【代理人】
【識別番号】100104215
【氏名又は名称】大森 純一
(74)【代理人】
【識別番号】100196575
【氏名又は名称】高橋 満
(74)【代理人】
【識別番号】100168181
【氏名又は名称】中村 哲平
(74)【代理人】
【識別番号】100117330
【氏名又は名称】折居 章
(74)【代理人】
【識別番号】100160989
【氏名又は名称】関根 正好
(74)【代理人】
【識別番号】100168745
【氏名又は名称】金子 彩子
(74)【代理人】
【識別番号】100176131
【氏名又は名称】金山 慎太郎
(74)【代理人】
【識別番号】100197398
【氏名又は名称】千葉 絢子
(74)【代理人】
【識別番号】100197619
【氏名又は名称】白鹿 智久
(72)【発明者】
【氏名】佐々木 秀行
【審査官】前田 健人
(56)【参考文献】
【文献】特開2010-191579(JP,A)
【文献】特開2016-143370(JP,A)
【文献】特開2015-215760(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 67/02
G06F 3/14
(57)【特許請求の範囲】
【請求項1】
第1のウェブサーバーと、前記第1のウェブサーバーと通信可能な第1のウェブブラウザーとして動作する制御回路と、
表示装置と、
第2のウェブサーバーと、前記第2のウェブサーバーと通信可能であり、画面データの前記第2のウェブサーバー内での位置を示すURLと、前記URLにアクセスして前記画面データを取得して表示することをリクエストするコマンドとを含むスクリプトを有する第2のウェブブラウザーとして動作
する情報処理装置と通信可能に接続される通信インターフェースと、
メモリーとを有し、
前記第1のウェブサーバーは、
前記スクリプトを、前記情報処理装置から前記通信インターフェースを介して受信し、
前記スクリプトを、前記メモリーに記憶し、
前記スクリプトを記憶したことを示すイベントを、前記第1のウェブブラウザーに送信し、
前記第1のウェブブラウザーは、
前記イベントを、前記第1のウェブサーバーから受信し、
前記スクリプトを、前記メモリーから取得し、
前記スクリプトを実行することにより、前記スクリプトに含まれる前記第2のウェブサーバー内の前記URLにアクセスして、前記画面データを前記第2のウェブサーバーから前記通信インターフェースを介して受信し、
受信した前記画面データを描画して前記表示装置に表示する
画像形成装置。
【請求項2】
請求項1に記載の画像形成装置であって、
前記スクリプトに含まれる前記URLは、子フレームを有する画面データの位置を示し、
前記第1のウェブブラウザーは、
前記スクリプトを実行することにより、前記子フレームを有する前記画面データを、前記第2のウェブサーバーから前記通信インターフェースを介して受信し、
前記子フレームを有する前記画面データを描画して前記表示装置に表示する
画像形成装置。
【請求項3】
請求項2に記載の画像形成装置であって、
前記第1のウェブブラウザーは、
前記第1のウェブサーバーに、前記スクリプトを新たに記憶したか否かをポーリングにより定期的に問い合わせ、
前記スクリプトを新たに記憶したことを示す応答を、前記第1のウェブサーバーから受信すると、前記スクリプトを実行する
画像形成装置。
【請求項4】
第1のウェブサーバーと、前記第1のウェブサーバーと通信可能な第1のウェブブラウザーとして動作する制御回路と、
表示装置と、
第2のウェブサーバーと、前記第2のウェブサーバーと通信可能であり、子フレームを有する画面データの前記第2のウェブサーバー内での位置を示すURLと、前記URLにアクセスして前記画面データを取得して表示することをリクエストするコマンドとを含むスクリプトを有する第2のウェブブラウザーとして動作する情報処理装置と通信可能に接続される通信インターフェースと、
メモリーとを有し、
前記第1のウェブサーバーは、
前記スクリプトを、前記情報処理装置から前記通信インターフェースを介して受信し、
前記スクリプトを、前記メモリーに記憶し、
前記第1のウェブブラウザーは、
前記第1のウェブサーバーに、前記スクリプトを新たに記憶したか否かをポーリングにより問い合わせ、
前記スクリプトを新たに記憶したことを示す応答を、前記第1のウェブサーバーから受信すると、
前記スクリプトを実行することにより、前記スクリプトに含まれる前記第2のウェブサーバー内の前記URLにアクセスして、前記子フレームを有する前記画面データを、前記第2のウェブサーバーから前記通信インターフェースを介して受信し、
前記子フレームを有する前記画面データを描画して前記表示装置に表示する
画像形成装置。
【請求項5】
請求項1乃至4の何れか一項に記載の画像形成装置であって、
前記情報処理装置の前記第2のウェブブラウザーは、前記画面データを前記第2のウェブサーバーから受信し、受信した前記画面データを描画して前記情報処理装置の表示装置に描画する
画像形成装置。
【請求項6】
第1のウェブサーバーと、前記第1のウェブサーバーと通信可能な第1のウェブブラウザーとして動作する制御回路と、
表示装置と、
第2のウェブサーバーと、前記第2のウェブサーバーと通信可能であり、画面データの前記第2のウェブサーバー内での位置を示すURLと、前記URLにアクセスして前記画面データを取得して表示することをリクエストするコマンドとを含むスクリプトを有する第2のウェブブラウザーとして動作
する情報処理装置と通信可能に接続される通信インターフェースと、
メモリーと
を有する画像形成装置の前記制御回路が実行する画面描画方法であって、
前記第1のウェブサーバーは、
前記スクリプトを、前記情報処理装置から前記通信インターフェースを介して受信し、
前記スクリプトを、前記メモリーに記憶し、
前記スクリプトを記憶したことを示すイベントを、前記第1のウェブブラウザーに送信し、
前記第1のウェブブラウザーは、
前記イベントを、前記第1のウェブサーバーから受信し、
前記スクリプトを、前記メモリーから取得し、
前記スクリプトを実行することにより、前記スクリプトに含まれる前記第2のウェブサーバー内の前記URLにアクセスして、前記画面データを前記第2のウェブサーバーから前記通信インターフェースを介して受信し、
受信した前記画面データを描画して前記表示装置に表示する
画面描画方法。
【請求項7】
第1のウェブサーバーと、前記第1のウェブサーバーと通信可能な第1のウェブブラウザーとして動作する制御回路と、
表示装置と、
第2のウェブサーバーと、前記第2のウェブサーバーと通信可能であり、子フレームを有する画面データの前記第2のウェブサーバー内での位置を示すURLと、前記URLにアクセスして前記画面データを取得して表示することをリクエストするコマンドとを含むスクリプトを有する第2のウェブブラウザーとして動作する情報処理装置と通信可能に接続される通信インターフェースと、
メモリーと
を有する画像形成装置の前記制御回路が実行する画面描画方法であって、
前記第1のウェブサーバーは、
前記スクリプトを、前記情報処理装置から前記通信インターフェースを介して受信し、
前記スクリプトを、前記メモリーに記憶し、
前記第1のウェブブラウザーは、
前記第1のウェブサーバーに、前記スクリプトを記憶したか否かをポーリングにより問い合わせ、
前記スクリプトを記憶したことを示す応答を、前記第1のウェブサーバーから受信すると、
前記スクリプトを実行することにより、前記スクリプトに含まれる前記第2のウェブサーバー内の前記URLにアクセスして、前記子フレームを有する前記画面データを、前記第2のウェブサーバーから前記通信インターフェースを介して受信し、
前記子フレームを有する前記画面データを描画して前記表示装置に表示する
画面描画方法。
【請求項8】
画像形成装置と、
情報処理装置とを具備し、
前記画像形成装置は、
第1のウェブサーバーと、前記第1のウェブサーバーと通信可能な第1のウェブブラウザーとして動作する制御回路と、
表示装置と、
第2のウェブサーバーと、前記第2のウェブサーバーと通信可能であり、画面データの前記第2のウェブサーバー内での位置を示すURLと、前記URLにアクセスして前記画面データを取得して表示することをリクエストするコマンドとを含むスクリプトを有する第2のウェブブラウザーとして動作する前記情報処理装置と通信可能に接続される通信インターフェースと、
メモリーとを有し、
前記第1のウェブサーバーは、
前記スクリプトを、前記情報処理装置から前記通信インターフェースを介して受信し、
前記スクリプトを、前記メモリーに記憶し、
前記スクリプトを記憶したことを示すイベントを、前記第1のウェブブラウザーに送信し、
前記第1のウェブブラウザーは、
前記イベントを、前記第1のウェブサーバーから受信し、
前記スクリプトを、前記メモリーから取得し、
前記スクリプトを実行することにより、前記スクリプトに含まれる前記第2のウェブサーバー内の前記URLにアクセスして、前記画面データを前記第2のウェブサーバーから前記通信インターフェースを介して受信し、
受信した前記画面データを描画して前記表示装置に表示する
画面描画システム。
【請求項9】
画像形成装置と、
情報処理装置とを具備し、
前記画像形成装置は、
第1のウェブサーバーと、前記第1のウェブサーバーと通信可能な第1のウェブブラウザーとして動作する制御回路と、
表示装置と、
第2のウェブサーバーと、前記第2のウェブサーバーと通信可能であり、子フレームを有する画面データの前記第2のウェブサーバー内での位置を示すURLと、前記URLにアクセスして前記画面データを取得して表示することをリクエストするコマンドとを含むスクリプトを有する第2のウェブブラウザーとして動作する情報処理装置と通信可能に接続される通信インターフェースと、
メモリーとを有し、
前記第1のウェブサーバーは、
前記スクリプトを、前記情報処理装置から前記通信インターフェースを介して受信し、
前記スクリプトを、前記メモリーに記憶し、
前記第1のウェブブラウザーは、
前記第1のウェブサーバーに、前記スクリプトを記憶したか否かをポーリングにより問い合わせ、
前記スクリプトを記憶したことを示す応答を、前記第1のウェブサーバーから受信すると、
前記スクリプトを実行することにより、前記スクリプトに含まれる前記第2のウェブサーバー内の前記URLにアクセスして、前記子フレームを有する前記画面データを、前記第2のウェブサーバーから前記通信インターフェースを介して受信し、
前記子フレームを有する前記画面データを描画して前記表示装置に表示する
画面描画システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置と通信可能に接続される画像形成装置と、画像形成装置が情報処理装置と通信することにより実行する画面描画方法と、画像形成装置及び情報処理装置を有する画面描画システムとに関する。
【背景技術】
【0002】
ウェブサーバー及びウェブラウザーとして動作し、ウェブアプリケーションを実行する画像形成装置が知られている。開発者は、情報処理装置(典型的に、パーソナルコンピューター)を用いて、画像形成装置用のウェブアプリケーションを開発する。ウェブアプリケーションをリリースする前に、開発用の情報処理装置又は画像形成装置を用いて、ウェブアプリケーションの動作確認をする(例えば、開発者の意図通りに適切に、画面が表示されるか等)。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2002-366476号公報
【文献】特開2003-283736号公報
【文献】特開2012-78917号公報
【文献】特開2012-103990号公報
【文献】特開2015-231159号公報
【文献】特開2019-8719号公報
【文献】特開2018-67344号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ウェブアプリケーションをリリースする前に、より適切且つ確実に、ウェブアプリケーションの動作確認をすることが望ましい。
【課題を解決するための手段】
【0005】
本開示の一形態に係る画像形成装置は、
第1のウェブサーバーと、前記第1のウェブサーバーと通信可能な第1のウェブブラウザーとして動作する制御回路と、
表示装置と、
第2のウェブサーバーと、前記第2のウェブサーバーと通信可能であり、画面データの前記第2のウェブサーバー内での位置を示すURLと、前記URLにアクセスして前記画面データを取得して表示することをリクエストするコマンドとを含むスクリプトを有する第2のウェブブラウザーとして動作する前記情報処理装置と通信可能に接続される通信インターフェースと、
メモリーとを有し、
前記第1のウェブサーバーは、
前記スクリプトを、前記情報処理装置から前記通信インターフェースを介して受信し、
前記スクリプトを、前記メモリーに記憶し、
前記スクリプトを記憶したことを示すイベントを、前記第1のウェブブラウザーに送信し、
前記第1のウェブブラウザーは、
前記イベントを、前記第1のウェブサーバーから受信し、
前記スクリプトを、前記メモリーから取得し、
前記スクリプトを実行することにより、前記スクリプトに含まれる前記第2のウェブサーバー内の前記URLにアクセスして、前記画面データを前記第2のウェブサーバーから前記通信インターフェースを介して受信し、
受信した前記画面データを描画して前記表示装置に表示する。
【0006】
本開示の一形態に係る画像形成装置は、
第1のウェブサーバーと、前記第1のウェブサーバーと通信可能な第1のウェブブラウザーとして動作する制御回路と、
表示装置と、
第2のウェブサーバーと、前記第2のウェブサーバーと通信可能であり、子フレームを有する画面データの前記第2のウェブサーバー内での位置を示すURLと、前記URLにアクセスして前記画面データを取得して表示することをリクエストするコマンドとを含むスクリプトを有する第2のウェブブラウザーとして動作する情報処理装置と通信可能に接続される通信インターフェースと、
メモリーとを有し、
前記第1のウェブサーバーは、
前記スクリプトを、前記情報処理装置から前記通信インターフェースを介して受信し、
前記スクリプトを、前記メモリーに記憶し、
前記第1のウェブブラウザーは、
前記第1のウェブサーバーに、前記スクリプトを新たに記憶したか否かをポーリングにより問い合わせ、
前記スクリプトを新たに記憶したことを示す応答を、前記第1のウェブサーバーから受信すると、
前記スクリプトを実行することにより、前記スクリプトに含まれる前記第2のウェブサーバー内の前記URLにアクセスして、前記子フレームを有する前記画面データを、前記第2のウェブサーバーから前記通信インターフェースを介して受信し、
前記子フレームを有する前記画面データを描画して前記表示装置に表示する。
【0007】
本開示の一形態に係る画面描画方法は、
第1のウェブサーバーと、前記第1のウェブサーバーと通信可能な第1のウェブブラウザーとして動作する制御回路と、
表示装置と、
第2のウェブサーバーと、前記第2のウェブサーバーと通信可能であり、画面データの前記第2のウェブサーバー内での位置を示すURLと、前記URLにアクセスして前記画面データを取得して表示することをリクエストするコマンドとを含むスクリプトを有する第2のウェブブラウザーとして動作する前記情報処理装置と通信可能に接続される通信インターフェースと、
メモリーと
を有する画像形成装置の前記制御回路が実行する画面描画方法であって、
前記第1のウェブサーバーは、
前記スクリプトを、前記情報処理装置から前記通信インターフェースを介して受信し、
前記スクリプトを、前記メモリーに記憶し、
前記スクリプトを記憶したことを示すイベントを、前記第1のウェブブラウザーに送信し、
前記第1のウェブブラウザーは、
前記イベントを、前記第1のウェブサーバーから受信し、
前記スクリプトを、前記メモリーから取得し、
前記スクリプトを実行することにより、前記スクリプトに含まれる前記第2のウェブサーバー内の前記URLにアクセスして、前記画面データを前記第2のウェブサーバーから前記通信インターフェースを介して受信し、
受信した前記画面データを描画して前記表示装置に表示する。
【0008】
本開示の一形態に係る画面描画方法は、
第1のウェブサーバーと、前記第1のウェブサーバーと通信可能な第1のウェブブラウザーとして動作する制御回路と、
表示装置と、
第2のウェブサーバーと、前記第2のウェブサーバーと通信可能であり、子フレームを有する画面データの前記第2のウェブサーバー内での位置を示すURLと、前記URLにアクセスして前記画面データを取得して表示することをリクエストするコマンドとを含むスクリプトを有する第2のウェブブラウザーとして動作する情報処理装置と通信可能に接続される通信インターフェースと、
メモリーと
を有する画像形成装置の前記制御回路が実行する画面描画方法であって、
前記第1のウェブサーバーは、
前記スクリプトを、前記情報処理装置から前記通信インターフェースを介して受信し、
前記スクリプトを、前記メモリーに記憶し、
前記第1のウェブブラウザーは、
前記第1のウェブサーバーに、前記スクリプトを記憶したか否かをポーリングにより問い合わせ、
前記スクリプトを記憶したことを示す応答を、前記第1のウェブサーバーから受信すると、
前記スクリプトを実行することにより、前記スクリプトに含まれる前記第2のウェブサーバー内の前記URLにアクセスして、前記子フレームを有する前記画面データを、前記第2のウェブサーバーから前記通信インターフェースを介して受信し、
前記子フレームを有する前記画面データを描画して前記表示装置に表示する。
【0009】
本開示の一形態に係る画面描画システムは、
画像形成装置と、
情報処理装置とを具備し、
前記画像形成装置は、
第1のウェブサーバーと、前記第1のウェブサーバーと通信可能な第1のウェブブラウザーとして動作する制御回路と、
表示装置と、
第2のウェブサーバーと、前記第2のウェブサーバーと通信可能であり、画面データの前記第2のウェブサーバー内での位置を示すURLと、前記URLにアクセスして前記画面データを取得して表示することをリクエストするコマンドとを含むスクリプトを有する第2のウェブブラウザーとして動作する前記情報処理装置と通信可能に接続される通信インターフェースと、
メモリーとを有し、
前記第1のウェブサーバーは、
前記スクリプトを、前記情報処理装置から前記通信インターフェースを介して受信し、
前記スクリプトを、前記メモリーに記憶し、
前記スクリプトを記憶したことを示すイベントを、前記第1のウェブブラウザーに送信し、
前記第1のウェブブラウザーは、
前記イベントを、前記第1のウェブサーバーから受信し、
前記スクリプトを、前記メモリーから取得し、
前記スクリプトを実行することにより、前記スクリプトに含まれる前記第2のウェブサーバー内の前記URLにアクセスして、前記画面データを前記第2のウェブサーバーから前記通信インターフェースを介して受信し、
受信した前記画面データを描画して前記表示装置に表示する。
【0010】
本開示の一形態に係る画面描画システムは、
画像形成装置と、
情報処理装置とを具備し、
前記画像形成装置は、
第1のウェブサーバーと、前記第1のウェブサーバーと通信可能な第1のウェブブラウザーとして動作する制御回路と、
表示装置と、
第2のウェブサーバーと、前記第2のウェブサーバーと通信可能であり、子フレームを有する画面データの前記第2のウェブサーバー内での位置を示すURLと、前記URLにアクセスして前記画面データを取得して表示することをリクエストするコマンドとを含むスクリプトを有する第2のウェブブラウザーとして動作する情報処理装置と通信可能に接続される通信インターフェースと、
メモリーとを有し、
前記第1のウェブサーバーは、
前記スクリプトを、前記情報処理装置から前記通信インターフェースを介して受信し、
前記スクリプトを、前記メモリーに記憶し、
前記第1のウェブブラウザーは、
前記第1のウェブサーバーに、前記スクリプトを記憶したか否かをポーリングにより問い合わせ、
前記スクリプトを記憶したことを示す応答を、前記第1のウェブサーバーから受信すると、
前記スクリプトを実行することにより、前記スクリプトに含まれる前記第2のウェブサーバー内の前記URLにアクセスして、前記子フレームを有する前記画面データを、前記第2のウェブサーバーから前記通信インターフェースを介して受信し、
前記子フレームを有する前記画面データを描画して前記表示装置に表示する。
【発明の効果】
【0011】
ウェブアプリケーションをリリースする前に、より適切且つ確実に、ウェブアプリケーションの動作確認をすることを図れる。
【0012】
なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
【図面の簡単な説明】
【0013】
【
図1】本開示の第1の実施形態に係る画面描画システムを示す。
【
図4】第1の実施形態に係る画面描画システムの機能的構成を示す。
【
図5】情報処理装置の第2のウェブブラウザーの動作フローを示す。
【
図6】画像形成装置の第1のウェブサーバーのイベント受信時の動作フローを示す。
【
図7】画像形成装置の第1のウェブブラウザーのスクリプト取得部の動作フローを示す。
【
図8】画像形成装置の第1のウェブブラウザーのスクリプト実行部の動作フローを示す。
【
図9】情報処理装置の第2のウェブサーバーの動作フローを示す。
【
図10】画像形成装置の第1のウェブサーバーのポーリング受信時の動作フローを示す。
【
図11】第2の実施形態に係る画面描画システムの機能的構成を示す。
【
図12】画像形成装置の第1のウェブブラウザーのスクリプト取得部の動作フローを示す。
【
図13】第3の実施形態に係る画面描画システムの機能的構成を示す。
【
図14】画像形成装置の第1のウェブサーバーの動作フローを示す。
【
図15】画像形成装置の第1のウェブブラウザーのスクリプト実行部の動作フローを示す。
【発明を実施するための形態】
【0014】
以下、図面を参照しながら、本開示の実施形態を説明する。
【0015】
I.第1の実施形態
【0016】
1.画面描画システム
【0017】
図1は、本開示の第1の実施形態に係る画面描画システムを示す。
【0018】
画面描画システム1は、画像形成装置10と、情報処理装置20とを有する。画像形成装置10と、情報処理装置20とは、ネットワーク通信インターフェースを用いて、LAN(Local Area Network)等のネットワークNを介してHTTP通信可能に接続される。
【0019】
画像形成装置10は、典型的には、MFP(Multifunction Peripheral)である。画像形成装置10は、ウェブサーバー及びウェブラウザーとして動作する。画像形成装置10には、出荷時又は出荷後にウェブアプリケーションがインストールされて実行される。画像形成装置10は、この様なウェブアプリケーションの動作確認をする(例えば、開発者の意図通りに適切に、画面が表示されるか等)ための所謂テスト機である。
【0020】
情報処理装置20は、典型的には、パーソナルコンピューターである。情報処理装置20のユーザーは、典型的には、ウェブアプリケーションを開発中の開発者である。開発者は、情報処理装置20を用いて、画像形成装置10用のウェブアプリケーションを開発中である。
【0021】
画像形成装置用のウェブアプリケーションの開発工程のひとつに、画面(画像形成装置の表示装置に表示すべき画面)の作成がある。ウェブアプリケーションの画面は、HTMLで記述される。ウェブアプリケーションの開発中(リリース前)に、HTMLで記述された画面を表示装置に表示し、開発者の意図通りに適切に表示されるかを確認する必要がある。
【0022】
確認のために画面を表示する方法は、2種類が考えられる。1つ目の方法は、ウェブアプリケーションを開発するのに使用している情報処理装置をウェブサーバー及びウェブブラウザーとして動作させ、情報処理装置のウェブブラウザーが情報処理装置の表示装置(ディスプレイ)に画面を表示する方法である。2つ目の方法は、ウェブアプリケーションを情報処理装置から画像形成装置にインストールし、画像形成装置をウェブサーバー及びウェブブラウザーとして動作させ、画像形成装置のウェブブラウザーが画像形成装置の表示装置(タッチパネル)に画面を表示する方法である。
【0023】
1つ目の方法では、ウェブアプリケーションを開発中の情報処理装置のウェブブラウザーがウェブアプリケーションを表示するため、ウェブアプリケーションを別の装置にインストール等する手間と時間が掛からない。しかしながら、情報処理装置のウェブブラウザーは画像形成装置のウェブブラウザーと異なるので、情報処理装置のウェブブラウザーが表示する画面が、画像形成装置のウェブブラウザーが表示する画面と同一でない可能性がある。言い換えれば、画像形成装置のウェブブラウザーが表示する画面を再現できず、あくまで模擬的なシミュレーションに過ぎず、正確性に欠ける。
【0024】
2つ目の方法では、画像形成装置のウェブブラウザーが画面を表示するため、正確性に欠けることが無い。しかしながら、情報処理装置から画像形成装置にウェブアプリケーションをリモート又は有線でインストールし、画像形成装置がウェブアプリケーションを起動する必要があり、手間と時間が掛かる。ウェブアプリケーションの開発中には、例えば、HTMLの1行又は1文字を追記又は変更したり、画面デザインを1ピクセル変更したりする度に、確認するための画面を表示する場合もある。そうすると、小規模のウェブアプリケーションであっても数百回程度の画面を表示する必要があるため、その度にウェブアプリケーションをインストール、起動及び実行すると、夥しい手間と時間が掛かる。手間と時間を抑えるため、例えば、開発工程の区切りや開発最終段階のみ、画像形成装置のウェブブラウザーが画面を表示することが考えられる。しかしながら、この場合、そのときエラーが見つかった場合、同様のエラーが複数の画面のHTMLに埋め込まれている場合があり、手戻りが大きくなる可能性が有る。
【0025】
以上のような事情に鑑み、本開示の各実施形態では、画像形成装置のウェブブラウザーが画面を表示することによる正確性を担保しつつ、情報処理装置から画像形成装置にウェブアプリケーションをインストール等するのに掛かる手間と時間を排除することを図る。
【0026】
2.画像形成装置のハードウェア構成
【0027】
【0028】
画像形成装置10は、制御回路100を備える。制御回路100は、プロセッサーであるCPU11a(Central Processing Unit)、RAM11b(Random Access Memory)、メモリーであるROM11c(Read Only Memory)及び専用のハードウェア回路等から構成され、画像形成装置10の全体的な動作制御を司る。CPU11aは、ROM11cが記憶する情報処理プログラムをRAM11bにロードして実行する。ROM11cは、CPU11aが実行するプログラムやデータなどを固定的に記憶する。ROM11cは、非一過性のコンピューター読み取り可能な記録媒体の一例である。
【0029】
制御回路100は、画像読取部12(イメージスキャナー)、画像処理部14(GPU(Graphics Processing Unit)を含む)、画像メモリー15、画像形成部16(プリンター)、表示部17aを備える操作部17(タッチパネル)、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の大容量の不揮発性の記憶装置18、ファクシミリ通信部19及びネットワーク通信インターフェース13等と接続されている。制御回路100は、接続されている上記各部の動作制御や、各部との間での信号又はデータの送受信を行う。操作部17(タッチパネル)は、入力装置の一形態であり、入力装置として、マイクロフォンを含む音声入力装置が設けられてもよい。ネットワーク通信インターフェース13は、情報処理装置20とHTTP通信可能に接続するためのインターフェースである。
【0030】
3.情報処理装置のハードウェア構成
【0031】
【0032】
情報処理装置20は、CPU21、ROM22、RAM23、記憶装置24、ネットワーク通信インターフェース25、操作装置26及び表示装置27と、これらを相互に接続するバス28とを有する。
【0033】
CPU21、ROM22、及びRAM23は、制御回路200を構成する。CPU21は、ROM22が記憶する情報処理プログラムをRAM23にロードして実行する。ROM22は、CPU21が実行するプログラムやデータなどを固定的に記憶する。ROM22は、非一過性のコンピューター読み取り可能な記録媒体の一例である。ネットワーク通信インターフェース25は、画像形成装置10とHTTP通信可能に接続するためのインターフェースである。
【0034】
4.画面描画システムの機能的構成
【0035】
図4は、第1の実施形態に係る画面描画システムの機能的構成を示す。
【0036】
画像形成装置10の制御回路100は、第1のウェブサーバー110と、第1のウェブブラウザー120として動作する。第1のウェブサーバー110と、第1のウェブブラウザー120とは、相互に通信可能である。
【0037】
第1のウェブサーバー110は、スクリプト保存部111及び画面転送通知部112として動作する。
【0038】
第1のウェブブラウザー120は、スクリプト取得部121及びスクリプト実行部122として動作する。
【0039】
情報処理装置20の制御回路200は、第2のウェブサーバー210と、第2のウェブブラウザー220として動作する。第2のウェブサーバー210と、第2のウェブブラウザー220とは、相互に通信可能である。
【0040】
第2のウェブサーバー210は、画面データ送信部211を有する。さらに、第2のウェブサーバー210は、ウェブアプリケーション300を有する。
【0041】
ウェブアプリケーション300は、開発者が情報処理装置20を用いて開発中のウェブアプリケーションである。ウェブアプリケーション300は、ウェブアプリケーション300は、画面データ310(HTMLデータ)を含む。ウェブアプリケーション300は、画面データ310を画像形成装置10の表示部17a(タッチパネル)に表示させるよう、画像形成装置10の第1のウェブブラウザー120を動作させる。
【0042】
第2のウェブブラウザー220は、画面転送コマンド実行部221を有する。さらに、第2のウェブブラウザー220は、スクリプト400を有する。第2のウェブブラウザー220は、HTML又はJavaScript(登録商標)で記述される。
【0043】
スクリプト400は、URL401と、コマンド402とを含む。URL401は、コマンド402の実行に用いられるパラメータであり、子フレーム(インラインフレーム)を有する画面データ310の第2のウェブサーバー210内での位置を示す。コマンド402は、URL401にアクセスして画面データ310を取得して、子フレーム(インラインフレーム)を有する画面データ310を表示する(画面表示を遷移する)ことをリクエストするHTTPリクエストである。
【0044】
5.画面描画システムの動作フロー
【0045】
図5は、情報処理装置の第2のウェブブラウザーの動作フローを示す。
【0046】
情報処理装置20の第2のウェブブラウザー220の画面転送コマンド実行部221は、開発者から操作装置26に入力された操作を検出する(ステップS201)。すると、画面転送コマンド実行部221は、第2のウェブサーバー210を介して、スクリプト400を、ネットワークNを介して画像形成装置10の第1のウェブサーバー110に送信する(ステップS202)。
【0047】
図6は、画像形成装置の第1のウェブサーバーのイベント受信時の動作フローを示す。
【0048】
画像形成装置10の第1のウェブサーバー110のスクリプト保存部111は、スクリプト400を、情報処理装置20からネットワークNを介して受信する(ステップS101)。すると、スクリプト保存部111は、受信したスクリプト400を、RAM11b(不揮発性の記憶装置18でもよい。以下同じ)に記憶する(ステップS102)。
【0049】
画像形成装置10の第1のウェブサーバー110の画面転送通知部112は、スクリプト400を記憶したことを示すイベントを、画像形成装置10の第1のウェブブラウザー120に送信する(ステップS103)。イベントは、例えば、特殊な仮想キー(操作部17が有さないキー)が押下されたことを示す仮想キー押下イベントである(HTTP通信ではない)。
【0050】
図7は、画像形成装置の第1のウェブブラウザーのスクリプト取得部の動作フローを示す。
【0051】
画像形成装置10の第1のウェブブラウザー120のスクリプト取得部121は、イベントを、第1のウェブサーバー110から受信する(ステップS111)。すると、スクリプト取得部121は、スクリプト400をRAM11bから取得し(ステップS112)、スクリプト実行部122に供給する(ステップS113)。
【0052】
上述のように、スクリプト400は、URL401と、コマンド402とを含む。URL401は、子フレーム(インラインフレーム)を有する画面データ310の第2のウェブサーバー210内での位置を示す。コマンド402は、URL401にアクセスして画面データ310を取得して、子フレーム(インラインフレーム)を有する画面データ310を表示する(画面表示を遷移する)ことをリクエストするHTTPリクエストである。
【0053】
図8は、画像形成装置の第1のウェブブラウザーのスクリプト実行部の動作フローを示す。
【0054】
画像形成装置10の第1のウェブブラウザー120のスクリプト実行部122は、スクリプト400を、スクリプト取得部121から取得する(ステップS121)。スクリプト実行部122は、取得したスクリプト400を実行する。具体的には、スクリプト実行部122は、スクリプト400に含まれるコマンド402に従って、ネットワークNを介してURL401にアクセスする(ステップS122)。言い換えれば、スクリプト実行部122は、URL401に記述された子フレームを有する画面データ310(HTMLデータ)を取得するためのHTTPリクエスト(GET又はPOST)を、ネットワークNを介して情報処理装置20の第2のウェブサーバー210に送信する。
【0055】
図9は、情報処理装置の第2のウェブサーバーの動作フローを示す。
【0056】
情報処理装置20の第2のウェブサーバー210の画面データ送信部211は、コマンド402を、画像形成装置10の第1のウェブブラウザー120からネットワークNを介して受信する(ステップS211)。画面データ送信部211は、URL401に記述された子フレームを有する画面データ310(HTMLデータ)を、画像形成装置10の第1のウェブブラウザー120にネットワークNを介して送信する(ステップS212)。
【0057】
画像形成装置10の第1のウェブブラウザー120のスクリプト実行部122は、子フレームを有する画面データ310を、情報処理装置20の第2のウェブサーバー210からネットワークNを介して受信する(ステップS123)。スクリプト実行部122は、受信した、子フレーム123を有する画面データ310を描画して、表示部17a(タッチパネル)に表示する(ステップS124)。
【0058】
ところで、画像形成装置10の第1のウェブサーバー110は、スクリプト400を受信(ステップS101)及び記憶(ステップS102)するたびに、イベントを第1のウェブブラウザー120に送信する(ステップS103)(ループ)。しかしながら、第1のウェブブラウザー120のスクリプト実行部122が子フレーム123を有する画面データ310を描画及び表示した後は(ステップS124)、第1のウェブブラウザー120のスクリプト実行部122(子フレーム123)がイベントを受信することになる。その結果、スクリプト取得部121は、新たに記憶されたスクリプト400を取得できず、結果的に、スクリプト実行部122(子フレーム123)は新たなスクリプト400を実行できない。
【0059】
以上のような事情に鑑み、画像形成装置10の第1のウェブブラウザー120のスクリプト実行部122が子フレーム123を表示すると(ステップS124)、スクリプト取得部121は、第1のウェブサーバー110にポーリングを開始する(ステップS114)。具体的には、スクリプト取得部121は、第1のウェブサーバー110に、スクリプト400を新たに受信及び記憶したか否かを定期的に問い合わせる(ポーリング)。
【0060】
図10は、画像形成装置の第1のウェブサーバーのポーリング受信時の動作フローを示す。
【0061】
画像形成装置10の第1のウェブサーバー110は、第1のウェブブラウザー120から問い合わせ(ポーリング)を受信する(ステップS131)。すると、第1のウェブサーバー110のスクリプト保存部111は、新たにスクリプト400を情報処理装置20の第2のウェブブラウザー220から受信(ステップS101)及びRAM11bに記憶(ステップS102)したかを判断する(ステップS132)。スクリプト保存部111は、新たにスクリプト400を受信及び記憶したと判断すると(ステップS132、YES)、新たにスクリプト400を受信及び記憶したことを示す応答を、第1のウェブブラウザー120に送信する(ステップS133)。
【0062】
画像形成装置10の第1のウェブブラウザー120のスクリプト取得部121は、第1のウェブブラウザー120から新たにスクリプト400を受信及び記憶したことを示す応答(ステップS133)を受信する(ステップS115、YES)。すると、スクリプト取得部121は、スクリプト400をRAM11bから取得し(ステップS112)、スクリプト実行部122に供給する(ステップS113)。
【0063】
ところで、情報処理装置20の第2のウェブブラウザー220は、画面データ310を第2のウェブサーバー210から受信し、受信した画面データ310を描画して情報処理装置20の表示装置27に描画することもできる(上述の、1つ目の方法)。
【0064】
II.第2の実施形態
【0065】
第2及び第3の実施形態において、第1の実施形態と同一又は同様の構成及び動作は、同一又は同様の参照符号を付して説明及び図示を省略し、異なる構成及び動作を中心に説明する。特に、第2及び第3の実施形態の情報処理装置20の動作は、第1の実施形態の情報処理装置20の動作と同一のため、画像形成装置10の動作を中心に説明する。
【0066】
図11は、第2の実施形態に係る画面描画システムの機能的構成を示す。
【0067】
第2の実施形態では、画像形成装置10の第1のウェブブラウザー120は、第1のウェブサーバー110にポーリングをしない。しかしながら、画像形成装置10の第1のウェブサーバー110は、スクリプト400を新たに記憶する度に、イベントを第1のウェブブラウザー120に送信するため、ポーリング無しで問題は生じない。この仕組みにより、第1のウェブブラウザー120は、常に、イベントの受信をトリガとして、スクリプト400を取得する。この仕組み(常にイベントの受信をトリガとし、ポーリングしない)は、画面データ310が子フレーム(インラインフレーム)を有しない場合に、実現可能である。
【0068】
図12は、画像形成装置の第1のウェブブラウザーのスクリプト取得部の動作フローを示す。
【0069】
画像形成装置10の第1のウェブブラウザー120のスクリプト取得部121は、イベント(ステップS103)を、第1のウェブサーバー110から受信する(ステップS111)。すると、スクリプト取得部121は、スクリプト400をRAM11bから取得し(ステップS112)、スクリプト実行部122に供給する(ステップS113)。スクリプト実行部122は、スクリプト400を実行する(ステップS121-ステップS124)(
図8)。
【0070】
III.第3の実施形態
【0071】
図13は、第3の実施形態に係る画面描画システムの機能的構成を示す。
【0072】
第3の実施形態では、画像形成装置10の第1のウェブサーバー110は、イベントを第1のウェブブラウザー120に送信しない。これに対して、画像形成装置10の第1のウェブブラウザー120は、常に、第1のウェブサーバー110にポーリングをする。この仕組みにより、第1のウェブブラウザー120は、常に、ポーリングに対する応答をトリガとして、スクリプト400を取得する。この仕組み(イベントを送信せず、常にポーリングする)は、子フレーム(インラインフレーム)が初めから表示されている場合に、実現可能である。
【0073】
図14は、画像形成装置の第1のウェブサーバーの動作フローを示す。
【0074】
画像形成装置10の第1のウェブサーバー110のスクリプト保存部111は、スクリプト400を、情報処理装置20の第2のウェブブラウザー220からネットワークNを介して受信する(ステップS101)。すると、スクリプト保存部111は、受信したスクリプト400を、RAM11bに記憶する(ステップS102)。第1のウェブサーバー110は、イベントを送信しない。
【0075】
図15は、画像形成装置の第1のウェブブラウザーのスクリプト実行部の動作フローを示す。
【0076】
画像形成装置10の第1のウェブブラウザー120のスクリプト取得部121は、第1のウェブサーバー110にポーリングをする(ステップS114)。具体的には、スクリプト取得部121は、第1のウェブサーバー110に、スクリプト400を新たに受信及び記憶したか否かを定期的に問い合わせる(ポーリング)。第1のウェブサーバー110は、ポーリングに対して応答する(ステップS131-ステップS133)(
図10)。
【0077】
画像形成装置10の第1のウェブブラウザー120のスクリプト取得部121は、第1のウェブブラウザー120から新たにスクリプト400を受信及び記憶したことを示す応答(ステップS133)を受信する(ステップS115、YES)。すると、スクリプト取得部121は、スクリプト400をRAM11bから取得し(ステップS112)、スクリプト実行部122に供給する(ステップS113)。スクリプト実行部122は、スクリプト400を実行する(ステップS121-ステップS124)(
図8)。
【0078】
IV.結語
【0079】
(1)第1及び第2の実施形態によれば、画像形成装置10の第1のウェブサーバー110は、スクリプト400を情報処理装置20の第2のウェブブラウザー220から受信し、スクリプト400を記憶したことを示すイベントを第1のウェブブラウザー120に送信する。画像形成装置10の第1のウェブブラウザー120は、イベントを第1のウェブサーバー110から受信し、スクリプト400を実行することにより、スクリプト400に含まれる第2のウェブサーバー210内のURL401にアクセスして、画面データ310を第2のウェブサーバー210から受信し、画像形成装置10の表示部17a(タッチパネル)に表示する。
【0080】
これにより、ウェブアプリケーションを開発中の情報処理装置20から、ウェブアプリケーションを画像形成装置10にインストール等する手間と時間が掛からない。同時に、画像形成装置10の第1のウェブブラウザー120が画面を表示するため、正確性に欠けることが無い。これにより、ウェブアプリケーションをリリースする前に、より適切且つ確実に、ウェブアプリケーションの動作確認をすることを図れる。また、画像形成装置10の第1のウェブブラウザー120は、イベントの受信をトリガとしてスクリプト400を取得する(逆に言えば、イベントを受信しなければスクリプト400を取得しない)ため、画像形成装置10の制御回路100に係る負荷が小さい。
【0081】
(2)第1の実施形態によれば、画像形成装置10の第1のウェブブラウザー120は、スクリプト400を実行することにより、スクリプト400に含まれる第2のウェブサーバー210内のURL401にアクセスして、子フレーム123を有する画面データ310を第2のウェブサーバー210から受信し、子フレーム123を有する画面データ310を描画して画像形成装置10の表示部17a(タッチパネル)に表示する。
【0082】
これにより、画像形成装置10の第1のウェブブラウザー120は、1回目はイベントの受信をトリガとして、2回目以降は、イベントの受信以外の方法をトリガとして、スクリプト400を取得することができる。
【0083】
(3)第1の実施形態によれば、子フレーム123を作成した後、画像形成装置10の第1のウェブブラウザー120は、第1のウェブサーバー110に、スクリプト400を記憶したか否かをポーリングにより定期的に問い合わせる。
【0084】
これにより、画像形成装置10の第1のウェブブラウザー120は、1回目はイベントの受信をトリガとして、子フレーム123を表示した後は、ポーリングに対する応答をトリガとして、スクリプト400を取得することができる。言い換えれば、画像形成装置10の第1のウェブブラウザー120は、子フレーム123を表示した後は、ポーリングを開始する。これにより、画像形成装置10の第1のウェブサーバー110がスクリプト400を記憶したとき(要するに、開発者が画面データ310を表示させたいとき)のみ、第1のウェブブラウザー120がポーリングするので、常時(子フレーム123を表示する前から)ポーリングする場合に比べて、画像形成装置10の制御回路100に係る負荷が小さい。また、第1のウェブブラウザー120が子フレーム123を表示した後は、クロスドメインの制約により、子フレーム123がイベントを受信することになる。その結果、スクリプト取得部121は、新たに記憶されたスクリプト400を取得できず、結果的に、子フレーム123は新たなスクリプト400を実行できない。この状況であるにも拘らず、子フレーム123を表示した後は、ポーリングに対する応答をトリガとすれば、新たに記憶されたスクリプト400を取得することができる。
【0085】
(4)第3の実施形態によれば、画像形成装置10の第1のウェブブラウザー120は、第1のウェブサーバー110に、スクリプト400を記憶したか否かをポーリングにより定期的に問い合わせる。
【0086】
このように、ポーリングを用いることにより、クロスドメインの制約により子フレーム123がイベントを受信することになり、その結果、スクリプト取得部121は、新たに記憶されたスクリプト400を取得できず、結果的に、子フレーム123は新たなスクリプト400を実行できない状況であるにも拘らず、第1のウェブブラウザー120は、新たに記憶されたスクリプト400を取得することができる。
【0087】
(5)第1、第2及び第3の実施形態によれば、情報処理装置20の第2のウェブブラウザー220は、画面データ310を情報処理装置20の第2のウェブサーバー210から受信し、受信した画面データ310を描画して情報処理装置20の表示装置27に描画することもできる。
【0088】
このように、従来の様に情報処理装置20の第2のウェブブラウザー220が画面データ310を表示することもできるし、画像形成装置10の第1のウェブブラウザー120が画面データ310を表示することもできる。これにより、ウェブアプリケーションを開発中の情報処理装置20から、ウェブアプリケーションを画像形成装置10にインストール等する手間と時間が掛からない。同時に、画像形成装置10の第1のウェブブラウザー120が画面を表示するため、
正確性に欠けることが無い。
【0089】
本技術の各実施形態及び各変形例について上に説明したが、本技術は上述の実施形態にのみ限定されるものではなく、本技術の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【符号の説明】
【0090】
画面描画システム1
画像形成装置10
情報処理装置20
第1のウェブサーバー110
スクリプト保存部111
画面転送通知部112
第1のウェブブラウザー120
スクリプト取得部121
スクリプト実行部122
第2のウェブサーバー210
画面データ送信部211
第2のウェブブラウザー220
画面転送コマンド実行部221
ウェブアプリケーション300
画面データ310
スクリプト400
URL401
コマンド402