JP4253466B2 - 画像形成装置および共有メモリ調停方法 - Google Patents

画像形成装置および共有メモリ調停方法 Download PDF

Info

Publication number
JP4253466B2
JP4253466B2 JP2002133196A JP2002133196A JP4253466B2 JP 4253466 B2 JP4253466 B2 JP 4253466B2 JP 2002133196 A JP2002133196 A JP 2002133196A JP 2002133196 A JP2002133196 A JP 2002133196A JP 4253466 B2 JP4253466 B2 JP 4253466B2
Authority
JP
Japan
Prior art keywords
shared memory
application
identification information
information
acquisition request
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
JP2002133196A
Other languages
English (en)
Other versions
JP2003330735A (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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2002133196A priority Critical patent/JP4253466B2/ja
Publication of JP2003330735A publication Critical patent/JP2003330735A/ja
Application granted granted Critical
Publication of JP4253466B2 publication Critical patent/JP4253466B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Facsimiles In General (AREA)
  • Record Information Processing For Printing (AREA)
  • Control Or Security For Electrophotography (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、コピー、プリンタ、スキャナおよびファクシミリなどの画像形成処理にかかるユーザサービスを提供するアプリケーションなどの複数プロセスで利用される共有メモリ領域を調停することができる画像形成装置および共有メモリ調停方法に関するものである。
【0002】
【従来の技術】
近年では、プリンタ、コピー、ファクシミリ、スキャナなどの各装置の機能を1つの筐体内に収納した画像形成装置(以下、「複合機」という。)が知られている。この複合機は、1つの筐体内に表示部、印刷部および撮像部などを設けるとともに、プリンタ、コピーおよびファクシミリ装置にそれぞれ対応した3種類のソフトウェアを設け、これらのソフトウェアを切り替えることによって、当該装置をプリンタ、コピー、スキャナまたはファクシミリ装置として動作させるものである。
【0003】
このような従来の複合機では、プリンタ、コピー、ファクシミリ、スキャナなどの各機能単位で、ハードウェア資源にアクセスする機能を持ち合わせており、複合機内部で動作するプロセス数も比較的少ないものとなっている。
【0004】
また、このような従来の複合機では、複数のアプリケーションや他のプログラムが共通に使用するデータを格納する領域として、アドレス空間上に共有メモリ領域が確保される場合がある。このような共有メモリ領域の確保、解放、調停は、複合機に搭載されたOS(オペレーションシステム)に依存することが一般的である。
【0005】
そして、アドレス空間に共有メモリ領域を生成したり、すでに生成された共有メモリ領域を取得するアプリケーションは、共有メモリ領域に固有の識別情報である共有メモリキーを指定して、共有メモリ領域の生成要求または取得要求をOSに対して行い、それを受けたOSは指定された共有メモリ領域の生成を行って生成した共有メモリ領域を共有メモリキーに対応させたり、または共有メモリキーの共有メモリ領域を検索してその先頭アドレスを、アプリケーションに通知する。このように、従来の複合機では、共有メモリ領域を使用するアプリケーションは、共有メモリキーの値を意識してプログラム開発を行う必要があった。
【0006】
【発明が解決しようとする課題】
ところで、このような従来の複合機では、プリンタ、コピー、スキャナおよびファクシミリ装置に対応するソフトウェアをそれぞれ別個に設けているため、各ソフトウェアの開発に多大の時間を要する。このため、出願人は、表示部、印刷部および撮像部などの画像形成処理で使用されるハードウェア資源を有し、プリンタ、コピーまたはファクシミリなどの各ユーザサービスにそれぞれ固有の処理を行うアプリケーションを複数搭載し、これらのアプリケーションとハードウェア資源との間に介在して、ユーザサービスを提供する際に、アプリケーションの少なくとも2つが共通的に必要とするハードウェア資源の管理、実行制御並びに画像形成処理を行う各種コントロールサービスからなるプラットホームを備えた画像形成装置(複合機)を発明した。
【0007】
この複合機によれば、アプリケーションの少なくとも2つが共通的に必要とするハードウェア資源の管理、実行制御並びに画像形成処理を行うプラットホームを備えた構成とすることによって、ソフトウェア開発の効率化を図るとともに、装置全体としての生産性を向上させることが可能となる。
【0008】
このような新規な複合機では、アプリケーションの少なくとも2つが共通的に必要とするサービスを提供するコントロールサービスをアプリケーションと別個に設けた構成となっており、多数のプロセスが協調的に動作しているため、各プロセスごとに共有メモリキーの値を意識したプログラム開発を行わなければならないとすると、共有メモリキーの値を重複しないようにプログラミングする必要が生じてきて、プログラム開発が困難となる。また、共有メモリキーの値が重複した場合には、その調停をOS側で行わなければならず、OSの負担により処理効率が低下してしまう。このような問題は、動作するプロセス数および開発するプログラム数の少ない従来の複合機では問題にならなかった新規な課題である。
【0009】
また、かかる新規な複合機は、アプリケーションとコントロールサービスとを別個に設けているため、複合機の出荷後にユーザもしくは第三者であるサードベンダが新規なアプリケーションを開発して複合機に搭載可能な構成となっている。このため、複合機には、その出荷時に搭載されるコピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるアプリケーションの他、従来の複合機と異なり、ユーザやサードベンダが開発した新規アプリケーションなど、アプリケーションが多数起動可能となっている。コピー、プリンタ、ファクシミリ、スキャナなどの複合機であらかじめ提供されるアプリケーションの場合、予め共有メモリキーの値が重複しないように調整しておくことも可能である。しかしながら、第三者が開発する新規アプリケーションの場合には、既存のアプリケーションやコントロールサービスなどとの間で共有メモリキーの重複を回避するようにプログラム開発を行うことは困難であるという従来の複合機では問題にならなかった新規な課題が生じてくる。
【0010】
この発明は上記に鑑みてなされたもので、新規アプリケーションのプログラム開発を効率的に行え、かつ画像形成処理の処理効率の向上を図ることができる画像形成装置および共有メモリ調停方法を得ることを目的とする。
【0017】
【課題を解決するための手段】
上記目的および課題を達成するために、請求項1にかかる発明は、印刷部または撮像部を有するハードウェア資源と、前記ハードウェア資源を利用した画像形成処理にかかる複数のアプリケーションのプロセスと、オペレーティングシステムと、前記オペレーティングシステム上で動作し、複数の前記アプリケーションからアクセスされて前記ハードウェア資源の制御を行う複数のコントロールサービスのプロセスとを備えた画像形成装置であって、アドレス空間上に確保される共有メモリ領域に固有の共有メモリ識別情報と、前記共有メモリ領域を割り当てられたプロセスに固有のプロセス識別情報と、前記共有メモリ領域の属性情報とを対応付けて保持する共有メモリ管理情報を記憶する記憶手段と、前記コントロールサービスと前記アプリケーションとの間に介在して動作し、前記アプリケーションから前記属性情報を指定した前記共有メモリ識別情報の取得要求を受けた場合に、前記共有メモリ管理情報から指定された前記属性情報に対応付けられた共有メモリ識別情報を検索して決定し、決定された共有メモリ識別情報および決定された共有メモリ識別情報の前記属性情報を、前記取得要求を行った前記アプリケーションに送信する調停手段と、を備えたことを特徴とする。
【0018】
この請求項の発明によれば、アプリケーションから共有メモリ識別情報の取得要求を受けた場合に、調停手段によって、共有メモリ管理情報に基づいて共有メモリ識別情報を決定し、決定された共有メモリ識別情報および決定された共有メモリ識別情報の属性情報を、取得要求を行ったアプリケーションに送信することで、共有メモリ領域の属性情報を利用して共有メモリ識別情報の決定を行うことができ、属性情報を意識した新規アプリケーションのプログラム開発を行う必要がなくなり、新規アプリケーションのプログラム開発を効率的に行うことができる。
【0019】
また、請求項にかかる発明は、請求項に記載の画像形成装置において、前記調停手段は、前記アプリケーションから前記共有メモリ領域の共有相手である他のプロセスを指定した前記共有メモリ識別情報の取得要求を受けた場合に、指定された他のプロセスのプロセス識別情報に対応する共有メモリ識別情報を前記共有メモリ管理情報から検索して、検索された共有メモリ識別情報および検索された共有メモリ識別情報の前記属性情報を、前記取得要求を行った前記アプリケーションに送信することを特徴とする。
【0020】
この請求項の発明によれば、アプリケーションから共有メモリ領域の共有相手である他のプロセスを指定した共有メモリ識別情報の取得要求を受けた場合に、調停手段によって、指定された他のプロセスのプロセス識別情報に対応する共有メモリ識別情報を共有メモリ管理情報から検索して、検索された共有メモリ識別情報および検索された共有メモリ識別情報の属性情報を、取得要求を行ったアプリケーションに送信することで、さらに共有相手のプロセスを指定した共有メモリ領域の取得を行うことができ、新規アプリケーションのプログラム開発を効率的に行うことができる。
【0021】
また、請求項にかかる発明は、請求項1または2に記載の画像形成装置において、前記調停手段は、前記アプリケーションから前記属性情報を指定した前記共有メモリ識別情報の取得要求を受けた場合に、指定された属性情報に対応する共有メモリ識別情報を前記共有メモリ管理情報から検索して、検索された共有メモリ識別情報および検索された共有メモリ識別情報の前記属性情報を、前記取得要求を行った前記アプリケーションに送信することを特徴とする。
【0022】
この請求項の発明によれば、アプリケーションから属性情報を指定した共有メモリ識別情報の取得要求を受けた場合に、調停手段によって、指定された属性情報に対応する共有メモリ識別情報を共有メモリ管理情報から検索して、検索された共有メモリ識別情報および検索された共有メモリ識別情報の属性情報を、取得要求を行ったアプリケーションに送信することで、共有メモリ領域の属性を指定した共有メモリ領域の取得を行うことができ、新規アプリケーションのプログラム開発を効率的に行うことができる。
【0023】
また、請求項にかかる発明は、請求項に記載の画像形成装置において、前記共有メモリ管理情報は、前記属性情報として前記共有メモリ領域の使用目的を含み、前記調停手段は、前記アプリケーションから前記使用目的を指定した前記共有メモリ識別情報の取得要求を受けた場合に、指定された使用目的の属性情報に対応する共有メモリ識別情報を前記共有メモリ管理情報から検索して、検索された共有メモリ識別情報および検索された共有メモリ識別情報の前記属性情報を、前記取得要求を行った前記アプリケーションに送信することを特徴とする。
【0024】
この請求項の発明によれば、アプリケーションから使用目的を指定した共有メモリ識別情報の取得要求を受けた場合に、調停手段によって、指定された使用目的の属性情報に対応する共有メモリ識別情報を共有メモリ管理情報から検索して、検索された共有メモリ識別情報および検索された共有メモリ識別情報の属性情報を、取得要求を行ったアプリケーションに送信することで、共有メモリ領域の使用目的を指定した共有メモリ領域の取得を行うことができ、新規アプリケーションのプログラム開発を効率的に行うことができる。
【0025】
また、請求項にかかる発明は、請求項に記載の画像形成装置において、前記使用目的は、画像形成処理で使用される画像データの共有を示すものであることを特徴とする。
【0026】
この請求項の発明によれば、使用目的は画像形成処理で使用される画像データの共有を示すものであるので、アプリケーションが画像データのための共有メモリ領域を取得する場合には、画像データの共有を使用目的として指定して取得要求を行えば、画像データが格納されている共有メモリ領域の共有メモリ識別情報を取得できるので、アプリケーションのプログラム開発を効率的に行うことができる。
【0027】
また、請求項にかかる発明は、請求項に記載の画像形成装置において、前記使用目的は、ユーザごとに前記アプリケーションの利用の可否を記録した認証データの共有を示すものであることを特徴とする。
【0028】
この請求項の発明によれば、使用目的はユーザごとにアプリケーションの利用の可否を記録した認証データの共有を示すものであるので、アプリケーションが認証データのための共有メモリ領域を取得する場合には、認証データの共有を使用目的として指定して取得要求を行えば、認証データが格納されている共有メモリ領域の共有メモリ識別情報を取得できるので、アプリケーションのプログラム開発を効率的に行うことができる。
【0029】
また、請求項にかかる発明は、請求項に記載の画像形成装置において、前記使用目的は、前記アプリケーションの使用状況を記録した履歴データの共有を示すものであることを特徴とする。
【0030】
この請求項の発明によれば、使用目的はアプリケーションの使用状況を記録した履歴データの共有を示すものであるので、アプリケーションが他のアプリケーションの履歴データのための共有メモリ領域を取得する場合には、当該履歴データの共有を使用目的として指定して取得要求を行えば、履歴データが格納されている共有メモリ領域の共有メモリ識別情報を取得できるので、アプリケーションのプログラム開発を効率的に行うことができる。
【0031】
また、請求項にかかる発明は、請求項1〜のいずれか一つに記載の画像形成装置において、前記コントロールサービスをサーバとしたクライアントプロセスとして動作し、かつ前記アプリケーションをクライアントとしたサーバプロセスとして動作する仮想アプリケーションサービスをさらに備え、前記調停手段は、前記仮想アプリケーションサービスに含まれることを特徴とする。
【0032】
この請求項にかかる発明によれば、調停手段は仮想アプリケーションサービスに含まれており、この仮想アプリケーションサービスは、コントロールサービスをサーバとしたクライアントプロセスとして動作し、かつアプリケーションをクライアントとしたサーバプロセスとして動作するので、アプリケーションに対して共有メモリの調停というサービスを提供するだけでなく、コントロールサービスから例えば、共有メモリの調停の結果に伴うサービスの提供を受けることができ、アプリケーションを利用するユーザの利便性を向上させることができる。
【0033】
また、請求項にかかる発明は、印刷部または撮像部を有するハードウェア資源と、前記ハードウェア資源を利用した画像形成処理にかかる複数のアプリケーションのプロセスと、オペレーティングシステムと、前記オペレーティングシステム上で動作し、複数の前記アプリケーションからアクセスされて前記ハードウェア資源の制御を行う複数のコントロールサービスのプロセスとを備えた画像形成装置であって、アドレス空間上に確保される共有メモリ領域に固有の共有メモリ識別情報と、前記共有メモリ領域を割り当てられたプロセスに固有のプロセス識別情報と、前記共有メモリ領域の属性情報とを対応付けて保持する共有メモリ管理情報を記憶する記憶手段と、前記コントロールサービスと前記アプリケーションとの間に介在して動作し、前記アプリケーションごとに別個に起動され、前記コントロールサービスをサーバとしたクライアントプロセスとして動作し、かつ前記アプリケーションをクライアントとしたサーバプロセスとして動作し、対応するアプリケーションから前記属性情報を指定した前記共有メモリ識別情報の取得要求を受けた場合に、前記共有メモリ管理情報から指定された前記属性情報に対応付けられた共有メモリ識別情報を検索して決定し、決定された共有メモリ識別情報および決定された共有メモリ識別情報の前記属性情報を、前記対応するアプリケーションに送信する仮想アプリケーションサービスを備えたことを特徴とする。
【0034】
この請求項にかかる発明によれば、仮想アプリケーションサービスはアプリケーションごとに別個に起動されるので、複数のアプリケーションに対する共有メモリの調停処理を、各アプリケーションに対応する仮想アプリケーションサービスで並列に実行することができ、アプリケーションに対する共有メモリ調停処理を効率的に行うことができる。
【0035】
また、この請求項にかかる発明によれば、各仮想アプリケーションサービスによって、仮想アプリケーションに対応するアプリケーションから共有メモリ識別情報の取得要求を受けた場合に、共有メモリ管理情報に基づいて共有メモリ識別情報を決定し、決定された共有メモリ識別情報および決定された共有メモリ識別情報の属性情報を対応するアプリケーションに送信することで、共有メモリ領域の属性情報を利用して共有メモリ識別情報の決定を行うことができ、属性情報を意識した新規アプリケーションのプログラム開発を行う必要がなくなり、新規アプリケーションのプログラム開発を効率的に行うことができる。
【0036】
また、請求項10にかかる発明は、請求項に記載の画像形成装置において、前記仮想アプリケーションサービスは、前記対応するアプリケーションから前記共有メモリ領域の共有相手である他のプロセスを指定した前記共有メモリ識別情報の取得要求を受けた場合に、指定された他のプロセスのプロセス識別情報に対応する共有メモリ識別情報を前記共有メモリ管理情報から検索して、検索された共有メモリ識別情報および検索された共有メモリ識別情報の前記属性情報を、前記対応するアプリケーションに送信することを特徴とする。
【0037】
この請求項10にかかる発明によれば、仮想アプリケーションサービスによって、対応するアプリケーションから共有メモリ領域の共有相手である他のプロセスを指定した共有メモリ識別情報の取得要求を受けた場合に、指定された他のプロセスのプロセス識別情報に対応する共有メモリ識別情報を共有メモリ管理情報から検索して、検索された共有メモリ識別情報および検索された共有メモリ識別情報の属性情報を対応するアプリケーションに送信することで、さらに共有相手のプロセスを指定した共有メモリ領域の取得を行うことができ、新規アプリケーションのプログラム開発を効率的に行うことができる。
【0038】
また、請求項11にかかる発明は、請求項10に記載の画像形成装置において、前記仮想アプリケーションサービスは、前記対応するアプリケーションから前記属性情報を指定した前記共有メモリ識別情報の取得要求を受けた場合に、指定された属性情報に対応する共有メモリ識別情報を前記共有メモリ管理情報から検索して、検索された共有メモリ識別情報および検索された共有メモリ識別情報の前記属性情報を、前記対応するアプリケーションに送信することを特徴とする。
【0039】
この請求項11にかかる発明によれば、仮想アプリケーションサービスによって、対応するアプリケーションから属性情報を指定した共有メモリ識別情報の取得要求を受けた場合に、指定された属性情報に対応する共有メモリ識別情報を共有メモリ管理情報から検索して、検索された共有メモリ識別情報および検索された共有メモリ識別情報の属性情報を、対応するアプリケーションに送信することで、共有メモリ領域の属性を指定した共有メモリ領域の取得を行うことができ、新規アプリケーションのプログラム開発を効率的に行うことができる。
【0040】
また、請求項12にかかる発明は、請求項11に記載の画像形成装置において、前記共有メモリ管理情報は、前記属性情報として前記共有メモリ領域の使用目的を含み、前記仮想アプリケーションサービスは、前記対応するアプリケーションから前記使用目的を指定した前記共有メモリ識別情報の取得要求を受けた場合に、指定された使用目的の属性情報に対応する共有メモリ識別情報を前記共有メモリ管理情報から検索して、検索された共有メモリ識別情報および検索された共有メモリ識別情報の前記属性情報を、前記対応するアプリケーションに送信することを特徴とする。
【0041】
この請求項12にかかる発明によれば、仮想アプリケーションサービスによって、対応するアプリケーションから使用目的を指定した共有メモリ識別情報の取得要求を受けた場合に、指定された使用目的の属性情報に対応する共有メモリ識別情報を共有メモリ管理情報から検索して、検索された共有メモリ識別情報および検索された共有メモリ識別情報の属性情報を、前記対応するアプリケーションに送信することで、共有メモリ領域の使用目的を指定した共有メモリ領域の取得を行うことができ、新規アプリケーションのプログラム開発を効率的に行うことができる。
【0048】
また、請求項13にかかる発明は、印刷部または撮像部を有するハードウェア資源と、前記ハードウェア資源を利用した画像形成処理にかかる複数のアプリケーションのプロセスと、オペレーティングシステムと、前記オペレーティングシステム上で動作し、複数の前記アプリケーションからアクセスされて前記ハードウェア資源の制御を行う複数のコントロールサービスのプロセスとを備えた画像形成装置のアドレス空間上に確保される共有メモリ領域に固有の共有メモリ識別情報を調停する共有メモリ調停方法であって、前記コントロールサービスと前記アプリケーションとの間に介在して動作する調停手段によって実行され、前記アプリケーションから前記属性情報を指定した前記共有メモリ識別情報の取得要求を受けた場合に、前記共有メモリ識別情報と前記共有メモリ領域を割り当てられたプロセスに固有のプロセス識別情報と前記共有メモリ領域の属性情報とを対応付けて保持する共有メモリ管理情報から指定された前記属性情報に対応付けられた前記共有メモリ識別情報を検索して決定し、決定された共有メモリ識別情報および決定された共有メモリ識別情報の前記属性情報を、前記取得要求を行った前記アプリケーションに送信する調停ステップを含むことを特徴とする。
【0049】
この請求項13にかかる発明によれば、アプリケーションから共有メモリ識別情報の取得要求を受けた場合に、調停ステップによって、共有メモリ管理情報に基づいて共有メモリ識別情報を決定し、決定された共有メモリ識別情報および決定された共有メモリ識別情報の属性情報を、取得要求を行ったアプリケーションに送信することで、共有メモリ領域の属性情報を利用して共有メモリ識別情報の決定を行うことができ、属性情報を意識した新規アプリケーションのプログラム開発を行う必要がなくなり、新規アプリケーションのプログラム開発を効率的に行うことができる。
【0050】
また、請求項14にかかる発明は、請求項13に記載の共有メモリ調停方法において、前記調停ステップは、前記アプリケーションから前記共有メモリ領域の共有相手である他のプロセスを指定した前記共有メモリ識別情報の取得要求を受けた場合に、指定された他のプロセスのプロセス識別情報に対応する共有メモリ識別情報を前記共有メモリ管理情報から検索して、検索された共有メモリ識別情報および検索された共有メモリ識別情報の前記属性情報を、前記取得要求を行った前記アプリケーションに送信することを特徴とする。
【0051】
この請求項14にかかる発明によれば、アプリケーションから共有メモリ領域の共有相手である他のプロセスを指定した共有メモリ識別情報の取得要求を受けた場合に、調停ステップによって、指定された他のプロセスのプロセス識別情報に対応する共有メモリ識別情報を共有メモリ管理情報から検索して、検索された共有メモリ識別情報および検索された共有メモリ識別情報の属性情報を、取得要求を行ったアプリケーションに送信することで、さらに共有相手のプロセスを指定した共有メモリ領域の取得を行うことができ、新規アプリケーションのプログラム開発を効率的に行うことができる。
【0052】
また、請求項15にかかる発明は、請求項13または14に記載の共有メモリ調停方法において、前記調停ステップは、前記アプリケーションから前記属性情報を指定した前記共有メモリ識別情報の取得要求を受けた場合に、指定された属性情報に対応する共有メモリ識別情報を前記共有メモリ管理情報から検索して、検索された共有メモリ識別情報および検索された共有メモリ識別情報の前記属性情報を、前記取得要求を行った前記アプリケーションに送信することを特徴とする。
【0053】
この請求項15にかかる発明によれば、アプリケーションから属性情報を指定した共有メモリ識別情報の取得要求を受けた場合に、調停ステップによって、指定された属性情報に対応する共有メモリ識別情報を共有メモリ管理情報から検索して、検索された共有メモリ識別情報および検索された共有メモリ識別情報の属性情報を、取得要求を行ったアプリケーションに送信することで、共有メモリ領域の属性を指定した共有メモリ領域の取得を行うことができ、新規アプリケーションのプログラム開発を効率的に行うことができる。
【0054】
また、請求項16にかかる発明は、請求項15に記載の共有メモリ調停方法において、前記共有メモリ管理情報は、前記属性情報として前記共有メモリ領域の使用目的を含み、前記調停ステップは、前記アプリケーションから前記使用目的を指定した前記共有メモリ識別情報の取得要求を受けた場合に、指定された使用目的の属性情報に対応する共有メモリ識別情報を前記共有メモリ管理情報から検索して、検索された共有メモリ識別情報および検索された共有メモリ識別情報の前記属性情報を、前記取得要求を行った前記アプリケーションに送信することを特徴とする。
【0055】
この請求項16にかかる発明によれば、アプリケーションから使用目的を指定した共有メモリ識別情報の取得要求を受けた場合に、調停ステップによって、指定された使用目的の属性情報に対応する共有メモリ識別情報を共有メモリ管理情報から検索して、検索された共有メモリ識別情報および検索された共有メモリ識別情報の属性情報を、取得要求を行ったアプリケーションに送信することで、共有メモリ領域の使用目的を指定した共有メモリ領域の取得を行うことができ、新規アプリケーションのプログラム開発を効率的に行うことができる。
【0056】
また、請求項17にかかる発明は、請求項16に記載の共有メモリ調停方法において、前記使用目的は、画像形成処理で使用される画像データの共有を示すものであることを特徴とする。
【0057】
この請求項17にかかる発明によれば、使用目的は画像形成処理で使用される画像データの共有を示すものであるので、アプリケーションが画像データのための共有メモリ領域を取得する場合には、画像データの共有を使用目的として指定して取得要求を行えば、画像データが格納されている共有メモリ領域の共有メモリ識別情報を取得できるので、アプリケーションのプログラム開発を効率的に行うことができる。
【0058】
また、請求項18にかかる発明は、請求項16に記載の共有メモリ調停方法において、前記使用目的は、ユーザごとに前記アプリケーションの利用の可否を記録した認証データの共有を示すものであることを特徴とする。
【0059】
この請求項18にかかる発明によれば、使用目的はユーザごとにアプリケーションの利用の可否を記録した認証データの共有を示すものであるので、アプリケーションが認証データのための共有メモリ領域を取得する場合には、認証データの共有を使用目的として指定して取得要求を行えば、認証データが格納されている共有メモリ領域の共有メモリ識別情報を取得できるので、アプリケーションのプログラム開発を効率的に行うことができる。
【0060】
また、請求項19にかかる発明は、請求項16に記載の共有メモリ調停方法において、前記使用目的は、前記アプリケーションの使用状況を記録した履歴データの共有を示すものであることを特徴とする。
【0061】
この請求項19にかかる発明によれば、使用目的はアプリケーションの使用状況を記録した履歴データの共有を示すものであるので、アプリケーションが他のアプリケーションの履歴データのための共有メモリ領域を取得する場合には、当該履歴データの共有を使用目的として指定して取得要求を行えば、履歴データが格納されている共有メモリ領域の共有メモリ識別情報を取得できるので、アプリケーションのプログラム開発を効率的に行うことができる。
【0062】
【発明の実施の形態】
(実施の形態1)
図1は、この発明の実施の形態1である画像形成装置(以下、「複合機」という)の構成を示すブロック図である。図1に示すように、複合機100は、白黒ラインプリンタ(B&W LP)101と、カラーラインプリンタ(Color LP)102と、スキャナ、ファクシミリ、ハードディスク、メモリ、ネットワークインタフェースなどのハードウェアリソース103を有するとともに、プラットホーム120とアプリケーション130と仮想アプリケーションサービス(VAS:Vertial Application Service)140から構成されるソフトウェア群110とを備えている。
【0063】
仮想アプリケーションサービス(VAS)140は、アプリケーション130とプラットホーム120の間に配置される。VAS140は、アドレス空間上に確保される共有メモリ領域を識別する共有メモリ識別情報としての共有メモリキーの調停を行うものである。具体的には、アプリケーション130から共有メモリキーの取得要求メッセージを受信して、後述する共有メモリ管理ファイルの内容を参照して、該当する共有メモリキーを決定し、決定した共有メモリキーを取得要求メッセージを送信したアプリケーション130に送信するようになっている。また、VAS140は、アプリケーション130が起動されたときにアプリ登録処理を行う。
【0064】
プラットホーム120は、アプリケーション130からの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービスと、一または複数のハードウェア資源の管理を行い、コントロールサービスからの獲得要求を調停するシステムリソースマネージャ(SRM)123と、汎用OS121とを有する。
【0065】
コントロールサービスは、複数のサービスモジュールから形成され、SCS(システムコントロールサービス)122と、ECS(エンジンコントロールサービス)124と、MCS(メモリコントロールサービス)125と、OCS(オペレーションパネルコントロールサービス)126と、FCS(ファックスコントロールサービス)127と、NCS(ネットワークコントロールサービス)128とから構成される。なお、このプラットホーム120は、あらかじめ定義された関数により前記アプリケーション130から処理要求を受信可能とするアプリケーションプログラムインタフェース(API)を有する。
【0066】
汎用OS121は、UNIX(登録商標)などの汎用オペレーティングシステムであり、プラットホーム120並びにアプリケーション130の各ソフトウェアをそれぞれプロセスとして並列実行する。
【0067】
SRM123のプロセスは、SCS122とともにシステムの制御およびリソースの管理を行うものである。SRM123のプロセスは、スキャナ部やプリンタ部などのエンジン、メモリ、HDDファイル、ホストI/O(セントロI/F、ネットワークI/F、IEEE1394 I/F、RS232C I/Fなど)のハードウェア資源を利用する上位層からの要求にしたがって調停を行い、実行制御する。
【0068】
具体的には、このSRM123は、要求されたハードウェア資源が利用可能であるか(他の要求により利用されていないかどうか)を判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、SRM123は、上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、要求内容(例えば、プリンタエンジンにより紙搬送と作像動作、メモリ確保、ファイル生成など)を直接実施している。
【0069】
SCS122のプロセスは、アプリ管理、操作部制御、システム画面表示、LED表示、リソース管理、割り込みアプリ制御などを行う。
【0070】
ECS124のプロセスは、白黒ラインプリンタ(B&W LP)101、カラーラインプリンタ(Color LP)102、スキャナ、ファクシミリなどからなるハードウェアリソース103のエンジンの制御を行う。
【0071】
MCS125のプロセスは、画像メモリの取得および解放、ハードディスク装置(HDD)の利用、画像データの圧縮および伸張などを行う。
【0072】
FCS127のプロセスは、システムコントローラの各アプリ層からPSTN/ISDN網を利用したファクシミリ送受信、BKM(バックアップSRAM)で管理されている各種ファクシミリデータの登録/引用、ファクシミリ読みとり、ファクシミリ受信印刷、融合送受信を行うためのAPIを提供する。
【0073】
NCS128のプロセスは、ネットワークI/Oを必要とするアプリケーションに対して共通に利用できるサービスを提供するためのプロセスであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、アプリケーションからデータをネットワーク側に送信する際の仲介を行う。具体的には、ftpd、httpd、lpd、snmpd、telnetd、smtpdなどのサーバデーモンや、同プロトコルのクライアント機能などを有している。
【0074】
OCS126のプロセスは、オペレータ(ユーザ)と本体制御間の情報伝達手段となるオペレーションパネル(操作パネル)の制御を行う。OCS126は、オペレーションパネルからキー押下をキーイベントとして取得し、取得したキーに対応したキーイベント関数をSCS122に送信するOCSプロセスの部分と、アプリケーション130またはコントロールサービスからの要求によりオペレーションパネルに各種画面を描画出力する描画関数やその他オペレーションパネルに対する制御を行う関数などがあらかじめ登録されたOCSライブラリの部分とから構成される。このOCSライブラリは、アプリケーション130およびコントロールサービスの各モジュールにリンクされて実装されている。なお、OCS126のすべてをプロセスとして動作させるように構成しても良く、あるいはOCS126のすべてをOCSライブラリとして構成しても良い。
【0075】
アプリケーション130は、ページ記述言語(PDL)、PCLおよびポストスクリプト(PS)を有するプリンタ用のアプリケーションであるプリンタアプリ111と、コピー用アプリケーションであるコピーアプリ112と、ファクシミリ用アプリケーションであるファックスアプリ113と、スキャナ用アプリケーションであるスキャナアプリ114と、ネットワークファイル用アプリケーションであるネットファイルアプリ115と、工程検査用アプリケーションである工程検査アプリ116とを有している。これらの各アプリは、その起動時にVAS140に対して自プロセスのプロセスIDとともにアプリ登録要求メッセージを送信し、アプリ登録要求メッセージを受信したVAS140によって、起動したアプリに対する登録処理が行われる。
【0076】
また、アプリケーション130の各アプリは、共有メモリキー取得要求関数呼び出し、共有メモリキー解放要求関数呼び出し、共有メモリキー削除要求関数呼び出しをVAS140に行い、各要求関数呼び出しを受けたVAS140が各要求関数に応じた処理を実行してその結果を戻り値として関数呼び出しを行ったアプリに送信するようになっている。このため、各アプリには、これらの要求関数を登録したVAS関数ライブラリをリンクしており、各アプリから各要求関数の呼び出しが可能となっている。
【0077】
アプリケーション130の各プロセス、コントロールサービスの各プロセスは、関数呼び出しとその戻り値送信およびメッセージの送受信によってプロセス間通信を行いながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを実現している。
【0078】
このように、実施の形態1にかかる複合機100には、複数のアプリケーション130および複数のコントロールサービスが存在し、いずれもプロセスとして動作している。そして、これらの各プロセス内部には、一または複数のスレッドが生成されて、スレッド単位の並列実行が行われる。そして、コントロールサービスがアプリケーション130に対し共通サービスを提供しており、このため、これらの多数のプロセスが並列動作、およびスレッドの並列動作を行って互いにプロセス間通信を行って協調動作をしながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを提供するようになっている。また、複合機100には、サードベンダなどの第三者がコントロールサービス層の上のアプリケーション層に新規アプリ117,118を開発して搭載することが可能となっている。図1では、この新規アプリ117,118を搭載した例を示している。
【0079】
なお、実施の形態1にかかる複合機100では、複数のアプリケーション130のプロセスと複数のコントロールサービスのプロセスとが動作しているが、アプリケーション130とコントロールサービスのプロセスがそれぞれ単一の構成とすることも可能である。また、各アプリケーション130は、アプリケーションごとに追加または削除することができる。
【0080】
図2は、実施の形態1にかかる複合機100のVAS140の構成と、VAS140と各アプリ、コントロールサービス層150および汎用OS121との関係を示すブロック図である。なお、図2では、アプリケーション130の例として、プリンタアプリ111、コピーアプリ112、新規アプリ117,118を示しているが、他のアプリでも同様の構成である。なお、図2では、RAM210のアドレス空間212上に共有メモリ領域211を確保した例を示しているが、ハードディスクを使用した仮想記憶方式を利用して、仮想アドレス空間上に共有メモリ領域を確保するように構成した例にも本発明を適用できることは言うまでもない。
【0081】
仮想アプリケーションサービス(VAS)140のプロセスには、ディスパッチャ144と、制御スレッド143と、共有メモリキー調停スレッド141とが動作している。
【0082】
ディスパッチャ144は、アプリケーション130やコントロールサービスからのメッセージ受信や各種関数の呼び出しを監視し、受信したメッセージに応じて制御スレッド143、共有メモリキー調停スレッド141に処理要求メッセージを行うものである。
【0083】
実施の形態1の複合機100では、ディスパッチャ144は、各アプリの起動時に、アプリからアプリ登録要求メッセージを受信したとき、受信したアプリ登録要求メッセージを制御スレッド143に送信するようになっている。また、ディスパッチャ144は、各アプリから共有メモリキー取得要求関数呼び出しを受けたときに、共有メモリキー取得要求メッセージを関数呼び出しの際の引数(第1引数:作成または取得、第2引数:アプリID)とともに共有メモリキー調停スレッド141に送信する。また、ディスパッチャ144は、各アプリから共有メモリキー解放要求関数呼び出しを受けたときに、共有メモリキー解放要求メッセージを関数呼び出しの際の引数(第1引数:共有メモリキー)とともに共有メモリキー調停スレッド141に送信する。さらに、ディスパッチャ144は、各アプリから共有メモリキー削除要求関数呼び出しを受けたときに、共有メモリキー削除要求メッセージを関数呼び出しの際の引数(第1引数:共有メモリキー)とともに共有メモリキー調停スレッド141に送信する。
【0084】
制御スレッド143は、ディスパッチャ144からアプリ登録要求メッセージを受信してアプリ登録処理を行う。ここで、アプリ登録処理とは、RAM210にアプリ登録テーブル(図示せず)を生成し、アプリ登録要求メッセージを送信したアプリの識別情報であるアプリIDをアプリ登録テーブルに記録する処理をいう。
【0085】
共有メモリキー調停スレッド141は、本発明における調停手段を構成するものであり、共有メモリキーの調停処理を行うものである。具体的には、共有メモリキー調停スレッド141は、ディスパッチャ144から共有メモリキー取得要求メッセージを受信した場合、HD(ハードディスク)200に格納されている共有メモリ管理ファイル201の内容を参照し、共有メモリキーを決定する。そして、決定した共有メモリキーを取得要求を行ったアプリに送信する。また、共有メモリキー調停スレッド141は、ディスパッチャ144から共有メモリキー解放要求メッセージを受信した場合、共有メモリ管理ファイル201の中の指定された共有メモリキーのレコードから要求を行ったアプリのアプリIDを削除する。さらに、共有メモリキー調停スレッド141は、ディスパッチャ144から共有メモリキー削除要求メッセージを受信した場合、共有メモリ管理ファイル201の中の指定された共有メモリキーのレコードを削除する。なお、この共有メモリキーの調停処理の詳細については後述する。
【0086】
上記VAS140のプログラムは、ソフトウェア開発キット(SDK:Software Development Kit)等の一部または全部として、CD−ROMまたはFDなどの記憶媒体に実行可能な形式またはインストール可能な形式のファイルで提供される。また、このような実行可能な形式またはインストール可能な形式のVAS140のプログラムファイルを、ネットワーク経由で取得可能な方法で提供するようにしても良い。
【0087】
図3は、HD200に格納される共有メモリ管理ファイル201の内容の一例を示す説明図である。共有メモリ管理ファイル201はデータベース形式のファイルとなっており、図3に示すように、共有メモリ領域211の識別情報を示す共有メモリキーと、アプリケーションに固有の識別情報であるアプリIDと、アプリのプロセスに固有の識別情報であるプロセスIDとが対応づけられて一レコードとして記録されている。
【0088】
共有メモリキーは、アドレス空間212上に確保される共有メモリ領域211を識別するものであり、本発明における共有メモリ識別情報を構成する。かかる共有メモリキーは、確保される共有メモリ領域211ごとに固有の値を有するものとなっている。各アプリは、この共有メモリキーを指定して汎用OS121で提供される共有メモリ領域取得のシステムコールを発行することによって、共有メモリ領域211の作成または取得を行う。
【0089】
アプリIDは、対応する共有メモリキーで識別される共有メモリ領域211を使用するアプリの識別情報である。従って、共有メモリ領域211を作成したり、取得したすべてのアプリのアプリIDが、一つの共有メモリキーに対して記録される。
【0090】
プロセスIDは、アプリIDのアプリのプロセスの識別情報である。アプリが単一プロセスからなる場合には、一つのアプリIDに対し一つのプロセスIDが対応するが、アプリが複数プロセスから構成される場合には、図3に示すように、一つのアプリIDに対して複数のプロセスIDが対応して記録される。ここで、アプリIDおよびプロセスIDは、本発明におけるプロセス識別情報を構成する。
【0091】
次に、このように構成された複合機100のVAS140による共有メモリキーの調停処理について説明する。まず、調停処理に先立って、アプリ起動時に制御スレッド143によるアプリ登録処理が行われる。各アプリはその起動時にVAS140に対してアプリ登録要求メッセージをプロセス間通信によって送信する。VAS140のディスパッチャ144がアプリ登録要求メッセージを受信すると、アプリ登録要求メッセージをそのアプリのプロセスIDとともに制御スレッド143に受け渡す。制御スレッド143は、アプリ登録要求メッセージをプロセスIDをディスパッチャ144から受信すると、アプリIDを決定し、アプリ登録テーブル(図示せず)にアプリIDを記録することにより、アプリ登録を行う。なお、アプリIDは、コピーアプリ112、プリンタアプリ111など既存のアプリケーションについては、予め定められており、各アプリIDをVAS140が内部で保持している。また、サードベンダなどが開発した新規アプリ117,118については、最初の起動時におけるアプリ登録処理の中で決定される。
【0092】
図4は、プリンタアプリ111および新規アプリ117による共有メモリ領域211の取得処理におけるプリンタアプリ111、新規アプリ117、VAS140、汎用OS121間のメッセージのやりとりおよび関数呼び出しを示すシーケンス図である。図4では、プリンタアプリ111によって共有メモリ領域211を確保(作成)し、新規アプリ117によってプリンタアプリ111のアプリIDを指定した共有メモリキー取得要求を行い、新規アプリ117が取得した共有メモリキーで共有メモリ領域211の取得を行う例を示している。なお、ここでは、コピーアプリ112と新規アプリ117間の共有を例にあげているが、プリンタアプリ111やコピーアプリ112などの既存アプリ同士、あるいは新規アプリ117,118同士の間でメモリ領域を共有することも勿論可能である。
【0093】
まず、プリンタアプリ111は、共有メモリ領域211を作成するために、VAS140に対して共有メモリキー取得要求を行う(ステップS401)。ここで、共有メモリキー取得要求は、共有メモリキー取得要求関数の呼び出しとその戻り値の受信というプロセス間通信で行う。また、共有メモリキー取得要求関数は、第1引数と第2引数の指定がなされる。第1引数は、共有メモリ領域211の「作成」(確保)か、すでに確保されている共有メモリ領域211の取得(割当て)かを指定するものであり、第2引数は、第1引数が「取得」の場合に、共有相手のアプリケーション130のアプリIDを指定するものである。図4のステップS401では、新規アプリ117が新たに共有メモリ領域211を確保するため、第1引数に「作成」を指定して、共有メモリキー取得要求関数呼び出しを行う。
【0094】
VAS140は、共有メモリキー取得要求関数呼び出しをディスパッチャ144で受信し、ディスパッチャ144は共有メモリキー取得要求メッセージを共有メモリキー調停スレッド141に送信する。共有メモリキー調停スレッド141は、共有メモリキー取得要求メッセージを受信すると、共有メモリキーを決定する調停処理を行って(ステップS402)、決定した共有メモリキーを共有メモリキー取得要求関数呼び出しを行ったプリンタアプリ111に関数戻り値として送信する(ステップS403)。なお、本実施の形態では、共有メモリキー取得要求を関数呼び出しとその戻り値受信というプロセス間通信によって行っているが、この他メッセージ送信等を利用したプロセス間通信で行っても良い。
【0095】
次に、共有メモリキーをVAS140から受信したプリンタアプリ111は、受信した共有メモリキーを引数として、汎用OS121で提供される共有メモリ確保のshgetシステムコールを発行する(ステップS404)。このシステムコールによって共有メモリ領域211が汎用OS121によって確保され、共有メモリキーの資源IDが通知される(ステップS405)。以降、プリンタアプリ111は、この資源IDと新規作成フラグを指定して各システムコールを発行する。次に、プリンタアプリ111は、資源IDを指定してshattシステムコールを発行し、プリンタアプリ111のプロセスにおけるアドレス空間212上の共有メモリ領域211のアドレスを取得する(ステップS406)。これによって、プリンタアプリ111は、生成された共有メモリ領域211へのアクセスが可能となり、所望のデータを書き込む等の処理を行う。
【0096】
一方、新規アプリ117は、プリンタアプリ111によって確保された共有メモリ領域211にアクセスするために、まずVAS140に対し共有メモリキー取得要求関数呼び出しを行う。このときの第1引数には「取得」を指定し、第2引数には共有相手であるプリンタアプリ111のアプリIDを指定する(ステップS407)。
【0097】
VAS140は、共有メモリキー取得要求関数呼び出しをディスパッチャ144で受信し、ディスパッチャ144は共有メモリキー取得要求メッセージを、共有メモリキー取得要求関数の第1引数および第2引数とともに、共有メモリキー調停スレッド141に送信する。共有メモリキー調停スレッド141は、共有メモリキー取得要求メッセージを受信すると、指定されたアプリIDが設定されている共有メモリキーを決定する調停処理を行って(ステップS408)、決定した共有メモリキーを共有メモリキー取得要求関数呼び出しを行った新規アプリ117に関数戻り値として送信する(ステップS409)。
【0098】
次に、共有メモリキーをVAS140から受信した新規アプリ117は、受信した共有メモリキーを引数として、共有メモリ確保のshgetシステムコールを発行する(ステップS410)。このシステムコールによってプリンタアプリ111によって確保された共有メモリ領域211が選定され、共有メモリキーの資源IDが通知される(ステップS411)。次に、新規アプリ117は、資源IDを指定してshattシステムコールを発行し、新規アプリ117のプロセスにおけるアドレス空間212上の共有メモリ領域211のアドレスを取得する(ステップS412)。これによって、新規アプリ117は、プリンタアプリ111によって確保された共有メモリ領域211へのアクセスが可能となり、所望のデータを読み出す等の処理を行う。
【0099】
新規アプリ117が共有メモリ領域211へのアクセスがすべて終了し、アクセス不要となった場合には、VAS140に対して、ステップS409で取得した共有メモリキーを指定して、共有メモリキー解放要求関数の呼び出しを行う(ステップS413)。
【0100】
VAS140は、共有メモリキー解放要求関数呼び出しをディスパッチャ144で受信し、ディスパッチャ144は共有メモリキー解放要求メッセージを、共有メモリキー解放要求関数の引数とともに共有メモリキー調停スレッド141に送信する。共有メモリキー調停スレッド141は、共有メモリキー解放要求メッセージを受信すると、指定された共有メモリキーのレコードの中から共有メモリキー解放要求関数呼び出しを行った新規アプリ117のアプリIDを削除し(ステップS414)、その結果通知を新規アプリ117に送信する(ステップS415)。そして、新規アプリ117は、共有メモリ領域211の解放を行うshdetシステムコールを資源IDを引数として発行し(ステップS416)、汎用OS121によって新規アプリ117の共有メモリ領域211のアドレスが解放される。
【0101】
一方、プリンタアプリ111では、必要に応じて、共有メモリ領域211の削除を行うため、ステップS403で取得した共有メモリキーを指定して共有メモリキー削除要求関数の呼び出しを行う(ステップS417)。
【0102】
VAS140は、共有メモリキー削除要求関数呼び出しをディスパッチャ144で受信し、ディスパッチャ144は共有メモリキー削除要求メッセージを、共有メモリキー削除要求関数の引数とともに共有メモリキー調停スレッド141に送信する。共有メモリキー調停スレッド141は、共有メモリキー削除要求メッセージを受信すると、共有メモリ管理ファイル201の中で指定された共有メモリキーのレコードを削除し(ステップS418)、その結果通知をプリンタアプリ111に送信する(ステップS419)。そして、プリンタアプリ111は、共有メモリ領域211の削除を行うshctlシステムコールを資源IDを引数として発行し(ステップS420)、汎用OS121によって共有メモリ領域211が削除される。
【0103】
図5は、VAS140の共有メモリキー調停スレッド141による共有メモリキー調停の処理手順を示すフローチャートである。共有メモリキー調停スレッド141は、ディスパッチャ144から要求メッセージおよびすべての引数を受信すると(ステップS501)、受信した要求メッセージが共有メモリキー取得要求メッセージか、共有メモリキー解放要求メッセージか、共有メモリキー削除要求メッセージかを判断する(ステップS502)。
【0104】
要求メッセージが共有メモリキー取得要求メッセージの場合には、さらにアプリからの関数呼び出しの際に指定された第1引数が「作成」か「取得」を判断する(ステップS503)。そして、第1引数が「作成」の場合には、共有メモリ管理ファイル201を参照して、当該ファイルに記録されている共有メモリキーの値以外の値の中で最小の値を共有メモリキーと決定する(ステップS504)。そして、決定された共有メモリキーのレコードと取得要求を行ったアプリのアプリIDおよびプロセスIDを一レコードとして、共有メモリ管理ファイル201に追加記録する(ステップS505)。そして、決定された共有メモリキーを共有メモリキー取得要求関数呼び出しを行ったアプリに送信する(ステップS509)。これらのステップS504およびS505の処理は、図4に示すステップS402の調停処理で行われる。
【0105】
一方、ステップS503において、第1引数が「取得」の場合には、共有メモリ管理ファイル201を参照して、アプリからの関数呼び出しの際の第2引数で指定されたアプリIDを含む共有メモリキーのレコードを検索する(ステップS506)。検索の結果、指定されたアプリIDを含む共有メモリキーのレコードが存在するか否かを判断し(ステップS507)、存在する場合には(ステップS507:Yes)、検索されたすべての共有メモリキーのレコードに対し、指定されたアプリIDを追加する(ステップS508)。そして、決定したすべての共有メモリキーを共有メモリキー取得要求関数呼び出しを行ったアプリに送信する(ステップS509)。これらのステップS506〜S508の処理は、図4に示すステップS402の調停処理で行われる。一方、検索結果で指定されたアプリIDを含む共有メモリキーのレコードが存在しなかった場合には(ステップS507:No)、その旨のエラーメッセージをアプリに送信する(ステップS510)。
【0106】
ステップS502において、要求メッセージが共有メモリキー解放要求メッセージの場合には、共有メモリ管理ファイル201の中の、共有メモリキー解放要求関数呼び出しの際に指定された共有メモリキーのレコードから共有メモリキー解放要求関数呼び出しを行ったアプリのアプリIDを削除する(ステップS511)。そして、その処理結果通知メッセージを共有メモリキー解放要求関数呼び出しを行ったアプリに送信する(ステップS512)。このステップS511の処理は、図4に示すステップS408の調停処理で行われる。
【0107】
また、ステップS502において、要求メッセージが共有メモリキー削除要求メッセージの場合には、共有メモリ管理ファイル201の中の、共有メモリキー削除要求関数呼び出しの際に指定された共有メモリキーのレコードを削除する(ステップS513)。そして、その処理結果通知メッセージを共有メモリキー削除要求関数呼び出しを行ったアプリに送信する(ステップS514)。このステップS513の処理は、図4に示すステップS418の調停処理で行われる。
【0108】
このように実施の形態1にかかる複合機100では、VAS140が各アプリから共有メモリキー取得要求を受けたときに、共有メモリ管理ファイル201に基づいて共有メモリキーを決定し、決定された共有メモリキーを取得要求を行ったアプリに送信することで、各アプリはVAS140で決定された共有メモリキーを利用して汎用OS121に共有メモリ領域211の取得などのシステムコールを発行すれば良いので、共有メモリキーの内容を意識したアプリのプログラム開発を行う必要がなくなり、アプリのプログラム開発を効率的に行うことができる。また、VAS140によって、共有メモリキーを重複させずに決定できるので、共有メモリキーが重複した場合の調停処理を汎用OS121が行う必要がなくなり、全体として画像形成処理の処理効率の向上を図ることができる。
【0109】
また、実施の形態1にかかる複合機100では、各アプリから共有メモリ領域211の共有相手である他のアプリのアプリIDを引数に指定した共有メモリキー取得要求関数呼び出しを受けたときに、VAS140によって、指定された他のアプリIDに対応付けられた共有メモリキーを共有メモリ管理ファイル201から検索して、検索された共有メモリキーを関数呼び出しを行ったアプリに送信しているので、共有相手のアプリを指定した共有メモリ領域211の取得を行うことができ、新規アプリ117,118のプログラム開発を効率的に行うことができる。
【0110】
(実施の形態2)
実施の形態1にかかる複合機100では、アプリが共有メモリキーの取得要求を行う場合、VAS140に対して共有相手となるアプリIDを指定することができたが、この実施の形態2にかかる複合機100では、さらに共有メモリ領域211の使用目的などの属性を指定して共有メモリキーの取得要求を行えるものである。
【0111】
実施の形態2にかかる複合機100の機能的構成、VAS140の構成については、実施の形態1で説明した図1および図2と同様である。図6は、実施の形態2にかかる複合機100で使用する共有メモリ管理ファイル201の内容の一例を示す説明図である。図6に示すように、共有メモリ管理ファイル201の各レコードには、共有メモリキー、アプリID、プロセスIDの他、使用目的、パーミッションなどの属性情報が含まれている。
【0112】
使用目的には、「画像データ」、「認証データ」、「履歴データ」が設定されるようになっている。「画像データ」は、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理で使用される画像データを共有メモリ領域211に格納することを示すものである。「認証データ」は、ユーザごとに各アプリの利用の可否を記録した認証データを共有メモリ領域211に格納することを示すものである。「履歴データ」は、各アプリの使用状況を経時的に記録した履歴データを共有メモリ領域211に格納することを示すものである。なお、使用目的としては、この他のデータを設定できるように構成することも可能である。
【0113】
パーミッションには、共有メモリ領域211に対するアプリのアクセス権が設定される。具体的には、パーミッションには、「読み込み可能」、「書き込み可能」、「実行可能」、「権限なし」の設定が行われる。
【0114】
各アプリは、VAS140に対して共有メモリキー取得要求関数を呼び出す際に、関数の第3引数として使用目的を上記3項目の中から一または複数指定することができるようになっている。また、第4引数として、パーミッションを上記4項目の中から一または複数指定できるようになっている。この場合、VAS140の共有メモリキー調停スレッド141によって、第3引数で指定された使用目的を有する共有メモリ領域211の共有メモリキーが検索され、取得要求を行ったアプリに関数戻り値として共有メモリキーと、この共有メモリの上記属性情報が通知される。
【0115】
次に、以上のように構成された実施の形態2にかかる複合機100のVAS140による共有メモリキーの調停処理について説明する。図7は、VAS140の共有メモリキー調停スレッド141による共有メモリキー調停の処理手順を示すフローチャートである。共有メモリキー調停スレッド141は、ディスパッチャ144から要求メッセージおよびすべての引数を受信すると(ステップS701)、受信した要求メッセージが共有メモリキー取得要求メッセージか、共有メモリキー解放要求メッセージか、共有メモリキー削除要求メッセージかを判断する(ステップS702)。
【0116】
要求メッセージが共有メモリキー解放要求メッセージの場合、および共有メモリキー削除要求メッセージの場合の処理は、実施の形態1におけるVAS140の処理と同様であるので説明を省略する。
【0117】
要求メッセージが共有メモリキー取得要求メッセージの場合には、アプリからの関数呼び出しの際に指定された第1引数が「作成」か「取得」を判断する(ステップS703)。そして、第1引数が「作成」の場合には、共有メモリ管理ファイル201を参照して、当該ファイルに記録されている共有メモリキーの値以外の値の中で最小の値を共有メモリキーと決定する(ステップS713)。そして、決定された共有メモリキーのレコードと取得要求を行ったアプリのアプリID、プロセスID、共有メモリキー取得要求関数呼び出しの際の第3引数および第4引数で指定された属性情報(使用目的、パーミッション)を一レコードとして、共有メモリ管理ファイル201に追加記録する(ステップS714)。そして、決定された共有メモリキーおよびその属性情報を共有メモリキー取得要求関数呼び出しを行ったアプリに送信する(ステップS711)。
【0118】
一方、ステップS703において、第1引数が「取得」の場合には、さらに、第2引数にアプリIDの指定があるか否かを判断する(ステップS704)。アプリIDが指定されている場合には(ステップS704:Yes)、共有メモリ管理ファイル201を参照して、指定されたアプリIDを含む共有メモリキーのレコードを検索する(ステップS705)。なお、ステップS704において、第2引数のアプリIDの指定がない場合には、ステップS707で第3引数の使用目的の指定判断を行う。
【0119】
検索の結果、指定されたアプリIDを含む共有メモリキーのレコードが存在するか否かを判断し(ステップS706)、存在する場合には(ステップS706:Yes)、さらに、第3引数に使用目的の指定があるか否かを判断する(ステップS707)。使用目的が指定されている場合には(ステップS707:Yes)、共有メモリ管理ファイル201を参照して、指定された使用目的を含む共有メモリキーのレコードを検索する(ステップS708)。検索の結果、指定された使用目的を含む共有メモリキーのレコードが存在するか否かを判断し(ステップS709)、存在する場合には(ステップS709:Yes)、検索されたすべての共有メモリキーのレコードに対し、指定されたアプリID、指定された属性情報(使用目的、パーミッション)を追加する(ステップS710)。そして、決定したすべての共有メモリキーとその属性情報を共有メモリキー取得要求関数呼び出しを行ったアプリに送信する(ステップS711)。
【0120】
なお、ステップS706およびステップS709の検索結果で指定されたアプリIDを含む共有メモリキーのレコードが存在しなかった場合には(ステップS706:No、ステップS709:No)、その旨のエラーメッセージをアプリに送信する(ステップS712)。
【0121】
このように共有メモリキーを取得したアプリによる共有メモリ領域211の確保、アドレス解放、領域削除などの各処理のシーケンスは、実施の形態1において説明した図4に示すシーケンスと同様である。
【0122】
このように実施の形態2にかかる複合機100では、VAS140が各アプリから共有メモリ領域211の使用目的という属性情報を指定した共有メモリキー取得要求関数呼び出しを受けたときに、VAS140によって、指定された使用目的に対応する共有メモリキーを共有メモリ管理ファイル201から検索して、検索された共有メモリキーおよび検索された共有メモリキーに対する属性情報を、関数呼び出しを行ったアプリに送信しているので、共有メモリ領域211の使用目的などの属性情報を指定した共有メモリ領域211の取得を行うことができ、新規アプリ117,118のプログラム開発を効率的に行うことができる。
【0123】
なお、実施の形態1および2にかかる複合機100では、VAS140が全てのアプリケーション130から各種要求関数呼び出しを受けて共有メモリキーの調停処理を行っているが、一部のアプリに対してのみ各種関数呼び出しによって共有メモリキーの調停処理を行うように構成しても良い。例えば、新規アプリ117,118などサードベンダなどの第三者が開発したアプリにのみVAS関数ライブラリをリンクし、新規アプリ117,118に対してのみ共有メモリキーの決定や送信を行い、プリンタアプリ111やコピーアプリ112などの既存のアプリに対してはこのようなサービスを行わないように構成しても良い。
【0124】
(実施の形態3)
実施の形態1および2にかかる複合機100は、VAS140が全アプリケーションに対して1つのみ存在するものであった。この実施の形態3にかかる複合機では、各アプリごとに一つのVASが起動し、各VASは対応するアプリに対してのみリソース使用情報取得およびアプリ起動判断を行うものである。
【0125】
図8は、実施の形態3にかかる複合機800の構成を示すブロック図である。図8に示すように、複合機800では、複数の仮想アプリケーションサービス(VAS)841〜848がアプリケーション130の各アプリごとに動作している点が、実施の形態1および2にかかる複合機100と異なっている。
【0126】
VAS841〜848は、プリンタアプリ111、コピーアプリ112、ファックスアプリ113、スキャナアプリ114、ネットファイルアプリ115、工程検査アプリ116、新規アプリ117および118に対応して、共有メモリキーの調停処理を行うようになっている。
【0127】
図9は、実施の形態3にかかる複合機800のVAS841〜848の構成と、VAS841〜848と各アプリ、コントロールサービス層150および汎用OS121との関係を示すブロック図である。なお、図9では、アプリケーション130として、プリンタアプリ111、コピーアプリ112、新規アプリ117,118の例を示し、さらにこれら各アプリに対応したVAS841、842、847および848を例として示しているが、他のアプリの場合も同様の構成である。
【0128】
また、実施の形態3にかかる複合機800では、実施の形態1および2の複合機100と異なり、図9に示すように、各仮想アプリケーションサービス(VAS)841〜848と各アプリとの間にはVAS制御プロセス(デーモン)801が動作している。
【0129】
VAS制御プロセス(デーモン)801は、各アプリからアプリ登録要求メッセージを受信してアプリ登録処理を行うとともに、アプリ登録要求を行ったアプリに対応したVAS841〜848を生成する。また、各アプリから共有メモリキー取得要求関数呼び出しを受けたときに、共有メモリキー取得要求メッセージを関数呼び出しの際の引数(作成または取得、アプリID)とともにVAS841〜848に送信する。また、ディスパッチャ144は、各アプリから共有メモリキー解放要求関数呼び出しを受けたときに、共有メモリキー解放要求メッセージを関数呼び出しの際の引数(共有メモリキー)とともにVAS841〜848に送信する。さらに、ディスパッチャ144は、各アプリから共有メモリキー削除要求関数呼び出しを受けたときに、共有メモリキー削除要求メッセージを関数呼び出しの際の引数(共有メモリキー)とともにVAS841〜848に送信する。
【0130】
VAS841〜848のプロセスには、ディスパッチャ144と、共有メモリキー調停スレッド141が動作している。ディスパッチャ144は、アプリケーション130やコントロールサービスからのメッセージ受信や関数呼び出しを監視し、受信したメッセージ、関数呼び出しに応じて共有メモリキー調停スレッド141あるいはその他のスレッドに処理要求を行うものである。実施の形態3の複合機800では、ディスパッチャ144は、VAS制御プロセス801から、各関数呼び出しの際の全引数とともに、共有メモリキー取得要求メッセージ、共有メモリキー解放要求メッセージ、共有メモリキー削除要求メッセージを受信し、受信した各メッセージを全引数とともに共有メモリキー調停スレッド141に送信するようになっている。
【0131】
共有メモリキー調停スレッド141は、本発明における調停手段を構成するものであり、実施の形態1の複合機100と同様に、共有メモリキーの調停処理を行う。具体的には、共有メモリキー調停スレッド141は、ディスパッチャ144から共有メモリキー取得要求メッセージを受信した場合、HD200に格納されている共有メモリ管理ファイル201の内容を参照し、共有メモリキーを決定する。そして、決定した共有メモリキーを取得要求を行ったアプリに送信する。また、共有メモリキー調停スレッド141は、ディスパッチャ144から共有メモリキー解放要求メッセージを受信した場合、共有メモリ管理ファイル201の中の指定された共有メモリキーのレコードから要求を行ったアプリのアプリIDを削除する。さらに、共有メモリキー調停スレッド141は、ディスパッチャ144から共有メモリキー削除要求メッセージを受信した場合、共有メモリ管理ファイル201の中の指定された共有メモリキーのレコードを削除する。
【0132】
VAS841〜848の共有メモリキー調停スレッド141によって実行される共有メモリキー調停処理については、実施の形態1の複合機100における共有メモリキー調停処理と同様である。
【0133】
このように実施の形態3にかかる複合機800によれば、実施の形態1および2にかかる複合機100と同様に、アプリのプログラム開発を効率的に行うことができ、また画像形成処理の処理効率を向上させることができる。
【0134】
また、実施の形態3にかかる複合機800では、VAS841〜848は起動されるアプリケーション130ごとに別個に起動されるので、複数のアプリケーション130の起動判断処理を、各アプリケーション130に対応するVAS841〜848で並列に実行することができ、共有メモリキーの調停処理を効率的に行うことができる。
【0135】
なお、実施の形態3にかかる複合機800では、全てのアプリごとに別個にVAS841〜848を起動していたが、一部のアプリに対してのみVASを起動するように構成しても良い。例えば、新規アプリ117,118などサードベンダなどの第三者が開発したアプリに対してのみVAS847,848を起動して共有メモリキーの決定や送信処理を行い、プリンタアプリ111やコピーアプリ112などの既存のアプリに対してはこのようなサービスを行わないように構成することができる。
【0136】
実施の形態1〜3にかかる複合機100、800では、共有相手となる他のアプリのアプリIDを指定して共有メモリキー取得要求関数呼び出しが行われたときに、VASが共有メモリキーの調停処理を行っているが、この他、共有相手がコントロールサービスやその他プロセスである場合には、VASはそのコントロールサービスまたはプロセスの固有情報を指定した共有メモリキー取得要求関数呼び出しを受けて、共有メモリキーの調停処理を行うように構成しても良い。
【0137】
なお、実施の形態1〜3にかかる複合機100、800では、アプリの識別情報としてアプリIDを用いているが、各アプリを識別可能な情報であればよく、アプリ名やプロセスIDを用いることが可能である。
【0141】
【発明の効果】
以上説明したように、請求項にかかる発明によれば、共有メモリ領域の属性情報を利用して共有メモリ識別情報の決定を行うことができ、属性情報を意識した新規アプリケーションのプログラム開発を行う必要がなくなり、新規アプリケーションのプログラム開発を効率的に行うことができるという効果を奏する。
【0142】
また、請求項にかかる発明によれば、さらに共有相手のプロセスを指定した共有メモリ領域の取得を行うことができ、新規アプリケーションのプログラム開発を効率的に行うことができるという効果を奏する。
【0143】
また、請求項にかかる発明によれば、共有メモリ領域の属性を指定した共有メモリ領域の取得を行うことができ、新規アプリケーションのプログラム開発を効率的に行うことができるという効果を奏する。
【0144】
また、請求項にかかる発明によれば、共有メモリ領域の使用目的を指定した共有メモリ領域の取得を行うことができ、新規アプリケーションのプログラム開発を効率的に行うことができるという効果を奏する。
【0145】
また、請求項にかかる発明によれば、アプリケーションが画像データのための共有メモリ領域を取得する場合には、画像データの共有を使用目的として指定して取得要求を行えば、画像データが格納されている共有メモリ領域の共有メモリ識別情報を取得できるので、アプリケーションのプログラム開発を効率的に行うことができるという効果を奏する。
【0146】
また、請求項にかかる発明によれば、アプリケーションが認証データのための共有メモリ領域を取得する場合には、認証データの共有を使用目的として指定して取得要求を行えば、認証データが格納されている共有メモリ領域の共有メモリ識別情報を取得できるので、アプリケーションのプログラム開発を効率的に行うことができるという効果を奏する。
【0147】
また、請求項にかかる発明によれば、アプリケーションが他のアプリケーションの履歴データのための共有メモリ領域を取得する場合には、当該履歴データの共有を使用目的として指定して取得要求を行えば、履歴データが格納されている共有メモリ領域の共有メモリ識別情報を取得できるので、アプリケーションのプログラム開発を効率的に行うことができるという効果を奏する。
【0148】
また、請求項にかかる発明によれば、アプリケーションに対して共有メモリの調停というサービスを提供するだけでなく、コントロールサービスから例えば、共有メモリの調停の結果に伴うサービスの提供を受けることができ、アプリケーションを利用するユーザの利便性を向上させることができるという効果を奏する。
【0149】
また、請求項にかかる発明によれば、複数のアプリケーションに対する共有メモリの調停処理を、各アプリケーションに対応する仮想アプリケーションサービスで並列に実行することができ、アプリケーションに対する共有メモリ調停処理を効率的に行うことができるという効果を奏する。また、この請求項にかかる発明によれば、共有メモリ領域の属性情報を利用して共有メモリ識別情報の決定を行うことができ、属性情報を意識した新規アプリケーションのプログラム開発を行う必要がなくなり、新規アプリケーションのプログラム開発を効率的に行うことができるという効果を奏する。
【0150】
また、請求項10にかかる発明によれば、さらに共有相手のプロセスを指定した共有メモリ領域の取得を行うことができ、新規アプリケーションのプログラム開発を効率的に行うことができるという効果を奏する。
【0151】
また、請求項11にかかる発明によれば、共有メモリ領域の属性を指定した共有メモリ領域の取得を行うことができ、新規アプリケーションのプログラム開発を効率的に行うことができるという効果を奏する。
【0152】
また、請求項12にかかる発明によれば、共有メモリ領域の使用目的を指定した共有メモリ領域の取得を行うことができ、新規アプリケーションのプログラム開発を効率的に行うことができるという効果を奏する。
【0156】
また、請求項13にかかる発明によれば、共有メモリ領域の属性情報を利用して共有メモリ識別情報の決定を行うことができ、属性情報を意識した新規アプリケーションのプログラム開発を行う必要がなくなり、新規アプリケーションのプログラム開発を効率的に行うことができるという効果を奏する。
【0157】
また、請求項14にかかる発明によれば、さらに共有相手のプロセスを指定した共有メモリ領域の取得を行うことができ、新規アプリケーションのプログラム開発を効率的に行うことができるという効果を奏する。
【0158】
また、請求項15にかかる発明によれば、共有メモリ領域の属性を指定した共有メモリ領域の取得を行うことができ、新規アプリケーションのプログラム開発を効率的に行うことができるという効果を奏する。
【0159】
また、請求項16にかかる発明によれば、共有メモリ領域の使用目的を指定した共有メモリ領域の取得を行うことができ、新規アプリケーションのプログラム開発を効率的に行うことができるという効果を奏する。
【0160】
また、請求項17にかかる発明によれば、アプリケーションが画像データのための共有メモリ領域を取得する場合には、画像データの共有を使用目的として指定して取得要求を行えば、画像データが格納されている共有メモリ領域の共有メモリ識別情報を取得できるので、アプリケーションのプログラム開発を効率的に行うことができるという効果を奏する。
【0161】
また、請求項18にかかる発明によれば、アプリケーションが認証データのための共有メモリ領域を取得する場合には、認証データの共有を使用目的として指定して取得要求を行えば、認証データが格納されている共有メモリ領域の共有メモリ識別情報を取得できるので、アプリケーションのプログラム開発を効率的に行うことができるという効果を奏する。
【0162】
また、請求項19にかかる発明によれば、アプリケーションが他のアプリケーションの履歴データのための共有メモリ領域を取得する場合には、当該履歴データの共有を使用目的として指定して取得要求を行えば、履歴データが格納されている共有メモリ領域の共有メモリ識別情報を取得できるので、アプリケーションのプログラム開発を効率的に行うことができるという効果を奏する。
【図面の簡単な説明】
【図1】実施の形態1にかかる複合機の構成を示すブロック図である。
【図2】実施の形態1にかかる複合機のVASの構成と、VASと各アプリ、コントロールサービス層および汎用OSとの関係を示すブロック図である。
【図3】実施の形態1にかかる複合機における共有メモリ管理ファイルの内容の一例を示す説明図である。
【図4】各アプリによる共有メモリ領域の取得処理における各アプリ、VAS、汎用OS間のメッセージのやりとりおよび関数呼び出しを示すシーケンス図である。
【図5】実施の形態1にかかる複合機におけるVASの共有メモリキー調停スレッドによる共有メモリキー調停の処理手順を示すフローチャートである。
【図6】実施の形態2にかかる複合機における共有メモリ管理ファイルの内容の一例を示す説明図である。
【図7】実施の形態2にかかる複合機におけるVASの共有メモリキー調停スレッドによる共有メモリキー調停の処理手順を示すフローチャートである。
【図8】実施の形態3にかかる複合機の構成を示すブロック図である。
【図9】実施の形態3にかかる複合機のVASの構成と、VASと各アプリ、コントロールサービス層および汎用OSとの関係を示すブロック図である。
【符号の説明】
100 複合機
101 白黒ラインプリンタ
102 カラーラインプリンタ
103 ハードウェアリソース
110 ソフトウェア群
111 プリンタアプリ
112 コピーアプリ
113 ファックスアプリ
114 スキャナアプリ
115 ネットファイルアプリ
116 工程検査アプリ
117,118 新規アプリ
120 プラットホーム
121 汎用OS
122 SCS
123 SRM
124 ECS
125 MCS
126 OCS
127 FCS
128 NCS
130 アプリケーション
140,841〜848 仮想アプリケーションサービス(VAS)
141 共有メモリキー調停スレッド
143 制御スレッド
144 ディスパッチャ
150 コントロールサービス層
200 ハードディスク(HD)
201 共有メモリ管理ファイル
210 RAM
211 共有メモリ領域
212 アドレス空間
800 複合機
801 VAS制御プロセス

Claims (19)

  1. 印刷部または撮像部を有するハードウェア資源と、前記ハードウェア資源を利用した画像形成処理にかかる複数のアプリケーションのプロセスと、オペレーティングシステムと、前記オペレーティングシステム上で動作し、複数の前記アプリケーションからアクセスされて前記ハードウェア資源の制御を行う複数のコントロールサービスのプロセスとを備えた画像形成装置であって、
    アドレス空間上に確保される共有メモリ領域に固有の共有メモリ識別情報と、前記共有メモリ領域を割り当てられたプロセスに固有のプロセス識別情報と、前記共有メモリ領域の属性情報とを対応付けて保持する共有メモリ管理情報を記憶する記憶手段と、
    前記コントロールサービスと前記アプリケーションとの間に介在して動作し、前記アプリケーションから前記属性情報を指定した前記共有メモリ識別情報の取得要求を受けた場合に、前記共有メモリ管理情報から指定された前記属性情報に対応付けられた共有メモリ識別情報を検索して決定し、決定された共有メモリ識別情報および決定された共有メモリ識別情報の前記属性情報を、前記取得要求を行った前記アプリケーションに送信する調停手段と、
    を備えたことを特徴とする画像形成装置。
  2. 前記調停手段は、前記アプリケーションから前記共有メモリ領域の共有相手である他のプロセスを指定した前記共有メモリ識別情報の取得要求を受けた場合に、指定された他のプロセスのプロセス識別情報に対応する共有メモリ識別情報を前記共有メモリ管理情報から検索して、検索された共有メモリ識別情報および検索された共有メモリ識別情報の前記属性情報を、前記取得要求を行った前記アプリケーションに送信することを特徴とする請求項に記載の画像形成装置。
  3. 前記調停手段は、前記アプリケーションから前記属性情報を指定した前記共有メモリ識別情報の取得要求を受けた場合に、指定された属性情報に対応する共有メモリ識別情報を前記共有メモリ管理情報から検索して、検索された共有メモリ識別情報および検索された共有メモリ識別情報の前記属性情報を、前記取得要求を行った前記アプリケーションに送信することを特徴とする請求項1または2に記載の画像形成装置。
  4. 前記共有メモリ管理情報は、前記属性情報として前記共有メモリ領域の使用目的を含み、
    前記調停手段は、前記アプリケーションから前記使用目的を指定した前記共有メモリ識別情報の取得要求を受けた場合に、指定された使用目的の属性情報に対応する共有メモリ識別情報を前記共有メモリ管理情報から検索して、検索された共有メモリ識別情報および検索された共有メモリ識別情報の前記属性情報を、前記取得要求を行った前記アプリケーションに送信することを特徴とする請求項に記載の画像形成装置。
  5. 前記使用目的は、画像形成処理で使用される画像データの共有を示すものであることを特徴とする請求項に記載の画像形成装置。
  6. 前記使用目的は、ユーザごとに前記アプリケーションの利用の可否を記録した認証データの共有を示すものであることを特徴とする請求項に記載の画像形成装置。
  7. 前記使用目的は、前記アプリケーションの使用状況を記録した履歴データの共有を示すものであることを特徴とする請求項に記載の画像形成装置。
  8. 前記コントロールサービスをサーバとしたクライアントプロセスとして動作し、かつ前記アプリケーションをクライアントとしたサーバプロセスとして動作する仮想アプリケーションサービスをさらに備え、
    前記調停手段は、前記仮想アプリケーションサービスに含まれることを特徴とする請求項1〜のいずれか一つに記載の画像形成装置。
  9. 印刷部または撮像部を有するハードウェア資源と、前記ハードウェア資源を利用した画像形成処理にかかる複数のアプリケーションのプロセスと、オペレーティングシステムと、前記オペレーティングシステム上で動作し、複数の前記アプリケーションからアクセスされて前記ハードウェア資源の制御を行う複数のコントロールサービスのプロセスとを備えた画像形成装置であって、
    アドレス空間上に確保される共有メモリ領域に固有の共有メモリ識別情報と、前記共有メモリ領域を割り当てられたプロセスに固有のプロセス識別情報と、前記共有メモリ領域の属性情報とを対応付けて保持する共有メモリ管理情報を記憶する記憶手段と、
    前記コントロールサービスと前記アプリケーションとの間に介在して動作し、前記アプリケーションごとに別個に起動され、前記コントロールサービスをサーバとしたクライアントプロセスとして動作し、かつ前記アプリケーションをクライアントとしたサーバプロセスとして動作し、対応するアプリケーションから前記属性情報を指定した前記共有メモリ識別情報の取得要求を受けた場合に、前記共有メモリ管理情報から指定された前記属性情報に対応付けられた共有メモリ識別情報を検索して決定し、決定された共有メモリ識別情報および決定された共有メモリ識別情報の前記属性情報を、前記対応するアプリケーションに送信する仮想アプリケーションサービス
    を備えたことを特徴とする画像形成装置。
  10. 前記仮想アプリケーションサービスは、前記対応するアプリケーションから前記共有メモリ領域の共有相手である他のプロセスを指定した前記共有メモリ識別情報の取得要求を受けた場合に、指定された他のプロセスのプロセス識別情報に対応する共有メモリ識別情報を前記共有メモリ管理情報から検索して、検索された共有メモリ識別情報および検索された共有メモリ識別情報の前記属性情報を、前記対応するアプリケーションに送信することを特徴とする請求項に記載の画像形成装置。
  11. 前記仮想アプリケーションサービスは、前記対応するアプリケーションから前記属性情報を指定した前記共有メモリ識別情報の取得要求を受けた場合に、指定された属性情報に対応する共有メモリ識別情報を前記共有メモリ管理情報から検索して、検索された共有メモリ識別情報および検索された共有メモリ識別情報の前記属性情報を、前記対応するアプリケーションに送信することを特徴とする請求項10に記載の画像形成装置。
  12. 前記共有メモリ管理情報は、前記属性情報として前記共有メモリ領域の使用目的を含み、
    前記仮想アプリケーションサービスは、前記対応するアプリケーションから前記使用目的を指定した前記共有メモリ識別情報の取得要求を受けた場合に、指定された使用目的の属性情報に対応する共有メモリ識別情報を前記共有メモリ管理情報から検索して、検索された共有メモリ識別情報および検索された共有メモリ識別情報の前記属性情報を、前記対応するアプリケーションに送信することを特徴とする請求項11に記載の画像形成装置。
  13. 印刷部または撮像部を有するハードウェア資源と、前記ハードウェア資源を利用した画像形成処理にかかる複数のアプリケーションのプロセスと、オペレーティングシステムと、前記オペレーティングシステム上で動作し、複数の前記アプリケーションからアクセスされて前記ハードウェア資源の制御を行う複数のコントロールサービスのプロセスとを備えた画像形成装置のアドレス空間上に確保される共有メモリ領域に固有の共有メモリ識別情報を調停する共有メモリ調停方法であって、
    前記コントロールサービスと前記アプリケーションとの間に介在して動作する調停手段によって実行され、前記アプリケーションから前記属性情報を指定した前記共有メモリ識別情報の取得要求を受けた場合に、前記共有メモリ識別情報と前記共有メモリ領域を割り当てられたプロセスに固有のプロセス識別情報と前記共有メモリ領域の属性情報とを対応付けて保持する共有メモリ管理情報から指定された前記属性情報に対応付けられた前記共有メモリ識別情報を検索して決定し、決定された共有メモリ識別情報および決定された共有メモリ識別情報の前記属性情報を、前記取得要求を行った前記アプリケーションに送信する調停ステップ
    を含むことを特徴とする共有メモリ調停方法。
  14. 前記調停ステップは、前記アプリケーションから前記共有メモリ領域の共有相手である他のプロセスを指定した前記共有メモリ識別情報の取得要求を受けた場合に、指定された他のプロセスのプロセス識別情報に対応する共有メモリ識別情報を前記共有メモリ管理情報から検索して、検索された共有メモリ識別情報および検索された共有メモリ識別情報の前記属性情報を、前記取得要求を行った前記アプリケーションに送信することを特徴とする請求項13に記載の共有メモリ調停方法。
  15. 前記調停ステップは、前記アプリケーションから前記属性情報を指定した前記共有メモリ識別情報の取得要求を受けた場合に、指定された属性情報に対応する共有メモリ識別情報を前記共有メモリ管理情報から検索して、検索された共有メモリ識別情報および検索された共有メモリ識別情報の前記属性情報を、前記取得要求を行った前記アプリケーションに送信することを特徴とする請求項13または14に記載の共有メモリ調停方法。
  16. 前記共有メモリ管理情報は、前記属性情報として前記共有メモリ領域の使用目的を含み、
    前記調停ステップは、前記アプリケーションから前記使用目的を指定した前記共有メモリ識別情報の取得要求を受けた場合に、指定された使用目的の属性情報に対応する共有メモリ識別情報を前記共有メモリ管理情報から検索して、検索された共有メモリ識別情報および検索された共有メモリ識別情報の前記属性情報を、前記取得要求を行った前記アプリケーションに送信することを特徴とする請求項15に記載の共有メモリ調停方法。
  17. 前記使用目的は、画像形成処理で使用される画像データの共有を示すものであることを特徴とする請求項16に記載の共有メモリ調停方法。
  18. 前記使用目的は、ユーザごとに前記アプリケーションの利用の可否を記録した認証データの共有を示すものであることを特徴とする請求項16に記載の共有メモリ調停方法。
  19. 前記使用目的は、前記アプリケーションの使用状況を記録した履歴データの共有を示すものであることを特徴とする請求項16に記載の共有メモリ調停方法。
JP2002133196A 2002-05-08 2002-05-08 画像形成装置および共有メモリ調停方法 Expired - Fee Related JP4253466B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002133196A JP4253466B2 (ja) 2002-05-08 2002-05-08 画像形成装置および共有メモリ調停方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002133196A JP4253466B2 (ja) 2002-05-08 2002-05-08 画像形成装置および共有メモリ調停方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2008312599A Division JP2009065713A (ja) 2008-12-08 2008-12-08 画像形成装置、共有メモリ調停方法、プログラムおよび記録媒体

Publications (2)

Publication Number Publication Date
JP2003330735A JP2003330735A (ja) 2003-11-21
JP4253466B2 true JP4253466B2 (ja) 2009-04-15

Family

ID=29696320

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002133196A Expired - Fee Related JP4253466B2 (ja) 2002-05-08 2002-05-08 画像形成装置および共有メモリ調停方法

Country Status (1)

Country Link
JP (1) JP4253466B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009065713A (ja) * 2008-12-08 2009-03-26 Ricoh Co Ltd 画像形成装置、共有メモリ調停方法、プログラムおよび記録媒体

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005229270A (ja) * 2004-02-12 2005-08-25 Ricoh Co Ltd 画像形成装置、インタフェース方法
JP4421461B2 (ja) * 2004-12-03 2010-02-24 京セラ株式会社 携帯電話端末、コンピュータプログラム
US7788529B2 (en) * 2005-12-08 2010-08-31 International Business Machines Corporation Method for safely interrupting blocked work in a server
US7967215B2 (en) * 2008-04-18 2011-06-28 Vivotech Inc. Systems, methods, and computer program products for supporting multiple contactless applications using different security keys

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009065713A (ja) * 2008-12-08 2009-03-26 Ricoh Co Ltd 画像形成装置、共有メモリ調停方法、プログラムおよび記録媒体

Also Published As

Publication number Publication date
JP2003330735A (ja) 2003-11-21

Similar Documents

Publication Publication Date Title
US9277093B2 (en) Method, apparatus, and computer product for managing image formation resources
JP3653073B2 (ja) 画像形成装置、利用者制限方法およびこの方法をコンピュータに実行させるプログラム
US7904424B2 (en) Method for managing document data and data structure
JP5962829B2 (ja) 画像形成装置、画像形成方法およびプログラム
JP4373742B2 (ja) 画像形成装置およびアプリ起動制限方法
JP2004030601A (ja) リソース情報によりアプリケーション起動判断を行う装置及び方法
JP2004005612A (ja) リソース情報を取得する装置及び方法
JP4253466B2 (ja) 画像形成装置および共有メモリ調停方法
JP4504447B2 (ja) 画像形成装置、アプリケーション起動判断方法、プログラム、及び記録媒体
JP4128506B2 (ja) 画像形成装置およびアプリケーション情報取得方法
KR101829389B1 (ko) 화상형성장치에서 작업을 수행하는 방법 및 이를 수행하는 화상형성장치
JP4676977B2 (ja) 画像形成装置、アプリケーション情報取得方法、及びプログラム
JP2009065713A (ja) 画像形成装置、共有メモリ調停方法、プログラムおよび記録媒体
JP4246560B2 (ja) 情報処理装置、情報処理方法、プログラム、及び記録媒体
JP2005196334A (ja) サービス処理実行管理装置及び方法
JP2005196560A (ja) 情報処理装置、データ検索方法およびデータ検索プログラム
JP2005287042A (ja) 画像形成装置、画像形成方法および画像形成プログラム
JP6690313B2 (ja) 情報処理システムおよび情報処理方法
JP4677054B2 (ja) 画像形成装置、プログラム、記録媒体、及び方法
US20170201644A1 (en) Image forming apparatus and notification method
JP2007305143A (ja) 情報処理装置および情報処理方法
JP2006005963A (ja) 情報処理装置および情報処理方法
JP5348082B2 (ja) 画像形成装置、機能キー割り付け方法、プログラム、及び記録媒体
JP2013257825A (ja) 情報処理装置、ネットワークシステム、動作情報取込方法及び動作情報取込プログラム
JP2004133923A (ja) 端末装置及びWebサービス提供処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070306

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070507

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071120

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080118

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081007

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081208

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20081211

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4253466

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130130

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140130

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees