(57)【要約】  【課題】  不要なコネクション数を必要最小限に抑えるクライアント、サーバ、システム、コネクション管理方法、及びそのプログラムを提供する  【解決手段】  フォーカス判定手段は、クライアント上の所定のウインドウに対して、ユーザの操作対象であるフォーカスの有無及びコネクションの有無を判定する。そしてコネクション制御手段は、フォーカス判定手段による判定に基づいて、サーバとのコネクションの確立・解除を制御する。【選択図】  図１
2005267050.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介してサーバとあらかじめ通信のためのコネクションを確立し、当該コネクションの下でデータの送受信を行うクライアントにおいて、
マルチウインドウ環境を有する当該クライアントにおける所定のウインドウに対して、ユーザの操作対象であるフォーカスの有無及びコネクションの有無を判定するフォーカス判定手段と、
上記フォーカス判定手段による判定に基づいて、上記サーバとのコネクションの確立・解除を制御するコネクション制御手段と
を備えることを特徴とするクライアント。
【請求項２】
上記コネクション制御手段によるコネクションの制御は、所定のウインドウのフォーカス無し状態への遷移時にはコネクションを解除し、フォーカス有り状態への遷移時にはコネクションを確立する請求項１に記載のクライアント。
【請求項３】
上記コネクション制御手段は、
所定のウインドウのフォーカス無し状態への遷移によるコネクションの解除時には、当該コネクションに使用した接続情報を上記ウインドウと対応付けて接続情報記憶手段に記憶すると共に、
上記所定のウインドウのフォーカス有り状態への遷移によるコネクションの再確立時には、上記接続情報記憶手段に記憶した接続情報に基づいて再確立を行う請求項２に記載のクライアント。
【請求項４】
上記コネクション制御手段は、
さらに所定のウインドウのフォーカス無し状態への遷移によるコネクションの解除時に、所定の時間、上記サーバとの通信が無い事を確認した後に解除する請求項３に記載のクライアント。
【請求項５】
ネットワークを介してサーバとあらかじめ通信のためのコネクションを確立し、当該コネクションの下でデータの送受信を行うクライアントにおけるコネクション管理方法において、
マルチウインドウ環境を有する当該クライアントにおける所定のウインドウに対して、ユーザの操作対象であるフォーカスの有無及びコネクションの有無を判定するフォーカス判定ステップと、
上記フォーカス判定手段による判定に基づいて、上記サーバとのコネクションの確立・解除を制御するコネクション制御ステップと
を備えることを特徴とするコネクション管理方法。
【請求項６】
ネットワークを介してサーバとあらかじめ通信のためのコネクションを確立し、当該コネクションの下でデータの送受信を行うコンピュータに、
マルチウインドウ環境を有する当該コンピュータにおける所定のウインドウに対して、ユーザの操作対象であるフォーカスの有無及びコネクションの有無を判定するフォーカス判定ステップと、
上記フォーカス判定手段による判定に基づいて、上記サーバとのコネクションの確立・解除を制御するコネクション制御ステップと
を実行させるプログラム。
【請求項７】
ネットワークを介してクライアントとあらかじめ通信のためのコネクションを確立し、当該コネクションの下でデータの送受信を行うサーバにおいて、
上記クライアント上で当該サーバとデータの送受信を行っているアプリケーションに対応するウインドウにおける、ユーザの操作対象であるフォーカスの有無に関する情報を、上記クライアントから受信するフォーカス情報受信手段と、
上記フォーカス情報受信手段が受信したフォーカスの有無に関する情報に基づいて、上記クライアントとのコネクションの確立・解除を制御するコネクション制御手段と
を備えることを特徴とするサーバ。
【請求項８】
上記コネクション制御手段によるコネクションの制御は、上記フォーカスの有無に関する情報に基づいてウインドウのフォーカス無し状態への遷移を判定した場合にはコネクションを解除し、フォーカス有り状態への遷移を判定した場合にはコネクションを確立する請求項７に記載のサーバ。
【請求項９】
上記フォーカスの有無に関する情報が、ウインドウを特定するウインドウIDを含むと共に、
上記コネクション制御手段は、
所定のウインドウのフォーカス無し状態への遷移によるコネクションの解除時には、当該コネクションに使用した接続情報と上記ウインドウIDとを対応付けて接続情報記憶手段に記憶すると共に、
上記所定のウインドウのフォーカス有り状態への遷移によるコネクションの再確立時には、上記接続情報記憶手段に記憶した接続情報に基づいて再確立を行う請求項７又は８に記載のサーバ。
【請求項１０】
ネットワークを介してクライアントとあらかじめ通信のためのコネクションを確立し、当該コネクションの下でデータの送受信を行うサーバにおけるコネクション管理方法において、
上記クライアント上で当該サーバとデータの送受信を行っているアプリケーションに対応するウインドウにおける、ユーザの操作対象であるフォーカスの有無に関する情報を、上記クライアントから受信するフォーカス情報受信ステップと、
上記フォーカス情報受信手段が受信したフォーカスの有無に関する情報に基づいて、上記クライアントとのコネクションの確立・解除を制御するコネクション制御ステップと
を備えることを特徴とするコネクション管理方法。
【請求項１１】
ネットワークを介してクライアントとあらかじめ通信のためのコネクションを確立し、当該コネクションの下でデータの送受信を行うコンピュータに、
上記クライアント上で当該コンピュータとデータの送受信を行っているアプリケーションに対応するウインドウにおける、ユーザの操作対象であるフォーカスの有無に関する情報を、上記クライアントから受信するフォーカス情報受信ステップと、
上記フォーカス情報受信手段が受信したフォーカスの有無に関する情報に基づいて、上記クライアントとのコネクションの確立・解除を制御するコネクション制御ステップと
を実行させるプログラム。
【請求項１２】
ネットワークを介してサーバとあらかじめ通信のためのコネクションを確立し、当該コネクションの下でデータの送受信を行うクライアントにおいて、
マルチウインドウ環境を有する当該クライアントにおける所定のウインドウに対して、ユーザの操作対象であるフォーカスの有無及びコネクションの有無を判定するフォーカス判定手段と、
上記フォーカス判定手段にてコネクションを有するウインドウにおけるフォーカスの遷移が判定された際に、上記サーバにフォーカスの有無に関する情報を送信するフォーカス情報送信手段と
を備えることを特徴とするクライアント。
【請求項１３】
ネットワークを介してサーバとあらかじめ通信のためのコネクションを確立し、当該コネクションの下でデータの送受信を行うクライアントにおけるコネクション管理方法において、
マルチウインドウ環境を有する当該クライアントにおける所定のウインドウに対して、ユーザの操作対象であるフォーカスの有無及びコネクションの有無を判定するフォーカス判定ステップと、
上記フォーカス判定手段にてコネクションを有するウインドウにおけるフォーカスの遷移が判定された際に、上記サーバにフォーカスの有無に関する情報を送信するフォーカス情報送信ステップと
を備えることを特徴とするコネクション管理方法。
【請求項１４】
ネットワークを介してサーバとあらかじめ通信のためのコネクションを確立し、当該コネクションの下でデータの送受信を行うコンピュータに、
マルチウインドウ環境を有する当該コンピュータにおける所定のウインドウに対して、ユーザの操作対象であるフォーカスの有無及びコネクションの有無を判定するフォーカス判定ステップと、
上記フォーカス判定手段にてコネクションを有するウインドウにおけるフォーカスの遷移が判定された際に、上記サーバにフォーカスの有無に関する情報を送信するフォーカス情報送信ステップと
を実行させるプログラム。
【請求項１５】
クライアントとサーバとの間でネットワークを介してあらかじめ通信のためのコネクションを確立し、当該コネクションの下でデータの送受信を行うクライアント・サーバシステムにおいて、
上記クライアント側に、
マルチウインドウ環境を有する当該クライアントにおける所定のウインドウに対して、ユーザの操作対象であるフォーカスの有無及びコネクションの有無を判定するフォーカス判定手段と、
上記フォーカス判定手段にてコネクションを有するウインドウにおけるフォーカスの遷移が判定された際に、上記サーバにフォーカスの有無に関する情報を送信するフォーカス情報送信手段とを備えると共に、
上記サーバ側に、
上記フォーカスの有無に関する情報を、上記クライアントから受信するフォーカス情報受信手段と、
上記フォーカス情報受信手段が受信したフォーカスの有無に関する情報に基づいて、上記クライアントとのコネクションの確立・解除を制御するコネクション制御手段と
を備えることを特徴とするクライアント・サーバシステム。
【請求項１６】
クライアントとサーバとの間でネットワークを介してあらかじめ通信のためのコネクションを確立し、当該コネクションの下でデータの送受信を行うクライアント・サーバシステムにおけるコネクション管理方法において、
マルチウインドウ環境を有する当該クライアントにおける所定のウインドウに対して、ユーザの操作対象であるフォーカスの有無及びコネクションの有無を判定するフォーカス判定ステップと、
上記フォーカス判定ステップにてコネクションを有するウインドウにおけるフォーカスの遷移が判定された際に、上記サーバにフォーカスの有無に関する情報を送信するフォーカス情報送信ステップと、
上記フォーカスの有無に関する情報を、受信するフォーカス情報受信ステップと、
上記フォーカス情報受信ステップにて受信したフォーカスの有無に関する情報に基づいて、上記クライアントとのコネクションの確立・解除を制御するコネクション制御ステップと
を備えることを特徴とするコネクション管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コネクションを管理するコネクション管理機能を備えたクライアント、サーバ、システム、コネクション管理方法、及びそのプログラムに関するものである。
【背景技術】
【０００２】
従来より、クライアント・サーバ形式で情報を管理・提供するシステムにおいては、サーバに同時接続可能なクライアントの数が制限される場合がある。例えばデータベースサーバを利用するクライアントがサーバとのコネクションを確立する場合で、ユーザがコネクションのためのライセンスを１０台分しか購入していないと仮定すると、サーバ上のプログラムは１１台目以降のクライアントのコネクションを確立させないのである。これにより、同一のサーバであっても大規模システムに対しては追加のコネクションライセンスを提供するといった販売方法が可能となり、或いはサーバに過剰な負荷が掛かるのを防いだりしている。
【０００３】
尚、コネクションの確立・解除の手順が正常に終了した場合には現状のコネクションの確立数は問題なくカウントされるが、例えばコネクション確立後にクライアントが異常終了したような場合、利用されないコネクションがカウントされ、サーバの利用者にとっては不利な状況になることがある。このような状況を防ぐために、例えばサーバが一定の時間間隔でクライアントの稼動の有無を確認するための通信を行い、当該通信にてクライアントからの正常な応答が無ければ強制的にコネクションを解除するといった処理がなされる。これにより、クライアントが異常終了した場合であっても、上記一定の時間経過後はコネクションが解除され、コネクションが過剰カウントされるといった状態を防いでいる（例えば参考文献：特許文献１）。
【特許文献１】特開２００１−８４２００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで上述した従来の技術では、マルチウインドウ環境を有するクライアントを利用している場合には、コネクションが利用されていないにもかかわらずコネクションが維持され、結果的に、同時にサーバを利用できるユーザの数が減少するといった問題が生じる。
【０００５】
すなわち、通常、マルチウインドウ環境を有するクライアント上では、ユーザは複数のアプリケーションを利用することが可能である。例えばユーザがコネクションを確立してデータベースサーバと通信を行うアプリケーションAと、通信を利用しないワープロソフト（アプリケーションB）とを利用した場合を考える。このような場合、マルチウインドウ環境では、アプリケーションAに対応するウインドウAと、アプリケーションBに対応するウインドウBとがクライアントに接続されたディスプレイ等に表示される。上記ウインドウA、Bの切り替えは、ユーザにより例えばクライアントに接続されたマウスなどのポインティングデバイスや、キーボードを介して行われる。例えばユーザがウインドウB、すなわちワープロソフトに対して文字入力などの操作を行う場合、ウインドウBをポインティングデバイスで選択することで当該ウインドウにフォーカスを移す。これにより、ユーザの操作対象となったウインドウBにはユーザが例えば文字を入力したり指示を出したりすることが可能になる。この場合、ウインドウBがフォーカスを有することになり、ウインドウAにはフォーカスが無いため、ユーザによるウインドウAに対する操作はできない状態となる。
【０００６】
このような状態では、フォーカスの無いウインドウAについては、ユーザが操作できず、例えば長時間利用しないにもかかわらず、当該ウインドウAによるコネクションは正常に維持されるのである。複数のクライアントがこのような状態になると、データベースサーバが全く利用されていないにもかかわらずコネクション数が飽和状態となり、データベースサーバの利用を目的とする他のユーザがコネクションを確立できない状態となってしまうのである。
【０００７】
結果として、ユーザは、サーバで保持可能なコネクションの数を必要以上に購入（契約）する必要が生じるのである。
【０００８】
従って本発明は、上記従来の事情に基づいて提案されたものであって、ユーザのコネクション利用状態の詳細を監視することで、不要なコネクション数を必要最小限に抑えるクライアント、サーバ、システム、コネクション管理方法、及びそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、上記目的を達成するために以下の手段を採用している。すなわち本発明は、ネットワークを介してサーバとあらかじめ通信のためのコネクションを確立し、このコネクションの下でデータの送受信を行うクライアントを前提としている。尚、クライアント上で動作するＯＳは、マルチウインドウ環境を有している。ここで、フォーカス判定手段は、クライアント上の所定のウインドウに対して、ユーザの操作対象であるフォーカスの有無及びコネクションの有無を判定する。そしてコネクション制御手段は、フォーカス判定手段による判定に基づいて、サーバとのコネクションの確立・解除を制御する。
【００１０】
これによれば、ウインドウのフォーカスの有無を管理し、フォーカスがある場合にはコネクションを確立し、無い場合にはコネクションを一旦解除することで、不要なコネクション数を必要最小限に抑える事が可能となり、長時間利用コネクションを利用しないにもかかわらずコネクション数を圧迫するといった問題を解決することができる。
【００１１】
尚、コネクション制御手段によるコネクションの制御は、具体的には、例えば所定のウインドウのフォーカス無し状態への遷移時にはコネクションを解除し、フォーカス有り状態への遷移時にはコネクションを確立する構成が挙げられる。
【００１２】
また、コネクション制御手段は、所定のウインドウのフォーカス無し状態への遷移によるコネクションの解除時には、コネクションに使用した接続情報をウインドウと対応付けて接続情報記憶手段に一旦記憶し、所定のウインドウのフォーカス有り状態への遷移によるコネクションの再確立時には、記憶した接続情報に基づいて再確立を行う構成としてもよい。
【００１３】
この構成では、コネクション解除時には接続情報を記憶するため、再接続時でもユーザが意識することなく資源（コネクション数）の有効利用が可能となる。また、クライアント側に所定の手段を備えることで、サーバ側には特別な手段を設ける必要が無いため、従来のシステムへの適用が容易である。
【００１４】
さらに、コネクション制御手段は、所定のウインドウのフォーカス無し状態への遷移によるコネクションの解除時に、所定の時間、上記サーバとの通信が無い事を確認した後に解除する構成としてもよい。
【００１５】
この構成では、無通信時間の判定と組み合わせることで、ユーザの指示に関係なくバックグランドでアプリケーションが通信を行っている場合にコネクションを解除してしまうといった問題を回避することが可能になる。
【００１６】
また、本発明は、クライアントとサーバとの間でネットワークを介してあらかじめ通信のためのコネクションを確立し、当該コネクションの下でデータの送受信を行うクライアント・サーバシステムを前提とする。このクライアント・サーバシステムにおいて、クライアント側に、所定のウインドウに対して、ユーザの操作対象であるフォーカスの有無及びコネクションの有無を判定するフォーカス判定手段と、フォーカス判定手段にてコネクションを有するウインドウにおけるフォーカスの遷移が判定された際に、サーバにフォーカスの有無に関する情報を送信するフォーカス情報送信手段とを備える。また、サーバ側に、フォーカスの有無に関する情報を、上記クライアントから受信するフォーカス情報受信手段と、フォーカス情報受信手段が受信したフォーカスの有無に関する情報に基づいて、クライアントとのコネクションの確立・解除を制御するコネクション制御手段とを備える。
【００１７】
このクライアント・サーバシステムでは、クライアントからの所定ウインドウのフォーカスの有無に関する情報に基づいて、サーバでコネクションを制御している。これにより、上記同様、不要なコネクション数を必要最小限に抑える事が可能となり、長時間利用コネクションを利用しないにもかかわらずコネクション数を圧迫するといった問題を解決することができる。これに加えて、ネットワーク上をユーザＩＤ、パスワードが頻繁に流れることが無いため、セキュリティが向上する。
【００１８】
尚、コネクション制御手段によるコネクションの制御は、具体的には、例えばフォーカスの有無に関する情報に基づいてウインドウのフォーカス無し状態への遷移を判定した場合にはコネクションを解除し、フォーカス有り状態への遷移を判定した場合にはコネクションを確立するといった構成が挙げられる。
【００１９】
ここで、上記サーバ及びクライアントは、コンピュータを用いて具体化することができる。その場合、記憶手段を除く各手段は、コンピュータ上でプログラムを動作させることにより具体化される。
【発明の効果】
【００２０】
本発明に係るコネクション管理機能を備えたクライアント、サーバ、システム、コネクション管理方法、及びそのプログラムにおいては、ウインドウのフォーカスの有無を管理し、フォーカスがある場合にはコネクションを確立し、無い場合にはコネクションを一旦解除する。従って、不要なコネクション数を必要最小限に抑える事が可能となり、長時間利用コネクションを利用しないにもかかわらずコネクション数を圧迫するといった問題を解決することができる。また、コネクション解除時には接続情報を記憶するため、再接続時でもユーザが意識することなく資源（コネクション数）の有効利用が可能となる。
【００２１】
さらに、クライアントからの所定ウインドウのフォーカスの有無に関する情報に基づいて、サーバでコネクションを制御する場合、ネットワーク上をユーザＩＤ、パスワードが頻繁に流れることが無いため、セキュリティが向上する。
【発明を実施するための最良の形態】
【００２２】
以下、添付図面を参照して、本発明の実施の形態につき説明し、本発明の理解に供する。尚、以下の実施の形態は、本発明を具体化した一例であって、本発明の技術的範囲を限定する性格のものではない。本発明に係るクライアント１０１及びサーバ１０２は、図２のハードウェア構成図に示すように、インターネットやイントラネット等のネットワーク２００を介してそれぞれ通信可能に接続される。
【００２３】
また、サーバ１０２では、ＣＰＵ（Central Processing Unit）２０１、ＲＡＭ（Random Access Memory）２０２、ＲＯＭ（Read Only Memory）２０３、ＨＤＤ２０４及びネットワークＩ／Ｆ（インターフェイス）２０５が内部バス２０６を介して接続されている。上記ＣＰＵ２０１は、例えばＲＡＭ２０２を作業領域として利用し、ＲＯＭ２０３やＨＤＤ２０４等に記憶されているプログラムを実行することで後述する各手段として動作する。上記ネットワークＩ／Ｆ２０５は、ネットワークと接続されており、他の機器とデータの授受が可能となっている。また、クライアント１０１の構成も上記サーバ１０２と同様であり、上記記憶されているプログラムが異なることで、異なる処理を実行可能となっている。
【００２４】
（実施の形態１）
以下、本発明に係る実施の形態１におけるコネクション管理機能を備えたクライアントの処理について説明する。
【００２５】
図１は、クライアント１０１の概略機能ブロック図であるが、各手段の処理等については後述する。
【００２６】
続いて、クライアント１０１における処理について図１、図３、図４、図５を参照しながら説明する。尚、フローチャートにおける数値の前に付されたアルファベット「S」はステップを意味する。
【００２７】
まず、ユーザが例えばクライアント１０１上で複数のアプリケーションを起動した場合を仮定する。ユーザがクライアント１０１上でアプリケーションを起動すると、当該アプリケーションは必要に応じてウインドウ（Window）を作成する。当該ウインドウは、マルチウインドウ環境を有し当該クライアント１０１上で動作しているOS（オペレーティングシステム）にて管理される。
【００２８】
つまり、上記クライアント１０１では、例えばOSを構成するフォーカス管理手段１０３がアプリケーションの起動を認識し、起動したウインドウに関する情報をフォーカス情報としてフォーカス情報記憶手段１０４に追加する（図４：S４０１→S４０２）。
【００２９】
上記フォーカス情報の一例を、フォーカス情報３０１として図３Aに示す。フォーカス情報３０１は、各ウインドウを一意に認識可能なWindowID３０２、当該WindowIDに対応するアプリケーション３０３、アプリケーションの起動時間３０４、最後に当該ウインドウがフォーカスを有していた時間である最終フォーカス時間３０５、フォーカスの有無を示すフォーカス３０６、当該ウインドウが接続している端末の情報である接続先端末３０７、接続している端末との接続の状態を示す接続状態３０８が含まれる。尚、ここで言う接続とは、コネクションを有することをいい、コネクションが解除されている状態であってもコネクションを有するものである。
【００３０】
図３Aに示すフォーカス情報３０２から、現在ウインドウが６個表示されていることがわかる。また、フォーカス３０６の値が「０」であることより、フォーカスを有するウインドウはWindow６であることが読み取れる。尚、説明に供するため、図１には上記Window１、Window５、Window６のみを表示している。
【００３１】
さて、複数のWindow１〜６が表示された状態では、現在フォーカスを有するWindow６がユーザの操作対象となっている。図５の表示例５０１に示すように、操作対象となっているWindow６（５０２）は、他のウインドウ（ここではWindow５（５０３））に対して前面に表示されている。また、当該Window６は、アプリケーションFに対応しており、接続先が、「www.xxxxx」というURL（Uniform Resource Locator）で示されたサーバとコネクションを確立している。最初のコネクションの確立は、例えばユーザが必要に応じてユーザID及びパスワードを入力することで行われる。
【００３２】
上述した状態でユーザがWindow６に対して操作を行い、次にWindow５に対して操作を行おうとした場合、ユーザはポインティングデバイス等を用いてWindow５を選択する。当該選択がOSにより認識されると、Window５にフォーカスが移動（遷移）し、その旨がフォーカス管理手段１０３によりフォーカス情報３０１に反映される（図４：S４０３）。例えばこの場合、Window５のフォーカス３０６が「０」となり、Window６のフォーカス３０６が「１」となる。また、Window５の最終フォーカス時間３０５が「-------」となり、Window６の最終フォーカス時間３０５はフォーカスが移動した時間に更新される。また、図５の表示例５０４に示すように、操作対象となったWindow５（５０６）は、他のウインドウ（ここではWindow６（５０５））に対して前面に表示されている。
【００３３】
上記ユーザの操作により、フォーカスがWindow６からWindow５に移動すると、OSは、当該フォーカスの移動に伴う操作が当該Window５のクローズか否かを判定する（図４：S４０４）。ここで、Windowのクローズではない場合、フォーカス判定手段１０５は、フォーカス管理手段１０３よりフォーカスが移動した旨の情報を取得し、当該情報に基づいてフォーカス情報記憶手段１０４よりフォーカス情報を取得する。取得したフォーカス情報は、例えば図３Bのフォーカス情報３１０に示される（但し、Window５、６のみ）。
【００３４】
続いて、上記フォーカス情報３１０を取得したフォーカス判定手段１０５は、各ウインドウについてフォーカスの有無及びコネクションの有無を判定する（図４：S４０５）。尚、本実施の形態では、フォーカスの有無は、フォーカスの移動を判定すればよくWindow５に関してフォーカス３１１が「０」であるため、フォーカス無し状態からフォーカス有り状態に遷移したことがわかる。また、Window６については、最終フォーカス時間３１２が最近であることから、フォーカス有り状態からフォーカス無し状態に遷移したことがわかる。また、コネクションの有無については、接続先端末３１３に接続先の情報が格納されていることより判定可能である。
【００３５】
ここで、Window６に着目すると、Window６ではフォーカス有り状態からフォーカス無し状態に遷移し、コネクションを有しているため、フォーカス判定手段１０５はその旨をコネクション制御手段１０６に通知する（図４：S４０５Ｙｅｓ→S４０６Ｙｅｓ）。上記旨を受け取ったコネクション制御手段１０６は、接続情報記憶手段１０７に、当該Window６のWindowIDと接続情報とを関連付けて記憶する（図４：S４０９）。例えば図３Cに示すように、当該接続情報３２６は、コネクションを確立している相手先のアドレスである相手先アドレス３２２、コネクション確立時に利用しユーザを一意に特定可能なユーザID３２３、当該ユーザIDに対応するパスワード３２４、その他コネクションの確立に必要な情報であるその他３２５より構成されている。続いて、上記コネクション制御手段１０６は、送受信手段１０８を介してコネクション解除のための信号を送信することで、Window６がコネクションを確立しているサーバ１０２（ここでは接続先アドレスが“www.xxxxx”であるサーバ）とのコネクションを解除する（図４：S４１０）。
【００３６】
また、Window５に着目すると、Window５ではフォーカス無し状態からフォーカス有り状態に遷移し、コネクションを有していたため、フォーカス判定手段１０５はその旨をコネクション制御手段１０６に通知する（図４：S４０５Ｙｅｓ→S４０６Ｎｏ）。上記旨を受け取ったコネクション制御手段１０６は、接続情報記憶手段１０７より、当該Window５をキーにして対応する接続情報を取得する（図４：S４０７）。尚、ここでは、上記Window６と同様の手順にて既にWindow５の接続情報は記憶されているものとする。続いて、上記コネクション制御手段１０６は、取得した接続情報に基づいてコネクション確立のための信号を送信することで、Window５がコネクションを確立しているサーバ１０２（ここでは接続先アドレスが“１９２．１６８．２２．３”であるサーバ）とのコネクションを確立する（図４：S４０８）。
【００３７】
以後、フォーカス管理手段１０３がフォーカスの選択を認識する処理から繰り返す（図４：S４０８ｏｒS４１０→S４０３）。尚、Windowのクローズを判断し、クローズであった場合、さらにすべてのWindowがクローズされたか否かを判定し、全てのWindowがクローズされた場合にはフォーカス移動についての処理を終了する（図４：S４０４Ｙｅｓ→S４１１Ｙｅｓ→Ｅｎｄ）。
【００３８】
以上のように、ウインドウのフォーカスの有無を管理し、フォーカスがある場合にはコネクションを確立し、無い場合にはコネクションを一旦解除することで、不要なコネクション数を必要最小限に抑える事が可能となり、長時間利用コネクションを利用しないにもかかわらずコネクション数を圧迫するといった問題を解決することができる。また、コネクション解除時には接続情報を記憶するため、再接続時でもユーザが意識することなく資源（コネクション数）の有効利用が可能となる。また、本実施の形態１においては、クライアント側に本発明に係る手段を備えることで、サーバ側には特別な手段を設ける必要が無いため、従来のシステムへの適用が容易である。
【００３９】
尚、コネクション制御手段は、各アプリケーションとサーバとの無通信時間をカウントし、所定の時間、通信が行われていない場合に上記コネクションの解除を行うようにしてもよい。無通信時間の判定と組み合わせることで、ユーザの指示に関係なくバックグランドでアプリケーションが通信を行っている場合にコネクションを解除してしまうといった問題を回避することが可能になる。
【００４０】
（実施の形態２）
続いて、本発明に係る実施の形態２におけるコネクション管理機能を備えたサーバ及びクライアントの処理について説明する。尚、上記実施の形態１と共通する処理についてはその詳細を省略し、同一の処理、又は手段については同一の番号を付している。また、図６は、クライアント６０１及びサーバ６０２の概略機能ブロック図であるが、各手段の処理等については後述する。
【００４１】
続いて、クライアント６０１及びサーバ６０２における処理について図６、図７、図８、図９を参照しながら説明する。
【００４２】
まず、上記実施の形態１同様、ユーザが例えばクライアント６０１上で複数のアプリケーションを起動した場合を仮定する。ユーザがクライアント６０１上でアプリケーションを起動すると、クライアント６０１では、例えばOSを構成するフォーカス管理手段１０３がアプリケーションの起動を認識し、起動したウインドウに関する情報をフォーカス情報としてフォーカス情報記憶手段１０４に追加する（図８：S４０１→S４０２）。
【００４３】
上記フォーカス情報は、例えば上記実施の形態１にて示したフォーカス情報３０１と同一でよい。
【００４４】
さて、実施の形態１と同様、複数のWindow１〜６が表示された状態で、ユーザの操作により、フォーカスがWindow６からWindow５に移動したと仮定すると、OSは、当該フォーカスの移動に伴う操作が当該Window５のクローズか否かを判定する（図８：S４０３→S４０４）。ここで、Windowのクローズではない場合、フォーカス判定手段１０５は、フォーカス管理手段１０３よりフォーカスが移動した旨の情報を取得し、当該情報に基づいてフォーカス情報記憶手段１０４よりフォーカス情報を取得する。
【００４５】
続いて、上記フォーカス情報を取得したフォーカス判定手段１０５は、各ウインドウについてフォーカスの有無及びコネクションの有無を判定する（図８：S４０５）。
【００４６】
ここで、Window６に着目すると、Window６ではフォーカス有り状態からフォーカス無し状態に遷移し、コネクションを有しているため、フォーカス判定手段１０５はその旨をフォーカス情報送信手段６０３に通知する（図８：S４０５Ｙｅｓ→S４０６Ｙｅｓ）。
【００４７】
以上は上記実施の形態１と同様の処理である。ここで、上記フォーカス判定手段１０５より上記旨を受信したフォーカス情報送信手段６０３は、フォーカスの有無に関する情報、すなわちWindowIDと、フォーカス有りからフォーカス無しに遷移した旨をサーバ６０２を構成するフォーカス情報受信手段６０４に送信する（図８：S８０２）。また、Window５に着目すると、Window５ではフォーカス無し状態からフォーカス有り状態に遷移し、コネクションを有していたため、フォーカス判定手段１０５はその旨をフォーカス情報送信手段６０３に通知し、上記旨を受け取ったフォーカス情報送信手段６０３は、WindowIDと、フォーカス無しからフォーカス有りに遷移した旨を同じくフォーカス情報受信手段６０４に送信する（図８：S４０５Ｙｅｓ→S４０６Ｎｏ→S８０１）。
【００４８】
以上の処理により、クライアント６０１における各ウインドウのフォーカスの有無であって、サーバ６０２との通信に関する情報がサーバ６０２に送信される。
【００４９】
さて、Window６に関して、上記WindowID及びフォーカスの有無に関する情報（フォーカス有り→無し）を取得したフォーカス情報受信手段６０４は、当該情報をコネクション制御手段６０６に送信する（図９：S９０１）。上記情報を受信したコネクション制御手段６０６は、フォーカス有りから無しへの変更である旨を検知して、各クライアントとWindowID及び、接続に必要な接続情報とを関連付けてフォーカス情報７０１として接続情報記憶手段６０５に記憶する（図９：S９０２Ｙｅｓ→S９０５）。上記フォーカス情報７０１は、図７に示すように、例えば接続端末を一意に特定可能な接続端末７０２、WindowID７０３と、接続情報７０９が対応付けられている。尚、当該接続情報７０９には、クライアントが接続を開始した時間である接続開始時間７０４、接続しているユーザを一意に特定可能なユーザID７０５、当該ユーザIDに対応するパスワード７０６、現在のフォーカスの有無状態を示すフォーカス７０７、及びクライアントからのフォーカスの有無に関する情報を最近に受信した時間であるクライアントフォーカス受信最新時間７０８が含まれる。次に、上記フォーカス情報を記憶した後、コネクション制御手段６０６は、クライアント６０１のWindow６によるサーバ６０２へのコネクションを解除する（図９：S９０６）。
【００５０】
また、Window５に関して、上記WindowID及びフォーカスの有無に関する情報（フォーカス無し→有り）を取得したフォーカス情報受信手段６０４は、当該情報をコネクション制御手段６０６に送信する（図９：S９０１）。上記情報を受信したコネクション制御手段６０６は、フォーカス無しから有りへの変更である旨を検知して、対応するクライアントの情報とWindowID、及び、接続に必要な接続情報を上記接続情報記憶手段６０５より取得する。（図９：S９０２Ｎｏ→S９０３）。次に、上記コネクション制御手段６０６は、取得したフォーカス情報に基づいて、クライアント６０１のWindow５によるサーバ６０２へのコネクションを再度確立する（図９：S９０４）。
【００５１】
以上のように、クライアントからの所定ウインドウのフォーカスの有無に関する情報に基づいて、サーバでコネクションを制御してもよい。これにより、上記実施の形態１と同様、不要なコネクション数を必要最小限に抑える事が可能となり、さらにネットワーク上をユーザＩＤ、パスワードが頻繁に流れることが無いため、セキュリティを向上させることが可能になる。
【００５２】
尚、サーバ６０２におけるコネクション制御手段６０６でも、上記実施の形態１におけるコネクション制御手段１０６と同様、各アプリケーションとサーバとの無通信時間をカウントし、所定の時間、通信が行われていない場合に上記コネクションの解除を行うようにしてもよい。これにより、フォーカスに関係なくバックグランドでアプリケーションが通信を行っている場合に、コネクションを解除してしまうといった問題を回避することが可能になる。
【産業上の利用可能性】
【００５３】
本発明にかかるコネクション管理機能を備えたクライアント、サーバ、システム、コネクション管理方法、及びそのプログラムは、ウインドウのフォーカスに基づいてコネクションを管理するため、不要なコネクション数を必要最小限に抑えるクライアント、サーバ、システム、コネクション管理方法、及びそのプログラムとして有用である。
【図面の簡単な説明】
【００５４】
【図１】クライアントの概略機能ブロック図。
【図２】クライアント及びサーバのハードウェア構成図。
【図３】フォーカス情報及び接続情報の一例を示す図。
【図４】クライアントの概略処理を示すフローチャート。
【図５】フォーカスの有無とウインドウとの関係を示す図。
【図６】実施の形態２に係るクライアント及びサーバの概略機能ブロック図
【図７】実施の形態２におけるフォーカス情報の一例を示す図。
【図８】実施の形態２におけるクライアントの概略処理を示すフローチャート。
【図９】実施の形態２におけるサーバの概略処理を示すフローチャート。
【符号の説明】
【００５５】
１０１  クライアント
１０２  サーバ
１０３  フォーカス管理手段
１０４  フォーカス情報記憶手段
１０５  フォーカス判定手段
１０６  コネクション制御手段
１０７  接続情報記憶手段
１０８  送受信手段
６０３  フォーカス情報送信手段
６０４  フォーカス情報受信手段
６０５  接続情報記憶手段
６０６  コネクション制御手段
【図１】
2005267050.tif 000003
【図２】
2005267050.tif 000004
【図３】
2005267050.tif 000005
【図４】
2005267050.tif 000006
【図５】
2005267050.tif 000007
【図６】
2005267050.tif 000008
【図７】
2005267050.tif 000009
【図８】
2005267050.tif 000010
【図９】
2005267050.tif 000011