(57)【要約】【課題】HTTP Cookie情報に含まれるセキュリティ上重要な情報の受け渡しにＵＲＬパラメータを直接使用せず、セキュリティを確保した状態で、また、クライアントへのプロキシプログラムの導入をせずに、スマートクライアントの利点を生かした状態で、ＷｅｂブラウザのCookie情報をスマートクライアントに引き継ぐこと。【解決手段】スマートクライアントアプリケーション３０４は、起動されると（Ｓ８０１）、起動元から指定された識別子（例えばセッションＩＤ）を取得して（Ｓ８０２）、起動元となるＷｅｂアプリケーション３０２を特定し（Ｓ８０４，Ｓ８０５）、特定されたＷｅｂアプリケーション３０２からＷｅｂアプリケーション３０２が保持するHTTP Cookie情報を取得し（Ｓ８０６）、取得したHTTP Cookie情報を使用してＷｅｂサーバにアクセスする。【選択図】図７
2010140351.tif 000002
【特許請求の範囲】
【請求項１】
Ｗｅｂサーバにアクセスして該Ｗｅｂサーバから発行されたHTTP Cookie情報を保持する第１のＷｅｂクライアント手段と、前記第１のＷｅｂクライアント手段から起動されて前記Ｗｅｂサーバにアクセスする第２のＷｅｂクライアント手段とを有する情報処理装置であって、
前記第２のＷｅｂクライアント手段は、
起動元となる前記第１のＷｅｂクライアント手段を特定する特定手段と、
前記特定手段により特定された前記第１のＷｅｂクライアント手段から前記第１のＷｅｂクライアント手段が保持するHTTP Cookie情報を取得するクッキー情報取得手段と、
前記クッキー情報取得手段により取得した前記HTTP Cookie情報を使用して前記Ｗｅｂサーバにアクセスするアクセス手段とを有する、
ことを特徴とする情報処理装置。
【請求項２】
同等の機能を有する複数のＷｅｂサーバと、前記Ｗｅｂサーバへの要求を一元的に管理してHTTP Cookie情報を用いて前記Ｗｅｂサーバへの要求を振り分ける負荷分散装置とを有するＷｅｂシステムにアクセスして前記いずれかのＷｅｂサーバから発行されたHTTP Cookie情報を保持する第１のＷｅｂクライアント手段と、前記第１のＷｅｂクライアント手段から起動されて前記Ｗｅｂシステムにアクセスする第２のＷｅｂクライアント手段とを有する情報処理装置であって、
前記第２のＷｅｂクライアント手段は、
起動元となる前記第１のＷｅｂクライアント手段を特定する特定手段と、
前記特定手段により特定された前記第１のＷｅｂクライアント手段から前記第１のＷｅｂクライアント手段が保持するHTTP Cookie情報を取得するクッキー情報取得手段と、
前記クッキー情報取得手段により取得した前記HTTP Cookie情報を使用して前記Ｗｅｂシステムにアクセスするアクセス手段とを有する、
ことを特徴とする情報処理装置。
【請求項３】
Ｗｅｂサーバと、HTTP Cookie情報を用いてＷｅｂクライアントが認証済みであるか判断する認証サーバとを有するＷｅｂシステムにアクセスして前記Ｗｅｂサーバから発行されたHTTP Cookie情報を保持する第１のＷｅｂクライアント手段と、前記第１のＷｅｂクライアント手段から起動されて前記Ｗｅｂシステムにアクセスする第２のＷｅｂクライアント手段とを有する情報処理装置であって、
前記第２のＷｅｂクライアント手段は、
起動元となる前記第１のＷｅｂクライアント手段を特定する特定手段と、
前記特定手段により特定された前記第１のＷｅｂクライアント手段から前記第１のＷｅｂクライアント手段が保持するHTTP Cookie情報を取得するクッキー情報取得手段と、
前記クッキー情報取得手段により取得した前記HTTP Cookie情報を使用して前記Ｗｅｂシステムにアクセスするアクセス手段とを有する、
ことを特徴とする情報処理装置。
【請求項４】
前記クッキー情報取得手段は、前記特定手段により特定された前記第１のＷｅｂクライアント手段から前記第１のＷｅｂクライアント手段が保持する特定のＵＲＬに含まれるＷｅｂサーバに関連したHTTP Cookie情報を取得することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記第１のＷｅｂクライアント手段は、前記第２のＷｅｂクライアント手段を起動する際に、起動元を特定する識別子を指定して起動するものであり、
前記第２のＷｅｂクライアント手段は、起動元から指定された前記識別子を取得する識別子取得手段を有し、
前記特定手段は、前記識別子取得手段により取得された前記識別子に基づいて起動元となる前記第１のＷｅｂクライアント手段を特定する、
ことを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
Ｗｅｂサーバにアクセスして該Ｗｅｂサーバから発行されたHTTP Cookie情報を保持する第１のＷｅｂクライアント手段と、前記第１のＷｅｂクライアント手段から起動されて前記Ｗｅｂサーバにアクセスする第２のＷｅｂクライアント手段とを有する情報処理装置におけるセッション管理方法であって、
前記第２のＷｅｂクライアント手段が、起動元となる前記第１のＷｅｂクライアント手段を特定する特定ステップと、
前記第２のＷｅｂクライアント手段が、前記特定ステップにより特定された前記第１のＷｅｂクライアント手段から前記第１のＷｅｂクライアント手段が保持するHTTP Cookie情報を取得するクッキー情報取得ステップと、
前記第２のＷｅｂクライアント手段が、前記クッキー情報取得手段により取得した前記HTTP Cookie情報を使用して前記Ｗｅｂサーバにアクセスするアクセスステップと、
を有することを特徴とするセッション管理方法。
【請求項７】
同等の機能を有する複数のＷｅｂサーバと、前記Ｗｅｂサーバへの要求を一元的に管理してHTTP Cookie情報を用いて前記Ｗｅｂサーバへの要求を振り分ける負荷分散装置とを有するＷｅｂシステムにアクセスして前記いずれかのＷｅｂサーバから発行されたHTTP Cookie情報を保持する第１のＷｅｂクライアント手段と、前記第１のＷｅｂクライアント手段から起動されて前記Ｗｅｂシステムにアクセスする第２のＷｅｂクライアント手段とを有する情報処理装置におけるセッション管理方法であって、
前記第２のＷｅｂクライアント手段は、
起動元となる前記第１のＷｅｂクライアント手段を特定する特定手段と、
前記特定手段により特定された前記第１のＷｅｂクライアント手段から前記第１のＷｅｂクライアント手段が保持するHTTP Cookie情報を取得するクッキー情報取得手段と、
前記クッキー情報取得手段により取得した前記HTTP Cookie情報を使用して前記Ｗｅｂシステムにアクセスするアクセス手段とを有する、
ことを特徴とするセッション管理方法。
【請求項８】
Ｗｅｂサーバと、HTTP Cookie情報を用いてＷｅｂクライアントが認証済みであるか判断する認証サーバとを有するＷｅｂシステムにアクセスして前記Ｗｅｂサーバから発行されたHTTP Cookie情報を保持する第１のＷｅｂクライアント手段と、前記第１のＷｅｂクライアント手段から起動されて前記Ｗｅｂシステムにアクセスする第２のＷｅｂクライアント手段とを有する情報処理装置におけるセッション管理方法であって、
前記第２のＷｅｂクライアント手段が、起動元となる前記第１のＷｅｂクライアント手段を特定する特定ステップと、
前記第２のＷｅｂクライアント手段が、前記特定ステップにより特定された前記第１のＷｅｂクライアント手段から前記第１のＷｅｂクライアント手段が保持するHTTP Cookie情報を取得するクッキー情報取得ステップと、
前記第２のＷｅｂクライアント手段が、前記クッキー情報取得ステップにより取得した前記HTTP Cookie情報を使用して前記Ｗｅｂシステムにアクセスするアクセスステップと、
を有することを特徴とするセッション管理方法。
【請求項９】
前記クッキー情報取得ステップは、前記特定ステップにより特定された前記第１のＷｅｂクライアント手段から前記第１のＷｅｂクライアント手段が保持する特定のＵＲＬに含まれるＷｅｂサーバに関連したHTTP Cookie情報を取得することを特徴とする請求項６乃至８のいずれか１項に記載のセッション管理方法。
【請求項１０】
前記第１のＷｅｂクライアント手段は、前記第２のＷｅｂクライアント手段を起動する際に、起動元を特定する識別子を指定して起動するものであり、
前記第２のＷｅｂクライアント手段が、起動元から指定された前記識別子を取得する識別子取得ステップを有し、
前記特定ステップは、前記識別子取得ステップにより取得された前記識別子に基づいて起動元となる前記第１のＷｅｂクライアント手段を特定する、
ことを特徴とする請求項６乃至９のいずれか１項に記載のセッション管理方法。
【請求項１１】
請求項６乃至１０のいずれか１項に記載されたセッション管理方法をコンピュータに実行させるためのプログラム。
【請求項１２】
請求項１１に記載されたプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＨＴＴＰプロトコルを利用したサーバ／クライアントシステムのセッション管理制御に関する。
【背景技術】
【０００２】
近年、ＨＴＴＰプロトコルを利用したサーバ／クライアントシステムにおいて、負荷分散装置によりサーバへの負荷分散させるシステムが多く見られる。
【０００３】
本来、ＨＴＴＰプロトコルはステートレス通信であるため、サーバとクライアント間のセッションを維持することはできない。しかしながら、このようなシステムにおいても、セキュリティの確保やユーザの利便性のため、クライアントを利用しているユーザを認証し、そのサーバクライアント間の接続情報を保持する仕組みが求められる。
【０００４】
その解決策として一般には、例えば、HTTP Cookieを利用したセッション維持が用いられることが多い。
【０００５】
特許文献１では、異なるアプリケーションサーバ間でのセッション情報の引き継ぎ方法について記述されている。
【０００６】
上述した負荷分散装置でも、クライアントからの要求を処理対象のサーバに正しく振り分ける必要がある。この仕組みとして、HTTP Cookieを利用する方法や、クライアントのソースＩＰアドレスを保持して処理する方法などがある。
【０００７】
だが、クライアントのソースＩＰアドレスで判断する方法は、ＮＡＴ(Network Address Translation)環境においては、ＩＰアドレスが隠ぺいされてしまうため利用することができない。
【０００８】
また、認証サーバにてシングルサインオン実現するための仕組みを導入した場合、認証サーバはクライアントからの通信を受信し、認証済みかどうかをチェックする。そして、認証済みでない場合は、認証画面をクライアントに送信し、認証を促す。一方、認証済みである場合は、負荷分散装置を介してサーバへのアクセスを許可する。このように、認証サーバにおいて、認証済みかどうかをチェックする処理でもHTTP Cookieを利用している場合が多い。
【０００９】
また、上述したようなサーバ／クライアントシステムでは、Ｗｅｂブラウザを利用したＷｅｂアプリケーションが一般的であるが、一方で、スマートクライアントのようなＷｅｂアプリケーションの利点である導入・運用の容易さを取り入れたクライアント／サーバ型アプリケーションの技術が存在する。
【００１０】
スマートクライアントとは、マイクロソフト社の提唱するリッチクライアントの一種である。
【００１１】
リッチクライアントとは、最低限の機能だけ持たせ主な資源をサーバで管理するシンクライアントと、高機能だが管理の難しいファットクライアントの双方の利点を持つクライアントである。
【００１２】
スマートクライアントの特徴として以下のような点があげられる。
【００１３】
・クライアントに導入されるクライアントアプリケーションである。
【００１４】
・モジュールはサーバ上で一括して管理され、導入／更新が容易に行える。
【００１５】
・ローカル資源を利用することができる。
【００１６】
・ネットワーク上の資源を利用することができる。
【００１７】
・サーバ／クライアント間の通信プロトコルとして基本的にＷｅｂサービスが用いられる。
【００１８】
スマートクライアントは、以上のような特徴により、従来のアプリケーションの問題点である導入の手間を省き、またＷｅｂアプリケーションの問題点であるインターフェースの貧弱さを解消する技術であり、Ｗｅｂブラウザを介してネットワーク経由での導入および起動を行うこともできる。
【００１９】
なお、スマートクライアントの実装例として、例えばマイクロソフト社の提供するClickOnceテクノロジーを利用したものがある。
【００２０】
しかし、スマートクライアントは、一般的にＷｅｂアプリケーションと比べ開発コストがかかることが多い。そのため、利用場面によってＷｅｂアプリケーションとスマートクライアントを使い分けたほうが効率が良い。
【００２１】
例えば、ユーザ認証部分やメニュー部分、データリスト一覧を表示する部分などをＷｅｂアプリケーションで実装し、データの入力やチェック処理などの複雑なＧＵＩが必要な部分はスマートクライアントで実装するやり方である。この場合、Ｗｅｂアプリケーション部分とスマートクライアント部分をそれぞれ独立化させずに、同一セッションの中で扱えたほうがユーザの利便性は向上する。しかし、Ｗｅｂアプリケーションからスマートクライアントへセッション情報を引き渡す仕組みはあまり考慮されていない。
【００２２】
Ｗｅｂブラウザから起動されるスマートクライアントにセッション情報を引き継ぐ方法として、例えばＵＲＬパラメータとして、セッション情報を文字列として付加する方法や、参考文献１では、クライアントにプロキシプログラムを導入し、ネットワークデータを監視して認証情報などを必要に応じて付加する方法が紹介されている。
【特許文献１】特開２０００−４７９７１号公報
【非特許文献１】「ＭＳＤＮ：ClickOnceの配置を管理する」(http://www.microsoft.com/japan/msdn/net/winforms/admincodep.aspx)
【発明の開示】
【発明が解決しようとする課題】
【００２３】
しかしながら、上述したようなサーバ／クライアントシステムの場合、Ｗｅｂサーバのセッション情報だけでなく、負荷分散装置が付加するCookie情報や認証サーバが付加するCookie情報も合わせて、Ｗｅｂブラウザからスマートクライアントに受け渡す必要がある。
【００２４】
しかし、HTTP Cookie情報に含まれる情報をＵＲＬパラメータを使用する場合は、ブラウザのＨＴＭＬソースやＵＲＬ表示欄に、HTTP Cookie情報に含まれるセキュリティ上重要な情報が表示されてしまいセキュリティの問題が発生する場合がある。
【００２５】
セキュリティの問題とは例えば、ユーザによる改ざんであり、ユーザの目に晒されやすいＵＲＬパラメータでは容易に発生する可能性がある。他にも、キャッシュやログへの記録から漏えいする可能性やＲｅｆｅｒｅｒヘッダ情報により、別サーバに傍受される危険もある。
【００２６】
一方で、クライアントへのプロキシプログラムの導入は、事前にクライアントにプログラムを導入する必要があり、スマートクライアントの利点であるインストール作業の軽減と反している。
【００２７】
本発明は、上記の問題点を解決するためになされたものである。本発明の目的は、HTTP Cookie情報に含まれるセキュリティ上重要な情報の受け渡しにＵＲＬパラメータを直接使用せず、セキュリティを確保した状態で、また、クライアントへのプロキシプログラムの導入をせずに、スマートクライアントの利点を生かした状態で、ＷｅｂブラウザのCookie情報をスマートクライアントに引き継ぐことができる仕組みを提供することである。
【課題を解決するための手段】
【００２８】
本発明は、Ｗｅｂサーバにアクセスして該Ｗｅｂサーバから発行されたHTTP Cookie情報を保持する第１のＷｅｂクライアント手段と、前記第１のＷｅｂクライアント手段から起動されて前記Ｗｅｂサーバにアクセスする第２のＷｅｂクライアント手段とを有する情報処理装置であって、前記第２のＷｅｂクライアント手段は、起動元となる前記第１のＷｅｂクライアント手段を特定する特定手段と、前記特定手段により特定された前記第１のＷｅｂクライアント手段から前記第１のＷｅｂクライアント手段が保持するHTTP Cookie情報を取得するクッキー情報取得手段と、前記クッキー情報取得手段により取得した前記HTTP Cookie情報を使用して前記Ｗｅｂサーバにアクセスするアクセス手段とを有することを特徴とする。
【発明の効果】
【００２９】
本発明によれば、HTTP Cookie情報に含まれるセキュリティ上重要な情報の受け渡しにＵＲＬパラメータを直接使用せず、またクライアントへのプロキシプログラムの導入をせずに、第１のＷｅｂクライアント手段（Ｗｅｂブラウザ）のHTTP Cookie情報を第２のＷｅｂクライアント手段（スマートクライアント）に引き継ぐことができる等の効果を奏する。
【発明を実施するための最良の形態】
【００３０】
〔第１実施形態〕
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【００３１】
図１は、本発明の情報処理装置のセッション管理方法を適用可能なサーバ／クライアントシステムの一例を示すシステム構成図である。
【００３２】
本実施形態のシステムは、ＨＴＴＰプロトコルを利用したサーバ／クライアントシステムであり、図１に示すように、Ｗｅｂサーバ１０１〜１０３が負荷分散装置１０４とネットワーク１０８で繋がれている。この負荷分散装置１０４は、Ｗｅｂクライアント１０６〜１０７からの要求を受信し、該受信した要求を一元的に管理して、HTTP Cookie情報を利用してセッションを認識し、前記要求を処理対象のＷｅｂサーバ１０１〜１０３に振り分け、サーバ１０１〜１０３の負荷を分散する。
【００３３】
また、負荷分散装置１０４とＷｅｂクライアント１０６〜１０７の間には、ネットワーク１０９を介して認証サーバ１０５が設置されている。
【００３４】
また、認証サーバ１０５は、シングルサインオン実現するための仕組みであり、クライアントからの通信を受信し、HTTP Cookieを利用して、認証済みかどうかをチェックする。そして、認証済みでない場合は、認証画面をクライアントに送信し、認証を促す。一方、認証済みの場合は、負荷分散装置を介してサーバへのアクセスを許可する。
【００３５】
図２は、図１に示したサーバ１０１〜１０３とクライアント１０６〜１０７のハードウェア構成の一例を示すブロック図である。
【００３６】
図２において、２０１はＣＰＵであり、システムバス２０４に接続される各デバイスを統括的に制御する。また、ＲＯＭ２０３あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるオペレーティングシステム（ＯＳ）や、各サーバあるいは各クライアントの後述する各種機能を実現するためのプログラムが記憶されている。ＲＡＭ２０２は、ＣＰＵ２０１の主メモリ、ワークエリア、一時待避領域等として機能する。
【００３７】
入力コントローラ２０５は、入力部２０９からの入力を制御する。この入力部２０９としては、特に、サーバやクライアント等の端末では、キーボード、マウス等のポインティングデバイスが挙げられる。また、印刷装置等では、この入力部２０９として、タッチパネル、ボタン、スイッチ等が挙げられる。
【００３８】
出力コントローラ２０６は、出力部２１０の表示を制御する。この出力部２１０としては、例えば、ＣＲＴや液晶ディスプレイ等が挙げられる。
【００３９】
外部メモリコントローラ２０７は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタドライバ等を記憶する外部メモリ２１１へのアクセスを制御する。加えて、外部メモリコントローラ２０７には、各サーバあるいは各クライアントの各種機能を実現するための各種テーブル、パラメータが記憶されている。
【００４０】
この外部メモリ２１１としては、ハードディスク（ＨＤ）やフロッピー（登録商標）ディスク（ＦＤ）、ＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）、スマートメディア等が挙げられる。
【００４１】
通信Ｉ／Ｆコントローラ２０８は、ネットワーク１０８、１０９を介して外部機器との通信制御処理を実行する。
【００４２】
なお、プログラム２１２は、本発明を実現するためのプログラムである。このプログラム２１２は、外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０２にロードされることによりＣＰＵ２０１によって実行されるものである。
【００４３】
図３は、図１に示したクライアント１０６〜１０７において実現される機能構成を示すブロック図である。
【００４４】
図３に示すように、クライアント１０６〜１０７には、Ｗｅｂブラウザ３０１、およびClickOnceローダ３０３が搭載されている。Ｗｅｂアプリケーション３０２は、Ｗｅｂブラウザ３０１上で動作する。ClickOnceローダ３０３は、Ｗｅｂブラウザ３０１を介してユーザからスマートクライアントアプリケーション（クライアントプログラム）３０４の起動要求を受け、プログラムのバージョン確認により、更新が必要かを判断し、必要であればサーバからスマートクライアント３０４プログラムをダウンロードした後、起動処理を行う。
【００４５】
スマートクライアント（クライアントプログラム）３０４は、サーバとの通信を行う通信部３０５と、通信部３０５を介して識別子を受信し管理する識別子管理部３０６と、受信した識別子を元に呼び出し元プログラムのプロセスを特定する呼び出し元プロセス取得部３０７と、呼び出し元プロセスからHTTP Cookieを取得し、サーバとの通信の際に使用するHTTP Cookieを管理するHTTP Cookie管理部３０８を持つ。
【００４６】
なお、Ｗｅｂブラウザ３０１、ClickOnceローダ３０３、クライアントプログラム３０４は、クライアント１０６〜１０７のＣＰＵ２０１が外部メモリ２１１に記憶されたプログラムをＲＡＭ２０２に読み出して実行することにより実現される機能に対応する。
【００４７】
以下、図４〜図９を用いて本発明の情報処理装置のセッション管理方法を適用可能なサーバ／クライアントシステムの動作を説明する。
【００４８】
図４は、本発明の情報処理装置のセッション管理方法を適用可能なサーバ／クライアントシステムの動作を説明するシーケンス図である。なお、このシーケンス図では、クライアントをクライアント１０６、ＷｅｂサーバをＷｅｂサーバ１０１として説明するが、クライアント１０７、Ｗｅｂサーバ１０２，１０３としても同様である。なお、Ｓ４１０１〜Ｓ４１０４は、ユーザの操作を示す。
【００４９】
また、Ｓ４２０１〜Ｓ４２０５は、Ｗｅｂアプリケーション３０２の処理を示す。また、Ｓ４３０１〜Ｓ４３０４は、ClickOnceローダ３０３の処理を示す。また、Ｓ４４０１〜Ｓ４４０３は、スマートクライアントアプリケーション３０４の処理を示す。即ち、Ｓ４２０１〜Ｓ４２０５、Ｓ４３０１〜Ｓ４３０４、Ｓ４４０１〜Ｓ４４０３は、クライアント１０６のＣＰＵ２０１が外部メモリ２１１に記憶されたプログラムをＲＡＭ２０２に読み出して実行することにより実現する。
【００５０】
また、Ｓ４５０１〜Ｓ４５０７は、認証サーバ１０５の処理を示す。即ち、Ｓ４５０１〜Ｓ４５０７は、認証サーバ１０５のＣＰＵ２０１が外部メモリ２１１に記憶されたプログラムをＲＡＭ２０２に読み出して実行することにより実現する。
【００５１】
また、Ｓ４６０１〜Ｓ４６０４は、Ｗｅｂサーバ１０１の処理を示す。即ち、Ｓ４６０１〜Ｓ４６０４は、Ｗｅｂサーバ１０１のＣＰＵ２０１が外部メモリ２１１に記憶されたプログラムをＲＡＭ２０２に読み出して実行することにより実現する。
【００５２】
以下、処理について説明する。
【００５３】
まず、ユーザ４０１がクライアント１０６のＷｅｂブラウザ３０１からＷｅｂアプリケーション３０２の起動操作を行うと（Ｓ４１０１）、Ｗｅｂブラウザ３０１は、この操作を検知して、Ｗｅｂアプリケーション３０２を起動する。そして、起動されたＷｅｂアプリケーション３０２は、サーバアクセスを行う（Ｓ４２０１）。
【００５４】
認証サーバ１０５は、Ｗｅｂアプリケーション３０２からのアクセスを解析し、HTTP Cookie情報に認証チケットが含まれているかを確認し、ログイン済みかどうかのチェックをする（Ｓ４５０１）。そして、ログインしていないと判断した場合、認証サーバ１０５は、ログイン画面をＷｅｂアプリケーション３０２に返却する（Ｓ４５０２）。
【００５５】
Ｗｅｂアプリケーション３０２は、図５に示すようなログイン画面を表示して（Ｓ４２０２）、ログイン操作を促す。
【００５６】
図５は、ログイン画面の一例を示す図である。
【００５７】
そして、このログイン画面からユーザ４０１がログイン操作を行うと（Ｓ４１０２）、Ｗｅｂアプリケーション３０２は、この操作を検知して、ログイン要求を認証サーバ１０５に行う（Ｓ４２０３）。
【００５８】
認証サーバ１０５は、このログイン要求に基づいてログインチェックを行い（Ｓ４５０３）、認証に成功したと判断した場合、認証チケットを生成し（Ｓ４５０４）、ログイン要求をＷｅｂサーバ１０１に送る（Ｓ４５０５）。
【００５９】
Ｗｅｂサーバ１０１は、このログイン要求に応じてセッションを生成し（Ｓ４６０１）、図６に示すようなメニュー画面コンテンツと、セッションＩＤをHTTP Cookie情報として認証サーバ１０５に返却する（Ｓ４６０２）。
【００６０】
認証サーバ１０５は、Ｗｅｂサーバ１０１から返却されたメニュー画面コンテンツ、HTTP Cookie情報（セッションＩＤを含む）に、認証チケットをHTTP Cookie情報として加えてＷｅｂアプリケーション３０２に返却する（Ｓ４５０６）。
【００６１】
Ｗｅｂアプリケーション３０２は、認証サーバ１０５から返却されたメニュー画面コンテンツ、HTTP Cookie情報（セッションＩＤ，認証チケットを含む）を受け取り、図６に示すようなメニュー画面を表示する（Ｓ４２０４）。
【００６２】
図６は、Ｗｅｂサーバ１０１から返却されるメニュー画面の一例を示す図である。
【００６３】
ユーザが、メニュー画面内のメニューからスマートクライアントを起動するメニュー、例えば図６では「交通費申請」メニューを選択すると（Ｓ４１０３）、Ｗｅｂアプリケーション３０２は、この操作を検知して、ClickOnceローダ３０３へスマートクライアント起動要求を行う（Ｓ４２０５）。この際、Ｗｅｂアプリケーション３０２は、呼び出し元のＷｅｂブラウザ（起動元）を特定するための識別子をＵＲＬパラメータとして指定する。なお、上記呼び出し元のＷｅｂブラウザを特定するための識別子は、呼び出し元プログラムを識別する一意なもので、どのようなものであってもよく、例えばセッションＩＤや、セッションを識別するための他の情報であってもよい。一般には、セッション識別情報として使用されるセッションＩＤは６４ｂｉｔのハッシュ値が用いられる。
【００６４】
ClickOnceローダ３０３は、起動要求を受けると、Ｗｅｂサーバ１０１に対しスマートクライアントモジュールのバージョン情報を要求する（Ｓ４３０１）。なお、この際に使用するＷｅｂサーバ１０１のＵＲＬも上記ＵＲＬパラメータに含まれているものとする。
【００６５】
Ｗｅｂサーバ１０１は、スマートクライアントモジュールのバージョン情報の要求を受信すると、バージョン情報を、ClickOnceローダ３０３に返却する。
【００６６】
ClickOnceローダ３０３は、Ｗｅｂサーバ１０１より返却されたバージョン情報と、クライアント１０６に配置されているモジュールのバージョン情報をチェックする（Ｓ４３０２）。
【００６７】
そして、Ｗｅｂサーバ１０１から返却されたバージョン情報のようが新しいと判断した場合、ClickOnceローダ３０３は、スマートクライアントアプリケーションのダウンロード要求をＷｅｂサーバ１０１に行う（Ｓ４３０３）。
【００６８】
Ｗｅｂサーバ１０１は、スマートクライアントアプリケーションのダウンロード要求を受信すると、スマートクライアントアプリケーションをClickOnceローダ３０３に配信する（Ｓ４６０４）。
【００６９】
ClickOnceローダ３０３は、Ｗｅｂサーバ１０１から受信したスマートクライアントアプリケーション３０４を起動し（Ｓ４３０４）、Ｗｅｂアプリケーション３０２から受け取ったＵＲＬパラメータをスマートクライアントアプリケーションに引き渡す。
【００７０】
起動されたスマートクライアントアプリケーション３０４は、起動処理を行う（Ｓ４４０１）。ここで、起動処理（Ｓ４４０１）について図７を用いて説明する。
【００７１】
図７は、本発明のセッション管理装置における起動処理の一例を示すフローチャートである。なお、このフローチャートの処理は、スマートクライアントアプリケーション３０４が実行する。即ち、クライアント１０６〜１０７のＣＰＵ２０１が外部メモリ２１１に記憶されたプログラムをＲＡＭ２０２に読み出して実行する。
【００７２】
スマートクライアントアプリケーション３０４は、起動処理を開始すると（Ｓ８０８）、ClickOnceローダ３０３より受け取ったＵＲＬパラメータから上述した識別子（例えば、セッションＩＤ）の取得を行う（Ｓ８０２）。
【００７３】
次に、スマートクライアントアプリケーション３０４は、クライアント上で起動しているプロセスのリスト（プロセスリスト）を取得し、呼び出し元のＷｅｂアプリケーションが見つかるまでプロセスリストを検索する（Ｓ８０３〜Ｓ８０７）。なお、図８は、プロセスのリストの一例を示す図である。
【００７４】
以下、Ｓ８０３〜Ｓ８０７のループ処理を詳細に説明する。
【００７５】
スマートクライアントアプリケーション３０４は、上記プロセスリストからいずれかのプロセスを選択し、該選択したプロセスがブラウザアプリケーションか否か判定する（Ｓ８０４）。そして、上記選択したプロセスがブラウザアプリケーションでないと判断した場合、スマートクライアントアプリケーション３０４は、Ｓ８０４の処理を繰り返す。
【００７６】
一方、上記Ｓ８０４において、上記選択したプロセスがブラウザアプリケーションであると判断した場合、スマートクライアントアプリケーション３０４は、上記選択したプロセスの持つ識別子と、上記Ｓ８０２で取得した識別子が一致するか比較する（Ｓ８０５）。そして、上記選択したプロセスの持つ識別子が上記Ｓ８０２で取得した識別子と一致しないと判断した場合、スマートクライアントアプリケーション３０４は、Ｓ８０４に処理を戻す。
【００７７】
一方、上記Ｓ８０５において、上記選択したプロセスの持つ識別子が上記Ｓ８０２で取得した識別子と一致すると判断した場合、スマートクライアントアプリケーション３０４は、ループを抜け、ステップＳ８０６に処理を進める。
【００７８】
ステップＳ８０６では、スマートクライアントアプリケーション３０４は、上記選択したプロセスを呼び出し元アプリケーションと認識し、該呼び出し元アプリケーションからHTTP Cookie情報を取得してコピーし（Ｓ８０６）、起動処理を終了する（Ｓ８０８）。
【００７９】
なお、スマートクライアントアプリケーション３０４は、HTTP Cookie情報を取得する際には、ClickOnceローダ３０３より受け取ったＵＲＬパラメータを解析し、サーバ情報を取得して、特定のサーバやドメイン向けのHTTP Cookie情報のみをコピーするように構成してもよい。これにより、不要なCookie情報を排除して必要なCookie情報のみを取得できる。
【００８０】
以下、図４のシーケンス図の説明に戻る。
【００８１】
Ｓ４４０１の起動処理（図７）を終えたスマートクライアントアプリケーション３０４は、図９のような「交通費申請」の入力画面を表示し、ユーザからの操作を促す（Ｓ４４０２）。
【００８２】
なお、図９は、スマートクライアントアプリケーション３０４が表示する画面の一例を示す図である。
【００８３】
そして、ユーザが上記入力画面からスマートクライアントアプリケーション３０４を操作すると（Ｓ４１０４）、スマートクライアントアプリケーション３０４は、この操作を検知して、サーバにアクセスする必要がある場合には、HTTP Cookie情報とともに、サーバに処理要求を行う（Ｓ４４０３）。
【００８４】
認証サーバ１０５は、スマートクライアントアプリケーション３０４から上記の処理要求を受け取り、認証済みかどうかをチェックする（Ｓ４５０６）。
【００８５】
なお、認証サーバ１０５は、スマートクライアントアプリケーション３０４から受け取ったHTTP Cookie情報に認証チケットが存在すると判断した場合、認証済みと判定し、Ｗｅｂサーバ１０１に処理要求を受け渡す（Ｓ４５０７）。
【００８６】
このように、スマートクライアントアプリケーション３０４は、呼び出し元ブラウザからコピーしたHTTP Cookie情報を使用することで、Ｗｅｂアプリケーション３０２のセッションと同一のセッション内で動作することができる。よって、認証サーバ１０５が存在する環境でも同様にスマートクライアントアプリケーション３０４に同一のHTTP Cookie情報がＷｅｂアプリケーション３０２から引き継がれているため、スマートクライアントアプリケーション３０４で再度認証処理を行う必要がなくなり、シングルサインオンを実現できる。
【００８７】
また、HTTP Cookie情報を利用した負荷分散装置１０４を介したサーバへのアクセスでも同様に、Cookie情報によりセッションが認識され、正しく処理対象サーバに振り分けられるようになる。
【００８８】
以上のように、HTTP Cookie情報を利用する複数のアプリケーション間でHTTP Cookie情報が共有されていない場合に、HTTP Cookie情報を引き継ぐことができる。
【００８９】
なお、HTTP Cookie情報を引き継ぐ際に、HTTP Cookie情報に含まれるセキュリティ上重要な情報の受け渡しにＵＲＬパラメータを直接使用せず（ＵＲＬパラメータにHTTP Cookie情報に含まれるセキュリティ上重要な情報をセットするといった直接的な方法を使用せず）、また、クライアントへのプロキシプログラムの導入をせずに、ＷｅｂブラウザのCookie情報をスマートクライアントに引き継ぐことができる。したがって、セキュリティを確保した状態で、かつ、煩雑なプロキシプログラムの導入を行うことなくスマートクライアントの利点を損なうことなく、ＷｅｂブラウザのCookie情報をスマートクライアントに引き継ぐことができる。
【００９０】
そして、このようなセッション管理装置をセッション管理が必要な各種システムに用いることによって、セッション情報を使用するあらゆるサーバへのアクセスに適用できる。
【００９１】
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００９２】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【００９３】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００９４】
以上、示したように本発明によれば、HTTP Cookieを用いた負荷分散装置や認証サーバの存在する環境において、Ｗｅｂブラウザ等の呼び出し元プログラムと、スマートクライアントなどのリッチクライアント間でセッションをHTTP Cookie情報を引き継ぐことができ、負荷分散を行ったり、認証済み情報を利用ことができる。
【００９５】
以下、図１０に示すメモリマップを参照して本発明に係るセッション管理方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体の構成について説明する。
【００９６】
図１０は、本発明に係るセッション管理方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体（記憶媒体）のメモリマップを説明する図である。
【００９７】
なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【００９８】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、インストールするプログラムやデータが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【００９９】
本実施形態における図４，図７に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０１００】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１０１】
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【０１０２】
プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＤＶＤ−ＲＯＭ，磁気テープ，不揮発性のメモリカード，ＲＯＭ，ＥＥＰＲＯＭ，シリコンディスク等を用いることができる。
【０１０３】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１０４】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１０５】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１０６】
さらに、本発明を達成するためのソフトウェアによって表されるプログラムをネットワーク上のサーバ，データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１０７】
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【産業上の利用可能性】
【０１０８】
本発明のセッション管理装置をセッション管理が必要な各種システムに用いることによって、セッション情報を使用するあらゆるサーバへのアクセスに適用できる。
【図面の簡単な説明】
【０１０９】
【図１】本発明の情報処理装置のセッション管理方法を適用可能なサーバ／クライアントシステムの一例を示すシステム構成図である。
【図２】図１に示したサーバ１０１〜１０３とクライアント１０６〜１０７のハードウェア構成の一例を示すブロック図である。
【図３】図１に示したクライアント１０６〜１０７において実現される機能構成を示すブロック図である。
【図４】本発明の情報処理装置のセッション管理方法を適用可能なサーバ／クライアントシステムの動作を説明するシーケンス図である。
【図５】ログイン画面の一例を示す図である。
【図６】Ｗｅｂサーバ１０１から返却されるメニュー画面の一例を示す図である。
【図７】本発明のセッション管理装置における起動処理の一例を示すフローチャートである。
【図８】プロセスのリストの一例を示す図である。
【図９】スマートクライアントアプリケーション３０４が表示する画面の一例を示す図である。
【図１０】本発明に係るセッション管理方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体（記憶媒体）のメモリマップを説明する図である。
【符号の説明】
【０１１０】
１０１〜１０３    Ｗｅｂアプリケ−ションサーバ
１０４    負荷分散装置
１０５    認証サーバ
１０６，１０７    クライアント
１０８，１０９    ネットワーク
３０１    Ｗｅｂブラウザ
３０２    Ｗｅｂアプリケーション
３０３    ClickOnceローダ
３０４    クライアントプログラム
３０５    通信部
３０６    識別子管理部
３０７    呼び出し元プログラム取得部
３０８    HTTP Cookie管理部
【図１】
2010140351.tif 000003
【図２】
2010140351.tif 000004
【図３】
2010140351.tif 000005
【図４】
2010140351.tif 000006
【図５】
2010140351.tif 000007
【図６】
2010140351.tif 000008
【図７】
2010140351.tif 000009
【図８】
2010140351.tif 000010
【図９】
2010140351.tif 000011
【図１０】
2010140351.tif 000012