KR20050027120A - 데이터 라우팅 시스템 및 방법 - Google Patents

데이터 라우팅 시스템 및 방법 Download PDF

Info

Publication number
KR20050027120A
KR20050027120A KR1020057001102A KR20057001102A KR20050027120A KR 20050027120 A KR20050027120 A KR 20050027120A KR 1020057001102 A KR1020057001102 A KR 1020057001102A KR 20057001102 A KR20057001102 A KR 20057001102A KR 20050027120 A KR20050027120 A KR 20050027120A
Authority
KR
South Korea
Prior art keywords
node
route
data
marker
connection
Prior art date
Application number
KR1020057001102A
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 KR20050027120A publication Critical patent/KR20050027120A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/34Source routing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 처리 네트워크에 처리 리소스를 동적으로 할당하는 방법에 관한 것으로, 상기 네트워크는 네트워크에서 후속하는 상이한 라우트를 패킷 사이에 상대적인 순서 배열을 유지시키기 위해 종료 마커를 부착하는 방법에 의해 데이터 스트림에서의 데이터를 처리하기 위한 노드를 포함한다. 라우트 예약에 의해, 2개의 라우트 사이의 교착 상태 상황은 이에 따라 제거된다. 노드가 라우트 마커(R1)를 수신할 때, 마커는 중단되고, 재-라우팅이 달성된다. 노드가 그 다음 노드(R2)를 수신할 때, 노드는 종료 마커(E1)를 스트림에 삽입하고, 전술한 바와 같이 그 다음 마커(R2)를 해석한다.

Description

데이터 라우팅 시스템 및 방법{SYSTEM AND METHOD FOR DATA ROUTING}
본 발명은 네트워크 처리에 관한 것으로, 더 구체적으로 상기 네트워크에서의 다수의 노드를 통해 데이터를 라우팅하는 시스템 및 방법에 관한 것이다.
처리 네트워크 그래프 표시(representation)는 데이터가 처리를 위해 통과하도록 하는 비동기 데이터 흐름을 확립하는 다수의 처리 노드를 포함한다. 상기 그래프는 노드를 처리하기 위한 구조를 제공할 수 있어서, 상이한 소스는 효과적으로 혼합되어 다양한 데이터 출력 디바이스에 라우팅된다.
다양한 응용에 있어서, 네트워크 그래프는 소프트웨어 계층에서 데이터를 스트리밍하는데 종종 사용된다. 소프트웨어 스트리밍은 처리 노드의 그래프에 의해 표시될 수 있는데, 여기서 노드간의 통신은 데이터의 이산 패킷을 이용하여 이루어지고, 일반적으로 노드가 출력 디바이스를 위한 출력이 되도록 예를 들어 데이터 스트림을 분석, 디코딩 및 처리하기 위한 동작을 수행하는 처리 단계를 나타낼 수 있는 그래프 구조에 위치한 다수의 구성요소에 기초한다. 노드는 패킷을 패킷의 입력 에지로부터 패킷의 출력 에지로 능동적으로 전송하여, 데이터가 그래프를 통해 흐르게 한다. 각 패킷은 그래프를 통한 특정 라우트에 따르며, 상기 특정 라우트는 소스 노드에서 시작하여 싱크(sink) 노드에서 종료한다. 데이터는 그래프를 통한 스트리밍인 것으로 말할 수 있는데, 이는 데이터 패킷을 포함하는 데이터 시퀀스, 데이터 세그먼트 등이 일반적으로 모든 데이터가 소스 노드에서 생성되기 전에 싱크 노드에 벌써 도착하기 때문이다.
전형적으로, 노드간의 연결은 정적인데, 즉 이러한 연결은 데이터가 스트리밍되는 동안 결코 변경되지 않는다. 그러나, 프로그래밍가능 DSP 프로세서의 융통성을 전부 이용하기 위해, 스트리밍 동안 그래프를 변경하는 것이 유리할 수 있다. 그래프를 변경하는 이유는, 후속적인 패킷을 위해 상이한 처리 노드를 통한 라우트를 필요로 하는 스트리밍 그래프 표시를 제어하는 응용에서 특정 모드 변경을 포함한다.
스트리밍 그래프가 변경될 수 있기 전에, 스트리밍 그래프 내에 이미 존재하는 데이터는 플러시(flushed)되어야 하거나, 스트리밍 그래프에서의 존재하는 데이터가 처리되어야 한다. 데이터를 손실하지 않고도 그래프를 재구성하는 것은, 기존의(old) 라우트에서의 데이터가 그래프로부터 스트리밍될 가능성을 갖는 경우에만 가능하다. 그러나, 일반적으로 새로운 라우트를 구성하는 동안 기존의 라우트를 본래 상태로 유지할 수 없는데, 이는, 이러한 라우트가 동일한 리소스를 요구할 수 있기 때문이다. 더욱이, 동일한 소스로부터 유래하는 2개의 후속 패킷이 2개의 상이한 라우트에 뒤따르면, 동적 변경으로 인해, 그 상대적인 순서는 목적지 노드에서 혼란스럽게 될 수 있다.
더욱이, 2개의 라우트가 공통적으로 상이한 순서로 도달하는 하나를 초과하는 노드를 갖는다면, 예를 들어 제 1 라우트가 제 1 노드를 요구(claimed)하고, 제 2 라우트가 제 2 노드를 요구한 후에 2개의 라우트가 다른 노드를 요구하기를 원하는 경우 교착 상태(deadlock)가 발생할 수 있다.
도 1은 4개의 노드의 그래프에서의 2개의 라우트를 도시한 도면.
도 2는 시작 및 종료 마커에 의한 데이터 스트림 분리를 도시한 도면.
도 3은 라우트의 예약을 도시한 도면.
도 4는 라우트에 대한 제 1 연결을 도시한 도면.
도 5는 연결 해제된 도 4의 연결, 및 제 2 라우트에 대한 예약을 도시한 도면.
도 6은 도 3의 라우트의 제 2 연결, 및 제 2 라우트의 제 1 연결을 도시한 도면.
도 7은 라우트(2)의 제 1 연결이 연결 해제되기 전에 제 2 라우트의 제 2 연결을 도시한 도면.
도 8은 본 발명의 노드를 도시한 개략적인 블록도.
이전 데이터가 처리될 때까지 스트림을 중지시키지 않고도 스트리밍 그래프를 변경시키는 것은 많은 응용에 유리할 것이다. 그러므로, 본 발명의 목적은, 데이터 스트림 특성이 변하면서 여전히 목적지 노드에서 패킷의 상대적인 순서를 유지시킬 때 그래프를 변경시키는 전술한 문제를 해결하는 것이다.
더욱이, 본 발명의 목적은, 2개의 라우트가 매우 간단한 방식으로 하나를 초과하는 노드를 공유하는 경우 발생할 수 있는 교착 상태를 방지하는 것이다.
이것은, 데이터를 수신하고, 처리하고, 송신하기 위한 적어도 3개의 노드를 포함하는 처리 네트워크를 통한 데이터의 동적 라우팅 방법(및 대응하는 시스템)에 의해 달성되며, 상기 방법은, 다수의 상기 노드를 통해 선형 라우트를 한정하는 단계로서, 제 1 노드는 라우트의 소스인, 선형 라우트를 한정하는 단계와; 라우트의 한정된 노드 및/또는 확보된 연결을 예약 시간과 연관시키는 라우트 예약 정보를 저장함으로써 소스 노드에서 유래하는 라우트에 대한 연결을 예약하는 단계와; 라우트에 대한 임의의 데이터가 노드로부터 송신되기 전에 소스 노드에서 라우트에 대한 시작 마커(marker)를 송신하는 단계와; 라우트 상의 제 1 노드와 그 다음 노드 사이의 연결을 구축하고, 만약 제 1 노드가 시작 마커를 그 다음 노드로 막 송신하려는 경우, 그 다음 노드가 임의의 업스트림 노드에 아직 연결되지 않은 경우, 및 그 다음 노드의 예약 정보가 상기 그 다음 노드가 제 1 노드에 연결되어야 한다는 것을 나타내는 경우에, 2개의 노드에 대한 예약 정보를 제거하는 단계와; 그 다음 노드가 제 1 노드로부터 라우트 마커의 단부를 수신하고, 그 다음 노드가 제 1 노드에 연결되는 경우 제 1 노드와 그 다음 노드 사이의 연결을 해제하는 단계와; 연결을 통해 임의의 종료 마커, 시작 마커 및 데이터 다운스트림을 송출하는 단계와; 각 노드에 대한 데이터를 라우트 상에 연결된 그 다음 노드로 송신하는 단계와; 후속 데이터가 다른 라우트를 통해 이동해야 할 때 소스 노드에서 종료 마커를 생성 및 송신하는 단계를 포함한다.
라우트는 선형인 것으로 한정되는데, 즉 동일한 라우트는 각 노드를 한번만 방문해야 한다. 더욱이, 라우트는 단일 노드인데, 즉 어떠한 트리 구조 및 서브-라우트도 허용되지 않는다. 그러나, 라우트 자체는 전체 경로 내에서 서브경로로서 한정될 수 있다.
데이터 패킷의 상대적인 순서 배열(ordering)을 유지시키기 위해, 마커는 데이터 스트림을 따라 송신될 것이다. 마커는 예를 들어 번호와 같은 정보 부분이고, 스트림에서의 특수 패킷, 통상의 데이터 패킷에서의 일부 특수 데이터 필드 등으로서 구현될 수 있다. 데이터 스트림이 어떤 라우트에 따라야 하는지를 알 수 있기 위해, 제 1 시작 마커 및 제 2 종료 마커는 소스 노드에 삽입되어, 현재 스트림의 시작 및 종료를 한정한다. 이 실시예에서, 모든 데이터 스트림은 시작 및 종료 마커로 래핑(wrapped)되어야 한다. 종료 마커 뒤의 제 1 패킷은 시작 마커를 항상 포함해야 한다. 그렇지 않으면, 종료 마커에 뒤따르는 데이터 스트림의 라우트는 한정되지 않는다.
다음 설명에 기재된 해결책을 이용하여, 패킷을 스트리밍 그래프를 통해 동적으로 라우팅하기 위한 편리한 고-레벨 인터페이스는 그래프를 제어하는 응용에 제공될 수 있다. 저-레벨 순서 배열 및 동기화에 대한 세부 사항은 라우트의 고-레벨 개념을 제공함으로써 응용으로부터 드러나지 않는다.
바람직한 실시예는 종속항에 한정되어 있다.
본 발명은 바람직한 실시예와 연계하고 도면을 참조하여 아래에 더 구체적으로 설명될 것이다.
도면 전체에, 동일한 참조 번호는 유사하거나 대응하는 특징, 기능, 등을 나타낸다.
도 1은 4개의 노드(A, B, C, D)를 포함하는 그래프 표시의 일례를 도시하며, 여기서 2개의 라우트(R1, R2)는 소스 노드(A)로부터 목적지 노드(D)로 이용가능하다. 어느 쪽이든지, 데이터 스트림은 제 1 라우트{R1=(A,B);(C,D)} 또는 제 2 라우트{R2=(A,C);(C,D)}에 뒤따라야 한다. 라우트{(A,B);(B,C);(C,D) 및 (A,C);(C,B);(B,D)}는 이 예와 관련되지 않는다.
라우트 그래프는 예를 들어 다수의 디지털 신호 프로세서(DSP) 중에서 한정될 수 있고, 각 프로세서는 음성 인코딩, 비디오 처리 등과 같은 상이한 전용 처리 작업에 대해 프로그래밍된다. 그래프의 라우트는 또한 다수의 작업을 위한 소프트웨어를 포함하는 단일 프로세서 내에 존재할 수 있으며, 여기서 라우트는 상이한 처리 기능 중에서 한정된다.
도 2는 각 스트림의 시작 및 종료를 각각 한정하기 위해 R- 및 E- 마커에 의해 분리된 데이터 패킷(D)을 갖는 데이터 스트림을 도시한다. 다음 설명에서, 제 1 노드(1)에서 데이터 스트림의 도달 이전에 이루어진다. 라우트의 결정 및 마커의 부착은 소스 코드에서만 이루어진다. 데이터 스트림에는 초기에 시작 마커만이 더 부착될 수 있다. 이러한 방식으로, 제 1 노드(1)는 스트림에 대응하는 종료 마커를 생성해야 한다. 종료 마커를 갖지 않는 스트림이 노드(1)를 통과하고, 새로운 시작 마커가 도달할 때, 노드(1)는 종료 마커를 생성할 것이고, 연결을 해제하기 전에 데이터 스트림을 따라 상기 종료 마커를 송신하여, 이미 송신된 데이터 스트림의 종료를 한정한다.
예약 정보는 노드의 입력 연결점(ICP) 및 출력 연결점(OCP)에서 큐잉(queued)된다(도 3 참조). 각 노드에 대한 예측된 입력 에지 및 매칭 출력 에지는 각각 ICP 및 OCP에서 FIFO(선입 선출) 순서로 저장된다. 도 3에서 알 수 있듯이, 라우트(R1)는 예약되고, 노드(2)의 입력 연결점은 노드(1)로부터 연결을 수용하도록 예약되고, 노드(1)의 출력 연결점은 노드(2)로 송신하도록 예약된다. 마찬가지로, 노드(2)는 노드(2)로부터 데이터를 수신하도록 예약되는 노드(4)로 송신하도록 예약된다. 데이터가 노드(2)에서 처리될 때, 데이터는 노드(2)의 출력 연결점에 기술된 노드, 즉 예약 정보에 따른 이 예에서 노드(4)로 스트리밍될 것이다.
데이터 스트림의 동기화에 사용하기 위한 패킷의 순서 배열은 예약 순서에 의해 결정된다. 예약은 전체 그래프에 대한 하나의 원자 동작(atomic action)으로 즉시 이루어져서, 라우트들 사이에 전체 순서 배열이 이루어지고, 그 결과, 상충되는 라우트로 인한 교착 상태는 결코 발생하지 않을 것이다. 예약 정보는 ICP/OCP에서 FIFO 순서로 큐잉되어야 한다. 예약 정보 큐에서의 제 1 값은 노드가 먼저 재연결될 노드를 나타낸다.
R1로 표시된 제 1 시작 마커를 갖는 제 1 데이터 스트림이 소스 노드(1)에 도달할 때, OCP 큐에서 선입되는 노드(2)로의 연결이 이루어지고, 참조 번호(1 및 2)는 도 4에 도시된 바와 같이 양쪽 큐로부터 제거된다. R1이 노드(2)에서 수신될 때, 이제 이에 후속하는 데이터는 종료 마커(E1)가 노드(1)에 도달할 때까지 노드(2)로 송신된다.
도 5를 참조하면, 제 2 라우트(R2)에 대한 모든 예약은 R2가 노드(1)에 도달할 때 이루어진다. 노드(4)의 입력에 대해, 2개의 예약 보류(pending), 즉 먼저 라우트(R1)의 연결, 및 이후에 라우트(R2)의 연결을 갖는다는 것을 알 수 있다. 라우트(R1)의 제 1 연결은, 제 2 마커(E1)가 노드(1)에 도달할 때 도 5에서 연결 해제된다. 마커(R2)는 노드(3)에 대한 연결의 생성을 신호 발신(signal)하는데, 이것은 노드(3)의 ICP에서의 예약 정보에 따라 노드(1)에 연결하는 것으로 예측된다. 연결은, 노드(3)가 임의의 업스트림 노드에 연결하지 않을 때 도 6에 도시된 바와 같이 즉시 이루어질 수 있다.
예약이 하나의 원자 동작으로 이루어진다는 것을 주의하자. 소스 노드가 데이터에 선행하여 새로운 라우트 마커를 막 송신하려고 할 때 예약이 이루어진다.
그러나, 라우트는 마커를 데이터 스트림에 삽입할 때 예약되지 않도록 선택될 수 있다. 몇몇 예에서, 마커가 소스 노드에 도달하지만 이 마커에 대해 어떠한 예약도 이루어지지 않을 때 마커가 생성되고 스트림에 삽입되면, 예약 절차는 소스 노드에서 이루어질 수 있다. 즉, 마커를 삽입하고, 스트림이 소스 노드에 도달할 때까지 라우트 예약을 지연시킬 수 있다. 이것은 라우트가 전체 경로의 서브 경로를 한정할 수 있을 때 유용하다. 즉, 각 시작 마커가 다른 시작 마커와 상이한 동안, 상대 순서 배열이 유지될 수 있다.
도 6에서, 데이터는 노드(2)로부터 노드(4)로 송신될 것인데, 이는 노드(4)가 큐잉 정보로 인해 이러한 연결을 수용하기 때문이다. 노드(2)에서의 데이터가 처리되는 것이 종료되기 전에 R2가 노드(3)의 OCP에 도달한다고 가정하면, 연결(3, 4)은 노드(4)에 의해 거부될 것인데, 이는 노드(2)로부터 노드(4)로의 연결이 완료될 때, 즉 2가 FIFO 버퍼 큐의 3 앞에 있다는 사실(도 5에 도시된 바와 같이)로 인해 연결, 송신 및 해제가 이루어질 때 이러한 연결이 먼저 수용되기 때문이다. 노드(2)는 E1이 노드(4)에서 수신될 때 송신을 완료할 것이다. 이러한 방식으로, 스트림 사이의 상대적인 순서 배열은 심지어 노드 프로세스가 비동기적인 경우에도 유지될 것이다.
더욱이, R2가 노드(2)로부터 노드(4)의 데이터를 송신할 동안 노드(3)의 OCP에 도달하면, 노드(3)로부터 노드(4)로의 연결은 차단될 것인데, 이는 4가 현재 연결이 해제되기 전에 임의의 새로운 연결을 수용할 수 없기 때문이다.
E1이 노드(2)의 OCP에 도달할 때, 연결(2,4)은 해제되고, 보류 중인 연결(3,4)은 도 7에 도시된 바와 같이 이루어질 수 있다. 도 7에서, 전체 스트림이 소스 노드를 떠나기 전에 싱크 노드가 도달되는 데이터 스트림을 볼 수 있다.
상기 특징을 요약하기 위해, 시작 마커가 항상 데이터 스트림보다 선행하고, 종료 마커가 항상 데이터 스트림에 뒤따를 것이라고 말할 수 있다. 종료 마커는 연결 해제에 사용되고, 시작 마커는 재연결에 사용된다. 라우트 마커가 노드에 의해 송신되기 바로 전에, 종료 마커가 선행하는 스트림을 종료해야 하기 때문에 노드의 OCP가 연결되지 않는다는 것을 알게 된다. 노드의 OCP는 결정된 라우트에서 그 다음 노드의 입력에 대한 적어도 하나의 예약을 가져야 하는데, 이는 예약이 재연결 이전에 항상 수행되기 때문이다. 그 다음 노드의 ICP가 연결되는지의 여부에 기초하여, 다음 동작이 수행될 것이다:
- 연결되는 경우, 재연결은 대기 상태가 되고, 연결이 제거된 후에 다시 시작될 것이다,
- 연결 해제된 경우, 큐의 헤드에서 그 다음 노드의 ICP가 R-마커가 유래하는 현재 노드에 대한 예약을 갖는지를 체크한다. 만약 예약을 갖는다면, 실제 연결이 이루어진다. 만약 예약을 갖지 않는다면, 재연결은 지연된다.
E-마커는 항상 데이터 스트림을 종료할 것이다. 노드가 E-마커를 수신할 때, 입력에서의 연결은 연결 해제되고, 다른 노드로의 연결이 노드 ICP의 큐를 체크함으로써 보류되는지가 체크된다. 상기 큐가 비어있지 않다면, 큐의 헤드에서 노드와의 연결은 구축된다.
도 8은 주어진 처리 네트워크 그래프 표시에 따른 처리 노드를 포함하는 시스템(801)의 일실시예의 개략도를 도시하며, 상기 시스템은 데이터 버스(805)를 통해 모두 연결된 하나 이상의 마이크로프로세서(802) 및/또는 디지털 신호 프로세서(806), 저장 장치(803), 및 입/출력 수단(804)을 포함한다. 프로세서(들) 및/또는 디지털 신호 프로세서(들)(806)는 저장 장치(803) 및 입/출력 수단(804) 사이의 상호 작용 메커니즘이다. 입/출력 수단(804)은 프로세서 네트워크에서 액세스가능 노드와 통신할 책임이 있으며, 여기서 데이터 스트림의 전송 및 다른 상호 작용은 이용가능한 리소스 파라미터, 네트워크 노드의 노드 성능과 같은 동작 동안 발생할 것이다. 노드 파라미터는 입/출력 수단(804)을 통해 원격 노드로부터 업로딩될 수 있다. 노드 사이의 이러한 통신은 예를 들어 IrDa, 블루투스, IEEE 802.11, 무선 LAN 등을 이용하여 이루어질 수 있지만, 유선 애플리케이션 솔루션에도 이용가능할 것이다. 저장 장치(803)는 전용 컴퓨터 프로그램, 또는 라우트 결정을 위한 업로딩된 노드 파라미터, 리소스 할당의 최적화의 결과 등과 같은 관련 정보를 저장한다.
프로세서 수단(802)은 상기 라우트 결정, 리소스 할당 최적화, 그래프 관리에 대한 책임이 있고, 송신된 데이터를 전용 소프트웨어가 규정하는 정도까지 처리하는 것 등에 대한 책임이 있는 것이 바람직하다. 이를 통해, 프로세서 수단은 네트워크 그래프를 통해 데이터 스트리밍의 데이터 흐름을 결정하는 네트워크 그래프 관리자로서 발생한다. 그래프 관리자, 즉 프로세서 수단(802)은 데이터 스트림을 노드로부터 노드로 교환하는 것을 제어하고 처리한다. 즉, 프로세서 수단은 소스로부터 검색된 데이터를 수신 노드에 적합한 출력으로 변형하는데 필요한 동작을 관리하는데 사용될 수 있다.
디지털 신호 프로세서는 음성 인코딩, 비디오 처리 등과 같은 상이한 처리 작업에 대해 전용 프로그래밍될 수 있다. 어느 쪽도, 단일 멀티-송출 DSP는 수 개의 처리 수단을 포함할 수 있거나, 다수의 DSP는, 각 DSP가 단일 멀티-송출 DSP보다 적은 전용 처리 수단인 처리 작업을 수행하도록 네스팅(nested)될 수 있다.
그래프의 라우트는 다수의 작업을 위한 소프트웨어를 포함하는 단일의 범용 프로세서에 또한 포함될 수 있으며, 여기서 라우트는 상이한 처리 기능 사이에서 한정된다. DSP 대신에 범용 프로세서의 사용은 몇몇 시스템 설계에서 실행가능 옵션(viable option)이다. 전용 DSP가 시스템에서 신호-처리 작업을 다루는데 매우 적합하지만, 대부분의 설계는 또한 라우트 관리 등과 같은 다른 처리 작업을 위한 마이크로프로세서를 필요로 한다. 시스템 기능을 하나의 프로세서에 통합하는 것은, 시스템 부품의 수를 줄이는 것, 전력 소비를 감소시키는 것, 크기를 최소화하는 것, 비용을 낮추는 것 등과 같은 수 개의 공통 설계 목적을 실현하는 최상의 방식일 수 있다. 프로세서 수를 1로 감소시키는 것은 또한 지배될 지령 세트 및 툴 스위트(tool suite)가 적다는 것을 의미한다.
더욱이, 프로세서로 하여금 전제부에 따른 처리 네트워크에서 처리 리소스를 동적으로 할당하는 것을 수행하도록 하기 위한 프로그램을 포함하는 컴퓨터 판독가능 매체는, 다수의 네트워크 노드를 통해 라우트를 결정하고 다수의 노드를 예약하는 단계와; 제 1 마커 및 제 2 마커를 데이터 스트림에 부착하는 단계로서, 상기 제 1 마커는 라우트와 연관되는, 부착 단계와; 라우트의 제 1 노드를 라우트의 제 2 노드에 연결시키는 단계로서, 여기서 제 2 노드는 연관된 제 1 마커에 의해 지정되는, 연결 단계와; 제 1 및 제 2 노드 사이의 연결이 구축될 때 상기 데이터 스트림을 제 1 노드로부터 제 2 노드로 송신하는 단계와; 본 발명에 따라 기술된 바와 같이 제 2 마커가 제 1 노드에 도달할 때 연결을 해제하는 단계를 특징으로 한다.
컴퓨터 판독가능 매체는 이러한 정황에서, 물리적 컴퓨터 ROM 및 RAM과 같은 프로그램 저장 매체와, 착탈식과 유사한 비-착탈식 저장 드라이브와, 자기 테이프와, 광 디스크와, 디지털 비디오 디스크(DVD)와, 컴팩트 디스크(CD 또는 CD-ROM)와, 미니-디스크와, 하드 디스크와, 플로피 디스크와, 스마트 카드와, PCMCIA 카드와, 예를 들어 근거리 네트워크(LAN), 광역 네트워크(WAN), 또는 이들의 조합, 예를 들어 인터넷, 인트라넷, 익스트라넷 등과 같은 데이터 네트워크로부터 얻은 정보일 수 있다.
상술한 바와 같이, 본 발명은 네트워크 처리에 관한 것으로, 더 구체적으로 데이터를 상기 네트워크에서 다수의 노드를 통해 라우팅하는 시스템 및 방법 등에 이용된다.

Claims (16)

  1. 데이터의 수신, 처리, 및 송신을 위한 적어도 3개의 노드를 포함하는 처리 네트워크를 통해 데이터를 동적으로 라우팅하는 방법으로서,
    - 상기 다수의 노드를 통해 선형 라우트를 한정하는 단계로서, 제 1 노드는 상기 라우트의 소스인, 선형 라우트의 한정 단계와;
    - 라우트의 한정된 노드 및/또는 예약된 연결을 예약 시간과 연관시키는 라우트 예약 정보를 저장함으로써 상기 소스 노드에서 유래하는 상기 라우트를 위한 연결을 예약하는 단계와;
    - 상기 라우트를 위한 임의의 데이터가 상기 소스 노드로부터 송신되기 전에 상기 소스 노드에서 상기 라우트를 위한 시작 마커(start marker)를 송신하는 단계와;
    - 상기 소스 노드와 상기 라우트 상의 그 다음 노드 사이에 연결을 구축하고, 만약,
    a) 상기 소스 노드가 시작 마커를 그 다음 노드로 막 송신하려는 경우와,
    b) 그 다음 노드가 임의의 업스트림 노드에 아직 연결되지 않은 경우와,
    c) 그 다음 노드의 예약 정보가 상기 그 다음 노드가 상기 소스 노드에 연결되어야 한다는 것을 나타내는 경우에,
    상기 2개의 노드에 대한 예약 정보를 제거하는 단계와;
    - 만약,
    a) 그 다음 노드가 상기 소스 노드로부터 라우트 마커의 종료를 수신한 경우와,
    b) 그 다음 노드가 상기 소스 노드에 연결되는 경우에
    상기 소스 노드와 그 다음 노드 사이의 연결을 연결 해제(disconnecting)하는 단계와;
    - 상기 연결을 통해 상기 종료 마커, 시작 마커 및 데이터 다운스트림을 송출하는 단계와;
    - 각 노드에 대한 데이터를 상기 라우트 상에 연결된 그 다음 노드로 송신하는 단계와;
    - 어떠한 상기 종료 마커도 아직 삽입되지 않은 경우 후속 데이터가 다른 라우트를 통해 이동해야 할 때 소스 노드에서 종료 마커를 생성 및 송신하는 단계를
    포함하는, 처리 네트워크를 통해 데이터를 동적으로 라우팅하는 방법.
  2. 제 1항에 있어서, 상기 예약 단계는 전체 라우트에 대한 하나의 원자 동작(atomic action)으로서 이루어지는 것을 특징으로 하는, 처리 네트워크를 통해 데이터를 동적으로 라우팅하는 방법.
  3. 제 1항에 있어서, 상기 예약 정보는, 제 1 입력 연결점(ICP)의 FIFO 큐(queue), 및 제 2 출력 연결점(OCP)의 FIFO 큐에서 라우트 상의 노드에 저장되고, 여기서 다수의 노드 식별자는 각 큐에 저장될 수 있으며; 각 식별자는 상기 큐에 있는 예약 정보에 따라 상기 예약 정보를 저장하는 노드가 연결되어야 하는 인접 노드를 나타내는 것을 특징으로 하는, 처리 네트워크를 통해 데이터를 동적으로 라우팅하는 방법.
  4. 제 1항에 있어서, 상기 시작 마커는 데이터 스트림보다 선행하고, 종료 마커는 데이터 스트림을 종료시키는데, 여기서 이러한 순서 배열(ordering)은 항상 유지되는 것을 특징으로 하는, 처리 네트워크를 통해 데이터를 동적으로 라우팅하는 방법.
  5. 제 1항에 있어서, 시작 및 종료 마커는 데이터 스트림의 특성이 변경되는 경우 상기 데이터 스트림에만 삽입되는 것을 특징으로 하는, 처리 네트워크를 통해 데이터를 동적으로 라우팅하는 방법.
  6. 제 1항에 있어서, 스트림에 있는 데이터는 노드 내에서 버퍼링될 수 있는 것을 특징으로 하는, 처리 네트워크를 통해 데이터를 동적으로 라우팅하는 방법.
  7. 제 1항에 있어서, 라우트는 데이터 스트림에 의해 방문된 노드의 총 목록의 세그먼트만을 묘사하는 것을 특징으로 하는, 처리 네트워크를 통해 데이터를 동적으로 라우팅하는 방법.
  8. 제 1항에 있어서, 상기 그 다음 노드는 제 1 노드로 지정되고, 상기 라우트에 따른 이러한 노드 다음에 오는 노드는 그 다음 노드로 지정되고, 상기 제 1 노드 및 그 다음 노드를 구축하고, 연결 해제하고, 송출하고, 송신하고, 지정하는 단계는 상기 라우트의 종료 마커가 목적지 노드에 도달할 때까지 반복되는 것을 특징으로 하는, 처리 네트워크를 통해 데이터를 동적으로 라우팅하는 방법.
  9. 데이터를 수신, 처리 및 송신하기 위한 적어도 3개의 노드 수단을 포함하는, 처리 네트워크를 통해 데이터를 동적으로 라우팅하는 시스템으로서,
    - 상기 다수의 노드 수단를 통해 선형 라우트를 한정하는 수단으로서, 제 1 노드는 상기 라우트의 소스인, 선형 라우트의 한정 수단과;
    - 라우트의 한정된 노드 및/또는 예약된 연결을 예약 시간과 연관시키는 라우트 예약 정보를 저장함으로써 상기 소스 노드에서 유래하는 상기 라우트를 위한 연결을 예약하는 수단과;
    - 상기 라우트를 위한 임의의 데이터가 상기 소스 노드로부터 송신되기 전에 상기 소스 노드에서 상기 라우트를 위한 시작 마커를 송신하는 수단과;
    - 상기 제 1 노드와 상기 라우트 상의 그 다음 노드 사이에 연결을 구축하고, 만약,
    a) 상기 제 1노드가 시작 마커를 그 다음 노드로 막 송신하려는 경우와,
    b) 그 다음 노드가 임의의 업스트림 노드에 아직 연결되지 않은 경우와,
    c) 그 다음 노드의 예약 정보가 상기 그 다음 노드가 상기 제 1 노드에 연결되어야 한다는 것을 나타내는 경우에,
    상기 2개의 노드에 대한 예약 정보를 제거하는 수단과;
    - 만약,
    a) 그 다음 노드가 상기 제 1 노드로부터 라우트 마커의 종료를 수신한 경우와,
    b) 그 다음 노드가 상기 제 1 노드에 연결되는 경우에
    상기 제 1 노드와 그 다음 노드 사이의 연결을 연결 해제하는 수단과;
    - 상기 연결을 통해 상기 종료 마커, 시작 마커 및 데이터 다운스트림을 송출하는 수단과;
    - 각 노드에 대한 데이터를 상기 라우트 상에 연결된 그 다음 노드로 송신하는 수단과;
    - 후속 데이터가 다른 라우트를 통해 이동해야 할 때 소스 노드에서 종료 마커를 생성 및 송신하는 수단을
    포함하는, 처리 네트워크를 통해 데이터를 동적으로 라우팅하는 시스템.
  10. 제 9항에 있어서, 상기 예약 수단은, 하나의 원자 동작으로서 이루어지는 것을 특징으로 하는, 처리 네트워크를 통해 데이터를 동적으로 라우팅하는 시스템.
  11. 제 9항에 있어서, 상기 예약 정보는, 라우트 상의 노드에서 제 1 입력 연결점(ICP)의 FIFO 큐, 및 제 2 출력 연결점(OCP)의 FIFO 큐로 저장되고, 여기서 다수의 노드 식별자는 각 큐에 저장될 수 있으며; 각 식별자는 상기 큐에 있는 예약 정보에 따라 상기 예약 정보를 저장하는 노드가 연결되어야 하는 인접 노드를 나타내는 것을 특징으로 하는, 처리 네트워크를 통해 데이터를 동적으로 라우팅하는 시스템.
  12. 제 9항에 있어서, 상기 시작 마커는 데이터 스트림보다 선행하고, 종료 마커는 데이터 스트림을 종료시키는데, 여기서 이러한 순서 배열은 항상 유지되는 것을 특징으로 하는, 처리 네트워크를 통해 데이터를 동적으로 라우팅하는 시스템.
  13. 제 9항에 있어서, 시작 및 종료 마커는 데이터 스트림의 특성이 변경되는 경우 상기 데이터 스트림에만 삽입되는 것을 특징으로 하는, 처리 네트워크를 통해 데이터를 동적으로 라우팅하는 시스템.
  14. 제 9항에 있어서, 스트림에 있는 데이터는 노드 내에서 버퍼링될 수 있는 것을 특징으로 하는, 처리 네트워크를 통해 데이터를 동적으로 라우팅하는 시스템.
  15. 제 9항에 있어서, 라우트는 데이터 스트림에 의해 방문된 노드의 총 목록의 세그먼트만을 묘사하는 것을 특징으로 하는, 처리 네트워크를 통해 데이터를 동적으로 라우팅하는 시스템.
  16. 제 1항 내지 제 8항 중 어느 한 항에 기재된, 처리 네트워크를 통해 데이터를 동적으로 라우팅하는 방법을 프로세서가 수행하도록 하는 프로그램을 포함하는, 컴퓨터 판독가능 매체.
KR1020057001102A 2002-07-25 2003-06-25 데이터 라우팅 시스템 및 방법 KR20050027120A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP02078040 2002-07-25
EP02078040.9 2002-07-25

Publications (1)

Publication Number Publication Date
KR20050027120A true KR20050027120A (ko) 2005-03-17

Family

ID=30775847

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057001102A KR20050027120A (ko) 2002-07-25 2003-06-25 데이터 라우팅 시스템 및 방법

Country Status (7)

Country Link
US (1) US20050223112A1 (ko)
EP (1) EP1527569A1 (ko)
JP (1) JP2005534245A (ko)
KR (1) KR20050027120A (ko)
CN (1) CN1672371A (ko)
AU (1) AU2003244925A1 (ko)
WO (1) WO2004012400A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100433703C (zh) * 2005-07-22 2008-11-12 上海贝尔阿尔卡特股份有限公司 一种全局路由方法
US8126470B2 (en) * 2006-07-03 2012-02-28 Nokia Corporation Topology and route discovery and management for relay networks
US9258097B2 (en) * 2013-07-20 2016-02-09 Cisco Technology, Inc. Configuring new paths in a wireless deterministic network

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5181017A (en) * 1989-07-27 1993-01-19 Ibm Corporation Adaptive routing in a parallel computing system
DE69829203T2 (de) * 1997-11-03 2006-02-16 British Telecommunications P.L.C. Paketnetzwerk
US6453360B1 (en) * 1999-03-01 2002-09-17 Sun Microsystems, Inc. High performance network interface
US6988133B1 (en) * 2000-10-31 2006-01-17 Cisco Technology, Inc. Method and apparatus for communicating network quality of service policy information to a plurality of policy enforcement points
GB2377139A (en) * 2001-06-29 2002-12-31 Zarlink Semiconductor Ltd Network gateway utilising DMA controller to transfer data between buffers

Also Published As

Publication number Publication date
AU2003244925A1 (en) 2004-02-16
WO2004012400A1 (en) 2004-02-05
JP2005534245A (ja) 2005-11-10
CN1672371A (zh) 2005-09-21
US20050223112A1 (en) 2005-10-06
EP1527569A1 (en) 2005-05-04

Similar Documents

Publication Publication Date Title
JP2868178B2 (ja) 所定のサービス品質でのデータ要素の伝送を保証する方法及び装置
Malcolm et al. The timed-token protocol for real-time communications
KR0156475B1 (ko) 자원 예약치의 수동 입력을 위한 그래픽 인터페이스를 갖는 멀티미디어 자원 예약 시스템
JP2528626B2 (ja) デ―タ通信方法及び装置
JP2682561B2 (ja) プログラマブル回線アダプタ
US7054946B2 (en) Dynamic configuration of network devices to enable data transfers
EP0632671A2 (en) Method and apparatus for reserving system resources to ensure quality of service
TW200920035A (en) Enhancement of end-to-end network QoS
JPH07288546A (ja) 回線アダプタおよび経路指定方法
Hehmann et al. Implementing HeiTS: Architecture and implementation strategy of the Heidelberg high-speed transport system
JPH0732398B2 (ja) バス・アクセス制御方法
JPH0683235B2 (ja) 2つのクラスのトラヒックの送信制御方法および装置
CN111382115B (zh) 一种用于片上网络的路径创建方法、装置及电子设备
CN114679415B (zh) 一种满足AXI5-Lite协议标准的无阻塞banyan网络
CN112019363A (zh) 确定业务传输需求的方法、设备及系统
KR20050027120A (ko) 데이터 라우팅 시스템 및 방법
US7643502B2 (en) Method and apparatus to perform frame coalescing
JPS61140253A (ja) パケツト転送方式
US20040105446A1 (en) Routing apparatus and method for guaranteeing quality of service on internet
US20120163398A1 (en) Communication apparatus, relay apparatus, and network system
US7006442B1 (en) Communication control system and control method thereof
Ofek Integration of voice communication on a synchronous optical hypergraph
JP7456603B2 (ja) スイッチ装置
JP3595143B2 (ja) 通信属性設定・通信量処理通信機器
KR20220053383A (ko) Nf 서비스 연동 지원장치 및 nf 서비스 연동 지원방법

Legal Events

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