KR20020094028A - 버스 구조를 통해 통신하는 장치들의 시스템 - Google Patents

버스 구조를 통해 통신하는 장치들의 시스템 Download PDF

Info

Publication number
KR20020094028A
KR20020094028A KR1020027015045A KR20027015045A KR20020094028A KR 20020094028 A KR20020094028 A KR 20020094028A KR 1020027015045 A KR1020027015045 A KR 1020027015045A KR 20027015045 A KR20027015045 A KR 20027015045A KR 20020094028 A KR20020094028 A KR 20020094028A
Authority
KR
South Korea
Prior art keywords
devices
root node
communication
isochronous
messages
Prior art date
Application number
KR1020027015045A
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 KR20020094028A publication Critical patent/KR20020094028A/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/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40078Bus configuration
    • 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/40084Bus arbitration
    • 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/40169Flexible bus arrangements
    • 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/40169Flexible bus arrangements
    • H04L12/40176Flexible bus arrangements involving redundancy
    • H04L12/40195Flexible bus arrangements involving redundancy by using a plurality of nodes
    • 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/403Bus networks with centralised control, e.g. polling
    • 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/44Star or tree networks
    • 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)
  • Small-Scale Networks (AREA)
  • Connection Or Junction Boxes (AREA)

Abstract

장치들은 트리 구조에 연결되어 있고, 가지들은 장치들 간의 버스 커넥션들에 대응한다. 루트 노드의 장치들은 트리이고 결국 버스 커넥션들을 액세스하도록 중재된다. 나무 구조는 동적으로 새로운 루트 노드를 선택하는 것에 의해 재구성된다. 새로운 루트 노드의 선택은 미리정해진 각 장치들의 장치에 의해 송신될 메세지들의 부피를 포함한다(바람직하게 관찰 주기동안 각 장치로부터 발생하는 메세지들의 수를 카운팅한다). 예상된 무거운 송신자 장치는 새로운 루트 노드로 선택된다. 따라서, 더 무거운 송신자는 네트워크 리소스들 및 중재로 더 빠르게 액세스할 수 있고, 메세지들이 무거운 송신자에 의해 보내질 수 있는 포인터들에서 시간에서의 지터를 감소시킨다.

Description

버스 구조를 통해 통신하는 장치들의 시스템{System of apparatuses that communicate via a bus structure}
미국 특허 출원 번호 제 5,784,557호는 통신이 버스를 형성하는 커넥션(connection)들의 트리 구조를 통해서 수행되는 P1394 버스 시스템과 같은 장치들의 시스템을 기술한다. 이러한 트리 구조는 장치들에 대응하는 노드들과 및 노드들 사이의 가지들을 가지며, 이 가지들은 장치들 사이의 커넥션들에 대응한다. 장치들 중의 하나는 루트 노드(root node)에 대응하고, 루트 노드로부터 자녀 노드(child node)들까지 가지들로 이어진다. 루트 노드는 이러한 자녀 노드들의 부모 노드(parent node)가 된다고 알려진다. 하나가 트리의 잎들로 도착될 때까지 계속하여 이러한 자녀 노드들로부터 다른 가지들이 다른 자녀 노드들(자녀 노드들은 다른 자녀 노드들의 부모 노드들이라고 불린다)로 이어진다.
장치들 사이의 통신은 커넥션들을 통해서 발생한다. 통신은 패킷들의 정해진지속 싸이클들에서 발생한다. 싸이클은 루트 노드가 싸이클 시작 패킷을 한번 전송하면 시작한다. 싸이클동안 임의의 장치가 정보의 패킷들을 다른 장치들로 송신하는 것이 허용된다. 두 개의 장치들이 직접적으로 연결되면, 통신은 직접 커넥션을 통해 발생한다. 두 개의 장치들이 직접적으로 연결되어 있지 않으면, 통신은 중간의 장치들을 통해 발생한다.
하나보다 많은 장치가 동일한 시간에 트리 구조를 통해 통신하도록 요청하면, 어떤 장치가 먼저 통신하도록 허용될 것인가를 결정하기 위해 중재가 필요하다. P1394 버스에서 중재는 결국 루트 노드에 대응하는 장치에 의해서 해결된다. 통신을 위해 필요한 임의의 장치는 그것의 부모에게로 통신을 위한 요청을 송신하고, 부모는 요청이 루트 노드에 도달할 때까지 그 부모에게로 요청을 보낸다. 만일 부모가 그 패킷을 다른 자녀 또는 부모 그 자신으로부터 전송하기 위한 다른 요청들이 이미 전해졌을 때 부모가 패킷 전송을 위해 자녀들 중의 하나로부터 요청을 수신하면, 부모는 나중의 요청을 거부한다. 요청들이 동시에 도착하면, 부모는 다양한 요청들 사이에서 중재하고 우위(winner)로부터 요청을 보낸다. 루트 노드는 먼저 도착한 요청 또는 그 자신의 요청을 승인하고 필요한 경우 중재한다. 따라서 중재는 전적으로 루트 노드가 입력하는 요청들 사이에서 중재되면 결정된다.
P1394 버스에서 오디오/비디오 정보는 "살아있는(live)" 정보를 사용자에게 디스플레이하는 이미지 디스플레이 장치들과 같은, 하나의 장치로부터 다른 것으로 보내질 수 있다. 여기에 포함된 실시간 요청들은 이러한 실시간 정보를 위한 통신 싸이클(등시성(isochronous) 패킷들이라고 불리는)의 정해진 기간의 미리 정해진부분을 보유하여, 충족된다. 등시성 리소스 관리자 장치는 싸이클의 이러한 부분을 사용하게 만드는, 예를 들면 채널 수들과 대역폭을 할당하는 것에 의한 허가(authorization)를 관리한다. 실시간 정보 통신 능력이 필요한 임의의 장치는 각 통신 싸이클에서 다수의 등시성 패킷들로 표현된 등시성 리소스 관리자로부터 이러한 능력을 요청한다. 등시성 리소스 관리자는 단지 승인된 요청들의 총합이 등시성 패킷들을 위한 싸이클의 미리 정해진 부분에서 사용가능한 채널들과 대역폭의 양을 초과하지 않는 한 이러한 요청들을 승인한다. 장치가 총합이 이러한 부분을 초과하는 매우 많은 채널들 또는 대역폭을 요청할 때, 요청은 승인되지 않고 장치는 통신을 시작할 수 없다.
따라서, 오디오/비디오 정보를 전송하도록 허용된 실시간 장치들이 항상 통신 싸이클에서 등시성 패킷들의 요청된 수에 대한 중재에 우선할 수 있다는 것이 보장된다. 다른 장치는 너무 많은 등시성 패킷들에 대한 중재에서 실시간 장치에 우선하는 것에 의한 "굶주린(starved)" 이러한 실시간 장치들을 야기할 것이다. 장치가 어떠한 다수의 등시성 패킷들에 대응하는 어떤 양의 채널들 또는 대역폭에 대한 능력을 요청했을 때, 이것은 단지 장치가 최대로 이러한 양을 송신할 것이라는 것을 의미함을 주의해야 한다. 최대는 각 통신 싸이클: 예를 들면, MPEG 비디오에서, 비디오 컨텐트에 의존하여 전송된 정보의 실제량에 도달한다는 것을 의미하지 않는다.
미국 특허 출원 번호 제 5,784,557호는 동적으로(동작 시간 동안) 주어진 시스템을 최적화시키는 루트 노드의 선택의 가능성을 언급하지만, 루트 노드를 선택하는 기준들에 대해서는 자세히 언급하지 않는다.
본 발명은 통신 버스를 통해 통신하는 장치들의 시스템에 관한 것이다.
도 1은 제 1 통신 트리 구조를 도시하는 도면.
도 2는 재조직된 통신 트리 구조를 도시하는 도면.
도 3은 카운팅 버스 트래픽의 데이터 구조를 도시하는 도면.
다른 것들 중에서, 본 발명의 목적은 통신의 품질을 개선시키고 및/또는 버스 시스템과 같은 것에서 충분한 통신 품질을 공급하기 위해 필요한 리소스들을 감소시키는 메카니즘을 제공하는 것이다.
본 발명은 통신 버스를 갖는 장치들의 시스템을 제공하고, 그 시스템은
- 메세지들을 전송하기 위한 회로를 각각 포함하는, 적어도 2 개의 장치들과;
- 각 쌍의 장치들 사이에서 각각 연결된, 복수의 버스 커넥션들을 포함하고;
- 상기 장치들은 트리 통신 구조로 시스템을 구성하기 위한 회로들을 포함하고, 장치들 중의 제 1 장치는 루트 노드이고 나머지 장치들은 직접 버스 커넥션들을 통해, 또는 다른 하위 노드들을 통해 루트 노드와 통신하는 하위 노드들이며, 루트 노드 및 하위 노드들은 통신 구조에의 액세스를 중재하도록 허용되고, 루트 노드가 결국 중재를 해결하며;
장치들은 루트 노드가 되도록 장치의 제 2 장치를 동적으로 할당하도록 배열되고;
장치들 중의 적어도 하나가, 장치들 중 제 2 장치가 될 수 있는, 장치들 중 제 3 장치가 다른 장치들보다 상대적으로 많은 통신 구조에 대한 더한 액세스를 필요로 하는 것으로 예상된다는 검출에 기초하여, 루트 노드가 되도록 장치들 중의 제 2 장치를 선택하도록 배열되고, 장치들 중의 제 2 장치는 장치들 중의 제 1 및 제 2장치로부터 장치들 중의 제 3 장치로 통신하도록 요구되는 다수의 커넥션들의 관점에서, 장치들의 제 1 장치보다 장치들의 제 3 장치에 근접하게 선택된다.
루트 노드에 가까운, 및 바람직하게는 루트 노드에서의 통신 구조의 상대적으로 무거운(heavy) 사용자인 장치를 할당하는 것의 영향은 이 장치가 보다 빠르게 패킷을 전송하는 권리를 승인받게 될 것이라는 것과 이것이 보다 빠른 네트워크 리소스들로의 액세스를 갖게 될 것이라는 것이다. 이들은 무거운 사용자들로부터 패킷들의 전송의 시간 포인트들에서의 보다 적은 지터가 될 것이다(중재는 다른 장치들로부터의 예측할 수 없는 요청들에 의해 우선되기 때문에 지터는 이러한 시간 포인트들이 다소 임의적으로 변화할 때 발생한다). 오디오/비디오 정보 상의 이러한 지터의 영향은 지터의 최대 양과 동일한 주기에 대한 정보를 버퍼링함으로써 제거될 수 있지만, 오디오/비디오 소스 장치를 루트 노드에 가깝게 할당시킴으로써 등시성 지터는 적은 버퍼 메모리 사용으로 줄어든다. 무거운 사용자가 루트 노드에 가까울 때 적은 시간이 또한 루트 노드에 요청을 얻는데 손실되고, 따라서 통신에 대한 타이밍은 느슨해진다. 이러한 장점들은 무거운 사용자가 루트 노드에 할당될 때 최대가 된다.
본 발명에 따른 시스템의 실시예에서, 장치들중 하나는 통신 구조에 연결되는 다양한 장치들에 의해 전송되는 패킷들의 수를 카운트한다. 카운트는 상대적으로 무거운 사용자, 바람직하게는 카운팅 주기 상의 가장 무거운 사용자인 장치를 선택하는데 사용된다. 이후 루트 노드는 선택된 장치로 보다 가까이 이동된다. 바람직하게, 선택된 장치가 루트 장치가 된다. 대안적으로, 상대적으로 무거운 사용자가 등시성 리소스 관리자에 만들어진 요청들의 크기에 기초하여 선택될 수 있다. 그러나, 이것은 너무 많은 오버헤드가 루트 노드를 상대적으로 짧은 살아있는 요청을 가진 장치, 또는 등시성 리소스 관리자로부터 실질적으로 요청되는 것보다 적은 패킷들을 사용하는 장치들로의 이동을 초래하는 바람직하지 않은 결과를 가질 수도 있다. 시간의 주기를 통해 전송된 패킷들의 실제 수를 카운팅하는 것에 의해 루트 노드의 더욱 효과적인 선택이 만들어질 수 있다.
본 발명에 따른 시스템의 이러한 및 다른 유익한 양상들, 방법 및 장치가 다음 도면들을 이용하여 보다 자세하게 논의될 것이다.
도 1은 P1394 버스에서 사용된 제 1 통신 트리 구조를 도시한다. 도면은 트리 구조에서 서로 연결된 다수의 장치들(10, 11, 12a,b, 14a-c, 16a-e, 18)을 도시한다. 커넥션들은 장치들 간의 통신 채널들을 표현한다. 장치들(10)중의 하나는 트리 구조의 루트 노드이고 이것은 이 부모의 두 개의 자녀 노드들에 대응하는 장치들(12a,b)의 부모 노드이다. 이러한 자녀 노드들은 바꾸어 장치들(11, 14a-c)에 대응하는 다른 자녀 노드들의 부모 노드들이다. 다른 장치들(16a-e)은 또한 루트 노드의 장치(10)로부터 연속적으로 이동된다. 도 1에서 그것에 연결된 다른 장치보다 높은 곳에 도시된 장치는 다른 장치의 부모이고, 다른 장치는 부모의 자녀이다.
P1394 버스 시스템에서, 각 장치(10, 11, 12a,b, 14a-c, 16a-e, 18)는 통상적으로 메세지 패킷들을 커넥션들을 통해 트리 구조의 그 이웃들로 전송하기 위한 회로(도시되지 않음)와, 그것의 이웃들로부터 메세지 패킷들을 수신하기 위한 회로(도시되지 않음) 및 그것의 이웃들의 하나로부터 커넥션들을 통해 메세지 패킷들을 다른 것으로 보내기 위한 회로(도시되지 않음)를 갖는다. 또한, 각 장치(10, 11, 12a,b, 14a-c, 16a-e, 18)는 통상적으로 그것의 부모로 작용하는 그 이웃들의 하나로 커넥션들을 통하여 메세지 패킷을 송신하라는 요청을 송신하기 위한 회로(도시되지 않음)를 갖는다. 적어도 자녀 노드에 대해 부모로 작용하는 장치들은 또한 이러한 요청을 커넥션들을 통해 그들 자신의 부모로 보내기 위한 회로(도시되지 않음)와, 동일한 시간에 하나보다 많은 요청이 도착하는 경우에 보내는 요청을 선택하는 중재 회로(도시되지 않음) 및 요청의 거부(denial) 또는 승인(grant)을 커넥션들을 통해 요청 자녀에게로 되돌려보내는 회로(도시되지 않음)를 갖는다(승인은 부모를 거쳐 루트 노드(10)로부터 수신되도록 보내지고, 거부는 거부가 되돌아가는 장치에서 보내지거나 생성된다).
동작중에, 장치들(10, 11, 12a,b, 14a-c, 16a-e, 18)은 장치들(10, 11, 12a,b, 14a-c, 16a-e, 18)간의 커넥션들에 의해 표현된 통신 채널들을 통해 다른 하나와 통신한다. 두 개의 장치들(10, 11, 12a,b, 14a-c, 16a-e, 18)이 직접적으로연결되지 않으면, 그들은 다른 장치들을 통해 통신한다. 예를 들어, 송신 장치(11)가 수신 장치(16d)와 통신할 때, 통신은 중간 장치들(12a, 10, 12b, 14c)을 통해 전달될 것이다.
장치(10, 11, 12a,b, 14a-c, 16a-e, 18)가 패킷을 송신할 필요가 있을 때, 이것은 그 부모로 요청을 송신한다. 부모는 부모가 이미 다른 자녀로부터 또는 그 자신의 요청으로부터 보내졌는지에 따라, 그의 부모에게 요청을 보낼지 말지를 결정한다. 요청이 부모에게 보내지지 않으면 거부가 그의 자녀에게 돌아간다. 결국, 요청은 루트 노드(10)에서 장치를 검색하고, 요청이 승인되었는지 또는 거부되었는지를 나타내는 신호를 돌려보낸다. 이 신호는 트리 구조를 거쳐 요청이 발생된 장치로 되돌려 보내진다. 그 후 이 장치는 메세지 패킷을 전송하기 시작한다.
예를 들어, 송신 장치(11)가 메세지 패킷을 송신하고자 원하면, 송신 장치(11)는 요청을 그의 부모 노드에 있는 장치(12a)로 송신한다. 이 장치(12a)는 요청을 루트 노드에 있는 장치(10)로 보낸다. 루트 노드(10)에서의 장치는 승인 신호를 부모 노드에 있는 장치(12a)로 되돌려보내고, 이것은 이 신호를 송신 장치(11)로 되돌려 보낸다.
따라서, 루트 노드에 있는 장치(10)는 패킷들을 전송하기 위한 요청들의 승인에 있어서 최고의 권한이다. 승인되기 위하여 요청들은 항상 루트 노드에 있는 장치(10)까지 갔다가 되돌아와야 한다.
루트 노드에 있는 장치(10)에서 수행되는 다른 기능은 장치(10)가 패킷들의, 예를 들면 125 마이크로초의 미리 정해진 기간을 갖는, 싸이클의 시작을 나타내는싸이클 시작 패킷을 전송한다는 것이다. 패킷들의 각 싸이클의 미리정해진 부분은 등시성 패킷들이라 불리는 우선순위로 할당된다. 등시성 패킷들은 미리정해진 시간 주기, 특히 패킷들의 싸이클동안 내에서 보내질 패킷들이다. 이것은 방해없는 시청 또는 청취를 보장하기 위해 실시간 정보, 예를 들면 미리 정해진 시간-지점들에서의 장치들 중 하나에 의해 출력될 오디오 또는 비디오 데이터의 송신을 위해 필요하다. 시스템은 이러한 등시성 패킷들을 송신하는 것이 허용되는 장치들의 갯수를 제어해서, 등시성 패킷들에 대하여 할당된 싸이클의 부분들에서 송신될 수 있는 것보다 많지 않은 등시성 패킷들의 전송이 요청될 것이다.
장치들(10, 11, 12a,b, 14a-c, 16a-e, 18) 중의 하나는 장치들(10, 11, 12a,b, 14a-c, 16a-e, 18)이 등시성 패킷들을 전송하는 것이 허용되도록 선택하는 등시성의 리소스 관리자의 기능을 수행한다. 이러한 패킷들을 전송하고자 원하는 각 장치(10, 11, 12a,b, 14a-c, 16a-e, 18)는 채널들 및/또는 대역폭의 요구된 수를 명시하는, 등시성 리소스 관리자 장치로 이러한 목적의 메세지를 전송해야 한다. 유사하게 장치들(10, 11, 12a,b, 14a-c, 16a-e, 18)은 등시성 패킷들을 송신하기 위한 그들의 필요의 종단 또는 통신 싸이클당 필요한 채널들 및/또는 대역폭의 수의 임의의 변화의 등시성 리소스 관리자를 알려준다. 등시성 리소스 관리자는 이러한 요청들을 수락하고 장치들(10, 11, 12a,b, 14a-c, 16a-e, 18)이 등시성 패킷들을 요청이 요청된 패킷들의 수의 총 수가 통신 주기의 사용가능한 부분을 초과하도록하는 지점으로 송신하는 것을 요청할 수 있다. 이러한 경우에 버스 관리자는 요청을 취소할 것이고 장치(10, 11, 12a,b, 14a-c, 16a-e, 18)의 요청은 등시성 패킷들을 송신할 수 없을 것이다. 등시성 리소스 관리자 기능은 시스템의 임의의 장치(10, 11, 12a,b, 14a-c, 16a-e, 18)에 의해 수행될 수 있다(제공된 장치는 필요한 회로들을 포함한다).
P1394 시스템은 장치들이 커넥션들의 주어진 세트를 가질 때 장치들(10, 11, 12a,b, 14a-c, 16a-e, 18)이 루트 노드에 대응할 것을 선택하는 자유를 가진다. 이러한 목적을 가진 프로세스가 미국 특허 출원 번호 제 5,784,557호에 기술된다. 시스템은 다른 장치들로의 그 커넥션들이 자녀 노드들로의 커넥션들에 대응하고 그 커넥션들은 부모 노드로 대응하는 모든 장치를 위해 만들어진 트리 구조의 정의의 단계들을 수행한다. 장치의 하나는 부모 노드가 없다. 그것이 루트 노드이다.
원칙적으로, 임의의 장치(10, 11, 12a,b, 14a-c, 16a-e, 18)는 루트 노드로서 기능할 수 있다(제공된 장치가 필요한 회로들을 포함하면; 그러나 대부분의 P1394가 사용된 장치들은 이러한 회로들을 포함한다). 루트 노드의 선택을 포함하는 정의 단계가 시스템이 시작할 때 발생하지만, P1394 버스는 또한 루트 노드의 동적 재정의를 허용한다.
재정의 후에, 도 1의 커넥션들을 갖는 시스템의 통신 구조는 예를 들면 도 2에 도시된 구조로 변환될 수 있다. 도 2는 도 1에 도시된 바와 같은 동일한 참조 번호들 및 동일한 커넥션들을 갖는, 동일한 장치들(10, 11, 12a,b, 14a-c, 16a-e, 18)을 도시한다. 도 1에서와 같이, 그것에 연결된 다른 장치보다 높이 도시된 도 2의 임의의 장치는 다른 장치의 부모이고, 다른 장치는 부모의 자녀이다.
도 2에서 다른 장치(11)는 루트 노드, 즉 패킷들을 송신하는 요청들의 승인에서 최고의 권한을 가진다. 이 새로운 루트 노드는 도 2의 트리 구조의 최상에 도시되었다.
본 발명에 따라, 시스템은 루트 노드로서 작용하는 장치의 선택을 제어한다. 시스템은 장치들로부터의 패킷들의 예상되는 양에 따라 루트 노드를 변화시킨다. 바람직하게, 최상의 등시성 패킷들, 또는 일반적으로 최상의 패킷들을 송신할 것으로 예상되는 가장 무거운 송신 장치가 루트 노드가 되고, 적어도 이 가장 무거운 송신 장치에 이전의 루트 노드보다 가까운 장치가 루트 노드가 된다(예를 들어 가장 무거운 송신 장치는 그것 자체가 루트 노드로서 작동할 수 없다).
바람직하게, 루트 노드는 일반적으로 최상의 패킷들을 송신할 것으로 예상되는 장치보다 최상의 등시성 패킷들을 송신할 것으로 예상되는 장치에, 또는 최대한 근접하여 할당된다. 등시성 패킷들의 배달에서의 지터(jitter)는 시스템의 서비스의 품질에 작용한다. 이러한 지터는 최상의 등시성 패킷들을 송신할 것으로 예상되는 장치에 할당된 또는 최대한 근접한, 루트 노드의 위치에 의해 감소된다. 비등시성 패킷들의 지터는 서비스의 품질에 작용하지 않는다(또는 매우 적은 영향이다). 따라서, 등시성 패킷들의 예상되는 수의 서비스의 관찰할 수 있는 특성을 최적화하는 것은 루트 노드를 선택하는데 바람직하게 사용된다. 그러나, 덜 정밀한 대안으로서, 패킷들(등시성 또는 비등시성)의 총 수의 카운트가 사용될 수있다.
가장 무거운 송신 장치(10, 11, 12a,b, 14a-c, 16a-e, 18)는 예를 들면 그들이 등시성 리소스 관리자가 되는 것처럼 등시성 패킷들을 보내는 승인을 위한 요청들로부터 선택될 수 있다. 그러나, 장치(10, 11, 12a,b, 14a-c, 16a-e, 18)가 많은양의 등시성 패킷들을 송신하는 승인들을 요청할 때 즉시 루트 노드가 각 시간에 변화되는 것을 피해야 한다. 따라서, 한 실시예에서, 루트 노드는 이 장치(10, 11, 12a,b, 14a-c, 16a-e, 18)가 미리 정해진 시간, 예를 들면 1초, 또는 10초 또는 1분 또는 그 이상에 대한 이러한 승인 아래 전송될 때에만 오직 최상의 등시성 패킷들을 송신하는 승인이 요청된 장치(10, 11, 12a,b, 14a-c, 16a-e, 18)에 근접하게 이동한다.
그러나, 등시성 패킷들을 송신하기 위한 능력의 위치는 매우 동적일 수 있어서, 특정 요청에 응답하여 할당된 등시성 능력은 단지 짧은 주기동안만 할당된다. 또한, 요청들은 등시성 패킷들의 실제 수를 반드시 반영하지는 않는다. 결과적으로 요청들에 기초한 루트 노드의 선택이 종종 불충분하다는 것이 발견된다.
다른 실시예에서 가장 무거운 송신 장치들(10, 11, 12a,b, 14a-c, 16a-e, 18)이 미리 정해진 시간의 주기에 대한 트리 구조를 거쳐 등시성 패킷들의 가장 높은 수를 송신하는 장치를 관찰하는 것에 의해 선택된다. 따라서, 패킷들의 총 수는 등시성 능력에 대한 평균 요청이 유효하게 남아있는 시간보다 긴 주기를 지나 각 장치에 대하여 카운트된다.
장치들(10, 11, 12a,b, 14a-c, 16a-e, 18)의 각각의 것들에 의해 송신된 등시성 패킷들의 수의 카운트는 이러한 목적을 위해 프로그램된 장치들(10, 11, 12a,b, 14a-c, 16a-e, 18)(관찰자 장치)의 하나에 의해 누적된다. 관찰자 장치는 예를 들면 등시성 리소스 관리자 장치 또는 루트 노드에서의 장치(11) 또는 임의의 다른 장치(10, 11, 12a,b, 14a-c, 16a-e, 18)일 수 있다. 관찰자 장치는 버스를 통해 보내지는 등시성 패킷들을 검출한다.
P1394 버스에서, 등시성 리소스 관리자는 전송 능력을 장치들에 기초하기 보다는 채널들에 기초하여 할당시킨다. 각 등시성 패킷은 등시성 패킷들이 속하는 채널의 번호를 포함하지만, 등시성 패킷을 전송한 장치의 식별은 포함하지 않는다. 임의의 한 시간에서 각 채널 번호는 하나의 송신 장치에 대응하고 다른 채널 번호들은 동일한 채널에 대응할 것이다. 채널 번호들과 장치들 간의 대응은 시간에 따라 변할 것이다.
도 3은 관찰자 장치에 의해 사용되는 데이터 구조를 도시한다. 이 데이터 구조는 등시성 채널 번호들에 의해 어드레스되는 제 1 테이블(30)을 포함한다. 제 1 테이블(30)은 제 2 테이블(32)의 엔트리들로의 포인터들을 포함한다. 제 2 테이블(32)은 다른 장치들에 대한 카운트 값들을 포함한다. 예로써, 제 1 테이블(30)은 6 비트 채널 번호들에 의해 어드레스된, 64 엔트리들을 포함한다. 다른 예로써, 제 2 테이블(32)은 트리 구조에서의 장치들에 대한 64 엔트리들을 포함한다. P1394에서 다중 트리 구조들을 허용하기 위해, ID의 16 비트 노드가 사용되지만, 카운트 값들은 부분적으로 트리 구조에 대해 바람직하게 결정되고, 64 장치는 트리 구조에 적합하며, 제 2 테이블(32)은 노드 ID의 6개의 최소 인식 비트들에 의해 어드레스된다.
동작중에, 관찰자 장치는 등시성 리소스 관리자(바람직하게 관찰자 장치로서 동일한 장치)가 채널 번호를 할당할 때 검출한다. 관찰자 장치는 채널에 대한 등시성 패킷들의 소스로서 작동하는 장치의 장치 번호를 결정하고 채널 번호에 의해 어드레스된 엔트리의 제 1 테이블(30)에 그 장치 번호를 기록한다.
관찰 주기의 시작에서 관찰자 장치는 제 2 테이블(32)의 모든 엔트리들에서의 카운트 값들을 0으로 초기화한다. 관찰 주기동안 관찰자 장치는 통신 구조를 통해 전송되는 각 등시성 패킷을 검출한다. 특정 등시성 패킷이 검출될 때 관찰자 장치는 등시성 패킷으로부터 채널 번호를 판독하고 채널 번호에 의해 지적된 엔트리에서 제 1 테이블(30)을 액세스한다. 제 1 테이블에서의 이러한 엔트리는 제 2 테이블(32)의 이러한 특정 엔트리에서 지적한다. 연속적으로, 관찰자 장치는 제 2 테이블(32)의 이러한 특정 엔트리에서 카운트 값을 증가시킨다.
관찰 주기의 끝에서 제 2 테이블(32)의 엔트리들에서의 카운트 값들은 다양한 장치들이 등시성 패킷들을 통신 구조를 통해서 송신하는 강도(intensity)들을 나타낸다. 이것으로 어떤 엔트리가 가장 높은 카운트 값을 가지고 있는가가 결정된다. 통신 구조는 통신 구조의 이러한 엔트리 루트 노드에 대응하는 장치를 만들기 위해 재구성된다.
물론, 카운트 값들을 계산하는 다른 방법들이 사용될 수 있다. 예를 들어, 대안적으로, 관리자 장치는 채널 번호당 전송된 등시성 패킷들의 수를 카운트할 수 있고, 채널 번호가 다른 장치로 반환될 때 카운트 값을 재설정하며, 채널 번호가 이전에 할당된 장치에 대해 카운트 값을 재설정하기 전에 누적된 카운트 값을 더한다. 또한 관찰 주기의 종단에서 다양한 채널 수에 대한 현재 카운트 값들이 채널들이 이후 할당되는 장치들의 카운트 값들에 더해진다. 이러한 대안에서 등시성 패킷당 동작들의 수는 감소된다(간접적으로 카운트 값을 참조할 필요가 없음). 그러나,대안이 카운트 값들에 대한 더 많은 저장 공간을 위해 요청된다.

Claims (8)

  1. 통신 버스를 갖는 장치들의 시스템에 있어서, 상기 시스템은,
    -메세지들을 전송하기 위한 회로를 각각 포함하는, 적어도 2 개의 장치들과;
    -각 쌍의 장치들 사이에서 각각 연결된 복수의 버스 커넥션들을 포함하고,
    -상기 장치는 트리 통신 구조로 상기 시스템을 구성하기 위한 회로들을 포함하며, 상기 장치들 중의 제 1장치는 루트 노드이고 나머지 장치들은 직접 상기 버스 커넥션들을 통해, 또는 다른 하위 노드들을 통해 상기 루트 노드와 통신하는 하위 노드들이며, 상기 루트 노드와 상기 하위 노드는 상기 통신 구조에의 액세스를 중재하도록 허용되고, 상기 루트 노드는 결국 중재를 해결하며,
    상기 장치들은 루트 노드가 되도록 상기 장치의 제 2 장치를 동적으로 할당하도록 배열되며,
    상기 장치들 중의 적어도 하나가, 상기 장치들 중의 상기 제 2 장치가 될 수 있는, 상기 장치들 중의 제 3 장치가 다른 장치들보다 상대적으로 많은 상기 통신 구조에 대한 액세스를 필요로 하는 것으로 예상된다는 검출에 기초하여, 루트 노드가 되도록 상기 장치들 중의 상기 제 2 장치를 선택하도록 배열되고, 상기 장치들 중의 상기 제 2 장치는 상기 장치들 중의 상기 제 1 및 제 2 장치들로부터 상기 장치들 중의 상기 제 3 장치로 통신하도록 요구되는 다수의 커넥션들의 관점에서, 상기 장치들 중의 상기 제 1 장치보다 상기 장치들 중의 상기 제 3 장치에 근접하게 선택되는, 시스템.
  2. 제 1 항에 있어서, 상기 장치들 중의 제 4 장치는 상기 장치들중의 각각의 장치들로부터 발생하는 통신 트래픽의 양의 카운트들을 누적하기 위해 배열되고, 상기 장치들 중의 상기 제 3 장치는 상기 카운트들 중의 가장 높은 카운트 수를 갖는 것에 기초하여 선택되는, 시스템.
  3. 제 1 항에 있어서, 상기 장치들은 상기 장치들 중의 상기 제 3 장치를 상기 장치들 중의 상기 제 2 장치로서 선택하도록 배열되는, 시스템.
  4. 제 1 항에 있어서, 상기 시스템은 메세지들의 고정된 기간 싸이클들에서 동작하고, 상기 싸이클의 미리 정해진 부분은 등시성(isochronous) 메세지들에 할당되며, 상기 장치들은 상기 싸이클의 상기 미리 정해진 부분에서 전송될 수 있는 등시성 메세지보다 싸이클당 더 많지 않은 등시성 메세지들을 전송할 수 있게 되고, 상기 장치들 중의 상기 제 3장치는 상기 장치들 중의 상기 제 3 장치가 다른 장치들보다 상대적으로 더 많은 등시성 메세지들을 전송할 것으로 예상된다는 검출에 기초하여 선택되는, 시스템.
  5. 제 4 항에 있어서, 상기 장치들 중의 제 4 장치는 상기 장치들중의 각각의 장치들로부터 발생하는 다수의 등시성 메세지들의 카운트들을 누적하도록 배열되고, 상기 장치들 중의 상기 제 3 장치는 상기 카운트들의 가장 높은 수를 갖는 것에 기초하여 선택되는, 시스템.
  6. 장치들, 및 상기 장치들에 대응하는 노드들을 갖는 트리 구조와 통신하기 위하여 루트 노드 장치를 포함하는 각 쌍의 장치들 사이에 각각 연결된 버스 커넥션들을 포함하는 통신 시스템에 사용하기 위한 카운팅 장치로서, 상기 카운팅 장치는 상기 장치들중의 각각의 장치들로부터 발생하는 통신 트래픽의 양을 카운트하고, 가장 높은 카운트를 갖는 가장 높은 카운트 장치를 선택하며, 상기 가장 높은 카운트 장치에 보다 근접한 새로운 루트 장치에 대해 상기 트리의 상기 루트의 재정의를 시작하도록 배열되는, 카운팅 장치.
  7. 제 6 항에 있어서, 상기 카운팅 장치는 제 1 테이블과 제 2 테이블을 포함하고, 상기 제 1 테이블은 상기 제 2 테이블의 엔트리들로의 포인터들을 위한 엔트리들을 갖고, 상기 제 1 테이블의 상기 엔트리들은 채널 번호들에 의해 어드레스 지정되며, 상기 제 2 테이블의 상기 엔트리들은 각각의 장치들에 대한 카운트 값들을 위한 것이고, 상기 카운팅 장치는,
    -채널 번호들에 대한 소스들로서 장치들의 할당들을 검출하고,
    -상기 장치들 중의 제 1 장치가 상기 채널 번호들 중의 상기 제 1 번호에 할당되는 것이 검출될 때, 상기 엔트리들 중의 상기 제 1 엔트리에 상기 장치들 중의 상기 제 1 장치로의 포인터를 저장하는, 상기 제 1 테이블에 상기 채널 번호들 중의 상기 제 1 번호에 대한 상기 엔트리들 중의 상기 제 1 엔트리를 변화시키고,
    -상기 통신 구조를 통해 전송되는 상기 채널 수들 중의 송신된 채널 번호를 가진 패킷을 검출하고,
    -상기 제 1 테이블로부터 상기 채널 번호들 중의 상기 송신된 채널 번호에 의해 어드레스 지정된 상기 포인터들 중의 제 1 포인터를 판독하고,
    상기 포인터들 중의 상기 제 1 포인터에 의해 포인팅된 상기 제 2 테이블 내의 엔트리의 카운트를 업데이트하도록 배열되는, 카운팅장치.
  8. 통신 버스를 갖는 장치들의 시스템에서 정보를 통신하는 방법에서, 상기 시스템은 장치들의 쌍들 사이에 버스 커넥션들을 포함하고, 상기 장치들은 각각 메세지들을 전송하기 위한 회로를 포함하며, 상기 장치들은 상기 시스템을 트리 통신 구조로 구성하기 위한 회로들을 포함하고, 상기 장치들 중의 제 1 장치는 루트 노드이고 나머지 장치들은 직접 상기 버스 커넥션들을 통해, 또는 다른 하위 노드들을 통해 상기 루트 노드와 통신하는 하위 노드들이며, 상기 루트 노드와 상기 하위 노드는 상기 통신 구조에 대한 액세스를 중재하도록 허용되고, 상기 루트 노드는 결국 중재를 해결하며, 상기 방법은,
    -상기 장치들의 각각에 의해 송신될 메세지들의 부피를 예측하는 단계와;
    -다른 장치들보다 상대적으로 많은 상기 통신 구조에 대한 액세스를 필요로 할 것으로 예상되는, 상기 장치들 중의 하나를 사용하여 무거운 것을 선택하는 단계와;
    -루트 노드가 되도록 새로운 루트 장치를 동적으로 선택하는 단계로서, 상기새로운 루트 장치는 상기 장치들 중의 하나를 사용하여 상기 새로운 루트 노드 및 이전의 루트 노드로부터 상기 무거운 것으로의 통신에 요구되는 다수의 커넥션들의 관점에서, 상기 루트 노드에 이전에 대응하는 장치보다 상기 장치들 중의 하나를 사용하여 상기 무거운 것에 근접하여 선택되는, 상기 선택 단계를 포함하는, 방법.
KR1020027015045A 2001-03-09 2002-01-28 버스 구조를 통해 통신하는 장치들의 시스템 KR20020094028A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP01200893.4 2001-03-09
EP01200893 2001-03-09
PCT/IB2002/000251 WO2002073900A1 (en) 2001-03-09 2002-01-28 System of apparatuses that communicate via a bus structure

Publications (1)

Publication Number Publication Date
KR20020094028A true KR20020094028A (ko) 2002-12-16

Family

ID=8179988

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027015045A KR20020094028A (ko) 2001-03-09 2002-01-28 버스 구조를 통해 통신하는 장치들의 시스템

Country Status (8)

Country Link
US (1) US7028076B2 (ko)
EP (1) EP1371180B1 (ko)
JP (1) JP2004526365A (ko)
KR (1) KR20020094028A (ko)
CN (1) CN1459172A (ko)
AT (1) ATE347765T1 (ko)
DE (1) DE60216571T2 (ko)
WO (1) WO2002073900A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6725311B1 (en) 2000-09-14 2004-04-20 Microsoft Corporation Method and apparatus for providing a connection-oriented network over a serial bus
US6977939B2 (en) * 2001-01-26 2005-12-20 Microsoft Corporation Method and apparatus for emulating ethernet functionality over a serial bus
US6820150B1 (en) * 2001-04-11 2004-11-16 Microsoft Corporation Method and apparatus for providing quality-of-service delivery facilities over a bus
JP3729265B2 (ja) 2002-08-22 2005-12-21 日本電気株式会社 ネットワークシステム、スパニングツリー構成方法、スパニングツリー構成ノード、及びスパニングツリー構成プログラム
US8352954B2 (en) 2008-06-19 2013-01-08 Commvault Systems, Inc. Data storage resource allocation by employing dynamic methods and blacklisting resource request pools
CN101414949B (zh) * 2008-11-28 2011-05-18 阿里巴巴集团控股有限公司 一种链式数据传输方法、节点及系统
JP5314729B2 (ja) * 2011-04-15 2013-10-16 日本電信電話株式会社 隣接ノード間通信可否検出装置およびその動作方法
US8837277B2 (en) * 2011-06-01 2014-09-16 Cisco Technology, Inc. Source routing convergence in constrained computer networks

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1146431A3 (en) * 1992-12-21 2001-12-19 Apple Computer, Inc. Method for tranforming an arbitrary topology collection of nodes into an acyclic directed graph
US6466992B2 (en) * 1994-12-07 2002-10-15 Next Computer, Inc. Method for providing stand-in objects
US5875301A (en) * 1994-12-19 1999-02-23 Apple Computer, Inc. Method and apparatus for the addition and removal of nodes from a common interconnect
US5835498A (en) * 1995-10-05 1998-11-10 Silicon Image, Inc. System and method for sending multiple data signals over a serial link
US5913205A (en) * 1996-03-29 1999-06-15 Virage, Inc. Query optimization for visual information retrieval system
US5907846A (en) * 1996-06-07 1999-05-25 Electronic Data Systems Corporation Method and system for accessing relational databases using objects
US5963202A (en) * 1997-04-14 1999-10-05 Instant Video Technologies, Inc. System and method for distributing and managing digital video information in a video distribution network
US6038600A (en) * 1997-07-16 2000-03-14 Hewlett-Packard Company Method and system for automatic detection of bridged and repeated network device connections
US6078926A (en) * 1997-12-18 2000-06-20 Persistence Software, Inc. Method and apparatus for performing multi-class object fetch in a database management system
US6411628B1 (en) * 1998-02-02 2002-06-25 Intel Corporation Distributed arbitration on a full duplex bus
US6212171B1 (en) * 1998-06-22 2001-04-03 Intel Corporation Method and apparatus for gap count determination
JP2000250791A (ja) * 1999-03-03 2000-09-14 Nec Corp Dmlオブジェクト再生成時におけるメッセージ表示方法ならびに装置及び同方法がプログラムされ記録された記録媒体
US6763369B1 (en) * 1999-07-13 2004-07-13 Interactive Intelligence, Inc. Hierarchical process management in an intelligent call processing system
US6732331B1 (en) * 2000-02-15 2004-05-04 Vlad Alexander System and process for managing content organized in a tag-delimited template using metadata
US6647396B2 (en) * 2000-12-28 2003-11-11 Trilogy Development Group, Inc. Classification based content management system

Also Published As

Publication number Publication date
DE60216571D1 (de) 2007-01-18
DE60216571T2 (de) 2007-09-20
ATE347765T1 (de) 2006-12-15
JP2004526365A (ja) 2004-08-26
EP1371180B1 (en) 2006-12-06
CN1459172A (zh) 2003-11-26
US20020133632A1 (en) 2002-09-19
US7028076B2 (en) 2006-04-11
WO2002073900A1 (en) 2002-09-19
EP1371180A1 (en) 2003-12-17

Similar Documents

Publication Publication Date Title
US5408465A (en) Flexible scheme for admission control of multimedia streams on integrated networks
US5675573A (en) Delay-minimizing system with guaranteed bandwidth delivery for real-time traffic
KR100222225B1 (ko) 적응 대역폭 할당 방법 및 송신 대역폭 할당을 동적으로 적응시키기 위한 시스템
US5982776A (en) Multipoint-to-point arbitration in a network switch
US6031841A (en) RSVP support for upstream traffic
US6519263B1 (en) Process for transmitting data packets of predefinable priority classes using ethernet from a first device to at least one other device
JP2527913B2 (ja) パケット交換ネットワ―クにおける資源を要求する方法及びシステム
JP3278865B2 (ja) トラヒック制御方法
JP4115703B2 (ja) 通信ネットワークにおける多重パケットをマルチレベルスケジューリングする方法
KR920007482B1 (ko) 데이타 패킷 경로 지정장치
EP1031224B1 (en) Packet network
US20040156367A1 (en) Hierarchically distributed scheduling apparatus and method
JPH11504471A (ja) 非対称型ハイブリッド・アクセス・システム及び方法
US20040081092A1 (en) Admission control method in Internet differentiated service network
JPH08331154A (ja) 最大−最小公平割当を行うパケット交換ネットワーク用混雑制御システムおよび方法
JPH11261589A (ja) Atmネットワーク装置
EP1124357A1 (en) Method and device for communicating between a first and a second network
KR20020094028A (ko) 버스 구조를 통해 통신하는 장치들의 시스템
JP2000312212A (ja) ネットワークリソースの効率的な使用のためのネットワーク要素の遅延割当
JP4335481B2 (ja) 無線非同期伝送モード(atm)システムのための適応セルスケジューリングアルゴリズム
Borgonovo et al. Circuit service in deflection networks
KR20030070350A (ko) 홈 네트워크에서 패킷을 제어하는 방법 및 장치
JP2002527944A (ja) Dtmネットワークにおいて通信チャネルを確立するための方法および装置
JPH10257071A (ja) Atmネットワーク通信方式
JPH09261196A (ja) 1対多通信システムのアクセス方式

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application