(57)【要約】【課題】ユーザー操作に対する改善された応答性能を有した環境を提供する。【解決手段】画像形成装置のウェブサーバー１０５が、画像形成装置の稼働状態が所定状態であることを検出する場合は、コンテンツ管理部１２７はサーバー３００から受信するバックグラウンド画面のコンテンツの変更要求６１１に従い記憶部１６０のコンテンツ１６５を変更する変更処理を実施し、画像形成装置の稼働状態が非所定状態であると検出される場合は、コンテンツ管理部１２７は、サーバー３００から受信する当該変更要求６１１に従うコンテンツ１６５の変更処理の実施を保留する。【選択図】図９
2020098478.tif 000002
【特許請求の範囲】
【請求項１】
画像形成装置であって、
ウェブブラウザーと、
ウェブアプリケーションを実行させるサーバーと通信する通信回路と、
前記ウェブアプリケーションに対応の画面のコンテンツを格納する記憶部と、を備え、
前記ウェブアプリケーションは対応の前記コンテンツを変更するための変更要求を出力し、
前記画面は、フォアグラウンドで実行されるウェブアプリケーションに対応のフォアグラウンド画面と、バックグラウンドで実行されるウェブアプリケーションに対応のバックグラウンド画面と、を含み、
前記ウェブブラウザーは、
前記記憶部の前記コンテンツを管理するコンテンツ管理部を、含み、
前記コンテンツ管理部は、
前記バックグラウンド画面のコンテンツの変更要求を受信したとき、前記画像形成装置の稼働状態が所定状態である場合は、当該受信した変更要求に従い前記記憶部のコンテンツを変更する変更処理を実施し、
前記バックグラウンド画面のコンテンツの変更要求を受信したとき、前記画像形成装置の稼働状態が非所定状態である場合は、当該受信した変更要求に従う前記変更処理の実施を保留する、画像形成装置。
【請求項２】
前記変更処理は、コンテンツを変更するために前記サーバーと通信する処理を含む、請求項１に記載の画像形成装置。
【請求項３】
前記変更要求は、前記バックグラウンドで実行されるウェブアプリケーションから出力される変更要求を含む、請求項１または２に記載の画像形成装置。
【請求項４】
前記コンテンツ管理部は、
前記バックグラウンドで実行されていたウェブアプリケーションが、前記フォアグラウンドの実行に切替えられたとき、前記保留されていた前記変更処理を実施する、請求項１から３のいずれかに記載の画像形成装置。
【請求項５】
ディスプレイをさらに備え、
前記フォアグラウンド画面は、前記ディスプレイに表示され、
前記バックグラウンド画面は、前記フォアグラウンド画面の背面側にレイアウトされる、請求項１から４のいずれか１項に記載の画像形成装置。
【請求項６】
前記コンテンツ管理部は、
前記変更処理の実施が保留される毎に、当該変更処理の前記変更要求をキューに格納し、
前記バックグラウンドで実行されていたウェブアプリケーションが、前記フォアグラウンドに切替えられるとき、前記キューに格納されている１つ以上の各前記変更要求に従う前記変更処理を実施する、請求項１から５のいずれか１項に記載の画像形成装置。
【請求項７】
前記コンテンツ管理部は、
前記キューに格納されている前記１つ以上の変更要求のうち、最近に格納された前記変更要求に従う前記変更処理を実施する、請求項６に記載の画像形成装置。
【請求項８】
前記コンテンツ管理部は、
前記画像形成装置が所定状態である場合は、前記サーバーから受信する前記変更要求のうち予め定められた種類のウェブアプリケーションから出力される変更要求に従う前記変更処理の実施を保留する、請求項１から７のいずれか１項に記載の画像形成装置。
【請求項９】
前記所定状態は、
前記画像形成装置にユーザーがログインした後にログアウトしたとき、
前記ログアウトの後に前記画像形成装置にユーザーがログインしたとき、および、
前記画像形成装置に対するユーザーの操作がなされない時間が所定時間継続したとき、のうちのいずれか１つを含む、請求項１から８のいずれか１項に記載の画像形成装置。
【請求項１０】
前記変更処理は、前記画面の全体または一部が変更されるように、前記コンテンツを変更する処理を含む、請求項１から９のいずれか１項に記載の画像形成装置。
【請求項１１】
前記コンテンツ管理部は、
前記画像形成装置の稼働状態が所定状態である場合は、前記サーバーから受信する前記変更要求に従い、前記アプリケーションに対応の画面の全体が変更されるように、前記記憶部のコンテンツを変更する変更処理を実施する、請求項１０に記載の画像形成装置。
【請求項１２】
前記画像形成装置の稼働状態が非所定状態である場合に実施が保留される前記変更処理は、前記画面の一部が変更されるように、前記コンテンツを変更する処理を含む、請求項１０または１１に記載の画像形成装置。
【請求項１３】
画像形成装置を制御する方法であって、
前記画像形成装置は、
ウェブアプリケーションに対応の画面のコンテンツを格納する記憶部を備え、
前記ウェブアプリケーションはサーバーにおいて実行されることにより対応の前記コンテンツを変更するためのコマンドを含む変更要求を出力し、
前記画面は、フォアグラウンドで実行されるウェブアプリケーションに対応のフォアグラウンド画面と、バックグラウンドで実行されるウェブアプリケーションに対応のバックグラウンド画面と、を含み、
前記方法は、
前記サーバーと通信するステップと、
前記記憶部の前記コンテンツを管理するステップを、含み、
前記コンテンツを管理するステップは、
前記バックグラウンド画面のコンテンツの変更要求を受信したとき、前記画像形成装置の稼働状態が所定状態である場合は、当該受信した変更要求に従い前記記憶部のコンテンツを変更する変更処理を実施するステップと、
前記バックグラウンド画面のコンテンツの変更要求を受信したとき、前記画像形成装置の稼働状態が非所定状態である場合は、当該受信した変更要求に従う前記変更処理の実施を保留するステップと、を備える、方法。
【請求項１４】
コンピューターに画像形成装置を制御する方法を実行させるためのプログラムであって、
前記画像形成装置は、
ウェブアプリケーションに対応の画面のコンテンツを格納する記憶部を備え、
前記ウェブアプリケーションはサーバーにおいて実行されることにより対応の前記コンテンツを変更するためのコマンドを含む変更要求を出力し、
前記画面は、フォアグラウンドで実行されるウェブアプリケーションに対応のフォアグラウンド画面と、バックグラウンドで実行されるウェブアプリケーションに対応のバックグラウンド画面と、を含み、
前記方法は、
前記サーバーと通信するステップと、
前記記憶部の前記コンテンツを管理するステップを、含み、
前記コンテンツを管理するステップは、
前記バックグラウンド画面のコンテンツの変更要求を受信したとき、前記画像形成装置の稼働状態が所定状態である場合は、当該受信した変更要求に従い前記記憶部のコンテンツを変更する変更処理を実施するステップと、
前記バックグラウンド画面のコンテンツの変更要求を受信したとき、前記画像形成装置の稼働状態が非所定状態である場合は、当該受信した変更要求に従う前記変更処理の実施を保留するステップと、を備える、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この開示は画像形成装置、方法およびプログラムに関し、特に、ウェブブラウザーの画面を表示する画像形成装置、方法およびプログラムに関する。
【背景技術】
【０００２】
ウェブ（Web）技術を基にＵＩ（User  Interface）のための画面を作成するアプリケーションプログラム（以下、アプリケーションという）が提案されている。ウェブ技術を基にしたＵＩ画面（以下、ウェブＵＩ画面ともいう）は、ウェブブラウザープログラム（以下、ウェブブラウザーと称する）により表示可能であるから、ウェブブラウザーが搭載されている機器であれば、その機器のＯＳ（Operating  System）に依存することなくウェブＵＩ画面を表示することができる。
【０００３】
プリンターまたはコピー機またはそれらの複合機であるＭＦＰ（Multi-Function Peripherals）等の画像形成装置においても、ウェブブラウザーが搭載されている。ＭＦＰには、コピー、スキャン、ファクシミリなどの基本機能のアプリケーションに加えて、ユーザーが使いやすくカスタマイズしたアプリケーション（例えば、ユーザーが良く使う機能に特化した簡単コピーアプリケーション、ユーザーの業務に合わせたワークフローアプリケーション）が備えられる。
【０００４】
これら複数のアプリケーションは、ＭＦＰの外部またはＭＦＰの内部のウェブサーバーに備えられる。ウェブサーバーは、クライアントとなるＭＦＰのウェブブラウザーからのリクエストを受信し、複数のアプリケーションのうち受信したリクエストに対応のアプリケーションを起動する。ウェブサーバーは、起動されたアプリケーションにより生成されるコンテンツ（例えば、画面を表示させるためのコンテンツ）を、クライアントに送信する。このため、ユーザー操作からコンテンツの画面を表示するまでの所要時間を短くして、ユーザー操作に対する応答性能を高めることが望まれている。
【０００５】
例えば、特開２０１５−２１０６６３号公報（特許文献１）では、ユーザーがバックグラウンド通信の抑制条件を設定し、ウェブブラウザーは設定された条件に従いバックグラウンドにおける通信を抑制する技術を開示する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１５−２１０６６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
一方、ＭＦＰなどの画像形成装置は、現在表示しユーザーが操作しているアプリケーション（フォアグラウンドで動作するアプリケーション）のレスポンスをよくしたいとのニーズがある。このニーズに対して、例えば特許文献１のように、バックグラウンドにおける通信を抑制する技術を適用することで応えることができる。
【０００８】
しかし、画像形成装置がステムオートリセットを実施する必要がある場合、バックグラウンドにおける通信が抑制されているステムオートリセットの実施が困難となる。具体的には、画像形成装置に対し一定時間無操作の状態では、ユーザー操作性に対する応答性能を高めるために、システムオートリセットが実施される。システムオートリセットでは、バックグラウンドのアプリケーションも含めて操作途中のアプリケーションの設定値またはデータがクリアされる。これにより、画像形成装置の次の操作時には、初期状態から操作可能となる。このように、一律に、上述したようにバックグラウンドにおける通信が抑制されるとすれば、例えばシステムオートリセットを実施することができなくなり、ユーザー操作に対する応答性能を維持することが困難となる。
【０００９】
それゆえに、本開示は、画像形成装置においてユーザー操作に対する改善された応答性能を有した環境を提供することを一つの目的としている。
【課題を解決するための手段】
【００１０】
本開示の一例にかかる画像形成装置は、ウェブブラウザーと、ウェブアプリケーションを実行させるサーバーと通信する通信回路と、ウェブアプリケーションに対応の画面のコンテンツを格納する記憶部と、を備え、ウェブアプリケーションは実行されることにより対応のコンテンツを変更するためのコマンドを含む変更要求を出力し、画面は、フォアグラウンドで実行されるウェブアプリケーションに対応のフォアグラウンド画面と、バックグラウンドで実行されるウェブアプリケーションに対応のバックグラウンド画面と、を含み、ウェブブラウザーは、記憶部のコンテンツを管理するコンテンツ管理部を、含み、コンテンツ管理部は、バックグラウンド画面のコンテンツの変更要求を受信したとき、画像形成装置の稼働状態が所定状態である場合は、受信する変更要求に従い記憶部のコンテンツを変更する変更処理を実施し、バックグラウンド画面のコンテンツの変更要求を受信したとき、画像形成装置の稼働状態が非所定状態である場合は、受信する変更要求に従う変更処理の実施を保留する。
【００１１】
上述の開示おいて、変更処理は、コンテンツを変更するためにサーバーと通信する処理を含む。
【００１２】
上述の開示において、変更要求は、バックグラウンドで実行されるウェブアプリケーションから出力される変更要求を含む。
【００１３】
上述の開示において、コンテンツ管理部は、バックグラウンドで実行されていたウェブアプリケーションが、フォアグラウンドの実行に切替えられたとき、保留されていた変更処理を実施する。
【００１４】
上述の開示にかかる画像形成装置は、ディスプレイをさらに備え、フォアグラウンド画面は、ディスプレイに表示され、バックグラウンド画面は、フォアグラウンド画面の背面側にレイアウトされる。
【００１５】
上述の開示において、コンテンツ管理部は、変更処理の実施が保留される毎に、当該変更処理の変更要求をキューに格納し、バックグラウンドで実行されていたウェブアプリケーションが、フォアグラウンドに切替えられるとき、キューに格納されている１つ以上の各変更要求に従う変更処理を実施する。
【００１６】
上述の開示において、コンテンツ管理部は、キューに格納されている１つ以上の変更要求のうち、最近に格納された変更要求に従う変更処理を実施する。
【００１７】
上述の開示において、コンテンツ管理部は、画像形成装置が所定状態である場合は、サーバーから受信する変更要求のうち予め定められた種類のウェブアプリケーションから出力される変更要求に従う変更処理の実施を保留する。
【００１８】
上述の開示において所定状態は、画像形成装置にユーザーがログインした後にログアウトしたとき、ログアウトの後に画像形成装置にユーザーがログインしたとき、および、画像形成装置に対するユーザーの操作がなされない時間が所定時間継続したとき、のうちのいずれか１つを含む。
【００１９】
上述の開示において、変処理は、画面の全体または一部が変更されるように、コンテンツを変更する処理を含む。
【００２０】
上述の開示おいて、コンテンツ管理部は、画像形成装置の稼働状態が所定状態である場合は、サーバーから受信する変更要求に従い、アプリケーションに対応の画面の全体が変更されるように、記憶部のコンテンツを変更する変更処理を実施する。
【００２１】
上述の開示において、画像形成装置の稼働状態が非所定状態である場合に実施が保留される変更処理は、画面の一部が変更されるように、コンテンツを変更する処理を含む。
【００２２】
この開示の他の例では、画像形成装置を制御する方法が提供される。画像形成装置は、ウェブアプリケーションに対応の画面のコンテンツを格納する記憶部、を備え、ウェブアプリケーションはサーバーにおいて実行されることにより対応のコンテンツを変更するためのコマンドを含む変更要求を出力し、画面は、フォアグラウンドで実行されるウェブアプリケーションに対応のフォアグラウンド画面と、バックグラウンドで実行されるウェブアプリケーションに対応のバックグラウンド画面と、を含み、方法は、サーバーと通信するステップと記憶部のコンテンツを管理するステップを、含み、コンテンツを管理するステップは、バックグラウンド画面のコンテンツの変更要求を受信したとき、画像形成装置の稼働状態が所定状態である場合は、受信する変更要求に従い記憶部のコンテンツを変更する変更処理を実施するステップと、バックグラウンド画面のコンテンツの変更要求を受信したとき、画像形成装置の稼働状態が非所定状態である場合は、受信する変更要求に従う変更処理の実施を保留するステップと、を備える。
【００２３】
この開示の他の例では、コンピューターに画像形成装置を制御する方法を実行させるためのプログラムが提供される。
【００２４】
画像形成装置は、ウェブアプリケーションに対応の画面のコンテンツを格納する記憶部、を備え、ウェブアプリケーションはサーバーにおいて実行されることにより対応のコンテンツを変更するためのコマンドを含む変更要求を出力し、画面は、フォアグラウンドで実行されるウェブアプリケーションに対応のフォアグラウンド画面と、バックグラウンドで実行されるウェブアプリケーションに対応のバックグラウンド画面と、を含み、方法は、サーバーと通信するステップと、記憶部のコンテンツを管理するステップを、含み、コンテンツを管理するステップは、バックグラウンド画面のコンテンツの変更要求を受信したとき、画像形成装置の稼働状態が所定状態である場合は、受信する変更要求に従い記憶部のコンテンツを変更する変更処理を実施するステップと、バックグラウンド画面のコンテンツの変更要求を受信したとき、画像形成装置の稼働状態が非所定状態である場合は、受信する変更要求に従う変更処理の実施を保留するステップと、を備える。
【発明の効果】
【００２５】
本開示の一例によれば、画像形成装置においてユーザー操作に対する改善された応答性能を有する環境が提供される。
【図面の簡単な説明】
【００２６】
【図１】実施の形態にかかるシステム１の概略的な構成を示す図である。
【図２】実施の形態にかかるＭＦＰ１００のハードウェアの構成の一例を概略的に示す図である。
【図３】実施の形態にかかるサーバー３００のハードウェア構成の一例を概略的に示す図である。
【図４】本実施の形態にかかるウェブブラウザー１０５の制御構造を周辺部と関連づけて模式的に示す図である。
【図５】本実施の形態にかかるアプリケーション画面の一例を模式的に示す図である。
【図６】本実施の形態にかかるアプリケーション画面の一例を模式的に示す図である。
【図７】本実施の形態にかかるアプリケーション画面の一例を模式的に示す図である。
【図８】本実施の形態にかかるアプリケーション画面の階層的な表示の一例を模式的に示す図である。
【図９】本実施の形態にかかるコンテンツ解析部１０７の構成と記憶部１６０に格納される情報の一例を模式的に示す図である。
【図１０】本実施の形態にかかるサーバー３００が備える制御構造の一例を模式的に示す図である。
【図１１】本実施の形態にかかるコンテンツ全体処理によるアプリケーション画面の変更の一例を模式的に示す図である。
【図１２】本実施の形態にかかるコンテンツ全体処理によるアプリケーション画面の変更の一例を模式的に示す図である。
【図１３】本実施の形態にかかるコンテンツ部分処理によるアプリケーション画面の表示例を模式的に示す図である。
【図１４】本実施の形態にかかるコンテンツ部分処理によるアプリケーション画面の他の表示例を模式的に示す図である。
【図１５】本実施の形態にかかるコンテンツ部分処理によるアプリケーション画面の他の表示例を模式的に示す図である。
【図１６】本実施の形態にかかる階層変更処理によるアプリケーション画面の表示例を模式的に示す図である。
【図１７】本実施の形態にかかる階層変更処理によるアプリケーション画面の表示例を模式的に示す図である。
【図１８】本実施の形態にかかるＭＦＰシステム１０２の通知６１２に基づく変更要求６１１に従うシーケンスの一例を模式的に示す図である。
【図１９】本実施の形態にかかるＭＦＰシステム１０２の通知６１２に基づく変更要求６１１のシーケンスの他の例を模式的に示す図である。
【図２０】本実施の形態にかかるアプリケーションからの変更要求６１１をエンキューするシーケンスを模式的に示す図である。
【図２１】本実施の形態にかかるコンテンツの変更処理のフローチャートの一例を示す図である。
【発明を実施するための形態】
【００２７】
以下、図面を参照しつつ、各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらの説明は繰り返さない。
【００２８】
まず、本実施の形態における用語を説明する。
「画像形成装置」は、例えばプリンター、スキャナー、コピー機およびファクシミリ機、ならびにこれら機器の機能を備えるＭＦＰを含む。
【００２９】
「アプリケーション」は、画像形成装置が備える機能を実現するために実行されるウェブアプリケーションプログラムである。
【００３０】
「アプリケーション画面」は、画像形成装置のアプリケーションに対応付けられた画面であり、画像から構成される。「アプリケーション画面」は、例えば、画像形成装置に関連付けられたディスプレイに表示される。
【００３１】
「ＵＩ部品」は、画像を構成する部分画像であって、ユーザーにより操作されると操作内容を受付ける機能を備える。本実施の形態では、ＵＩ部品には、アプリケーションが関連付けされ得る。
【００３２】
「コンテンツ」は、画面の画像を構成するためのデータであり、本実施の形態では、アプリケーションが実行されることにより生成される。この画面の「コンテンツ」は、アプリケーションの識別子とともに、例えば、画像（静止画、動画（映像））、文字、音声、および例えばＪａｖａ（登録商標）スクリプトなどのコマンドなどを含む。また、コンテンツの画像がＵＩ部品を含む場合は、各ＵＩ部品に対応して、画像が表示された場合の当該ＵＩ部品の画面上の位置と、当該ＵＩ部品に関連付けられたアプリケーションの識別子を含む。
【００３３】
「階層的な表示」とは、アプリケーションがマルチに実行可能な環境において、複数のアプリケーション画面を同一ディスプレイにレイアウトするための表示態様である。「階層的な表示」では、複数のアプリケーション画面が階層構造に従い重なりあってレイアウトされる。
【００３４】
「画面の階層」とは、上記の階層構造を構成する各アプリケーション画面がレイアウトされる階層を示す。
【００３５】
「フォアグラウンド画面」は、上記の「階層的な表示」においてディスプレイの表面側に近い階層にレイアウトされるアプリケーション画面である。
【００３６】
「バックグラウンド画面」は、フォアグラウンド画面の背面側（フォアグラウンド画面を挟んでディスプレイの表面側とは反対側）の階層でレイアウトされるアプリケーション画面である。本実施の形態では、「バックグラウンド画面」が表示される場合、「バックグラウンド画面」は「フォアグラウンド画面」が重ねられることで一部または全部が隠されて、ディスプレイの表面には一部または全部が映しだされない画面である。
【００３７】
「フォアグラウンドアプリケーション」は、「フォアグラウンド画面」に対応付けられるアプリケーションプを示し、「バックグラウンドアプリケーション」は、「バックグラウンド画面」に対応付けられるアプリケーションを示す。
【００３８】
「初期画面」は、画像形成装置が備える各機能に対応のアプリケーションが実行されことにより提供される１または複数枚のアプリケーション画面のうち、当該機能が提供する基本機能の画面（以下では、トップ画面ともいう）を示す。「初期画面」は、例えば、機能が提供する応用機能の一覧を示すメニュー画面を含み得る。
【００３９】
「非初期画面」は、「初期画面」ではないアプリケーション画面であって、例えば応用機能のアプリケーション画面を示す。「非初期画面」は、ユーザー操作による応用機能に対する項目設定を受付けるための項目設定画面を含む。このような項目設定画面では、ユーザー操作により設定された項目が視覚化して表示され得る。
【００４０】
＜Ａ．ハードウェア構成＞
（ａ１．システムの構成）
図１は、実施の形態にかかるシステム１の概略的な構成を示す図である。図１を参照して、システム１は、画像形成装置の一実施例であるＭＦＰ１００、およびＭＦＰ１００と有線または無線のネットワーク４００を介してデータを遣り取りするウェブ（Ｗｅｂ）サーバーであるサーバー３００を備える。また、ＭＦＰ１００は、内蔵サーバー２００を備える。内蔵サーバー２００は、ＭＦＰ１００内に備えられるウェブサーバーである。サーバー３００と内蔵サーバー２００は、ウェブサービス（コンテンツなど）をＭＦＰ１００に提供する。ネットワーク４００は、ＬＡＮ（Local Area Network）またはＷＡＮ（Wide Area Network）などを含む。ネットワーク４００を介した通信には、例えばＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）、ＨＴＴＰ（Hypertext Transfer Protocol）などの各種のプロトコルを適用することができる。なお、ネットワーク４００には、上記以外の機器が接続されてもよい。また、ネットワーク４００に接続されるＭＦＰ１００は１台に限られず、複数台であってもよい。
【００４１】
（ａ２．ＭＦＰ１００のハードウェア構成）
図２は、実施の形態にかかるＭＦＰ１００のハードウェアの構成の一例を概略的に示す図である。図２を参照して、ＭＦＰ１００は、ＭＦＰ１００を制御するための制御部に相当するＣＰＵ（Central Processing Unit）１５０、プログラムおよびデータを格納するための記憶部１６０、情報の入出力部１７０、ネットワーク４００を介してサーバー３００と通信するためのネットワーク通信ＩＦ（InterFaceの略）１５６、画像データを含む各種データを記憶するハードディスクなどの記憶部１７３、データリーダー/ライター１７４、内蔵サーバー２００、および内蔵サーバー２００と通信するための内部通信回路１７５、および各種処理部を含む。
【００４２】
内部通信回路１７５は、データバスを介して、ＨＴＴＰなどの通信プロトコルを用いて内蔵サーバー２００と通信する。内部通信回路１７５は、例えばＮＩＣ（Network Interface Card）またはＬＡＮボードなどのハードウェア回路を備える。
【００４３】
記憶部１６０は、ＣＰＵ１５０により実行されるプログラムおよびデータを記憶するためのＲＯＭ（Read Only Memory）、ＣＰＵ１５０によりプログラムを実行する際の作業領域として供されるＲＡＭ（Random Access Memory）および不揮発メモリなどを含む。記憶部１６０には、ウェブブラウザー１０５のプログラムおよび関連するデータを格納する領域を有する。記憶部１６０は、ウェブブラウザー１０５を格納する。例えば、ウェブブラウザー１０５を格納する領域は、不揮発メモリに備えられるが、格納領域は、不揮発メモリまたは記憶部１６０に限定されず、後述する記憶媒体１７６であってもよい。
【００４４】
入出力部１７０は、ディスプレイ１７１Ｂおよび駆動信号に基づきディスプレイ１７１Ｂを駆動する回路である表示ドライバー１７１Ａを含む表示部１７１、およびユーザーがＭＦＰ１００に対して情報を入力するために操作する操作部１７２を含む。ここでは、表示部１７１と操作部１７２は、一体的に構成されたタッチパネルとして提供されてもよい。
【００４５】
通信ＩＦ１５６は、「通信回路」の一実施例であって、例えばＮＩＣ（Network Interface Card）などの回路を含んで構成される。通信ＩＦ１５６は、サーバー３００を含む外部装置とネットワーク４００を介して通信するためのデータ通信部１５７を含む。データ通信部１５７は、データを、ネットワーク４００を介してサーバー３００を含む外部装置に送信するための送信部１５８、およびネットワーク４００を介してサーバー３００を含む外部装置からデータを受信する受信部１５９を含む。
【００４６】
データリーダー/ライター１７４は、記憶媒体１７６が脱着自在に装着される。データリーダー/ライター１７４は、装着された記憶媒体１７６からプログラムまたはデータを読出す回路と、記憶媒体１７６にデータを書込む回路を有する。
【００４７】
各種処理部は、画像処理部１５１、画像形成部１５２、図示しないファクシミリ回路を制御するためのファクシミリ制御部１５３、図示しないプリンターを制御する画像出力部１５４および画像読取部１５５を備える。
【００４８】
画像処理部１５１は、入力された画像データを処理することにより、たとえば出力される画像の拡大・縮小等の処理を実行する。画像処理部１５１は、たとえば画像処理用のプロセッサーおよびメモリーによって実現される。画像形成部１５２は、トナーカートリッジ、記録用紙を収容するための用紙トレイ、および、感光体等の、記録用紙に画像を形成するためのモーターを含むハードウェア資源、ならびに、記録用紙を搬送するためのモーターを含むハードウェア資源によって実現される。画像読取部１５５は、原稿を光学的に読み取って画像データを得るためのスキャナー等の、原稿の画像データを生成するように構成されたハードウェア資源によって実現される。画像処理部１５１、画像形成部１５２、ファクシミリ制御部１５３、画像出力部１５４および画像読取部１５５のそれぞれの機能は、ＭＦＰ１００においてよく知られたものであるから、ここでは詳細な説明は繰返さない。
【００４９】
これら各処理部は、ＣＰＵ１５０から制御データを受付けて、制御データに基づき駆動信号（電圧信号または電流信号）を生成し、生成した駆動信号を内部回路（例えばモーター等のハードウェア）に出力する。これにより、指令に従い各処理部のハードウェアが動作する。
【００５０】
内蔵サーバー２００は、ＣＰＵ２１０、ＲＯＭ、ＲＡＭおよびＨＤＤなどを含む記憶部２２０、「通信回路」の一実施例であるネットワーク通信ＩＦ（Interfaceの略）２３０および内部通信回路２４０を含む。内部通信回路２４０は、内部通信回路１７５と同様の構成を備えるので説明は繰り返さない。ネットワーク通信ＩＦ２３０は、ネットワーク４００を介して、サーバー３００を含む外部装置と通信する。ネットワーク通信ＩＦ２３０は、ネットワーク通信ＩＦ１５６と同様の構成を備えるので、説明は繰り返さない。
【００５１】
なお、本実施の形態では、ＭＦＰ１００は、内蔵サーバー２００をハードウェア機器として実装しているが、内蔵サーバー２００の実装形式は、これに限定されない。例えば、記憶部１６０にサーバープログラムが格納されて、ＣＰＵ１５０はサーバープログラムを記憶部１６０から読出して実行することにより、仮想的に内蔵サーバー２００と同様の機能を提供するとしてもよい。
【００５２】
（ａ３．サーバー３００のハードウェア構成）
図３は、実施の形態にかかるサーバー３００のハードウェア構成の一例を概略的に示す図である。図３を参照して、サーバー３００は、サーバー３００を制御するためのＣＰＵ３０、記憶部３４、ネットワークコントローラー３５およびリーダー/ライター３６を含む。記憶部３４は、ＣＰＵ３０により実行されるプログラムおよびデータを記憶するためのＲＯＭ３１、ＲＡＭ３２、各種の情報を格納するためのＨＤＤ（Hard Disk Drive）３３、およびネットワーク４００を介してＭＦＰ１００，内蔵サーバー２００と通信するネットワークコントローラー３５を含む。ＲＡＭ３２は、各種情報を記憶する領域と、ＣＰＵ３０でプログラムを実行する際の作業領域とを含む。ネットワークコントローラー３５は、ＮＩＣなどを含む。
【００５３】
リーダー/ライター３６は、記憶媒体３７が脱着自在に装着される。リーダー/ライター３６は、装着された記憶媒体３７からプログラムまたはデータを読出す回路と、記憶媒体３７にデータを書込む回路を有する。
【００５４】
図２に示された記憶媒体１７６および図３に示された記憶媒体３７は、コンピューターその他装置、機械等が記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的または化学的作用によって蓄積する媒体である。
【００５５】
＜Ｂ．ウェブブラウザー１０５の構成＞
図４は、本実施の形態にかかるウェブブラウザー１０５の制御構造を周辺部と関連づけて模式的に示す図である。図４を参照して、ウェブブラウザー１０５は、描画部１０６、コンテンツ解析部１０７、コマンド実行エンジン１０８、システム間ＩＦ（Interfaceの略）モジュール１０９およびネットワークモジュール１１０が実現される。
【００５６】
また、ＭＦＰ１００では、ウェブブラウザー１０５の周辺部において、操作受付部１０３、表示ドライバー１７１Ａ、ＭＦＰ１００のＯＳ（Operating System）/ドライバー１０１のもとで動作するＭＦＰシステム１０２のモジュールが備えられる。ＯＳ（Operating System）/ドライバー１０１は、ＯＳとＣＰＵ１５０に接続される入出力部１７０などのデバイスを操作するドライバープログラムにより実現されるモジュールを含む。ＭＦＰシステム１０２は、ＭＦＰ１００の稼働状態を検出し、検出した稼働状態をウェブブラウザー１０５に通知する、いわゆるＭＦＰ１００の稼働状態を管理する状態管理部に相当する。ＭＦＰ１００の稼働状態は、上記に述べた各種処理部を用いたジョブであって、画像形成にかかるジョブの実行状態を含む。
【００５７】
図４のウェブブラウザー１０５の各部は、記憶部１６０または記憶媒体１７６に格納されたウェブブラウザー１０５のプログラムをＣＰＵ１５０が読出し実行することにより実現されてもよい。または、図４のウェブブラウザー１０５の各部は、ＡＳＩＣ（Application Specific Integrated Circuit）またはＦＰＧＡ（Field-Programmable Gate Array）などの回路により実現してもよく、または、これら回路とプログラムの組合わせで実現してもよい。
【００５８】
ウェブブラウザー１０５のシステム間ＩＦモジュール１０９は、ＭＦＰシステム１０２とコンテンツ解析部１０７との間でデータの遣り取りを中継する。ネットワークモジュール１１０は、ネットワーク通信ＩＦ１５６を制御することにより、ネットワーク４００を介したサーバー３００との通信、および内部通信回路１７５を制御することにより内蔵サーバー２００との通信を実施する。
【００５９】
コンテンツ解析部１０７は、システム間ＩＦ１０９を介してＭＦＰシステム１０２から受信する情報およびネットワークモジュール１１０を介して受信するデータ（要求およびコンテンツを含む）を、解析し、解析結果に基く処理を実施する。
【００６０】
コンテンツ解析部１０７が扱うコンテンツは、典型的には、ディスプレイ１７１Ｂに画面を表示するためのコンテンツを含む。コマンド実行エンジン１０８は、コマンドを実行し、その実行結果をコンテンツ解析部１０７に出力する。
【００６１】
また、コンテンツ解析部１０７は、コンテンツの解析の結果に基き画像データを生成し、生成された画像データを描画部１０６に出力する。この画像データは、アプリケーション画面を構成する画像データを含む。描画部１０６は、画像データから例えばビットマップデータを含む表示制御データを生成し、生成された表示制御データを表示ドライバー１７１Ａに出力する。表示ドライバー１７１Ａは、表示制御データに基づき駆動信号を生成し、生成された駆動信号をディスプレイ１７１Ｂに出力する。これにより、コンテンツ解析部１０７で解析されたコンテンツに基づく画面が、ディスプレイ１７１Ｂに表示される。
【００６２】
描画部１０６は、コンテンツ解析部１０７からの画像データが、複数のアプリケーションのそれぞれに対応のアプリケーション画面を表示させるための画像データである場合は、ディスプレイ１７１Ｂに各アプリケーション画面を階層的に表示させるための表示制御データを生成する。画面の階層的な表示の詳細は後述する。
【００６３】
操作受付部１０３は、操作部１７２を介したユーザー操作の内容を受付けて、受付けた操作内容（データ）をＭＦＰシステム１０２に出力する。このユーザー操作内容は、画面のＵＩ部品に対するユーザー操作内容を含む。操作受付部１０３は、操作されたＵＩ部品の画面上の位置情報を検出し、ＭＦＰシステム１０２に出力する。なお、操作受付部１０３が識別する操作内容は、操作の種類（タッチ、クリックなど）と操作位置を含み得る。ＭＦＰシステム１０２は、操作受付部１０３からＵＩ部品の位置情報を受付けたとき、位置情報をシステム間ＩＦ１０９を介してコンテンツ解析部１０７に出力する。
【００６４】
＜Ｃ．アプリケーション画面と階層的な表示＞
図５〜図７は、本実施の形態にかかるアプリケーション画面の一例を模式的に示す図である。本実施の形態では、アプリケーションとして、例えば、ユーザーのＭＦＰ１００に対するログインおよびログアウトを受付けるための認証アプリケーション、画像形成装置（ＭＦＰ１００）が備える機能の一覧を提示し、一覧において指定された機能を受付けるためのメニューアプリケーション、印刷機能に関するサービスを提供するコピーアプリケーション、コピー機能に関するサービスを提供するコピーアプリケーションなどを例示するが、アプリケーションの種類はこれらに限定されない。
【００６５】
図５、図６および図７は、それぞれ、認証アプリケーションのアプリケーション画面、メニューアプリケーションのアプリケーション画面およびコピーアプリケーションのアプリケーション画面の一例を示す。図８は、本実施の形態にかかるアプリケーション画面の階層的な表示の一例を模式的に示す図である。図８では、例えば、認証アプリケーション、メニューアプリケーションおよびコピーアプリケーションがマルチに実行されている環境において、図５、図６および図７のアプリケーション画面が階層構造に従い重なりあってレイアウトされている。図８では、認証アプリケーション画面がフォアグラウンド画面を構成し、メニューアプリケーション画面およびコピーアプリケーション画面はバックグラウンド画面を構成する。図８の階層構造によれば、ディスプレイ１７１Ｂの表面を介してフォアグラウンド画面（認証アプリケーション画面）はユーザーには視覚可能なので、ユーザーはフォアグラウンド画面に対して操作（例えば、ＵＩ部品の操作）をすることでできるが、バックグラウンド画面はフォアグラウンド画面に隠されている、すなわちユーザーは視覚できないので、ユーザーはバックグラウンド画面に対して操作（例えば、ＵＩ部品の操作）することはできない。階層構造においては、ユーザー操作に従い、アプリケーション画面の階層を変更することができる。本実施の形態では、フォアグラウンド画面は、階層構造を構成するアプリケーション画面のうち最も最近にユーザー操作がなされたアプリケーション画面であるともいえる。
【００６６】
＜Ｄ．コンテンツ解析部と関連する情報＞
図９は、本実施の形態にかかるコンテンツ解析部１０７の構成と記憶部１６０に格納される情報の一例を模式的に示す図である。図９では、コンテンツ解析部１０７の具体的なモジュール構成と、コンテンツ解析部１０７による読書きされる記憶部１６０の中の情報の一例が相互に関連付けて示される。
【００６７】
（ｄ１．記憶部１６０の情報の一例）
図９を参照して、記憶部１６０は、キュー１６１とキュー１６９を格納する領域と、画面管理情報１６２を格納する領域と、表示制御データ１６８を格納する領域とを有する。キュー１６１は、ＦＩＦＯ（First In First Out）に従い、１または複数の変更要求６１１を保持（格納）する。キュー１６１に保持される変更要求６１１は、アプリケーション画面のコンテンツを変更するためのコマンドを含む。キュー１６９は、ＦＩＦＯ（First In First Out）に従い、ＭＦＰシステム１０２から受信するＭＦＰ１００の稼働状態を示す通知６１２を保持（格納）する。
【００６８】
ここでは、ＭＦＰ１００の稼働状態は、（ｉ）ＭＦＰ１００にユーザーがログインした後にログアウトした状態、（ｉｉ）ログアウト後のＭＦＰ１００にユーザーがログインした状態、（ｉｉｉ）ログインの後にＭＦＰ１００に対するユーザーの操作がなされない時間が所定時間継続したシステムオートリセット状態、（ｉｖ）ジョブの実行状態、および（ｖ）ジョブ実行中のＭＦＰ１００のシステム状態のうちの少なくとも１つを含む。
【００６９】
ＭＦＰシステム１０２は、ＭＦＰ１００のこれら状態を検出して、上記の（ｉ）または（ｉｉ）であるログイン／ログアウト状態を検出したとき、ログイン/ログアウト通知６３１を出力し、また、上記の（ｉｉｉ）のシステムオートリセット状態を検出したときシステムオートリセット通知６３２を出力し、また上記の（ｉｖ）のジョブの実行状態が変化（例えば、実行待ちから実行中に変化、また実行中から実行終了に変化など）したとき状態変化通知６３３を出力する。また、ＭＦＰシステム１０２は、ＭＦＰ１００のジョブ実行時のシステム状態を示すシステム通知６３４を出力する。上記の通知６１２は、ログイン/ログアウト通知６３１、システムオートリセット通知６３２、状態変化通知６３３およびシステム通知６３４のうちのいずれかを示し得る。
【００７０】
ＭＦＰ１００が実行するジョブは、限定されないが、例えば印刷ジョブ、コピージョブ、ファクシミリジョブなどを含む。各ジョブが実行される場合、サーバー３００では各ジョブに対応のアプリケーションが実行される。ＭＦＰ１００は、実行されたアプリケーションにより生成されたコンテンツをサーバー３００から受信し、受信したコンテンツによるアプリケーション画面をディスプレイ１７１Ｂに表示させる。ジョブの実行状態の変化を示す状態変化通知６３３は、ジョブに対応のアプリケーションの識別子を含む。
【００７１】
画面管理情報１６２は、ディスプレイ１７１Ｂにおいて表示される１または複数のアプリケーション画面のそれぞれに対応して、レコード１６７を有する。レコード１６７は、当該アプリケーション画面に対応のアプリケーションを識別するアプリＩＤ（Identification）１６３、当該アプリケーション画面の階層１６４、コンテンツ１６５およびフラグ１６６含む。階層１６４は、対応のアプリケーション画面がフォアグラウンド画面ならば「Ｆ」を示し、バックグラウンド画面ならば「Ｂｉ」（ｉ＝１、２、３、・・・）を示す。なお、ｉには、フォアグラウンド画面から近い順番に、すなわち階層の上位から順番に、１，２，３・・・と割当てされる。コンテンツ１６５は、対応のアプリケーション画面を記述したデータであり、たとえばＨＴＭＬで記述される。コンテンツ１６５は、コマンド実行エンジン１０８が実行可能なコマンド、または他のアプリケーション画面へのリンクなどを含む。フラグ１６６は、対応のアプリケーション画面が初期画面および非初期画面のいずれであるかを示す。フラグ１６６は「１」であるとき、対応のアプリケーション画面は非初期画面であることを示し、「０」であるときは対応のアプリケーション画面は初期画面であることを示す。
【００７２】
（ｄ２．コンテンツ解析部１０７の構成）
図９を参照して、コンテンツ解析部１０７は、キュー１６１の変更要求６１１を管理する要求キュー管理部１２６、画面管理情報１６２のコンテンツ１６５を管理するコンテンツ管理部１２７、およびキュー１６９の通知６１２を管理する状態キュー管理部１２８を含む。要求キュー管理部１２６は、変更要求６１１をキュー１６１に格納するエンキュー、およびキュー１６１から変更要求６１１を読出すデキューを実施する。コンテンツ管理部１２７は、画面管理情報１６２のコンテンツ１６５を変更要求に従い変更する変更処理を実施する。また、状態キュー管理部１２８は、ＭＦＰシステム１０２からの通知６１２をキュー１６９に格納するエンキュー、およびキュー１６９から通知６１２を読出すデキューを実施する。
【００７３】
コンテンツ解析部１０７は、ＭＦＰ１００の稼働状態の通知６１２に応じてアプリケーション画面のコンテンツの変更を実施するための要求６１３を生成し、サーバー３００に送信する。要求６１３は、通知６１２が示すＭＦＰ１００の稼働状態と、画面管理情報１６２のアプリＩＤ１６３を含む。
【００７４】
＜Ｅ．サーバー３００の制御構造＞
図１０は、本実施の形態にかかるサーバー３００が備える制御構造の一例を模式的に示す図である。図１０では、当該制御構造に関連付けて、記憶部３４に格納される情報の一例が模式的に示される。記憶部３４には、ウェブアプリケーションの一実施例である１つ以上のアプリケーション３８が格納される。アプリケーション３８は、プログラムまたはプログラムとデータの組合せからなる。
【００７５】
制御構造は、ＭＦＰ１００からの要求６１３を、ネットワークコントローラー３５を介して受付ける要求受付部３０１、アプリケーション３８を実行する実行部３０４を備える要求処理部３０２、コンテンツ提供部３０３および要求送信部３０５を含む。コンテンツ提供部３０３は要求処理部３０２の処理結果に基くコンテンツを、ネットワークコントローラー３５を介してＭＦＰ１００に送信する。また、要求送信部３０５は要求処理部３０２の処理結果に基く変更要求６１１を、ネットワークコントローラー３５を介してＭＦＰ１００に送信する。要求処理部３０２は、要求受付部３０１が受付けた要求６１３に含まれるアプリＩＤ６１３で識別されるアプリケーション３８を記憶部３４から読出し、実行部３０４に当該アプリケーション３８を実行させる。実行部３０４によりアプリケーション３８が実行されてコンテンツまたは変更要求６１１が生成される。コンテンツ提供部３０３は、生成されたコンテンツをＭＦＰ１００に送信し、要求送信部３０５は、生成された変更要求６１１をＭＦＰ１００に送信する。変更要求６１１は、変更要求６１１を生成したアプリケーション３８の識別子とコンテンツの変更処理を実施する為のコマンド（画面の全体または一部が変更されるように、対応のコンテンツの変更を指示するコマンド）を含む。変更要求６１１に、変更するためのコンテンツ（例えば、変更後のコンテンツ）を取得するためにサーバー３００のアプリケーション３８と通信処理を実施するためのコマンドが含まれてもよい。その場合、このコンテンツの変更処理は、当該通信処理を含み得る。
【００７６】
図１０のサーバー３００の制御構造の各部は、記憶部３４または記憶媒体３７に格納されたプログラムをＣＰＵ３０が読出し実行することにより実現されてもよい。または、図１０の制御構造の各部は、ＡＳＩＣまたはＦＰＧＡなどの回路により実現してもよく、または、これら回路とプログラムの組合わせで実現してもよい。
【００７７】
＜Ｆ．画面管理情報１６２を用いたコンテンツに関する処理＞
ウェブブラウザー１０５が実施する画面管理情報１６２を用いた処理を説明する。この処理は、階層変更処理、コンテンツ全体処理、コンテンツ部分処理およびキューイング処理を含む。
【００７８】
（ｆ１．階層変更処理）
ユーザーが、アプリケーションを実行するために、例えばフォアグラウンド画面のＵＩ部品を操作するなどして、バックグラウンドアプリをフォアグラウンドアプリに切替えるアプリ切替操作をしたとき、コンテンツ解析部１０７はアプリケーション画面の階層を変更する階層変更処理を実施する。
【００７９】
コンテンツ解析部１０７は、ＭＦＰシステム１０２を介して、操作受付部１０３からアプリ切替操作を受付けると、コンテンツ管理部１２７は、操作内容に基づき、画面管理情報１６２の階層１６４が「Ｆ」を示すレコード１６７のコンテンツ１６５から、ユーザーにより操作されたＵＩ部品にリンクされたアプリケーションの識別子を抽出する。
【００８０】
コンテンツ管理部１２７は、画面管理情報１６２において、上記の抽出されたアプリケーションの識別子に一致するアプリＩＤ１６３を特定し、特定されたアプリＩＤ１６３を有するレコード１６７の階層１６４を「Ｆ」に書換える。また、コンテンツ管理部１２７は、他のレコード１６７の階層１６４を、当該階層１６４が示す値の順番を維持しながら、上記の「Ｆ」への書換えに伴って書換える。
【００８１】
このような階層変更処理の実施後に、コンテンツ解析部１０７は、画面管理情報１６２の各階層のアプリケーション画面のコンテンツ１６５に基き階層的な表示のための階層構造に従う画像データを生成するとともに、描画部１０６を起動する。起動されると描画部１０６は、コンテンツ解析部１０７からの画像データに基づき、ディスプレイ１７１Ｂに変更後の階層構造に従うアプリケーション画面を表示するための表示制御データ１６８を生成し、生成された表示制御データ１６８を表示ドライバー１７１Ａに出力する。これにより、ディスプレイ１７１Ｂにおける階層的な表示においては、フォアグラウンド画面は、ユーザーの切替操作により指定されたバックグラウンドアプリケーションのアプリケーション画面に切替えられる。
【００８２】
（ｆ２．コンテンツ全体処理）
コンテンツ全体処理は、コンテンツ解析部１０７は階層構造を構成するアプリケーション画面のうち、「非初期画面」を「初期画面」に切替える。
【００８３】
具体的には、コンテンツ解析部１０７は、コンテンツ全体処理の実施を指令するコマンドを含む変更要求６１１を受信したとき、コンテンツ全体処理を実施する。コンテンツ全体処理においては、コマンド実行エンジン１０８は変更要求６１１のコマンドを実行し、その実行結果に基き、コンテンツ管理部１２７は、画面管理情報１６２のフラグ１６６が「１」を示す、すなわち非初期画面であるコンテンツ１６５を、初期画面のコンテンツとなるように変更処理を実施する。この変更処理の後に、コンテンツ管理部１２７は、対応のフラグ１６６を「０」に書換える。これにより、画面管理情報１６２の各アプリケーション画面に対応のコンテンツ１６５を初期画面のコンテンツに書換えるコンテンツ全体処理が終了する。
【００８４】
コンテンツ解析部１０７は、コンテンツ全体処理を終了後に、画面管理情報１６２に基づく画像データを生成するとともに描画部１０６を起動する。起動されると描画部１０６は、コンテンツ解析部１０７からの画像データに基づき、階層構造を構成するアプリケーション画面の表示制御データ１６８を生成し、生成した表示制御データ１６８を表示ドライバー１７１Ａに出力する。これにより、ディスプレイ１７１Ｂの階層構造の全ての階層のアプリケーション画面は初期画面で表示される。
【００８５】
（ｆ３．コンテンツ部分処理）
コンテンツ解析部１０７は、「コンテンツ部分処理」では、上記に述べたコンテンツ全体処理とは異なり、アプリケーション画面の部分画像に対応するコンテンツの部分を変更する。
【００８６】
コンテンツ解析部１０７は、サーバー３００から、コンテンツ部分処理の実施を指令するコマンドを含む変更要求６１１を受信すると、コンテンツ部分処理を実施する。コンテンツ部分処理においては、コマンド実行エンジン１０８は、変更要求６１１のコマンドを実行し、その実行結果に基き、コンテンツ管理部１２７は、変更要求６１１のアプリケーションの識別子に基づき、当該アプリケーションの識別子に一致するアプリＩＤ１６３に対応のコンテンツ１６５を検索する。コンテンツ管理部１２７は、検索されたコンテンツ１６５を、コマンド実行エンジン１０８の実行結果に従い一部を変更するコンテンツ部分処理を実施する。
【００８７】
コンテンツ管理部１２７は、コンテンツ部分処理を実施後の画面管理情報１６２に基き画像データを生成するとともに、描画部１０６を起動する。起動されると描画部１０６は、コンテンツ管理部１２７からの画像データに基づき、階層構造を構成するアプリケーション画面の表示制御データ１６８を生成し、生成した表示制御データ１６８を表示ドライバー１７１Ａに出力する。これにより、ディスプレイ１７１Ｂの階層構造の変更要求６１１のアプリケーションの識別子で指定されたアプリケーション画面は、部分的に変更されて表示される。
【００８８】
（ｆ４．キューイング処理）
要求キュー管理部１２６によるキュー１６１のキューイング処理および状態キュー管理部１２８のキュー１６９のキューイング処理を説明する。
【００８９】
まず、要求キュー管理部１２６のキューイング処理を説明する。コンテンツ解析部１０７は、サーバー３００から変更要求６１１を受信したとき、変更要求６１１が予め定められたエンキュー条件を満たすと判断した場合は、当該変更要求６１１に従うコンテンツ１６５の変更処理を実施せずに、要求キュー管理部１２６に当該変更要求６１１をキュー１６１に格納（エンキュー）させる。このエンキュー条件は、例えば、変更要求６１１に含まれるアプリケーションの識別子で識別されるアプリケーションはバックグラウンドで実行されている（すなわち、アプリケーションに対応のアプリケーション画面はバックグラウンド画面である）との条件を示す。より具体的には、コンテンツ解析部１０７は、画面管理情報１６２において、変更要求６１１が有するアプリケーションの識別子に一致するアプリＩＤ１６３に対応の階層１６４が「Ｂｉ」（バックグラウンド画面）を示すと判断したとき、当該変更要求６１１はエンキュー条件を満たすと判断する。
【００９０】
また、コンテンツ解析部１０７は、キュー１６１に格納（エンキュー）されている変更要求６１１のうち、予め定められたデキュー条件を満たす変更要求６１１を、要求キュー管理部１２６に読出（デキュー）させる。このデキュー条件は、例えば、キュー１６１に格納されている変更要求６１１のうち、当該変更要求６１１が有するアプリケーションの識別子が、画面管理情報１６２において「Ｆ」を示す階層１６４に対応のアプリＩＤ１６３と一致することを示す。
【００９１】
コンテンツ解析部１０７のコンテンツ管理部１２７は、デキューされた変更要求６１１のコマンドに従う上記に述べたコンテンツの変更処理（「コンテンツ部分処理」または「コンテンツ全体処理」）を実施する。
【００９２】
次に、状態キュー管理部１２８のキューイング処理を説明する。コンテンツ解析部１０７は、ＭＦＰシステム１０２から通知６１２を受付けたとき、通知６１２が予め定められたエンキュー条件を満たすかを判断する。コンテンツ解析部１０７は、エンキュー条件を満たすと判断した場合は、状態変化通知６３３に基づく変更要求６１１の送信を実施せずに（すなわち、コンテンツ１６５の変更処理は実施せずに）、状態キュー管理部１２８に当該通知６１２をキュー１６９に格納（エンキュー）させる。このエンキュー条件は、例えば、通知６１２が状態変化通知６３３またはシステム通知６３４を示すとの条件を示す。状態変化通知６３３またはシステム通知６３４は、実行中のジョブに対応のアプリケーションのアプリＩＤ１６３を含む。
【００９３】
コンテンツ解析部１０７は、操作受付部１０３を介してアプリ切替操作を受付けたとき、キュー１６９についてデキュー条件が満たされるか否かを判断する。具体的には、コンテンツ解析部１０７は、キュー１６９の通知６１２のうち、そのアプリＩＤがフォアグラウンドアプリケーションのアプリＩＤ１６３と一致する通知６１２は、デキュー条件を満たすと判断する。コンテンツ解析部１０７は、状態キュー管理部１２８に、デキュー条件を満たすと判断された通知６１２をキュー１６９からデキュー（読出）させる。
【００９４】
＜Ｇ．アプリケーション画面の表示例＞
本実施の形態にかかるアプリケーション画面の表示例を示す。
【００９５】
（ｇ１．コンテンツ全体処理による表示例）
図１１と図１２は、本実施の形態にかかるコンテンツ全体処理によるアプリケーション画面の変更の一例を模式的に示す図である。図１１は非初期画面であるコピー用紙設定画面５２−１の一例を示す。コピー用紙設定画面５２−１は、コピー機能の１つの応用機能に対応のアプリケーション画面である。図１１のコピー用紙設定画面５２−１では、ＵＩ部品１１１をユーザーが操作することにより設定された項目（例えばコピー用紙のサイズ）が表示されている。図１２は、初期画面であるコピー機能のトップ画面５２の一例を示す。トップ画面５２は、コピー機能の基本機能のアプリケーション画面の一例である。
【００９６】
ディスプレイ１７１Ｂに図１１のコピー用紙設定画面５２−１が表示されている場合に、コンテンツ全体処理（初期化処理）が実施されると、ディスプレイ１７１Ｂの画面は図１１のコピー用紙設定画面５２−１から図１２のコピートップ画面に変更される。例えば、図１１のコピー用紙設定画面５２−１においてコピー用紙の設定操作の途中でユーザーが操作を中断してＭＦＰ１００から離れた場合は、すなわちＭＦＰシステム１０２がシステムオートリセット状態を検出してシステムオートリセット通知６３２を出力する。コンテンツ解析部１０７は、システムオートリセット通知６３２を受付けたときコンテンツ全体処理を実施する。これにより、コピー用紙設定画面５２−１において当該ユーザーが設定した項目（例えばコピー用紙のサイズ）が、他のユーザーに公開される事態を防止することができる。
【００９７】
（ｇ２．コンテンツ部分処理による表示例）
図１３は、本実施の形態にかかるコンテンツ部分処理によるアプリケーション画面の表示例を模式的に示す図である。図１３（Ａ）は、例えば、コピー倍率設定のためのアプリケーション画面の一例である。図１３（Ａ）のアプリケーション画面を表示中に、サーバー３００で実行中のコピー機能のアプリケーション３８から変更要求６１１が出力されると、ウェブブラウザー１０５は、サーバー３００から受信する変更要求６１１に従うコンテンツの変更処理を実施する。変更処理において、変更要求６１１に従いコンテンツ部分処理が実施される。コンテンツ部分処理が実施されると、図１３（Ａ）のアプリケーション画面は、破線部で示す部分画像が変更されて、図１３（Ｂ）のアプリケーション画面に変化する。これにより、コピー機能のアプリケーション３８の実行状態の変化に伴うコンテンツ部分（アプリケーション画面中の部分画像）の変化を提示することができる。
【００９８】
（ｇ３．コンテンツ部分処理による他の表示例）
図１４は、本実施の形態にかかるコンテンツ部分処理によるアプリケーション画面の他の表示例を模式的に示す図である。図１４（Ａ）は、例えば、サーバー３００でコピー機能のアプリケーション３８が実行される場合における、ＭＦＰ１００のディスプレイ１７１Ｂで表示されるアプリケーション画面の一例を示す。
【００９９】
例えば、コピージョブを実行中にＭＦＰシステム１０２がシステム状態を検出して、検出したシステム状態を示すシステム通知６３４を出力した場合、コンテンツ解析部１０７は、システム通知６３４に基づく要求６１３をサーバー３００に送信する。コンテンツ解析部１０７は、サーバー３００からシステム通知６３４に基づく変更要求６１１を受信する。コンテンツ管理部１２７は、変更要求６１１に従うコンテンツ部分処理を実施する。これにより、図１４（Ａ）のアプリケーション画面は、破線部で示す部分画像が変更されて、図１４（Ｂ）のアプリケーション画面に変化する。例えば、破線部では、コピーのジョブを実行時においてＭＦＰ１００では、アニメーションデータと音声データがない（アクセスできない）というシステム状態である旨の通知が出力されている。
【０１００】
（ｇ４．コンテンツ部分処理によるさらなる他の表示例）
図１５は、本実施の形態にかかるコンテンツ部分処理によるアプリケーション画面の他の表示例を模式的に示す図である。図１５（Ａ）は、例えば、ＭＦＰ１００で印刷ジョブを実行中のアプリケーション画面の一例である。例えば、印刷ジョブの実行中にＭＦＰシステム１０２がジョブの実行状態の変化を検出して状態変化通知６３３を出力した場合、コンテンツ解析部１０７は、サーバー３００と通信し、状態変化通知６３３に基づく要求６１３を送信する。サーバー３００では、実行中のジョブに対応のアプリケーション３８が実行されて、変更要求６１１がＭＦＰ１００に送信される。
【０１０１】
コンテンツ管理部１２７は、変更要求６１１に従うコンテンツ部分処理を実施する。これにより、図１５（Ａ）のアプリケーション画面は、破線部で示す部分画像が変更されて、図１５（Ｂ）のアプリケーション画面に変化する。例えば、破線部では、ＭＦＰ１００では、印刷ジョブが印刷待ちから印刷中に状態変化した旨の通知が出力されている。
【０１０２】
（ｇ５．階層変更処理による表示例）
図１６と図１７は、本実施の形態にかかる階層変更処理によるアプリケーション画面の表示例を模式的に示す図である。図１６と図１７では、横軸は時間の経過を示し、縦軸は階層構造における各階層のアプリケーション画面を示す。図１６と図１７では、例えば、アプリケーション画面により構成される階層構造は、画面管理情報１６２に含まれる４つのレコード１６７に従う４階層であるが、階層は４階層に限定されない。
【０１０３】
図１６と図１７を参照して、階層変更処理によるアプリケーション画面の表示例と、「コンテンツ全体処理」によるアプリケーション画面の表示例を説明する。「コンテンツ全体処理」は、例えばＭＦＰシステム１０２がログイン/ログアウト状態を検出した場合に実施される。図１６と図１７では、サーバー３００において、アプリケーション３８として、認証アプリケーション、メニューアプリケーション、コピーアプリケーションおよびスキャンアプリケーションがマルチに実行されて、ＭＦＰ１００のディスプレイ１７１Ｂでは、これらアプリケーションに対応の複数のアプリケーション画面が階層的に表示される。
【０１０４】
図１６では、時刻Ｔ１で認証アプリケーションが実行されて、時刻Ｔ１でメニューアプリケーションが実行されて、時刻Ｔ２でコピーアプリケーションが実行されて、そして時刻Ｔ３でコピー機能の応用機能である用紙設定アプリケーションが実行されている。したがって、図１６では、上記の階層変更処理が実施されることで、フォアグラウンド画面６０は、時刻Ｔ０、Ｔ１、Ｔ２およびＴ３の経過に伴い、認証アプリケーションのトップ画面５０、メニューアプリケーションのトップ画面５１、コピーアプリケーションのトップ画面５２およびコピー用紙設定画面５２−１の順で切替わる。また、当該階層変更処理により、バックグラウンド画面６１となる各アプリケーション画面の階層も、時刻Ｔ０、Ｔ１、Ｔ２およびＴ３の経過に伴い変化する。
【０１０５】
図１７を参照して、その後の時刻Ｔ４では、ユーザーは、コピー用紙設定アプリケーションに対する項目の設定操作の途中で、フォアグラウンド画面６０をメニューアプリケーションのトップ画面５１に切替える操作を実施する。ユーザーは、メニューアプリケーションのトップ画面５１を操作してスキャンアプリケーションを実行する。これにより、時刻Ｔ５では、フォアグラウンド画面６０は、スキャンアプリケーションのトップ画面５３に切替わるとともに、バックグラウンド画面６１の破線で囲まれたコピー用紙設定画面５２−１では、ユーザー操作により設定された項目（例えばコピー用紙のサイズ）が表示されている。
【０１０６】
その後の時刻Ｔ６で、ユーザーがログアウト操作すると、ＭＦＰシステム１０２は、ログイン/ログアウト状態を検出し、ログイン/ログアウト通知６３１をコンテンツ解析部１０７に出力する。コンテンツ解析部１０７は、サーバー３００と通信し、ログイン/ログアウト通知６３１に基づく変更要求６１１を受信する。コンテンツ管理部１２７は変更要求６１１に従い画面管理情報１６２のコンテンツ１６５の変更処理を実施する。また、コンテンツ管理部１２７は、階層変更処理を実施する。階層変更処理により、バックグラウンド画面６１の階層にあった認証アプリケーションのトップ画面５０は、フォアグラウンド画面６０に階層に変化する。フォアグラウンド画面６０が認証アプリケーションのトップ画面５０に切替えられることで、ＭＦＰ１００は次のユーザーのログイン操作を受付け可能な状態となる。
【０１０７】
時刻Ｔ６では、コンテンツ管理部１２７は、サーバー３００からの変更要求６１１に従うコンテンツ変更処理とともに、階層構造を構成するアプリケーション画面のうち、ログアウト直前の非初期画面を初期画面に変更するコンテンツ全体処理を実施する。例えば、ログアウト直前の時刻Ｔ５で非初期画面であったコピー用紙設定画面５２−１は、コンテンツ全体処理が実行されることで、ログアウト直後の時刻Ｔ６では、破線で囲まれた初期画面（トップ画面５２）に変化する。これにより、或るユーザーがログアウト後に他のユーザーがログインする場合であっても、或るユーザーにより設定されたコピー用紙設定画面５２−１における設定項目が、他のユーザーに公開される事態を回避することができる。
【０１０８】
＜Ｈ．シーケンス＞
ウェブブラウザー１０５の処理のシーケンスを図１８〜図２０を参照して説明する。図１８〜図２０では、表示ドライバー１７１Ａと、ウェブブラウザー１０５と、サーバー３００において実行中のフォアグラウンドアプリ３８Ａ（フォアグラウンドアプリケーション３８Ａの略）と、バックグラウンドアプリ３８Ｂ（以下、バックグラウンドアプリケーション３８Ｂの略）との間の通信のシーケンスが示される。ここでは、サーバー３００でマルチに実行されるアプリケーションは、フォアグラウンドアプリ３８Ａとバックグラウンドアプリ３８Ｂの２つであり、したがって、ＭＦＰ１００の階層構造は、この２つのアプリケーションに対応する２つのアプリケーション画面で構成される。なお、実行されるアプリケーションの数は２個に限定されない。
【０１０９】
（ｈ１．システムの状態通知の変更要求に基づくシーケンスの一例）
図１８は、本実施の形態にかかるＭＦＰシステム１０２の通知６１２に基づく変更要求６１１に従うシーケンスの一例を模式的に示す図である。例えば、フォアグラウンド画面を図１１のコピー用紙設定画面５２−１から図１３のコピーアプリケーションのトップ画面５２に切替えるシーケンスを示す。
【０１１０】
図１８を参照して、ＭＦＰシステム１０２がＭＦＰ１００はシステムオートリセット状態であることを検出して、通知６１２としてシステムオートリセット通知６３２をシステム間ＩＦ１０９に出力すると（ステップＲ３）、システム間ＩＦ１０９はシステムオートリセット通知６３２に基づき初期ＵＲＬ表示要求を生成し、コンテンツ解析部１０７に出力する（ステップＲ４）。この表示要求は、階層構造を構成する各アプリケーション画面を初期画面にするためのＵＲＬのコマンドを含む。
【０１１１】
コンテンツ解析部１０７は、システム間ＩＦ１０９から受付けた初期ＵＲＬ表示の要求６１３を、ネットワークモジュール１１０を介してサーバー３００に送信する。
【０１１２】
サーバー３００では、要求受付部３０１が初期ＵＲＬ表示の要求６１３を受信し、要求処理部３０２は、受信された初期ＵＲＬ表示の要求６１３に基づき実行部３０４を制御する。これにより、実行部３０４は、初期ＵＲＬ表示の要求６１３に従いフォアグラウンドアプリ３８Ａおよびバックグラウンドアプリ３８Ｂを実行する。これらアプリケーションの実行の結果に基き、コンテンツ提供部３０３は、当該アプリケーションに対応のアプリケーション画面のコンテンツを変更するための変更要求６１１を生成し、要求送信部３０５は変更要求６１１をＭＦＰ１００に送信する（ステップＲ５、Ｒ１７）。この変更要求６１１は、アプリケーションの識別子とコンテンツを変更するためのコマンドを含む。
【０１１３】
コンテンツ解析部１０７は、サーバー３００のフォアグラウンドアプリ３８Ａおよびバックグラウンドアプリ３８Ｂからの変更要求６１１を受信する（ステップＲ７、Ｒ１９）。コンテンツ解析部１０７は、コマンド実行エンジン１０８に変更要求６１１のコマンドを実行させて、コンテンツ管理部１２７は、その実行結果に基き、画面管理情報１６２のフォアグラウンドアプリ３８Ａおよびバックグラウンドアプリ３８Ｂのコンテンツ１６５のコンテンツ全体処理を実施する（ステップＲ１１、Ｒ２３）。
【０１１４】
描画部１０６は、画面管理情報１６２のコンテンツ１６５に基づく画像データから表示制御データ１６８を生成し、生成された表示制御データ１６８を表示ドライバー１７１Ａに出力する（ステップＲ１３、Ｒ２７）。これにより、ディスプレイ１７１Ｂのフォアグラウンド画面（フォアグラウンドアプリ３８Ａのアプリケーション画面）と、バックグラウンド画面（バックグラウンドアプリ３８Ｂのアプリケーション画面）は、初期画面に変化する（ステップＲ１５、Ｒ２９）。
【０１１５】
このように、ＭＦＰ１００が、所定状態（システムオートリセット状態）である場合は、サーバー３００から受信する変更要求６１１に従い記憶部１６０のコンテンツ１６５を変更する変更処理（コンテンツ全体処理）が実施される。ここでは所定状態として、システムオートリセット状態を説明したが、他の状態（ログイン／ログアウト状態）であっても同様のシーケンスを採用することができるので、説明は繰返さない。
【０１１６】
このように、ＭＦＰ１００の稼働状態が所定状態であるときは、バックグラウウンドアプリ３８Ｂが出力する変更要求６１１に従うコンテンツ変更処理の実施は保留されずに実施される。したがって、所定状態において、ユーザー操作を受付けて、受付けたユーザー操作内容に従いディスプレイ１７１Ｂの画面をアプリケーション画面に切替える場合に、上記のようにコンテンツ変更処理の実施が保留された場合に比較して、切替えの所要時間を短縮できる。
【０１１７】
このように、ＭＦＰ１００の稼働状態が所定状態（システムオートリセット状態、ログイン／ログアウト状態）である場合は、コンテンツ管理部１２７は、サーバー３００から受信する変更要求６１１に従い記憶部１６０（画面管理情報１６２）のコンテンツ１６５を変更する変更処理を実施する。
【０１１８】
図１８では、変形例として、描画部１０６は、バックグラウンドアプリ３８Ｂのアプリケーション画面については、変更後のコンテンツ１６５に基づく変更（描画）を保留してもよい。すなわち、ステップＲ２３で、バックグラウンドアプリ３８Ｂのコンテンツの変更処理は実施されるが、描画部１０６による描画は保留されてもよい。
【０１１９】
具体的には、ＭＦＰシステム１０２が、操作受付部１０３を介して、アプリ切替操作を検出する（ステップＲ２５）。アプリ切替操作が検出されたとき、描画部１０６は、保留していた描画処理（バックグラウンド画面の画面変更のための表示制御データ１６８を生成し、表示更新（初期画面）のために表示ドライバー１７１Ａに出力する）を実施してもよい（ステップＲ２５、Ｒ２７、Ｒ２９）。
【０１２０】
アプリ切替操作が検出されたとき、コンテンツ解析部１０７は、上記に述べた階層変更処理も実施する。階層変更処理が実施されることで、ステップＲ２９では、フォアグラウンド画面は、バックグラウンドアプリ３８Ｂのアプリケーション画面（初期画面）に切替わる。なお、図１８では、バックグラウンドアプリに対する描画処理の実施を保留したが、バックグラウンドアプリ３８Ｂの変更要求６１１に従うコンテンツの変更処理を保留してもよい。
【０１２１】
（ｈ２．システムの状態通知の変更要求に基づくシーケンスの他の例）
図１９は、本実施の形態にかかるＭＦＰシステム１０２の通知６１２に基づく変更要求６１１のシーケンスの他の例を模式的に示す図である。図１８のシーケンスでは、ウェブブラウザー１０５は、フォアグラウンドアプリ３８Ａとバックグラウンドアプリ３８Ｂからの変更要求６１１に従うコンテンツ変更処理を（保留せずに）全て実施する。これに対して、図１９のシーケンスでは、フォアグラウンドアプリ３８Ａとバックグラウンドアプリ３８Ｂからの変更要求６１１のうち、バックグラウンドアプリ３８Ｂからの変更要求６１１に従うコンテンツの変更処理は実施されずに保留されて、フォアグラウンドアプリ３８Ａからの変更要求６１１に従うコンテンツの変更処理は実施される。図１９では、ＭＦＰシステム１０２が、通知６１２として、ジョブの実行状態の変化を示す状態変化通知６３３を出力するケースを説明する。例えば、ＭＦＰ１００では、フォアグラウンドアプリ３８Ａに対応の印刷ジョブと、バックグラウンドアプリ３８Ｂに対応のコピージョブが実行されている。
【０１２２】
図１９を参照して、ＭＦＰシステム１０２が、印刷ジョブとコピージョブの実行状態の変化を検出して、状態変化通知６３３を、システム間ＩＦ１０９を介してコンテンツ解析部１０７の出力する（ステップＲ３１、Ｒ３３）。
【０１２３】
コンテンツ解析部１０７は、受付けた状態変化通知６３３のうち、コピージョブの状態変化通知６３３はエンキュー条件を満たすと判断し、状態キュー管理部１２８はコピージョブの状態変化通知６３３をキュー１６９にエンキューする（ステップＲ３５）。コンテンツ解析部１０７は、エンキュー条件を満たさない、すなわちフォアグラウンドアプリに対応の印刷ジョブの状態変化通知６３３はエンキューせずに、状態変化通知６３３に基づく要求６１３を、サーバー３００に送信する。
【０１２４】
サーバー３００は、コンテンツ解析部１０７から受信した要求６１３に基づき、当該要求６１３に含まれたアプリＩＤ１６３で識別されるフォアグラウンドアプリ３８Ａを実行する。サーバー３００は、フォアグラウンドアプリ３８Ａにより生成された変更要求６１１を、ＭＦＰ１００に送信する（ステップＲ３７ａ、Ｒ３７ｂ）。この変更要求６１１は、アプリケーションの識別子とコンテンツを変更するためのコマンドを含む。
【０１２５】
コンテンツ解析部１０７のコンテンツ管理部１２７は、サーバー３００から受信した変更要求６１１のコマンドをコマンド実行エンジン１０８に実行させて、その実行結果に基き画面管理情報１６２はフォアグラウンドアプリ３８Ａのコンテンツ１６５を変更する（ステップＲ３９、Ｒ４１）。
【０１２６】
描画部１０６は、画面管理情報１６２のコンテンツ１６５に基づく画像データに従う表示制御データ１６８を生成し、表示更新のために表示ドライバー１７１Ａに出力する（ステップＲ４１ａ）。これにより、ディスプレイ１７１Ｂのフォアグラウンド画面（フォアグラウンドアプリ３８Ａのアプリケーション画面）は、印刷ジョブの実行状態の変化を通知する画面に変化する（ステップＲ４３）。
【０１２７】
このように、ＭＦＰ１００でフォアグラウンドアプリ３８Ａおよびバックグラウンドアプリ３８Ｂの各ジョブの実行状態が変化した場合には、バックグラウンドアプリ３８Ｂのジョブの状態変化通知６３３はエンキューされる。これにより、バックグラウンドアプリ３８Ｂのジョブの状態変化通知６３３に基づく変更要求６１１に従うコンテンツ１６５の実施は保留される。
【０１２８】
ＭＦＰシステム１０２が、操作受付部１０３を介して、ユーザーによる、フォアグラウンドアプリケーションの切替操作を検出する（ステップＲ４５）。この切替操作が検出されたとき、コンテンツ解析部１０７は、デキュー条件が成立したことを判断する。この判断に基き、コンテンツ解析部１０７は、保留していたコンテンツの変更処理を実施するために、状態キュー管理部１２８に、キュー１６９からステップＲ３５でエンキューされた状態変化通知を、デキュー（読出）させる（ステップＲ４７）。コンテンツ解析部１０７は、デキューされたバックグラウンドアプリ３８Ｂの状態変化通知６３３に基づく要求６１３をサーバー３００に送信する。
【０１２９】
サーバー３００は、コンテンツ解析部１０７から受信した要求６１３に基づき、当該要求６１３に含まれたアプリケーションの識別子で識別されるバックグラウンドアプリ３８Ｂを実行する。サーバー３００は、バックグラウンドアプリ３８Ｂの実行により出力された変更要求６１１を、ＭＦＰ１００に送信する（ステップＲ４７ａ、Ｒ４７ｂ）。
【０１３０】
コンテンツ解析部１０７は、バックグラウンドアプリ３８Ｂからの変更要求６１１が有するコマンドを、コマンド実行エンジン１０８に実行させる（ステップＲ４９）。コンテンツ管理部１２７は、コマンド実行エンジン１０８のコマンド実行結果に基き、画面管理情報１６２のバックグラウンドアプリ３８Ｂのコンテンツ１６５の変更処理を実施する。描画部１０６は、コンテンツ１６５を変更処理後の画面管理情報１６２に基づき表示制御データ１６８を生成する（ステップＲ５１ａ）。描画部１０６は、表示制御データ１６８を表示ドライバー１７１Ａに出力する（ステップＲ５１ｂ）。表示ドライバー１７１Ａは、表示制御データ１６８によりディスプレイ１７１Ｂに画面を表示させる（ステップＲ５３）。これにより、ディスプレイ１７１Ｂにおいて、フォアグラウンド画面はコピージョブのアプリケーション画面に切替えられて、フォアグラウンド画面により、コピージョブの実行状態の変化が通知される。
【０１３１】
図１９によれば、ＭＦＰ１００の稼働状態が所定状態（ログインログアウト状態またはシステムオートリセット状態）でない非所定状態（ジョブ実行状態の変化時）である場合は、サーバー３００から受信する変更要求６１１に従う変更処理の実施を保留することができる。より特定的には、この実施が保留される変更処理の変更要求６１１は、バックグラウンドアプリ３８Ｂから出力された変更要求を含む。
【０１３２】
このように、バックグラウンドアプリ３８Ｂに対応のジョブの実行状態が変化した場合は、その状態変化通知６３３に基づく変更要求６１１に従うンテンツの変更処理の実施は保留されて、その後、バックグラウンドアプリ３８Ｂがフォアグラウンドアプリに切替えられるときに、状態変化通知６３３に基づくサーバー３００との通信と保留されていたコンテンツの変更処理が実施される。
【０１３３】
図１９では、ＭＦＰ１００の状態の通知６１２としてジョブの実行状態の状態変化通知６３３を例示したが、これに限定されず、システム通知６３４についても図１９と同様のシーケンスを実行することができる。
【０１３４】
（ｈ３．アプリケーションからの変更要求６１１をエンキューするシーケンス）
図２０は、本実施の形態にかかるアプリケーションからの変更要求６１１をエンキューするシーケンスを模式的に示す図である。図２０では、バックグラウンドアプリ３８Ｂは、例えば、コピー倍率設定のアプリケーションであり、フォアグラウンドアプリ３８Ａは他の種類のアプリケーションであるケースを説明する。
【０１３５】
まず、サーバー３００は、バックグラウンドアプリ３８Ｂの実行結果に基く変更要求６１１をＭＦＰ１００に送信する（ステップＲ５５ａ）。この場合、ＭＦＰ１００の稼働状態の種類は限定されない。ＭＦＰ１００のウェブブラウザー１０５は、ネットワークモジュール１１０を介して、この変更要求６１１を受信する（ステップＲ５５ｂ）。
【０１３６】
コンテンツ解析部１０７は、受信した変更要求６１１について、エンキューの条件が満たされるかを判断する。この場合、エンキュー条件が満たされると判断されて、要求キュー管理部１２６は、当該変更要求６１１をキュー１６１にエンキュー（格納）する（ステップＲ５７）。したがって、コンテンツ解析部１０７では、バックグラウンドアプリ３８Ｂからの変更要求６１１に従うコンテンツ管理部１２７によるコンテンツの変更処理は実施されずに保留される。
【０１３７】
その後、サーバー３００は、フォアグラウンドアプリ３８Ａの実行結果に基く、変更要求６１１をＭＦＰ１００に送信する（ステップＲ５９ａ）。ＭＦＰ１００のウェブブラウザー１０５は、ネットワークモジュール１１０を介して、この変更要求６１１を受信する（ステップＲ５９ｂ）。
【０１３８】
コンテンツ解析部１０７は、受信した変更要求６１１はエンキューの条件を満たさないと判断する。コンテンツ解析部１０７は、フォアグラウンドアプリ３８Ａからの変更要求６１１が有するコマンドを、コマンド実行エンジン１０８に実行させる（ステップＲ６１）。コンテンツ管理部１２７は、コマンド実行エンジン１０８のコマンド実行結果に基き、画面管理情報１６２のフォアグラウンドアプリ３８Ａに対応のコンテンツ１６５の変更処理を実施する（ステップＲ６３ａ）。描画部１０６は、画面管理情報１６２の変更後のコンテンツ１６５に基いた表示制御データ１６８を生成し表示ドライバー１７１Ａに出力する（ステップＲ６３ｂ）。これにより、ディスプレイ１７１Ｂのフォアグラウンド画面は、フォアグラウンドアプリ３８Ａからの変更要求６１１に従い変化する（ステップＲ６５）。
【０１３９】
その後、ＭＦＰシステム１０２が、操作受付部１０３を介してアプリ切替操作を受付けて（ステップＲ６７）、受付けた操作内容を出力する。ウェブブラウザー１０５は、ＭＦＰシステム１０２が出力する操作内容からアプリ切替操作を検出したとき、コンテンツ解析部１０７は、上記に述べた階層変更処理を実施する。また、コンテンツ解析部１０７は、デキュー条件が満たされると判断したバックグラウンドアプリ３８Ｂの変更要求６１１を、要求キュー管理部１２６に、デキューさせる。コンテンツ管理部１２７は、デキューされた変更要求６１１に従い、画面管理情報１６２のバックグラウンドアプリ３８Ｂに対応のコンテンツ１６５を変更する（ステップＲ６９、Ｒ７１、Ｒ７３ａ）。これにより、実施が保留されていたコンテンツの変更処理が実施される。
【０１４０】
描画部１０６は、バックグラウンドアプリ３８Ｂに対応のコンテンツ１６５が変更された画面管理情報１６２に基づく表示制御データ１６８を生成し、生成された表示制御データ１６８を表示ドライバー１７１Ａに出力する（ステップＲ７３ｂ）。
【０１４１】
上記に述べたように、ウェブブラウザー１０５は、アプリ切替操作を受付けたとき、階層変更処理を実施するとともに、切替後のフォアグラウンド画面のために、保留されていたコンテンツの変更処理を実施する。
【０１４２】
この変更処理には、コンテンツを変更するためにウェブブラウザー１０５がサーバー３００（より特定的にはアプリケーション３８）と通信する処理が含まれても良い。この場合、例えば、ステップＲ６９でデキューされる変更要求６１１は、変更するためのコンテンツ（例えば、変更後のコンテンツ、コンテンツ変更のためのコマンドなど）を取得するためにサーバー３００（より特定的にはアプリケーション３８）と通信するための通信コマンドが含まれ得る。このようなコンテンツの変更処理が保留されることで、ウェブブラウザー１０５とサーバー３００（アプリケーション３８）との通信トラフィックが軽減される。
【０１４３】
＜Ｉ．フローチャート＞
図２１は、本実施の形態にかかるコンテンツの変更処理のフローチャートの一例を示す図である。コンテンツ解析部１０７は、図２１の処理を、操作受付部１０３からアプリケーションの切替操作を受付けたとき、または、サーバー３００から変更要求を受信したときに実施する。
【０１４４】
まず、コンテンツ解析部１０７は、操作受付部１０３を介してアプリ切替操作を検出するか否かを判断する（ステップＳ３）。
【０１４５】
コンテンツ解析部１０７は、アプリ切替操作を検出すると判断したとき（ステップＳ３でＹＥＳ）、バックグラウンド画面のバックグラウンドアプリケーションについてキュー１６１についてデキュー条件が満たされるか否かを判断する（ステップＳ５）。また、コンテンツ解析部１０７は、バックグラウンド画面のバックグラウンドアプリケーションについてキュー１６９についてデキュー条件が満たされるか否かを判断する（ステップＳ５）。要求キュー管理部１２６および１２８は、デキュー条件は満たされないと判断すると（ステップＳ５でＮＯ）、コンテンツ解析部１０７はアプリ切替操作に従い階層変更処理を実施する（ステップＳ１９）。これにより、バックグラウンド画面の階層は、フォアグラウンド画面に変更される（ステップＳ１９）。
【０１４６】
コンテンツ解析部１０７は、キュー１６１についてデキュー条件が満たされると判断すると（ステップＳ５でＹＥＳ）、要求キュー管理部１２６にキュー１６１から変更要求６１１をデキュー（読出）させて、コンテンツ管理部１２７は、デキューされた変更要求６１１に従うコンテンツ１６５の変更処理を実施する（ステップＳ７）。要求キュー管理部１２６は、デキューした変更要求６１１をキュー１６１においてクリア（例えば削除）する（ステップＳ９）。このように、キュー１６１からデキューされた各変更要求６１１に従うコンテンツ１６５の変更処理が実施されると、処理はステップＳ１９に移る。
【０１４７】
同様に、コンテンツ解析部１０７は、キュー１６９についてデキュー条件が満たされるを判断すると（ステップＳ５でＹＥＳ）、状態キュー管理部１２８に、キュー１６９から状態変化通知６３３をデキュー（読出）させ、コンテンツ解析部１０７は、デキューされた状態変化通知６３３に基づきサーバー３００と通信する。
【０１４８】
コンテンツ解析部１０７は、サーバー３００から、状態変化通知６３３に対応のアプリケーションが実行されることにより出力された変更要求６１１を受信し、コンテンツ管理部１２７は、変更要求６１１に従うコンテンツ１６５の変更処理を実施する（ステップＳ７）。状態キュー管理部１２８は、デキューされた状態変化通知６３３をキュー１６９においてクリア（例えば削除）する（ステップＳ９）。キュー１６９に格納されている各状態変化通知６３３に従うコンテンツ１６５の変更処理が終了すると、処理はステップＳ１９に移る。
【０１４９】
これにより、ウェブブラウザー１０５は、アプリ切替操作を検出したときは、コンテンツ解析部１０７は階層構造の変更処理とともに、キュー１６１に格納されている変更要求６１１およびキュー１６９に格納されている状態変化通知６３３に対応の、保留されていたコンテンツの変更処理を実施する。
【０１５０】
ステップＳ３に戻る。ウェブブラウザー１０５は、アプリ切替操作を検出しないと判断すると（ステップＳ３でＮＯ）、コンテンツ解析部１０７は、バックグラウンドアプリケーションについてサーバー３００の変更要求６１１またはＭＦＰシステム１０２から通知６１２を受付けるかを判断する（ステップＳ１１）。ここで、ＭＦＰシステム１０２から受付ける通知６１２は、ログイン/ログアウト通知６３１、システムオートリセット通知６３２、状態変化通知６３３およびシステム通知６３４のいずれかを含み得る。
【０１５１】
コンテンツ解析部１０７は、受付けた変更要求６１１または通知６１２に基づき、これらはバックグラウンドアプリケーションに対応するかを判断する（ステップＳ１１）。コンテンツ解析部１０７は、これらはフォアグラウンドアプリケーションに対応する、すなわちバックグラウンドアプリケーションに対応しないと判断したときは（ステップＳ１１でＮＯ）、コンテンツ変更処理を実施する（ステップＳ１９）。具体的には、コンテンツ管理部１２７は、受付けた変更要求６１１（ＭＦＰシステム１０２からの通知６１２に基づきフォアグラウンドアプリケーションから受信する変更要求６１１）に従い、画面管理情報１６２のフォアグラウンドアプリケーションに対応のコンテンツ１６５の変更処理を実施する。
【０１５２】
コンテンツ解析部１０７は、受付けた変更要求６１１または通知６１２に基づき、これらはバックグラウンドアプリケーションに対応するものであると判断すると（ステップＳ１１でＹＥＳ）、ステップＳ１３に移行する。ステップＳ１３では、コンテンツ解析部１０７は、受付けたものは、ＭＦＰシステム１０２から通知６１２ではないと判断したときは（ステップＳ１３でＮＯ）、すなわちサーバー３００からの変更要求６１１であると判断したときは、バックグラウンドアプリケーションのコンテンツ１６５の変更処理の実施が保留されるように、要求キュー管理部１２６に、当該変更要求６１１をキュー１６１に格納させる（ステップＳ２１、Ｓ２３）。その後、処理はステップＳ３に戻る。
【０１５３】
一方、コンテンツ解析部１０７は、受付けた変更要求６１１または通知６１２に基づき、これらはバックグラウンドアプリケーションに対応するものであると判断したとき（ステップＳ１１でＹＥＳ）であって、受付けたものは、サーバー３００からの変更要求６１１ではなくＭＦＰシステム１０２からの通知６１２であると判断したときは（ステップＳ１３でＹＥＳ）、コンテンツ解析部１０７は、ステップＳ１５の判断を実施する。
【０１５４】
コンテンツ解析部１０７は、ＭＦＰシステム１０２から受付けた通知６１２に基づき、当該通知６１２は全体変更処理を実施するための通知であるかを判断する（ステップＳ１５）。具体的には、コンテンツ解析部１０７は、ＭＦＰシステム１０２から受付けた通知６１２が、ログイン/ログアウト通知６３１またはシステムオートリセット通知６３２を示すときは、全体変更処理を実施すると判断し、通知が状態変化通知６３３またはシステム通知６３４を示すときは、コンテンツ全体処理ではない（コンテンツ部分処理である）と判断する。
【０１５５】
コンテンツ解析部１０７は、ＭＦＰシステム１０２からの通知６１２に基づきコンテンツ全体処理を実施すると判断すると（ステップＳ１５でＹＥＳ）、状態キュー管理部１２８に、キュー１６９に格納された状態変化通知６３３をクリア（削除）させる（ステップＳ１７）。コンテンツ解析部１０７は、上記に述べたコンテンツ全体処理を実施する（ステップＳ１９）。このコンテンツ全体処理により、画面管理情報１６２の全てのアプリケーションに対応のコンテンツ１６５は初期画面のコンテンツに変更される。これにより、ウェブブラウザー１０５は、ＭＦＰ１００が所定状態（ログイン/ログアウト状態、システムオートリセット状態）であれば、サーバー３００から受信する変更要求６１１に従うコンテンツ全体処理を実施する。
【０１５６】
一方、コンテンツ解析部１０７は、ＭＦＰシステム１０２からの通知６１２は状態変化通知６３３またはシステム通知６３４であると判断したとき、すなわちコンテンツ全体処理を実施しないと判断するとき（ステップＳ１５でＮＯ）、コンテンツ解析部１０７は、当該通知６１２（状態変化通知６３３、システム通知６３４）に基づく変更要求６１１に従うコンテンツの変更処理の実施を保留する（ステップＳ２１）。これにより、コンテンツ解析部１０７が、ＭＦＰシステム１０２からの通知６１２に基き、画面の一部を変更するようにコンテンツ部分処理を実施すると判断したときは、状態キュー管理部１２８に当該通知６１２をキュー１６９に格納する（ステップＳ２３）。これにより、通知６１２に基づく変更要求６１１に従うコンテンツの変更処理（コンテンツ部分処理）の実施は保留される。その後、処理はステップＳ３に戻る。
【０１５７】
本実施の形態では、サーバー３００が備える機能は、内蔵サーバー２００に備えてもよい。その場合は、ウェブブラウザー１０５は、内蔵サーバー２００と通信することにより、図４および図９に示した各部の機能、ならびに各シーケンスおよびフローチャートを実現することができる。
【０１５８】
また、コンテンツ管理部１２７は、ＭＦＰ１００がログイン/ログアウト状態またはシステムオートリセット状態を含む所定状態である場合は、受信した変更要求６１１が予め定められた種類のアプリケーション３８から出力される変更要求６１１であるときは、変更処理の実施を保留してもよい。
【０１５９】
この予め定められた種類のアプリケーション３８は、例えばユーザーにより項目の設定操作がなされない、またはユーザーにより設定された項目を表示しない種類のアプリケーション画面に対応のアプリケーションを含む。
【０１６０】
例えば、図１８、図１９および図２０のシーケンスにおいて、コンテンツ解析部１０７は、受信した変更要求６１１に基き、変更要求６１１が有するアプリケーションの識別子は、バックグラウンドアプリ３８Ｂに該当し、且つ予め定められた種類のアプリケーションの識別子を示すと判断したとき、当該変更要求６１１に従うコンテンツの変更処理は保留すると決定してもよい。これにより、バックグラウンドアプリ３８Ｂからの変更要求６１１であっても、バックグラウンドアプリ３８Ｂが予め定められた種類に該当すれば、コンテンツ解析部１０７は、当該変更要求６１１に従うバックグラウンドアプリ３８Ｂのコンテンツの変更処理を実施する。
【０１６１】
＜Ｊ．プログラム＞
本実施の形態では、上記に述べた処理をＭＦＰ１００およびサーバー３００に実行させるためのプログラムが提供される。このようなプログラムは、少なくとも上記の図１８〜図２０のシーケンスまたは図２１のフローチャートに従う処理のプログラムを含む。ＭＦＰ１００およびサーバー３００のコンピューターに付属するフレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）、ＲＯＭ、ＲＡＭおよびメモリカードなどのコンピューター読み取り可能な記憶媒体１７６，３７にて記録させて、プログラム製品として提供することもできる。あるいは、コンピューターに内蔵するハードディスクなどの記憶媒体にて記録させて、プログラムを提供することもできる。また、ネットワーク４００を介したダウンロードによって、ウェブブラウザー１０５などのプログラムを提供することもできる。このプログラムは、ＣＰＵなどの１つ以上のプロセッサにより、またはプロセッサとＡＳＩＣ，ＦＰＧＡなどの回路との組合せにより実行され得る。
【０１６２】
なお、ウェブブラウザー１０５プログラムは、コンピューターのＯＳ（Operating System)の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して、プロセッサに処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずＯＳと協働して処理が実行される。このようなモジュールを含まないプログラムも、各実施の形態のプログラムに含まれ得る。
【０１６３】
また、各実施の形態にかかるプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して、プロセッサに処理を実行させる。このような他のプログラムに組込まれたプログラムも、各実施の形態にかかるプログラムに含まれ得る。
【０１６４】
＜Ｋ．実施の形態の効果＞
本実施の形態によれば、複数のアプリケーション３８が実行中において、ディスプレイ１７１Ｂに階層構造に従い各アプリケーション３８に対応のアプリケーション画面が表示される場合に、バックグラウンドアプリ３８Ｂからの変更要求６１１に従うコンテンツ１６５の変更処理の実施はされずに、保留される。この保留がされる期間では、ＭＦＰ１００は、当該変更処理に優先してＭＦＰ１００に対するユーザー操作の応答処理など他の処理を実施できて、このような他の処理に対する応答性能を改善することができる。
【０１６５】
また、ＭＦＰシステム１０２がバックグラウンドアプリ３８Ｂに対応したジョブの実行状態の変化またはシステム状態を検出したときは、状態変化通知６３３またはシステム通知６３４の通知６１２はキュー１６９に格納されて、対応するコンテンツ１６５の変更処理の実施はされずに、保留される。この保留がされる期間では、サーバー３００とクライアントであるＭＦＰ１００間のネットワーク通信（要求６１３と、要求６１３に基づく変更要求６１１にかかる通信）は保留されて、トラフィックの増加を抑制できる。したがって、この保留がされる期間では、ＭＦＰ１００は、当該変更処理に優先してＭＦＰ１００に対するユーザー操作に基づくサーバー３００との通信処理を実施することができて、このようなユーザー操作に対する応答性能を改善することができる。
【０１６６】
したがって、上記に述べたコンテンツの変更処理の実施が保留されている期間は、リソース（ＣＰＵ１５０、記憶部１６０のメモリ、ネットワーク４００の帯域など）の利用が節約されて、その分、ＭＦＰ１００に対するユーザー操作の受付け、およびユーザー操作に基く処理などのために使用するリソースを増加させることができる。この結果、例えばアプリケーション３８が実行時にアプリケーション画面を表示するまでの所要時間を短縮することが可能となる。
【０１６７】
ＭＦＰ１００が不特定多数のユーザーにより利用されるとしても、ログイン/ログアウト状態またはシステムオートリセット状態など、非初期画面のアプリケーション画面においてユーザーが設定した項目が他のユーザーに公開されてしま可能性がある。このようなログイン/ログアウト状態またはシステムオートリセット状態では、ウェブブラウザー１０５は、階層構造を構成するアプリケーション画面のうち、非初期画面のコンテンツ１６５についてはコンテンツ全体処理を実施して初期画面に変更する。したがって、或るユーザーが設定した項目が意図せず他のユーザーに公開されるという事態を回避することができて、ユーザーが設定した項目に関するセキュリティを確保することができる。
【０１６８】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１６９】
１  システム、３８  アプリケーション、３８Ａ  フォアグラウンドアプリケーション、３８Ｂ  バックグラウンドアプリケーション、６０  フォアグラウンド画面、６１  バックグラウンド画面、１００  ＭＦＰ，１０２  ＭＦＰシステム、１０３  操作受付部、１０５  ウェブブラウザー、１０６  描画部、１０７  コンテンツ解析部、１０８  コマンド実行エンジン、１０９  システム間ＩＦモジュール、１１０  ネットワークモジュール、１１１  ＵＩ部品、１２６  要求キュー管理部、１２７  コンテンツ管理部、１２８  状態キュー管理部、１５１  画像処理部、１５２  画像形成部、１５３  ファクシミリ制御部、１５４  画像出力部、１５７  データ通信部、１６１，１６９  キュー、１６２  画面管理情報、１６３  アプリＩＤ、１６４  階層、１６５  コンテンツ、１６６  フラグ、１６７  レコード、１６８  表示制御データ、１７０  入出力部、１７１  表示部、１７１Ａ  表示ドライバー、１７１Ｂ  ディスプレイ、１７２  操作部、１７５，２４０  内部通信回路、２００  内蔵サーバー、３００  サーバー、３０１  要求受付部、３０２  要求処理部、３０３  コンテンツ提供部、３０４  実行部、３０５  要求送信部、４００  ネットワーク、６１１  変更要求、６１２  通知、６１３  要求、６３１  ログアウト通知、６３２  システムオートリセット通知、６３３  状態変化通知、６３４  システム通知。
【図１】
2020098478.tif 000003
【図２】
2020098478.tif 000004
【図３】
2020098478.tif 000005
【図４】
2020098478.tif 000006
【図５】
2020098478.tif 000007
【図６】
2020098478.tif 000008
【図７】
2020098478.tif 000009
【図８】
2020098478.tif 000010
【図９】
2020098478.tif 000011
【図１０】
2020098478.tif 000012
【図１１】
2020098478.tif 000013
【図１２】
2020098478.tif 000014
【図１３】
2020098478.tif 000015
【図１４】
2020098478.tif 000016
【図１５】
2020098478.tif 000017
【図１６】
2020098478.tif 000018
【図１７】
2020098478.tif 000019
【図１８】
2020098478.tif 000020
【図１９】
2020098478.tif 000021
【図２０】
2020098478.tif 000022
【図２１】
2020098478.tif 000023