(57)【要約】      （修正有）【課題】認証およびセッション管理を改善する。【解決手段】  認証およびセッション管理は、ヒューマン・インターフェース・デバイス（ＨＩＤ）と、サーバなどの計算サービス・プロバイダ間の機能分割システム・アーキテクチャと共に使用する。サーバ上の認証マネージャは、ＨＩＤと相互作用して、ユーザがＨＩＤを介してシステムに接続する時にユーザを検証する。サーバ上のセッション・マネージャは、ユーザに提供する計算サービスを管理する。セッション・マネージャは、セッション内の各サービスに、ユーザが所与のＨＩＤを使用してシステムにアタッチされたことを通知する。サービスは、ユーザがシステムにアタッチされている間にＨＩＤに直接表示出力を向けることができる。ユーザがシステムからデタッチする時に、実行中のサービスそれぞれが認証マネージャおよびセッション・マネージャを介して通知され、実行を継続するがＨＩＤへの表示を停止する。【選択図】図２
2006073016.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ・システムによって、セッション・データベースに、ユーザ・セッションと、そのセッションにおいて実行されるサービス・コンポーネントを維持し、
前記コンピュータ・システムのコンポーネントとして構成された認証マネージャが、ユーザが前記コンピュータ・システムに接続するために該コンピュータ・システムのヒューマン・インターフェース・デバイスを介して入力するユーザ情報を、ユーザ情報とそのユーザ・セッションとを維持している認証データベースのユーザ情報と照合し、
前記入力されたユーザ情報が正しいものである場合に、
そのユーザ・セッションを管理するとともに、前記コンピュータ・システムのコンポーネントとして構成されたセッション・マネージャに前記ユーザが前記コンピュータ・システムに接続したことを、前記認証マネージャにより通知し、
前記認証マネージャからの通知を受けた前記セッション・マネージャが前記セッション・データベースをアクセスして、前記ユーザ・セッション内で前記ユーザが前記システムから切断されている間であっても実行可能な少なくとも１つのサービス・コンポーネントを開始し、
前記少なくとも１つのサービス・コンポーネントが、前記ユーザが前記ヒューマン・インターフェース・デバイスに接続されている間に、その出力を前記ヒューマン・インターフェース・デバイスに向け、
前記ユーザが前記コンピュータ・システムのヒューマン・インターフェース・デバイスとの接続を切断した時に、前記認証マネージャ、前記セッション・マネージャにより前記少なくとも１つのサービス・コンポーネントにその切断の旨を通知し、
前記通知を受けたサービス・コンポーネントが前記ヒューマン・インターフェース・デバイスへの出力を停止すること
を含んでおり、
さらに前記セッション・データベースが前記ユーザ・セッションに関連するセッション・リンクを維持しており、前記セッション・マネージャは前記セッション・データベースをアクセスして前記ユーザ・セッション及び該ユーザ・セッションに関連するセッション内で所定のサービスを開始することを特徴とするコンピュータ・システムにおいて、セッションを管理する方法。
【請求項２】
セッション・データベースに、ユーザ・セッションと、そのセッションにおいて実行されるサービス・コンポーネントを維持する手段と、
ユーザがコンピュータ・システムに接続するために該コンピュータ・システムのヒューマン・インターフェース・デバイスを介して入力するユーザ情報を、ユーザ情報とそのユーザ・セッションとを維持しているユーザ情報と照合するとともに、前記入力されたユーザ情報が正しいものである場合に、そのユーザ・セッションを管理するとともに前記コンピュータ・システムのコンポーネントとして構成されたセッション・マネージャに前記ユーザが前記コンピュータ・システムに接続したことを通知する、前記コンピュータ・システムのコンポーネントとして構成された認証マネージャと、
前記認証マネージャからの通知を受けた前記セッション・マネージャにより前記セッション・データベースをアクセスして、前記ユーザ・セッション内で前記ユーザに関連するとともに、前記ユーザが前記システムから切断されている間であっても実行可能な少なくとも１つのサービス・コンポーネントを開始させる手段と、
前記少なくとも１つのサービス・コンポーネントの出力を、前記ユーザが前記ヒューマン・インターフェース・デバイスに接続されている間において前記ヒューマン・インターフェース・デバイスに向けさせる手段と、
前記ユーザが前記コンピュータ・システムのヒューマン・インターフェース・デバイスとの接続を切断した時に、前記認証マネージャ、前記セッション・マネージャを介して前記少なくとも１つのサービス・コンポーネントにその切断の旨を通知する手段と、
前記通知を受けたサービス・コンポーネントによる前記ヒューマン・インターフェース・デバイスへの出力を停止させる手段と
を含んでおり、
さらに前記セッション・データベースが前記ユーザ・セッションに関連するセッション・リンクを維持しており、前記セッション・マネージャが前記セッション・データベースをアクセスすることにより、前記開始させる手段が前記ユーザ・セッション及び該ユーザ・セッションに関連するセッション内で所定のサービスを開始することを特徴とするコンピュータ・システム。
【請求項３】
コンピュータに対して、ユーザ・セッションと、そのセッションにおいて実行されるサービス・コンポーネントをセッション・データベースに維持させるように構成したコンピュータ可読プログラムと、
ユーザが前記コンピュータに接続するために該コンピュータのヒューマン・インターフェース・デバイスを介して入力するユーザ情報と、ユーザ情報とそのユーザ・セッションとを維持している認証データベースのユーザ情報との照合を、前記コンピュータのコンポーネントとして構成された認証マネージャに行わせるように構成したコンピュータ可読プログラムと、
前記入力されたユーザ情報が正しいものである場合に、
そのユーザ・セッションを管理するとともに前記コンピュータのコンポーネントとして構成されたセッション・マネージャに前記ユーザが前記コンピュータに接続したことを、前記認証マネージャにより通知させるように構成したコンピュータ可読プログラムと、
前記認証マネージャからの通知を受けた前記セッション・マネージャが前記セッション・データベースをアクセスして、前記ユーザ・セッション内で前記ユーザが前記システムから切断されている間であっても実行可能な少なくとも１つのサービス・コンポーネントを開始させるように構成したコンピュータ可読プログラムと、
前記少なくとも１つのサービス・コンポーネントが、前記ユーザが前記ヒューマン・インターフェース・デバイスに接続されている間、その出力を前記ヒューマン・インターフェース・デバイスに向けさせるように構成したコンピュータ可読プログラムと、
前記ユーザが前記コンピュータの前記ヒューマン・インターフェース・デバイスとの接続を切断した時に、前記認証マネージャ、前記セッション・マネージャを介して前記少なくとも１つのサービス・コンポーネントにその切断の旨を通知させるように構成したコンピュータ可読プログラムと、
前記通知を受けたサービス・コンポーネントの前記ヒューマン・インターフェース・デバイスへの出力を停止させるように構成したコンピュータ可読プログラムと
を含んでおり、
さらに前記セッション・データベースが前記ユーザ・セッションに関連するセッション・リンクを維持させるように構成したコンピュータ可読プログラムと、前記セッション・マネージャが前記セッション・データベースをアクセスして前記ユーザ・セッション及び該ユーザ・セッションに関連するセッション内で所定のサービスを開始させるように構成したコンピュータ可読プログラムを設けたことを特徴とする、コンピュータ読み取り可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
（１．発明の分野）
本発明は、コンピュータ・システムに関し、具体的には、ユーザ認証およびユーザ・セッションのロケーション管理に関する。
【背景技術】
【０００２】
（２．背景技術）
コンピュータ・システムを構成するパラダイムは、時と共に変化してきた。以前には、コンピュータは、複数の「ダム端末（dumb terminal）」によってアクセスされる、いわゆる「メインフレーム」コンピュータからなっていた。メインフレームは、計算力とデータ記憶を行う中央ステーションであった。ダム端末は、メインフレームによって供給されるデータのための表示装置であり、データをメインフレームに通信する手段でもある。デスクトップ・コンピュータ、クライアント／サーバ・アーキテクチャ、および最近のいわゆるネットワーク・コンピュータを含む、他のシステム・パラダイムがこれに続いた。
【０００３】
デスクトップ・コンピュータは、すべてのアプリケーションおよびデータがそのデスクトップ・コンピュータ・システム自体に常駐する、自己完結型のコンピューティング・システムである。そのようなシステムは、パーソナル・コンピュータで実施され、家庭およびオフィスでのコンピュータの使用をサポートした。デスクトップ・コンピュータの短所は、システム内で使用されるハードウェアの寿命が短いことである。デスクトップ・コンピュータは、マイクロプロセッサ駆動であり、より高速で強力なマイクロプロセッサが使用可能になった際に、既存のデスクトップ・システムのグレードアップまたは新規デスクトップ・システムの購入が必要になる。多くのオフィスでは、パーソナル・デスクトップ・コンピュータが全体に配布されており、時には数千台から数万台の台数になる。そのような大量のシステムの短所は、個々のシステムのアプリケーションおよびデータの互換性のなさである。一部のユーザが、あるソフトウェアの古いバージョンとの後方互換性のない、ソフトウェア・アプリケーションのより新しいバージョンを有する可能性がある。この問題に対する解決策は、すべてのシステムで一貫性のあるソフトウェアを維持することである。しかし、各システムをグレードアップし、ソフトウェアおよびソフトウェア・グレードアップのライセンスを取得したコピーを供給するコストは、かなりのものになる可能性がある。
【０００４】
クライアント・サーバ・システムは、データまたはアプリケーションもしくはその両方の中央ストアが、ネットワークを介してパーソナル・コンピュータ・クライアントによってアクセスされるシステムである。これによって、共用されるデータを維持する際の多少の管理効率がもたらされる。しかし、クライアントは、まだ、すでに説明したデスクトップ・システムで直面したものと同一の種類の問題を提示する可能性がある、ローカル・アプリケーションおよびローカル・データを有する。
【０００５】
最近、インターネットの進歩が、いわゆる「ネットワーク・コンピュータ」の提案される使用をもたらした。ネットワーク・コンピュータは、パーソナル・コンピュータのストリップ・ダウン版であり、記憶空間が少なく、メモリが少なく、しばしば計算力が低い。これは、ネットワーク・コンピュータが、インターネットを介してデータにアクセスし、特定のタスクに必要なアプリケーションだけが、ネットワーク・コンピュータに供給されるという概念である。アプリケーションは、使用されなくなった時に、ネットワーク・コンピュータに記憶されない。完全なデスクトップ・システムの威力を欠きながら、機能の低下を正当化するに十分に安価ではないという、そのようなシステムに対する批判があった。また、ネットワーク・コンピュータはデスクトップ・コンピュータのサブセットであるが、ネットワーク・コンピュータは、適当な性能レベルを維持するためにハードウェアおよびソフトウェアのグレードアップを必要とする可能性がある。
【０００６】
動的ホスト構成プロトコルの例が、ＲＦＣ２１３１で提供されている。ＲＦＣ１３２１およびＲＦＣ２１０４に、ＭＤ５またはメッセージ・ダイジェストの例が含まれる。ポイント・ツー・ポイント・チャレンジ・ホスト認証プロトコルが、ＲＦＣ１９９４に含まれる。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
（発明の概要）
認証およびセッション管理は、ヒューマン・インターフェース・デバイス（ＨＩＤ）と、サーバなどの計算サービス・プロバイダとの間で機能性を分割するシステム・アーキテクチャと共に使用することができる。サーバ上で実行される認証マネージャは、ＨＩＤと相互作用して、ユーザがＨＩＤを介してシステムに接続する時にユーザを検証する。サーバ上で実行されるセッション・マネージャは、ユーザのために計算サービスを行うコンピュータ上で走行するサービス（たとえばプログラム）を管理する。セッション・マネージャは、セッション内の各サービスに、ユーザが所与のデスクトップ・マシンを使用してシステムにアタッチされたことを通知する。サービスは、ユーザがシステムにアタッチされている間にＨＩＤに表示出力を向けることができる。ユーザがシステムからデタッチする時に、そのユーザのために実行中のサービスのそれぞれが、認証マネージャおよびセッション・マネージャを介して通知される。ユーザがシステムからデタッチされることの通知の際に、サービスは、実行を継続するが、デスクトップ・マシンへの表示を停止する。
【課題を解決するための手段】
【０００８】
（発明の詳細な説明）
セッション管理およびユーザ認証のための方法および装置を説明する。以下の説明では、本発明のより完全な説明を提供するために、多数の具体的な詳細を示す。しかし、これらの具体的な詳細なしで本発明を実践できることは、当業者には明白であろう。他の場合には、本発明を不明瞭にしないために、周知の特徴は詳細に説明しない。
【０００９】
概要
本発明の１つまたは複数の実施形態による、システム・ユーザを認証し、ユーザのためにシステム内で実行中のサービスを管理するための方法および装置を説明する。本発明の一実施形態では、認証およびセッション管理が、ユーザのＨＩＤとサーバなどの計算サービス・プロバイダの間でコンピューティング機能性を分割するシステム・アーキテクチャ内で実行される。
【発明を実施するための最良の形態】
【００１０】
図１、図７、および図８に、本発明の１つまたは複数の実施形態で使用されるシステム・アーキテクチャの例を示す。本発明は、図１に示されたものなどの標準的なデスクトップ・コンピュータ・システム内、または、図７および図８のクライアント−サーバ・システム、ネットワーク・コンピュータ、またはヒューマン・インターフェース・デバイス・システムを含む、他のコンピュータ・システムで実施することができる。
【００１１】
コンピュータ実行環境（ハードウェア）の実施形態
本発明の実施形態は、図１に示されたコンピュータ１００などの汎用コンピュータ上で実行されるコンピュータ可読コードの形、またはそのようなコンピュータ上で走行するＪａｖａ（登録商標）ランタイム環境内で実行可能なバイトコード・クラス・ファイルの形のコンピュータ・ソフトウェアとして実施することができる。キーボード１１０およびマウス１１１が、両方向システム・バス１１８に結合される。キーボードおよびマウスは、ユーザ入力をコンピュータ・システムに導入し、そのユーザ入力をプロセッサ１１３に通信するためのものである。他の適当な入力装置を、マウス１１１およびキーボード１１０に追加して、またはその代わりに、使用することができる。両方向システム・バス１１８に結合されたＩ／Ｏ（入出力）ユニット１１９は、プリンタ、Ａ／Ｖ（オーディオ／ビデオ）Ｉ／ＯなどのＩ／Ｏ要素を表す。
【００１２】
コンピュータ１００には、ビデオ・メモリ１１４、メイン・メモリ１１５、および大容量記憶装置１１２が含まれ、これらのすべてが、キーボード１１０、マウス１１１、およびプロセッサ１１３と共に両方向システム・バス１１８に結合される。大容量記憶装置１１２には、磁気記憶システム、光学記憶システム、または光磁気記憶システムもしくは他の使用可能な大容量記憶技術などの、固定媒体と取外し可能媒体の両方を含めることができる。バス１１８には、たとえば、ビデオ・メモリ１１４またはメイン・メモリ１１５をアドレッシングするための３２本のアドレス線を含めることができる。システム・バス１１８には、たとえば、プロセッサ１１３、メイン・メモリ１１５、ビデオ・メモリ１１４、および大容量記憶装置１１２などのコンポーネントの間でデータを転送するための３２ビット・データ・バスも含めることができる。代替案では、別々のデータ線およびアドレス線の代わりに、多重データ／アドレス線を使用することができる。
【００１３】
本発明の一実施形態では、プロセッサ１１３が、６８０Ｘ０プロセッサなどのＭｏｔｏｒｏｌａ社によって製造されるマイクロプロセッサか、８０Ｘ８６またはＰｅｎｔｉｕｍ（登録商標）プロセッサなどのＩｎｔｅｌ社によって製造されるマイクロプロセッサか、Ｓｕｎ  Ｍｉｃｒｏｓｙｓｔｅｍｓ（登録商標），Ｉｎｃ．社によって製造されるＳＰＡＲＣ（登録商標）マイクロプロセッサである。しかし、他の適当なマイクロプロセッサまたはマイクロコンピュータを使用することができる。メイン・メモリ１１５は、ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）からなる。ビデオ・メモリ１１４は、デュアルポート・ビデオ・ランダム・アクセス・メモリである。ビデオ・メモリ１１４の一方のポートは、ビデオ・アンプリファイア１１６に結合される。ビデオ・アンプリファイア１１６は、陰極線管（ＣＲＴ）ラスタ・モニタ１１７を駆動するのに使用される。その代わりに、ビデオ・メモリ１１４を使用して、フラット・パネル・ディスプレイまたは液晶ディスプレイ（ＬＣＤ）もしくは他の適当なデータ・プレゼンテーション・デバイスを駆動することができる。ビデオ・アンプリファイア１１６は、当技術分野で周知であり、適当な装置によって実施することができる。この回路は、ビデオ・メモリ１１４に格納された画素データを、モニタ１１７による使用に適したラスタ信号に変換する。モニタ１１７は、グラフィック・イメージの表示に適した種類のモニタである。
【００１４】
コンピュータ１００には、バス１１８に結合された通信インターフェース１２０も含めることができる。通信インターフェース１２０は、ネットワーク・リンク１２１を介してローカル・ネットワーク１２２に結合する両方向データ通信を実施する。たとえば、通信インターフェース１２０が、サービス統合ディジタル網（ＩＳＤＮ）カードかモデムかケーブル・モデムである場合には、通信インターフェース１２０は、ネットワーク・リンク１２１の一部を含む対応する種類の電話回線へのデータ通信接続を行う。通信インターフェース１２０が、ローカル・エリア・ネットワーク（ＬＡＮ）カードである場合には、通信インターフェース１２０は、互換性のあるＬＡＮへのネットワーク・リンク１２１を介するデータ通信接続を実施する。無線リンクも可能である。そのような実施形態では、通信インターフェース１２０は、さまざまな種類の情報を表すディジタル・データ・ストリームを搬送する電気信号、電磁信号、または光信号を送受する。
【００１５】
ネットワーク・リンク１２１は、通常は、１つまたは複数のネットワークを介する他のデータ・デバイスへのデータ通信を実施する。たとえば、ネットワーク・リンク１２１は、ローカル・ネットワーク１２２を介する、ローカル・サーバ・コンピュータ１２３へまたはインターネット・サービス・プロバイダ（ＩＳＰ）１２４によって運営されるデータ機器へ接続することができる。ＩＳＰ１２４は、現在一般に「インターネット」１２５と呼ばれている全世界規模のパケット・データ通信網を介するデータ通信サービスを提供する。ローカル・ネットワーク１２２およびインターネット１２５の両方が、ディジタル・データ・ストリームを搬送する電気信号、電磁信号、または光信号を使用する。さまざまなネットワークを介する信号および、コンピュータ１００に出入りするディジタル・データを搬送する、ネットワーク・リンク１２１上および通信インターフェース１２０を介する信号が、情報を転送する搬送波の例示的形態である。
【００１６】
コンピュータ１００は、１つまたは複数のネットワーク、ネットワーク・リンク１２１、および通信インターフェース１２０を介して、メッセージを送信し、プログラム・コードを含むデータを受信することができる。インターネットの例では、リモート・サーバ・コンピュータ１２６が、インターネット１２５、ＩＳＰ１２４、ローカル・ネットワーク１２２、および通信インターフェース１２０を介して、アプリケーション・プログラムに関する要求されたコードを送信することができる。
【００１７】
受信されたコードは、受信時にプロセッサ１１３によって実行し／かつ、後に実行するために大容量記憶装置１１２または他の不揮発性記憶装置に格納することができる。この形で、コンピュータ１００は、搬送波の形でアプリケーション・コードを得ることができる。
【００１８】
アプリケーション・コードは、コンピュータ・プログラム製品の形で実施することができる。コンピュータ・プログラム製品には、コンピュータ可読コードを格納するか搬送するように構成された媒体、または、コンピュータ可読コードを埋め込むことができる媒体が含まれる。コンピュータ・プログラム製品の例が、ＣＤ−ＲＯＭディスク、ＲＯＭカード、フロッピ・ディスク、磁気テープ、コンピュータ・ハード・ドライブ、ネットワーク上のサーバ、および搬送波である。
【００１９】
ヒューマン・インターフェース・デバイス・コンピュータ・システム
本発明は、表示されるデータがネットワークを介して供給されるコンピュータ・システムへの応用分野も有する。ネットワークは、ローカル・エリア・ネットワーク、広域ネットワーク、インターネット、ワールド・ワイド・ウェブ、または他の適当なネットワーク構成とすることができる。本発明の一実施形態は、本明細書でヒューマン・インターフェース・デバイス・コンピュータ・システムと称するコンピュータ・システム構成で使用される。
【００２０】
このシステムでは、システムの機能性が、表示入力装置と、データ・ソースまたはサービスとの間で分割される。この表示入力装置が、ヒューマン・インターフェース・デバイス（ＨＩＤ）である。このシステムの分割は、状態機能および計算機能が、ＨＩＤから除去され、データ・ソースまたはサービス側に常駐するようになっている。本発明の一実施形態では、１つまたは複数のサービスが、ネットワークなどのなんらかの相互接続ファブリックを介して１つまたは複数のＨＩＤと通信する。そのようなシステムの例を、図７に示す。図７を参照すると、このシステムは、相互接続ファブリック７０１を介してＨＩＤ  ７０２にデータを通信する計算サービス・プロバイダ７００からなる。
【００２１】
計算サービス・プロバイダ  −  ＨＩＤシステムでは、計算力および状態維持が、サービス・プロバイダまたはサービス内にある。サービスは、特定のコンピュータに束縛されず、図１に関連して説明したものなどの１つまたは複数の従来のデスクトップ・システム上または従来のサーバを用いて分散させることができる。１つのコンピュータが、１つまたは複数のサービスを有することができ、１つのサービスを、１つまたは複数のコンピュータによって実施することができる。サービスは、計算、状態、およびデータをＨＩＤに供給し、サービスは、共通のオーソリティまたはマネージャの制御下にある。図７では、サービスは、コンピュータ７１０、７１１、７１２、７１３、および７１４にある。
【００２２】
サービスの例には、Ｘ１１／Ｕｎｉｘ（登録商標）サービス、アーカイブド・ビデオ（ａｒｃｈｉｖｅｄ  ｖｉｄｅｏ）・サービス、Ｗｉｎｄｏｗｓ（登録商標）  ＮＴサービス、Ｊａｖａ（登録商標）プログラム実行サービスその他が含まれる。本明細書では、サービスは、出力データを供給し、ユーザの要求および入力に応答するプロセスである。
【００２３】
相互接続ファブリック  −  本発明では、相互接続ファブリックは、サービスとＨＩＤの間でデータを搬送するのに適する複数の通信経路のいずれかである。一実施形態では、相互接続ファブリックは、イーサネット（登録商標）・ネットワークとして実施されるローカル・エリア・ネットワークである。他のローカル・ネットワークも利用することもできる。本発明では、広域ネットワーク、インターネット、ワールド・ワイド・ウェブその他の使用も企図されている。相互接続ファブリックは、ワイヤまたは光ファイバ・ケーブルなどの物理媒体を用いて実施することができ、無線環境で実施することもできる。
【００２４】
ＨＩＤ  −  ＨＩＤは、サービスが提供する計算サービスにユーザがアクセスする手段である。図７に、ＨＩＤ  ７２１、７２２、および７２３を示す。ＨＩＤは、ディスプレイ７２６、キーボード７２４、マウス７２５、およびオーディオ・スピーカ７２７からなる。ＨＩＤには、これらのデバイスを相互接続ファブリックにインターフェースし、サービスとの間でデータを送受するために必要なエレクトロニクスが含まれる。
【００２５】
ＨＩＤのブロック図を図８に示す。ＨＩＤのコンポーネントは、内部的にＰＣＩバス８１２に結合される。ネットワーク制御ブロック８０２は、リンク８１４を介して、イーサネットなどの相互接続ファブリックと通信する。オーディオ・コーデック８０３は、インターフェース８１６でオーディオ・データを受け取り、ブロック８０２に結合されている。ＵＳＢデータ通信は、ＵＳＢコントローラ８０１への信号線８１３上で提供される。
【００２６】
組み込まれたプロセッサ８０４は、たとえば、フラッシュ・メモリ８０５およびＤＲＡＭ  ８０６を結合されたＳｐａｒｃ２ｅｐとすることができる。ＵＳＢコントローラ８０１、ネットワーク・コントローラ８０２、および組み込まれたプロセッサ８０４は、すべてがＰＣＩバス８１２に結合される。やはりＰＣＩ  ８１２に結合されるのが、ビデオ・コントローラ８０９である。ビデオ・コントローラ８０９は、たとえば、信号線８１５上でＳＶＧＡ出力を供給するＡＴＩ社のＲａｇｅＰｒｏ＋フレーム・バッファ・コントローラとすることができる。ＮＴＳＣデータ８１７は、ビデオ・コントローラとの間で、ビデオ・デコーダ８１０およびビデオ・エンコーダ８１１を介して供給される。スマートカード・インターフェース８０８も、ビデオ・コントローラ８０９に結合することができる。
【００２７】
上で説明したコンピュータ・システムは、例示のみを目的とする。本発明の実施形態は、あらゆる種類のコンピュータ・システムまたはプログラミング環境または処理環境で実施することができる。
【００２８】
本発明の１つまたは複数の実施形態では、認証コンポーネントおよびセッション管理コンポーネントが、ユーザを認証し、セッションを突きとめ、管理するように構成される。セッションは、ユーザのために実行中の１つまたは複数のサービスの関連する組の永続的な表現である。本発明の実施形態は、セッション内のサービスがユーザ検証およびリロケーションを実行するように構成されることを必要とせずに、ユーザを認証し、ユーザの現在位置に基づいてユーザのセッションをリロケートする。本発明の実施形態は、すべてのユーザのサービスに対して１回だけユーザを認証する。本発明の実施形態を使用すると、サービスは、ユーザが現在使用しているＨＩＤ（または他の端末デバイス）に向けられる。ユーザが各サービスにログインし、特定のＨＩＤのために新しい接続を確立することは必要でない。
【００２９】
本発明の実施形態によれば、認証は、１方向認証であり、これによって、認証の管理しやすさとスケーラビリティが改善される。鍵を交換する必要はなく、中央データベースで鍵ルックアップを実行する必要がなくなる。
【００３０】
図２に、本発明の実施形態による、認証コンポーネントおよびセッション管理コンポーネントとその相互作用を示す。ネットワーク端末２０２は、ヒューマン・インターフェース・デバイス（ＨＩＤ）（たとえばＨＩＤ  ７２１、７２２、および７２３）である。ＨＩＤは、その機能の例として、サービスの出力をユーザに表示し、ユーザからサービスへの入力を得るという仕事を有する。ネットワーク端末２０２は、たとえば計算サービス・プロバイダ（たとえばコンピュータ７１０、７１１、７１２、７１３、および７１４）上で実行中のソフトウェア・プログラム（たとえばサービス２３０ないし２３８、認証マネージャ２０４、およびセッション・マネージャ２０６）から受け取るコマンド（たとえば表示コマンド）に応答する能力を有する。ユーザから受け取る入力は、たとえば、ユーザ要求を満たすサービスに転送される。
【００３１】
複数のサーバが、１セッションを構成するサービスを実行することができる。たとえば、セッション２０８では、サービス２３０が、サーバ２１０上で実行中であり、サービス２３２および２３４が、サーバ２１２上で実行中であり、サービス２３６および２３８が、サーバ２１４上で実行中である。
【００３２】
ユーザは、ログインを開始することによってシステム（たとえばサーバ、セッション、サービス、およびネットワーク端末）にアクセスする。ログイン中に、ユーザは、認証マネージャ２０４によって検証される。さまざまな技法を使用して、ユーザがログインを開始できるようにすることができる。たとえば、ユーザは、ネットワーク端末２０２のキーを押し下げることによってログインを開始することができる。
【００３３】
本発明の一実施形態では、ユーザは、ネットワーク端末２０２にアタッチされたカード・リーダ（たとえばカード・リーダ２１６）にスマート・カードを挿入することによってシステムにアクセスする。スマート・カードとは、スマート・カードの磁気ストリップまたはメモリなどに情報を格納することができるカードである。スマート・カードは、ネットワーク端末２０２に送信される、ユーザの識別（すなわち、６４ビット数などのユーザＩＤ）および秘密コード（たとえば１２８ビットの乱数）などのユーザ情報を格納することができる。秘密コードは、認証中に使用される。
【００３４】
ネットワーク端末２０２は、その相互接続ネットワーク・アドレスおよび認証マネージャ２０４のアドレスを知っている（または得ることができる）。ユーザがログインを開始する時に、ネットワーク端末２０２は、認証マネージャ２０４との通信を開始して、認証を開始する。認証マネージャ２０４は、たとえばローカル・エリア・ネットワーク（ＬＡＮ）などの相互接続ネットワークを介してネットワーク端末２０２に接続された計算サービス・プロバイダ上でアクティブな（たとえば実行中の）プログラムである。しかし、ネットワーク端末２０２を、ファイバ・チャネル・ループまたはポイント・ツー・ポイント・ケーブルなどの他の相互接続ネットワーク技術を使用して認証マネージャ２０４に接続できることは明白である。ネットワーク端末２０２は、ユーザ識別（ｕｓｅｒＩＤ）を含むスタートアップ要求を認証マネージャ２０４に送信する。
【００３５】
本発明の一実施形態では、認証マネージャ２０４は、ユーザを検証する認証を開始することによって、スタートアップ要求に応答する。認証には、システムに対してユーザの身元を検証する機構であればどれでも含めることができる。ユーザだけが知っている鍵またはパスワードもしくは生物測定情報を、ユーザの認証に使用することができる。
【００３６】
本発明の一実施形態では、認証は、ユーザがネットワーク端末２０２で入力する個人識別番号（ＰＩＮ）を検証することによって実行される。認証マネージャ２０４は、ネットワーク端末２０２でのユーザのＰＩＮの入力を開始するコマンド（すなわちチャレンジ・コマンド）を送信する。ユーザ入力は、ネットワーク端末２０２によってパッケージ化され、認証マネージャ２０４に送信される（すなわちチャレンジ応答）。
【００３７】
認証マネージャ２０４は、認証データベース２１８に保持されているユーザ情報、ユーザによって供給される情報、および認証中に生成される情報を用いて、チャレンジ応答を検証する。ユーザが認証された時に、そのユーザに、セッション（たとえばセッション２０８）へのアクセス権が与えられる。
【００３８】
予期された結果をユーザから受信した場合に、認証マネージャ２０４は、セッション・マネージャ２０６に、ユーザがネットワーク端末２０２上でシステムにログ・インしたことを（接続メッセージを介して）通知する。認証データベース２１８に格納されたセッション情報を使用して、セッション・マネージャ２０６のサーバ、ポート、およびセッション識別子（ＩＤ）を識別する。セッション・マネージャ２０６は、計算サービス・プロバイダ上でアクティブなプログラムであり、たとえば相互接続ネットワークを介して、認証マネージャ２０４およびネットワーク端末２０２に接続される。認証マネージャ２０４は、認証データベース２１８に含まれるセッション・マネージャ２０６のサーバおよびポート情報を使用して、セッション・マネージャ２０６にメッセージを送信する。
【００３９】
認証マネージャ２０４からの接続メッセージに応答して、セッション・マネージャ２０６は、ユーザの現在のセッションのサービス（すなわち、セッション２０８のサービス）に、ユーザがネットワーク端末２０２にアタッチされたことを通知する。すなわち、セッション・マネージャ２０６は、サービス２３０ないし２３８に接続メッセージを送信して、出力をネットワーク端末２０２に向ける。セッション・マネージャ２０６は、セッションの必須サービスと思われるサービスが確実に実行中になるようにする。実行中でない場合には、セッション・マネージャ２０６は、そのサービスを開始させる。ユーザは、セッション（たとえばセッション２０８）内でサービス２３０ないし２３８と対話することができる。ネットワーク端末２０２は、ローカル・エリア・ネットワークまたは他の相互接続技術などの相互接続ネットワークを介してサーバ２１０、２１２、および２１４（およびサービス２３０ないし２３８）に接続される。ユーザは、新規サービスを起動することができ、既存のサービスを終了することもできる。
【００４０】
ユーザは、カード・リーダ２１６からカードを除去することによって、システムからデタッチすることができる。切断を表す他の機構も、本発明と共に使用することができる（たとえば、ネットワーク端末２０２上の「サインオフ・ボタン）。サービス２３０ないし２３８は、ユーザがカード・リーダ２１６からカードを除去した後であっても走行を継続することができる。すなわち、ユーザの関連するセッションおよびセッションを構成するサービスは、ユーザがシステムからアタッチ解除（たとえばログ・オフ）している期間中に存在を継続することができる。ユーザがカード・リーダ２１６からカードを除去する時に、ネットワーク端末２０２が、認証マネージャ２０４に通知し（たとえば切断メッセージを介して）、認証マネージャ２０４が、セッション・マネージャ２０６に通知する（たとえば切断メッセージを介して）。セッション・マネージャ２０６は、サービス２３０ないし２３８に通知し（たとえば切断メッセージを介して）、サービス２３０ないし２３８は、ネットワーク端末２０２への表示コマンドの送信を終了する。しかし、サービス２３０ないし２３８は、ユーザがネットワーク端末にログ・オンしていない時間の間に実行を継続する。ユーザは、ネットワーク端末２０２などのネットワーク端末を使用してログ・バックし、セッション２０８に接続し、サービス２３０ないし２３８と対話することができる。
【００４１】
図２にはそれぞれ単一のインスタンスが示されているが、ネットワーク端末２０２、認証マネージャ２０４、およびセッション２０８の複数のインスタンスが存在することが可能であることを諒解されたい。たとえば、ネットワーク端末２０２をサービスする認証マネージャ２０４の複数のインスタンスが存在することができ、ネットワーク端末２０２の複数のインスタンスが存在することができる。認証マネージャ２０４のインスタンスは、たとえばネットワークのトポロジに従って階層に編成することができ、グローバルに使用可能にすることもできる。
【００４２】
認証マネージャの複数のインスタンスを有することによって、現在の負荷（たとえばユーザの数）に基づいて認証マネージャ２０４のインスタンスを追加（または除去）することが可能になるので、システムのスケーラビリティが向上する。さらに、認証マネージャ２０４の冗長なインスタンスを配置することができるので、信頼性が向上する。
【００４３】
同様に、複数のセッション・マネージャ２０６のインスタンスが存在することができる。認証マネージャ２０４と同様に、セッション・マネージャ２０６の複数のインスタンスによって、システムのスケーラビリティおよび信頼性を高めることができる。
【００４４】
セッション・マネージャ
セッション・マネージャ２０６は、ユーザ、セッション、およびサービスの間のマッピングを含むセッション・データベース２２０を維持する。セッション・マネージャ２０６は、セッション・マネージャ２０６によって管理される各セッションを構成するサービスを管理する。たとえば、セッション・マネージャ２０６は、セッション２０８とセッション２０８内のサービス２３０ないし２３８を維持する。
【００４５】
計算サービス・プロバイダにアクセスするために、まず、ユーザのためにアカウントをセット・アップするかイネーブルする。たとえば、本発明の一実施形態に従ってユーザをイネーブルするためには、ユーザに、ｕｓｅｒＩＤ、ＰＩＮ、およびｕｓｅｒＩＤと秘密コードを格納したスマート・カードを与える。さらに、ユーザのためにセッションを作成する。下で説明するように、セッションは、必須サービスを有しないことも、１つ又は複数有することもできる。セッションを作成する時に、必須サービスの一部を初期化することが必要になる場合がある。サービスは、初期化された後に、ユーザがシステムに接続されているかどうかに無関係に、アクティブであり続ける。必須サービスのバランスは、ユーザが最初にログ・インする時に開始することができる。
【００４６】
ユーザは、１つのセッションに制限されない。所与の時点で１ユーザに関連する複数のセッションが存在することができる。セッション・データベース２２０には、ユーザに関連するセッションおよびセッション内のサービスを識別するレコードが含まれる。イネーブルされたユーザを、システムから除去することができる。ユーザがシステムから除去される時には、ユーザに関連するセッションのすべてが、システムおよびセッション・データベース２２０から除去される。ユーザのセッションに関連するサービスも、停止される。
【００４７】
ユーザは、システムの使用をイネーブルされた後に、ネットワーク端末２０２を介してシステムにログ・オンすることができる。セッション・マネージャ２０６は、ユーザがネットワーク端末２０２に接続されたことを認証マネージャ２０４によって通知された時に、ユーザのセッション（すなわち、セッションを構成するサービス）に通知する。セッション・マネージャ２０６は、セッション・データベース２２０に問い合わせて、セッションのサービスを識別し、通知する。たとえば、セッション・データベース２２０には、セッション２０８およびセッション２０８に含まれるサービス２３０ないし２３８を識別する情報が含まれている。
【００４８】
セッション・データベース２２０には、セッションおよびセッションに関連するサービスを識別する、永久セッション・レコードと動的セッション・レコードが含まれる。セッション・データベース２２０は、１つまたは複数のデータベースまたはデータ・ストアとすることができる。たとえば、永久セッション・レコードは、構成ファイル内に格納することができ、動的セッション・レコードは、データベース・システム内のメモリに格納することができる。永久セッション・レコードは、ユーザの構成情報が格納され、通常は、たとえばユーザがシステムの使用をイネーブルされる時点で、そのユーザのために作成される。動的セッション・レコードは、ユーザに関連するサービスを識別する。動的セッション・レコードは、永久セッション・レコード内のユーザ・セッションに関連する必須サービスならびに現在アクティブなサービスを識別する。下記に、本発明の実施形態による永久セッション・レコードのフォーマットが含まれる。
sessionID serviceID serviceHost servicePort isLazy
【００４９】
ｓｅｓｓｉｏｎＩＤフィールドは、必須サービスを含むセッションを一意に識別する。ｓｅｒｖｉｃｅＩＤフィールドは、ｓｅｓｓｉｏｎＩＤによって識別されるセッションに関連するサービスを一意に識別する。ｓｅｒｖｉｃｅＨｏｓｔフィールドおよびｓｅｒｖｉｃｅＰｏｒｔフィールドは、サービスが走行しているサーバと、サービスがそれによって通信を受信することのできるサーバ上のポートを識別する。ｉｓＬａｚｙフィールドは、サービスを開始する形を識別する。たとえば、ｉｓＬａｚｙは、セッション作成直後にサービスを起動しなければならないこと、または、ユーザが始めてシステムにアクセスする時にサービスを起動しなければならないことを指定することができる。ｓｅｒｖｉｃｅＩＤ、ｓｅｒｖｉｃｅＨｏｓｔ、ｓｅｒｖｉｃｅＰｏｒｔ、およびｉｓＬａｚｙフィールドは、ｓｅｓｓｉｏｎＩＤによって識別されるセッションに関連する必須サービスを各オカレンスが識別する、複数のオカレンスが存在する場合がある。
【００５０】
動的セッション・レコードは、セッションの必須サービスおよびセッション内で現在実行中のサービスを識別する。セッションの必須サービスは、たとえば、永久セッション・レコードから取り出される。動的セッション・レコードは、ユーザのために現在実行中である０個以上のサービス（必須サービスまたは他のサービス）を識別することができる。
【００５１】
動的セッション・レコード内のサービスに関する情報を格納するのに使用されるフィールドは、そのサービスが必須サービスとサービスのどちらであるかに依存する。現在アクティブな必須サービスは、現在のサービスでもある。セッションの必須サービスを識別する、動的セッション・レコードのフォーマットは、永久セッション・レコードのフォーマットと同一である。下記が、本発明の実施形態による現在実行中のサービスに関連するレコードのフォーマットを識別する。
sessionLink TCPSocketfd requiredServiceLink serviceID
【００５２】
ｓｅｓｓｉｏｎＬｉｎｋフィールドは、サービスのセッションを識別する。オープン接続またはパイプが、セッション・マネージャ２０６とセッション内の現在実行中のサービスの間で確立される。このオープン接続を使用して、セッション・マネージャ２０６またはサービスのいずれかに、他方が異常にまたは他の形で終了したことを通知することができる。本発明の一実施形態では、オープン接続が、ＴＣＰＳｏｃｋｅｔｆｄフィールドによって識別されるＴＣＰソケット接続である。しかし、接続がディスエーブルされたか消滅したことの通知を提供することができる信頼性のある接続技術であれば、どのような形のものでも本発明の実施形態と共に使用することができることは明白である。
【００５３】
サービスは、ｓｅｒｖｉｃｅＩＤフィールドに格納される識別子を有する。現在走行中のサービスを、必須サービスにリンクすることができる。必須サービスへのリンクは、ｒｅｑｕｉｒｅｄＳｅｒｖｉｃｅＬｉｎｋによって識別される。必須サービスへのリンクがない場合には、ｒｅｑｕｉｒｅｄＳｅｒｖｉｃｅＬｉｎｋはｎｕｌｌである。
【００５４】
動的セッション・レコードは、ネットワーク端末（たとえばネットワーク端末２０２）への接続に関する情報を格納するのにも使用することができる。下記に、本発明の実施形態に従って接続を識別するフィールドが含まれる。
sessionLink Status IPAddress
【００５５】
複数のセッションが、１ユーザに関連することが可能である。ｓｅｓｓｉｏｎＬｉｎｋフィールドは、ネットワーク端末２０２にアタッチされたユーザが現在リンクされているセッションを識別する。ｓｅｓｓｉｏｎＬｉｎｋは、その値として、たとえばｓｅｓｓｉｏｎＩＤ値を有することができる。ｓｔａｔｕｓフィールドは、ネットワーク端末２０２のセッションへの接続状況（すなわち、接続または切断）を識別する。ＩＰＡｄｄｒｅｓｓフィールドには、ネットワーク端末２０２の相互接続ネットワーク・アドレスが格納される。本発明の１つまたは複数の実施形態では、ＩＰアドレスが使用される。しかし、代替相互接続技術によって代替アドレッシング方式を使用することができることは明白である。たとえば、非同期転送モード（ＡＴＭ）ネットワークでは、１３桁の交換機プレフィックス／端点識別子を使用することができる。
【００５６】
この情報は、セッション・マネージャ２０６が、ネットワーク端末２０２に状況メッセージを送信するのに使用することができる。ネットワーク端末２０２が、ある時間の間に応答しない場合には、セッション・マネージャ２０６は、そのネットワーク端末２０２がもはやユーザによって使用されていないと仮定し、セッション内のサービスのそれぞれに切断メッセージを送る。
【００５７】
セッション・マネージャ２０６が知っている他の情報には、サービスへのオープン接続（たとえばオープンＴＣＰｓｏｃｋｅｔｆｄを有するサービス）のリストと、オープン接続とセッションとセッション内のサービスの間のマッピングが含まれる。この情報は、たとえばセッション・レコードからコンパイルすることができる。
【００５８】
セッション・マネージャ２０６から使用可能な情報は、セッションを突きとめるのに使用することができる。たとえば、あるサービスに対して、そのサービスを含むセッション、および／またはそのサービスがあるセッションに含まれるかどうかを見つけることができる。さらに、たとえばセッションが現在実行中であろうとなかろうと、所与のユーザまたはネットワーク端末２０２のインスタンスに関連するセッションを突きとめることができる。
【００５９】
サービスの開始
セッション・マネージャ２０６は、ユーザがネットワーク端末２０２に接続されたことのメッセージを認証マネージャ２０４から受け取った時に、現在アクティブでない必須サービスを開始する。セッション・マネージャ２０６は、さらに、現在アクティブなサービスに、入出力（Ｉ／Ｏ）をネットワーク端末２０２に向けるように通知する。Ｉ／Ｏは、ネットワーク端末２０２およびその周辺デバイスとの通信に使用されるコマンド・プロトコルを使用して表すことができる（付録Ａに、本発明の実施形態によるコマンド・プロトコルの例が含まれる）。
【００６０】
サービスを開始するために、セッション・マネージャ２０６は、その上でサービスが実行されるサーバにアクセスして、サービスを起動する。たとえば、セッション・マネージャ２０６は、サーバ上のウェルノウン・ポートに要求を送り、セッション・マネージャ２０６のｓｅｓｓｉｏｎＨｏｓｔ、ｓｅｓｓｉｏｎＰｏｒｔ、およびｓｅｓｓｉｏｎＩＤを渡す。サーバは、サービスにアタッチされたネットワーク端末２０２に接続し、サーバのネイティブ認証および許可を使用して、ユーザがサーバにアクセスできるようにする。たとえば、ＵＮＩＸ（登録商標）オペレーティング環境では、ＵＮＩＸサービスを、ネットワーク端末２０２に表示される「ＣＤＥ  Ｌｏｇｉｎ」画面を用いて起動して、ユーザを認証し、ユーザがサービスに接続することを望んでいることを保証することができる。
【００６１】
セッション・マネージャ２０６は、サーバ上でサービスを起動するために、サービスを起動するのに必要な特権を与えられる。セッション・マネージャ２０６にこれらの特権を与えることが望ましくない場合がある。さらに、現在のネットワーク環境では、サーバが、異なるオペレーティング環境を走行させている場合がある。この場合には、セッション・マネージャ２０６は、サービスを起動するための各オペレーティング環境の手順を知らなければならない。
【００６２】
その代わりに、サーバ上で走行するセッション対応のアプリケーションが、開始を実行し、セッション・マネージャ２０６にサービスを登録することができる。この場合、セッション・マネージャ２０６が必要な特権を有する必要はない。さらに、セッション・マネージャ２０６は、複数のオペレーティング環境でサービスを開始するための集中化モデルを実施する必要がない。サービスを開始する責任は、異なるオペレーティング環境で走行中のセッション対応アプリケーションに委ねられる。セッション対応サーバ・アプリケーションは、セッション・マネージャ２０６（たとえばセッション・マネージャ２０６のｓｅｓｓｉｏｎＩＤ、ｓｅｓｓｉｏｎＨｏｓｔ、およびｓｅｓｓｉｏｎＰｏｒｔ）とそのインターフェース（たとえばメッセージ・フォーマット）の知識を有する。
【００６３】
セッション対応サーバ・アプリケーションは、セッション・マネージャ２０６から受け取った要求に応答してサービスを開始することができる。セッション・マネージャ２０６は、サーバのオペレーティング環境内でサービスを起動する許可を所有するサーバ・アプリケーションに開始メッセージを送る。サーバ・アプリケーションは、セッション・マネージャ２０６のためにサービスを開始し、有効なｓｅｓｓｉｏｎＩＤをセッション・マネージャ２０６に応答する。たとえばＵＮＩＸおよびＮＴシステムでは、ｓｅｓｓｉｏｎＩＤは、オペレーティング環境内で使用可能にすることができる。たとえばビデオ・ウィンドウなどのサービスを、この形で起動することができる。
【００６４】
その代わりに、セッション対応アプリケーションが、サービスに連絡して、暗号的に署名された認証の形でその許可を得ることができる。サーバ・アプリケーションは、ｓｅｓｓｉｏｎＩＤおよび署名された認証をセッション・マネージャ２０６に送信することができる。セッション対応アプリケーションが、認証なしで、サービスの記述を用いてセッション・マネージャ２０６に連絡する場合には、セッション・マネージャ２０６は、ユーザがサービスを許可されたことをネットワーク端末２０２が保証するための承認を要求することができる。ユーザが肯定的に応答する場合には、サービスがセッションに追加される。
【００６５】
セッション・マネージャのメッセージ
セッション・マネージャ２０６は、セッション内のサービスを管理するためにメッセージを受け取り、生成する。本明細書に記載されたもの以外の技法を、サービスの開始に使用することができる。セッション・マネージャ２０６は、サービスを開始する場合に、開始メッセージをサーバ（またはセッション対応サーバ・アプリケーション）に送る。セッション・マネージャ２０６は、たとえば、開始メッセージを生成して、セッション・データベース２２０で識別される必須サービスを起動することができる。もう１つの例として、セッション・マネージャ２０６は、開始メッセージを送って、終了されたと判定した（たとえば、セッション・マネージャ２０６とサービスの間のオープンＴＣＰ接続を介して）必須サービスを再活動化することができる。
【００６６】
セッション・マネージャ２０６は、ネットワーク端末２０２のユーザが成功裡にシステムにアタッチした時に、接続メッセージを受け取る。接続メッセージに応答して、セッション・マネージャ２０６は、必須サービスのすべてが起動されていることを検証し、走行中でない必須サービスを起動する。セッション・マネージャ２０６は、セッションのサービスにメッセージ（たとえば接続メッセージ）を送って、Ｉ／Ｏをネットワーク端末２０２に向けさせる。
【００６７】
切断メッセージを受け取った時に、セッション・マネージャ２０６は、セッションのサービスのそれぞれに切断メッセージを送って、ネットワーク端末２０２にＩ／Ｏを送るのを終了するように指示する。
【００６８】
セッション・マネージャ２０６は、ネットワーク端末２０２がまだ接続されていることを保証するために、周期的にネットワーク端末２０２に状況メッセージを送る。たとえば、セッション・マネージャ２０６は、セッション・データベース２２０の動的セッション・レコードを検査して、現在ネットワーク端末に接続されている各セッションを識別することができる。すなわち、セッション・マネージャ２０６は、セッション・データベース２２０の動的セッション・レコード内のネットワーク端末に関連する状況フィールドを検査することができる。セッション・マネージャ２０６は、セッションに接続されているネットワーク端末のそれぞれに状況要求（たとえば「ｐｉｎｇ」）を送る。特定のセッションについて、ある時間期間（たとえば２０秒）内にネットワーク端末２０２からの回答が受け取られない場合には、セッション・マネージャ２０６は、そのセッションがディスエーブルされていると仮定し、そのセッションの各サービスに切断メッセージを送って、表示機能を終了するように指示する。
【００６９】
ネットワーク端末２０２は、「Ｃａｒｄ  Ｉｎ」状況または「Ｃａｒｄ  Ｏｕｔ」状況のいずれかを用いて、セッション・マネージャ２０６からの状況（たとえばｐｉｎｇ）要求に応答する。ネットワーク端末２０２から「Ｃａｒｄ  Ｏｕｔ」状況を受け取る場合に、セッション・マネージャ２０６は、セッションのサービスのそれぞれに切断メッセージを送る。
【００７０】
状況要求に応答して「Ｃａｒｄ  Ｉｎ」状況が送られる場合には、ネットワーク端末２０２は、カード・リーダ２１６内のカードの挿入の数、カードが挿入されからの秒数、およびｃａｒｄＩＤも示す。ｃａｒｄＩＤは、たとえば、ユーザのセッションのｓｅｓｓｉｏｎＩＤの値である。セッション・マネージャ２０６は、新しい状況情報を前の状況情報と比較するために、少なくとも、ネットワーク端末２０２から最後に受け取った状況情報を保存する。たとえば、挿入の数または挿入の秒数が最後の状況情報と異なる場合に、セッション・マネージャ２０６は、セッションがディスエーブルされたと考える。この場合、セッション・マネージャ２０６は、そのセッションのサービスに切断メッセージを送る。
【００７１】
たとえばセッション対応サーバ・アプリケーションによって、サービスが起動される時に、サービス接続メッセージが、セッション・マネージャ２０６に送られる。サービスが正しい認証を有する場合、セッション・マネージャ２０６は、そのサービスをセッションのサービスのリストに追加し、サービスにメッセージを送って、Ｉ／Ｏをネットワーク端末２０２に向ける。
【００７２】
認証マネージャ
認証マネージャは、ユーザの正当性を保証し、ユーザとセッションを関連付ける責任を負う。本発明の一実施形態では、初期化プロセス（下で詳細に説明する）中に認証交換を行って、ユーザを認証する。認証には、システムに対してユーザの識別を検証するものであればどのような機構でも含めることができる。たとえば、ユーザを認証するために、鍵パスワードを入力するか、生物測定データを収集することができる。
【００７３】
認証データベース２１８には、認証マネージャ２０４がアクセスすることのできるユーザ情報およびセッション情報が格納される。本発明の一実施形態で認証データベース２１８に含まれるレコードのフォーマットは、次の通りである。
userID secret PIN sessionHost sessionPort sessionID
【００７４】
ｕｓｅｒＩＤフィールドおよびｓｅｃｒｅｔフィールドには、ユーザのスマート・カードに格納されるものと同一の値が格納される。ｕｓｅｒＩＤおよびｓｅｃｒｅｔの値は、通常は、たとえばユーザがシステムの使用をイネーブルされる時に確立される。本発明の一実施形態では、ｓｅｃｒｅｔフィールドに１２８ビットの値が格納される。ＰＩＮフィールドは、ユーザに既知であり、認証中に認証マネージャ２０４によって要求される個人識別番号（ＰＩＮ）である。ｕｓｅｒＩＤ、ｓｅｃｒｅｔ、およびＰＩＮの値が、ユーザの認証に使用される。認証データベース２１８には、ユーザの認証に使用される場合に、パスワードまたは生物測定データなどの他の情報を含めることができる。
【００７５】
ｓｅｓｓｉｏｎＨｏｓｔフィールドは、ユーザの現在のセッションを管理するセッション・マネージャ２０６を実行している計算サービス・プロバイダ（たとえばサーバ）を識別する。ｓｅｓｓｉｏｎＰｏｒｔフィールドは、セッション・マネージャ２０６との通信のためのポートを識別する。ｓｅｓｓｉｏｎＩＤフィールドには、セッション・マネージャ２０６の一意の識別子が格納される。認証に成功した場合、ｓｅｓｓｉｏｎＨｏｓｔフィールド、ｓｅｓｓｉｏｎＰｏｒｔフィールド、およびｓｅｓｓｉｏｎＩＤフィールドが、ネットワーク端末２０２でのユーザの位置についてセッション・マネージャ２０６に通知するのに使用される。
【００７６】
本発明の実施形態では、チャレンジ機構を使用して、ユーザを認証する（図６に、本発明の実施形態によるチャレンジ・プロセスのフローを示す）。認証マネージャ２０４は、ネットワーク端末２０２にチャレンジを送信して、ユーザの認証性を検証する。ネットワーク端末２０２は、チャレンジ応答を用意し、認証マネージャ２０４に返す。チャレンジに対する応答が、予想通りである場合には、ユーザが、認証マネージャ２０４に対して検証される。
【００７７】
図５Ａおよび図５Ｂに、本発明の実施形態による認証プロセスのフローを示す。認証プロセスは、認証が成功するか、繰返しまたはラウンドの数がある数を超えるまで、複数回繰り返すことができる。ステップ５０２で、認証ラウンドの数を表す識別子を０に初期化する。ステップ５０４で、チャレンジ数として使用される乱数を生成する。ステップ５０６で、認証マネージャ２０４が、Ｎ＿ＡＵＴＨＥＮＴＩＣＡＴＥコマンドならびに認証プロセスに関する情報のパケットをネットワーク端末２０２に送信する。
【００７８】
本発明の一実施形態では、下記の情報が、Ｎ＿ＡＵＴＨＥＮＴＩＣＡＴＥコマンドと共に送信される。
code identifier length valueSize value
【００７９】
ｃｏｄｅフィールドは、情報パケットに含まれる情報の種類を識別する。たとえば、「１」の値は、情報パケットにチャレンジが含まれることを示す。ｉｄｅｎｔｉｆｉｅｒフィールドには、ステップ５０２で生成された値（すなわちラウンド・インジケータ）が格納される。ｌｅｎｇｔｈフィールドは、情報パケットの長さを識別する。ｖａｌｕｅフィールドには、ステップ５０４で生成された乱数またはチャレンジの値が格納される。ｖａｌｕｅＳｉｚｅフィールドは、ｖａｌｕｅフィールドのサイズ（たとえば１２８ビット）を識別する。
【００８０】
ステップ５０８で、認証マネージャ２０４が、レンダリング・コマンドをネットワーク端末２０２に送信して、ユーザのＰＩＮについてユーザにプロンプトを表示する。ステップ５１０で、認証マネージャ２０４が、ネットワーク端末２０２からの応答またはタイムアウトを待つ。
【００８１】
ステップ５１０でタイムアウトが検出される場合には、処理は、ステップ５１４に継続されて、ラウンドの最大回数を超えたかどうかを判定する。そうでない場合には、処理はステップ５１８に継続されて、識別子を増分し、ステップ５０４に継続されて、新しい認証ラウンドを開始する。ステップ５１４で、ラウンドの最大回数が発生したと判定される場合には、処理は、ステップ５１６に継続されて、認証マネージャ２０４が、障害を示すレンダリング・コマンドをネットワーク端末２０２に送信し、認証処理が終了する。レンダリング・コマンドは、たとえば、ネットワーク端末２０２とその周辺デバイスとの通信に使用されるコマンド・プロトコルの一部とすることができる。
【００８２】
チャレンジ・ルーチンには、ユーザによるＰＩＮ入力を取り込み、応答を生成するために認証マネージャ２０４によってネットワーク端末２０２に送信されるコマンドが含まれる。ネットワーク端末２０２は、ユーザのＰＩＮ、識別子の値、ユーザのスマート・カードに格納されたｓｅｃｒｅｔの値、およびチャレンジの値（たとえば、ステップ５０４で生成された乱数）を含む入力からのハッシュ関数の出力（すなわちハッシュ値またはチャレンジ応答）である応答値を生成する。
【００８３】
ハッシュ関数は、可変長の入力を受け取り、固定長の出力（ハッシュ値）に変換することができる。ハッシュ関数の一例は、入力を受け取り、すべての入力バイトの排他的論理和（ＸＯＲ）からなる１バイトを返す。本発明の実施形態と共に使用することのできる、多数の他のハッシュ関数の例が存在する。ｈｍａｃ＿ｍｄ５関数（ＲＦＣ２１０４）が、本発明の実施形態で応答の生成に使用されるハッシング関数の例である。
【００８４】
下記のパケット・フォーマットが、本発明の一実施形態に従って認証マネージャ２０４に応答を送信するためにネットワーク端末２０２によって使用される。
code identifier length valueSize value userID
【００８５】
ｃｏｄｅフィールドには、この情報パケットにチャレンジ応答が含まれることを示す値「２」がセットされる。ｖａｌｕｅフィールドには、チャレンジ応答（たとえばハッシング関数の結果）が格納される。ｕｓｅｒＩＤフィールドには、ユーザのｕｓｅｒＩＤが格納される。
【００８６】
認証マネージャ２０４が、ネットワーク端末２０２から応答を受信したと判定する（ステップ５１０）場合、処理はステップ５１２に継続されて、ネットワーク端末２０２によって返された識別子が、認証マネージャ２０４によって生成された識別子と一致するかどうかを判定する。そうである場合には、処理はステップ５２０で継続されて、ネットワーク端末２０２によって返された応答を検査する。
【００８７】
ステップ５２０で、認証マネージャ２０４は、チャレンジ応答が、認証マネージャ２０４によって予想された応答と一致するかどうかを判定する。たとえば、認証マネージャ２０４は、その識別子、ＰＩＮ、ｓｅｃｒｅｔ、およびチャレンジ値を使用してハッシュ値を生成することができる。認証マネージャ２０４によって生成されたハッシュ値が、ネットワーク端末２０２によって生成されたチャレンジ応答と一致する場合には、認証が部分的に成功する。認証マネージャは、ネットワーク端末２０２の相互接続ネットワーク・アドレスおよびユーザのｕｓｅｒＩＤが有効であることも検証する。チャレンジ応答、相互接続ネットワーク・アドレス、およびｕｓｅｒＩＤが有効である場合には、認証が成功する。そうでない場合には、認証が失敗する。
【００８８】
認証が成功の場合には、処理はステップ５２８に継続されて、Ｎ＿ＡＵＴＨＥＮＴＩＣＡＴＥコマンドを送信する。本発明の実施形態による、このコマンドのフォーマットは次の通りである。
ｃｏｄｅ  ｉｄｅｎｔｉｆｉｅｒ  ｌｅｎｇｔｈ
【００８９】
ｃｏｄｅフィールドには、ユーザが成功裡に認証されたことを示す値「３」が格納される。処理は、ステップ５３０で継続されて、セッション・マネージャ２０６がユーザをユーザ・セッションの１つに接続しようとしていることを示すレンダリング・コマンドをネットワーク端末２０２に送信する。ステップ５３２で、認証マネージャ２０４が、ユーザがネットワーク端末２０２を介してシステムに接続されることをセッション・マネージャ２０６に通知する。認証マネージャ２０４は、ステップ５３２で、セッション・マネージャ２０６を実行しているサーバ（すなわち、ユーザの認証データベース・レコードのｓｅｓｓｉｏｎＨｏｓｔフィールドで識別されるサーバ）に、ネットワーク端末２０２の相互接続ネットワーク・アドレスおよびセッション・マネージャ２０６のｓｅｓｓｉｏｎＩＤを送信する。
【００９０】
認証が失敗の場合には、処理はステップ５２２に継続されて、Ｎ＿ＡＵＴＨＥＮＴＩＣＡＴＥコマンドを送信する。成功裡の認証と同様に、Ｎ＿ＡＵＴＨＥＮＴＩＣＡＴＥコマンドには、認証プロセスの状況を示すｃｏｄｅフィールドが含まれる。たとえばｃｏｄｅ値「４」を使用して、認証が失敗したことを示す。処理はステップ５２４に継続されて、ネットワーク端末２０２にレンダリング・コマンドを送信し、認証が失敗したことを示し、カード・リーダ２１６からスマート・カードを除去するようにユーザに指示する。
【００９１】
認証プロセスは、ステップ５２６で終了する。
【００９２】
図５Ａおよび図５Ｂに関連して説明したプロセスは、認証プロセスの一例である。他の認証技法を本発明の実施形態と共に使用することができることは明白である。代替実施形態では、ユーザは、ＰＩＮの入力を要求されない。カード・リーダ２１６内のユーザのカードが、ユーザの認証に十分である。ｕｓｅｒＩＤおよびｓｅｃｒｅｔの値を、認証マネージャ２０４から受信した識別子およびチャレンジと共にハッシュ化して、認証マネージャ２０４によるチャレンジに対する応答を生成することができる。この形で、ユーザは、単に有効な情報を含むカードをカード・リーダ２１６に挿入することによって、ユーザのサービスにアタッチすることができる。
【００９３】
さらに、本発明の実施形態を、ユーザの認証が実行されない場合に使用することができることは明白である。たとえば、信頼される環境またはセキュア環境では、ユーザの認証性を検証する必要がない場合がある。したがって、本発明の一実施形態では、ユーザは、まず認証マネージャ２０４によって認証されることなしに、セッションに接続される。ユーザは、たとえば識別（たとえばｕｓｅｒＩＤ）を供給するだけでよい。ユーザが有効なｕｓｅｒｉｄを供給する場合に、そのユーザは、そのｕｓｅｒＩＤに関連するセッションへのアクセス権を与えられる。
【００９４】
ユーザがネットワーク端末２０２から切断する時に、認証マネージャ２０４は、切断について知らされ、切断についてセッション・マネージャ２０６に知らせる。たとえば、ユーザがカード・リーダ２１６からスマート・カードを除去する時に、カード・リーダ２１６が、ネットワーク端末２０２に知らせる。ネットワーク端末２０２は、切断について認証マネージャに知らせる。認証マネージャ２０４は、ユーザがネットワーク端末２０２から切断したことをセッション・マネージャ２０６に知らせる。セッション・マネージャ２０６は、ユーザのセッションのサービスのそれぞれに通知する。
【００９５】
チャレンジ・ルーチン
認証プロセスに、認証マネージャ２０４によって開始されるチャレンジを含めることができる。図６に、本発明の実施形態によるチャレンジを処理するチャレンジ・ルーチン・プロセスのフローを示す。チャレンジ・ルーチンは、認証マネージャ２０４から受信したチャレンジ・コマンドに応答して、ネットワーク端末２０２上で実行される。
【００９６】
ステップ６０２で、リターン・キーまたはエンター・キーが押されるまで、ユーザから受け取ったキー入力を読み取る。ステップ６０４で、キー入力をＡＳＣＩＩ文字に変換する。ステップ６０６で、ハッシュ関数を使用して、識別子、ＰＩＮ、ｓｅｃｒｅｔ、およびチャレンジの値からハッシュ値またはチャレンジ応答を生成する。ステップ６０８で、チャレンジ応答を認証マネージャ２０４に送信する。ステップ６１０で、ネットワーク端末２０２が、認証マネージャ２０４からの応答またはタイムアウトを待つ。応答またはタイムアウトが発生した場合に、ステップ６１４でチャレンジ・ルーチンが終了する。
【００９７】
ネットワーク端末の初期化
ネットワーク端末２０２は、初めて電源を投入された時に、多少の初期化を実行する。ユーザがネットワーク端末２０２を使用していない時には、ネットワーク端末２０２は、電源が投入されている場合に休止状態になることができる。ユーザは、たとえば本明細書に記載の技法の１つを使用して、ネットワーク端末２０２をその休止状態から覚醒させることができる。他の技法を使用してネットワーク端末を覚醒できることは明白である。
【００９８】
図３に、本発明の実施形態による、電源投入操作に応答してネットワーク端末２０２を初期化するためのプロセスのフローを示す。ステップ３０２で、電源投入動作が行われたかどうかを判定する。そうでない場合には、処理を継続して、電源投入操作を待つ。ステップ３０４で、ネットワーク端末２０２によって、ネットワークに対する要求を生成して、ネットワーク接続をテストする。ステップ３０６で、応答を受信したかどうかを判定する。応答がない場合には、処理をステップ３１０で継続して、エラーを生成し、ステップ３０２で処理を継続して、電源投入操作を待つ。
【００９９】
ステップ３０６で、回答を受信したと判定される場合には、処理をステップ３０８で継続して、確認（ＡＣＫ）メッセージを送信し、ネットワーク端末２０２の初期化を、図４Ａのステップ４０２で継続することができる。
【０１００】
図４Ａないし図４Ｃに、覚醒操作に応答してネットワーク端末２０２を初期化する、本発明の実施形態によるプロセスのフローを示す。図４Ａを参照すると、ネットワーク端末２０２は、覚醒操作の通知を待つ。本発明の実施形態では、覚醒操作は、カード・リーダ２１６へのユーザのスマート・カードの挿入である。
【０１０１】
スマート・カードがカード・リーダ２１６に挿入されたと判定される場合には、処理はステップ４０４に継続されて、認証マネージャ２０４およびネットワーク端末２０２の相互接続ネットワーク・アドレスを得るために要求を送信する。その代わりに、ユーザのスマート・カードに、相互接続ネットワーク・アドレスをプログラミングすることができる。ネットワーク端末２０２は、たとえば、カード・リーダ２１６を介してスマート・カードから相互接続ネットワーク・アドレスを読み取ることができる。
【０１０２】
ステップ４０６で、ネットワーク端末２０２は、応答またはタイムアウトを待つ。タイムアウトが発生する場合には、処理はステップ４１２に継続されて、試行の最大回数を超えたかどうかを判定する。試行の最大回数を超えている場合には、処理はステップ４１０に継続されて、エラーを生成する。試行の最大回数を超えていない場合には、処理はステップ４１４に継続されて、試行の回数を増分し、処理はステップ４０４に継続されて、相互接続ネットワーク・アドレスの要求を再送信する。
【０１０３】
要求の応答を受信した時には、処理はステップ４０８に継続されて、ＡＣＫを送信する。処理は、図４Ｂのステップ４１６に継続される。ステップ４１６で、ネットワーク端末２０２は、認証マネージャ２０４にスタートアップ要求を送信する。ステップ４１８で、ネットワーク端末２０２がスタートアップ要求に対する応答を待つ再試行時間をセットする。ステップ４２０で、ネットワーク端末２０２がスタートアップ要求に対する応答を待っていることを示す変数をセットする。ステップ４２２で、ネットワーク端末２０２は、スタートアップ要求に対する応答を待つ。
【０１０４】
応答を受信していないと判定される場合には、処理はステップ４２４に継続されて、再試行時間を超えたかどうかを判定する。そうでない場合には、処理はステップ４２２に継続されて、応答を待つ。再試行時間を超えた場合には、処理はステップ４２６に継続されて、試行の最大回数を超えたかどうかを判定する。そうでない場合には、処理はステップ４２８に継続されて、エラーを生成し、ステップ４１６に戻って、スタートアップ要求を再送信する。そうでない場合には、処理はステップ４３０に継続されて、試行の回数を増分し、再試行時間をリセットする。ステップ４３２で、スタートアップ要求を再送信し、処理はステップ４４に継続されて、カードがカード・リーダ２１６から除去されたかどうかを判定する。
【０１０５】
ステップ４２２で、応答が受信されたと判定される場合には、処理は、図４Ｃのステップ４３４に継続される。ステップ４３４で、ネットワーク端末２０２は、最初にステップ４２０セットされた変数を検査して、スタートアップ要求に対する応答を待っているのかどうかを判定する。そうである場合には、処理はステップ４３６に継続されて、応答がチャレンジ・メッセージであるかどうかを判定する。そうでない場合には、処理はステップ４２４に継続されて、試行の最大回数を超えていない場合にはスタートアップ要求を繰り返す。ステップ４３６で、チャレンジ・メッセージを受信したと判定される場合には、処理はステップ４３８に継続されて、ｗａｉｔｉｎｇ＿ｆｏｒ＿ｓｔａｒｔｕｐ変数に否定（すなわち「Ｎ」）をセットする。処理はステップ４４０に継続されて、ステップ４４０および４４２でチャレンジ要求を処理する。チャレンジ要求は、たとえば、図５Ａ、図５Ｂおよび図６に関して上で説明したように処理することができる。
【０１０６】
ステップ４３４で、ネットワーク端末２０２がスタートアップ要求に対する応答を待っていないと判定される場合には、処理はステップ４４０および４４２に継続されて、メッセージ（たとえば、サービス２３４によって生成された出力を表示するレンダリング・コマンド）を処理する。
【０１０７】
ステップ４４４で、ユーザがカード・リーダ２１６からスマート・カードを除去したかどうかを判定する。ユーザがカード・リーダ２１６からカードを除去した時には、ネットワーク端末２０２は、ステップ４４８で、認証マネージャ２０４に切断メッセージを送信する。ネットワーク端末２０２は、認証マネージャ２０４からの確認（ＡＣＫ）メッセージを待つ。ＡＣＫメッセージを受信した時に、ネットワーク端末２０２は、ステップ４５０で画面をクリアし、ステップ４０２に戻って、別のユーザがカード・リーダ２１６にスマート・カードを挿入するのを待つ。
【０１０８】
ステップ４４４で、ユーザがカード・リーダ２１６からカードを除去していないと判定される場合には、処理はステップ４４６に継続されて、ネットワーク端末がそのスタートアップ要求に対する応答を待っているかどうかを判定する。そうである場合には、処理はステップ４２２に継続されて、応答を受信したかどうかを判定する。ネットワーク端末がスタートアップ要求からの応答を待っているのでない場合には、処理はステップ４４０および４４２に継続されて、ネットワーク端末２０２に送信されたメッセージを処理する。
【０１０９】
メッセージ・フォーマット
本発明の実施形態では、ネットワーク端末２０２への接続が、ユーザ・データグラム・プロトコル（ＵＤＰ）ポートを介して確立される。すなわち、パケットは、ＵＤＰ接続を介して送信され、デスティネーションＵＤＰポートで受信される。デスティネーションＵＤＰポートが、接続を一意に識別する。パケット長およびチェックサムの情報が、ＵＤＰヘッダによって提供される。バッファ・サイズは、ＩＰ／ＵＤＰヘッダと共にイーサネットの最大転送単位（ＭＴＵ）におさまる。データは、ネットワークを介して、ネットワーク・バイト順（ビッグ・エンディアン）で送信される。
【０１１０】
ＵＤＰの代わりに、他のプロトコルを使用することができることは明白である。たとえば、ＡＴＭ  ＡＡＬ５（ＡＡＬまたはＡＴＭアダプテーション層）などのプロトコルを使用することができる。
【０１１１】
したがって、セッション管理およびユーザ認証のための方法および装置を説明した。本明細書で説明した特定の実施形態は、例示にすぎず、本発明を制限するものではない。本発明は、請求項およびその同等物のすべての範囲によって定義される。
【０１１２】
【表１】
2006073016.tif 000003
【表２】
2006073016.tif 000004
【表３】
2006073016.tif 000005
【表４】
2006073016.tif 000006
【表５】
2006073016.tif 000007
【表６】
2006073016.tif 000008
【表７】
2006073016.tif 000009
【表８】
2006073016.tif 000010
【０１１３】
【表９】
2006073016.tif 000011
【０１１４】
【表１０】
2006073016.tif 000012
【表１１】
2006073016.tif 000013
【０１１５】
【表１２】
2006073016.tif 000014
【図面の簡単な説明】
【０１１６】
【図１】本発明の１つまたは複数の実施形態で使用されるシステム・アーキテクチャの例を示す図である。
【図２】本発明の実施形態による、認証コンポーネントおよびセッション管理コンポーネントとその相互作用を示す図である。
【図３】本発明の実施形態による、電源投入操作に応答してネットワーク端末を初期化するためのプロセスのフローを示す図である。
【図４Ａ】覚醒操作に応答してネットワーク端末２０２を初期化するための、本発明の実施形態によるプロセスのフローを示す図である。
【図４Ｂ】覚醒操作に応答してネットワーク端末２０２を初期化するための、本発明の実施形態によるプロセスのフローを示す図である。
【図４Ｃ】覚醒操作に応答してネットワーク端末２０２を初期化するための、本発明の実施形態によるプロセスのフローを示す図である。
【図５Ａ】本発明の実施形態による認証プロセスのフローを示す図である。
【図５Ｂ】本発明の実施形態による認証プロセスのフローを示す図である。
【図６】本発明の実施形態によるチャレンジ・プロセスのフローを示す図である。
【図７】本発明の１つまたは複数の実施形態で使用されるシステム・アーキテクチャの例を示す図である。
【図８】本発明の１つまたは複数の実施形態で使用されるシステム・アーキテクチャの例を示す図である。
【符号の説明】
【０１１７】
２０２  セッション・データベース
２０６  セッション・マネージャ
２１８  認証データベース
２０４  認証マネージャ
【図１】
2006073016.tif 000015
【図２】
2006073016.tif 000016
【図３】
2006073016.tif 000017
【図４Ａ】
2006073016.tif 000018
【図４Ｂ】
2006073016.tif 000019
【図４Ｃ】
2006073016.tif 000020
【図５Ａ】
2006073016.tif 000021
【図５Ｂ】
2006073016.tif 000022
【図６】
2006073016.tif 000023
【図７】
2006073016.tif 000024
【図８】
2006073016.tif 000025