KR100723747B1 - Method for generating database in media server - Google Patents

Method for generating database in media server Download PDF

Info

Publication number
KR100723747B1
KR100723747B1 KR20050013693A KR20050013693A KR100723747B1 KR 100723747 B1 KR100723747 B1 KR 100723747B1 KR 20050013693 A KR20050013693 A KR 20050013693A KR 20050013693 A KR20050013693 A KR 20050013693A KR 100723747 B1 KR100723747 B1 KR 100723747B1
Authority
KR
South Korea
Prior art keywords
action
information
media server
response information
called
Prior art date
Application number
KR20050013693A
Other languages
Korean (ko)
Other versions
KR20060092646A (en
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 엘지전자 주식회사
Priority to KR20050013693A priority Critical patent/KR100723747B1/en
Publication of KR20060092646A publication Critical patent/KR20060092646A/en
Application granted granted Critical
Publication of KR100723747B1 publication Critical patent/KR100723747B1/en

Links

Images

Abstract

본 발명은 미디어 서버에서의 데이터베이스 생성 방법에 관한 것이다. 본 발명은, Object의 이름으로 만들 수 있는 정보를 DB에 생성하는 단계; 및 호출된 액션에 응답하기 위한 정보를 상기 DB에 생성하는 단계를 포함하여 이루어지는 것을 특징으로 한다. CDS를 제공하는 미디어 서버가 구동을 시작할 때 공유되는 모든 Object에 대해서 Object 이름으로 만들 수 있는 정보를 DB에 생성하고, Object 내부를 검색해야 하는 정보는 액션이 호출되는 때를 이용하여 DB에 생성한다. 또한, 액션이 호출되는 경우 호출된 액션에 대한 응답 정보가 DB에 존재하는지 확인하고, 존재하지 않는 경우에만 호출된 액션에 대한 응답 정보를 DB에 생성한다. 따라서, DB를 사용하여 CDS를 구현할 때 초기에 DB 작성에 걸리는 시간을 줄이고, Meta 정보에 대한 DB를 효율적으로 생성하게 되는 효과가 있다.The present invention relates to a method for creating a database in a media server. The present invention, generating information in the DB that can be made to the name of the object; And generating information in the DB for responding to the called action. When the media server providing CDS starts to run, it creates information in the DB that can be made into the object name for all the shared objects, and the information that needs to be searched inside the object is created in the DB when the action is called. . In addition, when the action is called, it checks whether the response information for the called action exists in the DB, and generates the response information for the called action only in the DB if it does not exist. Therefore, when implementing CDS using DB, the time taken for initial DB creation is reduced, and the DB for meta information is efficiently generated.

CDS, DB, Browse 액션, Search 액션, 미디어 서버, Object CDS, DB, Browse Action, Search Action, Media Server, Object

Description

미디어 서버에서의 데이터베이스 생성 방법 { Method for generating database in media server }{Method for generating database in media server}

도 1은 CDS에서 제공하는 각 액션이 정보를 얻어오는 영역을 도시한 것이고,1 illustrates an area in which each action provided by the CDS obtains information,

도 2는 각 단계에 따라 생성되는 DB와 도 1의 영역을 연계한 테이블이고,2 is a table in which the DB created in each step and the area of FIG. 1 are associated with each other.

도 3은 각 단계에서 필요로 하는 정보의 종류를 도시한 것이고,3 shows the types of information required in each step,

도 4는 본 발명에 따른 미디어 서버에서의 DB 생성 방법에 따른 동작 흐름도를 도시한 것이다.4 is a flowchart illustrating an operation of a DB generating method in a media server according to the present invention.

본 발명은 CDS(Content Directory Service) 제공하는 미디어 서버에서의 데이터베이스 생성 방법에 관한 것으로, 좀더 상세하게는 CDS를 제공하는 미디어 서버가 UPnP AV 액션의 특성을 이용하여 초기 DB 생성 시간을 효율적으로 줄이는 방법에 관한 것이다.The present invention relates to a method for creating a database in a media server that provides a CDS (Content Directory Service), and more particularly, a method for efficiently reducing an initial DB generation time by using a characteristic of a UPnP AV action in a media server that provides a CDS. It is about.

UPnP(Universal Plug and Play)는 정보 가전이나, 무선 기기, PC 등 모든 종류의 기기들을 연결하는 네트워크 구조이다. 이것은 홈이나 작은 사무실과 같이 관리자가 없는 네트워크에서 사용자의 작업없이 쉽게 표준화된 방법으로 기기간의 연결이나 인터넷으로의 연결을 제공한다.UPnP (Universal Plug and Play) is a network structure that connects all kinds of devices such as information appliances, wireless devices, and PCs. This provides easy connection between devices or the Internet in a standardized way without user intervention on a non-administrator network such as a home or small office.

UPnP는 기존 PC에서 디바이스를 제어하던 플러그 앤 플레이(Plug and Play) 개념을 확장하여 사용자에게 어떤 작업도 요구하지 않고 웹 프로토콜을 사용하여 기기를 네트워크에 접속시킨다. 따라서, 기기는 언제든지 네트워크에 접속할 수 있고 IP 주소나 기능 등을 네트워크에 연결된 다른 기기들에게 알려줄 수 있다. 또한 네트워크에서 빠져나올 때도 다른 기기에 영향을 주지 않고 연결을 해지할 수 있다.UPnP extends the concept of Plug and Play, which used to control devices from traditional PCs, to connect devices to the network using Web protocols without requiring any user intervention. Thus, the device can access the network at any time and can inform other devices connected to the network of the IP address or function. You can also disconnect from the network without affecting other devices.

UPnP 네트워크는 서비스를 제공해주는 디바이스들과 디바이스를 제어하는 CP로 구성된다. 콘트롤 포인트(CP : Control Point)는 네트워크 상의 각종 디바이스 들을 찾아내고(discovery), 그 디바이스들이 무엇을 서비스하는지 알아내서(description), 이들을 제어(control)하고 이벤트를 받게 된다(eventing). 이러한 과정을 거쳐서 UPnP 디바이스들에 대한 정보를 얻은 CP는 UPnP 디바이스에 액션(Action)을 호출하고 UPnP 디바이스가 그에 대해 응답하는 방식으로 동작한다.The UPnP network consists of devices that provide services and CPs that control the devices. A control point (CP) discovers various devices on a network, discovers what those devices serve, controls them, and receives events. Through this process, the CP that has obtained information about the UPnP devices operates by calling an action on the UPnP device and responding to the UPnP device.

CDS(Content Directory Service)는 Browse 액션의 호출에 대한 응답으로 자신이 가지고 있는 콘텐츠의 메타(Meta) 정보를 액션을 호출한 CP에게 전달하게 된다.In response to a call to the Browse action, the CDS (Content Directory Service) delivers meta information of its own content to the CP that called the action.

Meta 정보는 단순하게 파일 이름에서 얻어올 수 있는 경우도 있지만, 실제로 파일의 내용을 검사하여 빼내와야 하는 경우도 있다.Meta information can be obtained simply from the file name, but sometimes the contents of the file must be examined and extracted.

현재 Meta 정보를 획득하기 위한 방법으로는 실시간으로 정보를 얻는 방법과 Meta 정보를 데이터베이스(DB : DataBase)에 적어 두는 방법 또는 파일 형태로 적어 두는 방법이 있다. 실제로 파일 형태로 적어두는 방법과 DB에 적어두는 방법은 파일에 정보를 적어두는 방법으로 통일해서 봐도 큰 문제가 없다. 이유는, DB라는 것도 큰 의미에서 보면 파일에 적어두는 개념이기 때문이다.Current methods for acquiring Meta information include obtaining information in real time, writing Meta information in a database (DB), or writing it in a file form. In fact, the method of writing down the file form and the writing down method in the DB do not have much problem even if they are unified by writing the information in the file. The reason is that DB is also a concept of writing in a file in a big sense.

실시간으로 정보를 얻는 방법과 파일에 적어 두는 방법의 커다란 차이는 디바이스의 전원이 나갔을 때, 정보의 휘발성 유무이다.The big difference between getting information in real time and writing it to a file is whether the information is volatile when the device loses power.

파일에 적어두는 방법은 실제로 해당 파일이 제거되지 않는 이상은 그 정보를 크게 변경할 필요가 존재하지 않는다. 하지만, 실제 파일 시스템에 존재하는 파일에 대한 정보와 파일에 적혀 있는 파일의 정보를 동일하게 공유, 즉 동기화하는데는 문제가 있을 수 있다. 또한 모든 정보를 읽어들이는데 초기에 많은 시간이 걸릴 수 있다는 문제점도 존재한다.Note that there is no need to change the information significantly unless the file is actually removed. However, there may be a problem in sharing, ie, synchronizing, information about a file existing in a real file system with a file information written in a file. There is also a problem that it can take a lot of time initially to read all the information.

반면, 실제 파일 시스템에서 실시간으로 파일의 정보를 읽어오는 방법은 동기를 맞출 수 있는 장점이 있지만, 한 번 사용하고 나면 그 정보가 사라지는 문제가 있다. 짧은 양을 읽어올 때는 소요되는 시간이 짧을 수도 있지만, 짧은 양이더라도 계산을 많이 해야 하는 경우에는 소요되는 시간이 길 수도 있다.On the other hand, the method of reading the information of the file in real time from the real file system has the advantage that it can be synchronized, but there is a problem that the information disappears after one use. It may take a short time to read a short amount, but even a short amount may take a long time if you need to do a lot of calculations.

따라서, 본 발명은 상기와 같은 실정을 감안하여 창작된 것으로서, 본 발명의 목적은 CDS 서비스를 제공하는 서버가 Meta 정보에 대한 DB를 효율적으로 생성하는 방법을 제공하는데 있다.Therefore, the present invention was created in view of the above circumstances, and an object of the present invention is to provide a method for efficiently generating a DB for meta information by a server providing a CDS service.

본 발명의 다른 목적은 CDS 서비스를 제공하는 서버가 초기에 DB를 생성할 때 생성 시간을 줄이는 방법을 제공하는데 있다.Another object of the present invention is to provide a method for reducing a creation time when a server providing a CDS service initially creates a DB.

본 발명의 또 다른 목적은 CDS 서비스를 제공하는 서버가 UPnP 액션의 특성을 활용하여 DB를 생성하는 방법을 제공하는데 있다.Still another object of the present invention is to provide a method of creating a DB by using a feature of a UPnP action, by a server providing a CDS service.

상기한 목적을 달성하기 위해 본 발명에 따른 미디어 서버에서의 DB 생성 방법은, Object의 이름으로 만들 수 있는 정보를 DB에 생성하는 1 단계; 및 호출된 액션에 응답하기 위한 정보를 상기 DB에 생성하는 2 단계를 포함하여 이루어지는 것을 특징으로 한다.In order to achieve the above object, a DB generation method in a media server according to the present invention includes: one step of generating information in a DB that can be created by the name of an object; And generating at the DB information for responding to the called action.

상기 미디어 서버는 CDS를 제공하는 서버이고, 상기 1 단계는 미디어 서버가 시작할 때 수행되는데, 상기 미디어 서버가 Root 아래의 모든 트리에 대해 BrowseDirectChildren 플래그를 갖는 Browse 액션을 반복적으로 호출함으로써 공유되는 모든 Object에 대한 정보를 DB에 생성하는 것을 특징으로 한다. 상기 1 단계에 생성되는 정보에는 Object의 식별자, 타이틀, 클래스가 포함된다.The media server is a server that provides CDS, and the first step is performed when the media server starts up, and the media server is applied to all objects shared by recursively calling the Browse action with the BrowseDirectChildren flag for every tree under Root. It is characterized by generating information about DB. The information generated in the first step includes an object identifier, title, and class.

상기 2 단계는, 호출된 액션에 대한 응답 정보가 DB에 존재하는지 확인하는 단계; 및 상기 응답 정보가 존재하지 않는 경우, 상기 호출된 액션에 대한 응답 정보를 상기 DB에 생성하는 단계를 포함하여 이루어지고, 호출된 액션에 대한 응답 정보가 DB에 존재하는지에 대한 확인은 호출된 액션 및 호출된 액션의 입력 변수의 값을 기초로 이루어지는 것을 특징으로 한다.The second step may include checking whether response information about the called action exists in the DB; And if the response information does not exist, generating response information for the called action in the DB, and checking whether the response information for the called action exists in the DB is called action And based on a value of an input variable of the called action.

액션에 대한 응답 정보는 호출된 액션에 따라 구분되어 DB에 저장되는데, 액션에는 Browse 액션과 Search 액션이 포함되는 것을 특징으로 한다. 또한, 액션에 대한 응답 정보는 호출된 액션에 포함된 입력 변수의 값에 따라 각각 다른 항목으로 DB에 저장되는 것을 특징으로 한다.Response information for the action is classified according to the called action and stored in the DB. The action includes a Browse action and a Search action. In addition, the response information for the action is characterized in that it is stored in the DB as different items according to the value of the input variable included in the called action.

Browse 액션에 대한 응답 정보는 입력 변수인 ObjectID와 BrowseFlag의 값에 따라 다른 항목으로 DB에 저장되는데, BrowseFlag 입력 변수의 값으로 BrowseDirectChildren과 BrowseMetaData에 따라 구분되어 저장되는 것을 특징으로 한다.Response information for the Browse action is stored in DB as different items according to the values of ObjectID and BrowseFlag, which are input variables. The value of the BrowseFlag input variable is distinguished and stored according to BrowseDirectChildren and BrowseMetaData.

Browse 액션에 대한 응답 정보는 입력 변수인 ObjectID와 SortCriteria의 값에 따라 다른 항목으로 DB에 저장되는데, 상기 미디어 서버의 CDS가 지원할 수 있 는 SortCriteria에 대한 값은 GetSortCapabilities 액션을 통해 제공되는 것을 특징으로 한다.The response information for the Browse action is stored in the DB as different items according to the values of ObjectID and SortCriteria, which are input variables. The value of SortCriteria that CDS of the media server can support is provided through the GetSortCapabilities action. .

Search 액션에 대한 응답 정보는 입력 변수인 ObjectID와 검색 변수의 값에 따라 다른 항목으로 DB에 저장되는데, 상기 미디어 서버의 CDS가 지원할 수 있는 검색 변수에 대한 값은 GetSearchCapabilities 액션을 통해 제공되는 것을 특징으로 한다.Response information for the Search action is stored in the DB according to the input variable ObjectID and the value of the search variable. The value of the search variable that can be supported by the media server's CDS is provided through the GetSearchCapabilities action. do.

특정 Container의 고유 식별자와 BrowseDirectChildren을 각각 ObjectID 입력 변수와 BrowseFlag 입력 변수의 값으로 하는 Browse 액션에 대한 응답 정보에는 상기 특정 Container에 포함된 Objects의 개수와 각 Object의 크기, 작성 시간, 및 작성자가 포함되고, AV 미디어 데이터와 관련된 Item의 고유 식별자와 BrowseMetaData를 각각ObjectID 입력 변수와 BrowseFlag 입력 변수의 값으로 하는 Browse 액션에 대한 응답 정보에는 상기 Item에 대한 codec의 종류와 버전, 해상도, 비트 레이트 및 재생 시간이 포함되는 것을 특징으로 한다.The response information for the Browse action using the unique identifier of the specific container and the BrowseDirectChildren as the values of the ObjectID input variable and the BrowseFlag input variable, respectively, includes the number of objects included in the specific container, the size of each object, the creation time, and the creator. The response information for the Browse action, in which the unique identifier of the Item related to the AV media data and the BrowseMetaData are the values of the ObjectID input variable and the BrowseFlag input variable, respectively, includes the codec type, version, resolution, bit rate, and playback time of the item. Characterized in that it is included.

이하, 본 발명의 바람직한 실시예에 대해 첨부 도면을 참조하여 상세히 설명한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

일반적으로 CDS는 파일 시스템(File System)과 연결되어 파일 시스템에 존재하는 콘텐츠에 관한 정보를 소정의 방식으로 표현하여 CP에 알려준다. 소정의 방식이라는 것은 반드시 파일 시스템의 구성법을 따라서 CP에 알려줄 필요는 없다는 의미이다. 예를 들면, 여러 디렉토리에 산재한 파일을 카테고리 별로 나누어 특정 디렉토리에 모아 두는 것도 가능하다.In general, the CDS is connected to a file system and informs the CP by expressing information about contents existing in the file system in a predetermined manner. Predetermined means does not necessarily inform the CP according to the construction of the file system. For example, it is possible to divide files scattered in several directories into categories and group them in a specific directory.

미디어 서버의 두 가지 커다란 역할은, 사용자가 파일 시스템에 존재하는 콘텐츠에 관한 정보를 확인할 수 있도록 하는데 있고, 다른 하나는 콘텐츠를 재생하기 위해 필요한 정보를 CP 또는 렌더러(Renderer)에 전달하는데 있다고 볼 수 있다. 도 3은 이를 보여 주고 있다.The two major roles of the media server are to allow the user to see information about the content that exists in the file system, and the other is to deliver the information needed to play the content to the CP or renderer. have. 3 illustrates this.

즉, 미디어 서버는, 먼저 사용자가 원하는 대상(Object), 즉 콘텐츠를 선택하기 위해 필요한 정보를 제공하고, 사용자가 원하는 Object를 선택하는 경우 또는 사용자가 Object의 재생을 요청하는 경우 선택된 Object의 재생을 위해 필요한 정보를 CP 또는 렌더러에 제공한다.That is, the media server first provides information required for selecting a desired object, that is, a content, and plays the selected object when the user selects the desired object or when the user requests playback of the object. Provide the CP or renderer with the necessary information.

사용자가 Object를 선택하기 위해 필요한 정보에는 ObjectID, Title, Class 정보 등이 있고, Object의 재생에 필요한 정보는 Object에 대한 상세한 속성 정보로, 예를 들어 Object가 AV 미디어 데이터인 경우 Codec의 종류와 버전 등의 Codec에 관한 정보, 해상도, 비트 레이트, 재생 시간 등을 포함한다.Information required for the user to select an object includes ObjectID, Title, Class information, etc., information necessary for the reproduction of the object is detailed attribute information of the object, for example, if the object is AV media data type and version Codec information such as, resolution, bit rate, playback time, and the like.

일반적으로 사용자가 UPnP 네트워크에서 미디어 서버에 저장된 콘텐츠를 렌더러를 통해 재생할 때에는, 미디어 서버에 어떤 Objects가 저장되어 있는지 확인하고, 이중 원하는 Object를 선택하고, 이후 선택한 Object를 렌더러를 통해 재생하는 과정을 거친다.In general, when a user plays content stored in a media server in a UPnP network through a renderer, the user checks which objects are stored in the media server, selects a desired object, and then plays the selected object through the renderer. .

따라서, 사용자가 원하는 Object를 재생하는 단계가 오기까지는 굳이 재생을 위해 필요한 여러 정보를 미리 구해둘 필요가 없다. 물론, 미리 DB에 완벽한 정보를 만들어 두면, Object를 재생하기 전 단계에서도 추가적인 시간의 소비 없이 각 Object의 상세한 정보를 확인할 수 있게 되는 장점이 있다. 하지만, 이런 정보를 구하는데 걸리는 시간이 사용자가 느낄 수 있을 정도인 경우, 이런 정보를 필요로 하지 않는 사용자, 예를 들어 미디어 서버에 어떤 Objects의 타이틀이 저장되어 있는지 정도만 확인하고자 하는 사용자도 서버가 처음 모든 Object에 관한 상세한 정보까지 포함된 DB를 생성하는 동안 기다려야 하는 문제점이 있을 수 있다.Therefore, it is not necessary to obtain various information necessary for playback until the stage of playing the object desired by the user comes. Of course, if you make perfect information in the DB beforehand, there is an advantage that you can check the detailed information of each object without spending additional time even before regenerating the object. However, if the amount of time it takes to obtain this information can be felt by the user, a user who does not need this information, such as a user who only wants to know what Objects' titles are stored on the media server, can also There may be a problem that you have to wait while creating the DB that contains detailed information on all objects.

이런 문제를 해결하기 위해서는, 본 발명에서는 모든 작업을 한 번에 처리하는 방식이 아닌 단계에 따라 분산하여 처리하는 방식을 사용하도록 한다. 이런 방식을 적용할 때, Object의 재생에 필요한 상세한 Meta 정보가 DB에 구축되어 사용자에게 전달되어야 하는 시점은 재생을 하기 바로 전의 시점이라고 할 수 있다.In order to solve such a problem, the present invention uses a method of distributing and processing in steps according to the steps, rather than all of them at once. When this method is applied, the point in time when detailed meta information necessary for the reproduction of the object should be built in the DB and delivered to the user can be said to be just before the reproduction.

UPnP CDS를 제공하는 미디어 서버에 저장되는 Objects는 Browse 액션을 통해서 외부 CP나 렌더러에 보여진다. Browse 액션은, 입력 변수(Input Parameters)로 objected, BrowseFlag, Filter, StartingIndex, RequestedCount, SortCriteria가 있고, 출력 변수로 Result, NumberReturned, TotalMatches가 있다.Objects stored on media servers providing UPnP CDS are shown to external CPs or renderers through the Browse action. Browse actions include objected, BrowseFlag, Filter, StartingIndex, RequestedCount, and SortCriteria as input parameters, and Result, NumberReturned, and TotalMatches as output variables.

CDS의 Object는 Item과 Container 중 어느 하나이다. Item은 하나의 데이터(a single piece of data)를 가리키고, Container는 Objects의 집합이라 할 수 있는데, 간단히 표현하면 Item은 하나의 파일을 그리고 Container는 복수의 파일과 폴더(Folder)를 포함할 수 있는 폴더라 할 수 있다. 각 Container와 Item는 고유의 식별자(ObjectID)로 구별된다.Object of CDS is either Item or Container. An Item refers to a single piece of data, and a Container is a set of objects. In short, an Item can represent a single file and a Container can contain multiple files and folders. It can be called a folder. Each Container and Item are identified by a unique identifier (ObjectID).

특정 Container 내부에 어떤 Container나 Item이 존재하는지 알기 위해서, 특정 Container에 대한 고유 식별자를 입력 변수 objectID의 값으로 하고 BrowseDirectChildren Flag를 입력 변수 BrowseFlag의 값으로 하는 Browse 액션이 호출되어야 한다.To find out which Container or Item exists inside a specific Container, the Browse action should be called with the unique identifier of the specific Container as the value of the input variable objectID and the BrowseDirectChildren Flag as the value of the input variable BrowseFlag.

특정 Container 또는 특정 Item에 대한 상세한 정보를 알기 위해서는, 특정 Container 또는 Item에 대한 고유 식별자를 입력 변수 objectID의 값으로 하고 BrowseMetaData Flag를 입력 변수 BrowseFlag의 값으로 하는 Browse 액션이 호출되어야 한다.To know detailed information about a specific container or a specific item, a Browse action should be called that uses a unique identifier of a specific container or item as the value of an input variable objectID and a BrowseMetaData Flag as the value of an input variable BrowseFlag.

도 1은 CDS에서 제공하는 각 액션이 정보를 얻어오는 영역을 가리키는 도면으로, 액션들이 파일 시스템에 있는 내용에 관한 정보를 얻어올 때 어떤 영역까지 영향을 미치는지를 보여 준다.FIG. 1 is a diagram illustrating an area in which each action provided by the CDS obtains information, and shows an area in which actions affect the action of obtaining information about content in a file system.

일반적으로 BrowseDirectChildren이라는 Flag를 이용하여 Browse 액션을 반복적으로 호출하면, Root로부터 시작해서 모든 트리(Tree)의 마지막 Object까지 검색할 수 있는 기회를 가진다. 하지만, 모든 CP가 이런 식으로 반복적으로 Browse 액션을 요청해서 정보를 얻고 이를 CP에 모아 두는 방식을 사용하지는 않는다.Typically, calling the Browse action repeatedly with a Flag called BrowseDirectChildren gives you the opportunity to search from the root to the last object in every tree. However, not all CPs repeatedly request the Browse action to obtain information and store it in the CP.

Search 액션에 대해서는 특정 속성(Property)과 관련된 Objects 및 그에 관한 정보를 얻기 위해 Root를 중심으로 해서 모든 디렉토리를 검색해야 한다. 하지만, Search 액션은 CDS에서 필수 액션(Required Action)으로 정의되어 있지 않기 때문에, Search 액션의 호출에 의해 루트 아래의 모든 디렉토리에 있는 특정 속성과 관련된 정보를 반드시 얻을 수 있다거나 이에 대한 DB가 반드시 생성된다고 보장할 수 없다.For the Search action, you need to search all directories around Root to get objects and information related to a specific property. However, since the Search action is not defined as a required action in CDS, a call to the Search action can always obtain information related to a specific attribute in all directories under the root, or a DB must be created for it. I can't guarantee it.

본 발명은 도 2에 도시한 바와 같이 4 단계를 두어 순차적으로 DB 테이블을 완성해 가는 방식을 사용하고 있다.In the present invention, as shown in FIG. 2, four steps are used to sequentially complete the DB table.

미디어 서버는, 처음 미디어 서버를 시작할 때 공유되는 디렉토리, 파일 등의 모든 Object를 검사하여 가장 기본이 되는 정보만을 수집한다. 즉, 미디어 서버는 구동 초기에 파일 이름 자체를 가지고 직접적으로 만들 수 있는 정보를 생성한다. 하지만, 파일 내부의 내용을 검색해야 만들 수 있는 정보는 CDS 액션이 호출되는 경우에 생성한다. 각 Container와 Item는 반드시 필요한 요소로 타이틀(dc:title)과 클래스(upnp:class)를 갖는데, 이러한 정보를 레벨 1의 Meta 정보라고 정의한다.The media server examines all objects, such as directories and files shared when the media server first starts, and collects only the most basic information. In other words, the media server generates information that can be created directly with the file name itself at the beginning of startup. However, the information that needs to be retrieved inside the file is generated when the CDS action is called. Each Container and Item have a title (dc: title) and a class (upnp: class) as necessary elements. Such information is defined as Meta information of level 1.

레벨 1의 정보가 존재하면 현재 CDS에 어떤 Objects가 있는지 확인할 수 있다. 하지만, 사용자가 CP의 UI(User Interface)를 통해서 원하는 Object를 선택할 수 있도록, Objects의 사이즈(Size), 작성자, 작성 시간, Objects의 개수 등의 Objects에 관한 추가적인 정보가 필요하게 되는데, 이 정보를 레벨 2의 정보라고 한다. 레벨 2의 정보는, 특정 디렉토리를 중심으로 해서 BrowseDirectChildren Flag를 가지고 Browse 액션을 호출하는 경우에 얻어지는 정보로, 도 1의 영역 2에 포함된 Objects에 관한 정보이다. UI에 표현하기 위해 필요한 정보는 모두 얻어져야 한다.If level 1 information is present, you can see what objects are currently in the CDS. However, in order for the user to select a desired object through the user interface (UI) of the CP, additional information about the objects such as the size of the object, the creator, the creation time, and the number of objects is needed. It is called level 2 information. Level 2 information is information obtained when a Browse action is called with a BrowseDirectChildren Flag centered on a specific directory, and is information about Objects included in area 2 of FIG. All information needed to be presented in the UI must be obtained.

소정의 Container 아래 모든 Object 또는 소정의 Container 바로 아래에 있는 Objects에 대하여, 소정의 속성, 예를 들어 Object의 작성 시간, 크기, 클래스를 기준으로 소트(Sort)를 한다거나 검색(Search)을 하는 경우가 발생한다. 이때 소정의 속성으로 소트 또는 검색된 Objects 및 그에 관한 정보를 레벨 3의 정보라고 한다. 레벨 3의 정보는 도 1의 영역 1 또는 영역 2에 포함된 Objects에 관한 정보이다.Sorting or searching all objects under a given container or objects directly under a given container based on a predetermined attribute, for example, object creation time, size, and class. Occurs. In this case, the objects sorted or searched with a predetermined attribute and information about the same are referred to as level 3 information. Level 3 information is information about Objects included in region 1 or region 2 of FIG.

특정 Container에 대한 고유 식별자를 입력 변수 objectID의 값으로 하고 BrowseDirectChildren Flag를 입력 변수 BrowseFlag의 값으로 하며 소정 속성을 입력 변수 SortCriteria의 값으로 하는 Browse 액션을 호출하는 경우, 상기 특정 Container 내부의 Containers와 Items이 상기 소정 속성 대로 소트된 레벨 3의 정보를 획득한다.When calling the Browse action with the unique identifier of a specific container as the value of the input variable objectID, the BrowseDirectChildren Flag as the value of the input variable BrowseFlag, and the specified property as the value of the input variable SortCriteria, the Containers and Items inside the specific Container Information of level 3 sorted according to the predetermined attribute is obtained.

특정 Container에 대한 고유 식별자를 입력 변수 objectID로 하고 소정 검색 속성을 입력 변수로 하는 Search 액션을 호출하는 경우에도, 상기 특정 Container 내부의 Containers와 Items 중 상기 소정 검색 속성을 갖는 Containers와 Items에 대한 레벨 3의 정보를 획득한다.Level 3 for Containers and Items having the predetermined search attribute among the Containers and Items in the specific Container, even when a Search action is invoked with the unique identifier of the specific Container as the input variable objectID and the predetermined search attribute as the input variable. Obtain information of.

한편, CDS는 소트나 검색 기능을 모든 속성에 대해 제공하는 것은 아니다. 따라서, CP는 GetSortCapabilities와 GetSearchCapabilities 명령을 통해 소트나 검색의 기준이 될 수 있는 속성을 먼저 확인해야 한다. 또한, 미디어 서버는, 소트나 검색된 소정 속성과 소정 Container를 기준으로, 소트나 검색된 결과에 대한 정보를 관리한다.CDS, on the other hand, does not provide sorting or searching for all attributes. Therefore, the CP must first identify attributes that can be sorted or searched through the GetSortCapabilities and GetSearchCapabilities commands. In addition, the media server manages information on the sorted or retrieved results based on the sorted or retrieved predetermined attribute and the predetermined Container.

CDS로부터 원하는 모든 정보를 얻는 시점은 BrowseMetaData Flag를 갖는 Browse 액션을 호출하는 시점이다. BrowseMetaData Flag를 갖는 Browse 액션을 호출함으로써 Object가 가지고 있는 모든 정보, 예를 들면 Codec에 관한 정보, 해상 도, 비트 레이트, 재생 시간 등을 얻게 되는데, 이때 얻게 되는 정보를 레벨 4의 정보라고 하고, 도 1의 영역 3의 Object에 대한 정보이다.The time to get all the information you want from the CDS is to call the Browse action with the BrowseMetaData Flag. By calling the Browse action with the BrowseMetaData Flag, you get all the information that the Object has, for example, information about Codec, resolution, bit rate, playback time, and so on. Information about an object in area 3 of 1.

각 레벨의 정보가 필요한 시점이 모두 다르기 때문에, 특정 액션이 호출되었을 때 어떤 레벨의 정보를 얻어야 하는지에 대한 결정을 해야 한다. 레벨 1, 레벨 2 및 레벨 4에 대해서는 해당 레벨의 정보가 얻어진 경우에 대해서는 같은 정보를 얻기 위한 노력을 하지 않도록 구성한다.Because every level of information needs to be different, you need to decide what level of information to get when a particular action is called. Level 1, Level 2, and Level 4 are configured such that no effort is made to obtain the same information when information of the level is obtained.

레벨 3의 경우는 요청되는 필드, 즉 검색 또는 소트 요청된 Container와 속성에 따라 구해야 하는 정보가 다르기 때문에, 먼저 검색 또는 소트가 요청되는 필드와 일치하는 레벨 3 정보 존재 유무를 확인하고, 존재하지 않는 경우에만 해당 필드에 대한 레벨 3 정보를 생성한다.In the case of level 3, since the information to be obtained is different depending on the requested field, that is, the container and attribute requested to be searched or sorted, first check whether there is a level 3 information that matches the field to be searched or sorted, Only generate level 3 information for that field.

도 4에서는 위에서 설명한 내용을 동작 흐름도를 통하여 표현하고 있다.In FIG. 4, the above description is expressed through an operation flowchart.

미디어 서버가 구동되면, 생성된 DB가 존재하는지 확인하고 DB가 없는 경우에는 Browse 액션을 반복적으로 실행하여 레벨 1의 정보를 생성하여 DB에 추가한다. 그리고, CP 또는 렌더러로부터 CDS 액션이 호출되기를 대기하여, CDS 액션이 호출되면 CDS 액션 종류에 따라 분기하여 해당 레벨의 정보를 생성한다.If the media server is running, check if the created DB exists. If there is no DB, execute the Browse action repeatedly to create level 1 information and add it to the DB. After waiting for the CDS action to be called from the CP or renderer, when the CDS action is called, branching is generated according to the CDS action type to generate information of the corresponding level.

소정 Container에 대해 BrowseDirectChildren Flag를 갖는 Browse 액션이 호출되면, 상기 소정 Container에 대한 레벨 2의 정보가 존재하는지 확인하고 존재하지 않는 경우 해당 레벨 2 정보를 생성하여 DB에 추가하고 결과 XML을 상기 Browse 액션을 호출한 CP나 렌더러에 전송한다.When a Browse action with a BrowseDirectChildren Flag is called for a given container, it checks whether the level 2 information for the given container exists and, if it does not exist, creates the level 2 information and adds it to the DB, and adds the resulting XML to the Browse action. Send to the calling CP or renderer.

소정 Container 또는 Item에 대해 BrowseMetaData Flag를 갖는 Browse 액션이 호출되면, 상기 소정 Container 또는 Item에 대한 레벨 4의 정보가 존재하는지 확인하고 존재하지 않는 경우 해당 레벨 4 정보를 생성하여 DB에 추가하고 결과 XML을 상기 Browse 액션을 호출한 CP나 렌더러에 전송한다.When a Browse action with a BrowseMetaData Flag is called for a given container or item, check whether the level 4 information for the given container or item exists, and if not, create the corresponding level 4 information and add it to the DB and add the resulting XML. Send the Browse action to the CP or renderer that called it.

소정 Container에 대해 BrowseDirectChildren Flag와 소정 속성의 소트 변수를 갖는 Browse 액션이 호출되거나 소정 Container에 대해 소정 속성의 검색 변수를 갖는 Search 액션이 호출되면, 상기 소정 Container와 소정 속성에 대한 레벨 3의 정보가 존재하는지 확인하고 존재하지 않는 경우 해당 레벨 3 정보를 생성하여 DB에 추가하고 결과 XML을 상기 Browse 또는 Search 액션을 호출한 CP나 렌더러에 전송한다.When a Browse action having a sort variable of BrowseDirectChildren Flag and a predetermined property is called for a predetermined container or a Search action having a search variable of a predetermined property is called for a predetermined container, level 3 information on the predetermined container and a predetermined property exists. If it does not exist, the level 3 information is generated and added to the DB, and the resulting XML is transmitted to the CP or renderer that called the Browse or Search action.

액션 호출에 대해 해당 레벨의 정보가 이미 존재하는 경우에는 정보를 DB에 새로 생성하지 않고 결과 XML을 액션을 호출한 CP나 렌더러에 전송한다.If the corresponding level of information already exists for the action call, the resulting XML is not sent to the DB but the resulting XML is sent to the CP or renderer that called the action.

이상, 전술한 본 발명의 바람직한 실시예는 예시의 목적을 위해 개시된 것으로, 당업자라면 이하 첨부된 특허청구범위에 개시된 본 발명의 기술적 사상과 그 기술적 범위 내에서 또 다른 다양한 실시예들을 개량, 변경, 대체 또는 부가 등이 가능할 것이다.As described above, preferred embodiments of the present invention have been disclosed for the purpose of illustration, and those skilled in the art can improve, change, and further various embodiments within the technical spirit and the technical scope of the present invention disclosed in the appended claims. Replacement or addition may be possible.

본 발명에 따라, DB를 사용하여 CDS를 구현하는 구현자가 초기에 DB 작성에 많은 시간이 걸리는 문제점을 해결할 수 있고, UPnP 액션이 호출되는 시점에 따라 다른 종류의 정보를 생성하여 사용자가 DB를 생성하는데 걸리는 시간에 대한 문제를 인식하지 못하도록 하는 효과가 있다.According to the present invention, an implementer who implements CDS using a DB can solve a problem that it takes a long time to create a DB initially, and generate a DB by generating different kinds of information depending on when a UPnP action is called. It is effective in not recognizing the problem of the time it takes.

Claims (19)

Object의 이름으로 만들 수 있는 정보를 DB에 생성하는 1 단계; 및Step 1 of generating information that can be made to the name of the object in the DB; And 호출된 액션에 대한 응답 정보가 DB에 존재하는지 확인하는 2 단계; 및Checking whether the response information for the called action exists in the DB; And 상기 응답 정보가 존재하지 않는 경우, 상기 호출된 액션에 대한 응답 정보를 상기 DB에 생성하는 3 단계를 포함하여 이루어지는 미디어 서버에서의 DB 생성 방법.And generating, in the DB, response information about the called action when the response information does not exist. 제 1항에 있어서,The method of claim 1, 상기 미디어 서버는 CDS를 제공하는 서버인 것을 특징으로 하는 미디어 서버에서의 DB 생성 방법.The media server is a DB generation method in the media server, characterized in that the server for providing a CDS. 제 1항에 있어서,The method of claim 1, 상기 1 단계는 미디어 서버가 시작할 때 수행되는 것을 특징으로 하는 미디어 서버에서의 DB 생성 방법.Wherein the step 1 is performed when the media server starts DB creation method in the media server. 제 1항에 있어서,The method of claim 1, 상기 1 단계에서는 공유되는 모든 Object에 대한 정보가 생성되는 것을 특징으로 하는 미디어 서버에서의 DB 생성 방법.The method of claim 1, wherein the information on all the shared objects is generated. 제 4항에 있어서,The method of claim 4, wherein 상기 미디어 서버가 Root 아래의 모든 트리에 대해 BrowseDirectChildren 플 래그를 갖는 Browse 액션을 반복적으로 호출함으로써 공유되는 모든 Object에 대한 정보를 DB에 생성하는 것을 특징으로 하는 미디어 서버에서의 DB 생성 방법.And generating information on all shared objects in a DB by repeatedly calling the Browse action having a BrowseDirectChildren flag for all the trees under the root. 제 1항에 있어서,The method of claim 1, 상기 1 단계에 생성되는 정보에는 Object의 식별자, 타이틀, 클래스가 포함되는 것을 특징으로 하는 미디어 서버에서의 DB 생성 방법.The information generated in step 1 includes the identifier, title, and class of the object. 삭제delete 제 1항에 있어서,The method of claim 1, 액션에 대한 응답 정보는 호출된 액션에 따라 구분되어 DB에 저장되는 것을 특징으로 하는 미디어 서버에서의 DB 생성 방법.The response information on the action is classified according to the called action and stored in the DB. 제 8항에 있어서,The method of claim 8, 액션에는 Browse 액션과 Search 액션이 포함되는 것을 특징으로 하는 미디어 서버에서의 DB 생성 방법.The action includes a Browse action and a Search action. 제 8항에 있어서,The method of claim 8, 액션에 대한 응답 정보는 호출된 액션에 포함된 입력 변수의 값에 따라 각각 다른 항목으로 DB에 저장되는 것을 특징으로 하는 미디어 서버에서의 DB 생성 방법.The response information on the action is stored in the DB as a different item according to the value of the input variable included in the called action, DB creation method in the media server. 제 10항에 있어서,The method of claim 10, 호출된 액션에 대한 응답 정보가 DB에 존재하는지에 대한 확인은 호출된 액션 및 호출된 액션의 입력 변수의 값을 기초로 이루어지는 것을 특징으로 하는 미디어 서버에서의 DB 생성 방법.And checking whether the response information for the called action exists in the DB based on values of the called action and input variables of the called action. 제 10항에 있어서,The method of claim 10, Browse 액션에 대한 응답 정보는 입력 변수인 ObjectID와 BrowseFlag의 값에 따라 다른 항목으로 DB에 저장되는 것을 특징으로 하는 미디어 서버에서의 DB 생성 방법.The response information for the Browse action is stored in the DB according to the values of ObjectID and BrowseFlag, which are input variables, in the DB. 제 12항에 있어서,The method of claim 12, Browse 액션에 대한 응답 정보는 BrowseFlag 입력 변수의 값으로 BrowseDirectChildren과 BrowseMetaData에 따라 구분되어 DB에 저장되는 것을 특징으로 하는 미디어 서버에서의 DB 생성 방법.The response information of the Browse action is a value of the BrowseFlag input variable and is stored in a DB classified according to BrowseDirectChildren and BrowseMetaData. 제 10항에 있어서,The method of claim 10, Browse 액션에 대한 응답 정보는 입력 변수인 ObjectID와 SortCriteria의 값에 따라 다른 항목으로 DB에 저장되는 것을 특징으로 하는 미디어 서버에서의 DB 생성 방법.The response information for the Browse action is stored in the DB as different items according to the values of ObjectID and SortCriteria as input variables. 제 14항에 있어서,The method of claim 14, 상기 미디어 서버의 CDS가 지원할 수 있는 SortCriteria에 대한 값은 GetSortCapabilities 액션을 통해 제공되는 것을 특징으로 하는 미디어 서버에서의 DB 생성 방법.And a value for SortCriteria that can be supported by the media server's CDS is provided through a GetSortCapabilities action. 제 10항에 있어서,The method of claim 10, Search 액션에 대한 응답 정보는 입력 변수인 ObjectID와 검색 변수의 값에 따라 다른 항목으로 DB에 저장되는 것을 특징으로 하는 미디어 서버에서의 DB 생성 방법.The response information of the search action is stored in the DB as different items according to the input variable ObjectID and the value of the search variable. 제 16항에 있어서,The method of claim 16, 상기 미디어 서버의 CDS가 지원할 수 있는 검색 변수에 대한 값은 GetSearchCapabilities 액션을 통해 제공되는 것을 특징으로 하는 미디어 서버에서의 DB 생성 방법.And a value for a search variable that can be supported by the media server's CDS is provided through a GetSearchCapabilities action. 제 10항에 있어서,The method of claim 10, 특정 Container의 고유 식별자와 BrowseDirectChildren을 각각 ObjectID 입력 변수와 BrowseFlag 입력 변수의 값으로 하는 Browse 액션에 대한 응답 정보에는 상기 특정 Container에 포함된 Objects의 개수와 각 Object의 크기, 작성 시간, 및 작성자가 포함되는 것을 특징으로 하는 미디어 서버에서의 DB 생성 방법.The response information for the Browse action, in which the unique identifier of the specific container and the BrowseDirectChildren are the values of the ObjectID input variable and the BrowseFlag input variable, respectively, includes the number of objects included in the specific container, the size of each object, the creation time, and the creator. DB creation method in the media server, characterized in that. 제 10항에 있어서,The method of claim 10, AV 미디어 데이터와 관련된 Item의 고유 식별자와 BrowseMetaData를 각각ObjectID 입력 변수와 BrowseFlag 입력 변수의 값으로 하는 Browse 액션에 대한 응답 정보에는 상기 Item에 대한 codec의 종류와 버전, 해상도, 비트 레이트 및 재생 시간이 포함되는 것을 특징으로 하는 미디어 서버에서의 DB 생성 방법.The response information for the Browse action, in which the unique identifier of the Item related to the AV media data and the BrowseMetaData are the values of the ObjectID input variable and the BrowseFlag input variable, respectively, includes the codec type, version, resolution, bit rate, and playback time of the item. DB creation method in the media server, characterized in that the.
KR20050013693A 2005-02-18 2005-02-18 Method for generating database in media server KR100723747B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20050013693A KR100723747B1 (en) 2005-02-18 2005-02-18 Method for generating database in media server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20050013693A KR100723747B1 (en) 2005-02-18 2005-02-18 Method for generating database in media server

Publications (2)

Publication Number Publication Date
KR20060092646A KR20060092646A (en) 2006-08-23
KR100723747B1 true KR100723747B1 (en) 2007-05-30

Family

ID=37594004

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20050013693A KR100723747B1 (en) 2005-02-18 2005-02-18 Method for generating database in media server

Country Status (1)

Country Link
KR (1) KR100723747B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010087479A (en) * 2000-02-29 2001-09-21 손희두 Administration method and system of personal information on computer network
KR20040017824A (en) * 2004-01-20 2004-02-27 (주)나우정보통신 Information search system which it follows in the Pattern-Forecast-Analysis to use the pattern of the web document and list

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010087479A (en) * 2000-02-29 2001-09-21 손희두 Administration method and system of personal information on computer network
KR20040017824A (en) * 2004-01-20 2004-02-27 (주)나우정보통신 Information search system which it follows in the Pattern-Forecast-Analysis to use the pattern of the web document and list

Also Published As

Publication number Publication date
KR20060092646A (en) 2006-08-23

Similar Documents

Publication Publication Date Title
US8005856B2 (en) Dynamic selection of media for playback
EP1679827B1 (en) Method and system for presenting a single view of content in a home network
CN104537076B (en) A kind of file read/write method and device
KR100734100B1 (en) Method and apparatus for managing bookmark information for contents stored in a networked media server
JP5005726B2 (en) Managing media files from multiple sources
JP5265549B2 (en) Consolidated Discovery Web Service
JP6062863B2 (en) Method and apparatus for aggregating server-based media content and LAN-based media content to enable efficient search
US20110119233A1 (en) System, method and computer program for synchronizing data between data management applications
EP1607937A1 (en) Information processing device, information processing method, and computer program
US20110055218A1 (en) Accessing content in a network
US20100191806A1 (en) Structure of objects stored in a media server and improving accessibility to the structure
JP2012531688A (en) Method for accessing file system file according to metadata, and apparatus for implementing the method
KR20140041499A (en) Brokered item access for isolated applications
JP2008299817A (en) Information processing system, collection server, information processing method, and program
US9843634B2 (en) Method and apparatus for synchronizing content directory service objects of universal plug and play media servers
US20100250533A1 (en) Generating Recommendations for Content Servers
US11868445B2 (en) Systems and methods for federated searches of assets in disparate dam repositories
CN109756484A (en) Control method, control device, gateway and the medium of gateway based on object storage
KR20080102828A (en) System of constructing metadata corresponding to media contents
KR100723747B1 (en) Method for generating database in media server
KR100717059B1 (en) Method and apparatus for storing a media contents in more than one device in home network
KR100772516B1 (en) Apparatus for automatic creation and managing of contents information for Universal Plug and Play AV Server and method thereof
WO2022031293A1 (en) Systems and methods for federated searches of assets in disparate dam repositories
KR100711337B1 (en) Method for performing synchronization between media servers using UPnP AV bookmark
KR100694157B1 (en) Method and apparatus for managing multimedia contents of home network

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: 20130424

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140424

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150424

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160422

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170414

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee