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

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

Info

Publication number
JP2008176674A
JP2008176674A JP2007011026A JP2007011026A JP2008176674A JP 2008176674 A JP2008176674 A JP 2008176674A JP 2007011026 A JP2007011026 A JP 2007011026A JP 2007011026 A JP2007011026 A JP 2007011026A JP 2008176674 A JP2008176674 A JP 2008176674A
Authority
JP
Japan
Prior art keywords
application program
external device
identification information
application
network
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
JP2007011026A
Other languages
English (en)
Other versions
JP5011502B2 (ja
Inventor
Sachiko Yoshimura
幸子 吉村
Takanao Kawai
孝尚 川合
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 Mita Corp
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 Mita Corp filed Critical Kyocera Mita Corp
Priority to JP2007011026A priority Critical patent/JP5011502B2/ja
Publication of JP2008176674A publication Critical patent/JP2008176674A/ja
Application granted granted Critical
Publication of JP5011502B2 publication Critical patent/JP5011502B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】ネットワークに接続された複数の外部機器の機能や能力が個々に違っていても、共通のアプリケーションでサービスを提供する。
【解決手段】ネットワーク100には、複数のMFP104とともにサーバ102が接続さている。サーバ102には、プラットフォームとなるOS110とともに仮想マシン112によるアプリケーション実行環境が構築されている。またサーバ102には複数種類のコントローラAPI114〜118が組み込まれており、これらはMFP104の個々の機能や能力の違いに合わせて予め用意されている。サーバ102は、MFP104からアプリケーションの実行要求が発せられると、その機能や能力に応じて適当なコントローラAPI114〜118を選択する。
【選択図】図2

Description

本発明は、ネットワーク上でサーバ型のコンピュータとして機能する電子機器、ネットワークを通じてサービスを提供するサービス提供方法及びコンピュータにより実行可能なプログラムに関するものである。
従来、画像形成装置にアプリケーションの実行環境を構築して、そこにインストールされたアプリケーションによるサービスを画像形成装置で利用する先行技術が知られている(例えば、特許文献1参照)。この先行技術では、画像形成装置に複数のアプリケーションをインストールしておき、これらを共通の仮想マシン上で動作させている。仮想マシンがいずれかのアプリケーションを実行する際、画像形成装置のハードウエア資源(プリンタやスキャナ、FAX等)を制御するためにアプリケーションからAPI(アプリケーションプログラムインタフェース)を呼び出し、画像形成装置のコントロールサービスを制御するものとなっている。
上記の他に、画像形成装置とは別のネットワークプリントサーバ又はプリンタコントローラにユーザアプリケーションをインストールしておき、画像形成装置に対して、サーバのオペレーティングシステム上で実行したアプリケーションによるサービスを提供する先行技術が知られている(例えば、特許文献2参照。)。この先行技術では、サーバ内のAPIを通じてオペレーティングシステムが備える各種機能をアプリケーションに提供している。
特開2004−312711号公報(図3) 特開2005−38010号公報(図4)
先に挙げた先行技術では、画像形成装置内に多数のアプリケーションをインストールするための記憶容量が必要であり、それだけハードウエア資源が圧迫されるという問題がある。また、アプリケーションによるサービスを利用するには、各画像形成装置にアプリケーションをインストールしなければならないため、その分の記憶容量が各画像形成装置に要求されるし、多数の画像形成装置を使用する場合、アプリケーションをインストールする作業の手間が膨大である。
この点、後に挙げた先行技術では、ネットワーク上のサーバでアプリケーションを管理しているため、各画像形成装置にアプリケーションをインストールする必要はない。
しかしながら、ネットワークに接続された複数の画像形成装置について、それぞれの有する機能(プリンタ、スキャナ、FAX等)にばらつきがある場合、対応可能な機能別に複数のアプリケーションを用意しなければならない。
そこで本発明は、ネットワークに接続された複数の外部機器の機能や能力が個々に違っていても、共通のアプリケーションでサービスを提供することができる技術の提供を課題としている。
上記の課題を解決するため、本発明は第1にサーバとしての機能を有した電子機器を提供する。第2に本発明は、サーバとしての機能を有した電子機器によるサービス提供方法を提供する。また第3に本発明は、サーバとしての機能を有した電子機器のコンピュータにて実行可能なプログラムを提供する。
本発明の電子機器は、複数の外部機器とともにネットワークに接続され、このネットワーク上でサーバ型のコンピュータとして機能するものである。電子機器は、コンピュータとしての機能を実現するためのプラットフォームの他に、外部機器に対してネットワークを通じてその動作を制御するサービスを提供するためのアプリケーションを有している。また電子機器は、複数の外部機器が有する固有の特性に応じて予め用意された複数種類のアプリケーションプログラムインタフェースを有している。
本発明の電子機器に対しては、ネットワークを通じて外部機器からアプリケーションの実行要求を発することができ、これを受けて電子機器がアプリケーションを実行することで、外部機器がサービスの提供を受けることができる。このとき電子機器は、実行要求を発した外部機器に固有の特性に応じて複数種類のアプリケーションプログラムインタフェースの中からいずれかを選択し、この選択したアプリケーションプログラムインタフェースを通じてプラットフォーム上でアプリケーションを実行する。
すなわち本発明では、外部機器の機能や能力の違いに合わせて予め複数種類のアプリケーションプログラムインタフェース(以下、「API」という。)がサーバに組み込まれているため、電子機器から外部機器にサービスを提供するに際し、その実行要求を発した外部機器に適したAPIを選択し、その上で共通のアプリケーションを実行することができる。このため、アプリケーションを構築するにあたり、複数の外部機器の能力差を考慮して複数パターンのアプリケーションを用意する必要がない。すなわち、電子機器には汎用性の高い共通のアプリケーションを用意しておき、後は外部機器の能力に応じて用意されたAPIをその都度、適当なものに切り替えて使用すればよい。
また本発明では、複数ある外部機器に対して個々を識別するための識別情報を付与するとともに、各識別情報について予め対応するAPIの種類を関連付けた外部機器情報を記憶しておくことができる。この場合、ある外部機器が実行要求を発すると、外部機器情報からその外部機器の識別情報を取得し、この取得した識別情報に対して予め関連付けられた種類のAPIを選択することができる。
このように、予め個々の外部機器について識別情報とAPIの種類とを関連付けて記憶しておけば、実行要求を発した外部機器に対して迅速に適当なAPIを選択し、速やかに電子機器からサービスを提供することができる。
本発明では、上述した外部機器情報の記憶に関して、1つの外部機器を識別する1つの識別情報に対して複数種類のAPIを関連付けておくこともできる。そして、実際にサービスの提供にあたり、外部機器情報から取得した識別情報に対して複数種類のAPIが関連付けられている場合、その中から使用可能な種類のAPIを選択してアプリケーションを実行することができる。
このような態様であれば、たとえ一部のAPIが動作可能な状態でなかったとしても、その他の動作可能なAPIを選択してアプリケーションを実行することができるので、外部機器に対するサービスの提供を滞りなく行うことができる。
また本発明では、電子機器がアプリケーションを実行中であっても、この間に動作していない他のAPIについてはアイドル状態であるため、これを更新する等の保守作業を容易に行うことができる。この点、先行技術ではアプリケーションの実行中はAPIが完全に占有されてしまうため、アプリケーションの実行が終了するまでAPIを更新する等の保守作業が制約されてしまう。これに対し、本発明ではアプリケーションの実行中でも容易にAPIの更新を行うことができるという利点がある。
本発明のサービス提供方法は、上述した電子機器の動作を伴って実現される。またプログラムは、電子機器のコンピュータにより実行される。
本発明によれば、ネットワークに接続された複数の外部機器に対して、個々の機能や能力の違いに依存することなく、共通のアプリケーションを用いてサービスを提供することができる。
また、実際にサービスの提供を行っている途中であっても、動作していないAPIについてはフリーに更新等の保守作業を行うことができるため、ネットワーク全体の稼働効率を低下させることなくバージョンアップ等の作業を行うことができる。
以下、本発明の好ましい一実施形態について、図面を参照しながら説明する。
図1は、ネットワーク環境の一構成例を示した概略図である。このネットワーク環境は、例えばLAN(ローカルエリアネットワーク)等のネットワーク100を備え、ネットワーク100にはサーバ102をはじめ、複数の多機能周辺機器(以下、MFPと称する。)104やプリンタ106等が接続されている。サーバ102は例えばアプリケーションサーバであり、またMFP104は、画像形成装置を基本構成としたネットワーク対応のデジタル複合機である。その他にもネットワーク100には、図示されていないクライアント型PC(パーソナルコンピュータ)や別のサーバ等が接続されている。
図2は、サーバ102及びMFP104の各構成例をより具体的に示した図である。以下、それぞれの構成について説明する。なお図2には、複数あるMFP104のうち1台のみが示されている。
サーバ102は、ネットワーク100に接続された状態でサーバ型のコンピュータとして機能する。このためサーバ102は、図示しないCPUやメモリデバイス等のハードウエア資源を備えている。サーバ102は、これらハードウエア資源を用いてサーバ用の基本ソフトウェアであるOS(オペレーティングシステム)110を実行し、それによってサーバ型コンピュータとしてのプラットフォームを構築している。
またサーバ102には、そのハードウエア資源を用いてOS110上にJava(登録商標)仮想マシン112が構築されている。この仮想マシン112はコントローラAPI114,116,118を通じて各種のJava(登録商標)アプリケーション120,122,124,126を実行することができる。
さらにサーバ102には、仮想マシン112上にコントローラAPI切替コントローラ200としての機能要素が構成されている。このコントローラAPI切替コントローラ200は、OS110上で仮想マシン112が各アプリケーション120〜126を実行する際、いずれか適切なコントローラAPI114〜118を選択的に切り替えて使用する。なお、コントローラAPI切替コントローラ200をはじめ、複数あるコントローラAPI114〜118及びアプリケーション120〜126についてはさらに後述する。
サーバ102にインストールされたOS110には、ネットワーク制御部110aとしての機能要素が含まれている。ネットワーク制御部110aは、所定の通信プロトコルを使用してネットワーク100に接続する。
またサーバ102は、記憶装置としてのデータ格納部128及び外部装置能力記憶部130等を有している。これら記憶装置は、例えばハードディスク装置や半導体メモリ等のハードウエア資源を用いて構成されている。データ格納部128には、OS110の実行に伴う各種の制御情報が記憶されており、サーバ102のコンピュータは適宜、データ格納部128から制御情報を読み出してサーバとしての機能を実行する。また外部装置能力記憶部130には、サーバ102からみて外部機器(外部装置)となるMFP104に固有の情報が記憶されている。なお、外部装置能力記憶部130についてはさらに後述する。
MFP(Multiple Function Peripheral)104は、例えば複写機としての機能に加えて、プリンタ222やスキャナ224、ファクシミリ(FAX)226としての機能を備えている。プリンタ222は、原稿の複写物やFAX226にて受信した文書等の印刷を行う。またスキャナ224は、原稿を読み取って画像データを生成するものであり、この画像データを元に複写やFAX送信が行われる。またMFP104はこれらの機能に加えて、ネットワークプリンタやネットワークスキャナ、あるいはネットワーククライアントとしての機能をも複合的に備えている。ネットワーク対応のプリンタ機能やスキャナ機能等は、ネットワーク100を通じて他のクライアントPCに利用される。
MFP104にも、CPUやメモリデバイス等のハードウエア資源が装備されている。MFP104は、ハードウエア資源を用いてOS228を実行することで、ネットワーク100に接続されたクライアントコンピュータとしても機能することができる。上記のプリンタ222やスキャナ224、FAX226等の機能は、コントローラ220の管理の下にOS228上で動作する。MFP104についても、そのOS228にネットワーク制御部228aとしての機能要素が組み込まれている。ネットワーク制御部228aは、MFP104のOS228がネットワーク100に接続する際の動作を制御する。なお、スキャナ224やFAX226の機能は、これらを全てMFP104が備えている場合もあれば、その一部のみを備えている場合もあるし、いずれも備えていない場合もある。いずれの機能を備えるかは、個々のMFP104の機種(型式)や個体差に基づく。
MFP104の基本的な構成については公知のものを適用することができ、具体的には、印刷用紙を供給する用紙供給部をはじめ、原稿の画像を読み取るスキャナ(画像読取部)、原稿をスキャナの画像読取位置へ搬送する自動原稿搬送装置(ADF)、画像データに基づいて形成した画像を用紙に転写するプリントエンジン(画像形成部)、転写済みの用紙に対してソートや穴開け、ステープル処理等の後処理を行う後処理装置等を備えており、これらの動作は上記のコントローラ220により制御されている。またMFP104は、ユーザの操作を受け付けるための操作キーや、タッチ式の操作パネル(図示されていない)を備えている。操作パネルには、タッチ操作用のボタン領域の他、文字情報や案内画像等が表示される。
以上がネットワーク100に接続されたサーバ102及びMFP104のそれぞれの構成である。このような環境下においてサーバ102は、複数あるMFP104に対し、ネットワーク100を通じてアプリケーション120〜126の実行に伴うサービスを個別に提供する。これにより各MFP104は、それ自身が個々にアプリケーションをインストールしていなくても、あたかも自己が保有しているかのようにしてアプリケーション120〜126の実行に伴う機能を活用することが可能となる。
ただし、上述したように複数のMFP104については、個々の機種(型式)等に応じて能力に違いがある。例えば複数あるMFP104のうち、上記のスキャナ224やFAX226としての機能を全て備えた機種もあれば、その一部しか備えていない機種もあり、あるいは両方を備えていない機種もある。このように、同じネットワーク100に接続されたMFP104であっても、個々に能力の違いがあるため、サーバ102が保有するアプリケーション120〜126についても、全てのMFP104が全く共通に利用できるわけではない。例えば、あるアプリケーションがプリンタ222、スキャナ224及びFAX226の全てを制御する機能を有していても、これを利用するMFP104にプリンタ222の機能しか備わっていなければ、そのアプリケーションがスキャナ224やFAX226の機能を呼び出そうとしても、MFP104では応答することができない。
そこで本実施形態では、上記のようにサーバ102が複数のコントローラAPI114〜118を予め保有しており、各コントローラAPI114〜118は、MFP104の能力の違いに応じてタイプが異なっている。そしてサーバ102は、アプリケーション120〜126を利用するMFP104の能力に応じて適切なコントローラAPI114〜118を選択的に切り替えて使用するものとしている。以下、その具体的な動作例について説明する。また、この間にサーバ102は、データ格納部128から読み出したプログラムを実行しつつ以下の動作を行うことができる。
図3は、MFP104からの要求に応じてサーバ102がアプリケーションの実行に伴うサービスの提供を返すまでの手順例を示したシーケンス図である。
ステップS100:例えばユーザの操作によりMFP104で利用するアプリケーション120〜126を選択する。MFP104は、ユーザにより選択されたアプリケーション120〜126の実行要求をサーバ102に送信する。このときユーザは、例えばMFP104の操作パネルを通じてアプリケーションを選択する操作を行うことができる。操作パネルの表示画面には、サーバ102にインストールされたアプリケーション120〜126のタイトル一覧(利用可能なもの)がボタン形式等で表示されており、その中からユーザが所望のタイトルボタンに触れることで、アプリケーション120〜126を選択する操作が行われる。
ステップS101:選択されたアプリケーション120〜126の実行要求をサーバ102のOS110にて受け付ける。OS110は、MFP104から実行要求を受け付けたアプリケーションの種類(あるいはタイトル)とともに、その実行要求を発したMFP104に関する情報をコントローラAPI切替コントローラ200に通知する。
ステップS102,S103:コントローラAPI切替コントローラ200は外部装置能力記憶部130にアクセスし、実行要求を発したMFP104に関する情報に基づいてコントローラAPI114〜118の関連情報を取得する。
ステップS104:コントローラAPI切替コントローラ200は、取得した関連情報に基づいて適当なコントローラAPI114〜118を選択する。ここで選択されるコントローラAPI114〜118は、実行要求を発したMFP104が有する固有の特性、つまり、その能力に合わせて構成されたものとなる。例えば、実行要求を発したMFP104がスキャナ224の機能を備えていない場合には、アプリケーション120〜126がスキャナ機能の呼び出しを行わないことを前提として構成されたコントローラAPI114〜118が選択される。なお、コントローラAPI114〜118の選択とその関連情報については別の図面を参照しながら後述する。
ステップS105:コントローラAPI切替コントローラ200は、先のステップS104で選択した適当なコントローラAPI114〜118をアプリケーション120〜126に渡す。
ステップS106,S107:アプリケーション120〜126は、渡されたコントローラAPI114〜118を認識すると、認識完了をコントローラAPI切替コントローラ200に通知する。
ステップS108,S109:コントローラAPI切替コントローラ200は、MFP104から実行要求があったアプリケーション120〜126を起動する。
ステップS110:起動されたアプリケーション120〜126は、選択されたコントローラAPI114〜118を通じてOS110(仮想マシン112)上で実行される。
ステップS111:サーバ102のOS110(仮想マシン112)上でアプリケーション120〜126が実行されると、その実行要求を発したMFP104に対してアプリケーション120〜126の実行に伴うサービスが提供される。このときアプリケーション120〜126は、適当なコントローラAPI114〜118を通じてMFP104の有する能力、つまり、プリンタ222やスキャナ224、FAX226の機能を利用してMFP104の動作を制御することができる。
図4は、コントローラAPI切替コントローラ200が適当なコントローラAPI114〜118を選択する手順例を示したフローチャートである。コントローラAPI切替コントローラ200は、上記シーケンス中のステップS104で図4の手順を実行する。以下、フローチャートの手順例に沿って説明する。
本フローチャートの実行に際し、コントローラAPI切替コントローラ200は、実行要求を発したMFP104の個体を識別するための識別情報を取得する。識別情報としては、例えばネットワーク100内でのMFP104の装置名称や装置番号等である。ここでは一例として、装置名称を使用する。
ステップS200:コントローラAPI切替コントローラ200は、取得した識別情報(装置名称「MfpName_C」)に基づき、外部装置能力記憶部130から装置名称「MfpName_C」に関連付けられたコントローラAPI114〜118を取得する。
図5は、外部装置能力記憶部130に記憶されている関連付けリストの第1例である。例えば、ネットワーク100に装置名称「MfpName_A」,「MfpName_B」,「MfpName_C」,「MfpName_D」,「MfpName_E」,・・・が付与されたMFP104が接続されている場合を想定する。この場合、各MFP104は、それぞれ固有の能力に応じて使用可能なコントローラAPI114〜118が異なる。図5に示される第1例では、サーバ102に組み込まれたコントローラAPI114〜118について、これらを(1)〜(3)の番号で識別し、MFP104の装置名称とコントローラAPI114〜118の番号とを相互に関連付けてリスト化している。なお、(1)〜(3)の各番号は、3種類のコントローラAPI114〜118のいずれかに該当するものとする。なお、以降の説明では表記の煩雑化を防止するため、コントローラAPIを番号(1),(2),(3),・・・によって識別する場合、これまでに使用した参照符号の記載を省略するものとする。
ステップS200では、コントローラAPI切替コントローラ200は図5に示される関連付けリストを参照して、装置名称「MfpName_C」に関連付けられた3種類のコントローラAPI(3),(2),(1)を取得することができる。
ステップS201:次にコントローラAPI切替コントローラ200は、取得した3種類のうち、コントローラAPI(3)が現時点で正常に動作可能な状態であるか否かを確認する。ここで「動作可能な状態」とは、特にコントローラAPI(3)が更新中である等の事情がなく、サーバ102において問題なく利用することができることを意味する。その結果、コントローラAPI(3)が動作可能であれば(Yes)、コントローラAPI切替コントローラ200はステップS204に進み、選択されたアプリケーション120〜126にコントローラAPI(3)を渡す。
これに対し、コントローラAPI(3)が現時点で動作可能でないと判断すると(No)、コントローラAPI切替コントローラ200は次にステップS202に進む。
ステップS202:コントローラAPI切替コントローラ200は、次にコントローラAPI(2)が現時点で正常に動作可能な状態であるか否かを確認する。その結果、コントローラAPI(2)が動作可能であれば(Yes)、コントローラAPI切替コントローラ200はステップS205に進み、選択されたアプリケーション120〜126にコントローラAPI(2)を渡す。
これに対し、コントローラAPI(2)が現時点で動作可能でないと判断すると(No)、コントローラAPI切替コントローラ200は次にステップS203に進む。
ステップS203:コントローラAPI切替コントローラ200は、次にコントローラAPI(1)が現時点で正常に動作可能な状態であるか否かを確認する。その結果、コントローラAPI(1)が動作可能であれば(Yes)、コントローラAPI切替コントローラ200はステップS206に進み、選択されたアプリケーション120〜126にコントローラAPI(1)を渡す。
以上の手順を経て、コントローラAPI切替コントローラ200は番号(1)〜(3)の中からいずれかのコントローラAPIを選択することができる。図5の関連付けリストでは、1台のMFP104に対して複数種類のコントローラAPIが一定の優先順位(3→2→1の順)で割り当てられているが、優先順位の高いコントローラAPIが動作可能でなくても、次の優先順位のコントローラAPIが動作可能であれば、そのコントローラAPIを使用することができる。
一方、最も優先順位の低いコントローラAPI(1)についても現時点で動作可能でないと判断すると(No)、コントローラAPI切替コントローラ200は次にステップS207に進む。
ステップS207:コントローラAPI切替コントローラ200は、現時点で適当なコントローラAPIがないことをOS110に通知する。この通知を受けたOS110は、実行要求を発したMFP104に対して、現在アプリケーション120〜126が利用できない旨の通知を行う。この場合ユーザは、サーバ102においてコントローラAPIが利用可能となるのを待ってから改めてアプリケーション120〜126を選択することになる。
〔その他の関連付け〕
以上の第1例は、複数のMFP104を装置名称で識別し、それぞれに対応するコントローラAPIの番号を関連付けた場合であるが、この他にも、本実施形態では複数のMFP104とコントローラAPI114〜118との関連付けについて、それぞれに固有の特性に応じて以下のパターンを適用することができる。
〔第2例〕
図6は、外部装置能力記憶部130に記憶されている関連付けリストの第2例である。例えば、ネットワーク100に複数の機種「MfpModel_A」,「MfpModel_B」,「MfpModel_C」,「MfpModel_D」,「MfpModel_E」,・・・のMFP104が接続されている場合を想定する。この場合、各MFP104は、それぞれ機種に固有の能力に応じて使用可能なコントローラAPI114〜118が異なる。図6に示される第2例では、サーバ102に組み込まれたコントローラAPI114〜118を(1)〜(3)の番号で識別し、MFP104の機種とコントローラAPI114〜118の番号とを相互に関連付けてリスト化している。
第2例のパターンを適用した場合、コントローラAPI切替コントローラ200は、MFP104が実行要求を発すると同時に、そのMFP104の機種名を取得して、その機種名から関連付けを参照し、使用するコントローラAPIを選択する。例えば、実行要求を発したMFP104の機種名が「MfpModel_C」である場合、上記のステップS200では、コントローラAPI切替コントローラ200は図6に示される関連付けリストを参照して、機種「MfpModel_C」に関連付けられた3種類のコントローラAPI(3),(2),(1)を取得することができる。
〔第3例〕
図7は、外部装置能力記憶部130に記憶されている関連付けリストの第3例である。例えば、ネットワーク100に接続された複数のMFP104について、装置名称「MfpName_A」,「MfpName_B」,「MfpName_C」,「MfpName_D」,「MfpName_E」,・・・で識別されるものと、機種名「MfpModel_A」,「MfpModel_B」,「MfpModel_C」,「MfpModel_D」,「MfpModel_E」,・・・で識別されるものが混在する場合を想定する(全てのMFP104が装置名称と機種名の両方を付与されていても良い)。この場合、各MFP104は、それぞれ装置名称又は機種に固有の能力に応じて使用可能なコントローラAPI114〜118が異なる。
図7に示される第3例では、サーバ102に組み込まれたコントローラAPI114〜118を(1)〜(3)の番号で識別し、MFP104の装置名称とコントローラAPI114〜118の番号とを相互に関連付けたものと、機種名とコントローラAPI114〜118の番号とを相互に関連付けたものとを混在させてリスト化している。
第3例のパターンを適用した場合、コントローラAPI切替コントローラ200は、MFP104が実行要求を発すると同時に、そのMFP104の装置名称又は機種名で表される識別子を取得して、その識別子が装置名称又は機種名のいずれを意味するかを判別する。そして、装置名称又は機種名から関連付けを参照し、使用するコントローラAPIを選択する。例えば、実行要求を発したMFP104の識別子が機種「MfpModel_C」を表している場合、上記のステップS200では、コントローラAPI切替コントローラ200は図7に示される関連付けリストを参照して、機種「MfpModel_C」に関連付けられた3種類のコントローラAPI(3),(2),(1)を取得することができる。
また本実施形態では、上記の関連付けを決定する際に以下の事情を考慮することができる。具体的には、各MFP104にオプションで搭載されている機能の有無と、それらの動作を制御することができるコントローラAPIのバージョンを考慮して関連付けが決定されている。
図8は、MFP104の装置名称と、搭載されている機能の有無及びコントローラAPIのバージョンとの対応関係を示した対応表である。なお図中の○印はその機能が搭載されていることを意味し、×印はその機能が搭載されていないことを意味する。例えば、装置名称「MfpName_A」のMFP104には、スキャナ224及びFAX226の機能が両方とも備わっており、このMFP104でスキャナ224及びFAX226の動作を制御できるコントローラAPIのバージョンは「1.10」である。
次に図9は、コントローラAPIの番号と、それぞれが制御可能なオプション機能及びそのバージョンとの対応関係を示した対応表である。例えば、番号(1)のコントローラAPIは、スキャナ224及びFAX226の機能に対応しており、そのバージョンは「1.10」である。
以上の性能を有する複数のMFP104と、複数種類のコントローラAPIを有するサーバ102とがネットワーク100に接続されていると想定した場合、これらは図10に示されるような関連付けがなされる。
〔第4例〕
図10は、外部装置能力記憶部130に記憶されている関連付けリストの第4例である。以下、各関連付けの根拠について説明する。
No.1:
装置名称「MfpName_A」のMFP104に搭載されたオプション機能に対応できるコントローラAPIのバージョンは1.10であるため、ここにはコントローラAPI(1)が関連付けられる。あるいは、バージョン1.10の機能を全てカバーしているバージョン2.10もここに関連付けることができる。
より詳細には、例えば誤って装置名称「MfpName_A」のMFP104に対してコントローラAPI(3)を関連付けてしまった場合、そのMFP104のスキャナ224の機能をアプリケーションが使用しようとしても、コントローラAPI(3)はスキャナ224の機能に対応していないため、アプリケーションは正常に動作することができない。したがって、装置名称「MfpName_A」のMFP104には、コントローラAPI(1),(2)が関連付けられることになる。
No.2:
装置名称「MfpName_B」のMFP104に搭載されたオプション機能に対応できるコントローラAPIのバージョンは2.10であるため、ここにはコントローラAPI(2)だけが関連付けられる。
例えば、誤って装置名称「MfpName_B」のMFP104に対してコントローラAPI(1)を関連付けてしまった場合、バージョン2.10でのみ実装されているインタフェースをアプリケーションが使用することができない。すなわち、MFP104ではコントローラAPIのバージョン1.10で実装されているインタフェースしか利用できないからである。
No.3:
装置名称「MfpName_C」のMFP104に搭載されたオプション機能に対応できるコントローラAPIのバージョンは2.08であるため、ここにはコントローラAPI(2)だけが関連付けられる。同バージョンのコントローラAPI(3)はスキャナ224の機能に対応していないので、ここには関連付けられない。
No.4:
装置名称「MfpName_D」のMFP104に搭載されたオプション機能に対応するコントローラAPIのバージョンは2.05であるため、ここにはコントローラ(2)が関連付けられる。また、FAX226の機能に対応する同バージョン以上のコントローラAPI(3),(4)もまたここに関連付けることができる。
No.5:
装置名称「MfpName_E」のMFP104に搭載されたオプション機能に対応するコントローラAPIのバージョンは2.00であり、また、装置名称「MfpName_E」のMFP104はオプションデバイス(スキャナ224及びFAX226)を搭載していないため、ここにはコントローラAPI(2),(3),(4),(5)を関連付けることができる。
上述した一実施形態によれば、ネットワーク100に接続された複数のMFP104に対し、サーバ102が共通のアプリケーションを利用したサービスを提供することができる。特に、複数のMFP104ごとに性能が違っていても、それぞれの性能に合わせて適切なコントローラAPIを選択的に使用することができるので、MFP104の個別の能力に合わせて複数のアプリケーションを用意する必要がなく、それだけサーバ102の構成を簡略化することができる。
またサーバ102では、動作中のコントローラAPIを止めることなしに、新規にコントローラAPIを組み込んだり、その他のコントローラAPIを更新したりすることができる。
ネットワーク環境の一構成例を示した概略図である。 サーバ及びMFPの各構成例をより具体的に示した図である。 MFPからの要求に応じてサーバがアプリケーションの実行に伴うサービスの提供を返すまでの手順例を示したシーケンス図である。 コントローラAPI切替コントローラが適当なコントローラAPIを選択する手順例を示したフローチャートである。 外部装置能力記憶部に記憶されている関連付けリストの第1例である。 外部装置能力記憶部に記憶されている関連付けリストの第2例である。 外部装置能力記憶部に記憶されている関連付けリストの第3例である。 MFPの装置名称と、搭載されている機能の有無及びコントローラAPIのバージョンとの対応関係を示した対応表である。 コントローラAPIの番号と、それぞれが制御可能なオプション機能及びそのバージョンとの対応関係を示した対応表である。 外部装置能力記憶部に記憶されている関連付けリストの第4例である。
符号の説明
100 ネットワーク
102 サーバ(アプリケーションサーバ)
104 MFP
110 オペレーティングシステム
112 仮想マシン
114,116,118 コントローラAPI
120,122,124,126 アプリケーション
200 コントローラAPI切替コントローラ

Claims (9)

  1. 複数の外部機器とともにネットワークに接続され、このネットワーク上でサーバ型のコンピュータとして機能する電子機器において、
    前記コンピュータとしての機能を実現するためのプラットフォームと、
    前記外部機器に対し、ネットワークを通じて前記外部機器の動作を制御するサービスを提供するためのアプリケーションと、
    複数の前記外部機器が有する固有の特性に応じて予め用意された複数種類のアプリケーションプログラムインタフェースと、
    ネットワークを通じて前記外部機器から発せられたアプリケーションの実行要求を受け付ける実行要求受付手段と、
    複数の前記外部機器のうち、前記実行要求を発した前記外部機器に固有の特性に応じて複数種類の前記アプリケーションプログラムインタフェースの中からいずれかを選択する選択手段と、
    前記実行要求に基づき、前記選択手段により選択された前記アプリケーションプログラムインタフェースを通じて前記プラットフォーム上で前記アプリケーションを実行するアプリケーション実行手段と
    を備えたことを特徴とする電子機器。
  2. 請求項1に記載の電子機器において、
    複数の前記外部機器に対して個々を識別するための識別情報を付与するとともに、各識別情報について予め対応するアプリケーションプログラムインタフェースの種類を関連付けた外部機器情報を記憶する記憶部をさらに備え、
    前記選択手段は、前記記憶部に記憶された外部機器情報から前記実行要求を発した前記外部機器の識別情報を取得し、この取得した識別情報に対して予め関連付けられた種類のアプリケーションプログラムインタフェースを選択することを特徴とする電子機器。
  3. 請求項2に記載の電子機器において、
    前記記憶部は、1つの前記外部機器を識別する1つの識別情報に対して複数種類のアプリケーションプログラムインタフェースを関連付けて記憶しており、
    前記選択手段は、取得した識別情報に対して複数種類のアプリケーションプログラムインタフェースが関連付けられている場合、その中から使用可能な種類のアプリケーションプログラムインタフェースを選択することを特徴とする電子機器。
  4. 複数の外部機器とともにサーバ型のコンピュータとして機能する電子機器が接続されたネットワーク環境下で、前記電子機器から前記外部機器に対しネットワークを通じて前記外部機器の動作を制御するサービスを提供するサービス提供方法において、
    前記電子機器に、
    コンピュータとしての機能を実現するためのプラットフォームと、
    前記外部機器に対してネットワークを通じて前記外部機器の動作を制御するサービスを提供するアプリケーションと、
    複数の前記外部機器が有する固有の特性に応じて予め用意された複数種類のアプリケーションプログラムインタフェースとを組み込んだ状態で、
    前記電子機器に対し、ネットワークを通じて前記外部機器から発せられたアプリケーションの実行要求を受け付けるステップと、
    複数の前記外部機器のうち、前記実行要求を発した前記外部機器に固有の特性に応じて複数種類の前記アプリケーションプログラムインタフェースの中からいずれかを選択するステップと、
    前記実行要求に基づき、前記選択手段により選択された前記アプリケーションプログラムインタフェースを通じて前記プラットフォーム上で前記アプリケーションを実行するステップと
    を実行することを特徴とするサービス提供方法。
  5. 請求項4に記載のサービス提供方法において、
    前記電子機器が有する記憶部に対し、予め複数の前記外部機器に対して個々を識別するための識別情報を付与するとともに各識別情報について予め対応するアプリケーションプログラムインタフェースの種類を関連付けた外部機器情報を記憶させておき、
    前記アプリケーションプログラムインタフェースを選択するステップでは、前記記憶部に記憶された外部機器情報から前記実行要求を発した前記外部機器の識別情報を取得し、この取得した識別情報に対して予め関連付けられた種類のアプリケーションプログラムインタフェースを選択することを特徴とするサービス提供方法。
  6. 請求項5に記載のサービス提供方法において、
    前記記憶部に対し、1つの前記外部機器を識別する1つの識別情報に対して複数種類のアプリケーションプログラムインタフェースを関連付けて記憶させておき、
    前記アプリケーションプログラムインタフェースを選択するステップでは、取得した識別情報に対して複数種類のアプリケーションプログラムインタフェースが関連付けられている場合、その中から使用可能な種類のアプリケーションプログラムインタフェースを選択することを特徴とするサービス提供方法。
  7. 複数の外部機器とともにネットワークに接続され、このネットワーク上でサーバ型のコンピュータとしての機能を実現するためのプラットフォームを有した電子機器のコンピュータに、
    ネットワークを通じて前記外部機器から発せられたアプリケーションの実行要求を受け付ける手順と、
    複数の前記外部機器のうち前記実行要求を発した前記外部機器に固有の特性に基づいて、予め複数の前記外部機器が有する固有の特性に応じて用意された複数種類のアプリケーションプログラムインタフェースの中からいずれかを選択する手順と、
    前記選択手段により選択された前記アプリケーションプログラムインタフェースを経由して、前記外部機器に対しネットワークを通じて前記外部機器の動作を制御するサービスを提供するためのアプリケーションを前記プラットフォーム上で実行する手順と
    を実行させるプログラム。
  8. 請求項7に記載のプログラムにおいて、
    前記アプリケーションプログラムインタフェースを選択する手順で前記電子機器のコンピュータに、
    予め複数の前記外部機器に対して個々を識別するための識別情報を付与するとともに各識別情報について予め対応するアプリケーションプログラムインタフェースの種類を関連付けた外部機器情報の中から前記実行要求を発した前記外部機器の識別情報を取得する手順と、
    前記取得した識別情報に対して予め関連付けられた種類のアプリケーションプログラムインタフェースを選択する手順と
    をさらに実行させるプログラム。
  9. 請求項8に記載のプログラムにおいて、
    前記アプリケーションプログラムインタフェースを選択する手順で前記電子機器のコンピュータに、
    前記取得した識別情報に対して複数種類のアプリケーションプログラムインタフェースが関連付けられている場合、その中から使用可能な種類のアプリケーションプログラムインタフェースを選択する手順をさらに実行させるプログラム。
JP2007011026A 2007-01-22 2007-01-22 電子機器、サービス提供方法及びプログラム Expired - Fee Related JP5011502B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007011026A JP5011502B2 (ja) 2007-01-22 2007-01-22 電子機器、サービス提供方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007011026A JP5011502B2 (ja) 2007-01-22 2007-01-22 電子機器、サービス提供方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2008176674A true JP2008176674A (ja) 2008-07-31
JP5011502B2 JP5011502B2 (ja) 2012-08-29

Family

ID=39703634

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP5011502B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012507060A (ja) * 2008-10-27 2012-03-22 サトーホールディングス株式会社 プログラムスクリプト言語を用いたラベルプリンタapi
WO2015045332A1 (ja) * 2013-09-24 2015-04-02 Necプラットフォームズ株式会社 連携装置、連携システム、サービス連携方法およびプログラム記憶媒体
JP2017506776A (ja) * 2014-02-27 2017-03-09 インテル・コーポレーション ラックスケールアーキテクチャコンピューティングシステムのためのワークロード最適化、スケジューリング及び配置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11175390A (ja) * 1997-09-30 1999-07-02 Internatl Business Mach Corp <Ibm> メディア・マネージャおよびアプリケーション・プログラム・インタフェースの実施方法
JP2004192105A (ja) * 2002-12-09 2004-07-08 Hitachi Ltd 記憶装置の接続装置およびそれを含むコンピュータシステム
JP2006203870A (ja) * 2004-12-22 2006-08-03 Ricoh Co Ltd サービス利用システム、情報処理装置、外部処理装置及びサービス利用プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11175390A (ja) * 1997-09-30 1999-07-02 Internatl Business Mach Corp <Ibm> メディア・マネージャおよびアプリケーション・プログラム・インタフェースの実施方法
JP2004192105A (ja) * 2002-12-09 2004-07-08 Hitachi Ltd 記憶装置の接続装置およびそれを含むコンピュータシステム
JP2006203870A (ja) * 2004-12-22 2006-08-03 Ricoh Co Ltd サービス利用システム、情報処理装置、外部処理装置及びサービス利用プログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012507060A (ja) * 2008-10-27 2012-03-22 サトーホールディングス株式会社 プログラムスクリプト言語を用いたラベルプリンタapi
US9870522B2 (en) 2008-10-27 2018-01-16 Sato Holdings Kabushiki Kaisha Label printer API using LUA program scripting language
WO2015045332A1 (ja) * 2013-09-24 2015-04-02 Necプラットフォームズ株式会社 連携装置、連携システム、サービス連携方法およびプログラム記憶媒体
JP2015064682A (ja) * 2013-09-24 2015-04-09 Necプラットフォームズ株式会社 外部サービス連携システム、外部サービス連携装置、外部サービス連携方法、および、コンピュータ・プログラム
JP2017506776A (ja) * 2014-02-27 2017-03-09 インテル・コーポレーション ラックスケールアーキテクチャコンピューティングシステムのためのワークロード最適化、スケジューリング及び配置
US10404547B2 (en) 2014-02-27 2019-09-03 Intel Corporation Workload optimization, scheduling, and placement for rack-scale architecture computing systems

Also Published As

Publication number Publication date
JP5011502B2 (ja) 2012-08-29

Similar Documents

Publication Publication Date Title
US8619293B2 (en) Image forming apparatus, image formation supporting system, and image formation supporting method which communicates with a handheld device
JP4625343B2 (ja) 画像形成装置、端末装置、情報処理方法、情報処理プログラム、及び記録媒体
EP3220302B1 (en) Application installation on an image forming apparatus
US20040239973A1 (en) Image forming apparatus and function key assignment method
WO2015198972A1 (en) Information processing apparatus, information processing method, and recording medium
JP2009015520A (ja) 情報処理装置及び情報処理装置を制御するプログラム及びプログラムを記憶した記憶媒体
JP2006202028A (ja) プログラム管理システムとその制御方法、ならびに記憶媒体
JP2009054027A (ja) 情報処理装置、表示画面カスタマイズ方法、及び表示画面カスタマイズプログラム
JP4789653B2 (ja) 情報処理装置およびデバイス管理方法およびプログラム
JP2006222569A (ja) 画像形成装置、情報処理方法、情報処理プログラム、及び記録媒体
JP5664692B2 (ja) 電子機器、画像形成装置、情報処理方法、情報処理プログラム、及び記録媒体
JP2007279792A (ja) 記憶媒体、プログラム
JP5011502B2 (ja) 電子機器、サービス提供方法及びプログラム
JP2006092182A (ja) 画像処理装置およびその制御方法および制御プログラム
JP2009205262A (ja) アプリケーションプログラムインストール装置、アプリケーションプログラムインストール方法、プログラム、および記録媒体
JP2009181337A (ja) 画像形成システム、管理装置、画像形成装置、画像形成方法、及び画像形成プログラム
JP5065805B2 (ja) 電子機器、サービス提供方法及びプログラム
JP2007043708A (ja) ドキュメント処理システム、方法およびプログラム
JP2012165325A (ja) 画像処理装置、画面制御プログラム及び記録媒体
JP2005311907A (ja) 複合機及び機能拡張方法
JP2006079211A (ja) 画像形成装置、情報処理方法、情報処理プログラム、及び記録媒体
JP2005301890A (ja) 拡張制御装置および画像形成システムおよびアプリケーション起動切り替え方法および画像形成システムの制御方法およびプログラムおよび記録媒体
JP2005313413A (ja) 画像処理システム、画像処理装置及びプログラム
JP2005297487A (ja) 画像処理システムおよびシステム起動制御方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム
JP4378338B2 (ja) 情報処理装置、デバイス設定方法、記憶媒体、プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091222

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110921

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110927

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111125

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120412

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120502

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

Free format text: PAYMENT UNTIL: 20150615

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5011502

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees