説明

情報処理装置、セッション管理方法、プログラム、及び、記録媒体

【課題】HTTP Cookie情報に含まれるセキュリティ上重要な情報の受け渡しにURLパラメータを直接使用せず、セキュリティを確保した状態で、また、クライアントへのプロキシプログラムの導入をせずに、スマートクライアントの利点を生かした状態で、WebブラウザのCookie情報をスマートクライアントに引き継ぐこと。
【解決手段】スマートクライアントアプリケーション304は、起動されると(S801)、起動元から指定された識別子(例えばセッションID)を取得して(S802)、起動元となるWebアプリケーション302を特定し(S804,S805)、特定されたWebアプリケーション302からWebアプリケーション302が保持するHTTP Cookie情報を取得し(S806)、取得したHTTP Cookie情報を使用してWebサーバにアクセスする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、HTTPプロトコルを利用したサーバ/クライアントシステムのセッション管理制御に関する。
【背景技術】
【0002】
近年、HTTPプロトコルを利用したサーバ/クライアントシステムにおいて、負荷分散装置によりサーバへの負荷分散させるシステムが多く見られる。
【0003】
本来、HTTPプロトコルはステートレス通信であるため、サーバとクライアント間のセッションを維持することはできない。しかしながら、このようなシステムにおいても、セキュリティの確保やユーザの利便性のため、クライアントを利用しているユーザを認証し、そのサーバクライアント間の接続情報を保持する仕組みが求められる。
【0004】
その解決策として一般には、例えば、HTTP Cookieを利用したセッション維持が用いられることが多い。
【0005】
特許文献1では、異なるアプリケーションサーバ間でのセッション情報の引き継ぎ方法について記述されている。
【0006】
上述した負荷分散装置でも、クライアントからの要求を処理対象のサーバに正しく振り分ける必要がある。この仕組みとして、HTTP Cookieを利用する方法や、クライアントのソースIPアドレスを保持して処理する方法などがある。
【0007】
だが、クライアントのソースIPアドレスで判断する方法は、NAT(Network Address Translation)環境においては、IPアドレスが隠ぺいされてしまうため利用することができない。
【0008】
また、認証サーバにてシングルサインオン実現するための仕組みを導入した場合、認証サーバはクライアントからの通信を受信し、認証済みかどうかをチェックする。そして、認証済みでない場合は、認証画面をクライアントに送信し、認証を促す。一方、認証済みである場合は、負荷分散装置を介してサーバへのアクセスを許可する。このように、認証サーバにおいて、認証済みかどうかをチェックする処理でもHTTP Cookieを利用している場合が多い。
【0009】
また、上述したようなサーバ/クライアントシステムでは、Webブラウザを利用したWebアプリケーションが一般的であるが、一方で、スマートクライアントのようなWebアプリケーションの利点である導入・運用の容易さを取り入れたクライアント/サーバ型アプリケーションの技術が存在する。
【0010】
スマートクライアントとは、マイクロソフト社の提唱するリッチクライアントの一種である。
【0011】
リッチクライアントとは、最低限の機能だけ持たせ主な資源をサーバで管理するシンクライアントと、高機能だが管理の難しいファットクライアントの双方の利点を持つクライアントである。
【0012】
スマートクライアントの特徴として以下のような点があげられる。
【0013】
・クライアントに導入されるクライアントアプリケーションである。
【0014】
・モジュールはサーバ上で一括して管理され、導入/更新が容易に行える。
【0015】
・ローカル資源を利用することができる。
【0016】
・ネットワーク上の資源を利用することができる。
【0017】
・サーバ/クライアント間の通信プロトコルとして基本的にWebサービスが用いられる。
【0018】
スマートクライアントは、以上のような特徴により、従来のアプリケーションの問題点である導入の手間を省き、またWebアプリケーションの問題点であるインターフェースの貧弱さを解消する技術であり、Webブラウザを介してネットワーク経由での導入および起動を行うこともできる。
【0019】
なお、スマートクライアントの実装例として、例えばマイクロソフト社の提供するClickOnceテクノロジーを利用したものがある。
【0020】
しかし、スマートクライアントは、一般的にWebアプリケーションと比べ開発コストがかかることが多い。そのため、利用場面によってWebアプリケーションとスマートクライアントを使い分けたほうが効率が良い。
【0021】
例えば、ユーザ認証部分やメニュー部分、データリスト一覧を表示する部分などをWebアプリケーションで実装し、データの入力やチェック処理などの複雑なGUIが必要な部分はスマートクライアントで実装するやり方である。この場合、Webアプリケーション部分とスマートクライアント部分をそれぞれ独立化させずに、同一セッションの中で扱えたほうがユーザの利便性は向上する。しかし、Webアプリケーションからスマートクライアントへセッション情報を引き渡す仕組みはあまり考慮されていない。
【0022】
Webブラウザから起動されるスマートクライアントにセッション情報を引き継ぐ方法として、例えばURLパラメータとして、セッション情報を文字列として付加する方法や、参考文献1では、クライアントにプロキシプログラムを導入し、ネットワークデータを監視して認証情報などを必要に応じて付加する方法が紹介されている。
【特許文献1】特開2000−47971号公報
【非特許文献1】「MSDN:ClickOnceの配置を管理する」(http://www.microsoft.com/japan/msdn/net/winforms/admincodep.aspx)
【発明の開示】
【発明が解決しようとする課題】
【0023】
しかしながら、上述したようなサーバ/クライアントシステムの場合、Webサーバのセッション情報だけでなく、負荷分散装置が付加するCookie情報や認証サーバが付加するCookie情報も合わせて、Webブラウザからスマートクライアントに受け渡す必要がある。
【0024】
しかし、HTTP Cookie情報に含まれる情報をURLパラメータを使用する場合は、ブラウザのHTMLソースやURL表示欄に、HTTP Cookie情報に含まれるセキュリティ上重要な情報が表示されてしまいセキュリティの問題が発生する場合がある。
【0025】
セキュリティの問題とは例えば、ユーザによる改ざんであり、ユーザの目に晒されやすいURLパラメータでは容易に発生する可能性がある。他にも、キャッシュやログへの記録から漏えいする可能性やRefererヘッダ情報により、別サーバに傍受される危険もある。
【0026】
一方で、クライアントへのプロキシプログラムの導入は、事前にクライアントにプログラムを導入する必要があり、スマートクライアントの利点であるインストール作業の軽減と反している。
【0027】
本発明は、上記の問題点を解決するためになされたものである。本発明の目的は、HTTP Cookie情報に含まれるセキュリティ上重要な情報の受け渡しにURLパラメータを直接使用せず、セキュリティを確保した状態で、また、クライアントへのプロキシプログラムの導入をせずに、スマートクライアントの利点を生かした状態で、WebブラウザのCookie情報をスマートクライアントに引き継ぐことができる仕組みを提供することである。
【課題を解決するための手段】
【0028】
本発明は、Webサーバにアクセスして該Webサーバから発行されたHTTP Cookie情報を保持する第1のWebクライアント手段と、前記第1のWebクライアント手段から起動されて前記Webサーバにアクセスする第2のWebクライアント手段とを有する情報処理装置であって、前記第2のWebクライアント手段は、起動元となる前記第1のWebクライアント手段を特定する特定手段と、前記特定手段により特定された前記第1のWebクライアント手段から前記第1のWebクライアント手段が保持するHTTP Cookie情報を取得するクッキー情報取得手段と、前記クッキー情報取得手段により取得した前記HTTP Cookie情報を使用して前記Webサーバにアクセスするアクセス手段とを有することを特徴とする。
【発明の効果】
【0029】
本発明によれば、HTTP Cookie情報に含まれるセキュリティ上重要な情報の受け渡しにURLパラメータを直接使用せず、またクライアントへのプロキシプログラムの導入をせずに、第1のWebクライアント手段(Webブラウザ)のHTTP Cookie情報を第2のWebクライアント手段(スマートクライアント)に引き継ぐことができる等の効果を奏する。
【発明を実施するための最良の形態】
【0030】
〔第1実施形態〕
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【0031】
図1は、本発明の情報処理装置のセッション管理方法を適用可能なサーバ/クライアントシステムの一例を示すシステム構成図である。
【0032】
本実施形態のシステムは、HTTPプロトコルを利用したサーバ/クライアントシステムであり、図1に示すように、Webサーバ101〜103が負荷分散装置104とネットワーク108で繋がれている。この負荷分散装置104は、Webクライアント106〜107からの要求を受信し、該受信した要求を一元的に管理して、HTTP Cookie情報を利用してセッションを認識し、前記要求を処理対象のWebサーバ101〜103に振り分け、サーバ101〜103の負荷を分散する。
【0033】
また、負荷分散装置104とWebクライアント106〜107の間には、ネットワーク109を介して認証サーバ105が設置されている。
【0034】
また、認証サーバ105は、シングルサインオン実現するための仕組みであり、クライアントからの通信を受信し、HTTP Cookieを利用して、認証済みかどうかをチェックする。そして、認証済みでない場合は、認証画面をクライアントに送信し、認証を促す。一方、認証済みの場合は、負荷分散装置を介してサーバへのアクセスを許可する。
【0035】
図2は、図1に示したサーバ101〜103とクライアント106〜107のハードウェア構成の一例を示すブロック図である。
【0036】
図2において、201はCPUであり、システムバス204に接続される各デバイスを統括的に制御する。また、ROM203あるいは外部メモリ211には、CPU201の制御プログラムであるオペレーティングシステム(OS)や、各サーバあるいは各クライアントの後述する各種機能を実現するためのプログラムが記憶されている。RAM202は、CPU201の主メモリ、ワークエリア、一時待避領域等として機能する。
【0037】
入力コントローラ205は、入力部209からの入力を制御する。この入力部209としては、特に、サーバやクライアント等の端末では、キーボード、マウス等のポインティングデバイスが挙げられる。また、印刷装置等では、この入力部209として、タッチパネル、ボタン、スイッチ等が挙げられる。
【0038】
出力コントローラ206は、出力部210の表示を制御する。この出力部210としては、例えば、CRTや液晶ディスプレイ等が挙げられる。
【0039】
外部メモリコントローラ207は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタドライバ等を記憶する外部メモリ211へのアクセスを制御する。加えて、外部メモリコントローラ207には、各サーバあるいは各クライアントの各種機能を実現するための各種テーブル、パラメータが記憶されている。
【0040】
この外部メモリ211としては、ハードディスク(HD)やフロッピー(登録商標)ディスク(FD)、PCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)、スマートメディア等が挙げられる。
【0041】
通信I/Fコントローラ208は、ネットワーク108、109を介して外部機器との通信制御処理を実行する。
【0042】
なお、プログラム212は、本発明を実現するためのプログラムである。このプログラム212は、外部メモリ211に記録されており、必要に応じてRAM202にロードされることによりCPU201によって実行されるものである。
【0043】
図3は、図1に示したクライアント106〜107において実現される機能構成を示すブロック図である。
【0044】
図3に示すように、クライアント106〜107には、Webブラウザ301、およびClickOnceローダ303が搭載されている。Webアプリケーション302は、Webブラウザ301上で動作する。ClickOnceローダ303は、Webブラウザ301を介してユーザからスマートクライアントアプリケーション(クライアントプログラム)304の起動要求を受け、プログラムのバージョン確認により、更新が必要かを判断し、必要であればサーバからスマートクライアント304プログラムをダウンロードした後、起動処理を行う。
【0045】
スマートクライアント(クライアントプログラム)304は、サーバとの通信を行う通信部305と、通信部305を介して識別子を受信し管理する識別子管理部306と、受信した識別子を元に呼び出し元プログラムのプロセスを特定する呼び出し元プロセス取得部307と、呼び出し元プロセスからHTTP Cookieを取得し、サーバとの通信の際に使用するHTTP Cookieを管理するHTTP Cookie管理部308を持つ。
【0046】
なお、Webブラウザ301、ClickOnceローダ303、クライアントプログラム304は、クライアント106〜107のCPU201が外部メモリ211に記憶されたプログラムをRAM202に読み出して実行することにより実現される機能に対応する。
【0047】
以下、図4〜図9を用いて本発明の情報処理装置のセッション管理方法を適用可能なサーバ/クライアントシステムの動作を説明する。
【0048】
図4は、本発明の情報処理装置のセッション管理方法を適用可能なサーバ/クライアントシステムの動作を説明するシーケンス図である。なお、このシーケンス図では、クライアントをクライアント106、WebサーバをWebサーバ101として説明するが、クライアント107、Webサーバ102,103としても同様である。なお、S4101〜S4104は、ユーザの操作を示す。
【0049】
また、S4201〜S4205は、Webアプリケーション302の処理を示す。また、S4301〜S4304は、ClickOnceローダ303の処理を示す。また、S4401〜S4403は、スマートクライアントアプリケーション304の処理を示す。即ち、S4201〜S4205、S4301〜S4304、S4401〜S4403は、クライアント106のCPU201が外部メモリ211に記憶されたプログラムをRAM202に読み出して実行することにより実現する。
【0050】
また、S4501〜S4507は、認証サーバ105の処理を示す。即ち、S4501〜S4507は、認証サーバ105のCPU201が外部メモリ211に記憶されたプログラムをRAM202に読み出して実行することにより実現する。
【0051】
また、S4601〜S4604は、Webサーバ101の処理を示す。即ち、S4601〜S4604は、Webサーバ101のCPU201が外部メモリ211に記憶されたプログラムをRAM202に読み出して実行することにより実現する。
【0052】
以下、処理について説明する。
【0053】
まず、ユーザ401がクライアント106のWebブラウザ301からWebアプリケーション302の起動操作を行うと(S4101)、Webブラウザ301は、この操作を検知して、Webアプリケーション302を起動する。そして、起動されたWebアプリケーション302は、サーバアクセスを行う(S4201)。
【0054】
認証サーバ105は、Webアプリケーション302からのアクセスを解析し、HTTP Cookie情報に認証チケットが含まれているかを確認し、ログイン済みかどうかのチェックをする(S4501)。そして、ログインしていないと判断した場合、認証サーバ105は、ログイン画面をWebアプリケーション302に返却する(S4502)。
【0055】
Webアプリケーション302は、図5に示すようなログイン画面を表示して(S4202)、ログイン操作を促す。
【0056】
図5は、ログイン画面の一例を示す図である。
【0057】
そして、このログイン画面からユーザ401がログイン操作を行うと(S4102)、Webアプリケーション302は、この操作を検知して、ログイン要求を認証サーバ105に行う(S4203)。
【0058】
認証サーバ105は、このログイン要求に基づいてログインチェックを行い(S4503)、認証に成功したと判断した場合、認証チケットを生成し(S4504)、ログイン要求をWebサーバ101に送る(S4505)。
【0059】
Webサーバ101は、このログイン要求に応じてセッションを生成し(S4601)、図6に示すようなメニュー画面コンテンツと、セッションIDをHTTP Cookie情報として認証サーバ105に返却する(S4602)。
【0060】
認証サーバ105は、Webサーバ101から返却されたメニュー画面コンテンツ、HTTP Cookie情報(セッションIDを含む)に、認証チケットをHTTP Cookie情報として加えてWebアプリケーション302に返却する(S4506)。
【0061】
Webアプリケーション302は、認証サーバ105から返却されたメニュー画面コンテンツ、HTTP Cookie情報(セッションID,認証チケットを含む)を受け取り、図6に示すようなメニュー画面を表示する(S4204)。
【0062】
図6は、Webサーバ101から返却されるメニュー画面の一例を示す図である。
【0063】
ユーザが、メニュー画面内のメニューからスマートクライアントを起動するメニュー、例えば図6では「交通費申請」メニューを選択すると(S4103)、Webアプリケーション302は、この操作を検知して、ClickOnceローダ303へスマートクライアント起動要求を行う(S4205)。この際、Webアプリケーション302は、呼び出し元のWebブラウザ(起動元)を特定するための識別子をURLパラメータとして指定する。なお、上記呼び出し元のWebブラウザを特定するための識別子は、呼び出し元プログラムを識別する一意なもので、どのようなものであってもよく、例えばセッションIDや、セッションを識別するための他の情報であってもよい。一般には、セッション識別情報として使用されるセッションIDは64bitのハッシュ値が用いられる。
【0064】
ClickOnceローダ303は、起動要求を受けると、Webサーバ101に対しスマートクライアントモジュールのバージョン情報を要求する(S4301)。なお、この際に使用するWebサーバ101のURLも上記URLパラメータに含まれているものとする。
【0065】
Webサーバ101は、スマートクライアントモジュールのバージョン情報の要求を受信すると、バージョン情報を、ClickOnceローダ303に返却する。
【0066】
ClickOnceローダ303は、Webサーバ101より返却されたバージョン情報と、クライアント106に配置されているモジュールのバージョン情報をチェックする(S4302)。
【0067】
そして、Webサーバ101から返却されたバージョン情報のようが新しいと判断した場合、ClickOnceローダ303は、スマートクライアントアプリケーションのダウンロード要求をWebサーバ101に行う(S4303)。
【0068】
Webサーバ101は、スマートクライアントアプリケーションのダウンロード要求を受信すると、スマートクライアントアプリケーションをClickOnceローダ303に配信する(S4604)。
【0069】
ClickOnceローダ303は、Webサーバ101から受信したスマートクライアントアプリケーション304を起動し(S4304)、Webアプリケーション302から受け取ったURLパラメータをスマートクライアントアプリケーションに引き渡す。
【0070】
起動されたスマートクライアントアプリケーション304は、起動処理を行う(S4401)。ここで、起動処理(S4401)について図7を用いて説明する。
【0071】
図7は、本発明のセッション管理装置における起動処理の一例を示すフローチャートである。なお、このフローチャートの処理は、スマートクライアントアプリケーション304が実行する。即ち、クライアント106〜107のCPU201が外部メモリ211に記憶されたプログラムをRAM202に読み出して実行する。
【0072】
スマートクライアントアプリケーション304は、起動処理を開始すると(S808)、ClickOnceローダ303より受け取ったURLパラメータから上述した識別子(例えば、セッションID)の取得を行う(S802)。
【0073】
次に、スマートクライアントアプリケーション304は、クライアント上で起動しているプロセスのリスト(プロセスリスト)を取得し、呼び出し元のWebアプリケーションが見つかるまでプロセスリストを検索する(S803〜S807)。なお、図8は、プロセスのリストの一例を示す図である。
【0074】
以下、S803〜S807のループ処理を詳細に説明する。
【0075】
スマートクライアントアプリケーション304は、上記プロセスリストからいずれかのプロセスを選択し、該選択したプロセスがブラウザアプリケーションか否か判定する(S804)。そして、上記選択したプロセスがブラウザアプリケーションでないと判断した場合、スマートクライアントアプリケーション304は、S804の処理を繰り返す。
【0076】
一方、上記S804において、上記選択したプロセスがブラウザアプリケーションであると判断した場合、スマートクライアントアプリケーション304は、上記選択したプロセスの持つ識別子と、上記S802で取得した識別子が一致するか比較する(S805)。そして、上記選択したプロセスの持つ識別子が上記S802で取得した識別子と一致しないと判断した場合、スマートクライアントアプリケーション304は、S804に処理を戻す。
【0077】
一方、上記S805において、上記選択したプロセスの持つ識別子が上記S802で取得した識別子と一致すると判断した場合、スマートクライアントアプリケーション304は、ループを抜け、ステップS806に処理を進める。
【0078】
ステップS806では、スマートクライアントアプリケーション304は、上記選択したプロセスを呼び出し元アプリケーションと認識し、該呼び出し元アプリケーションからHTTP Cookie情報を取得してコピーし(S806)、起動処理を終了する(S808)。
【0079】
なお、スマートクライアントアプリケーション304は、HTTP Cookie情報を取得する際には、ClickOnceローダ303より受け取ったURLパラメータを解析し、サーバ情報を取得して、特定のサーバやドメイン向けのHTTP Cookie情報のみをコピーするように構成してもよい。これにより、不要なCookie情報を排除して必要なCookie情報のみを取得できる。
【0080】
以下、図4のシーケンス図の説明に戻る。
【0081】
S4401の起動処理(図7)を終えたスマートクライアントアプリケーション304は、図9のような「交通費申請」の入力画面を表示し、ユーザからの操作を促す(S4402)。
【0082】
なお、図9は、スマートクライアントアプリケーション304が表示する画面の一例を示す図である。
【0083】
そして、ユーザが上記入力画面からスマートクライアントアプリケーション304を操作すると(S4104)、スマートクライアントアプリケーション304は、この操作を検知して、サーバにアクセスする必要がある場合には、HTTP Cookie情報とともに、サーバに処理要求を行う(S4403)。
【0084】
認証サーバ105は、スマートクライアントアプリケーション304から上記の処理要求を受け取り、認証済みかどうかをチェックする(S4506)。
【0085】
なお、認証サーバ105は、スマートクライアントアプリケーション304から受け取ったHTTP Cookie情報に認証チケットが存在すると判断した場合、認証済みと判定し、Webサーバ101に処理要求を受け渡す(S4507)。
【0086】
このように、スマートクライアントアプリケーション304は、呼び出し元ブラウザからコピーしたHTTP Cookie情報を使用することで、Webアプリケーション302のセッションと同一のセッション内で動作することができる。よって、認証サーバ105が存在する環境でも同様にスマートクライアントアプリケーション304に同一のHTTP Cookie情報がWebアプリケーション302から引き継がれているため、スマートクライアントアプリケーション304で再度認証処理を行う必要がなくなり、シングルサインオンを実現できる。
【0087】
また、HTTP Cookie情報を利用した負荷分散装置104を介したサーバへのアクセスでも同様に、Cookie情報によりセッションが認識され、正しく処理対象サーバに振り分けられるようになる。
【0088】
以上のように、HTTP Cookie情報を利用する複数のアプリケーション間でHTTP Cookie情報が共有されていない場合に、HTTP Cookie情報を引き継ぐことができる。
【0089】
なお、HTTP Cookie情報を引き継ぐ際に、HTTP Cookie情報に含まれるセキュリティ上重要な情報の受け渡しにURLパラメータを直接使用せず(URLパラメータにHTTP Cookie情報に含まれるセキュリティ上重要な情報をセットするといった直接的な方法を使用せず)、また、クライアントへのプロキシプログラムの導入をせずに、WebブラウザのCookie情報をスマートクライアントに引き継ぐことができる。したがって、セキュリティを確保した状態で、かつ、煩雑なプロキシプログラムの導入を行うことなくスマートクライアントの利点を損なうことなく、WebブラウザのCookie情報をスマートクライアントに引き継ぐことができる。
【0090】
そして、このようなセッション管理装置をセッション管理が必要な各種システムに用いることによって、セッション情報を使用するあらゆるサーバへのアクセスに適用できる。
【0091】
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0092】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【0093】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0094】
以上、示したように本発明によれば、HTTP Cookieを用いた負荷分散装置や認証サーバの存在する環境において、Webブラウザ等の呼び出し元プログラムと、スマートクライアントなどのリッチクライアント間でセッションをHTTP Cookie情報を引き継ぐことができ、負荷分散を行ったり、認証済み情報を利用ことができる。
【0095】
以下、図10に示すメモリマップを参照して本発明に係るセッション管理方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体の構成について説明する。
【0096】
図10は、本発明に係るセッション管理方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体(記憶媒体)のメモリマップを説明する図である。
【0097】
なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【0098】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、インストールするプログラムやデータが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【0099】
本実施形態における図4,図7に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【0100】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0101】
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【0102】
プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,DVD−ROM,磁気テープ,不揮発性のメモリカード,ROM,EEPROM,シリコンディスク等を用いることができる。
【0103】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0104】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0105】
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0106】
さらに、本発明を達成するためのソフトウェアによって表されるプログラムをネットワーク上のサーバ,データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0107】
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【産業上の利用可能性】
【0108】
本発明のセッション管理装置をセッション管理が必要な各種システムに用いることによって、セッション情報を使用するあらゆるサーバへのアクセスに適用できる。
【図面の簡単な説明】
【0109】
【図1】本発明の情報処理装置のセッション管理方法を適用可能なサーバ/クライアントシステムの一例を示すシステム構成図である。
【図2】図1に示したサーバ101〜103とクライアント106〜107のハードウェア構成の一例を示すブロック図である。
【図3】図1に示したクライアント106〜107において実現される機能構成を示すブロック図である。
【図4】本発明の情報処理装置のセッション管理方法を適用可能なサーバ/クライアントシステムの動作を説明するシーケンス図である。
【図5】ログイン画面の一例を示す図である。
【図6】Webサーバ101から返却されるメニュー画面の一例を示す図である。
【図7】本発明のセッション管理装置における起動処理の一例を示すフローチャートである。
【図8】プロセスのリストの一例を示す図である。
【図9】スマートクライアントアプリケーション304が表示する画面の一例を示す図である。
【図10】本発明に係るセッション管理方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体(記憶媒体)のメモリマップを説明する図である。
【符号の説明】
【0110】
101〜103 Webアプリケ−ションサーバ
104 負荷分散装置
105 認証サーバ
106,107 クライアント
108,109 ネットワーク
301 Webブラウザ
302 Webアプリケーション
303 ClickOnceローダ
304 クライアントプログラム
305 通信部
306 識別子管理部
307 呼び出し元プログラム取得部
308 HTTP Cookie管理部

【特許請求の範囲】
【請求項1】
Webサーバにアクセスして該Webサーバから発行されたHTTP Cookie情報を保持する第1のWebクライアント手段と、前記第1のWebクライアント手段から起動されて前記Webサーバにアクセスする第2のWebクライアント手段とを有する情報処理装置であって、
前記第2のWebクライアント手段は、
起動元となる前記第1のWebクライアント手段を特定する特定手段と、
前記特定手段により特定された前記第1のWebクライアント手段から前記第1のWebクライアント手段が保持するHTTP Cookie情報を取得するクッキー情報取得手段と、
前記クッキー情報取得手段により取得した前記HTTP Cookie情報を使用して前記Webサーバにアクセスするアクセス手段とを有する、
ことを特徴とする情報処理装置。
【請求項2】
同等の機能を有する複数のWebサーバと、前記Webサーバへの要求を一元的に管理してHTTP Cookie情報を用いて前記Webサーバへの要求を振り分ける負荷分散装置とを有するWebシステムにアクセスして前記いずれかのWebサーバから発行されたHTTP Cookie情報を保持する第1のWebクライアント手段と、前記第1のWebクライアント手段から起動されて前記Webシステムにアクセスする第2のWebクライアント手段とを有する情報処理装置であって、
前記第2のWebクライアント手段は、
起動元となる前記第1のWebクライアント手段を特定する特定手段と、
前記特定手段により特定された前記第1のWebクライアント手段から前記第1のWebクライアント手段が保持するHTTP Cookie情報を取得するクッキー情報取得手段と、
前記クッキー情報取得手段により取得した前記HTTP Cookie情報を使用して前記Webシステムにアクセスするアクセス手段とを有する、
ことを特徴とする情報処理装置。
【請求項3】
Webサーバと、HTTP Cookie情報を用いてWebクライアントが認証済みであるか判断する認証サーバとを有するWebシステムにアクセスして前記Webサーバから発行されたHTTP Cookie情報を保持する第1のWebクライアント手段と、前記第1のWebクライアント手段から起動されて前記Webシステムにアクセスする第2のWebクライアント手段とを有する情報処理装置であって、
前記第2のWebクライアント手段は、
起動元となる前記第1のWebクライアント手段を特定する特定手段と、
前記特定手段により特定された前記第1のWebクライアント手段から前記第1のWebクライアント手段が保持するHTTP Cookie情報を取得するクッキー情報取得手段と、
前記クッキー情報取得手段により取得した前記HTTP Cookie情報を使用して前記Webシステムにアクセスするアクセス手段とを有する、
ことを特徴とする情報処理装置。
【請求項4】
前記クッキー情報取得手段は、前記特定手段により特定された前記第1のWebクライアント手段から前記第1のWebクライアント手段が保持する特定のURLに含まれるWebサーバに関連したHTTP Cookie情報を取得することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
【請求項5】
前記第1のWebクライアント手段は、前記第2のWebクライアント手段を起動する際に、起動元を特定する識別子を指定して起動するものであり、
前記第2のWebクライアント手段は、起動元から指定された前記識別子を取得する識別子取得手段を有し、
前記特定手段は、前記識別子取得手段により取得された前記識別子に基づいて起動元となる前記第1のWebクライアント手段を特定する、
ことを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
【請求項6】
Webサーバにアクセスして該Webサーバから発行されたHTTP Cookie情報を保持する第1のWebクライアント手段と、前記第1のWebクライアント手段から起動されて前記Webサーバにアクセスする第2のWebクライアント手段とを有する情報処理装置におけるセッション管理方法であって、
前記第2のWebクライアント手段が、起動元となる前記第1のWebクライアント手段を特定する特定ステップと、
前記第2のWebクライアント手段が、前記特定ステップにより特定された前記第1のWebクライアント手段から前記第1のWebクライアント手段が保持するHTTP Cookie情報を取得するクッキー情報取得ステップと、
前記第2のWebクライアント手段が、前記クッキー情報取得手段により取得した前記HTTP Cookie情報を使用して前記Webサーバにアクセスするアクセスステップと、
を有することを特徴とするセッション管理方法。
【請求項7】
同等の機能を有する複数のWebサーバと、前記Webサーバへの要求を一元的に管理してHTTP Cookie情報を用いて前記Webサーバへの要求を振り分ける負荷分散装置とを有するWebシステムにアクセスして前記いずれかのWebサーバから発行されたHTTP Cookie情報を保持する第1のWebクライアント手段と、前記第1のWebクライアント手段から起動されて前記Webシステムにアクセスする第2のWebクライアント手段とを有する情報処理装置におけるセッション管理方法であって、
前記第2のWebクライアント手段は、
起動元となる前記第1のWebクライアント手段を特定する特定手段と、
前記特定手段により特定された前記第1のWebクライアント手段から前記第1のWebクライアント手段が保持するHTTP Cookie情報を取得するクッキー情報取得手段と、
前記クッキー情報取得手段により取得した前記HTTP Cookie情報を使用して前記Webシステムにアクセスするアクセス手段とを有する、
ことを特徴とするセッション管理方法。
【請求項8】
Webサーバと、HTTP Cookie情報を用いてWebクライアントが認証済みであるか判断する認証サーバとを有するWebシステムにアクセスして前記Webサーバから発行されたHTTP Cookie情報を保持する第1のWebクライアント手段と、前記第1のWebクライアント手段から起動されて前記Webシステムにアクセスする第2のWebクライアント手段とを有する情報処理装置におけるセッション管理方法であって、
前記第2のWebクライアント手段が、起動元となる前記第1のWebクライアント手段を特定する特定ステップと、
前記第2のWebクライアント手段が、前記特定ステップにより特定された前記第1のWebクライアント手段から前記第1のWebクライアント手段が保持するHTTP Cookie情報を取得するクッキー情報取得ステップと、
前記第2のWebクライアント手段が、前記クッキー情報取得ステップにより取得した前記HTTP Cookie情報を使用して前記Webシステムにアクセスするアクセスステップと、
を有することを特徴とするセッション管理方法。
【請求項9】
前記クッキー情報取得ステップは、前記特定ステップにより特定された前記第1のWebクライアント手段から前記第1のWebクライアント手段が保持する特定のURLに含まれるWebサーバに関連したHTTP Cookie情報を取得することを特徴とする請求項6乃至8のいずれか1項に記載のセッション管理方法。
【請求項10】
前記第1のWebクライアント手段は、前記第2のWebクライアント手段を起動する際に、起動元を特定する識別子を指定して起動するものであり、
前記第2のWebクライアント手段が、起動元から指定された前記識別子を取得する識別子取得ステップを有し、
前記特定ステップは、前記識別子取得ステップにより取得された前記識別子に基づいて起動元となる前記第1のWebクライアント手段を特定する、
ことを特徴とする請求項6乃至9のいずれか1項に記載のセッション管理方法。
【請求項11】
請求項6乃至10のいずれか1項に記載されたセッション管理方法をコンピュータに実行させるためのプログラム。
【請求項12】
請求項11に記載されたプログラムを記録したコンピュータ読み取り可能な記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2010−140351(P2010−140351A)
【公開日】平成22年6月24日(2010.6.24)
【国際特許分類】
【出願番号】特願2008−317376(P2008−317376)
【出願日】平成20年12月12日(2008.12.12)
【出願人】(301015956)キヤノンソフトウェア株式会社 (364)
【Fターム(参考)】