KR20010018814A - Ieee1394 원거리 접속장치간의 패킷 전송 제어방법 및 장치 - Google Patents

Ieee1394 원거리 접속장치간의 패킷 전송 제어방법 및 장치 Download PDF

Info

Publication number
KR20010018814A
KR20010018814A KR1019990034925A KR19990034925A KR20010018814A KR 20010018814 A KR20010018814 A KR 20010018814A KR 1019990034925 A KR1019990034925 A KR 1019990034925A KR 19990034925 A KR19990034925 A KR 19990034925A KR 20010018814 A KR20010018814 A KR 20010018814A
Authority
KR
South Korea
Prior art keywords
packet
agent node
node
data
agent
Prior art date
Application number
KR1019990034925A
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 윤종용
Priority to KR1019990034925A priority Critical patent/KR20010018814A/ko
Publication of KR20010018814A publication Critical patent/KR20010018814A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4535Network directories; Name-to-address mapping using an address exchange platform which sets up a session between two nodes, e.g. rendezvous servers, session initiation protocols [SIP] registrars or H.323 gatekeepers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Small-Scale Networks (AREA)

Abstract

본 발명은, 하나 이상의 IEEE1394 노드를 포함하는 IEEE1394 네트웍에 연결되는 에이전트 노드와 상기 네트웍의 원거리에 위치한 하나의 IEEE1394 노드에 연결되는 에이전트 노드간의 패킷 데이터 전송을 위한 제어 방법에 있어서, 에이전트 노드가 상대방 에이전트 노드로 패킷을 전송할 때에 그 패킷이 비동기식 패킷인가 등시성 패킷인가 초기화 패킷인가 승인 패킷인가 혹은 명령 정보를 포함하는가를 나타내는 헤더를 포함하는 패킷 데이터를 생성하여 이 패킷을 전송하는 것을 특징으로 한다.
본 발명에 의하면, IEEE1394 노드들을 포함하는 IEEE1394 시스템들이 IEEE1394 버스 혹은 IEEE1394 노드들을 하드웨어적으로 그리고 소프트웨어적으로 수정을 하지 않고 IEEE1394 노드간의 원거리 접속이 가능하고 이때에 성능 저하가 최소화되도록 하는 것이 가능해진다.

Description

IEEE1394 원거리 접속 장치간의 패킷 전송 제어 방법 및 장치 {Method and apparatus for controlling the packet transmission between IEEE1394 agent nodes }
본 발명은 IEEE1394 네트웍에 관한 것으로, 특히 다중 커넥션용 에이전트 노드와 상기 네트웍의 원거리에 위치한 하나의 IEEE1394 노드에 연결되는 단일 커넥션용 에이전트 노드간의 패킷 데이터 전송을 위한 IEEE1394 원거리 접속 장치간의 제어 방법 및 장치에 관한 것이다.
IEEE1394 버스의 에이전트 노드(agent node)는 멀리 떨어진 두 개의 IEEE1394 버스들을 하나의 시리얼 버스망(serial bus net)에 연결할 수 있는 IEEE1394 시리얼 버스 노드를 의미한다. 하나의 에이전트 노드는 두 개의 포트를 가지도록 구현되는데, 한 포트는 IEEE1394 시리얼 버스 노드들에 연결되기 위한 것이며, 다른 하나는 다른 에이전트 노드에 연결되기 위한 것이다.
도 1은 하나 이상의 노드로 구성된 IEEE1394 네트웍에 연결되는 다중 커넥션용 에이전트 노드(Agent Node connected to Multiple 1394 nodes, 이하 AN-M이라 함)(10)와 하나의 IEEE1394 노드에 연결되는 단일 커넥션용 에이전트 노드(Agent Node connected to Single 1394 node, 이하 AN-S이라 함)(12)간의 접속 형태의 일 예를 도시한 것이다.
도 1에서와 같이 에이전트 노드에 의해서 IEEE1394 시리얼 버스는 두 가지로 구분된다. 그 하나는 AN-M과 그에 연결된 하나 이상의 IEEE1394 노드들이며, 다른 하나는 AN-S와 리모트 노드(remote) 하나만으로 구성된 버스이다. 도 1에서 표시된 노드 ID는 하나의 예이다. 초기화 상황에 따라 각 노드들의 ID는 바뀔 수 있다.
노드들간의 연결 길이가 4.5m를 넘으면 그 시리얼 버스 노드는 다른 노드들에 대해 리모트라고 한다. 즉 리모트 노드는 연결된 다른 노드들과의 거리가 4.5 m를 넘는 노드이다.
AN-M(10)은 AN-S(12)에 연결된 리모트 노드와 동일한 노드 ID(도 1의 경우 ID는 4)를 가지는 리모트 노드처럼 보이며 리모트 노드와의 통신을 중간에서 보장하는 에이전트 노드의 역할을 한다. AN-S(12)는 AN-M(10)과 동일하게 상대편의 에이전트 노드의 역할을 하는 면에서는 같지만, 다른 점은 AN-M(10)에 연결된 하나 이상의 IEEE1394 노드들 모두를 위한 에이전트 역할을 해야 한다. 그러므로 초기화 시에도 AN-S(12)가 AN-M(10)측에 연결된 IEEE1394 노드들의 모든 ID(도 1에서 ID 0, 1, 2, 3, 5)를 가진 것처럼 즉, IEEE1394 노드들이 모두 AN-S 측의 리모트 노드에 직접 연결된 것처럼 가상 네트웍을 구성하게 된다.
IEEE1394 표준에 따라 최대 63개의 IEEE1394 노드들이 하나의 버스를 구성할 수 있으나 각 노드간의 거리는 4.5m 이하로 제한되어 있다. 이를 넘는 길이가 필요한 경우에 동일한 버스 내에서 거리 확장을 위해서는 리피터(repeater)를 사용할 수 있다. 그러나, 이는 IEEE1394 네트웍의 성능을 저하시킬 수 있다.
그러므로 에이전트 노드들 간의 길이를 4.5m 이상으로 확장하면서 IEEE1394 네트웍의 성능 저하를 최소화하는 경우 에이전트 노드들간의 효율적인 제어 방법이 필요하다.
본 발명이 이루고자 하는 기술적인 과제는, IEEE1394 네트웍에서 에이전트 노드들간의 거리를 4.5m 이상으로 확장하는 경우 에이전트 노드들간의 전송을 제어하는 방법 및 장치를 제공하는데 있다.
도 1은 하나 이상의 노드로 구성된 IEEE1394 네트웍에 연결되는 다중 커넥션용 에이전트 노드와 하나의 IEEE1394 노드에 연결되는 단일 커넥션용 에이전트 노드간의 접속 형태의 일 예를 도시한 것이다.
도 2는 본 발명에 따른 에이전트 노드들간의 제어 흐름을 도시한 것이다.
도 3은 본 발명에 따른 에이전트 노드들간에 정보 전송에 사용되는 패킷의 기본 패킷 형식을 도시한 것이다.
도 4는 본 발명에 따른 self-ID 패킷을 도시한 것이다.
도 5는 본 발명에 따른 제어 패킷의 형식의 일 예를 도시한 것이다.
도 6은 본 발명에 따른 초기화 패킷의 형식의 일 예를 도시한 것이다.
도 7은 본 발명에 따른 명령 패킷의 형식의 일 예를 도시한 것이다.
도 8은 본 발명에 따른 승인 패킷의 형식의 일 예를 도시한 것이다.
도 9는 에이전트 노드간의 전체적인 초기화 과정을 나타내는 도면이다.
도 10의 본 발명에 따른 에이전트 노드의 프로토콜 스택을 도시한 것이다.
도 11은 본 발명에 따라 AN-M에서 초기화 혹은 리셋이 시작되어 AN-S로 전달하는 과정의 흐름을 도시한 것이다.
도 12는 도 1의 네트웍의 접속 형태가 가상 네트웍 구성이 완료된 상태를 도시한 것이다.
도 13은 본 발명에 따라 AN-S에서 리셋이 발생하거나 초기화가 시작되어 AN-M으로 전달되는 경우의 흐름을 도시한 것이다.
도 14는 본 발명에 따른 비동기식 전송의 흐름의 일 예를 도시한 것이다.
도 15는 패킷 번호 1에 대한 승인이 소정의 시간 내에 오지 않는 경우에 본 발명에 따라 재전송하는 과정을 도시한 것이다.
도 16은 본 발명에 따른 등시성 전송의 흐름의 일 예를 도시한 것이다.
도 17은 본 발명에 따른 에이전트 노드간의 패킷 전송과 처리 순서를 도시한 것이다.
도 18은 본 발명에 따른 에이전트 노드를 구현하기 위한 하드웨어의 일 예를 도시한 것이다.
도 19는 본 발명에 따른 에이전트 노드를 도 10의 프로토콜 스택의 기능 블록별로 구현하기 위한 하드웨어의 일 예를 도시한 것이다.
상기 기술적 과제를 해결하기 위한 본 발명에 의한, 하나 이상의 IEEE1394 노드를 포함하는 IEEE1394 네트웍에 연결되는 다중 커넥션용 에이전트 노드와 상기 네트웍의 원거리에 위치한 하나의 IEEE1394 노드에 연결되는 단일 커넥션용 에이전트 노드간의 패킷 데이터 전송을 위한 제어 방법에 있어서, 상기 에이전트 노드가 상대방 에이전트 노드로 패킷을 전송할 때에 전송되는 패킷의 종류가 패킷을 전송한 에이전트 노드가 그 패킷을 받았다는 상대방 노드의 승인 패킷을 받아야 하는 비동기식 패킷인가 혹은 패킷이 소정의 클럭에 동기되어 전송되고 그 패킷을 전송한 에이전트 노드가 전송된 그 패킷을 받았다는 승인 패킷을 받을 필요가 없는 등시성 패킷인가 혹은 한 에이전트 노드의 초기화를 상대방 에이전트 노드에게 알리는 패킷인가 혹은 상기 비동기식 패킷을 수신한 것에 대한 응답을 하는 승인 패킷인가 혹은 에이전트의 동작에 관련된 명령 정보를 포함하는가를 나타내는 헤더를 포함하는 패킷 데이터 형식을 생성하는 단계; 및 상기 패킷 데이터 형식을 생성한 에이전트 노드가 다른 에이전트 노드에게 상기 패킷 데이터 형식의 패킷을 전송하는 패킷 전송 단계를 포함하는 것을 특징으로 한다.
상기 헤더는 오류 검출을 위한 오류 코드 필드를 더 포함하는 것을 특징으로 한다.
상기 다른 기술적 과제를 해결하기 위한 본 발명에 의한, 하나 이상의 IEEE1394 노드를 포함하는 IEEE1394 네트웍에 연결되는 다중 커넥션용 에이전트 노드와 상기 네트웍의 원거리에 위치한 하나의 IEEE1394 노드에 연결되는 단일 커넥션용 에이전트 노드간에 상기 다중 커넥션용 에이전트 노드에서 상기 단일 커넥션용 에이전트 노드로 초기화하는 방법에 있어서, 상기 다중 커넥션용 에이전트 노드가 상기 단일 커넥션용 에이전트 노드로 초기화를 알리면 상기 단일 커넥션용 에이전트 노드는 자신에 연결된 1394 노드의 self-ID를 상기 다중 커넥션용 에이전트 노드로 전송하는 초기화 1단계; 상기 다중 커넥션용 에이전트 노드가 자신에 연결된 1394 노드들의 self-ID들을 상기 단일 커넥션용 에이전트 노드에게 전송하는 초기화 2단계; 상기 단일 커넥션용 에이전트 노드가 가상 네트웍을 구성하는 초기화 3단계; 및 상기 단일 커넥션용 에이전트 노드가 상기 다중 커넥션용 에이전트 노드에게 초기화가 완료되었다는 알리는 초기화 4단계를 포함하는 것을 특징으로 한다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 의한, 하나 이상의 IEEE1394 노드를 포함하는 IEEE1394 네트웍에 연결되는 다중 커넥션용 에이전트 노드와 상기 네트웍의 원거리에 위치한 하나의 IEEE1394 노드에 연결되는 단일 커넥션용 에이전트 노드간에 상기 단일 커넥션용 에이전트 노드에서 상기 다중 커넥션용 에이전트 노드로 초기화하는 방법에 있어서, 상기 단일 커넥션용 에이전트 노드가 상기 다중 커넥션용 에이전트 노드로 초기화 패킷과 자신에 연결된 1394 노드의 self-ID를 상기 단일 커넥션용 에이전트 노드에 전송하는 초기화 1단계; 상기 다중 커넥션용 에이전트 노드가 자신에 연결된 1394 노드들의 self-ID들을 상기 단일 커넥션용 에이전트 노드에게 전송하는 초기화 2단계; 상기 단일 커넥션용 에이전트 노드가 가상 네트웍을 구성하는 초기화 3단계; 및 상기 단일 커넥션용 에이전트 노드가 상기 다중 커넥션용 에이전트 노드에게 초기화가 완료되었다는 알리는 초기화 4단계를 포함하는 것을 특징으로 한다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 의한, 하나 이상의 IEEE1394 노드를 포함하는 IEEE1394 네트웍에 연결되는 다중 커넥션용 에이전트 노드와 상기 네트웍의 원거리에 위치한 하나의 IEEE1394 노드에 연결되는 단일 커넥션용 에이전트 노드간에 비동기식 패킷을 전송하는 방법에 있어서, 비동기 패킷의 번호를 구비하는 비동기 헤더를 생성하는 단계; 및 상기 패킷 번호를 포함하는 비동기식 패킷을 다른 에이전트 노드에 전송하는 단계를 포함하는 것을 특징으로 한다.
상기 헤더를 생성하는 단계는, 에이전트 노드가 다른 에이전트 노드에게 전송할 패킷 데이터가 비동기식 데이터인가를 확인하는 단계를 포함하고, 상기 패킷을 전송하는 단계는, 상기 전송된 비동기식 패킷 데이터를 수신한 에이전트 노드는 수신한 것을 확인하며 수신된 상기 비동기식 패킷 데이터에 포함된 패킷 번호를 포함하는 승인 패킷을 상기 비동기식 패킷 데이터를 전송한 에이전트 노드에 전송하는 단계를 포함하는 것을 특징으로 한다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 의한, 하나 이상의 IEEE1394 노드를 포함하는 IEEE1394 네트웍에 연결되는 다중 커넥션용 에이전트 노드와 상기 네트웍의 원거리에 위치한 하나의 IEEE1394 노드에 연결되는 단일 커넥션용 에이전트 노드간에 등시성 패킷을 전송하는 방법에 있어서, 전송할 패킷이 등시성 패킷인가를 확인하는 단계; 및 한 에이전트 노드가 등시성 패킷을 다른 에이전트 노드에 전송하는 단계를 포함하는 것을 특징으로 한다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 의한, 한 포트는 한 개 이상의 IEEE1394 버스 노드들에 연결되며 다른 한 포트는 다른 에이전트 노드에 연결되는 에이전트 노드에 있어서, 상기 한 개 이상의 1394 노드로부터 전송되는 패킷 데이터를 수신하는 1394 데이터 수신부; 상기 1394 데이터 수신부가 수신한 패킷 데이터가 데이터를 전송한 후에 데이터를 받았다는 승인 패킷을 받아야 전송이 완료되는 비동기식 패킷인가 혹은 승인 패킷이 필요하지 않은 등시성 패킷인지를 판단하고 다른 에이전트 노드로 전송하지 않고 에이전트 노드에서 사용될 데이터인지 혹은 다른 에이전트 노드로 전송되어야 하는 데이터인지를 판단하고, 에이전트 노드에서 사용할 데이터라면 승인 패킷인지를 판단하고 다른 에이전트 노드로 전송될 데이터인 경우 각 IEEE1394 노드들의 self-ID를 포함하는 패킷인지를 판단하는 1394 데이터 분석부; 상기 다른 에이전트 노드에서 수신한 패킷 데이터를 수신하는 에이전트 데이터 수신부; 상기 에이전트 데이터 수신부가 수신한 패킷 데이터가 비동기식 패킷인지 등시성 패킷인가를 판단하고 에이전트 노드에서 사용되는 데이터인가 혹은 상기 IEEE1394 버스 노드들로 전송되어야 할 데이터인가를 판단하는 에이전트 데이터 분석부; 상기 다른 에이전트에 전송할 정보를 포함하는 헤더나 상기 다른 에이전트 노드로 전송할 것으로 분석된 데이터에 대응하는 헤더를 생성하는 헤더 생성부; 상기 헤더 생성부가 생성한 헤더나 상기 다른 에이전트 노드로 전송할 데이터에 상기 헤더 생성부가 생성한 대응하는 헤더를 결합하여 생성된 패킷 데이터를 상기 다른 에이전트 노드로 전송하는 에이전트 데이타 송신부; 및 상기 에이전트 노드가 상기 IEEE1394 버스 노드들에 패킷 데이터를 전송하거나 상기 에이전트 패킷 분석부가 상기 IEEE1394 버스 노드들중의 하나로 전송할 것으로 분석한 데이터에서 에이전트 사이에서만 필요한 헤더를 제거하여 상기 IEEE1394 버스 노드들 중에 대응하는 노드로 전송하는 1394 데이터 전송부를 포함하는 것을 특징으로 한다.
상기 1394 데이터 분석부는 상기 1394 데이터 수신부가 수신한 데이터의 오류를 검출하는 오류 검출부를 더 포함하며, 상기 1394 데이터 송신부는 상기 1394 데이터 수신부가 수신한 데이터에 오류가 발생하면 이를 알리는 정보를 포함하는 패킷 데이터를 상기 데이터를 송신한 IEEE1394 노드에게 전송하는 것을 특징으로 한다.
상기 에이전트 데이터 분석부는 상기 에이전트 데이터 수신부가 수신한 데이터의 오류를 검출하는 오류 검출부를 더 포함하며, 상기 오류 검출부는 수신한 데이터에 오류가 있으면 오류 발생 신호를 출력하고, 상기 헤더 생성부는 상기 오류 검출부 오류 발생 신호를 수신하면 오류 발생한 내용을 포함하는 헤더를 생성하며, 상기 에이전트 데이터 송신부는 오류 정보를 포함하는 헤더를 포함한 패킷 데이터를 상기 다른 에이전트 노드에 전송하는 것을 특징으로 한다.
이하에서 첨부된 도면을 참조하여 본 발명의 바람직한 일 실시예를 상세히 설명한다.
다음에 본 발명에 따른 기본적인 동작들을 자세하게 설명할 것이다. 이런 기본적인 동작에 따라 1394 네트웍에서의 에이전트 노드들의 구체적인 동작이 설명될 것이다.
본 발명에 따른 에이전트 노드간의 패킷 전송 제어 방법은 IEEE1394 노드간의 전송 규약과는 독립적으로 에이전트 노드간의 포인트 투 포인트(point-to-point) 방식으로 에이전트 노드간의 패킷 전송을 위한 제어 방법이다.
도 2는 본 발명에 따른 에이전트 노드들간의 제어 흐름을 도시한 것이다.
하나 이상의 노드로 구성된 IEEE1394 네트웍에 연결되는 다중 커넥션용 에이전트 노드와 상기 네트웍의 원거리에 위치한 하나의 IEEE1394 노드에 연결되는 단일 커넥션용 에이전트 노드간의 연결을 위한 제어를 위해 한 에이전트 노드가 다른 에이전트 노드로 전송하기 위해서 에이전트 노드간의 제어 정보를 포함하는 패킷 데이터 형식을 생성하고(20 단계), 상기 패킷 데이터 형식을 생성한 에이전트 노드가 다른 에이전트 노드에게 패킷 데이터를 전송하게 된다(22 단계)
도 3은 본 발명에 따른 에이전트 노드들간에 정보 전송에 사용되는 패킷(packet)의 기본 패킷 형식을 도시한 것이다. 기본 형식은 X 헤더부(32)와 1394 패킷(38)으로 이루어진다. X 헤더부(32)는 에이전트 노드들간의 제어 정보를 담은 영역으로 32비트의 길이이며, 오류 검사를 위한 32비트 CRC 필드를 포함한다. 1394 패킷(38)은 1394 패킷 헤더(34)와 1394 데이터 블록(36)으로 구성된다. 1394 패킷 헤더(34)는 기본적으로 32비트의 길이이며 필요시에는 별도의 32비트의 다른 헤더가 더해질 수 있으며 헤더에 대한 오류 검사를 위한 32비트 CRC 필드를 포함한다. 1394 데이터 블록은 기본적으로 32비트의 데이터를 포함하며 필요하다면 별도의 32비트 단위의 다른 데이터 블록이 더해질 수 있다. 그리고 데이터 블록에 대한 오류 검사를 위한 32비트 CRC 필드를 포함한다.
비동기식 패킷(asynchronous packet)과 등시성 패킷(isochronous packet)은 기본 패킷 형식의 1394 패킷(38)에 포함되어 전달된다. 초기화 과정에서 self-ID 패킷을 모아서 상대방 에이전트에게 전달할 때에도 같은 기본 패킷 형식에서 1394 패킷의 영역에 self-ID 패킷 전부를 모아서 보내게 된다. 에이전트 노드끼리만 사용하는 제어 패킷의 경우에는 기본 패킷 형식에서 1394 패킷(38)을 떼어내고 X 헤더(32)만 사용하게 된다. 즉 X 헤더(32)는 모든 형식의 패킷에서 사용되며 1394 패킷(38)은 필요시에만 사용하게 된다.
도 4는 본 발명에 따른 self-ID 패킷을 도시한 것이다. X 헤더(42)는 도 3의 기본 패킷 형식의 X 헤더(32)와 동일하다. 도 3의 1394 패킷부(38)에 해당하는 도 4의 self-ID 그룹 패킷(48)에는 self-ID 패킷들이 그룹지어 보내진다. 도 1에서 AN-M(10)쪽의 IEEE1394 노드가 4개라고 하면(AN-M은 제외함) 4개의 IEEE1394 노드들에게서 받은 self-ID 패킷 정보를 노드 ID숫자가 작은 노드 ID(34)부터 하나의 노드 ID에 64비트씩 할당하여 이어 붙여서 self-ID 그룹 패킷(38)에 붙여지며 전체 self-ID 패킷에 대한 오류 검사를 위한 32비트 CRC 필드가 포함된다.
도 5는 본 발명에 따른 제어 패킷의 형식의 일 예를 도시한 것이다.
제어 패킷(control packet)은 기본 패킷 형식에서 X 헤더에 해당하는 부분만 사용하게 된다. 패킷의 길이는 32비트 CRC 영역을 포함하여 8바이트로 고정된다. 보통의 패킷에서 사용하는 X 헤더와 구분하기 위해 첫 번째 비트가 '1'로 지정된다. 보통의 패킷의 X 헤더의 첫 번째 비트는 '0'으로 지정된다.
X 헤더의 비트 할당은 다음에 설명된다.
도 6은 본 발명에 따른 초기화 패킷의 형식의 일 예를 도시한 것이다.
초기화 패킷(initialization packet)은 제어 패킷의 일종으로 초기화 과정에서 에이전트 노드간에 초기화 상태에 대한 정보를 주고받는데 사용된다. 사용되는 비트들은 패킷의 종류, 초기화 종류 및 노드 종류이다.
도 7은 본 발명에 따른 명령 패킷(command packet)의 형식의 일 예를 도시한 것이다. 명령 패킷은 제어 패킷의 일종으로 보통의 동작 중에 에이전트 노드간에 특정 명령을 주고받는데 사용된다. 사용되는 비트들은 패킷의 종류, 노드 종류 및 명령 종류이다.
도 8은 본 발명에 따른 승인 패킷(acknowledge packet)의 형식의 일 예를 도시한 것이다. 승인 패킷은 제어 패킷의 일종으로 등시성 패킷의 형식을 가지는 패킷 전송을 제외하고 데이터 운송 보증을 위해서 사용된다. 사용되는 비트들은 패킷의 종류, 노드 종류 및 승인 종류이다.
에이전트 노드들은 IEEE1394 네트웍의 초기화와 보통의 동작 중에 데이터 운송 보증을 위해 X 헤더를 정의하여 일반 패킷과 함께 보내기도 하고 독립적으로 보내기도 한다. 다음의 표 1은 X 헤더의 비트 할당을 상세하게 나타낸 것이다.
이하에서 본 발명에 따른 각 기능별 단계를 설명한다.
네트웍에 전원이 인가되거나 IEEE1394 버스에 기기가 새롭게 연결되거나 혹은 연결되어 있던 기기가 제거되어 버스 리셋(bus reset)이 발생한 경우 에이전트 노드를 사이에 두고 양 IEEE1394 버스가 초기화에 들어간다. 에이전트 노드의 구조에 의해 양 IEEE1394 버스는 하나의 버스로 인식되고 처리되어야 한다. 이를 위해서는 초기화 시에 하나의 버스로 인식되도록 가상 네트웍을 구성하여야 한다.
가상 네트웍을 구성하는 방법은 기존 IEEE 표준 1394-1995에 정의된 초기화 과정을 그대로 사용하여도 본 발명의 기본 사상은 영향받지 않는다. 또한 상기 표준에 사용된 방법을 일부 변형하여 반대편 IEEE1394 버스 노드들이 모두 자기에게 직접 연결될 것처럼 보이게 하는 방법을 사용할 수도 있다. 이는 본 발명의 요지와는 관련이 없으므로 언급하지 않는다.
가상 네트웍을 구성하기 위해서 양 에이전트 노드들은 각각 IEEE1394 노드들의 정보들의 모아서 상대 에이전트 노드들에게 전송하여야 한다. 그런데 IEEE1394 노드들의 정보를 에이전트 노드가 알려면 최소한 초기화 과정이 수행되어야 하므로 양 에이전트 노드에서 한번 이상의 초기화 과정이 일어나게 되는 것이다.
도 9는 에이전트 노드간의 전체적인 초기화 과정을 나타내는 도면이다. 전체적인 초기화는 4개의 단계로 구성된다. AN-S 혹은 AN-M에서의 각 단계의 구분은 서로 다를 수 있지만 전체적인 동작은 서로 유사하다.
전원이 인가되면(90 단계) 초기화 단계가 시작된다. 초기화 1단계(91 단계)에서는 AN-S측에서 초기화가 일어나고 리모트 노드의 self-ID 패킷 정보를 모아서 AN-M으로 전송한다. 초기화 2단계(92 단계)에서는 AN-M측에서 AN-S에서 받은 리모트 노드의 정보를 사용하여 초기화가 일어난다. 그리고 AN-M 측의 IEEE1394 노드들의 self-ID 패킷 정보를 모아서 AN-S측으로 전송한다. 초기화 2단계가 성공하면 초기화 3단계(93 단계)로 진행한다. 이 단계에서는 AN-M에서 받은 self-ID 패킷 정보를 이용하여 AN-S측에서 가상 네트웍을 구성한다. 다음의 초기화 4단계(94)에서는 AN-S측의 초기화 완료 후 AN-M측으로 초기화 완료를 알린다. AN-M측과 AN-S측이 정상 동작을 할 수 있는 상태로 진행한다(95 단계). 각 단계에서 실패하거나 초기화해야할 상황이 발생하면 초기화 1단계(91 단계)로 진행하게 된다.
초기화가 AN-S에서 시작되는 경우도 있고 혹은 AN-M에서 초기화가 시작되는 경우도 있다. 본 발명에 따라 이 두 가지를 구별하여 상세히 설명한다.
이 설명의 이해를 위해 본 발명에 따른 도 10의 에이전트 노드의 프로토콜 스택(protocol stack)을 먼저 설명한다.
1394` 물리 계층(101)은 IEEE 표준 1394-1995에서 정의하는 물리 계층의 기능을 대부분 수행하며 일부 에이전트로서의 다른 기능도 수행한다. 물리 계층으로서의 기본적인 기능은 데이터 비트를 송수신하는 기능, 중재 기능 그리고 전기적, 기계적인 인터페이스이다. 그리고 에이전트 노드로서 추가되는 기능은 초기화 때에 루트(root)가 되거나 되지 않도록 하는 기능과 self-ID 패킷 전송과 관련하여 가상 네트웍을 구성하는 기능이다.
1394 링크(link) 계층(102)은 IEEE 표준 1394-1995에서 정의하는 링크 계층과 동일한 기능을 수행한다. 기본 기능은 오류 검사, 패킷 분석, 버퍼 제어 및 싸이클 마스터(cycle master) 기능이다.
1394 관리 블록(103)은 노드 제어와 가상 네트웍 제어의 기능을 수행한다.
X 물리 계층(104)은 원거리 접속을 위해서 사용되는 매체에 따라 달라지게 된다. 그러나 사용하는 매체가 달라지게 되어도 제공하는 기본 기능은 동일하다. 데이터 비트 송수신, 전기, 기계적인 인터페이스, 매체에 따라 달라지는 인코딩/디코딩 방법의 기능을 수행한다. 그리고 IEEE1394 버스에서 사용하는 최대 속도로 전송되는 데이터 수송 시간을 보장할 수 있는 충분한 전송 속도를 보장할 수 있어야 한다.
X 링크(105)는 필요에 따라 전이중(full duplex) 혹은 반이중(half duplex) 데이터 패킷 수송을 하도록 사용된다. 기본 기능은 오류 검사와 패킷 분석 및 버퍼 제어이다. 서브 동작으로는 제어 패킷의 경우 정해진 패킷 형식으로 상대방 에이전트 노드에 전송하고 승인 패킷을 받는다. 비동기식 패킷의 경우 IEEE1394 노드로부터 받은 비동기식 패킷에 에이전트 노드간의 보장된 수송을 위해 제어 정보를 추가하여 보내고 승인 패킷을 받는다. 그리고 등시성 패킷의 경우에는 IEEE1394 노드로부터 받은 등시성 패킷에 에이전트 노드간의 보장된 수송을 위해 제어 정보를 추가하여 보낸다. 그리고 승인 패킷은 받지 않는다.
X 관리 블록(106)의 기본 기능은 노드 제어이며, 상기 X 물리 계층(104)과 X 링크(105)의 제어 기능을 한다.
적응층(Adaptation layer)(107)에서는 상대 에이전트 노드로 데이터를 전송하기 위한 패킷 분석과 패킷 변환이 일어난다. 필터링하는 경우에 비동기 패킷 형식인 경우 에이전트 노드간에 전송이 필요한 패킷과 아닌 것을 구별한다. 이는 노드 ID로 확인한다. 그리고 스트림 패킷(stream packet)인 경우에는 무조건 전달한다. 제어 정보를 추가하는 경우에는 에이전트 노드간의 제어 정보를 매 패킷마다 추가하여 보내기도 하고, 제어 패킷만 보내기도 한다.
도 11은 본 발명에 따라 AN-M에서 초기화 혹은 리셋이 시작되어 AN-S로 전달하는 과정의 흐름을 도시한 것이다.
AN-M이 리셋 되면 AN-M의 초기화 단계가 시작된다. 도 9에서 설명된 것과 유사하게 4가지 단계를 거치게 된다.
초기화 1단계에서는 AN-M이 리셋 되면 초기화가 시작된 것을 표시하는 필드, 목적 노드 종류를 포함하는 패킷을 AN-S에 전송하며, AN-S는 이 패킷을 수신하였다는 응답 패킷을 AN-M에 전송한다. 그리고 자신에 연결된 IEEE1394 버스를 초기화하고 그 IEEE1394 노드의 ID를 받아 이 ID를 포함하는 패킷을 AN-M에게 전송한다.
초기화 2단계에서는 상기 AN-M은 상기 초기화 1단계의 AN-S에서 보낸 노드 ID를 포함하는 패킷을 수신하고, 이 패킷을 수신한 것을 확인하는 응답 패킷을 AN-S에게 전송한다. 그리고 AN-M은 자신에 연결된 IEEE1394 버스를 초기화하고 그 IEEE1394 버스에 연결된 IEEE1394 노드들의 ID들을 모아서 이 ID들을 포함하는 패킷을 AN-S로 전송한다.
초기화 3단계에서는 상기 초기화 2단계에서 AN-M이 전송한 IEEE1394 노드 ID를 포함하는 패킷을 AN-S가 수신하면, AN-S는 패킷을 수신한 것을 확인하는 응답 패킷을 상기 AN-M에게 전송하고, 가상 네트웍을 구성한다.
초기화 4단계에서는 AN-S가 가상 네트웍 구성을 완료했다는 정보를 포함하는 패킷을 AN-M에 전송한다. AN-M은 이 패킷을 수신한 것을 확인하는 패킷과 초기화가 완료된 것을 나타내는 패킷을 AN-S에 전송한다. 초기화가 완료되었다는 것을 알리는 것이다.
도 12는 도 1의 가상 네트웍의 접속 형태가 가상 네트웍 구성이 완료된 상태를 도시한 것이다. 즉, 실제로는 도 1과 같이 연결된 IEEE1394 노드들이 가상 네트웍이 구성되면 각 IEEE1394 노드들이 다른 노드들을 볼 때에는 도 11에서와 같이 (에이전트 노드들 없이) 하나의 IEEE1394 버스에 연결된 것으로 보이게 된다.
도 13은 본 발명에 따라 AN-S에서 리셋이 발생하거나 초기화가 시작되어 AN-M으로 전달되는 경우의 흐름을 도시한 것이다. 도 11의 경우와 초기화가 시작되고 끝나는 에이전트 노드가 서로 다를 뿐이고 다른 절차는 동일하다.
초기화 1단계에서는 AN-S가 리셋 되면 초기화가 시작된 것을 표시하는 필드, 목적 노드 종류를 포함하는 패킷을 AN-M에 전송하며, AN-M은 이 패킷을 수신하였다는 응답 패킷을 AN-S에 전송한다. 그리고 자신에 연결된 IEEE1394 버스를 초기화하고 그 IEEE1394 노드의 ID를 받아 이 ID를 포함하는 패킷을 AN-M에게 전송한다.
초기화 2단계에서는 상기 AN-M은 상기 초기화 1단계의 AN-S에서 보낸 노드 ID를 포함하는 패킷을 수신하고, 이 패킷을 수신한 것을 확인하는 응답 패킷을 AN-S에게 전송한다. 그리고 AN-M은 자신에 연결된 IEEE1394 버스를 초기화하고 그 IEEE1394 버스에 연결된 IEEE1394 노드들의 ID들을 모아서 이 ID들을 포함하는 패킷을 AN-S로 전송한다.
초기화 3단계에서는 상기 초기화 2단계에서 AN-M이 전송한 IEEE1394 노드 ID를 포함하는 패킷을 AN-S가 수신하면, AN-S는 패킷을 수신한 것을 확인하는 응답 패킷을 상기 AN-M에게 전송하고, 가상 네트웍을 구성한다.
초기화 4단계에서는 AN-S가 가상 네트웍 구성을 완료했다는 정보를 포함하는 패킷을 AN-M에 전송한다. AN-M은 이 패킷을 수신한 것을 확인하는 패킷과 초기화가 완료된 것을 나타내는 패킷을 AN-S에 전송한다. 초기화가 완료되었다는 것을 알리는 것이다.
비동기식 패킷 전송에 대해 설명한다.
IEEE1394 노드로부터 받은 비동기식 패킷을 에이전트 노드간에 전송할 때에는 비동기식 패킷에 제어 정보를 추가하여 보내게 된다. 데이터 수송 보장을 위해 비동기식 패킷에 대해서는 승인을 받게 된다. 슬라이딩 윈도우(sliding window) 기법에 의해서 비동기식 패킷에 대한 승인이 바로 돌아오지 않더라도 전송한 상대의 버퍼 크기를 고려하여 다음 승인을 연속하여 보낼 수 있다. 보낸 비동기식 패킷에 대한 승인 패킷을 대응시키는 것은 X 헤더의 패킷 번호를 이용하여 실행한다.
도 14는 본 발명에 따른 비동기식 전송의 흐름의 일 예를 도시한 것이다.
AN-S에서 버퍼에 있는 비동기 데이터를 패킷으로 AN-M으로 전송한다. 이 데이터가 AN-M에 전달되면 AN-M은 데이터를 받았다는 응답으로 승인 패킷을 AN-S에 보낸다. 승인 패킷을 받은 AN-S에서는 보낸 패킷에 포함된 패킷 번호가 승인 패킷에 포함되어 있는지를 확인하여 일치하면 비동기식 데이터 전송 과정이 끝나게 된다. 이 과정은 반이중 방식으로 데이터를 전송한 것이다. 전이중 방식으로 데이터를 전송하는 것도 가능하다. AN-M의 버퍼에 비동기식 데이터가 있으면 이를 패킷으로 AN-S로 전송한다. 이 데이터는 X 링크, 매체를 통해 AN-S로 전송된다. 이 전송 중에 AN-S의 버퍼에 비동기식 데이터가 있으면 AN-S도 이 데이터를 AN-M으로 전송한다. 즉 동시에 송수신이 실행되게 된다. 데이터를 수신한 AN-M과 AN-S는 승인 패킷을 보내게 되고 승인 패킷을 받은 측은 비동기식 데이터 전송 과정을 마치게 된다.
재전송(retry transmission)하는 방법을 설명한다.
비동기식 데이터를 전송하고 일정 시간 내에 승인을 받지 못한다면 패킷 전송에 이상이 생긴 것으로 간주하고 재전송을 시도하게 된다. 슬라이딩 윈도우 기법에 의해서 전송하면 승인 패킷이 오지 않더라고 다음 패킷을 전송할 수 있지만. 일정한 시간이내에 승인 패킷을 받아야만 그 데이터 패킷의 전송을 완료하고 버퍼에 있는 데이터를 비울 수 있다.
도 15는 패킷 번호 1에 대한 승인이 소정의 시간 내에 오지 않는 경우에 본 발명에 따라 재전송하는 과정을 도시한 것이다.
AN-S에서 AN-M으로 버퍼의 패킷 번호 1의 비동기식 데이터를 전송한다. AN-S는 전송된 비동기식 데이터에 대해 승인 신호가 오지 않아도 버퍼에 있는 다음의 패킷 번호 2의 비동기식 데이터를 전송한다. 패킷 번호 2에 대한 승인을 받고 이를 확인하여 패킷 번호 2에 대한 전송을 완료한다. 소정의 시간 내에 패킷 번호 1의 데이터에 대한 승인 패킷이 없으므로 패킷 번호 1의 데이터를 다시 전송한다. 이 데이터에 대한 응답으로 승인 패킷을 받으면 패킷 번호 1의 데이터 전송이 완료된 것이다. 즉 전송한 비동기식 패킷 데이터들에 포함된 패킷 번호들과 수신한 승인 패킷들에 포함된 패킷 번호를 비교하여, 소정의 시간이내에 전송한 패킷 번호와 일치하는 패킷 번호를 포함하는 승인 패킷이 수신되지 않으면 상기 패킷 번호를 가진 비동기식 패킷 데이터를 다시 전송하게 하는 것이 바람직하다.
등시성 패킷 전송에 대해 설명한다.
에이전트 노드는 IEEE1394 버스의 사이클 시작(cycle start) 신호를 받아 이 신호가 각 에이전트 노드간에 동기되도록 서로 데이터 전송 시각을 맞추게 된다.
에이전트 노드간의 등시성 패킷 전송은 승인을 하는 과정이 없어 비동기식에 비해 빨리 전송하게 된다. IEEE1394 네트웍과 달리 본 발명에 따른 에이전트 노드간에는 등시성 패킷 전송을 위한 주기는 존재하지 않으며 하위 계층에서 보장되는 IEEE1394 네트웍의 데이터 전송률보다 충분히 빠른 속도로 등시성 패킷을 전송하게 된다. 등시성 패킷을 보낼 에이전트 노드는 자신에 연결된 IEEE1394 노드들의 IEEE1394 버스의 한 주기의 등시성 패킷을 모두 버퍼링(buffering)하여 이 패킷들을 수신할 에이전트 노드에 연결된 IEEE1394 노드 버스의 다음 싸이클에 맞추어서 전송하게 된다.
이를 구체적으로 설명하면, 에이전트 노드에 전송되는 IEEE1394 노드들이 연결된 IEEE1394 버스에서의 전송 속도는 표 1에서와 같이 정해질 수 있다. 즉 이 속도보다는 늦지 않도록 에이전트 노드간에도 전송이 이루어져야 한다. 그런데 에이전트 노드간에 물리적으로 존재하는 패킷 전송상의 지연 시간을 염두에 두어야 등시성 패킷 전송에서의 지연 요인이 없게 된다. 그러므로 IEEE1394 버스에서의 전송 속도에서 IEEE1394 노드로부터 에이전트 노드로 전송된 등시성 패킷을 다른 에이전트 노드로 전송해야 할 시간을 구하고 이 시간에 에이전트 노드간의 전송 지연 시간을 더하면 IEEE1394 노드에서 전송되는 등시성 패킷 데이터를 처리해야 하는 시간이 구해진다. 이 시간 내에 등시성 패킷 데이터를 다른 에이전트 노드로 전송하면 에이전트 노드간의 지연 요인이 없게 전송하는 것이 가능하다.
도 16은 본 발명에 따른 등시성 전송의 흐름의 일 예를 도시한 것이다.
AN-S에서 버퍼에 있는 등시성 데이터를 패킷으로 AN-M으로 전송한다. 이 데이터가 AN-M에 전달되면 데이터 전송이 완료된 것이다. AN-M에서 AN-S로 전송하는 것도 마찬가지이다. 각 과정은 반이중 방식으로 데이터를 전송한 것이다. 전이중 방식으로 데이터를 전송하는 것도 가능하다. AN-M의 버퍼에 등시성 데이터가 있으면 이를 패킷으로 AN-S로 전송한다. 이 데이터는 X 링크, 매체를 통해 AN-S로 전송된다. 이 전송 중에 AN-S의 버퍼에 등시성 데이터가 있으면 AN-S도 이 데이터를 AN-M으로 전송한다. 즉 동시에 송수신이 실행되게 된다.
이하에서 상기 설명한 기본적인 동작에 따라 구체적인 네트웍에서의 동작을 설명한다.
도 17은 본 발명에 따른 에이전트 노드간의 패킷 전송과 처리 순서를 도시한 것이다. 도 17은 도 1과 거의 동일한 구성을 하고 있는 물리적인 연결을 도시한 것이다.
AN-M(170)에는 노드 ID 0, 2 및 3 의 IEEE1394 노드가 연결되어 있고 AN-S(172)간에는 노드 ID 1의 IEEE1394 노드(리모트 노드가 됨)가 연결된다. 그리고 에이전트 노드간에는 서로 4.5m 넘게 연결될 수 있다.
초기화하여 가상 네트웍이 구성된 후에 보통의 패킷을 보내는 단계를 설명한다.
이하 설명은 AN-M(170)이 자신에 연결된 IEEE1394 노드로부터 패킷을 받아서 이를 AN-S(172)에 전송하기까지의 과정을 설명할 것이다. AN-S에서 AN-M으로 패킷이 전송되는 것도 같은 방식으로 실행된다.
도 17에서 패킷 전송 과정을 설명한다.
IEEE1394 노드(노드 ID 0, 2 혹은 3)가 ID 1인 IEEE1394 노드에게로 패킷을 전송한다(170a). AN-M(170)이 IEEE1394 노드로부터 받은 패킷 중 비동기식 패킷의 경우에는 목적 ID를 확인하여 AN-S(172)측의 리모트 노드의 ID와 같은 경우(도 17의 예에서는 1번 ID)에만 AN-S(172)로 패킷을 전송한다. 반면에 등시성 패킷이라면 목적 ID를 가지지 않으므로 무조건 AN-S(172)로 전송하게 된다. 비동기식 패킷을 IEEE1394 노드로부터 받았다는 승인은 에이전트 노드(이 경우에는 AN-M(170))가 해당 IEEE1394 노드에게 전송한다(170b). 가상 네트웍이 구성된 후 노드 ID 0, 2, 3의 IEEE1394 노드에서 보면 AN-M이 노드 ID 1인 IEEE1394 노드가 되는 것이므로 이후의 그 비동기식 패킷에 대한 목적 노드까지의 전송은 AN-M(170)이 책임진다는 의미이다.
만일 AN-S(172)측에서 AN-M(170)측으로 패킷을 전송하는 경우에는 비동기식이나 등시성 패킷을 구분하지 않고 무조건 AN-M(170)에게 전송하게 된다.
에이전트 노드는 상대 에이전트 노드에게 비동기식 패킷을 보낸 후에는 반드시 승인 패킷을 받아 전송이 정상적이라는 것을 확인하게 된다. 그러나 슬라이딩 윈도우 기법에 의해 각 비동기식 패킷에 대해 바로 승인 패킷을 받지 않더라도 상대 에이전트 노드의 버퍼와 자신의 버퍼의 여유 공간의 크기에 따라 승인 패킷을 받지 않더라도 다음 패킷을 전송할 수 있다. 이때 비동기식 패킷에는 패킷의 수가 첨부되므로 승인 패킷과 대조하면 비동기식 패킷에 대한 승인 패킷인가를 확인할 수 있다. 그리고 각 비동기식 패킷은 승인 패킷을 받아야만 해당 버퍼에서 지워질 수 있다.
등시성 패킷인 경우에는 비동기식 패킷보다 우선 순위에 앞서 우선적으로 전송된다. 그리고 승인 패킷은 돌려 받지 않는다.
AN-M(170)이 비동기식 패킷을 전송하고(170c), AN-S(172)가 정상 수신한 후 AN-M(170)에게 승인 패킷을 돌려주게 된다(170d). 상대 에이전트 노드로부터 비동기식 패킷이 연속적으로 전송되면(170c) 해당 패킷에 대한 승인 패킷을 수신한 차례대로 전송 가능한 시점부터 상대 에이전트 노드에게 전송하게 된다(170d).
AN-S(172)가 AN-M(170)에서 받은 패킷들을 IEEE1394 노드(도 17에서는 노드 ID 1인 노드)에게 전송할 경우에는 IEEE 표준 1394-1995에서 정의된 1 싸이클인 125 [us]의 주기로 전송하게 된다. 등시성 패킷은 이미 에이전트 노드 내에 버퍼링되어 있는 1 싸이클 분의 데이터를 에이전트 노드간의 전송 지연 시간을 고려한 동기 주기 내에 전송하고, 비동기식 패킷은 비동기 주기 내에 전송하게 된다.
등시성 패킷들을 에이전트 노드에서 IEEE1394 노드로 전송하는 경우에는 싸이클 주기를 반드시 준수해야 한다. 이번 싸이클에 보밸 패킷을 다음 주기에 보내거나 하는 오류가 발생하지 않아야 한다. 이를 위해서 에이전트 노드에는 1 싸이클 이상의 등시성 패킷을 저장할 버퍼가 필요하다. IEEE1394 네트웍 양단의 싸이클 시간을 맞추고, 에이전트 노드 사이에서 등시성 패킷을 전송하는 시간을 보장하기 위해 소정의 지연 시간을 고려하도록 에이전트 노드간 전송 속도를 가지도록 한다. 그리고 다른 패킷 전송(예를 들어 비동기식 패킷 전송)보다 전송 순위에서 우선권을 준다.
AN-S(172)가 IEEE1394 노드로 패킷을 전송하고(172a), 이를 수신한 IEEE1394 노드는 (이 패킷이 비동기식 패킷인 경우) 승인 패킷을 AN-S(172)에 전송한다(172b). AN-S(172)는 이 승인 패킷을 AN-M(170)에 전달하지 않는다. 이미 패킷 전송에 대한 책임을 AN-S(170)가 맡았으므로 AN-S(172)와 IEEE1394 노드간의 패킷 전송 오류는 AN-S(172)가 책임지고 해결해야 하는 것이다. 승인 패킷을 받았을 때에 데이터 오류를 의미하거나 소정의 시간 내에 승인 패킷을 받지 못하면 AN-S(172)는 노드 ID 1인 IEEE1394 노드에 재전송하게 된다.
에이전트 노드간의 전송은 매체에 따라 전이중 방식 혹은 반이중 방식이 사용될 수 있다. 만일 에이전트 노드간에 하나의 비동기식 패킷 전송을 하고 바로 하나의 승인 패킷을 받도록 하면 구현은 간단하게 되지만 전송 효율이 떨어질 수 있다. 이를 해결하기 위해 상대와 자신의 버퍼의 여유 공간에 따라서 승인 패킷 없이도 다음 비동기식 패킷을 전송할 수 있게 하는 방법을 사용한다. 이것은 전이중 혹은 반이중 방식의 어느 경우에나 승인 패킷을 받기 위해 승인 제한 시간까지 기다리는 비효율성을 막을 수 있다. 전송 중에 패킷의 손실 가능성도 있으므로 이를 해결하기 위해 전송한 비동기식 패킷과 받은 비동기식 패킷의 대조는 데이터 구조의 X 헤더에 정의한 패킷 수를 이용한다.
만일 전송한 비동기식 패킷에 CRC 오류가 있다면 data_error 종류의 승인 패킷을 받을 것이고, 이 경우에는 재전송을 하게 된다. 그리고 전송 패킷이 소정의 시간 내에 도착하지 않아도 역시 재전송을 하게 된다.
도 18은 본 발명에 따른 에이전트 노드를 구현하기 위한 하드웨어의 일 예를 도시한 것이다.
본 발명에 따른 에이전트 노드는 IEEE1394 노드들의 패킷 데이터를 수신하는 1394 데이터 수신부(180), 수신한 IEEE1394 데이터를 분석하는 1394 데이터 분석부(181), 다른 에이전트 노드에서 보낸 패킷 데이터를 수신하는 에이전트 데이터 수신부(182), 수신한 에이전트 데이터를 분석하는 에이전트 데이터 분석부(183), 분석된 데이터들에 대응하는 헤더를 생성하거나 다른 에이전트에게 보낼 헤더를 생성하는 헤더 생성부(184), IEEE1394 노드들에 데이터를 전송하는 1394 데이터 송신부(185) 및 다른 에이전트 노드에게 데이터를 전송하는 에이전트 데이터 송신부(186)를 포함한다.
각 부분들의 동작을 상세하게 설명한다.
IEEE1394 노드들로부터 에이전트 노드의 1394 데이터 수신부(180)에 데이터 패킷이 전송되면 이 데이터는 1394 데이터 분석부(181)에 전달된다.
1394 데이터 분석부(181)에서는 IEEE1394 패킷의 필드들의 값을 검사하여 그 데이터가 데이터를 전송한 후에 데이터를 받았다는 승인 패킷을 받아야 전송이 완료되는 비동기식 패킷인가 혹은 승인 패킷이 필요하지 않은 등시성 패킷인지 판단한다. 그리고 그 패킷 데이터가 다른 에이전트 노드로 전송하지 않고 에이전트 노드에서 사용될 데이터인지 혹은 다른 에이전트 노드로 전송되어야 하는 데이터인지를 판단한다. 에이전트 노드에서 사용될 데이터는 에이전트 노드와 IEEE1394 노드들간의 버스 전송등에 관련된 제어 데이터(예를 들면 승인 패킷, 노드의 초기화에 관련된 정보등)일 수 있다. 그리고 다른 에이전트 노드를 통해 IEEE1394 노드로 전송해야 할 데이터인 경우에는 예를 들면 그 데이터가 각 IEEE1394 노드들의 self-ID를 포함하는 패킷인지를 판단하다.
1394 데이터 수신부(181)는 수신한 IEEE1394 패킷 데이터에 오류가 있는지를 판단할 수 있는 오류 검출부(181a)를 포함하는 것이 바람직하다. 오류 검출 방법은 CRC를 검출하는 방법이 바람직하다.
오류가 검출되면 1394 데이터 송신부(185)는 수신한 데이터에 오류가 발생하였음을 알리는 정보를 포함하는 패킷 데이터를 데이터를 송신한 IEEE1394 노드에게 전송한다. 이 데이터가 비동기식 데이터라면 재전송을 하게 될 것이다.
분석을 거친 데이터 중에서 다른 에이전트 노드로 전송될 데이터는 헤더 생성부(184)로 입력되어 그 데이터의 종류에 대응하는 헤더가 생성된다. 이 헤더는 이미 설명된 것처럼 IEEE1394 패킷외에 에이전트 노드간의 제어를 위한 정보를 포함하는 헤더이다. 표 1에 개시된 내용들이 헤더에 포함된다. 그리고 헤더 생성부(184)에서는 에이전트 노드간의 제어를 위한 헤더도 생성된다. 이때에는 IEEE1394 패킷이 부가되지 않은 헤더만이 전송될 것이다.
에이전트 송신부(186)에서는 생성된 헤더를 그 헤더에 대응하는 패킷 데이터에 첨부하여 혹은 에이전트 노드간의 제어에 해당하는 헤더의 경우에는 헤더만을 포함하는 패킷 데이터를 다른 에이전트 노드에 전송하게 된다.
다른 에이전트 노드에서 전송된 패킷은 에이전트 데이터 수신부(182)로 수신된다.
수신된 패킷 데이터는 에이전트 분석부(183)으로 입력되어 비동기식 패킷인가 등시성 패킷인가를 판단한다. 그리고 그 테이타가 에이전트 노드에서 사용되는 데이터인가 혹은 IEEE1394 버스 노드들로 전송되어야 할 데이터인가를 판단하게 된다. 에이전트 노드에서 사용될 데이터이면서 그 데이터에 대해 다른 에이전트 노드로 다시 응답을 보내야하는 데이터인 경우에는 이를 헤더 생성부에 알려 해당하는 헤더를 생성하게 한다. 예를 들면 비동기식 데이터를 받은 경우에는 그에 대응하는 승인 패킷을 생성해서 다른 에이전트 노드에게 보내게 된다. 그리고 IEEE1394 노드들로 전송해야 할 데이터는 1394 데이터 송신부(185)로 전달하고 1394 데이터 송신부(185)는 에이전트 노드간의 전송에 필요했던 헤더는 삭제하고 IEEE1394 패킷부분만을 IEEE1394 노드에게 전송한다.
1394 데이터 수신부(183)는 수신한 데이터의 오류를 검출하는 오류 검출부(183B)를 포함하는 것이 바람직하다. 오류 검출 방법은 CRC를 검츨하는 방법이 바람직하다.
상기 오류 검출부(183b)가 데이터에서 오류를 검출하면 이를 헤더 생성부(184)에 알려 헤더 생성부(184)가 데이터에 오류가 있다는 정보를 포함하는 헤더를 생성하고, 에이전트 데이터 송신부(186)를 통해 이 헤더를 포함하는 패킷을 다른 에이전트 노드에게 전송한다.
에이전트 노드가 IEEE1394 노드들에게 비동기식 패킷 데이터를 전송하는 동작을 설명한다.
에이전트 노드는 시간 측정이 시작된 후 소정의 시간이 지났음을 알리는 타이머(187)를 더 포함하는 것이 바람직하다.
1394 데이터 송신부(185)는 IEEE1394 노드들에게 비동기식 패킷을 전송한 후에 타이머(187)를 작동시킨다. 1394 데이터 수신부(180)는 소정의 시간이 지날때까지 전송된 패킷에 대한 승인 패킷을 받지 못하면 이를 1394 데이터 송신부(185)에 알려 다시 그 패킷을 전송하게 한다.
에이전트 수신부(182)가 다른 에이전트 노드에게 비동시기 패킷을 전송하는 동작도 위와 유사하다.
에이전트 데이터 송신부(186)는 다른 에이전트 노드에게 비동기식 패킷을 전송한 후에 타이머(187)를 작동시킨다. 에이전트 데이터 수신부(180)는 소정의 시간이 지날때까지 전송된 패킷에 대한 승인 패킷을 받지 못하면 이를 에이전트 데이터 송신부(186)에 알려 다시 그 패킷을 전송하게 한다.
에이전트 노드의 동작의 일예로 초기화 과정의 일부를 설명한다. 이 과정은 도 11 혹은 도 13에 도시된 방법에 따라 실행하는 것이다.
도 18의 에이전트 노드에서 다른 노드에서 초기화가 실행되었다는 패킷을 받으면 이 패킷을 에이전트 데이터 수신부(182)로 입력되고 에이전트 데이터 분석부(183)로 입력된다. 초기화에 대한 정보를 가지고 있다는 판단이 되면 헤더 생성부(184)에서는 패킷을 수신하였다는 승인 정보를 포함하는 헤더를 생성하며 이 헤더는 에이전트 데이터 송신부(186)로 입력되어 헤더만을 포함하는 패킷을 형성하여 다른 에이전트 노드에게 전송한다. 그리고 초기화에 대한 내용을 포함하고 있으므로, 에이전트 노드에 보관되어 있는 IEEE1394 노드들에 대한 self-ID들을 헤더 생성부(184)에서 헤더로 생성하여 다른 에이전트 노드로 전송하거나 혹은 1394 데이터 송신부(185)를 통해 초기화를 하라는 패킷을 각 IEEE1394 노드에 전송하여 IEEE1394 버스를 초기화하고 초기화과정에서 각 IEEE1394 노드들의 self-ID를 1394 데이터 수신부(180)를 통해 전송받아 1394 데이터 분석부(181)의 판단을 거쳐 헤더 생성부(184)에서 헤더를 생성하여 에이전트 데이터 송신부(186)를 통해 전송할 수 있다.
다른 동작들도 상기의 설명들에 따라 어려움없이 설명될 수 있다.
도 18의 각 기능부들은 대부분 프로그램 소자(PLD 혹은 ASIC)들과 데이터 저장을 위한 메모리 소자들로 구현될 수 있을 것이다.
도 19는 본 발명에 따른 에이전트 노드를 도 10의 프로토콜 스택의 기능 블록별로 구현하기 위한 하드웨어의 일 예를 도시한 것이다.
하나의 에이전트 노드는 도 19와 같이 구현될 수 있으며, 도 10의 에이전트 노드의 프로토콜의 각 스택에 해당되는 블록들을 포함한다.
광 인터페이스(Optical I/F) 부분은 에이전트 노드간의 접속을 위해 사용되고, 1394 인터페이스(1394 I/F)는 에이전트 노드와 IEEE1394 노드간의 접속에 사용된다.
원거리 접속을 위한 X 인터페이스는 POF(Plastic Optical Fiber)가 사용된다. 1394 물리 계층(1394` PHY)은 기본 IEEE1394 물리 계층 기능에 에이전트 노드를 위한 루트 제어기와 가상 네트웍 구성을 위한 기능을 포함한다.
1394' 링크(1394' Link)는 IEEE1394 링크 기능을 대부분 수행한다. X 물리 계층에 해당하는 트랜스포머(Transformer)와 트랜시버(Transceiver)가 있고 X 링크에 해당하는 링크 제어부(Link controller)로 구성된다. 트랜스포머와 트랜시버는 상용 소자를 그대로 사용할 수 있으나, 링크 제어부는 HDL(Hardware Description Language)를 사용한 설계가 필요할 것이다.
도 10에서 보여진 적응 기능과 1394 관리부와 X 관리부의 기능은 마이콤이나 PLD 혹은 ASIC으로 구현될 수 있을 것이다. 처리 속도를 고려하여 마이콤과 PLD 혹은 마이콤과 ASIC을 같이 사용하여 구현할 수도 있을 것이다.
양 링크간에는 버퍼(Buffer)를 통해 서로 주고받게 된다.
도 19에서 1394` 물리 계층 칩(1394` PHY CHIP)이라는 블록은 IEEE 표준 1394-1995에서 정의한 물리 계층 기능에 비해 루트 결정 방법이 다르며, 가상 네트웍을 구성하는 기능이 추가된다. AN-M은 루트가 되지 않아야 하고 AN-S는 반드시 루트가 되도록 하기 위해 루트를 획득할 때에 사용되는 카운터를 조절하여, AN-M은 카운터 값을 짧게, AN-S는 카운터 값을 길게 가지게 한다.
1394' 링크 칩(1394' LINK CHIP) 블록은 IEEE 표준 1394-1995에서 정의한 링크 기능을 대부분 수행한다. 단, 싸이클 타이머 레지스터 값은 AN-M 측의 값을 이용하여 AN-S의 값을 맞추어 준다. 서브 블록들은 IEEE1394 표준에서 정의한 링크-물리 계층 인터페이스를 맞추어주는 물리계층에 대한 링크 인터페이스(Link to PHY I/F) 블록과 패킷 전송 및 수신을 담당하는 트랜스미터(Transmitter)와 리시버(Receiver) 블록을 포함한다. 리시버(Receiver) 블록에서 헤더 분석기(Header Analyzer)는 경우에 따라서 IEEE1394 패킷 헤더의 일부 정보를 해석하여 호스트(Host)에게 알려줄 수도 있다. 또한 1394' 링크 칩(1394' LINK CHIP) 블록의 서브 블록에는 오류 검출을 위한 CRC 검사(CRC check) 블록과 전체적으로 링크 블록을 제어하는 링크 제어(Link control) 블록, 호스트(Host)와의 인터페이스를 위한 호스트 인터페이스(Host I/F), 버퍼(Buffer)와의 인터페이스를 위한 버퍼 인터페이스(Buffer I/F)를 포함한다. 1394' 링크 칩(1394' Link Chip)은 일반적인 상용의 IEEE1394 링크 칩들과는 달리 비동기식과 등시성 패킷을 위한 통로를 같게 할 수 있는 기능을 가질 수 있다.
버퍼(Buffer)는 1394부와 에이전트 노드 사이에서 발생하는 데이터를 모두 저장하고 중간 처리하는 공간을 제공한다. FIFO나 DPRAM(Dual Port RAM)으로 구현하는 것이 적당할 것이다. 버퍼(Buffer) 관리는 비동기식, 등시성 패킷에 따라 다르게 처리할 수 있다.
호스트(Host)는 도면과 같이 마이콤 혹은 PLD 혹은 ASIC으로 구성되거나 또는 이들을 혼용하여 구성될 수 있다. 호스트(Host) 블록은 도 10에서 적응부(107)와 X 관리부(106)의 기능을 담당한다. 1394부에 대해서는 트랜잭션 계층(transaction layer) 기능과 IRM과 BM 기능이 빠진 직렬 버스 관리 기능을 수행하며, 에이전트 노드간의 X 인터페이스 부분에 대해서는 X 물리 계층, 링크 제어 기능을 한다. 그리고 적응 기능으로는 적절한 버퍼링과 싸이클 관리 및 수송 보장 기능을 수행한다. 그리고 X 헤더를 통해 에이전트 노드간의 제어 역할도 담당한다.
에이전트 노드간의 X 인터페이스는 전송 매체에 따라 달라질 수 있으나 도 19의 예에서는 POF를 사용한 광 인터페이스를 사용한다. 그리고 물리 계층에 해당되는 트랜스포머와 트랜시버를 포함하며, 패킷 전송, 수신 과정, 오류 검출 및 X 헤더 처리들을 담당하는 광 인터페이스를 위한 링크 제어기(Link Controller for Optical I/F)에 의해 제어를 받는다.
본 발명에 의하면, 하나 이상의 노드로 구성된 IEEE1394 네트웍에 연결되는 다중 커넥션용 에이전트 노드와 상기 네트웍의 원거리에 위치한 하나의 IEEE1394 노드에 연결되는 단일 커넥션용 에이전트 노드간에 연결을 할 때에 에이전트 노드간의 패킷 전송을 위한 제어 정보를 포함하는 별도의 헤더를 IEEE1394 노드가 전송하는 IEEE1394 패킷에 부가하고, 이 제어 정보에 따라 패킷 데이터를 전송하여, IEEE1394 노드들을 포함하는 IEEE1394 시스템들이 IEEE1394 버스 혹은 IEEE1394 노드들을 하드웨어적으로 그리고 소프트웨어적으로 수정을 하지 않고 IEEE1394 노드간의 원거리 접속이 가능하고, 이때에 성능 저하가 최소화되도록 하는 것이 가능해진다.

Claims (24)

  1. 하나 이상의 IEEE1394 노드를 포함하는 IEEE1394 네트웍에 연결되는 다중 커넥션용 에이전트 노드와 상기 네트웍의 원거리에 위치한 하나의 IEEE1394 노드에 연결되는 단일 커넥션용 에이전트 노드간의 데이터 패킷 전송을 위한 제어 방법에 있어서,
    상기 에이전트 노드가 상대방 에이전트 노드로 패킷을 전송할 때에 전송되는 패킷의 종류가 패킷을 전송한 에이전트 노드가 그 패킷을 받았다는 상대방 노드의 승인 패킷을 받아야 하는 비동기식 패킷인가 혹은 패킷이 소정의 클럭에 동기되어 전송되고 그 패킷을 전송한 에이전트 노드가 전송된 그 패킷을 받았다는 승인 패킷을 받을 필요가 없는 등시성 패킷인가 혹은 한 에이전트 노드의 초기화를 상대방 에이전트 노드에게 알리는 패킷인가 혹은 상기 비동기식 패킷을 수신한 것에 대한 응답을 하는 승인 패킷인가 혹은 에이전트의 동작에 관련된 명령 정보를 포함하는가를 나타내는 헤더를 포함하는 패킷 데이터 형식을 생성하는 단계; 및
    상기 패킷 데이터 형식을 생성한 에이전트 노드가 다른 에이전트 노드에게 상기 패킷 데이터 형식의 패킷을 전송하는 패킷 전송 단계를 포함하는 것을 특징으로 하는 IEEE1394 원거리 접속 장치간의 패킷 전송 제어 방법.
  2. 제 1항에 있어서, 상기 패킷 데이터의 형식의 상기 헤더는 에이전트 노드가 전송하는 상기 패킷이 각 에이전트 노드에 연결된 IEEE1394 노드의 self-ID를 포함하는지 혹은 에이전트 노드의 상태를 나타내는 정보를 포함하는지 혹은 에이전트 노드간의 전송 싸이클을 맞추기 위한 다중 커넥션용 에이전트 노드측에서의 싸이클 타이머 레지스터를 포함하는지를 나타내는 레지스터 값을 포함하는 가를 나타내는 부가적인 정보를 더 포함하는 것을 특징으로 하는 IEEE1394 원거리 접속 장치간의 패킷 전송 제어 방법.
  3. 제 1항에 있어서, 상기 전송하는 패킷 데이터 형식이 초기화 정보를 포함하는 패킷인 경우, 상기 헤더는 그 패킷이 하나의 에이전트 노드에서 초기화가 발생한 경우 그 노드에 연결된 IEEE1394 노드의 self-ID를 다른 에이전트 노드에 전송하는 것을 나타내는 초기화 단계인가 혹은 상기 하나의 에이전트 노드가 상기 다른 에이전트 노드에 초기화가 완료된 것을 나타내는 초기화 단계인가를 나타내는 필드를 더 포함하는 것을 특징으로 하는 IEEE1394 원거리 접속 장치간의 패킷 전송 제어 방법.
  4. 제 1항에 있어서, 상기 패킷 데이터 형식의 헤더는 전송되는 패킷 데이터의 목적지가 다중 커넥션용 에이전트 노드인가 혹은 단일 커넥션용 에이전트 노드인가를 구별하는 필드를 더 포함하는 것을 특징으로 하는 IEEE1394 원거리 접속 장치간의 패킷 전송 제어 방법.
  5. 제 1항에 있어서, 상기 패킷 데이터 형식이 비동기식 패킷인 경우, 상기 헤더는 비동기식 패킷의 번호를 나타내는 필드를 더 포함하는 것을 특징으로 하는 IEEE1394 원거리 접속 장치간의 패킷 전송 제어 방법.
  6. 제 1항에 있어서, 상기 패킷 데이터 형식이 승인 패킷인 경우, 상기 헤더는 수신된 비동기식 패킷에 아무 이상이 없다는 것을 나타내거나 수신된 비동기식 패킷에 오류가 있다는 것을 나타내거나 혹은 다음에 그 패킷을 다시 전송하라는 것을 나타내는 필드를 더 포함하는 것을 특징으로 하는 IEEE1394 원거리 접속 장치간의 패킷 전송 제어 방법.
  7. 제 1항에 있어서, 상기 패킷 데이터 형식은 IEEE1394 노드간의 패킷 데이터 전송 속도를 나타내는 필드를 더 포함하는 것을 특징으로 하는 IEEE1394 원거리 접속 장치간의 패킷 전송 제어 방법.
  8. 제 1항에 있어서, 상기 패킷 데이터 형식이 명령 정보 패킷인 경우, 상기 헤더는 에이전트 노드가 IEEE1394 노드에 대해서 비지(busy) 상태가 되라는 것을 나타내는 정지 명령인가 혹은 상기 비지 상태에서 벗어나서 정상 동작을 시작하라는 명령인가를 나타내는 필드를 더 포함하는 것을 특징으로 하는 IEEE1394 원거리 접속 장치간의 패킷 전송 제어 방법.
  9. 제 1항 내지 제 8항 중 한 항에 있어서, 상기 헤더는 오류 검출을 위한 오류 코드 필드를 더 포함하는 것을 특징으로 하는 IEEE1394 원거리 접속 장치간의 패킷 전송 제어 방법.
  10. 하나 이상의 IEEE1394 노드를 포함하는 IEEE1394 네트웍에 연결되는 다중 커넥션용 에이전트 노드와 상기 네트웍의 원거리에 위치한 하나의 IEEE1394 노드에 연결되는 단일 커넥션용 에이전트 노드간에 상기 다중 커넥션용 에이전트 노드에서 상기 단일 커넥션용 에이전트 노드로 초기화하는 방법에 있어서,
    상기 다중 커넥션용 에이전트 노드가 상기 단일 커넥션용 에이전트 노드로 초기화를 알리면 상기 단일 커넥션용 에이전트 노드는 자신에 연결된 IEEE1394 노드의 self-ID를 상기 다중 커넥션용 에이전트 노드로 전송하는 초기화 1단계;
    상기 다중 커넥션용 에이전트 노드가 자신에 연결된 IEEE1394 노드들의 self-ID들을 상기 단일 커넥션용 에이전트 노드에게 전송하는 초기화 2단계;
    상기 단일 커넥션용 에이전트 노드가 가상 네트웍을 구성하는 초기화 3단계; 및
    상기 단일 커넥션용 에이전트 노드가 상기 다중 커넥션용 에이전트 노드에게 초기화가 완료되었다는 알리는 초기화 4단계를 포함하는 것을 특징으로 하는 IEEE1394 원거리 접속 장치간의 초기화 방법.
  11. 제 10항에 있어서,
    상기 초기화 1단계는,
    상기 다중 커넥션용 에이전트 노드가 리셋되면 초기화가 시작된 것을 표시하는 필드 및 목적 노드 종류 필드를 포함하는 패킷을 상기 단일 커넥션용 에이전트 노드에 전송하는 단계;
    상기 단일 커넥션용 에이전트 노드는 패킷을 수신하였다는 응답 패킷을 상기 다중 커넥션용 에이전트 노드에 전송하는 단계; 및
    상기 단일 커넥션용 에이전트 노드가 자신에 연결된 IEEE1394 노드의 ID를 포함하는 패킷을 상기 다중 커넥션용 에이전트 노드에게 전송하는 단계를 포함하며,
    상기 초기화 2단계는,
    상기 다중 커넥션용 에이전트 노드가 상기 초기화 1단계의 단일 커넥션용 에이전트 노드에서 보낸 노드 ID를 포함하는 패킷을 수신하면 수신한 것을 확인하는 응답 패킷을 상기 단일 커넥션용 에이전트 노드에게 전송하는 단계; 및
    상기 다중 커넥션용 에이전트 노드가 자신에 연결된 IEEE1394 노드들의 ID를 포함하는 패킷을 상기 단일 노드 에이전트에 전송하는 단계를 포함하며,
    상기 초기화 3단계는,
    상기 단일 커넥션용 에이전트 노드가 상기 초기화 2단계에서 다중 커넥션용 에이전트 노드가 전송한 IEEE1394 노드 ID를 포함하는 패킷을 수신하면 수신한 것을 확인하는 응답 패킷을 상기 다중 커넥션용 에이전트 노드에게 전송하는 단계; 및
    상기 에이전트 노드가 가상 네트웍을 구성하는 단계를 포함하고,
    상기 초기화 4단계는,
    상기 단일 커넥션용 에이전트 노드가 가상 네트웍 구성을 완료했다는 정보를 포함하는 패킷을 상기 다중 커넥션용 에이전트 노드에 전송하는 단계; 및
    상기 다중 커넥션용 에이전트 노드는 이 패킷을 수신한 것을 확인하는 패킷과 초기화가 완료된 것을 나타내는 패킷을 상기 단일 커넥션용 에이전트 노드에 전송하는 단계를 포함하는 것을 특징으로 하는 IEEE1394 원거리 접속 장치간의 초기화 방법.
  12. 하나 이상의 IEEE1394 노드를 포함하는 IEEE1394 네트웍에 연결되는 다중 커넥션용 에이전트 노드와 상기 네트웍의 원거리에 위치한 하나의 IEEE1394 노드에 연결되는 단일 커넥션용 에이전트 노드간에 상기 단일 커넥션용 에이전트 노드에서 상기 다중 커넥션용 에이전트 노드로 초기화하는 방법에 있어서,
    상기 단일 커넥션용 에이전트 노드가 상기 다중 커넥션용 에이전트 노드로 초기화 패킷과 자신에 연결된 IEEE1394 노드의 self-ID를 상기 단일 커넥션용 에이전트 노드에 전송하는 초기화 1단계;
    상기 다중 커넥션용 에이전트 노드가 자신에 연결된 IEEE1394 노드들의 self-ID들을 상기 단일 커넥션용 에이전트 노드에게 전송하는 초기화 2단계;
    상기 단일 커넥션용 에이전트 노드가 가상 네트웍을 구성하는 초기화 3단계; 및
    상기 단일 커넥션용 에이전트 노드가 상기 다중 커넥션용 에이전트 노드에게 초기화가 완료되었다는 알리는 초기화 4단계를 포함하는 것을 특징으로 하는IEEE1394 원거리 접속 장치간의 초기화 방법.
  13. 제 12항에 있어서,
    상기 초기화 1단계는,
    상기 단일 커넥션용 에이전트 노드가 리셋되면 초기화가 시작된 것을 표시하는 필드 및 목적 노드 종류 필드를 포함하는 패킷을 상기 다중 커넥션용 에이전트 노드에 전송하는 단계; 및
    상기 단일 커넥션용 에이전트 노드는 패킷을 수신하였다는 응답 패킷을 상기 다중 커넥션용 에이전트 노드에 전송하는 단계; 및
    상기 단일 커넥션용 에이전트 노드가 자신에 연결된 IEEE1394 노드의 ID를 포함하는 패킷을 상기 다중 커넥션용 에이전트 노드에게 전송하는 단계를 포함하며,
    상기 초기화 2단계는,
    상기 다중 커넥션용 에이전트 노드가 상기 초기화 1단계의 단일 커넥션용 에이전트 노드에서 보낸 노드 ID를 포함하는 패킷을 수신하면 수신한 것을 확인하는 응답 패킷을 상기 단일 커넥션용 에이전트 노드에게 전송하는 단계; 및
    상기 다중 커넥션용 에이전트 노드가 자신에 연결된 IEEE1394 노드들의 ID를 포함하는 패킷을 상기 단일 노드 에이전트에 전송하는 단계를 포함하며,
    상기 초기화 3단계는,
    상기 단일 커넥션용 에이전트 노드가 상기 초기화 2단계에서 다중 커넥션용 에이전트 노드가 전송한 IEEE1394 노드 ID를 포함하는 패킷을 수신하면 수신한 것을 확인하는 응답 패킷을 상기 다중 커넥션용 에이전트 노드에게 전송하는 단계; 및
    상기 에이전트 노드가 가상 네트웍을 구성하는 단계를 포함하고,
    상기 초기화 4단계는,
    상기 단일 커넥션용 에이전트 노드가 가상 네트웍 구성을 완료했다는 정보를 포함하는 패킷을 상기 다중 커넥션용 에이전트 노드에 전송하는 단계; 및
    상기 다중 커넥션용 에이전트 노드는 이 패킷을 수신한 것을 확인하는 패킷과 초기화가 완료된 것을 나타내는 패킷을 상기 단일 커넥션용 에이전트 노드에 전송하는 단계를 포함하는 것을 특징으로 하는 IEEE1394 원거리 접속 장치간의 초기화 방법.
  14. 하나 이상의 IEEE1394 노드를 포함하는 IEEE1394 네트웍에 연결되는 다중 커넥션용 에이전트 노드와 상기 네트웍의 원거리에 위치한 하나의 IEEE1394 노드에 연결되는 단일 커넥션용 에이전트 노드간에 비동기식 패킷을 전송하는 방법에 있어서,
    비동기 패킷의 번호를 구비하는 비동기 헤더를 생성하는 단계; 및
    상기 패킷 번호를 포함하는 비동기식 패킷을 다른 에이전트 노드에 전송하는 단계를 포함하는 것을 특징으로 하는 IEEE1394 원거리 접속 장치간의 비동기식 패킷 전송 제어 방법.
  15. 제 14항에 있어서, 상기 헤더를 생성하는 단계는,
    에이전트 노드가 다른 에이전트 노드에게 전송할 패킷 데이터가 비동기식 데이터인가를 확인하는 단계를 포함하고,
    상기 패킷을 전송하는 단계는,
    상기 전송된 비동기식 패킷 데이터를 수신한 에이전트 노드는 수신한 것을 확인하며 수신된 상기 비동기식 패킷 데이터에 포함된 패킷 번호를 포함하는 승인 패킷을 상기 비동기식 패킷 데이터를 전송한 에이전트 노드에 전송하는 단계를 포함하는 것을 특징으로 하는 IEEE1394 원거리 접속 장치간의 비동기식 패킷 전송 제어 방법.
  16. 제 15항에 있어서, 상기 비동기식 패킷 전송 단계는,
    한 에이전트 노드가 다른 에이전트 노드에게 비동기식 패킷을 전송하고 그 다른 에이전트 노드로부터 소정의 시간 내에 승인 패킷을 받지 못하거나 전송된 비동기식 패킷에 오류가 있다는 패킷을 상기 다른 에이전트로부터 전송 받으면 상기 비동기식 패킷을 다시 전송하는 재전송 단계를 더 포함하는 것을 특징으로 하는 IEEE1394 원거리 접속 장치간의 패킷 전송 제어 방법.
  17. 제 16항에 있어서, 상기 재전송 단계는,
    패킷 번호들을 포함하는 복수의 비동기식 패킷 데이터를 다른 에이전트 노드에게 전송하고 그 패킷 데이터들에 대한 패킷 번호들을 포함하는 복수개의 승인 패킷을 수신하여 전송한 패킷 번호와 수신한 패킷 번호를 비교하는 단계; 및
    소정의 시간 이내에 전송한 패킷 번호와 일치하는 패킷 번호를 포함하는 승인 패킷이 수신되지 않으면 상기 패킷 번호를 가진 비동기식 패킷 데이터를 다시 전송하는 단계를 포함하는 것을 특징으로 하는 IEEE1394 원거리 접속 장치간의 패킷 전송 제어 방법.
  18. 하나 이상의 IEEE1394 노드를 포함하는 IEEE1394 네트웍에 연결되는 다중 커넥션용 에이전트 노드와 상기 네트웍의 원거리에 위치한 하나의 IEEE1394 노드에 연결되는 단일 커넥션용 에이전트 노드간에 등시성 패킷을 전송하는 방법에 있어서,
    전송할 패킷이 등시성 패킷인가를 확인하는 단계; 및
    한 에이전트 노드가 등시성 패킷을 다른 에이전트 노드에 전송하는 단계를 포함하는 것을 특징으로 하는 IEEE1394 원거리 접속 장치간의 패킷 전송 제어 방법.
  19. 제 18항에 있어서, 상기 전송 단계는
    IEEE1394 버스에서 패킷을 전송하기 위한 한 주기 내에 IEEE1394 노드에서 에이전트 노드로 전송된 등시성 패킷들을 에이전트 노드에서 버퍼링하는 단계; 및
    상기 등시성 패킷에서 IEEE1394 버스간에 패킷이 전송되는 속도를 나타내는 필드에서 IEEE1394 버스에서의 전송 속도를 구하는 단계;
    상기 IEEE1394 버스간의 전송 속도에서 구해지는 시간과 상기 에이전트 노드들간의 패킷 전송 지연 시간을 더한 시간 이내에 상기 버퍼링된 등시성 패킷 데이터를 전송하는 단계를 포함하는 것을 특징으로 하는 IEEE1394 원거리 접속 장치간의 패킷 전송 제어 방법.
  20. 한 포트는 한 개 이상의 IEEE1394 버스 노드들에 연결되며 다른 한 포트는 다른 에이전트 노드에 연결되는 에이전트 노드에 있어서,
    상기 한 개 이상의 IEEE1394 노드로부터 전송되는 패킷 데이터를 수신하는 1394 데이터 수신부;
    상기 1394 데이터 수신부가 수신한 패킷 데이터가 데이터를 전송한 후에 데이터를 받았다는 승인 패킷을 받아야 전송이 완료되는 비동기식 패킷인가 혹은 승인 패킷이 필요하지 않은 등시성 패킷인지를 판단하고 다른 에이전트 노드로 전송하지 않고 에이전트 노드에서 사용될 데이터인지 혹은 다른 에이전트 노드로 전송되어야 하는 데이터인지를 판단하고, 에이전트 노드에서 사용할 데이터라면 승인 패킷인지를 판단하고 다른 에이전트 노드로 전송될 데이터인 경우 각 IEEE1394 노드들의 self-ID를 포함하는 패킷인지를 판단하는 1394 데이터 분석부;
    상기 다른 에이전트 노드에서 수신한 패킷 데이터를 수신하는 에이전트 데이터 수신부;
    상기 에이전트 데이터 수신부가 수신한 패킷 데이터가 비동기식 패킷인지 등시성 패킷인가를 판단하고 에이전트 노드에서 사용되는 데이터인가 혹은 상기 IEEE1394 버스 노드들로 전송되어야 할 데이터인가를 판단하는 에이전트 데이터 분석부;
    상기 다른 에이전트에 전송할 정보를 포함하는 헤더나 상기 다른 에이전트 노드로 전송할 것으로 판단된 데이터에 대응하는 헤더를 생성하는 헤더 생성부;
    상기 헤더 생성부가 생성한 헤더나 상기 다른 에이전트 노드로 전송할 데이터에 상기 헤더 생성부가 생성한 대응하는 헤더를 결합하여 생성된 패킷 데이터를 상기 다른 에이전트 노드로 전송하는 에이전트 데이타 송신부; 및
    상기 에이전트 노드가 상기 IEEE1394 버스 노드들에 패킷 데이터를 전송하거나 상기 에이전트 패킷 분석부가 상기 IEEE1394 버스 노드들중의 하나로 전송할 것으로 분석한 데이터에서 에이전트 사이에서만 필요한 헤더를 제거하여 상기 IEEE1394 버스 노드들중에 대응하는 노드로 전송하는 1394 데이터 전송부를 포함하는 것을 특징으로 하는 IEEE1394 에이전트 노드.
  21. 제 20항에 있어서, 상기 1394 데이터 분석부는
    상기 1394 데이터 수신부가 수신한 데이터의 오류를 검출하는 오류 검출부를 더 포함하며,
    상기 1394 데이터 송신부는 상기 1394 데이터 수신부가 수신한 데이터에 오류가 발생하면 이를 알리는 정보를 포함하는 패킷 데이터를 상기 데이터를 송신한 IEEE1394 노드에게 전송하는 것을 특징으로 하는 IEEE1394 에이전트 노드.
  22. 제 20항에 있어서, 상기 에이전트 데이터 분석부는
    상기 에이전트 데이터 수신부가 수신한 데이터의 오류를 검출하는 오류 검출부를 더 포함하며,
    상기 오류 검출부는 수신한 데이터에 오류가 있으면 오류 발생 신호를 출력하고,
    상기 헤더 생성부는 상기 오류 검출부 오류 발생 신호를 수신하면 오류 발생한 내용을 포함하는 헤더를 생성하며,
    상기 에이전트 데이터 송신부는 오류 정보를 포함하는 헤더를 포함한 패킷 데이터를 상기 다른 에이전트 노드에 전송하는 것을 특징으로 하는 IEEE1394 에이전트 노드.
  23. 제 20항에 있어서, 상기 에이전트 노드는 시간 측정이 시작된 후 소정의 시간이 지났음을 알리는 타이머를 더 포함하고,
    상기 1394 데이터 송신부는 상기 IEEE1394 노드들에 비동기식 패킷을 전송한 후에 시간 측정이 시작된 상기 타이머가 알리는 소정의 시간까지 상기 1394 데이터 수신부가 상기 비동기식 패킷에 대응하는 승인 패킷을 받지 못하면 상기 비동기식 패킷을 재전송하는 것을 특징으로 하는 IEEE1394 에이전트 노드.
  24. 제 20항에 있어서, 상기 에이전트 노드는 시간 측정이 시작된 후 소정의 시간이 지났음을 알리는 타이머를 더 포함하고,
    상기 에이전트 데이터 송신부는 다른 에이전트 노드에 비동기식 패킷을 전송한 후에 시간 측정이 시작된 상기 타이머가 알리는 소정의 시간까지 상기 에이전트 데이터 수신부가 상기 비동기식 패킷에 대응하는 승인 패킷을 받지 못하면 상기 비동기식 패킷을 재전송하는 것을 특징으로 하는 IEEE1394 에이전트 노드.
KR1019990034925A 1999-08-23 1999-08-23 Ieee1394 원거리 접속장치간의 패킷 전송 제어방법 및 장치 KR20010018814A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990034925A KR20010018814A (ko) 1999-08-23 1999-08-23 Ieee1394 원거리 접속장치간의 패킷 전송 제어방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990034925A KR20010018814A (ko) 1999-08-23 1999-08-23 Ieee1394 원거리 접속장치간의 패킷 전송 제어방법 및 장치

Publications (1)

Publication Number Publication Date
KR20010018814A true KR20010018814A (ko) 2001-03-15

Family

ID=19608276

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990034925A KR20010018814A (ko) 1999-08-23 1999-08-23 Ieee1394 원거리 접속장치간의 패킷 전송 제어방법 및 장치

Country Status (1)

Country Link
KR (1) KR20010018814A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010035779A (ko) * 1999-10-02 2001-05-07 윤종용 사용자 데이터그램 통신 규약 상에서 패킷 로스를 보상하는 방법
KR101008978B1 (ko) * 2003-03-04 2011-01-17 삼성전자주식회사 애드 혹 네트워크 환경에서 신뢰성 있게 브로드캐스팅하는시스템 및 방법
WO2013129750A1 (ko) * 2012-03-02 2013-09-06 엘에스산전(주) 통신 장치 및 통신 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010035779A (ko) * 1999-10-02 2001-05-07 윤종용 사용자 데이터그램 통신 규약 상에서 패킷 로스를 보상하는 방법
KR101008978B1 (ko) * 2003-03-04 2011-01-17 삼성전자주식회사 애드 혹 네트워크 환경에서 신뢰성 있게 브로드캐스팅하는시스템 및 방법
WO2013129750A1 (ko) * 2012-03-02 2013-09-06 엘에스산전(주) 통신 장치 및 통신 방법
US10044469B2 (en) 2012-03-02 2018-08-07 Lsis Co., Ltd. Communication device and communication method

Similar Documents

Publication Publication Date Title
EP0525985B1 (en) High speed duplex data link interface
EP0148178B1 (en) Interface arrangements for communication networks
JP2591717B2 (ja) 2ウィンドウを有するネットワーク通信方法
JP2699991B2 (ja) データ・フレームの伝送方法
US5007051A (en) Link layer protocol and apparatus for data communication
AU690297B2 (en) Packet data protocol for wireless communication
US6347097B1 (en) Method and apparatus for buffering received data from a serial bus
US20040100944A1 (en) Serial ATA frame structure routing circuitry and protocols
EP0730355A2 (en) Error recovery in a network having cascaded hubs
JP2986798B2 (ja) データ伝送制御方法およびデータ通信装置
JPH0126211B2 (ko)
RU2651242C1 (ru) Способ передачи данных
US6023472A (en) High speed FD/HD data translator and network
KR20010018814A (ko) Ieee1394 원거리 접속장치간의 패킷 전송 제어방법 및 장치
US20110231726A1 (en) Repeater and method
US20080101383A1 (en) Repeater Node for a Network
US6594283B1 (en) Network communication device
KR100320739B1 (ko) 원거리 접속용 아이 트리플 이 1394 시스템 및 그 구성 방법
JP5017295B2 (ja) デバイス接続システム、ならびに、そのデバイス接続システムに用いられるマスタ側ブリッジ、スレーブ側ブリッジ、および、通信用ブリッジ
JP3148733B2 (ja) 信号処理装置及び信号処理システム
CN109905447A (zh) 信息传输的方法和装置
JP2011198047A (ja) Usb中継装置及び方法
JPS63169855A (ja) 誤り再送機能付きパケツト伝送方式
JP2000244530A (ja) データ通信装置
JP2002281034A (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