(57)【要約】  ネットワーク通信の状態を検出するための２つの方法およびそのためのサービス端末に関し、２つの方法うちの１つにおいて、サービス端末が、クライアント端末の位置情報を予め保存し、サービス端末が、起点クライアント端末の検出要求を受信した後に、検出要求を宛先クライアント端末に送信する。その検出応答を宛先クライアント端末から受信した後、サービス端末は、当該検出応答を起点クライアント端末へ返す。それによって、起点クライアント端末は、自身から宛先クライアントまでのネットワーク通信の状態を、検出応答に従って得ることができる。別の方法において、サービス端末は、当該サービス端末から宛先クライアントまでのネットワーク通信の状態を予め取得および保存するために、宛先クライアント端末とやり取りを行う。サービス端末は、起点クライアント端末の検出要求を受信した後に、格納された、自身から対応する宛先クライアントまでのネットワーク通信の状態に従って、検出応答を起点クライアント端末へ直接返す。これにより、起点クライアント端末は、自身から宛先クライアントまでのネットワーク通信の状態を、検出応答に従って得る。また、本発明は、ネットワーク通信時間の検出ステップも提供するため、検出内容を増加させ、検出の目的を真に実現できる。
2009505460.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク通信の状態を検出する方法であって、
上記ネットワークは、サーバと当該サーバに接続された複数のクライアントとを少なくとも含み、上記サーバによって、全てのクライアントの位置情報が予め保存され、
（ａ）ソースクライアントによって、当該ソースクライアントと宛先クライアントとの間のネットワーク通信の状態を得るための検出要求を上記サーバに送信する工程と、
（ｂ）上記サーバが上記検出要求を受信した後に、当該サーバによって、当該サーバに保存された、上記宛先クライアントの経路情報に従って、上記検出要求を上記宛先クライアントに送信し、上記宛先クライアントが上記検出要求を受信した後、当該宛先クライアントによって、検出応答を上記サーバに返す工程と、
（ｃ）上記サーバが上記検出応答を受信した後、当該サーバによって、当該サーバに保存された上記ソースクライアントの経路情報に従って上記検出応答を上記ソースクライアントへ返す工程と、当該ソースクライアントによって、受信した検出応答に従って、上記ソースクライアントと上記宛先クライアントとの間のネットワーク通信の状態を得る工程とを含むことを特徴とするネットワーク通信の状態を検出する方法。
【請求項２】
上記工程（ａ）において、上記ソースクライアントは、宛先クライアント識別子を含む検出要求を上記サーバへ送信し、
上記工程（ｂ）は、上記サーバによって、受信した検出要求から当該検出要求に含まれる上記宛先クライアント識別子を取得する工程と、当該サーバに保存されたクライアントの経路情報の中から上記宛先クライアント識別子に対応する経路情報を検索する工程と、上記検出要求を上記宛先クライアントへ送信する処理を工程（ｂ）において実行する工程とをさらに含み、
上記工程（ｂ）において、上記宛先クライアントは、上記検出要求を上記サーバへ送信したソースクライアントの識別子を含む検出応答を上記サーバへ返し、
上記工程（ｃ）は、上記サーバによって、受信した検出応答に含まれるソースクライアント識別子を取得する工程と、当該サーバに保存された、クライアントの経路情報から上記ソースクライアント識別子に対応する位置情報を検索する工程と、上記検出応答を上記ソースクライアントへ返す処理を実行する工程とをさらに含む、請求項１に記載のネットワーク通信の状態を検出する方法。
【請求項３】
上記工程（ｂ）において、上記サーバが上記検出要求を上記宛先クライアントへ送信する処理は、上記サーバによって、受信した検出要求内の宛先クライアント識別子を、上記検出要求を送信したソースクライアントの識別子に置き換える工程と、新しい検出要求を生成する工程と、その検出要求を上記宛先クライアントへ送信する工程とを含み、上記宛先クライアントが上記検出応答を上記サーバへ返す処理は、上記宛先クライアントによって、受信した検出要求に含まれるソースクライアント識別子を取得する工程と、当該ソースクライアント識別子を含む検出応答を生成する工程と、当該検出応答を上記サーバへ返す工程とを含み、
上記工程（ｃ）において、上記サーバが上記検出応答を上記ソースクライアントへ返す処理は、上記サーバによって、受信した検出応答内のソースクライアント識別子を、その検出応答を送信した宛先クライアントの識別子に置き換える工程と、新しい検出応答を生成する工程と、その検出応答をソースクライアントへ送信する工程とを含み、
上記工程（ｃ）において、上記検出応答に従ってネットワーク通信の状態を取得する処理は、上記ソースクライアントによって、上記応答に含まれる宛先クライアント識別子を取得する工程と、上記ソースクライアントが上記サーバから返された検出応答を受信したときに、上記ソースクライアントと上記宛先クライアントとの間のネットワークは、まだ接続状態にあると決定する工程とを含む、請求項２に記載のネットワーク通信の状態を検出する方法。
【請求項４】
上記工程（ａ）において、上記検出要求は、さらにソースクライアント識別子を含み、
上記工程（ｂ）において、上記サーバが上記検出要求を上記宛先クライアントへ送信する処理は、上記サーバによって、上記ソースクライアントから受信した検出要求を上記宛先クライアントへ転送する工程を含み、上記宛先クライアントが上記検出応答を上記サーバへ返す処理は、上記宛先クライアントによって、受信した検出要求に含まれる、上記ソースクライアント識別子および上記宛先クライアント識別子を取得する工程と、上記ソースクライアント識別子および上記宛先クライアント識別子を含む検出応答を生成する工程と、当該検出応答を上記サーバへ返す工程とを含み、
上記工程（ｃ）において、上記サーバが検出応答を上記ソースクライアントへ返す処理は、上記サーバによって、上記宛先クライアントから受信した検出応答をソースクライアントへ転送する工程を含み、上記検出応答に従ってネットワーク通信の状態を得る処理は、上記ソースクライアントによって、上記検出応答に含まれる上記宛先クライアント識別子を取得する工程と、上記ソースクライアントが上記サーバから返された検出応答を受信したときに、上記ソースクライアントと上記宛先クライアントとの間のネットワークは、まだ接続状態にあると決定する工程とを含む、請求項２に記載のネットワーク通信の状態を検出する方法。
【請求項５】
上記工程（ａ）は、上記ソースクライアントによって、上記検出要求が上記サーバに送信された時間であるシステム時間ｔ１を取得する工程をさらに含み、さらに、上記システム時間ｔ１を記録したタイムスタンプが上記検出要求に含まれており、
上記工程（ｂ）において、上記宛先クライアントが検出応答をサーバに返す処理は、上記宛先クライアントによって、受信した検出要求に含まれる上記タイムスタンプを取得する工程と、上記サーバへ送信される検出応答に上記タイムスタンプを含める工程とをさらに含み、
上記工程（ｃ）において、上記検出応答に従ってネットワーク通信の状態を得る処理は、さらに、上記ソースクライアントによって、上記検出応答が受信された時間であるシステム時間ｔ２を記録する工程と、受信された検出応答から上記タイムスタンプに記録されたシステム時間ｔ１を取得する工程と、上記ソースクライアントと対応する宛先クライアントとの間の通信時間を得るために、システム時間ｔ２とシステム時間ｔ１との差分を算出する工程とを含む、請求項１〜４のいずれか１項に記載のネットワーク通信の状態を検出する方法。
【請求項６】
上記工程（ａ）において、上記検出要求は、さらに、当該検出要求のシーケンスＩＤを含み、上記工程（ａ）は、さらに、上記ソースクライアントによって、上記検出要求が上記サーバに送信された時間であるシステム時間ｔ１を取得する工程と、上記検出要求のシーケンスＩＤを、上記システム時間ｔ１と対応付けて保存する工程とを含み、
上記工程（ｂ）において、上記宛先クライアントが検出応答をサーバに返す工程は、さらに、上記宛先クライアントによって、受信された検出要求に含まれるシーケンスＩＤを取得する工程と、当該シーケンスＩＤを上記サーバへ送信する検出応答へ含める工程とを含み、
上記工程（ｃ）において、上記検出応答に従ってネットワーク通信の状態を得る処理は、さらに、上記サーバから返された検出応答を受信したときに、上記ソースクライアントによって、上記検出応答が受信された時間であるシステム時間ｔ２を記録する工程と、上記応答に含まれるシーケンスＩＤを取得する工程と、このシーケンスＩＤに対応した、当該ソースクライアントに保存されたシステム時間ｔ１を検索する工程と、上記ソースクライアントと対応する宛先クライアントとの間の通信時間を得るために、システム時間ｔ２とシステム時間ｔ１との差分を算出する工程とを含む、請求項１〜４のいずれか１項に記載のネットワーク通信の状態を検出する方法。
【請求項７】
上記工程（ｂ）は、さらに、上記サーバが上記ソースクライアントから上記検出要求を受信したときに、上記サーバによって、受信応答を上記ソースクライアントに返す工程と、上記ソースクライアントによって、受信した受信応答に従って、当該ソースクライアントと上記サーバとの間のネットワーク通信の状態を取得する工程とを含む、請求項１〜４のいずれか１項に記載のネットワーク通信の状態を検出する方法。
【請求項８】
上記工程（ｂ）において、上記ソースクライアントが、受信した受信応答に従って、上記ソースクライアントと上記サーバとの間のネットワーク通信の状態を取得する処理は、上記ソースクライアントが上記サーバから返された受信応答を受信したときに、当該ソースクライアントによって、当該ソースクライアントと上記サーバとの間のネットワークは、接続状態にあると決定する工程を含む、請求項７に記載のネットワーク通信の状態を検出する方法。
【請求項９】
上記工程（ａ）は、さらに、上記ソースクライアントによって、上記検出要求が上記サーバに送信された時間であるシステム時間ｔ１を取得する工程を含み、上記検出要求は、さらに上記システム時間ｔ１を記録したタイムスタンプを含み、
上記工程（ｂ）において、上記サーバが受信応答を上記ソースクライアントへ返す処理は、上記サーバによって、受信した検出要求に含まれるタイムスタンプを取得する工程と、当該タイムスタンプを含む受信応答を上記ソースクライアントへ返す工程とを含み、上記ソースクライアントが、上記受信応答に従ってネットワーク通信の状態を取得する処理は、上記ソースクライアントによって、受信応答が受信された時間であるシステム時間ｔ３を取得する工程と、受信した受信応答から上記タイムスタンプに記録されたシステム時間ｔ１を取得する工程と、上記ソースクライアントと上記サーバとの間の通信時間を得るために、システム時間ｔ３とシステム時間ｔ１との差分を算出する工程とを含む、請求項７に記載のネットワーク通信の状態を検出する方法。
【請求項１０】
上記工程（ａ）において、上記検出要求は、さらに、当該検出要求のシーケンスＩＤを含み、上記工程（ａ）は、さらに、上記ソースクライアントによって、上記検出要求が上記サーバに送信された時間であるシステム時間ｔ１を取得する工程と、上記検出要求のシーケンスＩＤを、上記システム時間ｔ１と対応付けて保存する工程とを含み、
上記工程（ｂ）は、さらに、上記ソースクライアントから上記検出要求を受信した後に、上記サーバによって、上記検出要求に含まれるシーケンスＩＤを取得する工程と、当該シーケンスＩＤを含む受信応答を上記ソースクライアントへ返す工程とを含み、
上記ソースクライアントが、受信応答に従ってネットワーク通信の状態を取得する処理は、上記ソースクライアントによって、上記受信応答が受信された時間であるシステム時間ｔ３を記録する工程と、受信した受信応答に含まれるシーケンスＩＤを取得する工程と、当該シーケンスＩＤに対応する、上記ソースクライアントに保存されたシステム時間ｔ１を検索する工程と、上記ソースクライアントと上記サーバとの間の通信時間を得るために、システム時間ｔ３とシステム時間ｔ１との差分を算出する工程とを含む、請求項７に記載のネットワーク通信の状態を検出する方法。
【請求項１１】
複数のクライアントと接続されるサーバであって、
全てのクライアントの位置情報を保存し、
ソースクライアントと宛先クライアントとの間のネットワーク通信の状態を得るための検出要求を上記ソースクライアントから受信し、
当該サーバに保存された、上記宛先クライアントの経路情報に従って、検出要求を上記宛先クライアントに送信し、
上記宛先クライアントから返された検出応答を受信し、
当該サーバに保存された、上記ソースクライアントの経路情報に従って検出応答を上記ソースクライアントへ返すように設計されたサーバ。
【請求項１２】
上記検出要求は、宛先クライアント識別子を含み、上記検出応答は、ソースクライアント識別子を含み、
上記サーバは、受信した検出要求に含まれる上記宛先クライアント識別子を取得し、当該サーバに保存されたクライアント経路情報の中から上記宛先クライアント識別子に対応する経路情報を検索し、
さらに、上記サーバは、受信した検出応答に含まれるソースクライアント識別子を取得し、当該サーバに保存されたクライアント経路情報の中から上記ソースクライアント識別子に対応する経路情報を検索するように設計されている、請求項１１に記載のサーバ。
【請求項１３】
上記サーバは、受信した検出要求内の宛先クライアント識別子を、当該検出要求を送信したソースクライアントの識別子に置き換え、新しい検出要求を生成し、その検出要求を上記宛先クライアントへ送信し、
さらに、上記サーバは、受信した検出応答内のソースクライアント識別子を、当該検出応答を送信した宛先クライアントの識別子に置き換え、新しい検出応答を生成し、その検出応答をソースクライアントへ送信するように設計されている、請求項１２に記載のサーバ。
【請求項１４】
上記検出要求は、さらに、上記ソースクライアント識別子を含み、上記検出応答は、さらに上記宛先クライアント識別子を含み、
上記サーバは、上記ソースクライアントから受信した検出要求を上記宛先クライアントへ転送し、上記宛先クライアントから受信した検出応答を上記ソースクライアントへ転送するように設計されている、請求項１２に記載のサーバ。
【請求項１５】
上記サーバは、さらに、上記ソースクライアントから上記検出要求を受信したときに、上記ソースクライアントへ受信応答を返すように設計されている、請求項１１〜１４のいずれか１項に記載のサーバ。
【請求項１６】
上記検出要求は、さらに、システム時間ｔ１を記録したタイムスタンプを含み、
上記サーバは、受信した検出要求に含まれる上記タイムスタンプを取得し、当該タイムスタンプを含む受信応答を上記ソースクライアントへ返すように設計されている、請求項１５項に記載のサーバ。
【請求項１７】
上記検出要求は、さらにシーケンス識別子（シーケンスＩＤ）を含み、
上記サーバは、上記ソースクライアントから上記検出要求を受信し、当該検出要求に含まれるシーケンスＩＤを取得し、当該シーケンスＩＤを含む受信応答を上記ソースクライアントへ返すように設計されている、請求項１５項に記載のサーバ。
【請求項１８】
ネットワーク通信の状態を検出するための方法であって、
上記ネットワークは、サーバと当該サーバに接続される複数のクライアントとを少なくとも含み、上記サーバによって、当該サーバと各クライアントとの間のネットワーク通信の状態が取得および保存され、
（Ａ）ソースクライアントによって、当該ソースクライアントと宛先クライアントとの間のネットワーク通信の状態を得るための検出要求を上記サーバに送信する工程と、
（Ｂ）上記検出要求を上記ソースクライアントから受信した後に、上記サーバによって、当該サーバと対応する宛先クライアントとの間のネットワーク通信の状態を取得し、上記サーバによって、取得したネットワーク通信の状態に従って、検出応答を上記ソースクライアントへ返す工程と、
（Ｃ）上記ソースクライアントによって、受信した検出応答に従って、上記ソースクライアントと上記宛先クライアントとの間のネットワーク通信の状態を取得する工程とを含むことを特徴とするネットワーク通信の状態を検出する方法。
【請求項１９】
上記工程（Ａ）において、上記ソースクライアントは、宛先クライアント識別子を含む検出要求を上記サーバへ送信し、
上記工程（Ｂ）において、上記サーバは、受信した検出要求に含まれる宛先クライアント識別子を取得し、当該宛先クライアント識別子に対応する、当該サーバに保存されたネットワーク通信の状態を検索することにより、当該サーバと宛先クライアントとの間のネットワーク通信の状態を取得する、請求項１８に記載のネットワーク通信の状態を検出する方法。
【請求項２０】
上記サーバは、全てのクライアントの位置情報を予め保存し、所定の間隔で、当該サーバに保存された経路情報に従って、上記検出要求を各クライアントへ送信し、上記クライアントから返された検出応答に従って、上記サーバと対応するクライアントとの間のネットワーク通信の状態を取得するという方法によって、当該サーバと各クライアントとの間のネットワーク通信の状態を取得する、請求項１８に記載のネットワーク通信の状態を検出する方法。
【請求項２１】
上記工程（Ｂ）において、上記検出応答を上記ソースクライアントへ返す工程は、上記サーバによって、当該サーバと対応する宛先クライアントとの間のネットワーク通信の状態を含む検出応答を上記ソースクライアントへ直接返す工程を含み、
上記工程（Ｃ）は、上記ソースクライアントが上記検出応答を受信し、当該応答に含まれるネットワーク通信の状態に従って、上記サーバと上記宛先クライアントとの間のネットワークが接続状態であると決定した後に、当該ソースクライアントによって、当該ソースクライアントと上記宛先クライアントとの間のネットワークが接続状態であると決定し、そうでなければ、当該ソースクライアントと上記宛先クライアントとの間のネットワークは非接続状態であると決定する工程を含む、請求項１８〜２０のいずれか１項に記載のネットワーク通信の状態を検出する方法。
【請求項２２】
上記サーバが、当該サーバと各クライアントとの間のネットワーク通信の状態を取得および保存する処理は、当該サーバによって、当該サーバと各クライアントとの間の通信時間を取得および保存する工程をさらに含み、
上記工程（Ｂ）において、上記サーバがネットワーク通信の状態を取得する処理は、当該サーバによって、当該サーバと上記検出要求に含まれる上記宛先クライアント識別子に対応するクライアントとの間の保存された通信時間Ｔ１および当該サーバと上記ソースクライアントとの間の通信時間Ｔ２を検索する工程をさらに含み、上記検出応答を上記ソースクライアントへ返す処理は、上記通信時間Ｔ１およびＴ２を、上記ソースクライアントへ返される検出応答に含める工程をさらに含み、
上記工程（Ｃ）は、上記ソースクライアントと上記宛先クライアントとの間の通信時間を得るために、上記ソースクライアントが上記検出応答を受信したときに、上記ソースクライアントによって、上記通信時間Ｔ１およびＴ２の合計を算出する工程をさらに含む、請求項１８に記載のネットワーク通信の状態を検出する方法。
【請求項２３】
上記サーバが、当該サーバと各クライアントとの間のネットワーク通信の状態を取得および保存する処理は、当該サーバによって、当該サーバと各クライアントとの間の通信時間を取得および保存する工程をさらに含み、
上記工程（Ｂ）において、上記サーバがネットワーク通信の状態を取得する処理は、当該サーバによって、当該サーバと上記検出要求に含まれる上記宛先クライアント識別子に対応するクライアントとの間の保存された通信時間Ｔ１および当該サーバと上記ソースクライアントとの間の通信時間Ｔ２を検索する工程と、当該サーバによって見出された通信時間Ｔ１およびＴ２の合計を算出する工程と、その算出結果を、上記ソースクライアントへ返される検出応答に含める工程とをさらに含み、
上記工程（Ｃ）は、上記ソースクライアントと上記宛先クライアントとの間の通信時間を得るために、上記ソースクライアントによって、受信した検出応答から上記算出結果を取得する工程をさらに含む、請求項１８に記載のネットワーク通信の状態を検出する方法。
【請求項２４】
上記サーバは、全てのクライアントの位置情報を予め保存し、当該サーバに保存された経路情報に従って、所定の間隔で、各クライアントへ上記検出要求を送信し、その検出要求に、上記検出要求を送信した時間であるシステム時間ｔ１を含め、上記クライアントからシステム時間ｔ１を含む検出応答を受信したとき、上記サーバは、上記検出応答を受信した時間であるシステム時間ｔ２を記録し、受信した検出応答から上記システム時間ｔ１を取得し、そして、上記サーバは、当該サーバと対応するクライアントとの間の通信時間を得るために、上記システム時間ｔ２と上記システム時間ｔ１との差分を算出するか、または、
上記サーバは、上記検出要求を送信した時間であるシステム時間ｔ１を保存し、当該システム時間ｔ１を含む、上記クライアントから返された検出応答を受信した後に、上記検出応答を受信した時間であるシステム時間ｔ２を記録し、上記検出応答から上記システム時間ｔ１を取得し、そして、上記サーバは、当該サーバと対応するクライアントとの間の通信時間を得るために、上記システム時間ｔ２と上記システム時間ｔ１との差分を算出する方法によって、当該サーバと各クライアントとの間の通信時間を取得する、請求項２２または２３に記載のネットワーク通信の状態を検出する方法。
【請求項２５】
サーバであって、
当該サーバと各クライアントとの間のネットワーク通信の状態を取得および保存し、
ソースクライアントから検出要求を受信し、当該サーバと対応する宛先クライアントとの間のネットワーク通信の状態を取得し、取得したネットワーク通信の状態に従って、検出応答を上記ソースクライアントへ返すように設計されたサーバ。
【請求項２６】
受信した検出要求に含まれる宛先クライアント識別子を取得し、当該宛先クライアント識別子に対応する、当該サーバに保存されたネットワーク通信の状態を検索するように設計された、請求項２５に記載のサーバ。
【請求項２７】
全てのクライアントの経路情報を予め保存し、所定の間隔で、当該サーバに保存された経路情報に従って、上記検出要求を各クライアントへ送信し、上記クライアントから返された検出応答に従って、上記サーバと対応するクライアントとの間のネットワーク通信の状態を取得するように設計された、請求項２５に記載のサーバ。
【請求項２８】
上記サーバと各クライアントとの間の通信時間を取得および保存し、当該サーバと、上記検出要求に含まれる上記宛先クライアント識別子に対応するクライアントとの間の、保存された通信時間Ｔ１および当該サーバと上記ソースクライアントとの間の通信時間Ｔ２を検索し、上記通信時間Ｔ１およびＴ２を、上記ソースクライアントへ返される検出応答へ含めるようにさらに設計されている、請求項２５に記載のサーバ。
【請求項２９】
上記サーバと各クライアントとの間の通信時間を取得および保存し、当該サーバと、上記検出要求に含まれる上記宛先クライアント識別子に対応するクライアントとの間の、保存された通信時間Ｔ１および当該サーバと上記ソースクライアントとの間の通信時間Ｔ２を検索し、上記通信時間Ｔ１およびＴ２の合計を算出し、その算出結果を、上記ソースクライアントへ返される検出応答に含めるようにさらに設計されている、請求項２５に記載のサーバ。
【請求項３０】
全てのクライアントの経路情報を予め保存し、当該サーバに保存された経路情報に従って、所定の間隔で、各クライアントへ上記検出要求を送信し、その検出要求に、当該検出要求を送信した時間であるシステム時間ｔ１を含め、上記クライアントから上記システム時間ｔ１を含む検出応答を受信したとき、上記検出応答を受信した時間であるシステム時間ｔ２を記録し、受信した検出応答から上記システム時間ｔ１を取得し、そして、当該サーバと対応するクライアントとの間の通信時間を得るために、上記システム時間ｔ２と上記システム時間ｔ１との差分を算出するか、または、
上記検出要求を送信した時間であるシステム時間ｔ１を記録し、当該システム時間ｔ１を含む、上記クライアントから返された検出応答を受信した後に、上記検出応答を受信した時間であるシステム時間ｔ２を記録し、上記検出応答から上記システム時間ｔ１を取得し、当該サーバと対応するクライアントとの間の通信時間を得るために、上記システム時間ｔ２と上記システム時間ｔ１との差分を算出するように設計されている、請求項２８または２９に記載のサーバ。
【発明の詳細な説明】
【発明の詳細な説明】
【０００１】
〔技術分野〕
本発明は、ネットワーク検出技術に関するものであり、特に、ネットワーク通信の状態を検出するサーバに関するものである。
【０００２】
〔背景技術〕
ゲームのユーザが、多数のプレーヤーが参加するオンラインゲームを行うとき、彼／彼女は、彼／彼女のクライアントと、他のプレーヤーのクライアントとの間のネットワーク通信の状態を知りたがることがよくある。例えば、オンラインゲームのユーザが、長い時間待っても、他のゲームプレーヤーから何の応答も得られないとき、彼／彼女は、普通、そのプレーヤーがまだオンラインしているのかどうか、もし、そのプレーヤーがオンラインしているのであれば、ゲームに関する決定処理を管理するために、彼／彼女のクライアントと、そのプレーヤーのクライアントとの間ネットワークの接続速度の情報を知りたいと思う。さらに、多数のプレーヤーが関与するオンラインの質疑応答では、いくつかのケースにおいて、試験官は、受験者の応答速度を知りたいと思う。そのようなケースでは、試験官は、通常、次の方法をとる。すなわち、試験官は、質問が受験者に送られた時間および受験者からの回答を受信した時間を記録し、これらの時間の差分を計算し、その計算結果から直接受験者の応答速度を測定する。しかし、受験者のネットワーク環境が複雑なため、受験者が質問に回答するための時間は、ネットワーク状態によって必然的に影響を受ける。例えば、ある観点において、受験者Ａのネットワーク速度が比較的低い場合、受験者Ａへ質問を送信するには長い時間がかかり、その結果、受験者Ａがその質問を受け取るまでに遅延が生じる。別の観点では、受験者Ａの端末から試験官へ回答を送信するために、受信に対応する長い時間がかかり、その結果、試験官がその回答を受け取るまでに遅延が生じる。上述した２つの遅延が合わさることにより、試験官によって計算される時間の差分が比較的大きくなる。それゆえ、試験官は、受験者Ａの応答速度が比較的遅いという結論を導くことになる。明らかに、もし、試験官が受験者のネットワーク状態を知らなければ、その試験官は、受験者の応答速度の正確な結果を得ることはできない。
【０００３】
上記の例から、ネットワーク通信の状態をリアルタイムで知ることが必要であり、重要であることが分かる。しかしながら、上述の問題のための対応する解決方法は、これまで利用できなかった。
【０００４】
〔発明の概要〕
上述の問題の観点から、本発明の目的は、サーバに接続されているクライアントが、自身と宛先クライアントとの間のネットワーク通信の状態を検出することを可能にするために、ネットワーク通信の状態を検出するための２つの方法およびサーバを提供することである。
【０００５】
本発明に従って、ネットワーク通信の状態を検出する方法が提供される。上記ネットワークは、サーバと当該サーバに接続された複数のクライアントとを少なくとも含んでいる。上記方法において、全てのクライアントの経路情報が予めサーバに保存される。ネットワーク通信の状態を検出する工程は、次の工程を含んでいる。
【０００６】
すなわち、（ａ）ソースクライアントによって、当該ソースクライアントと宛先クライアントとの間のネットワーク通信の状態を得るための検出要求を上記サーバに送信する工程と、
（ｂ）上記サーバが上記検出要求を受信した後に、当該サーバによって、当該サーバに保存された、上記宛先クライアントの経路情報に従って、上記検出要求を上記宛先クライアントに送信し、上記宛先クライアントが上記検出要求を受信した後、当該宛先クライアントによって、検出応答を上記サーバに返す工程と、
（ｃ）上記サーバが上記検出応答を受信した後、当該サーバによって、当該サーバに保存された上記ソースクライアントの経路情報に従って上記検出応答を上記ソースクライアントへ返す工程と、当該ソースクライアントによって、受信した検出応答に従って、上記ソースクライアントと上記宛先クライアントとの間のネットワーク通信の状態を得る工程とを含んでいる。
【０００７】
上記方法の工程（ａ）において、上記ソースクライアントは、宛先クライアント識別子を含む検出要求を上記サーバへ送信し、
上記工程（ｂ）は、上記サーバによって、受信した検出要求から当該検出要求に含まれる上記宛先クライアント識別子を取得する工程と、当該サーバに保存されたクライアントの経路情報の中から上記宛先クライアント識別子に対応する経路情報を検索する工程と、上記検出要求を上記宛先クライアントへ送信する処理を工程（ｂ）において実行する工程とをさらに含み、
上記工程（ｂ）において、上記宛先クライアントは、上記検出要求を上記サーバへ送信したソースクライアントの識別子を含む検出応答を上記サーバへ返し、
上記工程（ｃ）は、上記サーバによって、受信した検出応答に含まれるソースクライアント識別子を取得する工程と、当該サーバに保存された、クライアントの経路情報から上記ソースクライアント識別子に対応する位置情報を検索する工程と、上記検出応答を上記ソースクライアントへ返す処理を実行する工程とをさらに含んでいる。
【０００８】
上記方法の上記工程（ｂ）において、上記サーバが上記検出要求を上記宛先クライアントへ送信する処理は、上記サーバによって、受信した検出要求内の宛先クライアント識別子を、上記検出要求を送信したソースクライアントの識別子に置き換える工程と、新しい検出要求を生成する工程と、その検出要求を上記宛先クライアントへ送信する工程とを含み、上記宛先クライアントが上記検出応答を上記サーバへ返す処理は、上記宛先クライアントによって、受信した検出要求に含まれるソースクライアント識別子を取得する工程と、当該ソースクライアント識別子を含む検出応答を生成する工程と、当該検出応答を上記サーバへ返す工程とを含み、
上記工程（ｃ）において、上記サーバが上記検出応答を上記ソースクライアントへ返す処理は、上記サーバによって、受信した検出応答内のソースクライアント識別子を、その検出応答を送信した宛先クライアントの識別子に置き換える工程と、新しい検出応答を生成する工程と、その検出応答をソースクライアントへ送信する工程とを含み、
上記工程（ｃ）において、上記検出応答に従ってネットワーク通信の状態を取得する処理は、上記ソースクライアントによって、上記応答に含まれる宛先クライアント識別子を取得する工程と、上記ソースクライアントが上記サーバから返された検出応答を受信したときに、上記ソースクライアントと上記宛先クライアントとの間のネットワークは、まだ接続状態にあると決定する工程とを含んでいる。
【０００９】
上記方法の上記工程（ａ）において、上記検出要求は、さらにソースクライアント識別子を含み、
上記工程（ｂ）において、上記サーバが上記検出要求を上記宛先クライアントへ送信する処理は、上記サーバによって、上記ソースクライアントから受信した検出要求を上記宛先クライアントへ転送する工程を含み、上記宛先クライアントが上記検出応答を上記サーバへ返す処理は、上記宛先クライアントによって、受信した検出要求に含まれる、上記ソースクライアント識別子および上記宛先クライアント識別子を取得する工程と、上記ソースクライアント識別子および上記宛先クライアント識別子を含む検出応答を生成する工程と、当該検出応答を上記サーバへ返す工程とを含み、
上記工程（ｃ）において、上記サーバが検出応答を上記ソースクライアントへ返す処理は、上記サーバによって、上記宛先クライアントから受信した検出応答をソースクライアントへ転送する工程を含み、上記検出応答に従ってネットワーク通信の状態を得る処理は、上記ソースクライアントによって、上記検出応答に含まれる上記宛先クライアント識別子を取得する工程と、上記ソースクライアントが上記サーバから返された検出応答を受信したときに、上記ソースクライアントと上記宛先クライアントとの間のネットワークは、まだ接続状態にあると決定する工程とを含んでいる。
【００１０】
上記方法において、上記工程（ａ）は、上記ソースクライアントによって、上記検出要求が上記サーバに送信された時間であるシステム時間ｔ１を取得する工程をさらに含み、さらに、上記システム時間ｔ１を記録したタイムスタンプが上記検出要求に含まれており、
上記工程（ｂ）において、上記宛先クライアントが検出応答をサーバに返す処理は、上記宛先クライアントによって、受信した検出要求に含まれる上記タイムスタンプを取得する工程と、上記サーバへ送信される検出応答に上記タイムスタンプを含める工程とをさらに含み、
上記工程（ｃ）において、上記検出応答に従ってネットワーク通信の状態を得る処理は、さらに、上記ソースクライアントによって、上記検出応答が受信された時間であるシステム時間ｔ２を記録する工程と、受信された検出応答から上記タイムスタンプに記録されたシステム時間ｔ１を取得する工程と、上記ソースクライアントと対応する宛先クライアントとの間の通信時間を得るために、システム時間ｔ２とシステム時間ｔ１との差分を算出する工程とを含んでいる。
【００１１】
上記方法の上記工程（ａ）において、上記検出要求は、さらに、当該検出要求のシーケンスＩＤを含み、上記工程（ａ）は、さらに、上記ソースクライアントによって、上記検出要求が上記サーバに送信された時間であるシステム時間ｔ１を取得する工程と、上記検出要求のシーケンス識別子（シーケンスＩＤ）を、上記システム時間ｔ１と対応付けて保存する工程とを含み、
上記工程（ｂ）において、上記宛先クライアントが検出応答をサーバに返す工程は、さらに、上記宛先クライアントによって、受信された検出要求に含まれるシーケンスＩＤを取得する工程と、当該シーケンスＩＤを上記サーバへ送信する検出応答へ含める工程とを含み、
上記工程（ｃ）において、上記検出応答に従ってネットワーク通信の状態を得る処理は、さらに、上記サーバから返された検出応答を受信したときに、上記ソースクライアントによって、上記検出応答が受信された時間であるシステム時間ｔ２を記録する工程と、上記応答に含まれるシーケンスＩＤを取得する工程と、このシーケンスＩＤに対応した、当該ソースクライアントに保存されたシステム時間ｔ１を検索する工程と、上記ソースクライアントと対応する宛先クライアントとの間の通信時間を得るために、システム時間ｔ２とシステム時間ｔ１との差分を算出する工程とを含んでいる。
【００１２】
上記方法において、上記工程（ｂ）は、さらに、上記サーバが上記ソースクライアントから上記検出要求を受信したときに、上記サーバによって、受信応答を上記ソースクライアントに返す工程と、上記ソースクライアントによって、受信した受信応答に従って、当該ソースクライアントと上記サーバとの間のネットワーク通信の状態を取得する工程とを含んでいる。
【００１３】
上記方法の上記工程（ｂ）において、上記ソースクライアントが、受信した受信応答に従って、上記ソースクライアントと上記サーバとの間のネットワーク通信の状態を取得する処理は、上記ソースクライアントが上記サーバから返された受信応答を受信したときに、当該ソースクライアントによって、当該ソースクライアントと上記サーバとの間のネットワークは、接続状態にあると決定する工程を含んでいる。
【００１４】
上記方法において、上記工程（ａ）は、さらに、上記ソースクライアントによって、上記検出要求が上記サーバに送信された時間であるシステム時間ｔ１を取得する工程を含み、上記検出要求は、さらに上記システム時間ｔ１を記録したタイムスタンプを含み、
上記工程（ｂ）において、上記サーバが受信応答を上記ソースクライアントへ返す処理は、上記サーバによって、受信した検出要求に含まれるタイムスタンプを取得する工程と、当該タイムスタンプを含む受信応答を上記ソースクライアントへ返す工程とを含み、上記ソースクライアントが、上記受信応答に従ってネットワーク通信の状態を取得する処理は、上記ソースクライアントによって、受信応答が受信された時間であるシステム時間ｔ３を取得する工程と、受信した受信応答から上記タイムスタンプに記録されたシステム時間ｔ１を取得する工程と、上記ソースクライアントと上記サーバとの間の通信時間を得るために、システム時間ｔ３とシステム時間ｔ１との差分を算出する工程とを含んでいる。
【００１５】
上記方法において、上記工程（ａ）において、上記検出要求は、さらに、当該検出要求のシーケンスＩＤを含み、上記工程（ａ）は、さらに、上記ソースクライアントによって、上記検出要求が上記サーバに送信された時間であるシステム時間ｔ１を取得する工程と、上記検出要求のシーケンスＩＤを、上記システム時間ｔ１と対応付けて保存する工程とを含み、
上記工程（ｂ）は、さらに、上記ソースクライアントから上記検出要求を受信した後に、上記サーバによって、上記検出要求に含まれるシーケンスＩＤを取得する工程と、当該シーケンスＩＤを含む受信応答を上記ソースクライアントへ返す工程とを含み、
上記ソースクライアントが、受信応答に従ってネットワーク通信の状態を取得する処理は、上記ソースクライアントによって、上記受信応答が受信された時間であるシステム時間ｔ３を記録する工程と、受信した受信応答に含まれるシーケンスＩＤを取得する工程と、当該シーケンスＩＤに対応する、上記ソースクライアントに保存されたシステム時間ｔ１を検索する工程と、上記ソースクライアントと上記サーバとの間の通信時間を得るために、システム時間ｔ３とシステム時間ｔ１との差分を算出する工程とを含んでいる。
【００１６】
別の観点において、本発明はサーバを提供する。このサーバは、複数のクライアントと接続されている。上記サーバは、全てのクライアントの位置情報を保存するように設計されている。上記サーバは、ソースクライアントと宛先クライアントとの間のネットワーク通信の状態を得るための検出要求を上記ソースクライアントから受信し、当該サーバに保存された、上記宛先クライアントの経路情報に従って、検出要求を上記宛先クライアントに送信する。上記サーバは、さらに、上記宛先クライアントから返された検出応答を受信し、当該サーバに保存された、上記ソースクライアントの経路情報に従って検出応答を上記ソースクライアントへ返す。
【００１７】
上記サーバにおいて、上記検出要求は、宛先クライアント識別子を含み、上記検出応答は、ソースクライアント識別子を含んでいる。
【００１８】
上記サーバは、受信した検出要求に含まれる上記宛先クライアント識別子を取得し、当該サーバに保存されたクライアント経路情報の中から上記宛先クライアント識別子に対応する経路情報を検索する。さらに、上記サーバは、受信した検出応答に含まれるソースクライアント識別子を取得し、当該サーバに保存されたクライアント経路情報の中から上記ソースクライアント識別子に対応する経路情報を検索するように設計されている。
【００１９】
上記サーバにおいて、上記サーバは、受信した検出要求内の宛先クライアント識別子を、当該検出要求を送信したソースクライアントの識別子に置き換え、新しい検出要求を生成し、その検出要求を上記宛先クライアントへ送信する。さらに、上記サーバは、受信した検出応答内のソースクライアント識別子を、当該検出応答を送信した宛先クライアントの識別子に置き換え、新しい検出応答を生成し、その検出応答をソースクライアントへ送信するように設計されている。
【００２０】
上記サーバにおいて、上記検出要求は、さらに、上記ソースクライアント識別子を含み、上記検出応答は、さらに上記宛先クライアント識別子を含んでいる。
【００２１】
上記サーバは、上記ソースクライアントから受信した検出要求を上記宛先クライアントへ転送し、上記宛先クライアントから受信した検出応答を上記ソースクライアントへ転送するように設計されている。
【００２２】
上記サーバにおいて、上記サーバは、さらに、上記ソースクライアントから上記検出要求を受信したときに、上記ソースクライアントへ受信応答を返すように設計されている。
【００２３】
上記検出要求は、さらに、システム時間ｔ１を記録したタイムスタンプを含んでいる。
【００２４】
上記サーバは、受信した検出要求に含まれる上記タイムスタンプを取得し、当該タイムスタンプを含む受信応答を上記ソースクライアントへ返すように設計されている。
【００２５】
上記サーバにおいて、上記検出要求は、さらにシーケンスＩＤを含んでいる。
【００２６】
上記サーバは、上記ソースクライアントから上記検出要求を受信し、当該検出要求に含まれるシーケンスＩＤを取得し、当該シーケンスＩＤを含む受信応答を上記ソースクライアントへ返すように設計されている。
【００２７】
本発明は、ネットワーク通信の状態を検出するための、さらに別の方法を提供する。その方法において、上記ネットワークは、サーバと当該サーバに接続される複数のクライアントとを少なくとも含み、上記サーバは、当該サーバと各クライアントとの間のネットワーク通信の状態を取得および保存する。上記ネットワーク通信の状態を検出する工程は、次の工程を含んでいる。
【００２８】
すなわち、（Ａ）ソースクライアントによって、当該ソースクライアントと宛先クライアントとの間のネットワーク通信の状態を得るための検出要求を上記サーバに送信する工程と、
（Ｂ）上記検出要求を上記ソースクライアントから受信した後に、上記サーバによって、当該サーバと対応する宛先クライアントとの間のネットワーク通信の状態を取得する工程と、上記サーバによって、取得したネットワーク通信の状態に従って、検出応答を上記ソースクライアントへ返す工程と、
（Ｃ）上記ソースクライアントによって、受信した検出応答に従って、上記ソースクライアントと上記宛先クライアントとの間のネットワーク通信の状態を取得する工程とを含んでいる。
【００２９】
上記方法の上記工程（Ａ）において、上記ソースクライアントは、宛先クライアント識別子を含む検出要求を上記サーバへ送信する。
【００３０】
上記工程（Ｂ）において、上記サーバは、受信した検出要求に含まれる宛先クライアント識別子を取得し、当該宛先クライアント識別子に対応する、当該サーバに保存されたネットワーク通信の状態を検索することにより、当該サーバと宛先クライアントとの間のネットワーク通信の状態を取得する。
【００３１】
上記方法において、上記サーバは、全てのクライアントの経路情報を予め保存し、所定の間隔で、当該サーバに保存された経路情報に従って、上記検出要求を各クライアントへ送信し、上記クライアントから返された検出応答に従って、上記サーバと対応するクライアントとの間のネットワーク通信の状態を取得するという方法によって、当該サーバと各クライアントとの間のネットワーク通信の状態を取得する。
【００３２】
上記方法の上記工程（Ｂ）において、上記検出応答を上記ソースクライアントへ返す工程は、上記サーバによって、当該サーバと対応する宛先クライアントとの間のネットワーク通信の状態を含む検出応答を上記ソースクライアントへ直接返す工程を含んでいる。
【００３３】
上記工程（Ｃ）は、上記ソースクライアントが上記検出応答を受信し、当該応答に含まれるネットワーク通信の状態に従って、上記サーバと上記宛先クライアントとの間のネットワークが接続状態であると決定した後に、当該ソースクライアントによって、当該ソースクライアントと上記宛先クライアントとの間のネットワークが接続状態であると決定し、そうでなければ、当該ソースクライアントと上記宛先クライアントとの間のネットワークは非接続状態であると決定する工程を含んでいる。
【００３４】
上記方法において、上記サーバが、当該サーバと各クライアントとの間のネットワーク通信の状態を取得および保存する処理は、当該サーバによって、当該サーバと各クライアントとの間の通信時間を取得および保存する工程をさらに含んでいる。
【００３５】
上記工程（Ｂ）において、上記サーバがネットワーク通信の状態を取得する処理は、当該サーバによって、当該サーバと上記検出要求に含まれる上記宛先クライアント識別子に対応するクライアントとの間の保存された通信時間Ｔ１および当該サーバと上記ソースクライアントとの間の通信時間Ｔ２を検索する工程をさらに含み、上記検出応答を上記ソースクライアントへ返す処理は、上記通信時間Ｔ１およびＴ２を、上記ソースクライアントへ返される検出応答に含める工程をさらに含んでいる。
【００３６】
上記工程（Ｃ）は、上記ソースクライアントと上記宛先クライアントとの間の通信時間を得るために、上記ソースクライアントが上記検出応答を受信したときに、上記ソースクライアントによって、上記通信時間Ｔ１およびＴ２の合計を算出する工程をさらに含んでいる。
【００３７】
上記方法において、上記サーバが、当該サーバと各クライアントとの間のネットワーク通信の状態を取得および保存する処理は、当該サーバによって、当該サーバと各クライアントとの間の通信時間を取得および保存する工程をさらに含んでいる。
【００３８】
上記工程（Ｂ）において、上記サーバがネットワーク通信の状態を取得する処理は、当該サーバによって、当該サーバと上記検出要求に含まれる上記宛先クライアント識別子に対応するクライアントとの間の保存された通信時間Ｔ１および当該サーバと上記ソースクライアントとの間の通信時間Ｔ２を検索する工程と、当該サーバによって見出された通信時間Ｔ１およびＴ２の合計を算出する工程と、その算出結果を、上記ソースクライアントへ返される検出応答に含める工程とをさらに含んでいる。
【００３９】
上記工程（Ｃ）は、上記ソースクライアントと上記宛先クライアントとの間の通信時間を得るために、上記ソースクライアントによって、受信した検出応答から上記算出結果を取得する工程をさらに含んでいる。
【００４０】
上記方法において、上記サーバは、全てのクライアントの経路情報を予め保存し、当該サーバに保存された経路情報に従って、所定の間隔で、各クライアントへ上記検出要求を送信し、その検出要求に、上記検出要求を送信した時間であるシステム時間ｔ１を含め、上記クライアントからシステム時間ｔ１を含む検出応答を受信したとき、上記サーバは、上記検出応答を受信した時間であるシステム時間ｔ２を記録し、受信した検出応答から上記システム時間ｔ１を取得し、そして、上記サーバは、当該サーバと対応するクライアントとの間の通信時間を得るために、上記システム時間ｔ２と上記システム時間ｔ１との差分を算出する。
【００４１】
または、上記サーバは、上記検出要求を送信した時間であるシステム時間ｔ１を保存し、当該システム時間ｔ１を含む、上記クライアントから返された検出応答を受信した後に、上記検出応答を受信した時間であるシステム時間ｔ２を記録し、上記検出応答から上記システム時間ｔ１を取得し、そして、上記サーバは、当該サーバと対応するクライアントとの間の通信時間を得るために、上記システム時間ｔ２と上記システム時間ｔ１との差分を算出する方法によって、当該サーバと各クライアントとの間の通信時間を取得する。
【００４２】
別の観点において、本発明は、サーバを提供する。このサーバは、当該サーバと各クライアントとの間のネットワーク通信の状態を取得および保存し、ソースクライアントから検出要求を受信し、当該サーバと対応する宛先クライアントとの間のネットワーク通信の状態を取得し、取得したネットワーク通信の状態に従って、検出応答を上記ソースクライアントへ返すように設計されている。
【００４３】
上記サーバにおいて、当該サーバは、受信した検出要求に含まれる宛先クライアント識別子を取得し、当該宛先クライアント識別子に対応する、当該サーバに保存されたネットワーク通信の状態を検索するように設計されている。
【００４４】
上記サーバにおいて、当該サーバは、全てのクライアントの経路情報を予め保存し、所定の間隔で、当該サーバに保存された経路情報に従って、上記検出要求を各クライアントへ送信し、上記クライアントから返された検出応答に従って、上記サーバと対応するクライアントとの間のネットワーク通信の状態を取得するように設計されている。
【００４５】
上記サーバにおいて、当該サーバは、当該サーバと各クライアントとの間の通信時間を取得および保存し、当該サーバと、上記検出要求に含まれる上記宛先クライアント識別子に対応するクライアントとの間の、保存された通信時間Ｔ１および当該サーバと上記ソースクライアントとの間の通信時間Ｔ２を検索し、上記通信時間Ｔ１およびＴ２を、上記ソースクライアントへ返される検出応答へ含めるようにさらに設計されている。
【００４６】
上記サーバにおいて、当該サーバは、当該サーバと各クライアントとの間の通信時間を取得および保存し、当該サーバと、上記検出要求に含まれる上記宛先クライアント識別子に対応するクライアントとの間の、保存された通信時間Ｔ１および当該サーバと上記ソースクライアントとの間の通信時間Ｔ２を検索し、上記通信時間Ｔ１およびＴ２の合計を算出し、その算出結果を、上記ソースクライアントへ返される検出応答に含めるようにさらに設計されている。
【００４７】
上記サーバにおいて、当該サーバは、全てのクライアントの経路情報を予め保存し、当該サーバに保存された経路情報に従って、所定の間隔で、各クライアントへ上記検出要求を送信し、その検出要求に、当該検出要求を送信した時間であるシステム時間ｔ１を含め、上記クライアントから上記システム時間ｔ１を含む検出応答を受信したとき、上記検出応答を受信した時間であるシステム時間ｔ２を記録し、受信した検出応答から上記システム時間ｔ１を取得し、そして、当該サーバと対応するクライアントとの間の通信時間を得るために、上記システム時間ｔ２と上記システム時間ｔ１との差分を算出する。
【００４８】
または、上記サーバは、上記検出要求を送信した時間であるシステム時間ｔ１を記録し、当該システム時間ｔ１を含む、上記クライアントから返された検出応答を受信した後に、上記検出応答を受信した時間であるシステム時間ｔ２を記録し、上記検出応答から上記システム時間ｔ１を取得し、そして、当該サーバと対応するクライアントとの間の通信時間を得るために、上記システム時間ｔ２と上記システム時間ｔ１との差分を算出するように設計されている。
【００４９】
結論として、サーバと当該サーバに接続された複数のクライアントとを含むネットワーク構造に基づけば、本発明は、ネットワーク通信の状態を検出するための２つの方法を提供する。ひとつ目の方法は、サーバが、予め全てのクライアントの経路情報を保存し、ソースクライアントから検出要求を受信したときに、宛先クライアントへ検出要求を送信する方法である。上記宛先クライアントから検出応答を受信したとき、サーバは、検出応答を上記ソースクライアントへ返す。そして、ソースクライアントは、受信した検出応答に従って、当該ソースクライアントと上記宛先クライアントとの間のネットワーク通信の状態を得る。このようにして、ソースクライアントが、当該ソースクライアントと宛先クライアントとの間のネットワーク通信の状態を検出することを可能にするという目的が達成される。
【００５０】
上記検出方法において、サーバは、ソースクライアントから検出要求を受信した後に、宛先クライアントと連絡をとる。そのゆえ、上述の方法は、ネットワーク通信の状態を得るための受動的な方法である。または、本発明は、ネットワーク通信の状態を得るための先を見越した方法を採用することもできる。すなわち、ネットワーク通信の状態を検出するための別の方法において、サーバは、当該サーバと各クライアントとの間のネットワーク通信の状態を取得および保存するために、前もって宛先クライアントと能動的に連絡をとる。検出要求を上記ソースクライアントから受信したとき、サーバは、サーバに保存された、当該サーバと宛先クライアントとの間のネットワーク通信の状態に従って、検出応答を上記ソースクライアントへ直接返す。このようにして、ソースクライアントが、当該ソースクライアントと宛先クライアントとの間のネットワーク通信の状態を検出することを可能にするという目的が達成される。
【００５１】
さらに、上述の２つの方法に基づけば、本発明は、ソースクライアントが、当該ソースクライアントと上記宛先クライアントとの間のネットワークが接続状態にあるかどうかを検出することを可能にするための処理だけでなく、通信時間を検出する処理およびソースクライアントが当該ソースクライアントとサーバとの間のネットワーク通信の状態を検出するための処理を提供する。それゆえ、本発明は、検出できるネットワーク通信の状態の内容をさらに増やすことができ、実際に、ネットワーク通信の状態を検出するという目的を達成できる。
【００５２】
〔図面の簡単な説明〕
図１は、本発明における方法を適用したネットワーク構造の概略図である。
【００５３】
図２は、本発明の第１の実施形態に係る、ネットワーク通信の状態を検出する方法のフローチャートである。
【００５４】
図３は、本発明の第２の実施形態に係る、ネットワーク通信の状態を検出する方法のフローチャートである。
【００５５】
図４は、本発明の第３の実施形態に係る、ネットワーク通信の状態を検出する方法のフローチャートである。
【００５６】
図５は、本発明の第４の実施形態に係る、ネットワーク通信の状態を検出する方法のフローチャートである。
【００５７】
図６は、本発明の第５の実施形態に係る、ネットワーク通信の状態を検出する方法のフローチャートである。
【００５８】
〔実施形態の詳細な説明〕
本発明の目的、技術的な仕組みおよび利点をより明らかにするために、添付の図面を参照しつつ、本発明をより詳細に説明する。
【００５９】
本発明は、ネットワーク通信の状態を検出するための２つの方法を提供する。それらの方法は、図１に示すネットワーク構造に適用できる。すなわち、当該ネットワークは、少なくとも１つのサーバと当該サーバに接続される複数のクライアントとを含んでいる。本発明の方法に従って検出されるネットワーク通信の状態は、接続／非接続状態、または、もし上記ネットワークが接続状態であれば、接続時間を含んでいる。
【００６０】
本発明における、ネットワーク通信の状態を検出する方法は、以下のようなものである。すなわち、サーバは、事前に、全てのクライアントの経路情報を保存する。ソースクライアントと宛先クライアントとの間のネットワーク通信の状態を得るために当該ソースクライアントから送信された検出要求（ネット検出要求）を受け取ると、サーバは、当該サーバに保存された、宛先クライアントの経路情報を取得し、ソースクライアントの情報を含む検出要求を、上記経路情報に従って宛先クライアントに送信する。その検出要求を受け取ると、宛先クライアントは、ソースクライアントの情報を含む検出応答（ネット検出応答）をサーバに返す。その検出応答を受け取ると、サーバは、当該サーバに保存されたソースクライアントの経路情報を取得し、当該経路情報に従って検出応答をソースクライアントへ返す。ソースクライアントは、受信した検出応答に従って、ソースクライアントと宛先クライアントとの間のネットワーク通信の状態を得る。サーバは、ソースクライアントから検出要求を受信した後に宛先クライアントと情報交換するため、上記処理は、ネットワーク通信の状態を検出するための受動的な方法であるということが分かる。
【００６１】
さらに、上記処理に基づけば、本発明は、さらに、複数のクライアントと接続され、全てのクライアントの経路情報を保存するように設計されたサーバを提供する。当該サーバは、ソースクライアントと宛先クライアントとの間のネットワーク通信の状態を得るための、ソースクライアントからの検出要求を受信し、検出要求を、当該サーバに保存された、宛先クライアントの経路情報に従って宛先クライアントに送信する。さらに、当該サーバは、宛先クライアントから返された検出応答を受信し、当該サーバに保存された、ソースクライアントの経路情報に従って、検出応答をソースクライアントへ返す。
【００６２】
もし、上記検出要求が宛先クライアント識別子を含み、上記検出応答がソースクライアント識別子を含む場合、サーバは、受信した検出要求に含まれる宛先クライアント識別子を取得し、当該サーバに保存されたクライアント経路情報の中から上記宛先クライアント識別子に対応する経路情報を検索する。そして、また、サーバは、受信した、検出応答に含まれるソースクライアント識別子を取得し、当該サーバに保存されたクライアント経路情報の中から上記ソースクライアント識別子に対応する経路情報を検索する。
【００６３】
さらに、サーバは、受信した検出要求内の宛先クライアント識別子を、検出要求を送信したソースクライアントの識別子に置き換え、新しい検出要求を生成し、その検出要求を宛先クライアントへ送信するとともに、受信した検出応答内のソースクライアント識別子を、その検出応答を送信した宛先クライアントの識別子に置き換え、新しい検出応答を生成し、その検出応答をソースクライアントへ送信するように設計されてもよい。
【００６４】
さらに、上記検出要求は、さらにソースクライアント識別子を含み、検出応答は、さらに宛先クライアント識別子を含んでいてもよい。この場合、サーバは、ソースクライアントから受信した検出要求を宛先クライアントへ転送し、宛先クライアントから受信した検出応答をソースクライアントへ転送する。
【００６５】
さらに、サーバは、ソースクライアントから検出要求を受信した後に、受信応答を、ソースクライアントへ返してもよい。
【００６６】
通信時間がネットワーク通信の状態に含まれている場合には、上記検出要求は、さらに、システム時間ｔ１を記録したタイムスタンプを含む。そして、サーバは、受信した検出要求に含まれるタイムスタンプを取得し、当該タイムスタンプを含む応答をソースクライアントへ返す。
【００６７】
さらに、上記検出要求は、さらにシーケンスＩＤを含んでもよい。この場合、サーバは、検出要求をソースクライアントから受信し、その検出要求に含まれるシーケンスＩＤを取得し、当該シーケンスＩＤを含む受信応答をソースクライアントへ返すように設計される。
【００６８】
本発明の一実施形態に係るネットワーク通信の状態を検出する方法および対応するサーバについては上述した。次に、本発明の別の実施形態に係るネットワーク通信の状態を検出する方法およびサーバについて説明する。
【００６９】
本発明において提供される、ネットワーク通信の状態を検出するための他の方法は、以下のものである。すなわち、サーバは、当該サーバと各クライアントとの間のネットワーク通信の状態に関する情報を取得し、保存する。ソースクライアントと宛先クライアントとの間のネットワーク通信の状態を得るための、ソースクライアントからの検出要求を受信すると、サーバは、当該サーバに保存された、当該サーバと対応する宛先クライアントとの間のネットワーク通信の状態に関する情報を取得し、対応するネットワーク通信の状態に関する情報に従って、検出応答をソースクライアントへ返す。ソースクライアントは、受信した検出応答に従って、当該ソースクライアントと宛先クライアントとの間のネットワーク通信の状態を得る。上記工程から、サーバが、ソースクライアントからの検出要求を受信する前に、当該サーバと宛先クライアントとの間のネットワーク通信の状態を能動的に取得することが分かる。
【００７０】
本発明の別の実施形態において、サーバは、当該サーバと各クライアントとの間のネットワーク通信の状態に関する情報を取得し、保存するように設計されている。そして、サーバは、ソースクライアントからの検出要求を受信し、当該サーバに保存された、当該サーバと対応する宛先クライアントとの間のネットワーク通信の状態に関する情報を取得し、取得したネットワーク通信の状態に関する情報に従って、検出応答をソースクライアントへ返す。
【００７１】
上記サーバの詳細については後述する。
【００７２】
本発明の好ましい実施形態において、上記サーバは、受信した検出要求に含まれる宛先クライアント識別子を取得し、当該サーバに保存された宛先クライアント識別子に対応するネットワーク通信の状態を検索するように設計されている。
【００７３】
別の好ましい実施形態において、上記サーバは、全てのクライアントの経路情報を予め保存し、当該サーバに保存された経路情報に従って、所定の間隔で、検出要求を各クライアントへ送信し、クライアントから返された検出応答に従って、当該サーバと対応する宛先クライアントとの間のネットワーク通信の状態を取得するように設計されている。
【００７４】
別の好ましい実施形態において、上記サーバは、さらに、当該サーバと各クライアントとの間の通信時間を取得して、保存し、当該サーバと検出要求に含まれる宛先クライアント識別子に対応する宛先クライアントとの間の、保存された通信時間Ｔ１、および当該サーバとソースクライアントとの間の通信時間Ｔ２を検索するように設計されている。そして、サーバは、通信時間Ｔ１およびＴ２をソースクライアントへ返される検出応答に含めるように設計されている。
【００７５】
さらに別の好ましい実施形態において、上記サーバは、さらに、当該サーバと各クライアントとの間の通信時間を取得して、保存し、当該サーバと検出要求に含まれる宛先クライアント識別子に対応する宛先クライアントとの間の、保存された通信時間Ｔ１、および当該サーバとソースクライアントとの間の通信時間Ｔ２を検索するように設計されている。そして、サーバは、当該サーバによって見出された通信時間Ｔ１およびＴ２の合計を計算し、その計算結果をソースクライアントへ返される検出応答に含めるように設計されている。
【００７６】
さらに、上記サーバは、全てのクライアントの経路情報を予め保存し、当該サーバに保存された経路情報に従って、所定の間隔で、検出要求を各クライアントへ送信し、検出要求が送信された時間であるシステム時間ｔ１を検出要求に含めるように設計されている。システム時間ｔ１を含む検出応答をクライアントから受信すると、サーバは、検出応答が受信された時間であるシステム時間ｔ２を記録し、受信した検出応答からシステム時間ｔ１を取得する。そして、サーバは、当該サーバと対応するクライアントとの間の通信時間を得るために、システム時間ｔ２とシステム時間ｔ１との間の差分を算出する。
【００７７】
または、上記サーバは、検出要求が送信された時間であるシステム時間ｔ１を保存し、クライアントから返された、システム時間ｔ１を含む検出応答を受信した後に、検出応答が受信された時間であるシステム時間ｔ２を記録するように設計されている。そして、サーバは、受信した検出応答からシステム時間ｔ１を取得し、当該サーバと対応するクライアントとの間の通信時間を得るために、システム時間ｔ２とシステム時間ｔ１との間の差分を算出するように設計されている。
【００７８】
本発明に係るネットワーク通信の状態を検出するための第１の方法（すなわち、ネットワーク通信の状態を検出するための受動的な方法）は、実施形態１〜４において詳細に記述されている。実施形態１〜４において、サーバは、クライアントの経路情報を予め保存している。経路情報は、主に、インターネットプロトコル（ＩＰ）アドレスのような、クライアントの通信アドレスを含んでいる。次に、４つの実施形態におけるネットワーク通信の状態を検出するための工程についてそれぞれ詳細に説明する。
【００７９】
実施形態１：この実施形態において、メッセージを送信するために次の方法が採られる。すなわち、ソースクライアントは、宛先クライアント識別子（宛先ユーザ識別子）を含む検出要求を送信する。そして、ソースクライアントが、当該ソースクライアントと宛先クライアントとの間のネットワーク接続の状態を最終的に得られるように、サーバは、受信した検出要求に含まれる宛先クライアント識別子を、ソースクライアント識別子（ソースユーザ識別子）に置き換える。本実施形態の検出工程は、図２に示されており、次の工程を含んでいる。
【００８０】
工程２０１：ソースクライアントは、宛先クライアント識別子を含む検出要求をサーバへ送信する。
【００８１】
上記クライアント識別子は、クライアント（例えば、User１またはUser２）のための固有の識別子である。
【００８２】
工程２０２：検出要求を受信した後、サーバは、宛先クライアント識別子User２を当該検出要求から取得し、その宛先クライアント識別子User２に対応する、当該サーバに保存された経路情報を検索する。そして、サーバは、オリジナルの検出要求に含まれる宛先クライアント識別子User２を、検出要求を送信したソースクライアントのソースクライアント識別子User１に置き換え、ソースクライアント識別子User１を含む新しい検出要求を生成し、その検出要求を宛先クライアントへ送信する。
【００８３】
工程２０３：上記検出要求を受信した後、宛先クライアントは、検出要求に含まれるソースクライアント識別子User１を取得し、そのソースクライアント識別子User１を含む検出応答を生成し、その検出応答をサーバへ送信する。
【００８４】
工程２０４：上記検出応答を受信した後、サーバは、上記要求に含まれるソースクライアント識別子User１に従って、当該サーバに保存された、ソースクライアントの経路情報を取得し、受信した検出応答内のソースクライアント識別子User1を、上記検出応答を送信した宛先クライアントの宛先クライアント識別子User２に置き換える。そして、サーバは、宛先クライアント識別子User２を含む新しい検出応答を生成し、取得した経路情報に従って、その検出応答をソースクライアントへ返す。
【００８５】
工程２０５：上記検出応答を受信した後、ソースクライアントは、その検出応答から宛先クライアント識別子User２を取得し、ソースクライアントと宛先クライアントとの間のネットワーク通信の状態を得る。
【００８６】
ソースクライアントが、当該ソースクライアントと対応する宛先クライアントとの間のネットワーク通信の状態を得る場合には、サーバから返された検出応答を受信した後、ソースクライアントは、当該応答に含まれる宛先クライアント識別子を取得し、ソースクライアントと宛先クライアントとの間のネットワークは接続状態であると決定する。
【００８７】
上記実施形態において、サーバは、受信した検出要求に含まれるクライアント識別子を変換しており、これにより検出要求および検出応答をソースクライアントと宛先クライアントとの間で伝送できる。このようにして、ソースクライアントが、当該ソースクライアントと宛先クライアントとの間のネットワーク通信の状態を得られるようにするという目的が達成される。本発明において、ソースクライアントが、送信する検出要求に自身の識別子と宛先クライアントの識別子との両方を含めるという方法が採られてもよい。その場合、サーバによって行われる、メッセージに含まれるクライアント識別子の変換は、省略される。この方法については、実施形態２において詳細に説明する。
【００８８】
実施形態２：本実施形態の検出工程は、図３に示されており、次の工程を含んでいる。
【００８９】
工程３０１：ソースクライアントは、自身の識別子User1および宛先クライアント識別子User２を含む検出要求をサーバへ送信する。
【００９０】
工程３０２：上記検出要求を受信した後、サーバは、その検出要求から宛先クライアント識別子User２を取得するために、その検出要求を解析し、当該サーバに保存されたクライアント経路情報から宛先クライアント識別子User２に対応する経路情報を検索する。そして、サーバは、取得した経路情報に従って、受信した検出要求を宛先クライアントへ送信する。
【００９１】
工程３０３：上記検出要求を受信した後、宛先クライアントは、その検出要求からソースクライアント識別子User１および宛先クライアント識別子User２を取得するために、当該検出要求を解析する。そして、宛先クライアントは、ソースクライアント識別子User１および宛先クライアント識別子User２を含む検出応答を生成し、その検出応答をサーバへ送信する。
【００９２】
工程３０４：サーバは、上記検出応答からソースクライアント識別子User１を取得するために、受信した検出応答を解析し、当該サーバに保存されたクライアント経路情報から、ソースクライアント識別子User１に対応する経路情報を検索する。最後に、サーバは、取得した経路情報に従って、受信した検出応答をソースクライアントへ返す。
【００９３】
工程３０５：上記検出応答を受信した後、ソースクライアントは、その検出応答から宛先クライアント識別子User２を取得し、当該ソースクライアントと宛先クライアントとの間のネットワーク通信の状態を得る。すなわち、ソースクライアントは、当該ソースクライアントと対応する宛先クライアントとの間のネットワークは、接続状態にあると決定する。
【００９４】
ネットワーク通信の状態（すなわち、クライアントと相対するクライアントとの間のネットワークが接続されているかどうか）を検出するための２つの方法が、上述の２つの実施形態においてそれぞれ説明された。加えて、本発明は、さらに、ソースクライアントと宛先クライアントとの間の通信時間を検出することができる。その２つの方法を、実施形態３および実施形態４において詳細に説明する。
【００９５】
実施形態３：本実施形態において、ソースクライアントは、送信される検出要求に、当該検出要求が送信された時間であるシステム時間を含める。宛先クライアントは、このシステム時間を、受信した検出要求から検出応答へ移し換え、その検出応答をソースクライアントへ返す。これにより、ソースクライアントは、検出応答を受信した時間であるシステム時間と、検出応答に含まれる、検出要求が送信された時間であるシステム時間との差分を算出することができる。それによって、ソースクライアントは、当該ソースクライアントと宛先クライアントとの間の通信時間を得ることができる。本実施形態の検出工程は、図４に示されており、次の工程を含んでいる。
【００９６】
工程４０１：まず、ソースクライアントは、自身の現在のシステム時間（例えば、ｔ１）を取得する。そして、ソースクライアントは、ソースクライアント識別子User１、宛先クライアント識別子User２、およびシステム時間ｔ１を記録したタイムスタンプを含む検出要求を生成し、その検出要求をサーバへ送信する。
【００９７】
工程４０２は、上述の工程３０２と同様のものであるため、ここではさらに説明しない。
【００９８】
工程４０３：上記検出要求を受信した後、宛先クライアントは、ソースクライアント識別子User１、宛先クライアント識別子User２およびタイムスタンプを当該検出要求から取得し、その検出要求を解析することによって得られた、ソースクライアント識別子User１、宛先クライアント識別子User２およびタイムスタンプを含む検出応答を生成し、最後に、その検出応答をサーバに返す。
【００９９】
工程４０４は、上述の工程３０４と同様のものである。
【０１００】
工程４０５：上記検出応答を受信したとき、ソースクライアントは、その検出応答を受信した時間であるシステム時間ｔ２を取得し、受信した検出応答に含まれるタイムスタンプを取得する。そして、ソースクライアントは、システム時間ｔ２と、タイムスタンプに記録されたシステム時間ｔ１との差分を算出する。そして、ソースクライアントは、ソースクライアントと宛先クライアントとの間の通信時間を得る。
【０１０１】
上述の実施形態３において、検出応答が受信された時間であるシステム時間と、検出要求が送信された時間であるシステム時間との差分を算出することにより、ソースクライアントによって、当該ソースクライアントと宛先クライアントとの間の通信時間を得るという目的が達せられる。または、上述の時間差分は、本実施形態において、別の方法により得ることができる。すなわち、ソースクライアントは、検出要求を送信した時間であるシステム時間および対応する検出応答を受信した時間であるシステム時間を記録し、上記２つの時間の差分を算出し、ソースクライアントと宛先クライアントとの間の通信時間を得る。この方法を、本発明の実施形態４において詳細に説明する。
【０１０２】
実施形態４：本実施形態における検出工程は、図５に示されており、次の工程を含んでいる。
【０１０３】
工程５０１：ソースクライアントは、ソースクライアント識別子User１、宛先クライアント識別子User２、および検出要求を唯一に同定するシーケンス識別子（シーケンスＩＤ）を含む検出要求をサーバへ送信し、当該ソースクライアントにおいて、上記シーケンスＩＤ、および上記検出要求を送信した時間であるシステム時間ｔ１を保存し、当該シーケンスＩＤとシステム時間ｔ１とを互いに対応付ける。
【０１０４】
本実施形態においてソースクライアントは、検出要求と受信した検出応答とをマッチさせる必要があるため、ソースクライアントは、検出要求にさらにシーケンス識別子を含める必要がある。
【０１０５】
工程５０２は、上述の工程３０２と同様のものであるため、ここではさらに説明しない。
【０１０６】
工程５０３：サーバから上記検出要求を受信した後、宛先クライアントは、その検出要求を解析することにより、ソースクライアント識別子User１、宛先クライアント識別子User２およびシーケンスＩＤを取得し、当該ソースクライアント識別子User１、宛先クライアント識別子User２およびシーケンスＩＤを含む検出応答を生成し、最後にその検出応答をサーバへ送信する。
【０１０７】
工程５０４は、上述の工程３０４と同様のものであるため、ここではさらに説明しない。
【０１０８】
工程５０５：サーバから返された検出応答を受信したとき、ソースクライアントは、その検出応答を受信した時間であるシステム時間ｔ２を記録し、受信した検出応答に含まれるシーケンスＩＤを取得する。その次に、ソースクライアントは、上記シーケンスＩＤに対応するシステム時間ｔ１を検索する。そして、最後にソースクライアントは、上記検出応答を受信した時間であるシステム時間ｔ２と上記検出要求を送信した時間であるシステム時間ｔ１との差分を算出する。その算出結果が、ソースクライアントと宛先クライアントとの間の通信時間である。
【０１０９】
本実施形態において、シーケンスＩＤを検出要求に含め、そのシーケンスＩＤをソースクライアントに保存する方法が採られており、ソースクライアントにおいて検出要求メッセージを検出応答メッセージにマッチさせることができる。しかし、本発明は、これに限定されず、メッセージのマッチングを行うために別の方法を採ることもできる。
【０１１０】
上述の実施形態３および実施形態４においては、実施形態２において説明したように、通信時間は、検出要求に含まれるソースクライアント識別子と宛先クライアント識別子との両方に基づいて得られる。本発明では、検出要求が送信された時間であるシステム時間ｔ１および検出応答が受信された時間であるシステム時間ｔ２は、実施形態１に記載したように、宛先クライアント識別子のみを検出要求に含めることによって得ることもできる。そして、上記時間差分を算出するために、実施形態３または実施形態４に記載した方法が採られてもよい。それゆえ、ソースクライアントと宛先クライアントとの間の通信時間が最終的に得られる。その実行方法は、実施形態３または実施形態４に記載した工程と基本的に同様のものであるため、ここではさらに説明しない。
【０１１１】
ソースクライアントがネットワーク接続の状態を検出し、当該ソースクライアントと宛先クライアントとの間の通信時間を得ることを可能にするための、本発明のいくつかの好ましい実施形態について上述した。さらに、上述したソースクライアントと宛先クライアントとの間のネットワーク通信の状態の検出に基づいて、本発明は、ソースクライアントとサーバとの間のネットワーク接続の状態および通信時間をさらに検出するように設計されてもよい。ソースクライアントとサーバとの間のネットワーク接続の状態を得るための方法を、上述の実施形態２において説明したように、ソースクライアント識別子と宛先クライアント識別子との両方が検出要求に含まれる場合について説明する。また、ソースクライアントとサーバとの間の通信時間を検出する方法を、実施形態３に基づいて説明する。
【０１１２】
まず、ソースクライアントとサーバとの間のネットワーク接続の状態は、下記のように得られる。
【０１１３】
この場合、前述の工程３０２は、さらに次の工程を含むことが求められる。すなわち、ソースクライアントから検出要求を受信した後、サーバは、受信応答を当該ソースクライアントへ返す。そして、ソースクライアントは、上記受信応答に従って当該ソースクライアントとサーバとの間のネットワーク接続の状態を得る。
【０１１４】
ソースクライアントが、受信応答に従って当該ソースクライアントとサーバとの間のネットワーク接続の状態を得ることは、下記のように実行される。すなわち、ソースクライアントは、当該ソースクライアントとサーバとの間のネットワークは接続状態であるかどうかを、受信応答を当該サーバから受信したかどうかに基づいて決定する。すなわち、もし、受信応答がサーバから返って来た場合、ソースクライアントは、当該ソースクライアントとサーバとの間のネットワークは接続状態にあると決定する。もし、受信応答がサーバから返って来なかった場合、ソースクライアントは、当該ソースクライアントとサーバとの間のネットワークは、非接続状態にあると決定する。
【０１１５】
ソースクライアントとサーバとの間のネットワーク接続の状態を得るための方法は、他の実施形態にも適用できるが、その方法について、ここではさらに説明しない。
【０１１６】
ソースクライアントとサーバとの間の通信時間を検出するための方法について、実施形態３に基づいて説明する。
【０１１７】
上記方法において、前述の工程４０２は、さらに次の工程を含む。すなわち、ソースクライアントから検出要求を受信した後に、サーバは、ソースクライアント識別子User１、宛先クライアント識別子User２およびタイムスタンプを上記検出要求から取得するために、当該検出要求を解析する。そして、サーバは、上記ソースクライアント識別子User１、宛先クライアント識別子User２およびタイムスタンプを含む受信応答を生成し、その受信応答をソースクライアントへ送信する。その受信応答を受信したとき、ソースクライアントは、当該受信応答を受信した時間であるシステム時間ｔ３を記録し、受信した検出応答からシーケンスＩＤを取得し、そのシーケンスＩＤに対応する、保存されたシステム時間ｔ１を検索する。最後に、ソースクライアントは、受信応答を受信した時間であるシステム時間ｔ３と、検出要求が送信された時間であるシステム時間ｔ１との差分を算出する。得られた算出結果が、ソースクライアントとサーバとの間の通信時間である。
【０１１８】
もちろん、本発明において、ソースクライアントとサーバとの間の通信時間は、実施形態４に記載された方法を用いても得ることができる。
【０１１９】
具体的には、次の工程が、さらに前述の実施形態４の工程５０２に含まれる。すなわち、ソースクライアントから検出要求を受信したとき、サーバは、その検出要求からシーケンスＩＤを取得するために当該検出要求を解析する。そして、サーバは、上記シーケンスＩＤを含む受信応答を生成し、その受信応答をソースクライアントへ送信する。ソースクライアントは、上記受信応答を受信した時間である自身のシステム時間ｔ３を記録し、上記受信応答からシーケンスＩＤを取得し、そのシーケンスＩＤに対応する、保存されたシステム時間ｔ１を検索する。そして、ソースクライアントは、ソースクライアントとサーバとの間の通信時間を得るために、受信応答を受信した時間であるシステム時間ｔ３と、検出要求が送信された時間であるシステム時間ｔ１との差分を算出する。
【０１２０】
ソースクライアントからサーバへの通信時間を得るための上述の２つの方法は、別の実施形態にも適用できる。その工程は、基本的に同じものであるため、ここではさらに説明しない。
【０１２１】
本発明に係るネットワーク通信の状態を検出する方法について、上述のように実施形態１〜４において説明した。本発明に係るネットワーク通信の状態を検出するための別の方法について詳しく説明する。実施形態５をご覧戴きたい。
【０１２２】
実施形態５：本実施形態では、上述したように、全てのクライアントの経路情報を予めサーバに保存しておく必要がある。本実施形態における、ネットワーク通信の状態を検出するための処理は、図６に示されており、次の工程を含んでいる。
【０１２３】
工程６０１：サーバは、予め検出要求を、所定の間隔で、当該サーバに保存された、クライアントの経路情報に従って、各宛先クライアントへ送信する。
【０１２４】
この工程において、サーバは、当該サーバとネットワーク上の全てのクライアントとの間のネットワーク通信の状態に関する情報を得る必要がある。それゆえ、ひとつの観点では、サーバにとっては、ネットワーク上の全てのクライアントが宛先クライアントである。別の観点において、前述の実施形態との整合性を保つために、サーバが予め検出要求を送信するクライアントを「宛先クライアント」と称する。
【０１２５】
工程６０２：サーバから検出要求を受信した後、宛先クライアントは、検出応答を当該サーバへ返す。
【０１２６】
工程６０３：サーバは、受信した検出応答に従って、当該サーバと宛先クライアントとの間のネットワーク通信の状態に関する情報を取得し、保存する。
【０１２７】
サーバが、当該サーバと各クライアントとの間のネットワーク通信の状態を得る工程は、上述の工程６０１〜６０３に記載されている。そして、上述の工程において、サーバは、検出要求を各クライアントへ送信し、クライアントから返された検出応答に従って、当該サーバと対応するクライアントとの間のネットワーク通信の状態を得る。または、次の方法を本発明において用いることもできる。すなわち、サーバは、Ping信号を、保存されている各クライアントのＩＰアドレスに従って各クライアントへ送信する。さらに、クライアントがサーバとの接続を切断したとき、サーバは、そのクライアントの保存されたＩＰアドレスを削除する。
【０１２８】
工程６０４：ソースクライアントは、宛先クライアント識別子User２を含む検出要求をサーバへ送信する。
【０１２９】
工程６０５：ソースクライアントから検出要求を受信した後、サーバは、宛先クライアント識別子User２に従って、当該サーバと宛先クライアントとの間のネットワーク通信の状態に関する保存された情報を検索する。そして、サーバは、取得したネットワーク通信の状態に関する情報に従って、宛先クライアント識別子User２を含む検出応答をソースクライアントへ返す。
【０１３０】
工程６０６：ソースクライアントは、受信した検出応答に従って、ソースクライアントと宛先クライアントとの間のネットワーク通信の状態を得る。
【０１３１】
本実施形態において、ネットワーク接続の状態は、ネットワーク接続の状況、または、もしネットワークが接続状態であれば、通信時間を含んでいる。
【０１３２】
まず、ネットワーク接続の状態に関して、工程６０５において、取得したネットワーク通信の状態に関する情報に従って、検出応答をソースクライアントへ返す処理は、以下のものである。すなわち、サーバは、まず、当該サーバと対応する宛先クライアントとの間のネットワーク通信の状態を得て、当該サーバと宛先クライアントとの間のネットワークが接続状態であるかどうかを決定する。もし、上記ネットワークが接続状態であれば、サーバは、当該サーバと対応する宛先クライアントとの間のネットワークが接続状態であることを示す検出応答をソースクライアントへ返す。そうでなければ、サーバは、当該サーバと対応する宛先クライアントとの間のネットワークが非接続状態であることを示す検出応答をソースクライアントへ返す。そして、サーバは、同時に宛先クライアント識別子をその検出応答に含める。工程６０６において、上記検出応答を受信した後、当該応答に含まれるネットワーク通信の状態に従って、サーバと宛先クライアントとの間のネットワークは、接続状態であると決定された場合、ソースクライアントは、当該ソースクライアントと宛先クライアントとの間のネットワークは、接続状態であると決定する。
【０１３３】
さらに、実施形態５において、ネットワーク通信の状態が、ネットワークが接続状態にあるという前提において、さらに通信時間を含んでいる場合には、サーバは、所定の間隔で、当該サーバと各クライアントとの間の通信時間を取得し、保存する必要がある。工程６０５において、サーバがネットワーク通信の状態を検索する処理は、さらに、次の工程を含んでいる。すなわち、サーバは、当該サーバと、検出要求に含まれる宛先クライアント識別子User２に対応する宛先クライアントとの間の、保存された通信時間Ｔ１および当該サーバとソースクライアントとの間の通信時間Ｔ２を検索する。さらに、サーバは、通信時間Ｔ１および通信時間Ｔ２を、ソースクライアントへの検出応答に含める。さらに、工程６０６は、次の工程を含んでいる。すなわち、検出応答を受信した後、ソースクライアントは、通信時間Ｔ１および通信時間Ｔ２の合計を算出し、それによって、当該ソースクライアントと対応する宛先クライアントとの間の通信時間を得る。
【０１３４】
さらに、上記工程６０５において、サーバが、当該サーバと検出要求に含まれる宛先クライアント識別子に対応する宛先クライアントとの間の、保存された通信時間Ｔ１および当該サーバとソースクライアントとの間の通信時間Ｔ２を見出した後、次の工程を実行することもできる。すなわち、サーバは、さらに、通信時間Ｔ１および通信時間Ｔ２の合計を算出し、その結果を直接、ソースクライアントへ返される検出応答に含める。このように、上述の工程６０６において、ソースクライアントは、当該ソースクライアントと宛先クライアントとの間の通信時間を、単純に、受信した検出応答から通信時間Ｔ１および通信時間Ｔ２の合計を取得することで得ることもできる。その結果、ソースクライアントの負担を軽減できる。
【０１３５】
さらに、通信時間を、本発明の実施形態３または実施形態４に記載された方法で得ることもできる。すなわち、実施形態３に記載の方法を用いて、検出要求が送信された時間であるシステム時間ｔ１が、サーバから各クライアントへ送信される検出要求に含まれる。システム時間ｔ１を含む検出応答をクライアントから受信したとき、サーバは、その検出応答を受信した時間であるシステム時間ｔ２を記録し、受信した検出応答からシステム時間ｔ１を取得する。そして、サーバは、当該サーバと対応するクライアントとの間の通信時間を得るために、システム時間ｔ２とシステム時間ｔ１との差分を算出する。または、実施形態４に記載の方法を用いることもできる。すなわち、サーバは、検出要求が送信された時間であるシステム時間ｔ１を保存する。システム時間ｔ１を含む検出応答を、宛先クライアントから受信したとき、サーバは、その検出要求を受信した時間であるシステム時間ｔ２を保存し、受信した検出応答からシステム時間ｔ１を取得する。そして、サーバは、当該サーバと対応するクライアントとの間の通信時間を得るために、システム時間ｔ２とシステム時間ｔ１との差分を算出する。もちろん、システム時間は、上述したように、タイムスタンプによって検出要求または検出応答に含まれていてもよい。もし、上記時間差分を得るために後者の方法を用いる場合には、検出要求と検出応答とをマッチングさせることを考慮する必要もある。この場合、実施形態４に記載した工程を用いることができる。すなわち、シーケンスＩＤが送信される検出要求に含まれており、そのシーケンスＩＤおよび、検出要求が送信された時間であるシステム時間が保存される。それによって、ソースクライアントにおいて、送信された検出要求と受信された検出応答とが最終的にマッチングされる。
【０１３６】
本発明に係る、ネットワーク通信の状態をクライアントによって検出する方法を上述のように説明した。本発明において提供される方法は、サーバおよび当該サーバに接続された複数のクライアントを含むあらゆるネットワーク（例えば、オンラインゲームシステム）に適用できる。
【０１３７】
いずれにせよ、本発明は、いくつかの好ましい実施形態を参照しつつ図示され、説明されたが、それらの実施形態は、本発明の保護範囲を制限するものではない。
【図面の簡単な説明】
【０１３８】
【図１】本発明における方法を適用したネットワーク構造の概略図である。
【図２】本発明の第１の実施形態に係る、ネットワーク通信の状態を検出する方法のフローチャートである。
【図３】本発明の第２の実施形態に係る、ネットワーク通信の状態を検出する方法のフローチャートである。
【図４】本発明の第３の実施形態に係る、ネットワーク通信の状態を検出する方法のフローチャートである。
【図５】本発明の第４の実施形態に係る、ネットワーク通信の状態を検出する方法のフローチャートである。
【図６】本発明の第５の実施形態に係る、ネットワーク通信の状態を検出する方法のフローチャートである。
【図１】
2009505460.tif 000003
【図２】
2009505460.tif 000004
【図３】
2009505460.tif 000005
【図４】
2009505460.tif 000006
【図５】
2009505460.tif 000007
【図６】
2009505460.tif 000008
【手続補正書】
【提出日】平成20年5月8日(2008.5.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワーク通信の状態を検出する方法であって、
ソースクライアントと宛先クライアントとの間のネットワーク通信の状態を得るための検出要求を受信する工程と、
上記検出要求を受信した後に、上記宛先クライアントの経路情報に従って、上記検出要求を上記宛先クライアントに送信し、上記宛先クライアントから返された検出応答を受信する工程と、
上記サーバが上記検出応答を受信した後に、上記ソースクライアントの経路情報に従って上記検出応答を上記ソースクライアントへ返す工程とを含むことを特徴とするネットワーク通信の状態を検出する方法。
【請求項２】
上記ソースクライアントと上記宛先クライアントとの間のネットワーク通信の状態を得るための検出要求を受信する上記工程において、上記検出要求は、宛先クライアント識別子を含み、
上記検出要求を受信した後に、上記宛先クライアントの経路情報に従って、上記検出要求を上記宛先クライアントに送信し、上記宛先クライアントから返された検出応答を受信する上記工程は、受信した検出要求から上記宛先クライアント識別子を取得する工程と、クライアントの経路情報の中から上記宛先クライアント識別子に対応する経路情報を検索する工程と、上記検出要求を上記宛先クライアントへ送信する工程とをさらに含み、
上記検出要求を受信した後に、上記宛先クライアントの経路情報に従って、上記検出要求を上記宛先クライアントに送信し、上記宛先クライアントから返された検出応答を受信する上記工程において、上記検出応答は、上記検出要求を上記サーバへ送信したソースクライアントの識別子を含み、
上記サーバが上記検出応答を受信した後に、上記ソースクライアントの経路情報に従って上記検出応答を上記ソースクライアントへ返す上記工程は、受信した検出応答に含まれるソースクライアント識別子を取得する工程と、クライアントの経路情報から上記ソースクライアント識別子に対応する経路情報を検索する工程と、上記検出応答を上記ソースクライアントへ返す工程とをさらに含む、請求項１に記載のネットワーク通信の状態を検出する方法。
【請求項３】
上記検出要求を受信した後に、上記宛先クライアントの経路情報に従って、上記検出要求を上記宛先クライアントに送信し、上記宛先クライアントから返された検出応答を受信する上記工程は、受信した検出要求内の宛先クライアント識別子を、上記検出要求を送信したソースクライアントの識別子に置き換える工程と、新しい検出要求を生成する工程と、その検出要求を上記宛先クライアントへ送信する工程と、上記ソースクライアント識別子を含む検出応答を受信する工程とをさらに含み、
上記サーバが検出応答を受信した後に、上記ソースクライアントの経路情報に従って上記検出応答を上記ソースクライアントへ返す上記工程において、上記サーバが上記検出応答を上記ソースクライアントへ返す処理は、受信した検出応答内のソースクライアント識別子を、その検出応答を送信した宛先クライアントの識別子に置き換える工程と、新しい検出応答を生成する工程と、その検出応答をソースクライアントへ送信する工程とを含み、
さらに、上記サーバから返された検出応答を受信したときに、上記応答に含まれる宛先クライアント識別子を取得する工程と、上記ソースクライアントと上記宛先クライアントとの間のネットワークは、まだ接続状態にあると決定する工程とを含む、請求項２に記載のネットワーク通信の状態を検出する方法。
【請求項４】
上記ソースクライアントと上記宛先クライアントとの間のネットワーク通信の状態を得るための検出要求を受信する上記工程において、上記検出要求は、さらにソースクライアント識別子を含み、
上記検出要求を受信した後に、上記宛先クライアントの経路情報に従って、上記検出要求を上記宛先クライアントに送信し、上記宛先クライアントから返された検出応答を受信する上記工程は、上記ソースクライアントから受信した検出要求を上記宛先クライアントへ転送する工程と、上記ソースクライアント識別子および上記宛先クライアント識別子を含む検出応答を受信する工程とをさらに含み、
上記サーバが検出応答を受信した後に、上記ソースクライアントの経路情報に従って上記検出応答を上記ソースクライアントへ返す上記工程において、上記サーバが上記検出応答を上記ソースクライアントへ返す処理は、上記宛先クライアントから受信した検出応答をソースクライアントへ転送する工程を含み、
さらに、上記検出応答に含まれる上記宛先クライアント識別子を取得する工程と、上記サーバから返された検出応答を受信したときに、上記ソースクライアントと上記宛先クライアントとの間のネットワークは、まだ接続状態にあると決定する工程とを含む、請求項２に記載のネットワーク通信の状態を検出する方法。
【請求項５】
上記検出要求は、当該検出要求が上記サーバに送信された時間であるシステム時間ｔ１を記録したタイムスタンプをさらに含み、
上記検出要求を受信した後に、上記宛先クライアントの経路情報に従って、上記検出要求を上記宛先クライアントに送信し、上記宛先クライアントから返された検出応答を受信する上記工程において、上記検出応答は、上記宛先クライアントによって取得されたタイムスタンプをさらに含み、
さらに、上記検出応答が受信された時間であるシステム時間ｔ２を記録する工程と、受信された検出応答から上記タイムスタンプに記録されたシステム時間ｔ１を取得する工程と、上記ソースクライアントと対応する宛先クライアントとの間の通信時間を得るために、システム時間ｔ２とシステム時間ｔ１との差分を算出する工程とを含む、請求項１〜４のいずれか１項に記載のネットワーク通信の状態を検出する方法。
【請求項６】
上記ソースクライアントと上記宛先クライアントとの間のネットワーク通信の状態を得るための検出要求を受信する上記工程において、上記検出要求は、さらに、当該検出要求のシーケンスＩＤを含み、
さらに、上記検出要求が上記サーバに送信された時間であるシステム時間ｔ１を取得する工程と、上記検出要求のシーケンスＩＤを、上記システム時間ｔ１と対応付けて保存する工程とを含み、
上記検出要求を受信した後に、上記宛先クライアントの経路情報に従って、上記検出要求を上記宛先クライアントに送信し、上記宛先クライアントから返された検出応答を受信する上記工程は、上記シーケンスＩＤを含む検出応答を受信する工程をさらに含み、
さらに、上記サーバから返された検出応答を受信したときに、上記検出応答が受信された時間であるシステム時間ｔ２を記録する工程と、上記応答に含まれるシーケンスＩＤを取得する工程と、このシーケンスＩＤに対応した、当該ソースクライアントに保存されたシステム時間ｔ１を検索する工程と、上記ソースクライアントと対応する宛先クライアントとの間の通信時間を得るために、システム時間ｔ２とシステム時間ｔ１との差分を算出する工程とを含む、請求項１〜４のいずれか１項に記載のネットワーク通信の状態を検出する方法。
【請求項７】
上記検出要求を受信した後に、上記宛先クライアントの経路情報に従って、上記検出要求を上記宛先クライアントに送信し、上記宛先クライアントから返された検出応答を受信する上記工程は、さらに、上記サーバが上記ソースクライアントから上記検出要求を受信したときに、受信応答を上記ソースクライアントに返す工程を含む、請求項１〜４のいずれか１項に記載のネットワーク通信の状態を検出する方法。
【請求項８】
上記サーバから返された受信応答を受信したときに、上記ソースクライアントと上記サーバとの間のネットワークは、接続状態にあると決定する工程を含む、請求項７に記載のネットワーク通信の状態を検出する方法。
【請求項９】
上記タイムスタンプは、上記システム時間ｔ１を記録するために用いられる、請求項５に記載のネットワーク通信の状態を検出する方法。
【請求項１０】
上記検出要求が上記サーバに送信された時間であるシステム時間ｔ１を取得する工程をさらに含み、上記検出要求は、さらに上記システム時間ｔ１を記録したタイムスタンプを含み、
上記検出要求を受信した後に、上記宛先クライアントの経路情報に従って、上記検出要求を上記宛先クライアントに送信し、上記宛先クライアントから返された検出応答を受信する上記工程において、上記サーバが受信応答を上記ソースクライアントへ返す上記処理は、受信した検出要求に含まれるタイムスタンプを取得する工程と、当該タイムスタンプを含む受信応答を上記ソースクライアントへ返す工程とを含み、
さらに、受信応答が受信された時間であるシステム時間ｔ３を取得する工程と、受信した受信応答から上記タイムスタンプに記録されたシステム時間ｔ１を取得する工程と、上記ソースクライアントと上記サーバとの間の通信時間を得るために、システム時間ｔ３とシステム時間ｔ１との差分を算出する工程とを含む、請求項７に記載のネットワーク通信の状態を検出する方法。
【請求項１１】
上記ソースクライアントと上記宛先クライアントとの間のネットワーク通信の状態を得るための検出要求を受信する上記工程において、上記検出要求は、さらに、当該検出要求のシーケンスＩＤを含み、
上記検出要求が上記サーバに送信された時間であるシステム時間ｔ１を取得する工程と、上記検出要求のシーケンスＩＤを、上記システム時間ｔ１と対応付けて保存する工程とをさらに含み、
上記検出要求を受信した後に、上記宛先クライアントの経路情報に従って、上記検出要求を上記宛先クライアントに送信し、上記宛先クライアントから返された検出応答を受信する上記工程は、さらに、上記ソースクライアントから上記検出要求を受信した後に、上記検出要求に含まれるシーケンスＩＤを取得する工程と、当該シーケンスＩＤを含む受信応答を上記ソースクライアントへ返す工程とを含み、
さらに、上記受信応答が受信された時間であるシステム時間ｔ３を記録する工程と、受信した受信応答に含まれるシーケンスＩＤを取得する工程と、当該シーケンスＩＤに対応する、上記ソースクライアントに保存されたシステム時間ｔ１を検索する工程と、上記ソースクライアントと上記サーバとの間の通信時間を得るために、システム時間ｔ３とシステム時間ｔ１との差分を算出する工程とを含む、請求項７に記載のネットワーク通信の状態を検出する方法。
【請求項１２】
上記ソースクライアントと上記宛先クライアントとの間のネットワーク通信の状態を、受信した検出応答に従って取得する、請求項１に記載のネットワーク通信の状態を検出する方法。
【請求項１３】
複数のクライアントと接続されるサーバであって、
ソースクライアントと宛先クライアントとの間のネットワーク通信の状態を得るための検出要求を上記ソースクライアントから受信し、
上記宛先クライアントの経路情報に従って、検出要求を上記宛先クライアントに送信し、
上記宛先クライアントから返された検出応答を受信し、
上記ソースクライアントの経路情報に従って検出応答を上記ソースクライアントへ返すように設計されたサーバ。
【請求項１４】
上記検出要求は、宛先クライアント識別子を含み、上記検出応答は、ソースクライアント識別子を含み、
上記サーバは、受信した検出要求に含まれる上記宛先クライアント識別子を取得し、クライアント経路情報の中から上記宛先クライアント識別子に対応する経路情報を検索し、
さらに、上記サーバは、受信した検出応答に含まれるソースクライアント識別子を取得し、クライアント経路情報の中から上記ソースクライアント識別子に対応する経路情報を検索するように設計されている、請求項１３に記載のサーバ。
【請求項１５】
上記サーバは、受信した検出要求内の宛先クライアント識別子を、当該検出要求を送信したソースクライアントの識別子に置き換え、新しい検出要求を生成し、その検出要求を上記宛先クライアントへ送信し、
さらに、上記サーバは、受信した検出応答内のソースクライアント識別子を、当該検出応答を送信した宛先クライアントの識別子に置き換え、新しい検出応答を生成し、その新しい検出応答をソースクライアントへ送信するように設計されている、請求項１４に記載のサーバ。
【請求項１６】
上記検出要求は、さらに、上記ソースクライアント識別子を含み、上記検出応答は、さらに上記宛先クライアント識別子を含み、
上記サーバは、上記ソースクライアントから受信した検出要求を上記宛先クライアントへ転送し、上記宛先クライアントから受信した検出応答を上記ソースクライアントへ転送するように設計されている、請求項１４に記載のサーバ。
【請求項１７】
さらに、上記ソースクライアントから上記検出要求を受信したときに、上記ソースクライアントへ受信応答を返すように設計されている、請求項１３〜１６のいずれか１項に記載のサーバ。
【請求項１８】
上記検出要求は、さらに、システム時間ｔ１を記録したタイムスタンプを含み、
上記サーバは、受信した検出要求に含まれる上記タイムスタンプを取得し、当該タイムスタンプを含む受信応答を上記ソースクライアントへ返すように設計されている、請求項１７項に記載のサーバ。
【請求項１９】
上記検出要求は、さらにシーケンスＩＤを含み、
上記サーバは、上記ソースクライアントから上記検出要求を受信し、当該検出要求に含まれるシーケンスＩＤを取得し、当該シーケンスＩＤを含む受信応答を上記ソースクライアントへ返すように設計されている、請求項１７項に記載のサーバ。
【請求項２０】
ネットワーク通信の状態を検出する方法であって、
上記ネットワークは、サーバと当該サーバに接続される複数のクライアントとを少なくとも含み、
上記ソースクライアントと宛先クライアントとの間のネットワーク通信の状態を得るための検出要求を受信する工程と、
上記検出要求を上記ソースクライアントから受信した後に、上記サーバと対応する宛先クライアントとの間のネットワーク通信の状態を取得し、取得したネットワーク通信の状態に従って、検出応答を上記ソースクライアントへ返す工程とを含むことを特徴とするネットワーク通信の状態を検出する方法。
【請求項２１】
上記検出要求は、宛先クライアント識別子を含み、
上記検出要求を上記ソースクライアントから受信した後に、上記サーバと対応する宛先クライアントとの間のネットワーク通信の状態を取得し、取得したネットワーク通信の状態に従って、検出応答を上記ソースクライアントへ返す上記工程において、上記サーバと宛先クライアントとの間のネットワーク通信の状態は、受信した検出要求に含まれる宛先クライアント識別子を取得し、当該宛先クライアント識別子に対応するネットワーク通信の状態を検索することにより取得される、請求項２０に記載のネットワーク通信の状態を検出する方法。
【請求項２２】
上記サーバと各クライアントとの間のネットワーク通信の状態を取得する方法は、
所定の間隔で、経路情報に従って、上記検出要求を各クライアントへ送信する工程と、上記クライアントから返された検出応答に従って、上記サーバと対応するクライアントとの間のネットワーク通信の状態を取得する工程とを含む、請求項２０に記載のネットワーク通信の状態を検出する方法。
【請求項２３】
上記検出要求を上記ソースクライアントから受信した後に、上記サーバと対応する宛先クライアントとの間のネットワーク通信の状態を取得し、取得したネットワーク通信の状態に従って、検出応答を上記ソースクライアントへ返す上記工程において、上記検出応答を上記ソースクライアントへ返す上記処理は、上記サーバと対応する宛先クライアントとの間のネットワーク通信の状態を含む検出応答を上記ソースクライアントへ直接返す工程を含み、
さらに、上記検出応答を受信し、当該応答に含まれるネットワーク通信の状態に従って、上記サーバと上記宛先クライアントとの間のネットワークが接続状態であると決定した後に、上記ソースクライアントと上記宛先クライアントとの間のネットワークが接続状態であると決定し、そうでなければ、当該ソースクライアントと上記宛先クライアントとの間のネットワークは非接続状態であると決定する工程を含む、請求項２０〜２２のいずれか１項に記載のネットワーク通信の状態を検出する方法。
【請求項２４】
上記サーバと各クライアントとの間のネットワーク通信の状態を取得および保存する上記処理は、上記サーバと各クライアントとの間の通信時間を取得および保存する工程をさらに含み、
上記検出要求を上記ソースクライアントから受信した後に、上記サーバと対応する宛先クライアントとの間のネットワーク通信の状態を取得し、取得したネットワーク通信の状態に従って、検出応答を上記ソースクライアントへ返す上記工程において、上記ネットワーク通信の状態を取得する上記処理は、上記サーバと上記検出要求に含まれる上記宛先クライアント識別子に対応するクライアントとの間の保存された通信時間Ｔ１および当該サーバと上記ソースクライアントとの間の通信時間Ｔ２を検索する工程をさらに含み、上記検出応答を上記ソースクライアントへ返す上記処理は、上記通信時間Ｔ１およびＴ２を、上記ソースクライアントへ返される検出応答に含める工程をさらに含み、
上記ソースクライアントと上記宛先クライアントとの間の通信時間を得るために、上記ソースクライアントが上記検出応答を受信したときに、上記ソースクライアントによって、上記通信時間Ｔ１およびＴ２の合計を算出する工程をさらに含む、請求項２０に記載のネットワーク通信の状態を検出する方法。
【請求項２５】
上記サーバと各クライアントとの間のネットワーク通信の状態を取得および保存する上記処理は、上記サーバと各クライアントとの間の通信時間を取得および保存する工程をさらに含み、
上記検出要求を上記ソースクライアントから受信した後に、上記サーバと対応する宛先クライアントとの間のネットワーク通信の状態を取得し、取得したネットワーク通信の状態に従って、検出応答を上記ソースクライアントへ返す上記工程において、上記ネットワーク通信の状態を取得する上記処理は、上記サーバと上記検出要求に含まれる上記宛先クライアント識別子に対応するクライアントとの間の保存された通信時間Ｔ１および当該サーバと上記ソースクライアントとの間の通信時間Ｔ２を検索する工程と、上記サーバによって見出された通信時間Ｔ１およびＴ２の合計を算出する工程と、その算出結果を、上記ソースクライアントへ返される検出応答に含める工程とをさらに含み、
上記ソースクライアントと上記宛先クライアントとの間の通信時間を得るために、受信した検出応答から上記算出結果を取得する工程をさらに含む、請求項２０に記載のネットワーク通信の状態を検出する方法。
【請求項２６】
上記サーバと各クライアントとの間の通信時間を取得する上記方法は、
上記経路情報に従って、所定の間隔で、各クライアントへ上記検出要求を送信し、その検出要求に、上記検出要求を送信した時間であるシステム時間ｔ１を含め、上記クライアントからシステム時間ｔ１を含む検出応答を受信したとき、上記検出応答を受信した時間であるシステム時間ｔ２を記録し、受信した検出応答から上記システム時間ｔ１を取得し、そして、当該サーバと対応するクライアントとの間の通信時間を得るために、上記システム時間ｔ２と上記システム時間ｔ１との差分を算出する工程を含むか、または、
上記検出要求を送信した時間であるシステム時間ｔ１を保存し、当該システム時間ｔ１を含む、上記クライアントから返された検出応答を受信した後に、上記検出応答を受信した時間であるシステム時間ｔ２を記録し、上記検出応答から上記システム時間ｔ１を取得し、そして、上記サーバと対応するクライアントとの間の通信時間を得るために、上記システム時間ｔ２と上記システム時間ｔ１との差分を算出する工程を含む、請求項２４または２５に記載のネットワーク通信の状態を検出する方法。
【請求項２７】
サーバであって、
当該サーバと各クライアントとの間のネットワーク通信の状態を取得および保存し、
ソースクライアントから検出要求を受信し、当該サーバと対応する宛先クライアントとの間のネットワーク通信の状態を取得し、取得したネットワーク通信の状態に従って、検出応答を上記ソースクライアントへ返すように設計されたサーバ。
【請求項２８】
受信した検出要求に含まれる宛先クライアント識別子を取得し、当該宛先クライアント識別子に対応するネットワーク通信の状態を検索するように設計された、請求項２７に記載のサーバ。
【請求項２９】
全てのクライアントの経路情報を予め保存し、所定の間隔で、上記経路情報に従って、上記検出要求を各クライアントへ送信し、上記クライアントから返された検出応答に従って、上記サーバと対応するクライアントとの間のネットワーク通信の状態を取得するように設計された、請求項２７に記載のサーバ。
【請求項３０】
上記サーバと各クライアントとの間の通信時間を取得および保存し、当該サーバと、上記検出要求に含まれる上記宛先クライアント識別子に対応するクライアントとの間の、保存された通信時間Ｔ１および当該サーバと上記ソースクライアントとの間の通信時間Ｔ２を検索し、上記通信時間Ｔ１およびＴ２を、上記ソースクライアントへ返される検出応答へ含めるようにさらに設計されている、請求項２７に記載のサーバ。
【請求項３１】
上記サーバと各クライアントとの間の通信時間を取得および保存し、当該サーバと、上記検出要求に含まれる上記宛先クライアント識別子に対応するクライアントとの間の、保存された通信時間Ｔ１および当該サーバと上記ソースクライアントとの間の通信時間Ｔ２を検索し、上記通信時間Ｔ１およびＴ２の合計を算出し、その算出結果を、上記ソースクライアントへ返される検出応答に含めるようにさらに設計されている、請求項２７に記載のサーバ。
【請求項３２】
全てのクライアントの経路情報を予め保存し、当該経路情報に従って、所定の間隔で、各クライアントへ上記検出要求を送信し、その検出要求に、当該検出要求を送信した時間であるシステム時間ｔ１を含め、上記クライアントから上記システム時間ｔ１を含む検出応答を受信したとき、上記検出応答を受信した時間であるシステム時間ｔ２を記録し、受信した検出応答から上記システム時間ｔ１を取得し、そして、当該サーバと対応するクライアントとの間の通信時間を得るために、上記システム時間ｔ２と上記システム時間ｔ１との差分を算出するか、または、
上記検出要求を送信した時間であるシステム時間ｔ１を記録し、当該システム時間ｔ１を含む、上記クライアントから返された検出応答を受信した後に、上記検出応答を受信した時間であるシステム時間ｔ２を記録し、上記検出応答から上記システム時間ｔ１を取得し、当該サーバと対応するクライアントとの間の通信時間を得るために、上記システム時間ｔ２と上記システム時間ｔ１との差分を算出するように設計されている、請求項３０または３１に記載のサーバ。
【国際調査報告】
2009505460.tif 000009
2009505460.tif 000010
2009505460.tif 000011
2009505460.tif 000012