KR20010067035A - 분산 컴퓨터 시스템의 초기화 시스템 및 방법 - Google Patents

분산 컴퓨터 시스템의 초기화 시스템 및 방법 Download PDF

Info

Publication number
KR20010067035A
KR20010067035A KR1020000043697A KR20000043697A KR20010067035A KR 20010067035 A KR20010067035 A KR 20010067035A KR 1020000043697 A KR1020000043697 A KR 1020000043697A KR 20000043697 A KR20000043697 A KR 20000043697A KR 20010067035 A KR20010067035 A KR 20010067035A
Authority
KR
South Korea
Prior art keywords
fail silent
computer node
silent computer
communication medium
fail
Prior art date
Application number
KR1020000043697A
Other languages
English (en)
Other versions
KR100544805B1 (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 비센트 비.인그라시아, 알크 엠 아헨
Publication of KR20010067035A publication Critical patent/KR20010067035A/ko
Application granted granted Critical
Publication of KR100544805B1 publication Critical patent/KR100544805B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0796Safety measures, i.e. ensuring safe condition in the event of error, e.g. for controlling element

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Small-Scale Networks (AREA)
  • Multi Processors (AREA)

Abstract

본 발명은 통신매체에 결합된 복수의 페일 사일런트 컴퓨터 노드를 초기화하는 방법 및 장치에 관한 것이다. 상기 복수의 페일 사일런트 컴퓨터 노드는 통신매체를 통하여 데이터 프레임을 교환하도록 구성된다. 초기화는 복수의 페일 사일런트 컴퓨터 노드를 동기화시키는 초기화 워드의 송신에 기반한다. 초기화 워드는 컴퓨터 시스템의 상태 특히 통신매체의 상태에 따라서 전송된다.

Description

분산 컴퓨터 시스템의 초기화 시스템 및 방법{A system for initializing a distributed computer system and a method thereof}
본 발명은 분산 컴퓨터 시스템을 초기화하는 시스템 및 분산 컴퓨터 시스템을 초기화하는 방법에 관한 것이다.
고성능 컴퓨터에 대한 수요에 부응하여 현대의 많은 컴퓨터 시스템이 분산구조를 구비함으로써, 복수의 컴퓨터가 공통의 통신매체를 통하여 상호간 결합된다(Saito 등에 특허된 미국 특허 제5,887,143호 및 이 특허에 인용된 참증을 참고).
컴퓨터 시스템이 운송 수단의 유선 브레이크 애플리케이션(brake by wire application)과 같은 안전이 중요한 애플리케이션을 처리하는 경우에 있어, 이 컴퓨터 시스템의 신뢰성(reliability)이 중요시된다.
이와 같은 시스템의 신뢰성은 페일 사일런트 컴퓨터 노드(fail-silent computer node)를 이용하고, 상기 공통 통신매체를 공유하는 컴퓨터 노드를 동기화시켜 향상될 수 있다(Kopetz의 미국특허 제4,866,606호와 제5,694,452호 참조). 페일 사일런트 컴퓨터 노드는 올바른 결과를 생성하거나 전혀 결과를 생성하지 않는다. 페일 사일런트 컴퓨터 노드의 구축은 해당 기술분야에서 공지되었다(Kopetz의 미국특허 제5,694,452호 및 이 특허의 참고문헌을 참조).
페일 사일런트 컴퓨터 노드 각각의 가용성(availability) 또한 이점이 된다. 따라서 가능한 많은 페일 사일런트 컴퓨터 노드를 신속한 방식으로 노이즈 환경하에서도 초기화할 필요가 있다. 또한, 컴퓨터 시스템이 시동(start up)되거나 기동작중인 시스템 중 셧다운(shut down; 정지)된 컴퓨터 시스템 일부를 시동할 필요가 있는 경우, 페일 사일런트 컴퓨터 노드를 신속한 방식으로 초기화할 필요가 있다.
기존 회로에 있어서, 이러한 상반된 요구를 최적방식으로 조정하기가 곤란하다. 예를 들어, Kopetz의 미국특허 제5,694,542호는 복수의 페일 사일런트 컴퓨터노드를 구비한 페일 사일런트 유닛을 다수 포함하는 컴퓨터 시스템을 개시하고 있다. 페일 사일런트 유닛은 2개의 병렬 버스에 결합된다. 페일 사일런트 컴퓨터 노드는 초기화 워드(initialization word; I-메시지)의 수신에 따라서 초기화된다. 페일 사일런트 컴퓨터 노드는 동기화된 후, 상기 I-메시지와 다른 데이터 프레임(예들 들어, N-메시지)을 송신한다.
시동 타임아웃 파라미터(startup timeout parameter)는 각 페일 사일런트 컴퓨터 노드 내에 저장된다. 이 파라미터는 시스템의 전원 인가로부터 시작되어 I-메시지 전송 중 종료되는 기간을 결정한다. 따라서 전원 인가 후, 컴퓨터 노드는 시동 시간이 경과되기를 대기한 후, I-메시지를 송신한다. 이 해결책은 I-메시지를 송신하는 페일 사일런트 컴퓨터 노드(즉, 송신 컴퓨터)가 상기 통신매체를 통하여 다른 I-메시지 또는 N-메시지가 동시에 송신되는지 여부를 검사하지 않는 단점이 있다. 따라서 데이터 프레임의 충돌이 발생할 수 있다. 상기 종래 해결책은 시동 타임아웃 파라미터가 노이즈 통신매체나 다른 I-메시지 또는 N-메시지가 존재하는 경우의 초기화와 같은 다양한 초기화 시나리오에 적용될 수 없는 또 다른 단점을 갖는다.
이와 같은 시스템의 신뢰성은 상기 통신매체가 휴지(silent) 중인 경우에만 I-메시지를 송신함으로써 향상될 수 있다. 따라서 충돌이 회피된다. 이 해결책은 노이즈 환경하에서 컴퓨터 시스템이 초기화되지 않는 단점이 있다.
따라서 분산 컴퓨터 시스템을 초기화하는 개선된 시스템과 방법에 대한 요구가 있으며, 또한 신뢰성과 가용성을 모두 갖춘 컴퓨터 시스템을 제공할 필요가 있다.
도1은 본 발명의 바람직한 실시예에 따른 컴퓨터 시스템의 개략도이다.
도2는 본 발명의 바람직한 실시예에 따른 페일 사일런트 컴퓨터 노드의 개략도이다.
도3은 본 발명의 바람직한 실시예에 따른 실시간 타이밍 유닛의 개략도이다.
도4는 초기화 워드의 송수신을 예시하는 타이밍 도이다.
도5는 본 발명의 바람직한 실시예에 따른 분산 컴퓨터 시스템을 초기화하는 방법의 흐름도이다.
도6은 본 발명의 다른 바람직한 실시예에 따른 분산 컴퓨터 시스템을 초기화하는 방법의 흐름도이다.
사용된 특정 용어 및 표현, 발명의 상세한 설명에 개시된 특정 구조 및 동작 설명, 및 첨부 도면은 단지 예시를 목적으로 하며, 첨부된 특허청구범위에 청구된 본 발명의 범위를 제한하려는 의도는 전혀 없다.
도1은 복수의 페일 사일런트 컴퓨터 노드(즉, 컴퓨터 노드) NC11(11), NC12(12), NC21(21), NC31(31), NC41(41) 및 NC42(42)가 각각의 버스(311, 312, 321, 331, 341, 및 342)를 통하여 결합된 통신매체(30')를 포함하는 컴퓨터 시스템(9)의 개략도이다. 컴퓨터 노드(NC11 및 NC12)는 제1 그룹(10)을 형성하며, 컴퓨터 노드(NC21)는 제2 그룹(20)을 형성하며, 컴퓨터 노드(NC31)는 제3 그룹(30)을 형성하며, 컴퓨터 노드(NC41, NC42)는 제4 그룹(40)을 형성한다. 도2는 본 발명의 바람직한 실시예에 따른 페일 사일런트 컴퓨터 노드(21)의 개략도이다.
통신매체(30')에 대한 액세스는 각 그룹에 대한 타임슬롯을 활용하여 순환방식으로 제어된다. 일 그룹 사이클 동안, 각 그룹은 통신매체(30')를 1회 액세스할 수 있으므로, 단일 그룹 사이클 동안 각 그룹에 단일 타임슬롯이 할당된다. 단일 그룹 사이클 동안 일 그룹 중 선택된 하나의 페일 사일런트 컴퓨터 노드만이 통신매체(30')를 액세스할 수 있으며, 상기 그룹의 나머지 컴퓨터 노드는 다른 그룹 사이클 동안 통신매체(30')를 액세스할 수 있다. 다양한 그룹 사이클이 주기적 방식으로 반복된다. 주기적 그룹 사이클의 순서는 시스템 사이클이라 불린다. 바람직하게는, 일 시스템 사이클 동안 각 컴퓨터 노드가 통신매체(30')를 액세스할 수 있으며, 페일 사일런트 컴퓨터 노드는 2가지 유형의 데이터 프레임을 생성할 수 있다. 제1 유형은 다른 페일 사일런트 컴퓨터 노드를 초기화하도록 사용되어 초기화 워드(initialization word; IW(i))라 불리며, 제2 유형은 페일 사일런트 컴퓨터 노드를 초기화하도록 사용되지 않으며 비초기화 워드(non-initialization word; NIW(i))라 불린다. 바람직하게는, 일 시스템 사이클 동안 모든 컴퓨터 노드가 초기화 워드 및/또는 비초기화 워드를 전송한다. 일반적으로, 컴퓨터 노드의 일부가 초기화 워드를 전송하도록 구성된다. 예를 들어, 컴퓨터 노드(NC11, NC21, 및 NC31)는 초기화 워드를 송신할 수 있지만, 컴퓨터 노드(NC12, NC41, 및 NC42)는 초기화 워드를 송신할 수 없다. 컴퓨터 노드(NC11, NC21, 및 NC31)에 의한 초기화 워드를 각각 IW11, IW21, IW31로 표시하고, 각 컴퓨터 노드에 의한 비초기화 워드를 NIW11, NIW12, NIW21, NIW31, NIW41, 및 NIW42로 표시한다. 각 그룹 사이클은 4개의 타임슬롯을 포함하며, 상기 제1, 제2, 제3, 및 제4 그룹은 상기 제1, 제2, 제3, 제4 타임슬롯 중 통신매체(30')를 액세스할 수 있다.
표1에는 초기화 워드 및 비초기화 워드가 여러 그룹에 의하여 전송되는, 예시적 시스템 사이클이 도시되어 있다.
제1타임슬롯 제2 타임슬롯 제3 타임슬롯 제4 타임슬롯 그룹 사이클 번호
IW11 NIW21 NIW31 NIW41 1
NIW12 NIW21 IW31 NIW42 2
NIW11 IW21 NIW31 NIW41 3
NIW11 NIW21 NIW31 NIW42 4
NIW11 IW21 IW31 NIW41 5
NIW12 NIW21 NIW31 NIW42 6
IW11 NIW21 NIW31 NIW41 7
NIW12 NIW21 NIW31 NIW42 8
표1에 도시된 바와 같이, 제1 그룹 사이클의 첫 번째 타임슬롯 중 전송되는 초기화 워드(IW11)가 사용되어 컴퓨터 시스템(9)이 초기화되며, 다른 초기화 워드는 컴퓨터 시스템(9)이 초기화된 후 정지(shut down)된 페일 사일런트 컴퓨터 노드를 초기화하도록 사용된다. 페일 사일런트 컴퓨터 노드가 오작동의 결과로 정지될 수 있다. 바람직하게는, 페일 사일런트 컴퓨터 노드가 제3 유형의 데이터 프레임을 추가로 생성할 수 있다. 제3 유형은 또 다른 초기화 워드(AIW(i))로서, 컴퓨터 시스템이 초기화된 후 제공된다. AIW(i)는, 컴퓨터 시스템(9)이 초기화되어도 초기화되지 않는 페일 사일런트 컴퓨터 노드 및 컴퓨터 시스템(9)이 초기화된 후 정지된 페일 사일런트 컴퓨터 노드를 초기화시켜 컴퓨터 시스템(9)의 신뢰성을 향상시킨다. 표2에는 초기화 워드, 다른 초기화 워드 및 비초기화 데이터 워드가 여러 그룹에 의하여 전송되는, 예시적 시스템 사이클이 도시되어 있다.
제1 타임슬롯 제2 타임슬롯 제3 타임슬롯 제4 타임슬롯 그룹 사이클 번호
IW11 NIW21 NIW31 NIW41 1
NIW12 NIW21 AIW31 NIW42 2
NIW11 AW21 NIW31 NIW41 3
NIW12 NIW21 NIW31 NIW42 4
NIW11 AW21 AW31 NIW41 5
NIW12 NIW21 NIW31 NIW42 6
AW11 NIW21 NIW31 NIW41 7
NIW12 NIW21 NIW31 NIW42 8
도2는 제어 유닛(40), 메모리 모듈(42), 실시간 타이밍 유닛(44), 및 I/O 인터페이스(46)를 포함하는 페일 사일런트 컴퓨터 노드(11)를 도시한다. 제어 유닛(40)이 각각의 버스(41, 43, 및 45)를 통하여 메모리 모듈(42), 실시간 타이밍 유닛(44), 및 I/O 인터페이스(46)에 결합된다. 실시간 타이밍 유닛(44)은 또한 버스(47)를 통하여 메모리 모듈(42)에 결합된다. 실시간 타이밍 유닛(44)이 페일 사일런트 컴퓨터 노드 내에 타이밍 신호를 제공한다. 이 타이밍 신호가 통신매체(30')에 대한 다양한 액세스를 개시(initiate)한다. 메모리 모듈(42)은 복수의 인스트럭션I(j,1)을 저장한다.
제어 유닛(40)에 의하여 실행되는 복수의 인스트럭션I(j,1)은 제어 유닛(40)이 통신매체(30')를 액세스할 수 있는 시기를 결정한다. 바람직하게는, 인스트럭션I(j,1)은 통신매체(30')에 대한 액세스를 제어하는 피연산(operand) 인스트럭션O(j,1) 및 상기 피연산 인스트럭션O(j,1) 각각이 실행되는 시기를 나타내는 실행시간 인스트럭션T(j,1)을 포함한다(여기서, j는 1 내지 M의 값을 갖는 인덱스임). T(j,1)는 NC11(11)에 할당된 타임슬롯에 따른다. NC11(11)이 데이터 프레임을 전송하도록 하는 인스트럭션의 실행시간은 NC11에 할당된 타임슬롯의 시점과 종점 사이에 한정된다. 표1을 참조하여 예를 들면, NC11(11)의 제1 인스트럭션(즉, I(1,1))은 IW11을 전송하는 것이며, 인스트럭션T(1,1)의 상응 시간은 제1 그룹 사이클의 제1 타임슬롯 구간이다. NC11(11)의 제2 인스트럭션(즉, I(2,1))은 통신매체(30')로부터 데이터를 수신하는 것이다.
바람직하게는, 또한 메모리 모듈(42)이 복수의 애플리케이션 인스트럭션AI(v)을 저장하고, 이 애플리케이션 인스트럭션AI(v)이 제어 유닛(40)에 의하여 실행되지만, 이러한 실행이 통신매체(30')로의 데이터 프레임 전송을 개입시키지 않는다.
도3은 프로그래머블 카운터(50), 비교기(52), 및 타이밍 유닛 레지스터(54)를 포함하는 실시간 타이밍 유닛(44)을 도시한다. 비교기(52)는 버스(51)를 통하여 프로그래머블 카운터(50)에 결합되고, 버스(43)를 통하여 제어 유닛(40)에 결합되고, 버스(53)를 통하여 타이밍 유닛 레지스터(54)에 결합된다. 제어 유닛은 버스(43)를 통하여 프로그래머블 카운터(50), 비교기(52), 및 타이밍 유닛 레지스터(54)에 결합된다. 타이밍 유닛 레지스터(54)는 버스(47)를 통하여 메모리 모듈(42)에 결합된다. 제어 유닛(40)은 버스(43)를 통하여 프로그래머블 카운터(50)에 데이터를 기록하고, 또한 버스(43)를 통하여 제어 신호를 송신하여 타이밍 유닛 레지스터(54)내 T(j,i)의 수신을 제어할 수 있다. 비교기(52)는 프로그래머블 카운터(50)가 제공한 출력신호 및 실행될 다음 인스트럭션과 연관된 실행시간 인스트럭션T(j,i)을 수신한다. T(j,i)는 버스(47) 또는 버스(43)를 통하여 메모리 모듈(42) 또는 제어 유닛(40)으로부터 최초로 제공되어 타이밍 유닛 레지스터(54)에 저장된다. 비교기(52)는 T(j,i)와 프로그래머블 카운터(50)가 공급한 출력신호를 비교하고, 그들이 일치하면 버스(43)를 통하여 일치 신호(MATCH signal)를 제어 유닛(40)에 송신하여, 다음 인스트럭션이 실행될 시간을 통지한다.
M개의 인스트럭션은 순환방식으로 실행되어, 인스트럭션I(M,i)의 실행 다음에 인스트럭션I(1,i)가 실행된다. I(1,i) 내지 I(M,i)의 M개 인스트럭션은 i번째 인스트럭션 세트(set)로 불린다. 일반적으로 단일 인스트럭션 세트는 단일 시스템 사이클동안 실행된다.
바람직하게는, 일부 인스트럭션 세트가 통신매체(30')를 통하여 다른 페일 사일런트 컴퓨터 노드로 다른 초기화 워드AIW(i)의 전송을 수반하는 인스트럭션을 포함한다. 따라서 다른 초기화 워드AIW(i)가 주기적 방식으로 컴퓨터 시스템(10) 전반에 송신된다. 그러므로 페일 사일런트 컴퓨터 노드는 정지되더라도, 초기화 워드를 수신한 후, 일 시스템 사이클 내에 시동될 수 있다.
일반적으로, 페일 사일런트 컴퓨터 노드에 전원이 인가된 후, 제어 유닛은 초기화 루틴IR(i)으로 이동(jump)한다. 페일 사일런트 컴퓨터 노드가 초기화 워드IW(i)를 송신할 수 있으면, 초기화 루틴이 IW(i)의 전송을 처리하고, 그렇지 못하면 상기 루틴은 IW(i)의 수신을 처리한다. 바람직하게는, 초기화 루틴은 i번째 인스트럭션 세트(I(1,i) 내지 I(M,i))에 포함되지 않는다.
당업자라면 초기화 루틴IR(i)이 I(1,i) 내지 I(M,i)인 인스트럭션 세트의 일부가 될 수 있음을 안다. 그러나 초기화 루틴IR(i)은 주기적 방식으로 반복되지 않는다.
표3에는 초기화 워드, 다른 초기화 워드 및 비초기화 데이터 워드가 여러 그룹에 의하여 전송되는, 예시적 시스템 사이클이 도시되어 있다.
제1 타임슬롯 제2 타임슬롯 제3 타임슬롯 제4 타임슬롯 그룹 사이클 번호
IW11/NIW11 NIW21 AIW31 NIW41 1
NIW12 NIW21 NIW31 NIW42 2
NIW11 AW21 NIW31 NIW41 3
NIW12 NIW21 NIW31 NIW42 4
NIW11 AW21 AW31 NIW41 5
NIW12 NIW21 NIW31 NIW42 6
AW11 NIW21 NIW31 NIW41 7
NIW12 NIW21 NIW31 NIW42 8
도시된 바와 같이, 초기화 루틴IR(i)가 실행되면, 제1 컴퓨터 노드(11)가 IW11을 전송하고, 연속된 그룹 사이클에서 NIW11을 전송한다.
초기화 워드IW(i)의 전송이 예정된 페일 사일런트 컴퓨터 노드는, 전원이 인가된 후 어떠한 초기화 워드(IW(i) 또는 AIW(i))도 수신하지 못하고, 또한 다음의 조건 중 하나가 충족되면 초기화 워드IW(i)를 송신한다.
조건1) 페일 사일런트 컴퓨터 노드에 전원이 인가된 후 또는 상기 노드가 무효의 데이터 프레임을 수신한 후, 타임아웃 기간TO(i)가 도과하고, 또한 이 기간 동안 상기 페일 사일런트 컴퓨터 노드가 통신매체로부터 데이터 프레임 또는 노이즈를 수신하지 못함(즉, 통신매체(30')가 휴지 상태임).
조건2) 페일 사일런트 컴퓨터 노드에 전원이 인가된 후, 또는 상기 노드가 무효의 데이터 프레임을 수신한 후, 소정기간PP(i)이 도과하고, 또한 이 기간 동안 상기 페일 사일런트 컴퓨터 노드가 통신매체(30')로부터 노이즈를 수신함.
상기 페일 사일런트 컴퓨터 노드가 무효 데이터 프레임을 수신하면, 컴퓨터시스템의 상태가 활성(active)으로 가정된다. 이러한 경우, 상기 페일 사일런트 컴퓨터 노드는 충돌을 회피하기 위하여 초기화 워드를 송신하지 않는다. 상기 컴퓨터 노드는 다른 페일 사일런트 컴퓨터 노드로부터의 초기화 워드를 수신하거나 또는 상기 조건 중 하나가 충족될 때까지 대기한다. 바람직하게는, 페일 사일런트 컴퓨터 노드는 유효한 초기화 워드를 수신하기 전, 비초기화 워드를 무효 데이터 프레임으로 표시한다.
타임아웃 기간TO(i) 중 통신매체(30')가 휴지 상태이면, 컴퓨터 시스템이 아직 초기화되지 않은 것으로 가정된다. 즉 어떠한 데이터, 특히 어떠한 초기화 워드도 전송되지 않았으며 따라서 페일 사일런트 컴퓨터 노드가 최초로 초기화 메시지를 송신한다.
소정기간PP(i) 중 통신매체가 노이즈 상태이지만 유효 또는 무효의 어느 데이터도 수신되지 않으면, 컴퓨터 시스템이 아직 초기화되지 않은 것으로 가정된다. 컴퓨터 시스템의 신뢰성을 향상시키도록 소정기간PP(i)이 타임아웃 기간TO(i)보다 길다. 모든 i에 대하여, PP(i) < > PP(i+1) 및 TO(i) < > TO(i+1)이다.
바람직하게는, TO(i)는 R개의 페일 사일런트 컴퓨터 노드가 데이터 프레임을 전송하도록 예정된 기간보다 길다. R은 정수이고, M>R>1이다. TO(i)는 일반적으로 일 그룹 사이클보다 길다.
바람직하게는, PP(i)는 T개의 페일 사일런트 컴퓨터 노드가 데이터 프레임을 전송하도록 예정된 기간보다 길다. T는 정수이고, M>T>R>1이다. PP(i)는 일반적으로 일 시스템 사이클보다 길다.
다양한 판결기준에 따라서 통신매체(30')가 휴지 상태인가 노이즈 상태인가 또는 무효 데이터 프레임이 통신매체(30')를 통하여 송신되었는지 결정된다. 상기 결정은 데이터 프레임에 사용된 코딩 방식에 일반적으로 맞추어져 있다. 바람직하게는, 제어 유닛(40)이 상기 결정 프로세스를 수행한다. 본 발명의 일 실시예에 있어서, 페일 사일런트 컴퓨터 노드에 전원이 인가된 후, 그 제어 유닛이 메모리 모듈로부터 상기 결정 프로세스를 처리하는 루틴을 인출(fetch)한다.
예를 들어, 무효 데이터 프레임은 K2의 데이터 비트를 수반하는, K1 비트를 갖는 데이터 프레임 헤더로 식별될 수 있다(여기서, K1 + K2 = K). K, K1, 및 K2는 소정의 값이다. 일반적으로, K 비트는 통신 프로토콜에 따르지만, 데이터 프레임에 대한 검사(check)는 하지 않는다. 예를 들어, CRC 검사는 상기 헤더와 K 비트가 무효라고 표시한다.
바람직하게는, 충돌을 회피하기 위하여, 페일 사일런트 컴퓨터 노드는 자신이 동기화되기 전에, 비초기화 워드를 무효 데이터 프레임으로 간주한다.
본 발명의 바람직한 실시예에 있어서, IW(i)와 AIW(i) 양자는 헤더HD(i), 타임부TIW(i), 및 델타부PIW(i)를 포함하고, 상기 헤더는 유형 플래그(type flag)TP(i)를 더 포함한다. IW(i)와 AIW(i)는 B(B>=K) 비트 크기이다. 비초기화 워드는 헤더HD(i)와 복수의 데이터 워드를 포함하고, 가장 짧은 데이터 워드는 Q(Q>=K) 데이터 비트로 구성된다. TP(i)는 데이터 프레임이 초기화 워드, 다른 초기화 워드 또는 비초기화 워드인지 나타낸다. 타임부TIW(i)는 초기화 워드IW(i)를 송신한 페일 사일런트 컴퓨터 노드의 실시간 타이밍 유닛이 제공한 타이밍 신호를반영한다. 델타부PIW(i)는 초기화 워드의 전송과 수신측 페일 사일런트 컴퓨터 노드에서 수행된 동기화/갱신 사이의 오프셋을 결정하는데 사용되는 데이터를 제공한다. 델타부PIW(i)는 또한 실시간 타이밍 유닛의 프로그래머블 카운터를 갱신하도록, 메모리 모듈(42) 내에 서브루틴의 어드레스를 저장할 수 있다. 예를 들어, 메모리 모듈(48)은 3개의 서브루틴(DR(1,1)-DR(1,3))을 저장할 수 있고, 서브루틴DR(1,1)은 IW11의 수신에 따른 갱신 절차를 처리하고, 서브루틴DR(1,2)은 IW21의 수신에 따른 갱신 절차를 처리하고, 서브루틴DR(1,3)은 IW31의 수신에 따른 갱신 절차를 처리한다. 소정의 오프셋이 측정되거나 계산될 수 있다. 소정 오프셋은 페일 사일런트 컴퓨터 노드가 초기화 워드를 송신한 시점과 수신측 페일 사일런트 컴퓨터 노드의 프로그래머블 카운터가 갱신된 시점 사이의 지연을 나타낸다.
바람직하게는, 페일 사일런트 컴퓨터 노드는 초기화 워드IW(i)를 송신한 후, 적어도 하나의 다른 페일 사일런트 컴퓨터 노드로부터 수신확인 워드(acknowledge word)를 수신하도록 대기한다. g 번째 페일 사일런트 컴퓨터 노드로부터의 수신확인 워드는 ACK(g)(g < > i)이다. g 번째 인스트럭션 세트의 첫 번째 인스트럭션 중 하나와 g 번째 페일 사일런트 인스트럭션 워드의 첫 번째 인스트럭션I(1,g)이 ACK(g)를 송신한다. 표1을 참조하여 예를 들면, NC11(11)이 IW11을 송신한 후, NC21(21), NC31(31) 및 NC41(41)은 각각 제1 그룹 사이클의 제2 타임슬롯, 제3 타임슬롯, 및 제4 타임슬롯 중 수신확인 워드를 송신한다. NC12(12)와 NC42(42)는 각각 제2 그룹 사이클의 제1 타임슬롯과 제4 타임슬롯 중 수신확인 워드를 송신한다. 바람직하게는 수신확인 워드는 다른 초기화 워드AIW이다.
TACK(i)의 소정기간동안, 통신매체가 휴지 상태이고 IW(i)의 전송에 수신확인 워드의 수신이 동반되지 않으면, 다른 초기화 워드IW(i)가 송신된다. TACKN(i)의 소정기간동안, 통신매체가 노이즈상태이고 IW(i)의 전송에 수신확인 워드의 수신이 동반되지 않으면, 다른 초기화 워드IW(i)가 송신된다. 바람직하게는, 이 절차는 수신확인 워드의 수신 없이 TR(i) 초기화 워드가 송신될 때까지 반복된다. 이 경우, I번째 페일 사일런트 컴퓨터 노드는 초기화 워드의 송신을 중단하고, 다른 페일 사일런트 컴퓨터 노드로부터의 초기화 워드를 수신하기 위하여 대기하거나, 또는 정지될 수 있다. TACK(i) <= TO(i) 이고, TACKN(i) <= PP(i)이다.
바람직하게는, ACK(g)는 헤더HD(g), 유형 플래그TP(g), 타임부TIW(g) 및 델타부PIW(g)를 포함한다. ACK(g)의 구현에 따라서, 유형 플래그는 ACK(g)가 비초기화 워드 또는 초기화 워드임을 나타내고, TIW(g)는 수신확인 워드ACK(g)를 송신한 페일 사일런트 컴퓨터 노드의 실시간 타이밍 유닛이 갱신/동기화 된 후 제공한 타이밍 신호를 반영한다. 델타부PIW(g)는 ACK(g)의 전송과 ACK(g)에 대하여 NC(i)가 수행한 검사 사이의 오프셋을 결정하도록 사용되는 데이터를 제공한다. NC(i)는 g 번째 페일 사일런트 컴퓨터 노드의 실시간 타이밍 유닛이 제공한 타이밍 신호를 TIW(g)와 오프셋의 합과 비교하여 상기 g 번째 페일 사일런트 컴퓨터 노드가 성공적으로 동기화되었는지 검사한다.
도4는 NC11(11)이 송신한 초기화 워드IW(11)(60)의 송신과 수신을 예시하는 타이밍 도이다. IW(11)이 제1 그룹 사이클의 제1 타임슬롯에 송신되면(표1과 표2 참조), 전송(바람직하게는 수신을 포함함)이 상기 타임슬롯 동안 발생한다. 즉T1(61)에서 시작하여 T7(67)에서 종료한다. 이 타임슬롯동안, NC11(11)은 초기화 워드IW(11)(60)를 송신하고, 다른 페일 사일런트 컴퓨터 노드는 상기 워드를 수신하고 그에 따라서 초기화된다. 다른 페일 사일런트 컴퓨터 노드는 통신매체(30')에 대한 액세스가 허가된 타임슬롯동안 수신확인 워드를 송신한다. IW(11)(60)은, 플래그부IIW(11), IW(11)이 전송되는 시간인 T1과 동일한 내용을 갖는 시간부TIW(11), 및 초기화 워드가 NC11(11)로부터 송신되었음을 나타내는 델타부PIW(11)를 구비하는 헤더HD(11)를 포함한다.
오프셋((T8-T2), (T3-T2), (T4-T2), (T5-T2), (T6-T2))은 이전에 계산되거나 측정된다. NC12(12), NC21(21), NC31(31), NC41(41), 및 NC42(42)는 각각 T8(68), T3(63), T4(64), T5(65), T6(66), 및 T8(68)에서 자신의 실시간 타이밍 유닛을 갱신한다. 상기 갱신은 소정 오프셋((T8-T2), (T7-T2), (T4-T2), (T5-T2), 및 (T6-T2))에 T2를 가산하고, 그 결과를 그들의 실시간 타이밍 유닛에 기록하여 이루어진다.
도5는 본 발명의 바람직한 실시예에 따른 분산 컴퓨터 시스템을 초기화하는 방법(70)의 흐름도이다.
상자(72, 74, 78, 80 및 82)는 본 발명에 따른 방법(70)의 다양한 단계를 나타낸다. 단계(72-82)가 실행되기 전, 페일 사일런트 컴퓨터 노드로부터 초기화 워드의 전송과 다른 페일 사일런트 컴퓨터 노드내 실시간 타이밍 유닛의 갱신 사이의 타임 오프셋이 계산되거나 측정되고, 복수의 페일 사일런트 컴퓨터 노드 내 메모리 모듈에 기록된다. 바람직하게는, 이들 오프셋은 페일 사일런트 컴퓨터 노드의 동기화를 처리하는 복수의 서브루틴DR(i,g)의 일부이다. 또한, 수신확인 워드의 전송과 그들의 검사 사이의 일조(一組)의 타임 오프셋이 계산되거나 측정되어 복수의 페일 사일런트 컴퓨터 노드 내 메모리 모듈에 기록된다. 또한, 복수의 인스트럭션I(j,i)이 복수의 페일 사일런트 컴퓨터 노드 내 메모리 모듈에 기록된다. 각 인스트럭션I(j,i)은 통신매체에 대한 액세스를 제어하는 피연산자 인스트럭션O(j,1)과 각 O(j,1)가 실행될 때를 나타내는 실행시간 인스트럭션T(j,1)을 포함한다.
본 발명에 따른 방법(70)은 다음 단계를 포함한다.
a) 페일 사일런트 컴퓨터 노드가 비활성 상태인 아이들단계(IDLE step; 72). 경로(84)에 의하여 표시된 바와 같이, 페일 사일런트 컴퓨터 노드가 시동되면, 통신매체를 감시하는 단계(74)가 수행된다.
b) 통신매체를 감시하고, 페일 사일런트 컴퓨터 노드가 노이즈, 또는 다른 페일 사일런트 컴퓨터 노드로부터의 초기화 워드를 수신하였는지 여부, 또는 통신매체(30')가 휴지 상태인지 여부를 결정하는 단계(74). 단계(74)의 시작과 함께, 페일 사일런트 컴퓨터 노드가 시간을 계수하기 시작한다. 시간 계수는 단계(74)가 시작될 때마다 리셋(reset)된다.
c) 경로(86)에 의하여 표시된 바와 같이, 무효 데이터 프레임이 수신되면 통신매체를 감시하는 단계(74)로 복귀하는 단계.
d) 경로(90)에 의하여 표시된 바와 같이, 페일 사일런트 컴퓨터 노드NC(i)가 초기화 워드IW(q)를 수신하면, 이 초기화 워드IW(q)를 전송한 페일 사일런트 컴퓨터 노드NC(q)에 상기 페일 사일런트 컴퓨터 노드NC(i)를 동기화 시키는 단계(78). 다음, 인스트럭션I(j,i)을 실행시키는 단계(80)로 이동함.
f) 다음 조건 중 하나가 충족되면, 초기화 워드IW(i)를 전송하는 단계(82):
조건1) 단계(74)의 개시 이후, 타임아웃 기간TO(i)이 도과하였고, 통신매체가 휴지 상태이며, 단계(72) 이후 페일 사일런트 컴퓨터 노드NC(i)가 어떠한 초기화 워드IW(i)도 송신하지 않음;
조건2) 단계(74)의 개시 이후, 소정기간PP(i)이 도과하였고, 페일 사일런트 컴퓨터 노드NC(i)가 노이즈를 수신하고, 단계(72) 이후 어떠한 초기화 워드도 송신하지 않음;
조건3) 단계(74)의 개시 이후, TACK(i)의 기간이 도과하였고, 통신매체가 휴지 상태이며, 페일 사일런트 컴퓨터 노드NC(i)가 이미 초기화 워드IW(i)를 송신하였으나 TACK(i)의 기간 동안 수신확인 워드ACK(g)를 수신하지 못함;
조건4) 단계(74)의 개시 이후, TACKN(i)의 기간이 도과하였고, 페일 사일런트 컴퓨터 노드NC(i)가 노이즈를 수신하고, 이미 초기화 워드IW(i)를 송신하였으나 TACKN(i)의 기간 동안 수신확인 워드ACK(g)를 수신하지 못함.
g) 경로(108)에 의하여 표시된 바와 같이, 초기화 워드IW(i)가 송신되고, 다음 조건 중 하나가 충족되면 인스트럭션I(i,k)을 주기적 방식으로 실행하는 단계(80):
조건1) 통신매체가 휴지 상태이고, TACK(i) 기간 중 적어도 하나의 수신확인 워드ACK(g)가 수신되고, ACK(g)에 대하여 행하여진 검사는 NC(i)와 NC(g)가 동기화되었음을 나타냄;
조건2) 통신매체가 노이즈 상태이고, TACKN(i)의 기간 중 적어도 하나의 수신확인 워드ACK(g)가 수신되고, ACK(g)에 대하여 행하여진 검사는 NC(i)와 NC(g)가 동기화되었음을 나타냄.
바람직하게는, 일부 인스트럭션I(j,i)는 수신확인 워드의 전송, 수신확인 워드의 검사, 및 AIW(n)의 송신을 포함한다.
경로(94)에 의하여 표시된 바와 같이, 정지의 경우 단계(80) 다음에 단계(72)가 실행된다.
도6은 본 발명의 다른 바람직한 실시예에 따른 분산 컴퓨터 시스템을 초기화하는 방법(70')의 흐름도이다. 방법(70')은 방법(70)과 유사하지만, 초기화 워드의 전송을 제어하는 기구(mechanism)를 구비하고 있다. 이 부가적인 기구에 따라서, NC(i)가 최대 TR(i)개의 초기화 워드를 송신하고, 응답이 없는 경우 초기화 워드의 송신을 중단하고, 바람직하게는 다른 페일 사일런트 컴퓨터 노드로부터 초기화 워드를 수신할 때까지 대기한다. 수정된 단계(82) 동안, IW(i)가 송신될 때마다 인덱스 값 I_NUM(i)가 증가된다. 부가 단계(98) 중 I_NUM(i)가 TR(i)와 비교된다. I_NUM(i)는 페일 사일런트 컴퓨터 노드가 시동되면 리셋된다.
방법(70')에 있어서, 다음 조건 중 하나가 충족되면, 단계(74) 다음에 부가 단계(98)가 수행된다:
조건1) 단계(74)의 개시 이후, 타임아웃 기간TO(i)이 도과하였고, 통신매체가 휴지 상태이며, 페일 사일런트 컴퓨터 노드NC(i)가 단계(72) 이후 어떠한 초기화 워드IW(i)도 송신하지 않음;
조건2) 단계(74)의 개시 이후, 소정기간 기간PP(i)이 도과하였고, 페일 사일런트 컴퓨터 노드NC(i)가 노이즈를 수신하고, 단계(72) 이후 어떠한 초기화 워드IW(i)도 송신하지 않음;
조건3) 단계(74)의 개시 이후, TACK(i)의 기간이 도과하였고, 통신매체는 휴지 상태이며, 페일 사일런트 컴퓨터 노드NC(i)가 이미 초기화 워드IW(i)를 송신하였으나, TACK(i)의 기간동안 수신확인 워드ACK(g)를 수신하지 못함;
조건4) 단계(74)의 개시 이후, TACKN(i)의 소정기간이 도과하였고, 페일 사일런트 컴퓨터 노드NC(i)가 노이즈를 수신하고, 이미 초기화 워드IW(i)를 송신하였으나 TACKN(i)의 기간동안 수신확인 워드ACK(g)를 수신하지 못함.
단계(98)에서, 페일 사일런트 컴퓨터 노드NC(i)는 I_NUM(i)가 TR(i) 보다 큰지 여부를 검사하고, 그 결과가 "YES"이면 경로(106)에 의하여 표시된 바와 같이, 단계(98) 다음으로 단계(74)가 수행된다. 상기 결과가 "NO"이면 경로(100)에 의하여 표시된 바와 같이, 단계(98) 다음으로 수정된 단계(82)가 수행된다. 수정된 단계(82) 다음으로 경로(104)에 의하여 표시된 바와 같이 단계(74)가 수행된다.
상기와 같이, 분산 컴퓨터 시스템을 초기화하는 개선된 적어도 하나의 방법 및 장치의 실시예에 대하여 설명하였다.
당업자라면 개시된 발명이 다양한 방식으로 변경될 수 있고, 상기 예시된 바람직한 형태와 다른 많은 실시형태를 취할 수 있음을 안다. 따라서 상기 개시된 본 발명은 예시적인 것으로 제한적이지 않으며, 법이 허용하는 한도 내에서 본 발명의 사상 및 한도 내에 부합하는 상기 변형예와 실시예를 첨부된 특허청구범위에 의하여 포함할 것을 의도한다. 본 발명의 범위는 상술한 설명보다 첨부된 청구범위 및 그 등가물을 가능한 넓게 해석하여 결정된다.
상기한 본 발명의 구성에 따라서, 분산 컴퓨터 시스템을 초기화하는 개선된 시스템과 방법이 제공되며, 또한 본 발명에 따른 컴퓨터 시스템은 신뢰성과 가용성을 모두 갖추는 효과가 있다.

Claims (5)

  1. 분산 컴퓨터 시스템을 초기화하는 시스템이 있어서,
    통신매체; 및
    상기 통신매체에 결합되며, 상기 통신매체를 통하여 데이터 프레임을 교환하도록 구성된 복수의 페일 사일런트 컴퓨터 노드━여기서 각각의 페일 사일런트 컴퓨터 노드는
    i) 페일 사일런트 컴퓨터 노드 내에 타이밍 신호를 제공하는 실시간 타이밍 유닛(real time timing unit);
    ii) 상기 통신매체에 결합된 입출력 인터페이스(I/O interface);
    iii) 상기 입출력 인터페이스와 상기 실시간 타이밍 유닛에 결합된 제어 유닛; 및
    iv) 상기 제어 유닛과 상기 실시간 타이밍 유닛에 결합되며, 복수의 인스트럭션I(j,i)을 저장하는 메모리 모듈
    을 포함하며, 상기 제어 유닛은 복수의 인스트럭션I(j,i)을 실행하고, 상기 통신매체를 액세스하도록 구성됨━
    를 포함하고,
    페일 사일런트 컴퓨터 노드는, 복수의 페일 사일런트 컴퓨터 노드의 실시간 타이밍유닛이 제공한 타이밍 신호들이 동기화되도록 초기화 워드IW(i)를 송신하여 다른 페일 사일런트 컴퓨터 노드들을 초기화시키도록 구성되며,
    상기 초기화 워드IW(i)는, 상기 페일 사일런트 컴퓨터 노드가 다른 페일 사일런트 컴퓨터 노드로부터 초기화 워드를 수신하지 않았으며, 또한, 다음 조건
    a) 페일 사일런트 컴퓨터 노드가 무효 데이터 프레임을 수신하지 않았으며, 타임아웃 기간TO(i) 동안 상기 통신매체로부터 노이즈를 수신하지 않았음;
    b) 상기 페일 사일런트 컴퓨터 노드가 제2 소정기간PP(i) 동안 상기 통신매체로부터 노이즈를 수신함;
    중 하나가 충족되는 경우 송신되는
    분산 컴퓨터 시스템을 초기화하는 시스템
  2. 분산 컴퓨터 시스템을 초기화하는 시스템이 있어서,
    통신매체; 및
    상기 통신매체에 결합되며, 상기 통신매체를 통하여 데이터 프레임을 교환하도록 구성된 복수의 페일 사일런트 컴퓨터 노드━여기서 각각의 페일 사일런트 컴퓨터 노드는
    i) 페일 사일런트 컴퓨터 노드 내에 타이밍 신호를 제공하는 실시간 타이밍 유닛(real time timing unit);
    ii) 상기 통신매체에 결합된 입출력 인터페이스(I/O interface);
    iii) 상기 입출력 인터페이스와 상기 실시간 타이밍 유닛에 결합된 제어 유닛; 및
    iv) 상기 제어 유닛과 상기 실시간 타이밍 유닛에 결합되며, 복수의 인스트럭션I(j,i)을 저장하는 메모리 모듈
    을 포함하며, 상기 제어 유닛은 복수의 인스트럭션I(j,i)을 실행하고, 상기 통신매체를 액세스하도록 구성됨━
    를 포함하고,
    페일 사일런트 컴퓨터 노드는, 복수의 페일 사일런트 컴퓨터 노드의 실시간 타이밍유닛이 제공한 타이밍 신호들이 동기화되도록 초기화 워드IW(i)를 송신하여 다른 페일 사일런트 컴퓨터 노드들을 초기화시키도록 구성되며,
    상기 초기화 워드IW(i)는, 상기 페일 사일런트 컴퓨터 노드가 다른 페일 사일런트 컴퓨터 노드로부터 초기화 워드를 수신하지 않았으며, 또한, 다음 조건
    a) 페일 사일런트 컴퓨터 노드가 무효 데이터 프레임을 수신하지 않았으며, 타임아웃 기간TO(i) 동안 상기 통신매체로부터 노이즈를 수신하지 않았음;
    b) 상기 페일 사일런트 컴퓨터 노드가 제2 소정기간PP(i) 동안 상기 통신매체로부터 노이즈를 수신함;
    중 하나가 충족되는 경우 송신되며,
    페일 사일런트 컴퓨터 노드는 초기화 워드를 송신하고, 이 초기화 워드를 수신하여 초기화된 다른 페일 사일런트 컴퓨터 노드로부터의 수신확인 워드를 수신하도록 TACK(i) 기간동안 대기하도록 구성되며,
    상기 페일 사일런트 컴퓨터 노드가 상기 수신확인 워드를 수신하지 않은 경우, 상기 페일 사일런트 컴퓨터 노드는, 다른 페일 사일런트 컴퓨터 노드로부터 초기화 워드를 수신하지 않았으며, 또한 다음 조건
    a) 상기 페일 사일런트 컴퓨터 노드가 무효 데이터 프레임을 수신하지 않았으며, TACK(i)인 타임아웃 기간 동안 상기 통신매체로부터 노이즈를 수신하지 않았음;
    b) 상기 페일 사일런트 컴퓨터 노드가 TACKN(i)의 기간 동안 상기 통신매체로부터 노이즈를 수신함;
    중 하나가 충족되는 경우, 다른 초기화 워드를 송신하며,
    페일 사일런트 컴퓨터 노드가 응답으로 수신확인 워드의 수신 없이 최대 TR(i) 개의 초기화 워드를 송신하도록 구성되는
    분산 컴퓨터 시스템을 초기화하는 시스템
  3. 분산 컴퓨터 시스템을 초기화하는 시스템이 있어서,
    통신매체; 및
    상기 통신매체에 결합되며, 상기 통신매체를 통하여 데이터 프레임을 교환하도록 구성된 복수의 페일 사일런트 컴퓨터 노드━여기서 각각의 페일 사일런트 컴퓨터 노드는
    i) 페일 사일런트 컴퓨터 노드 내에 타이밍 신호를 제공하는 실시간 타이밍 유닛(real time timing unit);
    ii) 상기 통신매체에 결합된 입출력 인터페이스(I/O interface);
    iii) 상기 입출력 인터페이스와 상기 실시간 타이밍 유닛에 결합된 제어 유닛; 및
    iv) 상기 제어 유닛과 상기 실시간 타이밍 유닛에 결합되며, 복수의 인스트럭션I(j,i)을 저장하는 메모리 모듈
    을 포함하며, 상기 제어 유닛은 복수의 인스트럭션I(j,i)을 실행하고, 상기 통신매체를 액세스하도록 구성됨━
    를 포함하고,
    페일 사일런트 컴퓨터 노드는, 복수의 페일 사일런트 컴퓨터 노드의 실시간 타이밍유닛이 제공한 타이밍 신호들이 동기화되도록 초기화 워드IW(i)를 송신하여 다른 페일 사일런트 컴퓨터 노드들을 초기화시키도록 구성되며,
    상기 초기화 워드IW(i)는, 상기 페일 사일런트 컴퓨터 노드가 다른 페일 사일런트 컴퓨터 노드로부터 초기화 워드를 수신하지 않았으며, 또한, 다음 조건
    a) 페일 사일런트 컴퓨터 노드가 무효 데이터 프레임을 수신하지 않았으며, 타임아웃 기간TO(i) 동안 상기 통신매체로부터 노이즈를 수신하지 않았음;
    b) 상기 페일 사일런트 컴퓨터 노드가 제2 소정기간PP(i) 동안 상기 통신매체로부터 노이즈를 수신함;
    중 하나가 충족되는 경우 송신되며,
    상기 복수의 페일 사일런트 컴퓨터 노드가 복수의 그룹으로 할당되고,
    각 그룹은 적어도 하나의 페일 사일런트 컴퓨터 노드를 포함하며,
    상기 통신매체에 대한 액세스는 각 그룹에 대한 타임슬롯을 순환 방식으로 활용하여 제어되어, 각 그룹이 일 그룹 사이클동안 상기 통신매체를 1회 액세스할 수 있으며,
    TO(i)가 일 그룹 사이클보다 긴
    분산 컴퓨터 시스템을 초기화하는 시스템
  4. 통신매체에 결합된 복수의 페일 사일런트 컴퓨터 노드를 포함하는 분산 컴퓨터 시스템을 초기화하는 방법에 있어서,
    a) 페일 사일런트 컴퓨터 노드를 시동(start up)시키는 단계;
    b) 상기 통신매체를 감시하고, 상기 페일 사일런트 컴퓨터 노드가 노이즈, 다른 페일 사일런트 컴퓨터 노드로부터의 초기화 워드, 무효 데이터 프레임, 수신확인 워드를 수신하였는지 여부, 또는 상기 통신매체가 휴지 상태인지 여부를 결정하고, 상기 통신매체의 감시를 시작함과 동시에 시간(time period)을 계수하는 단계;
    c) 무효 데이터 프레임이 수신되면 상기 통신매체를 감시하는 단계로 복귀하고, 상기 통신매체의 감시 단계에서 시작된 시간 계수를 리셋하는 단계;
    ddd??d) 상기 페일 사일런트 컴퓨터 노드가 다른 페일 사일런트 컴퓨터 노드로부터 초기화 워드를 수신하면, 상기 초기화 워드를 송신한 페일 사일런트 컴퓨터 노드와 상기 페일 사일런트 컴퓨터 노드 사이를 동기화 시키는 단계;
    e) 다음 조건
    1) 상기 페일 사일런트 컴퓨터 노드가 TACK(i) 기간 중, 다른 페일 사일런트 컴퓨터 노드로부터 수신확인 워드만을 수신함;
    2) 상기 페일 사일런트 컴퓨터 노드가 TACKN(i) 기간 중, 노이즈 및 다른 페일 사일런트 컴퓨터 노드로부터 수신확인 워드를 수신함;
    중 하나가 충족되는 경우, 인스트럭션I(i,j)을 실행하는 단계로 이동하는 단계;
    f) 다음 조건
    1) 상기 페일 사일런트 컴퓨터 노드가 타임아웃 기간TO(i) 중, 무효 데이터 프레임과 상기 통신매체로부터의 노이즈를 수신하지 않음;
    2) 상기 페일 사일런트 컴퓨터 노드가 제2의 소정기간인 PP(i) 동안 상기 통신매체로부터 노이즈를 수신함
    중 하나가 충족되는 경우 초기화 워드를 전송하는 단계; 및
    g) 주기적 방식으로 인스트럭션I(i,k)를 실행하는 단계
    를 포함하는 분산 컴퓨터 시스템의 초기화 방법
  5. 통신매체에 결합된 복수의 페일 사일런트 컴퓨터 노드를 포함하는 분산 컴퓨터 시스템을 초기화하는 방법에 있어서,
    a) 페일 사일런트 컴퓨터 노드를 시동(start up)시키는 단계;
    b) 상기 통신매체를 감시하고, 상기 페일 사일런트 컴퓨터 노드가 노이즈, 다른 페일 사일런트 컴퓨터 노드로부터의 초기화 워드, 무효 데이터 프레임, 수신확인 워드를 수신하였는지 여부, 또는 상기 통신매체가 휴지 상태인지 여부를 결정하고, 상기 통신매체의 감시를 시작함과 동시에 시간(time period)을 계수하는 단계;
    c) 무효 데이터 프레임이 수신되면 상기 통신매체를 감시하는 단계로 복귀하고, 상기 통신매체의 감시 단계에서 시작된 시간 계수를 리셋하는 단계;
    ddd??d) 상기 페일 사일런트 컴퓨터 노드가 다른 페일 사일런트 컴퓨터 노드로부터 초기화 워드를 수신하면, 상기 초기화 워드를 송신한 페일 사일런트 컴퓨터 노드와 상기 페일 사일런트 컴퓨터 노드 사이를 동기화 시키는 단계;
    e) 다음 조건
    1) 상기 페일 사일런트 컴퓨터 노드가 TACK(i) 기간 중, 다른 페일 사일런트 컴퓨터 노드로부터 수신확인 워드만을 수신함;
    2) 상기 페일 사일런트 컴퓨터 노드가 TACKN(i) 기간 중, 노이즈 및 다른 페일 사일런트 컴퓨터 노드로부터 수신확인 워드를 수신함;
    중 하나가 충족되는 경우, 인스트럭션I(i,j)을 실행하는 단계로 이동하는 단계;
    f) 다음 조건
    1) 상기 페일 사일런트 컴퓨터 노드가 타임아웃 기간TO(i) 중, 무효 데이터 프레임과 상기 통신매체로부터의 노이즈를 수신하지 않음;
    2) 상기 페일 사일런트 컴퓨터 노드가 제2의 소정기간인 PP(i) 동안 상기 통신매체로부터 노이즈를 수신함
    중 하나가 충족되는 경우 초기화 워드를 전송하는 단계; 및
    g) 주기적 방식으로 인스트럭션I(i,k)를 실행하는 단계
    를 포함하고,
    TO(i)는 R개의 페일 사일런트 컴퓨터 노드가 초기화 워드를 전송하도록 예정된 기간보다 길며, M > R > 1 (여기서 R은 정수이고, M은 컴퓨터 시스템내의 페일 사일런트 컴퓨터 노드의 수임)인 분산 컴퓨터 시스템의 초기화 방법
KR1020000043697A 1999-07-28 2000-07-28 분산 컴퓨터 시스템의 초기화 시스템 및 방법 KR100544805B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP99114802A EP1072977B1 (en) 1999-07-28 1999-07-28 A system for initializing a distributed computer system and a method thereof
EP99114802.4 1999-07-28

Publications (2)

Publication Number Publication Date
KR20010067035A true KR20010067035A (ko) 2001-07-12
KR100544805B1 KR100544805B1 (ko) 2006-01-24

Family

ID=8238678

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000043697A KR100544805B1 (ko) 1999-07-28 2000-07-28 분산 컴퓨터 시스템의 초기화 시스템 및 방법

Country Status (5)

Country Link
US (1) US6629270B1 (ko)
EP (1) EP1072977B1 (ko)
JP (1) JP4422304B2 (ko)
KR (1) KR100544805B1 (ko)
DE (1) DE69911000T2 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6934871B2 (en) * 2001-05-17 2005-08-23 Lsi Logic Corporation Programmable counters for setting bus arbitration delays involves counting clock cycles equal to a count number loaded from a memory
WO2004105278A1 (en) * 2003-05-20 2004-12-02 Philips Intellectual Property & Standards Gmbh Time-triggered communication system and method for the synchronization of a dual-channel network
US7392422B2 (en) * 2003-10-20 2008-06-24 Sony Computer Entertainment America Inc., Violations in a peer-to-peer relay network
WO2008064602A1 (fr) * 2006-11-29 2008-06-05 Yongmin Zhang Procédé et système de calcul de groupe à groupe
CN116974636B (zh) * 2023-08-03 2024-04-26 上海合芯数字科技有限公司 多路互联系统及其总线接口初始化方法、装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5295258A (en) * 1989-12-22 1994-03-15 Tandem Computers Incorporated Fault-tolerant computer system with online recovery and reintegration of redundant components
FR2682201B1 (fr) * 1991-10-04 1994-01-14 Aerospatiale Ste Nationale Indle Procede de discrimination temporelle de pannes dans un systeme hierarchise de traitement de donnees, et systeme hierarchise de traitement de donnees adapte a sa mise en óoeuvre.
JP2687860B2 (ja) * 1993-12-28 1997-12-08 日本電気株式会社 分散処理システムにおけるシステム起動または停止統括システム
GB2290891B (en) * 1994-06-29 1999-02-17 Mitsubishi Electric Corp Multiprocessor system
US5687308A (en) * 1995-06-07 1997-11-11 Tandem Computers Incorporated Method to improve tolerance of non-homogeneous power outages
US5694542A (en) * 1995-11-24 1997-12-02 Fault Tolerant Systems Fts-Computertechnik Ges.M.B. Time-triggered communication control unit and communication method
JPH10200552A (ja) * 1997-01-16 1998-07-31 Yamatake Honeywell Co Ltd イーサネット通信を用いた冗長方法
US5991518A (en) * 1997-01-28 1999-11-23 Tandem Computers Incorporated Method and apparatus for split-brain avoidance in a multi-processor system

Also Published As

Publication number Publication date
EP1072977A1 (en) 2001-01-31
JP2001084230A (ja) 2001-03-30
US6629270B1 (en) 2003-09-30
DE69911000D1 (de) 2003-10-09
JP4422304B2 (ja) 2010-02-24
EP1072977B1 (en) 2003-09-03
DE69911000T2 (de) 2004-05-19
KR100544805B1 (ko) 2006-01-24

Similar Documents

Publication Publication Date Title
US6728908B1 (en) I2C bus protocol controller with fault tolerance
JPH0257383B2 (ko)
JPH0324109B2 (ko)
JP3083565B2 (ja) タイママネージャ
JPH0816891B2 (ja) チヤネルシステム
JPH03222057A (ja) データ処理ネットワークにおいて逐次化手段の試験のため命令流の実行を同期させる方法
JPH08235084A (ja) 伝送線制御装置多重化システム
US6347372B1 (en) Multiprocessor control system, and a boot device and a boot control device used therein
CN110580235B (zh) 一种sas扩展器通信方法及装置
JP5583046B2 (ja) 二重化制御装置
KR100544805B1 (ko) 분산 컴퓨터 시스템의 초기화 시스템 및 방법
US6732212B2 (en) Launch raw packet on remote interrupt
US20030154288A1 (en) Server-client system and data transfer method used in the same system
US7243257B2 (en) Computer system for preventing inter-node fault propagation
JP3108042B2 (ja) マルチノード情報処理システムにおけるチケット分配方法
JP2780623B2 (ja) 情報処理装置
JP2000288220A (ja) 弾球遊技機内の送受信間におけるデータ確認方法
CN113448773B (zh) 容错系统
KR100428798B1 (ko) 슬레이브 초기화 장치
JP2001217838A (ja) ネットワーク負荷試験方法
US20060107004A1 (en) Recovery from failure in data storage systems
JPH06295289A (ja) 複数計算機におけるブート方法
JP3022906B2 (ja) プログラマブルコントローラの通信方法
CN115981856A (zh) 一种多核cpu的星上软件负载均衡方法
JPH0936844A (ja) データ伝送装置

Legal Events

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

Payment date: 20121227

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20131226

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20141226

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20151228

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170102

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180110

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee