(57)【要約】【課題】ウェブサービスセッションと通常セッションとが連携できるようにする。【解決手段】ウェブサーバ装置２０が、ウェブサービスセッションの最中にあるウェブクライアント装置１０に対して、ＳＯＡＰ通信を通じて、ウェブサービスセッションＩＤに対応付けられた一時トークンを、送信した場合において、そのウェブクライアント装置１０が、ウェブサーバ装置２０へＨＴＴＰ通信を通じて一時トークンを送信してきたときには、ウェブサーバ装置２０は、受信した一時トークンが正当なものであるか否かを、判別する。その一時トークンが正当なものであった場合には、ウェブサーバ装置２０は、ウェブクライアント装置１０に対して通常セッションＩＤを発行し、クッキー情報として送信し、その一時トークンに対応付けられていたウェブサービスセッションＩＤに対し、通常セッションＩＤを対応付けて保存する。【選択図】図４
2008077614.tif 000002
【特許請求の範囲】
【請求項１】
ウェブクライアントとの間のウェブサービスセッション及び通常セッションを管理するためのセッション管理プログラムであって、
コンピュータを、
何れかのウェブクライアントからＸＭＬ関連通信を通じてアクセス要求を受け付ける第１受付手段，
前記第１受付手段がアクセス要求を受け付けると、ウェブサービスセッションのセッションＩＤを発行して、そのウェブサービスセッションＩＤをＸＭＬ関連通信を通じて前記ウェブクライアントに送信する第１セッションＩＤ発行手段，
何れかのウェブクライアントから、前記第１セッションＩＤ発行手段が発行したウェブサービスセッションＩＤとともに、ウェブサービス呼出要求を、ＸＭＬ関連通信を通じて受け付けた場合に、そのウェブサービス呼出を許可するウェブサービスセッション管理手段，
前記ウェブサービスセッション管理手段が呼び出しを許可したウェブサービスが、ウェブアプリケーションの所在情報を処理結果として通知するウェブサービスである場合に、一時トークンを発行して、その一時トークンとともにそのウェブサービスの処理結果をＸＭＬ関連通信を通じて前記ウェブクライアントに送信する一時トークン発行手段，
前記一時トークン発行手段が発行した一時トークンと、前記ウェブサービスセッション管理手段が受け付けたウェブサービスセッションＩＤとを対応付けて記憶装置に記憶する記憶手段，
何れかのウェブクライアントから、前記一時トークン発行手段が発行した一時トークンとともに、前記所在情報の示すウェブアプリケーションへのアクセス要求を、ＨＴＴＰ通信を通じて受け付けると、その一時トークンをキーに前記記憶装置を検索する検索手段，
前記検索手段が前記ウェブクライアントから受け付けた一時トークンと同一の一時トークンが、前記記憶装置から検出できた場合に、通常セッションＩＤを発行して、その通常セッションＩＤをクッキー情報として前記ウェブクライアントへＨＴＴＰ通信を通じて送信する第２セッションＩＤ発行手段，及び、
前記記憶装置において、前記検索手段が受け付けた一時トークンＩＤと同一の一時トークンＩＤを、前記第２セッションＩＤ発行手段が発行した通常セッションＩＤで、上書き更新する更新手段
として機能させる
ことを特徴とするセッション管理プログラム。
【請求項２】
前記記憶手段は、前記一時トークン発行手段が発行した一時トークンと、その一時トークンが発行された時刻と、前記ウェブサービスセッション管理手段が受け付けたウェブサービスセッションＩＤとを対応付けて、記憶装置に記憶し、
前記第２セッションＩＤ発行手段は、前記検索手段が前記ウェブクライアントから受け付けた一時トークンと同一の一時トークンが、前記記憶装置から検出できた場合であって、その一時トークンの発行時刻から所定時間経過していないときに、通常セッションＩＤを発行して、その通常セッションＩＤをクッキー情報として前記ウェブクライアントにＨＴＴＰ通信を通じて送信する
ことを特徴とする請求項１記載のセッション管理プログラム。
【請求項３】
前記コンピュータを、更に、
何れかのウェブクライアントから、前記第１セッションＩＤ発行手段が発行したウェブサービスセッションＩＤとともに、セッション破棄要求を受け付けると、そのウェブサービスセッションＩＤとそのウェブサービスセッションＩＤに対応付けられている全ての情報とを、前記記憶装置から削除するセッション破棄手段
として機能させる
ことを特徴とする請求項１又は２記載のセッション管理プログラム。
【請求項４】
前記コンピュータを、更に、
何れかのウェブクライアントから、前記第２セッションＩＤ発行手段が発行した通常セッションＩＤとともに、セッション破棄要求を、受け付けると、その通常セッションＩＤとその通常セッションＩＤに対応付けられている情報とを、前記記憶装置から削除するセッション破棄手段
として機能させる
ことを特徴とする請求項１又は２記載のセッション管理プログラム。
【請求項５】
ウェブクライアントとの間のウェブサービスセッション及び通常セッションを管理するためのセッション管理方法であって、
コンピュータが、
何れかのウェブクライアントからＸＭＬ関連通信を通じてアクセス要求を受け付ける第１受付手順，
前記第１受付手順においてアクセス要求を受け付けると、ウェブサービスセッションのセッションＩＤを発行して、そのウェブサービスセッションＩＤをＸＭＬ関連通信を通じて前記ウェブクライアントに送信する第１セッションＩＤ発行手順，
何れかのウェブクライアントから、前記第１セッションＩＤ発行手順において発行したウェブサービスセッションＩＤとともに、ウェブサービス呼出要求を、ＸＭＬ関連通信を通じて受け付けた場合に、そのウェブサービス呼出を許可するウェブサービスセッション管理手順，
前記ウェブサービスセッション管理手順において呼び出しを許可したウェブサービスが、ウェブアプリケーションの所在情報を処理結果として通知するウェブサービスである場合に、一時トークンを発行して、その一時トークンとともにそのウェブサービスの処理結果をＸＭＬ関連通信を通じて前記ウェブクライアントに送信する一時トークン発行手順，
前記一時トークン発行手順において発行した一時トークンと、前記ウェブサービスセッション管理手順において受け付けたウェブサービスセッションＩＤとを対応付けて記憶装置に記憶する記憶手順，
何れかのウェブクライアントから、前記一時トークン発行手順において発行した一時トークンとともに、前記所在情報の示すウェブアプリケーションへのアクセス要求を、ＨＴＴＰ通信を通じて受け付けると、その一時トークンをキーに前記記憶装置を検索する検索手順，
前記検索手順において前記ウェブクライアントから受け付けた一時トークンと同一の一時トークンが、前記記憶装置から検出できた場合に、通常セッションＩＤを発行して、その通常セッションＩＤをクッキー情報として前記ウェブクライアントにＨＴＴＰ通信を通じて送信する第２セッションＩＤ発行手順，及び、
前記記憶装置において、前記検索手順で受け付けた一時トークンＩＤと同一の一時トークンＩＤを、前記第２セッションＩＤ発行手順で発行した通常セッションＩＤで、上書き更新する更新手順
を実行する
ことを特徴とするセッション管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ウェブサービスセッションと通常セッションとを管理するためのセッション管理プログラム及びセッション管理方法に、関する。
【背景技術】
【０００２】
周知のように、ウェブサービスは、広義には、インターネット上で提供されている全てのサービスをいうが、狭義には、インターネット上に分散されているアプリケーションやソフトウエアコンポーネントをウェブサーバやウェブクライアントが利用できるようにするためのサービスをいう。なお、ウェブサービスの語は、事実上、狭義の意味で利用されている。
【０００３】
近年では、インターネット上に分散されている業務データベース、決済システム、レンタルサーバ、レンタル掲示板、ＣＧＩ［Common Gateway Interface］プログラム、ウェブページデータなどのリソースに基づいて、ウェブサービスを構築することにより、商売を行うことが主流となりつつある（非特許文献１）。
【０００４】
そして、ウェブサービスに関連する技術の開発競争の結果、多くのウェブサービスは、ＸＭＬ［eXtensible Markup Language］スキーマに基づいて作成されたＸＭＬデータ、又は、ＷＳＤＬ［Web Services Description Language］に基づいて作成されたＷＳＤＬデータを、ＳＯＡＰ［Simple Object Access Protocol］（米マイクロソフト社及び米ユーザランドソフトウエア社商標）やＸＭＬＰ［XML Protocol］などのＸＭＬ関連通信規約に従って、遣り取りすることにより、行われている。これらは、事実上の標準仕様となっている。
【０００５】
但し、概念的には、ウェブ関連の標準技術（ＴＣＰ／ＩＰ［Transmission Control Protocol/Internet Protocol］、ＨＴＴＰ［HyperText Transfer Protocol］、ＨＴＭＬ［HyperText Markup Language］など）を応用してウェブサーバやウェブクライアントが分散リソースを利用できるようにする技術であれば、何でも、ウェブサービスの仕様となり得る。
【０００６】
【非特許文献１】天野富夫、“事例から探るｗｅｂサービスのビジネスモデル”、[online]、平成１４年５月１４日、ＸＭＬコンソーシアム、［平成１８年９月５日検索］、インターネット＜ＵＲＬ：http://www.xmlconsortium.org/websv/kaisetsu/A5/main.html＞
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、従来、クッキー機能を利用したセッション管理の技術がある。この技術では、ウェブサーバが、ウェブクライアントにセッションＩＤ［Identification］を発行してクッキー情報として送信し、その一方、ウェブクライアントは、同一のウェブサーバに対するセッションの最中において、アクセスの毎にそのセッションＩＤをクッキー情報としてウェブサーバへ通知する。これにより、ウェブサーバは、どのウェブクライアントがセッションの最中であるかを管理することができる。
【０００８】
これに対し、最近、ウェブサービスについても、なりすまし等による被害を予防するため、セッション管理によるアクセス制限が必要ではないかと考えられている。そのため、ウェブサービスに関するセッション管理の技術が、徐々に策定されつつある。その策定されつつある技術では、ウェブクライアントの操作者が何れかのウェブサーバにアクセスしてきた際に、ウェブサーバ内に事前に用意されたセッション管理用のウェブサービスが、認証処理を行うようになっている。その認証処理では、セッション管理用のウェブサービスが、ウェブクライアントに暗証情報を要求し、事前に用意されているデータベースから同一の暗証情報が検出できたときに、そのウェブクライアントにセッションＩＤを発行する。ウェブクライアントは、同一のウェブサーバに対するセッションの最中において、ウェブサービスを呼び出す毎にそのセッションＩＤをウェブサーバへ通知する。これにより、ウェブサーバは、どのウェブクライアントがウェブサービスセッションの最中であるかを管理することができる。
【０００９】
このように、通常のＨＴＴＰ通信においては勿論のこと、ＸＭＬ関連通信においても、セッション管理によりアクセス制限を課すことができるようになりつつある。
【００１０】
現在のところ、同一のウェブブラウザからのアクセスは、その通信経路に応じて別個のセッションとして管理せざるを得ないが、利用者が通常のウェブアクセスとウェブサービスのアクセスとを同一のウェブブラウザを通じて行うにあたり、通常セッションがウェブサービスセッションと連携して行われることが望ましいと考えられている。
【００１１】
本発明は、このような事情に鑑みてなされたものであり、その課題は、ウェブサービスセッションと通常セッションとを連携させ得るようにすることにある。
【課題を解決するための手段】
【００１２】
上記の課題を解決するために案出されたセッション管理プログラムは、ウェブクライアントとの間のウェブサービスセッション及び通常セッションを管理するためのセッション管理プログラムであって、コンピュータを、何れかのウェブクライアントからＸＭＬ関連通信を通じてアクセス要求を受け付ける第１受付手段，前記第１受付手段がアクセス要求を受け付けると、ウェブサービスセッションのセッションＩＤを発行して、そのウェブサービスセッションＩＤをＸＭＬ関連通信を通じて前記ウェブクライアントに送信する第１セッションＩＤ発行手段，何れかのウェブクライアントから、前記第１セッションＩＤ発行手段が発行したウェブサービスセッションＩＤとともに、ウェブサービス呼出要求を、ＸＭＬ関連通信を通じて受け付けた場合に、そのウェブサービス呼出を許可するウェブサービスセッション管理手段，前記ウェブサービスセッション管理手段が呼び出しを許可したウェブサービスが、ウェブアプリケーションの所在情報を処理結果として通知するウェブサービスである場合に、一時トークンを発行して、その一時トークンとともにそのウェブサービスの処理結果をＸＭＬ関連通信を通じて前記ウェブクライアントに送信する一時トークン発行手段，前記一時トークン発行手段が発行した一時トークンと、前記ウェブサービスセッション管理手段が受け付けたウェブサービスセッションＩＤとを対応付けて記憶装置に記憶する記憶手段，何れかのウェブクライアントから、前記一時トークン発行手段が発行した一時トークンとともに、前記所在情報の示すウェブアプリケーションへのアクセス要求を、ＨＴＴＰ通信を通じて受け付けると、その一時トークンをキーに前記記憶装置を検索する検索手段，前記検索手段が前記ウェブクライアントから受け付けた一時トークンと同一の一時トークンが、前記記憶装置から検出できた場合に、通常セッションＩＤを発行して、その通常セッションＩＤをクッキー情報として前記ウェブクライアントへＨＴＴＰ通信を通じて送信する第２セッションＩＤ発行手段，及び、前記記憶装置において、前記検索手段が受け付けた一時トークンＩＤと同一の一時トークンＩＤを、前記第２セッションＩＤ発行手段が発行した通常セッションＩＤで、上書き更新する更新手段として機能させることを、特徴としている。
【００１３】
このように、ウェブサービスセッションＩＤに対応付けられた一時トークンのＸＭＬ関連通信を通じたウェブクライアントへの送信と、その一時トークンのＨＴＴＰ通信を通じたウェブクライアントからの返信とを通じて、一つのウェブクライアントに対して発行されるウェブサービスセッションＩＤ及び通常セッションＩＤが関連付けられるようにすれば、ウェブサービスセッションと通常セッションとを共通のセッションとして管理することができるようになる。
【００１４】
また、上記の課題を解決するために案出されたセッション管理方法は、ウェブクライアントとの間のウェブサービスセッション及び通常セッションを管理するためのセッション管理方法であって、コンピュータが、何れかのウェブクライアントからＸＭＬ関連通信を通じてアクセス要求を受け付ける第１受付手順，前記第１受付手順においてアクセス要求を受け付けると、ウェブサービスセッションのセッションＩＤを発行して、そのウェブサービスセッションＩＤをＸＭＬ関連通信を通じて前記ウェブクライアントに送信する第１セッションＩＤ発行手順，何れかのウェブクライアントから、前記第１セッションＩＤ発行手順において発行したウェブサービスセッションＩＤとともに、ウェブサービス呼出要求を、ＸＭＬ関連通信を通じて受け付けた場合に、そのウェブサービス呼出を許可するウェブサービスセッション管理手順，前記ウェブサービスセッション管理手順において呼び出しを許可したウェブサービスが、ウェブアプリケーションの所在情報を処理結果として通知するウェブサービスである場合に、一時トークンを発行して、その一時トークンとともにそのウェブサービスの処理結果をＸＭＬ関連通信を通じて前記ウェブクライアントに送信する一時トークン発行手順，前記一時トークン発行手順において発行した一時トークンと、前記ウェブサービスセッション管理手順において受け付けたウェブサービスセッションＩＤとを対応付けて記憶装置に記憶する記憶手順，何れかのウェブクライアントから、前記一時トークン発行手順において発行した一時トークンとともに、前記所在情報の示すウェブアプリケーションへのアクセス要求を、ＨＴＴＰ通信を通じて受け付けると、その一時トークンをキーに前記記憶装置を検索する検索手順，前記検索手順において前記ウェブクライアントから受け付けた一時トークンと同一の一時トークンが、前記記憶装置から検出できた場合に、通常セッションＩＤを発行して、その通常セッションＩＤをクッキー情報として前記ウェブクライアントにＨＴＴＰ通信を通じて送信する第２セッションＩＤ発行手順，及び、前記記憶装置において、前記検索手順で受け付けた一時トークンＩＤと同一の一時トークンＩＤを、前記第２セッションＩＤ発行手順で発行した通常セッションＩＤで、上書き更新する更新手順を実行することを、特徴としている。
【００１５】
従って、このセッション管理方法を実現する装置は、前述した本発明のセッション管理プログラムを動作したコンピュータと同等に機能することになる。
【発明の効果】
【００１６】
以上に説明したように、本発明によれば、ウェブサービスセッションと通常セッションとを連携させることができるようになる。
【発明を実施するための最良の形態】
【００１７】
以下、添付図面を参照しながら、本発明を実施するための一つの形態について、説明する。
【００１８】
図１は、本実施形態のコンピュータネットワークシステムの構成図である。
【００１９】
本実施形態のコンピュータネットワークシステムは、一台以上のウェブクライアント装置１０と、ウェブサーバ装置２０とからなる。各装置１０、２０は、ネットワークを介して相互に通信自在に接続されている。
【００２０】
図２は、ウェブクライアント装置１０の構成図である。
【００２１】
ウェブクライアント装置１０は、ウェブクライアントとしての機能が付加された一般的なパーソナルコンピュータである。従って、このウェブクライアント装置１０は、液晶ディスプレイ等の表示装置１０ａと、キーボードやマウス等の入力装置１０ｂと、これら装置１０ａ，１０ｂが接続された本体とからなる。また、その本体は、ストレージ１０ｃ，ＣＰＵ１０ｄ，ＤＲＡＭ１０ｅ，及び、通信アダプタ１０ｆを、内蔵している。このうち、ストレージ１０ｃは、各種のプログラムやデータを記憶する記憶装置である。ＣＰＵ１０ｄは、ストレージ１０ｃ内のプログラムに従って処理を行う演算処理装置である。ＤＲＡＭ１０ｅは、ＣＰＵ１０ｄが処理を行う際にプログラムがキャッシュされたり作業領域が展開されたりする揮発性記憶装置である。通信アダプタ１０ｆは、ネットワークＮ上の他のコンピュータとデータの遣り取りを行うための通信装置である。
【００２２】
また、ウェブクライアント装置１０のストレージ１０ｃには、ＨＴＴＰクライアント１１，ＳＯＡＰクライアント１２，及び、ウェブブラウザ１３が、導入されている。図２には、これらプログラム１１〜１３がＤＲＡＭ１０ｅに展開された状態が、示されている。
【００２３】
ＨＴＴＰクライアント１１は、ＨＴＴＰ［HyperText Transfer Protocol］に従って他のコンピュータ上のＨＴＴＰサーバとＨＴＴＰメッセージを遣り取りするためのプログラムである。
【００２４】
ＳＯＡＰクライアント１２は、ＳＯＡＰ［Simple Object Access Protocol］に従って他のコンピュータ上のＳＯＡＰサーバとＳＯＡＰメッセージ（ＳＯＡＰエンベロープ）を遣り取りするためのプログラムである。なお、ＳＯＡＰは、通信プロトコル体系において、ＨＴＴＰの上位層に存在するため、実際には、ＳＯＡＰメッセージは、ＨＴＴＰヘッダが付された状態で遣り取りされる。
【００２５】
ウェブブラウザ１３は、操作者による指示を受けて、ネットワークＮ上のウェブサーバ装置２０から各種のデータを取得し、そのデータをそのデータ形式（例えば、ＨＴＭＬ［HyperText Markup Language］、ＸＭＬ［eXtensible Markup Language］、ＤＩＢ［Device Independent Bitmap］、ＰＮＧ［Portable Network Graphics］）に応じて解析し、その解析結果に基づいて文字や画像を適切に配置したコンテンツを表示するアプリケーションソフトウエアである。このウェブブラウザ１３は、ウェブサーバ装置２０から各種のデータを取得する際に、ＨＴＴＰクライアント１１及びＳＯＡＰクライアント１２の通信機能を利用する。なお、本実施形態のウェブブラウザ１３は、クッキー機能を有している。クッキー機能は、ウェブサーバから受け取ったクッキー情報を保存しておき、そのウェブサーバへアクセスする際に必ずそのクッキー情報を送り返す機能である。
【００２６】
図３は、ウェブサーバ装置２０の構成図である。
【００２７】
ウェブサーバ装置２０は、ウェブサーバとしての機能が付加された汎用コンピュータである。従って、このウェブサーバ装置２０は、少なくとも、ストレージ２０ａ，ＣＰＵ２０ｂ，ＤＲＡＭ２０ｃ，及び、通信アダプタ２０ｄを、内蔵している。
【００２８】
また、ウェブサーバ装置２０のストレージ２０ａには、ウェブリソース２１，ＨＴＴＰサーバ２２，ウェブアプリケーション２３，ＳＯＡＰサーバ２４，ＵＲＬ通知サービス２５，セキュリティトークンサービス２６，及び、セッション管理アプリケーション２７が、導入されている。図３には、ウェブリソース２１を除く各プログラム２２〜２７がＤＲＡＭ２０ｃに展開されている状態が、示されている。
【００２９】
ウェブリソース２１は、ネットワークを通じて他のコンピュータに提供されるＨＴＭＬデータや画像データなどのデータである。ウェブリソース２１には、それぞれ、一意なＵＲＬ［Uniform Resource Locator］が割り当てられており、ウェブリソース２１は、要求に応じてウェブクライアント装置２０へ引き渡される。本実施形態では、説明の都合上、ウェブリソース２１に、説明発表用画像の画像データが、含まれているものとする。
【００３０】
ＨＴＴＰサーバ２２は、他のコンピュータ上のＨＴＴＰクライアント１１とＨＴＴＰメッセージを遣り取りするためのプログラムである。より具体的には、ＨＴＴＰサーバ２２は、ＨＴＴＰクライアント１１からＨＴＴＰリクエストメッセージを受け取ると、そのＨＴＴＰリクエストメッセージにおいて指定されているＵＲＬにあるウェブリソース２１をストレージ２０ａから取得し、その取得したデータを含んだＨＴＴＰレスポンスメッセージを要求元のＨＴＴＰクライアント１１へ送信する。或いは、ＨＴＴＰサーバ２２は、ＵＲＬなどにウェブアプリケーション２３の起動コマンドが含まれていた場合、又は、ウェブアプリケーション２３が実行すべきスクリプトプログラムがウェブリソース２１に含まれていた場合、そのウェブアプリケーション２３を起動し、処理結果を取得し、その取得したデータを含んだＨＴＴＰレスポンスメッセージを要求元のＨＴＴＰクライアント１１へ送信する。
【００３１】
ウェブアプリケーション２３は、ＣＧＩ［Common Gateway Interface］やＪＳＰ［Java Server Pages］等のプログラムである。ＣＰＵ２０ｂは、このウェブアプリケーション２３に従って、又は、このウェブアプリケーション２３の機能を利用してウェブリソース２１内に記述されたスクリプトに従って、処理を実行し、その処理結果をウェブリソース２１内に組み込んで、ＨＴＴＰサーバ２２に引き渡す。このウェブアプリケーション２３によって実現される機能としては、例えば、電子掲示板、ブログ、カウンタ、アクセス解析、ショッピングカート、会員管理、在庫管理などがある。なお、本実施形態では、説明の都合上、ウェブアプリケーション２３に、説明発表用画像の画像データに基づいてその画像の表示を行うためのアプリケーションソフトウエアが、含まれているものとする。
【００３２】
ＳＯＡＰサーバ２４は、他のコンピュータ上のＳＯＡＰクライアント１２とＳＯＡＰメッセージを遣り取りするためのプログラムである。より具体的には、ＳＯＡＰサーバ２２は、ＳＯＡＰクライアント１２からＳＯＡＰリクエストメッセージを受け取ると、そのＳＯＡＰリクエストメッセージの本体から、ＲＰＣ［Remote Procedure Call］呼び出しを行うためのメソッド名やその引数などの情報を読み出し、メソッド中のＵＲＬにて示されるウェブサービス（アプリケーション又はソフトウエアコンポーネント）を呼び出して、戻り値を得るまで待機する。ＳＯＡＰサーバ２４は、ウェブサービスから戻り値を得ると、要求元のＳＯＡＰクライアント１２にＳＯＡＰレスポンスメッセージを返す。
【００３３】
ＵＲＬ通知サービス２５は、ウェブサーバ装置２０内のウェブリソース２１をＳＯＡＰ通信を通じて要求されたときにそのウェブリソース２１のＵＲＬを通知するウェブサービスである。
【００３４】
セキュリティトークンサービス２６は、ウェブクライアント装置１０の操作者がウェブサービスの利用者としての正当な権限を有する者であるか否かを判別するためのウェブサービスである。このセキュリティトークンサービス２６は、他のコンピュータ上のウェブブラウザ１３からＳＯＡＰ通信を通じてウェブサービスの呼び出し要求を受け付けると、そのウェブブラウザ１３の操作者に対し、認証のための暗証情報をＳＯＡＰ通信を通じて要求する。なお、このウェブサービスの呼び出し要求を受け付ける機能は、前述した第１受付手段に相当し、この機能の実行は、前述した第１受付手順に相当する。そして、このセキュリティトークンサービス２６は、ウェブブラウザ１３からＳＯＡＰ通信を通じて暗証情報を受け取ると、その暗証情報をキーとして図示せぬ利用者データベースを検索する。セキュリティトークンサービス２６は、そのキーに合致する暗証情報が図示せぬ利用者データベースから検出されれば、ウェブサービスセッションＩＤ［Identification］を発行し、これをセキュリティコンテキストトークンとしてウェブブラウザ１３に通知する。このウェブサービスセッションＩＤ発行機能は、前述した第１セッションＩＤ発行手段に相当し、この機能の実行は、前述した第１セッションＩＤ発行手順に相当する。セキュリティトークンサービス２６は、ウェブサービスセッションＩＤを付加したＳＯＡＰリクエストメッセージがウェブブラウザ１３から送られてくる間は、そのウェブブラウザ１３がウェブサービスセッションの最中であると判断して、他のウェブサービスの呼び出しを許可する。この判断機能は、前述したウェブサービスセッション管理手段に相当し、この機能の実行は、ウェブサービスセッション管理手順に相当する。なお、このセキュリティトークンサービス２６が行う処理は、米アイビーエム社及び米マイクロソフト社が策定を進めているウェブサービスセキュアカンバーセーション［WS-Secure Conversation］規格及びウェブサービストラスト［WS-trust］規格に従ったものであってもよい。
【００３５】
セッション管理アプリケーション２７は、このウェブサーバ装置２０へアクセスしてきたウェブクライアント装置１０のセッションを管理するためのアプリケーションソフトウエアである。このセッション管理アプリケーション２７に従ってＣＰＵ２０ｂが実行する処理の内容については、後述する。
【００３６】
次に、ウェブクライアント装置１０の操作者がウェブサーバ装置２０へアクセスする際の各装置１０，２０での処理の流れについて、説明する。
【００３７】
図４及び図５は、ウェブクライアント装置１０及びウェブサーバ装置２０がセッション確立時に実行する処理の流れを示す図である。
【００３８】
まず、ウェブクライアント装置１０の操作者が、ウェブブラウザ１３を起動し、ＵＲＬ通知サービス２５のＵＲＬを指定してアクセスする。すると、ウェブサーバ装置２０のセキュリティトークンサービス２６が、前述したように、ウェブブラウザ１３の操作者から暗証情報を取得し、認証処理を行う（ステップＳ１０１，Ｓ２０１）。
【００３９】
そして、ウェブサービスセッションＩＤが発行されてウェブクライアント装置１０に通知されることによりウェブサービスセッションが確立した後、ウェブリソース２１の一覧を含むウェブページを表示するためのデータが、ＵＲＬ通知サービス２５からＳＯＡＰ通信を通じて、ウェブブラウザ１３に送られる（ステップＳ２０２）。一方、ウェブブラウザ１３は、ウェブサービスセッションの確立後、データが送られるのを待機している（ステップＳ１０２；ＮＯ）。そして、ウェブブラウザ１３は、データを受信すると（ステップＳ１０２；ＹＥＳ）、受信したデータに基づいてウェブリソース２１の一覧を表示装置１０ａに表示し（ステップＳ１０３）、何れかが選択されるまで待機する（ステップＳ１０４；ＮＯ）。
【００４０】
ウェブクライアント装置１０の操作者が、ウェブリソース２１の一覧の中から、例えば、説明発表用画像の画像データを、選択すると（ステップＳ１０４；ＹＥＳ）、ウェブブラウザ１３が、選択されたウェブリソース２１を示す情報をＳＯＡＰ通信を通じてＵＲＬ通知サービス２５へ通知する（ステップＳ１０５）。一方、ＵＲＬ通知サービス２５は、ウェブリソース２１の一覧を含むウェブページを表示するためのデータを送信した後、何れかのウェブリソース２１を示す情報が通知されるのを待機している（ステップＳ２０３；ＮＯ）。そして、ＵＲＬ通知サービス２５は、選択されたウェブリソース２１を示す情報が通知されると（ステップＳ２０３；ＹＥＳ）、一時トークンを発行する（ステップＳ２０４）。なお、一時トークンとは、ウェブサービスセッションＩＤによるウェブサービスセッションと、通常セッションＩＤによる通常セッションとの橋渡しに利用される情報である。この一時トークンの内容の一例としては、「79 95 2f 7b 77 e5 28 6c 93 80 84 6d 14 56 fd 9f」がある。このような一時トークンが発行されると、セッション管理アプリケーション２７は、その一時トークンとウェブサービスセッションＩＤと発行時刻とを対応付けてワークテーブルに保存する（ステップＳ２０５）。そして、ＵＲＬ通知サービス２５は、選択されたウェブリソース２１をウェブブラウザ１３で解釈できるデータ形式に変換するためのウェブアプリケーション２３のＵＲＬを取得し、取得したＵＲＬに一時トークンを付加して（ステップＳ２０６）、ＳＯＡＰ通信を通じてウェブブラウザ１３へ送信する（ステップＳ２０７）。なお、これらステップＳ２０３，Ｓ２０４，Ｓ２０６，Ｓ２０７は、前述した一時トークン発行手順に相当し、これらステップを実行するＣＰＵ１０ｂは、前述した一時トークン発行手段に相当する。また、ステップＳ２０５は、前述した記憶手順に相当し、このステップを実行するＣＰＵ１０ｂは、前述した記憶手段に相当する。
【００４１】
ここで、ＵＲＬに一時トークンを付加する処理を、具体的に説明する。まず、先に例示した一時トークンは、ｂａｓｅ６４エンコードされて、「eZUve3flKGyTglRtFFb9nw==」となる。これが更にＵＲＬエンコードされて、「eZUve3flKGyTglRtFFb9nw%3D%3D」となる。例えばＵＲＬが「http://example.com/ws.cgi」というものであれば、一時トークンが付加されたＵＲＬは、「http://example.com/ws.cgi?ott=eZUve3flKGyTglRtFFb9nw%3D%3D」となる。このように、本実施形態では、一時トークンは、「ott」という変数名の代入値とされて、ＵＲＬに付加される。
【００４２】
ウェブブラウザ１３は、選択されたウェブリソース２１を示す情報を通知した後、データが送られるのを待機している（ステップＳ１０６；ＮＯ）。そして、ウェブブラウザ１３は、一時トークンとともにＵＲＬが通知されると（ステップＳ１０６；ＹＥＳ）、ＨＴＴＰ通信を通じてそのＵＲＬにアクセスする（ステップＳ１０７）。このとき、ＨＴＴＰメッセージに含まれることによりウェブサーバ装置２０へ通知されるＵＲＬには、一時トークンが付加されたままとなっている。一方、ウェブサーバ装置２０では、ＵＲＬ通知サービス２５がＵＲＬを通知した後、そのＵＲＬへのアクセスを通じて一時トークンが送られてくるのを待機している（ステップＳ２０８；ＮＯ）。そして、ウェブブラウザ１３によるそのＵＲＬへのアクセスがあることにより、一時トークンが、ＨＴＴＰサーバ２２からセッション管理アプリケーション２７に引き渡されると（ステップＳ２０８；ＹＥＳ）、セッション管理アプリケーション２７が、その一時トークンに対して、ＵＲＬデコードとｂａｓｅ６４デコードとを順に施す。その後、セッション管理アプリケーション２７が、これらデコードにより元に戻された一時トークンをキーとしてワークテーブルを検索する（ステップＳ２０９）。なお、ステップＳ２０８及びＳ２０９は、前述した検索手順に相当し、これらステップを実行するＣＰＵ１０ｂは、前述した検索手段に相当する。セッション管理アプリケーション２７は、ワークテーブルから同一の一時トークンが検出できたときには（ステップＳ２１０；ＹＥＳ）、その一時トークンの発行時刻から所定時間が経過しているか否かを、判別する（ステップＳ２１１）。セッション管理アプリケーション２７は、発行時刻から所定時間が経過していなければ（ステップＳ２１１；ＹＥＳ）、通常セッションＩＤを発行し（ステップＳ２１２）、ワークテーブルにおける一時トークンをこの通常セッションＩＤにて書き換えることにより、通常セッションＩＤを保存し（ステップＳ２１３）、その後、この通常セッションＩＤをクッキー情報としてＨＴＴＰ通信を通じて送信する（ステップＳ２１４）。ここで、図６は、ワークテーブルの一例を示す図である。図６に示すように、ワークテーブルの各レコードは、「ウェブサービスセッションＩＤ」、「通常セッションＩＤ」、「発行時刻」のフィールドを、有している。「ウェブサービスセッションＩＤ」フィールドには、セキュリティコンテキストトークンが記録され、「通常セッションＩＤ」フィールドには、クッキー情報が記録され、「発行時刻」フィールドには、一時トークンの発行時刻が記録されている。なお、ステップＳ２１０乃至Ｓ２１２，及び、Ｓ２１４は、前述した第２セッションＩＤ発行手順に相当し、これらステップを実行するＣＰＵ１０ｂは、前述した第２セッションＩＤ発行手段に相当する。また、ステップＳ２０５は、前述した更新手順に相当し、このステップを実行するＣＰＵ２０ｂは、前述した更新手段に相当する。
【００４３】
ウェブブラウザ１３は、一時トークンとともに通知されたＵＲＬにあるウェブアプリケーション２３の処理結果を要求した後、データが送られてくるのを待機している（ステップＳ１０８；ＮＯ）。そして、通常セッションＩＤがクッキー情報として送られてくると（ステップＳ１０８；ＹＥＳ）、ウェブブラウザ１３は、その送られてきたクッキー情報を保存する（ステップＳ１０９）。このように通常セッションＩＤがクッキー情報として保存されることにより、通常セッションが確立することとなる。すなわち、これ以降、ウェブブラウザ１３は、ログアウトの必要があるまでは、ＨＴＴＰ通信を通じてこのウェブサーバ装置２０にアクセスするときに必ずこの通常セッションＩＤをクッキー情報として通知することになる。
【００４４】
一方、セッション管理アプリケーション２７は、ウェブブラウザ１３から送られてきた一時トークンと同一の一時トークンがワークテーブルから検出できなかったとき（ステップＳ２１０；ＮＯ）、又は、ワークテーブルから検出できた一時トークンが発行時刻から所定時間経過してしまっていたとき（ステップＳ２１１；ＮＯ）には、ＨＴＴＰ通信を通じてウェブブラウザ１３に接続拒否を通知する（ステップＳ２１５）。この場合、ウェブブラウザ１３は、接続拒否を示す内容を表示装置１０ａに表示することになる。
【００４５】
このようにして、ウェブサービスセッションＩＤによるウェブサービスのセッションと、通常セッションＩＤによる通常セッションとが、ともに確立され、且つ、互いに関連付けられることとなる。
【００４６】
図７は、ウェブクライアント装置１０がセッション破棄を要求した時に実行される処理の流れを示す図である。
【００４７】
図７に示すように、ウェブサービスセッションと通常セッションとが確立している最中に、ウェブクライアント装置１０の操作者が、ウェブブラウザ１３を閉じる等のログアウト行為を行うと、ウェブブラウザ１３が、ウェブサービスセッションＩＤとともにウェブサービスセッションの破棄要求をＳＯＡＰ通信を通じてウェブサーバ装置２０へ送信し、又は、通常セッションＩＤとともに通常セッションの破棄要求をＨＴＴＰ通信を通じてウェブサーバ装置２０へ送信する（ステップＳ１２１）。
【００４８】
ウェブサーバ装置２０が、何れかのセッション破棄要求を受信すると（ステップＳ２２１；ＹＥＳ）、セッション管理アプリケーション２７が、そのセッション破棄要求に係るウェブサービスセッションＩＤ又は通常セッションＩＤを含むレコード（セッション情報）を、図６のワークテーブルから削除する（ステップＳ２２２）。これにより、ウェブサービスセッションＩＤと通常セッションＩＤとが関連付けられなくなるばかりでなく、それらによるウェブサービスセッション及び通常セッションそのものが、破棄されることとなる。
【００４９】
以上に説明したように、本実施形態によれば、一時トークンの遣り取りを通じて、ウェブサービスセッションＩＤと通常セッションＩＤとが関連付けられることにより、ウェブサービスセッションと通常セッションとを共通のセッションとして管理することができるようになる。すなわち、ウェブクライアント装置１０の操作者は、ウェブサービスセッションへのログイン後、スムーズ且つ安全に通常セッションを開始することができることとなる。
【図面の簡単な説明】
【００５０】
【図１】本実施形態のコンピュータネットワークシステムの構成図
【図２】ウェブクライアント装置の構成図
【図３】ウェブサーバ装置の構成図
【図４】セッション確立時に実行される処理の流れを示す図
【図５】セッション確立時に実行される処理の流れを示す図
【図６】ワークテーブルの一例を示す図
【図７】セッション破棄時に実行される処理の流れを示す図
【符号の説明】
【００５１】
１０    ウェブクライアント装置
１０ｃ  ストレージ
１０ｄ  ＣＰＵ
１０ｅ  ＤＲＡＭ
１０ｆ  通信アダプタ
１１    ＨＴＴＰクライアント
１２    ＳＯＡＰクライアント
１３    ウェブブラウザ
２０    ウェブサーバ装置
２０ａ  ストレージ
２０ｂ  ＣＰＵ
２０ｃ  ＤＲＡＭ
２０ｄ  通信アダプタ
２１    ウェブリソース
２２    ＨＴＴＰサーバ
２３    ウェブアプリケーション
２４    ＳＯＡＰサーバ
２５    ＵＲＬ通知サービス
２６    セキュリティトークンサービス
２７    セッション管理アプリケーション
【図１】
2008077614.tif 000003
【図２】
2008077614.tif 000004
【図３】
2008077614.tif 000005
【図４】
2008077614.tif 000006
【図５】
2008077614.tif 000007
【図６】
2008077614.tif 000008
【図７】
2008077614.tif 000009