JP4140728B2 - Management server and program - Google Patents

Management server and program Download PDF

Info

Publication number
JP4140728B2
JP4140728B2 JP2005020648A JP2005020648A JP4140728B2 JP 4140728 B2 JP4140728 B2 JP 4140728B2 JP 2005020648 A JP2005020648 A JP 2005020648A JP 2005020648 A JP2005020648 A JP 2005020648A JP 4140728 B2 JP4140728 B2 JP 4140728B2
Authority
JP
Japan
Prior art keywords
client
communication
management server
status information
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2005020648A
Other languages
Japanese (ja)
Other versions
JP2005135442A (en
Inventor
康広 直井
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.)
NTT Data Corp
Original Assignee
NTT Data Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Data Corp filed Critical NTT Data Corp
Priority to JP2005020648A priority Critical patent/JP4140728B2/en
Publication of JP2005135442A publication Critical patent/JP2005135442A/en
Application granted granted Critical
Publication of JP4140728B2 publication Critical patent/JP4140728B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

この発明は、クライアント間でメッセージ等のデータをやり取りするためのネットワーク通信システム等に関する。   The present invention relates to a network communication system for exchanging data such as messages between clients.

従来、例えばHTTP等のリクエスト/レスポンス型の通信プロトコルによってデータ通信を行うネットワークシステムにおいて、クライアント同士でサーバを介してメッセージ等のデータをやり取りする場合、クライアントがサーバに所定時間毎にアクセスして更新情報の有無を確認していた。この所定時間毎にクライアントがサーバにアクセスして情報を取得・更新等する方式は一般にポーリング方式等と呼ばれる。   Conventionally, in a network system in which data communication is performed using a request / response communication protocol such as HTTP, for example, when data such as a message is exchanged between clients via a server, the client accesses and updates the server every predetermined time. The presence or absence of information was confirmed. A method in which a client accesses a server at every predetermined time to acquire / update information is generally called a polling method.

例えば、クライアントAとクライアントBの間でメッセージを交換するという場面を例に説明すると、クライアントBがサーバに時刻T1にリクエストを送信した後に、クライアントAがクライアントBに対するメッセージデータをサーバに登録した場合、クライアントBは、次のアクセス時刻T2(=時刻T1+Δt)に、サーバにリクエストを送信して、サーバに登録されているメッセージデータを取得する。   For example, a case where messages are exchanged between client A and client B will be described as an example. After client B sends a request to server at time T1, client A registers message data for client B in the server. The client B transmits a request to the server at the next access time T2 (= time T1 + Δt), and acquires message data registered in the server.

上記のようなシステムにおいて、クライアント間のデータのやり取りを、よりリアルタイムに近いものとして実現しようとすると、クライアントからサーバへのリクエストを頻繁に発生させることになる。この場合、通信パケット量が増大し、ネットワーク負荷が大きくなってしまうという問題があった。また、サーバ側で情報が更新されていないときでも通信が発生するため、無駄なパケット(空振りパケット)の発生により通信効率が低下する虞があった。   In the system as described above, if an attempt is made to exchange data between clients in a manner closer to real time, requests from the client to the server are frequently generated. In this case, there is a problem that the amount of communication packets increases and the network load increases. Further, since communication occurs even when information is not updated on the server side, there is a possibility that communication efficiency may be reduced due to generation of useless packets (empty packets).

また、クライアント間におけるリアルタイム性の高いデータ通信(メッセージ交換)を可能とするインターネット機能の1つとしてインスタントメッセージ機能等がある。インスタントメッセージは、ネットワークに接続状態にあるクライアント間のメッセージ交換を可能とする性質から、主にパーソナルコンピュータで利用されており、状況によって通信不能状態となる携帯端末、携帯電話機等での利用には適していなかった。例えば、携帯端末等が通信圏外にあってオフライン状態になっている場合にはメッセージの送受信ができないため、その携帯端末等のユーザに対して発信されたメッセージが無駄になってしまうという問題等があった。   Further, there is an instant message function or the like as one of the Internet functions that enables highly real-time data communication (message exchange) between clients. Instant messages are mainly used in personal computers due to the nature of exchanging messages between clients connected to the network, and for use in mobile terminals, mobile phones, etc. that cannot communicate depending on the situation. It was not suitable. For example, since a message cannot be transmitted / received when a mobile terminal or the like is out of the communication range and is in an offline state, a message transmitted to a user of the mobile terminal or the like is wasted. there were.

この発明は、上記実状に鑑みてなされたものであり、クライアント間でリアルタイム性の高いメッセージ交換を可能とし、且つ、通信の効率化を図ることができる管理サーバを提供することを目的とする。
また、この発明は、リクエスト/レスポンス型の通信プロトコルを用いたネットワークシステムにおいて、クライアント間のデータのやり取りにおけるリアルタイム性を高め、且つ、ネットワーク負荷を軽減することができる管理サーバ等を提供することを他の目的とする。
また、この発明は、インスタントメッセージ等のリアルタイムな通信機能の利用を携帯端末等の間で可能にする管理サーバ等を提供することを他の目的とする。
The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a management server capable of exchanging messages in real time between clients and improving communication efficiency.
In addition, the present invention provides a management server or the like that can improve the real-time property in data exchange between clients and reduce the network load in a network system using a request / response communication protocol. For other purposes.
Another object of the present invention is to provide a management server that enables real-time communication functions such as instant messages to be used between portable terminals and the like.

上記目的を達成するため、この発明の第1の観点に係る管理サーバは、
ネットワークを介して相互に通信可能な複数のクライアントに該ネットワークを介して接続された管理サーバであって、
各クライアントの通信状態を示すステータス情報を記憶する記憶手段と、
クライアントからの通信要求に応じて、当該クライアントが次の通信要求を送信するまでのポーリング時間を当該クライアントに通知する手段と、
前記クライアントに通知したポーリング時間内に当該クライアントからの通信要求を受信したかを判別し、受信しなかった場合に、前記記憶手段における当該クライアントのステータス情報に、当該クライアントが第1の通信不能状態である旨を設定する手段と、
前記記憶手段におけるステータス情報に第1の通信不能状態である旨が設定されたクライアントについて、所定時間内に当該クライアントから通信要求を受信したかを判別し、受信した場合には、前記記憶手段における当該クライアントのステータス情報に、当該クライアントが通信可能状態である旨を設定し、受信しなかった場合には、前記記憶手段における当該クライアントのステータス情報に、当該クライアントが第2の通信不能状態である旨を設定して当該クライアントとのセッションを終了する手段と、
前記複数のクライアントのうちの一のクライアントからの他のクライアントを指定した通信要求に応じて、前記記憶手段に記憶されている指定した他のクライアントのステータス情報を前記一のクライアントへ送信する手段と、
を備えることを特徴とする。
In order to achieve the above object, the management server according to the first aspect of the present invention provides:
A management server connected via a network to a plurality of clients that can communicate with each other via a network;
Storage means for storing status information indicating the communication state of each client;
According to the communication request from each client, means the client notifies the polling time before sending the next communication request to the client,
Determine whether it has received the communication request from the client within the polling time notifies each client, if it has not received, the status information of the client in the storage unit, the client first incommunicable Means for setting the status,
For the client whose status information in the storage means is set to the first communication disabled state, it is determined whether a communication request has been received from the client within a predetermined time . If the status information of the client indicates that the client is in a communicable state and is not received, the client is in the second communication disabled state in the status information of the client in the storage means. A means to set the effect and end the session with the client;
Means for transmitting status information of the designated other client stored in the storage means to the one client in response to a communication request designating another client from one of the plurality of clients ; ,
It is characterized by providing.

この発明によれば、クライアントの通信状態を管理サーバで把握・管理することができるため、通信状態が変化するクライアントでもリアルタイムなデータ通信機能を利用することができる。また、通信状態を示すステータス情報を出力して、他のクライアント等に供給することができるため、無駄なメッセージ送信等を削減することができる。   According to the present invention, since the communication state of the client can be grasped and managed by the management server, the real-time data communication function can be used even by the client whose communication state changes. In addition, since status information indicating the communication state can be output and supplied to other clients or the like, useless message transmission or the like can be reduced.

前記ステータス情報に、当該クライアントが第1の通信不能状態である旨が設定されたクライアントに対するメッセージを受信した場合、前記メッセージを保持し、当該クライアントとの通信が再開したときに、前記保持したメッセージを前記クライアントに供給してもよい。 When the status information receives a message for a client for which the client is set to be in the first communication disabled state , the message is retained, and when the communication with the client is resumed, the retained message May be supplied to the client.

前記クライアントは、携帯端末と、携帯電話機と、の少なくとも一方を含んでもよい。   The client may include at least one of a mobile terminal and a mobile phone.

この発明の第2の観点に係るプログラムは、
ネットワークを介して相互に通信可能な複数のクライアントに該ネットワークを介して接続されたコンピュータを、
各クライアントの通信状態を示すステータス情報を記憶する記憶手段、
クライアントからの通信要求に応じて、当該クライアントが次の通信要求を送信するまでのポーリング時間を当該クライアントに通知する手段、
前記クライアントに通知したポーリング時間内に当該クライアントからの通信要求を受信したかを判別し、受信しなかった場合に、前記記憶手段における当該クライアントのステータス情報に、当該クライアントが第1の通信不能状態である旨を設定する手段、
前記記憶手段におけるステータス情報に第1の通信不能状態である旨が設定されたクライアントについて、所定時間内に当該クライアントから通信要求を受信したかを判別し、受信した場合には、前記記憶手段における当該クライアントのステータス情報に、当該クライアントが通信可能状態である旨を設定し、受信しなかった場合には、前記記憶手段における当該クライアントのステータス情報に、当該クライアントが第2の通信不能状態である旨を設定して当該クライアントとのセッションを終了する手段、
前記複数のクライアントのうちの一のクライアントからの他のクライアントを指定した通信要求に応じて、前記記憶手段に記憶されている指定した他のクライアントのステータス情報を前記一のクライアントへ送信する手段、
として機能させる。
The program according to the second aspect of the present invention is:
A computer connected via a network to a plurality of clients capable of communicating with each other via the network ;
Storage means for storing status information indicating the communication state of each client;
According to the communication request from each client, means the client notifies the polling time before sending the next communication request to the client,
Determine whether it has received the communication request from the client within the polling time notifies each client, if it has not received, the status information of the client in the storage unit, the client first incommunicable Means for setting the status,
For the client whose status information in the storage means is set to the first communication disabled state, it is determined whether a communication request has been received from the client within a predetermined time . If the status information of the client indicates that the client is in a communicable state and is not received, the client is in the second communication disabled state in the status information of the client in the storage means. Means to end the session with the client by setting
Means for transmitting status information of the designated other client stored in the storage means to the one client in response to a communication request designating another client from one of the plurality of clients ;
To function as.

この発明によれば、クライアント間でのメッセージ交換等のデータ通信におけるリアルタイム性を高めるとともに、通信効率を向上させることができる。   According to the present invention, the real-time property in data communication such as message exchange between clients can be improved, and the communication efficiency can be improved.

以下、本発明に係る実施の形態について図面を参照して説明する。   Hereinafter, embodiments according to the present invention will be described with reference to the drawings.

(第1の実施形態)
図1はこの発明の第1の実施形態に係るネットワーク通信システムの構成を示す図である。
図示するように、このネットワーク通信システムは、ネットワーク10を介して相互に接続されるクライアント11と、管理サーバ13と、を備えている。
(First embodiment)
FIG. 1 is a diagram showing the configuration of a network communication system according to the first embodiment of the present invention.
As shown in the figure, this network communication system includes a client 11 and a management server 13 connected to each other via a network 10.

ネットワーク10は、移動体通信網、電話回線、インターネット等から構成され、クライアント11と管理サーバ13との間で情報の送受信を可能とするためのものである。   The network 10 includes a mobile communication network, a telephone line, the Internet, and the like, and enables information to be transmitted and received between the client 11 and the management server 13.

クライアント11は、制御部111、記憶部112、表示部113、入力部114、通信制御部115等を備える携帯端末、携帯電話機、パーソナルコンピュータ等から構成され、ネットワーク10を介して管理サーバ13等との間で通信を行う。
クライアント11の制御部111は、図2に示すように、記憶部112に記憶される動作プログラム等を実行することにより、ブラウザ部111a、リクエスト制御部111b、を論理的に実現する。
The client 11 includes a mobile terminal, a mobile phone, a personal computer, and the like that include a control unit 111, a storage unit 112, a display unit 113, an input unit 114, a communication control unit 115, and the like. Communicate between the two.
As illustrated in FIG. 2, the control unit 111 of the client 11 logically implements a browser unit 111 a and a request control unit 111 b by executing an operation program or the like stored in the storage unit 112.

ブラウザ部111aは、従来のブラウザ機能を有し、また、リクエスト制御部111bと連動して、サーバへのリクエスト情報を送信する処理やサーバからのレスポンス情報を受信する処理等を行う。
リクエスト制御部111bは、管理サーバ13から受信したレスポンス情報に含まれる所定情報(ポーリング間隔情報)を参照し、その情報が示すポーリング間隔で次回のリクエスト情報を管理サーバ13に送信するようブラウザ部111aを制御する。
The browser unit 111a has a conventional browser function, and performs processing for transmitting request information to the server, processing for receiving response information from the server, and the like in conjunction with the request control unit 111b.
The request control unit 111b refers to predetermined information (polling interval information) included in the response information received from the management server 13, and sends the next request information to the management server 13 at the polling interval indicated by the information. To control.

クライアント11から管理サーバ13に送信されるリクエスト情報の一例を図3に示す。このリクエスト情報は、例えば、プロトコルバージョン、リクエストコマンド、制御フラグ、受信可能イベント数、AckID、要求イベント等のデータを含む。このうち、制御フラグは、リクエストに対応するレスポンスを即時にリターンするか否かを示す即時リターンフラグを含む。例えば、レスポンスが即時に返されることが望ましいリクエスト(例えば、「ログイン要求」、「設定変更要求」等)については即時リターンフラグが「オン」に設定され、それ以外のリクエストについては即時リターンフラグが「オフ」に設定される。   An example of request information transmitted from the client 11 to the management server 13 is shown in FIG. This request information includes data such as protocol version, request command, control flag, number of receivable events, AckID, and request event. Among these, the control flag includes an immediate return flag indicating whether or not to immediately return a response corresponding to the request. For example, an immediate return flag is set to “on” for a request for which a response should be returned immediately (for example, “login request”, “setting change request”, etc.), and an immediate return flag is set for other requests. Set to “Off”.

記憶部112、制御部111が実行する動作プログラムや、処理に必要な各種のデータを記憶する。
表示部113、CRT、液晶ディスプレイ等の表示装置を含み、制御部111からの指示に従って種々の画面表示を行う。
入力部114、マウス、キーボード等の入力装置を含み、入力されたデータを制御部111に通知する。
通信制御部115は、ネットワーク10を介して管理サーバ13等との間でデータ通信を行うためのものである。
An operation program executed by the storage unit 112 and the control unit 111 and various data necessary for processing are stored.
The display unit 113, a CRT, and a liquid crystal display are included, and various screen displays are performed in accordance with instructions from the control unit 111.
The input unit 114 includes an input device such as a mouse and a keyboard, and notifies the control unit 111 of input data.
The communication control unit 115 is for performing data communication with the management server 13 or the like via the network 10.

管理サーバ13は、例えば図4に示すように、制御部131と、記憶部132と、通信制御部133と、を備えるコンピュータ等から構成される。   As illustrated in FIG. 4, for example, the management server 13 includes a computer or the like that includes a control unit 131, a storage unit 132, and a communication control unit 133.

制御部131は、記憶部132に記憶される動作プログラム等を実行することにより、ウェブサーバ部131a、レスポンス制御部131b等を論理的に実現する。   The control unit 131 logically implements the web server unit 131a, the response control unit 131b, and the like by executing an operation program or the like stored in the storage unit 132.

ウェブサーバ部131aは、従来のウェブサーバと同様の機能を有し、また、レスポンス制御部131bと連動して、クライアント11に対して次のポーリング間隔を指示するためのポーリング間隔情報を含むレスポンス情報を送信する処理を行う。また、ウェブサーバ部131aは、リクエスト情報を受信したとき、これに対するレスポンス情報を即時に返信せずに、所定のイベントが発生したとき又はタイムアウト直前等の所定のタイミングでレスポンス情報をクライアント11に送信する。なお、レスポンス情報を即時に返信するよう設定されているリクエスト情報については、レスポンス情報をすぐに返信する。   The web server unit 131a has the same function as the conventional web server, and in response to the response control unit 131b, response information including polling interval information for instructing the client 11 the next polling interval Process to send. Further, when the web server unit 131a receives the request information, the web server unit 131a does not immediately reply to the response information, but transmits the response information to the client 11 at a predetermined timing such as when a predetermined event occurs or immediately before timeout. To do. For request information that is set to return response information immediately, response information is returned immediately.

また、ウェブサーバ部131aは、各クライアント11において発生したイベント(各種キー操作等)について、発生日時、イベント内容等を示すイベント情報(通信記録)を記憶部132のイベントデータベース132aに記憶する。   Further, the web server unit 131 a stores event information (communication record) indicating the date and time of occurrence, event contents, and the like in the event database 132 a of the storage unit 132 for events (various key operations and the like) that have occurred in each client 11.

レスポンス制御部131bは、クライアント11からのリクエスト情報の受信に応じて、そのクライアント11に通知するポーリング間隔を決定し、これを示すポーリング間隔情報をウェブサーバ部131aに渡す。ポーリング間隔の決定方法は、例えば、イベントデータベース132aに記憶されているイベント情報を参照し、リクエスト送信元のクライアント11におけるイベント発生頻度や、リクエスト送信元のクライアントの通信相手のイベント発生頻度等の情報に基づいて、オペレーションズリサーチ等により通信効率の良い時間間隔を算出する。例えば、ユーザの過去の利用パターンについて多変量解析を行い、その結果を用いて最適なポーリング間隔を決定してもよい。   In response to reception of request information from the client 11, the response control unit 131b determines a polling interval to be notified to the client 11, and passes polling interval information indicating this to the web server unit 131a. For example, the polling interval determination method refers to the event information stored in the event database 132a, and information such as the event occurrence frequency in the client 11 of the request transmission source and the event occurrence frequency of the communication partner of the request transmission source client. Based on the above, a time interval with good communication efficiency is calculated by operations research or the like. For example, a multivariate analysis may be performed on a user's past usage pattern, and an optimal polling interval may be determined using the result.

管理サーバ13からクライアント11に送信されるレスポンス情報の一例を図5に示す。このレスポンス情報は、例えば、レスポンスID、レスポンスコード、ポーリング間隔情報、セッションID長、セッションID、イベント/要求結果数、イベント/要求結果等のデータを含む。   An example of response information transmitted from the management server 13 to the client 11 is shown in FIG. This response information includes, for example, data such as response ID, response code, polling interval information, session ID length, session ID, number of event / request results, event / request results.

記憶部132は、制御部131が実行する動作プログラムや、処理に必要な各種のデータを記憶する。また、記憶部132は、各クライアントにおいて発生したイベントの情報(イベント情報)を記憶するイベントデータベース132aを有する。   The storage unit 132 stores an operation program executed by the control unit 131 and various data necessary for processing. In addition, the storage unit 132 includes an event database 132a that stores information (event information) on events that have occurred in each client.

通信制御部133は、ネットワーク10を介してクライアント11等との間でデータ通信を行うためのものである。   The communication control unit 133 is for performing data communication with the client 11 and the like via the network 10.

次に、この第1の実施形態に係るネットワーク通信システムの動作について本発明の特徴部分を中心に説明する。   Next, the operation of the network communication system according to the first embodiment will be described focusing on the features of the present invention.

初めに、クライアント11におけるリクエスト送信処理について図6のフローチャートを参照して説明する。
まず、クライアント11は、ユーザの入力操作に応じたリクエスト情報を生成し、管理サーバ13に送信する(ステップS1)。
First, the request transmission process in the client 11 will be described with reference to the flowchart of FIG.
First, the client 11 generates request information corresponding to the user's input operation and transmits it to the management server 13 (step S1).

そして、送信したリクエスト情報に対応するレスポンス情報を管理サーバ13から受信すると、そのレスポンスに含まれているポーリング間隔情報を記憶部の所定領域に記憶する(ステップS2)。
そして、受信したレスポンス情報の内容に応じた処理(例えば、レスポンス情報にHTMLデータが付されている場合には、それを表示する等)を行う(ステップS3)。
When the response information corresponding to the transmitted request information is received from the management server 13, the polling interval information included in the response is stored in a predetermined area of the storage unit (step S2).
Then, processing corresponding to the content of the received response information (for example, displaying HTML data if the response information is attached) is performed (step S3).

そして、ポーリング間隔情報が示すポーリング時間が経過した後(ステップS4)、ステップS1に戻って、次のリクエスト情報を生成して管理サーバ13に送信する等の処理を繰り返す(ステップS1〜S4)。   Then, after the polling time indicated by the polling interval information has elapsed (step S4), the process returns to step S1, and repeats the process of generating the next request information and transmitting it to the management server 13 (steps S1 to S4).

なお、このリクエスト送信処理の開始、終了のタイミングは任意であり、例えば、管理サーバ13へのログイン時や所定の入力操作(例えば操作メニューから「メッセージ交換」を選択等)時に開始してもよく、また、ログアウトや所定の入力操作(例えば操作メニューから「メッセージ交換の終了」を選択等)時に終了してもよい。   Note that the timing of starting and ending the request transmission process is arbitrary. For example, the request transmission process may be started when logging in to the management server 13 or when a predetermined input operation (for example, selecting “Message exchange” from the operation menu) Alternatively, the process may be terminated when logging out or a predetermined input operation (for example, selecting “end message exchange” from the operation menu).

次に、管理サーバ13におけるレスポンス送信処理について図7のフローチャートを参照して説明する。
管理サーバ13は、クライアント11からリクエスト情報を受信すると、そのリクエスト情報に含まれる即時リターンフラグを参照し(ステップS10)、設定内容が「オフ」であると判別した場合には、要求元に通知すべきイベントが既に有るかを判別する。
そして、通知すべきイベントがない場合には(ステップS11:N)、HTTPのセッションタイムアウトの直前まで、所定のイベント(例えば、通信相手によるデータ更新等)の発生を待つ(ステップS12)。
Next, the response transmission process in the management server 13 will be described with reference to the flowchart of FIG.
When the management server 13 receives the request information from the client 11, the management server 13 refers to the immediate return flag included in the request information (step S 10), and notifies the request source when it is determined that the setting content is “off”. Determine if there is already an event to be performed.
If there is no event to be notified (step S11: N), it waits for the occurrence of a predetermined event (for example, data update by the communication partner) until just before the HTTP session timeout (step S12).

ステップS11において、通知すべきイベントが有ると判別された場合、又は、ステップS12において、タイムアウト直前になった場合には、要求元のクライアントについてのポーリング時間を計算する処理を行う(ステップS13)。そして、計算したポーリング時間を示すポーリング間隔情報を含むリクエスト情報を要求元のクライアント11に送信して(ステップS14)、本処理を終了する。   If it is determined in step S11 that there is an event to be notified, or if it is just before the timeout in step S12, processing for calculating the polling time for the requesting client is performed (step S13). Then, request information including polling interval information indicating the calculated polling time is transmitted to the requesting client 11 (step S14), and this process is terminated.

また、ステップS10において、リクエスト情報に含まれる即時リターンフラグが「オン」に設定されている場合には、ポーリング間隔の計算処理を続けて行い(ステップS13)、レスポンス情報を返信する処理を行って(ステップS14)、本処理を終了する。   In step S10, if the immediate return flag included in the request information is set to “on”, the polling interval calculation process is continued (step S13), and the response information is returned. (Step S14), the process is terminated.

次に、本システムにおける各装置間の処理の流れについて、ユーザAとユーザBがメッセージ交換を行う場合を例に図8を参照して説明する。
まず、例えば、ユーザBがクライアント11Bを用いて管理サーバ13にログイン要求req1を送信する(L1)。
管理サーバ13は、クライアント11Bからログイン要求req1を受信すると、クライアント11Bに対するポーリング間隔td0を計算し、この情報を含むログイン完了通知res1をクライアント11Bに送信する(L2)。
Next, the flow of processing between the devices in this system will be described with reference to FIG. 8 by taking as an example the case where user A and user B exchange messages.
First, for example, the user B transmits a login request req1 to the management server 13 using the client 11B (L1).
When receiving the login request req1 from the client 11B, the management server 13 calculates a polling interval td0 for the client 11B, and transmits a login completion notification res1 including this information to the client 11B (L2).

一方、ユーザAもクライアント11Aを用いて管理サーバ13にログイン要求req2を送信する(L3)。
管理サーバ13は、クライアント11Aに対するポーリング間隔td1を算出し、この情報を含むログイン完了通知res2をクライアント11Aに送信する(L4)。例えば、このとき、ユーザBがログイン中であることもユーザAに通知される。
On the other hand, the user A also transmits a login request req2 to the management server 13 using the client 11A (L3).
The management server 13 calculates a polling interval td1 for the client 11A, and transmits a login completion notification res2 including this information to the client 11A (L4). For example, at this time, the user A is also notified that the user B is logging in.

また、クライアント11B側では、通知されたポーリング間隔td0が経過すると、リクエスト情報req3が管理サーバ13に送信される(L5)。
管理サーバ13は、受信したリクエストreq3に対するレスポンスをすぐに返さずに、イベントが発生するまで、又は、タイムアウト直前まで待つ。
On the client 11B side, when the notified polling interval td0 has elapsed, the request information req3 is transmitted to the management server 13 (L5).
The management server 13 does not immediately return a response to the received request req3, but waits until an event occurs or immediately before a timeout.

このとき、例えば、ポーリング間隔td1が経過する前に、クライアント11Aが、ユーザAによる入力操作に従い(又は、自動的に)プレゼンス変更要求req4を管理サーバ13に送信する(L6)。
管理サーバ13は、クライアント11Aからプレゼンス変更要求req4を受信すると、ポーリング間隔td2を算出し、この情報を含む変更完了通知res4をクライアント11Aに送信する(L7)とともに、このイベント(ユーザAのプレゼンス変更)を通知するレスポンス情報res3(リクエストreq3に対応)をクライアント11Bに送信する(L8)。なお、このレスポンスres3は、ポーリング間隔td3の情報を含む。
At this time, for example, before the polling interval td1 elapses, the client 11A transmits a presence change request req4 to the management server 13 in accordance with an input operation by the user A (or automatically) (L6).
When the management server 13 receives the presence change request req4 from the client 11A, it calculates a polling interval td2, transmits a change completion notification res4 including this information to the client 11A (L7), and this event (presence change of the user A) ) To send the response information res3 (corresponding to the request req3) to notify the client 11B (L8). This response res3 includes information on the polling interval td3.

次に、クライアント11Aが、ユーザAによる入力操作に従って、ユーザBへのメッセージreq5を送信したとする(L9)。管理サーバ13は、ユーザAによるユーザBへのメッセージの情報を更新/記憶する。また、管理サーバ13は、受信したリクエストreq5に対するレスポンスをすぐに返さずに、イベントが発生するまで、又は、タイムアウト直前まで待つ。   Next, it is assumed that the client 11A transmits a message req5 to the user B according to the input operation by the user A (L9). The management server 13 updates / stores information on a message from the user A to the user B. Also, the management server 13 does not immediately return a response to the received request req5, but waits until an event occurs or immediately before a timeout.

また、クライアント11B側では、通知されたポーリング間隔td3が経過すると、リクエスト情報req6が管理サーバ13に送信される(L10)。
このとき、クライアント11Bに通知すべきイベント(ユーザAからのメッセージ)が既に発生しているため、管理サーバ13は、メッセージの送信完了通知res5(リクエストreq5に対応、ポーリング間隔td4の情報を含む)をクライアント11Aに送信するとともに(L11)、ユーザAからのメッセージres6(ポーリング間隔td5の情報を含む)をクライアント11Bに送信する(L12)。
On the client 11B side, when the notified polling interval td3 has elapsed, the request information req6 is transmitted to the management server 13 (L10).
At this time, since an event to be notified to the client 11B (message from the user A) has already occurred, the management server 13 sends a message transmission completion notification res5 (corresponding to the request req5 and includes information on the polling interval td4). Is transmitted to the client 11A (L11), and a message res6 (including information on the polling interval td5) from the user A is transmitted to the client 11B (L12).

そして、クライアント11A側では、通知されたポーリング間隔td4が経過すると、リクエスト情報req7が管理サーバ13に送信される(L13)。また、クライアントCB側では、通知されたポーリング間隔td5が経過すると、リクエスト情報req8が管理サーバ13に送信される(L14)。管理サーバ13は、これらのリクエストを受信し、対応するレスポンスを各クライアント11B、11Cに送信する。
以後、通信が終了するまで、クライアント11A、11Bと管理サーバ13間で上記のようなリクエストとレスポンスのやり取りが続行される。
On the client 11A side, when the notified polling interval td4 has elapsed, the request information req7 is transmitted to the management server 13 (L13). On the client CB side, when the notified polling interval td5 elapses, the request information req8 is transmitted to the management server 13 (L14). The management server 13 receives these requests and transmits corresponding responses to the clients 11B and 11C.
Thereafter, the exchange of requests and responses as described above is continued between the clients 11A and 11B and the management server 13 until the communication is completed.

以上のように、本発明の第1の実施形態によれば、管理サーバ13がクライアント11に対して好適なポーリング間隔を指示し、この時間間隔でクライアント11にリクエストを発信させ、また、管理サーバ13において、レスポンスをイベント発生やタイムアウト直前等のタイミングで発信するようにすることにより、クライアント間のデータ通信のリアルタイム性を高めつつ、ネットワーク負荷を軽減し、通信効率を向上させることができる。   As described above, according to the first embodiment of the present invention, the management server 13 instructs the client 11 on a suitable polling interval, causes the client 11 to send a request at this time interval, and the management server 13 In 13, by transmitting a response at the timing such as the occurrence of an event or immediately before a timeout, the network load can be reduced and the communication efficiency can be improved while improving the real-time property of data communication between clients.

なお、第1の実施形態におけるリクエスト、レスポンスのデータ構成は一例であり、これに限定されず任意である。
また、ポーリング間隔の決定方法は任意であり、種々の計算方法、解析方法等を適用可能である。
また、クライアント11において、通知されたポーリング時間に基づくリクエストRnを送信する前に、ユーザがリクエストを生成して管理サーバ13に送信した場合には、リクエストRnの送信をやめるようにしてもよい。
The data structure of the request and response in the first embodiment is an example, and is not limited to this and is arbitrary.
The method for determining the polling interval is arbitrary, and various calculation methods, analysis methods, and the like can be applied.
Further, in the client 11, before the request Rn based on the notified polling time is transmitted, if the user generates a request and transmits it to the management server 13, the transmission of the request Rn may be stopped.

(第2の実施形態)
次に、本発明の第2の実施形態に係るネットワーク通信システムについて説明する。このネットワーク通信システムは、インターネットに接続した端末同士で直接メッセージをやりとりするためのシステムである。なお、このようなメッセージ交換機能は一般的にインスタントメッセージと呼ばれている。
(Second Embodiment)
Next, a network communication system according to the second embodiment of the present invention will be described. This network communication system is a system for directly exchanging messages between terminals connected to the Internet. Such a message exchange function is generally called instant message.

図9はこの発明の第2の実施形態に係るネットワーク通信システムの構成を示す図である。
図示するように、このネットワーク通信システムは、ネットワーク15を介して相互に接続されるクライアント16と、管理サーバ17と、を備えている。
FIG. 9 is a diagram showing a configuration of a network communication system according to the second embodiment of the present invention.
As shown in the figure, this network communication system includes a client 16 and a management server 17 connected to each other via a network 15.

ネットワーク15は、移動体通信網、電話回線、インターネット等から構成され、クライアント16と管理サーバ17との間で情報の送受信を可能とするためのものである。   The network 15 is composed of a mobile communication network, a telephone line, the Internet, and the like, and enables information to be transmitted and received between the client 16 and the management server 17.

クライアント16は、制御部161、記憶部162、表示部163、入力部164、通信制御部165等を備える携帯端末、携帯電話機等から構成され、ネットワーク15を介して管理サーバ17等との間で通信を行う。   The client 16 includes a mobile terminal, a mobile phone, and the like including a control unit 161, a storage unit 162, a display unit 163, an input unit 164, a communication control unit 165, and the like. Communicate.

クライアント16の制御部161は、図10に示すように、記憶部162に記憶される動作プログラム等を実行することにより、メッセージ送受信部161a、セッション管理部161b、を論理的に実現する。   As illustrated in FIG. 10, the control unit 161 of the client 16 logically implements a message transmission / reception unit 161 a and a session management unit 161 b by executing an operation program or the like stored in the storage unit 162.

メッセージ送受信部161aは、ユーザによる入力操作に従って、他のユーザ宛のメッセージを生成し、生成したメッセージを管理サーバ17に送信するメッセージ送信や、管理サーバ17からそのユーザ宛のメッセージを受信するメッセージ受信処理等を行う。   The message transmission / reception unit 161a generates a message addressed to another user according to an input operation by the user, transmits a message to the management server 17, and receives a message addressed to the user from the management server 17. Perform processing.

セッション管理部161bは、ユーザによる入力操作に従って、管理サーバ17にログインした後、管理サーバ17から通知される、ポーリング間隔値とセッションタイムアウト値等の情報を記憶部162に記憶し、そのポーリング間隔値が示すポーリング間隔で次の通信要求を管理サーバ17に送信する。また、セッション管理部161bは、セッションタイムアウト値が示す時間内に、少なくとも一度は管理サーバ17と通信を行う。   The session management unit 161b stores information such as a polling interval value and a session timeout value notified from the management server 17 in the storage unit 162 after logging in to the management server 17 in accordance with an input operation by the user. The next communication request is transmitted to the management server 17 at the polling interval indicated by. In addition, the session management unit 161b communicates with the management server 17 at least once within the time indicated by the session timeout value.

記憶部162は、制御部161が実行する動作プログラムや、処理に必要な各種のデータを記憶する。
表示部163は、CRT、液晶ディスプレイ等の表示装置を含み、制御部161からの指示に従って種々の画面表示を行う。
入力部164は、マウス、キーボード等の入力装置を含み、入力されたデータを制御部161に通知する。
通信制御部165は、ネットワーク15を介して管理サーバ17との間でデータ通信を行うためのものである。
The storage unit 162 stores an operation program executed by the control unit 161 and various data necessary for processing.
The display unit 163 includes a display device such as a CRT or a liquid crystal display, and performs various screen displays according to instructions from the control unit 161.
The input unit 164 includes an input device such as a mouse and a keyboard, and notifies the control unit 161 of input data.
The communication control unit 165 is for performing data communication with the management server 17 via the network 15.

管理サーバ17は、例えば図11に示すように、制御部171と、記憶部172と、通信制御部173と、を備えるコンピュータ等から構成される。   As shown in FIG. 11, for example, the management server 17 includes a computer or the like that includes a control unit 171, a storage unit 172, and a communication control unit 173.

制御部171は、記憶部172に記憶される動作プログラム等を実行することにより、メッセージ交換制御部171a、接続状態チェック部171b等を論理的に実現する。   The control unit 171 logically implements a message exchange control unit 171a, a connection state check unit 171b, and the like by executing an operation program or the like stored in the storage unit 172.

メッセージ交換制御部171aは、ログインユーザ間でメッセージをやり取りさせるための処理を行う。具体的には、ログインユーザから他のログインユーザ宛のメッセージを受け付け、他のログインユーザ(メッセージ宛先のユーザ)からの通信要求等に応じてそのメッセージを供給する処理等を行う。
このメッセージ交換処理において、メッセージ交換制御部171aは、記憶部172の接続状態データベース172aに記憶される各ユーザ(クライアント16)の接続状態情報を参照して、宛先ユーザの通信状態をチェックする。
The message exchange control unit 171a performs processing for exchanging messages between logged-in users. Specifically, a process for receiving a message addressed to another login user from the login user and supplying the message in response to a communication request or the like from another login user (message destination user) is performed.
In this message exchange process, the message exchange control unit 171a checks the communication status of the destination user with reference to the connection status information of each user (client 16) stored in the connection status database 172a of the storage unit 172.

この接続状態情報は、例えば、図12に示すように、各ユーザについて、ユーザID、ステータス、ログイン時刻、最終通信時刻、一時不能時刻(ステータスが「一時不能状態」に設定された時刻)等のデータを含む。このうち、ステータスには、例えば、「通信可」、「一時不能状態」、「通信不能状態」等のクライアント16の通信状態を示す情報が設定される。また、最終通信時刻は、クライアント16から通信要求がある毎に更新される。   For example, as shown in FIG. 12, this connection status information includes, for each user, a user ID, status, login time, last communication time, temporary unavailable time (time when the status is set to “temporarily unavailable”), and the like. Contains data. Among these, for example, information indicating the communication state of the client 16 such as “communication enabled”, “temporarily disabled”, and “communication disabled” is set in the status. The last communication time is updated each time a communication request is received from the client 16.

そして、メッセージ交換制御部171aは、メッセージの宛先ユーザのステータスが「一時不能状態」である場合には、メッセージを記憶部172の所定領域にユーザ毎にキューイングする。そして、「一時不能状態」ステータスが解消された場合に、キューイングされていたメッセージをそのユーザのクライアント16に供給する。また、「一時不能状態」ステータスが「通信不能状態(オフライン)」に変更された場合には、ユーザにより事前に設定された対処内容に従って、「メッセージを電子メールにより転送する」、「送信者にメッセージの再送を促す」等の所定の処理を行う。   When the status of the message destination user is “temporarily disabled”, the message exchange control unit 171a queues the message in a predetermined area of the storage unit 172 for each user. Then, when the “temporarily disabled” status is resolved, the queued message is supplied to the client 16 of the user. In addition, when the “temporarily disabled state” status is changed to “communication disabled state (offline)”, “transfer message by e-mail”, “send to sender” according to the countermeasures set in advance by the user Predetermined processing such as “Prompt to resend message” is performed.

接続状態チェック部171bは、各ユーザのクライアント16の接続状態をチェックして管理するための処理を行う。具体的には、管理サーバ17にログインした各クライアント16に対して、ポーリング間隔値及びセッションタイム値を通知する。また、各ログインユーザについて、通信要求がある度に、接続状態情報における最終通信時刻を更新する。また、各ログインユーザについて、最終通信時からポーリング間隔値が示す時間内に管理サーバ17に対して通信要求があるかをチェックし、ポーリング時間内に通信要求がない場合には、そのユーザのステータスを「一時不能状態」に設定する。また、接続状態チェック部171bは、各ログインユーザについて、ステータスが「一時不能状態」に設定された場合、セッションタイム値が示す時間内に管理サーバ17に対して通信要求があるかをチェックし、セッションタイム時間内に通信要求がない場合には、そのクライアント16のログインセッションを終了するとともに、そのユーザのステータスを「通信不能状態」に設定する。また、接続状態チェック部171bは、ステータスが「一時不能状態」であるユーザのクライアント16から通信要求があった場合には、ステータスを「通信可」に戻す。   The connection state check unit 171b performs processing for checking and managing the connection state of the client 16 of each user. Specifically, the polling interval value and the session time value are notified to each client 16 logged into the management server 17. For each logged-in user, the last communication time in the connection state information is updated every time there is a communication request. For each logged-in user, it is checked whether there is a communication request to the management server 17 within the time indicated by the polling interval value from the time of the last communication, and if there is no communication request within the polling time, the status of that user Is set to “temporarily disabled”. Further, the connection state check unit 171b checks whether or not there is a communication request to the management server 17 within the time indicated by the session time value when the status is set to “temporarily disabled” for each login user, When there is no communication request within the session time, the login session of the client 16 is terminated and the status of the user is set to “communication disabled state”. Further, when a communication request is received from the client 16 of the user whose status is “temporarily disabled”, the connection status check unit 171b returns the status to “communicable”.

また、接続状態チェック部171bは、ログインユーザの接続状況情報におけるステータス等の情報を、管理サーバ17に対して通信要求を発したクライアント16に供給する。このステータスの供給方法は任意であり、例えば、ステータスの問い合わせ要求をユーザの指定とともに受け付け、その指定されたログインユーザのステータスを要求元のクライアント16に供給するようにしてもよく、また、例えば同一グループに属する複数のユーザのステータスを、そのグループに属するユーザからの通信要求に応答して通知するようにしてもよい。   In addition, the connection state check unit 171 b supplies information such as the status in the connection status information of the login user to the client 16 that has issued a communication request to the management server 17. The status supply method is arbitrary. For example, a status inquiry request may be received together with user designation, and the status of the designated login user may be supplied to the requesting client 16. The status of a plurality of users belonging to a group may be notified in response to a communication request from a user belonging to the group.

記憶部172は、制御部171が実行する動作プログラムや、処理に必要な各種のデータを記憶する。
また、記憶部172は、接続状態情報(図12)を記憶する接続状態データベース172aと、所定のユーザ情報(ユーザID、ユーザ名、メールアドレス等)を記憶するユーザデータベース172bと、を有する。
The storage unit 172 stores an operation program executed by the control unit 171 and various data necessary for processing.
The storage unit 172 includes a connection state database 172a that stores connection state information (FIG. 12), and a user database 172b that stores predetermined user information (user ID, user name, mail address, etc.).

通信制御部173は、ネットワーク10を介してクライアント16等との間でデータ通信を行うためのものである。   The communication control unit 173 is for performing data communication with the client 16 and the like via the network 10.

以下に、この第2の実施形態に係るネットワーク通信システムの動作について本発明の特徴部分を中心に説明する。
まず、管理サーバ17が、各ログインユーザについて接続状態をチェックする接続状態チェック処理について図13のフローチャートを参照して説明する。なお、本処理は例えば所定時間毎等のタイミングで実行される。
The operation of the network communication system according to the second embodiment will be described below with a focus on the features of the present invention.
First, connection state check processing in which the management server 17 checks the connection state for each login user will be described with reference to the flowchart of FIG. This process is executed at a timing such as every predetermined time.

管理サーバ17は、接続状態データベース172aから、一のログインユーザの接続状態情報を読み出す(ステップS21)。
そして、読み出した接続状態情報のステータスを判別し(ステップS22)、例えば「通信可」である場合には、最終通信時刻からポーリング時間が経過したかを判別し(ステップS23)。ポーリング時間が経過した場合には、そのステータスを「一時不能状態」に変更する(ステップS24)。
The management server 17 reads the connection status information of one login user from the connection status database 172a (step S21).
Then, the status of the read connection state information is determined (step S22). For example, if “communication is possible”, it is determined whether the polling time has elapsed from the last communication time (step S23). If the polling time has elapsed, the status is changed to “temporarily disabled” (step S24).

また、ステップS22において、読み出した接続状態情報のステータスが「一時不能状態」である場合、管理サーバ17は、一時不能時刻からセッションタイムアウト時間が経過したかを判別し(ステップS25)、経過した場合には、クライアント16のログインセッションを終了するとともに、そのステータスを「通信不能状態」に変更する(ステップS26)。   If the status of the read connection state information is “temporarily disabled” in step S22, the management server 17 determines whether the session timeout time has elapsed from the temporarily disabled time (step S25). The client 16 terminates the login session of the client 16 and changes its status to “communication disabled” (step S26).

また、ステップS23においてポーリング時間が経過していないと判別された場合、ステップS24においてステータスが変更された後、ステップS25においてセッションタイムアウト時間が経過していないと判別された場合、ステップS26においてステータスが変更された後に、全ログインユーザについて処理が完了したかを判別し(ステップS27)、全ログインユーザについて処理が完了するまで、上記ステップS21〜S27の処理を繰り返す。
この接続状態チェック処理により、管理サーバ17において、全ログインユーザの通信状態を把握することができる。
If it is determined in step S23 that the polling time has not elapsed, the status is changed in step S24. Then, if it is determined in step S25 that the session timeout time has not elapsed, the status is determined in step S26. After the change, it is determined whether or not the processing has been completed for all the logged-in users (step S27), and the processing of steps S21 to S27 is repeated until the processing is completed for all the logged-in users.
By this connection state check process, the management server 17 can grasp the communication states of all the logged-in users.

次に、あるログインユーザAのクライアント16Aの通信状態を管理サーバ17が把握する場合における具体的な処理の流れを図14を参照して説明する。
例えばユーザAがクライアント16Aにユーザ名とパスワードを入力し、所定のログインボタンを押下すると、これに応じて、クライアント16Aは、入力データに基づくログイン情報を管理サーバ17に送信する(L21)。
Next, a specific processing flow when the management server 17 grasps the communication state of the client 16A of a login user A will be described with reference to FIG.
For example, when the user A inputs a user name and password to the client 16A and presses a predetermined login button, the client 16A transmits login information based on the input data to the management server 17 (L21).

管理サーバ17は、クライアント16からのログイン情報を受信して、所定のログイン認証を行い、クライアント16Aとのセッションを開始する。そして、管理サーバ17は、ログイン成功応答とともに、セッションタイムアウト値、ポーリング値等の情報をクライアント16Aに通知する(L22)。   The management server 17 receives login information from the client 16, performs predetermined login authentication, and starts a session with the client 16A. Then, the management server 17 notifies the client 16A of information such as a session timeout value and a polling value together with a login success response (L22).

クライアント16Aは、管理サーバ17から受信したセッションタイムアウト値、ポーリング値を記憶する。そして、クライアント16Aは、通知されたポーリング時間が経過すると、更新情報(例えばユーザA宛の新たなメッセージ等)を取得するための通信要求を管理サーバ17に送信する(L23)。   The client 16A stores the session timeout value and polling value received from the management server 17. When the notified polling time has elapsed, the client 16A transmits a communication request for acquiring update information (for example, a new message addressed to the user A) to the management server 17 (L23).

管理サーバ17は、クライアント16Aからの通信要求に応じて、接続状態データベース172aにおけるそのクライアント16Aの接続状態情報の最終通信時を更新するとともに、ユーザAに関する更新情報と、次のポーリングのためのポーリング値等をクライアント16Aに通知する(L24)。   In response to a communication request from the client 16A, the management server 17 updates the connection state information of the client 16A in the connection state database 172a at the time of the final communication, and updates information regarding the user A and polling for the next polling The value and the like are notified to the client 16A (L24).

クライアント16Aは、管理サーバ17から受信したポーリング値を記憶する。そして、通知されたポーリング時間の経過後、通信要求を管理サーバ17に送信しようとしたが、例えば通信圏外にいたため、管理サーバ17と通信できなかったこととする。
管理サーバ17は、クライアント16Aについて、前回の通信時からポーリング時間内に通信要求がないため、その接続状態情報におけるステータスを「一時不能状態」に設定する(L25)。そして、例えば、通信要求があった他のユーザにクライアント16Aが「一時不能状態」であることを通知してもよい。
The client 16A stores the polling value received from the management server 17. Then, after the elapse of the notified polling time, an attempt was made to send a communication request to the management server 17, but it was assumed that communication with the management server 17 could not be made because the communication request was out of the communication range.
The management server 17 sets the status in the connection status information to “temporarily disabled” because there is no communication request for the client 16A within the polling time from the previous communication (L25). Then, for example, another user who has made a communication request may be notified that the client 16A is in a “temporarily disabled state”.

そして、例えば、クライアント16Aが通信圏内にいるときに、通信のリトライを行い、通信要求がセッションタイムアウト前に管理サーバ17に送信されたこととする(L26)。
管理サーバ17は、クライアント16Aがセッションタイムアウト前にポーリングしてきたため、クライアント16Aのステータスを「通信可」に変更し(L27)、次のポーリングのためのポーリング値をクライアント16Aに通知する(L28)。
For example, when the client 16A is in the communication range, communication is retried, and the communication request is transmitted to the management server 17 before the session timeout (L26).
Since the client 16A has polled before the session time-out, the management server 17 changes the status of the client 16A to “communication enabled” (L27), and notifies the client 16A of a polling value for the next polling (L28).

次に、クライアント16Aは、例えば、再び通信圏外にいたため、管理サーバ17と通信できなかったこととする。
管理サーバ17は、クライアント16Aについて、前回の通信時からポーリング時間内に通信要求がないため、その接続状態情報におけるステータスを「一時不能状態」に設定する(L29)。そして、通信要求がないままセッションタイムアウトとなった場合には、クライアント16Aのステータスを「通信不能状態」に設定するとともに、セッションを終了する(L30)。
Next, it is assumed that the client 16A cannot communicate with the management server 17 because it is out of the communication range again, for example.
The management server 17 sets the status in the connection status information to “temporarily disabled” because there is no communication request for the client 16A within the polling time from the previous communication (L29). If the session time-out occurs without a communication request, the status of the client 16A is set to “communication disabled” and the session is terminated (L30).

このようにして、本発明の第2の実施形態によれば、クライアント16の通信状態を管理サーバ17で把握・管理することができるため、通信状態が変化する携帯端末等でもインスタントメッセージ機能等のリアルタイムなデータ通信機能を利用することができる。また、各ユーザは相手の通信状態を確かめてメッセージを送信することができるため、無駄なメッセージ送信を削減することができる。   In this way, according to the second embodiment of the present invention, the communication state of the client 16 can be grasped and managed by the management server 17, so that an instant message function etc. Real-time data communication function can be used. Further, each user can confirm the communication state of the other party and transmit a message, so that useless message transmission can be reduced.

なお、上記の第2の実施形態ではインスタントメッセージ機能を利用するシステムについて説明したが、本発明の適用範囲はこれに限定されず、種々のリアルタイムなデータ通信機能を利用するシステムに適用可能である。
また、クライアント16は、携帯端末、携帯電話機等に限定されず、パーソナルコンピュータ等も含んでも良い。
また、接続状態情報のデータ構成は一例であり、これに限定されず任意である。
In the second embodiment, the system using the instant message function has been described. However, the scope of application of the present invention is not limited to this, and the present invention can be applied to a system using various real-time data communication functions. .
The client 16 is not limited to a mobile terminal, a mobile phone, or the like, and may include a personal computer or the like.
Moreover, the data structure of connection state information is an example, and is not limited to this, but is arbitrary.

また、上記第1と第2の実施形態において、各装置やDBの構成は、任意に変更可能である。
また、各サーバは、協働して動作する複数台のコンピュータシステムから構成されてもよく、各サーバの機能を1台のコンピュータシステムで統合して実現してもよい。
Moreover, in the said 1st and 2nd embodiment, the structure of each apparatus and DB can be changed arbitrarily.
Each server may be composed of a plurality of computer systems operating in cooperation with each other, and the functions of the servers may be integrated by a single computer system.

なお、この発明のシステムは、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。例えば、上述の動作を実行するためのプログラムをコンピュータ読み取り可能な記録媒体(FD、CD−ROM、DVD等)に格納して配布し、該プログラムをコンピュータにインストールすることにより、上述の処理を実行する各クライアント、管理サーバ等を構成してもよい。また、インターネット等のネットワーク上のサーバ装置が有するディスク装置に格納しておき、例えば搬送波に重畳してコンピュータにダウンロード等するようにしてもよい。
また、上述の機能を、OSが分担又はOSとアプリケーションの共同により実現する場合等には、OS以外の部分のみを媒体に格納して配布してもよく、また、搬送波に重畳してコンピュータにダウンロード等してもよい。
The system of the present invention can be realized using a normal computer system, not a dedicated system. For example, a program for executing the above operation is stored in a computer-readable recording medium (FD, CD-ROM, DVD, etc.) and distributed, and the program is installed in the computer to execute the above processing. Each client, management server, and the like may be configured. Further, it may be stored in a disk device included in a server device on a network such as the Internet, and may be downloaded onto a computer, for example, superimposed on a carrier wave.
Further, when the OS realizes the above functions by sharing the OS or jointly with the OS and the application, only the part other than the OS may be stored and distributed in a medium, or may be superimposed on a carrier wave to a computer. You may download it.

この発明の第1の実施形態に係るネットワーク通信システムの構成を示す図である。It is a figure which shows the structure of the network communication system which concerns on 1st Embodiment of this invention. 図1のネットワーク通信システムで使用されるクライアントの構成を示す図である。It is a figure which shows the structure of the client used with the network communication system of FIG. リクエスト情報のデータ構造の一例を示す図である。It is a figure which shows an example of the data structure of request information. 図1のネットワークシステムで使用される管理サーバの構成を示す図である。It is a figure which shows the structure of the management server used with the network system of FIG. レスポンス情報のデータ構造の一例を示す図である。It is a figure which shows an example of the data structure of response information. クライアントにおけるリクエスト送信処理を説明するためのフローチャートである。It is a flowchart for demonstrating the request transmission process in a client. 管理サーバにおけるレスポンス送信処理を説明するためのフローチャートである。It is a flowchart for demonstrating the response transmission process in a management server. 第1の実施形態に係るシステムにおける各装置間の処理の流れを具体的に説明するための図である。It is a figure for demonstrating concretely the flow of the process between each apparatus in the system which concerns on 1st Embodiment. この発明の第2の実施形態に係るネットワーク通信システムの構成を示す図である。It is a figure which shows the structure of the network communication system which concerns on 2nd Embodiment of this invention. 図9のネットワーク通信システムで使用されるクライアントの構成を示す図である。It is a figure which shows the structure of the client used with the network communication system of FIG. 図9のネットワークシステムで使用される管理サーバの構成を示す図である。It is a figure which shows the structure of the management server used with the network system of FIG. 接続状態情報のデータ構造の一例を示す図である。It is a figure which shows an example of the data structure of connection state information. 管理サーバにおける接続状態チェック処理を説明するためのフローチャートである。It is a flowchart for demonstrating the connection state check process in a management server. 第2の実施形態に係るシステムにおける各装置間の処理の流れを具体的に説明するための図である。It is a figure for demonstrating concretely the flow of the process between each apparatus in the system which concerns on 2nd Embodiment.

符号の説明Explanation of symbols

10、15 ネットワーク
11、16 クライアント
13、17 管理サーバ
111、161 制御部
112、162 記憶部
113、163 表示部
114、164 入力部
115、165 通信制御部
111a ブラウザ部
111b リクエスト制御部
161a メッセージ送受信部
161b セッション管理部
131、171 制御部
132、172 記憶部
133、173 通信制御部
131a ウェブサーバ部
131b レスポンス制御部
132a イベントDB
171a メッセージ交換制御部
171b 接続状態チェック部
172a 接続状態DB
172b ユーザDB
10, 15 Network 11, 16 Client 13, 17 Management server 111, 161 Control unit 112, 162 Storage unit 113, 163 Display unit 114, 164 Input unit 115, 165 Communication control unit 111a Browser unit 111b Request control unit 161a Message transmission / reception unit 161b Session management unit 131, 171 Control unit 132, 172 Storage unit 133, 173 Communication control unit 131a Web server unit 131b Response control unit 132a Event DB
171a Message exchange control unit 171b Connection state check unit 172a Connection state DB
172b User DB

Claims (4)

ネットワークを介して相互に通信可能な複数のクライアントに該ネットワークを介して接続された管理サーバであって、
各クライアントの通信状態を示すステータス情報を記憶する記憶手段と、
クライアントからの通信要求に応じて、当該クライアントが次の通信要求を送信するまでのポーリング時間を当該クライアントに通知する手段と、
前記クライアントに通知したポーリング時間内に当該クライアントからの通信要求を受信したかを判別し、受信しなかった場合に、前記記憶手段における当該クライアントのステータス情報に、当該クライアントが第1の通信不能状態である旨を設定する手段と、
前記記憶手段におけるステータス情報に第1の通信不能状態である旨が設定されたクライアントについて、所定時間内に当該クライアントから通信要求を受信したかを判別し、受信した場合には、前記記憶手段における当該クライアントのステータス情報に、当該クライアントが通信可能状態である旨を設定し、受信しなかった場合には、前記記憶手段における当該クライアントのステータス情報に、当該クライアントが第2の通信不能状態である旨を設定して当該クライアントとのセッションを終了する手段と、
前記複数のクライアントのうちの一のクライアントからの他のクライアントを指定した通信要求に応じて、前記記憶手段に記憶されている指定した他のクライアントのステータス情報を前記一のクライアントへ送信する手段と、
を備えることを特徴とする管理サーバ。
A management server connected via a network to a plurality of clients that can communicate with each other via a network;
Storage means for storing status information indicating the communication state of each client;
According to the communication request from each client, means the client notifies the polling time before sending the next communication request to the client,
Determine whether it has received the communication request from the client within the polling time notifies each client, if it has not received, the status information of the client in the storage unit, the client first incommunicable Means for setting the status,
For the client whose status information in the storage means is set to the first communication disabled state, it is determined whether a communication request has been received from the client within a predetermined time . If the status information of the client indicates that the client is in a communicable state and is not received, the client is in the second communication disabled state in the status information of the client in the storage means. A means to set the effect and end the session with the client;
Means for transmitting status information of the designated other client stored in the storage means to the one client in response to a communication request designating another client from one of the plurality of clients ; ,
A management server comprising:
前記ステータス情報に、当該クライアントが第1の通信不能状態である旨が設定されたクライアントに対するメッセージを受信した場合、前記メッセージを保持し、当該クライアントとの通信が再開したときに、前記保持したメッセージを前記クライアントに供給する、
ことを特徴とする請求項1に記載の管理サーバ。
When the status information receives a message for a client for which the client is set to be in the first communication disabled state , the message is retained, and when the communication with the client is resumed, the retained message To the client,
The management server according to claim 1.
前記クライアントは、携帯端末と、携帯電話機と、の少なくとも一方を含む、
ことを特徴とする請求項1又は2に記載の管理サーバ。
The client includes at least one of a mobile terminal and a mobile phone.
The management server according to claim 1 or 2, characterized by the above.
ネットワークを介して相互に通信可能な複数のクライアントに該ネットワークを介して接続されたコンピュータを、
各クライアントの通信状態を示すステータス情報を記憶する記憶手段、
クライアントからの通信要求に応じて、当該クライアントが次の通信要求を送信するまでのポーリング時間を当該クライアントに通知する手段、
前記クライアントに通知したポーリング時間内に当該クライアントからの通信要求を受信したかを判別し、受信しなかった場合に、前記記憶手段における当該クライアントのステータス情報に、当該クライアントが第1の通信不能状態である旨を設定する手段、
前記記憶手段におけるステータス情報に第1の通信不能状態である旨が設定されたクライアントについて、所定時間内に当該クライアントから通信要求を受信したかを判別し、受信した場合には、前記記憶手段における当該クライアントのステータス情報に、当該クライアントが通信可能状態である旨を設定し、受信しなかった場合には、前記記憶手段における当該クライアントのステータス情報に、当該クライアントが第2の通信不能状態である旨を設定して当該クライアントとのセッションを終了する手段、
前記複数のクライアントのうちの一のクライアントからの他のクライアントを指定した通信要求に応じて、前記記憶手段に記憶されている指定した他のクライアントのステータス情報を前記一のクライアントへ送信する手段、
として機能させるためのプログラム。
A computer connected via a network to a plurality of clients capable of communicating with each other via the network ;
Storage means for storing status information indicating the communication state of each client;
According to the communication request from each client, means the client notifies the polling time before sending the next communication request to the client,
Determine whether it has received the communication request from the client within the polling time notifies each client, if it has not received, the status information of the client in the storage unit, the client first incommunicable Means for setting the status,
For the client whose status information in the storage means is set to the first communication disabled state, it is determined whether a communication request has been received from the client within a predetermined time . If the status information of the client indicates that the client is in a communicable state and is not received, the client is in the second communication disabled state in the status information of the client in the storage means. Means to end the session with the client by setting
Means for transmitting status information of the designated other client stored in the storage means to the one client in response to a communication request designating another client from one of the plurality of clients ;
Program to function as.
JP2005020648A 2005-01-28 2005-01-28 Management server and program Expired - Lifetime JP4140728B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005020648A JP4140728B2 (en) 2005-01-28 2005-01-28 Management server and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005020648A JP4140728B2 (en) 2005-01-28 2005-01-28 Management server and program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2002235627A Division JP3776848B2 (en) 2002-08-13 2002-08-13 Management server and program

Publications (2)

Publication Number Publication Date
JP2005135442A JP2005135442A (en) 2005-05-26
JP4140728B2 true JP4140728B2 (en) 2008-08-27

Family

ID=34651133

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005020648A Expired - Lifetime JP4140728B2 (en) 2005-01-28 2005-01-28 Management server and program

Country Status (1)

Country Link
JP (1) JP4140728B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014096159A (en) * 2013-12-19 2014-05-22 Canon Inc Event acquisition control method and event acquisition control system

Also Published As

Publication number Publication date
JP2005135442A (en) 2005-05-26

Similar Documents

Publication Publication Date Title
US8463915B1 (en) Method for reducing DNS resolution delay
US20040162076A1 (en) System and method for simplified secure universal access and control of remote networked electronic resources for the purposes of assigning and coordinationg complex electronic tasks
US20080005119A1 (en) Remotely updating a user status on a presence server
US8666940B2 (en) Method and apparatus for communicating data between computer devices
JP2008181427A (en) Single sign-on system, information terminal device, single sign-on server, program
JP3434209B2 (en) Communication tool use status transmission method, server device, client terminal device, and program recording medium thereof
US20120036208A1 (en) Polling-based secure network message notification system and method with performance enhancing features
US20090290503A1 (en) Controlling Access to a Destination in a Data Processing Network
JP2008187425A (en) Repeating installation, program and repeating method
US20060093119A1 (en) Leveraging real-time communications client
JP3776848B2 (en) Management server and program
JP4591117B2 (en) Presence information distribution system
JP4140728B2 (en) Management server and program
KR100947114B1 (en) Method for collecting quality data of web service using dummy message
JP4231241B2 (en) Network communication
JP4001047B2 (en) Relay device
US8176024B2 (en) Information apparatus connected to information terminal having a plurality of applications installed thereinto, control method of the same, and program product
JPH10289171A (en) Inter-program linking system
JP2015049745A (en) Server device, information processing method, and program
US7904506B2 (en) Context information management system
KR20010011078A (en) Method for printing in network printer
KR20120087262A (en) Customer center system for performing voice response for customer using virtual phone number and method thereof
JP5090419B2 (en) Session management system, content server, and portable terminal
JP2004302534A (en) Web service system, and data transmission processing method for web service system
JP2005025482A (en) Presence system

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070925

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071122

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080603

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

Free format text: PAYMENT UNTIL: 20110620

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4140728

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120620

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20120620

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130620

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term