KR100425681B1 - Apparatus and method for carrying out api of dsm-cc based device - Google Patents

Apparatus and method for carrying out api of dsm-cc based device Download PDF

Info

Publication number
KR100425681B1
KR100425681B1 KR10-2001-0044226A KR20010044226A KR100425681B1 KR 100425681 B1 KR100425681 B1 KR 100425681B1 KR 20010044226 A KR20010044226 A KR 20010044226A KR 100425681 B1 KR100425681 B1 KR 100425681B1
Authority
KR
South Korea
Prior art keywords
directory
dsm
name
resolver
file
Prior art date
Application number
KR10-2001-0044226A
Other languages
Korean (ko)
Other versions
KR20030009670A (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 KR10-2001-0044226A priority Critical patent/KR100425681B1/en
Publication of KR20030009670A publication Critical patent/KR20030009670A/en
Application granted granted Critical
Publication of KR100425681B1 publication Critical patent/KR100425681B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/6433Digital Storage Media - Command and Control Protocol [DSM-CC]
    • 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/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4431OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB characterized by the use of Application Program Interface [API] libraries

Abstract

본 발명은 디에스엠-씨씨 기반 장치의 에이피아이 구현 장치 및 방법에 관한 것으로, 애플리케이션(Application) 태스크로부터 전달받은 경로명 스트링(String)을 분석해서, 경로명의 길이(Depth) 및 디렉토리, 파일명을 스트링 형식으로 저장하는 파저와; 현재 처리(resolve) 중인 디렉토리의 하위 리스트에 있는 디렉토리와 파일명 중에서, 상기 파저에서 분석한 디렉토리나 파일명과 동일한 것을 찾아, 모듈 메니저에서 실제 객체가 저장된 위치를 전달받는 리졸버(resolver)와; 상기 리졸버가 가리키는 위치 정보를 바탕으로, 필요로 하는 객체를 디에스엠-씨씨(DSM-CC) 객체가 저장되어 있는 객체 저장부(Module List Cache)로부터 찾아 전달하는 모듈 메니저와; 상기 리졸버의 동작 중 객체가 존재하지 않는 등의 예외 상황이 발생할 경우 예외 처리를 담당하는 예외 처리부로 구성하여, "Application" 태스크와 "DSM-CC API" 태스크간의 파일 데이터 전송이 단 한 번에 이루어지도록 단축하므로서, 동작 속도를 증가시키고 메모리 사용량 및 시스템에 걸리는 부하를 감소시키는 효과가 있다.The present invention relates to an APIA implementation device and a method of a DSM-CC-based device, and analyzes a path name string received from an application task, and analyzes the path name length, directory, and file name in a string format. A parser for storing as; A resolver that finds the same directory or file name as that parsed by the parser among the directories and file names in the sub-list of the directory currently being resolved, and receives a location where the actual object is stored in the module manager; A module manager for searching for and transferring a required object from a module list cache in which a DSM-CC object is stored, based on the location information indicated by the resolver; When an exception occurs such that no object exists during the operation of the resolver, the exception processing unit is configured to handle exceptions, and file data transfer between the "Application" task and the "DSM-CC API" task is performed at once. By shortening the speed, it increases the speed of operation and reduces the memory usage and the load on the system.

Description

디에스엠-씨씨 기반 장치의 에이피아이 구현 장치 및 방법{APPARATUS AND METHOD FOR CARRYING OUT API OF DSM-CC BASED DEVICE}APPARATUS AND METHOD FOR CARRYING OUT API OF DSM-CC BASED DEVICE}

본 발명은 디지털 티브이 등의 디에스엠-씨씨(DSM-CC : Data Storage Media Command Control) 기반 장치에서 데이터를 수신하기 위해 이용하는 DSM-CC API(Application Programming Interface)에 관한 것으로, 특히 서비스 속도를 개선하기 위한 디에스엠-씨씨(DSM-CC) 기반 장치의 에이피아이(API) 구현 장치 및 방법에 관한 것이다.The present invention relates to a DSM-CC application programming interface (API) used for receiving data from a DSM-CC (Data Storage Media Command Control) -based device such as a digital TV. The present invention relates to an API implementation apparatus and method of a DSM-CC based device.

최근 미국, 일본, 영국 등 전 세계적으로 기존의 아날로그 티브이에서 디지털 티브이로의 전환이 이루어지고 있다.Recently, the transition from the existing analog TVs to digital TVs in the United States, Japan, and the United Kingdom has been made.

디지털 티브이는 신호의 디지털화를 바탕으로 하여 고화질의 영상, 음성을 제공하며, 이 외에도 뉴스, TV 프로그램 안내, 날씨, 게임 등 다양한 데이터 서비스가 가능하다는 특징이 있다.Digital TVs provide high quality video and audio based on the digitization of signals, and in addition, various data services such as news, TV program guide, weather, and games are available.

이러한 데이터 서비스를 제공하기 위하여 디지털 티브이에서는 DSM-CC(Data Storage Media Command Control) 규약(Protocol)을 사용한다.To provide such data services, digital TVs use the Data Storage Media Command Control (DSM-CC) protocol.

이 프로토콜(DSM-CC)은 코바(CORBA)를 기반으로 하여 플랫폼에 구애받지 않고, 같은 API(Application Programming Interface)를 사용하여 로컬, 네트워크, 심지어 지상파나 위성 등을 이용한, 방송에 의한 데이터 전송에 대해서도 사용자가 동일한 API를 이용한 접근이 가능하도록 해 준다는 특징이 있다.This protocol (DSM-CC) is based on CORBA, regardless of platform, and uses the same API (Application Programming Interface) to transmit data by broadcasting using local, network, even terrestrial or satellite. It also features that it allows users to access using the same API.

여기서, DSM-CC(Digital Storage Media-Command and Control)는 MPEG-1 및MPEG-2 비트 스트림을 다루기 위한 제어 기능 및 함수를 정의하고 있는 프로토콜로서, 일반 응용 프로그램, MHEG(Multimedia and Hypermedia Information coding Expert Group) 응용 프로그램 및 스크립트 응용 프로그램 등이 스트림 및 데이터에 접근할 수 있도록 한다.Here, DSM-CC (Digital Storage Media-Command and Control) is a protocol that defines the control functions and functions for handling MPEG-1 and MPEG-2 bit streams, and is a general application, Multimedia and Hypermedia Information coding Expert Group) Allows applications and script applications to access streams and data.

다음, 응용 프로그래밍 인터페이스(API)란, 각기 다른 응용프로그램에서 생성된 어떤 데이터를 다른 어떤 한 응용프로그램이 이용할 수 있도록 만든 정해진 규칙들의 집합으로서 대표적인 규격으로는 OLE, CORBA, Plug-in 등이 있다.Next, an application programming interface (API) is a set of rules that make certain data generated by different applications available to one application. The representative standards include OLE, CORBA, and Plug-in.

현재 유럽에서는 이미 상기 프로토콜(DSM-CC)을 이용한 데이터 방송이 이루어지고 있으며, 티브이 상에 구현되어 있는 MHEG 엔진 등의 애플러케이션(Application)에서 사용되는 파일뿐만 아니라, 자바(Java)를 이용하여 애플러케이션(Application) 자체를 전송하는 서비스도 준비중에 있다.At present, data broadcasting using the protocol (DSM-CC) has already been carried out in Europe, and using Java as well as files used in applications such as the MHEG engine implemented on TV. A service that sends the application itself is also in preparation.

도1은 종래의 "DSM-CC API" 태스크와 "Application" 태스크간의 인터페이스를 보인 예시도이다.1 is an exemplary view showing an interface between a conventional "DSM-CC API" task and an "Application" task.

이에 도시된 바와 같이, "DSM://Dir1/a.mhg"라는 경로명으로 나타내어지는 하나의 파일 객체를 얻기 위해서는 먼저, "GetName() API"를 이용하여 "DSM://"로 나타내어지는 서비스 게이트웨이(Service Gateway) 객체(pSRG)를 얻는다(S11).As shown in this figure, in order to obtain a file object represented by a path name of "DSM: //Dir1/a.mhg", a service represented by "DSM: //" using "GetName () API" is first used. Obtain a gateway (Service Gateway) object (pSRG) (S11).

여기서, 상기 "DSM://"는 도스(DOS) 환경에서 "C://" 또는 "D://"와 같은, DSM-CC에 기반한 일종의 루트 디렉토리(root directory) 이고, 그 이하는 서브 디렉토리가 되는 것이다.Here, "DSM: //" is a kind of root directory based on DSM-CC, such as "C: //" or "D: //" in a DOS environment, and the sub It will be a directory.

다음, 경로명을 분석하여 "Dir1"이라는 디렉토리(Directory) 객체의이름(Name)을 얻은 후(S12), 그 이름으로부터 서비스 게이트웨이의 "resolve() API"를 이용하여 상기 "Dir1"에 해당하는 디렉토리 객체(pDir1)를 얻는다(S13).Next, after analyzing the path name to obtain the name of the directory object "Dir1" (S12), the directory corresponding to "Dir1" using the "resolve () API" of the service gateway from the name. The object pDir1 is obtained (S13).

다음, 마찬가지 방법으로 경로명을 분석하여 "a.mhg"라는 파일(File) 객체의 이름을 얻고(S14), 그 이름으로부터 디렉토리의 "resolve() API"를 이용하여 "a.mhg"에 해당하는 파일 객체(pFile)를 얻는다(S15),Next, the path name is analyzed in the same manner to obtain the name of the file object "a.mhg" (S14), and from that name, the "resolve () API" of the directory corresponds to "a.mhg". Obtain a file object (pFile) (S15),

다음, 상기 파일의 "_get_Content() API"를 이용하여 실제 파일의 내용(pContent)을 얻고(S16), 그 내용(pContent)을 내부 처리 과정을 거쳐 디스플레이 하는 것이다(S17).Next, the content (pContent) of the actual file is obtained using the "_get_Content () API" of the file (S16), and the content (pContent) is displayed through internal processing (S17).

도2는 종래 "DSM-CC API"의 구성을 보인 블록도이다.2 is a block diagram showing the configuration of a conventional "DSM-CC API".

이에 도시된 바와 같이, 리졸버(Resolver)(2)는 "Application"(1)에서 요청한 디렉토리나 파일명과 동일한 것을 찾아, 실제 객체가 저장된 위치를 모듈 메니저(Module Manager)(3)에 요청하여 전달받는다.As shown therein, the resolver 2 finds the same directory or file name as requested by the "Application" 1 and requests the module manager 3 to receive the location where the actual object is stored. .

모듈 메니저(Module Manager)(3)는 리졸버(resolver)(1)가 가리키는 위치 정보를 바탕으로, 여러 객체가 저장된 객체 저장부(Module List Cache)(4)에서 리졸버(2)가 필요로 하는 객체를 전달한다.The module manager (3) is based on the location information pointed to by the resolver (1), the object needed by the resolver (2) in the object list cache (4) that stores several objects To pass.

여기서, 상기 객체 저장부(Module List Cache)(4)는 DSM-CC 객체를 저장하는 수단이다.The object list cache 4 is a means for storing the DSM-CC object.

다음, 도3은 상기 도2에서 리졸버(2)의 동작 과정을 보인 순서도이다.Next, FIG. 3 is a flowchart illustrating an operation of the resolver 2 in FIG.

이에 도시된 바와 같이, 리졸버(2)는 'Application"에서 요청하는 디렉토리 객체(pDir) 및 그 하위 객체에 해당하는 경로명(Path)을 전달받아 이를 처리하기위한 초기화를 수행한다(S21).As shown therein, the resolver 2 receives a directory object (pDir) requested by the 'Application' and a path name (Path) corresponding to the sub-object thereof and performs initialization to process it (S21).

이때, 경로명(Path)은 '/'로 구분된 다중 경로가 아니라, 디렉토리 내에 있는 단일 객체에 대한 경로이다.In this case, the path name is not a multipath separated by '/', but a path to a single object in the directory.

다음, 해당 경로(Path)의 IOR(Inter-Operable Reference : 경로가 전달되는 실제 모듈의 위치)을 탐색한다(S22).Next, an IOR (Inter-Operable Reference: location of an actual module to which a path is delivered) of the corresponding path is searched (S22).

이에 따라, 상기 탐색된 IOR로부터 실제 모듈을 탐색한다(S24).Accordingly, the actual module is searched from the searched IOR (S24).

여기서, 모듈은 일정 경로(디지털 티브이의 경우, 방송 전파)를 통해 "DSM-CC API"로 전달되는 일종의 데이터 패킷으로서, 하나 또는 여러개의 객체(Object)로 이루어져 있으며, 하드웨어에 의존한 레벨에서 수신, 조합된다.Here, the module is a kind of data packet transmitted to the "DSM-CC API" through a certain path (in the case of digital TV, broadcast propagation), and is composed of one or several objects and is received at a hardware dependent level. , Are combined.

다음, 실제 모듈 중에서 IOR을 바탕으로 찾고자 하는 객체(Object)를 탐색한다(S26).Next, the object to be searched is searched based on the IOR among the actual modules (S26).

그 결과, 객체가 있을 경우에는 그 객체를 'Application"에 리턴 해 주고(S28), 객체가 없을 경우에는 "null"값을 리턴 해 준다(S29).As a result, if there is an object, the object is returned to 'Application' (S28), and if there is no object, "null" is returned (S29).

물론, 상기 IOR 탐색이나 모듈 탐색 과정에서 IOR이나 모듈의 탐색 결과가 나오지 않을 경우(S23, S25)에는, 역시 "null" 값을 리턴 해 준다(S29)Of course, if the search result of the IOR or module does not come out during the IOR search or the module search process (S23, S25), it also returns a "null" value (S29).

그러나, 상기와 같은 구조는 "Application"이 실제 파일을 이용하여 수행해야 하는 여러 작업을 할 때마다, 두 태스크(DSM-CC API, Application)간에 여러 번 데이터 전송이 이루어져야 하므로, 처리 속도를 저하시키게 된다.However, the above structure reduces the processing speed since data must be transmitted several times between two tasks (DSM-CC API, Application) whenever "Application" performs a number of tasks that need to be performed using actual files. do.

또한, 여러 가지의 API 에 해당하는 코드를 작성하여야 하므로 코드 크기가 증가되며, 디렉토리와 파일 등 여러 개의 객체를 반드시 생성해 주어야 하므로 필요한 메모리의 양이 증가하게 되는 문제점이 있다.In addition, since the code corresponding to various APIs must be written, the code size is increased, and since a number of objects such as directories and files must be created, the amount of memory required is increased.

따라서, 본 발명은 상기와 같은 종래의 문제점을 해결하기 위하여 창출한 것으로, "DSM-CC" 기반의 장치 및 "Application"에서 "Application" 태스크와 "DSM-CC API" 태스크간의 파일 데이터 전송이 단 한 번에 이루어지도록 단축하므로서, 동작 속도를 증가시키고 메모리 사용량 및 시스템에 걸리는 부하를 감소시키는 효과와, 디지털 티브이의 MHEG 엔진 등 "DSM-CC" 기반의 장치 및 "Application"에 적용하여 설계의 효율성 및 동작 성능을 향상시킬 수 있도록 하기 위한 디에스엠-씨씨(DSM-CC) 기반 장치의 에이피아이(API) 구현 장치 및 방법을 제공함에 그 목적이 있다.Accordingly, the present invention has been created to solve the above-mentioned conventional problems, and the file data transfer between the "Application" task and the "DSM-CC API" task in the "DSM-CC" based device and the "Application" is short. Reduced to one time, increases the operation speed, reduces the memory usage and the load on the system, and design efficiency by applying to "DSM-CC" based devices and applications, such as the digital TV MHEG engine And an apparatus and method for implementing APIs of a DSM-CC based device for improving operation performance.

도 1은 종래의 "DSM-CC API" 태스크와 "Application" 태스크간의 인터페이스를 보인 예시도.1 is an exemplary view showing an interface between a conventional "DSM-CC API" task and an "Application" task.

도 2는 종래 'DSM-CC API'의 구성을 보인 블록도.Figure 2 is a block diagram showing the configuration of a conventional 'DSM-CC API'.

도 3은 상기 도2에서 리졸버의 동작 과정을 보인 순서도.3 is a flowchart illustrating an operation of a resolver in FIG. 2.

도 4는 본 발명에 의한 "DSM-CC API"를 이용할 경우, "Applicaton"과 "DSM-CC API" 태스크간의 인터페이스를 보인 예시도.4 is an exemplary view showing an interface between an "Applicaton" and a "DSM-CC API" task when using the "DSM-CC API" according to the present invention.

도 5는 본 발명에 의한 "DSM-CC API"를 구현하기 위한 기능 블록도.5 is a functional block diagram for implementing the "DSM-CC API" according to the present invention.

도 6은 상기 도5의 구성에 있어서, 파저의 동작을 보인 순서도.FIG. 6 is a flowchart showing the operation of the fuser in the configuration of FIG. 5; FIG.

도 7은 상기 도5의 구성에 있어서, 리졸버의 동작을 보인 순서도.7 is a flowchart showing the operation of the resolver in the configuration of FIG.

도 8은 상기 도5의 구성에 있어서, 예외 처리부의 동작을 보인 순서도.FIG. 8 is a flowchart showing an operation of an exception processing unit in the configuration of FIG. 5. FIG.

*** 도면의 주요 부분에 대한 부호의 설명 ****** Explanation of symbols for the main parts of the drawing ***

10 : 파저 20 : 리졸버10: parser 20: resolver

30 : 예외 처리부30: exception handling unit

이와 같은 목적을 달성하기 위한 본 발명은, 애플리케이션(Application) 태스크로부터 전달받은 경로명 스트링(String)을 분석해서, 경로명의 길이(Depth) 및 디렉토리, 파일명을 스트링 형식으로 저장하는 파저와; 현재 처리(resolve) 중인 디렉토리의 하위 리스트에 있는 디렉토리와 파일명 중에서, 상기 파저에서 분석한 디렉토리나 파일명과 동일한 것을 찾아, 모듈 메니저에서 실제 객체가 저장된 위치를 전달받는 리졸버(resolver)와; 상기 리졸버가 가리키는 위치 정보를 바탕으로, 필요로 하는 객체를 디에스엠-씨씨(DSM-CC) 객체가 저장되어 있는 객체 저장부(Module List Cache)로부터 찾아 전달하는 모듈 메니저와; 상기 리졸버의 동작 중 객체가 존재하지 않는 등의 예외 상황이 발생할 경우 예외 처리를 담당하는 예외 처리부로 구성한 것을 특징으로 한다.The present invention for achieving the above object, the parser for analyzing the path name string (String) received from the Application task, and stores the length (Depth) and directory, file name of the path name in the form of a string; A resolver that finds the same directory or file name as that parsed by the parser among the directories and file names in the sub-list of the directory currently being resolved, and receives a location where the actual object is stored in the module manager; A module manager for searching for and transferring a required object from a module list cache in which a DSM-CC object is stored, based on the location information indicated by the resolver; When an exception occurs, such as an object does not exist during the operation of the resolver, it is characterized by comprising an exception processing unit in charge of exception processing.

이하, 본 발명에 따른 일실시예를 첨부한 도면을 참조하여 상세히 설명하면다음과 같다.Hereinafter, an embodiment according to the present invention will be described in detail with reference to the accompanying drawings.

먼저, 도4는 본 발명에 의한 "DSM-CC API"를 이용할 경우, "Applicaton" 태스크와 "DSM-CC API" 태스크간의 인터페이스를 보인 예시도이다.First, Figure 4 is an exemplary view showing the interface between the "Applicaton" task and the "DSM-CC API" task when using the "DSM-CC API" according to the present invention.

이에 도시한 바와 같이 "Applicaton" 태스크는 "FilePath"로 표시된 스트링(String)을 "DSM-CC API" 태스크에 전달하고, "DSM-CC API" 태스크에서는 도1에 도시된 바와 같은 종래의 "GetName()", "resolve()", "_get_Content()" API 에 해당하는 동작을 자체에서 내부적으로 반복 수행한 후, 최종 결과인 파일 객체(pFile)의 내용을 "Application" 태스크에 전달하는 것이다.As shown in this figure, the "Applicaton" task passes a string represented by "FilePath" to the "DSM-CC API" task, and in the "DSM-CC API" task, the conventional "GetName" as shown in FIG. () "," resolve () "," _get_Content () "Iteratively repeats the operations in itself, and delivers the final result of the file object (pFile) to the" Application "task.

이에 따라, 두 태스크(DSM-CC API, Application)간에는 단 한번의 인터페이스 전송이 이루어져 처리 속도가 향상되고, 또한 여러 가지의 API 에 해당하는 코드 및 디렉토리와 파일 등의 여러 객체를 생성할 필요가 없게되어 필요한 메모리의 양도 감소하게 된다.As a result, only one interface transfer is performed between two tasks (DSM-CC API, Application), thereby improving processing speed and eliminating the need to create various objects such as code, directories, and files corresponding to various APIs. This reduces the amount of memory required.

그럼, 상기와 같이 두 태스크(DSM-CC API, Application)간에 단 한번의 데이터 전송이 이루어지도록 하기 위한 방법을 도5 내지 도8을 참조하여 설명하기로 한다.Then, a method for only one data transmission between two tasks (DSM-CC API, Application) as described above will be described with reference to FIGS.

도5는 본 발명에 의한 "DSM-CC API"를 구현하기 위한 기능 블록도이다.5 is a functional block diagram for implementing the "DSM-CC API" according to the present invention.

여기서, "Application"(1)은 MHEG 등 "DSM-CC API"를 사용하는 임의의 태스크를 나타내며, 파저(Parser)(10)는 상기 "Application" 태스크로부터 전달받은 경로명 스트링(String)을 분석해서, 경로명의 길이(Depth)가 얼마나 되는지를 카운터에 저장하고, 각 디렉토리와 파일명을 스트링 형식으로 저장한다.Here, "Application" 1 represents an arbitrary task using "DSM-CC API" such as MHEG, and Parser 10 analyzes the path name string received from the "Application" task. The counter stores how long the path name depth is, and stores each directory and file name in string format.

다음, 리졸버(Resolver)(20)는 "resolve() API"의 기능을 수행하는 부분으로, 현재 처리(resolve) 중인 디렉토리의 하위 리스트에 있는 디렉토리와 파일명 중에서, 파저(10)에서 분석한 디렉토리나 파일명과 동일한 것을 찾아, 실제 객체가 저장된 위치를 모듈 메니저(Module Manager)(3)에 요청하여 전달받는다.Next, the resolver 20 performs a function of the "resolve () API". Among the directories and file names in the sub-list of the directory currently being resolved, the resolver 20 or the directory analyzed by the parser 10 It finds the same name as the file name and requests the module manager 3 to receive the location where the actual object is stored.

다음, 모듈 메니저(Module Manager)(3)는 리졸버(resolver)(20)가 가리키는 위치 정보를 바탕으로, 여러 DSM-CC 객체가 저장된 객체 저장부(Module List Cache)(4)에서 리졸버(20)가 필요로 하는 객체를 전달한다.Next, the module manager 3 determines the resolver 20 in the module list cache 4 in which several DSM-CC objects are stored, based on the location information indicated by the resolver 20. Pass in the object that is needed.

다음, 객체 저장부(Module List Cache)(4)는 DSM-CC 객체를 저장하는 역할을 하며, 예외 처리부(Exception Handler)(30)는 리졸버(20)의 동작 중 객체가 존재하지 않는 등의 예외 상황이 발생할 경우 예외 처리를 담당한다.Next, the object list cache 4 serves to store the DSM-CC object, and the exception handler 30 exceptions such that no object exists during the operation of the resolver 20. It takes care of exception handling when a situation occurs.

가령, "Application" 태스크에서 "DSM://Dir1/Dir2/File"의 경로명에 해당하는 파일을 요청하는 경우, 본 발명에 의한 "DSM-CC API"의 동작 과정을 살펴보기로 한다.For example, when a file corresponding to a path name of "DSM: // Dir1 / Dir2 / File" is requested by the "Application" task, the operation of the "DSM-CC API" according to the present invention will be described.

먼저, "Application" 태스크는 필요로 하는 객체의 경로명("DSM://Dir1/Dir2/File1")을 스트링 형태로 "DSM-CC API" 에 전달한다.First, the "Application" task passes the path name ("DSM: // Dir1 / Dir2 / File1") of the required object to the "DSM-CC API" as a string.

그러면, 파저(10)는 상기 스트링을 분석하여 경로명의 길이(Depth)가 얼마나 되는지를 카운터(미도시)에 저장하고, 각 디렉토리(Dir1, Dir2)와 파일명(File1)을 스트링 형식으로 저장한다.Then, the parser 10 analyzes the string and stores how long the length of the path name Depth is in a counter (not shown), and stores each directory Dir1 and Dir2 and the file name File1 in a string format.

이 경우 카운터에는 3이 저장되며, "Dir1", "Dir2", "File1"이 따로 스트링으로 저장된다.In this case, 3 is stored in the counter, and "Dir1", "Dir2", and "File1" are stored separately as strings.

다음, 리졸버(20)는 일반 파일 시스템의 루트 디렉토리에 해당하는 서비스 게이트웨이를 모듈 메니저(3)에 요청한다. 이는 "DSM-CC API"의 "GetName() API"에 해당한다.Next, the resolver 20 requests the module manager 3 for a service gateway corresponding to the root directory of the general file system. This corresponds to "GetName () API" of "DSM-CC API".

이에 따라, 모듈 메니저(3)는 객체 저장부(4)에 저장되어 있는 모듈 리스트 중에서 서비스 게이트웨이에 해당하는 객체를 찾아 리졸버(20)에 전달한다.Accordingly, the module manager 3 finds an object corresponding to the service gateway from the module list stored in the object storage unit 4 and delivers the object to the resolver 20.

그러면, 리졸버(20)는 서비스 게이트웨이의 바인딩 리스트(Binding List : 하위 디렉토리나 파일명과의 실제 위치를 묶은 리스트)를 탐색하여 순서에 따라 "Dir1"의 이름을 가진 바인딩의 실제 위치를 찾고, 그 해당 위치를 모듈 메니저(3)에 전달하여 객체를 요청한다.Then, the resolver 20 searches the binding list of the service gateway (Binding List: a list of subdirectories or file names with their actual locations), and finds the actual location of the binding with the name "Dir1" in order. Request the object by passing the location to the module manager (3).

이에 따라, 모듈 메니저(3)는 객체 저장부(4)에서 "Dir1"에 해당하는 객체를 찾아 리졸버(20)에 전달한다.Accordingly, the module manager 3 finds an object corresponding to "Dir1" in the object storage unit 4 and delivers the object to the resolver 20.

이하는 마찬가지 방식으로 디렉토리("Dir2")와 파일("File1")에 해당하는 객체를 찾고, 파일("File1")에 해당하는 객체를 찾으면 리졸버(20)는 파일 객체의 내용을 "Application"(1)에 전달하는 것이다.In the same way, if the object corresponding to the directory ("Dir2") and the file ("File1") is found, and the object corresponding to the file ("File1") is found, the resolver 20 reads the contents of the file object as "Application". (1) to pass.

그런데, 상기 동작 중에 일치하는 바인딩이 존재하지 않거나 실제 위치에 객체가 존재하지 않는 경우, 그에 해당하는 정보가 예외 처리부(30)에 전달되며, 그에 따라 예외 처리부(30)에서는 각각의 경우에 맞는 에러 코드를 "Application"(1)에 전달한다.However, when there is no matching binding or no object exists at the actual location during the operation, the corresponding information is transmitted to the exception processing unit 30, and accordingly the exception processing unit 30 receives an error for each case. Pass the code to "Application" (1).

이때, 모듈 메니저(3) 및 객체 저장부(4)는 그 기능에 있어서, 종래의 동작과 큰 차이가 없다.At this time, the module manager 3 and the object storage unit 4 are not significantly different from the conventional operation in their functions.

따라서, 본 발명에서는 새로 추가되거나 그 기능이 확장된 기능 블록의 동작에 대해서 도6 내지 도8을 참조하여 보다 상세히 설명하기로 한다.Therefore, in the present invention, the operation of a newly added or expanded function block will be described in more detail with reference to FIGS. 6 to 8.

먼저, 도6은 본 발명에 의한 파저(10)의 동작 순서도로서, 초기화 과정이 완료된 후(S31), "Application" 태스크에서 수신된 경로명('/'로 구분된 전체 경로명)으로부터(S32) "strstr()" 함수를 사용하여 '/'로 구분되는 각각의 경로를 분석한다.(S33).First, Figure 6 is a flow chart of the operation of the parser 10 according to the present invention, after the initialization process is completed (S31), from the path name (full path name separated by '/') received in the "Application" task (S32) " Analyzes each path separated by '/' using strstr () "function (S33).

다음, "Strcpy()" 함수를 사용하여 상기 구분된 위치까지의 스트링을 분리하여 개별 경로명에 저장한다(S35).Next, the string up to the separated position is separated using the "Strcpy ()" function and stored in a separate path name (S35).

다음, 카운터를 증가시키고(S36) 다시 '/'로 구분된 경로명을 탐색한다(S33).Next, the counter is incremented (S36) and the path name separated by '/' is searched again (S33).

이 과정은 "strstr()" 함수의 리턴값이 "null"이 될 때 까지 반복 수행하고(S34), 리턴값이 "null"이 되면 경로명의 마지막을 나타내므로 최종 경로명을 저장하고 종료한다(S37, S38).This process is repeated until the return value of the "strstr ()" function is "null" (S34). If the return value is "null", the end of the path name is indicated, so the final path name is saved and terminated (S37). , S38).

이때, 상기 동작 수행을 위해 사용된 함수는 그 기본적인 동작은 같으면서 사용자 또는 시스템에 따라 다른 명칭으로 사용할 수 있음은 자명하다.At this time, it is obvious that the function used to perform the operation may have a different name depending on the user or the system while the basic operation is the same.

다음, 도7은 본 발명에 의한 리졸버(20)의 동작 순서도로서, 먼저 객체(pSRG)에는 "GetName() API"를 호출하여 얻은 서비스 게이트웨이(root directory)를, 나머지 변수는 "null"로 초기화한다(S41).Next, FIG. 7 is an operation flowchart of the resolver 20 according to the present invention. First, an object pSRG is initialized with a service gateway (root directory) obtained by calling the "GetName () API", and the remaining variables are initialized to "null". (S41).

다음, 파저(10)에서 얻은 첫 번째 경로명을 가져와 기존 리졸버와 같은 방식으로 객체의 위치를 탐색한다(S42, S44, S49).Next, the first path name obtained from the parser 10 is taken and the position of the object is searched in the same manner as the existing resolver (S42, S44, S49).

상기 과정을 거쳐 탐색이 완료되면 변수 "i"로 지정된 카운터(미도시)를 증가시키고(S51), 서비스 게이트웨이가 저장된 객체(pDir)를 탐색한 결과 객체로 변경하고, 다음 경로 명을 파저(10)에서 가져와 다음 탐색을 시작한다.When the search is completed through the above process, the counter (not shown) designated by the variable "i" is increased (S51), the service gateway searches for the stored object (pDir), changes the result to the object, and changes the next path name to the parser (10). ) And start the next search.

이에 따라, 카운터가 파저(10)의 "Path_Count"값과 같아지면(S52), 최종 객체(pObj)에서 "_get_Content() API"를 호출하여 객체의 실제 내용을 얻어와 "Application" 태스크로 전달한다(S53).Accordingly, when the counter is equal to the value of "Path_Count" of the parser 10 (S52), the "_get_Content () API" is called from the final object pObj to obtain the actual content of the object and deliver it to the "Application" task. (S53).

한편, 상기 처리(resolve) 과정 중 예외가 발생한 경우(S43, S46, S49), 해당하는 에러 코드(Error_Code)를 해당 예외값으로 세팅한 후, 예외 처리부(Exception Handler)(30)에 전달한다(S45, S47, S50).On the other hand, if an exception occurs during the process (Resolve) (S43, S46, S49), the corresponding error code (Error_Code) is set to the corresponding exception value, and then delivered to the exception handler (Exception Handler) 30 ( S45, S47, S50).

다음, 도8은 본 발명에 의한 예외 처리부(30)의 동작 순서도로서, 먼저 예외 처리부는 에러 코드(Error Code)를 초기화하고(S61), 리졸버(20)에서 에러 코드가 전달되면 이 값에 따라 필요한 여러 가지 처리를 하게 된다(S62).Next, FIG. 8 is an operation flowchart of the exception processing unit 30 according to the present invention. First, the exception processing unit initializes an error code (S61), and when an error code is transmitted from the resolver 20 according to this value. Various processing is necessary (S62).

즉, 상기 에러 코드가 객체 없음을 의미할 경우(Error_Code = No_Object)에는, 해당 객체의 경로는 존재하나 실제 객체의 내용이 존재하지 않는 경우로, 그에 따른 에러 코드를 "Application" 태스크에 전달한다(S64).That is, when the error code means no object (Error_Code = No_Object), the path of the object exists but the actual object content does not exist, and the error code is transmitted to the "Application" task ( S64).

다음, 상기 에러 코드가 경로가 잘못되었음을 의미할 경우(Error_Code = InvalidName)에는, 해당 객체의 경로가 잘못되어 객체를 찾을 수 없는 경우로, 그에 따른 에러 코드를 "Application" 태스크에 전달한다(S65).Next, when the error code means that the path is wrong (Error_Code = InvalidName), the path of the corresponding object is not found and the object is not found. Therefore, the error code is transmitted to the "Application" task (S65).

다음, 상기 에러 코드가 객체 미수신을 의미할 경우(Error_Code = Not_yet_Dnld)에는, 해당 객체가 존재하나 하드웨어 레벨에서 아직 수신이 완료되지 않은 것으로(S66), 이 경우에는 에러 코드를 전달해도 되나 "Application" 태스크의 설계상 편의를 위하여 객체가 수신 완료된 후(S67), 이를 다시 처리(resolve)하여 "Application" 태스크에 전달해 주도록 한다(S68).Next, when the error code means that the object is not received (Error_Code = Not_yet_Dnld), the object exists, but the reception is not yet completed at the hardware level (S66), in this case, the error code may be passed but "Application" For the convenience of designing the task, after the object is received (S67), it is processed again (resolved) and delivered to the "Application" task (S68).

물론, 상기에서 제시하는 예외 처리부의 동작 과정은 일 실시예 일 뿐, 예외 처리는 시스템의 요구에 따라 알맞은 다른 방식으로도 구현할 수 있다.Of course, the above-described operation of the exception processing unit is only an embodiment, and exception handling may be implemented in other manners appropriate to the requirements of the system.

이상에서 설명한 바와 같이 본 발명 디에스엠-씨씨 기반 장치의 에이피아이 구현 장치 및 방법은, "Application" 태스크와 "DSM-CC API" 태스크간의 파일 데이터 전송이 단 한 번에 이루어지도록 단축하므로서, 동작 속도를 증가시키고 메모리 사용량 및 시스템에 걸리는 부하를 감소시키는 효과가 있다.As described above, the AP-implementation apparatus and method of the DSM-C based apparatus of the present invention shortens the file data transfer between the "Application" task and the "DSM-CC API" task to be performed only once, thereby speeding up the operation. Increase the memory usage and reduce the memory usage and load on the system.

또한, 본 발명은 디지털 티브이의 MHEG 엔진 등 "DSM-CC" 기반의 장치 및 "Application"에 적용하여 설계의 효율성 및 동작 성능을 향상시킬 수 있도록 하는 효과가 있다.In addition, the present invention is effective to improve the efficiency and operation performance of the design by applying to the "DSM-CC" -based device and "Application", such as MHEG engine of the digital TV.

Claims (7)

애플리케이션(Application) 태스크로부터 전달받은 경로명 스트링(String)을 분석해서, 경로명의 길이(Depth) 및 디렉토리, 파일명을 스트링 형식으로 저장하는 파저와; 현재 처리(resolve) 중인 디렉토리의 하위 리스트에 있는 디렉토리와 파일명 중에서, 상기 파저에서 분석한 디렉토리나 파일명과 동일한 것을 찾아, 모듈 메니저에서 실제 객체가 저장된 위치를 전달받는 리졸버(resolver)와; 상기 리졸버가 가리키는 위치 정보를 바탕으로, 필요로 하는 객체를 디에스엠-씨씨(DSM-CC) 객체가 저장되어 있는 객체 저장부(Module List Cache)로부터 찾아 전달하는 모듈 메니저와; 상기 리졸버의 동작 중 객체가 존재하지 않는 등의 예외 상황이 발생할 경우 예외 처리를 담당하는 예외 처리부를 포함하여 구성한 것을 특징으로 하는 디에스엠-씨씨 기반 장치의 에이피아이 구현 장치.A parser for analyzing a path name string received from an application task and storing a path name length, a directory, and a file name in a string format; A resolver that finds the same directory or file name as that parsed by the parser among the directories and file names in the sub-list of the directory currently being resolved, and receives a location where the actual object is stored in the module manager; A module manager for searching for and transferring a required object from a module list cache in which a DSM-CC object is stored, based on the location information indicated by the resolver; Appearance device of the SM-C based device, characterized in that configured to include an exception handling unit for handling exceptions when an exception occurs such that the object does not exist during the operation of the resolver. 애플리케이션(Application) 태스크로부터 필요로 하는 객체의 경로명을 스트링 형태로 전달받은 디에스엠-씨씨 에이피아이(DSM-CC API)는, 상기 스트링을 분석하여 경로명의 길이 및 디렉토리, 파일명 등을 스트링 형식으로 저장하는 제1단계와; 현재 처리(resolve) 중인 디렉토리의 하위 리스트에 있는 디렉토리와 파일명 중에서, 상기 제1단계에서 분석한 디렉토리나 파일명과 동일한 것을 찾아, 모듈 메니저로부터 실제 객체가 저장된 위치를 전달받는 제2단계와; 상기 제2단계에서 구한 위치 정보를 바탕으로, 객체 저장부로부터 필요로 하는 실제의 객체를 찾는 제3단계를 포함하여 이루어진 것을 특징으로 하는 디에스엠-씨씨 기반 장치의 에이피아이 구현 방법.The DSM-CC API, which receives the path name of the object required from the application task in the form of a string, analyzes the string and stores the path name length, directory, and file name in a string format. A first step of doing; A second step of finding a directory and a file name of a directory and a file name in a lower list of a directory currently being resolved, the same as the directory or file name analyzed in the first step, and receiving a location where the actual object is stored from the module manager; And a third step of searching for the actual object required from the object storage unit based on the position information obtained in the second step. 제2항에 있어서, 상기 제2단계는 서비스 게이트웨이의 바인딩 리스트(하위 디렉토리나 파일명과의 실제 위치를 묶은 리스트)를 탐색하여 순서에 따라, 디렉토리나 파일의 이름을 가진 바인딩의 실제 위치를 찾고, 그 해당 위치를 바탕으로 필요한 객체를 찾아 애플리케이션 태스크에 전달하는 것을 특징으로 하는 디에스엠-씨씨 기반 장치의 에이피아이 구현 방법.The method of claim 2, wherein the second step searches the binding list of the service gateway (list enclosing the actual location with the subdirectory or file name) and finds the actual location of the binding having the name of the directory or file in order. Appearance method of the APM of the SM-C based device, characterized in that to find the required object based on the location to pass to the application task. 제2항 또는 제3항에 있어서, 상기 제2단계의 동작 중에 일치하는 바인딩이 존재하지 않거나 실제 위치에 객체가 존재하지 않는 등의 예외 상황이 발생할 경우, 각 경우에 해당하는 에러 코드를 애플리케이션 태스크로 전달하는 과정이 추가로 포함되는 것을 특징으로 하는 디에스엠-씨씨 기반 장치의 에이피아이 구현 방법.The application task according to claim 2 or 3, wherein when an exception occurs such that a matching binding does not exist or an object does not exist in a real position during the operation of the second step, an error code corresponding to each case is applied. The method of implementation of APM of the SM-C based device, characterized in that it further comprises a transfer to. 제2항에 있어서, 상기 제1단계는 애플리케이션 태스크에서 수신된 전체 경로 명으로부터 '/'로 구분되는 각각의 스트링을 찾는 제1과정과; 상기 제1과정에서 '/'로 구분된 위치까지의 스트링을 분리하여, 최종 경로 명까지를 순차적으로 개별 경로 명에 저장하는 제2과정으로 이루어진 것을 특징으로 하는 디에스엠-씨씨 기반 장치의 에이피아이 구현 방법.The method of claim 2, wherein the first step comprises: a first step of finding each string separated by '/' from the full path name received by the application task; In the first process, an API of the SM-C based device comprising a second process of separating a string up to a location separated by '/' and sequentially storing the final path name in an individual path name. How to implement. 제4항에 있어서, 상기 리졸브(resolve) 동작 중 발생한 예외 상황이, 해당 객체의 경로는 존재하나 실제 객체의 내용이 존재하지 않는 경우이거나, 해당 객체의 경로가 잘못되어 객체를 찾을 수 없는 경우에는, 그에 따른 에러 코드를 애플리케이션 태스크에 리턴하도록 이루어진 것을 특징으로 하는 디에스엠-씨씨 기반 장치의 에이피아이 구현 방법.The method of claim 4, wherein the exception occurs during the resolve operation when the path of the object exists but the contents of the actual object do not exist, or when the object is not found because the path of the object is incorrect. And a corresponding error code is returned to the application task. 제4항에 있어서, 상기 리졸브 동작 중 발생한 예외 상황이, 해당 객체가 존재하나 하드웨어 레벨에서 아직 수신이 완료되지 않은 경우에는, 객체의 수신이 완료되기를 기다려 이를 다시 리졸브(resolve)한 후, 애플리케이션 태스크에 리턴하도록 이루어진 것을 특징으로 하는 디에스엠-씨씨 기반 장치의 에이피아이 구현 방법.The method of claim 4, wherein, when the object is present but the reception is not completed at the hardware level, the exception occurs during the resolve operation. After waiting for the reception of the object to be completed and resolving it again, A method for implementing APM of a SM-C based device, characterized in that it is configured to return to an application task.
KR10-2001-0044226A 2001-07-23 2001-07-23 Apparatus and method for carrying out api of dsm-cc based device KR100425681B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0044226A KR100425681B1 (en) 2001-07-23 2001-07-23 Apparatus and method for carrying out api of dsm-cc based device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0044226A KR100425681B1 (en) 2001-07-23 2001-07-23 Apparatus and method for carrying out api of dsm-cc based device

Publications (2)

Publication Number Publication Date
KR20030009670A KR20030009670A (en) 2003-02-05
KR100425681B1 true KR100425681B1 (en) 2004-04-03

Family

ID=27716199

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0044226A KR100425681B1 (en) 2001-07-23 2001-07-23 Apparatus and method for carrying out api of dsm-cc based device

Country Status (1)

Country Link
KR (1) KR100425681B1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2357922A (en) * 1941-12-06 1944-09-12 Electronbeam Ltd Electronic translating device
EP0680185A2 (en) * 1994-04-28 1995-11-02 Thomson Consumer Electronics, Inc. A distributed computer system
US5581706A (en) * 1994-06-30 1996-12-03 Rca Thomson Licensing Corporation Method forming an audio/video interactive data signal
KR20000028421A (en) * 1998-10-31 2000-05-25 전주범 Method for transmitting web-type multimedia in digital broadcasting system
KR20010020250A (en) * 1997-05-08 2001-03-15 코야마 리오 Hardware accelerator for an object-oriented programming language
KR20020064426A (en) * 2001-02-01 2002-08-09 엘지전자 주식회사 apparatus and method for scenario search of menu formula

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2357922A (en) * 1941-12-06 1944-09-12 Electronbeam Ltd Electronic translating device
EP0680185A2 (en) * 1994-04-28 1995-11-02 Thomson Consumer Electronics, Inc. A distributed computer system
US5581706A (en) * 1994-06-30 1996-12-03 Rca Thomson Licensing Corporation Method forming an audio/video interactive data signal
KR20010020250A (en) * 1997-05-08 2001-03-15 코야마 리오 Hardware accelerator for an object-oriented programming language
KR20000028421A (en) * 1998-10-31 2000-05-25 전주범 Method for transmitting web-type multimedia in digital broadcasting system
KR100283669B1 (en) * 1998-10-31 2001-03-02 전주범 Web-type multimedia transmission method in digital broadcasting system
KR20020064426A (en) * 2001-02-01 2002-08-09 엘지전자 주식회사 apparatus and method for scenario search of menu formula

Also Published As

Publication number Publication date
KR20030009670A (en) 2003-02-05

Similar Documents

Publication Publication Date Title
EP0996898B1 (en) Using a hierarchical file system for indexing data broadcast to a client from a network of servers
US7140011B2 (en) Dynamically loading program code over a push-based network
KR100940130B1 (en) A method of compiling bytecode to native code
US7836152B2 (en) Methods and systems for adaptive delivery of multimedia contents
US6324637B1 (en) Apparatus and method for loading objects from a primary memory hash index
US20060179465A1 (en) Handling feature availability in a broadcast
EP1083496A1 (en) Transmitter, receiver, transmitter/receiver system, transmission method and reception method
CN1433629A (en) Method and apparatus for efficiently accessing periodically broddcast data
EP1107600A1 (en) Method and system for optimising a data carousel
US20020073218A1 (en) Stream device management system for multimedia clients in a broadcast network architecture
WO2002093846A1 (en) Method of transferring a divided file
US11303969B2 (en) Methods and systems for implementing an elastic cloud based voice search using a third-party search provider
CN106294663A (en) A kind of electronic equipment and application image processing method and system
US7028251B2 (en) System and method for reducing the size of data difference representations
CN103974141A (en) Video automatic skip and playing method, terminal and system
KR100425681B1 (en) Apparatus and method for carrying out api of dsm-cc based device
US20070096952A1 (en) Compressing log files
KR101035107B1 (en) Method for broadcast of an html application
US20080209453A1 (en) System and Method for Reducing the Start-up Time of Mhp Applications
KR20030010748A (en) Service access system
CN1606736A (en) Method and apparatus for obtaining internet content for a wireless device
KR100672405B1 (en) Apparatus and method for user interface in digital TV
US6269476B1 (en) Information processing apparatus, method, and recording medium for recording a computer program to be executed by a computer to carry out processing of constructing software
AU731113B2 (en) Method and system for enabling access to a multimedia document
KR100649717B1 (en) Statistical page prefetching system for performance enhancement in software streaming service and method thereof

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
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: 20080102

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee