JP2004178466A - サービスサイト単位のセッションを確立させる方法 - Google Patents

サービスサイト単位のセッションを確立させる方法 Download PDF

Info

Publication number
JP2004178466A
JP2004178466A JP2002346754A JP2002346754A JP2004178466A JP 2004178466 A JP2004178466 A JP 2004178466A JP 2002346754 A JP2002346754 A JP 2002346754A JP 2002346754 A JP2002346754 A JP 2002346754A JP 2004178466 A JP2004178466 A JP 2004178466A
Authority
JP
Japan
Prior art keywords
session
thread
web
service
task
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002346754A
Other languages
English (en)
Inventor
Tsuneo Ogawa
恒生 小川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2002346754A priority Critical patent/JP2004178466A/ja
Publication of JP2004178466A publication Critical patent/JP2004178466A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

【課題】この発明は、ウエブサービスのユーザ・インタフェース・セッションの連携メカニズムを、複数のウエブサービスサイトでサービスの提供を可能にするためのセッションモデルとして提供する。
【解決手段】異なるウエブサイトにまたがるウェッブセッションにおいて、ウエブサービスを実行するためのセッション情報へのアクセスを制御する方法として、セッション情報をタスクセッション情報とスレッドセッション情報に分離し、アクセス制御のセッション識別子をタスクセッションに用いるタスクセッションIDとスレッドセッションに用いるスレッドセッションIDに分離することで、サービスサイト単位のセッションを確立させる方法を提供する。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】
本発明は、ウエブサービスをベースにしたコンピュータ応用に関するもので、特に、ウエブサービスのユーザ・インタフェース・セッションの連携メカニズムを異なるウエブサービスサイトのウエブサービスサーバでサービス可能とするための、ウエブサービスのセッション情報管理に関するものである。
【0002】
【従来の技術】
通常、セッションとは、指定されたアプリケーションに関連付けたページに、単一のクライアントからサーバに対して行われるすべての接続を示す。
【0003】
ウエブブラウザの中の1つの項目からスタートした複数のウエブアプリケーションはそれぞれ独立に動作しており、このため互いに他のウエブアプリケーションについて知らないし、また、そのままでは如何なるプロパティも共用することはない。
【0004】
このため、ウエブアプリケーションでは、ばらばらなウエブページを連携させて、一貫性のあるアプリケーションとして成立させるためにセッション識別子(セッションID)であるセッション変数とセッションオブジェクトを持っている。これはHTTPがステートレスなプロトコルであるために、ブラウザからの複数の要求の間で状態を保するためのメカニズムが用意されていないためである。この様に、ウエブアプリケーションでは、セッションIDによってばらばらなウエブページを連携させ、あわせてウエブページでのアクセス認証はセッションIDによって行われる。
【0005】
従来のメカニズムの中で、セッションIDを含めたセッション情報管理は基本的には3つの方法があり、1つ目はcookieに保持させる方法、2つ目はウエブサービスサーバまたはアプリケーションサーバのセッション情報管理に保持させる方法、3つ目は別のDBサーバに保持させる方法である。
【0006】
1つ目のcookieにセッション情報を保持させる方法では、Cookieデータの盗聴や改竄などが可能なため、商取引に使ったCookieを横取りし本人になりすまして物品の購入を行なったり、Cookieを認証やセッション管理に使っているサイトに侵入できる可能性がある。
【0007】
2つ目のウエブサービスサーバまたはアプリケーションサーバのセッション情報管理にセッション情報を保持させる方法は、異なる種類のウエブサービスサーバまたは異なる種類のアプリケーションサーバにおいて、セッション管理の方法がウエブサービスサーバやアプリケーションサーバで統一されていない。
【0008】
3つ目のDBサーバに保持させる方法は、同一のサーバ内にDBを持つ方法と、別のDBサーバに保持させ共用させる方法とがあり、サイトをまたがるセッションの場合には、一般的にDBサーバ一は別の独立したサーバとして設置することとなる。
【0009】
加えて、クライアントからの要求が一定期間明示的にされなかった場合において、これまでウエブサーバの設定はセッションがタイムアウトしたとして、セッションを切断するためにサーバのセッション情報を破棄していた。この設定される期間は、ウエブサービスサーバのリソースを節約するためと、セッション情報を不正なアクセスから保護するために、通常10分〜20分に設定されていた。
【0010】
この要求が明示的であるというのは、クライアントからウエブサーバにSubmitの要求を出すということであり、従ってクライアント内のみで実行されるスクリプトなどのプログラムまたはセッション情報を保持していないサーバへのアクセスについては、タイムアウトの設定期間に影響を与えることは無かった。
【0011】
また、ウエブサービス(インターネット上で提供されるアプリケーション・サービス)の概念としてのシステム・アーキテクチャは、クライアントのブラウザからの要求を、いったんウエブアプリケーション・サーバで受け、このウエブアプリケーション・サーバがウエブサービスサーバにウエブサービスを要求するクライアントとなる。そしてこのウエブアプリケーション・サーバがウエブサービスの結果から画面を生成し、クライアントのブラウザへ返す。このように、ウエブサービスをアプリケーションとして結合するのは、ウエブアプリケーション・サーバであり、このためウエブアプリケーション・サーバは、サービスを提供するポイントとして存在し、従ってこのサービスポイントは、ユーザから見ればウエブアプリケーションを提供する単一のウエブサイトとして認識される。
【0012】
ところで、アプリケーション、もしくはアプリケーションの一部分がインターネットを通じて相互連動しタスクを遂行するという、ウエブサービスの基幹となるコンセプトに対し、たくさんの技術が存在している。そして、コンピュータ業界に立ちはだかる最大の壁は、常に、異なるシステムまたはアプリケーション同士の対話を実現することである。ウエブサービスとその関連技術はこの壁を克服しようという試みであり、セキュリティを含めた異なるサービスサイトをまたがるセッションモデルは、ウエブサービスに不可欠な土台であるが、現時点ではまだこの分野の標準は確定していない。
【0013】
【発明が解決しようとする課題】
この発明の目的は、ウエブサービスのユーザ・インタフェース・セッションの連携メカニズムを異なるウエブサービスサイトからなるサービスを可能にするために、ユーザ認証後のサービスサイト単位の承認(何かを行う、またはある場所に存在することを、誰かに許可を与えること。)を与えるためのセッションモデルを提供することである。
【0014】
たとえば、異なるウエブサイトをまたがるウエブセッションで同一のセッションIDを用いてセッションを行った場合に、セッションを行ったウエブサイトで補足したセッションIDを用いて、他のウエブサイトのセッション情報にアクセスできてしまうことに対する問題がある。例をあげると、決済サイトに保存されているユーザのクレジットカードの情報が、同一のセッションIDを用いてセッションを行う事によって補足されたセッションIDを、決済サイトのセッション情報への不正なアクセスに用いることによって、容易に漏洩する可能性がある。
【0015】
加えて、複数のウエブサービスサイトが提供するウエブサービスのユーザインターフェイス・セッションにおいて、セキュリティを確保するためのプログラミングモデルが無いという問題がある。このためクライアントオブジェクトとサーバオブジェクトの関係において、双方でのオブジェクトが保持するセッション情報の保持内容とアクセスに関して、プログラミングモデルが必要である。
【0016】
また、ウエブアプリケーションが発展し、クライアントスクリプトなどクライアントで高度なプログラムが動作するようになると、これまでのタイムアウト時間だけではユーザのアプリケーションへの滞在を一律的な期間で判断できなくなる。例えばウエブでのショッピングでユーザが購入する商品に対しこれまで以上に比較検討を要する場合、これまでのタイムアウト期間で設定されている期間以上に時間が必要となる。それに対し、決済を行うクレジットカードサイトでのタイムアウトのための設定期間は、セキュリティ対策のためにこれまで以上に期間を短くする方がセキュリティ対策上安全である。
【0017】
加えて課題を実現する方法が、HTTPのプロトコルでのセッション情報を共有する方法である要求がある。
【0018】
また、特開2000−105741;発明の名称を「セッション環境情報を共用する方法」でのセッション情報を集中して共用する形でウエブサービスに提供する方法は、異なるウエブサイトとセッション環境情報を共用する場合には、別のサイトにあるDBサーバを参照することとなるので、ネットワークを介してDBサーバを参照するための認証や権限のための仕掛けが必要となる。
【0019】
また、これまでのウエブアプリケーション・サーバのプラットフォームは、ばらばらなHTMLページを連携させる課題を解決するための、独自のウエブセッション管理機能を提供する単一のサイト内、あるいはクライアントからの要求を受け付ける単一ポイントのアーキテクチャであり、複数のサービスサイトがそれぞれのサービスサイトでユーザを認識し、そのセッションにおいてHTMLページのページを連携し、それぞれのサービスサイトでのセッション情報管理を結合または相互補完する形でのセッションモデルはない。
【0020】
【課題を解決するための手段】
上記目的を達成するため、本発明のウエブセッションの制御方法では、シングルサインオンでの認証エージェントを共有し信頼した認証プロセスの後において、サービスシナリオが示す異なるサービスサイトのウエブサービスを実行するためのユーザ・インタフェース・セッションを承認する手段として、アプリケーションの実行単位としてのタスクセッションとサービスサイト単位のセッションを実行単位とするスレッドセッションを有することを特徴とするウエブセッション制御方式を提供する。
【0021】
スレッドセッションとは、サービスサイト同一の1つ以上の連続するウエブサービスを示し、タスクセッションとは、サービスシナリオの実行時における開始から終了までのセッションで1つ以上のスレッドセッションをまたがるセッションを示す、新たに導入した概念である。
【0022】
そこで、本発明によるウエブアプリケーションのでのウエブセッションの制御方法では、ウエブサービスシナリオを実行する単位においてセッション識別子であるセッションIDを、タスクセッションIDとスレッドセッションIDに分け、タスクセッション側をタスクセッションIDにスレッドセッション側をスレッドセッションIDとすることにより、サービスサイト単位の独立したセッション識別子を保有することによってセッションを確立させる方法を提供する。
【0023】
加えて、タスクセッションのためのセッションオブジェクトをクライアントとポータルサイトに持ち、スレッドセッションのためのオブジェクトを個々のウエブサービスサーバに持つことによってセッションを確立させる方法を提供する。
【0024】
加えて、クライアントからウエブアプリケーション呼び出しを実行するための仕掛けとしてサービスシナリオを持ち、このサービスシナリオはウエブサービスを呼び出すための実行指示書である。さらにこのサービスシナリオには、スレッドセッションの開始と終了時の確認を行うウエブサービスの呼び出しを記載し、サービスシナリオの実行指示に従ってウエブサービスを実行する方法を提供する。
【0025】
加えて、本発明によるウエブアプリケーションのでのウエブセッションの制御方法では、ポータルサイトにて、ウエブアプリケーションを選択するためのメニュー画面を提供し、あわせてこのポータルサイトでユーザの個人情報を保持しサービスサイトに提供する。
【0026】
加えて、本発明によるウエブアプリケーションのでのウエブセッションの制御方法ではポータルサイトでタスクセッションの開始と終了とスレッドセッションの実行許可を管理するするための記憶手段に記憶する手段を提供する。
【0027】
加えて、本発明によるウエブアプリケーションのでのウエブセッションの制御方法では、サービスを提供するサイトとポータルサイトとでスレッドセッションの開始と終了と実行許可を管理するための記憶手段に記憶する方法を提供する。
【0028】
加えて、スレッドセッション毎にセッションのためのタイムアウト期間を設定する方法を提供する。
<造語としての定義>
タスクセッションIDは、タスクセッションのための識別子で、スレッドセッションIDはスレッドセッションのための識別子である。
【0029】
タスクセッションとは、ウエブアプリケーションとしての実行指示書であるサービスシナリオの開始から終了までの期間をタスクセッションと定義し、このタスクセッションで用いるセッション識別子をタスクセッションIDとする。
【0030】
スレッドセッションとは、タスクに対応するスレッドという語を用いて、同一のサービスサイト内の開始から終了までのセッションの期間をスレッドセッションと定義し、このスレッドセッションで用いるセッション識別子をスレッドセッションIDとする。
【0031】
【発明の実施の形態】
本発明の形態について実施例を用いて説明する。
A.概略
本発明は、異なるウエブサイトをまたがるウエッブ・ユーザ・インタフェース・セッションについての概念と、そのウェッブセッションにおいてウエブサービスを実行するためのセッション情報へのアクセスを制御する手段として、図3で示すように、これまでのセッション情報330をタスクセッション情報340とスレッドセッション情報350に分離するために、セッション識別子であるセッションID300をタスクセッションID310とスレッドセッションID320の2つのIDによって構成することによって、サービスサイト単位のセッションを確立させる方法を提供するものである。
【0032】
これは図1で示す様に、スレッドセッション情報250とスレッドセッション情報270は双方のサイト間で共有しないので、サイト固有の情報を持つことが出来る。スレッドセッション情報にアクセスするためには、スレッドセッションを識別するセッション識別子、つまりスレッドセッションIDが必要である。スレッドセッションIDはスレッドセッション毎に各サイトで生成され、サイト自身とクライアントでのみ共有されるため、他のサイトでこのセッションIDを補足することは出来ない。
【0033】
従って本発明では実施例の図5で示すように、クライアントから入力される個人情報が、異なるサービスサイトをまたがるセッションの中で、クレジットカード番号とパスワードの様に他のサービスサイトと情報を共有されない方法を提供する。
B.詳細な説明
ウエブ上での複数のアプリケーションにログオンするための、一括で認証する方法としてシングルサインオンサービスが提供する認証方法があり、本発明の実施例の図2では、シングルサインオンサービスが提供するウエブサービスサイトの集合130に対し、(a)は、サインオンIDで利用可能なウエブサービスサイト140との関連の概念を示し、(b)はサービスシナリオを導入することによってサインオンIDで利用可能なウエブサービスサイト140に対してアクセスが制限される、サインオン後のサービスシナリオ100で利用可能なウエブサービスの集合150との関連の概念を示す。
【0034】
サービスシナリオ100は、シングルサインオン後にウエブアプリケーションを選択するとクライアントのに送られて実行する、ウエブアプリケーションのための実行指示書であり、図7に実施例を示す。
【0035】
サービスシナリオはウエブアプリケーション導出のためのテンプレートであり、クライアントであるウエブブラウザからウエブサービスサーバにウエブサービスを要求する要求指示書である。
【0036】
本発明の実施例においては、ウエブアプリケーションはクライアント側のサービスシナリオに記載されたURIをクライアント側から直接サービスを呼び出すことによって実行され、クライアント側のタスクセッション情報にスレッドセッションがアクセスすることによってウエブサービスが連携され、従ってクライアント側で個々のサービスが統合されるウエブサービスサービスの集合体である。
【0037】
図4に示す本発明の実施例においては、これまでシングルサインオンサービスで行われてきた個人情報の管理をポータルサイト220に分離し、シングルサインオンサービス290はサービスを利用するユーザの認証のみを行い、ウエブサービスを利用するための個人情報の管理はポータルサイト側で行う。あわせてポータルサイト220ではウエブアプリケーションの選択のための図16で示すメニュー画面900を提供する。
【0038】
メニュー画面900を選択して開始したウエブアプリケーションは、クライアント200とウエブサービスサイトA240とウエブサービスサイトB260のサイトの間でセッション識別子が遷移する。
【0039】
こうして異なるウエブサイトをまたがるウエブアプリケーションのセッションモデルにおいて、クライアント200のオブジェクト210でのタスクセッション情報とウエブサービスサイトA240のオブジェクト240でのスレッドセッション情報250とウエブサービスサイトB260でのスレッドセッション情報270によって一組のウエブアプリケーションが構成される。
【0040】
上に示したように、シングルサインオンサービス290では個人情報は保持せず、ポータルサイト220で個人情報を保持する。これによってサインオンするIDと個人情報の保管を分離させる。
【0041】
このポータルサイト220は、各ウエブサービスサイトが提供するウエブサービスの組合せからなるウエブアプリケーションの提供窓口でもある。この提供窓口で、シングルサインオンサービスで行われてきた個人情報の管理を行うことは、本発明の実施例でのサービスシナリオでサービスを実施する上での特長である。
【0042】
次に図5は、本発明の実施例におけるインターネット上のウエブサービスサーバの構成図での各サイトに共有されるユーザ情報の関連図である。
【0043】
ウエブアプリケーションの実行の順序は、ユーザがクライアント200から、インターネット180を経由してシングルサインオンサービス290にサインオンIDでサインオンすると、シングルサインオンサービス290ではあらかじめ登録しておいたポータルサイトで有効なユーザIDをサインオンIDと置き換え、ポータルサイト以降のセッションに遷移する。次にポータルサイト220では、ウエブアプリケーションのメニューを提供し、あらかじめ登録し保存しているユーザ情報をユーザIDで検索して、ユーザ情報231を取り出す。次にユーザがウエブアプリケーションのメニューを選択すると店舗サイト241、その後クレジットカードサイト261へセッションが遷移する。この時、クライアント200から各サイトへの通知情報251とサイトへの通知情報271では、通知される情報に差が有る。
【0044】
これは、共有しない情報としてクレジットカード番号とパスワードを考えた場合、クライアント200は、クレジットカード番号をクレジットカードサイト261に通知するが店舗サイト241には通知しない。クライアントで発生した情報211は、個々のサイトに対し必要な情報のみ各サイトに通知され、クレジットカード番号とパスワードは店舗サイト241には通知されない。
【0045】
本発明の実施例でのウエブアプリケーション選択画面を図16に示し、そのメニュー画面900でウエブサービス・アプリケーションA1 901を選択した場合、図17に示すサービスシナリオの概念481が選択される。
【0046】
このサービスシナリオの概念に対応するウエブサービスサイトのサービス構成を図6に示す。ウエブサービスサイトA240の中のウエブサービスa1 610、ウエブサービスa2 612、マネージャURI616、サービス起動URI618、ログインURI620とウエブサービスサイトB260の中のウエブサービスb1 630、ウエブサービスb2 632、マネージャURI636、サービス起動URI638、ログインURI640から構成される。
【0047】
また(a)のウエブサービスサイトA240に対応するhostnameは、site_A.hitachi.co.jp245で、ウエブサービスa1 610に対応するpathnameは/service_method/a1.html 611に対応し、ウエブサービスa2 612に対応するpathname は/service_method/a2.html 613に対応する。サービス起動URI638に対応するpathnameは/service.html619、ログインURI620に対応するpathname は/login.html621である。同様に(b)にウエブサービスサイトB260のサービス構成を示す。
【0048】
本発明の実施例でのサービスシナリオの概念の具体例としてのサービスシナリオを図7に示す。サービスシナリオ120はウエブサービスのURIとその対応するウエブサービスのメソッドの説明からなる。
【0049】
ここで示すサービスシナリオのテーブルは、タスクセッションの開始から終了の手順で、スレッドセッション開始650、670とスレッドセッション終了660、680により、スレッドセッションの開始と終了がポータルサイトに通知されポータルサイト側で管理可能となる。
【0050】
加えてサービスシナリオ120のメソッドの説明をクライアントで公開するために、サービスURI121に対するウエブサービスのメソッドの説明122をテーブルに追加する。
【0051】
図1は、タスクセッション情報210とスレッドセッション情報250、270がウエブアプリケーション実行時の参照とアクセスの範囲を示す。
【0052】
タスクセッション情報210はサービスシナリオ120の開始から終了の間、実行されるウエブサービスからアクセスされる。スレッドセッション情報250は、スレッドセッション開始650からスレッドセッション終了660までの間でアクセスされる。同様に、スレッドセッション情報270は、スレッドセッション開始670からスレッドセッション終了680までの間でアクセスされる。
【0053】
このスレッドセッション情報は他のウエブサービスと共用しない。
【0054】
次にスレッドセッション開始時にスレッドセッションの識別子として、スレッドセッションIDを発行する。このIDはスレッドセッションの間のみ有効で、セッションが終了した時点でそのセッション識別子を破棄し、合わせてサーバ及びクライアント側のスレッドセッションのためのオブジェクトを破棄する。
【0055】
この様に、ウエブサイト毎に個別のセッション識別子を持ちセッションを確立するため、他のウエブサイトが補足した自身のセッション識別子では他のセッション情報にアクセスまたは参照することができないことから、よって他のウエブサービスサイトからスレッドセッション情報が参照されない利点を持つ。
【0056】
図18に本発明の実施例におけるタスクセッションID管理テーブルを示す。
【0057】
タスクセッションID管理テーブル920はユーザID921とタスクセッションID922とセッションオブジェクトID923の項目からなるテーブルである。
【0058】
図19に本発明の実施例におけるスレッドセッションID管理テーブルを示す。
【0059】
スレッドセッションID管理テーブル930はタスクセッションID931とスレッドセッションID932とスレッドセッションオブジェクトID933からなるテーブルである。
【0060】
図8と図9は、本発明の実施例におけるタスクセッションIDとスレッドセッションIDのメッセージフロー図である。
【0061】
図8ではサービスシナリオに基づいてクライアント200からポータルサイトのセッション管理700にユーザIDとタスクセッション開始731のメッセージが送信される。
【0062】
ポータルサイトのセッション管理700はサーバ側で保持するタスクセッションオブジェクトとタスクセッションIDであるタスクセッションIDを生成し、クライアント200にタスクセッションID732のメッセージを返信し、このときタスクセッションID管理テーブル720にユーザIDとタスクセッションID310とタスクセッションオブジェクトIDを登録する。
【0063】
次に、スレッドセッションの開始として、クライアント200からタスクセッションIDとスレッドセッション開始740のメッセージをサイトAのセッション管理710に送信する。
【0064】
サイトAのセッション管理710は、タスクセッションIDとスレッドセッション開始741のメッセージをポータルサイトのセッション管理700に送り、ポータルサイトのセッション管理700は、タスクセッションID管理テーブル920のタスクセッションID922と受信したタスクセッションIDから要求が有効か無効かの判定を行い、スレッドセッションの開始−ok 742のメッセージを返信し、サイトAのセッション管理では、スレッドセッションオブジェクトを生成し、合わせてスレッドセッションのためのスレッドセッションIDを生成し、このときそれぞれをスレッドセッションID管理テーブル930のタスクセッションID931とスレッドセッションID932とスレッドセッションオブジェクトID933に登録し、スレッドセッションID743のメッセージをクライアント200に返信する。
【0065】
クライアント200は受信したスレッドセッションIDを用いてスレッドセッションを開始する。次に、クライアント200はウエブサービスa1 610にスレッドセッションID744のメッセージでサービスのリクエストを送信し、ウエブサービスa1610は結果と併せてスレッドセッションID745のメッセージを返信する。同様にウエブサービスa2 620にスレッドセッションID746のメッセージでサービスのリクエストを送信し、ウエブサービスa2620は結果と併せてスレッドセッションID747のメッセージを返信する。
【0066】
スレッドセッションの終了としてクライアント200からタスクセッションIDとセッション終了748のメッセージをサイトAのセッション管理710に送る。
【0067】
サイトAのセッション管理は、スレッドセッションID管理テーブル930からスレッドセッションIDをキーとしてタスクセッションID310を取り出し、タスクセッションID310とスレッドセッション終了749のメッセージをポータルサイトのセッション管理700に送る。ポータルサイトのセッション管理700では、タスクセッションID管理テーブル920のタスクセッションID922と受信したタスクセッションIDから要求が有効か無効かの判定を行い、有効であればスレッドセッションの終了−ok 750のメッセージをサイトAのセッション管理に返信し、サイトAのセッション管理は、スレッドセッションオブジェクトを破棄し、スレッドセッションID管理テーブル930からスレッドセッションIDをキーとしてレコードを削除し、スレッドセッションIDとスレッドセッションの終了−ok 751のメッセージをクライアント200に返信し、クライアント200でスレッドセッションIDを破棄する。
【0068】
次に図8に示す様に、同様にサイトBにおいてもメッセージの送受信を行う。
【0069】
スレッドセッションの開始として、クライアント200からタスクセッションIDとスレッドセッション開始760のメッセージをサイトBのセッション管理720に送信する。
【0070】
サイトBのセッション管理720は、タスクセッションIDとスレッドセッション開始761のメッセージをポータルサイトのセッション管理700に送り、ポータルサイトのセッション管理700は、タスクセッションID管理テーブル920のタスクセッションID922と受信したタスクセッションIDから要求が有効か無効かの判定を行い、スレッドセッションの開始−ok 762のメッセージを返信し、サイトAのセッション管理では、スレッドセッションオブジェクトを生成し、合わせてスレッドセッションのためのスレッドセッションIDを生成し、このときそれぞれをスレッドセッションID管理テーブル930のタスクセッションID931とスレッドセッションID932とスレッドセッションオブジェクトID933に登録し、スレッドセッションID763のメッセージをクライアント200に返信する。
【0071】
クライアント200は受信したスレッドセッションIDを用いてスレッドセッションを開始する。次に、クライアント200はウエブサービスb1 630にスレッドセッションID764のメッセージでサービスのリクエストを送信し、ウエブサービスb1630は結果と併せてスレッドセッションID765のメッセージを返信する。同様にウエブサービスb2 640にスレッドセッションID766のメッセージでサービスのリクエストを送信し、ウエブサービスb2640は結果と併せてスレッドセッションID767のメッセージを返信する。
【0072】
スレッドセッションの終了としてクライアント200からタスクセッションIDとセッション終了768のメッセージをサイトAのセッション管理720に送る。
【0073】
サイトBのセッション管理は、スレッドセッションID管理テーブル930からスレッドセッションIDをキーとしてタスクセッションID310を取り出し、タスクセッションID310とスレッドセッション終了769のメッセージをポータルサイトのセッション管理700に送る。ポータルサイトのセッション管理700では、タスクセッションID管理テーブル920のタスクセッションID922と受信したタスクセッションIDから要求が有効か無効かの判定を行い、有効であればスレッドセッションの終了−ok 770のメッセージをサイトAのセッション管理に返信し、サイトAのセッション管理は、スレッドセッションオブジェクトを破棄し、スレッドセッションID管理テーブル930からスレッドセッションIDをキーとしてレコードを削除し、スレッドセッションIDとスレッドセッションの終了−ok 771のメッセージをクライアント200に返信し、クライアント200でスレッドセッションIDを破棄する。
【0074】
最後にタスクセッションを終了するために、クライアント200からタスクセッションIDとタスクセッション終了781のメッセージをポータルサイトのセッション管理700に送る。ポータルサイトのセッション管理700では、タスクセッションオブジェクトを破棄し、タスクセッションID管理テーブル920をタスクセッションID310で検索し、該当レコードを削除し、タスクセッション終了−ok 782のメッセージを返信し、クライアント200はウエブアプリケーションを終了する。
【0075】
次に、本発明の実施例におけるポータルサイトのセッション管理の開始と終了のフローチャートを図10で示す。
【0076】
ステップ500でクライアントから要求されたHTTP要求から引数を取り出し、ステップ510で引数がセッション開始かどうかの判定を行い、結果がYESの場合開始処理となる。ステップ515でHTTP要求からcookieデータを取り出し、ステップ520でcookieの中にユーザIDが有るかどうかの判定を行い、結果がYESの場合ステップ525でセッションオブジェクトを生成し、ステップ530でタスクセッションIDを生成し、ステップ535でユーザIDとタスクセッションIDとセッションオブジェクトIDからなるレコードを、タスクセッションID管理テーブル920に登録し、ステップ540でcookieにタスクセッションIDを設定しHTTP応答をクライアントに返す。
【0077】
ステップ510の判定で結果がNOの場合終了処理となる。ステップ550でHTTP要求からcookieデータを取り出し、ステップ555でcookieの中にタスクセッションIDが有るかどうかの判定を行い、YESの場合ステップ560でタスクセッションID管理テーブル920をタスクセッションIDで検索し、ステップ565で該当レコードのセッションオブジェクトIDからセッションオブジェクトを破棄し、ステップ570でタスクセッションIDの示すレコードをタスクセッションID管理テーブル920から削除し、ステップ57でセッション終了−ok メッセージをHTTP応答として返す。
【0078】
図11、図12、図13は本発明の実施例におけるウエブサービスサイトのセッション管理の手順のフローチャート図である。
【0079】
図11のステップ801でクライアントからのHTTP要求から引数を取り出しステップ802、ステップ804ででスレッドセッションンの開始及び終了の判定をし、ステップ803はスレッドセッションの開始処理で、ステップ805はスレッドセッションの終了処理を示す。
【0080】
図12の、スレッドセッションの開始処理はステップ812でステッ811のHTTP要求から取り出したcookieにタスクセッションIDが有るかの判定を行い、NOの場合はエラーとなる。
【0081】
判定がYESの場合は、ステップ813でポータルサイトのセッションID管理にタスクセッションIDとスレッドセッション開始のメッセージで問い合わせる。ステップ814で応答メッセージはスレッドセッション開始−okか判定し、NOの場合はエラーとなる。
【0082】
YESの場合ステップ815でスレッドセッションオブジェクトを生成し、ステップ816でスレッドセッションIDを生成し、ステップ817でタスクセッションIDとスレッドセッションIDとスレッドセッションオブジェクトIDをスレッドセッションID管理テーブル930に登録し、ステップ818でcookieのタスクセッションIDを削除し、ステップ819でcookieにスレッドセッションIDを登録し、ステップ820でスレッドセッションIDをクライアントに返信する。
【0083】
図13の、スレッドセッションの終了処理は821のHTTP要求からcookieを取り出し、ステップ822でスレッドセッションIDが有るかどうかの判定を行い、NOの場合はエラーとなる。
【0084】
結果がYESの場合は、ステップ823でスレッドセッションID管理テーブルからスレッドセッションIDでタスクセッションIDを検索し、ステップ824でポータルサイトのセッション管理にタスクセッションIDで問い合わせ、ステップ825でポータルサイトのセッション管理の応答メッセージはスレッドセッション終了−okかどうかの判定を行い、NOの場合はエラーとなる。
【0085】
結果がYESの場合、ステップ826でスレッドセッションID管理テーブルからスレッドセッションIDをキーとしてレコードを検索し、ステップ827でスレッドセッションIDの示すスレッドセッションオブジェクトを破棄し、ステップ828で検索したレコードを削除し、ステップ829でcookieのタスクセッションIDを削除し、ステップ830でスレッドセッション終了−ok のメッセージをクライアントに返信する。
【0086】
図14は、本発明の実施例におけるウエブサービスサイトのウエブサービスの実行の手順のフローチャート図である。
【0087】
ウエブサービスの実行は、ステップ831でウエブサービスサーバは、HTTP要求を受信すると、ステップ832でcookieからスレッドセッションIDを取り出し、ステップ833でスレッドセッションIDが有るかどうかの判定を行い、NOの場合エラーとなる。
【0088】
YESの場合、ステップ834でHTTPの引数を取り出し、ステップ835で引数に応じたHTTP要求のメソッドを実行し、ステップ836でメソッドの実行結果をcookieのスレッドセッションIDと供に返信する。
【0089】
図15は本発明の実施例におけるクライアントでのサービスシナリオの実行の手順のフローチャート図である。
【0090】
ステップ841でタスクセッションを開始し、ステップ842でサービスシナリオテーブル120から次のウエブサービスサイトとウエブサービスを取り出し、ステップ843でウエブサービスが有るかどうかの判定を行い、結果がNOの場合ステップ848でタスクセッションの終了となり、ステップ843の結果がYESの場合ステップ844でスレッドセッション開始または終了かの判定を行い、結果がYESの場合ステップ845でcookieにスレッドセッションIDが有れば削除し、ステップ845でcookieにタスクセッションIDを登録し、ステップ846でウエブサービスサーバにウエブサービスを要求してステップ842から繰り返す。
【0091】
ステップ844の結果がNOの場合は、ステップ849でcookieにスレッドセッションIDがあるかの判定を行い、結果がYESの場合ステップ846を実行する。
【0092】
次に、クライアントとウエブサービスサイトとのネットワークでの接続形態及びサービスの内容を比較するために、これまでのウエブサービスの利用モデルを図20に示し、本発明のウエブサービスの利用モデルを図21に示す。
【0093】
図20のこれまでのウエブサービスの利用モデルが示すクライアントとウエブサービスサイトとの接続形態及びサービスの内容では、ポータルサイト220がアプリケーションサーバとなって、ウエブサービスサイト190からのサービスを仲介または統合してクライアント200のユーザにアプリケーション(サービス)を提供している。
【0094】
それに対し、図21の本発明のウエブサービスの利用モデルが示すクライアントとウエブサービスサーバとの接続形態及びサービスの内容では、ポータルサイト220はアプリケーションのメニューとサービスの承認を提供し、クライアント200のユーザは直接ウエブサービスサイト190からサービスを受け取る。つまりlクライアントとウエブサービスはピア・ツウ・ピアの接続形態となる。
【0095】
本発明の効果として、スレッドセッションをおこうサービスサイト毎にセッションのためのタイムアウト期間を設定が本発明によって可能となる。これはタイムアウト時間の設定が、サービスを提供するウエブサービスサーバにおいて設定出来るので、サービスサイト毎のタイムアウト期間が設定できる。これによって、例えばウエブでのショッピングおいてショッピングサイトでのタイムアウトまでの設定期間をこれまで設定されていた期間よりも長く、また決済のためのカードサイトにおいての設定期間をこれまで設定されていた期間より短く設定することによって、ショッピングサイトの利便性の改善とカードサイトのセキュリティに対する信頼性を向上することが出来る。
【0096】
以上説明した様に、ウエブサービスのユーザ・インタフェース・セッションにおいて、これまでウエブアプリケーション間で用いられてきたセッションIDをタスクセッションIDとスレッドセッションIDからなる二つのIDによって構成することは、あたかもコンピュータがシングルプロセッサからマルチプロセッサへと進化した時に、それに応じて実行プログラムも複数のプロセッサに割り当てを可能とするために、プログラムの実行単位をプロセスからタスクとスレッドという概念に進化したことと類似している。
【0097】
つまりタスクセッションIDとスレッドセッションIDの概念は、複数のウエブサービスサイトが提供するウエブサービスを実行させるために、CPUにプログラム実行単位のスレッドを割り当てるように、ウエブサイト毎のウエブサービスの実行単位ににスレッドの割り当てを行うようなものである。
【0098】
このとき割り当てられるスレッドはスレッドセッションであり、サービスシナリオで示される実行パスである。そしてサービスシナリオはタスクと1:1の関係であって、タスクが起動している時だけこのスレッドセッションは実行される。
【0099】
従って、新たなセッションモデルによって、ウエブサービスがシングルサインオンで認証された後のタスクからのアクセス時に、ウエブサービスサイトがアクセスのための単位ノードとなり、クライアントとピア・ツウ・ピアで接続することが可能となる。
【0100】
それは、来る電子的情報通信ネットワークを新たな公共のコミュニティの骨格となる神経網とする社会において、社会のあらゆる単位ノード間が互いにピアとして結ばれる構造となった場合に、こうした通信系のトポロジにおいてウエブサービスサイトが単位ノードとなり、ウエブサービスが実行単位となることは、ネットワーク型コミュニケーションのための社会的インフラとして必要であると同時にネットワークノードの稼動を制御する基本的な方法として有効である。
【0101】
【発明の効果】
本発明によれば、ウエブサービスのユーザ・インタフェース・セッションにおけるウエブサービス間でサービスサイトの異なるサービスを連携し、かつサービスサイト単位のセッション情報を共用しない方法が開示される。
【図面の簡単な説明】
【図1】本発明の実施例におけるサービスシナリオ実行時のタスクセッション情報とスレッドセッション情報のスコープを示す図である。
【図2】本発明の実施例におけるサービスシナリオで利用可能なウエブサービスの集合の図である。
【図3】本発明の実施例におけるシングルサインオンサービスからサービスサイトへの通知される情報の例図である。
【図4】本発明の実施例におけるインターネット上のウエブサービスサーバの構成図でのタスクセッションIDとスレッドセッションIDの関連図である。
【図5】本発明の実施例におけるインターネット上のウエブサービスサーバの構成図での各サイトに共有されるユーザ情報の関連図である。
【図6】本発明の実施例におけるウエブサービスサイトのサービス構成図である。
【図7】本発明の実施例におけるサービスシナリオのテーブル図である。
【図8】本発明の実施例におけるタスクセッションIDとスレッドセッションIDの概念的なメッセージフロー図である。
【図9】本発明の実施例におけるタスクセッションIDとスレッドセッションIDの概念的なメッセージフロー図である。
【図10】本発明の実施例におけるウエブサービスサイトでのタスクセッション管理の処理のフローチャート図である。
【図11】本発明の実施例におけるウエブサービスサイトでのスレッドセッション管理の手順のフローチャート図である。
【図12】本発明の実施例におけるウエブサービスサイトでのスレッドセッション管理の開始メソッドの手順のフローチャート図である。
【図13】本発明の実施例におけるウエブサービスサイトでのスレッドセッション管理の終了メソッドの手順のフローチャート図である。
【図14】本発明の実施例におけるウエブサービスサイト側でのウエブサービスを実行する手順のフローチャート図である。
【図15】本発明の実施例におけるクライアントでサービスシナリオを基にウエブサービスを要求する手順のフローチャート図である。
【図16】本発明の実施例におけるウエブアプリケーションを選択するメニュー画面の図である。
【図17】本発明の実施例におけるサービスシナリオの概念図である。
【図18】本発明の実施例におけるタスクセッションID管理テーブルの図である。
【図19】本発明の実施例におけるスレッドセッションID管理テーブルの図である。
【図20】これまでのウエブサービスの利用モデル図である。
【図21】本発明の実施例におけるウエブサービスの利用モデル図である。
【符号の説明】
100…サインオンID、120…サービスシナリオ、180…インターネット、200…クライアント、210…タスクセッション情報、220…ポータルサイト、230…セッション管理、190、240、260…ウエブサービスサイト、250、270…スレッドセッション管理、290…シングルサインオンサービス、300…セッションID、310…タスクセッションID、320…スレッドセッションID、700…ポータルサイトのセッション情報、900…メニュー画面。

Claims (18)

  1. シングルサインオンでの認証エージェントを共有し信頼した認証プロセスの後において、サービスシナリオが示す異なるサービスサイトのウエブサービスを実行するためのユーザ・インタフェース・セッションを承認する方法であって、
    a)アプリケーションの実行単位としてのタスクセッションと、
    b)サービスサイト単位のセッションを実行単位とするスレッドセッションと、を含むことを特徴とするウエブセッション制御方式。
  2. 請求項1に記載のウエブセッション制御方式において、
    a)スレッドセッションが、サービスサイト同一の1つ以上の連続するウエブサービスを示す段階と、
    b)タスクセッションとは、サービスシナリオの実行時における開始から終了までのセッションで1つ以上のスレッドセッションをまたがるセッションを示す段階と、
    を含むウエブセッション制御方式。
  3. 請求項1に記載のウエブセッション制御方式において、
    a)上記ウエブサービスシナリオを実行する単位を、セッション識別子であるセッションIDを、タスクセッションIDとスレッドセッションIDに分ける方法と、
    b)タスクセッション側をタスクセッションIDに定義する方法と、
    c)スレッドセッション側をスレッドセッションIDに定義する方法と、
    を含む、サービスサイト単位の独立したセッション識別子を保有することによってセッションを確立させる方法。
  4. 請求1に記載のウエブセッション制御方式において、
    a)上記タスクセッションのためのセッションオブジェクトをクライアントとポータルサイトに持つステップと、
    b)スレッドセッションのためのオブジェクトを個々のウエブサービスサーバに持つステップと、
    を含むセッション情報を保持する方法。
  5. 請求項1に記載のウエブセッション制御方式において、
    a)クライアントからウエブアプリケーションの呼び出しを実行するための仕掛けとして上記サービスシナリオを持つ方法と、
    b)上記サービスシナリオは、ウエブサービスを呼び出すためのステップと、
    c)上記サービスシナリオは、スレッドセッションの開始と終了時の確認を行うウエブサービスの呼び出しを記載する手段と、
    を含むサービスシナリオの実行指示に従ってウエブサービスを実行する方法。
  6. 請求項4に記載のウエブセッション制御方式での上記ポータルサイトにおいて、
    a)ウエブアプリケーションを選択するためのメニュー画面を提供する段階と、
    b)ユーザの個人情報を保持しサービスサイトに提供する段階と、
    を含むプログラム。
  7. 請求項6に記載のウエブセッション制御方式での上記ポータルサイトにおいて、
    上記ポータルサイトでタスクセッションの開始と終了とスレッドセッションの実行許可を管理するするための記憶手段に記憶するプログラム。
  8. 請求項2に記載のウエブセッション制御方式において、
    サービスを提供するサイトとポータルサイトとで、スレッドセッションの開始と終了と実行許可を管理するするための記憶手段に記憶するプログラム。
  9. 請求項4に記載のセッション情報を保持する方法において、
    タスクセッション開始時に、
    a)タスクセッションオブジェクトを生成するステップと、
    b)識別子であるタスクセッションIDを生成するステップと、
    タスクセッション終了時に
    c)タスクセッションオブジェクトを破棄するステップと、
    d)識別子であるタスクセッションIDを破棄するステップと、
    を含むタスクセッション管理のプログラム。
  10. 請求項9に記載のタスクセッションのプログラムにおいて、
    タスクセッションID管理テーブルに対し、
    a)タスクセッション開始時に、ユーザIDとタスクセッションIDとタスクセッションオブジェクトのインスタンスからなるレコードを登録するステップと、
    b)タスクセッション終了時に、タスクセッションIDでレコードを削除するステップと、
    を含むタスクセッション管理のプログラム。
  11. 請求項4に記載のセッション情報を保持する方法において、
    スレッドセッション開始時に、
    a)スレッドセッションオブジェクトを生成するステップと、
    b)識別子であるスレッドセッションIDを生成するステップと、
    スレッドセッション終了時に、
    c)スレッドセッションオブジェクトを破棄するステップと、
    d)識別子であるスレッドセッションIDを破棄するステップと、
    を含むスレッドセッション管理のプログラム。
  12. 請求項11に記載のスレッドセッションのプログラムにおいて、
    スレッドセッションID管理テーブルに対し、
    a)スレッドセッション開始時に、タスクセッションIDとスレッドセッションIDとスレッドセッションオブジェクトのインスタンスからなるレコードを登録するステップと、
    b)スレッドセッション終了時に、スレッドセッションIDでレコードを削除するステップと、
    を含むスレッドセッション管理のプログラム。
  13. 請求項1に記載のウエブセッション制御方式において、
    a)ウエブサービスのユーザ・インタフェース・セッションの連携メカニズムを異なるウエブサービスサイトのウエブサービスサーバでサービス可能とするセッションモデルと、
    b)ウエブサービスサイト単位のセッションを確立させるセッションモデルと、を含むウエブセッション制御のプログラム。
  14. 請求項4に記載のセッション情報を保持する方法において、
    クライアントで発生した情報を他のウエブサービスサイトと共用しないことを含む、ウエブサービスサイト単位のセッション情報を共用しない方法。
  15. 請求項1に記載のウエブセッション制御方式において、
    a)サインオンIDで利用可能なウエブサービスサイトが示すウエブサービスの集合を集合Aとする段階と、
    b)サービスシナリオで利用可能なウエブサービス集合を集合Bとする段階と、
    c)BはAの部分集合である関係と、
    d)BをサービスシナリオによるAの像である関係と、
    e)集合 A から集合 B への写像 への関係が、アプリケーション実行時に選択したサービスシナリオによって成立する手段と、
    によって利用可能なウエブサービスがダイナミックに制限されるプログラム。
  16. 上記ウエブサービスサイトにおいて、
    a)サインオン時にログインするための工程と、
    b)上記ポータルサイトに対しウエブサービスの実行許可を確認するための工程と、
    c)クライアントからの要求でウエブサービスを起動するための工程と、
    を含むウエブサービスの実行を制御するプログラム。
  17. ウエブサービスサイト単位のセッション情報の中で他のサービスサイトと共有する必要の有る情報を、クライアント側のタスクセッションオブジェクトを用いて共有する方法およびプログラム。
  18. 上記ウエブセッション制御方式は、サービスサイトの単位セッションにおいてセッションのタイムアウト期間を設定することを可能とする請求項1の方法。
JP2002346754A 2002-11-29 2002-11-29 サービスサイト単位のセッションを確立させる方法 Pending JP2004178466A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002346754A JP2004178466A (ja) 2002-11-29 2002-11-29 サービスサイト単位のセッションを確立させる方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002346754A JP2004178466A (ja) 2002-11-29 2002-11-29 サービスサイト単位のセッションを確立させる方法

Publications (1)

Publication Number Publication Date
JP2004178466A true JP2004178466A (ja) 2004-06-24

Family

ID=32707543

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002346754A Pending JP2004178466A (ja) 2002-11-29 2002-11-29 サービスサイト単位のセッションを確立させる方法

Country Status (1)

Country Link
JP (1) JP2004178466A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008225943A (ja) * 2007-03-14 2008-09-25 Nomura Research Institute Ltd セッション管理装置、プログラム、及び記憶媒体
JP2019195119A (ja) * 2018-05-01 2019-11-07 株式会社三菱Ufj銀行 アクセス制御装置およびプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008225943A (ja) * 2007-03-14 2008-09-25 Nomura Research Institute Ltd セッション管理装置、プログラム、及び記憶媒体
JP2019195119A (ja) * 2018-05-01 2019-11-07 株式会社三菱Ufj銀行 アクセス制御装置およびプログラム

Similar Documents

Publication Publication Date Title
US7350229B1 (en) Authentication and authorization mapping for a computer network
US9762568B2 (en) Consolidated authentication
US9143502B2 (en) Method and system for secure binding register name identifier profile
EP2307982B1 (en) Method and service integration platform system for providing internet services
US7788711B1 (en) Method and system for transferring identity assertion information between trusted partner sites in a network using artifacts
TWI439883B (zh) 在聯合環境中供識別提供者用之數位權利管理(drm)致能之策略管理
KR100856674B1 (ko) 클라이언트 서버 환경에서 클라이언트를 인증하는 시스템및 방법
US8640202B2 (en) Synchronizing user sessions in a session environment having multiple web services
US7562382B2 (en) Specializing support for a federation relationship
JP4782986B2 (ja) パブリックキー暗号法を用いたインターネット上でのシングルサインオン
US20060048216A1 (en) Method and system for enabling federated user lifecycle management
CN112035215A (zh) 节点集群的节点自治方法、系统、装置及电子设备
JP2006502496A (ja) クライエント−サーバネットワークで通信を行うための方法およびシステム
CN112468481A (zh) 一种基于CAS的单页和多页web应用身份集成认证方法
WO2012017561A1 (ja) 仲介処理方法、仲介装置及びシステム
JP2016115260A (ja) 権限移譲システム、権限移譲システムに用いられる認可サーバー、リソースサーバー、クライアント、媒介装置、権限移譲方法およびプログラム
JP2000106552A (ja) 認証方法
JP3528065B2 (ja) コンピュータネットワーク上の対話継承型アクセス制御方法
JP2004178466A (ja) サービスサイト単位のセッションを確立させる方法
JP2005346571A (ja) 認証システム及び認証方法
JP2001056795A (ja) アクセス認証処理装置及びこれを備えるネットワーク及びその記憶媒体及びアクセス認証処理方法
JP2005293088A (ja) 認証システム及び認証方法
KR20070041504A (ko) 데이터 프로세싱 시스템 내에 연합 기능성을 제공하는 방법및 장치