IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 京セラドキュメントソリューションズ株式会社の特許一覧

<>
  • 特許-電子機器およびプログラム 図1
  • 特許-電子機器およびプログラム 図2
  • 特許-電子機器およびプログラム 図3
  • 特許-電子機器およびプログラム 図4
  • 特許-電子機器およびプログラム 図5
  • 特許-電子機器およびプログラム 図6
  • 特許-電子機器およびプログラム 図7
  • 特許-電子機器およびプログラム 図8
  • 特許-電子機器およびプログラム 図9
  • 特許-電子機器およびプログラム 図10
  • 特許-電子機器およびプログラム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-14
(45)【発行日】2024-05-22
(54)【発明の名称】電子機器およびプログラム
(51)【国際特許分類】
   G06F 3/12 20060101AFI20240515BHJP
   H04N 1/00 20060101ALI20240515BHJP
   G06F 9/445 20180101ALI20240515BHJP
【FI】
G06F3/12 331
H04N1/00 C
G06F9/445
G06F3/12 320
【請求項の数】 8
(21)【出願番号】P 2020038596
(22)【出願日】2020-03-06
(65)【公開番号】P2021140534
(43)【公開日】2021-09-16
【審査請求日】2023-02-24
(73)【特許権者】
【識別番号】000006150
【氏名又は名称】京セラドキュメントソリューションズ株式会社
(74)【代理人】
【識別番号】100140796
【弁理士】
【氏名又は名称】原口 貴志
(72)【発明者】
【氏名】吉本 洋
【審査官】征矢 崇
(56)【参考文献】
【文献】特開2013-164866(JP,A)
【文献】特開平04-105017(JP,A)
【文献】国際公開第2015/182303(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F3/12
B41J29/00-29/70
H04N1/00
G06F9/445
(57)【特許請求の範囲】
【請求項1】
電子機器の標準の機能以外の機能である拡張機能を実現するアプリケーションである拡張アプリと、
前記拡張アプリが利用する機能であるアプリ利用機能を前記拡張アプリ利用する場合に使用する、前記電子機器のケイパビリティーの情報を生成する機器ケイパビリティーサービスと
を備え、
前記報は、前記拡張アプリが利用する前記アプリ利用機能が有効であるか否かを示し、
前記拡張アプリは、前記拡張アプリ自身が利用する前記アプリ利用機能を特定のファイルに書き込み、
前記機器ケイパビリティーサービスは、前記ファイルに書き込まれている前記アプリ利用機能が有効であるか否かを示す前記情報を生成し、
前記機器ケイパビリティーサービスは、前記ファイルに書き込まれている前記アプリ利用機能のうち、有効であるか否かが前記情報に示されていないアプリ利用機能に対応するAPIが存在しない場合に、このアプリ利用機能が有効ではないことを示す前記情報を生成し、
前記拡張アプリは、有効であることが前記情報に示されている前記アプリ利用機能を利用し、有効ではないことが前記情報に示されている前記アプリ利用機能の利用を中止することを特徴とする電子機器。
【請求項2】
前記機器ケイパビリティーサービスは、前記ファイルに書き込まれている前記アプリ利用機能のうち、有効であるか否かが前記情報に示されていないアプリ利用機能に対応する前記APIが存在する場合に、このAPIを利用可能ではないとき、このアプリ利用機能が有効ではないことを示す前記情報を生成することを特徴とする請求項1に記載の電子機器。
【請求項3】
前記機器ケイパビリティーサービスは、前記ファイルに書き込まれている前記アプリ利用機能のうち、有効であるか否かが前記情報に示されていないアプリ利用機能に対応する前記APIが存在する場合に、このAPIを利用可能であるとき、このアプリ利用機能が有効であることを示す前記情報を生成することを特徴とする請求項1または請求項2に記載の電子機器。
【請求項4】
電子機器の標準の機能以外の機能である拡張機能を実現するアプリケーションである拡張アプリと、
前記拡張アプリが利用する機能であるアプリ利用機能を前記拡張アプリが利用する場合に使用する、前記電子機器のケイパビリティーの情報を生成する機器ケイパビリティーサービスと
を備え、
前記情報は、前記拡張アプリが利用する前記アプリ利用機能が有効であるか否かを示し、
前記拡張アプリは、前記拡張アプリ自身が利用する前記アプリ利用機能が有効であるか否かを前記機器ケイパビリティーサービスに問い合わせ、
前記機器ケイパビリティーサービスは、前記拡張アプリからの問い合わせに応じて、前記拡張アプリが利用する前記アプリ利用機能が有効であるか否かを示す前記情報を生成して、この情報を前記拡張アプリに返答し、
前記機器ケイパビリティーサービスは、前記拡張アプリから問い合わせられた前記アプリ利用機能に対応するAPIが存在しない場合に、このアプリ利用機能が有効ではないことを示す前記情報を生成することを特徴とする電子機器。
【請求項5】
前記機器ケイパビリティーサービスは、前記拡張アプリから問い合わせられた前記アプリ利用機能に対応する前記APIが存在する場合に、このAPIを利用可能ではないとき、このアプリ利用機能が有効ではないことを示す前記情報を生成することを特徴とする請求項4に記載の電子機器。
【請求項6】
前記機器ケイパビリティーサービスは、前記拡張アプリから問い合わせられた前記アプリ利用機能に対応する前記APIが存在する場合に、このAPIを利用可能であるとき、このアプリ利用機能が有効であることを示す前記情報を生成することを特徴とする請求項4または請求項5に記載の電子機器。
【請求項7】
電子機器の標準の機能以外の機能である拡張機能を実現するアプリケーションである拡張アプリが利用する機能であるアプリ利用機能を前記拡張アプリが利用する場合に使用する、前記電子機器のケイパビリティーの情報を生成する機器ケイパビリティーサービスを前記電子機器に実現させ、
前記情報は、前記拡張アプリが利用する前記アプリ利用機能が有効であるか否かを示し、
前記拡張アプリは、前記拡張アプリ自身が利用する前記アプリ利用機能を特定のファイルに書き込み、
前記機器ケイパビリティーサービスは、前記ファイルに書き込まれている前記アプリ利用機能が有効であるか否かを示す前記情報を生成し、
前記機器ケイパビリティーサービスは、前記ファイルに書き込まれている前記アプリ利用機能のうち、有効であるか否かが前記情報に示されていないアプリ利用機能に対応するAPIが存在しない場合に、このアプリ利用機能が有効ではないことを示す前記情報を生成し、
前記拡張アプリは、有効であることが前記情報に示されている前記アプリ利用機能を利用し、有効ではないことが前記情報に示されている前記アプリ利用機能の利用を中止することを特徴とするプログラム。
【請求項8】
電子機器の標準の機能以外の機能である拡張機能を実現するアプリケーションである拡張アプリが利用する機能であるアプリ利用機能を前記拡張アプリが利用する場合に使用する、前記電子機器のケイパビリティーの情報を生成する機器ケイパビリティーサービスを前記電子機器に実現させ、
前記情報は、前記拡張アプリが利用する前記アプリ利用機能が有効であるか否かを示し、
前記拡張アプリは、前記拡張アプリ自身が利用する前記アプリ利用機能が有効であるか否かを前記機器ケイパビリティーサービスに問い合わせ、
前記機器ケイパビリティーサービスは、前記拡張アプリからの問い合わせに応じて、前記拡張アプリが利用する前記アプリ利用機能が有効であるか否かを示す前記情報を生成して、この情報を前記拡張アプリに返答し、
前記機器ケイパビリティーサービスは、前記拡張アプリから問い合わせられた前記アプリ利用機能に対応するAPIが存在しない場合に、このアプリ利用機能が有効ではないことを示す前記情報を生成することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、標準の機能以外の機能を実現するアプリケーションである拡張アプリを動作させることができる電子機器およびプログラムに関する。
【背景技術】
【0002】
従来の電子機器として、画像形成装置の標準の機能を実現するアプリケーションである標準アプリと、画像形成装置の標準の機能以外の機能を実現するアプリケーションである拡張アプリと、標準アプリを利用せずに画像形成装置の標準の機能の拡張の機能を拡張アプリに提供する拡張機能サービスとを備える画像形成装置が知られている(特許文献1参照。)。
【先行技術文献】
【特許文献】
【0003】
【文献】国際公開第2015/182303号
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1においては、互いに構成が異なる複数の画像形成装置の間で同一の拡張アプリを動作させる仕組みについて開示されていない。
【0005】
そこで、本発明は、互いに構成が異なる複数の電子機器の間で同一の拡張アプリを動作させることができる電子機器およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の電子機器は、電子機器の標準の機能以外の機能を実現するアプリケーションである拡張アプリと、前記拡張アプリが機能を利用する場合に使用する、前記電子機器のケイパビリティーの情報を生成する機器ケイパビリティーサービスとを備え、前記ケイパビリティーの情報は、前記拡張アプリが利用する機能が有効であるか否かを示すことを特徴とする。
【0007】
この構成により、本発明の電子機器は、拡張アプリが機能を利用する場合に使用する、電子機器のケイパビリティーの情報として、拡張アプリが利用する機能が有効であるか否かを示す情報を生成するので、電子機器自身を含む、互いに構成が異なる複数の電子機器の間で同一の拡張アプリを動作させることができる。
【0008】
本発明の電子機器において、前記拡張アプリは、前記拡張アプリ自身が利用する機能を特定のファイルに書き込み、前記機器ケイパビリティーサービスは、前記ファイルに書き込まれている機能が有効であるか否かを示す情報を生成しても良い。
【0009】
この構成により、本発明の電子機器は、拡張アプリが利用する機能を拡張アプリ自身が特定のファイルに書き込み、このファイルに書き込まれている機能が有効であるか否かを示す情報を機器ケイパビリティーサービスが生成するので、拡張アプリが利用する機能のみについて、機能が有効であるか否かを示す情報を生成することができる。また、本発明の電子機器は、拡張アプリが利用する機能を拡張アプリ自身が特定のファイルに書き込み、このファイルに書き込まれている機能が有効であるか否かを示す情報を機器ケイパビリティーサービスが生成するので、拡張アプリが利用する機能が有効であるか否かを示す情報を複数の機能に関して纏めて生成することができる。
【0010】
本発明の電子機器において、前記拡張アプリは、前記拡張アプリ自身が利用する機能が有効であるか否かを前記機器ケイパビリティーサービスに問い合わせ、前記機器ケイパビリティーサービスは、前記拡張アプリからの問い合わせに応じて、前記拡張アプリが利用する機能が有効であるか否かを示す情報を生成しても良い。
【0011】
この構成により、本発明の電子機器は、拡張アプリが利用する機能が有効であるか否かを拡張アプリ自身が機器ケイパビリティーサービスに問い合わせ、拡張アプリが利用する機能が有効であるか否かを示す情報を、拡張アプリからの問い合わせに応じて、機器ケイパビリティーサービスが生成するので、拡張アプリが利用する機能のみについて、機能が有効であるか否かを示す情報を生成することができる。
【0012】
本発明の電子機器において、前記機器ケイパビリティーサービスは、前記標準の機能以外の機能を前記拡張アプリに提供する拡張サービスであっても良い。
【0013】
この構成により、本発明の電子機器は、機器ケイパビリティーサービスを拡張サービスとして実現するので、電子機器自身を含む、互いに構成が異なる複数の電子機器の間で同一の機器ケイパビリティーサービスを利用することができる。
【0014】
本発明のプログラムは、電子機器の標準の機能以外の機能を実現するアプリケーションである拡張アプリが機能を利用する場合に使用する、前記電子機器のケイパビリティーの情報を生成する機器ケイパビリティーサービスを前記電子機器に実現させ、前記ケイパビリティーの情報は、前記拡張アプリが利用する機能が有効であるか否かを示すことを特徴とする。
【0015】
この構成により、本発明のプログラムを実行する電子機器は、拡張アプリが機能を利用する場合に使用する、電子機器のケイパビリティーの情報として、拡張アプリが利用する機能が有効であるか否かを示す情報を生成するので、電子機器自身を含む、互いに構成が異なる複数の電子機器の間で同一の拡張アプリを動作させることができる。
【発明の効果】
【0016】
本発明の電子機器およびプログラムは、互いに構成が異なる複数の電子機器の間で同一の拡張アプリを動作させることができる。
【図面の簡単な説明】
【0017】
図1】本発明の第1の実施の形態に係る画像形成装置のハードウェアのブロック図である。
図2図1に示す画像形成装置の制御構成のブロック図である。
図3】拡張アプリが利用する機能をConfigurationファイルに書き込む場合の図2に示す拡張アプリの動作のフローチャートである。
図4】拡張アプリが利用する機能を拡張アプリ自身が書き込んだ状態での図1に示すConfigurationファイルにおける情報の一例を示す図である。
図5図1に示すConfigurationファイルにケイパビリティーの情報の値を付与する場合の機器ケイパビリティーサービスの動作の一部のフローチャートである。
図6図5に示すフローチャートの続きのフローチャートである。
図7図5および図6に示す動作の終了後のConfigurationファイルにおけるケイパビリティーの情報の一例を示す図である。
図8】拡張アプリがConfigurationファイルを参照して画像形成装置の機能を利用する場合の図1に示す画像形成装置の動作のフローチャートである。
図9】拡張アプリが機器ケイパビリティーサービスに問い合わせて画像形成装置の機能を利用する場合の、本発明の第2の実施の形態に係る画像形成装置の動作のフローチャートである。
図10】対象機能が有効であるか否かの問い合わせを拡張アプリから受けた場合の、本発明の第2の実施の形態に係る画像形成装置の機器ケイパビリティーサービスの動作のフローチャートである。
図11】対象機能が有効であるか否かの問い合わせを拡張アプリから受けた場合の、図10に示す動作とは異なる、機器ケイパビリティーサービスの動作のフローチャートである。
【発明を実施するための形態】
【0018】
以下、本発明の実施の形態について、図面を用いて説明する。
【0019】
(第1の実施の形態)
まず、本実施の形態に係る電子機器としての画像形成装置の構成について説明する。
【0020】
図1は、本実施の形態に係る画像形成装置10のハードウェアのブロック図である。
【0021】
図1に示すように、画像形成装置10は、種々の操作が入力される例えばボタンなどの操作デバイスである操作部11と、種々の情報を表示する例えばLCD(Liquid Crystal Display)などの表示デバイスである表示部12と、画像データに対して例えば、拡大、縮小、濃度調整、階調調整、画像改善などの各種の画像処理を実行する例えばGPU(Graphics Processing Unit)などの画像処理デバイスである画像処理部13と、用紙などの記録媒体に画像を印刷する印刷デバイスであるプリンター14と、原稿から画像を読み取る読取デバイスであるスキャナー15と、LAN(Local Area Network)、インターネットなどのネットワーク経由で、または、ネットワークを介さずに有線または無線によって直接に、外部の装置と通信を行う通信デバイスであるネットワーク通信部16と、図示していない外部のファクシミリ装置と公衆電話回線などの通信回線経由でファックス通信を行うファックスデバイスであるファックス通信部17と、各種の情報を記憶する例えば半導体メモリー、HDD(Hard Disk Drive)などの不揮発性の記憶デバイスである記憶部18と、画像形成装置10全体を制御する制御部19とを備えているMFP(Multifunction Peripheral)である。
【0022】
記憶部18は、画像形成装置10の各ハードウェアを制御するための例えばLinux(登録商標)などの汎用OS(Operating System)用のプログラム(以下「汎用OS用プログラム」という。)18aを記憶している。
【0023】
記憶部18は、画像形成装置10のファームウェア18bを記憶している。
【0024】
記憶部18は、画像形成装置10の標準の機能以外の機能を実現するためのプログラムである拡張用プログラム18cを記憶している。
【0025】
記憶部18は、画像形成装置10の標準の機能以外の機能を実現するアプリケーションである拡張アプリ用のプログラム(以下「拡張アプリ用プログラム」という。)18dを記憶している。記憶部18は、拡張アプリ毎に拡張アプリ用プログラムを記憶可能である。
【0026】
記憶部18は、画像形成装置10の標準の機能を実現するアプリケーションである標準アプリを利用せずに汎用OSを利用するサービスを拡張アプリに提供する拡張サービス用のプログラム(以下「拡張サービス用プログラム」という。)18eを記憶している。記憶部18は、拡張サービス毎に拡張サービス用プログラムを記憶可能である。
【0027】
記憶部18は、画像形成装置10のハードウェアの情報を示す機器情報18fを記憶している。例えば、機器情報18fは、スキャナー15によって原稿の両面から画像を読み取るために必要な、原稿を搬送する装置であるドキュメントフィーダーが装着されているか否かを示している。
【0028】
記憶部18は、拡張アプリに必要な情報を保持するConfigurationファイル18gを記憶可能である。Configurationファイル18gは、例えば、XML形式のファイルである。記憶部18は、Configurationファイル18g以外にも、Configurationファイル18gと同様な構成のConfigurationファイルを記憶可能である。記憶部18は、拡張アプリ毎にConfigurationファイルを記憶可能である。例えば、Configurationファイルは、拡張アプリが画像形成装置10の外部のサーバーと連携するアプリケーションである場合に、このサーバーのIPアドレスを含んでいる。拡張アプリは、拡張アプリ自身のConfigurationファイルを管理する。
【0029】
制御部19は、例えば、CPU(Central Processing Unit)19aと、プログラムおよび各種のデータを記憶しているROM(Read Only Memory)19bと、CPU19aの作業領域として用いられるメモリーとしてのRAM(Random Access Memory)19cとを備えている。CPU19aは、記憶部18またはROM19bに記憶されているプログラムを実行する。
【0030】
制御部19は、記憶部18またはROM19bに記憶されているプログラムを実行することによって、図2に示す制御構成を実現する。
【0031】
図2は、画像形成装置10の制御構成のブロック図である。
【0032】
図2に示すように、制御部19は、汎用OS用プログラム18a(図1参照。)を実行することによって、汎用OS110を実現する。
【0033】
制御部19は、汎用OS110上で動作して、画像処理に関するサービスを提供する画像処理サービス121と、汎用OS110上で動作して、ネットワーク経由の通信に関するサービスを提供するネットワーク通信サービス122と、汎用OS110上で動作して、画像形成装置10の各ハードウェアを操作するサービスを提供するデバイス操作サービス123とを、ファームウェア18b(図1参照。)を実行することによって実現する。画像処理サービス121、ネットワーク通信サービス122およびデバイス操作サービス123は、それぞれ、汎用OS110を介して画像形成装置10の各ハードウェアを制御する。
【0034】
画像処理サービス121は、例えば、スキャナー15で解像度や色などを設定して原稿から読み取った画像データを記憶部18に記憶し、記憶部18に記憶されている画像データを画像処理部13に画像処理させるサービスを提供しても良い。画像処理サービス121は、プリンター14で印刷する画像データをファイルに基づいて描画するサービスを提供しても良い。画像処理サービス121は、拡張アプリから取得した画像データ、スキャナー15によって原稿から読み取った画像データ、または、記憶部18に記憶されている画像データに対して、拡大、縮小、回転、色変換、ノイズ除去、フォーマット変換、文字認識、透かし認識などの画像処理を実行するサービスを提供しても良い。
【0035】
ネットワーク通信サービス122は、TCP/IPやUDPなどの各種のプロトコルを用いてネットワーク通信部16経由でファイルの送受信、ストリーミング、認証データの送受信を実行するサービスを提供しても良い。例えば、ネットワーク通信サービス122は、スキャナー15によって原稿から読み取った画像データや、記憶部18に記憶されているファイルを送受信することも可能である。なお、ネットワーク通信サービス122は、ファックス通信部17によってファクシミリ送受信した画像データの送受信、ICカードや生体認証によってユーザーを認証するユーザー認証部が画像形成装置10に存在する場合にはユーザー認証部によるユーザー認証の結果の送受信、画像形成装置10にカメラが存在する場合にはカメラによって生成された映像データの送受信などを行うことも可能である。また、ネットワーク通信サービス122は、画像形成装置10の各部の状態、各部の機能の呼び出しの結果などについても、送受信可能である。
【0036】
デバイス操作サービス123は、表示部12への描画、プリンター14の駆動、ファックス通信部17の制御、ユーザー認証、画像形成装置10の各ハードウェアのステータスの取得などの処理を実行するサービスを提供しても良い。デバイス操作サービス123は、例えば、スキャナー15によって原稿から読み取った画像データを記憶部18に記憶するサービスを提供しても良いし、表示部12に表示されるブラウザー上に画像を描画するサービスを提供しても良いし、画像データをプリンター14に送信して画像形成させるサービスを提供しても良いし、記憶部18に記憶されている画像データをファックス通信部17によってファクシミリ送信させるサービスを提供しても良い。デバイス操作サービス123は、例えばフィニッシャーなどのオプション機器が画像形成装置10に存在する場合には例えば製本やステープルなどの処理をオプション機器に実行させるサービスを提供しても良いし、ICカードや生体認証によってユーザーを認証するユーザー認証部が画像形成装置10に存在する場合にはユーザー認証部にユーザー認証を実行させるサービスを提供しても良いし、画像形成装置10にカメラが存在する場合にはカメラに映像データの生成を実行させたり、カメラによって生成された映像データに基づいた視線検出などの各機能を呼び出したりするサービスを提供しても良い。デバイス操作サービス123は、例えばプリンター14の搬送部のモーターの一つを駆動させるといった、画像形成装置10の各ハードウェアの詳細な制御を実行するサービスを提供しても良い。デバイス操作サービス123は、画像形成装置10の各部の状態を取得するサービスを提供しても良い。
【0037】
制御部19は、画像処理サービス121、ネットワーク通信サービス122およびデバイス操作サービス123を呼び出すためのインターフェイスを提供するプラットフォームサービスIF部130を、ファームウェア18bを実行することによって実現する。
【0038】
制御部19は、ファームウェア18bを実行することによって標準アプリを実現する。標準アプリは、プラットフォームサービスIF部130上で動作して、画像形成装置10の各ハードウェアを利用する。例えば、制御部19は、操作部11に入力された指示に応じてスキャナー15によって原稿から画像を読み取って、読み取った画像をプリンター14によって印刷するコピーを実現する標準アプリであるコピーアプリ141と、ネットワーク通信部16によって受信した、例えばPDL(Page Description Language)で記述されたデータなどのデータに基づいた画像をプリンター14によって印刷する標準アプリであるプリンターアプリ142と、操作部11に入力された指示に応じてスキャナー15によって原稿から画像を読み取って、読み取った画像をファックス通信部17によって送信する標準アプリであるFAXアプリ143と、操作部11に入力された指示に応じてスキャナー15によって原稿から画像を読み取って、読み取った画像をネットワーク通信部16によって送信する標準アプリである送信アプリ144とを実現する。プリンターアプリ142は、操作部11に入力された指示に応じて記憶部18に記憶されているファイルに基づいた画像をプリンター14によって印刷しても良い。FAXアプリ143は、ネットワーク通信部16によって受信したファイルに基づいた画像をファックス通信部17によって送信したり、ファックス通信部17によって受信した画像をプリンター14によって印刷したり、ファックス通信部17によって受信した画像を記憶部18に記憶したりしても良い。
【0039】
制御部19は、プラットフォームサービスIF部130を介さずに汎用OS110を利用するサービスを提供する汎用OSサービス基盤150を、拡張用プログラム18c(図1参照。)を実行することによって実現する。汎用OSサービス基盤150は、例えば、汎用OS110上にデバイスドライバーやスクリプトなどの制御プログラムをインストールするなど、汎用OS110に機能を追加するサービスを提供しても良い。
【0040】
制御部19は、拡張アプリ側からプラットフォームサービスIF部130を利用するためのインターフェイスを提供する拡張アプリサービスIF部160を、拡張用プログラム18cを実行することによって実現する。拡張アプリサービスIF部160は、画像形成装置10の機能を利用するためのAPI(Application Program Interface)に関する情報であるAPI情報160aを保持している。例えば、API情報160aに示される情報には、スキャナー15によって原稿から画像を読み取る場合にカラー画像を読み取るためのAPI(以下「カラースキャンAPI」という。)が存在するか否かという情報と、スキャナー15によって原稿から画像を読み取る場合に原稿の両面から画像を読み取るためのAPI(以下「両面スキャンAPI」という。)が存在するか否かという情報とが含まれる。
【0041】
制御部19は、標準アプリを利用して画像形成装置10の標準の機能を拡張アプリに提供するサービスである標準機能サービス170を、拡張用プログラム18cを実行することによって実現する。標準機能サービス170は、拡張アプリサービスIF部160を介して標準アプリを利用する。例えば、拡張アプリは、標準機能サービス170を利用することによって、コピーアプリ141によるコピーの開始の画面を表示部12に表示することができる。また、拡張アプリは、標準機能サービス170を利用することによって、拡張アプリ自身が取得したり、操作部11を介して指定されたりした各種ジョブデータやファイルなどをプリンターアプリ142に印刷させることができる。また、拡張アプリは、標準機能サービス170を利用することによって、FAXアプリ143によって受信されたファクシミリの画像データのうち、操作部11を介して指定された画像データを取得したり、操作部11を介して指定されたファイルなどをFAXアプリ143に送信させたりすることができる。
【0042】
制御部19は、画像形成装置10の標準の機能以外の機能を提供するサービスである拡張サービスを、拡張サービス用プログラム(図1参照。)を実行することによって実現する。例えば、制御部19は、標準アプリを利用せずにプラットフォームサービスIF部130を利用したり、汎用OSサービス基盤150を利用して汎用OS110を利用したりするサービスを拡張アプリに提供する拡張サービスである拡張機能サービス181と、プラットフォームサービスIF部130を利用せずに汎用OSサービス基盤150を利用して汎用OS110を利用するサービスを拡張アプリに提供する拡張サービスであるバックエンドサービス182とを実現する。拡張機能サービス181は、拡張アプリサービスIF部160を介してプラットフォームサービスIF部130を利用する。制御部19は、拡張機能サービス181以外にも、少なくとも1つの拡張機能サービスを実現可能である。制御部19は、バックエンドサービス182以外にも、少なくとも1つのバックエンドサービスを実現可能である。
【0043】
拡張機能サービスは、画像形成装置10の標準の機能の拡張の機能を拡張アプリに提供するサービスである。例えば、制御部19は、画像形成装置10の能力(ケイパビリティー)の情報を生成する機器ケイパビリティーサービスを拡張機能サービスの1つとして実現する。
【0044】
バックエンドサービスは、バックエンドで稼働するサービスである。バックエンドサービスは、画像形成装置10の標準の機能以外の機能のうち、画像形成装置10の標準の機能の拡張の機能以外の機能を提供するサービスである。バックエンドサービスとしては、例えば、画像形成装置10を監視する機能を提供するサービス、複数の画像形成装置から構成されるシステム全体を監視する機能を提供するサービス、特定のサーバーを監視する機能を提供するサービス、画像形成装置10の印刷枚数を示すカウンターなどの情報を画像形成装置10から収集して、収集した情報を人間が理解することができる形式の情報に変換する機能を提供するサービス、画像形成装置10から出力される情報の形式を旧型のインターフェイスの形式から新型のインターフェイスの形式に変換する機能を提供するサービスが存在する。
【0045】
制御部19は、拡張サービスの起動、開始および停止など、拡張サービスの管理を実行する拡張サービス管理部190を、拡張用プログラム18cを実行することによって実現する。拡張サービス管理部190は、拡張サービスおよび汎用OSサービス基盤150の状態を監視する。
【0046】
制御部19は、拡張アプリの起動、開始および停止など、拡張アプリの管理を実行する拡張アプリ管理部200を、拡張用プログラム18cを実行することによって実現する。
【0047】
制御部19は、拡張アプリ用プログラム18d(図1参照。)を実行することによって、拡張アプリ210を実現する。なお、制御部19は、拡張アプリ210以外にも、少なくとも1つの拡張アプリを実現することが可能である。拡張アプリは、ユーザーが直接的に利用するアプリケーションであり、ユーザーインターフェイスを備えている。利用者は、拡張アプリのユーザーインターフェイスを操作することによって、この拡張アプリが提供する機能を利用することができる。例えば、拡張アプリとしては、OCR(Optical Character Recognition)、監視カメラアプリ、ウォーターマーク作成、請求書作成、社員名簿管理、伝票管理、契約書管理、名刺管理、PDF作成、帳簿管理、グループ管理などの実用アプリでも良いし、汎用OS110上のデバイスドライバーやファームウェアなどの追加変更を行うインストーラーアプリや、その他の管理アプリなどでも良い。拡張アプリは、標準機能サービス170を呼び出して標準アプリを利用して汎用OS110を利用したり、拡張サービスを呼び出して標準アプリを利用せずに汎用OS110を利用したり、汎用OSサービス基盤150を直接呼び出して汎用OS110を利用したりすることが可能である。
【0048】
次に、画像形成装置10の動作について説明する。
【0049】
まず、拡張アプリが利用する機能をConfigurationファイルに書き込む場合の拡張アプリの動作について説明する。
【0050】
図3は、拡張アプリが利用する機能をConfigurationファイルに書き込む場合の拡張アプリの動作のフローチャートである。
【0051】
拡張アプリは、画像形成装置10にインストールされて、起動されると、図3に示す動作を実行する。
【0052】
図3に示すように、拡張アプリは、拡張アプリ自身が利用する機能のうち、記憶部18上の、拡張アプリ自身のConfigurationファイルに書き込まれていない機能が存在するか否かを判断する(S401)。ここで、拡張アプリは、標準機能サービス170、拡張アプリサービスIF部160、プラットフォームサービスIF部130およびデバイス操作サービス123を介して記憶部18にアクセスする。
【0053】
拡張アプリは、拡張アプリ自身が利用する機能のうち、記憶部18上の、拡張アプリ自身のConfigurationファイルに書き込まれていない機能が存在するとS401において判断すると、拡張アプリ自身が利用する機能のうち、このConfigurationファイルに書き込まれていない機能を、このConfigurationファイルに書き込む(S402)。
【0054】
拡張アプリは、拡張アプリ自身が利用する機能のうち、記憶部18上の、拡張アプリ自身のConfigurationファイルに書き込まれていない機能が存在しないとS401において判断するか、S402の処理が終了すると、図3に示す動作を終了する。
【0055】
図4は、拡張アプリが利用する機能を拡張アプリ自身が書き込んだ状態でのConfigurationファイルにおける情報の一例を示す図である。
【0056】
図4に示すように、Job要素は、ケイパビリティーの情報を示す要素である。Job要素の1階層下の要素は、ジョブの種類を示す要素である。ジョブの種類を示す要素としては、例えば、スキャナー15によって原稿から読み取った画像をネットワーク通信部16を介して送信するジョブである「ScanToSend」を示すScanToSend要素が存在する。ジョブの種類を示す要素の1階層下の要素は、このジョブで利用可能なAPIを示す要素である。例えば、「ScanToSend」というジョブで利用可能なAPIを示す要素としては、カラースキャンAPIを示すColor要素、両面スキャンAPIを示すDuplex要素などが存在する。
【0057】
図4に示すように、拡張アプリが利用する機能を拡張アプリ自身が書き込んだ状態では、Configurationファイルにおけるケイパビリティーの情報において、ジョブで利用可能なAPIを示す要素については、タグのみが含まれており、要素の内容が含まれていない。すなわち、図4に示すConfigurationファイルにおけるケイパビリティーの情報においては、ケイパビリティーの項目のみが含まれており、ケイパビリティーの値が含まれていない。
【0058】
次に、Configurationファイルにケイパビリティーの情報の値を付与する場合の機器ケイパビリティーサービスの動作について説明する。
【0059】
図5は、Configurationファイルにケイパビリティーの情報の値を付与する場合の機器ケイパビリティーサービスの動作の一部のフローチャートである。図6は、図5に示すフローチャートの続きのフローチャートである。
【0060】
機器ケイパビリティーサービスは、拡張アプリが起動した旨の通知を受け取るなどして拡張アプリの起動を検知すると、図5および図6に示す動作を実行する。
【0061】
図5および図6に示すように、機器ケイパビリティーサービスは、起動を検知した拡張アプリ(以下、図5および図6に示す動作の説明において「対象拡張アプリ」という。)のConfigurationファイルが記憶部18上に存在するか否かを判断する(S421)。ここで、機器ケイパビリティーサービスは、拡張アプリサービスIF部160、プラットフォームサービスIF部130およびデバイス操作サービス123を介して記憶部18にアクセスする。
【0062】
機器ケイパビリティーサービスは、対象拡張アプリのConfigurationファイルが存在するとS421において判断すると、対象拡張アプリのConfigurationファイルにケイパビリティーの項目が含まれているか否かを判断する(S422)。
【0063】
機器ケイパビリティーサービスは、対象拡張アプリのConfigurationファイルにケイパビリティーの項目が含まれているとS422において判断すると、対象拡張アプリのConfigurationファイルに含まれているケイパビリティーの項目のうち、ケイパビリティーの値が付与されていない項目(以下「値無し項目」という。)が存在するか否かを判断する(S423)。
【0064】
機器ケイパビリティーサービスは、値無し項目が存在するとS423において判断すると、値無し項目のうち、未だS426の処理の対象にしていない1つのみを対象にする(S424)。
【0065】
次いで、機器ケイパビリティーサービスは、現在の対象の値無し項目のタブの名称に基づいて、現在の対象の値無し項目に対応するAPIを特定する(S425)。例えば、機器ケイパビリティーサービスは、現在の対象の値無し項目がScanToSend要素におけるDuplex要素である場合、ScanToSend要素におけるDuplex要素のタブの名称である「Duplex」に基づいて、現在の対象の値無し項目に対応するAPIを、両面スキャンAPIであると判断する。
【0066】
機器ケイパビリティーサービスは、S425の処理の後、S425において特定したAPIが存在するか否かを拡張アプリサービスIF部160上のAPI情報160aに基づいて判断する(S426)。
【0067】
機器ケイパビリティーサービスは、S425において特定したAPIが存在しないとS426において判断すると、現在の対象の値無し項目の値として、機能が無効であることを示す値を決定する(S427)。
【0068】
機器ケイパビリティーサービスは、S425において特定したAPIが存在するとS426において判断するか、S427の処理が終了すると、未だS426の処理の対象にしていない値無し項目が存在するか否かを判断する(S428)。
【0069】
機器ケイパビリティーサービスは、未だS426の処理の対象にしていない値無し項目が存在するとS428において判断すると、S424の処理を実行する。
【0070】
機器ケイパビリティーサービスは、未だS426の処理の対象にしていない値無し項目が存在しないとS428において判断すると、値が決定されていない値無し項目が存在するか否かを判断する(S429)。
【0071】
機器ケイパビリティーサービスは、値が決定されていない値無し項目が存在するとS429において判断すると、記憶部18から機器情報18fを取得する(S430)。ここで、機器ケイパビリティーサービスは、拡張アプリサービスIF部160、プラットフォームサービスIF部130およびデバイス操作サービス123を介して記憶部18にアクセスする。
【0072】
次いで、機器ケイパビリティーサービスは、値が決定されていない値無し項目の1つのみを対象にする(S431)。
【0073】
次いで、機器ケイパビリティーサービスは、現在の対象の値無し項目に対してS425において特定したAPIを利用可能であるか否かを、S430において取得した機器情報18fに基づいて判断する(S432)。例えば、機器ケイパビリティーサービスは、S425において特定したAPIが両面スキャンAPIである場合に、画像形成装置10にドキュメントフィーダーが装着されていないことが機器情報18fに示されているとき、S425において特定したAPIを利用可能ではないと判断する。一方、機器ケイパビリティーサービスは、S425において特定したAPIが両面スキャンAPIである場合に、画像形成装置10にドキュメントフィーダーが装着されていることが機器情報18fに示されているとき、S425において特定したAPIを利用可能であると判断する。
【0074】
機器ケイパビリティーサービスは、S425において特定したAPIを利用可能ではないとS432において判断すると、現在の対象の値無し項目の値として、機能が無効であることを示す値を決定する(S433)。
【0075】
機器ケイパビリティーサービスは、S425において特定したAPIを利用可能であるとS432において判断すると、現在の対象の値無し項目の値として、機能が有効であることを示す値を決定する(S434)。
【0076】
機器ケイパビリティーサービスは、S433またはS434の処理の後、値が決定されていない値無し項目が存在するか否かを判断する(S435)。
【0077】
機器ケイパビリティーサービスは、値が決定されていない値無し項目が存在するとS435において判断すると、S431の処理を実行する。
【0078】
機器ケイパビリティーサービスは、値が決定されていない値無し項目が存在しないとS435において判断すると、S427、S433またはS434において決定した値を対象拡張アプリのConfigurationファイルに反映する(S436)。
【0079】
機器ケイパビリティーサービスは、対象拡張アプリのConfigurationファイルが存在しないとS421において判断するか、対象拡張アプリのConfigurationファイルにケイパビリティーの項目が含まれていないとS422において判断するか、値無し項目が存在しないとS423において判断するか、値が決定されていない値無し項目が存在しないとS429において判断するか、S436の処理が終了すると、図5および図6に示す動作を終了する。
【0080】
図7は、図5および図6に示す動作の終了後のConfigurationファイルにおけるケイパビリティーの情報の一例を示す図である。
【0081】
図7に示すケイパビリティーの情報においては、Color要素の内容として、機能が有効であることを示す値である「Yes」が示されており、Duplex要素の内容として、機能が無効であることを示す値である「No」が示されている。
【0082】
次に、拡張アプリがConfigurationファイルを参照して画像形成装置10の機能を利用する場合の画像形成装置10の動作について説明する。
【0083】
図8は、拡張アプリがConfigurationファイルを参照して画像形成装置10の機能を利用する場合の画像形成装置10の動作のフローチャートである。
【0084】
拡張アプリは、画像形成装置10の機能(以下、図8に示す動作の説明において「対象機能」という。)を利用する場合、図8に示す動作を実行する。
【0085】
図8に示すように、拡張アプリは、対象機能が有効であるか否かを拡張アプリ自身のConfigurationファイルに基づいて判断する(S441)。ここで、拡張アプリは、標準機能サービス170、拡張アプリサービスIF部160、プラットフォームサービスIF部130およびデバイス操作サービス123を介して記憶部18にアクセスする。
【0086】
拡張アプリは、対象機能が有効であるとS441において判断すると、対象機能を利用して(S442)、図8に示す動作を終了する。
【0087】
拡張アプリは、対象機能が無効であるとS441において判断すると、対象機能の利用を中止して(S443)、図8に示す動作を終了する。
【0088】
以上に説明したように、画像形成装置10は、拡張アプリが機能を利用する場合に使用する、画像形成装置10のケイパビリティーの情報として、拡張アプリが利用する機能が有効であるか否かを示す情報を生成する(S436)ので、画像形成装置10自身を含む、互いに構成が異なる複数の画像形成装置の間で同一の拡張アプリを動作させることができる。
【0089】
画像形成装置10は、拡張アプリが利用する機能を拡張アプリ自身がConfigurationファイルに書き込み、このConfigurationファイルに書き込まれている機能が有効であるか否かを示す情報を機器ケイパビリティーサービスが生成する(S436)ので、拡張アプリが利用する機能のみについて、機能が有効であるか否かを示す情報を生成することができる。
【0090】
画像形成装置10は、拡張アプリが利用する機能を拡張アプリ自身がConfigurationファイルに書き込み、このConfigurationファイルに書き込まれている機能が有効であるか否かを示す情報を機器ケイパビリティーサービスが生成する(S436)ので、拡張アプリが利用する機能が有効であるか否かを示す情報を複数の機能に関して纏めて生成することができる。
【0091】
画像形成装置10は、機器ケイパビリティーサービスを拡張サービスとして実現するので、画像形成装置10自身を含む、互いに構成が異なる複数の画像形成装置の間で同一の機器ケイパビリティーサービスを利用することができる。
【0092】
(第2の実施の形態)
本実施の形態に係る画像形成装置の構成は、第1の実施の形態に係る画像形成装置10(図1参照。)の構成と同様である。したがって、本実施の形態に係る画像形成装置の構成のうち、画像形成装置10の構成と同様の構成については、画像形成装置10の構成と同一の符号を付して、詳細な説明を省略する。
【0093】
以下、本実施の形態に係る画像形成装置の動作について説明する。
【0094】
図9は、拡張アプリが機器ケイパビリティーサービスに問い合わせて画像形成装置10の機能を利用する場合の、本実施の形態に係る画像形成装置の動作のフローチャートである。
【0095】
拡張アプリは、本実施の形態に係る画像形成装置の機能(以下、図9および図10に示す動作の説明において「対象機能」という。)を利用する場合、図9に示す動作を実行する。
【0096】
図9に示すように、拡張アプリは、対象機能が有効であるか否かを機器ケイパビリティーサービスに問い合わせる(S461)。
【0097】
次いで、拡張アプリは、機器ケイパビリティーサービスから返答があったと判断するまで、機器ケイパビリティーサービスから返答があったか否かを判断する(S462)。
【0098】
図10は、対象機能が有効であるか否かの問い合わせを拡張アプリから受けた場合の機器ケイパビリティーサービスの動作のフローチャートである。
【0099】
機器ケイパビリティーサービスは、S461における問い合わせを受けると、図10に示す動作を実行する。
【0100】
図10に示すように、機器ケイパビリティーサービスは、対象機能を利用するためのAPIが存在するか否かを拡張アプリサービスIF部160上のAPI情報160aに基づいて判断する(S481)。
【0101】
機器ケイパビリティーサービスは、対象機能を利用するためのAPIが存在するとS481において判断すると、記憶部18から機器情報18fを取得する(S482)。ここで、機器ケイパビリティーサービスは、拡張アプリサービスIF部160、プラットフォームサービスIF部130およびデバイス操作サービス123を介して記憶部18にアクセスする。
【0102】
機器ケイパビリティーサービスは、S482の処理の後、対象機能を利用するためのAPIを利用可能であるか否かを、S482において取得した機器情報18fに基づいて、S432(図6参照。)の処理と同様に判断する(S483)。
【0103】
機器ケイパビリティーサービスは、対象機能を利用するためのAPIが存在しないとS481において判断するか、対象機能を利用するためのAPIを利用可能ではないとS483において判断すると、対象機能が無効であることを拡張アプリに返答して(S484)、図10に示す動作を終了する。
【0104】
機器ケイパビリティーサービスは、対象機能を利用するためのAPIを利用可能であるとS483において判断すると、対象機能が有効であることを拡張アプリに返答して(S485)、図10に示す動作を終了する。
【0105】
図9に示すように、拡張アプリは、機器ケイパビリティーサービスから返答があったとS462において判断すると、対象機能が有効であるか否かを機器ケイパビリティーサービスからの返答に基づいて判断する(S463)。
【0106】
拡張アプリは、対象機能が有効であるとS463において判断すると、対象機能を利用して(S464)、図9に示す動作を終了する。
【0107】
拡張アプリは、対象機能が無効であるとS463において判断すると、対象機能の利用を中止して(S465)、図9に示す動作を終了する。
【0108】
なお、以上において、機器ケイパビリティーサービスは、対象機能が有効であるか否かの問い合わせを拡張アプリから受ける度に、対象機能が有効であるかをAPI情報160aおよび機器情報18fに基づいて判断する。しかしながら、第1の実施の形態と同様にConfigurationファイルにケイパビリティーの情報を保持することによって、機器ケイパビリティーサービスは、対象機能が有効であるか否かの問い合わせを拡張アプリから受けた場合に、この拡張アプリのConfigurationファイルに基づいて対象機能が有効であるか否かを判断しても良い。機器ケイパビリティーサービスは、第1の実施の形態と同様に拡張アプリの起動時にAPI情報160aおよび機器情報18fに基づいて判断したケイパビリティーの情報をConfigurationファイルに書き込んでも良いし、図11に示すように、機能が有効であるか否かの問い合わせを各機能について最初に拡張アプリから受けた場合にAPI情報160aおよび機器情報18fに基づいて判断したケイパビリティーの情報をConfigurationファイルに書き込んでも良い。
【0109】
図11は、対象機能が有効であるか否かの問い合わせを拡張アプリから受けた場合の、図10に示す動作とは異なる、機器ケイパビリティーサービスの動作のフローチャートである。
【0110】
機器ケイパビリティーサービスは、S461における問い合わせを受けると、図11に示す動作を実行する。
【0111】
図11に示すように、機器ケイパビリティーサービスは、S461における問い合わせ元の拡張アプリ(以下、図11に示す動作の説明において「対象拡張アプリ」という。)のConfigurationファイルに、対象機能が有効であるか否かが示されているか否かを判断する(S501)。
【0112】
機器ケイパビリティーサービスは、対象機能が有効であるか否かが対象拡張アプリのConfigurationファイルに示されているとS501において判断すると、対象拡張アプリのConfigurationファイルに示されている通りに、対象機能が有効であるか否かを拡張アプリに返答して(S502)、図11に示す動作を終了する。
【0113】
機器ケイパビリティーサービスは、対象機能が有効であるか否かが対象拡張アプリのConfigurationファイルに示されていないとS501において判断すると、S481~S485の処理と同様のS503~S507の処理を実行する。
【0114】
機器ケイパビリティーサービスは、S506またはS507の処理の後、S506またはS507の処理における返答の内容を対象拡張アプリのConfigurationファイルに反映して(S508)、図11に示す動作を終了する。
【0115】
以上に説明したように、本実施の形態に係る画像形成装置は、拡張アプリが利用する機能が有効であるか否かを拡張アプリ自身が機器ケイパビリティーサービスに問い合わせ(S461)、拡張アプリが利用する機能が有効であるか否かを示す情報を、拡張アプリからの問い合わせに応じて、機器ケイパビリティーサービスが生成する(S484、S485、S506およびS507)ので、拡張アプリが利用する機能のみについて、機能が有効であるか否かを示す情報を生成することができる。
【0116】
上述の各実施の形態におけるいずれかの複数のプログラムは、1つのプログラムとして構成されても良い。例えば、拡張用プログラム18cと、拡張サービス用プログラムとは、1つのプログラムとして構成されても良い。
【0117】
本発明の電子機器は、上述の各実施の形態において画像形成装置であるが、例えばPC(Personal Computer)など、画像形成装置以外の電子機器でも良い。
【符号の説明】
【0118】
10 画像形成装置(電子機器)
18e 拡張サービス用プログラム(プログラム)
18g Configurationファイル(特定のファイル)
181 拡張機能サービス(拡張サービス)
182 バックエンドサービス(拡張サービス)
210 拡張アプリ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11