(57)【要約】【課題】サービスの提供を行うサービス提供サーバへの改変無しにシングルサインオンを実現する方法を改良する。【解決手段】ＳＳＯサーバ３０は、クライアント２０が送信したサーバ接続要求から特定したサーバ１８に対して、サーバ１８との通信に使用するＩＰアドレスとＳＳＯサーバ３０の認証情報を含む認証要求を送信してユーザ認証を受けた後、サーバ１８との間にセッションを確立するサーバ接続部３６と、サーバ１８との通信に使用しているアドレスの使用を停止するセッション中断部３７と、サーバ１８との間で確立されたセッションに関する情報をクライアント２０へ送信するセッション情報送信部３５とを有する。クライアント２０は、受信したセッション情報に含まれるＩＰアドレスを使用してＳＳＯサーバ３０が確立したセッションを引き継ぎ、サーバ１８との通信を行う通信制御部２３を有する。【選択図】図３
2008181427.tif 000002
【特許請求の範囲】
【請求項１】
サービスの提供を行うサービス提供サーバと、
前記サービス提供サーバが提供するサービスを利用するクライアントと、
シングルサインオンを実現するシングルサインオンサーバと、
を有し、
前記シングルサインオンサーバは、
前記クライアントから送信されてきたサーバ接続要求を受信する受信手段と、
受信したサーバ接続要求から特定されたサービス提供サーバに対して、当該サービス提供サーバとの通信に使用するアドレスと前記シングルサインオンサーバの認証情報とを少なくとも含む認証要求を送信してユーザ認証を受けた後、当該サービス提供サーバとの間にセッションを確立する確立手段と、
当該サービス提供サーバとの通信に使用しているアドレスの使用停止処理を行う停止処理手段と、
前記アドレスの使用が停止された後、少なくとも前記アドレスを含み、当該サービス提供サーバとの間で確立されていたセッションに関するセッション情報を、当該サーバ接続要求を送信した前記クライアントへ送信する情報送信手段と、
を有し、
前記クライアントは、
前記サービス提供サーバへのサーバ接続要求を前記シングルサインオンサーバへ送信する要求送信手段と、
送信したサーバ接続要求に応じて前記シングルサインオンサーバから送られてきたセッション情報を受信するセッション情報受信手段と、
該情報受信手段で受信したセッション情報に含まれるアドレスを当該サービス提供サーバとの通信に使用し、前記シングルサインオンサーバが当該サービス提供サーバとの間で確立していたセッションを引き継いで、当該サービス提供サーバとの通信を行う通信手段と、
を有することを特徴とするシングルサインオンシステム。
【請求項２】
サービスの提供を行うサービス提供サーバの当該サービスを利用するコンピュータに、
前記サービス提供サーバへのサーバ接続要求を、シングルサインオンを実現するシングルサインオンサーバへ送信させ、
送信したサーバ接続要求に応じて前記シングルサインオンサーバから送られてきたセッション情報を受信し、
受信したセッション情報に含まれるアドレスを当該サービス提供サーバとの通信に使用し、前記シングルサインオンサーバが前記サービス提供サーバとの間で確立していたセッションを引き継いで、当該サービス提供サーバとの通信を行わせる、
ことを特徴とするプログラム。
【請求項３】
シングルサインオンを実現するコンピュータに、
サービスの提供を行うサービス提供サーバの当該サービスを利用する情報端末装置から送信されてきた前記サービス提供サーバへのサーバ接続要求を受信させ、
受信したサーバ接続要求から特定したサービス提供サーバに対して、当該サービス提供サーバとの通信に使用するアドレスと前記コンピュータの認証情報とを少なくとも含む認証要求を送信することで当該サービス提供サーバとの間にセッションを確立させ、
当該サービス提供サーバとの通信に使用されるアドレスの使用停止処理を行わせ、
前記アドレスの使用が停止された後、少なくとも前記アドレスを含み、当該サービス提供サーバとの間で確立されていたセッションに関するセッション情報を、当該サーバ接続要求を送信した前記情報端末装置へ送信させる、
ことを特徴とするプログラム。
【請求項４】
前記コンピュータに、更に、
前記サービス提供サーバとの通信に使用するために予め用意されたアドレスの中からサーバ接続要求から特定されるサービス提供サーバとの通信に使用する未使用のアドレスを選出させることを特徴とする請求項３記載のプログラム。
【請求項５】
前記コンピュータに、更に、
同一リンク上で使用可能な任意のアドレスの中からサーバ接続要求から特定されるサービス提供サーバとの通信に使用する未使用のアドレスを選出させることを特徴とする請求項３記載のプログラム。
【請求項６】
サービスの提供を行うサービス提供サーバへのサーバ接続要求を、シングルサインオンを実現するシングルサインオンサーバへ送信する要求送信手段と、
送信したサーバ接続要求に応じて前記シングルサインオンサーバから送られてきたセッション情報に含まれるアドレスを当該サービス提供サーバとの通信に使用することで前記シングルサインオンサーバが当該サービス提供サーバとの間で確立していたセッションを引き継ぎ、当該サービス提供サーバとの通信を行う通信手段と、
を有することを特徴とする情報端末装置。
【請求項７】
クライアントから送信されてきたサービスの提供を行うサービス提供サーバへのサーバ接続要求を受信する受信手段と、
受信したサーバ接続要求から特定したサービス提供サーバに対して、当該サービス提供サーバとの通信に使用するアドレスと自己に設定された認証情報とを少なくとも含む認証要求を送信してユーザ認証を受けた後、当該サービス提供サーバとの間にセッションを確立する確立手段と、
当該サービス提供サーバとの通信に使用しているアドレスの使用停止処理を行う停止処理手段と、
前記アドレスの使用が停止された後、少なくとも前記アドレスを含み、当該サービス提供サーバとの間で確立されていたセッションに関するセッション情報を、当該サーバ接続要求を送信した前記クライアントへ送信する情報送信手段と、
を有することを特徴とするシングルサインオンサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シングルサインオンシステム、情報端末装置、シングルサインオンサーバ及びプログラムに関する。
【背景技術】
【０００２】
近年では、種々のコンピュータやアプリケーションを利用する際にセキュリティ維持の目的でユーザＩＤとパスワードの事前入力が要求される場合が少なくない。例えば、ネットワークに接続された端末を使用している場合、端末の起動時に、ネットワークへの接続時に、サーバへの接続時に、更にサーバ上のアプリケーションの起動時に、というように、何度もユーザＩＤとパスワードの入力が求められる場合がある。こうした入力の手間を省き、一度ユーザ認証されれば全てのユーザＩＤとパスワードの入力を省略できる機能としてシングルサインオンというシステムが登場した。シングルサインオンとは、ユーザが一度認証を受けるだけで、許可されているすべての機能を利用できるようになることをいう。すなわち、シングルサインオンを採用することにより、ユーザは、アプリケーションを実行してサービスを提供するサーバからサービスの提供を受ける際にも一度認証を受けるだけですむ。
【０００３】
従来から、サーバへの改変無しにシングルサインオンを実現する方法として、中継サーバを用いる方法があった（例えば特許文献１）。この従来技術によれば、システム内においてユーザ端末からサーバへアクセスする際、ユーザ認証を統括する中継サーバを常に経由させてアクセスさせることでシングルサインオンを実現している。
【０００４】
また、その他の従来技術として許可証を発行する方法が提案されている（例えば特許文献２）。この従来技術によれば、初回のユーザ認証時に様々なサーバのアクセス許可証を生成し、ユーザ端末へ渡すことでシングルサインオンを実現している。
【０００５】
【特許文献１】特開２００５−３２１９７０号公報
【特許文献２】特開２００２−２６９２７２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、認証情報を管理する中継サーバを利用する実現方法では、中継サーバを経由させなければならない。
【０００７】
また、許可証を発行する実現方法では、許可証を事前に発行したサーバにしかシングルサインオンを適用することはできない。
【０００８】
本発明は、認証を伴うサービスの提供を行うサービス提供サーバに対し、認証情報を管理する中継サーバを経由することなく、シングルサインオンを実現することを目的とする。
【課題を解決するための手段】
【０００９】
請求項１に係る発明は、サービスの提供を行うサービス提供サーバと、前記サービス提供サーバが提供するサービスを利用するクライアントと、シングルサインオンを実現するシングルサインオンサーバとを有し、前記シングルサインオンサーバは、前記クライアントから送信されてきたサーバ接続要求を受信する受信手段と、受信したサーバ接続要求から特定されたサービス提供サーバに対して、当該サービス提供サーバとの通信に使用するアドレスと前記シングルサインオンサーバの認証情報とを少なくとも含む認証要求を送信してユーザ認証を受けた後、当該サービス提供サーバとの間にセッションを確立する確立手段と、当該サービス提供サーバとの通信に使用しているアドレスの使用停止処理を行う停止処理手段と、前記アドレスの使用が停止された後、少なくとも前記アドレスを含み、当該サービス提供サーバとの間で確立されていたセッションに関するセッション情報を、当該サーバ接続要求を送信した前記クライアントへ送信する情報送信手段とを有し、前記クライアントは、前記サービス提供サーバへのサーバ接続要求を前記シングルサインオンサーバへ送信する要求送信手段と、送信したサーバ接続要求に応じて前記シングルサインオンサーバから送られてきたセッション情報を受信するセッション情報受信手段と、該情報受信手段で受信したセッション情報に含まれるアドレスを当該サービス提供サーバとの通信に使用し、前記シングルサインオンサーバが当該サービス提供サーバとの間で確立していたセッションを引き継いで、当該サービス提供サーバとの通信を行う通信手段とを有することを特徴とするシングルサインオンシステムである。
【００１０】
請求項２に係る発明は、サービスの提供を行うサービス提供サーバの当該サービスを利用するコンピュータに、前記サービス提供サーバへのサーバ接続要求を、シングルサインオンを実現するシングルサインオンサーバへ送信させ、送信したサーバ接続要求に応じて前記シングルサインオンサーバから送られてきたセッション情報を受信し、受信したセッション情報に含まれるアドレスを当該サービス提供サーバとの通信に使用し、前記シングルサインオンサーバが前記サービス提供サーバとの間で確立していたセッションを引き継いで、当該サービス提供サーバとの通信を行わせることを特徴とするプログラムである。
【００１１】
請求項３に係る発明は、シングルサインオンを実現するコンピュータに、サービスの提供を行うサービス提供サーバの当該サービスを利用する情報端末装置から送信されてきた前記サービス提供サーバへのサーバ接続要求を受信させ、受信したサーバ接続要求から特定したサービス提供サーバに対して、当該サービス提供サーバとの通信に使用するアドレスと前記コンピュータの認証情報とを少なくとも含む認証要求を送信することで当該サービス提供サーバとの間にセッションを確立させ、当該サービス提供サーバとの通信に使用されるアドレスの使用停止処理を行わせ、前記アドレスの使用が停止された後、少なくとも前記アドレスを含み、当該サービス提供サーバとの間で確立されていたセッションに関するセッション情報を、当該サーバ接続要求を送信した前記情報端末装置へ送信させることを特徴とするプログラムである。
【００１２】
請求項４に係る発明は、前記コンピュータに、更に、前記サービス提供サーバとの通信に使用されたアドレスの中からサーバ接続要求から特定されるサービス提供サーバとの通信に使用する未使用のアドレスを選出させることを特徴とするプログラムである。
【００１３】
請求項５に係る発明は、前記コンピュータに、更に、同一リンク上で使用可能な任意のアドレスの中からサーバ接続要求から特定されるサービス提供サーバとの通信に使用する未使用のアドレスを選出させることを特徴とするプログラムである。
【００１４】
請求項６に係る本発明に係る情報端末装置は、サービスの提供を行うサービス提供サーバへのサーバ接続要求を、シングルサインオンを実現するシングルサインオンサーバへ送信する要求送信手段と、送信したサーバ接続要求に応じて前記シングルサインオンサーバから送られてきたセッション情報に含まれるアドレスを当該サービス提供サーバとの通信に使用することで前記シングルサインオンサーバが当該サービス提供サーバとの間で確立していたセッションを引き継ぎ、当該サービス提供サーバとの通信を行う通信手段とを有することを特徴とする。
【００１５】
請求項７に係る発明は、クライアントから送信されてきたユーザ認証後にサービスの提供を行うサービス提供サーバへのサーバ接続要求を受信する受信手段と、受信したサーバ接続要求から特定したサービス提供サーバに対して、当該サービス提供サーバとの通信に使用するアドレスと自己に設定された認証情報とを少なくとも含む認証要求を送信してユーザ認証を受けた後、当該サービス提供サーバとの間にセッションを確立する確立手段と、当該サービス提供サーバとの通信に使用しているアドレスの使用停止処理を行う停止処理手段と、前記アドレスの使用が停止された後、少なくとも前記アドレスを含み、当該サービス提供サーバとの間で確立されていたセッションに関するセッション情報を、当該サーバ接続要求を送信した前記クライアントへ送信する情報送信手段とを有することを特徴とするシングルサインオンサーバである。
【発明の効果】
【００１６】
請求項１記載の発明によれば、シングルサインオンサーバを経由せずに、サービス提供サーバが提供するサービスをクライアントに利用させることができる。
【００１７】
請求項２記載の発明によれば、シングルサインオンサーバを経由せずに、サービス提供サーバが提供するサービスをコンピュータに利用させることができる。
【００１８】
請求項３記載の発明によれば、認証情報を必要に応じて管理するシングルサインオンを提供することができる。
【００１９】
請求項４記載の発明によれば、未使用のアドレスを確実に確保することができる。
【００２０】
請求項５記載の発明によれば、未使用のアドレスを確実に確保することができる。
【００２１】
請求項６記載の発明によれば、シングルサインオンサーバを経由せずに、サービス提供サーバが提供するサービスを利用することができる。
【００２２】
請求項７記載の発明によれば、認証情報を必要に応じて管理するシングルサインオンを提供することができる。
【発明を実施するための最良の形態】
【００２３】
以下、図面に基づいて、本発明の好適な実施の形態について説明する。
【００２４】
図１は、本実施の形態におけるシングルサインオンシステムを示した全体構成図である。図１には、サーバ１８とクライアント２０とシングルサインオン（ＳＳＯ）サーバ３０とが示されている。サーバ１８は、要求に応じて所定のアプリケーションを実行することでサービスの提供を行うサーバコンピュータである。クライアント２０は、サーバ１８が提供するサービスを利用したいユーザが使用するクライアントコンピュータである。ＳＳＯサーバ３０は、シングルサインオンを実現するサーバコンピュータである。クライアント２０及びＳＳＯサーバ３０は、同一のＬＡＮ１２に接続され、ファイアウォール１４、公衆網１６を介してサーバ１８とデータ通信を行う。
【００２５】
図２は、本実施の形態におけるサーバ１８、クライアント２０及びＳＳＯサーバ３０を構成する各コンピュータのハードウェア構成図である。コンピュータは、図２に示したようにＣＰＵ１、ＲＯＭ２、ＲＡＭ３、ハードディスクドライブ（ＨＤＤ）４を接続したＨＤＤコントローラ５、入力手段として設けられたマウス６とキーボード７、及び表示装置として設けられたディスプレイ８をそれぞれ接続する入出力コントローラ９、通信手段として設けられたネットワークインタフェース１１を内部バス１０に接続して構成される。サーバ１８、クライアント２０及びＳＳＯサーバ３０を構成する各コンピュータは、性能的に差異はあるかもしれないが、ハードウェア構成としては、従前から存在する汎用的なハードウェア構成で実現できるため、それぞれ図３のように図示することができる。
【００２６】
図３は、本実施の形態におけるシングルサインオンシステムのブロック構成図である。なお、サーバ１８及びクライアント２０は、それぞれ同様の機能を有していればよいので、図３では１台ずつ示した。また、サーバ１８は、本実施の形態を実施する上で新たに追加すべき機能はなく既存機能のみで実施可能である。従って、ユーザ認証機能等本実施の形態を実施する際に利用する機能ブロックは図３から省略した。
【００２７】
クライアント２０は、接続要求送信部２１、セッション情報受信部２２及び通信制御部２３を有している。接続要求送信部２１は、所望のサーバ１８への接続要求をＳＳＯサーバ３０に対して送信する。セッション情報受信部２２は、送信した接続要求に応じてＳＳＯサーバ３０から送られてきたセッション情報を受信する。通信制御部２３は、サーバ１８との間で行うデータ通信の制御を行う。通信制御部２３に含まれるサーバ接続部２４は、セッション情報受信部２２により受信されたセッション情報に含まれるＩＰアドレスをネットワークインタフェース１１に設定することで、そのＩＰアドレスを当該接続要求にて指定したサーバ１８との通信に使用する。
【００２８】
クライアント２０における各構成要素２１〜２３は、クライアント２０を構成するコンピュータと、コンピュータに搭載されたＣＰＵ１で動作するプログラムとの協調動作により実現される。
【００２９】
ＳＳＯサーバ３０は、接続要求受信部３１、認証情報取得部３２、アドレス決定部３３、通信制御部３４及びセッション情報送信部３５を有している。接続要求受信部３１は、クライアント２０から送信されてきた接続要求を受信する。認証情報取得部３２は、接続要求で指定されたサーバ１８から認証を受けるために必要な認証情報、本実施の形態ではＳＳＯサーバ３０がサーバ１８から認証を受けるために用いる認証情報を取得する。アドレス決定部３３は、サーバ１８との通信に使用するＩＰアドレスを決定する。通信制御部３４は、サーバ１８との間で行うデータ通信の制御を行う。通信制御部３４に含まれるサーバ接続部２４は、アドレス決定部３３により決定されたＩＰアドレスをネットワークインタフェース１１に設定し、また認証要求を送信するなどサーバ１８との間でセッションを確立してデータ通信が可能な状態にする。また、セッション中断部３７は、サーバ１８との通信に使用しているＩＰアドレスをネットワークインタフェース１１から削除するなどサーバ１８との間で確立したセッションの使用を停止する使用停止処理を行う。セッション情報送信部３５は、セッション中断部３７が使用停止処理の実行したことによりＩＰアドレスの使用が停止された後、サーバ１８との間で確立されていたセッションに関するセッション情報を、接続要求を送信したクライアント２０へ送信する。
【００３０】
ＳＳＯサーバ３０における各構成要素３１〜３５は、ＳＳＯサーバ３０を構成するコンピュータと、特に説明しない限りコンピュータに搭載されたＣＰＵ１で動作するプログラムとの協調動作により実現される。
【００３１】
また、前述した本実施の形態で用いるプログラムは、通信手段により提供することはもちろん、ＣＤ−ＲＯＭ等の記録媒体に格納して提供することも可能である。
【００３２】
クライアント２０は、所望のサーバ１８との間でセッションを確立してそのサーバ１８が提供するサービスを受けることになるが、続いて、クライアント２０が所望のサーバ１８に対する接続を要求してからセッションが確立されサービスの提供を受けることができるようになるまでの本実施の形態における動作を、図４及び図５に示した各フローチャートを用いて説明する。
【００３３】
まず、所望のサーバ１８が提供するサービスを利用したいクライアント２０のユーザが所定のユーザ操作を行うと、接続要求送信部２１は、当該サーバ１８との接続要求をＳＳＯサーバ３０に対して送信する（ステップ１０１）。接続要求に相当する情報には、クライアント認証情報とサーバ接続情報とが含まれている。クライアント認証情報は、自己クライアント２０がＳＳＯサーバ３０へ接続する権限を有していることをＳＳＯサーバ３０に確認させるための認証情報であって、自己クライアント２０の識別情報（以下、「クライアントＩＤ」）及びパスワードを含んでいる。本実施の形態では、クライアントＩＤとしてＩＰアドレスを用いるが、ＭＡＣアドレスなどクライアント２０を識別できる情報であればＩＰアドレスに限定する必要はない。また、詳細は後述するように、クライアント２０は、ＳＳＯサーバ３０からＩＰアドレスを含むセッション情報を受信することになるが、クライアント認証情報にＩＰアドレスを含めることで、ＩＰアドレスをクライアントＩＤとしてだけでなくＳＳＯサーバ３０にセッション情報の宛先情報として用いることができる。
【００３４】
また、サーバ接続情報には、サーバ１８との通信の確立に必要な情報が含まれる。具体的には、サーバ１８の名称又はＩＰアドレス等接続対象とするサーバ１８を特定しうる情報が少なくとも含まれている。ポート番号やプロトコル等の情報を合わせて含めるようにすれば、種々の通信方式を採用するクライアント２０にも柔軟に対応可能となる。
【００３５】
ＳＳＯサーバ３０において、接続要求受信部３１は、クライアント２０から送信されてきた接続要求を受信すると（ステップ２０１）、接続要求に含まれているクライアント認証情報を参照してクライアント２０の権限の有無を事前に確認する。すなわち、ＳＳＯサーバ３０は、いかなるクライアント２０からの要求に応じるのではなく、本実施の形態を利用可能なクライアント２０に制限を加えるようにしている。従って、接続要求受信部３１は、接続要求に含まれているクライアントＩＤ及びパスワードによってユーザ認証を行い、この結果、クライアント２０に権限が付与されていれば（ステップ２０２でＹ）、サーバ接続情報を通信制御部３４へ渡す。一方、クライアント２０に権限が付与されていなければ（ステップ２０２でＮ）、ＳＳＯサーバ３０は、接続要求送信元のクライアント２０へクライアント２０の認証不可というエラーを通知する（ステップ２１４）。
【００３６】
認証情報取得部３２は、接続要求受信部３１によりクライアント２０が認証されたことの通知を受けると、ＳＳＯサーバ３０が接続要求により指定されたサーバ１８との接続に必要な認証情報を取得する（ステップ２０３）。この取得する認証情報というのは、サーバ１８にアクセスするためにＳＳＯサーバ３０が事前に取得しているＳＳＯサーバ３０の認証情報（ユーザＩＤ及びパスワード）である。つまり、認証情報取得部３２は、各サーバ１８へのアクセスに必要なサーバ１８それぞれに対応した認証情報の中から、接続要求により指定されたサーバ１８との接続に必要な認証情報を取得することになる。従って、接続要求受信部３１から受ける通知には、サーバ接続情報が含まれている必要がある。なお、各サーバ１８に対する認証情報が蓄積されたディレクトリデータベースを、ＳＳＯサーバ３０のＨＤＤ４に記憶するようにしてもよいし、外部装置で保持管理させるようにしてもよく、認証情報取得部３２は、既知の格納先から必要な認証情報を取り出してくる。認証情報が正常に取得できれば（ステップ２０４でＹ）、取得した認証情報を通信制御部３４へ渡す。一方、クライアント２０におけるサーバ１８の指定の誤り、ＳＳＯサーバ３０の管理外などが原因で認証情報を取得できなければ（ステップ２０４でＮ）、ＳＳＯサーバ３０は、接続要求送信元のクライアント２０へサーバ１８の認証不可というエラーを通知する（ステップ２１４）。
【００３７】
続いて、アドレス決定部３３は、接続要求で指定されたサーバ１８との通信に用いるＩＰアドレスを取得する（ステップ２０５）。アドレス決定部３３が取得するＩＰアドレスは、ＳＳＯサーバ３０若しくはシステムにおいてサーバ１８との通信に用いるために予め確保しておいた少なくとも１つ以上のＩＰアドレスであって、本実施の形態では、これらの予め確保されたＩＰアドレスをアドレスプールにて管理する。
【００３８】
図６は、本実施の形態において用いるアドレスプールのデータ構成例を示した図である。アドレスプールには、予め確保されたＩＰアドレスとクライアントＩＤとが対応付けして管理され、使用されているＩＰアドレスには、当該ＩＰアドレスを使用しているクライアント２０のクライアントＩＤが対応付けして設定される。従って、クライアントＩＤの欄が空白のＩＰアドレスが未使用と把握できるので、アドレス決定部３３は、アドレスプールの中から、クライアントＩＤの欄が空白のＩＰアドレスを１つ取り出し、それを接続要求で指定されたサーバ１８との通信に用いるＩＰアドレスと決定する。なお、未使用のＩＰアドレスが複数存在する場合には、アドレスプールの上位に位置する方を使用するなど所定の規則に従い１つのＩＰアドレスを決定すればよい。
【００３９】
なお、図６に示したアドレスプールのデータ構成は、一例である。従って、ＩＰアドレスに、使用中か否かのフラグ情報やＩＰアドレスを取得したＳＳＯサーバ３０の識別情報を対応付けして設定するように構成してもよい。また、アドレスプールは必須ではなく、アドレスプールを用いることなく同一リンク上で使用可能な任意のＩＰアドレスから未使用のＩＰアドレスを選出して接続要求で指定されたサーバ１８との通信に用いるＩＰアドレスと決定してもよい。具体的には、使用可能な任意のＩＰアドレスを選択し、当該ＩＰアドレスが既に使用されているか否かを問い合わせる。例えば、ＡＲＰ（Address Resolution Protocol）コマンドを用いて当該ＩＰアドレスを持っているノードのＭＡＣアドレスを調べる。コマンドに対して応答がなければ、当該ＩＰアドレスは未使用アドレスであるからサーバ１８との通信に用いるＩＰアドレスと決定する。一方、コマンドに対して応答があり既に使用されている場合には、別のＩＰアドレスを選択して同様の処理を繰り返す。全てのＩＰアドレスが使用中であれば所定のエラー処理を行い終了する。未使用のＩＰアドレスの探索処理は一定の繰り返し回数あるいは一定時間に設定してもよく、接続要求で指定されたサーバ１８の重要度あるいは接続要求の重要度（あるいは優先度）に応じて探索処理回数や時間を動的に変化させてもよい。未使用のＩＰアドレスが発見され、サーバ１８との通信に用いるＩＰアドレスと決定した後は、他のノードに対して当該ＩＰアドレスの使用を通知してもよい。他のノードにおいて当該ＩＰアドレスを先使用される事態を防止するためである。未使用アドレスの探索には任意のアルゴリズムを用いることができ、例えば「ＤＡＤ」(Duplicate Address Detection)として知られる公知の重複アドレス検出方法を用いることができる。なお、本実施形態において、「未使用アドレス」には、過去において一度も使用されていないＩＰアドレスの他、使用履歴はあるが現在は使用されていないＩＰアドレスも含まれる。要するに、少なくとも、サーバ１８との通信に用いられるであろう予想時間内あるいは期待時間内において未使用であればよい。
【００４０】
本実施の形態は、少なくとも１つの未使用のＩＰアドレスが存在すれば実施可能である。但し、１つだけだとサーバ１８とクライアント２０との間でデータ通信を同時並行して実施させることができなくなるので、本実施の形態では、複数のＩＰアドレスを事前に確保してそれらのＩＰアドレスをアドレスプールにて管理するようにした。そして、その中から未使用のＩＰアドレスを選出できるように構成した。なお、アドレスプールの保管場所は、ＳＳＯサーバ３０のＲＡＭ３又はＨＤＤ４に記憶するようにしてもよいし、外部装置で保持管理させるように構成してもよい。もし、システム内に複数台のＳＳＯサーバ３０を設けるのであれば、外部装置にて保持管理させるのが都合良い。アドレス決定部３３は、今回使用するＩＰアドレスを既知の格納先から取り出してくることになる。
【００４１】
なお、ステップ２０３，２０４と、ステップ２０５とを同時並行して処理することは可能である。
【００４２】
続いて、サーバ接続部３６は、アドレス決定部３３が取得したＩＰアドレスをネットワークインタフェース１１に設定した後（ステップ２０６）、接続要求受信部３１から送られてきたサーバ接続情報から特定できるサーバ１８へ接続要求を送信する（ステップ２０７）。サーバ１８とＳＳＯサーバ３０との接続確立手順は、所定のプロトコルに従うものであり、本実施の形態においては、ＴＣＰの接続確立手順に従う。ここで、接続に失敗すると（ステップ２０８でＮ）、ＳＳＯサーバ３０は、接続要求送信元のクライアント２０へサーバ１８との接続エラーを通知する（ステップ２１４）。
【００４３】
接続が正常に行われると（ステップ２０８でＹ）、サーバ接続部３６は、接続されたサーバ１８に対して認証要求を送信する（ステップ２０９）。この認証要求に含めて送信する認証情報は、認証情報取得部３２が取得したＳＳＯサーバ３０の認証情報である。
【００４４】
ここで、認証に失敗すると（ステップ２１０でＮ）、通信制御部３４は、サーバ１８との接続を切断し、またネットワークインタフェース１１から、ステップ２０６において設定したＩＰアドレスを削除する（ステップ２１５）。そして、ＳＳＯサーバ３０は、接続要求送信元のクライアント２０へサーバ１８との認証エラーを通知する（ステップ２１４）。
【００４５】
ところで、クライアントＩＤのアドレスプールへの設定は、アドレス決定部３３が当該ＩＰアドレスの使用を決定したとき、あるいは認証が成功してセッションが確立されたときなどが考えられるが、前述したようなエラーの発生を考慮して、クライアントＩＤの設定タイミングを決める必要がある。ステップ２１５では、ステップ２０５からエラーが発生するまでの間に設定した内容を解消して元の状態に戻す必要がある。アドレスプールへのいつ設定するかは、基本的には、エラー処理などを含めたプログラム設計に依存することになるが、本実施の形態では、セッションが確立されたことを確認してからクライアントＩＤをアドレスプールへ設定するようにした。従って、サーバ接続部３６は、サーバ１８によりユーザ認証された時点で、使用されることが確定したＩＰアドレスに対応させて、接続要求を送信したクライアント２０のクライアントＩＤを設定する。
【００４６】
サーバ１８によりユーザ認証されると（ステップ２１０でＹ）、セッション中断部３７は、セッションの中断処理を開始する。すなわち、セッション中断部３７は、まず確立したセッションに関する情報を取得する（ステップ２１１）。取得するセッション情報には、ＴＣＰ情報、サーバ１８とのセッションに使用されるＩＰアドレス、ポート番号、セッション識別子などが含まれる。そして、セッション中断部３７は、ネットワークインタフェース１１から設定していたＩＰアドレスを削除するというＩＰアドレスの停止処理を行う（ステップ２１２）。この後、セッション情報送信部３５は、セッション中断部３７により取得されたセッション情報を、接続要求送信元のクライアント２０へ送信する（ステップ２１３）。
【００４７】
この時点では、ＳＳＯサーバ３０のネットワークインタフェース１１からＩＰアドレスが削除されたことから、ＳＳＯサーバ３０は、サーバ１８との間で通信を行うことができない状態、すなわち、セッションが中断されている状態である。一方、サーバ１８は、ＳＳＯサーバ３０との間で確立されたセッションを維持している状態にある。
【００４８】
クライアント２０は、接続要求送信後セッション情報受信待ちの状態であったが、送信した接続要求に応じてＳＳＯサーバ３０から送られてきたセッション情報をセッション情報受信部２２が受信すると（ステップ１０２でＹ）、サーバ接続部２４は、セッション情報に含まれているＴＣＰ情報等を用いてＴＣＰセッションを作成する（ステップ１０３）。特に、重要なのは、セッション情報に含まれているＩＰアドレスをクライアント２０のネットワークインタフェース１１に設定することである。一方、ステップ１０２においてセッション情報を受信できなかった場合というのは、エラー通知を受信する場合や何も受信できないタイムアウトが考えられる。この場合（ステップ１０２でＮ）、クライアント２０は、ディスプレイ８へのメッセージ表示などによるユーザへの通知、ログ記録等所定の接続エラー処理を実施する（ステップ１０６）。
【００４９】
ステップ１０３において行われるセッションの設定処理は、ＳＳＯサーバ３０において確立されていたセッションをクライアント２０がそのまま引き継いで使用させるために行う設定処理である。サーバ１８と通信を行うＳＳＯサーバ３０及びクライアント２０を１つの組とみなすと、ＳＳＯサーバ３０が中断していたセッションをクライアント２０に再開させるための環境設定ともいうことができる。
【００５０】
なお、ＳＳＯサーバ３０から通知されたポート番号を、クライアント２０がすでに使用している場合も考えられる。これを解消するためには、接続要求時に、使用するポート番号をクライアント２０から指定、空きポート番号リストを通知（使用するポート番号候補を通知）等ＳＳＯサーバ３０と連携しながら使用するポート番号を決定すればよい。
【００５１】
以上の設定処理により、クライアント２０には、サーバ１８とＳＳＯサーバ３０との間で確立されたセッションと全く同一の設定内容で、サーバ１８との間でセッションが設定されることになる。
【００５２】
ところで、同一リンク上の他のネットワーク機器のＩＰアドレスを内部に記憶して管理するネットワーク機器がＬＡＮ１２に接続されている場合が考えられる。このような場合、クライアント２０内部における設定処理が終了したとしても、この状態のままでは、同一リンク上のクライアント２０とＳＳＯサーバ３０以外のネットワーク機器は、当該ＩＰアドレスはＳＳＯサーバ３０のＩＰアドレスと認識したままである。そこで、サーバ接続部２４は、Ｇｒａｔｕｉｔｏｕｓ  ＡＲＰパケットを送信して、当該ＩＰアドレスはクライアント２０のＩＰアドレスであることを他のネットワーク機器へ通知する（ステップ１０４）。この処理をより具体的に説明すると、クライアント２０は、自己が引き継いだＩＰアドレスの設定先の問合せをＬＡＮ１２に送出する。この問合せに対しては、設定先であるクライアント２０が自ら応えることになる。つまり、問合せに対する返答をＬＡＮ１２に送出する。この結果、他のネットワーク機器は、上記返答を受信し参照することによって当該ＩＰアドレスの設定先がＳＳＯサーバ３０からクライアント２０に変更されたことを認知することができるので、内部で管理している当該ＩＰアドレスの情報を更新することができる。
【００５３】
このようにして、サーバ１８とのセッションに用いるＩＰアドレスの設定先はクライアント２０であることが周知されると、クライアント２０は、サーバ１８との間で通信を行うことが可能になり、そのサーバ１８が提供するサービスを受けることができるようになる。このサービスが提供される際、クライアント２０は、ＳＳＯサーバ３０を経由せずに、かつＳＳＯサーバ３０の認証情報を用いることなくサーバ１８と直接情報交換を行うことになる。一方、サーバ１８は、セッションが確立された相手が変更されたことを何ら意識する必要はなく、クライアント２０によりセッション再開後、クライアント２０からの要求に応じて所定のサービスを提供することになる。
【００５４】
なお、本実施の形態では、サーバ１８が提供するサービスを利用するクライアント２０としてコンピュータ、一般にＰＣを想定して説明したが、前述した他のネットワーク機器に相当する画像形成装置やネットワークプリンタ、ネットワークスキャナ等もクライアント２０になりうる。
【図面の簡単な説明】
【００５５】
【図１】本実施の形態におけるシングルサインオンシステムを示した全体構成図である。
【図２】本実施の形態におけるサーバ、クライアント及びＳＳＯサーバを構成する各コンピュータのハードウェア構成図である。
【図３】本実施の形態におけるシングルサインオンシステムのブロック構成図である。
【図４】本実施の形態におけるクライアントの動作手順を示したフローチャートである。
【図５】本実施の形態におけるＳＳＯサーバの動作手順を示したフローチャートである。
【図６】本実施の形態におけるアドレス決定部が参照するアドレスプールのデータ構成例を示した図である。
【符号の説明】
【００５６】
１  ＣＰＵ、２  ＲＯＭ、３  ＲＡＭ、４  ハードディスクドライブ（ＨＤＤ）、５  ＨＤＤコントローラ、６  マウス、７  キーボード、８  ディスプレイ、９  入出力コントローラ、１０  内部バス、１１  ネットワークインタフェース（ＩＦ）、１４  ファイアウォール、１６  公衆網、１８  サーバ、２０  クライアント、２１  接続要求送信部、２２  セッション情報受信部、２３，３４  通信制御部、２４，３６  サーバ接続部、３０  シングルサインオン（ＳＳＯ）サーバ、３１  接続要求受信部、３２  認証情報取得部、３３  アドレス決定部、３５  セッション情報送信部、３７  セッション中断部。
【図１】
2008181427.tif 000003
【図２】
2008181427.tif 000004
【図３】
2008181427.tif 000005
【図４】
2008181427.tif 000006
【図５】
2008181427.tif 000007
【図６】
2008181427.tif 000008