JP2019087993A - ネットワークサービス持続性管理 - Google Patents

ネットワークサービス持続性管理 Download PDF

Info

Publication number
JP2019087993A
JP2019087993A JP2018190990A JP2018190990A JP2019087993A JP 2019087993 A JP2019087993 A JP 2019087993A JP 2018190990 A JP2018190990 A JP 2018190990A JP 2018190990 A JP2018190990 A JP 2018190990A JP 2019087993 A JP2019087993 A JP 2019087993A
Authority
JP
Japan
Prior art keywords
server
response
received
packet
service
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018190990A
Other languages
English (en)
Other versions
JP7212491B2 (ja
Inventor
ジョンナム クァック
Jung Nam Gwock
ジョンナム クァック
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.)
Z Intermediate Global Corp
Original Assignee
Line Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Line Corp filed Critical Line Corp
Publication of JP2019087993A publication Critical patent/JP2019087993A/ja
Application granted granted Critical
Publication of JP7212491B2 publication Critical patent/JP7212491B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0604Management of faults, events, alarms or notifications using filtering, e.g. reduction of information by using priority, element types, position or time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
    • H04L41/0645Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis by additionally acting on or stimulating the network after receiving notifications
    • 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/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • 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/0823Errors, e.g. transmission errors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • H04L43/103Active monitoring, e.g. heartbeat, ping or trace-route with adaptive polling, i.e. dynamically adapting the polling rate
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • H04L67/145Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Environmental & Geological Engineering (AREA)
  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】ネットワークサービスの持続状態が保たれているか否かを確認する。【解決手段】サーバとクライアント間のハートビート信号に対する応答がない場合に、エコーサーバにパケットを送信してその応答の有無によりサーバの障害かネットワークの障害かを切り分ける。【選択図】図5

Description

以下の説明は、ネットワークサービス持続性管理技術に関し、より詳細には、サービスを提供するサーバの問題とネットワークの問題をクライアントで区分して診断することができる持続性管理方法、前記持続性管理方法を実行するコンピュータ装置、コンピュータと結合して持続性管理方法をコンピュータに実行させるためにコンピュータ読み取り可能記録媒体に格納されたコンピュータプログラムとその記録媒体に関する。
一般的に、サービスの現状を点検するためには、端末(クライアント)がサービスを提供するサーバと周期的に通信をする必要がある。このような周期的な通信が成立しない場合、ネットワークサービスの持続性が失われ、これによりネットワークサービスの持続性を維持するための多様な技術が提供される。例えば、特許文献1は、モバイルネットワークゲームの再接続方法およびシステム、このためのゲームサーバに関するものであって、移動通信網を介して無線接続した移動端末がモバイルゲームを行っている最中に、不安定な無線環境やゲームサーバの障害によって無線ネットワークが強制切断され、進行中のモバイルゲームが中断された場合に、移動端末の非正常的なログアウトを感知したゲームサーバが、ゲーム接続情報が含まれたSMSメッセージ情報を生成して該当の移動端末に送信し、前記移動端末がSMSメッセージ情報を確認して再接続したときに、強制終了前のゲーム情報を再び提供することにより、移動端末ユーザが継続してモバイルゲームを行うことができるようにする、モバイルネットワークゲームの再接続方法およびシステムについて開示している。
しかし、このようなモバイル環境における端末は、サーバが正常動作しており、サービスに何の問題がなくても、モバイルアクセスネットワークの一時的な切断を、サーバに問題があるとか持続的なサービスが不可能であるなど誤った分析および判断として捉えられる場合があるという問題を抱えている。例えば、モバイル端末において、モバイルアクセスネットワークの一時的な切断が、サービスのために連結した第1サーバの障害(fault)と誤判断された場合、モバイル端末は、サービスのための第2サーバとの連結を試行することがある。この場合、正常動作中であった第1サーバは、モバイル端末へのサービス提供を持続して試行するし、モバイル端末は第2サーバとの連結を試行するようになるため、サービスの持続性が失われる恐れがある。
韓国公開特許第10−2007−0111686号
サービスを提供するサーバの問題とネットワークの問題をクライアントで区分して診断することができる持続性管理方法、前記持続性管理方法を実行するコンピュータ装置、コンピュータと結合して持続性管理方法をコンピュータに実行させるためにコンピュータ読み取り可能記録媒体に格納されたコンピュータプログラムとその記録媒体を提供する。
クライアントにおいて、サービスを提供するサーバから応答がない場合、別のエコーサーバにパケットを送信し、エコーサーバからの応答の有無に応じてサーバの障害およびネットワークの障害を選別的に診断することができる、持続性管理方法、前記持続性管理方法を実行するコンピュータ装置、コンピュータと結合して持続性管理方法をコンピュータに実行させるためにコンピュータ読み取り可能記録媒体に格納されたコンピュータプログラムとその記録媒体を提供する。
サービスを提供するサーバとNAT(Network Address Translation)間のピンホール時間(pinhole time)を測定するにあたり、エコーサーバを活用することによって適切なピンホール時間を見つけ出すことができる持続性管理方法、前記持続性管理方法を実行するコンピュータ装置、コンピュータと結合して持続性管理方法をコンピュータに実行させるためにコンピュータ読み取り可能記録媒体に格納されたコンピュータプログラムとその記録媒体を提供する。
クライアントの持続性管理方法において、ネットワークを介してサービスを提供するサーバにハートビート(heartbeat)信号を送信する段階、前記サーバからハートビート信号に対する応答信号が受信されない場合、前記クライアントによって識別されるエコーサーバにパケットを送信する段階、および前記エコーサーバから前記パケットに対する応答が受信されるか否かに基づいてサービスの持続性の可否を決定する段階を含むことを特徴とする、持続性管理方法を提供する。
コンピュータと結合して前記持続性管理方法をコンピュータに実行させるためにコンピュータ読み取り可能記録媒体に格納されたコンピュータプログラムを提供する。
前記持続性管理方法をコンピュータに実行させるためのプログラムが記録されていることを特徴とする、コンピュータ読み取り可能記録媒体を提供する。
クライアントが駆動されるコンピュータ装置であって、コンピュータ読み取り可能命令を実行するように実現される少なくとも1つのプロセッサを含み、前記少なくとも1つのプロセッサは、ネットワークを介してサービスを提供するサーバにハートビート(heartbeat)信号を送信し、前記サーバからハートビート信号に対する応答信号が受信されない場合、前記クライアントによって識別されるエコーサーバにパケットを送信し、前記エコーサーバから前記パケットに対する応答が受信されるか否かに基づいてサービスの持続性の可否を決定することを特徴とする、コンピュータ装置を提供する。
サービスを提供するサーバの問題とネットワークの問題をクライアントで区分して診断することができる。
クライアントにおいて、サービスを提供するサーバから応答がない場合、別のエコーサーバにパケットを送信し、エコーサーバからの応答の有無に応じてサーバの障害およびネットワークの障害を選別的に診断することができる。
サービスを提供するサーバとNAT(Network Address Translation)間のピンホール時間(pinhole time)を測定するにあたり、エコーサーバを活用することによって適切なピンホール時間を発見することができる。
本発明の一実施形態における、ネットワーク環境の例を示した図である。 本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。 本発明の一実施形態における、サービス提供環境の例を示した図である。 本発明の一実施形態における、サービス提供環境の他の例を示した図である。 本発明の一実施形態における、持続性管理方法の例を示したフローチャートである。 本発明の一実施形態における、ネットワーク障害とサーバ障害を選別的に診断する過程の例を示した図である。 本発明の一実施形態における、大略的なピンホール時間を探索する過程の例を示した図である。
以下、実施形態について、添付の図面を参照しながら詳しく説明する。
本発明の実施形態に係る持続性管理方法は、以下で説明される電子機器のように、クライアントがインストールされてサーバと通信してサービスの提供を受けるコンピュータ装置によって実行されてよい。このとき、コンピュータ装置には、本発明の一実施形態に係るコンピュータプログラム(上述したクライアント)がインストールおよび駆動されてよく、コンピュータ装置は、駆動するコンピュータプログラムの制御にしたがって本発明の一実施形態に係る持続性管理方法を実行してよい。上述したコンピュータプログラムは、コンピュータ装置と結合して持続性管理方法をコンピュータに実行させるためにコンピュータ読み取り可能記録媒体に格納されてよい。
図1は、本発明の一実施形態における、ネットワーク環境の例を示した図である。図1のネットワーク環境は、複数の電子機器110、120、130、140、複数のサーバ150、160、およびネットワーク170を含む例を示している。このような図1は、発明の説明のための一例に過ぎず、電子機器の数やサーバの数が図1のように限定されることはない。
複数の電子機器110、120、130、140は、コンピュータ装置によって実現される固定端末や移動端末であってよい。複数の電子機器110、120、130、140の例としては、スマートフォン、携帯電話、ナビゲーション、PC(personal computer)、ノート型パンコン、デジタル放送用端末、PDA(Personal Digital Assistant)、PMP(Portable Multimedia Player)、タブレット、ゲームコンソール(game console)、ウェアラブルデバイス、IoT(internet of things)デバイス、仮想現実(virtual reality)デバイス、拡張現実(augmented reality)デバイスなどがある。一例として、図1では、電子機器1(110)の例としてスマートフォンの形状を示しているが、本発明の実施形態において、電子機器1(110)は、実質的に無線または有線通信方式を利用し、ネットワーク170を介して他の電子機器120、130、140および/またはサーバ150、160と通信することのできる多様な物理的なコンピュータ装置のうちの1つを意味してよい。
通信方式が限定されることはなく、ネットワーク170が含むことのできる通信網(一例として、移動通信網、有線インターネット、無線インターネット、放送網、衛星網)を活用する通信方式だけではなく、機器間の近距離無線通信が含まれてもよい。例えば、ネットワーク170は、PAN(personal area network)、LAN(local area network)、CAN(campus area network)、MAN(metropolitan area network)、WAN(wide area network)、BBN(broadband network)、インターネットなどのネットワークのうちの1つ以上の任意のネットワークを含んでよい。さらに、ネットワーク170は、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スター−バスネットワーク、ツリーまたは階層的(hierarchical)ネットワークなどを含むネットワークトポロジのうちの任意の1つ以上を含んでもよいが、これらに限定されることはない。
サーバ150、160それぞれは、複数の電子機器110、120、130、140とネットワーク170を介して通信して命令、コード、ファイル、コンテンツ、サービスなどを提供するコンピュータ装置または複数のコンピュータ装置によって実現されてよい。例えば、サーバ150は、ネットワーク170を介して接続した複数の電子機器110、120、130、140と関連する第1サービスを提供するシステムであってよく、サーバ160も、ネットワーク170を介して接続した複数の電子機器110、120、130、140と関連する第2サービスを提供するシステムであってよい。より具体的な例として、サーバ150は、ゲームサービスやコンテンツ提供サービスなどのようにネットワーク170を介して提供可能な多様なサービス(特に、モバイルサービス)を複数の電子機器110、120、130、140に提供するシステムであってよい。また、サーバ160は、以下で説明されるエコーサーバに対応してよい。
図2は、本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。図2では、電子機器に対する例として電子機器1(110)の内部構成を説明し、サーバに対する例としてサーバ150の内部構成を説明する。また、他の電子機器120、130、140やサーバ160も、上述した電子機器1(110)またはサーバ150と同一または類似の内部構成を有してよい。
電子機器1(110)とサーバ150は、メモリ211、221、プロセッサ212、222、通信モジュール213、223、および入力/出力インタフェース214、224を含んでよい。メモリ211、221は、コンピュータ読み取り可能記録媒体であって、RAM(random access memory)、ROM(read only memory)、ディスクドライブ、SSD(soild state drive)、フラッシュメモリ(flash memory)のような永久大容量記憶装置(permanent mass storage device)を含んでよい。ここで、ROMやディスクドライブ、SSD、フラッシュメモリのような非一時的、永久大容量記憶装置は、メモリ211、221とは区分される別の永久格納装置として電子機器1(110)やサーバ150に含まれてもよい。また、メモリ211、221には、オペレーティングシステムと、少なくとも1つのプログラムコード(一例として、電気機器1(110)にインストールされ駆動するブラウザや特定のサービスを提供するために電子機器1(110)にインストールされたアプリケーションなどのためのコード)が格納されてよい。このようなソフトウェア構成要素は、メモリ211、221とは別のコンピュータ読み取り可能記録媒体からロードされてよい。このような別のコンピュータ読み取り可能記録媒体は、フロッピー(登録商標)ドライブ、ディスク、テープ、DVD/CD−ROMドライブ、メモリカードなどのコンピュータ読み取り可能記録媒体を含んでよい。他の実施形態において、ソフトウェア構成要素は、コンピュータ読み取り可能記録媒体ではない通信モジュール213、223を通じてメモリ211、221にロードされてもよい。例えば、少なくとも1つのプログラムは、開発者またはアプリケーションのインストールファイルを配布するファイル配布システム(一例として、上述したサーバ160)がネットワーク170を介して提供するファイルによってインストールされるコンピュータプログラム(一例として、上述したアプリケーション)に基づいてメモリ211、221にロードされてよい。
プロセッサ212、222は、基本的な算術、ロジック、および入出力演算を実行することにより、コンピュータプログラムの命令を処理するように構成されてよい。命令は、メモリ211、221または通信モジュール213、223によって、プロセッサ212、222に提供されてよい。例えば、プロセッサ212、222は、メモリ211、221のような記録装置に格納されたプログラムコードにしたがって受信される命令を実行するように構成されてよい。
通信モジュール213、223は、ネットワーク170を介して電子機器1(110)とサーバ150とが互いに通信するための機能を提供してもよいし、電子機器1(110)および/またはサーバ150が他の電子機器(一例として、電子機器2(120))または他のサーバ(一例として、サーバ160)と通信するための機能を提供してもよい。一例として、電子機器1(110)のプロセッサ212がメモリ211のような記録装置に格納されたプログラムコードにしたがって生成した要求が、通信モジュール213の制御にしたがってネットワーク170を介してサーバ150に伝達されてよい。これとは逆に、サーバ150のプロセッサ222の制御にしたがって提供される制御信号や命令、コンテンツ、ファイルなどが、通信モジュール223とネットワーク170を経て電子機器1(110)の通信モジュール213を通じて電子機器1(110)に受信されてもよい。例えば、通信モジュール213を通じて受信したサーバ150の制御信号や命令、コンテンツ、ファイルなどは、プロセッサ212やメモリ211に伝達されてよく、コンテンツやファイルなどは、電子機器1(110)がさらに含むことのできる格納媒体(上述した永久格納装置)に格納されてよい。
入力/出力インタフェース214は、入力/出力装置215とのインタフェースのための手段であってよい。例えば、入力装置は、キーボード、マウス、マイクロフォン、カメラなどの装置を含んでよく、出力装置は、ディスプレイ、スピーカ、触覚フィードバックデバイス(haptic feedback device)などのような装置を含んでよい。他の例として、入力/出力インタフェース214は、タッチスクリーンのように入力と出力のための機能が1つに統合された装置とのインタフェースのための手段であってもよい。入力/出力装置215は、電子機器1(110)と1つの装置で構成されてもよい。また、サーバ150の入力/出力インタフェース224は、サーバ150と連結するかサーバ150が含むことのできる入力または出力のための装置(図示せず)とのインタフェースのための手段であってよい。より具体的な例として、電子機器1(110)のプロセッサ212がメモリ211にロードされたコンピュータプログラムの命令を処理するにあたり、サーバ150や電子機器2(120)が提供するデータを利用して構成されるサービス画面やコンテンツが、入力/出力インタフェース214を経てディスプレイに表示されてよい。
また、他の実施形態において、電子機器1(110)およびサーバ150は、図2の構成要素よりも多くの構成要素を含んでもよい。しかし、大部分の従来技術的構成要素を明確に図に示す必要はない。例えば、電子機器1(110)は、上述した入力/出力装置215のうちの少なくとも一部を含むように実現されてもよいし、トランシーバ、GPS(Global Positioning System)モジュール、カメラ、各種センサ、データベースなどのような他の構成要素をさらに含んでもよい。より具体的な例として、電子機器1(110)がスマートフォンである場合、一般的にスマートフォンが含んでいる加速度センサやジャイロセンサ、カメラモジュール、物理的な各種ボタン、タッチパネルを利用したボタン、入力/出力ポート、振動のための振動器などのような多様な構成要素が電子機器1(110)にさらに含まれるように実現されてよい。
図3は、本発明の一実施形態における、サービス提供環境の例を示した図である。図3は、クライアント310、サービスサーバ320、およびエコーサーバ330を開示している。
クライアント310は、上述した電子機器1(110)のようなコンピュータ装置にインストールされるクライアント用コンピュータプログラムであってよく、電子機器1(110)がネットワーク170を介してサービスサーバ320にアクセスし、サービスサーバ320が提供するサービスを利用することができるように電子機器1(110)を制御してよい。
サービスサーバ320は、ネットワーク170を介してクライアント310にサービスを提供する少なくとも1つのコンピュータ装置であってよく、エコーサーバ330は、クライアント310の制御にしたがって電子機器1(110)が送信するパケットを受信し、受信したパケットに対する応答を即時に電子機器1(110)に送信するように実現されるコンピュータ装置であってよい。
クライアント310は、サービスサーバ320にハートビート(heartbeat)信号を送信してよい。ハートビート信号とは、サーバの状態を点検するために一定の時間単位で送信される特定の信号を意味するものであり、クライアント310も一定の周期ごとにハートビート信号をサービスサーバ320に送信してよい。この場合、サービスサーバ320は、受信したハートビート信号に対する応答信号をクライアント310に送信してよく、クライアント310は、受信した応答信号に基づいてサービスサーバ320の状態を点検してよい。
しかし、サービスサーバ320が正常にサービスを提供しているにもかかわらず、クライアント310がネットワーク170の状態(一例として、モバイル環境において、モバイル端末がアクセスネットワークに接続する状態)によっては、ハートビート信号に対する応答信号をサービスサーバ320から受信できない場合が発生することがある。上述したように、従来技術のクライアントは、このようなネットワーク障害(一例として、モバイル環境において、クライアントが陰影地域に位置することによってアクセスネットワークに接続できない状態や、アクセスネットワークの状態が良くなくてクライアントの接続を処理できない状態)を、サービスを提供するサーバの障害として誤判断したり、持続的なサービスが不可能であると誤判断したりしてしまうという問題がある。
この反面、本実施形態に係るクライアント310は、サービスサーバ320だけではなく、エコーサーバ330を識別することが可能であり、サービスサーバ320から応答信号が受信されない場合には、エコーサーバ330にパケットを送信してよい。エコーサーバ330がパケットを受信した場合、応答をクライアント310に送信してよく、このような応答をエコーサーバ330から受信した場合、クライアント310は、ネットワーク障害ではなくサービスサーバ320に問題があることが把握できるようになる。エコーサーバ330からも応答が受信されなかった場合、クライアント310は、サービスサーバ320の問題ではなくネットワーク170に問題があることが把握できるようになる。図3に示す点線の矢印は、ハートビート信号に対する応答信号が受信されなかった場合に、クライアント310とエコーサーバ330との間に、パケットとパケットに対する応答が送受信されることを意味する。
より正確な診断のために、クライアント310は、ハートビート信号と応答信号、そしてパケットとパケットに対する応答を、1回のみの交換ではなく複数回の交換により、サービスサーバ320の障害とネットワーク170の障害を選別的に診断してよい。例えば、クライアント310は、一定の周期ごとにハートビート信号をサービスサーバ320に送信している最中に、サービスサーバ320からハートビート信号に対する応答信号が受信されない場合、エコーサーバ330にパケットを送信してよい。このとき、エコーサーバ330からパケットに対する応答が受信された場合、「NoResponseCount」(最初は0で初期化)を1だけ増加させ、次の周期のハートビート信号に対するサービスサーバ320の応答信号を待機してよい。次の周期のハートビート信号に対してもサービスサーバ320から応答信号が受信されない場合、もう一度エコーサーバ330にパケットを送信してよく、またもエコーサーバ330からパケットに対する応答が受信された場合、「NoResponseCount」を1だけ増加させてよい。このように、サービスサーバ320からはハートビート信号に対する応答信号が受信されず、エコーサーバ330からはパケットに対する応答が受信される状況が連続的に繰り返されることによって「NoResponseCount」が予め設定された「MaxWaitResponseCount」を超過した状況になれば、クライアント310は、サービスサーバ320に障害が発生したと決定してよい。「NoResponseCount」が「MaxWaitResponseCount」を超過する前にハートビート信号に対する応答信号が受信されるか、またはエコーサーバ330からパケットに対する応答が受信されない場合には、一時的なネットワーク障害が発生したと決定してよく、「NoResponseCount」は再び「0」に初期化されてよい。
言い換えれば、クライアント310は、サービスサーバ320からはハートビート信号に対する応答信号が受信されず、エコーサーバ330からはパケットに対する応答が受信された状況が、予め設定された回数以上で発生する場合、サービスサーバ320の障害を診断してよい。ここで、サービスサーバ320の障害を診断するということは、クライアント310が現在の状況をサービスサーバ320に障害が発生したものと決定し、これによる後続動作を処理(一例として、他のサービスサーバによるサービス連結の試行)することを意味してよい。
また、クライアント310は、サービスサーバ320からはハートビート信号に対する応答信号が受信されず、エコーサーバ330からもパケットに対する応答が受信されない状況が、予め設定された回数以上で発生する場合、ネットワーク170の障害を診断してよい。ここで、ネットワーク170の障害を診断するということは、クライアント310が現在の状況をネットワーク170に障害が発生したものと決定し、サービスサーバ320の持続的なサービスが可能であることによる後続動作を処理(一例として、サービスサーバ320との連結を待機するか、他のアクセスネットワークへの接続の試行)することを意味してよい。
このように、クライアント310は、サービスを提供するサービスサーバ320とは別のサーバであるエコーサーバ330を識別し、識別されたエコーサーバ330をサービス持続性管理のために活用することができる。
また、クライアント310は、エコーサーバ330を、ピンホール時間(pinhole time)を探索するために活用しながらサービス持続性を管理してもよい。
図4は、本発明の一実施形態における、サービス提供環境の他の例を示した図である。図4は、図3を参照しながら説明したサービスサーバ320が、NAT(Network Address Translation)サーバ410と複数のサービスサーバ(サービスサーバ1(420)、サービスサーバ2(430))で実現された例を示している。ここでは、クライアント310がNATサーバ410を経てサービスサーバ1(420)と連結してサービスの提供を受けていると仮定する。
NATサーバ410は、プライベートIPアドレスをパブリックIPアドレスに替えるのに使用する通信網のアドレス変換器の役割を担ってよく、クライアント310からの要請にしたがって対象となるサービスサーバ(本実施形態では、サービスサーバ1(420))とのピンホール(pinhole)を開いてよい。ここで、ピンホール時間とは、ピンホールが開いている時間を意味してよく、サービスサーバ1(420)は、ピンホールが開いている間だけクライアント310に信号を伝達することができる。言い換えれば、サービスサーバ1(420)は、クライアント310の要請がなくてはピンホールを自主的に開けることはできず、ピンホールが閉じれば、クライアント310からの要請にしたがって新たなピンホールが開かれるまでクライアント310に信号を送信することができなくなる。このとき、ピンホール時間は、サービスごとに互いに異なるように設定されてよく、クライアント310がこのようなピンホールを維持するためには、ピンホール時間を測定する必要がある。
例えば、NATサーバ410とサービスサーバ1(420)との間に設定されたピンホール時間が3秒であると仮定する。また、クライアント310がサービスサーバ1(420)にハートビート信号を送信する時間周期が5秒であると仮定する。この場合、NATサーバ410とサービスサーバ1(420)との間には3秒間のピンホールが設定され、2秒間閉じた後に再び3秒間ピンホールが設定された後に2秒間閉じるという状況が繰り返され、ピンホールが閉ざされる2秒間、サービスサーバ1(420)は、クライアント(310)に信号を送信することができなくなる。ハートビート信号を送信する時間周期が3秒以内である場合には、NATサーバ410とサービスサーバ1(420)との間のピンホールは持続的に維持されてよい。言い換えれば、クライアント310は、NATサーバ410とサービスサーバ1(420)との間のピンホールを維持するために、ハートビート信号を送信する時間周期をピンホール時間以内に維持する必要がある。したがって、クライアント310は、大略的なピンホール時間を認知する必要性(一例として、ハートビート信号を送信する時間周期を、少なくともどれ程の時間以内に設定しなければならないかを把握する必要)がある。
このようなピンホール時間の把握のために、クライアント310は、応答遅延時間Dが設定されたハートビート信号をサービスサーバ1(420)に送信してよい。ハートビート信号を受信したサーバ1(420)は、設定された応答遅延時間Dが経過した後に応答信号をクライアント310に送信してよい。クライアント310は、D+a時間(aは予め設定された時間)が経過した後にもサービスサーバ1(420)から応答信号が受信されない場合、エコーサーバ330にパケットを送信してよい。エコーサーバ330からパケットに対する応答が受信された場合、クライアント310は、ネットワーク170には問題がないと判断し、応答遅延時間Dが長すぎてピンホールが閉じてしまった関係性によってサービスサーバ1(420)が応答信号を送信できなかったか、またはサービスサーバ1(420)に障害が発生した可能性が存在することを認識できるようになる。この場合、クライアント310は、応答遅延時間Dを減らしたD’が設定されたハートビート信号をサービスサーバ1(420)に送信してよい。
例えば、応答遅延時間Dが5秒であり、ピンホール時間が3秒であると仮定する。応答遅延時間5秒が設定されたハートビート信号を受信したNATサーバ410は、ピンホールを設定してサービスサーバ1(420)にハートビート信号を送信してよく、サービスサーバ1(420)は、5秒後に応答信号を生成してNATサーバ410送信しようとする。しかし、ピンホール時間が3秒であり、ピンホールは既に閉まっているため、サービスサーバ1(420)は応答信号を送信することができなくなる。応答信号を受信することができなかったクライアント310は、エコーサーバ330にパケットを送信し、エコーサーバ330からパケットに対する応答を受信したクライアント310は、アクセスネットワークには問題がなく、応答遅延時間5秒が設定されたピンホール時間よりも長いため、サービスサーバ1(420)から応答信号を受けることができなかったという可能性を把握できるようになる。したがって、クライアント310は、応答遅延時間5秒を半分(実施形態によって応答遅延時間の減少量は異なってよい)である2.5秒に減らしてハートビート信号を再送してよい。この場合、サービスサーバ1(420)は、2.5秒後に応答信号を送信するようになり、ピンホール時間が3秒であるピンホールはまだ開いているため、応答信号はNATサーバ410を経てクライアント310に伝達されるようになる。この場合、クライアント310は、2.5秒が少なくともピンホール時間以内であるということが分かる。
クライアント310は、応答遅延時間を調節し続けながらハートビート信号を送信することにより、正確なピンホール時間を測定することも可能である。例えば、エコーサーバ330から持続的にパケットに対する応答が受信されると仮定するとき、サービスサーバ1(420)から応答信号を受けたクライアント310は、最初の応答遅延時間5秒と2回目の応答遅延時間2.5秒の中間である3.75秒を応答遅延時間として設定してハートビート信号を送信してよい。この場合、3秒間のピンホール時間を考慮すると、クライアント310は応答信号を受けることができなく、したがって2.5秒と3.75秒の中間である3.125秒の応答遅延時間で設定されたハートビート信号をサービスサーバ1(420)に再送してよい。この場合にも、3秒のピンホール時間を考慮すると、クライアント310は応答信号を受けることができなく、したがって2.5秒と3.125秒の中間である2.8125秒の応答遅延時間で設定されたハートビート信号をサービスサーバ1(420)に再送してよい。この場合には、3秒のピンホール時間を考慮すると、クライアント310が応答信号を受信できるようになり、したがって2.8125秒がピンホール時間以内であることが把握できるようになる。
適切なピンホール時間(上述した例では2.8125秒)が探索された後、クライアント310は、探索されたピンホール時間を周期としてハートビート信号を送信してよい。この場合、応答遅延時間は0秒に設定されてよい。2.8125秒は2.5秒に比べて長いため、クライアント310は、ハートビート信号の送信回数を減らしながらもピンホールを維持させることができるようになる。
エコーサーバ330からパケットに対する応答が持続的に受信され、応答遅延時間を最小(一例として、0秒)に減らしてもサービスサーバ1(420)から応答信号が受信されない場合、クライアント310は、サービスサーバ1(420)の障害を診断してよい。
エコーサーバ330からパケットに対する応答が受信されない場合、クライアント310は、サービスサーバ1(420)から応答信号を受信することができなかった理由が、ピンホール時間やサービスサーバ1(420)の障害による問題ではなく、アクセスネットワークの障害による問題であると決定してよい。したがって、クライアント310は、応答遅延時間はそのまま維持(一例として、最初の5秒)した状態で、ハートビート信号をサービスサーバ1(110)に送信してよい。サービスサーバ1(420)とエコーサーバ330の両方から一定カウント以上の応答がない場合、クライアント310は、ネットワークの障害を診断してよい。
このようにクライアント310は、ピンホールの維持のための適切なハートビート信号の送信周期(またはピンホール時間)を探索する過程においてエコーサーバ330を活用することにより、ネットワークの障害によってハートビート信号の送信周期やピンホール時間を誤測定するようになるという問題を解決することができる。
図5は、本発明の一実施形態における、持続性管理方法の例を示したフローチャートである。本実施形態に係る持続性管理方法は、上述したクライアント310がインストールおよび駆動される電子機器1(110)のようなコンピュータ装置によって実行されてよい。このとき、電子機器1(110)のプロセッサ212は、メモリ211が含むオペレーティングシステムのコードおよび/またはクライアント310のコードによる制御命令(instruction)を実行するように実現されてよい。ここで、プロセッサ212は、電子機器1(110)に格納されたコードが提供する制御命令にしたがって電子機器1(110)が図5の持続性管理方法の含む段階510〜540を実行するように電子機器1(110)を制御してよい。
段階510で、電子機器1(110)は、ネットワークを介してサービスを提供するサーバにハートビート(heartbeat)信号を送信してよい。ここで、サーバは、上述したサービスサーバ320やサービスサーバ1(410)に対応してよく、クライアント310によって電子機器1(110)で識別されてよい。
段階520で、電子機器1(110)は、応答信号を受信したか否かを確認してよい。このとき、電子機器1(110)は、サービスを提供するサーバから応答信号が受信された場合には再び段階510を実行してハートビート信号を周期的に送信してよく、サービスを提供するサーバから応答信号が受信されない場合には段階530を実行してよい。
段階530で、電子機器1(110)は、クライアントによって識別されるエコーサーバにパケットを送信してよい。クライアントは、上述したクライアント310に対応してよく、エコーサーバは、上述したエコーサーバ330に対応してよい。上述したように、エコーサーバは、受信したパケットに対して即時に応答を送信するように実現されてよく、障害が発生しないと仮定されてよい。
段階540で、電子機器1(110)は、エコーサーバからパケットに対する応答が受信されるか否かに基づいてサービス持続性の可否を決定してよい。サービス持続性の可否は、図3および図4を参照しながら上述したように、ネットワーク障害とサーバ障害を選別的に診断したり、ピンホールの維持のためのハートビート信号の送信周期(またはピンホール時間)の判別過程において活用されたりしてよい。
図6は、本発明の一実施形態における、ネットワーク障害とサーバ障害を選別的に診断する過程の例を示した図である。図6の段階610〜650は、図5を参照しながら説明した段階540に含まれて実行されてよい。
段階610で、電子機器1(110)は、パケットに対する応答を受信したか否かを確認してよい。このとき、電子機器1(110)は、エコーサーバからパケットに対する応答が受信された場合には段階620を、受信されない場合には段階650を実行してよい。
段階620で、電子機器1(110)は、「NoResponseCount」を1だけ増加させてよい。エコーサーバからパケットに対する応答が受信されたということは、アクセスネットワークには問題がないことを意味してよく、したがってサーバ障害の可能性を意味してよい。実施形態によっては、エコーサーバからパケットに対する応答が受信されたということ自体をサーバの障害として設定してもよいが、より確実な診断のために、「NoResponseCount」と「MaxWaitResponseCount」のような変数が活用されてよい。
段階630で、電子機器1(110)は、「NoResponseCount」が「MaxWaitResponseCount」を超過するかを確認してよい。このとき、電子機器1(110)は、「NoResponseCount」が「MaxWaitResponseCount」を超過する場合には段階640を実行してよく、「NoResponseCount」が「MaxWaitResponseCount」を超過しない場合には段階510を再実行することにより、ハートビート信号が周期的にサービスを提供するサーバに送信されるようにしてよい。このとき、段階520で、ハートビート信号に対する応答信号がサーバから受信されない場合は、再び段階530によってエコーサーバにパケットが送信されてよく、再び段階540が実行されてよい。
「MaxWaitResponseCount」が「0」であれば、エコーサーバからパケットに対する応答が受信されたということ自体がサーバの障害を意味するものと設定された実施形態を示してよい。
段階640で、電子機器1(110)は、サーバの障害を診断してよい。上述したように、サーバの障害を診断するということは、クライアントが現在の状況をサーバに障害が発生したものと決定し、これによる後続動作を処理(一例として、他のサーバを経てサービス連結を試行)することを意味してよい。
段階650で、電子機器1(110)は、ネットワークの障害を診断した後、「NoResponseCount」を0に初期化してよい。言い換えれば、電子機器1(110)は、サーバからハートビート信号に対する応答信号を受信できなかったことはネットワークの障害によるものであり、サーバがサービス持続性を維持していると決定してよく、このために、サーバからの応答信号を待機しようと「NoResponseCount」を0に初期化してよい。実施形態によっては、電子機器1(110)は、エコーサーバからパケットに対する応答が受信されなかった回数をカウントし、カウントされた回数が予め設定された回数を超過する場合にネットワーク障害を診断してもよい。この場合、予め設定された回数は、「MaxWaitResponseCount」よりも少なくてもよい。
図7は、本発明の一実施形態における、大略的なピンホール時間を探索する過程の例を示した図である。段階710〜730は、図5を参照しながら説明した段階510〜段階530に対応してよいが、ピンホール時間の探索のために、詳細な進行段階は変更されてもよい。
段階710で、電子機器1(110)は、ネットワークを介してサービスを提供するサーバにハートビート(heartbeat)信号を送信してよい。ここで、サーバは、上述したサービスサーバ320やサービスサーバ1(410)に対応してよく、クライアント310によって電子機器1(110)で識別されてよい。また、ハートビート信号には、サーバのための応答遅延時間Dが設定されてよい。
段階720で、電子機器1(110)は、応答信号を受信したか否かを確認してよい。このとき、電子機器1(110)は、サービスを提供するサーバから応答信号が受信された場合には再び段階780を実行してよく、応答信号が受信されない場合には段階730を実行してよい。
段階730で、電子機器1(110)は、クライアントによって識別されるエコーサーバにパケットを送信してよい。クライアントは、上述したクライアント310に対応してよく、エコーサーバは、上述したエコーサーバ330に対応してよい。上述したように、エコーサーバは、受信されるパケットに対して即時に応答を送信するように実現されてよく、障害が発生しないと仮定されてよい。
段階740で、電子機器1(110)は、パケットに対する応答を受信したか否かを確認してよい。電子機器1(110)は、応答が受信される場合には段階750を実行してよく、応答が受信されない場合には段階790を実行してよい。
段階750で、電子機器1(110)は、応答遅延時間を減らしてよい。上述したように、サービスを提供するサーバからは応答信号が受信されないが、エコーサーバからは応答が受信される場合には、サーバの障害、もしくは応答遅延時間がピンホール時間よりも長くてピンホールが閉じてしまった場合が考慮される。このとき、ピンホールが閉じた場合を判断するために、電子機器1(110)は、応答遅延時間を減らしてよい。
段階760で、電子機器1(110)は、応答遅延時間が予め設定された時間以下であるかを判断してよい。例えば、予め設定された時間が「0」であり、減った応答遅延時間が「0」の場合、これはピンホールが閉じて応答信号が受信されなかったのではなく、サーバに障害が発生したものと解釈されてよい。応答遅延時間が予め設定された時間よりも長い場合には、再び段階710が実行されてよい。このとき、段階710で送信されるハートビート信号には、段階750で減らされた応答遅延時間が設定されてよい。
段階770で、電子機器1(110)は、サーバの障害を診断してよい。上述したように、段階760で応答遅延時間が予め設定された時間以下の場合、電子機器1(110)はサーバの障害を診断してよく、ピンホール時間を探索するための過程は終了してよい。
段階780で、電子機器1(110)は、応答遅延時間をハートビート信号の送信周期として設定してよい。段階720で、ハートビート信号に対する応答信号が受信されるということは、応答遅延時間が少なくともピンホール時間以内であることを意味してよく、現在の応答遅延時間ごとにハートビート信号を送信すればピンホールを維持できるということを意味してよい。したがって、電子機器1(110)は、段階780で応答遅延時間をハートビート信号の送信周期として設定することにより、ピンホールが維持されるようにすることができる。実施形態によっては、上述したように、より正確なピンホール時間を測定することにより、ピンホールを維持しながらも、ハートビート信号の送信周期を最大化することもできる。
段階790で、電子機器1(110)は、ネットワーク障害を診断してよい。段階740で、エコーサーバからパケットに対する応答が受信されない場合、電子機器1(110)は、アクセスネットワークの障害のようなネットワーク障害を診断してよい。上述したように、電子機器1(110)は、エコーサーバからパケットに対する応答を連続的に受信できなかった回数をカウントし、このような回数が予め設定された回数を超過する場合にはネットワーク障害を診断してもよい。
このように、本発明の実施形態によると、サービスを提供するサーバの問題とネットワークの問題をクライアントで区分して診断することができる。また、クライアントにおいて、サービスを提供するサーバから応答がない場合、別のエコーサーバにパケットを送信し、エコーサーバからの応答の有無に応じてサーバの障害およびネットワークの障害を選別的に診断することができる。さらに、サービスを提供するサーバとNAT(Network Address Translation)間のピンホール時間(pinhole time)を測定するにあたり、エコーサーバを活用することによって適切なピンホール時間を発見することができる。
上述したシステムまたは装置は、ハードウェア構成要素、ソフトウェア構成要素、またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、例えば、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ、マイクロコンピュータ、FPGA(field programmable gate array)、PLU(programmable logic unit)、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、1つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム(OS)および前記OS上で実行される1つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを格納、操作、処理、および生成してもよい。理解の便宜のために、1つの処理装置が使用されるとして説明される場合もあるが、当業者は、処理装置が複数個の処理要素および/または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは1つのプロセッサおよび1つのコントローラを含んでよい。また、並列プロセッサのような、他の処理構成も可能である。
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの1つ以上の組み合わせを含んでよく、思うままに動作するように処理装置を構成したり、独立的または集合的に処理装置に命令したりしてよい。ソフトウェアおよび/またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、仮想装置(virtual equipment)、コンピュータ格納媒体または装置に具現化されてよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で格納されても実行されてもよい。ソフトウェアおよびデータは、1つ以上のコンピュータ読み取り可能記録媒体に格納されてよい。
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータ読み取り可能媒体に記録されてよい。前記コンピュータ読み取り可能媒体は、プログラム命令、データファイル、データ構造などを単独でまたは組み合わせて含んでよい。媒体は、コンピュータによって実行可能なプログラムを継続して格納するものであっても、実行またはダウンロードのために臨時格納するものであってもよい。また、媒体は、単一または複数のハードウェアが結合した形態の多様な記録手段または格納手段であってよいが、あるコンピュータシステムに直接接続する媒体に限定されることはなく、ネットワーク上に分散存在するものであってもよい。媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク、および磁気テープのような磁気媒体、CD−ROM、DVDのような光媒体、フロプティカルディスク(floptical disk)のような光磁気媒体、およびROM、RAM、フラッシュメモリなどを含み、プログラム命令語が格納されるように構成されたものであってよい。また、媒体の他の例として、アプリケーションを流通するアプリストアやその他の多様なソフトウェアを供給あるいは流通するサイト、サーバなどで管理する記録媒体あるいは格納媒体が挙げられてもよい。プログラム命令の例には、コンパイラによって生成されるもののような機械語コードだけではなく、インタプリタなどを使用してコンピュータによって実行される高級言語コードを含む。
以上のように、実施形態を、限定された実施形態と図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ/あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。
310:クライアント
320:サービスサーバ
330:エコーサーバ
しかし、サービスサーバ320が正常にサービスを提供しているにもかかわらず、クライアント310がネットワーク170の状態(一例として、モバイル環境において、モバイル端末がアクセスネットワークに接続する状態)によっては、ハートビート信号に対する応答信号をサービスサーバ320から受信できない場合が発生することがある。上述したように、従来技術のクライアントは、このようなネットワーク障害(一例として、モバイル環境において、クライアントが隠蔽地域に位置することによってアクセスネットワークに接続できない状態や、アクセスネットワークの状態が良くなくてクライアントの接続を処理できない状態)を、サービスを提供するサーバの障害として誤判断したり、持続的なサービスが不可能であると誤判断したりしてしまうという問題がある。
図5は、本発明の一実施形態における、持続性管理方法の例を示したフローチャートである。本実施形態に係る持続性管理方法は、上述したクライアント310がインストールおよび駆動される電子機器1(110)のようなコンピュータ装置によって実行されてよい。このとき、電子機器1(110)のプロセッサ212は、メモリ211が含むオペレーティングシステムのコードおよび/またはクライアント310のコードによる制御命令(instruction)を実行するように実現されてよい。ここで、プロセッサ212は、電子機器1(110)に格納されたコードが提供する制御命令にしたがって電子機器1(110)が図5の持続性管理方法含む段階510〜540を実行するよう電子機器1(110)を制御してよい。
段階540で、電子機器1(110)は、エコーサーバからパケットに対する応答が受信されるか否かに基づいてサービス持続性の可否を決定してよい。サービス持続性の可否は、図3および図4を参照しながら上述したように、ネットワーク障害とサーバ障害を選別的に診断したり、ピンホールの維持のためのハートビート信号の送信周期(またはピンホール時間)を判別したりする過程において活用されたりしてよい。

Claims (20)

  1. コンピュータと結合して持続性管理方法をコンピュータに実行させるためにコンピュータで読み取り可能な記録媒体に格納されたコンピュータプログラムであって、
    前記持続性管理方法は、
    ネットワークを介してサービスを提供するサーバにハートビート(heartbeat)信号を送信する段階、
    前記サーバからハートビート信号に対する応答信号が受信されない場合、前記コンピュータプログラムによって識別されるエコーサーバにパケットを送信する段階、および
    前記エコーサーバから前記パケットに対する応答が受信されるか否かに基づいてサービスの持続性の可否を決定する段階
    を含むことを特徴とする、コンピュータプログラム。
  2. 前記サービスの持続性の可否を決定する段階は、
    前記エコーサーバから前記パケットに対する応答が受信されるか否かに応じて前記サーバの障害および前記ネットワークの障害のうちのいずれか1つを選別的に診断することを特徴とする、請求項1に記載のコンピュータプログラム。
  3. 前記エコーサーバから前記パケットに対する応答が受信された場合、前記サーバの障害を診断することを特徴とする、請求項2に記載のコンピュータプログラム。
  4. 前記サービスの持続性の可否を決定する段階は、
    前記サーバからはハートビート信号に対する応答信号が受信されず、前記エコーサーバからは前記パケットに対する応答が受信される状況が予め設定された回数だけ連続的に繰り返された場合、前記サーバの障害を診断することを特徴とする、請求項2に記載のコンピュータプログラム。
  5. 前記サービスの持続性の可否を決定する段階は、
    前記エコーサーバから前記パケットに対する応答が受信されない場合、前記ネットワークの障害を診断することを特徴とする、請求項2に記載のコンピュータプログラム。
  6. 前記サービスの持続性の可否を決定する段階は、
    前記サーバからはハートビート信号に対する応答信号が受信されず、前記エコーサーバからも前記パケットに対する応答が受信されない状況が予め設定された回数だけ連続的に繰り返された場合、前記ネットワークの障害を診断することを特徴とする、請求項2に記載のコンピュータプログラム。
  7. 前記サービスの持続性の可否を決定する段階は、
    前記エコーサーバから前記パケットに対する応答が受信された場合、前記サーバに送信される次のハートビート信号に対する前記サーバの応答遅延時間を調節し、前記サーバと前記サーバと連係するNAT(Network Address Translation)サーバ間のピンホール時間(pinhole time)を測定することを特徴とする、請求項1に記載のコンピュータプログラム。
  8. 前記サービスの持続性の可否を決定する段階は、
    前記エコーサーバから前記パケットに対する応答が受信された場合、前記次のハートビート信号に対する前記サーバの応答遅延時間を減らすことを特徴とする、請求項7に記載のコンピュータプログラム。
  9. 前記ピンホール時間が測定された場合、前記測定されたピンホール時間ごとに前記サーバに応答遅延時間がないハートビート信号を送信する段階
    をさらに含むことを特徴とする、請求項7に記載のコンピュータプログラム。
  10. 前記エコーサーバは、受信されるパケットに対して即時に応答を送信するように実現されることを特徴とする、請求項1に記載のコンピュータプログラム。
  11. クライアントの持続性管理方法であって、
    ネットワークを介してサービスを提供するサーバにハートビート(heartbeat)信号を送信する段階、
    前記サーバからハートビート信号に対する応答信号が受信されない場合、前記クライアントによって識別されるエコーサーバにパケットを送信する段階、および
    前記エコーサーバから前記パケットに対する応答が受信されるか否かに基づいてサービスの持続性の可否を決定する段階
    を含むことを特徴とする、持続性管理方法。
  12. 前記サービスの持続性の可否を決定する段階は、
    前記エコーサーバから前記パケットに対する応答が受信されるか否かに応じて前記サーバの障害および前記ネットワークの障害のうちのいずれか1つを選別的に診断することを特徴とする、請求項11に記載の持続性管理方法。
  13. 前記エコーサーバから前記パケットに対する応答が受信された場合には前記サーバの障害を診断し、前記エコーサーバから前記パケットに対する応答が受信されない場合には前記ネットワークの障害を診断することを特徴とする、請求項12に記載の持続性管理方法。
  14. 前記サービスの持続性の可否を決定する段階は、
    前記サーバからはハートビート信号に対する応答信号が受信されず、前記エコーサーバからは前記パケットに対する応答が受信される状況が予め設定された回数だけ連続的に繰り返された場合には、前記サーバの障害を診断し、前記サーバからはハートビート信号に対する応答信号が受信されず、前記エコーサーバからも前記パケットに対する応答が受信されない状況が予め設定された回数だけ連続的に繰り返された場合には、前記ネットワークの障害を診断することを特徴とする、請求項12に記載の持続性管理方法。
  15. 前記サービスの持続性の可否を決定する段階は、
    前記エコーサーバから前記パケットに対する応答が受信された場合、前記サーバに送信される次のハートビート信号に対する前記サーバの応答遅延時間を調節し、前記サーバと前記サーバと連係するNAT(Network Address Translation)サーバ間のピンホール時間(pinhole time)を測定することを特徴とする、請求項11に記載の持続性管理方法。
  16. 前記サービスの持続性の可否を決定する段階は、
    前記エコーサーバから前記パケットに対する応答が受信された場合、前記次のハートビート信号に対する前記サーバの応答遅延時間を減らすことを特徴とする、請求項15に記載の持続性管理方法。
  17. 請求項11〜16のうちのいずれか一項に記載の方法をコンピュータに実行させるためのプログラムが記録されていることを特徴とする、コンピュータ読み取り可能記録媒体。
  18. クライアントが駆動されるコンピュータ装置であって、
    コンピュータ読み取り可能命令を実行するように実現される少なくとも1つのプロセッサ
    を含み、
    前記少なくとも1つのプロセッサは、
    ネットワークを介してサービスを提供するサーバにハートビート(heartbeat)信号を送信し、
    前記サーバからハートビート信号に対する応答信号が受信されない場合、前記クライアントによって識別されるエコーサーバにパケットを送信し、
    前記エコーサーバから前記パケットに対する応答が受信されるか否かに基づいてサービスの持続性の可否を決定すること
    を特徴とする、コンピュータ装置。
  19. 前記少なくとも1つのプロセッサは、
    前記エコーサーバから前記パケットに対する応答が受信されるか否かに応じて前記サーバの障害および前記ネットワークの障害のうちのいずれか1つを選別的に診断することを特徴とする、請求項18に記載のコンピュータ装置。
  20. 前記少なくとも1つのプロセッサは、
    前記エコーサーバから前記パケットに対する応答が受信される場合、前記サーバに送信される次のハートビート信号に対する前記サーバの応答遅延時間を調節し、前記サーバと前記サーバと連係するNAT(Network Address Translation)サーバ間のピンホール時間(pinhole time)を測定することを特徴とする、請求項18に記載のコンピュータ装置。
JP2018190990A 2017-11-08 2018-10-09 ネットワークサービス持続性管理 Active JP7212491B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2017-0147823 2017-11-08
KR1020170147823A KR101986695B1 (ko) 2017-11-08 2017-11-08 네트워크 서비스 지속성 관리

Publications (2)

Publication Number Publication Date
JP2019087993A true JP2019087993A (ja) 2019-06-06
JP7212491B2 JP7212491B2 (ja) 2023-01-25

Family

ID=66327850

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018190990A Active JP7212491B2 (ja) 2017-11-08 2018-10-09 ネットワークサービス持続性管理

Country Status (4)

Country Link
US (1) US10931512B2 (ja)
JP (1) JP7212491B2 (ja)
KR (1) KR101986695B1 (ja)
CN (1) CN109756387B (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102178310B1 (ko) * 2019-06-03 2020-11-12 한전케이디엔 주식회사 Dds 통신의 연속성 보장을 위한 방법
CN111131016A (zh) * 2020-01-02 2020-05-08 中车青岛四方车辆研究所有限公司 网络设备故障诊断方法、切换方法及故障诊断系统
CN115051968A (zh) * 2021-02-26 2022-09-13 华为技术有限公司 推送消息的发送方法、电子设备及可读介质
CN113573301B (zh) * 2021-09-24 2022-06-24 北京智芯微电子科技有限公司 无线通信终端多通道切换方法、装置及存储介质
CN117472656B (zh) * 2023-11-10 2024-06-14 北京明朝万达科技股份有限公司 热备式服务集群的权限转移方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010258969A (ja) * 2009-04-28 2010-11-11 Secom Co Ltd 通信障害検出システム
US20120039165A1 (en) * 2009-04-28 2012-02-16 Andrew Brown Network Interface

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7483437B1 (en) * 2003-11-20 2009-01-27 Juniper Networks, Inc. Method of communicating packet multimedia to restricted endpoints
KR101309556B1 (ko) 2006-05-18 2013-09-24 에스케이플래닛 주식회사 모바일 네트워크 게임의 재접속 방법 및 시스템, 그를 위한게임 서버
JP2010103695A (ja) * 2008-10-22 2010-05-06 Ntt Data Corp クラスタシステム、クラスタサーバ及びクラスタ制御方法
US20120124431A1 (en) * 2010-11-17 2012-05-17 Alcatel-Lucent Usa Inc. Method and system for client recovery strategy in a redundant server configuration
US9235485B2 (en) * 2013-07-22 2016-01-12 International Business Machines Corporation Moving objects in a primary computer based on memory errors in a secondary computer

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010258969A (ja) * 2009-04-28 2010-11-11 Secom Co Ltd 通信障害検出システム
US20120039165A1 (en) * 2009-04-28 2012-02-16 Andrew Brown Network Interface

Also Published As

Publication number Publication date
CN109756387A (zh) 2019-05-14
CN109756387B (zh) 2023-06-13
KR20190052279A (ko) 2019-05-16
JP7212491B2 (ja) 2023-01-25
KR101986695B1 (ko) 2019-06-07
US20190140888A1 (en) 2019-05-09
US10931512B2 (en) 2021-02-23

Similar Documents

Publication Publication Date Title
JP2019087993A (ja) ネットワークサービス持続性管理
US10728168B2 (en) Method for providing a connection of a client to an unmanaged service in a client-server remote access system
US11509505B2 (en) Method and apparatus for operating smart network interface card
US9292319B2 (en) Global computing interface
US10069688B2 (en) Dynamically assigning, by functional domain, separate pairs of servers to primary and backup service processor modes within a grouping of servers
JP6944805B2 (ja) 機器間アプリケーション連動方法およびシステム
JP7016205B2 (ja) メッセージ基盤の通知を提供するための方法およびシステム
US10725890B1 (en) Program testing service
US9092287B2 (en) Product deployment system
JP6794195B2 (ja) 位置離脱による通知を提供するシステムおよびコンピュータプログラム
US11354152B2 (en) Self-evolving microservices
JP6830528B2 (ja) ユーザ活動情報を共有する方法およびシステム
CN107783844A (zh) 一种计算机程序运行异常检测方法、装置和介质
US20210117306A1 (en) Systems and methods for probing virtual, web and saas applications
KR20240049261A (ko) 대화방 임베디드형 컨텐츠를 제공하는 방법, 시스템, 및 컴퓨터 프로그램
US11522864B1 (en) Secure identity transfer
CN115604144A (zh) 测试方法及装置、电子设备和存储介质
CN106875765B (zh) 一种基于vdi的电子教室实现方法及装置
JP6285579B2 (ja) ロングポーリング処理方法およびシステム、並びに記録媒体
KR20200137908A (ko) 휴대 단말기에서 채팅방 관리 방법 및 그 장치
CN113296911B (zh) 集群调用方法、集群调用装置、电子设备及可读存储介质
WO2018030553A1 (ko) 메신저 상에서 자동 응답 기능을 제공하는 방법 및 시스템
US20230347531A1 (en) Automatic end-to-end testing of mobile applications displaying optical barcodes
JP2022049681A (ja) キーワード返答ボットを利用してチャットルームの運営を管理する方法およびシステム
CN114153472A (zh) 裸金属服务器部署方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181009

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20210414

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20210412

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211001

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220802

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220929

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221220

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230113

R150 Certificate of patent or registration of utility model

Ref document number: 7212491

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350