KR20050074584A - 효과적인 타임아웃 메시지 관리를 위한 방법 및 장치 - Google Patents

효과적인 타임아웃 메시지 관리를 위한 방법 및 장치 Download PDF

Info

Publication number
KR20050074584A
KR20050074584A KR1020057008366A KR20057008366A KR20050074584A KR 20050074584 A KR20050074584 A KR 20050074584A KR 1020057008366 A KR1020057008366 A KR 1020057008366A KR 20057008366 A KR20057008366 A KR 20057008366A KR 20050074584 A KR20050074584 A KR 20050074584A
Authority
KR
South Korea
Prior art keywords
timeout
remote
value
portal
received
Prior art date
Application number
KR1020057008366A
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 KR20050074584A publication Critical patent/KR20050074584A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40091Bus bridging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Small-Scale Networks (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)

Abstract

직렬 버스 브리지형 네트워크에서의 TIMEOUT 메시지 관리에 대한 방법 및 시스템은, 저장된 원격 타임아웃 값이 유효한지를 결정하기 위해 타임아웃 요청 메시지를 수신할 때 포털에 의해 체크하는 것을 포함한다. 저장된 세트가 유효하면, 포털은 저장된 원격 타임아웃 값의 세트를 이용하여 소스 버스에 타임아웃 응답 메시지를 합성한다. 저장된 세트가 유효하지 않으면, 포털은 여러 동작을 취할 것이다. 일실시예에서, 포털은 원격 타임아웃 값의 수신된 세트를 일시적으로 저장하고, 송출된 타임아웃 요청 메시지에서 계산된 원격 타임아웃 값의 새로운 세트를 송출하고, 송출된 타임아웃 요청 메시지에 대응하는 타임아웃 응답 메시지를 가로채고, 유효 플래그가 갱신된 상태에서 나중 사용을 위해 가로챈 타임아웃 응답 메시지에 포함된 원격 타임아웃 응답 값의 세트에 기초하여 원격 타임아웃 값의 수정된 세트를 저장하고, 타임아웃 응답 메시지의 부분으로서 원격 타임아웃 응답 값의 수정된 세트를 소스 버스로 송출한다. 제 2 실시예에서, 포털은 변하지 않은 타임아웃 요청 메시지를 목적지 버스로 송출하고, 포털과 연관된 출구 포털은 타임아웃 응답 메시지의 수신시 원격 타임아웃 값의 세트를 갱신하고, 타임아웃 응답 메시지에서의 원격 타임아웃 응답 값의 갱신된 세트를 소스 버스로 송출함과 함께 가로챈 타임아웃 응답 메시지에 포함된 원격 타임아웃 응답 값의 세트에 기초하여 나중 사용을 위해 이들을 저장한다.

Description

효과적인 타임아웃 메시지 관리를 위한 방법 및 장치{METHOD AND APPARATUS FOR EFFICIENT TIMEOUT MESSAGE MANAGEMENT}
본 발명은 일반적으로 컴퓨터 네트워크에서 메시지를 관리하는 방법 및 장치에 관한 것으로, 더 구체적으로 고성능 직렬 버스를 상호-연결(inter-coupling)하기 위한 IEEE 1394 브리지 네트워크와 같은 컴퓨터 네트워크에서 TIMEOUT 메시지를 관리하는 방법 및 장치에 관한 것이다.
IEEE 1394 표준은 이용가능한 가장 다기능한 상호 연결 기술 중 하나를 갖는 고성능 직렬 버스를 설명한다. IEEE 1394 고속 직렬 버스는 100Mb/sec, 200Mb/sec, 또는 심지어 400Mb/sec의 전송 속도일 수 있다. 이들 전송 속도는 트위스티드-페어(twisted-pair) 배선을 통해 이용가능하고, 직렬 버스는 핫-플러그(hot-plug) 가능할 수 있다.
따라서, IEEE 1394 직렬 버스는, 캠코더로부터의 비디오 스트리밍, 자동차용 제어기, 및 MIDI 신호와 같은 디지털 오디오 신호를 포함하지만 여기에 한정되지 않는 많은 응용에 사용될 수 있다.
더욱이, IEEE 1394 표준은 컴퓨팅(computing), 통신, 및 오락 기능을 멀티미디어 애플리케이션에 통합하는데 사용되는 저가의 디지털 인터페이스용 국제 표준이다.
IEEE 1394 표준 버스의 중요한 특징은 특정 네트워크를 통해 통신을 위해 연쇄(daisy chaining) 및 분기를 지원하는 융통성있는 토폴로지(flexible topology)이다. IEEE 1394 네트워크에서, 직렬 버스 구조는 노드에 관해 정의된다. 노드는 독립적으로 리셋될 수 있고, 동일시할 수 있고 어드레싱할 수 있는 엔티티(entity)이다. 각 노드는 고유 어드레스를 갖는 논리 엔티티이고, 상기 어드레스는 식별 ROM 및 다중 제어 레지스터를 포함한다. 이들 제어 레지스터는 표준 세트이고, 서로 독립적으로 리셋될 수 있다.
IEEE 1394 네트워크는 기존의 메모리-매핑되고, 로딩되고 저장된 인터페이스인 비동기 전송을 제공한다. 비동기 전송 동작 동안, 데이터 요청은 특정 어드레스로 송신되고, 상기 어드레스를 갖는 엔티티는 긍정 응답(acknowledgement)을 복귀시킨다.
IEEE 1394 네트워크에서, 1,023개까지의 논리 버스와, 각 버스 상의 63개까지의 노드가 있을 수 있다. 비동기 패킷 송신기 및 수신기 모두 동일한 버스 상에 있다면, 트랜젝션(transaction) 타임아웃 값은 IEEE 초안 표준 1394-1995에 따라 얻어질 수 있다. 그러나, 송신기가 일정한 수신기와 다른 버스 상에 존재하면, 송신기는, 2개의 버스 사이의 원격 트랜젝션을 위한 특정한 파라미터(예를 들어, remote_timeout_seconds, remote_timeout_cycles, max_remote_payload 및 hop_count 값)를 얻기 위해 수신기에 연결되는 버스로 어드레싱된 TIMEOUT 요청 메시지를 송신한다. remote_timeout_seconds, remote_timeout_cycles, max_remote_payload 및 hop_count 값은 종종 집합적으로 원격 타임아웃 값 또는 파라미터로 지칭된다.
IEEE 1394.1 고성능 직렬 버스 브리지 버전 1.00에 대한 초안 표준에 따라, 소스 버스로부터 목적지 버스로의 경로 상의 각 브리지는 TIMEOUT 요청 메시지를 가로채고, 다음과 같이 각 필드를 갱신한다: TIMEOUT 요청 메시지는 라우트 상의 브리지에 의해 목적지 버스를 향해 송출될 것이다. TIMEOUT 요청 메시지를 가로채는 목적지 버스 상의 마지막 출구 포털(exit portal)은 또한 IEEE 1394-1995 표준에 따라 얻어진 국부적인 SPLIT_TIMEOUT 값을 메시지에서 원격 타임아웃 필드에 추가하고, 상기 계산 결과를 얻고 이 계산 결과를 메시지 송신기로 송신하는 TIMEOUT 응답 메시지를 합성한다.
IEEE 1394.1 초안 표준에 따라, TIMEOUT 요청 메시지를 목적지 버스로 송신하는 버스 상에 노드가 있을 때, 심지어 제 1 소스 버스 상의 다른 노드가 목적지 버스로의 원격 트랜젝션을 위해 원격 트랜젝션 타임아웃 값을 이미 얻었더라도, TIMEOUT 요청 메시지는, TIMEOUT 요청 메시지가 동일한 목적지 버스로 전달될 때마다 소스 버스로부터 목적지 버스로의 경로 상의 모든 브리지 포털(bridge portal)에 의해 송출되고 처리될 것이다.
따라서, 동일한 소스 버스 상의 다른 노드로부터 동일한 목적지 버스로의 후속적인 TIMEOUT 요청 메시지의 소스 버스와 목적지 버스 사이의 경로 상의 각 포털에 의한 처리가 과도하게 되어, 일정한 네트워크의 대역폭 리소스를 변형시킨다.
소스 버스 상의 다른 노드가 목적지 버스의 원격 트랜젝션 타임아웃 값을 이미 얻었기 때문에, 동일한 원격 트랜젝션 타임아웃 값을 필요로 하는 노드는 이전에 수신한 값을 갖는 동일한 버스 상의 노드로부터 이들 값을 얻을 수 있어야 한다. 다시 경로 상의 동일한 브리지 포털에 대한 트랜젝션 진행의 중복은, TIMEOUT 요청 메시지를 송신하고 대응하는 응답을 대기해야 하는 다른 노드에 대해 불필요한 트랜젝션을 요구함으로써 정체를 초래한다.
초안 표준 IEEE P1394.1 초안 1.0에 따라, TIMEOUT 메시지는, TIMEOUT 요청 메시지가 개시될 때마다 타임아웃 값을 누적하기 위해 소스 버스로부터 목적지 버스로의 방향을 따라 각 브리지에 의해 처리되어야 한다.
도 1은 본 발명의 다양한 양상이 적용가능한 일련의 브리지 포털에 의해 직렬로 링크된 소스 및 목적지 버스의 예시적인 실시예를 도시하는 도면.
도 2는 본 발명의 다른 양상에 따라 다양한 플래그 및 타임아웃 값을 저장하기 위한 레지스터 테이블의 예시적인 실시예의 개략도.
도 3은 본 발명의 또 다른 양상에 따라 TIMEOUT 응답 메시지를 가로채고 원격 타임아웃 값을 저장하기 위한 방법의 예시적인 실시예를 도시한 흐름도.
도 4는 본 발명의 또 다른 양상에 따라 TIMEOUT 요청 메시지를 가로채고, TIMEOUT 응답 메시지를 합성하여 송신하기 위한 방법의 다른 예시적인 실시예를 도시한 흐름도.
도 5는 브리지형 네트워크에서 타임아웃 메시지를 효과적으로 통신하기 위한 방법의 다른 예시적인 실시예를 도시한 흐름도.
도 6은 브리지형 네트워크에서 타임아웃 메시지를 효과적으로 통신하기 위한 방법의 다른 예시적인 실시예를 도시한 흐름도.
그러므로, 본 발명은 성능의 손실 없이 이들 TIMEOUT 메시지를 효과적으로 관리하는 방법 및 장치를 개발하는 문제에 관한 것이다.
본 발명은, TIMEOUT 메시지가 처음에 브리지를 통과할 때 원격 타임아웃 정보를 저장하고, 연속적인 TIMEOUT 요청 메시지에 대한 TIMEOUT 응답 메시지를 합성하도록 저장된 정보를 이용함으로써 이들 및 다른 문제를 해결하여, TIMEOUT 요청 메시지를 추가로 송출하고 메시지 트래픽을 감소시키며 네트워크의 효율을 증가시킬 필요성을 없앤다.
본 발명의 하나의 양상에 따라, 적어도 하나의 브리지에 의해 함께 결합된 복수의 버스 상에 위치한 복수의 노드를 갖는 네트워크에서 통신하는 방법은, 타임아웃 요청 메시지를 수신할 때 포털에 의해, 저장된 원격 타임아웃 값의 세트가 유효한지를 결정하기 위해 플래그(flag)를 체크하는 단계를 포함한다. 저장된 세트가 유효하면, 포털은 저장된 원격 타임아웃 값의 세트를 이용하여 소스 버스로의 타임아웃 응답 메시지를 합성한다.
본 발명의 다른 양상에 따라, 저장된 세트가 유효하지 않으면, 포털은 다양한 동작을 취할 것이다. 하나의 예시적인 실시예에서, 포털은 원격 타임아웃 값의 수신된 세트를 일시적으로 저장하고; 송출된 타임아웃 요청 메시지에서 계산된 원격 타임아웃 값의 새로운 세트를 송출하고; 송출된 타임아웃 요청 메시지에 대응하는 타임아웃 응답 메시지를 가로채고; 갱신된 유효 플래그와 함께 나중에 사용하기 위해 가로챈 타임아웃 응답 메시지에 포함된 원격 타임아웃 응답 값의 세트에 기초하여 원격 타임아웃 값의 개정된 세트를 저장하고; 타임아웃 응답 메시지의 부분으로서 원격 타임아웃 응답 값의 개정된 세트를 소스 버스로 송출할 것이다.
제 2 예시적인 실시예에서, 포털은 변하지 않은 타임아웃 요청 메시지를 목적지 버스로 송출할 것이고, 포털과 연관된 다른 포털은 타임아웃 응답 메시지의 수신시, 원격 타임아웃 값의 세트를 갱신하고, 타임아웃 응답 메시지에서의 원격 타임아웃 응답 값의 갱신된 세트를 소스 버스로 송출하는 것과 함께, 가로챈 타임아웃 응답 메시지에 포함된 원격 타임아웃 응답 값의 세트에 기초하여 나중에 사용하기 위해 원격 타임아웃 응답 값의 갱신된 세트를 저장할 것이다.
"하나의 실시예" 또는 "일실시예"에 대한 본 명세서에서의 임의의 참조가, 실시예와 연관되어 설명된 특정한 특징, 구조, 또는 특성이 본 발명의 적어도 하나의 실시예에 포함된다는 것을 의미한다는 것을 주의할 가치가 있다. 명세서에서의 여러 부분에서 "일실시예에서"라는 단어가 나타나는 것은 동일한 실시예에 모두 언급될 필요가 없다.
동일한 발명자에 의한 관련 특허 출원에서, 효과적인 TIMEOUT 메시지 관리를 제공하는 방법 및 장치가 본 명세서에 개시된다. 본 명세서에 개시된 본 방법에 따라, 소스 버스 상의 엔트리 포털은 특정한 목적지 버스에 대한 초기 TIMEOUT 응답 메시지를 가로채고, 그 타임아웃 값을 저장한다. 동일한 목적지 버스에 대한 연속적인 TIMEOUT 요청 메시지에 대해, 소스 버스(또는 중간 버스) 상의 엔트리 포털은, TIMEOUT 요청 메시지를 목적지 버스쪽으로 추가로 송출하지 않고도 저장된 원격 타임아웃 값을 이용하여 대응하는 TIMEOUT 응답 메시지를 합성하여, 이에 따라 네트워크 상의 트래픽을 감소시킨다. 그러나, TIMEOUT 값을 소스 버스 상의 엔트리 포털에 저장함으로써, 소스 버스 상의 브리지만이 미래 사용을 위해 이러한 타임아웃 값에 액세스할 수 있다.
효과적인 TIMEOUT 메시지 관리를 위한 전술한 방법은 다음 단계를 포함한다:
(a) 포털에서 레지스터 테이블을 구현하는 단계로서, 상기 테이블은 각 원격 타임아웃 값을 포털의 로컬 버스로부터 동일한 네트에서의 특정한 목적지 버스에 저장하기 위한 엔트리를 포함하고, 여기서 레지스터 테이블의 N번째 엔트리는 N의 버스 ID에 대응하는, 레지스터 테이블 구현 단계와;
(b) TIMEOUT 응답 메시지가 포털의 로컬 버스에 어드레스 지정되는 경우, 출구 포털에 의한 특정한-어드레스 지정된 노드로 가는 도중에 TIMEOUT 응답 메시지를 가로채는 단계로서, 상기 TIMEOUT 응답 메시지는 원격 타임아웃 값을 포함하는, 가로채는 단계와;
(c) 단계(a)에서 구현된 레지스터 테이블에서의 대응하는 엔트리에서 단계(b)에서 가로챈 TIMEOUT 응답 메시지에 포함된 원격 타임아웃 값을 저장하는 단계와;
(d) 단계(b)에서 가로챈 TIMEOUT 응답 메시지를 특정한-어드레스 지정된 노드로 송출하는 단계와;
(e) 포털의 로컬 버스로부터 가로챈 TIMEOUT 요청 메시지가 어드레스 지정되는 목적지 버스로의 원격 타임아웃 값이 단계(a)에서 기술된 레지스터 테이블에서 단계(c)에 의해 이전에 저장된 경우에, 초기 레지스터로부터 TIMEOUT 요청 메시지를 포털에 의해 가로채는 단계와;
(f) 포털의 로컬 버스로부터, 단계(e)로부터의 가로챈 TIMEOUT 요청이 이후 단계, 즉
(ⅰ) 단계(e)에서 식별된 TIMEOUT 요청 메시지의 초기 요청자가 포털의 로컬 버스 상에 있는 경우, 레지스터 테이블로부터 원격 타임아웃 값을 검색하는 단계와;
(ⅱ) 단계(e)에서 식별된 TIMEOUT 요청 메시지의 초기 요청자가 포털의 로컬 버스 상에 없는 경우에 레지스터 테이블로부터 검색된 원격 타임아웃 값을 계산하는 단계로서, 여기서 max_remote_payload 값은, (1) 단계(b)에서 가로챈 TIMEOUT 응답 메시지, 또는 (2) 대응하는 레지스터 테이블 엔트리 중 어느 하나에서 max_remote payload 값 중 더 작은 값이고, 가로챈 TIMEOUT 요청 메시지에서의 원격 타임아웃 초(second), 원격 타임아웃 주기 및 호프(hop) 카운트 값은 각각 목적지 버스에 대응하는 레지스터 테이블 엔트리에 추가되는, 원격 타임아웃 값을 계산하는 단계
중 하나에 의해 어드레스 지정되는 목적지 버스로의 원격 트랜젝션에 대한 원격 타임아웃 값을 갖는 대응하는 TIMEOUT 응답 메시지를 포털에 의해 합성하는 단계와;
(g) 단계(f)에서 합성된 TIMEOUT 응답 메시지를 단계(e)에서 가로챈 TIMEOUT 요청 메시지의 초기 요청자로 송신하는 단계를 포함한다.
단계(a)에 관해, 예시적인 실시예에서, 레지스터 테이블은 적어도 1023개의 엔트리를 포함한다. 그러나, 엔트리의 개수는, 실시예가 1394와 다른 직렬 버스에서, 또는 다른 설계 요구조건에 따라 사용되는 경우 상이할 수 있다.
단계(e)에 관해, 포털은 가로챈 TIMEOUT 요청 메시지를 목적지 버스로 송출하지 않을 것이고, 이것은 IEEE P1394.1 초안 표준에 따른 것과 다른 절차이다.
단계(f)-(ⅱ)에 관해, 가로챈 TIMEOUT 요청 메시지에서remote_timeout_seconds, remote_timeout_cycles 및 hop_count 값은 각각 목적지 버스 ID에 대응하는 테이블 레지스터 엔트리에서의 값에 추가된다. max_remote_payload 값은, 가로챈 TIMEOUT 요청 메시지에서의 값과 목적지 버스 ID에 대응하는 테이블 레지스터 엔트리에 저장된 값 사이에서 더 작은 값으로 설정된다.
단계(a)에서 기술된 레지스터 테이블은 포털의 랜덤 액세스 메모리(RAM)를 포함할 수 있다.
소스 및 목적지 버스는 하나 이상의 브리지를 통해 직렬 경로에 연결될 수 있다. 버스는 1394-브리지형 네트워크일 수 있는 브리지형 네트워크의 부분을 포함할 수 있다.
도 1을 참조하면, 제 1 즉 소스 버스(100), 제 2 버스(110), 및 제 3 즉 목적지 버스(120)를 포함하는 IEEE 1394 직렬 버스 네트의 일례가 도 1에 도시되며; 제 1 버스(100) 및 제 2 버스(110)는 브리지(130)에 의해 연결되고, 제 2 버스(110) 및 제 3 버스(120)는 브리지(140)에 의해 연결된다.
브리지(130)는 포털(131 및 132)을 포함하고, 브리지(140)는 포털(141 및 142)을 포함한다. 노드(150)는 TIMEOUT 요청 메시지 송신기로서 제 1 버스(100) 상에 존재하고, 노드(160)는 TIMEOUT 요청 메시지 어드레스 지정된 노드의 목적지로서 제 3 버스(120) 상에 존재한다. 그렇지만, 본 발명이 적용되는 네트워크 구성은 이러한 예에만 한정되어서는 안 된다.
먼저, 노드(150)는, 소스 버스(100)로부터 목적지 버스(120)로의 원격 타임아웃 값을 얻을 때 TIMEOUT 요청 메시지를 노드(160)로 송신한다. 이러한 TIMEOUT 요청 메시지는 노드(140) 또는 목적지 버스(120) 중 어느 하나에 어드레스 지정될 수 있다.
TIMEOUT 요청 메시지는 IEEE 1394.1 브리지 초안 표준에 따라 처리될 것이고, 목적지 버스(120) 상에서 마지막 출구 포털(142)로 송출된다.
이러한 예시적인 방법에 따라, TIMEOUT 요청 메시지의 수신시, 마지막 출구 포털(142)은 P1394.1 작업 초안(working draft)(그 내용은 본 명세서에 그대로 반복된 것처럼 본 명세서에 배경 자료로서 참고용으로 병합되어 있다)에 따라 원격 타임아웃 값을 계산할 것이고, 계산된 원격 타임아웃 정보를 갖는 TIMEOUT 응답 메시지를 버스(100) 상의 본래 TIMEOUT 요청 메시지 송신기(150)로 송신할 것이다.
더욱이, 버스(110)는 또한 다음 설명을 위해 도시되는 노드(155)를 갖는다. 노드(155)가 TIMEOUT 요청 메시지를 버스(120)쪽으로 송신할 때, TIMEOUT 요청 메시지는 포털(142)로 송출되는 반면, 원격 타임아웃 값은 IEEE 1394.1 초안 표준에 따라 계산된다.
후속적으로, 포털(142)은 원격 타임아웃 값을 갖는 TIMEOUT 응답 메시지를 버스(110) 상의 본래 TIMEOUT 메시지 요청기(155)로 송신한다. 포털(141)은 포털(142)에 의해 송신된 TIMEOUT 응답 메시지를 가로채는데, 그 이유는 포털 141의 로컬 버스{즉, 버스(110)}에 어드레스 지정되고, TIMEOUT 응답 메시지에서 버스(110)로부터 버스(120)로의 원격 트랜젝션에 대한 원격 타임아웃 값을 목적지 버스(120)에 대응하는 레지스터 테이블 엔트리에 저장하기 때문에다. 그러므로, 노드(150, 151), 또는 버스(100) 상의 포털(131)이 TIMEOUT 요청 메시지를 버스(120)로 송신할 때, 포털(141)은 본 발명의 하나의 양상에 따라 TIMEOUT 요청 메시지를 가로채고, 계산된 원격 타임아웃 값과 TIMEOUT 응답 메시지를 합성한다.
소스 버스(100) 상의 포털(131)은, 로컬 버스(100)에 어드레스 지정되는 경우 TIMEOUT 응답 메시지를 가로챌 것이고, 목적지 버스(120)의 버스 ID에 대응하는 내부 레지스터 테이블(133)(도 2에 구체적으로 도시됨)의 엔트리에 TIMEOUT 응답 메시지에서 발견된 원격 타임아웃 값을 저장한다.
제 1 엔트리 포털은 IEEE 1394.1 브리지 초안 표준에서 설명된 바와 같이 TIMEOUT 응답 메시지를 로컬 버스 상의 본래 요청기로 송출하고, 그 내용은 본 명세서에 그대로 반복된 것처럼 배경 자료로서 참고용으로 본 명세서에 병합되어 있다.
레지스터 테이블(133)에 저장된, 소스 버스(100)로부터 목적지 버스(120)로의 원격 타임아웃 값은, 소스 버스(100)의 소스 버스 ID, 또는 목적지 버스(120)의 목적지 버스 ID가 P1394.1 작업 초안에 언급된 순 경신 상태에 관해 유효하지 않거나 소거될 때까지 유효할 것이다.
따라서, 상기 절차는 TIMEOUT 응답 메시지를 가로채고 레지스터 테이블에 메시지에서 발견된 타임아웃 응답 메시지를 저장하는데 사용될 수 있다. 다음으로, TIMEOUT 요청 메시지를 가로채고 합성된 TIMEOUT 응답 메시지를 제공하는 절차는 아래에 설명된다.
후속적으로, 버스(100) 상의 포털(131)이 동일한 소스 버스(100) 상의 다른 노드(151){또는 아마 노드(150)}에 의해 개시된 TIMEOUT 요청 메시지를 수신할 때, 제 1 엔트리 포털(131)은 원격 타임아웃 값을 포함하는 TIMEOUT 응답 메시지를 합성하는데, 상기 원격 타임아웃 값은 목적지 버스(120)에 대응하는 내부 레지스터 테이블(133)의 엔트리로부터 검색될 수 있으며, 그 이유는 소스 버스(100)로부터 목적지 버스(120)로의 유효 원격 타임아웃 값이 위에서 설명되는 바와 같이 엔트리 포털(131)에 의해 레지스터 테이블에 저장되었기 때문이다.
후속적으로, 버스(100) 상의 제 1 엔트리 포털(131)은 TIMEOUT 요청 메시지를 목적지 버스(120)로 송출하는 것 대신에, 이러한 합성된 TIMEOUT 응답 메시지를 TIMEOUT 요청 메시지 요청기(151)로 송신한다.
따라서, 소스 버스(100) 상의 제 1 엔트리 포털(131)은, 엔트리 포털(131)의 레지스터 테이블이 로컬 버스(100)로부터의 목적지 버스(120)로의 원격 트랜젝션에 대한 원하는 원격 타임아웃 값을 내부 레지스터 테이블(133)에 저장한 경우, TIMEOUT 응답 메시지를 합성할 수 있다.
도 2를 참조하면, 타임아웃 값을 포털의 로컬 버스로부터 각 특정 버스로 저장하기 위한 레지스터 테이블의 예시적인 실시예가 도시된다. 레지스터 테이블이 1023개의 가능한 버스에 대해 1023 엔트리로 구성될 수 있지만, 테이블 엔트리의 수는 1023에 한정되지 않고, 다를 수 있다. 일반적으로, 레지스터 테이블은 각 가능한 버스에 대해 하나 이상의 엔트리를 포함한다.
각 테이블 엔트리는 다중 필드를 포함한다. 이 경우에, 도시된 필드는, remote_timeout_seconds, remote timeout cycles, max_remote_payload, 및 hop_count이고, 이것은 IEEE 1394.1 브리지 초안 표준에 정의된 바와 같이 TIMEOUT 메시지에 규정된 것과 동일하다. 다른 필드가 포함될 수 있다. 도 2는 다른 가능한 엔트리에 대해 예약된 적어도 하나의 추가 필드를 도시한다. 포털의 로컬 버스로부터 특정 목적지 버스로의 측정된 각 타임아웃 값은 특정 목적지 버스에 대응하는 테이블 엔트리의 동일한 필드에 저장된다. 이것은 레지스터 테이블(133)은 종래 기술에 알려진 RAM 또는 임의의 다른 유형의 저장부로 구성될 수 있다.
즉, 이 실시예에서, 포털이, 포털 로컬 버스에 어드레스 지정된 TIMEOUT 응답 메시지를 송출하고 로컬 버스 및 특정한 원격 목적지 버스 사이의 트랜젝션에 대한 원격 타임아웃 값을 포함하는 마지막 출구 포털인 경우, TIMEOUT 응답 메시지는, 이전에 기재된 단계(b) 및 단계(c)에 의해 TIMEOUT 응답 메시지를 가로채는 것과, TIMEOUT 응답 메시지에서의 원격 타임아웃 값을 특정 원격 목적지 버스에 대응하는 내부 레지스터 테이블의 엔트리에 저장하는 것을 제외하고, IEEE 1394.1 브리지 초안 표준에 따라 처리된다.
더욱이, 소스 버스(100)와 목적지 버스(120) 사이의 원격 타임아웃 값의 저장에 후속하여, 상기 실시예 방법은, 이후에 제 1 엔트리 포털(131)의 레지스터 테이블(133)에 이전에 저장된 타임아웃 값으로부터 검색된 원격 타임아웃 값을 포함하는 TIMEOUT 응답 메시지를 합성함으로써 로컬 버스(100)로부터 동일한 원격 버스(120)으로의 원격 타임아웃 값을 필요로 하는 동일한 버스(100) 상의 브리지 포털(131)을 포함하는, 노드(151) 및/또는 가능하면 동일한 노드(150)와 같이 포털과 동일한 버스 상의 다른 노드가 연결될 때 이용된다. TIMEOUT 응답 메시지의 합성 및 TIMEOUT 요청 메시지 송신기에 대한 직접적인 응답은 버스(100)와 버스(120) 사이의 정체를 크게 감소시키고, 원격 타임아웃 값의 획득을 가속시키는데, 그 이유는 제 2 요청 노드(151)가 IEEE 1394.1 브리지 초안 표준에 따른 종래 방법에 의해 이루어진 것보다 제 1 엔트리 포털(131)로부터 직접 훨씬 더 빠르게 로컬 버스로부터 목적지 버스(120)로의 원격 타임아웃 값을 수신하기 때문이다.
도 1에 도시된 네트워크 구성의 예시는 단지 예에 불과하고 한정을 위한 것이 아니고, 임의의 수의 버스가 직렬로 연결될 때 네트워크 구성이 예시에 한정되지 않는다는 것을 당업자는 이해해야 한다. 본 발명이 1394 구성에 적용될 때, 네트워크 구성이 IEEE P1394.1 초안 표준에 따라 허용되는 한 네트워크 구성이 변경될 수 있는 것이 이해된다. 예를 들어, 소스 버스 및/또는 목적지 버스는 더 많은 브리지 포털에 연결될 수 있고 및/또는 소스 버스와 목적지 버스 사이에 더 많은 중간 버스가 있을 수 있다.
상기 실시예는, 단계(b) 및 단계(c)에 의해 중간 버스(110) 상의 포털(141)이 중간 버스(110)로부터 특정 목적지 버스(120)로의 원격 타임아웃 값을 목적지 버스(120)에 대응하는 내부 레지스터 테이블 엔트리(143)에 이미 저장한 경우에 또한 적용될 수 있다. 합성 메시지는 가로챈 메시지의 더 낮은 max_remote payload 값 및 대응하는 레지스터 테이블 엔트리를 포함할 수 있다.
예를 들어, 이러한 트랜젝션에 대한 소스 버스로서 버스(110) 상의 노드(155)는 TIMEOUT 요청 메시지를 목적지 버스(120)로 송신할 수 있다. 상기 실시예에 따라, 소스 버스(110) 상의 포털(141)은 목적지 버스 상의 포털(142)에 의해 송신된 대응하는 TIMEOUT 응답 메시지를 가로채고, 소스 버스(110)로부터 목적지 버스(120)로의 원격 타임아웃 값을 목적지 버스(120)의 버스 ID에 대응하는 내부 레지스터 테이블 엔트리(143)에 저장한다.
도 4의 단계(425(ⅱ))에 설명된 바와 같이, 버스(110) 상의 포털(141)이 소스 버스(100)로부터 목적지 버스(120)로의 원격 트랜젝션 타임아웃 값에 대해 소스 버스(100) 상의 노드에 의해 송출된 TIMEOUT 요청 메시지를 수신할 때, 중간 버스(110) 상의 포털(141)은 TIMEOUT 요청 메시지를 가로채고 응답을 합성할 것이다.
이러한 프로세스는 소스 버스(100) 상의 노드에 의해 TIMEOUT 요청에 대한 회송(turnaround) 시간을 상당히 단축시키는데, 그 이유는 중간 버스 상의 포털(141)이 저장된 타임아웃 값을 검색하고, TIMEOUT 요청 및 TIMEOUT 응답이 소스 버스(100)의 노드와 목적지 버스(120) 사이에서 교환된 경우보다 상당히 더 빨리 총 타임아웃 값을 계산하기 때문이다.
이러한 방법은 다른 노드를 서비스하고 네트워크의 전체 트랜젝션 시간을 감소시키기 위해 직렬 버스 리소스를 또한 제거(free up)한다.
도 3은, TIMEOUT 응답 메시지를 가로채고 원격 타임아웃 값을 내부 레지스터 테이블에 저장하는 것에 관해 본 발명의 하나의 양상에 따른 상기 방법 단계의 개요를 제공한다.
단계(310)에서, 포털 로컬 버스에 어드레스 지정된 TIMEOUT 응답 메시지를 가로챈다.
단계(320)에서, 단계(310)에서 가로챈 TIMEOUT 응답 메시지에서의 원격 타임아웃 값은 목적지 버스 ID에 대응하는 레지스터 테이블에 저장된다.
단계(330)에서, 가로챈 TIMEOUT 응답 메시지는 본래 어드레스 지정된 노드로 송출된다.
따라서, 단계(310 내지 330)는 직렬 버스의 프로토콜 효율을 향상시키기 위해 후속 요청에서의 검색을 위해 원격 타임아웃 값의 저장을 허용한다.
도 4는 TIMEOUT 요청 메시지를 가로채고 대응하는 TIMEOUT 응답 메시지를 원격 타임아웃 값과 합성하기 위한 절차에 대한 설명을 제공한다.
단계(410)에서, 포털의 로컬 버스로부터 TIMEOUT 요청 메시지가 어드레스 지정되는 목적지 버스로의 원격 트랜젝션 타임아웃 값이 레지스터 테이블에 이전에 저장되어 있는 TIMEOUT 요청 메시지가 수신되는 경우, 단계(415)는 다음으로 진행할 것이고, 수신되지 않는 경우, 프로세스는 시작으로 되돌아가고, 단계(410)는 수행할 다음 단계일 것이다.
단계(415)에서, 수신된 TIMEOUT 요청 메시지는 포털에 의해 가로챌 것이다. 단계(420)는 다음에 수행될 것이다.
단계(420)에서, 가로챈 TIMEOUT 요청 메시지의 소스 버스 ID가 포털의 로컬 버스 ID와 동일한 지가 결정된다. 단계(420)가 긍정적으로 대답되면, 단계(420(I))는 다음에 수행된다. 다른 점에서, 단계(420)가 부정적으로 대답되면, 단계(425(ⅱ))는 다음에 수행된다. 이들 2가지 단계는, 요청기가 로컬 버스 또는 원격 소스 버스로부터 노드일 수 있는 어느 한 시나리오를 커버한다.
단계(425(I))에서, 목적지 버스로 향하는 포털의 로컬 버스에 대한 원격 타임아웃 값을 갖는 대응하는 TIMEOUT 응답은 목적지 버스에 대응하는 레지스터 테이블 엔트리로부터 검색된다.
대안적으로, 단계(425(ⅱ))가 수행될 때, 대응하는 TIMEOUT 응답 메시지가 합성되고, 여기서 타임아웃 값은 다음 절차에 의해 계산된다: 가로챈 TIMEOUT 요청 메시지에서 remote_timeout_seconds, remote_timeout_cycles and the hop_count 값은 각각 목적지 버스 ID에 대응하는 테이블 레지스터 엔트리에서의 값에 추가된다. max_remote_playload 값은, 가로챈 TIMEOUT 요청 메시지에서의 값과 목적지 버스 ID에 대응하는 테이블 레지스터 엔트리에 저장된 값 사이에 더 작은 값으로 설정된다.
단계(430)에서, 합성된 TIMEOUT 응답 메시지는 가로챈 TIMEOUT 요청 메시지의 소스 ID에 의해 식별된 본래 요청기로 송신된다.
본 발명의 다른 양상에 따라, 소스 버스와 목적지 버스 사이에 있는 모든 브리지는 로컬 버스로부터 목적지 버스로 타임아웃 값을 한번에 저장한다. 예를 들어, 소스 버스와 목적지 버스 사이에 10개의 브리지가 있는 경우, 최대 10개의 브리지는 미래 이용을 위해 단일 TIMEOUT 메시지에 대한 적절한 타임아웃 값을 저장할 수 있다. 이것은 이들 TIMEOUT 메시지의 관리 효율을 크게 향상시킨다.
본 발명의 다른 양상에 따른 네트워크의 노드 사이에서 통신하는 또 다른 방법의 예시적인 실시예는 다음과 같이 진행한다. 명백함을 위해, 브리지(130)에서의 엔트리 포털(131), 소스 버스(100) 및 목적지 버스(120)에 관해 본 방법을 설명하고 있지만; 이러한 방법은 임의의 다른 포털, 소스 버스 또는 목적지 버스에도 적용될 수 있다. 더욱이, 네트워크에서의 브리지에서 하나 이상의 엔트리 포털은 이러한 방법을 수행할 수 있다.
(A1) 브리지(즉, 엔트리 포털 또는 출구 포털)(130)가 버스(120)와 같은 주어진 목적지 버스에 대해 TIMEOUT 요청 메시지를 수신할 때, 브리지는, 브리지의 로컬 버스{예를 들어, 엔트리 포털(131)의 로컬 버스(즉, 버스(110))}로부터 TIMEOUT 요청 메시지에서 식별된 목적지 버스(120)로의 원격 타임아웃 값의 세트(예를 들어, Tx=원격 타임아웃 초, Px=최대 원격 페이로드, Cx=호프 카운트)가 이미 알려져 있는지를 결정하기 위해 저장부를 체크한다{예를 들어, 엔트리 포털(131)은 엔트리 포털의 저장부(133)를 체크한다}. 이러한 정보는 도 1을 참조하여 설명된 바와 같이, 원격 타임아웃 값의 연관된 저장 세트가 유효한지의 여부를 나타내는 플래그, 예를 들어 TIMEOUT 요청 메시지에서 식별된 목적지 버스에 대한 valid_flag의 형태로 브리지에 액세스가능한 저장부에 저장될 수 있다. 도 2에서와 유사한 레지스트리 테이블은 각 포털에 포함되고, 단위 버스에 기초하여 유효-플래그와 함께 이들 원격 타임아웃 값을 저장한다. 예를 들어, 도 2에 도시된 바와 같이, 예약된 필드는 유효 플래그의 값을 저장하는데 사용될 수 있다.
이전에 결정된 것 외에, 아래에 설명되는 바와 같이, 주어진 포털이 이러한 원격 타임아웃 값의 세트를 알 수 있는 다른 방식이 있다. 예를 들어, 엔트리 포털의 공동-포털이 목적지 버스 상의 출구 포털이면, 엔트리 포털은 목적지 버스에 대해 원격 타임아웃 초, 최대 원격 페이로드, 및 호프 카운트 값을 인식한다. 이는, 공동-포털(142){즉, 공동 포털(141, 142)은 동일한 브리지(140) 상에 존재함}이 목적지 버스(120)에 대한 출구 포털(즉, 출구 포털은 목적지 버스에 결합된 포털이다)인 엔트리 포털(141)의 경우이다. 따라서, 엔트리 포털(141)은 목적지 버스(120)에 대해 원격 타임아웃 초 값, 최대 원격 페이로드 값 및 호프 카운트 값을 인식한다.
더욱이, 원격 타임아웃 초 값은 알려진 값, 예를 들어 remote_timeout=slit_timeoutco-portal+max_forwarding_timebridge으로부터 계산될 수 있으며, 여기서,
remote_timeout은 타임아웃 응답 메시지에 사용될 원격 타임아웃 초에 대한 값이고;
split_timeoutco-portal은 엔트리 포털의 공동-포털의 분할된 타임아웃 레지스터에 포함된 값이고;
max_forwarding_timebridge는 브리지로부터 목적지 버스로의 최대 송출 시간에 대한 엔트리 포털로 알려져 있는 값이다.
엔트리 포털(131)의 공동-포털{예를 들어, 포털(132)}의 split_timeout 레지스터 값은 알려진 방법으로, 예를 들어 네트워크 또는 브리지(130)의 개시 동안 엔트리 포털(131)에 이용가능하게 이루어진다.
유사하게, 브리지(130)에 대한 내부 최대 송출 시간(요청 및 응답 하위행위 모두에 대해)은 또한 엔트리 포털(131)에 이용가능하게 이루어진다. 이와 같이, 그 다음에 엔트리 포털(131)은 전술한 바와 같이 목적지 버스(120)에 대한 원격 타임아웃 초 값을 계산할 수 있다.
유사하게, 최대 원격 페이로드는 또한 유사한 방식으로 엔트리 포털(141)에 이용가능하게 이루어진다. 최대 원격 페이로드 값은 브리지, 예를 들어 브리지(140)를 통과할 수 있는 최대 페이로드 크기이다. 호프 카운트 값은, 엔트리 포털(141)의 공동-포털(142)이 목적지 버스{버스(120)}에 대한 출구 포털(142)일 때 항상 1이다. 이러한 값들의 세트는 "1"로 설정된 목적지 버스에 대한 valid_flag와 함께 엔트리 포털에 의해 사전-저장될 수 있어서, 이를 통해 이러한 값들의 세트가 지정된 목적지 버스에 대해 유효하다는 것을 나타낸다. 따라서, 레지스터 테이블은 다수의 목적지 버스에 대한 상기 엔트리를 포함하며, 상기 다수의 목적지 버스 중 몇몇은 유효하고, 몇몇은 저장된 경우 아직 유효하지 않다.
(A2) 원격 타임아웃 값의 세트가 이미 알려져 있는 경우(예를 들어, valid_flag는 "1'과 동일하게 설정된다), 브리지(130){예를 들어, 엔트리 포털(131)}는 알려진 값으로부터 원격 타임아웃 값의 세트를 결정하거나 정확히 저장된 값을 이용함으로써 TIMEOUT 응답 메시지를 합성한다. 그 다음에, TIMEOUT 응답 메시지는 소스 버스로 다시 송신된다.
원격 타임아웃 초 값은, 브리지의 로컬 버스{예를 들어, 엔트리 포털(131)의 로컬 버스(버스(100))}로부터 목적지 버스(120)로의 알려진 원격 타임아웃 초 값(Tx,N,M)을 TIMEOUT 요청 메시지에서의 원격 타임아웃 초 값(Tx,N)에 추가함으로써 결정된다. 즉,
Tx,N response =Tx,N request + Tx,N,M
여기서,
Tx,N,M는 M번째 포털로부터 N번째 버스{이 예에서 포털(131)로부터 버스(120)로}로의 원격 타임아웃 초의 값이며, 이 값은 M번째 포털에 알려져 있고;
Tx,N response는 타임아웃 응답 메시지에서 송신된 N번째 버스에 대한 원격 타임아웃 초의 값이고;
Tx,N request는 타임아웃 요청 메시지에서 수신된 N번째 버스에 대한 원격 타임아웃 초의 값이다.
브리지{예를 들어, 엔트리 포털(131)}는 로컬 버스{예를 들어, 엔트리 포털(131)의 로컬 버스(100)}로부터 목적지 버스(120)에 대한 알려진 최대 원격 페이로드 값((Px,M)을 요청 메시지에서 최대 원격 페이로드 값(Px,request)을 비교하고, 요청 메시지에서 최대 원격 페이로드 값(Px,response)으로서 2개의 값 중 더 작은 값을 이용한다. 즉,
Px response=min(Px request, Px,M)
여기서,
Px, response는 타임아웃 응답 메시지에 포함된 최대 원격 페이로드에 대한 값이고,
Px, request는 수신된 타임아웃 요청 메시지에 포함된 최대 원격 페이로드에 대한 값이고,
Px,M는 엔트리 포털의 로컬 버스로부터 목적지 버스로의 최대 원격 페이로드에 대한 엔트리 포털에 알려진 값이다.
브리지(130){예를 들어, 엔트리 포털(131)}은 로컬 버스{예를 들어, 엔트리 포털(131)의 로컬 버스(100)}로부터 목적지 버스(120)로의 알려진 호프 카운트 값(CM)을 요청 메시지에서 호프 카운트 값(Cx request)에 또한 더하고, 타임아웃 응답 메시지에서 호프 카운트 값으로서 그 합을 이용한다. 즉,
Cx, response=Cx, request+Cx,M
여기서,
Cx, response는 타임아웃 응답 메시지에 포함된 호프 카운트에 대한 값이고,
Cx, request는 수신된 타임아웃 요청 메시지에 포함된 호프 카운트에 대한 값이고,
Cx,M는 엔트리 포털의 로컬 버스로부터 목적지 버스로의 호프 카운트에 대한 엔트리 포털에 알려져 있는 값이다.
다른 경우에, 원격 타임아웃 값의 세트가 알려져 있지 않으면(예를 들어, valid_flag는 "1"로 설정되지 않거나, valid_flag는 "0"으로 설정됨), 브리지(130){예를 들어, 엔트리 포털(131)}은 아래의 단계(A3a 및 A3b)에서 설명된 절차를 수행할 것이다.
(A3a) 먼저, 브리지(130)는, 예를 들어 valid_flag가 소거된 상태에서 목적지 버스(120)를 위한 원격 타임아웃 값(예를 들어, T0, P0, C0)의 수신된 세트를 도 2의 테이블에 일시적으로 저장하는데, 여기서 T0는 remote_timeout 초 값이고, P0는 max_remote_payload 값이고, C0는 hop_count 값이다. 이러한 원격 타임아웃 값의 세트는 모두 수신된 TIMEOUT 요청 메시지에 포함된다.
(A3b) 다음으로, 브리지(130)는 새로운 원격 타임아웃 값의 세트를 계산한다. 이러한 계산된 타임아웃 값의 세트는 다음과 같이 계산된다.
일시적으로 저장된 원격 타임아웃 초 값(T0)은 계산된 값(Tx,M)에 의해 증가된다. 즉:
Tx request=T0+Tx,M
여기서,
Tx,M=Tx,M request + Tx,M response
따라서, 계산된 값(Tx,M)은, {엔트리 포털(131)로부터 다음 브리지(140)의 엔트리 포털(141)로} 요청 서브동작에 대한 최대 순방향 시간(Tx,M request)과, {엔트리 포털(131)의 공동-포털(즉, 포털(132))로부터(즉, 응답 서브동작에 대한 엔트리 포털)로부터 다음 브리지(140)의 엔트리 포털(141)(응답 서브동작의 견지로부터) 또는 요청자 노드(예를 들어, 노드(151))로} 응답 서브동작에 대한 최대 순방향 시간(Tx,M response)의 합이다.
최대 페이로드 값(Px request)는 Px로서 설정된다,
Px request=Px
여기서 Px는 엔트리 포털(131)로부터 다음 브리지(140)의 엔트리 포털(141)로 송출될 수 있는 최대 데이터 페이로드이다.
일시적으로 저장된 호프 카운트 값(C0)은 1만큼 증가한다. 즉,
Cx request=C0+1
여기서 Cx request는 출력 타임아웃 요청 메시지에서의 출력 호프 카운트 값이다.
그 다음에, 브리지(130)는 목적지 버스(120)에 지정된 TIMEOUT 요청 메시지의 부분으로서 원격 타임아웃 값의 새롭게 계산된 세트(예를 들어, Tx request, Px request, Cx request)를 목적지 버스(120)로 송출한다.
(A3c) 후속하여, 브리지(130){예를 들어, 엔트리 포털(131)}은 타임아웃 응답 값의 세트(예를 들어, Ty. Py. Cy)를 포함하는 대응하는 TIMEOUT 응답 메시지를 가로챈다. 이러한 대응한 TIMEOUT 응답 메시지는 단계(A3b)에서 송신된 TIMEOUT 요청 메시지에 대해 응답하는 TIMEOUT 응답 메시지이다. 그 다음에, 브리지{예를 들어, 엔트리 포털(131)}은 원격 타임아웃 값의 새로운 세트를 계산한다.
목적지 버스(120)에 대한 미래의 타임아웃 응답 메시지에 사용될 원격 타임아웃 초 값(Tx, M response)에 대해, 브리지(130){예를 들어, 엔트리 포털(131)}는 Tx, M response=Ty-T0을 계산하며, 여기서 Ty는 가로챈 타임아웃 응답 메시지에 수신된 원격 타임아웃 초 값이고, T0은 단계(A3a)에서 수신된 타임아웃 응답 초의 이전에 저장된 값이다.
목적지 버스(120)에 대한 미래의 타임아웃 응답 메시지에 사용될 최대 원격 페이로드 값(Px, M response)에 대해, 브리지{예를 들어, 엔트리 포털(131)}는 수신된 최대 페이로드 값(Py)을 이용하는데, 즉:
Px, M response=Py
목적지 버스(120)에 대한 미래의 타임아웃 응답 메시지에 사용될 호프 카운트 값(Cx, M response)에 대해, 브리지{예를 들어, 엔트리 포털(131)}는 이전에 저장된 호프 카운트 값(C0)과 수신된 호프 카운트 값(Cy) 사이의 차이를 계산하는데, 이것은:
Cx, M response=Cy-C0
그 다음에, 엔트리 포털은 유효 플래그가 설정된 상태에서 미래 사용을 위해 원격 타임아웃 값의 새롭게 계산된 세트(즉, Tx, M response, Px, M response, Cx, M response)를 저장하고, 원격 타임아웃 값의 새로운 세트(Ty, min(Py, P0),Cy)를 타임아웃 응답 메시지의 부분으로서 소스 버스로 송출하고, 여기서 Ty는 원격 타임아웃 초 값이고, min(Py,P0)은 최대 원격 페이로드 값이고, Cy는 호프 카운트 값이다.
본 발명의 다른 양상에 따라, 바로 앞의 실시예와 동일한 결과를 발생시키는 다른 예시적인 실시예는 다음과 같이 동작한다.
(B1) 이러한 단계는 상기 단계(A1)로서 동작한다. 따라서, 브리지(예를 들어, 엔트리 포털)는, 원격 타임아웃 값의 세트가 알려져 있는지를 결정하기 위해 그 저장부를 체크하고, 이것은 A1에서 전술한 바와 같이 발생할 것이다.
(B2) 이 단게는 상기 단계(A2)로서 또한 동작한다. 따라서, 원격 타임아웃 값의 세트가 알려져 있는 경우, 브리지(예를 들어, 엔트리 포털)는 단계(A2)에서 설명된 바와 같이 타임아웃 응답 메시지를 합성한다.
다른 경우(예를 들어, valid_flag는 설정되지 않거나 0이 된다), 브리지(예를 들어, 엔트리 포털)는 다음 절차를 수행할 것이다:
(B3a) 이 단계는 상기 단계(A3)로서 또한 동작한다. 따라서, 브리지(예를 들어, 엔트리 포털)는 유효 플래그가 소거된 상태에서 목적지 버스에 대한 원격 타임아웃 값의 수신된 세트를 일시적으로 저장한다.
(B3b) 다음으로, 브리지(예를 들어, 엔트리 포털)는 새로운 원격 타임아웃 값의 세트를 계산한다. 이러한 계산된 타임아웃 값의 세트는 다음과 같이 계산된다.
일시적으로 저장된 원격 타임아웃 초 값(T0)은 전술한 바와 같이 계산된 값(Tx,M)만큼 증가한다. 즉:
Tx request=T0+Tx,M
여기서,
Tx,M=Tx,M request + Tx,M response
최대 페이로드 값(Px request)은 0×FFFF로 설정되고, 여기서 0×FFFF는 최대 원격 페이로드 필드에 대한 최대값인데, 즉,
Px request=0×FFFF.
일시적으로 저장된 호프 카운트 값(C0)은 1만큼 증가한다. 즉,
Cx request=C0+1
여기서, Cx request는 출력 타임아웃 요청 메시지에서의 출력 호프 카운트 값이다.
그 다음에, 브리지(예를 들어, 엔트리 포털)는 원격 타임아웃 값의 새롭게 계산된 세트(즉, Tx, request, Px, request, Cx, request)를 목적지 버스(120)에 지정된 TIMEOUT 요청 메시지의 부분으로서 목적지 버스(120)로 송출한다.
(B3c) 후속하여, 브리지(예를 들어, 엔트리 또는 출구 포털)는 타임아웃 응답 값의 세트(예를 들어, Ty, Py, Cy)를 포함하는 대응하는 TIMEOUT 응답 메시지를 가로챈다. 이러한 대응하는 TIMEOUT 응답 메시지는 단계(B3b)에서 송신된 TIMEOUT 요청 메시지에 대해 응답하는 TIMEOUT 응답 메시지이다. 그 다음에, 브리지(예를 들어, 엔트리 포털)은 원격 타임아웃 값의 새로운 세트를 계산한다.
목적지 버스(120)에 대한 미래의 타임아웃 응답 메시지에 사용될 원격 타임아웃 초 값(Tx, M response)에 대해, 브리지(예를 들어, 엔트리 포털)는 Tx, M response=Ty-T0을 계산하며, 여기서 Ty는 가로챈 타임아웃 응답 메시지에 수신된 원격 타임아웃 초 값이고, T0은 단계(B3a)에서 수신된 타임아웃 응답 초의 이전에 저장된 값이다.
목적지 버스(120)에 대한 미래의 타임아웃 응답 메시지에 사용될 최대 원격 페이로드 값(Px, M response)에 대해, 브리지(예를 들어, 엔트리 포털)는 수신된 최대 페이로드 값(Py)과, 엔트리 포털(131)로부터 다음 브리지(140)의 엔트리 포털(141)로 송출될 수 있는 최대 데이터 페이로드(Px)를 이용하는데, 즉:
Px, M response=min(Py,Px)
목적지 버스(120)에 대한 미래의 타임아웃 응답 메시지에 사용될 호프 카운트 값(Cx, M response)에 대해, 브리지(예를 들어, 엔트리 포털)는 이전에 저장된 호프 카운트 값(C0)과 수신된 호프 카운트 값(Cy) 사이의 차이를 계산하는데, 이것은:
Cx, M response=Cy-C0
그 다음에, 브리지(예를 들어, 엔트리 포털)는 유효 플래그가 설정된 상태에서 미래 사용을 위해 원격 타임아웃 값의 새롭게 계산된 세트(즉, Tx, M response, Px, M response, Cx, M response)를 저장하고, 원격 타임아웃 값의 새로운 세트(Ty, min(Py, Px, P0),Cy)를 타임아웃 응답 메시지의 부분으로서 소스 버스로 송출하고, 여기서 Ty는 원격 타임아웃 초 값이고, min(Py,Px,P0)은 최대 원격 페이로드 값이고, Cy는 호프 카운트 값이다.
전술한 절차는 초안 표준의 변경을 필요로 하지 않고도 전술한 기술에 비해 상당히 효과적인 개선점을 제공한다. 이러한 기술은, 레거시(legacy) 브리지(즉, 초안 표준에 기초한 브리지) 및 네트워크 상에 혼합된 이들 개선된 브리지 모두 존재하는 경우라도 작용한다.
그러나, 추가 개선 및 간략화는, 초안 표준에 대한 변경이 허용되고, 모든 브리지가 아래에 설명되는 것과 동일한 규칙에 따르는 경우 가능하다.
(C1) 바로 위의 2개의 예시적인 실시예에서와 같이, 이러한 단계는 단계(A1 및 B1)로서 동작한다. 그러나, 이 경우에, 각 브리지(예를 들어, 엔트리 포털)는, 원격 타임아웃 값의 세트가 메모리에서 유효 플래그의 상태를 체크함으로써 식별된 목적지 버스에 대해 알려져 있는지를 결정하기 위해 수신된 TIMEOUT 요청 메시지의 목적지를 체크한다.
(C2) 원격 타임아웃 값의 세트가 알려져 있는 경우(예를 들어, valid_flag=1), 각 브리지(예를 들어, 엔트리 포털)는, 전술한 방식으로 저장된 remote_timeout, max_remote_payload, 및 hop_count 값을 TIMEOUT 응답 메시지에서의 적절한 필드에 삽입함으로써 대응하는 TIMEOUT 응답 메시지를 생성한다.
(C3a) 원격 타임아웃 값의 세트가 각 브리지에 알려져 있지 않은 경우(예를 들어, valid_flag=0), 각 브리지는 TIMEOUT 요청 메시지에서 원격 타임아웃 값의 세트를 변경시키지 않고도 TIMEOUT 요청 메시지를 목적지로 송출한다. 메시지에서의 각 필드의 값은 정의에 의해 요청자에 의해 개시된 바와 같이 (0, 0×FFF, 0)일 것이다.
(C3b) 브리지(응답 서브동작의 견지로부터)가 TIMEOUT 응답 메시지를 수신하면, 브리지(예를 들어, 출구 포털)(132)는 유효 플래그가 설정된 상태에서 후속하는 TIMEOUT 응답 메시지에 저장 및 사용을 위해 새로운 타임아웃 값의 세트를 계산한다. 이러한 계산된 타임아웃 값의 세트는 다음과 같이 계산된다.
수신된 원격 타임아웃 초 값(TY)은 전술한 바와 같이, 계산된 값(Tx,M)만큼 증가한다. 즉:
Tx request=Ty+Tx,M
여기서,
Tx,M=Tx,M request + Tx,M response
수신된 최대 원격 페이로드 값(Py)과, 출구 포털(132)로부터 다음 브리지(140)의 엔트리 포털(141)로 송출될 수 있는 최대 데이터 페이로드(Px) 중 더 작은 것이 결정되는데, 즉,
Px, M response=min(Py,Px)
수신된 호프 카운트 값(Cy)은 1만큼 증가된다, 즉,
Cx response=Cy+1
여기서, Cx response는 출력 타임아웃 응답 메시지에서의 출력 호프 카운트 값이다.
그 다음에, 이들 계산된 값(Tx, response, Px, response, Cx, response)은 유효 플래그가 설정된 상태(예를 들어, valid_flag=1)로 타임아웃 응답 메시지에 미래 사용을 위해 저장된다. 그 다음에, 동일한 값은 TIMEOUT 응답 메시지의 부분으로서 송출된다.
전술한 모든 절차에 대해, 각각 remote_timeout seconds 필드, max_remote_payload 필드, hop_count 필드, 및 valid_flag로 구성된 엔트리를 갖는 테이블은 각 목적지 버스에 대해 일시적 및 최종 원격 타임아웃 파라미터 모두를 저장하는데 사용될 수 있다. 테이블 엔트리는 순-토폴로지 변경시 소거될 것이다.
도 5를 참조하면, 브리지형 네트워크에서 타임아웃 메시지를 효과적으로 통신하기 위한 전술한 방법의 예시적인 실시예(50)의 흐름도가 도시된다.
단계(51)에서, 포털은, 저장된 원격 타임아웃 값의 세트가 유효한지를 결정하기 위해 타임아웃 요청 메시지의 수신시 레지스터 테이블에서 유효 플래그를 체크한다.
단계(52)에서, valid_flag가 1이면, 프로세스는 단계(53)로 진행하고, 그렇지 않은 경우, 프로세스는 단계(54)로 진행한다.
단계(53)에서, 포털은 상기 A1 및 A2에 설명된 바와 같이 원격 타임아웃 값의 저장된 세트를 이용하여 타임아웃 응답 메시지를 합성한다.
단계(54)에서, 원격 타임아웃 값의 수신된 세트는 유효 플래그가 소거된 상태에서 일시적으로 저장된다.
단계(55)에서, 원격 타임아웃 값의 제 1 세트는 결정되어, 타임아웃 요청 메시지의 부분으로서 목적지 버스로 송출된다. 원격 타임아웃 값의 이러한 제 1 새로운 세트는 상기 A3b 또는 B3b에 설명된 바와 같이 결정될 수 있다.
단계(56)에서, 타임아웃 응답 메시지는 포털에 의해 가로채어 지며, 상기 타임아웃 응답 메시지는 원격 타임아웃 응답 값의 세트를 포함한다.
단계(57)에서, 원격 타임아웃 값의 제 2 새로운 세트가 결정되고, 원격 타임아웃 응답 값의 수신된 세트에 기초하여 유효 플래그가 설정된 상태에서 나중에 사용하기 위해 저장된다. 원격 타임아웃 값의 이러한 제 2 새로운 세트는 상기 A3c 또는 B3c에 설명된 바와 같이 결정될 수 있다.
단계(58)에서, 원격 타임아웃 값의 제 3 새로운 세트가 결정되고, 원격 타임아웃 응답 값의 수신된 세트에 기초하여 타임아웃 응답 메시지의 부분으로서 소스 버스로 송출된다. 원격 타임아웃 값의 이러한 제 3 새로운 세트는 상기 A3c 또는 B3c에 설명된 바와 같이 결정될 수 있다.
도 6을 참조하면, 브리지형 네트워크에서 타임아웃 메시지를 효과적으로 통신하기 위한 전술한 방법의 예시적인 실시예의 흐름도(60)가 도시된다.
단계(61)에서, 각 포털은, 저장된 원격 타임아웃 값의 세트가 유효한지를 결정하기 위해 타임아웃 요청 메시지의 수신시 레지스터 테이블에서 유효 플래그를 체크한다.
단계(62)에서, valid_flag가 1이면, 프로세스는 단계(63)로 진행하고, 그렇지 않으면, 프로세스는 단계(64)로 진행한다.
단계(63)에서, 포털은 상기 C1에 설명된 바와 같이 원격 타임아웃 값의 저장된 세트를 이용하여 타임아웃 응답 메시지를 합성한다.
단계(64)에서, 타임아웃 요청 메시지는 수신된 타임아웃 요청 메시지에 포함된 원격 타임아웃 값의 세트를 변경하지 않고도 목적지 버스로 송출된다.
단계(65)에서, 포털은 원격 타임아웃 응답 값의 세트를 포함하는 타임아웃 응답 메시지를 수신한다.
단계(66)에서, 원격 타임아웃 값의 저장된 세트는 원격 타임아웃 응답 값의 수신된 세트를 이용하여 갱신된다. 원격 타임아웃 값의 저장된 세트는 상기 C3b에 설명된 바와 같이 갱신된다.
단계(67)에서, 유효 플래그가 설정된다.
단계(68)에서, 원격 타임아웃 값의 갱신된 세트는 타임아웃 응답 메시지의 부분으로서 소스 버스로 송출된다.
다양한 실시예가 특히 본 명세서에 예시되고 설명되었지만, 본 발명의 변형 및 변경이 상기 가르침에 의해 커버되고, 본 발명의 사상 및 의도된 범주에서 벗어나지 않고도 첨부된 청구항의 범위 내에 있음이 이해될 것이다. 예를 들어, max_remote_payload, 및 hop_count와 같은 특정 파라미터에 대한 명칭이 사용되지만, 다른 명칭도 사용될 수 있다. 더욱이, 브리지, 엔트리 포털, 출구 포털 및 포털이라는 용어들은 본 명세서에서 메시징 기능을 수행하는 다양한 디바이스를 설명하는데 사용된다. 이들 디바이스 각각은 본 명세서에 기재된 메시징 기능 및 계산을 수행한다. 더욱이, 이들 예는 청구항에 의해 커버된 본 발명의 변형 및 변경을 한정하는 것으로 해석되어서는 안 되며, 가능한 변형을 단지 예시할 뿐이다.
상술한 바와 같이, 본 발명은 일반적으로 컴퓨터 네트워크에서 메시지를 관리하는 방법 및 장치에 관한 것으로, 더 구체적으로 고성능 직렬 버스를 상호-연결(inter-coupling)하기 위한 IEEE 1394 브리지 네트워크와 같은 컴퓨터 네트워크에서 TIMEOUT 메시지를 관리하는 방법 및 장치 등에 이용된다.

Claims (38)

  1. 적어도 하나의 브리지에 의해 함께 결합된 복수의 버스 상에 위치한 복수의 노드를 갖는 브리지형 네트워크에서 타임아웃 메시지를 효과적으로 통신하는 방법으로서,
    포털이 상기 복수의 버스의 목적지 버스에 대한 TIMEOUT 요청 메시지를 수신하자마자, 상기 포털에 의해 상기 목적지 버스와 연관된 원격 타임아웃 값의 세트가 알려져 있는지를 결정하는 단계와;
    상기 원격 타임아웃 값의 세트가 알려져 있는 경우 상기 포털에 의해 TIMEOUT 응답 메시지를 합성하는 단계를
    포함하는, 타임아웃 메시지를 효과적으로 통신하는 방법.
  2. 제 1항에 있어서, 상기 합성 단계는, 상기 포털과 연관된 복수의 버스의 로컬 버스로부터 목적지 버스로의 알려진 원격 타임아웃 초(seconds) 값을 상기 TIMEOUT 요청 메시지에서의 수신된 원격 타임아웃 초 값에 추가하는 단계를 포함하는, 타임아웃 메시지를 효과적으로 통신하는 방법.
  3. 제 2항에 있어서, 상기 합성 단계는, 상기 TIMEOUT 응답 메시지에서 원격 타임아웃 초 응답 값으로서 상기 추가 단계로부터의 합을 이용하는 단계를 더 포함하는, 타임아웃 메시지를 효과적으로 통신하는 방법.
  4. 제 1항에 있어서, 상기 합성 단계는,
    상기 포털과 연관된 복수의 버스의 로컬 버스로부터 목적지 버스에 대한 알려진 최대 원격 페이로드 값을 상기 TIMEOUT 요청 메시지에서의 수신된 최대 원격 페이로드 값과 비교하는 단계를 더 포함하는, 타임아웃 메시지를 효과적으로 통신하는 방법.
  5. 제 4항에 있어서, 상기 합성 단계는,
    상기 TIMEOUT 응답 메시지에서 최대 원격 페이로드 응답 값으로서 2개의 비교된 값 중 더 작은 것을 이용하는 단계를 더 포함하는, 타임아웃 메시지를 효과적으로 통신하는 방법.
  6. 제 1항에 있어서, 상기 합성 단계는,
    상기 포털과 연관된 로컬 버스로부터 목적지 버스로의 알려진 호프 카운트를 상기 TIMEOUT 요청 메시지에서의 수신된 호프 카운트 값에 추가하는 단계를 더 포함하는, 타임아웃 메시지를 효과적으로 통신하는 방법.
  7. 제 6항에 있어서, 상기 합성 단계는,
    상기 TIMEOUT 응답 메시지에서의 호프 카운트 응답 값으로서 상기 추가 단계로부터의 합을 이용하는 단계를 더 포함하는, 타임아웃 메시지를 효과적으로 통신하는 방법.
  8. 제 1항에 있어서, 상기 원격 타임아웃 값이 알려져 있지 않으면,
    valid_flag가 소거된 상태에서 상기 목적지 버스에 대한 수신된 원격 타임아웃 값의 세트(T0, P0 및 C0)를 저장하는 단계로서, 여기서 T0는 수신된 원격 타임아웃 초 값이고, P0는 수신된 최대 원격 페이로드 값이고, C0는 수신된 호프 카운트 값인, 저장 단계를 더 포함하는, 타임아웃 메시지를 효과적으로 통신하는 방법.
  9. 제 8항에 있어서,
    (1) 상기 수신된 원격 타임아웃 값(T0)을 제 1 상수(Tx)에 더한 값과 같은 제 1 새로운 원격 타임아웃 초 값과;
    (2) 제 2 상수(Px)와 같은 제 1 새로운 최대 원격 페이로드 값과;
    (3) 상기 수신된 호프 카운트 값(C0)에 1을 더한 값과 같은 제 1 새로운 호프 카운트 값으로서, 여기서 상기 제 1 상수(Tx)는 (a) 상기 포털로부터 다음 브리지의 다음 포털로의 요청 서브동작(subaction)에 대한 최대 송출 시간과, (b) 상기 포털과 연관된 공동-포털로부터 상기 다음 브리지의 다음 포털 또는 복수의 노드의 요청자 노드로의 응답 서브동작에 대한 최대 송출 시간의 합이고; 상기 제 2 상수(Px)는 상기 포털로부터 상기 다음 브리지의 상기 다음 포털로 송출될 수 있는 최대 데이터 페이로드인, 제 1 새로운 호프 카운트 값을
    포함하는, 원격 타임아웃 값의 제 1 새로운 세트를 결정하는 단계를 더 포함하는, 타임아웃 메시지를 효과적으로 통신하는 방법.
  10. 제 9항에 있어서, 수정된 타임아웃 요청 메시지에서 원격 타임아웃 값의 제 1 새로운 세트를 송출하는 단계를 더 포함하는, 타임아웃 메시지를 효과적으로 통신하는 방법.
  11. 제 10항에 있어서, 상기 포털에 의해 목적지 버스로부터 소스 버스로의 대응하는 TIMEOUT 응답 메시지를 가로채는 단계로서, 상기 대응하는 TIMEOUT 응답 메시지는 수정된 타임아웃 요청 메시지에 대응하는, 가로채는 단계를 더 포함하는, 타임아웃 메시지를 효과적으로 통신하는 방법.
  12. 제 11항에 있어서,
    (1) 수신된 원격 타임아웃 초 응답 값(Ty)에서 상기 수신된 원격 타임아웃 초 값(T0)만큼 뺀 값과 같은 제 2 새로운 원격 타임아웃 초 값과;
    (2) 수신된 최대 페이로드 응답 값(Py)과 같은 제 2 새로운 최대 원격 페이로드 값과;
    (3) 수신된 호프 카운트 응답 값(Cy)에서 상기 수신된 호프 카운트 값(C0)만큼 뺀 값과 같은 제 2 새로운 호프 카운트 값으로서, 여기서 상기 수신된 원격 타임아웃 초 응답 값, 상기 수신된 최대 페이로드 응답 값, 및 상기 수신된 호프 카운트 응답 값은 가로챈 대응하는 TIMEOUT 응답 메시지에 포함되는, 제 2 새로운 호프 카운트 값을
    포함하는, 원격 타임아웃 값의 제 2 새로운 세트를 결정하는 단계와,
    원격 타임아웃 값의 저장된 제 2 새로운 세트가 유효한지를 나타내는 플래그와 함께 원격 타임아웃 값의 상기 제 2 새로운 세트를 저장하는 단계를
    더 포함하는, 타임아웃 메시지를 효과적으로 통신하는 방법.
  13. 제 12항에 있어서,
    (1) 상기 수신된 원격 타임아웃 초 응답 값(Ty)과 같은 제 3 새로운 원격 타임아웃 초 값과;
    (2) 상기 수신된 최대 원격 페이로드 값(Py), 및 상기 수신된 최대 페이로드 값(P0) 중 더 적은 것과 같은 제 3 새로운 최대 원격 페이로드 값과;
    (3) 상기 수신된 호프 카운트 응답 값(Cy)과 같은 제 3 새로운 호프 카운트 값을
    포함하는, 원격 타임아웃 값의 제 3 새로운 세트를 결정하는 단계를 더 포함하는, 타임아웃 메시지를 효과적으로 통신하는 방법.
  14. 제 13항에 있어서, TIMEOUT 응답 메시지의 부분으로서 상기 원격 타임아웃 값의 제 3 새로운 세트를 상기 소스 버스로 송출하는 단계를 더 포함하는, 타임아웃 메시지를 효과적으로 통신하는 방법.
  15. 제 8항에 있어서,
    (1) 상기 수신된 원격 타임아웃 값(T0)을 제 1 상수(Tx)에 더한 값과 같은 제 1 새로운 원격 타임아웃 초 값과;
    (2) 제 2 상수(0×FFFF)와 같은 제 1 새로운 최대 원격 페이로드 값과;
    (3) 상기 수신된 호프 카운트 값(C0)에 1을 더한 값과 같은 제 1 새로운 호프 카운트 값으로서, 여기서 상기 제 1 상수(Tx)는 (a) 상기 포털로부터 다음 브리지의 다음 포털로의 요청 서브동작에 대한 최대 송출 시간과, (b) 상기 포털과 연관된 공동-포털로부터 상기 다음 브리지의 다음 포털 또는 복수의 노드의 요청자 노드로의 응답 서브동작에 대한 최대 송출 시간의 합이고; 상기 제 2 상수(0×FFFF)는 최대 데이터 페이로드에 대한 최대값인, 제 1 새로운 호프 카운트 값을
    포함하는, 원격 타임아웃 값의 제 1 새로운 세트를 결정하는 단계를 더 포함하는, 타임아웃 메시지를 효과적으로 통신하는 방법.
  16. 제 15항에 있어서, 수정된 타임아웃 요청 메시지에서 원격 타임아웃 값의 제 1 새로운 세트를 송출하는 단계를 더 포함하는, 타임아웃 메시지를 효과적으로 통신하는 방법.
  17. 제 16항에 있어서, 상기 포털에 의해 목적지 버스로부터 소스 버스로의 대응하는 TIMEOUT 응답 메시지를 가로채는 단계로서, 상기 대응하는 TIMEOUT 응답 메시지는 수정된 타임아웃 요청 메시지에 대응하는, 가로채는 단계를 더 포함하는, 타임아웃 메시지를 효과적으로 통신하는 방법.
  18. 제 17항에 있어서,
    (1) 수신된 원격 타임아웃 초 응답 값(Ty)에서 상기 수신된 원격 타임아웃 초 값(T0)을 뺀 값과 같은 제 2 새로운 원격 타임아웃 초 값과;
    (2) 수신된 최대 페이로드 응답 값(Py)과 상기 포털로부터 상기 다음 브리지의 상기 다음 포털로 송출될 수 있는 최대 데이터 페이로드(Px) 중 더 적은 것과 같은 제 2 새로운 최대 원격 페이로드 값과;
    (3) 수신된 호프 카운트 응답 값(Cy)에서 상기 수신된 호프 카운트 값(C0)을 뺀 값과 같은 제 2 새로운 호프 카운트 값으로서, 여기서 상기 수신된 원격 타임아웃 초 응답 값, 상기 수신된 최대 페이로드 응답 값, 및 상기 수신된 호프 카운트 응답 값은 가로챈 대응하는 TIMEOUT 응답 메시지에 포함되는, 제 2 새로운 호프 카운트 값을
    포함하는, 원격 타임아웃 값의 제 2 새로운 세트를 결정하는 단계와,
    원격 타임아웃 값의 저장된 제 2 새로운 세트가 유효한지를 나타내는 플래그와 함께 원격 타임아웃 값의 상기 제 2 새로운 세트를 저장하는 단계를
    더 포함하는, 타임아웃 메시지를 효과적으로 통신하는 방법.
  19. 제 18항에 있어서,
    (1) 상기 수신된 원격 타임아웃 초 응답 값(Ty)과 같은 제 3 새로운 원격 타임아웃 초 값과;
    (2) 상기 수신된 최대 원격 페이로드 값(Py), 상기 수신된 최대 페이로드 값(P0), 및 상기 포털로부터 상기 다음 브리지의 상기 다음 포털로 송출될 수 있는 상기 최대 데이터 페이로드(Px) 중 더 적은 것과 같은 제 3 새로운 최대 원격 페이로드 값과;
    (3) 상기 수신된 호프 카운트 응답 값(Cy)과 같은 제 3 새로운 호프 카운트 값을
    포함하는, 원격 타임아웃 값의 제 3 새로운 세트를 결정하는 단계를 더 포함하는, 타임아웃 메시지를 효과적으로 통신하는 방법.
  20. 제 19항에 있어서, TIMEOUT 응답 메시지의 일부로서 원격 타임아웃 값의 제 3 새로운 세트를 상기 소스 버스에 송출하는 단계를 더 포함하는, 타임아웃 메시지를 효과적으로 통신하는 방법.
  21. 적어도 하나의 브리지에 의해 함께 결합된 복수의 버스 상에 위치한 복수의 노드를 갖는 네트워크에서 통신하는 방법으로서,
    포털이 상기 복수의 버스의 목적지 버스에 대한 TIMEOUT 요청 메시지를 수신하자마자, 각 포털에 의해 목적지 버스와 연관된 원격 타임아웃 값의 세트가 알려져 있는지를 결정하는 단계와;
    상기 원격 타임아웃 값의 세트가 알려져 있는 경우 상기 각 포털에 의해 TIMEOUT 응답 메시지를 합성하는 단계를
    포함하는, 네트워크에서 통신하는 방법.
  22. 제 21항에 있어서, 상기 합성 단계는, 상기 포털과 연관된 복수의 버스의 로컬 버스로부터 목적지 버스로의 알려진 원격 타임아웃 초 값을 상기 TIMEOUT 요청 메시지에서의 수신된 원격 타임아웃 초 값에 추가하는 단계를 포함하는, 네트워크에서 통신하는 방법.
  23. 제 22항에 있어서, 상기 합성 단계는, 상기 TIMEOUT 응답 메시지에서 원격 타임아웃 초 응답 값으로서 상기 추가 단계로부터의 합을 이용하는 단계를 더 포함하는, 네트워크에서 통신하는 방법.
  24. 제 21항에 있어서, 상기 합성 단계는,
    상기 포털과 연관된 복수의 버스의 로컬 버스로부터 목적지 버스에 대한 알려진 최대 원격 페이로드 값을 상기 TIMEOUT 요청 메시지에서의 수신된 최대 원격 페이로드 값과 비교하는 단계를 더 포함하는, 네트워크에서 통신하는 방법.
  25. 제 24항에 있어서, 상기 합성 단계는,
    상기 TIMEOUT 응답 메시지에서 최대 원격 페이로드 응답 값으로서 2개의 비교된 값 중 더 작은 것을 이용하는 단계를 더 포함하는, 네트워크에서 통신하는 방법.
  26. 제 21항에 있어서, 상기 합성 단계는,
    상기 포털과 연관된 로컬 버스로부터 목적지 버스로의 알려진 호프 카운트를 상기 TIMEOUT 요청 메시지에서의 수신된 호프 카운트 값에 추가하는 단계를 더 포함하는, 네트워크에서 통신하는 방법.
  27. 제 26항에 있어서, 상기 합성 단계는,
    상기 TIMEOUT 응답 메시지에서의 호프 카운트 응답 값으로서 상기 추가 단계로부터의 합을 이용하는 단계를 더 포함하는, 네트워크에서 통신하는 방법.
  28. 제 21항에 있어서, 원격 타임아웃 값의 세트가 알려져 있지 않은 경우, 상기 타임아웃 요청 메시지에 포함된 원격 타임아웃 값의 수신된 세트를 변경시키지 않고도 상기 타임아웃 요청 메시지를 송출하는 단계를 더 포함하는, 네트워크에서 통신하는 방법.
  29. 제 28항에 있어서,
    포털에 의해 상기 목적지 버스로부터 상기 소스 버스로 TIMEOUT 응답 메시지를 수신하는 단계로서, 상기 TIMEOUT 응답 메시지는 원격 타임아웃 응답 값의 수신된 세트를 포함하는, 수신 단계를 더 포함하는, 네트워크에서 통신하는 방법.
  30. 제 29항에 있어서,
    (1) 수신된 원격 타임아웃 초 응답 값(Ty)에 제 1 상수(Tx)를 더한 값과 같은 제 1 새로운 원격 타임아웃 초 값과;
    (2) 수신된 최대 페이로드 응답 값(Py), 및 상기 포털로부터 다음 브리지의 상기 다음 포털로 송출될 수 있는 최대 데이터 페이로드(Px) 중 더 적은 것과 같은 제 2 새로운 최대 원격 페이로드 값과;
    (3) 수신된 호프 카운트 응답 값(Cy)에 1을 더한 값과 같은 제 2 새로운 호프 카운트 값으로서, 여기서 상기 수신된 원격 타임아웃 초 응답 값, 상기 수신된 최대 페이로드 응답 값, 및 상기 수신된 호프 카운트 응답 값은 수신된 TIMEOUT 응답 메시지에 포함되는, 제 2 새로운 호프 카운트 값을
    포함하는, 원격 타임아웃 값의 제 1 새로운 세트를 결정하는 단계와,
    원격 타임아웃 값의 저장된 제 2 새로운 세트가 유효한지를 나타내는 플래그와 함께 원격 타임아웃 값의 상기 제 1 새로운 세트를 저장하는 단계를
    더 포함하는, 네트워크에서 통신하는 방법.
  31. 제 30항에 있어서, TIMEOUT 응답 메시지의 부분으로서 원격 타임아웃 값의 제 2 새로운 세트를 소스 버스로 송출하는 단계를 더 포함하는, 네트워크에서 통신하는 방법.
  32. 감소된-응답 타임아웃 관리 시스템을 갖는 직렬 버스 브리지형 네트워크로서,
    적어도 하나의 네트워크 노드를 갖는 소스 버스와,
    적어도 하나의 네트워크 노드를 갖는 중간 버스와,
    상기 소스 버스를 중간 버스에 결합시키고, 제 1 포털 및 제 2 포털을 포함하는, 제 1 브리지와,
    적어도 하나의 네트워크 노드를 갖는 목적지 버스와,
    상기 중간 버스를 목적지 버스에 결합시키는 제 2 브리지로서, 상기 제 2 브리지는 제 1 포털 및 제 2 포털을 포함하고, 상기 제 1 및 제 2 브리지에서의 상기 제 1 포털 및 상기 제 2 포털 각각은 상기 목적지 버스에 대한 원격 타임아웃 값의 세트를 저장할 수 있는 레지스터 테이블과, 상기 원격 타임아웃 값의 저장된 세트의 상태를 나타내는 플래그를 포함하는, 제 2 브리지를 포함하며,
    상기 포털 각각은, 상기 목적지 버스에 대한 타임아웃 요청 메시지를 수신하자마자, 상기 원격 타임아웃 값의 저장된 세트가 유효한지를 결정하기 위해 상기 플래그를 체크하고,
    상기 포털 각각은, 상기 원격 타임아웃 값의 저장된 세트가 유효하다고 상기 플래그가 나타내는 경우, 상기 소스 버스로의 타임아웃 요청 메시지에 응답하여 상기 원격 타임아웃 값의 저장된 세트를 이용하여 타임아웃 응답 메시지를 생성하는, 직렬 버스 브리지형 네트워크.
  33. 제 32항에 있어서, 상기 포털 각각은, 상기 원격 타임아웃 값의 저장된 세트가 유효하지 않음을 상기 플래그가 나타내는 경우, 원격 타임아웃 값의 수신된 세트를 갖는 수신된 타임아웃 요청 메시지를 다음 포털 또는 목적지 버스로 통과시키는, 직렬 버스 브리지형 네트워크.
  34. 제 32항에 있어서, 상기 제 1 및 제 2 포털 각각은, 상기 소스 버스에 대한 타임아웃 응답 메시지를 수신하자마자, 상기 수신된 타임아웃 응답 메시지에 포함되는 수신된 원격 타임아웃 응답 값의 세트를 이용하여 상기 저장된 원격 타임아웃 값의 세트를 갱신하는, 직렬 버스 브리지형 네트워크.
  35. 제 34항에 있어서, 상기 제 1 및 제 2 포털 각각은 상기 원격 타임아웃 값의 갱신된 세트를 이용하여 수정된 타임아웃 응답 메시지를 상기 소스 버스로 송출하는, 직렬 버스 브리지형 네트워크.
  36. 제 33항에 있어서, 상기 원격 타임아웃 값의 세트는 원격 타임아웃 초 값, 최대 페이로드 값 및 호프 카운트 값을 포함하는, 직렬 버스 브리지형 네트워크.
  37. 제 34항에 있어서, 상기 제 1 및 제 2 포털 각각은,
    제 1 상수를 수신된 원격 타임아웃 응답 값에 추가하고,
    상기 제 2 포털과 연관된 제 1 포털로부터 다음 브리지의 다음 포털로 송출될 수 있는 최대 데이터 페이로드 및 수신된 최대 페이로드 값 중 더 적은 것을 선택하고,
    수신된 호프 카운트 응답 값을 1만큼 증가시킴으로써
    원격 타임아웃 값의 세트를 갱신하는, 직렬 버스 브리지형 네트워크.
  38. 제 37항에 있어서, 상기 제 1 상수는,
    (a) 상기 제 1 포털과 연관된 제 2 포털로부터 다음 브리지의 다음 포털로의 요청 서브동작을 위한 최대 송출 시간과, (b) 상기 제 2 포털과 연관된 제 1 포털로부터 다음 브리지의 상기 제 1 또는 제 2 포털로의 응답 서브동작에 대한 최대 송출 시간의 합인, 직렬 버스 브리지형 네트워크.
KR1020057008366A 2002-11-12 2003-11-10 효과적인 타임아웃 메시지 관리를 위한 방법 및 장치 KR20050074584A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US42584802P 2002-11-12 2002-11-12
US60/425,848 2002-11-12
US44537203P 2003-02-06 2003-02-06
US60/445,372 2003-02-06

Publications (1)

Publication Number Publication Date
KR20050074584A true KR20050074584A (ko) 2005-07-18

Family

ID=32314610

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057008366A KR20050074584A (ko) 2002-11-12 2003-11-10 효과적인 타임아웃 메시지 관리를 위한 방법 및 장치

Country Status (5)

Country Link
EP (1) EP1700431A1 (ko)
JP (1) JP2006506031A (ko)
KR (1) KR20050074584A (ko)
AU (1) AU2003280047A1 (ko)
WO (1) WO2004045152A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005005484A1 (de) * 2005-02-04 2006-08-10 Deutsche Thomson-Brandt Gmbh Netzwerkstation sowie Computer-Programm-Produkt, welches in den internen Speicher einer Netzwerkstation ladbar ist

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6414971B1 (en) * 2000-01-31 2002-07-02 Sony Corporation System and method for delivering data packets in an electronic interconnect
EP1199839A1 (en) * 2000-10-19 2002-04-24 THOMSON multimedia Method for making bridge aware nodes communicate over hiperlan 2 bridges
FR2819668B1 (fr) * 2001-01-18 2003-03-28 Canon Kk Procede et dispositif de communication entre un noeud local connecte a un premier bus serie ieee 1394 et un noeud distant connecte a un second bus serie ieee 1394 au travers d'un pont d'interconnexion de bus
US6880025B2 (en) * 2001-12-27 2005-04-12 Koninklijke Philips Electronics N.V. Efficient timeout message management in IEEE 1394 bridged serial bus network

Also Published As

Publication number Publication date
AU2003280047A1 (en) 2004-06-03
WO2004045152A1 (en) 2004-05-27
EP1700431A1 (en) 2006-09-13
JP2006506031A (ja) 2006-02-16

Similar Documents

Publication Publication Date Title
US5590124A (en) Link and discovery protocol for a ring interconnect architecture
EP0930747A1 (en) IEEE 1394 Serial bus system using a mapping table for identifying nodes having required capabilities to establish isochronous connections
US8861350B2 (en) Fibre channel network employing registered state change notification with enhanced payload
US7120152B2 (en) Method of routing a packet in a routing device
US6901074B1 (en) Communication method and communications system
KR20040010707A (ko) 공유된 속성들에 근거하여 압축된 큐 쌍으로부터 다중의가상 큐 쌍들을 생성하는 장치
JPH0662053A (ja) パケツト伝送システム
JPH11134274A (ja) デバイス・ドライバ中の割込みオーバヘッドを低減させる機構
JPH09160870A (ja) ハードウェアとソフトウェアの間でデータ転送を報告する方法および装置
US6539450B1 (en) Method and system for adjusting isochronous bandwidths on a bus
US6374316B1 (en) Method and system for circumscribing a topology to form ring structures
US6625658B1 (en) End equipment and router
US6631415B1 (en) Method and system for providing a communication connection using stream identifiers
US7979573B2 (en) Smart routing between peers in a point-to-point link based system
US6647446B1 (en) Method and system for using a new bus identifier resulting from a bus topology change
JP2002111704A (ja) データ送受信装置及び方法
JP2001521356A (ja) Ieee1394シリアルバスのノード内におけるバスパケットの伝送方向の検出及び制御の方法及び装置
US5408468A (en) Queueing system for switches having fast circuit properties
EP1463999B1 (en) An efficient timeout message management in ieee 1394 bridged serial bus network
US6751697B1 (en) Method and system for a multi-phase net refresh on a bus bridge interconnect
US6584539B1 (en) Method and system for message broadcast flow control on a bus bridge interconnect
KR20050074584A (ko) 효과적인 타임아웃 메시지 관리를 위한 방법 및 장치
US6295560B1 (en) Data delivery system with load distribution among data delivery units using shared lower address and unique lower layer address
US6502158B1 (en) Method and system for address spaces
JPH04273735A (ja) ローカルエリアネットワークブリッジ装置

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid