(57)【特許請求の範囲】
【請求項１】
ネットワークに接続されるクライアント端末と、
前記ネットワークを介して前記クライアント端末からの接続要求を受け付けるサーバと、を備えた接続受付システムであって、
前記サーバは、
前記クライアント端末から前記サーバに対する接続要求を受けたときに、当該サーバへの接続ができなければ、当該クライアント端末の接続優先順位を設定するとともに、接続優先順位のデータを当該クライアント端末に送信する優先順位設定手段と、
接続優先順位が設定された前記クライアント端末に対し、所定時間経過後に前記サーバに対する接続要求を自動的に再度実行させる接続要求実行プログラムを送信するプログラム送信手段と、
前記サーバへの接続が可能となる毎に接続優先順位の最も高いクライアント端末に接続権を付与し、接続権が付与されたことが分かるように当該クライアント端末の接続優先順位のデータを保持する接続権付与手段と、
前記接続要求実行プログラムが実行されることにより前記クライアント端末から接続優先順位のデータを伴う前記接続要求を受けたとき、当該クライアント端末に接続権が付与されたことが分かるように当該接続優先順位のデータが保持されていれば、当該クライアント端末を前記サーバに接続させる接続管理手段と、を備え、
前記クライアント端末は、
前記サーバから送信された接続優先順位のデータに基づいて、接続優先順位情報を表示することを特徴とする接続受付システム。
【請求項２】
ネットワークに接続されるクライアント端末と、
前記ネットワークを介して前記クライアント端末からの接続要求を受け付けるサーバと、
前記クライアント端末からの要求に応じた処理を実行する他のサーバと、を備えた接続受付システムであって、
前記サーバは、
前記クライアント端末から前記他のサーバに対する接続要求を受けたときに、当該他のサーバへの接続ができなければ、当該クライアント端末の接続優先順位を設定するとともに、接続優先順位のデータを当該クライアント端末に送信する優先順位設定手段と、
接続優先順位が設定された前記クライアント端末に対し、所定時間経過後に前記他のサーバに対する接続要求を自動的に再度実行させる接続要求実行プログラムを送信するプログラム送信手段と、
前記他のサーバへの接続が可能となる毎に接続優先順位の最も高いクライアント端末に接続権を付与し、接続権が付与されたことが分かるように当該クライアント端末の接続優先順位のデータを保持する接続権付与手段と、
前記接続要求実行プログラムが実行されることにより前記クライアント端末から接続優先順位のデータを伴う前記接続要求を受けたとき、当該クライアント端末に接続権が付与されたことが分かるように当該接続優先順位のデータが保持されていれば、当該クライアント端末を前記他のサーバに接続させる接続管理手段と、を備え、
前記クライアント端末は、
前記サーバから送信された接続優先順位のデータに基づいて、接続優先順位情報を表示することを特徴とする接続受付システム。
【請求項３】
ネットワークを介してクライアント端末から自サーバ又は他のサーバに対する接続要求を受け付ける受付サーバであって、
前記接続要求に対し、当該接続要求における接続要求先のサーバへの接続の可否を判定する判定手段と、
前記判定手段による判定により接続を拒否するときに、前記クライアント端末の接続順位を設定し、接続順位のデータを当該クライアント端末に送信する接続順位設定手段と、
前記判定手段による判定により接続を拒否するときに、所定時間経過後に前記接続要求を自動的に再度実行させる接続要求実行プログラムを前記クライアント端末に送信するプログラム送信手段と、
前記接続要求先のサーバへの接続が可能となる毎に接続順位の最も高いクライアント端末に接続権を付与し、接続権が付与されたことが分かるように当該クライアント端末の接続順位のデータを保持する接続権付与手段と、
前記接続要求実行プログラムが実行されることにより前記クライアント端末から接続順位のデータを伴う前記接続要求を受けたときに、当該クライアント端末に接続権が付与されたことが分かるように当該接続順位のデータが保持されていれば、当該クライアント端末を前記接続要求先のサーバに接続させる接続管理手段と、
を備えることを特徴とする受付サーバ。
【請求項４】
前記接続要求実行プログラムに基づいて前記クライアント端末に前記接続要求を再度実行させるまでの時間間隔を、当該クライアント端末に設定した接続順位に基づき複数段階に設定することを特徴とする請求項３記載の受付サーバ。
【請求項５】
前記プログラム送信手段で送信する前記接続要求実行プログラムは、当該接続要求実行プログラムに基づいて前記クライアント端末に前記接続要求を再度実行させるまでの時間間隔のデータと、接続要求先を指定するためのデータとを含むことを特徴とする請求項３記載の受付サーバ。
【請求項６】
クライアント端末から自サーバ又は他のサーバに対する接続要求を受け付ける受付サーバであって、
接続可能なクライアント端末数を検出する接続可能数検出手段と、
前記接続可能なクライアント端末数が基準値以上のときには、前記接続要求をなしたクライアント端末を当該接続要求における接続要求先のサーバに接続させ、前記接続可能なクライアント端末数が基準値未満のときには当該クライアント端末の接続を拒否する判定手段と、
前記判定手段で前記クライアント端末の接続が拒否されたときに、当該クライアント端末の接続優先順位を設定し、接続優先順位のデータを当該クライアント端末に送信する優先順位設定手段と、
接続優先順位が設定された前記クライアント端末に対し、所定時間経過後に前記接続要求を自動的に再度実行させる接続要求実行プログラムを送信するプログラム送信手段と、
前記接続可能なクライアント端末数が基準値未満から基準値以上になったときに、接続優先順位の最も高いクライアント端末に接続権を付与し、接続権が付与されたことが分かるように当該クライアント端末の接続優先順位のデータを保持する接続権付与手段と、
接続権が付与されたことが分かるように保持されている接続優先順位のデータを伴う前記接続要求を前記クライアント端末から受けたときに、当該クライアント端末を前記接続要求先のサーバに接続させる接続許可手段と、
を備えることを特徴とする受付サーバ。
【請求項７】
前記優先順位設定手段で設定された接続優先順位に基づいて生成される接続待ち行列のデータを保持する接続待ち行列データ保持手段と、
前記接続権付与手段で接続権が付与された前記クライアント端末を識別するための接続優先順位のデータを保持する接続権データ保持手段と、を更に備え、
前記接続許可手段は、クライアント端末から接続要求を受けると前記接続権データ保持手段に保持された接続優先順位のデータを参照し、当該クライアント端末に対して接続権が付与されていることが確認されたときに、当該クライアント端末を前記接続要求先のサーバに接続させることを特徴とする請求項６記載の受付サーバ。
【請求項８】
前記優先順位設定手段で前記クライアント端末に対して設定した接続優先順位のデータを、クッキーのデータ中に含めて当該クライアント端末に送信することを特徴とする請求項６記載の受付サーバ。
【請求項９】
ネットワークを介してクライアント端末から自サーバ又は他のサーバに対する接続要求を受け付ける受付サーバにおける接続受付管理方法であって、
前記クライアント端末から前記接続要求を受ける段階と、
前記接続要求に対し、当該接続要求における接続要求先のサーバへの接続の可否を判定する段階と、
接続を拒否するときに、前記クライアント端末に接続優先順位を設定し、接続優先順位のデータを当該クライアント端末に送信する段階と、
接続優先順位が設定された前記クライアント端末に対し、所定時間経過後に前記接続要求を自動的に再度実行させる接続要求実行プログラムを送信する段階と、
前記接続要求先のサーバへの接続が可能となる毎に接続優先順位の最も高いクライアント端末に接続権を付与し、接続権が付与されたことが分かるように当該クライアント端末の接続優先順位のデータを保持する段階と、
前記接続要求実行プログラムが実行されることにより前記クライアント端末から接続優先順位のデータを伴う前記接続要求を受けたときに、当該クライアント端末に接続権が付与されたことが分かるように当該接続優先順位のデータが保持されているか否かを確認し、接続権が付与されたことが分かるように当該接続優先順位のデータが保持されていれば当該クライアント端末を前記接続要求先のサーバに接続させる段階と、
を含むことを特徴とする接続受付管理方法。
【請求項１０】
接続優先順位に基づいて接続待ち行列を生成し、生成された接続待ち行列のデータを保持する段階と、
接続権が付与された前記クライアント端末を識別するための接続優先順位のデータを保持する段階と、を更に備え、
クライアント端末から前記接続要求を受けたときに、前記接続権が付与されたクライアント端末を識別するための接続優先順位のデータを参照し、当該クライアント端末に対して接続権が付与されていることが確認された場合に当該クライアント端末を前記接続要求先のサーバに接続させることを特徴とする請求項９記載の接続受付管理方法。
【請求項１１】
前記クライアント端末に対して設定した接続優先順位のデータを、クッキーのデータ中に含めて当該クライアント端末に送信する段階、を更に備えることを特徴とする請求項９記載の接続受付管理方法。
【請求項１２】
クライアント端末から自サーバ又は他のサーバに対する接続要求を受け付ける受付サーバに実行させるプログラムを、当該受付サーバが読み取り可能に記憶した記憶媒体において、
前記プログラムは、
前記接続要求を受けたときに、当該接続要求における接続先のサーバに接続可能か否かを判定する判定処理と、
接続を拒否するときに、前記クライアント端末に接続優先順位を設定し、接続優先順位のデータを当該クライアント端末に送信する優先順位設定処理と、
接続優先順位が設定された前記クライアント端末に対し、所定時間経過後に前記接続要求を自動的に再度実行させる接続要求実行プログラムを送信するプログラム送信処理と、
前記接続要求先のサーバへの接続が可能となる毎に接続優先順位の最も高いクライアント端末に接続権を付与し、接続権が付与されたことが分かるように当該クライアント端末の接続優先順位のデータを保持する接続権付与処理と、
前記接続要求実行プログラムが実行されることにより前記クライアント端末から接続優先順位のデータを伴う前記接続要求を受けたときに、当該クライアント端末に接続権が付与されたことが分かるように当該接続優先順位のデータが保持されているか否かを確認する接続権確認処理と、
前記接続権確認処理で接続権が付与されたことが分かるように前記接続順位のデータが保持されていることが確認されれば、前記クライアント端末を前記接続要求先のサーバに接続させるためのデータを当該クライアント端末に送信する接続許可処理と、
を前記受付サーバに実行させることを特徴とする記憶媒体。
【請求項１３】
前記プログラムは、
前記優先順位設定処理にて前記クライアント端末に対して設定した接続優先順位のデータを当該クライアント端末に送信する送信処理を、更に前記受付サーバに実行させることを特徴とする請求項１２記載の記憶媒体。
【請求項１４】
前記プログラム送信処理にて送信する接続要求実行プログラムは、前記クライアント端末に前記接続要求を再度実行させるまでの時間間隔を、当該クライアント端末に設定された接続優先順位に基づき複数段階に設定されることを特徴とする請求項１２記載の記憶媒体。
【請求項１５】
クライアント端末から自サーバ又は他のサーバに対する接続要求を受け付ける受付サーバに実行させるコンピュータプログラムであって、
前記クライアント端末から前記接続要求を受けたときに、当該接続要求における接続先のサーバに接続可能か否かを判定する判定処理と、
接続を拒否するときに、前記クライアント端末に接続優先順位を設定し、接続優先順位のデータを当該クライアント端末に送信する処理と、
接続優先順位が設定された前記クライアント端末に対し、所定時間経過後に前記接続要求を自動的に再度実行させる接続要求実行プログラムを送信する処理と、
前記接続要求先のサーバへの接続が可能となる毎に接続優先順位の最も高いクライアント端末に接続権を付与し、接続権が付与されたことが分かるように当該クライアント端末の接続優先順位のデータを保持する処理と
前記接続要求実行プログラムが実行されることにより前記クライアント端末から接続優先順位のデータを伴う前記接続要求を受けたときに、当該クライアント端末に接続権が付与されたことが分かるように当該接続優先順位のデータが保持されているか否かを確認し、保持されていることを確認されれば当該クライアント端末を前記接続要求先のサーバに接続させるためのデータを当該クライアント端末に送信する処理と、
を前記受付サーバに実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、クライアント端末からの接続要求をサーバで受け付ける接続受付システム、受付サーバ、接続受付管理方法等に関する。
【０００２】
【従来の技術】
近年、インターネットやローカルエリアネットワーク（ＬＡＮ）等のネットワークが普及しているのは周知の通りである。そして、これらのネットワークを介して、サーバはクライアント端末から要求された様々な処理を実行するようになっている。
このようなサーバの処理許容能力には、ＣＰＵの処理能力、入出力インターフェイス部分におけるデータ転送容量、様々なデータを格納するデータベースとの間でのデータ転送容量、同時に複数の処理を実行するための単位となるスレッドの数、各スレッドでの処理に際して使用するヒープメモリの容量等によって、物理的な限度がある。
したがって、ネットワークを介して、複数のクライアント端末から平行して処理の要求がなされた場合等において、要求された処理のトランザクション量がサーバのシステム許容能力を超えてしまうことがある。その結果、サーバにおいて、適正な応答時間で処理を行なうことが困難になったり、さらにはクライアント端末からの要求を正常に処理することができなくなることもある。
【０００３】
このため従来より、サーバ側において、接続できるクライアント端末数を制限し、制限された以上のクライアント端末からの接続要求があった場合には、接続を拒否するような処理を行なっている。制限以上の接続要求を拒否することによって、サーバにおいて、接続が成立したクライアント端末から要求された処理を実行するための一定の処理能力を常に確保するのである。
【０００４】
【発明が解決しようとする課題】
しかしながら、上記のようにサーバ側で接続できるクライアント端末数を制限した場合、接続を拒否されたクライアント端末側は、接続が成立するまで、ユーザが接続要求を連続的（試行錯誤的）に繰り返すことが多い。このため結果的には、実際に接続を要求しているクライアント端末数よりも遥かに多い接続要求をサーバが受けることになる。しかも、サーバ側においては、クライアント端末からの接続要求に対し接続を拒否する場合も、実際にはその拒否処理にスレッドを使用するため、負荷が生じている。したがって、例えば商品の予約受付を予め設定された時間に開始する場合等において、多数のクライアント端末からの予約処理の要求がサーバに殺到すると、拒否処理に非常に大きな負荷がかかることになる。その結果、既に接続が成立しているクライアント端末に対しての処理の応答時間さえも遅くなったり、要求を正常に処理することができなくなることもあり、問題の完全な解決には至っていないのが現状である。
また、あるクライアント端末で接続要求を繰り返している途中で、サーバ側で接続に瞬間的に空きが生じたとき、後から接続要求を開始した他の端末が、偶然その空きのタイミングに接続要求を行なって先にサーバに接続されてしまうことも多々あり、厳密な先着順での接続管理を行なうことが不可能であるのが現状である。
【０００５】
本発明は、このような技術的課題に基づいてなされたもので、サーバの負荷を軽減するとともに、先着順での接続管理を厳密に行なうことのできる接続受付システム、受付サーバ、接続受付管理方法等を提供することを目的とする。
【０００６】
【課題を解決するための手段】
かかる目的のもと、本発明の接続受付システムは、クライアント端末から第１の接続要求を受けたときに、サーバは、クライアント端末の接続優先順位を設定するとともに、接続優先順位のデータをクライアント端末に送信する。そして、クライアント端末から第１の接続要求以降になされた第２の接続要求を受けたときに、サーバは、接続優先順位の高い順にクライアント端末の接続を許可する。一方、クライアント端末は、サーバから送信された接続優先順位のデータに基づいて接続優先順位情報を表示する。このようにして、サーバでは、クライアント端末からの接続要求を、接続優先順位の高い順に受け付ける。
ここで、サーバは、クライアント端末から第１の接続要求を受けたときに、接続を許可できない状態であった場合のみ接続優先順位を設定し、接続を許可できる状態である場合には、接続優先順位を設定せずにそのまま接続を許可することも可能である。また、クライアント端末から第１の接続要求を受けた時点で、接続を許可できるか否かに関わらず、無条件で接続優先順位を設定し、これに基づいた接続管理を行なうこともできる。
また、第２の接続要求とは、相対的に第１の接続要求以降になされたものであれば良く、例えばクライアント端末からなされた「１回目」の接続要求を第１の接続要求とするならば、「２回目」はもちろん、「３回目以降」の接続要求も第２の接続要求として捉えることができる。したがって、サーバで接続が受け付けられない状態のときにクライアント端末からの接続要求を拒否する構成とする場合、接続が許可された時点での接続要求を第２の接続要求として捉えることにより、本発明が成立する。
ところで、サーバで設定する接続優先順位は、整理番号や接続順位を示す文字列や数字列、あるいは他の記号等で示すことができる。
この他、クライアント端末からサーバに対してなされる接続要求は、当該サーバに対する接続要求であっても良いし、また、クライアント端末からの要求に応じた処理を実行する他のサーバを更に備える場合には、当該他のサーバに対する接続要求とすることもできる。この場合、サーバの接続管理手段でクライアント端末の接続を許可したときには、クライアント端末を他のサーバに接続させれば良い。
【０００７】
本発明は、クライアント端末から第１の接続要求を受けたときに、クライアント端末の接続順位を設定する接続順位設定手段と、クライアント端末から第１の接続要求以降に第２の接続要求を受けたときに、接続順位の高い順にクライアント端末の接続を許可する接続管理手段と、を備える受付サーバとして捉えることもできる。
また、受付サーバや他のサーバに接続可能なクライアント端末数を監視するカウンタ等の接続数監視手段を更に備えても良く、このときには、接続可能なクライアント端末数が、新たなクライアント端末の接続の受け付けが可能な状態となって以降、つまり接続対象となる受付サーバあるいは他のサーバに空きが出てから、接続順位が最も高いクライアント端末に対し接続を許可することができる。
【０００８】
ところで、本発明の受付サーバは、クライアント端末からの接続要求を拒否するときに、接続要求を自動的に再度実行させるプログラムを送信することもできる。さらに、このプログラムに基づいてクライアント端末に再度実行させた接続要求を受けたときに、クライアント端末に対して設定した接続順位に基づいてクライアント端末の接続を許可するようにしても良い。ここで、前記プログラムは、クライアント端末に接続要求を再度実行させるまでの時間間隔のデータと、接続要求先、つまり受付サーバを指定するためのデータとを含むことができる。
また、クライアント端末に接続要求を再度実行させるまでの時間間隔は、受付サーバ側でクライアント端末に設定した接続順位に基づき複数段階に設定することも可能である。例えば、接続順位が高いクライアント端末に比べ、接続が許可されるまでに時間がかかる接続順位の低いクライアント端末は、接続要求を行なうまでの時間間隔を長くすることができる。これにより、受付サーバ全体で受ける接続要求の頻度を下げることができる。ここで言うまでも無いが、設定する時間間隔は複数段階、つまり全体として２段階以上であれば何段階としても良い。
【０００９】
本発明の受付サーバは、接続可能なクライアント端末数を検出し、これが基準値以上のときには、接続要求をなしたクライアント端末の接続を許可し、基準値未満のときにはクライアント端末の接続を拒否して、このクライアント端末の接続優先順位を設定する。この後、接続可能なクライアント端末数が基準値以上になったときに接続優先順位の最も高いクライアント端末に対して接続権を付与する。そして、接続権が付与されたクライアント端末から接続要求を受けたときには、このクライアント端末の接続を許可するようになっている。
このような受付サーバは、より具体的には、設定された接続優先順位に基づいて接続待ち行列を生成し、この接続待ち行列のデータを接続待ち行列データ保持手段で保持し、接続権が付与されたクライアント端末を識別するデータを接続権データ保持手段で保持する。ここで、行列データ保持手段と接続権データ保持手段は別々に独立して設けても良いが、同一の行列に、接続待ち行列中のクライアント端末と接続権が付与されたクライアント端末を区別するインデックスやステイタス情報を付与することによって、行列データ保持手段と接続権データ保持手段を構成しても良い。
そして、クライアント端末から接続要求を受けたときには、接続権データ保持手段に保持されたデータを参照し、クライアント端末に対して接続権が付与されていることが確認された場合に、クライアント端末の接続を許可すればよい。
なお、クライアント端末に対して設定する接続優先順位の情報は、受付サーバからクライアント端末に送信されるクッキー（Cookie）のデータ中に含めることができる。クッキーを用いることにより、クライアント端末でブラウザウインドウを閉じてしまった場合等にも、接続優先順位の情報は保持される。また、この接続優先順位は、クッキー以外の他の形態とすることも可能である。
【００１０】
このように、本発明は、外部のクライアント端末からサーバへの接続要求を受ける段階と、接続要求に対しサーバへの接続の可否を判定する段階と、接続を拒否するときにクライアント端末に対し接続優先順位を設定する段階と、サーバへの接続が可能となる毎に接続優先順位の最も高いクライアント端末に対し接続権を付与する段階と、接続優先順位が設定されたクライアント端末から接続要求がなされたときに、当該クライアント端末に接続権が付与されていればサーバへの接続を許可する段階と、を含むことを特徴とする接続受付管理方法として捉えることもできる。
また、本発明は、上記のような処理をクライアント端末からの接続要求を受け付けるコンピュータ装置に実行させるプログラム、あるいは当該プログラムをコンピュータ装置が読み取り可能に記憶した記憶媒体として捉えることもできる。このとき、このプログラムは、クライアント端末に対して設定した接続優先順位のデータ、およびクライアント端末に所定時間経過後に再度接続要求を実行させるための接続要求実行プログラムを、当該クライアント端末に送信する処理を更にコンピュータ装置に実行させるようにしても良い。
【００１１】
この他、本発明は、クライアント端末からの接続要求を受け、接続を拒否するときに、接続要求を再度実行させる接続要求実行プログラムをクライアント端末に送信する処理をコンピュータ装置に実行させるプログラム、あるいは当該プログラムをコンピュータ装置が読み取り可能に記憶した記憶媒体として捉えることもできる。
【００１２】
【発明の実施の形態】
以下、添付図面に示す実施の形態に基づいてこの発明を詳細に説明する。
図１は、本実施の形態における接続受付システムの概略構成を説明するための図である。この図１において、符号１０はインターネットやＬＡＮ等のネットワーク、２０はユーザが使用するクライアント端末、３０は複数のクライアント端末２０からの接続要求を受け付ける受付サーバ（サーバ）、４０は受付サーバ３０で接続要求の受け付けが完了したクライアント端末２０からの要求を受けて所定の処理を実行するアプリケーションサーバ（他のサーバ）である。
ここで、各クライアント端末２０は、ＰＣ（Personal Computer）等からなり、受付サーバ３０やアプリケーションサーバ４０から送信されたデータを受信する機能（手段）、受付サーバ３０やアプリケーションサーバ４０への接続を実行する機能（手段）、受付サーバ３０やアプリケーションサーバ４０から送信されたデータを表示するブラウザ機能を備えている。
【００１３】
受付サーバ３０は、クライアント端末２０からの接続要求を受け、接続の管理処理を実行する接続管理部３１、アプリケーションサーバ４０に対して同時に接続できる最大接続数が設定された最大接続数設定カウンタ３２、アプリケーションサーバ４０に接続されているクライアント端末２０の数を示す接続数カウンタ３３、アプリケーションサーバ４０に対しての接続を受付可能なクライアント端末２０の数を示す接続可能数カウンタ（接続数監視手段、接続可能数検出手段）３４を備えている。ここで、「接続可能数カウンタ３４の値」＝「最大接続数設定カウンタ３２の値」−「接続数カウンタ３３の値」−「接続権獲得済プール部３６に整理番号が存在するクライアント端末２０の数（後述）」の関係が成り立つようになっている。
接続管理部３１は、接続管理手段、判定手段として機能し、クライアント端末２０からの接続要求に対し、接続可能数カウンタ３４のカウンタ値に基づいて、接続の可否を管理する。接続可能数カウンタ３４のカウンタ値が基準値の「１」以上であればクライアント端末２０のアプリケーションサーバ４０に対する接続を許可し、基準値未満の「０」であれば、接続を拒否するのである。
【００１４】
また、接続管理部３１では、優先順位設定手段、接続順位設定手段として、接続を拒否するクライアント端末２０に対し、第１回目の接続要求（第１の接続要求）があったときに接続優先順位を決めるための整理番号を付与し、付与後はこの整理番号に基づいた接続順序の管理を行なう。この管理を行なうために、受付サーバ３０には、接続待ち行列データ保持部（接続待ち行列データ保持手段）３５と、接続権獲得済プール部（接続権データ保持手段）３６とが設けられている。本実施の形態では、これら接続待ち行列データ保持部３５および接続権獲得済プール部３６は、受付サーバ３０を制御するプログラムを記述しているＪａｖａのメモリ領域上に設定されている。
接続管理部３１では、クライアント端末２０に対して付与した整理番号に基づき、整理番号順に整列させた接続待ち行列Ｂを生成し、そのデータを接続待ち行列データ保持部３５に保持させる。また、アプリケーションサーバ４０側がクライアント端末２０からの接続要求を受け付けることが可能な状態（接続可能数カウンタ３４のカウンタ値が「１以上」）となった時点で、接続管理部３１は接続権付与手段として機能し、接続待ち行列Ｂ中、接続優先順位の最も高い整理番号のデータを接続待ち行列データ保持部３５から接続権獲得済プール部３６に移動させる。これにより接続権獲得済プール部３６に整理番号のデータがあるクライアント端末２０を、接続権が付与されたクライアント端末２０として識別することができる。そして、クライアント端末２０から第２回目以降の接続要求（第２の接続要求）があったときに、当該クライアント端末２０に対応する整理番号が接続権獲得済プール部３６に存在する場合、接続管理部３１は、接続許可手段として、アプリケーションサーバ４０に対する接続を許可するのである。
さらに、接続管理部３１は、プログラム送信手段として、整理番号を付与したクライアント端末２０に対し、所定時間経過後にクライアント端末２０から受付サーバ３０に接続要求を再度実行させるプログラム（接続要求実行プログラム）のデータを送信する。
【００１５】
次に、上記したような構成からなる受付サーバ３０における受付処理について、図２〜図９を参照しつつ、詳細に説明する。
受付サーバ３０では、ネットワーク１０を介してクライアント端末２０から接続要求を受信したとき、接続可能数カウンタ３４を参照し、カウンタ値が「１以上」であるか否かを確認する（ステップＳ１０１：判定処理）。その結果、カウンタ値が「１以上」である場合、クライアント端末２０からの接続要求を受け付け（ステップＳ１０２）、接続数カウンタ３３のカウンタ値（現在の接続数）を「１」加算する（ステップＳ１０３）。
そして、接続管理部３１は、クライアント端末２０に対し、アプリケーションサーバ４０への接続を許可し、アプリケーションサーバ４０に接続するためのＵＲＬ（Uniform Resource Locators：接続要求先を指定するためのデータ）を含んだデータをクライアント端末２０に送信する。これを受けたクライアント端末２０では、図１に示したアプリケーションサーバ４０の接続管理部４１にログイン（接続）し、アプリケーションプログラムに基づいた処理を実行するアプリケーション処理部４２に対し、所定の処理を要求する（ステップＳ１０４）。
【００１６】
ところで、上記ステップＳ１０１にて、接続可能数カウンタ３４のカウンタ値が「１以上」ではない場合、つまりカウンタ値が「０」の場合、整理番号発行処理（ステップＳ２００：優先順位設定処理）に移行する。
図３に示すように、整理番号発行処理においては、受付サーバ３０の接続管理部３１にて、クライアント端末２０に対し、接続優先順位を示す整理番号を発行する（ステップＳ２０１）。発行する整理番号は、受付サーバ３０側においてクライアント端末２０の接続優先順位を識別できればよく、本実施の形態では、例えば西暦（Ｙ）、月（Ｍ）、日（Ｄ）、当日連番で順次発行する番号（＃ｎ）からなる「ＹＹＹＹＭＭＤＤ＃ｎ」という形式としている。
接続管理部３１では、発行した整理番号を、接続待ち行列データ保持部３５に保持させた接続待ち行列Ｂに加える（ステップＳ２０２）。
【００１７】
続くステップＳ２０３では、受付サーバ３０は、接続管理部３１で発行された整理番号のデータを、クライアント端末２０に対して返信する。このときには、受付サーバ３０は、整理番号を示す文字列のデータをクッキー（Cookie）として、クライアント端末２０に送付する。これとともに、受付サーバ３０は、クライアント端末２０からの接続要求に対する応答画面を当該クライアント端末２０のブラウザ画面に表示させるためのデータを返信する。
クライアント端末２０のブラウザ画面に表示させるためのデータとしては、本実施の形態では、例えば図４に示すようなＨＴＭＬ（Hypertext Markup Language）で記述されたデータを返信する。このデータに基づき、クライアント端末２０のブラウザ画面に、「ただ今、混み合っています」、「あなたは（$QueueSize）人中（$Order）番目にログインできます。」、「あなたの整理番号は、（$DTX_Ticket）です。」といったメッセージ（接続優先順位の情報）を表示させる。ここで、$QueueSizeは、接続待ち行列データ保持部３５に存在する接続待ち行列Ｂのサイズ（接続待ちしているクライアント端末２０の数）、$Orderは、接続待ち行列Ｂ内での接続優先順位、$DTX_Ticketはクッキーにより付与された整理番号であり、実際のブラウザ画面には、受付サーバ３０側から出力した数字列等が表示される。図５は、このようなメッセージを表示する手段であるブラウザ画面の表示例を示すものである。
【００１８】
また、図４に示した、受付サーバ３０から返信したデータのうち、図４中（イ）の部分のソースコードに基づき、クライアント端末２０に、このデータをロードしてから（onload）、所定時間（＄Interval）後に受付サーバ３０に対する再接続要求（requestConnect）の処理を実行させる。ここで、「＄Interval」は、後述の如く受付サーバ３０側で設定される数値である。また、「'requestConnect()'」の処理は、図４中（ロ）の部分のソースコードに示されるように、接続要求先を指定するためのデータである「/servlet/ConnectServlet」（受付サーバ３０のＵＲＬ（Uniform Resource Locators）の一例）に対し、接続（connect）を要求する処理である。
このようにして、受付サーバ３０は、前記ステップＳ２０３において、クライアント端末２０に対し、受付サーバ３０が設定した時間（＄Interval）が経過した後に、受付サーバ３０に対する接続要求を自動的に実行させるプログラムを送信するのである（送信処理、プログラム送信処理）。これにより、受付サーバ３０に対しては、整理番号を付与したクライアント端末２０から、所定時間経過後に接続要求が再度自動的に行なわれるようになっている。
【００１９】
さて、受付サーバ３０では、前記したように、クライアント端末２０に接続要求を自動的に実行させるためのデータを送信するに際し、接続要求を実行するまでの設定時間（＄Interval）を設定する。この設定時間は、クライアント端末２０に対して発行した整理番号の、接続待ち行列データ保持部３５の接続待ち行列Ｂにおける接続優先順位に基づいて複数段階に設定される。例えば、接続待ち行列データ保持部３５の接続待ち行列Ｂ中で、接続優先順位が１番目〜１０番目の整理番号に対しては、設定時間（＄Interval）を１０秒、１１番目〜５０番目の整理番号に対しては設定時間（＄Interval）を３０秒、５１番目〜１００番目の整理番号に対しては設定時間（＄Interval）を６０秒に設定する。
また、接続待ち行列データ保持部３５の接続待ち行列Ｂにおいて予め設定した最大待ち行列のサイズに達している場合、例えば、受付サーバ３０にて整理番号を発行せず、クライアント端末２０に対し、図６に示すような表示画面を表示させるデータを返信するようにしても良い。この場合、クライアント端末２０に対して、接続要求を自動再送信させるためのプログラムは送信されず、当該クライアント端末２０では接続要求を手動で繰り返すことになる。
なおここで、設定時間の段階数、各段階の設定時間の長さ、各段階の閾値となる優先順位は、上記に挙げた数値に何ら限定する意図は無い。また、受付サーバ３０の処理能力によっては、整理番号を発行せずに図６に示すような表示画面を表示させるのではなく、全てのクライアント端末２０に対して整理番号および接続要求の自動再送信用のプログラムを送信しても良い。
【００２０】
さて、図７に示すように、既にアプリケーションサーバ４０に接続しているクライアント端末２０が、その接続を切断した場合、アプリケーションサーバ４０は、当該アプリケーションサーバ４０に対する接続権が１つ解放されたことを受付サーバ３０に通知する。受付サーバ３０において、この接続権解放通知を受け取ると、まず、接続待ち行列データ保持部３５を参照し、接続待ち行列Ｂの有無を確認する（ステップＳ３０１）。
その結果、接続待ち行列Ｂが無ければ、接続数カウンタ３３のカウンタ値（現在の接続数）を「１」減算するとともに、接続可能数カウンタ３４のカウンタ値を「１」加算する（ステップＳ３０２）。
一方、接続待ち行列Ｂが有る場合、接続数カウンタ３３のカウンタ値（現在の接続数）を「１」減算するとともに、接続待ち行列Ｂのうち、接続優先順位の最も高い整理番号を、接続権獲得済プール部３６に移動させる。これにより、接続権獲得済プール部３６に整理番号が移動したクライアント端末２０には、接続権が付与されたことになる。（ステップＳ３０３：接続権付与処理）。なお、当然のことながら、接続権獲得済プール部３６に移動した整理番号は接続待ち行列Ｂから消滅し、接続待ち行列Ｂ中において各整理番号は接続優先順位が１繰り上がる。
【００２１】
上記のような処理を受付サーバ３０で行なう一方、図３のステップＳ２０３にて送信したデータ（図４参照）に基づき、クライアント端末２０からは所定時間経過後に、受付サーバ３０に対する再接続要求が自動的に実行される。この再接続要求時には、受付サーバ３０からクライアント端末２０に送信された整理番号を示すクッキーのデータが添付されて、受付サーバ３０に送信される。
受付サーバ３０は、クライアント端末２０から、この再接続要求を受信すると、まず、図８に示すように、接続管理部３１にて、再接続要求に添付されたクッキーのデータの文字列中に含まれる整理番号を取得し、その整理番号が、接続権獲得済プール部３６に有るか否かを確認する（ステップＳ４０１：接続権確認処理）。
その結果、整理番号が接続権獲得済プール部３６に存在する場合、クッキーのデータからクライアント端末２０を特定し、このクライアント端末２０のアプリケーションサーバ４０に対する接続を許可する。そして、アプリケーションサーバ４０に接続するためのＵＲＬ（Uniform Resource Locators）を含んだデータをクライアント端末２０に送信し、クライアント端末２０を、アプリケーションサーバ４０の接続管理部４１にログイン（接続）させる（ステップＳ４０２：接続許可処理）。
そして、接続権獲得済プール部３６から、上記整理番号を消去するとともに（ステップＳ４０３）、接続数カウンタ３３のカウンタ値（現在の接続数）を「１」加算する（ステップＳ４０４）。
【００２２】
一方、ステップＳ４０１にて、整理番号が、接続権獲得済プール部３６に無い場合、接続管理部３１は、クライアント端末２０に対し、図４に示したのと同様の、受付サーバ３０に対する接続要求の自動再送信用のデータを送信する（ステップＳ４０５）。もちろん、送信するデータ中、$QueueSize、$Order、$DTX_Ticket、＄Interval等のデータは、その時点での接続待ち行列データ保持部３５の接続待ち行列Ｂの状況に応じた数値が設定される。
これにより、ステップＳ４０５で送信された自動再送信用のデータに基づき、クライアント端末２０に対し、所定時間（＄Interval）経過後に受付サーバ３０に対する接続要求を自動再送信させることができる。
【００２３】
ところで、クライアント端末２０側においては、図３のステップＳ２０３、図８のステップＳ４０５で受付サーバ３０から送信されたデータ（図４参照）に基づき、図５に示したように、ブラウザ画面上にキャンセルボタンＡが表示される。このキャンセルボタンＡがクライアント端末２０にて操作されたときには、図４中（ハ）に示すように、「cancelRequest」の処理が実行される。ここで、「cancelRequest」の処理は、図４中（ニ）の部分のソースコードに示されるように、受付サーバ３０（/servlet/ConnectServlet：ＵＲＬの一例）に対し、整理番号のキャンセル（cancel）を要求する処理である。このときには、キャンセルの要求とともに、受付サーバ３０から受け取ったクッキーを添付して受付サーバ３０に送信する。
このキャンセルの要求を受けた受付サーバ３０では、クッキーから得られる整理番号を、接続待ち行列データ保持部３５から消去する。
【００２４】
また、受付サーバ３０側においても、図９に示すように、接続待ち行列データ保持部３５のデータを管理しており、予め設定した時間が経過する毎（ステップＳ５０１）に、接続待ち行列データ保持部３５に保持された接続待ち行列Ｂ中の整理番号に対応したクライアント端末２０から、再接続要求が有ったか否かを確認する（ステップＳ５０２）。
その結果、再接続要求が有れば、ステップＳ５０１に戻り、同様の処理を繰り返す。一方、例えば、クライアント端末２０側でブラウザを閉じる等して、設定時間内に再接続要求が無い場合、接続待ち行列データ保持部３５から、該当する整理番号を消去する（ステップＳ５０３）。
【００２５】
上述したようにして、受付サーバ３０は、ネットワーク１０を介してクライアント端末２０からなされるアプリケーションサーバ４０への接続要求を受け付け、第１回目の接続要求の際にクライアント端末２０に対して整理番号を発行し、この整理番号に基づいてアプリケーションサーバ４０への接続優先順位を管理するようになっている。また、受付サーバ３０は、クライアント端末２０に対して整理番号を発行する際に、所定時間経過後に再接続要求を自動的に実行させるプログラムを送信するようにした。そして、クライアント端末２０が再接続要求を実行した際に、接続権が獲得されていれば自動的にアプリケーションサーバ４０に接続することができ、接続権が獲得できていなければ、再び所定時間経過後に再接続要求を繰り返すようになっている。
これにより、クライアント端末２０側から試行錯誤的に接続要求を繰り返す必要が無くなるので、受付サーバ３０側の負荷を軽減し、処理を確実かつ迅速に行なうことが可能となり、また厳密な先着順での接続管理が行なえる。
【００２６】
加えて、受付サーバ３０では、接続待ち行列Ｂ中の接続優先順位に応じて、再接続要求までの時間設定を複数段階に変え、接続優先順位の低いクライアント端末２０において再接続要求までの時間間隔を接続優先順位の高いものに比較して長く設定したので、全体として接続要求を受ける頻度を抑えることができ、更に受付サーバ３０側の負荷を軽減することができる。
また、受付サーバ３０とアプリケーションサーバ４０を独立して設ける構成とし、アプリケーションサーバ４０には、受付サーバ３０にて接続が許可されたクライアント端末２０のみが接続されるようにしたので、アプリケーションサーバ４０側においては、接続要求に対応する処理を一切負担する必要が無く、本来の処理の効率を従来よりも大幅に向上させることが可能となる。
【００２７】
これ以外にも、受付サーバ３０から送信されたデータに基づき、クライアント端末２０のブラウザ画面には、接続待ち行列Ｂ中の接続優先順位、整理番号等の情報を表示させるようにしたので、ユーザは接続までの状況を把握することが可能となる。
このとき、受付サーバ３０では、アプリケーションサーバ４０における平均処理時間等に基づき、接続権獲得までの待ち時間を予測すれば、これをクライアント端末２０のブラウザ画面に表示させることも可能である。
【００２８】
なお、上記実施の形態では、整理番号等の情報をクライアント端末２０のブラウザ画面に表示させるようにしたが、もちろんその情報の内容は適宜変更することも可能であるし、また、これらの情報を表示させないようにすることも可能である。
また、整理番号は、受付サーバ３０側でクライアント端末２０の接続優先順位を特定できるのであれば、いかなるものであっても良く、例えば、年・月・日に加えて時刻をそのまま整理番号に盛り込んでも良いし、また数字列では無く、文字列等とすることも可能である。
ところで、受付サーバ３０は、クライアント端末２０に対して整理番号をクッキーの形態で発行するようにしたが、これに代えて、受付サーバ３０からクライアント端末２０に送信するＨＴＭＬのデータに含まれるヒドゥン（Hidden）データや整理番号を埋め込んだＵＲＬ等、受付サーバ３０へ送信可能なデータとして、またはＪａｖａＳｃｒｉｐｔやＶＢＳｃｒｉｐｔ等のＳｃｒｉｐｔ言語を利用して送信データを生成するプログラムの一部として、または送信データを生成するプログラムが参照するデータとして送信することも可能である。この場合、図１０（ａ）に示すように、同一のクライアント端末２０で、複数のブラウザウインドウを開き、それぞれのブラウザ画面上で受付サーバ３０に対して接続要求を実行すれば、複数の整理番号の発行を受けることができる（クッキーの場合、図１０（ｂ）に示すように、ブラウザウインドウを複数用いても、取得できる整理番号は１つのみとなる）。ただし、ヒドゥンデータを用いる場合、ブラウザウインドウを閉じたり、ブラウザウインドウを他のドキュメントで上書きしてしまうと、整理番号のデータが失われてしまう。これに対し、上記実施の形態で示したようなクッキーを用いれば、クッキーの有効期限が切れない限り整理番号が失われることは無い。
【００２９】
また、受付サーバ３０からクライアント端末２０に対して、再接続要求を自動的に実行させるためのデータをＨＴＭＬの形態で送信する構成としたが、これ以外の、例えばＸＭＬ（Extensible Markup Language）等、他の言語またはデータ形式を用いても良い。より具体的には、例えばクライアント端末２０としてアプレット等のブラウザ内で動作可能なプログラムを利用するケース、および受付サーバ３０と通信するブラウザ以外のプログラムを利用するケースにも上記実施の形態は適用可能であり、その場合受付サーバ３０からクライアント端末２０に送信されるデータはＨＴＭＬやＸＭＬのような言語で記述されたデータではなくアプリケーション固有のデータとして送信することもできる。
【００３０】
この他、上記実施の形態では、接続待ち行列データ保持部３５で接続待ち行列Ｂのデータを保持し、接続権獲得済プール部３６で接続権を獲得した整理番号のデータを保持するようにしたが、これを図１１に示すように、単一の行列で管理することも可能である。すなわち、接続優先順位の高い順に行列Ｃを生成しておき、接続権獲得済みのグループと、接続待ち行列Ｂとの境界に、接続待ち行列Ｂの先頭を示すインデックスＩを付与するようにしても良い。この場合、管理を単一の行列のみで行なうことが可能となる。
また、図１２に示すように、図１１と同様に接続優先順位の高い順に行列Ｄを生成し、各整理番号に対して、接続権の有無を示すステイタス情報を付与することも可能である。
この他、上記実施の形態では、接続待ち行列データ保持部３５および接続権獲得済プール部３６をＪａｖａのメモリ領域上に設定する構成としたが、これらで保持するデータを、データベースに格納することも可能である。また、図１１あるいは図１２に示した行列Ｃ、Ｄのデータについても、同様にデータベースに格納することが可能である。しかしながら、データベースを利用する場合、データベースに対するデータの読み出し・書き込みを行なう必要があるため、Ｊａｖａのメモリ領域上にデータを保持する場合に比較し、パフォーマンスが低くなることもある。なお、プログラムが利用するメモリ領域上にデータを保持する構成とする場合、プログラミング言語としてＪａｖａ以外の言語を利用しても良い。
【００３１】
また、受付サーバ３０は、上記実施の形態で示したような機能を実現できるのであれば、いかなる構成であっても良い。例えば、従来より多用されていたＣＧＩ（Common Gateway Interface）を採用しても良いし、それよりもパフォーマンス向上が見込めるサーブレットを採用することもできる。
さらに、受付サーバ３０とアプリケーションサーバ４０を構成として挙げたが、これらは機能的に別体であれば、実体としては１台のサーバで実現することも可能である。さらに、全体的な処理能力を向上させるために、一つの受付サーバ３０に対し複数のアプリケーションサーバ４０を設けても良い。また、受付サーバ３０とアプリケーションサーバ４０を一対とし、これらを複数組設けることも可能である。ただしこの場合は、各組で独立して整理番号管理を行ない、クライアント端末２０も同一の組の受付サーバ３０に接続要求を出す必要がある。これに対し、受付サーバ３０から、整理番号を生成する機能と接続待ち行列データ保持部３５と接続権獲得済プール部３６とを独立させて新たなサーバを構成し、このサーバに対し複数の受付サーバ３０と複数のアプリケーションサーバ４０を接続するようにすれば、システム全体としての処理能力を向上させつつ、新たなサーバで整理番号管理を一元して行なうこともできる。
【００３２】
また、上記実施の形態で示したような、接続要求を受けたときに整理番号を発行し、この整理番号に基づいた接続管理を実行させるプログラム、さらに、接続要求を自動再送信させるデータをクライアント端末２０に送信するプログラム、その際に自動再送信するまでの時間間隔を複数段階に異ならせて設定するプログラム等は、以下のような記憶媒体、プログラム伝送装置の形態とすることもできる。
すなわち、記憶媒体としては、コンピュータ装置に実行させる上記したようなプログラムを、ＣＤ−ＲＯＭ、ＤＶＤ、メモリ、ハードディスク等の記憶媒体に、コンピュータ装置が読み取り可能に記憶させれば良い。
また、プログラム伝送装置としては、上記したようなプログラムを記憶させたＣＤ−ＲＯＭ、ＤＶＤ、メモリ、ハードディスク等の記憶手段と、この記憶手段から当該プログラムを読み出し、当該プログラムを実行する装置側に、コネクタ、あるいはインターネットやＬＡＮ等のネットワークを介して当該プログラムを伝送する伝送手段とを備える構成とすれば良い。このようなプログラム伝送装置は、特に、受付サーバ３０等に、上記したような処理を行なうプログラムをインストールする際に好適である。
これ以外にも、本発明の主旨を逸脱しない限り、上記実施の形態で挙げた構成を取捨選択したり、他の構成に適宜変更することが可能である。
【００３３】
【発明の効果】
以上説明したように、本発明によれば、クライアント端末から接続要求を受けるサーバの負荷を軽減し、迅速かつ確実な処理を実行させるとともに、厳密な先着順での受付を行なうことが可能となる。
【図面の簡単な説明】
【図１】  本実施の形態における接続受付システムの構成を示す図である。
【図２】  接続要求を受けたときに、接続の可否を判定する処理の流れを示す図である。
【図３】  クライアント端末に対し整理番号を発行する処理の流れを示す図である。
【図４】  クライアント端末に送信されるデータの一例であり、所定時間経過後にサーバに接続要求を自動再送信させるプログラムを含んだデータを示す図である。
【図５】  クライアント端末に表示させる、整理番号等の情報を含んだ画面の一例である。
【図６】  クライアント端末に表示させる画面の他の一例である。
【図７】  クライアント端末に接続権を付与するときの処理の流れを示す図である。
【図８】  整理番号の発行を受けたクライアント端末から接続要求を受けた場合の処理の流れを示す図である。
【図９】  サーバ側における接続待ち行列の管理処理の流れを示す図である。
【図１０】  整理番号をクライアント端末に送信する場合のデータの形態の例を示し、（ａ）のヒドゥンデータの場合と（ｂ）のクッキーの場合の違いを示す図である。
【図１１】  サーバにおいて整理番号に基づいた管理を行なうに際し、接続待ち行列と接続権が付与されたクライアント端末とを同一の行列に並べ、インデックスで区別する場合の例を示す図である。
【図１２】  同、接続待ち行列と接続権が付与されたクライアント端末とを同一の行列に並べ、ステイタス情報を付与して双方を区別する場合の例を示す図である。
【符号の説明】
１０…ネットワーク、２０…クライアント端末、３０…受付サーバ（サーバ）、３１…接続管理部（優先順位設定手段、接続管理手段、判定手段、プログラム送信手段、接続順位設定手段、接続権付与手段、接続許可手段）、３４…接続可能数カウンタ（接続数監視手段、接続可能数検出手段）、３５…接続待ち行列データ保持部（接続待ち行列データ保持手段）、３６…接続権獲得済プール部（接続権データ保持手段）、４０…アプリケーションサーバ（他のサーバ）、Ｂ…接続待ち行列、Ｃ、Ｄ…行列
【図１】
0004307747.tif 000002
【図２】
0004307747.tif 000003
【図３】
0004307747.tif 000004
【図４】
0004307747.tif 000005
【図５】
0004307747.tif 000006
【図６】
0004307747.tif 000007
【図７】
0004307747.tif 000008
【図８】
0004307747.tif 000009
【図９】
0004307747.tif 000010
【図１０】
0004307747.tif 000011
【図１１】
0004307747.tif 000012
【図１２】
0004307747.tif 000013