KR100579000B1 - 모뎀 제어 - Google Patents

모뎀 제어 Download PDF

Info

Publication number
KR100579000B1
KR100579000B1 KR1020007003547A KR20007003547A KR100579000B1 KR 100579000 B1 KR100579000 B1 KR 100579000B1 KR 1020007003547 A KR1020007003547 A KR 1020007003547A KR 20007003547 A KR20007003547 A KR 20007003547A KR 100579000 B1 KR100579000 B1 KR 100579000B1
Authority
KR
South Korea
Prior art keywords
device driver
receiver
delete delete
decoder
memory
Prior art date
Application number
KR1020007003547A
Other languages
English (en)
Other versions
KR20010024391A (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
Application filed by 까날 + (쏘시에떼 아노님) filed Critical 까날 + (쏘시에떼 아노님)
Publication of KR20010024391A publication Critical patent/KR20010024391A/ko
Application granted granted Critical
Publication of KR100579000B1 publication Critical patent/KR100579000B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)
  • Spectrometry And Color Measurement (AREA)
  • Ultra Sonic Daignosis Equipment (AREA)
  • Circuits Of Receivers In General (AREA)
  • Interface Circuits In Exchanges (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)
  • Selective Calling Equipment (AREA)
  • Electronic Switches (AREA)
  • Information Transfer Systems (AREA)

Abstract

수신된 신호가 수신기를 통해 리시버/디코더 그리고 텔레비젼 세트로 전송되는 디지털 방송시스템용 리시버/디코더(2020)에 사용되는 모뎀 장치구동기가 개시된다. 리시버/디코더는 런타임 엔진(4008)을 포함하는 가상장치에 의해 제어된다. 리시버/디코더는 외부 유닛을 위한 다수의 인터페이스와, 인터페이스용 논리 장치 구동기를 포함한다. 모뎀 인터페이스를 제어하기 위한 장치구동기(500)는 메시지를 수신하기 위한 버퍼 메모리(503)와, 제어 파라미터를 저장하기 위한 제어 메모리 (502)와, 장치구동기 및 메시지 흐름을 제어하기 위한 논리 유닛(501)을 포함한다. 논리 유닛은 제어 메모리에 저장된 사상, ACK, 및 NACK 패턴과, 버퍼 메모리에 저장된 메시지의 끝을 비교하기 위한 비교기(511)를 포함한다.
리시버/디코더, 모뎀, 장치구동기

Description

모뎀 제어{Modem Control}
본 발명은 모뎀에 관한 것으로, 특히 모뎀의 원격 제어에 관한 것이다. 이것은 반드시 그렇지는 않지만 특히 디지털 전송 시스템용 리시버/디코더의 관계에 있어 물리적인 장치와 응용 프로그램과의 인터페이싱에 특히 적용가능하다.
여기서 사용된 용어 "리시버/디코더"는 다른 수단에 의해 방송 또는 전송될 수 있는 인코딩되거나 비인코딩된 신호, 예를 들면 텔레비젼 및/또는 라디오 신호를 수신하기 위한 리시버를 내포할 수 있다. 이 용어는 수신된 신호를 디코딩하기 위한 디코더도 내포할 수 있다. 이러한 리시버/디코더의 실시예는 수신된 신호를, 예를 들어 "셋탑 박스"에서 디코딩하기 위한 리시버와 통합된 디코더를 포함할 수 있으며, 이러한 디코더는 물리적으로 분리된 리시버와 결합하여 기능하거나 또는 웹 브라우져, 비디오 레코더, 또는 텔레비젼과 같은 부가적인 기능을 포함한다.
텔레비젼 신호를 주로 방송하는 디지털 전송 시스템, 특히 그에 한정되지는 않지만 위성 텔레비젼 시스템의 출현으로 이러한 시스템을 다른 목적으로 사용할 수 있는 가능성을 열었다. 그 중 하나는 최종 사용자와의 쌍방향성을 제공한다는 것이다.
여기에 사용된 용어 "디지털 전송 시스템"은 예를 들어 음성영상 또는 멀티미디어 디지털 데이터를 주로 전송 또는 방송하는 모든 전송 시스템을 포함한다. 본 발명이 방송 디지털 텔레비젼 시스템에 특히 적용가능하지만, 본 발명은 멀티미디어 인터넷 애플리케이션용 고정 통신망, 폐쇄회로 텔레비젼 등에도 적용될 수 있다. 용어 "디지털 텔레비젼 시스템"은 예를 들어 모든 위성파, 지상파, 케이블 시스템 등을 포함한다.
본 발명은 수신된 신호가 수신기를 통해 리시버/디코더 그리고 텔레비젼 세트로 전송되는 방송 디지털 텔레비젼 시스템에 특히 적용가능하다. (셋탑 박스 또는 STB로서 공지된) 리시버/디코더는 압축된 MPEG 타입 신호를 텔레비젼 세트용 텔레비젼 신호로 디코드한다. 이것은 리시버/디코더의 인터페이스를 통해 원격 제어 핸드셋에 의해 제어된다.
상술한 쌍방향성을 제공하기 위한 한가지 방법은 텔레비젼 신호가 수신되는 리시버/디코더에서 응용프로그램을 실행시키는 것이다. 다양한 응용프로그램이 다양한 물리적인 장치와 용이한 방식으로 통신할 수 있도록 하는 것은 바람직하다. 우리의 계류중인 출원 PCT/EP97/02115와 PCT/EP97/02116은, 하나이상의 응용프로그램이 셋탑 박스(STB)에 의해 다운로드되고 각 장치에 대한 장치구동기(device driver)와 전반적인 장치관리자(device manager)에 의해 직/병렬 인터페이스 및 스마트카드 리더 등과 같은 STB의 물리적인 장치와 통신할 수 있는 시스템이 개시되어 있다.
본 발명에 따르면, 모뎀, 직렬 채널, 병렬 채널, MPEG(압축 및 코딩된 영상 신호) 채널, 스와이프 카드(swipe card) 리더 등과 같은 다양한 신호 채널과 셋탑 박스가 인터페이싱할 수 있는 능력이 제공된다. 셋탑 박스는 런타임 엔진(run-time engine)을 포함하는 가상장치(virtual machine)를 포함한다. 가상장치는 장치와 장치구동기를 통하여 다양한 채널의 물리적인 인터페이스와 교대로 결합되는 장치관리자에 결합된다.
삭제
용어 MPEG은 국제 표준화 기구 작업그룹 "동영상 전문가 그룹"에 의해 개발된 데이터 전송 표준을 말하여 그에 한정되지는 않지만 특히 디지털 텔레비전 애플리케이션용으로 개발된 MPEG-2 표준을 말하며 문서 ISO 13818-1, ISO 13818-2, ISO 13818-3 및 ISO 13818-4에 설명되어 있다. 본 특허 출원에서, 상기 용어는 디지털 데이터 전송 분야에서 적용가능한 MPEG 형식의 모든 변형물, 수정물 또는 개발물을 포함한다.
상기와 같이, 채널중 하나는 바람직하게는 모뎀이다. 본 발명의 주목적은 이러한 모뎀의 개선된 제어를 제공하는 것이다. 이것은 모뎀을 제어하기 위한 개선된 장치구동기에 의해 가능하다. 이 목적에 대하여, 장치와 장치구동기 사이의 어떠한 차이의 명확한 본질도 중요하지 않으며, 여기에 사용된 용어 "장치구동기"는 하드웨어와 응용프로그램 사이의 모든 형태의 인터페이스를 포함하도록 해석되어야 한다.
본 발명에 따르면, 모뎀을 제어 및 통신하는 장치구동기가 제공되며, 이 장치구동기는 모뎀으로부터 메시지를 수신하여 저장하는 버퍼 메모리와, 제어 파라미터를 저장하는 제어 메모리와, 장치구동기 및 메시지 흐름을 제어하는 논리유닛을 포함하며, 상기 논리유닛은 장치구동기에 결합된 장치관리자로 전송하는 신호를 생성하기 위하여 제어 메모리에 저장된 패턴을 버퍼 메모리에 저장된 메시지와 비교하는 비교기를 포함한다.
장치관리자는 일반적으로 다수의 장치구동기를 제어하도록 구성되고, 장치 구동기와 하나이상의 응용프로그램 사이에서 메시지를 전송하지만, 용어 "장치관리자"는 장치구동기를 제어할 수 있는 모든 실체를 포함하려 한다. 이것은 그 자체가 제어 응용프로그램일 수 있다. 본 발명의 다른 중요한 특징은 다음의 상세한 설명과 청구범위로부터 명백해질 것이다.
본 장치는 예를 들어 계류중인 출원 PCT/EP97/02106-02117에 기술된 디지털 전송 시스템용 리시버/디코더의 장치구동기로서 가장 바람직하게 구현된다. 이러한 구현에 있어, 장치구동기는 이 장치구동기를 제어하는 데 편리하고 유연한 구성을 제공하는 응용프로그램의 제어하에서 동작할 수 있다. 응용프로그램은 바람직하게는 해석형 언어로 실행되고 장치구동기는 바람직하게는 컴파일된다.
바람직하게는, 비교기는 소정 메시지의 최종 길이와 저장된 패턴을 비교한다.
패턴은 다수의 타입일 수 있으며, 동일한 타입의 패턴이 다수개 있을 수 있다. 이러한 패턴 타입은 사상(Events), ACK(긍정 응답), 및 NACK(부정 응답)을 포함할 수 있으며, 생성된 신호는 비교되는 패턴 타입을 나타낸다.
장치구동기는 신호를 모뎀을 통하여 수신된 메시지에 부가함으로써 장치관리자로 이 신호를 전송하도록 구성될 수 있다. 명령은 장치구동기의 파라미터를 설정하는 호출과, 장치구동기로 제어신호 및 데이터를 전송하는 IO와, 패턴의 검출 또는 메시지 수신 또는 장치관리자로의 전송문제를 알리는 사상의 형태로 장치구동기와 장치관리자 사이에서 전송될 수 있다. 호출 명령의 하나의 형태는 비교기에 의해 검색될 하나이상의 패턴을 정의하는 적어도 하나의 패턴 세팅 명령을 포함한다.
바람직하게는 각 패턴 타입에 대한 하나의 패턴 세팅 명령에 대하여 검색될 패턴을 정의하는 3개의 서브 타입 패턴 세팅 명령이 있다. 상기 또는 적어도 하나의 패턴 세팅 명령은 비교될 다수의 패턴을 정의하도록 구성될 수 있으며, 각 패턴은 대응하는 패턴의 검출시 생성될 관련 사상 신호를 갖는다.
검색될 패턴은 제어 메모리의 각 서브 영역에 저장될 수 있다. 선택적으로, 검색될 패턴은 제어 메모리의 하나의 연속된 영역에 저장될 수 있다.
일실시예로, 다수의 비교가 발생된 경우에는 마지막 비교만이 실행된다. 선택적으로, 다수의 비교가 발생된 경우에는 서로 다른 타입의 비교 사이의 소정의 우선순위에 따라 타입을 나타낸다.
장치구동기의 기능은 하드웨어, 예를 들어 전용 집적 회로로 구현될 수 있으며, 이것은 개선된 연산속도를 제공할 수 있다. 그러나, 바람직하게는, 장치구동기의 적어도 일부는 응용프로그램, 바람직하게는 상기 응용프로그램을 실행시키는 처리 수단에 의해 실행되는 소프트웨어로 구현되며, 이것에 의해 보다 유연하고, 보다 적은 부품을 필요로 하며, 장치구동기가 보다 빠르게 업데이트될 수 있도록 한다.
본 발명은 버퍼 메모리와 제어 메모리를 포함하는 장치구동기를 사용하여 모뎀과 제어 및 통신하기 위한 방법으로 확장되며, 상기 방법은:
모뎀에서 상기 버퍼 메모리로 메시지를 수신하여 저장하는 단계;
상기 제어 메모리에 제어 파라미터를 저장하는 단계; 및
장치구동기에 결합된 장치관리자로 전송하기 위한 신호를 생성하기 위하여 버퍼 메모리에 저장된 메시지와 제어 메모리에 저장된 패턴을 비교하는 단계를 포함한다.
상기 특징은 적절한 다른 특징과 함께 결합될 수 있다. 장치 특징은 방법 측면에 적용될 수 있으며 그 반대도 가능하다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 특징이 예로서만 기술된다.
도 1은 리시버/디코더 인터페이스의 개략도.
도 2는 리시버/디코더의 기능 블럭도.
도 3은 본 장치구동기의 일반적인 논리 구성을 나타낸 도면.
도 4는 본 장치구동기의 패턴 조절 측면의 논리 구성을 보다 상세하게 나타낸 도면.
도 5는 메시지 구조 및 저장을 나타낸 도면.
리시버/디코더의 기본
장치구동기의 이해를 돕기 위하여, 장치구동기가 동작하는 바람직한 플랫폼, 즉 우리의 디지털 전송 리시버/디코더가 먼저 간략하게 설명된다.
도 1을 참조하면, 본 실시예의 장치구동기가 설치될 디지털 쌍방향 텔레비젼 시스템에 사용하는 리시버/디코더(2020) 또는 셋탑 박스가 개략적으로 도시되어 있다. 적절한 디지털 쌍방향 텔레비젼 시스템의 상세한 내용은 계류중인 출원 PCT /EP97/02106-02117에서 알 수 있으며, 그 내용은 여기에 참조로서 포함된다. 참조의 편의를 위해, 상기 명세서에서 보다 상세하게 설명된 부분은 전체적으로 상기 명세서에서 사용된 참조부호로 표시된다.
상기 명세서에서 보다 상세하게 기술된 것과 같이, 도 1을 참조하면, 리시버 /디코더(2020)는 몇 가지 인터페이스, 특히 MPEG 신호 흐름용 튜너(4028), 직렬 인터페이스(4030), 병렬 인터페이스(4032), 및 시스템의 일부를 형성하는 스마트 카드용과 (지불, 홈뱅킹 등에 사용되는) 은행카드용의 두 개의 카드 리더(4036)를 포함한다. 리시버/디코더는 모뎀화된 백 채널(4002)과 텔레비젼 신호 발생기와의 인터페이스(4034)도 포함하고, 이것에 의해 사용자는 선호도 등을 텔레비젼 신호(프로그램) 발생기로 다시 나타낼 수 있다. 리시버는 런타임 엔진(4008), 장치관리자 (4068), 및 하나이상의 응용프로그램(4056)을 실행시키는 다수의 장치(4062)와 장치구동기(4060)를 포함한다.
본 명세서의 목적상, 응용프로그램은 바람직하게는 리시버/디코더(2020)의 하이레벨 기능을 제어하는 일종의 컴퓨터 코드이다. 예를 들면, 최종 사용자가 리모컨의 초점을 텔레비젼 세트(2022)의 스크린에 보여지는 버튼에 맞추고 확인키를 누르면 그 버튼과 관련된 명령 시퀀스가 실행된다.
쌍방향성 응용프로그램은 메뉴를 제안하고 최종 사용자의 요구시 명령을 실행하고 응용프로그램의 목적과 관련된 데이터를 제공한다. 응용프로그램은 리시버/디코더(2020)의 ROM (또는 FLASH 등의 비휘발성 메모리)에 저장되거나, 또는 리시버/디코더(2020)의 RAM 또는 FLASH 메모리로 방송 및 다운로드되는 상주 응용프로그램(resident applications)일 수 있다.
상기 출원에서 보다 상세하게 설명된 응용프로그램의 예로는:
리시버/디코더(2020)가 MPEG-2 환경에서 즉시 동작될 수 있도록 하는 적응가능한 모듈의 집합인 초기화 응용프로그램(Initiating Application),
다운로드되거나 상주하는 모든 응용프로그램이 리시버/디코더(2020)에서 실행될 수 있도록 하는 스타트업 응용프로그램(Startup Application),
프로그래밍에 관한 모든 정보를 제공하는 쌍방향 응용프로그램인 프로그램 가이드(Program Guide),
최종 사용자가 현재의 사상을 구매할 수 있도록 하기 위하여 디지털 텔레비젼 보우케이(bouquet)의 각 PPV 채널에서 사용가능한 쌍방향 서비스인 유료시청 응용프로그램(Pay Per View application),
최종 사용자가 PC 다운로드 응용프로그램을 사용하여 컴퓨터 소프트웨어를 다운로드할 수 있도록 하는 PC 다운로드 응용프로그램(PC Download application),
온-스크린 버튼을 통한 최종 사용자의 네비게이션에 관한 이미지의 주기적인 비디오 방송을 포함하는 매거진 브라우져 응용프로그램(Magazine Browser applica tion),
판매용 물품의 제공물이 리시버/디코더(2020)로 전송되어 텔레비젼(2022)에 디스플레이되고 사용자가 구매할 특정 품목을 선택할 수 있도록 하는 텔레쇼핑 응용프로그램(Teleshopping application)이 있다.
응용프로그램은 리시버/디코더(2020)의 메모리에 저장되고 리소스 파일로서 표현된다. 리소스 파일은 상기 명세서에서 보다 상세하게 기술된 것과 같이 그래픽 객체 설명 유닛 파일(graphic object description unit files), 변수 블럭 유닛 파일(variables block unit files), 명령 시퀀스 파일(instruction sequence files), 응용프로그램 파일(application files) 및 데이터 파일을 포함한다.
MPEG 데이터 스트림에서, 각 모듈은 일련의 MPEG 테이블을 포함한다. 각 MPEG 테이블은 다수의 섹션으로 포맷될 수 있다. MPEG 데이터 스트림에서, 각 섹션은 4kbyte까지의 "크기(size)"를 갖는다. 직병렬 포트를 경유하는 데이터 전송에 대하여, 예를 들면, 모듈은 테이블 및 섹션으로 유사하게 분할되고, 이 섹션의 크기는 전송매체에 따라 변한다.
모듈은 각 데이터 스트림의 타입, 예를 들면 영상 데이터 스트림, 음성 데이터 스트림 및 텔레텍스트 데이터 스트림내에서 전형적으로 188 바이트의 데이터 패킷 형태의 MPEG 데이터 스트림으로 전송된다. 각 패킷에는 13비트의 패킷 식별자 (PID)가 앞서게되고, 모든 패킷에 대하여 하나의 PID는 MPEG 데이터 스트림으로 전송된다. 프로그램 맵 테이블(PMT 테이블)은 서로 다른 데이터 스트림의 리스트를 포함하고 각 PID에 따른 각 데이터 스트림의 컨텐츠를 정의한다. 프로그램에 더하여 소정의 PID는 데이터 스트림에 포함된 응용프로그램 등의 데이터에 할당될 수 있으며, PID는 PMT 테이블을 사용하여 식별된다.
디코더는 RAM 볼륨, FLASH 볼륨 및 ROM 볼륨으로 분할되는 메모리를 포함하지만 이러한 물리적인 구조는 논리적인 구조와는 구별된다. 이 메모리는 다양한 인터페이스와 관련된 메모리 볼륨으로 더 분할될 수 있다. 하나의 관점에서 메모리는 하드웨어의 일부로서 간주될 수 있으며, 다른 관점에서 메모리는 하드웨어를 제외한 전체 시스템을 지원 또는 포함하는 것으로서 간주될 수 있다.
시스템은 가상장치(4007)의 일부를 형성하는 런타임 엔진(4008)을 중앙에 둔 것으로 간주될 수 있다. 이것은 하나의 측면("하이 레벨" 측면)으로는 응용프로그램에 결합되고, 다른 측면("로우 레벨" 측면)으로는 하기에 기술된 다양한 중간 논리 유닛을 통하여 리시버/디코더 하드웨어(4061)에 결합된다. 리시버/디코더 하드웨어는 상기에 기술된 다양한 포트 또는 인터페이스(핸드셋(2026)용 인터페이스 (2030), MPEG 스트림 인터페이스(4028), 직렬 인터페이스(4030), 병렬 인터페이스 (4032), 카드리더(4036)와의 인터페이스, 모뎀화된 백 채널(4002)과의 인터페이스 (4034))를 포함하는 것으로 간주될 수 있다.
도 2를 참조하면, 다양한 응용프로그램(4056)이 유닛(4007)에 결합되며, 보다 일반적으로 사용되는 응용프로그램의 일부는 참조부호(4057)로 나타낸 것과 같이 시스템에서 다소 영구적으로 상주하는 반면에, 나머지들은 예를 들어 필요시 MPEG 데이터 스트림 또는 다른 포트에서 시스템으로 다운로드될 것이다.
유닛(4007)은, 런타임 엔진(4008)에 더하여 툴박스(4058)를 포함하는 몇개의 상주 라이브러리 함수(4006)를 포함한다. 라이브러리는 엔진(4008)에 의해 사용되는 C 언어의 보조 함수를 포함한다. 이것은 데이터 구조의 압축, 확장 또는 비교와 같은 데이터 조작, 라인 드로잉 등을 포함한다. 라이브러리(4006)는 하드웨어 및 소프트웨어 버전넘버 및 사용가능한 RAM 공간과 같은 리시버/디코더(2020)의 펌웨어(4061)에 대한 정보와, 새로운 장치(4062)를 다운로드할 경우에 사용되는 함수도 포함한다. 함수는 라이브러리로 다운로드되어 플래쉬 또는 RAM 메모리에 저장될 수 있다.
런타임 엔진(4008)은 장치 관리자(4068)에 결합되고, 이 장치관리자(4068)는 일련의 장치(4062)에 결합되고, 이 일련의 장치(4062)는 장치구동기(4060)에 결합되고, 이 장치구동기(4060)는 포트 또는 인터페이스에 교대로 결합된다. 넓은 의미로, 장치구동기는 논리적인 인터페이스를 정의하는 것으로 간주될 수 있으므로 2개의 서로 다른 장치구동기가 공통의 물리적인 포트에 결합될 수 있다. 장치는 일반적으로 하나 이상의 장치구동기에 결합되므로, 장치가 단일 장치구동기에 결합되면 이 장치는 일반적으로 통신하는 데 필요한 모든 기능성을 포함하도록 설계될 것이기 때문에 개별적인 장치구동기에 대한 요구가 미연에 방지된다. 소정의 장치들은 그들 상호간에 통신할 수 있다.
하기에 기술된 것과 같이, 장치(4062)에서 런타임 엔진으로의 통신에는 3가지 형태, 즉 일련의 사상 큐로 전송되는 변수, 버퍼 및 사상이 있다.
리시버/디코더(2020)의 각 기능은 장치(4062)로서 표현된다. 장치는 로컬 또는 원격 장치일 수 있다. 로컬 장치(4064)는 스마트카드, SCART 커넥터 신호, 모뎀, 직병렬 인터페이스, MPEG 비디오 및 오디오 플레이어 및 MPEG 섹션 및 테이블 추출기를 포함한다. 원거리에서 동작되는 원격장치(4066)는 포트 및 프로시져가 리시버/디코더의 제조업자에 의해 제공 및 설계된 장치 및 장치구동기에 의해서라기보다는 시스템 설계자에 의해 정의되어야 한다는 점에서 로컬 장치와 다르다.
새로운 장치(4062)가 생성되면, 이것은 방송 센터로부터 관련 응용프로그램 (4056)을 다운로드함으로써 기존의 리시버/디코더(2020)에 설치될 수 있다. 이 다운로딩은 하드웨어 및 소프트웨어 버젼을 검사하고, 정확하다면, 새로운 장치(406 2)를 표현하는 소프트웨어 모듈을 로드하고 라이브러리(4006)의 프로시져를 요청하여 펌웨어(플래쉬 메모리)에 새로운 장치코드를 설치하는 응용프로그램(4056)에 의해 리시버/디코더(2020)에서 수행된다. 이것은 나머지 소프트웨어에 영향을 주지 않고 리시버/디코더(2020)내에 새로운 기능을 유연하고 안정되게 설치할 수 있도록 한다.
장치관리자(4068)는 응용프로그램(4056)과, 리시버/디코더(2020)의 특정 기능간의 공통 소프트웨어 인터페이스이다. 장치관리자(4068)는 장치(4062)로의 액세스를 제어하고, 미예측 사상의 수신을 선언하고, 공유 메모리를 관리한다.
런타임 엔진(4008)은 마이크로프로세서와 공통 응용프로그램 프로그래밍 인터페이스의 제어하에서 실행된다. 이것은 모든 리시버/디코더(2020)에 설치되므로 모든 리시버/디코더(2020)는 응용프로그램 관점에서 동일하다.
엔진(4008)은 응용프로그램(4056)을 리시버/디코더(2020)에서 실행한다. 이것은 쌍방향 응용프로그램(4056)을 실행하여 리시버/디코더(2020) 외부로부터 사상을 수신하고, 그래픽 및 텍스트를 디스플레이하고, 서비스용 장치를 호출하고 특정한 계산을 위한 엔진(4008)에 결합된 라이브러리(4006)의 함수를 사용한다.
런타임 엔진(4008)은 각 리시버/디코더(2020)에 설치된 실행가능한 코드이고, 응용프로그램을 해석하여 실행시키는 해석기를 포함한다. 엔진(4008)은 (MS-DOS와 같은) 싱글 태스크 운영체제를 포함하는 모든 운영체제에 적용가능하다. 엔진(4008)은 (다양한 실행을 수행하기 위해 키 누름과 같은 다양한 사상을 취하는)프로세스 시퀀서 유닛을 기반으로 하고, 다른 하드웨어 인터페이스로부터의 사상 큐를 관리하기 위하여 자체 스케쥴러를 포함한다. 이것은 그래픽과 텍스트의 디스플레이도 조정한다. 프로세스 시퀀서 유닛은 일련의 실행그룹(action-groups)을 포함한다. 각 사상은 프로세서 시퀀서 유닛이 사상의 특성에 따라 현재의 실행 그룹에서 다른 실행 그룹으로 이동하고, 새로운 실행 그룹의 실행을 수행할 수 있도록 한다.
엔진(4008)은 응용프로그램(4056)을 리시버/디코더 메모리(2028)로 로드 및 다운로드하도록 코드 로더(code loader)를 포함한다. 최적의 사용을 확보하기 위하여, 필요한 코드만이 RAM 또는 플래쉬 메모리로 로드된다. 다운로드된 데이터는 응용프로그램(4056)의 수정 또는 인증되지 않은 응용프로그램의 어떠한 실행도 방지하도록 인증 메커니즘에 의해 확인된다. 엔진(4008)은 복원기를 더 포함한다. 응용프로그램 코드(중간 코드의 형태)는 공간을 절약하고 MPEG-2 이송 스트림으로부터 또는 내장된 리시버/디코더 모드를 통한 빠른 다운로딩을 위하여 압축되기 때문에, 코드는 RAM으로 로딩되기 이전에 복원되어야 한다. 엔진(4008)은 다양한 변수값을 업데이트하여 상태 변경을 판단하기 위해 응용프로그램 코드를 해석하는 해석기와, 에러 체커도 포함한다.
장치(4062)의 서비스를 사용하기 이전에, (응용프로그램 명령 시퀀스와 같은) 프로그램은 "클라이언트(client)", 즉 장치(4062) 또는 장치관리자(4068)로의 논리적인 액세스 방식으로서 선언되어야 한다. 관리자는 장치로의 모든 액세스에서 참조되는 클라이언트 번호를 클라이언트에 부여한다. 장치(4062)는 몇 개의 클라이언트를 가질 수 있으며, 각 장치(4062)에 대한 클라이언트의 수는 장치(4062)의 타입에 따라 지정된다. 클라이언트는 프로시져 "Device:Open Channel"에 의해 장치 (4062)로 도입된다. 이 프로시져는 클라이언트 번호를 클라이언트에 할당한다. 클라이언트는 프로시져 "Device:Close Channel"에 의해 장치관리자(4068) 클라이언트 리스트에서 얻을 수 있다.
장치관리자(4068)에 의해 제공되는 장치(4062)로의 액세스는 동기식 또는 비동기식일 수 있다. 동기식 액세스에서는 프로시져 "Device:Call"이 사용된다. 이것은 즉시 사용가능한 데이터를 액세스하는 수단이거나 또는 원하는 응답에 대한 대기를 포함하지 않는 기능성이다. 비동기식 액세스에서는 프로시져 "Device:I/O"가 사용된다. 이것은 응답에 대한 대기, 예를 들어 멀티플렉스를 찾기 위하여 튜너 주파수를 스캐닝하거나 MPEG 스트림으로부터 테이블을 되찾는 것을 포함하는 데이터를 액세스하는 수단이다. 요청한 결과가 가능할 때, 사상은 그 도착을 알리기 위하여 엔진의 큐에 놓여진다. 프로시져 "Device:Event"는 미예측 사상을 관리하는 수단을 제공한다.
상기와 같이, 런타임 엔진의 메인 루프는 다양한 프로세스 시퀀서 유닛에 결합되며, 메인 루프가 적절한 사상과 만날 때 제어는 일시적으로 프로세스 시퀀서 유닛중 하나로 전송된다.
따라서, 응용프로그램이 다양한 장치와 통신할 수 있도록 하는 상당한 유연성을 갖는 플랫폼을 기본적인 시스템이 제공한다는 것을 알 수 있다.
모뎀 장치구동기
삭제
다양한 기능의 구현에 대한 상세한 설명과, 하드웨어와 소프트웨어간의 구분은 실시자가 선택할 일이므로 상세하게 설명되지는 않을 것이다. 그러나, 본 장치 구성기에 필요한 동작을 수행할 수 있는 전용 집적회로는 상업적으로 사용가능하거나 또는 용이하게 설계될 수 있으며, 이것은 하드웨어 가속기에 대한 기본으로서 사용되거나, 바람직하게는 전용 하드웨어 가속기를 생산하기 위하여 수정됨으로써 요구되는 다양한 동작을 수행할 수 있으며, 이로인해 소프트웨어를 실행하는 데 필요한 처리력을 감소시킬 수 있다는 것을 알 수 있다. 그러나, 요구되는 동작은 충분한 처리력이 사용가능하면 소프트웨어로 수행될 수도 있다. 장치구동기는 일련의 개별적으로 액세스 가능한 기능유닛을 포함하는 것으로서 간주될 수 있으며, 그 각각은 이후로 "명령(command)"으로 불려질 것이다.
각 명령은 다른 장치에도 공통인, 상술한 3개의 표준 프로시져중 하나에 의해 장치관리자(4068)의 제어하에서 응용프로그램과 인터페이싱한다. 정보는 파라미터 테이블에 의해 응용프로그램과 장치간에 전송될 수 있다. 참조의 용이성을 위하여, 3개의 기본 프로시져가 다음과 같이 간략히 요약된다:
1)Device:Call. 이 프로시져는 동기식 명령 또는 데이터 전송을 수행하는 응용프로그램에 의해 사용될 수 있다. 응용프로그램의 실행은 장치구동기에 의한 동작이 완료될 경우에 제어가 복귀될 때까지 일시정지되며, 이것은 엄격한 시퀀스로 수행되어야 하는 동작이 확실하게 제어될 수 있도록 한다.
2)Device:I/O. 이 프로시져는 비동기식 동작을 가능케한다. 즉, 응용프로그램은 장치구동기에 의해 수행될 데이터 전송 또는 특별한 기능에 대한 요청을 전송할 수 있으며 응용프로그램의 실행은 데이터 전송 또는 기능이 장치구동기에 의해 수행되는 동안 지속될 수 있다.
3)Device:Event. 사상 트랩 기능은 사상이 장치에 의해 응용프로그램으로 알려질 수 있도록 하며, 코드와 무관하게 사상에 응답하여 응용프로그램에 의해 취해질 특정 실행에 대하여 응용프로그램은 사상이 알려질 때 실행되어 응용프로그램이 효과적으로 인터럽트된다. 사상은 우선순위가 매겨질 수 있다. 사상은, 예를 들어 요청되는 데이터 전송의 완료를 알림으로써, 버스리셋과 같은 인터페이스에서 발생하는 사상을 알리거나 또는 비동기식 명령의 모니터링을 제공하는 데 사용될 수 있다.
본 장치구동기가 논리 유닛(501), 제어 메모리(502), 및 버퍼 메모리(503)를 포함하는 블럭(500)(도 3)으로 도시되어 있다. 이들 두 메모리는 논리적으로 구별되지만, 둘 다 동일한 물리적인 메모리 부분을 형성한다(보다 상세하게는, 버퍼 메모리는 RAM 메모리 부분을 형성하고, 제어 메모리는 RAM 또는 FLASH 메모리 부분을 형성할 수 있음). 장치구동기는 도시한 바와 같이 장치관리자(4068)와 모뎀 인터페이스(550)에 결합된다. 각 명령은 논리 유닛(501) 부분을 형성하고, 제어 및/또는 버퍼 메모리 부분에서 동작할 수 있다.
넓은 의미로, 신호 변/복조에 있어 모뎀 기능은 인터페이스(550)에 포함되거나 부착될 수 있는 모뎀 유닛에 의해 수행된다. 이러한 모뎀 기능은 제외하고 인터페이스를 통한 정보 흐름의 제어 및 관리는 장치 구동기(500)에 의해 수행된다.
상기와 같이, 장치/장치구동기와 장치관리자(4068) 사이의 통신은 3가지 타입의 프로시져: 호출, IO, 및 사상에 의해 수행된다. 장치구동기(500)에 의해 사용되는 프로시져에 대하여, 호출은 다양한 파라미터를 장치관리자를 통해 응용프로그램에서 장치구동기로 전송하는 데 사용되고, IO는 명령을 장치관리자를 통해 응용프로그램에서 장치구동기로 전송하는 데 사용되고, 사상은 메시지를 장치관리자를 통해 장치구동기에서 응용프로그램으로 전송하는 데 사용된다.
본 발명을 실시하는 장치에서 제공되는 명령이 이제 기술된다. 각 명령은 상기 3개의 표준 프로시져중 하나를 통해 파라미터로서 명령의 식별자를 전송함으로써 응용프로그램에 의해 액세스될 수 있다. 하기에 기술된 모든 명령이 제공될 필요는 없으며, 명령의 기능은 변경될 수 있다. 명령이 독립적으로 제공 또는 변경될 수 있더라도, 소정의 시너지 효과는 기술된 명령에 의해 제공되는 결합된 기능성으로 발생된다.
명령은 선택적 및 바람직한 특징과 함께, 각 명령에 의해 제공되는 특성 및 기능의 견지에서 기술된다. 주어진 정보와 제공된 명세서로, 이러한 특성의 실제 구현은 이 기술분야의 당업자에게는 수월하여야 하고 정확한 설명은 실시자에게 맡겨둔다. 예를 들면, 각 명령은 바람직하게는 C 프로그램밍 언어로 기록되고 바람직하게는 응용프로그램을 실행하는 데 사용되는 프로세서에서 실행되도록 컴파일된 소프트웨어로 구현될 수 있다. 그러나 장치구동기는 별개의 프로세서에서 실행될 수 있으며, 일부 또는 모든 명령은 전용 하드웨어에 의해 구현될 수 있다. 호출 및 IO 명령은 어드레스가 장치로 전송되는 메모리에 저장된 파라미터 테이블에서 값을 설정함으로서 응용프로그램으로 정보를 알리거나 파라미터를 전송할 수 있다.
보다 상세하게는, 사용되는 절차 또는 명령은 다음과 같다:
Device : Call
Set: 버퍼 사이즈, 타이머 지연 설정.
Comm set: 데이터 사이즈(5 내지 8 비트), 패리티, 전송속도 설정.
Char set: 정지 문자 및 지연 설정.
Control set: 원거리 장치로 전송된 신호를 사용가능/사용불가능.
Pattern set: 검색될 패턴을 설정.
Device : IO
Command: 해석하지 않고 장치구동기로 명령을 전송.
Send: 장치구동기로 데이터를 전송.
Action: 해석하지 않고 장치구동기로 명령을 전송.
Disconnect: 장치구동기를 차단.
Device : Event
Receive: 메시지의 수신을 알림.
Off: 전송 문제를 알림.
프로시져는 전환(back)을 알리는 에러코드와 (Event:Off 프로시져를 제외하고) 장치구동기에서 장치관리자로 전환을 알리는 호출보고도 포함한다. 또한, 호출 또는 IO 프로시져는 전송된 정보(파라미터 등)가 찾게될 메모리 어드레스를 포함한다.
대부분의 이러한 명령의 기능은 종래의 것이다. 그러나, 본 시스템은 특별한 명령, 호출 명령 패턴 세트를 포함한다. 이 명령은 논리 유닛(501)에 의해 검색될 하나이상의 패턴을 정의한다. 명령은 메모리 어드레스를 포함하고, 메모리는 이 어드레스에서 시작하는 일련의 패턴을 포함한다. (보다 상세하게는, 메모리의 첫번째 위치는 개개의 패턴에 이은 패턴의 수를 포함하고, 메모리의 각 개별 패턴은 이 패턴의 길이를 제공하는 헤더를 포함한다.
일반적으로, 3가지의 서로 다른 타입의 패턴은 사상, ACK(긍정 응답), 및 NACK(부정 응답)을 생성하도록 설정될 수 있다. 동일한 명령에 3가지 타입의 패턴을 포함한다는 것은 물론 가능하며, 각 패턴의 헤더는 이 패턴의 타입을 식별한다. 그러나, 3가지 타입의 패턴에 대하여 3가지의 명령의 서브 타입을 사용하는 것이 바람직하다. 따라서, 모뎀에 의해 명령의 확실한 수신을 검출하는 데 필요할 수 있는 ACK 및 NACK 패턴은 바람직하게는 전용 명령을 사용하여 바람직하게 설정되고, 다른 모든 패턴은 사상을 트리거하는 데 사용되고, 각 패턴은 패턴이 구별될 수 있도록 번호가 할당된다. 이러한 명령은 제어 메모리(502)의 메모리 영역(510)(도4)을 설정하며, 이 메모리 영역은 각각 사상, ACK, 및 NACK 패턴을 포함하는 3개의 세그먼트를 가진다. 논리 유닛(501)은 이 메모리 영역에 결합되는 비교기 유닛(51 1)을 포함한다.
메모리 영역(510)은 3개의 패턴 세팅 명령에 의해 지정된 메모리 영역으로 구성될 수 있다. 이 경우에, 메모리 영역의 3개의 세그먼트는 물리적으로 메모리의 다른 영역에 있을 수 있다. 비교기 유닛(511)은 3개의 세그먼트의 시작 어드레스를 저장하고, 다양한 패턴으로의 액세스를 얻기 위하여 (각 세그먼트의 시작에 저장된) 패턴수와 개개의 패턴의 길이를 사용하여 패턴의 정확한 위치를 판단하고, 필요시 교대로 그 각각으로의 액세스를 얻어야 한다. 선택적으로, 비교기 유닛(511)은 메모리 영역(510)을 소정위치의 패턴의 테이블로서 설정함으로써 메모리를 초기화할 수 있다.
메시지가 수신되면, 이것은 버퍼 메모리(503)의 버퍼로 전송된다. 이 메모리는 다수의 버퍼(512)로 분할되어 메시지는 하나 이상의 버퍼를 사용할 수 있다. 그러나, 메시지 공간은 어떠한 메시지에 대해서도 논리적으로는 연속적이다. 패턴 비교가 수행되면, 비교기(511)는 메모리 영역(510)에 저장된 패턴과의 비교를 위한 메시지의 마지막 문자(32)를 검색한다.
비교가 발견되면, 비교의 타입(사상, ACK, 또는 NACK)은 버퍼에 저장된 메시지의 헤더에 기록되고 및/또는 적절한 실행이 장치구동기에 의해 취해진다.
ACK 및 NACK 패턴검출은, 예를 들어 모뎀이 오프된 동안 명령이 전송될 경우에 모뎀으로부터 예측응답을 검출하는 데 사용될 수 있다. 모뎀으로부터의 다른 신호는 개별적인 패턴 리스트와 비교되고, 사상을 트리거하는데 사용되며, 이러한 이유로 ACK 및 NACK 패턴의 설정은 모뎀으로부터의 미예측 사상 또는 메시지에 대응하는 패턴 리스트의 설정과는 무관하게 수행된다.
이 방식에서는 응용프로그램이 다양한 모뎀과 통신하는 것이 가능하다. 예를 들면, 많은 모뎀들은 헤이스 표준(Hayes standard)과 같은 명령 시퀀스와 응답에 대한 표준으로 일반적으로 확인될 수 있지만, 독점 응답 시퀀스가 생성되는 다른 특징을 가질 수도 있다. 이러한 경우에, ACK 및 NACK 패턴은 표준 패턴으로 설정될 수 있으며, 다른 특징에 해당하는 응답 시퀀스는 사상 신호에 할당될 수 있다.
도 5는 버퍼 메모리(503)에 상주하는 메시지(520)를 나타낸다. 메시지는 헤더(521)와 바디(522)로 구성된다. 이 경우 메시지는 두 버퍼(512,512') 사이에서 물리적으로 분할된다. 비교기(520)는 메시지 바디(522)의 마지막 32 문자 영역 (523)에 대하여 패턴비교를 수행한다(즉 메모리 영역(510)에 저장된 패턴과의 비교에 대한 검색)을 수행한다. 발견된 비교의 특성은 버퍼 메모리의 메시지 헤더(521)에 삽입된다.
하나이상의 비교가 두 가지 방식으로 발생될 수 있다. 첫째, 동일한 타입의 두 패턴이 (메시지의 마지막 32 문자의 서로 다른 위치에서) 발생할 수 있다. 이러한 이중 비교는 무시, 즉 하나의 비교로 취급될 수 있다. 둘째, 서로 다른 타입의 두 비교는 (마지막 32 문자의 서로 다른 위치에서) 발생할 수 있다. 환경에 따라, 비교기(511)는 서로 다른 타입의 비교 사이에서의 소정의 우선순위 또는 어느 패턴이 메시지의 끝에 근접하는 지에 따라 비교 타입을 나타내기 위해 구성될 수 있다.
명령 모드에서, 즉 모뎀 파라미터가 설정될 경우에, 이 기술은 명령 메시지를 장치구동기로 전송하는 데 사용될 수 있다. 메시지는 장치구동기에 의해 해석되며, 예를 들어 데이터 서버와의 인터페이스를 통해 전송되지는 않는다. 전송된 각 명령에 대하여, 장치구동기는 복귀 메시지에서 패턴을 검색하고 따라서 장치구동기로 응답한다.
삭제
이 모드에서, 명령을 전송하지 않고 인터페이스를 통하여 메시지를 수신할 수도 있다. 이것은, 예를 들어 링 전압이 검출되면 발생할 수 있다. 이 경우에 장치구동기는 패턴을 사상 패턴 리스트에서 검색한다.
온라인 모드에서, 모뎀은 데이터 서버에 연결되며 이 서버로부터 메시지를 수신할 수 있다. 장치구동기는 데이터 서버로부터 수신된 마지막 32 문자에서 패턴을 검색한다.
상기 명령과 사상은 단지 예시일뿐, 본 발명은 다양한 방식으로 구현될 수 있으며, 특히 일부 명령은 유사한 기능을 수행하는 다른 것과 결합되거나 또는 일부는 간단한 실시에서 생략될 수 있다. 각 기능의 하드웨어 및 소프트웨어 구현은 명령간 그리고 단일 명령내에서 자유롭게 혼합될 수 있다.
하드웨어, 컴퓨터 소프트웨어 등에 의해 수행되는 기능은 전기적 신호로 또는 전기적 신호를 사용하여 수행된다는 것을 쉽게 이해할 것이다. 소프트웨어 실시는 ROM에 저장되거나 또는 FLASH에 저장 또는 패치될 수 있다.
본 발명은 단지 예로서 상술하였으며, 상세의 수정이 본 발명의 범위내에서 이루어질 수 있음을 이해할 것이다.
상세설명, 청구범위 및 도면에 개시된 각 특징은 독립적으로 또는 적절한 결합으로 제공될 수 있다.

Claims (29)

  1. 모뎀을 제어하여 통신하기 위한 장치 구동기로서, 상기 장치 구동기는:
    상기 모뎀으로부터 메시지를 수신하여 저장하기 위한 버퍼 메모리;
    패턴을 저장하기 위한 제어 메모리; 및
    상기 장치 구동기와 상기 메시지 흐름을 제어하기 위한 논리 유닛을 포함하며,
    상기 논리 유닛은 매칭되는 패턴의 타입을 지시하기 위한 신호를 생성하기 위하여 상기 버퍼 메모리에 저장된 메시지에 대하여 상기 제어 메모리에 저장된 패턴을 매칭하기 위한 비교기를 포함하고, 상기 신호는 상기 장치 구동기에 결합된 장치 관리자로 전송하기 위한 메시지에 삽입되는 것을 특징으로 하는 장치 구동기.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 버퍼 메모리와 제어 메모리를 포함하는 장치 구동기를 이용하여 모뎀을 제어하여 통신하기 위한 방법으로서, 상기 방법은:
    상기 장치 구동기에서,
    상기 모뎀으로부터 메시지를 수신하여 상기 버퍼 메모리에 저장하는 단계;
    매칭되는 패턴의 타입을 지시하기 위한 신호를 생성하기 위하여 상기 버퍼 메모리에 저장된 메시지에 대하여 상기 제어 메모리에 저장된 패턴을 매칭하는 단계;
    상기 신호를 상기 메시지에 삽입하는 단계; 및
    상기 장치 구동기에 결합된 장치 관리자로 상기 메시지를 전송하는 단계를 포함하는 것을 특징으로 하는 방법.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
KR1020007003547A 1997-10-03 1998-10-02 모뎀 제어 KR100579000B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP97402334.3 1997-10-03
EP97402334A EP0913775A1 (en) 1997-10-03 1997-10-03 Modem control
PCT/IB1998/001606 WO1999018513A1 (en) 1997-10-03 1998-10-02 Modem control

Publications (2)

Publication Number Publication Date
KR20010024391A KR20010024391A (ko) 2001-03-26
KR100579000B1 true KR100579000B1 (ko) 2006-05-12

Family

ID=8229868

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020007003547A KR100579000B1 (ko) 1997-10-03 1998-10-02 모뎀 제어

Country Status (19)

Country Link
US (1) US6804820B1 (ko)
EP (2) EP0913775A1 (ko)
JP (1) JP4303884B2 (ko)
KR (1) KR100579000B1 (ko)
CN (1) CN1188790C (ko)
AT (1) ATE363686T1 (ko)
AU (1) AU9278198A (ko)
BR (1) BR9812704B1 (ko)
CA (1) CA2304617A1 (ko)
DE (1) DE69837856T2 (ko)
HK (1) HK1030274A1 (ko)
HR (1) HRP20000163A2 (ko)
HU (1) HUP0100547A2 (ko)
IL (1) IL135414A0 (ko)
NO (1) NO20001650L (ko)
PL (1) PL339632A1 (ko)
TR (1) TR200001559T2 (ko)
WO (1) WO1999018513A1 (ko)
ZA (1) ZA988995B (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7120931B1 (en) * 2000-08-31 2006-10-10 Cisco Technology, Inc. System and method for generating filters based on analyzed flow data
US6651111B2 (en) * 2001-02-16 2003-11-18 Microsoft Corporation System and method for managing a serial port
CN100515076C (zh) * 2002-05-31 2009-07-15 安桥株式会社 网络型内容再现系统
US7912999B2 (en) * 2002-07-03 2011-03-22 Freescale Semiconductor, Inc. Buffering method and apparatus for processing digital communication signals
US8499338B1 (en) * 2010-02-16 2013-07-30 Sprint Communications Company L.P. Internet protocol controlled modem for use over a wireless voice network
GB2521412A (en) * 2013-12-18 2015-06-24 Continuumbridge Ltd An apparatus for network bridging

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4896133A (en) * 1987-02-10 1990-01-23 Davin Computer Corporation Parallel string processor and method for a minicomputer

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4484263A (en) * 1981-09-25 1984-11-20 Data General Corporation Communications controller
DE69130154T2 (de) * 1990-12-14 1999-05-20 Sun Microsystems Inc Verfahren und Gerät zur Nachrichtenvermittlung zwischen Prozessen
US5327558A (en) * 1992-04-30 1994-07-05 Motorola, Inc. Method for asynchronous application communication
DE4321776C1 (de) * 1993-06-30 1994-12-08 Siemens Ag Verfahren zum Bilden und Analysieren von informationselementeorientierten Signalisierungsmeldungen in Kommunikationseinrichtungen
US5499364A (en) * 1993-10-14 1996-03-12 Digital Equipment Corporation System and method for optimizing message flows between agents in distributed computations
US6343263B1 (en) * 1994-08-02 2002-01-29 Apple Computer, Inc. Real-time signal processing system for serially transmitted data
EP0788057B1 (en) * 1996-01-31 2003-05-02 Compaq Computer Corporation Computer system with controllerless modem

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4896133A (en) * 1987-02-10 1990-01-23 Davin Computer Corporation Parallel string processor and method for a minicomputer

Also Published As

Publication number Publication date
WO1999018513A1 (en) 1999-04-15
AU9278198A (en) 1999-04-27
NO20001650D0 (no) 2000-03-30
TR200001559T2 (tr) 2000-11-21
HK1030274A1 (en) 2001-04-27
JP2001519567A (ja) 2001-10-23
ATE363686T1 (de) 2007-06-15
DE69837856T2 (de) 2008-01-31
DE69837856D1 (de) 2007-07-12
CN1280685A (zh) 2001-01-17
IL135414A0 (en) 2001-05-20
ZA988995B (en) 1999-05-24
HRP20000163A2 (en) 2001-12-31
US6804820B1 (en) 2004-10-12
NO20001650L (no) 2000-06-05
EP0913775A1 (en) 1999-05-06
HUP0100547A2 (hu) 2001-06-28
BR9812704B1 (pt) 2010-11-16
CA2304617A1 (en) 1999-04-15
KR20010024391A (ko) 2001-03-26
PL339632A1 (en) 2001-01-02
BR9812704A (pt) 2000-08-22
EP1019836B1 (en) 2007-05-30
JP4303884B2 (ja) 2009-07-29
CN1188790C (zh) 2005-02-09
EP1019836A1 (en) 2000-07-19

Similar Documents

Publication Publication Date Title
KR100559158B1 (ko) Ieee 셋탑 박스 디바이스 드라이버
KR100579000B1 (ko) 모뎀 제어
JP4642230B2 (ja) 受信器/復号器部
MXPA00003213A (en) Modem control
NZ500205A (en) Common interface between applications and computer components
US6745393B2 (en) Broadcast receiving apparatus
MXPA00009426A (en) Memory management in a receiver/decoder
MXPA00000776A (en) Ieee set top box device driver
CZ20001198A3 (cs) Řízení modemu

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

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140421

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150417

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160404

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170420

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180417

Year of fee payment: 13

EXPY Expiration of term