(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-21
(45)【発行日】2024-05-29
(54)【発明の名称】電子機器およびプログラム
(51)【国際特許分類】
H04N 1/00 20060101AFI20240522BHJP
【FI】
H04N1/00 C
(21)【出願番号】P 2020036496
(22)【出願日】2020-03-04
【審査請求日】2023-02-24
(73)【特許権者】
【識別番号】000006150
【氏名又は名称】京セラドキュメントソリューションズ株式会社
(74)【代理人】
【識別番号】100140796
【氏名又は名称】原口 貴志
(72)【発明者】
【氏名】呰上 建三
【審査官】松永 隆志
(56)【参考文献】
【文献】国際公開第2015/182303(WO,A1)
【文献】特開2011-154472(JP,A)
【文献】特開2014-130570(JP,A)
【文献】特開2016-009927(JP,A)
【文献】特開2016-148923(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 1/00
(57)【特許請求の範囲】
【請求項1】
電子機器の標準の機能以外の機能を実現するアプリケーションである拡張アプリに、前記標準の機能を実現するアプリケーションである標準アプリを利用せずに、前記標準の機能以外の機能を提供する第1の拡張サービスおよび第2の拡張サービスと、
前記第1の拡張サービスおよび前記第2の拡張サービスを管理する拡張サービス管理部と
を備え、
前記標準アプリは、前記電子機器のハードウェアを制御するハードウェア制御サービスを利用して前記ハードウェアを利用し、
前記第1の拡張サービスおよび前記第2の拡張サービスは、前記拡張アプリの外部に存在するとともに、前記標準アプリによって利用されず、
前記拡張サービス管理部は、前記第1の拡張サービスの状態が変化した場合に、前記第1の拡張サービスの状態の変化を前記第2の拡張サービスに通知し、
前記第2の拡張サービスは、前記第1の拡張サービスの状態の変化が前記拡張サービス管理部から通知された場合に、特定の動作を実行することを特徴とする電子機器。
【請求項2】
OSを備え、
前記拡張サービス管理部は、前記第1の拡張サービスおよび前記第2の拡張サービスのそれぞれが利用可能であるRAM上のサイズを示す利用可能メモリーサイズを登録し、
前記OSは、前記第1の拡張サービスを実行する場合に、前記拡張サービス管理部によって登録された、前記第1の拡張サービスの前記利用可能メモリーサイズを、前記第1の拡張サービスが超さないように管理するとともに、前記第2の拡張サービスを実行する場合に、前記拡張サービス管理部によって登録された、前記第2の拡張サービスの前記利用可能メモリーサイズを、前記第2の拡張サービスが超さないように管理することを特徴とする請求項1に記載の電子機器。
【請求項3】
OSを備え、
前記拡張サービス管理部は、前記電子機器の各部に対する前記第1の拡張サービスおよび前記第2の拡張サービスのそれぞれのアクセスの権限を示すアクセス権限を登録し、
前記OSは、前記第1の拡張サービスを実行する場合に、前記拡張サービス管理部によって登録された、前記第1の拡張サービスの前記アクセス権限に応じた内容で、前記第1の拡張サービスのアクセスを制限するとともに、前記第2の拡張サービスを実行する場合に、前記拡張サービス管理部によって登録された、前記第2の拡張サービスの前記アクセス権限に応じた内容で、前記第2の拡張サービスのアクセスを制限することを特徴とする請求項1に記載の電子機器。
【請求項4】
電子機器の標準の機能以外の機能を実現するアプリケーションである拡張アプリに、前記標準の機能を実現するアプリケーションである標準アプリを利用せずに、前記標準の機能以外の機能を提供する第1の拡張サービスおよび第2の拡張サービスと、
前記第1の拡張サービスおよび前記第2の拡張サービスを管理する拡張サービス管理部と
を前記電子機器に実現させ、
前記標準アプリは、前記電子機器のハードウェアを制御するハードウェア制御サービスを利用して前記ハードウェアを利用し、
前記第1の拡張サービスおよび前記第2の拡張サービスは、前記拡張アプリの外部に存在するとともに、前記標準アプリによって利用されず、
前記拡張サービス管理部は、前記第1の拡張サービスの状態が変化した場合に、前記第1の拡張サービスの状態の変化を前記第2の拡張サービスに通知し、
前記第2の拡張サービスは、前記第1の拡張サービスの状態の変化が前記拡張サービス管理部から通知された場合に、特定の動作を実行することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、標準の機能と、標準の機能以外の機能とを実行することができる電子機器およびプログラムに関する。
【背景技術】
【0002】
従来の電子機器として、画像形成装置の標準の機能を実現するアプリケーションである標準アプリと、画像形成装置の標準の機能以外の機能を実現するアプリケーションである拡張アプリと、標準アプリを利用せずに画像形成装置の標準の機能の拡張の機能を拡張アプリに提供する拡張機能サービスとを備える画像形成装置が知られている(特許文献1参照。)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の画像形成装置においては、画像形成装置の標準の機能の拡張の機能を提供する拡張機能サービスを1つしか備えていないので、複数の拡張機能サービスを連携して動作させることができないという問題がある。
【0005】
そこで、本発明は、電子機器の標準の機能以外の機能を拡張アプリに提供する、複数の拡張サービスを連携して動作させることができる電子機器およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の電子機器は、電子機器の標準の機能以外の機能を実現するアプリケーションである拡張アプリに、前記標準の機能を実現するアプリケーションである標準アプリを利用せずに、前記標準の機能以外の機能を提供する第1の拡張サービスおよび第2の拡張サービスと、前記第1の拡張サービスおよび前記第2の拡張サービスを管理する拡張サービス管理部とを備え、前記拡張サービス管理部は、前記第1の拡張サービスの状態が変化した場合に、前記第1の拡張サービスの状態の変化を前記第2の拡張サービスに通知し、前記第2の拡張サービスは、前記第1の拡張サービスの状態の変化が前記拡張サービス管理部から通知された場合に、特定の動作を実行することを特徴とする。
【0007】
この構成により、本発明の電子機器は、第1の拡張サービスの状態の変化を拡張サービス管理部が第2の拡張サービスに通知し、第1の拡張サービスの状態の変化が拡張サービス管理部から通知された第2の拡張サービスが特定の動作を実行するので、複数の拡張サービスが疎結合であっても、拡張サービス管理部の仕様を拡張サービス毎に変更することなく、これらの拡張サービスを連携して動作させることができる。
【0008】
本発明のプログラムは、電子機器の標準の機能以外の機能を実現するアプリケーションである拡張アプリに、前記標準の機能を実現するアプリケーションである標準アプリを利用せずに、前記標準の機能以外の機能を提供する第1の拡張サービスおよび第2の拡張サービスと、前記第1の拡張サービスおよび前記第2の拡張サービスを管理する拡張サービス管理部とを前記電子機器に実現させ、前記拡張サービス管理部は、前記第1の拡張サービスの状態が変化した場合に、前記第1の拡張サービスの状態の変化を前記第2の拡張サービスに通知し、前記第2の拡張サービスは、前記第1の拡張サービスの状態の変化が前記拡張サービス管理部から通知された場合に、特定の動作を実行することを特徴とする。
【0009】
この構成により、本発明のプログラムを実行する電子機器は、第1の拡張サービスの状態の変化を拡張サービス管理部が第2の拡張サービスに通知し、第1の拡張サービスの状態の変化が拡張サービス管理部から通知された第2の拡張サービスが特定の動作を実行するので、複数の拡張サービスが疎結合であっても、拡張サービス管理部の仕様を拡張サービス毎に変更することなく、これらの拡張サービスを連携して動作させることができる。
【発明の効果】
【0010】
本発明の電子機器およびプログラムは、電子機器の標準の機能以外の機能を拡張アプリに提供する、複数の拡張サービスを連携して動作させることができる。
【図面の簡単な説明】
【0011】
【
図1】本発明の一実施の形態に係る画像形成装置のハードウェアのブロック図である。
【
図2】
図1に示す画像形成装置の制御構成のブロック図である。
【
図3】
図2に示す拡張サービス管理部の構成を示す図である。
【
図4】
図3に示すサービス管理情報テーブルに設定される情報の一例を示す図である。
【
図5】
図3に示すサービス制御部の構成を示す図である。
【
図6】拡張サービスの状態を他の拡張サービスに通知する場合の
図3に示すサービス制御部の動作のフローチャートである。
【
図7】
図2に示す拡張サービスとしてのデータ収集サービスの動作のフローチャートである。
【
図8】
図2に示す拡張サービスとしてのメール送信サービスの動作のフローチャートである。
【
図9】データ収集サービスと、メール送信サービスとを連携して動作させる場合の
図2に示す画像形成装置の動作のシーケンス図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施の形態について、図面を用いて説明する。
【0013】
まず、本発明の一実施の形態に係る電子機器としての画像形成装置の構成について説明する。
【0014】
図1は、本実施の形態に係る画像形成装置10のハードウェアのブロック図である。
【0015】
図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)である。
【0016】
記憶部18は、画像形成装置10の各ハードウェアを制御するための例えばLinux(登録商標)などの汎用OS(Operating System)用のプログラム(以下「汎用OS用プログラム」という。)18aを記憶している。
【0017】
記憶部18は、画像形成装置10のファームウェア18bを記憶している。
【0018】
記憶部18は、画像形成装置10の標準の機能以外の機能を実現するためのプログラムである拡張用プログラム18cを記憶している。
【0019】
記憶部18は、画像形成装置10の標準の機能以外の機能を実現するアプリケーションである拡張アプリ用のプログラム(以下「拡張アプリ用プログラム」という。)18dを記憶している。記憶部18は、拡張アプリ毎に拡張アプリ用プログラムを記憶可能である。
【0020】
記憶部18は、画像形成装置10の標準の機能を実現するアプリケーションである標準アプリを利用せずに汎用OSを利用するサービスを拡張アプリに提供する拡張サービス用のプログラム(以下「拡張サービス用プログラム」という。)18eを記憶している。記憶部18は、拡張サービス毎に拡張サービス用プログラムを記憶可能である。
【0021】
制御部19は、例えば、CPU(Central Processing Unit)19aと、プログラムおよび各種のデータを記憶しているROM(Read Only Memory)19bと、CPU19aの作業領域として用いられるメモリーとしてのRAM(Random Access Memory)19cとを備えている。CPU19aは、記憶部18またはROM19bに記憶されているプログラムを実行する。
【0022】
制御部19は、記憶部18またはROM19bに記憶されているプログラムを実行することによって、
図2に示す制御構成を実現する。
【0023】
図2は、画像形成装置10の制御構成のブロック図である。
【0024】
図2に示すように、制御部19は、汎用OS用プログラム18a(
図1参照。)を実行することによって、汎用OS110を実現する。
【0025】
制御部19は、汎用OS110上で動作して、画像処理に関するサービスを提供する画像処理サービス121と、汎用OS110上で動作して、ネットワーク経由の通信に関するサービスを提供するネットワーク通信サービス122と、汎用OS110上で動作して、画像形成装置10の各ハードウェアを操作するサービスを提供するデバイス操作サービス123とを、ファームウェア18b(
図1参照。)を実行することによって実現する。画像処理サービス121、ネットワーク通信サービス122およびデバイス操作サービス123は、それぞれ、汎用OS110を介して画像形成装置10の各ハードウェアを制御する。
【0026】
画像処理サービス121は、例えば、スキャナー15で解像度や色などを設定して原稿から読み取った画像データを記憶部18に記憶し、記憶部18に記憶されている画像データを画像処理部13に画像処理させるサービスを提供しても良い。画像処理サービス121は、プリンター14で印刷する画像データをファイルに基づいて描画するサービスを提供しても良い。画像処理サービス121は、拡張アプリから取得した画像データ、スキャナー15によって原稿から読み取った画像データ、または、記憶部18に記憶されている画像データに対して、拡大、縮小、回転、色変換、ノイズ除去、フォーマット変換、文字認識、透かし認識などの画像処理を実行するサービスを提供しても良い。
【0027】
ネットワーク通信サービス122は、TCP/IPやUDPなどの各種のプロトコルを用いてネットワーク通信部16経由でファイルの送受信、ストリーミング、認証データの送受信を実行するサービスを提供しても良い。例えば、ネットワーク通信サービス122は、スキャナー15によって原稿から読み取った画像データや、記憶部18に記憶されているファイルを送受信することも可能である。なお、ネットワーク通信サービス122は、ファックス通信部17によってファクシミリ送受信した画像データの送受信、ICカードや生体認証によってユーザーを認証するユーザー認証部が画像形成装置10に存在する場合にはユーザー認証部によるユーザー認証の結果の送受信、画像形成装置10にカメラが存在する場合にはカメラによって生成された映像データの送受信などを行うことも可能である。また、ネットワーク通信サービス122は、画像形成装置10の各部の状態、各部の機能の呼び出しの結果などについても、送受信可能である。
【0028】
デバイス操作サービス123は、表示部12への描画、プリンター14の駆動、ファックス通信部17の制御、ユーザー認証、画像形成装置10の各ハードウェアのステータスの取得などの処理を実行するサービスを提供しても良い。デバイス操作サービス123は、例えば、スキャナー15によって原稿から読み取った画像データを記憶部18に記憶するサービスを提供しても良いし、表示部12に表示されるブラウザー上に画像を描画するサービスを提供しても良いし、画像データをプリンター14に送信して画像形成させるサービスを提供しても良いし、記憶部18に記憶されている画像データをファックス通信部17によってファクシミリ送信させるサービスを提供しても良い。デバイス操作サービス123は、例えばフィニッシャーなどのオプション機器が画像形成装置10に存在する場合には例えば製本やステープルなどの処理をオプション機器に実行させるサービスを提供しても良いし、ICカードや生体認証によってユーザーを認証するユーザー認証部が画像形成装置10に存在する場合にはユーザー認証部にユーザー認証を実行させるサービスを提供しても良いし、画像形成装置10にカメラが存在する場合にはカメラに映像データの生成を実行させたり、カメラによって生成された映像データに基づいた視線検出などの各機能を呼び出したりするサービスを提供しても良い。デバイス操作サービス123は、例えばプリンター14の搬送部のモーターの一つを駆動させるといった、画像形成装置10の各ハードウェアの詳細な制御を実行するサービスを提供しても良い。デバイス操作サービス123は、画像形成装置10の各部の状態を取得するサービスを提供しても良い。
【0029】
制御部19は、画像処理サービス121、ネットワーク通信サービス122およびデバイス操作サービス123を呼び出すためのインターフェイスを提供するプラットフォームサービスIF部130を、ファームウェア18bを実行することによって実現する。
【0030】
制御部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に記憶したりしても良い。
【0031】
制御部19は、プラットフォームサービスIF部130を介さずに汎用OS110を利用するサービスを提供する汎用OSサービス基盤150を、拡張用プログラム18c(
図1参照。)を実行することによって実現する。汎用OSサービス基盤150は、例えば、汎用OS110上にデバイスドライバーやスクリプトなどの制御プログラムをインストールするなど、汎用OS110に機能を追加するサービスを提供しても良い。
【0032】
制御部19は、拡張アプリ側からプラットフォームサービスIF部130を利用するためのインターフェイスを提供する拡張アプリサービスIF部160を、拡張用プログラム18cを実行することによって実現する。
【0033】
制御部19は、標準アプリを利用して画像形成装置10の標準の機能を拡張アプリに提供するサービスである標準機能サービス170を、拡張用プログラム18cを実行することによって実現する。標準機能サービス170は、拡張アプリサービスIF部160を介して標準アプリを利用する。例えば、拡張アプリは、標準機能サービス170を利用することによって、コピーアプリ141によるコピーの開始の画面を表示部12に表示することができる。また、拡張アプリは、標準機能サービス170を利用することによって、拡張アプリ自身が取得したり、操作部11を介して指定されたりした各種ジョブデータやファイルなどをプリンターアプリ142に印刷させることができる。また、拡張アプリは、標準機能サービス170を利用することによって、FAXアプリ143によって受信されたファクシミリの画像データのうち、操作部11を介して指定された画像データを取得したり、操作部11を介して指定されたファイルなどをFAXアプリ143に送信させたりすることができる。
【0034】
制御部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つのバックエンドサービスを実現可能である。
【0035】
拡張機能サービスは、画像形成装置10の標準の機能の拡張の機能を拡張アプリに提供するサービスである。
【0036】
バックエンドサービスは、バックエンドで稼働するサービスである。バックエンドサービスは、画像形成装置10の標準の機能以外の機能のうち、画像形成装置10の標準の機能の拡張の機能以外の機能を提供するサービスである。バックエンドサービスとしては、例えば、画像形成装置10を監視する機能を提供するサービス、複数の画像形成装置から構成されるシステム全体を監視する機能を提供するサービス、特定のサーバーを監視する機能を提供するサービス、画像形成装置10の印刷枚数を示すカウンターなどの情報を画像形成装置10から収集して、収集した情報を人間が理解することができる形式の情報に変換する機能を提供するサービス、画像形成装置10から出力される情報の形式を旧型のインターフェイスの形式から新型のインターフェイスの形式に変換する機能を提供するサービスが存在する。
【0037】
制御部19は、拡張サービスの起動、開始および停止など、拡張サービスの管理を実行する拡張サービス管理部190を、拡張用プログラム18cを実行することによって実現する。拡張サービス管理部190は、拡張サービスおよび汎用OSサービス基盤150の状態を監視する。
【0038】
制御部19は、拡張アプリの起動、開始および停止など、拡張アプリの管理を実行する拡張アプリ管理部200を、拡張用プログラム18cを実行することによって実現する。
【0039】
制御部19は、拡張アプリ用プログラム18d(
図1参照。)を実行することによって、拡張アプリ210を実現する。なお、制御部19は、拡張アプリ210以外にも、少なくとも1つの拡張アプリを実現することが可能である。拡張アプリは、ユーザーが直接的に利用するアプリケーションであり、ユーザーインターフェイスを備えている。利用者は、拡張アプリのユーザーインターフェイスを操作することによって、この拡張アプリが提供する機能を利用することができる。例えば、拡張アプリとしては、OCR(Optical Character Recognition)、監視カメラアプリ、ウォーターマーク作成、請求書作成、社員名簿管理、伝票管理、契約書管理、名刺管理、PDF作成、帳簿管理、グループ管理などの実用アプリでも良いし、汎用OS110上のデバイスドライバーやファームウェアなどの追加変更を行うインストーラーアプリや、その他の管理アプリなどでも良い。拡張アプリは、標準機能サービス170を呼び出して標準アプリを利用して汎用OS110を利用したり、拡張サービスを呼び出して標準アプリを利用せずに汎用OS110を利用したり、汎用OSサービス基盤150を直接呼び出して汎用OS110を利用したりすることが可能である。
【0040】
図3は、拡張サービス管理部190の構成を示す図である。
【0041】
図3に示すように、拡張サービス管理部190は、新規の拡張サービスを画像形成装置10に追加する処理の要求、および、画像形成装置10における既存の拡張サービスに対する例えばアップデート、削除などの操作に応じた処理の要求を受け付けるサービス受付部310と、サービス受付部310によって受け付けられた要求に応じた処理を実行するサービス制御部320と、画像形成装置10に新規に追加する拡張サービス用のソフトウェアパッケージをサービス制御部320からの指示に応じて記憶部18の特定の場所に配置するサービスパッケージ・デプロイ部330と、拡張サービスの情報を示すサービス管理情報テーブル340とを備えている。サービス制御部320は、例えば新規の拡張サービスを画像形成装置10に追加する場合に、この拡張サービスの情報をサービス管理情報テーブル340に設定する。
【0042】
図4は、サービス管理情報テーブル340に設定される情報の一例を示す図である。
【0043】
図4に示すように、サービス管理情報テーブル340は、拡張サービスの識別情報である拡張サービスID341と、拡張サービスが拡張機能サービスおよびバックエンドサービスのいずれであるかを示すサービスタイプ342と、拡張サービスが利用可能であるRAM19c上のサイズを示す利用可能メモリーサイズ343と、各標準アプリなどの画像形成装置10の制御構成の各部や、記憶部18などに対する拡張サービスのアクセスの権限を示すアクセス権限344とを互いに対応付けて登録する。なお、
図4は、利用可能メモリーサイズの具体的な値と、アクセス権限の具体的な値とが省略して描かれている。
【0044】
図5は、サービス制御部320の構成を示す図である。
【0045】
図5に示すように、サービス制御部320は、新規の拡張サービスを画像形成装置10に追加するサービスインストール制御部321と、サービス管理情報テーブル340における拡張サービスの情報を参照するサービス情報参照部322と、拡張サービスを起動するサービス起動制御部323と、画像形成装置10の制御構成の各部や、記憶部18などに対する拡張サービスのアクセスを制限するアクセス制御部324とを備えている。
【0046】
サービス起動制御部323は、例えば、待機状態、実行状態および一時停止状態など、拡張サービス毎の状態を管理する。なお、拡張サービスは、実行状態である場合に、実行状態のうちの更に詳細な状態である複数のサブステータス間で状態を遷移することができる。サブステータスとしては、例えば、第1の実行状態、第2の実行状態が存在する。
【0047】
サービス起動制御部323は、拡張サービスを起動する場合に、この拡張サービスの利用可能メモリーサイズをサービス情報参照部322経由でサービス管理情報テーブル340から取得し、取得した利用可能メモリーサイズを、この拡張サービスに割り当てることを汎用OS110に通知する。そして、汎用OS110は、拡張サービスを実行する場合に、この拡張サービスに割り当てることがサービス起動制御部323から通知された利用可能メモリーサイズを、この拡張サービスが超さないように管理する。したがって、画像形成装置10は、拡張サービスが容易に追加されることが可能であるにもかかわらず、拡張サービスが画像形成装置10の標準の機能の実行を遅延させる可能性を低減することができる。
【0048】
アクセス制御部324は、例えば拡張サービスが起動される場合に、この拡張サービスのアクセス権限をサービス情報参照部322経由でサービス管理情報テーブル340から取得し、取得したアクセス権限に応じて、画像形成装置10の制御構成の各部や、記憶部18などに対する拡張サービスのアクセスを制限することを汎用OS110に通知する。そして、汎用OS110は、拡張サービスを実行する場合に、この拡張サービスに対してアクセス制御部324から通知された内容で、この拡張サービスのアクセスを制限する。したがって、画像形成装置10は、拡張サービスが容易に追加されることが可能であるにもかかわらず、拡張サービスの追加によってセキュリティーが脆弱になる可能性を低減することができる。
【0049】
次に、複数の拡張サービスを連携して動作させる場合の画像形成装置10の動作について説明する。
【0050】
なお、以下においては、データを自動で収集する拡張サービス(以下「データ収集サービス」という。)と、特定のタイミングで自動的に電子メールを送信する拡張サービス(以下「メール送信サービス」という。)とを連携して動作させる場合の画像形成装置10の動作を例として説明する。
【0051】
まず、拡張サービスの状態を他の拡張サービスに通知する場合のサービス制御部320の動作について説明する。
【0052】
図6は、拡張サービスの状態を他の拡張サービスに通知する場合のサービス制御部320の動作のフローチャートである。
【0053】
サービス制御部320は、特定の拡張サービス(以下「特定拡張サービス」という。)のサブステータスの通知の要求(以下「サブステータス通知要求」という。)を特定拡張サービス以外の拡張サービス(以下「通知要求元拡張サービス」という。)から受信すると、
図6に示す動作を実行する。
【0054】
図6に示すように、サービス制御部320は、受信したサブステータス通知要求をサービス制御部320自身に登録する(S401)。
【0055】
次いで、サービス起動制御部323は、S401においてサービス制御部320に登録されたサブステータス通知要求に示される特定拡張サービスのサブステータスに変化があったと判断するまで、特定拡張サービスのサブステータスに変化があったか否かを判断する(S402)。
【0056】
サービス起動制御部323は、特定拡張サービスのサブステータスに変化があったとS402において判断すると、特定拡張サービスのサブステータスの変化の内容を、サブステータス通知要求に示される通知要求元拡張サービスに通知して(S403)、S402の処理を実行する。
【0057】
次に、データ収集サービスの動作について説明する。
【0058】
図7は、データ収集サービスの動作のフローチャートである。
【0059】
データ収集サービスは、サブステータスとして、第1の実行状態と、第2の実行状態との間で遷移することが可能である。データ収集サービスのサブステータスの初期状態は、第1の実行状態である。データ収集サービスは、実行状態である場合に、
図7に示す動作を実行する。
【0060】
図7に示すように、データ収集サービスは、データの収集を開始する(S421)。
【0061】
次いで、データ収集サービスは、一定量のデータの収集が完了したと判断するまで、一定量のデータの収集が完了したか否かを判断する(S422)。
【0062】
データ収集サービスは、一定量のデータの収集が完了したとS422において判断すると、データ収集サービス自身のサブステータスを第1の実行状態から第2の実行状態に変化させて(S423)、データ収集サービス自身のサブステータスが第1の実行状態から第2の実行状態に変化したことをサービス起動制御部323に通知する(S424)。
【0063】
次いで、データ収集サービスは、メール送信サービスのサブステータスが第2の実行状態に変化したことの通知を受信したと判断するまで、メール送信サービスのサブステータスが第2の実行状態に変化したことの通知を受信したか否かを判断する(S425)。
【0064】
データ収集サービスは、メール送信サービスのサブステータスが第2の実行状態に変化したことの通知を受信したとS425において判断すると、データ収集サービス自身のサブステータスを第2の実行状態から第1の実行状態に変化させて(S426)、データ収集サービス自身のサブステータスが第2の実行状態から第1の実行状態に変化したことをサービス起動制御部323に通知する(S427)。
【0065】
次いで、データ収集サービスは、S422の処理を実行する。なお、データ収集サービスは、一定量のデータの収集が完了したとS422において1度でも判断した後、一定量のデータの収集が完了したとS422において前回判断した状態からの増加分に対して、S422の処理における「一定量」を判断する。
【0066】
図7に示すように、データ収集サービスにおいて、第1の実行状態から第2の実行状態に遷移する条件は、一定量のデータの収集が完了することである。データ収集サービスにおいて、第2の実行状態から第1の実行状態に遷移する条件は、メール送信サービスのサブステータスが第2の実行状態に変化したことの通知を受信することである。
【0067】
次に、メール送信サービスの動作について説明する。
【0068】
図8は、メール送信サービスの動作のフローチャートである。
【0069】
メール送信サービスは、サブステータスとして、第1の実行状態と、第2の実行状態との間で遷移することが可能である。メール送信サービスのサブステータスの初期状態は、第1の実行状態である。メール送信サービスは、実行状態である場合に、
図8に示す動作を実行する。
【0070】
図8に示すように、メール送信サービスは、データ収集サービスのサブステータスが第2の実行状態に変化したことの通知を受信したと判断するまで、データ収集サービスのサブステータスが第2の実行状態に変化したことの通知を受信したか否かを判断する(S441)。
【0071】
メール送信サービスは、データ収集サービスのサブステータスが第2の実行状態に変化したことの通知を受信したとS441において判断すると、メール送信サービス自身のサブステータスを第1の実行状態から第2の実行状態に変化させて(S442)、メール送信サービス自身のサブステータスが第1の実行状態から第2の実行状態に変化したことをサービス起動制御部323に通知する(S443)。
【0072】
次いで、メール送信サービスは、データ収集サービスの作業が完了した旨の電子メールを特定の宛先に自動的に送信する(S444)。
【0073】
次いで、メール送信サービスは、メール送信サービス自身のサブステータスを第2の実行状態から第1の実行状態に変化させて(S445)、メール送信サービス自身のサブステータスが第2の実行状態から第1の実行状態に変化したことをサービス起動制御部323に通知する(S446)。
【0074】
次いで、メール送信サービスは、S441の処理を実行する。
【0075】
図8に示すように、メール送信サービスにおいて、第1の実行状態から第2の実行状態に遷移する条件は、データ収集サービスのサブステータスが第2の実行状態に変化したことの通知を受信することである。メール送信サービスにおいて、第2の実行状態から第1の実行状態に遷移する条件は、データ収集サービスの作業が完了した旨の電子メールを特定の宛先に自動的に送信することである。
【0076】
次に、データ収集サービスと、メール送信サービスとを連携して動作させる場合の画像形成装置10の動作について説明する。
【0077】
サービス制御部320は、メール送信サービスのサブステータスの通知を要求するサブステータス通知要求(以下「メール送信サービスサブステータス通知要求」という。)をデータ収集サービスから受信して、このメール送信サービスサブステータス通知要求をサービス制御部320自身に登録する(S401)。また、サービス制御部320は、データ収集サービスのサブステータスの通知を要求するサブステータス通知要求(以下「データ収集サービスサブステータス通知要求」という。)をメール送信サービスから受信して、このデータ収集サービスサブステータス通知要求をサービス制御部320自身に登録する(S401)。これらのサブステータス通知要求がサービス制御部320に登録されている状態で、画像形成装置10は、
図9に示す動作を実行する。
【0078】
図9は、データ収集サービス180aと、メール送信サービス180bとを連携して動作させる場合の画像形成装置10の動作のシーケンス図である。
【0079】
データ収集サービス180aは、データの収集を開始した(S421)後、一定量のデータの収集が完了したと判断すると(S422でYES)、
図9に示す動作を実行する。
【0080】
図9に示すように、データ収集サービス180aは、データ収集サービス180a自身のサブステータスを第1の実行状態から第2の実行状態に変化させて(S423)、データ収集サービス180a自身のサブステータスが第1の実行状態から第2の実行状態に変化したことをサービス起動制御部323に通知する(S424)。
【0081】
サービス起動制御部323は、データ収集サービス180aのサブステータスが第1の実行状態から第2の実行状態に変化したことが通知されると、データ収集サービス180aのサブステータスの変化の内容、すなわち、データ収集サービス180aのサブステータスが第1の実行状態から第2の実行状態に変化したことを、データ収集サービスサブステータス通知要求に基づいてメール送信サービス180bに通知する(S403)。
【0082】
メール送信サービス180bは、データ収集サービス180aのサブステータスの変化の内容が通知されると、メール送信サービス180b自身のサブステータスを第1の実行状態から第2の実行状態に変化させて(S442)、メール送信サービス180b自身のサブステータスが第1の実行状態から第2の実行状態に変化したことをサービス起動制御部323に通知する(S443)。
【0083】
次いで、メール送信サービス180bは、データ収集サービス180aの作業が完了した旨の電子メールを特定の宛先に自動的に送信する(S444)。
【0084】
サービス起動制御部323は、メール送信サービス180bのサブステータスが第1の実行状態から第2の実行状態に変化したことが通知されると、メール送信サービス180bのサブステータスの変化の内容、すなわち、メール送信サービス180bのサブステータスが第1の実行状態から第2の実行状態に変化したことを、メール送信サービスサブステータス通知要求に基づいて、データ収集サービス180aに通知する(S403)。
【0085】
データ収集サービス180aは、メール送信サービス180bのサブステータスの変化の内容が通知されると、データ収集サービス180a自身のサブステータスを第2の実行状態から第1の実行状態に変化させて(S426)、データ収集サービス180a自身のサブステータスが第2の実行状態から第1の実行状態に変化したことをサービス起動制御部323に通知する(S427)。
【0086】
サービス起動制御部323は、データ収集サービス180aのサブステータスが第2の実行状態から第1の実行状態に変化したことが通知されると、データ収集サービス180aのサブステータスの変化の内容、すなわち、データ収集サービス180aのサブステータスが第2の実行状態から第1の実行状態に変化したことを、データ収集サービスサブステータス通知要求に基づいてメール送信サービス180bに通知する(S403)。
【0087】
メール送信サービス180bは、S444における電子メールの送信が終了すると、メール送信サービス180b自身のサブステータスを第2の実行状態から第1の実行状態に変化させて(S445)、メール送信サービス180b自身のサブステータスが第2の実行状態から第1の実行状態に変化したことをサービス起動制御部323に通知する(S446)。
【0088】
サービス起動制御部323は、メール送信サービス180bのサブステータスが第2の実行状態から第1の実行状態に変化したことが通知されると、メール送信サービス180bのサブステータスの変化の内容、すなわち、メール送信サービス180bのサブステータスが第2の実行状態から第1の実行状態に変化したことを、メール送信サービスサブステータス通知要求に基づいて、データ収集サービス180aに通知する(S403)。
【0089】
以降、画像形成装置10は、データ収集サービス180aにおいて一定量のデータの収集が完了する度に、
図9に示す動作を繰り返す。
【0090】
以上に説明したように、画像形成装置10は、データ収集サービス180aの状態の変化を拡張サービス管理部190がメール送信サービス180bに通知し(S403)、データ収集サービス180aの状態の変化が拡張サービス管理部190から通知されたメール送信サービス180bが特定の動作を実行する(S442~S446)。また、画像形成装置10は、メール送信サービス180bの状態の変化を拡張サービス管理部190がデータ収集サービス180aに通知し(S403)、メール送信サービス180bの状態の変化が拡張サービス管理部190から通知されたデータ収集サービス180aが特定の動作を実行する(S422~S424およびS426~S427)。したがって、画像形成装置10は、拡張サービスであるデータ収集サービス180aと、拡張サービスであるメール送信サービス180bとが疎結合であっても、拡張サービス管理部190の仕様、特に、サービス起動制御部323の仕様を拡張サービス毎に変更することなく、データ収集サービス180aおよびメール送信サービス180bを連携して動作させることができる。
【0091】
画像形成装置10は、複数の拡張サービスを管理する拡張サービス管理部190を備えるので、複数の拡張サービスを利用するカスタマイズが実行されることができ、その結果、カスタマイズ性を向上することができる。例えば、画像形成装置10は、画像形成装置10から出力される情報の形式を旧型のインターフェイスの形式から新型のインターフェイスの形式に変換する機能を提供するサービスをバックエンドサービスとして備えることによって、画像形成装置10のユーザーが利用している既存システムと、画像形成装置10のユーザーが利用している既存アプリケーションと、画像形成装置10のユーザーが利用しているクラウドサービスとへの適合性を向上することができる。
【0092】
本実施の形態におけるいずれかの複数のプログラムは、1つのプログラムとして構成されても良い。例えば、拡張用プログラム18cと、拡張サービス用プログラムとは、1つのプログラムとして構成されても良い。
【0093】
本発明の電子機器は、本実施の形態において画像形成装置であるが、例えばPC(Personal Computer)など、画像形成装置以外の電子機器でも良い。
【符号の説明】
【0094】
10 画像形成装置(電子機器)
18c 拡張用プログラム(プログラム)
18e 拡張サービス用プログラム(プログラム)
141 コピーアプリ(標準アプリ)
142 プリンターアプリ(標準アプリ)
143 FAXアプリ(標準アプリ)
144 送信アプリ(標準アプリ)
180a データ収集サービス(拡張サービス、第1の拡張サービス、第2の拡張サービス)
180b メール送信サービス(拡張サービス、第1の拡張サービス、第2の拡張サービス)
181 拡張機能サービス(拡張サービス)
182 バックエンドサービス(拡張サービス)
190 拡張サービス管理部
210 拡張アプリ