(57)【要約】【課題】一貫した観点で機能を分割し、これにより多様な機器構成や環境に対応し得る画像形成装置及びプログラムを提供する。【解決手段】画像形成装置のシステムは、利用者との応答を実現するユーザインターフェイス機能を実装するプレゼンテーション層３０と、プレゼンテーション層３０からの呼び出しによってデバイスを制御してプレゼンテーション層３０に通知するデバイスサービス層３２と、プレゼンテーション層３０とデバイスサービス層３２とを連携させる基盤層３４とに論理分割される。プレゼンテーション層３０は、物理的に分離されたタブレット等に実装され得る。【選択図】図２
2018081636.tif 000002
【特許請求の範囲】
【請求項１】
利用者との応答を実現するユーザインターフェイス機能を実装するプレゼンテーション層と、前記プレゼンテーション層からの呼び出しによってデバイスを制御して前記プレゼンテーション層に通知するデバイスサービス層と、前記プレゼンテーション層と前記デバイスサービス層とを連携させる基盤層とに論理分割されてなるプログラムと、
前記プログラムを実行する制御手段と、
を備える画像形成装置。
【請求項２】
前記プレゼンテーション層を有する端末と、
前記デバイスサービス層及び前記基盤層を有する本体と、
に分割される請求項１に記載の画像形成装置。
【請求項３】
前記プレゼンテーション層を有する端末と、
前記基盤層を有する第１機器と、
前記デバイスサービス層を有する第２機器と、
に分割される請求項１に記載の画像形成装置。
【請求項４】
電源オン時に、
前記プレゼンテーション層は、起動中画面及びホーム画面を表示するとともに起動開始命令を前記基盤層に送信し、
前記基盤層は、前記起動開始命令を前記デバイスサービス層に送信し、
前記デバイスサービス層は、前記起動開始命令に応じて初期化処理を実行し、起動完了通知を前記基盤層に送信する
請求項１〜３のいずれかに記載の画像形成装置。
【請求項５】
ジョブ実行時に、
前記プレゼンテーション層は、ジョブの実行開始命令を前記基盤層に送信するとともに進捗画面を表示し、
前記基盤層は、前記実行開始命令を前記デバイスサービス層に送信するとともに、前記デバイスサービス層からの進捗通知を受け取って前記プレゼンテーション層に送信し、
前記デバイスサービス層は、前記基盤層からの前記実行開始命令を受け取ってジョブを実行するとともに、進捗状況を前記基盤層に送信する
請求項１〜３のいずれかに記載の画像形成装置。
【請求項６】
前記プレゼンテーション層は、
アプリケーションと、
アプリケーションの挙動を定義し、アプリケーション間を連携させるフレームワークと、
同期あるいは非同期のユーザインターフェイスを提供するファシリティと、
を備え、
前記デバイスサービス層は、
デバイスを制御するデバイスコントロールと、
ジョブを実行するランタイムと、
を備え、
前記基盤層は、
前記プレゼンテーション層と前記デバイスサービス層間を連携させるコミュニケーションと、
オペレーティングシステムを提供するベースシステムと、
を備えることを特徴とする請求項１〜５のいずれかに記載の画像形成装置。
【請求項７】
画像形成装置を制御するプロセッサに実行させるプログラムであって、
利用者との応答を実現するユーザインターフェイス機能を実装するプレゼンテーション層と、
前記プレゼンテーション層からの呼び出しによってデバイスを制御して前記プレゼンテーション層に通知するデバイスサービス層と、
前記プレゼンテーション層と前記デバイスサービス層とを連携させる基盤層と、
に論理分割されてなるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置及びプログラムに関する。  
【背景技術】
【０００２】
特許文献１には、アプリ一覧画面に表示されるアイコンのアプリが実行中であるか否かを、ユーザが容易に把握できるようにする画像形成装置が記載されている。アプリケーション及びアプリケーションの動作設定を登録したマクロを呼び出すためのアイコンに対し、アイコンの位置、アイコン画像、アプリケーションの識別情報、マクロの識別情報を含む一覧画面情報を記憶する画面情報記憶手段と、ジョブの状態が待機から実行に変化したアプリケーションの状態情報を取得し、識別情報を出力するとともに画面更新要求を行う画面制御手段と、一覧画面情報に基づき作成したアプリケーションの一覧画面に対して画面更新要求を受けた場合、取得された識別情報が示すアプリケーションのアイコンの表示形態を、他のアプリケーションのアイコンとは異なる表示形態に更新する画面作成手段と、更新されたアイコンを含む一覧画面を表示する表示手段を備えることが記載されている。
【０００３】
特許文献２には、多機能化する複合機において、ユーザの操作性を向上させることが記載されている。標準アプリケーションと、拡張アプリケーションと、標準及び拡張アプリケーションを識別するアプリ識別情報を、それぞれのアイコンの座標情報及びアイコンの画像情報に対応付けたアイコン配置情報を記憶する配置情報記憶手段と、アイコン配置情報に基づき、標準及び拡張アプリケーションに対応するアイコンが表示されるアプリ一覧画面を作成する一覧画面作成手段と、作成された前記アプリ一覧作成画面を表示する表示手段と、押下されたアイコンに対応する標準又は拡張アプリケーションをアイコン配置情報から特定し、特定された標準又は拡張アプリケーションに対し、操作画面の表示要求を行う画面制御手段を備えることが記載されている。    
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−２４８１０２号公報
【特許文献２】特開２０１２−２７６６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、コピー、プリンタ、ファックス等の機能を備える画像形成装置（あるいは複合機）では、画像入出力機能の提供はもとより、多様な機器構成や環境への対応や、高品位なユーザインタラクション、機能集約、統合サービスの提供、サービス連携が求められるようになっており、従来の組み込みソフトウェアとしての設計・実装では、保守性や拡張性、安全性、開発生産性を担保することが困難となっている。また、従来のライブラリによる機能分割・集約では、多くの実行時情報を共有することになるので、分割が不十分となる。
【０００６】
本発明の目的は、一貫した観点で機能を分割し、これにより多様な機器構成や環境に、安全かつ効率的に対応し得る画像形成装置及びプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
請求項１に記載の発明は、利用者との応答を実現するユーザインターフェイス機能を実装するプレゼンテーション層と、前記プレゼンテーション層からの呼び出しによってデバイスを制御して前記プレゼンテーション層に通知するデバイスサービス層と、前記プレゼンテーション層と前記デバイスサービス層とを連携させる基盤層とに論理分割されてなるプログラムと、前記プログラムを実行する制御手段とを備える画像形成装置である。
【０００８】
請求項２に記載の発明は、前記プレゼンテーション層を有する端末と、前記デバイスサービス層及び前記基盤層を有する本体とに分割される請求項１に記載の画像形成装置である。
【０００９】
請求項３に記載の発明は、前記プレゼンテーション層を有する端末と、前記基盤層を有する第１機器と、前記デバイスサービス層を有する第２機器とに分割される請求項１に記載の画像形成装置である。
【００１０】
請求項４に記載の発明は、電源オン時に、前記プレゼンテーション層は、起動中画面及びホーム画面を表示するとともに起動開始命令を前記基盤層に送信し、前記基盤層は、前記起動開始命令を前記デバイスサービス層に送信し、前記デバイスサービス層は、前記起動開始命令に応じて初期化処理を実行し、起動完了通知を前記基盤層に送信する請求項１〜３のいずれかに記載の画像形成装置である。
【００１１】
請求項５に記載の発明は、ジョブ実行時に、前記プレゼンテーション層は、ジョブの実行開始命令を前記基盤層に送信するとともに進捗画面を表示し、前記基盤層は、前記実行開始命令を前記デバイスサービス層に送信するとともに、前記デバイスサービス層からの進捗通知を受け取って前記プレゼンテーション層に送信し、前記デバイスサービス層は、前記基盤層からの前記実行開始命令を受け取ってジョブを実行するとともに、進捗状況を前記基盤層に送信する請求項１〜３のいずれかに記載の画像形成装置である。
【００１２】
請求項６に記載の発明は、前記プレゼンテーション層は、アプリケーションと、アプリケーションの挙動を定義し、アプリケーション間を連携させるフレームワークと、同期あるいは非同期のユーザインターフェイスを提供するファシリティとを備え、前記デバイスサービス層は、デバイスを制御するデバイスコントロールと、ジョブを実行するランタイムとを備え、前記基盤層は、前記プレゼンテーション層と前記デバイスサービス層間を連携させるコミュニケーションと、オペレーティングシステムを提供するベースシステムとを備えることを特徴とする請求項１〜５のいずれかに記載の画像形成装置である。
【００１３】
請求項７に記載の発明は、画像形成装置を制御するプロセッサに実行させるプログラムであって、利用者との応答を実現するユーザインターフェイス機能を実装するプレゼンテーション層と、前記プレゼンテーション層からの呼び出しによってデバイスを制御して前記プレゼンテーション層に通知するデバイスサービス層と、前記プレゼンテーション層と前記デバイスサービス層とを連携させる基盤層とに論理分割されてなるプログラムである。
【発明の効果】
【００１４】
請求項１，６，７に記載の発明によれば、一貫した観点で機能を論理分割し、これにより多様な機器構成や環境に対応し得る。
【００１５】
請求項２に記載の発明によれば、さらに、画像形成装置を端末と本体に２分割できる。
【００１６】
請求項３に記載の発明によれば、さらに、画像形成装置を端末と第１機器と第２機器に３分割できる。
【００１７】
請求項４に記載の発明によれば、さらに、電源オン時に各層の連携を図って処理を円滑に実行できる。
【００１８】
請求項５に記載の発明によれば、さらに、ジョブ実行時に各層の連携を図って処理を円滑に実行できる。  
【図面の簡単な説明】
【００１９】
【図１】実施形態における画像形成装置の機能ブロック図である。
【図２】システムの論理的分割説明図である。
【図３】各層の詳細な説明図である。
【図４】各層の更に詳細な説明図である。
【図５】コピー専用機の詳細な説明図である。
【図６】プリンタ専用機の詳細な説明図である。
【図７】他の実施形態における画像形成装置の機能ブロック図である。
【図８】さらに他の実施形態における画像形成装置の機能ブロック図である。
【図９】電源オン後のシーケンス図である。
【図１０】電源オン後の詳細なシーケンス図である。
【図１１】ログイン開始後のシーケンス図（その１）である。
【図１２】ログイン開始後のシーケンス図（その２）である。
【図１３】ログイン開始後の詳細なシーケンス図（その１）である。
【図１４】ログイン開始後の詳細なシーケンス図（その２）である。
【図１５】ログイン開始後の詳細なシーケンス図（その３）である。
【図１６】ログイン開始後の詳細なシーケンス図（その４）である。
【図１７】ログイン開始後の詳細なシーケンス図（その５）である。
【発明を実施するための形態】
【００２０】
以下、図面に基づき本発明の実施形態について説明する。
【００２１】
＜システム全体構成＞
図１は、本実施形態における画像形成装置を含む画像形成システムの構成ブロック図である。画像形成システムは、端末装置１０及び画像形成装置１２を備える。端末装置１０と画像形成装置１２は、通信手段１４を介して接続される。通信手段１４は、例えばＬＡＮ（ローカルエリアネットワーク）等のデータ通信ネットワークが用いられる。
【００２２】
端末装置１０は、通信手段１４を介して画像形成装置１２に接続され、利用者の指示に従い、文書の印刷命令を含む印刷ジョブ等を送信する。
【００２３】
画像形成装置１２は、ＲＯＭ１６、ＲＡＭ１８、ＨＤＤ２０、１つ又は複数のＣＰＵで構成される制御部２２、入出力インターフェイスＩ／Ｆ２４、タッチパネル等の操作部２６、画像形成部２８を備える。
【００２４】
１又は複数のＣＰＵで構成される制御部２２は、ＲＯＭ１６に記憶された処理プログラムに従い、入出力Ｉ／Ｆ２４を介して端末装置１０から印刷ジョブ命令等を受け付け、ＰＤＬデータを解釈して中間データを生成し、生成した中間データからさらに描画データ（ラスターデータ）を生成する。また、制御部２２は、操作部２６から受け付けたコピー（Copy）、スキャン（Scan）、ファックス(Fax)等の各種命令を実行する。
【００２５】
画像形成部２８は、プリントモジュール、スキャナモジュール、ファックスモジュール、用紙給紙モジュール、原稿給紙モジュール、及び画像処理アクセラレータを備える。
【００２６】
プリントモジュールは、画像を用紙に出力する機能を有するモジュールである。例えば、公知のインクジェット方式の構成を備え、描画データを用紙に印刷する。ノズル等から液体あるいは溶融固体インクを吐出し、紙、フィルム等に記録を行う。インクを吐出する方法には、静電誘引力を利用してインクを吐出させるドロップオンデマンド方式（圧力パルス方式）、高熱により気泡を形成・成長させることで生じる圧力を利用してインクを吐出させる熱インクジェット方式等がある。記録ヘッドは、例えば、シアンインクを吐出するヘッド、マゼンタインクを吐出するヘッド、イエローインクを吐出するヘッド、ブラックインクを吐出するヘッドを備え、各ヘッドが用紙の幅と少なくとも同等の幅を有するラインヘッドが用いられる。記録ヘッドにより各色のインク滴を中間転写体に吐出して記録し、その後に用紙に転写して印刷する。
【００２７】
スキャナモジュールは、用紙から画像を読み取って電子データに変換するモジュールである。
【００２８】
ファックス(Fax)モジュールは、モデムやファックス用画像処理モジュールを備え、ファックス機能を実行するモジュールである。
【００２９】
用紙給紙モジュールは、用紙トレイからプリントモジュールに用紙を搬送するモジュールである。
【００３０】
原稿給紙モジュールは、原稿トレイからファックスモジュールに用紙を搬送するモジュールである。
【００３１】
画像処理アクセラレータは、スキャナモジュール等と連動して圧縮／伸長処理を行うモジュールである。この画像処理アクセラレータは必須ではなく、付加的モジュールとしてもよい。
【００３２】
なお、画像形成装置１２は、これら以外にも、用紙のパンチやソート等を行うフィニッシャ、ＵＳＢ、ＩＣカードリーダ等から構成され利用者の認証を行う認証部、課金部、人感センサや顔カメラ等を備えていてもよい。
【００３３】
また、画像形成装置１２は、通信手段１４を介してインターネットに接続されていてもよく、イーサネット（登録商標）やＷｉＦｉを備えていてもよい。
【００３４】
＜システムの論理構成＞
図２は、制御部２２で実行されるシステムの論理構成を示す。システムは、大別して、プレゼンテーション層３０とデバイスサービス層３２と基盤層３４の３つの層に論理的に分割される。
【００３５】
プレゼンテーション層３０は、利用者との間で対話的な利用を可能とするユーザインターフェイス機能を実装する層で、単一のプロセスである。単一のプロセスとは、データのアドレス空間を共有しているプログラムの実行コンテキストを示すものである。
【００３６】
デバイスサービス層３２は、ユーザインターフェイスを含まず、各種機器を制御し、手続的な呼び出しによって機能するサービスを実装する層で、単一のプロセスである。
【００３７】
基盤層３４は、モジュール間の通信制御等、特定の機能やサービス、ユーザインターフェイスに依存しない基盤技術と拡張方法を提供する層で、一部はプレゼンテーション層と同一のプロセス空間で実行され、他の部分はデバイスサービス層と同一のプロセス空間で実行される。
【００３８】
プレゼンテーション層３０とデバイスサービス層３２は、基盤層３４を介して連携し、システムを構築する。プレゼンテーション層３０は、デバイスサービス層３２の機能を呼び出し、その応答を得る。デバイスサービス層３２は、事前に登録されたプレゼンテーション層３０のモジュールに非同期の通知を送信する。プレゼンテーション層３０とデバイスサービス層３２は、基盤層３４の機構（プラグイン等）を用いて、スキーマ定義や機能実装を行うことができる。
【００３９】
以下、各層について、より詳細に説明する。
【００４０】
図３は、プレゼンテーション層３０、デバイスサービス層３２、基盤層３４の詳細を示す。
【００４１】
プレゼンテーション層３０は、アプリケーション、ファシリティ、及びフレームワークを備える。
【００４２】
アプリケーションは、コピーやスキャン、ファックス等の具体的なサービスを利用者に対してユーザインターフェイスを介して提供するプログラムである。
【００４３】
ファシリティは、システム前提として機能すべき同期・非同期のユーザインターフェイスを構築し、主に個別のサービスに依存せず、他のアプリケーションと連携した機能を提供するプログラムである。
【００４４】
フレームワークは、アプリケーションの共通の挙動を定義し、アプリケーション間の連携、及びアプリケーション内の実装を支援するプログラムである。
【００４５】
デバイスサービス層３２は、デバイスコントロール、ランタイム、ユーティリティを備える。
【００４６】
デバイスコントロールは、プリンタやスキャナ、画像処理アクセラレータ等のハードウェアデバイスを制御するプログラムである。
【００４７】
ランタイムは、アカウントやジョブ、ドキュメント等のデバイスを操作・利用・監査するための抽象概念をモデル化し、コピーやスキャン、ファイル転送などの単機能のサービスを提供するプログラムである。
【００４８】
ユーティリティは、ランタイム内の機能を利用し、複数の機能を組み合わせたり、パラメータを調整したりすることで、複合的な機能のサービスを提供するプログラムである。
基盤層３４は、コミュニケーション、ストレージ、トラスティ、ベースシステムを備える。
【００４９】
コミュニケーションは、プレゼンテーション層３０とデバイスサービス層３２の安全な連携の機構とその拡張方法を提供するプログラムである。
【００５０】
ストレージは、関係データベースやＫＶＳ（キーバリューストア）等の永続化の機構とその拡張方法を提供する。
【００５１】
トラスティは、アクセス制御のためのマップやリスト、証明を与えるプログラムである。
【００５２】
ベースシステムは、プロセス制御やプロセス間通信等の一般的なオペレーティングシステムの基本的な機能を提供するプログラムである。
【００５３】
図４は、プレゼンテーション層３０、デバイスサービス層３２、基盤層３４のさらに詳細を示す。
【００５４】
まず、プレゼンテーション層３０のアプリケーション、ファシリティ、フレームワークには、それぞれ以下が含まれる。
【００５５】
＜アプリケーション＞
Copy: スキャナで読み込んだ画像を、プリントするサービスを実現するプログラム。
Scan: スキャナで読み込んだ画像を、各種のストレージに保存、もしくは転送するサービスを実現するプログラム。
Fax: スキャナで読み込んだ画像を、電話回線を通じて送信、もしくは電話回線を通じて受信した画像を、ストレージに保存、あるいはプリントするサービスを実現するプログラム。
Print: ストレージに保存された画像を、プリントするサービスを実現するプログラム。
Box: ストレージ保存された画像を管理するサービスを実現するプログラム。
Contacts: 転送や送信などのあて先を関するサービスを実現するプログラム。
ExcC（External application Companion）：フレームワークの定義外で実装されたアプリケーションとの挙動の整合をとり、統一的な振舞いを実現するプログラム。
【００５６】
＜ファシリティ＞
Fault: システム内で発生したフォルト(エラー)の状態をユーザにフィードバックするプログラム。
Alert:画面の表示状態にかかわらずにシステムで発生したユーザ応答が必要な情報を通知し、ユーザ応答を得るプログラム。
System: 節電移行・復帰や自動ログアウトなどのシステムワイドに発生したユーザインタフェースイベントを通知するプログラム。
Config.: ネットワークアドレスなどのシステムの設定機をユーザに実施させる機構を実現するプログラム。
Home: ユーザの指示によって同期的にアプリケーションの画面を切り替えるためのユーザインターフェイスを提供するプログラム。
UC: ユーザのコンテキストを生成・破棄するためのユーザインターフェイスと機構を提供するプログラム。
Banner: 画面の表示状態と同期したシステムで発生した通知メッセージを提示するプログラム。
Jobs: ジョブの状態を監視し、画面の表示状態と同期してジョブの生成を通知し、ユーザの指示によって一覧を表示するプログラム。
【００５７】
＜フレームワーク＞
WM: Window Managerで、アプリケーションのウィンドウの表示・非表示、生成・破棄を実施する
CM（ Communication Manager）：アプリケーション間の連携の機構を実現するプログラム。
LM（ Lifecycle Manager）：アプリケーションの基本的な挙動を定義し、起動からサービスの実現、終了を制御するプログラム。
Widgets: アプリケーションがユーザインターフェイスを実現するための共通的な部品を提供するプログラム。
【００５８】
次に、デバイスサービス層３２のデバイスコントロール、ランタイム、ユーティリティには、それぞれ以下が含まれる。
【００５９】
＜デバイスコントロール＞
IITM（Image Input Terminal Manager）：画像入力スキャナを制御するプログラム。
IOTM（ Image Output Terminal Manager）：ページプリントとフィニッシャを制御するプログラム。
IPM（ Image Processing Manager）：画像処理アクセラレータを制御するプログラム。
DCM（ Device Control Manager）：システムデバイスを制御するプログラム。
【００６０】
＜ランタイム＞
PA（ Principal Authority）：利用者個人を識別し、個人の属性を管理するプログラム。
AuthN（ Authenticator）：システム内外の機構を利用して利用者個人を認証するプログラム。
AU（Account Utility）：プリント枚数などのサービスの利用にかかわるアカウント情報を管理するプログラム。
Audit：サービスの利用と提供に伴うシステムの挙動を時系列で記憶し、情報を提供するプログラム。
FM（Fault Manager）：システムのフォルト(エラー)状態を管理し、状態の通知と解消を制御するプログラム。
DM（ Document Manager）：複数の画像を束ねる構造を提供し、一つの塊(文書)としての操作を提供するプログラム。
SM（ Storage Manager）：複数の文書やジョブをグルーピングする機能を提供するプログラム。
BM（ Boot Manager）：システムの起動と終了の機構を提供し、システムの起動と終了、再起動の機能を提供するプログラム。
PM（ Power Manager）：システムの電力状態を監視し、モジュール間での電力制御を調停するプログラム。
DevM（ Device Manager）：デバイスコントロールのモジュールの機能利用のキューイングなどの処理順序を制御するプログラム。
JM（ Job Manager）：システム内のモジュール間の挙動のトレーサビリティ機能を提供するプログラム。
TM（ Timer Manager）：各種のアラームタイマー、インターバルタイマーの機能を提供するプログラム。
【００６１】
＜ユーティリティ＞
IDC: ランタイムのモジュールの機能を組み合わせた複合的なサービスを実現するプログラム。
PS（ Print Service）で、ネットワークなどからのプリント要求などを受け、プリントサービスなどを実現するプログラム
DT（ Document Transfer）：文書などの大規模データを転送するプログラム。
Msg.（ Messaging Service）：システム内のイベントに基づいて、電子メールなどのメッセージを送信するプログラム。
【００６２】
さらに、基盤層３４のコミュニケーション、ストレージ、トラスティ、ベースシステムには、それぞれ以下が含まれる。
【００６３】
＜コミュニケーション＞
NS（ Name Service）：プレゼンテーション層３０から指定された名前とデバイスサービス層を紐付けるプログラム。
Conn.（ Connection）：各層間の接続を管理し、プログラミング言語の差異を吸収するプログラム。
MAC（ Machine Access Control）：プレゼンテーション層３０の動作環境を識別し、アクセス範囲を制限するプログラム。
RD（ Redirector）：適切な接続先を判断するプログラム。
【００６４】
＜ストレージ＞
VFS（ Virtual File System）：仮想的なファイルシステム機能を提供するプログラム。
DB（ Database）：関係データベースの機能を提供する。
KVS（ Key Value Store）：キーと値の組み合わせからなるデータベースの機能を提供する。
ShM（ Shared Memory）：高速通信が必要な場合のメモリ共有の機構を提供する。
【００６５】
＜トラスティ＞
MACL（ Mandatory Access Control List）：システムの運用に必要で固定的なアクセス制御リストを提供するプログラム。
Policy：一般的にAccess Policy Setと呼ばれる、システムのリソースやアクションの許可・不許可を管理するプログラム。
Role: 利用者の指示の文脈意図を示す識別子で、Access Policyと対応付けるプログラム。
Groups: Roleを階層的に管理するための機構。
【００６６】
＜ベースシステム＞
VM（ Virtual Memory）：主記憶やファイルシステムなどの補助記憶を含んだ記憶領域の管理機構。
FS（ File System）：I/O空間を含んだ装置へのアクセスインターフェイス。
Procs.（ Process）：プロセスやスレッドなどの実行コンテキストを管理するプログラム。
IPC（ Inter Process Communication）：プロセッサを共有する範囲でのプロセス・スレッド間での通信を実現するプログラム。
【００６７】
なお、これらの構成は、コピーやスキャン、ファックス、コピー等の複数の機能を実装する複合機等の場合であり、例えばコピー専用機やプリンタ専用機の場合にはより簡易的な構成となる。
【００６８】
図５は、コピー専用機としての画像形成装置の構成を示す。図４と比較して、プレゼンテーション層３０においてScan, Fax, Print, Box, Contactsが存在せず、デバイスサービス層３２においてPS,DTが存在しない。
【００６９】
また、図６は、プリンタ専用機としての画像形成装置の構成を示す。図４と比較して、プレゼンテーション層３０においてCopy, Scan, Faxが存在せず、デバイスサービス層３２においてIITM, IPMが存在しない。
【００７０】
このように、本実施形態では、システムがプレゼンテーション層３０、デバイスサービス層３２及び基盤層３４に論理的に分割されているので、画像形成装置１２自体もこれに応じて物理的に分割することが可能であり、例えば、デバイスサービス層３２と基盤層３４を実装する画像形成装置１２の本体部分と、プレゼンテーション層３０を実装し、ユーザインターフェイスを提供する画像形成装置１２の操作部分とに物理的に分割することが可能である。
【００７１】
図７は、画像形成装置１２を２つの部分に分離した場合の構成を示す。画像形成装置１２は、本体１２ＡとＵＩ端末１２Ｂから構成される。本体１２Ａは、デバイスサービス層３２と基盤層３４を実装する。他方、ＵＩ端末１２Ｂは、プレゼンテーション層３０及び基盤層３４の一部を実装する。
【００７２】
ＵＩ端末１２Ｂは、具体的にはタブレットやスマートフォン等であり、利用者に対して本体１２Ａを操作するための操作画面を提供する。すなわち、ＵＩ端末１２Ｂが図１における操作部２６として機能する。操作画面は、プレゼンテーション層３０により提供される。ＵＩ端末１２Ｂは、１又は複数のＣＰＵ、メモリ、入出力インターフェイス、通信インターフェイス、及び操作画面としてのタッチパネルを備え、プログラムメモリにはプレゼンテーション層３０を構成する各種プログラム及び基盤層３４を構成するプログラムの一部が記憶される。１又は複数のＣＰＵは、プログラムメモリに記憶されたプレゼンテーション層３０のプログラム及び基盤層３４のプログラムを実行する。
【００７３】
ＵＩ端末１２Ｂが実装する基盤層３４の一部は、具体的にはコミュニケーション及びベースシステムであり、ＵＩ端末１２Ｂの基盤層３４のコミュニケーションと本体１２Ａの基盤層のコミュニケーションとの間で通信手段を介したジョブ実行命令の送受等が行われる。
【００７４】
図７において、ＵＩ端末１２Ｂに基盤層３４の一部が実装されているが、必ずしもこれは必須ではなく、ＵＩ端末１２Ｂにプレゼンテーション層３０のみ実装されていてもよい。
【００７５】
図８は、画像形成装置１２を３つの部分に物理的に分割した場合の構成を示す。画像形成装置１２は、ＵＩ端末１２Ｂと制御専用機器１２Ｃと管理対象デバイス１２Ｄから構成される。ＵＩ端末１２Ｂは、既述したようにプレゼンテーション層３０を実装する。ＵＩ端末１２Ｂは、１又は複数のＣＰＵ、メモリ、入出力インターフェイス、通信インターフェイス、及び操作画面としてのタッチパネルを備え、プログラムメモリにはプレゼンテーション層３０を構成する各種プログラムが記憶される。１又は複数のＣＰＵは、プログラムメモリに記憶されたプレゼンテーション層３０のプログラムを実行する。制御専用機器１２Ｃは、基盤層３４を実装する。制御専用機器１２Ｃは、第１機器として機能し、１又は複数のＣＰＵ、メモリ、通信インターフェイスを備え、プログラムメモリには基盤層３４を構成する各種プログラムが記憶される。１又は複数のＣＰＵは、プログラムメモリに記憶された基盤層３４のプログラムを実行する。管理対象デバイス１２Ｄは、デバイスサービス層３２を実装する。管理対象デバイス１２Ｄは、第２機器として機能し、１又は複数のＣＰＵ、メモリ、及び通信インターフェイスを備え、プログラムメモリにはデバイスサービス層３２を構成する各種プログラムが記憶される。１又は複数のＣＰＵは、プログラムメモリに記憶されたデバイスサービス層３２のプログラムを実行する。
【００７６】
ＵＩ端末１２Ｂ及び管理対象デバイス１２Ｄは複数存在してもよい。ＵＩ端末１２Ｂと制御専用機器１２Ｃ、及び制御専用機器１２Ｃと管理対象デバイス１２Ｄは、通信手段でデータ送受可能に接続される。
【００７７】
次に、プレゼンテーション層３０とデバイスサービス層３２と基盤層３４の間でのデータ送受について、
電源オン→起動中画面表示→起動中画面更新→ホーム画面表示
の処理の流れを例にとり説明する。
【００７８】
図９は、プレゼンテーション層３０とデバイスサービス層３２と基盤層３４の間のシーケンス図を示す。
【００７９】
利用者が、画像形成装置１２の電源ボタンを操作して電源オンすると、電源オン指令が基盤層３４に供給される。基盤層３４は、デバイスサービス層３２に対して起動開始命令を送信するとともに、プレゼンテーション層３０にも起動開始命令を送信する。
【００８０】
プレゼンテーション層３０は、起動開始命令を受け取ると、起動中画面を表示して利用者に提供する。また、基盤層３４に対して構成情報取得要求を送信して構成情報を受け取る。また、プレゼンテーション層３０は、初期化処理を実行し、初期化処理が完了すると起動中画面を更新して利用者に提供する。また、プレゼンテーション層３０は、初期化処理が完了すると、基盤層３４に対して状態変化通知登録要求を送信する。さらに、基盤層３４に対して表示権限取得要求を送信し、表示権限を取得すると、ホーム画面を表示して利用者に提供する。
【００８１】
他方、デバイスサービス層３２は、起動開始命令を受け取ると、基盤層３４に対して構成情報取得要求を送信して構成情報を受け取る。デバイスサービス層３２も、プレゼンテーション層３０と同様に処理化処理を実行し、初期化処理が完了すると、基盤層３４に対して状態変化通知登録要求を送信する。さらに、基盤層３４に対して起動完了を通知する。
【００８２】
このように、プレゼンテーション層３０は、起動中画面の表示、起動中画面の更新、及びホーム画面の表示を実行して利用者に提供し、デバイスサービス層３２は、起動開始命令に応じてデバイスを初期化する処理を実行して基盤層３４に登録し、起動が完了すると起動完了通知を基盤層３４に送信する。基盤層３４は、プレゼンテーション層３０とデバイスサービス層３２との間を連携させ、プレゼンテーション層３０からの起動開始命令に応じてデバイスサービス層３２に対して起動開始命令を送信する。
【００８３】
図１０は、図９に示すシーケンス図のさらに詳細を示す。プレゼンテーション層３０としてのアプリケーション（Applications）、ファシリティ(Facilities)、フレームワーク(Framework)、基盤層３４としてのコミュニケーション(Communication)、トラスティ(Trusties)、ストレージ(Storage)、ベースシステム(Base System)、デバイスサービス層３２としてのランタイム(Runtime)、デバイスコントロール(Device Control)の処理である。
【００８４】
利用者が電源ボタンを操作すると、電源オン指令がベースシステムに供給される。ベースシステムは、ランタイムに起動開始命令を送信するとともに、フレームワークにも起動開始命令を送信する。
【００８５】
フレームワークは、起動中画面を表示して利用者に提供する。また、コミュニケーションに対して構成情報取得要求を送信する。コミュニケーションは、トラスティに対して機器認証を要求し、トラスティは機器種別処理を実行する。また、コミュニケーションは、ストレージに対して構成情報取得要求を送信する。ストレージから返信された構成情報は、コミュニケーションを介してフレームワークに提供される。
【００８６】
また、フレームワークは、アプリケーション及びファシリティに対して起動を要求する。アプリケーションは、起動命令を受けると初期化処理を実行し、初期化処理が完了すると、コミュニケーションに対して状態変化通知登録を要求する。また、ファシリティは、起動命令を受けると起動中画面を更新して表示し、トラスティに対して利用者権限取得要求を送信する。さらに、ファシリティは、ホーム画面を表示する。
【００８７】
コミュニケ−ションは、アプリケーションから状態変化通知登録要求を受け取ると、トラスティに対して機器認証を要求し、トラスティは機器識別処理を実行する。また、コミュニケ−ションは、ストレージに対して状態変化通知先登録要求を送信する。
【００８８】
他方、ランタイムは、ベースシステムから起動開始命令を受け取ると、ストレージに対して構成情報取得要求を送信し、デバイスコントロールに対して初期化命令を送信する。デバイスコントロールは、初期化命令を受け取ると初期化処理を実行する。ランタイムは、デバイスコントロールの初期化処理が完了すると、ストレージに対して状態変化登録を要求し、また、ストレージに起動完了を通知する。
【００８９】
以上のようにして、電源オンの状態からホーム画面が表示され、利用者は、ホーム画面からログインし、必要なサービスを選択してジョブの実行を指示することになる。
【００９０】
次に、プレゼンテーション層３０とデバイスサービス層３２と基盤層３４の間でのデータ送受について、
ログイン開始→情報入力→ログイン実行→サービス一覧からコピーを選択→コピー設定→コピー開始（進捗画面表示）
の処理の流れを例にとり説明する。
【００９１】
図１１及び図１２は、プレゼンテーション層３０とデバイスサービス層３２と基盤層３４の間のシーケンス図を示す。
【００９２】
図１１において、利用者が、例えばホーム画面に表示されているログインボタンを操作してログインを開始すると、プレゼンテーション層３０は、ログイン画面を表示する。利用者が、ログイン画面において必要な情報、例えばＩＤとパスワードを入力すると、プレゼンテーション層３０は入力された情報を保存し、利用者がログインを実行すると、プレゼンテーション層３０は、基盤層３４に対してログインを要求する。
【００９３】
基盤層３４は、ログイン処理を実行し、認証が完了すると、プレゼンテーション層３０に通知する。プレゼンテーション層３０は、サービス一覧画面を表示するとともに、基盤層３４に対してログインした利用者の情報を要求して取得する。プレゼンテーション層３０は、ログインした利用者に応じたサービス一覧画面を表示する。
【００９４】
利用者が、サービス一覧画面を用いてコピーを選択すると、プレゼンテーション層３０は、コピー画面を表示し、また、基盤層３４に対してスキャナ状態取得要求及びプリンタ状態取得要求を送信する。基盤層３４は、この要求に応じ、デバイスサービス層３２に対してスキャナ状態確認要求及びプリンタ状態確認要求を送信する。基盤層３４は、デバイスサービス層３２からの応答を受け取り、プレゼンテーション層３０に対して返信する。
【００９５】
図１２において、利用者がコピーの枚数や用紙等を設定すると、プレゼンテーション層３０は、設定値をチェックする処理を実行する。利用者が、コピー開始を指示すると、プレゼンテーション層３０は、基盤層３４に対してコピーサービス開始を要求し、基盤層３４は、デバイスサービス層３２に対してコピーサービス開始を要求する。デバイスサービス層３２は、この要求に応じてコピー処理を実行する。デバイスサービス層３２は、この間、基盤層３４に対して進捗状況を通知し、基盤層３４はプレゼンテーション層３０に対して受け取った進捗状況を通知する。プレゼンテーション層３０は、進捗状況を画面表示するとともに、受け取った通知を用いて適宜画面を更新する。
【００９６】
デバイスサービス層３２は、スキャンが終了すると、スキャン終了を基盤層３４に通知し、基盤層３４は、プレゼンテーション層３０に対して受け取ったスキャン終了を通知する。また、デバイスサービス層３２は、プリントが終了すると、プリント終了を基盤層３４に通知し、基盤層３４は、プレゼンテーション層３０に対して受け取ったプリント終了を通知する。プレゼンテーション層３０は、スキャン終了通知及びプリント終了通知を受け取ると、終了判定処理を実行し、コピーサービス終了を基盤層３４に通知する。また、進捗画面を消去する。基盤層３４は、コピーサービス終了通知を受け取ると、デバイスサービス層３２に対してコピーサービス終了を通知する。
【００９７】
このように、利用者がコピー開始を指示すると、プレゼンテーション層３０はコピーサービス開始を基盤層３４に通知するととともに進捗画面を表示し、基盤層３４は、プレゼンテーション層３０からのコピーサービス開始通知に応じてデバイスサービス層３２に対してコピーサービス開始を通知し、デバイスサービス層３２は、基盤層３４からの通知に応じてコピー処理を開始するとともに進捗状況を基盤層３４に通知する。
【００９８】
図１３〜図１７は、より詳細なシーケンス図を示す。
【００９９】
利用者がログインすると、フレームワークがファシリティにイベントを通知し、ファシリティはコミュニケーションに対してログイン情報を通知する。コミュニケーションは、ベースシステムに対してログイン情報を通知し、ベースシステムは、トラスティに対してログイン情報を通知する。トラスティは、ストレージに権限を参照して権限をチェックし、ストレージにカレントユーザ登録するとともにベースシステムに対してその旨を返信する。ベースシステムは、正常な利用者であってログインが正常に行われた旨をコミュニケーションに通知し、コミュニケーションはファシリティにその旨を通知する。ファシリティは、この通知を受け取ってサービス一覧画面を作成し、フレームワークに対して作成した画面の表示を依頼する。
【０１００】
また、利用者がコピーを選択すると、フレームワークがアプリケーションの中のコピーアプリに通知し、コピーアプリは、コミュニケーションに対してデバイスサービス層３２をコールしてスキャナ及びプリンタの状態取得を要求する。コミュニケーションは、デバイスサービス層３２のコールに応じ、ベースシステムに当該コールを送信し、ベースシステムは、デバイスコントロールに対してスキャナ情報取得及びプリンタ情報取得を要求する。ベースシステムは、デバイスコントロールからスキャナ情報及びプリンタ情報を取得すると、コミュニケーションに返信し、コミュニケ−ションは、受け取った情報をコピーアプリに返信する。
【０１０１】
利用者がコピー開始を指示すると、コピーアプリはコミュニケーションに対してデバイスサービス層３２をコールし、コミュニケーションはベースシステムに対してコールする。ベースしステムは、ランタイムに対してコピーサービスの起動を指示し、ランタイムは、デバイスコントロールに対してスキャナ確保、プリンタ確保を要求し、コピージョブの登録処理を実行する。そして、ランタイムは、デバイスコントロールに対してスキャン、プリントの実行を指示し、その進捗をコミュニケーション、ベースシステムを介してコピーアプリに通知する。コピーアプリは、進捗画面を更新し、フレームワークに対して画面表示を依頼し、フレームワークは進捗画面を更新して表示する。
【０１０２】
デバイスコントロールは、スキャン及びプリントが終了すると、それぞれランタイムに終了を通知し、ランタイムはそれぞれの終了をコミュニケーション、ベースシステムを介してコピーアプリに通知する。コピーアプリは、終了条件を判定し、コピーが終了したことを判定すると、進捗画面を消去してフレームワークに対して画面消去を依頼する。
【０１０３】
なお、図１１〜図１７では、ジョブのうちのコピージョブについて例示したが、スキャン、ファックス、プリント等の他のジョブについても同様である。
【０１０４】
以上のように、本実施形態では、システムをプレゼンテーション層３０、デバイスサービス層３２、及び基盤層３４に３分割しているので、例えばアプリケーションを追加あるいは削除する場合でも、プレゼンテーション層３０内での追加あるいは削除だけで済む。また、プレゼンテーション層３０をＵＩ端末１２Ｂに実装して本体１２Ａから分離させる等の多様な使用形態が可能となる。  
【符号の説明】
【０１０５】
１０  端末装置、１２  画像形成装置、１６  ＲＯＭ，１８  ＲＡＭ，２０  ＨＤＤ，２４  入出力インターフェイス、２６  操作部、２８  画像形成部、３０  プレゼンテーション層、３２  デバイスサービス層、３４  基盤層。
【図１】
2018081636.tif 000003
【図２】
2018081636.tif 000004
【図３】
2018081636.tif 000005
【図４】
2018081636.tif 000006
【図５】
2018081636.tif 000007
【図６】
2018081636.tif 000008
【図７】
2018081636.tif 000009
【図８】
2018081636.tif 000010
【図９】
2018081636.tif 000011
【図１０】
2018081636.tif 000012
【図１１】
2018081636.tif 000013
【図１２】
2018081636.tif 000014
【図１３】
2018081636.tif 000015
【図１４】
2018081636.tif 000016
【図１５】
2018081636.tif 000017
【図１６】
2018081636.tif 000018
【図１７】
2018081636.tif 000019