KR20010103735A - 구매 매니저 - Google Patents

구매 매니저 Download PDF

Info

Publication number
KR20010103735A
KR20010103735A KR1020017008602A KR20017008602A KR20010103735A KR 20010103735 A KR20010103735 A KR 20010103735A KR 1020017008602 A KR1020017008602 A KR 1020017008602A KR 20017008602 A KR20017008602 A KR 20017008602A KR 20010103735 A KR20010103735 A KR 20010103735A
Authority
KR
South Korea
Prior art keywords
purchase
manager
functions
computer
implemented
Prior art date
Application number
KR1020017008602A
Other languages
English (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 KR20010103735A publication Critical patent/KR20010103735A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Stored Programmes (AREA)

Abstract

어플리케이션은 간접 메카니즘을 이용하여 어플리케이션과 구매 디바이스를 인터페이싱하는 구매 매니저를 통해 안전한 구매 거래를 수행한다. 구매 매니저는 오퍼레이팅 시스템과 연관되는 것이 바람직하고, 어플리케이션과 통신하는 어플리케이션 프로그램 인터페이스(API)를 제공한다. 어플리케이션은 어플리케이션 프로그램 인터페이스를 통해 명령을 발행하고, 이들 명령들은 구매 디바이스 모듈의 일부분을 형성하는 디스패치 테이블을 통한 실행을 위해 매핑된다. 디스패치 테이블은 구매 디바이스 모듈내의 함수들을 식별한다.

Description

구매 매니저{PURCHASE MANAGER}
연방 통신 위원회(FCC)는 디지털 텔레비젼(DTV)을 구현하기 위한 새로운 셋트의 텔레비젼 방송 표준을 공표했다. 디지털 TV가 결국은 국내 및 전세계의 가정에서 현재의 NTSC 표준을 대체할 것으로 예상되고 있다. 디지털 TV는 종래의 NTSC 표준에 비해, 고선명 화질, 크게 개선된 사용자 상호작용 기능, 월드와이드 웹에 대한 지원, 및 인터넷 이메일 리소스 등을 포함하는 여러 장점을 제공한다.
새로운 디지털 TV 표준이 컴퓨터와 텔레비젼 기술의 융합을 촉진시키는 데 상당한 영향을 줄 것이라고 예상된다. 그러므로, 퍼스널 컴퓨터는 언젠가는 홈 오락 멀티미디어 시스템으로서 기능하게 될 것이고, 텔레비젼은 언젠가는 홈 자동화 네트워크로부터 인터넷에 걸치는 다양한 컴퓨터 네트워크 상의 노드로서 기능하게 될 것이다. 디지털 텔레비젼 기술을 채용할 수 있는 여러가지 가능한 다른 물리적 패키지들이 존재하지만, 현재 가장 인기있는 것은 셋톱 박스이다.
초기에는 셋톱 박스는 주로 케이블 TV용 튜너 및 신호 디스크램블러(de-scrambler)로서 기능했다. 최근에는, 사이언티픽 애틀란타(Scientific Atlanta)와 같은 회사들이 전반적인 컴퓨터 오퍼레이팅 시스템을 완비하여 퍼스널 컴퓨터의 성능을 제공하는 훨씬 더 정교한 셋톱 박스를 개발했다.
셋톱 박스는 컴퓨터 오퍼레이팅 시스템을 채용하려고 시도되고 있는 분야이다. 셋톱 박스내의 메모리 리소스는 매우 제한되어 있다. 그러므로, 오퍼레이팅 시스템에 의해 지원되는 어플리케이션들은 매우 효율적인 방법으로 메모리를 이용해야 한다. 반면에, 일반적인 목적의 오퍼레이팅 시스템에 대해 설계되는 어플리케이션들이 필요로 하는 메모리 요건은 더 많은 메모리를 부가해야만 충족될 수 있는데, 이것은 셋톱 박스 환경에서는 수용될 수 없는 해결 방법이다.
셋톱 박스 오퍼레이팅 시스템은 매우 강력해야(robust)한다. 소프트웨어 문제가 발생한 경우 재부팅이 가능한 범용 오퍼레이팅 시스템과는 달리, 셋톱 박스에서는 재부팅이 수용가능한 해결책이 아니다. 특히 시청자가 재미있는 프로그램을 보고 있는 동안에 무리하게 재부팅해야만 하는 경우에는 재부팅을 통한 해결 방법은 더욱 수용할 수 없는 것이다.
이러한 환경에서 활발한 사용자 상호 작용 기능을 지원하는 것은 또 다른 문제를 유발시킨다. 인터랙티브 환경은 구매를 위한 제품과 서비스를 제공할 수 있게 한다. 페이퍼뷰(pay-per-view, 보는 시간에 따라 돈을 지불함)형태로 방송되는 이벤트와 영화, 및 홈 쇼핑 네트워크가 2가지 예들이다. 지금까지는 인터랙티브 구매를 지원하는 표준화된 방법이 존재하지 않았다. 통상적으로, 온라인 구매를이용하도록 작성되는 어플리케이션들은 임시적인 기반에서 통신 문제, 보안 문제, 제품 식별 문제, 및 펀드 전송 문제들을 다루었다. 지금까지는 오퍼레이팅 시스템 레벨의 표준화에 대해서는 전혀 다루어진 적이 없었다.
본 발명은 일반적으로는 컴퓨터 오퍼레이팅 시스템 및 멀티미디어 전달 시스템에 관한 것이다. 더 구체적으로는, 본 발명은 사용자 어플리케이션과, 예를 들면 셋톱 박스(set-top box) 전달 시스템과 같은 미디어 전달 시스템내의 구매 디바이스간의 컴퓨터-구현된 인터페이스에 관한 것이다.
도 1은 디지털 셋톱 박스의 예에 대한 하드웨어 다이어그램을 도시한 도면.
도 2는 구매 매니저를 하나의 구성요소로서 도시하고 있는 오퍼레이팅 시스템의 블럭 다이어그램.
도 3은 본 발명의 구매 매니저의 구성요소들을 더 상세하게 도시한 블럭 다이어그램.
도 4는 구매 매니저 모듈의 내부 구성요소들을 더 상세하게 도시한 블럭 다이어그램.
도 5는 구매 매니저 초기화를 도시하는 시퀀스 다이어그램을 도시한 도면.
도 6a 내지 도 6d는 구매 매니저에 의해 선택된 오퍼레이션의 이용을 도시하는 시퀀스 다이어그램을 도시한 도면.
본 발명은 어플리케이션과 구매 디바이스들간의 인터페이싱을 위한 구매 매니저를 통해 상기 누락된 오퍼레이팅 시스템 레벨의 표준화를 제공한다. 이러한 구매 매니저는 어떠한 사용자 인터랙티브 구매 메카니즘이라도 가능하다. 구매 매니저는 구매 디바이스와 연관되는 적어도 하나의 구매 디바이스 모듈과, 구매 디바이스 모듈을 식별하고 그것에 모듈 핸들을 할당하는 구매 매니저 모듈을 포함한다.
구매 디바이스 모듈은 구매 디바이스 모듈내의 복수의 미리 정의된 함수들(functions)에의 액세스를 제공하는 관련 디스패치 테이블(associated dispatch table)을 구비하고 있다. 구매 매니저 모듈에 의해 할당되는 모듈 핸들이 디스패치 테이블에 액세스할 수 있다.
구매 매니저는 또한 구매 디바이스의 미리 정의된 함수들상으로 매핑하는 복수의 미리 정의된 API 함수들을 구비하는 어플리케이션 프로그램 인터페이스(API)를 정의한다. 따라서, 구매 매니저 모듈이 간접 메카니즘을 정의하고, 이에 의해서 어플리케이션이 어플리케이션 프로그램 인터페이스를 통해 명령을 발행하고, 이들 명령들은 디스패치 테이블을 통한 실행을 위해 구매 디바이스 모듈내의 미리 정의된 함수들상으로 매핑된다.
구매 매니저는 구매 프로세스에 대한 제어권을 오퍼레이팅 시스템에게 넘겨주고, 어플리케이션 설계를 단순화시키며, 통신 표준과 보안 표준을 강제로 실행시킨다. 모듈 핸들과 디스패치 테이블 구조로 인해 구매 디바이스의 기능을 용이하게 업그레이드할 수 있다. 디스패치 테이블은 구매 디바이스에 의해 수행되는 함수들과 관련된 실행가능 명령들을 레퍼런싱(referencing)하거나 분기하는 분기 명령을 저장한다. 이들 분기 명령들은 새로운 기능을 지원하도록 용이하게 변경될 수 있다.
본 발명의 더 완전한 이해를 위해, 그 목적과 장점들을 이하의 명세서와 첨부 도면에 언급한다.
이하, 더 상세하게 설명되는 바와 같이, 본 발명의 구매 매니저는 양호하게는 컴퓨터 오퍼레이팅 시스템의 구성요소로서 포함된다. 구매 매니저는 셋톱 박스 환경에 제한되어 사용되는 것은 아니지만, 이 환경에서 특히 유용하다. 따라서, 도 1은 디지털 셋톱 박스의 기본 구성요소들을 도시하고 있다. 셋톱 박스를 기본적으로 이해하는 것이 본 발명의 구매 매니저를 이해하는데 도움이 된다.
도 1을 참조하면, 셋톱 박스(10)는 적절한 케이블(14)을 통해 케이블 및 통신 인프라 구조(12)에 접속된다. 셋톱 박스는 또한 제2 케이블(16)을 통해 텔레비젼 수상기(18)에 결합된다.
인커밍 케이블(14)은 복수의 다른 채널들을 지원할 수 있다. 설명의 목적상, 케이블(14)은 3개의 다른 논리 채널들, (a) 아날로그 TV 채널의 셋트, (b) 디지털 TV 채널의 셋트, 및 (c) 데이터 통신 채널의 셋트를 공급하는 것으로서 도시되어 있다. 이들은 논리적 채널 구조(construct)들이고, 3개의 채널 셋트 모두는 통상 동일한 물리적 유선 또는 광섬유 케이블 상으로 반송된다는 것은 자명하다. 따라서, 도 1에 도시된 이들 3개의 분리 채널들은 단지 설명의 목적을 위한 것이다.
통상, 아날로그 및 디지털 TV 채널들은 케이블 및 통신 인프라 구조(12)로부터 디지털 튜너(20)로의 단방향 통신을 지원한다. 데이터 통신 채널들은 인프라 구조(12)와 튜너(20)간의 양방향 통신을 지원하는 양방향 채널들이다.
케이블(14)을 통해 공급되는 여러 채널 셋트들은 주파수에 의해 구별된다. 디지털 튜너(20)는 셋톱 박스가 동조되는 특정 주파수, 즉 특정 채널을 선택한다.아날로그 TV 채널들은 튜너(20)로부터 멀티미디어 컴포지터(compositor)(22)로 직접 전송된다. 컴포지터 회로는 케이블(16)로부터 텔레비젼(18)에 공급되는 RF 신호를 공식화한다. 통상, 텔레비젼은 미리 할당된 채널로 동조되어, 컴포지터(22)로부터 RF 신호를 적절하게 수신한다.
디지털 TV 채널들은 또한 참조 부호 24로 도시된 부가 회로를 통해 처음 처리되어, 컴포지터(22)로 전송된다. 구체적으로는, 디지털 TV 신호는 직교 진폭 변조(QAM) 데이터 링크 프로세서(26)를 통해 처음 처리되고, 그리고나서 MPEG 전송 회로(28)에 의해 처리된다. 전송 회로는 전송 스트림으로부터 원하는 디지털 TV 프로그램을 추출한다. 그리고나서, 오디오, 비디오, 및 데이터 구성요소들로 분리한 후, 이들을 비디오 및 오디오 디코더(30) 및 CPU 램(36)으로 라우팅한다. 그리고나서, MPEG 비디오 및 MPEG 오디오는 회로(30)에 의해 분리 처리된다.
메시징을 위한 제어 신호를 포함하는 데이터 통신은 QPSK(quaternary phase shift keying) 모뎀(32)을 통해 분리 처리된다. 모뎀은 CPU 램(36)과 연관되는 중앙 처리 장치(CPU; 34)에 결합된다.
멀티미디어 컴포지터(22)는 비디오 및 오디오 입력 스트림과, CPU-생성 미디어로부터 표시 화상을 생성한다. 멀티미디어 컴포지터(22)는 디지털 셋톱 박스에서 실행되는 어플리케이션에 의해 생성된 그래픽과 텍스트를 풀 모션(full motion) MPEG-2 또는 아날로그 비디오와 조합한다. 그래픽과 비디오의 조합은 2개의 반투명 알파-블렌딩(blending), 모션 비디오의 윈도우로의 스케일링, 및 그래픽 및 비디오의 오버레이를 포함한다. 마찬가지로, 멀티미디오 컴포지터는 어플리케이션오디오와 MPEG 및 아날로그 방송 오디오를 조합하고, 동시에 네트워킹된 로컬 사운드들(샘플링되거나 합성됨)을 단일 신호로 혼합한다.
인터랙티브 디지털 환경에서, QPSK 채널은 사용자와 콘텐츠 제공자간에 투과(transparent) 양방향 통신을 제공한다. 콘텐츠 제공자에 대한 데이터베이스 질의가 이들 채널을 통해 이동되어, 사용자가 인터랙티브 엔터테인먼트를 선택할 수 있게 한다. 어플리케이션이 운용되는 동안에, 이들 채널들은 비디오 플레이, 일시 중지 또는 빨리 감기와 같은 사용자 명령을 콘텐츠 소스에 전송한다. 이들 채널들은 그래픽, 폰트 및 다른 데이터의 요구 및 전달을 가능하게 하고, 상품 및 서비스의 구매를 지원한다.
본 발명에 따른 셋톱 박스는 도 2에 도시된 바와 같은 구조를 갖는 오퍼레이팅 시스템과 번들링(bundle)된다. 특히, 도 2는 하이 레벨의 오퍼레이팅 시스템 구성요소들을 도시하고 있다. 본 발명과 관련되는 것은 구매 디바이스와 오퍼레이팅 시스템상에서 실행되고 있는 어플리케이션(44) 셋트들간의 인터페이스로서 기능하는 구매 매니저 구성요소(40)이다. 어플리케이션(44)은 어플리케이션 매니저(46)에 의해 런칭(launching)된 후, 여러가지 사용자 상호작용 기능들을 제공한다. 어플리케이션(44)의 예들은 스크린상(on-screen) TV 가이드 서비스, 인터랙티브 광고 서비스, 물품 및 서비스 구매 서비스, 인터넷 웹 브라우징 및 이메일 서비스 등을 포함한다. 오퍼레이팅 시스템은 코어 레이어(core layer;42)내에 존재하는 커널, 이벤트 핸들러 및 메모리 매니저를 포함하여, 어플리케이션을 지원하는데 필요한 기본 기능을 제공한다. 또한, 셋톱 박스와 연관되는 각 하드웨어 디바이스는 하드웨어 추상화 레이어(43)에 존재하는 소프트웨어 디바이스 모듈로 추상화된다.
구매 매니저(40)는 어플리케이션(44)과 구매 디바이스간의 인터페이스 또는 간접 메카니즘으로서 주로 기능하도록 설계된다. 구매 시스템에서, 어플리케이션(44)은 페이퍼뷰 자료(materials)를 주문하도록 설계되는 단순한 어플리케이션이거나, 관련 금전적 거래를 핸들링하는 것을 포함하여 가용한 제품에 대한 상세 정보를 표시하고 선택된 아이템을 구매하는 주문을 처리하도록 설계되는 더 복잡한 어플리케이션일 수 있다. 도 1을 참조하면, 구매 디바이스는 스마트 카드(52) 및 카드 인터페이스 포트(50)를 포함한다. 이와 관련하여, 셋톱 박스는 스마트 카드(52)를 수용하기 위한 적절한 카드 인터페이스 포트(50)를 구비한다. 구매 매니저(40)는 또한 서비스 제공자에게 메시지(예를 들면 QPSK 모뎀(32)을 통해)를 전송하는데 필요한 오퍼레이팅 시스템의 통신 성능을 갖는 어플리케이션(44)과 인터페이싱한다. 상기 설명에서는 스마트 카드와 카드 인터페이스 포트를 참고하고 있지만, 본 발명의 범주내에서 다른 형태의 구매 디바이스들이 이용될 수 있다는 것은 자명하다.
본 발명에 따른 구매 매니저 구조를 도 3에 도시하고 있다. 구매 매니저(40)는 어플리케이션(44)과 구매 디바이스(54)간을 인터페이싱한다. 모듈 디스패치 테이블(58)을 포함하는 구매 디바이스 모듈(56)은 각 구매 디바이스(54)와 관련되어 있다. 구매 디바이스 모듈(56)은 미리 정의된 함수 셋트(60)로 구성되는 실행가능 명령들을 포함한다. 이들 미리 정의된 함수들은 구매 디바이스(54)에 의해 수행될 수 있는 여러가지 오퍼레이션들에 관한 것이다.
양호한 실시예의 모듈 디스패치 테이블(58)은 미리 정의된 함수들(60)을 구성하는 실행 가능 명령들로의 분기 명령을 포함하는 룩업(lookup) 테이블이다. CPU의 프로그램 카운터를 모듈 디스패치 테이블내의 임의의 엔트리로 지향하는 것은 CPU 오퍼레이션이 구매 디바이스 모듈내의 일련의 실행가능 명령들로 분기하도록 하여, 복수의 함수들중 하나를 수행하도록 한다. 본 양호한 실시예에서는 직접 분기 명령을 갖는 모듈 디스패치 테이블을 이용했지만, 레퍼런싱 명령들과 같은 다른 기술들도 또한 이용할 수 있다.
모듈 디스패치 테이블의 장점은 예를 들면 로딩 시, 테이블의 콘텐츠가 하나 이상의 미리 정의된 함수들에 대해 일련의 다른 명령들로 대체되도록 변경될 수 있다는 점이다. 이것은 시스템을 다시 제조 공장에 입고하지 않고서 시스템을 용이하게 변경할 수 있게 한다.
구매 매니저(40)는 관련 구매 매니저 어플리케이션 프로그램 인터페이스 또는 API(64)를 포함하는 구매 매니저 모듈(62)을 더 포함한다. 구매 매니저 API(64)는 복수의 미리 정의된 API 함수들(66)을 정의한다. 이들은 어플리케이션(44)이 구매 매니저(40)와 관련하여 유발시키는 모든 함수들 또는 명령들을 포함한다. 이들 API 함수들(66)은 구매 디바이스 모듈의 미리 정의된 함수들(60)상으로 매핑한다. 양호한 실시예에서, API 함수들(66)과 미리 정의된 함수들(60)간에는 일대일 관계가 있다.
구매 매니저 모듈은 간접 메카니즘(68)을 포함한다. 간접 메카니즘은 구매매니저 API(64)를 통해 어플리케이션(44)에 의해 발행된 명령들을 받아들이고, 구매 디바이스 모듈(56)에 의한 실행을 위해 모듈 디스패치 테이블(58)을 통해 이들 명령을 매핑한다.
양호한 실시예에서, 간접 메카니즘은 구매 매니저 API(64)를 통해 들어온 명령들을, 구매 디바이스 모듈내에 정의된 바와 같은 적절한 오퍼랜드(operands)를 완비한, 실제 호출가능 함수들로 변환하는 함수 호출을 이용한다. 그러므로, 이러한 간접 메카니즘은 구매 디바이스 모듈과 직접 상호작용하지 않고서도, 어플리케이션(44)이 구매 디바이스 모듈내의 실제 함수 호출을 가능하게 한다. 실제, 어플리케이션(44)은 구매 디바이스 모듈이 메모리 내의 어디에서 발견되는지를 알 필요가 없다. 이들 세부사항들은 초기화 시 구매 매니저 모듈(62)이 구매 디바이스 모듈(56)에 할당하는 모듈 핸들을 통해 구매 매니저 모듈에 의해 핸들링된다.
더 구체적으로는, 구매 매니저 모듈(62)은 오퍼레이팅 시스템내에 설치된 구매 디바이스 모듈을 찾아 식별하는 절차(이하에 상세히 설명됨)를 포함한다. 구매 매니저 모듈은 모듈 핸들을 식별된 구매 디바이스 모듈의 각각에 할당하고, 이들 핸들은 모듈 디스패치 테이블(58)에 액세스하는데 이용된다. 어플리케이션이 구매 디바이스 모듈의 미리 정의된 함수들 중 하나를 수행하고자 하는 경우, 어플리케이션은 구매 매니저 API(64)에 명령을 발행만 하고, 구매 매니저 모듈(62)이 선택된 구매 디바이스 모듈을 로케이팅하고 프로그램 제어가 구매 디바이스 모듈내의 적절한 실행가능 명령을 분기하도록 하는 것과 관련한 세부 사항을 핸들링한다.
본 발명에 따른 구매 매니저의 세부 사항을 도 4를 참조하여 설명한다. 도4에는 하나의 어플리케이션(44)과 복수의 구매 디바이스 모듈들(56a, 56b)이 도시되어 있다. 양호한 실시예의 구조를 더 명확하게 설명하기 위해, 부가 모듈(70)을 도시하였다. 모듈(70)은 구매 디바이스를 지원하는 것과 직접적으로는 관련이 없는 기능을 제공한다. 구매 매니저 모듈은 구매 디바이스 모듈로서 기능하는 모듈과 그렇지 않은 모듈을 구별한다는 것을 보여주기 위해 여기에 도시하였다(이러한 구별이 어떻게 수행되는지에 대해서는 도 5를 참조하여 상세하게 설명한다).
도 4는 구매 매니저 모듈의 예를 구성하는 개개의 함수 셋트 또는 기능적 블럭들(72)을 도시하고 있다. 이들 각 블럭은 그 블럭의 기능을 나타내는 서술적 이름으로 라벨링되어 있다. 일부 블럭들은 구매 매니저 자체를 정의하는 실행가능한 코드를 나타낸다. 이들은 GetDevice 블럭(74), FindDevice 블럭(76), 및 ShutDown 블럭(78)을 포함한다. 나머지 블럭들은 간접 메카니즘 오퍼레이션에 대응함으로써, API 함수(어플리케이션(44)에 의해 발행됨)들은 선택된 구매 디바이스 모듈과 관련되는 미리 정의된 함수들로 변환된다.
어플리케이션(44)이 구매 디바이스 모듈과 관련된 미리 정의된 함수들 중 하나를 수행하고자 하는 경우, 어플리케이션은 구매 매니저와 다이얼로그를 개시하고, 구매 매니저에게 원하는 구매 디바이스와 관련된 디바이스 이름을 제공한다. 그리고나서, 구매 매니저가 GetDevice 함수(74)를 수행하여 지정된 디바이스 이름과 연관되는 모듈 핸들을 리턴한다. 그 후, 어플리케이션은 간접 함수(72)들중 하나에 대응하는 명령만을 단지 발행하고, 구매 매니저 모듈이 식별된 구매 디바이스 모듈의 모듈 디스패치 테이블에 액세스하여 적절한 분기 명령을 구축한다.GetDevice 함수가 한번 호출되면, 그 어플리케이션과의 이후의 모든 통신은 주어진 디바이스 이름에 대응하는 것으로 간주된다.
도 4에서, 표시 [B]는, [B]로 라벨링된 모든 함수들(72)은 구매 디바이스 모듈(56b)의 모듈 디스패치 테이블[B]을 통해 매핑된다는 것을 나타내는데 이용된다. 그러므로, 도 4에서, [B]로 라벨링된 모든 블럭들은 주어진 구매 디바이스 모듈과 연관되는 간접 함수들을 나타낸다. 라벨링되지 않은 블럭들은 구매 매니저 모듈 자체와 연관된 함수들을 나타낸다.
도 4에서, 이하의 관례들이 채용된다. 연관 함수를 호출하는 경우에 어플리케이션(44)에 의해 공급되는 입력 파라미터들은 대응하는 블럭의 좌측에 도시된다. 모듈 디스패치 테이블에 액세스하는 경우에 대응하는 블럭에 의해 발행되는 출력 파라미터들은 각 블럭의 하측을 따라 도시되어 있다.
예를 들면, VerifyPassword 블럭은 입력으로서 구매 디바이스 모듈, 즉 패스워드 번호, 패스워드, 및 답변 메시지가 어디로 전송되는지를 식별하는 포인터를 수신한다. 본 실시예는 구매 디바이스 모듈과 통신을 위해 메시징 시스템을 이용하여 동기 모드와 비동기 모드간의 스위칭을 가능하게 한다. 이들 2개의 모드에 대해서는 이하에 더 상세하게 설명된다. VerifyPassword 블럭은 그 출력으로서 패스워드 번호, 패스워드, 및 답변 메시지를 리턴한다.
양호한 구현에서, 패스워드 번호는 특정 사용자 또는 어플리케이션 프로그램의 특정 예에 대응한다. 패스워드 번호는 이메일 시스템의 사용자 이름과 유사하다. 패스워드는 어플리케이션 프로그램 및 구매 디바이스 모듈에게 알려진 비밀문자 열이다. 이 패스워드는 이메일 프로그램의 패스워드와 유사하다.
양호한 실시예의 구매 디바이스 모듈은 멀티 스레드 오퍼레이팅 시스템 환경에서 스레드(thread)들로서 실행되도록 설계된다. 스레드들은 비동기적으로, 즉 서로 개별적으로 실행될 수 있다. 또한 스레드들은 동기적으로, 즉 서로 동기되어 실행될 수도 있다. 동기 모드로 동작하기 위해서는, 스레드는 통상 다른 스레드로부터 메시지가 수신될 때까지 그 스레드의 동작이 일시 중지되거나 블럭킹되게 하는 블럭킹 명령을 채용한다. 이와같이, 하나의 스레드는 그 동작을 진행하여 완료하기 이전에 다른 스레드가 따라 잡을 수 있게 대기하도록 프로그래밍될 수 있다. 비동기 모드에서, 다른 실행 스레드의 동작 상태에 관계없이 명령을 블럭킹하지 않고 완료 때까지 실행할 것이다.
본 실시예는 스레드들간 통신을 위해 메시징 시스템을 이용한다. 이러한 메시징 시스템은 모듈을 동기 및 비동기 모드간에 스위칭하는데 이용될 수도 있다. 도 4에 도시된 바와 같이, 프로그램 블럭(VerifyPassword 블럭 등)에는 디레퍼런싱되는(*r) 응답 포인터가 제공되어, 그 블럭이 응답 메시지(r)를 어디에 전송해야 하는지를 결정한다.
어플리케이션, 구매 매니저 및 구매 디바이스 모듈간의 상호 작용은 도 5 및 도 6의 시퀀스 다이어그램에 도시된 교환 시퀀스를 포함한다. 도 5는 구매 매니저에 의해 수행되는 초기화 시퀀스를 도시하고 있다. 초기화 시퀀스는 각 구매 디바이스의 시동 시(예를 들면 스마트 카드가 인터페이스 포트에 플러그인 될 때)에 수행된다. 도 6은 특정 프로그램 함수들이 수행되는 경우에 발생하는 일련의 교환들을 도시하고 있다. 이들 시퀀스 다이어그램에서, 어플리케이션, 구매 매니저 및 구매 디바이스 모듈들은 각각 나란하게 수직 배열된 칼럼으로 표시된다. 이들 3개의 실체들간의 통신은 다이어그램에서 좌측으로부터 우측으로 및 우측에서 좌측으로이다. 시간은 상측에서 하측으로 진행한다.
도 5를 참조하면, 구매 매니저 초기화 시퀀스는 GetDevice 함수를 수행하는 구매 매니저로 시작하여, 이 시스템에 설치된 구매 디바이스 모듈을 식별하고, 모듈 핸들을 이들 구매 디바이스 모듈에 할당하는 절차를 수행한다. 구매 매니저는 시스템내에 설치된 각 모듈을 순차적으로 문의함으로써 이를 수행한다. 본 실시예는 모든 모듈들이 분류되는 인포스트링(infostring)이라 불리는 데이터 구조를 정의한다. 본 실시예의 인포스트링 구조는 모듈 타입, 모듈 그룹 및 모듈 디바이스 이름을 정의한다. 구매 디바이스 모듈은 "디바이스 드라이버" 타입의 하나이고, "구매" 그룹의 하나이다. 디바이스 이름은 구매 디바이스 모듈의 설계자에 의해 지정되는 디바이스 이름에 대응하는 ASCII 열이다.
구매 매니저는 어플리케이션으로부터 요구된 디바이스 이름을 획득한 후, 모든 디바이스 모듈의 인포스트링을 문의하여 구매 모듈 디바이스가 어느 것인지 및 요구된 디바이스 이름과 매칭되는 것이 존재하는지 여부를 결정한다. 그렇다면, 그 구매 디바이스를 표현하기 위해 모듈 핸들이 생성된다. 모듈 핸들(mh)은 디바이스 이름을 지정한 어플리케이션으로 리턴된다. 그 후, 모듈 핸들은 어플리케이션에 의해 이용되어 구매 디바이스 모듈내의 함수들을 기동시킨다.
시스템은 모든 모듈을 계속 로딩하여 실행하고 임의의 구매 디바이스 모듈을발견하여, 시스템내의 어플리케이션에 의해 이용되는 디바이스 이름과 일치하는 것들에 모듈 핸들을 할당한다. 본 실시예에서, GetDevice 블럭(74)은 FindDevice 블럭(76)을 호출하여 실제 인포스트링 분석을 수행한다. 당연히, 원한다면 이들 함수들은 단일 실체로 조합될 수 있다.
어플리케이션에 구매 디바이스 모듈을 나타내는 모듈 핸들이 제공되면, 시스템은 어플리케이션과 구매 디바이스간을 인터페이싱하는데 이용될 수 있다. 도 6은 패스워드를 검증하고, 구매를 위한 가용 아이템 리스트를 요구하며, 하나의 아이템의 설명을 얻고, 그 아이템을 구매하도록 수행되는 시퀀스의 예를 도시하고 있다.
도 6을 보면 알 수 있는 바와 같이, 본 발명의 구매 매니저는 어플리케이션과 구매 디바이스간을 인터페이싱하고, 간접 메카니즘을 유효하게 함으로써, 어플리케이션은 어플리케이션 프로그램 인터페이스를 통해 명령을 발행하고, 이들 명령은 디스패치 테이블을 통한 실행을 위해 구매 디바이스 모듈내의 복수의 미리 정의된 함수들 중 하나로 매핑된다.
본 발명을 양호한 실시예를 통해 설명했지만, 첨부된 특허청구범위에 나타난 본 발명의 사상을 벗어나지 않는 범위내에서 본 발명의 구매 매니저를 다른 방법으로 구현할 수 있다는 것은 자명하다.

Claims (15)

  1. 어플리케이션과 구매 디바이스간을 인터페이싱하기 위한 컴퓨터-구현된 구매 매니저에 있어서,
    상기 구매 디바이스와 연관되고, 디스패치 테이블을 구비하는 구매 디바이스 모듈 - 상기 디스패치 테이블은 상기 구매 디바이스 모듈 내부의 복수의 미리 정의된 함수들(functions)에의 액세스를 제공함 - ;
    상기 구매 디바이스 모듈을 식별하고 상기 구매 디바이스 모듈에 모듈 핸들을 할당하여 상기 디스패치 테이블에 액세스하는 메카니즘을 구비하는 구매 매니저 모듈; 및
    상기 어플리케이션과의 인터페이싱을 위해 상기 구매 매니저에 의해 정의되고, 상기 구매 디바이스 모듈내의 상기 복수의 미리 정의된 함수들상으로 매핑하는 복수의 미리 정의된 API 함수들을 구비하는 어플리케이션 프로그램 인터페이스(API)
    를 포함하고,
    상기 구매 매니저 모듈이 간접 메카니즘을 정의함으로써, 상기 어플리케이션은 상기 디스패치 테이블을 통한 실행을 위해 상기 구매 디바이스 모듈내의 상기 복수의 미리 정의된 함수들 상으로 매핑되는 명령들을 상기 어플리케이션 프로그램 인터페이스를 통해 발행하는 컴퓨터-구현된 구매 매니저.
  2. 제1항에 있어서, 상기 구매 디바이스 모듈은 상기 미리 정의된 함수들과 관련된 실행가능 명령들을 포함하고, 상기 디스패치 테이블은 상기 실행가능 명령들로 분기 명령들의 셋트를 포함하는 컴퓨터-구현된 구매 매니저.
  3. 제1항에 있어서, 상기 구매 디바이스 모듈은 오퍼레이팅 시스템에 의해 지원되고, 상기 디스패치 테이블은 상기 오퍼레이팅 시스템에 의해 로딩되는 컴퓨터-구현된 구매 매니저.
  4. 제1항에 있어서, 상기 디스패치 테이블은 개시(startup) 시 다른 명령들을 선택적으로 로딩함으로써 사용자 구성을 지원하는 컴퓨터-구현된 구매 매니저.
  5. 제1항에 있어서, 상기 어플리케이션 프로그램 인터페이스에 의해 제공되는 상기 API 함수들은 상기 어플리케이션과 상기 구매 디바이스간의 통신을 확립하고 종료시키기 위한 오픈(open) 및 클로우즈(close) 함수를 포함하는 컴퓨터-구현된 구매 매니저.
  6. 제1항에 있어서, 상기 어플리케이션 프로그램 인터페이스에 의해 제공되는 상기 API 함수들은 상기 구매 디바이스내의 파라미터를 문의하고 변경하기 위한 겟(get) 및 셋(set) 함수를 포함하는 컴퓨터-구현된 구매 매니저.
  7. 제1항에 있어서, 상기 어플리케이션 프로그램 인터페이스에 의해 제공되는 상기 API 함수들은 패스워드 인증(password authentication) 함수를 포함하는 컴퓨터-구현된 구매 매니저.
  8. 제7항에 있어서, 상기 패스워드 인증 함수들은 패스워드 검증 및 변경 함수들을 포함하는 컴퓨터-구현된 구매 매니저.
  9. 제1항에 있어서, 상기 어플리케이션 프로그램 인터페이스에 의해 제공되는 상기 API 함수들은 제공 물품, 제공 서비스, 구매 물품 또는 구매 서비스에 대한 정보를 확인하는 구매 질의(purchase query) 함수들을 포함하는 컴퓨터-구현된 구매 매니저.
  10. 제9항에 있어서, 상기 질의 함수들은 제공 물품, 제공 서비스, 구매 물품 또는 구매 서비스의 리스트를 확인하는 겟 리스트(get list) 함수, 및 적어도 하나의 제공 물품, 제공 서비스, 구매 물품 또는 구매 서비스에 관한 추가 세부사항을 확인하는 겟 디스크립션(get description) 함수를 포함하는 컴퓨터-구현된 구매 매니저.
  11. 제1항에 있어서, 상기 어플리케이션 프로그램 인터페이스에 의해 제공되는 상기 API 함수들은 구매함(make purchase) 및 구매 취소(cancel purchase) 함수들을 포함하는 컴퓨터-구현된 구매 매니저.
  12. 제1항에 있어서, 상기 어플리케이션 프로그램 인터페이스에 의해 제공되는 상기 API 함수들은 인가된 구매 신용의 상태를 확인하는 크레디트(credit) 함수를 포함하는 컴퓨터-구현된 구매 매니저.
  13. 제1항에 있어서, 상기 미리 정의된 함수들 중 적어도 하나는 동기와 비동기 모드간에서 스위칭 가능한 컴퓨터-구현된 구매 매니저.
  14. 제13항에 있어서, 상기 구매 매니저는 상기 구매 디바이스 모듈과 통신하여 상기 동기 및 비동기 모드간의 스위칭을 가능하게 하는 메시징 시스템을 포함하는 컴퓨터-구현된 구매 매니저.
  15. 제14항에 있어서, 상기 어플리케이션 프로그램 인터페이스는 상기 어플리케이션이 상기 동기 및 비동기 모드간의 상기 스위칭을 가능하게 하는 상기 메시징 시스템을 더 정의하는 컴퓨터-구현된 구매 매니저.
KR1020017008602A 1999-01-07 2000-01-07 구매 매니저 KR20010103735A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US22685899A 1999-01-07 1999-01-07
US09/226,858 1999-01-07
PCT/US2000/000479 WO2000041117A2 (en) 1999-01-07 2000-01-07 Purchase manager

Publications (1)

Publication Number Publication Date
KR20010103735A true KR20010103735A (ko) 2001-11-23

Family

ID=22850703

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020017008602A KR20010103735A (ko) 1999-01-07 2000-01-07 구매 매니저

Country Status (3)

Country Link
EP (1) EP1141870A2 (ko)
KR (1) KR20010103735A (ko)
WO (1) WO2000041117A2 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2416869A (en) * 2004-07-02 2006-02-08 Symbian Software Ltd Command interactive mapping in a computing device
CN101770433B (zh) * 2008-12-30 2012-01-11 意法半导体研发(上海)有限公司 通用驱动方法和通用驱动设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61286996A (ja) * 1985-02-15 1986-12-17 ブラザー工業株式会社 自動販売装置
JPH04211896A (ja) * 1990-03-06 1992-08-03 Omron Corp プログラム作成装置およびこの装置を用いたデータ処理システム
EP0690399A3 (en) * 1994-06-30 1997-05-02 Tandem Computers Inc Remote controlled financial transaction system

Also Published As

Publication number Publication date
WO2000041117A2 (en) 2000-07-13
EP1141870A2 (en) 2001-10-10
WO2000041117A3 (en) 2000-12-28

Similar Documents

Publication Publication Date Title
US6792616B1 (en) System and method for providing a plurality of programming services in a television system
AU2003234144B2 (en) Supporting common interactive television functionality through presentation engine syntax
US5673401A (en) Systems and methods for a customizable sprite-based graphical user interface
CA2622900C (en) Self-contained mini-applications system and method for digital television
US5724492A (en) Systems and method for displaying control objects including a plurality of panels
JP4895424B2 (ja) 複数ユーザ用マルチメディア・ターミナル
US7124356B1 (en) Methods for initiating activity in intelligent devices connected to an in home digital network using extensible markup language (XML) for information exchange and systems therefor
JP2002528971A (ja) 構成可能な機能をもつテレビジョン・セットトップ・ボックス
Peng Digital television applications
JP2001086078A (ja) データ配信方法及び装置、並びに、データ受信方法及び装置
KR20010086148A (ko) 방송 네트워크 아키텍쳐에서 멀티미디어 클라이언트용스트림 장치 관리 시스템
JP2000069451A (ja) 条件付きアクセスモジュ―ルへの直接アクセスによってデジタルビデオ放送共通インタフェ―ス機能を拡張する方法及び装置
AU740740B2 (en) Data processing system
WO2000072583A1 (en) Software architecture for a television set-top terminal providing compatibility with multiple operating environments
EP1166560B1 (en) Tv manager
CN100399811C (zh) 接收机/解码器和处理视频数据的方法
KR20010103735A (ko) 구매 매니저
US20140165103A1 (en) Distributed presentation software for multiple instantiations in home network
CN103702221A (zh) 在线视频的内容发布呈现系统及发布呈现方法
CZ200287A3 (cs) Zařízení a způsob pro testování softwarových aplikací
KR101181607B1 (ko) 데이터 방송용 애플리케이션의 화면을 처리하는 방법
KR20030005178A (ko) 여러 데이터로부터의 비디오 장면 구성을 위한 방법 및 장치
Gordon et al. The OpenCable application platform
KR19990003334A (ko) 브이오디 가입자 관리용 데이터베이스 시스템
MXPA00000776A (en) Ieee set top box device driver

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid