JP5065805B2 - 電子機器、サービス提供方法及びプログラム - Google Patents

電子機器、サービス提供方法及びプログラム Download PDF

Info

Publication number
JP5065805B2
JP5065805B2 JP2007209619A JP2007209619A JP5065805B2 JP 5065805 B2 JP5065805 B2 JP 5065805B2 JP 2007209619 A JP2007209619 A JP 2007209619A JP 2007209619 A JP2007209619 A JP 2007209619A JP 5065805 B2 JP5065805 B2 JP 5065805B2
Authority
JP
Japan
Prior art keywords
api
application
controller
electronic device
follow
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.)
Expired - Fee Related
Application number
JP2007209619A
Other languages
English (en)
Other versions
JP2009043153A (ja
Inventor
幸子 吉村
重中 金光
俊史 荒木
龍介 中谷
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 JP2007209619A priority Critical patent/JP5065805B2/ja
Priority to CN200810134794.5A priority patent/CN101365028A/zh
Priority to US12/184,367 priority patent/US20090044205A1/en
Publication of JP2009043153A publication Critical patent/JP2009043153A/ja
Application granted granted Critical
Publication of JP5065805B2 publication Critical patent/JP5065805B2/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
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration 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
    • G06F9/44536Selecting among different versions

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Facsimiles In General (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

本発明は、アプリケーションによるサービスをユーザに提供可能な電子機器、サービス提供方法及びプログラムに関するものである。
この種の電子機器、例えば画像形成装置にはアプリケーションがインストールされており、このアプリケーションは当該装置のデバイス(例えば、プリンタ、スキャナやFAX等)を用いてサービスをユーザに提供する。
ここで、当該サービスの提供に関しては種々の技術が開示されている(例えば、特許文献1〜4参照)。具体的には、アプリケーションがコントローラAPI(Controller Application Program Interface)を呼び出し、このコントローラAPIはデバイスの操作をコントローラに要求する。そして、このコントローラがデバイスを操作すると、アプリケーションによるサービスがユーザに提供される。
特開2004−312711号公報 特開2003−330732号公報 特開2004−129220号公報 特開2006−276907号公報
ところで、上述したアプリケーションは、API(Application Program Interface)を使用して提供元で予め作成され、画像形成装置にインストールされるが、当該APIのバージョン情報が装置内のコントローラAPIのバージョン情報よりも新しい場合には、当該アプリケーションが起動しないとの問題がある。
詳しくは、上記特許文献1,2の技術では、バージョン情報の違いについては格別な配慮がなされておらず、APIがコントローラAPIよりも新しいバージョン情報であった場合には、このアプリケーションは起動しない。なお、特許文献2の技術では、動作しない画像形成装置を代行するための別の画像形成装置も必要になる。
これに対し、上記特許文献3,4の技術では、バージョン情報の違いについては示されている。しかしながら、特許文献3の技術では、APIとコントローラAPIとの各バージョン情報を単にチェックするのみであり、これらの各バージョン情報が一致しない場合には、アプリケーションが装置にインストールされず、このアプリケーションは起動しない。
また、特許文献4の技術では、複数のバージョン情報に対応可能なコントローラAPIを有しているが、仮に、APIがコントローラAPIでは対応できないバージョン情報で構成されていた場合には、このAPIを使用して作成されたアプリケーションは起動しないことになる。
そこで、本発明の目的は、上記課題を解消し、APIのバージョン情報がコントローラAPIのバージョン情報よりも新しい場合であっても、アプリケーションを起動させる電子機器、サービス提供方法及びプログラムを提供することである。
上記目的を達成するための第1の発明は、コントローラを介してデバイスを制御する電子機器に係り、API(Application Program Interface)を使用して作成されており、デバイスを操作してサービスをユーザに提供し、電子機器の動作時に選択されるアプリケーションを管理する管理部と、これらアプリケーションとAPIとの関連付け情報を記憶する記憶部と、アプリケーションに呼び出され、デバイスの操作をコントローラに要求するコントローラAPI(Controller Application Program Interface)と、選択されたアプリケーションとAPIとの関連付け情報に基づいてアプリケーションに呼び出されており、APIのバージョン情報がコントローラAPIのバージョン情報よりも新しい場合には、コントローラAPIに未実装のインタフェースでコントローラAPIに対してデバイスの操作をコントローラに要求させるフォローAPIとを具備する。
第1の発明によれば、電子機器はコントローラAPI、コントローラ、及びデバイスを備えている。また、この電子機器はアプリケーションを管理する管理部を備え、このアプリケーションはサービスをユーザに提供する。詳しくは、アプリケーションがコントローラAPIを呼び出し、このコントローラAPIはデバイスの操作をコントローラに要求しており、コントローラがデバイスを操作すると、アプリケーションによるサービスがユーザに提供される。
ここで、このアプリケーションはAPIを使用して作成されているが、当該APIのバージョン情報がコントローラAPIのバージョン情報よりも新しい場合には、当該アプリケーションが起動しないとの懸念がある。電子機器に搭載されているコントローラAPIが、バージョン情報の新しいAPIに対応したインタフェースを実装していないためである。
しかしながら、本発明の電子機器はフォローAPIを備えており、このフォローAPIが、コントローラAPIに未実装のインタフェースを実装しているので、当該アプリケーションは起動可能になる。
しかも、このフォローAPIが、これらアプリケーションの作成に使用したAPIとコントローラAPIとのバージョン情報の差を解消するので、アプリケーション自体を電子機器のモデル毎に開発しなくて済む。
さらに、電子機器は管理部や記憶部も備え、記憶された関連付け情報に基づき、選択されたアプリケーションの起動及びフォローAPIの呼び出しが実行されるので、当該アプリケーションは確実に起動することができる。
第2の発明は、第1の発明の構成において、フォローAPIは、アプリケーションによるサービスとは異なる擬似サービスをユーザに提供することを特徴とする。
第2の発明によれば、第1の発明の作用に加えてさらに、APIのバージョン情報がコントローラAPIのバージョン情報よりも新しい場合であっても、擬似サービスはユーザに提供されるので、アプリケーションの起動が明らかになる。この結果、ユーザの所望するサービスの早期完了化が可能になるし、電子機器の信頼性向上にも寄与する。
第3の発明は、第1の発明の構成において、フォローAPIは、アプリケーションによるサービスを提供できない旨をユーザに知らせることを特徴とする。
第3の発明によれば、第1の発明の作用に加えてさらに、アプリケーションによるサービスを提供できない旨がユーザに知らされることから、この場合にもアプリケーションの起動が明らかになる。
第4の発明は、第1から第3の発明の構成において、フォローAPIは、アプリケーションに同梱されており、アプリケーションが電子機器にインストールされる時点にて、APIのバージョン情報がコントローラAPIのバージョン情報よりも新しい場合にのみ、アプリケーションとともに電子機器にインストールされることを特徴とする。
第4の発明によれば、第1から第3の発明の作用に加えてさらに、フォローAPIは、当該フォローAPIが必要になる場合にのみ、アプリケーションとともに電子機器にインストールされるので、電子機器の能力低下も防止可能になる。
また、第5の発明は、電子機器がコントローラを介してデバイスを制御し、アプリケーションによるサービスをユーザに提供する方法に係り、電子機器は、その動作時に選択される複数のアプリケーションを管理する管理部と、アプリケーションとアプリケーションの作成時に使用したAPIとの関連付け情報を記憶する記憶部とを備えており、電子機器が、コントローラAPIのバージョン情報よりも新しいバージョン情報で構成されたAPIを使用して作成したアプリケーションの起動をユーザから要求されるステップと、管理部が、記憶された関連付け情報を読み込むステップと、管理部が、起動の要求されたアプリケーションに対し、関連付け情報に基づいてアプリケーションの起動する旨を通知するとともに、コントローラAPIに未実装のインタフェースを有するフォローAPIを呼び出す旨を通知するステップと、起動の要求されたアプリケーションが、フォローAPIを呼び出すステップと、フォローAPIがコントローラAPIを呼び出すステップと、コントローラAPIが、デバイスの操作をコントローラに要求するステップと、コントローラが、デバイスを操作するステップとから構成される。
さらに、第6の発明は、電子機器がコントローラを介してデバイスを制御し、アプリケーションによるサービスをユーザに提供するプログラムに係り、電子機器は、その動作時に選択される複数のアプリケーションを管理する管理部と、アプリケーションとアプリケーションの作成時に使用したAPIとの関連付け情報を記憶する記憶部とを備え、プログラムは、電子機器のコンピュータに備えられており、電子機器が、コントローラAPIのバージョン情報よりも新しいバージョン情報で構成されたAPIを使用して作成したアプリケーションの起動をユーザから要求される手順と、管理部が、記憶された関連付け情報を読み込む手順と、管理部が、起動の要求されたアプリケーションに対し、関連付け情報に基づいてアプリケーションの起動する旨を通知するとともに、コントローラAPIに未実装のインタフェースを有するフォローAPIを呼び出す旨を通知する手順と、起動の要求されたアプリケーションが、フォローAPIを呼び出す手順と、フォローAPIがコントローラAPIを呼び出す手順と、コントローラAPIが、デバイスの操作をコントローラに要求する手順と、コントローラが、デバイスを操作する手順とを実行させる。
これら第5や第6の発明によれば、フォローAPIがコントローラAPIに未実装のインタフェースを実装しており、APIのバージョン情報がコントローラAPIのバージョン情報よりも新しい場合であっても、当該APIを使用して作成されたアプリケーションは起動可能になる。
しかも、このフォローAPIが、これらアプリケーションの作成に使用したAPIとコントローラAPIとのバージョン情報の差を解消するので、アプリケーション自体を電子機器のモデル毎に開発しなくて済む。
さらに、管理部が、起動の要求されたアプリケーションに対し、記憶された関連付け情報に基づいてその起動及びフォローAPIを呼び出す旨を通知するので、当該アプリケーションは確実に起動することができる。
本発明によれば、アプリケーションの作成に使用したAPIとコントローラAPIとのバージョン情報の差を解消し、当該アプリケーションを起動させる電子機器、サービス提供方法及びプログラムを提供することである。
以下、本発明の好適な実施形態について図面を用いて説明する。
図1は、本実施例におけるシステム構成図である。当該システムは複数の画像形成装置やパーソナルコンピュータ等の電子機器の他、サーバ50を有し、これらはインターネット40に接続されている。
サーバ50はアプリケーションの提供者が保有しており、そのデータベース50aにはアプリケーションパッケージ60が格納されている。このパッケージ60はユーザからの要求に応じて画像形成装置に配布され、このユーザは当該装置をインターネット40に接続した状態で利用することができる。
本実施例の画像形成装置は、いわゆる多機能周辺機器(Multiple Function Peripheral、以下、MFPと称する)10、すなわち、デジタル複合機である。このMFP10は、そのデバイスとして複写機の他、プリンタ22、スキャナ24、及びファクシミリ(FAX)26を備えている。
より具体的には、プリンタ22は、原稿の複写物やFAX26にて受信した文書等を印刷し、スキャナ24は原稿を読み取り、複写やFAX送信を行うための画像データを生成している。
また、MFP10は、これらプリンタ22、スキャナ24やFAX26の機能に加え、ネットワークプリンタやネットワークスキャナ、或いはネットワーククライアントとしての機能も複合的に備えている。なお、ネットワーク対応のプリンタ機能やスキャナ機能等は、インターネット102とは別のネットワーク環境(LAN,WAN)を通じて使用される。
MFP10の基本的な構成は公知のものが適用可能である。すなわち、MFP10は、上記構成の他、原稿をスキャナ24の画像読取位置に搬送する自動原稿搬送装置(ASF)、用紙を供給する用紙供給部、画像データに基づいて形成した画像を用紙に転写するプリントエンジン、転写済みの用紙にソート、穴開けやステープル処理等を行う後処理装置等を備えている。
また、MFP10は、ユーザの操作を受け付けるための操作キーや操作パネルも備えている。このパネルには、タッチ操作用のボタンの他、文字情報や案内画像等が表示されている。
そして、上述したMFP10の各種動作はコントローラ20で制御される。このコントローラ20はコンピュータとして機能する要素であり、CPUやメモリデバイス等のハードウエア資源を有している。
コントローラ20は、このハードウエア資源や基本ソフトウェアであるOS(Operating System)11を用いて所定のプログラムを実行しており、OS11を介して上述のプリンタ22、スキャナ24やFAX26の各デバイスを操作する。なお、OS11はネットワーク制御部11aを有し、この制御部11aは、所定のプロトコルを用いてインターネット40等に接続可能に構成されている。
一方、MFP10は複数のJava(登録商標)アプリケーション18a,18b,18cを有している。
このアプリケーション18a〜18cは、パッケージ60のダウンロードによってMFP10に配布されており、MFP10を用いた各種のサービスをユーザに提供している。
詳しくは、MFP10には、Java(登録商標)仮想マシン12、コントローラAPI(Controller Application Program Interface)14、及びアプリケーション管理部(管理部)16が設けられている。
そして、ユーザに選択された各アプリケーション18a〜18cは、管理部16にてその起動が要求され、この要求された各アプリケーション18a〜18cはコントローラAPI14を呼び出している。
このコントローラAPI14は、仮想マシン12を通じてプリンタ22、スキャナ24やFAX26の操作をコントローラ20に要求しており、このコントローラ20がプリンタ22、スキャナ24やFAX26を操作することにより、アプリケーション18a〜18cによるMFP10を用いた各種のサービスがユーザに提供される。
ところで、本実施例のMFP10はアプリケーション18a〜18cを補足するサブアプリケーションを備えている。
具体的には、図2に示されるように、アプリケーション18a〜18cとコントローラAPI14との間にはAPIフォローAPI(フォローAPI)19が配置されており、このフォローAPI19はコントローラAPI14を呼び出す機能を有している。
より詳しくは、アプリケーション18a〜18cはその提供者側にて作成され、この作成にはAPI(Application Program Interface)が使用されている。例えば、図3にはアプリケーション18b(以下、アプリ(2)と称する)を有するパッケージ60が示されており、このアプリ(2)の作成には、バージョン情報V2.00のAPIが使用されている。
また、同図に示される如く、パッケージ60には、フォローAPI19及びインストーラ62が当該アプリ(2)とともに同梱されている。MFP10の例えば購入時にはフォローAPI19は配置されておらず、このフォローAPI19は必要に応じてMFP10内に配置されるからである。
より具体的には、図4のパッケージ60のインストールまでのフローチャートを用いて説明する。
同図のステップS401では、MFP10がインターネット40を経由してパッケージ60をダウンロードする。次に、ステップS402では、MFP10がパッケージ60のインストーラ62を起動し、ステップS403に進む。
このステップS403では、インストーラ62がフォローAPI19をMFP10内に配置するか否かを判別する。詳しくは、インストーラ62は、コントローラAPI14のレベルをチェックし、アプリ(2)の作成に使用されたAPIのバージョン情報がコントローラAPI14のバージョン情報よりも新しい(番号が大きい)場合には、フォローAPI19をMFP10内に配置する旨を決定する。
例えば、上述のように、アプリ(2)のAPIはバージョン情報V2.00であるのに対し、MFP10内のコントローラAPI14がバージョン情報V1.00であった場合には、ステップS403にて、インストーラ62はYESと判定する。コントローラAPI14に対応できないアプリ(2)をMFP10にインストールしなければ、アプリ(2)は起動できないからである。
次いで、ステップS404に進み、アプリ(2)及びフォローAPI19をMFP10にインストールし、ステップS405に進む。
このステップS405では、インストーラ62が新規にインストールしたアプリケーションを登録する。詳しくは、このアプリ(2)をインストールした場合には、フォローAPI19もインストールされているので、アプリ(2)の起動にはフォローAPI19を使用することになる。そこで、このインストーラ62は、アプリ(2)についてはフォローAPI19を使用する旨を登録する(図5に○で示す)。
これに対し、仮に、アプリケーション18a(以下、アプリ(1)と称する)を有する他のパッケージ60がデータベース50aに準備されており、このアプリ(1)の作成にはバージョン情報V1.00のAPIが使用されていたとすれば、これらアプリ(1)のAPI及びコントローラAPI14はバージョン情報がいずれもV1.00であることから、ステップS403にて、このインストーラ62はNOと判定する。
つまり、この場合には、当該パッケージ60に同梱されたフォローAPI19をMFP10内に配置せず、アプリ(1)だけをMFP10にインストールしてステップS405に進む。そして、ステップS405では、フォローAPI19はインストールされていないことから、インストーラ62が、アプリ(1)についてはフォローAPIを使用しない旨を登録する(図5に×で示す)。
これら図5に示されたアプリケーションとフォローAPIとの関連付けは、記憶部17に登録される(図6)。本実施例の記憶部17は管理部16に設けられている。なお、この関連付け情報は、MFP10内に設けられた他の記録領域に登録されていても良い。
次に、この図6には、インストール後のイベントフローチャートが示されており、以下、上記の如く構成されたMFP10の本発明に係る作用について説明する。また、これにより、MFP10によるサービスの提供方法や提供プログラムも明確になる。
まず、ユーザが仮に2up(印刷レイアウトのページ集約2)印刷を希望しており、MFP10が、アプリ(1)の起動をユーザから要求された場合には、管理部16は、記憶部17に登録された関連付け情報(アプリ(1)はフォローAPIを使用しない旨)を読み込む。次いで、この管理部16は、アプリ(1)に対し、その起動及びコントローラAPI14を呼び出す旨を通知する。
続いて、このアプリ(1)がコントローラAPI14を呼び出すと、コントローラAPI14はプリンタ22の操作をコントローラ20に要求する。そして、コントローラ29がプリンタ22を操作し、ユーザ所望の2up印刷された用紙を当該ユーザに提供する。
これに対し、ユーザが仮に2up印刷、且つ、両面印刷を希望し、MFP10がアプリ(2)の起動をユーザから要求された場合には、このアプリ(2)の起動は確保する。
詳しくは、この場合の管理部16は、記憶部17に登録された関連付け情報(アプリ(2)はフォローAPI19を使用する旨)を読み込み、当該アプリ(2)に対し、その起動及びアプリ(2)がフォローAPI19を呼び出す旨を通知する。
続いて、このアプリ(2)は、フォローAPI19及びコントローラAPI14を呼び出すと、フォローAPI19がアプリ(2)を起動するとともに、コントローラAPI14が、プリンタ22の操作をコントローラ20に要求する。そして、コントローラ29はプリンタ22を操作するが、この場合には両面印刷は行われず、上記と同様に、2up印刷された用紙を当該ユーザに提供する。
以上のように、本実施例によれば、このアプリ(2)は、APIを使用して提供元で予め作成されているが、当該APIのバージョン情報がコントローラAPI14のバージョン情報よりも新しい場合には、当該アプリ(2)が起動しないとの懸念がある。
詳しくは、図7に示されるように、アプリケーションの作成時に使用したAPIのバージョン情報とコントローラAPI14のバージョン情報とが同じ場合、若しくは、このAPIのバージョン情報がコントローラAPI14のバージョン情報よりも古い(番号が小さい)場合には、当該アプリケーションはプリンタ22、スキャナ24やFAX26の各デバイスを正常に操作できる(図7に○で示す)。
一方、上述のアプリ(2)の如く、このAPIのバージョン情報V2.00がコントローラAPI14のバージョン情報V1.00よりも新しい場合には、当該アプリケーションは上記各デバイスを正常に操作できない(図7に×で示す)。
より具体的には、図8に示されるように、アプリ(2)がコントローラAPI14を呼び出そうとしても、MFP10内で不変のコントローラAPI14がインタフェース(A,B)だけを実装し、バージョン情報の新しいAPIに対応したインタフェース(C,D)を実装していないため、当該アプリ(2)は起動すらできないことになる。
そして、アプリ(2)が起動しなければ、ユーザが所望するサービスの早期完了化は困難になる。
なぜならば、ユーザがその起動を要求したにも拘わらず、アプリ(2)が起動しない場合には、現在の状況がコントローラAPI14に対応していないアプリ(2)がMFP10にインストールされたのか、或いは、アプリ(2)のインストールがMFP10に未だ完了していないのかが不明になり、ここで、万一、後者のインストールの未完了状態であった場合には、当該アプリ(2)を改めてMFP10にインストールする必要があり、ユーザ所望のサービスが完了するまでには長い期間を要するからである。
しかしながら、本実施例では、図9に示される如く、当該アプリ(2)の起動が要求された場合にはフォローAPI19がMFP10に配置される。そして、このフォローAPI19は、アプリ(2)の作成に使用されたAPIを補い、コントローラAPI14に未実装であって、アプリ(2)の作成に使用されたAPIに対応した仮のインタフェース(C´,D´)を実装しており、これにより、アプリ(2)は起動可能になる。
しかも、このフォローAPI19が、これらアプリ(2)の作成に使用したAPIとコントローラAPI14とのバージョン情報の差を解消するので、アプリ(2)自体をMFP10のモデル毎に開発しなくて済む。
但し、当該アプリ(2)の作成時に使用したAPIのバージョン情報とコントローラAPI14のバージョン情報とが同じではないので、本実施例で云えば、このMFP10では両面印刷は実行できない。
そこで、フォローAPI19は、上述した仮のインタフェース(C´,D´)を用い、アプリ(2)によるサービスとは異なる擬似サービス、例えば、ユーザ希望のサービスに完全には一致しないものの、2up印刷された用紙を当該ユーザに提供している。
これにより、アプリ(2)の起動は明らかになり、ユーザは、現在の状況がコントローラAPI14に対応していないアプリ(2)がMFP10にインストールされた旨を認識する。この結果、当該アプリ(2)を改めてMFP10にインストールする必要がなくなり、ユーザの所望するサービスの早期完了化が可能になるし、現在の状況が明らかになってMFP10の信頼性向上にも寄与する。
また、フォローAPI19は、このフォローAPI19が必要になる場合にのみ、アプリ(2)とともにMFP10にインストールされる。よって、多くのAPIをMFP10に保持する必要がないことから、MFP10の能力低下も防止可能になる。
さらに、管理部16が、起動の要求されたアプリ(2)に対し、記憶された関連付け情報に基づいてその起動及びフォローAPI19を呼び出す旨を通知するので、当該アプリ(2)は確実に起動する。
本発明は、上記実施例に限定されず、特許請求の範囲を逸脱しない範囲で種々の変更を行うことができる。
例えば、上記実施例では、フォローAPI19はアプリ(2)によるサービスとは異なる擬似サービスをユーザに提供しているが、必ずしもこの形態に限定されるものではなく、アプリ(2)によるサービスを提供できない旨をユーザに知らせても良く、この場合にもアプリ(2)の起動は明らかになる。
また、当該フォローAPI19によるユーザへの振る舞いは、アプリケーションを起動させる限り、このアプリケーションの作成者が自由に決定できる。
さらに、当該フォローAPI19はMFP10内に複数配置されていても良い。この場合には、APIとアプリケーションとの関連付けの際に、アプリケーション毎に異なるAPIを関連付けることができる。
本実施例のMFPを有するシステム構成図である。 図1のMFPの具体的な構成図である。 図1のアプリケーションをインストールする際に用いられるパッケージの説明図である。 図3のパッケージを用いたインストールまでのフローチャートである。 図4にてインストールされたアプリケーションとフォローAPIとの関連付け情報の説明図である。 図4にてインストールされた後のイベントフローチャートである。 従来におけるアプリケーションが使用したAPIとコントローラAPIとの関係の説明図である。 従来におけるアプリケーション及びコントローラAPIの関係を示す図である。 図6におけるアプリケーション、フォローAPI及びコントローラAPIの関係を示す図である。
符号の説明
10 MFP(電子機器)
14 コントローラAPI
16 アプリケーション管理部(管理部)
17 記憶部
18b アプリ(2)(アプリケーション)
19 APIフォローAPI(フォローAPI)
20 コントローラ
22 プリンタ(デバイス)
24 スキャナ(デバイス)
26 FAX(デバイス)
60 アプリケーションパッケージ
62 インストーラ

Claims (6)

  1. コントローラを介してデバイスを制御する電子機器であって、
    APIを使用して作成されており、前記デバイスを操作してサービスをユーザに提供し、前記電子機器の動作時に選択されるアプリケーションを管理する管理部と、
    該アプリケーションと前記APIとの関連付け情報を記憶する記憶部と、
    該アプリケーションに呼び出され、該デバイスの操作を前記コントローラに要求するコントローラAPIと、
    前記関連付け情報に基づいて該アプリケーションに呼び出されており、前記APIのバージョン情報が前記コントローラAPIのバージョン情報よりも新しい場合には、該コントローラAPIに未実装のインタフェースで前記コントローラAPIに対して前記デバイスの操作を前記コントローラに要求させるフォローAPIと
    を具備することを特徴とする電子機器。
  2. 請求項1に記載の電子機器であって、
    前記フォローAPIは、前記アプリケーションによるサービスとは異なる擬似サービスを前記ユーザに提供することを特徴とする電子機器。
  3. 請求項1に記載の電子機器であって、
    前記フォローAPIは、前記アプリケーションによるサービスを提供できない旨を前記ユーザに知らせることを特徴とする電子機器。
  4. 請求項1から3のいずれか一項に記載の電子機器であって、
    前記フォローAPIは、前記アプリケーションに同梱されており、該アプリケーションが前記電子機器にインストールされる時点にて、前記APIのバージョン情報が前記コントローラAPIのバージョン情報よりも新しい場合にのみ、該アプリケーションとともに前記電子機器にインストールされることを特徴とする電子機器。
  5. 電子機器がコントローラを介してデバイスを制御し、アプリケーションによるサービスをユーザに提供する方法であって、
    前記電子機器は、その動作時に選択される複数のアプリケーションを管理する管理部と、該アプリケーションと該アプリケーションの作成時に使用したAPIとの関連付け情報を記憶する記憶部とを備えており、
    前記電子機器が、コントローラAPIのバージョン情報よりも新しいバージョン情報で構成されたAPIを使用して作成したアプリケーションの起動をユーザから要求されるステップと、
    前記管理部が、前記記憶された関連付け情報を読み込むステップと、
    該管理部が、前記起動の要求されたアプリケーションに対し、前記関連付け情報に基づいて該アプリケーションの起動する旨を通知するとともに、前記コントローラAPIに未実装のインタフェースを有するフォローAPIを呼び出す旨を通知するステップと、
    該起動の要求されたアプリケーションが、該フォローAPIを呼び出すステップと、
    該フォローAPIが前記コントローラAPIを呼び出すステップと、
    前記コントローラAPIが、前記デバイスの操作を前記コントローラに要求するステップと、
    該コントローラが、前記デバイスを操作するステップと
    から構成されるサービス提供方法。
  6. 電子機器がコントローラを介してデバイスを制御し、アプリケーションによるサービスをユーザに提供するプログラムであって、
    前記電子機器は、その動作時に選択される複数のアプリケーションを管理する管理部と、該アプリケーションと該アプリケーションの作成時に使用したAPIとの関連付け情報を記憶する記憶部とを備え、
    前記プログラムは、前記電子機器のコンピュータに備えられており、
    前記電子機器が、コントローラAPIのバージョン情報よりも新しいバージョン情報で構成されたAPIを使用して作成したアプリケーションの起動をユーザから要求されるステップと、
    前記管理部が、前記記憶された関連付け情報を読み込む手順と、
    前記管理部が、前記起動の要求されたアプリケーションに対し、前記関連付け情報に基づいて該アプリケーションの起動する旨を通知するとともに、前記コントローラAPIに未実装のインタフェースを有するフォローAPIを呼び出す旨を通知する手順と、
    該起動の要求されたアプリケーションが、該フォローAPIを呼び出す手順と、
    該フォローAPIが前記コントローラAPIを呼び出す手順と、
    前記コントローラAPIが、前記デバイスの操作を前記コントローラに要求する手順と、
    該コントローラが、前記デバイスを操作する手順と
    を実行させるためのプログラム。
JP2007209619A 2007-08-10 2007-08-10 電子機器、サービス提供方法及びプログラム Expired - Fee Related JP5065805B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007209619A JP5065805B2 (ja) 2007-08-10 2007-08-10 電子機器、サービス提供方法及びプログラム
CN200810134794.5A CN101365028A (zh) 2007-08-10 2008-07-29 电子机器以及服务提供方法
US12/184,367 US20090044205A1 (en) 2007-08-10 2008-08-01 Electronic appliance, service offering method, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007209619A JP5065805B2 (ja) 2007-08-10 2007-08-10 電子機器、サービス提供方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2009043153A JP2009043153A (ja) 2009-02-26
JP5065805B2 true JP5065805B2 (ja) 2012-11-07

Family

ID=40347689

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007209619A Expired - Fee Related JP5065805B2 (ja) 2007-08-10 2007-08-10 電子機器、サービス提供方法及びプログラム

Country Status (3)

Country Link
US (1) US20090044205A1 (ja)
JP (1) JP5065805B2 (ja)
CN (1) CN101365028A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8789138B2 (en) 2010-12-27 2014-07-22 Microsoft Corporation Application execution in a restricted application execution environment
KR102003739B1 (ko) * 2012-11-08 2019-07-25 삼성전자주식회사 액세스 노드에 의한 애플리케이션 호스팅 방법 및 장치
JP5782055B2 (ja) * 2013-01-31 2015-09-24 京セラドキュメントソリューションズ株式会社 画像形成装置
JP6865144B2 (ja) * 2017-09-28 2021-04-28 Kddi株式会社 ログ分析装置、ログ分析方法、ログ分析プログラム及びログ分析システム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6825941B1 (en) * 1998-09-21 2004-11-30 Microsoft Corporation Modular and extensible printer device driver and text based method for characterizing printer devices for use therewith
JP4365148B2 (ja) * 2002-07-19 2009-11-18 株式会社リコー 画像形成装置及びラッピング処理方法並びにプログラム
JP2004312711A (ja) * 2003-03-25 2004-11-04 Ricoh Co Ltd 画像形成装置及び画像形成装置を遠隔のアプリケーションにより操作する方法
JP2004334767A (ja) * 2003-05-12 2004-11-25 Nec Corp 情報処理方法、情報処理装置及び情報処理プログラム
JP2005084898A (ja) * 2003-09-08 2005-03-31 Brother Ind Ltd 印刷データ加工システム、および該システム用のプログラム
JP4591148B2 (ja) * 2005-03-25 2010-12-01 富士ゼロックス株式会社 機能変換装置、機能変換方法、機能変換プログラム、デバイスデータ生成装置、デバイスデータ生成方法、及びデバイスデータ生成プログラム
JP4358203B2 (ja) * 2006-05-01 2009-11-04 シャープ株式会社 複合機、複合機の制御方法、制御装置、制御装置の制御方法、複合機制御システム、制御プログラム、およびコンピュータ読み取り可能な記録媒体

Also Published As

Publication number Publication date
CN101365028A (zh) 2009-02-11
US20090044205A1 (en) 2009-02-12
JP2009043153A (ja) 2009-02-26

Similar Documents

Publication Publication Date Title
JP4276909B2 (ja) 画像形成装置およびアプリ起動制御方法
US8776045B2 (en) Device, method and program for creating installer
US20110134453A1 (en) Multifunction printer and recording medium
US20140298310A1 (en) Information processing apparatus, firmware renewing method, and computer program
US10609509B2 (en) Information processing system, information processing apparatus, and information processing method for providing application information
JP6927276B2 (ja) 情報処理システム、情報処理装置、情報処理方法およびプログラム
JP2012023624A (ja) 複合機
JP2018106410A (ja) 画像形成装置、機能追加方法、プログラム、
US20190146727A1 (en) Image forming apparatus, control method for image forming apparatus, and storage medium
JP5065805B2 (ja) 電子機器、サービス提供方法及びプログラム
US20190349492A1 (en) Image forming apparatus equipped with operating unit, control method therefor, and storage medium
JP4415810B2 (ja) 画像処理装置およびその制御方法および制御プログラム
JP5293462B2 (ja) 電子機器、情報処理方法、及び情報処理プログラム
JP6287880B2 (ja) 画像形成装置、画像形成方法、及び画像形成プログラム
JP2009032287A (ja) リソース情報を取得する装置及び方法
US9864556B2 (en) Image forming apparatus having web browser, method of controlling image forming apparatus, and storage medium
JP2012162044A (ja) 情報処理システム、画像形成装置、情報処理方法、及びプログラム
JP2022051794A (ja) 画像形成装置およびその制御方法
JP5258474B2 (ja) 電子機器及びアプリケーション実行方法
JP2018020562A (ja) 画像形成装置、画像形成方法、およびプログラム
JP5011502B2 (ja) 電子機器、サービス提供方法及びプログラム
JP2021043547A (ja) 情報処理装置および情報処理装置の制御方法ならびにプログラム
JP2010214725A (ja) 印刷装置及び印刷システムと、印刷装置の制御方法
JP7156446B2 (ja) サーバ、システム、制御方法およびプログラム
US20240146855A1 (en) Control method of information processing apparatus and information processing system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100727

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120412

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120416

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120424

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120516

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120810

R150 Certificate of patent or registration of utility model

Ref document number: 5065805

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150817

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees