KR100368353B1 - 키오스크 및 그 구성 방법과, 서버 및 그 작동 방법 - Google Patents

키오스크 및 그 구성 방법과, 서버 및 그 작동 방법 Download PDF

Info

Publication number
KR100368353B1
KR100368353B1 KR10-1999-7007921A KR19997007921A KR100368353B1 KR 100368353 B1 KR100368353 B1 KR 100368353B1 KR 19997007921 A KR19997007921 A KR 19997007921A KR 100368353 B1 KR100368353 B1 KR 100368353B1
Authority
KR
South Korea
Prior art keywords
kiosk
application
subset
network
delete delete
Prior art date
Application number
KR10-1999-7007921A
Other languages
English (en)
Other versions
KR20000075844A (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 US08/974,214 external-priority patent/US6195694B1/en
Application filed by 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20000075844A publication Critical patent/KR20000075844A/ko
Application granted granted Critical
Publication of KR100368353B1 publication Critical patent/KR100368353B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F19/00Complete banking systems; Coded card-freed arrangements adapted for dispensing or receiving monies or the like and posting such transactions to existing accounts, e.g. automatic teller machines
    • G07F19/20Automatic teller machines [ATMs]
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/0014Coin-freed apparatus for hiring articles; Coin-freed facilities or services for vending, access and use of specific services not covered anywhere else in G07F17/00
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2805Home Audio Video Interoperability [HAVI] networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Accounting & Taxation (AREA)
  • Automation & Control Theory (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Finance (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Stored Programmes (AREA)

Abstract

서버 시스템(195)은 예컨대 인터넷, 회사 인트라넷 또는 정부 인트라넷, 엑스트라넷 등과 같은 네트워크(150)에 의해 다수의 키오스크(100)에 접속된다. 키오스크는 하나 이상의 사전정의된 입력/출력 장치(130)(예를들면, 디스플레이 장치, 키보드, 페이퍼 프린터, 전화 등)를 구비하고, 입력/출력 장치의 각각에 대해 하나 이상의 드라이버 프로그램(440)(로컬 APIs)을 구비한다. 디스플레이 장치는 키오스크의 사용자에게 하나 이상의 그래픽 사용자 인터페이스(105)와 비디오 영상들을 제공하기 위해 이용된다. 키오스크는 브라우저(160)를 구비하여, 서버로부터 자료를 얻을 때 이용한다. 서버는 하나 이상의 애플리케이션 파일(175) 혹은 구성 세트를 갖고, 이들은 키오스크로 제공된다. 구성 세트는 애플리케이션에 따라 특정된다(애플리케이션은 키오스크가 구성 혹은 재구성되기 위해 이용된다). 구성 세트의 하나 이상의 파일들은 하나 이상의 내장 제어 프로그램(620)을 포함하고, 이들 내장 제어 프로그램은 키오스크상에서 장치와 관련된 로컬 APIs를 제어하는데 이용된다. 이런 식으로 장치가 제어됨으로써, 키오스크는 애플리케이션을 수행하도록 구성된다.

Description

키오스크 및 그 구성 방법과, 서버 및 그 작동 방법{KIOSK AND SERVER CONNECTED TO COMPUTER NETWORK}
전형적으로 키오스크는 일반적인 장소 예컨대 공공장소에 위치되어, 사용자 혹은 클라이언트가 액세스하면 서비스 제공자가 이들 사용자/클라이언트에게 서비스를 제공하도록 되어 있는 기계이다. 통상, 이러한 서비스는 "셀프-서비스"로서, 서비스 제공자가 클라이언트에게 특별히 시중드는 사람을 제공하는 것이 아니라 클라이언트 스스로 처리하는 것이다. 그러므로, 이러한 서비스는 반복적이고, 단순하며, 특정한 작업인 경향이 있는데, 예를들면, 1) 정보 제공 작업이나 2) 어떤 간단한 상거래 행위(transactions)(예컨대, 티켓을 구입하고, 현금을 받고, 백화점의 층별 안내도를 검토하는 등)를 행하는 것을 들 수 있다.
처리될 작업은 사전 프로그램 및 사전결정될 필요가 있으며, 셀프 서비스여야 한다. 그러므로, 키오스크 설계는 융통성이 없고 특정 사용자에게 특별히 맞춰진 도움은 제공하지 않는다.
일반적으로 이러한 상거래 행위는 어떤 장치를 이용하도록 되어 있는데, 예를들면, 하나 이상의 모니터, 카드 판독기, 티켓 프린터, 레이저 프린터, 현금 지급기(cash dispenser) 등을 이용하도록 되어 있다. 이러한 장치는 통상적으로 해당 키오스크에서 융통성없이 설계되어 있는 사전정의된 작업에만 전용되도록 되므로, 다른 용도로 이용될 수 없다.
키오스크의 이점은 그 편리성과 신뢰성을 들 수 있다. 키오스크는 인간 조작자가 기준 노동시간 내내 그런 작업을 수행하는 것을 필요치 않으므로, 운영비용을 절약할 수 있으며 생산성을 높일 수 있다.
종래의 몇몇 키오스크는 예컨대 ATM 기계, 항공 티켓 무인 판매기 등과 같이 네트워크에 접속된다. 또한 쇼핑몰(shopping malls)의 정보 제공 키오스크같은 독립형 키오스크도 있다.
종래 기술에는 은행원과 사용자/클라이언트 사이에 접속을 형성하려고 시도하는 은행 업무 관련 화상 회의 기능을 갖는 키오스크도 있다. 이것은 전통적인 유형의 키오스크에 화상 회의 시스템을 단순히 부가함으로써 이루어진다.
또한 종래 기술은 키오스크를 인터넷과도 결합시켰다. 이러한 키오스크는 자신의 스크린상에 HTML을 디스플레이하는 브라우저(browser)를 갖는다. 키오스크에 디스플레이되는 스크린은 사용자에 의해 선택된 하이퍼링크에 의해 제어된다. 이러한 키오스크는 정보 액세스(information access)에 적합한데, 이 경우 클라이언트/사용자는 하이퍼링크를 호출하는 "소프트(soft)" 버튼을 선택함으로써 제공되는 정보를 통해 검색할 수 있다. 또한 이러한 키오스크는 e-메일같은 소정의 개인적인 통신에 이용될 수 있다. 이러한 시스템에서, 스크린은 흔히 사용자 인터페이스를 제공하기 위해 특별히 설계되고(예를들면, 내비게이션 버튼을 구비하는 등), 키오스크는 더 나아가 클라이언트가 접근할 수 있는 URLs을 제한하여 키오스크 설계자가 정의해 놓은 HTML 페이지만을 접근가능하게 하는 필터의 역할을 한다.
대부분의 종래기술의 키오스크는 융통성이 없다. 종래의 키오스크는 쉽고 저렴하게 그리고 빠르게 변경되거나 재구성될 수 없는데, 그 이유는, 그들의 프로그래밍이 통상적으로 (보통 C 혹은 C++같은 고수준의 컴퓨터 프로그래밍 언어로) 특별히 설계 및 개발되어, 특정 애플리케이션용으로 키오스크에 인스톨되기 때문이다. 만약 조금이라도 변경하려면, 키오스크상의 프로그램을 재 코딩(re-coding)하고, 재 컴파일링(re-compiling)하고, 재 인스톨(re-installing)하고, 재 테스팅(re-testing)하는 것이 필요하다. 이것은 통상적으로 키오스크 제작자에 의해 행해져야 하는 것이다. 기존의 키오스크를 변경하는 것은 어려우며, 특히 갱신될 필요가 있는 분야에 대량의 키오스크가 존재하는 경우에는 더욱 그렇다.
종래의 키오스크는 효과적인 "페이스-투-페이스(face-to-face)" 서비스 기반 애플리케이션, 즉, 서비스나 상거래 행위를 완료하기 위해 사람이 사용자 혹은 클라이언트와 컨설트하거나 안내하는 것을 필요로 하는 애플리케이션은 제공하지 못한다. 고객 서비스용 페이스-투-페이스 환경은 비디오/오디오 이외에도 동기화된 스크린 공유(예를 들어, 관리자(agent)가 데이터를 입력하는 동안 사용자/클라이언트가 그 데이터를 보는 등) 및 원격 장치 제어(예를 들어, 관리자는 키오스크 사용자/클라이언트를 위해 영수증을 인쇄하는 등)를 필요로 한다. 종래 기술은 키오스크와 관련하여 동기화된 스크린 공유(synchronized screen sharing)나 원격 장치 제어를 제공하지 않는다.
몇몇 종래 기술에 따르면, 사용자는 전화를 통해 관리자(agent)로부터 도움을 받을 수 있게 되는데, 이 때 관리자는 키오스크 스크린을 직접 볼 수 없다. 그러므로 관리자는 키오스크의 문제점을 사용자의 설명에만 의존해야 한다. 관리자는 키오스크 스크린을 직접보면서 문제점을 파악할 수 없다. 더 나아가, 관리자는 원격지에서 어떤 키오스크의 문제점을 고치기 위해 키오스크 프로그램/기능을 변경시킬 수 없다. 은행 업무 관련의 몇몇 키오스크는 은행원이 키오스크 스크린을 볼 수 있도록 함을 유의하자. 그러나, 이러한 내용은 관리자의 워크스테이션상에 실행중인 별개의 애플리케이션에 의해 디스플레이되는 것으로, 키오스크상에 디스플레이되는 스크린 내용을 만들어내는 애플리케이션에 의한 것이 아니다.
몇몇 종래 기술은 키오스크의 기능으로서 화상 회의 기능을 제공한다. 그러나, 화상 회의 기능이 클라이언트에게 다른쪽과의 오디오/비디오 접속은 제공했지만, 오디오/비디오 통신과 키오스크 스크린의 내용 사이의 일관성있는 통합(coherent integration)이 부족하여 시장에서 성공하지 못했다. 클라이언트는 키오스크 스크린상의 엔트리들중 하나에서 문제가 발생했더라도, 관리자는 클라이언트가 키오스크상에서 갖는 것과 똑같은 정보를 관리자 스크린상에 갖지 않을 수도 있는데, 예를들면 키오스크가 스크린상의 필드내에 모호하거나 잘못된 값을 갖더라도 관리자는 화상 회의 동안에 이 잘못된 값을 볼 수 없을 것이다. 더 나아가, 관리자는 클라이언트의 스크린상의 위치를 지적할 수 없으며, 클라이언트의 스크린을 제어할 수도 없다. 또한, 키오스크가 클라이언트에게 일반적인 정보를 제공하도록 미리 프로그램되지 않았다면, 관리자는 이 키오스크를 통해 클라이언트에게 일반적인 정보를 제공할 수 없다. 다른 예로서, 만일 소비자가 키오스크 설계에서 입수할 수 없는 정보를 요구할 경우, 관리자는 음성이나 카메라 비디오로 정보를 제공할 수 있을 뿐, 클라이언트의 키오스크 스크린상이나 그 밖의 키오스크 장치를 통해서는 어떠한 정보도 제공할 수 없다.
몇몇 종래 기술은 단지 제한적이고 특정한 애플리케이션 즉, 제한적인 정보 검색만을 처리할 수 있는 간단한 인터넷/브라우저 기반 키오스크를 개시한다. 이러한 키오스크들은, 클라이언트와 인간 관리자 사이의 키오스크 제어 능력과 협력의 결핍으로 인해, 융통성있는 애플리케이션을 이용한 효과적인 고객 서비스 환경을 제공하지 못한다.
본 발명은 키오스크(kiosks)와 서버가 컴퓨터 네트워크에 접속되어 서버로하여금 키오스크를 구성(configure)하도록 해주는 것과 관련된 것이다.
도 1은 키오스크의 바람직한 일 실시예의 블럭도이다.
도 2는 키오스크의 다른 바람직한 실시예의 블럭도이다.
도 3은 키오스크에서 이용되는 일 예의 GUI의 블럭도이다.
도 4는 사용자에 의해 선택되어 키오스크를 구성하도록 실행되는 구성 세트(애플리케이션 파일들)을 도시하는 블럭도이다.
도 5는 하나 이상의 HTML 파일들과, 그와 관련된 하이퍼텍스트 성분(적어도 하나의 내장 제어 프로그램을 포함)을 포함하는 일련의 애플리케이션 파일들의 블럭도이다.
도 6은 키오스크를 구성하기 위해, 키오스크가 애플리케이션 파일들을 실행하고 제어 프로그램/기능들이 로컬 API 프로그램과 대화형으로 동작하는 바람직한 일 실시예를 도시하는 블럭도이다.
도 6A 내지 6D는 키오스크 제어 메카니즘의 여러가지 다른 바람직한 실시예들을 도시하는 블럭도이다.
도 7은 API 제어 기능을 갖는 하나의 어플리케이션 파일을 실행함에 있어서 수행되는 단계들을 도시하는 흐름도이다.
도 8은 전형적인 서버에서 수행되는 단계들을 도시하는 흐름도이다.
도 9는 ActiveX를 이용하는 바람직한 키오스크 소프트웨어 아키텍쳐를 도시하는 블럭도이다.
도 9A 내지 9D는 ActiveX를 이용하는 여러가지 다른 바람직한 실시예의 키오스크 제어 메카니즘들을 도시하는 블럭도이다.
도 10은 플러그-인(plug-ins) 방식을 이용하는 다른 키오스크 제어 실시예의 블럭도이다.
따라서, 본 발명은 첨부된 특허청구범위에 규정된 것과 같은 키오스크와 서버를 제공한다.
본원에서 설명하고 있는 해결책은 융통적이며 재구성가능하고 협력적인 키오스크 아키텍쳐로부터 이점을 갖는데, 이 아키텍쳐는 여러 가지의 애플리케이션에 대해 공공장소 도처에서 재구성 및 직접 액세스 가능한 네트워크 인터페이스를 제공하며, 관리자가 클라이언트에 대해 "페이스-투-페이스(face-to-face)"의 서비스 및/또는 상거래 행위를 제공하며, 다중 통신 네트워크 예컨대 인터넷 (TCP/IP), 공중전화망(PSTN), 종합 정보 통신망(ISDN) 등에 대해 공중 액세스(public access)를 제공한다. 결국, 네트워크 서버 시스템은, 특히, 상이한 애플리케이션과 관련하여 상이한 방식으로 이용되는 다양한 입출력 장치를 지원하기 위해, (하나 이상의 네트워크 서버상에서 잠재적으로 형성, 개발 및 저장되는) 매우 방대한 양의 애플리케이션을 이 상이한 애플리케이션과 관련한 상이한 방식으로 네트워크상의 재구성 가능한 원격 키오스크 및 키오스크 장치로 보낸다.
결국, 바람직한 실시예에서, 키오스크 시스템은 하나 이상의 네트워크, 예컨대 인터넷, 회사 인트라넷 또는 정부 인트라넷 등에 접속될 수도 있다. 키오스크는 하나 이상의 입출력 장치(예를들면, 디스플레이 장치, 키보드, 페이퍼 프린터, 전화 등)를 구비하며, 이들 입출력 장치의 각각과 관련한 하나 이상의 드라이버 프로그램(로컬 APIs)을 구비한다. 디스플레이 장치는 키오스크의 사용자에게 하나 이상의 그래픽 사용자 인터페이스(graphical user interfaces;GUI)와 비디오 영상을 제공하는데 이용된다. 인터페이스들중 몇몇은 애플리케이션에 따라 특정된다. (애플리케이션이란 해당 키오스크가 구성 혹은 재구성되는 사용.) 키오스크는 브라우저를 갖는데, 이 브라우저는 네트워크상의 하나 이상의 서버로부터 하나 이상의 애플리케이션 파일을 (하나의 구성 세트(a configuration set)의 상태로) 페치(fetch)한다. 애플리케이션 파일(구성 세트)은 일련의 HTML 파일을 포함하고, 이 HTML 파일들은 키오스크의 브라우저에 의해 하나의 시퀀스(애플리케이션에 의해 결정됨)로 제공된다. 하나 이상의 HTML 파일들은, 키오스크의 하나 이상의 장치의 로컬 API를 제어하는데 이용되는 내장된(embedded) (제어) 프로그램을 포함한다. 또한 하나 이상의 파일들은 그 밖의 HTML 파일, 멀티미디어 성분(예를들면, 영상 또는 음향) 및/또는 다른 HTML 파일, 멀티미디어 성분, 내장 프로그램들(embedded programs) 및/또는 다른 애플리케이션 파일에 대한 하이퍼링크를 포함할 수도 있다. 첫 번째 애플리케이션 파일은 키오스크에서의 선택 기능(예를들면, 음성, 소프트 버튼, 하이퍼링크 등등)에 의해 서버로부터 선택된다. 이러한 선택(즉 선택 기능)과 관련된 애플리케이션 파일들(구성 세트)은 그에 맞게 키오스크를 구성한다. 따라서 키오스크는 애플리케이션 파일들에 의해 정의되는 다양한 애플리케이션들을 수행하도록 구성 및 재구성될 수 있다.
몇몇 바람직한 실시예에서, 하나 이상의 애플리케이션 파일들은 하나 이상의 사전결정된 선택 링크(예컨대 하이퍼링크)를 갖는다. 브라우저가 애플리케이션 파일들을 (예를 들어 파일 단위로) 번역 또는 해석하는 동안, 사전결정된 선택 링크들이 추가의 선택으로서 GUI상에서 사용자에게 제공된다. 하나 이상의 선택 기능을 이용해 하나 이상의 선택을 행함으로써, 사용자는 하나 이상의 다른 구성 세트, HTML 파일들 등을 선택 및 호출할 수 있는데, 이들 구성 세트, HTML 파일 등은 다른 내장 제어 프로그램을 포함하고 있거나 전혀 포함하지 않을 수 있다. 그러므로, 전술한 것과 같은 추가의 선택을 이용함으로써, 브라우저로 HTML 파일들의 내용을, 또한 사실상 이 시퀀스내의 파일들을 번역하는 시퀀스는 상이한 방식으로 키오스크를 재구성하도록 변경되어, 사용자로부터 정보를 획득하거나 사용자에게 정보를 제공하는 것이 가능해진다. 시퀀스내의 HTML 파일들의 내용을 번역함으로써, 대화형 스크린을 구성하는 하나 이상의 스크린 시퀀스를 제공하도록, 그리고 필요하다면, 선택된 특정 애플리케이션용으로 키오스크를 재구성하기 위해 조합된 장치 작동 시퀀스(내장 프로그램에 의해 제어됨)를 제공하도록 키오스크가 재구성된다. 이러한 실시예에서, 사용자는 (혹은 키오스크나 서버내의 다른 기능은) 키오스크상의 다른 선택 기능을 선택함으로써 키오스크를 다른 애플리케이션용으로 재구성할 수 있다.
몇몇 바람직한 실시예에서는, 애플리케이션의 일부가 웹 페이지 공유 기능을 포함하여, 관리자와 클라이언트가 키오스크와 서버를 연결하는 네트워크를 통해 협력할 수 있도록 해준다. 바람직한 일 실시예에 따르면, 애플리케이션 전용 소프트웨어가 키오스크상에 상주하지 않는 "씬(thin)" 클라이언트 아키텍쳐가 구현된다.
이제 본 발명의 다양한 바람직한 실시예는 다음의 첨부 도면들을 참조로하여 예를들어 상세히 설명될 것이다.
도 1을 참조하면, 잘 알려진 적절한 네트워크 인터페이스(155)를 구비하는 컴퓨터(110)(예를들면, PC350 또는 PC750과 같은 IBM 퍼스널 컴퓨터)를 포함하는 키오스크(kiosk)(100)의 바람직한 일 실시예를 블럭도로 나타내고 있다. 네트워크(150)는 임의의 공지된 근거리 통신망(LAN) 또는 광역망(wide area network : WAN)일 수 있다. 바람직한 실시예에서, 네트워크(150)는 인터넷이다. 그러나, 그 밖의 다른 일반적인 네트워크(150)로서, 예를들면, 회사 네트워크, 정부 네트워크, 교육 네트워크같은 인트라네트워크(intranetworks)와, 회사간 엑스트라네트워크(extranetworks) 및, 전화망, 케이블 네트워크, ISDN 네트워크 등으로 구현되어 1인 이상의 소매 상인(retailer)에 의해 사용되는 네트워크들을 들 수 있다. 컴퓨터(110)는, 키오스크(100)의 일부로서 장착되는 하나 이상의 입력 및/또는 출력 장치(아래 부분에 있음)(130)를 구비한다. 전형적으로 컴퓨터(110)는 하나 이상의 메인 메모리와, 하나 이상의 기억 장치(예를들면, 하드 디스크 드라이브, CDROM 등)(110M)와, 하나 이상의 중앙 처리 장치(CPU)를 구비하는데, 이들은 잘 알려진 것들이다. 또한, 컴퓨터(110)는 예를 들어 유지 보수(maintenance)를 위한 선택사양의 하드웨어 키보드(135) 및 마우스(134)를 구비한다. 사용자는 이러한 다양한 입력 및/또는 출력 장치(주변장치(130)로서 이들 집단을 참조번호 130으로 표시함)에 액세스하여, 컴퓨터(110) 및 네트워크(150)를 통해 네트워크(150)에 연결된 그 밖의 다른 클라이언트 및/또는 서버(195)와 정보를 주고 받는다. 이들 입력/출력 장치(130)의 예로서, 스크린(105)을 구비한 터치 감응성 단말기(touch sensitive terminal)(103)와, 프린터(109)와, 임의의 공지된 일반적인 정보 판독기(111)(예를들면, 마그네틱 카드, 신용 카드, 또는 스마트 카드를 판독하기 위한 카드 판독기(121)), 스캐너(예를들면, 레이저 스캐너)(112), 임의의 공지된 일반적인 정보 기록기(113)(프린터, 티켓 프린터, 매체 프린터―예를들면, 디스켓 디스크 드라이브, 명세서 프린터, 또는 영수증 프린터), 디스펜서(dispenser)(예를 들어, 스티커 또는 컴퓨터 디스크를 디스펜스함), 또는 사용자에게 유형 매체(tangible media)(113A) 상의 정보를 제공하는 그 밖의 다른 임의의 장치(130)를 들 수 있다. 그 밖의 다른 입력/출력 장치(130)는, 현금 지급기, 스캐너, 디포저(deposer), 펜 입력 장치(pen input)(136), 카드 발행기, 티켓 발행기, CRT, 키보드, 터치 감응성 스크린, 프로그램 제어가능한 카메라, 하나 이상의 인체 센서(예를 들어, 적외선을 이용함), 하나 이상의 광원(lights), CD ROM 플레이어, 오디오 입력/출력 장치(예를들면, 마이크로폰(133), 스피커(132), 또는 전화기(107)), 및 메모리(113B)중 하나 이상을 포함한다. 키오스크(100)는, 전화기(107) 또는 화상 회의 시스템(114)(예를들면, PictureTel PCS-100 데스크탑 ISDN 화상 회의 시스템)과 같은 공지의 통신 장치를 구비할 수 있다. (PictureTel은 PictureTel사의 상표이다.) 화상 회의 시스템은, 카메라(들)(131), 스피커(들)(132), 마이크로폰(들)(133) 및/또는 적절한 네트워크 인터페이스(155)를 통해 접속되어 있는 하나 이상의 ISDN 접속부나 개별 네트워크 접속부를 포함한다. 다른 네트워크(151), 예컨대 전화기(107), 스피커(132), 마이크로폰(133) 및/또는 ISDN 라인(123)을 통한 재래식 전화 시스템(POTS;a plain old telephone system)(122)에 대해 접속이 행하여 질 수 있다. 그 밖의 다른 주변장치(130) 역시 공지의 인터페이스를 이용하여 독립적으로 네트워크(150, 151)에 접속될 수 있다.
컴퓨터의 CPU(110C)는 제어 프로세스와 라이브러리(libraries)(125)를 포함하는 소프트웨어 프로그램을 실행하는데, 몇몇 바람직한 실시예에서는 소프트웨어 프로그램이 하나 이상의 협력 프로세스(collaboration processes)(170)를 포함한다. 제어 프로세스(125)는 하나 이상의 내장 제어 기능/프로그램(620)과, 하나 이상의 제어 메카니즘(640)으로 이루어진다. (이하, 도 5, 6-6D를 참조하기로 한다.) 내장 제어 프로그램/기능(620)은 내용 특정 프로세스(content specific processes)(예를들면, 은행 업무, 차 임대 업무, 상품 구매 등)로서, 이 프로세스는 비내용 특정 제어 메카니즘(non-content specific control mechanisms)(640)을 이용하여, 각각의 입력/출력 장치(또는 이 입력/출력 장치의 서브세트(subsets))(130)와 관련된 로컬 애플리케이션 프로그램 인터페이스(680)(APIs)를 제어한다. 따라서, 입력/출력 장치(130)는 애플리케이션의 내용에 따라 특정된 방식으로 제어된다. 다른 실시예에서, 제어 메카니즘은 네트워크(150)로부터 컴퓨터(110)에 동적으로 로딩될 수 있다.
협력 프로세스(170)는, API와, 키오스크(100)로부터 협력 세션을 설정하는 기능을 수행하는 그 밖의 다른 프로그램을 포함한다. 이 협력 프로세스는, 1996년 9월 27일 핀(Fin) 등에 의해 출원된 발명의 명칭이 "Internet Web Page Sharing"인 미국 특허 출원 08/722,287에 개시되어 있으며, 이는 본 명세서에 참조로 인용된다(출원 번호가 97307536.0이고 공개 번호가 833260인 EP 참조). 컴퓨터는 또한 예컨대 네스케이프 내비게이터(Netscape Navigator) 브라우저 같은 웹 브라우저 프로그램(160)을 포함하는 네트워크(150)와 대화하는데 필요한 프로그램을 실행한다. (Netscape Navigator는 네스케이프 통신사의 상표이다.)
도 2는 본 발명의 다른 실시예를 나타내는 블럭도로서, 폐쇄된 공간 또는 부분적으로 폐쇄된 공간(200) 내에 있는 키오스크(100)를 도시한다. 폐쇄된 공간(200)은 임의의 유형의 공간, 예를들면 방, 작은 칸막이 방, 또는 임의의 그 밖의 전용 영역 혹은 반 전용 영역일 수 있으며, 이 공간 내에 1인 이상의 사용자와 함께 키오스크(100)가 존재한다. 이 실시예에서, 컴퓨터(110)는 하나 이상의 공지된 환경 주변장치(environmental peripherals)(130)에 접속되는데, 컴퓨터(110)는 이 환경 주변장치(130)를 제어하여 사용자를 위해 공간(200) 내의 환경을 조성한다. 예를 들어, 이 환경 주변장치는 공간의 조명 기구(205)와, 공간(200) 내의 디스플레이 장치(210)를 포함할 수 있는데, 디스플레이 장치(210)는 부가적인 정보(예를들면, 판매 정보) 및/또는 환경 요소(예를들면, 풍경 또는 가상 세계의 변화무쌍한 디스플레이) 및/또는 공간(200)으로/으로부터의 보안 액세스(security access)(215)를 전달한다. 또한, (부분적으로) 폐쇄된 공간은 전술한 주변장치(130)와 유사한 그 밖의 다른 환경용 주변장치(130)로서, 예를들면 음향 장치, 화상 회의 장치 등을 가질 수 있다. 가상 세계의 예는 잘 알려져 있다.
시스템(100, 200)의 바람직한 실시예에서, 사용자는 (선택 기능을 이용하여) 애플리케이션(예를들면, 은행 업무)을 선택하는데, 이를 위해 키오스크가 구성될 것이며 브라우저(160)는 인터넷(일반적인 네트워크)(150) 상의 하나 이상의 웹 서버(195)와 대화하여 하나 이상의 구성 세트(175)를 페치(fetch)한다. 선택적으로, 데이터 통신은 키오스크(100, 200) 내의 서버(195)와 브라우저(160) 사이에서 시작된다. 그 후, 브라우저(160)에 의해 애플리케이션 파일(175)이 파일 단위로 실행되어, 1) 선택적으로, 각각의 애플리케이션과 함께 사용되는 하나 이상의 입력/출력 장치(예를들면, 터치 감응성 단말기(103) 또는 디스플레이 장치)(130)를 제어하는 구동 프로그램(로컬 API(680))을 호출하고, 2) 선택적으로, 예를 들어, 단말기/디스플레이(103) 상에 디스플레이될 일련의 웹 페이지같은, 일련의 입력/출력장치(130) 동작이 발생되도록 하고, 3) 선택적으로, 사용자 입력을 입력 장치(130)로부터 서버(195)로 전달하며, 4) 선택적으로, 사용자 입력에 따라 브라우저(160)가 또다른 실행을 행하기 위해 또다른 애플리케이션 파일(175)을 선택한다. 따라서, 사용자는 첫 번째 선택 기능을 사용하여, 키오스크를 첫 번째 선택된 특정 애플리케이션으로 재구성하는 첫 번째 애플리케이션(및 서버(195) 상의 그와 관련된 애플리케이션 파일(175))을 선택한다. 두 번째 애플리케이션을 선택함으로써, 키오스크가 두 번째 애플리케이션에 대해 다시 재구성되며, 이런 식으로 계속 진행된다. 임의의 추후 구성에 대한 선택 기능은 그 전단계 구성에서 사용자에게 제공될 수 있다.
애플리케이션은 이용(use)을 말하며, 특히 키오스크가 이 이용을 위해 구성되는 임의의 이용을 말한다. 예를 들면 애플리케이션은, 금융, 사업, 정보(뉴스, 광고), 통신(전자 메일, 웹 액세스, 화상 회의), 소매업, 마케팅, 서비스(예를들면, 행정 프로그램(government programs))분야에서의 이용(구성)을 포함한다. 애플리케이션 소유자는, 키오스크를 구성하여 애플리케이션을 제공하는 임의의 사람, 조직체, 또는 사업소이다. 예를들면, 은행 또는 뮤추얼 펀드(mutual fund)은 하나 이상의 금융 애플리케이션에 대해 키오스크를 구성할 것이다. 이들 금융 애플리케이션의 예로서, 사용자에게 금융 정보를 제공하는 것, 예금 계좌를 개설하는 것, 현금을 지급하는 것, 어음을 지불하는 것, 대출 신청, 예금 및 관리자의 도움을 구하는 것을 들 수 있다. 서비스 소유자의 예로서, 차 임대/리스(car rental/lease) 등을 제공하도록 키오스크를 구성하는 차 임대 회사를 들 수 있다.
다른 바람직한 실시예에서, 키오스크(100, 200)는, 사용자가 아니라 서버(195)에 의해 재구성된다. 예를 들어, 키오스크는 쇼핑 몰과 같은 공공 장소에 위치될 수 있다. 브라우저는, 하나 이상의 서버(195)로부터 혹은, 네트워크(150) 상에 위치되는 디폴트 또는 프록시 서버(proxy server)(195A)로부터 구성 세트(애플리케이션 파일)(175)를 초기에 혹은 주기적으로 키오스크(100)로 페치하도록(혹은 서버가 이를 "푸시(push)"하도록) 만들어질 수 있다. 따라서, 시스템 설계자는 서버(195)의 원격 위치로부터 키오스크의 구성을 제어할 수 있다. 예로서, 쇼핑 몰 내의 키오스크는, 쇼핑 몰의 지도를 디스플레이하고, 배경 음악을 연주하고, 안내 멘트를 하거나 혹은 날씨를 안내하고, 또는 뉴스 혹은 주식 시세와 같은 그 밖의 다른 일반적인 정보를 제공하도록 초기에 구성될 수 있다. 구성 세트(175)는 하나 이상의 입력/출력 장치(130)가 선택 기능(105A), 예를들면 터치 스크린, 아이콘, 하이퍼텍스트 링크, 그래픽 사용자 인터페이스 상의 소프트 버튼, 하드 와이어드 버튼(hard-wired button), 원격 센서(예를들면 무선 주파수 식별 태그), 또는 화상 회의 시스템을 위한 음성 활성화된 메시지 같은 기능을 갖거나 혹은 이와 같이 되도록 조작한다. 선택 기능(105A)은, 사용자가 선택을 행함으로써 키오스크가 사용자 애플리케이션으로 재구성되도록 해주는 기능이다. 이들 선택 기능(105A)으로 인해 사용자는 키오스크(100/200)를 재구성하고/하거나 서버(195)가 키오스크에게 제공하도록 요구하는 그 밖의 다른 정보에 액세스할 수 있게 된다.
선택 기능(105A) 및/또는 디스플레이되는 그 밖의 다른 정보는 또한 키오스크의 소유자/작동자의 수입원(source of revenue)일 수 있다. 예를들면, 키오스크에 의해 제공되는 통지 사항은 유료 광고일 수 있다. 애플리케이션 제공자(예를들면, 은행, 뮤추얼 펀드, 저당권 설정 회사, 대금업자(lenders), (주식, 부동산) 브로커(brokers), 임대 사업(차, 장비 임대 사업), 서비스 제공자 및 소매업자)는 키오스크(100/200) 상의 선택 기능(105A)을 갖기 위해 요금을 지불할 것인데, 이 선택 기능(105A)은 키오스크를 그러한 애플리케이션에 대해 구성하기 위해 사용자가 선택하는 것이다. 요금은, 키오스크의 위치, 키오스크 상의 선택 기능/정보의 위치(예를들면, 그래픽 사용자 인터페이스), 선택 기능(105A)의 크기, 선택 기능(105A)/정보가 키오스크에 의해 제공되는 시간 및 지속 시간 등에 근거하여 산정될 수 있다. 선택 기능(105A)/정보는 서로 다른 부류의 고객/클라이언트를 목표로하기 위해 상이한 시점에서 변화되거나 혹은 주기적으로 디스플레이될 수 있다. 예를들어, 그랜드 센트럴 스테이션(Grand Central Station) 내의 키오스크가 출퇴근시간에는 출퇴근 정보를 디스플레이하고, 점심 시간 바로 전에는 식당 예약을 위한 선택 기능(105A)을 갖도록 재구성될 수 있을 것이다.
키오스크(100/200)는 사용자에게 특정되도록 서버(195)를 통해 애플리케이션 제공자에 의해 재구성될 수 있다. 예를 들어, 여행사는 스미스(Smith)씨에 대한 사용자 프로파일을 가질 수도 있다. 스미스씨는 공공 장소 또는 자신의 작업장에 있는 키오스크(100/200) 상에서 선택 기능(105A)을 선택한다. 일단 키오스크가 여행사의 애플리케이션에 대해 재구성되면, (애플리케이션 파일(175)중 하나에 의해 지시되는 것처럼) 키오스크는 입력/출력 장치(130)중 하나를 이용하여 예를 들어 PIN 코드를 입력하거나 신용 카드를 긁도록(swiping) 함으로써 스미스씨로부터 개인 정보를 요구할 수 있다. 그 후, 키오스크(100/200)에 의해 스미스씨의 개인 정보가 서버(195)로 전달되어 스미스씨에 관한 프로파일이 액세스된다. 프로파일 내의 정보를 이용하여, 하나 이상의 애플리케이션 파일(175)이 서버(195)에 의해 전송되어 스미스씨에 대해 구체적으로 키오스크가 재구성된다. 예를 들어, 중앙 아메리카에 대한 휴가 패키지(package) 만이 키오스크 상에 제공될 수도 있다. 다른 실시예로서, 하나 이상의 애플리케이션 파일(175)에 의해 사용자는 GUI(이하, 300)를 편성할 수 있다.
키오스크(100/200)의 그 밖의 다른 바람직한 구성에서, 1인 이상의 키오스크 사용자와 애플리케이션 제공자의 1인 이상의 관리자 사이에 협력 세션이 설정된다. 협력 세션은, 키오스크 상에 존재하거나 혹은 서버(195)에 의해 애플리케이션 파일(175)로서 제공되는 협력 프로세스(170)에 의해 설정된다(전술한 핀 등에 의한 특허 출원 참조).
키오스크(100, 200)의 또다른 바람직한 구성에서, 서버(195)는, 키오스크를 모니터링하거나 유지보수하는데 사용되는 애플리케이션 파일(175)을 키오스크에 제공한다. 예를 들어, 이들 실시예에서 하나 이상의 내장 제어 프로그램(620)은, 예를 들어 "데드 맨(dead man)" 타이머 상태, 에러 체크 프로토콜 등을 이용하여 하나 이상의 입력/출력 장치(130)의 동작 상태를 모니터링함으로써 어떤 입력/출력 장치가 동작가능한 지를 판단한다. 이 정보는 서버(195)에게 도로 전달된다. 주어진 키오스크 내에서 어떤 입력/출력 장치(130)가 인스톨되는지 혹은 동작가능한 지를 질문하는 데에는 그 밖의 다른 애플리케이션 파일(175)이 사용된다. 이러한방식으로 서버(195)는, 인스톨되거나 혹은 동작가능한 입력/출력 장치(130)는 인에이블시키고, 인스톨되지 않거나 장해가 있는 장치는 인에이블(구성)시키지 않기 위해, 어떤 애플리케이션 파일(175)을 키오스크로 보내야 할지를 판단한다. 따라서, 입력/출력 장치(130)의 임의의 일반적인 결합을 포함하는 키오스크가 서버로부터 멀리 떨어져 인스톨될 수 있으며, 서버는 올바르고 동작가능한 애플리케이션 파일을 제공하여 임의의 주어진 애플리케이션용으로 키오스크를 동작 가능하게 할 것이다. 애플리케이션 파일은 또한, 장치를 작동하는 방법을 결정하기 위해 하나 이상의 입력/출력 장치로부터 정보를 획득하는 데에 사용될 수 있다.
도 3은 키오스크(100/200)의 스크린/디스플레이(105) 상에 나타나는 그래픽 사용자 인터페이스(GUI)(300)의 예를 도시한 도면이다. GUI(300)는 선택 기능(105A)을 통해 키오스크의 사용자에게 메인 액세스 인터페이스를 제공한다. 선택 기능(105A)의 예로서, 은행(301), 보험 서비스(302), 일반적인 소프트 버튼(303) 및 피자 레스토랑(304)에 대한 애플리케이션을 나타내는 아이콘 이미지(301-304)를 들 수 있다. GUI(300)는 또한, 하나 이상의 선택 사항(대표적으로, 325)을 갖는 메뉴(320)의 형태로 선택 기능(105A)을 디스플레이할 수 있다. 선택 기능(105A)의 다른 예로서, GUI(300) 및/또는 메뉴(320)의 일부일 수 있는 하이퍼링크(hyperlinks)(350)를 들 수 있다. GUI(300)의 그 밖의 다른 영역(340)은 정보 및/또는 다른 데이터를 입력하는데 사용될 수 있다. 이들 정보 필드(340)를 이용하여, GUI는 세금 고지서, 대출 신청서, 저당 설정 신청서, 예금 전표(deposit slip) 등과 같은 서식(370)을 나타낼 수 있다. GUI(300)는 잘 알려진 기법을 이용하여 브라우저(160)에 의해 웹 페이지로서 디스플레이될 수 있다. 웹 페이지는, 다른 입력/출력 장치(130)를 통해 사용자에게 보여지는 멀티미디어(음향, 비디오) 특성을 가질 수 있다.
도 4는 사용자가 사용자 인터페이스를 통해 대화하여 선택 기능(105A)을 선택하는 방법의 메카니즘을 도시한 도면으로서, 선택 기능(105A)은 대응하는 구성 세트(175)를 서버(195)로부터 클라이언트(키오스크(100, 200))로 다운로드하여서 소정의 특정 기능을 불러오고 주변장치(130)(예를들면, 107, 109, 111, 113, 114 등)의 특정 서브세트(451)를 제어한다. 주변장치(130)는 자신의 로컬 API(440)(또는 이들 로컬 API(440)의 서브세트(441))를 통해 제어된다. 로컬 API(440)는 직접적으로 하나 이상의 주변장치(130)를 제어하는 소프트웨어 기능 인터페이스이다. 예를들면, 카드 판독기(130)에 대한 로컬 API(440)는 초기화, 개시, 카드로부터 데이터 판독, 카드 배출, 기능을 턴 오프하는 것을 포함할 수 있다.
(키오스크 구성의) 선택은 선택 기능(105A)에 의해 행해진다. 선택 기능(105A)의 예는 다음과 같다.
a) 사용자가 스크린 상의 이미지 아이콘이나 또는 버튼과 같은 다른 선택 장치를 확실하게 터칭(touching)하는 것과,
b) 현재 실행중인 프로그램이 사용자의 행위에 근거하여 선택을 불러올 필요가 있는지를 판단하는 것, 예를 들면 사용자가 한 행(row)에서 동일한 실수를 2번 이상 행할 경우 도움말 프로그램(help program)을 불러오는 것과,
c) 현재 실행중인 프로그램내의 로직이 다음 선택(키오스크 구성)을 결정하는 것. 예를들어, 일단 사용자가 저당권 사전 자격 애플리케이션을 완료하고 은행이 이를 승인하면, 현재 애플리케이션은 사용자에게 부동산 정보를 필요로 하는지를 질문할 수 있다. 사용자가 "예"로 응답할 경우, 키오스크 구성은 부동산 중개업자 애플리케이션의 구성으로 변경된다.
일 실시예에서, 선택(105A)이 행해지면, 브라우저(160)는 그 선택 기능(105A)에 대응하는 첫 번째 애플리케이션 파일(175)(파일(500))에 대한 요구를 네트워크 인터페이스(155)를 통해 HTTP로 서버(195)에게 전송한다. (애플리케이션 파일/구성 세트(175)내의 파일(500)을 나타내고 있는 도 5를 또한 참조하기 바란다.) 그 후 서버(195)는 애플리케이션 파일(175)을 브라우저(160)에게 서브한다. 애플리케이션 파일(500)이 브라우저(160)에 도달한 후, 파일(500)의 HTML 내용이 라인 단위로 실행된다. 다음의 애플리케이션 파일(500)이 브라우저가 실행하고 있는 현재의 애플리케이션 파일(500)과 연관될 경우(예를 들어 하이퍼링크될 경우), 이 다음의 애플리케이션 파일(500)도 또한 브라우저에게 전송된다. 이러한 방식으로, 브라우저(160)는 각 파일(500)을 라인 단위로 실행하고, 구성 세트(175) 내의 HTML 텍스트의 시퀀스를 구성 세트(175) 단위로 실행한다. 이러한 방식으로 애플리케이션 파일/구성 세트(175)의 파일들(500)을 실행함으로써, 로컬 API(440)(장치(130)와 관련됨) 또는 로컬 API의 서브세트가 호출되어, 피선택 장치의 서브세트(451)를 제어하고 키오스크(100, 200)가 재구성된다. 애플리케이션 파일/파일들(175, 500) 및/또는 사용자 조작들의 각각의 로직은, 어떤 애플리케이션 파일/파일들(175, 500)이 실행되는지, 혹은 몇몇의 애플리케이션 파일이 실행되는지의 여부를 변경시킬 수 있다.
애플리케이션 파일(175)을 실행시킴으로써, 브라우저(160)는 하나 이상의 장치(130)를 선택하고 제어한다. 키오스크의 구성은, 애플리케이션 파일의 실행동안 선택된 장치(예를들면, 장치 서브세트(451))와, 이 장치 서브세트(451)가 제어되는 방법에 의해 정의된다. 예를들면, 은행 업무 구성에서, 애플리케이션 파일(175)의 실행에 의해 API(441)의 서브세트가 호출되고, 예를들어 카드 판독기(111) 및 프린터(109)(장치 서브세트(451))가 선택 및 제어되어, 각각 은행 카드를 판독하고 거래 기록을 프린트 출력한다. 동일한 은행 업무 구성에서, 하나 이상의 애플리케이션 파일 (및/또는 애플리케이션 파일의 라인)의 실행에 의해 장치(130)가 선택되거나 제어되는 것은 아니지만, 데이터를 저장하고 데이터 또는 메시지를 서버(195)에게 도로 전송하는 등의 조치를 포함하는 그 밖의 다른 조치를 유발시킨다. 다른 구성에서, 예를들면 피자를 주문하는 구성에서, 애플리케이션 파일의 실행에 의해 상이한 서브세트의 API(441)가 호출되어 동일한 장치 서브세트(451)(즉, 카드 판독기(111) 및 프린터(109))가 선택 및 제어됨으로써, 각각 신용 카드를 판독하고 신용 카드로 요금을 부과하고 선택된 피자 토핑(pizza toppings)을 나타내는 구입 영수증을 프린트 출력한다.
몇몇 구성에서는, 애플리케이션 파일(175)의 실행에 의해 하나 이상의 장치(130)가 선택되지 않음에 유의한다. 이들 경우, 디폴트 장치가 사용된다. 예를들면, 텍스트의 라인이 디스플레이되도록 하는 파일(500)의 라인이 디폴트로서 디스플레이(103)로 향하게 될 것이다.
브라우저(160)는, 다른 로컬 프로그램 및/또는 라이브러리를 사용하여 애플리케이션 파일의 실행과 대화하는 특정 세트의 실행가능한 로컬 모듈에 액세스할 수 있음에 유의하기 바란다(도 6 참조).
도 5는, 하나 이상의 HTML 파일(500)과, 적어도 하나의 내장 제어 프로그램(620)을 포함하는 관련 하이퍼텍스트 구성 요소를 포함하는 일련의 애플리케이션 파일들(구성 세트)(175)을 나타내는 블럭도이다. 모든 웹 기반 애플리케이션 파일(175)은 적어도 하나의 내장 제어 프로그램(620)을 갖는 HTML 기반 파일이다. 이 애플리케이션 파일들(175)은 HTML을 기반으로 하거나 기반으로 하지 않을 수도 있는 그 밖의 다른 하이퍼텍스트 구성 요소를 선택적으로 포함한다. 전형적으로, HTML 파일은 텍스트(525), 이미지 또는 그래픽(528), 애니메이션(이미지(528), 애플릿(505), 스크립트(515), 또는 그 밖의 다른 내장 구성 요소(520)로서 구현됨), 음향(하나의 내장 구성 요소(520)임), 비디오(하나의 내장 구성 요소(520)임)와 그 밖의 다른 내장 프로그램(520)에 대해 표준 HTML(예를들면 HTML 3.0) 태그를 포함한다. 이들 태그는 널리 알려진 것이다. 바람직한 일 실시예에서, 브라우저(160)는 넷스케이프 내비게이터 v3.0이다. 내장 프로그램은 자바스크립트(JavaScript)를 이용하거나 자바 애플릿를 이용해 구현될 수 있고, 혹은 플러그-인(plug-ins)을 사용하는 그 밖의 다른 임의의 내장 프로그램을 이용하여 구현될 수도 있다(자바(Java)는 선 마이크로시스템사(Sun Microsystems Inc.)의 상표이다). 도 5에 도시한 바와 같이, HTML 파일(500)은 태그(505)를 사용하여 자바 애플릿을 내장하며, 태그(515)를 사용하여 자바스크립트 기능을 내장하고, 태그(520)를 사용하여 브라우저의 플러그-인 기능을 불러올 그 밖의 다른 임의의 프로그램을 내장한다. 표준 HTML 태그에 관한 더 많은 정보는 "네스케이프 HTML 3.0 소스 북(Netscape HTML 3.0 Source Book)"에 나타나 있으며, 이는 본 명세서에 참조로 인용된다. 이들 몇몇 내장 프로그램(520)은 내장 제어 기능/프로그램(620)이다.
도 6은, 키오스크(100)를 구성하는 전형적인 애플리케이션의 내장 제어 프로그램(620)을 실행하는데 관련되는 시스템의 구성 요소를 나타내는 블럭도이다.
브라우저(160)에서, HTML 파일 내의 HTML 태그를 해석하거나 혹은 인식하는 인터프리터(610)가 기능적으로 존재한다. 인터프리터(610)는 HTML 태그 실행기(611)를 호출하여, 태그의 유형과 태그의 내용에 따라 HTML 태그 각각에 대한 기능을 실행한다. 이 실행에서, 로컬 키오스크 프로그램(로컬 주변장치 API(440)를 포함)에 대한 API 호출(680)이 발생하지 않을 경우, 브라우저는 필요에 따라 표준 기능의 라이브러리를 이용하여(617), HTML 태그 각각을 실행한다(615). 이들 비 API 제어 기능(non-API-control functions)(615)의 예로서, 텍스트를 디스플레이하는 것, 이미지를 디스플레이하는 것 등을 들 수 있다. 이들은 널리 알려진 것이며 종래 기술의 브라우저에 존재하는 것이다.
그러나, 실행기(611)가 로컬 키오스크 API(680)중 하나를 호출하는 내장 제어 기능(620)을 만날 경우, 실행기(611)는 브라우저(160)내의 보안 관리기(625)를 불러내어 API 호출이 허용되는지 여부를 판단한다. 이하 더욱 상세히 기술하는 바와 같이, 키오스크 제어 메카니즘(640) 또는 이 메카니즘(640A)의 일부는 브라우저가 위치되는 디렉토리의 서브디렉토리 내에 배치된다. 이렇게 함으로써, 실행기(611)가 내장 제어 기능(620)을 만날 때 보안 관리기(625)는 제어 메카니즘(640)을 찾을 것이며(640A 이하), API 제어 기능(621)은 제어 메카니즘(640/640A)을 브라우저 프로세스(160)에 로드할 것이다. 예를들면, 이들 내장 제어 기능(620)은, 하나 이상의 로컬 API 기능(680/440)(즉, 선택된 API(441)의 서브세트)을 호출하여 주어진 장치(451)의 서브세트를 동작시키는 애플릿을 포함할 수 있다. 예를들면, 장치가 카드 판독기일 경우, 내장 제어 기능(620)은 제어 메카니즘(640)을 이용해 적절한 API(440)를 호출하여 카드 판독기 장치를 열고 카드로부터 데이터를 판독하고 카드를 배출하고 카드 판독기 장치를 닫을 수도 있다.
공지된 브라우저(160)는 로컬 API(680)를 실행시키기 위해 네트워크(150)로부터 내장 제어 기능(620)을 실행하지 않음에 유의한다. 사실상, 이들 브라우저는, 잘 알려진 네트워크 보안 이유로 인해 이들 API 제어 기능의 실행을 특히 방지한다. 예를들면, 애플리케이션 파일(175)이 네트워크를 통과하는 동안 변화될 경우, 애플리케이션 파일 내의 손상된 제어 기능의 실행으로 인해 클라이언트 머신, 즉 키오스크(100, 200) 측에 예상치 못한 좋지 않은 결과가 발생될 수 있다.
자바는 예컨대 바이트-코드 전송 및 검증, 가상 머신에 의한 에러 체크 등과 같은 다양한 특정 수단을 이용해 네트워크 보안 문제를 해결하도록 설계되어 있다. 또한, 자바가 웹 기반 애플리케이션에서 애플릿으로서 사용될 때, 즉 HTML 파일 내에 내장될 때, 브라우저는 자바 애플릿이 클라이언트 머신 상의 임의의 로컬 자바 프로그램(브라우저 내에 구축되는 표준 자바 라이브러리 내에 있는 것은 제외)에 액세스하는 것을 통상적으로 엄격하게 방지한다. 이에 대한 이유는 단순히, 애플릿이 제어되지 않는 환경으로부터 온 것(즉, 네트워크를 통해 임의의 서버로부터 온 것)이기 때문에 이 애플릿이 클라이언트 머신에 행할 수 있는 임의의 손상을 방지하기 위한 것이다.
"Java Now"라는 책(잠사(Jamsa) 출판사의 크리스 잠사(Kris Jamsa)의 저서, 1996, ISBN 1-884133-30-4, p4)에 기술된 바와 같이, “보안 문제를 다루기 위해, 자바 개발자는, 프로그래머가 자바 애플릿을 이용하여 컴퓨터 바이러스를 개발하지 않도록 해야 하고 애플릿이 사용자의 시스템에 관한 정보(예를들면, 사용자의 시스템 상의 파일)를 서버로 다시 전송하지 않도록 해야 한다. 예를들어, 경쟁자의 웹 사이트를 검색하는 것도 싫겠지만 경쟁자의 자바 애플릿이 나의 하드 디스켓을 검색하는 것은 더욱 싫을 것이다. 이러한 보안성을 제공하기 위해, 자바 개발자는 애플릿이 수행할 수 있는 동작을 제한할 것을 선택하였다. 예를들면, 자바 애플릿은 사용자의 시스템 상에 파일을 판독하거나 기록할 수 없다. 이러한 방식으로, 애플릿은 사용자의 디스크 상에 바이러스를 저장하거나 사용자의 디스크 상에 저장된 정보를 판독할 수 없게 된다.” 또한, “자바는 프로그래머가 독립형 프로그램(stand alone program)을 생성할 수 있도록 해준다. 자바 독립형 프로그램은 프로그래머가 C++을 이용하여 생성할 수 있는 프로그램과 유사하다. 이러한 독립형 프로그램은 파일을 판독 및 기록하고, 자바가 애플릿이 수행하지 못하도록 제한하는 동작을 수행할 수 있다. 반면에, 자바 애플릿은 브라우저 내에서만 실행된다...”라고 기술되어 있다. 이는, 자바 애플릿이 의도한 바대로 브라우저 프로세스(160) 이외의 기능을 동작시키지 않음을 의미한다.
표준 브라우저의 동작이 행해지는 동안, 브라우저의 보안 관리기(625)는 이들이 보안 규칙을 위반하는 지를 감시한다. 애플릿이, 표준 자바 라이브러리 내에 있지 않은 프로그램에 대해 액세스를 요구하는 것으로 알려질 경우, 브라우저는 단순히 보안 규칙 위반 에러를 보고하고 애플릿의 실행을 중지시킨다.
일 실시예에서, 키오스크 고유 제어 메카니즘(640)의 일부(640A)는 브라우저(160)에 부가되고 키오스크 고유 제어 메카니즘(640)의 다른 부분(640B)은 애플리케이션 프로그래밍 인터페이스(API)(680)(440을 포함함)에 부가되어 애플리케이션 파일(1750)이 키오스크를 구성할 수 있도록 한다. 따라서, 키오스크 고유 제어 메카니즘(640)은 두 부분으로 나누어지는데, 하나는 브라우저 메카니즘(640A)이며, 다른 하나는 API 메카니즘(640B)이다. 이 실시예에서, 브라우저 메카니즘(640A) 및 API 메카니즘(640B)은 인터프로세스 통신(interprocess communication:IPC)(640I)을 통해 통신한다. IPC(640I) 인터페이스는, 브라우저 메카니즘(640A) 및 API 메카니즘(640B)이 직접적인 기능 호출 대신에 메시지 전달을 이용하여 통신할 수 있도록 해준다. (IPC는 널리 알려진 것이며, 하나의 예로서, 윈도우즈 오퍼레이팅 시스템 내의 동적 데이터 교환(Dynamic Data Exchange:DDE)의 사용을 들 수 있는데, 윈도우즈(Windows)는 마이크로소프트사의 상표이다.)
브라우저 메카니즘(640A)은 브라우저 서브디렉토리 내에 위치되어서, 임의의 애플리케이션 파일(175) 내의 임의의 API 제어 기능(620)이 브라우저(160) 내의 인터프리터(610)에 의해 인식되도록 한다. API 메카니즘(640B)은, 브라우저 메카니즘(640A)으로부터 메시지를 수신하며, 그 메시지에 따라 장치 API(440)를 포함하는 여러 기능을 독립적으로 제어한다. 이러한 방식으로, 브라우저로부터의 애플릿이 인에이블되어 하나 이상의 장치 및 로컬 기능을 제어할 수 있게 되지만, 브라우저 메카니즘(640A)을 갖는 것에 한해서이다. 따라서, 키오스크 내의 그 밖의 다른 기능은 네트워크를 통해 애플리케이션 파일(175)의 액세스로부터 여전히 안전한 채로 유지된다. 따라서, 키오스크는 구성가능하면서 안전하다. 또한, API 메카니즘(640B)은 브라우저에 독립적으로 장치 API(440)를 작동시키기 때문에, API 메카니즘(640B)으로 전달되는 임의의 장치 제어 기능(주어진 장치를 제어하는 데 사용되는 API 제어 기능(620)의 서브세트)은, 애플리케이션 파일이 추후에 브라우저(160)에서 드롭(drop)되거나 변경될지라도 장치(451)의 서브세트 상에서 수행될 것이다. 이로 인해, 장치 동작이 지속적으로 유지될 수 있는데, 즉 API 기능(640, 440)이 일단 개시되면, 그 기능은, 애플리케이션 파일(175)이 브라우저(160)에 의해 변경/드롭되는지 여부에 관계없이 완료될 수 있다. 또한 이러한 실행 지속성으로 인해 다수의 사용자가 키오스크와 더 효율적으로 대화할 수 있게 된다. 예를들면, 애플리케이션 파일(175)은 카드 발행기에게 새로운 카드를 발행할 것을 지시할 수 있다. 그러면, 카드 발행 장치가 데이터를 마그네틱 스트라이프에 기입하고 새로운 카드를 엠보싱 처리(embossing)하는 동안, 사용자/브라우저는 다른 애플리케이션 파일로 이동할 수 있다.
브라우저 메카니즘(640A)은, 1) 브라우저 자신의 표준 디렉토리/라이브러리 내에 위치되며, 2) 하나 이상의 로컬 API 기능에 관한 메시지(예를들면, 기능 네임 및 관련 파라미터)를 전달하는 네임 서버 메카니즘을 이용해 메시지를 전달하거나(도 6a 및 6c와 그에 관한 설명 참조) 또는 로컬 API 기능을 직접 불러내는 것(도 6b 및 6d와 그에 관한 설명 참조)에 의해, 애플리케이션 파일(175)이 하나 이상의 로컬 API(680)를 불러낼 수 있는 구조를 갖는다.
하나의 바람직한 실시예에서, 브라우저 메카니즘(640A)은 애플리케이션 파일(500)에게 알려진 자바 API(종종 "자바 랩퍼(Java wrapper)"로 불리움)를 포함하고, 또한 (예를들면, 인터프로세스 통신 또는 네임 서버를 이용하여) 통신을 하거나 또는 로컬 API(680)를 직접 호출하기 위해 원시 언어(native language)(예를들면, C++)로 프로그램된 기능들을 포함한다.
API 메카니즘(640B)은, 1) 다양한 로컬 기능 모듈(예를들면, 브라우저 제어 모듈, 협력 기능 모듈, 장치 제어 모듈 및 시스템 모니터링 모듈 등)을 직접 액세스하고, 2) 네임 서버 메카니즘을 이용하거나 관련 로컬 기능 모듈을 직접 호출함으로써 하나 이상의 API 기능들(680)의 세트를 불러올 수 있는 구조를 가지며, 3) API(640A)와의 메시지 기반 통신을 가능하게 해주는 IPC를 갖는다. (API 기능(680)은 특별히 키오스크 내의 임의의 주어진 장치 또는 기능을 제어하도록 설계되며, 애플리케이션 파일(175)에 의해 액세스될 수도 있고 액세스되지 않을 수도 있음에 유의한다.)
이 키오스크 제어 메카니즘을 이용하는 하나의 애플리케이션의 예로서, 애플리케이션이 키오스크 구성 방법을 결정하기 전에 시스템 셋업 및 상태를 문의하는것을 들 수 있다. 애플리케이션 파일(175)에서, 애플릿 CallAPI.class는 API 기능(640) "query_status"를 불러오는 데 사용될 수 있다. 예를들면 다음과 같다.
그리고, 이 애플릿은 HTML 파일 내에 다음과 같이 내장된다.
이 애플릿이 브라우저에 의해 실행될 때, 우선 kioskAppInterface로 명명된 클래스를 사례화(instantiation)한다. 이 파일 및 관련 DLL은 브라우저 표준 라이브러리에 위치된다. 그 후, 이는 send_APImessage()로 명명된 kioskAppInterface 클래스(640A)의 메쏘드(method)를 이용하여 API 메시지 "query_status"(640A)를 전송한다. 이 매쏘드는 인터프로세스 통신 기능(640I)을 불러내어, 이 메시지를 API 메카니즘(640B)으로 보낸다. 그 후, API 메카니즘(640B)은 관련 로컬 API 기능(680)을 불러내어 시스템 상태 데이터를 얻고 인터프로세스 통신 기능(640I)을 통해 이 데이터를 (640A)로 되돌려 보낸다. 애플릿은 커맨드 "status"와 함께 매쏘드 get_APImessage()를 이용하여 데이터를 얻는데, 이 데이터는 (640B)로부터 다시 보내져온 것이며, 이 데이터는 sysStatus로 명명된 클래스내의 데이터 구조에 저장된다.
(640A) 및 (640B) 사이에 전달되는 API 메시지는 네임 서버 기능 메카니즘을 사용할 수도 있다(이하 도 6a 참조). 일반적으로, 메시지가 (640B)에 의해 획득될 때, (640B 내의) 네임 서버 기능은 그 메시지를 분석하여, 대응하는 로컬 기능 API(680)를 호출한다. 이 예에서는, 시스템 감시자 기능 API를 호출하여 이하와 같이 예시될 수 있는 시스템 상태 데이터를 얻는다.
(640B)의 네임 서버 기능에서,
전술한 바와 같이 "sysStatus" 클래스 데이터 구조에서 획득되는 데이터의 예를 여기에 나타낸다.
이 메시지에 따르면, 키오스크 상에는 다섯 개의 장치가 존재하며, 카드를 필요로 하는 카드 발행기를 제외하고는 모두 작업하고 있는 것으로 나타난다.
키오스크의 현재 상태 데이터에 따르면, 애플리케이션 파일(175)은 카드 발행기의 사용을 피하면서 레이저 프린터, 영수증 프린터 및 카드 판독기(장치 서브세트(451))를 사용하도록 선택할 수 있는데, 그 이유는 상태 데이터에 나타난 바와 같이 카드 발행기에게 공급되는 카드가 없기 때문이다(이러한 환경에서, 카드는 다른 수단에 의해 생성되어 키오스크 사용자에게 메일링(mailing)될 수도 있음).
몇몇 바람직한 실시예에서, 이와 같은 기법은, 어떤 장치가 키오스크 상에 제공될 것이지, 그리고 이들 장치가 적절하게 기능하는지 여부를 판단하는데 사용된다. 이러한 방식으로, 서버는 특정 애플리케이션 파일(175)을 제공하여, 키오스크가 제공하는 장치 및/또는 동작가능한 장치에 근거하여 키오스크를 구성할 수 있게 된다. 따라서, 각 애플리케이션 구성에 대해 서버측에서 애플리케이션 파일을 적절하게 선택함으로써 임의의 수의 서로 다른 키오스크 설계 및/또는 동작가능한 상황이 구성될 수 있다. 예를들면, 은행 업무 애플리케이션에서, 레이저 프린터 제어를 갖는 애플리케이션 파일(175)(파일(500))은 레이저 프린터를 구비한 키오스크로 보내져서, 고품질의 은행 명세서(statement)를 프린트하고, 반면에 영수증 프린터 제어를 갖는 애플리케이션 파일(175)(파일(500))은 동일한 작업(은행 명세서)과 관련한 영수증 프린터(이용가능하고 동작가능함)를 갖는 키오스크에 전송될 것이다. 이러한 방식으로, 오동작하는 레이저 프린터를 갖는 키오스크 또는 레이저 프린터가 없는 저렴한 키오스크도 여전히 은행 업무 애플리케이션에 대해 적절하게 구성될 수 있다.
다른 실시예에서, 애플리케이션 파일상에 요구를 전송함으로써 하나 이상의 서버에 의해 상태 정보가 요구될 수 있다. 이 정보는, 어떤 키오스크 및/또는 이들 키오스크 상의 장치가 서비스를 필요로 하는 지를 판단하는 데 사용될 수 있다. 예를 들면, 필요할 경우 서비스 대행자가 파견되어 카드 발행기에 카드를 부가할 수 있다.
그 밖의 다른 실시예에서, 상태 정보는 키오스크 및/또는 장치의 서비스 내력(service history)에 이용하기 위해 요구될 수 있다. 또한, 그 밖의 다른 마케팅 정보도 획득될 수 있는데, 예를들면 특정 위치에서는 어떤 부류의 고객에 의해 어떤 구성이 가장 많이 요구되는지에 관한 정보를 획득할 수 있다.
바람직한 일 실시예에서, 키오스크는, 임의의 그 밖의 다른 애플리케이션의 백그라운드에서 가동되는 브라우저 윈도우(시스템 모니터링 애플리케이션 윈도우)를 구비할 수 있다. 이 시스템 모니터링 애플리케이션 윈도우는 하나 이상의 HTML 파일을 포함할 수 있는데, 이 하나 이상의 HTML 파일은 하나 이상의 서버와 통신하는 하나 이상의 애플릿을 포함한다. (서버와의 자바 애플릿 통신에 대한 메카니즘은 널리 알려져 있다.) 이 시스템 모니터링 애플리케이션 윈도우는, 키오스크가 파워 온 상태이고 키오스크가 계속해서 동작중일 때는 언제나 개시할 수 있다. 이러한 방식으로, 하나 이상의 서버는, 애플릿과의 통신을 통해 임의의 시간에 키오스크의 시스템 상태 정보를 얻을 수 있다.
본원 명세서에 개시한 방법에 의하면 다음이 실현 가능하다.
1) "씬 클라이언트(thin-client)" 키오스크; 키오스크 상에 사전에 인스톨될 필요가 있는 애플리케이션 특정 소프트웨어(application specific software)가 존재하지 않기 때문에, 키오스크는 비용면에서 효율적으로 구축되고 유지될 수 있다. 따라서, 하나의 애플리케이션(애플리케이션 파일(500))은 하나의 서버에 기록되고, 기록된 애플리케이션은 이 서버에 접속된 네트워크상의 다수의 "씬(thin)" 키오스크에 의해 사용될 수 있다. 네트워크 상의 임의의 "씬" 키오스크에 대해 애플리케이션 특정 소프트웨어가 설계되지 않아도 된다. 사실상, 네트워크는, 애플리케이션 특정 소프트웨어를 전혀 갖지 않는 하나 이상의 표준(따라서 더 저렴한) "씬" 키오스크로 구성될 수 있다. (예를들면, 키오스크 제작자는 임의의 애플리케이션과 관련하여 이 애플리케이션에 독립적인 하나 이상의 표준 키오스크를 사용할 수 있다.) 애플리케이션 파일(500)은 서버측에서 개발되고, 업그레이드되며/되거나 유지될 수 있으며, 키오스크 내의 임의의 프로그래밍을 변경하지 않으면서, 네트워크 상에서 하나 이상의 키오스크를 재구성하는데 사용될 수 있다. 이 "씬-클라이언트" 키오스크로 인해, 임의의 시간에 임의의 장소에서 일반적인 퍼블릭 액세스를 서비스하는 키오스크의 대량 배치가 가능하게 된다(예를들면, 인터넷 및/또는 전화망을 통해 통신할 수 있는 "키오스크 전화").
2) 키오스크의 재구성이 가능하기 때문에, 다양한 종류의 다수의 애플리케이션이 서버 상에서 개발되고 이 키오스크를 통해 전달될 수 있다. 따라서, 애플리케이션 제공자는 네트워크 상에 있는 모든 키오스크를 공유할 수 있다. 이들 애플리케이션은, 특정 시간 및/또는 특정 상황, 예를들면 사용자가 요구할 때 또는 임의의 주어진 환경 상태(비가 내리기 시작할 때의 우산 가게 광고)에서 키오스크 상에 제공될 수 있다.
3) 키오스크는 인터넷 및 웹 개방 표준 기법에 근거할 수 있기 때문에, 인터넷 및 월드 와이드 웹의 풍부한 정보, 풍부한 매체 및 풍부한 기술을 채용할 수 있다는 이점이 있다.
이하에 사용자가 이 키오스크(100)를 사용하는 방법의 몇몇 예(반드시 이에 한정되는 것은 아님)를 나타낸다.
1. 유휴 시간(idle time)에 키오스크 스크린은 여러 가지 동적인 이미지, 비디오 클립(video clips), 음향 및 그래픽 패턴과 텍스트를 보여준다. 이 스크린의 내용은 모두 HTML 파일(들)로부터 제어되며 HTML 파일(들)은 키오스크 요구 또는 서버 푸시(sever push)에 근거하여 갱신된다. 서비스 제공자는 서로 다른 종류의 "부동산(real estate)" 스크린과 이들을 보여주는 시간에 대해 상이한 가격을 책정할 수도 있다. 아침 및 저녁 출퇴근 시간에는 주로 헤드라인 뉴스 및 금융 시장 변화를 보여줄 수도 있으며, 반면에 점심 시간에는 많은 식당 광고를 보여줄 수도 있으며, 주말에는 백화점 세일 광고를 보여줄 수도 있다. 이 내용은 항상 스크린을 지나가는 사람에게 스크린을 터치하도록 유혹한다.
2. 사용자는 스크린을 보고 스크린을 검토하면서 이를 터치한다. 그러면 스크린은 즉시 다음 스크린으로 턴(turn)되어 애플리케이션의 카테고리를 나타내는 이미지 아이콘 및 텍스트의 어레이를 보여준다.
3. 사용자가 피자 주문 아이콘을 터치하면, 사용자가 피자의 종류를 선택할 수 있는 스크린이 나타난다. 이 스크린에서는 사용자에게 피자를 배달할 장소 및 시기를 요구할 것이며 사용자는 온-스크린(on-screen) 터치 키패드를 통해 정보를 줄 수 있다. HTML내의 내장 제어 프로그램(620)은 그 데이터를 포착한다. 그 후 스크린은 사용자에게 신용 카드를 삽입하여 요금을 승인받도록 요구할 것이다. 제어 프로그램은 카드 판독기를 열어서 신용 카드 정보를 포착할 것이다. 그 후, 제어 프로그램은 관련 키오스크 API 기능을 이용하여 키오스크 상의 통신 기능을 불러와서 신용 카드 회사(예를들면, 모뎀을 통해) 및 피자 가게(예를들면 팩스를 보냄으로써)에 액세스할 수 있다. 이들 기능이 완료된 후, 스크린은 고객에게 주문 정보를 확인할 것이다. 그 밖의 다른 일반적인 소매 거래는 이와 유사한 방식으로 행해질 수 있다.
4. 사용자는 또한 전화 아이콘을 터치하여 전화를 걸 수 있다. 전화 애플리케이션 HTML 파일은 전화 키패드로 스크린 상에 나타난다. 사용자가 번호를 입력하면, 내장 제어 프로그램은 관련 API 기능(640A)을 불러와서 전화를 걸기 시작할 것인데, 이 전화 걸기는, PSTN(Public Service Telephone Network)을 통하거나, 또는 ISDN(Integrated Service Digital Network)을 통하거나, 또는 키오스크의 네트워크 접속(122, 123, 150), 애플리케이션 파일(500) 및 사용자 선택(105A)에 따른 인터넷 기반 전화를 통한 통상적인 방법에 의해 행해질 수 있다. 전화가 연결되면, 사용자는 키오스크에 구비된 핸드셋 또는 스피커 폰을 사용할 수 있다(호텐셔스(Hortensius) 등에 의한 미국 특허 출원 번호 제 08/595,897호(1996, 2월 6일 출원)인 "Multipoint Simultaneous Voice and Data Services Using a Media Splitter Gateway Architecture"(유럽 특허 출원 제 789470 호에 대응)를 참조하며 이는 본 명세서에 참조로 인용됨).
다른 바람직한 실시예에서, 사용자는 애플리케이션을 공유하는 비디오 전화 또는 화상 회의 전화를 선택할 수 있다(단, 상대방이 동일한 시설을 갖고 있는 경우). 그 후, HTML 애플리케이션 내에 내장 제어 프로그램(620)은 관련 API 기능을 불러와서 키오스크 화상 회의 기능을 개시할 것이다. 사용자는 키오스크 상에 구비된 터치 스크린 및 전자 펜을 사용하여 대화를 용이하게 할 수 있다(전술한핀(Fin) 등의 "Internet Web Page Sharing" 특허 출원에서 인용함).
5. 사용자는 팩스 기능을 선택할 수도 있다. 스크린에서는 사용자에게 팩스 번호를 입력하고 신용 카드를 삽입하고 관련 서류를 적절한 장치(예를들면 서류 슬롯(document slot)) 내로 팩스되도록 놓여지게 하고 준비가 되면 스크린 상의 OK 버튼을 누르도록 촉구할 것이다. 이 버튼이 터치되면, 내장 제어 프로그램(620)은 키오스크 상의 관련 장치 제어 API 기능(640A)을 불러와서, 스캐너를 동작시키고 서류를 스캐닝하고 서류를 제위치로 되돌려 보내고 네트워크(예를들면, PSTN 또는 인터넷)를 통해 전자적으로 서류를 전송할 것이다.
6. 사용자는 전자 메일 기능을 선택할 수도 있다. 스크린은 전자 메일에 대한 HTML 애플리케이션을 보여줄 것이다. 내장 제어 프로그램(620)은 관련 API 기능(640A)을 불러오거나 혹은 브라우저를 통해 메일 서버 및 디렉토리 서버와 직접 통신하여 사용자를 식별하고 기존의 전자 메일 메시지를 검색하거나 새로운 메시지를 전송할 수도 있다.
7. 사용자는 (105A)를 선택하여 매체 캐리어(예를들면, 플로피 디스켓) 상에 전자 파일을 전송할 수도 있다. 스크린은 사용자에게 소정의 프로세스(예를들면 슬롯 내에 플로피를 삽입하는 것)를 따르도록 촉구할 수도 있다. 내장 제어 프로그램(620)은 관련 API 기능(640A)을 불러와서 디스켓을 판독하고, 사용자가 선택한 파일(들)을 판독 또는 기록하고 이들을 사용자의 지시에 따라 전송(예를들면 소정의 사람의 이메일 어드레스로 전송)한다.
8. 사용자는 예컨대 변호사, 의사, 회계사, 부동산 중개인, 대출 브로커, 투자 조언자, 보험 대리인 등과 같이 광범위한 서비스 제공자(즉, 서버상의 애플리케이션 소유자) 중에서 서비스를 선택할 수도 있다. 스크린은 요구된 서비스를 전달하는, HTML 내의 대응하는 애플리케이션을 보여줄 것이다. (사용자의 선택에 근거하여, 이 서비스는 임의의 원시 언어, 예를들면 영어, 스페인어, 중국어, 일본어, 프랑스어, 이탈리아어 등으로 나타날 수 있다.)
9. 서비스 제공자의 애플리케이션에 따라, 비디오, 오디오, 공유 스크린 및 원격 장치 제어 기능과 함께 실시간 협력 세션이 또한 개시될 수 있다(전술한 핀 등의 특허 참조). 내장 프로그램은 관련 API 기능(620)을 불러와서 비디오, 오디오 및 데이터 통신을 처리한다.
10. 사용자는 정보를 서치(search)할 수도 있다. 스크린은 사용자에게 어떤 정보를 필요로 하는지를 질문하고 내장 제어 프로그램은 그 데이터를 포착하여 정보의 유형에 따른 질문을 전송한다. 이 질문은, 잘 알려진 탐색 엔진, 애플리케이션 서버 상의 데이터베이스, 그 밖의 다른 네트워크 서버 상의 데이터베이스를 이용하여 인터넷을 통해 전송될 수 있다.
11. 사용자는 주문에 따라 제작된 애플리케이션 서비스를 선택할 수 있다. 예를들면, (예를 들어, 마그네틱 또는 스마트 카드상에서 액세스되는 정보로부터) 일단 사용자가 식별되면, 애플리케이션 파일은 사용자를 위해 주문제작된 정보 및/또는 키오스크 구성을 제공한다.
12. 사용자는 초기에 키오스크에 의해 제공되지 않는 키오스크(100)의 구성을 선택할 수 있다. 키오스크의 제 1 구성과의 대화에 의해, 그 밖의 다른 애플리케이션 파일(175)을 참조하면서 제 2 구성을 갖는 키오스크를 재구성할 수 있다. 예를들면, 제 1 구성은 제 2 구성을 위한 애플리케이션 파일(175)을 액세스하는 사용자 입력(아이콘 또는 하이퍼링크)을 제공할 수도 있다.
13. 사용자는, 서버가 "교습(teaching)" 애플리케이션 파일(175)을 제공하고 있는 네트워크에 연결되는 하나 이상의 키오스크에 액세스할 수 있는 1인 이상의 학생 또는 훈련생일 수 있다.
14. 사용자는 키오스크로부터 "전자" 제품을 선택할 수 있다. 예를들면, 음악, 비디오, 컴퓨터 소프트웨어 및/또는 그 밖의 다른 멀티미디어 정보를 갖는 콤팩트 디스크(CD)가 적절한 분배 장치(dispensing device)로부터 분배될 수 있다. 선택적으로, 빈 매체(blank media)(예를들면, 테이프, 디스켓, 기록가능한 CD 등)가, 적절한 키오스크 장치에 의해 기록되어 무형의 형태로 사용자에게 네트워크를 통해 전송될 수 있는 임의의 "전자" 정보를 제공할 수 있다. 예를들면, 공장에서 가게로 CD "컷(cut)"을 운반하지 않고도 이러한 방식으로 최신 오페라 레코딩을 CD 상에 제공할 수 있다.
키오스크 장치로부터 정보를 입력하고 이로부터 정보를 출력하는데 사용되는 몇몇 키오스크 제어 메카니즘(640)을 나타내는 또다른 예를 이하에 나타낸다. 일반적인 입력 상황에서, 애플리케이션 파일(500)은 CallAPI.class로 명명된 내장 애플릿(620)을 가질 수도 있는데, 이는 API 기능(640) "hardkey_input"을 불러오는데 사용된다. 예를들면 다음과 같다.
그리고, 이 애플릿은 HTML 파일내에 다음과 같이 내장된다.
이 애플릿이 브라우저에 의해 실행될 때, 우선 kioskAppInterface로 명명된 클래스를 사례화한다. 이 파일 및 관련 DLL은 브라우저 표준 라이브러리 내에 위치된다. 그 후, send_APImessage()로 명명된 kioskAppInterface 클래스(640A)의 매쏘드를 이용해 API 메시지 "hardkey_input"(640A)를 전송한다. 이 매쏘드는 인터프로세스 통신 기능(640I)을 호출하여 이 메시지를 API 메카니즘(640B)에 전송한다. 그 후, API 메카니즘(640B)은 관련 로컬 API 기능(680)을 불러와서, 키오스크에 구비된 하드웨어 키로부터의 키 입력(들)을 포착한 다음, 이들을 인터프로세스 통신 기능(640I)을 통해 (640A)로 다시 전송한다. 애플릿은 "input" 커맨드와 함께 get_APImessage() 메쏘드를 이용하여, (640B)로부터 다시 전송되어온 데이터를 취하고, 이 데이터를 InputData로 명명된 클래스의 데이터 구조내에 저장한다.
640B의 네임 서버 기능에서,
애플리케이션 파일(500)이, "소프트 키(softkey)" 입력을 불러오는 내장 애플릿을 가질 경우, 유사한 API 메시지는 (640A)와 (640B) 사이에서 전달될 것이며, 상이한 API 기능(680)은 스크린 상의 소프트 키패드 윈도우를 "팝 업(pop-up)"하여 사용자 입력을 포착하는데 사용될 것이다. 이들 소프트 키 입력을 위한 API 기능(680)은 널리 알려져 있다.
유사하게, 애플리케이션 파일(500)이, 출력 장치(예를들면 레이저 프린터) 상에 파일을 프린트하도록 하는 내장 애플릿을 가질 경우, 전술한 코드는 로컬 API 기능(680), 즉 Laser_print(FileName)을 지시하여 레이저 프린터가 파일 "FileName"을 프린트하도록 제어할 것이다.
도 6a는 IPC(640I) 및 네임 서버 기능(640B)을 이용하는 키오스크 제어 메카니즘(640)의 일 실시예를 도시한 도면이다. 이 경우, 일반적인 통신(주로 메시지 전달) API 기능(640A)의 고정된 소규모 세트는 애플리케이션 파일(175, 500)에 의해 사용된다. 이들 통신 API 기능은 640A 및 640B 사이에서 통신하거나 혹은 메시지를 전달한다. 메시지의 실행은 (640B)에 있는 네임 서버 기능에 의해 행해진다. 서버 기능(640B)은 또한 IPC(640I) 서버로서 작용한다. 네임 서버 기능은 다양한 사전정의된 메시지를 인식한다. 예를들면, 일 실시예에서, 통신 API 기능 세트는 두 가지 기능을 갖는데, 그 중 하나는 send_message(메시지)이고 다른 하나는 get_message(메시지)이다. 그러나 다수의 "메시지"가 존재한다. 640B 내의 네임 서버 기능은 이들 사전정의된 메시지들 각각을 포함하는 리스트를 가지며, 사전정의된 메시지 각각은, 각각의 사전정의된 메시지를 실행하기 위해 적절한 로컬 API 기능(680)을 호출하는 로직 세트와 연관된다.
이 실시예에서, 이들 장치에 의해 수행되는 새로운 장치 및/또는 새로운 기능은, 이 새로운 기능을 수행하기 위한 새로운 사전정의된 메시지(들) 및 그에 필요한 로직을 제공함으로써 부가될 수 있다. 이러한 방식으로, 애플리케이션 파일(175, 500)은 소정의 통신 API 기능에서 단순히 새로운 메시지 식별자를 사용함으로써 이들 새로운 기능을 실행할 수 있다. 이는 통상 애플리케이션 파일(500)의 "ASCII" 또는 "텍스트" 메시지 식별자를 변화시키는 것만으로도 이루어진다. 새로운 기능을 사용하기 위해 새로운 내장 프로그램(들)을 코딩 또는 컴파일하거나 혹은 기존의 프로그램(들)을 변경할 필요가 없다. 따라서, 키오스크 제공자가 네임 서버(640B) 내의 필요한 로직을 조직하기 때문에, 애플리케이션 소유자(그러므로, 서버(들)상의 애플리케이션 파일들(175))는, 새로운 기능을 수행하기 위해 해야 할 일이 거의 없게 된다.
도 6B는 브라우저 메카니즘(640A)에서 로컬 API를 맵핑하기 위해 IPC(640I)를 사용하는 키오스크 제어 메카니즘(640)의 다른 실시예를 나타내는 블럭도이다. 이 경우, 애플리케이션 파일(500)로부터 브라우저 메카니즘(640A) 내의 대응하는 맵핑 로컬 API를 직접 호출함으로써, 많은 혹은 모든 키오스크 제어 기능(620)이 실행된다. 맵핑 로컬 API(640A) 각각은 IPC(640I)를 통해 API 메카니즘(640B)과 통신하며, 이 API 메카니즘(640B)은 그 후 적절한 로컬 API 기능(680)을 불러온다. 여기에서, 맵핑 로컬 API(640A)는 자바 API 프로그램이다. 하나 이상의 로컬 API(680)에 대해 구체적으로 기록된 하나의 자바 API 프로그램이 존재한다. 네임 서버의 경우와는 달리, 적어도 하나의 자바 API 프로그램은 하나 이상의 로컬 API(680)를 제어하기 위한 로직을 가져야 한다. 이들 자바 API 프로그램(640)은 사전정의된 것이며 애플리케이션 파일(500)에 알려져 있는 것이다.
이 실시예에서, 이들 장치에 의해 수행되는 새로운 장치 및/또는 새로운 기능은, 브라우저 메카니즘(640A) 내의 새로운 맵핑 로컬 API(640A)를 그에 대응하는 API 메카니즘(640B)에 제공함으로써 부가될 수 있다. 이 실시예에서, 애플리케이션 파일(500)은 직접적인 호출로 이들 새로운 기능 각각을 실행할 필요가 있다. 따라서, 새로운 기능을 수행하기 위한 로직의 일부 또는 모두가 애플리케이션 파일(500)에서 정의되어야 한다. 예를들면, 서버 상에서 애플리케이션 파일(500)을 설계하는 애플리케이션 프로그래머는 예를 들어 새로운 자바 애플릿을 기록함으로써 이 로직을 코딩해야 한다.
도 6c는 키오스크 제어 메카니즘(640)의 다른 실시예를 나타내는 도면이다. 이 실시예에서는, IPC(640I)가 존재하지 않으며, 이에 따라 API 메카니즘(640B)은브라우저 메카니즘(640A) 내로 병합된다. 그러나, 네임 서버 기능(역시 병합됨)은 여전히 사용되며 통신 API 세트와 결합되어 브라우저 메카니즘(640B, 640)으로 된다. 이 실시예에서, 일단 애플리케이션 파일(500)(애플릿을 포함함)이 브라우저(160)에 의해 "드롭(drop)"(더 이상 실행되지 않음)되면 로컬 기능(680)이 종료하기 때문에 지속성이 상실된다. 이 실시예는 지속성이 요구되지 않는 경우에 유용한데, 예를들면 브라우저에 의해 제어되는 스크린을 제외하고는 어떠한 키오스크 장치도 관련되지 않는 경우에 유용하다.
도 6d는 키오스크 제어 메카니즘(640)의 다른 실시예를 나타내는 도면이다. 이 실시예에서는, IPC(640I) 및 API 메카니즘(640B)이 전혀 존재하지 않는다. 여기에서, 애플릿은 API 기능(640, 640A)을 직접 호출하고, 이 API기능은 로컬 API 기능(680)을 직접 호출한다. 여기서 API 기능(640)은 자바 API 프로그램이다. 하나 이상의 로컬 API(680) 각각에 대해 구체적으로 기록된 하나의 자바 API 프로그램이 존재한다. 네임 서버의 경우와는 달리, 적어도 하나의 자바 API 프로그램은, 하나 이상의 로컬 API(680)를 제어하기 위해 로직을 가져야 한다. 이들 자바 API 프로그램(640)은 사전정의된 것이며 애플리케이션 파일(500)에 알려져 있다. 이 실시예에서 지속성은 또한 상실된다.
도 7은 키오스크에 의해 수행되는 실행 프로세스(700)의 흐름도이다.
브라우저(160)는 우선 애플리케이션 파일(175)로부터 (HTML) 파일(500)을 얻는다(단계 705). 그 후 브라우저(160)는 애플리케이션 파일(500)의 태그 및 내용을 해석한다(단계 710). 브라우저(160)가 로컬 API 호출을 만나지 않을 경우(단계715), 브라우저는 태그를 실행하기 위해 관련된 공지의 조치를 취한다(단계 720). 브라우저가 로컬 API 호출을 만날 경우(단계 715), 브라우저는 관련 API 기능(640 또는 640A)을 불러올 것이다(단계 725).
바람직한 일 실시예에서, 브라우저 메카니즘(640A)은 인터프로세스 통신 기능(640I)을 통해 API 메카니즘(640B)과 메시지를 주고 받는다(단계 730). 선택적으로, 메시지 서버가 전술한 바와 같이 이용된다. API 메카니즘(640B)은 메시지를 수신하여 관련 로컬 기능(680)을 불러온다(단계 735). 그 후, API 메카니즘(640B)은 로컬 기능의 실행 결과로서 인터프로세스 기능(640I)을 통해 브라우저 메카니즘(640A)과 메시지를 주고 받는다(단계 740).
브라우저는, 스크린 입력, 내장 제어 프로그램 로직, 또는 외부 브라우저 제어 기능(660)을 통해 다음 HTML 파일을 요구하도록 제어된다(단계 750). 따라서, 브라우저는 로컬 키오스크 장치로서 취급될 수 있다. 따라서, 브라우저는, 로컬 API(660)를 이용하여 공지의 브라우저 인터페이스(API(681))에 액세스함으로써 네트워크를 통해 하나 이상의 서버로부터 임의의 특정한 HTML 파일을 로드하도록 제어될 수 있다. 로컬 API(660)는 내장 제어 프로그램(620)이 브라우저 인터페이스(681)를 액세스하도록 설계된다(전술한 내용 참조).
도 8은 네트워크 상의 하나 이상의 서버 상에서 실행되는 서버 프로세스(800)의 흐름도이다. 서버는 하나 이상의 키오스크로부터 네트워크를 통해 요구를 수신한다(단계 810). 그 요구는 키오스크가 어떤 애플리케이션 파일(175)을 선택/액세스하는지 식별한다. 그 요구는 또한 애플리케이션 파일을 요구/액세스하는 키오스크(100)의 위치를 갖는다. 이 요구를 수신하였을 때, 서버는 요구된 애플리케이션 파일(들)(175)을 키오스크에 전송한다(단계 820). 애플리케이션 파일(들)(175)은 사전에 만들어지거나 혹은 서버 상의 로직에 의해 동적으로 생성될 수 있다.
다른 실시예에서, 키오스크는 프록시 서버(proxy server)(195A)에게 요구를 전송한다(단계 810). 프록시 서버(195A)는, 전형적으로 서버(195)보다 키오스크에 더 가까이 위치된다. 선택적으로, 프록시 서버(195A)는 키오스크(100/200) 내의 컴퓨터(110) 상에 위치될 수 있다. 예를들면, 서버(195)는 제 1 도시, 예를들면 본부 위치(headquarters location)에 배치될 수 있으며, 반면에 프록시 서버(195A)는 다른 도시에 있는 키오스크(들)에 연결되는 LAN 상에 위치된다. 프록시 서버(195A)는, 키오스크가 사전정의된 스케줄에 따라 요구할 수도 있는 많은 혹은 모든 애플리케이션 파일(175)에 대한 요구를 네트워크(150)를 통해 서버에게 전송할 수 있다. 이러한 방식으로, 키오스크는, 애플리케이션 파일이 요구될 때 프록시 서버(195A) 상의 애플리케이션 파일(175)에 더 빠르고 더욱 신뢰성있게 액세스할 것이다. 또한, 프록시 서버는, 네트워크 상의 "오프 피크(off peak)" 시간 동안 서버(195)로부터 애플리케이션 파일(175)을 요구할 수도 있다.
다른 실시예에서, 서버(195, 195A)는 서버(195)에 의해 식별되는 하나 이상의 키오스크로 정보를 "푸시(push)"하는 데 사용될 수 있다. 예를들면, 단계(810)에서, 서버(195)측에서 요구가 개시된다. 이러한 개시(810)는 여러 이유로 유발될 수 있다. 예를들면, 애플리케이션을 갱신하는데 있어서, 하나 이상의 키오스크가새로운 애플리케이션 파일(175)로 재구성될 것이 요구될 수도 있다. 선택적으로, 매일 특정 시간에 요구되는 새로운 구성이 존재할 수도 있는데, 즉 여러 공급원으로부터 뉴스가 매일 오후 5시에 제공될 수도 있다. 서버는 또한 키오스크의 주기적인 "검사(inspection)"를 "푸시"하여서 어떤 키오스크가 유지보수(maintenance)를 필요로 하는지 판단할 수도 있다.
이 실시예를 바람직하게 구현하는데 있어서, 키오스크에서 동작하는 "서버 푸시 기능"(685)을 사용한다. 서버 푸시 기능(685)은 네트워크(150)에 연결되며, 서버(195)로부터 메시지를 수신할 수 있다. 서버 푸시 기능(685)은 또한 브라우저 인터페이스(681)에 액세스할 수 있다. 서버(195)는 서버 푸시 기능(685)으로 요구를 전송하여서 브라우저로 하여금 서버(195)로부터 특정 애플리케이션 파일(500)을 요구하도록 한다.
도 9는, 내장 제어 프로그램이 자바 대신에 Activex 기법을 사용할 때의 메카니즘을 나타낸 블럭도이다. Activex 제어 객체는, C++ 또는 비주얼 베이직(Visual Basic) 혹은 자바와 같은 여러 프로그래밍 언어를 사용하여 구현될 수 있다. Activex 객체는 HTML 파일 내에 내장될 수 있다. 예를들면, 다음과 같다.
이 경우, 브라우저는 Activex-인에이블되어야 하는데, 즉 Activex 기법을 지원해야 한다. 하나의 바람직한 실시예에서, 브라우저는 마이크로소프트 인터넷 익스플로러이다.
애플리케이션 파일(500)이 브라우저(160)에 도달하면, HTML 파일은 그 태그 및 내용에 근거하여 해석된다(단계 910). 전술한 자바의 경우에서처럼, 브라우저는 비 API 제어 기능을 실행할 것이다(단계 920). 브라우저에 의해 실행되는(단계 930) API 제어 기능은 API를 직접 불러온다(단계 940). 자바의 경우와 유사하게, API의 제 1 부분(940A)은 인터프로세스 통신 기능(940I)(예를들면, 640I)을 통해 API의 제 2 부분(940B)(예를들면, 640B)과 통신하며 이는 그 후 로컬 API 기능(680)을 호출한다.
Activex와 이전의 자바 경우의 상위점은, Activex가 C++ 또는 비주얼 베이직과 같은 비-네트워크(non-network) 언어로 기록된 객체를 포함할 수 있다는 점이다. 이러한 언어로 된 객체는 실행가능한 코드로 브라우저에게 다운로드된다. 따라서, 이러한 객체는 동일한 언어로 기록된 로컬 프로그램이 할 수 있는 모든 것을 할 수 있지만, 자바 애플릿이 가지고 있는 보안 한계를 가지고 있지 않다. 따라서, 내장 제어 프로그램(620)이 자바 언어를 이용하지 않고 Activex 제어로서 기록될 경우, API 기능(940)은 키오스크 내의 어느 장소에나 놓여질 수 있다. 자바가 Activex 객체에서 사용될 경우, 전술한 메카니즘을 여전히 사용해야 한다.
도 9a-9d에서, 이전에 설명한 번호를 갖는 박스는 전술한 것과 동일한 기능을 갖는다.
도 9a는 IPC 및 네임 서버 기능을 이용하는 키오스크 제어 메카니즘(940)의 일 실시예를 도시하는 도면이다. 브라우저 메카니즘(940A)은 원시 언어 API로서, 브라우저 디렉토리 내에 위치될 필요는 없으며, 키오스크의 메모리 내, 예를들면 시스템 디렉토리 내의 임의의 장소에 위치될 수 있다. 그러나, 브라우저 메카니즘(940A)의 경로(즉, 위치)는 애플리케이션 파일(500)에 알려져야 한다.
도 9B는 매핑 로컬 API를 갖는 IPC(640I)를 이용하는 다른 실시예의 키오스크 제어 메카니즘의 블럭도이다. 도 6B에서 처럼, 하나 이상의 로컬 APIs(680)와 관련하여 적어도 하나의 브라우저 메카니즘(940)이 존재한다.
도 9C는 IPC(640I)를 갖지 않는 다른 실시예의 키오스크 제어 메카니즘(940)을 도시한다. 여기에서 브라우저 메카니즘(940A)은 도 9A에서 논의된 것처럼 위치될 수 있다.
도 9D는 제어가 자바로 구현되지 않을 때 ActiveX를 이용하는 다른 실시예의 키오스크 제어 메카니즘을 도시한다. 이 실시예에서는, 내장 ActiveX 제어가 로컬 APIs(680)를 직접 호출할 수 있기 때문에 브라우저 메카니즘(940)이 필요없다. 이 경우, 실행의 지속성(the persistence of execution)이 없어진다.
도 10은 흔히 말하는 플러그-인 기법을 이용하는 또다른 키오스크 제어 메카니즘을 도시한다. 이 경우, 바람직한 실시예에 따르면 네스케이프 내비게이터 v3.0 혹은 그 이상 버전(version)의 브라우저(160)가 이용된다.
여기에서, 제어 메카니즘(1040)은 애플리케이션 파일/파일(175, 500)의 키오스크 제어 프로그램(620)에 의해 액세스되는 브라우저 메카니즘(플러그-인 모듈 및관련 자바 래퍼(Java wrapper))(1040A)을 포함한다. 액세스되면, 플러그-인 모듈(1040A)은 브라우저(160)의 일부로서 실행된다. 실행중인 플러그-인 모듈(1040A)은 차례로 인터프로세스 통신 기능(1040I)을 호출한다. 이 인터프로세스 통신 기능(IPC)(1040I)은 전술한 IPCs(640I, 940I)와 동일한 것이 될 수 있다. IPC(1040I)는 차례로 API 메카니즘(1040B)과 통신하여, 로컬 APIs(680)를 호출한다. API 메카니즘(1040B)은 전술한 것(640B, 940B)과 동일한 것이 될 수 있다.
이 실시예에서, 브라우저 메카니즘(1040A)은 플러그-인 기법으로 구현된다(잔 올리판트(Zan Oliphant)의 "Programming Netscape Plug-ins", Sams.net Publishing, 1996, ISBN 1-57521-098-3을 참조할 것). 플러그-인 기법은 네가티브 코드 모듈을 이용하는데, 즉, C 또는 C++ 혹은 그와 유사한 프로그래밍 언어를 이용해서 구현되며, 더 나아가 더욱 바람직한 실시예로서 자바 래퍼로 구현된다. 플러그-인(1040A)은 브라우저(160)가 지정하는 특정 플러그-인 디렉토리내에 위치된다. HTML 인터프리터(610)가 해당 내장 파일 고유의 파일명 확장자로 각각의 플러그-인(1040A)을 식별하는 내장 파일(620)(흔히 다목적 인터넷 메일 확장형(MIME;Multipurpose Internet Mail Extension)으로 불림)과 만나면, 플러그-인(1040A)은 브라우저(160)에 동적으로 로드된다.
내장 키오스크 제어 프로그램(620)은 1) 자바스크립트 기능, 2) 자바 애플릿 및/또는 3) 고유 확장자를 갖는 (MIME) 파일에 포함되는 사전정의된 일련의 제어 스크립트일 수 있다.
브라우저(160)가 플러그-인 모듈(1040A)을 로드하면, 플러그-인(1040A)은 HTML 문서를 활용할 수 있게 되는데, 즉, 플러그-인의 기능들(플러그-인 기능들)이 내장 프로그램(620)에 대해 활용가능해져서, 예를들면, 자바스크립트 기능 또는 자바 애플릿 기능을 호출할 수 있다. 이러는 동안, 키오스크 로컬 APIs(680)는 하나 이상의 대응 플러그-인(1040A)을 통하여 어떤 소정의 내장 프로그램(620)에 의해 제어될 수 있다. 다시 말하면, 플러그-인 모듈(1040A)은 대응 API 메카니즘(1040B)을 통해 키오스크 로컬 API(680)를 호출하기 위해 IPC 기능(1040I)을 호출할 것이다.
이제 세 가지 예가 제공될 것이지만, 반드시 이 예들에 한정되는 것은 아님을 유의하자.
예 1은 메시지 전달 기능을 제공하는 플러그-인 모듈(1040A)을 구비하는 내장 키오스크 제어 프로그램(1030)으로서 자바스크립트 기능을 이용한다.
제어 프로그램(1030)을 갖는 애플리케이션 파일(175)은 다음과 같다.
자바 애플릿 "MYPPLET.Java"는 다음과 같은 코드를 포함할 것이다.
자바 래퍼 파일 PluginWrapper.java은 다음 코드를 포함할 것이다.
전술한 내장 제어 프로그램(1030)과 관련된 플러그-인 모듈(1040A)은 예를들면 C++같은 원시 언어 코드로 구현되는 메쏘드 SendMsg()를 제공할 것이다.
예 2는 메시지 전달 기능을 제공하는 플러그-인 모듈(1040A)을 갖는 내장 키오스크 제어 프로그램(1030)으로서 자바 애플릿을 직접 이용한다.
제어 프로그램(1030)을 갖는 애플리케이션 파일(175)은 다음과 같다.
자바 애플릿 "MYAPPLET.Java"는 다음과 같은 코드를 포함한다.
자바 래퍼 파일 PluginWrapper.java은 다음 코드를 포함할 것이다.
예 1에서와 마찬가지로, 전술한 내장 제어 프로그램(1030)과 관련된 플러그-인 모듈(1040A)은 예를들면, C++같은 원시 언어 코드로 구현되는 메쏘드 SendMsg()를 제공할 것이다.
예 3은 일련의 사전정의된 제어 스크립트를 포함하는 내장 파일(1030)과, 키오스크 로컬 APIs(680)를 제어하는 스크립트를 해석 및 실행하는 대응 플러그-인 모듈(1040A)을 이용한다.
내장 파일(1030)을 갖는 애플리케이션 파일(175)은 다음과 같을 수 있다.
반면에 플러그-인 모듈(1040A)은 다음 코드로 이루어질 수 있을 것이다.
전술한 이들 세 가지 플러그-인 기능들 모두는 네스케이프 브라우저(160)에 의해 제공되는 표준 플러그-인 APIs를 구현한다. 브라우저(160)에 의해 제공되는 그 밖의 플러그-인 APIs는 본원에서 사용되지 않는다.
<embed> 태그(tag)가 HTML 인터프리터(610)에 의해 해석될 때, 파일(1030) 즉 MSGPASS.MET는 로컬 디스크로 다운로드되고, 대응 플러그-인 모듈(1040A)은 브라우저(160)로 이미 로드되지 않은 경우에 브라우저(160)로 로드된다. 브라우저(160)는 플러그-인 API NPP_New()를 자동적으로 호출하여, 플러그-인 사례(instance)를 형성하고, 파일을 실행하는 다운로드된 파일의 파일명을 갖는 플러그-인 API NPPStreamAsFile()을 호출한다. 필요하다면, 브라우저(160)는 플러그-인 API NPP_Destroy()를 호출하여 플러그-인 사례를 무효화할 것이다.
클래스 KioskIPC와 기능 InterpretFile()은 내장 파일의 사전정의된 스크립트를 해석 및 실행하기 위해 예컨대 C++같은 원시 언어를 이용하여 구현될 수 있다. 이런 점에서, 스크립트를 파싱(parsing)하고 필요한 기능들을 어느 정도의 성능으로 실행할 수 있도록 기능 InterpretFile()이 구현되는 한, 스크립트는 어떤 스크립트이든지 제한받지 않는다. 일 예를들면 다음과 같다.
내장 파일에서, 스크립트는 다음과 같을 수 있다.
그리고, 기능 InterpretFile()은 다음과 같은 코드를 포함한다.
플러그-인 모듈(1040A)은 또한 자신의 기능들과 관련해 대화형 제어를 실현하기 위해 브라우저(160) 윈도우상에 몇 개의 버튼들을 생성할 수 있다. 예를들면, "PrintCurrentPage" 메시지를 전송하는 SendMsg() 기능을 호출하기 위해 "Print" 버튼을 생성하고, 이 버튼이 터치 혹은 클릭되기를 기다리 수 있다. 또한 <embed> 태그는 플러그-인 모듈(1040A)의 구현에 따라 플러그-인 모듈(1040A)을 제어하는 사전정의된 일련의 파라미터들을 포함할 수 있다. <embed> 태그의 이용 방법 및 플러그-인 모듈의 구현 방법과 관련한 더 많은 정보는 "HTML publishing for Netscape"(Stuart Harris 및 Gayle Kidder 공저, ISBN1-56604-288-7)와, 전술한 잔올리판트(Zan Oliphant)의 저서를 참조하기 바란다.

Claims (110)

  1. 하나 이상의 주변 입력/출력 장치 및 그와 관련된 드라이버 프로그램을 구비하는 전자 키오스크(electronic kiosk)를 네트워크를 통해 재구성하는 서버에 있어서,
    ① 상기 네트워크에 접속하는 수단과,
    ② 키오스크상에서 수행될 애플리케이션을 정의하는 하나 이상의 파일들과, 상기 드라이버 프로그램의 서브세트를 선택할 수 있는 적어도 하나의 내장 제어 기능(embedded control function)을 포함하는 적어도 하나의 구성 세트를 제공하는 수단과,
    ③ 상기 네트워크에 접속되어 있는 키오스크에 대한 구성 요구를 수신하는 수단과,
    ④ 상기 요구에 응답하여, 상기 적어도 하나의 구성 세트를 상기 네트워크를 통해 상기 키오스크로 전송하여, 상기 드라이버 프로그램의 서브세트가 자신과 관련된 상기 주변장치의 서브세트를 제어하도록 함으로써, 상기 키오스크를 상기 애플리케이션을 수행하도록 구성하는 수단
    을 포함하는 서버.
  2. 제 1 항에 있어서,
    상기 구성 요구는, 구성될 키오스크로부터 유래되는 서버.
  3. 제 1 항에 있어서,
    상기 구성 요구는 관리자 컴퓨터로부터 유래되는 서버.
  4. 제 1 내지 3 항중 어느 한 항에 있어서,
    상기 적어도 하나의 구성 세트는 원격 장치 제어, 원격 메시지 디스플레이, 파일 전송 및 관리자/클라이언트 협력(an agent/client collaboration)중 어느 하나를 포함하는 서버.
  5. 제 1 항에 있어서,
    상기 적어도 하나의 내장 제어 기능은 키오스크의 하나 이상의 로컬 키오스크 기능들의 동작 상태를 결정하는 시스템 모니터링 프로그램을 포함하는 서버.
  6. 제 5 항에 있어서,
    상기 동작 상태는, 하나 이상의 주변장치에 필요한 유지보수(maintenance)와, 하나 이상의 주변장치에 대한 유지보수 내력(maintenance history)과, 하나 이상의 상기 요구들에 응답하기 위해 상기 네트워크상에 어떤 애플리케이션 파일들이 제공되는지와, 그리고 1인 이상의 키오스크 사용자에 대한 마케팅 정보(marketing information)중 하나 이상을 결정하기 위해 이용되는 서버.
  7. 제 5 항 또는 제 6 항에 있어서,
    상기 동작 상태는, 상기 서버가 상기 네트워크상에서 어떤 구성 세트들을 상기 키오스크에게 제공할 것인지를 결정하는 서버.
  8. 제 1 항에 있어서,
    상기 적어도 하나의 구성 세트는, 하이퍼텍스트 성분을 갖거나 갖지 않는 하나 이상의 HTML 파일을 포함하는 서버.
  9. 제 1 항에 있어서,
    상기 애플리케이션은 키오스크에서 사용자에 대해 특별히 제작된 애플리케이션인 서버.
  10. 제 1 항에 있어서,
    상기 애플리케이션 프로그램은 상기 적어도 하나의 구성 세트에 의해 구성된 키오스크를 통해 인터넷에 대한 액세스를 제공하는 서버.
  11. 제 10 항에 있어서,
    상기 인터넷에 대한 액세스는 하나 이상의 지정된 서버를 통해 1인 이상의 사용자 사이에 통신 링크를 제공하는 서버.
  12. 제 1 항에 있어서,
    상기 애플리케이션은 전화 통화, 전자 우편, 원격 전자 회의(a teleconference), 팩스 전송, 트레이닝 세션(a training session), 네트워크상에서의 정보 탐색 및 웹 기반 협력중 하나 이상을 포함하는 서버.
  13. 제 1 항에 있어서,
    상기 애플리케이션은 상기 적어도 하나의 구성 세트에 의해 구성된 키오스크에서 사용자에게 정보를 제공하는 서버.
  14. 제 1 항에 있어서,
    상기 적어도 하나의 내장 제어 기능에 의해 키오스크는 하나 이상의 상기 구성 세트를 요구할 수 있게 되는 서버.
  15. 하나 이상의 주변 입력/출력 장치 및 그와 관련된 드라이버 프로그램을 각기 구비하는 하나 이상의 전자 키오스크에 접속되어 있는 서버를 네트워크를 통해 작동하는 방법에 있어서,
    ① 키오스크상에서 수행될 애플리케이션을 정의하는 하나 이상의 파일들과, 키오스크에서 상기 드라이버 프로그램의 서브세트를 선택할 수 있는 적어도 하나의 내장 제어 기능을 포함하는 적어도 하나의 구성 세트를 제공하는 단계와,
    ② 상기 네트워크에 접속되어 있는 키오스크에 대한 구성 요구를 수신하는 단계와,
    ③ 상기 요구에 응답하여, 상기 적어도 하나의 구성 세트를 상기 네트워크를 통해 상기 키오스크로 전송하여, 상기 드라이버 프로그램의 서브세트가 자신과 관련된 상기 주변장치의 서브세트를 제어하도록 함으로써, 상기 키오스크를 상기 애플리케이션을 수행하도록 구성하는 단계
    를 포함하는 서버 작동 방법.
  16. 키오스크에 있어서,
    네트워크로부터 하나 이상의 파일들로 이루어진 하나 이상의 구성 세트를 액세스하는 수단 ― 상기 파일들중 적어도 하나는 내장 제어 기능을 구비함―과,
    브라우저 API 기능을 호출하기 위해 상기 키오스크 상에서 실행되는 브라우저에 의해 상기 내장 제어 기능을 실행하는 수단을 포함하되,
    상기 내장 제어 기능은 상기 브라우저 API 기능으로 하여금, 하나 이상의 API 프로그램들의 서브세트를 선택하고 이와 통신하여, 상기 구성 세트와 연관된 애플리케이션이 수행되도록 상기 키오스크 상의 입력/출력 장치의 연관된 서브세트를 선택 및 구성하게 하며,
    상기 API 프로그램의 상기 서브세트는 상기 브라우저에 대해 외부에서 실행되는
    키오스크.
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 키오스크에 있어서,
    하나 이상의 입력/출력 장치와,
    상기 입력/출력 장치의 각각을 구동하는 하나 이상의 로컬 프로그램과,
    상기 개개의 로컬 프로그램과 연관된 하나 이상의 애플리케이션 프로그래밍 인터페이스(API)와,
    하나 이상의 네트워크 접속을 통해 네트워크로부터 하나 이상의 파일을 구비하는 하나 이상의 구성 세트를 페치하는 브라우저를 포함하되,
    상기 구성 세트들 중 하나 이상은 적어도 하나의 내장 제어 기능을 구비하고, 상기 구성 세트들 중 하나 이상과 상기 내장 제어 기능들 중 하나 이상이 키오스크 애플리케이션과 연관되며,
    상기 내장 제어 기능은 하나 이상의 브라우저 API 프로그램을 호출하기 위해 상기 브라우저에 의해 실행되고,
    상기 내장 제어 기능은 상기 브라우저 API 프로그램으로 하여금, 하나 이상의 API 프로그램들의 서브세트를 선택하고 이와 통신하여, 상기 키오스크 애플리케이션이 수행되도록 상기 키오스크 상의 입력/출력 장치의 연관된 서브세트를 선택 및 구성하게 하며,
    상기 API 프로그램들의 상기 서브세트는 상기 브라우저에 대해 외부에서 실행되는
    키오스크.
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 제 45 항에 있어서,
    상기 브라우저 API와 상기 API 프로그램의 상기 서브세트 간의 통신은, 인터프로세스 통신 프로그램, 메시지 전달 프로그램, 네임 서버 기능, 로컬 API와 통신하는 API 프로그램 메카니즘 중 어느 하나를 통해 이루어지는 키오스크.
  51. 키오스크에 있어서,
    네트워크에 대한 하나 이상의 접속과,
    하나 이상의 파일 및 적어도 하나의 내장 제어 기능을 구비하는 하나 이상의 구성 세트를 포함하되,
    상기 구성 세트들 중 하나 이상과 상기 내장 제어 기능들 중 하나 이상이 애플리케이션과 연관되며,
    상기 내장 제어 기능은 상기 키오스크 상의 입력/출력 장치의 서브세트와 연관된 하나 이상의 API 프로그램들의 서브세트를 선택하기 위해 상기 키오스크의 브라우저에 의해 실행되고,
    상기 내장 제어 기능은 또한, 상기 애플리케이션과 상기 하나 이상의 API 프로그램들의 상기 서브세트 간의 통신을 통해 상기 입력/출력 장치의 서브세트를 재구성함으로써, 상기 키오스크가 상기 애플리케이션을 수행하도록 구성되도록 하며,
    상기 입력/출력 장치의 상기 서브세트 및 상기 애플리케이션은 이전 애플리케이션 및 이와 연관된 상기 키오스크 상의 입력/출력 장치의 이전 서브세트와는 상이한 것인
    키오스크.
  52. 삭제
  53. 삭제
  54. 삭제
  55. 삭제
  56. 삭제
  57. 삭제
  58. 삭제
  59. 제 45 항에 있어서,
    상기 입력/출력 장치의 상기 연관된 서브세트로 구성되는 하나 이상의 키오스크 로컬 기능의 동작 상태를 결정하기 위한 시스템 모니터링 프로그램을 더 포함하는 키오스크.
  60. 삭제
  61. 제 45 항에 있어서,
    상기 브라우저는 개개의 장치 드라이버를 동작시키는 방법을 결정하기 위해 하나 이상의 로컬 키오스크 기능 중 어느 것이 상기 입력/출력 장치의 상기 연관된 서브세트로 구성되는 지를 결정하도록 하는 요구를 수신하는 키오스크.
  62. 제 45 항에 있어서,
    상기 네트워크은 인터넷, 월드 와이드 웹, 인트라넷, 전화망, 케이블 네트워크, ISDN 네트워크, 회사 네트워크, 정부 네트워크, 교육 네트워크 및 1인 이상의 소매상에 의해 이용되는 네트워크중 하나 이상이 될 수 있는 키오스크.
  63. 제 45 항에 있어서,
    상기 파일들은 하이퍼텍스트 성분을 갖거나 갖지 않는 HTML 파일들인 키오스크.
  64. 제 45 항에 있어서,
    상기 애플리케이션은 금융 애플리케이션인 키오스크.
  65. 삭제
  66. 제 45 항에 있어서,
    상기 애플리케이션은 사용자에 대해 특별히 제작된 전용 애플리케이션인 키오스크.
  67. 제 45 항에 있어서,
    상기 애플리케이션 프로그램은 상기 인터넷에 대한 액세스인 키오스크.
  68. 삭제
  69. 삭제
  70. 삭제
  71. 제 45 항에 있어서,
    상기 애플리케이션은 통신 애플리케이션인 키오스크.
  72. 삭제
  73. 제 45 항에 있어서,
    상기 애플리케이션은 서비스 애플리케이션인 키오스크.
  74. 삭제
  75. 제 45 항에 있어서,
    상기 애플리케이션은 유형 매체(a tangible medium)에 정보를 제공하는 것인 키오스크.
  76. 제 45 항에 있어서,
    상기 애플리케이션은, 스케줄, 메뉴, 좌석 배정, 지도, 하나 이상의 소프트 키, 서식 용지, 광고 및 물품 이미지중 하나 이상을 포함하고 있는 멀티미디어 정보를 담고있는 웹 페이지를 상기 디스플레이가 제공하도록, 상기 디스플레이를 구성하는 키오스크.
  77. 제 45 항에 있어서,
    상기 입력/출력 장치의 상기 서브세트는 프린터를 포함하고, 상기 애플리케이션은 영수증, 수표, 웹 페이지, 쿠폰, 티켓, 승차권(a pass) 및 서식 용지(a form)중 어느 하나를 프린트하도록 상기 프린터를 구성하는 키오스크.
  78. 제 45 항에 있어서,
    상기 입력/출력 장치의 상기 서브세트는 공중 전화가 되도록 상기 애플리케이션에 의해 구성되는 마이크로폰, 스피커 및 전화기 세트중 하나 이상을 포함하는 키오스크.
  79. 제 45 항에 있어서,
    상기 입력/출력 장치의 상기 서브세트는 화상 회의 단말기가 되도록 상기 구성 세트에 의해 구성되는 마이크로폰, 스피커 및 화상 회의 시스템을 포함하는 키오스크.
  80. 제 45 항에 있어서,
    상기 입력/출력 장치의 상기 서브세트는 사용자, 키오스크 주변 광경 및 도큐먼트중 하나 이상의 사진을 찍도록 상기 애플리케이션에 의해 구성되는 카메라를 포함하는 키오스크.
  81. 제 45 항에 있어서,
    상기 입력/출력 장치의 상기 서브세트는 저장 매체에 기록하는 매체 기록기를 포함하고, 상기 애플리케이션은 음악, 소프트웨어, 텍스트, 그래픽, 교육자료 및 멀티미디어 정보중 어느 하나를 기록하도록 상기 매체 기록기를 구성하는 키오스크.
  82. 제 45 항에 있어서,
    상기 입력/출력 장치의 상기 서브세트는 기록 매체(a recorded media)를 판독할 수 있는 매체 판독기를 포함하되, 상기 매체 판독기는 상기 기록 매체상에 기록된 정보를 입력하도록 상기 구성 세트에 의해 구성되는 키오스크.
  83. 삭제
  84. 제 45 항에 있어서,
    상기 제어 프로그램은 자바 애플릿인 키오스크.
  85. 삭제
  86. 제 45 항에 있어서,
    하나 이상의 상기 내장 제어 기능은 ActiveX 제어인 키오스크.
  87. 제 45 항에 있어서,
    하나 이상의 상기 내장 제어 기능은 플러그-인 제어(a plug-in control)인 키오스크.
  88. 키오스크를 구성하는 방법에 있어서,
    네트워크로부터 하나 이상의 파일들로 이루어진 하나 이상의 구성 세트를 액세스하는 단계 ― 상기 파일들중 적어도 하나는 내장 제어 기능을 구비함―와,
    브라우저 API 기능을 호출하기 위해 상기 키오스크 상에서 실행되는 브라우저에 의해 상기 내장 제어 기능을 실행하는 단계를 포함하되,
    상기 내장 제어 기능은 상기 브라우저 API 기능으로 하여금, 하나 이상의 API 프로그램들의 서브세트를 선택하고 이와 통신하여, 상기 구성 세트와 연관된 애플리케이션이 수행되도록 상기 키오스크 상의 입력/출력 장치의 연관된 서브세트를 선택 및 구성하게 하며,
    상기 API 프로그램의 상기 서브세트는 상기 브라우저에 대해 외부에서 실행되는
    를 포함하는 키오스크 구성 방법.
  89. 삭제
  90. 서버에 있어서,
    네트워크에 대한 하나 이상의 접속부― 상기 접속부를 통해 하나 이상의 요구가 수신됨―와,
    애플리케이션과 연관되어 있으며, 하나 이상의 파일들 및 적어도 하나의 내장 제어 기능을 구비하는 하나 이상의 구성 세트를 포함하되,
    상기 내장 제어 기능은 하나 이상의 드라이버 프로그램의 드라이버 서브세트를 선택하고 상기 드라이버 서브세트와 통신하여, 상기 드라이버 프로그램이 하나 이상의 로컬 키오스크 기능의 장치 서브세트를 제어하도록 함으로써, 하나 이상의 키오스크가 상기 애플리케이션을 수행하도록 구성되도록 하는
    서버.
  91. 제 90 항에 있어서,
    상기 요구는, 구성될 키오스크로부터 유래된 것인 서버.
  92. 제 90 항에 있어서,
    상기 요구는 관리자 컴퓨터로부터 유래된 것인 서버.
  93. 제 90 항에 있어서,
    상기 구성 세트는 원격 장치 제어, 원격 메시지 디스플레이, 파일 전송 및 관리자/클라이언트 협력중 어느 하나를 포함하는 서버.
  94. 제 90 항에 있어서,
    하나 이상의 상기 내장 제어 기능은 하나 이상의 키오스크의 하나 이상의 상기 로컬 키오스크 기능들의 동작 상태를 결정하는 시스템 모니터링 프로그램인 서버.
  95. 제 94 항에 있어서,
    상기 동작 상태는, 하나 이상의 주변장치에 필요한 유지보수(maintenance)와, 하나 이상의 주변장치에 대한 유지보수 내력(maintenance history)과, 하나 이상의 상기 요구들에 응답하기 위해 상기 네트워크상에 어떤 애플리케이션 파일들이제공되는지와, 그리고 1인 이상의 키오스크 사용자에 대한 마케팅 정보(marketing information)중 하나 이상을 결정하기 위해 이용되는 서버.
  96. 제 94 항에 있어서,
    상기 동작 상태는, 상기 서버가 상기 네트워크상에 어떤 구성 세트를 제공할 것인지를 결정하는 서버.
  97. 제 90 항에 있어서,
    상기 구성 세트은, 하이퍼텍스트 성분을 갖거나 갖지 않는 하나 이상의 HTML 파일을 포함하는 서버.
  98. 제 90 항에 있어서,
    상기 애플리케이션은 금융 애플리케이션인 서버.
  99. 제 98 항에 있어서,
    상기 금융 애플리케이션은 사용자에게 금융 정보 제공, 예금 계좌 개설, 현금 지급, 어음 지불, 대출 신청, 예금, 저당 설정, 대출 상환, 저당 변제, 금융 조언, 하나 이상의 자산 거래 및 관리자의 도움중 하나 이상을 포함하는 서버.
  100. 제 90 항에 있어서,
    상기 애플리케이션은 사용자에 대해 특별히 제작된 애플리케이션인 서버.
  101. 제 90 항에 있어서,
    상기 애플리케이션 프로그램은 상기 구성 세트가 구성하는 하나 이상의 상기 키오스크를 통한 상기 인터넷으로의 액세스인 서버.
  102. 제 101 항에 있어서,
    상기 인터넷에 대한 상기 액세스는 하나 이상의 지정된 서버들을 통해 1인 이상의 제 2 사용자들 사이에 통신 링크를 제공하는 서버.
  103. 제 90 항에 있어서,
    상기 애플리케이션은 통신 애플리케이션인 서버.
  104. 제 103 항에 있어서,
    상기 통신 애플리케이션은 전화 통화, 전자 우편, 원격 전자 회의(a teleconference), 팩스 전송, 트레이닝 세션(a training session), 네트워크상에서의 정보 탐색 및 웹 기반 협력중 하나 이상을 포함하는 서버.
  105. 제 90 항에 있어서,
    상기 애플리케이션은 서비스 애플리케이션인 서버.
  106. 제 105 항에 있어서,
    상기 서비스 애플리케이션은 광고, 서비스, 서비스 요금 청구중 하나 이상을 제공하는 것을 포함하는 서버.
  107. 제 90 항에 있어서,
    상기 애플리케이션은 상기 구성 세트에 의해 구성된 키오스크를 이용해 사용자에게 정보를 제공하는 서버.
  108. 제 90 항에 있어서,
    하나 이상의 상기 내장 제어 기능에 의해 하나 이상의 키오스크가 하나 이상의 상기 구성 세트를 요구할 수 있게 되는 서버.
  109. 네트워크상에서 서버에 의해 수행되는 방법에 있어서,
    상기 네트워크에 접속된 하나 이상의 키오스크로부터 요구를 수신하는 단계와,
    소정의 애플리케이션과 연관되어 있으며, 하나 이상의 파일들 및 적어도 하나의 내장 제어 기능을 구비하는 하나 이상의 구성 세트를 상기 키오스크로 전송하는 단계를 포함하되,
    상기 내장 제어 기능은 하나 이상의 드라이버 프로그램의 드라이버 서브세트를 선택하고 이 드라이버 서브세트와 통신하여, 상기 드라이버 프로그램이 하나 이상의 로컬 키오스크 기능의 장치 서브세트를 제어하도록 함으로써, 상기 키오스크가 상기 애플리케이션을 수행할 수 있도록 하는
    네트워크상에서 서버에 의해 수행되는 방법.
  110. 네트워크에 접속되어 있으며, 하나 이상의 주변 입력/출력 장치와 그와 관련된 드라이버 프로그램을 구비하는 전자 키오스크를 구성하는 방법에 있어서,
    서버로부터 상기 네트워크를 통해 적어도 하나의 구성 세트― 상기 구성 세트는 상기 키오스크상에서 수행될 애플리케이션을 정의하는 하나 이상의 파일들 및 내장 제어 기능을 포함함―를 액세스하는 단계와,
    상기 드라이버 프로그램의 서브세트를 선택하고 상기 서브세트와 통신하여, 상기 서브세트와 관련된 상기 주변장치를 제어함으로써 상기 키오스크가 상기 구성 세트와 관련된 상기 애플리케이션을 수행하도록 구성하도록, 상기 내장 제어 기능을 실행하는 단계
    를 포함하는 전자 키오스크 구성 방법.
KR10-1999-7007921A 1997-03-13 1998-03-02 키오스크 및 그 구성 방법과, 서버 및 그 작동 방법 KR100368353B1 (ko)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US4041497P 1997-03-13 1997-03-13
US60/040,414 1997-03-13
US97421697A 1997-11-19 1997-11-19
US8/974,216 1997-11-19
US8/974,214 1997-11-19
US08/974,214 US6195694B1 (en) 1997-03-13 1997-11-19 Server for reconfiguring control of a subset of devices on one or more kiosks
US08/974,214 1997-11-19
US08/974,216 1997-11-19

Publications (2)

Publication Number Publication Date
KR20000075844A KR20000075844A (ko) 2000-12-26
KR100368353B1 true KR100368353B1 (ko) 2003-01-24

Family

ID=27365717

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-1999-7007921A KR100368353B1 (ko) 1997-03-13 1998-03-02 키오스크 및 그 구성 방법과, 서버 및 그 작동 방법

Country Status (9)

Country Link
EP (1) EP0966712A1 (ko)
JP (3) JP2000510626A (ko)
KR (1) KR100368353B1 (ko)
CN (1) CN1124010C (ko)
AU (1) AU6629998A (ko)
CA (1) CA2281725A1 (ko)
IL (1) IL131357A (ko)
PL (1) PL335521A1 (ko)
WO (1) WO1998040826A2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101183365B1 (ko) 2011-10-07 2012-09-14 한화에스앤씨주식회사 근거리 무선통신을 이용한 키오스크 제어 장치
KR102274453B1 (ko) * 2020-05-15 2021-07-07 주식회사 블랙펄 설치 위치 맞춤형 통합 키오스크 서비스 제공 시스템

Families Citing this family (107)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0866611A1 (en) * 1997-03-21 1998-09-23 CANAL+ Société Anonyme Broadcast receiving system comprising a computer and a decoder
US6141684A (en) * 1997-09-12 2000-10-31 Nortel Networks Limited Multimedia public communication services distribution method and apparatus with distribution of configuration files
WO1999022508A1 (de) * 1997-10-24 1999-05-06 Mannesmann Ag Kommunikationssystem, insbesondere zur bearbeitung und/oder übertragung von daten und/oder signalen, verfahren zur handhabung eines solchen kommunikationssystems und telekommunikationszelle
WO1999028830A1 (en) * 1997-12-02 1999-06-10 Korman Bruce R Multi-transactional network architecture
ES2149697B1 (es) * 1998-07-14 2001-05-01 Garcia Jon Urresti Sistema de tele-encuestacion.
US6606602B1 (en) 1998-07-20 2003-08-12 Usa Technologies, Inc. Vending machine control system having access to the internet for the purposes of transacting e-mail, e-commerce, and e-business, and for conducting vending transactions
US6601038B1 (en) 1998-07-20 2003-07-29 Usa Technologies, Inc. Delivery of goods and services resultant from an electronic commerce transaction by way of a pack and ship type company
WO2000005670A1 (en) * 1998-07-20 2000-02-03 Usa Technologies, Inc. Universal interactive advertising and payment system for public access electronic commerce and business related products and services
US6604086B1 (en) 1998-07-20 2003-08-05 Usa Technologies, Inc. Electronic commerce terminal connected to a vending machine operable as a telephone
US6601039B1 (en) 1998-07-20 2003-07-29 Usa Technologies, Inc. Gas pump control system having access to the internet for the purposes of transacting e-mail, e-commerce, and e-business, and for conducting vending transactions
US6615183B1 (en) 1998-07-20 2003-09-02 Usa Technologies, Inc. Method of warehousing user data entered at an electronic commerce terminal
US6806977B1 (en) 1998-12-31 2004-10-19 Automated Business Companies Multiple integrated machine system
FI114064B (fi) * 1999-01-08 2004-07-30 Telia Ab Internetiin pääsyn ohjaaminen sponsoreille
GB9901301D0 (en) * 1999-01-21 1999-03-10 Ncr Int Inc Self-service terminal network
JP3408984B2 (ja) 1999-01-28 2003-05-19 パナソニック コミュニケーションズ株式会社 ネットワークファクシミリ装置
CA2361731C (en) * 1999-02-17 2005-04-19 Diebold, Incorporated Method and system for connecting services to an automated transaction machine
CA2370589C (en) * 1999-05-03 2013-04-09 Streetspace, Inc. Method and system for providing personalized online services and advertisements in public spaces
AU4661500A (en) * 1999-06-10 2001-01-02 Cacheflow, Inc. Method and apparatus for dynamic proxy reflecting of streaming content
US6655284B1 (en) 1999-06-28 2003-12-02 Casio Computer Co., Ltd. Customer terminal apparatus and information distribution server
TW473696B (en) 1999-06-29 2002-01-21 Casio Computer Co Ltd Printing apparatus and printing method
FR2796238B1 (fr) * 1999-07-06 2001-10-12 France Telecom Borne publique d'acces a un reseau informatique
KR100351664B1 (ko) * 1999-07-14 2002-09-11 가시오게산키 가부시키가이샤 고객단말장치 및 그 시스템 및 그 프로그램을 기록한기록매체
US7185333B1 (en) * 1999-10-28 2007-02-27 Yahoo! Inc. Method and system for managing the resources of a toolbar application program
EP1096444A3 (en) * 1999-11-01 2003-07-23 Citicorp Development Center, Inc. Method and system for configuration of self-service financial transaction terminals for a common software release
WO2001037156A1 (fr) * 1999-11-15 2001-05-25 Feals, Incorporated Company Systeme et ordinateur d'aide au traitement des transactions immobilieres, et procede d'aide au traitement des affaires immobilieres
JP2001202090A (ja) * 1999-11-17 2001-07-27 Ricoh Co Ltd 訪問者受付方法及び装置と、訪問者受付プログラムを記録した記録媒体
US6912528B2 (en) * 2000-01-18 2005-06-28 Gregg S. Homer Rechargeable media distribution and play system
KR100699628B1 (ko) * 2000-02-21 2007-03-23 엘지엔시스(주) 인터넷서비스 제공 무인단말기 및 이의 인터넷서비스제공방법
EP1137234A1 (en) * 2000-03-24 2001-09-26 BRITISH TELECOMMUNICATIONS public limited company Internet access arrangement
US7450114B2 (en) * 2000-04-14 2008-11-11 Picsel (Research) Limited User interface systems and methods for manipulating and viewing digital documents
ES2165319B1 (es) * 2000-04-26 2003-06-16 Segarra Antonio Lopez Cabina publica de comunicacion con acceso a internet para la grabacion y envio de mensajes de audio y de video.
AU2001272958A1 (en) * 2000-06-19 2002-01-02 James R Clark Retail entertainment/applications distribution system
GB2366654A (en) * 2000-09-12 2002-03-13 Appliance Studio Ltd Display with Internet connectivity
IT1316045B1 (it) * 2000-09-22 2003-03-26 Guislaine Freda Macchina stand-alone per vendere compact disc contenenti branimusicali scelti dall'utente e servizi in genere.
KR20020034758A (ko) * 2000-11-03 2002-05-09 박기석 멀티미디어 방명록 저장장치
FR2816784B1 (fr) * 2000-11-14 2003-02-07 Schlumberger Systems & Service Procede de transfert de fichiers entre des appareils de service et un serveur de gestion a distance
ES2169004B1 (es) * 2000-11-27 2003-11-16 Hergos Sist S Digitales Y Ergo Punto de informacion turistico-tematico ergonomico.
US7636757B2 (en) 2000-12-15 2009-12-22 Canon Kabushiki Kaisha Printing over the internet
WO2002057975A1 (fr) * 2001-01-19 2002-07-25 Fujitsu Limited Borne d'informations multifonctionnelle
GB0101846D0 (en) 2001-01-24 2001-03-07 Ncr Int Inc Self-service terminal
KR100425555B1 (ko) * 2001-02-12 2004-04-03 박종대 무인 인터넷 단말기의 웹브라우져를 이용한 동영상 광고방법
KR20020068649A (ko) * 2001-02-21 2002-08-28 (주)싸이버뱅크 전송량 감축을 통한 무선 기반 씬 클라이언트 서비스시스템 및 그 방법
JP2002297346A (ja) 2001-03-29 2002-10-11 Ricoh Co Ltd Sbc対応プリンタ出力システム、sbc対応プリンタ出力方法、該方法を実現するプログラム及び該プログラムのプログラム記録媒体
US7280087B2 (en) * 2001-04-23 2007-10-09 Gilbarco Inc. Multiple browser interface
US20020174206A1 (en) * 2001-05-21 2002-11-21 Moyer Alan L. Web-based file manipulating system
GB2377595B (en) * 2001-07-06 2004-12-15 Livedevices Ltd Improvements relating to reduction of resource usage in TCP/IP Implementation
AU2001272880A1 (en) * 2001-07-06 2003-01-21 Giulio Dorrucci Information and advertisement system
CN1338695A (zh) * 2001-07-17 2002-03-06 天津南开戈德集团有限公司 网络自助服务系统及其运作方法
US20030041030A1 (en) * 2001-08-14 2003-02-27 Carl Mansfield System and method for a home network telephone universal phonebook
MXPA04003643A (es) * 2001-10-17 2005-04-11 Primeselections Com Inc Sistema y mecanismo de red interactivo digital.
JP2003132235A (ja) * 2001-10-23 2003-05-09 Kanji Murakami ショッピングストアの構造、情報交換装置及び方法
JP2003141020A (ja) * 2001-10-31 2003-05-16 Toshiba Tec Corp 情報保管出力システム及び情報保管出力サービス
KR100469083B1 (ko) * 2002-02-19 2005-02-02 주식회사 코베콤 시알엠을 적용한 무선네트워크 환경에서의 서비스제공시스템 및 서비스 제공방법
US7251533B2 (en) 2002-04-10 2007-07-31 Lg Electronics Inc. Method for controlling home automation system
ES2197815B1 (es) * 2002-05-17 2005-03-01 Manuel Becerril Gonzalez De La Mata Sistema de dispositivos para acceso a las administraciones, aclaracion de problemas y resolucion de acceso a redes informaticas sin conocimientos informaticos.
KR20030095571A (ko) * 2002-06-12 2003-12-24 주식회사 코리아엠피에스 멀티서비스 제공방법 및 그 시스템
KR100474912B1 (ko) 2002-07-24 2005-03-10 엘지전자 주식회사 듀얼 ip 폰 및 이를 이용한 통화 방법
KR20040033419A (ko) * 2002-10-14 2004-04-28 (주)밸류게이츠인터내셔날 고품질 동영상 키오스크를 위한 영상 스위칭 방법
DE10348094A1 (de) * 2003-10-16 2005-05-19 Deutsche Telekom Ag Multifunktionaler Automat
KR100636143B1 (ko) * 2004-06-02 2006-10-18 삼성전자주식회사 무선 네트워크 장치의 자동 설정 방법 및 장치
US8165900B2 (en) 2004-08-09 2012-04-24 Epic Systems Corporation Patient check-in/scheduling kiosk
US7957021B2 (en) 2005-05-20 2011-06-07 Ricoh Company, Ltd. Image handling apparatus, image processing system, image process controlling method, and image process controlling program product
EP1736947A1 (en) * 2005-06-09 2006-12-27 NCR International, Inc. Personalized security method for a self-service checkout system
US7839521B2 (en) 2005-08-09 2010-11-23 Global Print Systems, Inc. Methods and systems for print job management and printing
US7668974B2 (en) * 2005-11-01 2010-02-23 International Business Machines Corporation Method and system for local provisioning of device drivers for portable storage devices
WO2008041978A1 (en) 2006-10-03 2008-04-10 Lucent Technologies Inc. Method and apparatus for reconfiguring ic architectures
US20080168402A1 (en) 2007-01-07 2008-07-10 Christopher Blumenberg Application Programming Interfaces for Gesture Operations
US8768720B2 (en) 2007-04-12 2014-07-01 Epic Systems Corporation Location limited check-in kiosk method and apparatus
JP2008305366A (ja) * 2007-06-08 2008-12-18 Masazumi Fukuda 不特定多数の一般ユーザ(顧客)が、誰でも、いつでも、同時にプログラム開発・登録・実行(利用)を可能とする方法
EP2179405A1 (en) * 2007-07-17 2010-04-28 Murat Ozbilen Mümtäz The system of interactive branch cabinet
WO2009025194A1 (ja) * 2007-08-22 2009-02-26 Epos Card Co., Ltd. Icカード即時発行システム
WO2009048613A1 (en) 2007-10-10 2009-04-16 Gilbarco Inc. System and method for controlling secure and non-secure content at dispenser or retail device
CN101999135A (zh) * 2007-12-28 2011-03-30 日本Atm株式会社 自动交易装置、自动交易装置控制程序、记录介质以及自动交易装置的控制方法
KR100983881B1 (ko) * 2008-02-29 2010-09-27 (주)솔루젠 네트워크를 기반으로 하는 프린팅 자동화 시스템
US8416196B2 (en) * 2008-03-04 2013-04-09 Apple Inc. Touch event model programming interface
US8645827B2 (en) 2008-03-04 2014-02-04 Apple Inc. Touch event model
US8566045B2 (en) 2009-03-16 2013-10-22 Apple Inc. Event recognition
EP2471217A1 (en) * 2009-05-14 2012-07-04 Joseph Denny Interactive multimedia advertising system
GB0909277D0 (en) 2009-05-29 2009-07-15 Design Multimedia Ltd I A control system and method for a user terminal
US8879698B1 (en) 2010-02-03 2014-11-04 Tal Lavian Device and method for providing enhanced telephony
US8687777B1 (en) 2010-02-03 2014-04-01 Tal Lavian Systems and methods for visual presentation and selection of IVR menu
US8594280B1 (en) 2010-02-03 2013-11-26 Zvi Or-Bach Systems and methods for visual presentation and selection of IVR menu
US8681951B1 (en) 2010-02-03 2014-03-25 Tal Lavian Systems and methods for visual presentation and selection of IVR menu
US8537989B1 (en) 2010-02-03 2013-09-17 Tal Lavian Device and method for providing enhanced telephony
US8548131B1 (en) 2010-02-03 2013-10-01 Tal Lavian Systems and methods for communicating with an interactive voice response system
US8903073B2 (en) 2011-07-20 2014-12-02 Zvi Or-Bach Systems and methods for visual presentation and selection of IVR menu
US9001819B1 (en) 2010-02-18 2015-04-07 Zvi Or-Bach Systems and methods for visual presentation and selection of IVR menu
US8625756B1 (en) 2010-02-03 2014-01-07 Tal Lavian Systems and methods for visual presentation and selection of IVR menu
US8548135B1 (en) 2010-02-03 2013-10-01 Tal Lavian Systems and methods for visual presentation and selection of IVR menu
US8572303B2 (en) 2010-02-03 2013-10-29 Tal Lavian Portable universal communication device
US8553859B1 (en) 2010-02-03 2013-10-08 Tal Lavian Device and method for providing enhanced telephony
JP5804678B2 (ja) * 2010-07-16 2015-11-04 キヤノン株式会社 情報処理装置、Webブラウザ制御方法、及び、プログラム
JP2012190298A (ja) * 2011-03-11 2012-10-04 Sony Corp 電子機器および電子機器の制御方法、プログラム、並びに記録媒体
CN102289895A (zh) * 2011-06-21 2011-12-21 上海北大方正科技电脑系统有限公司 一种网络票据处理终端及网络票据处理方法
EP2570923A1 (en) * 2011-09-14 2013-03-20 Alcatel Lucent Kiosk system for providing information and services
WO2013097098A1 (zh) * 2011-12-27 2013-07-04 华为技术有限公司 数据处理方法、图形处理器gpu及第一节点设备
US8731148B1 (en) 2012-03-02 2014-05-20 Tal Lavian Systems and methods for visual presentation and selection of IVR menu
US8867708B1 (en) 2012-03-02 2014-10-21 Tal Lavian Systems and methods for visual presentation and selection of IVR menu
CN102830947A (zh) * 2012-08-13 2012-12-19 南京莱斯信息技术股份有限公司 一种基于报表打印模板格式实现的报表打印控件
CN104956355B (zh) * 2012-11-05 2018-10-09 Afl电信公司 分布式测试系统架构
US9733716B2 (en) 2013-06-09 2017-08-15 Apple Inc. Proxy gesture recognizer
CN103499952A (zh) * 2013-09-13 2014-01-08 广州恩次元信息科技有限公司 自助终端远程智能管理系统
JP6402575B2 (ja) * 2014-10-15 2018-10-10 セイコーエプソン株式会社 印刷システムおよび印刷システムの制御方法
KR20160129499A (ko) 2015-04-30 2016-11-09 뉴21커뮤니티(주) 이동통신 단말기와 화면을 공유하는 키오스크 및 키오스크 화면 공유 시스템
JP6493130B2 (ja) 2015-09-30 2019-04-03 富士通株式会社 情報処理装置、方法、及びプログラム
US11417160B2 (en) 2018-04-30 2022-08-16 Hewlett-Packard Development Company, L.P. Service kiosk access
KR102393609B1 (ko) * 2022-02-28 2022-05-02 지철 설치 장소에 따른 사용자의 선호가 반영된 맞춤형 화면을 제공하는 키오스크 서비스 시스템

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5572572A (en) * 1988-05-05 1996-11-05 Transaction Technology, Inc. Computer and telephone apparatus with user friendly interface and enhanced integrity features

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101183365B1 (ko) 2011-10-07 2012-09-14 한화에스앤씨주식회사 근거리 무선통신을 이용한 키오스크 제어 장치
KR102274453B1 (ko) * 2020-05-15 2021-07-07 주식회사 블랙펄 설치 위치 맞춤형 통합 키오스크 서비스 제공 시스템

Also Published As

Publication number Publication date
IL131357A0 (en) 2001-01-28
WO1998040826A3 (en) 1998-12-23
EP0966712A1 (en) 1999-12-29
CN1124010C (zh) 2003-10-08
CN1250567A (zh) 2000-04-12
CA2281725A1 (en) 1998-09-17
IL131357A (en) 2003-07-06
JP2004030640A (ja) 2004-01-29
PL335521A1 (en) 2000-04-25
JP2004005688A (ja) 2004-01-08
JP2000510626A (ja) 2000-08-15
KR20000075844A (ko) 2000-12-26
AU6629998A (en) 1998-09-29
WO1998040826A2 (en) 1998-09-17

Similar Documents

Publication Publication Date Title
KR100368353B1 (ko) 키오스크 및 그 구성 방법과, 서버 및 그 작동 방법
US6195694B1 (en) Server for reconfiguring control of a subset of devices on one or more kiosks
US6240444B1 (en) Internet web page sharing
US7865605B2 (en) Customer access solutions architecture
US7415715B2 (en) Transaction execution system interface and enterprise system architecture thereof
US7739144B2 (en) Self-service terminal
US20020059369A1 (en) Method and apparatus for creating and distributing non-sensitized information summaries to users
US20020032655A1 (en) System and method for providing financial services terminals with a document driven interface
CZ20031172A3 (cs) Systém a způsob poskytování monitorování množiny finančních obslužných terminálů s dokumentově ovládaným rozhraním
WO2001025908A2 (en) Presentation service architectures for netcentric computing systems
MXPA99004931A (es) Sistema y aparato de maquina de cajero automatizado.
MXPA99004942A (es) Sistema y aparato de maquina de cajero automatizado.
US6988249B1 (en) Presentation service architectures for netcentric computing systems
TW491972B (en) System, method, and article of manufacture for electronic merchandising in an e-commerce application framework
DE69726138T2 (de) Ein system und verfahren zum einrichten von elektronischem bezahlen und krediteinzug über ein netzwerk unter verwendung eines zahlungsmittelhalters
MXPA99004929A (es) Sistema y aparato de maquina de cajero automatizado.
US20020133585A1 (en) Computer program for recording and selective playback of a communication involving the hypertext transfer protocol
TW482974B (en) System and method for profiling a web site
MXPA99004932A (es) Sistema y aparato de maquina de cajero automatizado.
MXPA99008367A (en) Kiosk and server connected to computer network
MXPA99004934A (es) Sistema y aparato de maquina de cajero automatizado.
CZ319299A3 (cs) Zařízení pro měření teploty taveniny (1) spočívá v tom, že ve stěně vyzdívky pece (2) je pod hladinou (7) taveniny (1) průchozí otvor (5), do kterého je vložen světlovod (3), vedoucí k radiačnímu pyrometru (6). Je výhodné, když vnitřní čelo světlovodu (3) nepřesahuje vnitřní plochu (8) vyzdívky pece (2). dále je výhodné, má-li světlovod (3) tvar tyče z taveného transparentního oxidu hlinitého (A12O3) nebo jeho modifikací, např. safíru v podobě monokrystalu dopovaného Y, Th nebo Zr, případně jejich oxidy
JP2001344356A (ja) 電子試験実施方法、電子試験システム及びそのプログラムを記録した情報記録媒体
Patlak et al. Web service standards and real business scenario challenges
CA2311594A1 (en) System and method for offering goods and/or services on an electronic medium

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
LAPS Lapse due to unpaid annual fee