KR20010031004A - 다중 연결 데이터 프로세서 - Google Patents

다중 연결 데이터 프로세서 Download PDF

Info

Publication number
KR20010031004A
KR20010031004A KR1020007003790A KR20007003790A KR20010031004A KR 20010031004 A KR20010031004 A KR 20010031004A KR 1020007003790 A KR1020007003790 A KR 1020007003790A KR 20007003790 A KR20007003790 A KR 20007003790A KR 20010031004 A KR20010031004 A KR 20010031004A
Authority
KR
South Korea
Prior art keywords
memory
connection
event
objects
manager
Prior art date
Application number
KR1020007003790A
Other languages
English (en)
Other versions
KR100558674B1 (ko
Inventor
홍타오 리아오
루이 리앙 양
Original Assignee
삐에르 레꾸르
까날 (쏘시에떼 아노님)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from EP97402362A external-priority patent/EP0909094A1/en
Priority claimed from EP97402430A external-priority patent/EP0908821A1/en
Priority claimed from EP97402361A external-priority patent/EP0909091A1/en
Application filed by 삐에르 레꾸르, 까날 (쏘시에떼 아노님) filed Critical 삐에르 레꾸르
Publication of KR20010031004A publication Critical patent/KR20010031004A/ko
Application granted granted Critical
Publication of KR100558674B1 publication Critical patent/KR100558674B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4435Memory management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4437Implementing a Virtual Machine [VM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
    • H04N7/163Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing by receiver means only

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Devices For Executing Special Programs (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Stored Programmes (AREA)
  • Television Systems (AREA)
  • Image Processing (AREA)
  • Circuits Of Receivers In General (AREA)

Abstract

제 1 양태에서, 본 발명이 디지털 시청각 데이터를 처리하기 위한 장치를 포함하고, 특히, 디지털 텔레비전 시스템을 위한 수신기/복호기가 데이터의 전송 및 수령을 위한 하나 이상의 장치를 포함하고, 하드웨어 장치는 하드웨어 운영 시스템(4100)과 연관된 적어도 하나의 장치를 가지며, 디코더는 하드웨어 운영 시스템에 의해 신호되는 이벤트 메시지를 수신하고 하나 이상의 연결을 위한 상응하는 이벤트 객체를 할당하기 위해 특히 적용되는 다중 연결 가상 계산기를 포함하는 데이터 처리 시스템을 또한 포함하고, 하나의 연결은 다른 연결의 실행을 허용하는 실행 과정 동안 보류될 수 있는 이벤트 객체를 포함한다. 제 2 양태에서, 본 발명은 하나 이상의 하드웨어 장치를 통하여 다운로드되는 해석적 언어에 기록된 코드를 수신하기 위해 적용되는 제 1 가상 계산기를 포함하는 데이터 처리 시스템을 포함하는 디지털 시청각 데이터를 처리하기 위한 장치와 관련된 것이고, 상기 가상 계산기는 수신된 코드의 구조에 의존하여 적어도 2개의 해석적 언어로 기록된 코드간을 구별하고, 공통 또는 특정 기능 라이브러리를 특히 참고하여 해석 및 실행을 위한 상응하는 해석기 수단에 코드를 통과시키기 위해 적용된다. 제 3 양태에 따라서, 본 발명은 메모리에서 객체를 할당 및 저장하기 위한 메모리 및 메모리 관리기를 포함하는 데이터 처리 시스템을 포함하는 디지털 시청각 데이터를 처리하기 위한 장치를 포함하고, 객체의 제 1 세트는 핸들의 세트를 참고하여 메모리 관리기에 의해 할당되고, 각 핸들은 상응하는 객체의메모리 어드레스를 참고로 포함하고, 객체의 제 2 세트는 핸들을 참고하지 않고 메모리에서 직접적으로 할당 및 저장된다.

Description

다중 연결 데이터 프로세서{Multithread Data Processor}
디지털 텔레비전 데이터 및 다운로드된 애플리케이션을 프로세싱 하도록 가상 계산기와 런타임 엔진을 사용하는 디지털 텔레비전 시스템에서 복호기를 제어하기 위한 시스템을 기본으로 하는 소프트웨어는 PCT 애플리케이션 PCT/EP97/02116에 도시된다. 이 시스템은 가상 계산기 구조의 사용을 통하여 제조된 복호기의 하드웨어 요소를 위한 시스템의 애플리케이션층에 대한 개별화에 관하여, 수신기/복호기를 위해 이전에 공지된 시스템과의 비교에서 수 개의 이점을 현저하게 가진다.
이 애플리케이션에 기술된 시스템은 시스템에서 발생하는 제어 및 처리 이벤트를 위한 단일 파일 대기행렬 기본 구조의 원리를 사용한다. 수 개의 단점은 시스템에서 현재 입력의 수를 효과적으로 조절하기 위한 높은 우선 이벤트와 무능력에 대한 비교적 느린 응답을 포함하는 대기 행렬 기본 구조와 연관된다. 기술한 바와 같이, 시스템은 프로세스 시퀀스 유닛의 수를 포함한다. 시스템이 이러한 시퀀서의 동작을 우선할 수 있을지라도, 특정 프로세스가 시작될 때, 다른 것을 위한 변화가 가능하지 않다.
구조의 이러한 약점은 수신기/복호기가 쌍방향 애플리케이션을 포함하는 경우에 특히 예리해진다. 예를 들면, 다운로드 데이터에 요구되는 빈번한 긴 시간과 결합된 우선 명령에 응답하여 작업을 변경하는 시스템의 무능력이 사용자로부터 명령이 다른 모드에서 변화할지라도 하나의 동작으로 고착되는 시스템을 초래할 수 있다.
본 발명은 디지털 시청각 데이터를 프로세스하기 위한 장치에 관한 것으로, 특히 다중 연결 데이터 프로세서를 포함하는 디지털 텔레비전 시스템을 위한 복호기에 관한 것이다.
도 1은 디지털 텔레비전 시스템의 전망도이다.
도 2는 도 1의 디지털 텔레비전 시스템내에 양방향 시스템 요소를 도시한다.
도 3은 본 발명의 수신기/복호기내에서 실시되는 시스템을 기본으로 하는 소프트웨어의 구조를 도시한다.
도 4는 특히 이벤트 관리기 패키지, 해석 패키지 및 메모리 패키지를 포함하는, 도 3의 시스템내에서 가상 계산기의 구조를 도시한다.
도 5는 가상 계산기에 사용된 해석기의 구조를 도시한다.
도 6은 가상 계산기내에서 조절되는 연결을 도시한다.
도 7은 이벤트 관리기의 동작 및 가상 계산기의 스케줄을 도시한다.
도8은 가상 계산기에 의한 메모리 풀의 관리를 도시한다.
이 공지된 시스템의 장치 드라이버 구조를 간략화할 필요성이 또한 있다. 공지된 복호기의 런타임 엔진 및 하드웨어 레벨 장치간에 통신이 다수의 장치 드라이버 이벤트 메시지의 우선를 조절하는 장치 관리기에 의해 조절되는 전체적인 조직 및 프로세스 시퀀스 유닛의 대기 구조에서 입력에 의해 조절된다. 애플리케이션에서 기술된 것으로서, 런타임 엔진이 시스템 관계자에 의해 제공될 때, 장치 드라이버와 관리기는 시스템 관계자의 명기에 이어 복호기 제조자에 의해 일반적으로 제공된다.
이 명세서에서, 장치라는 용어는 스마트 카드 또는 방송 흐름을 통하여 수신되는 것과 같이, 복호기에 의해 수신되고 전송되는 프로세서 데이터에 사용되는 인터페이스 장치를 설명하기 위하여 일반적으로 사용된다.
복호기 제조자에 의해 명세서의 해석 측면에서 차이점은 예를 들면, 관리기가 우선 이벤트의 정확하게 분류하지 않는 문제점을 초래한다. 이러한 경우에 대기행렬 시스템은 이벤트가 이벤트 필터에 의해 제공됨으로써 보류될 수 있고 프로세서 시퀀서가 그것들 우선성의 기간에서 잘못 확인될 수 있고 대기 행렬 시스템에 의해 정확하지 않게 조절될 수 있다.
이 문제를 극복하는 것이 본 발명의 한 양태의 목적이다.
본 발명의 제 1 양태에 따라서, 디지털 시청각 데이터를 프로세싱하기 위해 장치가 제공되고, 상기 장치는 데이터를 전송 및 수령하기 위한 하나 이상의 하드웨어 장치와 연관된 하드웨어 운영 시스템과 연관된 적어도 하나의 장치를 가지며, 상기 장치는 특히 하드웨어 운영 시스템에 의해 신호되는 이벤트 메시지를 수령하기에 적당하고, 하나 이상의 연결(thread)을 위한 이벤트 객체와 상응하여 할당되기에 적당한 다중 연결 가상 계산기를 포함하는 데이터 프로세싱 시스템을 또한 포함하고, 이벤트 객체가 포함된 하나의 연결은 다른 연결의 실행을 혀용하도록 다른 연결의 실행 과정동안 미결될 수 있다.
다중연결 구조의 사용을 통하여, 본 발명은 긴박하지 않은 프로세스가 일시적으로 미결되어 있는 동안 높은 우선 이벤트가 빨리 처리되도록, 장치의 외부적 인터페이스를 통하여 수신된 이벤트의 도착에 효과적으로 응답하는 시스템이 가능하다.
하나의 실시예에서, 가상 계산기는 미리 빈 다중 연결 구조를 가지고 있고, 여기서 더 높은 우선적 연결 생성의 실행을 초래하는 동안 연결이 미결된다. 이 실시예가 우선 이벤트를 위한 응답에 바람직한 반면, 다른 실시예는 가상 계산기가 실행된 다른 연결이 존재한다면 관찰을 위한 미리 예정된 기간 간격에서 연결의 실시가 보류되는 시간 분할 실시예와 같이 직시될 수 있다.
바람직하게, 가상 계산기는 연결 대기행렬이 구성되는 우선에서 하나 이상의 연결에서 이벤트 객체를 저장함에 의해 하드웨어 운영 시스템에 의해 신호되는 이벤트 메시지에 응답하여 적응된 이벤트 관리기를 포함한다.
이 방식에서, 이벤트의 우선성은 공지된 시스템의 문제를 피하는 가상 계산기에 의해 직접적으로 조절될 수 있고, 여기서 이벤트는 낮은 레벨 장치 드라이버 및 관리기에 의해 프로세서 대기 행렬에 삽입되도록 우선 정돈된다. 위에서 논의된 바와 같이, 드라이버의 실시는 1개의 제조기로부터 다른 것까지 다양할 수 있다. 반대로, 이 바람직한 실시예에서, 이벤트 메시지는 가상 계산기, 하나의 플랫폼에서 다른 플랫폼으로 변화가능하지 않은 특성내에서 이벤트 관리기에 의해 저장 및 우선화된다.
이벤트 조절이 가상 계산기에 의해 이제 효과적으로 실행된다는 사실에도 불구하고, 시스템이 가상 계산기의 운영 시스템과 하드웨어 레벨 운영 시스템 사이에서 인터페이스로서 제공되는 특정 실시예에서 하나 이상의 장치 드라이버를 포함하는 것도 또한 당연하다.
하드웨어 운영 시스템으로부터 발생되는 이벤트에 부가적으로, 이벤트 관리기는 가상 계산기 또는 더 높은 레벨 애플리케이션내로부터 발생되는 이벤트 메시지에 응답하여 또한 구성될 수 있다.
바람직한 실시예에서, 연결 내에 이벤트 객체의 순서는 이벤트의 우선성 및/또는이벤트의 도착 시간에 따라 우선화될 수 있다. 이것은 연결 대기행렬에서 연결을 위한 지시의 할당에서 수행되는 초기 우선성에 부가될 수 있다.
하나의 실시예에서, 가상 계산기는 가능한 이벤트 메시지에 대하여 정보를 포함하는 경로 테이블 또한 포함하고, 수신된 이벤트 메시지의 연결 응답으로 결정하기 위한 이벤트 메시지가 가능하도록 이벤트 관리기에 의해 어드레스로 불러낼수 있다. 이 경로 테이블은 연결내에 이벤트 객체의 우선성을 결정하기 위해 또한 사용될 수 있다. 당업자에 의해 이해될 수 있는 것으로, 선택적 수단이 또한 사용된다.
이벤트 관리기 또는 경로 테이블에 부가적으로, 가상 계산기는 연결 대기행렬을 구성하는 우선성에 유지되는 연결을 검사하고, 그 시간에서 가장 높은 우선성을 가지는 연결의 실시를 명령하기 위해 선택되는 스케줄러를 포함한다. 미리 비어 있는 연결 관리 동작을 실시하기 위해서, 이벤트 관리기는 이벤트 메시지의 도달을 신호하고, 연결 대기 행렬에서 연결의 새로운 상태를 검사하는 스케줄러를 초래하기 위해 선택될 수 있다.
위에서 기술된 PCT 애플리케이션 PCT/EP97/02116에서 시스템의 하나의 문제점은 수신된 코드의 처리와 관계된다. 가상 계산기와 런타임 엔진의 사용이 이 애플리케이션에서 기술된 시스템으로 하여금 시스템의 하드웨어 레벨에 크게 독립되게 할지라도, 시스템의 개방은 공지된 시스템에서 가상 계산기의 상부에 놓여진 애플리케이션을 쓰도록 사용되는 코드에 의해 역시 한정된다. 애플리케이션에서 기술된 바와 같이, 코드는 해석적인 언어로 쓰이고, 방송 센터로부터 수신기로 다운로딩되고, 가상 계산기에서 해석어에 의해 해독된다.
코드는 상업적으로 공지되고 표준화된 언어로 선택될 수 있을지라도, 문제는 예를 들면, 수신기가 2개 이상의 다른 코드로 쓰여진 애플리케이션을 처리하는 데서 발생할 수 있다. 이 문제는 예를 들면, 존재하는 복호기가 본 복호기에서 사용된 코드와 다르게 쓰여진 애플리케이션을 수신하기 위해 선택되는 방송 시스템에 소개된다는 점에서 발생할 수 있다. 이러한 경우에, 동작기는 주어진 애플리케어션을 2번 다운로드하도록 할 수 있다. 한번은 존재하는 복호기를 위해 원래 언어에 쓰여질 때와 한번은 새로운 복호기를 위해 새로운 코드에서 쓰여질 때. 명확해지는 것으로서, 이러한 동작이 대역폭의 사용 기간 동안에는 비교적 비능률적이라는 것이다.
본 발명의 하나의 양태의 목적은 이 문제를 극복하는 것이다.
본 발명의 제 2 양태에 따라서, 장치의 외부적 데이터의 전송 및 수령을 위한 하나 이상의 하드웨어 장치를 포함하는 디지털 오디오 비주얼 데이터를 처리하기 위한 장치를 제공하고, 상기 장치는 하드웨어 장치의 하나 이상의 하드웨어 장치를 통하여 다운로드되는 해석적 언어에서 쓰여진 언어를 특히 수신하기 위해 제 1 가상 계산기를 포함하고, 상기 가상 계산기는 수신된 신호의 구조에 독립적으로 적어도 2개의 해석적 언어에 쓰여진 코드간에 구별되고 해석 및 실행을 위한 상응하는 해석기 수단에 이러한 코드를 통과하도록 선택된다.
이러한 코드를 해석하기 위한 다수의 해석기 수단과 함께 수신된 코드 사이에서 구별하기 위해 선택되는 가상 계산기를 제공함에 의해, 본 발명은 종래 시스템과 연관된 문제를 피하고, 다른 해석적 언어에 도달하는 지시를 처리하기 위한 머신이 가능하다. 상부 애플리케이션 및 하부 하드웨어 인터페이스와의 관계에서 완전 개방 시스템이 제공될 수 있다.
하나의 실시예에서, 가상 계산기는 언어 중 하나에서 코드의 모듈과 연관된 헤더 메시지의 특성을 기본으로 적어도 2개의 해석적 언어에서 해석적 코드들 간을 구별한다. 특히, 가상 계산기는 하나의 언어에서 코드의 모듈과 연관된 헤더 메시지의 존재 또는 부재를 기본으로 해석적 코드들 간을 구별한다. 다른 실시예는 머신이 "플래그"또는 다른 코드 요소의 기본 코드에서 또는 전송된 코드의 단부 코드에서 또는 코드의 모듈의 파일 이름에서 코드간에 구별이 되는 것으로 생각될 수 있다.
본 발명은 하나 이상의 해석적 언어가 목적 지향 언어에 상응하는 상황에서 특히 적용가능하다. 이러한 예제에서, 머신은 그 언어에서 분류와 연관된 헤더 메시지의 존재를 위해 검색된다.
코드를 실시하기 위해서, 각 해석기 수단은 하나 이상의 기능 라이브러리를 참고로 코드를 실시할 수 있다. 바람직하게, 공통 함수 라이브러리는 기능 라이브러리를 위해 요구되는 메모리의 양을 감소시키기 위해 다수의 해석기 수단에 의해 분담될 수 있다.
공통 기능 라이브러리의 존재에도 불구하고, 하나 이상의 해석기 수단은 그 해석기를 제외한 기능 라이브러리를 참고로 코드를 실시할 수 있다.
이것은 예를 들면, 특정화된 기능은 전용된 함수 라이브러리를 참고로 더욱 간단히 실시될 수 있다. 이해되듯이, 시스템의 크기는 어디서든 가능하고 또는 편리한 2개의 가상 계산기에 공통의 기능 라이브러리를 사용함에 의해 감소시킬 수 있다.
위에서 기술된 PCT 출원 PCT/EP97/02116의 시스템에 대한 하나의 문제점은 처리 명령에서 시스템에 의해 사용된 메모리의 조절과 관련된다. 애플리케이션에서 기술된 시스템은 메모리 요소를 관리하기 위한 장치 관리기에 의존한다. 이 장치에서 가상 계산기으로부터 메모리에 대한 모든 호출은 동일하게 처리된다. 어떻게 메모리 공간의 사용을 장치 관리기에 의해 최적이 되도록 하는지는 더 이상 논의하지 않는다.
장치 관리기는 가상 계산기 아래에 부분적 층을 형성하고 시스템 권한보다는 수신기/복호기의 제조기에 의해 실시된다. 수신기/복호기에 제조기에 의해 선택된 실시예가 시스템 권한에 의해 디자인된 가상 계산기와 같은 시스템의 더 높은 레벨 요소의 필요성과 비교됨으로써 덜 최적이 될 수 있는 것보다 위험성이 또한 있다.
이러한 문제의 부분적 또는 모든 부분을 극복하고, 시청각 장치내에 메모리의 관리를 위한 개선된 시스템을 제공하기 위한 부가의 측면에 본 발명의 목적이 있다.
본 발영의 제 3 양태에 따라서, 메모리에서 객체를 할당하고 저장하기 위한 메모리와 메모리 관리기를 포함하는 데이터 처리 시스템을 포함하는 디지털 시청각 데이터를 처리하기 위한 장치가 제공되고, 여기서 객체의 제 1세트는 핸들의 세트에 따라서 메모리 관리기에 의해 할당되고, 각 핸들은 상응하는 객체의 메모리 어드레스를 참고로 포함하고, 객체의 제 2 세트는 핸들을 참고로 하지 않고 메모리에서 직접적으로 할당되고 저장된다.
핸들과 직접적으로 검색 가능한 객체에 의해 접근 가능한 객체간에 메모리를 공유함에 의해, 본 발명이 아래에 설명된 것으로써 메모리 공간 및 핸들에 의존할 필요 없이 직접적으로 어드레스할 수 있는 더욱 빈번하게 접근된 객체를 최적화하기 위한 메모리 관리기에 의해 방식의 수를 처리하는 조직체의 제 1세트 사이에 구별된다.
특히, 하나의 실시예에서, 제 2 세트에 있는 조직체는 메모리 관리기를 통과할 필요 없이 데이터 처리 시스템에서 다른 요소의 의해 직접적으로 검색 가능하다. 메모리 관리기는 메모리 내용상에 제어를 유지하기 위해 메모리에서 제 2 세트의 목적을 할당 및 저장하도록 또한 요청된다.
하나의 실시예에서, 핸들은 문제에서 메모리에 저장한다. 그러나, 다른 실현은 핸들이 다른 메모리 공간에 저장될 가능성이 있다. 핸들은 다이나믹하거나 또는 정적 배열로 저장된다.
하나의 실시예에서, 메모리 관리기는 메모리 내에 제 1 세트의 객체를 대체하고 핸들에 상응하여 저장된 어드레스 레퍼런스를 변경하기 위해 적용될 수 있다.
객체는 예를 들면, 더 이상 객체가 메모리에 저장되지 않을 때 대체될 수 있다. 대체는 예를 들면, 적당한 압축 알고리즘에 따라서 실행된다. 이 방식으로 자유로운 메모리 공간은 저장된 객체에 대해 간단하고 효과적으로 트랙을 유지하는 동안 최적화된다.
제 2 형태의 객체의 모든 시점에 접근하기 위하여 이들 객체는 바람직하게 메모리내에서 대체가 가능하지 않다. 다른 실현에서 예를 들면, 제 2 형태의 객체의 대체는 시스템에서 발생하는 객체의 어드레스를 변화시키는 절차와 연관된다는 것으로 생각가능하다.
본 발명이 가상 계산기가 발명의 제 1 양태에 관하여 설명된 종류의 다중 연결 구조를 가진다는 실시예에 특히 적용가능하다. 하나의 연결은 다른 연결의 실행을 허용하는 실행의 과정 동안 일시적으로 보류된다.
이러한 경우에, 다중 연결 가상 계산기는 내부적으로 생성된 쓰레기 수집기 연결을 바람직하게 포함하고, 상기 가상 계산기는 시점에서 현재 참고되지 않은 메모리에서 자유로운 객체를 위한 이 연결의 실행을 수행한다. 선택적으로, 쓰레기 수집기 연결의 실행은 자유로운 메모리 공간의 최대 양과 함께 그룹지어지기 위해 압축 알고리즘에 따라서 제 1 세트의 객체의 대체를 수행하기 위한 가상 계산기를 또한 유발한다.
본 발명이 FLASH 또는 EEPROM과 같은 다른 메모리 성분에 동일하게 적용될지라도, 문제에서 메모리 공간은 시스템의 RAM 메모리에 상응한다.
본 발명이 디지털 텔레비전 시스템을 수신 및 처리하기 위해 특히 적당한 반면, 데이터 처리 시스템의 원리가 이 애플리케이션에서 결정되는 것이 디지털 비디오 레코더 및 그와 유사한 것과 같은 디지털 시청각 데이터를 조절하기 위한 다른 장치를 또한 적용할 수 있는 것은 이해되어 진다.
디지털 텔레비전 시스템을 위한 복호기의 명세서에서, 복호기의 하드웨어 장치는 MPEG 디멀티플렉서와 함께, 동조기, 직렬 인터페이스, 병렬 인터페이스, 모뎀 및 하나 이상의 스마트 카드 판독기를 포함할 수 있다.
이 명세서에서 사용된 용어 "수신기/복호기" 또는 "복호기" 는 예를 들면, 텔레비전 및/또는 라디오 신호와 같은, 특정 다른 수단에 의해 방송 또는 전송되는 부호화된 또는 부호화되지 않은 신호를 수신하기 위한 수신기를 내포할 수 있다. 이 용어는 수신된 신호를 복호하기 위한 복호기를 내포할 수 있다. 이러한 수신기/복호기의 실시는 예를 들면, "셋-탑 박스"에서 물리적으로 분할된 수신기와 통합된 수신기 함수, 또는 웹 브라우저, 비디오 수신기, 또는 텔레비전과 같은 부가적인 기능을 포함하는 복호기와 같이 수신된 신호를 복호하기 위한 수신기와 일체화한 복호기를 포함할 수 있다.
이 명세서에서 사용된 것으로, 용어 "디지털 전송 시스템" 예를 들면, 우선적으로 오디오비주얼 또는 멀티미디어 디지털 데이터와 같은 전송 또는 방송을 위한 특정 전송 시스템을 포함한다. 본 발명이 방송 디지털 텔레비전 시스템에 특히 적용가능한 반면에, 발명이 폐회로 시스템등에 멀티미디어 인터넷 애플리케이션을 위한 고정된 통신 네트웍에 또한 적용가능하다.
MPEG이라는 용어는 국제 표준화 워킹 그룹 기관 "동영상 전문가 그룹" 및 특히 한정하려는 것은 아니지만, 디지털 텔레비전 애플리케이션을 위해 전개된 MPEG-2 표준화에 의해 전개된 데이터 전송 표준을 언급하고, ISO 1318-1, ISO 13818-2,ISO 13818-3 및 ISO 13818-4 문서에서 제시된다. 본 출원 애플리케이션에 관하여, 용어는 디지털 데이터 전송의 필드에서 적용 가능한 MPEG 포맷의 모든 다양성, 변형, 또는 개선을 포함한다.
디지털 텔레비전 네트워크
도 1은 디지털 텔레비전 시스템(1000)의 개략도이다. 본 발명은 공지된 MPEG-2 압축 시스템을 사용하는 가장 일반적인 디지털 텔레비전 시스템(2000)을 포함하여 압축된 디지털 신호를 전송한다. 더 상세하게는, 방송 센터의 MPEG-2 압축기(2002)는 디지털 신호 스트림(통상적으로 비디오 신호의 스트림)을 수신한다. 압축기(2002)는 링키지(2006)에 의해 멀티플렉서 및 스크램블러(2004)에 연결된다. 멀티플렉서(2004)는 복수의 부가적인 입력 신호를 수신하고, 하나 이상의 이송 스트림을 모으고 압축된 디지털 신호를 링키지(2010)를 경유해서 방송 센터의 송신기(2008)에 전송하고, 그 링키지(2010)는 폭넓고 다양한 형태의 통신 링크일 수 있다. 송신기(2008)는 전자기 신호를 위성 트랜스폰더(2014)를 향해 업링크(2012)를 경유해서 전송하고, 거기에서 그들은 전자적으로 처리되고 단말 사용자에의해 소유 또는 임대된 접시 형태의 지상 수신기(2018)에 상상의 다운링크(2016)를 경유해서 방송된다. 수신기(2018)에 의해 수신된 신호가 단말 사용자에 의해 소유 또는 임대되고 단말 사용자의 텔레비전 세트(2022)에 연결되는 집적된 수신기/복호기(2020)에 전송된다. 수신기/복호기(2020)는 그 압축된 MPEG-2 신호를 텔레비젼 세트(2022)용 텔레비전 신호로 복호한다.
조건부 액세스 시스템(3000)은 멀티플렉서(2004) 및 수신기/복호기(2020)에 연결되고, 방송 센터에 부분적으로 위치되고 복호기에 부분적으로 위치된다. 그것은 단말 사용자로 하여금 하나 이상의 방송 공급자로부터 디지털 텔레비전 방송을 액세스할 수 있게 한다. 상업적 매물(즉, 방송 공급자에 의해 판매된 하나 이상의 텔레비전 프로그램)에 관련한 메시지를 해독할 수 있는 스마트카드는 수신기/복호기(2020)에 삽입될 수 있다. 복호기(2020) 및 스마트카드를 사용할 때, 단말 사용자는 상업적 매물을 가입 방식 또는 유료시청 방식으로 구매할 수 있다.
디지털 텔레비전 네트워크내 쌍방향성 시스템
멀티플렉서(2004) 및 수신기/복호기(2020)에 역시 연결되고 다시 방송 센터에 부분적으로 및 복호기에 부분적으로 위치된 쌍방향성 시스템(4000)은 단말 사용자로 하여금 변복조된 백 채널(4002)을 경유해서 각종의 애플리케이션과 쌍방향으로 작용할 수 있게한다.
도 2는 디지털 텔레비젼 시스템(1000)의 쌍방향성 시스템(4000)의 일반적인 구조를 도시한다.
예를 들어, 쌍방향성 시스템(4000)은 단말 사용자로 하여금 스크린상의 카달로그로부터 물품을 구매하도록하고, 지방 뉴스 및 기상도를 요구시 문의하게하고 게임을 그 텔레비전 세트를 통해 즐기게 한다.
쌍방향성 시스템(4000)은 다음과 같은 4개의 주요 구성요소를 구비한다.
1. 방송 공급자로 하여금 애플리케이션을 생성하고 전개하고, 디버그하고 시험하게하기 위한 방송 센터(또는 어딘가에서)의 오서링 툴(authoring tool)(4004);
2. 방송 공급자로 하여금 멀티플렉서 및 스크램블러(2004)에 전달되는 애플리케이션 및 데이터를 단말 사용자에게 방송되는 MPEG-2 이송 스트림(통상적으로 프라이비트(private) 부분)으로 삽입하기 위해 준비, 인가 및 포맷할 수 있도록하는 오서링 툴(4004)에 연결된 방송센터에서의 애플리케이션 및 데이터 서버(4006);
3. 단말 사용자로 하여금 애플리케이션을 실행용 복호기(2020)의 작업 메모리로 수신, 인가, 압축해제, 로드시킬 수 있게 하기 위해 단말 사용자에 의해 소유 또는 임대된 수신기/복호기(2020)에 설치된 실행 가능한 코드인 실행 시간 엔진(run time engine; RTE)(4008)을 포함하는 가상 계산기(virtual machine). 엔진(4008)은 하드웨어 및 운영 시스템과 무관하다;
4. 서버(4006)에 명령하는 신호로 하여금 데이터 및 애플리케이션을 단말 사용자의 요구시 MPEG-2 이송 스트림으로 삽입하게 할 수 있기위한 수신기/복호기(2020)와 애플리케이션 및 데이터 서버(4006)간의 변복조된 백 채널(4002);
수신기/복호기(2020)은 수신기를 동조하기 위한 동조기, MPEG 신호를 디멀티플렉싱하기 위한 MPEG 디멀티플렉서, 직렬 인터페이스, 병렬 인터페이스, 예를 들면 시스템과 유출된 신용 카드 또는 예약 카드를 판독하기 위해 적용되는 모뎀 또는 1개 또는 2개의 카드 판독기와 같은 쌍방향 시스템내 외부 장치와 통신을 위한 수개의 장치를 포함한다. 이러한 장치의 특성은 디지털 텔레비전 시스템의 분야에 공지되어 있고 이 명세서에서 더욱 자세히 설명된다.
유사하게, 제공되어지는 쌍방향 애플리케이션의 종류는 (홈 뱅킹, 텔레쇼핑, 컴퓨터 소프트웨어의 다운로딩) 이러한 분야에 적용될 수 있고, 더욱 자세히 기술하지 않는다. 아래에 기술된 복호기 시스템 구조는 특히 쌍방향 애플리케이션에 적당한 반면, 설명된 구조는 일반적인 요금제 TV 시스템과 같은 , 더욱 간단한 비쌍방향 디지털 TV 시스템에서 사용되기에 적당하다.
복호기 시스템 구조
도 3에 도시된 수신기/복호기내에 시스템의 구조를 위한 동조에서, 층을 이룬 구조가 사용되는 것으로 볼 수 있다. 제 1 층(4100)은 수신기/복호기의 하드웨어 시스템의 운영 시스템을 표현한다. 수신기/복호기의 하드웨어 요소를 제어하기 위한 제조기에 의해 선택된 실시간 운영 시스템이다. 실시간 운영 시스템이 하드웨어 동작에 정확하게 동기를 맞추기 위해서 비교적 빠른 응답 시간을 가지고 있다. 이벤트 메시지는 이층과 중간 층(4200) 간을 통과한다.
데이터 처리 시스템(4008)은 하드웨어 운영 시스템의 상부에 위치하고 중간층과 애플리케이션(또는 더욱 정확하게 애플리케이션 인터페이스) 층을 포함한다.
충간 층은 C ANSI와 같은 언어로 쓰여지고, 가상 계산기(4250)의 요소를 포함하고, 수 개의 인터페이스(4260)는 그래픽 인터페이스(4261), FLASH/PROM 메모리 인터페이스(4262), 프로토콜 인터페이스(4263) 및 장치 인터페이스(4254)를 포함한다.
시스템과 함께 도입에서 더욱 자세히 기술된 특허 출원 PCT/EP97/02116에서 제시되듯이, 본 발명은 제조기에 의해 실시되는 상부 레벨 애플리케이션 및 하부 레벨 운영 시스템간에 독립적으로 제공하기 위해 가상 계산기를 사용한다.
인터페이스(4260)는 가상 계산기의 동작과 낮은 레벨 운영 시스템(4100) 간에 연결을 제공하고, 이 레벨에서 더욱 쉽게 실행되는 중간 레벨 애플리케이션 모듈의 수를 또한 포함한다.
애플리케이션 인터페이스(API) 층(4300)은 자바와 같은 개체 지향 해석적 언어에 기록된 고 레벨 패키지 (4310-4314)의 수를 포함한다. 이러한 패키지는 서비스 제공자 (쌍방향 프로그램 가이드, 텔레쇼핑, 인터넷 브라우저등) 및 시스템의 가상 계산기에 의해 생성된 애플리케이션간에 인터페이스를 제공한다. 이러한 애플리케이션의 예는 아래에 주어진다.
더 낮은 레벨 OS는 부분적 실시가 낮은 레벨 OS가 다운로드될 수 있을지라도 복호기의 하드웨어 성분에 일반적으로 삽입된다. 중간 및 애플리케이션 인터페이스 층 패키지는 방송 전송으로부터 복호기의 RAM 또는 FLASH에 다운로드될 수 있다. 선택적으로, 부분 또는 모든 중간층 또는 애플리케이션 인터페이스 층 요소는 복호기의 ROM 또는 (만약 존재한다면) FLASH 메모리에 저장될 수 있다. 이해되듯이, 복호기의 메모리 요소의 물리적 구성은 메모리의 논리적 구성과 구별된다.
애플리케이션 인터페이스 층
도 3에 도시된 애플리케이션 인터페이스 층을 참고하고 및 위에서 기술되었듯이, 이 층에서 패키지는 자바와 같은 객체 지향 언어에서 기록된다. 각 패키지는 시스템의 동작동안 호출된 클래스 라이브러리의 집합을 한정한다. 본 시스템에서 이어지는 패키지가 설치된다.
Lang/Util 패키지(4310). 이러한 패키지는 가상 계산기에 의해 객체의 처리를 위해 클래스 필요성을 한정한다. 이러한 클래스 라이브러리들은 선택된 객체 지향 언어와 연관된 표준 라이브러리의 부분을 형성한다.
MHEG-5 패키지(4311). 이 패키지는 텔레비젼 디스플레이에서 그래픽 객체의 처리와 연관된 클래스를 한정한다. 이러한 객체는 시청각 데이터와 구별되고 예를 들면, 채널 확인기 또는 디스플레이된 이미지상에 놓인 텍스트를 형성한다. 이 패키지 내 클래스의 한정은 표준 ETS 300777-3 및 ISO/ISE 13522-5( 및시스템에 실시된 자바의 경우에 표준 ISO/ISE 13522-6)에 의한 한정된 MHEG-5 표준에 관련된다.
툴박스 패키지 4312. 이 패키지는 정보의 다운로딩 및 비압축을 위해 사용된 클래스 뿐만 아니라, 수신기/복호기 내 파일 시스템 및 메모리의 관리와 연관된 클래스 와 인터넷 등의 연결과 연관된 클래스를 포함한다.
장치 패키지(4313). 이 패키지는 위에서 기술되고 모뎀, 스마트 카드 판독기, MPEG 흐름 동조기 등을 포함하는 것으로써 수신기/복호기에 수직적으로 부착된 관리의 클래스 필요성을 한정한다.
서비스 패키지(4314). 이 패키지는 신용 카드 데이터 등과 같은 고 레벨 쌍방향 애플리케이션 개발의 실시를 위한 클래스 필요성을 한정한다.
DSMCC-UU 패키지(4315). 이 패키지는 데이터를 검색 및 판독하기 위한 클라이언트 및 서버 간에 통신을 위한 프로토콜 필요성을 실시한다. 이 패키지의 실시는 표준 ISO/IEC 13818-6와 연관되고 DAVIC 파트 9에서 지시적으로 한정된다.
서비스 제공자에 의해 기록되고 일반적인 시스템으로써 방송되는 동안 다운로드 되는 쌍방향 애플리케이션의 부가층은 위에서 한정된 인터페이스 패키지 상에 놓인다. 도입된 애플리케이션에 의존하여, 위의 패키지 일부는 생략될 수 있다. 예를 들면, 서비스 제공자가 데이터 판독을 위한 공통 방법을 제공하기 위해 의도되지 않고, DSMCC-UU 패키지는 최종 시스템 중에서 제외될 수 있다.
패키지(4300)는 객체 지향으로 프로그램된 환경을 위한 클래스 라이브러리를 제공한다. 그들 클래스의 동작은 선택된 언어에 의존한다. 자바 애플리케이션의 경우에, 예를 들면, 단일 상속 클래스 구조는 부착될 수 있다.
인터페이스층
도시되듯이, 인터페이스층은 4개의 모듈, 그래픽 모듈(4251), 메모리 파일 관리 모듈(4261), 프로토콜 모듈(4263) 및 장치 관리기(4264)로 구성된다. 한편, 이 레벨에서 모듈이 인터페이스 모듈에 기술되듯이, 그들 기능이 애플리케이션 인터페이스 패키지의 실시예 및 일반적인 가상 계산기의 동작을 위한 "밀착" 층을 제공한다.
그래픽 모듈(4261)은 예를 들면, 그래픽 객체의 생성 및 관리를 제공한다. 단일 픽셀, 라인, 직사각형등과 같은 기본 그래픽 모양을 디스플레이하기 위한 저 레벨 OS를 요청한다. 이 모듈의 실시는 저 레벨 제조자의 OS의 그래픽 용량에 의존한다. MHEG-5 패키지(4311)에 상보적인 방법으로, 이러한 기능이 위에서 애플리케이션층을 위해 선택된 고 레벨 코드에서 보다 이 코드 레벨에서 더욱 효과적으로 실행될 수 있다.
유사한 방법에서, 메모리 파일 관리 모듈(4252)는 시스템의 메모리 요소와 연관된 저레벨 판독/기록 파일 명령을 포함한다. 일반적으로, 하드웨어 운영 시스템은 메모리 요소 내 섹터 또는 페이지를 판독/기록을 위한 명령 필요성을 포함한다. 그래픽 모듈(4261)과 같이, 이 모듈은 시스템에 효과적으로 도입되는 더 간편한 더 저레벨 애플리케이션의 집합이 가능하다.
프로토콜 관리 모듈(4264)은 예를 들면, 복호기의 TCP/IP 층을 통한 통신에서 호출될 수 있다.
장치 관리기(4264)는 인터페이스 층 및 가상 계산기에서 다른 모듈을 포함하고, 하드웨어 운영 시스템과 위층간에 연결 또는 인터페이스를 제공하는 이층에서 다른 모듈과는 약간 구별된다. 가상 계산기으로부터 하드웨어 OS에 수신/송신되는 명령 또는 이벤트 메시지는 예를 들면, 2개의 레벨 간에 인터페이스 특성에 따라서 변경을 위한 장치 관리기에 의해 필연적으로 통과된다.
가상 계산기 설명
도 4를 참고하여, 본 발명의 시스템에 사용된 가상 계산기(4250)의 구조는 기술될 수 있다. 본 발명에 사용된 가상 계산기는 미리 빈 다중 연결 형태 머신이다. 이러한 머신의 일반적 특성은 시청각 및 디지털 텔레비전 분야외에 다른 명세서에서 공지되고, 이어지는 기술은 본 애플리케이션에 가장 특징적이 되는 영역에 조첨을 둘 수 있다.
가상 계산기는 도 4에 도시된 것으로써 넓게 상호작용하는 수개의 요소로 구성된다.
연결 관리기 서비스(4271) 및 모니터 관리기 서비스(4272)로 구성된 스케줄러(4270)는 다중 연결 머신의 중심을 형성한다. 스케줄러(4270)는 가상 계산기의 외부적인 애플리케이션에 의해 생성된 연결 및 가상 계산기 자체(예를 들면, 아래에서 논의된 것으로써 쓰레기 수집 연결)에 의해 생성된 연결의 실행을 정렬시킨다.
이벤트 관리기(4273)는 시스템 메모리 내 메모리 영역의 할당 및 비할당을 조절하고 참고되지 않는 객체(쓰레기 수집)의 메모리로부터 제거를 조절한다.
클래스 관리기(4275)는 다운로드된 코드의 일체를 확인하기 위한 안전 관리기(4280)와 애플리케이션을 실시하는 파일 관리기(4276)와 상호 작용하는 방송 신호에서 다운로드되는 애플리케이션 코드의 클래스에 부여한다.
파일 관리기(4276)는 시스템 파일의 실시를 수행하고 쌍방향 애플리케이션과 데이터의 다운로딩의 매카니즘을 조절한다.
보안 관리기(4280)는 다운로드된 애플리케이션, 파일 시스템과 연관된 다른 애플리케이션보다 더 동작을 수행하는 능력을 가진 일부의 애플리케이션에 허용된 접근 레벨을 조절한다.
바이트 코드 해석 서비스(42780 및 "m-코드" 해석 서비스(4279)를 포함하는 해석기(4277)는 이들 2개의 코드에 기록된 애플리케이션 해석을 조절하고, 바이트코드는 자바 애플리케이션과 연관되고, m-코드는 애플리케이션에 의해 개발된 점유 코드에 주어진 이름이다. 논의되었듯이, 또한 해석 서비스는 바람직하게 부가될 수 있다.
클래스 관리기, 파일 관리기, 및 보안 관리기의 동작 및 실시는 일반적이다. 설명은 해석기, 스케줄러 및 이벤트 관리기 및 메모리 관리기의 동작에 초점을 두고 있다.
해석기
도 5를 참고하여, 본 발명의 실시예에서 사용된 해석기(4277)의 동작은 이제 설명될 수 있다. 도입에서 논의되었듯이, 데이터에 제안된 복호기에서 사용된 일반적인 운영 시스템의 단점은 고레벨의 애플리케이션을 위한 단일 형태 코드에 의존한다는 것이다. 코드가 상업적으로 유용하고 널리 공지된 애플리케이션 코드일지라도, 문제는 수 개의 코드에 기록된 다른 애플리케이션을 사용하여 수개의 복호기의 분야를 유지할 필요가 있을 경우에 또한 발생할 수 있다. 본 시스템의 해석기는 코드의 수 개의 형태의 해석을 허용한다.
도시된 바와 같이, 시스템에서 도달되는 파일은 파일의 구조에 따라서 모듈 분류 관리기(4500)에 의해 평가되어, 해석기(4510)에 전달된 애플리케이션 코드가 형태의 지시를 가지도록 한다. 바이트코드 애플리케이션의 경우에, 예를 들면, 다운로드된 클래스 파일은 버전수 ,또한 4 옥텟의 버전수에 의해 이어지는 4옥텟의 문자 확인 헤더를 가질 수 있다. 해석기는 이 바이트코드 헤더의 존재 또는 부재의 기본에서 코드간에 구별될 수 있다.
다른 실시예에서, 다른 문자 코드 형태는 예를 들면, 파일 이름과 같은 애플리케이션 언어의 특정 수 간을 구별하기 위해서 사용될 수 있다.
형태 지시기의 결과에 의존하여, 바이트코드 지시는 바이트코드 해석기(4278)에 전송되고, 반면에 해석적 코드 지시의 일반적인 경우와 같이, 바이트 코드 지시에 연관된 기능 라이브러리(4520)를 참고로 실행된다. 고유 코드 지시의 기능 라이브러리는 가상 계산기내에서 한정된다.
m-코드 지시의 경우에, m-코드 해석기(4278)에 통과된다. 대부분의 m-코드 해석기는 바이트 코드 지시에 연관된 기능 라이브러리(4520)을 참고로 실시 및 실행될 수 있고, 해석기(4278)는 이러한 언제라도 가능한 m-코드 기능을 실행하기 위한 라이브러리(4520)를 호출한다.
그러나, 일부 환경에서 일부 m-코드 지시는 공통 기능 라이브러리를 참고로 쉽게 실행되지 않는 특정 실행 기능을 요청할 수 있다. 이러한 경우에, 공유된 기능 라이브러리(4530)를 참고로 실시되는 지시가 관찰될 수 있다.
스케줄러 및 이벤트 관리기
스케줄러(4270) 및 이벤트 관리기(4273)의 동작이 시스템 내에서 연결의 수명을 도시하는 도 6 및 더 낮은 레벨 실시간 운영 시스템에 의해 신호된 이벤트에 응하여 시스템에 의해 연결을 위한 이벤트의 통지를 도시하는 도7을 참고로 논의된다.
설명은 신호된 이벤트으로부터 특히 초래되는 실행 내용에서 표현되는 연결의 생성의 조절에 집중된다. 연결은 하드웨어 OS에 전송되는 더 높은 레벨 애플리케이션과 이 명령의 복귀에 의해 생성된 명령의 개시에 생성되는 것으로 이해된다. 연결이 가상 계산기 자체 즉, 쓰레기 수집 연결 내에 또한 생성될 수 있다.
위에서 언급한 바와 같이, 본 실시예는 자바 기본 시스템과 같은 가상 계산기를 조절하는 미리 빈 연결에 의한다. 이러한 머신에서, 다수의 연결은 연결 대기행렬 생성되고 저장된다. 스케줄러는 연결 대기행렬을 정검하고, 실행될 수 있는 가장 높은 우선성을 가진 연결을 선택한다. 일반적으로, 실행되는 연결은 가장 높은 우선성을 가지고 있으나, 이러한 연결은 미리 빈 연결 시스템에서 일반적이듯이, 또한 더 높은 우선성의 연결에 의하여 해석된다. 이러한 경우에, 해석된 연결의 상태는 저장되고, 실행되기 위해 재선택될 때 연결이 재활성된다.
특정 경우에, 연결은 연결의 실행을 보류하고 실행하기 위한 특정 다른 연결을 위한 연결 대기행렬을 점검하기 위한 스케줄러를 유발하는 소위 "양보" 지시를 포함한다. 양보 지시는 시스템의 메모리로부터 사용되지 않는 객체를 제거하기 위해 시스템에 의해 수행된 쓰레기 집합 기능과 같은 내부적으로 생성된 작업이 낮은 우선성에서 존재할 수 있다.
시스템이 이들 양태는 도 6에 도시된다. (4550)에서 연결의 생성은 연결 대기 행렬(4551)에 저장된 연결을 유발한다. 새롭게 생성된 연결은 (4552)에서 상태"init"를 가진다. 만약 더 높은 우선성을 가지는 연결이 없다면, 연결은 지시 개시()에 의해 실행되고 (4553)에서 "실행가능한"상태를 가진다. 만약 지시 보류()이 연결에서 실행된다면, 연결은 (4554)에서 "죽을" 수 있다. 연결은 동작()fini 지시에 의해 지시되듯이 완결된다면 이 상태는 동일하게 수행된다. 만약 연결 자체에서 양보() 지시가 발생하거나, 연결의 외부적 보류() 지시가 실행된다면, 연결이 보류되고 (4556)에서 "실행가능하지 않은" 상태가 주어진다.
이제 도 7을 참고하여, 더 낮은 레벨 운영 시스템(4100) 간에 상호작용은 이벤트 관리기(4273) 및 스케줄러(4270)는 이제 설명된다. 실시간 운영 시스템(4100)에 의해 신호된 해결되지 않은 이벤트는 이벤트 관리기(4273)에 장치 관리기(4313)를 통하여 통과된다. 바람직한 실현에서, 수신된 이벤트의 일부 우선성은 장치 관리기(4313) 및/또는 운영 시스템(4100)에 사용된 다중 작업 시스템에 의해 실행될 수 있다. 그러나, 명확해지듯이, 본 시스템의 장점중 하나는 PCT/EP97/02116에 설명된 시스템과 달리, 이벤트의 조절이 가상 계산기(4250) 내에서 관리되고, 따라서 중간층의 생성기로 하여금 이벤트 조절 절차상에서 완전한 제어를 수행할 수 있도록 한다는 점에 있다.
바람직한 실시예에서, 장치 관리기(4313)에 의해 전송된 이벤트는 그것들 코드와 형태에 의해 분류된다. 코드는 이벤트의 특성을 확인하고, 예를 들면, 복호기와 연관된 원격 제어의 동작을 통하여 생성된 이벤트의 경우에 코드는 누름 버튼을 확인할 수 있다. 형태는 이벤트의 발단 즉, 원격 제어를 확인한다.
이벤트 신호의 수령에서, 이벤트 관리기(4273)는 이벤트 우선성 및 연결 목적을 결정하기 위해 경로 테이블(4560)을 사용하고 연결 대기행렬(4562)을 기본으로 우선성 내에 위치한 하나 또는 그 이상의 연결(4561)에 상응하는 이벤트 객체(4564)를 삽입한다. 하나 이상의 이벤트 객체(4564)는 (4563)에서 표현된 바와 같이 주어진 연결내에 저장될 수 있다. 이벤트 객체(4564)는 우선성 분류에 따라서 연결내에 저장된다. 동일한 우선성의 연결내의 이벤트 객체는 도착 시점(FIFO)에 의해 분류된다.
이 방식에서, 바람직한 실시예는 시스템이 존재하는 이전 이벤트를 처리하는 경우일지라도, 이벤트 호출에 대해 시스템으로 하여금 빠르게 응답하도록 함으로써, 복호기에서 연결이 효과적으로 조절되도록 한다. 공지된 단일 프로세서 대기행렬 시스템의 단점은 그것에 의해 극복된다.
반면, 바람직한 실시예는 이벤트의 도달이 연결의 실행을 보류하기 위한 단일 스케줄러에 대해 이벤트 관리기를 유도하는 미리 빈 시스템에 연관되어 설명된다. 예를 들면, 시간 분할 시스템에서, 스케줄러는 연결 대기 행렬의 상태를 검사하기 위한 연결의 실행을 주기적으로 보류할 수 있다. 선택적으로, 스케줄러는 연결이 처리되는 각 연결 후에 연결 대기 행렬을 검사하는 연결의 실행을 보류하도록 적용될 수 있다.
메모리 관리기
식별되듯이, 수신기/복호기의 내용에서, 메모리 공간이 예를 들면, PC 또는 다른 하드디스크 기본 플랫폼에 비교하여 비교적 제한적이기 때문에, 시스템 내 메모리 풀의 관리는 특히 중요하다. 이어지는 설명에서, 메모리 풀은 수신기/복호기의 RAM 내에 메모리 공간에 상응한다. 그러나, 위에서 언급했듯이, 메모리의 물리적 및 논리적 조직간에 상응은 정확하지 않고 아래에서 설명된 메모리 풀은 수신기/복호기 내에서 FLASH 메모리, EEPROM 등과 같은 물리적 메모리 장치 간에 위치하거나 또는 할당될 수 있다.
이제 도 8을 참고하여, 이것은 시스템에서 유용한 메모리의 조직을 도시한다. 메모리 공간은 핸들의 풀(4600), 대체 가능한 객체(4610) 및 대체가능하지 않은 객체의 풀(4620) 간에 할당되는 것으로 볼 수 있다.
풀(4610)에서 각 객체는 풀(4600)에 저장된 핸들과 상응하고 그럼으로써 확인된다. 핸들과 상응하는 객체간의 관계는 풀에 접근을 또한 제어하는 메모리 관리 패키지(4274)(도 4에 도시된)에 의해 관리된다. 풀에서 객체에 대한 모든 호출은 핸들에 의해 만들어진다. 풀(4600, 4610) 간의 경계는 이동가능하다. 새로운 객체가 메모리에 저장될 때, 핸들은 풀(4610) 내에 객체의 어드레스를 위한 포인터를 포함하는 풀(4600)에서 생성된다. 이러한 경우에, 핸들의 리스트는 증가된다. 핸들은 메모리 관리기에 의해 압축성을 허용하는 풀에서 리스트 형성으로 조직된다.
객체가 요청된 대로 풀에 할당되고 공간에 따라서 유용할 수 있다. 객체 할당이 유용한 것보다 하나의 블록에서 더 많은 공간을 요구함이 필요로 될 때, 메모리에 이미 할당된 객체를 압축하는 것이 요청된다. 메모리에서 객체의 압축이 예를 들면, 복사 압축 알고리즘과 같은 공지된 압축 알고리즘에 따라서 실행될 수 있다. 본 실시예에서, Mark Sweep 압축 알고리즘이 사용된다. 압축 공간을 위하여, 객체는 영역(4610)에서 주변으로 이동되어, 이웃 객체간에 특정 영역을 피하여 객체가 더욱 밀집되도록 한다. 이 방법에서, 모든 자유 메모리 공간은 풀(4610)에서 새로운 객체를 위해 할당될 수 있도록 블록에 함께 밀집된다.
위에서 언급된 것으로서, 메모리 관리 패키지는 풀(4600) 핸들과 풀(4610)에서 객체 간에 상응이 유지되고, 풀에서 객체의 새로운 어드레스가 장래 접근을 위한 동일한 핸들로 갱신될 수 있다.
특정 객체를 접근하기 위한 핸들의 사용이 풀에서 메모리 위치를 최적화하는 시스템을 가능하게 하는 한편, 객체의 어드레스를 찾기 위해 핸들을 우선 검색하는 것이 항상 필요함으로, 프로세스는 이러한 객체를 접근하도록 요구되는 시점이 증가한다. 특정 상황에서 특정 지정된 이벤트에 상응하는 객체를 위하여 더욱 빠른 접근 시간이 요청된다.
이러한 경우에, 객체는 대체가능하지 않은 객체(4620)의 풀에 할당될 수 있다. 이러한 객체의 어드레스는 풀내에 고정된다. 핸들의 생성을 위한 필요성이 없고, 객체는 시스템에 의해 직접적으로 사용되고, 그럼으로써, 이러한 특별한 객체를 위한 접근 절차가 간략화된다. 다시, 풀들(4600, 4610) 간에 경계에서와 같이, 풀(4620, 4610)간에 경계가 풀(46200에서 축적된 정보에 의하여 쉬프트된다.
이벤트에서, 예를 들면, 대체가능하지 않은 객체는 풀(4620)에 할당되고, 풀(4610)에서 대체가능한 객체의 배열에 충분한 공간이고, 대체가능한 객체의 압축은 위에서 설명한 바와 같이 실행될 수 있다. 풀에서 객체가 공간의 최대 양을 자유롭게 하도록 재구성될 때 풀(4620)에서 대체가능하지 않은 블록을 할당하는 것이 가능할 수 있다.
객체가 대체가능하고 객체가 대체가능하지 않고의 선택은 고안자의 재량이다. 예를 들면, 시스템에 상응하는 객체는 이러한 객체의 중요성의 보기에서 대체가능하지 않은 것으로 선택될 수 있고, 한편 고레벨의 애플리케이션 객체는 대체가능하지 않다. 특정 예에서, 대체가능한 객체는 이동가능하지 않은 객체로써 고려되므로 장소에서 일시적으로 잠겨질 수 있다.
메모리 풀로부터 원하지 않는 객체를 삭제하기 위해서, 시스템은 소위 쓰레기 수집을 또한 포함한다. 이것은 어떤 다른 연결로 대기행렬에 현재 저장되지 않은 이벤트에서 스케줄러에 의해 어드레스되는 가장 낮은 우선성에 대한 특정한 쓰레기 수집 연결의 생성과 연루된다. 실행에서, 풀에 현재 할당된 모든 대체가능한 객체는 자유로운 시점에서 참고되지 않는다. 쓰레기 수집기 연결은 위에서 설명된 라인을 따라서 모든 다른 대체가능한 압축을 또한 실행한다.
쓰레기 수집기 연결의 생성이 디지털 텔레비전 시스템외에 다른 애플리케이션에서 사용된 다른 다중 연결 시스템의 명세서에서 공지되었고, 이 명세서에 더욱 자세한 설명은 기술하지 않을 것이다. 그러나, 위에서 기술된 다른 메모리 관리 기술에 조합으로 쓰레기 수집 절차의 사용은 본 명세서에서 특정한 이점을 제공하는 것으로 생각된다.

Claims (37)

  1. 데이터의 전송 및 수령을 위한 하나 이상의 장치와 연관된 적어도 하나의 하드웨어 운영 시스템을 가지고, 하드웨어 운영 시스템에 의해 신호하는 이벤트 메시지를 수령하고, 하나 이상의 연결에 대응하는 이벤트 객체를 할당하기에 특히 적합한 다중 연결 가상 계산기를 포함하는 데이터 처리 시스템을 또한 포함하고, 연결은 다른 연결이 실행되는 동안 보류되는 디지털 시청각 데이터 처리 장치.
  2. 제 1 항에 있어서, 가상 계산기는 미리 비어있는 다중 연결 구조를 가지고, 연결은 보다 높은 우선성의 연결 생성에 의해 연결의 그 실행 과정 동안 보류되는 장치.
  3. 제 1 항 또는 제 2 항에 있어서, 가상 계산기는 우선 조직화된 연결 대기행렬에 있는 하나 이상의 연결에 이벤트 객체를 저장하는 것에 의하여 하드웨어 운영 시스템에 의하여 신호되는 이벤트 메시지에 응답하는 이벤트 관리기를 포함하는 장치.
  4. 제 3 항에 있어서, 하드웨어 운영 시스템으로부터 이벤트 관리기로 보내진 이벤트 메시지는 데이터 처리 시스템 내에 있는 하나 이상의 장치 관리기에 의해 우선적으로 처리되는 장치.
  5. 제 3 항 또는 제 4 항에 있어서, 이벤트 메시지는 가상 계산기에 의해 내부적으로 생성되거나, 또는 데이터 처리 시스템 내 또는 외부의 고레벨의 애플리케이션으로부터 수신된 이벤트 메시지에 응답하는 장치.
  6. 제 3 항 내지 제 5 항 중 어느 한 항에 있어서, 이벤트 관리기는 이벤트 메시지의 우선성 및/또는 이벤트 메시지의 도착 시간에 따라 연결 내에서 이벤트 객체를 내부적으로 분류하는 장치.
  7. 제 3 항 내지 제 6 항 중 어느 한 항에 있어서, 가상 계산기는 이벤트 관리기가 수신된 이벤트 메시지의 연결 대응물을 결정할 수 있도록 이벤트 관리기에 의해 가능하고 어드레스할 수 있는 이벤트 메시지에 관한 정보를 가지는 경로 테이블을 또한 포함하는 장치.
  8. 제 7 항에 있어서, 경로 테이블은 이벤트 관리기가 연결 내에서 이벤트 객체의 우선성을 결정할 수 있는 하는 정보를 포함하는 장치.
  9. 제 3 항 내지 제 8 항 중 어느 한 항에 있어서, 가상 계산기는 우선 조직된 연결 대기행렬에서 유지된 연결들을 검사하여 그 시점에 가장 높은 우선성을 가지는 연결의 실행을 명령하는 스케줄러를 또한 포함하는 장치.
  10. 제 9 항에 있어서, 이벤트 관리기는 이벤트 메시지의 도달을 신호하고, 연결 대기행렬에서 유지된 연결의 새로운 상태를 스케줄러가 검사하도록 하는 장치.
  11. 외부에서 데이터를 전송 및 수령을 위한 하나 이상의 하드웨어 장치를 포함하고, 하나 이상의 장치를 통하여 다운로드되는 해석적 언어로 기록된 코드를 수신하는 제 1 가상 계산기를 포함하는 데이터 처리 시스템을 포함하고, 상기 가상 계산기는 수신된 코드의 구조에 따라서 적어도 2개의 해석적 언어로 기록된 코드를 구별하고, 해석과 실행을 위한 상응하는 해석기 수단로 이러한 코드를 보내는 시청각 데이터를 처리하기 위한 장치.
  12. 제 11 항에 있어서, 가상 계산기는 언어들 중 하나에서의 코드의 모듈과 연관된 헤더 메시지의 특성에 근거하여 적어도 2개의 해석적 언어들에서의 해석적 코드사이를 구별하는 장치.
  13. 제 11 항 또는 제 12항에 있어서, 가상 계산기는 언어들 중 하나에서의 코드의 모듈과 연관된 헤더 메시지의 존재 또는 부재에 근거하여 해석적 코드들 사이를 구별하는 장치.
  14. 제 11항 내지 제 13 항 중 어느 한 항에 있어서, 언어들중 적어도 하나는 객체 지향 언어인 장치.
  15. 제 11 내지 제 14 항 중 어느 한 항에 있어서, 가상 계산기는 그 언어에서 클래스 파일과 연관된 헤더 메시지의 존재에 의해 객체 지향 언어로 기록된 코드를 확인하는 장치.
  16. 제 11 항 내지 제 15 항 중 어느 한 항에 있어서, 각 해석기 수단은 하나 이상의 기능 라이브러리를 참고하여 코드를 실행하는 장치.
  17. 제 16 항에 있어서, 공통 기능 라이브러리는 다수의 해석기 수단에 의해 공유되는 장치.
  18. 제 16 또는 제 17 항에 있어서, 하나 이상의 해석기 수단은 그 해석기 수단을 제외한 기능 라이브러리를 참고하여 코드를 실행하는 장치.
  19. 메모리와, 상기 메모리에 객체를 할당하고 저장하기 위한 메모리 관리기를 포함하는 데이터 처리 시스템을 포함하고, 객체의 제 1 세트는 핸들의 세트를 참고하여 메모리 관리기에 의해 할당되고, 각 핸들은 상응하는 객체의 메모리 어드레스에 대한 기준을 포함하고, 객체의 제 2 세트는 핸들의 참고없이 메모리에 직접 할당되어 저장되는 디지털 시청각 데이터 처리 장치.
  20. 제 19 항에 있어서, 제 2 세트에 있는 객체들은 메모리 관리기에 의해 메모리에 할당되어 저장되지만, 데이터 처리 시스템의 다른 요소에 의해 직접 검색될 수 있는 시청각 장치.
  21. 제 19 또는 제 20 항에 있어서, 핸들의 세트들이 메모리에 또한 저장되는 시청각 장치.
  22. 제 19 내지 제 21 항 중 어느 한 항에 있어서, 메모리 관리기는 메모리내에 제 1 세트의 객체를 대체하여 상응하는 핸들에 저장된 기준 어드레스를 변경하는 시청각 장치.
  23. 제 22 항에 있어서, 제 1 세트의 객체는 그 이상의 객체들이 저장된 객체의 존재에 대한 대체없이 메모리에 저장될 수도 있을 때 메모리 관리기에 의해 메모리 메모리 내에서 대체되는 시청각 장치.
  24. 제 22 또는 제 23 항에 있어서, 제 1 세트의 객체들은 메모리 내에서 자유 메모리 공간의 최대 양과 함께 그룹을 짓기 위해서 압축 알고리즘에 따라서 압축 알고리즘에 의해 계산된 바와 같이 대체되는 시청각 장치.
  25. 제 19 내지 제 24 항 중 어느 한 항에 있어서, 제 2 세트의 객체들은 메모리내에서 대체될 수 없는 시청각 장치.
  26. 제 19 내지 제 25 항 중 어느 한 항에 있어서, 데이터 처리 시스템은 가상 계산기를 포함하고, 메모리 관리기는 가상 계산기의 일부를 형성하는 시청각 장치.
  27. 제 26 항에 있어서, 가상 계산기는 다중 연결 구조를 가지고, 하나의 연결은 다른 연결의 실행을 허용하도록 그 실행과정 동안 일시적으로 보류되는 시청각 장치.
  28. 제 27 항에 있어서, 다중 연결 가상 계산기는 내적으로 생성된 쓰레기 수집기 연결을 포함하고, 상기 가상 계산기는 그 시점 현재 참고되지 않는 메모리에 있는 객체를 제거하도록 이 연결의 실행으로 동작되는 시청각 장치.
  29. 제 28 항에 있어서, 쓰레기 수집 연결의 실행은 가상 메모리가 자유 메모리 공간의 최대양과 함께 그룹을 짓기 위해 압축 알고리즘에 따라서 제 1 세트의 객체의 대체를 수행하도록 하는 시청각 장치.
  30. 제 19 항 내지 제 29 항에 중 어느 한 항에 있어서, 메모리는 하나 이상의 RAM 부품들에 의해 한정되는 시청각 장치.
  31. 선행항 중 어느 한 항에 있어서, 디지털 텔레비전 시스템과 같은, 디지털 전송 시스템을 위한 복호기인 장치.
  32. 제 1 항 내지 제 18 항 중 어느 한 항에 있어서, 하드웨어 장치들중 하나는 MPEG 디멀티플렉서를 포함하는 장치.
  33. 제 1 항 내지 제 18 항 중 어느 한 항에 있어서, 하드웨어 장치는 동조기, 직렬 인터페이스, 병렬 인터페이스, 모뎀 및 하나 이상의 스마트 카드 판독기 중 적어도 하나를 포함할 수도 있는 장치.
  34. 데이터의 전송 및 수령을 위한 하나 이상의 하드웨어 장치와 연관된 하드웨어 운영 수단; 및 하드웨어 운영 수단에 의해 신호되는 이벤트 메시지를 수신하기 위한 수단; 하나 이상의 연결에 상응하는 이벤트 객체를 할당하는 수단; 및 다른 연결의 수행을 허용하도록 실행 과정 동안 연결을 보류하는 수단을 포함하는 다중 연결 가상 계산기를 포함하는 디지털 시청각 데이터 처리 장치.
  35. 장치의 외부 데이터의 전송 및 수령을 위한 하나 이상의 하드웨어 장치와 가상 계산기를 포함하고, 상기 계산기는 하나 이상의 하드웨어 장치를 통하여 다운로드된 해석적 언어로 기록된 코드를 수신하기 위한 수단, 수신된 코드의 구조에 따라서 적어도 2개의 해석적 언어로 기록된 코드 사이를 구별하기 위한 수단, 및 해석 및 실행을 위한 상응하는 해석기 수단에 코드를 보내는 수단을 포함하는 디지털 시청각 데이터 처리 장치.
  36. 메모리와, 한 세트의 핸들을 참고로 제 1 세트의 객체를 할당하는 수단 및 핸들을 참고없이 메모리에 직접 제 2 세트의 객체드릉ㄹ 할당하여 저장하는 수단을 포함하는 메모리 관리기를 포함하며, 각 핸들은 대응하는 메모리 어드레스에 대한 기준을 포함하는 디지털 시청각 데이터 처리 장치.
  37. 이 명세서에 기술된 것으로써 실질적으로 디지털 시청각 데이터를 처리하기 위한 장치.
KR1020007003790A 1997-10-07 1998-10-07 다중 스레드 데이터 프로세서 KR100558674B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
EP97402361.6 1997-10-07
EP97402362A EP0909094A1 (en) 1997-10-07 1997-10-07 Multithread data processor
EP97402430A EP0908821A1 (en) 1997-10-07 1997-10-07 Digital code interpreter
EP97402361A EP0909091A1 (en) 1997-10-07 1997-10-07 Memory manager
EP97402362.4 1997-10-07
EP97402430.9 1997-10-07
PCT/IB1998/001627 WO1999018730A2 (en) 1997-10-07 1998-10-07 Multithread data processor

Publications (2)

Publication Number Publication Date
KR20010031004A true KR20010031004A (ko) 2001-04-16
KR100558674B1 KR100558674B1 (ko) 2006-03-10

Family

ID=27238735

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020007003790A KR100558674B1 (ko) 1997-10-07 1998-10-07 다중 스레드 데이터 프로세서

Country Status (18)

Country Link
US (1) US8201154B2 (ko)
EP (2) EP1021918A2 (ko)
JP (1) JP2001519579A (ko)
KR (1) KR100558674B1 (ko)
CN (1) CN1281613A (ko)
AU (1) AU9363298A (ko)
BR (1) BR9813024A (ko)
CA (1) CA2304862C (ko)
HR (1) HRP20000166A2 (ko)
HU (1) HUP0100296A3 (ko)
ID (1) ID24808A (ko)
IL (1) IL135440A0 (ko)
NO (1) NO20001652L (ko)
PL (1) PL340331A1 (ko)
RU (1) RU2227378C2 (ko)
TR (3) TR200003045T2 (ko)
UA (1) UA55489C2 (ko)
WO (1) WO1999018730A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7984478B2 (en) 2001-08-21 2011-07-19 Canal + Technologies Societe Anonyme Method and apparatus for a receiver/decoder

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6300962B1 (en) 1998-12-23 2001-10-09 Scientific-Atlanta, Inc. Method and apparatus for providing reliable graphic memory operations in a set-top box environment
GB9914925D0 (en) * 1999-06-26 1999-08-25 Koninkl Philips Electronics Nv Computer system for mheg applications
WO2001015431A1 (de) * 1999-08-25 2001-03-01 Deutsche Telekom Ag Endgerät zum anschluss an verschiedene netze
EP1236092A4 (en) * 1999-09-01 2006-07-26 Intel Corp BRANCH COMMAND FOR A PROCESSOR
JP4268290B2 (ja) * 1999-10-29 2009-05-27 パナソニック株式会社 受信装置および受信方法
JP2001313620A (ja) * 2000-02-03 2001-11-09 Matsushita Electric Ind Co Ltd デジタル放送システム
CN100359506C (zh) * 2001-12-20 2008-01-02 杉桥技术公司 能够高效处理汇聚设备应用的多线程处理器
US7363474B2 (en) * 2001-12-31 2008-04-22 Intel Corporation Method and apparatus for suspending execution of a thread until a specified memory access occurs
CN100356326C (zh) * 2003-03-21 2007-12-19 清华大学 基于操作栈记录的恢复的Java线程迁移的方法
JP2005102150A (ja) * 2003-08-29 2005-04-14 Matsushita Electric Ind Co Ltd 放送受信装置
US7752635B2 (en) * 2003-12-18 2010-07-06 Intel Corporation System and method for configuring a virtual network interface card
GB0401781D0 (en) * 2004-01-28 2004-03-03 Koninkl Philips Electronics Nv Digital broadcasting terminal
GB0420442D0 (en) * 2004-09-14 2004-10-20 Ignios Ltd Debug in a multicore architecture
CN101963929B (zh) * 2004-12-31 2016-07-06 钟巨航 保存/恢复工作现场的方法
US7882339B2 (en) * 2005-06-23 2011-02-01 Intel Corporation Primitives to enhance thread-level speculation
US8042109B2 (en) * 2006-03-21 2011-10-18 Intel Corporation Framework for domain-specific run-time environment acceleration using virtualization technology
US7584344B2 (en) 2006-05-02 2009-09-01 Freescale Semiconductor, Inc. Instruction for conditionally yielding to a ready thread based on priority criteria
US8572223B2 (en) * 2006-07-20 2013-10-29 Charles Schwab & Co., Inc. System and method for utilizing event templates in an event manager to execute application services
CN101242392B (zh) * 2007-02-06 2012-02-08 国际商业机器公司 用于系列服务消息处理的方法、设备和系统
US8315762B2 (en) * 2007-04-30 2012-11-20 Thales Avionics, Inc. Server design and method
US8250573B2 (en) * 2007-12-27 2012-08-21 Intel Corporation Audio subsystem sharing in a virtualized environment
US8561108B2 (en) * 2008-03-25 2013-10-15 International Business Machines Corporation Video episode order adherence
US8689266B2 (en) * 2008-03-25 2014-04-01 International Business Machines Corporation Dynamic rebroadcast scheduling of videos
WO2009122611A1 (ja) * 2008-04-01 2009-10-08 シャープ株式会社 Avラックシステム
CN101714165B (zh) * 2009-12-08 2011-08-17 青岛海信宽带多媒体技术有限公司 一种数据导入的方法
TWI541723B (zh) * 2011-05-12 2016-07-11 華碩電腦股份有限公司 事件產生之處理方法及處理系統
CN102685010B (zh) * 2012-05-16 2016-05-18 河南辉煌科技股份有限公司 实现超大规模连接tcp/ip网络的通信方法
CN103875253B (zh) * 2012-08-21 2018-05-22 索尼公司 信息处理设备、信息处理方法、程序和服务器设备
CN103345385A (zh) * 2013-07-29 2013-10-09 北京汉邦高科数字技术股份有限公司 一种串行事件转换成并行事件的方法
CN107295285B (zh) * 2017-08-11 2018-07-27 腾讯科技(深圳)有限公司 视频数据的处理方法、处理装置及存储介质
CN108446147B (zh) * 2018-03-23 2021-01-12 携程旅游网络技术(上海)有限公司 移动终端的多线程计算方法及系统
US10691490B2 (en) * 2018-07-06 2020-06-23 Apple Inc. System for scheduling threads for execution
CN117439997B (zh) * 2023-12-20 2024-03-08 天津华来科技股份有限公司 一种基于模块化设计的通用p2p通信架构构建方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5063500A (en) * 1988-09-29 1991-11-05 Ibm Corp. System for executing segments of application program concurrently/serially on different/same virtual machine
US5243518A (en) * 1991-05-03 1993-09-07 Xerox Corporation Document services architecture
CA2077273C (en) * 1991-12-12 1996-12-03 Mike H. Conner Language neutral objects
FR2688611A1 (fr) * 1992-03-12 1993-09-17 Bull Sa Utilisation d'un langage dont le typage porte sur le contenu des variables et permettant de manipuler des constructions complexes.
FR2694105B1 (fr) * 1992-07-22 1994-11-25 Bull Sa Utilisation d'un langage à interprète embarqué pour la réalisation d'un outil interactif de définition d'interface utilisateurs.
US5446901A (en) * 1993-06-30 1995-08-29 Digital Equipment Corporation Fault tolerant distributed garbage collection system and method for collecting network objects
JP3595564B2 (ja) * 1993-10-27 2004-12-02 キヤノン株式会社 文書処理装置及びその方法
US5650941A (en) * 1994-09-07 1997-07-22 Intel Corporation Computer architecture for creating and manipulating displayable objects
US5635979A (en) * 1994-05-27 1997-06-03 Bell Atlantic Dynamically programmable digital entertainment terminal using downloaded software to control broadband data operations
US5625789A (en) * 1994-10-24 1997-04-29 International Business Machines Corporation Apparatus for source operand dependendency analyses register renaming and rapid pipeline recovery in a microprocessor that issues and executes multiple instructions out-of-order in a single cycle
US5630757A (en) * 1994-11-29 1997-05-20 Net Game Limited Real-time multi-user game communication system using existing cable television infrastructure
JPH096633A (ja) * 1995-06-07 1997-01-10 Internatl Business Mach Corp <Ibm> データ処理システムに於ける高性能多重論理経路の動作用の方法とシステム
JP4264851B2 (ja) * 1995-12-22 2009-05-20 ブリティッシュ・スカイ・ブロードキャスティング・リミテッド テレビ信号のためのレシーバにおける改良
EP1367823A1 (en) * 1996-09-17 2003-12-03 Starsight Telecast, Inc. Television schedule system with pop-up action menu and icons
US5875335A (en) * 1996-09-30 1999-02-23 Apple Computer, Inc. Parameter marshaling techniques for dynamic object-oriented programming languages
US5966637A (en) * 1996-11-12 1999-10-12 Thomson Consumer Electronics, Inc. System and method for receiving and rendering multi-lingual text on a set top box
US5978585A (en) * 1997-03-27 1999-11-02 Inprise Corporation Development system with improved methods for recompiling dependent code modules
EP1308838A3 (en) * 2001-10-31 2007-12-19 Aplix Corporation Intermediate code preprocessing apparatus, intermediate code execution apparatus, intermediate code execution system, and computer program product for preprocessing or executing intermediate code

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7984478B2 (en) 2001-08-21 2011-07-19 Canal + Technologies Societe Anonyme Method and apparatus for a receiver/decoder

Also Published As

Publication number Publication date
IL135440A0 (en) 2001-05-20
CN1281613A (zh) 2001-01-24
BR9813024A (pt) 2000-08-15
JP2001519579A (ja) 2001-10-23
CA2304862A1 (en) 1999-04-15
RU2227378C2 (ru) 2004-04-20
WO1999018730A3 (en) 1999-08-19
TR200003045T2 (tr) 2001-02-21
NO20001652D0 (no) 2000-03-30
US20050132400A1 (en) 2005-06-16
HUP0100296A2 (hu) 2001-05-28
PL340331A1 (en) 2001-01-29
TR200000922T2 (tr) 2000-07-21
UA55489C2 (uk) 2003-04-15
CA2304862C (en) 2011-12-06
AU9363298A (en) 1999-04-27
ID24808A (id) 2000-08-24
EP1339222A2 (en) 2003-08-27
HRP20000166A2 (en) 2000-10-31
TR200003046T2 (tr) 2001-01-22
EP1339222A3 (en) 2005-08-31
WO1999018730A2 (en) 1999-04-15
EP1021918A2 (en) 2000-07-26
US8201154B2 (en) 2012-06-12
NO20001652L (no) 2000-06-07
HUP0100296A3 (en) 2002-12-28
KR100558674B1 (ko) 2006-03-10

Similar Documents

Publication Publication Date Title
KR100558674B1 (ko) 다중 스레드 데이터 프로세서
EP0909094A1 (en) Multithread data processor
KR100564273B1 (ko) 다수 이용자들에게 적합한 멀티미디어 단말장치
RU2257687C2 (ru) Таблица данных о приложениях для системы цифровой передачи, предоставляющей множество сервисов
JP4201975B2 (ja) デジタルトランスポートストリーム処理
KR100513128B1 (ko) 프로그램 수신장치
CN1264354C (zh) 选择以广播流发送的多点传送ip数据的方法和装置
AU741471B2 (en) IEEE set top box device driver
RU2000111501A (ru) Многопоточная система обработки данных
KR20010031601A (ko) 디지털 디코더에서 애플리케이션의 다운로딩
KR20020035558A (ko) 개별 클래스로더 구현을 위한 방법 및 장치
EP0908821A1 (en) Digital code interpreter
EP0909091A1 (en) Memory manager
US6804820B1 (en) Modem control
MXPA00003387A (en) Multithread data processor
EP1286549A2 (en) Receiver/decoder and module for use with a receiver/decoder
CZ20001257A3 (cs) Zařízení pro zpracování digitálních audiovizuálních dat
MXPA99008545A (es) Sistema de control de acceso
CZ20003254A3 (cs) Terminál pro zpracování digitálních dat a způsob jeho provozu

Legal Events

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

Payment date: 20130220

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140220

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150224

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160203

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170220

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180219

Year of fee payment: 13

EXPY Expiration of term