図面 (/)

技術 情報処理装置

出願人 キヤノン株式会社
発明者 リリャン
出願日 2017年10月6日 (2年2ヶ月経過) 出願番号 2017-195547
公開日 2019年5月9日 (7ヶ月経過) 公開番号 2019-070884
状態 未査定
技術分野 ストアードプログラム ファクシミリ一般
主要キーワード バンドルタイプ バンドル状態 アプリボタン ソケット数 運用段階 アプリケーションプラットホーム フォーマットエラー 機能拡張プログラム
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2019年5月9日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (13)

課題

リソース消費を抑えると同時に、ユーザの要望によって速やかに拡張プログラムが使用できるようにインストールする手段を提供する。

解決手段

インストールの一部の工程を先行して行うことによって、リソース消費を抑えつつ、拡張プログラムをユーザに使用可能なように見せる。ユーザが拡張プログラムを実際に使用する時に、残りのインストール工程を行い、拡張プログラムを実行する。

概要

背景

近年、情報処理装置の一例として、アプリケーションソフトウェア機能拡張プログラムとして追加できる機能を備えた画像形成装置が普及している。機能拡張プログラム(以下、拡張プログラム)は工場出荷時だけでなく、設置後の運用段階でも追加することが可能である。追加された拡張プログラムは画像形成装置に最初から備わっているプログラム(以下、基本プログラム)と同じように画像形成装置の機能としてメニュー(以下、メインメニュー)に表示される。

また、ユーザが選択した拡張プログラムを外部サーバからダウンロードし、インストールすることで、画像形成装置の機能の拡張を可能とする技術が知られている(例えば、特許文献1)。

一方で、近年のMFP(Multi Function Peripheral)と呼ばれる画像形成装置は、基本的なコピー機能に加えて、スキャン機能プリント機能FAX送受信機能、電子メール送受信機能等を1台で有するようになっている。それぞれの機能を使うために、MFPに拡張プログラムを追加して、複数人共用している。そのため、MFPの拡張プログラムは、一般的には、管理者がインストールして、一般ユーザが使うという運用が行われている。また、MFPは、一般的にメモリストレージなどのリソース豊富ではない。

概要

リソースの消費を抑えると同時に、ユーザの要望によって速やかに拡張プログラムが使用できるようにインストールする手段を提供する。インストールの一部の工程を先行して行うことによって、リソース消費を抑えつつ、拡張プログラムをユーザに使用可能なように見せる。ユーザが拡張プログラムを実際に使用する時に、残りのインストール工程を行い、拡張プログラムを実行する。

目的

インターフェース登録とは、ユーザが拡張プログラムの使用のために、メインメニューにアプリボタンを登録する、或いは、ウェブサーバーサーブレットURLを登録することである

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

拡張プログラムを実行可能な情報処理装置(101)において、前記情報処理装置は前記拡張プログラムを管理する管理手段(510、530)を有し、さらに、前記管理手段は、拡張プログラムのインストール指示を受け取ったときに、指示のあった拡張プログラムが通常バンドルであるか仮バンドルであるかを判断するバンドルタイプ判別手段(S704)と、前記バンドルタイプ判断手段によって通常バンドルであると判別した場合に、前記情報処理装置に通常バンドルとして登録する通常バンドル登録手段(S711〜S713)と、前記バンドルタイプ判断手段によって仮バンドルであると判別した場合に、前記情報処理装置に仮バンドルとして登録する仮バンドル登録手段(S740)を有し、さらに前記通常バンドル登録手段は、前記インストール指示のあった拡張プログラムを実行するために必要なリソースが情報処理装置に存在するかを確認するリソース確認手段(S703)と、前記インストール指示のあった拡張プログラムの実行ファイルを前記情報処理装置に配置する実行ファイル配置手段(S711)と、前記実行ファイル配置手段によって配置された実行ファイルを、前記リソース確認手段によって確認したリソースを確保したうえで開始するバンドル開始手段(S712)と、前記バンドル開始手段によって開始された実行ファイルをユーザが呼び出せるようにインターフェースに登録する通常バンドルインターフェース登録手段(S713)を有することを特徴とし、さらに前記仮バンドル登録手段は、前記リソース確認手段(S1105)と、前記インストール指示のあった拡張プログラムをユーザが呼び出したときに、前記拡張プログラムの実行ファイルの配置やダウンロードを行うように仮バンドルの実行ファイルの状況を確認する実行ファイル状態確認手段(S1106、S1107)と、前記拡張プログラムの実行ファイルの配置と開始を行うようにインターフェースに登録する仮バンドルインターフェース登録手段(S1108)を有することを特徴とし、さらに前記管理手段は、前記仮バンドルインターフェース登録手段によって登録された仮バンドルがユーザによって呼び出された場合に、呼び出された仮バンドルの実行ファイルを前記情報処理装置に配置(S1008)して、前記リソース確認手段によって確認したリソースを確保したうえで開始する(1009)ことを特徴とする情報処理装置。

請求項2

請求項1に記載の情報処理装置において、前記バンドルタイプ判断手段は、インストール指示のあった拡張プログラムに含まれるマニフェストファイルを読み込んで、定義されたバンドルタイプ(613、633、653)によって拡張プログラムが通常バンドルであるか仮バンドルであるかを判断することを特徴とする情報処理装置。

請求項3

請求項1に記載の情報処理装置において、前記通常バンドルインターフェース登録手段と前記仮バンドルインターフェース登録手段は、バンドルに含まれるアイコン画像メインメニューへの登録するアプリボタン登録手段(S740、S1108)と、サーブレットの持つバンドルをサーブレットサービス管理部に登録するサーブレット登録手段(S740、S1108)を有することを特徴とする情報処理装置。

請求項4

請求項1に記載の情報処理装置において、前記仮バンドル登録手段は、前記バンドルタイプ判別手段によって仮バンドルであると判別した後に、仮バンドルが実行ファイルの持つかを判断する実行ファイル存在判別手段(S721)と、前記実行ファイル存在判別手段によって実行ファイルを持つと判別した場合、前記情報処理装置に実行ファイルを保存する実行ファイル保存手段(S722)と、前記実行ファイル存在判別手段によって仮バンドルが実行ファイルを持たないと判別した場合、前記実行ファイルのダウンロードコマンドを発生する実行ファイルダウンロードコマンド発生手段(S1204)を有することを特徴とする情報処理装置。

請求項5

請求項1に記載の情報処理装置において、前記管理手段は、前記実行ファイルダウンロードコマンド発生手段によってダウンロードコマンドを受ける場合、前記実行ファイルをダウンロードする実行ファイルダウンロード手段(S1204)を有することを特徴とする情報処理装置。

請求項6

請求項1に記載の情報処理装置において、前記管理手段は、前記実行ファイル存在判別手段によって仮バンドルが実行ファイルを持たないと判断する、かつ前記実行ファイル状態確認手段によって実行ファイルのダウンロードを行えないと判断する場合、或いは、前記リソース確認手段によって前記仮バンドルの実行ファイル開始必要なリソースが確保できない場合、前記仮バンドルインターフェース登録手段によって登録された仮バンドルを削除する仮バンドルインターフェース削除手段(S1120)を有することを特徴とする情報処理装置。

請求項7

請求項1に記載の情報処理装置において、前記管理手段は前記仮バンドル登録手段によって登録した仮バンドルのアプリボタンID、サーブレット、配置用実行ファイル状態、本体状態と仮バンドルのづけ情報を保持する紐づけ情報保持手段(S740)と、前記リソース確認手段と前記実行ファイル状態確認手段によって取得した情報を前記紐づけ情報に更新する紐づけ情報更新手段(S1109)と、前記実行ファイルダウンロード手段によってダウンロードの状態を前記紐づけ情報に更新する紐づけ情報更新手段(S1207)と、前記仮バンドルインターフェース登録手段によって登録された仮バンドルがユーザによって呼び出された場合に、呼び出された仮バンドルを特定する仮バンドル特定手段(S1003、S1103)と、前記仮バンドル特定手段によって特定された仮バンドルの実行ファイルを前記情報処理装置に配置と開始する後に紐づけ情報を削除する仮バンドル紐づけ情報削除手段(S1012)を有することを特徴とする情報処理装置。

技術分野

0001

本発明は、拡張プログラムを実行可能な情報処理装置に関するものである。

背景技術

0002

近年、情報処理装置の一例として、アプリケーションソフトウェア機能拡張プログラムとして追加できる機能を備えた画像形成装置が普及している。機能拡張プログラム(以下、拡張プログラム)は工場出荷時だけでなく、設置後の運用段階でも追加することが可能である。追加された拡張プログラムは画像形成装置に最初から備わっているプログラム(以下、基本プログラム)と同じように画像形成装置の機能としてメニュー(以下、メインメニュー)に表示される。

0003

また、ユーザが選択した拡張プログラムを外部サーバからダウンロードし、インストールすることで、画像形成装置の機能の拡張を可能とする技術が知られている(例えば、特許文献1)。

0004

一方で、近年のMFP(Multi Function Peripheral)と呼ばれる画像形成装置は、基本的なコピー機能に加えて、スキャン機能プリント機能FAX送受信機能、電子メール送受信機能等を1台で有するようになっている。それぞれの機能を使うために、MFPに拡張プログラムを追加して、複数人共用している。そのため、MFPの拡張プログラムは、一般的には、管理者がインストールして、一般ユーザが使うという運用が行われている。また、MFPは、一般的にメモリストレージなどのリソース豊富ではない。

先行技術

0005

特許第4039439号公報

発明が解決しようとする課題

0006

ユーザが便利に拡張プログラムを使うため、管理者は事前に拡張プログラムをインストールしておきたい。しかし、事前に拡張プログラムをインストールしておくと、その拡張プログラムはユーザに使用されなくても、デバイスのリソース(メモリやストレージなど)を消費してしまう。

0007

MFPのリソースには限りがあるので、使わない拡張プログラムのためにリソースをできるだけ消費したくない。一方で、ユーザの要望があったときには、速やかに拡張プログラムを使えるようにしておきたいという課題があった。

課題を解決するための手段

0008

拡張プログラムを実行可能な情報処理装置(101)において、前記情報処理装置は前記拡張プログラムを管理する管理手段(510、530)を有し、
さらに、前記管理手段は、
拡張プログラムのインストール指示を受け取ったときに、指示のあった拡張プログラムが通常バンドルであるか仮バンドルであるかを判断するバンドルタイプ判別手段(S704)と、
前記バンドルタイプ判断手段によって通常バンドルであると判別した場合に、前記情報処理装置に通常バンドルとして登録する通常バンドル登録手段(S711〜S713)と、
前記バンドルタイプ判断手段によって仮バンドルであると判別した場合に、前記情報処理装置に仮バンドルとして登録する仮バンドル登録手段(S740)を有し、
さらに前記通常バンドル登録手段は、
前記インストール指示のあった拡張プログラムを実行するために必要なリソースが情報処理装置に存在するかを確認するリソース確認手段(S703)と、
前記インストール指示のあった拡張プログラムの実行ファイルを前記情報処理装置に配置する実行ファイル配置手段(S711)と、
前記実行ファイル配置手段によって配置された実行ファイルを、前記リソース確認手段によって確認したリソースを確保したうえで開始するバンドル開始手段(S712)と、
前記バンドル開始手段によって開始された実行ファイルをユーザが呼び出せるようにインターフェースに登録する通常バンドルインターフェース登録手段(S713)を有することを特徴とし、
さらに前記仮バンドル登録手段は、
前記リソース確認手段(S1105)と、
前記インストール指示のあった拡張プログラムをユーザが呼び出したときに、前記拡張プログラムの実行ファイルの配置やダウンロードを行うように仮バンドルの実行ファイルの状況を確認する実行ファイル状態確認手段(S1106、S1107)と、
前記拡張プログラムの実行ファイルの配置と開始を行うようにインターフェースに登録する仮バンドルインターフェース登録手段(S1108)を有することを特徴とし、
さらに前記管理手段は、
前記仮バンドルインターフェース登録手段によって登録された仮バンドルがユーザによって呼び出された場合に、呼び出された仮バンドルの実行ファイルを前記情報処理装置に配置(S1008)して、前記リソース確認手段によって確認したリソースを確保したうえで開始する(1009)こと
を特徴とする情報処理装置。

発明の効果

0009

本発明によれば、拡張プログラムが実際にユーザに使用されるまでは、メインメニューにアイコンを表示しつつも、配置と開始をしないため、リソースの消費を抑えることができる。さらに、ユーザの要望があった時には、速やかに拡張プログラムを使うことができる。

図面の簡単な説明

0010

実施例1の画像処理システムの構成の一例を示す図。
実施例1のMFP101のハードウェア構成の一例を示すブロック図。
実施例1の管理者PC102とユーザPC103のハードウェア構成の一例を示すブロック図。
実施例1の画像処理システムにおける処理の一例を示すシーケンス図。
実施例1のMFP101におけるソフトウェア構成の一例を示すブロック図。
実施例1のバンドルのマニフェストファイルの例。
実施例1のMFP101における処理の一例を示すフローチャート
実施例1のづけ情報の一例。
実施例1のメインメニューの表示の例。
実施例1のMFP101における処理の一例を示すフローチャート。
実施例1のMFP101における処理の一例を示すフローチャート。
実施例1のMFP101における処理の一例を示すフローチャート。

実施例

0011

以下、本発明を実施するための最良の形態について図面を用いて説明する。
(実施例1)
本実施例では、画像形成装置に拡張プログラムを追加する仕組みとしてOSGiフレームワークを用いるものとする。OSGiフレームワーク上のJava(登録商標)プログラムのことをOSGiバンドル(以下、バンドル)と呼び、本実施例では個々の拡張プログラムは独立したバンドルとして実現される。

0012

画像形成装置に追加される拡張プログラムは、アプレットサーブレットという二種類がある。アプレットは、画像形成装置上で動作するクライアントアプリケーションであり、画像形成装置の操作部上で使われる。アプレットは、メインメニュー上の拡張プログラムアイコン(以下、アプリボタン)経由で呼び出される。サーブレットは、画像形成装置上で動作するWebアプリケーションであり、画像形成装置にアクセスするウェブブラウザー上で使われる。サーブレットは、画像形成装置のウェブサーバーに登録されたサーブレットURLにウェブブラウザーでアクセスすることで呼び出される。ひとつの拡張プログラムがサーブレットとアプレットの両方を備えてもよい。

0013

画像形成装置に拡張プログラムを追加することは、拡張プログラムのインストール(以下、インストール)と呼ぶ。通常の拡張プログラムのインストールは、次のような三つのステップで行う。バンドルの実行ファイル(Javaクラスファイル)の配置(以下、実行ファイル配置)、バンドルの開始(以下、バンドル開始)、バンドルのインターフェースの登録(以下、インターフェース登録)である。インターフェース登録とは、ユーザが拡張プログラムの使用のために、メインメニューにアプリボタンを登録する、或いは、ウェブサーバーにサーブレットURLを登録することである。

0014

本実施例では、実行ファイル配置とバンドル開始をせずに、インターフェース登録のみを行うことができるようにする。以降、実行ファイル配置、バンドル開始、インターフェース登録の3つを行うことを通常インストール、インターフェース登録のみを行うことを仮インストールと呼称する。通常インストールと仮インストールのどちらを行うかは、バンドルの種類によって決まる。通常インストールを行うバンドルを通常バンドル、仮インストールを行うバンドルを仮バンドルと定義する。

0015

図1は、本実施形態の画像処理システムのシステム構成の一例を示す図である。本システムは、LAN110を介して接続されるMFP101、管理者PC102とユーザPC103から構成される。MFP101は、スキャナプリンタを有する画像形成装置である。加えて、装置上で動作する基本プログラムおよび拡張プログラムを実行させるためのアプリケーションプラットホームを持つ。

0016

管理者PC102は、MFPを管理する管理者用端末で、LAN110を介してMFP101へアクセスし、MFP101へ拡張プログラムを追加したり、MFP101から拡張プログラムを削除したりする。ユーザPC103は、MFPを使用するユーザ用の端末で、LAN110を介してMFP101上でウェブサーバーのサービスとしてのサーブレットを使用する。

0017

図2は、MFP101の構成を示すブロック図である。CPU211を含む制御部210は、MFP101全体の動作を制御する。CPU211は、ROM212やHDD214に記憶された制御プログラム読み出して読取制御や送信制御などの各種制御処理スレッドとして実行する。RAM213は、CPU211の主メモリワークエリア等の一時記憶領域として用いられる。HDD214は、画像データや基本プログラム、拡張プログラムを含む各種プログラムを記憶する。上記のスレッドや記憶する領域(一時記憶領域を含めてる)などMFP101のリソース(以下、リソース)と呼ばれる。

0018

操作部I/F215は、操作部219と制御部210とを接続する。操作部219には、タッチパネル機能を有する液晶表示部やキーボードなどが備えられている。プリンタI/F216は、プリンタ220と制御部210とを接続する。プリンタ220で印刷すべき画像データはプリンタI/F216を介して制御部210からプリンタ220に転送され、プリンタ220において記録媒体上に印刷される。スキャナI/F217は、スキャナ221と制御部210とを接続する。スキャナ221は、原稿上の画像を読み取って画像データを生成し、スキャナI/F217を介して制御部210に入力する。

0019

ネットワークI/F218は、制御部210(MFP101)をLAN110に接続する。ネットワークI/F218は、LAN110上の他の装置との間で各種情報送受信する。

0020

図3は、管理者PC102とユーザPC103の構成を示すブロック図である。CPU311を含む制御部310は、全体の動作を制御する。CPU311は、ROM312やHDD314に記憶された制御プログラムを読み出して各種制御処理を実行する。RAM313は、CPU311の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD314は、各種プログラムを記憶する。

0021

表示部I/F315は、表示部318と制御部310とを接続する。キーボードI/F316は、キーボード319と制御部310とを接続する。CPU311は、キーボード319を介したユーザからの指示を認識し、認識した指示に応じて表示部318に表示する画面遷移させる。ネットワークI/F317は、制御部310(管理者PC102)をWAN120に接続する。ネットワークI/F317は、LAN110上の他の装置との間で各種情報を送受信する。

0022

次に図4ではLAN110経由で拡張プログラムとして仮バンドルを使用する例を説明する。図4(a)は、管理者PC102を用いて仮バンドルをMFP101へ仮インストールする動作を示す。管理者PC102はLAN110を通してMFP101へアクセスする。管理者PC102は仮バンドル仮インストール指示とともに、仮バンドル550や仮バンドル560をMFP101へ送信する(S401)。

0023

図4(b)は、ユーザPC103を用いてLAN110の経由でMFP101上の仮バンドルのサーブレットを使用する動作を示す。ユーザPC103はLAN110を通してMFP101へアクセスする。ユーザPC103は仮バンドルの使用指示とともに、仮バンドル560のサーブレットのURL661をMFP101のユーザーインターフェースへ送信する(S402)。

0024

図5は、本実施例のMFP101におけるソフトウェア構成図である。HDD214に記憶されているプログラムを、CPU211がRAM213に読み出し、解析、実行することで、図7および図10図12のフローチャートの処理が実行される。拡張プログラム管理部510は、MFP101上で拡張プログラムを動作させるためのアプリケーションプラットホームである。

0025

ユーザーインターフェース管理部520は、MFP101上で発生したユーザ操作の情報を分類して、処理を行う。メインメニュー管理部521は、メインメニューの管理を行う。メインメニューにアプリボタンを表示したり、押下されたアプリボタンに対応する拡張プログラムを呼び出したりする。サーブレットサービス管理部522は、MFP101に登録されたサーブレットURLの管理を行う。ネットワークからのサーブレットの使う要請に対してサーブレットを呼び出す

0026

仮バンドル管理部530は、仮バンドルの管理を行うアプリケーションであり、仮バンドルデータ管理部531、ライフサイクル処理部532、仮バンドル状態確認部533、実行ファイルダウンロード処理部534を持つ。仮バンドルデータ管理部531は、仮バンドルで扱うデータの管理を行う。仮バンドルデータ管理部531は、仮バンドル管理部530に登録した仮バンドルの情報と状態を紐づけ情報リスト800として保持する。

0027

ライフサイクル処理部532は、仮バンドルのライフサイクルの変化(例えば、インストール、使用)を監視して、ライフサイクルの変化に応じた処理を行う。仮バンドル状態確認部533は、仮バンドルに関するMFP101の状態をチェックする。例えば、配置用実行ファイル563のダウンロード状態、MFP101の使用可能なリソースの状態、MFP101とインターネット接続状態を監視する。実行ファイルダウンロード処理部534は、配置用実行ファイルを持ってない仮バンドルのために、配置用実行ファイルをダウンロードする。

0028

通常バンドル540は、拡張プログラムとして通常インストールされた通常バンドルであり、マニフェストファイル541、アイコン画像542、配置済み実行ファイル543を持つ。マニフェストファイル541は、通常バンドル540のバンドル定義を記載したマニフェストファイルである。アイコン画像542は、アプリボタンに表示するアイコン画像である。配置済み実行ファイル543は、MFP101のHDD214の記憶領域に配置した実行ファイルである。CPU211で実行されることによって、配置済み実行ファイル543は、拡張プログラムとして動作する。

0029

MFP101には、複数の仮バンドルを仮インストールすることができる。インストールした仮バンドルは、仮バンドルデータ管理部531が管理している紐づけ情報リスト800に登録して、管理される。仮バンドル550は、アプレットだけを持っている拡張プログラムとして仮インストールされた仮バンドルであり、マニフェストファイル551、アイコン画像552を持つ。マニフェストファイル551は、仮バンドル550のバンドル定義を記載したマニフェストファイルである。アイコン画像552は、アプリボタンに表示するアイコン画像である。

0030

仮バンドル560は、サーブレットとアプレットの両方を備えている拡張プログラムとして仮インストールされた仮バンドルであり、マニフェストファイル561、アイコン画像562に加え、配置用実行ファイル563を持っている。配置用実行ファイル563は、実行ファイル配置に使用されるファイルである。

0031

図6(a)は、本実施例における通常バンドル540のマニフェストファイル541の具体的な記述例である。Application−Id(611)はバンドルを一意識別するためのIDを定義する項目である。Bundle−Name(612)はバンドルの名前を定義する項目である。Bundle−Type(613)はバンドルの種類を定義する項目で、613には「Normal」と定義されて、通常バンドルであることを示している。SpecVersion(614)はバンドルが使用するMFP101の機能を定義する項目である。ThreadUsage(615)はバンドルが使用するスレッドの数を定義する項目である。

0032

FilespaceUsage(616)はバンドル自身のファイルサイズとバンドルが外部記憶として使用するHDD214のサイズを定義する項目である。MemoryUsage(617)はバンドルが使用するRAM213の量を定義する項目である。FiledescriptorUsage(618)はバンドルが使用するファイル記述子個数を定義する項目である。SocketUsage(619)はバンドルが使用するソケット数を定義する項目である。

0033

図6(b)と(c)は、本実施例における仮バンドルのマニフェストファイル551と561の具体的な記述例である。仮バンドルであるため、Bundle−Type663、653は「Lite」と定義されている。仮バンドル図6(b)は、AppPackagePath(640)に仮バンドルに対応する配置用実行ファイルを保存しているパス(例として、ネットワーク上のパスである)を定義している。

0034

アプリバンドル560は、配置用実行ファイル563を持っているため、仮アプリバンドル560のマニフェストファイル図6(c)は、AppPackagePath(660)にパスを定義していない。また、仮アプリバンドル560は、サーブレット機能を持っているため、仮アプリバンドル560のマニフェストファイル図6(c)は、Servlet−URL(661)を定義している。

0035

図9は、MFP101の操作部219に表示されるメインメニューの表示の一例である。図9(a)は工場出荷時のメインメニューの一例である。図9(a)に表示されているボタンは基本プログラムを呼び出すためのボタンである。ボタン901を押下すると、コピー機能が呼び出される(コピー画面に表示が切り替わる)。

0036

図9(b)は拡張プログラムとして通常バンドル540、仮バンドル550、仮バンドル560をインストールした場合のメインメニューの一例である。図9(a)との違いはボタン902、ボタン903、ボタン904が追加されていることである。ボタン902は通常バンドル540を通常インストールしたことによって追加されたボタンであり、押下すると通常バンドル540が操作部219に呼び出される。

0037

ボタン903は仮バンドル550をインストールしたことによって追加されたボタンである。ボタン904は仮バンドル560をインストールしたことによって追加されたボタンである。ボタン903またはボタン904を押下すると仮バンドルに対応した配置用実行ファイルが実行ファイルダウンロード処理部534によってダウンロードされ、実行ファイル配置、バンドル開始を行ったのちに呼び出される。

0038

図9(b)で示したように、メインメニューにおいて、基本プログラムと拡張プログラム(通常バンドルと仮バンドル)のボタンは区別なしに表示される。各アプリボタンにはボタン名称とアイコン画像を表示する。アプリボタン902に表示されているのは、631で定義された仮バンドルの名称とアイコン画像552で定義されたアイコン画像である。

0039

図7は、MFP101に拡張プログラムをインストールする処理を説明するフローチャートである。また図7は、図4のS401を処理するためのMFP101におけるフローチャートでもある。MFP101のHDD214に記憶されているプログラムを、CPU211がRAM213に読み出し、解析、実行することで、フローチャートの各ステップが実行される。

0040

まず、拡張プログラム管理部510は、拡張プログラムのインストール指示を受け取る(ステップS701)と、インストール指示で受け取ったバンドルをHDD214に読み込む(ステップS702)。拡張プログラム管理部510は、受け取ったバンドルの中に格納されているマニフェストファイルを使って、バンドルがMFP101で使用可能か否かを確認する(ステップ703)。

0041

ステップS703で、拡張プログラム管理部510はマニフェストファイルの中で記載されている項目をチェックする。例えば、SpecVersionに記載した機能をMFP101が持っていない場合、バンドルは使用できないと判断する。また、MemoryUsageに記載したメモリ使用量がMFP101で確保できない場合、バンドルは使用できないと判断する。このように、ステップS703で、バンドルが要求する機能やリソースをMFP101が提供できない場合、エラー画面を表示して処理を終了する(ステップS750)。マニフェストファイルが正常と判断すれば、次のステップS704へ処理を進める。

0042

ステップS704で、拡張プログラム管理部510はマニフェストファイルに記載されたBundle−Typeをチェックして、仮バンドルか、通常バンドルかを判断する。通常バンドルと判断する場合、ステップS711へ処理を進める。ステップS711からのフローチャートは、通常バンドルの通常インストール過程である。拡張プログラム管理部510は、ステップS711で、通常バンドルの実行ファイルをHDD214に配置する。配置された実行ファイルの一例が、配置済み実行ファイル543である。

0043

次にステップS712で、拡張プログラム管理部510はステップS703で確認した通常バンドルが要求するリソースを確保して、通常バンドルを開始する。ステップS713で、拡張プログラム管理部510は通常バンドルのインターフェースをユーザーインターフェース管理部520に登録する。具体的には、MFP101のメインメニュー(図9)にアプリアイコン画像542を登録する。最後に、ステップS741で、仮バンドル状態チェックイベントを発生させる。

0044

ステップS704で、仮バンドルと判断すれば、拡張プログラム管理部510はステップS721へ処理を進める。ステップS721で、仮バンドル状態確認部533は、ステップS702でHDD214に読み込んだ仮バンドルの中で配置用実行ファイルが存在するかを確認する。配置用実行ファイルが存在すれば、ステップS722へ進み、仮バンドルデータ管理部531は、HDD214に配置用実行ファイルを保存する。

0045

上記のステップS721で配置用実行ファイル563が存在しない場合、仮バンドルデータ管理部531は、ステップS731へ進み、マニフェストファイルのAppPackagePath(640)の値を確認する。この値が正しくない場合(存在しない、フォーマットエラーなど)、エラー画面を表示して処理を終了する(ステップS750)。この値が正しい場合、仮バンドルデータ管理部531は、ステップS732で、ダウンロードコマンドイベントを発生して、ステップS740へ処理を進める。

0046

仮バンドルデータ管理部531は、ステップS740で、仮バンドルの情報(Application−Id、Servlet−URL、AppPackagePath)を紐づけ情報リスト800に登録する。

0047

次に、ステップS741で、仮バンドル状態チェックイベントを発生して(発生したイベントは図11のフローチャートで処理される)処理を終了する。

0048

図8に、登録した仮バンドルに関する紐づけ情報の一例を示す。紐づけ情報は、MFP101のHDD214に保持されている。紐づけ情報リスト800は、仮バンドルデータ管理部531で管理されている。紐づけ情報リスト800では、ステップS740で記入された情報とステップS1109で更新された状態を記録している。

0049

具体的には、Application−Id(631/651)を仮バンドルID801に記入する。Servlet−URL(661)をサーブレット803に記入する。AppPackagePath(640/660)を実行ファイルパス804に記入する。アプリボタンIDをアプリボタンID802に記入する。配置用実行ファイル状態805にステップS1106或いはステップS1107で取得した状態を記入する。本体状態806にステップS1105で取得した状態を記入する。

0050

配置用実行ファイル状態805に記入する値は、例えば「ダウンロード待ち」「ダウンロード中」「ダウンロード完了」「ダウンロードNG」である。本体状態806に記入できる値は、例えば「リソース不足」「リソース足」である。

0051

図10は、ユーザがインターフェース経由で仮バンドルを使用する場合の仮バンドル管理部530の処理を説明するフローチャートである。アプレットの場合は、メインメニューから仮バンドルのアプリボタンを押下した場合であり、サーブレットの場合は、ブラウザーでサーブレットURLへアクセスした場合である。MFP101のHDD214に記憶されているプログラムを、CPU211がRAM213に読み出し、解析、実行することで、フローチャートの各ステップが実行される。

0052

ライフサイクル処理部532はメインメニュー管理部521とサーブレットサービス管理部522に仮バンドル使用イベント通知受信を登録して(ステップS1001)、仮バンドルの使用イベント旨の通知を待ち受ける(ステップS1002)。通知には、仮バンドルに関する情報(アプリボタンID、或いは、サーブレットURL)が含まれている。

0053

ステップS1002で通知受け取ると、仮バンドルデータ管理部531は、紐づけ情報リスト800から仮バンドル(当仮バンドル)を特定して(ステップS1003)、当仮バンドルの情報を取得する(ステップS1004)。

0054

仮バンドルデータ管理部531はステップS1005で、当仮バンドルの配置用実行ファイル状態805を確認する。ダウンロード完了状態なら、ステップS1008へ処理を進める。ダウンロードNG状態なら、エラー画面を表示して処理を終了する(ステップS1007)。その他の状態なら、ステップS1006でダウンロードコマンドイベント発生して、ステップS1004へ戻る。

0055

ステップS1008で、拡張プログラム管理部510は、配置用実行ファイルをHDD214に配置する。ステップS1009で、拡張プログラム管理部510は、配置されたバンドルを開始する。そして、ステップS1010で、拡張プログラム管理部510は、仮バンドル状態チェックイベントを発生させる。

0056

次に、仮バンドルデータ管理部531は、ステップS1011で、配置用実行ファイル563を削除して、ステップS1012で、当仮バンドルに関する情報を紐づけ情報リスト800から削除して処理を終了する。

0057

図11は、仮バンドル状態チェックイベントを受けて、仮バンドルの情報のチェックを行う処理を説明するフローチャートである。MFP101のHDD214に記憶されているプログラムを、CPU211がRAM213に読み出し、解析、実行することで、フローチャートの各ステップが実行される。

0058

まず、ライフサイクル処理部532は、仮バンドル状態チェックイベントの通知を受信するよう、拡張プログラム管理部510と仮バンドルデータ管理部531に登録する(ステップS1101)。次にライフサイクル処理部532は、仮バンドル状態チェックイベントの発生通知を待ちうける(ステップS1102)。仮バンドル状態チェックイベントの発生通知を受信すると、ステップS1103へ処理を進める。

0059

通知に、仮バンドルIDが含まれている場合、仮バンドルIDに対して仮バンドルの情報だけをチェックして更新する。含まれてなければ、紐づけ情報リスト800に登録されている全部の仮バンドルの情報をチェックして(以下、全チェック)更新する。

0060

ステップS1103で仮バンドルデータ管理部531は、紐づけ情報リスト800に登録されている仮バンドルの存在を確認して、特定する。紐づけ情報リスト800に登録されている仮バンドルが存在しない、或いは、仮バンドルが特定できない場合、ステップS1102に戻って、仮バンドル状態チェックイベントの発生を待ちうける。紐づけ情報リスト800に登録されている仮バンドルが存在する場合、紐づけ情報リスト800から仮バンドル特定して(下記、当仮バンドル)、次のステップS1104へ処理を進める。

0061

ステップS1104で仮バンドルデータ管理部531は、当仮バンドルの情報をマニフェストファイルおよび紐づけ情報リスト800から取得して、ステップS1105からステップS1109までで、当仮バンドルの状態を確認する。

0062

仮バンドル状態確認部533はステップS1105で、MFP101のリソースの状態をチェックする。例えば、MemoryUsageに記載したメモリ使用量がMFP101で確保できない場合、バンドルはリソース不足と判断する。マニフェストファイルに定義された他のリソースも同様にチェックする。リソース不足の場合、ステップS1120へ処理を進める。リソースが足りれば、仮バンドル状態確認部533は、当仮バンドルの配置用実行ファイル状態805を確認する。ダウンロード完了状態なら、次のステップS1108へ処理を進める。それ以外の状態なら、次のステップS1107へ処理を進める。

0063

ステップS1107で仮バンドル状態確認部533は当仮バンドルの配置用実行ファイルパス804に記載されたパスに繋がることを試して、繋がる場合、次のステップS1108へ処理を進める。繋がらない場合、ステップS1120へ処理を進める。

0064

ステップS1108で、ライフサイクル処理部532は、仮バンドルのインターフェース(アイコン画像552/562、或いはサーブレット803)をユーザーインターフェース管理部520に登録する。具体的には、アイコン画像552/562をメインメニュー管理部521に登録して、登録したアプリボタンIDを当仮バンドルのアプリボタンID802に保存する。また、当仮バンドルはサーブレットをサポートしたら、当仮バンドルをサーブレットサービス管理部522に登録して、次のステップS1109へ処理を進める。メインメニュー管理部521は、登録されたアイコン画像552/562をアプリボタンとしてメインメニュー(図9(b))に示す。

0065

ステップS1120で、ライフサイクル処理部532は、仮バンドルのインターフェースをユーザーインターフェース管理部520から削除して、次のステップS1109へ処理を進める。ステップS1109で仮バンドルデータ管理部531は、ステップS1105とステップS1107から取得した情報を当仮バンドルの状態(配置用実行ファイル状態805と本体状態806)に更新して、当仮バンドルの情報チェックを完了する。

0066

ステップS1110で次の仮バンドルが存在する場合、仮バンドルデータ管理部531は、次の仮バンドルを指定して、ステップS1104へ処理を戻る。上記以外の場合、処理を終了する。

0067

図12は、ステップS734やステップS1006で発生したダウンロードコマンドイベントを受けた後の動作を説明するフローチャートである。MFP101のHDD214に記憶されているプログラムを、CPU211がRAM213に読み出し、解析、実行することで、フローチャートの各ステップが実行される。

0068

まず、実行ファイルダウンロード処理部534は、ステップS1201で、ダウンロードコマンドイベントの通知を受信するよう、ライフサイクル処理部532に登録する、次に、ダウンロードコマンドイベントの発生を待ちうける(ステップS1202)。ダウンロードコマンドイベントの通知を受信するとステップS1203へ処理を進める。通知には、仮バンドルIDが含まれている。

0069

ステップS1203で、仮バンドルデータ管理部531は、紐づけ情報リスト800から仮バンドルIDが紐づけの実行ファイルパス804を取得して、実行ファイルダウンロード処理部534は、ダウンロード開始する(ステップS1204)。

0070

ステップS1205で、実行ファイルダウンロード処理部534は、ダウンロードの状況(成功するか)を監視して、ダウンロード成功しないの場合、まず、ステップS1208で、実行ファイルダウンロード処理部534は、ダウンロードを中止する。次に、ステップS1207で仮バンドルデータ管理部531は配置用実行ファイル状態805にダウンロードNG(824)を記入する。ダウンロード成功すれば、まず、ステップS1206で、実行ファイルダウンロード処理部534は、配置用実行ファイルとしてダウンロードした実行ファイルを保存する。次に、ステップS1207で仮バンドルデータ管理部531は配置用実行ファイル状態805にダウンロード完了(823)を記入する。

0071

最後に、ステップS1209で、実行ファイルダウンロード処理部534は、仮バンドル状態チェックイベントを発生して処理を終了する。

0072

以上、第1の実施例において説明した手順により、拡張プログラムが実際にユーザに使用されるまでは、ユーザーインターフェース登録しつつも、配置と開始をしないため、リソースの消費を抑えることができる。さらに、ユーザの要望があった時には、速やかに拡張プログラムを使うことができる。

0073

LAN 110
MFP 101
管理者PC 102
ユーザPC 103

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

  • 神山義尚の「 コード自動記述2ソフトウェアを記録した記録媒体」が 公開されました。( 2019/09/19)

    【課題】多分岐処理のプログラムを短時間で記述できる様になり、人件費の削減効果が大きく期待できる技術を提供する。【解決手段】複数個の変数や複数個の配列に代入された数値の組合せによる分岐処理を行うプログラ... 詳細

  • キヤノン株式会社の「 画像読取装置および記録装置」が 公開されました。( 2019/09/12)

    【課題】 原稿カバーの開き角度を容易に変更することができる画像読取装置を提供する。【解決手段】 原稿を載置可能な原稿台が設けられた読取本体部と、前記原稿台に対して原稿を押圧するための原稿カバーと、... 詳細

  • キヤノン株式会社の「 情報処理装置及びその制御方法、並びにプログラム」が 公開されました。( 2019/09/12)

    【課題】情報処理装置内でイベントログを効率的にバッファリングしながら、サーバ装置に適合したデータ形式でイベントログを送信する技術を提供する。【解決手段】構造化モジュール403,405,421は、MFP... 詳細

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ