JP2014216822A - 画像形成装置及び画像形成方法 - Google Patents

画像形成装置及び画像形成方法 Download PDF

Info

Publication number
JP2014216822A
JP2014216822A JP2013092268A JP2013092268A JP2014216822A JP 2014216822 A JP2014216822 A JP 2014216822A JP 2013092268 A JP2013092268 A JP 2013092268A JP 2013092268 A JP2013092268 A JP 2013092268A JP 2014216822 A JP2014216822 A JP 2014216822A
Authority
JP
Japan
Prior art keywords
application
service
unit
applications
information
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
JP2013092268A
Other languages
English (en)
Other versions
JP5889827B2 (ja
Inventor
長松 孫
Chang Song Sun
長松 孫
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.)
Kyocera Document Solutions Inc
Original Assignee
Kyocera Document Solutions Inc
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 Kyocera Document Solutions Inc filed Critical Kyocera Document Solutions Inc
Priority to JP2013092268A priority Critical patent/JP5889827B2/ja
Priority to US14/261,423 priority patent/US9250840B2/en
Publication of JP2014216822A publication Critical patent/JP2014216822A/ja
Application granted granted Critical
Publication of JP5889827B2 publication Critical patent/JP5889827B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • 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
    • 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/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • 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/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • 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/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/123Software or firmware update, e.g. device firmware management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • 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
    • 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
    • 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/00962Input arrangements for operating instructions or parameters, e.g. updating internal software
    • H04N1/00973Input arrangements for operating instructions or parameters, e.g. updating internal software from a remote device, e.g. receiving via the internet instructions input to a computer terminal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Facsimiles In General (AREA)

Abstract

【課題】セキュリティリスクを低くしつつアプリケーション間で情報の共用が可能な画像形成装置を提供する。【解決手段】サービス取得部810は、アプリ96−1〜96−nのインストール時に、アプリ96−1〜96−nのクラス情報を参照して、サービス94−1〜94−nをサーバ300等から取得する。サービス登録部820は、サービス取得部810により取得されたサービス94−1〜94−nを、アプリ96−1〜96−nそれぞれに対応付けしてサービスレジストリ93に格納する。情報共用制御部830は、アプリ96−1〜96−nが実行される際に、サービス登録部820によりアプリ96−1〜96−nに対応付けされたサービス94−1〜94−nの管理情報に基づいて他のアプリ96−1〜96−nとの間で共用データ95により情報を共用させる。【選択図】図3

Description

本発明は、画像形成装置及び画像形成方法に係り、特にアプリケーションを実行可能な画像形成装置及び画像形成方法に関する。
従来から、文書や画像を印刷可能な複合機(Multifunctional Peripheral, MFP)等の画像形成装置において、アプリケーション(Application Software)をインストールし実行することが可能なものが存在する。
これらのアプリケーションにより、PDF作成、名刺管理、帳簿管理等の機能を画像形成装置に追加可能になる。また、アプリケーションにより、ネットワークカメラ等の外部の機器との連携を行うことも可能である。
特許文献1を参照すると、このようなアプリケーションを格納する記憶手段を含み、記憶手段に格納された各種のアプリケーションを使用して画像処理を行う画像形成装置の技術が記載されている。
特開2004−112785号公報
ここで、特許文献1の技術のように記憶手段に記憶されたアプリケーションを実行可能な従来の画像形成装置で、アプリケーション間で情報を共用する場合、OS(Operating System)に標準で用意された手段を使用するしかないという問題があった。
たとえば、従来の画像形成装置では、IP(Internet Protocol)のポートを開いて、ソケット通信を用いてアプリケーション間で情報を共用していた。つまり、アプリケーションが使用するパケットを他のアプリに公開して、情報の共用を行っていた。
このようにOSに標準で用意された手段で情報の共用を行うと、セキュリティリスクが高まるという問題があった。
本発明は、このような状況に鑑みてなされたものであって、上述の問題点を解消し、セキュリティリスクを低くしつつアプリケーション間で情報の共用が可能な画像形成装置を提供することを課題とする。
本発明の画像形成装置は、記憶手段に記憶された複数のアプリケーションを実行可能な画像形成装置において、前記記憶手段に記憶された前記アプリケーションから共用して呼び出し可能なサービスを取得するサービス取得手段と、該サービス取得手段により取得された前記サービスを、前記アプリケーションと対応付けして前記記憶手段に格納するサービス登録手段と、該サービス登録手段により対応付けされた前記サービスにより提供される情報を、前記記憶手段に格納された他の前記サービスとの間で共用させる情報共用制御手段とを備えることを特徴とする。
本発明の画像形成装置は、前記サービスは登録手段は、前記サービスを、前記記憶手段の保護された領域に格納することを特徴とする。
本発明の画像形成装置は、前記情報共用制御手段により共用された情報により、不正な処理を行った前記アプリケーションによる前記サービスの利用権限を不許可にするアプリケーション管理手段を備えることを特徴とする。
本発明の画像形成方法は、記憶手段に記憶された複数のアプリケーションを実行可能な画像形成装置により実行される画像形成方法において、前記記憶手段に記憶された前記アプリケーションから共用して呼び出し可能なサービスを取得し、取得された前記サービスを、前記アプリケーションと対応付けして前記記憶手段に格納し、対応付けされた前記サービスにより提供される情報を、前記記憶手段に格納された他の前記サービスとの間で共用させることを特徴とする。
本発明によれば、アプリケーションの管理情報を含むサービスを取得して、アプリケーションの実行時に、当該アプリケーションに対応付けされたサービスを実行し、管理情報に基づいて、他のアプリケーションとの間で情報を共用することで、OSに標準で用意された手段によらずに情報の共用が可能となり、セキュリティリスクを低減した画像形成装置を提供することができる。
本発明の画像形成装置の実施の形態に係る内部構成を示す概略模式断面図である。 本発明の画像形成装置の実施の形態に係る制御構成を示すブロック図である。 本発明の実施の形態に係るプラットフォームの構成及びアプリ制御部の制御構成を示すブロック図である。 本発明の実施の形態に係るアプリインストール処理のフローチャートである。 本発明の実施の形態に係る一般アプリ実行処理のフローチャートである。 本発明の実施の形態に係る管理アプリ実行処理のフローチャートである。 本発明の実施の形態に係るアプリアンインストール処理のフローチャートである。 本発明のサーバ及び端末の実施の形態に係る制御構成を示すブロック図である。 本発明の実施の形態に係るアプリ開発処理のフローチャートである。
<実施の形態>
〔画像形成装置1の構成〕
まず、図1を参照して、本発明の画像形成装置1の実施の形態に係る構成について詳しく説明する。
図1によると、画像形成装置1は、原稿読取部2と、原稿給送部3と、本体部4と、スタックトレイ5と、操作パネル部6とを備えている。
原稿読取部2は、本体部4の上部に配設され、原稿給送部3は、原稿読取部2の上部に配設されている。スタックトレイ5は、本体部4の形成された記録紙の排出口41側に配設され、また、操作パネル部6は、画像形成装置1のフロント側に配設されている。
原稿読取部2は、スキャナー21と、プラテンガラス22と、原稿読取スリット23とを備えている。スキャナー21は、露光ランプ、及びCCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)撮像センサ等から構成され、原稿給送部3による原稿の搬送方向に移動可能に構成されている。プラテンガラス22は、ガラス等の透明部材により構成された原稿台である。原稿読取スリット23は、原稿給送部3による原稿の搬送方向と直交方向に形成されたスリットを有する。
プラテンガラス22に載置された原稿を読み取る場合には、スキャナー21は、プラテンガラス22に対向する位置に移動され、プラテンガラス22に載置された原稿を走査しながら原稿を読み取って画像データを取得して、取得した画像データを本体部4に出力する。
また、原稿給送部3により搬送された原稿を読み取る場合には、スキャナー21は、原稿読取スリット23と対向する位置に移動され、原稿読取スリット23を介し、原稿給送部3による原稿の搬送動作と同期して原稿を読み取って画像データを取得し、取得した画像データを本体部4に出力する。
原稿給送部3は、原稿載置部31と、原稿排出部32と、原稿搬送機構33とを備えている。原稿載置部31に載置された原稿は、原稿搬送機構33によって、1枚ずつ順に繰り出されて原稿読取スリット23に対向する位置へ搬送され、その後、原稿排出部32に排出される。なお、原稿給送部3は、可倒式に構成され、原稿給送部3を上方に持ち上げることで、プラテンガラス22の上面を開放させることができる。
本体部4は、画像形成部7を備えると共に、給紙部42と、用紙搬送路43と、搬送ローラー44と、排出ローラー45とを備えている。給紙部42は、それぞれサイズ又は向きが異なる記録紙を収納する複数の給紙カセット421と、給紙カセット421から記録紙を1枚ずつ用紙搬送路43に繰り出す給紙ローラー422とを備えている。
給紙ローラー422、搬送ローラー44、及び排出ローラー45は、搬送部として機能する。記録紙は、この搬送部により搬送される。給紙ローラー422によって用紙搬送路43に繰り出された記録紙は、搬送ローラー44によって画像形成部7に搬送される。
そして、画像形成部7によって記録が施された記録紙は、排出ローラー45によってスタックトレイ5に排出される。
操作パネル部6は、LCD等の表示部と、スタートキー、テンキー、複写/FAX送信/スキャナー等の動作モードの切り換えのボタン、選択された文書の印刷、送信、保存、又は記録等に関するジョブの実行に係る指示を行うためのボタンやタッチパネル等を備えている。つまり、操作パネル部6は、ユーザーによる画像形成装置1の各種ジョブの指示を取得する。また、操作パネル部6により、アカウント情報90の各ユーザーの情報を入力・変更することもできる。
画像形成部7は、感光体ドラム71と、露光部72と、現像部73と、転写部74と、定着部75とを備えている。
露光部72は、レーザー装置やLEDアレイやミラーやレンズ等を備えた光学ユニットであり、画像データに基づいて光等を出力して感光体ドラム71を露光し、感光体ドラム71の表面に静電潜像を形成する。
現像部73は、トナーを用いて感光体ドラム71に形成された静電潜像を現像する現像ユニットであり、静電潜像に基づいたトナー像を感光体ドラム71上に形成させる。転写部74は、現像部73によって感光体ドラム71上に形成されたトナー像を記録紙に転写させる。定着部75は、転写部74によってトナー像が転写された記録紙を加熱してトナー像を記録紙に定着させる。
{画像形成装置1の制御構成}
図2によると、画像形成装置1の原稿読取部2、原稿給送部3、搬送部(給紙ローラー422、搬送ローラー44、排出ローラー45)、操作パネル部6、及び画像形成部7(画像形成手段)は、制御部8に接続され、制御部8によって動作制御される。また、制御部8には、記憶部9(記憶手段)、画像処理部10(画像処理手段)、FAX送受信部11、ネットワーク送受信部12等が接続されている。
制御部8は、ROM(Read Only Memory)、RAM(Random Access Memory)等を備えたマイクロコンピュータ等の情報処理部である。ROMには画像形成装置1の動作制御を行うための制御プログラムが記憶されている。
制御部8及び画像処理部10は、ROMに記憶されている制御プログラムを読み出し、この制御プログラムをRAMに展開させることで、操作パネル部6から入力された所定の指示情報に応じて装置全体の制御を行う。
また、制御部8は、アプリ制御部81(サービス取得手段、サービス登録手段、アプリケーション共用制御手段、アプリケーション管理手段)を備えている。
アプリ制御部81は、アプリ96−1〜96−n(Application Software、アプリケーション)のインストール、実行、アンインストール等の制御を行う。
アプリ制御部81の詳細構成については、後述する。
記憶部9は、RAM、ROM、フラッシュメモリ等の半導体メモリやHDD(Hard Disk Drive)等の記憶媒体を用いた記憶手段である。
記憶部9に記憶されるデータの詳細についても、後述する。
画像処理部10は、DSP(Digital Signal Processor)やGPU(Graphics Processing Unit)等の制御演算手段である。画像処理部10は、画像データに対して所定の画像処理を行う手段であり、拡大縮小、濃度調整、階調調整等の画像改善処理を含む各種画像処理を行う。
画像処理部10は、原稿読取部2で読み取られた画像を、PDFやTIFF等のフォーマットのファイル単位に変換した上で、記憶部9に記憶することが可能である。
FAX送受信部11は、ファクシミリの送受信を行う手段であり、通常の電話回線やISDN回線等と接続されている。また、FAX送受信部11は、受信したファクシミリ画像を、記憶部9に記憶する。また、FAX送受信部11は、記憶部9に記憶された画像データや印刷データを、画像形成部7で印刷する代わりにファクシミリ送信することもできる。
ネットワーク送受信部12は、ネットワーク100に接続するためのLANボードや無線LANの送受信機や携帯電話網接続ボード等を含む、外部のネットワーク100へ接続する手段である。ネットワーク100は、LAN、WAN、携帯電話網等のネットワークである。
ネットワーク送受信部12は、ネットワーク100を介して、端末200及びサーバ300と接続される。ネットワーク送受信部12は、端末200からアプリ96−1〜96−nを、サーバ300からはサービス94−1〜94−nを受信し、これに伴う各種指示を受信する。つまり、端末200はアプリ96−1〜96−nを、サーバ300はサービス94−1〜94−nをそれぞれ記憶している。また、ネットワーク送受信部12は、各種通知を端末200及びサーバ300へ送信することも可能である。
端末200及びサーバ300は、画像形成装置1で実行可能なアプリ96−1〜96−nをインストールしたり作成したりする指示を行うことが可能である。加えて、端末200及びサーバ300は、ユーザーからの指示で、画像形成装置1の各種の制御を行うこともできる。また、後述するように、端末200及びサーバ300は、アプリ96−1〜96−nの開発を行うことも可能である。
なお、画像形成装置1において、制御部8、及び画像処理部10は、GPU内蔵CPU等やチップ・オン・モジュールパッケージのように、一体的に形成されていてもよい。
(記憶部9の構成)
ここで、記憶部9に記憶されるデータについて説明する。記憶部9は、アカウント情報90、機器設定91、プラットフォーム92、アプリ96−1〜96−n(Application Software、アプリケーション)を記憶する。
アカウント情報90は、ユーザーのアカウント毎に、ユーザーID、パスワード、権限情報、端末200やサーバ300のIPアドレス、メールアドレス、送信先、住所やクレジットカード番号等の各種情報を格納するデータベースである。
アカウント情報90には、予め各ユーザーが操作パネル部6やユーザーの端末等から当該ユーザーの各種情報を入力して登録することが可能である。また、アカウント情報90にはゲストとしてユーザーを登録することも可能である。
機器設定91は、画像形成装置1で使用可能な機能についての情報、シリアル番号や製造番号や固有番号等を含む機器固有ID、メモリ容量、印刷設定、印刷枚数、課金情報等を含んでいる。
プラットフォーム92は、図示しないOS上で動作し、アプリ96−1〜96−nにより画像形成装置1の各機能を呼び出すためのAPI(Application Programming Interface)やミドルウェアやランタイム等を含むプログラムやデータである。プラットフォーム92のAPI等は、アプリ96−1〜96−nをインストール、実行、アンインストールする際に利用される。
また、プラットフォーム92は、アプリ96−1〜96−nから呼び出されるプログラム(クラス、ルーチン、関数等)であるサービス94−1〜94−n(図3)と、これに関するデータも含んでいる。このサービス94−1〜94−nについては後述する。
なお、記憶部9には、プラットフォーム92とは異なるAPIによるアプリケーションを記憶させることも可能である。たとえば、記憶部9には、アプリ96−1〜96−n以外のWebアプリ等のアプリケーション・ソフトウェア(以下「外部アプリ」という。)を記憶させることが可能である。しかしながら、この場合は、後述するような情報の共用等はできない。
アプリ96−1〜96−nは、画像形成装置1の機能を使用可能に構成された、例えば名刺管理やPDF作成や帳簿管理やグループ管理等のアプリケーションである。
アプリ96−1〜96−nは、ユーザーがインストールし、画像形成装置1の各機能を呼び出して所望の機能を実現させるための「一般アプリ」と、これらの一般アプリを管理する「管理アプリ」とを含んでいる。
なお、記憶部9は、端末200や画像形成装置1の操作パネル部6で指示された各種ジョブデータ、原稿読取部2によってスキャンされた画像データ、画像処理部10で画像処理された画像データ、ユーザーの端末から送信された印刷文書のデータ、外部の記録媒体から読み出された各種ファイル、サムネイル画像のデータ等を記憶してもよい。
また、記憶部9には、ユーザー毎の保存フォルダの領域が含まれていてもよい。また、記憶部9には、外部アプリがインストールされていてもよい。
{プラットフォーム92の構成及びアプリ制御部81の制御構成}
次に、図3を参照して、本発明の画像形成装置1の実施の形態に係るプラットフォーム92の構成及びアプリ制御部81の制御構成の詳細について説明する。
プラットフォーム92は、サービスに関するデータとして、サービスレジストリ93を含んでいる。
アプリ制御部81は、サービス取得部810(サービス取得手段)、サービス登録部820(サービス登録手段)、情報共用制御部830(情報共用制御手段)、アプリ管理部840(アプリケーション管理手段)を備えている。
(プラットフォーム92の構成)
サービスレジストリ93は、サービス94−1〜94−nを登録するためのデータベース等である。
サービスレジストリ93は、プラットフォーム92のAPIを利用して、サービス94−1〜94−nをアプリ96−1〜96−nに、それぞれ対応付けて登録、削除可能である。
また、サービスレジストリ93は、サービス94−1〜94−nの間で共用される記憶領域である共用データ95を含んでいる。
サービスレジストリ93は、記憶部9の保護された記憶領域に確保されることが好ましい。つまり、サービスレジストリ93は、プラットフォーム92内のサービス94−1〜94−n以外のプログラムからの直接のアクセスに対しては保護され、参照や書き換えが不可能であるように構成してもよい。
サービス94−1〜94−nは、サービス94−1〜94−nは、対応付けされたアプリ96−1〜96−nから共用して呼び出し可能なプログラム等である。つまり、サービス94−1〜94−nは、サービスレジストリ93に登録された場合、他のアプリ96−1〜96−nからも共用され、他のアプリ96−1〜96−nからも呼び出し可能でとなる。しかしながら、サービス94−1〜94−nは、外部アプリからは利用できない。
サービス94−1〜94−nは、呼び出し可能なサービスについての管理情報と、実行ファイルとを含んで構成される。
サービス94−1〜94−nの管理情報は、クラスパスやパッケージ等のクラスを参照するための情報、機能の説明やクラス名等の情報、対応付けされたアプリ96−1〜96−nの情報を含んでいる。この対応付けされたアプリ96−1〜96−nについての情報としては、対応付けされたアプリ96−1〜96−nのファイルシステム上のパス、改ざんを防ぐためのファイルのハッシュ情報、アプリ96−1〜96−nによるサービス94−1〜94−nの利用権限、管理アプリ又は一般アプリの種別、サービス94−1〜94−nの間で共用する情報の形式、共用する情報の記憶領域の容量やメモリ空間上の位置等の情報を含ませることが可能である。アプリ96−1〜96−nによるサービス94−1〜94−nの利用権限は、既定(デフォルト)では、対応付けされたアプリ96−1〜96−n以外でも利用可能な設定になるよう構成される。なお、特定のアプリ96−1〜96−nのみ利用可能な利用権限を設定することも可能である。この場合、他のアプリ96−1〜96−nがインストールされて依存関係のある場合は、当該アプリ96−1〜96−nからも呼び出し可能なように、利用権限を設定することもできる。
また、サービス94−1〜94−nの管理情報に、アプリ96−1〜96−nの実行時に、実行したジョブ状況、使用しているリソース、ログ等を含ませることが可能である。また、この管理情報には、使用リソースの情報やインクルードファイル等を含んでいてもよい。
サービス94−1〜94−nの実行ファイルは、中間言語のファイルやexeファイルやDLL(Dynamic Linking Library)等のバイナリのファイルである。この実行ファイルは、jar形式等で提供されるアーカイブファイル等として構成されてもよい。サービス94−1〜94−nの実行ファイルは、アプリ96−1〜96−nで情報を共用し通信を行うためのクラスや画像形成装置1の各機能を呼び出すためのクラス等を含んでいる。つまり、原稿読取部2、原稿給送部3、本体部4、スタックトレイ5、操作パネル部6、画像形成部7、画像処理部10、FAX送受信部11、ネットワーク送受信部12等の各部の機能については、アプリ制御部81がアプリ96から、対応づけされたサービス94を呼び出し実行することで使用可能となる。
以下で、サービス94−1〜94−nのいずれか一つを示す場合、単にサービス94という。
アプリ96−1〜96−nは、プラットフォーム92上で動作する実行ファイルと、クラス情報を含む各種データとを含んで構成される。アプリ96−1〜96−nは、例えば、jar形式や独自形式のインストール用ファイルによりインストールされる。
アプリ96−1〜96−nのクラス情報は、呼び出す機能に基づいた各クラスのクラス識別子、クラスパス、パッケージ名、一般アプリと管理アプリの種別等を示すデータである。アプリ96−1〜96−nのクラス情報により、対応付けされたサービス94−1〜94−nのクラスが呼び出される。
アプリ96−1〜96−nの実行ファイルは、例えばJava(登録商標)アプリケーションの中間言語のファイルや、「ネイティブ」のexeファイル等からなるアプリケーションのバイナリのファイルである。
この他にも、アプリ96−1〜96−nは必要なデータを含んでいてもよい。
以下で、アプリ96−1〜96−nのいずれか一つを示す場合には、単にアプリ96という。
アプリ96−1〜96−nは、サービス94−1〜94−nを使用しないと、情報を共用したり、他のアプリ96−1〜96−nと通信したりする機能を使用できないように構成される。これにより、画像形成装置1のインストール時に海賊版のアプリ96−1〜96−nを排除でき、セキュリティを確保可能となる。
上述のように、記憶部9は、アプリケーションの実行ファイルであるアプリ96−1〜96−nを記憶するアプリケーション記憶手段として機能する。また、記憶部9は、アプリ96−1〜96−nのそれぞれに対応付けられたサービス94−1〜94−nをサービスレジストリ93に登録し記憶するサービス記憶手段として機能する。また、記憶部9は、アプリ96−1〜96−nを実行する際のAPI等を提供するプラットフォーム92を記憶するプラットフォーム記憶手段として機能する。
(アプリ制御部81の制御構成)
サービス取得部810は、アプリ96−1〜96−nのインストール時に、サービス94−1〜94−nをサーバ300等から取得する。この際、サービス取得部810は、アプリ96−1〜96−nの少なくともクラス情報をサーバ300に送信し、サーバ300に適切なサービス94−1〜94−nを選択させてもよい。
サービス登録部820は、サービス取得部810により取得されたサービス94−1〜94−nを、アプリ96−1〜96−nそれぞれに対応付けしてサービスレジストリ93に格納する。この際、サービスレジストリ93は保護された領域であるため、サービス登録部820は、例えば、特権アクセス等により、サービス94−1〜94−nを格納することが可能である。
情報共用制御部830は、サービス登録部820によりアプリ96−1〜96−nに対応付けされたサービス94−1〜94−nの管理情報を参照して、共用する情報を書き込み読み出す領域(以下、「共用領域」という。)を共用データ95内に確保し、他のアプリ96−1〜96−nとの間で情報を共用させる。情報共用制御部830も、特権アクセス等により、共用領域を共用データ95内に確保可能である。また、情報共用制御部830は、アプリ96−1〜96−nが実行される実行開始時、実行中に対応付けされたサービス94−1〜94−nが呼び出された際、及び実行終了時に、この共用領域を共用データ95内に確保したり、解放したりすることが可能である。
アプリ管理部840は、他のアプリ96−1〜96−nを管理する管理アプリの実行時に、情報共用制御部830により共用された共用データ95の共用領域を読み出して監視する。アプリ管理部840は、不正な処理をしたアプリ96−1〜96−nによるサービス94−1〜94−nの利用権限を許可又は不許可にするよう、当該サービス94−1〜94−nの管理情報を書き換えることが可能である。
また、アプリ制御部81は、アプリ96−1〜96−nを画像形成装置1の記憶部9にインストールするインストール手段として機能する。
また、アプリ制御部81は、アプリ96−1〜96−nの実行ファイルをRAMに展開して実行ファイルを実行するアプリケーション実行手段として機能する。つまり、アプリ制御部81は、アプリ96−1〜96−nを実行した際に、プラットフォーム92が提供するAPIを使用して、画像形成装置1の機能制御と情報取得が可能である。
また、アプリ制御部81は、アプリ96−1〜96−nのそれぞれに対応付けられたサービス94−1〜94−nを読み出してRAMに展開し、アプリ96−1〜96−nからサービス94−1〜94−nが呼び出された際にサービス94−1〜94−nの実行ファイルを実行するサービス実行手段としても機能する。
また、アプリ制御部81は、アプリ96−1〜96−nのアンインストール時に、サービス94−1〜94−nの依存関係を参照して、サービス94−1〜94−nのインストールを行うインストール制御手段、又はアンインストールの制御を行うアプリアンインストール手段としても機能する。
〔画像形成装置1によるアプリインストール処理〕
ここで、図4を参照して、本発明の画像形成装置1の実施の形態によるアプリインストール処理の説明を行う。
この例では、端末200からアプリ96を画像形成装置1にリモートインストールする際の処理について説明する。
アプリインストール処理は、主に制御部8が、記憶部9に記憶されたプログラム等を各部と協働し、ハードウェア資源を用いて実行する。
以下で、図4のフローチャートを参照して、アプリインストール処理をステップ毎に詳細に説明する。
(ステップS101)
まず、アプリ制御部81は、サービス取得部810を用いて、アプリインストール送付処理を行う。
ユーザーは、端末200により、例えば、光学ドライブで、記憶媒体に記憶されたアプリ96を読み込ませ、アプリ96のインストーラ等のプログラムを起動する。すると、端末200は、アプリインストール部220(図8)により、画像形成装置1をネットワーク100上で検索して、ログインを行う。
アプリ制御部81は、アカウント情報90を参照して認証を行う。
認証が成功した場合、アプリ制御部81は、端末200からアプリ96を取得して、プラットフォーム92のAPIにより記憶部9に格納し、登録情報等を書き込む。
(ステップS102)
次に、アプリ制御部81は、サービス取得部810を用いて、サービス取得処理を行う。
アプリ制御部81は、記憶部9に格納されたアプリ96のクラス情報をサーバ300に送信して、サービス94を要求する。この際に、アプリ制御部81は、端末200からログインされたユーザーアカウントによりサーバ300へログインしてもよい。
サーバ300は、受信したクラス情報に基づいて、必要なサービス94をデータベースから検索し、画像形成装置1に送信する。
この際、クラス情報が不正であった場合には、エラー情報を画像形成装置1に返す。なお、アプリ96が不正な海賊版等であった場合には、エラー情報を返すのに加えて、サーバ300の管理者にメール等で通知することも可能である。
アプリ制御部81は、サーバ300から送信されたサービス94をネットワーク送受信部12で受信して、記憶部9に記憶させる。
(ステップS103)
次に、アプリ制御部81は、サービス登録部820を用いて、サービス登録処理を行う。
アプリ制御部81は、サービス94を取得した場合、プラットフォーム92のAPIを利用して、記憶部9に格納されたアプリ96と対応付けるよう、管理情報に書き込む。そして、アプリ制御部81は、取得したサービス94を、サービスレジストリ93に格納する。この際、アプリ制御部81は、アプリ96が、取得したサービス94を利用可能となるようにサービス94の管理情報の対応付けを設定する。つまり、アプリ制御部81は、図3の例で示すように、例えば、アプリ96−1はサービス94−1と、アプリ96−2はサービス94−2と、アプリ96−nはサービス94−nと対応付けして、サービスレジストリ93に格納する。
また、この際、アプリ制御部81は、既に同種のサービス94がサービスレジストリ93に登録されている場合(以下、「依存関係」がある場合という。)は、そのサービス94とアプリ96とを対応付けしてもよい。つまり、アプリ制御部81は、アプリ96−2を、サービス94−1に対応付けするような処理も可能である。同様に、アプリ制御部81は、サービス94−1〜94−nの間に、例えばクラスの継承等の依存関係があった場合には、その依存関係についてもサービスレジストリ93に登録する。
その後、アプリ制御部81は、インストールが終了した旨、端末200へ送信する。
以上により、本発明の実施の形態に係るアプリインストール処理を終了する。
なお、アプリ制御部81は、画像形成装置1に、例えばアプリ96が記録されたフラッシュメモリや光学記録媒体をUSB等で接続し、これからアプリ96−1〜96−nをインストールすることも可能である。また、アプリ制御部81は、サーバ300からアプリ96−1〜96−nをインストールすることも可能である。
また、アプリ制御部81は、アプリ96−1〜96−nと対応付けられたサービス94−1〜94−nを記録媒体に記録しておき、サーバ300にアクセスせずに直接インストールすることも可能である。
また、サーバ300は、サービス94を、アプリ96のみから利用可能なように暗号化し、暗号キー等を送信してもよい。
また、アプリ制御部81は、サービス登録部820を用いて、サービス94の管理情報が不正であった場合には、サービスレジストリ93に格納せずエラーを報知してもよい。また、アプリ制御部81は、サービス登録部820により機器設定91を読み出し、サービス94から呼び出したクラスにて使用できない機能があった場合、「オプションの××が必要です」「この機種では対応していません」等のメッセージを操作パネル部6や端末200に報知することも可能である。
〔画像形成装置1による一般アプリ実行処理〕
次に、図5を参照して、本発明の実施の形態に係る一般アプリ実行処理の詳細について説明する。
この例では、インストールされている一般アプリであるアプリ96−1が実行される例を示す。一般アプリであるアプリ96−1は、サービス94−1と対応付けられている。このため、一般アプリであるアプリ96−1は、サービス94−1により他のアプリ96−2〜96−nと情報を共用可能である。
この一般アプリ実行処理も、主に制御部8が記憶部9に記憶されたプログラム等を各部と協働し、ハードウェア資源を用いて実行する。
(ステップS201)
まず、アプリ制御部81は、情報共用制御部830を用いて、アプリ共用情報作成処理を行う。
アプリ制御部81は、例えば、操作パネル部6や端末200からのユーザーの指示を取得して、記憶部9にインストールされた一般アプリであるアプリ96−1の実行を開始する。
この際、アプリ制御部81は、アプリ96−1の実行ファイルの実行の前に、プラットフォーム92のAPIによりサービスレジストリ93を参照する。この例では、アプリ制御部81は、一般アプリのアプリ96−1のインストール時にサービスレジストリ93に登録されたサービス94−1を読み出す。
そして、アプリ制御部81は、共用データ95内に、共用する情報の領域である共用領域を確保する。この例では、サービス94−1の管理情報に基づいて、サービス94−1が他のサービス94−2〜94−nと共用するための共用領域を確保する。
(ステップS202)
次に、アプリ制御部81は、情報共用制御部830を用い、アプリ実行処理を行う。
アプリ制御部81は、アプリ96−1の実行ファイルをHDD等から読み出し、RAM等に展開して実行する。
この際、アプリ制御部81は、共用データ95内の共用領域を用いて、情報を共用させる。上述の例において、アプリ制御部81は、サービス94−1により確保された共用領域により、他のサービス94−2〜94−nとの間で情報を共用させる。アプリ制御部81は、アプリ96−1が実行したジョブの状況、アプリ96−1やサービス94−1により記憶部9に確保された又は使用された記憶領域のサイズ、共用領域のサイズ等のリソース(資源)、アプリ96−1から呼び出されたサービス94−1のクラスのログ等の情報を共用させることが可能である。また、アプリ制御部81は、この共用された情報によって、下記で示すように、アプリ96−1の不正な処理を、管理アプリに管理、監視させることが可能になる。
また、アプリ制御部81は、アプリ96−1により画像形成装置1の機能を使用するクラスが呼び出された場合、サービス94−1を用いてこの機能を使用させることが可能である。この場合、アプリ制御部81は、サービス94−1により機器設定91を読み出して、使用可能な機能を選択して処理する。
以上により、本発明の実施の形態に係る一般アプリ実行処理を終了する。
〔画像形成装置1による管理アプリ実行処理〕
次に、図6を参照して、本発明の実施の形態に係る画像形成装置1による管理アプリ実行処理の詳細について説明する。
この例では、管理アプリであるアプリ96−2が実行される例を示す。この管理アプリ実行処理では、アプリ96−2が、管理用のサービス94−2により、共用される情報を提供している一般アプリであるアプリ96−1を管理、監視する。アプリ96−2は、工場出荷時に画像形成装置1にインストールされていても、後から「ウィルス検知ソフト」のように後からインストールされてもよい。
この画像形成装置1による管理アプリ実行処理も、主に制御部8が記憶部9に記憶されたプログラム等を各部と協働し、ハードウェア資源を用いて実行する。
(ステップS211)
まず、アプリ制御部81は、アプリ管理部840を用いて、アプリ管理用情報取得処理を行う。
アプリ制御部81は、管理アプリにより一般アプリの情報を取得する。この例では、アプリ制御部81は、管理アプリであるアプリ96−2により、他の一般アプリであるアプリ96−1及び96−3〜96−n(他のアプリ96)を監視する。この際、アプリ制御部81は、アプリ96−2に対応付けられたサービス94−2により、サービス94−1及び94−3〜94−n(他のサービス)により確保された共用領域を参照して、共有された情報を取得する。
アプリ制御部81は、共用データ95内に、アプリ96に対応付けられたサービス94により共有領域が確保され、共用された情報が読み取り可能になった場合、これを参照する。上述の例では、アプリ制御部81は、例えば、管理アプリであるアプリ96−2に対応付けられたサービス94−2により、アプリ96−1に対応付けられたサービス94−1により共用された情報を参照する。また、アプリ制御部81は、他のサービス94の管理情報を読み出したり、書き換えたりすることも可能である。
アプリ制御部81は、このような共用された情報や管理情報により、一般アプリである他のアプリ96を監視する。アプリ制御部81は、他のアプリ96の状況によって、共用領域を含む記憶部9の記憶領域の容量の調整や解放や取得、プロセスの実行時間や順番等の調整や配分等を行う。
また、アプリ制御部81は、アプリ96−2により不正アプリの判定を行ってもよい。アプリ制御部81は、所定のヒューリスティックな判定基準に従って、一般アプリである他のアプリ96が、不正な処理を行っているか否かについても監視する。アプリ制御部81は、例えば、一般アプリであるアプリ96−1が、共有された情報のリソースやクラスのログ等により、バッファオーバーランのような不正なメモリ操作による攻撃を行った、アカウント情報90や印刷データをネットワーク100から不正に送信した、といった何らかの悪意行為を行った場合、不正な処理であると判断する。
(ステップS212)
次に、アプリ制御部81は、アプリ管理部840を用いて、一般アプリの管理が必要か否かを判定する。アプリ制御部81は、例えば、管理アプリであるアプリ96−2の判定により、他の一般アプリであるアプリ96−1が不正な処理を行っていたと判断した場合には、Yesと判定する。それ以外の場合、アプリ制御部81は、Noと判定する。
Yesの場合、アプリ制御部81は、処理をステップS213に進める。
Noの場合、アプリ制御部81は、管理アプリ実行処理を終了する。
(ステップS213)
アプリ制御部81は、アプリ管理部840を用いて、一般アプリであるアプリ96が不正な処理を行っていた場合、一般アプリ管理処理を行う。
アプリ制御部81は、管理アプリにより、一般アプリのサービス94の共用領域等を調整したり、サービス94の利用権限を許可したり不許可にしたりする。アプリ制御部81は、例えば、一般アプリであるアプリ96−1が不正な処理を行っていた場合、管理アプリであるアプリ96−2により、アプリ96−1がサービス94−1を利用できないようにアプリ96−1の管理情報を書き換えて、アクセスのブロック等を行う。この場合、アプリ制御部81は、アプリ96−1に例外を発生させる等により、アプリ96−1に通知することも可能である。
また、アプリ制御部81は、不正な処理を行っていた一般アプリ96自体の実行を停止したり、ログを記憶部9に書き込んだり、管理者にメール送信したりすることも可能である。
以上により、本発明の実施の形態に係る管理アプリ実行処理を終了する。
なお、情報の共用や通信等の機能を利用しない場合、アプリ96は、サービス94を使用しないで実行することも可能である。
しかしながら、対応付けされたサービス94がないと、アプリ96が起動しないように構成することも可能である。
〔画像形成装置1によるアプリアンインストール処理〕
次に、図7を参照して、本発明の実施の形態に係るアプリアンインストール処理の詳細について説明する。
アプリ制御部81は、アプリ96をアンインストールする際に、サービス94の依存関係を考慮した上でアンインストールを行う。この際に、アプリ96とサービス94との対応付けも変更する。以下では、アプリ96−1をアンインストールする例について説明する。
画像形成装置1によるアプリアンインストール処理も、主に制御部8が記憶部9に記憶されたプログラム等を各部と協働し、ハードウェア資源を用いて実行する。
(ステップS301)
まず、アプリ制御部81は、サービス登録部820を用いて、サービス依存関係検索処理を行う。
アプリ制御部81は、インストールされている他のアプリ96の必要クラス情報を読み出して、アンインストールするアプリ96に対応付けられたサービス94も削除して良いか否かについて検索する。たとえば、アプリ制御部81は、アプリ96−1をアンインストールする場合、サービス94−1が他のアプリ96−2〜96−nでも使用されるか否かを検索する。
(ステップS302)
次に、アプリ制御部81は、サービス登録部820を用いて、依存関係があったか否かを判定する。アプリ制御部81は、他のアプリ96でもサービス94が使用されていた場合、依存関係ありとして、Yesと判定する。上述の例では、サービス94−1が他のアプリ96−2〜96−nのいずれかでも使用される場合、Yesと判定する。アプリ制御部81は、それ以外の場合は、依存関係なしとして、Noと判定する。
Yesの場合、アプリ制御部81は、処理をステップS303に進める。
Noの場合、アプリ制御部81は、処理をステップS304に進める。
(ステップS303)
依存関係があった場合、アプリ制御部81は、サービス登録部820を用いて、依存関係解消処理を行う。
アプリ制御部81は、サービス94の依存関係があった場合には、プラットフォーム92のAPIにより、依存関係があったサービス94を残し、管理情報のみ書き換える。
たとえば、アプリ96−1をアンインストールする際に、アプリ96−3もサービス94−1を使用しており、依存関係がある場合、アプリ制御部81は、サービス94−1の管理情報からアプリ96−1の対応付けのみ削除して、アプリ96−3がサービス94−1をそのまま利用可能にする。
これにより、依存関係があるサービス94があった場合でも、アプリ96のアンインストール時に意識することなく、他のアプリ96を利用し続けることが可能となる。
その後、アプリ制御部81は、処理をステップS305に進める。
(ステップS304)
依存関係がなかった場合、アプリ制御部81は、サービス登録部820を用いて、サービス削除処理を行う。
アプリ制御部81は、プラットフォーム92のAPIにより、アンインストールするアプリ96に対応付けられたサービス94をサービスレジストリ93から削除する。上述の例では、アンインストールするのがアプリ96−1の場合、アプリ制御部81は、サービス94−1を削除する。
その後、アプリ制御部81は、処理をステップS305に進める。
(ステップS305)
ここで、アプリ制御部81は、サービス登録部820を用いて、アプリ削除処理を行う。
アプリ制御部81は、プラットフォーム92のAPIにより、アプリ96を記憶部9から削除し、登録情報も削除する。
また、この際、アプリ制御部81は、サービス94を残したか否かをサーバ300に送信してもよい。サーバ300は、その旨を記憶手段にログとして記録することが可能である。
以上により、本発明の実施の形態に係るアプリアンインストール処理を終了する。
〔端末200とサーバ300とによるアプリ開発処理〕
次に、図8と図9とを参照して、本発明の実施の形態に係るアプリ開発処理の詳細について説明する。
図8には、図2の端末200、サーバ300の概略構成を示すブロック図が示されている。下記で、端末200、サーバ300により、アプリ96を開発する例を示す。
以下で、まず、このアプリ開発に必要な端末200とサーバ300の構成について説明する。
{端末200の制御構成}
端末200は、ユーザーのPC(Personal Computer)やスマートフォン等である。また、端末200は、制御手段や記憶手段や入力手段や表示手段やネットワーク入出力手段等のハードウェア資源を備えている。
端末200は、画像形成装置1で実行可能なアプリ96を作成するためのSDK(Software Development Kit)がインストールされている。
端末200は、機能ブロックとして、アプリ開発部210(アプリケーション開発手段)及びアプリインストール部220(インストール手段)を備えている。
アプリ開発部210は、プラットフォーム92用のSDKを実行し、アプリ96−1〜96−nを作成するための手段である。
アプリ開発部210は、プラットフォーム92用のアプリ96のソースコードを作成し、ソースコードデバッガ等によりデバッグし、コンパイル等を行って実行ファイルを作成可能である。また、アプリ開発部210は、クラス情報を作成して、これをアプリ96に含めることが可能である。また、アプリ開発部210は、所定の命名規則に従ったサービス94用のクラスを作成することも可能である。また、アプリ開発部210は、既にサーバ300のサービスDB310に格納されている「作成済み」のクラスについても、クラスのカタログにより、クラスファイル97−1〜97−nを参照して、閲覧することが可能である。
アプリインストール部220は、記憶手段に記憶されたアプリ96−1〜96−nにより、画像形成装置1にアプリ96−1〜96−nのリモートインストールを行うための手段である。
アプリインストール部220は、リモートインストールの際、図示しない外部記録媒体に記憶されたアプリ96−1〜96−nを読み取って、端末200の記憶手段に記憶し、又、読み取られたアプリ96−1〜96−nを、ネットワーク100を介して画像形成装置1に送信する。
また、端末200は、画像形成装置1に対して、印刷、スキャン、リモートスキャン、ファクシミリ送受信等のジョブの指示を行うことも可能である、
{サーバ300の制御構成}
サーバ300は、PC/AT互換機サーバやクラウド上のサーバである。
サーバ300は、ユーザーがSDKで作成したアプリ96を端末200から取得し、このアプリ96で利用するためのサービス94を作成する。
サーバ300は、サービスDB310(サービスデータベース)、アプリ取得部320(アプリケーション取得手段)、サービス作成部330(サービス作成手段)を備えている。
サービスDB310は、画像形成装置1で実行可能なサービスのクラスファイル97−1〜97−nを格納するデータベースである。
クラスファイル97−1〜97−nは、例えば、機能別に分類されたサービスのクラスのソースファイル、パッケージファイル、オブジェクト(object)ファイル、実行可能ファイル等である。クラスファイル97−1〜97−nには、機能別に、例えば、プラットフォーム92のAPIを利用したログ出力、XML分析、HTTP通信等のクラスが、それぞれ含まれている。また、クラスファイル97−1〜97−nには、例えば、機能別に、アプリ96−1〜96−nから呼び出されるクラス識別子、インクルードパス、パッケージパス、サービスを実行するためのリンク等も含まれている。このクラス識別子等は、所定の命名規則で作成されているため、開発時に重複する機能のクラスを作成するのを防ぐことができ、開発負担を軽減可能となる。クラスファイル97−1〜97−nは、サーバ300の管理者がチェックして重複や不具合(バグ)がないことを確認可能である。
また、サービスDB310は、クラスファイル97−1〜97−nに含まれるクラスのパッケージ名や呼び出し可能なクラスの識別名やヘルプ等の情報であるカタログも格納されている。このカタログは、端末200等にインストールされたSDKから参照可能である。
以下で、クラスファイル97−1〜97−nのいずれか一つを示す場合には、単にクラスファイル97という。
アプリ取得部320は、端末200でアプリ96−1〜96−nを作成した際に、当該アプリ96−1〜96−nのクラス情報を取得する。この際、アプリ取得部320は、アプリ96−1〜96−nのクラス情報だけでなく、ソースファイルや実行ファイル等も取得可能である。
なお、アプリ取得部320は、アプリ96−1〜96−nが画像形成装置1にインストールされる際にも、アプリ96−1〜96−nのクラス情報を取得可能である。
サービス作成部330は、アプリ96−1〜96−nのクラス情報に含まれている、クラスの情報に基づいて、機能単位でサービスDB310からクラスファイル97−1〜97−nを検索する。サービス作成部330は、サービスのクラスファイル97−1〜97−nが検索された場合、これを基にサービス94−1〜94−nを作成する。
また、サービス作成部330は、作成したサービス94−1〜94−nを再利用可能な形式のサービスのクラスファイル97−1〜97−nとして、サービスDB310に保存しておくことも可能である。
また、サービス作成部330は、アプリ96−1〜96−nに対応付けられたサービス94−1〜94−nを画像形成装置1や端末200に送信することも可能である。
サービス作成部330は、HDDやフラッシュメモリ等の記憶手段に記憶されたプログラムをCPU等の制御手段が実行することで実現可能である。
サービスDB310は、サーバ300の制御手段が実行するSQL等の各種データベースサーバにより、データを記憶手段に格納し読み出すことで実現可能である。
なお、サーバ300は、開発ユーザーの権限を示す開発アカウントが記憶されたデータベースを備えていてもよい。
{アプリ開発処理の詳細}
次に、図9のフローチャートを参照して、端末200とサーバ300とによるアプリ開発処理の詳細について説明する。
このアプリ開発処理は、端末200及びサーバ300のそれぞれで、制御手段が記憶手段に記憶されたプログラム等を各部と協働し、ハードウェア資源を用いて実行する。
(ステップS401)
まず、端末200のアプリ開発部210は、アプリ送付処理を行う。
アプリ開発部210は、サービス94が必要な場合、ユーザーがSDKで作成したアプリ96の実行ファイル及び/又はソースファイルを、サーバ300に送信する。この際、アプリ開発部210は、アプリ96にクラス情報を付加して送信する。
なお、この際、アプリ開発部210は、開発アカウント等でサーバ300にユーザーをログインさせてもよい。
(ステップS402)
次に、サーバ300のアプリ取得部320は、サービス取得処理を行う。
アプリ取得部320は、ネットワーク100を介して、端末200からアプリ96の実行ファイル及び/又はソースファイルを取得する。サービス作成部330は、この取得されたアプリ96を、一旦、記憶手段に格納し、クラス情報を抽出する。
(ステップS403)
次に、サーバ300のサービス作成部330は、サービス作成処理を行う。
サービス作成部330は、アプリ96のクラス情報から、アプリ96が呼び出す機能を特定し、必要なクラスを特定する。そして、サービス作成部330は、サービスDB310から、この必要なクラスが含まれるクラスファイル97を、アプリ96が呼び出す機能に基づいて検索する。この際、サービス作成部330は、開発アカウントのユーザーの所属別や権限別でクラスファイル97を検索することも可能である。
サービス作成部330は、クラスファイル97が検索された場合、これをまとめてサービス94を作成し、作成したサービス94を端末200に送信する。この送信されたサービス94は、画像形成装置1での動作確認の際にのみ用いられるように管理情報に記載することも可能である。
ここで、サーバ300のサービス作成部330は、サービスDB310からクラスファイル97が検索できなかった場合、アプリ96自体に呼び出す機能に基づいたクラスが含まれているか否かを判断する。
サービス作成部330は、アプリ96自体にクラスが含まれている場合、クラスファイル97の候補としてサービスDB310に格納する。このクラスファイル97の候補は、サーバ300の管理者ユーザーがチェック等可能である。
また、サービス作成部330は、サーバ300の管理者ユーザー自体がクラスファイル97を作成して、サービスDB310に記憶することが可能である。
このような構成により、同じサービスや機能の重複開発を回避できる。
以上により、本発明の実施の形態に係るアプリ開発処理を終了する。
{アプリインストール時のサービス作成}
なお、サーバ300のサービス作成部330は、アプリのインストール時に直接サービス94を作成することも可能である。この場合、図4のステップS101において、アプリ96のクラス情報を取得した際に、このクラス情報に基づいて、対応するサービス94を作成する。
具体的に説明すると、まず、アプリ取得部320が上述の図9のステップS402のサービス取得処理と同様に、アプリ96の少なくともクラス情報を取得する。
サーバ300のサービス作成部330は、受信したアプリ96のクラス情報に基づき、アプリ96が呼び出す機能を特定して、実行時にサービス94が必要か否かを判断する。サービス作成部330は、サービス94が必要であると判断された場合には、その必要なクラスを特定する。
サービス作成部330は、サービス94が必要であり、必要なクラスがある場合、サービスDB310から、この必要なクラスが含まれるクラスファイル97を、アプリ96が呼び出す機能に基づいて検索する。
サービス作成部330は、サービスDB310から検索されたクラスファイル97があった場合、これをまとめてサービス94を作成する。サービス作成部330は、作成したサービス94を画像形成装置1に送信する。この際、サービス作成部330は、サービス94の管理情報に、ログインされたユーザーのID等や作成日時等の個別情報を暗号化して付加してもよい。
なお、サービス作成部330は、クラス情報が不正であった場合、すなわちサービスDB310からサービス94が検索できなかった場合には、エラー情報を画像形成装置1に返す。
また、アプリ96が不正な海賊版等であった場合には、エラー情報を返すのに加えて、サーバ300の管理者にメール等で通知することも可能である。
また、サーバ300のサービス作成部330は、サービス94の作成時に、サーバ300の記憶手段に記憶して、同一のアプリ96のインストールの際に利用してもよい。
以上のように構成することで、以下のような効果を得ることができる。
本発明の画像形成装置1は、アプリ96−1〜96−nのインストール時に、アプリ96−1〜96−nのクラス情報を参照して、サービス94−1〜94−nをサーバ300等から取得するサービス取得部810と、サービス取得部810により取得されたサービス94−1〜94−nを、アプリ96−1〜96−nそれぞれに対応付けしてサービスレジストリ93に格納するサービス登録部820と、アプリ96−1〜96−nが実行される際に、サービス登録部820によりアプリ96−1〜96−nに対応付けされたサービス94−1〜94−nの管理情報に基づいて他のアプリ96−1〜96−nとの間で情報を共用させる情報共用制御部830とを備えることを特徴とする。
このように構成することで、OSに標準で備えられた手段によらないで、アプリ96間で情報の共用や通信が可能となる。この際、共用した情報は、アプリ96間でしか使えない。また、正規にインストールされた画像形成装置用のアプリ96以外の、例えばウェブブラウザ上で実行される不正なプログラムや、外部機器からは、サービス94にアクセスできない。このため、セキュリティリスクを低減することが可能となる。
また、画像形成装置1は、サービス94を取得してアプリ96と対応付けして記憶する必要がある。つまり、サービス94がなければ情報の共用が不可能となるため、セキュリティリスクを低下させられる。
さらに、アプリ96間で、共用した情報に加えて、サービス94の共用も可能となる。このため、記憶部9の記憶領域や制御部8で実行するプロセス数等のリソースを節約できる。
加えて、アプリ96間で、サービス94に含まれるクラスにより簡単に情報を共用することが可能であるため、他のアプリ96との連携が必要なアプリ96の開発を容易にすることができる。
また、本発明の実施の形態に係る画像形成装置1は、情報共用制御部830により共用された共用データ95に基づいて、プリ96−1〜96−nによるサービス94−1〜94−nの利用権限を許可又は不許可にすることを特徴とする。
これにより、バックグラウンドで実行する管理アプリのアプリ96で他の一般アプリを管理、監視をすることができる。つまり、管理アプリにより、一般アプリのサービス94の利用権限を設定、削除できるため、何らかの悪意行為を発見、禁止できる。また、実行中のアプリ96のリソースの調整や配分、自動管理が可能となる。
これにより、画像形成装置1のセキュリティリスクを低減させ、動作を安定化させられる。
また、本発明の実施の形態に係るサーバ300は、画像形成装置1で実行可能なサービス94−1〜94−nのクラスを格納したクラスファイル97−1〜97−nを記憶するサービスDB310と、画像形成装置1により実行されるアプリ96−1〜96−nを取得するアプリ取得部320と、取得されたアプリ96−1〜96−nが呼び出す機能に基づいてサービスDB310を検索し、検索されたクラスファイル97−1〜97−nに基づいてアプリ96−1〜96−nが呼び出すサービス94−1〜94−nを作成するサービス作成部330とを備えることを特徴とする。
これにより、同じ機能のサービス94の重複開発を回避し、開発を効率化することが可能となる。
また、画像形成装置1は、アプリ96の少なくともクラス情報をサーバ300に送信する。サーバ300では、取得したアプリ96のクラス情報を検証して、逐一、サービス94を作成して送信する。
このため、ユーザーが海賊版や改造等された不正なアプリ96を画像形成装置1にインストールしようとしても、サーバ300により発見することが可能となり、不正なアプリ96の流通を抑制することが可能となる。
なお、本発明は、画像形成装置以外の各種情報処理装置にも適用可能である。つまり、ネットワークスキャナ、スキャナーをUSB等で別途接続したサーバ等を用いるような構成であってもよい。また、アプリケーションをインストール可能な情報処理装置であるPC、スマートフォン、携帯電話、オフィス機器、産業用機器等にも適用可能である。
なお、上記実施の形態の構成及び動作は例であって、本発明の趣旨を逸脱しない範囲で適宜変更して実行することができることは言うまでもない。
1 画像形成装置
2 原稿読取部
3 原稿給送部
4 本体部
5 スタックトレイ
6 操作パネル部
7 画像形成部
8 制御部
9 記憶部
10 画像処理部
11 FAX送受信部
12 ネットワーク送受信部
21 スキャナー
22 プラテンガラス
23 原稿読取スリット
31 原稿載置部
32 原稿排出部
33 原稿搬送機構
41 排出口
42 給紙部
43 用紙搬送路
44 搬送ローラー
45 排出ローラー
71 感光体ドラム
72 露光部
73 現像部
74 転写部
75 定着部
81 アプリ制御部
90 アカウント情報
91 機器設定
92 プラットフォーム
93 サービスレジストリ
94、94−1〜94−n サービス
95 共用データ
96、96−1〜96−n アプリ
97、97−1〜97−n クラスファイル
100 ネットワーク
200 端末
210 アプリ開発部
220 アプリインストール部
300 サーバ
310 サービスDB
320 アプリ取得部
330 サービス作成部
421 給紙カセット
422 給紙ローラー
810 サービス取得部
820 サービス登録部
830 情報共用制御部
840 アプリ管理部

Claims (4)

  1. 記憶手段に記憶された複数のアプリケーションを実行可能な画像形成装置において、
    前記記憶手段に記憶された前記アプリケーションから共用して呼び出し可能なサービスを取得するサービス取得手段と、
    該サービス取得手段により取得された前記サービスを、前記アプリケーションと対応付けして前記記憶手段に格納するサービス登録手段と、
    該サービス登録手段により対応付けされた前記サービスにより提供される情報を、前記記憶手段に格納された他の前記サービスとの間で共用させる情報共用制御手段とを備える
    ことを特徴とする画像形成装置。
  2. 前記サービスは登録手段は、前記サービスを、前記記憶手段の保護された領域に格納する
    ことを特徴とする請求項1に記載の画像形成装置。
  3. 前記情報共用制御手段により共用された情報により、不正な処理を行った前記アプリケーションによる前記サービスの利用権限を不許可にするアプリケーション管理手段を備える
    ことを特徴とする請求項1又は2に記載の画像形成装置。
  4. 記憶手段に記憶された複数のアプリケーションを実行可能な画像形成装置により実行される画像形成方法において、
    前記記憶手段に記憶された前記アプリケーションから共用して呼び出し可能なサービスを取得し、
    取得された前記サービスを、前記アプリケーションと対応付けして前記記憶手段に格納し、
    対応付けされた前記サービスにより提供される情報を、前記記憶手段に格納された他の前記サービスとの間で共用させる
    ことを特徴とする画像形成方法。
JP2013092268A 2013-04-25 2013-04-25 画像形成装置及び画像形成方法 Expired - Fee Related JP5889827B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013092268A JP5889827B2 (ja) 2013-04-25 2013-04-25 画像形成装置及び画像形成方法
US14/261,423 US9250840B2 (en) 2013-04-25 2014-04-25 Image forming apparatus capable of executing applications, image forming method, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013092268A JP5889827B2 (ja) 2013-04-25 2013-04-25 画像形成装置及び画像形成方法

Publications (2)

Publication Number Publication Date
JP2014216822A true JP2014216822A (ja) 2014-11-17
JP5889827B2 JP5889827B2 (ja) 2016-03-22

Family

ID=51789049

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013092268A Expired - Fee Related JP5889827B2 (ja) 2013-04-25 2013-04-25 画像形成装置及び画像形成方法

Country Status (2)

Country Link
US (1) US9250840B2 (ja)
JP (1) JP5889827B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017142641A (ja) * 2016-02-10 2017-08-17 富士通株式会社 データ管理プログラム、データ管理装置、及びデータ管理方法
JP2020140636A (ja) * 2019-03-01 2020-09-03 株式会社デンソー アプリケーションサーバ装置及び電子制御装置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110874173B (zh) * 2018-09-03 2023-11-17 华为技术有限公司 一种操作服务分发平台中的服务的方法和相关装置
US20200356885A1 (en) * 2019-05-10 2020-11-12 International Business Machines Corporation Service management in a dbms
CN113704005B (zh) * 2021-08-31 2023-09-19 成都华唯科技股份有限公司 可远程调用应用的方法、装置、系统及可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007329743A (ja) * 2006-06-08 2007-12-20 Ricoh Co Ltd 画像処理装置、情報処理装置、画像処理方法、情報処理方法、画像処理プログラムおよび情報処理プログラム
JP2009276936A (ja) * 2008-05-13 2009-11-26 Canon Inc データ処理装置、データ処理方法、及びコンピュータプログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6532472B1 (en) * 1998-09-29 2003-03-11 Apple Computer, Inc. Persistent state database for operating system services
US7209249B2 (en) * 2000-07-05 2007-04-24 Ricoh Company, Ltd. Method of and apparatus for image formation, and computer product
US7355739B2 (en) * 2001-09-14 2008-04-08 Ricoh Company, Ltd. Image forming device having a memory assignment unit
EP1387268A3 (en) * 2002-07-31 2005-03-02 Ricoh Company Image forming apparatus, information processing apparatus and version check method
JP4200067B2 (ja) 2002-08-30 2008-12-24 株式会社リコー 画像処理装置、画像処理方法、及び画像処理プログラム
JP2004135300A (ja) * 2002-09-20 2004-04-30 Ricoh Co Ltd 画像形成装置,共有データ管理方法および共有データ管理システム
US7853961B2 (en) * 2005-02-28 2010-12-14 Microsoft Corporation Platform for data services across disparate application frameworks
US8711396B2 (en) * 2008-12-12 2014-04-29 Ricoh Company, Ltd. Managing multiple web services on a single device
JP6085957B2 (ja) * 2012-03-14 2017-03-01 株式会社リコー 情報処理装置、プログラム、情報処理システム及び情報共有方法
US20130333021A1 (en) * 2012-06-08 2013-12-12 Forty1 Technologies Inc. Preventing malicious software from utilizing access rights

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007329743A (ja) * 2006-06-08 2007-12-20 Ricoh Co Ltd 画像処理装置、情報処理装置、画像処理方法、情報処理方法、画像処理プログラムおよび情報処理プログラム
JP2009276936A (ja) * 2008-05-13 2009-11-26 Canon Inc データ処理装置、データ処理方法、及びコンピュータプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017142641A (ja) * 2016-02-10 2017-08-17 富士通株式会社 データ管理プログラム、データ管理装置、及びデータ管理方法
JP2020140636A (ja) * 2019-03-01 2020-09-03 株式会社デンソー アプリケーションサーバ装置及び電子制御装置

Also Published As

Publication number Publication date
US9250840B2 (en) 2016-02-02
US20140320917A1 (en) 2014-10-30
JP5889827B2 (ja) 2016-03-22

Similar Documents

Publication Publication Date Title
JP5240264B2 (ja) 画像情報処理装置、画像情報処理システムおよびコンピュータプログラム
US9307108B2 (en) Information processing system and information processing method
JP5889827B2 (ja) 画像形成装置及び画像形成方法
JP2006148876A (ja) 画像形成装置、情報処理方法、情報処理プログラム及び記録媒体
JP2005301968A (ja) 情報処理装置、情報処理方法、情報処理プログラム、及び記録媒体
JP6520577B2 (ja) 情報処理システム、情報処理装置および情報処理方法
JP2006222569A (ja) 画像形成装置、情報処理方法、情報処理プログラム、及び記録媒体
JP5664692B2 (ja) 電子機器、画像形成装置、情報処理方法、情報処理プログラム、及び記録媒体
JP2006079211A (ja) 画像形成装置、情報処理方法、情報処理プログラム、及び記録媒体
US11330129B2 (en) Image forming system, image forming apparatus, and storing medium storing application control program
JP6233149B2 (ja) 画像形成システム及び画像形成方法
JP2009137165A (ja) 画像形成装置、情報処理方法及びプログラム
JP6477824B2 (ja) 画像形成装置
JP2005269439A (ja) 画像形成装置、情報処理方法、情報処理プログラム、及び記録媒体
JP6100194B2 (ja) 画像形成装置、及び画像形成方法
JP6233148B2 (ja) 画像形成システム、サーバー、画像形成装置、端末、画像形成方法、及びプログラム
JP6089794B2 (ja) 機器、情報処理システム、情報処理方法、及びプログラム
JP2019134285A (ja) 画像形成システム、サーバー、画像形成装置、及び内部データ更新方法
JP6424441B2 (ja) 複合機、情報処理方法、情報処理プログラム、および情報処理システム
JP5418543B2 (ja) 端末装置、情報処理方法、情報処理プログラム、記録媒体及び情報処理システム
JP5445051B2 (ja) 情報処理装置、apiプログラム、及びログ環境提供方法
JP6330933B2 (ja) 機器、情報処理システム、情報処理方法、及びプログラム
JP6916464B2 (ja) サーバ用プリンタドライバプログラム
JP5648723B2 (ja) 機器、情報処理方法、プログラム、記録媒体、及び情報処理システム
JP2009021799A (ja) 画像処理装置及び課金システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150318

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150710

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150811

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151009

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: 20160119

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160217

R150 Certificate of patent or registration of utility model

Ref document number: 5889827

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees