KR101432989B1 - System for providing code block for separating execution based contents, method thereof and computer recordable medium storing the method - Google Patents

System for providing code block for separating execution based contents, method thereof and computer recordable medium storing the method Download PDF

Info

Publication number
KR101432989B1
KR101432989B1 KR1020100029969A KR20100029969A KR101432989B1 KR 101432989 B1 KR101432989 B1 KR 101432989B1 KR 1020100029969 A KR1020100029969 A KR 1020100029969A KR 20100029969 A KR20100029969 A KR 20100029969A KR 101432989 B1 KR101432989 B1 KR 101432989B1
Authority
KR
South Korea
Prior art keywords
storage device
code block
program
execution
content
Prior art date
Application number
KR1020100029969A
Other languages
Korean (ko)
Other versions
KR20110013184A (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 에스케이플래닛 주식회사
Publication of KR20110013184A publication Critical patent/KR20110013184A/en
Application granted granted Critical
Publication of KR101432989B1 publication Critical patent/KR101432989B1/en

Links

Images

Classifications

    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4627Rights management associated to the content

Abstract

본 발명은 분리 실행 기반의 컨텐츠용 코드 블록 제공 시스템, 그 방법 및 그 방법이 기록된 컴퓨터로 판독 가능한 기록매체에 관한 것으로, 실행형 컨텐츠에 대한 호스트 단말(host terminal)과 저장장치 간의 분리 실행에 필요한 분리 실행 대상 코드 블록을 저장장치에 안정적으로 제공하기 위한 것이다. 본 발명에 따르면, 실행형 컨텐츠의 분리 실행 대상 코드 블록은 저장장치용 프로그램에 포함된 형태로 저장장치에 선발급 또는 후발급 형태로 제공된다. 저장장치가 접속한 호스트 단말로부터 분리 실행 대상 코드 블록이 포함된 저장장치용 프로그램의 설치 요청을 수신한다. 저장장치가 저장장치용 프로그램을 설치하는 과정에서 저장장치용 프로그램에서 분리 실행 대상 코드 블록을 추출한다. 그리고 저장장치가 추출한 분리 실행 대상 코드 블록을 실행 형태로 메모리에 저장한다.[0001] The present invention relates to a system and method for providing a code block for contents based on separation execution, a computer-readable recording medium on which the method is recorded, And to stably provide necessary storage blocks to the storage device. According to the present invention, the code blocks to be separated for execution of executable contents are provided in a storage device in a form of being included in a program for a storage device in a form of a start-up class or a later-issued class. From the host terminal connected to the storage device, a request for installing the storage device program including the detachment object code block. In the process of installing the storage device program, the storage device extracts the detachment object code block from the storage device program. Then, the separation execution target code block extracted by the storage device is stored in an execution form in the memory.

Figure R1020100029969
Figure R1020100029969

Description

분리 실행 기반의 컨텐츠용 코드 블록 제공 시스템, 그 방법 및 그 방법이 기록된 컴퓨터로 판독 가능한 기록매체{System for providing code block for separating execution based contents, method thereof and computer recordable medium storing the method}BACKGROUND OF THE INVENTION 1. Field of the Invention [0001] The present invention relates to a system and method for providing code blocks for contents based on separation execution, a computer-readable recording medium having recorded thereon a method,

본 발명은 컨텐츠의 복제 방지 기술에 관한 것으로, 더욱 상세하게는 실행형 컨텐츠에 대한 호스트 단말과 저장장치 간의 분리 실행에 필요한 분리 실행 대상 코드 블록을 저장장치용 프로그램에 포함시켜 저장장치에 제공하는 분리 실행 기반의 컨텐츠용 코드 블록 제공 시스템, 그 방법 및 그 방법이 기록된 컴퓨터로 판독 가능한 기록매체에 관한 것이다.The present invention relates to a technique for preventing copying of content, and more particularly, to a technology for preventing copying of contents by dividing a code block for execution to be separated for execution of a host terminal and a storage device An execution-based code block providing system for contents, a method thereof, and a computer-readable recording medium on which the method is recorded.

일반적으로 호스트 단말은 운영체제 위에 복수의 컨텐츠가 설치된다. 컨텐츠는 디지털 형태로 저장되고 유통되는 디지털 저작물로서, 소프트웨어, 응용프로그램, 멀티미디어 데이터 등을 포함한다. 예컨대 사용자는 호스트 단말에 설치된 각종 컨텐츠를 이용하여 문서편집, 영상편집, 게임 등을 수행할 수 있다.Generally, a plurality of contents are installed on an operating system of a host terminal. Content is a digital work that is stored and distributed in digital form and includes software, application programs, multimedia data, and the like. For example, the user can perform document editing, image editing, game, and the like using various contents installed in the host terminal.

이와 같은 컨텐츠는, 무료로 사용할 수 있는 컨텐츠도 있지만, 온오프라인에서 유료로 판매되고 있다. 사용자는 필요한 컨텐츠를 구매하고, 구매한 컨텐츠를 호스트 단말에 설치함으로써 사용하게 된다. 컨텐츠는 인증번호를 통한 인증을 통과하게 되면, 호스트 단말에 설치된다. 통상적으로 인증번호는 구매한 컨텐츠와 함께 제공된다.Some of these contents are available for free, but they are sold on-line and off-line for a fee. The user purchases necessary contents and installs the purchased contents in the host terminal. The content is installed in the host terminal when it passes the authentication through the authentication number. The authentication number is usually provided with the purchased content.

이와 같은 인증번호를 이용한 인증 방식의 컨텐츠는 해킹에 쉽게 노출되는 문제점을 안고 있다. 즉 해당 프로그램의 인증번호가 해킹되거나, 인증을 우회할 수 있는 코드가 해당 컨텐츠에 추가될 경우, 해당 컨텐츠를 구매하지 않은 사람들도 복제된 컨텐츠를 호스트 단말에 설치하여 무단으로 사용할 수 있다.The contents of the authentication method using the authentication number have a problem that they are easily exposed to hacking. That is, when a code capable of hacking the authentication number of the program or bypassing the authentication is added to the content, persons who have not purchased the content can install the copied content in the host terminal and use the content without permission.

이와 같은 컨텐츠의 무단 사용으로 인한 컨텐츠 제공자(content provider; CP)의 피해가 증가하고 있는 실정이다. 컨텐츠의 무단 사용은 컨텐츠 제공자의 컨텐츠의 개발 의욕을 떨어뜨리는 요인으로 작용하고 있다.The content provider (CP) is increasingly damaged by unauthorized use of such contents. The unauthorized use of the content is a factor that deteriorates the development intention of the contents provider.

또한 컨텐츠 제공자는 개발한 컨텐츠의 무단 복제를 억제하기 위한 보안 방법에도 주의를 기울어야 하기 때문에, 컨텐츠 개발에 많은 비용이 소요되어 컨텐츠 제공자에게 부담으로 작용하고 있는 실정이다.In addition, since the content provider must pay attention to the security method for suppressing the unauthorized copying of the developed content, it takes a lot of cost to develop the content, which is a burden on the content provider.

따라서 본 발명의 목적은 컨텐츠의 복제를 억제하기 위해서, 실행형 컨텐츠에 대한 호스트 단말과 저장장치 간의 분리 실행 시 안정적인 실행 환경을 제공할 수 있는 분리 실행 대상 코드 블록을 저장장치로 제공할 수 있는 분리 실행 기반의 컨텐츠용 코드 블록 제공 시스템, 그 방법 및 그 방법이 기록된 컴퓨터로 판독 가능한 기록매체를 제공하기 위한 것이다.It is therefore an object of the present invention to provide a method and system for separating executable content, which can provide a stable execution environment for executing execution of separation between a host terminal and a storage device, An execution-based content code block providing system, a method thereof, and a computer-readable recording medium on which the method is recorded.

본 발명의 다른 목적은 분리 실행 대상 코드 블록을 저장장치로 제공하는 과정에서 서버, 호스트 단말 및 저장장치 간의 신호 처리 속도가 지연되는 것을 억제할 수 있는 분리 실행 기반의 컨텐츠용 코드 블록 제공 시스템, 그 방법 및 그 방법이 기록된 컴퓨터로 판독 가능한 기록매체를 제공하기 위한 것이다.It is another object of the present invention to provide a code block providing system for content-based content that can suppress a delay in signal processing speed between a server, a host terminal and a storage device in a process of providing a code block to be separated, And a computer-readable recording medium on which the method is recorded.

본 발명의 또 다른 목적은 저장장치에 저장장치용 프로그램을 설치하는 과정에서 분리 실행 대상 코드 블록을 저장장치로 제공할 수 있도록 분리 실행 대상 코드 블록을 저장장치용 프로그램에 포함시켜 저장장치로 제공하는 분리 실행 기반의 컨텐츠용 코드 블록 제공 시스템, 그 방법 및 그 방법이 기록된 컴퓨터로 판독 가능한 기록매체를 제공하기 위한 것이다.It is still another object of the present invention to provide a separation execution object code block in a storage device so as to provide a separation execution object code block to a storage device in a process of installing a storage device program in the storage device, A code block providing system for content-based content execution, a method thereof, and a computer-readable recording medium on which the method is recorded.

상기 목적을 달성하기 위하여, 본 발명은 호스트 단말 및 저장장치를 포함하는 분리 실행 기반의 컨텐츠용 코드 블록 제공 시스템을 제공한다. 호스트 단말은 실행형 컨텐츠의 분리 실행 대상 코드 블록이 포함된 저장장치용 프로그램을 통신인터페이스로 연결된 저장장치로 전송한다. 그리고 저장장치는 호스트 단말로부터 저장장치용 프로그램을 수신하고, 수신한 저장장치용 프로그램을 설치하는 과정에서 저장장치용 프로그램에서 분리 실행 대상 코드 블록을 추출하고, 추출한 분리 실행 대상 코드 블록을 실행 형태로 저장한다.According to an aspect of the present invention, there is provided a system for providing a code block for content based on separation execution including a host terminal and a storage device. The host terminal transfers the program for the storage device including the code block for executing the execution of the executable content to the storage device connected through the communication interface. The storage device receives the program for the storage device from the host terminal, extracts the detachment object code block from the storage device program in the process of installing the received storage device program, and extracts the extracted detachment object code block in an execution form .

본 발명은 또한, 송수신부, 데이터베이스부 및 서버제어부를 포함하는 분리 실행 기반의 DRM 서버를 제공한다. 송수신부는 컨텐츠 등록 서버와 통신을 수행한다. 데이터베이스부는 저장장치용 프로그램을 저장한다. 그리고 서버제어부는 송수신부를 통하여 컨텐츠 등록 서버로부터 실행형 컨텐츠의 분리 실행 대상 코드 블록을 수신하고, 수신한 분리 실행 대상 코드 블록을 저장장치용 프로그램에 포함시킨다.The present invention also provides a DRM-based DRM server including a transmission / reception unit, a database unit, and a server control unit. The transmission / reception unit communicates with the content registration server. The database unit stores a program for a storage device. The server control unit receives the execution target code block of execution content from the content registration server via the transmission / reception unit, and includes the received separation execution target code block in the storage device program.

본 발명은 또한, 저장부, 통신인터페이스부, 저장장치용 프로그램 처리부 및 분리 실행 대상 코드 블록 처리부를 포함하는 분리 실행 기반의 저장장치를 제공한다. 통신인터페이스부는 호스트 단말과 통신을 수행하며, 호스트 단말로부터 실행형 컨텐츠의 분리 실행 대상 코드 블록이 포함된 저장장치용 프로그램의 설치 요청을 수신한다. 저장장치용 프로그램 처리부는 통신인터페이스부로부터 설치 요청을 전달받아 실행형 컨텐츠의 분리 실행 대상 코드 블록이 포함된 저장장치용 프로그램을 설치하는 과정에서 저장장치용 프로그램에서 분리 실행 대상 코드 블록을 추출한다. 그리고 분리 실행 대상 코드 블록 처리부는 저장장치용 프로그램 처리부로부터 추출된 분리 실행 대상 코드 블록을 전달받아 실행 형태로 저장부에 저장한다.The present invention also provides a separate execution-based storage device including a storage section, a communication interface section, a program processing section for a storage device, and a code block processing section for executing a separation. The communication interface unit communicates with the host terminal, and receives a request to install a program for a storage device that contains a code block to be executed for executing executable content from the host terminal. The program processing unit for the storage device receives the installation request from the communication interface unit and extracts the code block to be separated from the program for the storage device in the process of installing the program for the storage device including the code block for execution of the executable content. The separation execution object code block processing unit receives the separation execution object code block extracted from the storage device program processing unit and stores it in the storage unit in an execution form.

본 발명에 따른 분리 실행 기반의 저장장치에 있어서, 통신인터페이스부는 호스트 단말로부터 실행형 컨텐츠의 분리 실행 대상 코드 블록이 포함된 저장장치용 프로그램을 수신하여 저장장치용 프로그램 처리부로 전달할 수 있다.In the storage-based storage device according to the present invention, the communication interface unit may receive a program for a storage device including a code block to be executed for executing executable content from the host terminal, and transfer the program to the program processing unit for the storage device.

본 발명에 따른 분리 실행 기반의 저장장치에 있어서, 저장부에 실행형 컨텐츠의 분리 실행 대상 코드 블록이 포함된 저장장치용 프로그램이 기 저장되어 있다.In the storage-based storage device according to the present invention, a program for a storage device including a code block to be separated for execution of executable content is stored in the storage unit.

본 발명에 따른 분리 실행 기반의 저장장치에 있어서, 통신인터페이스부를 통하여 호스트 단말에 접속하면 저장장치용 프로그램 처리부는 기 저장된 저장장치용 프로그램의 설치 여부를 호스트 단말로 질의하고, 질의에 대한 응답으로 설치 요청을 수신하면 기 저장된 저장장치용 프로그램에서 분리 실행 대상 코드 블록을 추출할 수 있다.In the storage-based storage device according to the present invention, when the storage device program is connected to the host terminal through the communication interface unit, the program processing unit for storage device inquires of the host terminal whether or not to install the stored storage device program, Upon receipt of the request, the detachment object code block can be extracted from the pre-stored storage device program.

본 발명은 또한, 저장장치가 접속한 호스트 단말로부터 실행형 컨텐츠의 분리 실행 대상 코드 블록이 포함된 저장장치용 프로그램의 설치 요청을 수신하는 수신 단계, 저장장치가 저장장치용 프로그램을 설치하는 과정에서 저장장치용 프로그램에서 분리 실행 대상 코드 블록을 추출하는 추출 단계, 저장장치가 추출한 분리 실행 대상 코드 블록을 실행 형태로 저장하는 저장 단계를 포함하는 분리 실행 기반의 컨텐츠용 코드 블록 제공 방법을 제공한다.The present invention also relates to a method comprising: a receiving step of receiving an installation request for a storage device program including a code block to be executed for executing executable content from a host terminal connected to the storage device; An extraction step of extracting a separation execution object code block in a storage device program, and a storage step of storing a separation execution object code block extracted by the storage device in an execution form.

본 발명에 따른 분리 실행 기반의 컨텐츠용 코드 블록 제공 방법에 있어서, 수신 단계에서, 저장장치가 접속한 호스트 단말로부터 실행형 컨텐츠의 분리 실행 대상 코드 블록이 포함된 저장장치용 프로그램을 수신할 수 있다.In the method of providing a code block for content based on separation execution according to the present invention, in a receiving step, a storage device containing a code block to be separated for executing executable content may be received from a host terminal connected to the storage device .

본 발명에 따른 분리 실행 기반의 컨텐츠용 코드 블록 제공 방법에 있어서, 수신 단계 이전에 수행되는, 저장장치가 호스트 단말에 접속하면, 저장장치에 기 저장된 실행형 컨텐츠의 분리 실행 대상 코드 블록의 설치 여부를 호스트 단말에 질의하는 단계를 더 포함할 수 있다. 이때 수신 단계에서 저장장치가 질의에 대한 응답으로 호스트 단말로부터 설치 요청을 수신할 수 있다.In the method of providing a code block for contents based on separation execution according to the present invention, when a storage device is connected to a host terminal, which is performed before a receiving step, whether a code block to be separated for execution content stored in the storage device is installed To the host terminal. At this time, in the receiving step, the storage device can receive the installation request from the host terminal in response to the inquiry.

본 발명에 따른 분리 실행 기반의 컨텐츠용 코드 블록 제공 방법에 있어서, 수신 단계와 추출 단계 사이에 수행되는, 저장장치가 기 저장된 실행형 컨텐츠의 분리 실행 대상 코드 블록이 포함된 저장장치용 프로그램을 호출하는 호출 단계를 더 포함할 수 있다.A method of providing a code block for content based on separation execution according to the present invention is characterized by comprising the steps of: And a calling step of receiving a call request message.

본 발명에 따른 분리 실행 기반의 컨텐츠용 코드 블록 제공 방법에 있어서, 저장 단계는, 저장장치가 추출한 분리 실행 대상 코드 블록을 저장할 만큼 남은 메모리의 용량이 충분한 지를 확인하는 단계, 확인 결과 충분한 경우, 저장장치가 추출한 분리 실행 대상 코드 블록을 실행 형태로 메모리에 저장하는 단계를 포함할 수 있다.In the method of providing a code block for content based on separation execution according to the present invention, the storing step may include: checking whether the capacity of the remaining memory is sufficient to store the code block to be separated, extracted by the storage device; And storing the detachment execution target code block extracted by the device in an execution form in a memory.

본 발명에 따른 분리 실행 기반의 컨텐츠용 코드 블록 제공 방법에 있어서, 확인 결과 부족한 경우, 저장장치가 메모리 부족 메시지를 호스트 단말로 전송하는 단계, 저장장치가 호스트 단말로부터 메모리 확보 요청 메시지를 수신하여 부족한 메모리 용량을 확보하는 단계, 저장장치가 추출한 분리 실행 대상 코드 블록을 실행 형태로 메모리에 저장하는 단계를 더 포함할 수 있다.In the method of providing a code block for contents based on separation execution according to the present invention, when the storage device receives an insufficient memory message from the host terminal, A step of securing a memory capacity, and a step of storing a code block to be separated for execution extracted by the storage device in an execution form in a memory.

본 발명에 따른 분리 실행 기반의 컨텐츠용 코드 블록 제공 방법에 있어서, 메모리 확보 요청 메시지는 저장장치에 저장된 정보에 대한 삭제 요청 메시지를 포함할 수 있다.In the method of providing a code block for contents based on separation execution according to the present invention, the memory reservation request message may include a deletion request message for information stored in the storage device.

본 발명에 따른 분리 실행 기반의 컨텐츠용 코드 블록 제공 방법에 있어서, 메모리 확보 요청 메시지는 설치할 저장장치용 프로그램에 대응하는 기 저장된 저장장치용 프로그램의 삭제 요청 메시지를 포함할 수 있다.In the method of providing a code block for contents based on a separation execution according to the present invention, the memory reservation request message may include a deletion request message of a program for a storage device corresponding to a storage device to be installed.

본 발명에 따른 분리 실행 기반의 컨텐츠용 코드 블록 제공 방법에 있어서, 저장장치용 프로그램은 인스톨(install) 또는 갱신(update)용 프로그램을 포함할 수 있다.In the method of providing a code block for contents based on separation execution according to the present invention, a program for a storage device may include a program for installing or updating.

본 발명에 따른 분리 실행 기반의 컨텐츠용 코드 블록 제공 방법에 있어서, 분리 실행 대상 코드 블록은 저장장치에서 실행할 수 있는 저장장치용 코드 블록으로 변환되어 있다.In the method of providing a code block for content based on separation execution according to the present invention, the code block to be separated is converted into a code block for a storage device executable in the storage device.

본 발명에 따른 분리 실행 기반의 컨텐츠용 코드 블록 제공 방법에 있어서, 저장장치가 자바 카드 플랫폼(Java Card Platform)을 기반으로 하는 경우, 저장장치용 프로그램은 애플릿(applet)이며, 분리 실행 대상 코드 블록은 Java Byte 코드 블록 또는 ARM용 코드 블록으로 변환되어 있다.In the method of providing a code block for contents based on separation execution according to the present invention, when a storage device is based on a Java Card Platform, a program for a storage device is an applet, Is converted into a Java Byte code block or a code block for ARM.

그리고 본 발명은 또한, 전술된 분리 실행 기반의 컨텐츠용 코드 블록 제공 방법이 기록된 컴퓨터로 판독 가능한 기록매체를 제공한다.The present invention also provides a computer-readable recording medium having recorded thereon a method for providing code blocks for contents based on the above-described separation execution.

따라서 본 발명에 따르면, 실행형 컨텐츠에 대한 호스트 단말과 저장장치 간의 분리 실행 시 안정적인 실행 환경을 제공할 수 있는 분리 실행 대상 코드 블록을 저장장치용 프로그램에 포함시켜 저장장치로 제공할 수 있다.Therefore, according to the present invention, it is possible to provide a storage-purpose program block including a detachment-target code block capable of providing a stable execution environment when the host terminal and the storage device execute separate execution of executable-type content.

그리고 저장장치용 프로그램에 포함되어 제공된 분리 실행 대상 코드 블록은 해당 저장장치용 프로그램을 설치하는 과정에서 분리되어 메모리에 실행 형태로 저장할 수 있기 때문에, 분리 실행 대상 코드 블록을 저장장치로 제공하는 과정에서 서버, 호스트 단말 및 저장장치 간의 신호 처리 속도가 지연되는 문제를 억제할 수 있다. 즉 분리 실행 대상 코드 블록은 저장장치용 프로그램에 포함되어 제공되기는 하지만, 프로그램 형태가 아닌 바이너리 코드 형태로 저장장치에 제공되기 때문에, 분리 실행 대상 코드 블록을 메모리에 저장하는 과정에서 속도 지연이나 부하가 발생되는 것을 억제할 수 있다.Since the detachment execution target code block included in the program for the storage device can be stored separately in the memory in the process of installing the program for the storage device, in the process of providing the detachment object code block to the storage device It is possible to suppress the problem that the signal processing speed between the server, the host terminal, and the storage device is delayed. That is, although the code block to be separated is provided as a program for a storage device, it is provided in the storage device in binary code form instead of a program form. Therefore, in the process of storing the code block to be detached, Can be suppressed.

도 1은 본 발명의 실시예에 따른 분리 실행 기반의 컨텐츠용 코드 블록 제공 시스템을 포함하는 디지털 저작권 관리(digital rights management; DRM) 시스템을 보여주는 블록도이다.
도 2는 실행형 컨텐츠의 데이터 구조를 보여주는 블록도이다.
도 3은 실행형 컨텐츠에서 분할된 분리 실행 대상 코드 블록과, 서비스용 컨텐츠의 구성을 보여주는 블록도이다.
도 4는 도 1의 DRM 서버의 구성을 보여주는 블록도이다.
도 5는 도 1의 컨텐츠 분배 서버의 구성을 보여주는 블록도이다.
도 6은 도 1의 호스트 단말의 구성을 보여주는 블록도이다.
도 7은 도 1의 저장장치의 구성을 보여주는 블록도이다.
도 8은 본 발명의 실시예에 따른 분리 실행 기반의 컨텐츠용 코드 블록 제공 방법의 일 예에 따른 흐름도이다.
도 9는 도 8의 분리 실행 대상 코드 블록을 저장하는 단계에 따른 상세흐름도이다.
도 10은 본 발명의 실시예에 따른 분리 실행 기반의 컨텐츠용 코드 블록 제공 방법의 다른 예에 따른 흐름도이다.
1 is a block diagram illustrating a digital rights management (DRM) system including a system for providing code blocks for content based on a separation execution according to an embodiment of the present invention.
2 is a block diagram showing the data structure of executable content.
Fig. 3 is a block diagram showing a configuration of a code block for separation execution and a content for service divided in execution-type content; Fig.
4 is a block diagram illustrating a configuration of the DRM server of FIG.
5 is a block diagram illustrating the configuration of the content distribution server of FIG.
6 is a block diagram showing the configuration of the host terminal of FIG.
FIG. 7 is a block diagram showing the configuration of the storage device of FIG. 1; FIG.
FIG. 8 is a flowchart illustrating a method of providing a code block for contents based on separation execution according to an embodiment of the present invention.
FIG. 9 is a detailed flowchart according to the step of storing the code block for separation execution in FIG.
10 is a flowchart illustrating another example of a method of providing a code block for content based on separation execution according to an embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 실시예를 보다 상세하게 설명하자고 한다. 여기서 실행형 컨텐츠는 프로세서를 구비한 호스트 단말 또는 저장장치에서 실행할 수 있는 컨텐츠로서, 예컨대 응용프로그램, 게임 프로그램, 각종 소프트웨어를 포함할 수 있다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. Here, the executable content may be content that can be executed by a host terminal or a storage device having a processor, for example, an application program, a game program, and various software.

본 발명의 실시예에 따른 분리 실행 기반의 디지털 저작권 관리(digital rights management; DRM) 시스템(100)은, 도 1 내지 도 3에 도시된 바와 같이, 네트워크(60)를 매개로 연결된 컨텐츠 제공 단말(10), 컨텐츠 등록 서버(20), DRM 서버(40), 컨텐츠 분배 서버(50), 호스트 단말(70)과, 호스트 단말(70)에 통신인터페이스(90)를 매개로 연결된 저장장치(80)를 포함하여 구성된다. 특히 분리 실행 기반의 DRM 시스템(100)은 분리 실행 대상 코드 블록(34)을 저장장치(80)에 제공하는 코드 블록 제공 시스템을 포함한다. 코드 블록 제공 시스템은 호스트 단말(70) 및 저장장치(80)를 포함하여 구성된다.The digital rights management (DRM) system 100 according to the embodiment of the present invention may include a content providing terminal 100 connected via a network 60, 10, a content registration server 20, a DRM server 40, a content distribution server 50, a host terminal 70, and a storage device 80 connected to the host terminal 70 via a communication interface 90, . In particular, the DRM system 100 based on the separation execution includes a code block providing system for providing the separation execution object code block 34 to the storage device 80. [ The code block providing system comprises a host terminal 70 and a storage device 80.

여기서 '분리 실행'은 실행형 컨텐츠(30)를 실행하는 데 있어서 호스트 단말(70)과 저장장치(80)가 서로 연동되어 실행하는 것을 의미한다. 특히 분리 실행을 구현하기 위해서, 원본 실행형 컨텐츠(30)의 코드 영역(31)에서 분리된 일부 코드 블록(이하 '분리 실행 대상 코드 블록(34)'이라 함)은 저장장치(80)에 설치되고, 분리 실행 대상 코드 블록(34)이 제거된 실행형 컨텐츠(이하 '서비스용 컨텐츠(32)'라 함)는 호스트 단말(70)에 설치된다. 따라서 분리 실행 기반의 실행형 컨텐츠(30)를 실행하고자 할 경우에, 호스트 단말(70)은 서비스용 컨텐츠(32) 실행 중 분리 실행 대상 코드 블록(34)이 제거된 부분에 대한 출력값을 저장장치(80)에 요청하여 반환받는 형태로 해당 실행형 컨텐츠(30)를 실행한다. 이때 분리 실행 대상 코드 블록(34)은 저장장치(80)에서 사용되는 코드 블록으로 변환되어 저장장치(80)에 제공될 수 있다.Here, 'separate execution' means that the host terminal 70 and the storage device 80 operate in conjunction with each other in executing the executable content 30. [ Particularly, in order to realize separation execution, some code blocks (hereinafter, referred to as 'separation execution subject code blocks 34') separated from the code area 31 of the original executive content 30 are installed in the storage device 80 Executable content (hereinafter, referred to as "service content 32") from which the code block for separation execution 34 has been removed is installed in the host terminal 70. Therefore, when executing the execution-based execution-based content 30, the host terminal 70 stores the output value for the portion from which the separation-target code block 34 is removed during execution of the service content 32, (80), and executes the corresponding executable content (30) in the form of being returned. At this time, the separation execution target code block 34 may be converted into a code block used in the storage device 80 and provided to the storage device 80.

네트워크(60)는 컨텐츠 제공 단말(10), 컨텐츠 등록 서버(20), DRM 서버(40), 컨텐츠 분배 서버(50) 및 호스트 단말(70) 간의 데이터 전송 및 정보 교환을 위한 일련의 데이터 송수신 동작을 수행한다. 네트워크(60)는 IP를 통하여 대용량 데이터의 송수신 서비스 및 끊김없는 데이터 서비스를 제공하는 IP망으로, IP를 기반으로 서로 다른 망을 통합한 IP망 구조인 ALL-IP망일 수 있다. 또한 네트워크(60)는 유선통신망, 이동통신망, WiBro(Wireless Broadband)망, HSDPA(High-Speed Downlink Packet Access)망, 위성통신망 또는 기타 널리 공지되었거나 향후 개발될 유무선 또는 이들의 결합망을 포함한다.The network 60 includes a series of data transmission and reception operations for data transmission and information exchange between the content providing terminal 10, the content registration server 20, the DRM server 40, the content distribution server 50 and the host terminal 70 . The network 60 may be an IP network that provides high-capacity data transmission / reception services and seamless data services through IP, and may be an ALL-IP network that is an IP network structure in which different networks are integrated based on IP. Also, the network 60 includes a wired communication network, a mobile communication network, a wireless broadband (WiBro) network, a high-speed downlink packet access (HSDPA) network, a satellite communication network or other well-known or future wired or wireless networks.

컨텐츠 제공 단말(10)은 컨텐츠 제공자가 운용하는 단말로서, 네트워크(60)를 통하여 컨텐츠 등록 서버(20)와 통신을 수행하고, 컨텐츠 제공자가 개발한 실행형 컨텐츠(30)를 저장한다.The content providing terminal 10 communicates with the content registration server 20 via the network 60 as a terminal operated by the content provider and stores the executable content 30 developed by the content provider.

컨텐츠 등록 서버(20)는 네트워크(60)를 매개로 컨텐츠 제공 단말(10) 및 DRM 서버(40)와 통신을 수행한다. 컨텐츠 등록 서버(20)는 네트워크(60)를 통한 컨텐츠 제공자의 요청에 따라 컨텐츠 제공 단말(10)로부터 실행형 컨텐츠(30)를 수신하여 등록한다. 이때 컨텐츠 등록 서버(20)는 실행형 컨텐츠(30)를 서비스용 컨텐츠(32)와 분리 실행 대상 코드 블록(34)으로 분리하여 등록한다. 이때 실행형 컨텐츠(30)의 분리는 컨텐츠 제공 단말(10)에서 수행될 수도 있고, 컨텐츠 등록 서버(20)에서 수행될 수도 있다.The content registration server 20 communicates with the content providing terminal 10 and the DRM server 40 via the network 60. The content registration server 20 receives and registers the executive content 30 from the content providing terminal 10 at the request of the content provider through the network 60. [ At this time, the content registration server 20 separates the executable content 30 into the service content 32 and the separation execution target code block 34 and registers them. At this time, the separation of the executive content 30 may be performed in the content providing terminal 10 or in the content registration server 20.

DRM 서버(40)는 네트워크(60)를 통하여 컨텐츠 등록 서버(20) 및 컨텐츠 분배 서버(50)와 통신을 수행한다. DRM 서버(40)는 컨텐츠 등록 서버(20)로부터 수신한 서비스용 컨텐츠(32)와 분리 실행 대상 코드 블록(34)에 DRM을 적용한다. DRM 서버(40)는 컨텐츠 분배 서버(50)를 통한 사용자의 특정 실행형 컨텐츠(30)에 대한 구매 요청에 따라 필요한 정보, 예컨대 DRM이 적용된 서비스용 컨텐츠(32), 분리 실행 대상 코드 블록(34) 및 권리 객체(42; Right Object)를 컨텐츠 분배 서버(50)로 전송한다. 즉 DRM 서버(40)는 서비스용 컨텐츠(32)를 CEK(Contents Encryption Key)로 암호화하고, DCF(DRM protected Contents Format)로 포맷팅하여 저장한다. 사용자의 구매 요청이 있는 경우, DRM 서버(40)는 해당 실행형 컨텐츠(30)의 DCF를 컨텐츠 분배 서버(50)로 전송하고, 사용자 개인키(private key)로 CEK를 암호화하여 권리 객체(42)를 생성하여 컨텐츠 분배 서버(50)로 전송한다. 특히 DRM 서버(40)는 분리 실행 대상 코드 블록(34)을 저장장치용 프로그램(52)에 포함시켜 컨텐츠 분배 서버(50)에 제공할 수 있다.The DRM server 40 communicates with the content registration server 20 and the content distribution server 50 via the network 60. The DRM server 40 applies DRM to the service content 32 and the separation execution object code block 34 received from the content registration server 20. [ The DRM server 40 can acquire necessary information such as service content 32 to which DRM is applied according to a purchase request for the user's specific executive content 30 through the content distribution server 50, And a right object 42 to the content distribution server 50. [ In other words, the DRM server 40 encrypts the service contents 32 with a content encryption key (CEK), formats the content 32 using a DRM protected content format (DCF), and stores the content. The DRM server 40 transmits the DCF of the executive content 30 to the content distribution server 50 and encrypts the CEK with the user's private key to obtain the rights object 42 And transmits it to the content distribution server 50. In particular, the DRM server 40 may include the separation execution object code block 34 in the storage device program 52 and provide it to the content distribution server 50. [

컨텐츠 분배 서버(50)는 네트워크(60)를 통하여 DRM 서버(40) 및 호스트 단말(70)과 통신을 수행한다. 컨텐츠 분배 서버(50)는 사용자의 특정 실행형 컨텐츠(30)에 대한 구매 요청을 DRM 서버(40)로 전달하고, 해당 실행형 컨텐츠(30)에 대한 DRM이 적용된 서비스용 컨텐츠(32), 분리 실행 대상 코드 블록(34) 및 권리 객체(42)를 DRM 서버(40)로부터 수신한다. 이때 분리 실행 대상 코드 블록(34)은 저장장치용 프로그램(52)에 포함된 형태로 제공될 수 있다.The content distribution server 50 communicates with the DRM server 40 and the host terminal 70 via the network 60. [ The content distribution server 50 delivers the purchase request for the user's specific executive content 30 to the DRM server 40 and extracts the service content 32 to which the DRM is applied for the executable content 30, The execution object code block 34 and the rights object 42 from the DRM server 40. [ At this time, the separation execution object code block 34 may be provided in a form included in the storage device program 52. [

통신인터페이스(90)는 서로 근접한 호스트 단말(70)과 저장장치(80) 간의 데이터 전송 및 정보 교환을 위한 일련의 데이터 송수신 동작을 수행한다. 통신인터페이스(90)는 USB, USB2, Serial/Parallel Port, Ethernet, TCP/IP, 통신 케이블 등을 이용한 유선 통신망과, 근거리 무선통신망을 포함할 수 있다. 근거리 무선통신 방식으로는 블루투스(Bluetooth), 지그비(zigbee), 루비(Rubee), 적외선데이터통신(IrDA; Infrared Data Association), 초광대역방식(UWB; Ultra Wide Broadband) 등이 사용될 수 있다.The communication interface 90 performs a series of data transmission / reception operations for data transmission and information exchange between the host terminal 70 and the storage device 80 which are close to each other. The communication interface 90 may include a wired communication network using a USB, a USB2, a serial / parallel port, an Ethernet, a TCP / IP, a communication cable, and a short-range wireless communication network. Bluetooth, Zigbee, Ruby, Infrared Data Association (IrDA), and Ultra Wide Broadband (UWB) may be used as the short-range wireless communication method.

호스트 단말(70)은 네트워크(60)를 매개로 컨텐츠 분배 서버(50)와 통신을 수행하고, 통신인터페이스(90)를 매개로 저장장치(80)와 통신을 수행한다. 호스트 단말(70)은 사용자의 선택 신호에 따른 특정 실행형 컨텐츠(30)에 대한 구매 요청을 수신하여 컨텐츠 분배 서버(50)로 전달한다. 호스트 단말(70)은 컨텐츠 분배 서버(50)로부터 구매한 실행형 컨텐츠(30)에 대한 DRM이 적용된 서비스용 컨텐츠(32), 권리 객체(42) 및 저장장치용 프로그램(52)을 수신한다. 호스트 단말(70)은 수신한 정보 중 서비스용 컨텐츠(32)를 자신에게 설치한다. 호스트 단말(70)은 수신한 정보 중 권리 객체(42) 및 저장장치용 프로그램(52)은 저장장치(80)로 전달한다. 이때 호스트 단말(70)은 실행형 컨텐츠(30)의 실행이 가능한 독립된 CPU를 가진 컴퓨팅 장치, 예컨대 PC, 노트북, 워크스테이션 등을 통칭한다. 호스트 단말(70)은 다수의 사용자들에 의해 접근이 자유로운 공용 컴퓨터를 포함할 수 있다.The host terminal 70 communicates with the content distribution server 50 via the network 60 and communicates with the storage device 80 via the communication interface 90. [ The host terminal 70 receives the purchase request for the specific executive content 30 according to the user's selection signal and transmits the purchase request to the content distribution server 50. The host terminal 70 receives the service content 32, the rights object 42 and the storage device program 52 to which DRM is applied for the executive content 30 purchased from the content distribution server 50. [ The host terminal 70 installs the service content 32 in the received information. The host terminal 70 transfers the right object 42 and the storage device program 52 among the received information to the storage device 80. At this time, the host terminal 70 collectively refers to a computing device having an independent CPU capable of executing the executable contents 30, such as a PC, a notebook, and a workstation. The host terminal 70 may include a public computer that is accessible by a plurality of users.

그리고 저장장치(80)는 통신인터페이스(90)를 매개로 호스트 단말(70)에 연결되며, 저장장치(80)의 구동에 필요한 저장장치용 프로그램(52)과, 호스트 단말(70)에 설치된 서비스용 컨텐츠(32)에 대한 분리 실행 대상 코드 블록(34) 및 권리 객체(42)를 저장한다. 저장장치(80)는 실행형 컨텐츠(30) 실행시 호스트 단말(70)의 요청에 따라 분리 실행 대상 코드 블록(34)에 대한 연산을 수행하여 출력값을 호스트 단말(70)로 반환한다. 특히 저장장치(80)는 분리 실행 대상 코드 블록(34)을 저장장치용 프로그램(52)에 포함된 형태로 제공받는 경우, 저장장치용 프로그램(52)을 설치할 때 해당 분리 실행 대상 코드 블록(34)을 추출하여 메모리에 저장할 수 있다. 분리 실행 대상 코드 블록(34)을 포함하는 저장장치용 프로그램(52)은 선발급으로 저장장치(80)에 저장된 형태로 제공되거나, 후발급으로 호스트 단말(70)로부터 저장장치(80)로 제공될 수 있다. 이때 저장장치(80)는 프로세서를 구비한 저장장치로서, USB 메모리, 플래시 메모리 카드, 이에 상응하는 각종 이동식, 휴대식 저장매체(예컨대, SD(Secure Digital) 메모리 카드, microSD 메모리 카드, ISO 7816 표준의 저장장치 등)를 통칭한다.The storage device 80 is connected to the host terminal 70 via the communication interface 90 and is connected to the storage device 80 through a storage device program 52 required for driving the storage device 80, And the right object 42 for the contents 32 to be separated. The storage device 80 performs an operation on the detachment object code block 34 and returns an output value to the host terminal 70 in response to a request from the host terminal 70 when the executable content 30 is executed. Particularly, in the case where the storage device 80 is provided in the form of the program included in the storage device program 52, when the program 52 for the storage device is installed, the corresponding code block 34 ) Can be extracted and stored in the memory. The program 52 for the storage device including the detachment object code block 34 may be provided in a form stored in the storage device 80 as a starter charge or may be provided to the storage device 80 from the host terminal 70 . The storage device 80 may be a storage device having a processor, such as a USB memory, a flash memory card, various removable and portable storage media such as a SD (Secure Digital) memory card, a microSD memory card, Storage devices, etc.).

이와 같이 호스트 단말(70)에 통신인터페이스(90)를 매개로 저장장치(80)가 연결된 상태에서, 사용자가 호스트 단말(70)의 입력부, 예컨대 키보드, 마우스, 터치패드 등을 통하여 실행형 컨텐츠(30)의 실행을 요청하면, 호스트 단말(70)은 서비스용 컨텐츠(32)에 대한 실행을 시작한다. 호스트 단말(70)은 서비스용 컨텐츠(32)에 없는 코드에 대한 실행 요청을 저장장치(80)로 전달한다. 그리고 저장장치(80)는 실행 요청에 대응하는 분리 실행 대상 코드 블록(34)을 실행한 후 출력값을 호스트 단말(70)로 전달한다.In this way, when the storage device 80 is connected to the host terminal 70 via the communication interface 90, the user can access the executable content (for example, a keyboard, a mouse, a touch pad, 30), the host terminal 70 starts execution for the service contents 32. In this case, The host terminal 70 delivers the execution request for the code not contained in the service content 32 to the storage device 80. [ Then, the storage device 80 executes the separation execution subject code block 34 corresponding to the execution request, and then transfers the output value to the host terminal 70. [

특히 본 발명에 따른 코드 블록 제공 시스템은 통신인터페이스(90)를 매개로 연결된 호스트 단말(70) 및 저장장치(80)를 포함하여 구성되며, 컨텐츠 분배 서버(50)를 더 포함하여 구성될 수 있다.In particular, the code block providing system according to the present invention includes a host terminal 70 and a storage device 80 connected via a communication interface 90, and may further include a content distribution server 50 .

컨텐츠 분배 서버(50)는 분리 실행 대상 코드 블록(34)이 포함된 저장장치용 프로그램(52)을 DRM 서버(40)로부터 수신하여 호스트 단말(70)로 전달한다. 이때 저장장치용 프로그램(52)은 DRM 서버(40)로부터 수신하는 예를 개시하였지만 이것에 한정되는 것은 아니다. 예컨대 컨텐츠 분배 서버(50)는 DRM 서버(40)로부터 분리 실행 대상 코드 블록(34)을 수신하고, 수신한 분리 실행 대상 코드 블록(34)을 저장장치용 프로그램(52)에 포함시킬 수도 있다.The content distribution server 50 receives from the DRM server 40 a program 52 for a storage device including the detachment object code block 34 and transfers the program 52 to the host terminal 70. [ At this time, the example of the program 52 for the storage device is received from the DRM server 40, but the present invention is not limited thereto. The content distribution server 50 may receive the detachment object code block 34 from the DRM server 40 and include the received detachment object code block 34 in the storage device program 52. [

호스트 단말(70)은 분리 실행 대상 코드 블록(34)이 포함된 저장장치용 프로그램(52)을 컨텐츠 분배 서버(50)로부터 수신한다. 호스트 단말(70)은 해당 저장장치용 프로그램(52)을 통신인터페이스(90)로 연결된 저장장치(80)로 전송한다.The host terminal 70 receives the storage device program 52 including the separation execution object code block 34 from the content distribution server 50. [ The host terminal 70 transmits the program 52 for the storage device to the storage device 80 connected via the communication interface 90. [

그리고 저장장치(80)는 호스트 단말(70)로부터 저장장치용 프로그램(52)을 수신한다. 저장장치(80)는 수신한 저장장치용 프로그램(52)을 설치하는 과정에서 저장장치용 프로그램(52)에서 분리 실행 대상 코드 블록(34)을 추출한다. 그리고 저장장치(80)는 추출된 분리 실행 대상 코드 블록(34)을 메모리에 저장한다. 이때 저장장치(80)는 추출된 분리 실행 대상 코드 블록(34)을 실행 형태로 메모리에 저장할 수 있다.The storage device 80 receives the program 52 for the storage device from the host terminal 70. The storage device 80 extracts the detachment object code block 34 from the storage device program 52 in the process of installing the received storage device program 52. [ Then, the storage device 80 stores the extracted separation execution object code block 34 in the memory. At this time, the storage device 80 may store the extracted separation execution object code block 34 in an execution form in a memory.

이와 같이 본 실시예에 따른 코드 블록 제공 시스템은 실행형 컨텐츠(30)에 대한 호스트 단말(70)과 저장장치(80) 간의 분리 실행 시 안정적인 실행 환경을 제공할 수 있는 분리 실행 대상 코드 블록(34)을 저장장치용 프로그램(52)에 포함시켜 저장장치(80)로 제공할 수 있다.As described above, the code block providing system according to the present embodiment includes a code block 34 (which is capable of providing a stable execution environment when executing separation between the host terminal 70 and the storage device 80 for the executable content 30) May be included in the storage device program 52 and provided to the storage device 80. [

그리고 저장장치용 프로그램(52)에 포함되어 제공된 분리 실행 대상 코드 블록(34)은 해당 저장장치용 프로그램(52)을 설치하는 과정에서 추출하여 메모리에 실행 형태로 저장할 수 있기 때문에, 분리 실행 대상 코드 블록(34)을 저장장치(80)로 제공하는 과정에서 호스트 단말(70) 및 저장장치(80) 간의 신호 처리 속도가 지연되는 문제를 억제할 수 있다.Since the detachment execution target code block 34 provided in the storage device program 52 can be extracted in the process of installing the storage device program 52 and stored in the memory in an executable form, The problem of delaying the signal processing speed between the host terminal 70 and the storage device 80 in the process of providing the block 34 to the storage device 80 can be suppressed.

이와 같은 본 실시예에 따른 코드 블록 제공 시스템에 대해서 구체적으로 설명하기에 앞서 분리 실행 기반의 실행형 컨텐츠(30)에 대해서 도 1 내지 도 3을 참조하여 설명하면 다음과 같다.Before describing the code block providing system according to the present embodiment as such, the execution-based execution content 30 based on the separation execution will be described with reference to FIG. 1 to FIG.

실행형 컨텐츠(30)는 복수 개의 파일, 예컨대 운영체제에서 제공하는 API(application program interface), 개발사에서 제공하는 API 또는 DLL(dynamic linking library)과 같은 파일을 포함한다. 이와 같은 복수의 파일을 포함하는 실행형 컨텐츠(30)는, 도 2에 도시된 바와 같이, 코드 영역(31)과 데이터 영역(33)으로 구분할 수 있다. 코드 영역(31)은 복수의 코드 블록을 포함하며, 분리 실행 대상 코드 블록(34)은 코드 영역(31)에서 추출된 복수의 코드 블록을 포함한다. 예컨대 분리 실행 대상 코드 블록(34)은 복수의 베이식 블록 그룹(37; basic block group)을 포함하며, 베이식 블록 그룹(37)은 복수의 베이식 블록(35; basic block)의 모임이다.The executable content 30 includes a plurality of files, for example, an application program interface (API) provided by an operating system, an API provided by a developer, or a dynamic linking library (DLL). The executable content 30 including such a plurality of files can be divided into a code area 31 and a data area 33 as shown in FIG. The code region 31 includes a plurality of code blocks, and the separation execution object code block 34 includes a plurality of code blocks extracted from the code region 31. For example, the detachment object code block 34 includes a plurality of basic block groups 37, and the basic block group 37 is a group of a plurality of basic blocks 35. [

이때 베이식 블록(35)은 단일 입력(single input) 및 단일 출력(single output)의 속성을 갖는 명령어의 열(sequence of instruction)로서, 외부에서 내부로의 진입을 허용하지 않는 속성을 갖는 코드 블록으로 정의할 수 있다. 즉 베이식 블록(35)은 항상 시작부터 끝까지 한번에 실행되는 연속적인 문장(코드의 모임)을 의미하며, 중간에 흐름 제어로 인해 실행이 중지되지 않는 문장 그룹이다.At this time, the basic block 35 is a sequence of instructions having attributes of a single input and a single output, and is a code block having attributes that do not allow entry from the outside to the inside Can be defined. That is, the basic block 35 is a continuous sentence (a group of codes) which is executed all at once from start to end, and is a group of sentences whose execution is not stopped due to the flow control in the middle.

서비스용 컨텐츠(32)는 분리 실행 대상 코드 블록(34)으로 추출된 베이식 블록 그룹(37)의 코드 영역에 스터브 코드(36)가 삽입된 코드 영역(31a)과, 데이터 영역(33)을 포함한다. 이때 스터브 코드(36)는 호스트 단말(70)과 저장장치(80) 간에 실행형 컨텐츠(30)에 대한 분리 실행을 수행할 때, 서비스 컨텐츠(32)에서 추출된 코드 영역과, 추출된 코드 영역에 해당하는 분리 실행 대상 코드 블록(34)을 연결한다. 즉 스터브 코드(36)는 실행형 컨텐츠(30)에 대한 분리 실행을 수행할 때, 추출된 코드 영역에서 저장장치(80)로 제어 신호를 전달한다. 제어 신호를 수신한 저장장치(80)는 제어 신호에 해당하는 분리 실행 대상 코드 블록(34)에 대한 연산을 수행하여 산출한 출력값을 호스트 단말(70)로 반환한다.The service content 32 includes a code area 31a in which a stub code 36 is inserted in a code area of the basic block group 37 extracted by the separation executing object code block 34 and a data area 33 do. At this time, the stub code 36 has a code area extracted from the service content 32 and a code area extracted from the extracted code area 30 when performing the separation execution of the executable content 30 between the host terminal 70 and the storage device 80. [ To-be-separated-execution-target code block 34 corresponding to the program code. That is, the stub code 36 transfers the control signal from the extracted code area to the storage device 80 when executing the separate execution for the executive content 30. [ The storage device 80 having received the control signal performs an operation on the separation execution object code block 34 corresponding to the control signal and returns the calculated output value to the host terminal 70.

분리 실행 대상 코드 블록(34)은 실행형 컨텐츠(30)에 대한 프로파일링 및 분석을 통하여 실행형 컨텐츠(30)의 코드 영역(31)에서 추출된 복수의 베이식 블록 그룹(37)을 포함한다. 즉 분리 실행 대상 코드 블록(34)은 실행형 컨텐츠(30)에 대한 프로파일링 및 분석을 통하여 실행형 컨텐츠(30)의 코드 영역(31)에서 선정된 베이식 블록 그룹(37)으로, 선정된 베이식 블록 그룹(37)들 중에서 적어도 하나가 분리 실행 대상 코드 블록(34)으로 추출될 수 있다. 분리 실행 대상 코드 블록(34)이 추출된 부분에는 스터브 코드(36)가 삽입된다. 후술되겠지만 실행형 컨텐츠(30)에 대한 프로파일링 및 분석을 통하여, 실행형 컨텐츠(30)는 분리 실행 대상 코드 블록(34)과, 분리 실행 대상 코드 블록(34)이 추출된 서비스용 컨텐츠(32)로 분할된다.The separation execution subject code block 34 includes a plurality of basic block groups 37 extracted from the code area 31 of the executive content 30 through profiling and analysis of the executive contents 30. [ That is, the separation execution target code block 34 performs the profiling and analysis of the executive content 30 to select the basic block group 37 in the code area 31 of the executive content 30, At least one of the block groups 37 may be extracted into the separation execution object code block 34. [ A stub code 36 is inserted in the part where the separation execution object code block 34 is extracted. As will be described later, through the profiling and analysis of the executable content 30, the executable content 30 includes a separation execution target code block 34, a service content 32 from which the separation execution target code block 34 is extracted ).

분리 실행 대상 코드 블록(34)은 저장장치용 코드 블록으로 변환되어 저장장치(80)에 저장된 형태로 제공되거나 다운로드 형태로 저장장치(80)에 제공될 수 있다. 분리 실행 대상 코드 블록(34)은 전술된 바와 같이 복수의 베이식 블록(35)을 포함하는 베이식 블록 그룹(37)이다. 분리 실행 대상 코드 블록(34)은 분리 실행 대상 코드 블록(34)의 시작점(entry point)을 통한 제어 신호의 진입 및 베이식 블록(35) 간의 제어 신호의 이동은 허용하지만, 분리 실행 대상 코드 블록(34)의 시작점을 제외한 베이식 블록(35)으로의 제어 신호의 진입이 없는 서로 관련된 복수의 베이식 블록(35)을 포함하는 베이식 블록 그룹(37)으로 선택하는 것이 바람직하다.The detachment target code block 34 may be converted into a code block for a storage device and provided in a form stored in the storage device 80 or in a form of a download in the storage device 80. [ The separation execution object code block 34 is a basic block group 37 including a plurality of basic blocks 35 as described above. The separation execution subject code block 34 permits the entry of the control signal through the entry point of the separation execution subject code block 34 and the movement of the control signal between the basic blocks 35, It is preferable to select the basic block group 37 including a plurality of mutually related basic blocks 35 without entry of the control signal into the basic block 35 excluding the starting point of the basic block 35. [

이유는 베이식 블록 그룹(37) 중에서 시작점을 제외한 베이식 블록(35)으로의 제어 신호의 진입이 있는 베이식 블록 그룹(37)을 분리 실행 대상 코드 블록(34)으로 추출할 경우, 해당 분리 실행 대상 코드 블록(34)을 추출한 후 삽입되는 스터브 코드(36)에 시작 부분이 아닌 중간으로 제어 신호가 진입할 수 있다. 이 경우 스터브 코드(36)는 해당 제어 신호에 대한 처리를 수행하지 못하여 해당 실행형 컨텐츠(30)의 실행이 중지되거나 에러가 발생될 수 있기 때문이다. 즉 스터브 코드(36)은 첫 5Byte를 제외한 나머지 영역에는 NOP(no-operation instruction)와 같은 쓰레기 값이 들어 있기 때문에, 쓰레기 값이 들어 있는 영역으로 제어 신호가 진입할 경우 에러가 발생될 수 있다. 바꾸어 말하면, 시작점을 제외한 베이식 블록(35)으로의 제어 신호의 진입이 있는 베이식 블록 그룹(37)은 분리 실행을 수행할 때, 오류를 발생시킬 수 있는 확률이 높기 때문에, 분리 실행 대상 코드 블록(34)으로는 적합하지 않다.When extracting the basic block group 37 having the control signal into the basic block 35 excluding the starting point from the basic block group 37 with the separation execution object code block 34, The control signal may enter the stub code 36 inserted after extracting the block 34 in the middle rather than the beginning. In this case, the stub code 36 can not perform the process for the corresponding control signal, so execution of the corresponding executive content 30 may be stopped or an error may occur. That is, since the stub code 36 includes a garbage value such as NOP (no-operation instruction) in the remaining area except for the first 5 bytes, an error may occur when the control signal enters the area containing the garbage value. In other words, since the basic block group 37 having the control signal input to the basic block 35 excluding the starting point has a high probability of generating an error when performing the separation execution, 34).

본 실시예에 따른 코드 블록 제공 시스템의 DRM 서버(40)는, 도 1 내지 도 4에 도시된 바와 같이, 제1 송수신부(41), 제1 데이터베이스부(43) 및 제1 서버제어부(45)를 포함하여 구성된다.1 to 4, the DRM server 40 of the code block providing system according to the present embodiment includes a first transmission / reception unit 41, a first database unit 43, and a first server control unit 45 ).

제1 송수신부(41)는 네트워크(60)를 통하여 컨텐츠 등록 서버(20) 및 컨텐츠 분배 서버(50)와 통신을 수행한다. 제1 송수신부(41)는 컨텐츠 등록 서버(20)로부터 분리 실행 대상 코드 블록(34) 및 서비스용 컨텐츠(32)를 수신한다. 제1 송수신부(41)는 컨텐츠 분배 서버(50)로 DRM이 적용된 서비스용 컨텐츠(32), 분리 실행 대상 코드 블록(34)이 포함된 저장장치용 프로그램(52) 및 권리 객체(42)를 전송한다.The first transmission / reception unit 41 communicates with the content registration server 20 and the content distribution server 50 via the network 60. The first transmission / reception unit 41 receives the separation execution object code block 34 and the service contents 32 from the contents registration server 20. [ The first transmission and reception unit 41 transmits the content 32 for the service to which the DRM is applied to the content distribution server 50, the storage device program 52 including the separation execution object code block 34, and the rights object 42 send.

제1 데이터베이스부(43)는 서비스용 컨텐츠(32), 분리 실행 대상 코드 블록(34) 및 저장장치용 프로그램(52)을 저장한다. 이때 서비스용 컨텐츠(32)는 DCF 형태로 변환되어 제1 데이터베이스부(43)에 저장될 수 있다. 저장장치용 프로그램(52)은 분리 실행 대상 코드 블록(34)을 포함할 수 있다.The first database unit 43 stores the service content 32, the separation execution object code block 34, and the storage device program 52. At this time, the service contents 32 may be converted into the DCF format and stored in the first database unit 43. The program 52 for the storage device may include a separation execution object code block 34. [

이때 저장장치용 프로그램(52)은 인스톨(install) 또는 갱신(update)용 프로그램을 포함한다. 예컨대 저장장치(80)가 스마트카드인 경우, 저장장치용 프로그램(52)은 애플릿(applet)일 수 있다.At this time, the storage device program 52 includes a program for installing or updating. For example, if the storage device 80 is a smart card, the program 52 for the storage device may be an applet.

분리 실행 대상 코드 블록(34)은 호스트 단말(70)에서 실행되는 실행형 컨텐츠(30)에서 추출된 코드 블록이다. 예컨대 분리 실행 대상 코드 블록(34)은 x86 또는 x64용 실행형 컨텐츠(30)의 코드 영역(31)에서 추출된 코드 블록일 수 있다. 따라서 분리 실행 대상 코드 블록(34)은 저장장치(80)에 사용될 수 있는 코드 형식으로 변환된다. 예컨대 저장장치(80)가 스마트카드인 경우, 분리 실행 대상 코드 블록(34)은 Java Byte 코드 블록 또는 ARM용 코드 블록으로 변환된다. 분리 실행 대상 코드 블록(34)은 권리 객체 또는 애플릿(applet)에 포함되어 스마트카드에 제공될 수 있다. 본 실시예에서는 분리 실행 대상 코드 블록(34)이 애플릿과 같은 저장장치용 프로그램(52)에 포함되어 제공되는 예를 개시하였다.The separation execution subject code block 34 is a code block extracted from the executable contents 30 executed in the host terminal 70. [ For example, the separation execution object code block 34 may be a code block extracted from the code area 31 of the executable contents 30 for x86 or x64. Therefore, the separation execution object code block 34 is converted into a code format that can be used in the storage device 80. [ For example, when the storage device 80 is a smart card, the separation executing object code block 34 is converted into a Java Byte code block or an ARM code block. The detachment target code block 34 may be included in a rights object or an applet and provided to the smart card. In this embodiment, an example has been described in which the code block 34 for separation execution is included in a program 52 for a storage device such as an applet.

그리고 제1 서버제어부(45)는 DRM 서버(40)의 전반적인 제어 동작을 수행한다. 즉 제1 서버제어부(45)는 컨텐츠 등록 서버(20)로부터 수신한 서비스용 컨텐츠(32)와 분리 실행 대상 코드 블록(34)에 DRM을 적용한다. 제1 서버제어부(45)는 서비스용 컨텐츠(32)를 CEK로 암호화하고, DCF로 포맷팅하여 제1 데이터베이스부(43)에 저장할 수 있다. 제1 서버제어부(45)는 컨텐츠 분배 서버(50)를 통한 사용자의 특정 실행형 컨텐츠(30)에 대한 구매 요청에 따라 DRM이 적용된 서비스용 컨텐츠(32), 분리 실행 대상 코드 블록(34) 및 권리 객체(42)를 컨텐츠 분배 서버(50)로 전송한다. 이때 DRM 서버(40)는 사용자 개인키로 CEK를 암호화하여 권리 객체(42)를 생성하여 컨텐츠 분배 서버(50)로 전송한다.The first server control unit 45 performs the overall control operation of the DRM server 40. [ That is, the first server control unit 45 applies the DRM to the service content 32 and the separation execution object code block 34 received from the content registration server 20. [ The first server control unit 45 can encrypt the service content 32 with the CEK, format it with the DCF, and store it in the first database unit 43. The first server control unit 45 controls the contents server 32 to execute DRM according to the purchase request for the user's specific executive content 30 through the content distribution server 50, And transmits the rights object 42 to the content distribution server 50. At this time, the DRM server 40 encrypts the CEK with the user's private key to generate the rights object 42 and transmits the rights object 42 to the content distribution server 50.

또한 제1 서버제어부(45)는 분리 실행 대상 코드 블록(34)을 저장장치용 프로그램(52)에 포함시켜 컨텐츠 분배 서버(50)로 전송한다. 이때 제1 서버제어부(45)는 분리 실행 대상 코드 블록(34)이 포함된 저장장치용 프로그램(52)을 사용자의 구매 요청에 따라 전송할 수 있다.Also, the first server control section 45 includes the separation execution object code block 34 in the storage device program 52 and transfers it to the content distribution server 50. [ At this time, the first server control unit 45 may transmit the storage device program 52 including the separation execution object code block 34 according to the purchase request of the user.

본 실시예에 따른 코드 블록 제공 시스템의 컨텐츠 분배 서버(50)는, 도 1 내지 도 3, 도 5에 도시된 바와 같이, 제2 송수신부(51), 제2 데이터베이스부(53) 및 제2 서버제어부(55)를 포함하여 구성된다.1 to 3 and 5, the content distribution server 50 of the code block providing system according to the present embodiment includes a second transmission / reception unit 51, a second database unit 53, and a second And a server control unit 55.

제2 송수신부(51)는 네트워크(60)를 통하여 DRM 서버(40) 및 호스트 단말(70)과 통신을 수행한다. 제2 송수신부(51)는 제2 서버제어부(55)의 제어에 따라 호스트 단말(70)로부터 특정 실행형 컨텐츠(30)에 대한 구매 요청을 수신하여 DRM 서버(40)로 전달한다. 제2 송수신부(51)는 제2 서버제어부(55)의 제어에 따라 DRM 서버(40)로부터 DRM이 적용된 서비스용 컨텐츠(32), 권리 객체(42) 및 저장장치용 프로그램(52)을 수신하여 호스트 단말(70)로 전달한다. 특히 제2 송수신부(51)는 DRM 서버(40)로부터 분리 실행 대상 코드 블록(34)이 포함된 저장장치용 프로그램(52)을 수신하여 호스트 단말(70)로 전달한다.The second transceiver 51 communicates with the DRM server 40 and the host terminal 70 via the network 60. [ The second transceiver unit 51 receives the purchase request for the specific executive content 30 from the host terminal 70 under the control of the second server control unit 55 and transfers the purchase request to the DRM server 40. [ The second transceiver 51 receives the DRM applied service content 32, the rights object 42 and the storage device program 52 from the DRM server 40 under the control of the second server control unit 55 And transmits it to the host terminal 70. The second transceiver 51 receives the storage program 52 including the detachment object code block 34 from the DRM server 40 and transfers the program 52 to the host terminal 70. [

제2 데이터베이스부(53)는 호스트 단말(70)로 전달하기 위한 서비스용 컨텐츠(32), 권리 객체(42) 및 저장장치용 프로그램(52)을 저장할 수 있다.The second database unit 53 may store the service content 32, the rights object 42 and the storage device program 52 for delivery to the host terminal 70. [

그리고 제2 서버제어부(55)는 컨텐츠 분배 서버(50)의 전반적인 제어 동작을 수행한다. 즉 제2 서버제어부(55)는 제2 송수신부(51)를 통하여 호스트 단말(70)로부터 사용자의 특정 실행형 컨텐츠(30)에 대한 구매 요청을 수신하여 DRM 서버(40)로 전달한다. 그리고 제2 서버제어부(55)는 제2 송수신부(51)를 통하여 해당 실행형 컨텐츠(30)에 대한 DRM이 적용된 서비스용 컨텐츠(32), 권리 객체(42) 및 저장장치용 프로그램(52)을 수신하여 호스트 단말(70)로 전달한다.The second server control unit 55 performs an overall control operation of the content distribution server 50. The second server control unit 55 receives the purchase request for the user's specific executive content 30 from the host terminal 70 via the second transceiver 51 and transfers the purchase request to the DRM server 40. [ The second server control unit 55 receives the service content 32, the rights object 42 and the storage device program 52 to which DRM is applied for the executive content 30 through the second transmission / And transmits it to the host terminal 70.

본 실시예에 따른 코드 블록 제공 시스템의 호스트 단말(70)은, 도 1 내지 도 3, 도 6에 도시된 바와 같이, 통신부(71), 입력부(73), 제1 저장부(75), 제1 통신인터페이스부(77), 표시부(78) 및 제1 제어부(79)를 포함하여 구성된다.1 to 3 and 6, the host terminal 70 of the code block providing system according to the present embodiment includes a communication unit 71, an input unit 73, a first storage unit 75, 1 communication interface unit 77, a display unit 78, and a first control unit 79, as shown in FIG.

통신부(71)는 네트워크(60)를 통하여 컨텐츠 분배 서버(50)와 통신을 수행한다. 통신부(71)는 제1 제어부(79)의 제어에 따라 특정 실행형 컨텐츠(30)의 구매 요청을 컨텐츠 분배 서버(50)로 전송한다. 통신부(71)는 컨텐츠 분배 서버(50)로부터 DRM이 적용된 서비스용 컨텐츠(32), 권리 객체(42) 및 저장장치용 프로그램(52)을 수신하여 제1 제어부(79)로 전달한다.The communication unit 71 communicates with the content distribution server 50 via the network 60. The communication unit 71 transmits a purchase request for the specific executive content 30 to the content distribution server 50 under the control of the first control unit 79. The communication unit 71 receives the service content 32, the rights object 42 and the storage device program 52 to which DRM is applied from the content distribution server 50 and transfers the received content 32 to the first control unit 79.

입력부(73)는 호스트 단말(70)의 조작을 위한 복수의 키를 제공하며, 사용자의 키선택에 따른 선택 신호를 발생하여 제1 제어부(79)로 전달한다. 사용자는 입력부(73)를 통해 실행형 컨텐츠(30)의 구매를 요청하고, 구매한 실행형 컨텐츠(30)의 권리 객체(42) 및 분리 실행 대상 코드 블록(34)을 저장장치(80)에 설치할 것을 요청하는 선택 신호를 입력할 수 있다. 이때 입력부(73)로는 키패드, 터치패드와 같은 포인팅 장치, 터치스크린(touch screen) 등의 입력장치가 사용될 수 있다.The input unit 73 provides a plurality of keys for operating the host terminal 70 and generates a selection signal according to the user's selection of the key and transmits the selection signal to the first control unit 79. The user requests purchase of the executive content 30 through the input unit 73 and stores the rights object 42 and the separation execution subject code block 34 of the purchased executive content 30 in the storage device 80 A selection signal for requesting installation can be input. The input unit 73 may be an input device such as a keypad, a pointing device such as a touch pad, or a touch screen.

제1 저장부(75)는 호스트 단말(70)의 동작 제어시 필요한 프로그램과, 그 프로그램 수행 중에 발생되는 정보를 저장한다. 제1 저장부(75)는 분리 실행 기반의 실행형 컨텐츠(30)를 설치하기 위한 실행프로그램을 저장한다. 특히 제1 저장부(75)는 컨텐츠 분배 서버(50)로부터 수신한 서비스용 컨텐츠(32)를 저장한다.The first storage unit 75 stores a program necessary for controlling the operation of the host terminal 70 and information generated during the execution of the program. The first storage unit 75 stores an execution program for installing the executable content 30 based on the separation execution. Particularly, the first storage unit 75 stores the service content 32 received from the content distribution server 50.

제1 통신인터페이스부(77)는 통신인터페이스(90)를 통한 저장장치(80)와 통신을 수행한다. 제1 통신인터페이스부(77)는 제1 제어부(79)의 제어에 따라 권리 객체(42) 및 분리 실행 대상 코드 블록(34)이 포함된 저장장치용 프로그램(52)을 저장장치(80)로 전송한다. 제1 통신인터페이스부(77)는 제1 제어부(79)의 제어에 따라 DRM이 적용된 서비스용 컨텐츠(32)를 복호화하기 위한 CEK를 저장장치(80)로 요청하여 수신한다. 그리고 제1 통신인터페이스부(77)는 분리 실행 기반의 컨텐츠 실행 시 서비스용 컨텐츠(32)와 분리 실행 대상 코드 블록(34)의 연결을 매개한다.The first communication interface 77 communicates with the storage device 80 via the communication interface 90. The first communication interface unit 77 controls the storage device 80 to store the program 52 for the storage device including the rights object 42 and the separation execution object code block 34 under the control of the first control unit 79 send. The first communication interface unit 77 requests the storage device 80 to request the CEK for decrypting the DRM-applied service content 32 under the control of the first control unit 79 and receives the request. The first communication interface unit (77) mediates the connection between the service content (32) and the separation execution object code block (34) when executing the separation execution based content.

표시부(78)는 호스트 단말(70)에서 실행되는 각종 기능 메뉴를 비롯하여 제1 저장부(75)에 저장된 정보를 표시할 수 있다. 표시부(78)는 분리 실행 기반의 컨텐츠(30) 설치에 필요한 정보를 표시할 수 있다. 예컨대 표시부(78)는 저장장치용 프로그램(52)의 설치 여부를 질의하는 메시지를 표시할 수 있다. 표시부(78)는 저장장치용 프로그램(52) 설치 중 저장장치(80)로부터 수신한 메모리 부족 메시지를 표시할 수 있다. 이때 표시부(78)로는 LCD(Liquid Crystal Display)나 터치 스크린이 사용될 수 있다. 터치 스크린은 표시 장치와 입력 장치로서의 역할을 동시에 수행한다.The display unit 78 can display information stored in the first storage unit 75 as well as various function menus executed by the host terminal 70. [ The display unit 78 can display information necessary for installing the content 30 based on the separation execution. For example, the display unit 78 may display a message inquiring whether or not the storage device program 52 is installed. The display unit 78 can display a memory short message received from the storage device 80 during the installation of the storage device program 52. [ The display unit 78 may be a liquid crystal display (LCD) or a touch screen. The touch screen serves both as a display device and as an input device.

그리고 제1 제어부(79)는 호스트 단말(70)의 전반적인 제어 동작을 수행하는 마이크로프로세서이다. 특히 제1 제어부(79)는 분리 실행 기반의 실행형 컨텐츠(30) 설치를 제어한다. 즉 제1 제어부(79)는 DRM이 적용된 서비스용 컨텐츠(32)를 복호화하여 설치한다. 제1 제어부(79)는 권리 객체(42)를 저장장치(80)에 설치한다. 그리고 제1 제어부(79)는 저장장치(80)와 함께 분리 실행 기반의 실행형 컨텐츠(30) 실행을 수행한다.The first control unit 79 is a microprocessor that performs an overall control operation of the host terminal 70. In particular, the first control unit 79 controls the installation of the execution-based content 30 based on the separation execution. That is, the first control unit 79 decrypts and installs the service content 32 to which the DRM is applied. The first control unit 79 installs the rights object 42 in the storage device 80. The first control unit 79 performs execution of the executable content 30 based on the separation execution together with the storage device 80.

특히 제1 제어부(79)는 사용자가 컨텐츠 분배 서버(50)를 통하여 실행형 컨텐츠(30)를 구매하는 경우, 분리 실행 대상 코드 블록(34)이 포함된 저장장치용 프로그램(52)을 컨텐츠 분배 서버(50)로부터 수신하여 저장장치(80)로 전달한다. 또는 구매한 저장장치(80)에 분리 실행 대상 코드 블록(34)이 포함된 저장장치용 프로그램(52)이 기 저장되어 있는 경우, 제1 제어부(79)는 저장장치(80)로부터 저장장치용 프로그램(52)의 설치 여부를 질의하는 메시지를 수신하고, 이에 대한 응답으로 해당 저장장치용 프로그램(52)의 설치를 요청할 수 있다. 이때 전자는 후발급 형태로 분리 실행 대상 코드 블록(34)이 저장장치(80)에 제공되는 경우이고, 후자는 선발급 형태로 분리 실행 대상 코드 블록(34)이 저장장치(80)에 제공되는 경우이다.Particularly, when the user purchases the executive content 30 through the content distribution server 50, the first control unit 79 distributes the program 52 for the storage device, which includes the separation execution object code block 34, From the server 50 and delivers it to the storage device 80. Or the storage device program 52 in which the separation execution object code block 34 is included is stored in the purchased storage device 80, the first control unit 79 reads the storage device program 52 from the storage device 80 It is possible to receive a message inquiring whether or not the program 52 is installed and to request installation of the program 52 for the storage device in response thereto. In this case, the former is a case in which the code block 34 for separation execution is provided to the storage device 80 in a post-issuance form, and the latter is a case in which the code block 34 for separation execution is provided in the storage device 80 in a pre- to be.

본 실시예에 따른 코드 블록 제공 시스템의 저장장치(80)는, 도 1 내지 도 3, 도 7에 도시된 바와 같이, 제2 통신인터페이스부(81), 제2 저장부(83) 및 제2 제어부(85)를 포함하여 구성된다.1 to 3 and 7, the storage device 80 of the code block providing system according to the present embodiment includes a second communication interface unit 81, a second storage unit 83, and a second And a control unit 85.

제2 통신인터페이스부(81)는 통신인터페이스(90)를 매개로 호스트 단말(70)에 접속되어 호스트 단말(70)과 통신을 수행한다. 제2 통신인터페이스부(81)는 호스트 단말(70)로부터 분리 실행 대상 코드 블록(34)이 포함된 저장장치용 프로그램(52)의 설치 요청을 수신하여 제2 제어부(85)로 전달한다. 제2 통신인터페이스부(81)는 호스트 단말(70)로부터 권리 객체(42) 및 분리 실행 대상 코드 블록(34)이 포함된 저장장치용 프로그램(52)을 수신하여 제2 제어부(85)로 전달한다.The second communication interface unit 81 is connected to the host terminal 70 via the communication interface 90 and communicates with the host terminal 70. The second communication interface unit 81 receives the installation request of the storage device program 52 including the detachment object code block 34 from the host terminal 70 and transfers the request to the second control unit 85. [ The second communication interface unit 81 receives the storage device program 52 including the rights object 42 and the separation execution object code block 34 from the host terminal 70 and transmits the same to the second control unit 85 do.

제2 저장부(83)는 저장장치(80)의 동작 제어시 필요한 프로그램과, 그 프로그램 수행 중에 발생되는 정보를 저장한다. 제2 저장부(83)는 수신한 권리 객체(42)를 설치하는 실행프로그램을 저장한다. 또한 제2 저장부(83)는 저장장치용 프로그램(52)을 저장장치(80)에 설치하고, 분리 실행 대상 코드 블록(34)이 포함된 저장장치용 프로그램(52)에서 분리 실행 대상 코드 블록(34)을 추출하여 실행 형태로 저장하는 실행프로그램을 저장한다. 제2 저장부(83)는 권리 객체(42), 저장장치용 프로그램(52) 및 분리 실행 대상 코드 블록(34)을 저장한다. 이때 분리 실행 대상 코드 블록(34)은 실행 형태로 노아(NOR) 또는 낸드(NAND) 메모리에 저장될 수 있다. 분리 실행 대상 코드 블록(34)이 포함된 저장장치용 프로그램(52)은 선발급 형태로 제2 저장부(83)에 기 저장된 형태로 제공되거나, 후발급 형태로 호스트 단말(70)로부터 제공받을 수 있다.The second storage unit 83 stores a program necessary for controlling the operation of the storage device 80 and information generated during the execution of the program. The second storage unit 83 stores an execution program for installing the received right object. The second storage unit 83 is also provided with the storage device program 52 installed in the storage device 80 and the storage device program 52 including the detachment object code block 34, And an execution program for extracting the program 34 and storing it in an execution form. The second storage unit 83 stores the rights object 42, the program for the storage device 52, and the separation execution object code block 34. [ At this time, the separation execution target code block 34 may be stored in the NOR or NAND memory in an execution form. The storage device program 52 including the detachment execution object code block 34 may be provided in a form pre-stored in the second storage unit 83 in the form of a starter charge or may be provided in the form of a post- have.

그리고 제2 제어부(85)는 저장장치(80)의 전반적인 제어 동작을 수행하는 마이크로프로세서이다. 제2 제어부(85)는 분리 실행 대상 코드 블록(34)이 포함된 저장장치용 프로그램(52)에서 분리 실행 대상 코드 블록(34)을 추출하여 실행 형태로 제2 저장부(83)에 저장하는 것을 제어한다.The second control unit 85 is a microprocessor that performs the overall control operation of the storage device 80. The second control unit 85 extracts the separation execution object code block 34 from the storage device program 52 including the separation execution object code block 34 and stores the separation execution object code block 34 in the execution form in the second storage unit 83 Lt; / RTI >

제2 제어부(83)는 DRM 처리부(82), 저장장치용 프로그램 처리부(84) 및 분리 실행 대상 코드 블록 처리부(86)를 포함하여 구성된다.The second control unit 83 includes a DRM processing unit 82, a storage device program processing unit 84, and a separation execution object code block processing unit 86.

DRM 처리부(82)는 호스트 단말(70)로부터 권리 객체(42)를 전달받아 제2 저장부(83)에 저장한다. DRM 처리부(82)는 호스트 단말(70)의 요청에 따라 DRM이 적용된 서비스용 컨텐츠(32)를 복호화하기 위한 권리 객체(42)에서 CEK를 복호화하여 호스트 단말(70)에 전달한다. 또한 DRM 처리부(82)는 사용자의 개인키를 설치하는 역할도 수행한다. 개인키의 설치는 저장장치(80) 구입 후 최초에만 수행되며, 이후 개인키가 갱신될 경우 저장장치(80)에 저장된 모든 권리 객체(42)는 무효화될 수 있다.The DRM processing unit 82 receives the rights object 42 from the host terminal 70 and stores the rights object 42 in the second storage unit 83. The DRM processing unit 82 decodes the CEK from the right object 42 for decoding the service content 32 to which the DRM is applied and transmits the decoded CEK to the host terminal 70 at the request of the host terminal 70. [ The DRM processing unit 82 also plays a role of installing a user's private key. The installation of the private key is performed only for the first time after purchasing the storage device 80. If the private key is subsequently updated, all the rights objects 42 stored in the storage device 80 may be invalidated.

저장장치용 프로그램 처리부(84)는 저장장치용 프로그램(52)의 설치를 제어한다. 특히 저장장치용 프로그램 처리부(84)는 분리 실행 대상 코드 블록(34)이 포함된 저장장치용 프로그램(52)을 설치하는 과정에서 저장장치용 프로그램(52)에서 분리 실행 대상 블록(34)을 추출하여 분리 실행 대상 코드 블록 처리부(86)로 전달한다. 예컨대, 저장장치(80)가 스마트 카드인 경우, 저장장치용 프로그램 처리부(84)는 자바 카드 플랫폼(Java Card Platform)을 기반으로 구축될 수 있다. 저장장치용 프로그램(52)은 자바 카드 플랫폼에서 사용되는 애플릿이다. 분리 실행 대상 코드 블록(34)은 Java Byte 코드 블록 또는 ARM용 코드 블록으로 변환되어 있다.The program processing unit 84 for the storage device controls the installation of the program 52 for the storage device. Particularly, the program processing unit 84 for storage device extracts the block to be detached from the storage device program 52 in the process of installing the storage device program 52 including the detachment object code block 34 And transmits it to the separation execution object code block processing unit 86. [ For example, when the storage device 80 is a smart card, the storage device program processing unit 84 can be constructed based on a Java Card Platform. The program 52 for the storage device is an applet used in the Java card platform. The separation execution object code block 34 is converted into a Java Byte code block or an ARM code block.

그리고 분리 실행 대상 코드 블록 처리부(86)는 분리 실행 대상 코드 블록(34)을 실행 형태로 저장하고, 분리 실행 대상 코드 블록(34)의 실행을 통해 산출한 결과값을 호스트 단말(70)로 반환한다. 즉 저장장치용 프로그램 처리부(84)로부터 추출된 분리 실행 대상 코드 블록(34)을 전달받아 실행 형태로 제2 저장부(83)에 저장한다. 이때 분리 실행 대상 코드 블록 처리부(86)는 호스트 단말(70)로부터 특정 분리 실행 대상 코드 블록(34)의 결과값 요청을 수신하면, 해당 분리 실행 대상 코드 블록(34)을 런타임(runtime)에 링크한 후 시작 번지로 점프하여 실행시켜 산출한 결과값을 호스트 단말(70)로 반환한다.The separation execution object code block processing section 86 stores the separation execution object code block 34 in the execution form and returns the resultant value calculated through the execution of the separation execution object code block 34 to the host terminal 70 do. That is, the separation executing object code block 34 extracted from the storage device program processing section 84, and stores the same in the second storing section 83 in an execution form. At this time, when the separation execution target code block processing section 86 receives the request for the result value of the specific separation execution object code block 34 from the host terminal 70, the separation execution execution code block processing section 86 links the separation execution object code block 34 to the runtime And then returns to the host terminal 70. The host terminal 70 then sends the result to the host terminal 70,

한편 분리 실행 대상 코드 블록(34)이 포함된 저장장치용 프로그램(52)이 후발급 형태로 호스트 단말(70)로부터 저장장치(80)로 제공될 수 있다. 이 경우 제2 제어부(85)는 다음과 같이 분리 실행 대상 코드 블록(34)을 제2 저장부(83)에 저장할 수 있다. 저장장치(80)가 호스트 단말(70)에 접속되면, 저장장치용 프로그램 처리부(84)는 호스트 단말(70)로부터 구매한 실행형 컨텐츠(30)의 분리 실행 대상 코드 블록(34)이 포함된 저장장치용 프로그램(52)을 제2 통신인터페이스부(81)를 통하여 수신한다. 저장장치용 프로그램 처리부(84)는 수신한 분리 실행 대상 코드 블록(34)이 포함된 저장장치용 프로그램(52)을 설치하는 과정에서 저장장치용 프로그램(52)에서 분리 실행 대상 코드 블록(34)을 추출하여 분리 실행 대상 코드 블록 처리부(86)로 전달한다. 그리고 분리 실행 대상 코드 블록 처리부(86)는 전달받은 분리 실행 대상 코드 블록(34)을 실행 형태로 제2 저장부(83)에 저장한다.On the other hand, the storage device program 52 including the separation execution object code block 34 may be provided from the host terminal 70 to the storage device 80 in a later issued form. In this case, the second control unit 85 may store the separation execution object code block 34 in the second storage unit 83 as follows. When the storage device 80 is connected to the host terminal 70, the storage device program processing section 84 stores the code block 34 of the executable content 30, which is purchased from the host terminal 70, And receives the program 52 for storage device through the second communication interface unit 81. The program processing unit 84 for a storage device executes a process for installing the storage device program 52 including the received detachment object code block 34 in the storage device program 52, And transmits it to the separation execution object code block processing unit 86. [ The separation execution object code block processing unit 86 stores the received separation execution object code block 34 in the second storage unit 83 in an execution form.

이때 분리 실행 대상 코드 블록 처리부(86)는 분리 실행 대상 코드 블록(34)을 제2 저장부(83)에 저장할 때, 분리 실행 대상 코드 블록(34)을 저장할 만큼 남은 메모리의 용량이 충분한 지의 여부를 확인한다. 확인 결과 충분한 경우, 분리 실행 대상 코드 블록 처리부(86)는 분리 실행 대상 코드 블록(34)을 실행 형태로 메모리에 저장한다.At this time, when the separation execution object code block 34 is stored in the second storage unit 83, the separation execution object code block processing unit 86 determines whether or not the remaining memory capacity enough to store the separation execution object code block 34 is sufficient . When the confirmation result is sufficient, the separation execution object code block processing section 86 stores the separation execution object code block 34 in the execution form in the memory.

하지만 확인 결과 부족한 경우, 분리 실행 대상 코드 블록 처리부(86)는 메모리 부족 메시지를 제2 통신인터페이스부(81)를 통하여 호스트 단말(70)로 전송한다. 호스트 단말(70)로부터 메모리 확보 요청 메시지를 수신하면, 저장장치용 프로그램 처리부(84)는 부족한 메모리 용량을 확보한다. 그리고 분리 실행 대상 코드 블록 처리부(86)는 분리 실행 대상 코드 블록(34)을 실행 형태로 메모리에 저장한다. 이때 메모리 확보 요청 메시지는 제2 저장부(83)에 저장된 정보 중 사용자의 선택 신호에 따른 특정 정보의 삭제 요청 메시지일 수 있다. 또는 메모리 확보 요청 메시지는 설치할 저장장치용 프로그램(52)에 대응하는 기 저장된 저장장치용 프로그램의 삭제 요청 메시지일 수 있다.However, if the verification result is insufficient, the separation execution object code block processing unit 86 transmits a memory short message to the host terminal 70 via the second communication interface unit 81. [ Upon reception of the memory reservation request message from the host terminal 70, the program processing unit 84 for storage device reserves a memory capacity insufficient. Then, the separation execution object code block processing section 86 stores the separation execution object code block 34 in an execution form in a memory. At this time, the memory reservation request message may be a deletion request message for specific information according to the user's selection signal among the information stored in the second storage unit 83. [ Or the memory reservation request message may be a deletion request message of a program for the stored storage corresponding to the program 52 for the storage device to be installed.

다음으로 분리 실행 대상 코드 블록(34)이 포함된 저장장치용 프로그램(52)이 선발급 형태로 제2 저장부(83)에 기 저장된 형태로 제공될 수 있다. 이 경우 제2 제어부(85)는 다음과 같이 분리 실행 대상 코드 블록(34)을 제2 저장부(83)에 저장할 수 있다.Next, the storage device program 52 including the detachment execution target code block 34 may be provided in a pre-stored form in the second storage unit 83 in a pre-stored form. In this case, the second control unit 85 may store the separation execution object code block 34 in the second storage unit 83 as follows.

저장장치(80)가 호스트 단말(70)에 접속하면, 저장장치용 프로그램 처리부(84)는 호스트 단말(70)로 기 저장된 분리 실행 대상 코드 블록(34)이 포함된 저장장치용 프로그램(52)의 설치 여부를 질의하는 메시지를 전송한다. 저장장치용 프로그램 처리부(84)가 호스트 단말(70)로부터 질의에 대한 응답으로 저장장치용 프로그램(52)의 설치 요청을 수신하면, 분리 실행 대상 코드 블록(34)이 포함된 저장장치용 프로그램(52)을 설치하는 과정에서 저장장치용 프로그램(52)에서 분리 실행 대상 코드 블록(34)을 추출하여 분리 실행 대상 코드 블록 처리부(86)로 전달한다. 그리고 분리 실행 대상 코드 블록 처리부(86)는 전달받은 분리 실행 대상 코드 블록(34)을 실행 형태로 제2 저장부(83)에 저장한다.When the storage device 80 connects to the host terminal 70, the storage device program processing section 84 stores the storage device program 52 including the detachment object code block 34 previously stored in the host terminal 70 And transmits a message inquiring whether or not it is installed. When the program processing unit 84 for storage device receives a request for installation of the program 52 for storage device in response to a query from the host terminal 70, the program for storage device containing the detachment object code block 34 52 from the program 52 for storage device, and transfers the code block to the separation execution object code block processing unit 86. [ The separation execution object code block processing unit 86 stores the received separation execution object code block 34 in the second storage unit 83 in an execution form.

본 발명의 실시예에 따른 분리 실행 기반의 컨텐츠용 코드 블록 제공 방법의 일 예를 도 1 내지 도 9를 참조하여 설명하면 다음과 같다. 여기서 도 8은 본 발명의 실시예에 따른 분리 실행 기반의 컨텐츠용 코드 블록 제공 방법의 일 예에 따른 흐름도이다. 그리고 도 9는 도 8의 분리 실행 대상 코드 블록을 저장하는 단계에 따른 상세흐름도이다.An example of a method of providing a code block for content based on separation execution according to an embodiment of the present invention will be described with reference to FIG. 1 to FIG. Here, FIG. 8 is a flowchart illustrating a method of providing a code block for content based on separation execution according to an embodiment of the present invention. And FIG. 9 is a detailed flowchart according to the step of storing the separation execution object code block of FIG.

본 실시예에 따른 코드 블록 제공 방법의 일 예는 분리 실행 대상 코드 블록(34)이 포함된 저장장치용 프로그램(52)이 후발급 형태로 호스트 단말(70)에서 저장장치(80)로 제공되는 경우이다.One example of the method of providing a code block according to the present embodiment is such that a program 52 for a storage device including a detachment object code block 34 is provided from the host terminal 70 to the storage device 80 in a later issued form .

먼저 S101단계에서 컨텐츠 등록 서버(20)는 등록된 실행형 컨텐츠(30)의 서비스용 컨텐츠(32)와 분리 실행 대상 코드 블록(34)을 DRM 서버(40)로 전송한다. DRM 서버(40)는 수신한 서비스용 컨텐츠(32)와 분리 실행 대상 코드 블록(34)에 DRM을 적용한다. 예컨대 DRM 서버(40)는 서비스용 컨텐츠(32)를 CEK로 암호화하고, DCF로 포맷팅하여 저장한다.First, in step S101, the content registration server 20 transmits the service content 32 of the registered executable content 30 and the separation execution object code block 34 to the DRM server 40. [ The DRM server 40 applies DRM to the received service content 32 and the separation execution object code block 34. [ For example, the DRM server 40 encrypts the service content 32 with the CEK, formats it with the DCF, and stores it.

한편 S103단계에서 저장장치(80)가 통신인터페이스(90)를 매개로 호스트 단말(70)에 접속된 상태에서, S105단계에서 호스트 단말(70)이 컨텐츠 분배 서버(50)로 특정 실행형 컨텐츠(30)의 구매를 요청한다. 즉 호스트 단말(70)이 네트워크(60)을 통하여 컨텐츠 분배 서버(50)에 접속하면, 컨텐츠 분배 서버(50)는 구매할 수 있는 실행형 컨텐츠(30)의 목록을 호스트 단말(70)로 제공한다. 호스트 단말(70)은 수신한 실행형 컨텐츠(30)의 목록을 화면에 표시하고, 특정 실행형 컨텐츠(30)에 대한 구매 요청이 입력되면, 이를 컨텐츠 분배 서버(50)로 전송한다.In step S103, the storage device 80 is connected to the host terminal 70 via the communication interface 90. In step S105, the host terminal 70 transmits the specific executive content ( 30). That is, when the host terminal 70 accesses the content distribution server 50 via the network 60, the content distribution server 50 provides the host terminal 70 with a list of the purchasable executable content 30 . The host terminal 70 displays a list of the received executive content 30 on the screen and transmits the purchase request for the specific executive content 30 to the content distribution server 50.

다음으로 S107단계에서 컨텐츠 분배 서버(50)는 특정 실행형 컨텐츠(30)의 구매 요청을 DRM 서버(40)로 전달한다.Next, in step S107, the content distribution server 50 delivers a purchase request for the specific executive content 30 to the DRM server 40. [

이어서 S109단계에서 DRM 서버(40)는 구매 요청한 실행형 컨텐츠(30)의 분리 실행 대상 코드 블록(34)이 포함된 저장장치용 프로그램(52)을 생성한다. 이어서 S111단계에서 DRM 서버(40)는 생성한 저장장치용 프로그램(52)을 컨텐츠 분배 서버(50)로 전송한다. 이때 S109단계에서 DRM 서버(40)는 사용자 개인키(private key)로 CEK를 암호화하여 권리 객체(42)를 생성한다. S111단계에서 DRM 서버(40)는 생성한 저장장치용 프로그램(52)과 함께 DRM이 적용된 서비스용 컨텐츠(32) 및 권리 객체(42)를 컨텐츠 분배 서버(50)로 전송한다Then, in step S109, the DRM server 40 generates a storage device program 52 including the code block 34 for separation execution of the purchase-requested execution content 30. Then, in step S111, the DRM server 40 transmits the generated storage device program 52 to the content distribution server 50. [ At this time, in step S109, the DRM server 40 encrypts the CEK with the user's private key to generate the rights object 42. [ In step S111, the DRM server 40 transmits the service content 32 and the rights object 42 to which the DRM is applied together with the generated storage device program 52 to the content distribution server 50

다음으로 S113단계에서 컨텐츠 분배 서버(50)는 수신한 저장장치용 프로그램(52), DRM이 적용된 서비스용 컨텐츠(32) 및 권리 객체(42)를 호스트 단말(70)로 전송한다.Next, in step S113, the content distribution server 50 transmits the received storage program 52, the service content 32 to which the DRM is applied, and the rights object 42 to the host terminal 70.

다음으로 S115단계에서 호스트 단말(70)은 수신한 저장장치용 프로그램(52)을 저장장치(80)로 전송한다. 이때 호스트 단말(70)은 분리 실행 대상 코드 블록(34)이 포함된 저장장치용 프로그램(52)에 대한 설치를 함께 요청할 수 있다. 아울러 호스트 단말(70)은 권리 객체(42)를 저장장치(80)로 전송한다.Next, in step S115, the host terminal 70 transmits the received storage device program 52 to the storage device 80. [ At this time, the host terminal 70 may request the installation for the storage device program 52 including the separation execution object code block 34 together. In addition, the host terminal 70 transmits the rights object 42 to the storage device 80.

이어서 S117단계에서 저장장치(80)는 수신한 저장장치용 프로그램(52)을 설치하고, 설치하는 과정에서 저장장치용 프로그램(52)에서 분리 실행 대상 코드 블록(34)을 추출한다(S119). 이때 저장장치(80)는 수신한 권리 객체(42)를 메모리에 저장한다.Then, in step S117, the storage device 80 installs the received storage device program 52, and extracts the separation execution object code block 34 from the storage device program 52 in the course of installation (S119). At this time, the storage device 80 stores the received right object 42 in the memory.

그리고 S121단계에서 저장장치(80)는 추출한 분리 실행 대상 코드 블록(34)을 메모리에 저장한다. 이때 S121단계를 도 9를 참조하여 설명하면 다음과 같다.In step S121, the storage device 80 stores the extraction execution target code block 34 in the memory. The step S121 will now be described with reference to FIG.

먼저 S123단계에서 저장장치(80)는 추출한 분리 실행 대상 코드 블록(34)을 저장할 만큼 남은 메모리의 용량이 충분한 지의 여부를 확인한다.First, in step S123, the storage device 80 confirms whether or not the capacity of the remaining memory sufficient to store the extracted separation execution object code block 34 is sufficient.

S123단계의 확인 결과 충분한 경우, S131단계에서 저장장치(80)는 추출한 분리 실행 대상 코드 블록(34)을 실행 형태로 메모리에 저장한다.If the result of the check in step S123 is sufficient, in step S131, the storage device 80 stores the extracted separation execution object code block 34 in an execution form in the memory.

하지만 S123단계의 확인 결과 부족한 경우, S125단계에서 저장장치(80)는 메모리 부족 메시지를 호스트 단말(70)로 전송한다. 다음으로 S127단계에서 호스트 단말(70)은 메모리 부족 메시지에 응답으로 메모리 확보 요청 메시지를 저장장치(80)로 전송한다. 이때 메모리 확보 요청 메시지는 저장장치(80)에 저장된 정보 중 사용자의 선택 신호에 따른 특정 정보의 삭제 요청 메시지일 수 있다. 또는 메모리 확보 요청 메시지는 설치할 저장장치용 프로그램(52)에 대응하는 기 저장된 저장장치용 프로그램의 삭제 요청 메시지일 수 있다.However, if the result of step S123 is insufficient, the storage device 80 transmits a memory short message to the host terminal 70 in step S125. Next, in step S127, the host terminal 70 transmits a memory reservation request message to the storage device 80 in response to the memory shortage message. At this time, the memory reservation request message may be a deletion request message of specific information according to the user's selection signal among the information stored in the storage device 80. [ Or the memory reservation request message may be a deletion request message of a program for the stored storage corresponding to the program 52 for the storage device to be installed.

다음으로 S129단계에서 저장장치(80)는 수신한 메모리 확보 요청 메시지에 따라 부족한 메모리 용량을 확보한다.Next, in step S129, the storage device 80 secures the insufficient memory capacity according to the received memory reservation request message.

그리고 S129단계에서 추출한 분리 실행 대상 코드 블록(34)을 저장할 정도로 메모리 용량이 확보되면, S131단계에서 저장장치(80)는 추출한 분리 실행 대상 코드 블록(34)을 실행 형태로 메모리에 저장한다.In step S131, the storage device 80 stores the extracted execution object code block 34 in an executable form in the memory when the memory capacity is secured enough to store the extraction execution object code block 34 extracted in step S129.

한편 본 실시예에 따른 분리 실행 기반의 컨텐츠용 코드 블록 제공 방법의 일 예에서는, DRM 서버(50)가 S107단계에서 실행형 컨텐츠 구매 요청을 수신하면 분리 실행 대상 코드 블록(34)이 포함된 저장장치용 프로그램(52)을 생성하는 예를 개시하였지만 이것에 한정되는 것은 아니다. 예컨대, DRM 서버(50)는 컨텐츠 등록 서버(20)로부터 분리 실행 대상 코드 블록(34)을 수신하면 S109를 S107단계 이전에 수행할 수 있다.On the other hand, when the DRM server 50 receives the execution content purchase request in step S107, the DRM server 50 determines whether to store the code block including the separation execution target code block 34 An example of generating the program 52 for the apparatus has been described, but the present invention is not limited thereto. For example, if the DRM server 50 receives the detachment object code block 34 from the content registration server 20, the DRM server 50 can perform step S109 before step S107.

그리고 S111단계에서 컨텐츠 분배 서버(50)가 저장장치용 프로그램(52)을 DRM 서버(40)로부터 수신하는 예를 개시하였지만 이것에 한정되는 것은 아니다. 예컨대 컨텐츠 분배 서버(50)는 DRM 서버(40)로부터 분리 실행 대상 코드 블록(34)을 수신하고, 수신한 분리 실행 대상 코드 블록(34)을 저장장치용 프로그램(52)에 포함시킬 수도 있다.In step S111, the content distribution server 50 has received an example of receiving the storage device program 52 from the DRM server 40. However, the present invention is not limited to this. The content distribution server 50 may receive the detachment object code block 34 from the DRM server 40 and include the received detachment object code block 34 in the storage device program 52. [

또한 본 실시예에서는 S103단계에 따른 호스트 단말(70)이 저장장치(80)에 접속된 상태에서 S105단계 내지 S113단계를 수행하는 예를 개시하였지만 이것에 한정되는 것은 아니다. 예컨대 호스트 단말(70)은 저장장치(80)가 접속되지 않은 상태에서, S105단계 내지 S113단계를 수행할 수 있다. 그리고 S113단계 이후에 호스트 단말(70)에 저장장치(80)가 접속되면, 호스트 단말(70)과 저장장치(80)는 연동하여 S115단계 내지 S121단계를 수행할 수 있다.In this embodiment, the example in which the host terminal 70 according to step S103 is connected to the storage device 80 performs steps S105 to S113 has been described, but the present invention is not limited thereto. For example, the host terminal 70 may perform steps S105 to S113 without the storage device 80 being connected. If the storage device 80 is connected to the host terminal 70 after step S113, the host terminal 70 and the storage device 80 may perform steps S115 to S121 in conjunction with each other.

본 발명의 실시예에 따른 분리 실행 기반의 컨텐츠용 코드 블록 제공 방법의 다른 예를 도 1 내지 도 10을 참조하여 설명하면 다음과 같다. 여기서 도 10은 본 발명의 실시예에 따른 분리 실행 기반의 컨텐츠용 코드 블록 제공 방법의 다른 예에 따른 흐름도이다.Another example of a method of providing a code block for content based on separation execution according to an embodiment of the present invention will be described with reference to FIG. 1 to FIG. Here, FIG. 10 is a flowchart illustrating another example of a method of providing a code block for contents based on separation execution according to an embodiment of the present invention.

본 실시예에 따른 코드 블록 제공 방법의 다른 예는 분리 실행 대상 코드 블록(34)이 포함된 저장장치용 프로그램(52)이 선발급 형태로 저장장치(80)에 제공된 경우이다.Another example of the code block providing method according to the present embodiment is a case in which the storage device program 52 including the separation execution object code block 34 is provided to the storage device 80 in the form of a starter class.

먼저 S102단계에서 분리 실행 대상 코드 블록(34)이 포함된 저장장치용 프로그램(52)이 기 저장된 저장장치(80)가 호스트 단말(70)에 접속되면, S104단계에서 저장장치(80)는 호스트 단말(70)로 분리 실행 대상 코드 블록(34)이 포함된 저장장치용 프로그램(52)의 설치 여부를 질의한다.When the storage device 80 in which the storage device program 52 including the detachment object code block 34 is stored is connected to the host terminal 70 in step S102, The terminal 70 inquires whether or not to install the storage device program 52 including the separation execution object code block 34. [

다음으로 S106단계에서 호스트 단말(70)은 질의에 대한 응답으로 해당 저장장치용 프로그램(52)의 설치를 저장장치(80)로 요청한다.Next, in step S106, the host terminal 70 requests the storage device 80 to install the storage device program 52 in response to the inquiry.

그리고 S117단계 내지 S121단계를 수행하여 저장장치(80)에 분리 실행 대상 코드 블록(34)을 실행 형태로 메모리에 저장한다. 이때 S117단계 내지 S121단계는 도 8 및 도 9에 대한 설명 부분과 중복되기 때문에 상세한 설명은 생략한다.Then, steps S117 to S121 are performed to store the separation execution target code block 34 in the memory in an execution form in the storage device 80. [ Since steps S117 to S121 are the same as those of FIGS. 8 and 9, detailed description thereof will be omitted.

본 실시예에 따른 분리 실행 기반의 컨텐츠용 코드 블록 제공 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터로 판독 가능한 기록매체에 기록될 수 있다. 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드 뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method of providing a code block for content based on the separation execution according to the present embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer readable recording medium. The recording medium may include program commands, data files, data structures, and the like, alone or in combination. Program instructions to be recorded on a recording 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. For example, the recording medium may be a magnetic medium such as a hard disk, a floppy disk and a magnetic tape, an optical medium such as a CD-ROM or a DVD, a magneto-optical medium such as a floppy disk magneto-optical media, and hardware devices that are specially configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions may include machine language code such as those generated by a compiler, as well as high-level language code that may be executed by a computer using an interpreter or the like. Such a hardware device may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

한편, 본 명세서와 도면에 개시된 실시예들은 이해를 돕기 위해 특정 예를 제시한 것에 지나지 않으며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형예들이 실시 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게는 자명한 것이다.It should be noted that the embodiments disclosed in the present specification and drawings are only illustrative of specific examples for the purpose of understanding, and are not intended to limit the scope of the present invention. It will be apparent to those skilled in the art that other modifications based on the technical idea of the present invention are possible in addition to the embodiments disclosed herein.

본 발명은 분리 실행 기반의 컨텐츠용 코드 블록 제공 시스템, 그 방법 및 그 방법이 기록된 컴퓨터로 판독 가능한 기록매체에 관한 것으로, 실행형 컨텐츠에 대한 호스트 단말과 저장장치 간의 분리 실행 시 안정적인 실행 환경을 제공할 수 있는 분리 실행 대상 코드 블록을 저장장치용 프로그램에 포함시켜 저장장치로 제공하고, 이를 통하여 분리 실행 대상 코드 블록을 저장장치로 제공하는 과정에서 서버, 호스트 단말 및 저장장치 간의 신호 처리 속도가 지연되는 문제를 억제할 수 있다.The present invention relates to a system for providing a code block for content based on separation, a method thereof, and a computer-readable recording medium on which the method is recorded. A signal processing speed between a server, a host terminal, and a storage device is reduced in a process of providing a code block for separation execution to a storage device, The problem of delay can be suppressed.

10 : 컨텐츠 제공 단말 20 : 컨텐츠 등록 서버
30 : 실행형 컨텐츠 32 : 서비스용 컨텐츠
34 : 분리 실행 대상 코드 블록 40 : DRM 서버
42 : 권리 객체 50 : 컨텐츠 분배 서버
52 : 저장장치용 프로그램 60 : 네트워크
70 : 호스트 단말 80 : 저장장치
100 : 분리 실행 기반의 디지털 저작권 관리 시스템
10: Content providing terminal 20: Content registration server
30: Executable content 32: Content for service
34: separation execution target code block 40: DRM server
42: right object 50: content distribution server
52: program for storage device 60: network
70: Host terminal 80: Storage device
100: Digital rights management system based on separation execution

Claims (18)

실행형 컨텐츠의 분리 실행 대상 코드 블록이 포함된 저장장치용 프로그램을 통신인터페이스로 연결된 저장장치로 전송하는 호스트 단말;
상기 호스트 단말로부터 상기 저장장치용 프로그램을 수신하고, 상기 수신한 저장장치용 프로그램을 설치하는 과정에서 상기 저장장치용 프로그램에서 상기 분리 실행 대상 코드 블록을 추출하고, 상기 추출한 분리 실행 대상 코드 블록을 실행 형태로 저장하는 저장장치;
를 포함하는 것을 특징으로 하는 분리 실행 기반의 컨텐츠용 코드 블록 제공 시스템.
A host terminal for transmitting a program for a storage device including a code block for executing execution of executable content to a storage device connected via a communication interface;
Extracting the detachment object code block from the storage device program in the course of installing the received storage device program, executing the extracted detachment object code block A storage device for storing in the form of;
And generating a code block for a content based on the extracted code block.
저장장치용 프로그램을 저장하는 데이터베이스부;
컨텐츠 등록 서버와 통신을 수행하는 송수신부;
상기 송수신부를 통하여 상기 컨텐츠 등록 서버로부터 실행형 컨텐츠의 분리 실행 대상 코드 블록을 수신하고, 상기 수신한 분리 실행 대상 코드 블록을 상기 저장장치용 프로그램에 포함시키는 서버제어부;
를 포함하는 것을 특징으로 하는 분리 실행 기반의 DRM 서버.
A database unit for storing a program for a storage device;
A transmitting / receiving unit for communicating with the content registration server;
A server control unit for receiving a code block to be separated from execution content from the content registration server through the transceiver unit and including the received code block to be separated for execution in the storage device program;
Wherein the DRM server comprises:
저장부;
호스트 단말과 통신을 수행하며, 상기 호스트 단말로부터 실행형 컨텐츠의 분리 실행 대상 코드 블록이 포함된 저장장치용 프로그램의 설치 요청을 수신하는 통신인터페이스부;
상기 통신인터페이스부로부터 상기 설치 요청을 전달받아 상기 실행형 컨텐츠의 분리 실행 대상 코드 블록이 포함된 저장장치용 프로그램을 설치하는 과정에서 상기 저장장치용 프로그램에서 상기 분리 실행 대상 코드 블록을 추출하는 저장장치용 프로그램 처리부;
상기 저장장치용 프로그램 처리부로부터 상기 추출된 분리 실행 대상 코드 블록을 전달받아 실행 형태로 상기 저장부에 저장하는 분리 실행 대상 코드 블록 처리부;
를 포함하는 것을 특징으로 하는 분리 실행 기반의 저장장치.
A storage unit;
A communication interface for communicating with a host terminal and receiving a request for installing a program for a storage device including a code block for executing execution of executable content from the host terminal;
A storage device that receives the installation request from the communication interface unit and extracts the detachment object code block from the storage device program in a process of installing a program for a storage device including a code block to execute detachment of the executable content; ;
A separation execution object code block processing unit for receiving the extracted separation execution object code block from the storage device program processing unit and storing it in the storage unit in an execution form;
And a storage unit that stores the execution information.
제3항에 있어서,
상기 통신인터페이스부는 상기 호스트 단말로부터 상기 실행형 컨텐츠의 분리 실행 대상 코드 블록이 포함된 저장장치용 프로그램을 수신하여 상기 저장장치용 프로그램 처리부로 전달하는 것을 특징으로 하는 분리 실행 기반의 저장장치.
The method of claim 3,
Wherein the communication interface unit receives a program for a storage device including the code block to be separated from the executable content from the host terminal and transfers the program to the program processor for storage device.
제3항에 있어서,
상기 저장부에 상기 실행형 컨텐츠의 분리 실행 대상 코드 블록이 포함된 저장장치용 프로그램이 기 저장되어 있는 것을 특징으로 하는 분리 실행 기반의 저장장치.
The method of claim 3,
Wherein the storage unit stores a program for a storage device including a code block to be separated for execution of the executable content.
제5항에 있어서,
상기 통신인터페이스부를 통하여 상기 호스트 단말에 접속하면 상기 저장장치용 프로그램 처리부는 상기 기 저장된 저장장치용 프로그램의 설치 여부를 상기 호스트 단말로 질의하고, 상기 질의에 대한 응답으로 설치 요청을 수신하면 상기 기 저장된 저장장치용 프로그램에서 상기 분리 실행 대상 코드 블록을 추출하는 것을 특징으로 하는 분리 실행 기반의 저장장치.
6. The method of claim 5,
Wherein the program processing unit for the storage device inquires of the host terminal whether or not the pre-stored storage device program is installed when the host computer accesses the host terminal through the communication interface unit, and upon receiving the installation request in response to the inquiry, And the extraction execution object code block is extracted from the program for the storage device.
분리 실행 기반의 컨텐츠용 코드 블록 제공 방법으로,
저장장치가 접속한 호스트 단말로부터 실행형 컨텐츠의 분리 실행 대상 코드 블록이 포함된 저장장치용 프로그램의 설치 요청을 수신하는 수신 단계;
상기 저장장치가 상기 저장장치용 프로그램을 설치하는 과정에서 상기 저장장치용 프로그램에서 상기 분리 실행 대상 코드 블록을 추출하는 추출 단계;
상기 저장장치가 상기 추출한 분리 실행 대상 코드 블록을 실행 형태로 저장하는 저장 단계;
를 포함하는 것을 특징으로 하는 분리 실행 기반의 컨텐츠용 코드 블록 제공 방법.
A method for providing a code block for content based on separation execution,
A receiving step of receiving from the host terminal connected to the storage device an installation request of a program for a storage device including an execution object code block for execution content;
An extraction step of extracting the separation execution object code block from the storage device program in the process of installing the storage device program by the storage device;
A storage step of storing the extraction execution target code block extracted by the storage device in an execution form;
And generating a code block for a content based on the extracted execution code.
제7항에 있어서, 상기 수신 단계에서,
상기 저장장치가 접속한 호스트 단말로부터 상기 실행형 컨텐츠의 분리 실행 대상 코드 블록이 포함된 저장장치용 프로그램을 수신하는 것을 특징으로 하는 분리 실행 기반의 컨텐츠용 코드 블록 제공 방법.
8. The method of claim 7, wherein in the receiving step,
Wherein the storage device receives a program for a storage device including a code block to be separated from the executable content from a host terminal connected to the storage device.
제7항에 있어서, 상기 수신 단계 이전에 수행되는,
상기 저장장치가 호스트 단말에 접속하면, 상기 저장장치에 기 저장된 실행형 컨텐츠의 분리 실행 대상 코드 블록의 설치 여부를 상기 호스트 단말에 질의하는 단계;
를 더 포함하며,
상기 수신 단계에서 상기 저장장치가 상기 질의에 대한 응답으로 상기 호스트 단말로부터 설치 요청을 수신하는 것을 특징으로 하는 분리 실행 기반의 컨텐츠용 코드 블록 제공 방법.
8. The method of claim 7, further comprising:
The method comprising the steps of: when the storage device is connected to a host terminal, inquiring of the host terminal whether or not to install a code block to execute separation of executable content previously stored in the storage device;
Further comprising:
Wherein in the receiving step, the storage device receives an installation request from the host terminal in response to the inquiry.
제9항에 있어서, 상기 수신 단계와 상기 추출 단계 사이에 수행되는,
상기 저장장치가 기 저장된 실행형 컨텐츠의 분리 실행 대상 코드 블록이 포함된 저장장치용 프로그램을 호출하는 호출 단계;
를 더 포함하는 것을 특징으로 하는 분리 실행 기반의 컨텐츠용 코드 블록 제공 방법.
10. The method of claim 9, further comprising:
A calling step in which the storage device calls a program for a storage device including a code block for executing a separately executed executable content;
The method of claim 1, further comprising:
제7항에 있어서, 상기 저장 단계는,
상기 저장장치가 상기 추출한 분리 실행 대상 코드 블록을 저장할 만큼 남은 메모리의 용량이 충분한 지를 확인하는 단계;
상기 확인 결과 충분한 경우, 상기 저장장치가 상기 추출한 분리 실행 대상 코드 블록을 실행 형태로 상기 메모리에 저장하는 단계;
를 포함하는 것을 특징으로 하는 분리 실행 기반의 컨텐츠용 코드 블록 제공 방법.
8. The method of claim 7,
Confirming that the storage device has a sufficient capacity of the remaining memory to store the extracted execution execution target code block;
Storing the extracted execution object code block in an execution form in the memory when the verification result is satisfactory;
And generating a code block for a content based on the extracted execution code.
제11항에 있어서,
상기 확인 결과 부족한 경우, 상기 저장장치가 메모리 부족 메시지를 상기 호스트 단말로 전송하는 단계;
상기 저장장치가 상기 호스트 단말로부터 메모리 확보 요청 메시지를 수신하여 부족한 메모리 용량을 확보하는 단계;
상기 저장장치가 상기 추출한 분리 실행 대상 코드 블록을 실행 형태로 상기 메모리에 저장하는 단계;
를 더 포함하는 것을 특징으로 하는 분리 실행 기반의 컨텐츠용 코드 블록 제공 방법.
12. The method of claim 11,
If the result of the check is insufficient, the storage device transmits an out-of-memory message to the host terminal;
The storage device receiving a memory reservation request message from the host terminal to secure a memory capacity insufficient;
Storing the extracted execution object code block in an execution form in the memory by the storage device;
The method of claim 1, further comprising:
제12항에 있어서,
상기 메모리 확보 요청 메시지는 상기 저장장치에 저장된 정보에 대한 삭제 요청 메시지를 포함하는 것을 특징으로 하는 분리 실행 기반의 컨텐츠용 코드 블록 제공 방법.
13. The method of claim 12,
Wherein the memory reservation request message includes a deletion request message for information stored in the storage device.
제12항에 있어서,
상기 메모리 확보 요청 메시지는 설치할 저장장치용 프로그램에 대응하는 기 저장된 저장장치용 프로그램의 삭제 요청 메시지를 포함하는 것을 특징으로 하는 분리 실행 기반의 컨텐츠용 코드 블록 제공 방법.
13. The method of claim 12,
Wherein the memory reservation request message includes a deletion request message of a stored program for a storage device corresponding to a program for a storage device to be installed.
제7항에 있어서,
상기 저장장치용 프로그램은 인스톨(install) 또는 갱신(update)용 프로그램을 포함하는 것을 특징으로 하는 분리 실행 기반의 컨텐츠용 코드 블록 제공 방법.
8. The method of claim 7,
Wherein the program for the storage device includes a program for installing or updating the program code.
제7항에 있어서,
상기 분리 실행 대상 코드 블록은 상기 저장장치에서 실행할 수 있는 저장장치용 코드 블록으로 변환되어 있는 것을 특징으로 하는 분리 실행 기반의 컨텐츠용 코드 블록 제공 방법.
8. The method of claim 7,
Wherein the code block for separation execution is converted into a code block for a storage device executable in the storage device.
제7항에 있어서,
상기 저장장치가 자바 카드 플랫폼(Java Card Platform)을 기반으로 하는 경우, 상기 저장장치용 프로그램은 애플릿(applet)이며, 상기 분리 실행 대상 코드 블록은 Java Byte 코드 블록 또는 ARM용 코드 블록으로 변환되어 있는 것을 특징으로 하는 분리 실행 기반의 컨텐츠용 코드 블록 제공 방법.
8. The method of claim 7,
If the storage device is based on a Java Card Platform, the program for the storage device is an applet, and the detachment object code block is converted into a Java Byte code block or an ARM code block Wherein the code block comprises a plurality of code blocks.
제7항 내지 제17항 중 어느 한 항에 따른 방법이 기록된 컴퓨터로 판독 가능한 기록매체.A computer-readable recording medium on which the method according to any one of claims 7 to 17 is recorded.
KR1020100029969A 2009-07-30 2010-04-01 System for providing code block for separating execution based contents, method thereof and computer recordable medium storing the method KR101432989B1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20090070231 2009-07-30
KR1020090070231 2009-07-30
KR20090070229 2009-07-30
KR1020090070229 2009-07-30

Publications (2)

Publication Number Publication Date
KR20110013184A KR20110013184A (en) 2011-02-09
KR101432989B1 true KR101432989B1 (en) 2014-08-27

Family

ID=43772986

Family Applications (8)

Application Number Title Priority Date Filing Date
KR20100029978A KR101487176B1 (en) 2009-07-30 2010-04-01 System for providing code block for separating execution based contents, method thereof and computer recordable medium storing the method
KR1020100029969A KR101432989B1 (en) 2009-07-30 2010-04-01 System for providing code block for separating execution based contents, method thereof and computer recordable medium storing the method
KR20100030188A KR101487175B1 (en) 2009-07-30 2010-04-02 Host device and Storage device for separating management of RO, method for separating management of RO, and storage media recorded program executing separating RO management
KR1020100030172A KR20110013187A (en) 2009-07-30 2010-04-02 System and method for providing service or contents using storage device, drm-server and storage device, and recording medium thereof
KR1020100030189A KR101504087B1 (en) 2009-07-30 2010-04-02 Web service system and method based on storage device, and storage media recorded program executing web service method
KR1020100030784A KR101525402B1 (en) 2009-07-30 2010-04-05 Separating execution method of executable contents, device for forming separating execution based executable contents, and storage media recorded separating execution based executable contents
KR1020100031120A KR101374159B1 (en) 2009-07-30 2010-04-05 System and method for managing rights object using storage device, DRM-server and terminal, and recording medium thereof
KR1020100031065A KR101544731B1 (en) 2009-07-30 2010-04-05 Storage device capable of separating execution of executable content, and device for configuring native execution environment in storage device

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR20100029978A KR101487176B1 (en) 2009-07-30 2010-04-01 System for providing code block for separating execution based contents, method thereof and computer recordable medium storing the method

Family Applications After (6)

Application Number Title Priority Date Filing Date
KR20100030188A KR101487175B1 (en) 2009-07-30 2010-04-02 Host device and Storage device for separating management of RO, method for separating management of RO, and storage media recorded program executing separating RO management
KR1020100030172A KR20110013187A (en) 2009-07-30 2010-04-02 System and method for providing service or contents using storage device, drm-server and storage device, and recording medium thereof
KR1020100030189A KR101504087B1 (en) 2009-07-30 2010-04-02 Web service system and method based on storage device, and storage media recorded program executing web service method
KR1020100030784A KR101525402B1 (en) 2009-07-30 2010-04-05 Separating execution method of executable contents, device for forming separating execution based executable contents, and storage media recorded separating execution based executable contents
KR1020100031120A KR101374159B1 (en) 2009-07-30 2010-04-05 System and method for managing rights object using storage device, DRM-server and terminal, and recording medium thereof
KR1020100031065A KR101544731B1 (en) 2009-07-30 2010-04-05 Storage device capable of separating execution of executable content, and device for configuring native execution environment in storage device

Country Status (1)

Country Link
KR (8) KR101487176B1 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101447282B1 (en) * 2012-08-20 2014-10-16 주식회사 네오위즈인터넷 Method, mobile terminal, recording medium, and system for providing mobile payment service
WO2014178618A1 (en) * 2013-04-29 2014-11-06 케이피커뮤니케이션 주식회사 Bidirectional advertisement motion picture matching system and method for operating same
KR102156371B1 (en) 2013-11-27 2020-09-15 한국전자통신연구원 Method for providing embedded software development tools for supporting embedded software development environment based on native building and apparatus thereof
KR102204654B1 (en) * 2014-01-24 2021-01-19 주식회사 넥슨코리아 Method and apparatus for providing content purchased from offline store
KR101671336B1 (en) * 2014-02-27 2016-11-16 (주)스마일게이트엔터테인먼트 Method of unpacking protection with code separation and apparatus thereof
KR102443069B1 (en) 2015-08-12 2022-09-14 삼성전자주식회사 Deveice and method for executing application
CA2993857A1 (en) * 2018-02-02 2019-08-02 Ferguson Technologies Inc. Systems and methods for generating electrical energy
KR102441167B1 (en) * 2018-12-05 2022-09-08 한국전자통신연구원 Apparatus and method for executing function

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030041027A (en) * 2001-11-19 2003-05-23 에스케이텔레텍주식회사 Method and Device for providing Resource Alone of Contents Application for Mobile Communication terminal
KR100783811B1 (en) 2007-08-28 2007-12-10 주식회사 파수닷컴 Method of digital rights management about a compressed file
WO2009083869A1 (en) 2007-12-20 2009-07-09 Koninklijke Philips Electronics N.V. Device and method for digital right management

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002215828A (en) * 2000-11-16 2002-08-02 Yoshinobu Inada Management system and management method of digital literary work
KR101254209B1 (en) * 2004-03-22 2013-04-23 삼성전자주식회사 Apparatus and method for moving and copying right objects between device and portable storage device
KR101043336B1 (en) * 2004-03-29 2011-06-22 삼성전자주식회사 Method and apparatus for acquiring and removing informations of digital right objects
JP4664055B2 (en) 2004-12-10 2011-04-06 株式会社エヌ・ティ・ティ・ドコモ Program dividing device, program executing device, program dividing method, and program executing method
JP2006172351A (en) 2004-12-20 2006-06-29 Hitachi Ltd Method and system for content expiration date management by use of removable medium
KR100738917B1 (en) 2006-02-14 2007-07-12 에스케이 텔레콤주식회사 Server, method and system for providing encryption contents and rights object to electronic communication device by using delegation schemes of rights issuer server
KR101346734B1 (en) * 2006-05-12 2014-01-03 삼성전자주식회사 Multi certificate revocation list support method and apparatus for digital rights management
KR101314271B1 (en) * 2006-07-25 2013-10-02 엘지전자 주식회사 Digital rights management method and system thereof
KR101354759B1 (en) 2007-01-03 2014-01-22 엘지전자 주식회사 Digital rights management method for terminal

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030041027A (en) * 2001-11-19 2003-05-23 에스케이텔레텍주식회사 Method and Device for providing Resource Alone of Contents Application for Mobile Communication terminal
KR100783811B1 (en) 2007-08-28 2007-12-10 주식회사 파수닷컴 Method of digital rights management about a compressed file
WO2009083869A1 (en) 2007-12-20 2009-07-09 Koninklijke Philips Electronics N.V. Device and method for digital right management

Also Published As

Publication number Publication date
KR101487176B1 (en) 2015-02-02
KR20110013184A (en) 2011-02-09
KR20110013188A (en) 2011-02-09
KR101525402B1 (en) 2015-06-08
KR20110013189A (en) 2011-02-09
KR101487175B1 (en) 2015-02-02
KR20110013191A (en) 2011-02-09
KR20110013192A (en) 2011-02-09
KR20110013187A (en) 2011-02-09
KR101374159B1 (en) 2014-03-13
KR101544731B1 (en) 2015-08-17
KR101504087B1 (en) 2015-03-24
KR20110013185A (en) 2011-02-09
KR20110013193A (en) 2011-02-09

Similar Documents

Publication Publication Date Title
KR101432989B1 (en) System for providing code block for separating execution based contents, method thereof and computer recordable medium storing the method
JP4409438B2 (en) Device memory management during electronic file update
KR100796583B1 (en) System, method and storage medium for license management
EP2628125B1 (en) Method and apparatus for downloading drm module
US20120090021A1 (en) Platform Specific Application Building
US9392051B2 (en) Application distribution supplying a dedicated application to a terminal from an application deposited by the developer
JP2007528064A (en) Running unverified programs in a wireless device operating environment
US7600228B2 (en) Information processing device and information processing terminal
KR100710005B1 (en) Method and Apparatus for handing over the right of using on using DRM
KR101442000B1 (en) Server for registering separating execution based contents, method thereof and computer recordable medium storing program performing the method
KR101498919B1 (en) System and method for digital rights management based on storage device, and recording medium thereof
KR100859968B1 (en) Method of downloading mobile contents
KR20120002079A (en) System for protecting copyright of application, apparatus and method for protecting copyright of application, and terminal device and method for protecting copyright of application of the terminal device
US20060212513A1 (en) Managing apparatus, managing method and computer-readable storage medium
JP4934162B2 (en) Mobile terminal and management program
KR100611119B1 (en) Method and apparatus for providing wipi contents service using drm
JP2006099641A (en) Communication system, server device, client device, communication method and program
KR101804242B1 (en) System and Method for providing game using USIM
JPH11219292A (en) Program license management system and computer readable medium recording program
JP2003280757A (en) Information processing software using service system, accounting method, storage medium and program
KR20060117778A (en) Method and apparatus for providing multi-media contents service using drm

Legal Events

Date Code Title Description
N231 Notification of change of applicant
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: 20180731

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190718

Year of fee payment: 6