JP3776848B2 - 管理サーバ及びプログラム - Google Patents

管理サーバ及びプログラム Download PDF

Info

Publication number
JP3776848B2
JP3776848B2 JP2002235627A JP2002235627A JP3776848B2 JP 3776848 B2 JP3776848 B2 JP 3776848B2 JP 2002235627 A JP2002235627 A JP 2002235627A JP 2002235627 A JP2002235627 A JP 2002235627A JP 3776848 B2 JP3776848 B2 JP 3776848B2
Authority
JP
Japan
Prior art keywords
client
information
request
management server
request information
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
JP2002235627A
Other languages
English (en)
Other versions
JP2004080187A (ja
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 JP2002235627A priority Critical patent/JP3776848B2/ja
Publication of JP2004080187A publication Critical patent/JP2004080187A/ja
Application granted granted Critical
Publication of JP3776848B2 publication Critical patent/JP3776848B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
この発明は、クライアント間でメッセージ等のデータをやり取りするためのネットワーク通信システム等に関する。
【0002】
【従来の技術】
従来、例えばHTTP等のリクエスト/レスポンス型の通信プロトコルによってデータ通信を行うネットワークシステムにおいて、クライアント同士でサーバを介してメッセージ等のデータをやり取りする場合、クライアントがサーバに所定時間毎にアクセスして更新情報の有無を確認していた。この所定時間毎にクライアントがサーバにアクセスして情報を取得・更新等する方式は一般にポーリング方式等と呼ばれる。
【0003】
例えば、クライアントAとクライアントBの間でメッセージを交換するという場面を例に説明すると、クライアントBがサーバに時刻T1にリクエストを送信した後に、クライアントAがクライアントBに対するメッセージデータをサーバに登録した場合、クライアントBは、次のアクセス時刻T2(=時刻T1+Δt)に、サーバにリクエストを送信して、サーバに登録されているメッセージデータを取得する。
【0004】
【発明が解決しようとする課題】
上記のようなシステムにおいて、クライアント間のデータのやり取りを、よりリアルタイムに近いものとして実現しようとすると、クライアントからサーバへのリクエストを頻繁に発生させることになる。この場合、通信パケット量が増大し、ネットワーク負荷が大きくなってしまうという問題があった。また、サーバ側で情報が更新されていないときでも通信が発生するため、無駄なパケット(空振りパケット)の発生により通信効率が低下する虞があった。
【0005】
また、クライアント間におけるリアルタイム性の高いデータ通信(メッセージ交換)を可能とするインターネット機能の1つとしてインスタントメッセージ機能等がある。インスタントメッセージは、ネットワークに接続状態にあるクライアント間のメッセージ交換を可能とする性質から、主にパーソナルコンピュータで利用されており、状況によって通信不能状態となる携帯端末、携帯電話機等での利用には適していなかった。例えば、携帯端末等が通信圏外にあってオフライン状態になっている場合にはメッセージの送受信ができないため、その携帯端末等のユーザに対して発信されたメッセージが無駄になってしまうという問題等があった。
【0006】
この発明は、上記実状に鑑みてなされたものであり、クライアント間でリアルタイム性の高いメッセージ交換を可能とし、且つ、通信の効率化を図ることができる管理サーバを提供することを目的とする。
また、この発明は、リクエスト/レスポンス型の通信プロトコルを用いたネットワークシステムにおいて、クライアント間のデータのやり取りにおけるリアルタイム性を高め、且つ、ネットワーク負荷を軽減することができる管理サーバ等を提供することを他の目的とする。
また、この発明は、インスタントメッセージ等のリアルタイムな通信機能の利用を携帯端末等の間で可能にする管理サーバ等を提供することを他の目的とする。
【0007】
【課題を解決するための手段】
上記目的を達成するため、この発明の第1の観点に係る管理サーバは、
リクエスト/レスポンス型の通信プロトコルによりクライアントと通信を行う管理サーバであって、
クライアントからのリクエスト情報を受信する手段と、
前記リクエスト情報の送信元のクライアントについて、次のリクエスト情報を送信させるまでのポーリング時間を算出する算出手段と、
算出したポーリング時間の情報を、前記リクエスト情報に対するレスポンス情報に含めて返信する手段と、を備え、
前記算出手段は、前記リクエスト情報の送信元のクライアントにおけるイベント発生頻度の情報に基づいて、前記ポーリング時間を算出する、
ことを特徴とする。
【0008】
この発明によれば、管理サーバが、リクエスト情報を発信したクライアントについて、次のリクエスト情報の好適な送信タイミングを算出して通知することにより、クライアント間でのメッセージ交換等のデータ通信におけるリアルタイム性を高めるとともに、通信効率を向上させることができる。
【0010】
上記目的を達成するため、この発明の第2の観点に係る管理サーバは、
リクエスト/レスポンス型の通信プロトコルによりクライアントと通信を行う管理サーバであって、
クライアントからのリクエスト情報を受信する手段と、
前記リクエスト情報の送信元のクライアントについて、次のリクエスト情報を送信させるまでのポーリング時間を算出する算出手段と、
算出したポーリング時間の情報を、前記リクエスト情報に対するレスポンス情報に含めて返信する手段と、
前記通信プロトコルにより定められたセッションタイムと、前記送信元に通知すべき所定イベントの発生の有無と、の少なくとも一方に基づいて、前記レスポンス情報の送信タイミングを制御する手段を備え
前記算出手段は、前記リクエスト情報の送信元のユーザに関する通信記録に基づいて、前記ポーリング時間を算出する、
ことを特徴とする。
【0015】
この発明の第の観点に係るプログラムは、
コンピュータを、
クライアントからのリクエスト情報を受信する手段、
前記リクエスト情報の送信元のクライアントについて、次のリクエスト情報を送信させるまでのポーリング時間を前記リクエスト情報の送信元のクライアントにおけるイベント発生頻度の情報に基づいて算出する算出手段、
算出したポーリング時間の情報を、前記リクエスト情報に対するレスポンス情報に含めて返信する手段、
として機能させる。
また、この発明の第4の観点に係るプログラムは、
コンピュータを、
クライアントからのリクエスト情報を受信する手段、
前記リクエスト情報の送信元のクライアントについて、次のリクエスト情報を送信させるまでのポーリング時間を前記リクエスト情報の送信元のユーザに関する通信記録に基づいて算出する算出手段、
算出したポーリング時間の情報を、前記リクエスト情報に対するレスポンス情報に含めて返信する手段、
前記通信プロトコルにより定められたセッションタイムと、前記送信元に通知すべき所定イベントの発生の有無と、の少なくとも一方に基づいて、前記レスポンス情報の送信タイミングを制御する手段、
として機能させる。
【0016】
【発明の実施の形態】
以下、本発明に係る実施の形態について図面を参照して説明する。
【0017】
(第1の実施形態)
図1はこの発明の第1の実施形態に係るネットワーク通信システムの構成を示す図である。
図示するように、このネットワーク通信システムは、ネットワーク10を介して相互に接続されるクライアント11と、管理サーバ13と、を備えている。
【0018】
ネットワーク10は、移動体通信網、電話回線、インターネット等から構成され、クライアント11と管理サーバ13との間で情報の送受信を可能とするためのものである。
【0019】
クライアント11は、制御部111、記憶部112、表示部113、入力部114、通信制御部115等を備える携帯端末、携帯電話機、パーソナルコンピュータ等から構成され、ネットワーク10を介して管理サーバ13等との間で通信を行う。
クライアント11の制御部111は、図2に示すように、記憶部112に記憶される動作プログラム等を実行することにより、ブラウザ部111a、リクエスト制御部111b、を論理的に実現する。
【0020】
ブラウザ部111aは、従来のブラウザ機能を有し、また、リクエスト制御部111bと連動して、サーバへのリクエスト情報を送信する処理やサーバからのレスポンス情報を受信する処理等を行う。
リクエスト制御部111bは、管理サーバ13から受信したレスポンス情報に含まれる所定情報(ポーリング間隔情報)を参照し、その情報が示すポーリング間隔で次回のリクエスト情報を管理サーバ13に送信するようブラウザ部111aを制御する。
【0021】
クライアント11から管理サーバ13に送信されるリクエスト情報の一例を図3に示す。このリクエスト情報は、例えば、プロトコルバージョン、リクエストコマンド、制御フラグ、受信可能イベント数、AckID、要求イベント等のデータを含む。このうち、制御フラグは、リクエストに対応するレスポンスを即時にリターンするか否かを示す即時リターンフラグを含む。例えば、レスポンスが即時に返されることが望ましいリクエスト(例えば、「ログイン要求」、「設定変更要求」等)については即時リターンフラグが「オン」に設定され、それ以外のリクエストについては即時リターンフラグが「オフ」に設定される。
【0022】
記憶部112、制御部111が実行する動作プログラムや、処理に必要な各種のデータを記憶する。
表示部113、CRT、液晶ディスプレイ等の表示装置を含み、制御部111からの指示に従って種々の画面表示を行う。
入力部114、マウス、キーボード等の入力装置を含み、入力されたデータを制御部111に通知する。
通信制御部115は、ネットワーク10を介して管理サーバ13等との間でデータ通信を行うためのものである。
【0023】
管理サーバ13は、例えば図4に示すように、制御部131と、記憶部132と、通信制御部133と、を備えるコンピュータ等から構成される。
【0024】
制御部131は、記憶部132に記憶される動作プログラム等を実行することにより、ウェブサーバ部131a、レスポンス制御部131b等を論理的に実現する。
【0025】
ウェブサーバ部131aは、従来のウェブサーバと同様の機能を有し、また、レスポンス制御部131bと連動して、クライアント11に対して次のポーリング間隔を指示するためのポーリング間隔情報を含むレスポンス情報を送信する処理を行う。また、ウェブサーバ部131aは、リクエスト情報を受信したとき、これに対するレスポンス情報を即時に返信せずに、所定のイベントが発生したとき又はタイムアウト直前等の所定のタイミングでレスポンス情報をクライアント11に送信する。なお、レスポンス情報を即時に返信するよう設定されているリクエスト情報については、レスポンス情報をすぐに返信する。
【0026】
また、ウェブサーバ部131aは、各クライアント11において発生したイベント(各種キー操作等)について、発生日時、イベント内容等を示すイベント情報(通信記録)を記憶部132のイベントデータベース132aに記憶する。
【0027】
レスポンス制御部131bは、クライアント11からのリクエスト情報の受信に応じて、そのクライアント11に通知するポーリング間隔を決定し、これを示すポーリング間隔情報をウェブサーバ部131aに渡す。ポーリング間隔の決定方法は、例えば、イベントデータベース132aに記憶されているイベント情報を参照し、リクエスト送信元のクライアント11におけるイベント発生頻度や、リクエスト送信元のクライアントの通信相手のイベント発生頻度等の情報に基づいて、オペレーションズリサーチ等により通信効率の良い時間間隔を算出する。例えば、ユーザの過去の利用パターンについて多変量解析を行い、その結果を用いて最適なポーリング間隔を決定してもよい。
【0028】
管理サーバ13からクライアント11に送信されるレスポンス情報の一例を図5に示す。このレスポンス情報は、例えば、レスポンスID、レスポンスコード、ポーリング間隔情報、セッションID長、セッションID、イベント/要求結果数、イベント/要求結果等のデータを含む。
【0029】
記憶部132は、制御部131が実行する動作プログラムや、処理に必要な各種のデータを記憶する。また、記憶部132は、各クライアントにおいて発生したイベントの情報(イベント情報)を記憶するイベントデータベース132aを有する。
【0030】
通信制御部133は、ネットワーク10を介してクライアント11等との間でデータ通信を行うためのものである。
【0031】
次に、この第1の実施形態に係るネットワーク通信システムの動作について本発明の特徴部分を中心に説明する。
【0032】
初めに、クライアント11におけるリクエスト送信処理について図6のフローチャートを参照して説明する。
まず、クライアント11は、ユーザの入力操作に応じたリクエスト情報を生成し、管理サーバ13に送信する(ステップS1)。
【0033】
そして、送信したリクエスト情報に対応するレスポンス情報を管理サーバ13から受信すると、そのレスポンスに含まれているポーリング間隔情報を記憶部の所定領域に記憶する(ステップS2)。
そして、受信したレスポンス情報の内容に応じた処理(例えば、レスポンス情報にHTMLデータが付されている場合には、それを表示する等)を行う(ステップS3)。
【0034】
そして、ポーリング間隔情報が示すポーリング時間が経過した後(ステップS4)、ステップS1に戻って、次のリクエスト情報を生成して管理サーバ13に送信する等の処理を繰り返す(ステップS1〜S4)。
【0035】
なお、このリクエスト送信処理の開始、終了のタイミングは任意であり、例えば、管理サーバ13へのログイン時や所定の入力操作(例えば操作メニューから「メッセージ交換」を選択等)時に開始してもよく、また、ログアウトや所定の入力操作(例えば操作メニューから「メッセージ交換の終了」を選択等)時に終了してもよい。
【0036】
次に、管理サーバ13におけるレスポンス送信処理について図7のフローチャートを参照して説明する。
管理サーバ13は、クライアント11からリクエスト情報を受信すると、そのリクエスト情報に含まれる即時リターンフラグを参照し(ステップS10)、設定内容が「オフ」であると判別した場合には、要求元に通知すべきイベントが既に有るかを判別する。
そして、通知すべきイベントがない場合には(ステップS11:N)、HTTPのセッションタイムアウトの直前まで、所定のイベント(例えば、通信相手によるデータ更新等)の発生を待つ(ステップS12)。
【0037】
ステップS11において、通知すべきイベントが有ると判別された場合、又は、ステップS12において、タイムアウト直前になった場合には、要求元のクライアントについてのポーリング時間を計算する処理を行う(ステップS13)。そして、計算したポーリング時間を示すポーリング間隔情報を含むリクエスト情報を要求元のクライアント11に送信して(ステップS14)、本処理を終了する。
【0038】
また、ステップS10において、リクエスト情報に含まれる即時リターンフラグが「オン」に設定されている場合には、ポーリング間隔の計算処理を続けて行い(ステップS13)、レスポンス情報を返信する処理を行って(ステップS14)、本処理を終了する。
【0039】
次に、本システムにおける各装置間の処理の流れについて、ユーザAとユーザBがメッセージ交換を行う場合を例に図8を参照して説明する。
まず、例えば、ユーザBがクライアント11Bを用いて管理サーバ13にログイン要求req1を送信する(L1)。
管理サーバ13は、クライアント11Bからログイン要求req1を受信すると、クライアント11Bに対するポーリング間隔td0を計算し、この情報を含むログイン完了通知res1をクライアント11Bに送信する(L2)。
【0040】
一方、ユーザAもクライアント11Aを用いて管理サーバ13にログイン要求req2を送信する(L3)。
管理サーバ13は、クライアント11Aに対するポーリング間隔td1を算出し、この情報を含むログイン完了通知res2をクライアント11Aに送信する(L4)。例えば、このとき、ユーザBがログイン中であることもユーザAに通知される。
【0041】
また、クライアント11B側では、通知されたポーリング間隔td0が経過すると、リクエスト情報req3が管理サーバ13に送信される(L5)。
管理サーバ13は、受信したリクエストreq3に対するレスポンスをすぐに返さずに、イベントが発生するまで、又は、タイムアウト直前まで待つ。
【0042】
このとき、例えば、ポーリング間隔td1が経過する前に、クライアント11Aが、ユーザAによる入力操作に従い(又は、自動的に)プレゼンス変更要求req4を管理サーバ13に送信する(L6)。
管理サーバ13は、クライアント11Aからプレゼンス変更要求req4を受信すると、ポーリング間隔td2を算出し、この情報を含む変更完了通知res4をクライアント11Aに送信する(L7)とともに、このイベント(ユーザAのプレゼンス変更)を通知するレスポンス情報res3(リクエストreq3に対応)をクライアント11Bに送信する(L8)。なお、このレスポンスres3は、ポーリング間隔td3の情報を含む。
【0043】
次に、クライアント11Aが、ユーザAによる入力操作に従って、ユーザBへのメッセージreq5を送信したとする(L9)。管理サーバ13は、ユーザAによるユーザBへのメッセージの情報を更新/記憶する。また、管理サーバ13は、受信したリクエストreq5に対するレスポンスをすぐに返さずに、イベントが発生するまで、又は、タイムアウト直前まで待つ。
【0044】
また、クライアント11B側では、通知されたポーリング間隔td3が経過すると、リクエスト情報req6が管理サーバ13に送信される(L10)。
このとき、クライアント11Bに通知すべきイベント(ユーザAからのメッセージ)が既に発生しているため、管理サーバ13は、メッセージの送信完了通知res5(リクエストreq5に対応、ポーリング間隔td4の情報を含む)をクライアント11Aに送信するとともに(L11)、ユーザAからのメッセージres6(ポーリング間隔td5の情報を含む)をクライアント11Bに送信する(L12)。
【0045】
そして、クライアント11A側では、通知されたポーリング間隔td4が経過すると、リクエスト情報req7が管理サーバ13に送信される(L13)。また、クライアントCB側では、通知されたポーリング間隔td5が経過すると、リクエスト情報req8が管理サーバ13に送信される(L14)。管理サーバ13は、これらのリクエストを受信し、対応するレスポンスを各クライアント11B、11Cに送信する。
以後、通信が終了するまで、クライアント11A、11Bと管理サーバ13間で上記のようなリクエストとレスポンスのやり取りが続行される。
【0046】
以上のように、本発明の第1の実施形態によれば、管理サーバ13がクライアント11に対して好適なポーリング間隔を指示し、この時間間隔でクライアント11にリクエストを発信させ、また、管理サーバ13において、レスポンスをイベント発生やタイムアウト直前等のタイミングで発信するようにすることにより、クライアント間のデータ通信のリアルタイム性を高めつつ、ネットワーク負荷を軽減し、通信効率を向上させることができる。
【0047】
なお、第1の実施形態におけるリクエスト、レスポンスのデータ構成は一例であり、これに限定されず任意である。
また、ポーリング間隔の決定方法は任意であり、種々の計算方法、解析方法等を適用可能である。
また、クライアント11において、通知されたポーリング時間に基づくリクエストRnを送信する前に、ユーザがリクエストを生成して管理サーバ13に送信した場合には、リクエストRnの送信をやめるようにしてもよい。
【0048】
(第2の実施形態)
次に、本発明の第2の実施形態に係るネットワーク通信システムについて説明する。このネットワーク通信システムは、インターネットに接続した端末同士で直接メッセージをやりとりするためのシステムである。なお、このようなメッセージ交換機能は一般的にインスタントメッセージと呼ばれている。
【0049】
図9はこの発明の第2の実施形態に係るネットワーク通信システムの構成を示す図である。
図示するように、このネットワーク通信システムは、ネットワーク15を介して相互に接続されるクライアント16と、管理サーバ17と、を備えている。
【0050】
ネットワーク15は、移動体通信網、電話回線、インターネット等から構成され、クライアント16と管理サーバ17との間で情報の送受信を可能とするためのものである。
【0051】
クライアント16は、制御部161、記憶部162、表示部163、入力部164、通信制御部165等を備える携帯端末、携帯電話機等から構成され、ネットワーク15を介して管理サーバ17等との間で通信を行う。
【0052】
クライアント16の制御部161は、図10に示すように、記憶部162に記憶される動作プログラム等を実行することにより、メッセージ送受信部161a、セッション管理部161b、を論理的に実現する。
【0053】
メッセージ送受信部161aは、ユーザによる入力操作に従って、他のユーザ宛のメッセージを生成し、生成したメッセージを管理サーバ17に送信するメッセージ送信や、管理サーバ17からそのユーザ宛のメッセージを受信するメッセージ受信処理等を行う。
【0054】
セッション管理部161bは、ユーザによる入力操作に従って、管理サーバ17にログインした後、管理サーバ17から通知される、ポーリング間隔値とセッションタイムアウト値等の情報を記憶部162に記憶し、そのポーリング間隔値が示すポーリング間隔で次の通信要求を管理サーバ17に送信する。また、セッション管理部161bは、セッションタイムアウト値が示す時間内に、少なくとも一度は管理サーバ17と通信を行う。
【0055】
記憶部162は、制御部161が実行する動作プログラムや、処理に必要な各種のデータを記憶する。
表示部163は、CRT、液晶ディスプレイ等の表示装置を含み、制御部161からの指示に従って種々の画面表示を行う。
入力部164は、マウス、キーボード等の入力装置を含み、入力されたデータを制御部161に通知する。
通信制御部165は、ネットワーク15を介して管理サーバ17との間でデータ通信を行うためのものである。
【0056】
管理サーバ17は、例えば図11に示すように、制御部171と、記憶部172と、通信制御部173と、を備えるコンピュータ等から構成される。
【0057】
制御部171は、記憶部172に記憶される動作プログラム等を実行することにより、メッセージ交換制御部171a、接続状態チェック部171b等を論理的に実現する。
【0058】
メッセージ交換制御部171aは、ログインユーザ間でメッセージをやり取りさせるための処理を行う。具体的には、ログインユーザから他のログインユーザ宛のメッセージを受け付け、他のログインユーザ(メッセージ宛先のユーザ)からの通信要求等に応じてそのメッセージを供給する処理等を行う。
このメッセージ交換処理において、メッセージ交換制御部171aは、記憶部172の接続状態データベース172aに記憶される各ユーザ(クライアント16)の接続状態情報を参照して、宛先ユーザの通信状態をチェックする。
【0059】
この接続状態情報は、例えば、図12に示すように、各ユーザについて、ユーザID、ステータス、ログイン時刻、最終通信時刻、一時不能時刻(ステータスが「一時不能状態」に設定された時刻)等のデータを含む。このうち、ステータスには、例えば、「通信可」、「一時不能状態」、「通信不能状態」等のクライアント16の通信状態を示す情報が設定される。また、最終通信時刻は、クライアント16から通信要求がある毎に更新される。
【0060】
そして、メッセージ交換制御部171aは、メッセージの宛先ユーザのステータスが「一時不能状態」である場合には、メッセージを記憶部172の所定領域にユーザ毎にキューイングする。そして、「一時不能状態」ステータスが解消された場合に、キューイングされていたメッセージをそのユーザのクライアント16に供給する。また、「一時不能状態」ステータスが「通信不能状態(オフライン)」に変更された場合には、ユーザにより事前に設定された対処内容に従って、「メッセージを電子メールにより転送する」、「送信者にメッセージの再送を促す」等の所定の処理を行う。
【0061】
接続状態チェック部171bは、各ユーザのクライアント16の接続状態をチェックして管理するための処理を行う。具体的には、管理サーバ17にログインした各クライアント16に対して、ポーリング間隔値及びセッションタイム値を通知する。また、各ログインユーザについて、通信要求がある度に、接続状態情報における最終通信時刻を更新する。また、各ログインユーザについて、最終通信時からポーリング間隔値が示す時間内に管理サーバ17に対して通信要求があるかをチェックし、ポーリング時間内に通信要求がない場合には、そのユーザのステータスを「一時不能状態」に設定する。また、接続状態チェック部171bは、各ログインユーザについて、ステータスが「一時不能状態」に設定された場合、セッションタイム値が示す時間内に管理サーバ17に対して通信要求があるかをチェックし、セッションタイム時間内に通信要求がない場合には、そのクライアント16のログインセッションを終了するとともに、そのユーザのステータスを「通信不能状態」に設定する。また、接続状態チェック部171bは、ステータスが「一時不能状態」であるユーザのクライアント16から通信要求があった場合には、ステータスを「通信可」に戻す。
【0062】
また、接続状態チェック部171bは、ログインユーザの接続状況情報におけるステータス等の情報を、管理サーバ17に対して通信要求を発したクライアント16に供給する。このステータスの供給方法は任意であり、例えば、ステータスの問い合わせ要求をユーザの指定とともに受け付け、その指定されたログインユーザのステータスを要求元のクライアント16に供給するようにしてもよく、また、例えば同一グループに属する複数のユーザのステータスを、そのグループに属するユーザからの通信要求に応答して通知するようにしてもよい。
【0063】
記憶部172は、制御部171が実行する動作プログラムや、処理に必要な各種のデータを記憶する。
また、記憶部172は、接続状態情報(図12)を記憶する接続状態データベース172aと、所定のユーザ情報(ユーザID、ユーザ名、メールアドレス等)を記憶するユーザデータベース172bと、を有する。
【0064】
通信制御部173は、ネットワーク10を介してクライアント16等との間でデータ通信を行うためのものである。
【0065】
以下に、この第2の実施形態に係るネットワーク通信システムの動作について本発明の特徴部分を中心に説明する。
まず、管理サーバ17が、各ログインユーザについて接続状態をチェックする接続状態チェック処理について図13のフローチャートを参照して説明する。なお、本処理は例えば所定時間毎等のタイミングで実行される。
【0066】
管理サーバ17は、接続状態データベース172aから、一のログインユーザの接続状態情報を読み出す(ステップS21)。
そして、読み出した接続状態情報のステータスを判別し(ステップS22)、例えば「通信可」である場合には、最終通信時刻からポーリング時間が経過したかを判別し(ステップS23)。ポーリング時間が経過した場合には、そのステータスを「一時不能状態」に変更する(ステップS24)。
【0067】
また、ステップS22において、読み出した接続状態情報のステータスが「一時不能状態」である場合、管理サーバ17は、一時不能時刻からセッションタイムアウト時間が経過したかを判別し(ステップS25)、経過した場合には、クライアント16のログインセッションを終了するとともに、そのステータスを「通信不能状態」に変更する(ステップS26)。
【0068】
また、ステップS23においてポーリング時間が経過していないと判別された場合、ステップS24においてステータスが変更された後、ステップS25においてセッションタイムアウト時間が経過していないと判別された場合、ステップS26においてステータスが変更された後に、全ログインユーザについて処理が完了したかを判別し(ステップS27)、全ログインユーザについて処理が完了するまで、上記ステップS21〜S27の処理を繰り返す。
この接続状態チェック処理により、管理サーバ17において、全ログインユーザの通信状態を把握することができる。
【0069】
次に、あるログインユーザAのクライアント16Aの通信状態を管理サーバ17が把握する場合における具体的な処理の流れを図14を参照して説明する。
例えばユーザAがクライアント16Aにユーザ名とパスワードを入力し、所定のログインボタンを押下すると、これに応じて、クライアント16Aは、入力データに基づくログイン情報を管理サーバ17に送信する(L21)。
【0070】
管理サーバ17は、クライアント16からのログイン情報を受信して、所定のログイン認証を行い、クライアント16Aとのセッションを開始する。そして、管理サーバ17は、ログイン成功応答とともに、セッションタイムアウト値、ポーリング値等の情報をクライアント16Aに通知する(L22)。
【0071】
クライアント16Aは、管理サーバ17から受信したセッションタイムアウト値、ポーリング値を記憶する。そして、クライアント16Aは、通知されたポーリング時間が経過すると、更新情報(例えばユーザA宛の新たなメッセージ等)を取得するための通信要求を管理サーバ17に送信する(L23)。
【0072】
管理サーバ17は、クライアント16Aからの通信要求に応じて、接続状態データベース172aにおけるそのクライアント16Aの接続状態情報の最終通信時を更新するとともに、ユーザAに関する更新情報と、次のポーリングのためのポーリング値等をクライアント16Aに通知する(L24)。
【0073】
クライアント16Aは、管理サーバ17から受信したポーリング値を記憶する。そして、通知されたポーリング時間の経過後、通信要求を管理サーバ17に送信しようとしたが、例えば通信圏外にいたため、管理サーバ17と通信できなかったこととする。
管理サーバ17は、クライアント16Aについて、前回の通信時からポーリング時間内に通信要求がないため、その接続状態情報におけるステータスを「一時不能状態」に設定する(L25)。そして、例えば、通信要求があった他のユーザにクライアント16Aが「一時不能状態」であることを通知してもよい。
【0074】
そして、例えば、クライアント16Aが通信圏内にいるときに、通信のリトライを行い、通信要求がセッションタイムアウト前に管理サーバ17に送信されたこととする(L26)。
管理サーバ17は、クライアント16Aがセッションタイムアウト前にポーリングしてきたため、クライアント16Aのステータスを「通信可」に変更し(L27)、次のポーリングのためのポーリング値をクライアント16Aに通知する(L28)。
【0075】
次に、クライアント16Aは、例えば、再び通信圏外にいたため、管理サーバ17と通信できなかったこととする。
管理サーバ17は、クライアント16Aについて、前回の通信時からポーリング時間内に通信要求がないため、その接続状態情報におけるステータスを「一時不能状態」に設定する(L29)。そして、通信要求がないままセッションタイムアウトとなった場合には、クライアント16Aのステータスを「通信不能状態」に設定するとともに、セッションを終了する(L30)。
【0076】
このようにして、本発明の第2の実施形態によれば、クライアント16の通信状態を管理サーバ17で把握・管理することができるため、通信状態が変化する携帯端末等でもインスタントメッセージ機能等のリアルタイムなデータ通信機能を利用することができる。また、各ユーザは相手の通信状態を確かめてメッセージを送信することができるため、無駄なメッセージ送信を削減することができる。
【0077】
なお、上記の第2の実施形態ではインスタントメッセージ機能を利用するシステムについて説明したが、本発明の適用範囲はこれに限定されず、種々のリアルタイムなデータ通信機能を利用するシステムに適用可能である。
また、クライアント16は、携帯端末、携帯電話機等に限定されず、パーソナルコンピュータ等も含んでも良い。
また、接続状態情報のデータ構成は一例であり、これに限定されず任意である。
【0078】
また、上記第1と第2の実施形態において、各装置やDBの構成は、任意に変更可能である。
また、各サーバは、協働して動作する複数台のコンピュータシステムから構成されてもよく、各サーバの機能を1台のコンピュータシステムで統合して実現してもよい。
【0079】
なお、この発明のシステムは、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。例えば、上述の動作を実行するためのプログラムをコンピュータ読み取り可能な記録媒体(FD、CD−ROM、DVD等)に格納して配布し、該プログラムをコンピュータにインストールすることにより、上述の処理を実行する各クライアント、管理サーバ等を構成してもよい。また、インターネット等のネットワーク上のサーバ装置が有するディスク装置に格納しておき、例えば搬送波に重畳してコンピュータにダウンロード等するようにしてもよい。
また、上述の機能を、OSが分担又はOSとアプリケーションの共同により実現する場合等には、OS以外の部分のみを媒体に格納して配布してもよく、また、搬送波に重畳してコンピュータにダウンロード等してもよい。
【0080】
【発明の効果】
この発明によれば、クライアント間でのメッセージ交換等のデータ通信におけるリアルタイム性を高めるとともに、通信効率を向上させることができる。
【図面の簡単な説明】
【図1】この発明の第1の実施形態に係るネットワーク通信システムの構成を示す図である。
【図2】図1のネットワーク通信システムで使用されるクライアントの構成を示す図である。
【図3】リクエスト情報のデータ構造の一例を示す図である。
【図4】図1のネットワークシステムで使用される管理サーバの構成を示す図である。
【図5】レスポンス情報のデータ構造の一例を示す図である。
【図6】クライアントにおけるリクエスト送信処理を説明するためのフローチャートである。
【図7】管理サーバにおけるレスポンス送信処理を説明するためのフローチャートである。
【図8】第1の実施形態に係るシステムにおける各装置間の処理の流れを具体的に説明するための図である。
【図9】この発明の第2の実施形態に係るネットワーク通信システムの構成を示す図である。
【図10】図9のネットワーク通信システムで使用されるクライアントの構成を示す図である。
【図11】図9のネットワークシステムで使用される管理サーバの構成を示す図である。
【図12】接続状態情報のデータ構造の一例を示す図である。
【図13】管理サーバにおける接続状態チェック処理を説明するためのフローチャートである。
【図14】第2の実施形態に係るシステムにおける各装置間の処理の流れを具体的に説明するための図である。
【符号の説明】
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

Claims (4)

  1. リクエスト/レスポンス型の通信プロトコルによりクライアントと通信を行う管理サーバであって、
    クライアントからのリクエスト情報を受信する手段と、
    前記リクエスト情報の送信元のクライアントについて、次のリクエスト情報を送信させるまでのポーリング時間を算出する算出手段と、
    算出したポーリング時間の情報を、前記リクエスト情報に対するレスポンス情報に含めて返信する手段と、を備え、
    前記算出手段は、前記リクエスト情報の送信元のクライアントにおけるイベント発生頻度の情報に基づいて、前記ポーリング時間を算出する、
    ことを特徴とする管理サーバ。
  2. リクエスト/レスポンス型の通信プロトコルによりクライアントと通信を行う管理サーバであって、
    クライアントからのリクエスト情報を受信する手段と、
    前記リクエスト情報の送信元のクライアントについて、次のリクエスト情報を送信させるまでのポーリング時間を算出する算出手段と、
    算出したポーリング時間の情報を、前記リクエスト情報に対するレスポンス情報に含めて返信する手段と、
    前記通信プロトコルにより定められたセッションタイムと、前記送信元に通知すべき所定イベントの発生の有無と、の少なくとも一方に基づいて、前記レスポンス情報の送信タイミングを制御する手段をさらに備え、
    前記算出手段は、前記リクエスト情報の送信元のユーザに関する通信記録に基づいて、前記ポーリング時間を算出する、
    ことを特徴とする管理サーバ
  3. コンピュータを、
    クライアントからのリクエスト情報を受信する手段、
    前記リクエスト情報の送信元のクライアントについて、次のリクエスト情報を送信させるまでのポーリング時間を前記リクエスト情報の送信元のクライアントにおけるイベント発生頻度の情報に基づいて算出する算出手段、
    算出したポーリング時間の情報を、前記リクエスト情報に対するレスポンス情報に含めて返信する手段、
    として機能させるためのプログラム。
  4. リクエスト/レスポンス型の通信プロトコルによりクライアントと通信を行う管理サーバに用いられるプログラムであって、
    コンピュータを、
    クライアントからのリクエスト情報を受信する手段、
    前記リクエスト情報の送信元のクライアントについて、次のリクエスト情報を送信させるまでのポーリング時間を前記リクエスト情報の送信元のユーザに関する通信記録に基づいて算出する算出手段、
    算出したポーリング時間の情報を、前記リクエスト情報に対するレスポンス情報に含めて返信する手段、
    前記通信プロトコルにより定められたセッションタイムと、前記送信元に通知すべき所定イベントの発生の有無と、の少なくとも一方に基づいて、前記レスポンス情報の送信タイミングを制御する手段、
    として機能させるためのプログラム
JP2002235627A 2002-08-13 2002-08-13 管理サーバ及びプログラム Expired - Lifetime JP3776848B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002235627A JP3776848B2 (ja) 2002-08-13 2002-08-13 管理サーバ及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002235627A JP3776848B2 (ja) 2002-08-13 2002-08-13 管理サーバ及びプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2005020648A Division JP4140728B2 (ja) 2005-01-28 2005-01-28 管理サーバ及びプログラム

Publications (2)

Publication Number Publication Date
JP2004080187A JP2004080187A (ja) 2004-03-11
JP3776848B2 true JP3776848B2 (ja) 2006-05-17

Family

ID=32020062

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002235627A Expired - Lifetime JP3776848B2 (ja) 2002-08-13 2002-08-13 管理サーバ及びプログラム

Country Status (1)

Country Link
JP (1) JP3776848B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4635738B2 (ja) * 2005-06-24 2011-02-23 ブラザー工業株式会社 サービス提供システム、提供サーバおよびプログラム
JP2009110412A (ja) * 2007-10-31 2009-05-21 Iwatsu Electric Co Ltd 擬似サーバプッシュ型データ配信方法
US8775627B2 (en) 2008-04-24 2014-07-08 Aim To G Co., Ltd Discontinuous access management method using waiting ticket for resource allocation control, waiting ticket management method, and resource allocation control method
JP5441631B2 (ja) 2009-11-13 2014-03-12 キヤノン株式会社 イベント取得制御方法、イベント取得装置、及び、サービス実行装置
JP5564925B2 (ja) * 2009-12-14 2014-08-06 日本電気株式会社 プッシュ型サービス実現方法、システム、装置、及びプログラム
JP6502908B2 (ja) * 2016-10-12 2019-04-17 ファナック株式会社 スレーブ機器

Also Published As

Publication number Publication date
JP2004080187A (ja) 2004-03-11

Similar Documents

Publication Publication Date Title
JP3569122B2 (ja) セッション管理システム、サービス提供サーバ、セッション管理サーバ、セッション管理方法及び記録媒体
US8463915B1 (en) Method for reducing DNS resolution delay
JP4197315B2 (ja) コラボレーションサーバ、コラボレーションシステム、そのセッション管理方法及びプログラム
CN1882933B (zh) 用于客户端-服务器系统中的动态超时的方法和装置
US20080005119A1 (en) Remotely updating a user status on a presence server
JP2005530372A5 (ja)
US8023498B2 (en) Controlling access to a destination in a data processing network
RU2344473C2 (ru) Сетевая система, прокси-сервер, способ управления сеансом
JP2008181427A (ja) シングルサインオンシステム、情報端末装置、シングルサインオンサーバ、プログラム
CN1939035A (zh) 用于在计算机设备之间传送数据的方法和设备
EP1473903B1 (en) Information processing apparatus and session management method
US20060093119A1 (en) Leveraging real-time communications client
JP3776848B2 (ja) 管理サーバ及びプログラム
JP4353036B2 (ja) リモート接続システム、サーバコンピュータ、リモート接続方法及びプログラム
WO2008122215A1 (fr) Procédé, système et serveur de suivi de service
JP4140728B2 (ja) 管理サーバ及びプログラム
KR100947114B1 (ko) 더미 메시지를 이용하여 웹 서비스의 품질 데이터를추출하는 방법
JP4352210B2 (ja) アクセス管理サーバ、ネットワーク装置、ネットワークシステム
JP4231241B2 (ja) ネットワークにおける通信
JP2002132725A (ja) ログイン制御方法およびログイン制御システムならびにログイン制御プログラムを記録した情報記録媒体
JP2003115795A (ja) 通信システム、この通信システムに用いるサーバ、エージェント制御方法、エージェント制御プログラム
JP4001047B2 (ja) 中継装置
US8176024B2 (en) Information apparatus connected to information terminal having a plurality of applications installed thereinto, control method of the same, and program product
JPH10289171A (ja) プログラム間連携システム
JP2005346571A (ja) 認証システム及び認証方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050607

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050808

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060223

R150 Certificate of patent or registration of utility model

Ref document number: 3776848

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20090303

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100303

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110303

Year of fee payment: 5

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

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120303

Year of fee payment: 6

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

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130303

Year of fee payment: 7

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

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20140303

Year of fee payment: 8

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