KR20140072012A - Avb 네트워크 내의 응용 계층 구조들을 사용하여 오디오/비디오 스트림들을 관리하는 시스템 - Google Patents

Avb 네트워크 내의 응용 계층 구조들을 사용하여 오디오/비디오 스트림들을 관리하는 시스템 Download PDF

Info

Publication number
KR20140072012A
KR20140072012A KR1020147001081A KR20147001081A KR20140072012A KR 20140072012 A KR20140072012 A KR 20140072012A KR 1020147001081 A KR1020147001081 A KR 1020147001081A KR 20147001081 A KR20147001081 A KR 20147001081A KR 20140072012 A KR20140072012 A KR 20140072012A
Authority
KR
South Korea
Prior art keywords
talker
listener
message
data stream
stream
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
KR1020147001081A
Other languages
English (en)
Other versions
KR102018640B1 (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 KR20140072012A publication Critical patent/KR20140072012A/ko
Application granted granted Critical
Publication of KR102018640B1 publication Critical patent/KR102018640B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)
  • Small-Scale Networks (AREA)

Abstract

토커, 리스너, 및 컨트롤러를 포함하는 시스템은 이더넷 오디오/비디오 브리징 네트워크를 통해 통신할 수 있다. 컨트롤러는 제어 메시지들을 통신하여 토커와 리스너 사이의 데이터 스트림들을 토커 및 리스너의 하나 이상의 응용 계층 인터페이스들을 통해 관리할 수 있다. 제어 메시지들에 기초하여, 토커 및 리스너는 데이터 스트림들에 대한 연결을 예약하거나, 데이터 스트림들로부터 연결을 제거하기 위해 스트림 예약 프로토콜을 사용하여 통신할 수 있다. 토커 및 리스너는 응용 계층 인터페이스들을 통해 컨트롤러에 연결들을 예약하거나 제거하는 성공을 통신할 수 있다.

Description

AVB 네트워크 내의 응용 계층 구조들을 사용하여 오디오/비디오 스트림들을 관리하는 시스템{SYSTEM FOR MANAGING AUDIO/VIDEO STREAMS USING APPLICATION LAYER STRUCTURES IN AN AVB NETWORK}
본 발명은 이더넷 오디오-비디오 브리징("AVB(Audio-Video Bridging)") 네트워크에 관한 것으로, 특히 상위 레벨 응용 계층 인터페이스들을 통해 송신되는 제어 메시지들을 통해 AVB 네트워크 상의 데이터 스트림들을 관리하는 것에 관한 것이다.
오디오/비디오("A/V") 데이터는 네트워크 시스템에서 한 엔드포인트로부터 다른 엔드포인트로 송신될 수 있다. A/V 데이터가 송신되기 전에, 제어 신호들은 A/V 데이터가 한 엔트포인트로부터 다른 것으로 이동될 수 있는 경로를 수립하기 위해 네트워크를 통해 송신될 수 있다. 유사하게, 제어 신호들은 엔드포인트들 사이의 경로를 제거하기 위해 사용될 수 있다.
토커, 리스너, 및 컨트롤러를 포함하는 시스템은 이더넷 오디오/비디오 브리징(AVB) 네트워크를 통해 통신할 수 있다. 컨트롤러는 토커와 리스너 사이에서 하나 이상의 데이터 스트림들의 흐름을 관리하도록 구성될 수 있다. 데이터 스트림들의 흐름을 관리하기 위해, 컨트롤러는 제어 메시지들을 토커 및/또는 리스너에 통신할 수 있다. 하나의 대표적인 시스템에서, 제어 메시지들은 MOST(Media Oriented Systems Transport) 표준에 따라 사용되는 기능 블록(FBlock : Function Block) 제어 메시지들일 수 있다. 제어 메시지들은 토커 및/또는 리스너의 하나 이상의 응용 계층 인터페이스 모듈들을 통해 통신될 수 있다. 제어 메시지들의 수신 시에, 응용 계층 인터페이스 모듈은 스트림 예약 프로토콜(SRP : Stream Reservation Protocol)에 설명되거나 이 프로토콜에 사용되는 하나 이상의 기능들을 사용하여 데이터 스트림들의 흐름을 AVB 네트워크를 통해 관리하도록 구성될 수 있다. 기능들을 사용하기 위해, 응용 계층 인터페이스 모듈은 하나 이상의 상태 기계 모듈들 및/또는 하나 이상의 SRP 스택 모듈들과 통신할 수 있다.
컨트롤러는 하나 이상의 제어 메시지들을 토커 및 리스너에 제공하여 데이터 스트림들을 생성하고 및/또는 데이터 스트림들로부터 연결을 제거함으로써 데이터 스트림들의 흐름을 관리할 수 있다. 토커가 제어 메시지를 수신하여 데이터 스트림을 생성할 때, 토커는 메시지를 상태 기계 모듈에 통신할 수 있다. 상태 기계 모듈은 하나 이상의 속성들을 SRP 프로토콜 스택 모듈에 등록하도록 구성될 수 있으며, 이는 하나 이상의 이벤트들을 리스너에서 촉발시켜 데이터 스트림을 리스너에 통지할 수 있다. 토커는 토커가 데이터 스트림을 생성할 수 있는지를 표시하는 상태 메시지를 응용 계층 인터페이스 모듈을 통해 컨트롤러에 송신하도록 구성될 수 있다.
성공 메시지의 수신 시에, 컨트롤러는 연결 메시지를 리스너에 송신하여 데이터 스트림에 연결하도록 구성될 수 있다. 리스너는 연결 메시지를 리스너의 응용 계층 인터페이스 모듈을 통해 수신할 수 있다. 응용 계층 인터페이스 모듈은 연결 메시지를 상태 기계 모듈에 통신할 수 있다. 연결 메시지의 수신 시에 및 토커에 의해 촉발되는 하나 이상의 이벤트들을 결정할 시에, 상태 기계 모듈은 하나 이상의 기능들을 수행하여 리스너가 데이터 스트림에 연결하고 및/또는 데이터 스트림에 연결을 수립하는지를 판단할 수 있다. 상태 기계 모듈은 하나 이상의 속성들을 SRP 프로토콜 스택 모듈에 등록하도록 구성될 수도 있으며, 이는 하나 이상의 이벤트들을 토커에서 촉발시켜, 리스너의 능력을 토커에 통지하여 데이터 스트림에 연결할 수 있다. 리스너는 리스너가 데이터 스트림에 연결할 수 있는지를 표시하는 상태 메시지를 리스너의 응용 계층 인터페이스 모듈을 통해 컨트롤러에 송신할 수도 있다. 리스너의 등록에 의해 촉발되는 하나 이상의 리스너 이벤트들을 결정할 시에, 토커의 상태 기계 모듈은 기능들을 수행하여 리스너와 연결을 수립하고 데이터 스트림을 리스너에 송신할 수 있다.
컨트롤러는 제어 메시지들을 토커 및 리스너에 송신하여 데이터 스트림으로부터 연결을 제거하도록 구성될 수도 있다. 컨트롤러는 연결 해제 메시지를 리스너의 응용 계층 인터페이스를 통해 리스너에 송신하도록 구성될 수 있다. 연결 해제 메시지의 수신 시에, 리스너의 상태 기계 모듈은 하나 이상의 리스너 속성들을 SRP 스택 모듈에 등록 취소하는 것을 포함하는 하나 이상의 기능들을 수행하여 데이터 스트림으로부터 연결 해제하도록 구성될 수 있다. 리스너는 리스너가 데이터 스트림으로부터 연결을 제거할 수 있었는지를 표시하는 상태 메시지를 응용 계층 인터페이스를 통해 컨트롤러에 송신하도록 구성될 수 있다. 리스너로부터의 상태 메시지의 수신 시에, 컨트롤러는 메시지를 토커의 응용 인터페이스를 통해 토커에 송신하여 데이터 스트림을 제거하도록 구성될 수 있다. 메시지의 수신 시에, 토커의 상태 기계 모듈은 하나 이상의 토커 속성들을 SRP 스택 모듈에 등록 취소하는 것을 포함하는 하나 이상의 기능들을 수행하여 데이터 스트림을 제거하도록 구성될 수 있다. 토커는 토커가 데이터 스트림을 제거할 수 있었는지를 표시하는 상태 메시지를 응용 계층 인터페이스를 통해 컨트롤러에 송신하도록 구성될 수 있다.
다른 시스템들, 방법, 특징들 및 장점들은 이하의 도면들 및 상세한 설명을 검토하면 당해 기술에서 통상의 기술자에게 분명하거나, 분명해질 것이다. 모든 그러한 부가적 시스템들, 방법, 특징들 및 장점들은 본 명세서 내에 포함되고, 본 발명의 범위 내에 있으며, 이하의 청구항들에 의해 보호되도록 의도된다.
시스템은 이하의 도면들 및 설명을 참조하여 더 잘 이해될 수 있다. 도면들 내의 구성요소들은 반드시 축척에 따라 도시되는 것은 아니며, 그 대신에 본 발명의 원리들을 예시하는 것이 강조된다. 더욱이, 도면들에서, 동일한 참조 번호들은 상이한 도면들에 걸쳐 대응하는 부분들을 지정한다.
도 1은 대표적인 네트워크 통신 시스템의 블록도이다.
도 2는 클라이언트, 컨트롤러, 토커 및 리스너의 하나 이상의 구성요소들을 도시하는 대표적인 네트워크 통신 시스템의 블록도이다.
도 3은 이더넷 AVB 네트워크에서 토커와 리스너 사이에 데이터 스트림을 생성하기 위해 컨트롤러가 수행할 수 있는 대표적인 방법의 흐름도이다.
도 4는 이더넷 AVB 네트워크에서 토커와 하나 이상의 리스너들 사이의 데이터 스트림을 제거하기 위해 컨트롤러가 수행할 수 있는 흐름도이다.
도 5는 컨트롤러로부터 수신되는 명령어들에 기초하여 토커와 리스너 사이에 데이터 스트림을 생성하기 위해 토커 및 리스너가 수행할 수 있는 대표적인 방법의 흐름도이다.
도 6은 더 상세한 도 5의 대표적인 방법의 흐름도이다.
도 7은 컨트롤러로부터 수신되는 명령어들에 기초하여 토커와 리스너 사이의 데이터 스트림을 제거하기 위해 토커 및 리스너가 수행할 수 있는 대표적인 방법의 흐름도이다.
도 8은 더 상세한 도 7의 대표적인 방법의 흐름도이다.
도 9는 대표적인 네트워크 통신 시스템의 블록도이다.
도 10은 네트워크 통신 시스템 내의 하나 이상의 구성요소들과 함께 사용하는 처리 시스템의 일 예이다.
네트워크 장치들 사이의 연결성에 대한 수요는 빠른 속도로 계속 증가하고 있다. 많은 시스템들에서, 네트워크 연결 및/또는 통신 능력들을 갖는 다수의 장치들이 제조되고 있다. 예를 들어, 일부 자동차들에서, 연결된 것으로 전에 고려되지 않은 구성요소들은 연결 능력들을 가지고 제조되고 있다. 브레이크들, 스로틀, 및/또는 다양하게 다른 부품과 같은 부품은 이더넷 AVB 네트워크를 통해 통신할 수 있는 이더넷 오디오-비디오 브리징("이더넷 AVB") 인에이블 장치들로 제조될 수 있다. 일부 시스템들에서, 이더넷 AVB 네트워크들은 오디오 및/또는 비디오 데이터 스트림들이 무선으로 및/또는 이더넷 케이블과 같은 유선으로 송신되는 상태에서, 하나 이상의 장치들을 연결하기 위해 사용될 수 있다.
다른 시스템들에서, 장치들은 광섬유 케이블들과 같은 이더넷 케이블들과 다른 매체들을 사용하여 네트워크를 통해 서로 연결되고 및/또는 통신할 수 있다. 이더넷 케이블과 다른 매체를 사용하는 대표적인 네트워크는 MOST(Media Oriented Systems Transport) 네트워크이다. MOST 네트워크로 연결되는 장치들은 MOST 차량 버스 표준을 사용하여 서로 통신할 수 있으며, 이는 시간 분할 다중화를 기본 전송 메커니즘으로서 사용하여 장치들 사이에서 A/V 데이터를 통신한다. MOST 차량 표준을 사용하여 통신하는 시스템에서, 네트워크를 통해 송신되는 A/V 데이터의 제어는 기능 블록("FBlock") 제어 신호들을 사용하여 수행될 수 있다. FBlock 제어 신호들은 장치들의 응용 계층에서의 MOST 네트워크에서 장치들에 의해 송신되고 및/또는 수신될 수 있다. 응용 계층에서, 장치들은 FBlock 제어 신호들을 송신하고 수신하는 인터페이스를 가질 수 있다. 인터페이스는 FBlock 인터페이스로 언급될 수 있다. FBlock 인터페이스는 장치 내의 동일한 또는 상이한 계층에서 다른 응용들 및/또는 모듈들과 통신하여 FBlock 제어 신호들을 송신, 수신, 및/또는 처리할 수 있다.
광섬유 케이블들을 사용하는 MOST 네트워크는 이더넷 케이블들을 사용하는 이더넷 AVB 네트워크로 대체될 수 있으며, 기본 전송 메커니즘은 시간 분할 다중화보다는 오히려 우선 순위 패킷 스위칭을 포함한다. MOST 네트워크가 이더넷 AVB 네트워크로 대체되는 경우에, 제어 신호들을 사용하여 A/V 데이터의 흐름을 여전히 제어하는 것이 바람직할 수 있다.
도 1은 A/V 신호들의 흐름을 제어하기 위해 FBlock 제어 신호들과 같은 상위 레벨 응용 계층 제어 신호들을 통합, 포함, 및/또는 사용할 수 있는 대표적인 네트워크 통신 시스템(100)을 예시한다. 시스템(100)은 전자 장치들(130, 131, 132, 140, 141, 142, 150, 160, 및 190)을 포함하는 복수의 전자 장치들을 포함할 수 있다. 더 많거나 더 적은 전자 장치들이 포함될 수 있다. 각각의 전자 장치(130, 131, 132, 140, 141, 142, 150, 160, 및/또는 190)는 하나 이상의 역할들을 수행하도록 구성될 수 있다. 역할들은 토커의 역할, 리스너의 역할, 토커 / 리스너의 역할, 클라이언트의 역할, 및/또는 컨트롤러의 역할을 포함할 수 있다. 다른 역할들이 포함될 수 있다. 토커의 역할은 정보 및/또는 데이터를 네트워크(110)를 가로질러 송신할 수 있는 것이다. 대안적으로 또는 부가적으로, 토커의 역할은 정보 및/또는 데이터를 반송하는 데이터 스트림의 송신을 위한 연결을 수립, 생성, 및/또는 예약할 수 있는 것이다. 대안적으로 또는 부가적으로, 토커의 역할은 연결을 제거하거나 해체할 수 있는 것이다. 리스너의 역할은 네트워크(110)를 통해 송신되었던 정보 및/또는 데이터를 수신할 수 있는 것이다. 대안적으로 또는 부가적으로, 리스너의 역할은 데이터 스트림에 연결하고 및/또는 연결을 예약할 수 있는 것이다. 대안적으로 또는 부가적으로, 리스너의 역할은 데이터 스트림으로부터 연결을 제거할 수 있는 것이다. 토커 / 리스너의 역할은 토커 및 리스너의 역할 둘 다를 동일한 시간에 또는 상이한 시간들에 수행할 수 있는 것이다.
컨트롤러의 역할은 토커 및 리스너 또는 토커 / 리스너 사이에서 데이터 스트림의 흐름을 제어할 수 있는 것이다. 컨트롤러는 하나 이상의 메시지들을 토커, 리스너, 및/또는 토커 / 리스너에 송신하여 연결을 생성하고 및/또는 토커 및 리스너 또는 토커 / 리스너 사이에서 데이터 스트림의 연결을 제거함으로써 데이터 스트림의 흐름을 제어할 수 있다. 메시지들은 토커, 리스너, 및/또는 토커 / 리스너의 상위 레벨 응용 계층을 통해 토커, 리스너, 및/또는 토커 / 리스너에 통신될 수 있다. 대안적으로 또는 부가적으로, 컨트롤러의 역할은 토커들 중 어느 것이 중요하고, 리스너에 관련되고, 및/또는 리스너에 의해 사용되는 것으로 예상되는지를 식별하고 및/또는 결정할 수 있는 것이다. 클라이언트의 역할은 데이터 스트림의 연결의 생성 또는 제거를 나타내는 사용자 입력과 같은 입력을 결정하고 입력을 컨트롤러에 통신할 수 있는 것이다.
전자 장치들(130, 131, 132, 140, 141, 142, 150, 160, 및/또는 190)은 상이한 역할들을 상이한 상황들 또는 상이한 시간들에 수행하도록 구성될 수 있다. 예를 들어, 하나의 상황에서, 전자 장치들 중 하나는 토커이도록 구성될 수 있다. 상이한 상황에서, 그 전자 장치는 리스너이도록 구성될 수 있다. 대안적으로, 전자 장치들(130, 131, 132, 140, 141, 142, 150, 160, 및/또는 190)이 수행하도록 구성될 수 있는 역할들이 고정될 수 있다. 이하의 설명을 위해, 시스템(100) 내의 전자 장치들(130, 131, 132, 140, 141, 142, 150, 160, 및 190)은 전술된 바와 같은 역할들을 지정받았다. 대안적인 시스템에서, 다른 역할들이 지정될 수 있다. 시스템(100)은 하나 이상의 토커들(130, 131, 및 132), 하나 이상의 리스너들(140, 141, 및 142), 하나 이상의 토커 / 리스너들(150), 하나 이상의 클라이언트들(160), 및/또는 하나 이상의 컨트롤러들(190)을 포함할 수 있다. 토커들(130, 131, 132), 리스너들(140, 141, 142), 토커 / 리스너들(150), 클라이언트들(160), 및 컨트롤러들(190)을 포함하는 시스템(100)의 각각의 구성요소는 네트워크(110)를 통해 다른 구성요소들 중 하나 이상과 통신할 수 있다.
토커들(130, 131, 및 132), 리스너들(140, 141, 및 142), 토커 / 리스너들(150), 클라이언트들(160), 및/또는 컨트롤러들(190) 중 하나 이상은 시스템(100)의 기능성의 일부 또는 전부를 구현하기 위해 하드웨어, 소프트웨어, 및/또는 하드웨어 및 소프트웨어의 조합일 수 있거나 이들을 포함할 수 있다. 토커들(130, 131, 및 132), 리스너들(140, 141, 및 142), 토커 / 리스너들(150), 클라이언트들(160), 및/또는 컨트롤러들(190) 중 하나 이상은 하나 이상의 중앙 처리 유닛(CPU)과 같은 하나 이상의 프로세서들일 수 있거나 하나 이상의 프로세서들을 포함할 수 있고, 및/또는 FPGA(field programmable gate array)의 프로세서와 같은 하나 이상의 프로세서들과 통신할 수 있다. 더 많거나 더 적은 구성요소들은 다른 예들에 포함될 수 있다.
토커들(130, 131, 및 132), 리스너들(140, 141, 및 142), 토커들 / 리스너들(150), 및/또는 컨트롤러들(190) 중 하나 이상은 네트워크(110)를 통해 또는 사용하여 서로 연결될 수 있다. 대안적으로 또는 부가적으로, 토커들(130, 131, 및 132), 리스너들(140, 141, 및 142), 토커들 / 리스너들(150), 및/또는 컨트롤러들(190) 중 하나 이상은 서로 직접 연결될 수 있다. 예를 들어, 토커들(130, 131, 및 132), 리스너들(140, 141, 및 142), 토커들 / 리스너들(150), 및/또는 컨트롤러들(190) 중 하나 이상은 이더넷 케이블과 같은 유선, 및/또는 무선 네트워크를 사용하여 서로 연결될 수 있다. 다양하게 다른 연결들이 가능하다.
네트워크(110)는 이더넷 AVB 네트워크이고, 이더넷 AVB 네트워크를 포함하고, 및/또는 이더넷 AVB 네트워크를 통해 또는 이더넷 AVB 네트워크와 통신할 수 있다. 네트워크(110)는 네트워크를 통해 통신하고 및/또는 네트워크와 연결되는 하나 이상의 장치들과 통신할 수 있는 하나 이상의 브리지들을 포함할 수 있다. 하나 이상의 브리지들은 IEEE에 의해 지정되는 이더넷 AVB 프로토콜들과 같은 다양한 프로토콜들을 통해 또는 사용하여 네트워크(110) 및/또는 네트워크에 연결되는 장치들과 통신할 수 있다. 예를 들어, 하나 이상의 브리지들은 네트워크 타이밍 및 동기화를 위한 IEEE 802.1AS-2001(gPTP), 스트리밍 데이터를 큐잉하고 전송하는 IEEE 802.1Qav-2009, 데이터 스트림 대역폭을 네트워크에 예약하는 IEEE 802.1Qat-2010(SRP), 및/또는 가능한 데이터 스트리밍 포맷과 관련되는 IEEE 1722-2011과 같은 이더넷 AVB 프로토콜들을 통해 또는 사용하여 네트워크(110) 및/또는 네트워크에 연결되는 장치들과 통신할 수 있다. 다양하게 다른 프로토콜들이 사용될 수 있다. 대안적으로 또는 부가적으로, 네트워크(110)는 인터넷과 같은 WAN(wide area networks), LAN(local area networks), 캠퍼스 지역 네트워크들, 도시 지역 네트워크들, 또는 데이터 통신을 허용할 수 있는 임의의 다른 무선 및/또는 유선 네트워크들이고, 이들을 포함하고, 및/또는 이들을 통해 또는 이들과 통신할 수 있다. 네트워크(110)는 서브 네트워크들로 분할될 수 있다. 서브 네트워크들은 네트워크(110)에 연결되는 모든 구성요소들에 액세스를 허용할 수 있거나, 서브 네트워크들은 네트워크(110)에 연결되는 구성요소들 사이의 액세스를 제한할 수 있다. 네트워크(110)는 공중 또는 개인 네트워크로 간주될 수 있고, 예를 들어 가상 개인 네트워크, 암호화, 또는 공중 인터넷을 통해 이용되는 임의의 다른 보안 메커니즘 등을 포함할 수 있다. 다양하게 다른 타입들의 네트워크들(110)이 가능하다.
토커들(130, 131, 및 132), 리스너들(140, 141, 및 142), 및/또는 토커 / 리스너(150) 중 하나 이상은 데이터 전송을 지원하는 임의의 구성으로 네트워크(110)에 연결될 수 있다. 이것은 유선 또는 무선일 수 있는 네트워크(110)에 데이터 연결을 포함할 수 있다. 토커들(130, 131, 및 132), 리스너들(140, 141, 및 142), 및/또는 토커 / 리스너들(150) 중 하나 이상은 이더넷 AVB 네트워크에 연결되고 및/또는 이더넷 AVB 네트워크에 케이블 또는 무선 연결을 사용하는 것과 같이, 이더넷 연결을 통해 또는 사용하여 서로 연결될 수 있다. 다양하게 다른 연결들이 가능할 수 있다.
시스템은 하나 이상의 토커 시스템들, 또는 토커들(130, 131, 및 132)을 포함할 수 있다. 소형 통신 네트워크들에서, 시스템은 20 이하와 같은 적은 수의 토커들만을 가질 수 있다. 다른 대형 통신 시스템들에서, 시스템은 수백, 수천, 또는 잠재적으로 수백만의 토커들을 포함할 수 있다. 다양한 수들의 토커들이 가능하다.
토커들(130, 131, 및 132)은 도 10에 도시되고 후술되는 컴퓨터 시스템(1000)과 같은 컴퓨터 시스템의 특징들의 일부 또는 전부이거나 그렇지 않거나, 또는 일부 또는 전부를 포함하거나 포함하지 않을 수 있다. 토커들(130, 131, 및 132)은 이더넷 AVB 인에이블되고 및/또는 호환될 수 있다. 토커들(130, 131, 및 132)은 하나 이상의 표준들 또는 프로토콜들을 사용하는 이더넷 AVB 네트워크를 통해 및/또는 이더넷 AVB 네트워크에 의해 통신하도록 구성, 적응, 동작가능, 및/또는 인에이블될 수 있다. 토커(130)와 네트워크(110) 사이의 통신들과 연관되는 프로토콜의 일 예는 IEEE 802.1Qat-2010에 지정되는 스트림 예약 프로토콜일 수 있다. 대안적으로 또는 부가적으로, 다중 MAC 등록 프로토콜("MMRP(Multiple MAC Registration Protocol)"), IEEE 802.1AS-2011(gPTP), IEEE 802.1Qav-2009, 및/또는 IEEE 1722-2011과 같은 다양하게 다른 프로토콜들이 사용될 수 있다.
토커들(130, 131, 및 132)은 정보 및/또는 데이터를 네트워크(110)를 통해 구성, 적응, 동작가능, 및/또는 인에이블될 수 있다. 예를 들어, 토커들(130, 131, 및 132)은 데이터, 커맨드들, 및/또는 커맨드 신호들을 포함하는 정보의 스트림을 이더넷 AVB 네트워크를 통해, 사용하여, 또는 가로질러 송신하도록 구성되고 및/또는 적응될 수 있다. 이더넷 AVB 네트워크를 통해서와 같은 네트워크(110)를 통해 토커들(130, 131, 및 132)에 의해 송신되는 정보 및/또는 데이터는 리스너들(140, 141, 및 142) 및/또는 토커 / 리스너들(150)과 같은, 네트워크(110)와 연결되는 다른 장치들에 의해 수신될 수 있다.
토커들(130, 131, 및 132)은 다양한 기능들을 수행하고 및/또는 다양한 구성요소들과 연결되거나 다양한 구성요소들을 포함할 수 있다. 예를 들어, 토커(130)는 네트워크(110) 및 악기 또는 마이크로폰과 같은 입력 장치와 연결될 수 있다. 정보 및/또는 데이터는 토커(130) 또는 토커(130)와 연결되는 장치에 송신되고, 토커 및 장치에 의해 수신되고, 및/또는, 그렇지 않으면 토커 및 장치에 입력될 수 있다. 예를 들어, 사용자는 악기를 연주하거나 토커(130)와 연결되는 마이크로폰으로 노래할 수 있고, 악기, 노래, 및/또는 보이스에 관한 정보 및/또는 데이터는 토커(130)에 의해 수신될 수 있다.
네트워크 통신 시스템 내의 토커들(130, 131, 및 132)이 물리 장치들 자체(마이크로폰과 같은)일 수 있고, 물리 장치들 자체로서 설명될 수 있지만, 일부 시스템들에서, 토커는 도 10에 도시되고 후술되는 컴퓨터 시스템(1000)의 특징들의 일부 또는 전부와 같은 토커(마이크로폰과 같은)를 제어하기 위해 사용되고 및/또는 동작할 수 있는 컴퓨터 또는 다른 전자 제어 장치일 수 있거나 이들을 포함할 수 있다는 점이 이해되어야 한다. 이 시스템들에서, 컴퓨터 또는 다른 전자 컨트롤러 장치는 AVB 인에이블되고 및/또는 네트워크(110)와 직접 통신할 수 있다. 게다가, 컴퓨터 또는 다른 전자 컨트롤러 장치는 유선 또는 무선 연결과 같은 다양한 방법들로 물리 장치 또는 다른 장치와 통신할 수 있다. 다양하게 다른 대안들이 가능하다.
토커(130)는 다양한 방법들로 수신되는 정보 및/또는 데이터를 처리할 수 있다. 예를 들어, 토커(130)는 아날로그 신호로부터 디지털 신호로 수신되는 음악 신호와 같은 임의의 신호를 변환할 수 있다. 다른 시스템들에서, 컴퓨팅 장치는 수신된 정보 및/또는 데이터의 처리를 수행할 수 있고, 처리된 정보 및/또는 데이터를 토커(130)에 송신할 수 있다. 다양하게 다른 처리 기능들은 토커(130) 및/또는 토커(130)와 통신하는 장치들에 의해 수행될 수 있다.
토커(130)는 데이터 스트림 및/또는 이더넷 AVB 신호에서, 이들과 함께, 및/또는 이들을 사용해서와 같이, 처리된 정보 및/또는 데이터를 네트워크(110)에 전송, 송신, 출력, 및/또는 광고할 수 있다. 예를 들어, 토커(130)는 사용자에 의해 연주되는 음악과 관련되는 데이터를 포함하는 데이터 스트림을 토커(130)와 연결되는 장치 상에서 이더넷 AVB 네트워크 쪽으로 광고할 수 있다. 네트워크(110) 상에서 토커(130)에 의해 광고되는 정보 및/또는 데이터는 다양한 리스너들(140, 141, 및 142) 및/또는 토커 / 리스너들(150)과 같은 다른 장치들에 의해 수신될 수 있다. 다양하게 다른 기능들은 토커(130)에 의해 수행될 수 있다.
각각의 토커(130, 131, 및 132)는 하나 이상의 토커 속성들을 가질 수 있다. 토커 속성들은 토커(130)에 관한 특성들 및/또는 토커(130)에 의해 광고되는 데이터 스트림을 지정, 포함 및/또는 그렇지 않으면 식별할 수 있다. 예를 들어, 토커 속성은 토커(130)가 네트워크(110)를 통해 멀티캐스트하는 오디오, 비디오, 및/또는 커맨드 데이터 스트림과 같은 데이터 스트림을 토커(130)가 가질 수 있는 것을 표시하고 및/또는 광고할 수 있다. 토커 속성은 네트워크(110)를 통해 송신되기 위해 토커(130)에 의해 광고되는 데이터 스트림이 필요로 할 수 있는 어느 정도의 데이터를 지정할 수 있다. 지정되는 대역폭의 양은 토커(130)와 리스너(140) 사이의 경로 내에 각각의 스위치에서의 대역폭의 양을 예약하는 충분한 대역폭 능력이 존재하는지를 판단하기 위해 네트워크(110) 내의 브리지들 및/또는 스위치들에 의해 사용될 수 있다. 일 예에서, 리스너(140)는 대역폭 리스너가 속성에 지정되는 대역폭 정보를 수신하기 전에 스위치들 및/또는 브리지들 중 하나 이상이 대역폭 제한들로 인해 실패를 표시할 수 있기 때문에 대역폭의 양과 관계가 있지 않을 수 있다. 대안적으로 또는 부가적으로, 토커 속성은 토커(130)로부터 송신되는 정보 및/또는 데이터가 리스너(140)에 도달하는데 얼마나 걸리는지를 지정할 수 있으며, 이는 레이턴시 또는 레이턴시 기간으로 언급될 수 있다. 대안적으로 또는 부가적으로, 토커 속성은 목적지 어드레스를 지정할 수 있다. 일 예에서, 목적지 어드레스는 리스너(140)와 같은 특정 리스너에 고유하지 않을 수 있다. 목적지 어드레스는 예약이 준비되어 있고 송신이 시작되었으면 리스너들(140, 141, 142)과 같은 임의의 리스너들이 광고되고 있는 데이터 스트림을 수신하고 및/또는 처리하는 것을 허용하는 멀티캐스트 목적지일 수 있다. 대안적으로, 목적지 어드레스는 특정 리스너에 고유할 수 있다.
대안적으로 또는 부가적으로, 토커 속성은 토커(130)에 의해 광고되는 스트림에 대한 고유 스트림 ID(식별자)를 지정할 수 있다. 토커 속성은 다양하게 다른 정보 및/또는 데이터를 지정, 포함, 및/또는 식별할 수 있다. 하나의 토커 속성은 다운로드에 필요한 대역폭에 관한 정보 및/또는 토커의 고유 스트림 ID와 같은 다수의 정보 및/또는 데이터를 포함할 수 있다. 일부 시스템들에서, 각각의 토커 속성은 단 하나의 정보 및/또는 데이터와 관련될 수 있고, 각각의 토커(130, 131, 및 132)는 다수의 토커 속성들을 가질 수 있다. 다른 시스템들에서, 각각의 토커(130, 131, 및 132)는 토커들에 관한 다수의 정보 및/또는 데이터를 지정하는 단 하나의 토커 속성을 갖는다. 다양한 조합들이 가능하다.
토커 속성들은 토커 광고(TA : Talker Advertise) 및/또는 토커 실패(TF : Talker Failed)를 포함할 수 있다. 언급된 바와 같이, 토커 속성은 토커(130)가 생성하거나 생성하기를 원하는 스트림에 대한 스트림 ID를 지정할 수 있다. 스트림 ID는 하나의 스트림에만 할당될 수 있는 문자들 및/또는 번호들의 고유 시퀀스일 수 있다. 일부 시스템들에서, 어떤 2개의 스트림들은 동일한 스트림 ID를 갖지 않을 수 있다. 그 다음, 토커(130)의 고유 스트림 ID의 할당 및/또는 식별은 장치가 자체를 첨부하기를 원하는 스트림을 식별하기 위해 리스너(140)와 같은 장치들에 의해 사용될 수 있다. 예를 들어, 리스너(140)는 이더넷 AVB 네트워크를 통해 고유 스트림 ID를 포함하는 광고와 같은 메시지를 수신할 수 있고, 고유 스트림 ID의 식별에 기초하여, 고유 스트림 ID와 연관되는 스트림에 첨부를 요청할 수 있다. 스트림 ID의 다양하게 다른 사용들이 가능하다. 고유 스트림 ID는 64 비트 스트림 ID일 수 있거나, 다양하게 다른 스트림 ID들이 사용될 수 있다. 토커(130)는 토커(130)가 예컨대 제조자에 의해 제조되는 시간에, 제조 후에, 예컨대 토커(130)가 예컨대 컨트롤러(190)에 의해 네트워크(110)와 연결하는 시간에, 및/또는 다양하게 다른 시간들에 고유 스트림 ID를 스트림에 할당하도록 구성될 수 있다.
하나 이상의 토커 속성들은 토커들(130, 131, 및 132), 리스너들(140, 141, 및 142), 토커 / 리스너(150), 및/또는 컨트롤러들(190) 중 하나 이상에 저장될 수 있다. 예를 들어, 토커(130)의 고유 스트림 ID는 컨트롤러(190)에 송신되고 및/또는 컨트롤러에 의해 수신될 수 있으며, 컨트롤러는 비-SRP 프로토콜을 통해, 이 프로토콜과 함께, 이 프로토콜을 사용하여, 토커(130)의 고유 스트림 ID를 기록 및/또는 저장하고 및/또는 토커(130)의 고유 스트림 ID를 하나 이상의 리스너들(140, 141, 및 142)에 전송할 수 있다. 토커 속성들의 다양하게 다른 사용들 및 기능들이 가능하다.
스트림 광고는 네트워크(110)를 통과할 수 있는 토커(130, 131, 132)로부터의 신호 및/또는 다른 송신일 수 있다. 토커(130)에 의해 송신되는 스트림 광고는 네트워크(110)를 통해 송신, 멀티캐스트, 및/또는 그렇지 않으면 전송할 수 있거나, 그렇게 할 수 없거나, 그렇게 할 것이거나, 그렇게 하지 않을 것인 데이터 스트림을 토커(130)가 가지는 것을 표시할 수 있다. 스트림 광고는 토커 광고(TA) 또는 토커 실패(TF)를 포함할 수 있다. TA는 토커로부터의 네트워크 경로에 따른 임의의 대역폭 또는 다른 네트워크 제약들에 마주치지 않았던 스트림에 대한 광고일 수 있다. TF는 토커로부터의 경로에 따른 어딘가에서 대역폭 제약들 또는 다른 제한들 때문에 리스너에 이용가능하지 않은 스트림에 대한 광고일 수 있다. 토커로부터 리스너로의 경로에 따른 브리지 또는 스위치가 충분한 대역폭 또는 이용가능한 자원들을 갖지 않는다면, 브리지 또는 스위치는 그것을 리스너를 향해 전송하기 전에 TA 메시지를 TF 메시지로 변경할 수 있다.
스트림 광고는 토커(130)에 의해 광고되고 및/또는 출력되는 스트림 광고와 함께 송신되고 및/또는 스트림 광고에 포함될 수 있는 하나 이상의 토커 속성들과 같은 데이터 스트림에 관한 상세들을 포함할 수 있다. 예를 들어, 스트림 광고는 스트림 광고를 사용하는 토커(130)에 의해 광고되는 데이터 스트림의 고유 스트림 ID를 포함할 수 있다. 토커(130)에 의해 송신되는 스트림 광고는 네트워크(110)를 가로질러, 네트워크와 통신하는 하나 이상의 장치들(예를 들어, 하나 이상의 리스너들(140, 141, 142))에 송신되고 및/또는 하나 이상의 장치들에 의해 수신될 수 있다. 일부 시스템들에서, 스트림 광고는 네트워크(110) 상의 모든 장치들에 송신된다.
하나 이상의 리스너들(140, 141, 142) 및/또는 토커 / 리스너들(150)은 스트림 광고들을 수신할 수 있다. 리스너들 중 하나가 TA에 의해 광고되는 데이터 스트림을 수신하기를 원하면, 리스너는 리스너 준비("LR") 신호를 브리지, 네트워크(110), 및/또는 토커(130, 131, 132)에 송신할 수 있다. 신호는 스트림 광고에 포함되는 스트림 ID를 통해 데이터 스트림에 첨부하는 요청일 수 있다. AVB 네트워크(110) 내의 이더넷 AVB 브리지 또는 스위치가 리스너로부터 LR 신호를 수신할 때, 브리지는 LR을 TA와 일치시키고 스트림 광고에 의해 참조되는 데이터 스트림이 요청 리스너에 송신되는 것을 허용할 것이다. 하나 이상의 리스너들(140, 141, 142)은 하나의 스트림 ID를 통해 동일한 데이터 스트림을 요청하고 및/또는 첨부할 수 있다. 리스너들(140, 141, 142) 중 하나는 각각 요청된 데이터 스트림의 스트림 ID들을 통해 하나보다 많은 데이터 스트림을 요청하고 및/또는 첨부할 수 있다. 다른 변형들이 가능하다.
하나 이상의 스트림 광고들은 개별적으로 및/또는 네트워크(110)와 함께, 네트워크를 통해, 및/또는 네트워크를 사용하여 송신되고 및/또는 액세스될 수 있다. 하나 이상의 스트림 광고들은 리스너들(140, 141, 142), 토커 / 리스너들(150), 및/또는 컨트롤러들(190)과 같은 네트워크(110) 상의 하나 이상의 수신 장치들에 송신되고, 수신 장치들에 의해 액세스되고, 및/또는 수신 장치들에 의해 수신될 수 있다. 스트림 광고들 및/또는 토커 속성들의 다양하게 다른 사용들 및 기능들이 가능하다.
소형 네트워크들에서, 시스템(100)은 20 이하와 같은 적은 수의 리스너들만을 가질 수 있다. 다른 대형 통신 시스템들에서, 시스템(100)은 수백, 수천, 또는 잠재적으로 수백만의 리스너들을 가질 수 있다. 다양한 수들의 리스너들이 가능하다.
리스너들(140, 141, 및 142)은 도 10에 도시되고 후술되는 컴퓨터 시스템(1000)과 같은 컴퓨터 시스템의 특징들의 일부 또는 전부이거나 그렇지 않거나, 또는 일부 또는 전부를 포함하거나 포함하지 않을 수 있다. 리스너들(140, 141, 및 142)은 이더넷 AVB 인에이블되고 및/또는 호환될 수 있다. 리스너들(140, 141, 및 142)은 IEEE 802.1AS-2011(gPTP), IEEE 802.1Qav-2009, IEEE 802.1Qat-2010(SRP), 및/또는 IEEE 1722-2011에서 식별되는 스트림 예약 프로토콜과 같은 하나 이상의 표준들 또는 프로토콜들을 사용하여 이더넷 AVB 네트워크를 통해 및/또는 이더넷 AVB 네트워크와 통신하도록 구성, 적응, 동작가능, 및/또는 인에이블될 수 있다. 대안적으로, MMRP와 같은 다양하게 다른 프로토콜들이 사용될 수 있다.
리스너들(140, 141, 및 142)은 데이터를 포함하는 정보를 네트워크(110)를 가로질러, 통해, 및/또는 사용하여 수신하도록 구성, 적응, 및/또는 동작가능할 수 있다. 예를 들어 리스너(140)는 이더넷 AVB 네트워크와 같은 네트워크(110)를 가로질러 통과하는 데이터 스트림을 수신하도록 구성 및/또는 적응될 수 있다. 리스너(140, 141, 및 142)에 의해 수신되는 정보 및/또는 데이터는 예를 들어 토커(130, 131, 및 132)에 의해 송신되는 정보 및/또는 데이터, 컨트롤러(190)에 의해 송신되는 정보 및/또는 데이터, 및/또는 네트워크(110)를 통해 및/또는 사용하여 송신되는 다양하게 다른 정보 및/또는 데이터일 수 있다. 일부 시스템들에서, 리스너들(140, 141, 및 142)은 토커들(130, 131, 및 132) 중 하나 이상으로부터 데이터 스트림을 등록하고 및/또는 수신할 수 있다. 데이터 스트림의 등록 및/또는 수신은 보장된 대역폭을 갖는 리스너들(140, 141, 및 142)에 의해 수신될 수 있거나 수신될지도 모른다. 다양하게 다른 가능성들이 존재한다.
리스너들(140, 141, 및 142)은 다양하게 다른 기능들을 수행하고 및/또는 다양하게 다른 구성요소들을 포함하거나 구성요소들과 연결될 수 있다. 예를 들어, 리스너(140)는 네트워크(110) 및 스피커 또는 텔레비전 모니터와 같은 출력 장치와 연결될 수 있다. 정보 및/또는 데이터는 네트워크(110)를 통해 리스너(140)에 의해 수집되고, 및/또는, 그렇지 않으면 수신될 수 있다. 예를 들어, 악기에 연주되는 음표에 관한 정보 및/또는 데이터는 네트워크(110)를 통해 토커(130)에 의해 송신될 수 있고, 리스너(140)에 의해 수신될 수 있다. 리스너(140)는 네트워크(110)를 통해 수신되는 정보 및/또는 데이터를 처리할 수 있다. 리스너(140)는 처리된 정보 및/또는 데이터를 스피커에 출력할 수 있다. 예를 들어, 리스너(140)는 이더넷 AVB 네트워크(110)를 통해 수신되는 신호와 관련된 정보 및/또는 데이터를 스피커에 출력할 수 있다.
네트워크 통신 시스템 내의 리스너들(140, 141, 및 142)이 물리 장치들 자체(스피커와 같은)일 수 있고, 물리 장치들 자체로서 설명될 수 있지만, 일부 시스템들에서, 리스너는 도 10에 도시되고 후술되는 컴퓨터 시스템(1000)의 특징들의 일부 또는 전부와 같은 리스너(스피커와 같은)를 제어하기 위해 사용되고 및/또는 동작할 수 있는 컴퓨터 또는 다른 전자 제어 장치일 수 있거나 이들을 포함할 수 있다는 점이 이해되어야 한다. 이 시스템들에서, 컴퓨터 또는 다른 전자 컨트롤러 장치는 AVB 인에이블되고 및/또는 네트워크(110)와 직접 통신할 수 있다. 이 시스템들에서, 컴퓨터 또는 다른 전자 컨트롤러 장치는 표준 유선 또는 무선 연결과 같은 다양한 방법들로 물리 장치 및/또는 상이한 장치와 통신할 수 있다. 다양하게 다른 대안들이 가능하다.
각각의 리스너(140, 141, 및 142)는 하나 이상의 리스너 속성들을 가질 수 있다. 리스너 속성은 예를 들어 리스너 준비, 리스너 요구 실패, 및/또는 리스너 준비 실패 속성일 수 있다. 이 속성들은 리스너가 첨부하기를 원할 수 있는 스트림 ID와 같은 단일 정보를 포함할 수 있거나 포함하지 않을 수 있다.
하나 이상의 리스너 속성들은 네트워크(110)에 의해, 네트워크를 통해, 및/또는 네트워크를 사용하여 송신될 수 있다. 하나 이상의 리스너 속성들은 토커들(130, 131, 및 132), 토커 / 리스너들(150), 및/또는 컨트롤러들(190)와 같은 네트워크(110) 상의 하나 이상의 수신 장치들에 송신되고, 수신 장치들에 의해 액세스되고, 및/또는 수신 장치들에 의해 수신될 수 있다. 하나 이상의 리스너 속성들은 토커들(130, 131, 및 132), 리스너들(140, 141, 및 142), 토커 / 리스너들(150), 및/또는 컨트롤러들(190) 중 하나 이상에 저장될 수 있다. 하나 이상의 리스너 속성들은 리스너를 데이터 스트림 및/또는 토커와 연결하기 위해 사용될 수 있다. 리스너 속성들의 다양하게 다른 사용들 및 기능들이 가능하다.
리스너 속성들은 리스너(140)에 관한 특성을 지정, 포함, 및/또는 그렇지 않으면 식별할 수 있다. 리스너 속성들은 예를 들어 토커 또는 리스너 내의 스트림 예약 프로토콜 스택의 외부에 존재하고, 및/또는 사용될 수 있고, 및/또는 리스너의 속성들을 네트워크(110) 상의 장치들에 통지하기 위해 사용될 수 있다. 예를 들어, 리스너 속성은 리스너(140)가 관심이 있을 수 있는 어떤 토커들을 지정할 수 있다. 리스너 속성은 리스너(140)에 대한 고유 리스너 ID를 지정할 수 있으며, 고유 리스너 ID는 예를 들어 리스너(140)를 네트워크(110) 상의 다른 장치들에 고유하게 식별시킬 수 있다. 리스너 속성은 리스너가 이용가능한 대역폭, 리스너(140)가 관심이 있을 수 있고 및/또는 처리할 수 있는 데이터 스트림의 타입, 및/또는 리스너(140)의 다양한 능력들과 같은 리스너(140)의 하나 이상의 능력들을 식별할 수 있다. 리스너 속성은 부가적으로 또는 대안적으로 리스너(140)에 관한 다양하게 다른 정보 및/또는 데이터를 지정할 수 있다. 하나의 리스너 속성은 다수의 정보 및/또는 데이터를 포함할 수 있다. 일부 시스템들에서, 각각의 리스너 속성은 단 하나의 정보 및/또는 데이터와 관련될 수 있고, 각각의 리스너(140, 141, 및 142)는 다수의 리스너 속성들을 가질 수 있다. 다른 시스템들에서, 각각의 리스너(140, 141, 및 142)는 리스너들에 관한 다수의 정보 및/또는 데이터를 지정하는 단 하나의 리스너 특성을 갖는다. 다양한 조합들이 가능하다.
토커 / 리스너들(150)은 정보 및/또는 데이터를 네트워크(110)를 통해 송신하고 수신하도록 구성, 적응, 동작가능, 및/또는 엔에이블될 수 있다. 토커 / 리스너(150)는 토커(130) 및 리스너(140)의 능력들 및 기능들을 포함할 수 있다. 일부 시스템들에서, 네트워크(110)와 연결되는 모든 장치들은 토커 / 리스너들(150)일 수 있다. 다른 시스템들에서, 네트워크(110)와 연결되는 장치들의 일부는 토커 / 리스너들(150)일 수 있거나 네트워크(110)와 연결되는 장치들 중 아무것도 토커 / 리스너들(150)이 아닐 수 있다. 이하의 논의는 토커들(130) 및 리스너들(140)을 개별적으로 단지 언급할 수 있지만, 일부 시스템들에서, 논의된 토커들(130, 131, 및 132) 및/또는 리스너들(140, 141, 및 142)의 기능들 및 속성들은 토커 / 리스너들(150)에 의해 달성될 수 있다는 점이 이해되어야 한다. 다양한 조합들이 가능하다.
시스템은 하나 이상의 컨트롤러들(190)을 포함할 수 있다. 컨트롤러(190)는 도 10에 도시되고 후술되는 컴퓨터 시스템(1000)과 같은 컴퓨터 시스템의 특징들의 일부 또는 전부이거나 아니거나 일부 또는 전부를 포함하거나 포함하지 않을 수 있다. 컨트롤러(190)는 이더넷 AVB 인에이블되고 및/또는 호환될 수 있다. 컨트롤러(190)는 IEEE 802.1Q에 개설되는 스트림 예약 프로토콜과 같은 하나 이상의 표준들 또는 프로토콜들에 따라, 이들을 통해, 및/또는 이들과 함께와 같이, 이더넷 AVB 네트워크와 통신하고 및/또는 이더넷 AVB 네트워크를 통해 통신하도록 구성, 적응, 동작가능, 및/또는 인에이블될 수 있다. 대안적으로, MMRP와 같은 다양하게 다른 프로토콜들이 사용될 수 있다.
컨트롤러(190)는 토커들(130, 131, 132), 리스너들(140, 141, 및 142), 토커/ 리스너(150), 및 클라이언트(160)와 직접 또는 간접적으로 통신하도록 구성되는 응용 레벨 인터페이스이거나 응용 레벨 인터페이스를 포함할 수 있다. 컨트롤러(190)는 토커(130)와 리스너(140) 사이에서와 같이, 2개 이상의 장치들 사이에서 데이터 스트림의 연결을 관리하고 및/또는 제어하도록 구성될 수 있다. 컨트롤러(190)는 클라이언트(160)와 통신하도록 구성될 수 있다. 클라이언트(160)는 2개의 장치들 사이에서 데이터 스트림을 수립하고 및/또는 해체하기를 원하는 장치일 수 있다. 예를 들어, 클라이언트(160)는 리모트 컨트롤일 수 있다. 리모트 컨트롤은 컨트롤러(190)에게 DVD(Digital Versatile Disc) 플레이어 및 텔레비전 및/또는 스피커들 사이에 연결을 수립하여 DVD를 플레이하라고 명령하는 "Play" 커맨드(command)와 같은 커맨드를 컨트롤러(190)에 발행하도록 구성될 수 있다. 도 1에서, 컨트롤러(190)는 직접, 또는 네트워크(110)를 통해 클라이언트와 통신할 수 있다. 컨트롤러(190) 및 토커들(130, 131, 및 132) 및/또는 리스너들(140, 141, 및 142) 사이의 다양하게 다른 통신들 및 상호작용들이 가능하다. 게다가, 일부 예들에서, 토커들(130), 리스너들(140), 및 리스너/토커들(150)이 자체 구성될 때와 같은, 일부 예들에서, 컨트롤러(190), 및/또는 클라이언트(160)가 생략될 수 있다.
도 2는 전자 장치들(230, 240, 260, 및 290)을 포함하는 복수의 전자 장치들을 포함하는 시스템(200)의 블록도이다. 전자 장치들(230, 240, 260, 및/또는 290)은 이전에 설명된 바와 같이, 토커의 역할, 리스너의 역할, 토커 / 리스너의 역할, 클라이언트의 역할, 및/또는 컨트롤러의 역할과 같은 하나 이상의 역할들을 수행하도록 구성될 수 있다. 전자 장치들(230, 240, 260, 및/또는 290)은 상이한 역할들을 상이한 시간들에 또는 상이한 상황들에서 수행하도록 구성될 수 있다. 대안적으로, 전자 장치들(230, 240, 260, 및/또는 290)의 역할들은 고정될 수 있다. 시스템(100)과 유사하게, 시스템(200)의 이하의 설명을 위해, 전자 장치들(230, 240, 260, 및 290)은 토커(230), 리스너(240), 클라이언트(260), 및 컨트롤러(290)로 지정된다.
도 2는 토커(230), 리스너(240), 클라이언트(260), 및 컨트롤러(290)의 구성요소들을 예시한다. 시스템(200) 및/또는 토커(230), 리스너(240), 클라이언트(260), 및/또는 컨트롤러(290)를 포함하는 시스템(200)의 구성요소들의 특징들 또는 동작들은 도 1에 도시된 시스템(100)의 하나 이상의 토커들(130, 131, 132), 하나 이상의 리스너들(140, 141, 142), 하나 이상의 토커 / 리스너들(150), 하나 이상의 클라이언트들(160), 및/또는 하나 이상의 컨트롤러들(190)에서 발견될 수 있고, 시스템(100)의 특징들은 시스템(200)에서 발견될 수 있다.
클라이언트(260)는 메시지들을 컨트롤러(290)에 송신하고 및/또는 컨트롤러(290)로부터 메시지들을 수신하도록 구성될 수 있다. 예를 들어, 클라이언트(260)는 명령어들을 컨트롤러(290)에 제공하여 토커(230)와 리스너(240) 사이에서 AVB 데이터 스트림과 같은 데이터 스트림의 생성 및/또는 제거를 제어하도록 구성될 수 있다. 다른 메시지들은 응용 계층 인터페이스들의 기능들을 질의하고; 응용 계층 인터페이스들의 통지 매트릭스를 관리하고; 클라이언트(260) 및/또는 컨트롤러(290)의 엔트리들이 통지 매트릭스에 존재하는지를 체크하고; 주요 버전, 작은 버전 및 빌드 번호로 분할되는 응용 계층 인터페이스의 버전을 설명하고 및/또는; 모든 기존 AVB 연결들의 어레이를 발생시키기 위해 명령어들을 포함할 수 있다. 클라이언트(260)는 메시지를 클라이언트(260)의 응용 계층 인터페이스(262)를 통해 제공함으로써 명령어들을 제공할 수 있다. 대표적인 응용 계층 인터페이스는 FBlock 인터페이스이다. 컨트롤러(290)는 컨트롤러(290)가 클라이언트(260)로부터 명령어들을 수신할 수 있는 응용 레벨 인터페이스(292)를 포함할 수 있다.
명령어들을 수신하여 토커(230)와 리스너(240) 사이에 데이터 스트림을 생성하는 것에 대응하여, 컨트롤러(290)는 명령어들을 토커(230) 및/또는 리스너(240)에 적절한 커맨드들로 변환하도록 구성될 수 있다. 예를 들어, 클라이언트로부터 명령어들을 수신하는 것에 대응하여, 컨트롤러(290)는 할당 메시지로 언급되는 메시지를 토커(230)에 송신하여 토커(230)에게 데이터 스트림을 설정하라고 명령하도록 구성될 수 있다. 컨트롤러(290)로부터 토커(230)로의 메시지는 컨트롤러(290)의 응용 계층 인터페이스(292)로부터 토커(230)의 응용 계층 인터페이스(232)로 통신될 수 있다. 할당 메시지는 데이터 스트림의 소스를 표시하는 SourceNr 파라미터를 포함하는 다양한 파라미터들을 포함할 수 있다. 토커(230)는 스트리밍될 수 있는 이용가능한 소스들의 리스트를 가질 수 있다. 리스트로부터 특정 소스를 선택함으로써, 토커(230)는 선택된 소스에 대한 대역폭을 할당하도록 구성될 수 있다. 일 예로서, 토커(230)는 스테레오 오디오 스트림 및 5.1 서라운드 인코딩 오디오 스트림을 스트리밍하도도록 구성될 수 있다. 스테레오 오디오 스트림은 소스 1로 지정될 수 있고 5.1 서라운드 인코딩 오디오 스트림은 소스 2로 지정될 수 있다. 토커(230)가 SourceNr 1을 선택하면, 토커(230)는 스테레오 오디오 스트림에 대한 대역폭을 할당할 수 있다. 토커(230)가 SourceNr 2를 선택하면, 토커(230)는 5.1 서라운드 인코딩 오디오 스트림에 대한 대역폭을 할당할 수 있다. 파라미터들은 데이터 스트림이 송신될 하나의 또는 목적지 어드레스들, 데이터 스트림의 프리젠테이션 딜레이, 데이터 스트림의 랭크(예를 들어, 제 1 지시자는 비상 랭크를 표시할 수 있고 제 2 지시자는 정규 랭크를 표시할 수 있음), 데이터 스트림에 사용되는 가상 근거리 통신망(VLAN) 식별자, 및/또는 데이터 스트림의 클래스(예를 들어, 제 1 지시자는 클래스 A를 표시할 수 있고, 제 2 지시자는 클래스 B를 표시할 수 있음)를 포함할 수도 있다.
할당 메시지를 수신하는 것에 대응하여, 토커(230)는 성공 메시지를 컨트롤러(290)에 제공함으로써 토커(230)가 데이터 스트림을 소싱할 수 있다는 컨트롤러(290)에 응답하도록 구성될 수 있다. 성공 메시지는 데이터 소스의 수를 표시하는 SourceNr 파라미터를 포함하는 다양한 파라미터들, 및 토커(230)가 소싱하는 스트림을 고유하게 식별하는 스트림 ID를 포함할 수 있다. 토커(230)는 실패 메시지를 컨트롤러(290)에 제공함으로써 토커(230)가 데이터 스트림을 생성할 수 없음을 컨트롤러(290)에 응답하도록 구성될 수도 있다. 실패 메시지는 토커(230)가 데이터 스트림을 생성할 수 없는지와 관련된 에러 정보를 포함할 수 있다. 토커(230)는 메시지들을 각각 토커(230) 및 컨트롤러(290)의 응용 계층 인터페이스들(232, 292)을 통해 통신함으로써 성공 메시지 및/또는 실패 메시지를 통신할 수 있다.
게다가, 할당 메시지를 수신하는 것에 대응하여, 토커(230)는 토커(230)가 데이터 스트림을 공급하고 있는 것을 리스너(240)에 고지하기 위해 토커 광고(TA) 속성을 등록하도록 구성될 수 있다. 일 예에서, 토커(230)는 IEEE 801.1Qat-2010에 설명되는 바와 같은 스트림 예약 프로토콜("SRP")에 따라, 이 프로토콜을 통해, 및/또는 이 프로토콜을 사용하여 TA 속성을 등록하도록 구성될 수 있다. 할당 메시지를 응용 계층 인터페이스(232)에서 수신하는 것에 대응하여 TA를 등록하기 위해, 응용 계층 인터페이스(232)는 토커 SRP 스택(234)과 통신할 수 있다. 도 2에 도시된 바와 같이, 응용 계층 인터페이스(232)는 토커 상태 기계(236)를 통해 토커 SRP 스택(234)과 통신할 수 있다. 토커 상태 기계(236)는 다양한 상태들 사이를 전환하기 위해 토커(230)가 사용할 수 있는 하나 이상의 알고리즘들을 포함할 수 있다. 토커 상태 기계(236)는 응용 계층 인터페이스(232) 및/또는 토커 SRP 스택(234)과 통신하여 하나 이상의 입력들 또는 이벤트들을 수신하고 수신된 입력 또는 이벤트 및 토커 상태 기계(236)에 의해 결정되는 토커(230) 및/또는 토커 상태 기계(236)의 현재 상태에 기초하여 한 상태로부터 다른 상태로 전환할 수 있다. 부가적으로 또는 대안적으로, 토커 상태 기계(236)는 SRP 스택(236)을 사용하여 네트워크(210)에 걸쳐 전달될 수 있는 토커 광고 메시지 및/또는 토커 실패 메시지와 같은 하나 이상의 메시지들을 SRP 스택(236)에 제공하도록 구성될 수 있다. 일부 예들에서, 토커 상태 기계(236)를 사용하여 수행되는 하나 이상의 동작들은 SRP 이벤트를 리스너(240)에서 촉발시킬 수 있다. 일 예에서, 수행되는 동작은 데이터베이스 변경을 포함할 수 있다.
토커(230)의 응용 계층 인터페이스(232)는 컨트롤러(290)로부터 할당 메시지를 수신할 때, 응용 계층 인터페이스(232)는 할당 메시지를 토커 상태 기계(236)에 통신할 수 있다. 할당 메시지를 수신하면, 토커 상태 기계(236)는 현재 상태를 결정하고 수신된 할당 메시지 및 현재 상태에 대응하는 하나 이상의 동작들을 수행한다. 일 예에서, 현재 상태는 초기 상태를 포함할 수 있다. 초기 상태에서, 토커 상태 기계(236)는 통지를 수신하지 않아서 데이터 스트림을 생성하거나 리스너(240)로부터 등록의 통지를 대기하여 데이터 스트림을 생성한다. 할당 메시지를 초기 상태에서 수신할 때, 토커 상태 기계(236)는 토커 SRP 스택(234)과 통신하고 질의를 발행하도록 구성될 수 있다. 토커 상태 기계(236)가 질의를 발행할 때, 토커 상태 기계(236)는 토커(230)가 생성 시에 관심이 있는 스트림에 대한 스트림 ID들을 토커 SRP 스택(234)에 통지할 수 있다. 질의를 발행하지 않고, 토커(230)는 스트림 ID와 연관되는 리스너 준비 이벤트(LR!)를 결정하지 않을 수 있다. 질의가 발행된 후에, 그 스트림 ID에 대한 리스너(240)에 의해 SRP에 등록되는 임의의 LR은 토커(230)에 의해 결정될 수 있다.
할당 메시지를 수신한 후에, 토커 상태 기계(236)는 TA 속성을 등록하도록 구성될 수도 있다. 일 예에서, 토커(230)는 토커(230)가 질의를 발행한 후에 TA 속성을 등록할 수 있다. TA 속성을 등록하는 것은 토커(230)가 스트림을 예약하는데 필요한 대역폭 및/또는 자원들을 예약할 수 있는 것을 네트워크(200)에 고지할 수 있다. 토커(230)가 TA 속성을 등록할 때, SRP 스택(236)은 등록 및 그것이 등록하고 있는 스트림을 리스너(240)에 통지할 수 있다. 예를 들어, 토커(230)가 TA 속성을 등록할 때, TA 이벤트("TA!")는 리스너(240)에서 촉발될 수 있다. 토커 상태 기계(236)가 TA 속성을 등록한 후에, 토커 상태 기계(236)는 초기 상태로부터 대기 상태로 전환할 수 있으며, 토커 상태 기계(236)는 LR 이벤트와 같은 리스너 등록에 의해 촉발되는 이벤트를 대기할 수 있다. 게다가, TA 속성 등록 후에, 토커(230)는 토커(230)가 데이터 스트림을 소싱할 수 있는 것을 표시하는 성공 메시지를 컨트롤러(290)에 송신하도록 구성될 수 있다. 토커(230)는 토커 상태 기계(236)가 초기 상태로부터 대기 상태로 전환할 때 성공 메시지를 컨트롤러(290)에 송신하도록 구성될 수 있다. 게다가, 토커(230)는 성공 메시지를 토커(230)의 응용 계층 인터페이스(232)를 통해 송신함으로써 성공 메시지를 컨트롤러에 송신할 수 있다. 일 예에서, 컨트롤러(290)에 대한 성공 메시지는 토커(230)가 예약한 스트림에 대한 스트림 ID를 포함한다.
토커(230)로부터 성공 메시지를 수신하는 것에 대응하여, 컨트롤러(290)는 리스너(240)에게 토커(230)가 소싱하고 있거나 소싱하도록 결정했던 스트림에 연결하라고 명령하는 메시지를 리스너(240)에 송신하도록 구성될 수 있다. 컨트롤러(290)로부터 리스너(240)로의 메시지는 연결 메시지로 언급될 수 있다. 일 예에서, 연결 메시지는 토커(230)의 성공 메시지에서 토커(230)에 의해 컨트롤러에 제공되는 스트림 ID를 포함한다. 일 예에서, 컨트롤러(290)는 리스너(240)에 대한 연결 메시지를 컨트롤러(290)의 응용 계층 인터페이스(292)를 통해 컨트롤러의 응용 계층 인터페이스(242)에 통신할 수 있다.
연결 메시지를 수신하는 것에 대응하여, 리스너(240)는 리스너(240)가 데이터 스트림에 연결할 수 있는 것을 토커(230)에 고지하기 위해 리스너 준비(LR) 속성을 등록하도록 구성될 수 있다. 일 예에서, 리스너(240)는 IEEE 801.1Qat-2010에 설명된 바와 같은 스트림 예약 프로토콜("SRP")에 따라, 이 프로토콜을 통해, 및/또는 이 프로토콜을 사용하여 고지하도록 LR 속성을 등록하도록 구성될 수 있다. 연결 메시지를 응용 계층 인터페이스(242)에서 수신하는 것에 대응하여 LR을 등록하기 위해, 응용 계층 인터페이스(242)는 리스너 SRP 스택(244)과 통신할 수 있다. 도 2에 도시된 바와 같이, 응용 계층 인터페이스(242)는 리스너 상태 기계(246)를 통해 리스너 SRP 스택(244)과 통신할 수 있다. 리스너 상태 기계(246)는 다양한 상태들 사이를 전환하기 위해 리스너(240)가 사용할 수 있는 하나 이상의 알고리즘들을 포함할 수 있다. 리스너 상태 기계(246)는 응용 계층 인터페이스(242) 및/또는 리스너 SRP 스택(244)과 통신하여 하나 이상의 입력들 또는 이벤트들을 수신하고 수신된 입력 또는 이벤트 및 리스너(240) 및/또는 리스너 상태 기계(246)의 현재 상태에 기초하여 한 상태로부터 다른 상태로 전환할 수 있다. 부가적으로 또는 대안적으로, 리스너 상태 기계(246)는 SRP 스택(246)을 사용하여 네트워크(210)에 걸쳐 전달될 수 있는 LR 메시지, 리스너 준비 실패("LRF(Listener Ready Failed)") 메시지, 및/또는 리스너 요청 실패("LAF(Listener Asking Failed)") 메시지와 같은 하나 이상의 메시지들을 SRP 스택(246)에 제공하도록 구성될 수 있다. 일부 예들에서, 리스너 상태 기계(246)를 사용하여 수행되는 하나 이상의 동작들은 SRP 이벤트를 토커(230)에서 촉발시킬 수 있다. 일 예에서, 수행되는 하나 이상의 동작들은 데이터베이스 변경을 포함할 수 있다.
리스너(240)의 응용 계층 인터페이스(242)가 컨트롤러(290)로부터 연결 메시지를 수신할 때, 응용 계층 인터페이스(242)는 연결 메시지를 리스너 상태 기계(246)에 통신할 수 있다. 연결 메시지를 수신하면, 리스너 상태 기계(246)는 리스너 상태 기계의 현재 상태를 결정하고 수신된 연결 메시지 및 현재 상태에 대응하는 하나 이상의 동작들을 수행할 수 있다. 일 예에서, 현재 상태는 초기 상태를 포함할 수 있다. 초기 상태에서, 리스너 상태 기계(246)는 데이터 스트림에 연결하는 통지를 수신하지 않았거나 데이터 스트림에 연결하기 위한 토커(230)로부터의 등록의 통지를 대기하고 있지 않다. 연결 메시지를 초기 상태에서 수신할 때, 리스너 상태 기계(246)는 리스너 SRP 스택(244)과 통신하고 질의를 발행하도록 구성될 수 있다. 질의를 발행함으로써, 리스너 상태 기계(246)는 리스너(240)가 등록 변경들을 수신할 시에 관심이 있는 스트림 ID들을 리스너 SRP 스택(244)에 통지할 수 있다. 일 예에서, 리스너 상태 기계(246)는 질의를 발행할 때 연결 메시지에 포함되는 스트림 ID를 사용할 수 있다. 질의를 발행하지 않고, 리스너(240)는 스트림 ID에 대한 TA 이벤트를 결정하지 않을 수 있다. 질의가 발행된 후에, 그 스트림 ID에 대한 TA를 등록할 수 있는 시스템(200) 내의 리스너 SRP 스택(244), 토커 SRP 스택(234), 또는 임의의 다른 SRP 스택에 등록되는 임의의 TA는 리스너(240)에 제공될 수 있다.
리스너 상태 기계(246)가 질의를 발행한 후에, 리스너 상태 기계(246)는 초기 상태로부터 대기 상태로 전환할 수 있으며, 리스너 상태 기계(246)는 TA 이벤트("TA!")와 같은 토커 등록에 의해 촉발되는 이벤트를 대기할 수 있다. 예를 들어, 토커(230)가 TA를 등록할 때, 등록은 TA 이벤트를 리스너 상태 기계(246)에서 촉발시킬 수 있다. 일 예에서, TA 등록은 리스너 상태 기계(246)가 질의를 리스너 SRP 스택(244)에 발행할 때까지 TA 이벤트를 리스너(240)에서 촉발시키지 않을 수 있다. 리스너 상태 기계(246)가 리스너 SRP 스택(244)으로부터 TA 메시지를 결정할 때, 리스너 상태 기계(246)는 일련의 동작들을 수행할 수 있다. 하나의 동작에서, 리스너 상태 기계(246)는 TA 메시지로 수신되는 정보를 처리한다. TA 메시지를 처리하는 것은 스트림의 목적지 어드레스(DA)를 검색하는 것을 포함할 수 있으며, 목적지 어드레스는 멀티캐스트 어드레스에 어드레스되는 프레임들을 수신하기 위해 리스너(240)의 이더넷 어댑터를 프로그램하는데 필요할 수 있다.
다른 동작에서, 리스너 상태 기계(246)는 리스너의 오디오/비디오 전송 프로토콜(AVTP : audio/video transport protocol) 엔진을 개시할 수 있다. AVTP 엔진을 개시하지 않고, 리스너(240)에 의해 어떤 매체도 인식 또는 처리될 수 없거나, 적어도 모든 매체 미만이 인식 또는 처리될 수 있지만, 매체는 네트워크(210)를 통해 스트리밍되고 있고 리스너(240)에 전달될 수 있다. 예를 들어, 리스너(240)가 LR 속성을 등록했으면, 등록은 LR 이벤트를 토커 상태 기계(236)에서 촉발시켜, 토커(230)가 데이터 스트림을 스트리밍하는 것을 개시하게 할 수 있다. AVTP 프로토콜 엔진을 개시하지 않고, 리스너(240)는 스트림을 인식하지 않을 수 있다. 게다가, 이더넷 어댑터는 AVTP 프로토콜의 개시 동안 프로그램될 수 있다. 이더넷 어댑터를 프로그램하기 위해, TA 처리 동작 동안 결정되는 DA가 사용될 수 있다. AVTP 엔진을 "개시하는 것"은 별도의 모듈을 개시하는 것을 포함할 수 있고, 및/또는 기존 모듈의 실행을 인에이블하는 것을 포함할 수 있다.
다른 동작에서, 리스너(240)는 LR 속성을 등록하도록 구성될 수 있다. 리스너(240)는 LR 속성을 등록하여 리스너(240)가 연결할 수 있거나, 예약하고 있거나, 데이터 스트림에 연결을 예약한 것을 네트워크(210) 및/또는 토커(230)에 고지할 수 있다. LR 속성을 등록하는 것은 LR 이벤트(LR!)를 토커(230)에서 촉발시킬 수 있고, 이에 대응하여 토커(230)는 데이터 스트림을 네트워크(210)를 통해 송신하도록 구성될 수 있다. 상기 설명된 바와 같이, 리스너(240)는 리스너(240)가, 토커(230)가 LR 이벤트를 수신하는 것 때문에 송신하기 위해 결정한 매체 스트림을 인식할 수 있도록 AVTP 엔진을 개시한 후에 LR 이벤트를 등록하도록 구성될 수 있다.
리스너(240)는 대기 상태로부터 감시 상태로 전환하도록 더 구성될 수 있다. 일 예에서, 리스너(240)는 LR 속성을 등록한 후에 대기 상태로부터 감시 상태로 전환하도록 구성될 수 있다. 감시 상태는 스트리밍 매체 연결이 토커(230)와 리스너(240) 사이에 수립될 때 리스너(240)의 "정상 동작" 상태인 것으로 간주될 수 있다. 감시 상태에서, 리스너(240)는 스트림이 연결되고 및/또는 정상적으로 또는 비정상적으로 종결되도록 예약되었다는 표시들을 감시하고 있을 수 있다. 상태 기계(246)는 스트림의 종결을 감시하고 및/또는 검출하도록 구성될 수 있는 리스너(240)의 응용 계층 인터페이스(242), 리스너 SRP 스택(244), 및/또는 다른 구성요소들 또는 모듈들을 통해 수신되는 메시지들 또는 스트림 자체를 감시하고 있을 수 있다. 일 예로서, 감시 상태에서, 리스너 상태 기계(246)는 토커 실패 이벤트("TF!")를 감시하고 있을 수 있으며, 토커 실패 이벤트는 스트림의 예약의 비정상 종결의 표시일 수 있다. TF 이벤트는 비상 우선순위 스트림이, 스트림이 사용하고 있던 대역폭을 차지하기 때문에 발행될 수 있다. 다른 예로서, 감시 상태에서, 리스너 상태 기계(246)는 토커 등록 취소 이벤트("TalkerDeregister!")에 대한 스트림을 감시하고 있을 수 있으며, 토커 등록 취소 이벤트는 토커(230)에 의한 예약의 정상 종결을 표시할 수 있다. 다른 예로서, 리스너 상태 기계(246)는 연결 해제 이벤트("Disconnect!")를 감시하고 있을 수 있으며, 연결 해제 이벤트는 클라이언트(260) 및/또는 컨트롤러(290)가 스트림을 리스닝하는 리스너(240)를 더 이상 원하지 않는다는 컨트롤러(290)로부터의 메시지 또는 커맨드일 수 있다.
LR 속성을 등록한 후에, 및 대기 상태로부터 감시 상태로의 전환 전에, 동안에, 또는 후에, 리스너(240)는 성공 메시지를 컨트롤러(290)에 송신하도록 구성될 수 있으며, 성공 메시지는 리스너(240)가 데이터 스트림에 성공적으로 연결되었고 및/또는 데이터 스트림에 대한 예약을 보유한 것을 표시할 수 있다. 리스너(240)는 성공 메시지를 리스너(240)의 응용 계층 인터페이스(242)를 통해 컨트롤러(290)의 응용 계층 인터페이스(292)에 발행하도록 구성될 수 있다. 리스너(240)로부터 성공 메시지를 수신하는 것에 대응하여, 컨트롤러(290)는 토커(230) 및 리스너(240)가 데이터 스트림을 스트리밍하는 연결을 수립한 것을 클라이언트에 표시하는 응답을 클라이언트(260)에 제공하도록 구성될 수 있다.
일 예에서, 리스너(240)는 리스너(240)가 데이터 스트림에 연결하고 및/또는 데이터 스트림에 대한 예약을 보유할 수 있던 것, 및/또는 데이터 스트림에 리스너의 연결 및/또는 데이터 스트림에 대한 예약이 종결된 것을 표시하는 실패 메시지를 컨트롤러(290)에 발행하도록 구성될 수도 있다. 리스너(240)는 컨트롤러(290)에 대한 실패 메시지를 리스너(240)의 응용 계층 인터페이스(242)를 통해 컨트롤러(290)의 응용 계층 인터페이스(292)에 송신하도록 구성될 수 있다. 실패 메시지는 리스너(240)가 데이터 스트림을 연결할 수 없었거나, 데이터 스트림에 대한 예약을 보유하거나, 또는 데이터 스트림에 계속 연결되고 및/또는 데이터 스트림에 대한 예약을 보유하는지와 연관되는 하나 이상의 에러들과 관련된 정보를 포함할 수 있다. 리스너(240)로부터 실패 메시지를 수신하는 것에 대응하여, 컨트롤러(290)는 토커(230) 및 리스너(240)가 데이터 스트림을 스트리밍하는 연결을 수립할 수 있던 것을 클라이언트에 표시하는 응답을 클라이언트(260)에 제공하도록 구성될 수 있다.
리스너(240)는 리스너 상태 기계(246)가 대기 상태 및/또는 감시 상태로 구성될 때 실패 메시지를 송신하도록 구성될 수 있다. 부가적으로 또는 대안적으로, 리스너(240)는 토커 실패 이벤트에 대응하여 실패 메시지를 송신하도록 구성될 수 있다. 일 예에서, 상기 언급된 바와 같이, 토커 실패 이벤트는 비상 우선순위 스트림이, 스트림이 사용하고 있던 대역폭을 차지하는 것에 의해서와 같이, 스트림의 예약의 비정상 종결에 의해 촉발될 수 있다. 리스너 상태 기계(246)가 대기 상태로 구성되면, 토커 실패 메시지가 수신될 때, 리스너 상태 기계(246)는 리스너(240)가 스트림에 연결될 수 없거나 더 이상 스트림에 연결을 예약할 수 없는 것을 표시하는 리스너 요청 실패("LAF") 속성을 등록하도록 구성될 수 있다. 리스너 상태 기계(246)는 리스너(240)가 스트림에 연결될 수 없거나 더 이상 스트림에 연결을 예약할 수 없는지를 표시하는 하나 이상의 에러들을 로깅하도록 더 구성될 수 있다. 리스너 상태 기계(246)는 대기 상태에 남도록 더 구성될 수 있다. LAF 속성을 등록하고 및/또는 하나 이상의 에러들을 로깅한 후에, 리스너(240)는 실패 메시지를 컨트롤러(290)에 송신하도록 구성될 수 있다.
대안적으로, 리스너 상태 기계(246)가 감시 상태에 있다면, 이 때 토커 실패 메시지를 수신하는 것에 대응하여, 토커 상태 기계(246)는 데이터 스트림으로 연결 해제하기 위해 AVTP 엔진을 초기에 정지시키도록 구성될 수 있다. 그 다음, AVTP 엔진을 정지시킨 후에, 리스너 상태 기계(246)는 LAF 속성을 등록하고 TF 이벤트를 수신하고 및/또는 LAF 속성을 등록하는 것과 연관되는 하나 이상의 에러들을 로깅하도록 구성될 수 있다. 리스너 상태 기계(246)는 감시 상태로부터 대기 상태로 전환하도록 구성될 수도 있다. LAF 속성을 등록하고 및/또는 하나 이상의 에러들을 로깅한 후에, 및 감시 상태로부터 대기 상태로의 전환 전에, 동안에, 또는 후에, 리스너(240)는 실패 메시지를 컨트롤러(290)에 송신하도록 구성될 수 있다.
LR 속성을 리스너 상태 기계(246)에 의해 등록한 후에, LR 이벤트("LR!")가 촉발될 수 있다. 예를 들어, LR 이벤트와 연관되는 LR 신호는 리스너(240)의 리스너 SRP 스택(244) 및/또는 토커(230)의 토커 SRP 스택(234)을 통해 전달되고 토커 상태 기계(236)에 의해 수신될 수 있다. 토커 상태 기계(236)가 LR 이벤트를 수신할 때, 토커 상태 기계(236)는 대기 상태에 있을 수 있다. LR 이벤트의 수신 시에, 및 대기 상태에서, 토커 상태 기계(236)는 토커(230)의 AVTP 엔진을 개시하도록 구성될 수 있다. 토커 상태 기계가 AVTP 엔진을 개시할 때, 토커(240)는 네트워크(210)를 통해 데이터 스트림을 스트리밍하는 것을 개시할 수 있고, 데이터 스트림의 연결은 토커(230)와 리스너(240) 사이에 수립될 수 있다. 리스너(240)가 이미 그 자체의 AVTP 엔진을 개시했기 때문에, 리스너(240)는 그것이 토커(230)로부터 수신되고 있도록 매체 스트림을 인식할 수 있다.
토커(230)는 데이터 스트림을 스트리밍하는 것을 개시하고 토커 상태 기계(236)가 대기 상태와 다른 상태로 구성될 때 LR 이벤트의 수신 시에 리스너(240)와 연결을 수립하도록 구성될 수 있다. 예를 들어, 토커(230)는 토커 상태 기계(236)가 실패 상태로 구성되더라도 LR 이벤트의 수신 시에 리스너(240)와 연결을 수립하도록 구성될 수 있다. 실패 상태에서, 토커(230)는 토커(230)가, LAF 이벤트를 수신함으로써와 같이, 리스너(240)가 데이터 스트림에 연결을 예약할 수 없다는 통지를 수신했기 때문에 데이터 스트림을 토커(240)에 스트리밍하지 않고 있다. LR 이벤트의 수신 시에, 리스너(240)는 리스너(240)가 데이터 스트림에 연결할 수 있는 것을 토커(230)에 표시한다. LR 메시지의 수신 시에, 토커 상태 기계(236)는 AVTP 엔진을 개시하여 리스너(240)와 연결을 수립하고 준비 상태로 전환하며, 토커(230)는 리스너(240)가 스트림에 연결할 수 있다는 통지 하에 동작할 수 있다.
상기 예에서, 토커 상태 기계(236)는 실패 상태에 초기에 구성된다. 토커 상태 기계(236)는 토커(230)가, 리스너(240)가 스트림을 받아들일 수 없다는 통지를 수신했기 때문에 실패 상태로 구성될 수 있다. 리스너(240)는 그것이 스트림을 받아들이지 않을 수 있는 것을 결정할 때, 리스너(240)는 LAF 속성을 등록할 수 있으며, LAF 속성은 LAF 이벤트를 토커(230)에서 촉발시킬 수 있다. 토커 상태 기계(236)가 LAF 이벤트를 수신할 때, 토커 상태 기계(236)는 준비 상태로 구성될 수 있다. LAF 이벤트의 수신 시에, 토커 상태 기계(236)는 AVTP 엔진을 정지시켜 데이터 스트림을 스트리밍하는 것을 정지시키도록 구성될 수 있다. 토커 상태 기계(236)는 LAF 이벤트와 연관되는 하나 이상의 에러들을 로깅하도록 구성될 수도 있다. 게다가, 토커 상태 기계(236)는 준비 상태로부터 실패 상태로 전환하도록 구성될 수 있다.
도 1에 도시된 시스템(100)과 같은 일부 시스템들에서, 시스템(100)의 리스너들(140, 141, 142)과 같은 하나보다 많은 리스너가 존재할 수 있다. 시스템이 하나보다 많은 리스너를 포함하는 경우에, 준비 상태는 모든 리스너들이 데이터 스트림을 받아들일 수 있는 것을 표시할 수 있다. 유사하게, 시스템이 하나보다 많은 리스너를 포함하는 경우에, 실패 상태는 리스너들의 아무것도 스트림을 받아들일 수 없는 것을 표시할 수 있다. 시스템이 하나보다 많은 리스너를 포함하는 경우에, 적어도 하나의 리스너가 스트림을 받아들일 수 있고 또한 적어도 하나의 리스너가 스트림을 받아들일 수 없는 것을 표시하는 제 3 상태가 존재할 수 있다. 예를 들어, 시스템(100)에서, 리스너들(140 및 141)은 리스너들(140, 141)가 스트림을 받아들일 수 있는 것을 표시하는 LR 속성을 각각 등록하면, 그리고 리스너(142)는 리스너(142)가 스트림을 받아들일 수 없는 것을 표시하는 LAF 속성을 등록하면, 이 때 토커 상태 기계(236)는 제 3 상태에 있도록 구성될 수 있다. 제 3 상태는 준비/실패 상태로 언급될 수 있다. 적어도 하나의 LR 속성의 등록 및 적어도 하나의 LAF 속성의 등록은 리스너 준비/실패 이벤트("LRF!")를 촉발시킬 수 있다.
토커 상태 기계(236)는 준비/실패 상태로 전환하도록 구성될 수 있다. 토커 상태 기계(236)가 준비/실패 상태로 전환할 때, 토커 상태 기계(236)는 적어도 하나의 리스너가 스트림을 받아들일 수 있기 때문에 데이터 스트리밍을 개시하고 및/또는 데이터 스트리밍을 유지하도록 구성될 수 있다. 또한, 준비/실패 상태에서, 토커 상태 기계(236)는 적어도 하나의 리스너가 스트림을 받아들일 수 없기 때문에 하나 이상의 에러들을 로깅하도록 구성될 수 있다. 예를 들어, 토커 상태 기계(236)가 대기 상태에 있고 준비/실패 이벤트를 수신하면, 토커 상태 기계(236)는 AVTP 엔진을 개시하고, 에러를 로깅한 다음에, 대기 상태로부터 준비/실패 상태로 전환하도록 구성될 수 있다. 유사하게, 토커 상태 기계(236)가 준비 상태로 구성되고 LRF 이벤트를 수신하면, 상태 기계(236)는 에러를 로킹하고 준비 상태로부터 준비/실패 상태로 전환하도록 구성될 수 있다. 마찬가지로, 토커 상태 기계(236)가 실패 상태로 구성되고 LRF 이벤트를 수신하면, 토커 상태 기계(236)는 AVTP 엔진을 개시하고, 에러를 로킹하며, 실패 상태로부터 준비/실패 상태로 전환하도록 구성될 수 있다.
토커 상태 기계(236)는 준비/실패 상태로부터 전환하도록 구성될 수도 있다. 예를 들어, 토커 상태 기계(236)가 LR 이벤트를 수신할 때, 토커 상태 기계(236)는 준비/실패 상태로부터 준비 상태로 전환하도록 구성될 수 있다. 다른 예로서, 토커 상태 기계(236)가 LAF 이벤트를 수신할 때, 토커 상태 기계(236)는 AVTP 엔진을 정지시키고, LAF 이벤트와 연관되는 임의의 에러들을 로킹하며, 준비/실패 상태로부터 실패 상태로 전환하도록 구성될 수 있다.
토커 상태 기계(236) 및/또는 리스너 상태 기계(246)는 등록 취소 이벤트를 수신하는 것에 대응하여 그 각각의 대기 상태들로 전환하도록 구성될 수도 있다. 토커 상태 기계(236)는 리스너 등록 취소 이벤트(ListenerDeregister!)를 수신할 수 있다. 리스너 등록 취소 이벤트는 리스너 상태 기계(246)가 LR 속성을 등록 취소하는 것과 같이, 하나 이상의 속성들을 등록 취소하는 것에 대응하여 촉발될 수 있다. 리스너 상태 기계(246)는 데이터 스트림에 대한 연결의 정상 또는 자연 종결에 대응하여 속성을 등록 취소할 수 있다. 정상 또는 자연 종결의 일 예는 스트림들을 변경하기 위해 사용자 개시 종결일 수 있다. 다른 예는 장치가 저전력 슬립 상태에 진입하기 위해 시스템 대기 종결일 수 있다. 유사하게, 리스너 상태 기계(246)는 토커 등록 취소 이벤트(TalkerDeregister!)를 수신할 수 있다. 토커 등록 취소 이벤트는 토커 상태 기계(236)가 TA 속성을 등록 취소하는 것과 같이, 하나 이상의 속성들을 등록 취소하는 것에 대응하여 촉발될 수 있다. 토커 상태 기계(236)는 데이터 스트림을 공급하는 정상 또는 자연 종결에 대응하여 속성을 등록 취소할 수 있다. 데이터 스트림을 공급하는 정상 종결의 일예는 스트림에 대한 콤팩트 디스크 오디오 소스의 제거와 같은 매체 변경 때문에 사용자 개시 종결일 수 있다.
리스너 상태 기계(246)는 리스너 상태 기계(246)가 감시 상태로 구성될 때 토커 등록 취소 이벤트를 수신하도록 구성될 수 있다. 리스너 상태 기계(246)가 토커 등록 취소 이벤트를 수신할 때, 리스너 상태 기계는 리스너(240)의 AVTP 엔진을 정지시키도록 구성될 수 있다. 리스너 상태 기계(246)는 LR 속성과 같은 리스너 속성을 등록 취소하도록 구성될 수도 있다. 리스너 속성을 등록 취소하는 것은 리스너 등록 이벤트를 토커 상태 기계(236)에서 촉발시킬 수 있으며, 이는 토커 상태 기계(236)가 토커(230)의 AVTP 엔진을 정지시키고 및/또는 대기 상태로 전환하게 할 수 있다. 리스너 상태 기계(246)가 리스너 속성을 등록 취소한 후에, 리스너 상태 기계는 감시 상태로부터 대기 상태로 전환하도록 구성될 수 있다.
토커 상태 기계(236)는 토커 상태 기계(236)가 준비 상태, 준비/실패 상태, 또는 실패 상태 중 어느 하나에 구성될 때 리스너 등록 취소 이벤트를 수신하도록 구성될 수 있다. 토커 상태 기계(236)가 준비 상태로 구성되고 토커 상태 기계(236)가 리스너 등록 취소 이벤트를 수신할 때, 토커 상태 기계(236), 토커 상태 기계(236)는 토커(230)의 AVTP 엔진을 정지시키고 준비 상태로부터 대기 상태로 전환하도록 구성될 수 있다. 토커 상태 기계(236)가 준비/실패 상태로 구성되고 토커 상태 기계(236)가 리스너 등록 취소 이벤트를 수신할 때, 토커 상태 기계(236)는 토커(230)의 AVTP 엔진을 정지시키고 준비/실패 상태로부터 대기 상태로 전환하도록 구성될 수 있다. 토커 상태 기계(236)가 실패 상태로 구성되고 토커 상태 기계(236)가 리스너 등록 취소 이벤트를 수신할 때, 토커 상태 기계(236)는 실패 상태로부터 토커 상태로 전환하도록 구성될 수 있다.
클라이언트(260)는 명령어들을 컨트롤러(290)에 송신하여 토커(230)와 리스너(240) 사이에서 데이터 스트림의 연결을 제거하도록 구성될 수도 있다. 클라이언트(260)는 명령어들을 송신하여 연결을 클라이언트의 응용 계층 인터페이스(262)를 통해 제거하도록 구성될 수 있다.
클라이언트(260)로부터 명령어들을 수신하여 데이터 스트림의 연결을 제거하는 것에 대응하여, 컨트롤러(290)는 리스너(240)에게 데이터 스트림으로부터 연결 해제하라고 명령하는 메시지를 리스너(240)에 송신하도록 구성될 수 있다. 컨트롤러(290)로부터 리스너(240)로 송신되는 메시지는 연결 해제 메시지로 언급될 수 있다. 연결 해제 메시지는 컨트롤러(290)의 응용 계층 인터페이스(292)로부터 리스너(240)의 응용 계층 인터페이스(242)로 송신될 수 있다.
연결 해제 메시지를 수신하는 것에 대응하여, 리스너(240)는 데이터 스트림으로부터 연결을 제거하도록 구성될 수 있다. 리스너(240)가 연결 해제 메시지를 수신할 때, 리스너 상태 기계(246)는 대기 상태 또는 감시 상태로 구성될 수 있다. 연결 해제 메시지가 수신되고 리스너 상태 기계(246)가 대기 상태에 있을 때, 리스너 상태 기계(246)는 하나 이상의 등록된 LAF 속성들을 등록 취소하도록 구성될 수 있다. 리스너 상태 기계(246)가 임의의 LAF 속성들을 등록하지 않았다면, 이 때 LAF 속성을 등록 취소하는 동작이 취해지지 않을 수 있다. LAF 속성을 등록 취소하거나, 등록 취소하는 어떤 등록된 LAF 속성들이 존재하지 않는 것을 결정한 후에, 리스너(240)는 대기 상태로부터 초기 상태로 전환할 수 있다.
연결 해제 메시지가 수신되고 리스너 상태 기계(246)가 감시 상태에 있을 때, 리스너 상태 기계(246)는 AVTP 엔진을 정지시켜 데이터 스트림의 흐름을 정지시키도록 구성될 수 있다. 리스너 상태 기계(246)는 하나 이상의 등록된 LR 속성들을 등록 취소하도록 구성될 수도 있다. 리스너 상태 기계(246)가 임의의 LR 속성들을 등록하지 않았다면, 이 때 LR 속성을 등록하는 동작이 취해지지 않을 수 있다. LR 속성을 등록 취소하거나, 등록 취소하는 어떤 등록된 LR 속성들이 존재하지 않는 것을 결정한 후에, 리스너 상태 기계(246)는 최종_질의 기능을 리스너 SRP 스택(244)에 발행할 수 있다. 최종_질의 기능을 리스너 SRP 스택에 발행함으로써, 리스너 상태 기계(246)는 리스너 SRP 스택(244)으로부터 리스너(240)가 연결 해제하라고 명령되었던 스트림과 연관되는 스트림 ID와 관련된 임의의 등록들을 제거할 수 있다. 최종_질의는 리스너 SRP 스택(244)이, 리스너(240)가 더 이상 관심이 없는 등록들을 리스너 상태 기계(246)에 더 이상 통지하지 않도록 발행될 수 있다.
최종_질의 기능을 발행한 후에, 리스너 상태 기계(240)는 감시 상태로부터 초기 상태로 전환하도록 구성될 수 있다. 게다가, 리스너 상태 기계(246)가 AVTP 엔진을 정지시키고 임의의 LR 속성들을 등록 취소하고 및/또는 최종_질의를 발행하고, 및/또는 감시 상태로부터 초기 상태로 전환한 후에, 리스너(240)는 리스너(240)가 스트림으로부터 성공적으로 연결 해제된 것을 표시하는 성공 메시지를 컨트롤러(290)에 송신할 수 있다. 리스너는 성공 메시지를 리스너(240)의 응용 계층 인터페이스(242)를 통해 및 컨트롤러(290)의 응용 계층 인터페이스(292)에 송신할 수 있다.
리스너(240)로부터 성공 메시지를 수신하는 것에 대응하여, 컨트롤러(290)는 스트림으로부터 연결 해제하라고 명령될 필요가 있는 시스템 내의 다른 리스너들이 존재하는지를 판단하도록 구성될 수 있다. 예를 들어, 시스템(100)을 다시 참조하면, 리스너(140)가 성공 메시지를 컨트롤러(190)에 송신한 경우, 컨트롤러(190)는 연결 해제 메시지를 리스너(141)에 송신하는 것을 결정할 수 있다. 대안적인 시스템에서, 컨트롤러(190)는 연결 해제 메시지를 동시에 각각의 리스너(140, 141, 142)에 송신하도록 구성될 수 있다. 다른 대안적인 시스템에서, 컨트롤러(190)는 리스너(140)로부터 성공 메시지를 수신하기 전에 연결 해제 메시지를 리스너(141) 및/또는 리스너(142)에 송신하는지를 판단할 수 있다.
모든 리스너들, 예를 들어 시스템(200) 내의 리스너(240)로부터 성공 메시지들을 수신한 후에, 컨트롤러(290)는 토커에게 스트림을 제거하라고 명령하는 메시지를 토커(230)에 송신하도록 구성될 수 있다. 스트림을 제거하는 토커(230)에 대한 메시지는 비할당 메시지로 언급될 수 있다. 컨트롤러(290)는 비할당 메시지를 컨트롤러(290)의 응용 계층 인터페이스(292)를 통해 토커(230)에 송신할 수 있다. 토커(232)는 비할당 메시지를 토커(230)의 응용 계층 인터페이스(232)를 통해 수신할 수 있다.
비할당 메시지를 수신하는 것에 대응하여, 토커(230)는 데이터 스트림을 제거하도록 구성될 수 있다. 토커(230)가 비할당 메시지를 수신할 때, 토커 상태 기계(236)는 대기 상태, 준비 상태, 준비/실패 상태, 또는 실패 상태로 구성될 수 있다. 토커(230)가 비할당 메시지를 수신할 때, 토커 상태 기계(236)는 토커 상태 기계가 현재 있는 상태에 관계없이 초기 상태로 전환하도록 구성될 수 있다. 예를 들어, 비할당 메시지가 수신되고 토커 상태 기계(236)가 대기 상태에 있을 때, 토커 상태 기계(236)는 대기 상태로부터 초기 상태로 전환하도록 구성될 수 있다. 비할당 메시지가 수신되고 토커 상태 기계(236)가 준비 상태에 있을 때, 토커 상태 기계(236)는 AVTP 엔진 및 데이터 스트림의 흐름을 정지시키도록 구성될 수 있다. 토커 상태 기계(236)는 하나 이상의 등록된 토커 속성들을 등록 취소하도록 구성될 수도 있다. 리스너 상태 기계(236)가 임의의 토커 속성들을 등록하지 않았다면, 이 때 토커 속성을 등록 취소하는 동작이 취해지지 않을 수 있다. 토커 속성을 등록 취소하거나, 등록 취소하는 어떤 등록된 토커 속성들이 존재하지 않는 것을 결정한 후에, 토커 상태 기계(236)는 준비 상태로부터 초기 상태로 전환할 수 있다.
비할당 메시지가 수신되고 토커 상태 기계(236)가 준비/실패 상태에 있을 때, 토커 상태 기계(236)는 AVTP 엔진 및 데이터 스트림의 흐름을 정지시키도록 구성될 수 있다. 토커 상태 기계(236)는 하나 이상의 등록된 토커 속성들을 등록 취소하도록 구성될 수도 있다. 리스너 상태 기계(236)가 임의의 토커 속성들을 등록하지 않았다면, 이 때 토커 속성을 등록 취소하는 동작이 취해지지 않을 수 있다. 토커 속성을 등록 취소하거나, 등록 취소하는 어떤 등록된 토커 속성들이 존재하지 않는 것을 결정한 후에, 토커 상태 기계(236)는 준비/실패 상태로부터 초기 상태로 전환할 수 있다.
비할당 메시지가 수신되고 토커 상태 기계(236)가 실패 상태에 있을 때, 토커 상태 기계(236)는 하나 이상의 등록된 토커 속성들을 등록 취소하도록 구성될 수 있다. 리스너 상태 기계(236)가 임의의 토커 속성들을 등록하지 않았다면, 이 때 토커 속성을 등록 취소하는 동작이 취해지지 않을 수 있다. 토커 속성을 등록 취소하거나, 등록 취소하는 어떤 등록된 토커 속성들이 존재하지 않는 것을 결정한 후에, 토커 상태 기계(236)는 최종_질의 기능을 토커 SRP 스택(234)에 발행할 수 있다. 최종_질의를 발행함으로써, 리스너 상태 기계(236)는 토커 SRP 스택(234)으로부터 토커(230)가 연결 해제하라고 명령되었던 스트림과 연관되는 스트림 ID와 관련된 임의의 등록들을 제거할 수 있다. 최종_질의는 토커 SRP 스택(234)이, 토커(230)가 더 이상 관심이 없는 등록들을 토커 상태 기계(236)에 더 이상 통지하지 않도록 발행될 수 있다. 토커 상태 기계(236)가 최종_질의를 발행한 후에, 토커 상태 기계(236)는 실패 상태로부터 초기 상태로 전환할 수 있다.
토커 속성을 등록 취소한 후에, 및 토커 상태 기계(236)가 대기 상태, 준비 상태, 준비/실패 상태, 또는 실패 상태로 전환하기 전에, 전환하는 동안에, 또는 전환한 후에, 토커(230)는 토커(230)가 스트림을 성공적으로 연결 해제한 것을 표시하는 성공 메시지를 컨트롤러(290)에 송신할 수 있다. 토커(230)는 성공 메시지를 리스너(230)의 응용 계층 인터페이스(232)를 통해 그리고 컨트롤러(290)의 응용 계층 인터페이스(292)에 송신할 수 있다.
토커(240)로부터 성공 메시지를 수신하는 것에 대응하여, 컨트롤러(290)는 스트림이 연결 해제되는 것을 표시하는 메시지를 클라이언트(260)에 송신할 수 있다. 컨트롤러(290)로부터 클라이언트(260)로의 메시지는 클라이언트(260)의 응용 계층 인터페이스(292)를 통해 송신될 수 있다. 메시지는 클라이언트(260)의 응용 계층 인터페이스(262)를 통해 클라이언트(260)에 의해 수신될 수 있다.
일 예에서, TA 또는 LR 이벤트들은 네트워크(210)에 의해 토커 SRP 스택(234) 및/또는 리스너 SRP 스택(244)을 통해 전달될 때 변경될 수 있다. 일 예에서, 시스템(200)은 토커(230) 및/또는 리스너(240), 컨트롤러(290), 및/또는 클라이언트(260)와 같은 엔드포인트들과 다른 구성요소들을 포함할 수 있다. 예를 들어, 시스템(200)은 스위치들 및/또는 브리지들과 같은 구성요소들을 포함할 수 있다. 스위치들 및/또는 브리지들은 새로운 예약을 주어진 경로를 통해 설정하기 위해 충분한 대역폭이 존재하는지를 판단하는 책임이 있을 수 있다. 시스템(200)이 스위치들 및/또는 브리지들을 포함하는 경우에, 대역폭 계산은 TA 또는 LR 이벤트를 수신하는 각각의 스위치 및/또는 브리지에 의해 수행될 수 있다. 스위치 또는 브리지는 충분한 대역폭이 존재하는 것을 결정하기만 하면, 예약은 스위치 또는 브리지에 이루어지고 TA 또는 LR은 전달을 계속한다. 스트림이 스위치 또는 브리지를 토커(230) 또는 리스너(240)와 같은 타겟을 향해 통과시키기에 충분한 대역폭이 존재하지 않으면, 스위치 또는 브리지는 TA 대신에 TF 또는 LR 대신에 LAF를 등록할 것이며, 이는 그 다음에 리스너 또는 토커를 향해 계속 전달하게 할 것이다. 하나 이상의 등록들이 활성적인 시간 기간 동안, 등록들은 토커(230), 리스너(240), 클라이언트(260), 및/또는 컨트롤러(290)와 같은 네트워크(210) 상의 다른 장치들이, 등록들이 여전히 요구되는 것을 인지하도록 주기적으로 반복되고 및/또는 전달될 수 있다. 스트림에 대한 대역폭 요건들이 더 이상 충족될 수 없는 방식으로 하나 이상의 조건들이 예약 경로 내의 어디에서 변경될 때, 변경된 조건들을 식별하는 스위치(즉, 병목 스위치)는 불충분한 대역폭을 갖는 링크들에 대한 하나 이상의 리스너 등록들을 변경한 다음에 변경된 리스너 등록들을 전달할 수 있다. 예를 들어, 스트림에 대한 다수의 리스너 등록들이 존재하면, 그리고 리스너(240)와 토커(230) 사이의 경로 내의 스위치 또는 브리지는 스트림에 대한 리스너 등록들 중 모두가 아닌 하나 이상에 충분한 대역폭이 존재하는 것을 결정하면, 스위치 또는 브리지는 LR 또는 LAF를 LRF로 변환하고, 그 대신에 LRF는 토커(230)에 전달된다.
대안적으로 또는 부가적으로, 토커(230) 및/또는 리스너(240)는 실패 메시지를 토커 상태 기계(236) 및/또는 리스너 상태 기계(246)에 의해 수행되는 임의의 동작들에 관계없는 컨트롤러(290)에 송신하도록 구성될 수 있다. 실패 메시지는 전체 네트워크 큐들 또는 메모리 할당 실패들과 같은 상태 기계들(236, 246)과 관련없는 시스템(200) 내의 조건을 통해 발생하는 실패에 기초할 수 있다. 그러한 실패들을 컨트롤러(290)에 보고함으로써, 토커(230) 및/또는 리스너(240)는 실패들이 응용 계층에서와 같이, 시스템의 상부 레벨에서 복구될 수 있도록 실패들을 시스템(200)에 통지하는 방법을 제공할 수 있다.
응용 계층 인터페이스들(232, 242, 262, 및/또는 292)은 응용 계층 모듈, 응용 계층 인터페이스 모듈, 응용 계층, 및/또는 응용 계층 스택일 수 있고, 이들을 포함할 수 있고, 및/또는 이들로 언급될 수 있다. 응용 계층 인터페이스들(232, 242, 262, 및/또는 292)은 소프트웨어, 하드웨어 또는 프로세서에 의해 실행가능한 그것의 일부 조합을 포함할 수 있다. 응용 계층 인터페이스들(232, 242, 262, 및/또는 292)은 각각의 시스템 구성요소들(230, 240, 260 및/또는 290)에 대한 하나 이상의 관리 태스크들을 수행할 수 있고, 및/또는 하나 이상의 구성요소들을 조정하고 및/또는 조직하여 각각의 시스템 구성요소들(230, 240, 260, 및/또는 290)이, 시스템 구성요소들(230, 240, 260, 및/또는 290)이 구현될 수 있는 태스크들을 수행하는 것을 보장할 수 있다.
토커 SRP 스택(234) 및/또는 리스너 SRP 스택(244)은 대안적으로 SRP 모듈, SRP 스택 모듈, SRP 계층 모듈, SRP, 및/또는 SRP 응용일 수 있고, 이들을 포함할 수 있고, 및/또는 이들로 언급될 수 있다. 토커 SRP 스택(234) 및/또는 리스너 SRP 스택(244)은 소프트웨어, 하드웨어 또는 프로세서에 의해 실행가능한 그것의 일부 조합을 포함할 수 있다. 토커 SRP 스택(234) 및/또는 리스너 SRP 스택(244)은 메모리 및/또는 데이터베이스와 통신하고 및/또는 이들을 포함할 수 있으며, 토커 SRP 스택(234) 및/또는 리스너 SRP 스택(244)은 수신된 데이터 스트림들에 관한 정보와 같은 정보 및/또는 데이터를 저장하기 위해 사용될 수 있다. 토커 SRP 스택(234) 및/또는 리스너 SRP 스택(244)에 의해 액세스가능하고 이용되는 메모리 및/또는 데이터베이스는 토커 SRP 스택(234) 및/또는 리스너 SRP 스택(244)의 일부일 수 있거나, 메모리(238) 및/또는 메모리(248)와 같은 토커(230) 및/또는 리스너(240)의 별도의 구성요소일 수 있다. 메모리(238) 및/또는 메모리(248)는 동작을 위한 명령어들 및/또는 SRP 스택(238) 및/또는 SRP 스택(248)에 의해 수행될 기능들을 포함하고 및/또는 저장할 수 있다. 다양하게 다른 예들이 가능하다.
토커 상태 기계(236) 및/또는 리스너 상태 기계(246)는 컴퓨터 명령어들, 컴퓨터 코드, 디지털 로직, 다른 소프트웨어, 하드웨어, 또는 그것의 임의의 조합을 포함할 수 있으며 그 중 일부는 메모리(238), 메모리(248), 및/또는 토커(230) 및/또는 리스너(240) 내부 또는 외부의 임의의 다른 저장 장치에 저장될 수 있고, 그것은 하나 이상의 프로세서들에 의해 실행가능하다.
메모리(238) 및/또는 메모리(248)는 랜덤 액세스 메모리, 판독 전용 메모리, 프로그램가능 판독 전용 메모리, 전기적 프로그램가능 판독 전용 메모리, 전기적 소거가능 판독 전용 메모리, 플래시 메모리, 자기 테이프 또는 디스크, 광 매체 등을 포함하지만 이들에 제한되지 않는 다양한 타입들의 휘발성 및 비휘발성 저장 매체와 같은 컴퓨터 판독가능 저장 매체를 포함할 수 있지만, 이에 제한되지 않는다. 일 예에서, 메모리(238) 및/또는 메모리(248)는 후술되는 컴퓨터 시스템(1000)의 프로세서(1002)와 같은 프로세서에 대한 캐시 또는 랜덤 액세스 메모리를 포함할 수 있다. 대안적인 예들에서, 메모리(238) 및/또는 메모리(248)는 프로세서의 캐시 메모리, 시스템 메모리, 또는 다른 메모리와 같이, 프로세서로부터 분리된다. 메모리(238) 및/또는 메모리(248)는 데이터를 저장하는 외부 저장 장치 또는 데이터베이스일 수 있다. 예들은 하드 드라이브, 콤팩트 디스크("CD"), 디지털 비디오 디스크("DVD"), 메모리 카드, 메모리 스틱, 프로피 디스크, 범용 직렬 버스("USB") 메모리 장치, 또는 데이터를 저장하도록 동작하는 임의의 다른 장치를 포함한다. 메모리(238) 및/또는 메모리(248)는 프로세서에 의해 실행가능한 명령어들을 저장하도록 동작가능할 수 있다. 도면들에 예시되거나 설명되는 기능들, 행위들 또는 태스크들은 메모리(238) 및/또는 메모리(248)에 저장된 명령어들을 실행하는 프로그램된 프로세서에 의해 수행될 수 있다. 기능들, 행위들 또는 태스크들은 특정 타입의 명령어 세트, 저장 매체, 프로세서 또는 처리 전략과 관계없고 단독으로 또는 결합하여 동작하는 소프트웨어, 하드웨어, 집적 회로들, 펌웨어, 마이크로코드 등에 수행될 수 있다. 마찬가지로, 처리 전략들은 다중 처리, 멀티태스킹, 병령 처리 등을 포함할 수 있다.
토커 SRP 스택(234) 및/또는 리스너 SRP 스택(244)은 각각 속성 데이터베이스들(235, 245)을 포함하고, 속성 데이터베이스들과 연결되고, 및/또는 속성 데이터베이스들과 통신할 수 있다. 일 예에서, 속성 데이터베이스(235) 및/또는 속성 데이터베이스(245)는 MSRP 속성 데이터베이스를 포함할 수 있다. 속성 데이터베이스(235) 및/또는 속성 데이터베이스(245)는 메모리를 나타낼 수 있으며, 메모리는 메모리(238) 및/또는 메모리(248), 데이터 스토리지 뱅크(storage bank), 및/또는 다양하게 다른 구성요소들과 비슷하고 및/또는 이들과 유사할 수 있다. 속성 데이터베이스들(235) 및/또는 속성 데이터베이스(245)는 도 10에 도시되고 후술되는 컴퓨터 시스템(1000)과 같은 컴퓨터 시스템의 하나 이상의 특징들일 수 있거나 아닐 수 있으며 또는 하나 이상의 특징들을 포함할 수 있거나 포함하지 않을 수 있다. 속성 데이터베이스(235) 및/또는 속성 데이터베이스(245)는 토커 속성 및/또는 토커 스트림 ID와 새로운 특성이 네트워크(210) 상에 등록되고 및/또는 토커 SRP 스택(234) 및/또는 리스너 SRP 스택(244)에 의해 수신될 때마다 상위 계층 응용을 통지하도록 설계될 수 있는 공용 프로그래밍 인터페이스("API(application programming interface)")를 가질 수 있다.
언급된 바와 같이, 토커(230)는 토커 속성들을 가질 수 있고, 및/또는 리스너(240)는 리스너 속성들을 가질 수 있다. 속성 데이터베이스(235) 및/또는 속성 데이터베이스(244)는 하나 이상의 토커 속성들 및/또는 리스너 속성들을 포함하고 및/또는 저장하는 데이터베이스를 나타낼 수 있다. 예를 들어, 속성 데이터베이스(235)는 토커(230)에 대한 속성들을 포함할 수 있고, 및/또는 속성 데이터베이스(245)는 네트워크(210) 상의 또는 네트워크와 연결되는 리스너(240)에 대한 속성들을 포함할 수 있다. 속성 데이터베이스(235) 및/또는 속성 데이터베이스(245)는 토커(230) 및/또는 리스너(240)가 있는 곳, 토커(230)로부터의 데이터 스트림이 필요로 할 수 있는 어느 정도의 대역폭, 어느 정도의 대역폭이 리스너(240)에 이용가능할 수 있는지, 토커(230) 및/또는 리스너(240)에 대한 고유 스트림, 및/또는 다양하게 다른 정보 및/또는 데이터를 저장하거나 식별할 수 있다. 속성 데이터베이스(235) 및/또는 속성 데이터베이스(245)는 예를 들어 제 1 고유 스트림 ID를 갖는 토커(230)가 이더넷 AVB 네트워크와 연결되는 것을 표시하는 정보 및/또는 데이터를 저장하며, 어떤 정보 및/또는 데이터가 네트워크(210)로부터 요청되고 및/또는 컨트롤러(290)가 토커(230)로부터 데이터 스트림을 획득 및/또는 등록하는지, 및 리스너(240)가 토커(230)로부터 데이터 스트림을 등록했고, 및/또는 데이터 스트림을 수신하는 것을 시작하면 몇 퍼센트의 이더넷 연결이 사용될 것인지를 식별할 수 있다. 네트워크(210)로부터의 하나 이상의 데이터 스트림들과 같은, 속성 데이터베이스(235) 및/또는 속성 데이터베이스(245)에 의해 수신되는 정보 및/또는 데이터는 토커 SRP 스택(234) 및/또는 리스너 SRP 스택(244)으로부터 응용 계층 인터페이스(232) 및/또는 응용 계층 인터페이스(242)로 전송, 출력, 송신, 및/또는 통과될 수 있다.
일부 시스템들에서, 토커(230)의 속성 데이터베이스(235) 및/또는 리스너(240)의 속성 데이터베이스(245)는 별도의 및/또는 집합적 속성 데이터베이스로 생성되고 및/또는 갱신될 수 있다. 이러한 별도의 및/또는 집합적 속성 데이터베이스는 토커(230) 및 리스너(240) 둘 다에 대한 하나의 데이터베이스를 나타낼 수 있다. 도 1에 도시된 시스템(100)을 다시 참조하면, 다수의 토커들(130, 131, 132) 및/또는 다수의 리스너들(140, 141, 142)이 존재하는 경우에, 이러한 별도의 및/또는 집합적 속성 데이터베이스는 토커들(130, 131, 및 132)의 다수 또는 모두 및/또는 리스너들(140, 141, 및 142)의 모두에 대한 하나의 데이터베이스를 나타낼 수 있다. 예를 들어, 이러한 별도의 및/또는 집합적 MSRP 속성 데이터베이스는 네트워크(110)에 부착되고, 및/또는 네트워크와 통신할 수 있고, 및/또는 하나 이상의 토커들(130, 131, 및 132) 및/또는 리스너들(140, 141, 및 142)에 관한 정보 및/또는 데이터를 저장할 수 있다. 대안적으로 또는 부가적으로, 각각의 토커(130, 131, 및 132) 및/또는 각각의 리스너(140, 141, 및 142)는 속성 데이터베이스를 포함하고 및/또는 별도의 및/또는 집합적 MSRP 속성 데이터베이스에 액세스가능할 수 있다.
속성 데이터베이스(235) 및/또는 속성 데이터베이스(245)는 별도의 및/또는 집합적 속성 데이터베이스의 카피일 수 있고, 및/또는 이 데이터베이스로부터 정보를 포함할 수 있다. 그러한 시스템들에서, 별도의 및/또는 집합적 속성 데이터베이스는 연속적으로 갱신되거나, 다양하게 다른 간격들에서 갱신될 수 있다. 일부 시스템들에서, 별도의 및/또는 집합적 속성 데이터베이스는 수신되고 및/또는 SRP 속성 데이터베이스들(235, 245) 각각에 저장되는 데이터 스트림들에 관한 정보 및/또는 데이터에 기초하여 정보를 수집하고 및/또는 갱신할 수 있다. 갱신들은 별도의 및/또는 집합적 속성 데이터베이스에 의해 매 10-15 초 정도와 같은 다양한 간격들에서 속성 데이터베이스(235) 및/또는 속성 데이터베이스(245)에 송신될 수 있다. 이 시스템들에서, 속성 데이터베이스(235) 및/또는 속성 데이터베이스(245)는 동일할 수 있다.
대안적인 예에서, 속성 데이터베이스(235) 및/또는 속성 데이터베이스(245)는 토커(230) 및/또는 리스너(240)에 포함될 수 있는 것이 아니라, 개별적으로 존재하고 및/또는 토커(230) 및/또는 리스너와 통신할 수 있다. 다른 대안적인 예에서, 별도의 및/또는 집합적 속성 데이터베이스의 부분들은 토커(230) 및/또는 리스너(240)가 파워 업될 때 외부 데이터베이스로부터 추출되고 토커(230) 및/또는 리스너(240) 내의 휘발성 메모리에 저장될 수 있다. 속성 데이터베이스(235) 및/또는 속성 데이터베이스(245)의 다양하게 다른 예들, 기능들 및/또는 특징들이 가능하다.
도 3은 이더넷 AVB 네트워크에서 토커와 리스너 사이에 데이터 스트림을 생성하기 위해 이더넷 AVB 네트워크를 통해 통신하는 시스템에서 컨트롤러가 수행할 수 있는 대표적인 방법(300)의 흐름도를 도시한다. 방법은 컨트롤러가 초기 상태로 구성될 수 있는 블록(302)에서 시작하고 클라이언트로부터 명령어들을 개시하여 토커와 리스너 사이에 데이터 스트림을 생성한다. 블록(304)에서, 컨트롤러는 클라이언트로부터 명령어들을 수신하여 데이터 스트림을 생성한다. 명령어들은 응용 계층과 같은 시스템의 상위 레벨 계층을 통해 송신될 수 있다. 클라이언트는 명령어들을 응용 계층 인터페이스를 통해 송신할 수 있다. 일 예에서, 응용 계층 인터페이스는 기능 블록(FBlock) 인터페이스이다. 컨트롤러는 컨트롤러의 응용 계층 인터페이스를 통해서와 같이, 응용 계층에서 클라이언트로부터 명령어들을 수신하도록 구성될 수 있다.
블록(306)에서, 클라이언트로부터 명령어들을 수신하여 데이터 스트림을 생성하는 것에 대응하여, 컨트롤러는 토커에게 데이터 스트림을 생성하라고 명령하는 메시지를 토커에 송신하도록 구성될 수 있다. 할당 메시지는 컨트롤러의 응용 계층 인터페이스로부터 시스템의 이더넷 AVB 네트워크 계층을 통해 토커의 FBlock 인터페이스와 같은 응용 계층 인터페이스로 송신될 수 있다. 할당 메시지는 데이터 소스의 수를 표시하는 SourceNr 파라미터, 데이터 스트림이 송신될 하나 이상의 목적지 어드레스들, 데이터 스트림의 프리젠테이션 딜레이, 데이터 스트림의 랭크(예를 들어, 제 1 지시자는 랭크 랭크를 표시할 수 있고 제 2 지시자는 정규 랭크를 표시할 수 있음), 데이터 스트림에 사용되는 가상 근거리 통신망(VLAN) 식별자, 및/또는 데이터 스트림의 클래스(예를 들어, 제 1 지시자는 클래스 A를 표시할 수 있고, 제 2 지시자는 클래스 B를 표시할 수 있음)를 포함하는 다양한 파라미터들을 포함할 수 있다.
블록(308)에서, 컨트롤러는 토커가 데이터 스트림을 생성할 수 있는지를 판단한다. 컨트롤러는 토커로부터 응답 메시지를 수신하는 것에 기초하여 토커가 데이터 스트림을 생성할 수 있는지를 판단하고 응답 메시지가 성공 메시지 또는 실패 메시지인지를 식별할 수 있다. 응답 메시지는 토커의 응용 계층 인터페이스를 통해 송신될 수 있다. 성공 메시지는 토커가 데이터 스트림을 생성할 수 있는 것을 표시할 수 있다. 성공 메시지는 토커가 질의를 토커 및/또는 시스템 내의 SRP 스택에 발행하는 것, 토커 광고 속성을 등록하는 것, 및/또는 리스너 준비 이벤트을 위해 초기 상태로부터 대기 상태로 전환하는 것을 포함하는 일련의 동작을 수행하는 후에 및/또는 동안에 토커에 의해 컨트롤러에 송신될 수 있다. 성공 메시지는 클라이언트가 생성할 수 있는 데이터 스트림을 식별하는 스트림 ID를 포함할 수 있다. 실패 메시지는 토커가 자원들 및/또는 대역폭을 가져서 데이터 스트림을 생성하는지와 관련될 수 있거나 관련되지 않을 수 있다. 예를 들어, 실패 메시지는 실패가 전체 네트워크 큐들 또는 메모리 할당 실패들과 같은 시스템 내의 실패 조건을 통해 발생하면 관련될 수 없고 컨틀롤러에 의해 수신될 수 있다. 컨트롤러가 토커로부터 실패 메시지를 수신하면, 이 때 컨트롤러는 토커가 스트림을 생성할 수 없는 것을 판단하고 블록(316)에서 실패를 클라이언트에 보고할 수 있다. 그 다음, 방법은 컨트롤러가 클라이언트로부터 다른 명령어를 대기하는 블록(302)으로 다시 진행할 수 있다. 컨트롤러가 리스너로부터 성공 메시지를 수신하면, 방법은 블록(318)으로 진행할 수 있다.
블록(318)에서, 리스너로부터 성공 메시지를 수신하는 것에 대응하여, 컨트롤러는 토커 및 리스너가 데이터 스트림에 대한 연결을 수립할 수 있는 것을 표시하는 성공 메시지를 클라이언트에 보고하도록 구성될 수 있다. 컨트롤러로부터 클라이언트로의 메시지는 컨트롤러의 응용 계층 인터페이스를 통해 송신되고 클라이언트의 응용 계층 인터페이스에서 수신될 수 있다. 그 다음, 방법은 컨트롤러가 클라이언트로부터 다른 명령어를 대기하는 블록(302)으로 진행할 수 있다.
도 4는 이더넷 AVB 네트워크에서 토커와 하나 이상의 리스너들 사이의 데이터 스트림을 제거하기 위해 이더넷 AVB 네트워크를 통해 통신하는 시스템에서 컨트롤러가 수행할 수 있는 대표적인 방법(400)의 흐름도를 도시한다. 방법은 컨트롤러가 클라이언트로부터의 명령어들을 대기하는 블록(402)에서 시작하여 토커와 리스너 사이의 데이터 스트림을 제거한다. 블록(404)에서, 컨트롤러는 클라이언트로부터 명령어들을 수신하여 데이터 스트림을 제거한다. 명령어들은 응용 계층과 같은 시스템의 상위 레벨 계층을 통해 송신될 수 있다. 클라이언트는 명령어들을 응용 계층 인터페이스를 통해 송신할 수 있다. 일 예에서, 응용 계층 인터페이스는 기능 블록(FBlock) 인터페이스이다. 컨트롤러는 컨트롤러의 응용 계층 인터페이스를 통해서와 같이, 응용 계층에서 클라이언트로부터 명령어들을 수신하도록 구성될 수 있다.
블록(406)에서, 클라이언트로부터 명령어들을 수신하여 클라이언트로부터 데이터 스트림을 제거하는 것에 대응하여, 컨트롤러는 리스너에게 데이터 스트림으로부 연결 해제하라고 명령하는 연결 해제 메시지를 리스너에 송신하도록 구성될 수 있다. 연결 해제 메시지는 컨트롤러의 응용 계층 인터페이스로부터 시스템의 이더넷 AVB 네트워크 계층을 통해 리스너의 FBlock 인터페이스와 같은 응용 계층 인터페이스로 송신될 수 있다. 블록(408)에서, 컨트롤러는 연결이 제거된 리스너로부터 메시지를 수신한다. 메시지는 리스너로부터 리스너의 응용 계층 인터페이스를 통해 송신될 수 있다. 메시지를 컨트롤러에 송신하기 전에 및/또는 송신하는 것과 동시에, 리스너는 리스너의 AVTP 엔진을 정지시키는 단계, 만약 있다면 리스너 속성들을 등록 취소하는 단계, 최종_질의를 SRP 스택에 발행하여 리스너가 더 이상 관심이 없는 스트림 ID와 연관되는 임의의 등록들을 제거하는 단계, 및 감시 상태로부터 리스닝 상태로 전환하는 단계를 포함하는 일련의 단계들을 수행할 수 있다.
블록(410)에서, 리스너로부터 메시지를 수신한 후에, 컨트롤러는 더 많은 리스너들이 스트림으로부터 연결 해제될지를 판단할 수 있다. 스트림으로부터 연결 해제될 더 많은 리스너들이 존재하면, 이 때 방법은 블록(406)으로 다시 진행하며, 컨트롤러는 다른 리스너를 결정하고 리스너 명령어들을 송신하여 스트림으로부터 연결 해제된다. 대안적으로, 리스너는 하나 이상의 메시지들을 리스너들에 송신하여 스트림으로부터 연결 해제되기 전에 스트림으로부터 연결 해제될 모든 리스너들을 결정할 수 있다. 그 다음, 모든 리스너들을 식별한 후에, 컨트롤러는 모든 연결 해제 메시지들을 동시에 모든 리스너들에 송신할 수 있다. 대안적으로, 컨트롤러는 모든 연결 해제 메시지들을 동시에 모든 리스너들에 송신할 수 있는 것이 아니라, 그럼에도 불구하고 초기 리스너로부터 응답을 수신하기 전에 연결 해제 메시지를 다른 리스너에 송신할 수 있다.
그 다음, 리스너는 모든 리스너들이 스트림으로부터 연결 해제되도록 응답한 것을 결정할 때, 블록(412)에서 컨트롤러는 토커에게 스트림을 제거하라고 명령하는 비할당 메시지를 토커에 송신하도록 구성될 수 있다. 비할당 메시지는 컨트롤러의 응용 계층 인터페이스를 통해 송신되고 토커의 응용 계층 인터페이스에서 수신될 수 있다. 토커의 응용 계층 인터페이스는 FBlock 인터페이스일 수 있다. 토커는 리스너의 AVTP 엔진을 정지시키는 것, 임의의 속성들을 등록 취소하는 것, 최종_질의 기능을 SRP 스택에 발행하는 것, 및/또는 초기 상태로 전환하는 것을 포함하는 일련의 동작들을 수행하여 연결을 제거할 수 있다. 블록(414)에서, 컨트롤러는 스트림의 제거가 성공되었다는 메시지를 토커로부터 수신할 수 있다. 방법은 컨트롤러가 클라이언트로부터의 명령어들을 대기하는 블록(402)으로 다시 복귀된다.
도 5는 컨트롤러로부터 수신되는 명령어들에 기초하여 토커와 리스너 사이에 데이터 스트림을 생성하기 위해 이더넷 AVB 네트워크에서 토커 및 리스너가 수행할 수 있는 대표적인 방법의 흐름도를 도시한다. 방법은 토커에게 데이터 스트림을 생성하라고 명령하는 컨트롤러로부터의 할당 메시지를 토커가 수신하는 블록(520)에서 시작한다. 할당 메시지는 토커에 의해 토커의 FBlock 인터페이스와 같은 상위 레벨 응용 계층 인터페이스를 통해 수신될 수 있다. 할당 메시지를 수신하는 것에 대응하여, 토커는 초기 상태로부터 대기 상태로 전환하도록 구성될 수 있으며, 토커는 리스너에 의해 등록의 통지를 대기한다. 토커는 토커가 데이터 스트림을 생성할 수 있는 것을 표시하는 성공 메시지를 컨트롤러에 송신하도록 구성될 수도 있다. 토커는 성공 메시지를 응용 계층 인터페이스를 통해 컨트롤러에 송신할 수 있다. 성공 메시지는 토커가 생성할 수 있는 스트림을 식별하는 스트림 ID를 포함할 수 있다.
토커가 성공 메시지를 컨트롤러에 송신한 후에, 블록(540)에서 리스너는 컨트롤러로부터 연결 메시지를 수신하도록 구성될 수 있다. 연결 메시지는 리스너의 FBlock 인터페이스와 같은 상위 레벨 응용 계층 인터페이스를 통해 수신될 수 있다. 연결 메시지는 토커가 컨트롤러에 송신한 스트림 ID를 포함할 수 있다. 연결 메시지를 수신한 후에, 리스너는 초기 상태로부터 감시 상태로 전환하도록 구성될 수 있다. 초기 상태로부터 감시 상태로 전환하기 위해, 리스너는 질의를 SRP 스택에 발행하는 것, 수신된 토커 광고 이벤트를 처리하는 것, 리스너의 AVTP 엔진을 개시하는 것, 및/또는 리스너 속성을 등록하는 것을 포함하는 일련의 동작들을 수행하도록 구성될 수 있다.
그 다음, 토커가 리스너 준비 속성을 등록한 후에, 블록(560)에서 리스너가 리스너 준비 속성을 등록한 것을 표시하는 리스너 준비 이벤트를 수신하고, 토커의 AVTP 엔진을 개시하고, 대기 상태로부터 준비 또는 준비/실패 상태로 전환한다. AVTP 엔진을 개시하고 준비 또는 준비/실패 상태로 전환할 때, 토커와 리스너 사이에 연결이 수립되었고 데이터 스트림은 토커로부터 리스너로 흐를 수 있다.
도 6은 도 5의 대표적인 방법의 흐름도를 더 상세히 도시한다. 도 6에 도시된 흐름도는 도 5에 도시된 블록들(520, 540, 및 560)과 연관되는 블록들을 표시하기 위해 3개의 행으로 그룹화되는 블록들(602-632)을 도시한다. 블록들(602-610)은 블록(520)과 연관될 수 있고, 블록들(612-624)은 블록(540)과 연관될 수 있으며, 블록들(626-632)은 블록(560)과 연관될 수 있다. 다른 연관들 또는 조합들이 결정될 수 있다. 방법은 토커 및 리스너가 초기 상태로 구성되는 블록(602)에서 시작한다. 블록(604)에서, 토커는 할당 메시지에 포함되는 명령어들을 수신하여 데이터 스트림을 생성한다. 메시지는 토커의 FBlock 인터페이스와 같은 응용 계층 인터페이스를 통해 수신될 수 있다. 블록(606)에서, 할당 메시지를 수신하는 것에 대응하여, 토커는 질의를 SRP 스택에 발행할 수 있다. SRP 스택에 대한 질의는 토커가 생성할 시에 관심이 있는 스트림에 대한 스트림 ID를 SRP 스택에 통지할 수 있다. 질의를 발행하지 않고, 토커는 스트림 ID와 연관되는 리스너 준비 이벤트("LR!")를 결정하지 않을 수 있다. 질의가 발행된 후에, 그 스트림 ID에 대한 리스너에 의해 SRP 스택에 등록되는 임의의 LR은 토커에 의해 결정될 수 있다.
블록(608)에서, 토커는 토커 광고(TA) 속성을 등록할 수 있다. TA 속성을 등록하는 것은 토커가 스트림을 예약하는데 필요한 대역폭 및/또는 자원들을 예약할 수 있는 것을 이더넷 AVB 네트워크에 고지할 수 있다. 토커가 TA 속성을 등록할 때, SRP 스택은 등록 및 그것이 등록하고 있는 스트림을 리스너에 통지할 수 있다. 토커가 TA 속성을 등록한 후에, 블록(610)에서, 토커는 초기 상태로부터 대기 상태로 전환할 수 있으며, 토커는 LR 이벤트와 같은 리스너 등록에 의해 촉발되는 이벤트를 대기한다. 게다가, TA 속성 등록 후에, 토커는 토커가 데이터 스트림을 생성할 수 있는 성공 메시지를 컨트롤러에 송신하도록 구성될 수 있다. 토커는 성공 메시지를 토커의 응용 계층 인터페이스를 통해 송신함으로써 성공 메시지를 컨트롤러에 송신할 수 있다. 컨트롤러에 대한 성공 메시지는 토커가 예약한 스트림에 대한 스트림 ID를 포함할 수 있다.
블록(612)에서, 리스너는 리스너에게 스트림에 연결하라고 명령하는 컨트롤러로부터의 연결 메시지를 수신할 수 있다. 연결 메시지는 토커가 컨트롤러에 대한 성공 메시지에 포함시킨 스트림 ID를 포함할 수 있다. 리스너는 연결 메시지를 FBlock 인터페이스와 같은 상위 레벨 응용 계층 인터페이스를 통해 수신할 수 있다. 블록(614)에서, 연결 메시지를 수신하는 것에 대응하여, 리스너는 초기 상태로부터 대기 상태로 전환할 수 있으며 그것은 토커에 의해 TA 속성의 등록의 통지를 대기한다. 블록(616)에서, 리스너는 토커가 TA 속성을 등록한 메시지를 수신한다. 리스너는 통지를 SRP 스택을 통해 수신할 수 있다. 토커가 블록(608)에서 TA 속성을 등록했을 때, 등록은 TA 이벤트를 촉발시킬 수 있으며, 이는 블록(616)에서 TA 속성 등록을 리스너에 통지한다. 블록(618)에서, 토커는 TA 메시지를 처리한다. TA 메시지를 처리하는 것은 스트림의 목적지 어드레스(DA)를 검색하는 것을 포함할 수 있으며, 목적지 어드레스는 그 멀티캐스트 어드레스에 어드레스되는 프레임들을 수신하기 위해 리스너의 이더넷 어댑터를 프로그램하는데 필요할 수 있다.
블록(620)에서, 리스너는 데이터 스트림을 인식하고 및/또는 처리하기 위해 AVTP 엔진을 개시할 수 있다. 블록(622)에서, 리스너는 리스너 준비("LR") 속성을 등록한다. 리스너는 리스너가 데이터 스트림을 연결할 수 있거나, 데이터 스트림을 예약하고 있거나, 데이터 스트림에 연결을 보유한 것을 네트워크 및/또는 토커에 고지하기 위해 LR 속성을 등록을 등록할 수 있다. 블록(624)에서, 리스너는 대기 상태로부터 감시 상태로 전환할 수 있다. 감시 상태에서, 리스너는 스트림이 연결되고 및/또는 정상적으로 또는 비정상적으로 종결되도록 예약되었다는 표시들을 감시하고 있을 수 있다. 리스너는 스트림의 종결을 감시하고 및/또는 검출하도록 구성될 수 있는 리스너의 응용 계층 인터페이스, SRP 스택, 및/또는 다른 구성요소들 또는 모듈들을 통해 수신되는 메시지들 또는 스트림 자체를 감시할 수 있다. 일 예에서, 리스너는 토커 실패 이벤트("TF!")를 감시하고 있을 수 있으며, 토커 실패 이벤트는 스트림의 예약의 비정상 종결의 표시할 수 있다. 다른 예로서, 리스너는 토커 등록 취소 이벤트("TalkerDeregister!")를 감시하고 있을 수 있으며, 토커 등록 취소 이벤트는 스트림의 예약의 정상 종결을 표시할 수 있다. 다른 예로서, 리스너는 연결 해제 이벤트("Disconnect!")를 감시하고 있을 수 있으며, 연결 해제 이벤트는 클라이언트 및/또는 컨트롤러가 스트림을 리스닝하는 리스너를 더 이상 원하지 않도록 컨트롤러로부터의 메시지 또는 커맨드일 수 있다. 블록(624)에서, 리스너는 리스너가 데이터 스트림에 성공적으로 연결되고 및/또는 데이터 스트림에 대한 예약을 보유한 것을 표시하는 성공 메시지를 컨트롤러에 송신하도록 구성될 수도 있다. 리스너는 성공 메시지를 리스너의 응용 계층 인터페이스를 통해 발행하도록 구성될 수 있다.
컨트롤러 및/또는 클라이언트는 컨트롤러가 리스너로부터 성공 메시지를 수신한 후에 스트림에 대한 연결이 수립될 수 있는 것을 결정할 수 있지만, 토커는 리스너로부터 준비 등록의 통지를 수신할 때까지 연결을 형성하고 및/또는 데이터를 스트리밍하는 것을 개시하지 않을 수 있다. 블록(626)에서, 토커는 준비 이벤트를 수신한다. 준비 이벤트는 리스너가 리스너 준비 속성을 등록했을 때 촉발될 수 있다. 대안적인 대표적 방법에서, 하나보다 많은 리스너가 존재하는 경우에, AVB 네트워크 내의 스위치 또는 브리지는 스트림을 수신하기 위해 리스너들의 모두가 아닌 적어도 하나에 충분한 대역폭이 존재하는 것을 결정하면, 이 때 스위치 또는 브리지는 준비 이벤트를 준비/실패 이벤트로 변환할 수 있다. 토커는 준비/실패 이벤트의 준비 이벤트를 SRP 스택을 통해 수신할 수 있다.
준비 이벤트 또는 준비/실패 이벤트를 수신하는 것에 대응하여, 블록(628)에서, 토커는 AVTP 엔진을 개시하고 데이터 스트림은 토커로부터 스트림의 스트림 ID와 연관되는 리스너 준비 속성을 등록한 하나 이상의 리스너들로 흐를 수 있다. 블록(630)에서, 토커가 준비/실패 이벤트를 수신했다면, 토커는 데이터 스트림을 받아들일 수 없었던 하나 이상의 리스너들과 연관되는 하나 이상의 에러들을 로깅할 수 있다. 블록(632)에서, 토커는 블록(626)에서 토커에 의해 수신되는 리스너 이벤트에 따라 대기 상태로부터 준비 또는 준비/실패 상태로 전환한다. AVTP 엔진을 개시하고 및/또는 준비 또는 준비/실패 상태로 전환한 후에, 토커와 리스너 사이에 데이터 스트림의 연결이 수립되고 데이터 스트림은 토커로부터 리스너로 성공적으로 흐르고 있다.
도 7은 컨트롤러로부터 수신되는 명령어들에 기초하여 토커와 리스너 사이의 데이터 스트림을 제거하기 위해 이더넷 AVB 환경에서 토커 및 리스너가 수행할 수 있는 대표적인 방법의 흐름도를 도시한다. 방법은 블록(720)에서 시작하며, 리스너는 컨트롤러로부터 연결 해제 메시지를 수신하며, 컨트롤러는 리스너에게 그의 연결을 데이터 스트림으로 제거하라고 명령한다. 리스너는 연결 해제 메시지를 FBlock 인터페이스와 같은 상위 레벨 응용 계층 인터페이스를 통해 수신할 수 있다. 연결 해제 메시지를 수신하는 것에 대응하여, 리스너는 리스너가 SRP 스택을 준비하고 및/또는 최종_질의를 SRP 스택에 발행하기 위해 리스너 준비 속성들과 같은 임의의 리스너 속성들을 등록 취소하도록 구성될 수 있다. 게다가, 연결 해제 메시지에 대응하여, 리스너는 감시 상태로부터 초기 상태로 전환하도록 구성될 수 있다. 게다가, 리스너는 리스너가 그의 연결을 데이터 스트림으로 성공적으로 제거한 것을 표시하는 성공 메시지를 컨트롤러에 송신할 수 있다. 리스너는 성공 메시지를 리스너의 응용 계층 인터페이스를 통해 송신할 수 있다.
블록(740)에서, 토커는 컨트롤러로부터 비할당 메시지를 수신할 수 있으며, 이는 컨트롤러에게 데이터 스크림을 제거하라고 명령할 수 있다. 토커는 리스너가 성공 메시지를 컨트롤로에 송신하는 것에 대응하여 컨트롤러로부터 비할당 메시지를 수신할 수 있다. 토커는 비할당 메시지를 토커의 FBlock 인터페이스와 같은 상위 레벨 응용 계층 인터페이스를 통해 수신할 수 있다. 비할당 메시지를 수신하는 것에 대응하여, 토커는 AVTP 기계를 정지시키고, 임의의 등록된 토커 속성들을 등록 취소하며 준비 또는 준비/실패 상태로부터 초기 상태로 전환할 수 있다.
도 8은 도 7의 대표적인 방법의 흐름도를 더 상세히 도시한다. 도 8에 도시된 흐름도는 도 7에 도시된 블록들(720 및 740)과 연관되는 블록들을 표시하기 위해 2개의 행으로 그룹화되는 블록들(802-818)을 도시한다. 블록들(802-810)은 블록(720)과 연관될 수 있고, 블록들(812-818)은 블록(740)과 연관될 수 있다. 다른 연관들 또는 조합들이 결정될 수 있다. 방법은 리스너가 컨트롤러로부터 명령어들을 수신하여 스트림으로부터 연결 해제하는 블록(802)에서 시작한다. 리스너는 명령어들을 연결 해제 메시지로서 수신할 수 있다. 연결 해제 메시지는 리스너의 상위 레벨 응용 계층 인터페이스를 통해 수신될 수 있다. 블록(804)에서, 연결 해제 메시지를 수신하는 것에 대응하여, 리스너는 AVTP 엔진을 정지시킬 수 있으며, AVTP 엔진은 데이터 스트림이 여전히 리스너로 흐를 수 있더라도 데이터 스트림의 리스너의 인식을 정지시킬 수 있다. 블록(806)에서, 리스너는 하나 이상의 등록된 리스너 준비 속성들을 등록 취소할 수 있다. 리스너가 임의의 LR 속성들을 등록하지 않았다면, 이 때 LR 속성을 등록 취소하는 동작이 취해지지 않을 수 있다. 임의의 LR 속성들을 등록 취소하거나, 등록 취소하는 어떤 등록된 LR 속성들이 존재하지 않는 것을 결정한 후에, 블록(808)에서, 리스너는 최종_질의 기능을 SRP 스택에 발행할 수 있다. 최종_질의 기능을 SRP 스택에 발행함으로써, 리스너는 리스너가 연결 해제하라고 명령되었던 스트림과 연관되는 스트림 ID와 관련되는 임의의 등록들을 SRP 스택으로부터 제거할 수 있다. 최종_질의는 리스너가 더 이상 관심이 없는 등록들을 리스너가 더 이상 통지받지 않도록 발행될 수 있다.
블록(810)에서, 리스너는 감시 상태로부터 초기 상태로 전환할 수 있다. 게다가, 리스너는 리스너가 스트림으로부터 성공적으로 연결 해제한 것을 표시하는 성공 메시지를 컨트롤러에 송신할 수 있다. 리스너는 성공 메시지를 리스너의 응용 계층 인터페이스를 통해 송신할 수 있다.
블록(812)에서, 리스너로부터 성공 메시지를 수신하는 것에 대응하여, 토커는 토커에게 스트림을 제거하라고 명령하는 컨트롤러로부터의 비할당 메시지를 수신할 수 있다. 토커는 비할당 메시지를 토커의 응용 계층 인터페이스를 통해 수신할 수 있다. 블록(814)에서, 토커는 토커의 AVTP 엔진을 정지시킬 수 있으며, AVTP 엔진은 데이터 스트림이 네트워크를 통해 스트리밍하는 것을 중단시킬 수 있다. 블록(816)에서, 토커는 하나 이상의 등록된 토커 속성들을 등록 취소한다. 어떤 속성들도 등록되지 않으면, 이 때 토커 속성을 등록 취소하는 동작이 취해지지 않을 수 있다. 토커 속성을 등록 취소하거나, 등록 취소하는 어떤 등록된 토커 속성들이 존재하지 않는 것을 결정한 후에, 블록(818)에서, 토커는 준비 상태로부터 초기 상태로 전환할 수 있다. 또한, 블록(818)에서, 토커는 토커가 스트림을 성공적으로 연결 해제한 성공 메시지를 컨트롤러에 송신할 수 있다. 토커는 성공 메시지를 토커의 응용 계층 인터페이스를 통해 송신할 수 있다. 토커의 AVTP 엔진을 정지시키고, 임의의 토커 속성들을 등록 취소하고 및/또는 초기 상태로 전환한 후에, 토커와 리스너 사이의 데이터 스트림의 연결이 성공적으로 제거된다.
도 9는 컨트롤러(990), 클라이언트(960), 하나 이상의 토커들(930, 931, 932), 및 하나 이상의 리스너(940, 941, 942)를 포함하는 대표적인 시스템(900)을 도시한다. 대표적인 시스템(900)은 자동차 통신 시스템을 포함할 수 있다. 자동차 통신 시스템(900)의 토커들은 DVD 플레이어(930), CD 플레이어(931), 및/또는 라디오(932)를 포함할 수 있다. 자동차 통신 시스템(900)의 리스너들은 전면 스피커 증폭기(940), 후면 좌석 디스플레이(941), 및 후면 증폭기(942)를 포함할 수 있다. 자동차 통신 시스템의 클라이언트는 헤드 유닛(960)일 수 있다. 헤드 유닛(960)은 볼륨 컨트롤들, 채널 컨트롤들, DVD 플레이어 및/또는 재생, 정지, 빨리감기, 되감기, 및 중지와 같은 CD 플레이어 컨트롤들과 같은 다양한 컨트롤들을 포함할 수 있다. 다른 컨트롤들은 헤드 유닛에 포함될 수 있다. 컨트롤들은 자동차의 운전자 또는 승객과 같은 통신 시스템(900)의 사용자에 의해 동작될 수 있다. 사용자는 헤드 유닛(960)을 동작시켜 토커들(930, 931, 932) 및/또는 리스너들(940, 941, 942)을 제어할 수 있다. 예를 들어, 사용자가 자동차에서 음악의 볼륨을 낮추기를 원하면, 사용자는 헤드 유닛(960) 상의 볼륨 스위치를 동작시킬 수 있으며, 헤드 유닛은 전면 스피커 증폭기(940) 및/또는 후면 스피커 증폭기(942)를 제어할 수 있다.
토커들(930, 931, 932), 리스너들(940, 941, 942), 헤드 유닛(960), 및 컨트롤러(990)는 네트워크(910)를 통해 통신함으로써 서로의 하나 이상과 통신할 수 있다. 네트워크(910)는 이더넷 AVB 네트워크일 수 있다. 토커들로부터 리스너들로 송신되는 데이터 스트림들은 이더넷 AVB 네트워크를 포함하는 하나 이상의 이더넷 케이블들을 통해 송신될 수 있다. 토커들과 리스너들 사이의 스트림에 대한 예약을 보유하고 및/또는 제거하기 위해, 네트워크(910)는 IEEE 802.1Qat-2010에 설명된 바와 같은 스트림 예약 프로토콜을 사용할 수 있다. SRP는 시스템의 구성요소들(930, 931, 932, 940, 941, 942, 960)에 포함되거나 구성요소들에 의해 액세스가능한 SRP 스택을 통해 통신함으로써 사용될 수 있다. 데이터 스트림들을 제어하는 제어 신호들은 이더넷 케이블들을 통해 송신될 수도 있다. 게다가, 제어 신호들은 시스템(900)의 상위 레벨 응용 계층에서 개시, 발생, 수신, 및/또는 처리될 수 있다. 제어 신호들은 이더넷 AVB 네트워크에 의해 응용 계층 인터페이스들을 통해 응용 계층으로 및 응용 계층으로부터 통신될 수 있다. DVD 플레이어(930), CD 플레이어(931), 라디오(932), 전면 스피커 증폭기(940), 후면 좌석 디스플레이(941), 후면 스피커 증폭기(942), 및/또는 헤드 유닛 각각은 응용 계층 인터페이스를 갖는다. 일 예에서, 응용 계층 인터페이스는 FBlock 인터페이스를 포함한다. 시스템(900)의 구성요소들이 FBlock 인터페이스를 갖는 경우에, 네트워크(910)를 통해 송신되는 제어 신호들은 FBlock 제어 신호들을 포함할 수 있다. 컨트롤러(990)는 FBlock 제어 신호들과 같은 제어 신호들을 시스템(900)의 구성요소들(930, 931, 932, 940, 941, 942, 및 960) 각각에 송신하고 및/또는 수신하도록 구성될 수 있다. 컨트롤러(990)는 제어 신호들을 송신하고 및/또는 수신하기 위해 응용 계층 인터페이스일 수 있거나 응용 계층 인터페이스를 포함할 수 있다.
시스템(900)의 대표적인 동작은 자동차의 후면 좌석 내의 승객을 위해 DVD를 개시하기를 원하는 자동차의 운전자를 포함할 수 있다. DVD를 개시하기 위해, 운전자는 헤드 유닛(960)과 통신하는 "재생" 버튼을 누룰 수 있다. "재생" 버튼이 눌려진 것을 인식하는 헤드 유닛(960)은 컨트롤러(990)에게 DVD 플레이어(930)와 후면 좌석 디스플레이(941) 사이에 A/V 스트림을 생성하라고 명령하는 "재생" 커맨드를 컨트롤러(990)에 송신한다. 컨트롤러(990)는 헤드 유닛(960)으로부터 명령어들을 수신하면, 할당 메시지를 DVD 플레이어(930)에 송신하여, DVD 플레이어(930)에게 스트림을 생성하라고 명령한다. 할당 메시지의 수신 시에, DVD 플레이어(930), 또는 DVD 플레이어(930)로 동작가능한 토커는 하나 이상의 상태 기계들을 사용하여 하나 이상의 동작들을 수행하여 스트림을 생성할 수 있다. 예를 들어, DVD 플레이어(930)는 DVD 플레이어(930)가 스트림과 연관되는 임의의 등록들을 통지받을 수 있도록 DVD 플레이어(930)의 SRP 스택에 질의할 수 있다. DVD 플레이어(930)는 토커 광고 속성을 SRP 스택에 등록하여 스트림에 DVD 플레이어의 생성을 고지할 수 있고, 그 다음에 DVD 플레이어는 리스너로서 동작하는 후면 좌석 디스플레이(941)로부터의 리스너 준비 등록 때문에 리스너 준비 이벤트를 수신하는 것을 대기하는 대기 상태로 전환할 수 있다. DVD 플레이어(930)는 성공 메시지를 컨트롤러(990)에 송신할 수도 있다. DVD 플레이어는 성공 메시지를 DVD 플레이어(930)의 FBlock 인터페이스와 같은 응용 계층 인터페이스를 통해 컨트롤러에 송신할 수 있다. 성공 메시지는 DVD 플레이어가 생성하기를 원하는 스트림을 식별하는 스트림 ID를 포함할 수 있다.
컨트롤러(990)는 DVD 플레이어로부터 성공 메시지를 수신할 수 있고, 이에 대응하여 연결 메시지를 후면 좌석 디스플레이(941)에 송신할 수 있으며, 그것은 연결 메시지 내의 스트림 ID를 포함한다. 연결 메시지의 수신 시에, 후면 좌석 디스플레이(941)는 SRP 스택이, 후면 좌석 디스플레이(941)가 연결되기를 원하는 스트림의 스트림 ID와 연관되는 임의의 토커 속성 등록들의 통지를 수신하도록 상태 기계를 사용하여 질의를 SRP 스택에 발행할 수 있다. 게다가, 후면 좌석 디스플레이(941)는 DVD 플레이어에 의해 수행되는 토커 광고 등록 때문에 토커 광고 이벤트를 SRP 스택을 통해 수신할 수 있다. 토커 광고 이벤트의 수신 시에, 후면 좌석 디스플레이(941)는 후면 좌석 디스플레이가 DVD 플레이어(930)에 의해 송신되는 매체 스트림을 인식하고, 리스너 준비 속성을 등록하여 매체 스트림을 받아들일 수 있는 것을 고지하며, 그 다음에 감시 상태로 전환하도록 토커 광고 이벤트를 처리하여 후면 좌석 디스플레이(941)의 AVTP 엔진을 개시할 수 있으며, 후면 좌석 디스플레이(941)는 매체 스트림, 또는 SRP 스택 또는 응용 계층 인터페이스를 통해 송신되는 신호들을 감시한다.
후면 좌석 디스플레이(941)가 리스너 준비 속성을 등록했을 때, 리스너 준비 이벤트는 SRP 스택을 통해 전달되고 DVD 플레이어(930)에 의해 수시될 수 있다. DVD 플레이어(930)가 리스너 준비 이벤트를 식별할 때, DVD 플레이어(930)는 AVTP 엔진을 개시하여 매체 흐름을 개시하고 그 다음에 준비 상태로 전환할 수 있으며, DVD 플레이어(930)는 모든 리스너들이 매체 스트림을 받아들일 수 있는 구성 하에 동작하고, 여기서 DVD 플레이어(930)와 후면 좌석 디스플레이(941) 사이의 매체 스트림의 연결이 성공적으로 수립된다.
상기 동작은 단지 예시적이고 다른 동작들은 상기 설명들에 따른 이더넷 AVB 환경에서 토커들 및 리스너들을 포함하는 시스템(900) 또는 다른 시스템들 상에 수행될 수 있다.
도 1에 도시된 토커(130, 131, 및 132)와 같은 토커들, 리스너들(140, 141, 및 142), 토커 / 리스너들(150), 및/또는 컨트롤러들(190) 중 하나 이상은 도 10의 컴퓨팅 장치와 같은 다양한 종류의 하나 이상의 컴퓨팅 장치들의 일부 또는 전부일 수 있고 및/또는 일부 또는 전부를 포함할 수 있다. 도 10은 1000으로 지정된 일반 컴퓨터 시스템의 일 예를 예시한다. 시스템(100) 및/또는 시스템(200)으로부터의 구성요소들 중 어느 하나는 컴퓨터 시스템(1000)의 일부 또는 전부를 포함할 수 있다. 예를 들어, 일부 예들에서, 컴퓨터 시스템(1000)은 단지 프로세서 및 메모리를 포함할 수 있다. 컴퓨터 시스템(1000)은 컴퓨터 시스템(1000)이 개시된 방법들 또는 컴퓨터 기반 기능들 중 임의의 하나 이상을 수행하게 하도록 실행될 수 있는 명령어 세트를 포함할 수 있다. 컴퓨터 시스템(1000)은 독립형 장치로 동작할 수 있거나, 예를 들어 네트워크를 사용하여 다른 컴퓨터 시스템들 또는 주변 장치들에 연결될 수 있다.
네트워크 배치에서, 컴퓨터 시스템(1000)은 서버로서 또는 서버-클라이언트 사용자 네트워크 환경 내의 클라이언트 사용자 컴퓨터로서, 또는 피어 투 피어(또는 분산) 네트워크 환경 내의 피어 컴퓨터 시스템으로서 동작할 수 있다. 컴퓨터 시스템(1000)은 또한 개인용 컴퓨터(PC), 태블릿 PC, 셋톱 박스(STB), 개인 휴대 정보 단말기(PDA), 이동 장치, 팜톱 컴퓨터, 랩톱 컴퓨터, 데스크톱 컴퓨터, 통신 장치, 무선 전화, 지상 통신선 전화, 제어 시스템, 카메라, 스캐너, 팩시밀리 장치, 프린터, 페이저, 개인 신뢰 장치, 웹 기기, 네트워크 라우터, 스위치 또는 브리지, 또는 기계에 의해 취해질 동작들을 지정하는 명령어 세트(순차적 또는 다른)를 실행할 수 있는 임의의 다른 기계와 같은 다양한 장치들로 구현되거나 다양한 장치들에 통합될 수 있다. 특정 예에서, 컴퓨터 시스템(1000)은 보이스, 오디오, 비디오 또는 데이터 통신을 제공하는 전자 장치들을 사용하여 구현될 수 있다. 게다가, 단일 컴퓨터 시스템(1000)이 예시되지만, "시스템"이라는 용어는 명령어 세트, 또는 다수의 명령어 세트를 개별적으로 또는 공동으로 실행하여 하나 이상의 컴퓨터 기능들을 수행하는 임의의 집합의 시스템들 또는 서브 시스템들을 포함하도록 취해질 것이다.
도 10에서, 대표적인 컴퓨터 시스템(1000)은 프로세서(1002), 예를 들어 중앙 처리 유닛(CPU), GPU(graphics processing unit), 또는 둘 다를 포함할 수 있다. 프로세서(1002)는 다양한 시스템들 내의 구성요소일 수 있다. 예를 들어, 프로세서(1002)는 표준 개인용 컴퓨터 또는 워크스테이션의 일부일 수 있다. 프로세서(1002)는 하나 이상의 일반 프로세서들, 디지털 신호 프로세서들, 응용 주문형 집적 회로들, 필드 프로그램가능 게이트 어레이들, 서버들, 네트워크들, 디지털 회로들, 아날로그 회로들, 그것의 조합들, 또는 데이터를 분석하고 처리하는 현재 다르게 공지된 또는 나중에 개발될 장치들일 수 있다. 프로세서(1002)는 수동으로 생성된(즉, 프로그램된) 코드와 같은 소프트웨어 프로그램을 구현할 수 있다.
"모듈"이라는 용어는 복수의 실행가능한 모듈들을 포함하도록 정의될 수 있다. 본 명세서에 설명된 바와 같이, 모듈들은 소프트웨어, 하드웨어 또는 프로세서(1002)와 같은 프로세서에 의해 실행가능한 그것의 일부 조합을 포함하도록 정의된다. 소프트웨어 모듈들은 메모리(1004)와 같은 메모리, 또는 다른 메모리 장치에 저장되고, 프로세서(1002) 또는 다른 프로세서에 의해 실행가능한 명령어들을 포함할 수 있다. 하드웨어 모듈들은 프로세서(1002)에 의한 수행을 위해 실행가능하고, 지시되고, 및/또는 제어되는 다양한 장치들, 구성요소들, 회로들, 게이트들, 회로 보드들 등을 포함할 수 있다.
컴퓨터 시스템(1000)은 버스(1008)를 통해 통신할 수 있는 메모리(1004)와 같은 메모리(1004)를 포함할 수 있다. 메모리(1004)는 메인 메모리, 정적 메모리, 또는 동적 메모리일 수 있다. 메모리(1004)는 랜덤 액세스 메모리, 판독 전용 메모리, 프로그램가능 판독 전용 메모리, 전기적 프로그램가능 판독 전용 메모리, 전기적 소거가능 판독 전용 메모리, 플래시 메모리, 자기 테이프 또는 디스크, 광 매체 등을 포함하지만 이들에 제한되지 않는 다양한 타입들의 휘발성 및 비휘발성 저장 매체와 같은 컴퓨터 판독가능 저장 매체를 포함할 수 있지만, 이에 제한되지 않는다. 일 예에서, 메모리(1004)는 프로세서(1002)를 위한 캐시 또는 랜덤 액세스 메모리를 포함한다. 대안적인 예들에서, 메모리(1004)는 프로세서의 캐시 메모리, 시스템 메모리, 또는 다른 메모리와 같이, 프로세서(1002)로부터 분리된다. 메모리(1004)는 데이터를 저장하는 외부 저장 장치 또는 데이터베이스일 수 있다. 예들은 하드 드라이브, 콤팩트 디스크("CD"), 디지털 비디오 디스크("DVD"), 메모리 카드, 메모리 스틱, 프로피 디스크, 범용 직렬 버스("USB") 메모리 장치, 또는 데이터를 저장하도록 동작가능한 임의의 다른 장치를 포함한다. 메모리(1004)는 프로세서(1002)에 의해 실행가능한 명령어들을 저장하도록 동작가능하다. 도면들에 예시되거나 설명되는 기능들, 행위들, 또는 태스크들은 프로그램된 프로세서(1002)가 메모리(1004)에 저장되는 명령어들을 실행함으로써 수행될 수 있다. 기능들, 행위들, 또는 태스크들은 특정 타입의 명령어 세트, 저장 매체, 프로세서 또는 처리 전력과 관계없고 단독으로 또는 결합하여 동작하는 소프트웨어, 하드웨어, 집적 회로들, 펌웨어, 마이크로코드 등에 의해 수행될 수 있다. 마찬가지로, 처리 전략들은 다중 처리, 멀티태스킹, 병렬 처리 등을 포함할 수 있다.
도시된 바와 같이, 컴퓨터 시스템(1000)은 LCD(liquid crystal display), OLED(organic light emitting diode), 평판 디스플레이, 고체 상태 디스플레이, CRT(cathode ray tube), 프로젝터, 프린터 또는 결정된 정보를 출력하는 현재 다르게 공지된 또는 나중에 개발될 디스플레이 장치와 같은 디스플레이 유닛(1010)을 더 포함할 수 있거나 더 포함하지 않을 수 있다. 디스플레이(1010)는 사용자가 프로세서(1002)의 기능을 보는 인터페이스, 또는 특히 소프트웨어가 메모리(1004) 또는 드라이브 유닛(1016)에 저장된 인터페이스로서의 역할을 할 수 있다.
부가적으로, 컴퓨터 시스템(1000)은 사용자가 시스템(1000)의 구성요소들 중 어느 하나와 상호작용하는 것을 허용하도록 구성되는 입력 장치(1012)를 포함할 수 있다. 입력 장치(1012)는 숫자 패드, 키보드, 또는 마우스와 같은 커서 제어 장치, 또는 조이스틱, 터치 스크린 디스플레이, 리모트 컨트롤 또는 컴퓨터 시스템(1000)과 상호작용하도록 동작가능한 임의의 다른 장치일 수 있다.
특정 예에서, 도 10에 도시된 바와 같이, 컴퓨터 시스템(1000)은 디스크 또는 광 드라이브 유닛(1016)을 포함할 수도 있다. 디스크 드라이브 유닛(1016)은 하나 이상의 세트의 명령어들(1024), 예를 들어 소프트웨어가 내장될 수 있는 컴퓨터 판독가능 매체(1022)를 포함할 수 있다. 게다가, 명령어들(1024)은 설명된 바와 같은 방법들 또는 로직 중 하나 이상을 구체화할 수 있다. 특정 예에서, 명령어들(1024)은 컴퓨터 시스템(1000)에 의한 실행 동안 완전히, 또는 적어도 부분적으로 메모리(1004) 및/또는 프로세서(1002) 내에 상주할 수 있다. 메모리(1004) 및 프로세서(1002)는 상기 논의된 바와 같은 컴퓨터 판독가능 매체를 포함할 수도 있다.
본 개시는 네트워크(1026)에 연결되는 장치가 비디오, 오디오, 이미지들 또는 임의의 다른 데이터를 네트워크(1026)를 통해 통신할 수 있도록 명령어들(1024)을 포함하거나 전달된 신호에 대응하여 명령어들(1024)을 수신하고 실행하는 컴퓨터 판독가능 매체를 고려한다. 게다가, 명령어들(1024)은 네트워크(1026)에 의해 통신 포트 또는 인터페이스(1020)를 통해, 및/또는 버스(1008)를 사용하여 송신되거나 수신될 수 있다. 통신 포트 또는 인터페이스(1020)는 프로세서(1002)의 일부일 수 있거나 별도의 구성요소일 수 있다. 통신 포트(1020)는 소프트웨어로 생성될 수 있거나 하드웨어 내의 물리적 연결일 수 있다. 통신 포트(1020)는 시스템(1000) 내의 네트워크(1026), 외부매체, 디스플레이(1010), 또는 임의의 다른 구성요소들, 그것의 조합들과 연결하도록 구성될 수 있다. 네트워크(1026)와의 연결은 유선 이더넷 연결과 같은 물리적 연결일 수 있거나 나중에 논의되는 바와 같이 무선으로 수립될 수 있다. 마찬가지로, 시스템(1000)의 다른 구성요소들과의 부가적 연결들은 물리적 연결들일 수 있거나 물리적으로 수립될 수 있다. 네트워크(1026)는 대안적으로 버스(1008)에 직접 연결될 수 있다.
네트워크(1026)는 유선 네트워크들, 무선 네트워크들, 이더넷 AVB 네트워크들, 또는 그것의 조합들을 포함할 수 있다. 무선 네트워크는 셀룰러 전화 네트워크, 802.11, 802.16, 802.20, 802.1Q 또는 WiMax 네트워크일 수 있다. 게다가, 네트워크(1026)는 인터넷과 같은 공중 네트워크, 인트라넷과 같은 사설 네트워크, 또는 그것의 조합들일 수 있고, TCP/IP 기반 네트워킹 프로토콜들을 포함하지만 이들에 제한되지 않는 현재 이용가능하거나 나중에 개발될 다양한 네트워킹 프로토콜들을 이용할 수 있다.
컴퓨터 판독가능 매체가 단일 매체인 것으로 도시되지만, "컴퓨터 판독가능 매체"라는 용어는 중앙집중 또는 분산 데이터베이스와 같은 단일 매체 또는 다수의 매체, 및/또는 하나 이상의 명령어 세트를 저장하는 연관된 캐시들 및 서버들을 포함할 수 있다. "컴퓨터 판독가능 매체"라는 용어는 프로세서에 의한 실행을 위해 명령어 세트를 저장, 인코딩 또는 반송할 수 있거나 컴퓨터 시스템이 개시된 방법들 또는 동작들 중 임의의 하나 이상을 수행하게 하는 임의의 매체를 포함할 수도 있다. "컴퓨터 판독가능 매체"는 비일시적일 수 있고, 유형일 수 있다.
일 예에서, 컴퓨터 판독가능 매체는 하나 이상의 비휘발성 판독 전용 메모리들을 수용하는 메모리 카드 또는 다른 패키지와 같은 고체 상태 메모리를 포함할 수 있다. 게다가, 컴퓨터 판독가능 매체는 랜덤 액세스 메모리 또는 다른 휘발성 재기록가능 메모리일 수 있다. 부가적으로, 컴퓨터 판독가능 매체는 디스크 또는 테이프들과 같은 자기 광 또는 광 매체 또는 전송 매체를 통해 통신되는 신호와 같은 반송파 신호들을 캡처하는 다른 저장 장치를 포함할 수 있다. 이메일 또는 다른 자립 정보 아카이브 또는 아카이브 세트에 디지털 파일 어태치먼트는 유형 저장 매체인 분산 매체로 간주될 수 있다. 따라서, 본 개시는 데이터 또는 명령어들이 저장될 수 있는 컴퓨터 판독가능 매체 또는 분산 매체 및 다른 균등물들 및 석세서 매체(successor media) 중 임의의 하나 이상을 포함하는 것으로 간주될 수 있다.
대안적인 예에서, 주문형 집적 회로들, 프로그램가능 로직 어레이들 및 다른 하드웨어 장치들과 같은 전용 하드웨어 구현들은 시스템에 포함되는 다양한 모듈들 또는 모듈들의 일부을 구현하도록 구성될 수 있다. 장치 및 시스템들을 포함할 수 있는 응용들은 다양한 전자 및 컴퓨터 시스템들을 광범위하게 포함할 수 있다. 설명되는 하나 이상의 예들은 모듈들 사이에서 및 모듈들을 통해 통신될 수 있는 관련된 제어 및 데이터 신호들을 갖는 2개 이상의 특수 상호연결 하드웨어 모듈들 또는 장치들을 사용하여, 또는 주문형 집적 회로의 일부들로서 기능들을 구현할 수 있다. 따라서, 본 시스템은 소프트웨어, 펌웨어, 및 하드웨어 구현들을 포함한다.
설명된 시스템은 컴퓨터 시스템에 의해 실행가능한 소프트웨어 프로그램들에 의해 구현될 수 있다. 게다가, 비제한 예에서, 구현들은 분산 처리, 구성요소/객체 분산 처리, 및 병렬 처리를 포함할 수 있다. 대안적으로, 클라우드 컴퓨팅과 같은 가상 컴퓨터 시스템 처리는 시스템의 다양한 부분들을 구현하도록 구성될 수 있다.
시스템은 임의의 특정 표준들 및 프로토콜들에 의한 동작에 제한되지 않는다. 예를 들어, 인터넷 및 다른 패킷 교환 네트워크 전송을 위한 표준들(예를 들어, TCP/IP, UDP/IP, HTML, HTTP)이 사용될 수 있다. 그러한 표준들은 본래 동일한 기능들을 갖는 더 빠르거나 더 효율적인 균등물들로 주기적으로 대체된다. 따라서, 개시된 것들과 동일한 또는 유사한 기능들을 갖는 대체 표준들 및 프로토콜들은 그것의 균등물들로 간주된다.
본 발명의 다양한 실시예들이 설명되었지만, 더욱 많은 실시예들 및 구현들이 본 발명의 범위 내에서 가능한 것은 당해 기술에서 통상의 기술자들에게 분명할 것이다. 따라서, 본 발명은 첨부된 청구항들 및 그의 균등물들을 고려한 것을 제외하고 제한되지 않아야 한다.

Claims (31)

  1. 데이터 스트림의 연결을 이더넷 오디오 비디오 브리징("AVB(Audio-Video Bridging)") 네트워크를 통해 수립하도록 구성된 토커 장치로서,
    응용 계층 인터페이스 모듈;
    상기 응용 계층 인터페이스 모듈과 통신하는 상태 기계 모듈; 및
    상기 응용 계층 인터페이스 모듈 및 상기 상태 기계 모듈과 통신하는 스트림 예약 프로토콜("SRP(Stream Reservation Protocol)") 스택 모듈을 포함하고,
    상기 응용 계층 인터페이스 모듈은,
    상기 데이터 스트림을 생성하는 메시지를 결정하고;
    상기 메시지를 상기 상태 기계 모듈에 통신하도록 구성되고;
    상기 상태 기계 모듈은,
    상기 메시지를 수신하고;
    상기 메시지의 수신에 대응하여, 상기 SRP 스택 모듈을 사용하여 상기 토커 장치가 상기 데이터 스트림을 생성할 수 있다는 것을 상기 AVB 네트워크에 통신하고;
    상기 SRP 스택 모듈을 사용하여 상기 데이터 스트림을 받아들이기 위한 리스너 장치의 능력을 결정하며;
    상기 데이터 스트림을 받아들이기 위한 상기 리스너 장치의 능력의 결정에 기초하여 상기 리스너 장치와 상기 데이터 스트림의 연결을 수립하도록 구성되는, 토커 장치.
  2. 청구항 1에 있어서,
    상기 응용 계층 인터페이스 모듈은 기능 블록("FBlock(function block)") 인터페이스를 포함하는, 토커 장치.
  3. 청구항 1 또는 청구항 2에 있어서,
    상기 상태 기계 모듈은 상기 SRP 스택 모듈을 사용하여 상기 토커 장치가 상기 데이터 스트림을 생성할 수 있음을 상기 AVB 네트워크에 통신하는 것의 일부로서, 토커 광고("TA(Talker Advertise)") 속성을 상기 SRP 프로토콜 스택 모듈에 등록하도록 더 구성되는, 토커 장치.
  4. 청구항 1, 청구항 2, 또는 청구항 3 중 어느 한 항에 있어서,
    상기 상태 기계 모듈은 질의를 상기 SRP 스택 모듈에 발행하도록 더 구성되고, 상기 SRP 스택 모듈에 발행되는 질의는 상기 스트림과 연관된 스트림 ID를 표시하는, 토커 장치.
  5. 청구항 1 내지 청구항 4 중 어느 한 항에 있어서,
    상기 상태 기계 모듈은 상기 데이터 스트림을 받아들이기 위한 상기 리스너 장치의 능력의 결정의 일부로서 상기 SRP 스택 모듈로부터 리스너 준비 이벤트를 수신하도록 더 구성되는, 토커 장치.
  6. 청구항 1 내지 청구항 5 중 어느 한 항에 있어서,
    상기 상태 기계 모듈은 상기 데이터 스트림을 생성하는 메시지의 결정의 일부로서 컨트롤러로부터 상기 메시지를 수신하도록 더 구성되는, 토커 장치.
  7. 청구항 6에 있어서,
    상기 응용 계층 인터페이스는 상기 토커 장치가 상기 데이터 스트림을 생성할 수 있음을 표시하는 성공 메시지를 상기 컨트롤러에 송신하도록 더 구성되고, 상기 컨트롤러에 대한 성공 메시지는 상기 스트림의 스트림 ID를 포함하는, 토커 장치.
  8. 청구항 1 내지 청구항 7 중 어느 한 항에 있어서,
    상기 상태 기계 모듈은 오디오/비디오 전송 프로토콜(AVTP : Audio/Video Transport Protocol) 엔진을 개시하여 상기 리스너 장치와 상기 데이터 스트림의 연결의 수립의 일부로서 상기 데이터 스트림을 스트리밍하는 것을 개시하도록 구성되는, 토커 장치.
  9. 청구항 1 내지 청구항 8 중 어느 한 항에 있어서,
    상기 리스너 장치는 제 1 리스너 장치를 포함하고, 상기 상태 기계 모듈은 상기 SRP 스택 모듈을 사용하여 상기 데이터 스트림을 받아들이기 위한 제 2 리스너 장치의 능력을 결정하도록 더 구성되는, 토커 장치.
  10. 청구항 1 내지 청구항 9 중 어느 한 항에 있어서,
    상기 응용 계층 인터페이스는 메시지를 결정하여 상기 데이터 스트림을 제거하고 상기 메시지를 상기 상태 기계 모듈에 통신하도록 더 구성되는, 토커 장치.
  11. 청구항 10에 있어서,
    상기 상태 기계 모듈은 상기 데이터 스트림을 제거하는 메시지의 수신에 대응하여,
    오디오/비디오 전송 프로토콜(AVTP) 엔진을 정지시키고,
    토커 광고 속성을 등록 취소하도록 구성되는, 토커 장치.
  12. 토커 장치와 리스너 장치 사이에 데이터 스트림의 연결을 수립하여 이더넷 오디오 비디오 브리징("AVB") 네트워크를 통해 통신하기 위해 적어도 하나의 상태 기계 모듈을 동작시키는 컴퓨터 구현 방법으로서,
    상기 적어도 하나의 상태 기계 모듈은 메모리에 저장되고 적어도 하나의 프로세서에 의해 실행가능한 디지털 로직을 포함하고,
    상기 방법은,
    제 1 메시지를 수신하는 단계로서, 상기 제 1 메시지는 응용 계층 인터페이스로부터 상기 데이터 스트림을 생성하는, 상기 제 1 메시지를 수신하는 단계;
    상기 AVB 네트워크를 통해 제 2 메시지를 전달하기 위해 스트림 예약 프로토콜("SRP") 스택 모듈에 통신하는 단계로서, 상기 제 2 메시지는 상기 토커 장치가 상기 데이터 스트림을 생성할 수 있음을 표시하는, 상기 통신하는 단계;
    상기 SRP 스택 모듈로부터 제 3 메시지를 수신하는 단계로서, 상기 제 3 메시지는 상기 데이터 스트림을 받아들이기 위한 상기 리스너 장치의 능력을 표시하는, 상기 제 3 메시지를 수신하는 단계;
    데이터 스트림을 받아들이기 위한 상기 리스너 장치의 능력을 결정하는 것에 기초하여 상기 토커 장치와 상기 리스너 장치 사이에 데이터 스트림의 연결을 수립하는 단계를 포함하는, 컴퓨터 구현 방법.
  13. 청구항 12에 있어서,
    상기 응용 계층 인터페이스는 기능 블록("FBlock") 인터페이스를 포함하는, 컴퓨터 구현 방법.
  14. 청구항 12 또는 청구항 13에 있어서,
    상기 토커 장치가 상기 데이터 스트림을 생성할 수 있다는 상기 제 2 메시지를 상기 SRP 스택 모듈에 통신하는 단계는 토커 광고("TA") 속성을 상기 SRP 프로토콜 스택 모듈에 등록하는 단계를 포함하는, 컴퓨터 구현 방법.
  15. 청구항 12, 청구항 13 또는 청구항 14 중 어느 한 항에 있어서,
    질의를 상기 SRP 스택 모듈에 발행하는 단계를 더 포함하고, 상기 SRP 스택 모듈에 발행되는 상기 질의는 상기 스트림과 연관되는 스트림 ID를 표시하는, 컴퓨터 구현 방법.
  16. 청구항 12 내지 청구항 15 중 어느 한 항에 있어서,
    상기 리스너 장치와 상기 데이터 스트림의 연결을 수립하는 단계는 오디오/비디오 전송 프로토콜(AVTP) 엔진을 개시하여 상기 데이터 스트림의 스트리밍을 개시하는 단계를 포함하는, 컴퓨터 구현 방법.
  17. 청구항 12 내지 청구항 16 중 어느 한 항에 있어서,
    상기 리스너 장치는 제 1 리스너 장치를 포함하고, 상기 방법은 제 4 메시지를 수신하는 단계를 더 포함하고, 상기 제 4 메시지는 상기 SRP 스택 모듈로부터 수신되고 상기 제 1 리스너가 상기 데이터 스트림을 받아들일 수 있고 제 2 리스너가 상기 데이터 스트림을 받아들일 수 없음을 표시하는, 컴퓨터 구현 방법.
  18. 청구항 12 내지 청구항 17 중 어느 한 항에 있어서,
    상기 응용 계층 인터페이스로부터 제 5 메시지를 수신하는 단계를 더 포함하고, 상기 제 5 메시지는 상기 데이터 스트림을 제거하기 위한 것인, 컴퓨터 구현 방법.
  19. 청구항 18에 있어서,
    상기 데이터 스트림을 제거하기 위한 상기 제 5 메시지의 수신에 대응하여,
    오디오/비디오 전송 프로토콜(AVTP) 엔진을 정지시키는 단계, 및
    토커 광고 속성을 등록 취소하는 단계를 더 포함하는, 컴퓨터 구현 방법.
  20. 토커 장치와 리스너 장치 사이의 데이터 스트림의 연결을 수립하여 이더넷 오디오 비디오 브리징("AVB") 네트워크에서 통신하기 위해 적어도 하나의 상태 기계 모듈을 동작시키는 컴퓨터 구현 방법으로서,
    상기 적어도 하나의 상태 기계 모듈은 메모리에 저장되고 적어도 하나의 프로세서에 의해 실행가능한 디지털 로직을 포함하고,
    상기 방법은,
    응용 계층 인터페이스 모듈로부터 상기 데이터 스트림을 연결하기 위한 메시지를 수신하는 단계;
    상기 리스너 장치가 상기 데이터 스트림을 연결할 수 있다는 메시지를 상기 AVB 네트워크를 통한 전달을 위해 스트림 예약 프로토콜("SRP") 스택 모듈에 통신하는 단계;
    상기 데이터 스트림을 받아들이기 위한 상기 리스너 장치의 능력을 표시하는 메시지를 상기 SRP 스택 모듈로부터 수신하는 단계;
    상기 데이터 스트림을 받아들이기 위한 상기 리스너 장치의 능력의 결정에 기초하여 상기 토커 장치와 상기 리스너 장치 사이의 상기 데이터 스트림의 연결을 수립하는 단계를 포함하는, 컴퓨터 구현 방법.
  21. 청구항 20에 있어서,
    상기 토커 장치가 상기 데이터 스트림을 생성할 수 있다는 메시지를 수신하는 단계; 및
    상기 메시지를 수신하는 것에 대응하여 오디오/비디오 전송 프로토콜(AVTP)을 개시하는 단계를 더 포함하는, 컴퓨터 구현 방법.
  22. 청구항 20 또는 청구항 21에 있어서,
    상기 데이터 스트림으로부터 연결 해제하기 위한 메시지를 수신하는 단계를 더 포함하는, 컴퓨터 구현 방법.
  23. 청구항 22에 있어서,
    상기 메시지를 수신하는 것에 대응하여,
    오디오/비디오 전송 프로토콜(AVTP)을 정지시키는 단계; 및
    리스너 준비 속성을 등록 취소하는 단계를 더 포함하는, 컴퓨터 구현 방법.
  24. 네트워크 통신 시스템으로서,
    이더넷 AVB 네트워크를 통해 통신하고 데이터 스트림을 상기 이더넷 AVB 네트워크 상에 광고하도록 구성되는 토커를 포함하고;
    상기 토커는,
    응용 계층 인터페이스 모듈을 통해, 메시지를 상기 AVB 네트워크에 의해 컨트롤러로부터 수신하여 데이터 스트림을 생성하고;
    스트림 예약 프로토콜("SRP") 스택 모듈을 사용하여 토커 광고 속성을 등록하고;
    상기 토커가 상기 데이터 스트림을 생성할 수 있다는 메시지로서, 상기 컨트롤러에 의해 수신하기 위한 제 1 메시지를 상기 응용 계층 인터페이스 모듈을 통해 송신하고;
    상기 AVB 네트워크 내의 리스너가 상기 스트림을 받아들일 수 있다는 표시를 상기 SRP 스택으로부터 수신하고;
    상기 표시의 수신에 기초하여 상기 리스너와 연결을 수립하도록 더 구성되는, 네트워크 통신 시스템.
  25. 청구항 24에 있어서,
    상기 리스너는,
    상기 데이터 스트림에 연결하기 위해 상기 컨트롤러로부터 응용 계층 인터페이스를 통해 메시지를 수신하고;
    상기 토커가 상기 데이터 스트림을 생성할 수 있다는 메시지를 상기 SRP 스택을 통해 수신하고;
    상기 SRP 스택을 사용하여 리스너 준비 속성을 등록하도록 구성되는, 네트워크 통신 시스템
  26. 이더넷 오디오 비디오 브리징("AVB") 네트워크에서 토커 장치와 리스너 장치 사이의 데이터 스트림의 연결을 수립하기 위해 적어도 하나의 상태 기계 모듈을 동작시키는 컴퓨터 실행가능 코드를 실재적으로 구현하는 컴퓨터 판독가능 매체를 갖는 컴퓨터 프로그램 제품으로서,
    제 1 메시지를 수신하는 코드로서, 상기 제 1 메시지는 응용 계층 인터페이스 모듈로부터 상기 데이터 스트림을 생성하는, 상기 제 1 메시지를 수신하는 코드;
    상기 토커 장치가 상기 데이터 스트림을 생성할 수 있다는 메시지를 상기 AVB 네트워크를 통해 전달하기 위해 명령어들을 스트림 예약 프로토콜("SRP") 스택 모듈에 통신하는 코드;
    제 2 메시지를 수신하는 코드로서, 상기 제 2 메시지는 상기 SRP 스택 모듈로부터 수신되고 상기 데이터 스트림을 받아들이기 위한 상기 리스너 장치의 능력을 표시하는, 상기 제 2 메시지를 수신하는 코드;
    상기 데이터 스트림을 받아들이기 위한 상기 리스너 장치의 능력의 결정에 기초하여 상기 토커 장치와 상기 리스너 장치 사이의 데이터 스트림의 연결을 수립하는 코드를 포함하는, 컴퓨터 프로그램 제품.
  27. 청구항 26에 있어서,
    질의를 상기 SRP 스택 모듈에 발행하는 코드로서, 상기 SRP 스택 모듈에 발행되는 상기 질의는 상기 스트림과 연관되는 스트림 ID를 표시하는, 컴퓨터 프로그램 제품.
  28. 청구항 26 또는 청구항 27에 있어서,
    상기 데이터 스트림을 받아들이기 위한 상기 리스너 장치의 능력을 표시하는 제 2 메시지를 상기 SRP 스택 모듈로부터 수신하는 코드는 리스너 준비 이벤트를 상기 SRP 스택 모듈로부터 수신하는 코드를 포함하는, 컴퓨터 프로그램 제품.
  29. 청구항 26, 청구항 27, 또는 청구항 28 중 어느 한 항에 있어서,
    상기 리스너 장치와 상기 데이터 스트림의 연결을 수립하는 코드는 오디오/비디오 전송 프로토콜(AVTP) 엔진을 개시하여 상기 데이터 스트림의 스트리밍을 개시하는 코드를 포함하는, 컴퓨터 프로그램 제품.
  30. 청구항 26 내지 청구항 29 중 어느 한 항에 있어서,
    제 3 메시지를 수신하는 코드를 더 포함하고, 상기 제 3 메시지는 상기 응용 계층 인터페이스 모듈로부터 수신되어 상기 데이터 스트림을 제거하는, 컴퓨터 프로그램 제품.
  31. 청구항 30에 있어서,
    상기 데이터 스트림을 제거하는 제 3 메시지에 대응하여:
    오디오/비디오 전송 프로토콜(AVTP) 엔진을 정지시키는 코드, 및
    토커 광고 속성을 등록 취소하는 코드를 더 포함하는, 컴퓨터 프로그램 제품.
KR1020147001081A 2011-06-30 2012-06-20 Avb 네트워크 내의 응용 계층 구조들을 사용하여 오디오/비디오 스트림들을 관리하는 시스템 Active KR102018640B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/174,100 US8516130B2 (en) 2011-06-30 2011-06-30 Using non-AVB application layer interface and message to establish a connection over an AVB network
US13/174,100 2011-06-30
PCT/US2012/043284 WO2013003145A1 (en) 2011-06-30 2012-06-20 System for managing audio/video streams using application layer structures in an avb network

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020197025551A Division KR102147986B1 (ko) 2011-06-30 2012-06-20 Avb 네트워크 내의 응용 계층 구조들을 사용하여 오디오/비디오 스트림들을 관리하는 시스템

Publications (2)

Publication Number Publication Date
KR20140072012A true KR20140072012A (ko) 2014-06-12
KR102018640B1 KR102018640B1 (ko) 2019-09-05

Family

ID=46395742

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020147001081A Active KR102018640B1 (ko) 2011-06-30 2012-06-20 Avb 네트워크 내의 응용 계층 구조들을 사용하여 오디오/비디오 스트림들을 관리하는 시스템
KR1020197025551A Active KR102147986B1 (ko) 2011-06-30 2012-06-20 Avb 네트워크 내의 응용 계층 구조들을 사용하여 오디오/비디오 스트림들을 관리하는 시스템

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020197025551A Active KR102147986B1 (ko) 2011-06-30 2012-06-20 Avb 네트워크 내의 응용 계층 구조들을 사용하여 오디오/비디오 스트림들을 관리하는 시스템

Country Status (6)

Country Link
US (2) US8516130B2 (ko)
EP (2) EP2933978B1 (ko)
JP (2) JP6092858B2 (ko)
KR (2) KR102018640B1 (ko)
CN (2) CN107257348B (ko)
WO (1) WO2013003145A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016190462A1 (ko) * 2015-05-27 2016-12-01 전자부품연구원 Ieee1722 네트워크 기반 비디오 패킷 무손실 전송을 위한 버퍼 관리 방법
KR20160141932A (ko) * 2015-06-01 2016-12-12 (주)씨어스테크놀로지 Avb를 이용한 화상 메신저
US9674119B2 (en) 2014-12-10 2017-06-06 Hyundai Motor Company Method and apparatus for controlling audio/video bridging stream for in-vehicle ethernet

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8516130B2 (en) * 2011-06-30 2013-08-20 Harman International Industries, Incorporated Using non-AVB application layer interface and message to establish a connection over an AVB network
US9232026B2 (en) * 2011-12-21 2016-01-05 Harman International Industries, Incorporated System for communicating control messages in an AVB network
US9870276B2 (en) * 2013-09-26 2018-01-16 Continental Automotive Gmbh User message queue method for inter-process communication
US9425992B2 (en) 2014-02-20 2016-08-23 Freescale Semiconductor, Inc. Multi-frame and frame streaming in a controller area network (CAN) with flexible data-rate (FD)
CN103986714B (zh) * 2014-05-16 2017-11-21 深圳市达图蛙科技开发有限公司 将总线控制网络接入avb网络的代理实现方法及装置
US9854325B2 (en) * 2014-06-16 2017-12-26 Harman International Industries, Inc. Limp-home operation of audio video bridging networks
KR101673305B1 (ko) * 2014-12-11 2016-11-22 현대자동차주식회사 이기종간 멀티 스트리밍 서비스를 제공하는 헤드 유닛 및 그의 스트리밍 제어 방법, 그리고 이를 실행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체
US20160191597A1 (en) * 2014-12-26 2016-06-30 Harman International Industries, Incorporated Avb system diagnostics
US10044524B1 (en) * 2015-09-18 2018-08-07 Aquantia Corp. Ethernet controller with integrated TSN/AVB control point and time slave
US10020959B1 (en) * 2015-09-18 2018-07-10 Aquantia Corp. Ethernet controller with integrated AVB control point and time slave
KR102217255B1 (ko) * 2015-10-12 2021-02-17 현대자동차주식회사 네트워크에서 통신 노드의 동작 방법
WO2017092879A1 (de) * 2015-11-30 2017-06-08 Siemens Aktiengesellschaft Verfahren zur industriellen kommunikation über tsn
CN108702337B (zh) * 2016-02-24 2022-05-03 哈曼国际工业有限公司 具有第2层和第3层保留的数据流式传输
WO2017146702A1 (en) * 2016-02-24 2017-08-31 Harman International Industries, Incorporated Data streaming with layer 2 and layer 3 reservations
US10056872B2 (en) * 2016-03-24 2018-08-21 Harman International Industries, Incorporated Distributed vehicle audio system
US10248615B2 (en) * 2016-09-19 2019-04-02 Harman International Industries, Incorporated Distributed processing in a network
US10901684B2 (en) 2016-12-13 2021-01-26 EVA Automation, Inc. Wireless inter-room coordination of audio playback
US10255032B2 (en) 2016-12-13 2019-04-09 EVA Automation, Inc. Wireless coordination of audio sources
US10296286B2 (en) 2016-12-13 2019-05-21 EVA Automation, Inc. Maintaining coordination following a wireless reset
JP6824027B2 (ja) * 2016-12-26 2021-02-03 キヤノン株式会社 通信装置、その制御方法、およびプログラム
US10320634B2 (en) 2016-12-30 2019-06-11 Logmein, Inc. Data communications employing packet report messages
CN107977230A (zh) * 2017-12-01 2018-05-01 广东雅达电子股份有限公司 一种基于状态机机制的应用管理方法
EP3522477B1 (de) * 2018-01-31 2021-08-11 Siemens Aktiengesellschaft Verfahren zur daten-kommunikation in einem insbesondere industriellen netzwerk, vorrichtung zur durchführung des verfahrens, computerprogramm sowie computerlesbares medium
CN110390516B (zh) * 2018-04-20 2023-06-06 伊姆西Ip控股有限责任公司 用于数据处理的方法、装置和计算机存储介质
CN110891026B (zh) 2018-09-07 2022-11-25 华为技术有限公司 一种流量调度方法、设备及系统
KR102703747B1 (ko) * 2019-09-17 2024-09-06 현대자동차주식회사 차량장치 및 그의 멀티미디어 스트림 동기화 방법
CN113543234B (zh) * 2020-04-13 2025-08-12 中兴通讯股份有限公司 端口资源预留方法、电子设备及存储介质
US11943269B2 (en) * 2020-08-31 2024-03-26 Intuit Inc. Transactions over live media
US11290516B1 (en) 2020-12-21 2022-03-29 Cisco Technology, Inc. Prioritized MSRP transmissions to reduce traffic interruptions
US12455780B2 (en) * 2023-10-09 2025-10-28 Bank Of America Corporation Data reconciliation architecture for improved fault tolerance

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7023876B2 (en) * 2001-07-09 2006-04-04 Quantum Corporation Point-to-point protocol

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5826030A (en) * 1995-11-30 1998-10-20 Excel Switching Corporation Telecommunication switch having a universal API with a single call processing message including user-definable data and response message each having a generic format
US5764915A (en) * 1996-03-08 1998-06-09 International Business Machines Corporation Object-oriented communication interface for network protocol access using the selected newly created protocol interface object and newly created protocol layer objects in the protocol stack
US6738388B1 (en) * 1998-09-10 2004-05-18 Fisher-Rosemount Systems, Inc. Shadow function block interface for use in a process control network
US7099950B2 (en) * 2000-03-13 2006-08-29 At&T Corp. Method and apparatus for using XML for both a protocol layer and application layer
US7051080B1 (en) * 2000-08-04 2006-05-23 Oracle International Corporation Techniques for navigating in mobile applications
US7079519B2 (en) * 2000-08-23 2006-07-18 Samsung Electronics Co., Ltd. Core network separation structure and signal processing method thereof in mobile communication system
AU2003205396A1 (en) * 2002-02-01 2003-09-02 Flarion Technologies, Inc. Methods for enhancing sdp preconditions signalling for ip multimedia sessions
DE10239934B4 (de) * 2002-08-30 2006-08-31 Daimlerchrysler Ag Verfahren zur Steuerung der Dienstbelegung in einem Datenbussystem
EP1675045A1 (de) * 2004-12-21 2006-06-28 Siemens Aktiengesellschaft Austausch von Beschreibungsdaten zwischen Projekten mit Hilfe von Inter-Project-Interfaces
US7698492B2 (en) * 2005-04-28 2010-04-13 Samsung Electronics Co., Ltd. Guaranteed services method and apparatus in bridged LAN
US8681659B2 (en) 2006-10-05 2014-03-25 Alcatel Lucent Ethernet equipment utilizing catalogs and continuity checks to enhance UPnP and AVB applications
CN101675626B (zh) * 2007-03-14 2012-10-10 惠普开发有限公司 把数据从第一网络格式转换为非网络格式以及从非网络格式转换为第二网络格式
US8254248B2 (en) 2007-03-20 2012-08-28 Broadcom Corporation Method and system for implementing redundancy for streaming data in audio video bridging networks
JP4715802B2 (ja) * 2007-04-27 2011-07-06 株式会社デンソー 通信システム
US8345553B2 (en) * 2007-05-31 2013-01-01 Broadcom Corporation Apparatus and methods for reduction of transmission delay in a communication network
EP2179367B1 (en) * 2007-08-15 2017-10-04 Cisco Technology, Inc. Stream reservation protocol for bridged networks
US8930534B2 (en) * 2009-07-24 2015-01-06 Broadcom Corporation Method and system for management based end-to-end sleep limitation in an energy efficient ethernet network
US8428045B2 (en) * 2010-03-16 2013-04-23 Harman International Industries, Incorporated Media clock recovery
US8761201B2 (en) * 2010-10-22 2014-06-24 Intel Corporation Reducing the maximum latency of reserved streams
US8908701B2 (en) * 2011-03-14 2014-12-09 Broadcom Corporation Stream path selection within convergent networks
US8619803B2 (en) * 2011-05-05 2013-12-31 Harman International Industries, Incorporated Sparse mode system
CN103597778A (zh) * 2011-06-08 2014-02-19 三星电子株式会社 用于音频视频网络的增强流预留协议
US20120314713A1 (en) * 2011-06-08 2012-12-13 Harkirat Singh Method and system for proxy entity representation in audio/video networks
US8516130B2 (en) * 2011-06-30 2013-08-20 Harman International Industries, Incorporated Using non-AVB application layer interface and message to establish a connection over an AVB network
US8838787B2 (en) * 2011-11-30 2014-09-16 Harman International Industries, Incorporated System for optimizing latency in an AVB network
US9232026B2 (en) * 2011-12-21 2016-01-05 Harman International Industries, Incorporated System for communicating control messages in an AVB network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7023876B2 (en) * 2001-07-09 2006-04-04 Quantum Corporation Point-to-point protocol

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9674119B2 (en) 2014-12-10 2017-06-06 Hyundai Motor Company Method and apparatus for controlling audio/video bridging stream for in-vehicle ethernet
WO2016190462A1 (ko) * 2015-05-27 2016-12-01 전자부품연구원 Ieee1722 네트워크 기반 비디오 패킷 무손실 전송을 위한 버퍼 관리 방법
KR20160141932A (ko) * 2015-06-01 2016-12-12 (주)씨어스테크놀로지 Avb를 이용한 화상 메신저

Also Published As

Publication number Publication date
EP2727309B1 (en) 2015-12-30
CN103703738A (zh) 2014-04-02
EP2727309A1 (en) 2014-05-07
KR102018640B1 (ko) 2019-09-05
CN107257348B (zh) 2020-07-21
KR20190104444A (ko) 2019-09-09
BR112013034053A2 (pt) 2017-02-07
CN107257348A (zh) 2017-10-17
JP2014529206A (ja) 2014-10-30
WO2013003145A1 (en) 2013-01-03
US20130007288A1 (en) 2013-01-03
EP2933978A1 (en) 2015-10-21
JP2017126993A (ja) 2017-07-20
US8977759B2 (en) 2015-03-10
JP6092858B2 (ja) 2017-03-08
KR102147986B1 (ko) 2020-08-25
JP6546942B2 (ja) 2019-07-17
CN103703738B (zh) 2017-08-11
US20130339483A1 (en) 2013-12-19
EP2933978B1 (en) 2016-12-21
US8516130B2 (en) 2013-08-20

Similar Documents

Publication Publication Date Title
KR102018640B1 (ko) Avb 네트워크 내의 응용 계층 구조들을 사용하여 오디오/비디오 스트림들을 관리하는 시스템
US8838787B2 (en) System for optimizing latency in an AVB network
US9232026B2 (en) System for communicating control messages in an AVB network
US8977769B2 (en) System for managing lossless failover in an audio-bridging (AVB) network
CN102769559B (zh) 稀疏模式系统
EP2675132B1 (en) System for dynamic stream management in audio video bridged networks
JP5164263B2 (ja) 通信カラオケシステム
JP4220523B2 (ja) ネットワーク上に応用されるグループ再生方法およびコンピュータシステムおよびコンピュータ読取り可能媒体
JP4412215B2 (ja) カラオケシステム,カラオケ端末,リモコン端末およびプログラム
BR112013034053B1 (pt) Dispositivo de falante para conexão com ouvinte através de rede de ethernet e método para operar módulo de máquina de estado para conexão entre dispositivo de falante e dispositivo de ouvinte
JP4409486B2 (ja) 通信カラオケシステム
JP2009200725A (ja) 情報配信システム及び同システムにおける階層構造の形成方法及びプログラム

Legal Events

Date Code Title Description
PA0105 International application

St.27 status event code: A-0-1-A10-A15-nap-PA0105

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

A201 Request for examination
E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

R17-X000 Change to representative recorded

St.27 status event code: A-3-3-R10-R17-oth-X000

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

A107 Divisional application of patent
GRNT Written decision to grant
PA0104 Divisional application for international application

St.27 status event code: A-0-1-A10-A18-div-PA0104

St.27 status event code: A-0-1-A10-A16-div-PA0104

PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U12-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

FPAY Annual fee payment

Payment date: 20220722

Year of fee payment: 4

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 5

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 6

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 7

U11 Full renewal or maintenance fee paid

Free format text: ST27 STATUS EVENT CODE: A-4-4-U10-U11-OTH-PR1001 (AS PROVIDED BY THE NATIONAL OFFICE)

Year of fee payment: 7