[go: up one dir, main page]

JP2003141068A - Session management device, and session management method, program and storage medium - Google Patents

Session management device, and session management method, program and storage medium

Info

Publication number
JP2003141068A
JP2003141068A JP2001338090A JP2001338090A JP2003141068A JP 2003141068 A JP2003141068 A JP 2003141068A JP 2001338090 A JP2001338090 A JP 2001338090A JP 2001338090 A JP2001338090 A JP 2001338090A JP 2003141068 A JP2003141068 A JP 2003141068A
Authority
JP
Japan
Prior art keywords
session
session management
record
state information
memory
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.)
Granted
Application number
JP2001338090A
Other languages
Japanese (ja)
Other versions
JP3730563B2 (en
Inventor
Hiroyuki Hayakawa
広之 早川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon IT Solutions Inc
Original Assignee
Canon Software Inc
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 Canon Software Inc filed Critical Canon Software Inc
Priority to JP2001338090A priority Critical patent/JP3730563B2/en
Publication of JP2003141068A publication Critical patent/JP2003141068A/en
Application granted granted Critical
Publication of JP3730563B2 publication Critical patent/JP3730563B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

PROBLEM TO BE SOLVED: To manage a session under dialoguing without deteriorating the performance of a client/server system in the client/server system in a distributed object environment. SOLUTION: In this session management device, a cession management process 1 performs the session management between a client application 5 for performing a dialogue processing in the distributed object environment and a server application 4 mounted as a distributed object in cooperation with the server application 4. It controls, according to the request from the server application 4, a session management memory 3 for managing session state information provided in the process according, and also controls to manage the session state information which cannot be managed in the session memory 3 because of excessive session state information in a database 6 from the record accessed on the oldest day.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、分散オブジェクト
環境におけるサーバ/クライアント間において、セッシ
ョン中の状態を保持するセッション管理装置およびセッ
ション管理方法およびプログラムおよび記録媒体に関す
るものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a session management device, a session management method, a program, and a recording medium that maintain a state during a session between a server and a client in a distributed object environment.

【0002】[0002]

【従来の技術】分散オブジェクト環境におけるクライア
ント/サーバ間通信のセッション状態には、ステートレ
スとステートフルの2つがある。
2. Description of the Related Art There are two session states for client / server communication in a distributed object environment: stateless and stateful.

【0003】以下、図14を参照してステートレスな通
信とステートフルな通信について説明する。
Stateless communication and stateful communication will be described below with reference to FIG.

【0004】図14は、クライアント/サーバ間の通信
における両者のセッション状態を説明する図である。
FIG. 14 is a diagram for explaining the session state of both parties in the communication between the client and the server.

【0005】まず、ステートレスとは、(a)に示すよ
うに、クライアントからみて、接続するサーバが1回目
とそれ以降の通信において違う場合や、(b)に示すよ
うに、サーバからみて、接続されるクライアントが1回
目とそれ以降の通信において違う場合で、サーバで発生
した情報を何らかの手段無しには維持できない状態をい
う。
First, as shown in (a), "stateless" means that the server to be connected differs from the client in the first communication and the communication thereafter, and as shown in (b), the server connects to the server. It means that the information generated in the server cannot be maintained without some means when the client is different between the first communication and the subsequent communication.

【0006】一方、ステートフルとは、(c)に示すよ
うに、クライアントとサーバ間の通信において、1回目
とそれ以降の通信で処理するサーバプロセスが同じであ
るため、サーバで発生した情報が維持できる状態をい
う。
On the other hand, stateful means that, as shown in (c), in the communication between the client and the server, the server process processed in the first communication and the subsequent communication is the same, so that the information generated in the server is maintained. The state that can be done.

【0007】次に、サーバプロセスをライフサイクルか
ら分類し、そのプロセスの通信がステートレスとステー
トフルのどちらのセッションになるかを述べる。
Next, the server process is classified from the life cycle, and it is described whether the communication of the process is a stateless session or a stateful session.

【0008】プロセスは、予めシステム空間に常駐して
クライアントからのサービス要求を待つもの(タイプ
I)と、クライアントからのサービス要求時に生成され
るもの(後述するタイプII,III)とに分類され
る。クライアントからのサービス要求時に生成されるも
のは、さらに、サービス要求毎に生成と消滅を繰り返す
もの(タイプII)と、クライアントが要求する一連の
サービス要求(処理を実現するために複数のサービス要
求で構成される)毎に生成と消滅を繰り返すもの(タイ
プIII)とに分類される。
Processes are classified into those that are resident in the system space in advance and wait for a service request from a client (type I), and those that are generated when a service request from a client (types II and III described later). . What is generated at the time of a service request from a client is a type that repeats generation and disappearance for each service request (Type II) and a series of service requests requested by the client (a plurality of service requests to realize processing. It is classified into a type that repeats generation and disappearance (type III) for each configuration.

【0009】タイプIとタイプIIは、ステートレスな
セッションであり、タイプIIIはステートフルなセッ
ションである。
Type I and type II are stateless sessions, and type III are stateful sessions.

【0010】また、タイプIIは、オーバヘッドがかか
るプロセスの生成と消滅が頻発するため、このような処
理をする製品は少ないと思われるため、以降、ステート
レスなセッションを行うプロセスの対象から除外する。
Further, since the type II frequently produces and disappears the process which requires the overhead, it is considered that there are few products which perform such a process, and hence it is excluded from the targets of the process which performs the stateless session.

【0011】分散オブジェクト環境を実現するCORB
A(Common ObjectRequest Br
oker Architecture)準拠の製品に
は、ステートレスなセッションのみを実現するものや、
ステートレスとステートフルの両方のセッションを実現
するものがある。
CORB for realizing a distributed object environment
A (Common Object Request Br)
The products that are compatible with the Maker Architecture) are those that realize only stateless sessions,
Some provide both stateless and stateful sessions.

【0012】なお、CORBAとは、分散オブジェクト
技術の規格の一つであり、OMG(Object Ma
nagement Group)が承認するORB(O
bject Request Broker)間通信の
仕様である。ベンダが提供するCORBA準拠のORB
製品を使用することにより、クライアントとサーバが異
機種マシンであっても容易に接続することができるよう
になる。
[0012] CORBA is one of the standards for distributed object technology, and is OMG (Object Ma).
ORB (O approved by the management Group)
It is a specification of communication between the object request brokers. CORBA-compliant ORB provided by the vendor
By using the product, even if the client and server are heterogeneous machines, they can be easily connected.

【0013】クライアントがサーバにサービスを要求
し、サーバからクライアントに応答が返ることをここで
は対話という。この対話は、一回で終了することもあれ
ば複数回のやり取りで完結する場合もある。以下の対話
(処理)は、複数回のやりとりで完結する場合を指す。
A client requests a service from a server and a response is returned from the server to the client, which is referred to as a conversation here. This dialogue may be completed once or may be completed by a plurality of exchanges. The following dialogue (processing) refers to the case where the interaction is completed multiple times.

【0014】以下、対話の例としてショッピングカート
を挙げる。
A shopping cart will be described below as an example of the dialogue.

【0015】(リクエスト1)クライアントは、ある特
定のグループの商品一覧を表示するようサーバに要求す
る。
(Request 1) The client requests the server to display a list of products of a particular group.

【0016】(レスポンス1)サーバは、要求のあった
商品一覧を表示する。
(Response 1) The server displays the requested product list.

【0017】(リクエスト2)クライアントは、商品一
覧から、特定の商品を必要個数分ショッピングカートに
入れることと、次の商品グループの商品一覧を表示する
ことをサーバに要求する。
(Request 2) From the product list, the client requests the server to insert the required number of specific products into the shopping cart and to display the product list of the next product group.

【0018】(レスポンス2)サーバは要求のあった商
品を要求個数分ショッピングカートに格納し、要求のあ
った商品一覧を表示する。
(Response 2) The server stores the requested products in the required number of shopping carts and displays the requested product list.

【0019】(リクエスト3)クライアントは、特定の
商品を必要個数分ショッピングカートに入れることと、
ショッピングカートの中の商品を精算することをサーバ
に要求する。
(Request 3) The client places a required number of specific products in the shopping cart,
Request the server to settle the items in the shopping cart.

【0020】(レスポンス3)サーバは、要求のあった
商品を要求個数分ショッピングカートに入れ、ショッピ
ングカートの中の商品種類毎に商品単価と個数を掛け合
わせ、全合計金額をクライアントに提示する。
(Response 3) The server puts the requested products in the requested number of products in the shopping cart, multiplies the product unit price by the product number for each product type in the shopping cart, and presents the total amount to the client.

【0021】ここで、ステートフルな通信の場合、上述
したショッピングカート(商品名と購入個数等の情報)
は、サーバプロセスの中に持つことが可能である。
Here, in the case of stateful communication, the above-mentioned shopping cart (information such as the product name and the number of purchases)
Can be in the server process.

【0022】しかし、ステートレスな通信の場合、対話
(リクエスト−レスポンス)が一回毎に切れてしまい、
各対話を処理するサーバプロセスが同一とはかぎらない
ため、ショッピングカート(商品名と購入個数等の情
報)をサーバプロセスの中に持たせることはできない。
However, in the case of stateless communication, the dialogue (request-response) is cut off each time,
Since the server process that processes each dialogue is not necessarily the same, it is not possible to have a shopping cart (information such as product name and purchase quantity) in the server process.

【0023】以下、前述の商品名と購入個数を持ったシ
ョッピングカートのような状態をセッション状態情報と
いい、これを対話処理中保持する仕組みをセッション管
理という。
Hereinafter, a state such as a shopping cart having the above-mentioned product name and purchase quantity is referred to as session state information, and a mechanism for holding this during the interactive processing is referred to as session management.

【0024】次に、従来の分散オブジェクト環境におけ
るクライアント/サーバシステムのセッション管理につ
いて、図15〜図17を使用して説明する。これらの図
では、クライアントとサーバ間の通信手段としてORB
(分散オブジェクト機構)通信を使用し、通信プロトコ
ルとしてIIOP(Internet Inter−O
RB Protocol)を使用しているものとする。
Next, session management of the client / server system in the conventional distributed object environment will be described with reference to FIGS. In these figures, the ORB is used as a communication means between the client and the server.
IIOP (Internet Inter-O) is used as a communication protocol using (distributed object mechanism) communication.
RB Protocol).

【0025】図15は、クライアントとサーバの双方を
CORBAオブジェクトとして実装したクライアント/
サーバシステムを示すブロック図である。
FIG. 15 shows a client / server in which both the client and server are implemented as CORBA objects.
It is a block diagram which shows a server system.

【0026】この図におけるクライアント/サーバ間の
通信をステートレスなセッションで実現した場合、サー
バへの接続クライアントが大量になっても、プロセスの
生成/消滅が無いためオーバヘッドが少なく、システム
にかかる負荷がステートフルで実現するより少ない。し
かし、セッション状態情報をサーバアプリケーションプ
ロセス中に持ったのではセッション管理ができない。
When the communication between the client and the server in this figure is realized by a stateless session, even if a large number of clients connect to the server, there is no process generation / disappearance, the overhead is small, and the load on the system is low. Less than stateful. However, session management cannot be performed if session state information is included in the server application process.

【0027】逆にステートフルなセッションで実現した
場合、サーバへの接続クライアントが大量な場合、プロ
セスの生成/消滅が頻発するため、システムにかかる負
荷がステートレスで実現するより多い。しかし、セッシ
ョン状態情報をサーバアプリケーションプロセス中に持
つことができる。
On the other hand, when it is realized by a stateful session, when the number of clients connected to the server is large, the processes are frequently generated / erased, so that the load on the system is larger than that realized by the stateless. However, session state information can be included in the server application process.

【0028】しかしながら、ステートフルなセッション
で実現した場合でも、図15のように、同じクライアン
トアプリケーション5がORB30(CORBA準拠の
通信ミドルウェア)を介して1回目はサーバアプリケー
ション4aと、2回目はサーバアプリケーション4bと
いうような場合、セッション状態情報をサーバアプリケ
ーションプロセス中に持ったのではセッション管理がで
きなくなる。
However, even when realized in a stateful session, as shown in FIG. 15, the same client application 5 passes through the ORB 30 (CORBA compliant communication middleware) for the first time server application 4a and the second time server application 4b. In such a case, session management cannot be performed if the session state information is included in the server application process.

【0029】このような場合や上述のステートレスなセ
ッションで実現する場合、クライアントアプリケーショ
ン側でセッション管理をする方法が考えられる。
In such a case or when the above-mentioned stateless session is realized, a method of managing the session on the client application side can be considered.

【0030】しかし、クライアントにセッション状態情
報を持たせると、セッション状態情報が通信のたびにク
ライアント/サーバ間を流れ、通信トラフィックが増大
し、レスポンス悪化の要因となるという問題点があっ
た。
However, if the client has the session state information, the session state information flows between the client and the server each time communication is performed, communication traffic increases, and there is a problem that the response is deteriorated.

【0031】図16は、WWW(World Wide
Web)の環境で、クライアントとサーバの双方をC
ORBAオブジェクトとして実装したクライアント/サ
ーバシステムを示すブロック図である。
FIG. 16 shows WWW (World Wide).
C) for both client and server in the Web environment.
It is a block diagram which shows the client / server system implemented as an ORBA object.

【0032】図に示すように、Webブラウザ32のV
M(Virtual Machine)環境で動作する
クライアントアプリケーション5は、ORB30の通信
で、Webサーバ33経由でサーバアプリケーション4
a〜4bのサービスを呼び出す。
As shown in the figure, V of the Web browser 32
The client application 5 operating in the M (Virtual Machine) environment is the server application 4 via the Web server 33 in the communication of the ORB 30.
Call the services a to 4b.

【0033】この場合の、セッション管理方法とその問
題は、図15の場合と同じである。さらに、セッション
管理方法の問題以外に、サーバ側にファイアウォールを
構築した場合、IIOPのTCP/IPポートを開放し
なければならず、このことがセキュリティ管理上敬遠さ
れる原因となっている。
In this case, the session management method and its problem are the same as in the case of FIG. Further, in addition to the problem of the session management method, when a firewall is built on the server side, the TCP / IP port of IIOP must be opened, which is a cause of being shunned in security management.

【0034】図17は、図16のファイアウォール構築
上の問題を踏まえた形態のクライアント/サーバシステ
ムの一例を示すブロック図である。
FIG. 17 is a block diagram showing an example of a client / server system in a form based on the problem in constructing the firewall shown in FIG.

【0035】図に示すように、サーバ側のみ、すなわち
Java(登録商標)Servlet34とサーバアプ
リケーション4aとサーバアプリケーション4bをCO
RBAオブジェクトとして実装する。
As shown in the figure, only the server side, that is, Java (registered trademark) Servlet 34, server application 4a, and server application 4b are CO
It is implemented as an RBA object.

【0036】Webサーバ33内にはServletコ
ンテナがあり、ここでJava(登録商標)Servl
et34を稼動させ、Java(登録商標)Servl
et34がクライアントアプリケーション5と通信す
る。Java(登録商標)Servlet34はクライ
アントアプリケーション5からのリクエストを受けると
対応するサーバアプリケーション4a、もしくはサーバ
アプリケーション4bのサービスを呼び出す。呼び出さ
れたサーバアプリケーション4a、もしくはサーバアプ
リケーション4bの処理結果がJava(登録商標)S
ervlet34に返ると、Java(登録商標)Se
rvlet34はレスポンスをクライアントアプリケー
ション5に返す。
There is a Servlet container in the Web server 33, and here, Java (registered trademark) Servl is provided.
Run et34 and run Java (registered trademark) Servl
et 34 communicates with the client application 5. When receiving a request from the client application 5, the Java (registered trademark) Servlet 34 calls the service of the corresponding server application 4a or server application 4b. The processing result of the called server application 4a or server application 4b is Java (registered trademark) S.
Returning to the servlet 34, Java (registered trademark) Se
The rvlet 34 returns a response to the client application 5.

【0037】すなわち、クライアントアプリケーション
5とサーバアプリケーション4a、もしくはサーバアプ
リケーション4b間の電文情報は、Java(登録商
標)Servlet34を経由してやり取りされる。こ
の場合、クライアントアプリケーション5とJava
(登録商標)Servlet34間の通信プロトコルは
HTTP(Hyper Text Transfer
Protocol)になり、Java(登録商標)Se
rvlet34とサーバアプリケーション4a、もしく
はサーバアプリケーション4b間の通信はIIOPとな
る。
That is, message information between the client application 5 and the server application 4a or the server application 4b is exchanged via the Java (registered trademark) Servlet 34. In this case, the client application 5 and Java
The communication protocol between the (registered trademark) Servlet 34 is HTTP (Hyper Text Transfer).
Protocol), and Java (registered trademark) Se
The communication between the rvlet 34 and the server application 4a or the server application 4b is IIOP.

【0038】この形態は、ファイアウォールを構築する
場合、HTTPのポートを開放するのみで済むため、図
16に示した場合のセキュリティ管理問題はなくなる。
In this form, when a firewall is constructed, it is only necessary to open the HTTP port, so the security management problem in the case shown in FIG. 16 is eliminated.

【0039】ただし、セッション管理では次のような問
題がある。
However, session management has the following problems.

【0040】サーバアプリケーションでのセッション管
理は、クライアントアプリケーション5/Java(登
録商標)Servlet34間の通信プロトコルがHT
TPであるがゆえステートレスセッションになる。その
ため、Java(登録商標)Setvlet34/サー
バアプリケーション4aもしくはサーバアプリケーショ
ン4b間の通信がステートフルセッションであるとして
もセッション管理は困難である。
For session management in the server application, the communication protocol between the client application 5 and the Java (registered trademark) Servlet 34 is HT.
Since it is a TP, it becomes a stateless session. Therefore, even if the communication between the Java (registered trademark) Settlet 34 / server application 4a or server application 4b is a stateful session, session management is difficult.

【0041】また、その他のセッション管理の問題は図
15に示した場合と同じである。
The other problems of session management are the same as those shown in FIG.

【0042】この形態では、もう1つの方法として、S
ervlet用に用意されているセッション管理のAP
Iを使用する方法がある。これを使用するとセッション
状態情報をオブジェクト化し保存することができる。こ
のオブジェクトはセッションIDというもので識別す
る。対話処理中はセッションIDを使用し、セッション
情報を管理する。
In this embodiment, as another method, S
AP for session management prepared for the servlet
There is a method of using I. Using this, you can save the session state information as an object. This object is identified by a session ID. The session ID is used during the interactive processing to manage the session information.

【0043】以下、この形態について図17を用いて説
明する。
This form will be described below with reference to FIG.

【0044】Java(登録商標)Servlet34
は、クライアントアプリケーション5からリクエストを
受けると、クライアントアプリケーション5からの電文
情報をサーバアプリケーション4aに渡す。
Java (registered trademark) Servlet 34
When receiving the request from the client application 5, the client sends the message information from the client application 5 to the server application 4a.

【0045】サーバアプリケーション4aは、処理を行
った後、処理結果(電文)とセッション状態情報をJa
va(登録商標)Servlet34に返す。
After performing the process, the server application 4a provides the process result (telegram) and the session state information to Ja.
Return to va (registered trademark) Servlet 34.

【0046】Java(登録商標)Servlet34
は、セッション状態情報をセッション管理のAPIを使
用してオブジェクト化し、このオブジェクトのセッショ
ンIDを得る。Java(登録商標)Servlet3
4は、クライアントアプリケーション5にセッションI
Dと電文のレスポンスを返す。Java(登録商標)S
ervlet34は、セッションIDと電文のリクエス
トをクライアントアプリケーション5から受ける。
Java (registered trademark) Servlet 34
Obtains the session ID of this object by converting the session state information into an object using the session management API. Java (registered trademark) Servlet 3
4 uses the client application 5 for session I
Returns the response of D and the message. Java (registered trademark) S
The servlet 34 receives a session ID and a message request from the client application 5.

【0047】Java(登録商標)Servlet34
は、セッションIDに対応するオブジェクトからセッシ
ョン状態情報を得て、電文とセッション状態情報をサー
バアプリケーション4bに渡す。同様の処理を以降繰り
返す。
Java (registered trademark) Servlet 34
Obtains session state information from the object corresponding to the session ID and passes the message and the session state information to the server application 4b. The same process is repeated thereafter.

【0048】この方式は、Java(登録商標)Ser
vlet34/サーバアプリケーション4aもしくはサ
ーバアプリケーション4b間のセッションはステートレ
スとステートフルのどちらでも適用できるため有効では
あるが、WWWの環境という限定された環境においての
みの使用方法になる。
This system is based on Java (registered trademark) Ser.
The session between the vlet 34 / server application 4a or the server application 4b is effective because it can be applied in either stateless or stateful, but it is used only in a limited environment such as WWW environment.

【0049】以上図15〜図17に示した例が、ORB
通信を使用した分散オブジェクト環境で稼動するクライ
アント/サーバシステムのセッション管理方法である。
The examples shown in FIGS. 15 to 17 are the ORBs.
A session management method for a client / server system operating in a distributed object environment using communication.

【0050】また、分散オブジェクト環境と限らずに、
セッションを管理する方法として外部ディスクファイル
やメモリを使用する方法がある。
In addition to the distributed object environment,
As a method of managing the session, there is a method of using an external disk file or memory.

【0051】外部ディスクファイルとしては、データベ
ースやインデクス付ファイルを使用する方法が考えられ
る。
As the external disk file, a method of using a database or a file with an index can be considered.

【0052】以下、データベースを使用するセッション
管理方法とその問題を説明する。
The session management method using the database and its problems will be described below.

【0053】これは、クライアント毎、すなわち対話処
理毎に何らかの方法でユニークなセッションIDを振
り、データベースのキーとしてセッションIDを使用す
る。このキー毎にセッション情報をデータベースレコー
ドに格納する。
In this method, a unique session ID is assigned to each client, that is, each interaction process, and the session ID is used as a database key. The session information is stored in the database record for each key.

【0054】この方法は有効ではあるが、業務データで
あるデータベースアクセスの他にこの様なアクセスも行
わなければならないのは、パフォーマンス悪化の要因に
なり得る。
Although this method is effective, the fact that such access must be performed in addition to the database access, which is business data, can cause a deterioration in performance.

【0055】次に、メモリを使用する方法について説明
する。
Next, a method of using the memory will be described.

【0056】メモリを使用する方法としては、プロセス
内部のメモリを使用する方法と、共有メモリを使用する
方法とがある。
As a method of using the memory, there are a method of using the memory inside the process and a method of using the shared memory.

【0057】まず、プロセス内部のメモリを使用する方
法では、発生する対話処理に応じてメモリを逐次アロケ
ーションする方法と、予め発生し得る同時期最大対話処
理数分メモリを確保しておく方法がある。前者の場合、
高トラフィックが発生した場合、システム系によっては
メモリ不足を引き起こす要因になる。一方、後者の場
合、予め確保しておいたメモリ内で処理が行われるため
メモリ不足になる心配はない。しかし、もしトラフィッ
ク量が予測した量を超えた場合、確保したメモリが不足
し、セッション情報の保証が難しくなる。
First, in the method of using the memory inside the process, there are a method of sequentially allocating the memory according to the interactive processing that occurs, and a method of securing the memory for the maximum number of simultaneous interactive processing that can occur in advance. . In the former case,
When high traffic occurs, it may cause a memory shortage depending on the system. On the other hand, in the latter case, there is no fear of running out of memory because the processing is performed in the memory secured in advance. However, if the traffic volume exceeds the predicted volume, the secured memory will be insufficient and it will be difficult to guarantee the session information.

【0058】また、共有メモリを使用する方法は、共有
メモリにアクセスするプロセスをサーバ上で稼動させ、
サーバアプリケーションはこのプロセスを通じてセッシ
ョン情報の出し入れを行うもの、又はサーバアプリケー
ションがシステム提供の共有メモリアクセスAPIを使
用してセッション情報の出し入れを行うものがある。こ
れらの場合、高トラフィックが発生した場合、共有メモ
リを多量に使用し、サーバ性能劣化の要因となり得る。
In the method of using the shared memory, the process for accessing the shared memory is operated on the server,
Some server applications send and receive session information through this process, and some server applications use a shared memory access API provided by the system to send and receive session information. In these cases, when high traffic occurs, a large amount of shared memory is used, which may cause deterioration of server performance.

【0059】なお、共有メモリを使用してセッション管
理をする場合の発展形態である特許出願として、特開2
001−14242がある。この発明においては、セッ
ション管理サーバが分散管理サーバの機能を併せもつこ
とにより、高トラフィック時における多量の共有メモリ
使用を防ぐことが可能であると思われるが、サーバ側の
負荷分散を行うTPモニタ配下で稼動するアプリケーシ
ョンに適用できるものではない。
As a patent application which is a developed form of session management using a shared memory, Japanese Patent Laid-Open No.
001-14242. In the present invention, the session management server also has the function of the distributed management server, so it is possible to prevent the use of a large amount of shared memory during high traffic. However, the TP monitor for load balancing on the server side It is not applicable to applications that run under the control.

【0060】また、この発明は、WWW環境に限定され
るものであり、なおかつサーバアプリケーションの実装
がCGI(Common Gateway Inter
face)という環境を対象とし、かつセッション管理
機能としてCGIによる実装に限定されるものであっ
て、その他の環境において稼動するクライアント/サー
バシステムに広く適用されるものではない。
Further, the present invention is limited to the WWW environment, and the server application is implemented by CGI (Common Gateway Internet).
face) environment and is limited to implementation by CGI as a session management function, and is not widely applied to client / server systems operating in other environments.

【0061】[0061]

【発明が解決しようとする課題】上述したように、クラ
イアント/サーバシステムにおいて、セッション状態情
報を管理する場合、クライアントで管理する方法、サー
バで管理する方法がある。しかし、双方ともに、通信ト
ラフィックの増大に起因して発生するレスポンスの問
題、メモリ管理の問題、適用環境の問題、及びサーバ性
能劣化の問題等があった。
As described above, in the client / server system, when managing session state information, there are a method of managing by the client and a method of managing by the server. However, both of them have a problem of response, a problem of memory management, a problem of application environment, a problem of deterioration of server performance, etc. which occur due to an increase in communication traffic.

【0062】本発明は、上記の問題点を解決するために
なされたもので、本発明の目的は、分散オブジェクト環
境において対話処理を行うクライアントアプリケーショ
ンと分散オブジェクトとして実装されたサーバアプリケ
ーションとの間のセッション管理を、分散オブジェクト
として実装されるセッション管理プロセスが、前記分散
オブジェクトとして実装されたサーバアプリケーション
と連携して行うものであり、セッション管理プロセス内
のコントローラが、サーバアプリケーションからの要求
により、セッション管理プロセス内に設けられたセッシ
ョン状態情報を管理するセッション管理メモリを制御す
るとともに、セッション状態情報過多によりセッション
管理メモリ内で管理できなくなったセッション状態情報
を、最も昔にアクセスされたレコード(最後にアクセス
されてから経過時間が最も長いレコード)からセッショ
ン管理プロセスの外部に設けられたデータベースで管理
するように制御することにより、分散オブジェクト環境
におけるクライアント/サーバシステムにおける対話中
のセッションをクライアント/サーバシステムの性能を
劣化させることなしに管理することができ、また分散オ
ブジェクト環境で稼動するクライアント/サーバシステ
ムのセッション管理をプラットフォームに依存すること
なくフレキシブルに行うことができるセッション管理装
置およびセッション管理方法およびプログラムおよび記
録媒体を提供することである。
The present invention has been made to solve the above-mentioned problems, and an object of the present invention is to provide a client application that performs interactive processing in a distributed object environment and a server application implemented as a distributed object. A session management process implemented as a distributed object performs session management in cooperation with a server application implemented as the distributed object, and a controller in the session management process performs session management in response to a request from the server application. It controls the session management memory that manages the session status information provided in the process, and the session status information that cannot be managed in the session management memory due to excessive session status information is stored in the oldest During a dialog in a client / server system in a distributed object environment, by controlling the stored records (records with the longest elapsed time since the last access) to manage in a database provided outside the session management process. Session management can be performed without degrading the performance of the client / server system, and session management of the client / server system operating in a distributed object environment can be performed flexibly without depending on the platform. An object is to provide an apparatus, a session management method, a program, and a recording medium.

【0063】[0063]

【課題を解決するための手段】本発明に係る第1の発明
は、分散オブジェクト環境において対話処理を行うクラ
イアントアプリケーション(図1に示すクライアントア
プリケーション5)と分散オブジェクトとして実装され
たサーバアプリケーション(図1に示すサーバアプリケ
ーション4)との間のセッション管理を行うセッション
管理装置において、分散オブジェクトとして実装される
セッション管理プロセス(図1に示すセッション管理プ
ロセス1(サーバ装置100の図示しないCPUにより
実行される)が、前記分散オブジェクトとして実装され
たサーバアプリケーションと連携して前記クライアント
アプリケーションとサーバアプリケーションとの間のセ
ッション管理を行うことを特徴とする。
A first aspect of the present invention is directed to a client application (client application 5 shown in FIG. 1) for interactive processing in a distributed object environment and a server application implemented as a distributed object (FIG. 1). In the session management device that manages the session with the server application 4) shown in FIG. 1, a session management process implemented as a distributed object (session management process 1 shown in FIG. 1 (executed by a CPU (not shown) of the server device 100)). However, the session management between the client application and the server application is performed in cooperation with the server application implemented as the distributed object.

【0064】本発明に係る第2の発明は、前記セッショ
ン管理プロセスは、該プロセス内にセッション状態情報
を管理するセッション管理メモリ(図1に示すセッショ
ン管理メモリ3)と、前記セッション管理メモリの制御
を行うコントローラ(図1に示すバッファコントローラ
2)とを備えるものであり、前記コントローラは、セッ
ション管理を必要とする前記サーバアプリケーションか
らの要求によりセッション管理メモリを制御するととも
に、セッション状態情報過多によりセッション管理メモ
リ内で管理できなくなったセッション状態情報を、最も
昔にアクセスされたレコードから前記セッション管理プ
ロセス外に設けたデータベースで管理することを特徴と
する。
In a second aspect of the present invention, the session management process includes a session management memory (session management memory 3 shown in FIG. 1) for managing session state information in the process, and control of the session management memory. And a controller (buffer controller 2 shown in FIG. 1) that performs session control, the controller controls the session management memory in response to a request from the server application that requires session management, and the session state information is excessive. It is characterized in that the session state information which can no longer be managed in the management memory is managed by a database provided outside the session management process from the record accessed the earliest.

【0065】本発明に係る第3の発明は、前記コントロ
ーラは、前記セッション管理プロセス起動時に、前記セ
ッション管理メモリを確保するとともに前記データベー
スへの接続を行うメモリ確保部(図1に示すメモリ確保
部21)と、前記サーバアプリケーションからの要求で
前記セッション管理メモリを制御するレコード制御部
(図1に示すレコード制御部22)と、セッション状態
情報過多によりセッション管理メモリ内で管理できなく
なったセッション状態情報を、前記レコード制御部から
の要求により、最も昔にアクセスされたレコードからデ
ータベースへ書き出すことと、前記レコード制御部で必
要となったデータベース中のセッション状態情報を、前
記レコード制御部からの要求によりデータベースから前
記セッション管理メモリへ戻すことを行うレコード監視
部(図1に示すレコード監視部23)とを備えることを
特徴とする。
In a third aspect of the present invention, the controller secures the session management memory and activates a connection to the database when the session management process is activated (memory securing section shown in FIG. 1). 21), a record control unit (record control unit 22 shown in FIG. 1) that controls the session management memory in response to a request from the server application, and session state information that cannot be managed in the session management memory due to excessive session state information. At the request of the record control unit to write to the database from the record accessed the earliest, and the session state information in the database required by the record control unit is requested by the record control unit. From the database, the session management Characterized in that it comprises a record monitor unit for performing it back to re (record monitoring unit 23 shown in FIG. 1).

【0066】本発明に係る第4の発明は、前記レコード
制御部は、前記サーバアプリケーションから要求され
る、前記セッション管理メモリ内にセッション状態情報
を格納するレコードを確保するレコード割当サービス
(図1に示すレコード割当サービス22a)と、前記セ
ッション管理メモリの当該レコードからセッション状態
情報を取得するレコード読み込みサービス(図1に示す
レコード読み込みサービス22b)と、前記セッション
状態情報を当該レコードに格納するレコード書き込みサ
ービス(図1に示すレコード書き込みサービス22c)
と、管理する必要が無くなったセッション状態情報が格
納されている当該レコードを開放するレコード開放サー
ビス(図1に示すレコード開放サービス22d)とを備
えることを特徴とする。
In a fourth aspect of the present invention, the record control unit secures a record for storing session state information in the session management memory, which is requested by the server application. Record allocation service 22a), a record reading service that acquires session state information from the record in the session management memory (record reading service 22b shown in FIG. 1), and a record writing service that stores the session state information in the record. (Record writing service 22c shown in FIG. 1)
And a record release service (record release service 22d shown in FIG. 1) that releases the record in which the session state information that is no longer required to be stored is released.

【0067】本発明に係る第5の発明は、前記レコード
制御部の各サービスは、セッション管理を必要する前記
サーバアプリケーションから与えられたセッションID
に基づいて前記セッション管理メモリの制御を行うこと
を特徴とする。
According to a fifth aspect of the present invention, each service of the record control unit is a session ID given by the server application that requires session management.
The session management memory is controlled based on the above.

【0068】本発明に係る第6の発明は、前記レコード
制御部の各サービスのセッション管理を必要とする前記
サーバアプリケーションからのインタフェースは、前記
セッション管理プロセスが稼動する環境に依存しないこ
とを特徴とする。
A sixth aspect of the present invention is characterized in that an interface from the server application that requires session management of each service of the record control unit does not depend on an environment in which the session management process operates. To do.

【0069】本発明に係る第7の発明は、前記セッショ
ン状態情報としてセッション中に発生する全ての情報を
対象として管理することを特徴とする。
A seventh invention according to the present invention is characterized in that all the information generated during the session is managed as the session state information.

【0070】本発明に係る第8の発明は、分散オブジェ
クト環境において対話処理を行うクライアントアプリケ
ーションと分散オブジェクトとして実装されたサーバア
プリケーションとの間のセッション管理を行うセッショ
ン管理方法において、分散オブジェクトとして実装され
るセッション管理プロセス(図1に示すセッション管理
プロセス1)により、前記分散オブジェクトとして実装
されたサーバアプリケーションと連携して前記クライア
ントアプリケーションとサーバアプリケーションとの間
のセッション管理を行うことを特徴とする。
An eighth invention according to the present invention is implemented as a distributed object in a session management method for managing a session between a client application which performs interactive processing in a distributed object environment and a server application which is implemented as a distributed object. A session management process (session management process 1 shown in FIG. 1) is used to manage a session between the client application and the server application in cooperation with the server application implemented as the distributed object.

【0071】本発明に係る第9の発明は、前記セッショ
ン管理プロセスは、該プロセス内にセッション状態情報
を管理するセッション管理メモリ(図1に示すセッショ
ン管理メモリ3)と、前記セッション管理メモリの制御
を行うコントローラ(図1に示すバッファコントローラ
2)とを備えるものであり、前記コントローラは、セッ
ション管理を必要とする前記サーバアプリケーションか
らの要求によりセッション管理メモリを制御するととも
に、セッション状態情報過多によりセッション管理メモ
リ内で管理できなくなったセッション状態情報を、最も
昔にアクセスされたレコードから前記セッション管理プ
ロセス外に設けたデータベースで管理することを特徴と
する。
In a ninth aspect of the present invention, the session management process includes a session management memory (session management memory 3 shown in FIG. 1) for managing session state information in the process, and control of the session management memory. And a controller (buffer controller 2 shown in FIG. 1) that performs session control, the controller controls the session management memory in response to a request from the server application that requires session management, and the session state information is excessive. It is characterized in that the session state information which can no longer be managed in the management memory is managed by a database provided outside the session management process from the record accessed the earliest.

【0072】本発明に係る第10の発明は、前記コント
ローラは、前記セッション管理プロセス起動時に、前記
セッション管理メモリを確保するとともに前記データベ
ースへの接続を行うメモリ確保部(図1に示すメモリ確
保部21)と、前記サーバアプリケーションからの要求
で前記セッション管理メモリを制御するレコード制御部
(図1に示すレコード制御部22)と、セッション状態
情報過多によりセッション管理メモリ内で管理できなく
なったセッション状態情報を、前記レコード制御部から
の要求により、最も昔にアクセスされたレコードからデ
ータベースへ書き出すことと、前記レコード制御部で必
要となったデータベース中のセッション状態情報を、前
記レコード制御部からの要求によりデータベースから前
記セッション管理メモリへ戻すことを行うレコード監視
部(図1に示すレコード監視部23)とを備えることを
特徴とする。
In a tenth aspect of the present invention, the controller secures the session management memory and activates a connection to the database when the session management process is activated (memory securing section shown in FIG. 1). 21), a record control unit (record control unit 22 shown in FIG. 1) that controls the session management memory in response to a request from the server application, and session state information that cannot be managed in the session management memory due to excessive session state information. At the request of the record control unit to write to the database from the record accessed the earliest, and the session state information in the database required by the record control unit is requested by the record control unit. From the database the session management Characterized in that it comprises a record monitor unit for performing it back into memory (record monitoring unit 23 shown in FIG. 1).

【0073】本発明に係る第11の発明は、前記レコー
ド制御部は、前記サーバアプリケーションから要求され
る、前記セッション管理メモリ内にセッション状態情報
を格納するレコードを確保するレコード割当サービス
(図7のステップS301〜S304)と、前記セッシ
ョン管理メモリの当該レコードからセッション状態情報
を取得するレコード読み込みサービス(図8のステップ
S401〜S408)と、前記セッション状態情報を当
該レコードに格納するレコード書き込みサービス(図9
のステップS501〜S507)と、管理する必要が無
くなったセッション状態情報が格納されている当該レコ
ードを開放するレコード開放サービス(図10のステッ
プS601〜S605)とを備えることを特徴とする。
In an eleventh aspect of the present invention, the record control unit secures a record for storing session state information in the session management memory, which is requested by the server application. Steps S301 to S304), a record reading service that acquires session state information from the record in the session management memory (steps S401 to S408 in FIG. 8), and a record writing service that stores the session state information in the record (FIG. 8). 9
Of steps S501 to S507) and a record release service (steps S601 to S605 of FIG. 10) for releasing the record in which the session state information that is no longer required to be managed is stored.

【0074】本発明に係る第12の発明は、前記レコー
ド制御部の各サービスは、セッション管理を必要する前
記サーバアプリケーションから与えられたセッションI
Dに基づいて前記セッション管理メモリの制御を行うこ
とを特徴とする。
In a twelfth aspect of the present invention, each service of the record control unit is a session I provided from the server application that requires session management.
The session management memory is controlled based on D.

【0075】本発明に係る第13の発明は、前記レコー
ド制御部の各サービスのセッション管理を必要とする前
記サーバアプリケーションからのインタフェースは、前
記セッション管理プロセスが稼動する環境に依存しない
ことを特徴とする。
A thirteenth invention according to the present invention is characterized in that an interface from the server application which requires session management of each service of the record control unit does not depend on an environment in which the session management process operates. To do.

【0076】本発明に係る第14の発明は、前記セッシ
ョン状態情報としてセッション中に発生する全ての情報
を対象として管理することを特徴とする。
A fourteenth aspect of the present invention is characterized in that all the information generated during a session is managed as the session state information.

【0077】本発明に係る第15の発明は、請求項8〜
14のいずれかに記載されたセッション管理方法を実現
するプログラムであることを特徴とする。
The fifteenth invention according to the present invention is as follows.
14 is a program for realizing the session management method described in any one of 14 above.

【0078】本発明に係る第16の発明は、請求項8〜
14のいずれかに記載されたセッション管理方法を実行
するためのプログラムをコンピュータが読み取り可能に
記録媒体に記録したことを特徴とする。
The sixteenth invention according to the present invention is as follows.
The program for executing the session management method described in any one of 14 is recorded on a recording medium in a computer-readable manner.

【0079】[0079]

【発明の実施の形態】まず、本発明のセッション管理装
置の概要を説明する。
BEST MODE FOR CARRYING OUT THE INVENTION First, an outline of a session management apparatus of the present invention will be described.

【0080】対話処理を行うクライアント/サーバシス
テムのサーバが分散オブジェクトとして実装された環境
の場合、セッション管理を行う常駐型プロセス(以下、
セッション管理プロセスという)を分散オブジェクトの
サーバとして実装する。
In an environment in which the server of the client / server system that performs interactive processing is implemented as a distributed object, a resident process that manages sessions (hereinafter,
Session management process) is implemented as a server for distributed objects.

【0081】ここでは、CORBA準拠のORB製品を
使用して分散オブジェクトとして実装する方法を示す。
対話処理を行っているサーバアプリケーションとセッシ
ョン管理プロセスは、分散オブジェクト環境において連
携を行いセッション管理を実現する。
Here, a method of implementing as a distributed object by using a CORBA compliant ORB product will be shown.
The server application performing the interactive processing and the session management process cooperate with each other in the distributed object environment to realize session management.

【0082】セッション管理プロセスは、プロセス内部
のメモリとデータベーステーブルを使用し、セッション
状態情報を管理する。メモリを使用するのは、セッショ
ン管理のスピードを高速化するためであり、データベー
ステーブルを使用するのはメモリ管理で発生するメモリ
不足の問題を解決するためである。
The session management process uses the internal memory and database table of the process to manage session state information. The memory is used to speed up session management, and the database table is used to solve the memory shortage problem that occurs in the memory management.

【0083】対話処理を行っているサーバアプリケーシ
ョンのセッション管理プロセスへアクセスするインタフ
ェースは、セッション管理プロセスがCORBA準拠の
分散オブジェクトとして実装されているため、セッショ
ン管理プロセスが分散オブジェクト環境内のどこで稼動
しようとも変更する必要が無い。このことは、クライア
ント/サーバ間の対話処理とは別に、セッション管理プ
ロセスのみの最適化を求めマシンの機種やOS(Ope
rating System)等のプラットフォーム
(platform)を選択することができる可能性が
あることを意味する。例えば、物理メモリのコストパフ
ォーマンスが高いマシンを選択すれば、大量のメモリを
消費できるためセッション管理の高速化が実現できる。
Since the interface for accessing the session management process of the server application which is performing the interactive processing is implemented as a CORBA-compliant distributed object, no matter where the session management process operates in the distributed object environment. No need to change. This requires optimization of only the session management process in addition to the interaction processing between the client and server, and the machine type and OS (Ope).
It means that it may be possible to select a platform such as a rating system. For example, if a machine with a high cost performance of physical memory is selected, a large amount of memory can be consumed, so that session management can be speeded up.

【0084】セッション管理プロセスでは、その内部
に、セッション状態情報用エリアを確保する。対話処理
毎のセッション状態情報はここで管理される。同時期に
発生する対話処理が多くなり、すなわち管理すべきセッ
ション状態情報が多くなり、セッション状態情報用エリ
アがオーバフローした場合、セッション状態情報用エリ
アから最も古くに管理されたセッション状態情報を抜き
出し、それをデータベースで管理する。これにより、最
新のセッション状態情報はメモリで管理され、頻繁なサ
ービス要求を行うクライアントには高速なレスポンスを
返すことに貢献する。
In the session management process, an area for session state information is secured inside. Session state information for each interactive process is managed here. When the number of conversation processes that occur at the same time increases, that is, the session state information to be managed increases and the session state information area overflows, the oldest managed session state information is extracted from the session state information area, Manage it in the database. As a result, the latest session state information is managed in the memory, which contributes to returning a high-speed response to the client who makes frequent service requests.

【0085】このセッション状態情報用エリアは、セッ
ション管理プロセス起動時に確保されるため、長時間運
転することにより引き起こされるメモリ不足の心配はな
い。
Since the session status information area is secured when the session management process is started, there is no fear of memory shortage caused by long-time operation.

【0086】セッション管理のパフォーマンスを最も上
げるには、確保するセッション状態情報用エリアのサイ
ズを、システムの性能が許す限り、同時期に発生し得る
対話処理の最大数(以下、最大トラフィック量ともい
う)を見込んで設定する。万が一、最大トラフィック量
を超えたアクセスが発生したとしても、データベースで
も管理されるため安全である。また、データベースでも
管理されるということは、予想した最大トラフィック量
に、更に安全を見込んだ量のエリアを、すなわち冗長な
エリアを加えてメモリ中に確保する必要がなくなる。
In order to maximize the performance of session management, the size of the secured session state information area is set to the maximum number of interactive processes that can occur at the same time (hereinafter also referred to as the maximum traffic amount) as long as the system performance allows. ) And set. Even if access exceeds the maximum traffic volume, it is safe because it is managed by the database. Further, the fact that it is managed by the database also eliminates the need to secure an area with a safer amount, that is, a redundant area, in the memory in addition to the expected maximum traffic volume.

【0087】セッション管理プロセスは、対話処理毎に
ユニークなセッションIDを付与し、このセッションI
D毎にメモリ内のセッション状態情報エリアとデータベ
ーステーブルのテーブルレコードを使用してセッション
状態情報を管理する。さらに、このセッションIDを使
用して、対話処理を行うサーバアプリケーションと連携
させることによりセッション管理を行う。
The session management process assigns a unique session ID to each interactive process, and the session I
The session state information is managed using the session state information area in the memory and the table record of the database table for each D. Further, using this session ID, session management is performed by cooperating with a server application that performs interactive processing.

【0088】以下、図面を用いて上述した本発明のセッ
ション管理装置の機能を具体的に説明する。
The functions of the session management apparatus of the present invention described above will be described in detail below with reference to the drawings.

【0089】図1は、本発明の一実施形態を示す分散オ
ブジェクト環境で稼動するクライアント/サーバ間のセ
ッション管理装置を適用可能なクライアント/サーバシ
ステムの全体を示すブロック図であり、対話処理とセッ
ション管理プロセスの連携、セッション管理プロセスの
構造及びセッション管理プロセスが管理するメモリとデ
ータベーステーブルの構造を示している。
FIG. 1 is a block diagram showing an overall client / server system to which a client / server session management device operating in a distributed object environment according to an embodiment of the present invention can be applied. It shows the cooperation of the management processes, the structure of the session management process, and the structures of the memory and the database table managed by the session management process.

【0090】図において、200はクライアント装置
で、例えばパーソナルコンピュータ,ワークステーショ
ン等の情報処理装置で構成される。クライアントアプリ
ケーション5は、このクライアント装置200上で動作
する(クライアント装置200の図示しないCPUによ
り実行される)。また、100はサーバ装置であり、例
えばパーソナルコンピュータ,ワークステーション等の
情報処理装置で構成される。情報処理装置100,20
0は、それぞれCPU,ROM,RAM,ハードディス
ク(HD)等のその他の記録媒体等を有し、該CPUに
よりROM,その他の記録媒体に格納されたプログラム
をRAMにロードして実行することができる。サーバア
プリケーション4は、このサーバ装置100上で動作す
る(サーバ装置100の図示しないCPUにより実行さ
れる)。さらに、クライアント装置200とサーバ装置
100はLAN,インターネット等のネットワーク31
を介して双方向に通信可能に構成される。
In the figure, reference numeral 200 denotes a client device, which is constituted by an information processing device such as a personal computer or a workstation. The client application 5 operates on this client device 200 (executed by a CPU (not shown) of the client device 200). Further, reference numeral 100 denotes a server device, which is constituted by an information processing device such as a personal computer or a workstation. Information processing device 100, 20
Reference numeral 0 has a CPU, a ROM, a RAM, and other recording media such as a hard disk (HD), and the CPU can load a program stored in the ROM or another recording medium into the RAM and execute the program. . The server application 4 operates on this server device 100 (executed by a CPU (not shown) of the server device 100). Furthermore, the client device 200 and the server device 100 are connected to a network 31 such as a LAN or the Internet.
It is configured to be capable of bidirectional communication via.

【0091】クライアントアプリケーション5とサーバ
アプリケーション4を含むクライアント/サーバシステ
ムは、ORB通信を使用した分散オブジェクト環境で稼
動するクライアント/サーバシステムであって、従来の
技術の欄で図15〜図17に示したいずれの場合であっ
てもよい。
The client / server system including the client application 5 and the server application 4 is a client / server system which operates in a distributed object environment using ORB communication, and is shown in FIGS. It may be either case.

【0092】サーバ装置100において、1はセッショ
ン管理プロセス(サーバ装置100の図示しないCPU
により実行される)で、上述したように対話処理を行う
クライアント/サーバシステムのサーバ(サーバアプリ
ケーション4)が分散オブジェクトとして実装されてい
る場合に、CORBA準拠のORB製品により分散オブ
ジェクトのサーバとして実装され、内部にバッファコン
トローラ2とセッション管理メモリ3を持ちシステム空
間に常駐し、ORB30を介してサーバアプリケーショ
ン4と双方向に通信可能である。バッファコントローラ
2は、メモリ確保部21とレコード制御部22とレコー
ド監視部23の3部から構成される。
In the server device 100, 1 is a session management process (a CPU (not shown) of the server device 100).
When the server (server application 4) of the client / server system that performs interactive processing as described above is implemented as a distributed object, it is implemented as a distributed object server by a CORBA-compliant ORB product. , Has a buffer controller 2 and a session management memory 3 inside, is resident in the system space, and can bidirectionally communicate with the server application 4 via the ORB 30. The buffer controller 2 is composed of a memory securing unit 21, a record control unit 22, and a record monitoring unit 23.

【0093】21はメモリ確保部で、セッション管理プ
ロセス1起動時にセッション管理メモリ3を図示しない
RAM内に確保するとともに、図示しないHD上のデー
タベース6と接続を行いセッション管理テーブル61の
テーブルレコードにアクセスする準備を行う。
A memory securing unit 21 secures the session management memory 3 in the RAM (not shown) when the session management process 1 is started, and connects to the database 6 on the HD (not shown) to access the table record of the session management table 61. Prepare to do.

【0094】レコード制御部22は、セッション状態情
報を管理したいアプリケーション(サーバアプリケーシ
ョン4)からの要求で、セッション管理メモリ内のレコ
ードをセッションIDに基づいて制御するものであり、
ORB30によりサーバアプリケーション4に提供する
下記4つのサービス(22a〜22d)を持つ。
The record control unit 22 controls a record in the session management memory based on the session ID in response to a request from an application (server application 4) that wants to manage session state information.
The ORB 30 has the following four services (22a to 22d) provided to the server application 4.

【0095】・レコード割当サービス22a レコード割当サービス22aは、対話処理毎にユニーク
なセッションIDを付与することと、セッション管理メ
モリ3内にセッションIDとセッション状態情報の対を
格納するレコードを確保することと、対話処理を行って
いるサーバアプリケーション4へセッションIDを返す
ことを行う。
Record allocation service 22a The record allocation service 22a assigns a unique session ID to each interactive process and secures a record in the session management memory 3 for storing a pair of session ID and session state information. Then, the session ID is returned to the server application 4 which is performing the interactive processing.

【0096】・レコード読み込みサービス22b レコード読み込みサービス22bは、対話処理を行って
いるサーバアプリケーション4からのセッションIDを
基に、セッション管理メモリ3の当該レコードからセッ
ション状態情報を取得することを行う。
Record read service 22b The record read service 22b acquires the session state information from the record in the session management memory 3 based on the session ID from the server application 4 which is performing the interactive processing.

【0097】・レコード書き込みサービス22c レコード書き込みサービス22cは、対話処理を行って
いるサーバアプリケーション4からのセッションIDを
基に、セッション状態情報を当該レコードに格納するこ
とを行う。
Record write service 22c The record write service 22c stores the session state information in the record based on the session ID from the server application 4 which is performing the interactive processing.

【0098】・レコード開放サービス22d レコード開放サービス22dは、対話処理を行っている
サーバアプリケーション4からのセッションIDを基
に、管理する必要が無くなったセッション状態情報が格
納されている当該レコードを開放する。
Record release service 22d The record release service 22d releases the record in which the session state information that is no longer required to be stored is stored based on the session ID from the server application 4 which is performing the interactive processing. .

【0099】レコード監視部23は、次の3つの機能
(〜)を司る。
The record monitoring unit 23 controls the following three functions (-).

【0100】セッション状態情報過多によりセッショ
ン管理メモリ内で管理できなくなったセッション状態情
報(例えば、セッション管理メモリ3中の最も昔にアク
セスされたレコード(最後にアクセスされてからの経過
時間が最も長いレコード))を、レコード割当サービス
22aからの要求により、データベース6のセッション
管理テーブル61にセッションIDをキーにして書き出
す。書き出されたセッション管理メモリ3の当該レコー
ドを開放する。
Session status information that cannot be managed in the session management memory due to excessive session status information (for example, the earliest record accessed in the session management memory 3 (the record having the longest elapsed time since the last access). )) Is written to the session management table 61 of the database 6 by using the session ID as a key in response to a request from the record allocation service 22a. The written record in the session management memory 3 is released.

【0101】レコード読み込みサービス22bもしく
はレコード書き込みサービス22cもしくはレコード開
放サービス22dからの要求により、レコード制御部2
2で必要となったデータベーステーブル中のセッション
状態情報(データベース6のセッション管理テーブル6
1内の要求されたレコード)を、セッション管理メモリ
3内の開放されているレコードに書き出す。書き出した
セッション管理テーブル61内の当該テーブルレコード
は削除する。セッション管理メモリ3内に開放されてい
るレコードが無い場合、セッション管理メモリ3中の最
も昔にアクセスされたレコードをセッション管理テーブ
ル61にセッションIDをキーにして書き出し、書き出
されたセッション管理メモリ3の当該レコードを開放し
た後、当該レコードに対してセッション管理テーブル6
1内の要求されたレコードを書き出す。
Upon request from the record reading service 22b, the record writing service 22c, or the record releasing service 22d, the record control unit 2
Session status information (database session management table 6 of database 6) in the database table required in 2.
(The requested record in 1) is written to the released record in the session management memory 3. The table record in the written session management table 61 is deleted. When there is no released record in the session management memory 3, the earliest accessed record in the session management memory 3 is written to the session management table 61 using the session ID as a key, and the written session management memory 3 is written. After releasing the relevant record in the session management table 6
Write out the requested record in 1.

【0102】セッション管理メモリ3及びセッション
管理テーブル61のレコード上のタイムスタンプからタ
イムアウトしたレコードを消去する。
The time-out record is deleted from the time stamps on the records in the session management memory 3 and the session management table 61.

【0103】次に、クライアント装置200において、
クライアントアプリケーション5は、ネットワーク31
を介してサーバアプリケーション4のサービスを呼び出
す(リクエストする)ことができる。なお、サーバアプ
リケーション4は、ORB30でレコード制御部22の
各サービスを呼び出すことによりセッション管理プロセ
ス1との連携を実現し、クライアントアプリケーション
5からのリクエストに応じた処理を実行して、該処理結
果をレスポンスとしてクライアントアプリケーション5
に返信する。
Next, in the client device 200,
The client application 5 uses the network 31
The service of the server application 4 can be called (requested) via the. The server application 4 realizes cooperation with the session management process 1 by calling each service of the record control unit 22 in the ORB 30, executes a process according to a request from the client application 5, and displays the process result. Client application 5 as a response
Reply to.

【0104】なお、セッション管理プロセス1は、CO
RBA準拠の分散オブジェクトとして実装するため、レ
コード制御部22の各サービス22a〜22dに対する
対話処理を行っているサーバアプリケーション4からの
インタフェースは、セッション管理プロセスが分散オブ
ジェクト環境で動作する限り、環境に依存しない。すな
わち、稼動マシンに変更があってもインタフェースを実
装しているサーバアプリケーションに変更は無い。
The session management process 1 uses the CO
Since it is implemented as an RBA-compliant distributed object, the interface from the server application 4 that is performing interactive processing for each service 22a to 22d of the record control unit 22 depends on the environment as long as the session management process operates in the distributed object environment. do not do. That is, even if the operating machine is changed, the server application that implements the interface is not changed.

【0105】よって、図1では、サーバアプリケーショ
ン4、セッション管理プロセス1、データベース6が、
同一のサーバ装置100上で実現される場合について説
明したが、サーバアプリケーション4、セッション管理
プロセス1、データベース6が異なる装置(どのような
プラットフォームであってもよい)上で実現されるよう
に構成することも可能である。
Therefore, in FIG. 1, the server application 4, the session management process 1, and the database 6 are
The case where it is implemented on the same server device 100 has been described, but the server application 4, the session management process 1, and the database 6 are configured to be implemented on different devices (any platform may be used). It is also possible.

【0106】以上のような構成により、従来の通信トラ
フィックの増大に起因して発生するレスポンスの問題、
メモリ管理の問題、適用環境の問題、及びサーバ性能劣
化の問題を、セッション管理を行う常駐型プロセスの構
築により解決するものであり、対話処理を行う分散オブ
ジェクトとして実装されたサーバアプリケーション4
と、システム空間に常駐する分散オブジェクトとして実
装されたセッション管理プロセス1との連携によりセッ
ション状態情報の管理を実現することができる。
With the above configuration, the problem of response caused by the increase in conventional communication traffic,
A server application 4 which solves memory management problems, application environment problems, and server performance deterioration problems by constructing a resident process that manages sessions, and is implemented as a distributed object that performs interactive processing.
The session state information can be managed by cooperation with the session management process 1 implemented as a distributed object resident in the system space.

【0107】なお、セッション状態情報としては、ショ
ッピングカートのような、セッション中に発生する全て
の情報を対象としている。
As the session state information, all information generated during the session such as a shopping cart is targeted.

【0108】図2は、図1に示したクライアント/サー
バシステムのセッション管理の流れを示す図であり、図
1と同一のものには同一の符号を付してある。以下、図
2をもとに、セッション管理の流れを説明する。
FIG. 2 is a diagram showing the flow of session management of the client / server system shown in FIG. 1. The same components as those in FIG. 1 are designated by the same reference numerals. The flow of session management will be described below with reference to FIG.

【0109】セッション管理プロセス1の起動時、バッ
ファコントローラ2内のメモリ確保部21は、サーバ装
置100内の図示しないHDに記憶されるプロパティフ
ァイル7から、セッション状態情報を格納することがで
きる最大レコード数と、セッション状態情報エリア長を
読み込む。
When the session management process 1 is started, the memory securing unit 21 in the buffer controller 2 stores the maximum record that can store session state information from the property file 7 stored in the HD (not shown) in the server apparatus 100. Read the number and session state information area length.

【0110】次にメモリ確保部21は、セッション管理
メモリ3として(最大レコード数×セッション状態情報
エリア長)分のエリアを確保する。また、データベース
6と接続を行いセッション管理テーブル61のテーブル
レコードにアクセスする準備を行う。
Next, the memory securing section 21 secures an area of (maximum number of records × session state information area length) as the session management memory 3. Also, the database 6 is connected to prepare for accessing the table record of the session management table 61.

【0111】クライアントアプリケーション5aが、サ
ーバアプリケーション4aと対話を開始すると、サーバ
アプリケーション4aは、レコード割当サービス22a
に対し、レコード割当の依頼を行う。
When the client application 5a starts a dialogue with the server application 4a, the server application 4a receives the record allocation service 22a.
Request for record allocation.

【0112】レコード割当サービス22aは、セッショ
ン管理メモリ3の中から、現在利用されてないレコード
を見つける。図2ではレコード3aを見つけている。レ
コード割当サービス22aは、セッションIDとしてユ
ニークなキーコードを振る。図2では「1」が振られて
いる。レコード割当サービス22aは、レコード3aの
セッションIDエリアにセッションIDの「1」を格納
する。レコード割当サービス22aは、セッションID
の「1」をサーバアプリケーション4aに返す。
The record allocation service 22a finds a record in the session management memory 3 that is not currently used. In FIG. 2, the record 3a is found. The record allocation service 22a assigns a unique key code as the session ID. In FIG. 2, “1” is assigned. The record allocation service 22a stores the session ID "1" in the session ID area of the record 3a. The record allocation service 22a has a session ID
“1” is returned to the server application 4a.

【0113】サーバアプリケーション4aは、図示しな
いデータベースアクセス等の処理(クライアントアプリ
ケーション5からのリクエストに応じた処理)をした
後、レコード書き込みサービス22cに対し、セッショ
ンIDの「1」とセッション状態情報を渡す。レコード
書き込みサービス22cは、セッションIDが「1」で
あるレコード3aのセッション状態情報エリアに、セッ
ション状態情報を格納する。
The server application 4a passes the session ID "1" and the session state information to the record writing service 22c after processing such as database access (not shown) (processing according to the request from the client application 5). . The record writing service 22c stores the session state information in the session state information area of the record 3a whose session ID is "1".

【0114】サーバアプリケーション4aは、クライア
ントアプリケーション5aにセッションIDの「1」と
処理結果を返す。
The server application 4a returns the session ID "1" and the processing result to the client application 5a.

【0115】次に、クライアントアプリケーション5a
が、サーバアプリケーション4aにセッションIDの
「1」を含めたサービス要求を行うと、サーバアプリケ
ーション4aは、レコード読み込みサービス22bにセ
ッションIDの「1」を渡す。
Next, the client application 5a
However, when the server application 4a makes a service request including the session ID "1", the server application 4a passes the session ID "1" to the record reading service 22b.

【0116】レコード読み込みサービス22bはセッシ
ョンIDが「1」であるレコード3aからセッション状
態情報を読み込み、セッション状態情報をサーバアプリ
ケーション4aに返す。
The record reading service 22b reads the session state information from the record 3a having the session ID "1" and returns the session state information to the server application 4a.

【0117】サーバアプリケーション4aは、クライア
ントアプリケーション5からのデータとセッション状態
情報を元に処理(クライアントアプリケーション5から
のリクエストに応じた処理)を行う。
The server application 4a performs processing (processing according to a request from the client application 5) based on the data from the client application 5 and the session state information.

【0118】サーバアプリケーション4aは、レコード
書き込みサービス22cに対し、セッションIDの
「1」とセッション状態情報を渡す。
The server application 4a passes the session ID "1" and the session state information to the record writing service 22c.

【0119】レコード書き込みサービス22cは、セッ
ションIDが「1」であるレコード3aのセッション状
態情報エリアに、セッション状態情報を格納する。
The record writing service 22c stores the session state information in the session state information area of the record 3a whose session ID is "1".

【0120】サーバアプリケーション4aは、クライア
ントアプリケーション5aにセッションIDの「1」と
処理結果を返す。
The server application 4a returns the session ID "1" and the processing result to the client application 5a.

【0121】次に、クライアントアプリケーション5a
が、サーバアプリケーション4bにIDの「1」を含め
たサービス要求を行うと、サーバアプリケーション4b
は、レコード読み込みサービス22bにセッションID
の「1」を渡す。
Next, the client application 5a
Makes a service request including the ID "1" to the server application 4b, the server application 4b
Session ID to the record reading service 22b
Pass "1".

【0122】レコード読み込みサービス22bは、セッ
ションIDが「1」であるレコード3aからセッション
状態情報を読み込み、セッション状態情報をサーバアプ
リケーション4bに返す。
The record reading service 22b reads the session state information from the record 3a whose session ID is "1" and returns the session state information to the server application 4b.

【0123】サーバアプリケーション4bは、クライア
ントアプリケーション5aからのデータとセッション状
態情報を元に処理(クライアントアプリケーション5a
からのリクエストに応じた処理)を行う。
The server application 4b processes based on the data and session state information from the client application 5a (client application 5a
Process according to the request from).

【0124】サーバアプリケーション4bは、レコード
書き込みサービス22cに対し、セッションIDの
「1」とセッション状態情報を渡す。
The server application 4b passes the session ID "1" and the session state information to the record writing service 22c.

【0125】レコード書き込みサービス22cは、セッ
ションIDが「1」であるレコード3aのセッション状
態情報エリアに、セッション状態情報を格納する。
The record writing service 22c stores the session state information in the session state information area of the record 3a whose session ID is "1".

【0126】サーバアプリケーション4bは、クライア
ントアプリケーション5aにセッションIDの「1」を
含めた応答を返す。
The server application 4b returns a response including the session ID "1" to the client application 5a.

【0127】クライアントアプリケーション5aは、サ
ーバアプリケーション4bにセッションIDの「1」を
含めた対話処理の終了要求を行う。
The client application 5a requests the server application 4b to end the interactive processing including the session ID "1".

【0128】サーバアプリケーション4bは、レコード
読み込みサービス22bにセッションIDの「1」を渡
す。
The server application 4b passes the session ID "1" to the record reading service 22b.

【0129】レコード読み込みサービス22bはセッシ
ョンIDが「1」であるレコード3aからセッション状
態情報を読み込み、セッション状態情報をサーバアプリ
ケーション4bに返す。
The record reading service 22b reads the session state information from the record 3a having the session ID "1" and returns the session state information to the server application 4b.

【0130】サーバアプリケーション4bは、クライア
ントアプリケーション5aからのデータとセッション状
態情報を元に終了処理を行う。
The server application 4b performs termination processing based on the data and session state information from the client application 5a.

【0131】サーバアプリケーション4bは、レコード
開放サービス22dにセッションIDの「1」を渡す。
The server application 4b passes the session ID "1" to the record release service 22d.

【0132】レコード開放サービス22dは、セッショ
ンIDが「1」であるレコード3aを開放する。
The record release service 22d releases the record 3a whose session ID is "1".

【0133】サーバアプリケーション4bは、クライア
ントアプリケーション5aに最終応答を返す。
The server application 4b returns a final response to the client application 5a.

【0134】図2の点線は、クライアントアプリケーシ
ョン5bが、サーバアプリケーション4c及びサーバア
プリケーション4dのサービスを呼び出し、サーバアプ
リケーション4c及びサーバアプリケーション4dがセ
ッション管理プロセス1と連携して、レコード3bに対
してセッション状態情報の書き込みや読み込みを行って
いることを表わしている。
The dotted line in FIG. 2 indicates that the client application 5b calls the services of the server application 4c and the server application 4d, the server application 4c and the server application 4d cooperate with the session management process 1, and the session status for the record 3b. Indicates that information is being written or read.

【0135】レコード割当サービス22aは、全てのレ
コードが割当されていて新規に割当することができない
場合、レコード監視部23に、レコードを開放するよう
要求する。
The record allocation service 22a requests the record monitoring unit 23 to release the record when all the records have been allocated and cannot be newly allocated.

【0136】レコード監視部23は、最も昔にアクセス
されたレコードの内容をデータベース6のセッション管
理テーブル61にセッションIDをキーにして待避させ
る。そして、当該レコードを開放する。開放した結果を
レコード割当サービス22aに返す。
The record monitoring unit 23 saves the contents of the oldest accessed record in the session management table 61 of the database 6 using the session ID as a key. Then, the record is released. The released result is returned to the record allocation service 22a.

【0137】レコード割当サービス22aは、処理を続
行する。
The record allocation service 22a continues the processing.

【0138】レコード読み込みサービス22b、レコー
ド書き込みサービス22c、レコード開放サービス22
dのそれぞれがセッション管理メモリ3にアクセスし
て、セッションIDに対応するレコードを見つけること
ができない場合、レコード監視部23に、セッションI
Dが一致する当該レコードがないかセッション管理テー
ブル61を検索するよう要求する。
Record read service 22b, record write service 22c, record release service 22
When each of the d's accesses the session management memory 3 and cannot find the record corresponding to the session ID, the record monitoring unit 23 displays the session I
A request is made to search the session management table 61 for a corresponding record in which D matches.

【0139】レコード監視部23は、セッション管理テ
ーブル61を、セッションIDをキーにして検索する。
当該レコードが存在した場合、セッション管理メモリ3
の空きレコードに当該レコードを戻す。空きが無い場合
は、前述の開放処理を行う。
The record monitoring unit 23 searches the session management table 61 using the session ID as a key.
If the record exists, the session management memory 3
Return the record to the empty record of. If there is no free space, the above-mentioned release processing is performed.

【0140】レコード監視部23は、当該レコードがセ
ッション管理メモリ3に戻ったことを要求元に応答す
る。
The record monitoring unit 23 responds to the request source that the record has been returned to the session management memory 3.

【0141】レコード読み込みサービス22b、レコー
ド書き込みサービス22c、レコード開放サービス22
dのそれぞれは処理を続行する。
Record read service 22b, record write service 22c, record release service 22
Each of d continues processing.

【0142】レコード監視部23は、セッション管理メ
モリ3及びセッション管理テーブル61のレコード上の
タイムスタンプを常時監視し、タイムアウトしたレコー
ドを削除する。
The record monitoring unit 23 constantly monitors the time stamps on the records in the session management memory 3 and the session management table 61, and deletes the records that have timed out.

【0143】以上が、セッション管理の流れである。The above is the flow of session management.

【0144】以下、図3〜図10のフローチャートを参
照して、図1に示したクライアント/サーバシステムの
セッション管理手順について説明する。
The session management procedure of the client / server system shown in FIG. 1 will be described below with reference to the flowcharts of FIGS.

【0145】図3は、本発明の実施形態における第1の
制御処理手順の一例を示すフローチャートであり、図1
に示したクライアントアプリケーション5における処理
に対応する。なお、このフローチャートの処理は、図1
に示したクライアント装置200の図示しないCPUに
より記録媒体に格納されたプログラムに基づいて実行さ
れるものとする。また、S101〜S108は各ステッ
プを示す。
FIG. 3 is a flow chart showing an example of the first control processing procedure in the embodiment of the present invention.
It corresponds to the processing in the client application 5 shown in FIG. In addition, the process of this flowchart is as shown in FIG.
It is assumed that the CPU (not shown) of the client device 200 shown in FIG. 2 executes the program based on the program stored in the recording medium. Further, S101 to S108 indicate each step.

【0146】まず、ステップS101において、クライ
アントアプリケーション5は、サーバアプリケーション
4に対話開始要求(開始リクエスト)を送信し、ステッ
プS102において、サーバアプリケーション4からレ
スポンスとしてセッションIDと処理結果を受信する
と、ステップS103において、受信した処理結果を表
示する。
First, in step S101, the client application 5 transmits a dialog start request (start request) to the server application 4, and in step S102, when the session ID and the processing result are received from the server application 4 as a response, step S103 At, the received processing result is displayed.

【0147】次に、ステップS104において、対話を
終了するか否かを判定し、まだ対話を終了しない場合
は、ステップS105において、クライアントアプリケ
ーション5は、サーバアプリケーション4にセッション
IDを含めたサービス要求(リクエスト)を行い、ステ
ップS102に戻る。
Next, in step S104, it is determined whether or not the dialogue is to be ended. If the dialogue is not to be ended yet, in step S105, the client application 5 requests the service request including the session ID in the server application 4 ( Request) and the process returns to step S102.

【0148】一方、ステップS104で、対話を終了す
る場合は、ステップS106において、クライアントア
プリケーション5は、サーバアプリケーション4にセッ
ションIDを含めた対話処理の終了要求(終了リクエス
ト)を行う。
On the other hand, when ending the dialogue in step S104, the client application 5 issues a termination request (termination request) of the dialogue processing including the session ID to the server application 4 in step S106.

【0149】次に、ステップS107において、サーバ
アプリケーション4からの最終応答を受信し、ステップ
S108において、最終処理結果を表示し、処理を終了
する。
Next, in step S107, the final response from the server application 4 is received, and in step S108, the final processing result is displayed, and the processing ends.

【0150】なお、図3のステップS101,S10
5,S106でサーバアプリケーションに対して行なっ
ているリクエストは、それぞれ異なるサーバアプリケー
ションに対するものであってもよい(例えば、図2に示
したサーバアプリケーション4a〜4b)。但し、リク
エストとそのレスポンスは一組となっており、同一のク
ライアントアプリケーションとサーバアプリケーション
との間で行なわれるものとする。
Incidentally, steps S101 and S10 in FIG.
5, the request made to the server application in S106 may be for different server applications (for example, the server applications 4a to 4b shown in FIG. 2). However, it is assumed that the request and the response form one set and are performed between the same client application and server application.

【0151】図4〜図6は、本発明の実施形態における
第2の制御処理手順の一例を示すフローチャートであ
り、図1に示したサーバアプリケーション4における処
理に対応する。なお、このフローチャートの処理は、図
1に示したサーバ装置100の図示しないCPUにより
記録媒体に格納されたプログラムに基づいて実行される
ものとする。また、S201〜S218は各ステップを
示す。
4 to 6 are flowcharts showing an example of the second control processing procedure in the embodiment of the present invention, and correspond to the processing in the server application 4 shown in FIG. Note that the processing of this flowchart is executed by the CPU (not shown) of the server apparatus 100 shown in FIG. 1 based on the program stored in the recording medium. Further, S201 to S218 indicate each step.

【0152】まず、ステップS201において、クライ
アントアプリケーション5からのリクエストを受け、ス
テップS202において、該リクエストが対話開始要求
であるか否かを判定し、対話開始要求であると判定され
た場合は、ステップS203において、セッション管理
プロセス1のレコード割当サービス22aにレコード割
当の依頼を行い、ステップS204において、セッショ
ン管理プロセスのレコード割当サービス22aからセッ
ションIDを取得する。
First, in step S201, a request from the client application 5 is received, and in step S202, it is determined whether the request is a dialogue start request. If it is determined that the request is a dialogue start request, In S203, a request for record allocation is made to the record allocation service 22a of the session management process 1, and in step S204, the session ID is acquired from the record allocation service 22a of the session management process.

【0153】次に、ステップS205において、クライ
アントアプリケーション5から対話開始要求時にリクエ
ストされた処理を実行し、ステップS206において、
セッション管理プロセス1のレコード書き込みサービス
22cにセッションIDとセッション状態情報を送信し
てセッション状態情報の書き込みを依頼する。
Next, in step S205, the processing requested by the client application 5 at the time of the dialogue start request is executed, and in step S206,
The session ID and session state information are transmitted to the record writing service 22c of the session management process 1 to request writing of the session state information.

【0154】次に、ステップS207において、クライ
アントアプリケーション5に、セッションIDと処理結
果を送信し、ステップS201に戻る。
Next, in step S207, the session ID and the processing result are transmitted to the client application 5, and the process returns to step S201.

【0155】また、ステップS202で、クライアント
アプリケーション5からのリクエストが対話開始要求で
ないと判定された場合は、ステップS208において、
クライアントアプリケーション5からのリクエストが対
話終了要求であるか否かを判定し、対話終了要求でない
と判定された場合は、ステップS209において、セッ
ション管理プロセス1のレコード読み込みサービス22
bにセッションIDを送信してセッション状態の読み込
みを依頼する。
If it is determined in step S202 that the request from the client application 5 is not the dialogue start request, in step S208
It is determined whether the request from the client application 5 is a dialogue end request, and if it is determined that the request is not a dialogue end request, in step S209, the record reading service 22 of the session management process 1
Send the session ID to b and request the reading of the session state.

【0156】ステップS210において、セッション管
理プロセス1のレコード読み込みサービス22bからセ
ッション状態情報を取得すると、ステップS211にお
いて、クラアントアプリケーション5からリクエストさ
れた処理を実行し、ステップS212において、サーバ
アプリケーション4は、セッション管理プロセス1のレ
コード書き込みサービス22cに、セッションIDとセ
ッション状態情報を送信してセッション状態の書き込み
依頼を行う。
When the session state information is acquired from the record reading service 22b of the session management process 1 in step S210, the process requested by the client application 5 is executed in step S211, and the server application 4 executes the session in step S212. The session ID and session state information are transmitted to the record writing service 22c of the management process 1 to request writing of the session state.

【0157】次に、ステップS213において、クライ
アントアプリケーション5に、セッションIDと処理結
果を送信し、ステップS201に戻る。
Next, in step S213, the session ID and the processing result are transmitted to the client application 5, and the process returns to step S201.

【0158】一方、ステップS208で、クライアント
アプリケーション5からのリクエストが対話終了要求で
あると判定された場合は、ステップS214において、
セッション管理プロセス1のレコード読み込みサービス
22bにセッションIDを送信してレコード(セッショ
ン状態)の読み込みを依頼する。
On the other hand, when it is determined in step S208 that the request from the client application 5 is the dialogue end request, in step S214,
The session ID is sent to the record reading service 22b of the session management process 1 to request reading of a record (session state).

【0159】ステップS215において、セッション管
理プロセス1のレコード読み込みサービス22bからセ
ッション状態情報を取得すると、ステップS216にお
いて、終了処理を実行する。
When the session state information is acquired from the record reading service 22b of the session management process 1 in step S215, the ending process is executed in step S216.

【0160】次に、ステップS217において、セッシ
ョン管理プロセス1のレコード開放サービス22dにレ
コード開放を依頼し、ステップS218において、クラ
イアントアプリケーション5に、最終応答を送信し、ス
テップS201に戻る。
Next, in step S217, the record release service 22d of the session management process 1 is requested to release the record, in step S218, the final response is transmitted to the client application 5, and the process returns to step S201.

【0161】なお、図4〜図6に示したサーバアプリケ
ーションのプロセスは、従来の技術の欄に示したタイプ
Iのように、予めシステム空間に常駐してクライアント
からのサービス要求を待つものであっても、従来の技術
の欄に示したタイプII,IIIのように、クライアン
トからのサービス要求時に生成されるものであってもよ
く、また、クライアントアプリケーションからの開始要
求に対する処理であるステップS203〜S207と、
開始/終了要求以外の要求に対する処理であるステップ
S209〜S213と、終了要求に対する処理であるス
テップS214〜S218とは、同一のサーバアプリケ
ーション(プロセス)で行なってもよいし、図2に示し
たサーバアプリケーション4a〜4bのように、それぞ
れ異なるサーバアプリケーション(プロセス)で行なっ
てもよい。
The process of the server application shown in FIGS. 4 to 6 is resident in the system space in advance and waits for a service request from the client, like the type I shown in the section of the prior art. Alternatively, it may be generated at the time of a service request from the client, like the types II and III shown in the column of the conventional technique, and the processing from the step S203 to the start request from the client application. S207,
Steps S209 to S213, which are processes for requests other than start / end requests, and steps S214 to S218, which are processes for end requests, may be performed by the same server application (process), or the server shown in FIG. Different server applications (processes) such as the applications 4a and 4b may be used.

【0162】以下、図7〜図10を参照してセッション
管理プロセス1の各サービスについて説明する。なお、
セッション管理プロセス1は、予め起動時にセッション
バッファコントローラ2内のメモリ確保部21により、
サーバ装置100内の図示しないHDに記憶されるプロ
パティファイル7から、セッション状態情報を格納する
ことができる最大レコード数と、セッション状態情報エ
リア長を読み込み、セッション管理メモリ3として(最
大レコード数×セッション状態情報エリア長)分のエリ
アを確保し、さらに、データベース6と接続を行いセッ
ション管理テーブル61のテーブルレコードにアクセス
する準備を行っているものとする。
Each service of the session management process 1 will be described below with reference to FIGS. 7 to 10. In addition,
The session management process 1 is configured in advance by the memory securing unit 21 in the session buffer controller 2 at the time of activation.
The maximum number of records that can store the session state information and the session state information area length are read from the property file 7 stored in the HD (not shown) in the server apparatus 100, and the session management memory 3 stores (maximum number of records x session). It is assumed that an area of (state information area length) is secured, and further connection with the database 6 is made and preparations for accessing the table record of the session management table 61 are made.

【0163】図7は、本発明の実施形態における第3の
制御処理手順の一例を示すフローチャートであり、図1
に示したセッション管理プロセス1のレコード割当サー
ビス22aの処理に対応する。なお、このフローチャー
トの処理は、図1に示したサーバ装置100の図示しな
いCPUにより記録媒体に格納されたプログラムに基づ
いて実行されるものとする。また、S301〜S304
は各ステップを示す。
FIG. 7 is a flow chart showing an example of the third control processing procedure in the embodiment of the present invention.
It corresponds to the processing of the record allocation service 22a of the session management process 1 shown in FIG. Note that the processing of this flowchart is executed by the CPU (not shown) of the server apparatus 100 shown in FIG. 1 based on the program stored in the recording medium. In addition, S301 to S304
Indicates each step.

【0164】サーバアプリケーション4からのレコード
割当依頼を受信すると、ステップS301において、レ
コード割当サービス22aは、セッション管理メモリ3
に現在使用していないレコードがあるか否かを判定し、
現在使用していないレコードがあると判定された場合
は、ステップS303に進む。一方、現在使用していな
いレコードがないと判定された場合は、ステップS30
2において、レコード監視部23により、最も昔にアク
セスされたレコードをデータベース6に待避させる。
Upon receiving the record allocation request from the server application 4, in step S301, the record allocation service 22a determines that the session management memory 3
To determine if there are any records currently unused in
If it is determined that there is a record that is not currently used, the process proceeds to step S303. On the other hand, if it is determined that there is no record that is not currently used, step S30
In 2, the record monitoring unit 23 saves the oldest accessed record in the database 6.

【0165】次に、ステップS303において、レコー
ド割当サービス22aは、セッションIDとしてユニー
クなレコードを割り振り、セッション管理メモリ3に格
納し、ステップS304において、レコード割当サービ
ス22aは、サーバアプリケーション4にセッションI
Dを送信し、処理を終了する。
Next, in step S303, the record allocation service 22a allocates a unique record as the session ID and stores it in the session management memory 3, and in step S304, the record allocation service 22a causes the server application 4 to store the session ID.
D is transmitted, and the process ends.

【0166】図8は、本発明の実施形態における第4の
制御処理手順の一例を示すフローチャートであり、図1
に示したセッション管理プロセス1のレコード読み込み
サービス22bの処理に対応する。なお、このフローチ
ャートの処理は、図1に示したサーバ装置100の図示
しないCPUにより記録媒体に格納されたプログラムに
基づいて実行されるものとする。また、S401〜S4
08は各ステップを示す。
FIG. 8 is a flow chart showing an example of the fourth control processing procedure in the embodiment of the present invention.
It corresponds to the processing of the record reading service 22b of the session management process 1 shown in FIG. Note that the processing of this flowchart is executed by the CPU (not shown) of the server apparatus 100 shown in FIG. 1 based on the program stored in the recording medium. In addition, S401 to S4
08 indicates each step.

【0167】サーバアプリケーション4からのレコード
読み込み依頼を受信すると、ステップS401におい
て、レコード読み込みサービス22bは、セッションI
Dに対応するレコードがセッション管理メモリ3にある
か否かを判定し、有ると判定された場合は、ステップS
406に進む。一方、無いと判定された場合は、ステッ
プS402において、レコード監視部23により、セッ
ションIDに対応するレコードがデータベース6にある
か否かを判定し、無いと判定された場合は、ステップS
408において、サーバアプリケーション4にエラー情
報を送信し、処理を終了する。
Upon receiving the record read request from the server application 4, the record read service 22b receives the session I in step S401.
It is determined whether or not the record corresponding to D exists in the session management memory 3, and if it is determined that there is, a step S
Proceed to 406. On the other hand, if it is determined that there is not, in step S402, the record monitoring unit 23 determines whether or not the record corresponding to the session ID exists in the database 6, and if it is determined that there is no record, step S402.
At 408, the error information is transmitted to the server application 4, and the process ends.

【0168】一方、ステップS402で、セッションI
Dに対応するレコードがデータベース6に有ると判定さ
れた場合は、ステップS403において、レコード監視
部23により、セッション管理メモリ3に現在使用して
いないレコードがあるか否かを判定し、あると判定され
た場合は、ステップS405に進む。一方、現在使用し
ていないレコードがないと判定された場合は、ステップ
S404において、レコード監視部23により、最も昔
にアクセスされたレコードをデータベース6に待避させ
る。
On the other hand, in step S402, the session I
When it is determined that the record corresponding to D exists in the database 6, in step S403, the record monitoring unit 23 determines whether or not there is a record that is not currently used in the session management memory 3, and it is determined that there is a record. If so, the process proceeds to step S405. On the other hand, when it is determined that there is no record that is not currently used, the record monitoring unit 23 saves the record accessed earliest in the database 6 in step S404.

【0169】次に、ステップS405において、レコー
ド監視部23により、データベース6からセッション管
理メモリ3にレコードを戻す。
Next, in step S405, the record monitoring unit 23 returns the record from the database 6 to the session management memory 3.

【0170】次に、ステップS406において、レコー
ド読み込みサービス22bは、セッションIDに対応す
るレコードのセッション状態情報を読み込み、ステップ
S407において、レコード読み込みサービス22b
は、サーバアプリケーション4にセッション状態情報を
送信し、処理を終了する。
Next, in step S406, the record reading service 22b reads the session state information of the record corresponding to the session ID, and in step S407, the record reading service 22b.
Sends the session state information to the server application 4 and ends the process.

【0171】図9は、本発明の実施形態における第5の
制御処理手順の一例を示すフローチャートであり、図1
に示したセッション管理プロセス1のレコード書き込み
サービス22cの処理に対応する。なお、このフローチ
ャートの処理は、図1に示したサーバ装置100の図示
しないCPUにより記録媒体に格納されたプログラムに
基づいて実行されるものとする。また、S501〜S5
07は各ステップを示す。
FIG. 9 is a flowchart showing an example of the fifth control processing procedure in the embodiment of the present invention.
It corresponds to the processing of the record writing service 22c of the session management process 1 shown in FIG. Note that the processing of this flowchart is executed by the CPU (not shown) of the server apparatus 100 shown in FIG. 1 based on the program stored in the recording medium. In addition, S501 to S5
07 indicates each step.

【0172】サーバアプリケーション4からレコード書
き込み依頼を受信すると、ステップS501において、
レコード書き込みサービス22cは、セッションIDに
対応するレコードがセッション管理メモリ3にあるか否
かを判定し、有ると判定された場合は、ステップS50
6に進む。一方、無いと判定された場合は、ステップS
502において、レコード監視部23により、セッショ
ンIDに対応するレコードがデータベース6にあるか否
かを判定し、無いと判定された場合は、ステップS50
7において、レコード書き込みサービス22cは、サー
バアプリケーション4にエラー情報を送信し、処理を終
了する。
When a record write request is received from the server application 4, in step S501,
The record writing service 22c determines whether or not the record corresponding to the session ID is present in the session management memory 3, and if it is determined that the record is present, the step S50 is performed.
Go to 6. On the other hand, if it is determined that there is not, step S
In 502, the record monitoring unit 23 determines whether or not there is a record corresponding to the session ID in the database 6, and if it is determined that there is not, a step S50.
In 7, the record writing service 22c sends error information to the server application 4 and ends the processing.

【0173】一方、ステップS502で、セッションI
Dに対応するレコードがデータベース6に有ると判定さ
れた場合は、ステップS503において、レコード書き
込みサービス22cは、セッション管理メモリ3に現在
使用していないレコードがあるか否かを判定し、あると
判定された場合は、ステップS505に進む。一方、現
在使用していないレコードがないと判定された場合は、
ステップS504において、レコード監視部23によ
り、最も昔にアクセスされたレコードをデータベース6
に待避させる。
On the other hand, in step S502, the session I
If it is determined that the record corresponding to D exists in the database 6, the record writing service 22c determines in step S503 whether or not there is a record currently unused in the session management memory 3, and it is determined that there is. If so, the process proceeds to step S505. On the other hand, if it is determined that there are no records currently unused,
In step S504, the record monitoring unit 23 stores the earliest record accessed in the database 6
To evacuate.

【0174】次に、ステップS505において、レコー
ド監視部23により、データベース6からセッション管
理メモリ3にレコードを戻す。
Next, in step S505, the record monitoring unit 23 returns the record from the database 6 to the session management memory 3.

【0175】次に、ステップS506において、レコー
ド書き込みサービス22cは、セッションIDに対応す
るレコードにセッション状態情報を書き込み、処理を終
了する。
Next, in step S506, the record writing service 22c writes the session state information in the record corresponding to the session ID, and ends the processing.

【0176】図10は、本発明の実施形態における第6
の制御処理手順の一例を示すフローチャートであり、図
1に示したセッション管理プロセス1のレコード開放サ
ービス22dの処理に対応する。なお、このフローチャ
ートの処理は、図1に示したサーバ装置100の図示し
ないCPUにより記録媒体に格納されたプログラムに基
づいて実行されるものとする。また、S601〜S60
5は各ステップを示す。
FIG. 10 shows a sixth embodiment of the present invention.
2 is a flowchart showing an example of a control processing procedure of the record release service 22d of the session management process 1 shown in FIG. Note that the processing of this flowchart is executed by the CPU (not shown) of the server apparatus 100 shown in FIG. 1 based on the program stored in the recording medium. In addition, S601 to S60
Reference numeral 5 indicates each step.

【0177】サーバアプリケーション4からレコード開
放依頼を受信すると、ステップS601において、レコ
ード開放サービス22dは、セッションIDに対応する
レコードがセッション管理メモリ3にあるか否かを判定
し、あると判定された場合は、ステップS602におい
て、レコード開放サービス22dは、セッションIDに
対応するレコードをセッション管理メモリ3から開放
し、処理を終了する。
When the record release request is received from the server application 4, in step S601, the record release service 22d determines whether or not the record corresponding to the session ID exists in the session management memory 3, and when it is determined that there is a record. In step S602, the record release service 22d releases the record corresponding to the session ID from the session management memory 3, and ends the process.

【0178】一方、ステップS601で、セッションI
Dに対応するレコードがセッション管理メモリ3にない
と判定された場合は、ステップS603において、レコ
ード監視部23により、セッションIDに対応するレコ
ードがデータベース6にあるか否かを判定し、無いと判
定された場合は、ステップS605において、レコード
開放サービス22dは、サーバアプリケーション4にエ
ラー情報を送信し、処理を終了する。
On the other hand, in step S601, the session I
When it is determined that the record corresponding to D does not exist in the session management memory 3, the record monitoring unit 23 determines in step S603 whether or not the record corresponding to the session ID exists in the database 6, and determines that there is no record. If so, the record release service 22d transmits error information to the server application 4 in step S605, and the process ends.

【0179】一方、ステップS603で、セッションI
Dに対応するレコードがデータベース6に有ると判定さ
れた場合は、ステップS604において、レコード監視
部23により、セッションIDに対応するレコードをデ
ータベース6から削除する。
On the other hand, in step S603, the session I
When it is determined that the record corresponding to D exists in the database 6, the record monitoring unit 23 deletes the record corresponding to the session ID from the database 6 in step S604.

【0180】以下、セッション管理プロセス1とCOR
BAとの関連について説明する。
Hereinafter, the session management process 1 and COR
The relationship with BA will be described.

【0181】CORBAには、インタフェース定義言語
IDL(Interface Definition
Language)が規定されている。IDLには、サ
ーバで使用可能なオぺレーションを記述する。ここでオ
ペレーションとは、メソッドとメソッドの属性とメソッ
ドのパラメータのことであり、図2においては、レコー
ド割当サービス22a、レコード読み込みサービス22
b、レコード書き込みサービス22c、レコード開放サ
ービス22dの各サービスがオペレーションになる。
CORBA contains interface definition language IDL (Interface Definition).
(Language) is specified. The IDL describes the operations that can be used by the server. Here, an operation is a method, a method attribute, and a method parameter, and in FIG. 2, the record allocation service 22a and the record reading service 22 are shown.
b, the record writing service 22c, and the record releasing service 22d are operations.

【0182】IDLをCORBA準拠のIDLコンパイ
ラでコンパイルすると、クライアント用にスタブとサー
バ用にスケルトンクラス(以下、スケルトンという)が
生成される。
When IDL is compiled by a CORBA-compliant IDL compiler, a stub for the client and a skeleton class for the server (hereinafter referred to as a skeleton) are generated.

【0183】スタブは、ORBを介して、クライアント
がサーバのオペレーションを呼び出すために使用され
る。スケルトンは、サーバのオペレーションの属性やパ
ラメータが記述されている。これをクラス継承して、オ
ペレーションを実装する。
Stubs are used by clients to invoke server operations via the ORB. The skeleton describes attributes and parameters of server operations. Implement this operation by inheriting this from the class.

【0184】図11は、IDL定義からスタブとスケル
トンを生成する構成について示す図である。
FIG. 11 is a diagram showing a structure for generating a stub and a skeleton from the IDL definition.

【0185】図に示すように、セッション管理プロセス
1内のレコード制御部22の図2に示した4つのオペレ
ーション(サービス)は、各オペレーションのインタフ
ェースが定義してあるIDL定義20aからIDLコン
パイラ20bによってコンパイルされることにより、レ
コード制御部内各サービススタブ20cとレコード制御
部内各サービススケルトン20dが生成される。
As shown in the figure, the four operations (services) of the record control unit 22 in the session management process 1 shown in FIG. 2 are controlled by the IDL definition 20a defined by the interface of each operation to the IDL compiler 20b. By being compiled, each service stub 20c in the record control unit and each service skeleton 20d in the record control unit are generated.

【0186】図12は、図11に示したIDLコンパイ
ルによって生成されたレコード制御部内各サービススタ
ブ20cとレコード制御部内各サービススケルトン20
dの使用方法を示す図である。
FIG. 12 shows each service stub 20c in the record control unit and each service skeleton 20 in the record control unit generated by the IDL compilation shown in FIG.
It is a figure which shows the usage method of d.

【0187】図において、11aはレコード制御部内各
サービスアクセスAPIで、サーバアプリケーション4
に対してレコード制御部の各サービスを呼び出す手段を
提供するものであり、IDLコンパイルによって生成さ
れたレコード制御部内各サービススタブ20cを包含す
る。
In the figure, 11a is each service access API in the record control unit, which is the server application 4
To each service of the record control unit, and includes each service stub 20c in the record control unit generated by IDL compilation.

【0188】11bはレコード制御部内各サービスで、
IDLコンパイルによって生成されたレコード制御部内
各サービススケルトン20dを継承しており、レコード
制御部内の各サービスが実装されている。
Reference numeral 11b is each service in the record control unit.
Each service skeleton 20d in the record control unit generated by IDL compilation is inherited, and each service in the record control unit is implemented.

【0189】図に示すように、サーバアプリケーション
4は、レコード制御部内各サービスアクセスAPI11
aを呼び出すと、ORB30経由で、レコード制御部内
各サービス11bを呼び出すことができる。
As shown in the figure, the server application 4 uses each service access API 11 in the record control unit.
When a is called, each service 11b in the record control unit can be called via the ORB 30.

【0190】以上説明したように、本実施形態では、分
散オブジェクト環境において対話処理を行うクライアン
トアプリケーション5とサーバアプリケーション4間の
セッション管理を、サーバに常駐する分散オブジェクト
として実装したセッション管理プロセス1と連携して行
い、セッション管理プロセス1内のバッファコントロー
ラ2は、セッション管理メモリ3とデータベース6内の
セッション管理テーブル61の組み合わせでセッション
状態情報を管理し、さらに、バッファコントローラ2
は、内部にメモリの確保を行うメモリ確保部21と、セ
ッション状態情報が格納されるセッション管理メモリ3
内のレコードを管理するレコード制御部22とセッショ
ン管理メモリ3とセッション管理テーブル61間でレコ
ードの入出力を行うレコード監視部23を持ち、さら
に、レコード制御部22は分散オブジェクトのサービス
を内部に持ち、この分散オブジェクトのサービスとし
て、セッション管理メモリ3内のレコードを割り当てる
レコード割当サービス22aと、セッション管理メモリ
3から当該レコードを読み込むレコード読み込みサービ
ス22bと、セッション管理メモリ3に当該レコードを
書き込むレコード書き込みサービス22cと、セッショ
ン管理メモリ3内の当該レコードを開放するレコード開
放サービス22dがあり、各サービスは分散オブジェク
ト環境において、サーバアプリケーション4からサービ
ス要求されるように構成したことにより、WWW環境に
限定されない分散オブジェクト環境におけるクライアン
ト/サーバシステムにおいて、クライアント/サーバ間
の通信がステートレス,ステートフルのいずれであって
も、対話中のセッションを、クライアント/サーバシス
テムの性能を劣化させずに管理することができる。
As described above, in the present embodiment, the session management between the client application 5 and the server application 4 that perform interactive processing in the distributed object environment is linked with the session management process 1 implemented as a distributed object resident in the server. The buffer controller 2 in the session management process 1 manages the session state information by the combination of the session management memory 3 and the session management table 61 in the database 6, and further, the buffer controller 2
Is a memory reservation unit 21 that internally reserves a memory, and a session management memory 3 that stores session state information.
It has a record control unit 22 for managing the records in it, a record monitoring unit 23 for inputting / outputting records among the session management memory 3 and the session management table 61. Further, the record control unit 22 has a distributed object service inside. As services of this distributed object, a record allocation service 22a for allocating records in the session management memory 3, a record reading service 22b for reading the records from the session management memory 3, and a record writing service for writing the records in the session management memory 3. 22c and a record release service 22d that releases the record in the session management memory 3. Each service is configured to be requested by the server application 4 in the distributed object environment. As a result, in the client / server system in the distributed object environment not limited to the WWW environment, the performance of the client / server system is deteriorated even if the session between the dialogues is stateless or stateful even if the communication between the client / server is stateless or stateful. You can manage without doing.

【0191】以上より、本発明は、セッション状態情報
の管理をサーバ常駐プロセスのメモリ(図に示したプロ
セス管理メモリ3)で行うため高速に管理することがで
きる。
As described above, according to the present invention, the session state information is managed in the memory of the server resident process (process management memory 3 shown in the figure), which enables high-speed management.

【0192】また、予測した管理すべき状態情報の量が
超過した場合においても、超過分は外部記憶装置で管理
されるためデータロストの発生を防止して安全に管理を
行うことができる。
Further, even when the predicted amount of status information to be managed exceeds, the excess is managed by the external storage device, so that the data loss can be prevented and the management can be safely performed.

【0193】さらに、以下の2つの効果を奏する。Furthermore, the following two effects are exhibited.

【0194】1つめは、対話処理サーバプロセス稼動マ
シン(サーバアプリケーション4が稼動するサーバ装
置)と状態情報管理プロセスマシン(セッション管理プ
ロセス1が稼動するセッション管理装置)とを別け、か
つ状態情報管理プロセスマシンはこれのみの性能を考慮
したマシンにすれば、対話処理サーバプロセス稼動マシ
ンの性能を劣化させずに、高速な状態情報の管理ができ
る。さらに、状態情報管理プロセスマシンとして、安価
なメモリ等の費用対効果が上がるものを選択し、それが
結果的に対話処理サーバプロセス稼動マシンと異機種
(異OS)になっても、CORBAにより、その連携は
容易に構築することができる。
First, the interactive processing server process operating machine (server device in which the server application 4 operates) and the status information management process machine (session management device in which the session management process 1 operates) are separated and the status information management process If the machine is a machine considering only this performance, it is possible to manage the state information at high speed without degrading the performance of the interactive server process operating machine. Furthermore, even if a cost-effective machine such as an inexpensive memory is selected as the state information management process machine, and it becomes a different model (different OS) from the interactive processing server process operating machine, CORBA can The linkage can be easily constructed.

【0195】2つめは、状態情報管理プロセスマシンの
種類に関わらず、状態情報管理プロセスマシンにアクセ
スする対話処理サーバプロセスの方法は唯一つである。
すなわち、状態情報管理プロセスが稼動するマシンに変
更があったとしても、対話処理サーバプロセスは全く変
更する必要がなくフレキシブルなセッション管理環境を
提供することができる。
Second, regardless of the type of state information management process machine, there is only one method of the interactive processing server process for accessing the state information management process machine.
That is, even if there is a change in the machine on which the status information management process operates, the interactive processing server process does not need to be changed at all, and a flexible session management environment can be provided.

【0196】以下、図13に示すメモリマップを参照し
て本発明に係るセッション管理装置を適用可能なシステ
ムで読み出し可能なデータ処理プログラムの構成につい
て説明する。
The structure of a data processing program that can be read by a system to which the session management apparatus according to the present invention can be applied will be described below with reference to the memory map shown in FIG.

【0197】図13は、本発明に係るセッション管理装
置を適用可能なシステムで読み出し可能な各種データ処
理プログラムを格納する記録媒体のメモリマップを説明
する図である。
FIG. 13 is a diagram for explaining a memory map of a recording medium for storing various data processing programs readable by a system to which the session management device according to the present invention can be applied.

【0198】なお、特に図示しないが、記録媒体に記録
されるプログラム群を管理する情報、例えばバージョン
情報,作成者等も記録され、かつ、プログラム読み出し
側のOS等に依存する情報、例えばプログラムを識別表
示するアイコン等も記録される場合もある。
Although not particularly shown, information for managing the program group recorded on the recording medium, for example, version information, creator, etc. is also recorded, and information depending on the OS and the like on the program reading side, such as the program, is stored. In some cases, an icon or the like for identification and display is also recorded.

【0199】さらに、各種プログラムに従属するデータ
も上記ディレクトリに管理されている。また、インスト
ールするプログラムやデータが圧縮されている場合に、
解凍するプログラム等も記録される場合もある。
Further, the data dependent on various programs are also managed in the above directory. Also, if the program or data to be installed is compressed,
The decompressing program etc. may be recorded.

【0200】本実施形態における図4〜図6,図7,図
8,図9,図10に示す機能が外部からインストールさ
れるプログラムによって、ホストコンピュータにより遂
行されていてもよい。そして、その場合、CD−ROM
やフラッシュメモリやFD等の記録媒体により、あるい
はネットワークを介して外部の記録媒体から、プログラ
ムを含む情報群を出力装置に供給される場合でも本発明
は適用されるものである。
The functions shown in FIGS. 4 to 6, FIG. 7, FIG. 8, FIG. 9, and FIG. 10 in the present embodiment may be performed by the host computer by a program installed from the outside. And in that case, the CD-ROM
The present invention can be applied to a case where an information group including a program is supplied to an output device from a recording medium such as a flash memory or an FD, or from an external recording medium via a network.

【0201】以上のように、前述した実施形態の機能を
実現するソフトウエアのプログラムコードを記録した記
録媒体を、システムあるいは装置に供給し、そのシステ
ムあるいは装置のコンピュータ(またはCPUやMP
U)が記録媒体に格納されたプログラムコードを読出し
実行することによっても、本発明の目的が達成されるこ
とは言うまでもない。
As described above, the recording medium recording the program code of the software that realizes the functions of the above-described embodiments is supplied to the system or apparatus, and the computer (or CPU or MP of the system or apparatus is supplied.
It goes without saying that the object of the present invention can also be achieved by U) reading and executing the program code stored in the recording medium.

【0202】この場合、記録媒体から読み出されたプロ
グラムコード自体が本発明の新規な機能を実現すること
になり、そのプログラムコードを記録した記録媒体は本
発明を構成することになる。
In this case, the program code itself read from the recording medium realizes the novel function of the present invention, and the recording medium recording the program code constitutes the present invention.

【0203】プログラムコードを供給するための記録媒
体としては、例えば、フロッピー(登録商標)ディス
ク,ハードディスク,光ディスク,光磁気ディスク,C
D−ROM,CD−R,DVD−ROM,磁気テープ,
不揮発性のメモリカード,ROM,EEPROM,シリ
コンディスク等を用いることができる。
As a recording medium for supplying the program code, for example, a floppy (registered trademark) disk, hard disk, optical disk, magneto-optical disk, C
D-ROM, CD-R, DVD-ROM, magnetic tape,
A non-volatile memory card, ROM, EEPROM, silicon disk or the like can be used.

【0204】また、コンピュータが読み出したプログラ
ムコードを実行することにより、前述した実施形態の機
能が実現されるだけでなく、そのプログラムコードの指
示に基づき、コンピュータ上で稼働しているOS(オペ
レーティングシステム)等が実際の処理の一部または全
部を行い、その処理によって前述した実施形態の機能が
実現される場合も含まれることは言うまでもない。
Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also the OS (operating system) running on the computer based on the instruction of the program code. It goes without saying that this also includes the case where the above) performs a part or all of the actual processing, and the processing realizes the functions of the above-described embodiments.

【0205】さらに、記録媒体から読み出されたプログ
ラムコードが、コンピュータに挿入された機能拡張ボー
ドやコンピュータに接続された機能拡張ユニットに備わ
るメモリに書き込まれた後、そのプログラムコードの指
示に基づき、その機能拡張ボードや機能拡張ユニットに
備わるCPU等が実際の処理の一部または全部を行い、
その処理によって前述した実施形態の機能が実現される
場合も含まれることは言うまでもない。
Further, after the program code read from the recording medium is written in the memory provided in the function expansion board inserted into the computer or the function expansion unit connected to the computer, based on the instruction of the program code, The CPU or the like provided in the function expansion board or function expansion unit performs a part or all of the actual processing,
It goes without saying that the processing includes the case where the functions of the above-described embodiments are realized.

【0206】また、本発明は、複数の機器から構成され
るシステムに適用しても、1つの機器からなる装置に適
用してもよい。また、本発明は、システムあるいは装置
にプログラムを供給することによって達成される場合に
も適応できることは言うまでもない。この場合、本発明
を達成するためのソフトウエアによって表されるプログ
ラムを格納した記録媒体を該システムあるいは装置に読
み出すことによって、そのシステムあるいは装置が、本
発明の効果を享受することが可能となる。
The present invention may be applied to a system composed of a plurality of devices or an apparatus composed of a single device. Further, it goes without saying that the present invention can be applied to the case where it is achieved by supplying a program to a system or an apparatus. In this case, by reading the recording medium storing the program represented by the software for achieving the present invention into the system or device, the system or device can enjoy the effects of the present invention. .

【0207】さらに、本発明を達成するためのソフトウ
エアによって表されるプログラムをネットワーク上のデ
ータベースから通信プログラムによりダウンロードして
読み出すことによって、そのシステムあるいは装置が、
本発明の効果を享受することが可能となる。
Furthermore, by downloading and reading a program represented by software for achieving the present invention from a database on a network using a communication program, the system or apparatus can be
It is possible to enjoy the effects of the present invention.

【0208】[0208]

【発明の効果】以上説明したように、本発明に係る第1
〜16の発明によれば、分散オブジェクト環境において
対話処理を行うクライアントアプリケーションと分散オ
ブジェクトとして実装されたサーバアプリケーションと
の間のセッション管理を、分散オブジェクトとして実装
されるセッション管理プロセスが、前記分散オブジェク
トとして実装されたサーバアプリケーションと連携して
行うものであり、セッション管理プロセス内のコントロ
ーラが、サーバアプリケーションからの要求により、セ
ッション管理プロセス内に設けられたセッション状態情
報を管理するセッション管理メモリを制御するととも
に、セッション状態情報過多によりセッション管理メモ
リ内で管理できなくなったセッション状態情報を、最も
昔にアクセスされたレコードからセッション管理プロセ
スの外部に設けられたデータベースで管理するように制
御するので、分散オブジェクト環境におけるクライアン
ト/サーバシステムにおける対話中のセッションをクラ
イアント/サーバシステムの性能を劣化させることなし
に高速かつ安全に管理することができる。
As described above, the first aspect of the present invention
According to the inventions of 16 to 16, the session management between the client application performing the interactive processing in the distributed object environment and the server application implemented as the distributed object is performed by the session management process implemented as the distributed object. The controller in the session management process controls the session management memory that manages the session state information provided in the session management process in response to a request from the server application. The session state information that cannot be managed in the session management memory due to excessive session state information is provided outside the session management process from the record that was accessed the earliest. And controls to manage the database can be managed fast and safety performance without cause the deterioration of the session in interactive client / server system in a client / server system in a distributed object environment.

【0209】また、分散オブジェクト環境で稼動するク
ライアント/サーバシステムのセッション管理をプラッ
トフォームに依存することなくフレキシブルに行うこと
ができる。
Also, the session management of the client / server system operating in the distributed object environment can be flexibly performed without depending on the platform.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の一実施形態を示す分散オブジェクト環
境で稼動するクライアント/サーバ間のセッション管理
装置を適用可能なクライアント/サーバシステムの全体
を示すブロック図である。
FIG. 1 is a block diagram showing an overall client / server system to which a client / server session management device operating in a distributed object environment according to an embodiment of the present invention can be applied.

【図2】図1に示したクライアント/サーバシステムの
セッション管理の流れを示す図である。
FIG. 2 is a diagram showing a flow of session management of the client / server system shown in FIG.

【図3】本発明の実施形態における第1の制御処理手順
の一例を示すフローチャートである。
FIG. 3 is a flowchart showing an example of a first control processing procedure in the embodiment of the present invention.

【図4】本発明の実施形態における第2の制御処理手順
の一例を示すフローチャートである。
FIG. 4 is a flowchart showing an example of a second control processing procedure according to the embodiment of the present invention.

【図5】本発明の実施形態における第2の制御処理手順
の一例を示すフローチャートである。
FIG. 5 is a flowchart showing an example of a second control processing procedure according to the embodiment of the present invention.

【図6】本発明の実施形態における第2の制御処理手順
の一例を示すフローチャートである。
FIG. 6 is a flowchart showing an example of a second control processing procedure in the embodiment of the present invention.

【図7】本発明の実施形態における第3の制御処理手順
の一例を示すフローチャートである。
FIG. 7 is a flowchart showing an example of a third control processing procedure according to the embodiment of the present invention.

【図8】本発明の実施形態における第4の制御処理手順
の一例を示すフローチャートである。
FIG. 8 is a flowchart showing an example of a fourth control processing procedure according to the embodiment of the present invention.

【図9】本発明の実施形態における第5の制御処理手順
の一例を示すフローチャートである。
FIG. 9 is a flowchart showing an example of a fifth control processing procedure according to the embodiment of the present invention.

【図10】本発明の実施形態における第6の制御処理手
順の一例を示すフローチャートである。
FIG. 10 is a flowchart showing an example of a sixth control processing procedure according to the embodiment of the present invention.

【図11】IDL定義からスタブとスケルトンを生成す
る構成について示す図である。
FIG. 11 is a diagram showing a configuration for generating a stub and a skeleton from an IDL definition.

【図12】図11に示したIDLコンパイルによって生
成されたレコード制御部内各サービススタブとレコード
制御部内各サービススケルトンの使用方法を示す図であ
る。
12 is a diagram showing a method of using each service stub in the record control unit and each service skeleton in the record control unit generated by the IDL compilation shown in FIG.

【図13】本発明に係るセッション管理装置を適用可能
なシステムで読み出し可能な各種データ処理プログラム
を格納する記録媒体のメモリマップを説明する図であ
る。
FIG. 13 is a diagram illustrating a memory map of a recording medium that stores various data processing programs that can be read by a system to which the session management device according to the present invention is applicable.

【図14】クライアント/サーバ間の通信における両者
のセッション状態を説明する図である。
FIG. 14 is a diagram illustrating session states of both parties in communication between a client and a server.

【図15】クライアントとサーバの双方をCORBAオ
ブジェクトとして実装したクライアント/サーバシステ
ムを示すブロック図である。
FIG. 15 is a block diagram showing a client / server system in which both a client and a server are implemented as CORBA objects.

【図16】WWW(World Wide Web)の
環境で、クライアントとサーバの双方をCORBAオブ
ジェクトとして実装したクライアント/サーバシステム
を示すブロック図である。
FIG. 16 is a block diagram showing a client / server system in which both a client and a server are implemented as CORBA objects in a WWW (World Wide Web) environment.

【図17】図16のファイアウォール構築上の問題を踏
まえた形態のクライアント/サーバシステムの一例を示
すブロック図である。
FIG. 17 is a block diagram showing an example of a client / server system in a form based on the problem of firewall construction in FIG.

【符号の説明】[Explanation of symbols]

1 セッション管理プロセス 2 バッファコントローラ 3 セッション管理メモリ 4 サーバアプリケーション 5 クライアントアプリケーション 6 データベース 7 プロパティファイル 21 メモリ確保部 22 レコード制御部 22a レコード割当サービス 22b レコード読み込みサービス 22c レコード書き込みサービス 22d レコード開放サービス 23 レコード監視部 30 ORB 31 ネットワーク 61 セッション管理テーブル 100 サーバ装置 200 クライアント装置 1 Session management process 2 buffer controller 3 Session management memory 4 server application 5 Client application 6 database 7 Property file 21 Memory securing unit 22 Record control unit 22a Record allocation service 22b Record reading service 22c Record writing service 22d Record release service 23 Record Monitor 30 ORB 31 network 61 Session management table 100 server device 200 client devices

Claims (16)

【特許請求の範囲】[Claims] 【請求項1】 分散オブジェクト環境において対話処理
を行うクライアントアプリケーションと分散オブジェク
トとして実装されたサーバアプリケーションとの間のセ
ッション管理を行うセッション管理装置において、 分散オブジェクトとして実装されるセッション管理プロ
セスが、前記分散オブジェクトとして実装されたサーバ
アプリケーションと連携して前記クライアントアプリケ
ーションとサーバアプリケーションとの間のセッション
管理を行うことを特徴とするセッション管理装置。
1. In a session management device that manages a session between a client application that performs interactive processing in a distributed object environment and a server application that is implemented as a distributed object, a session management process implemented as a distributed object, A session management apparatus, which manages a session between the client application and the server application in cooperation with a server application implemented as an object.
【請求項2】 前記セッション管理プロセスは、該プロ
セス内にセッション状態情報を管理するセッション管理
メモリと、前記セッション管理メモリの制御を行うコン
トローラとを備えるものであり、 前記コントローラは、セッション管理を必要とする前記
サーバアプリケーションからの要求によりセッション管
理メモリを制御するとともに、セッション状態情報過多
によりセッション管理メモリ内で管理できなくなったセ
ッション状態情報を、最も昔にアクセスされたレコード
から前記セッション管理プロセス外に設けたデータベー
スで管理することを特徴とする請求項1記載のセッショ
ン管理装置。
2. The session management process includes a session management memory that manages session state information in the process, and a controller that controls the session management memory, and the controller requires session management. The session management memory is controlled by a request from the server application, and the session status information that cannot be managed in the session management memory due to excessive session status information is transferred from the earliest accessed record to the outside of the session management process. The session management device according to claim 1, wherein the session management device is managed by a database provided.
【請求項3】 前記コントローラは、 前記セッション管理プロセス起動時に、前記セッション
管理メモリを確保するとともに前記データベースへの接
続を行うメモリ確保部と、 前記サーバアプリケーションからの要求で前記セッショ
ン管理メモリを制御するレコード制御部と、 セッション状態情報過多によりセッション管理メモリ内
で管理できなくなったセッション状態情報を、前記レコ
ード制御部からの要求により、最も昔にアクセスされた
レコードからデータベースへ書き出すことと、前記レコ
ード制御部で必要となったデータベース中のセッション
状態情報を、前記レコード制御部からの要求によりデー
タベースから前記セッション管理メモリへ戻すことを行
うレコード監視部と、を備えることを特徴とする請求項
2記載のセッション管理装置。
3. The controller secures the session management memory and activates the session management memory at the time of starting the session management process, and a memory securing unit that connects to the database. The record control unit, writing out the session state information, which cannot be managed in the session management memory due to excessive session state information, from the record accessed the earliest to the database according to a request from the record control unit; 3. A record monitoring unit for returning session state information in the database required by the unit from the database to the session management memory in response to a request from the record control unit. session Management device.
【請求項4】 前記レコード制御部は、 前記サーバアプリケーションから要求される、前記セッ
ション管理メモリ内にセッション状態情報を格納するレ
コードを確保するレコード割当サービスと、 前記セッション管理メモリの当該レコードからセッショ
ン状態情報を取得するレコード読み込みサービスと、 前記セッション状態情報を当該レコードに格納するレコ
ード書き込みサービスと、 管理する必要が無くなったセッション状態情報が格納さ
れている当該レコードを開放するレコード開放サービス
と、を備えることを特徴とする請求項3記載のセッショ
ン管理装置。
4. The record control unit secures a record for storing session state information in the session management memory requested by the server application, and a session state from the record in the session management memory. A record reading service for acquiring information, a record writing service for storing the session state information in the record, and a record releasing service for releasing the record in which the session state information which is no longer required to be stored are released. The session management device according to claim 3, wherein
【請求項5】 前記レコード制御部の各サービスは、セ
ッション管理を必要する前記サーバアプリケーションか
ら与えられたセッションIDに基づいて前記セッション
管理メモリの制御を行うことを特徴とする請求項4記載
のセッション管理装置。
5. The session according to claim 4, wherein each service of the record control unit controls the session management memory based on a session ID provided from the server application that requires session management. Management device.
【請求項6】 前記レコード制御部の各サービスのセッ
ション管理を必要とする前記サーバアプリケーションか
らのインタフェースは、前記セッション管理プロセスが
稼動する環境に依存しないことを特徴とする請求項4記
載のセッション管理装置。
6. The session management according to claim 4, wherein an interface from the server application that requires session management of each service of the record control unit does not depend on an environment in which the session management process operates. apparatus.
【請求項7】 前記セッション状態情報としてセッショ
ン中に発生する全ての情報を対象として管理することを
特徴とする請求項2記載のセッション管理装置。
7. The session management device according to claim 2, wherein all the information generated during the session is managed as the session state information.
【請求項8】 分散オブジェクト環境において対話処理
を行うクライアントアプリケーションと分散オブジェク
トとして実装されたサーバアプリケーションとの間のセ
ッション管理を行うセッション管理方法において、 分散オブジェクトとして実装されるセッション管理プロ
セスにより、前記分散オブジェクトとして実装されたサ
ーバアプリケーションと連携して前記クライアントアプ
リケーションとサーバアプリケーションとの間のセッシ
ョン管理を行うことを特徴とするセッション管理方法。
8. A session management method for managing a session between a client application that performs interactive processing in a distributed object environment and a server application that is implemented as a distributed object, comprising: A session management method for managing a session between the client application and the server application in cooperation with a server application implemented as an object.
【請求項9】 前記セッション管理プロセスは、該プロ
セス内にセッション状態情報を管理するセッション管理
メモリと、前記セッション管理メモリの制御を行うコン
トローラとを備えるものであり、 前記コントローラは、セッション管理を必要とする前記
サーバアプリケーションからの要求によりセッション管
理メモリを制御するとともに、セッション状態情報過多
によりセッション管理メモリ内で管理できなくなったセ
ッション状態情報を、最も昔にアクセスされたレコード
から前記セッション管理プロセス外に設けたデータベー
スで管理することを特徴とする請求項8記載のセッショ
ン管理方法。
9. The session management process comprises a session management memory that manages session state information in the process, and a controller that controls the session management memory, and the controller requires session management. The session management memory is controlled by a request from the server application, and the session status information that cannot be managed in the session management memory due to excessive session status information is transferred from the earliest accessed record to the outside of the session management process. 9. The session management method according to claim 8, wherein the session management method is performed by a database provided.
【請求項10】 前記コントローラは、 前記セッション管理プロセス起動時に、前記セッション
管理メモリを確保するとともに前記データベースへの接
続を行うメモリ確保部と、 前記サーバアプリケーションからの要求で前記セッショ
ン管理メモリを制御するレコード制御部と、 セッション状態情報過多によりセッション管理メモリ内
で管理できなくなったセッション状態情報を、前記レコ
ード制御部からの要求により、最も昔にアクセスされた
レコードからデータベースへ書き出すことと、前記レコ
ード制御部で必要となったデータベース中のセッション
状態情報を、前記レコード制御部からの要求によりデー
タベースから前記セッション管理メモリへ戻すことを行
うレコード監視部と、を備えることを特徴とする請求項
9記載のセッション管理方法。
10. The controller secures the session management memory and activates the session management memory in response to a request from the server application, which secures the session management memory and connects to the database when the session management process is started. The record control unit, writing out the session state information, which cannot be managed in the session management memory due to excessive session state information, from the record accessed the earliest to the database according to a request from the record control unit; 10. The record monitoring unit for returning the session state information in the database required by the unit from the database to the session management memory in response to a request from the record control unit. Session Management method.
【請求項11】 前記レコード制御部は、 アプリケーションから要求される、前記セッション管理
メモリ内にセッション状態情報を格納するレコードを確
保するレコード割当サービスと、 前記セッション管理メモリの当該レコードからセッショ
ン状態情報を取得するレコード読み込みサービスと、 前記セッション状態情報を当該レコードに格納するレコ
ード書き込みサービスと、 管理する必要が無くなったセッション状態情報が格納さ
れている当該レコードを開放するレコード開放サービス
と、を備えることを特徴とする請求項10記載のセッシ
ョン管理方法。
11. The record control unit secures a record for storing session state information in the session management memory, which is requested by an application, and a record allocation service that stores session state information from the record in the session management memory. A record reading service for acquiring, a record writing service for storing the session state information in the record, and a record releasing service for releasing the record in which the session state information that is no longer required to be stored is released. 11. The session management method according to claim 10, which is characterized in that.
【請求項12】 前記レコード制御部の各サービスは、
セッション管理を必要する前記サーバアプリケーション
から与えられたセッションIDに基づいて前記セッショ
ン管理メモリの制御を行うことを特徴とする請求項11
記載のセッション管理方法。
12. Each service of the record control unit,
12. The session management memory is controlled based on a session ID given by the server application that requires session management.
Session management method described.
【請求項13】 前記レコード制御部の各サービスのセ
ッション管理を必要とする前記サーバアプリケーション
からのインタフェースは、前記セッション管理プロセス
が稼動する環境に依存しないことを特徴とする請求項1
1記載のセッション管理方法。
13. The interface from the server application which requires session management of each service of the record control unit does not depend on an environment in which the session management process operates.
The session management method described in 1.
【請求項14】 前記セッション状態情報としてセッシ
ョン中に発生する全ての情報を対象として管理すること
を特徴とする請求項9記載のセッション管理方法。
14. The session management method according to claim 9, wherein all the information generated during the session is managed as the session state information.
【請求項15】 請求項8〜14のいずれかに記載され
たセッション管理方法を実現することを特徴とするプロ
グラム。
15. A program that realizes the session management method according to any one of claims 8 to 14.
【請求項16】 請求項8〜14のいずれかに記載され
たセッション管理方法を実行するためのプログラムをコ
ンピュータが読み取り可能に記録した記録媒体。
16. A computer-readable recording medium having a program for executing the session management method according to claim 8 recorded therein.
JP2001338090A 2001-11-02 2001-11-02 Session management apparatus, session management method, program, and recording medium Expired - Fee Related JP3730563B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001338090A JP3730563B2 (en) 2001-11-02 2001-11-02 Session management apparatus, session management method, program, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001338090A JP3730563B2 (en) 2001-11-02 2001-11-02 Session management apparatus, session management method, program, and recording medium

Publications (2)

Publication Number Publication Date
JP2003141068A true JP2003141068A (en) 2003-05-16
JP3730563B2 JP3730563B2 (en) 2006-01-05

Family

ID=19152633

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001338090A Expired - Fee Related JP3730563B2 (en) 2001-11-02 2001-11-02 Session management apparatus, session management method, program, and recording medium

Country Status (1)

Country Link
JP (1) JP3730563B2 (en)

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007249295A (en) * 2006-03-13 2007-09-27 Fujitsu Ltd Session management program, session management method, and session management apparatus
JP2011013892A (en) * 2009-07-01 2011-01-20 Canon Inc Data processing apparatus, control method for data processing apparatus and program
JP2011035625A (en) * 2009-07-31 2011-02-17 Oki Networks Co Ltd Transfer device and transfer program
JP4831785B2 (en) * 2005-07-22 2011-12-07 インターナショナル・ビジネス・マシーンズ・コーポレーション Adaptive session compression management method, compression manager, and session management system
JP2015507380A (en) * 2011-10-24 2015-03-05 エイ10 ネットワークス インコーポレイテッドA10 Networks, Inc. How to combine stateless and stateful server load balancing
US9497201B2 (en) 2006-10-17 2016-11-15 A10 Networks, Inc. Applying security policy to an application session
US9531846B2 (en) 2013-01-23 2016-12-27 A10 Networks, Inc. Reducing buffer usage for TCP proxy session based on delayed acknowledgement
US9544364B2 (en) 2012-12-06 2017-01-10 A10 Networks, Inc. Forwarding policies on a virtual service network
US9602442B2 (en) 2012-07-05 2017-03-21 A10 Networks, Inc. Allocating buffer for TCP proxy session based on dynamic network conditions
US9609052B2 (en) 2010-12-02 2017-03-28 A10 Networks, Inc. Distributing application traffic to servers based on dynamic service response time
US9705800B2 (en) 2012-09-25 2017-07-11 A10 Networks, Inc. Load distribution in data networks
US9843484B2 (en) 2012-09-25 2017-12-12 A10 Networks, Inc. Graceful scaling in software driven networks
US9900252B2 (en) 2013-03-08 2018-02-20 A10 Networks, Inc. Application delivery controller and global server load balancer
US9906422B2 (en) 2014-05-16 2018-02-27 A10 Networks, Inc. Distributed system to determine a server's health
US9942152B2 (en) 2014-03-25 2018-04-10 A10 Networks, Inc. Forwarding data packets using a service-based forwarding policy
US9942162B2 (en) 2014-03-31 2018-04-10 A10 Networks, Inc. Active application response delay time
US9960967B2 (en) 2009-10-21 2018-05-01 A10 Networks, Inc. Determining an application delivery server based on geo-location information
US9961135B2 (en) 2010-09-30 2018-05-01 A10 Networks, Inc. System and method to balance servers based on server load status
US9979801B2 (en) 2011-12-23 2018-05-22 A10 Networks, Inc. Methods to manage services over a service gateway
US9986061B2 (en) 2014-06-03 2018-05-29 A10 Networks, Inc. Programming a data network device using user defined scripts
US9992229B2 (en) 2014-06-03 2018-06-05 A10 Networks, Inc. Programming a data network device using user defined scripts with licenses
US9992107B2 (en) 2013-03-15 2018-06-05 A10 Networks, Inc. Processing data packets using a policy based network path
US10002141B2 (en) 2012-09-25 2018-06-19 A10 Networks, Inc. Distributed database in software driven networks
US10021174B2 (en) 2012-09-25 2018-07-10 A10 Networks, Inc. Distributing service sessions
US10038693B2 (en) 2013-05-03 2018-07-31 A10 Networks, Inc. Facilitating secure network traffic by an application delivery controller
US10044582B2 (en) 2012-01-28 2018-08-07 A10 Networks, Inc. Generating secure name records
US10129122B2 (en) 2014-06-03 2018-11-13 A10 Networks, Inc. User defined objects for network devices
USRE47296E1 (en) 2006-02-21 2019-03-12 A10 Networks, Inc. System and method for an adaptive TCP SYN cookie with time validation
US10230770B2 (en) 2013-12-02 2019-03-12 A10 Networks, Inc. Network proxy layer for policy-based application proxies
US10243791B2 (en) 2015-08-13 2019-03-26 A10 Networks, Inc. Automated adjustment of subscriber policies
US10581976B2 (en) 2015-08-12 2020-03-03 A10 Networks, Inc. Transmission control of protocol state exchange for dynamic stateful service insertion

Cited By (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4831785B2 (en) * 2005-07-22 2011-12-07 インターナショナル・ビジネス・マシーンズ・コーポレーション Adaptive session compression management method, compression manager, and session management system
US8943223B2 (en) 2005-07-22 2015-01-27 International Business Machines Corporation Adaptive session compression management method, compression manager and session management system
USRE47296E1 (en) 2006-02-21 2019-03-12 A10 Networks, Inc. System and method for an adaptive TCP SYN cookie with time validation
JP2007249295A (en) * 2006-03-13 2007-09-27 Fujitsu Ltd Session management program, session management method, and session management apparatus
US9497201B2 (en) 2006-10-17 2016-11-15 A10 Networks, Inc. Applying security policy to an application session
JP2011013892A (en) * 2009-07-01 2011-01-20 Canon Inc Data processing apparatus, control method for data processing apparatus and program
JP2011035625A (en) * 2009-07-31 2011-02-17 Oki Networks Co Ltd Transfer device and transfer program
US9960967B2 (en) 2009-10-21 2018-05-01 A10 Networks, Inc. Determining an application delivery server based on geo-location information
US10735267B2 (en) 2009-10-21 2020-08-04 A10 Networks, Inc. Determining an application delivery server based on geo-location information
US10447775B2 (en) 2010-09-30 2019-10-15 A10 Networks, Inc. System and method to balance servers based on server load status
US9961135B2 (en) 2010-09-30 2018-05-01 A10 Networks, Inc. System and method to balance servers based on server load status
US10178165B2 (en) 2010-12-02 2019-01-08 A10 Networks, Inc. Distributing application traffic to servers based on dynamic service response time
US9609052B2 (en) 2010-12-02 2017-03-28 A10 Networks, Inc. Distributing application traffic to servers based on dynamic service response time
US9961136B2 (en) 2010-12-02 2018-05-01 A10 Networks, Inc. Distributing application traffic to servers based on dynamic service response time
US9906591B2 (en) 2011-10-24 2018-02-27 A10 Networks, Inc. Combining stateless and stateful server load balancing
US10484465B2 (en) 2011-10-24 2019-11-19 A10 Networks, Inc. Combining stateless and stateful server load balancing
JP2015507380A (en) * 2011-10-24 2015-03-05 エイ10 ネットワークス インコーポレイテッドA10 Networks, Inc. How to combine stateless and stateful server load balancing
US9979801B2 (en) 2011-12-23 2018-05-22 A10 Networks, Inc. Methods to manage services over a service gateway
US10044582B2 (en) 2012-01-28 2018-08-07 A10 Networks, Inc. Generating secure name records
US9602442B2 (en) 2012-07-05 2017-03-21 A10 Networks, Inc. Allocating buffer for TCP proxy session based on dynamic network conditions
US9843484B2 (en) 2012-09-25 2017-12-12 A10 Networks, Inc. Graceful scaling in software driven networks
US9705800B2 (en) 2012-09-25 2017-07-11 A10 Networks, Inc. Load distribution in data networks
US10862955B2 (en) 2012-09-25 2020-12-08 A10 Networks, Inc. Distributing service sessions
US10002141B2 (en) 2012-09-25 2018-06-19 A10 Networks, Inc. Distributed database in software driven networks
US10021174B2 (en) 2012-09-25 2018-07-10 A10 Networks, Inc. Distributing service sessions
US10516577B2 (en) 2012-09-25 2019-12-24 A10 Networks, Inc. Graceful scaling in software driven networks
US10491523B2 (en) 2012-09-25 2019-11-26 A10 Networks, Inc. Load distribution in data networks
US9544364B2 (en) 2012-12-06 2017-01-10 A10 Networks, Inc. Forwarding policies on a virtual service network
US9531846B2 (en) 2013-01-23 2016-12-27 A10 Networks, Inc. Reducing buffer usage for TCP proxy session based on delayed acknowledgement
US11005762B2 (en) 2013-03-08 2021-05-11 A10 Networks, Inc. Application delivery controller and global server load balancer
US9900252B2 (en) 2013-03-08 2018-02-20 A10 Networks, Inc. Application delivery controller and global server load balancer
US9992107B2 (en) 2013-03-15 2018-06-05 A10 Networks, Inc. Processing data packets using a policy based network path
US10659354B2 (en) 2013-03-15 2020-05-19 A10 Networks, Inc. Processing data packets using a policy based network path
US10038693B2 (en) 2013-05-03 2018-07-31 A10 Networks, Inc. Facilitating secure network traffic by an application delivery controller
US10305904B2 (en) 2013-05-03 2019-05-28 A10 Networks, Inc. Facilitating secure network traffic by an application delivery controller
US10230770B2 (en) 2013-12-02 2019-03-12 A10 Networks, Inc. Network proxy layer for policy-based application proxies
US9942152B2 (en) 2014-03-25 2018-04-10 A10 Networks, Inc. Forwarding data packets using a service-based forwarding policy
US9942162B2 (en) 2014-03-31 2018-04-10 A10 Networks, Inc. Active application response delay time
US10257101B2 (en) 2014-03-31 2019-04-09 A10 Networks, Inc. Active application response delay time
US9906422B2 (en) 2014-05-16 2018-02-27 A10 Networks, Inc. Distributed system to determine a server's health
US10686683B2 (en) 2014-05-16 2020-06-16 A10 Networks, Inc. Distributed system to determine a server's health
US10129122B2 (en) 2014-06-03 2018-11-13 A10 Networks, Inc. User defined objects for network devices
US10749904B2 (en) 2014-06-03 2020-08-18 A10 Networks, Inc. Programming a data network device using user defined scripts with licenses
US9992229B2 (en) 2014-06-03 2018-06-05 A10 Networks, Inc. Programming a data network device using user defined scripts with licenses
US10880400B2 (en) 2014-06-03 2020-12-29 A10 Networks, Inc. Programming a data network device using user defined scripts
US9986061B2 (en) 2014-06-03 2018-05-29 A10 Networks, Inc. Programming a data network device using user defined scripts
US10581976B2 (en) 2015-08-12 2020-03-03 A10 Networks, Inc. Transmission control of protocol state exchange for dynamic stateful service insertion
US10243791B2 (en) 2015-08-13 2019-03-26 A10 Networks, Inc. Automated adjustment of subscriber policies

Also Published As

Publication number Publication date
JP3730563B2 (en) 2006-01-05

Similar Documents

Publication Publication Date Title
JP2003141068A (en) Session management device, and session management method, program and storage medium
US7406525B2 (en) Content provider and method for a computer system
JP3554007B2 (en) Communication method and communication system using node network
US20030028515A1 (en) Proxy processing method
Tao Shifting paradigms with the application service provider model
JP4569846B2 (en) I/O node control system and method
US5329619A (en) Cooperative processing interface and communication broker for heterogeneous computing environments
US20050102364A1 (en) Method and apparatus for generating data change requests containing data consistency information in a peer-to-peer collaborative computer system
EP2116937A1 (en) Web server for managing session and its method
EP1191438A2 (en) Web server in-kernel interface to data transport system and cache manager
JP2001350855A (en) On-demand service developing device and service providing system
JP2004038956A (en) Computing system and method
KR20000022706A (en) Information processing method, information processing apparatus, and storage medium for storing an information processing program
CN115567594A (en) Microservice request processing method, device, computer equipment and storage medium
EP1061445A2 (en) Web-based enterprise management with transport neutral client interface
JP4516594B2 (en) Message transmission control method, message transmission control device, and message transmission control program
KR20050084059A (en) Accessing computational grids
US20050125486A1 (en) Decentralized operating system
US8930523B2 (en) Stateful business application processing in an otherwise stateless service-oriented architecture
JP3950752B2 (en) apparatus
US20080307421A1 (en) Flow process execution method, apparatus and program
KR20010105756A (en) Application programming interface for developing computer telephony interface service program and operating method thereof
JPH1188375A (en) Transmission system with management software
KR100659172B1 (en) Interoperability system between agent platform and non-agent platform, its operation method and recording medium recording the same
CN119669287A (en) Distributed cache refresh system, method, device, storage medium and program product

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050419

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050620

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050906

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050907

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051006

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111014

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121014

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20131014

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20131014

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20141014

Year of fee payment: 9

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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