[go: up one dir, main page]

KR19990072911A - 데이타통신시스템,데이타통신방법,데이타통신장치및디지탈인터페이스 - Google Patents

데이타통신시스템,데이타통신방법,데이타통신장치및디지탈인터페이스 Download PDF

Info

Publication number
KR19990072911A
KR19990072911A KR1019990006177A KR19990006177A KR19990072911A KR 19990072911 A KR19990072911 A KR 19990072911A KR 1019990006177 A KR1019990006177 A KR 1019990006177A KR 19990006177 A KR19990006177 A KR 19990006177A KR 19990072911 A KR19990072911 A KR 19990072911A
Authority
KR
South Korea
Prior art keywords
data
source node
destination nodes
data communication
communication
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
KR1019990006177A
Other languages
English (en)
Other versions
KR100311707B1 (ko
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
Priority claimed from JP6621698A external-priority patent/JP3814407B2/ja
Application filed by 미따라이 하지메, 캐논 가부시끼가이샤 filed Critical 미따라이 하지메
Publication of KR19990072911A publication Critical patent/KR19990072911A/ko
Application granted granted Critical
Publication of KR100311707B1 publication Critical patent/KR100311707B1/ko
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • 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/40117Interconnection of audio or video/imaging devices
    • 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/40123Interconnection of computers and peripherals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • 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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/13Flow control; Congestion control in a LAN segment, e.g. ring or bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9057Arrangements for supporting packet reassembly or resequencing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/35Network arrangements, protocols or services for addressing or naming involving non-standard use of addresses for implementing network functionalities, e.g. coding subscription information within the address or functional addressing, i.e. assigning an address to a function
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • H04L2012/6486Signalling Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/604Address structures or formats
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/323Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the physical layer [OSI layer 1]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)
  • Information Transfer Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명에 따르면, 소스 노드와 하나 이상의 목적 노드를 논리적으로 접속하고, 논리 접속 관계를 식별하는데 사용되는 접속 ID를 사용함으로써 각각의 노드 간의 데이타 통신을 제어하는 통신 시스템 및 통신 프로토콜이 제공된다.
또한, 하나 이상의 목적 노드에 포함되어 있는 메모리 공간들을 공통으로 표시하는 오프셋 어드레스와 접속 ID를 상관시키고, 오프셋 어드레스의 표시 및 수신된 데이타의 접속 ID의 식별을 단순화하는 통신 시스템 및 통신 프로토콜이 제공된다.
또한, 소스 노드와 복수의 목적 노드 간의 데이타 통신이 시작되기 전에 발생되는 지연 시간의 증가를 방지하는 통신 시스템 및 통신 프로토콜이 제공된다.

Description

데이타 통신 시스템, 데이타 통신 방법, 데이타 통신 장치 및 디지탈 인터페이스{DATA COMMUNICATION SYSTEM, DATA COMMUNICATION METHOD, DATA COMMUNICATION APPARATUS, AND DIGITAL INTERFACE}
본 발명은 데이타 통신 시스템, 데이타 통신 방법, 데이타 통신 장치 및 디지탈 인터페이스에 관한 것이다. 특히, 본 발명은 통신 데이타(화상 데이타 포함)와 명령 데이타를 함께 고속으로 전송하기 위한 망, 및 이러한 망에 이용할 수 있는 통신 프로토콜에 관한 것이다.
종래에, 하드 디스크 및 프린터는 개인용 컴퓨터(PC)에 가장 자주 이용되는 주변 기기이다. 이러한 주변 기기 중 하나는 SCSI(small computer system interface) 등과 같은 특수한 입출력 인터페이스 또는 범용 디지탈 인터페이스를 통해 PC에 접속된다.
그러나, 최근에는 디지탈 카메라, 디지탈 비디오 카메라 등과 같은 AV(Audio/Visual) 기기가 대중화되었고, 이들은 함께 PC에 사용될 수 있는 또 다른 형태의 주변 기기를 구성한다. 이러한 AV 기기는 인터페이스를 통해 PC에 접속될 수 있다.
도 1은 PC 및 AV 기기를 포함하는 종래의 통신 시스템을 나타내는 도면이다.
도 1에서, 참조 번호(101)는 AV 기기(디지탈 카메라)를 나타내고 참조 번호(102)는 PC를 나타내며, 참조 번호(103)는 프린터를 나타낸다. 디지탈 카메라(1)는 화상 데이타가 압축 저장되는 메모리(104); 메모리(104)에 저장된 압축 화상 데이타를 확장시켜 디코딩하는 디코더(105); 화상 처리 유닛(106); D/A 변환기(107); EVF를 포함하는 디스플레이 유닛(108); 및 디지탈 카메라(101)와 PC(102)를 접속시키기 위한 특수 디지탈 I/O 유닛(109)을 포함한다.
PC(102)는 디지탈 카메라(101)에 PC(102)를 접속시키기 위한 특수 디지탈 I/O 유닛(110); 키보드와 마우스를 포함하는 조작 유닛(111); 압축 화상 데이타를 확장하여 디코딩하는 디코더(112); 디스플레이 유닛(113); 하드 디스크(114); RAM 등과 같은 메모리(115); MPU(116); PCI 버스(117); 및 프린터(103)에 PC(102)를 접속시키기 위한 SCSI 인터페이스를 포함한다.
프린터(103)는 PC(102)에 프린터를 접속시키기위한 SCSI 인터페이스(119); 메모리(120); 프린터 헤드(121); 프린터(103)의 동작을 제어하기 위한 프린터 제어기; 및 구동기(123)를 포함한다.
종래의 통신 시스템에 있어서, 디지탈 카메라(101)의 특수 디지탈 인터페이스(디지탈 I/O 유닛)(109) 및 프린터(103)의 디지탈 인터페이스(SCSI 인터페이스)(119)는 호환성이 없으며, 어느 하나가 다른 하나에 직접 접속될 수 없다. 따라서, 예컨대 디지탈 카메라(101)가 프린터(103)로 정지 화상을 전송하려 할 때에는 PC가 중계 역할을 하여야 한다.
종래의 특수 디지탈 인터페이스(109) 및 종래의 SCSI 인터페이스(119)는 많은 단점을 갖고 있다. 즉, 특히 정지 화상 또는 동화상을 위하여 AV 기기로부터 대량의 데이타가 전송되어야 할 때에 데이타 전송 속도가 낮고, 병렬 통신을 위해서는 두꺼운 케이블을 사용해야 하며, 적은 수의 주변 기기 및 몇몇 유형의 주변 기기만이 접속될 수 있고, 접속 시스템이 제한되어 있으며, 데이타 전송이 실시간으로 수행될 수 없다.
이러한 단점을 해결할 수 있는 고속, 고성능의 차세대 디지탈 인터페이스는 잘 알려진 IEEE(전기 전자 공학회) 1394-1995 인터페이스 표준에 따르는 것이다.
IEEE 1394-1995 인터페이스 표준(이하, 1394 인터페이스라 함)에 따른 디지탈 인터페이스는 다음의 특징을 갖고 있다:
(1) 데이타 전송 속도가 높다.
(2) 실시간 데이타 전송 시스템, 즉 동시 전송 시스템, 및 비동기 전송 시스템을 지원한다.
(3) 자유도가 큰 접속 구조(토폴로지)를 얻을 수 있다.
(4) 플러그 앤 플레이 기능 및 액티브 라인 탈착 기능을 지원한다.
그러나, IEEE 1394-1995 표준에서 접속기와 가장 기본적인 데이타 전송 시스템을 위한 물리적, 전기적 접속이 정의되어 있는 반면에, 데이타 유형, 데이타 포맷 및 데이타 교환을 위해 사용되는 통신 프로토콜이 정의되어 있지 않다.
IEEE 1394-1995 표준에 따르면, 패킷의 수신에 대한 응답이 동시 전송 시스템에 대해 정의되어 있지 않기 때문에, 개별적인 동시 패킷의 수신을 보장할 방법이 없다. 따라서, 동시 전송 시스템은 복수의 연속 데이타 세트가 전송되거나 화일 내의 데이타가 데이타를 복수의 데이타 세트로 분할함으로써 전송될 때에는 사용될 수 없다.
IEEE 1394-1995 표준에 따른 동시 전송 시스템에서, 통신의 전체 수는 전송 대역에 빈 공간이 있는 경우에도 64개로 제한된다. 따라서, 동시 전송 시스템은 좁은 통신 대역에 의해 전송되는 다중 통신에 적당하지 않다.
IEEE 1394-1995 표준에 따르면, 노드 전력이 턴온 또는 오프됨으로 인해 버스가 리셋될 때, 또는 노드의 접속 또는 분리가 확보될 때, 데이타 전송은 중지되어야 한다. 그러나, IEEE 1394-1995 표준에 따르면, 버스의 리셋 또는 전송시 발생하는 에러로 인하여 데이타 전송이 중지(정지)될 때, 손실되는 데이타의 내용이 확인될 수 없다. 더우기, 전송을 재개하기 위하여 매우 복잡한 통신 절차가 수행되어야 한다.
버스 리셋 기능은 새로운 토폴로지를 자동 식별하고 노드에 할당되는 어드레스(노드 ID)를 설정하기 위한 기능이다. 이 기능에 따라, IEEE 1394-1995 표준을 적용함으로써 플러그 앤 플레이 기능 및 액티브 라인 탈착 기능이 제공될 수 있다.
IEEE 1394-1995 표준에 따른 통신 시스템에서는 실시간 처리가 되지 않으며, 신뢰성이 있어야 하는 비교적 많은 양의 오브젝트 데이타(예컨대, 정지 화상 데이타, 그래픽 데이타, 텍스트 데이타, 화일 데이타 또는 프로그램 데이타)를 하나 이상의 데이타 세그먼트로 분할하고 데이타 세그먼트를 순차 전송하기 위하여 사용될 수 있는 특수 통신 프로토콜이 제안되지 않았다.
더우기, IEEE 1394-1995 표준에 따른 통신 시스템에서는 데이타의 비동기 전송을 위한 통신 방법을 이용함으로써 복수의 기기 사이에서 데이타 통신을 구현하는 데 사용될 수 있는 특수 통신 프로토콜이 제안되지 않았다.
본 발명의 목적은 전술한 문제를 해결하는 데 있다.
본 발명의 다른 목적은 데이타 통신 시스템, 데이타 통신 방법, 데이타 통신 장치 및 디지탈 인터페이스에 대한 기술을 제공하여 실시간 처리가 요구되지 않는 오브젝트 데이타가 순차 전송될 수 있도록 보장하는 데 있다.
본 발명의 또 다른 목적은 데이타 통신 시스템, 데이타 통신 방법, 데이타 통신 장치 및 디지탈 인터페이스에 대한 기술을 제공하여 소스 노드와 하나 이상의 목적 노드간의 순차적인 데이타 전송이 복잡한 통신 절차 없이도 간단한 처리만으로 만족스럽게 중지될 수 있도록 하는 데 있다.
본 발명에 따른 상기 목적을 위한 하나의 바람직한 실시예인 데이타 통신 시스템은
적어도 하나의 비동기 통신을 이용하여 하나 이상의 세그먼트로 구성된 데이타를 전송하기 위한 소스 노드;
상기 소스 노드로부터 데이타를 수신하기 위한 하나 이상의 목적 노드; 및
상기 소스 노드와 상기 하나 이상의 목적 노드간의 논리 접속 관계를 설정하기 위한 제어기를 포함하며,
상기 소스 노드, 상기 목적 노드 및 상기 제어기 중 하나가 상기 데이타의 전송을 중지시킨다.
본 발명의 또 하나의 바람직한 실시예인 데이타 통신 시스템은
논리 접속 관계에 따라 적어도 하나의 동보 통신을 이용하여 하나 이상의 세그먼트로 구성된 데이타를 전송하기 위한 소스 노드; 및
상기 논리 접속 관계에 따라 상기 소스 노드로부터 데이타를 수신하기 위한 하나 이상의 목적 노드를 포함하며,
상기 데이타의 전송은 상기 소스 노드 또는 상기 하나 이상의 목적 노드에 의해 중지된다.
본 발명의 또 하나의 바람직한 실시예인 데이타 통신 방법은
소스 노드와 하나 이상의 목적 노드간의 논리 접속 관계를 설정하는 단계;
적어도 하나의 비동기 통신을 이용하여 하나 이상의 세그먼트로 구성된 데이타를 상기 하나 이상의 목적 노드로 전송하는 단계; 및
설정된 상기 논리 접속 관계에 따라 상기 비동기 통신에 의해 전송된 데이타를 수신하는 단계를 포함하며,
상기 소스 노드, 상기 목적 노드 및 제어기 중 적어도 하나가 상기 데이타의 전송을 중지시킨다.
본 발명의 또 다른 바람직한 실시예인 데이타 통신 방법은
논리 접속 관계에 따라 적어도 하나의 동보 통신을 이용하여 적어도 하나의 세그먼트로 구성된 데이타를 전송하는 단계;
상기 논리 접속 관계에 따라 상기 소스 노드로부터 데이타를 수신하는 단계; 및
상기 소스 노드 또는 상기 하나 이상의 목적 노드를 이용하여 상기 데이타의 전송을 중지하는 단계를 포함한다.
본 발명의 또 다른 실시예인 데이타 통신 방법은
하나 이상의 세그먼트로 구성된 데이타를 조합하여 적어도 하나의 통신 패킷을 형성하는 단계;
소스 노드와 하나 이상의 목적 노드간에 설정된 논리 접속 관계에 따라 상기 통신 패킷을 비동기 전송하는 단계; 및
상기 적어도 하나의 통신 패킷의 비동기 전송을 중지하는 단계를 포함한다.
본 발명의 또 다른 실시예인 데이타 통신 방법은
소스 노드와 하나 이상의 목적 노드간에 설정된 논리 접속 관계에 따라 비동기 통신에 의해 전송된 적어도 하나의 통신 패킷을 수신하는 단계;
상기 통신 패킷에 포함된 데이타를 다른 기기와 공동으로 사용하는 메모리 공간에 기록하는 단계; 및
상기 적어도 하나의 통신 패킷의 비동기 전송을 중지하는 단계를 포함한다.
본 발명의 또 다른 실시예인 데이타 통신 방법은
소스 노드와 하나 이상의 목적 노드간의 논리 접속 관계를 설정하는 단계;
상기 논리 접속 관계에서 참가자를 식별하는 데 사용되는 접속 ID의 소스 노드 및 하나 이상의 목적 노드를 통지하는 단계; 및
상기 적어도 하나의 통신 패킷의 비동기 전송을 중지하는 단계를 포함한다.
본 발명의 또 다른 실시예인 데이타 통신 장치는
적어도 하나의 통신 패킷을 형성하기 위하여 하나 이상의 세그먼트로 구성된 데이타를 조합하기 위한 유닛; 및
소스 노드와 하나 이상의 목적 노드간에 설정된 논리 접속 관계에 따라 상기 통신 패킷을 비동기 전송하기 위한 유닛을 포함하며,
상기 적어도 하나의 통신 패킷의 비동기 전송은 중지될 수 있다.
본 발명의 또 다른 실시예인 데이타 통신 장치는
소스 노드와 하나 이상의 목적 노드간에 설정된 논리 접속 관계에 따라 비동기 통신에 의해 적어도 하나의 통신 패킷을 수신하기 위한 유닛; 및
상기 통신 패킷에 포함된 데이타를 다른 기기와 공동으로 사용하는 메모리 공간에 기록하기 위한 유닛을 포함하며,
상기 적어도 하나의 통신 패킷의 비동기 전송은 중지될 수 있다.
본 발명의 또 다른 실시예인 데이타 통신 장치는
소스 노드와 하나 이상의 목적 노드간의 논리 접속 관계를 설정하기 위한 유닛; 및
상기 논리 접속 관계에서 참가자를 식별하는 데 사용되는 접속 ID의 소스 노드 및 하나 이상의 목적 노드를 통지하고 상기 논리 접속 관계에 따라 비동기 전송을 중지하기 위한 유닛을 포함한다.
본 발명의 또 다른 실시예인 디지탈 인터페이스는 적어도 하나의 통신 패킷을 형성하기 위하여 하나 이상의 세그먼트로 구성된 데이타를 조합하기 위한 유닛; 및
소스 노드와 하나 이상의 목적 노드간에 설정된 논리 접속 관계에 따라 상기 통신 패킷을 비동기 전송하기 위한 유닛을 포함하며,
상기 적어도 하나의 통신 패킷의 비동기 전송은 중지될 수 있다.
본 발명의 또 다른 실시예인 디지탈 인터페이스는
소스 노드와 하나 이상의 목적 노드 간에 설정된 논리 접속 관계에 따라 비동기 전송에 의해 적어도 하나의 통신 패킷을 수신하기 위한 유닛; 및
상기 통신 패킷에 포함된 데이타를 다른 기기와 공동으로 사용하는 메모리 공간에 기록하기 위한 유닛을 포함하며,
상기 적어도 하나의 통신 패킷의 비동기 전송은 중지될 수 있다.
본 발명의 또 다른 실시예인 디지탈 인터페이스는
소스 노드와 하나 이상의 목적 노드간의 논리 접속 관계를 설정하기 위한 유닛; 및
상기 논리 접속 관계에서 참가자를 식별하는 데 사용되는 접속 ID의 소스 노드 및 하나 이상의 목적 노드를 통지하고 상기 논리 접속 관계에 따라 비동기 전송을 중지하기 위한 유닛을 포함한다.
본 발명의 또 다른 목적들 및 장점들은 실시예의 아래의 상세한 설명으로부터 명백해질 것이다.
도 1은 종래의 시스템을 나타내는 도면.
도 2는 본 발명의 제1 실시예에 따른 통신 시스템의 일례를 나타내는 블록도.
도 3은 본 발명의 제1 실시예에 따른 통신 프로토콜의 기본 구조를 설명하기 위한 개념도.
도 4a, 4b 및 4c는 본 발명의 제1 실시예에 따른 통신 프로토콜에 의해 커버되는 기본 통신 절차를 설명하기 위한 순서도.
도 5는 제1 실시예에 따른 비동기 동보 패킷의 구조를 나타내는 도면.
도 6a 및 6b는 각 노드에 포함된 어드레스 공간을 설명하기 위한 도면.
도 7은 오브젝트 데이타를 위한 전송 모델을 설명하기 위한 도면.
도 8은 제1 실시예에 따른 1394 인터페이스의 구조를 설명하기 위한 도면.
도 9는 본 발명의 제2 실시예에 따른 통신 프로토콜에 의해 커버되는 통신 절차를 설명하기 위한 순서도.
도 10은 본 발명의 제3 실시예에 따른 통신 프로토콜에 의해 커버되는 통신 절차를 설명하기 위한 순서도.
도 11은 본 발명의 제3 실시예에 따른 통신 프로토콜에 의해 커버되는 통신 절차를 설명하기 위한 순서도.
도 12는 접속 ID, 오프셋 어드레스 및 내부 버퍼의 크기 사이의 관계를 설명하기 위한 도면.
도 13은 어드레스 공간과 내부 버퍼 사이의 관계를 설명하기 위한 도면.
도 14는 본 발명의 제5 실시예에 따른 통신 프로토콜에 의해 커버되는 통신 절차를 설명하기 위한 순서도.
도 15는 접속 ID와 오프셋 어드레스 사이의 관계를 설명하기 위한 도면.
도 16은 데이타 전송 속도와 버퍼 크기 사이의 관계를 설명하기 위한 도면.
<도면의 주요 부분에 대한 부호의 설명>
10 : 컴퓨터
12 : MPU
16 : 조작 유닛
18 : 디코더
20 : 디스플레이 유닛
22 : HD
24 : 메모리
34 : 비디오 처리 유닛
이하, 본 발명의 바람직한 실시예가 첨부된 도면을 참조하여 설명된다.
도 2는 본 발명의 제1 실시예에 따른 데이타 통신 시스템의 일례를 나타내는 도면이다. 도 2에 도시된 바와 같이, 데이타 통신 시스템은 컴퓨터(10), 내장 카메라(28)를 구비한 디지탈 비디오 기록기 및 프린터(60)를 포함한다.
컴퓨터(10)의 구성이 먼저 설명된다. MPU(12)가 컴퓨터(10)의 동작을 제어한다. 1394 인터페이스(14)는 IEEE 1394-1995 표준에 따른 기능 및 본 실시예에서 지정된 통신 프로토콜과 관련된 기능을 포함한다. 조작 유닛(16)은 키보드와 마우스를 포함한다. 디코더(18)는 압축 코딩된 디지탈 데이타(동화상 데이타, 정지 화상 데이타, 오디오 데이타 등)를 디코딩한다. 디스플레이 유닛(20)은 CRT 디스플레이 또는 액정 패널과 같은 디스플레이 장치를 포함한다. 하드 디스크(HD)(22)는 각종 디지탈 데이타(동화상 데이타, 정지 화상 데이타, 오디오 데이타, 그래픽 데이타, 텍스트 데이타, 프로그램 데이타 등)를 저장하는 데 사용되며, 내부 메모리(24)가 또한 저장 매체로서 제공된다. 내부 버스(26)는 예컨대, 컴퓨터(10)의 개별 섹션들을 상호 접속시키는 PCI 버스이다.
이제, 내장 카메라(이하 DVCR이라 함)(28)를 구비한 디지탈 비디오 기록기의 구성이 설명된다. 촬상 유닛(opt)(30)은 오브젝트의 광 화상을 전기 신호를 변환하여, 이 신호를 아날로그 신호로 변환하며, 아날로그/디지탈(A/D) 변환기(32)는 아날로그 신호를 디지탈 신호로 변환한다. 화상 처리 유닛(34)은 디지탈 동화상 또는 정지 화상 데이타를 선정된 포맷의 디지탈 화상 데이타로 변환한다. 압축/확장 유닛(36)은 압축 코딩된 디지탈 코드(동화상 데이타, 정지 화상 데이타, 오디오 데이타 등)를 디코딩하기 위한 기능 및 디지탈 화상 데이타의 고효율 코딩을 수행하기 위한 기능을 포함한다(예컨대, MPEG 또는 DV 방법과 같이, 디지탈 화상은 양자화되고 코딩될 가변 길이의 선정된 단위 화상을 제공하도록 수직 변환된다). 메모리(38)는 고효율 코딩이 수행된 디지탈 화상 데이타를 일시 저장하는 데 사용되며, 메모리(40)는 고효율 코딩이 수행되지 않은 디지탈 화상 데이타를 일시 저장하는 데 사용된다. 데이타 선택기(42)는 메모리(38) 또는 메모리(40)를 선택한다. 1394 인터페이스(44)는 IEEE 1394-1995 표준에 따른 기능 및 본 실시예에서 지정된 통신 프로토콜과 관련된 기능을 포함한다. 메모리 제어기(46, 48)는 메모리(38, 40)에 대한 기록 및 판독 처리를 제어한다. 마이크로 컴퓨터를 포함하는 시스템 제어기(50)는 DVCR(28)의 동작을 제어한다. 조작 유닛(52)은 원격 제어기 및 조작 패널을 포함한다. 전자 뷰파인더(EVF)(54)는 아날로그 화상 신호를 디스플레이하는 데 사용된다. D/A 변환기(56)는 디지탈 신호를 아날로그 신호로 변환한다. 기록기/재생기(58)는 자기 테이프, 자기 디스크 또는 광자기 디스크와 같은 기록 매체로서, 각종 디지탈 데이타(동화상 데이타, 정지 화상 데이타 또는 오디오 데이타 등)를 기록 또는 재생하는 데 사용된다.
이제, 프린터(60)의 구조가 설명된다. 1394 인터페이스(62)는 IEEE 1394-1995 표준에 따른 기능과 본 실시예에서 지정된 통신 프로토콜과 관련된 기능을 포함한다. 참조 번호(64)는 데이타 선택기를 나타낸다. 조작 유닛(66)은 조작 버튼과 터치 패널 등을 포함한다. 프린터 제어기(68)는 프린터(60)의 동작을 제어한다. 참조 번호(70)는 디코더를 나타내고 참조 번호(72)는 내부 메모리를 나타낸다. 화상 처리 유닛(74)은 1394 인터페이스를 통해 수신한 정지 화상 데이타, 텍스트 데이타 또는 그래픽 데이타를 처리한다. 참조 번호(76)는 구동기를 나타내고, 프린터 헤드(78)는 프린팅을 수행한다.
도 2에 도시된 바와 같이, 컴퓨터(10), DVCR(28) 및 프린터(60)의 각 통신 장치(이하, 노드라 함)는 인터페이스(14, 44, 62)를 통해 서로 접속되어 있다. 이하, 1394 인터페이스로 구성된 망은 1394 시리얼 버스라 한다. 선정된 통신 프로토콜이 정의되므로, 노드는 각종 오브젝트 데이타(예컨대, 동화상 데이타, 정지 화상 데이타, 오디오 데이타, 그래픽 데이타, 텍스트 데이타, 프로그램 데이타 등)를 변환할 수 있고, 명령 데이타는 노드를 원격 제어하는 데 사용될 수 있다. 이 실시예에서, 비동기 전송 시스템의 이용을 위한 통신 프로토콜이 정의된다.
이제, 도 2를 참조하여, 본 실시예의 통신 시스템을 구성하는 각 노드에 의해 수행되는 동작에 대한 설명이 주어진다.
먼저, 컴퓨터(10)의 개별 유닛에 의해 수행되는 기능 및 동작이 설명된다.
본 실시예에서, 컴퓨터(10)는 예컨대 DVCR(28)과 프린터(60) 사이의 화상 데이타의 변환을 제어하기 위한 제어기로서, 또는 DVCR(28)과 프린터(60)를 원격 제어하기 위한 제어기로서 동작한다.
MPU(12)는 하드 디스크(22)에 기록된 소프트웨어를 실행시켜 각종 데이타를 내부 메모리(24)로 이동시킨다. MPU(12)는 또한 내부 버스(26)에 의해 접속된 개별 유닛들을 위한 중재 기능을 제공한다.
1394 인터페이스(14)는 1394 시리얼 버스로부터 화상 데이타를 수신할 수 있으며, 하드 디스크(22) 또는 내부 메모리(24)로부터 수신된 화상 데이타를 1394 시리얼 버스로 전송할 수 있다. 1394 인터페이스(14)는 또한 1394 시리얼 버스를 따라 다른 노드의 원격 제어를 실행하기 위한 명령 데이타를 중계할 수 있다. 더우기, 1394 인터페이스(14)는 1394 시리얼 버스를 통해 수신된 신호를 다른 노드로 전송하기 위한 기능을 갖고 있다.
사용자는 조작 유닛(16)을 사용하여 원하는 소프트웨어를 선택함으로써 MPU(12)가 하드 디스크(22)에 기록된 소프트웨어를 실행하도록 명령한다. 소프트웨어에 관한 정보는 디스플레이 유닛(20)에 의해 사용자에게 제공된다. 소프트웨어에 따라, 디코더(18)는 1394 시리얼 버스를 통해 수신된 화상 데이타를 디코딩한다. 디코딩된 화상 데이타는 디스플레이 유닛(20)을 통해 사용자에게 제공된다.
DVCR(28)의 개별 유닛의 기능 및 동작이 설명된다.
본 실시예에서, DVCR(28)은 예컨대, 본 실시예의 통신 프로토콜에 기초하여 화상 데이타를 비동기 전송하기 위한 화상 송신기(소스 노드)로서 동작한다.
촬상 유닛(30)은 오브젝트의 광 화상을 휘도 신호(Y)와 색 신호(C)로 구성된 전기 신호로 변환하여 이 전기 신호를 A/D 변환기(32)에 공급한다. 그 다음, A/D 변환기(32)는 전기 신호를 디지탈 신호로 변환한다.
화상 처리 유닛(34)은 디지탈 휘도 신호 및 디지탈 색 신호에 대해 선정된 화상 처리를 수행하고 결과적인 디지탈 신호를 다중화한다. 이후, 압축/확장 유닛(36)은 디지탈 휘도 신호 및 디지탈 색 신호를 압축한다. 압축/확장 유닛(36)은 독립적인 압축 회로를 사용할 수 있으며, 휘도 신호와 색 신호를 병렬로 처리할 수 있고, 또는 시분할을 이용함으로써 공동 이용되는 압축 회로를 사용하여 2개의 신호를 처리할 수 있다.
압축/확장 유닛(36)은 전송 경로 에러를 방지하기 위한 수단을 제공하기 위하여 압축 화상 데이타를 셔플링한다. 이후, 순차 코드 에러, 즉 연속 에러가 쉽게 정정되거나 보간될 수 있는 산포 에러, 즉 무작위 에러로 변환될 수 있다. 스크린 위로 투사된 화상의 밀도로 인하여 변하는 데이타 양이 균일하게 될 때, 이 과정은 압축 전에 수행되어 실행 길이와 같은 가변 길이 코딩을 이용하기가 편리해진다.
압축/확장 유닛(36)은 셔플링으로부터 복원하기 위한 데이타 식별 정보(ID)를 압축 화상 데이타에 추가한다. 또한, 압축/확장 유닛(36)은 기록 및 재생시 발생하는 에러의 수를 줄이기 위하여 압축 화상 데이타에 에러 정정 코드(ECC)를 추가한다.
압축/확장 유닛(36)에 의해 압축된 화상 데이타는 메모리(38) 및 기록기/재생기(58)로 전송된다. 기록기/재생기(58)는 ID 및 ECC를 압축 화상 데이타에 추가하여 자기 테이프와 같은 기록 매체에 기록한다. 압축 화상 데이타는 오디오 데이타에 이용된 것과 다른 기록 영역에 저장된다.
D/A 변환기(56)는 화상 처리 유닛(34)으로부터 수신한 화상 데이타를 아날로그 화상 신호로 변환하며, EVF(54)는 D/A 변환기(56)로부터 수신한 아날로그 화상 신호를 디스플레이한다. 화상 처리 유닛(34)에 의해 처리된 화상 데이타는 또한 메모리(40)로 전송된다. 이 경우, 비압축 화상 데이타는 메모리(40)로 전송된다.
데이타 선택기(42)는 사용자가 발한 명령에 따라 메모리(38) 또는 메모리(40)를 선택하며, 압축 화상 데이타 또는 비압축 화상 데이타를 1394 인터페이스(44)로 전송한다. 데이타 선택기(42)는 1394 인터페이스(44)로부터 수신한 화상 데이타를 메모리(38) 또는 메모리(40)로 전송한다.
1394 인터페이스(44)는 후술되는 통신 프로토콜에 기초하여 압축 화상 데이타 또는 비압축 화상 데이타를 비동기 전송한다. 더우기, 1394 인터페이스(44)는 1394 시리얼 버스를 통해 DVCR(28)의 제어를 실행하기 위한 제어 명령을 수신한다. 수신된 제어 명령은 데이타 선택기(42)를 통해 제어기(50)로 전송된다. 1394 인터페이스(44)는 제어 명령의 수신을 확인하는 응답을 발한다.
프린터(60)의 개별 유닛의 기능 및 동작이 설명된다.
본 실시예의 프린터(60)는 예컨대, 본 실시예의 통신 프로토콜에 기초하여 비동기 전송되는 화상 데이타를 수신하고 이를 프린트하기 위한 화상 수신기(목적 노드)로서 동작한다.
1394 인터페이스(62)는 1394 시리얼 버스를 통해 비동기 전송되는 화상 데이타 및 제어 명령을 수신한다. 이후, 1394 인터페이스(62)는 제어 명령의 수신을 알리는 응답을 발한다.
수신된 화상 데이타는 데이타 선택기(64)를 통해 디코더(70)로 전송된다. 디코더(70)는 화상 데이타를 디코딩하여 그 결과를 화상 처리 유닛(74)으로 출력한다. 화상 처리 유닛(74)은 디코딩된 화상 데이타를 메모리(72)에 임시 저장한다.
화상 처리 유닛(74)은 메모리(72)에 임시 저장된 화상 데이타를 프린트 데이타로 변환하여, 프린트 데이타를 프린터 헤드(78)로 전송한다. 프린터 헤드(78)는 프린터 제어기(68)의 제어 하에 프린트 처리를 실시한다.
수신된 제어 명령은 데이타 선택기(64)를 통해 프린터 제어기(68)로 전송된다. 프린터 제어기(68)는 각종 프린팅 관련 절차를 제어하기 위하여 제어 데이타를 사용한다. 예컨대, 프린터 제어기(68)는 용지를 공급하는 구동기(76)를 제어하며, 프린터 헤드(78)의 위치를 조정한다.
본 실시예의 1394 인터페이스(14, 44, 62)의 구조가 도 8을 참조하며 설명된다.
1394 인터페이스는 기능적으로 복수의 층으로 구성되어 있다. 도 8에서, 1394 인터페이스는 IEEE 1394-1995 표준에 따르는 통신 케이블(801)을 통해 또 하나의 노드의 1394 인터페이스에 접속되어 있다. 1394 인터페이스는 하나 이상의 통신 포트(802)를 구비하고 있으며, 이들 각각은 하드웨어부에 포함된 물리층(803)에 접속되어 있다.
도 8에서, 하드웨어부는 물리층(803)과 링크 층(804)을 포함한다. 물리층(803)은 또 하나의 노드와의 물리적, 전기적 인터페이스 역할을 하며, 버스의 리셋을 검출하여 관련 처리를수행하고, 입출력 신호를 코딩/디코딩하며, 버스 사용권에 관한 대립을 해결하기 위한 중재 기능을 제공한다. 링크 층(804)은 통신 패킷을 생성하며, 각종 통신 패킷을 교환하고, 싸이클 타이머를 제어한다. 또한, 링크 층(804)은 후술되는 바와 같이 비동기 동보 패킷을 생성하는 기능과 이 패킷을 교환하는 기능을 갖고 있다.
도 8에서, 펌웨어부는 트랜잭션층(805)과 시리얼 버스 관리부(806)를 포함한다. 트랜잭션층(805)은 비동기 전송 시스템을 관리하며 각종 처리(판독, 기록, 로킹)을 제공한다. 트랜잭션층(805)은 또한 후술되는 비동기 동보 트랜잭션 기능을 제공한다. 시리얼 버스 관리부(806)는 후술되는 IEEE1212 CSR 표준에 기초하여 자신이 속하는 노드를 제어하고 노드의 접속 상태를 관리하며 노드의 ID 정보를 관리하고 시리얼 버스 망의 자원을 관리하기 위한 기능을 제공한다.
도 8의 하드웨어부 및 펌웨어부는 실질적으로 1394 인터페이스를 구성하며, 그 기본 구조는 IEEE 1394-1995 표준에 명시되어 있다.
소프트웨어부에 포함되어 있고 오브젝트 데이타 및 그 처리에 사용되는 방법을 지정하는 응용층(807)의 기능은 사용되는 응용 소프트웨어에 따라 변한다.
본 실시예의 통신 프로토콜은 1394 인터페이스의 하드웨어부와 펌웨어부의기능을 확장하며, 소프트웨어부에 대한 혁신적인 전송 처리를 제공한다.
본 실시예에 정의된 통신 프로토콜의 기본 구조가 도 3을 참조하여 설명된다.
도 3에서, 기본 구조는 제어기(300); 소스 노드(302); n(n≥1)개의 목적 노드(304); 소스 노드(302)에 포함된 서브 유닛(306); 및 정지 화상 데이타, 그래픽 데이타, 텍스트 데이타, 화일 데이타 또는 프로그램 데이타와 같은 오브젝트 데이타(308)를 포함한다.
제1 메모리 공간(310)이 선정된 목적지 오프셋(destination_offset #0)을 사용하여 목적 노드(304)에 정의된다. 제1 접속(312)은 소스 노드(302)와 목적 노드(304) 사이에 설정된 논리 접속 관계를 나타낸다. 목적지 오프셋은 n 개의 목적지 노드(304)의 공통 메모리 공간에 표시되는 어드레스이다.
n 번째 메모리 공간(314)이 선정된 목적지 오프셋(destination_offset #n)에 의해 목적지 노드(304)에 정의된다. n 번째 접속(316)은 소스 노드(302)와 목적지 노드(304) 사이에 설정된 논리 접속 관계를 나타낸다.
본 실시예에서, 각 노드는 IEEE1212 CSR(제어 및 상태 레지스터 아키텍쳐) 표준(또는 ISO/IEC 13213: 1994 표준)에 따르는 64 비트 어드레스 공간을 이용하여 제1 내지 제n 메모리 공간(310-314)을 관리한다. IEEE 1212 CSR 표준은 시리얼 버스의 제어, 관리 및 어드레스 할당을 지정하기 위한 것이다.
도 6a 및 6b는 각 노드에 포함된 어드레스 공간을 설명하기 위한 도면이다. 도 6a에는 64 비트 어드레스에 의해 표시되는 논리 메모리 공간이 도시되어 있다. 도 6b는 도 6a에 도시된 어드레스 공간의 일부로서 상위 16 비트는 FFFF16을 나타낸다. 도 3의 제1 메모리 공간(310) 내지 제n 메모리 공간(314)은 도 6b의 메모리 공간의 일부를 사용하며, 이들 각각에 대한 목적지 오프셋 어드레스는 어드레스의 하위 48 비트에 포함되어 있다.
도 6b에서, 예컨대 00000000000016내지 0000000003FF16은 예약 영역을 정의하는 반면, 오브젝트 데이타(308)는 실제로 하위 48 비트의 시작 어드레스가 FFFFF000040016인 영역에 기록된다.
도 3에서, 소스 노드(302)는 후술되는 통신 프로토콜에 따라 오브젝트 데이타(308)를 전송하기 위한 기능을 포함하는 노드이다. 목적지 노드(304)는 소스 노드(302)로부터 오브젝트 데이타(308)를 수신하기 위한 기능을 포함하는 노드이다. 제어기(300)는 후술되는 통신 프로토콜에 따라 소스 노드(302)와 하나 이상의 목적지 노드(304) 사이의 논리 접속 관계를 설정하고 이를 관리하기 위한 노드이다.
개별 노드들이 제어기(300), 소스 노드(302) 및 목적 노드(304)로 제공될 수 있다. 단일 노드가 제어기(300) 및 소스 노드(302)로 제공될 수 있으며, 단일 노드가 제어기(300) 및 목적 노드(304)로 제공될 수 있다. 이 경우, 제어기(300)와 소스 노드(302) 또는 목적 노드(304) 간에는 어떠한 트랜잭션도 필요치 않아, 처리가 단순화된다.
본 실시예에서는, 개별 노드들이 제어기(300), 소스 노드(302) 및 목적 노드(304)로 제공된다. 1394 인터페이스(14)를 포함하는 컴퓨터(10)는 제어기 역할을 하며, 1394 인터페이스(44)를 포함하는 DVCR(28)은 소스 노드(302) 역할을 하고, 1394 인터페이스(62)를 포함하는 프린터(60)는 목적 노드(304) 역할을 한다.
도 3에 도시된 바와 같이, 소스 노드(302)와 하나 이상의 목적 노드(304) 간에는 하나 이상의 접속이 설정될 수 있다. 특정 오브젝트 데이타의 전송 요구가 발행될 때, 하나 이상의 제어기(300)가 후술되는 통신 프로토콜에 따라 상기 접속을 설정한다.
본 실시예에서, 하나의 접속에 사용될 수 있는 하나 이상의 목적지 오프셋이 설정될 수 있다. 목적지 오프셋의 값은 미리 설정된 값이거나 제어기(300) 또는 소스 노드(302)가 설정하는 가변 값일 수 있다. 접속 및 목적지 오프셋 사이의 관계는 후술되는 통신 프로토콜에 따라 설정된다는 점에 주목해야 한다.
복수의 목적지 오프셋이 하나의 접속에 대해 설정되는 경우, 복수의 형태를 가진 데이타 통신은 단일 접속을 구비할 수 있다. 예컨대, 상이한 오프셋 어드레스가 상이한 데이타 통신 형태에 할당될 때, 1대1 통신 1대N 통신 및 N대N 통신이 단일 접속에 의해 동시에 구현될 수 있다.
본 실시예에서, 제어기(300) 역할을 하는 컴퓨터(10)는 목적 노드(304)로서 동작할 수 있다. 이 경우, 소스 노드(302)와 2개의 목적 노드(304) 간에 하나의 접속이 설정되며, 오브젝트 데이타(308)가 전송된다.
본 실시예에서, 컴퓨터(10)는 제어기(300) 역할을 하지만, 반드시 제어기(300)로 지정되는 것은 아니다. DVCR(28) 또는 프린터(60)도 제어기(300)로 동작할 수 있다.
이제, 본 실시예에서 정의되는 통신 프로토콜에 따른 기본 전송 처리에 대한 설명이 주어진다.
도 4a 내지 4c는 한 세트의 오브젝트 데이타의 전송을 위해 수행되는 처리를 나타내는 순서도이다. 도 4b는 한 세트의 오브젝트 데이타의 전송중에 버스가 리셋되거나 전송 에러가 발생할 때 수행되는 처리를 나타내는 순서도이다.
본 실시예의 통신 프로토콜에 따르면, 제어기(300)가 전술한 접속을 설정할 때, 하나 이상의 비동기 동보 트랜잭션을 수행함으로써 한 세트의 오브젝트 데이타를 전송한다. 상세한 비동기 동보 트랜잭션 처리가 도 4a 내지 4c를 참조하여 설명된다. 비동기 동보 트랜잭션에 사용되는 패킷(이하 비동기 동보 패킷이라 한다)이 도 5를 참조하여 설명된다.
비동기 동보 트랜잭션 및 비동기 동보 패킷은 본 실시예의 통신 프로토콜에 의해 지정되는 혁신적인 처리 및 패킷 포맷이다.
본 실시예의 통신 프로토콜에 따른 기본 전송 처리가 이제 도 4a 및 4c를 참조하여 설명된다. 도 4a는 단 하나의 목적 노드(304)와의 접속이 설정된 때 데이타 통신이 수행되는 방법을 설명하기 위한 순서도이다. 도 4c는 3개의 목적 노드(304)에 대해 하나의 접속이 사용될 때 데이타 통신이 수행되는 방법을 설명하기 위한 순서도이다.
제어기(300)는 소스 노드(302)와 하나 이상의 목적 노드(304) 사이에 존재하는 논리 접속 관계를 식별하기 위한 접속 ID를 설정한다. 그 다음, 제어기(300)는 사용될 접속 ID의 개별 노드를 통지하여 단일 접속을 설정한다(도 4a 및 4c의 401 및 402).
제어기(300)는 접속 ID 통지를 중계한 후 오브젝트 데이타(308)의 전송을 시작하도록 소스 노드(302)에 명령한다(도 4a 및 4c의 403).
소스 노드(302)는 명령을 수신하자 마자 하나 이상의 목적 노드(304)와 협상을 시작하고, 비동기 동보 트랜잭션을 위한 초기 셋업을 수행한다(도 4a 및 4c의 404 및 405).
소스 노드(302)는 초기 셋업을 수행한 후 비동기 동보 트랜잭션을 실행하여 하나 이상의 데이타 세그먼트로 구성된 오브젝트 데이타(308)를 순차적으로 동보 전송한다(도 4a 및 4c의 406 내지 409).
본 실시예의 오브젝트 데이타(308)의 전송 모델이 도 7을 참조하여 설명된다. 도 7의 오브젝트 데이타(308)는 예컨대 128 킬로바이트의 정지 화상 데이타이다.
소스 노드(302)는 초기 셋업 과정 중에 식별되는 개별 목적 노드(304)의 수신 능력에 따라 오브젝트 데이타(308)를 예컨대 500 데이타 세그먼트(하나의 데이타 세그먼트는 256 바이트이다)로 분할한다. 한 데이타 세그먼트의 크기는 목적 노드(304) 각각의 내부 버퍼의 크기를 참조하여 소스 노드(302)에 의해 가변적으로 결정된다. 오브젝트 데이타(308)와 동일한 데이타 크기를 가진 내부 버퍼가 유효한 사례가 도 7에 도시되어 있다.
소스 노드(302)는 적어도 하나의 비동기 동보 트랜잭션을 수행하여 하나 이상의 데이타 세그먼트를 전송한다. 도 7에서, 한 데이타 세그먼트는 하나의 비동기 동보 트랜잭션을 수행하여 전송된다.
모든 데이타 세그먼트가 전송된 때, 소스 노드(302)는 하나 이상의 목적 노드(304)와의 데이타 통신 접속을 종료한다(도 4a 및 4c의 410 및 411).
이제, 제어기의 동작이 도 4a 및 4c를 참조하여 설명된다.
제어기(300)는 사용자에 의해 선택된 소스 노드(302) 및 하나 이상의 목적 노드(304)에 대한 접속을 설정하기 위한 패킷(이하, 접속 요구 패킷이라 한다)을 비동기 전송한다(도 4a 및 4c의 401 및 402). 접속 ID가 소스 노드(302)와 목적 노드(304) 간에 설정된 접속을 식별하기 위하여 패킷의 페이로드에 저장된다.
소스 노드(302)와 하나 이상의 목적 노드(304) 사이의 접속은 소스 노드(302)에 미리 할당된 접속 ID 및 목적 노드(304) 각각에 미리 할당된 접속 ID에 따라 제어기(300)에 의해 설정된다.
제어기(300)는 트랜잭션 명령 패킷을 소스 노드(302)로 비동기 전송한다(도 4a 및 4c의 403).
소스 노드(302)는 트랜잭션 명령 패킷을 수신하자 마자 제어기(300)로부터 수신된 접속 ID에 따라 초기 셋업을 수행하며, 비동기 동보 트랜잭션을 실행한다(도 4a 및 4c의 404 내지 409). 소스 노드(302)는 비동기 동보 트랜잭션을 실행하여 하나 이상의 데이타 세그먼트로 구성된 오브젝트 데이타를 순차 전송할 수 있다.
본 실시예의 통신 프로토콜에서, 제어기(300)는 노드의 접속 및 분리를 관리하는 기능을 제공한다. 따라서, 접속이 설정된 후에, 오브젝트 데이타(308)의 전송은 소스 노드(302)와 목적 노드(304)간에 수행되는 협상에 의해 시작된다.
일련의 비동기 동보 트랜잭션이 완료된 때, 소스 노드(302)는 세그먼트의 끝(이하, 세그먼트 엔드 패킷이라 한다)을 나타내는 비동기 동보 패킷을 출력한다(도 4a 및 4c의 410).
제어기(300)는 소스 노드(302)로부터 세그먼트 엔드 패킷을 수신하자 마자 노드를 분리하고 데이타 전송 과정을 종료한다(도 4a 및 4c의 411).
세그먼트 및 패킷은 동보 전송되기 때문에, 패킷의 내용은 또한 목적 노드(304)에 의해 검출될 수 있다. 따라서, 제어기(300) 대신에 목적 노드(304)가 소스 노드(302)를 분리할 수 있다.
이제, 도 4a 및 4c를 참조하여 소스 노드(302)의 동작을 설명한다.
소스 노드(302)가 제어기(300)로부터 접속 요구 패킷 및 트랜잭션 명령 패킷을 수신할 때, 소스 노드(302)는 목적 노드(304)로 데이타 전송 요구의 전송을 요구하는 비동기 동보 패킷(이하, 전송 요청 패킷이라 한다)을 전송한다(도 4a 및 4c의 404).
전송 요청 패킷은 오브젝트 데이타(308)의 비동기 동보 트랜잭션에 필요한 초기 정보를 얻는 데 사용되는 패킷이다. 제어기(300)에 의해 지정되는 접속 ID는 패킷에 기록된다.
목적 노드(304)는 전송 요청 패킷에 대한 응답을 구성하는 비동기 동보 패킷(이하, 확인 응답 패킷이라 한다)을 동보 전송한다(도 4a 및 4c의 405). 전송 요청 패킷과 동일한 접속 ID가 확인 응답 패킷에 기록된다. 따라서, 소스 노드(302)는 수신된 확인 응답 패킷 내의 접속 ID를 검사할 수 있으며, 패킷이 전송된 접속을 식별할 수 있다.
확인 응답 패킷에는 목적 노드(304)에서 유효한 내부 버퍼의 크기 및 특정 메모리 공간을 위한 오프셋 어드레스가 저장된다. 소스 노드(302)는 확인 응답 패킷을 수신하자 마자 목적 노드 내의 메모리 공간을 공동으로 표시하는 확인 응답 패킷의 목적지 오프셋을 설정하고, 비동기 동보 트랜잭션을 시작한다. 목적지 오프셋은 각 목적 노드(304)로부터 수신된 확인 응답 패킷에 포함된 오프셋 어드레스를 사용하여 표시된다.
본 실시예에서, 비동기 동보 트랜잭션에 사용되는 목적지 오프셋은 확인 응답 패킷에 포함된 오프셋 어드레스를 사용하여 설정된다. 그러나, 이러한 목적지 오프셋은 다른 방법으로 설정될 수 있다. 예컨대, 제어기(300)는 개별 접속에 사용되는 목적지 오프셋을 관리하는 기능을 가질 수 있으며, 접속 ID에 대응하는 목적지 오프셋을 설정할 수 있다. 이 경우, 접속에 대응하는 목적지 오프셋은 제어기(300)에 의해 소스 노드(302)로 전송된다.
소스 노드(302)는 목적지 오프셋에 의해 표시되는 메모리 공간에 제1 비동기 동보 패킷을 기록한다(도 4a 및 4c의 406). 접속 ID 및 데이타 세그먼트의 순번은 패킷에 저장된다.
소스 노드(302)는 제1 비동기 동보 패킷을 전송한 후 목적 노드(304)로부터의 응답 패킷을 기다린다. 목적 노드(304)는 접속 ID 및 순번이 저장된 비동기 동보 패킷을 응답 패킷으로서 전송한다. 소스 노드(302)는 응답 패킷을 수신하자 마자 순번을 증가시키고, 다음 데이타 세그먼트의 순번을 포함하는 또 하나의 비동기 동보 패킷을 전송한다(도 4a 및 4c의 407).
소스 노드(302)는 상기 과정을 반복함으로써 비동기 동보 트랜잭션을 순차 수행한다(도 4a 및 4c의 408 및 409). 목적 노드(304)로부터의 응답을 위한 최대 대기 시간은 미리 정해진다. 최대 대기 시간이 경과하기 전에 응답이 전송되지 않은 경우, 동일 데이타 세그먼트를 재전송하기 위하여 동일한 순번이 사용된다.
재전송을 요구하는 응답 패킷이 목적 노드(304)에 의해 발행되는 경우, 소스 노드(302)는 지정된 순번에 대응하는 데이타를 동보 전송할 수 있다.
모든 오브젝트 데이타(308)가 비동기 동보 트랜잭션에 의해 전송된 때, 소스 노드(302)는 세그먼트 엔드 패킷을 동보 전송하고 데이타 전송을 종료한다(도 4a 및 4c의 410 및 411).
전술한 바와 같이, 소스 노드(302)는 오브젝트 데이타(308)를 필요한 만큼 하나 이상의 세그먼트로 분할한다. 따라서, 상기 응답 패킷의 전송은 데이타 세그먼트의 비동기 동보 전송과 관련하여 일어난다. 하나의 데이타 세그먼트는 수행되는 각각의 비동기 동보 트랜잭션 동안에 전송된다. 목적 노드(304)는 전술한 용량을 가진 버퍼를 포함한다.
본 실시예에서는 응답 패킷이 하나의 데이타 세그먼트의 비동기 동보 트랜잭션과 관련하여 전송되도록 설계되어 있다. 그러나, 목적 노드(304)의 데이타 버퍼가 복수의 순차 데이타 세그먼트로 채워진 후에 목적 노드(304)가 응답 패킷을 전송할 수 있다.
목적 노드(304)의 동작이 도 4a 및 4c를 참조하여 설명된다.
접속 요구 패킷이 제어기(300)로부터 수신된 경우, 목적 노드(304)는 소스 노드(302)로부터의 전송 요청 패킷을 위해 대기한다(도 4a 및 4c의 404).
목적 노드(304)는 전송 요청 패킷을 수신하자 마자 패킷에 기록된 접속 ID와 제어기(300)로부터 수신된 접속 ID를 비교하여, 수신된 패킷이 소스 노드(302)에서 생성되었는지를 결정한다.
수신된 전송 요청 패킷이 소스 노드(302)로부터 생성된 경우, 목적 노드(304)는 접속 ID, 유효 내부 버퍼의 크기 및 특정 메모리 공간의 오프셋 어드레스가 기록되어 있는 확인 응답 패킷을 동보 전송한다(도 4a 및 4c의 405).
소스 노드(302)로부터 수신된 비동기 동보 패킷이 메모리 공간에 기록될 때, 목적 노드(304)는 패킷에 들어 있는 접속 ID를 검사한다. 패킷에 저장된 접속 ID가 목적 노드(304)의 접속 ID와 일치할 때, 목적 노드(304)는 수신된 패킷에 포함된 접속 ID 및 순번이 저장된 응답 패킷을 동보 전송한다(도 4a 및 4c의 406 및 409). 이 경우, 수신된 비동기 동보 패킷에 포함된 데이타 세그먼트는 내부 버퍼에 저장된다. 수신된 패킷에 포함된 접속 ID가 목적 노드(304)의 접속 ID와 다를 때, 목적 노드(304)는 수신된 패킷을 버린다.
목적 노드(304)는 수신된 패킷의 순번이 일치하지 않음을 확인한 경우 재전송을 요구하는 응답 패킷을 전송할 수 있다. 이 경우, 목적 노드(304)는 재전송이 요구되는 순번의 소스 노드(302)를 통지한다.
전술한 모든 비동기 동보 트랜잭션이 완료된 경우, 소스 노드(302)는 세그먼트 엔드 패킷을 동보 전송한다. 목적 노드(304)는 이 패킷을 수신하자 마자 데이타 전송 처리를 종료한다(도 4a 및 4c의 410).
목적 노드(304)는 세그먼트 엔드 패킷을 수신하자 마자 세그먼트 엔드 패킷의 수신을 알리는 응답 패킷을 동보 전송한다(도 4a 및 4c의 411).
전술한 바와 같이, 본 실시예의 통신 시스템은 종래 통신 시스템에서 부딪히는 불편을 해결할 수 있다. 또한, 본 실시예의 통신 시스템은 실시간 처리가 요구되지 않은 때에도 데이타의 전송을 쉽고 빠르게 수행할 수 있다.
제어기가 접속을 설정할 때, 오브젝트 데이타는 소스 노드와 목적 노드간에 교환되므로, 제어기는 전송을 위해 사용될 필요가 없게 되고, 데이타 전송은 복잡한 처리를 요구하지 않고 쉽게 수행될 수 있다.
목적 노드는 항상 각각의 동보 트랜잭션에 대한 응답 패킷을 전송하기 때문에, 만족스러운 통신 프로토콜이 제공될 수 있다.
더 만족스러운 데이타 전송을 실현하기 위하여, 데이타 전송은 데이타 전송이 버스의 리셋 또는 전송 에러의 발생으로 인하여 중지될 때에도 데이타의 손실 없이 빠르게 재개되어야 한다. 도 4b를 참조하여 본 실시예의 통신 프로토콜에 따라 지정되는 재시작 절차에 대한 설명이 주어진다.
i의 순번을 가진 비동기 동보 패킷이 수신된 후 버스 리셋이 발생하는 것으로 가정한다. 각 노드는 전송을 중지하며, 버스를 초기화하고 접속 구조를 식별하며 IEEE1394-1995 표준에 정의된 절차에 따라 노드 ID를 설정한다(도 4b의 420 및 421).
버스가 재구성된 때, 목적 노드(304)는 접속 ID 및 순번 i가 저장되는 재시작 요구 패킷(재전송 요청 패킷)을 동보 전송한다(도 4b의 422).
비동기 동보 트랜잭션이 재개될 수 있을 때, 소스 노드(302)는 수신된 재전송 요청 패킷에 포함된 접속 ID를 식별하고, 접속 ID가 저장된 확인 응답 패킷을 동보 전송한다(도 4b의 423).
그 다음, 소스 노드(302)는 재전송 요청 패킷에 의해 요구된 순번으로부터 시작하여 데이타 세그먼트, 즉 순번 (i+1)로부터 시작하는 데이타 세그먼트를 순차 동보 전송하기 시작한다(도 4b의 424).
전술한 처리 과정에 있어서, 데이타 전송이 중지된 경우에도, 제어기(300), 소스 노드(302) 및 목적 노드(304)는 이들의 노드 ID를 고려하지 않고 데이타의 전송을 쉽고 만족스럽게 재개할 수 있다.
전술한 바와 같이, 본 실시예에서는, 제어기(300)에 의해 수행되는 제어 처리가 데이타 전송이 중지된 때에도 단순화될 수 있다.
본 실시예에 지정된 비동기 동보 패킷의 구조가 도 5를 참조하여 설명된다. 비동기 동보 패킷은 하나의 유닛으로서 하나의 쿼드릿(quadlet)(4 바이트 = 32 비트)을 구비한 데이타 패킷이다.
패킷 해더(521)의 구조가 먼저 설명된다.
도 5에서, 필드(501)(16 비트)가 수신처, 즉 목적 노드(304)의 노드 ID인 destination_ID를 나타낸다. 오브젝트 데이타(308)의 비동기 동보 전송은 본 실시예의 통신 프로토콜에 따라 구현되므로, 필드(501)의 값은 동보 ID, 즉 FFFF16으로 사용된다.
필드(502)(6 비트)가 트랜잭션 레벨(t1)을 나타내는데 이는 각 트랜잭션에 고유한 태그이다.
필드(503)는 패킷의 재시도를 표시하기 위한 재시도(rt) 코드를 나타낸다.
필드(504)(4 비트)는 트랜잭션 코드(tcode)를 나타낸다. 트랜잭션 코드(tcode)는 패킷 포맷 및 수행되어야 하는 트랜잭션의 유형을 나타낸다. 본 실시예에서, 이 필드의 값은 예컨대 01112로 설정되며, destination_offset 필드(507)에 의해 정의되는 메모리 공간에 상기 패킷의 데이타 블록(522)을 기록하기 위한 처리(즉, 기록 트랜잭션)를 요구한다.
필드(505)(4 비트)는 우선 순위(pri)를 나타내며, 우선 순위를 지정한다. 본 실시예에서 이 필드의 값은 00002로 설정된다.
필드(506)(16 비트)는 전송측, 즉 소스 노드(302)의 노드 ID인 가변 source_ID를 나타낸다.
필드(507)(48 비트)는 가변 destination_offset을 나타내며, 개별 목적 노드(304)에 포함된 어드레스 공간의 하위 48 비트를 공동으로 지정한다. 동일한 destination_offset 값이 모든 접속에 설정될 수 있거나, 상이한 destination_offset 값이 각 접속에 설정될 수 있다. 그러나, 복수의 접속으로부터의 비동기 동보 패킷이 병렬로 처리될 수 있기 때문에 상이한 destination_offset 값이 설정되는 것이 효과적이다.
필드(508)(16 비트)는 가변 data_length를 나타내며, 후술되는 데이타 필드의 길이를 나타내기 위하여 바이트를 사용한다.
필드(509)(16 비트)는 가변 extended_tcode를 나타낸다. 본 실시예에서 이 필드 값은 000016으로 설정된다.
필드(510)(32 비트)는 가변 header_CRC를 나타내며, 여기에는 필드(501 내지 509)에 대응하는 에러 검출 코드가 저장된다.
이제 데이타 블록(522)이 설명된다. 본 실시예에서, 데이타 블록(522)은 헤더 정보(523) 및 데이타 필드(524)로 구성된다.
노드들간의 논리 접속 관계를 식별하기 위한 접속 ID는 헤더 정보(523)에 포함된다. 헤더 정보(523)의 구조는 그 사용 목적에 따라 변한다.
데이타 필드(524)는 가변 길이의 필드이며, 데이타 세그먼트가 그 안에 저장된다. 데이타 필드(524)에 저장된 데이타 세그먼트가 쿼드릿의 배수가 아닐 때, 쿼드릿에 도달하지 않은 부분에는 0이 입력된다.
필드(511)(16 비트)는 가변 connection_ID를 나타내며, 본 실시예에서는 여기에 접속 ID가 저장된다. 본 실시예의 1394 인터페이스는 소스 노드(302)와 하나 이상의 목적 노드(304) 사이에 설정된 접속을 식별하기 위하여 필드(511)에 저장된 접속 ID를 사용한다. 본 실시예에서는, 216×(노드 수)의 접속이 설정될 수 있다. 따라서, 접속에 의해 사용되는 전체 통신 대역이 전송 경로의 용량 한계에 도달하기 전에 복수의 접속이 설정될 수 있다.
필드(512)(8 비트)는 가변 protocol_type를 나타내며, 헤더 정보(513)에 기초한 통신 처리(즉, 통신 프로토콜 유형)를 지시한다. 본 실시예의 통신 프로토콜이 지시될 때, 필드 값은 예컨대 0116이다.
필드(513)(8 비트)는 가변 control_flags를 나타내며, 여기에는 본 실시예의 통신 프로토콜에 따른 통신 순서를 제어하기 위한 선정된 제어 데이타가 설정된다. 이 필드(513)의 최상위 비트는 예컨대 재전송 요구(resent_request) 플래그로서 사용된다. 이 필드의 최상위 비트의 값이 1일 때, 재전송은 본 실시예의 통신 프로토콜에 따라 요구되는 것으로 가정된다.
필드(514)(16 비트)는 가변 sequence_number를 나타낸다. 특정 접속 ID(필드(511)에 지정된 접속 ID)에 따라 전송되는 패킷에 대해 순차 값, 즉 순번이 설정된다. 목적 노드(304)는 순번을 이용하여 비동기 동보 트랜잭션에 의해 순차 전송되는 데이타 세그먼트의 연속성을 검사할 수 있다. 순번 및 데이타 세그먼트가 일치하지 않는 경우, 목적 노드(304)는 순번에 기초하여 재전송을 요구할 수 있다.
필드(515)(16 비트)는 가변 reconfirmation_number를 나타낸다. 본 실시예에서, 이 필드는 재전송 요구 플래그가 1로 설정될 때에만 의미를 갖는다. 이 경우, 재전송이 요구되는 패킷의 순번은 필드(515)에 설정된다.
필드(516)(16 비트)는 가변 buffer_size를 나타낸다. 목적 노드(304)의 버퍼 크기는 이 필드(516)에 설정된다.
필드(517)(48 비트)는 가변 offset_address를 나타낸다. 목적 노드(304)에 포함된 어드레스 공간의 하위 48 비트는 이 필드(517)에 저장된다. 이 필드를 사용하여, 도 3에 도시된 제1 메모리 공간(310) 내지 제n 메모리 공간(314) 중 하나가 지정된다.
필드(518)(32 비트)는 가변 data_CRC를 나타낸다. 필드(511) 내지 필드(517)를 위한 에러 검출 코드(헤더 정보(523) 및 데이타 필드(524) 포함)는 전술한 가변 header_CRC에는 물론 가변 data_CRC에 저장된다.
(제2 실시예)
제2 실시예에서는 소스 노드(302) 및 목적 노드(304)의 성능 및 통신 효율을 향상시키기 위한 일례에 대한 설명이 주어진다.
제2 실시예에서, 각 접속 ID가 헤더에 저장된 목적지 오프셋과 상관되어 있고, 패킷이 동보 전송되고 수신되는 접속이 쉽게 식별될 수 있는 구성에 대한 설명이 주어진다.
망 내의 각 노드는 단지 헤드 내의 목적지 오프셋을 검사함으로써 각 비동기 동보 패킷의 접속을 쉽게 식별할 수 있으며, 패킷을 디코딩할 필요 없이 비관련 패킷의 데이타 블록을 버릴 수 있다.
제2 실시예의 통신 프로토콜에 기초한 전송 처리가 도 9를 참조하여 설명된다. 본 실시예의 통신 프로토콜은 기본적으로 제1 실시예의 통신 프로토콜과 동일한 방식으로 처리된다. 따라서, 대응하는 처리를 나타내는 데에는 도 4a 내지 4c에서 사용한 것과 동일한 번호가 사용되며, 이들에 대한 상세한 설명은 생략된다.
제어기(300)는 소스 노드(302)와 하나 이상의 목적 노드(304)간의 논리 접속 관계를 식별하기 위하여 접속 ID를 설정한다. 그 다음, 제어기(300)는 접속 ID를 개별 노드로 전송하고 단일 접속을 확보한다(도 9의 401 및 402).
각각의 목적 노드(304)는 소스 노드(302) 및 제어기(300)로 제어기(300)로부터 수신된 접속 ID에 대응하는 목적지 오프셋을 전송한다(도 9의 901 및 901). 접속 ID 및 목적지 오프셋의 상관은 모든 노드에 의해 관리되며, 목적 노드(304)로 지정된 각 노드는 다른 접속에 의해 사용되지 않은 목적지 오프셋을 설정한다.
제어기(300)는 접속 ID를 전송한 후 오브젝트 데이타(308)의 전송을 개시하도록 소스 노드(302)에 명령한다(도 9의 403).
소스 노드(302)는 명령을 수신한 후 하나 이상의 목적 노드(304)와 협상을 시작하고 데이타 통신을 위한 초기 셋업을 수행한다(도 9의 404 및 405).
각 목적 노드(304)는 전송 요청 패킷에서와 동일한 접속 ID 및 수신 버퍼의 용량을 이전에 기술한 확인 응답 패킷에 저장하고, 확인 응답 패킷을 동보 전송한다. 목적 노드(304)는 제1 실시예에서와는 다르게, 오프셋 값을 포함하지 않는다.
초기 셋업 이후에, 소스 노드(302)는 비동기 동보 트랜잭션을 실행하고 하나 이상의 데이타 세그먼트로 구성된 오브젝트 데이타(308)를 순차 동보 전송한다 (도 9의 406 내지 409).
모든 데이타 세그먼트가 전송되면, 소스 노드(302)는 하나 이상의 목적 노드(304)에 대한 데이타 통신을 종결한다 (도 9의 410 및 411).
상술한 바와 같이, 제2 실시예에 따르면, 각 접속 ID가 목적 오프셋들 중의 하나에 대응하기 때문에, 수신 패킷이 동보 전송되는 접속이 용이하게 식별될 수 있다.
(제3 실시예)
제2 실시예에서 뿐만 아니라, 제3 실시예에서, 소스 노드(302) 및 목적 노드(304)의 성능을 개선시키고, 통신 효율을 증대시키기 위한 예를 설명한다.
제2 실시예에서 뿐만 아니라, 제3 실시예에서, 접속 ID 및 대응하는 목적지 오프셋이 비동기 동보 패킷의 헤더에 저장되고, 수신 패킷이 브로드캐트된 접속이 용이하게 식별될 수 있는 구성에 대해 설명한다.
각각의 노드는 단순히 헤더 내의 목적지 오프셋을 검사함으로써 비동기 동보 패킷에 사용되는 접속을 용이하게 식별할 수 있고, 패킷을 디코드하지 않고 미관련 패킷의 데이타 블럭을 버릴 수 있다.
도 10을 참조하면서, 제3 실시예의 통신 프로토콜에 기초한 전송 처리를설명한다. 제3 실시예의 통신 프로토콜은 제1 실시예의 통신 프로토콜과 기본적으로는 동일한 방식으로 처리된다. 따라서, 도 10에서 대응하는 처리를 나타내기 위해 도 4a 내지 도 4c에 사용된 것과 동일한 참조 번호가 사용되고, 이들에 대한 상세한 설명을 하지 않는다.
제어기(300)는 소스 노드(302)와 하나 이상의 목적 노드(304) 간의 논리 접속 관계를 식별하기 위한 접속 ID를 설정한다. 그 다음, 제어기(300)는 접속 ID에 신호를 보내고, 단일 접속을 설정한다 (도 10의 1001 및 1002).
동시에, 제어기(300)는 접속 ID에 대응하는 목적지 오프셋을 자동 설정하고, 소스 노드(302) 및 하나 이상의 목적 노드(304)에 목적지 오프셋의 값을 통지한다 (도 10의 1001 및 1002).
제어기(300)는 각 접속 ID에 대응하는 목적지 오프셋을 자동 설정하는 다음의 처리를 수행한다. 예를 들면, 제어기(300)는 접속 ID와 목적지 오프셋 간의 관계를 동적으로 설정하는 수학식 1을 사용할 수 있다.
여기서, A목적지 오프셋는 목적지 오프셋을 나타내고, N접속 ID는 접속 ID의 값을 나타내며, B데이타 크기는 소스 노드(302)가 하나의 비동기 동보 트랜잭션에 의해 보낼수 있는 데이타의 최대 크기를 나타낸다. B데이타 크기는 소스 노드(302)의 전송 능력에 따라 변하고, 이 실시예에서는, 예를 들면, 512 바이트로 설정된다.
망내에서 접속이 설정되지 않았으면, 제어기(300)는 도 6b에 도시된 어드렛 공간 내의 전체 선정된 영역을 사용할 수 있다. 접속 ID가, 예를 들어, 000016으로 설정되는 경우, 제어기(300)는 수학식 1에 따라 대응하는 목적지 오프셋을 FFFFF000080016으로 설정한다.
망 내에서 또 다른 접속이 설정되었으면, 제어기(300)는 접속 ID가, 예를 들어, 000116인 새로운 접속을 설정한다. 이 경우, 제어기(300)는 수학식 1에 따라 대응하는 목적지 오프셋을 FFFFF0000A0016으로 설정한다.
이러한 구성에서, 접속이 설정되면, 제어기(300)는 소스 노드(302)에 접속 ID에 대응하는 목적지 오프셋을 통지할 수 있다.
이 실시예에서는 목적지 오프셋을 동적으로 산출하기 위해 수학식 1을 채택한 구성을 사용하였다. 그러나, 접속 ID 및 대응하는 목적지 오프셋이 저장되는 메모리를 제작할 수 있다.
접속 ID 및 목적지 오프셋을 전송한 후에, 제어기(300)는 소스 노드(302)에 오브젝트 데이타(308)의 전송을 개시할 것을 명령한다 (도 10의 403).
명령을 수신했을 때, 소스 노드(302)는 하나 이상의 목적 노드(304)와의 교섭(negotiation)을 시작하고, 데이타 통신을 위한 초기 셋업을 수행한다(도 10의 404 및 405).
각각의 목적 노드(304)는 전송 요청 패킷용으로 채택된 것과 동일한 접속 ID 및 수신 버퍼의 용량을 나타내는 버퍼 크기를 앞에서 설명한 확인 응답 패킷에 저장하고, 그 패킷을 동보 전송한다. 목적 노드(304)는 제1 실시예와는 다르게 오프셋 어드레스를 전송하지 않는다.
초기 셋업 이후에, 소스 노드(302)는 하나 이상의 데이타 세그먼트로 구성되는 오브젝트 데이타(308)를 순차 동보 전송하기 위해 비동기 동보 트랜잭션을 수행한다 (도 10의 406 내지 409). 비동기 동보 패킷은 제어기(300)에 의해 결정된 목적지 오프셋에 의해 표시된 메모리 공간에 기록된다.
모든 데이타 세그먼트가 전송되면, 소스 노드(302)는 목적 노드(304)와의 데이타 통신 처리를 종결한다 (도 10의 410 및 411).
상술한 바와 같이, 제2 실시예뿐만 아니라 제3 실시예에 따르면, 접속 ID 및 대응하는 목적지 오프셋이 헤더에 저장되어, 패킷이 동보 전송되었던 접속이 용이하게 식별될 수 있다.
(제4 실시예)
제4 실시예에서는, 복수의 접속이 설정되는 경우에도, 목적 노드(304)에 포함되어 있는 메모리 공간이 효율적으로 사용될 수 있는 예에 대해 설명한다.
제4 실시예에서, 비동기 동보 패킷의 헤더에 저장된 목적지 오프셋이 메모리 공간 내의 선정된 어드레스를 지정하는 경우, 목적 노드(304)는 패킷의 데이타 블럭을 지정된 어드레스의 메모리 공간에 기록하는 대신에 내부 버퍼에 직접 저장한다.
이러한 구성으로, 하나의 목적 노드(304)에 대해 복수의 접속이 설정되는 경우에도, 이 노드의 메모리 공간은 효율적으로 사용될 수 있다. 또한, 이용 가능한 메모리 공간이 제한되어 있는 경우에도, 복수의 접속이 설정될 수 있다.
지금부터, 구조면에서 제1 실시예와 다른 부분에 대해 설명한다.
제4 실시예에서, 망내의 각각의 노드들은 접속 ID 및 대응하는 목적지 오프셋, 그리고 내부 버퍼의의 크기가 입력된 표, 및 이들을 자동 관리하는 기능을 포함한다. 이러한 기능으로, 목적 노드(304)로서 역할을 하는 노드는 설정되지 않은 접속에 사용되는 메모리 공간을 중첩하지 않는 목적지 오프셋을 지정할 수 있다.
도 13에 도시된 바와 같이, 망내의 각 노드에서, 선정된 메모리 공간(1301)을 지정하는 목적지 오프셋은 내부 버퍼 내의 선정된 메모리 영역(1302)을 나타내는 포인터로서 사용된다. 따라서, 목적 노드(304)는 비동기 동보 패킷을 메모리 공간 내에 기록하는 대신에 내부 버퍼에 직접 기록한다.
따라서, 복수의 비동기 동보 트랜잭션의 결과로서 점유된, 어드레스 공간 내의 영역이 상당히 감소될 수 있다.
제4 실시예의 통신 프로토콜에 기초한 전송 프로세싱을 도 11을 참조하면서 설명한다. 제4 실시예의 통신 프로토콜은 제1 실시예의 통신 프로토콜과 기본적으로는 동일한 방식으로 처리된다. 따라서, 도 11에서 대응하는 처리를 나타내는 도 4a 내지 도 4c에 사용된 것과 동일한 참조 번호를 사용하고, 이에 대한 상세한 설명은 하지 않는다.
접속 전에 수행된 처리는 도 4a 내지 도 4c의 참조 번호 (401 내지 403)과 동일하게 설정된다(도 11의 401 내지 403).
전송을 개시하라는 명령을 받으면, 소스 노드(302)는 하나 이상의 목적 노드(304)와 교헙을 실행하고 데이타 통신을 위한 초기 셋업을 수행한다(도 11의 1101 및 1102).
목적 노드(304)는 내부 버퍼 및 선정된 메모리 공간을 나타내는 오프셋 어드레스의 크기가 저장되어 있는 확인 응답 패킷을 동보 전송한다. 소스 노드(302)는 목적 노드(304)의 메모리 공간을 공동으로 지정하는 목적지 오프셋을 설정하기 위해 확인 응답 패킷에 포함된 오프셋 어드레스를 사용한다.
초기 셋업 이후에, 소스 노드(302)는 하나 이상의 세그먼트(도 11의 1103 내지 1106)로 구성된 오브젝트 데이타(308)를 순차 동보 전송하기 위해 비동기 동보 트랜잭션을 실행한다.
목적 노드(304)는 비동기 패킷을 메모리 공간에 기록하는 대신에 내부 버퍼에 직접 저장한다.
모든 데이타 세그먼트가 전송되면, 소스 노드(302)는 하나 이상의 목적 노드(304)와의 데이타 통신을 종결한다 (도 11의 410 및 411).
상술한 바와 같이, 본 발명에 따르면, 하나의 목적 노드(304)에 대해 복수의 접속이 설정되는 경우에도, 메모리 공간이 효율적으로 사용될 수 있다. 또한, 이용 가능한 메모리 공간이 제한되어 있는 경우에도, 복수의 접속이 설정될 수 있다.
(제5 실시예)
이제부터, 제5 실시예에 대해서, 통신 프로토콜에 따른 처리를 단순화한 예에 대해 설명한다.
제5 실시예에서, 망내의 각각의 노드는 접속 ID 및 대응하는 오프셋 어드레스가 저장되어 있는 표를 포함한다. 따라서, 소스 노드(302)는 이전에 설명한 전송 요청 패킷을 하나 이상의 목적 노드(304)에 전송하지 않고 비동기 동보 트랜잭션을 실행할 수 있다.
이제부터, 제1 실시예와 다른 구성에 대해 설명한다.
제5 실시예에서, 망의 노드는 접속 ID 및 대응하는 오프셋 어드레스가 저장되어 있는 도 15에 도시된 표를 포함한다. 각각의 노드는 이 표를 참조하고, 제어기(300)에 의해 결정된 접속 ID에 대응하는 오프셋 어드레스를 자동 선택하며, 비동기 동보 트랜잭션을 실행한다. 오프셋 어드레스는 접속 ID에 따라 변한다.
초기 셋업 처리(도 4a 내지 도 4c의 404 및 405), 하나 이상의 목적 노드(304)에 의해 전송된 버퍼 크기는 소스 노드(302) 및 하나 이상의 목적 노드(304) 간의 데이타 전송의 속도에 따라서 자동 선택된다. 각각의 노드는 데이타 전송 속도 및 버퍼 크기의 치ㅗ대값이 저장되어 있는, 도 16에 도시된 표를 포함한다. 최적 버퍼 크기는 표에따라 결정된다.
이 실시예에서의 망은, 도 16에 도시되어 있는 바와 같이, 100Mbps, 200Mbps 및 400Mbps와 만난다. 각각의 버퍼 크기의 최대 값은 데이타 전송 속도에 따라 변한다. 예를 들면, 데이타 전송 속도가 증되는 경우, 버퍼 크기도 증가한다.
사전에 제작된 표를 사용하는 경우, 비동기 동보 트랜잭션이 수행되기 전의 초기 셋업을 생략할 수 있다. 따라서, 트랜잭션프로세싱이 크게 단순화될 수 있고, 통신 효율이 증가될 수 있다. 이는 많은 수의 목적 노드(304)를 사용하는 경우 특히 효과적이다.
지금부터, 이 실시예에서의 통신 프로토콜에 기초한 전송 프로세싱을 도 14를 참조하여 설명한다. 제5 실시예의 통신 프로토콜은 제1 실시예의 통신 프로토콜과 동일한 방식으로 처리된다. 따라서, 도 14에서는, 대응하는 처리를 나타내는 도 4a 내지 도 4c에 사용된 것과 동일한 참조 번호를 사용하고 이에 대한 상세한 설명은 하지 않는다.
지금부터, 제어기(300)의 동작을 도 14를 참조하여 설명한다.
제어기(300)는, 도 4a 내지 도 4c에 도시된 바와 같이, 접속 요청 패킷을 소스 노드(302) 및 하나 이상의 목적 노드(304)에 비동기식으로 전송한다 (도 14의 401 및 402).
제어기(300)는 트랜잭션 명령 패킷을 소스 노드(302)에 비동기식 전송한다 (도 14의 403).
그런 다음, 이전에 설명한 비동기 동보 트랜잭션이 소스 노드(302)와 목적 노드(304) 사이에 수행된다.
제어기(300)는 소스 노드(302)로부터 세그먼트 엔드 패킷을 수신하고, 데이타 전송을 종결한다 (도 14의 410).
소스 노드(302)의 동작을 상세하게 설명한다.
소스 노드(302)가 제어기(300)로부터 접속 요청 패킷 및 트랜잭션 명령 패킷을 수신하면, 소스 노드(302)는 제어기(300)로부터 수신된 접속 ID 및 도 15에 도시된 표를 점검하여 오프셋 어드레스를 설정한다. 소스 노드(302)는 또한 이용 가능한 데이타 전송 속도 및 도 16에 도시된 표를 점검하여 버퍼 크기를 설정한다.
그 다음, 소스 노드(302)는 결정된 오프셋 어드레스 및 버퍼 크기를 이용하여 하나 이상의 비동기 동보 패킷을 생성하고, 이 패킷을 비동기 동보 트랜잭션으로서 전송한다(도 4의 406). 접속 ID 및 데이타 세그먼트의 시퀀스 번호가 각 비동기 동보 패킷에 저장된다.
비동기 동보 패킷을 전송한 다음, 소스 노드(302)는 목적 노드(304)로부터 응닫ㅂ 패킷을 기다린다. 목적 노드(304)는 응답 패킷으로서, 접속 ID 및 시퀀스가 번호가 저장되어 있는 비동기 동보 패킷을 전송한다. 이 응답 패킷을 수신하면, 소스 노드(302)는 시퀀스 번호를 증분하고, 다음 데이타 세그먼트가 포함되어 있는 비동기 동보 패킷을 전송한다 (도 14의 407).
상기 처리가 반복됨에 따라서, 소스 노드(302)는 비동기 동보 패킷을 순차 전송한다 (도 14의 408 및 409).
모든 오브젝트 데이타(308)가 비동기 동보 트랜잭션에 의해 전송되면, 소스 노드(302)는 세그먼트 엔드 패킷을 동보 전송하고 데이타 전송을 종결한다(도 14의 410 및 411).
지금부터, 목적 노드(304)의 동작을 도 14를 참조하여 설명한다.
접속 요청 패킷 및 트랜잭션 명령 패킷이 제어기(300)로부터 수신되면, 목적 노드(304)는 제어기(300)로부터 수신된 접속 ID 및 도 15에 도시된 표를 점검하여 오프셋 어드레스를 결정한다. 또한, 목적 노드(304)는 이용 가능한 데이타 전송 속도 및 도 16에 도시된 표를 점검하여 버퍼 크기를 결정한다.
그 다음, 목적 노드(304)는 비동기 동보 패킷이 결정된 오프셋 어드레스의 어드레스 공간에 기록될 때까지 기다린다. 비동기 동보 패킷이 어드레스 공간에 기록되면, 목적 노드(304)는 접속 ID를 확인한다.
수신된 패킷의 접속 ID가 목적 노드(304)의 접속 ID와 일치하면, 수신된 패킷에 포함되어 있는 접속 ID 및 시퀀스 번호가 저장된 응답 패킷을 동보 전송한다(도 14의 406 내지 409). 그 다음, 수신된 패킷에 포함되어 있는 데이타 세그먼트는 내부 버퍼에 저장된다.
세그먼트 엔드 패킷이 수신되면, 목적 노드(304)는 세그먼트 엔드 패킷이 정상적으로 수신되었다는 것을 표시하는 응답 패킷을 동보 전송한다(도 14의 410 및 411).
상술한 바와 같이, 제5 실시예에 따르면, 소스 노드(302)는 접속 요청 패킷을 하나 이상의 목적 노드(304)에 전송하지 않고 비동기 동보 트랜잭션을 실행할 수 있다.
또한, 복수의 접속이 동일한 오프셋 어드레스를 지정하는 비동기 동보 트랜잭션의 실행이 방지될 수 있다.
상술한 바와 같이, 각각으 실시예에 따르면, 물리적 접속 형태에 의존하지 않는 논리 접속 관계가 IEEE1394-1995 표준에 따르는 버스 망내에 구축될 수 있다.
이 실시예에서, IEEE1394-1995 표준에 따르는 통신 시스템의 경우, 실시간 처리가 요구되지 않은 경우에도 신뢰도가 요구되는 비교적 많은 양의 오브젝트 데이타 (예컨대, 정지 화상 데이타, 그래픽 데이타, 텍스트 데이타, 파일 데이타, 프로그램 데이타 등)가 하나 이상의 데이타 세그먼트로 분할되어 이 분할된 데이타 세그먼트들이 순차 전송될 수 있는 혁신적인 통신 프로토콜이 제공될 수 있다.
또한, 상기한 실시예에 따르면, IEEE1394-1995 표준에 따르는 통신 시스템의 경우, 데이타를 비동기 브로트캐스트하는 통신 방법을 이용하여 복수의 디바이스들간의 데이타 통신이 구현될 수 있는 혁신적인 통신 프로토콜이 제공될 수 있다.
또한, 상기 실시예에 따르면, IEEE1394-1995 표준에 따르는 등시성 전송을 요구하지 않고, 복수 셋트의 연속 데이타가 만족스럽게 전송될 수 있다. 한 셋트의 오브젝트 데이타가 개별적으로 전송될 수 있는 복수의 데이타 세그먼트로 분할될 수 있다.
또한, 상기한 실시예에 따르면, 복수의 디바이스들간의 통신이 하나의 접속에서 관리되기 있기 때문에, 매우 큰 통신 대역을 필요로 하지 않는 다중 통신이 동시에 수행될 수 있다.
다중 통신은 단 몇개의 노드가 사용되는 전송 대역에서 수행될 수 있다.
상기한 실시예에서, 버스 리셋 또는 전송 에러로 인해 데이타 전송이 중단되는 경우에도, 손실된 데이타의 내용에 관한 정보가 전송될 수 있고, 이러한 전송은 매우 복잡한 처리를 요구하지 않고도 재개될 수 있다.
(다른 실시예)
상기 실시예의 통신 프로토콜 및 이를 구현하기 위해 요구되는 다양한 동작들은 소프트웨어에 의해서 성취될 수 있다.
예를 들면, 제1 실시예 내지 제5 실시예에의 기능을 구현하는 프로그램 코드가 저장되어 있는 저장 매체가 각각의 실시예에서 통신 시스템을 구성하는 장치의 제어기 (도 2의 MPU 12, 시스템 제어기(50) 및 프린터 제어기(68)에 공급된다. 제어기는 통신 시스템 또는 장치로 하여금 저장 매체로부터 프로그램 코드를 판독하게 하고, 프로그램 코드에 따라 실시예의 기능을 구현하도록함으로써, 상기한 실시예들이 구현될 수 있다.
또한, 제1 실시예 내지 제5 실시예에서의 기능을 구현하는 프로그램 코드가 저장되어 있는 저장 매체가 장치의 11394 인터페이스(14, 44 및 62)에 공급된다. 제어기 (예컨대, 도 8의 시리얼 버스 관리부(806))는 1394 인터페이스(14, 44 및 62)로 하여금 저장 매체 내에 저장되어 있는 프로그램 코드에 따라서 실시예의 기능을 구현하도록 함으로써, 상기한 실시예들이 구현될 수 있다.
이 경우, 기록 매체로부터 판독된 프로그램 코드는 상술된 실시예들의 기능을 구현하는데 사용된다. 프로그램 코드 또는 프로그램 코드가 저장되어 있는 수단 (예컨대, 저장 매체)은 본 발명을 구성한다.
이러한 프로그램 코드를 공급하기 위한 저장 매체는, 예를 들면, 플로피 디스크, 하드 디스크, 광 디스크, 자기 광 디스크, CD-ROM, 자기 테이프, 비휘발성 메모리, 또는 ROM일 수 있다.
또한, 본 발명의 범주는 저장 매체로부터 프로그램 코드가 판독되어 상기 제어기에 접속되어 있는 기능 확장부에 포함된 메모리에 저장되는 경우 제1 실시예 내지 제5 실시예의 기능이 구현될 수 있고, 기능 확장부의 제어기가, 메모리에 저장되어 있는 프로그램 코드에 따라서, 실제 처리의 일부분 또는 모든 부분을 수행하는 경우를 포함한다.
본 발명은 본 발명의 사상 또는 필수 특징에서 벗어남이 없이 특정 형태에서 구현될 수 있다.
예를 들면, 상기 실시예에서, IEEE1394-1995 표준에 따르는 망에 적용될 수 있는 통신 프로토콜을 설명하였다. 그러나, 이 실시예들의 통신 프로토콜은 IEEE1394-1995 표준에 따르는 버스 망, 및 버스 망을 가상으로 구현할 수 있는 망에 적용될 수 있다.
따라서, 상술한 실시예는 모든 면에서 단순히 예일 뿐이며, 본 발명을 제한하는 것으로 간주되어서는 안된다.
본 발명의 범주는 첨부된 특허 청구 범위에 의해 정의되며, 명세서에 제공된 특정 설명에 의해 모두 한정되는 것이 아니다. 또한, 특허청구 범위 등가물에 속하는 수정 및 변경은 본 발명의 범주 내에서 벗어나지 않는 것으로 간주된다.
본 발명에 따르면, 소스 노드와 하나 이상의 목적 노드를 논리적으로 접속하고, 논리 접속 관계를 식별하는데 사용되는 접속 ID를 사용함으로써 각각의 노드 간의 데이타 통신을 제어하는 통신 시스템 및 통신 프로토콜이 제공된다.
또한, 하나 이상의 목적 노드에 포함되어 있는 메모리 공간들을 공통으로 표시하는 오프셋 어드레스와 접속 ID를 상관시키고, 오프셋 어드레스의 표시 및 수신된 데이타의 접속 ID의 식별을 단순화하는 통신 시스템 및 통신 프로토콜이 제공된다.

Claims (31)

  1. 데이타 통신 시스템에 있어서,
    적어도 한번은 비동기 통신을 이용하여 하나 이상의 세그먼트로 구성된 데이타를 전송하기 위한 소스 노드;
    상기 소스 노드로부터 데이타를 수신하기 위한 하나 이상의 목적 노드; 및
    상기 소스 노드와 상기 하나 이상의 목적 노드간의 논리 접속 관계를 설정하기 위한 제어기
    를 포함하는 것을 특징으로 하는 데이타 통신 시스템.
  2. 제1항에 있어서, 상기 소스 노드는 상기 하나 이상의 목적 노드와 설정된 상기 논리 접속 관계에 기초하여 상기 데이타를 전송하는 것을 특징으로 하는 데이타 통신 시스템.
  3. 제1항에 있어서, 상기 소스 노드는 상기 비동기 통신을 적어도 한번 순차적으로 수행하는 것을 특징으로 하는 데이타 통신 시스템.
  4. 제1항에 있어서, 상기 하나 이상의 목적 노드는 상기 소스 노드와 설정된 상기 논리 접속 관계에 기초하여 상기 데이타를 전송하는 것을 특징으로 하는 데이타 통신 시스템.
  5. 제1항에 있어서, 상기 하나 이상의 목적 노드는 상기 비동기 통신을 통해 수신된 데이타에 대한 응답을 전송하는 것을 특징으로 하는 데이타 통신 시스템.
  6. 제1항에 있어서, 상기 제어기는 상기 소스 노드와 상기 하나 이상의 목적 노드간의 하나 이상의 논리 접속 관계를 설정할 수 있는 것을 특징으로 하는 데이타 통신 시스템.
  7. 제1항에 있어서, 상기 논리 접속 관계는 상기 데이타가 전송된 후에 상기 제어기 또는 상기 목적 노드에 의해 취소되는 것을 특징으로 하는 데이타 통신 시스템.
  8. 제1항에 있어서, 상기 데이타 전송에 필요한 초기 셋업은 상기 소스 노드와 상기 하나 이상의 목적 노드 사이에서 수행되는 것을 특징으로 하는 데이타 통신 방법.
  9. 제8항에 있어서, 상기 제어기는 상기 초기 셋업 동안에 설정될 초기 정보의 일부를 설정할 수 있는 것을 특징으로 하는 데이타 통신 시스템.
  10. 제8항에 있어서, 상기 하나 이상의 목적 노드는 상기 초기 셋업에 필요한 상기 초기 정보를 상기 소스 노드에 전송하는 것을 특징으로 하는 데이타 통신 시스템.
  11. 제8항에 있어서, 상기 소스 노드는 상기 하나 이상의 목적 노드로부터 수신된 상기 초기 정보를 이용하여 상기 초기 셋업을 수행하는 것을 특징으로 하는 데이타 통신 시스템.
  12. 제8항에 있어서, 상기 초기 셋업 동안에, 상기 하나 이상의 목적 노드에 공동으로 사용되는 메모리 공간들을 지정하는 목적 어드레스 또는, 수신 버퍼의 크기 중 적어도 하나를 설정하는 것을 특징으로 하는 데이타 통신 시스템.
  13. 제1항에 있어서, 상기 소스 노드는 비동기 통신을 이용하여 상기 데이타를 동보(broadcast)하는 것을 특징으로 하는 데이타 통신 시스템.
  14. 제1항에 있어서, 상기 소스 노드는 상기 비동기 통신을 수행하여 상기 데이타를 상기 하나 이상의 목적 노드에 공동으로 지정된 상기 메모리 공간들 내에 기록하는 것을 특징으로 하는 데이타 통신 시스템.
  15. 제1항에 있어서, 상기 하나 이상의 목적 노드는 상기 하나 이상의 목적 노드에 공동으로 지정된 상기 메모리 공간들 내에 상기 데이타를 저장하는 것을 특징으로 하는 데이타 통신 시스템.
  16. 제1항에 있어서, 상기 비동기 전송 기법은 IEEE1394-1995 표준에 따른 비동기 전송 시스템에 따르는 것을 특징으로 하는 데이타 통신 시스템.
  17. 제1항에 있어서, 데이타 통신 시스템은 버스 망(bus network)인 것을 특징으로 하는 데이타 통신 시스템.
  18. 제1항에 있어서, 데이타 통신 시스템은 IEEE1394-1995 표준에 따른 망인 것을 특징으로 하는 데이타 통신 시스템.
  19. 제1항에 있어서, 하나 이상의 세그먼트로 구성된 상기 데이타는 정지 화상 데이타, 그래픽 데이타, 텍스트 데이타, 화일 데이타, 및 프로그램 데이타 중의 적어도 하나에 의해 구성되는 것을 특징으로 하는 데이타 통신 시스템.
  20. 데이타 통신 방법에 있어서,
    소스 노드와 하나 이상의 목적 노드간의 논리 접속 관계를 설정하는 단계;
    적어도 한번은 비동기 통신을 이용하여 하나 이상의 세그먼트로 구성된 데이타를 상기 하나 이상의 목적 노드로 전송하는 단계; 및
    설정된 상기 논리 접속 관계에 따라 상기 비동기 통신에 의해 전송된 상기 데이타를 수신하는 단계
    를 포함하는 것을 특징으로 하는 데이타 통신 방법.
  21. 데이타 통신 시스템에 있어서,
    적어도 한번은 동보 통신(broadcast communication)을 이용하여 하나 이상의 세그먼트로 구성된 데이타를 전송하기 위한 소스 노드; 및
    상기 소스 노드로부터 데이타를 수신하기 위한 하나 이상의 목적 노드
    를 포함하며, 상기 데이타의 전송은 상기 소스 노드와 상기 하나 이상의 목적 노드간에 설정된 논리 접속 관계를 이용하여 수행되는 것을 특징으로 하는 데이타 통신 시스템.
  22. 데이타 통신 방법에 있어서,
    소스 노드와 하나 이상의 목적 노드간의 논리 접속 관계를 설정하는 단계;
    적어도 한번은 동보 통신을 이용하여 하나 이상의 세그먼트로 구성된 데이타를 상기 하나 이상의 목적 노드에 전송하는 단계; 및
    설정된 상기 논리 접속 관계에 따라서 상기 동보 통신에 의해 전송된 상기 데이타를 수신하는 단계
    를 포함하는 것을 특징으로 하는 데이타 통신 방법.
  23. 데이타 통신 장치에 있어서,
    적어도 하나의 통신 패킷을 형성하기 위해 하나 이상의 세그먼트로 구성된 데이타를 조합하기 위한 수단; 및
    소스 노드와 하나 이상의 목적 노드간에 설정된 논리 접속 관계에 따라서 상기 통신 패킷을 비동기 전송하기 위한 수단
    을 포함하는 것을 특징으로 하는 데이타 통신 장치.
  24. 데이타 통신 방법에 있어서,
    적어도 하나의 통신 패킷을 형성하기 위해 하나 이상의 세그먼트로 구성된 데이타를 조합하는 단계; 및
    소스 노드와 하나 이상의 목적 노드간에 설정된 논리 접속 관계에 따라서 상기 통신 패킷을 비동기 전송하는 단계
    를 포함하는 것을 특징으로 하는 데이타 통신 방법.
  25. 데이타 통신 장치에 있어서,
    소스 노드와 하나 이상의 목적 노드간에 설정된 논리 접속 관계에 따라서 비동기 통신에 의해 전송된 적어도 하나의 통신 패킷을 수신하기 위한 수단; 및
    상기 통신 패킷 내에 포함된 데이타를 다른 기기와 공동 사용하는 메모리 공간 내에 기록하기 위한 수단
    을 포함하는 것을 특징으로 하는 데이타 통신 장치.
  26. 데이타 통신 방법에 있어서,
    소스 노드와 하나 이상의 목적 노드간에 설정된 논리 접속 관계에 따라서 비동기 통신에 의해 전송된 적어도 하나의 통신 패킷을 수신하는 단계; 및
    상기 통신 패킷에 포함된 데이타를 다른 기기와 공동 사용하는 메모리 공간 내에 기록하는 단계
    를 포함하는 것을 특징으로 하는 데이타 통신 방법.
  27. 데이타 통신 장치에 있어서,
    소스 노드와 하나 이상의 목적 노드간의 논리 접속 관계를 설정하기 위한 수단; 및
    상기 논리 접속 관계에서 참가자를 식별하기 위해 사용되는 접속 ID의 상기 소스 노드와 상기 하나 이상의 목적 노드를 통지하기 위한 수단
    을 포함하는 것을 특징으로 하는 데이타 통신 장치.
  28. 데이타 통신 방법에 있어서,
    소스 노드와 하나 이상의 목적 노드간의 논리 접속 관계를 설정하는 단계; 및
    상기 논리 접속 관계에서 참가자를 식별하기 위해 사용되는 접속 ID의 상기 소스 노드 및 상기 하나 이상의 목적 노드를 통지하는 단계
    를 포함하는 것을 특징으로 하는 데이타 통신 방법.
  29. 디지탈 인터페이스에 있어서,
    적어도 하나의 통신 패킷을 형성하기 위해 하나 이상의 세그먼트로 구성된 데이타를 조합하기 위한 수단; 및
    소스 노드와 하나 이상의 목적 노드간에 설정된 논리 접속 관계에 따라서 상기 통신 패킷을 비동기 전송하기 위한 수단
    을 포함하는 것을 특징으로 하는 디지탈 인터페이스.
  30. 디지탈 인터페이스에 있어서,
    소스 노드와 하나 이상의 목적 노드간에 설정된 논리 접속 관계에 따라서 비동기 통신에 의해 전송된 적어도 하나의 통신 패킷을 수신하기 위한 수단; 및
    상기 통신 패킷에 포함된 데이타를 다른 기기와 공동으로 사용하는 메모리 공간 내에 기록하기 위한 수단
    을 포함하는 것을 특징으로 하는 디지탈 인터페이스.
  31. 디지탈 인터페이스에 있어서,
    소스 노드와 하나 이상의 목적 노드간의 논리 접속 관계를 설정하기 위한 수단; 및
    상기 논리 접속 관계에서 참가자를 식별하기 위해 사용되는 접속 ID의 상기 소스 노드 및 상기 하나 이상의 목적 노드를 통지하기 위한 수단
    을 포함하는 것을 특징으로 하는 디지탈 인터페이스.
KR1019990006177A 1998-02-24 1999-02-24 데이타 통신 시스템, 데이타 통신 방법, 데이타 통신 장치 및 디지탈 인터페이스 Expired - Fee Related KR100311707B1 (ko)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
JP1998-042656 1998-02-24
JP4265698 1998-02-24
JP1998-049892 1998-03-02
JP6621698A JP3814407B2 (ja) 1998-03-02 1998-03-02 データ通信システム、データ通信装置及びデータ通信方法
JP4989398 1998-03-02
JP4989298 1998-03-02
JP1998-066216 1998-03-02
JP1998-049893 1998-03-02

Publications (2)

Publication Number Publication Date
KR19990072911A true KR19990072911A (ko) 1999-09-27
KR100311707B1 KR100311707B1 (ko) 2001-11-02

Family

ID=27461247

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990006177A Expired - Fee Related KR100311707B1 (ko) 1998-02-24 1999-02-24 데이타 통신 시스템, 데이타 통신 방법, 데이타 통신 장치 및 디지탈 인터페이스

Country Status (5)

Country Link
US (1) US6678769B1 (ko)
EP (1) EP0984602A3 (ko)
KR (1) KR100311707B1 (ko)
CN (1) CN1161940C (ko)
MY (1) MY123326A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100774901B1 (ko) * 2006-03-14 2007-11-09 후지쯔 가부시끼가이샤 네트워크 시스템의 브로드캐스트 처리 방법 및 네트워크시스템
KR100867561B1 (ko) * 2000-03-07 2008-11-10 소니 인터내셔널(유로파) 게엠베하 긴 지연 접속들을 위한 인터페이스 링크 층 디바이스

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7068674B1 (en) * 1999-08-23 2006-06-27 Lg Electronics Inc. Method of controlling connection between nodes in digital interface
JP2001237860A (ja) * 2000-02-21 2001-08-31 Sony Corp 通信制御方法及び通信制御装置
WO2002017566A1 (en) * 2000-08-23 2002-02-28 Koninklijke Philips Electronics N.V. Communication system and device
US7097561B2 (en) * 2001-09-28 2006-08-29 Igt Gaming apparatus with novel display technique
JP3875121B2 (ja) * 2002-03-01 2007-01-31 株式会社エヌ・ティ・ティ・ドコモ 通信システム、通信方法、転送装置及びネットワーク管理装置
JP3800158B2 (ja) * 2002-09-27 2006-07-26 ブラザー工業株式会社 データ送信システム、端末装置、及びプログラム
JP2005176233A (ja) * 2003-12-15 2005-06-30 Canon Inc 通信装置及び通信システム
US7844745B1 (en) * 2004-08-19 2010-11-30 Nortel Networks Limited Alternate home subscriber server (HSS) node to receive a request if a first HSS node cannot handle said request

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5794005A (en) * 1992-01-21 1998-08-11 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Synchronous parallel emulation and discrete event simulation system with self-contained simulation objects and active event objects
DE69531012T2 (de) * 1994-03-09 2004-05-19 Matsushita Electric Industrial Co., Ltd., Kadoma Datenübertragungssystem und Verfahren
JPH07250070A (ja) * 1994-03-14 1995-09-26 Matsushita Electric Ind Co Ltd データ通信装置
JP2848784B2 (ja) * 1994-08-02 1999-01-20 沖電気工業株式会社 パケット交換方式
US6049889A (en) * 1995-06-07 2000-04-11 Digital Equipment Corporation High performance recoverable communication method and apparatus for write-only networks
US5930493A (en) * 1995-06-07 1999-07-27 International Business Machines Corporation Multimedia server system and method for communicating multimedia information
JP3512910B2 (ja) * 1995-07-06 2004-03-31 株式会社東芝 分散計算機システムにおける記憶空間管理方法、計算機及びデータ転送方法
JP3572768B2 (ja) * 1995-08-12 2004-10-06 ソニー株式会社 データ通信方法
JPH09275402A (ja) 1996-04-04 1997-10-21 Sony Corp 通信制御システムおよび通信制御装置並びにデータ送受信装置および通信制御方法
JPH09282263A (ja) * 1996-04-12 1997-10-31 Sony Corp 電子機器及びその識別情報構成方法
JPH10200558A (ja) * 1997-01-14 1998-07-31 Sony Corp 通信システム、通信装置、および、通信方法
US6298405B1 (en) * 1997-02-14 2001-10-02 Canon Kabushiki Kaisha Data communication system, printing system and data communication apparatus
JPH10336252A (ja) * 1997-05-30 1998-12-18 Toshiba Corp シリアルデータ転送制御装置およびシリアルデータ転送方法
US5963448A (en) * 1997-06-18 1999-10-05 Allen-Bradley Company, Llc Industrial controller having redundancy and using connected messaging and connection identifiers to enable rapid switchover without requiring new connections to be opened or closed at switchover
US6075791A (en) * 1997-10-28 2000-06-13 Lucent Technologies Inc. System for guaranteeing data transfer rates and delays in packet networks

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100867561B1 (ko) * 2000-03-07 2008-11-10 소니 인터내셔널(유로파) 게엠베하 긴 지연 접속들을 위한 인터페이스 링크 층 디바이스
KR100774901B1 (ko) * 2006-03-14 2007-11-09 후지쯔 가부시끼가이샤 네트워크 시스템의 브로드캐스트 처리 방법 및 네트워크시스템

Also Published As

Publication number Publication date
EP0984602A3 (en) 2009-11-11
US6678769B1 (en) 2004-01-13
EP0984602A2 (en) 2000-03-08
CN1235460A (zh) 1999-11-17
KR100311707B1 (ko) 2001-11-02
CN1161940C (zh) 2004-08-11
MY123326A (en) 2006-05-31

Similar Documents

Publication Publication Date Title
US7590133B2 (en) Data communication system, data communication method, and data communication apparatus
US6690648B2 (en) Data communication apparatus, method, and system utilizing reception capability information of a destination node
EP0939529B1 (en) Destination node, data communication system, method of controlling a destination node and method of operating a data communication system
JPH10154996A (ja) ネットワーク接続装置及びネットワーク接続方法
JP4181688B2 (ja) データ通信システム及びデータ通信装置
KR100311707B1 (ko) 데이타 통신 시스템, 데이타 통신 방법, 데이타 통신 장치 및 디지탈 인터페이스
US7002964B1 (en) Communication system, method for a communication system and controller for a communication system
JPH10229410A (ja) データ処理装置、電子機器および通信システム
JP4428750B2 (ja) データ通信システム
JP3814407B2 (ja) データ通信システム、データ通信装置及びデータ通信方法
JP4046846B2 (ja) データ通信システム及びデータ通信装置
JP4143205B2 (ja) データ通信システム
JP4026979B2 (ja) データ通信システム
JP3943698B2 (ja) データ通信システム及びデータ通信装置
JP3943697B2 (ja) データ通信システム、データ通信装置及びデータ通信方法
JP3862403B2 (ja) データ通信システムおよびデータ通信装置
JPH11261608A (ja) データ通信システム、データ通信装置、データ通信方法及び記憶媒体
JP4065466B2 (ja) データ通信システム
JPH11313091A (ja) データ通信システム、装置及び方法並びに記憶媒体
JP3890124B2 (ja) データ通信システム、データ通信方法、データ通信ノードおよび記録媒体
JPH11317755A (ja) デ―タ通信システム、デ―タ通信方法、デ―タ通信装置及びディジタルインタ―フェイス
JPH11355319A (ja) デ―タ通信システム、デ―タ通信方法、デ―タ通信装置及びディジタルインタフェ―ス
JPH11298509A (ja) データ通信システム、データ通信方法、データ通信装置及び記憶媒体

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 19990224

PA0201 Request for examination
PG1501 Laying open of application
E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20010728

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20010927

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20010928

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20040924

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20050926

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20060925

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20070920

Start annual number: 7

End annual number: 7

PR1001 Payment of annual fee

Payment date: 20080826

Start annual number: 8

End annual number: 8

PR1001 Payment of annual fee

Payment date: 20090825

Start annual number: 9

End annual number: 9

PR1001 Payment of annual fee

Payment date: 20100824

Start annual number: 10

End annual number: 10

PR1001 Payment of annual fee

Payment date: 20110825

Start annual number: 11

End annual number: 11

FPAY Annual fee payment

Payment date: 20120824

Year of fee payment: 12

PR1001 Payment of annual fee

Payment date: 20120824

Start annual number: 12

End annual number: 12

FPAY Annual fee payment

Payment date: 20130828

Year of fee payment: 13

PR1001 Payment of annual fee

Payment date: 20130828

Start annual number: 13

End annual number: 13

FPAY Annual fee payment

Payment date: 20140826

Year of fee payment: 14

PR1001 Payment of annual fee

Payment date: 20140826

Start annual number: 14

End annual number: 14

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

Termination category: Default of registration fee

Termination date: 20160809