KR20200095401A - 하나 이상의 투표자 엘리먼트들을 사용하여 데이터 사본들을 크로스 체크하는 장치 및 방법 - Google Patents

하나 이상의 투표자 엘리먼트들을 사용하여 데이터 사본들을 크로스 체크하는 장치 및 방법 Download PDF

Info

Publication number
KR20200095401A
KR20200095401A KR1020200009922A KR20200009922A KR20200095401A KR 20200095401 A KR20200095401 A KR 20200095401A KR 1020200009922 A KR1020200009922 A KR 1020200009922A KR 20200009922 A KR20200009922 A KR 20200009922A KR 20200095401 A KR20200095401 A KR 20200095401A
Authority
KR
South Korea
Prior art keywords
data
copies
paths
copy
check
Prior art date
Application number
KR1020200009922A
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 더 보잉 컴파니
Publication of KR20200095401A publication Critical patent/KR20200095401A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C13/00Voting apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/552Prevention, detection or correction of errors by ensuring the integrity of packets received through redundant connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/555Error detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Hardware Redundancy (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)

Abstract

네트워크 스위치는 데이터를 수신하도록 구성된 수신 포트, 및 데이터의 제1 사본을 수신하고, 제1 사본에 대한 체크를 수행하고, 제1 사본에 대한 보호를 생성하도록 각각 구성된 2개 이상의 병렬 제1 경로들을 포함한다. 하나 이상의 제1 투표자 엘리먼트들은 데이터의 제2 사본들을 수신하도록 그리고 제2 사본들을 크로스 체크하도록 구성된다. 처리 섹션은 제2 사본들 중 하나 이상을 처리하도록 구성된다. 2개 이상의 병렬 제2 경로들은 데이터의 제3 사본을 수신하고 보호에 기초한 체크를 포함하여 제3 사본에 대해 다수의 체크들을 수행하도록 각각 구성된다. 하나 이상의 제2 투표자 엘리먼트들은 데이터의 제4 사본들을 수신하도록 그리고 제4 사본들을 크로스 체크하도록 구성된다. 전송 포트는 제4 사본들 중 하나 이상을 다음 네트워크 엘리먼트로 전송하도록 구성된다.

Description

하나 이상의 투표자 엘리먼트들을 사용하여 데이터 사본들을 크로스 체크하는 장치 및 방법{APPARATUS ADN METHOD OF CROSSCHECKING DATA COPIES USING ONE OR MORE VOTER ELEMENTS}
본 개시내용은 일반적으로 하나 이상의 투표자(voter) 엘리먼트들을 사용하여 데이터 사본들을 크로스 체크하는 것에 관한 것이다.
네트워크들은 스위치들 및 다른 디바이스들을 사용하여 소스 디바이스와 목적지 디바이스 간에 데이터(예컨대, 데이터 패킷들)를 라우팅한다. 예를 들어, 특정 네트워크는 소스 디바이스로부터 데이터를 수신하고, 데이터를 처리하며, 데이터의 패킷 교환 라우팅을 사용하여 데이터를 목적지 디바이스로 전송하는 스위치를 포함할 수 있다.
무결성이 높은 애플리케이션들에서, 네트워크 엘리먼트들은 데이터 손상을 검출하기 위한 메커니즘들을 포함할 수 있다. 예를 들어, 특정 스위치들은 특정 동작들을 병렬로 수행하는 다수의 병렬 처리 경로들을 포함할 수 있다. 예시하자면, 일례로, 스위치는 스위치에서 수신된 특정 데이터에 대해 동일한 기능들을 병렬로 수행하는 다수의 병렬 처리 경로들을 사용할 수도 있다.
일부 경우들에서, 다수의 병렬 처리 경로들의 사용은 스위치의 동작 복잡도 및 하드웨어 비용을 증가시킬 수 있다. 또한, 일부 상황들에서, 다수의 병렬 처리 경로들에 의한 데이터 처리는 "불일치"되어(하나의 처리 경로가 다른 처리 경로보다 더 빠르게 작동함), 시간 오프셋을 야기할 수 있다. 시간 오프셋은 병렬 처리 경로들의 출력들에 차이들을 야기하여, 스위치에서 데이터 손상이 발생했음을 나타낼 수 있다.
특정 예에서, 네트워크 스위치 디바이스는 데이터를 수신하도록 구성된 수신 포트, 및 수신 포트에 결합된 2개 이상의 병렬 제1 경로들을 포함한다. 제1 경로들 각각은 수신 포트로부터 데이터의 제1 사본을 수신하고, 데이터의 제1 사본에 대한 체크를 수행하고, 그리고 데이터의 제1 사본에 대한 보호를 생성하도록 구성된다. 네트워크 스위치 디바이스는, 제1 경로들로부터 데이터의 제2 사본들을 수신하도록 그리고 데이터의 제2 사본들을 크로스 체크하도록 구성된 하나 이상의 제1 투표자 엘리먼트들을 더 포함한다. 네트워크 스위치 디바이스는, 하나 이상의 제1 투표자 엘리먼트들에 대한 응답으로 데이터의 제2 사본들 중 하나 이상을 처리하도록 구성된 처리 섹션을 더 포함한다. 네트워크 스위치 디바이스는, 처리 섹션으로부터 데이터의 제3 사본들을 수신하고 데이터의 제3 사본에 대한 다수의 체크들을 수행하도록 각각 구성된 2개 이상의 병렬 제2 경로들을 더 포함한다. 다수의 체크들은 보호에 기초한 체크를 포함한다. 네트워크 스위치 디바이스는, 제2 경로들로부터 데이터의 제4 사본들을 수신하도록 그리고 데이터의 제4 사본들을 크로스 체크하도록 구성된 하나 이상의 제2 투표자 엘리먼트들을 더 포함한다. 네트워크 스위치 디바이스는, 하나 이상의 제2 투표자 엘리먼트들에 대한 응답으로 데이터의 제4 사본들 중 하나 이상을 다음 네트워크 엘리먼트에 전송하도록 구성된 전송 포트를 더 포함한다.
다른 특정 예에서, 네트워크 스위치를 작동시키는 방법은 수신 포트를 통해 데이터를 수신하는 단계, 및 데이터의 제1 사본들을 다수의 병렬 제1 경로들에 제공하는 단계를 포함한다. 이 방법은 제1 경로들 각각에서, 데이터의 제1 사본에 대한 체크를 수행하고 데이터의 제1 사본에 대한 보호를 생성하는 단계를 더 포함한다. 이 방법은 제1 경로들로부터 수신된 데이터의 제2 사본들을 크로스 체크하는 단계를 더 포함한다. 이 방법은 데이터의 제2 사본들 중 적어도 일부가 서로 일치하고 유효함을 나타내는, 제2 사본들의 크로스 체크에 대한 응답으로, 데이터의 제2 사본들 중 서로 일치하고 유효한 적어도 하나의 제2 사본으로부터의 유효 데이터를 처리 섹션에서 처리하는 단계를 더 포함한다. 이 방법은 데이터의 제3 사본들을 다수의 병렬 제2 경로들에 제공하는 단계, 및 다수의 병렬 제2 경로들의 각각의 제2 경로에서, 데이터의 제3 사본에 대한 다수의 체크들을 수행하는 단계를 더 포함한다. 다수의 체크들은 보호에 기초한 체크를 포함한다. 이 방법은 제2 경로들로부터 수신된 데이터의 제4 사본들을 크로스 체크하는 단계, 및 데이터의 제4 사본들을 크로스 체크하는 것에 대한 응답으로, 데이터의 제4 사본들 중 하나 이상을 전송 포트를 통해 다음 네트워크 엘리먼트로 선택적으로 전송하는 단계를 더 포함한다.
다른 특정 예에서, 컴퓨터 판독 가능 매체는 동작들을 개시, 수행 또는 제어하도록 프로세서에 의해 실행 가능한 명령들을 저장한다. 동작들은 수신 포트를 통해 데이터를 수신하는 동작, 및 데이터의 제1 사본들을 다수의 병렬 제1 경로들에 제공하는 동작을 포함한다. 이 동작들은 제1 경로들 각각에서, 데이터의 제1 사본에 대한 체크를 수행하고 데이터의 제1 사본에 대한 보호를 생성하는 동작을 더 포함한다. 이 동작들은 제1 경로들로부터 수신된 데이터의 제2 사본들을 크로스 체크하는 동작을 더 포함한다. 이 동작들은 데이터의 제2 사본들 중 적어도 일부가 서로 일치하고 유효함을 나타내는, 제2 사본들의 크로스 체크에 대한 응답으로, 데이터의 제2 사본들 중 서로 일치하고 유효한 적어도 하나의 제2 사본으로부터의 유효 데이터를 처리 섹션에서 처리하는 동작을 더 포함한다. 이 동작들은 데이터의 제3 사본들을 다수의 병렬 제2 경로들에 제공하는 동작, 및 다수의 병렬 제2 경로들의 각각의 제2 경로에서, 데이터의 제3 사본에 대한 다수의 체크들을 수행하는 동작을 더 포함한다. 다수의 체크들은 보호에 기초한 체크를 포함한다. 이 동작들은 제2 경로들로부터 수신된 데이터의 제4 사본들을 크로스 체크하는 동작, 및 데이터의 제4 사본들을 크로스 체크하는 것에 대한 응답으로, 데이터의 제4 사본들 중 하나 이상을 전송 포트를 통해 다음 네트워크 엘리먼트로 선택적으로 전송하는 동작을 더 포함한다.
도 1은 하나 이상의 투표자 엘리먼트들을 사용하여 데이터의 사본들을 크로스 체크하도록 구성된 네트워크 스위치 디바이스를 포함하는 시스템의 일례의 특정 양상들을 예시하는 도면이다.
도 2는 도 1의 네트워크 스위치 디바이스와 같은 네트워크 스위치 디바이스의 특정 예의 양상들을 예시하는 도면이다.
도 3은 도 1의 네트워크 스위치 디바이스와 같은 네트워크 스위치의 동작 방법의 일례의 도면이다.
도 4는 도 1의 시스템을 포함하는 차량의 수명 주기의 일례의 흐름도이다.
도 5는 도 3의 방법의 동작들을 개시, 수행 또는 제어하기 위한 명령들을 실행하도록 구성되는 컴퓨팅 시스템의 일례의 양상들 예시하는 블록도이다.
도 6은 도 1의 시스템을 포함하는 차량의 예시적인 구현의 양상들을 예시하는 블록도이다.
특정 구현에서, 네트워크 스위치 디바이스는 네트워크 스위치 디바이스의 중간 단계에서 단일 경로(예컨대, 단일 경로로 "통합"되는 다수의 경로들)를 포함한다. 일례로, 단일 경로는 (예컨대, 데이터의 무결성을 검증함으로써) 다수의 병렬 제1 경로들로부터의 데이터를 크로스 체크하도록 구성된 하나 이상의 제1 투표자 엘리먼트들을 포함한다. 그 결과, (예컨대, 네트워크 스위치 디바이스의 중간 단계에서 그리고 네트워크 스위치 디바이스에서 데이터 처리를 완료하기 전에) 데이터를 "일찍" 크로스 체크함으로써, ("늦은" 단계에서 데이터를 크로스 체크하는 것과 비교하여) 특정 데이터 에러들이 보다 신속하게 검출될 수 있다. 예시하자면, 특정 예에서, 하나 이상의 제1 투표자 엘리먼트들은 이를테면, 데이터의 타임 스탬프, 데이터의 데이터 크기, 또는 데이터와 연관된 타이밍(예컨대, 지연)을 체크함으로써 검출이 "쉬운" 데이터 에러들에 대해 체크하도록 구성된다.
일부 구현들에서, 단일 경로는 특정 동작들, 이를테면 에러들을 발생시키지 않을 것 같은 동작들, 다수의 병렬 처리 경로들 상에서 동기화하기에 복잡한 동작들, 또는 다수의 병렬 처리 경로들에서 복제하는 데 비용이 많이 드는 동작들을 단일 처리 섹션으로 "압축"하는 처리 섹션(예컨대, 스위치 패브릭)을 더 포함한다. 그 결과, 단일 처리 섹션을 사용하여 전체 신호 경로의 복제와 연관된 비용 및 복잡도뿐만 아니라 데이터 불일치 및 시간 오프셋들이 감소되거나 회피될 수 있다.
도 1을 참조하면, 시스템의 특정 예시적인 예가 도시되며 일반적으로 100으로 표기된다. 시스템(100)은 네트워크 스위치 디바이스(102)를 포함한다. 시스템(100)은 네트워크 스위치 디바이스(102)에 결합되는 전송 네트워크 엘리먼트(104) 및 다음 네트워크 엘리먼트(106)를 더 포함한다.
네트워크 스위치 디바이스(102)는 수신 포트(110)(예컨대, 물리적 수신 포트)를 포함한다. 일부 예들에서, 수신 포트(110)는 전송 네트워크 엘리먼트(104)로부터 데이터(130)를 수신하도록 구성된다. 일부 예들에서, 전송 네트워크 엘리먼트(104)는 스위치 또는 발신자 시스템을 포함하거나 이에 대응한다.
네트워크 스위치 디바이스(102)는 수신 포트(110)에 결합되는 2개 이상의 병렬 제1 경로들(예컨대, 제1 경로(112) 및 제1 경로(114))를 포함한다. 일부 예들에서, 제1 경로들(112, 114)은 복제 경로들이다. 예를 들어, 일부 구현들에서, 제1 경로(112)는 제1 경로(114)와 동기화되고, 제1 경로들(112, 114)에서 에러들이 발생하지 않는다면 제1 경로(114)의 출력과 일치하는 출력을 생성하도록 구성된다.
네트워크 스위치 디바이스(102)는 하나 이상의 제1 투표자 엘리먼트들(116)을 더 포함한다. 도 1의 예에서, 하나 이상의 제1 투표자 엘리먼트들(116)이 제1 경로들(112, 114)에 결합된다. 네트워크 스위치 디바이스(102)는 처리 섹션(118)(예컨대, 스위치 패브릭) 및 처리 섹션(118)에 결합된 2개 이상의 병렬 제2 경로들(예컨대, 제2 경로(122) 및 제2 경로(124))을 더 포함한다. 일부 예들에서, 처리 섹션(118)은 하나의 처리 경로를 포함한다. 이 예에서, 처리 섹션(118)은 단일 경로 처리 섹션을 포함한다. 일부 예들에서, 처리 섹션(118)은 하나 이상의 제1 투표자 엘리먼트들(116)에 의해 제공된 데이터(130)의 특정 사본을 제2 경로들(122, 124)로 라우팅하도록 그리고 데이터(130)의 특정 사본을 저장하도록 구성된다.
일부 예들에서, 제2 경로들(122, 124)은 복제 경로들이다. 예를 들어, 일부 구현들에서, 제2 경로(122)는 제2 경로(124)와 동기화되고, 제2 경로들(122, 124)에서 에러들이 발생하지 않는다면 제2 경로(124)의 출력과 일치하는 출력을 생성하도록 구성된다.
네트워크 스위치 디바이스(102)는 하나 이상의 제2 투표자 엘리먼트들(126) 및 송신 포트(128)(예컨대, 물리적 송신 포트)를 더 포함한다. 도 1의 예에서, 전송 포트(128)는 하나 이상의 제2 투표자 엘리먼트들(126)에 결합된다. 일부 예들에서, 전송 포트(128)는 다음 네트워크 엘리먼트(106)에 데이터(130)를 전달하도록 구성된다. 일부 예들에서, 다음 네트워크 엘리먼트(106)는 스위치(188) 또는 종단 시스템(190) 중 하나 이상을 포함한다.
동작 동안, 수신 포트(110)는 하나 이상의 네트워크 엘리먼트들로부터 데이터를 수신한다. 예시하자면, 도 1의 예에서, 수신 포트(110)는 전송 네트워크 엘리먼트(104)로부터 데이터(130)를 수신하도록 구성된다.
제1 경로(112)는 데이터(130)의 제1 사본(132)을 수신하도록 구성되고, 제1 경로(114)는 데이터(130)의 제1 사본(134)을 수신하도록 구성된다. 제1 경로(112)는 데이터(130)의 제1 사본(132)의 체크(136)를 수행하도록 구성되고, 제1 경로(114)는 데이터(130)의 제1 사본(134)의 체크(138)를 수행하도록 구성된다. 제1 경로(112)는 제1 사본(132)에 대한 보호(140)를 생성하도록 구성되고, 제1 경로(114)는 제1 사본(134)에 대한 보호(142)를 생성하도록 구성된다. 특정 예에서, 제1 경로(112)는 데이터(130)의 제2 사본(152)을 생성하기 위해 제1 사본(132)에 보호(140)를 추가하도록 구성되고, 제1 경로(114)는 데이터(130)의 제2 사본(154)을 생성하기 위해 제1 사본(134)에 보호(142)를 추가하도록 구성된다.
하나 이상의 제1 투표자 엘리먼트들(116)은 제1 경로(112)로부터 데이터(130)의 제2 사본(152)을 수신하도록 그리고 제1 경로(114)로부터 데이터(130)의 제2 사본(154)을 수신하도록 구성된다. 하나 이상의 제1 투표자 엘리먼트들(116)은 데이터의 제2 사본들(152, 154)의 크로스 체크(156)를 수행하도록 구성된다. 일부 구현들에서, 제2 사본(152)은 보호(140)를 포함하고, 제2 사본(154)은 보호(142)를 포함한다. 일부 구현들에서, 크로스 체크(156)를 수행하는 것은, 제2 사본들(152, 154) 각각에 포함된 타임 스탬프를 체크하는 것, 제2 사본들(152, 154) 각각의 데이터 크기를 체크하는 것, 제2 사본들(152, 154) 각각과 연관된 타이밍(예컨대, 지연)을 체크하는 것, 하나 이상의 다른 파라미터들을 체크하는 것, 또는 이들의 조합을 포함한다.
일부 구현들에서, 하나 이상의 제1 투표자 엘리먼트들(116)은, 제2 사본들(152, 154)이 서로 일치하고 유효한지 여부에 기초하여 크로스 체크(156)와 연관된 통과 상태 또는 실패 상태를 결정하도록 구성된다. 특정 예에서, 제2 사본들(152, 154)은 체크들(136, 138)이 충족된다면 유효하고, 제2 사본들(152, 154)은 제2 사본(152)이 제2 사본(154)과 동일하다면 서로 일치한다.
추가로 예시하자면, 일부 구현들에서, 하나 이상의 제1 투표자 엘리먼트들(116)은 제2 사본들(152, 154)이 유효하고 서로 일치한다면, 크로스 체크(156)의 통과 상태를 결정한다. 이 경우, 일부 예들에서, 하나 이상의 제1 투표자 엘리먼트들(116)은 통과 상태의 결정에 대한 응답으로 제2 사본들(152, 154)에 대응하는 유효 데이터를 처리 섹션(118)에 제공한다. 다른 예로서, 일부 구현들에서, 하나 이상의 제1 투표자 엘리먼트들(116)은 (예컨대, 상이한 타임 스탬프들, 상이한 데이터 크기들 또는 콘텐츠, 상이한 지연들, 하나 이상의 다른 파라미터들, 또는 이들의 조합에 기초하여) 제2 사본들(152, 154)이 서로 다르다면, 제2 사본들(152, 154)이 무효라면, 또는 이 둘 다인 경우, 크로스 체크(156)의 실패 상태를 결정한다. 이 경우에, 일부 구현들에서, 하나 이상의 제1 투표자 엘리먼트들(116)은 실패 상태의 결정에 대한 응답으로 데이터(130)를 "누락"시키도록 구성된다. 특정 예시적인 예로서, 일부 구현들에서, 네트워크 스위치 디바이스(102)는 예외 또는 에러 메시지(예컨대, 부정 응답(NACK: negative-acknowledgement) 메시지)를 전송 네트워크 엘리먼트(104)에 제공하도록 구성된다. 일부 예들에서, 전송 네트워크 엘리먼트(104)는 예외 또는 에러 메시지의 수신에 대한 응답으로 데이터(130)를 재전송하도록 구성된다.
일부 구현들에서, 하나 이상의 제1 투표자 엘리먼트들(116)은 데이터(130)의 3개 이상의 제2 사본들에 기초하여 과반수 투표를 수행하도록 구성된다. 예를 들어, 일부 구현들에서, 네트워크 스위치 디바이스(102)는, 수신 포트(110) 및 하나 이상의 제1 투표자 엘리먼트들(116)에 결합되고 데이터(130)의 N개의 제2 사본들(여기서 N은 2보다 더 큰 양의 정수임)을 생성하도록 구성된 N개의 제1 경로들을 포함한다. 이 경우, 일부 구현들에서, 하나 이상의 제1 투표자 엘리먼트들(116)은 N개의 제1 경로들로부터 특정 사본의 N/2개보다 많은 유효 인스턴스들을 수신하는 것에 기초하여 처리 섹션(118)에 전달될 유효 데이터로서 N개의 제2 사본들의 특정 사본을 선택하도록 구성된다.
처리 섹션(118)은 하나 이상의 제1 투표자 엘리먼트들(116)에 대한 응답으로 데이터(130)의 제2 사본들(152, 154) 중 하나 이상을 처리하도록 구성된다. 특정 예에서, 처리 섹션(118)은 데이터(130)의 다수의 입력 패킷들을 (예컨대, 수신 포트(110)로부터, 도 1에 도시되지 않은 다른 소스들로부터, 또는 이들의 조합으로부터) 수신하도록 그리고 출력 패킷들을 출력 큐들(예컨대, 전송 포트(128)에 포함된 출력 큐들, 도 1에 도시되지 않은 다른 컴포넌트들, 또는 이들의 조합)로 라우팅하도록 구성된 스위치 패브릭을 포함한다. 일부 예들에서, 처리 섹션(118)은 (예컨대, 데이터(130)에 포함된 패킷 헤더들로부터) 데이터(130)의 라우팅 또는 목적지 정보를 판독하여 출력 큐들을 결정하도록 구성된다.
제2 경로(122)는 처리 섹션(118)으로부터 데이터(130)의 제3 사본(162)을 수신하도록 그리고 데이터(130)의 제3 사본(162)에 대한 다수의 체크들(166, 170)을 수행하도록 구성된다. 다수의 체크들(166, 170)은 보호(140) 또는 보호(142)와 같은 보호에 기초한 체크를 포함한다. 제2 경로(124)는 처리 섹션(118)으로부터 데이터(130)의 제3 사본(164)을 수신하도록 그리고 데이터(130)의 제3 사본(164)에 대한 다수의 체크들(168, 172)을 수행하도록 구성된다. 체크들(166, 172)은 보호(140) 또는 보호(142)(예컨대, 에러 체크)와 같은 보호에 기초한 체크를 포함한다.
하나 이상의 제2 투표자 엘리먼트들(126)은 제2 경로(122)로부터 데이터(130)의 제4 사본(182)을 수신하도록 그리고 제2 경로(124)로부터 데이터(130)의 제4 사본(184)을 수신하도록 구성된다. 하나 이상의 제2 투표자 엘리먼트들(126)은 데이터(130)의 제4 사본들(182, 184)의 크로스 체크(186)를 수행하도록 구성된다. 일부 구현들에서, 크로스 체크(186)를 수행하는 것은, 제4 사본들(182, 184) 각각에 포함된 타임 스탬프를 체크하는 것, 제4 사본들(182, 184) 각각과 연관된 루트를 체크하는 것, 제4 사본들(182, 184) 각각과 연관된 타이밍(예컨대, 지연)을 체크하는 것, 하나 이상의 다른 파라미터들을 체크하는 것, 또는 이들의 조합을 포함한다.
일부 구현들에서, 하나 이상의 제2 투표자 엘리먼트들(126)은, 제4 사본들(182, 184)이 서로 일치하고 유효한지 여부에 기초하여 크로스 체크(186)와 연관된 통과 상태 또는 실패 상태를 결정하도록 구성된다. 특정 예에서, 제4 사본들(182, 184)은 체크들(166, 168, 170, 172)이 충족된다면 유효하고, 제4 사본들(182, 184)은 제4 사본(182)이 제4 사본(184)과 동일하다면 서로 일치한다.
추가로 예시하자면, 일부 구현들에서, 하나 이상의 제2 투표자 엘리먼트들(126)은 제4 사본들(182, 184)이 서로 일치하고 유효하다면, 크로스 체크(186)의 통과 상태를 결정한다. 이 경우, 일부 예들에서, 하나 이상의 제2 투표자 엘리먼트들(126)은 통과 상태의 결정에 대한 응답으로 제4 사본들(182, 184)에 대응하는 유효 데이터를 전송 포트(128)에 제공한다. 다른 예로서, 일부 구현들에서, 하나 이상의 제2 투표자 엘리먼트들(126)은 제4 사본들(182, 184)이 서로 다르다면, 제4 사본들(182, 184)이 무효라면, 또는 이 둘 다인 경우, 크로스 체크(186)의 실패 상태를 결정한다. 이 경우, 일부 구현들에서, 하나 이상의 제2 투표자 엘리먼트들(126)은 실패 상태의 결정에 대한 응답으로 데이터(130)를 "누락"시키도록 구성된다. 특정 예시적인 예로서, 일부 구현들에서, 네트워크 스위치 디바이스(102)는 예외 또는 에러 메시지(예컨대, NACK 메시지)를 전송 네트워크 엘리먼트(104)에 제공하도록 구성된다. 일부 예들에서, 전송 네트워크 엘리먼트(104)는 예외 또는 에러 메시지의 수신에 대한 응답으로 데이터(130)를 재전송하도록 구성된다.
일부 구현들에서, 하나 이상의 제2 투표자 엘리먼트들(126)은 데이터(130)의 3개 이상의 제4 사본들에 기초하여 과반수 투표를 수행하도록 구성된다. 예를 들어, 일부 구현들에서, 네트워크 스위치 디바이스(102)는, 처리 섹션(118) 및 하나 이상의 제2 투표자 엘리먼트들(126)에 결합되고 데이터(130)의 M개의 제4 사본들(여기서 M은 2보다 더 큰 양의 정수임)을 생성하도록 구성된 M개의 제2 경로들을 포함한다. 이 경우, 일부 구현들에서, 하나 이상의 제2 투표자 엘리먼트들(126)은 M개의 제2 경로들로부터 특정 사본의 M/2개보다 많은 유효 인스턴스들을 수신하는 것에 기초하여 전송 포트(128)에 전달될 유효 데이터로서 M개의 제4 사본들의 특정 사본을 선택하도록 구성된다.
전송 포트(128)는 하나 이상의 제2 투표자 엘리먼트들(126)에 대한 응답으로 데이터(130)의 제4 사본들(182, 184) 중 하나 이상을 다음 네트워크 엘리먼트(106)에 전송하도록 구성된다. 예를 들어, 일부 구현들에서, 전송 포트(128)는 하나 이상의 제2 투표자 엘리먼트들(126)에 그리고 다음 네트워크 엘리먼트(106)에 결합된 물리적 인터페이스를 포함한다.
도 1의 예는 2개의 제1 경로들(112, 114)을 예시하지만, 다른 예들에서 수신 포트(110)는 3개 이상의 제1 경로들에 결합될 수 있다. 대안으로 또는 추가로, 도 1의 예는 2개의 제2 경로들(122, 124)을 예시하지만, 다른 예들에서 처리 섹션(118)은 3개 이상의 제2 경로들에 결합될 수 있다. 추가로 예시하자면, 일부 예들에서, 네트워크 스위치 디바이스(102)는 서로 다른 수들의 제1 경로들 및 제2 경로들을 포함한다. 예를 들어, 특정 구현에서, 네트워크 스위치 디바이스(102)는 N개의 제1 경로들 및 M개의 제2 경로들을 포함하며, 여기서 N ≥ 2, M 2, 그리고 NM이다. 추가로, 투표자 엘리먼트들(116, 126)의 특정 양상들은 과반수 투표와 관련하여 설명되지만, 다른 구현들에서는 초다수(supermajority) 투표와 같은 다른 기술이 사용될 수 있다. 일부 예들에서, 네트워크 스위치 디바이스(102)는 다수의 수신 포트들(110)을 포함한다(예컨대, 여기서 다수의 수신 포트들(110) 각각은 처리 섹션(118)에 "수렴"되는 한 세트의 병렬 경로들 중 대응하는 경로에 결합된다). 대안으로 또는 추가로, 일부 구현들에서, 네트워크 스위치 디바이스(102)는 다수의 전송 포트들(128)을 포함한다(예컨대, 여기서 다수의 전송 포트들(128) 각각은 처리 섹션(118)으로부터 "분기"되는 한 세트의 병렬 경로들 중 대응하는 경로에 결합된다).
추가로, 도 1의 예는 두 세트들의 병렬 경로들(제1 경로들(112, 114) 및 제2 경로들(122, 124))을 예시하지만, 다른 구현들에서 네트워크 스위치 디바이스(102)는 병렬 경로들의 다른 수의 세트들, 이를테면 한 세트의 병렬 경로들, 세 세트들의 병렬 경로들, 또는 다른 수의 세트들의 병렬 경로들을 포함할 수 있다. 특정한 예시적인 예로서, 네트워크 스위치 디바이스(102)는 세 세트들의 병렬 경로들 및 두 세트들의 처리 섹션들을 포함할 수 있다.
또한, 일부 구현들에서, 다수의 병렬 경로들은 (예컨대, 단일 처리 섹션(118) 대신에) 감소된 수의 병렬 경로들로 "통합"될 수 있다는 점이 주목된다. 예시하자면, 일부 예들에서, 3개의 병렬 제1 경로들은 (예컨대, 단일 처리 섹션(118) 대신에) 2개의 병렬 경로들로 "통합"될 수 있다. 대안으로 또는 추가로, 2개의 병렬 경로들은 3개의 병렬 제2 경로들로 "확장"될 수 있다. 일부 구현들에서, 특정 수의 병렬 경로들을 (단일 처리 섹션 대신에) 감소된 수의 병렬 경로들로 통합하는 것은 (더 큰 병렬 관계(parallelism)의 사용과 비교하여) 디바이스 크기 또는 복잡도를 감소시키면서, (예컨대, 감소된 병렬 경로들의 출력에서 데이터 일치 및 유효성 체크(validation)를 수행함으로써) 단일 처리 섹션의 사용과 비교하여 감소된 병렬 경로들에서의 데이터 무결성 또는 중복성을 또한 가능하게 한다.
도 1의 하나 이상의 양상들은 네트워크 스위치 디바이스의 동작을 개선한다. 예를 들어, (예컨대, 네트워크 스위치 디바이스(102)의 중간 단계에서 그리고 네트워크 스위치 디바이스(102)에서 데이터 처리를 완료하기 전에) 크로스 체크(156)를 "일찍" 수행함으로써, ("늦은" 단계에서 데이터를 크로스 체크하는 것과 비교하여) 특정 데이터 에러들이 보다 신속하게 검출될 수 있다. 예시하자면, 특정 예에서, 하나 이상의 제1 투표자 엘리먼트들(116)은 예시적인 예들로서, 이를테면 제2 사본들(152, 154)의 타임 스탬프, 제2 사본들(152, 154)의 데이터 크기, 또는 제2 사본들(152, 154)과 연관된 타이밍(예컨대, 지연)을 체크함으로써 검출이 "쉬운" 데이터 에러들에 대해 체크하도록 구성된다. 그 결과, 특정 데이터 에러들이 ("늦은" 단계에서 데이터를 크로스 체크하는 것과 비교하여) 보다 빠르게 검출될 수 있어, 시스템(100)의 데이터 스루풋을 증가시킬 수 있다.
또한, 일부 예들에서, (제1 경로들(112, 114) 및 제2 경로들(122, 124)과 비교하여) 처리 섹션(118)에서의 감소된 병렬 관계는 (제1 경로(112) 및 제1 경로(114)에 처리 섹션(118)의 양상들을 포함하는 것에 비해) 더 낮은 복잡도 및 비용을 야기한다. 일부 구현들에서, 보호(140) 및 보호(142)는 (처리 섹션(118)에서의 감소된 중복성이 병렬 관계에 의해 제공되는 보호를 감소시키기 때문에) 처리 섹션(118)에 의해 처리 동안 발생하는 에러들의 검출을 가능하게 한다.
도 2는 네트워크 스위치 디바이스(102)의 예시적인 예의 특정 양상들을 도시한다. 도 2의 예에서, 제1 경로(112)는 데이터(130)의 제1 사본(132)에 타임 스탬프(212)를 적용하도록 구성된 타임 스탬프 엘리먼트(202)를 포함한다. 도 2에서, 제1 경로(112)는 데이터(130)의 제1 사본(132)에 크기 제약(214)을 적용하도록 구성된 프레임 필터(204)를 더 포함한다. 도 2의 예는 또한, 제1 경로(112)가 데이터(130)의 제1 사본(132)에 대역폭 제약(216)을 적용하도록 구성된 프레임 감시 엘리먼트(206) 및 보호(140)를 생성하도록 구성된 에러 검출 생성 엘리먼트(208)를 포함하는 것을 도시한다. 특정 예에서, 보호(140)는 처리 섹션(118)에서의 처리 후에 무결성을 검증하도록 데이터(130)의 제1 사본(132) 및 타임 스탬프(212)에 기초한 순환 중복 검사(CRC: cyclic redundancy check) 데이터(218)를 포함한다. 일부 예들에서, 체크(136)는 프레임 필터(204)에 의해(예컨대, 제1 사본(132)이 크기 제약(214)을 충족함을 체크함으로써), 프레임 감시 엘리먼트(206)에 의해(예컨대, 제1 사본(132)이 대역폭 제약(216)을 충족함을 체크함으로써), 또는 이 둘 다에 의해 수행된다.
도 2의 예에서, 제1 경로(114)는 데이터(130)의 제1 사본(134)에 타임 스탬프(232)를 적용하도록 구성된 타임 스탬프 엘리먼트(222)를 포함한다. 도 2에서, 제1 경로(114)는 데이터(130)의 제1 사본(134)에 크기 제약(234)을 적용하도록 구성된 프레임 필터(224)를 더 포함한다. 도 2의 예는 또한, 제1 경로(114)가 데이터(130)의 제1 사본(134)에 대역폭 제약(236)을 적용하도록 구성된 프레임 감시 엘리먼트(226) 및 보호(142)를 생성하도록 구성된 에러 검출 생성 엘리먼트(228)를 포함하는 것을 도시한다. 특정 예에서, 보호(142)는 처리 섹션(118)에서의 처리 후에 무결성을 검증하도록 데이터(130)의 제1 사본(134) 및 타임 스탬프(232)에 기초한 순환 중복 검사(CRC) 데이터(238)를 포함한다. 일부 예들에서, 체크(138)를 수행하는 것은, 프레임 필터(224)에 의해 제1 사본(134)이 크기 제약(234)을 충족함을 체크하는 것, 프레임 감시 엘리먼트(226)에 의해 제1 사본(134)이 대역폭 제약(236)을 충족함을 체크하는 것, 또는 이 둘 다를 포함한다.
일부 예들에서, 하나 이상의 제1 투표자 엘리먼트들(116)은 체크들(136, 138)의 결과들(220, 240)을 비교함으로써, 제1 경로들(112, 114) 각각의 데이터(130)의 제2 사본들(152, 154)을 비교함으로써, 제1 경로들(112, 114) 각각의 타임 스탬프들(212, 232)을 비교함으로써, 제1 경로들(112, 114) 각각에 의해 생성된 보호들(140, 142)을 비교함으로써, 또는 이들의 임의의 조합으로 데이터(130)의 제2 사본들(152, 154) 중 하나 이상을 유효성 체크하도록 구성된다. 특정 예로서, 일부 구현들에서, 하나 이상의 제1 투표자 엘리먼트들(116)은 제2 사본(152)이 제2 사본(154)과 일치한다는 결정에 기초하여 그리고 제2 사본들(152, 154)이 크기 제약들(214, 234)을 충족시킨다는 결정, 제2 사본들(152, 154)이 대역폭 제약들(216, 236)을 충족시킨다는 결정, 또는 이들의 조합에 추가로 기초하여 제2 사본들(152, 154)을 유효성 체크하도록 구성된다. 일부 구현들에서, 하나 이상의 제1 투표자 엘리먼트들(116)은 제2 사본들(152, 154) 중 서로 일치하고 유효 데이터(242)로서 처리 섹션에 (예컨대, 크로스 체크(156)를 사용하여) 유효한 것으로 결정된 적어도 하나의 제2 사본을 전송하도록 구성된다.
특정 예에서, 처리 섹션(118)은, 유효 데이터(242)에 라우팅 정보(244)를 임베딩하도록 그리고 임베딩된 라우팅 정보(244)와 함께 유효 데이터(242)를 (예컨대, 전송 포트(128)와 연관된 출력 큐에) 저장하도록 구성된다. 일부 예들에서, 유효 데이터(242)는 데이터(130)의 제3 사본들(162, 164)에 대응한다.
도 2의 예에서, 제2 경로(122)는 처리 섹션(118)에서의 처리 및 저장 후에 데이터(130)의 제3 사본(162)의 데이터 무결성 및 타임 스탬프 무결성을 검증하기 위해 보호(140) 또는 보호(142)를 사용하여 순환 중복 검사(CRC)(262)를 수행하도록 구성된 에러 검출 체크 엘리먼트(252)를 포함한다. 도 2는 또한, 제2 경로(122)가 데이터(130)의 제3 사본(162)과 연관된 라우팅 정보(244)를 체크하도록 구성된 루트 체크 엘리먼트(254)를 포함하는 것을 도시한다. 도 2에서, 제2 경로(122)는 출력 큐(예컨대, 제2 경로(122)의 출력 큐(260))에서 데이터(130)의 제3 사본(162)의 포지션(266)을 체크하도록 구성된 출력 큐 체크 엘리먼트(256)를 포함한다. 도 2의 예는 또한, 제2 경로(122)가 데이터(130)의 제3 사본(162)과 연관된 타임 스탬프(예컨대, 타임 스탬프(212), 타임 스탬프(232) 또는 다른 타임 스탬프)에 기초하여 시간 지연(268)을 체크하도록 구성된 지연 체크 엘리먼트(258)를 포함하는 것을 도시한다. 일부 예들에서, 체크들(166, 170)은 (예컨대, CRC(262)에 기초하여) 에러 검출 체크 엘리먼트(252)에 의해, 루트 체크 엘리먼트(254)에 의해, (예컨대, 포지션(266)에 기초하여) 출력 큐 체크 엘리먼트(256)에 의해, (예컨대, 시간 지연(268)에 기초하여) 지연 체크 엘리먼트(258)에 의해, 또는 이들의 조합으로 수행된다. 특정 예시적인 예로서, 일부 구현들에서, 체크(166)는 (예컨대, CRC(262)에 기초하여) 에러 검출 체크 엘리먼트(252)에 의해 수행되고, 체크(170)는 (예컨대, 시간 지연(268)에 기초하여) 지연 체크 엘리먼트(258)에 의해 수행된다.
도 2의 예에서, 제2 경로(124)는 처리 섹션(118)에서의 처리 및 저장 후에 데이터(130)의 제3 사본(164)의 데이터 무결성 및 타임 스탬프 무결성을 검증하기 위해 보호(140)를 사용하여 순환 중복 검사(CRC)(282)를 수행하도록 구성된 에러 검출 체크 엘리먼트(272)를 포함한다. 도 2는 또한, 제2 경로(124)가 데이터(130)의 제3 사본(164)과 연관된 라우팅 정보(244)를 체크하도록 구성된 루트 체크 엘리먼트(274)를 포함하는 것을 도시한다. 도 2에서, 제2 경로(124)는 출력 큐(예컨대, 제2 경로(124)의 출력 큐(280))에서 데이터(130)의 제3 사본(164)의 포지션(286)을 체크하도록 구성된 출력 큐 체크 엘리먼트(276)를 포함한다. 도 2의 예는 또한, 제2 경로(124)가 데이터(130)의 제3 사본(164)과 연관된 타임 스탬프(예컨대, 타임 스탬프(212), 타임 스탬프(232) 또는 다른 타임 스탬프)에 기초하여 시간 지연(288)을 체크하도록 구성된 지연 체크 엘리먼트(278)를 포함하는 것을 도시한다. 일부 예들에서, 체크들(168, 172)은 (예컨대, CRC(282)에 기초하여) 에러 검출 체크 엘리먼트(272)에 의해, 루트 체크 엘리먼트(274)에 의해, (예컨대, 포지션(286)에 기초하여) 출력 큐 체크 엘리먼트(276)에 의해, (예컨대, 시간 지연(288)에 기초하여) 지연 체크 엘리먼트(278)에 의해, 또는 이들의 조합으로 수행된다. 특정 예시적인 예로서, 일부 구현들에서, 체크(168)는 (예컨대, CRC(282)에 기초하여) 에러 검출 체크 엘리먼트(272)에 의해 수행되고, 체크(172)는 (예컨대, 시간 지연(288)에 기초하여) 지연 체크 엘리먼트(278)에 의해 수행된다.
일부 예들에서, 하나 이상의 제2 투표자 엘리먼트들(126)은 순환 중복 검사들(262, 282), 포지션들(266, 286), 시간 지연들(268, 288), 그리고 (예컨대, 크로스 체크(186)를 사용하여) 데이터(130)의 제4 사본들(182, 184)의 적어도 대부분이 서로 일치하는지 여부에 적어도 부분적으로 기초하여 데이터(130)의 제4 사본들(182, 184) 중 하나 이상을 유효성 체크하도록 추가로 구성된다.
도 2의 하나 이상의 양상들은 네트워크 스위치 디바이스의 동작을 개선한다. 예를 들어, (예컨대, 네트워크 스위치 디바이스(102)의 중간 단계에서 그리고 네트워크 스위치 디바이스(102)에서 데이터 처리를 완료하기 전에) 크로스 체크(156)를 "일찍" 수행함으로써, ("늦은" 단계에서 데이터를 크로스 체크하는 것과 비교하여) 특정 데이터 에러들이 보다 신속하게 검출될 수 있다. 예시하자면, 특정 예에서, 하나 이상의 제1 투표자 엘리먼트들(116)은 예시적인 예들로서, 이를테면 타임 스탬프들(212, 232)을 체크함으로써, 제2 사본들(152, 154)이 크기 제약들(214, 234)을 따름을 체크함으로써, 제2 사본들(152, 154)이 대역폭 제약들(216, 236)을 따름을 체크함으로써, 또는 보호(140, 142)를 체크함으로써 검출이 "쉬운" 데이터 에러들에 대해 체크하도록 구성된다. 그 결과, 특정 데이터 에러들이 ("늦은" 단계에서 데이터를 크로스 체크하는 것과 비교하여) 보다 빠르게 검출될 수 있어, 시스템(100)의 데이터 스루풋을 증가시킬 수 있다.
또한, 일부 예들에서, (제1 경로들(112, 114) 및 제2 경로들(122, 124)과 비교하여) 처리 섹션(118)에서의 감소된 병렬 관계는 (제1 경로(112) 및 제1 경로(114)에 처리 섹션(118)의 양상들을 포함하는 것에 비해) 더 낮은 복잡도 및 비용을 야기한다. 일부 구현들에서, 보호(140) 및 보호(142)는 (처리 섹션(118)에서의 감소된 중복성이 병렬 관계에 의해 제공되는 보호를 감소시키기 때문에) 처리 섹션(118)에 의해 처리 동안 발생하는 에러들의 검출을 가능하게 한다.
도 3을 참조하면, 네트워크 스위치를 작동시키는 방법의 특정 예가 도시되며 일반적으로 300으로 표기된다. 일부 구현들에서, 방법(300)은 네트워크 스위치 디바이스(102)를 작동시키기 위해 수행된다.
방법(300)은 302에서 수신 포트를 통해 데이터를 수신하는 단계를 포함한다. 특정 예에서, 데이터는 전송 네트워크 엘리먼트로부터 수신 포트에서 수신된다. 예시하자면, 일부 예들에서, 네트워크 스위치 디바이스(102)는 수신 포트(110)를 사용하여 데이터(130)를 수신하도록 구성된다.
방법(300)은 304에서, 데이터의 제1 사본들을 다수의 병렬 제1 경로들에 제공하는 단계를 더 포함한다. 특정 예에서, 수신 포트(110)는 데이터(130)의 제1 사본들(132, 134)을 제1 경로들(112, 114)에 제공하도록 구성된다.
방법(300)은 306에서, 제1 경로들 각각에서, 데이터의 제1 사본에 대한 체크를 수행하고 데이터의 제1 사본에 대한 보호를 생성하는 단계를 더 포함한다. 특정 예에서, 체크를 수행하는 단계는 제1 경로(112)에 의해 체크(136)를 수행하는 단계를 포함하고, 제1 경로(114)에 의해 체크(138)를 수행하는 단계를 더 포함한다. 특정 예에서, 보호를 생성하는 단계는 제1 경로(112)에 의해 보호(140)를 생성하는 단계를 포함하고, 제1 경로(114)에 의해 보호(142)를 생성하는 단계를 더 포함한다. 특정 예에서, 보호를 생성하는 단계는 CRC 데이터(218)나 CRC 데이터(238) 또는 이 둘 다를 생성하는 단계를 포함한다. 대안으로 또는 추가로, 일부 예들에서, 체크를 수행하는 단계는 도 2를 참조하여 설명한 하나 이상의 동작들을 수행하는 단계를 포함한다.
방법(300)은 308에서, 제1 경로들로부터 수신된 데이터의 제2 사본들을 크로스 체크하는 단계를 더 포함한다. 특정 예에서, 제2 사본들을 크로스 체크하는 단계는 하나 이상의 제1 투표자 엘리먼트들(116)에 의해 크로스 체크(156)를 수행하는 단계를 포함한다.
방법(300)은 310에서, 데이터의 제2 사본들 중 적어도 일부가 서로 일치하고 유효함을 나타내는, 제2 사본들의 크로스 체크에 대한 응답으로, 데이터의 제2 사본들 중 서로 일치하고 유효한 적어도 하나의 제2 사본으로부터의 유효 데이터를 처리 섹션에서 처리하는 단계를 더 포함한다. 특정 예에서, 처리 섹션(118)은 제2 사본들(152, 154) 중 적어도 하나를 유효 데이터(242)로서 처리하도록 구성된다. 일부 예들에서, 유효 데이터를 처리하는 것은 라우팅 정보(예를 들어, 라우팅 정보(244))를 생성하여 유효 데이터에 임베딩하는 것을 포함한다. 일부 예들에서, 유효 데이터의 처리는 네트워크 스위치의 단일 처리 섹션에서 수행된다(예컨대, 여기서 처리 섹션(118)은 네트워크 스위치 디바이스(102)의 단일 처리 섹션에 대응한다).
방법(300)은 312에서, 데이터의 제3 사본들을 다수의 병렬 제2 경로들에 제공하는 단계를 더 포함한다. 특정 예에서, 처리 섹션(118)은 제3 사본들(162, 164)을 제2 경로들(122, 124)에 제공하도록 구성된다.
방법(300)은 314에서, 다수의 병렬 제2 경로들의 각각의 제2 경로에서, 데이터의 제3 사본에 대한 다수의 체크들을 수행하는 단계를 더 포함하며, 다수의 체크들은 보호에 기초한 체크를 포함한다. 특정 예에서, 다수의 체크들을 수행하는 단계는 보호(140) 또는 보호(142)에 기초한 체크(예컨대, CRC 체크 또는 다른 에러 검출 체크)를 포함하는 체크들(166, 168, 170, 172) 중 임의의 체크를 수행하는 단계를 포함한다. 대안으로 또는 추가로, 일부 예들에서, 다수의 체크들을 수행하는 단계는 도 2를 참조하여 설명한 하나 이상의 동작들을 수행하는 단계를 포함한다.
방법(300)은 316에서, 제2 경로들로부터 수신된 데이터의 제4 사본들을 크로스 체크하는 단계를 더 포함한다. 특정 예에서, 데이터의 제4 사본들을 크로스 체크하는 단계는 하나 이상의 제2 투표자 엘리먼트들(126)에 의해 크로스 체크(186)를 수행하는 단계를 포함한다.
방법(300)은 318에서, 데이터의 제4 사본들을 크로스 체크하는 것에 대한 응답으로, 데이터의 제4 사본들 중 하나 이상을 전송 포트를 통해 다음 네트워크 엘리먼트로 선택적으로 전송하는 단계를 더 포함한다. 특정 예에서, 데이터(130)는 전송 포트(128)에 의해 다음 네트워크 엘리먼트(106)로 전송된다.
도 3의 방법(300)의 하나 이상의 양상들은 네트워크 스위치 디바이스의 동작을 개선한다. 예를 들어, (예컨대, 네트워크 스위치 디바이스(102)의 중간 단계에서 그리고 네트워크 스위치 디바이스(102)에서 데이터 처리를 완료하기 전에) 크로스 체크를 "일찍" 수행함으로써, ("늦은" 단계에서 데이터를 크로스 체크하는 것과 비교하여) 특정 데이터 에러들이 보다 신속하게 검출될 수 있다. 그 결과, 특정 데이터 에러들이 ("늦은" 단계에서 데이터를 크로스 체크하는 것과 비교하여) 보다 빠르게 검출될 수 있어, 시스템의 데이터 스루풋을 증가시킬 수 있다.
또한, 일부 예들에서, 단일 처리 섹션(예컨대, 처리 섹션(118))에서의 감소된 병렬 관계는 (병렬 처리 경로들을 사용하여 처리 섹션을 구현하는 것에 비해) 더 낮은 복잡도 및 비용을 야기한다. 일부 구현들에서, 에러 검출 정보(예컨대, 보호(140) 및 보호(142))는 (처리 섹션에서의 감소된 중복성이 병렬 관계에 의해 제공되는 보호를 감소시키기 때문에) 처리 섹션에 의한 처리 동안 발생하는 에러들을 검출하는 데 사용된다.
도 4를 참조하면, 시스템(100)을 포함하는 차량(예컨대, 항공기)의 수명 주기의 예시적인 예의 흐름도가 도시되며 일반적으로 400으로 표기된다. 예비 생산 동안, 방법(400)은 402에서 차량의 규격 및 설계를 포함한다. 특정 예에서, 차량의 규격 및 설계는 시스템(100)의 하나 이상의 특성들을 결정하는 단계를 포함한다. 차량의 규격 및 설계 동안, 방법(400)은 시스템(100)의 하나 이상의 컴포넌트들과 같은 컴포넌트들을 지정하는 단계를 포함한다. 일부 예들에서, 시스템(100)의 규격 및 설계는 이더넷 기반 통신 프로토콜, 항공기 데이터 네트워크(ADN: aircraft data network) 통신 프로토콜, 하나 이상의 다른 통신 프로토콜들, 또는 이들의 조합과 같은 통신 프로토콜에 따라 적어도 부분적으로 수행된다.
404에서, 방법(400)은 자재 조달을 포함한다. 예를 들어, 방법(400)은 (이를테면, 시스템(100)의 하나 이상의 컴포넌트들을 위한 자재들을 조달함으로써) 차량을 위한 자재들을 조달하는 단계를 포함할 수 있다.
생산 동안, 방법(400)은 406에서 컴포넌트 및 하위 부품 제조를 그리고 408에서 차량의 시스템 통합을 포함한다. 일부 구현들에서, 방법(400)의 시스템 통합은 예시적인 예들로서, 이를테면 차량의 통신 시스템 내에 또는 차량의 제어 시스템 내에 시스템(100)을 통합함으로써, 시스템(100)을 차량 내에 통합하는 단계를 포함한다.
방법(400)은 410에서 차량의 인증 및 납품을 그리고 412에서 차량을 운항하게 하는 단계를 포함한다. 일부 구현들에서, 차량을 인증하는 것은 시스템(100)의 동작을 테스트하는 것을 포함한다.
운항 동안, 차량은 (수정, 재구성, 개조 등을 또한 포함할 수 있는) 정기 유지보수 및 서비스를 위해 스케줄링된다. 414에서, 방법(400)은 차량에 대한 유지보수 및 서비스를 수행하는 단계를 포함한다. 예시하자면, 일부 예들에서, 유지보수 및 서비스를 수행하는 단계는 시스템(100)의 컴포넌트들을 검사 및 서비스하는 것을 포함할 수 있다.
도 5는 네트워크 스위치 디바이스(102)의 특정 예를 포함하는 컴퓨팅 환경(500)의 블록도의 예시이다. 도 5의 예에서, 네트워크 스위치 디바이스(102)는 본 개시내용에 따른 컴퓨터 구현 방법들 및 컴퓨터 실행 가능 프로그램 명령들(또는 코드)의 실시예들을 지원하도록 구성된다. 일부 예들에서, 네트워크 스위치 디바이스(102) 또는 그 부분들은 본 명세서에서 설명되는 동작들, 이를테면 도 3의 방법(300)의 동작들을 개시, 수행 또는 제어하기 위한 명령들을 실행한다.
네트워크 스위치 디바이스(102)는 프로세서(520)를 포함한다. 프로세서(520)는 메모리(530)(예컨대, 시스템 메모리 또는 다른 메모리), 하나 이상의 저장 디바이스들(540), 하나 이상의 입력/출력 인터페이스들(550), 통신 인터페이스(526), 또는 이들의 조합과 통신하도록 구성된다.
특정 구현에 따라, 메모리(530)는 휘발성 메모리 디바이스들(예컨대, 랜덤 액세스 메모리(RAM: random access memory) 디바이스들), 비휘발성 메모리 디바이스들(예컨대, 판독 전용 메모리(ROM: read-only memory) 디바이스들, 프로그래밍 가능 판독 전용 메모리 또는 플래시 메모리), 하나 이상의 다른 메모리 디바이스들, 또는 이들의 조합을 포함한다. 도 5에서, 메모리(530)는 운영 시스템(532)을 저장하는데, 이는 네트워크 스위치 디바이스(102)를 부팅하기 위한 기본 입력/출력 시스템뿐만 아니라, 네트워크 스위치 디바이스(102)가 사용자들, 다른 프로그램들 및 다른 디바이스들과 상호 작용할 수 있게 하는 전체 운영 시스템도 포함할 수 있다. 도 5의 특정 예는 또한, 메모리(530)가 프로세서(520)에 의해 실행 가능한 명령들(534)을 저장하는 것을 도시한다. 일부 예들에서, 명령들(534)은 네트워크 스위치 디바이스(102)의 컴포넌트들, 이를테면 메모리(530), 하나 이상의 저장 디바이스들(540), 하나 이상의 입력/출력 인터페이스들(550), 통신 인터페이스(526), 또는 이들의 조합 사이에서 신호들을 송신하도록 프로세서(520)에 의해 실행 가능하다.
특정 예에서, 명령들(534)은 데이터 송신 및 수신 명령들(536)을 포함한다. 일부 예들에서, 데이터 송신 및 수신 명령들(536)은 도 3의 방법(300)의 하나 또는 그보다 많은 동작들을 개시, 제어 또는 수행하도록 프로세서(520)에 의해 실행 가능하다. 특정 예로서, 일부 구현들에서, 프로세서(520)는 다음 네트워크 엘리먼트(106)로의 데이터(130)의 송신을 개시하기 위해 데이터 송신 및 수신 명령들(536)을 실행하도록 구성된다. 대안으로 또는 추가로, 일부 예들에서, 프로세서(520)는 전송 네트워크 엘리먼트(104)로부터의 데이터(130)(또는 다른 데이터)의 수신을 제어하기 위해 데이터 송신 및 수신 명령들(536)을 실행하도록 구성된다. 대안으로 또는 추가로, 일부 구현들에서, 전송 네트워크 엘리먼트(104) 또는 다음 네트워크 엘리먼트(106) 중 하나 이상은 프로세서(예컨대, 프로세서(520) 또는 다른 프로세서), 메모리(예컨대, 메모리(530) 또는 다른 메모리), 또는 이들의 조합을 포함한다.
추가로 예시하자면, 특정 예에서, 프로세서(520)는 본 명세서에 기술된 하나 이상의 동작들, 이를테면 수신 포트(110), 제1 경로들(112, 114), 하나 이상의 제1 투표자 엘리먼트들(116), 처리 섹션(118), 제2 경로들(122, 124), 하나 이상의 제2 투표자 엘리먼트들(126), 전송 포트(128), 또는 이들의 조합과 관련하여 설명한 하나 이상의 동작들을 수행하기 위해 데이터 송신 및 수신 명령들(536)을 실행하도록 구성된다. 특정 예로서, 일부 구현들에서, 네트워크 스위치 디바이스(102)는 (예컨대, 데이터(130)의 사본들을 비교하기 위해 하나 이상의 비교 명령들을 실행함으로써) 체크들(136, 138), 크로스 체크(156), 체크들(166, 168, 180, 172) 또는 크로스 체크(186) 중 임의의 체크를 수행하기 위해 데이터 송신 및 수신 명령들(536)을 실행하도록 구성된 프로세서를 포함한다. 이 예에서, 투표자 엘리먼트들(116, 126) 중 임의의 투표자 엘리먼트는 데이터 사본들이 서로 일치하고 유효한지 여부를 결정하도록 프로세서에 의해 실행 가능한 명령들(예컨대, 펌웨어 또는 다른 명령들)에 대응할 수 있다.
대안으로 또는 추가로, 일부 예들에서, 본 명세서에 설명된 하나 이상의 동작들은 예시적인 예들로서, 하나 이상의 하드웨어 컴포넌트들 또는 회로들을 사용하여, 이를테면 비교기 회로를 사용하여 체크들(136, 138), 크로스 체크(156), 체크들(166, 168, 180, 172) 또는 크로스 체크(186) 중 임의의 체크를 수행함으로써(예컨대, 비교기 회로를 사용하여 데이터(130)의 사본들을 비교함으로써) 수행된다. 이 경우, 투표자 엘리먼트들(116, 126) 중 임의의 투표자 엘리먼트는 데이터 사본들이 서로 일치하고 유효한지 여부를 결정하도록 구성된 하나 이상의 하드웨어 회로들(예컨대, 예시적인 예로서 하나 이상의 비교기 회로들)을 포함할 수 있다.
일부 구현들에서, 하나 또는 그보다 많은 저장 디바이스들(540)은 비휘발성 저장 디바이스들, 예컨대 자기 디스크들, 광 디스크들 또는 플래시 메모리 디바이스들을 포함한다. 일부 예들에서, 하나 이상의 저장 디바이스들(540)은 제거 가능한 메모리 디바이스들, 제거 불가능한 메모리 디바이스들, 또는 이 둘 다를 포함한다. 일부 경우들에는, 하나 이상의 저장 디바이스들(540)은 운영 시스템, 운영 시스템들의 이미지들, 애플리케이션들 및 프로그램 데이터를 저장하도록 구성된다. 특정 예에서, 메모리(530), 하나 이상의 저장 디바이스들(540), 또는 이 둘 다는 유형의 컴퓨터 판독 가능 매체를 포함한다.
도 5의 예에서, 프로세서(520)는 네트워크 스위치 디바이스(102)가 하나 이상의 입력/출력 디바이스들(570)과 통신하여 사용자 상호 작용을 가능하게 할 수 있게 하기 위해 하나 이상의 입력/출력 인터페이스들(550)과 통신하도록 구성된다. 일부 구현들에서, 하나 이상의 입력/출력 인터페이스(550)는 직렬 인터페이스들(예컨대, 범용 직렬 버스(USB: universal serial bus) 인터페이스들 또는 전기 전자 기술자 협회(IEEE: Institute of Electrical and Electronics Engineers) 1394 인터페이스들), 병렬 인터페이스들, 디스플레이 어댑터들, 오디오 어댑터들, 하나 이상의 다른 인터페이스들, 또는 이들의 조합을 포함한다. 일부 예들에서, 하나 이상의 입력/출력 디바이스들(570)은 키보드들, 포인팅 디바이스들, 디스플레이들, 스피커들, 마이크로폰들, 터치 스크린들, 하나 이상의 다른 디바이스들, 또는 이들의 조합을 포함한다. 일부 예들에서, 프로세서(520)는 하나 이상의 입력/출력 인터페이스들(550)을 통해 수신된 사용자 입력을 기초로 상호 작용 이벤트들을 검출하도록 구성된다.
특정 예에서, 프로세서(520)는 통신 인터페이스(526)를 사용하여 하나 이상의 디바이스들(580)과 통신(또는 신호들을 전송)하도록 구성된다. 일부 구현들에서, 통신 인터페이스(526)는 하나 이상의 유선 인터페이스들(예컨대, 이더넷 인터페이스들), IEEE 802.11 통신 프로토콜을 따르는 하나 이상의 무선 인터페이스들, 하나 이상의 다른 무선 인터페이스들, 하나 이상의 광 인터페이스들 또는 하나 이상의 다른 네트워크 인터페이스들, 또는 이들의 조합을 포함한다. 일부 예들에서, 하나 이상의 디바이스들(580)은 호스트 컴퓨터들, 서버들, 워크스테이션들, 하나 이상의 다른 컴퓨팅 디바이스들, 또는 이들의 조합을 포함한다.
일부 예들에서, 프로세서(520)는 시스템(100)을 사용하여 데이터(예컨대, 데이터(130) 또는 다른 데이터)를 전송 또는 수신하도록 구성된다. 예를 들어, 일부 구현들에서, 시스템(100)은 통신 인터페이스(526)를 통해 프로세서(520)에 결합된다. 일부 구현들에서, 프로세서(520)는 도 3의 방법(300)의 동작들을 개시, 수행 또는 제어하도록 구성된다.
본 개시내용의 양상들은 도 6에 도시된 바와 같은 차량(600)의 예와 관련하여 설명될 수 있다. 일부 예들에서, 차량(600)은 항공기를 포함하거나 항공기에 상응한다.
도 6에 도시된 바와 같이, 차량(600)은 복수의 시스템들(620) 및 내부(622)와 함께 기체(618)를 포함할 수 있다. 복수의 시스템들(620)의 예들은 추진 시스템(624), 환경 시스템(628), 유압 시스템(630) 및 시스템(100) 중 하나 이상을 포함한다. 임의의 수의 다른 시스템들이 포함될 수 있다.
일부 구현들에서, 시스템(100)은 예시적인 예들로서, 시스템들(620) 중 특정 시스템, 이를테면 차량(600)의 통신 시스템 또는 제어 시스템에 포함된다. 일부 예들에서, 시스템(100)은 이더넷 네트워크에(예컨대, 차량(600)의 이더넷 기반 통신 시스템에), 차량(600)의 항공기 데이터 네트워크(ADN: aircraft data network) 시스템에, 차량(600)의 하나 이상의 다른 시스템들에, 또는 이들의 조합에 포함된다.
본 명세서에서 설명한 예들의 예시들은 다양한 구현들의 구조에 대한 일반적인 이해를 제공하는 것으로 의도된다. 예시들은 본 명세서에서 설명한 구조들 또는 방법들을 이용하는 장치 및 시스템들의 모든 엘리먼트들 및 특징들의 완벽한 설명으로서의 역할을 하는 것으로 의도되지는 않는다. 본 개시내용의 검토시 많은 다른 구현들이 당해 기술분야에서 통상의 지식을 가진 자들에게 명백할 수 있다. 본 개시내용의 범위를 벗어나지 않으면서 구조적 그리고 논리적 치환들 및 변경들이 이루어질 수 있도록, 본 개시내용으로부터 다른 구현들이 이용되고 도출될 수 있다. 예를 들어, 방법 동작들은 도면들에 도시된 것과 다른 순서로 수행될 수 있거나 하나 이상의 방법 동작들이 생략될 수 있다. 이에 따라, 본 개시내용 및 도면들은 제한적이기보다는 예시적인 것으로 여겨져야 한다.
더욱이, 본 명세서에서 특정 예들이 예시 및 설명되었지만, 동일한 또는 비슷한 결과들을 달성하도록 설계된 임의의 후속 어레인지먼트가 도시된 특정 구현들을 대신하게 될 수 있다고 인식되어야 한다. 본 개시내용은 다양한 구현들의 임의의 그리고 모든 후속 개조들 또는 변형들을 커버하는 것으로 의도된다. 설명의 검토시, 상기 구현들의 결합, 그리고 본 명세서에서 구체적으로 설명되지 않은 다른 구현들이 당해 기술분야에서 통상의 지식을 가진 자들에게 명백할 것이다.
본 개시내용의 요약은 이것이 청구항들의 범위 또는 의미를 해석하거나 한정하는데 사용되지 않을 것이라는 조건 하에 제출된다. 추가로, 앞서 말한 발명을 실시하기 위한 구체적인 내용에서는, 본 개시내용을 간소화할 목적으로 다양한 특징들이 함께 그룹화되거나 단일 구현으로 설명될 수 있다. 앞서 설명한 예들은 본 개시내용을 예시하지만 한정하는 것은 아니다. 또한, 본 개시내용의 원리들에 따라 다수의 수정들 및 변형들이 가능하다고 이해되어야 한다. 다음 청구항들이 반영할 때, 청구 대상은 개시된 예들 중 임의의 예의 모든 특징들보다는 적은 특징들에 관련될 수 있다. 이에 따라, 본 개시내용의 범위는 이어지는 청구항들 및 이들의 등가물들로 정의된다.

Claims (20)

  1. 데이터(130)를 수신하도록 구성된 수신 포트(110);
    상기 수신 포트에 결합된 2개 이상의 병렬 제1 경로들(112, 114) ― 상기 제1 경로들 각각은 상기 수신 포트로부터 상기 데이터의 제1 사본(132, 134)을 수신하고, 상기 데이터의 제1 사본에 대한 체크(136, 138)를 수행하고, 그리고 상기 데이터의 제1 사본에 대한 보호(140, 142)를 생성하도록 구성됨 ―;
    상기 제1 경로들로부터 상기 데이터의 제2 사본들(152, 154)을 수신하도록 그리고 상기 데이터의 제2 사본들을 크로스 체크(156)하도록 구성된 하나 이상의 제1 투표자(voter) 엘리먼트들(116);
    상기 하나 이상의 제1 투표자 엘리먼트들에 대한 응답으로 상기 데이터의 제2 사본들 중 하나 이상을 처리하도록 구성된 처리 섹션(118);
    상기 처리 섹션에 결합된 2개 이상의 병렬 제2 경로들(122, 124) ― 상기 제2 경로들 각각은 상기 처리 섹션으로부터 상기 데이터의 제3 사본(162, 164)을 수신하고, 상기 데이터의 제3 사본에 대한 다수의 체크들(166, 168, 170, 172)을 수행하도록 구성되며, 상기 다수의 체크들은 상기 보호에 기초한 체크(166, 168, 170, 또는 172)를 포함함 ―;
    상기 제2 경로들로부터 상기 데이터의 제4 사본들(182, 184)을 수신하도록 그리고 상기 데이터의 제4 사본들을 크로스 체크(186)하도록 구성된 하나 이상의 제2 투표자 엘리먼트들(126); 및
    상기 하나 이상의 제2 투표자 엘리먼트들에 대한 응답으로 상기 데이터의 제4 사본들 중 하나 이상을 다음 네트워크 엘리먼트(106)에 전송하도록 구성된 전송 포트(128)를 포함하는,
    네트워크 스위치 디바이스(102).
  2. 제1 항에 있어서,
    상기 수신 포트는 전송 네트워크 엘리먼트(104)로부터 상기 데이터를 수신하도록 구성되고,
    상기 전송 포트는 상기 데이터를 상기 다음 네트워크 엘리먼트로 전달하도록 구성되는,
    네트워크 스위치 디바이스.
  3. 제1 항에 있어서,
    상기 다음 네트워크 엘리먼트는 스위치(188) 또는 종단 시스템(190)을 포함하는,
    네트워크 스위치 디바이스.
  4. 제1 항에 있어서,
    상기 처리 섹션은 단일 경로 처리 섹션을 포함하는,
    네트워크 스위치 디바이스.
  5. 제4 항에 있어서,
    상기 처리 섹션은 상기 데이터를 상기 제2 경로들로 라우팅하도록 그리고 상기 데이터를 저장하도록 추가로 구성되는,
    네트워크 스위치 디바이스.
  6. 제1 항에 있어서,
    상기 제1 경로들 각각은,
    상기 데이터의 제1 사본에 타임 스탬프(212, 232)를 적용하도록 구성된 타임 스탬프 엘리먼트(202, 222);
    상기 데이터의 제1 사본에 크기 제약(214, 234)을 적용하도록 구성된 프레임 필터(204, 224);
    상기 데이터의 제1 사본에 대역폭 제약(216, 236)을 적용하도록 구성된 프레임 감시 엘리먼트(206, 226); 및
    상기 보호를 생성하도록 구성된 에러 검출 생성 엘리먼트(208, 228)를 포함하고,
    상기 보호는 상기 처리 섹션에서의 처리 후에 무결성을 검증하도록 상기 데이터의 제1 사본 및 상기 타임 스탬프에 기초한 순환 중복 검사(CRC: cyclic redundancy check) 데이터(218, 238)를 포함하는,
    네트워크 스위치 디바이스.
  7. 제1 항에 있어서,
    상기 하나 이상의 제1 투표자 엘리먼트들은,
    상기 제1 경로들 각각의 상기 체크의 결과들(220, 240)을 비교하거나, 상기 제1 경로들 각각의 상기 데이터의 제2 사본들을 비교하거나, 상기 제1 경로들 각각의 타임 스탬프들(212, 232)을 비교하거나, 상기 제1 경로들 각각에 의해 생성된 보호들을 비교함으로써, 또는 이들의 임의의 조합에 의해 상기 데이터의 제2 사본들 중 하나 이상을 유효성 체크(validate)하고; 그리고
    상기 제2 사본들 중 서로 일치하고 유효 데이터(242)로서 상기 처리 섹션에 유효한 것으로 결정된 적어도 하나의 제2 사본을 전송하도록 추가로 구성되는,
    네트워크 스위치 디바이스.
  8. 제7 항에 있어서,
    상기 처리 섹션은, 상기 유효 데이터에 라우팅 정보(244)를 임베딩하도록 그리고 임베딩된 라우팅 정보와 함께 상기 유효 데이터를 저장하도록 추가로 구성되는,
    네트워크 스위치 디바이스.
  9. 제1 항에 있어서,
    상기 제2 경로들 각각은,
    상기 처리 섹션에서의 처리 및 저장 후에 상기 데이터의 제3 사본의 데이터 무결성 및 타임 스탬프 무결성을 검증하기 위해 상기 보호를 사용하여 순환 중복 검사(262, 282)를 수행하도록 구성된 에러 검출 체크 엘리먼트(252, 272);
    상기 데이터의 제3 사본과 연관된 라우팅 정보(244)를 체크하도록 구성된 루트 체크 엘리먼트(254, 274);
    출력 큐(260, 280)에서 상기 데이터의 제3 사본의 포지션(266, 286)을 체크하도록 구성된 출력 큐 체크 엘리먼트(256); 및
    상기 데이터의 제3 사본과 연관된 타임 스탬프(212, 232)에 기초하여 시간 지연(268, 288)을 체크하도록 구성된 지연 체크 엘리먼트(258, 278)를 포함하는,
    네트워크 스위치 디바이스.
  10. 제9 항에 있어서,
    상기 하나 이상의 제2 투표자 엘리먼트는, 상기 순환 중복 검사, 상기 출력 큐 내의 포지션, 상기 제2 경로들 각각의 시간 지연, 및 상기 데이터의 제4 사본들 중 적어도 다수가 서로 일치하는지 여부에 적어도 부분적으로 기초하여 상기 데이터의 제4 사본들 중 하나 이상을 유효성 체크하도록 추가로 구성되는,
    네트워크 스위치 디바이스.
  11. 수신 포트(110)를 통해 데이터(130)를 수신하는 단계(302);
    상기 데이터의 제1 사본들(132, 134)을 다수의 병렬 제1 경로들(112, 114)에 제공하는 단계(304);
    상기 제1 경로들 각각에서, 상기 데이터의 제1 사본(132, 134)에 대한 체크를 수행하고 상기 데이터의 제1 사본에 대한 보호(140, 142)를 생성하는 단계(306);
    상기 제1 경로들로부터 수신된 상기 데이터의 제2 사본들(152, 154)을 크로스 체크하는 단계(308);
    상기 데이터의 제2 사본들 중 적어도 일부가 서로 일치하고 유효함을 나타내는, 상기 제2 사본들의 크로스 체크에 대한 응답으로, 상기 데이터의 제2 사본들 중 서로 일치하고 유효한 적어도 하나의 제2 사본으로부터의 유효 데이터(242)를 처리 섹션(118)에서 처리하는 단계(310);
    상기 데이터의 제3 사본들(162, 164)을 다수의 병렬 제2 경로들(122, 124)에 제공하는 단계(312);
    상기 다수의 병렬 제2 경로들의 각각의 제2 경로에서, 상기 데이터의 제3 사본(162, 164)에 대한 다수의 체크들(166, 168, 170, 172)을 수행하는 단계(314) ― 상기 다수의 체크들은 상기 보호에 기초한 체크(166, 168, 170, 또는 172)를 포함함 ―;
    상기 제2 경로들로부터 수신된 상기 데이터의 제4 사본들(182, 184)을 크로스 체크하는 단계(316); 및
    상기 데이터의 제4 사본들을 크로스 체크하는 것에 대한 응답으로, 상기 데이터의 제4 사본들 중 하나 이상을 전송 포트(128)를 통해 다음 네트워크 엘리먼트(106)로 선택적으로 전송하는 단계(318)를 포함하는,
    네트워크 스위치를 작동시키는 방법(300).
  12. 제11 항에 있어서,
    상기 유효 데이터를 처리하는 단계는, 라우팅 정보(244)를 생성하여 상기 유효 데이터에 임베딩하는 단계를 포함하는,
    네트워크 스위치를 작동시키는 방법.
  13. 제12 항에 있어서,
    상기 유효 데이터를 처리하는 단계는, 상기 네트워크 스위치의 단일 처리 섹션에서 수행되는,
    네트워크 스위치를 작동시키는 방법.
  14. 제11 항에 있어서,
    상기 보호를 생성하는 단계는, 순환 중복 검사(CRC) 데이터(218, 238)를 생성하는 단계를 포함하는,
    네트워크 스위치를 작동시키는 방법.
  15. 제11 항에 있어서,
    상기 데이터는 전송 네트워크 엘리먼트(104)로부터 상기 수신 포트에서 수신되는,
    네트워크 스위치를 작동시키는 방법.
  16. 동작들을 개시, 수행 또는 제어하도록 프로세서(520)에 의해 실행 가능한 명령들(534)을 저장하는 컴퓨터 판독 가능 매체(530)로서,
    상기 동작들은,
    수신 포트(110)를 통해 데이터(130)를 수신하는 동작(302);
    상기 데이터의 제1 사본들(132, 134)을 다수의 병렬 제1 경로들(112, 114)에 제공하는 동작(304);
    상기 제1 경로들 각각에서, 상기 데이터의 제1 사본(132, 134)에 대한 체크를 수행하고 상기 데이터의 제1 사본에 대한 보호(140, 142)를 생성하는 동작(306);
    상기 제1 경로들로부터 수신된 상기 데이터의 제2 사본들(152, 154)을 크로스 체크하는 동작(308);
    상기 데이터의 제2 사본들 중 적어도 일부가 서로 일치하고 유효함을 나타내는, 상기 제2 사본들의 크로스 체크에 대한 응답으로, 상기 데이터의 제2 사본들 중 서로 일치하고 유효한 적어도 하나의 제2 사본으로부터의 유효 데이터(242)를 처리 섹션(118)에서 처리하는 동작(310);
    상기 데이터의 제3 사본들(162, 164)을 다수의 병렬 제2 경로들(122, 124)에 제공하는 동작(312);
    상기 다수의 병렬 제2 경로들의 각각의 제2 경로에서, 상기 데이터의 제3 사본(162, 164)에 대한 다수의 체크들(166, 168, 170, 172)을 수행하는 동작(314) ― 상기 다수의 체크들은 상기 보호에 기초한 체크(166, 168, 170, 또는 172)를 포함함 ―;
    상기 제2 경로들로부터 수신된 상기 데이터의 제4 사본들(182, 184)을 크로스 체크하는 동작(316);
    상기 데이터의 제4 사본들을 크로스 체크하는 것에 대한 응답으로, 상기 데이터의 제4 사본들 중 하나 이상을 전송 포트(128)를 통해 다음 네트워크 엘리먼트(106)로 선택적으로 전송하는 동작(318)을 포함하는,
    컴퓨터 판독 가능 매체.
  17. 제16 항에 있어서,
    상기 유효 데이터를 처리하는 동작은, 라우팅 정보(244)를 생성하여 상기 유효 데이터에 임베딩하는 동작을 포함하는,
    컴퓨터 판독 가능 매체.
  18. 제17 항에 있어서,
    상기 유효 데이터를 처리하는 동작은, 네트워크 스위치의 단일 처리 섹션에서 수행되는,
    컴퓨터 판독 가능 매체.
  19. 제16 항에 있어서,
    상기 보호를 생성하는 동작은, 순환 중복 검사(CRC) 데이터(218, 238)를 생성하는 동작을 포함하는,
    컴퓨터 판독 가능 매체.
  20. 제16 항에 있어서,
    상기 데이터는 전송 네트워크 엘리먼트(104)로부터 상기 수신 포트에서 수신되는,
    컴퓨터 판독 가능 매체.
KR1020200009922A 2019-01-30 2020-01-28 하나 이상의 투표자 엘리먼트들을 사용하여 데이터 사본들을 크로스 체크하는 장치 및 방법 KR20200095401A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/262,371 US10951544B2 (en) 2019-01-30 2019-01-30 Apparatus and method of crosschecking data copies using one or more voter elements
US16/262,371 2019-01-30

Publications (1)

Publication Number Publication Date
KR20200095401A true KR20200095401A (ko) 2020-08-10

Family

ID=69187659

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200009922A KR20200095401A (ko) 2019-01-30 2020-01-28 하나 이상의 투표자 엘리먼트들을 사용하여 데이터 사본들을 크로스 체크하는 장치 및 방법

Country Status (6)

Country Link
US (2) US10951544B2 (ko)
EP (1) EP3691211B1 (ko)
JP (1) JP7469885B2 (ko)
KR (1) KR20200095401A (ko)
CN (1) CN111510397A (ko)
TW (1) TWI809245B (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022095257A (ja) * 2020-12-16 2022-06-28 キオクシア株式会社 メモリシステム
US12001822B2 (en) * 2021-02-01 2024-06-04 Capital One Services, Llc Multi-signature validation of deployment artifacts

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5689689A (en) * 1992-12-17 1997-11-18 Tandem Computers Incorporated Clock circuits for synchronized processor systems having clock generator circuit with a voltage control oscillator producing a clock signal synchronous with a master clock signal
US6157638A (en) 1998-03-23 2000-12-05 Motorola, Inc. High density packet switch with high speed interfaces and method for using same
ATE343886T1 (de) * 1999-03-17 2006-11-15 Broadcom Corp Netzwerkvermittlung
US20020085589A1 (en) * 2000-09-22 2002-07-04 Narad Networks, Inc. System and method for assigning network data packet header
ES2244557T3 (es) 2001-01-31 2005-12-16 Teldix Gmbh Central de conmutacion modular y escalable y metodo para la distribucion de tramas de datos en una red ethernet rapida.
JP3709795B2 (ja) 2001-02-05 2005-10-26 日本電気株式会社 コンピュータシステムと、コンピュータシステム内のモジュール間の通信方法
US20020141411A1 (en) 2001-04-03 2002-10-03 Jong-Hwan Oh Apparatus for line-concentrating and distributing PPP frame data
US7123581B2 (en) 2001-10-09 2006-10-17 Tellabs Operations, Inc. Method and apparatus to switch data flows using parallel switch fabrics
US7590885B2 (en) * 2005-04-26 2009-09-15 Hewlett-Packard Development Company, L.P. Method and system of copying memory from a source processor to a target processor by duplicating memory writes
US7464203B2 (en) * 2005-07-29 2008-12-09 Gm Global Technology Operations, Inc. Method of validating plurality of data during serial communication using a dual path across a single serial link
US7719982B2 (en) 2005-08-31 2010-05-18 Intel Corporation Switching device utilizing flow-control management
US7706103B2 (en) * 2006-07-25 2010-04-27 Seagate Technology Llc Electric field assisted writing using a multiferroic recording media
US7889686B1 (en) * 2006-11-21 2011-02-15 Picomobile Networks, Inc. Seamless switching of media streams between different networks
JP5251457B2 (ja) 2008-11-27 2013-07-31 富士通株式会社 データ伝送装置
CN102812431A (zh) * 2010-03-22 2012-12-05 Lrdc系统有限公司 用于识别与保护一组源数据的完整性的方法
US9400722B2 (en) 2011-11-15 2016-07-26 Ge Aviation Systems Llc Method of providing high integrity processing
US20130208630A1 (en) * 2012-02-15 2013-08-15 Ge Aviation Systems Llc Avionics full-duplex switched ethernet network
US9430412B2 (en) * 2013-06-26 2016-08-30 Cnex Labs, Inc. NVM express controller for remote access of memory and I/O over Ethernet-type networks
GB201315397D0 (en) * 2013-08-29 2013-10-16 Quixant Plc Memory controller and memory access method
JP6188867B2 (ja) * 2015-06-12 2017-08-30 株式会社日立製作所 パケットを復元するための方法及びシステム
US10331373B2 (en) * 2015-11-05 2019-06-25 International Business Machines Corporation Migration of memory move instruction sequences between hardware threads
US10067713B2 (en) * 2015-11-05 2018-09-04 International Business Machines Corporation Efficient enforcement of barriers with respect to memory move sequences
US10498654B2 (en) * 2015-12-28 2019-12-03 Amazon Technologies, Inc. Multi-path transport design
US10496484B2 (en) * 2016-08-05 2019-12-03 Sandisk Technologies Llc Methods and apparatus for error detection for data storage devices
US10333652B2 (en) * 2016-09-16 2019-06-25 International Business Machines Corporation Redundancy in converged networks
US10599524B2 (en) * 2017-04-28 2020-03-24 Veritas Technologies Llc Backup performance after backup failure
US10901862B2 (en) * 2018-11-13 2021-01-26 Micron Technology, Inc. High-reliability non-volatile memory using a voting mechanism

Also Published As

Publication number Publication date
EP3691211B1 (en) 2023-04-26
TW202040975A (zh) 2020-11-01
JP7469885B2 (ja) 2024-04-17
EP3691211A1 (en) 2020-08-05
US10951544B2 (en) 2021-03-16
JP2020145670A (ja) 2020-09-10
US20210297369A1 (en) 2021-09-23
US20200244596A1 (en) 2020-07-30
US11729115B2 (en) 2023-08-15
TWI809245B (zh) 2023-07-21
CN111510397A (zh) 2020-08-07

Similar Documents

Publication Publication Date Title
US11522698B2 (en) Method and system for byzantine fault-tolerance replicating of data
Nawab et al. Blockplane: A global-scale byzantizing middleware
US11729115B2 (en) Apparatus and method of crosschecking data copies using one or more voter elements
JP6167170B2 (ja) 同期の信頼性のあるスイッチングのための方法及びスイッチングユニット
JP5593530B2 (ja) フォールトトレラントなタイムトリガ方式のリアルタイム通信のための方法および装置
CN105373441B (zh) 用于互连电路的传输控制检查
US7809863B2 (en) Monitor processor authentication key for critical data
CN109194493B (zh) 一种信息管理系统、方法及装置
CN111679978B (zh) 一种程序测试方法、程序测试装置、电子设备及存储介质
US10691080B2 (en) Computerised system
US20170091011A1 (en) Method and device for generating an output data stream
JP5322433B2 (ja) 処理システムにおけるデータ処理中のエラー検知方法および制御システム
CN112953897A (zh) 一种基于云计算设备的列控系统边缘安全节点的实现方法
US8365024B2 (en) High integrity data bus fault detection using multiple signal components
KR102507198B1 (ko) 분산 소프트웨어 정의 네트워크에서 비잔틴 장애 극복 방법
SCHREIBVOGL Fault tolerant networks and their application in practice
Duan Building reliable and practical byzantine fault tolerance
AU2023203403B1 (en) Attack and Fault tolerant IoT network
WO2024113016A1 (en) Attack and fault tolerant iot network
Inayat et al. A performance study on the signal-on-fail approach to imposing total order in the streets of byzantium
JP2018072967A (ja) 制御システム
CN118118126A (zh) 数据处理方法、装置及电子设备
CN111858166A (zh) 可纠错快速拟态裁决方法、裁决器、架构及介质
Baldoni et al. A methodology to design arbitrary failure detectors for distributed protocols
TW202034659A (zh) 通信監視裝置、通信監視方法及通信監視程式產品