JP4989935B2 - Session management method, server used therefor, session management program, and recording medium recording the program - Google Patents

Session management method, server used therefor, session management program, and recording medium recording the program Download PDF

Info

Publication number
JP4989935B2
JP4989935B2 JP2006199265A JP2006199265A JP4989935B2 JP 4989935 B2 JP4989935 B2 JP 4989935B2 JP 2006199265 A JP2006199265 A JP 2006199265A JP 2006199265 A JP2006199265 A JP 2006199265A JP 4989935 B2 JP4989935 B2 JP 4989935B2
Authority
JP
Japan
Prior art keywords
information
client
identifier
session
server
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
Application number
JP2006199265A
Other languages
Japanese (ja)
Other versions
JP2008027202A (en
Inventor
聡 宗形
Original Assignee
株式会社 日立東日本ソリューションズ
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 株式会社 日立東日本ソリューションズ filed Critical 株式会社 日立東日本ソリューションズ
Priority to JP2006199265A priority Critical patent/JP4989935B2/en
Publication of JP2008027202A publication Critical patent/JP2008027202A/en
Application granted granted Critical
Publication of JP4989935B2 publication Critical patent/JP4989935B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、アプリケーションにおけるセッション管理の技術に関する。   The present invention relates to a technique for session management in an application.

従来、Webサーバ(以下、「サーバ」と適宜記載)の提供するWebアプリケーションを用いるWebクライアント(以下、「クライアント」と適宜記載)は、有線LAN(Local Area Network)に接続されたデスクトップPC(Personal Computer)が主であった。しかし近年では、ノートPCや携帯電話等のモバイル端末の普及により、これらをクライアントとして、無線LANや携帯電話網等を介してWebアプリケーションを利用する機会が増加している。   Conventionally, a Web client (hereinafter referred to as “client” as appropriate) using a Web application provided by a Web server (hereinafter referred to as “server” as appropriate) is a desktop PC (Personal) connected to a wired LAN (Local Area Network). Computer). However, in recent years, with the widespread use of mobile terminals such as notebook PCs and mobile phones, there are increasing opportunities to use Web applications via wireless LANs, mobile phone networks, etc. using these as clients.

サーバおよびクライアントは通常、HTTP(HyperText Transfer Protocol)を用いて通信する。その場合、例えばオンラインショッピングサイト等に代表されるように、クライアントは複数のWebページに対してページ要求(リクエスト)を行う。
このHTTPは、ページ要求に対して応答を返すだけのステートレス(stateless)なプロトコルであるため、サーバ側では、クライアントのページ要求毎に、送信してきたクライアントの識別と、クライアントが送信してきたデータの保持とを行う必要がある。そのため、サーバは、識別子を利用してクライアントを識別し、セッション中にクライアントから送信されたデータをメモリ上で保持するというセッション管理機能を持ち、それによってクライアントを識別したデータ保持を行っている。
従来のWebアプリケーションにおけるセッション管理の処理の流れを、図10にシーケンス図で示す。なお、公知のセッション管理機能の例としては、マイクロソフト社のASP(Active Server Pages)、サン・マイクロシステムズ社のJSP(Java(登録商標) Server Pages)やサーブレット等で提供される機能が挙げられる。
Servers and clients usually communicate using HTTP (HyperText Transfer Protocol). In that case, for example, as represented by an online shopping site or the like, the client makes a page request (request) to a plurality of Web pages.
Since this HTTP is a stateless protocol that only returns a response to a page request, on the server side, for each page request of the client, the identification of the client that sent it and the data that the client sent Need to hold. Therefore, the server has a session management function of identifying a client using an identifier and holding data transmitted from the client during a session in a memory, thereby holding data identifying the client.
FIG. 10 is a sequence diagram showing the flow of session management processing in a conventional Web application. Examples of known session management functions include functions provided by Microsoft's ASP (Active Server Pages), Sun Microsystems' JSP (Java (registered trademark) Server Pages), servlets, and the like.

従来のセッション管理では、サーバは、自身のWebアプリケーションにログインするクライアントによるログインページ要求(リクエスト)を受信したら、ログインのためのページをクライアントに送信する。その後、サーバはクライアントから認証情報を伴うページ要求を受信したら、クライアントからの認証情報を検証する。そして、メモリ上にセッション管理用のオブジェクト(セッション・データ情報オブジェクト)を生成し、生成したオブジェクトに対応する識別子であるIDを付与し、付与したIDをレスポンスメッセージのヘッダ部に付加して、要求されたページである「HTML1」をクライアントに送信する。
クライアントは、受信したレスポンスメッセージに含まれる「HTML1」に基づいてブラウザの画面に表示されたフォームに、データを入力して、サーバに次のページ要求を送信する。その際、サーバへのページ要求には、レスポンスメッセージのヘッダ部に付加されていたIDが付加される。
In conventional session management, when a server receives a login page request (request) from a client that logs in to its own Web application, the server transmits a login page to the client. Thereafter, when the server receives a page request with authentication information from the client, the server verifies the authentication information from the client. Then, an object for session management (session data information object) is generated on the memory, an ID that is an identifier corresponding to the generated object is assigned, and the assigned ID is added to the header part of the response message to request "HTML1" that is the page that has been sent to the client.
The client inputs data to the form displayed on the browser screen based on “HTML1” included in the received response message, and transmits the next page request to the server. At that time, the ID added to the header part of the response message is added to the page request to the server.

サーバは、クライアントから受信したページ要求に含まれるIDと、自身のメモリ上のオブジェクトに付与されているIDとを照合することで、クライアントを識別し、有効期間内のオブジェクトを取得し、更新日時を更新する。また、クライアントから送信されてきたデータを、IDに対応するオブジェクトに格納して、データを保持する。データを格納した後、サーバはレスポンスメッセージのヘッダ部にIDを付加して、要求されたページである「HTML2」をクライアントに送信する。   The server compares the ID included in the page request received from the client with the ID assigned to the object on its own memory, identifies the client, acquires the object within the valid period, and updates the update date and time. Update. Further, the data transmitted from the client is stored in the object corresponding to the ID, and the data is retained. After storing the data, the server adds an ID to the header part of the response message, and transmits the requested page “HTML2” to the client.

従来のセッション管理では、セッションの有効期間は、サーバのメモリ上でデータが格納されるオブジェクトの有効期間と同じとなっている。例えば、図10では、セッションの有効期間を、例として5分に設定している。
この図10の中程において、サーバが「HTML2」をクライアントに送信(S1001)した後、クライアントがページ要求を6分中断(未操作時間6分間)する(S1002)と、最後にオブジェクトが取得された時刻(更新日時)の5分後には当該オブジェクトの有効期間を超過するため、サーバは、メモリ上の当該オブジェクトを無効化する(S1003)。これにより、クライアントのセッションは終了する(セッションタイムアウト)。オブジェクトが無効化された後は、サーバは、当該オブジェクトが保持するデータを取得できない。つまり、セッションタイムアウトと、クライアントが送信したデータの消失とは同等となっているため、セッションタイムアウト後に、クライアントがページ要求を再開した場合(S1004)には、クライアントは再度ログインし直して改めて「HTML1」のフォームに入力し、データの送信を行わなければならない(S1005)。
In conventional session management, the session validity period is the same as the object validity period in which data is stored on the server memory. For example, in FIG. 10, the valid period of the session is set to 5 minutes as an example.
In the middle of FIG. 10, after the server transmits “HTML2” to the client (S1001), when the client interrupts the page request for 6 minutes (6 minutes of no operation time) (S1002), the object is finally acquired. Since the valid period of the object exceeds 5 minutes after the update time (update date and time), the server invalidates the object on the memory (S1003). This terminates the client session (session timeout). After the object is invalidated, the server cannot acquire data held by the object. That is, since the session timeout and the loss of the data transmitted by the client are equivalent, when the client resumes the page request after the session timeout (S1004), the client logs in again and re-registers “HTML1”. "" And the data must be transmitted (S1005).

特許文献1は、クライアントにおける利用者の初回ページ要求の後、利用者の操作とは無関係に、一定間隔でページ要求の送受信を繰り返すことでセッションを存続させるようにした技術を開示している。
特許文献2は、セッションを識別するためのセッションIDを作成し、そのセッションIDを含むCookie作成要求メッセージをクライアントへ送信する。それにより、セッションIDを用いてクライアントを識別する技術を開示している。
特開2003−233585号公報(図5) 特開2005−10913号公報(図1)
Patent Document 1 discloses a technique in which a session is continued by repeating transmission / reception of a page request at regular intervals after a user's initial page request in a client, regardless of a user's operation.
Patent Literature 2 creates a session ID for identifying a session, and transmits a cookie creation request message including the session ID to the client. Accordingly, a technique for identifying a client using a session ID is disclosed.
Japanese Patent Laying-Open No. 2003-233585 (FIG. 5) Japanese Patent Laying-Open No. 2005-10913 (FIG. 1)

従来のセッション管理機能では、IDが盗聴されたときに生じるセッションハイジャック等のセキュリティリスク低減や、サーバのメモリリソース解放のために、セッションの有効期間は数分間と短く設定されている。   In the conventional session management function, the effective period of a session is set to be as short as several minutes in order to reduce security risks such as session hijacking that occurs when an ID is wiretapped and to release memory resources of the server.

特許文献1に記載の技術では、クライアントのブラウザが終了されたり、移動等によってページ要求の送受信が行えない状態になったりした場合には、セッションの有効期間が過ぎれば、サーバに送信したデータは無効化されてしまう。その場合、クライアントは、再度入力フォームにデータを入力しなおして、サーバに送信する必要が生じる。
また、特許文献2に記載の技術では、セッションの有効期間とクライアントの送信データとが1つのオブジェクトで管理されている。この場合、移動等によりクライアントのページ要求がたびたび中断するモバイル環境のように、セッションタイムアウトが頻繁に起こりうる環境では、セッションタイムアウトの度に、サーバのデータが失われてしまうので、クライアントはその都度、入力フォームのデータを入力しなおして、サーバに送信しなければならない。
In the technique described in Patent Document 1, when the browser of the client is terminated or the page request cannot be transmitted / received due to movement or the like, the data transmitted to the server is transmitted after the valid period of the session. It will be invalidated. In that case, the client needs to re-enter data in the input form and send it to the server.
In the technique described in Patent Document 2, the session validity period and client transmission data are managed as one object. In this case, in a mobile environment where the client's page request is frequently interrupted due to movement or the like, the server data is lost each time the session time-out occurs. The input form data must be re-entered and sent to the server.

このようにセッションタイムアウトが度々起こりうる環境では、セッション中にクライアントがサーバに送信したデータは、セッションタイムアウトの度に失われてしまう。そのためクライアントは、その都度入力フォームのデータを送信しなおす必要が生じており、クライアントから見たWebアプリケーションの利便性は、高いものとはいえなかった。
この課題を解決するために、セッションの有効期間を無期限に長くする方法も考えられるが、この方法では、メモリリソースを無期限に浪費することに加え、Webアプリケーションのセキュリティリスクも高まることから、有効ではない。
In such an environment where session timeouts can occur frequently, data transmitted from the client to the server during the session is lost each time the session timeout occurs. Therefore, the client needs to retransmit the data of the input form every time, and the convenience of the Web application viewed from the client cannot be said to be high.
In order to solve this problem, a method of extending the valid period of the session indefinitely is conceivable, but in this method, in addition to wasting memory resources indefinitely, the security risk of the Web application is also increased. It is not valid.

そこで、本発明は、前記問題に鑑み、サーバとクライアントとが通信して実行されるアプリケーションにおいて、セキュリティ性を保ちながら、クライアントの利便性を向上させることを課題とする。   In view of the above problems, an object of the present invention is to improve convenience of a client while maintaining security in an application executed by communication between a server and a client.

前記課題を解決するため、本発明による解決手段の一つは、サーバとクライアントとが通信して実行されるアプリケーションにおいて、サーバが、クライアントからのセッション要求に基づき、セッションの情報を管理する第一の情報と、クライアントからの受信データを管理する第二の情報とを記憶手段上に生成し、それぞれを一意に識別する識別子(第一・第二の識別子)と、記憶手段上での有効期間を管理する情報とを付与する。
サーバは、第一の情報および第二の情報に含まれる有効期間を管理する情報を所定の間隔で検証し、有効期間外となったものを取得不可能とすることで無効化する。
サーバとクライアントとの送受信は、各識別子が付加された情報を含む。サーバは、クライアントから受信した識別子と照合することで、有効な第一の情報または第二の情報を取得し、クライアントを識別する。第一の情報が無効、かつ第二の情報が有効であった場合には、サーバは第一の情報を新たに生成または更新する。
なお、「オブジェクトが有効」とは、「オブジェクトがアプリケーションプログラムにおいて適正に使用可能」を示し、「オブジェクトが無効」とは、「オブジェクトがアプリケーションプログラムにおいて取得不可能(使用不可)」を示す。
In order to solve the above-described problem, one of the solutions according to the present invention is a first method in which, in an application executed by communication between a server and a client, the server manages session information based on a session request from the client. Information and second information for managing data received from the client are generated on the storage means, and each identifier (first and second identifier) for uniquely identifying each of the information and the validity period on the storage means And information to manage.
The server verifies the information for managing the validity period included in the first information and the second information at a predetermined interval, and invalidates the information that is out of the validity period by making it impossible to acquire.
Transmission / reception between the server and the client includes information to which each identifier is added. The server acquires valid first information or second information by collating with the identifier received from the client, and identifies the client. If the first information is invalid and the second information is valid, the server newly generates or updates the first information.
Note that “the object is valid” indicates that “the object can be properly used in the application program”, and “the object is invalid” indicates that “the object cannot be acquired in the application program (cannot be used)”.

これにより、サーバは、第二の情報に保持されているデータを継続して利用し、セッションタイムアウト後でもクライアントが要求した情報を送信できる。その結果、セッションタイムアウトの度に、クライアントが送信したデータを再度入力しなおす必要がなくなり、利便性が向上される。   As a result, the server can continuously use the data held in the second information, and can transmit the information requested by the client even after the session time-out. As a result, it is not necessary to re-enter the data transmitted by the client every time a session times out, and convenience is improved.

さらに、第一の情報が無効、かつ第二の情報が有効であった場合に、第一の情報を新たに生成または更新する前に、サーバがクライアントの認証を行うことによって、2つの識別子が盗聴されたときの、セッションハイジャック等の不正アクセスに対するセキュリティリスクを低減できる。   Further, when the first information is invalid and the second information is valid, the server authenticates the client before the first information is newly generated or updated, so that two identifiers are obtained. Security risks against unauthorized access such as session hijacking when wiretapped can be reduced.

本発明によれば、サーバとクライアントとが通信して実行されるアプリケーションにおいて、セキュリティ性を保ちながら、クライアントの利便性を向上させることができる。   ADVANTAGE OF THE INVENTION According to this invention, the convenience of a client can be improved, maintaining a security in the application performed by a server and a client communicating.

本発明を実施するための最良の形態(以下「実施形態」とする)を詳細に説明する。
本実施形態の説明では、サン・マイクロシステムズ社のサーブレットを使用して実装した、ショッピングサイトのWebアプリケーションを例として用いる。サーブレットでは、セッションの有効期間の管理とデータ保持を行うオブジェクトは、Java(登録商標)言語で実装されたクラスのオブジェクトとして実現される。
The best mode for carrying out the present invention (hereinafter referred to as “embodiment”) will be described in detail.
In the description of the present embodiment, a shopping site Web application implemented using a Sun Microsystems servlet is used as an example. In the servlet, an object for managing the session validity period and holding data is realized as an object of a class implemented in the Java (registered trademark) language.

(第1実施形態)
図1は、本発明の実施形態におけるハードウェアおよびネットワークの構成例を示す図である。
本実施形態では、一般的なコンピュータであるクライアント200のブラウザにWebアプリケーションを提供するサーバ100に対し、クライアント200が、ネットワーク300を介してページ要求(リクエスト)する。そして、ページ要求処理の途中に、クライアント200が相当時間、サーバ100との通信を行わず(例えば移動等)、ページ要求が中断された後、同じクライアント200がクライアント200Aとして、サーバ100にページ要求を再開する場合を想定する。なお、クライアント200は、ノートPCや携帯端末等でもよい。
(First embodiment)
FIG. 1 is a diagram illustrating a configuration example of hardware and a network according to an embodiment of the present invention.
In this embodiment, the client 200 makes a page request (request) via the network 300 to the server 100 that provides a Web application to the browser of the client 200 that is a general computer. In the middle of the page request processing, the client 200 does not communicate with the server 100 for a considerable time (for example, movement), and the page request is interrupted. Assume that the process is resumed. Note that the client 200 may be a notebook PC, a portable terminal, or the like.

図2は、本実施形態において、図1におけるサーバの機能を示すブロック図である。適宜、図1を参照しつつ、図2について説明する。
サーバ100は、送受信部110、記憶部(記憶手段)120、制御部150から構成される。
送受信部110は、例えば通信インタフェース等から構成され、クライアント200(図1参照)からネットワーク300(図1参照)を介して送信されてきた情報を取得して制御部150へ出力したり、制御部150からの情報を取得してネットワーク300を介してクライアント200へ情報を送信したりする処理を行う。
FIG. 2 is a block diagram illustrating functions of the server in FIG. 1 in the present embodiment. 2 will be described with reference to FIG. 1 as appropriate.
The server 100 includes a transmission / reception unit 110, a storage unit (storage unit) 120, and a control unit 150.
The transmission / reception unit 110 includes a communication interface, for example, and acquires information transmitted from the client 200 (see FIG. 1) via the network 300 (see FIG. 1) and outputs the information to the control unit 150. A process of acquiring information from 150 and transmitting information to the client 200 via the network 300 is performed.

記憶部120は、演算処理に使用される一時的な記憶領域であるRAM(Random Access Memory)等のメモリと、HDD(Hard Disk Drive)等の補助記憶領域とを備える。
メモリには、オブジェクトの有効期間を格納する有効期間情報121と、クライアント200のセッション(ページ)要求に応じて生成されるオブジェクトとして、セッション情報オブジェクト(第一の情報)122およびデータ情報オブジェクト(第二の情報)123とを備える。
セッション情報オブジェクト122は、クライアント200とのセッションの情報を管理するオブジェクトである。
データ情報オブジェクト123は、クライアント200から送信されてきたデータを管理するオブジェクトである。
The storage unit 120 includes a memory such as a RAM (Random Access Memory) that is a temporary storage area used for arithmetic processing, and an auxiliary storage area such as an HDD (Hard Disk Drive).
In the memory, validity period information 121 for storing the validity period of the object, and a session information object (first information) 122 and a data information object (first information) are generated as objects generated in response to a session (page) request of the client 200. Second information) 123.
The session information object 122 is an object that manages session information with the client 200.
The data information object 123 is an object that manages data transmitted from the client 200.

補助記憶領域には、図示しないが、Webアプリケーションプログラム、セッション管理プログラム、制御部150の処理結果等が格納される。本実施形態におけるセッション管理プログラムは、Webアプリケーションプログラム起動に伴い起動されるものとし、メモリに読み込まれ、制御部150が機能することによってセッション管理プログラムが実行される。   Although not shown, the auxiliary storage area stores a Web application program, a session management program, a processing result of the control unit 150, and the like. The session management program according to the present embodiment is started when the Web application program is started. The session management program is read into the memory and the control unit 150 functions to execute the session management program.

本実施形態では、サーバ100のWebアプリケーションプログラムの起動時に、セッションおよびデータのメモリ上での有効期間を、サーバ100で予め設定する。このとき、セッションの有効期間とは、当該のセッションを管理するオブジェクト(セッション情報オブジェクト122)のメモリ上での有効期間であり、この期間を超過すると当該オブジェクトは無効化される。また、データの有効期間とは、クライアントから送信されたデータを管理するオブジェクト(データ情報オブジェクト123)がメモリ上で保持される期間であり、この期間を超過すると当該オブジェクトは無効化される。
有効期間として設定された情報は、セッション管理プログラムと共にメモリに読み込まれ、有効期間情報121として用いられる。
In the present embodiment, when the Web application program of the server 100 is started, the server 100 presets the validity period of the session and data on the memory. At this time, the effective period of the session is an effective period on the memory of the object (session information object 122) that manages the session. When this period is exceeded, the object is invalidated. The data valid period is a period in which an object (data information object 123) for managing data transmitted from the client is retained in the memory. When this period is exceeded, the object is invalidated.
The information set as the valid period is read into the memory together with the session management program and used as the valid period information 121.

図3は、有効期間情報に格納される情報の例を示す図である。適宜、図2を参照しつつ、図3について説明する。有効期間情報121は、セッション情報オブジェクト122(図2参照)の有効期間と、データ情報オブジェクト123(図2参照)の有効期間との情報が格納される。本実施形態では、例として、セッション情報オブジェクト122の有効期間を1分、データ情報オブジェクト123の有効期間(保持期間)を10分として説明する。   FIG. 3 is a diagram illustrating an example of information stored in the validity period information. 3 will be described with reference to FIG. 2 as appropriate. The validity period information 121 stores information on the validity period of the session information object 122 (see FIG. 2) and the validity period of the data information object 123 (see FIG. 2). In the present embodiment, as an example, the session information object 122 will be described with an effective period of 1 minute and the data information object 123 with an effective period (holding period) of 10 minutes.

図4は、オブジェクトを模式的に示す図である。適宜、図1,図2を参照しつつ、図4について説明する。
図4(a)は、メモリ上有効なセッション情報オブジェクトの集合を表形式で示した図である。セッション情報オブジェクト122は、セッションID、生成日時、更新日時の情報が格納される。このセッション情報オブジェクト122は、クライアント200のセッション毎に生成され、クライアント200からのページ要求の度に、後記するクライアント識別部155によって更新日時が更新される。
FIG. 4 is a diagram schematically illustrating the object. 4 will be described with reference to FIGS. 1 and 2 as appropriate.
FIG. 4A is a diagram showing a set of session information objects effective in memory in a table format. The session information object 122 stores information on the session ID, generation date / time, and update date / time. The session information object 122 is generated for each session of the client 200, and the update date and time is updated by the client identification unit 155 described later each time a page request is made from the client 200.

図4(b)は、メモリ上有効なデータ情報オブジェクトの集合を表形式で示した図である。データ情報オブジェクト123は、データID、データIDに対応するセッションID、生成日時、更新日時、クライアント200から送信されてきたデータが格納される。データ情報オブジェクト123は、セッション情報オブジェクト122と同様に、クライアント200のページ要求の度に、後記するクライアント識別部155によって更新日時が更新される。
なお、図4(a)のセッション情報オブジェクト122および図4(b)のデータ情報オブジェクト123は、どちらも、有効期間情報121に設定されている有効期間を超過してもその更新日時が更新されない場合には、当該のオブジェクトは、後記するオブジェクト管理部157によって無効化されることとなる。
FIG. 4B is a diagram showing a set of data information objects effective in memory in a table format. The data information object 123 stores a data ID, a session ID corresponding to the data ID, a generation date / time, an update date / time, and data transmitted from the client 200. As with the session information object 122, the data information object 123 is updated by the client identification unit 155 described later every time the client 200 requests a page.
It should be noted that neither the session information object 122 in FIG. 4A nor the data information object 123 in FIG. 4B has its update date updated even if the valid period set in the valid period information 121 is exceeded. In this case, the object is invalidated by an object management unit 157 described later.

なお、本実施形態では、「セッション情報オブジェクトが(メモリ上)有効」とは、「セッション情報オブジェクトが当該Webアプリケーションプログラムにおいて適正に使用可能」な状態を示し、「セッション情報オブジェクトが(メモリ上)無効」とは、「セッション情報オブジェクトが当該Webアプリケーションプログラムにおいて使用不可」な状態を示す。また、「データ情報オブジェクトが(メモリ上)有効」とは、「データ情報オブジェクトが当該Webアプリケーションプログラムにおいて適正に使用可能」な状態を示し、「データ情報オブジェクトが(メモリ上)無効」とは、「データ情報オブジェクトが当該Webアプリケーションプログラムにおいて使用不可」な状態を示す。
ここで、使用不可とは、サーバ100が当該オブジェクトを取得できない状態または取得してもデータを活用できない状態にすることであり、例えば、メモリ上のオブジェクトに対してアクセス不可の設定や削除等を行うことが考えられる。
In this embodiment, “session information object is valid (on memory)” indicates a state where “the session information object can be properly used in the Web application program”, and “session information object is on (memory)”. “Invalid” indicates a state where “the session information object cannot be used in the Web application program”. Further, “data information object is valid (on memory)” indicates a state where “data information object is properly usable in the Web application program”, and “data information object is invalid (on memory)” This indicates a state where the “data information object cannot be used in the Web application program”.
Here, “unusable” refers to a state in which the server 100 cannot acquire the object, or a state in which data cannot be utilized even if acquired, and for example, setting or deleting an object that is inaccessible to an object on the memory. It is possible to do it.

図2に戻って、制御部150は、例えばCPU(Central Processing Unit)等から構成され、送受信部110を制御すると共に、送受信部110を介して取得した情報の認証やセッションの管理等を行うものであり、クライアント認証部151、オブジェクト生成部(情報生成部)152、ID生成部(識別子生成部)153、有効期間管理情報生成部154、クライアント識別部155、データ格納部156、オブジェクト管理部(情報管理部)157を備える。   Returning to FIG. 2, the control unit 150 is configured by, for example, a CPU (Central Processing Unit) and the like, and controls the transmission / reception unit 110, and performs authentication of the information acquired through the transmission / reception unit 110, session management, and the like. A client authentication unit 151, an object generation unit (information generation unit) 152, an ID generation unit (identifier generation unit) 153, a validity period management information generation unit 154, a client identification unit 155, a data storage unit 156, an object management unit ( Information management unit) 157.

クライアント認証部151は、クライアント200から送信されてきた認証情報を検証し、認証を行う。
オブジェクト生成部152は、セッション情報生成部1521およびデータ情報生成部1522を備え、サーバ100の記憶部120(メモリ)上に、オブジェクトを生成する。具体的には、セッション情報生成部1521はクライアント200のセッションを管理するセッション情報オブジェクト122を生成し、データ情報生成部1522はクライアント200から送信されたデータを保持するデータ情報オブジェクト123を生成する。
The client authentication unit 151 verifies authentication information transmitted from the client 200 and performs authentication.
The object generation unit 152 includes a session information generation unit 1521 and a data information generation unit 1522, and generates an object on the storage unit 120 (memory) of the server 100. Specifically, the session information generation unit 1521 generates a session information object 122 that manages the session of the client 200, and the data information generation unit 1522 generates a data information object 123 that holds data transmitted from the client 200.

ID生成部153は、セッションID生成部1531およびデータID生成部1532を備え、オブジェクト生成部152が生成したそれぞれのオブジェクトに対し、一意に識別するID(識別子)を生成してそれぞれ付与する。具体的には、セッションID生成部1531は、セッション情報オブジェクト122にセッションID(第一の識別子)を付与し、データID生成部1532は、データ情報オブジェクト123にデータID(第二の識別子)を付与する。生成したIDは、Cookie等の技術を利用してクライアント200との間でやり取りされる。   The ID generation unit 153 includes a session ID generation unit 1531 and a data ID generation unit 1532, and generates and assigns an ID (identifier) that uniquely identifies each object generated by the object generation unit 152. Specifically, the session ID generation unit 1531 gives a session ID (first identifier) to the session information object 122, and the data ID generation unit 1532 assigns a data ID (second identifier) to the data information object 123. Give. The generated ID is exchanged with the client 200 using a technique such as Cookie.

有効期間管理情報生成部154は、セッション有効期間管理情報生成部1541およびデータ有効期間管理情報生成部1542を備え、オブジェクト生成部152が生成したそれぞれのオブジェクトに対し、オブジェクトの有効期間を管理する情報を生成してそれぞれ付与する。具体的には、セッション有効期間管理情報生成部1541は、セッション情報オブジェクト122に対して、メモリ上に生成された日時、オブジェクトがサーバ100に取得されたときにクライアント識別部155によって更新される更新日時を付与し、データ有効期間管理情報生成部1542は、データ情報オブジェクト123に、メモリ上に生成された日時、オブジェクトがサーバ100に取得されたときにクライアント識別部155によって更新される更新日時を付与する。なお、オブジェクト生成時には、生成日時と同じ日時が更新日時に設定される。   The effective period management information generation unit 154 includes a session effective period management information generation unit 1541 and a data effective period management information generation unit 1542, and information for managing the effective period of the object for each object generated by the object generation unit 152 Are generated and given respectively. Specifically, the session valid period management information generation unit 1541 updates the session information object 122 by the client identification unit 155 when the server 100 acquires the date and time generated on the memory. The data validity period management information generation unit 1542 gives the date and time generated on the memory to the data information object 123, and the update date and time updated by the client identification unit 155 when the object is acquired by the server 100. Give. When an object is generated, the same date and time as the generation date and time is set as the update date and time.

クライアント識別部155は、クライアント200から送信されたセッションIDおよびデータIDと、自身の記憶部120内のオブジェクトに付与されているセッションIDおよびデータIDとを比較し、対応付けられたオブジェクトを取得してクライアント200を識別する。さらに、クライアント識別部155は、取得したオブジェクトの更新日時を、オブジェクトがサーバ100に取得された最新の日時に更新する。
データ格納部156は、クライアント200から送信されたデータをデータ情報オブジェクト123に格納する。
The client identification unit 155 compares the session ID and data ID transmitted from the client 200 with the session ID and data ID assigned to the object in the storage unit 120 of itself, and acquires the associated object. To identify the client 200. Further, the client identification unit 155 updates the update date / time of the acquired object to the latest date / time when the object was acquired by the server 100.
The data storage unit 156 stores the data transmitted from the client 200 in the data information object 123.

オブジェクト管理部157は、セッション情報管理部1571およびデータ情報管理部1572を備え、記憶部120のセッション情報オブジェクト122およびデータ情報オブジェクト123がメモリ上で有効か否かを、有効期間情報121の情報と各オブジェクトの更新日時とに基づいて管理する。
具体的には、例えば、有効期間情報121に、セッションの有効期間が1分と設定されている場合には、セッション情報管理部1571は、セッション情報オブジェクト122(図4(a)参照)が有効か否かを1分毎に検証する。有効か否かの検証は、有効期間の1分を超過する前にセッション情報オブジェクト122の更新日時が更新されているかを判別して行う。有効期間の1分を超過しても更新日時が更新されない場合には、当該のセッション情報オブジェクト122を無効化する。
また、データの有効期間が10分と設定されている場合には、データ情報管理部1572は、データ情報オブジェクト123(図4(b)参照)が有効か否かを10分毎に検証する。有効か否かの検証は、有効期間の10分を超過する前にセッション情報オブジェクト122の更新日時が更新されているかを判別して行う。有効期間の10分を超過しても更新日時が更新されない場合には、当該のデータ情報オブジェクト123を無効化する。
なお、無効となったオブジェクトの情報は、サーバ100が取得できないようになっていればよく、本実施形態では当該オブジェクトを削除する方法を例として説明する。
The object management unit 157 includes a session information management unit 1571 and a data information management unit 1572, and determines whether the session information object 122 and the data information object 123 in the storage unit 120 are valid on the memory and the information of the valid period information 121. Management is performed based on the update date and time of each object.
Specifically, for example, when the session validity period is set to 1 minute in the validity period information 121, the session information management unit 1571 indicates that the session information object 122 (see FIG. 4A) is valid. Whether or not every minute. Whether or not it is valid is determined by determining whether or not the update date and time of the session information object 122 has been updated before the valid period exceeds 1 minute. If the update date / time is not updated even if the valid period exceeds one minute, the session information object 122 is invalidated.
If the data validity period is set to 10 minutes, the data information management unit 1572 verifies whether the data information object 123 (see FIG. 4B) is valid every 10 minutes. Whether or not it is valid is determined by determining whether or not the update date and time of the session information object 122 has been updated before the valid period of 10 minutes is exceeded. If the update date / time is not updated even after the valid period of 10 minutes is exceeded, the data information object 123 is invalidated.
Note that it is only necessary that the information on the invalid object cannot be acquired by the server 100. In the present embodiment, a method for deleting the object will be described as an example.

図5は、本実施形態におけるクライアントとサーバとの間で送受信する情報と、それぞれの処理の流れとを示すシーケンス図である。図5に沿って、適宜図1〜図4を参照しながら説明する。なお、本実施形態では、前記の通り、クライアント200が、Webアプリケーションを提供するサーバ100に対し、ネットワーク300を介してページ要求する。そして、ページ要求処理の途中に移動等で相当時間、サーバ100との通信を行わずにページ要求を中断した後、クライアント200Aとしてサーバ100にページ要求を再開する場合を想定する。   FIG. 5 is a sequence diagram illustrating information transmitted and received between the client and the server and the flow of each process in the present embodiment. A description will be given along FIG. 5 with reference to FIGS. In the present embodiment, as described above, the client 200 issues a page request to the server 100 that provides the Web application via the network 300. Then, it is assumed that the page request is resumed to the server 100 as the client 200 </ b> A after the page request is interrupted without performing communication with the server 100 for a considerable time due to movement or the like during the page request processing.

まず、クライアント200は、サーバ100に対して、ログインページを要求し(S31)、サーバ100はそれに基づいて、認証情報を要求するログインページを、送受信部110を介してクライアント200に送信する(S32)。このログインページは、例えば、ユーザ情報およびパスワード等の認証情報を入力させる画面等が考えられる。   First, the client 200 requests a login page from the server 100 (S31), and based on the request, the server 100 transmits a login page requesting authentication information to the client 200 via the transmission / reception unit 110 (S32). ). As this login page, for example, a screen for inputting user information and authentication information such as a password can be considered.

クライアント200は、受信したログインページに認証情報を入力し、サーバ100に送信する(S33)。これにより、クライアント200からサーバ100に対して、セッション要求として最初のページが要求される。   The client 200 inputs authentication information to the received login page and transmits it to the server 100 (S33). As a result, the first page is requested from the client 200 to the server 100 as a session request.

サーバ100は、クライアント200から受信した認証情報を、クライアント認証部151により検証する(S34)。この検証の方法については、特に限定しないが、例えば、処理を許可する認証情報(ユーザ情報、パスワード等)を予め記憶部120に格納しておくことで、格納されている情報との照合により検証を行う方法が考えられる。   The server 100 verifies the authentication information received from the client 200 by the client authentication unit 151 (S34). The verification method is not particularly limited. For example, authentication information (user information, password, etc.) that permits processing is stored in the storage unit 120 in advance, and verification is performed by checking with the stored information. A way to do this is conceivable.

検証の結果、認証された、つまりクライアント200からの認証情報が正当であると確認できた場合、サーバ100はオブジェクト生成部152により、記憶部120上に2つのオブジェクト(セッション情報オブジェクト122、データ情報オブジェクト123)を生成し、ID生成部153によりID(セッションID、データID)を生成してそれぞれのオブジェクトに付与する(S35)。また、有効期間管理情報生成部154により生成日時および更新日時をそれぞれのオブジェクトに付与する(図4(a),(b)参照)。
具体的には、オブジェクト生成部152のセッション情報生成部1521がセッション情報オブジェクト122を生成し、データ情報生成部1522がデータ情報オブジェクト123を生成する。なお、説明のため、ここで生成されるセッション情報オブジェクト122は(P1)とし、データ情報オブジェクト123は(D1)とする。
そして、セッションID生成部1531が、セッション情報オブジェクト122(P1)用にセッションIDを生成して、セッション情報オブジェクト122に付与する(「AE032」:図4(a)参照)。また、データID生成部1532が、データ情報オブジェクト123(D1)用にデータIDを生成して、データ情報オブジェクト123に付与する(「DB5847」:図4(b)参照)。なお、説明のため、セッション情報オブジェクト122(P1)に付与されたセッションIDを「ID1」とし、データ情報オブジェクト123(D1)に付与されたデータIDを「ID2」とし、図5にも示す。
データID生成部1532は、セッションIDとデータIDとを対応付けるために、データ情報オブジェクト123に、対応するセッションIDの情報を付与する(図4(b)参照)。
さらに、セッション有効期間管理情報生成部1541が、セッション情報オブジェクト122に生成日時および更新日時を付与する(図4(a)参照)。データ有効期間管理情報生成部1542は、データ情報オブジェクト123に生成日時および更新日時を付与する(図4(b)参照)。
As a result of the verification, if the server 100 is authenticated, that is, if it can be confirmed that the authentication information from the client 200 is valid, the server 100 uses the object generation unit 152 to store two objects (session information object 122, data information) on the storage unit 120. An object 123) is generated, and an ID (session ID, data ID) is generated by the ID generation unit 153 and assigned to each object (S35). Further, the valid period management information generation unit 154 gives the generation date and the update date to each object (see FIGS. 4A and 4B).
Specifically, the session information generation unit 1521 of the object generation unit 152 generates the session information object 122, and the data information generation unit 1522 generates the data information object 123. For the sake of explanation, it is assumed that the session information object 122 generated here is (P1) and the data information object 123 is (D1).
Then, the session ID generation unit 1531 generates a session ID for the session information object 122 (P1) and assigns the session ID to the session information object 122 (see “AE032”: FIG. 4A). Further, the data ID generation unit 1532 generates a data ID for the data information object 123 (D1) and assigns the data ID to the data information object 123 (see “DB5847”: FIG. 4B). For the sake of explanation, the session ID assigned to the session information object 122 (P1) is “ID1”, and the data ID assigned to the data information object 123 (D1) is “ID2”, which are also shown in FIG.
The data ID generation unit 1532 assigns the corresponding session ID information to the data information object 123 in order to associate the session ID with the data ID (see FIG. 4B).
Furthermore, the session valid period management information generation unit 1541 gives the generation date and the update date to the session information object 122 (see FIG. 4A). The data valid period management information generation unit 1542 gives the generation date and the update date to the data information object 123 (see FIG. 4B).

なお、ステップS34における検証の結果、認証されなかった場合には、サーバ100は、ステップS32の前に戻って、認証されなかったことを示すメッセージをクライアント200に送信してもよい。   As a result of the verification in step S34, if the server 100 is not authenticated, the server 100 may return to step before step S32 and transmit a message indicating that the authentication has not been performed to the client 200.

ステップS35において2つのオブジェクトを生成し、IDおよび有効期間の情報を付与したら、サーバ100は、レスポンスメッセージにセッションID(ID1)およびデータID(ID2)を付加し、送受信部110を介してクライアントに要求されたページを送信する(S36:HTML1送信)。「HTML1」は、例えば、商品選択画面等を表示するための情報である。   After generating two objects in step S35 and adding ID and valid period information, the server 100 adds a session ID (ID1) and a data ID (ID2) to the response message, and sends them to the client via the transmission / reception unit 110. The requested page is transmitted (S36: HTML1 transmission). “HTML1” is information for displaying a product selection screen, for example.

図6は、本実施形態におけるクライアントとサーバとの間で送受信する情報の例を示す図である。
図6(a)は、ステップS36で、サーバからクライアントに送信する情報を例示する図である。ここでは、レスポンスメッセージのSet-Cookieフィールドに、2つのIDが付加されている。つまり、図6(a)における符号601にはセッションID(「AE032」)が付加されており、符号602にはデータID(「DB5847」)が付加されている。この2つのIDの付加された情報が、サーバ100からクライアント200に送信される。なお、このセッションIDとデータIDは、図4の情報と対応している。
FIG. 6 is a diagram illustrating an example of information transmitted and received between the client and the server in the present embodiment.
FIG. 6A is a diagram illustrating information transmitted from the server to the client in step S36. Here, two IDs are added to the Set-Cookie field of the response message. That is, the session ID (“AE032”) is added to the reference numeral 601 in FIG. 6A, and the data ID (“DB5847”) is added to the reference numeral 602. Information to which these two IDs are added is transmitted from the server 100 to the client 200. The session ID and data ID correspond to the information in FIG.

なお、ステップS35の、有効期間管理情報生成部154が各オブジェクトに生成日時および更新日時(有効期間を管理する情報)を付与する処理は、ステップS36の送信処理の後に行ってもよい。   Note that the process in which the valid period management information generating unit 154 assigns the generation date and the update date and time (information for managing the valid period) to each object in step S35 may be performed after the transmission process in step S36.

図5に戻って、ステップS37で、クライアント200は、サーバ100から送信されたレスポンスメッセージに含まれる「HTML1」をブラウザ上で画面表示する。そして、クライアント200は、表示された画面上のフォームに必要なデータ(例えば購入したい商品のコード等)を入力し、サーバ100に送信することで、次のページを要求する(S37)。   Returning to FIG. 5, in step S <b> 37, the client 200 displays “HTML1” included in the response message transmitted from the server 100 on the screen. Then, the client 200 requests the next page by inputting necessary data (for example, a code of a product to be purchased) in the form on the displayed screen and transmitting it to the server 100 (S37).

図6(b)は、図5のステップS37で、クライアントからサーバに送信する情報を例示する図である。
図6(b)によれば、クライアント200からサーバ100に送信するリクエストメッセージのCookieフィールドに、符号603でセッションID、符号604でデータIDが付加される。これらのIDは、ステップS36において、サーバ100から受信したレスポンスメッセージに含まれていたセッションID(「AE032」:図6(a)符号601参照)と、データID(「DB5847」:図6(a)符号602参照)と同じものが付加されている。
また、符号605に示すメッセージデータ部に、クライアント200が選択したデータ(例えば、商品コード「book_001」)が付加されている。
FIG. 6B is a diagram illustrating information transmitted from the client to the server in step S37 of FIG.
According to FIG. 6B, a session ID is added at 603 and a data ID is added at 604 in the Cookie field of the request message transmitted from the client 200 to the server 100. In step S36, these IDs include the session ID (“AE032”: see reference numeral 601 in FIG. 6A) included in the response message received from the server 100 and the data ID (“DB5847”: FIG. 6A). ) (See reference numeral 602).
Further, the data selected by the client 200 (for example, the product code “book_001”) is added to the message data portion indicated by reference numeral 605.

図5に戻って、サーバ100は、クライアント200からページ要求に相当する情報を受信したら、クライアント200から送信された情報に含まれる2つのID(ID1,ID2)と、自身の記憶部120内のオブジェクトに格納されているIDとを、クライアント識別部155により照合し、オブジェクトを取得する。さらに、取得したオブジェクトの更新日時を、オブジェクトがサーバ100に取得された時刻に、クライアント識別部155が更新する。
詳しく説明すると、クライアント識別部155は、クライアント200から送信されたID1(セッションID)およびID2(データID)に基づいて、記憶部120(メモリ)内のセッション情報オブジェクト122およびデータ情報オブジェクト123に格納されているそれぞれのIDと一致するオブジェクトを検索して照合する。そして、一致するオブジェクトが存在した場合には、当該オブジェクトを取得する。これにより、クライアント200がサーバに100に識別される。検索の結果、クライアント200から受信した2つのID(ID1,ID2)に対応するオブジェクトが共に有効(即ち、サーバがセッション情報オブジェクト122およびデータ情報オブジェクト123を取得可能)であった場合には、クライアント識別部155が、当該のセッション情報オブジェクト122およびデータ情報オブジェクト123内の更新日時を更新する(S38:ID照合、オブジェクト取得、更新)。
Returning to FIG. 5, when the server 100 receives the information corresponding to the page request from the client 200, the server 100 stores two IDs (ID 1 and ID 2) included in the information transmitted from the client 200, and its own storage unit 120. The ID stored in the object is collated by the client identification unit 155 to acquire the object. Further, the client identification unit 155 updates the update date and time of the acquired object at the time when the object is acquired by the server 100.
More specifically, the client identification unit 155 stores the session information object 122 and the data information object 123 in the storage unit 120 (memory) based on ID1 (session ID) and ID2 (data ID) transmitted from the client 200. The object that matches each ID that has been searched is searched and collated. If a matching object exists, the object is acquired. Thereby, the client 200 is identified as 100 by the server. As a result of the search, if both objects corresponding to the two IDs (ID1, ID2) received from the client 200 are valid (that is, the server can acquire the session information object 122 and the data information object 123), the client The identification unit 155 updates the update date and time in the session information object 122 and the data information object 123 (S38: ID collation, object acquisition, update).

そして、サーバ100は、データ格納部156により、データ情報オブジェクト123にデータ(商品コード「book_001」)を格納する(S39)。図4(b)の1行目のオブジェクトには、クライアント200からサーバ100へ送信されたデータ「book_001」(図6(b)の符号605)が、データとして保持されている。   Then, the server 100 stores the data (product code “book_001”) in the data information object 123 by the data storage unit 156 (S39). In the object in the first row in FIG. 4B, data “book_001” (reference numeral 605 in FIG. 6B) transmitted from the client 200 to the server 100 is held as data.

その後、サーバ100は、次ページとなる「HTML2」を生成し、クライアント200に送受信部110を介して送信する(S40:HTML2送信)。「HTML2」は例えば、購入予定の商品一覧を示し、数量変更や商品確定を行うページである。このとき送信するレスポンスメッセージには、ステップS36と同様に、セッションID(「AE032」)およびデータID(「DB5847」)が付加される。   Thereafter, the server 100 generates “HTML2” as the next page and transmits it to the client 200 via the transmission / reception unit 110 (S40: HTML2 transmission). “HTML2” is, for example, a page for displaying a list of products scheduled to be purchased and for changing the quantity or confirming the product. In the response message transmitted at this time, the session ID (“AE032”) and the data ID (“DB5847”) are added as in step S36.

クライアント200は、サーバ100から送信された「HTML2」をブラウザ上で画面表示し、情報入力を促す(S41)。
クライアント200は、表示された画面上のフォーム(例えば、数量)の入力途中で、移動等によって2分間処理を中断する。
The client 200 displays “HTML2” transmitted from the server 100 on a browser screen, and prompts for information input (S41).
The client 200 interrupts the process for 2 minutes due to movement or the like while inputting the form (for example, quantity) on the displayed screen.

サーバ100のオブジェクト管理部157は、2種類のオブジェクト(セッション情報オブジェクト122、データ情報オブジェクト123)がそれぞれ記憶部120(メモリ)上で有効であるかどうかを、オブジェクトに付与された更新日時と、有効期間情報121に格納されている情報とに基づいて定期的に(セッション情報オブジェクト122は1分、データ情報オブジェクト123は10分)検証し、有効期間を超過したオブジェクトを無効化する。
本実施形態では、セッションの有効期間を1分と設定しているため、サーバ100は、セッション情報オブジェクト122について、クライアント200からの最後のページ要求による更新から1分間、更新日時の更新が無かった場合には、オブジェクト管理部157のセッション情報管理部1571により、当該オブジェクトを無効化する。ここでは、セッション情報オブジェクト122(P1)を無効化する。それにより、セッションタイムアウトとなり、サーバ100は無効化したオブジェクトの情報を取得できなくなる。
The object management unit 157 of the server 100 determines whether two types of objects (session information object 122 and data information object 123) are valid on the storage unit 120 (memory), respectively, and the update date and time given to the object, Based on the information stored in the validity period information 121, the verification is performed periodically (1 minute for the session information object 122 and 10 minutes for the data information object 123), and the object whose validity period is exceeded is invalidated.
In this embodiment, since the session valid period is set to 1 minute, the server 100 has not updated the update date and time for 1 minute from the update by the last page request from the client 200 for the session information object 122. In this case, the session information management unit 1571 of the object management unit 157 invalidates the object. Here, the session information object 122 (P1) is invalidated. As a result, a session timeout occurs, and the server 100 cannot acquire information on the invalidated object.

図7は、図4に例示した情報の、セッション情報オブジェクト122(P1)の有効期間終了に伴うセッションタイムアウト時の状態を模式的に示す図である。図7(a)はセッション情報オブジェクトの集合を表形式で示した図であり、図7(b)はデータ情報オブジェクトの集合を表形式で示した図である。
図7(a)によれば、セッションID「AE032」のオブジェクトが、有効期間終了に伴い無効化されたため、削除されている。なお、図7(b)では、データ情報オブジェクト123(D1)は有効期間内のため、無効化されていない。
FIG. 7 is a diagram schematically illustrating a state at the time of session timeout accompanying the expiration of the valid period of the session information object 122 (P1) of the information illustrated in FIG. FIG. 7A is a diagram showing a set of session information objects in a table format, and FIG. 7B is a diagram showing a set of data information objects in a table format.
According to FIG. 7A, the object with the session ID “AE032” has been deleted because it has been invalidated at the end of the validity period. In FIG. 7B, the data information object 123 (D1) is not invalidated because it is within the valid period.

図5に戻って、クライアント200Aは、移動等の後、2分後にフォームへのデータ入力を完了して、入力したデータを含む、次のページ要求をサーバ100に送信する(S42)。なお、このとき、クライアント200Aは、ステップS37と同様に、2つのID(ID1,ID2)も付加して送信する。   Returning to FIG. 5, the client 200 </ b> A completes the data input to the form two minutes after the movement or the like, and transmits the next page request including the input data to the server 100 (S <b> 42). At this time, the client 200A also adds two IDs (ID1, ID2) and transmits the same as in step S37.

サーバ100は、クライアント200からページ要求を受信したら、クライアント200Aから送信された情報に含まれる2つのID(ID1,ID2)と、自身の記憶部120内のオブジェクトに付与されているIDとを、クライアント識別部155により照合する。
サーバ100では、有効期間終了に伴い、既にセッションはタイムアウトし、セッション情報オブジェクト122(P1)は無効化されている。そのため、まず、サーバ100は、クライアント200Aから受信したID1に対応するセッション情報オブジェクト122が取得できないことを判別する。そして、クライアント200Aから受信したID2に対応するデータIDを含むデータ情報オブジェクト123を検索し、このデータIDに対応するセッションIDと、クライアント200Aから受信したID1との照合により、データ情報オブジェクト123(D1)を取得し、クライアント200Aを識別する。
これによって、受信したID2に対応するデータ情報オブジェクト123(D1)は有効、ID1に対応するセッション情報オブジェクト122(P1)は無効(有効期間超過)ということが分かる。サーバ100のクライアント識別部155は、有効であるデータ情報オブジェクト123(D1)の更新日時を更新する(S43:ID照合、オブジェクト取得、更新)。
When the server 100 receives the page request from the client 200, the server 100 uses the two IDs (ID1, ID2) included in the information transmitted from the client 200A and the ID assigned to the object in the storage unit 120 of itself. The client identification unit 155 performs collation.
In the server 100, with the expiration of the valid period, the session has already timed out, and the session information object 122 (P1) has been invalidated. Therefore, first, the server 100 determines that the session information object 122 corresponding to ID1 received from the client 200A cannot be acquired. Then, the data information object 123 including the data ID corresponding to ID2 received from the client 200A is searched, and the data information object 123 (D1) is checked by matching the session ID corresponding to this data ID with ID1 received from the client 200A. ) To identify the client 200A.
Accordingly, it can be seen that the data information object 123 (D1) corresponding to the received ID2 is valid, and the session information object 122 (P1) corresponding to ID1 is invalid (exceeding the valid period). The client identification unit 155 of the server 100 updates the update date and time of the valid data information object 123 (D1) (S43: ID verification, object acquisition, update).

サーバ100は、オブジェクト生成部152により、記憶部120上に新たなセッションの情報を管理するオブジェクトを生成し、ID生成部153によりセッションIDを付与する(S44)。具体的には、オブジェクト生成部152のセッション情報生成部1521がセッション情報オブジェクト122(P2)を生成する。そして、ID生成部153のセッションID生成部1531が、新たに生成されたセッション情報オブジェクト122(P2)用にセッションID(ID1´)を生成して、セッション情報オブジェクト122(P2)に付与する。これにより、サーバ100は、今後のクライアント200Aのセッション識別用に、新たに生成されたセッションID(ID1´)を使用する。また、サーバ100は、有効期間管理情報生成部154によって、生成日時と更新日時をセッション情報オブジェクト122(P2)に付与する。   The server 100 generates an object for managing new session information on the storage unit 120 using the object generation unit 152, and assigns a session ID using the ID generation unit 153 (S44). Specifically, the session information generation unit 1521 of the object generation unit 152 generates a session information object 122 (P2). Then, the session ID generation unit 1531 of the ID generation unit 153 generates a session ID (ID1 ′) for the newly generated session information object 122 (P2) and assigns it to the session information object 122 (P2). Accordingly, the server 100 uses the newly generated session ID (ID1 ′) for future session identification of the client 200A. Further, the server 100 assigns the generation date / time and the update date / time to the session information object 122 (P2) by the effective period management information generation unit 154.

サーバ100のクライアント識別部155は、クライアント200Aから送信されてきた情報に含まれるデータ(例えば、数量)を、データ情報オブジェクト123(D1)のデータ内に、データ格納部156によって格納する(S45)。   The client identification unit 155 of the server 100 stores the data (for example, quantity) included in the information transmitted from the client 200A in the data of the data information object 123 (D1) by the data storage unit 156 (S45). .

そして、サーバ100のクライアント識別部155は、データ情報オブジェクト123(D1)に格納されているセッションIDを、ステップS44で新たに生成したセッションIDに変更する(S46)。なお、ステップS45およびS46の処理は順序逆に行ってもよい。   Then, the client identification unit 155 of the server 100 changes the session ID stored in the data information object 123 (D1) to the session ID newly generated in step S44 (S46). Note that the processing of steps S45 and S46 may be performed in the reverse order.

図8は、図4に例示した情報の、セッション終了時の状態を示す図である。図8(a)は、セッション情報オブジェクトの集合を表形式で示した図である。図8(b)は、データ情報オブジェクトの集合を表形式で示した図である。
図8(a)によれば、セッション情報オブジェクト122(P1)の有効期間終了後にクライアント200からページ要求を受信したことにより、新たにセッション情報オブジェクト122(P2)が生成されたことを示している。
図8(b)によれば、当該のデータ情報オブジェクト123(D1)のセッションIDが、新しく生成された「ZY999」に変更されている。また、符号801で示すように、ステップS45で格納された数量のデータが「book_001」の後に「3」として格納されている。
FIG. 8 is a diagram illustrating the state of the information illustrated in FIG. 4 at the end of the session. FIG. 8A is a diagram showing a set of session information objects in a table format. FIG. 8B is a diagram showing a set of data information objects in a table format.
FIG. 8A shows that a new session information object 122 (P2) is generated by receiving a page request from the client 200 after the validity period of the session information object 122 (P1) ends. .
According to FIG. 8B, the session ID of the data information object 123 (D1) is changed to the newly generated “ZY999”. Further, as indicated by reference numeral 801, the quantity data stored in step S45 is stored as “3” after “book_001”.

図5に戻って、サーバ100は、次のページである「HTML3」を、送受信部110を介してクライアント200Aに送信する(S47:HTML3送信)。「HTML3」は、例えば、購入商品、数量、金額等を表示し、決済を行うページである。このとき送信するレスポンスメッセージには、新たに生成されたセッション情報オブジェクト122(P2)のセッションID(「ZY999」)と、それに対応するデータ情報オブジェクト123(D1)のデータID(「DB5847」)が付加される。   Returning to FIG. 5, the server 100 transmits “HTML3” as the next page to the client 200 </ b> A via the transmission / reception unit 110 (S <b> 47: HTML3 transmission). “HTML3” is a page on which, for example, purchased products, quantities, amounts, etc. are displayed and settlement is made. The response message transmitted at this time includes the session ID (“ZY999”) of the newly generated session information object 122 (P2) and the data ID (“DB5847”) of the corresponding data information object 123 (D1). Added.

図6(c)は、ステップS47で、サーバからクライアントに送信する情報(「HTML3」)の例を示す図である。
図6(c)によれば、サーバ100からクライアント200Aに送信するレスポンスメッセージ内の、Set-Cookieフィールドに付加される情報は、図6(a)と比較して符号606に、新しく生成されたセッションID(「ZY999」)が付加されている。換言すると、図6(a)では「AE032」と付加されていたセッションIDが、図6(c)では「ZY999」に変更されて付加されている。
FIG. 6C is a diagram illustrating an example of information (“HTML3”) transmitted from the server to the client in step S47.
According to FIG. 6C, the information added to the Set-Cookie field in the response message transmitted from the server 100 to the client 200A is newly generated at reference numeral 606 as compared with FIG. A session ID (“ZY999”) is added. In other words, the session ID added as “AE032” in FIG. 6A is changed to “ZY999” in FIG. 6C and added.

クライアント200Aは、サーバ100から送信された「HTML3」をブラウザ上で画面表示する(S48)。以降の処理は、ステップS37またはステップS41の処理と同様のため、説明を省略する。   The client 200A displays “HTML3” transmitted from the server 100 on the browser screen (S48). Since the subsequent processing is the same as the processing in step S37 or step S41, the description thereof is omitted.

本実施形態では、データ情報オブジェクト123は、有効期間を10分と設定しているため、最後のページ要求による更新から10分間更新が無かった場合、サーバ100は、オブジェクト管理部157のデータ情報管理部1572により、データ情報オブジェクト123(D1)を無効にする。   In the present embodiment, since the data information object 123 has a valid period of 10 minutes, if there is no update for 10 minutes since the update by the last page request, the server 100 performs the data information management of the object management unit 157. The unit 1572 invalidates the data information object 123 (D1).

データ情報オブジェクト123(D1)が無効となった後に、クライアント200Aからページ要求を受信した場合、つまり、ステップS48におけるページ要求が、前回の更新から10分を超過した後に行われた場合には、受信したデータID(ID2)と一致する有効なデータ情報オブジェクト123は取得できない。また、受信したデータIDが不正なものである可能性も考えられる。そのため、データ情報オブジェクト123が無効、またはデータIDが不一致の場合には、サーバ100は、初回ページ要求(S32,S34〜S36)と同じ動作を行うことが望ましい。   When the page request is received from the client 200A after the data information object 123 (D1) becomes invalid, that is, when the page request in step S48 is made after exceeding 10 minutes from the previous update, A valid data information object 123 that matches the received data ID (ID2) cannot be acquired. There is also a possibility that the received data ID is invalid. Therefore, when the data information object 123 is invalid or the data IDs do not match, the server 100 desirably performs the same operation as the initial page request (S32, S34 to S36).

以上説明した本実施形態によれば、セッションを管理するオブジェクトと、データを管理するオブジェクトとの2つのオブジェクトを用いる。そして、セッションの有効期間を短くし、データの保持期間をWebアプリケーションの利便性維持に必要な最低限の時間として設定することで、セッションタイムアウト後に、クライアント200がサーバ100にページ要求を送信しても、ページ要求がデータ保持期間内であれば、保持されているデータを用いてクライアント200はページ要求処理を継続することができる。これにより、クライアント200に対するWebアプリケーションの利便性を向上することができる。   According to the present embodiment described above, two objects, an object for managing a session and an object for managing data, are used. Then, by shortening the session validity period and setting the data retention period as the minimum time necessary for maintaining the convenience of the Web application, the client 200 sends a page request to the server 100 after the session time-out. However, if the page request is within the data holding period, the client 200 can continue the page request processing using the held data. Thereby, the convenience of the Web application for the client 200 can be improved.

また、セッションおよびデータの処理に伴うメモリリソースについても、それぞれ一定時間経過したことによって無効化される。ここで、無効化として当該オブジェクトを削除すると、メモリリソースの負荷が低減され、効率的な利用が可能となる。   Further, memory resources associated with session and data processing are also invalidated after a certain period of time. Here, if the object is deleted as invalidation, the load of the memory resource is reduced and efficient use is possible.

(第2実施形態)
図9は、第2実施形態におけるクライアントとサーバとの間で送受信する情報と、それぞれの処理の流れとを示すシーケンス図である。第2実施形態は、第1実施形態と比較して、ステップS43とS44との間に、認証処理が追加されたところ(図9の二重線囲み部分)が異なる。
図9に沿って、適宜図1〜図8を参照しながら説明する。なお、図9では、ステップS43までの処理は、第1実施形態と同様のため、重複図示および説明を適宜省略する。
(Second Embodiment)
FIG. 9 is a sequence diagram showing information transmitted and received between the client and the server and the flow of each process in the second embodiment. The second embodiment is different from the first embodiment in that an authentication process is added between steps S43 and S44 (the double line encircled portion in FIG. 9).
9 will be described with reference to FIGS. 1 to 8 as appropriate. In FIG. 9, the processing up to step S43 is the same as that in the first embodiment, and thus repeated illustration and description are omitted as appropriate.

ステップS43で、サーバ100は、クライアント200Aから送信されてきた情報を受信したら、クライアント200Aから送信された情報に含まれる2つのID(ID1,ID2)と、自身の記憶部120内のオブジェクトに付与されているIDとを、クライアント識別部155により照合する。
第1実施形態で説明したとおり、ここでは、受信したID1に対応するセッション情報オブジェクト122(P1)は無効化されており、ID2に対応するデータ情報オブジェクト123(D1)は有効であることが分かる。サーバ100は、有効であったデータ情報オブジェクト123(D1)を取得してクライアントを識別し、更新日時を更新する。
In step S43, when the server 100 receives the information transmitted from the client 200A, the server 100 assigns the two IDs (ID1, ID2) included in the information transmitted from the client 200A and the object in its own storage unit 120. The client identification unit 155 checks the ID that has been set.
As described in the first embodiment, it can be understood that the session information object 122 (P1) corresponding to the received ID1 is invalidated and the data information object 123 (D1) corresponding to ID2 is valid here. . The server 100 acquires the valid data information object 123 (D1), identifies the client, and updates the update date and time.

続いて、サーバ100は、クライアント200Aに対して再度認証情報の送信を要求するために、ログインページを送信する(S431)。
クライアント200Aは、受信したログインページに認証情報を入力し、サーバ100に送信する(S432)。これにより、クライアント200からサーバ100に対して、次のページが要求される。
Subsequently, the server 100 transmits a login page to request the client 200A to transmit authentication information again (S431).
The client 200A inputs authentication information to the received login page and transmits it to the server 100 (S432). As a result, the next page is requested from the client 200 to the server 100.

サーバ100は、クライアント200Aから受信した認証情報を、クライアント認証部151により検証する(S433)。
検証の結果、認証された、つまりクライアント200Aからの認証情報が正当であると確認できた場合、サーバ100は、ステップS44で、記憶部120上に、新たなセッションの有効期間を管理するセッション情報オブジェクト122(P2)をオブジェクト生成部152により生成する。以降の処理は、第1実施形態と同様である。
The server 100 verifies the authentication information received from the client 200A by the client authentication unit 151 (S433).
As a result of the verification, if the server 100 is authenticated, that is, if the authentication information from the client 200A is confirmed to be valid, the server 100 stores session information for managing the validity period of a new session on the storage unit 120 in step S44. The object 122 (P2) is generated by the object generation unit 152. The subsequent processing is the same as in the first embodiment.

なお、ステップS433における検証の結果、認証されなかった場合、ステップS431の前に戻って、認証されなかったことを示すメッセージをクライアント200Aに送信してもよい。   As a result of the verification in step S433, if the authentication is not successful, the process may return to step S431 and a message indicating that the authentication was not successful may be transmitted to the client 200A.

サーバ100におけるステップS431,S433の処理は、第1実施形態のステップS32,S34と同様の処理であり、クライアント200AにおけるステップS432の処理は、第1実施形態のステップS33と同様の処理である。   The processing of steps S431 and S433 in the server 100 is the same processing as steps S32 and S34 of the first embodiment, and the processing of step S432 in the client 200A is the same processing as step S33 of the first embodiment.

以上説明した第2実施形態によれば、セッションタイムアウト後に、クライアント200Aからページ要求がサーバ100に対して送信されてきた場合に、サーバ100がクライアント200Aの認証を行うことで、クライアント200Aの正当性を確認する。そして、クライアント200Aが認証された場合に、サーバ100は、新しいセッションの有効期間を管理するオブジェクト(セッション情報オブジェクト122)を生成する。
これにより、クライアント200とサーバ100との間で送受信される情報が盗聴された場合でも、セッションハイジャック等のセキュリティリスクを低減し、第1実施形態と比較してセキュリティ性を向上させることができる。なお、この第2実施形態によれば、ステップS431〜S433(図9参照)の処理は必要となるが、サーバ100においてステップS39,S45で格納したデータは無駄になることはない。つまり、セッション有効期間終了後であってもデータ有効期間内であれば、ステップS37およびS41,S42(図5参照)で入力されサーバ100に送信されたデータを、クライアント200Aが改めて入力し送信しなおす手間は不要となるので、クライアント200Aはサーバ100に送信したデータを引き続き利用することができ、利便性が向上する。
According to the second embodiment described above, when a page request is transmitted from the client 200A to the server 100 after the session time-out, the server 100 authenticates the client 200A, whereby the validity of the client 200A is verified. Confirm. Then, when the client 200A is authenticated, the server 100 generates an object (session information object 122) that manages the validity period of the new session.
Thereby, even when information transmitted / received between the client 200 and the server 100 is eavesdropped, security risks such as session hijacking can be reduced, and security can be improved compared to the first embodiment. . According to the second embodiment, the processing in steps S431 to S433 (see FIG. 9) is necessary, but the data stored in steps S39 and S45 in the server 100 is not wasted. That is, even after the session valid period ends, if it is within the data valid period, the client 200A newly inputs and transmits the data input in steps S37, S41, and S42 (see FIG. 5) and transmitted to the server 100. Since no additional work is required, the client 200A can continue to use the data transmitted to the server 100, and convenience is improved.

なお、サーバ100は、前記したステップS32,S34〜S36,S38〜S40,S43〜S47,S431,S433を、一般的なコンピュータに実行させるセッション管理プログラムを実行することでも実現できる。このプログラムは、通信回線を介して配布することも可能であるし、CD−ROMや半導体チップ等の記録媒体に書き込んで配布することも可能である。プログラムのインストールに関しても、通信装置を介してネットワーク経由でプログラムをダウンロードしてインストールすることでもよい。   The server 100 can also be realized by executing a session management program that causes a general computer to execute the above-described steps S32, S34 to S36, S38 to S40, S43 to S47, S431, and S433. This program can be distributed via a communication line, or can be written and distributed on a recording medium such as a CD-ROM or a semiconductor chip. As for the program installation, the program may be downloaded and installed via a network via a communication device.

以上、本発明の好適な実施形態について一例を示したが、本発明は前記実施形態に限定されない。
例えば、本実施形態では、サーバにおいて、各オブジェクトの有効期間を有効期間情報として予め設定しておき、設定されたそれぞれの有効期間に基づいて、オブジェクト管理部がセッション情報オブジェクトおよびデータ情報オブジェクトの更新日時を検証することとしたが、これに限らず、セッション情報オブジェクトおよびデータ情報オブジェクトに有効期間を示す情報を備え、クライアントからのページ要求のたびに有効期間を更新することで、有効期間を超過したオブジェクトを無効化してもよい。
また、サーバとクライアントとの間で送受信するID(識別子)に、有効期間を示す情報を含ませる方法をとることも考えられる。その場合、サーバは、クライアントから送信されてきたIDに含まれる有効期間を示す情報を用いて、当該オブジェクトが有効期間内か否かを判別してもよい。
As mentioned above, although an example was shown about suitable embodiment of the present invention, the present invention is not limited to the above-mentioned embodiment.
For example, in this embodiment, in the server, the valid period of each object is set in advance as valid period information, and the object management unit updates the session information object and the data information object based on the set valid period. The date and time was verified, but not limited to this, the session information object and data information object are provided with information indicating the validity period, and the validity period is exceeded by updating the validity period for each page request from the client. You may invalidate the selected object.
It is also conceivable to adopt a method of including information indicating the validity period in an ID (identifier) transmitted and received between the server and the client. In this case, the server may determine whether or not the object is within the valid period using information indicating the valid period included in the ID transmitted from the client.

本実施形態では、サーバは各オブジェクトの有効期間終了に伴う無効化の際は当該オブジェクトを削除することとして説明したが、これに限らず、セッション情報オブジェクトの無効化は、削除せずに、サーバが取得できない状態としておいてもよい。そして、データ情報オブジェクトを用いてIDが照合された場合には、セッション情報オブジェクトを、取得できない状態から更新し、IDも更新する等して、当該セッションを利用可能とすることとしてもよい。その他、例えばサーバを複数備える構成としてもよく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。   In the present embodiment, the server has been described as deleting the object upon invalidation at the end of the validity period of each object. However, the present invention is not limited to this, and invalidation of the session information object is not performed without deleting the object. May not be acquired. And when ID is collated using a data information object, it is good also as making a session information object usable by updating a session information object from the state which cannot be acquired, and updating ID. In addition, it is good also as a structure provided with two or more servers, for example, and can change suitably in the range which does not deviate from the meaning of this invention.

本発明の実施形態におけるハードウェアおよびネットワークの構成例を示す図である。It is a figure which shows the structural example of the hardware and network in embodiment of this invention. 図1におけるサーバの機能を示すブロック図である。It is a block diagram which shows the function of the server in FIG. 有効期間情報に格納される情報の例を示す図である。It is a figure which shows the example of the information stored in effective period information. オブジェクトを模式的に示す図である。図4(a)は、メモリ上有効なセッション情報オブジェクトの集合を表形式で示した図である。図4(b)は、メモリ上有効なデータ情報オブジェクトの集合を表形式で示した図である。It is a figure which shows an object typically. FIG. 4A is a diagram showing a set of session information objects effective in memory in a table format. FIG. 4B is a diagram showing a set of data information objects effective in memory in a table format. 本実施形態におけるクライアントとサーバとの間で送受信する情報と、それぞれの処理の流れとを示すシーケンス図である。It is a sequence diagram which shows the information transmitted / received between the client and server in this embodiment, and the flow of each process. 本実施形態におけるクライアントとサーバとの間で送受信する情報の例を示す図である。図6(a)は、サーバからクライアントに送信する情報である。図6(b)は、クライアントからサーバに送信する情報である。図6(c)は、サーバからクライアントに送信する情報である。It is a figure which shows the example of the information transmitted / received between the client and server in this embodiment. FIG. 6A shows information transmitted from the server to the client. FIG. 6B shows information transmitted from the client to the server. FIG. 6C shows information transmitted from the server to the client. 図4に例示した情報の、セッション情報オブジェクトの有効期間終了に伴うセッションタイムアウト時の状態を模式的に示す図である。図7(a)は、セッション情報オブジェクトの集合を表形式で示した図である。図7(b)は、データ情報オブジェクトの集合を表形式で示した図である。FIG. 5 is a diagram schematically illustrating a state at the time of session timeout accompanying the expiration of the valid period of the session information object in the information illustrated in FIG. 4. FIG. 7A is a diagram showing a set of session information objects in a table format. FIG. 7B is a diagram showing a set of data information objects in a table format. 図4に例示した情報の、セッション終了時の状態を示す図である。図8(a)は、セッション情報オブジェクトの集合を表形式で示した図である。図8(b)は、データ情報オブジェクトの集合を表形式で示した図である。FIG. 5 is a diagram illustrating a state at the end of a session of the information illustrated in FIG. 4. FIG. 8A is a diagram showing a set of session information objects in a table format. FIG. 8B is a diagram showing a set of data information objects in a table format. 第2実施形態のクライアントとサーバとの間で送受信する情報と、それぞれの処理の流れとを示すシーケンス図である。It is a sequence diagram which shows the information transmitted / received between the client and server of 2nd Embodiment, and the flow of each process. 従来のWebアプリケーションにおけるセッション管理の処理の流れを示すシーケンス図である。It is a sequence diagram which shows the flow of a session management process in the conventional web application.

符号の説明Explanation of symbols

100 サーバ
110 送受信部
120 記憶部(記憶手段)
121 有効期間情報
122 セッション情報オブジェクト(第一の情報)
123 データ情報オブジェクト(第二の情報)
150 制御部
151 クライアント認証部
152 オブジェクト生成部(情報生成部)
1521 セッション情報生成部
1522 データ情報生成部
153 ID生成部(識別子生成部)
1531 セッションID生成部
1532 データID生成部
154 有効期間管理情報生成部
1541 セッション有効期間管理情報生成部
1542 データ有効期間管理情報生成部
155 クライアント識別部
156 データ格納部
157 オブジェクト管理部(情報管理部)
1571 セッション情報管理部
1572 データ情報管理部
200,200A クライアント
300 ネットワーク
100 server 110 transmission / reception unit 120 storage unit (storage unit)
121 Valid period information 122 Session information object (first information)
123 Data information object (second information)
150 Control Unit 151 Client Authentication Unit 152 Object Generation Unit (Information Generation Unit)
1521 Session information generation unit 1522 Data information generation unit 153 ID generation unit (identifier generation unit)
1531 Session ID generation unit 1532 Data ID generation unit 154 Effective period management information generation unit 1541 Session effective period management information generation unit 1542 Data effective period management information generation unit 155 Client identification unit 156 Data storage unit 157 Object management unit (information management unit)
1571 Session information management unit 1572 Data information management unit 200, 200A Client 300 Network

Claims (6)

サーバとクライアントとが通信して実行されるアプリケーションにおいて、前記サーバが、前記クライアントとのセッションを管理するセッション管理方法であって、
前記サーバは、
前記クライアントから受信したセッション要求に基づいて、当該クライアントとのセッションの情報を管理する第一の情報、および当該クライアントから受信したデータを管理する第二の情報を所定の記憶手段に生成し、
前記第一の情報には、当該第一の情報を一意に識別する第一の識別子を付与し、前記第二の情報には、当該第二の情報を一意に識別する第二の識別子、および当該第二の情報に対応する前記第一の情報の前記第一の識別子を付与し、
前記付与した前記第一の識別子および前記第二の識別子を、前記セッション要求のあったクライアントへ送信し、
前記第一の情報および前記第二の情報に対して、それぞれ有効期間を管理する情報を付与し、
前記第一の情報および前記第二の情報に含まれる有効期間を管理する情報を所定の間隔で検証して、有効期間外となった前記第一の情報または前記第二の情報を前記記憶手段から取得不可能にすることで当該第一の情報または当該第二の情報を無効とし、
前記クライアントから受信した情報に含まれる前記第一の識別子および前記第二の識別子に基づいて、前記記憶手段を参照して照合し、それぞれの識別子に対応する有効な前記第二の情報を少なくとも取得することで、前記クライアントを識別し、
前記受信した第一の識別子に対応する第一の情報が無効、かつ前記受信した第二の識別子に対応する第二の情報が有効であった場合に、前記第一の情報を新たに生成または更新し、
前記新たに生成または更新した第一の情報に対応する第一の識別子を新たに生成または更新して前記第一の情報に付与し、
前記新たに生成または更新した第一の情報に有効期間を管理する情報を付与し、
前記新たに生成または更新した第一の識別子を、対応する前記第二の識別子と共に、前記クライアントに送信する
ことを特徴とするセッション管理方法。
In an application executed by communication between a server and a client, the server is a session management method for managing a session with the client,
The server
Based on the session request received from the client, first information for managing information on the session with the client, and second information for managing data received from the client are generated in a predetermined storage unit,
The first information is given a first identifier that uniquely identifies the first information, the second information is a second identifier that uniquely identifies the second information, and Giving the first identifier of the first information corresponding to the second information,
Sending the assigned first and second identifiers to the client that requested the session;
For each of the first information and the second information, information for managing the validity period is given,
Information for managing an effective period included in the first information and the second information is verified at a predetermined interval, and the storage unit stores the first information or the second information outside the effective period. Disabling the first information or the second information by making it impossible to obtain from
Based on the first identifier and the second identifier included in the information received from the client, referring to the storage means, and at least obtaining valid second information corresponding to each identifier To identify the client,
When the first information corresponding to the received first identifier is invalid and the second information corresponding to the received second identifier is valid, the first information is newly generated or Updated,
A first identifier corresponding to the newly generated or updated first information is newly generated or updated and given to the first information;
Giving information for managing the validity period to the newly generated or updated first information,
The session management method characterized by transmitting the newly generated or updated first identifier together with the corresponding second identifier to the client.
前記サーバは、
前記受信した第一の識別子に対応する第一の情報が無効、かつ前記受信した第二の識別子に対応する第二の情報が有効であった場合に、前記クライアントに対して認証を行い、
前記認証が成功した場合に、前記第一の情報を新たに生成または更新し、
前記新たに生成または更新した第一の情報に対応する第一の識別子を新たに生成または更新して前記第一の情報に付与し、
前記新たに生成または更新した第一の情報に有効期間を管理する情報を付与し、
前記新たに生成または更新した第一の識別子を、対応する前記第二の識別子と共に、前記クライアントに送信する
ことを特徴とする請求項1に記載のセッション管理方法。
The server
If the first information corresponding to the received first identifier is invalid and the second information corresponding to the received second identifier is valid, the client is authenticated,
When the authentication is successful, the first information is newly generated or updated,
A first identifier corresponding to the newly generated or updated first information is newly generated or updated and given to the first information;
Giving information for managing the validity period to the newly generated or updated first information,
The session management method according to claim 1, wherein the newly generated or updated first identifier is transmitted to the client together with the corresponding second identifier.
サーバとクライアントとが通信して実行されるアプリケーションにおいて、前記クライアントとのセッションを管理する前記サーバであって、
前記クライアントから受信したセッション要求に基づいて、当該クライアントとのセッションの情報を管理する第一の情報、および当該クライアントから受信したデータを管理する第二の情報を所定の記憶手段に生成する情報生成部と、
前記第一の情報には、当該第一の情報を一意に識別する第一の識別子を付与し、前記第二の情報には、当該第二の情報を一意に識別する第二の識別子、および当該第二の情報に対応する前記第一の情報の前記第一の識別子を付与する識別子生成部と、
前記第一の情報および前記第二の情報に対して、それぞれ有効期間を管理する情報を付与する有効期間管理情報生成部と、
前記付与した前記第一の識別子および前記第二の識別子を、前記セッション要求のあったクライアントへ送信する送受信部と、
前記第一の情報および前記第二の情報に含まれる有効期間を管理する情報を所定の間隔で検証して、有効期間外となった前記第一の情報または前記第二の情報を前記記憶手段から取得不可能にすることで当該第一の情報または当該第二の情報を無効とする情報管理部と、
前記クライアントから受信した情報に含まれる前記第一の識別子および前記第二の識別子に基づいて、前記記憶手段を参照して照合し、それぞれの識別子に対応する有効な前記第二の情報を少なくとも取得することで、前記クライアントを識別するクライアント識別部とを有し、
前記受信した第一の識別子に対応する第一の情報が無効、かつ前記受信した第二の識別子に対応する第二の情報が有効であった場合に、前記情報生成部が前記第一の情報を新たに生成または更新し、
前記識別子生成部が、前記新たに生成または更新した第一の情報に対応する第一の識別子を新たに生成または更新して前記第一の情報に付与し、
前記有効期間管理情報生成部が、前記新たに生成または更新した第一の情報に有効期間を管理する情報を付与し、
前記送受信部が、前記新たに生成または更新した第一の識別子を、対応する前記第二の識別子と共に、前記クライアントに送信する機能
を有することを特徴とするサーバ。
In an application executed by communication between a server and a client, the server manages a session with the client,
Based on a session request received from the client, information generation for generating first information for managing information on a session with the client and second information for managing data received from the client in a predetermined storage unit And
The first information is given a first identifier that uniquely identifies the first information, the second information is a second identifier that uniquely identifies the second information, and An identifier generating unit for assigning the first identifier of the first information corresponding to the second information;
An effective period management information generating unit that provides information for managing an effective period for the first information and the second information,
A transmission / reception unit for transmitting the assigned first identifier and the second identifier to the client having requested the session;
Information for managing an effective period included in the first information and the second information is verified at a predetermined interval, and the storage unit stores the first information or the second information outside the effective period. An information management unit that invalidates the first information or the second information by making it impossible to acquire from
Based on the first identifier and the second identifier included in the information received from the client, referring to the storage means, and at least obtaining valid second information corresponding to each identifier A client identification unit for identifying the client,
When the first information corresponding to the received first identifier is invalid and the second information corresponding to the received second identifier is valid, the information generating unit Create or update a new
The identifier generation unit newly generates or updates a first identifier corresponding to the newly generated or updated first information, and gives the first information to the first information,
The effective period management information generation unit gives information for managing an effective period to the newly generated or updated first information,
The server having a function in which the transmission / reception unit transmits the newly generated or updated first identifier together with the corresponding second identifier to the client.
前記受信した第一の識別子に対応する第一の情報が無効、かつ前記受信した第二の識別子に対応する第二の情報が有効であった場合に、前記クライアントに対して認証を行うクライアント認証部を有し、
前記認証が成功した場合に、前記情報生成部が、前記第一の情報を新たに生成または更新し、
前記識別子生成部が、前記新たに生成または更新した第一の情報に対応する第一の識別子を新たに生成または更新して前記第一の情報に付与し、
前記有効期間管理情報生成部が、前記新たに生成または更新した第一の情報に有効期間を管理する情報を付与し、
前記送受信部が、前記新たに生成または更新した第一の識別子を、対応する前記第二の識別子と共に、前記クライアントに送信する機能
を有することを特徴とする請求項3に記載のサーバ。
Client authentication for authenticating the client when the first information corresponding to the received first identifier is invalid and the second information corresponding to the received second identifier is valid Part
When the authentication is successful, the information generation unit newly generates or updates the first information,
The identifier generation unit newly generates or updates a first identifier corresponding to the newly generated or updated first information, and gives the first information to the first information,
The effective period management information generation unit gives information for managing an effective period to the newly generated or updated first information,
The server according to claim 3, wherein the transmission / reception unit has a function of transmitting the newly generated or updated first identifier together with the corresponding second identifier to the client.
請求項1または請求項2に記載のセッション管理方法を、コンピュータに実行させる
ことを特徴とするセッション管理プログラム。
A session management program for causing a computer to execute the session management method according to claim 1.
請求項5に記載のセッション管理プログラムを記録した、コンピュータに読み取り可能な記録媒体。   A computer-readable recording medium on which the session management program according to claim 5 is recorded.
JP2006199265A 2006-07-21 2006-07-21 Session management method, server used therefor, session management program, and recording medium recording the program Expired - Fee Related JP4989935B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006199265A JP4989935B2 (en) 2006-07-21 2006-07-21 Session management method, server used therefor, session management program, and recording medium recording the program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006199265A JP4989935B2 (en) 2006-07-21 2006-07-21 Session management method, server used therefor, session management program, and recording medium recording the program

Publications (2)

Publication Number Publication Date
JP2008027202A JP2008027202A (en) 2008-02-07
JP4989935B2 true JP4989935B2 (en) 2012-08-01

Family

ID=39117769

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006199265A Expired - Fee Related JP4989935B2 (en) 2006-07-21 2006-07-21 Session management method, server used therefor, session management program, and recording medium recording the program

Country Status (1)

Country Link
JP (1) JP4989935B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11934853B2 (en) 2018-07-27 2024-03-19 Samsung Electronics Co., Ltd. Electronic device and operating method thereof

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5112138B2 (en) * 2008-03-28 2013-01-09 株式会社日立製作所 Session management method, storage device, and computer system
US8479268B2 (en) * 2009-12-15 2013-07-02 International Business Machines Corporation Securing asynchronous client server transactions
US8726261B2 (en) 2011-04-06 2014-05-13 Hewlett-Packard Development Company, L.P. Zero downtime hard disk firmware update
JP5703352B2 (en) * 2013-08-29 2015-04-15 三菱電機インフォメーションシステムズ株式会社 Application system, portable terminal, server computer, and computer program
JP6751267B2 (en) * 2017-06-30 2020-09-02 京セラドキュメントソリューションズ株式会社 Remote communication control system, remote communication system, session management system and session management program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003122653A (en) * 2001-10-09 2003-04-25 Fujitsu Ltd Processing method related with time-out of server in client/server system and time-out processing selecting method and server computer and program therefor
JP2004265049A (en) * 2003-02-28 2004-09-24 Canon Inc Data processing system, data processor, data processing method and program
JP2006157822A (en) * 2004-12-01 2006-06-15 Matsushita Electric Ind Co Ltd Reproduction apparatus and reproduction method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11934853B2 (en) 2018-07-27 2024-03-19 Samsung Electronics Co., Ltd. Electronic device and operating method thereof

Also Published As

Publication number Publication date
JP2008027202A (en) 2008-02-07

Similar Documents

Publication Publication Date Title
JP5296726B2 (en) Web content providing system, web server, content providing method, and programs thereof
JP5429912B2 (en) Authentication system, authentication server, service providing server, authentication method, and program
US20140230020A1 (en) Authorization server and client apparatus, server cooperative system, and token management method
US20080040773A1 (en) Policy isolation for network authentication and authorization
JP5408140B2 (en) Authentication system, authentication server, and authentication method
CN1878170A (en) Method and device for managing session identifiers
JP2005516533A (en) Single sign-on on the Internet using public key cryptography
JP2003527672A (en) Method and apparatus for providing secure authentication of a portable device via an internet host server
JPH11212912A (en) Session management system and method
JP5462021B2 (en) Authentication system, authentication method, and authentication program
JP4989935B2 (en) Session management method, server used therefor, session management program, and recording medium recording the program
JP2005526334A (en) Application generator
JP2010273045A (en) Server apparatus
JP4486927B2 (en) User authentication system
JP2015133034A (en) Information processing system and authentication method
JP2002189646A (en) Repeating installation
US8516602B2 (en) Methods, apparatuses, and computer program products for providing distributed access rights management using access rights filters
JP3770173B2 (en) Common key management system and common key management method
CN107343028B (en) Communication method and system based on HTTP (hyper text transport protocol)
JP5522735B2 (en) Session management apparatus, session management system, session management method, and program
JP6076890B2 (en) Authentication method, authentication system, Web server, authentication program, and recording medium
JP2007329731A (en) Method, system, and program for certificate update
US20110289552A1 (en) Information management system
JP2000172645A (en) Server computer and certificate information managing method for the same
JP2005157822A (en) Communication control device, application server, communication control method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090406

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120313

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: 20120424

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: 20120501

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: 20150511

Year of fee payment: 3

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150511

Year of fee payment: 3

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150511

Year of fee payment: 3

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150511

Year of fee payment: 3

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150511

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees