JP4319971B2 - セッション情報管理システム、セッション情報管理方法およびそのプログラム - Google Patents
セッション情報管理システム、セッション情報管理方法およびそのプログラム Download PDFInfo
- Publication number
- JP4319971B2 JP4319971B2 JP2004337371A JP2004337371A JP4319971B2 JP 4319971 B2 JP4319971 B2 JP 4319971B2 JP 2004337371 A JP2004337371 A JP 2004337371A JP 2004337371 A JP2004337371 A JP 2004337371A JP 4319971 B2 JP4319971 B2 JP 4319971B2
- Authority
- JP
- Japan
- Prior art keywords
- session information
- request
- attribute
- computer
- update
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1031—Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1027—Persistence of sessions during load balancing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Description
また、クライアントマシンからの要求を処理しているアプリケーションサーバがダウン(故障などによる作動停止)した場合には、他のアプリケーションサーバがそのセッション情報を引き継いで処理を継続する必要がある。そして、そのセッション情報を引き継ぐ方式としては、たとえば、DB(Data Base)方式とメモリ方式とが挙げられる。
DB方式とは、すべてのアプリケーションサーバに接続され、各アプリケーションサーバのセッション情報を順次格納するDBサーバを設ける方式である(たとえば特許文献1参照)。
また、メモリ方式は、クラスタを構成するすべてのアプリケーションサーバに各アプリケーションサーバのセッション情報の複製を持たせる方式である。
また、メモリ方式では、クラスタを構成するアプリケーションサーバの数が多くなると、セッション情報の複製のためのオーバヘッドが大きくなるという問題があった。さらに、複製の一部が失敗すると、各アプリケーションサーバ間でセッション情報の整合性が保てなくなるという問題もあった。
そこで、本発明の目的は、セッション情報を処理引き継ぎ時に再利用できることにある。また、本発明の他の目的は、各アプリケーションサーバ間でセッション情報の整合性を保ちながら処理を継続することにある。
図1は、実施形態のセッション情報管理システムの全体構成を示す図である。セッション情報管理システム1000は、クライアントマシン30〜32、ネットワーク40、負荷分散機50および計算機1〜nにより構成される。
ネットワーク40は、広域通信網で、たとえば、インターネットであり、データや要求を送受信するための手段である。クライアントマシン30〜32は、ネットワーク40を介して、負荷分散機50に接続される。
負荷分散機50は、クライアントマシン30〜32からのアクセスを、通信回線60経由で計算機1〜(n−1)に振り分けるものであり、いわゆるロードバランサである。
計算機nは、通信回線70を介して計算機1〜(n−1)と接続されている。
計算機1〜(n−1)は、クラスタ構成となっており、負荷分散機50からの振り分けによってクライアントマシン30〜32からのアクセスを受け付け、処理を行う計算機である。この計算機1〜(n−1)は、計算機や、情報処理装置、仮想計算機、論理サーバなどによって、上記処理を実現することができる。そして、計算機1〜(n−1)は、ハードウエア、ソフトウエアともに同様の構成となっているので、以下、代表して計算機1を例にとって説明する。
CPU11は、中央処理装置であり、負荷分散機50から受信したデータや主記憶装置12内のプログラム等に基いて、各種演算処理を行う。
主記憶装置12は、メモリやRAM(Random Access Memory)、ROM(Read Only Memory)、ハードディスクなどから構成され、各種情報を記憶する。主記憶装置12には、プログラムであるアプリケーションサーバ100が記憶されている。
アプリケーションプログラム101は、クライアントマシン30〜32からのアクセスに対応するプログラムで、オブジェクトやプロセス、スレッドで実現可能であり、業務プログラムであってもよい。
HTTPセッション情報登録部102は、クライアントマシン30〜32からのアクセスによるセッション情報を登録するプログラムである。
HTTPセッション情報管理部110は、HTTPセッション情報登録部102に登録された情報を管理するプログラムであり、新規作成処理部111、更新処理部112、グローバルセッション情報取得部113、セッション情報管理サーバ状態テーブル114およびセッション情報管理サーバ監視部115から構成される。これらの各処理部は、プログラムやオブジェクト、プロセス、スレッドで実現してもよい。
更新処理部112は、アプリケーションサーバ100内で行われたセッション情報の処理に対応して、クライアントマシン30〜32やセッション情報管理サーバ200へグローバルセッション情報の送信や更新要求をするプログラムである。
グローバルセッション情報取得部113は、後記するセッション情報管理サーバ200のグローバルセッション情報提供部214から情報を取得するプログラムである。
セッション情報管理サーバ状態テーブル114は、セッション情報管理サーバ200のアドレスや障害の有無などを記憶するテーブルである。
セッション情報管理サーバ監視部115は、セッション情報管理サーバ200の障害の有無を、セッション情報管理サーバ200の定時発信機能などにより検知し、その検知結果をセッション情報管理サーバ状態テーブル114に書き込むプログラムである。
計算機nは、計算機1〜(n−1)と同様のハードウエアを有する計算機であり、CPU21と主記憶装置22を含んで構成される。主記憶装置22には、計算機1〜(n−1)に関するセッション情報を管理するためのプログラムであるセッション情報管理サーバ200が記憶されている。
セッション情報管理サーバ200は、グローバルセッション情報登録部201およびグローバルセッション情報管理部210とから構成される。
グローバルセッション情報管理部210は、新規作成処理部211、更新処理部212、削除処理部213およびグローバルセッション情報提供部214から構成される。
更新処理部212は、アプリケーションサーバ100の更新処理部112からの要求を受けて、グローバルセッション情報登録部201に対してグローバルセッション情報の追加、更新、削除などを行うプログラムである。なお、「グローバルセッション」と表記した場合はグローバルセッション情報登録部201におけるそのセッション情報の記憶領域のことを指し、「グローバルセッション情報」と表記した場合はそのグローバルセッションに格納されるセッション情報を指すものとする。
削除処理部213は、グローバルセッション情報登録部201において有効期限が切れたグローバルセッションを削除するプログラムである。
グローバルセッション情報提供部214は、アプリケーションサーバ100のグローバルセッション情報取得部113からの要求を受けて、グローバルセッション情報登録部201を参照し、必要なグローバルセッション情報をグローバルセッション情報取得部113に送信するプログラムである。
なお、各処理部は、オブジェクトやスレッド、プロセスによって実現可能である。
続いて、セッション情報管理システム1000の動作概要について説明する。ここでは、図2A〜図2Eを参照しながら、アプリケーションサーバ100間でセッション情報を引き継ぐ動作の概要について説明する。
また、HTTPセッション情報の“key”は項目を、“value”はその項目に対応する値を示すものであるが、その詳細については図3の説明のところで述べる。
これによって、アプリケーションサーバ100aにアクセスしていたクライアントマシン30は、再ログインなどの操作をすることなく、引き続きアプリケーションサーバ100bに対してアクセスを切り替えることができる。したがって、クライアントマシン30に対する処理がアプリケーションサーバ100bで継続されることとなる。
更新情報を受信したセッション情報管理サーバ200は、その更新情報に基いて、グローバルセッション情報のうち“key2”を“value2”から“value2'”に更新し、あわせて“key2”の属性を更新属性に変更する。
なお、この時点では、アプリケーションサーバ100bのHTTPセッション情報の“key2”の属性は不変属性のままである。
これを受けて、アプリケーションサーバ100aは、“key2”の属性を不変属性から更新属性に変更する。また、アプリケーションサーバ100bは、“key2”の属性を不変属性から更新属性に変更する。
このように、セッション情報管理サーバ200がアプリケーションサーバ100bに対して、“key2”の属性変更のみを送信して、その変更内容を送信しないことによって、各サーバの処理負担を軽減することができる。つまり、この属性変更のみの送信であれば、その変更時1回だけ送信すればよく、その後に同じセッション情報に関して書き換えが行われてもセッション情報管理サーバ200からアプリケーションサーバ100bに対して送信を行う必要がないのである。
なお、アプリケーションサーバ100bにおいて、“key2”の属性を不変属性から更新属性に変更するタイミングが、実際に“key2”が更新されたときではなく、前記のようにセッション情報管理サーバ200からの通知を受けたときにしているのは、アプリケーションサーバ100aと100bとの整合性を保つためである。それは、より具体的には、図2Cにおいて、アプリケーションサーバ100aの“key2”の属性が不変属性であるにもかかわらず、アプリケーションサーバ100bの“key2”の属性が更新属性である、といった不整合状態を避けるためである。
つまり、たとえば、ログインに使用されるユーザIDなどは、一度も更新されることがないので、不変属性のHTTPセッション情報としてアプリケーションサーバ100aと100bに残る。一方、たとえば、画面のページIDなどは、一度でも更新されると属性が更新属性のHTTPセッション情報になり、セッション情報管理サーバ200に障害が起きたときにアプリケーションサーバ100a,100bから削除されることになるが、ユーザIDなどに比べれば重要性の低い情報であり、アプリケーションサーバ間の整合性維持、セッション情報管理システム1000全体の処理効率などの点で有益な効果を奏すると言える。
また、本例では、アプリケーションサーバ100に障害が起きた場合について説明したが、アプリケーションサーバ100が1つあるいは複数削除される縮退運転が行われたときにも適用可能である。さらに、アプリケーションサーバ100が追加された場合でも、セッション情報管理サーバ200からセッション情報をコピーすることにより、追加されたアプリケーションサーバ100でもセッションを利用することが可能となる。
<HTTPセッション情報登録部のデータ構成>
続いて、図1のアプリケーションサーバ100におけるHTTPセッション情報登録部102のデータ構成について、図3を参照しながら説明する。図3は、HTTPセッション情報登録部102のデータ構成を表わした図である。
図3において、2つのセッション情報が、HTTPセッションID301、KEY302、VALUE303、属性304の4項目を含んで表示されている。
KEY302は、セッション情報を構成するそれぞれの情報の種類を示したものである。“UserID”は、クライアント(ユーザ)がクライアントマシン30〜32でログインを行うためのIDである。“Role”は、“UserID”などによってクライアントマシン30〜32に与えられる権限を意味するものである。“PageID”は、クライアント(ユーザ)がクライアントマシン30〜32で見ている画面のページIDである。“Search”は、検索を行った結果を表わしている。“CartID”は、図1のアプリケーションサーバ100におけるアプリケーションプログラム101のクライアントへの提供サービスがオンラインショッピングなどであった場合に、画面上で商品を入れる入れ物のIDを表わすものである。
属性304は、KEY302として表わされる各情報それぞれが属する属性を表わしている。属性は、前記したように不変属性と更新属性の2種類であり、その2種類に属さないものは「−」で表記されている。
なお、不変属性あるいは更新属性を付与されるセッション情報は、他のアプリケーションサーバ100へも引き継ぐべきセッション情報であり、アプリケーションサーバ100において、予めKEY302の種類によって設定された選択条件により、どのセッション情報が引き継ぐべきセッション情報に該当するかが決められている。
不変属性は、図2A〜図2Eで説明したように各アプリケーションサーバが共有すべき情報のうち、そのセッション内で変更されないものであることを表わす。
また、更新属性は、各アプリケーションサーバが共有すべき情報のうち、そのセッション内で変更されるものであることを表わす。
さらに、「−」と表記された情報は、各アプリケーションサーバが共有する必要のない情報であることを表わすものである。
次に、図1のセッション情報管理サーバ200におけるグローバルセッション情報登録部201のデータ構成について、図4を参照しながら説明する。図4は、グローバルセッション情報登録部201のデータ構成を表わした図である。
図4において、2つのセッション情報が、グローバルセッションID401、KEY402、VALUE403、属性404の4項目に対応した形で格納されている。
KEY402、VALUE403および属性404は、図3のKEY302、VALUE303、属性304と同様であるので、説明を省略する。
続いて、セッション情報管理システム1000の具体的な処理手順について説明する。
<処理1>
まず、図5を参照しながら、処理1(HTTPセッションが存在しない場合のリクエスト処理)について詳細に説明する。なお、ここでは、HTTPセッション情報登録部102がHTTPセッション未作成、グローバルセッション情報登録部201がグローバルセッション未作成の状態から処理が開始される。
図5は、前記条件のときの処理フロー図である。
まず、クライアントマシン30は、アプリケーションプログラム101にリクエストの処理を要求する(S501)。
アプリケーションプログラム101は、新規作成処理部111にHTTPセッションの新規作成を要求する(S502)。
新規作成処理部111は、HTTPセッション情報登録部102にHTTPセッションを作成し(S503)、また、そのHTTPセッションに対応するグローバルセッションID401(図4参照)を発行する。
新規作成処理部111は、新規作成処理部211に当該グローバルセッションID401に対応するグローバルセッションの作成を要求する(S504)。
アプリケーションプログラム101は、HTTPセッション情報登録部102を参照し、更新すべき情報があれば更新を行う(S506)。
アプリケーションプログラム101は、更新処理部112に、クライアントマシン30へのレスポンス送信を要求する(S507)。
更新処理部212は、グローバルセッション情報登録部201を参照し、更新すべき情報があれば更新を行う(S509)。
更新処理部112は、グローバルセッションID401(図4)を含めたレスポンスをクライアントマシン30に送信する(S510)。これを受けて、クライアントマシン30は、グローバルセッションID401(図4)を自身に登録する。
次に、図6を参照しながら、処理2(HTTPセッションが存在する場合のリクエスト処理)について詳細に説明する。なお、ここでは、HTTPセッション情報登録部102がHTTPセッション作成済み、グローバルセッション情報登録部201がグローバルセッション作成済みの状態から処理が開始される。
図6は、前記条件のときの処理フロー図である。
まず、クライアントマシン30は、グローバルセッション情報取得部113にリクエストの処理を要求する(S601)。
グローバルセッション情報取得部113は、グローバルセッション情報提供部214に最新のグローバルセッション情報の提供を要求する(S602)。
グローバルセッション情報提供部214は、グローバルセッション情報登録部201を参照し、グローバルセッション情報が更新されているか確認する(S603)。
グローバルセッション情報取得部113は、S604で最新のグローバルセッション情報を受信している場合は、HTTPセッション情報登録部102において、対応するHTTPセッション情報を更新する(S605)。
グローバルセッション情報取得部113は、アプリケーションプログラム101に、リクエストの処理を要求する(S606)。
アプリケーションプログラム101は、HTTPセッション情報登録部102を参照し、更新すべき情報があれば更新を行う(S607)。
アプリケーションプログラム101は、更新処理部112に、クライアントマシン30へのレスポンス送信を要求する(S608)。
更新処理部112は、更新処理部212にグローバルセッション情報登録部201への更新を要求する(S609)。
セッション情報管理サーバ監視部115は、当該情報の属性を不変属性から更新属性に変更する(S612)。
更新処理部112は、クライアントマシン30にレスポンスを送信する(S613)。
この処理2の動作により、更新のあった情報を不変属性から更新属性に変更することができる。
続いて、図7を参照しながら、処理3(HTTPセッションが削除される場合のリクエスト処理)について詳細に説明する。なお、ここでは、HTTPセッション情報登録部102がHTTPセッション作成済み、グローバルセッション情報登録部201がグローバルセッション作成済みの状態から処理が開始される。
図7は、前記条件のときの処理フロー図である。
まず、クライアントマシン30は、グローバルセッション情報取得部113にリクエストの処理を要求する(S701)。
グローバルセッション情報取得部113は、グローバルセッション情報提供部214に最新のグローバルセッション情報の提供を要求する(S702)。
グローバルセッション情報提供部214は、グローバルセッション情報登録部201を参照し、グローバルセッション情報が更新されているか確認する(S703)。
グローバルセッション情報取得部113は、S704で最新のグローバルセッション情報を受信している場合は、HTTPセッション情報登録部102において、対応するHTTPセッション情報を更新する(S705)。
グローバルセッション情報取得部113は、アプリケーションプログラム101に、リクエストの処理を要求する(S706)。
アプリケーションプログラム101は、HTTPセッション情報登録部102のHTTPセッションを削除する(S707)。
アプリケーションプログラム101は、更新処理部112に、クライアントマシン30へのレスポンス送信を要求する(S708)。
更新処理部112は、更新処理部212にグローバルセッション情報登録部201からのグローバルセッション情報の削除を要求する(S709)。
更新処理部212は、グローバルセッション情報登録部201からグローバルセッション情報を削除する(S710)。
更新処理部112は、クライアントマシン30に対してグローバルセッションID401(図4)を削除させるレスポンスを送信する(S711)。
次に、図8を参照しながら、処理4(HTTPセッションの有効期限が切れた場合の処理)について詳細に説明する。処理4は、HTTPセッションの有効期限が切れた場合の、セッション情報管理サーバ200における処理を示した処理フロー図である。
削除処理部213は、自身が保有するHTTPセッションの有効期限情報により、HTTPセッションの有効期限が切れたことを検知した場合、グローバルセッション情報登録部201からそのHTTPセッションに対応するグローバルセッションを削除する(S801)。
この処理4の動作により、不要なセッションがセッション情報管理サーバ200に蓄積することを回避できる。
続いて、図9を参照しながら、処理5(グローバルセッション情報を引き継ぐ場合のリクエスト処理)について詳細に説明する。なお、ここでは、HTTPセッション情報登録部102がHTTPセッション未作成、グローバルセッション情報登録部201がグローバルセッション作成済みの状態で処理が開始される。
図9は、前記条件のときの処理フロー図である。
この処理5は、クライアントマシン30からのリクエストの処理を行うアプリケーションサーバ100が、障害発生などよって切り替わった直後から始まる処理である。
まず、クライアントマシン30は、グローバルセッション情報取得部113にリクエストの処理を要求する(S901)。
クライアントマシン30からのリクエスト情報内のHTTPセッションIDに対応するHTTPセッションがHTTPセッション情報登録部102に存在しない場合、グローバルセッション情報取得部113は、グローバルセッション情報提供部214に、前記リクエスト情報内のグローバルセッションIDに対応するグローバルセッション情報の提供を要求する(S902)。
グローバルセッション情報提供部214は、グローバルセッション情報登録部201から当該グローバルセッション情報を取得する(S903)。
グローバルセッション情報取得部113は、HTTPセッション情報登録部102に、当該グローバルセッション情報を新規のHTTPセッション情報として格納する(S905)。
グローバルセッション情報取得部113は、アプリケーションプログラム101に、リクエストの処理を要求する(S906)。
アプリケーションプログラム101は、HTTPセッション情報登録部102のHTTPセッション情報を使用し、リクエスト処理を行う(S907)。
更新処理部112は、更新処理部212にグローバルセッション情報の更新を要求する(S909)。
更新処理部212は、グローバルセッション情報登録部201のグローバルセッション情報を更新する(S910)。
更新処理部112は、クライアントマシン30にレスポンスを送信する(S911)。
次に、図10を参照しながら、処理6(セッション情報管理サーバ200に障害が発生した場合のリクエスト処理)について詳細に説明する。なお、ここでは、HTTPセッション情報登録部102がHTTPセッション作成済み、グローバルセッション情報登録部201がグローバルセッション作成済みの状態で処理が開始される。
図10は、前記条件のときの処理フロー図である。
セッション情報管理サーバ監視部115は、セッション情報管理サーバ200に障害が発生していることを検知する(S1001)。なお、この障害検知の方法としては、たとえば、セッション情報管理サーバ監視部115がセッション情報管理サーバ200からの定時発信を受信しなかったことをセッション情報管理サーバ200の障害と判断する方法が挙げられるが、その方法に限定されるものではなく、他の方法を用いてもよい。
セッション情報管理サーバ監視部115は、セッション情報管理サーバ状態テーブル114のセッション情報管理サーバ200の状態を「障害」と書き換える(S1002)。
クライアントマシン30は、グローバルセッション情報取得部113にリクエストの処理を要求する(S1003)。
このS1004の動作は、複数のアプリケーションサーバ100間の整合性を保つためのものである。つまり、セッション情報管理サーバ200に障害が発生していて、これ以降はアプリケーションサーバ100間でセッション情報の共有ができないため、複数のアプリケーションサーバ100間で内容が整合していない更新属性の情報を削除することによって、複数のアプリケーションサーバ100間の不整合状態を回避しておくのである。一方、不変属性の情報は、変更されることがないので削除する必要はなく、また、削除しないことによって、アプリケーションサーバ100が切り替わったときでも、クライアントマシン30において再ログインなどの面倒な操作が不要となり、利便性の高いセッション情報管理システム1000を実現することができる。
アプリケーションプログラム101は、HTTPセッション情報登録部102のHTTPセッション情報のうち残存している不変属性の情報を使用して、リクエスト処理を行う(S1006)。
アプリケーションプログラム101は、更新処理部112に、クライアントマシン30へのレスポンス送信を要求する(S1007)。
更新処理部112は、クライアントマシン30にレスポンスを送信する(S1008)。
また、アプリケーションサーバ100からセッション情報を最初にセッション情報管理サーバ200に記憶させるときはすべて不変属性の情報とし、その後、1回でも変更のあった情報を更新属性の情報と変更することで、自動的に適切な属性を決定および付与することができ、情報ごとの属性を事前に登録しておくなどの煩雑な操作が不要で利便性の高いセッション情報管理システム1000を実現することができる。ただし、セッション情報の種類(図3のKEY302の種類)が少ない場合などは、予め個別のセッション情報に関する属性を手動で設定するようにしておいてもよい。
30〜32 クライアントマシン
40 ネットワーク
50 負荷分散機
60、70 通信回線
100 アプリケーションサーバ
200 セッション情報管理サーバ
1000 セッション情報管理システム
Claims (5)
- クライアント計算機からの要求に応じた処理を実行する複数の第1の計算機と、
前記複数の第1の計算機に接続され、前記要求をネットワーク経由で複数受信し、前記複数の要求を前記複数の第1の計算機のいずれかに振り分ける負荷分散計算機と、
前記複数の第1の計算機に接続され、前記第1の計算機で処理される前記要求のセッション情報の複製を有する第2の計算機と、を有するセッション情報管理システムであって、
前記セッション情報は、複数の項目から構成され、それぞれの項目が、当該項目が更新されたことがあることを示す更新属性か、当該項目が更新されたことがないことを示す不変属性か、に属しており、
前記複数の第1の計算機のそれぞれは、
前記要求を処理する際に当該要求のセッション情報を有していない場合は、前記第2の計算機が有する前記複製であるセッション情報を取得して、当該要求を処理し、前記要求を処理する際に当該要求のセッション情報のいずれかの項目を更新した場合は、前記第2の計算機へ当該項目の更新情報を通知し、
前記第2の計算機は、
前記通知された項目を、前記更新情報で更新すると共に、当該項目が不変属性の場合は更新属性に変更し、
前記複数の第1の計算機のそれぞれは、
前記要求を処理する際に当該要求のセッション情報を有している場合は、前記第2の計算機の複製された前記複数の項目を有するセッション情報が更新をされているかを更新属性/不変属性によって確認し、最新のセッション情報を、前記第2の計算機から取得し、当該要求を処理する
ことを特徴とするセッション情報管理システム。 - 前記複数の第1の計算機のそれぞれは、
前記第2の計算機に障害が発生した場合、当該第1の計算機が有するセッション情報のうち、前記更新属性を有する項目の情報を削除し、前記不変属性を有する項目の情報を用いて前記要求を処理する
ことを特徴とする請求項1に記載のセッション情報管理システム。 - クライアント計算機からの要求に応じた処理を実行する複数の第1の計算機と、
前記複数の第1の計算機に接続され、前記要求をネットワーク経由で複数受信し、前記複数の要求を前記複数の第1の計算機のいずれかに振り分ける負荷分散計算機と、
前記複数の第1の計算機に接続され、前記第1の計算機で処理される前記要求のセッション情報の複製を有する第2の計算機と、を有し、
複数の項目から構成され、それぞれの項目が、当該項目が更新されたことがあることを示す更新属性か、当該項目が更新されたことがないことを示す不変属性か、に属する前記セッション情報を管理するセッション情報管理システムによるセッション情報管理方法であって、
前記複数の第1の計算機のそれぞれは、
前記要求を処理する際に当該要求のセッション情報を有していない場合は、前記第2の計算機が有する前記複製であるセッション情報を取得し、当該要求を処理し、前記要求を処理する際に当該要求のセッション情報のいずれかの項目を更新した場合は、前記第2の計算機へ当該項目の更新情報を通知し、
前記第2の計算機は、
前記通知された項目を、前記更新情報で更新すると共に、当該項目が不変属性の場合は更新属性に変更し、
前記複数の第1の計算機のそれぞれは、
前記要求を処理する際に当該要求のセッション情報を有している場合は、前記第2の計算機の複製された前記複数の項目を有するセッション情報が更新をされているかを更新属性/不変属性によって確認し、最新のセッション情報を、前記第2の計算機から取得し、当該要求を処理する
ことを特徴とするセッション情報管理方法。 - 前記複数の第1の計算機のそれぞれは、
前記第2の計算機に障害が発生した場合、当該第1の計算機が有するセッション情報のうち、前記更新属性を有する項目の情報を削除し、前記不変属性を有する項目の情報を用いて前記要求を処理する
ことを特徴とする請求項3に記載のセッション情報管理方法。 - 請求項3または請求項4に記載のセッション情報管理方法をコンピュータに実行させるためのセッション情報管理プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004337371A JP4319971B2 (ja) | 2004-11-22 | 2004-11-22 | セッション情報管理システム、セッション情報管理方法およびそのプログラム |
US11/272,870 US20060123121A1 (en) | 2004-11-22 | 2005-11-15 | System and method for service session management |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004337371A JP4319971B2 (ja) | 2004-11-22 | 2004-11-22 | セッション情報管理システム、セッション情報管理方法およびそのプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006146663A JP2006146663A (ja) | 2006-06-08 |
JP4319971B2 true JP4319971B2 (ja) | 2009-08-26 |
Family
ID=36575677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004337371A Expired - Fee Related JP4319971B2 (ja) | 2004-11-22 | 2004-11-22 | セッション情報管理システム、セッション情報管理方法およびそのプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20060123121A1 (ja) |
JP (1) | JP4319971B2 (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8918450B2 (en) * | 2006-02-14 | 2014-12-23 | Casio Computer Co., Ltd | Server apparatuses, server control programs, and client apparatuses for a computer system in which created drawing data is transmitted to the client apparatuses |
JP4848801B2 (ja) * | 2006-03-09 | 2011-12-28 | カシオ計算機株式会社 | 画面表示制御装置および画面表示制御処理プログラム |
EP1999719B1 (en) * | 2006-03-29 | 2018-11-21 | Casio Computer Co., Ltd. | Server apparatus of computer system |
JP4957126B2 (ja) * | 2006-08-31 | 2012-06-20 | カシオ計算機株式会社 | クライアント装置およびプログラム |
GB0619644D0 (en) * | 2006-10-05 | 2006-11-15 | Ibm | Data processing system and method of handling requests |
US8607197B2 (en) * | 2007-08-28 | 2013-12-10 | International Business Machines Corporation | Displaying HTTP session entry and exit points |
US8032858B2 (en) * | 2007-08-28 | 2011-10-04 | International Business Machines Corporation | Method and system for navigationally displaying HTTP session entry and exit points |
JP4725587B2 (ja) * | 2008-03-18 | 2011-07-13 | カシオ計算機株式会社 | サーバ装置及びサーバ制御プログラム |
JP5169362B2 (ja) | 2008-03-24 | 2013-03-27 | 富士通株式会社 | セッション情報複製方法、前記方法を実行する呼制御サーバ及び前記方法のプログラム |
JP5107836B2 (ja) * | 2008-09-05 | 2012-12-26 | パナソニック株式会社 | 接続サーバ機器およびサーバシステム |
JP5109901B2 (ja) * | 2008-09-25 | 2012-12-26 | 沖電気工業株式会社 | セッションデータ共有方法 |
JP4697321B2 (ja) * | 2009-03-24 | 2011-06-08 | カシオ計算機株式会社 | コンピュータシステム、クライアント装置及びプログラム |
JP5538560B2 (ja) * | 2010-11-01 | 2014-07-02 | かもめエンジニアリング株式会社 | アクセス制御方法、アクセス制御装置およびアクセス制御プログラム |
JP2012146083A (ja) * | 2011-01-11 | 2012-08-02 | Fujitsu Ltd | セッション管理システム、セッション管理装置、サーバ装置およびセッション管理方法 |
DE102011056595B4 (de) * | 2011-12-19 | 2019-05-09 | Jan Schulz-Hofen | Verfahren zur Unterstützung von anfragebasierten Server-Programmen |
JP6984503B2 (ja) * | 2018-03-13 | 2021-12-22 | 富士通株式会社 | 制御プログラム、制御方法および情報処理装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3569122B2 (ja) * | 1998-01-22 | 2004-09-22 | 富士通株式会社 | セッション管理システム、サービス提供サーバ、セッション管理サーバ、セッション管理方法及び記録媒体 |
US6519643B1 (en) * | 1999-04-29 | 2003-02-11 | Attachmate Corporation | Method and system for a session allocation manager (“SAM”) |
US6701367B1 (en) * | 1999-09-24 | 2004-03-02 | Sun Microsystems, Inc. | Mechanism for enabling customized session managers to interact with a network server |
US7200665B2 (en) * | 2001-10-17 | 2007-04-03 | Hewlett-Packard Development Company, L.P. | Allowing requests of a session to be serviced by different servers in a multi-server data service system |
-
2004
- 2004-11-22 JP JP2004337371A patent/JP4319971B2/ja not_active Expired - Fee Related
-
2005
- 2005-11-15 US US11/272,870 patent/US20060123121A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
JP2006146663A (ja) | 2006-06-08 |
US20060123121A1 (en) | 2006-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4319971B2 (ja) | セッション情報管理システム、セッション情報管理方法およびそのプログラム | |
US11509729B2 (en) | Field service management mobile offline synchronization | |
US11762815B2 (en) | Multi-framework managed blockchain service | |
US10990605B2 (en) | Instance data replication | |
US9659038B2 (en) | Efficient snapshot read of a database in a distributed storage system | |
US20180293324A1 (en) | System And Method for Storing and Processing Database Requests | |
US7921189B2 (en) | Single virtual client for multiple client access and equivalency | |
JP5193056B2 (ja) | 無線装置の最新データを維持するための方法及びシステム | |
US7490111B2 (en) | Efficient handling of mostly read data in a computer server | |
US7827286B1 (en) | Providing enhanced access to stored data | |
US11411921B2 (en) | Enabling access across private networks for a managed blockchain service | |
JP5701398B2 (ja) | 計算機システム、データ管理方法及びプログラム | |
CN103516777A (zh) | 用于在云计算机环境中进行供应的方法和系统 | |
KR20120072907A (ko) | 오브젝트를 복수 개의 데이터 노드들의 위치에 기반하여 분산 저장하는 분산 저장 시스템 및 그 위치 기반 분산 저장 방법 및 컴퓨터에 의하여 독출 가능한 저장 매체 | |
US11340970B2 (en) | Distributed queueing over a Redis cluster | |
US9955444B1 (en) | Data synchronization across multiple devices connecting to multiple data centers | |
EP4080377A1 (en) | Method to implement multi-tenant/shared redis cluster using envoy | |
US11341009B1 (en) | Directing placement of data in cloud storage nodes | |
US11531595B2 (en) | Non-blocking secondary reads | |
WO2013118270A1 (ja) | 計算機システム、データ管理方法及びプログラム | |
CA1260151A (en) | Propagation of network queries through superior- subordinate and peer-peer data distribution relationships | |
US11157454B2 (en) | Event-based synchronization in a file sharing environment | |
US11609933B1 (en) | Atomic partition scheme updates to store items in partitions of a time series database | |
JP5956364B2 (ja) | クラスタシステム | |
EP4293533A1 (en) | Native multi-tenancy for database system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060808 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080911 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080930 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081201 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090526 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090529 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120605 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120605 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130605 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |