JP2018055183A - 画像形成装置及びプログラム - Google Patents

画像形成装置及びプログラム Download PDF

Info

Publication number
JP2018055183A
JP2018055183A JP2016187283A JP2016187283A JP2018055183A JP 2018055183 A JP2018055183 A JP 2018055183A JP 2016187283 A JP2016187283 A JP 2016187283A JP 2016187283 A JP2016187283 A JP 2016187283A JP 2018055183 A JP2018055183 A JP 2018055183A
Authority
JP
Japan
Prior art keywords
application
framework
core logic
applications
frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016187283A
Other languages
English (en)
Other versions
JP6876232B2 (ja
Inventor
道村 唯夫
Tadao Michimura
唯夫 道村
雅紀 佐竹
Masaki Satake
雅紀 佐竹
森田 雅夫
Masao Morita
雅夫 森田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2016187283A priority Critical patent/JP6876232B2/ja
Priority to US15/450,298 priority patent/US10097717B2/en
Priority to CN201710270164.XA priority patent/CN107870767B/zh
Publication of JP2018055183A publication Critical patent/JP2018055183A/ja
Application granted granted Critical
Publication of JP6876232B2 publication Critical patent/JP6876232B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00912Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
    • H04N1/00938Software related arrangements, e.g. loading applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1287Remote printer device, e.g. being remote from client or server via internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00408Display of information to the user, e.g. menus
    • H04N1/00411Display of information to the user, e.g. menus the display also being used for user input, e.g. touch screen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/0049Output means providing a visual indication to the user, e.g. using a lamp
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0094Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Facsimiles In General (AREA)
  • Stored Programmes (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】アプリケーション相互の依存関係を抑制し、アプリケーションの追加や削除を容易化し得る画像形成装置及びプログラムを提供する。【解決手段】画像形成装置は、基本処理を担うコアロジック部、描画処理を担うUIフレーム部、及びアプリケーションの静的情報を規定するマニフェストファイル部に分離され、フレームワーク上で動作するアプリケーションと、アプリケーション及びフレームワークを実行する制御手段を備える。コアロジック部はフレームワークが定義するインターフェイス(I/F)を実装する。インターフェイスには、アプリケーションが表示しているウィンドウが削除されたことの通知が含まれる。【選択図】図15

Description

本発明は、画像形成装置及びプログラムに関する。
コピー、プリンタ、ファックス等の機能を備える複合機は、さらに多機能化しており、各種のアプリケーション(アプリ)を含む全体システムを効率的に構築することが要求されている。
特許文献1には、アプリ一覧画面に表示されるアイコンのアプリが実行中であるか否かを、ユーザが容易に把握できるようにする画像形成装置が記載されている。アプリケーション及びアプリケーションの動作設定を登録したマクロを呼び出すためのアイコンに対し、アイコンの位置、アイコン画像、アプリケーションの識別情報、マクロの識別情報を含む一覧画面情報を記憶する画面情報記憶手段と、ジョブの状態が待機から実行に変化したアプリケーションの状態情報を取得し、識別情報を出力するとともに画面更新要求を行う画面制御手段と、一覧画面情報に基づき作成したアプリケーションの一覧画面に対して画面更新要求を受けた場合、取得された識別情報が示すアプリケーションのアイコンの表示形態を、他のアプリケーションのアイコンとは異なる表示形態に更新する画面作成手段と、更新されたアイコンを含む一覧画面を表示する表示手段を備えることが記載されている。
特許文献2には、多機能化する複合機において、ユーザの操作性を向上させることが記載されている。標準アプリケーションと、拡張アプリケーションと、標準及び拡張アプリケーションを識別するアプリ識別情報を、それぞれのアイコンの座標情報及びアイコンの画像情報に対応付けたアイコン配置情報を記憶する配置情報記憶手段と、アイコン配置情報に基づき、標準及び拡張アプリケーションに対応するアイコンが表示されるアプリ一覧画面を作成する一覧画面作成手段と、作成された前記アプリ一覧作成画面を表示する表示手段と、押下されたアイコンに対応する標準又は拡張アプリケーションをアイコン配置情報から特定し、特定された標準又は拡張アプリケーションに対し、操作画面の表示要求を行う画面制御手段を備えることが記載されている。
特開2012−248102号公報 特開2012−27662号公報
ところで、従来においては、画像形成装置のシステムとして、巨大なルートアプリケーションを用意して各アプリケーションから利用される種々の機能を提供しており、全てのアプリケーションはこのルートアプリケーションに依存している。
また、画像形成装置の各種のデバイス状態を専門に扱うデバイスアプリケーションも別個に存在しており、ほぼ全てのアプリケーションがこのデバイスアプリケーションに依存している。
さらに、アプリケーション間での実装共通化が進んでおり、アプリケーション間での依存関係も生じている。
従って、アプリケーションを追加する場合や削除する場合でも、その都度アプリケーション間で調整が必要となり、これと同時に、ルートアプリケーションの修正も常に必要となることから、容易にアプリケーションの追加や削除ができない問題があった。
本発明の目的は、アプリケーション相互の依存関係を抑制し、アプリケーションの追加や削除を容易化し得る画像形成装置及びプログラムを提供することにある。
請求項1に記載の発明は、基本処理を担うコアロジック部、及び描画処理を担うUIフレーム部に分離され、フレームワーク上で動作するアプリケーションと、アプリケーション及びフレームワークを実行する制御手段とを備え、コアロジック部はフレームワークが定義するインターフェイス(I/F)を実装し、インターフェイス(I/F)には、アプリケーションが表示しているウィンドウが削除されたことの通知が含まれる画像形成装置である。
請求項2に記載の発明は、ウィンドウが削除されたことの通知には、プロパティとして削除理由が含まれる請求項1に記載の画面形成装置である。
請求項3に記載の発明は、画像形成装置を制御するプロセッサに実行させるプログラムであって、基本処理を担うコアロジック部と、描画処理を担うUIフレーム部に分離されており、コアロジック部は、フレームワークが定義するインターフェイス(I/F)を実装し、インターフェイス(I/F)には、アプリケーションが表示しているウィンドウが削除されたことの通知が含まれるプログラムである。
請求項1,3に記載の発明によれば、アプリケーション相互の依存関係を抑制し、アプリケーションの追加や削除を容易化できるとともに、アプリケーションが表示しているウィンドウを削除する処理を効率化できる。
請求項2に記載の発明によれば、さらに、削除理由に応じた事後処理が可能となる。
画像形成装置の機能ブロック図である。 システムの論理構成図である。 ホーム画面の一例を示す説明図である。 アプリケーションの論理構成図である。 従来システムの論理構成図である。 フレームワーク上のアプリケーションの構成図である。 アプリケーションの具体的構成例を示す説明図である。 アプリケーションリストの具体的構成例を示す説明図である。 コアロジックとUIフレームのパターンを示す説明図である。 UI及びロジック変更時の説明図である。 フレームワーク上のアプリケーションのパターンを示す説明図である。 ブータ及びスタータを含むライフサイクル管理のシステム構成図である。 ライフサイクル管理のフローチャートである。 システム起動からホーム画面が表示されるまでの時間を示すグラフ図である。 ウィンドウ削除処理の動作フローチャートである。 画面遷移説明図である。
以下、図面に基づき本発明の実施形態について説明する。
<システム全体構成>
図1は、本実施形態における画像形成装置を含む画像形成システムの構成ブロック図である。画像形成システムは、端末装置10及び画像形成装置12を備える。端末装置10と画像形成装置12は、通信手段14を介して接続される。通信手段14は、例えばLAN(ローカルエリアネットワーク)等のデータ通信ネットワークが用いられる。
端末装置10は、通信手段14を介して画像形成装置12に接続され、利用者の指示に従い、文書の印刷命令を含む印刷ジョブ等を送信する。
画像形成装置12は、ROM16、RAM18、HDD20、1つ又は複数のCPUで構成される制御部22、入出力インターフェイスI/F24、タッチパネル等の操作部26、画像形成部28を備える。
1又は複数のCPUで構成される制御部22は、ROM16に記憶された処理プログラムに従い、入出力インターフェイスI/F24を介して端末装置10から印刷ジョブ命令等を受け付け、PDLデータを解釈して中間データを生成し、生成した中間データからさらに描画データ(ラスターデータ)を生成する。また、制御部22は、操作部26から受け付けたコピー(Copy)、スキャン(Scan)、ファックス(Fax)等の各種命令を実行する。
画像形成部28は、プリントモジュール、スキャナモジュール、ファックスモジュール、用紙給紙モジュール、原稿給紙モジュール、及び画像処理アクセラレータを備える。
プリントモジュールは、画像を用紙に出力する機能を有するモジュールである。例えば、公知のインクジェット方式の構成を備え、描画データを用紙に印刷する。ノズル等から液体あるいは溶融固体インクを吐出し、紙、フィルム等に記録を行う。インクを吐出する方法には、静電誘引力を利用してインクを吐出させるドロップオンデマンド方式(圧力パルス方式)、高熱により気泡を形成・成長させることで生じる圧力を利用してインクを吐出させる熱インクジェット方式等がある。記録ヘッドは、例えば、シアンインクを吐出するヘッド、マゼンタインクを吐出するヘッド、イエローインクを吐出するヘッド、ブラックインクを吐出するヘッドを備え、各ヘッドが用紙の幅と少なくとも同等の幅を有するラインヘッドが用いられる。記録ヘッドにより各色のインク滴を中間転写体に吐出して記録し、その後に用紙に転写して印刷する。
スキャナモジュールは、用紙から画像を読み取って電子データに変換するモジュールである。
ファックス(Fax)モジュールは、モデムやファックス用画像処理モジュールを備え、ファックス機能を実行するモジュールである。
用紙給紙モジュールは、用紙トレイからプリントモジュールに用紙を搬送するモジュールである。
原稿給紙モジュールは、原稿トレイからスキャナモジュールに用紙を搬送するモジュールである。
画像処理アクセラレータは、スキャナモジュール等と連動して圧縮/伸長処理を行うモジュールである。この画像処理アクセラレータは必須ではなく、付加的モジュールとしてもよい。
なお、画像形成装置12は、これら以外にも、用紙のパンチやソート等を行うフィニッシャ、USB、ICカードリーダ等から構成され利用者の認証を行う認証部、課金部、人感センサや顔カメラ等を備えていてもよい。
また、画像形成装置12は、通信手段14を介してインターネットに接続されていてもよく、イーサネット(登録商標)やWi−Fi(登録商標)を備えていてもよい。
<プログラムの論理構成>
図2は、制御部22で実行されるシステムの論理構成を示す。システムは、大別して、プレゼンテーション層30とデバイスサービス層32の2つの層に分離される。
プレゼンテーション層30は、各種アプリケーションを実装する層であり、フレームワーク31と、各種アプリケーションを含む。フレームワーク31は、コンピュータシステム上でJavaScript(登録商標)アプリケーションを動かせるようにする実行環境ソフトウェア群である。より具体的には、JavaScriptは、Webブラウザ上で実行され、Base FrameとUI FrameはHTMLのiframeとしてロードする。また、アプリケーションは、フレームワーク31が提供するI/Fを実装したJavaScriptソフトウェアである。フレームワーク31は、各種アプリケーションのライフサイクルを管理する。すなわち、フレームワーク31は、各種アプリケーションに対して、ベースフレーム(Base Frame)を作成して各種アプリケーションのコアロジック(Core Logic)を読み込み、コアロジック(Core Logic)に対してイニシャライズ(初期化)を指示する。また、システム終了時には、各種アプリケーションのコアロジック(Core Logic)に対してファイナライズを指示し、ベースフレーム(Base Frame)を破棄する。各種アプリケーションのコアロジック(Core Logic)及びライフサイクル管理については、さらに後述する。
デバイスサービス層32は、各種ハードウェアデバイスを管理する層であり、各種ハードウェアデバイスには、上記の画像形成部28のプリントモジュール等が含まれる。
図3は、画像形成装置12の操作部26に表示される画面(ホーム画面)の一例を示す。ホーム画面には、コピー(Copy)ボタン34、IDカードコピー(ID Copy)ボタン36、スキャン(Scan)ボタン38、ファックス(Fax)ボタン40、マイコピー(MyCopy)ボタン42、ウェブアプリ(Web App1)ボタン44、簡単コピーボタン46の各アイコンが表示される。利用者がいずれかのボタンにタッチして選択すると、各ボタンに割り当てられたアプリケーションが起動し、アプリケーションの画面に遷移する。利用者は、各ボタンに各アプリケーションが対応していると認識し得る。
アプリケーションは、既述したように、フレームワーク31が提供するI/Fを実装したJavaScriptソフトウェアであり、利用者に対して直接的に機能を提供するコンポーネントである。フレームワーク31によって定義された共通の構成を有する。また、各アプリケーションは、他のアプリケーションとの間の結合度合いが低くなるように構成される。アプリケーションには、ユーザインターフェイス(UI)を介して利用者と協働して動作するものと、利用者と協働しないものがある。利用者と協働するアプリケーションは、主体的にプレゼンテーション層30を通じて表示や入力を実行する。
なお、図には利用者がログインするためのログイン(Login)ボタン48も表示されているが、このボタンにもアプリケーションが対応している。
<アプリケーションの実装構造>
図4は、アプリケーションの構造を示す。アプリケーション50は、大別して、3つのコンポーネントに分離される。すなわち、コアロジック(Core Logic)52、UIフレーム(UI Frame)54、及びマニフェストファイル(Manifest file)56に分離される。ここで、「分離」とは、物理的に分離されることを意味するものではなく、論理的に分離されることを意味する。
コアロジック(Core Logic)52は、アプリケーションとしての基本処理(基本的な振る舞いやアプリ間連携)を行うコンポーネントであり、各アプリケーションに必ず存在する。コアロジック(Core Logic)は、フレームワーク31によって定義されたI/Fを提供する。
UIフレーム(UI Frame)54は、アプリケーションとして描画表示するためのコンポーネントであり、具体的には表示ウィンドウとして管理される。
マニフェストファイル56は、各アプリケーションの静的な情報のリストである。静的な情報は、アプリケーションの識別子(ID)、表示名称、アイコン画像、バージョン、作成日等である。マニフェストファイル56には、コアロジック用マニフェストファイル56−1と、UIフレーム用マニフェストファイル56−2がある。マニフェストファイル56が記述する情報の一つは、isLaunchable属性である。この属性により、ホーム画面上にアイコン(ボタン)として表示されるか否かが決定され、
isLaunchable=trueで表示
isLaunchable=falseで非表示
となる。
このような構成において、コアロジック(Core Logic)52とUIフレーム(UI Frame)54との間の通信のルールは以下の通りである。
(1)コアロジック(Core Logic)52は、他のコアロジック(Core Logic)52と通信する。
(2)UIフレーム(UI Frame)54は、コアロジック(Core Logic)52のみと通信する。
従って、UIフレーム(UI Frame)54は、他のUIフレーム(UI Frame)54と通信することはない。
図5は、従来のプログラム構成を示す。従来においては、巨大なルートアプリケーション(RootApp)60を用意して各アプリケーションから利用される種々の機能を提供しており、全てのアプリケーションはこのルートアプリケーション60に依存している。また、各種のデバイス状態を専門に扱うデバイスアプリケーション(Device App)62も別個に存在しており、ほぼ全てのアプリケーションがこのデバイスアプリケーション62に依存している。さらに、アプリケーション間での実装共通化が進んでおり、アプリケーション間での依存関係も生じている。従って、アプリケーションを追加する場合や削除する場合でも、その都度アプリケーション間で調整が必要となり、また、ルートアプリケーション60の修正も常に必要となることから、容易にアプリケーションの追加や削除ができない。
他方、図6は、本実施形態のプログラム構成を示す。各アプリケーションは、コアロジック(Core Logic)52、UIフレーム(UI Frame)54、及びマニフェストファイル(Manifest file)56に分離されており、各アプリケーションのコアロジック(Core Logic)52がフレームワーク31に接続され、各アプリケーションのUIフレーム(UI Frame)54は当該アプリケーションのコアロジック(Core Logic)52に接続される構成である。
例えば、コピー(Copy)アプリケーションを例にとると、コピーアプリケーションは、コアロジック(Core Logic)52、UIフレーム(UI Frame)54、及びマニフェストファイル(Manifest file)56に分離され、そのコアロジック(Core Logic)52はフレームワーク31に接続され、そのUIフレーム(UI Frame)54はそのコアロジック(Core Logic)52に接続される。各アプリケーション間の結合は限定的であって従来のように依存関係になく、各アプリケーション間の連携は、コアロジック(Core Logic)52を介してフレームワーク31により実行される。各アプリケーションのコアロジック(Core Logic)52は、フレームワーク31によって定義されたI/Fを提供するから、新たにアプリケーションを追加する場合でも、フレームワーク31によって定義されたI/Fを提供することで容易に追加できる。また、アプリケーション間の結合も限定的であるため、アプリケーションの削除も容易である。
図7は、コピーアプリケーションの例を示す。図において、baseframe.htmlがコアロジック(Core Logic)52であり、base_manifest.jsonがコアロジック(Core Logic)52のマニフェストファイル56−1である。また、uiframe.htmlがUIフレーム(UI Frame)54であり、app_manifest.jsonがUIフレーム(UI Frame)54のマニフェストファイル56−2である。
図8は、アプリケーションリストの例を示す。図において、”base”がコアロジック(Core Logic)52のマニフェストファイル56−1を示し、”app”がUIフレーム(UI Frame)54のマニフェストファイル56−2を示す。マニフェストファイル56−2の中の”type”は、アプリケーションの種類を示す。アプリケーションの種類については以下の通りである。
すなわち、アプリケーションには、
STD:標準搭載されるアプリケーション
OT:標準搭載されるアプリケーション(STD)のショートカット
EXT:追加可能なアプリケーション(その1)
CS:追加可能なアプリケーション(その2)
の4つの種類がある。標準搭載されるアプリケーションは、図3に示されるコピー(Copy)やスキャン(Scan)、ファックス(Fax)等に対応するアプリケーションである。また、OT、EXT、CSの各アプリケーションには、それぞれ特別なコンパニオンアプリケーションが割り当てられ、各コンパニオンアプリケーションがそれぞれの機能を担う。各コンパニオンアプリケーションも、STDアプリケーションと同様にコアロジック(Core Logic)52を有する。マニフェストファイル56にアプリケーションの種類を含めることで、各アプリケーションの内部実装を互いに区別することができる。
また、マニフェストファイル56−2の中の”isLaunchable”は既述したように、アイコンをホーム画面上に表示するか否かを決定する属性情報である。図では、
isLaunchable=true
となっており、これはコピーのボタンを表示することを意味する。
アプリケーションは、コアロジック(Core Logic)52とUIフレーム(UI frame)54に分離されているから、アプリケーションリストは、両者の対応関係が記述されていると言うことができる。
マニフェストファイル56は、アプリケーション毎に作成されるから、アプリケーション毎の種別を示す識別子と、種別内で一意の識別子を設定することが望ましい。例えば、コピーアプリケーションのマニフェストファイルには、
type:STD
ID:copy
等である。typeは種別を示す識別子であり(標準搭載されるアプリケーション)、IDは一意の識別子である。
さらに、マニフェストファイル56には、静的情報として、起動時に必要とされる情報及びホーム画面描画に必要な情報も含まれる。起動時に必要とされる情報は、コアロジック(Core Logic)52の格納先情報及びUIフレーム(UI frame)54の格納先情報であり、フレームワーク31はコアロジック(Core Logic)52の格納先情報を参照してコアロジック(Core Logic)52をロードする。また、コアロジック(Core Logic)52は、UIフレーム(UI frame)54の格納先情報を参照してUIフレーム(UI frame)54を必要に応じてロードする。ホーム画面描画に必要とされる情報は、アイコンボタン格納先情報及びボタンの表示順序である。
マニフェストファイル56は、後述するようにデバイスサービス層のアプリケーション管理コンポーネントで参照され、アプリケーションリストの作成に供される。
図9は、アプリケーションの実装構造のパターンを示す。
図9(a)は、コアロジック(Core Logic)52は存在するが、UIフレーム(UI Frame)54が存在しないパターンである。標準搭載されるアプリケーションではなく、コンパニオンアプリケーション等が該当する。図9(d)は、図9(a)に対応するアプリケーションリストである。
図9(b)は、コアロジック(Core Logic)52及びUIフレーム(UI frame)54が存在するパターンであり、それぞれ1対1に対応するパターンである。図9(e)は、図9(b)に対応するアプリケーションリストである。
他方、図9(c)は、コアロジック(Core Logic)52及びUIフレーム(UI frame)54が存在するものの、複数のUIフレーム(UI Frame)54が共通のコアロジック(Core Logic)52を有する場合である。UIフレーム(UI Frame)54はホーム画面にボタンを表示する際の表示形態を決定するが、複数のボタンを表示する際にもそのコアロジック(Core Logic)52を共通化することで実装が効率化される。また、複数のアプリケーションでコアロジック(Core Logic)52を共通化することでメンテナンス性が向上する。コアロジック(Core Logic)52を共通に持つUIフレーム(UI Frame)54の数に制限はない。図9(f)は、図9(c)に対応するアプリケーションリストである。マニフェストファイル56−1の具体例は、例えば、
{
"id": "appId.std.copy",
"url": "app/copy/baseframe/baseframe.html"
}
であり、マニフェストファイル56−2の具体例は、例えば、
{
"subId": "copy",
"type": "STD",
"appUrl": "app/copy/copy/uiframe.html",
"isLaunchable": true,
"orderWeight": 100,
"largeIcon": "common/img/preset/app/app_copy_120.png",
"smallIcon": "common/img/preset/app/app_copy_48.png",
"displayName": "Copy",
"displayNameId": "001"
}
あるいは、
{
"subId": "idcopy",
"type": "STD",
"appUrl": "app/copy/idcopy/uiframe.html",
"isLaunchable": true,
"orderWeight": 900,
"largeIcon": "common/img/preset/app/app_idcardcopy_120.png",
"smallIcon": "common/img/preset/app/app_idcardcopy_48.png",
"displayName": "IDCardCopy",
"displayNameId": "002"
}
である。
なお、図9(b)及び図9(c)において、UIフレーム(UI Frame)54のマニフェストファイル56−2のisLaunchable属性値を設定することで、実際にホーム画面上にボタンを表示するか否かが決定される。例えば、図9(c)において、コアロジック(Core Logic)52を共通に持つ、第1のUIフレーム(UI Frame)54と第2のUIフレーム(UI Frame)54が存在し、第1のUIフレーム(UI Frame)54のマニフェストファイルのisLaunchable=trueであるのに対し、第2のUIフレーム(UI Frame)54のマニフェストファイルのisLaunchable=falseである場合、前者はボタンとして表示されるが後者は表示されない。
アプリケーションの実行構造として、コアロジック(Core Logic)52とUIフレーム(UI Frame)54を分離しているので、コアロジック(Core Logic)52を変更することなくUIフレーム(UI Frame)54のみを変更し、アプリケーションの画面上の表示形態を容易にカスタマイズすることが可能である。
図10は、画面上の表示形態をカスタマイズする場合の例を示す。
図10(a)は、当初の表示形態である。IDカードコピーのアプリケーションに着目すると、そのUIフレーム(UI Frame)54はidcopy/uiframe.htmlであり、そのマニフェストファイル56−2はidcopy/app_manifest.jsonである。
図10(b)は、表示形態をカスタマイズする場合である。IDコピーのアプリケーションにおいて、そのUIフレーム(UI frame)54とマニフェストファイル56−2を新しい表示形態用のidcopy_for_xxx/uiframe.htmlとidcopy_for_xxx/app_manifest.jsonに入れ替える。勿論、マニフェストファイル56−2のみを入れ替えることも可能である。
他方、図10(c)は、表示形態ではなくアプリケーションのロジックを変更する場合である。この場合には、コアロジック(Core Logic)52、UIフレーム(UI Frame)54,マニフェストファイル56を全て新しいものに入れ替える。すなわち、copy以下をcopy_for_xxxに入れ替える。
図11は、フレームワーク31を含めた具体的なアプリケーションの実装構造のパターンを示す。
図11(a)は、コピーアプリケーションとIDコピーアプリケーションを実装する場合のパターンの例である。コピーアプリケーションは、コアロジック(Core Logic)52とUIフレーム(UI frame)54に分離され、コアロジック(Core Logic)52がフレームワーク31と通信する。UIフレーム(UI frame)54はコアロジック(Core Logic)52のみと通信する。また、IDコピーも同様にコアロジック(Core Logic)52とUIフレーム(UI frame)54に分離され、コアロジック(Core Logic)52がフレームワーク31と通信する。UIフレーム(UI frame)54はコアロジック(Core Logic)52のみと通信する。
図11(b)は、コピーアプリケーションとIDコピーアプリケーションに加え、プリントアプリケーションを実装する場合の他の例である。コピーアプリケーションとIDコピーアプリケーションは、共通のコアロジック(Core Logic)52とそれぞれのUIフレーム(UI frame)54に分離される。すなわち、コピーアプリケーション及びIDコピーアプリケーションは、共通のコアロジック(Core Logic)52を介してフレームワーク31と通信する。また、プリントアプリケーションは、コアロジック(Core Logic)52は存在するもののUIフレーム(UI frame)54はない。図11には、図9に示す全てのパターンが含まれている。
従来のアプリケーション実装構造では、このようにコアロジック(Core Logic)52とUIフレーム(UI frame)54とが分離しておらず、処理と画面描画とが混在して分かり難い構造であった。また、アプリケーションの共通I/Fも存在せず、各アプリケーションはいわば勝手にI/Fを公開し、勝手にこれを参照していた。これに対し、実施形態では、フレームワーク31がアプリケーションI/Fとして定義し、各アプリケーションのコアロジック(Core Logic)52がこのアプリケーションI/Fを必ず実装する構造であるため、従来とはI/Fの向きが相違するといえる。また、フレームワーク31とアプリケーション間の通信のみならず、アプリケーション間の通信I/Fについてもフレームワーク31が提供するI/F公開機能とI/F参照機能で実現され得る。
なお、理論上は、複数のアプリケーションでUIフレーム(UI frame)54を共通化し、コアロジック(Core Logic)52をそれぞれ個別に設けるパターンも存在し得る。但し、この場合にはフレームワーク31から見ると構造が複雑化するため、実施形態では特に言及していない。勿論、このことは当該パターンの排除を必ずしも意味するものではない。
<アプリケーションのライフサイクル管理>
図12は、フレームワーク31による各アプリケーションのライフサイクル管理を行う際の基本構成を示す。ここで、フレームワーク31は、アプリケーションの実行環境である。
プレゼンテーション層に、フレームワーク31及び各種アプリケーション50が存在するとともに、ブータ(Booter)60及びスタータアプリケーション64が存在する。また、デバイスサービス層に、アプリケーション管理コンポーネント62が存在する。
ブータ(Booter)60は、プレゼンテーション層全体の起動終了管理を行うコンポーネントである。フレームワーク31は、ブータ(Booter)60により初期化され起動される。
アプリケーション管理コンポーネント62は、各種アプリケーション50のマニフェストファイル56に基づきアプリケーションのリストをフレームワーク31に提供する。
スタータアプリケーション64は、フレームワーク31が定義するスタータI/F70を実装するアプリケーションである。このスタータアプリケーション64は、システムで唯一つ存在するアプリケーションであり、全アプリケーション50の初期化完了時にフレームワーク31から呼び出される。
各種アプリケーション50は、既述したようにコピーアプリケーションやIDコピーアプリケーション、ファックスアプリケーション等であり、コアロジック(Core Logic)52を備える。各種アプリケーション50のコアロジック(Core Logic)52は、フレームワーク31が定義するアプリケーションI/F72を実装する。
各アプリケーション50が実装するアプリケーションI/Fは、具体的には、
・初期化時処理(initialize)
・終了時処理(finalize)
・ウィンドウ押し出し処理(windowPushedOut)
・ウィンドウ露出時処理(windowPrepareExposed)
・ウィンドウ削除処理(windowTerminated)
である。各アプリケーション50は、これらのイベントに対するハンドラを実装する。
フレームワーク31は、各種アプリケーション50のコアロジック(Core Logic)52の間で、メソッドの公開/呼び出し、イベントの公開/購読/発行を可能にするためのJavaScriptコンポーネント(これを通信制御コンポーネントと称する)を備える。メソッドは任意の引数をとり、任意の戻り値を返す定義が可能である。公開したメソッドは、アプリケーション毎に独立して管理される。メソッド呼び出し側のアプリケーションは、メソッドの処理完了をコールバック呼出により確認できる。また、イベントは、各アプリケーションが任意のデータを伴って定義可能である。公開したイベントは、アプリケーション毎に独立して管理される。より詳細には、通信制御コンポーネントはコアロジック(Core Logic)52によるメソッドの公開及び呼び出し、イベントの定義と発行及びリスナの登録を可能とし、「ON」によりメソッドを公開し、「OFF」によりメソッドの公開を停止する。公開されたメソッドはcallにより呼び出し可能である。例えば、第1のアプリケーションがあるI/Fを「on」してフレームワーク31に対して公開し、第2のアプリケーションが第1のアプリケーションの公開されたI/Fを対象としてフレームワーク31に対して「call」する等である。
図13は、フレームワーク31による各種アプリケーションのライフサイクル管理のフローチャートを示す。
ブータ(Booter)60がフレームワーク31を起動すると、フレームワーク31は、デバイスサービス層のアプリケーション管理コンポーネント62に対してアプリケーションリストを要求し、アプリケーション管理コンポーネント62からアプリケーションリストを取得する。
フレームワーク31は、アプリケーションリストを取得すると、このリストに従ってアプリケーション毎のベースフレーム(Base frame)を作成し、スタータアプリケーション64を含む各種アプリケーション50のロードを行う(ロードフェーズ)。すなわち、各アプリケーションのコアロジック(Core Logic)52の読み込みを行う。具体的には、フレームワーク31は、マニフェストファイル56に規定されたコアロジック(Core Logic)52の格納先情報を参照してコアロジック(Core Logic)52をロードする。ベースフレーム(Base Frame)は、各アプリケーションのコアロジック(Core Logic)52を実行するためのフレームであり、このフレームが表示されることはない。各アプリケーションのコアロジック(Core Logic)52のロード順序は任意であり順不同である。全てのアプリケーションが、アプリケーションI/F実装を登録完了した時点で次のフェーズに移行する。
なお、アプリケーションI/F実装の登録処理よりも前に、各アプリケーション自身のメソッド及びイベントは公開されているものとする。
次に、フレームワーク31は、アプリケーションI/Fを通じて、各アプリケーションにイニシャライズ(初期化)を指示する(イニシャライズフェーズ)。具体的には、フレームワーク31は、各アプリケーションに対して”app”イベント、”initialize”メソッドを発行する。全アプリケーションが、初期化指示に対する完了時呼び出しコールバックを呼び出した時点で、フレームワーク31はブータ(Booter)60に対して初期化処理の完了を通知し、次のフェーズに移行する。各アプリケーションの初期化順序も任意である。この初期化処理において、各アプリケーションはデバイスサービス層に対するデータ取得を実行する。
次に、ブータ(Booter)60は、フレームワーク31に対してアプリケーションによる機能提供の開始指示を行い、フレームワーク31は、これを受けてスタータアプリケーション64に対して開始指示を行う(開始フェーズ)。スタータアプリケーション64は、デバイスサービス層で管理されている初期起動アプリケーションの情報を取得し、初期画面を表示する。スタータアプリケーション64が、開始指示に対する完了時呼び出しコールバックを呼び出した時点でこのフェーズが完了する。
なお、システム終了時には、フレームワーク31は各アプリケーションのコアロジック(Core Logic)52に対してファイナライズ(終了)を指示する。また、アプリケーション毎のベースフレーム(Base frame)を破棄する。
ロードフェーズでは、順不同で各アプリケーションのコアロジック(Core Logic)52を読み込むので、アプリケーションを追加したとしてもこのロードフェーズを変更する必要がない。また、イニシャライズフェーズでは、全アプリケーションの初期化を行うので他のアプリケーションを呼び出すことが保証されており、個別の待ち合わせは不要である。このように、アプリケーション間の待ち合わせが無くなり、かつ、比較的小さいサイズのコアロジック(Core Logic)52のみをロードするので、システム起動時間及びアプリケーション起動時間が短縮される。
各アプリケーションが独自にI/Fを公開している場合、アプリケーション毎に起動、初期化前処理、初期化、初期化後処理、停止、一時停止等が異なるためアプリケーション毎に初期化レベルに相違が生じ、アプリケーションを呼び出すことができるタイミングもばらついてしまう。特に、アプリケーションを呼び出す前に、相手を呼び出せる状態であるか否かを確認する必要が生じ、制御が複雑化してしまう。これに対し、実施形態では、上記のように初期化時間が短縮されるとともに、初期化後のホーム画面の起動時間も短縮され得る。
図14は、従来及び実施形態におけるシステム起動からホーム画面が表示されるまでの時間を比較して示す。
従来においては、アプリ初期化時間は、純粋な初期化時間に加えて待ち時間を要しており、ホーム画面の起動時間も同様に純粋な起動時間に加えて待ち時間を要していたところ、実施形態では純粋な初期化時間を短縮できるとともに待ち時間を削減することもできる。ホーム起動時間についても同様である。従来においては、アプリケーション間で依存関係がある場合にはデッドロックが生じないような調整が必要であるところ、実施形態ではこのような依存関係がないためデッドロック用調整も不要化される。
各アプリケーション50が実装するアプリケーションI/Fのうち、ウィンドウ削除処理(windowTerminated)について、さらに説明する。
ウィンドウ削除処理(windowTerminated)は、アプリケーション50のウィンドウが削除(破棄)されたことを通知するI/Fである。
従来、外部アプリケーション、例えば外部ブラウザ等を実行した場合に、画面の一番上(上位レイヤー)に外部アプリケーションを表示し、外部アプリケーションの正常終了を待ち続ける処理を行っており、外部アプリケーションの異常が生じると、予め確保しておいたシステム再起動画面を表示し、システムを再起動していた。
これに対し、本実施形態では、外部アプリケーションに何らかの要因で異常が生じると、フレームワーク31が当該外部アプリケーションのウィンドウを削除(破棄)し、これとともに当該アプリケーションに対してウィンドウを削除(破棄)したことを通知する。当該外部アプリケーションは、この通知によりウィンドウが削除(破棄)されたことを知ることができ、削除に伴う処理、例えば自ら停止する、あるいは自ら再起動する等の処理を行うことができる。
なお、要因としては、ブラウザ個数上限への到達、アプリケーションによる外部ブラウザの停止、外部ブラウザにおける例外の発生等がある。
また、ウィンドウの削除を当該外部アプリケーションに通知する場合に、そのプロパティとして、ウィンドウが削除された理由を含めることもできる。例えば、プロパティとして、
Requested: 他のアプリケーションからの削除要求
limitExceeded:ブラウザ個数上限への到達
とする等である。これにより、通知を受け取った外部ブラウザは、削除(破棄)の理由に応じた事後処理を行い得る。
図15は、フレームワーク31とアプリケーション50間のウィンドウ削除処理(windowTerminated)を用いた動作を示す。アプリケーション50として、アプリ1を示す。
ロードフェーズ及びイニシャライズフェーズが終了した後、アプリ1は、フレームワーク31に対してcreateWindowを要求し、この要求に対してフレームワーク31はウィンドウのID(画面番号)を返す。例えば、IDとして画面番号1(以下、これをG1とする)を返す。なお、createWindowのオブジェクトのプロパティには、URLやタイプ等が含まれる。URLは、ウィンドウに読み込むリソースのURLであり、タイプは作成するウィンドウのタイプであり、ホームアプリ用のウィンドウ、通常のアプリ用のウィンドウ、バナー用ウィンドウ、ポップアップ用のウィンドウ等を指定できる。アプリ1は、受け取った画面番号を用いてフレームワーク31に表示依頼showWindowを要求する。フレームワーク31は、この要求に応じてG1を表示する。
アプリ1がG1の非表示依頼hideWindowを要求すると、フレームワーク31は、この要求に応じてG1を非表示とする。
次に、何らかの要因によりアプリ1のG1を削除(破棄)する必要が生じた場合、フレームワーク31は、アプリ1に対してG1の削除(破棄)予告を通知する。その後、アプリ1から予告の応答を受信したフレームワーク31は、G1を削除(破棄)し、これとともにアプリ1に対して削除通知であるwindowTerminatedを通知する。アプリ1は、この通知を受け取ることで、自身のウィンドウが削除(破棄)されたことを知ることができ、例えば自ら停止する処理を行う。
図16は、表示画面の遷移状態を示す。図16(a)は、イニシャライズフェーズが終了して初期画面(デフォルト画面)が表示されている状態を示す。デフォルト画面をG0として示す。
図16(b)は、アプリ1からshowWindowが要求され、これに応じてフレームワーク31が画面上にアプリ1の画面G1を表示した状態を示す。
図16(c)は、何らかの要因でG1が削除(破棄)された状態を破線で示す。このとき、フレームワーク31は、アプリ1に対して削除を通知する。
図16(d)は、G1削除後の状態である。表示するウィンドウが存在しないので、フレームワーク31は再びデフォルト画面G0を表示する。
以上説明したように、本実施形態では、アプリケーションをコアロジック(Core Logic)52とUIフレーム(UI frame)54に分離し、フレームワーク31が定義するI/Fをコアロジック(Core Logic)52が実装する構成とし、コアロジック(Core Logic)52がフレームワーク31を介して他のアプリケーションのコアロジック(Core Logic)52と通信し、他方でUIフレーム(UI frame)54はそのアプリケーションのコアロジック(Core Logic)52のみと通信する構成とすることで、各アプリケーションは、フレームワーク31によって定義された共通の構成を有すると同時に、他のアプリケーションとの間の結合度合いが低くなるように構成することが可能となり、追加や削除が容易化される。
また、アプリケーション50は、自分のウィンドウが削除(破棄)されたことをフレームワーク31からの通知により知ることができるので、これに応じた処理を速やかに実行できる。
なお、本実施形態における「コンポーネント」とは、論理的に分離可能なソフトウェアの部品を意味する。コンポーネントは1つ又は複数のプロセッサによって実行され得る。本実施形態では、JavaScriptを用いているが、勿論これ以外のプログラミング言語を用いることもできる。
また、本発明は上記の実施形態に限定されるものではなく、種々の変形例が可能である。以下に、変形例について説明する。
<変形例>
実施形態では、画像形成装置12の制御部(プロセッサ)22が、プレゼンテーション層30のフレームワーク31及び各種アプリケーション50を実行するものとしているが、図2に示すように、プレゼンテーション層30とデバイスサービス層32は分離しているから、プレゼンテーション層30のフレームワーク及び各種アプリケーション50を画像形成装置12と異なる別個の装置、例えば画像形成装置12を制御するためのスマートフォンやタブレット端末等の携帯端末のプロセッサが実行する構成としてもよい。また、図1における操作部26も携帯端末に搭載されることが望ましい。この場合、携帯端末と画像形成装置12とを併せて画像形成装置ないし画像形成システムと言うことができる。
10 端末装置、12 画像形成装置、16 ROM、18 RAM、20 HDD、24 入出力インターフェイスI/F、26 操作部、28 画像形成部、30 プレゼンテーション層、31 フレームワーク、32 デバイスサービス層、50 アプリケーション、52 コアロジック(Core Logic)、54 UIフレーム(UI frame)、56 マニフェストファイル。

Claims (3)

  1. 基本処理を担うコアロジック部、及び描画処理を担うUIフレーム部に分離され、フレームワーク上で動作するアプリケーションと、
    アプリケーション及びフレームワークを実行する制御手段と、
    を備え、コアロジック部はフレームワークが定義するインターフェイス(I/F)を実装し、インターフェイス(I/F)には、アプリケーションが表示しているウィンドウが削除されたことの通知が含まれる
    画像形成装置。
  2. ウィンドウが削除されたことの通知には、プロパティとして削除理由が含まれる
    請求項1に記載の画面形成装置。
  3. 画像形成装置を制御するプロセッサに実行させるプログラムであって、
    基本処理を担うコアロジック部と、描画処理を担うUIフレーム部に分離されており、
    コアロジック部は、フレームワークが定義するインターフェイス(I/F)を実装し、
    インターフェイス(I/F)には、アプリケーションが表示しているウィンドウが削除されたことの通知が含まれる
    プログラム。
JP2016187283A 2016-09-26 2016-09-26 画像形成装置及びプログラム Active JP6876232B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2016187283A JP6876232B2 (ja) 2016-09-26 2016-09-26 画像形成装置及びプログラム
US15/450,298 US10097717B2 (en) 2016-09-26 2017-03-06 Image forming apparatus and storage medium
CN201710270164.XA CN107870767B (zh) 2016-09-26 2017-04-24 图像形成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016187283A JP6876232B2 (ja) 2016-09-26 2016-09-26 画像形成装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2018055183A true JP2018055183A (ja) 2018-04-05
JP6876232B2 JP6876232B2 (ja) 2021-05-26

Family

ID=61686847

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016187283A Active JP6876232B2 (ja) 2016-09-26 2016-09-26 画像形成装置及びプログラム

Country Status (3)

Country Link
US (1) US10097717B2 (ja)
JP (1) JP6876232B2 (ja)
CN (1) CN107870767B (ja)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0498312A (ja) * 1990-08-10 1992-03-31 Hitachi Ltd 入力制御方式
JPH10507853A (ja) * 1994-10-25 1998-07-28 オブジェクト テクノロジー ライセンシング コーポレイション ウィンドウをサービスするためのオブジェクト指向システム
WO2003052569A1 (fr) * 2001-12-07 2003-06-26 Ntt Docomo, Inc. Terminal de communication mobile, procede et programme de commande d'execution d'applications et support d'enregistrement lisible par ordinateur
JP2005250974A (ja) * 2004-03-05 2005-09-15 Ricoh Co Ltd ソフトウェア開発装置、ソフトウェア開発方法、ソフトウェア開発用プログラム、ソフトウェア、記録媒体、画像形成装置、及び電気機器
JP2007080252A (ja) * 2005-08-15 2007-03-29 Ricoh Co Ltd 情報処理装置、情報処理方法、情報処理プログラム、及び記録媒体
JP2012018530A (ja) * 2010-07-07 2012-01-26 Ricoh Co Ltd 画像形成装置及びアプリケーション管理プログラム
JP2013191998A (ja) * 2012-03-13 2013-09-26 Ricoh Co Ltd 画像処理装置、表示制御方法およびプログラム
JP2014235576A (ja) * 2013-06-03 2014-12-15 株式会社リコー 情報処理システム、情報処理方法、及びプログラム
JP2015510204A (ja) * 2012-03-02 2015-04-02 フィッシャー コントロールズ インターナショナル リミテッド ライアビリティー カンパニー プロセス制御システムソフトウェアアプリケーションのメモリ要件を削減するための方法および装置
US9043807B2 (en) * 2012-07-30 2015-05-26 Chegg, Inc. Application gateway in a browser based environment

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4886005B2 (ja) * 2000-07-05 2012-02-29 株式会社リコー 画像形成装置および画像形成方法
US7680945B2 (en) * 2004-03-31 2010-03-16 Sap Ag Messaging protocol in enterprise applications
JP4478535B2 (ja) * 2004-08-27 2010-06-09 キヤノン株式会社 画像処理装置、並びにその制御方法、プログラム、及び記憶媒体
EP1703379A1 (en) * 2005-03-14 2006-09-20 Research In Motion Limited System and method for applying development patterns for component based applications
JP4866620B2 (ja) * 2006-02-06 2012-02-01 株式会社リコー ドキュメント処理装置及び画像形成装置
WO2008090902A1 (ja) * 2007-01-25 2008-07-31 Sharp Kabushiki Kaisha マルチウィンドウ管理装置及びプログラム、記憶媒体、並びに情報処理装置
JP4979426B2 (ja) * 2007-03-23 2012-07-18 京セラドキュメントソリューションズ株式会社 画像形成装置、画像形成方法及びアプリケーションプログラム
CN101448283B (zh) * 2008-04-11 2011-11-30 中兴通讯股份有限公司 会话终结触发方法、实现方法及系统
JP5510147B2 (ja) 2010-07-22 2014-06-04 株式会社リコー 画像形成装置及び画面制御方法
JP2012248102A (ja) 2011-05-30 2012-12-13 Ricoh Co Ltd 画像形成装置、表示制御方法及び表示制御プログラム
CN102855142B (zh) * 2012-09-24 2016-08-03 广东华大互联网股份有限公司 一种基于ria的客户端框架结构及其实现方法
JP3180331U (ja) * 2012-10-01 2012-12-13 中央発條株式会社 状態表示装置
US9104480B2 (en) * 2012-11-15 2015-08-11 International Business Machines Corporation Monitoring and managing memory thresholds for application request threads
JP2014123319A (ja) * 2012-12-21 2014-07-03 Canon Inc 情報処理装置、情報処理方法及びプログラム
CN104113930B (zh) * 2013-04-16 2019-02-15 中兴通讯股份有限公司 一种实现用户终结连接的方法及系统
JP2015095219A (ja) * 2013-11-14 2015-05-18 ソニー株式会社 情報処理装置、情報処理方法および記憶媒体

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0498312A (ja) * 1990-08-10 1992-03-31 Hitachi Ltd 入力制御方式
JPH10507853A (ja) * 1994-10-25 1998-07-28 オブジェクト テクノロジー ライセンシング コーポレイション ウィンドウをサービスするためのオブジェクト指向システム
WO2003052569A1 (fr) * 2001-12-07 2003-06-26 Ntt Docomo, Inc. Terminal de communication mobile, procede et programme de commande d'execution d'applications et support d'enregistrement lisible par ordinateur
JP2005250974A (ja) * 2004-03-05 2005-09-15 Ricoh Co Ltd ソフトウェア開発装置、ソフトウェア開発方法、ソフトウェア開発用プログラム、ソフトウェア、記録媒体、画像形成装置、及び電気機器
JP2007080252A (ja) * 2005-08-15 2007-03-29 Ricoh Co Ltd 情報処理装置、情報処理方法、情報処理プログラム、及び記録媒体
JP2012018530A (ja) * 2010-07-07 2012-01-26 Ricoh Co Ltd 画像形成装置及びアプリケーション管理プログラム
JP2015510204A (ja) * 2012-03-02 2015-04-02 フィッシャー コントロールズ インターナショナル リミテッド ライアビリティー カンパニー プロセス制御システムソフトウェアアプリケーションのメモリ要件を削減するための方法および装置
JP2013191998A (ja) * 2012-03-13 2013-09-26 Ricoh Co Ltd 画像処理装置、表示制御方法およびプログラム
US9043807B2 (en) * 2012-07-30 2015-05-26 Chegg, Inc. Application gateway in a browser based environment
JP2014235576A (ja) * 2013-06-03 2014-12-15 株式会社リコー 情報処理システム、情報処理方法、及びプログラム

Also Published As

Publication number Publication date
JP6876232B2 (ja) 2021-05-26
US20180091679A1 (en) 2018-03-29
US10097717B2 (en) 2018-10-09
CN107870767A (zh) 2018-04-03
CN107870767B (zh) 2023-06-30

Similar Documents

Publication Publication Date Title
CN107870747B (zh) 图像形成装置
JP6876233B2 (ja) 画像形成装置及びプログラム
JP6876234B2 (ja) 画像形成装置及びプログラム
JP6911405B2 (ja) 画像処理装置及びプログラム
JP6790666B2 (ja) 画像形成装置及びプログラム
JP6911313B2 (ja) 画像形成装置及びプログラム
CN107872599B (zh) 图像形成设备
CN107870796B (zh) 图像形成设备
JP6876232B2 (ja) 画像形成装置及びプログラム
JP6876231B2 (ja) 画像形成装置及びプログラム
JP2018051798A (ja) 画像形成装置及びプログラム
JP6868185B2 (ja) 画像処理装置及びプログラム
JP6872110B2 (ja) 画像形成装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190830

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200625

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201006

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201201

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210323

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210405

R150 Certificate of patent or registration of utility model

Ref document number: 6876232

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150