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 PDFInfo
- 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
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を用いてクライアントを識別する技術を開示している。
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.
従来のセッション管理機能では、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
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
図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
記憶部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
The
The
補助記憶領域には、図示しないが、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
図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
図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
It should be noted that neither the
なお、本実施形態では、「セッション情報オブジェクトが(メモリ上)有効」とは、「セッション情報オブジェクトが当該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
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
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
有効期間管理情報生成部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
クライアント識別部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
The data storage unit 156 stores the data transmitted from the
オブジェクト管理部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
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
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
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
まず、クライアント200は、サーバ100に対して、ログインページを要求し(S31)、サーバ100はそれに基づいて、認証情報を要求するログインページを、送受信部110を介してクライアント200に送信する(S32)。このログインページは、例えば、ユーザ情報およびパスワード等の認証情報を入力させる画面等が考えられる。
First, the
クライアント200は、受信したログインページに認証情報を入力し、サーバ100に送信する(S33)。これにより、クライアント200からサーバ100に対して、セッション要求として最初のページが要求される。
The
サーバ100は、クライアント200から受信した認証情報を、クライアント認証部151により検証する(S34)。この検証の方法については、特に限定しないが、例えば、処理を許可する認証情報(ユーザ情報、パスワード等)を予め記憶部120に格納しておくことで、格納されている情報との照合により検証を行う方法が考えられる。
The server 100 verifies the authentication information received from the
検証の結果、認証された、つまりクライアント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
Specifically, the session information generation unit 1521 of the object generation unit 152 generates the
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
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
ステップ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
なお、ステップ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
図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
Further, the data selected by the client 200 (for example, the product code “book_001”) is added to the message data portion indicated by
図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
More specifically, the client identification unit 155 stores the
そして、サーバ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
その後、サーバ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
クライアント200は、サーバ100から送信された「HTML2」をブラウザ上で画面表示し、情報入力を促す(S41)。
クライアント200は、表示された画面上のフォーム(例えば、数量)の入力途中で、移動等によって2分間処理を中断する。
The
The
サーバ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 (
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
図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
サーバ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
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
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
サーバ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
そして、サーバ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
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
図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
図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
クライアント200Aは、サーバ100から送信された「HTML3」をブラウザ上で画面表示する(S48)。以降の処理は、ステップS37またはステップS41の処理と同様のため、説明を省略する。
The
本実施形態では、データ情報オブジェクト123は、有効期間を10分と設定しているため、最後のページ要求による更新から10分間更新が無かった場合、サーバ100は、オブジェクト管理部157のデータ情報管理部1572により、データ情報オブジェクト123(D1)を無効にする。
In the present embodiment, since the
データ情報オブジェクト123(D1)が無効となった後に、クライアント200Aからページ要求を受信した場合、つまり、ステップS48におけるページ要求が、前回の更新から10分を超過した後に行われた場合には、受信したデータID(ID2)と一致する有効なデータ情報オブジェクト123は取得できない。また、受信したデータIDが不正なものである可能性も考えられる。そのため、データ情報オブジェクト123が無効、またはデータIDが不一致の場合には、サーバ100は、初回ページ要求(S32,S34〜S36)と同じ動作を行うことが望ましい。
When the page request is received from the
以上説明した本実施形態によれば、セッションを管理するオブジェクトと、データを管理するオブジェクトとの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
また、セッションおよびデータの処理に伴うメモリリソースについても、それぞれ一定時間経過したことによって無効化される。ここで、無効化として当該オブジェクトを削除すると、メモリリソースの負荷が低減され、効率的な利用が可能となる。 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
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
The
サーバ100は、クライアント200Aから受信した認証情報を、クライアント認証部151により検証する(S433)。
検証の結果、認証された、つまりクライアント200Aからの認証情報が正当であると確認できた場合、サーバ100は、ステップS44で、記憶部120上に、新たなセッションの有効期間を管理するセッション情報オブジェクト122(P2)をオブジェクト生成部152により生成する。以降の処理は、第1実施形態と同様である。
The server 100 verifies the authentication information received from the
As a result of the verification, if the server 100 is authenticated, that is, if the authentication information from the
なお、ステップ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
サーバ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
以上説明した第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
Thereby, even when information transmitted / received between the
なお、サーバ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.
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
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
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.
ことを特徴とするセッション管理プログラム。 A session management program for causing a computer to execute the session management method according to claim 1.
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)
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)
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)
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 |
-
2006
- 2006-07-21 JP JP2006199265A patent/JP4989935B2/en not_active Expired - Fee Related
Cited By (1)
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 |