[go: up one dir, main page]

JP4884520B2 - データ収集方法およびシステム - Google Patents

データ収集方法およびシステム Download PDF

Info

Publication number
JP4884520B2
JP4884520B2 JP2009277182A JP2009277182A JP4884520B2 JP 4884520 B2 JP4884520 B2 JP 4884520B2 JP 2009277182 A JP2009277182 A JP 2009277182A JP 2009277182 A JP2009277182 A JP 2009277182A JP 4884520 B2 JP4884520 B2 JP 4884520B2
Authority
JP
Japan
Prior art keywords
data
node
identifier
child
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009277182A
Other languages
English (en)
Other versions
JP2011120122A (ja
Inventor
洋 堀井
聰 古関
大賀 中村
民也 小野寺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2009277182A priority Critical patent/JP4884520B2/ja
Priority to US12/961,592 priority patent/US10171258B2/en
Publication of JP2011120122A publication Critical patent/JP2011120122A/ja
Application granted granted Critical
Publication of JP4884520B2 publication Critical patent/JP4884520B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • H04L12/1868Measures taken after transmission, e.g. acknowledgments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1887Scheduling and prioritising arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/189Transmission or retransmission of more than one copy of a message
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1854Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with non-centralised forwarding system, e.g. chaincast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/44Star or tree networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/3668Testing of software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • H04L45/488Routing tree calculation using root node determination

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、高信頼のデータ収集方法に関し、特に複数のクライアントがサーバに継続して安定してデータ送信する方法に関する。
Webサーバとブラウザのような、クライアント主導でデータをサーバに送信する仕組み(全プッシュ型)や、サーチエンジンのページ回収ロボットのような、サーバ主導で全クライアントにデータを回収する仕組み(全プル型)では、収集するデータ単位が小さいため、サーバの負荷が高くなる。たとえば、データ収集ツリーの上位層にいるクライアントは、常に大量のデータを受信し、送信する必要がある。そのため、ツリー構造を固定にした場合、特定のクライアントの負荷が集中しやすくなってしまう。
例えば特許文献1は、階層構造のネットワークシステムにおいて各ノードが属する階層を変更する際、サーバからのストリーミング配信を途切れさせることなく階層を入れ替えるための技術を開示している。特に、自ノードと通信相手の上位・下位ノードのバッファリング量、ハードウェア資源、転送速度に基づく指標に基づいて適切な入れ替えを行う技術を開示している。しかしながらこの技術では単純に配信能力の高いクライアントが階層の上位に置かれるため、能力の高いクライアントに常時負荷が集中するとともに、能力の高いクライアントの障害が生じた場合配信が不可能になる。複数のクライアントが1サーバにデータを継続に安定して送信するための、特定のクライアントに負荷が集中することない高信頼のデータ収集という課題に対する解決方法を示していない。
特許文献2は、アプリケーションレイヤーマルチキャスト通信(一斉配信)において、信頼性を実現するためにマルチキャストされる各データの受信可否 (ACK/NACK) を各受信者が通知し、またそれに基づいてデータ再送を行う手法に関するものであり、特に、ACK/NACK の通知とデータ再送を、マルチキャストツリー上で同一の親を持つ兄弟ノード間でローカルに行うことを特徴としています。この方法はマルチキャスト、すなわちサーバから各受信者に同一のデータを一斉配信する場合を想定しており、それにより初めて受信確認および再送を兄弟ノード間でローカルに行うことが可能になる。しかしながら、各クライアントがそれぞれのデータをサーバに送信する場合において、サーバが受信したことの確認を必要とする状況には適用できない。非特許文献1はP2G(Peer to Group)の技術に関する論文である。
特開2009-044661 特開2007-228064
清水周一、"多候補送信の再帰的ルーティングによる安定した端末型マルチキャスト" 情報処理学会論文誌,Vol.49 No.3 2008年3月
従って、本発明は複数のクライアントがサーバに継続してデータを安定して送信することを課題とし、そのための方法およびシステムを提供することである。また安定して送信するために、サーバの負荷が小さく、特定のクライアントに負荷が集中することなく、高信頼のデータ収集する方法およびシステムを提供することである。
本発明は上記課題を解決するために、記憶装置を有する複数のクライアント・コンピュータからサーバにデータを収集する方法であって、前記データ収集毎に、サーバを最上位ノードとし、前記複数のクラインアント・コンピュータを子ノードとしてツリー構造の収集ネットワークを既定の間隔で再構築するステップと、前記サーバが前記収集ネットワークに基づき子ノードに親子宣言をブロードキャストするステップと、親子宣言を受信したノードは送受信データの対応関係を記録する識別子対応表を前記記憶装置に作成するステップと、各ノードが前記収集ネットワークに基づきデータを親ノードに転送する際、前記識別子対応表に送受信データの対応関係を記録するステップとを有する方法を開示する。
ここで、前記識別子対応表が、送信元を示す送信元子ノード名、子ノードから受信したデータの識別子である受信複合データ識別子、ノード自身が生成したデータの識別子である生成データ識別子、親ノードに送信するデータの識別子である送信複合データ識別子を有する、ようにする。
前記方法がさらに、サーバが受信したデータに対応するACKを前記収集ネットワークに基づき子ノードに送信するステップを有し、各ノードは、前記識別子対応表を参照して、親ノードからのACKを子ノードが判別可能なACKに変換して送信するステップを有するようにする。
前記方法がさらに、各ノードは前記親ノードからのACK受信をもって、収集ネットワークの終了とし、前記識別子対応表を削除するステップを有するようにする。
また前記ブロードキャストがP2Gで行われるようにしてもよい。
また別の態様として、記憶装置を有する複数のクライアント・コンピュータからサーバにデータを収集するシステムであって、前記データ収集毎に、サーバを最上位ノードとし、前記複数のクラインアント・コンピュータを子ノードとしてツリー構造の収集ネットワークを既定の間隔で再構築する手段と、前記サーバが前記収集ネットワークに基づき子ノードに親子宣言をブロードキャストする手段と、親子宣言を受信したノードは送受信データの対応関係を記録する識別子対応表を前記記憶装置に作成する手段と、各ノードが前記収集ネットワークに基づきデータを親ノードに転送する際、前記識別子対応表に送受信データの対応関係を記録する手段とを有するシステムを開示する。
ここで、前記識別子対応表が、送信元を示す送信元子ノード名、子ノードから受信したデータの識別子である受信複合データ識別子、ノード自身が生成したデータの識別子である生成データ識別子、親ノードに送信するデータの識別子である送信複合データ識別子を有するようにする。
前記システムがさらに、サーバが受信したデータに対応するACKを前記収集ネットワークに基づき子ノードに送信する手段を有し、各ノードは、前記識別子対応表を参照して、親ノードからのACKを子ノードが判別可能なACKに変換して送信する手段を有するようにする。
前記システムがさらに、各ノードは前記親ノードからのACK受信をもって、収集ネットワークの終了とし、前記識別子対応表を削除する手段を有するようにする。
また前記ブロードキャストがP2Gで行われるようにしてもよい。
また別の態様として、記憶装置を有する複数のクライアント・コンピュータからのデータを収集するサーバであって、前記データ収集毎に、サーバを最上位ノードとし、前記複数のクラインアント・コンピュータを子ノードとしてツリー構造の収集ネットワークを既定の間隔で再構築する手段と、前記収集ネットワークに基づき子ノードに親子宣言をブロードキャストする手段と、親子宣言を受信したノードは送受信データの対応関係を記録する識別子対応表を前記記憶装置に作成し、各ノードが前記収集ネットワークに基づきデータを親ノードに転送する際、前記識別子対応表に送受信データの対応関係を記録し、サーバは最上位ノードとして前記転送されたデータを受信する手段とを有するサーバを開示する。
ここで、前記識別子対応表が、送信元を示す送信元子ノード名、子ノードから受信したデータの識別子である受信複合データ識別子、ノード自身が生成したデータの識別子である生成データ識別子、親ノードに送信するデータの識別子である送信複合データ識別子を有するようにする。
前記サーバがさらに、サーバが受信したデータに対応するACKを前記収集ネットワークに基づき子ノードに送信する手段を有し、各ノードは、前記識別子対応表を参照して、親ノードからのACKを子ノードが判別可能なACKに変換して送信する手段を有するようにする。
また別の態様として、サーバに対してデータを収集して送信する、記憶装置を有するクライアント・コンピュータであって、前記サーバが、前記データ収集毎に、前記サーバを最上位ノードとし、クラインアント・コンピュータを子ノードとして既定の間隔で再構築したツリー構造の収集ネットワークを、ブロードキャストされた親子宣言として受信する手段と、親子宣言を受信に伴い、送受信データの対応関係を記録する識別子対応表を前記記憶装置に作成する手段と、前記収集ネットワークに基づき自身のノードの親ノードにデータを転送する際、前記識別子対応表に送受信データの対応関係を記録する手段と、を有するクライアント・コンピュータを開示する。
ここで、前記識別子対応表が、送信元を示す送信元子ノード名、子ノードから受信したデータの識別子である受信複合データ識別子、ノード自身が生成したデータの識別子である生成データ識別子、親ノードに送信するデータの識別子である送信複合データ識別子を有するようにする。
さらに、サーバが受信したデータに対応するACKを前記収集ネットワークに基づき受信する手段を有し、前記識別子対応表を参照して、親ノードからのACKを子ノードが判別可能なACKに変換して送信する手段を有するようにする。
本発明では、クライアントから構成される一過性の収集ネットワーク(ツリー構造)を自律的に生成することにより、専用の中間サーバを不要にすることが可能になる。データ収集ネットワークの定期的な更新を行う仕組みによって、特定ノードの障害による収集の停滞や、収集の負荷集中を避け、レイテンシを低く保つことが可能になる。
また一過性の収集ネットワーク内で、上下ノード間でのデータの集約情報を保持することによって、効率的な送達確認を実現することができる。収集ネットワークをまたがった再送による耐障害性を実現し、送達確認と組み合わせることにより信頼性を確保することが可能になる。
全プッシュ型のノード構成を示す図である。 全プル型のノード構成を示す図である。 ツリー・プル型のネットワークを示す図である。 最初の収集ネットワークを2回目、3回目と再構築する様子を図示したものである。 親子宣言を親ノードから子ノードにブロードキャストする図である。 データ転送の様子を図である。 本発明におけるACKの流れを示す図である。 未送信のデータ送信についてを示す図である。 中継ノードが故障した場合のACKの流れを示す図である。 各サーバまたは各クライアント・ノードが有するコンピュータ・ハードウェアのブロック図を一例である。 サーバの処理のフローチャートを示す。 各ノードにおける識別対応表を示す図である。 ノードにおける収集ネットワークの識別子対応表の作成のフローチャートを示す図である。 ノードにおける収集ネットワークの識別子対応表の記録のフローチャートを示す図である。 ノードにおけるデータの生成およびデータ・レポジトリへの登録のフローチャートを示す図である。 ノードにおける識別子対応表に基づくデータ・レポジトリおよびACKバッファの使用フローチャートを示す図である。
安定したデータ収集には、サーバ負荷を低減し、特定のクライアントへの負荷集中を無くし、高信頼のデータ収集が必要である。Webサーバとブラウザのような、クライアント主導でデータをサーバに送信する仕組み(全プッシュ型)や、サーチエンジンのページ回収ロボットのような、サーバ主導で全クライアントにデータを回収する仕組み(全プル型)では、収集するデータ単位が小さいため、サーバの負荷が高くなってしまう。図1に全プッシュ型のノード構成を示す。図2に全プル型のノード構成を示す。なおノードは通常コンピュータで構成されるので以下、クライアント・コンピュータをクライアント・ノードまたは単にクライアントと記載する。またサーバ・コンピュータは最上位のノードとなる。
そこで、本発明では、全クライアントが、既存のネットワーク上で、サーバを頂点とするツリー状のネットワーク(収集ネットワーク)を構成し、階層的にデータを収集していく方法(ツリー・プル型)を採る。本方法を用いることで、サーバは大きい単位でデータを収集することが可能となり、負荷が軽減する。図3にツリー・プル型のネットワークを示す。
図3では、ツリーの上位にいるクライアントは、常に大量のデータを受信し、送信する必要がある。そのため、ツリー構造を固定にした場合、特定のクライアントの負荷が集中しやすくなってしまう。そこで、定期的にツリー構造を変化させることで、特定のクライアントに負荷を集中させず、分散させることが可能となる。図4には最初の収集ネットワークを2回目、3回目と再構築する様子を図示する。
上記のような一過性のネットワーク上では、各クライアントは、自身のデータをどこまでサーバに送信済みかを認識する必要がある。つまり、ある中継ノードが故障した場合や、ある収集ネットワークが終了した場合、各クライアントは新しい収集ネットワークでどのデータから送信を開始するか、認識する必要がある。そこで本発明では、ある収集ネットワークでサーバが各クライアントに対しどのデータを収集できたか(ACK)を通知する手法を採る。
1つの実施形態としてサーバが各クライアントに、ACKを送信する方法が考えられる。この方法では、サーバが全クライアントに対し、収集ネットワークを利用して、全ACKをブロードキャストするため、サーバの負荷、クライアントの負荷が増える問題点がある。そこで本発明では、サーバが送信するデータ量の小さいACKを各クライアントが解釈し、下位のクライアントにACKとして伝える方法を採る。
[本発明の動作手順]
まずネットワークのツリーを構築する。ツリーの構築には多くの手法が存在する。例えば最も簡単には、サーバは全ノードの存在を仮定して、
(1)サーバが、第一階層のノード集をランダムに決定する
(2)サーバが、決定されていないノードから、第二階層のノード集をランダムに決定し、各ノードの親ノードを第一階層からランダムに決定する。
(3)サーバが、決定されていないノードから、第三階層のノード集をランダムに決定し、各ノードの親ノードを第二階層からランダムに決定する。
(4)以上(1)〜(3)のステップでサーバが、全てのノードを決定したら、その決定した木を第一階層のノードに送信する。
(5)第一階層のノードが、受信した木を、自身の子ノードに転送する。
(6)第二階層のノードが、受信した木を、自身の子ノードに転送する。
以下同様にして末端ノードまで転送する。上記の構築は既定の時間間隔で定期的に実行される。すなわち収集ネットワークは定期的に再構築される。
そのほかの実施例として、P2Gの技術(非特許文献1)を使ってツリーを構成しても良い。P2Gの場合にはサーバが全てノードを知る必要がなく、その代わりにサーバを含む各ノードは任意の数のノードを知っているという状態から機能する。
上記ネットワークの再構築において決定された木の転送時に、親子宣言を行う。図5に親子宣言を親ノードから子ノードにブロードキャストする図を示す。図5ではブロードキャストはP2Gで行っても良い。図5ではサーバから親子宣言(9)が子ノードに送信される。以降の図において水平方向はノード間の通信を表し、垂直方向は時間の流れを表す。本発明ではネットワークの再構築される度に親子宣言がされる。数字9はネットワークの再構築番号を示し、これが9回目のネットワークであることを意味する。親子宣言は上記決定された木に従って、まず1つ下の子ノードAに送られ、Aからその子ノードG、Eに送信される。
親子宣言を受信したノードは送受信データの対応関係を記録するための識別子対応表をクリアする。図12に識別対応表を図示する。識別子対応表は、送信元を示す送信元子ノード名、子ノードから受信したデータの識別子である受信複合データ識別子、ノード自身が生成したデータの識別子である生成データ識別子、親ノードに送信するデータの識別子である送信複合データ識別子を有する。
識別対応表に示されるデータの種類には大きく分けて、生成データと複合データの2種類に分けられる。生成データとは、各ノードが生成するデータであり、生成データIDを持っている。この生成データIDは、各ノード内で一意に決められる。複合データとは、各ノードが親ノードに送信するデータであり、複合データIDを持っている。この複合データIDは、送信するノード側で一意に決定される。送信元子ノード名はデータを送信した子ノードのIDを表す。また送信するデータそのものの記憶領域データ・レポジトリとサーバがデータを受信したことを示すACKのデータを記憶するためのACKバッファを有している。
識別子対応表の役割は、生成データと送信複合データ、受信複合データと送信複合データの対応をとることである。換言すると、各ノードにおいて、何を受信し、何を生成し、何を送信したかを記録した表である。つまり生成データと送信複合データの対応は、生成データIDと、その生成データを含む送信済みの複合データの複合データIDの対応をとる。また受信複合データと送信複合データの対応は、子ノードから受信した複合データの複合データIDと、その複合データを含む送信済みの複合データの複合データIDの対応をとる。なお受信複合データと送信複合データの対応をとる場合は、受信複合データを送信したノードIDの対応もとる。
親子宣言が終了したノードはデータ転送を行う。転送にあたりその内容を識別子対応表に記録する。図6にデータ転送の様子を図示する。末端の階層のノードEは自分の生成したデータe3に送信複合データIDとして10を付与し次の階層における親ノードAにたいして送信する。ノードAにはその他の子ノードGから、送信複合データIDが11のデータg7も受信する。Aの識別子対応表にはこれらが追加される。次にA自身が生成したデータa1とともに送信複合データIDを2としてサーバに送信する。ノードAはサーバにデータを定期的に送信するので、それまでに溜まったデータに送信複合データIDを付与して送信する。以下同様に送信複合データIDとして3を付与して送信する。送信するデータが無い場合には何も送信しない。
サーバは、各クライアントに、受信済みのデータが何か、各クライアントに通知したいが、クライアントごとにACKを送信するのは、通信回数が多くなり、負荷が高い。またデータ収集の際に利用した収集ネットワークで、全ACKをブロードキャストするのも、通信コストが高い。そこで本発明では各ノードが受信したデータと転送したデータの関係を識別子対応表として記録しておき、親ノードからのACKを子ノードが解釈可能なACKに変換する。これにより、各クライアントは、サーバが受信していないデータを認識し、保持する。そして、次の収集ネットワークに移行する前に、親から、どの識別子までが受信されたかを伝えていくことで、効率よくACKを送信する。
このACKの流れを図7に示す。サーバはデータID2および3を受信したことを示すACKを次の階層のノードAに送信する。ノードAは識別対応表から送信複合データIDが2または3である、受信複合データIDを見つける。この場合、ノードEは10および11、ノードGについては11である。ノードAは子ノードE対してデータID10および11を受信したことを示すACKを送信する。同様にGに対してデータID11を受信したことを示すACKを送信する。その後、ノードAは識別対応表から送信複合データIDが2および3の行を削除する。ACKを受信したノードE,Gは識別対応表から送信複合データIDが10または11である行を削除する。このようにしてサーバで受信されたデータのACKが効率よく末端のノードへ到達する。
ACKの受信は収集ネットワークの終了を意味する。各クライアントは以前の識別対応表を破棄して次の収集ネットワーク構築を待機し、次の収集ネットワークを利用して未送信のデータ送信を開始する。図8に未送信のデータ送信について図示する。新しい木に基づいてサーバから親子宣言がなされると各クライアント・ノードは識別対応表を破棄するが、未送信のデータはクリアしない。図8では親子宣言10がサーバから子ノードGに対してなされ、ノードGからその子ノードEに親子宣言がなされる。その際ノードEはデータe5が未送信のためこの行は削除しない。ノードEはその子ノードAに対して親子宣言する。そして未送信であったデータe5を新しい親ノードGに対して送信複合データID13として送信する。
もし、中継ノードが故障してしまったら、ACKは受信できない。その場合は、その収集ネットワークでは全データが送信できていなかったものとし、そのデータを再送対象とする。図9に中継ノードが故障した場合のACKを図示する。中継ノードAの故障によりノードEの送信複合データID13に対するACKが受信できなかった場合、ノードEは次の親子宣言の時にその全データe3,e4,e5を再送信する。図9では親子宣言がサーバから子ノードGに対してなされ、ノードGからその子ノードEに親子宣言がなされる。その際ノードEはACKが受信できなかったデータe3,e4,e5を新しい親ノードGに再送信する。
図11にサーバの処理のフローチャートを示す。まずステップ1102で収集ネットワークiを開始し,識別子対応表iを生成する。次にステップ1104で子ノードの集合iに親子宣言を通知する。そしてステップ1106で子ノードの集合iからデータの受信を開始する。ステップ1108で一定時間データを受信し、識別子対応表iに受信したデータ識別子と子ノード名を記録する。そしてステップ1110で識別子対応表iを利用し、各子ノードに受信したデータの識別子の集合をACKとして送信する。最後に識別子対応表iを破棄する。
図13にクライアント・ノードにおける収集ネットワークの識別子対応表の作成のフローチャートを示す。まずステップ1302で収集ネットワークiの親子宣言を受信する。次にステップ1304で収集ネットワークi以前の識別子対応表を破棄する。次にステップ1306で収集ネットワークiに入っていない子ノードを認識しているか確認する。収集ネットワークiに入っていない子ノードを認識した場合にはステップ1308で認識した子ノードに収集ネットワークiの親子宣言を送信する。収集ネットワークiに入っていない子ノードがない場合はステップ1310で収集ネットワークiの識別子対応表iを生成する。
図14にクライアント・ノードにおける収集ネットワークの識別子対応表の記録のフローチャートを示す。まずステップ1402で収集ネットワークiに対する複合データID(Child)を子ノードcから受信する。次にステップ1404で識別子対応表iが存在するか判断する。ステップ1404で識別子対応表iが存在しない場合にはステップ1406で収集したデータを破棄して終了する。ステップ1404で識別子対応表iが存在する場合にはステップ1408で、cおよびID(Child)を識別子対応表iに記録する。次にステップ1410で親ノードに識別子ID(me)として転送する。最後にcおよびID(child)の行にID(me)を記録する。
図15にクライアント・ノードにおけるデータの生成およびデータ・レポジトリへの登録のフローチャートを示す。ステップ1502でデータdを生成し、データ・レポジトリに登録する。次にステップ1504で識別子対応表が存在するか判断する。識別子対応表がない場合にはステップ1506で識別子対応表が生成されるまで待機する。識別子対応表がある場合にはステップ1508でdを識別子対応表に記録する。そしてステップ1510で親ノードに識別子ID(me)として転送する。次にステップ1512でdの行にID(me)を記録する。次にステップ1514で識別子対応表からdの行が削除されるまで待機する。最後にステップ1516でデータ・レポジトリにdが存在するか判断し、存在しない場合にはステップ1504へ戻り、存在する場合には処理を終了する。
図16にクライアント・ノードにおける識別子対応表に基づくデータ・レポジトリおよびACKバッファの使用フローチャートを示す。ステップ1602で収集ネットワークiのACK{IDme}を受信する。次にステップ1604で収集ネットワークiの識別子対応表iに行が存在するか判断する。もし存在しない場合は処理はステップ1606に進む。
ステップ1606では識別子対応表iを破棄する。次にステップ1608でACKバッファ内の,各cに対応する{IDfrom}を,cに送信する。最後にステップ1610でACKバッファをクリアして終了する。
ステップ1604で収集ネットワークiの識別子対応表に行が存在する場合にはステップ1612に進む。ステップ1612ではまず識別子対応表iの1行を選択する。次にステップ1614で{IDme}が含まれているか判断し、もし含まれていない場合にはステップ1622に進み
選択した1行を破棄してステップ1604に戻る。ステップ1614で{IDme}が含まれている場合には、ステップ1616で自身が生成したデータが対応されているかを判断する。もし自身が生成したデータが対応している場合には、ステップ1618で自身が生成したデータをデータ・レポジトリから破棄する。自身が生成したデータが対応されていない場合にはステップ1620で、対応されるcとIDfromをACKバッファに入れて、ステップ1622へ進む。
<コンピュータ・ハードウェアのブロック図>
図10に本発明の実施態様における、各サーバまたは各クライアント・ノードが有するコンピュータ・ハードウェアのブロック図を一例として示す。本発明の実施形態に係るコンピュータ・システム(1001)は、CPU(1002)とメイン・メモリ(1003)と含み、これらはバス(1004)に接続されている。CPU(1002)は好ましくは、32ビット又は64ビットのアーキテクチャに基づくものであり、例えば、インテル社のXeon(商標)シリーズ、Core(商標)シリーズ、Atom(商標)シリーズ、Pentium(商標)シリーズ、Celeron(商標)シリーズ、AMD社のPhenom(商標)シリーズ、Athlon(商標)シリーズ、Turion(商標)シリーズ及びSempron(商標)などを使用することができる。
バス(1004)には、ディスプレイ・コントローラ(1005)を介して、LCDモニタなどのディスプレイ(1006)が接続されている。ディスプレイ(1006)は、コンピュータ・システムの管理のために、通信回線を介してネットワークに接続されたコンピュータ・システムについての情報と、そのコンピュータ・システム上で動作中のソフトウェアについての情報を、適当なグラフィック・インターフェースで表示するために使用される。バス(1004)にはまた、IDE又はSATAコントローラ(1007)を介して、ハードディスク又はシリコン・ディスク(1008)と、CD−ROM、DVDドライブ又はBlu−rayドライブ(1009)が接続されている。
ハードディスク(1008)には、オペレーティング・システム、本発明のクライアント・サーバ間の通信を行うコードを含むプログラム及びデータが、メイン・メモリ(1003)にロード可能なように記憶されている。本発明の通信処理に使用されるデータはハードディスク(1008)もしくはメイン・メモリ(1003)に格納されCPU(1002)により処理が行われる。
CD−ROM、DVD又はBlu−rayドライブ(1009)は、必要に応じて、CD−ROM、DVD−ROM又はBlu−rayディスクからプログラムをハードディスクに追加導入するために使用される。バス(1004)には更に、キーボード・マウスコントローラ(1010)を介して、キーボード(1011)及びマウス(1012)が接続されている。
通信インタフェース(1014)は、例えばイーサネット(商標)・プロトコルに従う。通信インタフェース(1014)は、通信コントローラ(1013)を介してバス(1004)に接続され、コンピュータ・システム及び通信回線(1015)を物理的に接続する役割を担い、コンピュータ・システムのオペレーティング・システムの通信機能のTCP/IP通信プロトコルに対して、ネットワーク・インターフェース層を提供する。なお、通信回線は、有線LAN環境、或いは例えばIEEE802.11a/b/g/nなどの無線LAN接続規格に基づく無線LAN環境であってもよい。この通信インターフェース(1014)を介してクライアント・サーバ間の通信を行う。

Claims (16)

  1. 記憶装置を有する複数のクライアント・コンピュータからサーバにデータを収集する方法であって、
    前記データ収集毎に、サーバを最上位ノードとし、前記複数のクラインアント・コンピュータを子ノードとしてツリー構造の収集ネットワークを既定の間隔で再構築するステップと、
    前記サーバが前記収集ネットワークに基づき子ノードに親子宣言をブロードキャストするステップと、
    親子宣言を受信したノードは送受信データの対応関係を記録する識別子対応表を前記記憶装置に作成するステップと、
    各ノードが前記収集ネットワークに基づきデータを親ノードに転送する際、前記識別子対応表に送受信データの対応関係を記録するステップと
    を有する方法。
  2. 前記識別子対応表が、送信元を示す送信元子ノード名、子ノードから受信したデータの識別子である受信複合データ識別子、ノード自身が生成したデータの識別子である生成データ識別子、親ノードに送信するデータの識別子である送信複合データ識別子を有する、請求項1記載の方法。
  3. 前記方法がさらに、サーバが受信したデータに対応するACKを前記収集ネットワークに基づき子ノードに送信するステップを有し、
    各ノードは、前記識別子対応表を参照して、親ノードからのACKを子ノードが判別可能なACKに変換して送信するステップを有する、請求項1記載の方法。
  4. 前記方法がさらに、各ノードは前記親ノードからのACK受信をもって、収集ネットワークの終了とし、前記識別子対応表を削除するステップを有する、請求項1記載の方法。
  5. 前記ブロードキャストがP2Gで行われる、請求項1記載の方法。
  6. 記憶装置を有する複数のクライアント・コンピュータからサーバにデータを収集するシステムであって、
    前記データ収集毎に、サーバを最上位ノードとし、前記複数のクラインアント・コンピュータを子ノードとしてツリー構造の収集ネットワークを既定の間隔で再構築する手段と、
    前記サーバが前記収集ネットワークに基づき子ノードに親子宣言をブロードキャストする手段と、
    親子宣言を受信したノードは送受信データの対応関係を記録する識別子対応表を前記記憶装置に作成する手段と、
    各ノードが前記収集ネットワークに基づきデータを親ノードに転送する際、前記識別子対応表に送受信データの対応関係を記録する手段と
    を有するシステム。
  7. 前記識別子対応表が、送信元を示す送信元子ノード名、子ノードから受信したデータの識別子である受信複合データ識別子、ノード自身が生成したデータの識別子である生成データ識別子、親ノードに送信するデータの識別子である送信複合データ識別子を有する、請求項6記載のシステム。
  8. 前記システムがさらに、サーバが受信したデータに対応するACKを前記収集ネットワークに基づき子ノードに送信する手段を有し、
    各ノードは、前記識別子対応表を参照して、親ノードからのACKを子ノードが判別可能なACKに変換して送信する手段を有する、請求項6記載のシステム。
  9. 前記システムがさらに、各ノードは前記親ノードからのACK受信をもって、収集ネットワークの終了とし、前記識別子対応表を削除する手段を有する、請求項6記載のシステム。
  10. 前記ブロードキャストがP2Gで行われる、請求項6記載のシステム。
  11. 記憶装置を有する複数のクライアント・コンピュータからのデータを収集するサーバであって、
    前記データ収集毎に、サーバを最上位ノードとし、前記複数のクラインアント・コンピュータを子ノードとしてツリー構造の収集ネットワークを既定の間隔で再構築する手段と、
    前記収集ネットワークに基づき子ノードに親子宣言をブロードキャストする手段と、
    親子宣言を受信したノードが前記収集ネットワークに基づきデータを親ノードに転送する際、識別子対応表を前記記憶装置に作成し、送受信データの対応関係を前記識別子対応表に記録した後、転送されたデータを、最上位ノードとして受信する手段と
    を有するサーバ。
  12. 前記識別子対応表が、送信元を示す送信元子ノード名、子ノードから受信したデータの識別子である受信複合データ識別子、ノード自身が生成したデータの識別子である生成データ識別子、親ノードに送信するデータの識別子である送信複合データ識別子を有する、請求項11記載のサーバ。
  13. 前記サーバがさらに、サーバが受信したデータに対応するACKを前記収集ネットワークに基づき子ノードに送信する手段を有し、
    各ノードは、前記識別子対応表を参照して、親ノードからのACKを子ノードが判別可能なACKに変換して送信する手段を有する、請求項11記載のサーバ。
  14. データを収集しサーバに送信する、記憶装置を有するクライアント・コンピュータであって、
    前記データ収集毎に、前記サーバを最上位ノードとし、クラインアント・コンピュータを子ノードとして既定の間隔で再構築したツリー構造の収集ネットワークを、ブロードキャストされた親子宣言としてサーバから受信する手段と、
    前記親子宣言の受信に伴い、送受信データの対応関係を記録する識別子対応表を前記記憶装置に作成する手段と、
    前記収集ネットワークに基づき自身のノードの親ノードにデータを転送する際、前記識別子対応表に送受信データの対応関係を記録する手段と、
    を有するクライアント・コンピュータ。
  15. 前記識別子対応表が、送信元を示す送信元子ノード名、子ノードから受信したデータの識別子である受信複合データ識別子、ノード自身が生成したデータの識別子である生成データ識別子、親ノードに送信するデータの識別子である送信複合データ識別子を有する、請求項14記載のクライアント・コンピュータ。
  16. さらに、サーバにおいて受信したデータに対応するACKを前記収集ネットワークに基づき受信する手段を有し、
    前記識別子対応表を参照して、親ノードからのACKを子ノードが判別可能なACKに変換して送信する手段
    を有する、請求項14記載のクライアント・コンピュータ。
JP2009277182A 2009-12-07 2009-12-07 データ収集方法およびシステム Expired - Fee Related JP4884520B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009277182A JP4884520B2 (ja) 2009-12-07 2009-12-07 データ収集方法およびシステム
US12/961,592 US10171258B2 (en) 2009-12-07 2010-12-07 Data collection method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009277182A JP4884520B2 (ja) 2009-12-07 2009-12-07 データ収集方法およびシステム

Publications (2)

Publication Number Publication Date
JP2011120122A JP2011120122A (ja) 2011-06-16
JP4884520B2 true JP4884520B2 (ja) 2012-02-29

Family

ID=44083063

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009277182A Expired - Fee Related JP4884520B2 (ja) 2009-12-07 2009-12-07 データ収集方法およびシステム

Country Status (2)

Country Link
US (1) US10171258B2 (ja)
JP (1) JP4884520B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4884520B2 (ja) * 2009-12-07 2012-02-29 インターナショナル・ビジネス・マシーンズ・コーポレーション データ収集方法およびシステム
JP5852028B2 (ja) * 2013-02-19 2016-02-03 日本電信電話株式会社 通信システム、装置、通信方法、通信プログラムおよびサーバ
US11138178B2 (en) * 2016-11-10 2021-10-05 Futurewei Technologies, Inc. Separation of computation from storage in database for better elasticity
JP7108207B2 (ja) * 2020-10-08 2022-07-28 ダイキン工業株式会社 制御装置、制御システム
CN112383601A (zh) * 2020-11-06 2021-02-19 江苏恒澄交科信息科技股份有限公司 基于数据库索引标记的船舶尾气数据云同步方法及系统

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6455959A (en) 1987-08-27 1989-03-02 Fujitsu Ltd Facsimile communication system
JPH0576183A (ja) 1991-09-12 1993-03-26 Hitachi Ltd 車両用第2発電装置
JPH09270793A (ja) * 1996-04-03 1997-10-14 Sony Corp 通信制御方法
US6505253B1 (en) * 1998-06-30 2003-01-07 Sun Microsystems Multiple ACK windows providing congestion control in reliable multicast protocol
US6917985B2 (en) * 2000-03-10 2005-07-12 The Regents Of The University Of California Core assisted mesh protocol for multicast routing in ad-hoc Networks
US20020150094A1 (en) * 2000-10-27 2002-10-17 Matthew Cheng Hierarchical level-based internet protocol multicasting
US7203743B2 (en) * 2001-12-28 2007-04-10 Nortel Networks Limited Hierarchical tree-based protection scheme for mesh networks
US20050015511A1 (en) * 2003-07-02 2005-01-20 Nec Laboratories America, Inc. Accelerated large data distribution in overlay networks
JP3731885B2 (ja) * 2003-07-03 2006-01-05 インターナショナル・ビジネス・マシーンズ・コーポレーション ディジタル・コンテンツ配信システム、ディジタル・コンテンツ配信方法、そのためのサーバ、クライアント、サーバとしてコンピュータを制御するためのコンピュータ実行可能なプログラムおよびクライアントとしてコンピュータを制御するためのコンピュータ実行可能なプログラム
JP4349047B2 (ja) 2003-09-19 2009-10-21 日本電気株式会社 データ収集方式、基地局、情報処理装置及びデータ収集方法
US7644182B2 (en) * 2004-03-11 2010-01-05 Hewlett-Packard Development Company, L.P. Reconfiguring a multicast tree
US7996558B2 (en) * 2005-03-01 2011-08-09 Industrial Technology Research Institute Methods and systems for a routing protocol
JP4670448B2 (ja) 2005-04-14 2011-04-13 日本電気株式会社 データ収集システム、データ収集方法およびデータ収集プログラム
US20060291452A1 (en) * 2005-06-24 2006-12-28 Motorola, Inc. Method and apparatus for providing reliable communications over an unreliable communications channel
JP4375303B2 (ja) * 2005-08-19 2009-12-02 ブラザー工業株式会社 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置、情報処理プログラムおよびノード装置のプログラム
JP2007228064A (ja) 2006-02-21 2007-09-06 Mitsubishi Electric Corp ネットワークシステムおよび通信装置
US8090241B2 (en) * 2007-05-15 2012-01-03 Broadcom Corporation System and method for simultaneous network recording and playback of digital television programs
JP2009044661A (ja) 2007-08-10 2009-02-26 Seiko Epson Corp ノード装置、ネットワークシステム及びプログラム
WO2009053954A1 (en) * 2007-10-22 2009-04-30 University College Cork - National University Of Ireland, Cork Robust routing of data in wireless networks
JP5122317B2 (ja) 2008-02-08 2013-01-16 関西電力株式会社 無線通信システムおよびそれを用いる給電監視制御システム
JP4884520B2 (ja) * 2009-12-07 2012-02-29 インターナショナル・ビジネス・マシーンズ・コーポレーション データ収集方法およびシステム
US9686051B2 (en) * 2013-12-27 2017-06-20 Lord Corporation Systems, methods, and computer readable media for lossless data transmission in a wireless network

Also Published As

Publication number Publication date
JP2011120122A (ja) 2011-06-16
US20110137971A1 (en) 2011-06-09
US10171258B2 (en) 2019-01-01

Similar Documents

Publication Publication Date Title
JP4857262B2 (ja) エンド・ツー・エンドの信頼性のあるグループ通信のための方法および装置
CN101534205B (zh) 应用层组播网络维护方法、终端和系统
JP4884520B2 (ja) データ収集方法およびシステム
TWI415427B (zh) 同儕即時串流系統與方法
CN1207674C (zh) 在分布式计算环境中进行拓扑传播的方法和系统
JP2016527589A (ja) Icnを通じた大規模な会議のための多層プッシュハイブリッドサービス制御構造
Hofmann Enabling group communication in global networks
Li et al. RDCM: Reliable data center multicast
Anastasi et al. A reliable multicast protocol for distributed mobile systems: Design and evaluation
Gao et al. Toward emulation-based performance assessment of constrained application protocol in dynamic networks
WO2010062384A1 (en) Link data transmission method, node and system
US20080317061A1 (en) Methods and systems for dynamic subring definition within a multi-ring
CN101035088A (zh) 实现本地特定业务二层互通的方法、系统和接入设备
Zhao et al. Building a reliable and high-performance content-based publish/subscribe system
Choi et al. A dual-connectivity mobility link service for producer mobility in the named data networking
Duan et al. Reliable multicast based on congestion-aware cache in icn
CN103368693A (zh) 一种配电网信息交换总线可靠数据传输的方法
Kostić et al. High-bandwidth data dissemination for large-scale distributed systems
CN102457532B (zh) 一种实现多cdn同主题视频共享的方法、装置和系统
Yu et al. Scalable, High-performance NIC-based All-to-all Broadcast over Myrinet/GM
Maihofer et al. A throughput analysis of reliable multicast transport protocols
Jeon et al. Overlay multicast tree recovery scheme using a proactive approach
CN102263669B (zh) 基于组播转换的可控组播系统的网管系统及方法
JP5576497B2 (ja) 通信ネットワークシステム、端末、および構成方法
CN101958845A (zh) 一种覆盖网络环境下的多播路由树前向式重构恢复方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111109

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111206

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

Free format text: PAYMENT UNTIL: 20141216

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees