JP2005010913A - セッション管理方法 - Google Patents

セッション管理方法 Download PDF

Info

Publication number
JP2005010913A
JP2005010913A JP2003171992A JP2003171992A JP2005010913A JP 2005010913 A JP2005010913 A JP 2005010913A JP 2003171992 A JP2003171992 A JP 2003171992A JP 2003171992 A JP2003171992 A JP 2003171992A JP 2005010913 A JP2005010913 A JP 2005010913A
Authority
JP
Japan
Prior art keywords
session
request
message
http
destination
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.)
Withdrawn
Application number
JP2003171992A
Other languages
English (en)
Inventor
Kenji Okawa
健二 大川
Kiyoshi Muto
潔 武藤
Yoshimasa Nirasawa
義将 韮澤
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.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions Corp
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 Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Priority to JP2003171992A priority Critical patent/JP2005010913A/ja
Publication of JP2005010913A publication Critical patent/JP2005010913A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】データの要求元、要求先の2コンピュータ間における接続の継続性を、HTTPメッセージのメッセージヘッダを利用することによって管理するセッション管理方法を提供する。
【解決手段】クライアント側セッション管理部6は、HTTPリクエストメッセージのメッセージヘッダにセッション開始要求メッセージを付加しアプリケーションサーバへ送信する。サーバ側セッション管理部5は、セッション開始要求メッセージを受信すると、セッションを識別するためのセッションIDを生成、記憶領域に記録し、HTTPレスポンスメッセージのメッセージヘッダにセッションIDを含むCookie作成要求メッセージを付加し、クライアントへ送信する。クライアント側セッション管理部6は、Cookie作成要求メッセージを受信すると、Cookieを作成、記憶領域に記録する。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】
本発明は、データの要求元、要求先の2コンピュータ間における接続の継続性を、HTTPメッセージによって管理制御するセッション管理方法に関する。
【0002】
【従来の技術】
Webの開発者が直面している問題の1つとして、「ばらばらのHTMLページを組み合わせて、一貫性のあるアプリケーションを作成するにはどうすればいいのか?」ということがある。この問題は、Webの開発では特に重要になっている。そもそもHTTPがステートレスなプロトコルであることが原因であり、そのためWebサーバに対するブラウザ要求はそれぞれ独立した状態となってしまう。また、Webサーバはブラウザの過去の要求に関する記憶を持っていない。さらに、HTTP1.0プロトコルには、ブラウザからの複数の要求の間で状態情報を保持するためのメカニズムが用意されていない。
【0003】
そこで従来は、この問題を克服するために、Web上で一貫性のあるユーザセッション管理を可能とするActive Server Pages(ASP)や、Cookieを用いてセッション管理を行っている。
【0004】
【発明が解決しようとする課題】
しかしながら、従来のセッション管理の手法には下記のような問題点がある。
【0005】
1)セッションの開始がサーバ主導であり、クライアントからセッション開始の要求をすることができない。従来は、どこからセッションを開始するかはサーバから提供されるWebページに従っていた。
【0006】
2)セッションの終了について明示的な終了要求通知が無い。従来は、指定されたアイドル期間が終了した時点で、そのセッションをタイムアウトさせていた。
【0007】
3)セッションを継続している間に発生した様々な状況を、コンテンツを送信することでしか通知できない。従来は、例えば何等かのエラーが発生した場合、エラーを表示するためのWebページをクライアントへ送信することで通知していた。
【0008】
このような問題が従来のセッション管理においてはあり、より詳細にセッションの状態を管理し、継続性を制御することが必要とされていた。
【0009】
本発明は上記事情に鑑み、データの要求元、要求先の2コンピュータ間における接続の継続性を、HTTPメッセージのメッセージヘッダを利用して管理制御するセッション管理方法を提供することを目的とする。
【0010】
【課題を解決するための手段】
上記目的を達成するために、請求項1に記載の発明であるセッション管理方法は、処理の要求元、要求先の2コンピュータ間における接続の継続性を、HTTPメッセージのメッセージヘッダによって管理制御するセッション管理方法であって、前記要求元、および前記要求先の間でセッションを開始する際は、前記要求元が、HTTPリクエストメッセージのメッセージヘッダにセッション開始要求メッセージを付加して前記要求先へ送信する工程と、前記要求先が、前記HTTPリクエストメッセージのメッセージヘッダから前記セッション開始要求メッセージを取得すると、セッションを識別するセッションIDを生成し記憶する工程と、前記要求先が、HTTPレスポンスメッセージのメッセージヘッダに前記セッションIDを付加して前記要求元へ送信する工程と、前記要求元が、前記HTTPレスポンスメッセージのメッセージヘッダから前記セッションIDを取得し記憶する工程とを有することを特徴とする。
【0011】
請求項1の発明によれば、要求元からセッション開始要求メッセージを付加したHTTPリクエストメッセージを送信することによって、任意にセッションの開始を行うことが可能となる。
【0012】
また、請求項2に記載の発明であるセッション管理方法は、請求項1に記載のセッション管理方法であって、セッションが開始された後、前記要求元から前記要求先へ処理を要求する際は、前記要求元が、前記HTTPリクエストメッセージのメッセージヘッダに前記セッションIDを付加して前記要求先へ送信する工程と、前記要求先が、前記HTTPリクエストメッセージのメッセージヘッダから前記セッションIDを取得すると、記憶している前記セッションIDと比較し、一致する場合は、前記要求元と前記要求先との接続が継続されていると判定する工程とを有することを特徴とする。
【0013】
また、請求項3に記載の発明であるセッション管理方法は、請求項1乃至請求項2に記載のセッション管理方法であって、前記要求元、および前記要求先の間でセッションを終了する際は、前記要求元が、前記HTTPリクエストメッセージのメッセージヘッダにセッション終了要求メッセージを付加して前記要求先へ送信する工程と、前記要求先が、前記HTTPリクエストメッセージのメッセージヘッダから前記セッション終了要求メッセージを取得すると、セッションを識別するセッションIDを無効にする工程と、前記要求先が、前記HTTPレスポンスメッセージのメッセージヘッダにセッションが終了した旨のメッセージを付加して前記要求元へ送信する工程と、前記要求元が、前記HTTPレスポンスメッセージのメッセージヘッダから前記セッションが終了した旨のメッセージを取得すると、前記セッションIDを破棄する工程とを有することを特徴とする。
【0014】
請求項3の発明によれば、前記要求元からセッション終了要求メッセージを付加したHTTPリクエストメッセージを送信することによって、任意にセッションの終了を明示的に行うことが可能となる。
【0015】
また、請求項4に記載の発明であるセッション管理方法は、請求項1乃至請求項3に記載のセッション管理方法であって、セッションが開始された後、前記要求元から前記要求先へ処理を要求した際に、前記要求先が当該処理を実行できない場合、または前記要求元から要求された処理が不当な場合、前記要求先が、前記HTTPレスポンスメッセージのメッセージヘッダにセッション終了メッセージと、当該要求先の状態を示すメッセージを付加して前記要求元へ送信する工程を有することを特徴とする。
【0016】
請求項4の発明によれば、前記要求先から状態を示すメッセージを付加したHTTPレスポンスメッセージを送信することによって前記要求元は前記要求先の状態を把握することが可能となる。
【0017】
また、請求項5に記載の発明であるセッション管理方法は、請求項1乃至請求項4に記載のセッション管理方法であって、セッションが開始された後、前記要求元から前記要求先へ処理の要求がされないまま所定の期間が経過した場合、前記要求先が、セッションを識別するセッションIDを無効にする工程を有することを特徴とする。
【0018】
また、請求項6に記載の発明であるセッション管理方法は、請求項5に記載のセッション管理方法であって、所定の期間が経過し、前記セッションIDが無効にされた後、当該セッションIDを含む前記HTTPリクエストメッセージをもって前記要求元から前記要求先へ処理を要求した場合、前記要求先が、前記HTTPレスポンスメッセージのメッセージヘッダにセッション終了メッセージと、当該要求先の状態を示すメッセージを付加して前記要求元へ送信する工程を有することを特徴とする。
【0019】
また、請求項7に記載の発明であるセッション管理方法は、請求項5乃至請求項6に記載のセッション管理方法であって、所定の期間が経過し、前記セッションIDが無効にされた後、セッションを再開する場合は、前記要求元が、前記HTTPリクエストメッセージのメッセージヘッダに当該セッションIDと前記セッション開始要求メッセージとを付加して前記要求先へ送信する工程を有することを特徴とする。
【0020】
また、請求項8に記載の発明であるセッション管理方法は、請求項1乃至請求項7に記載のセッション管理方法であって、前記要求元、および前記要求先の間でセッションを開始する際、前記要求元が、前記HTTPリクエストメッセージのメッセージヘッダに前記セッション開始要求メッセージと前記セッション終了要求メッセージとを付加して前記要求先へ送信する工程と、前記要求先が、前記HTTPリクエストメッセージのメッセージヘッダから前記セッション開始要求メッセージと前記セッション終了要求メッセージとを取得すると、前記セッションIDを生成せずに、要求された処理を実行する工程とを有することを特徴とする。
【0021】
【発明の実施の形態】
本発明の実施形態について、図1〜図4に基づいて説明する。
【0022】
図1に、実施形態の一例として、ホストコンピュータ3、アプリケーションサーバ1、クライアント2、それらを相互に接続するネットワーク4からなるシステムを示す。アプリケーションサーバ1が、セッションIDを発行するHTTPサーバであり、クライアント2が、発行されたセッションIDを含むCookieを作成する側がHTTPクライアントである。
【0023】
アプリケーションサーバ1は、サーバ側セッション管理部5と、セッションIDを記憶する記憶領域を有する。また、クライアント2は、クライアント側セッション管理部6と、Cookieを記憶する記憶領域を有する。この記憶領域は、主記憶装置、補助記憶装置のいずれにあっても良い。
【0024】
サーバ側セッション管理部5は、セッションを開始終了する機能、セッションを識別するためのセッションIDを生成し記憶領域に記録する機能、セッションIDを破棄(無効化)する機能、破棄(無効化)されたセッションIDを有効化する機能、レスポンスメッセージのメッセージヘッダにセッションIDを含むCookie作成要求メッセージを付加する機能、レスポンスメッセージのメッセージヘッダにセッションの状態を示すメッセージを付加する機能を有する。
【0025】
また、クライアント側セッション管理部6は、リクエストメッセージのメッセージヘッダにセッション開始要求メッセージを付加する機能、Cookie作成要求メッセージに従ってCookieを作成、記憶領域に記録する機能、CookieからセッションIDを取得し、リクエストメッセージのメッセージヘッダに取得したセッションIDを付加する機能、リクエストメッセージのメッセージヘッダにセッション終了要求メッセージを付加する機能、記憶領域に記録されているCookieを破棄する機能を有する。
【0026】
なお、アプリケーションサーバ1とホストコンピュータ3は専用線で接続され、両者間の通信はステートフル(セッション管理がされている)であることとする。
【0027】
次に、図2〜図4のシーケンス図に基づいて、一連のHTTPファイル転送処理におけるセッション管理制御の処理について説明する。
【0028】
≪クライアントからのセッション開始≫
クライアント2からアプリケーションサーバ1に対してセッションの開始を要求するときは、まず、クライアント2はセッションの開始を示すセッション開始要求メッセージをアプリケーションサーバ1に対して送信する。
【0029】
クライアント側セッション管理部6は、HTTPリクエストメッセージのメッセージヘッダにセッション開始要求メッセージを付加し、そのHTTPリクエストメッセージをアプリケーションサーバ1へ送信する(ステップS01)。下記はアプリケーションサーバ1へ送信されるHTTPリクエストメッセージの例である。
【0030】
POST /Yoyaku/NAME_profile HTTP/1.1
Host: www.asp_computer.com/
X−Yoyaku−Session: Session=Start
X−Yoyaku−PCID: PCID=895kjh8
0x0d+0x0a(CR(キャリッジリターン)+LF(ラインフィールド))
<?xml version=”1.0” encoding=”shift_jis”?>…
上記のHTTPリクエストメッセージのうち、「X−Yoyaku−Session: Session=Start」がセッション開始要求メッセージである。また、「X−Yoyaku−PCID: PCID=895kjh8」はクライアント2を識別するID情報である。
【0031】
アプリケーションサーバ1のサーバ側セッション管理部5は、受信したHTTPリクエストメッセージにセッション開始要求メッセージが含まれていた場合、セッションを識別するためのセッションIDを生成、記憶領域に記録する(ステップS02)。
【0032】
次に、サーバ側セッション管理部5は、HTTPレスポンスメッセージのメッセージヘッダにセッションIDを含むCookie作成要求メッセージを付加し、そのHTTPレスポンスメッセージをクライアント2へ送信する(ステップS03)。下記はクライアント2へ送信されるHTTPレスポンスメッセージの例である。
【0033】
HTTP/1.1 202 Accepted
Content−Type: text/xml
X−Yoyaku−Session: Status=0000
X−Yoyaku−Contents: Contents=Ignore
Set−Cookie: Session_ID=1234;Path=www.asp_computer.com/Yoyaku/NAME_profile
0x0d+0x0a(CR+LF)
<?xml version=”1.0” encoding=”shift_jis”?>…
上記のHTTPレスポンスメッセージのうち、「SessionID=1234」が生成されたセッションIDである。また、「X−Yoyaku−Session: Status=0000」は、セッションの状態を表すメッセージであり、「Status=0000」は、要求されたセッションに関する処理が正常に行われたことを示す(ここでは正常にセッションが開始継続されていることを示す)。また、「X−Yoyaku−Contents: Contents=Ignore」は、メッセージボディに記述されている情報は無効であることを示すメッセージである。
【0034】
クライアント2のクライアント側セッション管理部6は、受信したHTTPレスポンスメッセージにCookie作成要求メッセージが含まれていた場合、そのCookie作成要求メッセージに従ってCookieを作成、記憶領域に記録する(ステップS04)。Cookieとして、下記の情報が記録される。
【0035】
Session_ID=1234(セッションID)
www.asp_computer.com/Yoyaku/NAME_profile(有効ドメイン、パス)
≪セッションの継続≫
セッションが開始された後、クライアント2からアプリケーションサーバ1に対して何等かの要求を行う場合は、クライアント2はセッションIDをメッセージヘッダに付加してアプリケーションサーバ1に送信する。
【0036】
例えば、クライアント2から予約情報の照会を行う場合、クライアント側セッション管理部6は、HTTPリクエストメッセージのメッセージヘッダにセッションIDを付加し、メッセージボディに予約照会の要求を記述したHTTPリクエストメッセージをアプリケーションサーバ1へ送信する(ステップS11)。下記はアプリケーションサーバ1へ送信されるHTTPリクエストメッセージの例である。
【0037】
POST /Yoyaku/NAME_profile HTTP/1.1
Host: www.asp_computer.com/
Cookie: Session_ID=1234
0x0d+0x0a(CR+LF)
<?xml version=”1.0” encoding=”shift_jis”?>
<予約照会>…
アプリケーションサーバ1のサーバ側セッション管理部5は、受信したHTTPリクエストメッセージにセッションIDが含まれていた場合、記憶しているセッションIDとHTTPリクエストメッセージ中のセッションIDとを照合し(ステップS12)、継続中のセッションであるか判定する(ステップS13)。
【0038】
継続中のセッションであると判定した場合、アプリケーションサーバ1はホストコンピュータ3に対して予約情報の照会を行う(ステップS14)。ホストコンピュータ3が予約情報を取得、返信すると(ステップS15)、アプリケーションサーバ1のサーバ側セッション管理部5は、予約情報を含むHTTPレスポンスメッセージをクライアント2へ送信する(ステップS16)。下記はクライアント2へ送信されるHTTPレスポンスメッセージの例である。
【0039】
HTTP/1.1 202 Accepted
Content−Type: text/xml
0x0d+0x0a(CR+LF)
<?xml version=”1.0” encoding=”shift_jis”?><予約情報>…
クライアント2は、上記のHTTPレスポンスメッセージを受信すると、予約情報を表示する(ステップS17)。
【0040】
なお、ステップS13でセッションが継続していないと判定されると、セッションが終了していることを示すエラーコードが記述されたメッセージがクライアント2へ送信される(詳細は後述)。
【0041】
≪クライアントからのセッション終了≫
クライアント2からアプリケーションサーバ1に対してセッションの終了開始を要求するときは、アプリケーションサーバ1は、まず、クライアント2からセッションの開始を示すセッション終了要求メッセージをアプリケーションサーバ1に対して送信する。
【0042】
まず、クライアント側セッション管理部6は、HTTPリクエストメッセージのメッセージヘッダにセッション終了要求メッセージを付加し、そのHTTPリクエストメッセージをアプリケーションサーバ1へ送信する(ステップS21)。下記はアプリケーションサーバ1へ送信されるHTTPリクエストメッセージの例である。
【0043】
POST /Yoyaku/NAME_profile HTTP/1.1
Host: www.aps_computer.com/
X−Yoyaku−Session: Session=End
Cookie:Session_ID=1234
X−Yoyaku−Contents: Contents=Ignore
0x0d+0x0a(CR+LF)
<?xml version=”1.0” encoding=”shift_jis”?>…
上記のHTTPリクエストメッセージのうち、「X−Yoyaku−Session: Session=End」がセッション終了要求メッセージであり、セッションIDと供に送信される。
【0044】
アプリケーションサーバ1のサーバ側セッション管理部5は、受信したHTTPリクエストメッセージにセッション終了要求メッセージが含まれていた場合、記憶しているセッションIDとHTTPリクエストメッセージ中のセッションIDとを照合し(ステップS22)、継続中のセッションであるか判定する(ステップS23)。照合の結果、継続中のセッションであると判定すると、サーバ側セッション管理部5は、そのセッション終了要求メッセージと供に送信されるセッションIDを破棄(または無効化)する(ステップS24)。
【0045】
次に、サーバ側セッション管理部5は、HTTPレスポンスメッセージのメッセージヘッダにセッションが終了したことを示すメッセージを付加し、そのHTTPレスポンスメッセージをクライアント2へ送信する(ステップS25)。下記はクライアント2へ送信されるHTTPレスポンスメッセージの例である。
【0046】
HTTP/1.1 202 Accepted
Content−Type: text/xml
X−Yoyaku−Status: Status=0000
X−Yoyaku−Contents: Contents=Ignore
0x0d+0x0a(CR+LF)
<?xml version=”1.0” encoding=”shift_jis”?>…
上記のHTTPレスポンスメッセージのうち、「X−Yoyaku−Status: Status=0000」が、セッションが終了したことを示すメッセージである。クライアント2のクライアント側セッション管理部6は、このメッセージを受信すると、セッションが終了したことを認識し、Cookieを破棄する(ステップS26)。
【0047】
≪サーバ障害に伴うセッション終了≫
クライアント2からHTTPリクエストメッセージを受信した後、アプリケーションサーバ1で何等かの障害を生じ要求された処理を継続して行うことができなくなった場合、アプリケーションサーバ1はセッションを終了する。
【0048】
アプリケーションサーバ1で何等かの障害が発生すると(ステップS31)、アプリケーションサーバ1のサーバ側セッション管理部5は、HTTPレスポンスメッセージのメッセージヘッダにセッションが終了したことを示すメッセージを付加し、そのHTTPレスポンスメッセージをクライアント2へ送信する(ステップS32)。下記はクライアント2へ送信されるHTTPレスポンスメッセージの例である。
【0049】
HTTP/1.1 202 Accepted
Content−Type: text/xml
X−Yoyaku−Session: Session=End
X−Yoyaku−Status: Status=XXXX
X−Yoyaku −Contents: Contents=Ignore
0x0d+0x0a(CR+LF)
<?xml version=”1.0” encoding=”shift_jis”?>…
上記のHTTPレスポンスメッセージのうち、「X−Yoyaku−Session: Session=End」が、セッションが終了したことを示すメッセージである。クライアント2のクライアント側セッション管理部6は、このメッセージを受信すると、セッションが終了したことを認識し、Cookieを破棄する(ステップS33)。また、上記のHTTPレスポンスメッセージのうち、「X−Yoyaku−Status: Status=XXXX」は、障害の状態を表すメッセージであり、XXXXに障害の状態に応じたステータスコードが記述される。
【0050】
≪クライアント障害に伴うセッションタイムアウト≫
セッションが開始された後、クライアント2で何等かの障害を生じアプリケーションサーバ1に対して要求を行うことができなくなった場合、アプリケーションサーバ1はセッションを終了する。
【0051】
クライアント2からセッション終了要求メッセージを送信することができる場合は、クライアント側セッション管理部6は、HTTPリクエストメッセージのメッセージヘッダにセッション終了要求メッセージを付加し、そのHTTPリクエストメッセージをアプリケーションサーバ1へ送信し(ステップS41)、サーバ側セッション管理部5は、上述の≪クライアント2からのセッション終了≫と同じ処理を行い、セッションを終了する(ステップS42)。
【0052】
また、クライアント2からセッション終了要求メッセージをも送信できない場合、またはクライアント2からアプリケーションサーバ1に対して何等アクションがない場合は(ステップS43)、アプリケーションサーバ1のサーバ側セッション管理部5は、一定時間、セッションを継続した後(ステップS44)、セッションIDを破棄(または無効化)し、セッションを終了する(ステップS45)。
【0053】
≪タイムアウト後におけるクライアントからの要求≫
タイムアウトが発生しアプリケーションサーバ1でセッションを終了した後に、クライアント2からHTTPリクエストメッセージを受信した場合、アプリケーションサーバ1はクライアント2に対してセッションが既に終了していることを通知する。
【0054】
クライアント側セッション管理部6は、HTTPリクエストメッセージのメッセージヘッダにセッションIDを付加し、メッセージボディに例えば予約照会の要求を記述したHTTPリクエストメッセージをアプリケーションサーバ1へ送信する(ステップS51)。下記はアプリケーションサーバ1へ送信されるHTTPリクエストメッセージの例である。
【0055】
POST /Yoyaku/NAME_profile HTTP/1.1
Host: www.asp_computer.com/
Cookie: Session_ID=1234
0x0d+0x0a(CR+LF)
<?xml version=”1.0” encoding=”shift_jis”?>
<予約照会>…
アプリケーションサーバ1のサーバ側セッション管理部5は、受信したHTTPリクエストメッセージにセッションIDが含まれていた場合、記憶しているセッションIDとHTTPリクエストメッセージ中のセッションIDとを照合し(ステップS52)、継続中のセッションであるか判定する(ステップS53)。
【0056】
既に終了したセッションであると判定した場合、アプリケーションサーバ1のサーバ側セッション管理部5は、HTTPレスポンスメッセージのメッセージヘッダにセッションが終了したことを示すメッセージを付加し、そのHTTPレスポンスメッセージをクライアント2へ送信する(ステップS54)。下記はクライアント2へ送信されるHTTPレスポンスメッセージの例である。
【0057】
HTTP/1.1 202 Accepted
Content−Type: text/xml
X−Yoyaku−Session: Session=End
X−Yoyaku−Session: Status=XXXX
X−Yoyaku−Contents: Contents=Ignore
0x0d+0x0a(CR+LF)
<?xml version=”1.0” encoding=”shift_jis”?>…
上記のHTTPレスポンスメッセージのうち、「X−Yoyaku−Session: Session=End」が、セッションが終了したことを示すメッセージであり、「X−Yoyaku−Session: Status=XXXX」が、セッションが存在しないことを示すメッセージである。クライアント2のクライアント側セッション管理部6は、このメッセージを受信すると、セッションが終了したことを認識し、Cookieを破棄する(ステップS55)。
【0058】
なお、ステップS53でセッションが継続中であると判定した場合は、通常の処理を行う(ステップS56)。
【0059】
≪タイムアウト後におけるセッション情報付きでのクライアントからの要求≫
タイムアウトが発生しアプリケーションサーバ1でセッションを終了した後に、クライアント2からセッション開始要求メッセージを含むHTTPリクエストメッセージを受信した場合、アプリケーションサーバ1は破棄(無効化)したセッションIDを有効化し、要求された処理を行う。
【0060】
クライアント側セッション管理部6は、HTTPリクエストメッセージのメッセージヘッダにセッションIDとセッション開始要求メッセージを付加し、メッセージボディに例えば予約照会の要求を記述したHTTPリクエストメッセージをアプリケーションサーバ1へ送信する(ステップS61)。下記はアプリケーションサーバ1へ送信されるHTTPリクエストメッセージの例である。
【0061】
POST /Yoyaku/NAME_profile HTTP/1.1
Host: www.asp_computer.com/
Cookie: Session_ID=1234
X−Yoyaku−Session: Session=Start
X−Yoyaku−PCID: PCID=895kjh8
0x0d+0x0a(CR+LF)
<?xml version=”1.0” encoding=”shift_jis”?>
<予約照会>…
アプリケーションサーバ1のサーバ側セッション管理部5は、受信したHTTPリクエストメッセージにセッションIDが含まれていた場合、記憶しているセッションIDとHTTPリクエストメッセージ中のセッションIDとを照合し(ステップS62)、継続中のセッションであるか判定する(ステップS63)。
【0062】
既に終了したセッションであると判定し、さらにセッション開始要求メッセージが存在する場合、アプリケーションサーバ1のサーバ側セッション管理部5は、破棄(無効化)したセッションIDを有効化する(ステップS64)。
【0063】
セッションIDが有効化された後、アプリケーションサーバ1はホストコンピュータ3に対して予約情報の照会を行う(ステップS65)。ホストコンピュータ3が予約情報を取得、返信すると(ステップS66)、アプリケーションサーバ1のサーバ側セッション管理部5は、予約情報を含むHTTPレスポンスメッセージをクライアント2へ送信する(ステップS67)。下記はクライアント2へ送信されるHTTPレスポンスメッセージの例である。
【0064】
HTTP/1.1 202 Accepted
Content−Type: text/xml
X−Yoyaku−Session: Status=0000
0x0d+0x0a(CR+LF)
<?xml version=”1.0” encoding=”shift_jis”?>
<予約照会結果>…
クライアント2は、上記のHTTPレスポンスメッセージを受信すると、予約情報を表示する(ステップS68)。
【0065】
≪クライアントからセッション開始と終了とを同時要求≫
クライアント2からセッション開始要求メッセージとセッション終了要求メッセージとを含むHTTPリクエストメッセージを受信した場合、アプリケーションサーバ1はセッションIDを生成せず要求された処理を行う。
【0066】
クライアント側セッション管理部6は、HTTPリクエストメッセージのメッセージヘッダにセッション開始要求メッセージとセッション終了要求メッセージとを付加し、メッセージボディに例えば予約照会の要求を記述したHTTPリクエストメッセージをアプリケーションサーバ1へ送信する(ステップS71)。下記はアプリケーションサーバ1へ送信されるHTTPリクエストメッセージの例である。
【0067】
POST /Yoyaku/NAME_profile HTTP/1.1
Host: www.asp_computer.com/
X−Yoyaku−Session: Session=Start
X−Yoyaku−Session: Session=End
X−Yoyaku−PCID: PCID=895kjh8
0x0d+0x0a(CR(キャリッジリターン)+LF(ラインフィールド))
<?xml version=”1.0” encoding=”shift_jis”?>
<予約照会>…
アプリケーションサーバ1のサーバ側セッション管理部5は、受信したHTTPリクエストメッセージにセッション開始要求メッセージとセッション終了要求メッセージとが含まれていた場合、セッションIDを生成せずに、メッセージボディに記述されている処理に移行し、例えば、ホストコンピュータ3に対して予約情報の照会を行う(ステップS72)。ホストコンピュータ3が予約情報を取得、返信すると(ステップS73)、アプリケーションサーバ1のサーバ側セッション管理部5は、予約情報を含むHTTPレスポンスメッセージをクライアント2へ送信する(ステップS74)。下記はクライアント2へ送信されるHTTPレスポンスメッセージの例であり、処理が正常に行われたことを示すメッセージが「X−Yoyaku−Session: Status=0000」付加される。
【0068】
HTTP/1.1 202 Accepted
Content−Type: text/xml
X−Yoyaku−Session: Status=0000
0x0d+0x0a(CR+LF)
<?xml version=”1.0” encoding=”shift_jis”?>
<予約照会結果>…
クライアント2は、上記のHTTPレスポンスメッセージを受信すると、予約情報を表示する(ステップS68)。
【0069】
このように、HTTPリクエストメッセージとHTTPレスポンスメッセージに、拡張ヘッダとして要求メッセージやステータスを示すメッセージを付加することによって、セッション管理を行うことが可能となる。
【0070】
【発明の効果】
以上説明したように、本発明によれば、要求元から任意にセッション開始要求メッセージを付加したHTTPリクエストメッセージを送信することによってセッションの開始を行い、また、要求元からセッション終了要求メッセージを付加したHTTPリクエストメッセージを送信することによって任意にセッションの終了を明示的に行うので、詳細にセッションの継続性を制御することが可能となる。さらに、要求先からHTTPレスポンスメッセージを送信することによって要求元は要求先の状態を把握することが可能となる。
【図面の簡単な説明】
【図1】本実施形態における機能構成図である。
【図2】セッション管理の手順を示すシーケンス図である。
【図3】セッション管理の手順を示すシーケンス図である。
【図4】セッション管理の手順を示すシーケンス図である。
【符号の説明】
1 アプリケーションサーバ
2 クライアント
3 ホストコンピュータ
4 ネットワーク
5 サーバ側セッション管理部
6 クライアント側セッション管理部

Claims (8)

  1. 処理の要求元、要求先の2コンピュータ間における接続の継続性を、HTTPメッセージのメッセージヘッダによって管理制御するセッション管理方法であって、
    前記要求元、および前記要求先の間でセッションを開始する際は、
    前記要求元が、HTTPリクエストメッセージのメッセージヘッダにセッション開始要求メッセージを付加して前記要求先へ送信する工程と、
    前記要求先が、前記HTTPリクエストメッセージのメッセージヘッダから前記セッション開始要求メッセージを取得すると、セッションを識別するセッションIDを生成し記憶する工程と、
    前記要求先が、HTTPレスポンスメッセージのメッセージヘッダに前記セッションIDを付加して前記要求元へ送信する工程と、
    前記要求元が、前記HTTPレスポンスメッセージのメッセージヘッダから前記セッションIDを取得し記憶する工程と、
    を有することを特徴とするセッション管理方法。
  2. セッションが開始された後、前記要求元から前記要求先へ処理を要求する際は、
    前記要求元が、前記HTTPリクエストメッセージのメッセージヘッダに前記セッションIDを付加して前記要求先へ送信する工程と、
    前記要求先が、前記HTTPリクエストメッセージのメッセージヘッダから前記セッションIDを取得すると、記憶している前記セッションIDと比較し、一致する場合は、前記要求元と前記要求先との接続が継続されていると判定する工程と、
    を有することを特徴とする請求項1に記載のセッション管理方法。
  3. 前記要求元、および前記要求先の間でセッションを終了する際は、
    前記要求元が、前記HTTPリクエストメッセージのメッセージヘッダにセッション終了要求メッセージを付加して前記要求先へ送信する工程と、
    前記要求先が、前記HTTPリクエストメッセージのメッセージヘッダから前記セッション終了要求メッセージを取得すると、セッションを識別するセッションIDを無効にする工程と、
    前記要求先が、前記HTTPレスポンスメッセージのメッセージヘッダにセッションが終了した旨のメッセージを付加して前記要求元へ送信する工程と、
    前記要求元が、前記HTTPレスポンスメッセージのメッセージヘッダから前記セッションが終了した旨のメッセージを取得すると、前記セッションIDを破棄する工程と、
    を有することを特徴とする請求項1乃至請求項2に記載のセッション管理方法。
  4. セッションが開始された後、前記要求元から前記要求先へ処理を要求した際に、前記要求先が当該処理を実行できない場合、または前記要求元から要求された処理が不当な場合、
    前記要求先が、前記HTTPレスポンスメッセージのメッセージヘッダにセッション終了メッセージと、当該要求先の状態を示すメッセージを付加して前記要求元へ送信する工程を有することを特徴とする請求項1乃至請求項3に記載のセッション管理方法。
  5. セッションが開始された後、前記要求元から前記要求先へ処理の要求がされないまま所定の期間が経過した場合、
    前記要求先が、セッションを識別するセッションIDを無効にする工程を有することを特徴とする請求項1乃至請求項4に記載のセッション管理方法。
  6. 所定の期間が経過し、前記セッションIDが無効にされた後、当該セッションIDを含む前記HTTPリクエストメッセージをもって前記要求元から前記要求先へ処理を要求した場合、
    前記要求先が、前記HTTPレスポンスメッセージのメッセージヘッダにセッション終了メッセージと、当該要求先の状態を示すメッセージを付加して前記要求元へ送信する工程を有することを特徴とする請求項5に記載のセッション管理方法。
  7. 所定の期間が経過し、前記セッションIDが無効にされた後、セッションを再開する場合は、
    前記要求元が、前記HTTPリクエストメッセージのメッセージヘッダに当該セッションIDと前記セッション開始要求メッセージとを付加して前記要求先へ送信する工程を有することを特徴とする請求項5乃至請求項6に記載のセッション管理方法。
  8. 前記要求元、および前記要求先の間でセッションを開始する際、
    前記要求元が、前記HTTPリクエストメッセージのメッセージヘッダに前記セッション開始要求メッセージと前記セッション終了要求メッセージとを付加して前記要求先へ送信する工程と、
    前記要求先が、前記HTTPリクエストメッセージのメッセージヘッダから前記セッション開始要求メッセージと前記セッション終了要求メッセージとを取得すると、前記セッションIDを生成せずに、要求された処理を実行する工程と、
    を有することを特徴とする請求項1乃至請求項7に記載のセッション管理方法。
JP2003171992A 2003-06-17 2003-06-17 セッション管理方法 Withdrawn JP2005010913A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003171992A JP2005010913A (ja) 2003-06-17 2003-06-17 セッション管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003171992A JP2005010913A (ja) 2003-06-17 2003-06-17 セッション管理方法

Publications (1)

Publication Number Publication Date
JP2005010913A true JP2005010913A (ja) 2005-01-13

Family

ID=34096288

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003171992A Withdrawn JP2005010913A (ja) 2003-06-17 2003-06-17 セッション管理方法

Country Status (1)

Country Link
JP (1) JP2005010913A (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009502087A (ja) * 2005-07-19 2009-01-22 サムスン エレクトロニクス カンパニー リミテッド ネットワーク装置へ非同期通知を伝送する方法及びシステム
JP2009086931A (ja) * 2007-09-28 2009-04-23 Fujitsu Ltd 書類データ管理方法、書類データ作成方法、サーバおよびコンピュータプログラム
JP2013524727A (ja) * 2010-04-15 2013-06-17 マイクロソフト コーポレーション Httpを介した信頼性のあるプロトコルトンネリングのための方法およびシステム
US8549408B2 (en) 2010-03-29 2013-10-01 Sharp Kabushiki Kaisha Multi-functional peripheral and multi-functional peripheral control system
JP2015509313A (ja) * 2011-12-30 2015-03-26 エフファイブ ネットワークス インコーポレイテッド 1つまたは複数の後続のフローの関連付けおよび管理を行うためにネットワークトラフィック特性を識別するための方法およびそのデバイス
USRE47019E1 (en) 2010-07-14 2018-08-28 F5 Networks, Inc. Methods for DNSSEC proxying and deployment amelioration and systems thereof
JP2019079333A (ja) * 2017-10-25 2019-05-23 キヤノン株式会社 通信装置、通信方法、及びプログラム
US10797888B1 (en) 2016-01-20 2020-10-06 F5 Networks, Inc. Methods for secured SCEP enrollment for client devices and devices thereof
JP2021140587A (ja) * 2020-03-06 2021-09-16 株式会社C−Rise 情報処理方法、コンピュータプログラム及び情報処理装置

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009502087A (ja) * 2005-07-19 2009-01-22 サムスン エレクトロニクス カンパニー リミテッド ネットワーク装置へ非同期通知を伝送する方法及びシステム
JP2009086931A (ja) * 2007-09-28 2009-04-23 Fujitsu Ltd 書類データ管理方法、書類データ作成方法、サーバおよびコンピュータプログラム
US8549408B2 (en) 2010-03-29 2013-10-01 Sharp Kabushiki Kaisha Multi-functional peripheral and multi-functional peripheral control system
JP2013524727A (ja) * 2010-04-15 2013-06-17 マイクロソフト コーポレーション Httpを介した信頼性のあるプロトコルトンネリングのための方法およびシステム
USRE47019E1 (en) 2010-07-14 2018-08-28 F5 Networks, Inc. Methods for DNSSEC proxying and deployment amelioration and systems thereof
JP2015509313A (ja) * 2011-12-30 2015-03-26 エフファイブ ネットワークス インコーポレイテッド 1つまたは複数の後続のフローの関連付けおよび管理を行うためにネットワークトラフィック特性を識別するための方法およびそのデバイス
US9985976B1 (en) 2011-12-30 2018-05-29 F5 Networks, Inc. Methods for identifying network traffic characteristics to correlate and manage one or more subsequent flows and devices thereof
US10797888B1 (en) 2016-01-20 2020-10-06 F5 Networks, Inc. Methods for secured SCEP enrollment for client devices and devices thereof
JP2019079333A (ja) * 2017-10-25 2019-05-23 キヤノン株式会社 通信装置、通信方法、及びプログラム
JP2021140587A (ja) * 2020-03-06 2021-09-16 株式会社C−Rise 情報処理方法、コンピュータプログラム及び情報処理装置

Similar Documents

Publication Publication Date Title
US10511567B2 (en) Network resource identification
US8156243B2 (en) Request routing
US9021128B2 (en) Request routing using network computing components
US9451046B2 (en) Managing CDN registration by a storage provider
US20180159769A1 (en) Request routing based on class
US9734472B2 (en) Request routing utilizing cost information
US9251112B2 (en) Managing content delivery network service providers
US8639817B2 (en) Content management
JP4859072B2 (ja) コンテンツ・タイミング方法およびシステム
US20020147652A1 (en) System and method for distruibuted client state management across a plurality of server computers
EP1695518B1 (en) Method of redirecting client requests to web services
US8990429B2 (en) HTTP-based synchronization method and apparatus
CN101997759A (zh) 一种业务实现方法及业务系统
JP2005010913A (ja) セッション管理方法
JP4988307B2 (ja) コンテキスト・ベースのナビゲーション
WO2001089170A2 (en) Method for state preservation in http-based communications
US9288153B2 (en) Processing encoded content
TW200410519A (en) World Wide Web connection switching method

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060905