(57)【要約】      （修正有）【課題】依存関係のあるアプリケーションを確実に起動することが可能な画像形成装置を提供する。【解決手段】画像形成装置１は、アプリ５００ａ、５００ｂを実行可能である。フレームワーク１００は、複数のアプリケーションを実行するアプリケーション・フレームワークである。アプリ管理部２２０は、フレームワーク１００で実行されるアプリ５００ｂが他のアプリ５００ａと依存関係にある場合、アプリ５００ｂの起動時に他のアプリ５００ａがフレームワーク１００にロードされるよう設定する。また、アプリ管理部２２０は、アプリ５００ｂのインストール時に、他のアプリ５００ａとの依存関係を調べ、依存関係がある場合、アプリ５００ｂ起動時に他のアプリ５００ａが常にロードされるよう設定する。【選択図】図５
2015194870.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションを実行可能な画像形成装置であって、
複数の前記アプリケーションを実行するアプリケーションフレームワークと、
該アプリケーションフレームワークで実行される前記アプリケーションが他のアプリケーションと依存関係にある場合、起動時に前記他のアプリケーションが前記アプリケーションフレームワークにロードされるよう設定するアプリケーション管理手段とを備える
ことを特徴とする画像形成装置。
【請求項２】
前記アプリケーション管理手段は、
前記アプリケーションのインストール時に、前記他のアプリケーションとの依存関係を調べ、依存関係がある場合、前記他のアプリケーションが起動時に常にロードされるよう設定する
ことを特徴とする請求項１に記載の画像形成装置。
【請求項３】
アプリケーションを実行可能な画像形成装置により実行される画像形成方法であって、  アプリケーションフレームワークで複数の前記アプリケーションを実行させ、
該アプリケーションフレームワークで実行される前記アプリケーションが他のアプリケーションと依存関係にある場合、起動時に前記他のアプリケーションが前記アプリケーションフレームワークにロードされるよう設定させる
ことを特徴とする画像形成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、及び画像形成方法に係り、特にアプリケーションを実行可能な画像形成装置、及び画像形成方法に関する。
【背景技術】
【０００２】
従来から、文書や画像を印刷可能な複合機（Multifunctional Peripheral, MFP）やプリンター等の画像形成装置において、アプリケーション（ApplicationSoftware、以下「アプリ」という。）をインストールし実行することが可能なものが存在する。
これらのアプリにより、ＰＤＦ作成、名刺管理、帳簿管理等の機能を画像形成装置に追加可能になる。また、アプリによりカメラ等の機器との連携を行うことも可能である。
【０００３】
特許文献１を参照すると、このようなアプリを格納する記憶手段を含み、記憶手段に格納された各種のアプリを使用し画像処理を行う画像形成装置の技術が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−１１２７８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１の技術では、複数のアプリがインストールされており、これらのアプリに依存関係がある場合、起動時にロードされる順番によっては依存関係の解決ができずに実行に失敗することがあるという問題があった。
つまり、例えば、アプリＢがアプリＡに依存している場合、アプリＡがアプリを実行するためのフレームワーク上に先にロードされていないと、依存関係を解決できず、実行に失敗することがあった。この例では、先にアプリＡが起動してフレームワーク上に存在していれば起動に失敗しなかった。しかしながら、先にアプリＢを起動すると、アプリＡがフレームワーク上で見つからないため、アプリＢの起動に失敗してしまっていた。
【０００６】
本発明は、このような状況に鑑みてなされたものであって、上述の問題点を解消する画像形成システムを提供することを課題とする。
【課題を解決するための手段】
【０００７】
本発明の画像形成装置は、アプリケーションを実行可能な画像形成装置であって、複数の前記アプリケーションを実行するアプリケーションフレームワークと、該アプリケーションフレームワークで実行される前記アプリケーションが他のアプリケーションと依存関係にある場合、起動時に前記他のアプリケーションが前記アプリケーションフレームワークにロードされるよう設定するアプリケーション管理手段とを備える、ことを特徴とする。
本発明の画像形成装置は、前記アプリケーション管理手段が、前記アプリケーションのインストール時に、前記他のアプリケーションとの依存関係を調べ、依存関係がある場合、前記他のアプリケーションが起動時に常にロードされるよう設定する、ことを特徴とする。
本発明の画像形成方法は、アプリケーションを実行可能な画像形成装置により実行される画像形成方法であって、アプリケーションフレームワークで複数の前記アプリケーションを実行させ、該アプリケーションフレームワークで実行される前記アプリケーションが他のアプリケーションと依存関係にある場合、起動時に前記他のアプリケーションが前記アプリケーションフレームワークにロードされるよう設定させる、ことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、依存関係のある他のアプリを起動時にフレームワーク上にロードしておくことで、依存関係があるアプリの実行に失敗しない画像形成装置を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態に係る画像形成装置の全体構成を示すブロック図である。
【図２】図１に示す画像形成装置の概略図である。
【図３】図１に示す画像形成装置の制御構成を示すブロック図である。
【図４】本発明の実施の形態に係るアプリインストール処理のフローチャートである。
【図５】図４に示すアプリインストール処理の概念図である。
【図６】本発明の実施の形態に係るアプリ使用処理のフローチャートである。
【図７】図６に示すアプリ使用処理の概念図である。
【発明を実施するための形態】
【００１０】
＜実施の形態＞
〔画像形成装置１の全体の構成〕
次に、図１により、画像形成装置１の全体の構成について説明する。画像形成装置１は、画像処理部１１、原稿読取部１２、原稿給送部１３、搬送部（給紙ローラー４２ｂ、搬送ローラー対４４、排出ローラー対４５）、ネットワーク送受信部１５、操作パネル部１６、画像形成部１７（画像形成手段）、及び記憶部１９等が、制御部１０に接続されている。各部は、制御部１０によって動作制御される。
【００１１】
制御部１０は、ＧＰＰ（General Purpose Processor）、ＣＰＵ（Central Processing Unit、中央処理装置）、ＭＰＵ（MicroProcessing Unit）、ＤＳＰ（Digital Signal Processor）、ＧＰＵ（Graphics Processing Unit）、ＡＳＩＣ（ApplicationSpecific Processor、特定用途向けプロセッサー）等の情報処理手段である。
制御部１０は、記憶部１９のＲＯＭやＨＤＤに記憶されている制御プログラムを読み出して、この制御プログラムをＲＡＭに展開させて実行することで、後述する機能ブロックの各手段として動作させられる。
また、制御部１０は、図示しない外部の端末や操作パネル部１６から入力された所定の指示情報に対応して、装置全体の制御を行う。
【００１２】
画像処理部１１は、ＤＳＰ（Digital Signal Processor）やＧＰＵ（Graphics Processing Unit）等の制御演算手段である。画像処理部１１は、各種の画像データに対して、例えば、拡大縮小、濃度調整、階調調整、画像改善等の各種画像処理を行う。
画像処理部１１は、原稿読取部１２で読み取られた画像を、記憶部１９に印刷データとして記憶する。この際、画像処理部１１は、印刷データをＰＤＦやＴＩＦＦ等のフォーマットのファイル単位に変換することも可能である。
【００１３】
原稿読取部１２は、セットされた原稿を読み取る（スキャン）手段である。
原稿給送部１３は、原稿読取部１２で読み取られる原稿を搬送する手段である。
画像形成部１７は、ユーザーの出力指示により、記憶部１９に記憶され、原稿読取部１２で読み取られ、又は外部の端末から取得されたデータから記録紙への画像形成を行わせる手段である。
搬送部（給紙ローラー４２ｂ、搬送ローラー対４４、排出ローラー対４５）は、給紙カセット４２ａ（図２）から記録紙を搬送し、画像形成部１７で画像形成させ、その後にスタックトレイ５０へ搬送する。
なお、原稿読取部１２、原稿給送部１３、搬送部、画像形成部１７の動作については後述する。
【００１４】
ネットワーク送受信部１５は、ＬＡＮ、無線ＬＡＮ、ＷＡＮ、携帯電話網等の外部ネットワークに接続するためのＬＡＮボードや無線送受信機等を含むネットワーク接続手段である。
ネットワーク送受信部１５は、データ通信用の回線ではデータを送受信し、音声電話回線では音声信号を送受信する。
ネットワーク送受信部１５は、ネットワークを介して、図示しないＰＣ（Personal Computer）やスマートフォンやＰＤＡ（Personal DataAssistant）や携帯電話等の外部の端末、サーバー等に接続されていてもよい。
【００１５】
操作パネル部１６は、ＬＣＤや有機ＥＬパネル等の表示部と、テンキー、スタート、キャンセル、複写、ＦＡＸ送信、スキャナー等の動作モードの切り換えのボタンと、選択された文書の印刷や送信や保存や記録等に関するジョブの実行に係る指示を行うためのボタン、タッチパネル等の入力部とを備えている。
操作パネル部１６は、ユーザーの指示を取得する。このユーザーの指示は、後述するアプリ５００（図３）のインストールや使用の指示を含む。また、ユーザーの指示により、各ユーザーの情報を入力、変更することも可能である。
また、操作パネル部１６には、ＵＳＢメモリーやフラッシュメモリーカードの記録媒体や記録媒体を内蔵した外部機器を接続するための接続部が備えられていてもよい。
【００１６】
記憶部１９は、ＲＡＭ（Random Access Memory）等の主記憶部と、ＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid StateDrive）やＲＯＭ（Read Only Memory）等の補助記憶部とを含む記憶手段である。
また、記憶部１９の主記憶部は、省電力状態であっても、セルフリフレッシュ等の機能により、記憶内容が保持されていてもよい。
また、記憶部１９の補助記憶部には画像形成装置１の動作制御を行うための制御プログラムが記憶されている。これに加えて、記憶部１９は、ユーザーのアカウント設定も記憶していてもよい。
また、記憶部１９に、ユーザー毎やアプリ５００（図３）毎の文書ボックスの領域が含まれていてもよい。
【００１７】
なお、画像形成装置１において、制御部１０及び画像処理部１１は、ＧＰＵ内蔵ＣＰＵ等やチップ・オン・モジュールパッケージのように、一体的に形成されていてもよい。
また、制御部１０及び画像処理部１１は、ＲＡＭやＲＯＭやフラッシュメモリー等を内蔵していてもよい。
また、画像形成装置１は、ファクシミリの送受信を行うＦＡＸ送受信部を備えていてもよい。
【００１８】
〔画像形成装置１の動作〕
次に、図２を参照して、本発明の実施の形態に係る画像形成装置１の動作について説明する。
原稿読取部１２は、本体部１４の上部に配設され、原稿給送部１３は、原稿読取部１２の上部に配設されている。スタックトレイ５０は、本体部１４に形成された記録紙の排出口４１側に配設され、また、操作パネル部１６は、画像形成装置１のフロント側に配設されている。
【００１９】
原稿読取部１２は、スキャナー１２ａと、プラテンガラス１２ｂと、原稿読取スリット１２ｃとを備えている。スキャナー１２ａは、露光ランプ、及びＣＣＤ(ChargeCoupled Device)やＣＭＯＳ（Complementary Metal Oxide Semiconductor）撮像センサー等から構成され、原稿給送部１３による原稿の搬送方向に移動可能に構成されている。
プラテンガラス１２ｂは、ガラス等の透明部材により構成された原稿台である。原稿読取スリット１２ｃは、原稿給送部１３による原稿の搬送方向と直交方向に形成されたスリットを有する。
【００２０】
プラテンガラス１２ｂに載置された原稿を読み取る場合には、スキャナー１２ａは、プラテンガラス１２ｂに対向する位置に移動され、プラテンガラス１２ｂに載置された原稿を走査しながら原稿を読み取って画像データを取得して、取得した画像データを本体部１４に備わる制御部１０（図１）に出力する。
また、原稿給送部１３により搬送された原稿を読み取る場合には、スキャナー１２ａは、原稿読取スリット１２ｃと対向する位置に移動され、原稿読取スリット１２ｃを介し、原稿給送部１３による原稿の搬送動作と同期して原稿を読み取って画像データを取得し、取得した画像データを本体部１４に備わる制御部１０に出力する。
【００２１】
原稿給送部１３は、原稿載置部１３ａと、原稿排出部１３ｂと、原稿搬送機構１３ｃとを備えている。原稿載置部１３ａに載置された原稿は、原稿搬送機構１３ｃによって、１枚ずつ順に繰り出されて原稿読取スリット１２ｃに対向する位置へ搬送され、その後、原稿排出部１３ｂに排出される。
なお、原稿給送部１３は、可倒式に構成され、原稿給送部１３を上方に持ち上げることで、プラテンガラス１２ｂの上面を開放させることができる。
【００２２】
本体部１４は、画像形成部１７を備えると共に、給紙部４２と、用紙搬送路４３と、搬送ローラー対４４と、排出ローラー対４５とを備えている。給紙部４２は、それぞれサイズ又は向きが異なる記録紙を収納する複数の給紙カセット４２ａと、給紙カセット４２ａから記録紙を１枚ずつ用紙搬送路４３に繰り出す給紙ローラー４２ｂとを備えている。給紙ローラー４２ｂ、搬送ローラー対４４、及び排出ローラー対４５は、搬送部として機能する。記録紙は、この搬送部により搬送される。
給紙ローラー４２ｂによって用紙搬送路４３に繰り出された記録紙は、搬送ローラー対４４によって画像形成部１７に搬送される。そして、画像形成部１７によって記録が施された記録紙は、排出ローラー対４５によってスタックトレイ５０に排出される。
【００２３】
画像形成部１７は、感光体ドラム１７ａと、露光部１７ｂと、現像部１７ｃと、転写部１７ｄと、定着部１７ｅとを備えている。露光部１７ｂは、レーザー装置やミラーやレンズやＬＥＤアレイ等を備えた光学ユニットであり、図示しない帯電部により一次帯電された感光体ドラム１７ａに対して、画像データに基づいて光等を出力して露光し、感光体ドラム１７ａの表面に静電潜像を形成する。現像部１７ｃは、トナーを用いて感光体ドラム１７ａに形成された静電潜像を現像する現像ユニットであり、静電潜像に基づいたトナー像を感光体ドラム１７ａ上に形成させる。転写部１７ｄは、現像部１７ｃによって感光体ドラム１７ａ上に形成されたトナー像を記録紙に転写させる。定着部１７ｅは、転写部１７ｄによってトナー像が転写された記録紙を加熱してトナー像を記録紙に定着させる。
【００２４】
〔画像形成装置１の制御構成〕
次に、図３により、画像形成装置１の制御構成について説明する。
画像形成装置１の制御部１０は、フレームワーク１００を備えている。
画像形成装置１の記憶部１９は、アプリ５００ａ、５００ｂ、……を記憶する。以下で、アプリ５００ａ、５００ｂ、……のいずれか一つを示す場合、単にアプリ５００という。
【００２５】
フレームワーク１００は、複数のアプリケーションを実行するアプリケーション・フレームワークである。
フレームワーク１００は、アプリ５００の実行基盤となるＡＰＩ（Application Programming Interface）やミドルウェアやランタイム等（以下、「ＡＰＩ等」という。）を含む制御プログラムやデータが、記憶部１９の補助記憶部等から読み出されて主記憶部に記憶され、制御部１０で実行されることで実現される。このＡＰＩ等は、アプリ５００から画像形成装置１の各機能を制御するためのアプリケーション用のインターフェイスを提供する。下記で説明する各アプリ５００は、ＡＰＩ等により記憶部１９の補助記憶部から主記憶部に展開されフレームワーク１００上に対応付けられる「ロード」の後、制御部１０により実行可能となる。
また、フレームワーク１００の制御プログラムやデータには、アプリ５００から呼び出されるプログラム（クラス、ルーチン、関数等）であるサービスと、これに関するデータも含まれている。また、フレームワーク１００は、記憶部１９にインストールされた図示しないＯＳ上で動作している。
【００２６】
また、フレームワーク１００は、アプリ管理部１１０（アプリケーション管理手段）を含んでいる。
アプリ管理部１１０は、アプリ５００を管理し実行するサービス等が制御部１０により実行されたものである。
具体的には、アプリ管理部１１０は、アプリ５００について、記憶部１９の補助記憶部に保存してフレームワーク１００上で実行可能とするよう登録するインストール、ロード、ロード後の待機状態から実行状態への変更（実行）、実行終了、フレームワーク１００からの登録を消去するアンインストール等の処理をフレームワーク１００のＡＰＩ等により管理する（以下、これらの処理をアプリ５００についての「ライフサイクル」の管理という。）。
また、アプリ管理部１１０は、フレームワーク１００で実行されるアプリ５００が他のアプリ５００と依存関係にある場合、起動時に他のアプリ５００がフレームワーク１００にロードされるよう設定する。この場合、アプリ管理部１１０は、アプリ５００が記憶部１９の補助記憶から主記憶部にロードされても、直ちには実行しない待機状態にさせてもよい。
また、アプリ管理部１１０は、アプリ５００のインストール時に、他のアプリ５００との依存関係を調べ、依存関係がある場合、他のアプリ５００が起動時に常にロードされるよう設定する。
また、アプリ管理部１１０は、認証情報を取得した場合、アプリ５００を使用可能な状態に設定してもよい。
【００２７】
アプリ５００は、画像形成装置１にインストールされ、フレームワーク１００上で実行されるアプリ（Application Software、アプリケーション）である。アプリ５００は、ＡＰＩ等を介して画像形成装置１の機能を利用する。このため、アプリ５００により、画像形成装置１単体では使用できない各種処理を行わせることができる。
また、アプリ５００は、記憶部１９に、複数記憶されてもよい。
また、アプリ５００は、フレームワーク１００上で動作する実行ファイルと、クラス情報を含む各種データとを含んで構成されてもよい。
アプリ５００の実行ファイルは、例えばＪａｖａ（登録商標）アプリの中間言語のファイルや、「ネイティブ」のｅｘｅファイル等からなるアプリのバイナリのファイルであってもよい。
また、各種データには、起動時に実行されるか否か、依存関係があるか否かといった情報が含まれていてもよい。
また、アプリ５００は、フレームワーク１００上にロードされた場合、実行状態と待機状態等に状態変化させてもよい。この際、待機状態のアプリ５００は、フレームワーク１００で記憶部１９の主記憶部のアドレス等を示すインスタンス等のみ取得可能な状態としてもよい。これにより、アプリ５００用に、記憶部１９の主記憶部のワークメモリー等の領域を確保する必要がなくなり、必要なメモリー容量を節約できる。
また、アプリ５００は、例えば、ＯＣＲ（Optical Character Recognition、光学文字認識）、監視カメラアプリ、ウォーターマーク作成、請求書作成、社員名簿管理、伝票管理、契約書管理、名刺管理、ＰＤＦ作成、帳簿管理、グループ管理等のアプリであってもよい。
【００２８】
なお、各アプリ５００は、認証情報により、当該画像形成装置１やユーザーと対応付けられて使用可能な状態にする「アクティベーション」を行う構成であってもよい。また、アプリ５００は、他の端末やサーバー等（図示せず）からインストールされて記憶部１９に記憶されてもよい。
【００２９】
また、以下では、アプリ５００ａとアプリ５００ｂの間で、依存関係がある例について説明する。つまり、本実施形態においては、アプリ５００ｂを実行する際には、他のアプリケーションであるアプリ５００ａがフレームワーク１００上にロードされている必要がある。
なお、記憶部１９には、アプリ５００ａ、５００ｂ以外の複数のアプリ５００が記憶されていてもよい。
【００３０】
また、記憶部１９は、画像形成装置１の操作パネル部１６で指示された各種ジョブデータ、原稿読取部１２でスキャンされた画像データ、画像処理部１１で画像処理された画像データ、他の端末（図示せず）から送信された印刷文書のデータ、接続された記録媒体から読み出された各種ファイル、サムネイル画像のデータ等を記憶してもよい。また、記憶部１９には、ユーザー毎の文書ボックスの領域が含まれていてもよい。
【００３１】
〔画像形成装置１によるアプリインストール処理〕
次に、図４〜図５により、本発明の実施の形態に係る画像形成装置１によるアプリインストールの説明を行う。
本実施形態のアプリインストール処理では、アプリ５００ａが既に記憶部１９にインストールされている状態で、アプリ５００ｂがインストールされる例について説明する。この例では、アプリ５００ｂを登録する際に、既にインストールされている他のアプリ５００ａとの間で依存関係があるか否かを判定する。依存関係がある場合、他のアプリ５００ａが、起動時に必ずフレームワーク１００にロードされるように設定する。
本実施形態に係るアプリインストール処理は、主に画像形成装置１の制御部１０が、アプリ管理部１１０として、記憶部１９に記憶されたプログラムを、各部と協働し、ハードウェア資源を用いて実行する。
以下で、図４のフローチャートを参照して、アプリインストール処理の詳細をステップ毎に説明する。
【００３２】
（ステップＳ１０１）
まず、制御部１０が、依存関係確認処理を行う。
制御部１０は、まず、操作パネル部１６から、アプリ５００ｂのインストールの指示が行われた場合、接続された記録媒体や他の端末（図示せず）等から取得したアプリ５００ｂを記憶部１９に展開し、依存関係があるか確認する。
図５によると、制御部１０は、既に記憶部１９上に保存され、フレームワーク１００で実行可能なように登録されている他のアプリ５００ａと、アプリ５００ｂとの間で依存関係があるか否かを確認する。
【００３３】
（ステップＳ１０２）
次に、制御部１０が、依存関係があったか否かを判別する。制御部１０は、上述の依存関係確認処理において、アプリ５００ｂとアプリ５００ａとの間で依存関係があった場合にＹｅｓと判定する。制御部１０は、それ以外の場合はＮｏと判定する。
Ｙｅｓの場合、制御部１０は、処理をステップＳ１０３に進める。
Ｎｏの場合、制御部１０は、処理をステップＳ１０４に進める。
【００３４】
（ステップＳ１０３）
依存関係があった場合、制御部１０が、他アプリ起動時ロード設定処理を行う。
制御部１０は、他のアプリ５００ａについて、起動時にフレームワーク１００にロードされるよう設定する。制御部１０は、例えば、記憶部１９の補助記憶部に保存された、起動時にロードされるアプリ５００の一覧等を示すデータ等（図示せず）に、アプリ５００ａを登録することで、この設定を行ってもよい。これにより、アプリ５００ｂが実行される際に、依存関係のあるアプリ５００ａは、必ずフレームワーク１００上に存在することになる。
なお、この起動時とは、画像形成装置１の主電源がオンにされた際のコールドスタートの他に、スタンバイ等の省電力状態から復帰される場合も含んでいてもよい。また、制御部１０は、インストール後に、すぐアプリ５００ａをフレームワーク１００にロードしてもよい。
【００３５】
（ステップＳ１０４）
ここで、制御部１０が、アプリ保存処理を行う。
制御部１０は、記憶部１９の主記憶部に展開されたアプリ５００ｂを、補助記憶部１９に保存し、フレームワーク１００で実行可能となるよう登録する。制御部１０は、この際に、登録されたアプリ５００の管理用の設定データ（図示せず）に、実行可能なファイル名やパス（Path）等を設定してもよい。
以上により、本発明の実施の形態に係るアプリインストール処理を終了する。
【００３６】
〔画像形成装置１によるアプリ使用処理〕
次に、図６〜図７を参照して、本発明の実施の形態に係る画像形成装置１によるアプリ使用処理の説明を行う。
本実施形態のアプリ使用処理では、上述のアプリインストール処理によりアプリ５００ｂがインストールされ、機器が起動した後、アプリ５００ｂを使用する際の処理の例について説明する。ここでは、依存するアプリ５００ａがある場合、待機状態か実行状態かを判別して、待機状態ならアプリ５００ｂより先に実行させる。
本実施形態に係るアプリ使用処理は、主に画像形成装置１の制御部１０が、アプリ管理部１１０として、記憶部１９に記憶されたプログラムを、各部と協働し、ハードウェア資源を用いて実行する。
以下で、図６のフローチャートを参照して、アプリ使用処理の詳細をステップ毎に説明する。
【００３７】
（ステップＳ１１１）
まず、制御部１０が、アプリロード処理を行う。
制御部１０は、アプリ５００をロードし、まずは待機状態にする。
図７（ａ）に示すように、この例では、アプリ５００ａは、起動時に既にフレームワーク１００上にロードされている。このため、図７（ｂ）のように、制御部１０は、アプリ５００ａがフレームワーク１００上に存在する状態で、アプリ５００ｂをフレームワーク１００上にロードして待機状態とする。
【００３８】
（ステップＳ１１２）
次に、制御部１０が、依存関係のある他のアプリ５００がある否かを判別する。制御部１０は、この例では、アプリ５００ｂに依存するアプリ５００ａがあるためＹｅｓと判定する。制御部１０は、それ以外の場合、つまり依存関係のある他のアプリ５００がない場合は、Ｎｏと判定する。
Ｙｅｓの場合、制御部１０は、処理をステップＳ１１３に進める。
Ｎｏの場合、制御部１０は、処理をステップＳ１１６に進める。
【００３９】
（ステップＳ１１３）
依存関係のある場合、制御部１０が、他のアプリ実行確認処理を行う。
制御部１０は、このアプリ５００ｂの例では、他のアプリ５００ａがフレームワーク１００上で既に実行状態となっているか否かを確認する。なお、アプリ５００ａは、上述したように起動時に既にロードされているものの、待機状態から既に実行状態になっていてもよい。
【００４０】
（ステップＳ１１４）
次に、制御部１０が、他のアプリ５００が実行状態か否かを判別する。
制御部１０は、このアプリ５００ｂの例では、他のアプリ５００ａが既に実行状態であった場合にＹｅｓと判定する。制御部１０は、それ以外の場合はＮｏと判定する。制御部１０は、この例では、アプリ５００ａが、実行状態でなく、まだ待機状態であった場合には、Ｎｏと判定する。
Ｙｅｓの場合、制御部１０は、処理をステップＳ１１６に進める。
Ｎｏの場合、制御部１０は、処理をステップＳ１１５に進める。
【００４１】
（ステップＳ１１５）
他のアプリ５００が実行状態でなかく、まだ待機状態であった場合、制御部１０が、他アプリ実行処理を行う。
制御部１０は、この例では、待機状態のアプリ５００ａを実行状態にさせる。制御部１０は、例えば、アプリ５００ａに待機状態から実行状態になるようなイベント等を発行する。これにより、フレームワーク１００上で、アプリ５００ａは初期化処理を行い、記憶部１９にワークメモリー等を確保することで実行状態となる。
ここで、制御部１０は、アプリ５００ａが実行状態になったことをイベント等で把握して、処理を次に進める。
【００４２】
（ステップＳ１１６）
ここで、制御部１０が、アプリ実行処理を行う。
制御部１０は、この例では、アプリ５００ｂを、待機状態から実行状態にさせる。つまり、制御部１０は、イベント等を発行し、アプリ５００ｂの初期化処理を行い、ワークメモリー等を確保させて実行状態にさせる。この際、他のアプリ５００ａは既に実行状態であるので、初期化処理等において、他のアプリ５００ａとの間でクラスの承継やデータの読み書き等を行うことが可能となる。よって、アプリ５００ｂを確実に実行状態とさせることができる。
以上により、本発明の実施の形態に係るアプリ使用処理を終了する。
【００４３】
以上のように構成することで、以下のような効果を得ることができる。
従来、特許文献１の技術の場合、主にシステム起動時にアプリを起動する場合、起動順によっては、起動に失敗することがあった。しかしながら、アプリ同士の依存関係により起動の順番をいちいち決定するといった方式の場合、複数の依存関係がある等の場合には、順番の決定が難しくなっていた。
これに対して、本発明の実施の形態に係る画像形成装置１は、アプリ５００を実行可能であって、複数のアプリ５００を実行するフレームワーク１００と、フレームワーク１００で実行されるアプリ５００が他のアプリ５００と依存関係にある場合、起動時に他のアプリ５００がフレームワーク１００にロードされるよう設定するアプリ管理部１１０とを備えることを特徴とする。
このように構成することで、起動時にフレームワーク１００上へ他のアプリ５００のロードを確実に行うことが可能となる。このため、他のアプリ５００をインストールしているもののフレームワーク１００上に存在しないという状況を発生させることがなくなる。つまり、フレームワーク１００上にロードされていないアプリ５００に対しても依存関係を解決して起動させることが可能になる。よって、依存関係のあるアプリ５００をロードした後、確実に実行状態にさせることが可能となる。
また、本実施形態の画像形成装置１は、依存関係のあるアプリ５００同士の起動の順番を予め決定しておく必要がないため、処理を単純化でき、複数の依存関係がある場合等でも対応可能となる。
【００４４】
また、本発明の実施の形態に係る画像形成装置１は、アプリ管理部１１０が、アプリ５００のインストール時に、他のアプリ５００との依存関係を調べ、依存関係がある場合、他のアプリ５００が起動時に常にロードされるよう設定することを特徴とする。
このように構成することで、フレームワーク１００上ではロードされていないアプリ５００同士の依存関係を検索できない場合であっても、インストール時に依存関係を把握して適切にアプリ５００を実行状態にさせる設定を行うことができる。このため、アプリ５００のインストーラー等を簡略化することができ、開発コストや管理コストを削減することができる。また、元々、起動時に、他のアプリ５００が起動するように設定されている場合、実際に起動するのが同じか少し早くなるだけなので影響を少なくできる。
また、アプリ５００の起動の順番等をユーザーが調整する必要もなくなるため、セキュリティリスクも低下させることができる。
【００４５】
また、本実施形態の画像形成装置１は、起動時に他のアプリ５００をフレームワーク１００上にロードした場合であっても、待機状態のままとすることを特徴とする。
これにより、記憶部１９の主記憶部のワーキングメモリーの確保を行わなくてもよくなるため、単純に起動時に他のアプリ５００を実行状態とするのに比べ、起動時に他のアプリ５００用に必要な主記憶部のメモリー容量を削減できる。また、起動時に常に他のアプリ５００がロードされている状態となるため、依存関係にあるアプリ５００を起動する際に、起動を高速化できる。
【００４６】
なお、上述の実施の形態では、アプリ５００は、画像形成装置１に対応付けられているように記載した。
しかしながら、アプリ５００は、画像形成装置１ではなくユーザー毎に対応付けられていてもよい。これにより、画像形成装置１にログインしたユーザー毎に異なるアプリ５００を使用可能となる。
また、アプリ５００は、画像形成装置１の各機能を呼び出して所望の機能を実現させるための「一般アプリ」と、これらの一般アプリ５００を管理する「管理アプリ」とを含んでいてもよい。また、アプリ５００は、画像形成装置１の機能を使用するための画像形成装置１の制御プログラムやデータを含んでいてもよい。
このように構成することで、アプリ５００により画像形成装置１を柔軟に制御することが可能となり、又、セキュリティを高めることができる。
【００４７】
また、画像形成装置１の記憶部１９には、フレームワーク１００のＡＰＩによるアプリ５００とは異なるアプリを記憶させることも可能である。たとえば、記憶部１９には、アプリ５００以外のＷｅｂアプリ等（以下「外部アプリ」という。）や、ユーザーのデータ等を記憶させてもよい。外部アプリは画像形成装置１の操作パネル部１６のユーザーの指示で呼び出して、画像形成装置１に読み込んで実行させたり画像形成装置１上で実行させたり、ユーザーのデータを画像形成装置１で呼び出して操作パネル部１６上で表示させたりしてもよい。
このように構成することで、フレームワーク１００のアプリと外部アプリとを柔軟に使い分けて、ユーザーの使い勝手をよくすることができる。
【００４８】
また、本発明は、画像形成装置以外の各種情報処理装置にも適用可能である。つまり、ネットワークスキャナ、スキャナーをＵＳＢ等で別途接続したサーバー等を用いるような構成であってもよい。また、アプリをインストール可能な情報処理装置であるＰＣ、スマートフォン、携帯電話、オフィス機器、産業用機器等にも適用可能である。
【００４９】
なお、上記実施の形態の構成及び動作は例であって、本発明の趣旨を逸脱しない範囲で適宜変更して実行することができることは言うまでもない。
【符号の説明】
【００５０】
１  画像形成装置
５  ネットワーク
１０、２０  制御部
１１  画像処理部
１２  原稿読取部
１２ａ  スキャナー
１２ｂ  プラテンガラス
１２ｃ  原稿読取スリット
１３  原稿給送部
１３ａ  原稿載置部
１３ｂ  原稿排出部
１３ｃ  原稿搬送機構
１４  本体部
１５、２５  ネットワーク送受信部
１６  操作パネル部
１７  画像形成部
１７ａ  感光体ドラム
１７ｂ  露光部
１７ｃ  現像部
１７ｄ  転写部
１７ｅ  定着部
１９、２９  記憶部
４１  排出口
４２  給紙部
４２ａ  給紙カセット
４２ｂ  給紙ローラー
４３  用紙搬送路
４４  搬送ローラー対
４５  排出ローラー対
５０  スタックトレイ
１００  フレームワーク
１１０  アプリ管理部
５００、５００ａ、５００ｂ  アプリ
【図１】
2015194870.tif 000003
【図２】
2015194870.tif 000004
【図３】
2015194870.tif 000005
【図４】
2015194870.tif 000006
【図５】
2015194870.tif 000007
【図６】
2015194870.tif 000008
【図７】
2015194870.tif 000009