KR100628468B1 - 네트워크 환경 내에서 자율적인 미디어 디바이스를 제어하는 방법 및 장치 - Google Patents

네트워크 환경 내에서 자율적인 미디어 디바이스를 제어하는 방법 및 장치 Download PDF

Info

Publication number
KR100628468B1
KR100628468B1 KR1020007012096A KR20007012096A KR100628468B1 KR 100628468 B1 KR100628468 B1 KR 100628468B1 KR 1020007012096 A KR1020007012096 A KR 1020007012096A KR 20007012096 A KR20007012096 A KR 20007012096A KR 100628468 B1 KR100628468 B1 KR 100628468B1
Authority
KR
South Korea
Prior art keywords
network
devices
appropriate
control
task
Prior art date
Application number
KR1020007012096A
Other languages
English (en)
Other versions
KR20010052284A (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 KR20010052284A publication Critical patent/KR20010052284A/ko
Application granted granted Critical
Publication of KR100628468B1 publication Critical patent/KR100628468B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4541Directories for service discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2805Home Audio Video Interoperability [HAVI] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • H04L12/2814Exchanging control software or macros for controlling appliance services in a home automation network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • H04L12/282Controlling appliance services of a home automation network by calling their functionalities based on user interaction within the home
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40117Interconnection of audio or video/imaging devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40123Interconnection of computers and peripherals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/59Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/43615Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2838Distribution of signals within a home automation network, e.g. involving splitting/multiplexing signals to/from different paths
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L2012/2847Home automation networks characterised by the type of home appliance used
    • H04L2012/2849Audio/video appliances
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • 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/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/567Integrating service provisioning from a plurality of service providers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Automation & Control Theory (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Information Transfer Systems (AREA)

Abstract

미디어 관리자는, 하나의 네트워크 내에 함께 연결된 디바이스 상의 고객 애플리케이션에 데이터 흐름 관리와 다른 서비스를 제공한다. 이들 디바이스는 IEEE 1394-1995 직렬 버스 네트워크 내에서 함께 연결되는 것이 바람직하다. 하나의 디바이스 제어 모듈은, 적절한 제어 프로토콜, 물리적인 연결 및 디바이스를 위한 연결 기능을 포함하는, 디바이스의 성능 및 요건 모두를 위한 추상 개념을 제공하기 위하여, 사용 가능한 각 디바이스를 위하여 생성된다. 미디어 관리자는 또한 네트워크 상의 디바이스 사이의 데이터 전송의 흐름 및 포맷을 관리한다. 인터페이스를 통하여, 사용자는 미디어 관리자를 억세스하고, 네트워크 상에서 함께 연결된 디바이스를 사용하여 완료될 기능을 입력한다. 적절한 디바이스가 사용 가능하다면, 미디어 관리자는 요구된 태스크의 완료를 제어하고 관리한다. 적절한 디바이스가 사용 가능하지 않지만, 상기 요구된 하위 디바이스가 다수의 디바이스에서 사용 가능하다면, 미디어 관리자는 요구된 태스크를 완료하기 위하여 다수의 디바이스 내의 하위 디바이스로부터 가상 디바이스를 형성한다. 일단 적절한 디바이스 및 하위 디바이스가 하나의 태스크에 할당되면, 미디어 관리자는 송신될 데이터가 하나의 포맷으로부터 다른 포맷으로 변환될 필요가 있는 지를 결정한다. 다른 포맷으로의 변환이 필요하다면, 미디어 관리자는 역시 데이터 전송 동작 도중에 포맷 변환을 제어할 것이다. 미디어 관리자는 또한, 사용 가능한 서비스, 물리적인 디바이스 및 가상 디바이스를 찾도록, 네트워크 목록 및 레지스트리 검색 성능을 고객 애플리케이션에 제공한다.

Description

네트워크 환경 내에서 자율적인 미디어 디바이스를 제어하는 방법 및 장치{METHOD AND APPARATUS FOR CONTROLLING AUTONOMOUS MEDIA DEVICES WITHIN A NETWORK ENVIRONMENT}
본 발명은 네트워크 환경 내에서의 애플리케이션(application) 및 디바이스를 관리하는 분야에 관한 것이다. 보다 상세하게, 본 발명은 네트워크 환경(NETWORK ENVIRONMENT)내의 디바이스의 동작 및 이들 디바이스 사이의 통신을 관리하는 분야에 관한 것이다.
"고성능 직렬 버스에 대한 1394-1995 표준"인 IEEE 1394-1995 표준은 비동기 및 등시(isochronous) 포맷의 데이터 송신을 모두 지원하는 비싸지 않은 고속 직렬 버스 구조를 실현하기 위한 국제표준이다. 등시 데이터 전송은, 중요한 순간 사이의 시간 간격이 송신 및 수신 애플리케이션에서 모두 동일한 지속 시간을 갖도록 발생하는 실시간 전송이다. 등시적으로 송신된 데이터의 각 패킷은 자신의 시간 주기에 송신된다. 데이터를 등시적으로 전송하는 이상적인 애플리케이션의 예는 비디오 레코더로부터 텔레비전 세트로의 전송일 것이다. 비디오 레코더는 이산 덩어리 또는 패킷으로 영상 및 음향을 기록하고, 데이터를 저장한다. 그후 비디오 레코더는, 텔레비전 세트에 의한 디스플레이를 위하여, 제한된 시간 주기에 걸쳐 기록된 영상 및 음향을 나타내는 각 패킷을, 상기 시간 주기 동안 전송한다. IEEE 1394-1995 표준 버스 구조는 애플리케이션 사이에서 등시 데이터 전송을 위한 다수의 채널을 제공한다. 적절한 애플리케이션에 의한 수신을 보장하기 위하여, 6 비트의 채널 번호가 데이터와 함께 방송된다. 이것은 다수의 애플리케이션이 버스 구조에 걸쳐 등시 데이터를 동시에 송신하도록 허용한다. 비동기 전송은 가능한한 빨리 발생하는 전통적인 데이터 전송 동작이고, 소스로부터의 일정 양의 데이터를 목적지에 전송한다.
IEEE 1394-1995 표준은 디지털 디바이스를 서로 연결시켜 범용 I/O 연결을 제공하기 위한 고속 직렬 버스이다. IEEE 1394-1995 표준은 애플리케이션에 대한 디지털 인터페이스를 한정하여, 애플리케이션이 디지털 데이터를 버스에 걸쳐 송신하기 전에 아날로그 데이터로 변환할 필요성을 제거한다. 유사하게, 수신 애플리케이션은 버스로부터 아날로그 데이터가 아닌 디지털 데이터를 수신할 것이고, 따라서 아날로그 데이터를 디지털 데이터로의 변환을 필요로 하지 않을 것이다. IEEE 1394-1995 표준에 의해 요구되는 케이블은 이러한 디바이스를 연결하기 위하여 사용되는 다른 부피가 더 큰 케이블과 비교하여 크기면에서 매우 가늘다(thin). 버스가 활성인 동안 디바이스가 IEEE 1394-1995 버스에 더해지거나 이로부터 제거될 수 있다. 디바이스가 이와 같이 더해지거나 제거되면, 버스는 기존 노드 사이에서 데이터를 송신하기 위하여 자신을 자동적으로 재구성할 것이다. 노드는 버스 구조상에서 고유한 어드레스를 갖는 논리적인 실체로 간주된다. 각 노드는, 확인 ROM, 제어 레지스터의 표준화된 세트 및 자신의 어드레스 공간을 제공한다.
미디어 디바이스에는, 이들을 IEEE 1394-1995 직렬 버스 네트워크와 같은 네트워크의 일부가 되도록 허용하는 네트워크 인터페이스가 장착된다. 이러한 자율적인 미디어 디바이스를 결합하는 가정용 오디오/비디오 네트워크에 있어서, 하나 이상의 이러한 디바이스가 네트워크에서, 개인용 컴퓨터, 셋톱 박스 또는 마이크로프로세를 포함하는 다른 디바이스와 함께 접속되는 것이 가능하다. 현재, 이러한 네트워크 구성 내에서 자율적인 디바이스의 상호작용과 동작을 효율적으로 관리할 제어 애플리케이션과 사용할 수 있는 인터페이스가 부족하다. 네트워크 구성 내에서 제어하는 디바이스가 디바이스 사이의 통신과, 네트워크 내에서 디바이스의 동작을 효율적으로 관리하는 것을 허용하는 인터페이스가 필요하다. 네트워크 구성 내에서 제어하는 디바이스가 태스크(task)와 동작의 완료를 위해 네트워크 내의 디바이스의 유용성을 극대화하는 것을 허용하는 인터페이스가 추가로 필요하다.
미디어 관리자는 네트워크 내에서 함께 접속된 디바이스 상에서 데이터 흐름 관리와 다른 서비스를 고객 애플리케이션에 제공한다. 이들 디바이스는 IEEE 1394-1995 직렬 버스 네트워크 내에서 접속되는 것이 바람직하다. 디바이스 제어 모듈은, 디바이스에 대한 적절한 제어 프로토콜, 물리적인 연결 및 연결 성능을 포함하는 디바이스의 성능 및 요건 모두에 추상 개념(abstraction)을 제공하기 위하여, 각각의 유용한 디바이스를 위하여 생성된다. 이들 미디어 관리자는 또한 네트워크 상의 디바이스 사이의 데이터 전송의 흐름과 포맷을 관리한다. 인터페이스를 통하여, 사용자는 미디어 관리자를 억세스하고, 네트워크 상에서 함께 접속된 디바이스를 사용하여 완료될 기능을 입력한다. 적절한 디바이스가 사용될 수 있다면, 미디어 관리자는 요구된 태스크의 완료를 제어하고 관리한다. 적절한 디바이스가 사용될 수 없지만, 요구된 하위 디바이스(subdevice)가 다수의 디바이스에서 사용될 수 있다면, 미디어 관리자는 요구된 태스크를 완료하기 위하여 다수의 디바이스내의 하위 디바이스로부터 가상의 디바이스를 형성한다. 일단 적절한 디바이스와 하위 디바이스가 하나의 태스크에 할당되면, 미디어 관리자는 송신될 데이터가 하나의 포맷으로부터 다른 포맷으로 변환될 필요가 있는 지를 결정한다. 만약 필요하다면, 미디어 관리자는 데이터 전송 동작 도중의 포맷 변환을 또한 관리할 것이다. 미디어 관리자는 또한, 사용할 수 있는 서비스, 물리적인 디바이스 및 가상의 디바이스를 발견하도록, 네트워크 목록 및 레지스트리(registry) 검색 성능을 고객 애플리케이션에 제공한다.
도 1은 비디오 카메라, 비디오카세트 레코더, 컴퓨터, 텔레비전 및 셋톱 박스를 포함하는 IEEE 1394-1995 직렬 버스 네트워크를 도시하는 도면.
도 2는 본 발명의 미디어 관리자를 실행하는 각 디바이스에 내장된 하드웨어 시스템의 블록도.
도 3은 본 발명의 미디어 관리자 플랫폼(platform) 구조의 블록도.
도 4는 본 발명의 미디어 관리자 플랫폼 구조의 상세 블록도.
도 5는 본 발명의 미디어 관리자를 사용하는 두 개 디바이스를 설정하는 것과 이들 사이에서 데이터 전송에 포함된 단계의 흐름도.
도 6은 개시 도중에 고객 애플리케이션에 의해 수반되는 흐름도.
본 발명의 미디어 관리자는 데이터 흐름 관리 및 다른 서비스를 네트워크 내의 물리적인 디바이스에 제공한다. 물리적인 디바이스는 판매자에 의해 별도의 요소로서 판매되는 제품이다. 물리적인 디바이스의 예는 텔레비전, 비디오카세트 레코더, 개인용 컴퓨터, 비디오 카메라, CD-ROM 플레이어, 등등을 포함한다. 많은 다른 예 역시 공지되어 있고, 상업적으로 취득 가능하다. 각 물리적인 디바이스는 다수의 하위 디바이스를 포함한다. 예컨대 상업적으로 취득 가능한 전형적인 비디오 카메라는 카메라와 비디오 플레이어와 같은 다른 기능을 실행하는 다수의 하위 디바이스를 포함한다.
이들 물리적인 디바이스는 IEEE 1394-1995 직렬 버스 네트워크 내에서 함께 접속되는 것이 바람직하다. 디바이스 제어 모듈(device control module : DCM)은 사용가능한 각 디바이스와 하위 디바이스를 위하여 생성된다. 각 DCM은 디바이스에 대한 적절한 제어 프로토콜, 물리적인 연결 및 연결 성능을 포함하는 각 물리적인 디바이스의 성능 및 요건 모두에 추상 개념을 제공한다. 미디어 관리자는 또한, 데이터 전송 동작 도중에 데이터를 다른 포맷으로 변환시키는 것을 포함하여, 네트워크 상의 물리적인 디바이스 사이의 데이터 전송 동작의 흐름과 포맷을 관리한다.
인터페이스를 통하여, 사용자는 미디어 관리자를 억세스하고, 네트워크 내의 물리적인 디바이스를 사용하여 완료될 기능과 태스크를 입력한다. 적절한 물리적인 디바이스가 사용 가능하거나, 사용되고 있지 않다면, 미디어 관리자는 요구된 태스크의 완료를 제어하고 관리한다. 적절한 물리적인 디바이스가 사용 가능하지 않다면, 미디어 관리자는 요구된 태스크를 완료하기 위하여 사용 가능한 하위 디바이스 또는 디바이스 내의 요소로부터 가상의 디바이스를 생성한다. 일단 적절한 물리적인 디바이스 및/또는 하위 디바이스가 하나의 태스크에 할당되면, 미디어 관리자는 송신된 데이터가 소스 디바이스의 포맷으로부터 수신 디바이스의 포맷으로 변환될 필요가 있는 지의 여부를 결정한다. 변환이 필요하다면, 미디어 관리자는 또한 데이터 전송 동작을 제어하면서 변환 동작을 제어한다.
도 1은 IEEE 1394-1995 케이블(15, 16 및 18)에 의해 함께 연결된 비디오 카메라(10), 비디오카세트 레코더(12), 컴퓨터(14), 셋톱 박스(13) 및 텔레비전(11)을 포함하는 예시적인 시스템을 도시한다. IEEE 1394-1995 케이블(16)은 비디오 카메라(10)를 비디오카세트 레코더(12)에 접속시켜, 비디오 카메라(10)가 기록을 위해 데이터를 비디오카세트 레코더(12)에 전달하는 것을 허용한다. IEEE 1394-1995 케이블(18)은 비디오카세트 레코더(12)를 컴퓨터(14)에 접속시켜, 비디오카세트 레코더(12)가 디스플레이를 위해 데이터를 컴퓨터(14)에 전달하는 것을 허용한다. IEEE 1394-1995 케이블(15)은 셋톱 박스(13)를 컴퓨터(14)에 연결시킨다. 셋톱 박스(13)는 또한 케이블(17)에 의해 텔레비전(11)에 접속된다.
도 1에 도시된 이러한 구성은 단지 예시적일뿐이다. 오디오/비디오 네트워크가 물리적인 요소의 많은 다른 조합을 포함할 수 있음은 자명하다. 도 1에서 도시된 이와 같은 IEEE 1394-1995 네트워크 내의 물리적인 디바이스는 자율적인 디바이스인데, 이것은 컴퓨터도 디바이스중 하나인 IEEE 1394-1995 네트워크 내에서, 컴퓨터와 다른 디바이스 사이에 실제 "마스터-슬레이브" 관계가 없음을 의미한다. 많은 IEEE 1394-1995 네트워크 구성에 있어서, 컴퓨터는 심지어 없을 수도 있다. 이러한 구성에서조차, 네트워크 내의 디바이스는 대등한 원리로 서로 상호작용을 완전하게 수행할 수 있다.
본 발명의 미디어 관리자를 실행하기 위한 관리 디바이스에 내장된 하드웨어 시스템의 블록도가 도 2에 도시되었다. 도 2에 도시된 하드웨어 시스템에 있어서, 프린트 회로 기판(20)은 사용자 인터페이스(30)와 연결된다. 프린트 회로 기판(20)은 시스템 버스(28)에 의해 시스템 메모리(24)와 I/O 버스 인터페이스(26)에 연결된 중앙 처리 유니트(CPU)(22)를 포함한다. "CPU"라는 용어의 사용은 이러한 시스템이 범용 계산 회로가 되어야 함을 의미하는 것은 아니다. 오히려, 이러한 회로는 범용 제어기 또는 특별한 목적의 회로로 실현될 수 있다. 사용자 인터페이스(30)는 또한 시스템 버스(28)에 연결된다. 사용자 인터페이스(30)는 하위 시스템에 특정한 것이지만, 적어도 적외선 원격 제어 디바이스와 디스플레이를 포함하는 것이 바람직하다. 선택적으로, 사용자 인터페이스(30)는 또한 하위 시스템의 사용자와 통신하기 위한 다른 I/O 디바이스를 포함한다.
본 발명의 양호한 실시예에 있어서, 미디어 관리자는, 사용자와의 원활한 상호작용을 용이하게 하기 위하여, 텔레비전 또는 디스플레이를 갖는 컴퓨터와 같은 디바이스 내에 포함된다. 그러나, 본 발명의 미디어 관리자는, 사용자에게 인터페이스를 제공하는데 필요한 요소를 포함하는 임의의 다른 사용 가능한 디바이스 상에서 실현될 수도 있음은 자명하다. 본 발명의 미디어 관리자를 실현하기 위하여, 미디어 관리자가 실현될 각 요소는 도 2에 도시된 시스템과 같은 하드웨어 시스템을 포함할 것이다. 이러한 디바이스 내의 CPU(22)는 애플리케이션 프로그램 지령을 실행하기 위하여 사용된다. 본 발명의 미디어 관리자는 그후 네트워크 내의 통신 및 동작을 관리하기 위하여 사용된다. 사용자는 제어 디바이스에 제공된 인터페이스를 통해 미디어 관리자를 억세스한다. 이러한 인터페이스를 통해 사용자는 네트워크의 동작 및 상태와, 네트워크 내의 디바이스를 감시할 수 있다. 사용자는 또한 디바이스를 제어할 수 있고, 이러한 인터페이스를 통해 태스크가 완료되도록 요구할 수 있다. 이들 태스크의 예는 VCR(12)상에서 기록된 테이프를 재생하는 것과 텔레비전(11) 상에서 VCR(12)의 출력을 디스플레이하는 것을 포함한다. 본 발명의 미디어 관리자는 또한 데이터 전송 동작과, 개별 디바이스에서 요구된 태스크를 관리한다.
본 발명의 미디어 관리자 플랫폼 구조의 블록도는 도 3에 도시되었다. 이러한 구조는 소위 말하는 상부(32)와 하부(34)로 나뉜다. 하부(34)는 IEEE 1394-1995 버스 인터페이스를 포함하고, 현재 상업적으로 취득 가능한 가장 일반적인 운영 체계(operating system)에 걸쳐 기능(functionality) 지원을 포함하는 것이 바람직하다. 상부(32)는, 하부에 놓이는 IEEE 1394-1995 버스 지원을 초래하고, 고객 애플리케이션, 따라서 사용자에 제공되는 다수의 특성과 향상 기능에 추가되는 요소를 포함한다. 상부(32)는, 더 높은 레벨의 IEEE 1394-1995 버스 지원의 실현과 특유한 설계를 제공하는 블록(46)과, 인터페이스를 포함하고 이를 다양한 고객 애플리케이션에 제공하는 블록(48)을 포함한다. 하부(34)는, 윈도우(Windows) 95(등록상표), 맥킨토시(Macintosh)(등록상표) 및 아페리오스(Aperios)(상표) 운영체계를 포함하는 가장 일반적인 운영체계에 대한 지원을 각각 제공하는 블록(40, 42 및 44)을 포함한다. OS9와 같은 임의의 일반적인 운영체계에 대한 지원 또한 제공된다. 하부(34)는 또한, IEEE 1394-1995 지원을 위한 공통의 층을 제공하는 블록(38)과, 제어 디바이스에 연결된 다른 디바이스에 실제 물리적인 IEEE 1394-1995 버스 인터페이스를 제공하는 블록(36)을 포함한다.
미디어 관리자 플랫폼은, 개인용 컴퓨터와 다른 자율적인 디바이스를 네트워크 구성에 효율적으로 통합하고, 이들 디바이스 사이의 필요한 데이터 전송 동작을 효율적으로 관리하기 위하여, 개방적이고 유연한 구조를 제공한다. 이러한 구조의 하부(34)는 가장 하부 레벨에서 하부에 놓이는 기술(underlying technology)을 지원하도록 설계되는데, 이러한 기술은 더 높은 레벨이 더 일반적인 모듈과 기능 설명을 지원하도록 허용한다.
본 발명의 미디어 관리자 플랫폼 구조의 보다 상세한 블록도는 도 4에 도시되었다. 멀티미디어 또는 사용자 레벨의 애플리케이션(48)은 상기 구조의 상부에 위치하고, 미디어 관리자에 의해 제공된 서비스를 사용한다. 멀티미디어 애플리케이션(48)은 본 발명의 미디어 관리자 플랫폼의 하나의 애플리케이션 또는 다른 고객이다. 미디어 관리자 내의 구조 요소는 프로토콜 세부사항을 관리하고, 보다 단순한 프로그래밍 인터페이스를 애플리케이션(48)으로 전한다. 타이밍, 버퍼 관리, 버스 관리 및 통신 프로토콜과 같은 논점은 이들 간단한 기능 인터페이스 뒤에 숨겨진다. 애플리케이션(48)은 또한 상기 구조의 하부 층에 억세스할 수 있으며, 물론 하드웨어 적용 층(hardware adaptation layer)(HAL) 및 호스트 운영체계(58)와 직접 통신할 수 있다. 호스트 운영체계는 카메라(10), VCR(12) 및 셋톱 박스(13)와 같은 네트워크 내의 다른 디바이스에 접속된다. 도시 목적을 위하여, 이러한 구조 내에서 본 발명의 미디어 관리자는 도 1의 컴퓨터 시스템(14) 상에서 실현된다.
애플리케이션 인터페이스 객체(50)는 미디어 관리자 환경 내에서 고객 애플리케이션(48)에 대한 프록시(proxy)로서 작용한다. 애플리케이션 프로그래밍 인터페이스는 고객 애플리케이션(48)이 미디어 관리자의 기본 서비스를 억세스하는 것을 허용하기 위하여 제공된다. 일정한 프로그래밍 인터페이스에 의해 제공된 보다 상세한 또는 특정한 기능에 대한 억세스는, 애플리케이션(48)에 로컬 메신저(52)에 대한 억세스를 제공하는 애플리케이션 인터페이스 객체(50)를 통해 제공되기도 한다.
로컬 메신저(52)는 미디어 관리자에 통합되는 메시징 시스템의 하나의 요소이다. 이러한 메시징 시스템은 AV 메신저 시스템인 것이 바람직하다. 로컬 메신저(52)는, 주어진 노드 상의 모든 객체가 별도의 실행 공간에 존재할 때, 이들 객체 간의 통신의 중앙 허브(hub)이다. 필수적으로, 로컬 메신저(52)는 호스트 운영체계(58)에 의해 제공된 애플리케이션간 통신 모델이다. 로컬 메신저(52)는 소프트웨어 모듈 사이의 모든 메시지가 통과하는 병목이다. 기록 가능성(scriptability)을 달성하기 위하여, 로컬 메신저(52)는 모든 메시지가 통과할 때 이들을 기입(log)하여, 모든 메시지의 내부 데이터베이스와 목적지의 어드레스, 파라미터, 응답 어드레스 및 선택적으로 시간에 기초한 기록을 위한 시간 스탬프를 포함하는 상기 데이터베이스에 해당된 데이터를 유지한다.
서비스 레지스트리(59)는 미디어 관리자 내의 어드레스 지정 가능한 모든 실체에 대한 참조를 포함한다. 이러한 레지스트리는 각 디바이스 제어 모듈(DCM)(56), DCM 관리자(54), 데이터 흐름 관리자(64), 트랜잭션 관리자(66), 데이터 포맷 관리자(68), 버스 관리자(70) 및 그래픽 관리자(72)에 대한 참조를 포함한다. 서비스 레지스트리(59)는 또한 이하에서 기술되는 바와 같이 임의의 수의 서비스 모듈(60)을 포함한다. 서비스 레지스트리(59)는 또한, 노드에 대해 국부적인 모든 참조와, 특정 시간에서 역시 원격 객체에 대하여 국부적인 모든 객체에 대한 참조를 포함하는 서비스 레지스트리 데이터베이스를 포함한다. 데이터베이스 내의 각 엔트리(entry)은 어드레스 지정 가능한 모듈을 조회하고, 부착된 속성을 포함하는데, 이들 속성중 일부는 모든 엔트리에 공통이고, 그 외의 엔트리는 모듈의 형태에 따라 특정한 것이다. 공통 속성은 모듈 이름과 로컬 ID와 같은 것을 포함한다. 모듈에 특정된 속성은 모듈의 형태에 따라 변할 것이다. 서비스 레지스트리 데이터베이스 내에 일단 엔트리가 존재하면, 임의의 수의 속성이 엔트리에 첨가될 수 있다. 고객 애플리케이션이 데이터베이스를 검색할 때, 애플리케이션은 부합할 속성의 세트를 상술하고, 서비스 레지스트리(59)는 상술된 표준에 부합하는 모든 엔트리를 찾아 되돌리면서, 데이터베이스를 검색한다. 이러한 검색 도중에 다수의 후보가 발견되면, 서비스 레지스트리(59)는 고객 애플리케이션(48)에 목록 참조를 제공할 것이다. 그후 고객 애플리케이션은 관심 대상의 항목을 결정하기 위하여, 목록 내의 후보 항목 각각을 시험할 수 있다.
고객 애플리케이션(48)은, 각각이 다른 검색 표준의 결과를 나타내는 다수의 현저한 검색 목록을 가질 수 있다. 고객 애플리케이션(48)이 다른 디바이스가 사용될 수 있는 버스 리세트와 같은 이벤트에 따라 검색 목록의 갱신을 필요로 할 때, 애플리케이션(48)은 검색 호출을 구성할 때 목록 참조를 서비스 레지스트리(59)에 되돌려 전달한다. 이것은 서비스 레지스트리(59)로 하여금 기존 목록 객체를 배치하여 새로운 것으로 재할당하기 보다는 기존 목록 객체를 갱신하는 것을 허용한다.
서비스 모듈(60)은 서비스의 일부 세트를 수행하기 위하여 호출될 수 있는 모듈이다. 서비스 모듈(60)은, 데이터 포맷, 트랜스포트 및 제어 프로토콜 변환과 같은 서비스를 포함하여, 고객 애플리케이션을 위한 다양한 서비스를 수행한다.
DCM 관리자(54)는 로컬 노드 상에서 또는 제어 디바이스의 네트워크 내의 디바이스를 위해 DCM 그룹(56)을 처리할 책임이 있다. 이들 책임은, 주어진 시스템에 사용 가능한 모든 DCM 후보를 발견하고, 실증하며(instantiating), 배치하는 태스크를 포함한다. 부가하여, DCM 관리자(54)는, 네트워크 전체의 디바이스와 하위 디바이스의 자원 할당과 관리를 조정하기 위하여, 만약 원격 노드가 존재한다면, 원격 노드 상의 다른 DCM 관리자와 통신한다.
DCM 관리자(54)는, 노드가 처리하는 사용 가능한 디바이스의 가공하지 않은(raw) 목록을 얻기 위하여, 하부의 운영체계 서비스와 함께 동작한다. DCM 관리자(54)는 또한 DCM(56)으로 표시되는 어떤 하위 디바이스, 또는 어떤 다른 서비스가 네트워크 상의 디바이스 내에서 사용가능한 지를 발견하기 위하여, 고객 애플리케이션(48)에 애플리케이션 프로그래밍 인터페이스를 제공한다. DCM(56)은 DCM 관리자(54)에 의한 할당을 위해 사용 가능한 디바이스 또는 하위 디바이스를 나타낸다. DCM(56)은 물리적인 디바이스를 나타내거나, 다른 물리적인 디바이스로부터 하위 부분으로 형성된 가상의 디바이스를 나타낼 수 있다. 사용 가능한 다른 서비스는 가상의 DCM(56)에 의해 표시되고, 이는 이하에서 논의된다. 사용 가능한 DCM은 IEEE 1394-1995 직렬 버스 상에서 사용 가능한 물리적인 디바이스에 따라 다이내믹할 것이다.
각 노드에 대해, DCM 관리자(54)는 DCM(56)을 생성하여야만 하는 지를 결정하기 위해 충분한 작업을 수행한다. 이것은, 본 발명의 미디어 관리자에 의해 관리될 모든 미디어-관련 디바이스에 대해 수행된다. 각 미디어-관련 실체(entity)에 대해, DCM 관리자(54)는 일반적인(generic) DCM(56)을 생성한다. 그후 각 DCM(56)은 이하에서 기술되는 바와 같이, 자신을 보다 디바이스에-특유(device-specific)하게 구성해야 한다.
제작자로부터 제공된 디바이스에-특유한 DCM은 DCM(56)에 첨가될 수도 있다. 디바이스에-특유한 DCM은, 상기 디바이스, 또는 디스크나 테이프의 헤더와 같은 일부 다른 저장 메커니즘 내에 삽입된 판독 전용 메모리(ROM)를 포함하는 다양한 소스로부터 유래될 수 있다. 디바이스에-특유한 DCM은, 연결 및 다운로드 성능이 미디어 관리자에 대해 억세스될 수 있다면, 인터넷 사이트로부터 또는 직접 모뎀 연결을 통해 다운로드될 수 있거나, 또는 디스크 또는 다른 저장 매체로부터 제공될 수 있다.
DCM 관리자(54)는 적절한 시간에 DCM(56)을 첨가하여 배열하는 책임과, DCM(56)이 첨가되었거나 제거되었음을 고객에 알리는 책임이 있다. DCM 관리자(54)는 또한 다수의 DCM(56) 사이에서 복잡한 서비스를 조정할 책임이 있다. 복잡한 동작의 명령 대기와 같은 이들 복잡한 서비스는 DCM 관리자(54)가 이들 동작을 수행하기 위하여 다수의 DCM(56)을 조정하는 것을 필요로 한다.
각 DCM(56)은, 디바이스 제어를 위한 표준화된 인터페이스를 고객 애플리케이션(48)에 전달함으로써, 디바이스 모델링 및 제어 프로토콜 추상 개념 서비스를 제공한다. DCM(56)에 의해 제공된 디바이스 제어에 대한 프로그래밍 인터페이스는 공통 A/V 제어 및 디바이스에-특유한 A/V 제어로 분할된다. 공통 A/V 제어 명령은 오디오-비디오 성능을 갖는 모든 디바이스에 실제적으로 공통이다. 재생, 정지, 고속 전진(Fast Forward) 및 되감기 명령과 같은 기본 트랜스포트 제어 기능이 여기에 포함된다. 디바이스에-특유한 A/V 제어 명령은, 기록 성능을 갖는 디바이스에 대한 기록 명령과 같은 A/V 디바이스의 주어진 카테고리에 공통인 특성, 및 디바이스의 특정 모델 또는 그룹에 특정한 특성을 포함한다. 디바이스에-특유한 기능을 위한 정보는, 이전에 언급한 자체-설명 데이터 구조를 사용하여 디바이스 자체에 삽입된 디바이스에-특유한 DCM에 내장되거나, 인터넷으로부터 소프트웨어 업그레이드로서 다운로드될 수 있다.
본 발명의 미디어 관리자는 프로토콜 추상 개념을 사용하는데, 이는 사용되는 디바이스와 제어 프로토콜의 종류에 상관없이, 모듈과 애플리케이션 사이의 프로그래밍 인터페이스가 동일함을 의미한다. 따라서, 애플리케이션은, 비디오 시스템 제어 구조(Video System Control Architecture : VISCA) VCR이 기록하게 하기 위해 사용하는 것과 같이, IEEE 1394-1995 VCR이 기록하게 하기 위하여 동일한 소스 코드와 메시지를 사용할 것이다. 공통 A/V 제어 명령과 카테고리에-특유한 제어 명령에 대해서도 이러한데, 특정 디바이스에 실제 특유한 특성은 고유한 프로그래밍 인터페이스를 가질 것이다.
DCM(56)은 디바이스로부터의 자체-설명 데이터를 다운로드시켜 사용자에게 제공하는 메커니즘이다. 이것은 DCM(56)이, 모듈을 다운로드 및 통합하고, 호스트 애플리케이션을 통해 사용자에게 이러한 정보의 제공을 관리함으로써, 자체-설명 정보를 분석하는 것을 필요로 한다. 이것은 사용자로 하여금 미디어 관리자 인터페이스를 통해 네트워크 상에서 디바이스의 공지된 기능과 디바이스에-특유한 기능 모두를 구성하고 제어할 수 있도록 한다.
동시에, DCM 관리자(54)와 DCM(56)은 실행될 AV 명령의 명령 대기를 수행하여, DCM(56)으로 하여금 디바이스의 기계적인 잠복(mechanical latency)을 설명하기 위한 프리롤(pre-roll)을 수행하는 필요와 같은, 모든 디바이스의 특성을 처리하도록 허용한다. 미디어 관리자의 다른 부분과 조정되어, DCM 관리자(54)와 DCM(56)은 또한, 특정 시간과 일정한 조건의 결과로서 취해지는 디바이스 제어 동작을 상술하는 능력을 제공한다.
DCM(56)은 본 발명의 미디어 관리자의 전체 구조의 많은 부분을 구성한다. DCM(56)은, 제어 프로토콜, 물리적인 연결 및 연결 성능과 같은 오디오-비디오 디바이스를 구성하는 다양한 기술 모두에 추상 개념을 제공한다. 물리적인 디바이스를 나타내지는 않지만, 특정 AV 동작을 수행하는 서비스 또는 기능 모음을 포함하는 가상 디바이스를 나타내는 하나의 DCM(56)이 또한 생성될 수 있다.
물리적인 디바이스와 하위 디바이스는 하드웨어의 개별적으로 억세스될 수 있는 요소이다. 본 발명의 미디어 관리자는 디바이스의 네트워크에 증대된 성능을 더하기 위한 가상 디바이스를 지원하기 위하여 억세스 가능한 하위 디바이스를 사용한다. 이러한 가상 디바이스는 다양한 사용 가능 구성 요소의 요소로부터 결합되는 논리적인 실체이다. 바람직하게, 이러한 가상 디바이스는 요구된 태스크를 완료하는데 필요할 때 자동적으로 생성된다. 선택적으로, 이러한 가상 디바이스는 DCM 관리자(54)로부터의 서비스를 요구함으로써 다이내믹하게 생성된다.
AV 동작은 "텔레비전 시청" 또는 "영화 녹화"와 같은 미리 한정된 동작 또는 활동, 또는 DCM(56)의 사용에 의한 디바이스의 조작을 포함하는 사용자-한정 동작의 임의의 세트이다. 이러한 동작은 사용자에 의한 재사용을 위하여 기록될 수 있다. AV 동작 애플리케이션 프로그래밍 인터페이스는, 기록된 쇼를 보거나, 방송 쇼를 보거나, 테이프를 복사하거나, 콤팩트디스크를 청취하는 것과 같이, AV 네트워크 내의 디바이스로 수행되는 명령 동작을 모델링하는 방법이다. 예컨대, VCR이 사용자 가정안에서 윗층 침실에 위치하고, 현재 튜너를 통해 방송을 수신하고, 이를 침실 내의 텔레비전 상에 디스플레이하고 있다면, VCR 내의 트랜스포트 메커니즘은 사용되지 않는다. 그후 사용자가 기록된 쇼를 아래층의 텔레비전을 통해 보고 싶다면, 본 발명의 미디어 관리자는 사용자로 하여금 비디오테이프를 침실 내의 VCR의 트랜스포트에 위치시키고, 테이프로부터 기록된 쇼를 아래층의 텔레비전을 통해 볼 수 있도록 할 것이다. 기록된 쇼를 나타내는 데이터는 윗층의 VCR로부터 IEEE 1394-1995 직렬 버스 네트워크를 통해 아래층의 텔레비전에 송신된다. 이러한 데이터 전송 동작은 제어 디바이스 내의 미디어 관리자에 의해 제어된다. 유사한 기능 및 가상 디바이스는, 튜너, 디멀티플렉서, 트랜스포트, 증폭기, 프로세서 및 다른 구성 요소와 하위 디바이스로 달성된다. 따라서, 사용자는 이들의 동작을 제어하는 미디어 관리자를 사용하여 네트워크 내의 디바이스의 기능 및 성능을 극대화할 수 있다.
DCM 관리자(54)는, 어떤 물리적인 디바이스와 하위 디바이스가 사용되고 있는 지뿐만 아니라, 어떤 가상 디바이스가 현재 사용 가능한 요소 및 하위 요소로부터 생성될 수 있는 지에 대해서도 추적을 유지한다. DCM 관리자(54)는 국부적으로 관리되는 자신의 모든 디바이스를 위하여 또한 호스트 플랫폼 상에서 사용 가능한 소프트웨어 서비스를 위하여 추적을 유지하는데, 상기 서비스는 호스트 플랫폼 상에서 실행된다. DCM 관리자(54)는 또한, 네트워크 상에서 사용 가능한 자원에 기초하여 생성될 수 있는 가상 디바이스를 조사하고, 또한 어떤 AV 동작이 현재 수행되는 지를 조사하기 위한, 프로그래밍 인터페이스를 고객 애플리케이션(48)에 제공한다. DCM 관리자(54)는 또한 가상 디바이스가 적절한 시간에 서비스 레지스트리(59)에 더해지는 것을 보장한다.
DCM(56)에 제공된 애플리케이션 프로그래밍 인터페이스는, 고객 애플리케이션(48)으로 하여금 어떤 특성 및 성능이 네트워크 내의 디바이스에서 사용될 수 있는 지 찾아내고, 필요할 때 이들 디바이스와 동작하는 것을 허용하도록, 설계된다. 이러한 프로그래밍 인터페이스는 디바이스 제어, 디바이스 관리, 연결 관리 및 자체-설명 디바이스 실현의 관리를 포함한다. 각 DCM(56)은 관리하고 있는 디바이스의 형태를 결정함으로써 일반 DCM으로부터 디바이스 또는 프로토콜에 특유한 DCM으로 변환할 책임이 있다. 이것은, 디바이스로부터 자체-설명 디바이스 데이터가 존재한다면, DCM이 이를 시험하고, 사용될 수 있는 임의의 다른 정보를 분석하는 것을 필요로 한다. DCM(56)은 또한, 디바이스 영상, 제품 이름 열 및 다른 디바이스 및 요소에 대한 기능 설명자를 포함하여, 관리되고 있는 디바이스를 위한 자체-설명 디바이스 정보 데이터에 대한 억세스를 제공할 책임이 있다. DCM(56)은 또한, 명령 대기와 같은 복잡한 서비스를 포함하여 디바이스 제어를 위한 일관된 인터페이스를 제공할 책임이 있다. 이들 명령을 수행하는 것은, 프로토콜 드라이버와 다른 운영체계가 제공한 지원 메커니즘를 통해, 패키징(packaging), 전달, 프로토콜에-특유한 명령의 처리 및 응답을 포함한 디바이스 제어 프로토콜의 사용을 위하여, 호스트 운영체계(58)와의 조정을 필요로 한다.
각 DCM(56)은 또한 제어하고 있는 디바이스를 감시하고, 필요한 요소 및 애플리케이션에 대한 확장된 통지 지원을 제공한다. 디바이스에 의해 생성된 모든 정상 이벤트는 적절한 디바이스에 대한 DCM(56)을 통과하여, 이벤트 관리자(62)로 전달되고, 이후 관심 대상의 고객 애플리케이션(48)으로 전달된다. AV/C 디바이스 통지 이벤트를 지원하는 것에 부가하여, 많은 경우가 AV/C 프로토콜, 주어진 디바이스 또는 다른 제어 프로토콜에서 명백하게 지원되지 않을 수 있다. 디바이스의 성능과, 디바이스의 제어 및 통신 프로토콜에 따라, 실제 이벤트 메시지를 트리거(trigger)하지 않는 이벤트에 대해 확장된 지원을 제공하는 것이 가능하다. DCM(56)은 이러한 종류의 활동에 대해 디바이스를 관찰하고, 하나의 이벤트를 이벤트 관리자(62)에 보낸다.
각 DCM(56)은 또한, 자신의 제어하에서 디바이스로부터의 데이터를 사용하는 외부 실체, 및 자신을 제어하는 실체에 의하여 자신을 관리할 책임이 있다. 이것은 자원을 공유하고 자원을 대기시키기 위한 지원을 포함한다. 자원을 대기시키는 것은, 하나의 실체로 하여금, DCM(56)이 사용 가능할 경우 곧바로 사용을 위하여, 사용중(busy)인 DCM을 예약하는 것을 허용한다. DCM(56)이 사용 가능할 경우 곧바로, 상기 실체에 통지한다.
DCM(56)은 또한 환경 변화 도중에도 존재를 지속하여 DCM과 고객이 온라인 및 오프라인 상태를 지원하는 것을 허용하는 것이 바람직하다. 이것은 DCM(56)으로 하여금 일단 온라인이 다시 되면 신속하게 디바이스의 서비스를 재설정하는 것을 허용한다.
본 발명의 미디어 관리자 내에서, DCM(56)은 사용 가능한 디바이스와 하위 디바이스를 제어할 책임이 있다. DCM(56)은 일반적이거나 디바이스에-특유한 디바이스의 성능 모두에 대한 억세스를 제공한다. 본 발명의 다른 실시예에 있어서, 각 디바이스는 자체-설명 데이터의 일부로서 삽입된 DCM을 구비하여, 디바이스가 어디에서 취해지는 지에 상관없이 소프트웨어가 항상 사용 가능한 것을 보장한다. 또 다른 실시예에 있어서, 특유한 디바이스에 대한 DCM은, 디바이스 제작자 또는 인터넷을 통한 제 3자로부터 얻어지거나, 또는 플로피디스크와 같은 미디어 디바이스로 제공된다. 상기 실시예 각각에 있어서, DCM(56)은 일단 다운로드되면, 다양한 위치에 저장될 수 있다. DCM(56)은 제어하는 디바이스에 저장되는 것이 바람직하다. 그러나, DCM(56)은 임의의 적절한 위치에 저장될 수도 있다. 본 발명의 다른 실시예에 있어서, DCM(56)은 공통의 바이트, 또는 호스트 플랫폼에 의해 지원되는 자바(Java) 또는 자바 스크립트(Java Script)와 같은 스크립트 코드 포맷으로 기록된다. DCM(56)은 그후 호스트 디바이스로 업로드되어, 거기에서 실행된다.
이벤트 관리자(62)는 네트워크 내의 모든 이벤트 통지를 모든 관련 당사자에 방송한다. 이벤트 관리자(62)는, 이벤트가 노드 내에서 발생할 때 통지를 등록하기 위하여 그 노드 내의 모든 모듈에 대한 중앙 위치로서 작용한다. 이벤트 관리자(62)는, 한정된 이벤트 형태의 목록인 이벤트 통지 목록 데이터 구조와, 각 형태의 이벤트의 통지를 위하여 등록된 모든 디바이스의 목적지 식별자를 유지한다. 각 디바이스는 자신에게 관심이 있는 각 이벤트 형태를 이벤트 관리자(62)에 등록하여, 자신의 고객 식별자를 제공하고, 또한 이벤트 메시지가 방송될 때 자신에 되돌아 전달될 토큰 값을 제공한다. 하나의 이벤트는, 다수의 목적지에 어드레스 지정된 디바이스로부터 일부 동작 및 하나의 메시지의 실제 발생한 것이다.
이벤트 관리자(62)는 일반적으로 이벤트를 생성하지 않지만, 미디어 관리자와 함께 다른 요소에 의해 전달된 이벤트를 받아들이고 방송한다. 원격 노드 내의 고객 애플리케이션(48)에 이벤트를 방송할 때, 이벤트 관리자(62)는 방송 관리자(74)를 사용한다. 이벤트 관리자(62)는 사용자와의 상호작용을 처리하고, 적절한 디바이스에 적절하게 통지한다. 이벤트 관리자(62)는 제어 소프트웨어 레벨에서 인터페이스를 통해 어떤 사용자 입력이 발생하였는 지를 DCM(56)에 통보하여, DCM(56)이 그들의 물리적인 디바이스를 적절하게 처리할 수 있도록 한다. 원격 위치로부터 자신의 디바이스를 제어하는 DCM(56)은 사용자가 무엇을 실행하는 지를 나타내는 메시지를 수신할 필요가 있을 것이고, 또한 적절한 메시지를 자신의 디바이스에 전달할 필요가 있을 것이다. 이벤트 관리자(62)는, 메시징 시스템과 양호하게-한정된 이벤트 메시지를 통해, 원격 DCM(56)의 실행을 지원한다. 양호하게-한정된 이벤트 메시지는, 사용자 상호작용과, 디바이스가 네트워크에 첨가될 때 생성된 새로운_디바이스(new_device) 메시지와 같은 디바이스 운영을 포함한다. 양호하게-한정된 이벤트 메시지에 부가하여, 임의의 두 개의 DCM 또는 소프트웨어 모듈은 주문형 또는 개인 메시지를 한정할 수도 있다.
그래픽 관리자(72)는 원격 디바이스 제어의 제어 애플리케이션에 대한 삽입을 관리하고, DCM(56)에 의한 자체-설명 데이터 정보의 원격 표시를 지원한다. 그래픽 관리자(72)는, DCM(56)으로 하여금 스크린 공간을 조정하고, 공유 그래픽 환경에서 동작하는 것을 허용하는 프로그래밍 인터페이스를 제공한다. 이것은 디바이스의 특유한 성능이 표현되도록 허용하고, 제어 소프트웨어의 인터페이스를 통해 사용자에 의해 억세스되는 것을 허용한다.
데이터 포맷 관리자(68)는 디바이스 사이에서 흐르는 데이터의 포맷을 관리한다. 이것은, 버퍼 관리의 일부로서 데이터 포맷 변환과, 데이터 포맷 처리를 위하여, 상주하는 미디어 관리자에 접속하는 성능을 포함한다. 대부분의 데이터 포맷 변환은 소스의 인식 및 데이터의 목적지에 기초하여, 고객 애플리케이션을 대신하여 투명하게 이루어진다. 다른 데이터 변환은 포맷 변환 처리를 설정하기 위하여 고객 애플리케이션(48)을 필요로 한다. 포맷 변환은 데이터가 송신되는 동안 인라인으로(in-line) 수행되는 것이 바람직하다. 선택적으로, 포맷 변환은 데이터 송신 이전 또는 이후의 처리 태스크로서 수행된다. 주어진 플랫폼 상에서 사용 가능한 데이터 포맷 변환 서비스는 서비스 레지스트리(59)에 저장된다. 서비스를 발견하기 위하여 레지스트리를 사용하는 것에 덧붙여, 데이터 포맷 관리자(68)는 서비스 모듈을 실증하고, 이들을 서비스 레지스트리(59)에 등록할 책임이 있다.
데이터 흐름 관리자(64)는, 데이터를 소스로부터 중간의 많은 노드를 포함할 수 있는 목적지로 전달하는 것을 돕기 위한 서비스를 제공하기 위하여, 버스 관리자(70)와 함께 동작한다. 소스 및 목적지 디바이스가 다른 데이터 형태를 포함하거나, 또는 장벽에 의해 분리된 경우, 데이터 흐름 관리자(64)는 자동 또는 요구된 데이터 변환 서비스를 역시 처리하기 위하여 데이터 포맷 관리자(68)와 서비스 레지스트리(59)와 함께 동작할 것이다. 등시 데이터의 전송 도중에 데이터 흐름 관리자(64)는 버퍼 할당 및 관리 서비스를 제공한다. 버퍼 관리는 고객 애플리케이션에 언제 데이터가 처리를 위해 사용 가능한 지를 알리기 위하여 일관된 통지 메커니즘의 준비를 포함한다. 등시 데이터가 고객 애플리케이션(48)으로 흐르는 동안, 다양한 메모리 버퍼는 데이터로 채워진다. 데이터 흐름 관리자(64)는 고객 애플리케이션(48)에 언제 각 버퍼가 채워지는 지를 알려, 버퍼로부터의 데이터 포착(acquisition) 처리를 처리(handle)할 수 있게 된다. 덧붙여, 포착되는 데이터에 대해 최적화되는 방법으로 적절한 서비스 모듈이 메모리를 분할하게 함으로써, 버퍼 관리는 고객 애플리케이션에 대해 단순화된다. 이것은, 비디오 데이터의 한 스트림에 대한 스캔 라인 또는 프레임-크기의 세그먼트로, 또는 가공하지 않은 오디오 및 MIDI 데이터에 대한 최적 세그먼트로, 할당된 메모리를 분할하는 것을 포함한다.
본 발명의 미디어 관리자를 사용하여 두 개의 디바이스 사이에서 데이터 전달을 설정하는데 포함된 단계의 흐름도는 도 5에 도시되었다. 상기 방법은 블록(100)에서 시작한다. 고객 애플리케이션(48)이 데이터 전송을 위해 두 개의 디바이스 사이의 연결 설정을 원할 때, 상기 애플리케이션은 두 개 디바이스를 나타내는 두 개의 DCM(56) 중 하나의 설정-외부-연결(){EstablishExternalConnection()}방법을 호출하고, 다른 디바이스의 DCM(56)의 모듈ID 값을 파라미터로서 전달한다{블록(102)}. 그후 호출된 DCM(56)은 연결을 구성하는 것을 돕기 위하여 데이터 흐름 관리자(64)를 호출하고, 파라미터로서 소스 및 목적지 DCM 모듈ID 모두를 전달한다{블록(104)}. 그후 데이터 흐름 관리자(64)는 소스 및 목적지 ID를 분석하여, 이들이 다른 노드에 있음을 결정한다{블록(106)}. 그런 다음 데이터 흐름 관리자(64)는 소스 노드의 버스 관리자(70)로부터 네트워크의 토폴로지 맵(topology map)을 얻는다{블록(108)}. 그후 데이터 흐름 관리자(64)는 토폴로지 맵을 분석하여, 목적지 노드를 찾고, 목적지 노드가 토폴로지 맵 상에 있는 지를 결정한다{블록(110)}. 목적지 노드가 토폴로지 맵 상에 있다면, 데이터 흐름 관리자(64)는 블록(118)으로 건너뛰어 데이터 전송을 위한 최상의 경로를 결정한다. 목적지 노드가 토폴로지 맵 상에 없다면, 데이터 흐름 관리자(64)는 상기 노드에 대한 송신 프로토콜을 결정하기 위하여 서비스 레지스트리(59)로부터 목적지 DCM을 얻는다{블록(112)}. 데이터 흐름 관리자(64)는 그후 적절한 송신 프로토콜 서비스 모듈을 찾고, 적절한 변환 처리를 설정한다{블록(114)}. 그후 다수의 트랜스포트가 브리지(bridge)될 필요가 있는 지가 결정된다{블록(116)}. 다수의 트랜스포트가 브리지될 필요가 있다면, 데이터 흐름 관리자(64)는 블록(114)로 건너뛰어 다른 트랜스포트 변환 모듈을 얻는다. 다수의 트랜스포트가 브리지될 필요가 없다면, 데이터 흐름 관리자(64)는 데이터 흐름에 대한 최상의 경로를 결정하기 위하여 연결 경로를 분석한다{블록(118)}. 데이터 흐름 관리자(64)는 그후 변환이 필요한 지를 결정하기 위하여, 소스 및 목적지 노드에 대한 입력 데이터 포맷을 분석한다{블록(120)}. 변환이 필요하다면, 데이터 흐름 관리자(64)는 입력 및 출력 포맷에 기초하여 서비스 레지스트리(59)로부터 적절한 포맷 변환자(converter)를 얻고, 변환 처리를 설정한다{블록(122)}. 변환이 필요하지 않은 경우, 데이터 흐름 경로는 완료되고, 두 개 디바이스 사이의 데이터 전송이 시작된다{블록(124)}.
버스 관리자(70)는 아래 놓이는 디바이스의 상호 연결 메커니즘을 추출하여, 버스 구조의 성능을 기술하기 위한 프로그래밍 인터페이스의 공통 세트를 제공한다. 본 발명의 양호한 실시예에 있어서, 디바이스는 IEEE 1394-1995 직렬 버스에 의해 연결된다. IEEE 1394-1995 직렬 버스 네트워크에 대해, 버스 관리자(70)는, 호스트 운영체계(58)에 의해 제공되는 IEEE 1394-1995 HAL층의 상부(top)에 존재한다. 버스 관리자(70)는 그후 본 발명의 미디어 관리자로 버스 관리 활동을 일반화하는 것을 돕는다. 버스 관리자(70)는, 이벤트 관리자(62)를 통해 버스 리세트 통보를 전달하고, 환경이 얼마나 변했는 지에 대한 완전한 정보를 제공함으로써, 고객 애플리케이션(48)에 언제 버스 리세트 활동이 발생하는 지를 통보한다. 이러한 정보를 수신하는 고객 애플리케이션에, 갑자기 사라질 수 있는 디바이스와, 버스 리세트 이후 갑자기 사용 가능해진 디바이스에 대한 정보가 제공된다.
버스 관리자(70)는 또한 토폴로지 맵, 속도 맵 및 다른 환경 설명을 고객 애플리케이션(48)에 제공한다. 토폴로지 맵으로부터의 정보는 사용자 인터페이스를 구성하는데 사용되는데, 상기 사용자 인터페이스는 사용자가 디바이스의 연결을 이해하고, 일정한 특성이 어떻게 사용될 수 있는 지를 이해하는 것을 돕는다. 이러한 정보는 또한, 데이터 흐름 관리자(64)와 관련하여 상술한 바와 같이, 자동 데이터 경로지정을 제공한다. 속도 맵은, 현재의 연결 구조를 분석하고, 디바이스가 연결된 경로를 재배열함으로써 네트워크 상의 디바이스 성능을 개선하기 위한 유용한 제안을 사용자에게 제공하는데, 사용된다. 버스 관리자(70)는 또한, 서로 바이트를 양호한 포맷 또는 프로토콜로 전달하기 위하여, 두 개의 노드 또는 상기 노드 내의 소프트웨어 모듈에 대한 극소-레벨(atomic-level) 데이터 통신 서비스를 제공한다. 이러한 프로토콜은 이들 극소 통신 기능의 상부에 구성된다.
버스 리세트 또는 버스의 변경 통지 이후, 버스 관리자(70)는 방금 출현한 모든 디바이스에 새로운 ID 값을 할당하고, 어떤 디바이스가 사라졌는 지를 결정한다. 버스 관리자(70)는 그후 방금 나타난 디바이스에 대한 새로운 DCM(56)을 생성하기 위하여 DCM 관리자(54)를 불러내고, 버스 변경 통지를, 모든 등록 고객에 버스 리세트에 대해 통지할 이벤트 관리자(62)에 공표(post)한다. 이러한 통지는 어떤 디바이스가 버스 상에서 변경되었는 지를 결정하도록, 고객 애플리케이션(48)에 충분한 정보를 제공한다.
트랜스포트 적응 모듈(78)은, 목적지 디바이스에 실제 송신을 위해 HAL로 전달되기 전에, 메시지 데이터의 패키징을 처리한다. HAL은 본 발명의 미디어 관리자의 가장 낮은 층에 존재한다. 이러한 층은, 위쪽의 고객, 예컨대 DCM(56) 및 통신할 필요가 있는 임의의 다른 실체를 향해 공통 프로그래밍 인터페이스를 제공한다. 트랜스포트 적응 모듈(78)은 상술한 바와 같이, 버스 관리자(70)의 극소 메시징 기능을 사용한다.
상술한 바와 같이, DCM(56)은 디바이스 제어에 대한 표준화된 인터페이스를 멀티미디어 애플리케이션(48)까지 밖으로 전달함으로써, 프로토콜 추상 개념 서비스를 제공한다. 이들 요소에 의해 제공된 프로그래밍 인터페이스는 공통의 오디오/비디오 제어 레벨과 디바이스에-특유한 제어 레벨로 분할된다. 공통의 오디오/비디오 제어 레벨은, 재생, 정지, 고속-전진 및 되감기 명령과 같은 기본 트랜스포트 제어 기능을 포함하여, 공통의 명령에 대한 인터페이스를 제공한다. 디바이스에-특유한 제어 레벨은, 기록 성능을 갖는 디바이스에 대한 기록과 같은 디바이스의 주어진 카테고리에 공통인 특성과, 일정한 디바이스 또는 디바이스의 그룹에 특유한 특성을 포함하여, 디바이스에-특유한 특성 명령에 대한 인터페이스를 제공한다. DCM(56)에 의해 제공된 프로토콜 추상 개념 서비스는 모듈과 애플리케이션(48) 사이에서 프로그래밍 인터페이스가 사용되고 있는 디바이스의 종류와 제어 프로토콜에 관계없이 항상 동일한 것을 보장한다. 이러한 특성은 애플리케이션과 사용자에 대해 상당한 정도의 유연성을 허용한다. DCM(56)은 또한 사용자 입력 이벤트 추상 개념 모델을 제공하여, 고객 애플리케이션이 그래픽 사용자 인터페이스 소자를 디스플레이하고, 사용자가 그래픽 사용자 인터페이스 소자로 상호작용할 때, 표준 사용자 이벤트 메시지를 DCM(56)에 전달할 수 있게 된다.
본 발명의 미디어 관리자는 데이터 흐름 관리와 다른 서비스를 제공한다. 미 디어 관리자는 호스트 운영체계(58)의 확장으로서 작용하고, 다양한 서비스를 미디어 관리자 플랫폼의 다른 요소와 고객 애플리케이션(48)에 제공한다. 미디어 관리자는 DCM(56)을 관리하고 구성한다. 미디어 관리자는, 불필요한 DCM(56)을 처리하면서, 존재하는 애플리케이션을 위하여 적절한 DCM(56)을 찾고 이를 초기화한다. 미디어 관리자는 시스템이 부팅될 때마다 또는 시스템이 변경될 수 있는 임의의 시간, 예컨대 IEEE 1394-1995 버스가 리세트될 때, 특유한 시퀀스를 따른다. 미디어 관리자는 또한, 호스트 운영체계(58) 상에서 사용되는 다이내믹하게 링크된 특유한 라이브러리 솔루션 주위에 래퍼(Wrapper)를 제공한다. 이것은 여전히 외부 애플리케이션에 대한 일관된 인터페이스를 제공하면서 주어진 운영체계 상에서 모듈을 실현하기 위해 최상의 다이내믹하게 링크된 라이브러리가 사용되도록 허용한다.
미디어 관리자는 또한 네트워크 상의 디바이스 사이에서 데이터 전송 동작의 흐름 및 포맷을 관리할 책임이 있다. 데이터 흐름을 관리할 때, 미디어 관리자는 사용되고 있는 운영체계와는 독립적인 방법으로 적절한 버퍼를 할당하고 관리할 것이다.
미디어 관리자는 또한 IEEE 1394-1995 버스 환경의 높은 레벨의 프로토콜 관리를 제공한다. 사용자 레벨로의 사용중 연결(hot plugging up)과 같은 다이내믹한 디바이스 동작을 완전하게 지원하기 위하여, 애플리케이션과 디바이스는 IEEE 1394-1995 버스 환경에 대한 변경을 인식할 필요가 있다. 버스 관리자(70)와 이벤트 관리자(62)를 통한 미디어 관리자는, 버스 리세트 통지를 밖으로 전달하고, 환경이 어떻게 변했는 지에 대한 완전한 정보를 제공함으로써, 버스 리세트 활동이 IEEE 1394-1995 버스 상에서 발생하였음을 애플리케이션과 디바이스에 알릴 책임이 있다. 미디어 관리자는 또한 토폴로지 맵과 다른 환경 설명을 역시 버스 관리자(70)를 통해 애플리케이션과 디바이스에 제공한다. 토폴로지 맵은 IEEE 1394-1995 네트워크 내의 디바이스 사이에서 연결을 도시한다. 토폴로지 맵으로부터 유도된 정보는, 사용자가 디바이스는 어떻게 연결되었는 지와 일정한 특성이 어떻게 사용될 수 있는 지를 이해하는 것을 돕는 휴먼 인터페이스를 구성하는데 사용된다.
애플리케이션 서비스 모듈(60)은, 사용되고 있는 특유한 운영체계와 독립적인 애플리케이션(48)에 기본 기능을 제공하기 위하여, 호스트 운영체계(58)와 애플리케이션(48) 사이에서의 서비스 레벨을 제공한다. 이러한 기능은, 대부분의 운영체계에서 사용 가능한 기본 기능보다 보다 강력한 메모리 할당과 처리 루틴을 제공하는 것과, 모든 사용자 인터페이스와 호출되었을 때의 상호작용 관리를 제공하기 위해 자급식의 독립형 모듈인 제어 모듈과 디바이스 구성을 제공하는 것을 포함한다.
트랜스포트 적응 모듈(78)은 디바이스 제어 모듈(56)과 애플리케이션(48)에 공통의 프로그래밍 인터페이스를 제공하여 호스트 운영체계(58)를 통해 프로토콜 성능을 나타나게 하는 것을 처리한다. 시스템 레벨 인터페이스 블록(50)의 내부 설계 및 실현은, 애플리케이션(48)에 대해 사용 가능한 IEEE 1394-1995 기능을 실현하기 위하여 사용되고 있는 특유한 호스트 운영체계 구조를 이용한다.
본 발명의 미디어 관리자 플랫폼은, 트랜스포트 적응 모듈(78)에 의해 제공된 IEEE 1394-1995 버스 프로토콜을 위한 DCM(56), 애플리케이션 서비스 모듈(60) 및 시스템 레벨 인터페이스를 포함한다. 정상 동작 도중에 애플리케이션(48)은 모든 이들 요소와 통신할 것이다. DCM(56)과 통신할 때, 애플리케이션(48)은 단일 프로그래밍 인터페이스를 사용할 것이다. 애플리케이션 서비스 모듈(60)과 통신할 때, 애플리케이션은 역시 단일 프로그래밍 인터페이스를 사용할 것이다.
위에서 기술하고 도 3 및 4에서 도시된 바와 같이, 고객 애플리케이션(48)은 본 발명의 미디어 관리자 플랫폼의 구조의 면에서 모든 다른 요소 위에 존재하는 실체이다. 대다수의 요구된 태스크의 완료를 위하여, 애플리케이션(48)은 로컬 메신저를 통해 존재하는 DCM(56) 및 애플리케이션 서비스 모듈(60)과 통신할 것이다. 필요할 때, 애플리케이션(48)은 호스트 운영체계(58)를 통해 구조의 더 낮은 레벨에 억세스한다.
고객 애플리케이션(48)의 개시 시점에, 고객 애플리케이션(48)은 미디어 관리자를 초기화하여만 하고, 상기 미디어 관리자에 등록하여야만 한다. 고객 애플리케이션(48)은, 미디어 관리자가 기동되어 실행되며(up and running), 애플리케이션(48)을 취급할 준비가 되는 것을 확실하게 하기 위하여, 미디어 관리자를 초기화한다. 고객 애플리케이션(48)은, 애플리케이션(48)과의 상호작용을 위해 필요한 모든 정보를 미디어 관리자에게 제공하고, 자신을 메시징 시스템에 등록하기 위하여, 미디어 관리자에 등록한다. 개시할 때, 일반적으로 애플리케이션(48)은 호스트 운영체계가 초기화되었다는 것과, 최소 레벨의 서비스가 사용 가능한 것 및 실행하기 위해 사용 가능한 필요한 메모리 양을 구비한 것을 확인하여야만 한다. 이들 단계는, 애플리케이션(48)이 미디어 관리자를 초기화한 후, 미디어 관리 자에 의해서 애플리케이션에 대해 수행된다.
개시할 때, 고객 애플리케이션(48)은 도 6의 흐름도에 도시된 단계를 따른다. 애플리케이션(48)은 단계(140)에서 개시한다. 개시 후, 애플리케이션(48)은 미디어 관리자를 초기화한다. 본 발명의 양호한 실시예에 있어서, 애플리케이션은 다음의 호출을 수행함으로써 미디어 관리자를 초기화한다.
err = SMM_Initialize
초기화 되었을 때, 미디어 관리자는 애플리케이션(48)을 지원하기 위하여 필요한 메모리와 시스템 서비스를 할당할 것이다.
미디어 관리자의 초기화가 완료된 후, 애플리케이션(48)은 단계(144)에서 미디어 관리자에 등록한다. 이러한 등록 단계는, 애플리케이션(48)으로 하여금 미디어 관리자가 적절히 애플리케이션(48)을 지원하기 위하여 필요로 할 특유한 정보를 미디어 관리자에 제공하도록 허용한다. 예컨대 애플리케이션(48)은, IEEE 1394-1995 버스 리세트, 비동기 트랜잭션 완료, 및 메모리 버퍼가 지정된 양의 등시 데이터로 채워졌을 때의 트리거를 포함하는 환경에 관련된 중요한 이벤트의 통지를 위한 콜백(callback) 루틴의 어드레스를 제공해야만 한다. 등록 단계는 다음의 지령에 의해 완료된다.
SonyErrorResultType SMM_RegisterClient(SMMClientIdentifierType* the ClientID,
SMMBusEventNotificationUPP clientBusEventNotificationCallback, void* clientBusEventCallbackData);
파라미터(ClientID)는 애플리케이션에 대한 미디어 관리자에 의해 생성된 고유한 식별자이다. 미디어 관리자와의 장래의 통신에 있어서, 애플리케이션(48)은 예컨대 작업을 종료하고 미디어 관리자와의 등록을 해제할 때, 이러한 식별자를 되돌려 전달할 필요가 있을 것이다. 파라미터(clientBusEventNotificationCallback)는 애플리케이션(48)이 실행할 콜백 기능에 대해 적절히 포맷화된 참조이다. 애플리케이션(48)이 네트워크 환경에 발생할 수 있는 다이내믹한 변경에 대해 알 필요가 없다면, 애플리케이션(48)은 이러한 콜백 기능의 실행을 필요로 하지 않는다. 애플리케이션(48)이 이러한 콜백 기능을 실행하지 않는다면, 애플리케이션은 상기 파라미터에 대해 0(NIL) 값을 전할 것이다.
파라미터(clientBusEventCallbackData)는 애플리케이션(48)이 콜백 루틴에서 억세스할 필요가 있는 임의의 값이 될 수 있다. 정상적으로, 이러한 값은, 미디어 관리자가 콜백 기능을 호출할 때, 이러한 값을 고객 애플리케이션(48)에 전하여, 애플리케이션(48)으로 하여금 포괄적 저장 장치 또는 다른 적절한 데이터를 억세스하는 것을 허용하도록, 메모리 블록에 대한 포인터가 될 것이다.
미디어 관리자에 대한 등록 단계를 완료하기 위하여, 애플리케이션(48)은 다음의 인터페이스를 사용하여 통지 콜백 루틴을 역시 실행해야 한다.
pascal void(*SMMBusEventNotificationProcPtr)(void *clientData,
SMMBusEventType busEventIndicator, SMMBusEventRecPtr busEventInfo);
파라미터(clientData)는 등록 기능으로 전달된 파라미터(clientBusEventCallbackData)이다. 파라미터(busEventIndicator)는 애플리케이션에 어떤 종류의 이벤트가 통지되고 있는 지를 나타내는 열거형 데이터 형태이다. 지정된 이벤트는 버스 리세트, 디바이스가 네트워크에 접속되거나 접속해제될 때, 비동기 트랜잭션의 완료, 및 데이터의 등시 전송 도중에 지정된 버퍼가 완전히 채워질 때를 포함한다. 파라미터(busEventInfo)는 특정 이벤트에 대한 해당 정보를 포함하는 데이터 구조를 제공한다.
미디어 관리자에 대한 등록 단계의 완료 이후, 애플리케이션(48)은 단계(146)에서 사용 가능한 DCM(56)을 획득할 것이다. 사용 가능한 DCM(56)을 획득함으로써, 애플리케이션(48)은 네트워크 내에 접속된 다른 형태의 디바이스를 인식할 것이다. 이러한 단계는 일련의 하위-단계로 이루어진다. 대화형 콜백 모델은 데이터를 애플리케이션(48)에 전송하기 위한 데이터 전송 방법으로 사용된다. 고객 애플리케이션(48)은 먼저 미디어 관리자에 콜백 기능의 어드레스를 제공한다. 애플리케이션(48)은 그후 하나의 루프로 들어가, 남아 있는 DCM이 없을 때까지 미디어 관리자로부터의 다음 모듈에 대한 정보를 반복적으로 요구한다. 미디어 관리자는 필요한 정보를 가진 데이터 구조를 준비하고, 이를 콜백 기능을 경유하여 애플리케이션에 전송한다. 일단 각 특유한 DCM(56)에 대한 정보가 수신되면, 애플리케이션(48)은 필요로 하는 정보를 복사한다. 사용 가능한 DCM(56) 모두가 애플리케이션(48)에 의해 수신될 때까지 이러한 처리는 반복된다. 본 발명의 다른 실시예 내에서, 고객 애플리케이션은 시스템 레지스트리에 질문하여, 사용 가능한 DCM(56) 각각에 대한 처리를 요구한다.
애플리케이션(48)이 사용 가능한 DCM(56)을 획득하기 위하여 실행하여만 할 양호한 콜백 기능은 아래와 같이 한정된다.
void DeviceInfoCallbackRoutine(void *userData, SMMDeviceIndexType
deviceIndex, SonyAvDeviceRecPtr deviceInfo)
콜백 기능의 파라미터(userData)는 미디어 관리자와 애플리케이션(48) 사이에서 데이터 전송하는 수단이다. 애플리케이션(48)은 자신의 데이터 구조를 한정하고, 이들 구조중 하나에 대해 메모리를 할당하고, 상기 구조의 어드레스를 미디어 관리자에 전달할 것이다. 그후 상기 어드레스는, 애플리케이션(48)으로 하여금 자신에게 정보를 복사하기 위한 상기 데이터 구조를 억세스하는 것을 허용하면서, 이러한 콜백 구조 내에서 되돌려 전달된다.
콜백 기능의 파라미터(deviceIndex)는 애플리케이션(48)이 사용 가능한 DCM(56)에 대한 정보를 획득하기 위하여 들어가는 루프의 인덱스 값이다. 상기 루프는 사용 가능한 DCM(56)의 수에 의해 경계가 정해진다. 이러한 파라미터는 콜백 기능 내에서 애플리케이션(48)으로 되돌려 전달되어, 애플리케이션(48)이 콜백 기능으로 전달되는 다른 정보와 함께 이러한 파라미터를 저장할 수 있게 된다. 이러한 인덱스 값은 특유한 DCM(56)에 대해 질문할 때, 애플리케이션(48)에 의한 미디어 관리자에 대한 다른 호출에서 유용하다. 덧붙여, 이러한 인덱스 값은, 한 디바이스가 네트워크로부터 연결해제된 후 사라졌음을 애플리케이션(48)에 통지할 때 사용될 것이다. 애플리케이션(48)은 각 DCM(56)에 대한 이러한 인덱스 값을 전용 필드 내에 개별 데이터 구조로 저장할 것이다.
콜백 기능의 파라미터(deviceInfo)는 SonyAVDeviceRec라고 라벨이 붙은 데이 터 구조에 대한 포인터인데, 이 데이터 구조에서 미디어 관리자는 애플리케이션(48)에 의한 검색을 위해 DCM(56)을 저장한다. 이러한 데이터 구조의 포맷은 애플리케이션(48)과 미디어 관리자 모두에 알려져 있다. 일단 DCM(56)이 이러한 데이터 구조 내에서 저장되면, 애플리케이션(48)은 데이터 구조로부터의 적절한 정보를 자신의 개별 데이터 구조로 복사할 것이다. 데이터 구조(SonyAvDeviceRec)는 아래의 표 1에서 한정된다.
typedef struct SonyAVDeviceRec unsigned long deviceID; //SMMDeviceIDType? unsigned long busGeneration; SONY_DeviceModuleRefType controlModuleReference; unsigned long reserved1; unsigned long reserved2; } SonyAVDeviceRec, *SonyAVDeviceRecPtr, **SonyAVDeviceRecHdl;
파라미터(deviceID)는 DCM(56) 따라서 한 디바이스의 식별자이다. 이러한 식별자는 DCM(56)과 통신하기를 원할 때마다, 또는 애플리케이션(48)이 특유한 디바이스에 관한 미디어 관리자로부터 서비스를 요구할 때, 애플리케이션(48)에 의해 사용된다.
파라미터(busGeneration)는 각 버스 리세트 동작 이후에 변하는 값이다. 각 버스 리세트 이후, 디바이스가 더해지거나 제거될 때, 연결된 디바이스와 버스에 대한 일정한 정보는 변경될 것이다. IEEE 1394-1995 버스가 리세트될 때마다 파라미터(busGeneration)의 값은 갱신된다.
파라미터(controlModuleReference)는 지정된 디바이스와 관련된 DCM(56)에 대한 참조이다. 이러한 참조는, 애플리케이션(48)이 미디어 관리자로 하여금 자신을 대신하여 모듈과의 트랜잭션에서 동작하기를 요구할 때, 사용된다.
애플리케이션(48)은 다음에 미디어 관리자가 다음의 기능 호출을 사용하여 사용 가능한 DCM(56)의 목록을 생성하는 것과 상기 목록 내의 모듈의 총 수를 생성하는 것을 요구할 것이다.
SonyErrorResultType SMM_FindDeviceControlModules(SMMDeviceListRefType*
theDeviceList, unsigned long deviceAttributes, short* numAVDevices)
파라미터(DeviceList)는 사용 가능한 DCM(56)의 목록이 저장되고, 미디어 관리자에 의해 생성되어 되돌려지는 어드레스를 포함한다. 애플리케이션은 이러한 형태의 로컬 변수를 선언할 것이고, 상기 변수의 어드레스를 이러한 기능에 전달할 것이다.
파라미터(DeviceAttributes)는 애플리케이션(48)이 되돌려져야만 하는 DCM(56)의 형태를 지정하기 위하여 사용하는 한 세트의 비트-방식 플래그를 포함한다. 예컨대 애플리케이션(48)은 네트워크에 연결된 활성 디바이스에 대해 알려고만 할 수도 있다. 일정한 플래그 값이 지정될 때, 미디어 관리자는, 목록이 애플리케이션(48)에 되돌려지기 전에, 표준에 부합하는 디바이스에 대해서만 목록을 필터링할 것이다. 애플리케이션(48)은, 목록이 식별 가능한 모든 디바이스, 기동되어 실행중인 디바이스만, 접속되어 있지만 전원 스위치가 오프된 디바이스만, 또는 휴지상태(snoozing)의 디바이스만을 포함하는 것으로 지정할 수 있다.
파라미터(numAVDevices)는 애플리케이션(48)으로 되돌려지는 목록 내에서 DCM(56)의 총수를 포함한다. 애플리케이션(48)은 이러한 숫자를 DCM(56)을 얻기 위한 반복 루프의 상한값으로 사용한다.
애플리케이션(48)은 콜백 기능 어드레스를 준비하고, 그후 목록 내의 모든 DCM(56)상의 정보가 얻어질 때까지 반복적으로 미디어 관리자를 호출하기 위한 루프로 들어간다. 루프를 통과할 때마다, 애플리케이션(48)은 다음의 기능에 대한 한 번의 호출을 실행한다.
pascal SonyErrorResultType SMM_GetDeviceControlModuleInfo
(SMMDeviceListRefType theDeviceList, SMMDeviceIndexType whichDevice,
unsigned long reserved, SMMDeviceControlModuleIteratorUPP
theDeviceListCallbackFunction, void *userData)
파라미터(theDeviceList)는 기능 호출{FindAllDeviceControlModules()}로부터 되돌려진 목록 참조이다. 파라미터(whichDevice)는 애플리케이션이 어느 DCM(56)에 대한 정보를 요구하였는 지를 지정한다. 파라미터(DeviceListCallbackFunction)는 준비된 콜백 기능 어드레스를 포함한다. 파라미터(userData)는 애플리케이션이-한정한 데이터 구조에 대한 참조이다. 이러한 참조는 콜백 루틴에서 애플리케이션(48)에 되돌려 전달되고, 애플리케이션(48)은 그후 미디어 관리자로부터 임의의 필요한 정보를 이러한 데이터 구조에 전달할 것이다.
사용 가능한 DCM(56)을 얻기 위한 단계의 전체적인 양호한 시퀀스가 다음의 표 2에 나열되어 있다.
SMMDeviceListRefType theDeviceList = NULL; if(nil != theDeviceList) err = SMM_FindAllDeviceControlModules(&theDeviceList,kActiveDevices+kInactiveDevices, &gNumAVDevices); if(noErr == err) { gAVDeviceList = NewHandle(0); //Prepare the callback function for the media manager: theDeviceInfoCallback = NewSMMDeviceControlModuleIteratorProc(DeviceInfoCallbackRoutine); if ((nil != theDeviceInfoCallback)&&(nil != gAVDeviceList)) { for(loop = 0; loop < gNumAVDevices; loop++) { err = SMM_GetDeviceControlModuleInfo(theDeviceList, loop, 0, theDeviceInfoCallback, gAVDeviceList); } DisposeRoutineDescriptor(theDeviceInfoCallback); } else err = -1; } void DeviceInfoCallbackRoutine(void *usrData, SMMDeviceIndexType deviceIndex, SonyAVDeviceRECPtr deviceInfo) { //Copy any information that I care about from the deviceInfo data structure //over to my private data referenced by userData; (myPrivateRecordPtr) userData->deviceID=deviceInfo->deviceID; }
사용 가능한 DCM(56)이 애플리케이션(48)에 의해 얻어진 후, 애플리케이션(48)은 단계(148)에서 디바이스에 특유한 정보를 얻을 것이다. 미디어 관리자에 의해 되돌려지는 DCM 정보는 시스템 레벨 정보인데, 이는 각 디바이스에 대한 고유한 식별자와, IEEE 1394-1995 디바이스를 위한 버스 생성과 같은 프로토콜에-특유한 정보를 포함한다. 디바이스의 상태, 설명적인 이름 열 및 영상과 같은 디바이스에 특유한 정보를 얻기 위하여, 애플리케이션(48)은 적절한 DCM(56)을 통해 디바이스와 통신하여야만 한다. 도 6에 도시되고 위에서 기술된 단계를 완료함으로써, 애플리케이션(48)은 개시 루틴을 완료할 것이고, 이제 동작 준비가 된다.
애플리케이션(48)이 동작하는 동안, 제어 입력의 수신을 포함하여 사용자 및 시스템 레벨의 이벤트 및 메시지와, 다른 처리, 호스트 운영체계 및 미디어 관리자로부터의 메시지를 처리할 것이다.
본 발명의 양호한 실시예가 IEEE 1394-1995 직렬 버스 구조 내에서 함께 연결된 디바이스를 관리하는데 사용되었지만, 본 발명은 다른 버스 구조 내의 디바이스를 관리하는데에도 실현될 수 있음은 당업자에게는 자명할 것이다.

Claims (85)

  1. 하나의 태스크를 완료하기 위하여, 디바이스의 네트워크의 동작 및 그 디바이스 네트워크 내의 통신을 관리하는 방법에 있어서,
    a. 상기 태스크의 완료를 위하여 요구되는 적절한 디바이스, 및 디바이스 내의 적절한 하위 디바이스(subdevices)를 결정하는 단계로서, 적절한 디바이스가 상기 태스크의 완료를 위해 사용될 수 없다면, 사용 가능한 하위 디바이스로부터 가상 디바이스가 형성되는, 적절한 디바이스 및 하위 디바이스를 결정하는 단계와,
    b. 상기 적절한 디바이스 및 하위 디바이스에게 상기 태스크를 완료할 것을 지령하는 단계를 포함하는, 디바이스의 네트워크의 동작 및 그 디바이스 네트워크 내의 통신을 관리하는 방법.
  2. 제 1항에 있어서, 상기 네트워크 내의 각 디바이스를 위해 제어 모듈(56)을 유지하는(maintaining) 단계를 더 포함하며, 상기 제어 모듈(56)은 상기 디바이스의 성능과 상기 디바이스 내의 임의의 하위 디바이스의 성능을 포함하고, 추가로 상기 디바이스를 제어할 책임이 있는, 디바이스의 네트워크의 동작 및 그 디바이스 네트워크 내의 통신을 관리하는 방법.
  3. 제 2항에 있어서, 상기 적절한 디바이스 및 하위 디바이스 사이의 데이터 흐름을 제어하는 단계를 더 포함하는, 디바이스의 네트워크의 동작 및 그 디바이스 네트워크 내의 통신을 관리하는 방법.
  4. 제 3항에 있어서,
    a. 상기 네트워크 내의 상기 디바이스의 토폴로지 맵(topology map)을 얻는 단계와,
    b. 상기 토폴로지 맵을 분석함으로써 상기 데이터 흐름을 위한 최상의 경로를 결정하는 단계를 더 포함하는, 디바이스의 네트워크의 동작 및 그 디바이스 네트워크 내의 통신을 관리하는 방법.
  5. 제 4항에 있어서, 필요하다면, 상기 적절한 디바이스 및 하위 디바이스 사이에서 흐르는 데이터를 적절한 포맷으로 변환하는 단계를 더 포함하는, 디바이스의 네트워크의 동작 및 그 디바이스 네트워크 내의 통신을 관리하는 방법.
  6. 제 5항에 있어서, 사용자에게 인터페이스를 제공하는 단계를 더 포함하며, 완료될 상기 태스크는 상기 인터페이스를 통해 요구되는, 디바이스의 네트워크의 동작 및 그 디바이스 네트워크 내의 통신을 관리하는 방법.
  7. 제 6항에 있어서, 상기 제어 모듈(56)은 사용자 인터페이스 데이터를 애플리케이션(48)(application)에 제공하고, 상기 애플리케이션(48)으로부터의 사용자 이벤트(event)에 응답하는, 디바이스의 네트워크의 동작 및 그 디바이스 네트워크 내의 통신을 관리하는 방법.
  8. 제 7항에 있어서, 상기 네트워크는 IEEE 1394 직렬 버스 네트워크인, 디바이스의 네트워크의 동작 및 그 디바이스 네트워크 내의 통신을 관리하는 방법.
  9. 제 7항에 있어서, 상기 제어 모듈(56)은 원격 디바이스 내에 존재하고, 실행을 위해 호스트 디바이스로 다운로드되는, 디바이스의 네트워크의 동작 및 그 디바이스 네트워크 내의 통신을 관리하는 방법.
  10. 제 7항에 있어서, 상기 제어 모듈(56)은 로컬 디바이스 내에 존재하고, 상기 로컬 디바이스 내의 원시(native) 환경으로부터 실행되는, 디바이스의 네트워크의 동작 및 그 디바이스 네트워크 내의 통신을 관리하는 방법.
  11. 제 7항에 있어서, 상기 제어 모듈(56)은 로컬 디바이스 내에 존재하고, 실행을 위해 호스트 디바이스로 업로드(upload)되는, 디바이스의 네트워크의 동작 및 그 디바이스 네트워크 내의 통신을 관리하는 방법.
  12. 디바이스의 네트워크의 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치에 있어서,
    a. 상기 네트워크 내의 상기 디바이스와 통신하기 위한 인터페이스 회로(26)와,
    b. 태스크의 완료를 위하여 요구되는 적절한 디바이스, 및 디바이스 내의 적절한 하위 디바이스를 결정하고, 상기 적절한 디바이스 및 하위 디바이스에게 상기 태스크를 완료할 것을 지령하도록 구성되는, 상기 인터페이스 회로(26)에 접속된 제어 회로(22)로서, 적절한 디바이스가 상기 태스크의 완료를 위해 사용될 수 없다면, 사용 가능한 하위 디바이스로부터 가상 디바이스가 형성되는, 제어회로(22)를 포함하는, 디바이스의 네트워크의 동작 및 그 장치 네트워크 내의 통신을 제어하는 장치.
  13. 제 12항에 있어서, 각 제어 모듈이 상기 네트워크 내의 한 디바이스를 나타내는, 복수의 제어 모듈(56)을 더 포함하며, 각 제어 모듈(56)은, 대응하는 디바이스의 성능과 상기 대응하는 디바이스 내의 임의의 하위 디바이스의 성능을 포함하고, 추가로 상기 디바이스를 제어할 책임이 있는, 디바이스의 네트워크의 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  14. 제 13항에 있어서, 상기 네트워크 내의 상기 디바이스의 토폴로지 맵을 얻고, 상기 토폴로지 맵을 분석함으로써 상기 적절한 디바이스 및 하위 디바이스 사이의 데이터 흐름을 위한 최상의 경로를 결정하도록 구성되는, 상기 제어 회로(22)와 상기 인터페이스 회로(26)에 연결된 버스 관리자 회로(70)를 더 포함하는, 디바이스의 네트워크의 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  15. 제 14항에 있어서, 상기 제어 회로(22)는 또한 상기 적절한 디바이스 및 하위 디바이스 사이에서 흐르는 상기 데이터를, 데이터 변환이 필요하다면, 적절한 포맷으로 변환하도록 구성되는, 디바이스의 네트워크의 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  16. 제 15항에 있어서, 상기 네트워크는 IEEE 1394 직렬 버스 네트워크인, 디바이스의 네트워크의 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  17. 디바이스의 네트워크의 동작 및 그 디바이스 네트워크 내의 통신을 관리하는 방법에 있어서,
    a. 상기 네트워크 내의 각 디바이스를 위한 제어 모듈(56)을 유지하는 단계로서, 상기 제어 모듈(56)은 상기 디바이스의 성능과 상기 디바이스 내의 임의의 하위 디바이스의 성능을 포함하고, 추가로 상기 제어 모듈(56)은 상기 디바이스를 제어할 책임이 있는, 제어 모듈(56)을 유지하는 단계와,
    b. 인터페이스(30)를 사용자에게 제공하는 단계로서, 완료될 태스크는 상기 인터페이스를 통해 사용자에 의해 요구되는, 인터페이스(30)를 제공하는 단계와,
    c. 상기 제어 모듈(56)을 검색함으로써 상기 태스크의 완료를 위해 요구되는 적절한 디바이스 및 하위 디바이스를 결정하는 단계로서, 상기 태스크의 완료를 위하여 적절한 디바이스들이 사용 가능하지 않으면, 가상 디바이스들이 사용 가능한 하위 디바이스들로부터 형성되는, 적절한 디바이스 및 하위 디바이스를 결정하는 단계와,
    d. 적절한 제어 모듈(56)에게 상기 적절한 디바이스와 하위 디바이스에 지령을 제공한 것을 지령함으로써, 상기 태스크를 완료하는 단계를 포함하는, 디바이스의 네트워크의 동작 및 그 디바이스 네트워크 내의 통신을 관리하는 방법.
  18. 삭제
  19. 제 17항에 있어서, 상기 적절한 디바이스 및 하위 디바이스 사이의 데이터 흐름을 제어하는 단계를 더 포함하는, 디바이스의 네트워크의 동작 및 그 디바이스 네트워크 내의 통신을 관리하는 방법.
  20. 제 19항에 있어서,
    a. 상기 네트워크 내의 상기 디바이스의 토폴로지 맵을 얻는 단계와,
    b. 상기 토폴로지 맵을 분석함으로써 상기 데이터 흐름을 위한 최상의 경로를 결정하는 단계를 더 포함하는, 디바이스의 네트워크의 동작 및 그 디바이스 네트워크 내의 통신을 관리하는 방법.
  21. 제 20항에 있어서,
    a. 상기 적절한 디바이스 및 하위 디바이스 사이에서 흐르는 데이터의 변환이 필요한 지를 결정하는 단계와,
    b. 데이터 변환이 필요하다면, 상기 적절한 디바이스 및 하위 디바이스 사이에서 흐르는 상기 데이터를 적절한 포맷으로 변환하는 단계를 더 포함하는, 디바이스의 네트워크의 동작 및 그 디바이스 네트워크 내의 통신을 관리하는 방법.
  22. 제 21항에 있어서, 상기 네트워크는 IEEE 1394 직렬 버스 네트워크인, 디바이스의 네트워크의 동작 및 그 디바이스 네트워크 내의 통신을 관리하는 방법.
  23. 디바이스의 네트워크의 동작 및 상기 디바이스 네트워크 내의 통신을 제어하는 장치에 있어서,
    a. 각 제어 모듈이 상기 네트워크 내의 한 디바이스를 나타내는, 복수의 제어 모듈(56)로서, 각 제어 모듈(56)은 대응하는 디바이스의 성능과 상기 대응하는 디바이스 내의 임의의 하위 디바이스의 성능을 포함하고, 추가로 상기 디바이스를 제어할 책임이 있는, 복수의 제어 모듈(56)과,
    b. 사용자와 통신하도록 구성된 인터페이스(30)로서, 완료될 태스크는 사용자에 의해 상기 인터페이스(30)를 통해 요구되는, 인터페이스(30)와,
    c. 상기 제어 모듈(56)을 검색함으로써 태스크의 완료를 위하여 요구되는 적절한 디바이스 및 하위 디바이스를 결정하고, 적절한 제어 모듈(56)에 지령하여 상기 적절한 디바이스 및 하위 디바이스에 지령을 제공하도록 함으로써 상기 태스크를 완료하도록 구성된, 상기 복수의 제어 모듈(56), 상기 네트워크 및 인터페이스(30)에 연결된 제어 회로(22)를 포함하고, 상기 제어 회로는 또한, 상기 태스크의 완료를 위하여 상기 적절한 디바이스 및 하위 디바이스가 현재 사용 가능한 지를 결정하고, 상기 적절한 디바이스 및 하위 디바이스가 현재 사용 가능하지 않을 때, 상기 태스크를 완료하기 위하여 사용 가능한 하위 디바이스로부터 가상 디바이스를 형성하는, 디바이스의 네트워크의 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  24. 삭제
  25. 제 23항에 있어서, 상기 제어 회로(22)는 추가로 상기 네트워크 내의 상기 디바이스 사이의 데이터 흐름을 제어하도록 구성되는, 디바이스의 네트워크의 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  26. 제 25항에 있어서, 상기 네트워크 내의 상기 디바이스의 토폴로지 맵을 얻고, 상기 토폴로지 맵을 분석함으로써 상기 데이터 흐름을 위한 최상의 경로를 결정하도록 구성되는, 상기 제어 회로(22)에 연결된 버스 관리자 회로(70)를 더 포함하는, 디바이스의 네트워크의 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  27. 제 26항에 있어서, 상기 제어 회로(22)는 또한 상기 적절한 디바이스 및 하위 디바이스 사이에 흐르는 데이터를, 데이터 변환이 필요하다면, 적절한 포맷으로 변환시키도록 구성되는, 디바이스의 네트워크의 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  28. 제 27항에 있어서, 상기 제어 회로(22)는 또한, 사전 한정된 동작을 실현하도록 구성되어, 사용자로 하여금 상기 네트워크 내의 상기 디바이스의 기본적인 기능(functionality)에 억세스하도록 허용하는, 디바이스의 네트워크의 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  29. 제 28항에 있어서, 상기 제어 회로(22)는 또한, 사용자 활동을 감시 및 기록하고, 사용자가-한정한 주문형 동작을 생성하도록 구성되는, 디바이스의 네트워크의 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  30. 제 27항에 있어서, 상기 네트워크는 IEEE 1394 직렬 버스 네트워크인, 디바이스의 네트워크의 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  31. 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치에 있어서,
    a. 상기 네트워크 내의 상기 디바이스와의 통신을 위한 인터페이싱 수단과,
    b. 태스크의 완료를 위해 요구되는 적절한 디바이스 및 하위 디바이스를 결정하고, 상기 적절한 디바이스 및 하위 디바이스에게 상기 태스크를 완료할 것을 지령하기 위해, 인터페이싱 수단에 접속된 제어 수단으로서, 적절한 디바이스가 상기 태스크의 완료를 위해 사용될 수 없다면, 사용 가능한 하위 디바이스로부터 가상 디바이스가 형성되는, 제어 수단을 포함하는, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  32. 제 31항에 있어서, 상기 디바이스 및 상기 디바이스 내의 임의의 하위 디바이스의 성능을 포함하는, 상기 네트워크 내의 각 디바이스를 나타내는 수단을 더 포함하고, 상기 네트워크 내의 각 디바이스를 나타내는 수단은 추가로 상기 디바이스를 제어할 책임이 있는, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  33. 제 31항에 있어서, 상기 네트워크 내의 디바이스들의 토폴로지 맵을 얻고 및 상기 토폴로지 맵을 분석함으로써 적절한 디바이스 및 하위 디바이스 사이의 데이터 흐름을 위한 최상의 경로를 결정하기 위해, 상기 인터페이싱 수단과 제어 수단에 접속된 네트워크 관리 수단을 더 포함하는, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  34. 제 31항에 있어서, 상기 제어 수단은 또한 상기 적절한 디바이스 및 하위 디바이스 사이에서 흐르는 데이터를, 데이터 변환이 필요하다면, 적절한 포맷으로 변환하는, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  35. 제 31항에 있어서, 상기 네트워크는 IEEE 1394 직렬 버스 네트워크인, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  36. 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치에 있어서,
    a. 상기 디바이스 및 상기 디바이스 내의 임의의 하위 디바이스의 성능을 포함하는, 상기 네트워크 내의 각 디바이스를 나타내는 수단으로, 상기 수단은 추가로 상기 디바이스를 제어할 책임이 있는 수단,
    b. 사용자와 통신하기 위한 인터페이싱 수단으로서, 완료될 태스크는 사용자에 의해 상기 인터페이스를 통해 요구되는, 인터페이싱 수단, 및
    c. 상기 네트워크 내의 각 디바이스를 나타내는 수단, 상기 네트워크, 및 인터페이싱을 위한 수단에 접속되는 제어 수단으로서, 상기 제어 수단은 상기 네트워크 내의 각 디바이스를 나타내는 수단을 검색함으로써 태스크의 완료를 위해 요구되는 적절한 디바이스 및 하위 디바이스를 결정하고, 상기 네트워크 내의 각 디바이스를 나타내는 수단에 지령하여 상기 적절한 디바이스 및 하위 디바이스에 지령을 제공하도록 함으로써 상기 태스크를 완료하며, 상기 제어 수단은 또한, 상기 태스크의 완료를 위하여 상기 적절한 디바이스 및 하위 디바이스가 현재 사용 가능한지를 결정하고, 상기 적절한 디바이스 및 하위 디바이스가 현재 사용 가능하지 않을 때, 상기 태스크를 완료하기 위하여 사용 가능한 하위 디바이스로부터 가상 디바이스를 형성하는 제어 수단을 포함하는
    디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  37. 제 36항에 있어서, 상기 제어 수단은 추가로 상기 네트워크 내의 상기 디바이스 사이의 데이터 흐름을 제어하는, 디바이스의 네트워크 동작 및 상기 디바이스 네트워크 내의 통신을 제어하는 장치.
  38. 제 36항에 있어서, 상기 네트워크 내의 디바이스들의 토폴로지 맵을 얻고 상기 토폴로지 맵을 분석함으로써 적절한 디바이스 및 하위 디바이스 사이의 데이터 흐름을 위한 최상의 경로를 결정하기 위한, 제어 수단에 접속된 네트워크 관리 수단을 더 포함하는, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  39. 제 36항에 있어서, 상기 제어 수단은 또한, 상기 적절한 디바이스 및 하위 디바이스 사이에서 흐르는 데이터를, 데이터 변환이 필요하다면, 적절한 포맷으로 변환하는, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  40. 제 36항에 있어서, 상기 제어 수단은 사전 한정된 동작을 실현하여, 사용자로 하여금 상기 네트워크 내의 상기 디바이스의 기본적인 기능을 억세스하도록 허용하는, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  41. 제 36항에 있어서, 상기 제어 수단은 또한, 사용자 활동을 감시 및 기록하고, 사용자가 한정한 주문형 동작을 생성하는, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  42. 제 36항에 있어서, 상기 네트워크는 IEEE 1394 직렬 버스 네트워크인, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  43. 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 관리하는 방법에 있어서,
    a. 상기 네트워크 내의 각 디바이스를 위한 제어 모듈을 유지하는 단계로서, 상기 제어 모듈은 상기 디바이스의 성능과 상기 디바이스 내의 임의의 하위 디바이스의 성능을 포함하고, 추가로 상기 제어 모듈은 상기 디바이스를 제어할 책임이 있는, 제어 모듈을 유지하는 단계와,
    b. 인터페이스를 사용자에게 제공하는 단계로서, 완료될 태스크는 사용자에 의해 상기 인터페이스를 통해 요구되는, 인터페이스를 제공하는 단계와,
    c. 상기 제어 모듈을 검색함으로써, 상기 태스크의 완료를 위해 요구되는 적절한 디바이스 및 하위 디바이스를 결정하는 단계, 및
    d. 적절한 제어 모듈에 지령하여 상기 적절한 디바이스와 하위 디바이스에 지령을 제공하도록 함으로써, 상기 태스크를 완료하는 단계를 포함하는, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 관리하는 방법.
  44. 제 43항에 있어서, 상기 적절한 디바이스 및 하위 디바이스 사이의 데이터 흐름을 제어하는 단계를 더 포함하는, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 관리하는 방법.
  45. 제 44항에 있어서,
    a. 상기 네트워크 내의 상기 디바이스의 토폴로지 맵을 얻는 단계와,
    b. 상기 토폴로지 맵을 분석함으로써 상기 데이터 흐름을 위한 최상의 경로를 결정하는 단계를 더 포함하는, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 관리하는 방법.
  46. 제 45항에 있어서,
    a. 상기 적절한 디바이스 및 하위 디바이스 사이에서 흐르는 데이터의 변환이 필요한 지를 결정하는 단계와,
    b. 데이터 변환이 필요하다면, 상기 적절한 디바이스 및 하위 디바이스 사이에서 흐르는 상기 데이터를 적절한 포맷으로 변환하는 단계를 더 포함하는, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 관리하는 방법.
  47. 제 46항에 있어서, 상기 네트워크는 IEEE 1394 직렬 버스 네트워크인, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 관리하는 방법.
  48. 제 43항에 있어서, 상기 제어 모듈은 상기 네트워크 내의 대응하는 디바이스에서 삽입되는, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 관리하는 방법.
  49. 제 43항에 있어서, 상기 네트워크에서 대응하는 디바이스에 대한 상기 제어 모듈을 다운로드하는 단계를 더 포함하는, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 관리하는 방법.
  50. 제 43항에 있어서, 상기 제어 모듈은 저장되고, 상기 네트워크에서의 대응하는 디바이스로부터 원격으로 실행되는, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 관리하는 방법.
  51. 제 43항에 있어서, 상기 제어 모듈은 플랫폼 중립(neutral) 포맷에 있는, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 관리하는 방법.
  52. 제 51항에 있어서, 상기 플랫폼 중립 포맷은 자바(Java)인, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 관리하는 방법.
  53. 제 43항에 있어서, 상기 제어 모듈은 상기 네트워크에서의 대응하는 디바이스의 자동 제어를 제공하는, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 관리하는 방법.
  54. 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치에 있어서,
    a. 각 제어 모듈이 상기 네트워크 내의 한 디바이스를 나타내는, 복수의 제어 모듈로서, 각 제어 모듈은 대응하는 디바이스의 성능과 상기 대응하는 디바이스 내의 임의의 하위 디바이스의 성능을 포함하고, 추가로 상기 디바이스를 제어할 책임이 있는, 복수의 제어 모듈과,
    b. 사용자와 통신하도록 구성된 인터페이스로서, 완료될 태스크는 사용자에 의해 상기 인터페이스를 통해 요구되는, 인터페이스와,
    c. 상기 제어 모듈을 검색함으로써 태스크의 완료를 위하여 요구되는 적절한 디바이스 및 하위 디바이스를 결정하고, 적절한 제어 모듈에 지령하여 상기 적절한 디바이스 및 하위 디바이스에 지령을 제공하도록 함으로써 상기 태스크를 완료하도록 구성된, 상기 복수의 제어 모듈에 접속된 제어 회로를 포함하는, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  55. 제 54항에 있어서, 상기 제어 회로는 상기 네트워크내의 디바이스들 사이의 데이터 흐름을 제어하도록 추가로 구성되는, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  56. 제 55항에 있어서, 상기 네트워크 내의 상기 디바이스의 토폴로지 맵을 얻고, 상기 토폴로지 맵을 분석함으로써 상기 데이터 흐름을 위한 최상의 경로를 결정하도록 구성되는, 상기 제어 회로에 연결된 버스 관리자 회로를 더 포함하는, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  57. 제 56항에 있어서, 상기 제어 회로는 또한 상기 적절한 디바이스 및 하위 디바이스 사이에 흐르는 데이터를, 데이터 변환이 필요하다면, 적절한 포맷으로 변환시키도록 구성되는, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  58. 제 57항에 있어서, 상기 제어 회로는 또한, 사전 한정된 동작을 실현하도록 구성되어, 사용자로 하여금 상기 네트워크 내의 상기 디바이스의 기본적인 기능을 억세스하도록 허용하는, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  59. 제 58항에 있어서, 상기 제어 회로는 또한, 사용자 활동을 감시 및 기록하고, 사용자가-한정한 주문형 동작을 생성하도록 구성되는, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  60. 제 57항에 있어서, 상기 네트워크는 IEEE 1394 직렬 버스 네트워크인, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  61. 제 54항에 있어서, 하나 또는 그 이상의 상기 제어 모듈은 각각의 대응하는 디바이스내에 삽입되는, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  62. 제 54항에 있어서, 하나 또는 그 이상의 상기 제어 모듈은 각각의 대응하는 디바이스에 대해서 다운로드되는, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  63. 제 54항에 있어서, 하나 또는 그 이상의 상기 제어 모듈은 저장되고, 대응하는 디바이스로부터 원격으로 실행되는, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  64. 제 54항에 있어서, 하나 또는 그 이상의 상기 제어 모듈은 플랫폼 중립 포맷에 있는, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  65. 제 64항에 있어서, 상기 플랫폼 중립 포맷은 자바인, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  66. 제 54항에 있어서, 하나 또는 그 이상의 상기 제어 모듈은 대응하는 디바이스들의 자동 제어를 제공하는, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  67. 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치에 있어서,
    a. 상기 디바이스 및 상기 디바이스 내의 임의의 하위 디바이스의 성능을 포함하는, 상기 네트워크 내의 각 디바이스를 나타내는 수단으로, 상기 수단은 추가로 상기 디바이스를 제어할 책임이 있는 수단,
    b. 사용자와 통신하도록 구성된 인터페이싱 수단으로서, 완료될 태스크는 사용자에 의해 상기 인터페이스를 통해 요구되는, 인터페이싱 수단, 및
    c. 상기 네트워크 내의 각 디바이스를 나타내는 수단, 상기 네트워크, 및 인터페이싱을 위한 수단에 접속되는 제어 수단으로서, 상기 네트워크 내의 각 디바이스를 나타내는 수단을 검색함으로써 태스크의 완료를 위해 요구되는 적절한 디바이스 및 하위 디바이스를 결정하고, 상기 네트워크 내의 각 디바이스를 나타내는 수단에 지령하여 상기 적절한 디바이스 및 하위 디바이스에 지령을 제공하도록 함으로써 상기 태스크를 완료하는 제어 수단을
    포함하는 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  68. 제 67항에 있어서, 상기 제어 수단은 추가로 상기 네트워크 내의 상기 디바이스 사이의 데이터 흐름을 제어하는, 디바이스의 네트워크 동작 및 상기 디바이스 네트워크 내의 통신을 제어하는 장치.
  69. 제 67항에 있어서, 상기 네트워크 내의 디바이스들의 토폴로지 맵을 얻고 상기 토폴로지 맵을 분석함으로써 적절한 디바이스 및 하위 디바이스 사이의 데이터 흐름을 위한 최상의 경로를 결정하기 위한, 제어 수단에 접속된 네트워크 관리 수단을 더 포함하는, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  70. 제 67항에 있어서, 상기 제어 수단은 또한, 상기 적절한 디바이스 및 하위 디바이스 사이에서 흐르는 데이터를, 데이터 변환이 필요하다면, 적절한 포맷으로 변환하는, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  71. 제 67항에 있어서, 상기 제어 수단은 사전 한정된 동작을 실현하여, 사용자로 하여금 상기 네트워크 내의 상기 디바이스의 기본적인 기능을 억세스하도록 허용하는, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  72. 제 67항에 있어서, 상기 제어 수단은 또한, 사용자 활동을 감시 및 기록하고, 사용자가 한정한 주문형 동작을 생성하는, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  73. 제 67항에 있어서, 상기 네트워크는 IEEE 1394 직렬 버스 네트워크인, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  74. 제 67항에 있어서, 각 디바이스를 나타내는 상기 수단은 대응하는 디바이스에서 삽입되는, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  75. 제 67항에 있어서, 각 디바이스를 나타내는 상기 수단은 각각의 대응하는 디바이스에 대해서 다운로드되는, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  76. 제 67항에 있어서, 각 디바이스를 나타내는 상기 수단은 저장되고, 대응하는 디바이스로부터 원격으로 실행되는, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  77. 제 67항에 있어서, 각 디바이스를 나타내는 상기 수단은 플랫폼 중립 포맷에 있는, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  78. 제 77항에 있어서, 상기 플랫폼 중립 포맷은 자바인, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  79. 제 67항에 있어서, 각 디바이스를 나타내는 상기 수단은 대응하는 디바이스의 자동 제어를 제공하는, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 제어하는 장치.
  80. 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 관리하는 방법에 있어서,
    a. 상기 네트워크 내의 각 디바이스를 위한 제어 모듈을 유지하는 단계로서, 상기 제어 모듈은 상기 디바이스의 성능과 상기 디바이스 내의 임의의 하위 디바이스의 성능을 포함하고, 추가로 상기 제어 모듈은 상기 디바이스를 제어할 책임이 있는, 제어 모듈을 유지하는 단계와,
    b. 인터페이스를 사용자에게 제공하는 단계로서, 완료될 태스크는 사용자에 의해 상기 인터페이스를 통해 요구되는, 인터페이스를 제공하는 단계와,
    c. 상기 제어 모듈을 검색함으로써, 상기 태스크의 완료를 위해 요구되는 적절한 디바이스 및 하위 디바이스를 결정하는 단계를 포함하는, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 관리하는 방법.
  81. 제 80항에 있어서, 적절한 제어 모듈에 지령하여 상기 적절한 디바이스와 하위 디바이스에 지령을 제공하도록 함으로써, 상기 태스크를 완료하는 단계를 더 포함하는, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 관리하는 방법.
  82. 제 80항에 있어서, 상기 적절한 디바이스 및 하위 디바이스 사이의 데이터 흐름을 제어하는 단계를 더 포함하는, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 관리하는 방법.
  83. 제 82항에 있어서,
    a. 상기 네트워크 내의 상기 디바이스의 토폴로지 맵을 얻는 단계와,
    b. 상기 토폴로지 맵을 분석함으로써 상기 데이터 흐름을 위한 최상의 경로를 결정하는 단계를 더 포함하는, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 관리하는 방법.
  84. 제 80항에 있어서,
    a. 상기 적절한 디바이스 및 하위 디바이스 사이에서 흐르는 데이터의 변환이 필요한지를 결정하는 단계와,
    b. 데이터 변환이 필요하다면, 상기 적절한 디바이스 및 하위 디바이스 사이에서 흐르는 상기 데이터를 적절한 포맷으로 변환하는 단계를 더 포함하는, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 관리하는 방법.
  85. 제 80항에 있어서, 상기 네트워크는 IEEE 1394 직렬 버스 네트워크인, 디바이스의 네트워크 동작 및 그 디바이스 네트워크 내의 통신을 관리하는 방법.
KR1020007012096A 1998-05-08 1999-04-29 네트워크 환경 내에서 자율적인 미디어 디바이스를 제어하는 방법 및 장치 KR100628468B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/075,047 1998-05-08
US09/075,047 US6233611B1 (en) 1998-05-08 1998-05-08 Media manager for controlling autonomous media devices within a network environment and managing the flow and format of data between the devices
US9/075,047 1998-05-08

Publications (2)

Publication Number Publication Date
KR20010052284A KR20010052284A (ko) 2001-06-25
KR100628468B1 true KR100628468B1 (ko) 2006-09-26

Family

ID=22123199

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020007012096A KR100628468B1 (ko) 1998-05-08 1999-04-29 네트워크 환경 내에서 자율적인 미디어 디바이스를 제어하는 방법 및 장치

Country Status (11)

Country Link
US (3) US6233611B1 (ko)
EP (2) EP1076961B1 (ko)
JP (1) JP3977596B2 (ko)
KR (1) KR100628468B1 (ko)
CN (1) CN100380888C (ko)
AT (1) ATE230910T1 (ko)
AU (1) AU758533B2 (ko)
CA (1) CA2330348C (ko)
DE (1) DE69904813T2 (ko)
ES (1) ES2186360T3 (ko)
WO (1) WO1999059072A2 (ko)

Families Citing this family (200)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10361802B1 (en) 1999-02-01 2019-07-23 Blanding Hovenweep, Llc Adaptive pattern recognition based control system and method
JP3733709B2 (ja) * 1997-09-30 2006-01-11 ソニー株式会社 電子機器、電源制御方法及び記録媒体
JP3671738B2 (ja) * 1999-05-12 2005-07-13 松下電器産業株式会社 伝送管理方法
DE69938703D1 (de) * 1998-04-22 2008-06-26 Koninkl Philips Electronics Nv Funktionalitätsverwaltung für ein unterhaltungselektroniksystem
US6233611B1 (en) * 1998-05-08 2001-05-15 Sony Corporation Media manager for controlling autonomous media devices within a network environment and managing the flow and format of data between the devices
CN1867068A (zh) 1998-07-14 2006-11-22 联合视频制品公司 交互式电视节目导视系统及其方法
US6496862B1 (en) * 1998-08-25 2002-12-17 Mitsubishi Electric Research Laboratories, Inc. Remote monitoring and control of devices connected to an IEEE 1394 bus via a gateway device
US6430635B1 (en) * 1998-10-10 2002-08-06 Lg Electronics Inc Protocol interfacing method
FR2785408A1 (fr) * 1998-10-30 2000-05-05 Canon Research Centre France S Procede et dispositif de communication d'information numerique et appareils les mettant en oeuvre
US6859799B1 (en) 1998-11-30 2005-02-22 Gemstar Development Corporation Search engine for video and graphics
JP3576019B2 (ja) * 1998-12-28 2004-10-13 株式会社東芝 通信ノード
US7904187B2 (en) 1999-02-01 2011-03-08 Hoffberg Steven M Internet appliance system and method
US6862735B1 (en) * 1999-02-11 2005-03-01 Sun Microsystems, Inc. Mechanism by which platform independent software may bind to and access platform dependent software
US6643714B1 (en) * 1999-03-25 2003-11-04 Microsoft Corporation Modification and use of configuration memory used during operation of a serial bus
US6826776B1 (en) * 1999-04-09 2004-11-30 Sony Corporation Method and apparatus for determining signal path
JP4250805B2 (ja) * 1999-04-23 2009-04-08 ソニー株式会社 電子機器、データ通信方法およびネットワークシステム
US6633547B1 (en) * 1999-04-29 2003-10-14 Mitsubishi Electric Research Laboratories, Inc. Command and control transfer
US6925513B1 (en) * 1999-05-04 2005-08-02 Apple Computer, Inc. USB device notification
US6738835B1 (en) * 1999-05-28 2004-05-18 Sony Corporation Information processing apparatus and method, and recording medium
JP4313894B2 (ja) * 1999-06-01 2009-08-12 キヤノン株式会社 通信システム及び被制御装置
DE60019750T2 (de) * 1999-06-11 2005-09-29 Microsoft Corp., Redmond Allgemeines api zur gerätefernsteuerung
US6895557B1 (en) 1999-07-21 2005-05-17 Ipix Corporation Web-based media submission tool
US7069185B1 (en) * 1999-08-30 2006-06-27 Wilson Diagnostic Systems, Llc Computerized machine controller diagnostic system
US7130315B1 (en) 1999-09-10 2006-10-31 Sony Corporation Method of and apparatus for utilizing extended AV/C command and response frames including transaction label and common result/error code
US6732162B1 (en) * 1999-11-15 2004-05-04 Internet Pictures Corporation Method of providing preprocessed images for a plurality of internet web sites
CN1304926C (zh) * 2000-01-21 2007-03-14 皇家菲利浦电子有限公司 机顶盒将遥控设备连接到网站以进行用户定制码下载
US6895558B1 (en) * 2000-02-11 2005-05-17 Microsoft Corporation Multi-access mode electronic personal assistant
JP4422848B2 (ja) * 2000-02-21 2010-02-24 キヤノン株式会社 画像形成装置
US7127526B1 (en) * 2000-03-20 2006-10-24 Nortel Networks Limited Method and apparatus for dynamically loading and managing software services on a network device
JP3901941B2 (ja) * 2000-03-24 2007-04-04 富士通株式会社 Ieee1394規格における装置およびその装置におけるコンフィグレーション方法
JP2001274813A (ja) * 2000-03-28 2001-10-05 Canon Inc 情報信号処理装置及び情報信号処理方法並びに記憶媒体
US6704819B1 (en) * 2000-04-19 2004-03-09 Microsoft Corporation Method and apparatus for device sharing and arbitration
US6968307B1 (en) 2000-04-28 2005-11-22 Microsoft Corporation Creation and use of virtual device drivers on a serial bus
US7191236B2 (en) 2000-05-02 2007-03-13 Canon Kabushiki Kaisha Transparent telecommunications system and apparatus
JP2001325206A (ja) * 2000-05-12 2001-11-22 Canon Inc 表示装置、表示システム及びコンピュータ読み取り可能な記憶媒体
US6901444B1 (en) * 2000-06-30 2005-05-31 Sony Corporation Method of and apparatus for communicating data structures between devices in a networking environment
DE10039415A1 (de) * 2000-08-11 2002-03-07 Siemens Ag Verfahren sowie Verarbeitungssystem zur Ermittlung der räumlichen Struktur eines Steuerungssystems
KR100667742B1 (ko) 2000-08-23 2007-01-11 삼성전자주식회사 제어기기의 적어도 하나 이상의 피제어기기 제어 방법
US7103906B1 (en) 2000-09-29 2006-09-05 International Business Machines Corporation User controlled multi-device media-on-demand system
FR2814883A1 (fr) * 2000-10-03 2002-04-05 Canon Kk Procede et dispositif de declaration et de modification de fonctionnalite d'un noeud dans un reseau de communication
KR20190096450A (ko) 2000-10-11 2019-08-19 로비 가이드스, 인크. 매체 콘텐츠 배달 시스템 및 방법
US7328232B1 (en) * 2000-10-18 2008-02-05 Beptech Inc. Distributed multiprocessing system
US10860290B2 (en) 2000-11-01 2020-12-08 Flexiworld Technologies, Inc. Mobile information apparatuses that include a digital camera, a touch sensitive screen interface, support for voice activated commands, and a wireless communication chip or chipset supporting IEEE 802.11
US20020051200A1 (en) 2000-11-01 2002-05-02 Chang William Ho Controller for device-to-device pervasive digital output
US11204729B2 (en) 2000-11-01 2021-12-21 Flexiworld Technologies, Inc. Internet based digital content services for pervasively providing protected digital content to smart devices based on having subscribed to the digital content service
US10915296B2 (en) 2000-11-01 2021-02-09 Flexiworld Technologies, Inc. Information apparatus that includes a touch sensitive screen interface for managing or replying to e-mails
US11467856B2 (en) * 2002-12-12 2022-10-11 Flexiworld Technologies, Inc. Portable USB device for internet access service
US7609402B2 (en) 2001-01-19 2009-10-27 Flexiworld, Inc. Methods for universal data output
US7181508B1 (en) * 2000-11-09 2007-02-20 Oki Data Americas, Inc. System and method for communicating, monitoring and configuring a device operatively connected to a network
WO2002041107A2 (en) 2000-11-20 2002-05-23 Flexiworld Technologies, Inc. Systems and methods for mobile and pervasive output
IT1319575B1 (it) * 2000-12-19 2003-10-20 Cit Alcatel Metodo per fornire la comunicazione in sistemi distribuiti.
US6907445B2 (en) * 2001-02-12 2005-06-14 International Truck Intellectual Property Company, Llc Consistent application programming interface for communicating with disparate vehicle network classes
US6836796B2 (en) * 2001-03-16 2004-12-28 Digi International, Inc. System and method to manage network-enabled embedded devices operating under various protocols
US8868659B2 (en) * 2001-05-15 2014-10-21 Avaya Inc. Method and apparatus for automatic notification and response
EP1262869A1 (en) 2001-05-29 2002-12-04 Sony International (Europe) GmbH System and method for discovering and customizing resources in networks
JP4612779B2 (ja) * 2001-06-14 2011-01-12 キヤノン株式会社 通信装置及び通信装置の映像表示制御方法
DE10129446A1 (de) * 2001-06-19 2003-01-02 Bosch Gmbh Robert Verfahren zur Initialisierung einer verteilten Software Architektur und elektronisches System
JP2003022224A (ja) * 2001-07-09 2003-01-24 Fujitsu Ltd ネットワークを介して相互接続された複数の機器の連携動作の制御
US7574723B2 (en) 2001-07-19 2009-08-11 Macrovision Corporation Home media network
ATE347764T1 (de) * 2001-09-21 2006-12-15 Koninkl Philips Electronics Nv Gibt es kein spezifisches kontrollmodul? benutzen sie eines das weniger spezifisch ist
US6944704B2 (en) * 2001-10-04 2005-09-13 Sony Corporation Method and apparatus for utilizing extended AV/C command frames including status inquiry, notify inquiry and control inquiry command types
US7003604B2 (en) * 2001-10-04 2006-02-21 Sony Corporation Method of and apparatus for cancelling a pending AV/C notify command
WO2003036899A2 (en) * 2001-10-24 2003-05-01 Gente Solutions Ltd. Apparatus and methods for providing self-configuring computer networks
US20030097497A1 (en) * 2001-11-21 2003-05-22 Jeffrey Esakov Data format recognition for networks providing device interoperability
FR2832888B1 (fr) * 2001-11-23 2004-02-27 France Telecom Systeme de gestion d'applications dediees a des appareils connectes a un reseau, procede de gestion d'applications, terminal d'acces, serveur d'applications et appareil pour un tel systeme
US6985961B1 (en) * 2001-12-04 2006-01-10 Nortel Networks Limited System for routing incoming message to various devices based on media capabilities and type of media session
US7831278B2 (en) * 2001-12-18 2010-11-09 Intel Corporation Method and device for communicating data with a personal wireless storage device
US7202783B2 (en) * 2001-12-18 2007-04-10 Intel Corporation Method and system for identifying when a first device is within a physical range of a second device
US20030115038A1 (en) * 2001-12-18 2003-06-19 Roy Want Method and device for emulating electronic apparatus
US7634795B2 (en) * 2002-01-11 2009-12-15 Opentv, Inc. Next generation television receiver
US7430583B2 (en) * 2002-01-15 2008-09-30 International Business Machines Corporation Active control of collaborative devices
DE60322453D1 (de) * 2002-01-21 2008-09-11 Canon Kk System zum Bereitstellen von Diensten
FR2836318B1 (fr) * 2002-02-21 2004-07-09 France Telecom Systeme de transmission de contenus mutimedias apte a accorder les contenus au cours de leur transmission
DE60307072T2 (de) * 2002-03-25 2006-12-07 Matsushita Electric Industrial Co., Ltd., Kadoma Aufzeichnungsvorrichtung, aufzeichnungsverfahren, und programm
EP1351447A1 (en) * 2002-04-05 2003-10-08 Sony International (Europe) GmbH Management and control of networked audio-video devices
US20030204612A1 (en) * 2002-04-30 2003-10-30 Mark Warren System and method for facilitating device communication, management and control in a network
DE10227062A1 (de) 2002-06-18 2004-01-08 Robert Bosch Gmbh Verfahren zur Steuerung elektronischer Geräte
US7933945B2 (en) * 2002-06-27 2011-04-26 Openpeak Inc. Method, system, and computer program product for managing controlled residential or non-residential environments
US6792323B2 (en) * 2002-06-27 2004-09-14 Openpeak Inc. Method, system, and computer program product for managing controlled residential or non-residential environments
US7024256B2 (en) * 2002-06-27 2006-04-04 Openpeak Inc. Method, system, and computer program product for automatically managing components within a controlled environment
US8116889B2 (en) 2002-06-27 2012-02-14 Openpeak Inc. Method, system, and computer program product for managing controlled residential or non-residential environments
US20040039459A1 (en) * 2002-08-06 2004-02-26 Daugherty Paul R. Universal device control
CN1501267B (zh) * 2002-09-20 2010-05-12 富士施乐株式会社 链接信息制作设备、链接信息制作方法及文件处理系统
US8931010B2 (en) * 2002-11-04 2015-01-06 Rovi Solutions Corporation Methods and apparatus for client aggregation of media in a networked media system
EP1570603B1 (en) * 2002-11-22 2010-12-22 Arash Rouhi A multimedia network system for interconnecting a number of receiving and transmitting digital and/or analogous devices
US6922754B2 (en) * 2002-12-09 2005-07-26 Infabric Technologies, Inc. Data-aware data flow manager
AU2003300880A1 (en) 2002-12-12 2004-07-09 Flexiworld Technologies, Inc. Wireless communication between computing devices
CN100352250C (zh) * 2002-12-18 2007-11-28 中国移动通信集团公司 无线移动通信设备自动登录互联网的方法
WO2004064355A2 (en) * 2003-01-03 2004-07-29 Gloolabs, Inc. Method and apparatus for device communications
AU2003288560A1 (en) * 2003-01-06 2004-07-29 International Business Machines Corporation A user-centric service providing device and service providing method
US7987489B2 (en) 2003-01-07 2011-07-26 Openpeak Inc. Legacy device bridge for residential or non-residential networks
FR2849977B1 (fr) * 2003-01-10 2005-06-03 Thomson Licensing Sa Procede de controle d'appareils au sein d'un reseau par une telecommande dediee et appareils mettant en oeuvre le procede
CN1303789C (zh) * 2003-01-28 2007-03-07 华为技术有限公司 数字传送网上不同的数据帧接入和传送的系统和方法
US7493646B2 (en) 2003-01-30 2009-02-17 United Video Properties, Inc. Interactive television systems with digital video recording and adjustable reminders
KR20040079596A (ko) * 2003-03-08 2004-09-16 주식회사 성진씨앤씨 허브를 내장한 네트워크 카메라
US7668990B2 (en) * 2003-03-14 2010-02-23 Openpeak Inc. Method of controlling a device to perform an activity-based or an experience-based operation
US8042049B2 (en) 2003-11-03 2011-10-18 Openpeak Inc. User interface for multi-device control
US7213228B2 (en) 2003-03-17 2007-05-01 Macrovision Corporation Methods and apparatus for implementing a remote application over a network
JP4093899B2 (ja) * 2003-04-03 2008-06-04 シャープ株式会社 データ送信装置及びデータ受信装置及びデータ通信システム及びデータ通信管理用サーバ
CN101208657B (zh) * 2003-04-11 2017-11-14 富意科技 一种便携式集成电路存储设备及其运行方法
KR100493898B1 (ko) * 2003-04-16 2005-06-10 삼성전자주식회사 피제어 디바이스의 리스트를 제공하는 네트워크 장치,시스템 및 방법
US20040240650A1 (en) 2003-05-05 2004-12-02 Microsoft Corporation Real-time communications architecture and methods for use with a personal computer system
US7827232B2 (en) 2003-05-05 2010-11-02 Microsoft Corporation Record button on a computer system
US7221331B2 (en) 2003-05-05 2007-05-22 Microsoft Corporation Method and system for auxiliary display of information for a computing device
US7551199B2 (en) 2003-05-05 2009-06-23 Microsoft Corporation Computer camera system and method for reducing parallax
US20040235520A1 (en) 2003-05-20 2004-11-25 Cadiz Jonathan Jay Enhanced telephony computer user interface allowing user interaction and control of a telephone using a personal computer
US7555540B2 (en) 2003-06-25 2009-06-30 Microsoft Corporation Media foundation media processor
US20050065912A1 (en) * 2003-09-02 2005-03-24 Digital Networks North America, Inc. Digital media system with request-based merging of metadata from multiple databases
US7216221B2 (en) 2003-09-30 2007-05-08 Microsoft Corporation Method and system for unified audio control on a personal computer
US7548255B2 (en) 2003-09-30 2009-06-16 Microsoft Corporation Method and system for capturing video on a personal computer
JP2005157419A (ja) * 2003-11-20 2005-06-16 Sony Corp 情報処理システム、情報処理装置および方法、並びにプログラム
US7266726B1 (en) 2003-11-24 2007-09-04 Time Warner Cable Inc. Methods and apparatus for event logging in an information network
US8302111B2 (en) 2003-11-24 2012-10-30 Time Warner Cable Inc. Methods and apparatus for hardware registration in a network device
US9213538B1 (en) 2004-02-06 2015-12-15 Time Warner Cable Enterprises Llc Methods and apparatus for display element management in an information network
EP1564990A3 (en) * 2004-02-16 2008-04-16 Matsushita Electric Industrial Co., Ltd. Equipment management system and method
US20050209990A1 (en) * 2004-03-18 2005-09-22 Ordille Joann J Method and apparatus for a publish-subscribe system with access controls
US7734731B2 (en) * 2004-03-18 2010-06-08 Avaya Inc. Method and apparatus for a publish-subscribe system with third party subscription delivery
EP1578058B1 (en) * 2004-03-19 2011-10-12 Sap Ag Distributing unique identifiers within a network
US20050273657A1 (en) * 2004-04-01 2005-12-08 Hiroshi Ichiki Information processing apparatus and method, and recording medium and program for controlling the same
TWI244868B (en) * 2004-04-21 2005-12-01 Wistron Corp Resource sharing system for household electronic appliances
JP3897774B2 (ja) * 2004-06-09 2007-03-28 株式会社ソニー・コンピュータエンタテインメント マルチメディア再生装置およびメニュー画面表示方法
US20050289613A1 (en) * 2004-06-18 2005-12-29 Honeywell International Inc. Control architecture for audio/video (A/V) systems
US8166217B2 (en) * 2004-06-28 2012-04-24 Marvell International Ltd. System and method for reading and writing data using storage controllers
TR201904404T4 (tr) 2004-09-10 2019-04-22 Koninklijke Philips Nv En azından bir medya veri işleme cihazını kontrol etmeyi sağlamak için cihaz ve yöntem.
JP3952053B2 (ja) * 2004-09-21 2007-08-01 船井電機株式会社 接続管理プログラム
US8086575B2 (en) 2004-09-23 2011-12-27 Rovi Solutions Corporation Methods and apparatus for integrating disparate media formats in a networked media system
US7953845B2 (en) * 2004-09-30 2011-05-31 Microsoft Corporation Network-specific estimation in network node discovery
US7660891B2 (en) * 2004-09-30 2010-02-09 Microsoft Corporation Node discovery involving stealth node enumerators
US7870247B2 (en) * 2004-09-30 2011-01-11 Microsoft Corporation Node discovery involving multiple node enumerators
US20060075113A1 (en) * 2004-09-30 2006-04-06 Microsoft Corporation Network node enumeration
JP4241577B2 (ja) 2004-11-05 2009-03-18 ブラザー工業株式会社 サービス登録システム、サーバ、端末装置および周辺装置
US7634780B2 (en) * 2004-11-23 2009-12-15 Microsoft Corporation Method and system for exchanging data between computer systems and auxiliary displays
US7581034B2 (en) 2004-11-23 2009-08-25 Microsoft Corporation Sending notifications to auxiliary displays
US7711868B2 (en) 2004-11-23 2010-05-04 Microsoft Corporation Waking a main computer system to pre-fetch data for an auxiliary computing device
US20060168268A1 (en) * 2004-12-02 2006-07-27 International Business Machines Corporation Specific method of setting transport-specific properties from transport-agnostic clients
US7768388B2 (en) 2005-01-05 2010-08-03 Rovi Solutions Corporation Methods and apparatus for providing notifications in a media system
KR100736930B1 (ko) * 2005-02-07 2007-07-10 삼성전자주식회사 홈서버, 상기 홈서버를 포함하는 컨텐츠 전송 시스템, 통합미디어 재생 프로그램을 이용한 컨텐츠 재생방법, 미디어포맷 변환 기능을 이용한 컨텐츠 전송방법 그리고 컨텐츠전송 여부 판별방법
US7784065B2 (en) * 2005-02-07 2010-08-24 Microsoft Corporation Interface for consistent program interaction with auxiliary computing devices
US8659546B2 (en) 2005-04-21 2014-02-25 Oracle America, Inc. Method and apparatus for transferring digital content
US9401822B2 (en) * 2005-06-09 2016-07-26 Whirlpool Corporation Software architecture system and method for operating an appliance exposing key press functionality to a network
US7813831B2 (en) * 2005-06-09 2010-10-12 Whirlpool Corporation Software architecture system and method for operating an appliance in multiple operating modes
US8131529B2 (en) * 2005-09-01 2012-03-06 Advanced Testing Technologies Inc. Method and system for simulating test instruments and instrument functions
RU2411685C2 (ru) * 2005-11-29 2011-02-10 Конинклейке Филипс Электроникс Н.В. Способ управления распределенной системой хранения
US9467322B2 (en) 2005-12-27 2016-10-11 Rovi Solutions Corporation Methods and apparatus for integrating media across a wide area network
US8607287B2 (en) 2005-12-29 2013-12-10 United Video Properties, Inc. Interactive media guidance system having multiple devices
US9681105B2 (en) 2005-12-29 2017-06-13 Rovi Guides, Inc. Interactive media guidance system having multiple devices
KR100677635B1 (ko) * 2006-02-02 2007-02-02 삼성전자주식회사 네트워크에서의 기기 제어 방법 및 시스템과 그 방법을수행하는 프로그램이 기록된 기록 매체
US20070283389A1 (en) * 2006-06-01 2007-12-06 Sharp Laboratories Of America, Inc. Method and system for helping operate a media-playing set
US9300920B2 (en) * 2006-03-03 2016-03-29 Sharp Laboratories Of America, Inc. Method and system for configuring media-playing sets
US20070245373A1 (en) * 2006-03-31 2007-10-18 Sharp Laboratories Of America, Inc. Method for configuring media-playing sets
US7929551B2 (en) 2006-06-01 2011-04-19 Rovi Solutions Corporation Methods and apparatus for transferring media across a network using a network interface device
US8127036B2 (en) * 2006-06-30 2012-02-28 Microsoft Corporation Remote session media data flow and playback
US7992086B2 (en) * 2006-06-30 2011-08-02 Sharp Laboratories Of America, Inc. System and method for adjusting a media-playing set
US8589523B2 (en) 2006-08-08 2013-11-19 Sharp Laboratories Of America, Inc. Personalized assistance with setup of a media-playing set
US20080040430A1 (en) * 2006-08-10 2008-02-14 Sharp Laboratories Of America, Inc. System and method to facilitate operating a media-playing set
KR100878438B1 (ko) * 2006-09-25 2009-01-13 삼성전자주식회사 가상 기기 구성 방법 및 이를 이용한 가상 기기 구성시스템
US20080288582A1 (en) * 2006-09-25 2008-11-20 Sms.Ac Systems and methods for passing application pods between multiple social network service environments
US20080178214A1 (en) * 2007-01-19 2008-07-24 Sharp Laboratories Of America, Inc. Context relevant controls
US7647326B2 (en) * 2007-01-29 2010-01-12 Sharp Laboratories Of America, Inc. Method and system for evaluating media-playing sets
US8266664B2 (en) * 2007-01-31 2012-09-11 At&T Intellectual Property I, Lp Methods and apparatus to provide messages to television users
US20080183645A1 (en) * 2007-01-31 2008-07-31 Microsoft Corporation Media continuity service between devices
WO2008103103A2 (en) * 2007-02-19 2008-08-28 Telefonaktiebolaget Lm Ericsson (Publ) A method and apparatus for enabling user group services in a communication network
US20080228685A1 (en) * 2007-03-13 2008-09-18 Sharp Laboratories Of America, Inc. User intent prediction
US8249845B1 (en) 2007-05-03 2012-08-21 Advanced Testing Technologies, Inc. Electro-mechanical system simulator arrangement and method
US20080295012A1 (en) * 2007-05-23 2008-11-27 Microsoft Corporation Drag-and-drop abstraction
US20090019492A1 (en) 2007-07-11 2009-01-15 United Video Properties, Inc. Systems and methods for mirroring and transcoding media content
US20090024687A1 (en) * 2007-07-20 2009-01-22 Thomas Quigley Method and system for formatting returned result from remote processing resource in wireless system
US20090031381A1 (en) * 2007-07-24 2009-01-29 Honeywell International, Inc. Proxy video server for video surveillance
US20090094658A1 (en) * 2007-10-09 2009-04-09 Genesis Microchip Inc. Methods and systems for driving multiple displays
JP2009146146A (ja) * 2007-12-13 2009-07-02 Panasonic Corp 情報処理装置およびホームネットワークシステム
US7904602B2 (en) * 2008-02-05 2011-03-08 Raptor Networks Technology, Inc. Distributed computing bus
US8862706B2 (en) 2007-12-14 2014-10-14 Nant Holdings Ip, Llc Hybrid transport—application network fabric apparatus
KR101582084B1 (ko) 2008-01-25 2016-01-05 삼성전자주식회사 홈 네트워크에서 이벤트를 처리하는 방법 및 이를 위한장치
US10895898B2 (en) * 2008-04-16 2021-01-19 Deka Products Limited Partnership Management of remotely controlled devices
JP2010050956A (ja) * 2008-07-24 2010-03-04 Toshiba Corp 映像処理システム、映像処理装置、および映像処理方法
US10063934B2 (en) 2008-11-25 2018-08-28 Rovi Technologies Corporation Reducing unicast session duration with restart TV
KR20100086837A (ko) * 2009-01-23 2010-08-02 삼성전자주식회사 디바이스 기능 및 상태를 고려한 디바이스 통합 제어 방법 및 장치
US9014546B2 (en) 2009-09-23 2015-04-21 Rovi Guides, Inc. Systems and methods for automatically detecting users within detection regions of media devices
IT1396303B1 (it) * 2009-10-12 2012-11-16 Re Lab S R L Metodo e sistema per l elaborazione di informazioni relative ad un veicolo
US11131747B2 (en) 2010-03-31 2021-09-28 United States Foundation For Inspiration And Recog Systems and methods for remotely controlled device position and orientation determination
KR101812165B1 (ko) 2010-07-06 2017-12-26 엘지전자 주식회사 애플리케이션 확장 방법 및 그 방법을 이용한 영상표시기기
US10797904B2 (en) * 2010-12-28 2020-10-06 Comcast Interactive Media, Llc Communication, monitoring and control architecture and method
US8868700B2 (en) 2010-12-28 2014-10-21 Nant Holdings Ip, Llc Distributed network interfaces for application cloaking and spoofing
US9723052B2 (en) 2011-01-28 2017-08-01 Hewlett-Packard Development Company, L.P. Utilizing content via personal clouds
US8805418B2 (en) 2011-12-23 2014-08-12 United Video Properties, Inc. Methods and systems for performing actions based on location-based rules
GB2499281B (en) * 2012-09-28 2014-06-25 Imagination Tech Ltd Method, system and device for selecting a device to satisfy a user request
GB2510512B (en) * 2012-09-28 2014-12-17 Imagination Tech Ltd Method, System and device for selecting a device to satisfy a user request
JP6282434B2 (ja) * 2012-10-22 2018-02-21 キヤノンイメージングシステムズ株式会社 デバイス制御装置、その制御方法、及びデバイス制御システム
CN103455328B (zh) * 2013-08-16 2017-06-06 奥博杰天软件(西安)有限公司 基于多层次状态机的媒体播放控制器的播放方法
US10594794B2 (en) * 2013-10-08 2020-03-17 Iotic Labs Limited Method and apparatus for synthesizing data feeds for internet of things
US9674563B2 (en) 2013-11-04 2017-06-06 Rovi Guides, Inc. Systems and methods for recommending content
CN105099931A (zh) * 2015-05-20 2015-11-25 小米科技有限责任公司 设备间互动处理方法及装置
USD794076S1 (en) * 2016-09-09 2017-08-08 Yehuda Goltche Control pad
US11716558B2 (en) 2018-04-16 2023-08-01 Charter Communications Operating, Llc Apparatus and methods for integrated high-capacity data and wireless network services
EP3864917A4 (en) 2018-10-12 2022-07-06 Charter Communications Operating, LLC APPARATUS AND METHODS FOR IDENTIFYING CELLS IN WIRELESS NETWORKS
US11129171B2 (en) 2019-02-27 2021-09-21 Charter Communications Operating, Llc Methods and apparatus for wireless signal maximization and management in a quasi-licensed wireless system
JP7368503B2 (ja) * 2019-05-16 2023-10-24 アストロニクス アドバンスド エレクトロニック システムズ コーポレイション 共通の分配ネットワーク上の消費者間のフロー均等化の管理方法
US11218374B2 (en) * 2019-07-30 2022-01-04 Microsoft Technology Licensing, Llc Discovery and resolution of network connected devices
US11026205B2 (en) 2019-10-23 2021-06-01 Charter Communications Operating, Llc Methods and apparatus for device registration in a quasi-licensed wireless system
CN113589782B (zh) * 2021-07-08 2023-08-04 重庆长安汽车股份有限公司 整车运算平台系统架构设计方法及整车运算平台系统架构

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR980004099A (ko) * 1996-06-10 1998-03-30 데이비드 지. 퍼셀 객체지향 멀티미디어 구조

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4562535A (en) 1982-04-05 1985-12-31 Texas Instruments Incorporated Self-configuring digital processor system with global system
US4633392A (en) 1982-04-05 1986-12-30 Texas Instruments Incorporated Self-configuring digital processor system with logical arbiter
GB2203869B (en) 1987-04-17 1991-10-23 Apple Computer Computer resource configuration method and apparatus
US5226120A (en) 1990-05-21 1993-07-06 Synoptics Communications, Inc. Apparatus and method of monitoring the status of a local area network
JP3106495B2 (ja) 1990-11-21 2000-11-06 ソニー株式会社 ホームバス制御装置
US5307491A (en) 1991-02-12 1994-04-26 International Business Machines Corporation Layered SCSI device driver with error handling circuit providing sense data from device directly to the driver on the occurrence of an error
JP3173846B2 (ja) 1991-03-22 2001-06-04 ディー2ビー システムズ カンパニー リミテッド 局所的通信バス・システム
GB9121203D0 (en) 1991-10-04 1991-11-20 D2B Systems Co Ltd Local communication bus system and apparatus for use in such a system
US5289460A (en) 1992-07-31 1994-02-22 International Business Machines Corp. Maintenance of message distribution trees in a communications network
EP0588046A1 (en) 1992-08-14 1994-03-23 International Business Machines Corporation IEEE standard 802.2 virtual device driver
US5394556A (en) 1992-12-21 1995-02-28 Apple Computer, Inc. Method and apparatus for unique address assignment, node self-identification and topology mapping for a directed acyclic graph
US5621662A (en) * 1994-02-15 1997-04-15 Intellinet, Inc. Home automation system
US5724272A (en) * 1994-05-04 1998-03-03 National Instruments Corporation Method and apparatus for controlling an instrumentation system
US5724517A (en) 1994-09-27 1998-03-03 International Business Machines Corporation Method for generating a topology map for a serial bus
US5621901A (en) 1994-10-31 1997-04-15 Intel Corporation Method and apparatus for serial bus elements of an hierarchical serial bus assembly to electrically represent data and control states to each other
US5715475A (en) 1994-12-29 1998-02-03 Intel Corporation Topological identification and initialization of a system for processing video information
US5832298A (en) 1995-05-30 1998-11-03 Canon Kabushiki Kaisha Adaptive graphical user interface for a network peripheral
US5815678A (en) 1995-07-14 1998-09-29 Adaptec, Inc. Method and apparatus for implementing an application programming interface for a communications bus
US5809249A (en) 1995-09-27 1998-09-15 Texas Instruments Incorporated System having at least one auto-negotiation enabled physical media dependent (PMD) interface device operable to perform auto-negotiation with remote link partner on behalf of all PMD
EP0862826B1 (en) * 1995-11-22 2002-04-03 Samsung Electronics Co., Ltd. Home multimedia network architecture
US5793366A (en) * 1996-11-12 1998-08-11 Sony Corporation Graphical display of an animated data stream between devices on a bus
US5784275A (en) * 1996-09-23 1998-07-21 National Instruments Corporation System and method for performing interface independent virtual instrumentation functions in a graphical data flow program
US5963726A (en) * 1998-03-20 1999-10-05 National Instruments Corporation Instrumentation system and method including an improved driver software architecture
US6233611B1 (en) * 1998-05-08 2001-05-15 Sony Corporation Media manager for controlling autonomous media devices within a network environment and managing the flow and format of data between the devices

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR980004099A (ko) * 1996-06-10 1998-03-30 데이비드 지. 퍼셀 객체지향 멀티미디어 구조

Also Published As

Publication number Publication date
CA2330348A1 (en) 1999-11-18
ES2186360T3 (es) 2003-05-01
US6493753B2 (en) 2002-12-10
JP3977596B2 (ja) 2007-09-19
EP1076961B1 (en) 2003-01-08
JP2002514879A (ja) 2002-05-21
CN1299546A (zh) 2001-06-13
EP1076961A2 (en) 2001-02-21
EP1217787A3 (en) 2009-03-25
DE69904813T2 (de) 2003-10-02
US20010018718A1 (en) 2001-08-30
US20020087746A1 (en) 2002-07-04
CN100380888C (zh) 2008-04-09
US6496860B2 (en) 2002-12-17
WO1999059072A3 (en) 2000-02-24
AU758533B2 (en) 2003-03-27
CA2330348C (en) 2007-08-07
DE69904813D1 (de) 2003-02-13
ATE230910T1 (de) 2003-01-15
KR20010052284A (ko) 2001-06-25
WO1999059072A2 (en) 1999-11-18
EP1217787B1 (en) 2017-03-22
EP1217787A2 (en) 2002-06-26
US6233611B1 (en) 2001-05-15
AU3875099A (en) 1999-11-29

Similar Documents

Publication Publication Date Title
KR100628468B1 (ko) 네트워크 환경 내에서 자율적인 미디어 디바이스를 제어하는 방법 및 장치
JP4301731B2 (ja) デバイス制御を備えたホームオーディオ/ビデオネットワーク
EP1046259B1 (en) Method and system related to an audio/video network
JP4527279B2 (ja) オーディオビデオネットワーク
JP4260366B2 (ja) ネットワークにおける機器のアップグレード及び拡張方法
US6038625A (en) Method and system for providing a device identification mechanism within a consumer audio/video network
US6032202A (en) Home audio/video network with two level device control
US6160796A (en) Method and system for updating device identification and status information after a local bus reset within a home audio/video network
CA2583598C (en) Media manager for controlling autonomous media devices within a network environment and managing the flow and format of data between the devices

Legal Events

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

Payment date: 20120905

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130909

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140905

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150904

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160908

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170911

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180905

Year of fee payment: 13

EXPY Expiration of term