KR100753833B1 - 이동 애드혹 네트워크 환경에서 데이터 일관성 보장을 위한데이터 중복 시스템 및 방법 - Google Patents

이동 애드혹 네트워크 환경에서 데이터 일관성 보장을 위한데이터 중복 시스템 및 방법 Download PDF

Info

Publication number
KR100753833B1
KR100753833B1 KR1020060041649A KR20060041649A KR100753833B1 KR 100753833 B1 KR100753833 B1 KR 100753833B1 KR 1020060041649 A KR1020060041649 A KR 1020060041649A KR 20060041649 A KR20060041649 A KR 20060041649A KR 100753833 B1 KR100753833 B1 KR 100753833B1
Authority
KR
South Korea
Prior art keywords
data
node
lmh
nodes
transaction
Prior art date
Application number
KR1020060041649A
Other languages
English (en)
Inventor
문애경
Original Assignee
한국전자통신연구원
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 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020060041649A priority Critical patent/KR100753833B1/ko
Application granted granted Critical
Publication of KR100753833B1 publication Critical patent/KR100753833B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • H04W84/20Master-slave selection or change arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/3834Maintaining memory consistency
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/18Service support devices; Network management devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 이동 애드혹 네트워크 환경에서 데이터 일관성을 보장하기 위한 데이터 중복 시스템 및 방법에 관한 것으로, 서버 역할을 하는 LMH(Large Mobile Host) 노드와, 클라이언트 역할을 하는 노드를 SMH(Small Mobile Host) 노드로 구분된 이동 애드혹 네트워크 환경에서 데이터 일관성 보장을 위한 데이터 중복 방법에 있어서, 각각의 SMH 노드들은 액세스 가능한 이웃 LMH 노드들의 리스트를 저장하는 테이블인 N-테이블, 각각의 LMH 노드들은 액세스 가능한 그룹 LMH 노드들의 정보를 저장하는 테이블인 C-테이블, 각각의 LMH 노드들은 갱신 가능한 데이터 집합인 주 사본 정보를 저장하는 테이블인 P-테이블 및 각각의 LMH 노드들은 데이터를 전파하기 위하여 갱신한 데이터 정보를 저장하는 테이블인 U-테이블을 포함하는 자료 구조를 구축하는 단계; 트랜잭션을 판독 전용 트랜잭션과 갱신 트랜잭션으로 분리하는 단계; 및 분리 단계에서의 분리 결과 판독 전용 트랜잭션이라고 판단되는 경우에는 판독 전용 트랜잭션을 수행하는 단계, 및 분리 단계에서의 분리 결과 판독 전용 트랜잭션이 아니라고 판단되는 경우에는 갱신 트랜잭션을 수행하는 단계;로 구성되어, 판독 전용 트랜잭션 실행시 주 사본 노드만 액세스하면 되므로 메시지 전송 오버헤드를 줄어들 수 있다.

Description

이동 애드혹 네트워크 환경에서 데이터 일관성 보장을 위한 데이터 중복 시스템 및 방법{Data double system and method for maintaining the consistent of data in a mobile Ad-hoc network}
도 1은 본 발명인 이동 애드혹 네트워크 환경에서 데이터 일관성 보장을 위한 데이터 중복 시스템에 적용되는 자료 구조이다.
도 2는 본 발명의 바람직한 일 실시예에 따른 트랜잭션 분류 방법에 대한 흐름도이다.
도 3은 본 발명의 바람직한 일 실시예에 따른 판독 전용 트랜잭션의 실행 방법에 대한 흐름도이다.
도 4는 본 발명의 바람직한 일 실시예에 따른 갱신 트랜잭션의 실행 방법에 대한 흐름도이다.
본 발명은 이동 애드혹 네트워크 환경에서 데이터 일관성 보장을 위한 데이터 중복 시스템 및 방법에 관한 것으로, 보다 상세하게는 네트워크 단절 현상이 빈번한 네트워크 환경에서 데이터 액세스률을 높이기 위하여 자신의 지역 저장소에 데이터를 저장할 때 갱신으로 인하여 발생하는 데이터 일관성 보장 문제를 해결하는 방법에 관한 것이다.
이동 애드혹 네트워크(MANET: Mobile Ad hoc Network)는 네트워크 하부 구조를 필요로 하지 않은 이동 단말들로 구성된 네트워크이다. 이와 같은 특성은 네트워크 단절 가능성을 높게 하여 이동 단말들의 데이터 액세스률이 낮아진다는 문제점을 갖는다.
이와 같은 문제점을 해결하기 위하여 이동 단말 노드들은 데이터의 중복 사본을 갖는다. 따라서 이동 노드가 갖는 중복 사본의 데이터 일관성을 유지하기 위하여 별도의 중복관리 기법이 필요하다.
그러나 이동 애드혹 네트워크를 구성하는 이동 노드들은 일반적으로 제한된 전력을 가지고 있고 단절될 가능성이 높기 때문에 중복 사본의 일관성 보장은 어려운 문제로 지적되고 있다.
종래에 제안된 이동 애드혹 네트워크에서의 데이터 중복관리 방법은 데이터 액세스 빈도수를 계산하여 액세스률을 높이는 방법에 주안점을 두고 있고 갱신 데이터의 일관성 보장은 그 어려움 때문에 주로 판독 연산만 고려하였다.
갱신 트랜잭션도 지원하는 경우 대부분 높은 통신비용을 이유로 전역 직렬성을 희생함으로써 데이터 일관성이 보장되지 않는다. 또한 전역 직렬성을 보장하는 경우에는 네트워크 단절로 인한 트랜잭션의 성공률이 낮고 이동 노드가 다수의 서버를 통해서 갱신 연산뿐만 아니라 판독 전용 연산을 실행하기 때문에 통신 오버헤드로 인하여 전력소모가 크다.
보다 구체적으로, 종래의 데이터 중복 방법에 대한 연구들은 액세스 빈도수를 고려하여 액세스 율을 높이고 갱신 연산은 고려하지 않는 연구가 대부분이었다.
갱신 연산을 고려한 중복 방법에 대한 연구로는 Tamori 연구, Hara 연구 및 Karumanchi 의해 제안된 ETS(Eliminate then elect)와 STE(Select then Eliminate)가 있다.
Tamori 연구는 "A Replica Distribution Method with Consideration of the Positions of Mobile Hosts on Wireless Ad-hoc Networks"라는 제목의 논문에서 이동 애드혹 네트워크를 구성하는 모든 이동 노드가 최신의 데이터를 유지하기는 어렵다고 지적하고, 최신 데이터와 갱신 전 데이터를 구별할 수 있는 타임스탬프에 대하여 나타내고 있다.
각 이동 노드는 데이터 식별자 리스트와 타임스탬프 리스트를 갖는다. 데이터가 갱신되는 경우, 노드는 타임스탬프 리스트를 변경하고 최신 버전 데이터를 검사한다. 갱신 전 데이터는 삭제되고 최신 데이터가 저장된다. Tamori 연구는 같은 시간에 동일한 데이터를 액세스하는 경우, 노드들이 서로 다른 값을 사용하는 충돌 현상이 발생할 수 있으므로 근본적으로 데이터 일관성이 보장되지 않는다는 문제점이 있다.
Hara 연구는 "Dynamic Data Replication Using Aperiodic Updates in Mobile Adhoc Networks"라는 제목의 논문에서 데이터들을 원본과 복사본으로 분류하고 원본을 가진 노드에서만 해당 데이터를 갱신할 수 있도록 하였다. 그리고 네트워크가 단절된 경우에는 복사본을 판독하도록하고 연결된 경우 버전을 비교하여 변경된 경 우는 이미 실행된 트랜잭션을 철회한다. 이러한 지연 갱신(lazy update) 중복 기법의 경우 데이터의 일관성에 대한 책임은 사용자가 갖는다.
Karumanchi는 "Information Dissemination in Partitionable Mobile Ad Hoc Networks"이라는 제목의 논문에서 쿼럼 기반 기법인 STE와 ETS를 제안하였다.
쿼럼기법에서는 충돌하는 갱신 연산이 동시에 실행되는 것을 방지함으로써 데이터의 일관성을 보장한다.
하지만 네트워크 단절이 빈번한 이동 애드혹 네트워크 환경에서는 쿼럼에 속하는 일부 서버의 회신으로 갱신 트랜잭션을 진행하기 때문에 전역 직렬성을 보장하기 어렵다. 따라서 STE와 ETS는 판독 연산의 경우 쿼럼 서버들에게 요청하고 회신되어 온 데이터 중 가장 큰 타임스탬프를 가진 것을 선택한다.
즉, 전역 직렬성을 만족하지 않기 때문에 어떤 데이터가 최신 값을 가진 것 인지 결정하기 어렵다. ETS의 경우 전역직렬성을 만족하기 위해서는 쿼럼에 속한 모든 서버로부터 회신이 오지 않으면 트랜잭션을 철회한다. 따라서 네트워크 단절로 인한 트랜잭션의 성공률이 낮고 판독 전용 트랜잭션의 경우에도 다수의 서버에게 요청해야 하기 때문에 통신비용이 높다.
데이터 일관성을 보장하기 위해서는 분산 컴퓨팅에서 주로 사용하는 즉시 갱신(eager update) 기법인 ROWA(Read One Write All)를 적용할 수 있다. ROWA는 갱신 연산은 모든 중복사본 노드의 동의가 있어야 진행가능하기 때문에 네트워크 단절이 발생하면 해당 데이터에 대한 갱신연산을 진행할 수 없다. 즉, 이동 노드 중 한 노드라도 통신이 안 되는 경우에는 갱신 트랜잭션을 실행할 수 없다는 문제점을 갖는다.
Holliday는 "Planned Disconnections for Mobile Databases"라는 논문에서 계획된 단절인 경우 프록시를 설정함으로써 갱신 연산 진행이 가능한 방법을 제시하였지만 임의로 단절되는 경우에는 적용이 어렵다.
상기 종래 기술의 문제점을 해결하기 위한 본 발명은 상대적으로 더 많은 에너지를 소유한 LMH는 완전 중복 데이터베이스를 가지고 있고 데이터를 갱신할 수 있는 주 사본(primary copy) 노드가 되도록 하고, 갱신 트랜잭션은 해당 데이터의 주 사본 권한을 가진 노드에서만 허용하고 단절현상을 고려하여 주 사본 노드 그룹을 형성하고 그룹에 속한 데이터인 경우 갱신 연산이 가능하도록 한다.
또한, 하나의 서버 노드에게 갱신연산을 의뢰하면 수신한 서버 노드를 통하여 갱신 트랜잭션을 실행하고 결과만 전송받음으로써 상대적으로 적은 에너지를 가진 이동 노드의 전력소모를 줄일 수 있도록 한다.
상기 기술적 과제를 해결하기 위한 본 발명의 이동 애드혹 네트워크 환경에서 데이터 일관성 보장을 위한 데이터 중복 시스템은, 서버 역할을 하는 LMH(Large Mobile Host) 노드와, 클라이언트 역할을 하는 노드를 SMH(Small Mobile Host) 노드로 구분된 이동 애드혹 네트워크 환경에서 데이터 일관성 보장을 위한 데이터 중복 시스템에 있어서, 상기 각각의 SMH 노드들은 액세스 가능한 이웃 LMH 노드들의 리스트를 저장하는 테이블인 N-테이블; 상기 각각의 LMH 노드들은 액세스 가능한 그룹 LMH 노드들의 정보를 저장하는 테이블인 C-테이블; 상기 각각의 LMH 노드들은 갱신 가능한 데이터 집합인 주 사본 정보를 저장하는 테이블인 P-테이블; 및 상기 각각의 LMH 노드들은 데이터를 전파하기 위하여 갱신한 데이터 정보를 저장하는 테이블인 U-테이블을 포함하는 자료 구조를 가지는 것을 특징으로 가진다.
상기 기술적 과제를 해결하기 위한 본 발명의 이동 애드혹 네트워크 환경에서 데이터 일관성 보장을 위한 데이터 중복 방법은, 서버 역할을 하는 LMH(Large Mobile Host) 노드와, 클라이언트 역할을 하는 노드를 SMH(Small Mobile Host) 노드로 구분된 이동 애드혹 네트워크 환경에서 데이터 일관성 보장을 위한 데이터 중복 방법에 있어서, (a) 상기 각각의 SMH 노드들은 액세스 가능한 이웃 LMH 노드들의 리스트를 저장하는 테이블인 N-테이블, 상기 각각의 LMH 노드들은 액세스 가능한 그룹 LMH 노드들의 정보를 저장하는 테이블인 C-테이블, 상기 각각의 LMH 노드들은 갱신 가능한 데이터 집합인 주 사본 정보를 저장하는 테이블인 P-테이블 및 상기 각각의 LMH 노드들은 데이터를 전파하기 위하여 갱신한 데이터 정보를 저장하는 테이블인 U-테이블을 포함하는 자료 구조를 구축하는 단계; (b) 트랜잭션을 판독 전용 트랜잭션과 갱신 트랜잭션으로 분리하는 단계; (c) 상기 (b)단계에서의 분리 결과 판독 전용 트랜잭션이라고 판단되는 경우에는 판독 전용 트랜잭션을 수행하는 단계; 및 (d) 상기 (b)단계에서의 분리 결과 판독 전용 트랜잭션이 아니라고 판단되는 경우에는 갱신 트랜잭션을 수행하는 단계;를 포함하는 것을 특징으로 가진다.
또한, 본 발명에 의한 이동 애드혹 네트워크 환경에서 데이터 일관성 보장을 위한 데이터 중복 방법에 기재된 발명을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 포함하는 것을 특징으로 가진다.
이하에서, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 상세히 설명한다.
도 1은 본 발명인 이동 애드혹 네트워크 환경에서 데이터 일관성 보장을 위한 데이터 중복 시스템에 적용되는 자료 구조이다. 도 1을 참조하면, 이동 애드혹 네트워크의 에너지 특성을 고려하여 이동 애드혹 네트워크를 구성하는 각 이동 노드들을 서버 역할을 하는 노드를 LMH(Large Mobile Host)와, 클라이언트 역할을 하는 노드를 SMH(Small Mobile Host)로 구분하여 정의한다.
상대적으로 더 많은 에너지를 소유한 LMH는 완전 중복 데이터베이스를 가지고 있고 데이터를 갱신할 수 있는 주 사본(primary copy) 노드가 된다.
구조를 단순화하기 위하여 각각의 LMH는 시스템 전체에 주 사본 노드에 관한 정보를 가지고 있다고 가정한다. 그렇지 않은 경우에는 주 사본 정보를 교환하기 위한 추가적인 통신오버헤드가 필요하게 된다.
갱신 연산은 주 사본 LMH를 통해서만 가능하다.
예를 들면, 데이터 집합 D를 {D1, D2, D3 …… Dn}으로, LMH의 집합을 {L1, L2, L3, .. Lm}로, SMH의 집합을 {S1, S2, S3, .. Sm}로 가정하고 D1의 주 사본 노드를 L1으로 가정하자.
그러면, SMH 노드 S1이 D1을 갱신하고자 하면 주 사본 노드인 L1을 통해서 D1을 갱신할 수 있다.
이동하는 L1을 액세스하기 위해서는 멀티 홉 통신이 필요한 경우 통신 비용이 많이 들 수 있다. 이를 위해, 본 발명에서는 연결 가능한 주 사본 노드를 그룹화하여 S1은 LMH 그룹에서 가장 인접한 이웃 노드 x를 액세스하게 되면 해당 x를 통하여 L1을 액세스할 수 있다.
그러나, 해당 그룹에 L1이 포함되지 않은 경우에는 갱신 연산을 실행할 수 없다. 그러나 판독전용 트랜잭션의 경우 데이터 가용성을 증가시키기 위하여 네트워크가 단절된 경우에도 데이터 액세스가 가능하다.
최신 데이터가 필요한 응용은 반드시 주 사본 노드로부터 해당 데이터 값을 얻어야겠지만 그렇지 않은 경우는 LMH 모든 노드로부터 데이터 값을 전달받을 수 있다. 이를 위해 응용은 허용치 a값을 갖는다. 허용치 a값이 높을수록 최신 데이터가 아니어도 가능한 응용이므로 네트워크 단절시에도 데이터 액세스가 가능하다.
각각의 SMH 노드들은 액세스 가능한 이웃 LMH 노드들의 리스트를 저장한다(N-테이블). 즉, 각각의 SMH 노드들은 액세스 가능한 LMH 노드들의 리스트를 저장하고 이를 통해 갱신 연산과 판독 연산을 요청한다.
LMH 노드들은 액세스 가능한 그룹 LMH 노드들의 정보를 저장한다(C-테이블). 즉, SMH 노드들이 요청한 갱신 데이터의 주 사본 노드가 자신이 아니더라고 그룹 내에 존재하게 되면 요청이 가능하도록 하기 위함이다. 만약 그룹 LMH 노드에 대한 정보를 가지고 있지 않다면 주문형(on-demand) 방식으로 요청하면 된다.
각각의 LMH 노드들은 갱신 가능한 데이터 집합인 주 사본 정보를 갖는다(P-테이블). 그렇지 않은 경우에는 주 사본 정보를 교환하기 위한 추가적인 통신오버 헤드가 필요하다.
마지막으로, 각각의 LMH 노드들은 데이터를 전파하기 위하여 갱신한 데이터 정보를 저장하는 테이블을 갖는다(U-테이블).
도 2는 본 발명의 바람직한 일 실시예에 따른 트랜잭션 분류 방법에 대한 흐름도이다.
도 2를 참조하면, 트랜잭션은 판독 전용 트랜잭션과 갱신 트랜잭션으로 나눈다. 예를 들면, 트랜잭션 Tks는 [RSk, WSk]로 구성된다. RSk는 판독 데이터 집합이고, WSk는 갱신 데이터 집합을 의미한다. 판독 전용은 RSk로만 구성된 트랜잭션이다. [RSk, WSk]로 구성된 트랜잭션은 갱신 트랜잭션이라고 부른다.
먼저, 판독전용 트랜잭션인지 여부를 판단한다(S200).
다음으로, 단계S200에서의 판단결과, 판독전용 트랜잭션이라고 판단되는 경우에는, 단계S220으로 진행하여 판독전용 트랜잭션을 수행한다. 여기에서, 판독 전용 트랜잭션은 반드시 최신 데이터를 액세스해야 하는 경우 그렇지 않은 경우로 구분할 수 있다. 응용이 갖는 허용치 a가 임계값 δ 보다 작은 경우에는 반드시 최신 버전이 필요한 경우이다.
한편, 단계S200에서의 판단결과, 판독전용 트랜잭션이 아니라고 판단되는 경우에는, 단계S240으로 진행하여 갱신 트랜잭션을 수행한다.
보다 구체적인 것에 대하여는 도 3과 도 4에서 살펴보기로 한다.
도 3은 본 발명의 바람직한 일 실시예에 따른 판독 전용 트랜잭션의 실행 방법에 대한 흐름도이다.
도 3을 참조하면, 먼저, 최신 버전의 데이터를 액세스하여야 하는지 여부를 판단한다(S300).
단계S300에서의 판단결과, 최신 버전의 데이터를 액세스하지 않아도 된다고 판단되는 경우, 단계S310으로 진행하여 캐쉬에 데이터가 있는지 여부를 판단한다.
단계S310에서의 판단결과 캐쉬에 데이터가 있다고 판단되는 경우에는 자신의 캐쉬에 저장된 데이터를 로딩한다(S320). 한편, 단계S310에서의 판단결과 캐쉬에 데이터가 없다고 판단되는 경우에는 N-테이블[x]에 속한 서버중 하나에게 요청하여 데이터를 전송받는다(S325).
한편, 단계S300에서의 판단결과, 최신 버전의 데이터를 액세스하여야 한다고 판단되는 경우, 단계S330으로 진행하여 노드 x는 N-테이블[x]에 저장된 LMH 노드 y에게 판독 트랜잭션 Tk[RSk]을 요청한다. 여기에서, RSk는 Tk에서 액세스하고자 하는 데이터 집합을 의미한다.
다음으로, 수신한 노드 y는 요청 데이터의 주 사본 노드를 검사한다(S340).
다음으로,  ∀dr, dr ∈ RSk, ∧ dr ∈ PCA(n)인 노드 n이 C-테이블[y]에 속하는지 여부를 판단한다(S350).
단계S350에서의 판단결과, 속한다고 판단되는 경우에는, dr의 주 사본 노드 n에게 dr의 데이터 값을 요청한다(S360). 노드 n으로부터 전송받은 dr값을 노드 x에게 전송한다. 한편, 단계S350에서의 판단결과, 속하지 않는다고 판단되는 경우에는, 해당 주 사본 노드를 액세스할 수 없는 경우이므로 철회 메시지를 노드 x에게 보낸다(S370).
도 4는 본 발명의 바람직한 일 실시예에 따른 갱신 트랜잭션의 실행 방법에 대한 흐름도이다.
도 4를 참조하면, 갱신 트랜잭션의 경우에는 해당 데이터의 주 사본 노드를 통해서 갱신하고 갱신 정보는 다른 LMH 노드로 전파하여 모든 노드가 최신의 정보를 갖게 해야 한다.
먼저, SMH 노드 x는 갱신 트랜잭션 Tk[RSk, WSk]을 N-테이블[x]에 속한 LMH 노드 y에게 요청한다(S400).
다음으로, 갱신 트랜잭션 Tk[RSk, WSk]을 수신한 LMH 노드 y는 모든 데이터 dr(dr ∈ RSk,)과 dw(dw ∈ WSk)의 주 사본 노드를 검사한다(S410).
다음으로, dr ∈ P-테이블(n)인 노드 n이 C-테이블[y]에 포함되어 있는지 여부와 dw ∈ P-테이블(n)인 노드 n이 C-테이블[y]에 포함되어 있는지 여부를 판단한다(S420).
단계S420에서의 판단결과, dr ∈ P-테이블(n)인 노드 n이 C-테이블[y]에 포함되어 있다고 판단되면 dr의 주 사본 노드 n에게 판독 로크를 요청한다(S430). 또한, dw ∈ P-테이블(n)인 노드 n이 C-테이블[y]에 포함되어 있다고 판단되면 dw의 주 사본 노드 n에게 갱신 로크를 요청한다(S440).
한편, 단계S420에서의 판단결과 dr ∈ P-테이블(n)인 노드 n이 C-테이블[y]에 포함되어 있지 않고 그리고 dw ∈ P-테이블(n)인 노드 n이 C-테이블[y]에 포함되어 있지 않다고 판단되면, 철회메시지를 SMH 노드 x에게 전송한다(S450).
단계S440다음으로, 갱신 트랜잭션이 완료된 경우에는 SMH 노드 x에게 결과 메시지를 전송한다(S460).
다음으로, 다른 LMH 노드들에게 [데이터 식별자, 갱신 데이터 값, LSN(Local Sequence Number), 비트맵] 정보를 저장한 U-테이블[x]를 전송한다(S470). 여기에서, LSN은 주 사본 노드에서 갱신 일련 번호를 의미한다. 비트맵은 갱신 정보를 전파해야 하는 LMH들의 수신여부를 표현하는 정보이다.
여기에서, U_테이블[x]를 수신한 LMH 노드들은 자신의 노드에 해당되는 비트맵에 '1'을 셋한다. 모든 노드 비트가 '1'로 되면 해당 갱신 데이터 정보는 삭제한다. 또한 동일한 데이터 식별자를 갖는 데이터에 대하여 더 큰 LSN 값을 갖는 U_테이블[x] 메시지를 이미 수신하여 반영하였다면 해당 메시지는 무시한다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기테이프, 플로피디스크 및 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드로 저장되고 실행될 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기에서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사 용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
본 발명은 이동 애드혹 네트워크 환경에서 데이터 일관성 보장을 위한 데이터 중복 시스템 및 방법에 관한 것으로 다음과 같은 효과가 있다.
첫째, 판독 전용 트랜잭션 실행시 주 사본 노드만 액세스하면 되므로 메시지 전송 오버헤드가 줄어든다는 장점이 있다.
둘째, 최신 정보는 주 사본 노드만 액세스하면 되기 때문에 메시지 전송 오버헤드가 줄어든다는 장점이 있다.
셋째, 데이터 일관성을 보장하기 위하여 데이터 철회율을 줄일 수 있다는 장점이 있다.
따라서, 본 발명은 주 사본 노드를 통하여 이동 노드에게 갱신 연산을 허용하고 최신 버전을 주 사본 노드가 갖게 함으로써 정확한 데이터 정보를 액세스하기 위해서는 주 사본 노드에게만 요청하면 된다.
뿐만 아니라, 본 발명은 데이터일관성을 보장하기 위한 트랜잭션의 성공률을 높이면서 정확한 데이터를 액세스하기 위한 통신비용을 줄임으로써 성능을 향상시킨다.
또한 이동 노드들의 에너지 특성을 고려하여 더 많은 에너지를 가진 노드가 갱신 전파 및 일관성 유지를 관리하게 함으로써 상대적으로 낮은 에너지를 갖는 이동 노드의 에너지 효율을 고려할 수 있다.

Claims (10)

  1. 서버 역할을 하는 LMH(Large Mobile Host) 노드와, 클라이언트 역할을 하는 노드를 SMH(Small Mobile Host) 노드로 구분된 이동 애드혹 네트워크 환경에서 데이터 일관성 보장을 위한 데이터 중복 시스템에 있어서,
    상기 각각의 SMH 노드들은 액세스 가능한 이웃 LMH 노드들의 리스트를 저장하는 테이블인 N-테이블;
    상기 각각의 LMH 노드들은 액세스 가능한 그룹 LMH 노드들의 정보를 저장하는 테이블인 C-테이블;
    상기 각각의 LMH 노드들은 갱신 가능한 데이터 집합인 주 사본 정보를 저장하는 테이블인 P-테이블; 및
    상기 각각의 LMH 노드들은 데이터를 전파하기 위하여 갱신한 데이터 정보를 저장하는 테이블인 U-테이블을 포함하는 자료 구조를 가지는 것을 특징으로 하는 이동 애드혹 네트워크 환경에서 데이터 일관성 보장을 위한 데이터 중복 시스템.
  2. 제 1 항에 있어서,
    상기 각각의 SMH 노드들은 액세스 가능한 LMH 노드들의 리스트를 저장하고 이를 통해 갱신 연산과 판독 연산을 요청하는 것을 특징으로 하는 이동 애드혹 네트워크 환경에서 데이터 일관성 보장을 위한 데이터 중복 시스템.
  3. 제 1 항에 있어서,
    상기 C-테이블에서 상기 각각의 LMH 노드들이 그룹 LMH 노드에 대한 정보를 가지고 있지 않다면 주문형(on-demand) 방식으로 그룹 LMH 노드에 대한 정보를 요청하는 것을 특징으로 하는 이동 애드혹 네트워크 환경에서 데이터 일관성 보장을 위한 데이터 중복 시스템.
  4. 서버 역할을 하는 LMH(Large Mobile Host) 노드와, 클라이언트 역할을 하는 노드를 SMH(Small Mobile Host) 노드로 구분된 이동 애드혹 네트워크 환경에서 데이터 일관성 보장을 위한 데이터 중복 방법에 있어서,
    (a) 상기 각각의 SMH 노드들은 액세스 가능한 이웃 LMH 노드들의 리스트를 저장하는 테이블인 N-테이블, 상기 각각의 LMH 노드들은 액세스 가능한 그룹 LMH 노드들의 정보를 저장하는 테이블인 C-테이블, 상기 각각의 LMH 노드들은 갱신 가능한 데이터 집합인 주 사본 정보를 저장하는 테이블인 P-테이블 및 상기 각각의 LMH 노드들은 데이터를 전파하기 위하여 갱신한 데이터 정보를 저장하는 테이블인 U-테이블을 포함하는 자료 구조를 구축하는 단계;
    (b) 트랜잭션을 판독 전용 트랜잭션과 갱신 트랜잭션으로 분리하는 단계; 및
    (c) 상기 (b)단계에서의 분리 결과 판독 전용 트랜잭션이라고 판단되는 경우에는 판독 전용 트랜잭션을 수행하는 단계; 및
    (d) 상기 (b)단계에서의 분리 결과 판독 전용 트랜잭션이 아니라고 판단되는 경우에는 갱신 트랜잭션을 수행하는 단계;를 포함하는 것을 특징으로 하는 이동 애 드혹 네트워크 환경에서 데이터 일관성 보장을 위한 데이터 중복 방법.
  5. 제 4 항에 있어서, 상기 (c)단계는
    응용이 가지는 허용치 a를 기초로 판단하여,
    (c1) 최신 버전의 데이터를 액세스하지 않아도 되는 경우 상기 모든 LMH노드로부터 데이터 값을 전달받아 판독 전용 트랜잭션을 수행하는 단계; 및
    (c2) 상기 최신 버전의 데이터를 액세스하여야 하는 경우 상기 LMH노드 중 주 사본 LMH노드로부터 데이터 값을 전달받아 판독 전용 트랜잭션을 수행하는 단계로 이루어지는 것을 특징으로 하는 이동 애드혹 네트워크 환경에서 데이터 일관성 보장을 위한 데이터 중복 방법.
  6. 제 5 항에 있어서,
    상기 최신 버전의 데이터를 액세스하여야 하는 경우는 상기 응용이 가지는 허용치 a가 임계값보다 작은 경우인 것을 특징으로 하는 이동 애드혹 네트워크 환경에서 데이터 일관성 보장을 위한 데이터 중복 방법.
  7. 제 5 항에 있어서, 상기 (c1)단계는
    (c11) 자신의 캐쉬에 저장된 데이터를 로딩하는 단계; 및
    (c12) 상기 캐쉬에 해당하는 데이터가 없다고 판단되는 경우 상기 N-테이블에 속한 서버 중 하나의 서버에게 요청하여 데이터를 전송받는 단계로 이루어지는 것을 특징으로 하는 이동 애드혹 네트워크 환경에서 데이터 일관성 보장을 위한 데이터 중복 방법.
  8. 제 5 항에 있어서, 상기 (c2)단계는
    (c21) 노드 x는 상기 N-테이블에 저장된 LMH 노드 y에게 판독 트랜잭션을 요청하는 단계;
    (c22) 상기 노드 y는 요청 데이터의 주 사본 노드를 검사하는 단계;
    (c23) 구성요소 dr이 판독 트랜잭션에 속하고, 소정 노드 n에 대한 PCA(n)에 속하며 C-테이블의 노드 y에 속하는지 여부를 판단하는 단계;
    (c24) 상기 (c23)에서의 판단결과, 속한다고 판단되는 경우, 상기 dr의 주 사본 노드 n에게 dr의 데이터 값을 요청하고, 상기 주 사본 노드 n으로부터 전송받은 dr값을 상기 노드 x에게 전송하는 단계; 및
    (c25) 상기 (c23)에서의 판단결과, 속하지 않는다고 판단되는 경우, 철회 메시지를 상기 노드 x에게 전송하는 단계를 포함하는 것을 특징으로 하는 이동 애드혹 네트워크 환경에서 데이터 일관성 보장을 위한 데이터 중복 방법.
  9. 제 4 항에 있어서, 상기 (d)단계는
    (d1) 상기 SMH 노드 x는 갱신 트랜잭션을 상기 N-테이블에 속한 LMH 노드 y에게 요청하는 단계;
    (d2) 상기 갱신 트랜잭션을 수신한 LMH 노드 y는 판독 데이터 집합에 포함되는 데이터인 dr과 갱신 데이터 집합에 포함되는 데이터인 dw의 주 사본 노드를 검사하는 단계;
    (d3) 상기 dr이 상기 P-테이블 노드 n이 상기 C-테이블에 포함되어 있다고 판단되면 상기 dr의 주 사본 노드 n에게 판독 로크를 요청하는 단계; 및
    (d4) 상기 dw이 P-테이블 노드 n이 상기 C-테이블에 포함되어 있다고 판단되면 상기 dw의 주 사본 노드 n에게 갱신 로크를 요청하는 단계;를 포함하는 것을 특징으로 하는 이동 애드혹 네트워크 환경에서 데이터 일관성 보장을 위한 데이터 중복 방법.
  10. 제 9 항에 있어서,
    상기 dr이 상기 P-테이블 노드 n이 상기 C-테이블에 포함되어 있지 않다고 판단되고, 상기 dw이 P-테이블 노드 n이 상기 C-테이블에 포함되어 있지 않다고 판단되면 철회메시지를 상기 SMH 노드 x에게 전송하는 단계를 더 포함하는 것을 특징으로 하는 이동 애드혹 네트워크 환경에서 데이터 일관성 보장을 위한 데이터 중복 방법.
KR1020060041649A 2006-05-09 2006-05-09 이동 애드혹 네트워크 환경에서 데이터 일관성 보장을 위한데이터 중복 시스템 및 방법 KR100753833B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060041649A KR100753833B1 (ko) 2006-05-09 2006-05-09 이동 애드혹 네트워크 환경에서 데이터 일관성 보장을 위한데이터 중복 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060041649A KR100753833B1 (ko) 2006-05-09 2006-05-09 이동 애드혹 네트워크 환경에서 데이터 일관성 보장을 위한데이터 중복 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR100753833B1 true KR100753833B1 (ko) 2007-08-31

Family

ID=38615887

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060041649A KR100753833B1 (ko) 2006-05-09 2006-05-09 이동 애드혹 네트워크 환경에서 데이터 일관성 보장을 위한데이터 중복 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR100753833B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101155540B1 (ko) * 2011-02-01 2012-06-18 고려대학교 산학협력단 모바일 애드혹 네트워크에서의 데이터 복제본 할당 장치 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050055131A (ko) * 2003-12-05 2005-06-13 삼성전자주식회사 Ip 주소 자동 할당을 이용한 애드혹 네트워크 구성 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050055131A (ko) * 2003-12-05 2005-06-13 삼성전자주식회사 Ip 주소 자동 할당을 이용한 애드혹 네트워크 구성 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101155540B1 (ko) * 2011-02-01 2012-06-18 고려대학교 산학협력단 모바일 애드혹 네트워크에서의 데이터 복제본 할당 장치 및 방법

Similar Documents

Publication Publication Date Title
CN111386522B (zh) 用于数据存储的系统和方法
US20140081927A1 (en) Data node fencing in a distributed file system
JP2004334574A (ja) ストレージの運用管理プログラム、運用管理方法及び管理計算機
CN108491504B (zh) 用于分布式配置管理的方法及装置
MXPA05013617A (es) Metodo y sistema para sincronizar multiples revisiones de usuario para un objeto compartido.
CN104935654A (zh) 一种服务器集群系统中的缓存方法、写入点客户端和读客户端
JP7549137B2 (ja) トランザクション処理方法、システム、装置、機器、及びプログラム
CN102708165A (zh) 分布式文件系统中的文件处理方法及装置
CN115878046B (zh) 数据处理方法、系统、装置、存储介质及电子设备
CN113010549A (zh) 基于异地多活系统的数据处理方法、相关设备及存储介质
US20100145911A1 (en) Serverless Replication of Databases
US7805503B2 (en) Capability requirements for group membership
CN101997726B (zh) 电信网络用户数据存储管理的方法及装置
US7433928B1 (en) System pre-allocating data object replicas for a distributed file sharing system
CN113905054B (zh) 基于RDMA的Kudu集群数据同步方法、装置、系统
JP2006318491A (ja) 記憶システム
KR100753833B1 (ko) 이동 애드혹 네트워크 환경에서 데이터 일관성 보장을 위한데이터 중복 시스템 및 방법
CN107465706B (zh) 一种基于无线通信网络的分布式数据对象存储装置
JP2004171278A (ja) データの複製管理方法、ノードにおける情報処理方法、ノード、データの複製管理プログラム、および該プログラムを記載した記録媒体
CN116166661A (zh) 基于大数据的信息存储服务系统
CN110196881B (zh) 一种基于区块链的数据读写方法及区块链网络结构
JP5487420B2 (ja) ファイル複製要否判定方法、通信装置、コンピュータプログラム及びピアツーピア型通信システム
Chatterjee et al. Gossip based fault tolerant protocol in distributed transactional memory using quorum based replication system
CN109992447A (zh) 数据复制方法、装置及存储介质
CN111858956A (zh) 知识图谱构建方法、装置、网络设备及存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20100802

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee