






본 발명은 홈 네트워크 시스템에 관한 것으로, 특히 객체 기반 미들웨어를 통해 특정 장치에 중심적인 미들웨어에 대한 특정 통신 프로토콜의 의존성으로 인해 발생되는 문제점을 해결하기 위한 객체 기반 미들웨어 시스템에 관한 것이다.The present invention relates to a home network system, and more particularly, to an object-based middleware system for solving problems caused by the dependency of a specific communication protocol on the middleware centered on a specific device through the object-based middleware.
UPnP(Universal Plug and Play) 미들웨어의 경우에는 기본적으로 TCP/IP(Transmission Control Protocol/Internet Protocol), HTTP(Hypertext transfer protocol), GENA(General Event Notification Architecture), SOAP(Symbolic Optimal Assembly Program, or Simple Object Access Protocol) 등과 같은 IETF(Internet Engineering Task Force) 표준 인터넷 프로토콜을 기반으로 하고 있어, UPnP를 이용하여 홈 네트워크를 구축하고자 할 경우, 인터넷 프로토콜을 사용해야 하는 제약이 있다. 이 때문에 non??IP로 구성될 것으로 보이는 가전 및 센서/액츄에이터 네트워크와의 연결 방법에 대해 문제가 있다.In the case of Universal Plug and Play (UPnP) middleware, it is basically a Transmission Control Protocol / Internet Protocol (TCP / IP), Hypertext Transfer Protocol (HTTP), General Event Notification Architecture (GENA), a Symbian Optimal Assembly Program, or Simple Object. Based on the Internet Engineering Task Force (IETF) standard Internet protocol such as Access Protocol, etc., there is a restriction to use the Internet protocol when building a home network using UPnP. Because of this, there is a problem with how to connect to consumer electronics and sensor / actuator networks that will be configured as non ?? IP.
HAVi(Home Audio Video interoperability) 미들웨어는 가정 내의 문화생활과 오락과 같은 홈 엔터테인먼트(Home Entertainment)를 지원하는 미들웨어로서 가정 내의 오디오 및 비디오 가전 기기간의 상호 운용성 (장비간의 통신 및 제어 기능 등)을 위한 홈 네트워크용 표준이기 때문에, 댁내의 오디오 및 비디오 가전기기만을 이용하여 홈 네트워크 시스템을 구축할 수밖에 없다. 만약 오디오 및 비디오 가전기기가 아닌 다른 장치, 이를테면 냉장고나 세탁기와 같은 생활가전기기를 홈 네트워크 시스템에 구축하기 위해서는 다른 미들웨어를 이용해야 하고, 이를 통합 관리하기 위해서는 중앙 집중형 통합 시스템이 필요하다.HAVi (Home Audio Video interoperability) middleware is a middleware that supports home entertainment, such as cultural life and entertainment in the home, and is a home for interoperability (such as communication and control functions between devices) in the home. Since it is a network standard, it is inevitable to build a home network system using only home audio and video home appliances. If you want to build a device other than audio and video appliances, such as a refrigerator or washing machine, into your home network system, you will need to use other middleware, and centralized integrated systems are needed to manage it.
중앙 집중형 통합 시스템은 제어 메시지의 문법적인 요소는 동일하지만, 의미론적인 요소에 차이가 있기 때문에 상호 연동을 목적으로 시스템 에이전트에서 제공되는 제어 메시지가 동일하다 할지라도 상호 연동되는 서비스를 제공하기는 쉽지 않다. 또한, 문법적 요소와 의미론적 요소들의 차이는 각 시스템에서 테이블로 유지해야만 하기 때문에 새로운 장치의 추가/제거 시 이 테이블을 동적으로 유지관리하기에 많은 오버헤드가 요구된다. 중앙 시스템이 장치들의 제어 서비스만을 제공하므로 시스템의 변경 없이는 사이버 물리 시스템에서 요구되는 일시적인 동적 제어 구조를 지원할 수 없다. 장치가 중앙 시스템을 제어하려면 장치가 속한 시스템의 제어 메시지가 아닌 중앙 시스템이 인식하는 제어 메시지를 기반으로 한 응용프로그램이 필요하다.In the centralized integrated system, although the grammatical elements of the control messages are the same, the semantics are different, so it is easy to provide services that are interoperable even if the control messages provided by the system agents are the same for the purpose of interoperability. not. In addition, the difference between grammatical and semantic elements must be maintained as a table in each system, so a large overhead is required to dynamically maintain this table when adding / removing new devices. Since the central system provides only the control services of the devices, it cannot support the temporary dynamic control structure required in the cyber physics system without changing the system. In order for a device to control the central system, an application program is required based on the control message recognized by the central system, not the control message of the system to which the device belongs.
홈 네트워크를 구성하는 홈 네트워크 디바이스를 본 발명에서 나타내는 객체들을 포함하도록 구성함으로써, 특정 장치에 중심적인 미들웨어의 문제점과 특정 통신 프로토콜의 의존성으로 인해 발생되는 장치 선택의 제약을 해결하기 위한 시스템 및 그 방법을 제공한다.A system and method for solving the limitation of device selection caused by the problem of middleware centered on a specific device and the dependency of a specific communication protocol by configuring the home network device constituting the home network to include the objects represented in the present invention. To provide.
상기와 같이 본 발명은 미들웨어가 탑재된 홈 네트워크 디바이스에 있어서, 상기 홈 네트워크 시스템을 구성하는 장치들에게 제공할 상태정보를 포함하며, 상기 상태 정보를 수집 및 제어하기 위한 인터페이스를 포함하는 상태객체, 장치의 기능을 수행할 수 있는 정보를 포함하며, 기능의 등록 및 해지를 위한 인터페이스를 포함하는 기능 객체, 멀티미디어 콘텐츠를 포함하고 상기 콘텐츠의 출력을 위한 장치들의 정보를 포함하며, 상기 콘텐츠의 입출력을 위한 인터페이스를 포함하는 스트리밍 객체, 상기 객체들에서 제공되는 인터페이스를 사용하여 상기 객체를 보유한 장치들의 정보를 수집 및 제어하는 제어 객체를 포함하며 상기 상태객체, 기능객체, 제어객체 및 스트리밍 객체 각각은 홈 네트워크를 구성하는 장치의 기능적 특성에 따라 모듈화된 홈 네트워크 시스템을 위한 홈 네트워크 디바이스 이다. As described above, the present invention provides a home network device equipped with middleware, comprising: state information to be provided to devices constituting the home network system, and a state object including an interface for collecting and controlling the state information; It includes information that can perform the function of the device, the functional object including the interface for registration and cancellation of the function, including multimedia content and information of the devices for the output of the content, the input and output of the content A streaming object including an interface for the control object, and a control object for collecting and controlling information of devices having the object by using the interfaces provided by the objects, wherein each of the state object, the function object, the control object, and the streaming object includes a home object. Modularity according to the functional characteristics of the devices that make up the network Is a home network device for a home network system.
상태 객체는 장치의 상태 ID, 상태 명, 상태 타입 및 상태 값 정보를 포함하며, 장치의 상태 값 변경에 따라 최신 값으로 갱신하는 상태 맵 테이블, 장치의 상태 등록, 해제, 갱신 및 통지 기능을 수행하며, 제어 객체로부터 정보요청 메시지 수신 시 해당 상태 값을 상기 제어 객체로 전송하는 인터페이스, 상기 제어 객체로부터 수신한 상태 값 요청 정보를 파싱(parsing)하는 메시지 파서, 상기 제어 객체로부터 수신한 상태 정보 요청 메시지의 응답 메시지를 생성하는 메시지 생성기를 포함한다.The state object contains the state ID, state name, state type, and state value information of the device, and performs state registration, release, update, and notification functions of the state map table to update to the latest value according to the state value change of the device. An interface for transmitting a corresponding state value to the control object when receiving an information request message from a control object, a message parser for parsing state value request information received from the control object, and a state information request received from the control object It includes a message generator for generating a response message of the message.
기능 객체는 장치의 기능 ID, 기능 명, 매개변수 정보 및 함수 포인터를 포함하는 기능 맵 테이블, 기능의 등록, 해제, 이벤트 발생 처리를 위한 기능을 제공하는 인터페이스부, 다른 장치의 제어 객체로부터 수신된 기능 수행 요청 이벤트를 처리하는 이벤트 관리자, 다른 장치의 제어 객체로부터 기능 수행을 위한 메시지에 포함된 기능 ID및 매개변수 정보를 획득하기 위한 정보를 파싱하는 메시지 파서, 상기 파싱된 메시지에 따른 응답 메시지를 생성하는 메시지 생성기를 포함한다.The function object may be a function map table including a device function ID, a function name, parameter information, and a function pointer. An event manager for processing a function performance request event, a message parser for parsing information for obtaining a function ID and parameter information included in a message for performing a function from a control object of another device, and a response message according to the parsed message. Contains a message generator to generate.
기능 맵 테이블의 함수 포인터는 장치의 기능을 실행시키기 위한 코드위치를 나타낸다.The function pointer in the function map table indicates a code location for executing a device function.
이벤트 관리자는 기 기능 수행 요청 이벤트 발생 시 기 수행 중인 기능이 있으면, 상기 기 수행되는 기능의 종료 후 상기 기능의 수행이 완료됨을 알리는 이벤트를 상기 제어 객체에 전송한다.If there is a function that is being performed when the function performing request event occurs, the event manager transmits an event to the control object indicating that the function is completed after the function is finished.
인터페이스부는 제어 객체를 포함하는 장치에서 제어되도록 장치의 기능객체의 정보를 제어객체를 포함하는 장치에 전송한다.The interface unit transmits the information of the functional object of the device to the device including the control object to be controlled by the device including the control object.
제어객체는 제어 객체가 제어하는 장치들의 리스트를 보유한 장치 맵 테이블, 제어 객체가 제어하는 장치의 기능 정보를 포함하는 제어 객체의 기능 맵 테이블, 제어 객체가 제어하는 장치의 상태 정보를 포함하는 상태 맵 테이블, 장치의 상태 정보 요청 및 상기 요청에 따라 획득된 정보를 제어 객체에 전달하는 인터페이스, 제어하고자 하는 장치에 대한 정보를 해당 장치에 전달하는 메시지 생성기, 장치들의 상태 객체나 기능 객체로부터 수신한 정보를 파싱하는 메시지 파서를 포함한다.The control object includes a device map table holding a list of devices controlled by the control object, a function map table of the control object including the function information of the device controlled by the control object, and a state map including state information of the device controlled by the control object. A table, an interface for transmitting status information of a device and information obtained according to the request to a control object, a message generator for transmitting information about a device to be controlled to the corresponding device, information received from a status object or a functional object of the devices Contains a message parser that parses.
장치 맵 테이블은 장치 ID, 장치 명, 장치 타입 정보를 포함한다.The device map table includes device ID, device name, and device type information.
기능 맵 테이블은 장치 ID, 장치 기능, 기능 명 및 기능을 제어하기 위해 요구되는 매개변수 정보를 포함한다.The function map table contains device ID, device function, function name, and parameter information required to control the function.
상태 맵 테이블은 장치 ID, 상태 명, 상태 ID, 상태 값 타입 및 상태 값을 포함한다.The state map table includes a device ID, a state name, a state ID, a state value type, and a state value.
제어 객체는 장치에서 응용 프로그램이 실행될 때, 또는 제어 객체를 포함한 장치를 검색할 때, 상기 검색 대상 장치로부터 상태 객체와 기능 객체에 대한 정보를 획득한다.The control object obtains information on the state object and function object from the search target device when an application program is executed on the device or when searching for a device including the control object.
스트리밍 객체는 멀티미디어 장치가 가질 수 있는 콘텐츠의 리스트를 포함하는 멀티미디어 콘텐츠 테이블, 스트리밍 데이터를 제공하는 장치와 제공 받는 상치의 연결을 유지 및 관리하는 연결 관리 모듈, 멀티미디어 콘텐츠 데이터 송수신 시 콘텐츠 데이터 버퍼를 관리하는 버퍼 관리 모듈을 포함한다.The streaming object is a multimedia content table including a list of contents that a multimedia device can have, a connection management module for maintaining and managing a connection between a device providing streaming data and a device provided with the streaming data, and a content data buffer when transmitting and receiving multimedia content data. It includes a buffer management module.
멀티미디어 콘텐츠 테이블은 장치 ID. 콘텐츠 명, 콘텐츠 타입 및 콘텐츠 크기 정보를 포함한다.The multimedia content table is the device ID. Content name, content type and content size information are included.
연결 관리 모듈은 멀티미디어 콘텐츠 테이블에 포함된 각 장치의 연결상태를 관리하여 연결 여부에 대한 정보를 획득한다.The connection management module manages a connection state of each device included in the multimedia content table to obtain information on whether a connection is established.
또한 본 발명은 미들웨어가 탑재된 홈 네트워크 디바이스에 있어서, 네트워크 어댑터를 통해 상이한 프로토콜을 사용하는 장치들 간의 상호 윤용성을 제공하는 네트워크 계층 관리부, 홈 네트워크를 구성하는 장치의 기능적 특성에 따라 구성되는 객체에 대한 발견, 관리를 위한 라이브러리 계층 관리부, 응용프로그램과 상기 라이브러리 계층 사이의 인터페이스를 지원하는 응용 계층 관리부를 포함한다.In addition, the present invention is a home network device equipped with middleware, a network layer management unit that provides interoperability between devices using different protocols through a network adapter, an object configured according to the functional characteristics of the device constituting the home network Library layer management unit for discovery and management, and an application layer management unit supporting an interface between an application program and the library layer.
상기 라이브러리 계층 관리부는 홈 네트워크를 구성하는 장치들에 대한 객체를 발견하기 위한 객체 발견 모듈, 상기 장치에 포함된 객체를 관리하기 위한 객체 관리 모듈, 상기 장치에 포함되는 객체의 연결 관계를 관리하는 연결 관리 모듈을 포함한다.The library layer manager may include an object discovery module for discovering an object for devices constituting a home network, an object management module for managing an object included in the device, and a connection managing a connection relationship between objects included in the device. Contains a management module.
응용 프로그램은 상기 장치에 포함된 객체들의 정보를 상기 인터페이스를 통해 변경하고, 장치의 상태 변경, 기능 수행, 다른 장치의 제어 및 멀티미디어 장치를 위한 스트리밍 서비스를 지원한다.An application program changes information of objects included in the device through the interface, and supports a state change of a device, a function execution, control of another device, and a streaming service for a multimedia device.
발명은 홈 네트워크 시스템에서 구성 가능한 장치들을 하나의 홈 네트워크 미들웨어를 통해 표현 가능하도록 함으로써, 구축된 홈 네트워크 미들웨어를 통합하는 중앙 집중형 통합 시스템을 사용할 필요 없이 댁내에서 사용되는 모든 장치들을 하나의 홈 네트워크 시스템으로 구축할 수 있는 효과가 있다.The present invention makes it possible to represent the configurable devices in a home network system through a single home network middleware, so that all devices used in a home can be connected to a home network without having to use a centralized integrated system that integrates the built-in home network middleware. There is an effect that can be built into the system.
도 1은 본 발명의 실시 예에 따른 OHNet 구조를 도시한 블록 구성도이다.
도 2는 도 1에서의 라이브러리 계층의 객체 블록 구성도이다.
도 3은 본 발명의 실시 예에 따른 상태 객체 블록 구성도이다.
도 4는 본 발명의 실시 예에 따른 기능 객체 블록 구성도이다.
도 5는 본 발명의 실시 예에 따른 제어 객체 블록 구성도이다.
도 6은 본 발명의 실시 예에 따른 스트리밍 객체 블록 구성도이다.
도 7은 본 발명의 실시 예에 따른 홈 네트워크 장치간의 연결 구성도이다.1 is a block diagram illustrating an OHNet structure according to an embodiment of the present invention.
FIG. 2 is a block diagram illustrating an object block of the library hierarchy of FIG. 1.
3 is a block diagram illustrating a state object block according to an embodiment of the present invention.
4 is a functional object block diagram according to an embodiment of the present invention.
5 is a block diagram illustrating a control object block according to an embodiment of the present invention.
6 is a block diagram illustrating a streaming object block according to an embodiment of the present invention.
7 is a configuration diagram of connection between home network devices according to an exemplary embodiment of the present invention.
이하, 본 발명의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 실시 예에 따른 OHNet 구조를 도시한 블록 구성도이다.1 is a block diagram illustrating an OHNet structure according to an embodiment of the present invention.
도 1을 참조하면, OHNet(Object??based Middleware for Home network)의 전체 구조는 네트워크 계층, 라이브러리 계층 및 응용계층으로 구성될 수 있다. 따라서, 미들웨어가 탑재된 홈 네트워크 디바이스(100)는 네트워크 계층관리부(130), 라이브러리 계층 관리부(110) 및 응용 계층 관리부(120)을 포함하여 구성될 수 있다.Referring to FIG. 1, the overall structure of an object-based middleware for home network (OHNet) may be composed of a network layer, a library layer, and an application layer. Therefore, the
네트워크 계층관리부(130)는 네트워크 계층의 기능을 제공한다. 따라서, 네트워크 계층관리부(130)는 각각의 프로토콜을 추상화한 가상 네트워크 어댑터를 통해 다른 프로토콜들을 사용하는 장치들 사이의 상호 윤용성을 제공한다.The
또한 네트워크 계층 관리부(130)는 각 프로토콜이 독립적인 모듈로 추가한 뒤, 가상 네트워크 어댑터에 해당 프로토콜을 연동할 수 있게 수정하면 추가된 프로토콜간 통신이 가능하여 프로토콜로 인한 장치 제약을 최소화 한다.In addition, the
라이브러리 계층 관리부(110)는 라이브러리 계층의 기능을 제공한다. 따라서, 라이브러리 계층 관리부(110)는 각 장치를 객체들의 조합으로 구성될 수 있다. 객체의 종류에는 상태객체, 기능 객체, 제어 객체, 그리고 스트리밍 객체가 있으며, 장치 공급자는 장치의 특성에 따라 객체들을 구성할 수 있다.The
한편, 본 명세서에서 "모듈" 은 일반적으로 컴퓨터 관련 엔티티(computer??related entity)를 의미하며, 예를 들어, 하드웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어를 의미할 수 있다.In the present specification, the term “module” generally refers to a computer-related entity. For example, “module” may mean hardware, a combination of hardware and software, and software.
라이브러리 계층 관리부(110)은 장치의 객체들을 발견, 관리 및 주변장치와의 연결성을 관리하기 위한 3개의 주요 모듈을 포함한다.The
주요 모듈로는 객체 발견 모듈(115), 객체 관리 모듈(116) 및 연결 관리 모듈(117)을 포함한다.The main modules include
객체 발견 모듈(115)은 OHNet이 지원하는 장치에 대한 객체들을 발견하기 위한 모듈이다.The
객체 관리 모듈(116)은 OHNet이 지원하는 장치에 포함된 객체들을 관리하기 위한 모듈이다.The object management module 116 is a module for managing objects included in a device supported by OHNet.
연결 관리 모듈(117)은 OHNet의 장치에 포함된 객체들과 주변 장치들에 속한 객체들 사이의 연결 관계를 관리하는 모듈이다.The
OHNet의 최상위 계층 관리부인 OHNet응용 계층 관리부(120)은 응용프로그램과 라이브러리 계층 사이의 인터페이스인 API를 지원한다. OHNet은 장치의 고유 특성을 지닌 객체들의 조합으로 나타내고, 각 객체는 개별적인 인터페이스(API)를 지원한다. 따라서, 장치에 포함된 객체의 종류에 따라 미들웨어에서 제공하는 API를 간격화 할 수 있으며, 응용 프로그램은 장치에 포함된 객체들의 정보를 간결화된 API를 통해 변경함으로써, 장치의 상태 변경, 기능수행, 다른 장치 제어, 그리고 멀티미디어 장치를 위한 스트리밍 서비스를 지원할 수 있다.The OHNet
도 2를 참조하면, 제어 객체(113)는 상태 객체(111), 기능 객체(112), 그리고 스트리밍 객체(114)에 대한 정보를 획득한 후, 각 객체에서 제공하는 인터페이스를 사용하여 각 객체를 보유한 장치들의 정보를 수집할 뿐만 아니라 제어할 수 있다. 상태 객체(111)는 장치가 사용자 혹은 다른 장치들에게 제공할 자신의 상태, 예를 들어 온도 센서의 경우 "현재 온도 10ㅀ"와 같은 정보를 포함하고, 이를 처리하기 위한 인터페이스 등을 가지고 있는 객체이다. 기능 객체(112)는 장치가 수행할 수 있는 기능 즉, 세탁기의 경우 "전원 켬"과 같은 기능을 수행하기 위한 정보들과 이를 처리하기 위한 인터페이스 등을 가지고 있는 객체이다. 마지막으로 스트리밍 객체(114)는 멀티미디어 콘텐츠들을 보유하고 이를 처리할 수 있는 장치들을 표현하기 위해 콘텐츠들의 정보와 이를 관리 및 처리하기 위한 인터페이스 등을 보유하고 있는 객체이다.Referring to FIG. 2, the
도 3은 본 발명의 실시 예에 따른 상태 객체 블록 구성도이다.3 is a block diagram illustrating a state object block according to an embodiment of the present invention.
도 3을 참조하여 상기 도 2에 개시된 객체들에 대해 상세히 설명한다.The objects disclosed in FIG. 2 will be described in detail with reference to FIG. 3.
상태객체(111)는 장치의 "전원상태", 텔레비전의 경우에는 "채널의 값", 냉장고의 경우에는 "온도 값" 등과 같은 장치의 현재 동작 상태를 나타내는 객체이다.The
상태 객체(111)는 도 3에 도시된 바와 같이 상태 맵 테이블(1112)과 메시지 생성기(1113)와 메시지 파서(1114)로 구성되고, 상태 객체와 관련된 API(1111)를 지원한다.The
상태 객체의 상태 맵 테이블(1112)은 장치의 상태 ID(1112a), 상태 명(1112b), 상태 값의 타입(1112c) 그리고 상태 값(1112d)로 구성된다. 상태 객체는 자신을 포함하는 장치의 상태가 변경되었을 때, 상태 객체의 인터페이스를 통해서 상태 맵 테이블(1112)의 값을 최근 값으로 갱신한다.The state map table 1112 of the state object consists of the
상태 객체 관련 인터페이스(API)(1111)는 상태 등록, 상태 해제, 상태 갱신 그리고 상태 통지 등에 필요한 역할을 수행한다. 상태 등록 관련 인터페이스는 응용프로그램 실행 시, 장치의 상태 정보를 상태 맵 테이블에 추가하고 주변 장치에 포함된 제어 객체에 자신의 상태 객체의 존재를 알림으로써, 제어 객체를 포함한 장치가 자신의 상태 정보를 유지할 수 있도록 한다. 상태 갱신 관련 인터페이스는 장치의 상태가 변경되었을 때, 상태 맵 테이블의 해당 상태 값을 최신의 값으로 갱신하기 위해서 사용된다. 상태 통지관련 API는 제어 객체로부터 상태 정보 요청 메시지를 받으면 해당 상태의 값을 제어 객체에게 통지한다.The state object related interface (API) 1111 performs a role required for state registration, state release, state update, and state notification. The state registration interface adds the state information of the device to the state map table when the application is executed, and informs the control object included in the peripheral device of the presence of its state object so that the device including the control object can display its state information. To maintain. The state update related interface is used to update the state value of the state map table to the latest value when the state of the device changes. When the status notification related API receives the status information request message from the control object, the status object notifies the control object of the value of the corresponding status.
메시지 생성기(1113) 및 메시지 파서(1114)는 상태 객체가 제어 객체로부터 상태 정보 요청 메시지를 받으면, 그 메시지로부터 어떤 상태의 값이 요청되었는지를 파악해야 한다. 그래서 매시지 파서는 제어 객체로부터의 상태 정보 요청 메시지를 파싱하는 역할을 수행한다. 그리고 메시지 생성기(1113)는 제어 객체로부터의 상태 정보 요청 메시지에 대한 응답을 처리하기 위해서 사용되고, 그 응답에 대한 메시지를 생성한다.When
도 4는 본 발명의 실시 예에 따른 기능 객체 블록 구성도이다.4 is a functional object block diagram according to an embodiment of the present invention.
도 4를 참조하면, 기능 객체(112)는 장치의 "전원을 켬/끔", 텔레비전의 경우 "볼륨조절" 등과 같은 기능을 지원하는 객체이다.Referring to FIG. 4, the
기능 객체(112)는 기능 맵 테이블(1122), 이벤트 관리자(1123), 메시지 생성기(1124) 및 메시지 파서(1125)로 구성되고, 기능 객체와 관련된 인터페이스(API)(1121)를 지원한다.The
기능 객체의 기능 맵 테이블(1122)은 장치가 제공하는 기능을 포함하는 기능 객체의 기능 맵 테이블로서 기능 ID(1122a), 기능 명(1122b), 매개변수 정보(1122c), 그리고 함수 포인터(1122d)로 구성되어 있다. 기능 맵 테이블의 함수 포인터(1122d)는 장치의 기능 실행시키기 위한 코드위치를 나타낸다.The functional map table 1122 of the functional object is a functional map table of the functional objects including the functions provided by the device, and includes a
기능 객체와 관련된 인터페이스(1121)는 기능 등록, 기능 해지, 그리고 이벤트 발생 처리를 위한 기능을 제공한다. 응용프로그램 시행 시, 기능 등록 인터페이스를 통해 장치의 기능 정보가 기능 맵 테이블에 추가된다. 특히, 함수 포인터 필드는 기능을 수행하기 위한 메모리상의 코드 위치가 저장되어있어, 제어 객체로부터 기능 수용 요청 시, 해당 기능의 함수 포인터가 가리키는 코드가 실행되도록 한다.The
또한, 기능 객체 관련 인터페이스(1121)는 주변 장치에 포함된 제어 객체에 자신의 기능 객체의 존재를 알림으로써, 제어 객체를 포함한 장치가 자신의 기능 객체를 제어할 수 있도록 한다. 이벤트 발생에 대한 처리는 기능 객체가 다른 장치의 제어 객체로부터 전달 받은 기능 ID 및 매개변수 정보를 해석하여 함수 포인터가 가리키는 코드를 실행함으로써 장치의 기능이 수행되도록 한다.In addition, the function object-related
이벤트 관리자(1123)는 다른 장치의 제어 객체로부터 전달받은 기능 수행 요청 이벤트를 처리한다. 만약 다른 장치의 제어 객체로부터 기능 A의 수행 요청 이벤트를 전달받았으나, 기능 A가 현재 수행 중이라면, 이벤트 관리자(1123)는 기능 A의 수행 완료 후 제어 객체에게 기능 수행 완료 이벤트를 전달한다.The
메시지 파서(1125)는 다른 장치의 제어 객체가 자신의 기능을 수행시키기 위한 메시지를 전달했을 때, 메시지에 포함된 기능 ID 및 매개변수 정보를 얻기 위한 정보를 전달받은 메시지로부터 분리한다.The
기능 객체(112)는 메시지 파서(1125)에 의해 파악된 정보를 통해 자신의 기능을 수행한다. 또한 메시지 생성기(1124)는 수행한 혹은 수행할 기능에 대한 이벤트 및 오류 발생시 기능을 수행하고자 요청했던 장치에게 이벤트 및 오류에 대한 정보를 알리고자 하는 메시지를 생성하는데 사용된다.The
도 5는 본 발명의 실시 예에 따른 제어 객체 블록 구성도이다.5 is a block diagram illustrating a control object block according to an embodiment of the present invention.
도 5를 참조하면, 제어 객체(113)는 주변의 장치의 주소, 상태, 그리고 수행하는 기능에 관한 정보를 유지 및 관리함으로써 주변 장치를 제어하는 객체이다. 제어 객체(113)는 주변 장치를 제어하기 위해 필요한 정보인 장치의 상태 및 기능을 파악해야 한다. 이들 정보는 주변 장치들의 응용프로그램이 실행될 때 혹은 제어 객체를 포함한 장치가 주변 장치를 검색할 때, 주변 장치의 상태 객체와 기능 객체에 대한 정보를 얻을 수 있다.Referring to FIG. 5, the
제어 객체(113)는 장치 맵 테이블(1132), 기능 맵 테이블(1134), 상태 맵 테이블(1133) 그리고, 메시지 생성기(1135) 및 메시지 파서(1136)로 구성되고, 제어객체와 관련된 인터페이스(API)(1131)를 지원한다.The
제어 객체의 장치 맵 테이블(1132)은 제어 객체(113)가 제어하는 장치들의 리스트를 보유한 제어 객체의 장치 맵 테이블(1132)은 장치 ID(1132a), 장치명(1132b) 그리고 장치 타입(1312c)로 구성된다. 제어장치는 장치 ID를 통해서 제어 메시지를 제어하고자 하는 장치에게 보낸다.The device map table 1132 of the control object is a device map table 1132 of the control object which holds a list of devices controlled by the
제어 객체의 기능 맵 테이블(1134)는 제어 객체가 제어하는 장치의 기능들을 포함하는 제어 객체의 기능 맵 테이블은 장치ID(1134d), 기능ID(1134a), 기능명(1134b) 그리고 기능을 제어하기 위해서 필요한 매개변수 정보(1134c)로 구성된다. 제어객체(113)는 제어할 장치의 기능ID(1134a)와 매개변수 정보(1134c)를 기능 맵 테이블(1134)을 통해 확인한다. 이러한 기능ID(1134a)와 매개변수 정보(1134c)는 해당 장치로 전달될 제어 메시지에 포함되어 해당 장치로 전송된다.The function map table 1134 of the control object includes the functions of the device controlled by the control object. The function map table of the control object includes the
제어 객체의 상태 맵 테이블(1133)은 제어 객체가 제어하는 장치의 상태들을 포함하는 제어 객체의 상태 맵 테이블(1133)은 장치ID(1133a), 상태명(1133b), 상태ID(1133b), 상태 값 타입(1133d) 그리고 상태 값(1133e)으로 구성된다. 제어객체(113)는 상태 맵 테이블(1133)의 값을 유지하기 위해 상태 객체에서 상태 정보를 요청한다. 상태 객체는 제어 객체의 요청에 따라 현재 상태 정보를 전달한다.The state map table 1133 of the control object includes the states of the devices controlled by the control object. The state map table 1133 of the control object includes the
제어 객체관련 인터페이스(API)(1131)는 제어 객체와 관련된 인터페이스는 주변 장치의 상태 정보 읽기와 주변 장치의 기능 수행을 위해 필요하다. 주변 장치의 상태 정보 읽기 인터페이스는 상태 맵 테이블의 값을 유지하기 위해 상태 객체에게 상태 정보 요청을 위해 필요하다. 상태 객체는 제어 객체의 요청에 따라 현재의 상태 정보를 제어 객체에게 전달한다. 주변 장치 기능 수행 인터페이스는 제어 객체의 장치 맵 테이블 주소와 기능 맵 테이블의 기능 ID 및 매개변수 정보를 해당 장치에 전달함으로써 해당 장치의 기능이 수행되도록 한다.The control object related interface (API) 1131 is an interface associated with a control object is required for reading state information of a peripheral device and performing a function of the peripheral device. Peripheral state read interface is required to request state information from the state object to maintain the values in the state map table. The state object delivers current state information to the control object at the request of the control object. The peripheral device function execution interface transmits the device map table address of the control object, the function ID and parameter information of the function map table to the corresponding device so that the function of the corresponding device is performed.
메시지 생성기(1135)는 주변 장치가 동작하도록 하기 위해 장치의 주소, 기능 ID, 그리고 매개변수 정보를 이용하여 해당 장치로 전달할 메시지를 생성하는 역할을 한다. 메시지 생성기(1135)로부터 생성된 메시지는 주변 장치의 기능을 수행하는 인터페이스를 통해 해당 장치의 기능 객체로 전달함으로써 필요한 기능이 수행될 수 있도록 한다. 또한 주변 장치의 상태 객체나 기능 객체로부터 전달 받은 정보를 메시지 파서(1136)에서 분석하여 이를 해당 테이블에 등록 및 읽기 인터페이스를 통해서 테이블들을 최신화 한다.The
도 6은 본 발명의 실시 예에 따른 스트리밍 객체 블록 구성도이다.6 is a block diagram illustrating a streaming object block according to an embodiment of the present invention.
도 6을 참조하면, 스트리밍 객체(114)는 멀티미디어 데이터(콘텐츠)와 같은 대용량 데이터의 입출력을 처리하기 위한 객체이다. 스트리밍 객체는 제어, 상태, 그리고 기능 객체와 독립적으로 유지 및 관리되고 멀티미디어 콘텐츠 테이블(1142), 연결 관리 모듈(1143), 버퍼 관리 모듈(1144), 그리고 스트리밍 객체 관련 인터페이스(1141)로 구성된다.Referring to FIG. 6, the
스트리밍 객체(114)를 갖는 장치는 멀티미디어 데이터를 브라우징하기 위해 다른 스트리밍 객체를 갖는 장치에게 멀티미디어 콘텐츠의 제목(1142b), 크기(1142d) 등 관련 정보를 요청할 수 있다. 콘텐츠 데이터는 콘텐츠 데이터 요청 후 읽기 및 쓰기 인터페이스를 통해 다른 장치로 송/수신 된다. 또한 콘텐츠 요청 인터페이스를 통해 장치간의 연결 상태 및 자신의 버퍼에 대한 정보를 얻어올 수 있다.The device having the
스트림이 객체의 멀티미디어 콘텐츠 테이블(1142)는 장치ID(1142a), 콘텐츠 명(1142b), 콘텐츠 타입(1142c) 그리고 콘텐츠 크기 필드(1142d)로 구성되며, 멀티미디어 장치가 가질 수 있는 콘텐츠 리스트를 나타낸다.The multimedia content table 1142 of the stream object is composed of the
연결 관리 모듈(1143)은 스트리밍 데이터를 제공하는 장치와 제공받는 장치 사이의 연결 상태를 유지?관리한다. 즉, 이 모듈은 멀티미디어 콘텐츠 테이블(1142)의 각 장치ID(1142a)에 해당하는 장치와의 연결 상태를 지속적으로 관리하며, 연결 여부에 대한 요청을 처리한다.The
버퍼 관리 모듈(1144)은 멀티미디어 콘텐츠 데이터를 주고받을 때, 콘텐츠 데이터 버퍼를 관리하며, 버퍼에 남아 있는 콘텐츠 데이터의 양을 확인하거나, 앞으로 전달되어야 할 콘텐츠 데이터의 양에 대한 확인 요청 처리한다.The
도 7은 본 발명의 실시 예에 따른 홈 네트워크 장치간의 연결 구성도이다.7 is a configuration diagram of connection between home network devices according to an exemplary embodiment of the present invention.
도 7을 참조하면, 제1장치(701)에는 제1상태객체(722)을 포함한다. 제2장치(702)에는 제2상태개체(722)와 제1기능객체(731)을 포함한다. 제3장치(703)는 제1제어객체(711), 제2기능객체(732), 제3상태객체(723)을 포함한다. 제4장치(704)는 제2제어객체(712)를 포함한다. 제5장치(705)는 제1스트리밍객체(741), 제3기능객체(733), 제4상태객체(724)를 포함한다.Referring to FIG. 7, the
제1상태객체(721)만을 보유한 제1장치(701)는 센서와 같이 주변을 모니터링하고, 상기 모니터링된 센싱 결과를 제어객체를 보유한 제3장치(703) 또는 제4장치(704)에게 제공할 수 있다.The
제2상태객체(722)와 제1기능객체(731)를 보유한 제2장치(702)는 일반적으로 자신이 제어 대상이 되는 장치가 될 수 있다. 예를 들어, 냉장고 그리고 세탁기와 같은 가전기기 등 다양한 장치들이 제2장치(702)가 될 수 있다.The
제3상태객체(723), 제2기능객체(732) 그리고 제1제어객체(711)를 보유한 제3장치(703)는 각각의 장치에서 제공되는 정보를 획득하고 제어할 수 있다.The
제2제어객체(712)를 보유한 제4장치(704)는 다른 장치들을 제어하기 위한 목적을 지닌 장치이다. 예를 들어, 컴퓨터, 노트북 또는 핸드폰 등과 같이 다른 장치들의 상태를 확인하고, 상태에 따른 동작을 제어하는 기능을 수행한다.The
제4상태객체(724), 제3기능객체(733) 그리고 제1스트리밍객체(741)을 보유한 제5장치(705)는 스트리밍 객체(741)를 보유하고 있기 때문에 멀티미디어 콘텐츠를 이용한 서비스를 제공하거나 수행할 수 있다. 예를 들어, 컴퓨터, 텔레비전, 오디오 등과 같이 오디오 또는 비디오 등을 출력할 수 있는 장치 일 수 있다.The
본 발명의 실시 예에 따른 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.The methods according to embodiments of the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software.
이상과 같이 본 발명은 비록 한정된 실시 예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시 예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.While the invention has been shown and described with reference to certain preferred embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. This is possible.
그러므로, 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined by the equivalents of the claims, as well as the claims.
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020100138824AKR101189433B1 (en) | 2010-11-04 | 2010-12-30 | Object-based Middleware System for Home network system |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020100109267 | 2010-11-04 | ||
| KR1020100138824AKR101189433B1 (en) | 2010-11-04 | 2010-12-30 | Object-based Middleware System for Home network system |
| Publication Number | Publication Date |
|---|---|
| KR20120061080A KR20120061080A (en) | 2012-06-12 |
| KR101189433B1true KR101189433B1 (en) | 2012-10-11 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020100138824AExpired - Fee RelatedKR101189433B1 (en) | 2010-11-04 | 2010-12-30 | Object-based Middleware System for Home network system |
| Country | Link |
|---|---|
| KR (1) | KR101189433B1 (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102219982B1 (en)* | 2013-08-30 | 2021-02-25 | 엘지전자 주식회사 | Gateway and method for controlling thereof |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100837705B1 (en) | 2006-12-08 | 2008-06-13 | 한국전자통신연구원 | How to configure open home network framework and how to operate it |
| US7761885B2 (en) | 2004-04-28 | 2010-07-20 | Fujitsu Limited | Task computing |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7761885B2 (en) | 2004-04-28 | 2010-07-20 | Fujitsu Limited | Task computing |
| KR100837705B1 (en) | 2006-12-08 | 2008-06-13 | 한국전자통신연구원 | How to configure open home network framework and how to operate it |
| Publication number | Publication date |
|---|---|
| KR20120061080A (en) | 2012-06-12 |
| Publication | Publication Date | Title |
|---|---|---|
| Grace et al. | ReMMoC: A reflective middleware to support mobile client interoperability | |
| CN102763373B (en) | The method and apparatus using the service of local network devices based on remote access | |
| US8443071B2 (en) | Data server system and method | |
| CN101834768B (en) | Mutual discovery method between digital home network devices | |
| US20080201723A1 (en) | Method of Automatically Managing Associations Between Services in a Distributed Environment | |
| KR20170118815A (en) | Message Bus Service Directory | |
| KR101775026B1 (en) | Method and apparatus for providing pair play service | |
| EP2461523A1 (en) | Systems and methods for operating an appliance control device for an appliance | |
| JP2008059483A (en) | COMMUNICATION SYSTEM, ITS CONTROL METHOD, AND COMMUNICATION DEVICE | |
| EP1198102A1 (en) | Extendable provisioning mechanism for a service gateway | |
| JP2004157713A (en) | Data processing system, information processor and method, and computer program | |
| CN101867508B (en) | Method, system and device for realizing home network interconnection | |
| EP1198101A1 (en) | Provisioning mechanism for a service gateway | |
| CN100531200C (en) | 3C oriented digital household middleware engine | |
| KR101189433B1 (en) | Object-based Middleware System for Home network system | |
| Jun et al. | Controlling non IP bluetooth devices in UPnP home network | |
| US20130346582A1 (en) | Deployment of services on a set of real objects with automatic matching | |
| JP4799005B2 (en) | Information processing device | |
| CN100446570C (en) | A realization method of IGRS AV control point equipment | |
| CN102694708A (en) | method of receiving/transmitting event message, controlled device, and control point | |
| KR100724940B1 (en) | How to update the contents of DMS in DLNA system | |
| CN100481823C (en) | Intermediate unit for home network and device interconnecting-interoperating method | |
| CN100414994C (en) | A realization method of IGRS AV player equipment | |
| KR100501899B1 (en) | Proxy Apparatus and Controlling Method for Universal Plug and Play | |
| JP2008310763A (en) | Information management apparatus and information management method |
| Date | Code | Title | Description |
|---|---|---|---|
| A201 | Request for examination | ||
| PA0109 | Patent application | St.27 status event code:A-0-1-A10-A12-nap-PA0109 | |
| PA0201 | Request for examination | St.27 status event code:A-1-2-D10-D11-exm-PA0201 | |
| PN2301 | Change of applicant | St.27 status event code:A-3-3-R10-R11-asn-PN2301 St.27 status event code:A-3-3-R10-R13-asn-PN2301 | |
| D13-X000 | Search requested | St.27 status event code:A-1-2-D10-D13-srh-X000 | |
| D14-X000 | Search report completed | St.27 status event code:A-1-2-D10-D14-srh-X000 | |
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection | St.27 status event code:A-1-2-D10-D21-exm-PE0902 | |
| P11-X000 | Amendment of application requested | St.27 status event code:A-2-2-P10-P11-nap-X000 | |
| P13-X000 | Application amended | St.27 status event code:A-2-2-P10-P13-nap-X000 | |
| PG1501 | Laying open of application | St.27 status event code:A-1-1-Q10-Q12-nap-PG1501 | |
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration | St.27 status event code:A-1-2-D10-D22-exm-PE0701 | |
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment | St.27 status event code:A-2-4-F10-F11-exm-PR0701 | |
| PR1002 | Payment of registration fee | Fee payment year number:1 St.27 status event code:A-2-2-U10-U11-oth-PR1002 | |
| PG1601 | Publication of registration | St.27 status event code:A-4-4-Q10-Q13-nap-PG1601 | |
| PN2301 | Change of applicant | St.27 status event code:A-5-5-R10-R11-asn-PN2301 St.27 status event code:A-5-5-R10-R13-asn-PN2301 | |
| PN2301 | Change of applicant | St.27 status event code:A-5-5-R10-R11-asn-PN2301 St.27 status event code:A-5-5-R10-R13-asn-PN2301 | |
| FPAY | Annual fee payment | Payment date:20151028 Year of fee payment:4 | |
| PR1001 | Payment of annual fee | Fee payment year number:4 St.27 status event code:A-4-4-U10-U11-oth-PR1001 | |
| P22-X000 | Classification modified | St.27 status event code:A-4-4-P10-P22-nap-X000 | |
| PR1001 | Payment of annual fee | Fee payment year number:5 St.27 status event code:A-4-4-U10-U11-oth-PR1001 | |
| P22-X000 | Classification modified | St.27 status event code:A-4-4-P10-P22-nap-X000 | |
| FPAY | Annual fee payment | Payment date:20171011 Year of fee payment:6 | |
| PR1001 | Payment of annual fee | Fee payment year number:6 St.27 status event code:A-4-4-U10-U11-oth-PR1001 | |
| R18-X000 | Changes to party contact information recorded | St.27 status event code:A-5-5-R10-R18-oth-X000 | |
| LAPS | Lapse due to unpaid annual fee | ||
| PC1903 | Unpaid annual fee | Not in force date:20181003 Payment event data comment text:Termination Category : DEFAULT_OF_REGISTRATION_FEE St.27 status event code:A-4-4-U10-U13-oth-PC1903 | |
| PC1903 | Unpaid annual fee | Ip right cessation event data comment text:Termination Category : DEFAULT_OF_REGISTRATION_FEE Not in force date:20181003 St.27 status event code:N-4-6-H10-H13-oth-PC1903 | |
| PN2301 | Change of applicant | St.27 status event code:A-5-5-R10-R11-asn-PN2301 St.27 status event code:A-5-5-R10-R13-asn-PN2301 | |
| PN2301 | Change of applicant | St.27 status event code:A-5-5-R10-R11-asn-PN2301 St.27 status event code:A-5-5-R10-R13-asn-PN2301 | |
| P22-X000 | Classification modified | St.27 status event code:A-4-4-P10-P22-nap-X000 | |
| PN2301 | Change of applicant | St.27 status event code:A-5-5-R10-R11-asn-PN2301 St.27 status event code:A-5-5-R10-R13-asn-PN2301 | |
| R18-X000 | Changes to party contact information recorded | St.27 status event code:A-5-5-R10-R18-oth-X000 |