KR100501856B1 - 통신 제어 장치 및 방법 - Google Patents

통신 제어 장치 및 방법 Download PDF

Info

Publication number
KR100501856B1
KR100501856B1 KR10-2002-7008592A KR20027008592A KR100501856B1 KR 100501856 B1 KR100501856 B1 KR 100501856B1 KR 20027008592 A KR20027008592 A KR 20027008592A KR 100501856 B1 KR100501856 B1 KR 100501856B1
Authority
KR
South Korea
Prior art keywords
communication
initiator
directory
unit
target
Prior art date
Application number
KR10-2002-7008592A
Other languages
English (en)
Other versions
KR20020069232A (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
Application filed by 캐논 가부시끼가이샤 filed Critical 캐논 가부시끼가이샤
Publication of KR20020069232A publication Critical patent/KR20020069232A/ko
Application granted granted Critical
Publication of KR100501856B1 publication Critical patent/KR100501856B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • 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

Abstract

이니시에이터에는 논리 디바이스 A, B, C가 구비되어 있다. 그 경우, 유닛의 구성을 나타내는 컨피그레이션 ROM에서의 디렉토리 구조에 있어서도, 인스턴스 디렉토리 A, B, C가 작성되며, 각각의 하위에 이니시에이터 유닛 디렉토리 1∼3이 작성되고, 각 논리 디바이스에 의해 제공되는 기능을 나타내는 피처 디렉토리가 그 하위에 더 작성된다. 이러한 구성에 의해 이니시에이터에 의해 제공 가능한 기능이 표시되며, 타깃 기기 등, 다른 노드에 대하여 제공 가능한 기능을 알리게 할 수 있다.

Description

통신 제어 장치 및 방법{COMMUNICATION CONTROL APPARATUS AND METHOD}
본 발명은 2 기기 사이의 데이터 전송의 제어를 행하기 위한 통신 제어 장치 및 방법에 관한 것으로, 특히 통신 프로토콜로서 IEEE1394를 사용하는 통신 제어 장치 및 방법에 관한 것이다.
IEEE(미국 전기 전자 학회)에서 규정된 통신 규격의 하나로, IEEE1394라고 불리는 것이 있다. IEEE1394로 규정된 통신 방식은 핸드 셰이크 방식에 비하여 고속이고, 더구나 쌍방향 통신이 가능하다. 또한, 메모리 버스 모델의 인터페이스로서, IEEE1394 직렬 버스로 접속된 기기는 상대가 지정한 어드레스에 액세스할 수 있다. 이 IEEE1394는 광범위하게 응용하기 위한 물리층 및 링크층의 프로토콜을 정한 것으로, 기기마다의 상세한 프로토콜은 정해져 있지 않다.
그 때문에, 물리층·링크층으로서 IEEE1394를 이용한 트랜스포트층의 프로토콜로서, SBP-2(serial bus protocol-2)라는 프로토콜이 정의되어 있다. SBP-2는 IEEE1394의 메모리 버스 모델로서의 특장을 살린 프로토콜로서, 이에 따르면 커맨드의 수신측이 그 자신의 형편에 따라서 송신측으로부터 데이터를 수신할 수 있다. 이 SBP-2로 접속되는 2개의 디바이스는, 커맨드의 송신측이 이니시에이터, 수신측이 타깃이라고 불리고, 통신을 개시함에 있어서의 이니시에이티브는 이니시에이터가 취한다. 그 때문에 로그인 동작은 이니시에이터만이 행할 수 있고, 타깃은 원칙적으로는 이니시에이터로부터의 접근에 응답하는 동작을 행하게 된다.
SBP-2에 따르면, 이니시에이터로부터 로그인되면, 이니시에이터는 데이터의 송수신을 위해 사용되는 메모리 어드레스 등이 쓰여진 ORB라고 하는 블록을 작성하고, 그 ORB의 어드레스를 타깃에 통지한다. 타깃은 통지된 ORB를 읽고, 거기에 기재된 어드레스로부터 데이터를 판독하거나, 혹은 그 어드레스에 데이터를 기입함으로써, 데이터의 송수신을 실현하고 있다. 이를 위해, ORB의 어드레스는 타깃에 있어서 큐잉되고, 그것에 대한 응답은 이니시에이터에 있어서 큐잉된다. 타깃은 큐잉된 ORB를 순서대로 처리하여, 응답을 이니시에이터에게 회신한다.
또한 이 SBP-2 상에, 타깃으로부터 이니시에이터에 대하여 로그인을 재촉하는 리버스 로그인 등을 규정한 IEEE1394.3이라는 규격이 SBP-2와 동일하게 트랜스포트층의 프로토콜로서 제안되어 있다. 이 IEEE1394.3에 있어서는, 로그인 동작은 이니시에이터만이 행할 수 있고, 타깃은 원칙적으로는 이니시에이터로부터의 접근에 응답하는 동작을 행하는 것으로 되지만, 이니시에이터에 의한 로그인을 재촉하기 위한 리버스 로그인이라는 동작이 타깃으로부터는 가능하게 되어 있다.
이와 같이, 이니시에이터쪽이 이니시에이티브를 취하는 구성 측면, 규격 측면에서도 이니시에이터가 다양한 서비스를 제공하도록 하고, 타켓으로부터 소망의 서비스를 지정하여 그 서비스를 받는 것으로 되어 있다.
여기서, IEEE1394의 규격에 있어서는, 상호 접속되는 각 노드가 하나의 디바이스를 구성하는 것으로 되어 있다. 이것은 하나의 노드 내에서 복수의 디바이스를 관리하는 것이 번잡하기 때문에, 각 노드는 단일 디바이스이라고 하는 상정 하에 규격화된, 예를 들면 SCSI 등에서의 규정을 그대로 계승하고 있기 때문이다.
이 때문에 IEEE1394.3의 규정에서는, 이니시에이터의 노드가 갖는 논리 디바이스(유닛)를 정의하기 위한 이니시에이터 유닛 디렉토리는, 하나의 물리 노드(1394 직렬 버스가 접속된 노드를 가리킨다. 물리 디바이스라고도 한다)에 대하여 하나밖에 갖고 있지 않다고 규정되어 있다. 이 규정에 의해, 이니시에이터는 유닛 디렉토리를 2개 이상 갖는 것이 허용되지 않아, 임의의 물리 디바이스가 IEEE1394.3이 규정하는 물리 디바이스를 구성하는 논리 디바이스를 복수개 갖고, 더구나 그 역할이 이니시에이터일 때, 그 물리 디바이스와 각 논리 디바이스와 각 서비스의 관계를 적절한 계층 구조로 다른 기기에 대하여 표현할 수 없었다.
도 19에 유닛 디렉토리의 일례를 도시한다. IEEE1394.3에서는, 적어도 도 18과 같은 엔트리를 갖는 유닛 디렉토리를, IEEE1394.3으로 규정하는 이니시에이터의 역할이 가능한 각 노드에 1개만 갖는 것을 허용하고 있었다. 그리고, 유닛 디렉토리에 포함되는 피처 디렉토리 오프셋에서 어드레스를 특정받은 장소에 있는 피처 디렉토리에, 그 노드가 제공 가능한 서비스를 IEEE1394.3으로 규정된 기술 방법으로 기술함으로써, 그 노드가 다른 노드에 대하여 IEEE1394.3을 통해 제공이 가능한 서비스를 알게 할 수 있다. 도 20은 그 포맷의 일례이다.
그리고, IEEE1394.3에 의해 규정되는 이니시에이터의 루트 디렉토리, 인스턴스 디렉토리, 유닛 디렉토리, 피처 디렉토리를 IEEE1394.3으로 규정하는 이니시에이터의 역할이 가능한 각 노드가 갖는다고 한다면, 계층 구조의 일례는 도 21과 같다. 또, 버스 인포메이션, 루트 디렉토리, 인스턴스 디렉토리의 기술 방법은 IEEE1212R로 규정되어 있기 때문에 상세한 것은 생략한다.
그러나 IEEE1394.3에서는, 각 이니시에이터 노드는 이니시에이터 유닛 디렉토리를 2개 이상 갖는 것을 허용하지 않기 때문에, 이니시에이터에서의 복수의 인스턴스가 각각의 서비스의 로케이션을 인스턴스마다 IEEE1394.3을 통해 제공 가능한 것을 다른 노드에 대하여 알게 하는 방법이 없다. 그 때문에, 만일 복수의 인스턴스가 IEEE1394.3으로 규정되는 동일한 서비스 ID로 표현되는 서비스를 제공하고 있으면, 그 서비스 ID가 어느쪽의 인스턴스가 제공하는 서비스인지 구별이 되지 않는다. 도 22는 그와 같은 상황에 놓인 이니시에이터 노드에서의 디렉토리의 층 구조의 일례이다. 이와 같이, 이니시에이터에서의 물리 디바이스와 각 논리 디바이스와 각 서비스의 관계를 적절한 계층 구조로 다른 기기에 대하여 나타낼 수 없었다.
그 한편으로, 임의의 물리 디바이스의 역할이 타깃인 경우에는, 타깃은 복수의 유닛 디렉토리를 가질 수 있어, 복수의 논리 디바이스를 가지고 있는 경우라도 각각의 논리 디바이스를 유닛 디렉토리를 이용하여 계층적으로 표현할 수 있었다.
그 때문에, IEEE1394.3을 하위층으로서 사용하는 클라이언트는, 그 기기의 IEEE1394.3층이 이니시에이터인지 타깃인지에 의해 논리 디바이스나 그것이 제공하는 서비스의 표현 방법이 공통이 아니기 때문에, IEEE1394.3층이 이니시에이터인지 타깃인지에 의해 행동을 변경해야만 하는 가능성이 있었다.
본 발명은 상기 종래예를 감안하여 이루어진 것으로, 이니시에이터가 복수의 논리 디바이스를 갖는 경우에는, 유닛 디렉토리를 논리 디바이스에 대응하여 준비함으로써, 이니시에이터에서의 논리 디바이스의 계층적 표현을 가능하게 하는 통신 제어 장치 및 방법을 제공하는 것을 목적으로 한다.
<발명의 개시>
상기 목적을 달성하기 위해서 본 발명은 다음과 같은 구성으로 이루어진다.
통신 회선을 통하여 IEEE1394.3에서의 타겟으로서의 다른 기기와 통신가능한 IEEE1394.3에서의 이니시에이터로서의 통신 제어 장치로서,
상기 통신 제어 장치가 제공가능한 기능을 나타내는 정보를 기억하는 기억 수단과, 상기 다른 기기에 의해 지정된 어드레스에 따라, 해당 어드레스의 데이터를 상기 다른 기기로 통신하는 통신 수단을 포함하고, 상기 기억 수단은 상기 통신 회선을 통하여 판독가능하게 상기 통신 수단에 의한 통신 프로토콜 능력에 의존하는 속성을 포함하는 IEEE1212R에 의해 규정되어 있는 유닛 디렉토리를 2개 이상 기억한다.
더 바람직하게는, 상기 통신 프로토콜 능력에 의존하는 속성을 2개 이상 기술하는 것이 허용되지 않은 프로토콜을 채용하고 있고, 2개 이상의 통신 프로토콜 능력에 의존하는 속성을 기술하고자 하는 경우, 상기 기억 수단에 기억되어 있는 2개 이상의 유닛 디렉토리 각각의 일부를 이용하며, 2개 이상의 통신 프로토콜 능력에 의존하는 속성의 기술을 가능하게 한다.
더 바람직하게는, IEEE1394.3이 상기 통신 프로토콜로서 사용되고, 상기 통신 제어 장치가 이니시에이터인 경우, 2개 이상의 통신 프로토콜 능력에 의존하는 디바이스 속성의 기술을 가능하게 하는 속성 항목으로서 IEEE1212R로 규정되어 있는 유닛 디렉토리 내의 버전 항목을 이용한다.
혹은, 통신 회선을 통하여 다른 기기와 통신가능한 통신 제어 장치로서, 통신 프로토콜에 의존하는 속성을 표현하는, IEEE1212R에 의해 규정되어 있는 유닛 디렉토리를 기억하는 기억 수단과, 상기 다른 기기에 의해 지정된 어드레스에 따라, 상기 기억 수단의 데이터를 상기 다른 기기에 통신하는 통신 수단을 포함하고, 상기 기억 수단은, 상기 통신 프로토콜에 의존하는 속성이 복수인 경우에는 버전 항목도 포함하여 IEEE1394.3이 규정하는 바와 같이 기술한 상기 유닛 디렉토리를 하나 기억하고, 버전 항목의 값이 IEEE1394.3의 규정과는 상이한 특정 값이며, 그 이외는 IEEE1394.3의 규정대로인 상기 유닛 디렉토리를 하나 또는 복수 기억한다.
더 바람직하게는, IEEE1394.3에 따르는 타깃과도 통신을 할 가능성이 있는 통신 프로토콜에 의존하는 유일한 속성에 대응하는 유닛 디렉토리를, 버전 항목도 포함시켜 IEEE1394.3이 규정하는 바와 같이 기술하고, 그 이외의 속성을 버전 항목의 값만이 IEEE1394.3의 규정과는 상이한 특정 값을 갖고, 그 이외는 IEEE1394.3의 규정대로인 유닛 디렉토리로 기술한다.
혹은, 통신 회선을 통하여 IEEE1394.3에서의 이니시에이터로서의 제1 기기와 IEEE1394.3에서의 타겟으로서의 제2 기기간의 통신 제어 방법으로서,
어드레스를 제2 기기로부터 제1 기기에 대하여 지정하는 지정 단계와, 상기 제2 기기에 의해 지정된 어드레스에 따라, 상기 제1 기기의 메모리에서의 데이터를 상기 제1 기기로부터 상기 제2 기기로 통신하는 통신 단계를 포함하고, 상기 제1 기기는 상기 통신 회선을 통하여 판독가능하게, 상기 통신 단계에 의한 통신 프로토콜 능력에 의존하는 속성을 포함하는 IEEE1212R에 의해 규정되어 있는 유닛 디렉토리를 2개 이상 기억한다.
혹은, 컴퓨터 판독 가능한 메모리로서, 컴퓨터를 상기 <18>에 기재된 각 수단으로서 기능시키기 위한 컴퓨터 프로그램을 저장한다.
혹은, 통신 회선을 통하여 접속된 IEEE1394.3에서의 타겟으로서의 기기에 대하여, 요구된 서비스를 제공하기 위한 IEEE1394.3에서의 이니시에이터로서의 통신 제어 장치로서,
복수의 서비스 제공 디바이스와,
상기 복수의 서비스 제공 디바이스의 각각에 의해 제공되는 서비스에 대한 정보를, 상기 통신 회선을 통해 다른 기기로부터 판독 가능하게 기억하는 기억 수단을 포함하고,
상기 서비스에 대한 정보는 상기 복수의 서비스 제공 디바이스마다 계층적인 트리 구조로 구성한다.
도 1은 본 발명을 실장하는 타깃측의 블록도.
도 2는 본 발명을 실장하는 이니시에이터측의 블록도.
도 3A는 본 발명을 실장하는 이니시에이터에 실장되는 컨피그레이션 ROM의 개략 계층도.
도 3B는 본 발명을 실장하는 이니시에이터에 실장되는 컨피그레이션 ROM의 구체적인 엔트리의 값의 일례를 도시하는 도면.
도 4A는 본 발명을 실장하는 타깃측의 동작을 설명하는 흐름도.
도 4B는 본 발명을 실장하는 타깃측의 동작을 설명하는 흐름도.
도 5A는 본 발명을 실장하는 타깃측의 동작을 설명하는 흐름도.
도 5B는 본 발명을 실장하는 타깃측의 동작을 설명하는 흐름도.
도 6A는 본 발명을 실장하는 타깃측의 동작을 설명하는 흐름도.
도 6B는 본 발명을 실장하는 타깃측의 동작을 설명하는 흐름도.
도 7A는 본 발명을 실장하는 이니시에이터측의 동작을 설명하는 흐름도.
도 7B는 본 발명을 실장하는 이니시에이터측의 동작을 설명하는 흐름도.
도 7C는 본 발명을 실장하는 이니시에이터측의 동작을 설명하는 흐름도.
도 8은 IEEE1394.3으로 규정된 커넥트 컨트롤 펑션(CONNECT) 요청의 구조도.
도 9는 IEEE1394.3으로 규정된 커넥트 컨트롤 펑션(CONNECT) 요청을 본 발명을 실장하기 위해서 확장한 것을 도시하는 도면.
도 10은 IEEE1394.3으로 규정된 커넥트 컨트롤 펑션(CONNECT) 응답의 구조도로서, 서비스로 지정된 큐의 타입이 미스매치일 때의 구조도.
도 11은 IEEE1394.3으로 규정된 커넥트 컨트롤 펑션(CONNECT) 응답의 구조도로서, 커넥트가 OK일 때의 구조도.
도 12는 본 발명에 따라 IEEE1394.3의 규정으로부터 확장된 커넥트 컨트롤 펑션(CONNECT) 응답의 구조도로서, 지정된 유닛 디렉토리가 없을 때의 구조도.
도 13은 본 발명에 따라 IEEE1394.3의 규정으로부터 확장된 커넥트 컨트롤 펑션(CONNECT) 응답의 구조도로서, 지정된 서비스가 지정된 유닛 디렉토리가 없을 때의 구조도.
도 14는 본 발명에 따라 IEEE1394.3의 규정으로부터 확장된 커넥트 컨트롤 펑션(CONNECT)의 값과 그 의미로 디렉토리 ID가 확장 항목을 도시하는 도면.
도 15는 본 발명에 따라 IEEE1394.3의 규정으로부터 확장된 커넥트 컨트롤 펑션(CONNECT) 응답의 값과 그 의미로 6, 7이 확장 항목을 도시하는 도면.
도 16은 본 발명을 실장했을 때의 이니시에이터, 타깃, 이니시에이터의 컨피그레이션 ROM, 본 발명의 모듈 등의 관계의 일례를 모델화한 것을 도시하는 도면.
도 17은 본 발명을 실장했을 때의 유닛 디렉토리의 구조도.
도 18은 IEEE1394.3으로 규정된 커넥트 컨트롤 펑션(CONNECT) 응답의 구조도로서, 접속 거부일 때의 구조도.
도 19는 종래의 유닛 디렉토리의 구성을 도시하는 도면.
도 20은 종래의 유닛 디렉토리의 구성을 도시하는 도면.
도 21은 종래의 이니시에이터에 있어서 제공하는 서비스를 나타내는 계층 디렉토리 구조를 도시하는 도면.
도 22는 종래의 이니시에이터에 있어서 제공하는 서비스를 나타내는 계층 디렉토리 구조를 도시하는 도면.
도 23은 본 발명을 실장할 때의 유닛 디렉토리의 구조도.
도 24는 제2 실시 형태에서의 이니시에이터에 실장되는 컨피그레이션 ROM의 개략 계층도.
<발명의 실시하기 위한 최량의 형태>
[제1 실시 형태]
이하, 도면을 참조하여, 본 발명의 실시 형태인 통신 시스템 및 그것을 구성하는 이니시에이터와 타깃에 대하여 상세히 설명한다. 또, 이하의 설명에서 「본 발명의 규정에 준거」라는 표현, 혹은 그것에 비슷한 표현을 하는 경우가 있는데, 이것은 본 발명에 따른 시스템이나 장치 혹은 방법 등의 구성이나 수순(실시 형태 내에서 설명됨)에 의한 한정을 나타내기 위한 표현으로, 발명이 규격이나 규약 그 자체인 것을 의미하지는 않는다.
<시스템의 구성>
본 실시 형태의 개략은 다음과 같은 것이다. 즉, IEEE1394.3의 규정에 따르면, 이니시에이터의 노드가 갖는 디바이스(유닛)를 정의하기 위한 이니시에이터 유닛 디렉토리는, 하나의 물리 노드(1394 직렬 버스가 접속된 노드를 가리킨다. 물리 디바이스라고도 함)는 하나밖에 갖지 못하는 것으로 되어 있다. 본 발명에서는 이것을 확장하여, 하나의 물리 노드에 대하여 복수의 이니시에이터 유닛 디렉토리를 갖게 할 수 있다. 그리고 각각의 이니시에이터 유닛 디렉토리에 식별자를 붙이고, 타깃으로부터 이니시에이터에 대하여 IEEE1394.3으로 규정되어 있는 큐를 커넥트할 때, 필요하면, 상기 식별자를 논리 디바이스를 지정하는 파라미터로서, 커넥트 요청 커맨드의 파라미터에 부가한다. 또, 논리 디바이스란, 하나의 물리 노드를 구성하는 디바이스 각각을 가리킨다. 예를 들면, 컴퓨터가 물리 노드라고 하면, 그것에 로컬 접속된 스캐너나 프린터, 모뎀 등이 각각 논리 디바이스가 될 수 있다.
본 발명이 적용되는 기기 구성의 개략은 도 16에 도시되어 있다. 그리고, 각 노드의 구성을 정의한 데이터가 등록되어 있는 컨피그레이션 ROM 중의 구성의 일례는 도 3A, 도 3B에서 도시된다.
도 16에 있어서, 본 시스템의 이니시에이터는 논리 디바이스 A, B, C를 구비하고 있다. 본 예에서는 이 디바이스는 프린터인 것으로 한다. 동일한 기기이기 때문에, 각 논리 디바이스는 동일한 서비스를 제공한다. 여기서는 서비스 1, 2, 3을 각각 제공하고 있다. 컨피그레이션 ROM(CONFIG ROM)에는 각 논리 디바이스가 정의되어 있다.
한편, 타깃에는 이니시에이터가 제공하는 서비스를 이용하는 클라이언트를 갖는다. 이니시에이터와 타깃은 1394 직렬 버스로 접속되어 있고, 양쪽 모두 1394 회선 제어부를 통해 접속된다.
도 1은 본 발명을 적응하는 IEEE1394.3으로 규정된 타깃(이하, 타깃)의 전자 기기의 내부의 블록 구성도이다. 참조 부호 1은 본 발명을 제어하는 CPU, 참조 부호 2는 CPU(1)의 작업 영역을 제공하는 RAM, 참조 부호 3은 본 발명의 프로그램을 제공하는 하드디스크(플로피 디스크, CDROM, MO, ROM, 자기 테이프 등이어도 된다), 참조 부호 5는 IEEE1394 회선 제어부, 참조 부호 8은 메인 버스이다.
도 2는 본 발명을 적응하는 IEEE1394.3으로 규정된 이니시에이터(이하, 이니시에이터)의 전자 기기의 내부의 블록 구성도이다. 참조 부호 11은 본 발명을 제어하는 CPU, 참조 부호 12는 CPU(11)의 작업 영역을 제공하는 RAM(컨피그레이션 ROM은 여기에 저장된다), 참조 부호 13은 본 발명의 프로그램을 제공하는 하드 디스크(플로피 디스크, CDROM, MO, ROM, 자기 테이프 등이어도 된다), 참조 부호 15는 IEEE1394 회선 제어부, 참조 부호 18은 메인 버스이다. 또한, IEEE1394 회선 제어부에는 IEEE1394, SBP-2(Serial Bus protocol-2)로 규정되어 있는 규약이 실장되어 있는 것으로 한다.
또한, 본 발명은 특별히 한정하지 않는 한, 타깃, 이니시에이터 모두 CPU가 메인 버스를 통해 RAM, 하드디스크, IEEE1394 회선 제어부를 본 발명의 프로그램에 따라 제어하여 동작한다. 또한, IEEE1394 회선 제어부는 IEEE1394 프로토콜 제어부라고도 하지만, 본 실시 형태에 있어서는 이들은 동일한 것이다.
<컨피그레이션 ROM의 내용>
도 3A에 본 발명에 따른 이니시에이터의 컨피그레이션 ROM의 내용의 일례를 든다. 구성 정보는 계층 구조의 디렉토리에서 관리된다. 즉, 루트 디렉토리 아래에, 논리 디바이스를 정의하는 인스턴스 디렉토리가 있고, 그 아래에 논리 디바이스를 더 상세히 정의하기 위한 유닛 디렉토리가 있다. 또 각 논리 디바이스가 제공하는 서비스 등을 정의한 피처 디렉토리가 그 아래에 있다.
도 3B는 그 상세를 도시한다. 루트 디렉토리(301)의 아래에는, 인스턴스로서 각 논리 디바이스를 정의하는 인스턴스 디렉토리가 링크되어 있다. 예를 들면, 인스턴스 디렉토리(302)에는, 논리 디바이스인 프린터 B의 모델 식별자가 기술되어 있는 것에 부가하여, 그 아래의 유닛 디렉토리(303)로의 링크가 더 준비되어 있다. 유닛 디렉토리에는 프로토콜을 지정하는 지정자(specifier)(본 실시 형태에서는 IEEE1394를 나타내는 0x5029가 지정된다)와, 프로토콜의 버전, 또한 서비스를 정의하는 피처 디렉토리(304)로의 링크가 포함된다. 피처 디렉토리(304)에는, 논리 디바이스 B가 제공하는 서비스인 서비스 A, B, C가 정의되어 있다.
여기서 주목해야 할 것은, 이니시에이터 유닛 디렉토리 1은 IEEE1394.3이 규정하는 바와 같지만, 이니시에이터 유닛 디렉토리 2, 3에 대해서는 IEEE1394.3이 규정하는 버전의 값이 다르고, 그 이외의 항목은 IEEE1394.3의 규정 그대로이다. 즉, IEEE1394.3이 규정하는 이니시에이터 유닛 디렉토리의 버전의 값은 0이지만 이니시에이터 유닛 디렉토리 2, 3에서는 1이다. 이 버전 번호에 의해, 본래의 IEEE1394.3의 규격인지, 본 실시 형태에서 설명하는 확장 규격인지가 판정 가능해진다.
그리고, 이니시에이터 유닛 디렉토리 3에는 이니시에이터 유닛 디렉토리 2의 특징에 부가하여, DIRECTORY_ID(디렉토리 ID)의 항목이 있다.
또 본 발명의 전제로서, 특별히 한정하지 않는 한, 타깃에는 IEEE1394.3이 규정하는 타깃에 필요한 기능이, 그리고 이니시에이터에는 이니시에이터에 필요한 기능이 실장되어 있는 것으로 한다. 그리고 타깃과 이니시에이터는 IEEE1394로 규정된 회선으로 물리적으로 접속되어 있는 것으로 한다(도 16 참조).
<타깃의 동작>
다음에 본 발명에 따른 타깃의 동작을 도 4A, 도 4B, 도 5A, 도 5B, 도 6A, 도 6B의 흐름도를 이용하여 상세히 설명한다. 처음에 도 4A, 도 4B를 참조하면서 설명한다.
도 4A, 도 4B의 흐름도를 실현하기 위한 프로그램이 타깃의 기기 초기화의 과정에서 기동된 후, 어플리케이션으로부터의 물리 디바이스, 논리 디바이스와 서비스를 지정한 파라미터를 수반한 접속 요구(커넥트의 지시)를 대기하고 있다(S101). 만일 그와 같은 접속 요구를 수신하였으면, 1394 회선 제어부(5)에 현재 1394 회선으로 접속되어 있는 물리 디바이스(물리 노드)를 전부 열거하도록 요구한다(S102). 또, 도 4A에서는 1394 프로토콜 제어부라고 기재되어 있지만, 전부 1394 회선 제어부의 것이다.
1394 회선 제어부(5)가 IEEE1394 회선을 통해 현재 접속되어 있는 물리 디바이스명을 판독한다(S103). 1394 회선 제어부(5)로부터 현재 접속되어 있는 물리 디바이스의 리스트를 수취하면, 그 중에 어플리케이션이 지정한 물리 디바이스가 있는지의 여부를 조사한다(S104). 만일 없으면, 어플리케이션에 지정한 물리 디바이스가 없는 것을 통지한다(S106). 그리고 S101로 되돌아간다.
만일, 물리 디바이스의 리스트에 어플리케이션이 지정한 물리 디바이스가 있으면, 그 물리 디바이스의 루트 디렉토리의 판독을 1394 회선 제어부(5)에 요구한다(S105). 1394 회선 제어부(5)가 읽은 루트 디렉토리 중에 아직 그 속성을 조사하지 않은 인스턴스 디렉토리의 엔트리가 있는지 루트 디렉토리를 조사한다(S107).
모든 인스턴스 디렉토리의 엔트리에 관하여 조사 완료되면, MODELFLG가 ON인지 OFF인지 조사한다(S108). 만일 MODELFLG가 ON이면, IEEE1394.3과 본 발명에 따른 방법 이외의 방법으로 통신(접속)을 할 수 있는 가능성이 있으므로, 만일 가능하다면, 다른 통신 프로토콜(예를 들면, FCP 등)로 접속을 시도한다(도 4B: S109). 그리고 종료 후 S101로 진행한다. 만일 MODELFLG가 OFF이면, 어플리케이션에 지정한 논리 디바이스가 없다는 것을 통지한다(S106). 그리고 S101로 되돌아간다.
한편, 단계 S107에 있어서, 만일 미조사된 인스턴스 디렉토리의 엔트리가 1394 회선 제어부(5)가 읽은 루트 디렉토리에 있으면, 그 중 가장 새로운 어드레스의 인스턴스 디렉토리를 읽도록 1394 회선 제어부(5)에 요구한다(S110). 1394 회선 제어부(5)가 읽어 들인 인스턴스 디렉토리의 모델의 엔트리에 기록되어 있는 모델이 어플리케이션이 커넥트를 요구한 논리 디바이스와 일치하는지의 여부를 조사한다(S111). 만일 일치하지 않으면 S107로 되돌아간다. 만일 일치하면 MODELFLG를 ON으로 한다(S112). MODELFLG는 도 4A, 도 4B의 수순의 프로그램이 기동할 때, OFF로 초기화되어 있는 것으로 한다.
미조사된 유닛 디렉토리의 엔트리가 1394 회선 제어부(5)가 읽은 인스턴스 디렉토리에 있는지를 조사한다(S113). 만일 모든 유닛 디렉토리의 엔트리가 조사되었으면, 이 인스턴스 디렉토리는 본 실시 형태에서 정의하는 수순(프로토콜)에 적합하지 않다고 판단하고 단계 S107로 진행한다.
만일 미조사된 유닛 디렉토리의 엔트리가 1394 회선 제어부(5)가 읽은 인스턴스 디렉토리에 있으면, 그 중의 가장 새로운 어드레스의 유닛 디렉토리를 판독하도록 1394 회선 제어부(5)에 요구한다(S114). 1394 회선 제어부(5)가 읽어 들인 유닛 디렉토리의 지정자 ID의 항목의 값이 0x5029(IEEE1394.3을 작성한 단체의 식별자)인지를 조사한다(S115). 지정자 ID의 항목의 값이 0x5029가 아니면, 이 유닛 디렉토리는 lEEE1394를 지원하지 않는다고 판단하고, S107로 진행한다.
지정자 ID의 항목의 값이 0x5029이면, 1394 회선 제어부(5)가 읽어 들인 유닛 디렉토리의 버전 엔트리의 값을 조사한다(S116). 유닛 디렉토리의 버전 엔트리의 값이 0x00이면, 이 유닛 디렉토리는 IEEE1394.3에 완전 준거하는 것으로 판단하고, 도 5A의 A로 진행한다. 만일 유닛 디렉토리의 버전 엔트리의 값이 0x01이면(S117), IEEE1394.3을 확장한 본 실시 형태에서 정의하는 수순에 따르는 것으로 판단하고, 도 6A의 B로 진행한다. 유닛 디렉토리의 버전 엔트리의 값이 0x00도, 0x01도 아니면, 다른 프로토콜로 통신할 수 있을 가능성이 있기 때문에, 가능하면 그 처리를 행한다(S109).
이와 같이 하여, 타깃은 이니시에이터의 자원을 나타내는 계층적인 구성을 획득하고, 그 자원을 타깃이 원하는 것인지를 판단할 수 있다.
<본 발명에 따른 타깃의 동작>
여기에서는, 이 유닛 디렉토리가 IEEE1394.3을 확장한 규격에 준거하는, 본발명에 따른 타깃의 동작을 도 6A, 도 6B를 이용하여 설명한다.
읽어 들인 유닛 디렉토리에 디렉토리 ID의 엔트리가 있는지의 여부를 조사한다(S301). 만일 디렉토리 ID의 엔트리가 있으면, 그 값을 INS(디렉토리 식별자 저장 장소)에 저장한다(S303). 만일 없으면, 읽어 들인 유닛 디렉토리의 선두 어드레스를 INS에 저장한다(S302).
어플리케이션으로부터 지정된 서비스에 대응한 서비스 ID와 INS에 저장된 유닛 디렉토리에 디렉토리 ID를 포함한 커넥트 컨트롤 요청을 작성한다(S304). 커넥트 컨트롤 요청은 도 9에 도시한 바와 같다. 즉, 선두의 Rq 필드의 값은 요청을 나타내는 "1", ctrl_function 필드의 값은 커넥트인 것을 나타내는 "CONNECT"이고, response 필드에 대해서는, 요청이므로 그 값은 특별히 문제가 되지 않는다. 그 밖의 필드는 도 9에 도시한 바와 같이 된다. 여기서는 커넥트 컨트롤 요청의 서비스 ID를 "PRN"(인쇄)이라고 한다. 또한 DIRECTORY_ID를 여기서는 2F4256이라고 한다. DIRECTORY_ID의 정의는 도 14에 도시한다. 즉, 타깃이 접속을 시도한 이니시에이터 중 유닛 디렉토리를 특정하는 값이다.
그리고, 이전에 해당 이니시에이터의 물리 디바이스와 SBP-2의 로그인이 확립되어 있는지를 조사한다(S305). 만일 확립되어 있지 않으면, 1394 회선 제어부(5)에 IEEE1394.3 규정의 리버스 로그인 처리를 요구한다(S306). 리버스 로그인으로 로그인이 확립 가능하였는지의 여부를 확인하고(S307), 만일 확립 불가능하면, 어플리케이션에 커넥트 실패를 보고하고 단계 S308로 진행한다.
SBP-2의 로그인이 확립되어 있거나, 리버스 로그인 처리가 성공했을 때, 상기한 커넥트 컨트롤 요청(간단히 커넥트라고 함)을 IEEE1394.3 규정의 방법으로 이니시에이터에게 송신하도록 1394 회선 제어부(5)에 요구한다(S309). 그리고 1394 회선 제어부(5)가 해당 이니시에이터의 물리 디바이스로부터 무엇인가 송신되어 오는 것을 대기한다(S310). 1394 회선 제어부(5)가 해당 이니시에이터의 물리 디바이스로부터 무엇인가 수신했을 때, 그것이 커넥트에 대한 응답(간단히 커넥트 응답이라고도 함)인지를 조사한다(S311). 커넥트 응답이 OK이면, 도 11에 도시한 값이 응답된다. 즉, Rq 필드의 값이 "0" ctrl_function 필드의 값이 "CONNECT", response 필드의 값은 OK를 나타내는 "0"이다.
커넥트 컨트롤 요청에 대한 응답이 아니면, 그 커맨드에 대응하는 처리를 행한다(S312). 커넥트 응답이면, 그 결과가 커넥트 OK인지 NG(실패)인지를 응답 항목으로 판정한다(S313). 커넥트가 NG이면, 어플리케이션에 커넥트 실패를 보고하고 단계 S308로 진행한다. 커넥트가 OK이면, 어플리케이션이 요구한 서비스가 이용 가능하게 된 것을 어플리케이션에 보고한다(S314). 그리고 어플리케이션의 지시에 따라, 데이터의 송수신을 행하고(S315), 어플리케이션의 지시에 의해 셧 다운 처리를 행한다(S316).
그 밖에 액티브된 큐가 로그인 상에 존재하는지의 여부를 조사하고(S317), 존재하지 않으면 로그아웃 처리를 1394 회선 제어부(5)에 요구하고(S318), 종료한다. 존재하면 그대로 종료한다.
<IEEE1394.3준거의 타깃의 동작>
이하에서는, 이 유닛 디렉토리가 IEEE1394.3준거일 때의 타깃의 동작을 도 5A, 도 5B를 이용하여 설명한다.
우선 어플리케이션으로부터 지정된 서비스에 대응한 서비스 ID를 포함한 커넥트 컨트롤 요청을 작성한다(S201). 도 8에 그 내용을 도시한다. ctrl_function 필드가 커넥트 컨트롤 요청을 나타내는 "CONNECT"이고, 남은 필드는 도시한 바와 같다. 여기서는 서비스 ID를 "PRN"으로 한다.
그리고, 이전에 해당 이니시에이터의 물리 디바이스와 SBP-2의 로그인이 확립되어 있는지를 조사한다(S202). 만일 확립되어 있지 않으면, 1394 회선 제어부(5)에 IEEE1394.3 규정의 리버스 로그인 처리를 요구한다(S203). 만일 리버스 로그인으로 로그인이 확립 가능하였는지의 여부를 확인하고(S204), 만일 확립 불가능하면 어플리케이션에 커넥트 실패를 보고하고 단계 S205로 진행한다.
SBP-2의 로그인이 확립되어 있거나, 리버스 로그인 처리가 성공했을 때, 단계 S201에서 작성한 커넥트 컨트롤 요청을 IEEE1394.3 규정의 방법으로 이니시에이터에게 송신하도록 1394 회선 제어부(5)에 요구한다(S206). 그리고 1394 회선 제어부(5)가 해당 이니시에이터의 물리 디바이스로부터 무엇인가 송신되어 오는 것을 대기한다(S207). 1394 회선 제어부(5)가 해당 이니시에이터의 물리 디바이스로부터 무엇인가 수신했을 때, 그것이 커넥트 응답인지를 조사한다(S208).
커넥트 응답이면, 도 11의 응답이 회신된다. 커넥트 응답이 아니면, 그 커맨드에 대응하는 처리를 행한다(S209). 커넥트 응답이면, 그 결과가 커넥트 OK인지 NG(실패)인지를 응답 항목으로 판정한다(S210). 커넥트가 NG 이면, 어플리케이션에 커넥트 실패를 보고하고 S205로 진행한다. 커넥트가 OK이면, 어플리케이션이 요구한 서비스가 이용 가능하게 된 것을 어플리케이션에 보고한다(S211). 그리고 어플리케이션의 지시에 따라, 데이터의 송수신을 행하고(S212), 어플리케이션의 지시에 의해 셧 다운 처리를 행한다(S213).
그 밖에 액티브된 큐가 로그인 상에 존재하는지의 여부를 조사하고(S214), 존재하지 않으면 로그아웃 처리를 1394 회선 제어부(5)에 요구하고(S215), 종료한다. 존재하면 그대로 종료한다.
<이니시에이터의 동작>
다음에 본 발명에 따른 이니시에이터의 동작을 도 7A 내지 도 7C를 이용하여 설명한다. 이니시에이터는 본 발명을 포함하는 기기가 초기화되었을 때, 동시에 기동, 초기화되는 것으로 한다. 또한, SBP-2로 규정되어 있는 로그인의 동작은 1394 회선 제어부(15)가 제어하기 때문에, 여기서는 상세히 설명하지 않는다.
우선 1394 회선 제어부(15)로부터 본 발명에 관한 데이터를 해당 타깃 기기로부터 수신하는 것을 대기한다(S401). 그리고 수신한 데이터가 큐 0에 관한 것인지의 여부를, 대응하는 ORB의 큐의 항목(IEEE1394.3으로 규정)을 조사한다(S402). 만일 큐 0에 관한 것이 아니면, 그 큐 번호에 대응하는 처리(IEEE1394.3으로 규정)를 행하고(S403), S401로 진행한다.
큐0에 관한 것이면, 그 컨트롤 인포메이션의 ctrl_function의 항목(도 8, 도 9 참조)이 커넥트인지의 여부를 조사한다(S404). 커넥트가 아니면, 지정된 컨트롤 function에 대응하는 처리(IEEE1394.3으로 규정)를 행하고(S405-1), S401로 진행한다.
그 컨트롤 인포메이션의 ctrl_function의 항목(도 8, 도 9 참조)이 커넥트이면, 그 컨트롤 인포메이션의 Rq의 항목을 조사한다(S405-2). Rq의 항목이 응답이면 대응하는 처리(IEEE1394.3으로 규정)를 행하고(S406), S401로 진행한다.
만일 그 컨트롤 인포메이션의 Rq의 항목이 요청이면, 컨트롤 인포메이션에 DIRECTORY_ID의 항목(도 8, 도 9, 도 14 참조)이 있는지의 여부를 조사한다(S407).
만일 DIRECTORY_ID의 항목이 있으면, 그 밖의 파라미터는 IEEE1394.3의 커넥트 컨트롤에서 규정되어 있는대로 파라미터인지의 여부를 조사한다(S408). 만일 규정 이외의 것이면 대응하는 에러 처리를 행하고(S409), S401로 진행한다.
단계 S408에서, 만일 DIRECTORY_ID의 항목 이외의 모든 파라미터가 IEEE1394.3의 커넥트 컨트롤에서 규정되어 있는 것이면, DIRECTORY_ID의 항목으로 지정되어 있는 디렉토리 ID와 동일한 값의 디렉토리 ID를 갖는 유닛 디렉토리가 이니시에이터 내에 존재하는지의 여부를 조사한다(S411). 만일 DIRECTORY_ID와 동일한 값의 디렉토리 ID를 갖는 유닛 디렉토리가 이니시에이터 내에 존재하지 않으면, DIRECTORY_ID의 값을 선두 어드레스에 갖는 유닛 디렉토리가 이니시에이터 내에 존재하는지의 여부를 조사한다(S412). DIRECTORY_ID의 값을 선두 어드레스에 갖는 유닛 디렉토리가 이니시에이터 내에 존재하지 않으면, 커넥트 응답의 파라미터에 "지정된 유닛은 존재하지 않음"을 설정한다(도 15, 도 12 참조)(S413). 그리고 S422로 진행한다.
단계 S422에서는, 지정된 커넥트 응답의 파라미터를 포함하는 커넥트 응답을 작성한다. 그리고 1394 회선 제어부(15)에 작성한 커넥트 응답을 송신하도록 요구한다(S423). 그리고 S429로 진행한다.
단계 S411에서, DIRECTORY_ID의 항목으로 지정되어 있는 디렉토리 ID와 동일한 값의 디렉토리 ID를 갖는 유닛 디렉토리가 이니시에이터 내에 존재하거나, 또는 DIRECTORY_ID의 값을 선두 어드레스에 갖는 유닛 디렉토리가 이니시에이터 내에 존재하면, DIRECTORY_ID가 가리키는 유닛 디렉토리가 도 17에 도시한 바와 같은 디렉토리의 내용을 갖는지를 조사한다(S414). 만일 다르면, 커넥트 응답의 파라미터에 "지정된 유닛은 존재하지 않음"을 설정한다(도 15, 도 12 참조)(S413). 그리고 S422로 진행한다. 도 17은 본 발명에 따른 유닛 디렉토리의 내용을 도시하고, 지정자 ID 및 버전의 각 엔트리가 필수이고, 디렉토리 ID와, 제공 가능한 서비스를 정의하는 피처 디렉토리가 필요에 따라 부가된다. 도 23은 각 엔트리에 대응하는 코드를 도시하고 있다. 도 23과 같이, 지정자 ID는 12(16진), 버전은 13(16진), 피처 디렉토리 오프셋은 9A(16진)로 표시된다. 또한, 지정자 ID 및 버전 각각의 엔트리에 대해서는 005029(16진), 000001(16진)이라는 값으로 고정되어 있다.
단계 S414에서, 만일 DIRECTORY_ID가 가리키는 유닛 디렉토리가 본 실시 형태에서 설명하는 디렉토리의 내용, 즉 도 17에 도시한 바와 같은 엔트리를 갖는 것이면, 커넥트 컨트롤에서 지정된 서비스 ID로 요구된 서비스를, 지정된 DIRECTORY_ID가 가리키는 유닛 디렉토리에 대응하는 유닛(논리 디바이스)이 지원하고 있는지의 여부를 조사한다(S415). 만일 지원하고 있지 않으면, 커넥트 응답의 파라미터에 "지정된 서비스를 지정된 유닛은 지원하고 있지 않음"을 설정하고(도 15, 도 13 참조)(S416), S422로 진행한다.
단계 S407에서, 만일 디렉토리 ID의 항목이 없으면, IEEE1394.3의 커넥트 컨트롤에서 규정되어 있는 바와 같은 파라미터가 있는지를 조사한다(S410). 만일 규정 이외의 것이면 대응하는 에러 처리를 행하고 S421로 진행한다. 모든 파라미터가 규정되어 있는 것이면, 커넥트 컨트롤에서 지정된 서비스 ID로 요구된 서비스를 이니시에이터는 지원하고 있는지의 여부를 조사한다(S417).
지원하고 있는 경우에는, 커넥트 컨트롤에서 지정된 서비스 ID로 요구된 서비스가 필요로 하는 큐의 성격, 수가 커넥트 컨트롤의 큐 필드에서 지정된 것과 합치하는지의 여부를 조사한다(S418). 그리고 합치하지 않으면, 커넥트 응답의 파라미터에 "미스매치"를 설정하고(도 15, 도 10 참조)(S419), S422로 진행한다.
한편 단계 S418에 있어서, 만일 커넥트 컨트롤에서 지정된 서비스 ID로 요구된 서비스가 필요로 하는 큐의 성격, 수가 커넥트 컨트롤의 큐 필드에서 지정된 것과 합치하고 있으면, 서비스를 요구받은 서버는 지정된 서비스를 제공하는지의 여부를 조사한다(S420). 만일 접속하지 않은 것이면, 커넥트 응답의 파라미터에 "접속 거부"를 설정한다(도 15, 도 19 참조)(S421). 그리고 S422로 진행한다.
서비스를 요구받은 서버는 지정된 서비스를 제공하는 것이면, 커넥트 응답의 파라미터에 "접속 OK"를 설정한다(도 15, 도 11 참조)(S424). 그리고 S425로 진행한다.
지정된 커넥트 응답의 파라미터를 포함하는 커넥트 응답을 작성한다(S425). 그리고 1394 회선 제어부(15)에 작성한 커넥트 응답을 송신하도록 요구한다(S426). 그리고 클라이언트의 요구에 따라 1394 회선 제어부(15)를 통해 이니시에이터와 타깃 사이에서 데이터의 송수신을 IEEE1394.3으로 규정된 방법으로 행한다(S427). 서비스가 종료되면 클라이언트의 요구에 따라, IEEE1394.3으로 규정된 방법으로 셧 다운 처리를 행한다(S428). 또, 클라이언트란, 타깃을 통해 이니시에이터에 서비스를 요구하는 어플리케이션을 가리킨다. 즉, 도 5B의 단계 S212, S213, 혹은 도 6B의 단계 S315, S316에서의 처리에 대응하여, 단계 S427, S428의 처리는 행해진다. 단계 S427에 있어서는, 데이터의 송수신이 행해짐과 함께, 타깃으로부터 지정된 서비스가 이니시에이터에 의해서 제공된다. 그 때, 타깃으로부터, 이니시에이터에 의해 관리되고 있는 논리 디바이스 및 그 논리 디바이스에 의해 지원되는 서비스가 지정되어 있으면, 지정된 논리 디바이스에 의한 지정된 서비스가 제공된다.
예를 들면, 타깃으로부터 이니시에이터에 대하여 발행하는 커넥트 컨트롤 펑션의 DEVICE_ID 필드에서, 도 3B의 논리 프린터 B의 유닛 디렉토리(303)의 어드레스를 지정하고, 논리 프린터 B가 지원하는 서비스인 「인쇄」를 지정하면, 타깃과 이니시에이터 사이에 커넥션이 확립된다. 그 후, 이니시에이터는 타깃에 대하여 버퍼를 제공하고, 타깃으로부터 그 버퍼에 기입되는 데이터를 읽어, 그 데이터에 기초하여 인쇄라는 서비스를 수행하게 된다.
그 후, 그 로그인 내에 큐 0 이외의 액티브된 큐가 있는지의 여부를 조사하고(S429), 만일 있으면 단계 S401로 진행한다. 없으면 SBP-2로 규정되어 있는 로그아웃 처리를 행하고, 종료한다(S430).
단계 S410에서 파라미터가 정상이 아니라고 판정된 경우, 혹은 단계 S417에 있어서 지정된 서비스를 이니시에이터가 제공하고 있지 않다고 판정된 경우에는, 각각에 대응하는 처리를 행하고(S410-1), 단계 S419로 진행한다.
이상의 수순에 의해, 이니시에이터에서의 컨피그레이션 ROM에 의해, 이니시에이터의 논리 디바이스마다 각 논리 디바이스에서 사용 가능한 서비스를 관리함으로써, 타깃과 이니시에이터와의 커넥션을 타깃으로부터 이니시에이터의 논리 디바이스 및 서비스를 지정하여 확립할 수 있다. 또한, 타깃은 지정한 논리 디바이스에 의해 서비스의 제공을 받을 수 있다.
이상의 구성 및 수순에 의해, IEEE1394.3가 규정하는 이니시에이터의 역할을 갖는 하나의 노드가 복수의 인스턴스를 가질 때, 각각의 인스턴스와 서비스의 관계를 표현할 수 있고, 또한 하나의 노드 내의 복수의 인스턴스가 동일한 서비스 ID의 서비스를 제공하고 있을 때에도, 그 서비스 ID가 저장되어 있는, 피처 디렉토리, 유닛 디렉토리의 적어도 어느 한쪽의 디렉토리 ID를 지정함으로써 어느 인스턴스가 제공하고 있는 서비스의 서비스 ID인지를 특정하여 표현할 수 있다.
이에 따라 회선으로 접속되어 있는, 본 발명을 지원하고 있는 다른 노드는 서비스 ID로 공개되어 있는 서비스가 어느 인스턴스에 의해 제공되고 있는지를 이해할 수 있게 된다. 구체적으로, 다기능 주변 기기 등의 대응이 가능하게 된다.
또한, 기존의 IEEE1394.3으로 이니시에이터용 유닛 디렉토리라고 규정된 유닛 디렉토리와, 본 발명에서 규정된 유닛 디렉토리가 혼재하고 있는 경우에도, 하나의 노드에 대하여, 하나의 인스턴스로 제한하는 것뿐이지만, 기존의 IEEE1394.3과의 하위 호환이 가능하게 된다.
[제2 실시 형태]
제1 실시 형태에서는 본 발명에서 규정된 유닛 디렉토리만으로 구성되는 케이스에 대하여 설명하였지만, 본 실시 형태에서는 기존의 IEEE1394.3으로 이니시에이터용 유닛 디렉토리라고 규정된 유닛 디렉토리와 본 발명에서 규정된 유닛 디렉토리가 혼재하고 있지 않을 때의 예를 도시한다. 도 24는 그 경우의 계층 구조를 도시하는 도면이다.
이렇게 함에 따라, 하나의 노드에 대하여 하나의 인스턴스로 제한하는 것뿐이지만 기존의 IEEE1394.3의 하위 호환이 가능하게 된다.
이상 설명한 바와 같이, IEEE1394.3이 규정하는 이니시에이터의 역할을 갖는 하나의 노드가 복수의 인스턴스를 가질 때, 각각의 인스턴스와 서비스의 관계를 표현할 수 있고, 또한 하나의 노드 내의 복수의 인스턴스가 동일한 서비스 ID의 서비스를 제공하고 있을 때에도, 그 서비스 ID가 저장되어 있는, 피처 디렉토리, 유닛 디렉토리의 적어도 어느 한쪽의 디렉토리 ID를 지정함으로써, 어느 인스턴스가 제공하고 있는 서비스의 서비스 ID인지를 특정하여 표현할 수 있다.
이에 따라 회선으로 접속되어 있는, 본 발명을 지원하고 있는 다른 노드는 서비스 ID로 공개되어 있는 서비스가 어느 인스턴스에 의해 제공되고 있는지를 이해할 수 있게 된다. 구체적으로 다기능 주변 기기 등의 대응이 가능하게 된다.
또한, 기존의 IEEE1394.3으로 이니시에이터용 유닛 디렉토리라고 규정된 유닛 디렉토리와 본 발명에서 규정된 유닛 디렉토리가 혼재하고 있는 경우에도, 하나의 노드에 대하여, 하나의 인스턴스로 제한하는 것뿐이지만, 기존의 IEEE1394.3과의 하위 호환이 가능해진다.

Claims (18)

  1. 통신 회선을 통하여 IEEE1394.3에서의 타겟으로서의 다른 기기와 통신가능한 IEEE1394.3에서의 이니시에이터로서의 통신 제어 장치로서,
    상기 통신 제어 장치가 제공가능한 기능을 나타내는 정보를 기억하는 기억 수단과,
    상기 다른 기기에 의해 지정된 어드레스에 따라, 해당 어드레스의 데이터를 상기 다른 기기로 통신하는 통신 수단을 포함하고,
    상기 기억 수단은 상기 통신 회선을 통하여 판독가능하게, 상기 통신 수단에 의한 통신 프로토콜 능력에 의존하는 속성을 포함하는 IEEE1212R에 의해 규정되어 있는 유닛 디렉토리를 2개 이상 기억하는 것을 특징으로 하는 통신 제어 장치.
  2. 제1항에 있어서,
    상기 통신 프로토콜 능력에 의존하는 속성을 2개 이상 기술하는 것이 허용되어 있지 않은 프로토콜을 채용하고 있고, 2개 이상의 통신 프로토콜 능력에 의존하는 속성을 기술하고자 하는 경우, 상기 기억 수단에 기억되어 있는 2개 이상의 유닛 디렉토리 각각의 일부를 이용하며, 2개 이상의 통신 프로토콜 능력에 의존하는 속성의 기술을 가능하게 하는 것을 특징으로 하는 통신 제어 장치.
  3. 제2항에 있어서,
    IEEE1394.3이 상기 통신 프로토콜로서 사용되고, 상기 통신 제어 장치가 이니시에이터인 경우, 2개 이상의 통신 프로토콜 능력에 의존하는 디바이스 속성의 기술을 가능하게 하는 속성 항목으로서 IEEE1212R로 규정되어 있는 유닛 디렉토리 내의 버전 항목을 이용하는 것을 특징으로 하는 통신 제어 장치.
  4. 통신 회선을 통하여 다른 기기와 통신가능한 통신 제어 장치로서,
    통신 프로토콜에 의존하는 속성을 표현하는, IEEE1212R에 의해 규정되어 있는 유닛 디렉토리를 기억하는 기억 수단과,
    상기 다른 기기에 의해 지정된 어드레스에 따라, 상기 기억 수단의 데이터를 상기 다른 기기에 통신하는 통신 수단을 포함하고,
    상기 기억 수단은, 상기 통신 프로토콜에 의존하는 속성이 복수인 경우에는 버전 항목도 포함하여 IEEE1394.3이 규정하는 바와 같이 기술한 상기 유닛 디렉토리를 하나 기억하고, 버전 항목의 값이 IEEE1394.3의 규정과는 상이한 특정 값이며, 그 이외는 IEEE1394.3의 규정대로인 상기 유닛 디렉토리를 하나 또는 복수 기억하는 것을 특징으로 하는 통신 제어 장치.
  5. 제4항에 있어서,
    IEEE1394.3에 따르는 타겟과도 통신을 할 가능성이 있는 통신 프로토콜에 의존하는 유일한 속성에 대응하는 유닛 디렉토리를, 버전 항목도 포함시켜 IEEE1394.3이 규정하는 바와 같이 기술하고, 그 이외의 속성을 버전 항목의 값만이 IEEE1394.3의 규정과는 상이한 특정 값을 갖고, 그 이외는 IEEE1394.3의 규정대로인 유닛 디렉토리로 기술하는 것을 특징으로 하는 통신 제어 장치.
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 통신 회선을 통하여 IEEE1394.3에서의 이니시에이터로서의 제1 기기와 IEEE1394.3에서의 타겟으로서의 제2 기기간의 통신 제어 방법으로서,
    어드레스를 제2 기기로부터 제1 기기에 대하여 지정하는 지정 단계와,
    상기 제2 기기에 의해 지정된 어드레스에 따라, 상기 제1 기기의 메모리에서의 데이터를 상기 제1 기기로부터 상기 제2 기기로 통신하는 통신 단계를 포함하고,
    상기 제1 기기는 상기 통신 회선을 통하여 판독가능하게, 상기 통신 단계에 의한 통신 프로토콜 능력에 의존하는 속성을 포함하는 IEEE1212R에 의해 규정되어 있는 유닛 디렉토리를 2개 이상 기억하고 있는 것을 특징으로 하는 통신 제어 방법.
  12. 컴퓨터를 제1항에 기재된 각 수단으로서 기능시키기 위한 컴퓨터 프로그램을 저장하는 것을 특징으로 하는 컴퓨터 판독가능 메모리.
  13. 통신 회선을 통하여 접속된 IEEE1394.3에서의 타겟으로서의 기기에 대하여, 요구된 서비스를 제공하기 위한 IEEE1394.3에서의 이니시에이터로서의 통신 제어 장치로서,
    복수의 서비스 제공 디바이스와,
    상기 복수의 서비스 제공 디바이스의 각각에 의해 제공되는 서비스에 대한 정보를, 상기 통신 회선을 통해 다른 기기로부터 판독가능하게 기억하는 기억 수단을 포함하고,
    상기 서비스에 대한 정보는, 상기 복수의 서비스 제공 디바이스마다 계층적인 트리 구조로 구성하는 것을 특징으로 하는 통신 제어 장치.
  14. 삭제
  15. 삭제
  16. 삭제
  17. 통신 회선을 통하여 타겟으로서의 다른 기기에 어드레스를 통지하고, 메모리의 데이터를 상기 다른 기기에 취득시키는 이니시에이터로서의 통신 제어 장치로서,
    상기 다른 기기에 의해 지정된 상기 어드레스에 따라, 상기 메모리의 데이터를 상기 다른 기기에 통신하는 통신 수단과,
    상기 통신 수단에 의한 통신 프로토콜 능력에 의존하는 속성을 포함하는 유닛 디렉토리를 2개 이상 기억하는 기억 수단을 포함하는 것을 특징으로 하는 통신 제어 장치.
  18. 통신 회선을 통하여 타겟으로서의 제2 기기에 어드레스를 통지하고, 메모리의 데이터를 해당 제2 기기에 취득시키는 이니시에이터로서의 제1 기기와 상기 제2 기기간의 통신 제어 장치로서,
    상기 어드레스를 상기 제2 기기로부터 상기 제1 기기에 대하여 지정하는 지정 단계와,
    상기 제2 기기에 의해 지정된 어드레스에 따라, 상기 제1 기기의 상기 메모리에서의 데이터를 상기 제1 기기로부터 상기 제2 기기로 통신하는 통신 단계를 포함하고,
    상기 제1 기기는 상기 통신 단계에 의한 통신 프로토콜 능력에 의존하는 속성을 포함하는 유닛 디렉토리를 2개 이상 기억하고 있는 것을 특징으로 하는 통신 제어 방법.
KR10-2002-7008592A 2000-10-31 2001-10-30 통신 제어 장치 및 방법 KR100501856B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2000-00332891 2000-10-31
JP2000332891A JP4683587B2 (ja) 2000-10-31 2000-10-31 通信制御装置及び方法

Publications (2)

Publication Number Publication Date
KR20020069232A KR20020069232A (ko) 2002-08-29
KR100501856B1 true KR100501856B1 (ko) 2005-07-20

Family

ID=18809040

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-7008592A KR100501856B1 (ko) 2000-10-31 2001-10-30 통신 제어 장치 및 방법

Country Status (8)

Country Link
US (1) US7363405B2 (ko)
EP (1) EP1241834B1 (ko)
JP (1) JP4683587B2 (ko)
KR (1) KR100501856B1 (ko)
CN (1) CN100484070C (ko)
AT (1) ATE367037T1 (ko)
DE (1) DE60129296D1 (ko)
WO (1) WO2002037769A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8254372B2 (en) * 2003-02-21 2012-08-28 Genband Us Llc Data communication apparatus and method
DE10335572A1 (de) * 2003-07-31 2005-03-17 Deutsche Thomson-Brandt Gmbh Netzwerkteilnehmerstation für ein Netzwerk verteilter Stationen und Verfahren zum Betreiben einer Netzwerkteilnehmerstation
ATE385361T1 (de) * 2003-12-15 2008-02-15 Alcatel Lucent Verfahren zum reaktivieren einer mehrzahl deaktivierter geräte, ein entsprechendes netzwerkelement und eine entsprechende aktivierungseinrichtung
US7990865B2 (en) 2004-03-19 2011-08-02 Genband Us Llc Communicating processing capabilities along a communications path
US8027265B2 (en) * 2004-03-19 2011-09-27 Genband Us Llc Providing a capability list of a predefined format in a communications network
AR051679A1 (es) * 2004-11-24 2007-01-31 Qualcomm Inc Formato de mensaje para dispositivo de interfaz de datos digitales
US7660922B2 (en) * 2006-05-12 2010-02-09 Intel Corporation Mechanism to flexibly support multiple device numbers on point-to-point interconnect upstream ports
EP2108193B1 (en) 2006-12-28 2018-08-15 Genband US LLC Methods, systems, and computer program products for silence insertion descriptor (sid) conversion
US8570441B2 (en) * 2008-06-11 2013-10-29 Microsoft Corporation One pass video processing and composition for high-definition video
US8908541B2 (en) * 2009-08-04 2014-12-09 Genband Us Llc Methods, systems, and computer readable media for intelligent optimization of digital signal processor (DSP) resource utilization in a media gateway

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63205747A (ja) * 1987-02-13 1988-08-25 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン 通信方法及びデータ処理システム
JP2916828B2 (ja) 1991-08-07 1999-07-05 太平洋工業株式会社 クロスフローファンおよびその組立方法
US5809331A (en) 1996-04-01 1998-09-15 Apple Computer, Inc. System for retrieving configuration information from node configuration memory identified by key field used as search criterion during retrieval
US5968152A (en) * 1996-04-10 1999-10-19 Apple Computer, Inc. Method and apparatus for extending key space in a plug and play ROM
CN1167230A (zh) 1996-06-04 1997-12-10 王光先 民用轻质油汽化燃烧装置
JPH1023097A (ja) * 1996-07-09 1998-01-23 Nec Commun Syst Ltd 複数プロトコルバージョン対応方法
US5991842A (en) 1996-08-27 1999-11-23 Canon Kabushiki Kaisha Communication system for providing digital data transfer, electronic equipment for transferring data using the communication system, and an interface control device
US6523696B1 (en) 1996-10-15 2003-02-25 Kabushiki Kaisha Toshiba Communication control device for realizing uniform service providing environment
DE69840972D1 (de) 1997-02-14 2009-08-27 Canon Kk Vorrichtung, System und Verfahren zur Datenübertragung und Vorrichtung zur Bildverarbeitung
EP0859326A3 (en) 1997-02-14 1999-05-12 Canon Kabushiki Kaisha Data transmission apparatus, system and method, and image processing apparatus
JP3927647B2 (ja) 1997-04-21 2007-06-13 キヤノン株式会社 情報処理装置、情報処理方法及び情報処理システム
US6003065A (en) 1997-04-24 1999-12-14 Sun Microsystems, Inc. Method and system for distributed processing of applications on host and peripheral devices
EP1015962B2 (en) 1997-06-25 2006-11-02 Samsung Electronics Co., Ltd. Method for creating home network macros
EP0939517A4 (en) 1997-08-04 2006-01-04 Matsushita Electric Ind Co Ltd POWER CONTROL SYSTEM
JP4537502B2 (ja) * 1997-11-20 2010-09-01 富士フイルム株式会社 画像データ通信システムおよび画像データ通信方法ならびに画像データ通信システムを構成するディジタル・カメラおよび画像データ送信方法
US6160796A (en) 1998-01-06 2000-12-12 Sony Corporation Of Japan Method and system for updating device identification and status information after a local bus reset within a home audio/video network
ES2546173T3 (es) 1998-03-13 2015-09-21 Canon Kabushiki Kaisha Aparato y procedimiento para el procesamiento de la información
EP0944081B1 (en) 1998-03-17 2009-05-13 Panasonic Corporation Data transmission apparatus and method thereof using command adapted thereto
US6788882B1 (en) 1998-04-17 2004-09-07 Timesurf, L.L.C. Systems and methods for storing a plurality of video streams on re-writable random-access media and time-and channel- based retrieval thereof
EP1093319A4 (en) * 1998-06-30 2005-08-10 Matsushita Electric Ind Co Ltd NETWORK CONTROL SYSTEM AND METHOD THEREFOR
JP2000187934A (ja) * 1998-09-01 2000-07-04 Sony Corp 情報処理装置および方法、並びに媒体
US6185632B1 (en) * 1998-10-19 2001-02-06 Hewlett-Packard Company High speed communication protocol for IEEE-1394 including transmission of request and reply writes to a datagram-FIFO-address to exchange commands to end a job
JP2000253463A (ja) * 1999-02-26 2000-09-14 Matsushita Electric Ind Co Ltd ネットワーク制御システム及びこのネットワーク制御システムに用いるターゲット、コントローラ、並びにコンシューマ
CN1148041C (zh) 1999-01-22 2004-04-28 松下电器产业株式会社 网络控制系统及其控制器、目标及消费器
JP2000341302A (ja) 1999-05-27 2000-12-08 Sony Corp 電子機器
US6775244B1 (en) 1999-06-21 2004-08-10 Intel Corporation Gathering of device discovery information
US6801507B1 (en) 1999-07-27 2004-10-05 Samsung Electronics Co., Ltd. Device discovery and configuration in a home network
US8032833B1 (en) 1999-07-27 2011-10-04 Samsung Electronics Co., Ltd. Home network device information architecture
JP3365377B2 (ja) 1999-08-12 2003-01-08 セイコーエプソン株式会社 ログイン装置、被ログイン装置、及び装置間通信システム、ログイン制御方法、並びに記録媒体
JP2001086195A (ja) * 1999-09-14 2001-03-30 Sony Corp 電子機器
US6671768B1 (en) 1999-11-01 2003-12-30 Apple Computer, Inc. System and method for providing dynamic configuration ROM using double image buffers for use with serial bus devices
US6813663B1 (en) * 1999-11-02 2004-11-02 Apple Computer, Inc. Method and apparatus for supporting and presenting multiple serial bus nodes using distinct configuration ROM images
JP2001148706A (ja) * 1999-11-18 2001-05-29 Canon Inc 情報処理装置およびその方法、並びに、記憶媒体
US6697884B1 (en) 2000-01-03 2004-02-24 Genesis Microchip, Inc. Communication protocol for serial peripheral devices
US6723496B2 (en) 2000-02-22 2004-04-20 Fuji Photo Film Co., Ltd. Silver halide photographic material
US6725311B1 (en) 2000-09-14 2004-04-20 Microsoft Corporation Method and apparatus for providing a connection-oriented network over a serial bus
JP2002118558A (ja) 2000-10-10 2002-04-19 Sony Corp 情報処理装置および方法、並びにプログラム格納媒体
US6907301B2 (en) 2000-10-16 2005-06-14 Sony Corporation Method and system for selecting and controlling devices in a home network
JP4484353B2 (ja) 2000-10-31 2010-06-16 キヤノン株式会社 通信制御装置及びその制御方法及び通信システム
US6760804B1 (en) 2001-09-11 2004-07-06 3Com Corporation Apparatus and method for providing an interface between legacy applications and a wireless communication network

Also Published As

Publication number Publication date
EP1241834A4 (en) 2006-01-11
DE60129296D1 (de) 2007-08-23
KR20020069232A (ko) 2002-08-29
CN100484070C (zh) 2009-04-29
EP1241834B1 (en) 2007-07-11
CN1394413A (zh) 2003-01-29
JP4683587B2 (ja) 2011-05-18
US7363405B2 (en) 2008-04-22
WO2002037769A8 (fr) 2002-12-12
ATE367037T1 (de) 2007-08-15
US20030005106A1 (en) 2003-01-02
WO2002037769A1 (fr) 2002-05-10
EP1241834A1 (en) 2002-09-18
JP2002141966A (ja) 2002-05-17

Similar Documents

Publication Publication Date Title
US10620691B2 (en) Data processing apparatus, information processing method, and storage medium
US6839771B1 (en) Method and system for using a universal serial bus (USB) as a peer-to-peer network
US20030054821A1 (en) Manager for controlling wireless network, processing device, device and medium
JPH1153139A (ja) ネットワークシステム、ネットワーク管理方法、インターフェース装置、インターフェース装置を動作させるためのプログラムが記録された記録媒体及び端末装置
WO2006030924A1 (en) Electronic apparatus, electronic apparatus system, control method and computer-readable storage medium
US7337238B2 (en) Information processing apparatus, information processing method, and medium storing therein program for executing the method
KR100501856B1 (ko) 통신 제어 장치 및 방법
US8638459B2 (en) Image forming apparatus to support wired and wireless network interfaces and network connection method of the image forming apparatus
WO2005088422A1 (en) Information processor, method for controlling the same, and image forming system
US20050138231A1 (en) Information processing device, information processing system, transmission rate setting method, transmission rate setting computer program, and storage medium containing computer program
KR100455868B1 (ko) 통신 시스템 및 통신 제어 장치 및 방법
JP2001053925A (ja) 通信制御装置及びシリアルバス管理装置
CN100476714C (zh) 在家庭网络中处理打印操作的设备、系统和方法
JP5581470B2 (ja) デバイス共有システム、デバイス共有サーバ、デバイス共有クライアント、およびデバイス共有方法
US8291089B2 (en) Image processing device, control method therefor, and program
US6377977B1 (en) Method for loading application program and opening files in host terminals before collaborating on a joint project
KR100325816B1 (ko) 네트워크 프린터의 인쇄방법
JPH06175957A (ja) 周辺機器制御装置
JP3638175B2 (ja) 通信アクセス制御装置
JP2008310532A (ja) コマンド実行方法及びミドルデバイス
CN116471162A (zh) 通信方法及装置
JPH07105119A (ja) 周辺機器制御装置
JP2000181662A (ja) 分散印刷システムおよびアプリケーションサーバ装置ならびに印刷サーバ装置
JPH04151939A (ja) Mms通信インタフェースを備えたfa機器及びその通信方法
JPH07162483A (ja) 通信ネットワ−クシステム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130626

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20140625

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20150625

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee