(57)【要約】【課題】互いに依存関係を有する複数の情報の整合性を保証可能な情報管理技術を提供する。【解決手段】情報管理装置は、記憶部と、受付部と、アクセス部と、アクセス制御部とを備える。記憶部は、互いに依存関係を有する場合には、同一のカテゴリに属するように分類された複数の管理情報が、属するカテゴリと関連付けて記憶される。受付部は、管理情報に対するアクセスを要求するアクセス要求を受け付ける。アクセス部は、アクセス要求に応じて、管理情報に対するアクセスを実行する。アクセス制御部は、受け付けられた一のアクセス要求が、同一のカテゴリに属する複数の管理情報に対するアクセスの要求を含む場合には、一のアクセス要求に応じた同一のカテゴリに属する複数の管理情報に対するアクセスが完了するまで、同一のカテゴリに属する全ての管理情報に対する他のアクセス要求に応じたアクセスを禁止する。【選択図】図８
2007193392.tif 000002
【特許請求の範囲】
【請求項１】
複数の管理情報を管理する情報管理装置であって、
互いに依存関係を有する場合には、同一のカテゴリに属するように分類された前記複数の管理情報が、前記属するカテゴリと関連付けて記憶されている記憶部と、
前記管理情報に対するアクセスを要求するアクセス要求を受け付ける受付部と、
前記アクセス要求に応じて、前記管理情報に対するアクセスを実行するアクセス部と、
前記受け付けられた一のアクセス要求が、同一のカテゴリに属する複数の管理情報に対するアクセスの要求を含む場合には、前記一のアクセス要求に応じた前記同一のカテゴリに属する複数の管理情報に対するアクセスが完了するまで、前記同一のカテゴリに属する全ての管理情報に対する他のアクセス要求に応じたアクセスを禁止するアクセス制御部と、
を備える情報管理装置。
【請求項２】
請求項１に記載の情報管理装置において、
前記情報管理装置は、１または複数のデバイスと通信可能であり、
前記複数の管理情報は、前記デバイスの属性を表す属性情報を含む、情報管理装置。
【請求項３】
請求項１に記載の情報管理装置において、
前記情報管理装置は、前記１または複数のデバイスを利用する１または複数のクライアントコンピュータと通信可能であり、
前記アクセス要求は、前記１または複数のクライアントコンピュータからの第１のアクセス要求を含む、情報管理装置。
【請求項４】
請求項１に記載の情報管理装置において、
前記アクセス要求は、前記１または複数のデバイスから取得された前記属性情報を書き込むための第２のアクセス要求を含む、情報管理装置。
【請求項５】
請求項１に記載の情報管理装置において、
前記アクセス要求が、一のカテゴリに属する複数の管理情報に対するアクセスの要求と、他のカテゴリに属する管理情報に対するアクセスの要求を含む場合には、前記アクセス部は、前記一のカテゴリに属する複数の管理情報に対するアクセスをまとめて実行する、情報管理装置。
【請求項６】
請求項１に記載の情報管理装置において、
前記カテゴリごとに、アクセスの優先順位が定められており、
前記アクセス要求が、一のカテゴリに属する管理情報に対するアクセスの要求と、他のカテゴリに属する管理情報に対するアクセスの要求を含む場合には、前記アクセス部は、前記優先順位の高いカテゴリに属する管理情報に対するアクセスを、前記優先順位の低いカテゴリに属する管理情報に対するアクセスより先に実行する、情報管理装置。
【請求項７】
複数の情報が、前記情報が属するカテゴリと関連付けて記憶されている記憶部において、前記記憶されている複数の情報を管理する方法であって、
前記管理情報に対するアクセスを要求するアクセス要求を受け付け、
前記アクセス要求に応じて、前記管理情報に対するアクセスを実行し、
前記受け付けられた一のアクセス要求が、同一のカテゴリに属する複数の管理情報に対するアクセスの要求を含む場合には、前記一のアクセス要求に応じた前記同一のカテゴリに属する複数の管理情報に対するアクセスが完了するまで、前記同一のカテゴリに属する全ての管理情報に対する他のアクセス要求に応じたアクセスを禁止する、方法。
【請求項８】
複数の情報が、前記情報が属するカテゴリと関連付けて記憶されている記憶部において、コンピュータに前記記憶されている複数の情報を管理させるコンピュータプログラムであって、
前記管理情報に対するアクセスを要求するアクセス要求を受け付ける第１の機能と、
前記アクセス要求に応じて、前記管理情報に対するアクセスを実行する第２の機能、
前記受け付けられた一のアクセス要求が、同一のカテゴリに属する複数の管理情報に対するアクセスの要求を含む場合には、前記一のアクセス要求に応じた前記同一のカテゴリに属する複数の管理情報に対するアクセスが完了するまで、前記同一のカテゴリに属する全ての管理情報に対する他のアクセス要求に応じたアクセスを禁止する第３の機能と、
を前記コンピュータに実現させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶部に記憶された複数の情報の管理に関する。
【背景技術】
【０００２】
プリンタ等のデバイスを、ローカルエリアネットワーク（ＬＡＮ）をはじめとするネットワークに接続して使用する形態が普及しつつある。このようなネットワークに接続されたデバイス（ネットワークデバイス）の属性を表す様々な属性情報は、例えば、ネットワークデバイスと通信可能な計算機の記憶部に記憶される（例えば、特許文献１）。記憶された属性情報は、例えば、ネットワーク上のクライアントコンピュータ（以下、単にクライアントという。）により取得され、クライアントは、取得された属性情報により、ネットワークデバイスの属性を認識することができる。
【０００３】
【特許文献１】特開２００１−２８２６５７号
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、例えば、一のクライアントコンピュータが記憶部に記憶されている複数の属性情報を取得する処理と、他のクライアントコンピュータが同じ複数の属性情報を変更する処理が並行して行われた場合、複数の属性情報間の整合性が保証されないおそれがあった。例えば、第１の属性情報と第２の属性情報とが、互いに依存関係を有し、第１の属性情報が取得された後に、他のクライアントコンピュータにより第１および第２の属性情報が更新され、更新後に第２の属性情報が取得された場合などである。
【０００５】
上述した課題は、デバイスの属性情報を管理する場合に限られるものではなく、管理の対象である情報が、互いに依存関係を有する複数の情報を含む場合に共通する課題である。
【０００６】
本発明は、上記課題を解決するためになされたものであり、互いに依存関係を有する複数の情報の整合性を保証可能な情報管理技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題の少なくとも一部を解決するため、本発明の第１の態様は、複数の管理情報を管理する情報管理装置を提供する。本発明の第１の態様に係る情報管理装置は、記憶部と、受付部と、アクセス部と、アクセス制御部とを備える。前記記憶部は、互いに依存関係を有する場合には、同一のカテゴリに属するように分類された複数の管理情報が、前記属するカテゴリと関連付けて記憶されている。前記受付部は、前記管理情報に対するアクセスを要求するアクセス要求を受け付ける。前記アクセス部は、前記アクセス要求に応じて、前記管理情報に対するアクセスを実行する。前記アクセス制御部は、前記受け付けられた一のアクセス要求が、同一のカテゴリに属する複数の管理情報に対するアクセスの要求を含む場合には、前記一のアクセス要求に応じた前記同一のカテゴリに属する複数の管理情報に対するアクセスが完了するまで、前記同一のカテゴリに属する全ての管理情報に対する他のアクセス要求に応じたアクセスを禁止する。
【０００８】
本発明の第１の態様に係る情報管理装置によれば、互いに依存関係を有する複数の管理情報は同一のカテゴリに分類され、同一のカテゴリに属する全ての管理情報に対して、他のアクセス要求に応じたアクセスができない状態で、管理情報に対するアクセスが行われる。この結果、同一のカテゴリに属する複数の管理情報に対するアクセスが行われる場合において、互いに依存関係を有する複数の管理情報の整合性を保証することができる。
【０００９】
本発明の第１の態様に係る情報管理装置において、前記情報管理装置は、１または複数のデバイスと通信可能であり、前記複数の管理情報は、前記デバイスの属性を表す属性情報を含んでも良い。こうすれば、デバイスの属性を表す複数の属性情報が互いに依存関係を有する場合に、これらの複数の管理情報の整合性を保証することができる。
【００１０】
本発明の第１の態様に係る情報管理装置において、前記情報管理装置は、前記１または複数のデバイスを利用する１または複数のクライアントコンピュータと通信可能であり、前記アクセス要求は、前記１または複数のクライアントコンピュータからの第１のアクセス要求を含んでも良い。また、前記アクセス要求は、前記１または複数のデバイスから取得された前記属性情報を書き込むための第２のアクセス要求を含んでも良い。
【００１１】
本発明の第１の態様に係る情報管理装置において、前記アクセス要求が、一のカテゴリに属する複数の管理情報に対するアクセスの要求と、他のカテゴリに属する管理情報に対するアクセスの要求を含む場合には、前記アクセス部は、前記一のカテゴリに属する複数の管理情報に対するアクセスをまとめて実行しても良い。こうすれば、一のカテゴリに属する複数の管理情報に対する他のアクセス要求に応じたアクセスが禁止される時間を抑制できる。
【００１２】
本発明の第１の態様に係る情報管理装置において、前記カテゴリごとに、アクセスの優先順位が定められており、前記アクセス要求が、一のカテゴリに属する管理情報に対するアクセスの要求と、他のカテゴリに属する管理情報に対するアクセスの要求を含む場合には、前記アクセス部は、前記優先順位の高いカテゴリに属する管理情報に対するアクセスを、前記優先順位の低いカテゴリに属する管理情報に対するアクセスより先に実行しても良い。こうすれば、カテゴリごとにアクセスの優先順位を規定してアクセスすることにより、管理情報の有効性を向上することができる。
【００１３】
なお、本発明は、種々の態様で実現することが可能であり、例えば、複数の情報が、前記情報が属するカテゴリと関連付けて記憶されている記憶部において、前記記憶されている複数の情報を管理する方法のような方法発明として実現することができる。あるいは、かかる装置または方法を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の態様で実現することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明について、図面を参照しつつ、実施例に基づいて説明する。
【００１５】
Ａ．実施例：
・ネットワークシステムの構成：
図１は、本発明の実施例におけるネットワークシステムの概略構成図である。ネットワークシステム１０００は、図１に示すように、複数のクライアントコンピュータ（以下、単にクライアントという。）ＣＬ１、ＣＬ２と、デバイス管理装置１００と、デバイス管理装置１００に接続された複数のプリンタＰＲＴ１〜ＰＲＴ３を含む。クライアントＣＬ１、ＣＬ２と、デバイス管理装置１００とは、ローカルエリアネットワーク（ＬＡＮ）に、それぞれ接続されている。プリンタＰＲＴ１〜ＰＲＴ３は、それぞれ、ＵＳＢ（Universal Serial Bus）ケーブルＣＶを用いてデバイス管理装置１００に接続されている。デバイス管理装置１００は、クライアントＣＬ１、ＣＬ２から印刷要求を受け付け、プリンタＰＲＴ１〜ＰＲＴ３を用いて印刷を実行するプリントサーバとして機能する。すなわち、プリンタＰＲＴ１〜ＰＲＴ３は、その印刷機能を、デバイス管理装置１００を介して、クライアントＣＬ１、ＣＬ２に提供する。
【００１６】
図２〜図４を参照してネットワークシステム１０００に含まれる各機器の構成について説明する。図２は、クライアントの内部構成を示す説明図である。図３は、デバイス管理装置の内部構成を示す説明図である。図４は、プリンタの内部構成を示す説明図である。
【００１７】
クライアントＣＬ１、ＣＬ２は、周知の計算機であり、図２に示すように、中央演算装置（ＣＰＵ）２１０と、メモリ２２０と、ネットワークインターフェースカード（ＮＩＣ）２３０と、表示装置２４０を備えている。ＣＰＵ２１０は、メモリ２２０に格納された各種プログラムを実行することによりクライアントとしての機能を実現する。ＮＩＣ２３０は、ネットワークに接続するための通信インターフェースであり、具体的には、イーサネット（登録商標）の仕様に対応したケーブルを介して、ＬＡＮと接続される。
【００１８】
メモリ２２０には、種々のプログラムやデータが格納されており、図２においては、本実施例における処理に必要な構成を選択的に図示し、本明細書においては、図示された構成について説明する。メモリ２２０には、プリンタ管理プログラム２２１と、プリンタドライバ２２２と、通信プロトコルプログラム２２３とが、格納されている。プリンタ管理プログラム２２１は、ＬＡＮに直接または間接に接続されたプリンタを管理するために用いられ、要求送信モジュール２２１１と、応答受信モジュール２２１２とを含んでいる。要求送信モジュール２２１１は、ＬＡＮ上に接続されたデバイス管理装置１００に対して、アクセス要求を送信する。アクセス要求は、デバイス管理装置１００が管理するプリンタＰＲＴ１〜ＰＲＴ３に関する属性情報に対するアクセス、すなわち、属性情報の読み出しまたは書き込みを要求するデータである。応答受信モジュール２２１２は、ＬＡＮ上に接続されたデバイス管理装置１００から上述したアクセス要求に対する応答を受信する。プリンタドライバ２２２は、図示しないアプリケーションプログラムの指示に応じて、印刷要求をデバイス管理装置１００に送信する。通信プロトコルプログラム２２３は、プリンタ管理プログラム２２１およびプリンタドライバ２２２の下位層にあたる通信プロトコルの機能を実現するプログラムであり、プリンタ管理プログラム２２１およびプリンタドライバ２２２の要求に応じて通信処理を実行する。具体的には、通信プロトコルプログラム２２３は、ＳＯＡＰ（Simple Object Access Protocol） ｏｖｅｒ ＨＴＴＰ（HyperText Transfer Protocol）のクライアント側プロトコル、および、ＨＴＴＰの下位プロトコルであるＴＣＰ／ＩＰプロトコルを実装しており、上述したアクセス要求や印刷要求の送信やアクセス要求に対する応答の受信を実現する。
【００１９】
デバイス管理装置１００は、図３に示すように、ＣＰＵ１１０と、メモリ１２０と、ＮＩＣ１３０と、ＵＳＢホストＩ／Ｆ部１４０を備えている。ＣＰＵ１１０は、メモリ１２０に格納されている各種プログラムを実行することにより、デバイス管理装置１００の機能を実現する。ＮＩＣ１３０は、ＬＡＮを介して、クライアントＣＬ１、ＣＬ２をはじめとするネットワーク上の機器と通信するためのインターフェースであり、具体的には、イーサネットの仕様に対応したケーブルを介して、ＬＡＮと接続される。ＵＳＢホストＩ／Ｆ部１４０は、ＵＳＢケーブルＣＶを接続するためのＵＳＢホストコネクタ１４１〜１４３を備え、ＵＳＢケーブルＣＶを介して、ＵＳＢデバイス（図１に示す例では、プリンタＰＲＴ１〜ＰＲＴ３）と接続される。ＵＳＢホストＩ／Ｆ部１４０は、ＵＳＢデバイスと通信するためのインターフェースであり、ＵＳＢ規格に従ったデータ通信を、接続されたＵＳＢデバイスとの間で実行する。
【００２０】
メモリ１２０には、種々のプログラムやデータが格納されており、図３においては、本実施例における処理に必要な構成を選択的に図示し、本明細書においては、図示された構成について説明する。メモリ１２０には、プリントサーバプログラム１２１と、通信プロトコルプログラム１２３と、属性情報記憶部１２５とが、格納されている。プリントサーバプログラム１２１は、印刷要求の受け付けおよびプリンタＰＲＴ１〜ＰＲＴ３の制御をはじめとするプリントサーバとしての一般的な機能を実現するプログラムに加えて、記憶部管理プログラム１２１０と、属性情報収集プログラム１２１５を含んでいる。記憶部管理プログラム１２１０は、アクセスモジュール１２１１と、アクセス制御モジュール１２１２と、受付／応答モジュール１２１３とを含んでいる。アクセスモジュール１２１１は、上述したアクセス要求に応じて、第１および第２のデータベース（後述）に記憶された属性情報に対するアクセス（読み出し、および、書き込み）を実行する。アクセス制御モジュール１２１２は、アクセスモジュール１２１１による属性情報に対するアクセス（読み出し、および、書き込み）の許可、および、禁止を行う。受付／応答モジュール１２１３は、上述したアクセス要求の受け付け、および、アクセス要求に対する応答を実行する。属性情報収集プログラム１２１５は、ＵＳＢホストＩ／Ｆ部１４０を介してデバイス管理装置１００と接続されたプリンタＰＲＴ１〜ＰＲＴ３に問い合わせることにより、プリンタＰＲＴ１〜ＰＲＴ２に関する属性情報を収集する。
【００２１】
通信プロトコルプログラム１２３は、プリントサーバプログラム１２１の下位層にあたる通信プロトコルの機能を実現するプログラムであり、プリントサーバプログラム１２１の要求に応じて通信処理を実行する。具体的には、通信プロトコルプログラム１２３は、ＵＳＢホストＩ／Ｆ部１４０を介してＵＳＢデバイスと通信するためのプロトコル（ドライバ）を実装しており、上述したプリンタＰＲＴ１〜ＰＲＴ３の制御や属性情報の収集を実現する。また、通信プロトコルプログラム１２３は、ＳＯＡＰｏｖｅｒＨＴＴＰのサーバ側プロトコル、および、ＨＴＴＰの下位プロトコルであるＴＣＰ／ＩＰプロトコルを実装しており、上述したアクセス要求や印刷要求の受信やアクセス要求に対する応答の送信を実現する。
【００２２】
属性情報記憶部１２５は、第１のデータベース１２５１と、第２のデータベース１２５２と、管理テーブル１２５３とを備えている。これらの詳細については後述する。
【００２３】
デバイス管理装置１００と接続されるＵＳＢデバイスであるプリンタＰＲＴ１〜ＰＲＴ３について説明する。以下の説明において、各プリンタＰＲＴ１〜ＰＲＴ３を区別する必要がない場合には、符号の末尾の数字を省略し、プリンタＰＲＴと表記する。プリンタＰＲＴは、図４に示すように、コントローラ３１０と、プリントエンジン３２０と、ＵＳＢデバイスＩ／Ｆ部３４０とを備えている。コントローラ３１０は、プリンタ全体を制御する計算機であり、ＣＰＵ３１１と、メモリ３１２を備えている。メモリ３１２には、プリンタＰＲＴの制御プログラム３１３と共に、属性情報テーブル３１５が格納されている。属性情報テーブル３１５は、プリンタＰＲＴ（ＵＳＢデバイス）の属性情報が記録されているが、その詳細は後述する。制御プログラム３１３は、プリンタＰＲＴの制御に必要な各種モジュール（図示省略）と共に、属性情報テーブル３１５に記録された属性情報を、デバイス管理装置１００からの問い合わせに応じてデバイス管理装置１００に送信する属性情報送信モジュール３１４を含んでいる。プリントエンジン３２０は、実際に印刷を行う機構部分であり、本実施例では、静電気によってトナー粉が付着する現象を利用して印刷用紙上に画像を形成するいわゆるレーザー式のプリントエンジンである。ＵＳＢデバイスＩ／Ｆ部３４０は、デバイス管理装置１００と接続するためのＵＳＢデバイスコネクタ３４５を備え、ＵＳＢケーブルＣＶを介して、デバイス管理装置１００と接続される。ＵＳＢデバイスＩ／Ｆ部３４０は、デバイス管理装置１００と通信するためのインターフェースであり、ＵＳＢ（Universal Serial Bus）規格に従ったデータ通信を、デバイス管理装置１００との間で実行する。
【００２４】
図５を参照して、各プリンタＰＲＴのメモリ３１２に格納されている属性情報テーブル３１５について、さらに説明する。図５は、属性情報テーブル３１５の具体例を概念的に示す説明図である。属性情報テーブル３１５に記録されている属性情報は、例えば、ステータス、用紙情報、インク情報を含む。ステータスは、動的に変化するプリンタＰＲＴの動作状況を表す情報である。ステータスの値は、例えば、「印刷中」「ジョブ受信中」「ジョブ受信待ち」「エラー状態」を取り得る。用紙情報は、プリンタＰＲＴに収容されている用紙の状況を動的に示す情報であり、例えば、用紙の有無、プリンタＰＲＴのトレイ１に収容されている用紙の枚数を示すトレイ１用紙残量、トレイ２に収容されている用紙の枚数を示すトレイ２用紙残量を含む。用紙の有無の値は、「有り」または「無し」のいずれかを取る。例えば、トレイ１またはトレイ２のいずれかに用紙が有る場合には、用紙の有無の値は、「有り」を取り、トレイ１およびトレイ２のいずれにも用紙が無い場合に、用紙の有無の値は、「無し」を取ることとされる。インク情報は、例えば、インクの有無と、イエロ（Ｙ）インク、マゼンタ（Ｍ）インク、シアン（Ｃ）インクの残量をそれぞれ示すＹインク残量、Ｍインク残量、Ｃインク残量を含む。インクの有無の値は、例えば、Ｙインク、Ｍインク、Ｃインクのいずれか１つの残量が０である場合に「無し」、３つのインクのすべての残量が１以上である場合に「有り」を取ることとされる。コントローラ３１０（ＣＰＵ３１１）は、プリンタＰＲＴの動作状況の変化に応じて、随時、属性情報テーブル３１５に記録されているこれらの情報を更新する。
【００２５】
図６および図７を参照して、デバイス管理装置１００の属性情報記憶部１２５に含まれる上述した管理テーブル１２５３、第１および第２のデータベース１２５１、１２５２について、さらに説明する。図６は、管理テーブルの具体例を概念的に示す説明図である。図７は、第１および第２のデータベース１２５１、１２５２の具体例を概念的に示す説明図である。
【００２６】
管理テーブル１２５３は、第１および第２のデータベース１２５１、１２５２に記録される属性情報を管理するテーブルである。管理テーブル１２５３には、第１および第２のデータベース１２５１、１２５２に記録される属性情報の項目名が全て記録されている。図６に示すように、属性情報の項目には、プリンタＰＲＴ１〜ＰＲＴ３に共通する属性情報と、各プリンタＰＲＴに固有の属性情報とが含まれる。プリンタＰＲＴ１〜ＰＲＴ３に共通する属性情報は、例えば、プリンタＰＲＴ１〜ＰＲＴ３が接続されているデバイス管理装置１００に関するネットワーク情報であるＩＰアドレス、サブネットマスク、ゲートウェイなどを含む。各プリンタＰＲＴに固有の属性情報は、上述したステータス、用紙情報、インク情報を含む。
【００２７】
管理テーブル１２５３には、属性情報の項目名と共に、属性情報が記録されているデータベースを特定する情報と、属性情報が属するカテゴリ名と、属性情報をデータベース上で検索するために用いる項目ＩＤとが関連付けられている。図６において、属性情報が記録されているデータベースを特定する情報として、「ＤＢ１」が関連付けられている属性情報は、第１のデータベース１２５１に記録されており、「ＤＢ２」が関連付けられている属性情報は、第２のデータベース１２５２に記録されている。各属性情報は、属するカテゴリが定められている。カテゴリは、互いに依存関係を有する属性情報が同一のカテゴリに属するように、予め定められている。互いに依存関係を有するとは、一方が変更された場合に、同時に他方も変更される場合がある関係にあることを指す。図６において、同一のカテゴリＡに属するＩＰアドレス、サブネットマスク、ゲートウェイは、互いに依存関係を有する。また、図６に示すように、上述した３つの用紙情報（用紙の有無、トレイ１用紙残量、トレイ２用紙残量）は、互いに依存関係があり、同一のカテゴリに属する。トレイ１用紙残量およびトレイ２用紙残量が共に「０」である場合には、用紙の有無の値は、「無し」である必要があり、トレイ１用紙残量およびトレイ２用紙残量のいずれかが１以上の値である場合には、用紙の有無の値は、「有り」である必要があるからである。なお、図示は省略するが、上述した４つのインク情報（Ｙインク残量、Ｍインク残量、Ｃインク残量、インクの有無）も、同様に、互いに依存関係があり、同一のカテゴリに属する。
【００２８】
第１および第２のデータベース１２５１、１２５２には、図７に示すように、属性情報が、上述した項目ＩＤと関連付けて記録されている。第１のデータベース１２５１は、不揮発性のメモリ、例えば、フラッシュメモリ上に構築され、例えば、上述した各プリンタＰＲＴに共通の属性情報であるＩＰアドレス、サブネットマスク、ゲートウェイが格納される。第２のデータベース１２５２は、揮発性のメモリ、例えば、ＲＡＭ上に構築され、例えば、上述した各プリンタＰＲＴに固有の属性情報であるステータス、用紙情報、インク情報が格納される。プリンタＰＲＴに固有の属性情報は、属性情報収集プログラム１２１５が各プリンタＰＲＴに定期的に問い合わせることによって取得され、属性情報収集プログラム１２１５が取得された属性情報を書き込むためのアクセス要求を、記憶部管理プログラム１２１０に発行することによって第２のデータベース１２５２に格納される。
【００２９】
・記憶部管理プログラムの処理：
図８〜図１０を参照して、デバイス管理装置１００の記憶部管理プログラム１２１０が行うデータベースアクセス処理について説明する。図８は、データベースアクセス処理の処理ルーチンを示すフローチャートである。図９は、アクセス要求の一例を示す第１の説明図である。図１０は、アクセス要求に対する応答の一例を示す説明図である。
【００３０】
データベースアクセス処理は、記憶部管理プログラム１２１０の受付／応答モジュール１２１３が、アクセス要求を受け付ける（ステップＳ１０２）と開始される。アクセス要求は、第１および第２のデータベース１２５１、１２５２に記憶されたいずれかの属性情報に対する全てのアクセス要求を含む。アクセス要求は、例えば、クライアントＣＬ１、ＣＬ２の要求送信モジュール２２１１からＬＡＮを介して送信されてくる第１のアクセス要求である。第１のアクセス要求は、属性情報を変更するために属性情報の書き込みを要求する書き込み要求と、属性要求を読み出して送信することを要求する読み出し要求と、を含む。また、アクセス要求は、例えば、属性情報収集プログラム１２１５が各プリンタＰＲＴから収集した属性情報を書き込むことを要求する第２のアクセス要求である。
【００３１】
図９には、第１のアクセス要求の一例が示されている。第１のアクセス要求５００は、ヘッダ部５０１と、ボディ部５０２を備えている。ヘッダ部５０１は、第１のアクセス要求５００の送信に用いられるプロトコルに応じて添付される（例えば、ＳＯＡＰヘッダ、ＨＴＴＰヘッダを含む）。ボディ部５０２は、アクセス要求の具体的な内容が記述された要求記述部５０３を備える。要求記述部５０３には、書き込み要求か読み出し要求かを示す情報（図９の例では、読み出し要求であることを示す<GetData>が記述されている。）と共に、アクセス要求の対象となる属性情報の項目名（図９の例では、ＩＰアドレス、サブネットマスク、ゲートウェイが記述されている。）が記述されている。
【００３２】
アクセス要求が受け付けられると、記憶部管理プログラム１２１０のアクセス制御モジュール１２１２は、アクセス要求の対象とされている属性情報（対象属性情報）が属するカテゴリを１つロックする（ステップＳ１０４）。例えば、図９に示されているアクセス要求に応じて、ＩＰアドレスにアクセスしようとしている場合、アクセス制御モジュール１２１２は、ＩＰアドレスが属するカテゴリを、管理テーブル１２５３（図６）を参照して認識する。アクセス制御モジュール１２１２は、認識したＩＰアドレスが属するカテゴリＡをロックする。ここで、カテゴリをロックするとは、第１および第２のデータベース１２５１、１２５２に格納された属性情報のうち、当該カテゴリに属する全ての属性情報に対する他のプロセスによるアクセスを禁止することをいう。すなわち、カテゴリがロックされると、当該カテゴリに属する属性情報に対する書き込みおよび読み出し共に禁止される。
【００３３】
具体的には、カテゴリのロックは、セマフォと呼ばれる仕組みを用いて実現される。カテゴリごとに０または１の二値をとるセマフォ変数が用意され、セマフォ変数が０である状態がカテゴリがロックされた状態を示し、セマフォ変数が１である状態がカテゴリがロックされていない状態を示す。アクセス要求を処理するプロセスは、アクセスしようとする属性情報の属するカテゴリのセマフォ変数が１である場合には、セマフォ変数を０にすることによって、カテゴリをロックする。一方、アクセス要求を処理するプロセスは、アクセスしようとする属性情報の属するカテゴリのセマフォ変数が０である場合には、セマフォ変数が１になるまで、すなわち、カテゴリのロックが解除されるまで待機する。
したがって、本ステップにおいて、ロックしようとするカテゴリが、既に、ロックされた状態にある場合には、アクセス制御モジュール１２１２は、カテゴリのロックが解除されるのを待って、カテゴリのロックが解除されたことを確認してから、カテゴリのロックを実行することになる。
【００３４】
カテゴリがロックされると、記憶部管理プログラム１２１０のアクセスモジュール１２１１は、ロックされているカテゴリに属する全ての対象属性情報に対してアクセスする（ステップＳ１０６）。すなわち、アクセス要求が読み出し要求である場合には、アクセスモジュール１２１１は、対象属性情報を読み出す（取得する）。また、アクセス要求が書き込み要求である場合には、アクセスモジュール１２１１は、対象属性情報を書き込む。例えば、図６に示す第１のアクセス要求５００を処理している場合において、カテゴリＡがロックされている場合、アクセスモジュール１２１１は、カテゴリＡに属するＩＰアドレス、サブネットマスク、ゲートウェイを順次に読み出す。ＩＰアドレスの読み出しを例に具体的に説明すると、アクセスモジュール１２１１は、管理テーブル１２５３を参照してＩＰアドレスが記録されているデータベース（第１のデータベース１２５１）と、項目ＩＤ（０００１）を認識する。アクセスモジュール１２１１は、認識されたデータベースを、項目ＩＤをキーとして検索することにより、ＩＰアドレスを読み出す。
【００３５】
次に、現在ロックされているカテゴリに属する全ての対象属性情報に対するアクセスが完了すると、アクセス制御モジュール１２１２は、カテゴリのロックを解除する（ステップＳ１０８）。具体的には、アクセス制御モジュール１２１２は、上述したカテゴリごとのセマフォ変数を０から１に変更する。カテゴリのロックが解除されると、他のプロセスが当該カテゴリに属する属性情報に対してアクセス可能になる。
【００３６】
続いて、記憶部管理プログラム１２１０は、処理中のアクセス要求の対象属性情報に対するアクセスが全て終了したか否かを判断する（ステップＳ１１０）。対象属性情報に対するアクセスが全て終了していない場合には、ステップＳ１０４に戻って、未処理の対象属性情報が属するカテゴリを新たにロックする。対象属性情報に対するアクセスがすべて終了した場合には、記憶部管理プログラム１２１０の受付／応答モジュール１２１３は、アクセス結果を用いて、アクセス要求に対する応答を実行する（ステップＳ１１２）。
【００３７】
アクセス要求に対する応答は、処理しているアクセス要求が、読み出し要求である場合には、読み出した属性情報を、アクセス要求の発行元に送信する応答である。例えば、図９に示す第１のアクセス要求５００に対する応答では、図１０に示す応答データ５５０が第１のアクセス要求５００の発行元であるクライアントに送信される。応答データ５５０は、図１０に示すように、取得された属性情報が記述された応答記述部５５３を含んでおり、通信プロトコルプログラム１２３によりヘッダ部５５１が添付されて、クライアントに送信される。一方で、処理しているアクセス要求が、書き込み要求である場合には、アクセス要求に対する応答は、アクセス要求の発行元に、属性情報の書き込みの成功を通知する応答である。アクセス要求に対する応答が実行されると、データベースアクセス処理は、終了される。
【００３８】
以上の説明から解るように、本実施例におけるデバイス管理装置１００は、特許請求の範囲における情報管理装置に相当する。また、本実施例における記憶部管理プログラム１２１０は、特許請求の範囲におけるコンピュータプログラムに相当する。
【００３９】
以上説明した本実施例におけるデバイス管理装置１００によれば、互いに依存関係を有する属性情報は、同一のカテゴリに属するように分類され、属性情報に対するアクセスは、その属性情報が属するカテゴリに属する全ての属性情報に対する他のプロセスによるアクセスを禁止した状態で実行される。この結果、同一のカテゴリに属する複数の属性情報にアクセスする場合に、互いに依存関係を有する複数の情報の整合性が保証される。例えば、互いに依存関係を有するＩＰアドレスと、サブネットマスクを読み出すアクセス要求Ｍが処理される場合を例にとって説明する。アクセス要求Ｍの処理において、ＩＰアドレスの取得が完了した後、サブネットマスクの取得が完了する前に、他のアクセス要求ＸがＩＰアドレスとサブネットマスクの値の変更を要求した場合に、アクセス要求Ｍによるアクセスが完了するまで、アクセス要求Ｘを処理するプロセスによるＩＰアドレスと、サブネットマスクに対するアクセスは禁止される。従って、アクセス要求Ｍの処理中に、ＩＰアドレスとサブネットマスクの値の変更が行われ、アクセス要求Ｍの処理結果に不整合が生じてしまうことが無い。同様に、アクセス要求Ｘを処理するプロセスにより、ＩＰアドレスとサブネットマスクの値の変更が行われる場合においても、当該２つの値の変更が完了するまで、ＩＰアドレスとサブネットマスクの値に対する他のプロセスによるアクセスが禁止される。従って、ＩＰアドレスの変更後、サブネットマスクの変更前に、他のプロセスがＩＰアドレスとサブネットマスクの値を読み出すことはできないため、当該他のプロセスの処理結果に不整合が生じてしまうことが無い。
【００４０】
さらに、本実施例に係るデバイス管理装置１００では、図８におけるステップＳ１０６に示すように、ロックされているカテゴリに属する対象属性情報に対するアクセスは、まとめて実行される。従って、アクセス要求が一のカテゴリに属する属性情報に対するアクセスの要求と、他のカテゴリに属する管理情報に対するアクセスの要求を含む場合に、１つのカテゴリをロックされた状態にする時間を、抑制することができる。この結果、カテゴリのロックによって、他のプロセスによるアクセス要求の処理が遅延する時間を抑制し、他のプロセスの処理への影響を抑えることができる。
【００４１】
Ｂ．変形例：
・第１変形例：
図１１〜図１３を参照して第１変形例について説明する。図１１は、第１変形例における管理テーブル１２５３の一例を示す説明図である。図１２は、アクセス要求の一例を示す第２の説明図である。図１３は、第１変形例におけるデータベースアクセス処理の処理ルーチンを示すフローチャートである。
【００４２】
第１変形例におけるデバイス管理装置１００の構成において、上述した実施例におけるデバイス管理装置１００の構成と異なる点は、管理テーブル１２５３の構成である。他の構成については、同一であるため、説明を省略し、第１変形例における管理テーブル１２５３について説明する。第１変形例における管理テーブル１２５３は、実施例における管理テーブル１２５３の内容に加えて、カテゴリごとに予め定められた更新頻度を表す値が記録されている。図１１に示す例では、カテゴリＡの更新頻度は１０であり、カテゴリＢ１の更新頻度は２００である。カテゴリＡに属するＩＰアドレスなどの値は、一旦設定されると頻繁に変更されるものではないため、更新頻度は比較的低くされる。一方、カテゴリＢ１に属するステータスの値は、プリンタＰＲＴの動作に応じて、比較的頻繁に、変更されるため、更新頻度は比較的高くされる。
【００４３】
続いて、第１変形例に係るデータベースアクセス処理について説明する。第１変形例に係るデータベースアクセス処理において、実施例に係るデータベースアクセス処理と異なる点は、図１３に示すように、ステップＳ１０３が追加されていることである。他のステップについては、図８を参照して説明した実施例に係るデータベースアクセス処理と同一であるので、詳しい説明は省略する。
【００４４】
第１変形例に係るデータベースアクセス処理において、アクセス要求が受け付けられる（ステップＳ１０２）と、記憶部管理プログラム１２１０は、アクセス要求の対象となる属性情報に対するアクセス順を決定する（ステップＳ１０３）。図１２に示すアクセス要求５００ａを処理する場合を例に説明する。第１のアクセス要求５００ａの要求記述部５０３には、アクセス要求の対象となる属性情報として、複数のカテゴリに亘る複数の属性情報が指定されている。すなわち、第１のアクセス要求５００ａの対象となる属性情報は、カテゴリＡに属する属性情報（ＩＰアドレス、サブネットマスク、ゲートウエイ）と、カテゴリＣ１に属する属性情報（プリンタＰＲＴ１の用紙の有無、トレイ１用紙残量、トレイ２用紙残量）である。この場合、記憶部管理プログラム１２１０は、管理テーブル１２５３を参照して、カテゴリＡの更新頻度と、カテゴリＣ１の更新頻度を認識する。記憶部管理プログラム１２１０は、アクセス要求が読み出し要求である場合には、更新頻度が低いカテゴリに属する属性情報から先に読み出すように、アクセス順を決定する。更新頻度が高いカテゴリに属する属性情報であるほど、他のカテゴリに属する属性情報を読み出している間に他のプロセスによって更新される可能性が高いため、後に読み出すことが好ましいからである。こうすることにより、より有効性の高い応答を実行することができる。
【００４５】
一方で、記憶部管理プログラム１２１０は、アクセス要求が書き込み要求である場合には、更新頻度が高いカテゴリに属する属性情報から先に書き込むように、アクセス順を決定する。更新頻度が高いカテゴリに属する属性情報であるほど、情報をリアルタイムに更新することが要求されるため、先に書き込むことが好ましいからである。こうすることによりデータベースの有効性を向上することができる。
【００４６】
図１２に示す第１のアクセス要求５００ａは、読み出し要求であるので、記憶部管理プログラム１２１０は、本ステップにおいて、カテゴリＡに属する属性情報（ＩＰアドレス、サブネットマスク、ゲートウエイ）に先にアクセスし、カテゴリＡより更新頻度の高いカテゴリＣ１に属する属性情報（プリンタＰＲＴ１の用紙の有無、トレイ１用紙残量、トレイ２用紙残量）に後にアクセスすると決定する。
【００４７】
アクセス順が決定されると、決定されたアクセス順に応じて、ステップＳ１０４以降の処理が行われる。図１２に示す第１のアクセス要求５００ａを処理する場合においては、まず、カテゴリＡをロックしてＩＰアドレス、サブネットマスク、ゲートウエイが読み出され（ステップＳ１０４〜Ｓ１０８）、その後にカテゴリＣ１をロックしてプリンタＰＲＴ１の用紙の有無、トレイ１用紙残量、トレイ２用紙残量が読み出される（ステップＳ１０４〜Ｓ１０８）。
【００４８】
以上説明した第１変形例によれば、更新頻度を、アクセスの優先順位を定めた情報として用いることにより、カテゴリ単位で属性情報のアクセス順を決定するので、上述したように、より応答やデータベースの有効性を向上することができる。
【００４９】
・第２変形例：
第１のデータベース１２５１および第２のデータベース１２５２の形式は、実施例に示した形式に限られない。例えば、属性情報は、ＭＩＢ(Management Information Base)の形式で保存されても良い。ＭＩＢは、１つ１つの属性情報を、ツリー構造で管理されるオブジェクトとして保存する形式である。各オブジェクトは、オブジェクトＩＤ（以下、ＯＩＤと呼ぶ。）が割り振られ、ＯＩＤによって識別される。ＯＩＤは、例えば、「１．４．２．２．１．３」のようにピリオドで区切られた数字となっている。
【００５０】
ＭＩＢの形式で属性情報が管理されている場合、ＯＩＤにおける下２桁目より上位の部分（上述したＯＩＤ「１．４．２．２．１．３」においては、「１．４．２．２．１」の部分）をカテゴリ識別子として用いることができる。この場合、例えば、ＯＩＤ「１．４．２．２．１．３」の属性情報と、ＯＩＤ「１．４．２．２．１．５」の属性情報は、互いに同一カテゴリに属することが解る。
【００５１】
・第３変形例：
上記実施例においては、ＬＡＮに接続されるデバイス管理装置１００と、プリンタＰＲＴは、別体で構成され、デバイス管理装置１００とプリンタＰＲＴはＵＳＢケーブルを介して接続されているが、このような構成に限られない。例えば、実施例におけるデバイス管理装置１００の機能を備えるプリントサーバボードが、プリンタＰＲＴに内蔵されている構成としても良い。かかる場合には、プリントサーバボートと、デバイスとの間は、ＵＳＢ接続に代えて、例えば、内部シリアルバスにより接続され得る。
【００５２】
・第４変形例：
上記実施例においては、デバイス管理装置１００が管理するＵＳＢデバイスは、プリンタＰＲＴであるが、他のＵＳＢデバイスを管理する構成としても良い。例えば、プリンタＰＲＴに代わる他のＵＳＢデバイスとして、スキャナ、プリント機能やスキャナ機能を備える複合機、コピー機、ファクシミリが用いられても良い。かかる場合には、デバイス管理装置１００の属性情報記憶部１２５には、各種のデバイスに関する属性情報が格納される。
【００５３】
・第５変形例：
上記実施例においては、デバイス管理装置１００において、デバイスの属性情報を管理する属性情報記憶部１２５を例に、データベースアクセス処理を説明したが、本処理は、複数の情報を管理する一般的なデータベースにも適用しても良い。
【００５４】
・第６変形例：
上記実施例では、デバイス管理装置１００とデバイスとの間は、ＵＳＢケーブルＣＶにより接続され、ＵＳＢ規格に従った通信が行われるが、デバイス管理装置１００とデバイスとの間は、他のインターフェースを用いて接続されていても良い。例えば、ＩＥＥＥ１３９４バス接続、パラレル接続、シリアル接続などの有線接続や、ブルートゥース接続，赤外線接続などの無線接続で接続するようにしてもよい。
【００５５】
・第７変形例：
上記実施例において、ハードウエアによって実現されていた構成の一部をソフトウエアに置き換えても良く、逆にソフトウエアによって実現されていた構成の一部をハードウエアに置き換えても良い。
【００５６】
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【図面の簡単な説明】
【００５７】
【図１】本発明の実施例におけるネットワークシステムの概略構成図である。
【図２】クライアントの内部構成を示す説明図である。
【図３】デバイス管理装置の内部構成を示す説明図である。
【図４】プリンタの内部構成を示す説明図である。
【図５】属性情報テーブルの具体例を概念的に示す説明図である。
【図６】管理テーブルの具体例を概念的に示す説明図である。
【図７】第１および第２のデータベースの具体例を概念的に示す説明図である。
【図８】データベースアクセス処理の処理ルーチンを示すフローチャートである。
【図９】アクセス要求の一例を示す第１の説明図である。
【図１０】アクセス要求に対する応答の一例を示す説明図である。
【図１１】第１変形例における管理テーブル１２５３の一例を示す説明図である。
【図１２】アクセス要求の一例を示す第２の説明図である。
【図１３】第１変形例におけるデータベースアクセス処理の処理ルーチンを示すフローチャートである。
【符号の説明】
【００５８】
１００…デバイス管理装置
１１０…ＣＰＵ
１２０…メモリ
１２１…プリントサーバプログラム
１２３…通信プロトコルプログラム
１２５…属性情報記憶部
２１０…ＣＰＵ
２２０…メモリ
２２１…プリンタ管理プログラム
２２２…プリンタドライバ
２２３…通信プロトコルプログラム
２４０…表示装置
３１０…コントローラ
３１１…ＣＰＵ
３１２…メモリ
３１３…制御プログラム
３１４…属性情報送信モジュール
３１５…属性情報テーブル
３２０…プリントエンジン
３４０…ＵＳＢデバイスＩ／Ｆ部
３４５…ＵＳＢデバイスコネクタ
５００、５００ａ…第１のアクセス要求
５０１…ヘッダ部
５０２…ボディ部
５０３…要求記述部
５５０…応答データ
５５１…ヘッダ部
５５３…応答記述部
１０００…ネットワークシステム
１２１０…記憶部管理プログラム
１２１１…アクセスモジュール
１２１２…アクセス制御モジュール
１２１３…受付／応答モジュール
１２１５…属性情報収集プログラム
１２５１…第１のデータベース
１２５１…第１および第２のデータベース
１２５２…第２のデータベース
１２５３…管理テーブル
２２１１…要求送信モジュール
２２１２…応答受信モジュール
ＰＲＴ１〜ＰＲＴ３…プリンタ
ＣＬ１、ＣＬ２…クライアント
ＣＶ…ＵＳＢケーブル
【図１】
2007193392.tif 000003
【図２】
2007193392.tif 000004
【図３】
2007193392.tif 000005
【図４】
2007193392.tif 000006
【図５】
2007193392.tif 000007
【図６】
2007193392.tif 000008
【図７】
2007193392.tif 000009
【図８】
2007193392.tif 000010
【図９】
2007193392.tif 000011
【図１０】
2007193392.tif 000012
【図１１】
2007193392.tif 000013
【図１２】
2007193392.tif 000014
【図１３】
2007193392.tif 000015