(57)【要約】【課題】低速度のＩ／Ｆのみを持つデバイスに高速ネットワークＩ／Ｆを持つデバイス管理ＢＯＸを装着し、ネットワーク上のサーバからデバイスのデータベースに対して要求がある場合において、低速度Ｉ／Ｆが原因となって処理時間増大となることを防ぐ。【解決手段】データベースをデバイスとデバイス管理Ｂｏｘにそれぞれ独立に持つことにより、ネットワーク上のサーバからデバイスのデータベースに対する要求において、データの変更以外の要求は既存Ｉ／Ｆを使用してデバイスのデータベースにアクセスする必要が無く、デバイス管理Ｂｏｘのデータベースで行うことが出来るため、サーバからの要求処理時間を短縮し、サーバの応答待ち時間を短縮することが可能となる。また、データベースの食い違いを検出した場合、データベースの更新をブロック単位で行うため、更新処理の短縮が図れる。【選択図】        図１
2006134039.tif 000002
【特許請求の範囲】
【請求項１】
デバイスとデバイス管理ＢｏｘがシリアルＩ／Ｆ等の既存Ｉ／Ｆにより接続されており、デバイス管理ＢｏｘはネットワークＩ／Ｆを持ち、デバイス管理Ｂｏｘとデバイスを管理するサーバコンピュータはネットワークに接続され、デバイスとデバイス管理Ｂｏｘはデータベースをそれぞれ独立に持っているシステムにおいて、サーバからデータ登録・削除を要求されたデバイス管理Ｂｏｘは、前記要求に従ってデバイスに登録・削除要求を行い、デバイス管理Ｂｏｘ内のデータベースに登録・削除を行い、デバイスの持つ情報とデバイス管理Ｂｏｘが持つデータベースとが一致していることを特徴とするデータベース同期システム。
【請求項２】
請求項１記載のデータベース同期システムにおいて、サーバからの要求等によりデータが必要となったデバイス管理Ｂｏｘは、デバイスとの既存Ｉ／Ｆによる通信を行わず、デバイス管理Ｂｏｘが持つデータベースを使用することを特徴とするデータベース同期システム。
【請求項３】
請求項１記載のデータベース同期システムにおいて、デバイスが持つデータベースと、デバイス管理Ｂｏｘが持つデータベースとにずれが発生した場合、前記ずれを検出することを特徴とするデータベース同期システム。
【請求項４】
請求項１記載のデータベース同期システムにおいて、前記ずれを検出した場合に、既存Ｉ／Ｆによる通信を使用して、デバイスが持つデータベースに一致させるようにデバイス管理Ｂｏｘのデータベースを更新することを特徴とするデータベース同期システム。
【請求項５】
請求項１記載のデータベース同期システムにおいて、大量のデータベースをブロック毎に分割して管理することにより、請求項４の既存Ｉ／Ｆによる通信を使用したデータベースの更新量を少なくし、短時間で行うことを可能とすることを特徴とするデータベース同期システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シリアルＩ／Ｆなどの既存Ｉ／Ｆは持つがネットワークＩ／Ｆを持たない既存デバイスを、ネットワークを介して管理するネットワークシステムに係るデータベース同期システムに関する。
【背景技術】
【０００２】
既存のデバイスをネットワーク管理するためには、ネットワーク管理を行うオプション（デバイス管理Ｂｏｘ）を既存のＩ／Ｆを使用してデバイスに装着し、デバイス管理Ｂｏｘはサーバからの要求を既存Ｉ／Ｆを使用してデバイスへ送信し、その結果を受信することによって、リモート管理を実現していた。
【特許文献１】特開２００４−６２８９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし上記従来例には
（１）一概に既存Ｉ／Ｆは速度が遅いため、大量のデータをデバイス管理Ｂｏｘがデバイスから参照する処理には非常に時間が掛かってしまう。
という課題があった。
【０００４】
また、（１）を解消するためにデバイスとデバイス管理Ｂｏｘにそれぞれ独立にデータベースを持つようにすると、
（２）既存Ｉ／Ｆの通信エラー等により、デバイスの持つデータベースとデバイス管理が持つデータベースに食い違いが生じる、
（３）食い違いを解消するために、デバイス管理Ｂｏｘは速度の遅い既存Ｉ／Ｆを使用して大量のデータをデバイスから取り出さなくてはならず、処理時間が大きい、
という課題が発生する。
【０００５】
本発明は、以上の点に着目して成されたもので、低速度のＩ／Ｆのみを持つデバイスに高速ネットワークＩ／Ｆを持つデバイス管理ＢＯＸを装着し、ネットワーク上のサーバからデバイスのデータベースに対して要求がある場合において、低速度Ｉ／Ｆが原因となって処理時間増大となることを防ぐデータベース同期システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
（１）デバイスとデバイス管理Ｂｏｘはそれぞれ独立にデータベースを持つ。
【０００７】
（２）データベースの構成はｎｂｙｔｅのブロックに分割して管理する。
全データＮ（ｂｙｔｅ）＝ｎ（ｂｙｔｅ）×全ブロック数ｂ（個）となる。
【０００８】
（３）電源ＯＮ時にデバイス管理Ｂｏｘはデバイスから全データを吸い上げ、デバイス管理Ｂｏｘのデータベースへコピーする。
【０００９】
（４）サーバからデータ登録・削除の要求を受信したデバイス管理Ｂｏｘは、デバイス管理Ｂｏｘが持つデータベースと照合し、仮結果を決定する。登録要求時にデータが既に存在していれば「登録済みエラー（仮）」、存在していなければ「登録完了（仮）」とする。登録削除時にデータが存在していればデータをデータベースから削除して「削除完了（仮）」、存在していなければ「未登録エラー（仮）」とする。
【００１０】
（５）デバイス管理Ｂｏｘは、デバイスに対して既存Ｉ／Ｆを使用してデータ登録・削除の要求を行う。
【００１１】
（６）データ登録・削除の要求を既存Ｉ／Ｆを使用して受信したデバイスは、デバイスが保持するデータベースと照合し、次の処理を行う。登録要求時にデータが既に存在していれば「登録済みエラー」、存在していなければデータをデータベースへ登録して「登録完了」とする。登録削除時にデータが存在していればデータをデータベースから削除して「削除完了」、存在していなければ「未登録エラー」とする。その後、その結果をデバイス管理Ｂｏｘへ返信（応答）する。
【００１２】
（７）デバイスから応答を受信したデバイス管理Ｂｏｘは、仮結果とデバイスからの応答結果とが一致している場合、データベースは一致と判定する。仮結果とデバイスからの応答結果とが不一致の場合、データベースは不一致と判定する。
【００１３】
（８）（７）で一致を検出すれば、デバイス管理Ｂｏｘのデータベースをサーバの要求通りに更新する。
【００１４】
（９）（７）で不一致を検出すれば、該当するデータブロックをデバイスから吸い上げ、デバイス管理Ｂｏｘのデータブロックへコピーする。サーバへの返信は、デバイスが持っていたデータベースに基づいて結果を決定し、通知する。
【００１５】
（１０）デバイス管理Ｂｏｘにおいて、データベースに登録されたデータを使用する処理を行う場合、デバイス管理Ｂｏｘは既存Ｉ／Ｆを使用してデバイスからデータを取得すること無く、デバイス管理Ｂｏｘが持つデータベースに基づいて処理を行う。
【００１６】
前記手段により次の作用が選られる。
【００１７】
（１）データベースをデバイスとデバイス管理Ｂｏｘにそれぞれ独立に持つことによって、既存Ｉ／Ｆを使用せずとも、データの変更以外の要求はすべてデバイス管理Ｂｏｘのデータベースで行うことにより、処理時間を短縮することが出来る。
【００１８】
（２）データベースの食い違いを検出した場合、データベースの更新をブロック単位で行うため、更新処理の短縮が図れる。
【００１９】
さらに説明すれば、前記課題を解決するため、本発明では、データベース同期システムを次の（１）のとおりに構成する。
【００２０】
（１）デバイスとデバイス管理ＢｏｘがシリアルＩ／Ｆ等の既存Ｉ／Ｆにより接続されており、デバイス管理ＢｏｘはネットワークＩ／Ｆを持ち、デバイス管理Ｂｏｘとデバイスを管理するサーバコンピュータはネットワークに接続され、デバイスとデバイス管理Ｂｏｘはデータベースをそれぞれ独立に持っているシステムにおいて、サーバからデータ登録・削除を要求されたデバイス管理Ｂｏｘは、前記要求に従ってデバイスに登録・削除要求を行い、デバイス管理Ｂｏｘ内のデータベースに登録・削除を行い、デバイスの持つ情報とデバイス管理Ｂｏｘが持つデータベースとが一致していることを特徴とするデータベース同期システム。
【発明の効果】
【００２１】
本発明によれば、データベースをデバイスとデバイス管理Ｂｏｘにそれぞれ独立に持つことにより、ネットワーク上のサーバからデバイスのデータベースに対する要求において、データの変更以外の要求は既存Ｉ／Ｆを使用してデバイスのデータベースにアクセスする必要が無く、デバイス管理Ｂｏｘのデータベースで行うことが出来るため、サーバからの要求処理時間を短縮し、サーバの応答待ち時間を短縮することが可能となる。また、データベースの食い違いを検出した場合、データベースの更新をブロック単位で行うため、更新処理の短縮が図ることが可能となる。
【発明を実施するための最良の形態】
【００２２】
以下本発明を実施するための最良の形態を、実施例により詳しく説明する。
【実施例】
【００２３】
本発明は以下に詳述するように、既存のＩ／Ｆを使用してデバイスのデータベースをネットワークへ接続し、ネットワークを介して既存のデバイスを管理するためのシステムである。本実施例ではユーザ情報をデータベースのコンテンツとして説明するが、本発明はユーザ情報に限って適用されるものではなく、デバイスの機能、特徴、課金情報、使用状況など、ユーザ情報以外のデータに対しても適用されるものである。
【００２４】
図１は、本実施例のデバイス管理システムが動作可能な構成を示す図である。
【００２５】
図１において、１０１はサーバコンピュータ、１０２はコピー機、１０３はプリンタ、１０４、１０５はデバイス管理ＢＯＸである。コピー機１０２とデバイス管理ＢＯＸ１０４、プリンタ１０３とデバイス管理ＢＯＸ１０５はそれぞれシリアルＩ／Ｆ１０６、１０７で接続されている。サーバコンピュータ１０１、デバイス管理ＢＯＸ１０４、１０５はＬＡＮ１００に接続されている。
【００２６】
サーバコンピュータ１０１はコピー機１０２、プリンタ１０３をそれぞれデバイス管理ＢＯＸ１０４、１０５を介してリモート管理しており、コピー機１０２に対してユーザ登録・削除要求を行う場合はデバイス管理ＢＯＸ１０４に対して要求を送信し、デバイス管理ＢＯＸ１０４から応答を待つ。プリンタ１０３に対してユーザ登録・削除要求を行う場合はデバイス管理ＢＯＸ１０５に対して要求を送信し、デバイス管理ＢＯＸ１０５から応答を待つ。コピー機１０２、プリンタ１０３に対してユーザ確認要求を行う場合も同様に、デバイス管理ＢＯＸ１０４、１０５にそれぞれ要求を送信し、その応答を待つ。その後、デバイス管理ＢＯＸ１０４、１０５からの応答を受信したサーバコンピュータ１０１は、応答にしたがって受信処理を行い、ユーザ登録・削除・確認処理を完了させる。
【００２７】
デバイス管理ＢＯＸ１０４、１０５はサーバコンピュータ１０１からユーザ登録・削除要求を受信した場合、デバイス管理ＢＯＸ１０４はコピー機１０２に対して、デバイス管理ＢＯＸ１０５はプリンタ１０３に対してそれぞれユーザ登録・削除要求を送信し、その応答を待つ。その後、コピー機１０２、プリンタ１０３からそれぞれの応答を受信した場合、デバイス管理ＢＯＸ１０４、１０５はそれぞれの応答にしたがって受信処理を行い、サーバコンピュータ１０１に対して応答を送出し、サーバコンピュータ１０１からのユーザ登録・削除要求に対する処理を完了させる。サーバコンピュータ１０１からユーザ確認要求を受信した場合、要求にしたがって処理を行い、サーバコンピュータ１０１へ応答を送出し、ユーザ確認要求に対する処理を完了させる。
【００２８】
コピー機１０２、プリンタ１０３はそれぞれデバイス管理ＢＯＸ１０４、１０５よりユーザ登録・削除要求を受信した場合、要求にしたがって処理を行い、デバイス管理ＢＯＸ１０４、１０５に対してそれぞれ応答を送出し、デバイス管理ＢＯＸ１０４、１０５からのユーザ登録・削除要求に対する処理を完了させる。
【００２９】
サーバコンピュータ１０１、コピー機１０２、およびデバイス管理ＢＯＸ１０４は二階に設置されており、プリンタ１０３とデバイス管理ＢＯＸ１０５は一階に設置されている。さらに、これらの機器を相互に接続するＬＡＮ１００は、ファイアウォール１２０を介してインターネット１３０に接続されており、インターネット１３０を介して他のネットワーク１４０とも接続されている。
【００３０】
図２は、一般的なパーソナルコンピュータの内部構成を示した図であり、図１におけるサーバコンピュータ１０１の内部構成はこのようになっている。
【００３１】
図２において、２００は、データベース管理サーバソフトウェア（以下、プリンタ、コピー機上に実装されるデバイスデータベース管理ソフトウェアと、デバイス管理ＢＯＸ上に実装されるプロキシデータベース管理ソフトウェアとを合わせてネットワークデータベース管理ソフトウェアと呼ぶ）が稼動するＰＣであり、図１における１０１と同等である。
【００３２】
ＰＣ２００は、ＲＯＭ２０２もしくはハードディスク（ＨＤ）２１１に記憶された、あるいはフロッピー(登録商標)ディスクドライブ（ＦＤ）２１２より供給されるデータベース管理サーバソフトウェアを実行するＣＰＵ２０１を備え、システムバス２０４に接続される各機器を総括的に制御する。
【００３３】
２０３はＲＡＭで、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。２０５はキーボードコントローラ（ＫＢＣ）で、キーボード（ＫＢ）２０９や不図示のポインティングデバイス等からの指示入力を制御する。
【００３４】
２０６はＣＲＴコントローラ（ＣＲＴＣ）で、ＣＲＴディスプレイ（ＣＲＴ）２１０の表示を制御する。２０７はディスクコントローラ（ＤＫＣ）で、ブートプログラム、種々のアプリケーション、編集ファイル、ユーザファイルそしてネットワーク管理プログラム等を記憶するハードディスク（ＨＤ）２１１およびフロッピー(登録商標)ディスクコントローラ（ＦＤ）２１２とのアクセスを制御する。
【００３５】
２０８はネットワークインタフェースカード（ＮＩＣ）で、ＬＡＮ２２０を介して、ネットワークプリンタ、ネットワーク管理ＢＯＸ、他のネットワーク機器あるいは他のＰＣと双方向にデータをやりとりする。
【００３６】
なお、本実施例においては、ＬＡＮ２２０は図１におけるＬＡＮ１００と同じものである。
【００３７】
図３において、３００は、デバイスデータベース管理ソフトウェアが稼動し印刷を実行するプリンタ、またはコピー機の内部構成の一例であり、図１における１０２、１０３と同等である。デバイス３００は、ＲＯＭ３０２もしくはハードディスク（ＨＤ）３１１に記憶された、あるいはフロッピー(登録商標)ディスクドライブ（ＦＤ）３１２より供給されるデバイスデータベース管理ソフトウェアを実行するＣＰＵ３０１を備え、システムバス３０４に接続される各機器を総括的に制御する。３０３はＲＡＭで、ＣＰＵ３０１の主メモリ、ワークエリア等として機能する。３０５はユーザインタフェースコントローラ（ＵＩＣ）で、ユーザインタフェース（ＵＩ）３０９への表示、３０９からの指示入力を制御する。ファンクションコントローラ（ＦＵＮＣＣ）３０６は各デバイス毎の特有の機能であるファンクション（ＦＵＮＣ）３１０を実現／制御する。モノクロプリンタであればモノクロプリントエンジンコントローラとモノクロプリントエンジン、カラープリンタであればカラープリントエンジンコントローラとカラープリントエンジン、コピー機であればデバイス３００は各機能毎のファンクションコントローラ（ＦＵＮＣＣ）３０６とファンクション（ＦＵＮＣ）３１０をそれぞれ持つ。
【００３８】
３０７はディスクコントローラ（ＤＫＣ）で、種々のアプリケーション、データファイルそしてネットワーク管理プログラム等を記憶するハードディスク（ＨＤ）３１１およびフロッピー(登録商標)ディスクコントローラ（ＦＤ）３１２とのアクセスを制御する。３０８はシリアルＩ／Ｆモジュール（ＳＩＭ）で、シリアルＩ／Ｆを介して、他の機器あるいは他のＰＣと双方向にデータをやりとりする。
【００３９】
図４において、４００は、プロキシデータベース管理ソフトウェアが稼動するデバイス管理ＢＯＸの内部構成の一例であり、図１における１０４、１０５と同等である。
【００４０】
４００は、ＲＯＭ４０２もしくはハードディスク（ＨＤ）４１１に記憶された、あるいはフロッピー(登録商標)ディスクドライブ（ＦＤ）４１２より供給されるプロキシデータベース管理ソフトウェアを実行するＣＰＵ４０１を備え、システムバス４０４に接続される各機器を総括的に制御する。４０３はＲＡＭで、ＣＰＵ４０１の主メモリ、ワークエリア等として機能する。４０５はキーボードコントローラ（ＫＢＣ）で、キーボード（ＫＢ）４０９や不図示のポインティングデバイス等からの指示入力を制御する。
【００４１】
４０６はディスプレイコントローラ（ＤＰＣ）で、ディスプレイ（ＤＰ）４１０の表示を制御する。４０７はディスクコントローラ（ＤＫＣ）で、ブートプログラム、種々のアプリケーション、編集ファイル、ユーザファイルそしてネットワーク管理プログラム等を記憶するハードディスク（ＨＤ）４１１およびフロッピー(登録商標)ディスクコントローラ（ＦＤ）４１２とのアクセスを制御する。４０８はネットワークインタフェースカード（ＮＩＣ）で、ＬＡＮ４２０を介して他のネットワーク機器あるいは他のＰＣと双方向にデータをやりとりする。４０９はシリアルＩ／Ｆモジュール（ＳＩＭ）で、シリアルＩ／Ｆを介して、他の機器あるいは他のＰＣと双方向にデータをやりとりする。
【００４２】
図５は、本実施例のモデル図である。サーバＰＣ５１０とデバイス管理ＢＯＸ５３０が、ＬＡＮ５００に接続されている。デバイス５２０とデバイス管理ＢＯＸ５３０は、シリアルＩ／Ｆ５４０によって接続されている。ユーザＰＣ５１０は、図１における１０１と同等である。デバイス５２０は、図１における１０２、１０３と同等である。デバイス管理ＢＯＸ５３０は、図１における１０４、１０５と同等である。ＬＡＮ５００は、図１におけるＬＡＮ１００と同等である。シリアルＩ／Ｆ５４０は図１における１０６、１０７と同等である。
【００４３】
サーバＰＣ５１０のマネージャ５１１は、デバイス管理ＢＯＸ５３０のプロキシエージェント５３１に対してユーザ登録・削除の要求を送信し、前記要求を受信したプロキシエージェント５３１は、デバイス５２０のエージェント５２１に対してユーザ登録・削除の要求を送信する。ユーザ登録・削除の要求を受信したエージェント５２１はデータベース５２２に対してユーザ登録・削除の操作を行い、デバイス管理ＢＯＸ５３０のプロキシエージェント５３１に対してデータベース５２２に対する操作の結果を応答として返信する。エージェント５２１の応答を受信したプロキシエージェント５３１は、データベース５２２に対する操作の結果にしたがってプロキシデータベース５３２に対してユーザ登録・削除またはデータベース５２２からコピーの操作を行い、デバイス５２０の保持するデータベース５２２に対する操作の結果を応答としてマネージャ５１１へ返信する。
【００４４】
サーバＰＣ５１０のマネージャ５１１は、デバイス管理ＢＯＸ５３０のプロキシエージェント５３１に対してユーザ確認の要求を送信し、前記要求を受信したプロキシエージェント５３１は、プロキシデータベース５３２を検索し、その結果をデバイス５２０の保持するデータベース５２２に対する検索の応答としてマネージャ５１１へ返信する。
【００４５】
なお、データベース５２２、プロキシデータベース５３２は既知のデータベース機構を使用するものであり、その詳細は本発明の範囲外である。
【００４６】
図６は、サーバＰＣ５１０のマネージャ５１１の動作を記述したものである。ステップ６０１で初期化処理を行い、ステップ６０２にて外部からの要求を待つ。外部からの要求があった場合、その要求の種別ししたがって、ステップ６１０、ステップ６２０、ステップ６３０に処理が分岐する。ステップ６０２にて受信した要求が終了要求であった場合、ステップ６１０へ進み、終了処理を行い、マネージャ処理６００を終了する。ステップ６０２にて受信した要求がユーザ登録要求、ユーザ削除要求、またはユーザ確認要求であった場合、ステップ６２０へ進み、ユーザ登録・削除・確認要求処理を行う。その後、ステップ６０２へ戻り、再び外部からの要求を待つ。ステップ６０２にて受信した要求が終了要求、ユーザ登録要求、ユーザ削除要求、ユーザ確認要求以外の要求であった場合、ステップ６３０へ進み、前記要求に対応する処理を行った後、ステップ６０２へ戻り、再度外部からの要求待ちを行う。
【００４７】
図７は、図６のステップ６２０の詳細を記述したものである。ステップ７０１にて要求の種別を判定し、登録要求であればステップ７１０へ進み、プロキシエージェントへユーザ登録要求を送出し、ステップ７４０へ進む。ステップ７０１にて判定した要求が削除要求であれば、ステップ７２０へ進み、プロキシエージェントへユーザ削除要求を送出し、ステップ７４０へ進む。ステップ７０１にて確認要求と認識すれば、ステップ７３０へ進み、プロキシエージェントへユーザ確認要求を送出し、ステップ７４０へ進む。ステップ７４０では、プロキシエージェントからの応答を待ち、応答を受信すれば、ステップ７４１へ進む。ステップ７４１では、前記要求に対応する処理がプロキシエージェントにて実行され、正常に完了したかを判定する。正常に完了したと判定した場合は、ステップ７６０へ進み、ユーザ登録・削除・確認要求処理７００を終了する。正常に完了しなかった場合は、ステップ７５０へ進み、エラー処理を行い、その後ステップ７６０へ進み、ユーザ登録・削除・確認要求処理７００を終了する。
【００４８】
図８は、デバイス５２０のエージェント５２１の動作を記述したものである。まずステップ８０１にて初期化処理を行い、その後ステップ８０２にてデバイス管理ＢＯＸからの要求を待つ。デバイス管理ＢＯＸからの要求を受信し、その要求の種別がユーザ確認要求であった場合、ステップ８２０へ進みユーザ確認処理を行い、ステップ８０２へ戻り再びデバイス管理ＢＯＸからの要求を待つ。ステップ８０２にて受信した要求がユーザ登録要求であった場合、ステップ８３０へ進みユーザ登録処理を行った後、ステップ８０２へ戻り再度デバイス管理ＢＯＸからの要求を待つ。ステップ８０２で受信した要求がユーザ削除要求であった場合、ステップ８４０へ進みユーザ削除処理を行った後、ステップ８０２へ戻り、再度デバイス管理ＢＯＸからの要求を待つ。ステップ８０２にて受信した要求が、ブロックデータ獲得要求であった場合、ステップ８６０へ進みブロックデータ獲得処理を行った後、ステップ８０２へ戻り、再度デバイス管理ＢＯＸからの要求を待つ。ステップ８０２で受信した要求が終了要求であった場合、ステップ８１０にて終了処理を行った後、ステップ８７０に進みエージェント処理８００を終了する。ステップ８０２にて受信した要求が、前記要求以外の要求であった場合、ステップ８５０へ進み要求に対応した処理を行い、その後ステップ８０２へ戻り、再度デバイス管理ＢＯＸからの要求を待つ。
【００４９】
図９は、図８のステップ８３０の詳細を記述したものである。ステップ９０１でデータベースに対して、プロキシエージェントから登録要求されたユーザを検索し、その結果によりその後ステップ９０２にて処理を振り分ける。要求されたユーザがデータベースに登録されていない場合はステップ９１０へ進み、登録済みの場合はステップ９２０へ進む。ステップ９１０では、データベースに空きがあり、追加登録が可能かを判定し、可能であればステップ９３０へ進み、不可能であればステップ９４０へ進む。ステップ９３０ではデータベースにユーザを登録し、ステップ９３１にてユーザ登録要求を送信したプロキシエージェントに対して登録完了として応答し、その後ステップ９５０へ進みユーザ登録処理９００を終了する。
【００５０】
ステップ９１０にてデータベースに追加登録が不可能と判定された場合はステップ９４０へ進み、ユーザ登録要求を送信したプロキシエージェントに対して登録数超過を返信し、その後ステップ９５０へ進みユーザ登録処理９００を終了する。ステップ９０２にてデータベースに登録を要求されたユーザが既に登録されている場合、ステップ９２０へ進み、登録要求を送信したプロキシエージェントに対して登録済みを返信し、ステップ９５０にてユーザ登録処理９００を終了する。
【００５１】
図１０は、図８のステップ８４０の詳細を記述したものである。ステップ１００１では、プロキシエージェントから削除を要求されたユーザについて、データベースを検索する。その結果にしたがってステップ１００２において処理を分岐させる。プロキシエージェントより削除を要求されたユーザが、データベースに登録済みであれば、ステップ１０１０へ進み、データベースから削除要求をされたユーザを削除し、ステップ１０１１にてプロキシエージェントへ削除完了の応答を行い、ステップ１０３０にてユーザ削除処理１０００を終了する。プロキシエージェントより削除を要求されたユーザが、データベースに登録されていなければ、ステップ１００２は処理をステップ１０２０へ分岐させ、プロキシエージェントへ未登録の応答を行い、ステップ１０３０にてユーザ削除処理１０００を終了する。
【００５２】
図１１は、図８のステップ８２０の詳細を記述したものである。ステップ１１０１では、プロキシエージェントから確認を要求されたユーザについて、データベースを検索する。その結果にしたがってステップ１１０２において処理を分岐させる。プロキシエージェントより確認を要求されたユーザが、データベースに登録済みであれば、ステップ１１１０へ進み、プロキシエージェントへ確認ＯＫの応答を行い、ステップ１１３０にてユーザ確認処理１１００を終了する。プロキシエージェントより確認を要求されたユーザが、データベースに登録されていなければ、ステップ１１０２は処理をステップ１１２０へ分岐させ、プロキシエージェントへ確認ＮＧの応答を行い、ステップ１１３０にてユーザ確認処理１１００を終了する。
【００５３】
図１２は、図８のステップ８５０の詳細を記述したものである。ステップ１２０１で、要求されたブロックデータをデータベースから獲得する。その後、ステップ１２０２にて獲得したブロックデータを載せたブロックデータ獲得応答を、プロキシエージェントへ送信し、ステップ１２１０にてブロックデータ獲得処理１２００を終了する。
【００５４】
図１３は、デバイス管理ＢＯＸ５３０のプロキシエージェント５３１の動作を示したものである。ステップ１３０１では初期化処理を行い、ステップ１３０２でマネージャからの要求を待つ。ユーザ登録要求を受信した場合はステップ１３１０へ進み、ユーザ登録処理を行い、ステップ１３５０へ進む。ステップ１３０２でユーザ削除要求を受信した場合は、ステップ１３２０へ進みユーザ削除処理を行い、ステップ１３５０へ進む。ステップ１３０２でユーザ確認要求を受信した場合は、ステップ１３３０へ進みユーザ確認処理を行い、ステップ１３５０へ進む。ステップ１３０２にてユーザ登録、ユーザ削除、ユーザ確認要求以外であるその他の要求を受信した場合、ステップ１３４０へ進みその他の要求に対する処理を行い、ステップ１３５０へ進む。ステップ１３５０では外部から終了要求があった場合は、ステップ１３５１へ進み終了処理を行い、ステップ１３６０にてプロキシエージェント処理１３００を終了する。ステップ１３５０にて終了要求が無いと判断された場合は、再びステップ１３０２へ進み、マネージャからの要求待ちの処理に入る。
【００５５】
図１４は、図１３のステップ１３０１の詳細を記述したものであり、初期化時にプロキシデータベースの情報を、デバイスのデータベースと一致させるための処理である。まずプロキシデータベースをステップ１４０１で初期化し、その後ステップ１４０２でプロキシデータベースの設定が終了したかを判断する。設定が終了した場合は、ステップ１４２０へ進みプロキシエージェント初期化処理１４００を終了する。ステップ１４０２にてプロキシデータベースの設定が終了していない場合は、ステップ１４１０へ進み、設定するべき情報をデバイスのデータベースから獲得する。その後ステップ１４１１にて、獲得した設定情報をプロキシデータベースに設定し、再びステップ１４０２に戻る。
【００５６】
図１５は、図１３のステップ１３１０の詳細を記述したものである。ステップ１５０１で、登録要求されたユーザをプロキシデータベースにて検索する。ステップ１５０２では、ステップ１５０１の結果にしたがって、処理を分岐させる。登録要求されたユーザがプロキシデータベースにおいて発見できなければステップ１５１０へ進む。ステップ１５１０では、データベースに追加登録するための空きエリア有無を判定し、追加登録が可能であればステップ１５３０へ進み、登録処理を行い、ステップ１５５０へ進む。追加登録が不可能であればステップ１５４０へ進み、登録数超過処理を行い、ステップ１５５０へ進む。ステップ１５０２にて、登録要求されたユーザが既にプロキシデータベースに登録済みであればステップ１５２０へ進み、重複登録処理を行い、ステップ１５５０へ進む。ステップ１５５０へ進んだ場合は、プロキシエージェントのユーザ登録処理１５００を終了させる。
【００５７】
図１６は、図１３のステップ１３２０の詳細を記述したものである。ステップ１６０１では、削除要求されたユーザがプロキシデータベースに登録されているかを検索する。ステップ１６０２では、削除要求されたユーザが登録されている場合、ステップ１６１０へ進み、削除処理を行い、ステップ１６３０へ進む。削除要求されたユーザがプロキシデータベースに未登録であった場合、ステップ１６０２からステップ１６２０へ進み、未登録削除処理を行い、ステップ１６３０へ進む。ステップ１６３０では、プロキシエージェントのユーザ削除処理１６００を終了させる。
【００５８】
図１７は、図１３のステップ１３３０の詳細を記述したものである。まずステップ１７０１で、ユーザ確認要求をされたユーザが、プロキシデータベースに登録されているかを検索する。ステップ１７０２では、ステップ１７０１の結果により、処理を分岐させる。ユーザ確認要求に該当するユーザがプロキシデータベースに登録されていた場合、ステップ１７１０へ進み、ユーザ確認要求を送出してきたマネージャに対して、確認ＯＫを返信し、ステップ１７３０へ進む。プロキシデータベースにユーザ確認要求に該当するユーザが登録されていない場合は、ステップ１７０２では処理をステップ１７２０へ進め、要求を送信してきたマネージャに対して確認ＮＧを返信し、ステップ１７３０へ進む。ステップ１７３０では、プロキシエージェントのユーザ確認要求処理１７００を終了させる。
【００５９】
図１８は、図１５のステップ１５３０の詳細を記述したものである。まずステップ１８０１では、エージェントに対してユーザ登録要求を送出する。その後、エージェントからの応答をステップ１８０２にて待ち、受信すればその応答の種類により、処理を振り分ける。エージェントからの応答が登録完了応答であれば、ステップ１８１０へ進み、マネージャから登録を要求されたユーザを、プロキシデータベースへ登録する。その後ステップ１８１１では、マネージャへ登録完了を応答し、ステップ１８４０へ進む。ステップ１８０２にて受信した応答が登録済み応答であれば、マネージャへ登録済みを応答し、ステップ１８２１へ進み、登録済み応答のデータベース不一致解消処理を行う。その後、ステップ１８４０へ進む。ステップ１８０２にて受信した応答が登録数超過応答であった場合、ステップ１８３０へ進み、マネージャへ登録数超過を応答する。その後ステップ１８３１にて登録数超過応答のデータベース不一致解消処理を行い、ステップ１８４０へ進む。ステップ１８４０ではプロキシエージェントの登録処理１８００を終了させる。
【００６０】
図１９は、図１５のステップ１５４０の詳細を記述したものである。ステップ１９０１ではエージェントへユーザ登録要求を送出し、ステップ１９０２にて前記要求に対するエージェントからの応答を待つ。登録完了応答を受信すれば、ステップ１９１０へ進み、マネージャへ登録完了を応答し、ステップ１９１１で重複登録時登録完了応答のデータベース不一致解消処理を行い、ステップ１９４０へ進む。ステップ１９０２にて登録済み応答を受信すれば、ステップ１９２０へ進み、マネージャへ登録済みを応答し、ステップ１９４０へ進む。ステップ１９０２にて登録数投下応答を受信した場合、ステップ１９３０へ進みマネージャへ登録数超過を応答し、ステップ１９３１にて登録数超過応答のデータベース不一致解消処理を行う。その後、ステップ１９４０へ進む。ステップ１９４０では、プロキシエージェントの重複登録処理１９００を終了させる。
【００６１】
図２０は、図１５のステップ１５２０の詳細を記述したものである。ステップ２００１では、エージェントへユーザ登録要求を送出し、ステップ２００２で前記要求に対する応答を待つ。前記応答が登録完了応答であった場合、ステップ２０１０へ進み、マネージャへ登録完了を応答し、ステップ２０１１にて登録数超過時登録完了応答のデータベース不一致解消処理を行う。その後、ステップ２０４０へ進む。ステップ２００２で登録済み応答を受信した場合、ステップ２０２０へ進みマネージャへ登録済みを応答し、ステップ２０４０へ進む。ステップ２００２で登録数超過応答を受信した場合、ステップ２０３０へ進みマネージャへ登録数超過を応答し、ステップ２０４０へ進む。ステップ２０４０では、プロキシエージェントの登録数超過処理２０００を終了させる。
【００６２】
図２１は、図１６のステップ１６１０の詳細を記述したものである。ステップ２１０１でエージェントに対してユーザ削除要求を送出し、ステップ２１０２にて前記要求に対する応答を待つ。削除完了応答を受信した場合、ステップ２１１０へ進み、プロキシデータベースからユーザを削除し、ステップ２１１１にてマネージャへ削除完了の応答を行う。その後、ステップ２１３０へ進む。ステップ２１０２にて未登録応答を受信した場合、ステップ２１２０へ進み、マネージャへ未登録を応答し、ステップ２１２１では未登録応答のデータベース不一致解消処理を行い、ステップ２１３０へ進む。ステップ２１３０では、プロキシエージェントの削除処理２１００を終了させる。
【００６３】
図２２は、図１６のステップ１６２０の詳細を記述したものである。ステップ２２０１でエージェントへユーザ削除要求を送出し、ステップ２２０２にてエージェントから前記要求に対する応答を待つ。削除完了応答を受信した場合、ステップ２２１０へ進み、プロキシデータベースから、エージェントへ削除要求を行ったユーザを削除し、ステップ２２１１へ進む。ステップ２２１１では削除完了応答のデータベース不一致解消処理を行い、ステップ２２３０へ進む。ステップ２２０２にてエージェントから未登録応答を受信した場合、ステップ２２２０へ進み、マネージャへ未登録を応答する。その後ステップ２２３０へ進む。ステップ２２３０では、プロキシエージェントの未登録削除処理２２００を終了させる。
【００６４】
図２３は、図１８のステップ１８２１の詳細を記述したものである。ステップ２３０１ではエージェントのデータベースにおいて、マネージャに登録を要求されたユーザが登録されているブロックＮｏ．を獲得する。その後ステップ２３０２にてブロックコピー処理を行い、ステップ２３１０にて登録済み応答のデータベース不一致解消処理２３００を終了させる。
【００６５】
図２４は、図１８のステップ１８３１、および図１９の１９３１の詳細を記述したものである。ステップ２４０１ではプロキシエージェントのプロキシデータベースにおいて、空きのあるブロックのブロックＮｏ．（Ｎｐ）を獲得する。ステップ２４０２では、ステップ２４０１で獲得したブロックＮｏ．の値Ｎｐを使用してブロックコピー処理を行う。その後ステップ２４１０へ進み、登録数超過応答のデータベース不一致解消処理２４００を終了させる。
【００６６】
図２５は、図１９のステップ１９１１の詳細を記述したものである。ステップ２５０１で、プロキシエージェントのプロキシデータベースにおいて、マネージャから登録されたユーザが登録されているブロックのブロックＮｏ．（Ｎｐ）を獲得する。ステップ２５０２では、ステップ２５０１で獲得したブロックＮｏ．の値Ｎｐを使用してブロックコピー処理を行う。その後、エージェントのデータベースにおいて、前記ユーザが登録されたブロックのブロックＮｏ．（Ｎｒ）を獲得し、ステップ２５０４でＮｐとＮｒの値を比較する。
【００６７】
Ｎｐ＝Ｎｒであれば、ステップ２５３０へ進む。Ｎｐ≠Ｎｒであればステップ２５１０へ進み、プロキシデータベースに対して前記ユーザを登録し、ステップ２５３０へ進む。ステップ２５３０では、重複登録時登録完了応答のデータベース不一致処理２５００を終了させる。
【００６８】
図２６は、図２０のステップ２０１１の詳細を記述したものである。ステップ２６０１では、マネージャが登録を要求したユーザが、エージェントのデータベースにおいて登録されたブロックＮｏ．（Ｎｒ）を獲得する。ステップ２６０２ではステップ２６０１で獲得したブロックＮｏ．の値Ｎｒを使用してブロックコピー処理を行う。その後ステップ２６１０へ進み、登録数超過時登録完了応答のデータベース不一致解消処理２６００を終了させる。
【００６９】
図２７は、図２２のステップ２２１１の詳細を記述したものである。ステップ２７０１では、マネージャが削除を要求したユーザが、エージェントのデータベースにおいて登録されたブロックＮｏ．（Ｎｒ）を獲得する。ステップ２７０２ではステップ２７０１で獲得したブロックＮｏ．の値Ｎｒを使用してブロックコピー処理を行う。その後ステップ２７１０へ進み、削除完了応答のデータベース不一致解消処理２７００を終了させる。
【００７０】
図２８は、図２１のステップ２１２１の詳細を記述したものである。ステップ２８０１では、マネージャが削除を要求したユーザが、プロキシエージェントのプロキシデータベースにおいて登録されているブロックＮｏ．（Ｎｐ）を獲得する。ステップ２８０２ではステップ２８０１で獲得したブロックＮｏ．の値Ｎｐを使用してブロックコピー処理を行う。その後ステップ２８１０へ進み、未登録応答のデータベース不一致解消処理２８００を終了させる。
【００７１】
図２９は、図２３のステップ２３０２、図２４のステップ２４０２、図２５のステップ２５０２、図２６のステップ２６０２、図２７のステップ２７０２、および図２８のステップ２８０２の詳細を記述したものである。ステップ２９０１にて、ブロックＮｏ．で指定されたブロックのデータを、エージェントのデータベースに対して獲得要求を送出する。ステップ２９０２では、エージェントのデータベースからの応答待ちを行い、応答を受信した後にステップ２９１０へ進む。ステップ２９１０ではエージェントから獲得したブロックのデータを、プロキシデータベースの同一ブロックＮｏ．のブロックにコピーする。その後２９２０に進み、ブロックコピー処理２９００を終了させる。
【００７２】
図３０はデータベースに登録されたユーザ情報の一例である。データベース３０００は、図５の５２２、５３２と同一のものである。図５の例ではデータベース３０００には情報３００１、３００２、３００３が蓄積され、ユーザ情報は３００１に蓄積されている。ユーザ情報はブロック毎に管理されている。図５の例ではブロック数は３である。ブロック３０１０はブロックＮｏ．＝０、ブロック３０１１はブロックＮｏ．＝１、ブロック３０１２はブロックＮｏ．＝２、ユーザ情報３０２０は、ブロックＮｏ．１のブロック３０１１の詳細を示している。ユーザ情報３０２０の列はユーザに関連する情報要素を表わす。列３０３０はＵｓｅｒＩＤ、列３０３１はユーザ名称、列３０３２はパスワード、列３０３３はアクセス権、列３０３４はブロックＮｏ．をそれぞれ表わしている。ユーザ情報３０２０の行は１ユーザを表現している。
【００７３】
例えば、行８０４０は、ＵｓｅｒＩＤは８７であり、そのユーザのユーザ名称はＩＣＨＩＲＯ、パスワードは４ＷＡＲＩ、アクセス権は一般ユーザ、ブロックＮｏ．は１であることを表わしている。図３０のユーザ情報はあくまでも例であり、例えばブロック数がｎとなっても良い。また、ユーザ情報の情報要素は、パスワード有効期間など、他の情報要素が加えられていても良い。データベース３０００の操作は既存のデータベースを使用するものとし、本発明の言及するところでは無い。
【００７４】
図３１は、記憶媒体の一例であるＣＤ−ＲＯＭのメモリマップを示す図である。９９９９はディレクトリ情報を記憶してある領域で、以降のインストールプログラムを記憶してある領域９９９８およびネットワークデータベース管理ソフトウェアのプログラムを記憶してある領域９９９７の位置を示している。９９９８は、インストールプログラムを記憶してある領域である。９９９７は、ネットワークデータベース管理ソフトウェアのプログラムを記憶してある領域である。
【００７５】
本発明のデータベース管理サーバソフトウェアのプログラムがパーソナルコンピュータ２００にインストールされる際には、まずインストールプログラムを記憶してある領域９９９８に記憶されているインストールプログラムがシステムにロードされ、ＣＰＵ２０１によって実行される。次に、ＣＰＵ２０１によって実行されるインストールプログラムが、チケット販売照合ソフトウェアのプログラムを記憶してある領域９９９７からチケット販売照合ソフトウェアのプログラムを読み出して、ハードディスク２１１に格納する。
【００７６】
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェース機器、リーダなど）から構成されるシステムあるいは統合装置に適用しても、ひとつの機器からなる装置に適用してもよい。
【００７７】
また、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【００７８】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００７９】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ，ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【００８０】
また、コンピュータが読み出したプログラムコードを実行することによって、前述した実施形態の機能が実現される他、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００８１】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００８２】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体から、そのプログラムをパソコン通信など通信ラインを介して要求者にそのプログラムを配信する場合にも適用できることは言うまでもない。
【図面の簡単な説明】
【００８３】
【図１】本実施例のデータベース同期システムが動作可能なネットワークの構成を示す図
【図２】一般的なパーソナルコンピュータの内部構成を示した図
【図３】デバイスの内部構成の一例を示した図
【図４】デバイス管理ＢＯＸの内部構成の一例を示した図
【図５】サーバＰＣとデバイスとデバイス管理ＢＯＸのモデル図
【図６】マネージャの動作を表わすフローチャート
【図７】マネージャの動作を表わすフローチャート。
【図８】エージェントの動作を表わすフローチャート
【図９】エージェントの動作を表わすフローチャート
【図１０】エージェントの動作を表わすフローチャート
【図１１】エージェントの動作を表わすフローチャート
【図１２】エージェントの動作を表わすフローチャート
【図１３】プロキシエージェントの動作を表わすフローチャート
【図１４】プロキシエージェントの動作を表わすフローチャート
【図１５】プロキシエージェントの動作を表わすフローチャート
【図１６】プロキシエージェントの動作を表わすフローチャート
【図１７】プロキシエージェントの動作を表わすフローチャート
【図１８】プロキシエージェントの動作を表わすフローチャート
【図１９】プロキシエージェントの動作を表わすフローチャート
【図２０】プロキシエージェントの動作を表わすフローチャート
【図２１】プロキシエージェントの動作を表わすフローチャート
【図２２】プロキシエージェントの動作を表わすフローチャート
【図２３】プロキシエージェントの動作を表わすフローチャート
【図２４】プロキシエージェントの動作を表わすフローチャート
【図２５】プロキシエージェントの動作を表わすフローチャート
【図２６】プロキシエージェントの動作を表わすフローチャート
【図２７】プロキシエージェントの動作を表わすフローチャート
【図２８】プロキシエージェントの動作を表わすフローチャート
【図２９】プロキシエージェントの動作を表わすフローチャート
【図３０】ユーザ情報の構成の一例を示す図
【図３１】本発明のチケット照合販売ソフトウェアの記憶媒体におけるメモリマップを示す図
【符号の説明】
【００８４】
１００、２２０、４２０、５００  ネットワーク
１０１、２００、５１０          サーバＰＣ
１０２、１０３、３００、５２０  デバイス
１０４、１０５、４００、５３０  デバイス管理ＢＯＸ
１０６、１０７、５４０          既存Ｉ／Ｆ
５１１                          マネージャ
５２１                          エージェント
５３１                          プロキシエージェント
５２２                          データベース
５３２                          プロキシデータベース
【図１】
2006134039.tif 000003
【図２】
2006134039.tif 000004
【図３】
2006134039.tif 000005
【図４】
2006134039.tif 000006
【図５】
2006134039.tif 000007
【図６】
2006134039.tif 000008
【図７】
2006134039.tif 000009
【図８】
2006134039.tif 000010
【図９】
2006134039.tif 000011
【図１０】
2006134039.tif 000012
【図１１】
2006134039.tif 000013
【図１２】
2006134039.tif 000014
【図１３】
2006134039.tif 000015
【図１４】
2006134039.tif 000016
【図１５】
2006134039.tif 000017
【図１６】
2006134039.tif 000018
【図１７】
2006134039.tif 000019
【図１８】
2006134039.tif 000020
【図１９】
2006134039.tif 000021
【図２０】
2006134039.tif 000022
【図２１】
2006134039.tif 000023
【図２２】
2006134039.tif 000024
【図２３】
2006134039.tif 000025
【図２４】
2006134039.tif 000026
【図２５】
2006134039.tif 000027
【図２６】
2006134039.tif 000028
【図２７】
2006134039.tif 000029
【図２８】
2006134039.tif 000030
【図２９】
2006134039.tif 000031
【図３１】
2006134039.tif 000032
【図３０】
2006134039.tif 000033