상기 실시예가 IEEE 1394 버스를 연결하는 ETSI BRAN 하이퍼랜 2 무선 링크의 사용에 기초하지만, 링크 또는 서브네트워크에 대해 다른 기술이 사용될 수 있다. 링크에 대한 다른 기술의 한 예는 인터넷 프로토콜('IP': Internet Protocol)이다. 또한, 유선 버스들 사이의 링크가 반드시 무선일 필요는 없지만, 후술되는 실시예에서는 무선 링크이다.
독자는 전기 전자 엔지니어 협회(IEEE: Institute of Electrical and Electronic Engineers)에 의해 발행된 표준화 문서, 특히 문서 A: IEEE 1394-1995 및 문서 B: IEEE 1394a-2000에서 IEEE 1394 버스와 관련된 더 많은 정보를 찾을 수 있다. 하이퍼랜 2는 유럽 전기통신 표준 협회(ETSI: European Telecommunications Standards Institute)에 의해 정의된 광대역 라디오 액세스 네트워크(BRAN: Broadband Radio Access Network)이다.
하이퍼랜 2를 이용한 IEEE 1394 네트워크의 연결에 관한 정보는 특히 문서 C: ETSI TS 101 493-3 V1.2.1B(2001-010) - 기술 명세 - BRAN - 하이퍼랜 유형 2 - 패킷 기반 수렴층 - 파트 3: IEEE 1394 서비스 특정 수렴 하위층(SSCS: Service Specific Convergence Sublayer), 및 문서 D: ETSI TS 101 493-4 V1.1.1(2001-07) - 기술 명세 - BRAN - 하이퍼랜 유형 2 - 패킷 기반 수렴층 - 파트 4: IEEE 1394 브리지 특정 기능 하위층에서 찾을 수 있다.
배경 정보를 위한 마지막 문서는 문서 E: 국제 전기표준 회의에 의해 출판된 IEC 61883 'Digital Interface for Consumer Audio/Video Equipment'이다. 특히 제 1 부는 수화자(listener) 및 송화자(talker) 디바이스의 입력 플러그와 출력 플러그 사이의 연결의 설정을 설명한다.
도 2는 유선 IEEE 1394 버스를 각각 포함하는 3개의 IEEE 1394 버스(또한 디바이스 클러스터 또는 서브네트워크라고 함)(201,202 및 211), 복수의 디바이스{각각 노드(203,204,209), 노드(205,206,210) 및 노드(212)} 및 무선 하이퍼랜 2 링크로의 하이퍼랜 2(HL2) 노드 또는 '포탈'{각각의 버스에서, 각각 207, 208 및 213}로 형성된 네트워크를 나타낸다. 노드는 IEEE 1394 디바이스이다. 본 설명을 위해서, 적어도 노드(209)의 애플리케이션은 무선 링크의 존재 및 속성을 알고 있다.
본 실시예에 따르면, HL2 노드(207,208,213)는, 또한 그 각각의 버스상의 노드인 것으로 간주된다는 관점에서, 다른 디바이스에 대해 투명하지 않다. 즉, 상기 HL2 노드들은 버스 리셋 이후에 물리적 식별자를 부여받는다. 그러나, IEEE 1394 층 레벨에서, 상기 링크는 투명하다: 모든 노드가 단일 버스상에 있는 것으로 간주되고, 따라서 물리적 식별자가 리셋 이후에 부여된다. HL2 노드(207,208)는 버스 리셋이 수행될 때 그 각각의 클러스터상의 노드를 나타내기 위해서 자체 식별 패킷(self identification packet)을 송출한다.
각각의 노드는 IEEE 1394 소프트웨어 스택, 즉 물리층, 링크층 및 트랜잭션층 뿐만 아니라 애플리케이션층을 포함한다. 각각의 HL2 노드는 또한 그 유선 버스 인터페이스상에 상기 층들을 포함한다. 최근, HL2 노드는 하이퍼랜 2 프로토콜 스택을 이용하여 통신한다.
하이퍼랜 2 네트워크는 중앙 제어기의 역할을 하고 무선 노드들이 레지스터링하는 노드를 포함한다. 중앙 제어기는 또한 하이퍼랜 2 무선 프레임내에 자원을 할당할 책임이 있다. 문서 C는 중앙 제어기의 IEEE 1394 서비스 특정 수렴 하위층(SSCS)내에 위치된 등시성 자원 관리자('IRM': Isochronous Resource Manager)를 정의한다. HL2 IRM의 목적은 채널 및 대역폭 예약 설비를 제공하는 것이지만, 그 IEEE 1394 대응부(counterpart)와 같이 CHANNEL_AVAILABLE 및 BANDWIDTH_AVAILABLE 레지스터를 제공하지 않는다. 무선 링크상의 수화자 노드와 송화자 노드 사이에서 다른 물리적 모드가 가능하기 때문에, 이용가능한 대역폭은 송화자 및 수화자에 따라 달라진다.
무선 네트워크를 통해서 등시성 스트림을 스트리밍하는 동안 발생되는 문제점 중의 하나는, 무선 프레임내의 예약될 타임 슬롯의 양이 소스 및 착신지의 위치에 따라 달라진다는 점이다. 다른 소스 및 착신지가 동일한 변조 구조를 이용하지 않을 수 있고, 따라서 프레임내의 타임 슬롯의 측면에서 동일한 요구조건을 갖지 않을 수 있다. 변조 구조(물리적 모드)의 선택은 소스와 착신지 사이의 링크 예산(link budget)에 따라 달라진다. 이것은 문서 E에 설명된 바와 같이 IEC-61883 CMP 프로토콜을 수정하여 무선 환경의 구속에 적응시키기 위해 1394 SSCS를 한정하 는 경우의 근거가 되었다.
본 실시예에 따르면, 문서 C의 첨부 A.4에 설명된 바와 같은 HL2 IRM 인터페이스는 HL2 인식 애플리케이션(HL2 aware application)에 대해 액세스가능해진다.
특정한 시간 주기 이후에 스트림이 차단될 수 있도록 상기 시간에 걸쳐서 주어진 스트림에 대해 링크 예산이 감소되는 일이 발생할 수 있다. 본 실시예에 따르면, 스트림이 HL2 네트워크상에서 차단되는 경우에 애플리케이션에 알릴 수 있도록 이벤트 매커니즘이 정의된다.
유선 HL2 인식 애플리케이션은 유선 디바이스상에서 실행되지만 하이퍼랜/2 네트워크를 이용하는 투명 브리지의 존재를 인식하는 애플리케이션으로서 정의된다. 이러한 HL2 인식 애플리케이션에 대한 본 설명에서 정의된 프로세스는 선택적이다. 상기 프로세스가 구현되지 않는다면, 상기 프로세스는 스트리밍이 무선 네트워크상에서 설정되는 것을 막지 않는다. 그러나, 상기 프로세스가 구현된다면, 애플리케이션이 자원 예약이 성공적인지 여부를 알도록 허용한다. 또한, 애플리케이션이 연결이 해제되었는지 여부를 통지받도록 허용한다.
노드는 다음과 같이 지정될 것이다:
- '송화자'는 등시성 데이터를 소싱하는 유선 또는 무선 노드이다.
- '수화자'는 등시성 데이터를 싱크하는 유선 또는 무선 노드이다.
- HL2 인식 애플리케이션의 HL2 부모는 이러한 HL2 인식 애플리케이션을 HL2 네트워크에 연결하는 HL2 노드이다.
- 송화자의 HL2 부모는 송화자를 HL2 네트워크에 연결하는 HL2 노드이다.
- 수화자의 HL2 부모는 수화자를 HL2 네트워크에 연결하는 HL2 노드이다.
노드는, 문서 D에 의해 지정된 바와 같은 그 구성 ROM내의 미리 결정된 오프셋에 유닛 디렉토리를 포함한다면, HL2 노드로서 식별된다. 이러한 유닛 디렉토리는, 임의의 IEEE 1394 노드가 고려중인 노드가 HL2 노드인지 여부를 확인하게 할 수 있는, 'specifier_ID' 및 'version'라고 불리는 파리미터를 포함한다. 0180c216 및 00020016인 각각의 값은 HL2 노드를 특징화한다.
HL2 유닛 디렉토리는 또한 로크 명령을 전송하는데 사용될 어드레스 오프셋을 설명하는 엔트리를 포함한다. 이러한 어드레스 오프셋은 IEEE 1212 섹션 4.2에 설명된 바와 같이 0xFFFF F000 0800에서 시작하는 유닛 공간내에 있다. 이러한 엔트리의 포맷은 도 3에 나타낸 바와 같다.
도 4는 도 2의 네트워크의 도면으로, 여기서 전술한 지정의 일부는 노드(209)가 HL2 인식 애플리케이션을 갖고, 노드(210)가 수화자 노드이며, 노드(212)가 송화자 노드인 경우에 대해 도시된다. 예시의 목적으로, HL2 IRM은 HL2 노드(213)에 의해 관리된다.
HL2 IRM 인터페이스의 설명이 이제 제공될 것이다.
본 실시예에 따르면, HL2 인식 애플리케이션은 그 로컬 버스의 노드의 구성 ROM을 검사한다. 상기 애플리케이션은 따라서 어떤 노드가 HL2 유닛 디렉토리를 포함하고, 따라서 어떤 노드가 HL2 노드인지를 검출할 것이다.
중앙 제어기의 1394 SSCS층은 HL2 IRM을 포함하고, 상기 HL2 IRM 인터페이스 는 1394 SSCS 기술 명세(문서 C)에 설명되어 있다.
무선 1394 애플리케이션은 대개 직렬 버스상에서 자원 예약을 하기 위해 로크 명령을 전송한다.
{유선 디바이스, 예를 들어 노드(209)상에서 실행되는} HL2 인식 애플리케이션이 그 로컬 버스상의 HL2 노드의 존재를 검출하는 경우에, 상기 애플리케이션은 본 실시예에 따라서, 1394 SSCS 문서에 의해 지정된 바와 같이 등시성 스트림을 개시하고 종료하기 위해 동일한 명령을 이용한다. 유선 애플리케이션이 HL2 IRM이 어떤 노드상에서 실행되는지를 반드시 알 필요는 없기 때문에, 유선 애플리케이션이 (적절한 내부 토폴로지 맵을 컨설팅한 후에) 그 부모 HL2 노드, 도 4의 예시의 경우에 노드(207)에 이러한 명령을 전송하는 것이 제안된다. 상기 애플리케이션은 이러한 명령을 HL2 유닛 디렉토리 엔트리내에 지정된 어드레스 오프셋으로 전송한다.
변형 실시예에 따르면, 이러한 어드레스는 또한 고정될 수 있고, HL2 유닛 디렉토리 엔트리내에서 반드시 코딩되지는 않는다.
부모 무선 노드(209)는 HL2 IRM이 어떤 HL2 노드(207)상에서 실행되는지를 안다. 상기 부모 노드가 로크 명령을 수신하면, 이러한 명령을 프록시의 역할을 하는 HL2 IRM으로 중계(relay)한다. HL2 IRM이 부모 무선 노드(207)로 로크 응답을 다시 전송하면, 이러한 응답을 다시 애플리케이션으로 중계한다.
성공적인 로크 명령을 중계한 HL2 인식 애플리케이션(즉, HL2 인식 애플리케이션 행위가 HL2 IRM에 의해 성공적으로 완료됨)의 부모 무선 노드는, HL2 등시성 예약 프로토콜이 HL2 인식 애플리케이션에 의한 임의의 추가적인 행위없이 완료될 수 있도록 하기 위해 대응하는 페이로드값을 이용하여 각각 수화자 및 송화자의 HL2 부모 노드의 HL2 iPCR 및 oPCR 플러그 제어 레지스터를 구성한다.
새로운 명령이 이제 설명될 것이다.
새로운 명령은 HL2 요청/응답 시스템에 기초한다. 요구된 명령은 채널을 할당하고, 특정 양의 대역폭을 할당하며, 채널 및 대역폭을 해제(release)하고, 버스 리셋이후에 재할당하도록 허용한다. 일반 메시지 포맷이 도 5에 도시되어 있다.
파라미터는 다음과 같다:
'command' : 표 1에 상세화된 바와 같은 요청의 명령
값 |
이름 |
설명 |
0 |
- |
예약됨 |
1 |
ALLOCATE_SOME |
채널 및 대역폭 요청 |
2 |
MODIFY_BANDWIDTH |
지정된 채널상에서 대역폭 수정 요청 |
3 |
RECLAIM_THIS |
버스 리셋 이후에 채널 및 대역폭 요청 |
4 |
RELEASE_THIS |
채널 (및 그 관련 대역폭) 해제 |
5-255 |
|
예약됨 |
'status' : 표 2에 상세화된 바와 같은 응답의 상태
값 |
이름 |
설명 |
0 |
SUCCESS |
요청이 성공적으로 수행됨 |
1 |
CHANNEL |
채널 할당에 실패 |
2 |
RESET |
버스 리셋이 진행중 |
3 |
BANDWIDTH |
대역폭 할당에 실패 |
4 |
BOTH |
채널 및 대역폭 할당에 실패 |
5-254 |
|
예약됨 |
255 |
BAD_COMMAND |
이러한 명령은 지원되지 않음 |
상기 명령은 2가지 단계로 설명될 것이다:
- HL2 인식 애플리케이션이 이러한 명령에 관해 알 필요가 있는 것
- HL2 노드가 이러한 명령에 관해 알 필요가 있는 것
1. ALLOCATE_SOME 명령
도 6은 본 실시예에 따른 상기 명령의 포맷을 제공한다.
1.1 파라미터
HL2 1394 SSCS 명세와 비교하여 다르게 사용되는 필드는 텍스트 및 도 6 모두에서 밑줄이 쳐져 있다:
command : 이러한 경우에 0x00.
talker_ID : 송화자 노드의 PhyID(스트림의 소스).
listener_ID : 수화자 노드의 PhyID(스트림의 싱크).
channel : 1394 IRM에 이미 할당된 바와 같은 1394 채널.
payload : (IEC-61883에 설명된 바와 같은) 스트림을 위한 데이터 페이로드. oPCR에서 취해지거나 애플리케이션에 의해 제공될 수 있다.
notification CSR offset high : HL2 부모 노드로부터 1394 애플리케이션으로의 통지를 위해 사용되는 CSR 오프셋에서의 처음 16비트.
notification CSR offset low : HL2 부모 노드로부터 1394 애플리케이션으로의 통지를 위해 사용되는 CSR 오프셋에서의 마지막 32비트.
status : 후술되는 바와 같은 응답 상태.
HL2 인식 애플리케이션은 ALLOCATE_SOME 로크 명령의 talker_ID 및 listener_ID 필드내의 실제 송화자 및 수화자(이들이 유선 노드인 경우라도)의 노드 ID를 이용한다. 이러한 명령은 애플리케이션의 부모 HL2 노드로 전송된다.
1.2 HL2 노드 행위
부모 무선 노드는 IRM이 어떤 HL2 노드상에서 실행되는지를 안다. 또한, 무선 네트워크의 토폴로지 맵을 안다. 상기 부모 무선 노드가 ALLOCATE_SOME 로크 명령을 수신하면, (HL2 SSCS 로크 명령을 생성하기 위해) 채널 필드를 제거하고, 실제 talker_ID 및 listener_ID를 그 각각의 무선 부모 노드의 node_ID로 변환한다. 또한, 1394 페이로드 필드를 HL2 페이로드 필드로 변환한다(상기 페이로드 값은 IEEE 1394 버스 및 하이퍼랜 2상에서 서로 다르게 표현된다). 그 다음, 이러한 명령을 프록시의 역할을 하는 HL2 IRM으로 중계한다.
IRM 로크 응답을 수신하면, 부모 무선 노드는 HL2 IRM에 의해 할당된 무선 채널을 유선 1394 채널로 교체한다. 또한, talker_ID, listener_ID 및 payload 필드를 그 초기 유선 1394 값으로 교체한 다음, 이러한 응답을 다시 애플리케이션으로 중계한다.
부모 무선 노드는 하이퍼랜2 채널과 IEEE 1394 채널 사이에서의 매핑을 수행하기 위해 채널값을 저장한다. 또한, 링크를 통해 할당된 대역폭이 더 이상 보장될 수 없는 경우에 HL2 인식 애플리케이션에 통지하기 위해 추가로 사용될 notification_CSR_offset 필드를 저장한다. 더 상세하게는 후술된 이벤트 통지에 대한 섹션 참조.
부모 무선 노드는 이후에 HL2 무선 채널의 1394 유선 채널로의 매핑을 HL2 송화자 노드 및 HL2 수화자 노드에 알리기 위해서 "투명 브리지간의 관리" 명령(예를 들어, 로크 기반 명령 또는 일부 특정 레지스터에 대한 기록 요청)을 생성한다.
결국, 전술한 바와 같이, 부모 HL2 무선 노드는 1394 SSCS(문서 C)에 기재된 바와 같이, 송화자 및 수화자 각각의 HL2 부모 노드의 iPCR 및 oPCR을 구성한다.
2. MODIFY_BANDWIDTH 명령
도 7은 본 실시예에 따른 상기 명령의 포맷을 제공한다.
2.1 파라미터
command : 이러한 경우에 0x01.
channel : (유선) 1394 IRM에 이미 할당된 바와 같은 1394 채널.
payload : (IEC-61883에 설명된 바와 같은) 스트림을 위한 데이터 페이로드. oPCR로부터 판독되거나 애플리케이션에 의해 제공될 수 있다.
이러한 호출은 이미 할당된 채널상의 대역폭을 수정하는데 사용된다. 페이로드값은 하나 앞의 값을 대신한다. 페이로드에 대해 널(null) 값으로 호출되는 경우에, 채널은 해제되지 않는다. 이러한 명령은 애플리케이션에 의해 상기 애플리케이션의 부모 HL2 노드로 전송된다.
2.2 HL2 노드 행위
HL2 부모 노드는 이러한 명령을 인터셉트한다. 상기 부모 노드는 채널 및 페이로드 필드를 대응하는 HL2 채널 및 페이로드 필드로 변환하고, 이러한 명령을 HL2 IRM으로 중계한다. HL2 부모 노드는 IRM으로부터 로크 응답을 수신하고, HL2 인식 애플리케이션으로 상기 응답을 다시 전송하기전에 HL2 채널 및 페이로드 필드를 수정한다.
3. RECLAIM_THIS 명령
도 7은 본 실시예에 따른 상기 명령의 포맷을 제공한다.
3.1 파라미터
command : 이러한 경우에 0x02.
channel : 1394 IRM에 이미 재할당된 바와 같은 1394 채널.
payload : 이미 전술한 바와 같이, 스트림을 위한 데이터 페이로드.
이러한 호출은 버스 리셋 이후에 채널 및 대역폭을 재할당하는데 사용된다. 이러한 명령은 애플리케이션의 부모 HL2 노드로 전송된다.
3.2 HL2 노드 행위
만일 버스 리셋이 HL2 버스 리셋과 같이 HL2 버스에 걸쳐서 전달된다면, HL2 부모 노드는 이 명령을 인터셉트한다. 상기 부모 노드는 채널 및 페이로드 필드를 대응하는 HL2 채널 및 페이로드 필드로 변환하고, 이 명령을 HL2 IRM으로 중계한다. IRM으로부터 로크 응답을 수신하는 HL2 부모 노드는 다시 HL2 채널 및 페이로드 필드를 변환하고, 그것을 다시 HL2 인식 애플리케이션으로 전송한다.
4. RELEASE_THIS 명령
도 8은 본 실시예에 따른 상기 명령의 포맷을 제공한다.
4.1 파라미터
command : 이러한 경우에 0x03.
channel : (1394 IRM에서 해제된 바와 같이) 해제될 채널.
이러한 호출은 채널 및 그와 관련된 대역폭을 해제하는데 사용된다. 이러한 명령은 애플리케이션의 부모 HL2 노드로 전송된다.
4.2 HL2 노드 행위
HL2 부모 노드는 이러한 명령을 인터셉트한다. 상기 부모 노드는 채널 필드를 대응하는 HL2 채널 필드로 변환하고, 이러한 명령을 HL2 IRM으로 중계한다. IRM으로부터 로크 응답을 수신하는 HL2 부모 노드는 HL2 채널 필드를 다시 변환하고, 다시 HL2 인식 애플리케이션으로 전송한다.
이벤트 통지가 이제 설명될 것이다.
도입부에서 언급한 바와 같이, 하이퍼랜2와 같은 무선 네트워크의 특수성은, 대역폭 성능이 동적 파라미터인 링크 예산에 따라 달라진다는 것이다. 통지 매커니즘은 이 레벨에서의 임의의 문제점을 애플리케이션에 통지하도록 이하에서 정의된다.
ALLOCATE_SOME 요청으로, 애플리케이션은 HL2 부모 노드에 이러한 통지를 위한 어드레스 오프셋을 제공한다. 이러한 오프셋은 애플리케이션의 1394 노드의 CSR 공간내에서 특정 레지스터를 식별한다. 이러한 매커니즘으로, 모든 애플리케이션은 이러한 목적을 위한 특정 레지스터를 가질 수 있다.
HL2 버스상에서 문제가 발생하면, (1394 SSCS 첨부 A에서 정의된 이벤트 통지 전용의 HL2_CSR을 이용하여) HL2 버스 이벤트 매커니즘을 통해 HL2 부모 노드에 알려진다. 대역폭 문제를 애플리케이션에 알리기 위해서, HL2 부모 노드는 도 9에 의해 제공된 포맷에 따라서, 이러한 레지스터상에서 1394 쿼드렛 기록 요청을 수행한다.
'status' 파라미터는 표 3에 표시된 바와 같이, 대역폭 문제의 원인을 나타낸다.
값 |
이름 |
설명 |
0 |
|
예약됨 |
1 |
CHANNEL |
{선취방식(preemption)에 의해 발생될 수 있는} 채널 할당 실패 |
2 |
RESET |
버스 리셋이 연결을 끊음 |
3 |
BANDWIDTH |
(선취방식 또는 링크 예산 변경에 의해 발생되는) 대역폭 할당 실패 |
4 |
BOTH |
채널 및 대역폭상에서의 실패 |
5-255 |
|
예약됨 |
'channel' 파라미터는 상기 문제에 의해 영향을 받는 1394 채널을 나타낸다. 이러한 파라미터는 상기 애플리케이션이 상기 문제에 의해 관련되는 스트림을 식별하도록 허용한다.
연결 프로세스가 이제 설명될 것이다.
HL2 인식 애플리케이션이 따르는 본 실시예에 따른 일부 방법들이 제공된다. 상기 방법들은 연결의 형성, 연결 해제, 버스 리셋 이후의 연결의 재설정, 및 연결의 오버레이와 관련된다.
1. 형성
연결을 설정하기 위해서, 애플리케이션은 다음의 단계 중 적어도 일부를 수행한다:
a. 로컬 버스상의 HL2 노드의 존재를 검출하기 위해서 다른 버스 디바이스의 구성 ROM을 파싱(parse).
b. 무선 링크의 토폴로지 맵을 요청하고, 어떤 HL2 노드가 소스와 싱크 사이의 경로상에 있는지를 점검.
c. 필요한 대역폭을 결정하기 위해 소스의 oPCR에 대한 판독 요청을 수행. 이러한 정보는 또한 고객에 의해 직접 제공될 수 있다.
d. 이용중이지 않다는 것을 확인하기 위해 싱크의 iPCR에 대한 판독 요청을 수행.
e. 다음에 대해 판독 요청 수행:
1. IRM BANDWIDTH_AVAILABLE 레지스터
2. IRM CHANNELS_AVAILABLE 레지스터
f. 다음에 대한 로크 요청 수행:
1. IRM BANDWIDTH_AVAILABLE 레지스터
2. IRM CHANNELS_AVAILABLE 레지스터
{그 자체로, 단계(c 내지 f)는 IEC 61883에 따른다}
g. 그 부모 HL2 노드에 대해 ALLOCATE_SOME 로크 요청을 수행.
h. 만일 ALLOCATE_SOME이 성공적이라면, 다음에 대해 로크 요청을 수행:
1. 소스의 oPCR
2. 싱크의 iPCR
(IEC 61883에 설명된 바와 같음)
i. 그렇지 않으면, (IEC 61883에 설명된 바와 같이) 유선 버스상에서 자원 해제 및 실패 보고.
행위의 순서는 표시적인 것으로, 다른 조합이 또한 가능하다.
2. 차단
연결을 종료하기 위해서, 애플리케이션은 다음 단계 중 적어도 일부를 수행 한다:
- 다음에 대해 판독 요청을 수행:
오버레이되지 않는다는 것을 확인하기 위해 소스의 oPCR
IRM BANDWIDTH_AVAILABLE 레지스터
- 다음에 대해 로크 요청을 수행:
IRM BANDWIDTH_AVAILABLE 레지스터
IRM CHANNELS_AVAILABLE 레지스터
소스의 oPCR
싱크의 iPCR
- 스트림에 의해 교차되는 각각의 HL2 링크를 위해 RELEASE_THIS 로크 명령을 그 HL2 부모 노드로 전송
단계 3은 또한 단계 1 직후에 수행될 수 있다는 점에 유의한다.
3. 버스 리셋 이후의 재설정
버스 리셋은 HL2 네트워크를 통해 전달되어서, 연결을 설정한 애플리케이션이 HL2 네트워크의 다른 측에 있는 경우라도 버스 리셋이 발생된 것을 인식한다. 재설정은 기본적으로, ALLOCATE_SOME 로크 명령이 RECLAIM_THIS 로크 명령으로 교체되는 것을 제외하고는, 연결의 형성과 동일한 규칙을 따른다.
4. 오버레이
연결을 오버레이하기 위해서, 애플리케이션은 무선 네트워크의 토폴로지 맵을 요청하고, 무선 네트워크가 소스와 싱크 사이의 경로상에 있는지를 점검하며, 대역폭이 HL2 링크상에 예약되어야 하는지를 추론해야 한다. 만일 무선 네트워크가 이전 경로상에 있지 않다면, ALLOCATE_SOME 명령이 생성되어야 하고, 상기 프로세스는 이때 연결 프로세스가 된다. 연결의 새로운 수화자의 iPCR에서의 기록 또한 수행된다.
만일 이용가능한 링크 예산이 새로운 수화자에게 충분하지 않다면, 상기 애플리케이션은 이벤트 통지상의 섹션에서 설명한 바와 같이 통지 메시지에 의존할 수 있다.
투명 브리지에 의해 개시된 자원 예약과의 관계:
투명 브리지는 HL2 버스를 통한 자원 예약을 트리거링하기 위해 PCR 로크 응답을 인터셉트한다. 이러한 자원 예약은 때로 HL2 인식 애플리케이션에 의해 트리거링된 자원 예약과 충돌할 수 있다. 그러한 문제는 다음과 같이 해결된다:
HL2 인식 애플리케이션은 먼저 HL2 자원을 예약(ALLOCATE_SOME 명령 전송)하고, 그 다음에만 로크 요청 및 응답을 노드 PCR로 전송하도록 요구된다.
성공적인 HL2 자원 예약 이후에(부모 노드는 IRM으로부터 긍정적인 ALLOCATE_SOME 응답을 수신), HL2 부모 노드는 HL2 채널의 존재 및 1394 채널과의 현재 매핑을 알리기 위해서 브리지간 관리 명령(로크 기반 명령 또는 쿼드렛 기록 기반 명령)을 다른 HL2 노드로 전송하도록 요구된다.
본 변형예에 따르면, HL2 부모 노드는 ALLOCATE_SOME 응답을 HL2 인식 애플리케이션으로 중계하기 전에 브리지간 관리 명령을 전송한다. 모든 HL2 노드는 이때 PCR 로크 응답을 인터셉트하기 전에 이러한 HL2 채널의 설정을 알게 될 것이다. 따라서, 이러한 HL2 노드는 PCR 로크 응답을 수신할 때 다시 동일한 예약을 하려고 시도하지 않을 것이다.
다음의 변형이 상기 실시예에 적용될 수 있다:
(a) 1394 애플리케이션은 ALLOCATE_SOME 메시지내에서, HL2 부모 송화자 및 수화자 노드의 물리적 식별자('PhyIDs')를 HL2 부모 노드로 전송한다. 이것은 HL2 부모 노드의 임무를 간소화하고, 상기 부모 노드는 이러한 정보를 스스로 결정할 필요가 없다.
(b) 1394 애플리케이션은 로크 명령(ALLOCATE_SOME 등)을 특정한, 미리 결정된 HL2 노드(예를 들어 중앙 제어기)로 전송하고 그 링크 부모로는 전송하지 않는다. 미리 결정된 HL2 노드는 이때 1394 애플리케이션의 HL2 부모 노드를 결정한다.
(c) (예를 들어 'SUBSCRIBE'라고 불리는) 새로운 요청은 애플리케이션이 자원 예약과 상관없이 이벤트에 가입하는 것을 허용하도록 정의된다. 다시 말해서, 상기 애플리케이션은 요청시에 지정한 채널과 관련된 이벤트를 수신할 것이다. 요청 'UNSUBSCRIBE' 또한 정의된다.
(d) 1394 버스 리셋이 HL2 버스 리셋을 일으키지 않고, 그 반대의 경우도 마찬가지이기 때문에, RECLAIM_THIS 요청을 제거하는 것이 가능.
본 발명은 애플리케이션이 요구된 스트림을 설정하는 것이 가능한지 여부를 알도록 허용한다.
본 발명은 링크 자원의 더 명확한 관리를 허용한다.
본 발명은 연결 관리를 위해 1394-1995 및 1394a-2000 최적화 알고리즘에 부 합한다.
본 발명은 2개 이상의 1394 클러스터를 상호연결하는 네트워크에서 작용한다.
본 발명은 애플리케이션이 스트림 설정이 불가능한 경우에 사용자에게 경고하도록 허용한다. 이것은 다른 토폴로지 맵을 이용하여 네트워크가 일반적으로 함께 사용되는 소스와 싱크를 무선 링크의 동일측상에 놓음으로써 더 우수하게 작용한다는 것을 사용자에게 제안하는 우수한 알고리즘을 초래할 수 있다. 도 1의 예시를 참조하면, 상기 애플리케이션은 소스 1과 소스 2를 바꾸는 것을 제안하여, 도 10의 토폴로지를 초래한다.