JP2009505460A - ネットワーク通信の状態を検出する方法およびサーバ - Google Patents

ネットワーク通信の状態を検出する方法およびサーバ Download PDF

Info

Publication number
JP2009505460A
JP2009505460A JP2008525364A JP2008525364A JP2009505460A JP 2009505460 A JP2009505460 A JP 2009505460A JP 2008525364 A JP2008525364 A JP 2008525364A JP 2008525364 A JP2008525364 A JP 2008525364A JP 2009505460 A JP2009505460 A JP 2009505460A
Authority
JP
Japan
Prior art keywords
server
client
detection
source client
response
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.)
Pending
Application number
JP2008525364A
Other languages
English (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2009505460A publication Critical patent/JP2009505460A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/04Arrangements for maintaining operational condition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/24Negotiation of communication capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

ネットワーク通信の状態を検出するための2つの方法およびそのためのサービス端末に関し、2つの方法うちの1つにおいて、サービス端末が、クライアント端末の位置情報を予め保存し、サービス端末が、起点クライアント端末の検出要求を受信した後に、検出要求を宛先クライアント端末に送信する。その検出応答を宛先クライアント端末から受信した後、サービス端末は、当該検出応答を起点クライアント端末へ返す。それによって、起点クライアント端末は、自身から宛先クライアントまでのネットワーク通信の状態を、検出応答に従って得ることができる。別の方法において、サービス端末は、当該サービス端末から宛先クライアントまでのネットワーク通信の状態を予め取得および保存するために、宛先クライアント端末とやり取りを行う。サービス端末は、起点クライアント端末の検出要求を受信した後に、格納された、自身から対応する宛先クライアントまでのネットワーク通信の状態に従って、検出応答を起点クライアント端末へ直接返す。これにより、起点クライアント端末は、自身から宛先クライアントまでのネットワーク通信の状態を、検出応答に従って得る。また、本発明は、ネットワーク通信時間の検出ステップも提供するため、検出内容を増加させ、検出の目的を真に実現できる。

Description

発明の詳細な説明
〔技術分野〕
本発明は、ネットワーク検出技術に関するものであり、特に、ネットワーク通信の状態を検出するサーバに関するものである。
〔背景技術〕
ゲームのユーザが、多数のプレーヤーが参加するオンラインゲームを行うとき、彼/彼女は、彼/彼女のクライアントと、他のプレーヤーのクライアントとの間のネットワーク通信の状態を知りたがることがよくある。例えば、オンラインゲームのユーザが、長い時間待っても、他のゲームプレーヤーから何の応答も得られないとき、彼/彼女は、普通、そのプレーヤーがまだオンラインしているのかどうか、もし、そのプレーヤーがオンラインしているのであれば、ゲームに関する決定処理を管理するために、彼/彼女のクライアントと、そのプレーヤーのクライアントとの間ネットワークの接続速度の情報を知りたいと思う。さらに、多数のプレーヤーが関与するオンラインの質疑応答では、いくつかのケースにおいて、試験官は、受験者の応答速度を知りたいと思う。そのようなケースでは、試験官は、通常、次の方法をとる。すなわち、試験官は、質問が受験者に送られた時間および受験者からの回答を受信した時間を記録し、これらの時間の差分を計算し、その計算結果から直接受験者の応答速度を測定する。しかし、受験者のネットワーク環境が複雑なため、受験者が質問に回答するための時間は、ネットワーク状態によって必然的に影響を受ける。例えば、ある観点において、受験者Aのネットワーク速度が比較的低い場合、受験者Aへ質問を送信するには長い時間がかかり、その結果、受験者Aがその質問を受け取るまでに遅延が生じる。別の観点では、受験者Aの端末から試験官へ回答を送信するために、受信に対応する長い時間がかかり、その結果、試験官がその回答を受け取るまでに遅延が生じる。上述した2つの遅延が合わさることにより、試験官によって計算される時間の差分が比較的大きくなる。それゆえ、試験官は、受験者Aの応答速度が比較的遅いという結論を導くことになる。明らかに、もし、試験官が受験者のネットワーク状態を知らなければ、その試験官は、受験者の応答速度の正確な結果を得ることはできない。
上記の例から、ネットワーク通信の状態をリアルタイムで知ることが必要であり、重要であることが分かる。しかしながら、上述の問題のための対応する解決方法は、これまで利用できなかった。
〔発明の概要〕
上述の問題の観点から、本発明の目的は、サーバに接続されているクライアントが、自身と宛先クライアントとの間のネットワーク通信の状態を検出することを可能にするために、ネットワーク通信の状態を検出するための2つの方法およびサーバを提供することである。
本発明に従って、ネットワーク通信の状態を検出する方法が提供される。上記ネットワークは、サーバと当該サーバに接続された複数のクライアントとを少なくとも含んでいる。上記方法において、全てのクライアントの経路情報が予めサーバに保存される。ネットワーク通信の状態を検出する工程は、次の工程を含んでいる。
すなわち、(a)ソースクライアントによって、当該ソースクライアントと宛先クライアントとの間のネットワーク通信の状態を得るための検出要求を上記サーバに送信する工程と、
(b)上記サーバが上記検出要求を受信した後に、当該サーバによって、当該サーバに保存された、上記宛先クライアントの経路情報に従って、上記検出要求を上記宛先クライアントに送信し、上記宛先クライアントが上記検出要求を受信した後、当該宛先クライアントによって、検出応答を上記サーバに返す工程と、
(c)上記サーバが上記検出応答を受信した後、当該サーバによって、当該サーバに保存された上記ソースクライアントの経路情報に従って上記検出応答を上記ソースクライアントへ返す工程と、当該ソースクライアントによって、受信した検出応答に従って、上記ソースクライアントと上記宛先クライアントとの間のネットワーク通信の状態を得る工程とを含んでいる。
上記方法の工程(a)において、上記ソースクライアントは、宛先クライアント識別子を含む検出要求を上記サーバへ送信し、
上記工程(b)は、上記サーバによって、受信した検出要求から当該検出要求に含まれる上記宛先クライアント識別子を取得する工程と、当該サーバに保存されたクライアントの経路情報の中から上記宛先クライアント識別子に対応する経路情報を検索する工程と、上記検出要求を上記宛先クライアントへ送信する処理を工程(b)において実行する工程とをさらに含み、
上記工程(b)において、上記宛先クライアントは、上記検出要求を上記サーバへ送信したソースクライアントの識別子を含む検出応答を上記サーバへ返し、
上記工程(c)は、上記サーバによって、受信した検出応答に含まれるソースクライアント識別子を取得する工程と、当該サーバに保存された、クライアントの経路情報から上記ソースクライアント識別子に対応する位置情報を検索する工程と、上記検出応答を上記ソースクライアントへ返す処理を実行する工程とをさらに含んでいる。
上記方法の上記工程(b)において、上記サーバが上記検出要求を上記宛先クライアントへ送信する処理は、上記サーバによって、受信した検出要求内の宛先クライアント識別子を、上記検出要求を送信したソースクライアントの識別子に置き換える工程と、新しい検出要求を生成する工程と、その検出要求を上記宛先クライアントへ送信する工程とを含み、上記宛先クライアントが上記検出応答を上記サーバへ返す処理は、上記宛先クライアントによって、受信した検出要求に含まれるソースクライアント識別子を取得する工程と、当該ソースクライアント識別子を含む検出応答を生成する工程と、当該検出応答を上記サーバへ返す工程とを含み、
上記工程(c)において、上記サーバが上記検出応答を上記ソースクライアントへ返す処理は、上記サーバによって、受信した検出応答内のソースクライアント識別子を、その検出応答を送信した宛先クライアントの識別子に置き換える工程と、新しい検出応答を生成する工程と、その検出応答をソースクライアントへ送信する工程とを含み、
上記工程(c)において、上記検出応答に従ってネットワーク通信の状態を取得する処理は、上記ソースクライアントによって、上記応答に含まれる宛先クライアント識別子を取得する工程と、上記ソースクライアントが上記サーバから返された検出応答を受信したときに、上記ソースクライアントと上記宛先クライアントとの間のネットワークは、まだ接続状態にあると決定する工程とを含んでいる。
上記方法の上記工程(a)において、上記検出要求は、さらにソースクライアント識別子を含み、
上記工程(b)において、上記サーバが上記検出要求を上記宛先クライアントへ送信する処理は、上記サーバによって、上記ソースクライアントから受信した検出要求を上記宛先クライアントへ転送する工程を含み、上記宛先クライアントが上記検出応答を上記サーバへ返す処理は、上記宛先クライアントによって、受信した検出要求に含まれる、上記ソースクライアント識別子および上記宛先クライアント識別子を取得する工程と、上記ソースクライアント識別子および上記宛先クライアント識別子を含む検出応答を生成する工程と、当該検出応答を上記サーバへ返す工程とを含み、
上記工程(c)において、上記サーバが検出応答を上記ソースクライアントへ返す処理は、上記サーバによって、上記宛先クライアントから受信した検出応答をソースクライアントへ転送する工程を含み、上記検出応答に従ってネットワーク通信の状態を得る処理は、上記ソースクライアントによって、上記検出応答に含まれる上記宛先クライアント識別子を取得する工程と、上記ソースクライアントが上記サーバから返された検出応答を受信したときに、上記ソースクライアントと上記宛先クライアントとの間のネットワークは、まだ接続状態にあると決定する工程とを含んでいる。
上記方法において、上記工程(a)は、上記ソースクライアントによって、上記検出要求が上記サーバに送信された時間であるシステム時間t1を取得する工程をさらに含み、さらに、上記システム時間t1を記録したタイムスタンプが上記検出要求に含まれており、
上記工程(b)において、上記宛先クライアントが検出応答をサーバに返す処理は、上記宛先クライアントによって、受信した検出要求に含まれる上記タイムスタンプを取得する工程と、上記サーバへ送信される検出応答に上記タイムスタンプを含める工程とをさらに含み、
上記工程(c)において、上記検出応答に従ってネットワーク通信の状態を得る処理は、さらに、上記ソースクライアントによって、上記検出応答が受信された時間であるシステム時間t2を記録する工程と、受信された検出応答から上記タイムスタンプに記録されたシステム時間t1を取得する工程と、上記ソースクライアントと対応する宛先クライアントとの間の通信時間を得るために、システム時間t2とシステム時間t1との差分を算出する工程とを含んでいる。
上記方法の上記工程(a)において、上記検出要求は、さらに、当該検出要求のシーケンスIDを含み、上記工程(a)は、さらに、上記ソースクライアントによって、上記検出要求が上記サーバに送信された時間であるシステム時間t1を取得する工程と、上記検出要求のシーケンス識別子(シーケンスID)を、上記システム時間t1と対応付けて保存する工程とを含み、
上記工程(b)において、上記宛先クライアントが検出応答をサーバに返す工程は、さらに、上記宛先クライアントによって、受信された検出要求に含まれるシーケンスIDを取得する工程と、当該シーケンスIDを上記サーバへ送信する検出応答へ含める工程とを含み、
上記工程(c)において、上記検出応答に従ってネットワーク通信の状態を得る処理は、さらに、上記サーバから返された検出応答を受信したときに、上記ソースクライアントによって、上記検出応答が受信された時間であるシステム時間t2を記録する工程と、上記応答に含まれるシーケンスIDを取得する工程と、このシーケンスIDに対応した、当該ソースクライアントに保存されたシステム時間t1を検索する工程と、上記ソースクライアントと対応する宛先クライアントとの間の通信時間を得るために、システム時間t2とシステム時間t1との差分を算出する工程とを含んでいる。
上記方法において、上記工程(b)は、さらに、上記サーバが上記ソースクライアントから上記検出要求を受信したときに、上記サーバによって、受信応答を上記ソースクライアントに返す工程と、上記ソースクライアントによって、受信した受信応答に従って、当該ソースクライアントと上記サーバとの間のネットワーク通信の状態を取得する工程とを含んでいる。
上記方法の上記工程(b)において、上記ソースクライアントが、受信した受信応答に従って、上記ソースクライアントと上記サーバとの間のネットワーク通信の状態を取得する処理は、上記ソースクライアントが上記サーバから返された受信応答を受信したときに、当該ソースクライアントによって、当該ソースクライアントと上記サーバとの間のネットワークは、接続状態にあると決定する工程を含んでいる。
上記方法において、上記工程(a)は、さらに、上記ソースクライアントによって、上記検出要求が上記サーバに送信された時間であるシステム時間t1を取得する工程を含み、上記検出要求は、さらに上記システム時間t1を記録したタイムスタンプを含み、
上記工程(b)において、上記サーバが受信応答を上記ソースクライアントへ返す処理は、上記サーバによって、受信した検出要求に含まれるタイムスタンプを取得する工程と、当該タイムスタンプを含む受信応答を上記ソースクライアントへ返す工程とを含み、上記ソースクライアントが、上記受信応答に従ってネットワーク通信の状態を取得する処理は、上記ソースクライアントによって、受信応答が受信された時間であるシステム時間t3を取得する工程と、受信した受信応答から上記タイムスタンプに記録されたシステム時間t1を取得する工程と、上記ソースクライアントと上記サーバとの間の通信時間を得るために、システム時間t3とシステム時間t1との差分を算出する工程とを含んでいる。
上記方法において、上記工程(a)において、上記検出要求は、さらに、当該検出要求のシーケンスIDを含み、上記工程(a)は、さらに、上記ソースクライアントによって、上記検出要求が上記サーバに送信された時間であるシステム時間t1を取得する工程と、上記検出要求のシーケンスIDを、上記システム時間t1と対応付けて保存する工程とを含み、
上記工程(b)は、さらに、上記ソースクライアントから上記検出要求を受信した後に、上記サーバによって、上記検出要求に含まれるシーケンスIDを取得する工程と、当該シーケンスIDを含む受信応答を上記ソースクライアントへ返す工程とを含み、
上記ソースクライアントが、受信応答に従ってネットワーク通信の状態を取得する処理は、上記ソースクライアントによって、上記受信応答が受信された時間であるシステム時間t3を記録する工程と、受信した受信応答に含まれるシーケンスIDを取得する工程と、当該シーケンスIDに対応する、上記ソースクライアントに保存されたシステム時間t1を検索する工程と、上記ソースクライアントと上記サーバとの間の通信時間を得るために、システム時間t3とシステム時間t1との差分を算出する工程とを含んでいる。
別の観点において、本発明はサーバを提供する。このサーバは、複数のクライアントと接続されている。上記サーバは、全てのクライアントの位置情報を保存するように設計されている。上記サーバは、ソースクライアントと宛先クライアントとの間のネットワーク通信の状態を得るための検出要求を上記ソースクライアントから受信し、当該サーバに保存された、上記宛先クライアントの経路情報に従って、検出要求を上記宛先クライアントに送信する。上記サーバは、さらに、上記宛先クライアントから返された検出応答を受信し、当該サーバに保存された、上記ソースクライアントの経路情報に従って検出応答を上記ソースクライアントへ返す。
上記サーバにおいて、上記検出要求は、宛先クライアント識別子を含み、上記検出応答は、ソースクライアント識別子を含んでいる。
上記サーバは、受信した検出要求に含まれる上記宛先クライアント識別子を取得し、当該サーバに保存されたクライアント経路情報の中から上記宛先クライアント識別子に対応する経路情報を検索する。さらに、上記サーバは、受信した検出応答に含まれるソースクライアント識別子を取得し、当該サーバに保存されたクライアント経路情報の中から上記ソースクライアント識別子に対応する経路情報を検索するように設計されている。
上記サーバにおいて、上記サーバは、受信した検出要求内の宛先クライアント識別子を、当該検出要求を送信したソースクライアントの識別子に置き換え、新しい検出要求を生成し、その検出要求を上記宛先クライアントへ送信する。さらに、上記サーバは、受信した検出応答内のソースクライアント識別子を、当該検出応答を送信した宛先クライアントの識別子に置き換え、新しい検出応答を生成し、その検出応答をソースクライアントへ送信するように設計されている。
上記サーバにおいて、上記検出要求は、さらに、上記ソースクライアント識別子を含み、上記検出応答は、さらに上記宛先クライアント識別子を含んでいる。
上記サーバは、上記ソースクライアントから受信した検出要求を上記宛先クライアントへ転送し、上記宛先クライアントから受信した検出応答を上記ソースクライアントへ転送するように設計されている。
上記サーバにおいて、上記サーバは、さらに、上記ソースクライアントから上記検出要求を受信したときに、上記ソースクライアントへ受信応答を返すように設計されている。
上記検出要求は、さらに、システム時間t1を記録したタイムスタンプを含んでいる。
上記サーバは、受信した検出要求に含まれる上記タイムスタンプを取得し、当該タイムスタンプを含む受信応答を上記ソースクライアントへ返すように設計されている。
上記サーバにおいて、上記検出要求は、さらにシーケンスIDを含んでいる。
上記サーバは、上記ソースクライアントから上記検出要求を受信し、当該検出要求に含まれるシーケンスIDを取得し、当該シーケンスIDを含む受信応答を上記ソースクライアントへ返すように設計されている。
本発明は、ネットワーク通信の状態を検出するための、さらに別の方法を提供する。その方法において、上記ネットワークは、サーバと当該サーバに接続される複数のクライアントとを少なくとも含み、上記サーバは、当該サーバと各クライアントとの間のネットワーク通信の状態を取得および保存する。上記ネットワーク通信の状態を検出する工程は、次の工程を含んでいる。
すなわち、(A)ソースクライアントによって、当該ソースクライアントと宛先クライアントとの間のネットワーク通信の状態を得るための検出要求を上記サーバに送信する工程と、
(B)上記検出要求を上記ソースクライアントから受信した後に、上記サーバによって、当該サーバと対応する宛先クライアントとの間のネットワーク通信の状態を取得する工程と、上記サーバによって、取得したネットワーク通信の状態に従って、検出応答を上記ソースクライアントへ返す工程と、
(C)上記ソースクライアントによって、受信した検出応答に従って、上記ソースクライアントと上記宛先クライアントとの間のネットワーク通信の状態を取得する工程とを含んでいる。
上記方法の上記工程(A)において、上記ソースクライアントは、宛先クライアント識別子を含む検出要求を上記サーバへ送信する。
上記工程(B)において、上記サーバは、受信した検出要求に含まれる宛先クライアント識別子を取得し、当該宛先クライアント識別子に対応する、当該サーバに保存されたネットワーク通信の状態を検索することにより、当該サーバと宛先クライアントとの間のネットワーク通信の状態を取得する。
上記方法において、上記サーバは、全てのクライアントの経路情報を予め保存し、所定の間隔で、当該サーバに保存された経路情報に従って、上記検出要求を各クライアントへ送信し、上記クライアントから返された検出応答に従って、上記サーバと対応するクライアントとの間のネットワーク通信の状態を取得するという方法によって、当該サーバと各クライアントとの間のネットワーク通信の状態を取得する。
上記方法の上記工程(B)において、上記検出応答を上記ソースクライアントへ返す工程は、上記サーバによって、当該サーバと対応する宛先クライアントとの間のネットワーク通信の状態を含む検出応答を上記ソースクライアントへ直接返す工程を含んでいる。
上記工程(C)は、上記ソースクライアントが上記検出応答を受信し、当該応答に含まれるネットワーク通信の状態に従って、上記サーバと上記宛先クライアントとの間のネットワークが接続状態であると決定した後に、当該ソースクライアントによって、当該ソースクライアントと上記宛先クライアントとの間のネットワークが接続状態であると決定し、そうでなければ、当該ソースクライアントと上記宛先クライアントとの間のネットワークは非接続状態であると決定する工程を含んでいる。
上記方法において、上記サーバが、当該サーバと各クライアントとの間のネットワーク通信の状態を取得および保存する処理は、当該サーバによって、当該サーバと各クライアントとの間の通信時間を取得および保存する工程をさらに含んでいる。
上記工程(B)において、上記サーバがネットワーク通信の状態を取得する処理は、当該サーバによって、当該サーバと上記検出要求に含まれる上記宛先クライアント識別子に対応するクライアントとの間の保存された通信時間T1および当該サーバと上記ソースクライアントとの間の通信時間T2を検索する工程をさらに含み、上記検出応答を上記ソースクライアントへ返す処理は、上記通信時間T1およびT2を、上記ソースクライアントへ返される検出応答に含める工程をさらに含んでいる。
上記工程(C)は、上記ソースクライアントと上記宛先クライアントとの間の通信時間を得るために、上記ソースクライアントが上記検出応答を受信したときに、上記ソースクライアントによって、上記通信時間T1およびT2の合計を算出する工程をさらに含んでいる。
上記方法において、上記サーバが、当該サーバと各クライアントとの間のネットワーク通信の状態を取得および保存する処理は、当該サーバによって、当該サーバと各クライアントとの間の通信時間を取得および保存する工程をさらに含んでいる。
上記工程(B)において、上記サーバがネットワーク通信の状態を取得する処理は、当該サーバによって、当該サーバと上記検出要求に含まれる上記宛先クライアント識別子に対応するクライアントとの間の保存された通信時間T1および当該サーバと上記ソースクライアントとの間の通信時間T2を検索する工程と、当該サーバによって見出された通信時間T1およびT2の合計を算出する工程と、その算出結果を、上記ソースクライアントへ返される検出応答に含める工程とをさらに含んでいる。
上記工程(C)は、上記ソースクライアントと上記宛先クライアントとの間の通信時間を得るために、上記ソースクライアントによって、受信した検出応答から上記算出結果を取得する工程をさらに含んでいる。
上記方法において、上記サーバは、全てのクライアントの経路情報を予め保存し、当該サーバに保存された経路情報に従って、所定の間隔で、各クライアントへ上記検出要求を送信し、その検出要求に、上記検出要求を送信した時間であるシステム時間t1を含め、上記クライアントからシステム時間t1を含む検出応答を受信したとき、上記サーバは、上記検出応答を受信した時間であるシステム時間t2を記録し、受信した検出応答から上記システム時間t1を取得し、そして、上記サーバは、当該サーバと対応するクライアントとの間の通信時間を得るために、上記システム時間t2と上記システム時間t1との差分を算出する。
または、上記サーバは、上記検出要求を送信した時間であるシステム時間t1を保存し、当該システム時間t1を含む、上記クライアントから返された検出応答を受信した後に、上記検出応答を受信した時間であるシステム時間t2を記録し、上記検出応答から上記システム時間t1を取得し、そして、上記サーバは、当該サーバと対応するクライアントとの間の通信時間を得るために、上記システム時間t2と上記システム時間t1との差分を算出する方法によって、当該サーバと各クライアントとの間の通信時間を取得する。
別の観点において、本発明は、サーバを提供する。このサーバは、当該サーバと各クライアントとの間のネットワーク通信の状態を取得および保存し、ソースクライアントから検出要求を受信し、当該サーバと対応する宛先クライアントとの間のネットワーク通信の状態を取得し、取得したネットワーク通信の状態に従って、検出応答を上記ソースクライアントへ返すように設計されている。
上記サーバにおいて、当該サーバは、受信した検出要求に含まれる宛先クライアント識別子を取得し、当該宛先クライアント識別子に対応する、当該サーバに保存されたネットワーク通信の状態を検索するように設計されている。
上記サーバにおいて、当該サーバは、全てのクライアントの経路情報を予め保存し、所定の間隔で、当該サーバに保存された経路情報に従って、上記検出要求を各クライアントへ送信し、上記クライアントから返された検出応答に従って、上記サーバと対応するクライアントとの間のネットワーク通信の状態を取得するように設計されている。
上記サーバにおいて、当該サーバは、当該サーバと各クライアントとの間の通信時間を取得および保存し、当該サーバと、上記検出要求に含まれる上記宛先クライアント識別子に対応するクライアントとの間の、保存された通信時間T1および当該サーバと上記ソースクライアントとの間の通信時間T2を検索し、上記通信時間T1およびT2を、上記ソースクライアントへ返される検出応答へ含めるようにさらに設計されている。
上記サーバにおいて、当該サーバは、当該サーバと各クライアントとの間の通信時間を取得および保存し、当該サーバと、上記検出要求に含まれる上記宛先クライアント識別子に対応するクライアントとの間の、保存された通信時間T1および当該サーバと上記ソースクライアントとの間の通信時間T2を検索し、上記通信時間T1およびT2の合計を算出し、その算出結果を、上記ソースクライアントへ返される検出応答に含めるようにさらに設計されている。
上記サーバにおいて、当該サーバは、全てのクライアントの経路情報を予め保存し、当該サーバに保存された経路情報に従って、所定の間隔で、各クライアントへ上記検出要求を送信し、その検出要求に、当該検出要求を送信した時間であるシステム時間t1を含め、上記クライアントから上記システム時間t1を含む検出応答を受信したとき、上記検出応答を受信した時間であるシステム時間t2を記録し、受信した検出応答から上記システム時間t1を取得し、そして、当該サーバと対応するクライアントとの間の通信時間を得るために、上記システム時間t2と上記システム時間t1との差分を算出する。
または、上記サーバは、上記検出要求を送信した時間であるシステム時間t1を記録し、当該システム時間t1を含む、上記クライアントから返された検出応答を受信した後に、上記検出応答を受信した時間であるシステム時間t2を記録し、上記検出応答から上記システム時間t1を取得し、そして、当該サーバと対応するクライアントとの間の通信時間を得るために、上記システム時間t2と上記システム時間t1との差分を算出するように設計されている。
結論として、サーバと当該サーバに接続された複数のクライアントとを含むネットワーク構造に基づけば、本発明は、ネットワーク通信の状態を検出するための2つの方法を提供する。ひとつ目の方法は、サーバが、予め全てのクライアントの経路情報を保存し、ソースクライアントから検出要求を受信したときに、宛先クライアントへ検出要求を送信する方法である。上記宛先クライアントから検出応答を受信したとき、サーバは、検出応答を上記ソースクライアントへ返す。そして、ソースクライアントは、受信した検出応答に従って、当該ソースクライアントと上記宛先クライアントとの間のネットワーク通信の状態を得る。このようにして、ソースクライアントが、当該ソースクライアントと宛先クライアントとの間のネットワーク通信の状態を検出することを可能にするという目的が達成される。
上記検出方法において、サーバは、ソースクライアントから検出要求を受信した後に、宛先クライアントと連絡をとる。そのゆえ、上述の方法は、ネットワーク通信の状態を得るための受動的な方法である。または、本発明は、ネットワーク通信の状態を得るための先を見越した方法を採用することもできる。すなわち、ネットワーク通信の状態を検出するための別の方法において、サーバは、当該サーバと各クライアントとの間のネットワーク通信の状態を取得および保存するために、前もって宛先クライアントと能動的に連絡をとる。検出要求を上記ソースクライアントから受信したとき、サーバは、サーバに保存された、当該サーバと宛先クライアントとの間のネットワーク通信の状態に従って、検出応答を上記ソースクライアントへ直接返す。このようにして、ソースクライアントが、当該ソースクライアントと宛先クライアントとの間のネットワーク通信の状態を検出することを可能にするという目的が達成される。
さらに、上述の2つの方法に基づけば、本発明は、ソースクライアントが、当該ソースクライアントと上記宛先クライアントとの間のネットワークが接続状態にあるかどうかを検出することを可能にするための処理だけでなく、通信時間を検出する処理およびソースクライアントが当該ソースクライアントとサーバとの間のネットワーク通信の状態を検出するための処理を提供する。それゆえ、本発明は、検出できるネットワーク通信の状態の内容をさらに増やすことができ、実際に、ネットワーク通信の状態を検出するという目的を達成できる。
〔図面の簡単な説明〕
図1は、本発明における方法を適用したネットワーク構造の概略図である。
図2は、本発明の第1の実施形態に係る、ネットワーク通信の状態を検出する方法のフローチャートである。
図3は、本発明の第2の実施形態に係る、ネットワーク通信の状態を検出する方法のフローチャートである。
図4は、本発明の第3の実施形態に係る、ネットワーク通信の状態を検出する方法のフローチャートである。
図5は、本発明の第4の実施形態に係る、ネットワーク通信の状態を検出する方法のフローチャートである。
図6は、本発明の第5の実施形態に係る、ネットワーク通信の状態を検出する方法のフローチャートである。
〔実施形態の詳細な説明〕
本発明の目的、技術的な仕組みおよび利点をより明らかにするために、添付の図面を参照しつつ、本発明をより詳細に説明する。
本発明は、ネットワーク通信の状態を検出するための2つの方法を提供する。それらの方法は、図1に示すネットワーク構造に適用できる。すなわち、当該ネットワークは、少なくとも1つのサーバと当該サーバに接続される複数のクライアントとを含んでいる。本発明の方法に従って検出されるネットワーク通信の状態は、接続/非接続状態、または、もし上記ネットワークが接続状態であれば、接続時間を含んでいる。
本発明における、ネットワーク通信の状態を検出する方法は、以下のようなものである。すなわち、サーバは、事前に、全てのクライアントの経路情報を保存する。ソースクライアントと宛先クライアントとの間のネットワーク通信の状態を得るために当該ソースクライアントから送信された検出要求(ネット検出要求)を受け取ると、サーバは、当該サーバに保存された、宛先クライアントの経路情報を取得し、ソースクライアントの情報を含む検出要求を、上記経路情報に従って宛先クライアントに送信する。その検出要求を受け取ると、宛先クライアントは、ソースクライアントの情報を含む検出応答(ネット検出応答)をサーバに返す。その検出応答を受け取ると、サーバは、当該サーバに保存されたソースクライアントの経路情報を取得し、当該経路情報に従って検出応答をソースクライアントへ返す。ソースクライアントは、受信した検出応答に従って、ソースクライアントと宛先クライアントとの間のネットワーク通信の状態を得る。サーバは、ソースクライアントから検出要求を受信した後に宛先クライアントと情報交換するため、上記処理は、ネットワーク通信の状態を検出するための受動的な方法であるということが分かる。
さらに、上記処理に基づけば、本発明は、さらに、複数のクライアントと接続され、全てのクライアントの経路情報を保存するように設計されたサーバを提供する。当該サーバは、ソースクライアントと宛先クライアントとの間のネットワーク通信の状態を得るための、ソースクライアントからの検出要求を受信し、検出要求を、当該サーバに保存された、宛先クライアントの経路情報に従って宛先クライアントに送信する。さらに、当該サーバは、宛先クライアントから返された検出応答を受信し、当該サーバに保存された、ソースクライアントの経路情報に従って、検出応答をソースクライアントへ返す。
もし、上記検出要求が宛先クライアント識別子を含み、上記検出応答がソースクライアント識別子を含む場合、サーバは、受信した検出要求に含まれる宛先クライアント識別子を取得し、当該サーバに保存されたクライアント経路情報の中から上記宛先クライアント識別子に対応する経路情報を検索する。そして、また、サーバは、受信した、検出応答に含まれるソースクライアント識別子を取得し、当該サーバに保存されたクライアント経路情報の中から上記ソースクライアント識別子に対応する経路情報を検索する。
さらに、サーバは、受信した検出要求内の宛先クライアント識別子を、検出要求を送信したソースクライアントの識別子に置き換え、新しい検出要求を生成し、その検出要求を宛先クライアントへ送信するとともに、受信した検出応答内のソースクライアント識別子を、その検出応答を送信した宛先クライアントの識別子に置き換え、新しい検出応答を生成し、その検出応答をソースクライアントへ送信するように設計されてもよい。
さらに、上記検出要求は、さらにソースクライアント識別子を含み、検出応答は、さらに宛先クライアント識別子を含んでいてもよい。この場合、サーバは、ソースクライアントから受信した検出要求を宛先クライアントへ転送し、宛先クライアントから受信した検出応答をソースクライアントへ転送する。
さらに、サーバは、ソースクライアントから検出要求を受信した後に、受信応答を、ソースクライアントへ返してもよい。
通信時間がネットワーク通信の状態に含まれている場合には、上記検出要求は、さらに、システム時間t1を記録したタイムスタンプを含む。そして、サーバは、受信した検出要求に含まれるタイムスタンプを取得し、当該タイムスタンプを含む応答をソースクライアントへ返す。
さらに、上記検出要求は、さらにシーケンスIDを含んでもよい。この場合、サーバは、検出要求をソースクライアントから受信し、その検出要求に含まれるシーケンスIDを取得し、当該シーケンスIDを含む受信応答をソースクライアントへ返すように設計される。
本発明の一実施形態に係るネットワーク通信の状態を検出する方法および対応するサーバについては上述した。次に、本発明の別の実施形態に係るネットワーク通信の状態を検出する方法およびサーバについて説明する。
本発明において提供される、ネットワーク通信の状態を検出するための他の方法は、以下のものである。すなわち、サーバは、当該サーバと各クライアントとの間のネットワーク通信の状態に関する情報を取得し、保存する。ソースクライアントと宛先クライアントとの間のネットワーク通信の状態を得るための、ソースクライアントからの検出要求を受信すると、サーバは、当該サーバに保存された、当該サーバと対応する宛先クライアントとの間のネットワーク通信の状態に関する情報を取得し、対応するネットワーク通信の状態に関する情報に従って、検出応答をソースクライアントへ返す。ソースクライアントは、受信した検出応答に従って、当該ソースクライアントと宛先クライアントとの間のネットワーク通信の状態を得る。上記工程から、サーバが、ソースクライアントからの検出要求を受信する前に、当該サーバと宛先クライアントとの間のネットワーク通信の状態を能動的に取得することが分かる。
本発明の別の実施形態において、サーバは、当該サーバと各クライアントとの間のネットワーク通信の状態に関する情報を取得し、保存するように設計されている。そして、サーバは、ソースクライアントからの検出要求を受信し、当該サーバに保存された、当該サーバと対応する宛先クライアントとの間のネットワーク通信の状態に関する情報を取得し、取得したネットワーク通信の状態に関する情報に従って、検出応答をソースクライアントへ返す。
上記サーバの詳細については後述する。
本発明の好ましい実施形態において、上記サーバは、受信した検出要求に含まれる宛先クライアント識別子を取得し、当該サーバに保存された宛先クライアント識別子に対応するネットワーク通信の状態を検索するように設計されている。
別の好ましい実施形態において、上記サーバは、全てのクライアントの経路情報を予め保存し、当該サーバに保存された経路情報に従って、所定の間隔で、検出要求を各クライアントへ送信し、クライアントから返された検出応答に従って、当該サーバと対応する宛先クライアントとの間のネットワーク通信の状態を取得するように設計されている。
別の好ましい実施形態において、上記サーバは、さらに、当該サーバと各クライアントとの間の通信時間を取得して、保存し、当該サーバと検出要求に含まれる宛先クライアント識別子に対応する宛先クライアントとの間の、保存された通信時間T1、および当該サーバとソースクライアントとの間の通信時間T2を検索するように設計されている。そして、サーバは、通信時間T1およびT2をソースクライアントへ返される検出応答に含めるように設計されている。
さらに別の好ましい実施形態において、上記サーバは、さらに、当該サーバと各クライアントとの間の通信時間を取得して、保存し、当該サーバと検出要求に含まれる宛先クライアント識別子に対応する宛先クライアントとの間の、保存された通信時間T1、および当該サーバとソースクライアントとの間の通信時間T2を検索するように設計されている。そして、サーバは、当該サーバによって見出された通信時間T1およびT2の合計を計算し、その計算結果をソースクライアントへ返される検出応答に含めるように設計されている。
さらに、上記サーバは、全てのクライアントの経路情報を予め保存し、当該サーバに保存された経路情報に従って、所定の間隔で、検出要求を各クライアントへ送信し、検出要求が送信された時間であるシステム時間t1を検出要求に含めるように設計されている。システム時間t1を含む検出応答をクライアントから受信すると、サーバは、検出応答が受信された時間であるシステム時間t2を記録し、受信した検出応答からシステム時間t1を取得する。そして、サーバは、当該サーバと対応するクライアントとの間の通信時間を得るために、システム時間t2とシステム時間t1との間の差分を算出する。
または、上記サーバは、検出要求が送信された時間であるシステム時間t1を保存し、クライアントから返された、システム時間t1を含む検出応答を受信した後に、検出応答が受信された時間であるシステム時間t2を記録するように設計されている。そして、サーバは、受信した検出応答からシステム時間t1を取得し、当該サーバと対応するクライアントとの間の通信時間を得るために、システム時間t2とシステム時間t1との間の差分を算出するように設計されている。
本発明に係るネットワーク通信の状態を検出するための第1の方法(すなわち、ネットワーク通信の状態を検出するための受動的な方法)は、実施形態1〜4において詳細に記述されている。実施形態1〜4において、サーバは、クライアントの経路情報を予め保存している。経路情報は、主に、インターネットプロトコル(IP)アドレスのような、クライアントの通信アドレスを含んでいる。次に、4つの実施形態におけるネットワーク通信の状態を検出するための工程についてそれぞれ詳細に説明する。
実施形態1:この実施形態において、メッセージを送信するために次の方法が採られる。すなわち、ソースクライアントは、宛先クライアント識別子(宛先ユーザ識別子)を含む検出要求を送信する。そして、ソースクライアントが、当該ソースクライアントと宛先クライアントとの間のネットワーク接続の状態を最終的に得られるように、サーバは、受信した検出要求に含まれる宛先クライアント識別子を、ソースクライアント識別子(ソースユーザ識別子)に置き換える。本実施形態の検出工程は、図2に示されており、次の工程を含んでいる。
工程201:ソースクライアントは、宛先クライアント識別子を含む検出要求をサーバへ送信する。
上記クライアント識別子は、クライアント(例えば、User1またはUser2)のための固有の識別子である。
工程202:検出要求を受信した後、サーバは、宛先クライアント識別子User2を当該検出要求から取得し、その宛先クライアント識別子User2に対応する、当該サーバに保存された経路情報を検索する。そして、サーバは、オリジナルの検出要求に含まれる宛先クライアント識別子User2を、検出要求を送信したソースクライアントのソースクライアント識別子User1に置き換え、ソースクライアント識別子User1を含む新しい検出要求を生成し、その検出要求を宛先クライアントへ送信する。
工程203:上記検出要求を受信した後、宛先クライアントは、検出要求に含まれるソースクライアント識別子User1を取得し、そのソースクライアント識別子User1を含む検出応答を生成し、その検出応答をサーバへ送信する。
工程204:上記検出応答を受信した後、サーバは、上記要求に含まれるソースクライアント識別子User1に従って、当該サーバに保存された、ソースクライアントの経路情報を取得し、受信した検出応答内のソースクライアント識別子User1を、上記検出応答を送信した宛先クライアントの宛先クライアント識別子User2に置き換える。そして、サーバは、宛先クライアント識別子User2を含む新しい検出応答を生成し、取得した経路情報に従って、その検出応答をソースクライアントへ返す。
工程205:上記検出応答を受信した後、ソースクライアントは、その検出応答から宛先クライアント識別子User2を取得し、ソースクライアントと宛先クライアントとの間のネットワーク通信の状態を得る。
ソースクライアントが、当該ソースクライアントと対応する宛先クライアントとの間のネットワーク通信の状態を得る場合には、サーバから返された検出応答を受信した後、ソースクライアントは、当該応答に含まれる宛先クライアント識別子を取得し、ソースクライアントと宛先クライアントとの間のネットワークは接続状態であると決定する。
上記実施形態において、サーバは、受信した検出要求に含まれるクライアント識別子を変換しており、これにより検出要求および検出応答をソースクライアントと宛先クライアントとの間で伝送できる。このようにして、ソースクライアントが、当該ソースクライアントと宛先クライアントとの間のネットワーク通信の状態を得られるようにするという目的が達成される。本発明において、ソースクライアントが、送信する検出要求に自身の識別子と宛先クライアントの識別子との両方を含めるという方法が採られてもよい。その場合、サーバによって行われる、メッセージに含まれるクライアント識別子の変換は、省略される。この方法については、実施形態2において詳細に説明する。
実施形態2:本実施形態の検出工程は、図3に示されており、次の工程を含んでいる。
工程301:ソースクライアントは、自身の識別子User1および宛先クライアント識別子User2を含む検出要求をサーバへ送信する。
工程302:上記検出要求を受信した後、サーバは、その検出要求から宛先クライアント識別子User2を取得するために、その検出要求を解析し、当該サーバに保存されたクライアント経路情報から宛先クライアント識別子User2に対応する経路情報を検索する。そして、サーバは、取得した経路情報に従って、受信した検出要求を宛先クライアントへ送信する。
工程303:上記検出要求を受信した後、宛先クライアントは、その検出要求からソースクライアント識別子User1および宛先クライアント識別子User2を取得するために、当該検出要求を解析する。そして、宛先クライアントは、ソースクライアント識別子User1および宛先クライアント識別子User2を含む検出応答を生成し、その検出応答をサーバへ送信する。
工程304:サーバは、上記検出応答からソースクライアント識別子User1を取得するために、受信した検出応答を解析し、当該サーバに保存されたクライアント経路情報から、ソースクライアント識別子User1に対応する経路情報を検索する。最後に、サーバは、取得した経路情報に従って、受信した検出応答をソースクライアントへ返す。
工程305:上記検出応答を受信した後、ソースクライアントは、その検出応答から宛先クライアント識別子User2を取得し、当該ソースクライアントと宛先クライアントとの間のネットワーク通信の状態を得る。すなわち、ソースクライアントは、当該ソースクライアントと対応する宛先クライアントとの間のネットワークは、接続状態にあると決定する。
ネットワーク通信の状態(すなわち、クライアントと相対するクライアントとの間のネットワークが接続されているかどうか)を検出するための2つの方法が、上述の2つの実施形態においてそれぞれ説明された。加えて、本発明は、さらに、ソースクライアントと宛先クライアントとの間の通信時間を検出することができる。その2つの方法を、実施形態3および実施形態4において詳細に説明する。
実施形態3:本実施形態において、ソースクライアントは、送信される検出要求に、当該検出要求が送信された時間であるシステム時間を含める。宛先クライアントは、このシステム時間を、受信した検出要求から検出応答へ移し換え、その検出応答をソースクライアントへ返す。これにより、ソースクライアントは、検出応答を受信した時間であるシステム時間と、検出応答に含まれる、検出要求が送信された時間であるシステム時間との差分を算出することができる。それによって、ソースクライアントは、当該ソースクライアントと宛先クライアントとの間の通信時間を得ることができる。本実施形態の検出工程は、図4に示されており、次の工程を含んでいる。
工程401:まず、ソースクライアントは、自身の現在のシステム時間(例えば、t1)を取得する。そして、ソースクライアントは、ソースクライアント識別子User1、宛先クライアント識別子User2、およびシステム時間t1を記録したタイムスタンプを含む検出要求を生成し、その検出要求をサーバへ送信する。
工程402は、上述の工程302と同様のものであるため、ここではさらに説明しない。
工程403:上記検出要求を受信した後、宛先クライアントは、ソースクライアント識別子User1、宛先クライアント識別子User2およびタイムスタンプを当該検出要求から取得し、その検出要求を解析することによって得られた、ソースクライアント識別子User1、宛先クライアント識別子User2およびタイムスタンプを含む検出応答を生成し、最後に、その検出応答をサーバに返す。
工程404は、上述の工程304と同様のものである。
工程405:上記検出応答を受信したとき、ソースクライアントは、その検出応答を受信した時間であるシステム時間t2を取得し、受信した検出応答に含まれるタイムスタンプを取得する。そして、ソースクライアントは、システム時間t2と、タイムスタンプに記録されたシステム時間t1との差分を算出する。そして、ソースクライアントは、ソースクライアントと宛先クライアントとの間の通信時間を得る。
上述の実施形態3において、検出応答が受信された時間であるシステム時間と、検出要求が送信された時間であるシステム時間との差分を算出することにより、ソースクライアントによって、当該ソースクライアントと宛先クライアントとの間の通信時間を得るという目的が達せられる。または、上述の時間差分は、本実施形態において、別の方法により得ることができる。すなわち、ソースクライアントは、検出要求を送信した時間であるシステム時間および対応する検出応答を受信した時間であるシステム時間を記録し、上記2つの時間の差分を算出し、ソースクライアントと宛先クライアントとの間の通信時間を得る。この方法を、本発明の実施形態4において詳細に説明する。
実施形態4:本実施形態における検出工程は、図5に示されており、次の工程を含んでいる。
工程501:ソースクライアントは、ソースクライアント識別子User1、宛先クライアント識別子User2、および検出要求を唯一に同定するシーケンス識別子(シーケンスID)を含む検出要求をサーバへ送信し、当該ソースクライアントにおいて、上記シーケンスID、および上記検出要求を送信した時間であるシステム時間t1を保存し、当該シーケンスIDとシステム時間t1とを互いに対応付ける。
本実施形態においてソースクライアントは、検出要求と受信した検出応答とをマッチさせる必要があるため、ソースクライアントは、検出要求にさらにシーケンス識別子を含める必要がある。
工程502は、上述の工程302と同様のものであるため、ここではさらに説明しない。
工程503:サーバから上記検出要求を受信した後、宛先クライアントは、その検出要求を解析することにより、ソースクライアント識別子User1、宛先クライアント識別子User2およびシーケンスIDを取得し、当該ソースクライアント識別子User1、宛先クライアント識別子User2およびシーケンスIDを含む検出応答を生成し、最後にその検出応答をサーバへ送信する。
工程504は、上述の工程304と同様のものであるため、ここではさらに説明しない。
工程505:サーバから返された検出応答を受信したとき、ソースクライアントは、その検出応答を受信した時間であるシステム時間t2を記録し、受信した検出応答に含まれるシーケンスIDを取得する。その次に、ソースクライアントは、上記シーケンスIDに対応するシステム時間t1を検索する。そして、最後にソースクライアントは、上記検出応答を受信した時間であるシステム時間t2と上記検出要求を送信した時間であるシステム時間t1との差分を算出する。その算出結果が、ソースクライアントと宛先クライアントとの間の通信時間である。
本実施形態において、シーケンスIDを検出要求に含め、そのシーケンスIDをソースクライアントに保存する方法が採られており、ソースクライアントにおいて検出要求メッセージを検出応答メッセージにマッチさせることができる。しかし、本発明は、これに限定されず、メッセージのマッチングを行うために別の方法を採ることもできる。
上述の実施形態3および実施形態4においては、実施形態2において説明したように、通信時間は、検出要求に含まれるソースクライアント識別子と宛先クライアント識別子との両方に基づいて得られる。本発明では、検出要求が送信された時間であるシステム時間t1および検出応答が受信された時間であるシステム時間t2は、実施形態1に記載したように、宛先クライアント識別子のみを検出要求に含めることによって得ることもできる。そして、上記時間差分を算出するために、実施形態3または実施形態4に記載した方法が採られてもよい。それゆえ、ソースクライアントと宛先クライアントとの間の通信時間が最終的に得られる。その実行方法は、実施形態3または実施形態4に記載した工程と基本的に同様のものであるため、ここではさらに説明しない。
ソースクライアントがネットワーク接続の状態を検出し、当該ソースクライアントと宛先クライアントとの間の通信時間を得ることを可能にするための、本発明のいくつかの好ましい実施形態について上述した。さらに、上述したソースクライアントと宛先クライアントとの間のネットワーク通信の状態の検出に基づいて、本発明は、ソースクライアントとサーバとの間のネットワーク接続の状態および通信時間をさらに検出するように設計されてもよい。ソースクライアントとサーバとの間のネットワーク接続の状態を得るための方法を、上述の実施形態2において説明したように、ソースクライアント識別子と宛先クライアント識別子との両方が検出要求に含まれる場合について説明する。また、ソースクライアントとサーバとの間の通信時間を検出する方法を、実施形態3に基づいて説明する。
まず、ソースクライアントとサーバとの間のネットワーク接続の状態は、下記のように得られる。
この場合、前述の工程302は、さらに次の工程を含むことが求められる。すなわち、ソースクライアントから検出要求を受信した後、サーバは、受信応答を当該ソースクライアントへ返す。そして、ソースクライアントは、上記受信応答に従って当該ソースクライアントとサーバとの間のネットワーク接続の状態を得る。
ソースクライアントが、受信応答に従って当該ソースクライアントとサーバとの間のネットワーク接続の状態を得ることは、下記のように実行される。すなわち、ソースクライアントは、当該ソースクライアントとサーバとの間のネットワークは接続状態であるかどうかを、受信応答を当該サーバから受信したかどうかに基づいて決定する。すなわち、もし、受信応答がサーバから返って来た場合、ソースクライアントは、当該ソースクライアントとサーバとの間のネットワークは接続状態にあると決定する。もし、受信応答がサーバから返って来なかった場合、ソースクライアントは、当該ソースクライアントとサーバとの間のネットワークは、非接続状態にあると決定する。
ソースクライアントとサーバとの間のネットワーク接続の状態を得るための方法は、他の実施形態にも適用できるが、その方法について、ここではさらに説明しない。
ソースクライアントとサーバとの間の通信時間を検出するための方法について、実施形態3に基づいて説明する。
上記方法において、前述の工程402は、さらに次の工程を含む。すなわち、ソースクライアントから検出要求を受信した後に、サーバは、ソースクライアント識別子User1、宛先クライアント識別子User2およびタイムスタンプを上記検出要求から取得するために、当該検出要求を解析する。そして、サーバは、上記ソースクライアント識別子User1、宛先クライアント識別子User2およびタイムスタンプを含む受信応答を生成し、その受信応答をソースクライアントへ送信する。その受信応答を受信したとき、ソースクライアントは、当該受信応答を受信した時間であるシステム時間t3を記録し、受信した検出応答からシーケンスIDを取得し、そのシーケンスIDに対応する、保存されたシステム時間t1を検索する。最後に、ソースクライアントは、受信応答を受信した時間であるシステム時間t3と、検出要求が送信された時間であるシステム時間t1との差分を算出する。得られた算出結果が、ソースクライアントとサーバとの間の通信時間である。
もちろん、本発明において、ソースクライアントとサーバとの間の通信時間は、実施形態4に記載された方法を用いても得ることができる。
具体的には、次の工程が、さらに前述の実施形態4の工程502に含まれる。すなわち、ソースクライアントから検出要求を受信したとき、サーバは、その検出要求からシーケンスIDを取得するために当該検出要求を解析する。そして、サーバは、上記シーケンスIDを含む受信応答を生成し、その受信応答をソースクライアントへ送信する。ソースクライアントは、上記受信応答を受信した時間である自身のシステム時間t3を記録し、上記受信応答からシーケンスIDを取得し、そのシーケンスIDに対応する、保存されたシステム時間t1を検索する。そして、ソースクライアントは、ソースクライアントとサーバとの間の通信時間を得るために、受信応答を受信した時間であるシステム時間t3と、検出要求が送信された時間であるシステム時間t1との差分を算出する。
ソースクライアントからサーバへの通信時間を得るための上述の2つの方法は、別の実施形態にも適用できる。その工程は、基本的に同じものであるため、ここではさらに説明しない。
本発明に係るネットワーク通信の状態を検出する方法について、上述のように実施形態1〜4において説明した。本発明に係るネットワーク通信の状態を検出するための別の方法について詳しく説明する。実施形態5をご覧戴きたい。
実施形態5:本実施形態では、上述したように、全てのクライアントの経路情報を予めサーバに保存しておく必要がある。本実施形態における、ネットワーク通信の状態を検出するための処理は、図6に示されており、次の工程を含んでいる。
工程601:サーバは、予め検出要求を、所定の間隔で、当該サーバに保存された、クライアントの経路情報に従って、各宛先クライアントへ送信する。
この工程において、サーバは、当該サーバとネットワーク上の全てのクライアントとの間のネットワーク通信の状態に関する情報を得る必要がある。それゆえ、ひとつの観点では、サーバにとっては、ネットワーク上の全てのクライアントが宛先クライアントである。別の観点において、前述の実施形態との整合性を保つために、サーバが予め検出要求を送信するクライアントを「宛先クライアント」と称する。
工程602:サーバから検出要求を受信した後、宛先クライアントは、検出応答を当該サーバへ返す。
工程603:サーバは、受信した検出応答に従って、当該サーバと宛先クライアントとの間のネットワーク通信の状態に関する情報を取得し、保存する。
サーバが、当該サーバと各クライアントとの間のネットワーク通信の状態を得る工程は、上述の工程601〜603に記載されている。そして、上述の工程において、サーバは、検出要求を各クライアントへ送信し、クライアントから返された検出応答に従って、当該サーバと対応するクライアントとの間のネットワーク通信の状態を得る。または、次の方法を本発明において用いることもできる。すなわち、サーバは、Ping信号を、保存されている各クライアントのIPアドレスに従って各クライアントへ送信する。さらに、クライアントがサーバとの接続を切断したとき、サーバは、そのクライアントの保存されたIPアドレスを削除する。
工程604:ソースクライアントは、宛先クライアント識別子User2を含む検出要求をサーバへ送信する。
工程605:ソースクライアントから検出要求を受信した後、サーバは、宛先クライアント識別子User2に従って、当該サーバと宛先クライアントとの間のネットワーク通信の状態に関する保存された情報を検索する。そして、サーバは、取得したネットワーク通信の状態に関する情報に従って、宛先クライアント識別子User2を含む検出応答をソースクライアントへ返す。
工程606:ソースクライアントは、受信した検出応答に従って、ソースクライアントと宛先クライアントとの間のネットワーク通信の状態を得る。
本実施形態において、ネットワーク接続の状態は、ネットワーク接続の状況、または、もしネットワークが接続状態であれば、通信時間を含んでいる。
まず、ネットワーク接続の状態に関して、工程605において、取得したネットワーク通信の状態に関する情報に従って、検出応答をソースクライアントへ返す処理は、以下のものである。すなわち、サーバは、まず、当該サーバと対応する宛先クライアントとの間のネットワーク通信の状態を得て、当該サーバと宛先クライアントとの間のネットワークが接続状態であるかどうかを決定する。もし、上記ネットワークが接続状態であれば、サーバは、当該サーバと対応する宛先クライアントとの間のネットワークが接続状態であることを示す検出応答をソースクライアントへ返す。そうでなければ、サーバは、当該サーバと対応する宛先クライアントとの間のネットワークが非接続状態であることを示す検出応答をソースクライアントへ返す。そして、サーバは、同時に宛先クライアント識別子をその検出応答に含める。工程606において、上記検出応答を受信した後、当該応答に含まれるネットワーク通信の状態に従って、サーバと宛先クライアントとの間のネットワークは、接続状態であると決定された場合、ソースクライアントは、当該ソースクライアントと宛先クライアントとの間のネットワークは、接続状態であると決定する。
さらに、実施形態5において、ネットワーク通信の状態が、ネットワークが接続状態にあるという前提において、さらに通信時間を含んでいる場合には、サーバは、所定の間隔で、当該サーバと各クライアントとの間の通信時間を取得し、保存する必要がある。工程605において、サーバがネットワーク通信の状態を検索する処理は、さらに、次の工程を含んでいる。すなわち、サーバは、当該サーバと、検出要求に含まれる宛先クライアント識別子User2に対応する宛先クライアントとの間の、保存された通信時間T1および当該サーバとソースクライアントとの間の通信時間T2を検索する。さらに、サーバは、通信時間T1および通信時間T2を、ソースクライアントへの検出応答に含める。さらに、工程606は、次の工程を含んでいる。すなわち、検出応答を受信した後、ソースクライアントは、通信時間T1および通信時間T2の合計を算出し、それによって、当該ソースクライアントと対応する宛先クライアントとの間の通信時間を得る。
さらに、上記工程605において、サーバが、当該サーバと検出要求に含まれる宛先クライアント識別子に対応する宛先クライアントとの間の、保存された通信時間T1および当該サーバとソースクライアントとの間の通信時間T2を見出した後、次の工程を実行することもできる。すなわち、サーバは、さらに、通信時間T1および通信時間T2の合計を算出し、その結果を直接、ソースクライアントへ返される検出応答に含める。このように、上述の工程606において、ソースクライアントは、当該ソースクライアントと宛先クライアントとの間の通信時間を、単純に、受信した検出応答から通信時間T1および通信時間T2の合計を取得することで得ることもできる。その結果、ソースクライアントの負担を軽減できる。
さらに、通信時間を、本発明の実施形態3または実施形態4に記載された方法で得ることもできる。すなわち、実施形態3に記載の方法を用いて、検出要求が送信された時間であるシステム時間t1が、サーバから各クライアントへ送信される検出要求に含まれる。システム時間t1を含む検出応答をクライアントから受信したとき、サーバは、その検出応答を受信した時間であるシステム時間t2を記録し、受信した検出応答からシステム時間t1を取得する。そして、サーバは、当該サーバと対応するクライアントとの間の通信時間を得るために、システム時間t2とシステム時間t1との差分を算出する。または、実施形態4に記載の方法を用いることもできる。すなわち、サーバは、検出要求が送信された時間であるシステム時間t1を保存する。システム時間t1を含む検出応答を、宛先クライアントから受信したとき、サーバは、その検出要求を受信した時間であるシステム時間t2を保存し、受信した検出応答からシステム時間t1を取得する。そして、サーバは、当該サーバと対応するクライアントとの間の通信時間を得るために、システム時間t2とシステム時間t1との差分を算出する。もちろん、システム時間は、上述したように、タイムスタンプによって検出要求または検出応答に含まれていてもよい。もし、上記時間差分を得るために後者の方法を用いる場合には、検出要求と検出応答とをマッチングさせることを考慮する必要もある。この場合、実施形態4に記載した工程を用いることができる。すなわち、シーケンスIDが送信される検出要求に含まれており、そのシーケンスIDおよび、検出要求が送信された時間であるシステム時間が保存される。それによって、ソースクライアントにおいて、送信された検出要求と受信された検出応答とが最終的にマッチングされる。
本発明に係る、ネットワーク通信の状態をクライアントによって検出する方法を上述のように説明した。本発明において提供される方法は、サーバおよび当該サーバに接続された複数のクライアントを含むあらゆるネットワーク(例えば、オンラインゲームシステム)に適用できる。
いずれにせよ、本発明は、いくつかの好ましい実施形態を参照しつつ図示され、説明されたが、それらの実施形態は、本発明の保護範囲を制限するものではない。
本発明における方法を適用したネットワーク構造の概略図である。 本発明の第1の実施形態に係る、ネットワーク通信の状態を検出する方法のフローチャートである。 本発明の第2の実施形態に係る、ネットワーク通信の状態を検出する方法のフローチャートである。 本発明の第3の実施形態に係る、ネットワーク通信の状態を検出する方法のフローチャートである。 本発明の第4の実施形態に係る、ネットワーク通信の状態を検出する方法のフローチャートである。 本発明の第5の実施形態に係る、ネットワーク通信の状態を検出する方法のフローチャートである。

Claims (30)

  1. ネットワーク通信の状態を検出する方法であって、
    上記ネットワークは、サーバと当該サーバに接続された複数のクライアントとを少なくとも含み、上記サーバによって、全てのクライアントの位置情報が予め保存され、
    (a)ソースクライアントによって、当該ソースクライアントと宛先クライアントとの間のネットワーク通信の状態を得るための検出要求を上記サーバに送信する工程と、
    (b)上記サーバが上記検出要求を受信した後に、当該サーバによって、当該サーバに保存された、上記宛先クライアントの経路情報に従って、上記検出要求を上記宛先クライアントに送信し、上記宛先クライアントが上記検出要求を受信した後、当該宛先クライアントによって、検出応答を上記サーバに返す工程と、
    (c)上記サーバが上記検出応答を受信した後、当該サーバによって、当該サーバに保存された上記ソースクライアントの経路情報に従って上記検出応答を上記ソースクライアントへ返す工程と、当該ソースクライアントによって、受信した検出応答に従って、上記ソースクライアントと上記宛先クライアントとの間のネットワーク通信の状態を得る工程とを含むことを特徴とするネットワーク通信の状態を検出する方法。
  2. 上記工程(a)において、上記ソースクライアントは、宛先クライアント識別子を含む検出要求を上記サーバへ送信し、
    上記工程(b)は、上記サーバによって、受信した検出要求から当該検出要求に含まれる上記宛先クライアント識別子を取得する工程と、当該サーバに保存されたクライアントの経路情報の中から上記宛先クライアント識別子に対応する経路情報を検索する工程と、上記検出要求を上記宛先クライアントへ送信する処理を工程(b)において実行する工程とをさらに含み、
    上記工程(b)において、上記宛先クライアントは、上記検出要求を上記サーバへ送信したソースクライアントの識別子を含む検出応答を上記サーバへ返し、
    上記工程(c)は、上記サーバによって、受信した検出応答に含まれるソースクライアント識別子を取得する工程と、当該サーバに保存された、クライアントの経路情報から上記ソースクライアント識別子に対応する位置情報を検索する工程と、上記検出応答を上記ソースクライアントへ返す処理を実行する工程とをさらに含む、請求項1に記載のネットワーク通信の状態を検出する方法。
  3. 上記工程(b)において、上記サーバが上記検出要求を上記宛先クライアントへ送信する処理は、上記サーバによって、受信した検出要求内の宛先クライアント識別子を、上記検出要求を送信したソースクライアントの識別子に置き換える工程と、新しい検出要求を生成する工程と、その検出要求を上記宛先クライアントへ送信する工程とを含み、上記宛先クライアントが上記検出応答を上記サーバへ返す処理は、上記宛先クライアントによって、受信した検出要求に含まれるソースクライアント識別子を取得する工程と、当該ソースクライアント識別子を含む検出応答を生成する工程と、当該検出応答を上記サーバへ返す工程とを含み、
    上記工程(c)において、上記サーバが上記検出応答を上記ソースクライアントへ返す処理は、上記サーバによって、受信した検出応答内のソースクライアント識別子を、その検出応答を送信した宛先クライアントの識別子に置き換える工程と、新しい検出応答を生成する工程と、その検出応答をソースクライアントへ送信する工程とを含み、
    上記工程(c)において、上記検出応答に従ってネットワーク通信の状態を取得する処理は、上記ソースクライアントによって、上記応答に含まれる宛先クライアント識別子を取得する工程と、上記ソースクライアントが上記サーバから返された検出応答を受信したときに、上記ソースクライアントと上記宛先クライアントとの間のネットワークは、まだ接続状態にあると決定する工程とを含む、請求項2に記載のネットワーク通信の状態を検出する方法。
  4. 上記工程(a)において、上記検出要求は、さらにソースクライアント識別子を含み、
    上記工程(b)において、上記サーバが上記検出要求を上記宛先クライアントへ送信する処理は、上記サーバによって、上記ソースクライアントから受信した検出要求を上記宛先クライアントへ転送する工程を含み、上記宛先クライアントが上記検出応答を上記サーバへ返す処理は、上記宛先クライアントによって、受信した検出要求に含まれる、上記ソースクライアント識別子および上記宛先クライアント識別子を取得する工程と、上記ソースクライアント識別子および上記宛先クライアント識別子を含む検出応答を生成する工程と、当該検出応答を上記サーバへ返す工程とを含み、
    上記工程(c)において、上記サーバが検出応答を上記ソースクライアントへ返す処理は、上記サーバによって、上記宛先クライアントから受信した検出応答をソースクライアントへ転送する工程を含み、上記検出応答に従ってネットワーク通信の状態を得る処理は、上記ソースクライアントによって、上記検出応答に含まれる上記宛先クライアント識別子を取得する工程と、上記ソースクライアントが上記サーバから返された検出応答を受信したときに、上記ソースクライアントと上記宛先クライアントとの間のネットワークは、まだ接続状態にあると決定する工程とを含む、請求項2に記載のネットワーク通信の状態を検出する方法。
  5. 上記工程(a)は、上記ソースクライアントによって、上記検出要求が上記サーバに送信された時間であるシステム時間t1を取得する工程をさらに含み、さらに、上記システム時間t1を記録したタイムスタンプが上記検出要求に含まれており、
    上記工程(b)において、上記宛先クライアントが検出応答をサーバに返す処理は、上記宛先クライアントによって、受信した検出要求に含まれる上記タイムスタンプを取得する工程と、上記サーバへ送信される検出応答に上記タイムスタンプを含める工程とをさらに含み、
    上記工程(c)において、上記検出応答に従ってネットワーク通信の状態を得る処理は、さらに、上記ソースクライアントによって、上記検出応答が受信された時間であるシステム時間t2を記録する工程と、受信された検出応答から上記タイムスタンプに記録されたシステム時間t1を取得する工程と、上記ソースクライアントと対応する宛先クライアントとの間の通信時間を得るために、システム時間t2とシステム時間t1との差分を算出する工程とを含む、請求項1〜4のいずれか1項に記載のネットワーク通信の状態を検出する方法。
  6. 上記工程(a)において、上記検出要求は、さらに、当該検出要求のシーケンスIDを含み、上記工程(a)は、さらに、上記ソースクライアントによって、上記検出要求が上記サーバに送信された時間であるシステム時間t1を取得する工程と、上記検出要求のシーケンスIDを、上記システム時間t1と対応付けて保存する工程とを含み、
    上記工程(b)において、上記宛先クライアントが検出応答をサーバに返す工程は、さらに、上記宛先クライアントによって、受信された検出要求に含まれるシーケンスIDを取得する工程と、当該シーケンスIDを上記サーバへ送信する検出応答へ含める工程とを含み、
    上記工程(c)において、上記検出応答に従ってネットワーク通信の状態を得る処理は、さらに、上記サーバから返された検出応答を受信したときに、上記ソースクライアントによって、上記検出応答が受信された時間であるシステム時間t2を記録する工程と、上記応答に含まれるシーケンスIDを取得する工程と、このシーケンスIDに対応した、当該ソースクライアントに保存されたシステム時間t1を検索する工程と、上記ソースクライアントと対応する宛先クライアントとの間の通信時間を得るために、システム時間t2とシステム時間t1との差分を算出する工程とを含む、請求項1〜4のいずれか1項に記載のネットワーク通信の状態を検出する方法。
  7. 上記工程(b)は、さらに、上記サーバが上記ソースクライアントから上記検出要求を受信したときに、上記サーバによって、受信応答を上記ソースクライアントに返す工程と、上記ソースクライアントによって、受信した受信応答に従って、当該ソースクライアントと上記サーバとの間のネットワーク通信の状態を取得する工程とを含む、請求項1〜4のいずれか1項に記載のネットワーク通信の状態を検出する方法。
  8. 上記工程(b)において、上記ソースクライアントが、受信した受信応答に従って、上記ソースクライアントと上記サーバとの間のネットワーク通信の状態を取得する処理は、上記ソースクライアントが上記サーバから返された受信応答を受信したときに、当該ソースクライアントによって、当該ソースクライアントと上記サーバとの間のネットワークは、接続状態にあると決定する工程を含む、請求項7に記載のネットワーク通信の状態を検出する方法。
  9. 上記工程(a)は、さらに、上記ソースクライアントによって、上記検出要求が上記サーバに送信された時間であるシステム時間t1を取得する工程を含み、上記検出要求は、さらに上記システム時間t1を記録したタイムスタンプを含み、
    上記工程(b)において、上記サーバが受信応答を上記ソースクライアントへ返す処理は、上記サーバによって、受信した検出要求に含まれるタイムスタンプを取得する工程と、当該タイムスタンプを含む受信応答を上記ソースクライアントへ返す工程とを含み、上記ソースクライアントが、上記受信応答に従ってネットワーク通信の状態を取得する処理は、上記ソースクライアントによって、受信応答が受信された時間であるシステム時間t3を取得する工程と、受信した受信応答から上記タイムスタンプに記録されたシステム時間t1を取得する工程と、上記ソースクライアントと上記サーバとの間の通信時間を得るために、システム時間t3とシステム時間t1との差分を算出する工程とを含む、請求項7に記載のネットワーク通信の状態を検出する方法。
  10. 上記工程(a)において、上記検出要求は、さらに、当該検出要求のシーケンスIDを含み、上記工程(a)は、さらに、上記ソースクライアントによって、上記検出要求が上記サーバに送信された時間であるシステム時間t1を取得する工程と、上記検出要求のシーケンスIDを、上記システム時間t1と対応付けて保存する工程とを含み、
    上記工程(b)は、さらに、上記ソースクライアントから上記検出要求を受信した後に、上記サーバによって、上記検出要求に含まれるシーケンスIDを取得する工程と、当該シーケンスIDを含む受信応答を上記ソースクライアントへ返す工程とを含み、
    上記ソースクライアントが、受信応答に従ってネットワーク通信の状態を取得する処理は、上記ソースクライアントによって、上記受信応答が受信された時間であるシステム時間t3を記録する工程と、受信した受信応答に含まれるシーケンスIDを取得する工程と、当該シーケンスIDに対応する、上記ソースクライアントに保存されたシステム時間t1を検索する工程と、上記ソースクライアントと上記サーバとの間の通信時間を得るために、システム時間t3とシステム時間t1との差分を算出する工程とを含む、請求項7に記載のネットワーク通信の状態を検出する方法。
  11. 複数のクライアントと接続されるサーバであって、
    全てのクライアントの位置情報を保存し、
    ソースクライアントと宛先クライアントとの間のネットワーク通信の状態を得るための検出要求を上記ソースクライアントから受信し、
    当該サーバに保存された、上記宛先クライアントの経路情報に従って、検出要求を上記宛先クライアントに送信し、
    上記宛先クライアントから返された検出応答を受信し、
    当該サーバに保存された、上記ソースクライアントの経路情報に従って検出応答を上記ソースクライアントへ返すように設計されたサーバ。
  12. 上記検出要求は、宛先クライアント識別子を含み、上記検出応答は、ソースクライアント識別子を含み、
    上記サーバは、受信した検出要求に含まれる上記宛先クライアント識別子を取得し、当該サーバに保存されたクライアント経路情報の中から上記宛先クライアント識別子に対応する経路情報を検索し、
    さらに、上記サーバは、受信した検出応答に含まれるソースクライアント識別子を取得し、当該サーバに保存されたクライアント経路情報の中から上記ソースクライアント識別子に対応する経路情報を検索するように設計されている、請求項11に記載のサーバ。
  13. 上記サーバは、受信した検出要求内の宛先クライアント識別子を、当該検出要求を送信したソースクライアントの識別子に置き換え、新しい検出要求を生成し、その検出要求を上記宛先クライアントへ送信し、
    さらに、上記サーバは、受信した検出応答内のソースクライアント識別子を、当該検出応答を送信した宛先クライアントの識別子に置き換え、新しい検出応答を生成し、その検出応答をソースクライアントへ送信するように設計されている、請求項12に記載のサーバ。
  14. 上記検出要求は、さらに、上記ソースクライアント識別子を含み、上記検出応答は、さらに上記宛先クライアント識別子を含み、
    上記サーバは、上記ソースクライアントから受信した検出要求を上記宛先クライアントへ転送し、上記宛先クライアントから受信した検出応答を上記ソースクライアントへ転送するように設計されている、請求項12に記載のサーバ。
  15. 上記サーバは、さらに、上記ソースクライアントから上記検出要求を受信したときに、上記ソースクライアントへ受信応答を返すように設計されている、請求項11〜14のいずれか1項に記載のサーバ。
  16. 上記検出要求は、さらに、システム時間t1を記録したタイムスタンプを含み、
    上記サーバは、受信した検出要求に含まれる上記タイムスタンプを取得し、当該タイムスタンプを含む受信応答を上記ソースクライアントへ返すように設計されている、請求項15項に記載のサーバ。
  17. 上記検出要求は、さらにシーケンス識別子(シーケンスID)を含み、
    上記サーバは、上記ソースクライアントから上記検出要求を受信し、当該検出要求に含まれるシーケンスIDを取得し、当該シーケンスIDを含む受信応答を上記ソースクライアントへ返すように設計されている、請求項15項に記載のサーバ。
  18. ネットワーク通信の状態を検出するための方法であって、
    上記ネットワークは、サーバと当該サーバに接続される複数のクライアントとを少なくとも含み、上記サーバによって、当該サーバと各クライアントとの間のネットワーク通信の状態が取得および保存され、
    (A)ソースクライアントによって、当該ソースクライアントと宛先クライアントとの間のネットワーク通信の状態を得るための検出要求を上記サーバに送信する工程と、
    (B)上記検出要求を上記ソースクライアントから受信した後に、上記サーバによって、当該サーバと対応する宛先クライアントとの間のネットワーク通信の状態を取得し、上記サーバによって、取得したネットワーク通信の状態に従って、検出応答を上記ソースクライアントへ返す工程と、
    (C)上記ソースクライアントによって、受信した検出応答に従って、上記ソースクライアントと上記宛先クライアントとの間のネットワーク通信の状態を取得する工程とを含むことを特徴とするネットワーク通信の状態を検出する方法。
  19. 上記工程(A)において、上記ソースクライアントは、宛先クライアント識別子を含む検出要求を上記サーバへ送信し、
    上記工程(B)において、上記サーバは、受信した検出要求に含まれる宛先クライアント識別子を取得し、当該宛先クライアント識別子に対応する、当該サーバに保存されたネットワーク通信の状態を検索することにより、当該サーバと宛先クライアントとの間のネットワーク通信の状態を取得する、請求項18に記載のネットワーク通信の状態を検出する方法。
  20. 上記サーバは、全てのクライアントの位置情報を予め保存し、所定の間隔で、当該サーバに保存された経路情報に従って、上記検出要求を各クライアントへ送信し、上記クライアントから返された検出応答に従って、上記サーバと対応するクライアントとの間のネットワーク通信の状態を取得するという方法によって、当該サーバと各クライアントとの間のネットワーク通信の状態を取得する、請求項18に記載のネットワーク通信の状態を検出する方法。
  21. 上記工程(B)において、上記検出応答を上記ソースクライアントへ返す工程は、上記サーバによって、当該サーバと対応する宛先クライアントとの間のネットワーク通信の状態を含む検出応答を上記ソースクライアントへ直接返す工程を含み、
    上記工程(C)は、上記ソースクライアントが上記検出応答を受信し、当該応答に含まれるネットワーク通信の状態に従って、上記サーバと上記宛先クライアントとの間のネットワークが接続状態であると決定した後に、当該ソースクライアントによって、当該ソースクライアントと上記宛先クライアントとの間のネットワークが接続状態であると決定し、そうでなければ、当該ソースクライアントと上記宛先クライアントとの間のネットワークは非接続状態であると決定する工程を含む、請求項18〜20のいずれか1項に記載のネットワーク通信の状態を検出する方法。
  22. 上記サーバが、当該サーバと各クライアントとの間のネットワーク通信の状態を取得および保存する処理は、当該サーバによって、当該サーバと各クライアントとの間の通信時間を取得および保存する工程をさらに含み、
    上記工程(B)において、上記サーバがネットワーク通信の状態を取得する処理は、当該サーバによって、当該サーバと上記検出要求に含まれる上記宛先クライアント識別子に対応するクライアントとの間の保存された通信時間T1および当該サーバと上記ソースクライアントとの間の通信時間T2を検索する工程をさらに含み、上記検出応答を上記ソースクライアントへ返す処理は、上記通信時間T1およびT2を、上記ソースクライアントへ返される検出応答に含める工程をさらに含み、
    上記工程(C)は、上記ソースクライアントと上記宛先クライアントとの間の通信時間を得るために、上記ソースクライアントが上記検出応答を受信したときに、上記ソースクライアントによって、上記通信時間T1およびT2の合計を算出する工程をさらに含む、請求項18に記載のネットワーク通信の状態を検出する方法。
  23. 上記サーバが、当該サーバと各クライアントとの間のネットワーク通信の状態を取得および保存する処理は、当該サーバによって、当該サーバと各クライアントとの間の通信時間を取得および保存する工程をさらに含み、
    上記工程(B)において、上記サーバがネットワーク通信の状態を取得する処理は、当該サーバによって、当該サーバと上記検出要求に含まれる上記宛先クライアント識別子に対応するクライアントとの間の保存された通信時間T1および当該サーバと上記ソースクライアントとの間の通信時間T2を検索する工程と、当該サーバによって見出された通信時間T1およびT2の合計を算出する工程と、その算出結果を、上記ソースクライアントへ返される検出応答に含める工程とをさらに含み、
    上記工程(C)は、上記ソースクライアントと上記宛先クライアントとの間の通信時間を得るために、上記ソースクライアントによって、受信した検出応答から上記算出結果を取得する工程をさらに含む、請求項18に記載のネットワーク通信の状態を検出する方法。
  24. 上記サーバは、全てのクライアントの位置情報を予め保存し、当該サーバに保存された経路情報に従って、所定の間隔で、各クライアントへ上記検出要求を送信し、その検出要求に、上記検出要求を送信した時間であるシステム時間t1を含め、上記クライアントからシステム時間t1を含む検出応答を受信したとき、上記サーバは、上記検出応答を受信した時間であるシステム時間t2を記録し、受信した検出応答から上記システム時間t1を取得し、そして、上記サーバは、当該サーバと対応するクライアントとの間の通信時間を得るために、上記システム時間t2と上記システム時間t1との差分を算出するか、または、
    上記サーバは、上記検出要求を送信した時間であるシステム時間t1を保存し、当該システム時間t1を含む、上記クライアントから返された検出応答を受信した後に、上記検出応答を受信した時間であるシステム時間t2を記録し、上記検出応答から上記システム時間t1を取得し、そして、上記サーバは、当該サーバと対応するクライアントとの間の通信時間を得るために、上記システム時間t2と上記システム時間t1との差分を算出する方法によって、当該サーバと各クライアントとの間の通信時間を取得する、請求項22または23に記載のネットワーク通信の状態を検出する方法。
  25. サーバであって、
    当該サーバと各クライアントとの間のネットワーク通信の状態を取得および保存し、
    ソースクライアントから検出要求を受信し、当該サーバと対応する宛先クライアントとの間のネットワーク通信の状態を取得し、取得したネットワーク通信の状態に従って、検出応答を上記ソースクライアントへ返すように設計されたサーバ。
  26. 受信した検出要求に含まれる宛先クライアント識別子を取得し、当該宛先クライアント識別子に対応する、当該サーバに保存されたネットワーク通信の状態を検索するように設計された、請求項25に記載のサーバ。
  27. 全てのクライアントの経路情報を予め保存し、所定の間隔で、当該サーバに保存された経路情報に従って、上記検出要求を各クライアントへ送信し、上記クライアントから返された検出応答に従って、上記サーバと対応するクライアントとの間のネットワーク通信の状態を取得するように設計された、請求項25に記載のサーバ。
  28. 上記サーバと各クライアントとの間の通信時間を取得および保存し、当該サーバと、上記検出要求に含まれる上記宛先クライアント識別子に対応するクライアントとの間の、保存された通信時間T1および当該サーバと上記ソースクライアントとの間の通信時間T2を検索し、上記通信時間T1およびT2を、上記ソースクライアントへ返される検出応答へ含めるようにさらに設計されている、請求項25に記載のサーバ。
  29. 上記サーバと各クライアントとの間の通信時間を取得および保存し、当該サーバと、上記検出要求に含まれる上記宛先クライアント識別子に対応するクライアントとの間の、保存された通信時間T1および当該サーバと上記ソースクライアントとの間の通信時間T2を検索し、上記通信時間T1およびT2の合計を算出し、その算出結果を、上記ソースクライアントへ返される検出応答に含めるようにさらに設計されている、請求項25に記載のサーバ。
  30. 全てのクライアントの経路情報を予め保存し、当該サーバに保存された経路情報に従って、所定の間隔で、各クライアントへ上記検出要求を送信し、その検出要求に、当該検出要求を送信した時間であるシステム時間t1を含め、上記クライアントから上記システム時間t1を含む検出応答を受信したとき、上記検出応答を受信した時間であるシステム時間t2を記録し、受信した検出応答から上記システム時間t1を取得し、そして、当該サーバと対応するクライアントとの間の通信時間を得るために、上記システム時間t2と上記システム時間t1との差分を算出するか、または、
    上記検出要求を送信した時間であるシステム時間t1を記録し、当該システム時間t1を含む、上記クライアントから返された検出応答を受信した後に、上記検出応答を受信した時間であるシステム時間t2を記録し、上記検出応答から上記システム時間t1を取得し、当該サーバと対応するクライアントとの間の通信時間を得るために、上記システム時間t2と上記システム時間t1との差分を算出するように設計されている、請求項28または29に記載のサーバ。
JP2008525364A 2005-08-09 2006-06-12 ネットワーク通信の状態を検出する方法およびサーバ Pending JP2009505460A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CNB2005100899973A CN1327658C (zh) 2005-08-09 2005-08-09 网络通信状况探测方法
PCT/CN2006/001283 WO2007016837A1 (fr) 2005-08-09 2006-06-12 Procédé de détection d'un état de communication de réseau et son terminal de service

Publications (1)

Publication Number Publication Date
JP2009505460A true JP2009505460A (ja) 2009-02-05

Family

ID=36805949

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008525364A Pending JP2009505460A (ja) 2005-08-09 2006-06-12 ネットワーク通信の状態を検出する方法およびサーバ

Country Status (5)

Country Link
US (1) US20080147855A1 (ja)
JP (1) JP2009505460A (ja)
KR (1) KR100959236B1 (ja)
CN (1) CN1327658C (ja)
WO (1) WO2007016837A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2442543A4 (en) 2009-06-08 2016-12-28 Nec Corp PORTABLE TERMINAL APPARATUS, PORTABLE TERMINAL APPARATUS CONTROL METHOD, COMMUNICATION SYSTEM, COMMUNICATION APPARATUS, AND COMMUNICATION APPARATUS CONTROL METHOD
US20130198338A1 (en) * 2012-01-31 2013-08-01 Carmit Pinto Enhancing perceived performances of computer applications
US9559906B2 (en) * 2013-01-11 2017-01-31 Microsoft Technology Licensing, Llc Server load management
CN106302661B (zh) * 2016-08-02 2019-08-13 网宿科技股份有限公司 P2p数据加速方法、装置和系统
CN106412952A (zh) * 2016-09-14 2017-02-15 上海斐讯数据通信技术有限公司 一种监控接入点状态的方法、客户端及接入点
CN110611600B (zh) * 2018-06-14 2021-06-29 福建天晴数码有限公司 一种网络状态信息采集方法及系统
CN110336710B (zh) * 2019-06-06 2021-05-28 视联动力信息技术股份有限公司 一种终端的测试方法、系统及装置和存储介质
CN111314165B (zh) * 2019-12-18 2022-02-01 上海米哈游天命科技有限公司 一种游戏服务器确定方法、装置、服务器和介质
CN112040328B (zh) * 2020-08-04 2023-03-10 北京字节跳动网络技术有限公司 数据交互方法、装置和电子设备
CN112260904A (zh) * 2020-11-02 2021-01-22 深圳市九九互动科技有限公司 链路探测方法、装置、计算机设备和存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11220512A (ja) * 1998-02-03 1999-08-10 Nippon Telegr & Teleph Corp <Ntt> 無線通信装置およびプログラム記録媒体
JP2000216811A (ja) * 1999-01-22 2000-08-04 Chokosoku Network Computer Gijutsu Kenkyusho:Kk フロ―制御方法
JP2002026957A (ja) * 2000-07-13 2002-01-25 Denso Corp 多重通信システム
JP2004135065A (ja) * 2002-10-10 2004-04-30 Matsushita Electric Ind Co Ltd 送信端末、受信端末及びデータ伝送システム
JP2004135062A (ja) * 2002-10-10 2004-04-30 Matsushita Electric Ind Co Ltd 映像コミュニケーションシステム及び映像コミュニケーション方法
JP2004248257A (ja) * 2003-01-21 2004-09-02 Matsushita Electric Ind Co Ltd 通信システム及び端末
JP2004336375A (ja) * 2003-05-07 2004-11-25 Fujitsu Ltd 導通確認機能を有するスイッチ

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0738879A (ja) * 1993-07-16 1995-02-07 Brother Ind Ltd データ伝送装置
JP3671488B2 (ja) * 1995-12-18 2005-07-13 ソニー株式会社 通話システム及び通話方法
US6128660A (en) * 1996-03-21 2000-10-03 Hearme Network match maker
IL119364A (en) * 1996-10-06 2000-11-21 Icq Inc Communications system
US6198722B1 (en) 1998-02-27 2001-03-06 National Semiconductor Corp. Flow control method for networks
FI112148B (fi) * 2000-07-24 2003-10-31 Stonesoft Oyj Tietoliikenteen ohjausmenetelmä
CN1210911C (zh) * 2002-04-08 2005-07-13 华为技术有限公司 一种接入设备实时探测以太网接入计算机在线状态的方法
CN1514586B (zh) * 2002-12-31 2011-05-11 中兴通讯股份有限公司 模拟多用户、多连接的数据通讯设备测试方法
CN1514380A (zh) * 2002-12-31 2004-07-21 深圳市中兴通讯股份有限公司 一种计算机之间点到点的通讯方法
TWI323101B (en) * 2003-01-21 2010-04-01 Panasonic Corp Communication system and its terminal
US7284147B2 (en) * 2003-08-27 2007-10-16 International Business Machines Corporation Reliable fault resolution in a cluster
FR2859851A1 (fr) * 2003-09-11 2005-03-18 France Telecom Systeme d'acces a des fichiers multimedias depuis un terminal mobile

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11220512A (ja) * 1998-02-03 1999-08-10 Nippon Telegr & Teleph Corp <Ntt> 無線通信装置およびプログラム記録媒体
JP2000216811A (ja) * 1999-01-22 2000-08-04 Chokosoku Network Computer Gijutsu Kenkyusho:Kk フロ―制御方法
JP2002026957A (ja) * 2000-07-13 2002-01-25 Denso Corp 多重通信システム
JP2004135065A (ja) * 2002-10-10 2004-04-30 Matsushita Electric Ind Co Ltd 送信端末、受信端末及びデータ伝送システム
JP2004135062A (ja) * 2002-10-10 2004-04-30 Matsushita Electric Ind Co Ltd 映像コミュニケーションシステム及び映像コミュニケーション方法
JP2004248257A (ja) * 2003-01-21 2004-09-02 Matsushita Electric Ind Co Ltd 通信システム及び端末
JP2004336375A (ja) * 2003-05-07 2004-11-25 Fujitsu Ltd 導通確認機能を有するスイッチ

Also Published As

Publication number Publication date
KR100959236B1 (ko) 2010-05-19
CN1794667A (zh) 2006-06-28
WO2007016837A1 (fr) 2007-02-15
US20080147855A1 (en) 2008-06-19
CN1327658C (zh) 2007-07-18
KR20080035669A (ko) 2008-04-23

Similar Documents

Publication Publication Date Title
JP2009505460A (ja) ネットワーク通信の状態を検出する方法およびサーバ
CN107395683B (zh) 一种回源路径的选择方法及服务器
US20060250988A1 (en) Method of monitoring progress of a singalling message and network monitoring apparatus
KR101451194B1 (ko) 콘텐츠 전송 네트워크에서의 거리 계산 방법 및 장치
KR20140009931A (ko) 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 컨텐츠 및 실시간 스트리밍 컨텐츠 제공을 위한 컨텐츠 요청자 및 컨텐츠 제공자의 통신 방법
JP2004328734A5 (ja)
US20090248803A1 (en) Apparatus and method of analyzing service processing status
JP5666719B2 (ja) ピアツーピア・ネットワークにおける検索
US20160156516A1 (en) Monitoring device, method, and medium
CN105340243B (zh) 用于检测数字媒体设备存在于网络上的方法、系统和介质
US20110172956A1 (en) Distance metric estimating system, coordinate calculating node, distance metric estimating method, and program
JP2011130000A (ja) 通信品質データのモニタリング測定装置と方法およびプログラム
JP4763834B2 (ja) オーバレイネットワークのノード間ネットワーク性能を測定する方法、装置、およびシステム
RU2008121872A (ru) Ближайший узел для соединений распределенных служб
JP4910542B2 (ja) Sipメッセージ引渡プログラム
JP5707263B2 (ja) 障害発生箇所診断システムおよび障害発生箇所診断方法
US9130959B2 (en) Method and apparatus for monitoring a Kad network
CN115866011A (zh) 数据传输方法、装置、计算机设备和计算机可读存储介质
JP2018527862A (ja) 共有端末の検出方法及びその装置
EP3667509A1 (en) Communication device and communication method for processing meta data
KR101097706B1 (ko) Dns캐쉬를 추가한 cscf 및 dns 캐쉬를 추가한 cscf를 이용한 단말 등록 방법
JP5521694B2 (ja) 遠隔通信システム、及びプログラム
US10284681B2 (en) Distribution method, playback apparatus, and distribution apparatus
JP2005229309A (ja) 通信経路設定装置、通信経路設定方法および通信経路設定プログラム
WO2017090178A1 (ja) 動画品質測定装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100413

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100616

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101116