(57)【要約】【課題】データベースのロック機構を用いること無く、ＩＤの重複発行を防止する。【解決手段】履歴テーブルは、ＩＤの発行履歴のステータスとして、発行済状態と、予約済で未発行である予約状態とのいずれかを登録可能である。クライアントからの発行希望ＩＤの要求を受け付けて発行希望ＩＤの発行を実行する前に、発行希望ＩＤの発行履歴として、予約状態の発行履歴を履歴テーブルに登録する。登録されている発行履歴の中に、発行希望ＩＤと重複するＩＤに対応する、登録した発行希望ＩＤの発行履歴とは異なる他の発行履歴が存在するか否かを、ステータスに関係なくチェックする。発行希望ＩＤと重複するＩＤに対応する他の発行履歴が存在しない場合には、発行希望ＩＤの発行を実行し、発行希望ＩＤの発行履歴のステータスを発行済状態に変更する。発行希望ＩＤと重複するＩＤに対応する他の発行履歴が存在する場合には、発行希望ＩＤの発行を中止する。【選択図】図２
2009289040.tif 000002
【特許請求の範囲】
【請求項１】
クライアントからの要求に応じてＩＤを発行するＩＤ発行システムであって、
前記ＩＤの発行を実行する複数のＩＤ発行サーバと、
前記複数のＩＤ発行サーバがそれぞれ発行する前記ＩＤを、履歴テーブルにより管理する履歴管理装置と、を備え、
前記履歴テーブルは、前記ＩＤの発行履歴のステータスとして、発行済状態と、予約済で未発行である予約状態とのいずれかを登録可能であり、
前記ＩＤ発行サーバは、
前記クライアントからの発行希望ＩＤの要求を受け付けて前記発行希望ＩＤの前記クライアントへの発行を実行する前に、前記履歴管理装置を介して前記履歴テーブルに、前記発行希望ＩＤの発行履歴として、前記ステータスが予約状態の発行履歴を登録し、
前記履歴テーブルの中に登録されている発行履歴の中に、前記発行希望ＩＤと重複するＩＤに対応する、前記登録した発行希望ＩＤの発行履歴とは異なる他の発行履歴が存在するか否かを、前記履歴管理装置を介して前記ステータスに関係なくチェックし、
前記発行希望ＩＤと重複するＩＤに対応する他の発行履歴が存在しない場合には、前記発行希望ＩＤの発行を実行するとともに、前記履歴管理装置を介して前記発行希望ＩＤの発行履歴のステータスを発行済状態に変更し、
前記発行希望ＩＤと重複するＩＤに対応する他の発行履歴が存在する場合には、前記発行希望ＩＤの発行を中止する
ことを特徴とするＩＤ発行システム。
【請求項２】
請求項１記載のＩＤ発行システムであって、
前記履歴テーブルへの前記発行希望ＩＤの発行履歴の登録は、前記クライアントからの要求の受け付けに応じて取得した処理日時と、同じ処理日時の発行履歴を区別するための処理ＩＤと、をテーブル管理キーとして、実行される
ことを特徴とするＩＤ発行システム。
【請求項３】
請求項２記載のＩＤ発行システムであって、
前記発行希望ＩＤと重複するＩＤに対応する他の発行履歴のチェックは、前記テーブル管理キーの内容が同じである発行履歴が存在するか否かをチェックすることにより実行される
ことを特徴とするＩＤ発行システム。
【請求項４】
請求項３記載のＩＤ発行システムであって、
前記発行希望ＩＤと重複するＩＤに対応する他の発行履歴のチェックは、さらに、前記テーブル管理キーの内容が同じである発行履歴が存在する場合において、存在する発行履歴の中に前記発行希望ＩＤと重複するＩＤを含み、前記ステータスが予約状態の発行履歴が存在するか否かをチェックすることにより実行される
ことを特徴とするＩＤ発行システム。
【請求項５】
請求項４記載のＩＤ発行システムであって、
前記発行希望ＩＤと重複するＩＤに対応する他の発行履歴のチェックは、さらに、前記ステータスが予約状態である発行履歴がない場合において、前記テーブル管理キーの内容が異なる発行履歴の中に前記発行希望ＩＤと重複するＩＤに対応する他の発行履歴が存在するか否かをチェックすることにより実行される
ことを特徴とするＩＤ発行システム。
【請求項６】
請求項３記載のＩＤ発行システムであって、
前記発行希望ＩＤと重複するＩＤに対応する他の発行履歴のチェックは、さらに、前記テーブル管理キーの内容が同じである発行履歴が存在しない場合において、前記テーブル管理キーの内容が異なる発行履歴の中に前記発行希望ＩＤと重複するＩＤに対応する他の発行履歴が存在するか否かをチェックすることにより実行される
ことを特徴とするＩＤ発行システム。
【請求項７】
請求項５または請求項６記載のＩＤ発行システムであって、
前記発行希望ＩＤと重複するＩＤに対応する他の発行履歴のチェックにおいて、前記ステータスが予約状態の発行履歴のうち、前記発行希望ＩＤの発行履歴の処理日時よりも所定量だけ古い処理日時の発行履歴は、前記チェックの対象から除外する
ことを特徴とするＩＤ発行システム。
【請求項８】
ＩＤの発行履歴のステータスとして、発行済状態と、予約済で未発行である予約状態とのいずれかを登録可能な履歴テーブルを用いて、クライアントからの要求に応じてＩＤを発行するＩＤ発行サーバであって、
前記クライアントからの発行希望ＩＤの要求を受け付けて前記発行希望ＩＤの前記クライアントへの発行を実行する前に、前記発行希望ＩＤの発行履歴として、前記ステータスが予約状態の発行履歴を前記履歴テーブルに登録し、
前記履歴テーブルの中に登録されている発行履歴の中に、前記発行希望ＩＤと重複するＩＤに対応する、前記登録した発行希望ＩＤの発行履歴とは異なる他の発行履歴が存在するか否かを前記ステータスに関係なくチェックし、
前記発行ＩＤと重複するＩＤに対応する他の発行履歴が存在しない場合には、前記発行希望ＩＤの発行を実行するとともに、前記発行希望ＩＤの発行履歴のステータスを発行済状態に変更し、
前記発行希望ＩＤと重複するＩＤに対応する他の発行履歴が存在する場合には、前記発行希望ＩＤの発行を中止する
ことを特徴とするＩＤ発行サーバ。
【請求項９】
ＩＤの発行履歴のステータスとして、発行済状態と、予約済で未発行である予約状態とのいずれかを登録可能な履歴テーブルを用いて、クライアントからの要求に応じて特定のＩＤを発行する方法であって、
前記クライアントからの要求を受け付けて発行希望ＩＤの前記クライアントへの発行を実行する前に、前記発行希望ＩＤの発行履歴として、前記ステータスが予約状態の発行履歴を前記履歴テーブルに登録し、
前記履歴テーブルの中に登録されている発行履歴の中に、前記発行希望ＩＤと重複するＩＤに対応する、前記登録した発行希望ＩＤの発行履歴とは異なる他の発行履歴が存在するか否かを、前記ステータスに関係なくチェックし、
前記発行ＩＤと重複するＩＤに対応する他の発行履歴が存在しない場合には、前記発行希望ＩＤの発行を実行するとともに、前記発行希望ＩＤの発行履歴のステータスを発行済状態に変更し、
前記発行希望ＩＤと重複するＩＤに対応する他の発行履歴が存在する場合には、前記発行希望ＩＤの発行を中止する
ことを特徴とする方法。
【請求項１０】
ＩＤの発行履歴のステータスとして、発行済状態と、予約済で未発行である予約状態とのいずれかを登録可能な履歴テーブルを用いて、クライアントからの要求に応じて特定のＩＤを発行するためのコンピュータプログラムであって、
前記クライアントからの要求を受け付けて発行希望ＩＤの前記クライアントへの発行を実行する前に、前記発行希望ＩＤの発行履歴として、前記ステータスが予約状態の発行履歴を前記履歴テーブルに登録する機能と、
前記履歴テーブルの中に登録されている発行履歴の中に、前記発行希望ＩＤと重複するＩＤに対応する、前記登録した発行希望ＩＤの発行履歴とは異なる他の発行履歴が存在するか否かを、前記ステータスに関係なくチェックする機能と、
前記発行ＩＤと重複するＩＤに対応する他の発行履歴が存在しない場合には、前記発行希望ＩＤの発行を実行するとともに、前記発行希望ＩＤの発行履歴のステータスを発行済状態に変更する機能と、
前記発行希望ＩＤと重複するＩＤに対応する他の発行履歴が存在する場合には、前記発行希望ＩＤの発行を中止する機能と、
をコンピュータに実現させるためのコンピュータプログラム。
【請求項１１】
請求項１０記載のコンピュータプログラムをコンピュータ読み取り可能にした記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
重複発行を防止して、ＩＤを発行することが可能な技術に関する。
【背景技術】
【０００２】
ある企業において製造されるデバイスは、その企業内において、製造されたデバイス１台ごとに重複しないＩＤが登録される。このため、各デバイスに登録されるＩＤを発行するＩＤ発行システムでは、重複発行を防止するために、発行したＩＤを発行履歴により管理することが行なわれている。
【０００３】
上記ＩＤ発行システムにおいて、複数のＩＤの発行依頼が同時に発生した場合において、重複発行防止する手法として、データベースのロック機構を用いる手法が利用されている（例えば、特許文献１参照）。
【０００４】
しかしながら、ロック機構を用いた場合には、ロック機構の不具合によりシステムが停止してしまう恐れがあったため、ロック機構を用いない別の手法を用いて重複発行を防止することが望まれていた。
【０００５】
【特許文献１】特開２００５−３０１４８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、上記した問題点を解決し、重複発行を防止して、ＩＤを発行することが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。
【０００８】
［適用例１］
クライアントからの要求に応じてＩＤを発行するＩＤ発行システムであって、
前記ＩＤの発行を実行する複数のＩＤ発行サーバと、
前記複数のＩＤ発行サーバがそれぞれ発行する前記ＩＤを、履歴テーブルにより管理する履歴管理装置と、を備え、
前記履歴テーブルは、前記ＩＤの発行履歴のステータスとして、発行済状態と、予約済で未発行である予約状態とのいずれかを登録可能であり、
前記ＩＤ発行サーバは、
前記クライアントからの発行希望ＩＤの要求を受け付けて前記発行希望ＩＤの前記クライアントへの発行を実行する前に、前記履歴管理装置を介して前記履歴テーブルに、前記発行希望ＩＤの発行履歴として、前記ステータスが予約状態の発行履歴を登録し、
前記履歴テーブルの中に登録されている発行履歴の中に、前記発行希望ＩＤと重複するＩＤに対応する、前記登録した発行希望ＩＤの発行履歴とは異なる他の発行履歴が存在するか否かを、前記履歴管理装置を介して前記ステータスに関係なくチェックし、
前記発行希望ＩＤと重複するＩＤに対応する他の発行履歴が存在しない場合には、前記発行希望ＩＤの発行を実行するとともに、前記履歴管理装置を介して前記発行希望ＩＤの発行履歴のステータスを発行済状態に変更し、
前記発行希望ＩＤと重複するＩＤに対応する他の発行履歴が存在する場合には、前記発行希望ＩＤの発行を中止する
ことを特徴とするＩＤ発行システム。
このＩＤ発行システムによれば、データベースのロック機構を用いること無く、ＩＤの重複発行を防止してＩＤを発行することが可能である。
【０００９】
［適用例２］
適用例１記載のＩＤ発行システムであって、
前記履歴テーブルへの前記発行希望ＩＤの発行履歴の登録は、前記クライアントからの要求の受け付けに応じて取得した処理日時と、同じ処理日時の発行履歴を区別するための処理ＩＤと、をテーブル管理キーとして、実行される
ことを特徴とするＩＤ発行システム。
このＩＤ発行システムによれば、履歴テーブルによるＩＤの発行履歴の管理を容易にすることができるので、容易にＩＤの重複発行を防止することができる。
【００１０】
［適用例３］
適用例２記載のＩＤ発行システムであって、
前記発行希望ＩＤと重複するＩＤに対応する他の発行履歴のチェックは、前記テーブル管理キーの内容が同じである発行履歴が存在するか否かをチェックすることにより実行される
ことを特徴とするＩＤ発行システム。
このＩＤ発行システムによれば、履歴テーブルに登録されている発行履歴をチェックすることにより、ＩＤの重複発行を防止することができる。
【００１１】
［適用例４］
適用例３記載のＩＤ発行システムであって、
前記発行希望ＩＤと重複するＩＤに対応する他の発行履歴のチェックは、さらに、前記テーブル管理キーの内容が同じである発行履歴が存在する場合において、存在する発行履歴の中に前記発行希望ＩＤと重複するＩＤを含み、前記ステータスが予約状態の発行履歴が存在するか否かをチェックすることにより実行される
ことを特徴とするＩＤ発行システム。
このＩＤ発行システムによれば、履歴テーブルに登録されている発行履歴のチェックすることにより、ＩＤの重複発行をさらに防止することができる。
【００１２】
［適用例５］
適用例４記載のＩＤ発行システムであって、
前記発行希望ＩＤと重複するＩＤに対応する他の発行履歴のチェックは、さらに、前記ステータスが予約状態である発行履歴がない場合において、前記テーブル管理キーの内容が異なる発行履歴の中に前記発行希望ＩＤと重複するＩＤに対応する他の発行履歴が存在するか否かをチェックすることにより実行される
ことを特徴とするＩＤ発行システム。
このＩＤ発行システムによれば、履歴テーブルに登録されている発行履歴をチェックして、ＩＤの重複発行をより一層防止することができる。
【００１３】
［適用例６］
適用例３記載のＩＤ発行システムであって、
前記発行希望ＩＤと重複するＩＤに対応する他の発行履歴のチェックは、さらに、前記テーブル管理キーの内容が同じである発行履歴が存在しない場合において、前記テーブル管理キーの内容が異なる発行履歴の中に前記発行希望ＩＤと重複するＩＤに対応する他の発行履歴が存在するか否かをチェックすることにより実行される
ことを特徴とするＩＤ発行システム。
このＩＤ発行システムによっても、履歴テーブルに登録されている発行履歴のチェックすることにより、ＩＤの重複発行をさらに防止することができる。
【００１４】
［適用例７］
適用例５または適用例６記載のＩＤ発行システムであって、
前記発行希望ＩＤと重複するＩＤに対応する他の発行履歴のチェックにおいて、前記ステータスが予約状態の発行履歴のうち、前記発行希望ＩＤの発行履歴の処理日時よりも所定量だけ古い処理日時の発行履歴は、前記チェックの対象から除外する
ことを特徴とするＩＤ発行システム。
このＩＤ発行システムによれば、前記発行希望ＩＤの発行履歴の処理日時よりも所定量だけ古い処理日時の発行履歴は、チェックの対象から除外することができるので、ＩＤ発行の無駄を省くことができる。
【００１５】
なお、本発明は、上述した種々の特徴を必ずしも全て備えている必要はなく、その一部を省略したり、適宜、組み合わせたりして構成することができる。また、本発明は、種々の形態で実現することが可能であり、例えば、ＩＤ発行システムやその方法、ＩＤ発行サーバやその方法、それらの方法やシステムの機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、等の形態で実現することができる。なお、それぞれの態様において、先に示した種々の付加的要素を適用することが可能である。
【００１６】
本発明をコンピュータプログラムまたはそのプログラムを記録した記録媒体等として構成する場合には、データベースアクセスサーバの動作を制御するプログラム全体として構成するものとしてもよいし、本発明の機能を果たす部分のみを構成するものとしてもよい。また、記録媒体としては、フレキシブルディスクやＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、光磁気ディスク、ＩＣカード、ＲＯＭカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ）および外部記憶装置などコンピュータが読み取り可能な種々の媒体を利用できる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
Ａ．実施例：
Ｂ．変形例：
【００１８】
Ａ．実施例：
図１は、本発明の一実施例としてのＩＤ発行システム１０の構成例を示す説明図である。このＩＤ発行システム１０は、ＩＤの発行履歴を管理するデータベースサーバ１００と、ＩＤ発行サーバとしてのＡＰサーバ２００，３００と、Ｗｅｂサーバ４００と、を備える。
【００１９】
データベースサーバ１００はファイアウォール１２０を介して第１のＡＰ（アプリケーション）サーバ２００に接続されており、第１のＡＰサーバ２００はファイアウォール２２０を介してＷｅｂサーバ４００に接続されている。また、Ｗｅｂサーバ４００はファイアウォール４２０を介してインターネットＩＮＴに接続されている。インターネットＩＮＴにはＩＤの発行を要求するクライアント５００が接続されている。クライアント５００は、インターネットＩＮＴおよびＷｅｂサーバ４００を介して、ＩＤ発行サーバとしての第１のＡＰサーバ２００に対してＩＤの発行を要求することができる。
【００２０】
なお、図示の例では、インターネットＩＮＴに１台のクライアント５００のみが接続されている例を示しているが、これに限定されるものではなく、接続されるクライアントの数は、任意に設定可能である。
【００２１】
また、データベースサーバ１００はファイアウォール１４０を介して第２のＡＰサーバ３００に接続されており、第２のＡＰサーバ３００はファイアウォール３２０を介して、クライアント６００に接続されている。クライアント６００は、第２のＡＰサーバ３００に対してＩＤの発行を要求することができる。なお、図示の例では、１台のクライアント６００のみが第２のＡＰサーバ３００に接続されている例を示しているが、これに限定されるものではなく、接続されるクライアントの数は、任意に設定可能である。
【００２２】
なお、図示した例のＩＤ発行システム１０では、Ｗｅｂサーバを介してインターネットに接続される１台のＡＰサーバと、インターネットに接続されない１台のＡＰサーバとを備える例が示されているが、これに限定されるものではなく、それぞれのＡＰサーバの数は、任意に設定可能である。
【００２３】
第１のクライアント５００からのＩＤ発行要求は、第１のＡＰサーバ２００に対してではなく、Ｗｅｂサーバ４００に対して実行される。このとき、Ｗｅｂサーバ４００は、第１のクライアント５００からの要求を受け付けると、その要求を第１のＡＰサーバ２００に対して受け渡す。第１のＡＰサーバ２００は、受け付けたＩＤ発行要求に応じて、データベースサーバ１００で管理されている履歴テーブル１０４を用いて、要求のあったＩＤを発行可能か否か判断し、判断結果に応じてＩＤの発行を実行する。
【００２４】
一方、第２のクライアント６００からのＩＤ発行要求は、第２のＡＰサーバ３００に対して実行される。このとき、第２のＡＰサーバ３００は第２のクライアント６００からの要求を受け付けると、第１のＡＰサーバ２００と同様に、受け付けたＩＤ発行要求に応じて、データベースサーバ１００で管理されている履歴テーブルを用いて、要求のあったＩＤを発行可能か否か判断し、判断結果に応じてＩＤの発行を実行する。
【００２５】
なお、第１のＡＰサーバ２００における上記動作は、主にＩＤ発行予約部２０２、ＩＤチェック部２０４、および、ＩＤ発行処理部２０６によって実行される。第２のＡＰサーバ３００における上記動作も、第１のＡＰサーバ２００と同様であるが、図示は省略する。また、データベースサーバ１００における履歴テーブル１０４を用いた上記管理動作は、主に履歴管理部１０２によって実行される。このデータベースサーバ１００が本発明の履歴管理装置に相当する。
【００２６】
なお、ＩＤ発行システム１０において発行するＩＤとしては、企業で製造される同種類のデバイス１台ごとに付与される番号や記号だけでなく、受付順に発行する番号等の種々の識別符号が含まれる。
【００２７】
図２は、ＩＤ発行サーバとしての第１のＡＰサーバ２００において実行されるＩＤ発行処理のフローを示す説明図である。なお、ＩＤ発行サーバとしての第２のＡＰサーバ３００において実行されるＩＤ発行処理は、以下で説明する第１のＡＰサーバ２００のＩＤ発行処理と同じである。
【００２８】
まず、第１のＡＰサーバ２００は、Ｗｅｂサーバ４００から受け渡された第１のクライアント５００からのＩＤ発行のリクエストを受け付ける（ステップＳ１０２）。このリクエストを受け付けると、ＩＤ発行予約部２０２が、データベースサーバ１００の履歴管理部１０２を介して、リクエストに含まれているＩＤ（以下、「発行希望ＩＤ」と呼ぶ）の発行履歴の履歴テーブル１０４への登録を実行する（ステップＳ１０４）。
【００２９】
図３は、図２のステップＳ１０４で実行される予約ステータス履歴登録処理について示す説明図である。第１のＡＰサーバ２００（ＡＰサーバ１）のＩＤ発行予約部２０２は、まず、ステップＳ２０２において、処理を開始した現在の日時（現在処理日時）を検索のキーとして、データベースサーバ１００の履歴管理部１０２を介して、履歴テーブル１０４の検索を実行し、同じ処理日時の発行履歴のレコードの有無をチェックする。
【００３０】
そして、ステップＳ２０４において、同じ処理日時の発行履歴のレコードが存在しない場合には、処理ＩＤ＝１として、発行希望ＩＤの内容を登録する発行ＩＤとし、ステータスを予約状態とした発行履歴を、履歴管理部１０２を介して、履歴テーブル１０４に登録する。一方、ステップＳ２０４において、同じ処理日時の発行履歴のレコードが存在する場合には、存在した発行履歴のレコードのうち、最も大きな値の処理ＩＤに１加算した値を処理ＩＤの値として、発行履歴を履歴テーブル１０４に登録する（ステップＳ２０４）。例えば、図２の履歴テーブル１０４に示すように、現在処理日時が「２００８／０３／２８」であるとした場合に、処理日時が「２００８／０３／２８」で処理ＩＤが「１」の発行履歴のレコードが存在するとした場合には、処理ＩＤの値を「２」として、発行履歴を履歴テーブル１０４に登録する。
【００３１】
なお、第２のＡＰサーバ３００においても、第１のＡＰサーバ２００とは独立して、第１のＡＰサーバ２００と同様に、ステップＳ３０２、Ｓ３０４に示した処理を実行することにより、予約ステータス履歴登録の処理が実行される。
【００３２】
上記のようにして発行希望ＩＤの発行履歴を予約ステータスで登録した後、図２のステップＳ１０６において、ＩＤチェック部２０４が、登録した発行希望ＩＤの発行履歴の処理日時および処理ＩＤの組み合わせ（以下、「予約キー」と呼ぶ）による履歴テーブル１０４の検索を、履歴管理部１０２を介して実行する。そして、ステップＳ１０８において、予約キーと同じ処理日時および処理ＩＤの組み合わせの発行履歴のレコードが複数有るか否かチェックする。さらに、同じ処理日時および処理ＩＤの複数の発行履歴のレコードが有る場合には、ステップＳ１１０において、その中に、発行希望ＩＤと同じ内容の発行ＩＤが登録されている発行履歴のレコードがあるか否かチェックする。
【００３３】
発行希望ＩＤと同じ内容の発行ＩＤが登録されている発行履歴のレコードが有る場合、例えば、履歴テーブル１０４が図４（Ｃ）に示したケース３のような場合には、ステップＳ１１２において、ＩＤ発行処理部２０６が、Ｗｅｂサーバ４００を介してクライアント５００に対して、エラーメッセージを送出し、ステップＳ１１４において、発行希望ＩＤの発行履歴および同じ内容の発行ＩＤが登録されている予約ステータスの発行履歴のステータスを、履歴管理部１０２を介してエラーステータスに変更し、一連の処理を終了する。
【００３４】
一方、予約キーと同じ処理日時および処理ＩＤの発行履歴のレコードが無い場合、例えば、履歴テーブル１０４が図４（Ａ）に示したケース１や図４（Ｄ）に示したケース４のような場合、あるいは、予約キーと同じ処理日時および処理ＩＤの発行履歴のレコードは有るが、同じ内容の発行履歴のレコードは無い場合、例えば、履歴テーブル１０４が図４（Ｂ）に示したケース２や図４（Ｅ）に示したケース５のような場合には、ステップＳ１１６〜Ｓ１２２，Ｓ１１４の処理を実行する。
【００３５】
ステップＳ１１６では、ＩＤチェック部２０４が、予約キーとは異なる処理日時および処理ＩＤの組み合わせ（「予約キー以外」と略す）の発行履歴のレコードを、履歴管理部１０２を介して履歴テーブル１０４から取得し、チェック対象とする。ただし、発行希望ＩＤの処理日時よりも所定時間、例えば、１０分程度以上、古い日時の予約ステータスの発行履歴は、チェック対象から除外する。例えば、図４（Ｄ）に示したケース４や図４（Ｅ）に示したケース５のような場合には、発行希望ＩＤの処理日時を「２００８／０３／２９  １１：００」とすると、処理日時が「２００８／０３／２８  １１：００」の予約ステータスの発行履歴は除外される。なお、この所定時間は、処理動作の途中で処理が停止して、予約ステータスのままの発行履歴を除外するために設定される時間であり、適宜設定可能である。
【００３６】
そして、ステップＳ１１８において、ステップＳ１１６で取得したチェック対象の発行履歴のレコードの中に、発行希望ＩＤと重複する内容の発行ＩＤが登録された発行履歴があるか否かチェックする。
【００３７】
重複する内容の発行ＩＤが登録された発行履歴が有った場合、例えば、図４（Ｅ）に示したケース５のような場合には、処理日時が「２００８／０３／２９  １１：００」で発行ＩＤが「１〜１００」の発行履歴を発行希望ＩＤの発行履歴とすると、発行済ステータスの発行履歴の発行ＩＤと重複する。このような場合には、ステップＳ１２０において、ＩＤ発行処理部２０６が、Ｗｅｂサーバ４００を介してクライアント５００に対して、エラーメッセージを送出し、ステップＳ１１４において、発行希望ＩＤの発行履歴および同じ内容の発行ＩＤが登録されている予約ステータスの発行履歴のステータスを、履歴管理部１０２を介してエラーステータスに変更し、一連の処理を終了する。
【００３８】
一方、重複する内容の発行ＩＤが登録された発行履歴が無い場合、例えば、図４（Ａ）に示したケース１や、図４（Ｂ）に示したケース２、図４（Ｄ）に示したケース４のような場合には、ステップＳ１２２において、ＩＤ発行処理部２０６が、Ｗｅｂサーバ４００を介してクライアント５００に対して、要求のあった発行希望ＩＤの発行を実行し、ステップＳ１１４において、対応する発行履歴のステータスを、履歴管理部１０２を介して予約ステータスから発行済ステータスに変更し、一連の処理を終了する。
【００３９】
以上説明したように、本実施例のＩＤ発行システム１０においては、クライアント５００からのＩＤ発行のリクエストに対して、ＩＤ発行サーバとしての第１のＡＰサーバ２００は、データベースサーバ１００の履歴管理部１０２を介して履歴テーブル１０４に予約ステータスの発行履歴を登録した後、予約ステータスの発行履歴か発行済ステータスの発行履歴かに関係なく、発行希望ＩＤの内容と重複する発行ＩＤが登録されている発行履歴が履歴テーブルに登録されているか否チェックする。そして、発行希望ＩＤの内容と重複する発行ＩＤが登録されている発行履歴が存在する場合には、発行希望ＩＤの発行履歴および該等する発行履歴のうち予約ステータスの発行履歴のステータスをエラーステータスに変更して、ＩＤ発行処理を完了させることができる。また、発行希望ＩＤの内容と重複する発行ＩＤが登録されている発行履歴が存在しない場合には、発行希望ＩＤの発行処理を実行し、発行希望ＩＤの発行履歴のステータスを発行済ステータスに変更して、ＩＤ発行処理を完了させることができる。また、クライアント６００からのＩＤ発行のリクエストに対して、第２のＡＰサーバ３００は、第１のＡＰサーバ２００とは全く独立して、第１のＡＰサーバ２００と同様の処理を実行することができる。これにより、重複する内容のＩＤ発行のリクエストが第１のＡＰサーバ２００および第２のＡＰサーバ３００において同時に発生しとしても、重複発行を防止することができる。
【００４０】
また、重複するＩＤ発行のリクエストに対してエラーを送信してＩＤ発行処理を終了させることにより、再度、いずれか一方において再度ＩＤ発行のリクエストを実行することにより、ＩＤの発行を実行することが可能となる。
【００４１】
また、データベースサーバ１００における障害の発生など、ＩＤ発行処理の過程において、何らかの障害が発生し、処理が完了することなく履歴テーブル１０４中に予約ステータスの状態で残ってしまった発行履歴を、ＩＤの重複を判断する対象から除外することができるので、ＩＤ発行の無駄を省くことができる。
【００４２】
Ｂ．変形例：
なお、本発明は上記した実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様にて実施することが可能である。
【００４３】
上記実施例では、ＩＤ発行処理の過程において、何らかの障害が発生し、処理が完了することなく履歴テーブル１０４中に予約ステータスの状態で残ってしまった発行履歴を、ＩＤの重複を判断する対象から除外する構成としたが、必ずしも除外する必要はない。
【図面の簡単な説明】
【００４４】
【図１】本発明の一実施例としてのＩＤ発行システム１０の構成例を示す説明図である。
【図２】ＩＤ発行サーバとしての第１のＡＰサーバ２００において実行されるＩＤ発行処理のフローを示す説明図である。
【図３】図２のステップＳ１０４で実行される予約ステータス履歴登録処理について示す説明図である。
【図４】履歴テーブル１０４の登録例を示す説明図である。
【符号の説明】
【００４５】
１０…ＩＤ発行システム
１００…データベースサーバ
１０２…履歴管理部
１０４…履歴テーブル
１２０…ファイアウォール
１４０…ファイアウォール
２００…ＡＰサーバ
２０２…ＩＤ発行予約部
２０４…ＩＤチェック部
２０６…ＩＤ発行処理部
２２０…ファイアウォール
３００…ＡＰサーバ
３２０…ファイアウォール
４００…Ｗｅｂサーバ
４２０…ファイアウォール
５００…クライアント
６００…クライアント
ＩＮＴ…インターネット
【図１】
2009289040.tif 000003
【図２】
2009289040.tif 000004
【図３】
2009289040.tif 000005
【図４】
2009289040.tif 000006