KR100738534B1 - 이중화 모듈의 다운로드 장치 및 방법 - Google Patents

이중화 모듈의 다운로드 장치 및 방법 Download PDF

Info

Publication number
KR100738534B1
KR100738534B1 KR1020050122153A KR20050122153A KR100738534B1 KR 100738534 B1 KR100738534 B1 KR 100738534B1 KR 1020050122153 A KR1020050122153 A KR 1020050122153A KR 20050122153 A KR20050122153 A KR 20050122153A KR 100738534 B1 KR100738534 B1 KR 100738534B1
Authority
KR
South Korea
Prior art keywords
module
packet
received
server
standby
Prior art date
Application number
KR1020050122153A
Other languages
English (en)
Other versions
KR20070062336A (ko
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 KR1020050122153A priority Critical patent/KR100738534B1/ko
Publication of KR20070062336A publication Critical patent/KR20070062336A/ko
Application granted granted Critical
Publication of KR100738534B1 publication Critical patent/KR100738534B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2466Traffic characterised by specific attributes, e.g. priority or QoS using signalling traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Hardware Redundancy (AREA)

Abstract

본 발명에 따른 이중화 모듈의 다운로드 장치 및 방법은, 공유 링크를 통해 이중화 모듈 시스템과 연결된 서버가 이중화 모듈이 포함하는 모든 모듈의 주소를 목적지 주소에 포함시킨 멀티캐스트 패킷을 송신하도록 함으로써, 다운로드를 위한 패킷량을 감소시켜 이중화 모듈과 서버의 다운로드 시간과 부하를 절감할 수 있다.

Description

이중화 모듈의 다운로드 장치 및 방법{APPARATUS AND METHOD FOR DOWNLOAD OF DUAL MODULE}
도 1은 이중화 모듈을 구비하는 임베디드 시스템을 나타낸 도면.
도 2는 종래기술의 일 실시예에 따른 임베디드 시스템의 다운로드 방법을 나타낸 신호 흐름도.
도 3은 종래기술의 다른 실시예에 따른 임베디드 시스템의 다운로드 방법을 나타낸 신호 흐름도.
도 4는 본 발명의 일 실시예에 따른 임베디드 시스템의 다운로드 방법을 나타낸 신호 흐름도.
도 5는 본 발명의 일 실시예에 따른 동작모듈의 구성도.
도 6은 본 발명의 일 실시예에 따른 대기모듈의 구성도.
도 7은 본 발명의 일 실시예에 따른 임베디드 시스템 동작모듈의 다운로드 방법을 나타낸 순서 흐름도.
도 8은 본 발명의 일 실시예에 따른 임베디드 시스템 대기모듈의 다운로드 방법을 나타낸 순서 흐름도.
*도면의 주요 부분에 대한 부호의 설명*
100 : 서버 200 : 임베디드 시스템
210 : 동작모듈 220 : 대기모듈
본 발명은 이중화 모듈의 다운로드 장치 및 방법에 관한 것이다.
현재 중요한 모듈의 경우, 두개의 동일한 모듈을 구비하는 이중화 모듈을 채용하여, 하나의 모듈이 동작을 수행하던 중 오류가 발생하면 나머지 하나의 모듈이 동작을 대신하도록 하고 있다. 일반적으로, 이중화 모듈의 두 모듈들 중에서 현재 동작중인 모듈을 동작모듈이라하고, 나머지 하나의 모듈을 대기모듈이라 한다. 이러한 이중화 모듈을 채용하는 이중화 모듈 시스템에 대해서, 하기 도 1에 도시된 임베디드 시스템(Embedded System)을 예로 들어 설명한다.
임베디드 시스템은 PC와 같은 최종 사용자 장비가 아닌, 미리 정해진 특정 기능을 수행하기 위한 하드웨어와 소프트웨어가 조합된 전자 제어 시스템이다.
도 1은 이중화 모듈을 구비하는 임베디드 시스템을 나타낸 도면이다.
도 1에 도시된 바와 같이 동작모듈(210)과 대기모듈(220)로 구성되는 임베디드 시스템(200)은, 동작모듈(210)을 통해 미리 정해진 특정 기능을 수행하던 중 동작모듈(210)이 오동작 할 경우 대기모듈(220)을 동작시킴으로써, 전체적인 시스템 의 오류를 방지하고 시스템이 중단 없이 동작하도록 하고 있다.
한편, 임베디드 시스템(200)은 시스템의 효율을 향상시키기 위해, 서버(100)로부터 업그레이드된 운용 프로그램을 수시로 다운로드 받고 있다. 여기서, 서버(100)는 업그레이드된 프로그램 코드를 쪼개서 소정의 패킷에 포함시켜 송신하는 패킷교환방식을 통하여 임베디드 시스템(200)에 프로그램을 다운로드한다.
이와 같은 서버(100)로부터 프로그램 다운로드를 위한 패킷을 수신하는 임베디드 시스템(200)은, 동작모듈(210)과 대기모듈(220) 각각이 서버(100)로부터 패킷을 수신하도록 하거나, 동작모듈(210)이 먼저 패킷을 수신한 후 수신한 패킷을 대기모듈(220)에 재송신하도록 하고 있다. 여기서, 동작모듈(210)은 이중화 모듈간에 설정된 이중화 링크를 통해 대기모듈(220)에 패킷을 재송신한다. 그리고, 임베디드 시스템(200)은 이중화 모듈이 서버(100)로부터 프로그램 다운로드를 위한 전체 패킷을 수신함에 있어서, 미리 약속된 개수의 패킷을 수신한 후 수신한 패킷에 대응하는 ACK 메시지를 송신하고, 다시 미리 약속된 개수의 패킷을 수신하는 과정을 반복하며 패킷 수신을 수행하도록 한다.
도 2는 종래기술의 일 실시예에 따른 임베디드 시스템의 다운로드 방법을 나타낸 신호 흐름도이다.
도 2는 전술한 임베디드 시스템(200)의 프로그램 다운로드 방법 중, 동작모듈(210)과 대기모듈(220) 각각이 서버(100)로부터 패킷을 수신하는 방법을 도시하였다. 도 2에 도시된 바와 같이, 임베디드 시스템(200)은 동작모듈(210)이 먼저 서버(100)로부터 송신되는 모든 패킷을 수신한 후, 대기모듈(220)이 서버(100)로부터 다시 패킷을 수신하도록 한다. 여기서, 임베디드 시스템(200)은 다른 실시예로 대기모듈(220)이 먼저 서버(100)로부터 패킷을 수신한 후 동작모듈(210)이 패킷을 수신하도록 할 수 있다.
도 3은 종래기술의 다른 실시예에 따른 임베디드 시스템의 다운로드 방법을 나타낸 신호 흐름도이다.
도 3은 전술한 임베디드 시스템(200)의 프로그램 다운로드 방법 중, 동작모듈(210)이 서버(100)가 송신한 모든 패킷을 먼저 수신한 후 동작모듈(210)이 수신한 패킷을 대기모듈(220)에 재송신하는 방법을 도시하였다.
그런데, 이와 같은 임베디드 시스템(200)의 프로그램 다운로드 방법들은, 패킷 수신 중에 전원 오프(Off), 탈장, 절체 등의 이벤트(event)가 발생하는 경우 동작모듈(210)과 대기모듈(220) 간의 프로그램 동기화 문제를 발생시킬 수 있다.
즉, 이와 같은 다운로드 방법들은, 하나의 모듈이 먼저 패킷 수신을 완료한 후 나머지 하나의 모듈이 패킷 수신을 수행할 때 전원 오프, 탈장, 절체 등의 이벤트가 발생하게 되면, 먼저 패킷 수신을 완료한 모듈은 업그레이드된 프로그램으로 동작을 하게 되지만 나머지 하나의 모듈은 업그레이드되지 못한 프로그램으로 동작을 하게 되어 양 모듈간의 프로그램 동기화가 이루어지지 않는 문제점을 가지게 된다.
또한, 이와 같은 임베디드 시스템(200)의 프로그램 다운로드 방법들은, 전체 프로그램 다운로드 시간이 동작모듈(210)의 패킷 수신 시간과 대기모듈(220)의 패킷 수신 시간을 합한 시간으로 이루어짐으로써, 다운로드 시간이 길다는 문제점을 가진다. 특히, 동작모듈(210)과 대기모듈(220) 각각이 서버(100)로부터 패킷을 수신하는 방법은, 서버(100)가 동일한 패킷을 중복하여 송신하도록 함으로써 패킷의 다운로드 시간과 전송 부하를 증가시켜 전체 시스템의 성능 저하를 초래할 수 있다.
따라서, 본 발명은 상기한 종래 기술에 따른 문제점을 해결하기 위한 것으로, 본 발명의 목적은 서버로부터 프로그램 다운로드를 수행하는 이중화 모듈의 양 모듈간의 프로그램 동기화 성능을 높일 수 있는 이중화 모듈의 다운로드 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은, 이중화 모듈과 서버의 프로그램 다운로드 시간과 부하를 감소시킬 수 있는 이중화 모듈의 다운로드 장치 및 방법을 제공함에 있다.
상기한 목적들을 달성하기 위한 본 발명의 일 측면에 따른 이중화 모듈의 다운로드 장치는, 멀티캐스트 전송방법을 사용하여 서버로부터 패킷을 수신하고, 상기 수신한 패킷에 대응하는 ACK 메시지를 생성하는 대기모듈; 상기 멀티캐스트 전송방법을 사용하여 상기 서버로부터 상기 대기모듈이 수신한 패킷과 동일한 패킷을 수신하고, 상기 대기모듈의 ACK 메시지를 수신한 후 이중화 모듈 전체의 ACK 메시지를 생성하여 상기 서버에 송신하는 동작모듈을 포함한다.
상기 동작모듈은, 상기 서버로부터 상기 패킷을 수신하면 미리 약속된 시간을 카운트하고, 상기 카운트 중 상기 대기모듈의 ACK 메시지가 수신되지 않는 경우, 상기 수신한 패킷을 상기 대기모듈에 송신한다.
상기 동작모듈은, 상기 서버로부터 상기 패킷을 수신하지 않은 상태에서 상기 대기모듈의 ACK 메시지를 수신하게 되는 경우, 상기 대기모듈에 수신패킷 요청 신호를 송신한다.
상기 대기모듈은, 상기 ACK 메시지 송신 후 상기 동작모듈로부터 상기 수신패킷 요청 신호를 수신하면, 상기 서버로부터 수신한 패킷 중 상기 송신한 ACK 메시지에 대응하는 패킷을 상기 동작모듈에 송신한다.
상기 동작모듈은, 상기 대기모듈에 상기 수신패킷 요청 신호를 송신한 후 미리 약속된 시간을 카운트하여 상기 카운트 중 상기 대기모듈로부터 패킷이 수신되는지를 체크하고, 상기 카운트 중 상기 패킷이 수신되면 상기 수신된 패킷에 대응하는 이중화 모듈 전체의 ACK 메시지를 상기 서버에 송신한다.
또한, 상기한 목적들을 달성하기 위한 본 발명의 다른 측면에 따른 이중화 모듈의 다운로드 시스템은, 동작모듈과 대기모듈, 두개의 모듈로 구성되는 이중화 모듈을 포함하고, 패킷이 수신되면 상기 패킷이 상기 동작모듈과 대기모듈에 수신되었는지를 판단하고, 상기 동작모듈과 대기모듈이 상기 패킷을 수신하였다고 판단되면 상기 수신 패킷에 대응하는 이중화 모듈 전체의 ACK 메시지를 상기 동작모듈이 생성하여 송신하도록 하는 이중화 모듈 시스템; 상기 이중화 모듈 시스템 내의 동작모듈과 대기모듈 주소를 목적지 주소에 포함하는 멀티캐스트 패킷을 생성하여 송신하는 서버를 포함한다.
상기 이중화 모듈 시스템은, 상기 이중화 모듈 내의 동작모듈과 대기모듈 중 하나의 모듈이 상기 서버로부터 패킷을 수신하지 못하면, 상기 동작모듈이 이를 체크하여 상기 패킷을 수신한 모듈이 상기 패킷을 수신하지 못한 모듈에 상기 수신 패킷을 송신하도록 한다.
상기 이중화 모듈 시스템은, 상기 동작모듈이 상기 서버로부터 패킷을 수신하면 미리 약속된 시간을 카운트하고, 상기 카운트 중 상기 수신 패킷에 대응하는 상기 대기모듈의 ACK 메시지가 수신되지 않는 경우, 상기 수신 패킷을 상기 대기모듈에 송신하도록 한다.
상기 이중화 모듈 시스템은, 상기 동작모듈이 상기 서버로부터 패킷을 수신하지 않은 상태에서, 상기 대기모듈로부터 상기 수신 패킷에 대응하는 ACK 메시지를 수신하게 되는 경우, 상기 대기모듈에 수신패킷 요청 신호를 송신하여 상기 대기모듈이 상기 서버로부터 수신한 패킷을 수신하도록 한다.
한편, 상기한 목적들을 달성하기 위한 본 발명의 또 다른 측면에 따른 동작모듈과 대기모듈로 구성되는 이중화 모듈의 다운로드 방법은, 상기 동작모듈과 대기모듈이 서버로부터 멀티캐스트 전송방법을 사용하여 패킷을 수신하는 단계; 상기 서버로부터 수신한 패킷에 대응하는 이중화 모듈 전체의 ACK 메시지를 상기 동작모듈이 생성하여 상기 서버에 송신하는 단계를 포함한다.
상기 서버로부터 수신한 패킷에 대응하는 이중화 모듈 전체의 ACK 메시지를 상기 동작모듈이 생성하는 단계는, 상기 동작모듈이 상기 서버로부터 패킷을 수신하면 미리 약속된 시간을 카운트하고, 상기 카운트 중 상기 수신 패킷에 대응하는 상기 대기모듈의 ACK 메시지가 수신되는 경우, 상기 수신 패킷에 대응하는 이중화 모듈 전체의 ACK 메시지를 생성하는 단계를 포함한다.
그리고, 이중화 모듈의 다운로드 방법은, 상기 동작모듈이 상기 카운트 중 상기 대기모듈의 ACK 메시지를 수신하지 못하는 경우, 상기 서버로부터 수신한 패킷을 상기 대기모듈에 송신하는 단계를 더 포함한다.
또한, 이중화 모듈의 다운로드 방법은, 상기 동작모듈이 상기 서버로부터 상기 패킷을 수신하지 못한 상태에서 상기 대기모듈의 ACK 메시지를 수신하는 경우, 상기 수신한 ACK 메시지에 대응하는 수신패킷 요청 신호를 상기 대기모듈에 송신하는 단계; 상기 대기모듈이 상기 수신패킷 요청 신호를 수신하고, 상기 서버로부터 수신한 패킷을 상기 동작모듈에 송신하는 단계; 상기 동작모듈이 상기 대기모듈로부터 상기 패킷을 수신하고, 상기 수신한 패킷에 대응하는 이중화 모듈 전체의 ACK 메시지를 생성하는 단계를 더 포함한다.
후술하는 이중화 모듈의 다운로드 장치 및 방법은, 임베디드 시스템을 일예로 들어 기술한 것이며, 임베디드 시스템에 국한되는 것이 아니라 이중화 모듈로 구성되는 모든 시스템에 대해서 적용될 수 있다.
본 발명에 따른 임베디드 시스템은, 전술한 바와 같이 동작모듈과 대기모듈로 구성되는 이중화 모듈을 포함하도록 구성될 수 있다. 또한, 임베디드 시스템은 동작모듈을 통해 미리 정해진 기능을 수행하며, 동작모듈에 내부적인 에러, 탈장, 절체 등과 같은 문제가 발생하는 경우 대기모듈을 통해 기능을 수행한다.
한편, 공유 링크를 통해 임베디드 시스템과 연결된 서버는 임베디드 시스템의 동작모듈과 대기모듈의 주소를 포함하는 목적지 주소에 포함시킨 멀티캐스트 패킷을 생성할 수 있다. 그리고, 서버는 프로그램 다운로드를 수행함에 있어서, 생성한 멀피캐스트 패킷을 송신함으로써, 임베디드 시스템의 동작모듈과 대기모듈에 동시에 패킷을 송신할 수 있다.
임베디드 시스템은, 이와 같은 서버로부터 멀티캐스트 전송방법을 사용하여 동작모듈과 대기모듈이 동시에 동일한 패킷이 수신하도록 하고, 동작모듈이 수신한 패킷에 대응하는 이중화 모듈 전체의 ACK 메시지를 생성하여 서버에 송신하도록 할 수 있다. 여기서 '이중화 모듈 전체의 ACK 메시지'는 서버로부터 수신한 패킷에 대응하는 대기모듈과 동작모듈 전체의 응답 메시지를 일컫는다. 또한, 임베디드 시스템은 동작모듈과 대기모듈 중 하나의 모듈이 링크 문제 등으로 인해 패킷을 수신하지 못하는 경우, 동작모듈이 이를 체크하도록 하여 패킷을 수신한 모듈이 패킷을 수신하지 못한 모듈에 수신 패킷을 송신하도록 할 수 있다.
도 4는 본 발명의 일 실시예에 따른 임베디드 시스템의 다운로드 방법을 나타낸 신호 흐름도이다.
도 4는 일예로, 임베디드 시스템이 서버로부터 두개의 패킷을 수신한 후 수신한 패킷에 대응하는 ACK 메시지를 송신하고, 다시 두개의 패킷을 수신한 후 ACK 메시지를 송신하는 과정을 반복하는 다운로드 방법을 수행하도록 하고 있다.
도 4에 도시된 바와 같이, 임베디드 시스템(200)은 멀티캐스트 전송방법을 사용하여 서버(100)로부터 동일한 패킷을 동작모듈(210)과 대기모듈(220)이 수신하도록 한다.
임베디드 시스템(200)은 동작모듈(210)과 대기모듈(220)이 서버(100)로부터 미리 약속된 개수의 패킷 즉, 두개의 패킷을 수신하면, 먼저 대기모듈(220)이 수신한 패킷에 대응하는 ACK 메시지를 생성하여 동작모듈(210)에 송신하도록 한다.
그리고, 임베디드 시스템(200)은 대기모듈(220)로부터 ACK 메시지를 수신한 동작모듈(210)이 이중화 모듈 전체의 ACK 메시지를 생성하여 서버(100)에 송신하도록 한다.
이와 같이 임베디드 시스템(200)은 동작모듈(210)과 대기모듈(220)이 서버(100)로부터 동시에 패킷을 수신하도록 함으로써, 다운로드 시간과 부하를 감소시킬 수 있다.
이하 본 발명에 따른 이중화 모듈의 다운로드 장치 및 방법을 첨부한 도면을 참조하여 더욱 상세히 살펴보도록 한다. 한편, 본 발명에서는 서버의 멀티캐스트 패킷 생성에 대한 자세한 기술은 생략하도록 한다.
도 5는 본 발명의 일 실시예에 따른 동작모듈의 구성도이다.
도 5에 도시된 바와 같이, 임베디드 시스템(200)의 동작모듈(210)은 패킷 송수신부(211), ACK 생성부(212), 타이머(213) 및 대기모듈 인터페이스부(214)를 포함하도록 구성될 수 있다.
여기서, 패킷 송수신부(211)는 공유 링크를 통해 서버(100)와의 패킷 송수신 을 수행할 수 있다. ACK 생성부(212)는 수신 패킷에 대응하는 이중화 모듈 전체의 ACK 메시지를 생성할 수 있으며, 타이머(Timer)(213)의 동작을 제어할 수 있다.
타이머(213)는 ACK 생성부(212)의 제어에 따라 미리 약속된 시간을 카운트할 수 있으며, 대기모듈 인터페이스(Interface)부(214)는 이중화 링크를 통해 대기모듈(220)과의 패킷 송수신을 수행할 수 있다.
도 6은 본 발명의 일 실시예에 따른 대기모듈의 구성도이다.
도 6에 도시된 바와 같이, 임베디드 시스템의 대기모듈(220)은 패킷 송수신부(221), ACK 생성부(222) 및 동작모듈 인터페이스부(223)를 포함하도록 구성될 수 있다.
대기모듈(220)의 패킷 송수신부(221)는 공유 링크를 통해 서버(100)와의 패킷 송수신을 수행한다. ACK 생성부(222)는 수신 패킷에 대응하는 대기모듈(220)의 ACK 메시지를 생성할 수 있으며, 동작모듈 인터페이스부(223)는 이중화 링크를 통해 동작모듈(210)과의 패킷 송수신을 수행할 수 있다.
이하, 도 5 및 도 6과 같은 구성을 갖는 동작모듈(210)과 대기모듈(220)의 동작에 대해 자세히 살펴보도록 한다.
동작모듈(210)과 대기모듈(220)은 서버(100)로부터 패킷이 송신되면, 각각의 패킷 송수신부(211, 221)를 통해 동시에 패킷 수신을 수행할 수 있다.
대기모듈(220)의 패킷 송수신부(221)는 서버(100)로부터 패킷을 수신하면, 수신한 패킷에 대응하는 ACK 메시지 생성을 위해, ACK 메시지 생성 신호를 ACK 생성부(222)에 출력할 수 있다. ACK 생성부(222)는 패킷 송수신부(221)로부터 ACK 메 시지 생성 신호를 입력받으면, 서버(100)로부터 수신한 패킷에 대응하는 ACK 메시지를 생성하고, 생성한 ACK 메시지를 동작모듈 인터페이스부(223)를 통해 동작모듈(210)에 송신할 수 있다.
동작모듈(210)의 패킷 송수신부(211)는 서버(100)로부터 패킷을 수신하면, 수신한 패킷에 대응하는 ACK 메시지 생성 신호를 ACK 생성부(212)에 출력할 수 있다. 동작모듈(210)의 ACK 생성부(212)는 패킷 송수신부(211)로부터 ACK 메시지 생성 신호를 입력받으면, ACK 타이머(213)를 구동시킬 수 있다. ACK 타이머(213)는 ACK 생성부(212)에 의해 구동되면 미리 약속된 시간을 카운트할 수 있으며, 카운트가 종료되면 ACK 생성부(212)에 카운트 종료 신호를 출력할 수 있다.
한편, 동작모듈(210)의 대기모듈 인터페이스부(214)는 대기모듈(220)로부터 대기모듈(220)의 ACK 메시지를 수신하여, 이를 ACK 생성부(212)에 출력할 수 있다. ACK 생성부(212)는 ACK 타이머(213)를 구동시킨 후 대기모듈 인터페이스부(214)로부터 대기모듈(220)의 ACK 메시지를 입력받으면 구동시킨 ACK 타이머(213)를 중지시키고, 서버(100)로부터 수신한 패킷에 대응하는 이중화 모듈 전체의 ACK 메시지를 생성할 수 있다. 그리고, ACK 생성부(210)는 생성한 이중화 모듈 전체의 ACK 메시지를 패킷 송수신부(211)를 통해 서버(100)에 송신할 수 있다.
임베디드 시스템(200)은 이와 같은 동작모듈(210)과 대기모듈(220)의 동작을 통해 서버(100)로부터 송신되는 패킷을 동작모듈(210)과 대기모듈(220)이 동시에 수신하도록 하고, 수신한 패킷에 대응하는 이중화 모듈 전체의 ACK 메시지를 동작모듈(210)이 생성하여 송신하도록 함으로써, 프로그램 다운로드 시간과 부하를 감 소시킬 수 있다.
한편, 임베디드 시스템(200)은 프로그램 다운로드 중 링크 문제 등으로 인해 동작모듈(210)과 대기모듈(220) 중 하나의 모듈이 서버(100)로부터 패킷을 수신하지 못하는 경우를 발생할 수 있다. 임베디드 시스템(200)은 이와 같은 경우, 동작모듈(210)이 대기모듈(220)의 ACK 메시지 수신 여부를 통해 대기모듈(220)과 자신 중 어느 하나가 패킷을 수신하지 못하였는지를 판단하여, 패킷을 수신한 하나가 그렇지 못한 나머지 하나에게 수신한 패킷을 송신하도록 할 수 있다. 즉, 동작모듈(210)은 패킷 수신 후 대기모듈(220)로부터 ACK 메시지가 수신되지 않으면 대기모듈(220)이 패킷을 수신하지 못한 것으로 판단하고, 자신이 서버(100)로부터 패킷을 수신하지 않았음에도 대기모듈(220)로부터 ACK 메시지가 수신되면 자신이 패킷을 수신하지 못한 것으로 판단할 수 있다.
이에 따르는 동작모듈(210)과 대기모듈(220)의 자세한 동작을 살펴보면, 먼저 대기모듈(220)이 패킷을 수신하지 못하였을 경우, 동작모듈(210)의 ACK 생성부(212)는 ACK 타이머(213)로부터 카운트 종료 신호를 입력받기 전까지 대기모듈(220)의 ACK 메시지를 입력받지 못하게 되고, 이로 인해 대기모듈(220)이 패킷 수신을 수행하지 못한 것으로 판단할 수 있다. ACK 생성부(212)는 대기모듈(220)이 서버(100)로부터 패킷을 수신하지 못하였다고 판단되면, 패킷 송수신부(211)에 수신패킷을 대기모듈(220)에 송신하도록 요청하는 신호를 출력할 수 있다. 패킷 송수신부(211)는 ACK 생성부(212)로부터 수신패킷을 대기모듈(220)에 송신하도록 요청하는 신호를 입력받으면, 서버(100)로부터 수신한 패킷을 대기모듈 인터페이스부 (214)를 통해 대기모듈(220)에 송신한다.
대기모듈(220)의 동작모듈 인터페이스부(223)는 동작모듈(210)로부터 패킷을 수신하면 수신한 패킷을 패킷 송수신부(221)에 출력한다. 패킷 송수신부(221)는 인터페이스부(223)로부터 패킷을 입력받으면 ACK 메시지 생성 신호를 ACK 생성부(222)에 출력하며, ACK 생성부(222)는 입력받은 패킷에 대응하는 ACK 메시지를 생성하여 동작모듈 인터페이스부(223)를 통해 동작모듈(210)에 송신한다.
이로 인해, 동작모듈(210)의 대기모듈 인터페이스부(214)는 패킷 송수신부(211)로부터 입력받은 패킷을 대기모듈(220)에 송신한 후, 송신한 패킷에 대응하는 ACK 메시지를 대기모듈(220)로부터 수신하고, 수신한 ACK 메시지를 ACK 생성부(212)에 출력한다. ACK 생성부(212)는 인터페이스부(214)로부터 대기모듈(220)의 ACK 메시지를 입력받으면, 서버(100)로부터 수신한 패킷에 대응하는 이중화 모듈 전체의 ACK 메시지를 생성한 후 생성한 메시지를 패킷 송수신부(211)를 통해 서버(100)에 송신한다.
다음으로 동작모듈(210)이 서버(100)로부터 패킷을 수신하지 못하였을 경우, 동작모듈(210)의 ACK 생성부(212)는 패킷 송수신부(211)로부터 ACK 메시지 생성 신호가 입력되지 않은 상태임에도 대기모듈(220)의 ACK 메시지를 입력받게 되어, 입력받은 ACK 메시지에 대응하는 패킷을 패킷 송수신부(211)가 수신하지 못한 것으로 판단할 수 있다. ACK 생성부(212)는 패킷 송수신부(211)가 서버(100)로부터 패킷을 수신하지 못한 것으로 판단하면, 대기모듈 인터페이스부(214)를 통해 수신패킷 요청 신호를 대기모듈(220)에 송신할 수 있다. 여기서, ACK 생성부(212)는 수신패킷 요청 신호를 송신한 후 ACK 타이머(213)를 구동시켜 대기모듈(220)로부터의 패킷 수신이 미리 약속된 시간 안에 이루어지는지를 체크할 수 있다.
이와 같은 동작모듈(210)의 동작에 의해, 대기모듈(220)의 동작모듈 인터페이스부(223)는 ACK 메시지 송신 이후, 동작모듈(210)로부터 수신패킷 요청 신호를 수신한다. 동작모듈 인터페이스부(223)는 수신패킷 요청 신호를 수신하면 수신한 신호를 패킷 송수신부(221)에 출력하고, 이를 수신한 패킷 송수신부(221)는 입력받은 신호에 대응하는 패킷 즉, 서버(100)로부터 수신한 패킷을 동작모듈 인터페이스부(223)를 통해 동작모듈(210)에 송신한다.
따라서, 동작모듈(210)의 대기모듈 인터페이스부(214)는 서버(100)가 송신한 패킷을 대기모듈(220)로부터 수신하고, 수신한 패킷을 패킷 송수신부(211)에 출력한다. 패킷 송수신부(211)는 대기모듈 인터페이스부(214)로부터 패킷을 입력받으면 입력받은 패킷에 대응하는 ACK 메시지 생성 신호를 ACK 생성부(212)에 출력한다. ACK 생성부(212)는 대기모듈(220)에 수신패킷 요청 신호를 송신한 후 패킷 송수신부(211)로부터 ACK 메시지 생성 신호를 입력받으면 구동시킨 ACK 타이머(213)를 중지시키고, 대기모듈(220)로부터 수신한 패킷에 대응하는 이중화 모듈 전체의 ACK 메시지를 생성하여 서버(100)에 송신한다.
이와 같은 동작을 갖는 동작모듈(210)과 대기모듈(220)을 포함하는 임베디드 시스템(100)은, 링크 문제 등으로 인해 하나의 모듈이 서버(100)로부터 패킷수신을 수행하지 못하더라도 동작모듈(210)이 이를 체크하여 패킷 수신한 모듈이 패킷 수신하지 못한 모듈에 수신 패킷을 송신하도록 함으로써, 양 모듈간의 프로그램 동기 화를 높일 수 있다.
도 7은 본 발명의 일 실시예에 따른 임베디드 시스템 동작모듈의 다운로드 방법을 나타낸 순서 흐름도이다.
도 7에 도시된 바와 같이, 임베디드 시스템(200)의 동작모듈(210)은 구동 중 서버(100)로부터 패킷이 수신되었는지를 판단할 수 있다(S101). 동작모듈(210)은 서버(100)로부터 패킷이 수신되었으면 미리 약속된 시간을 카운트하고(S102), 미리 약속된 시간 안에 대기모듈(220)로부터 ACK 메시지가 수신되는지를 분석한다(S103).
동작모듈(210)은 미리 약속된 시간 안에 대기모듈(220)로부터 ACK 메시지가 수신되면, 서버(100)로부터 수신한 패킷에 대응하는 이중화 모듈 전체의 ACK 메시지를 생성하고(S104), 생성한 ACK 메시지를 서버(100)에 송신한다(S105).
하지만, 동작모듈(210)은 미리 약속된 시간 안에 대기모듈(220)로부터 ACK 메시지가 수신되지 않으면 대기모듈(220)이 패킷 수신을 수행하지 못한 것으로 판단하고, 자신이 서버(100)로부터 수신한 패킷을 대기모듈(220)에 송신한다(S106).
동작모듈(210)은 대기모듈(220)에 패킷을 송신한 후 대기모듈(220)로부터 ACK 메시지가 수신되면(S107), 서버(100)로부터 수신한 패킷에 대응하는 이중화 모듈 전체의 ACK 메시지를 생성하고(S104), 생성한 ACK 메시지를 서버(100)에 송신한다(S105).
한편, 동작모듈(210)은 서버(100)로부터 패킷 수신이 이루어지지 않았을 경우, 대기모듈(220)로부터 ACK 메시지가 수신되었는지를 판단할 수 있다(S108).
동작모듈(210)은 서버(100)로부터 패킷 수신이 이루어지지 않았음에도 대기모듈(220)로부터 ACK 메시지가 수신되었으면, 링크 문제 등으로 인해 수신한 ACK 메시지에 대응하는 패킷을 자신이 서버(100)로부터 수신하지 못한 것으로 판단하고, 대기모듈(220)에 수신패킷 요청 신호를 송신한다(S109).
동작모듈(210)은 대기모듈(220)에 수신패킷 요청 신호를 송신한 후 미리 약속된 시간을 카운트할 수 있으며(S110), 미리 약속된 시간 안에, 송신한 신호에 대응하는 패킷이 대기모듈(220)로부터 수신되는지를 분석할 수 있다(S111).
동작모듈(210)은 미리 약속된 시간 안에, 송신한 신호에 대응하는 패킷이 대기모듈(220)로부터 수신되면, 수신한 패킷에 대응하는 이중화 모듈 전체의 ACK 메시지를 생성하고(S104), 생성한 ACK 메시지를 서버(100)에 송신한다(S105).
동작모듈(210)은 미리 약속된 시간 안에, 송신한 신호에 대응하는 패킷이 대기모듈(220)로부터 수신되지 않으면 계속해서 대기모듈에 수신패킷 요청 신호를 송신할 수 있다.
도 8은 본 발명의 일 실시예에 따른 임베디드 시스템 대기모듈의 다운로드 방법을 나타낸 순서 흐름도이다.
도 8에 도시된 바와 같이, 임베디드 시스템(200)의 대기모듈(220)은 서버(100) 또는 동작모듈(210)로부터 패킷을 수신할 수 있다(S201).
대기모듈(220)은 서버(100) 또는 동작모듈(210)로부터 패킷을 수신하면, 수신한 패킷에 대응하는 ACK 메시지를 생성하고(S202), 생성한 ACK 메시지를 동작모듈(210)에 송신한다(S203).
그리고, 대기모듈(220)은 생성한 ACK 메시지를 동작모듈(210)에 송신한 후 동작모듈(210)로부터 수신패킷 요청 신호가 수신되는지를 분석할 수 있으며(S204), 동작모듈(210)로부터 해당 신호가 수신되면 서버(100)로부터 수신한 패킷을 동작모듈(210)에 송신한다(S205). 대기모듈(220)은 서버(100)로부터 수신한 패킷을 동작모듈(210)에 송신하였거나, 생성한 ACK 메시지를 동작모듈(210)에 송신하였으면 다운로드를 종료할 수 있다.
상기한 바와 같은 본 발명에 따른 이중화 모듈의 다운로드 장치 및 방법은, 공유 링크를 통해 이중화 모듈 시스템과 연결된 서버가 이중화 모듈이 포함하는 모든 모듈의 주소를 목적지 주소에 포함시킨 멀티캐스트 패킷을 송신하도록 함으로써, 다운로드를 위한 패킷량을 감소시켜 이중화 모듈과 서버의 다운로드 시간과 부하를 절감할 수 있다.
또한, 본 발명에 따른 이중화 모듈의 다운로드 장치 및 방법은, 이중화 모듈 중 하나의 모듈이 패킷을 수신하지 못하는 경우, 패킷을 수신한 모듈이 패킷을 수신하지 못한 모듈에 수신한 패킷을 송신하도록 함으로써, 이중화 모듈 간의 프로그램 동기화 성능을 높일 수 있다.

Claims (13)

  1. 이중화 모듈의 다운로드 장치에 있어서,
    멀티캐스트 전송방법을 통해 서버로부터 패킷을 수신하고, 상기 수신된 패킷에 대응하는 ACK 메시지를 생성하는 대기모듈; 및
    상기 멀티캐스트 전송방법을 통해 상기 대기모듈이 수신한 패킷과 동일한 패킷을 상기 서버로부터 수신하고, 상기 대기모듈에서 생성한 ACK 메시지를 수신한 후 수신된 ACK 메시지에 따라 이중화 모듈 전체의 ACK 메시지를 생성하여 상기 서버에 송신하는 동작모듈을 포함하는 이중화 모듈의 다운로드 장치.
  2. 제1항에 있어서,
    상기 동작모듈은,
    상기 서버로부터 상기 패킷을 수신되면, 미리 설정된 시간을 카운트하고, 상기 카운트 중 상기 대기모듈로부터 ACK 메시지가 수신되지 않는 경우, 상기 서버로부터 수신한 패킷을 상기 대기모듈에 송신하는 이중화 모듈의 다운로드 장치.
  3. 제1항에 있어서,
    상기 동작모듈은,
    상기 서버로부터 상기 패킷을 수신하지 않은 상태에서 상기 대기모듈로부터 ACK 메시지를 수신하게 되는 경우, 상기 대기모듈에 수신패킷 요청 신호를 송신하는 이중화 모듈의 다운로드 장치.
  4. 제3항에 있어서,
    상기 대기모듈은,
    상기 ACK 메시지를 상기 동작 모듈로 송신한 후 상기 동작모듈로부터 상기 수신패킷 요청 신호가 수신되면, 상기 서버로부터 수신한 패킷 중 상기 ACK 메시지에 대응되는 패킷을 상기 동작모듈에 송신하는 이중화 모듈의 다운로드 장치.
  5. 제3항에 있어서,
    상기 동작모듈은,
    상기 대기모듈에 상기 수신패킷 요청 신호를 송신한 후 미리 설정된 시간을 카운트하여 상기 카운트 중 상기 대기모듈로부터 패킷이 수신되는지를 체크하고, 상기 카운트 중 상기 패킷이 수신되면 상기 수신된 패킷에 대응하는 이중화 모듈 전체의 ACK 메시지를 상기 서버에 송신하는 이중화 모듈의 다운로드 장치.
  6. 이중화 모듈의 다운로드 시스템에 있어서,
    동작모듈과 대기모듈을 포함하는 이중화 모듈을 구성하고, 서버로부터 패킷이 수신되면 상기 수신된 패킷에 대응하는 상기 이중화 모듈 전체의 ACK 메시지를 생성하여 서버에 송신하는 이중화 모듈 시스템; 과
    상기 이중화 모듈 시스템 내의 동작모듈과 대기모듈 주소를 목적지 주소에 포함하는 멀티캐스트 패킷 전송 방식을 통해 패킷을 상기 이중화 모듈 시스템에 송신하는 서버를 포함하는 이중화 모듈의 다운로드 시스템.
  7. 제6항에 있어서,
    상기 이중화 모듈 시스템은,
    상기 이중화 모듈 내의 동작모듈과 대기모듈 중 하나의 모듈이 상기 서버로부터 패킷을 수신하지 못하는 경우, 상기 동작모듈이 이를 체크하여 상기 패킷을 수신한 모듈이 상기 패킷을 수신하지 못한 모듈에 상기 수신 패킷을 송신하도록 하는 이중화 모듈의 다운로드 시스템.
  8. 제7항에 있어서,
    상기 이중화 모듈 시스템은,
    상기 동작모듈이 상기 서버로부터 패킷을 수신하면 미리 설정된 시간을 카운트하고, 상기 카운트 중 상기 수신 패킷에 대응하는 상기 대기모듈의 ACK 메시지가 수신되지 않는 경우, 상기 수신 패킷을 상기 대기모듈에 송신하도록 하는 이중화 모듈의 다운로드 시스템.
  9. 제7항에 있어서,
    상기 이중화 모듈 시스템은,
    상기 동작모듈이 상기 서버로부터 패킷을 수신하지 않은 상태에서, 상기 대기모듈로부터 상기 수신 패킷에 대응하는 ACK 메시지를 수신되는 경우, 상기 대기모듈에 수신패킷 요청 신호를 송신하여 상기 대기모듈로부터 패킷을 다운로드하는 이중화 모듈의 다운로드 시스템.
  10. 동작모듈과 대기모듈로 구성되는 이중화 모듈의 패킷 다운로드 방법에 있어서,
    서버로부터 멀티캐스트 방식을 통해 전송한 패킷을 상기 동작모듈과 대기모듈에서 각각 수신하는 단계; 와
    상기 동작 모듈이 상기 서버로부터 수신한 패킷에 대응하는 이중화 모듈 전체의 ACK 메시지를 생성하여 상기 서버에 송신하는 단계를 포함하는 이중화 모듈의 다운로드 방법.
  11. 제10항에 있어서,
    상기 ACK 메시지를 상기 서버에 송신하는 단계에서 상기 동작 모듈의 ACK 메시지 생성은,
    상기 서버로부터 패킷이 수신되면 미리 설정된 시간을 카운트하고, 상기 카운트 중 상기 수신 패킷에 대응하는 상기 대기모듈의 ACK 메시지가 수신되는 경우, 상기 수신 패킷에 대응하는 이중화 모듈 전체의 ACK 메시지를 생성하는 이중화 모듈의 다운로드 방법.
  12. 제11항에 있어서,
    상기 동작모듈이 상기 카운트 중 상기 대기모듈의 ACK 메시지를 수신하지 못하는 경우, 상기 서버로부터 수신한 패킷을 상기 대기모듈에 송신하는 이중화 모듈의 다운로드 방법.
  13. 제10항에 있어서,
    상기 동작모듈이 상기 서버로부터 상기 패킷을 수신하지 못한 상태에서 상기 대기모듈의 ACK 메시지를 수신하는 경우, 상기 수신한 ACK 메시지에 대응하는 수신패킷 요청 신호를 상기 대기모듈에 송신하는 단계;
    상기 대기모듈이 상기 수신패킷 요청 신호를 수신하고, 상기 서버로부터 수신한 패킷을 상기 동작모듈에 송신하는 단계; 및
    상기 동작모듈이 상기 대기모듈로부터 상기 패킷을 수신하고, 상기 수신한 패킷에 대응하는 이중화 모듈 전체의 ACK 메시지를 생성하는 단계를 더 포함하는 이중화 모듈의 다운로드 방법.
KR1020050122153A 2005-12-12 2005-12-12 이중화 모듈의 다운로드 장치 및 방법 KR100738534B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050122153A KR100738534B1 (ko) 2005-12-12 2005-12-12 이중화 모듈의 다운로드 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050122153A KR100738534B1 (ko) 2005-12-12 2005-12-12 이중화 모듈의 다운로드 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20070062336A KR20070062336A (ko) 2007-06-15
KR100738534B1 true KR100738534B1 (ko) 2007-07-11

Family

ID=38357845

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050122153A KR100738534B1 (ko) 2005-12-12 2005-12-12 이중화 모듈의 다운로드 장치 및 방법

Country Status (1)

Country Link
KR (1) KR100738534B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020038575A (ko) 1999-04-26 2002-05-23 엘그레시 도론 분산 컴퓨터 시스템을 통하여 저장된 데이터의 완전성을유지하는 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020038575A (ko) 1999-04-26 2002-05-23 엘그레시 도론 분산 컴퓨터 시스템을 통하여 저장된 데이터의 완전성을유지하는 방법

Also Published As

Publication number Publication date
KR20070062336A (ko) 2007-06-15

Similar Documents

Publication Publication Date Title
JP7273937B2 (ja) Ttiバンドリングによるアップリンク送信の強化
US12040897B2 (en) Learning-based high-performance, energy-efficient, fault-tolerant on-chip communication design framework
CN102075436B (zh) 以太网络及其数据传输方法和装置
JP4198741B2 (ja) 通信機器、通信システム、通信方法、通信プログラム、通信回路
CN1633647B (zh) 用于管理网络中的数据传送的系统、方法
JP2007089174A (ja) 無線通信システムにおける信号の伝送速度を改善する方法及び装置
BRPI0706809A2 (pt) método de transmissão e de retransmissão de dados
MX2012010372A (es) Aparato y metodo para programar un servicio de concesion y consulta flexible en un sistema de acceso inalambrico de banda ancha.
US20120320732A1 (en) Multicast bulk transfer system
US8400988B2 (en) System and method for parallel transmission over multiple radio links
EP1941640A2 (en) Method and apparatus for transmitting circuitry that transmit data at different rates
CN101605128A (zh) Linux主从设备通过以太网接口进行通信的方法
KR100392169B1 (ko) 통신 시스템에서 데이터 패킷을 전달하기 위한 방법 및 장치
US7292601B2 (en) Error-rate management in wireless systems
KR100738534B1 (ko) 이중화 모듈의 다운로드 장치 및 방법
TWI486030B (zh) 無線通訊系統查詢資料傳輸狀況的方法及其相關裝置
JP2001244982A (ja) パケット欠落検出システム、送信装置、受信装置及びパケット欠落検出方法
US7304956B2 (en) Extended wrap mode with source/destination wrap
EP4224809A1 (en) Message transmission method, terminals and storage medium
WO2007096987A1 (ja) エラー制御装置
US20100208581A1 (en) Data transfer system, data transmitting device, data receiving device and data transfer method
CN110928828A (zh) 处理器间业务处理系统
CN116032421B (zh) 以太网链路控制装置和存储介质
GB2374770A (en) Transmitting data to a dual-mode communication unit
JP2001333048A (ja) データ転送方式

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20051212

PA0201 Request for examination
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20061207

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20070530

PG1501 Laying open of application
GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20070705

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20070706

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20100629

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20110629

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20120628

Start annual number: 6

End annual number: 6

FPAY Annual fee payment

Payment date: 20130627

Year of fee payment: 7

PR1001 Payment of annual fee

Payment date: 20130627

Start annual number: 7

End annual number: 7

FPAY Annual fee payment

Payment date: 20140627

Year of fee payment: 8

PR1001 Payment of annual fee

Payment date: 20140627

Start annual number: 8

End annual number: 8

FPAY Annual fee payment

Payment date: 20150629

Year of fee payment: 9

PR1001 Payment of annual fee

Payment date: 20150629

Start annual number: 9

End annual number: 9

FPAY Annual fee payment

Payment date: 20160629

Year of fee payment: 10

PR1001 Payment of annual fee

Payment date: 20160629

Start annual number: 10

End annual number: 10

FPAY Annual fee payment

Payment date: 20170629

Year of fee payment: 11

PR1001 Payment of annual fee

Payment date: 20170629

Start annual number: 11

End annual number: 11

FPAY Annual fee payment

Payment date: 20181115

Year of fee payment: 12

PR1001 Payment of annual fee

Payment date: 20181115

Start annual number: 12

End annual number: 12

FPAY Annual fee payment

Payment date: 20190703

Year of fee payment: 13

PR1001 Payment of annual fee

Payment date: 20190703

Start annual number: 13

End annual number: 13

PR1001 Payment of annual fee

Payment date: 20200707

Start annual number: 14

End annual number: 14

PC1903 Unpaid annual fee

Termination category: Default of registration fee

Termination date: 20220416