JP2004005688A - コンピュータ・ネットワークに接続されたキオスク装置のためのサーバおよびサーバ動作方法 - Google Patents
コンピュータ・ネットワークに接続されたキオスク装置のためのサーバおよびサーバ動作方法 Download PDFInfo
- Publication number
- JP2004005688A JP2004005688A JP2003150123A JP2003150123A JP2004005688A JP 2004005688 A JP2004005688 A JP 2004005688A JP 2003150123 A JP2003150123 A JP 2003150123A JP 2003150123 A JP2003150123 A JP 2003150123A JP 2004005688 A JP2004005688 A JP 2004005688A
- Authority
- JP
- Japan
- Prior art keywords
- kiosk
- application
- server
- file
- function
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F19/00—Complete 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/20—Automatic teller machines [ATMs]
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F17/00—Coin-freed apparatus for hiring articles; Coin-freed facilities or services
- G07F17/0014—Coin-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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L12/2805—Home Audio Video Interoperability [HAVI] networks
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Multimedia (AREA)
- Automation & Control Theory (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に接続されている。キオスクは、1つまたは複数の入力/出力装置130(たとえば表示装置、キーボード、ペーパー・プリンタ、電話機など)と、各入力/出力装置のための1つまたは複数のドライバ・プログラム440(ローカルAPI)とを有する。キオスク160は、キオスクがサーバから素材を入手するために使用するブラウザ160を有する。構成セット内のファイルのうちの1つまたは複数のファイルが、1つまたは複数の組込み制御プログラム620を含み、それを使用してキオスク上の装置のためのローカルAPIを制御する。このようにして、装置が制御されて、キオスクがそのアプリケーションを実行するように構成される。
【選択図】 図1
【課題を解決するための手段】サーバ・システム195が、ネットワーク150、たとえばインターネット、企業または政府のイントラネット、エクストラネットなどによって複数のキオスク100に接続されている。キオスクは、1つまたは複数の入力/出力装置130(たとえば表示装置、キーボード、ペーパー・プリンタ、電話機など)と、各入力/出力装置のための1つまたは複数のドライバ・プログラム440(ローカルAPI)とを有する。キオスク160は、キオスクがサーバから素材を入手するために使用するブラウザ160を有する。構成セット内のファイルのうちの1つまたは複数のファイルが、1つまたは複数の組込み制御プログラム620を含み、それを使用してキオスク上の装置のためのローカルAPIを制御する。このようにして、装置が制御されて、キオスクがそのアプリケーションを実行するように構成される。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、コンピュータ・ネットワークに接続され、サーバがキオスク装置を構成することができるキオスク装置およびサーバの分野に関する。
【0002】
【従来の技術】
一般にキオスクとは、ユーザまたは顧客による一般のアクセス、たとえば公共アクセスのための場所に配置され、それによってサービス提供者がそのユーザや顧客にサービスを提供することができるようにする機械である。一般に、このようなサービスは、サービス提供者が顧客に特定の援助を与えるエージェントを設けずに、顧客によって行われる「セルフサービス」である。したがって、サービスは、1)情報の入手、または2)特定の単純なトランザクション(たとえばチケットの購入、現金の入手、百貨店のフロア・マップの閲覧など)の遂行あるいはその両方を行うといったような、反復される単純な特定のタスクになる傾向がある。
【0003】
行われるタスクは、事前プログラムし、事前決定する必要があり、セルフサービスである必要がある。したがって、キオスクの設計は、柔軟性がなく、特定のユーザ向けにカスタマイズされた援助を提供しない。
【0004】
一般に、これらのトランザクションは、たとえば1つまたは複数のモニタ、カード読取装置、チケット・プリンタ、レーザ・プリンタ、現金自動支払機など、何らかの装置の使用を必要とする。これらの装置は、一般に、キオスクにおける柔軟性のない設計の事前定義されたタスク専用であり、したがって他に用途がない。
【0005】
キオスクの利点は、便利で信頼性が高いことである。キオスクは、作業を行うフルタイムの人間の操作者を必要とせず、したがって運転経費の節約になり、生産性が向上する。
【0006】
たとえば銀行のATM機、航空券販売機など、従来技術キオスクにはネットワークによって接続されているものがある。また、ショッピング・モール内の情報キオスクのように、スタンド・アロン・キオスクもある。
【0007】
従来技術には、銀行支店(エージェント)とユーザ/顧客との間に接続を設定しようと試みる銀行業アプリケーション向けのテレビ会議機能を備えたキオスクがある。これは、従来のタイプのキオスクにテレビ会議システムを付加するだけで行われる。
【0008】
また、従来技術には、インターネットとの統合キオスクもある。このキオスクは、キオスクの画面上にHTMLページを表示するブラウザ手段を有する。キオスクに表示される画面は、ユーザによって選択されたハイパーリンクによって制御される。これらのキオスクは、顧客/ユーザがハイパーリンクを呼び出す「ソフト」ボタンを選択することによってブラウズすることができる情報アクセスに適している。これらのキオスクは、電子メールのような特定の個人通信にも使用することができる。この種のシステムでは、画面は通常、(たとえばナビゲーション・ボタンを有する)ユーザ・インタフェースを提示するように特別に設計され、キオスクはさらに、キオスク作成者によって定義されたHTMLページ(URL)のみにアクセス可能になるように、顧客が訪れることができるURLを制限するフィルタとして機能する。
【0009】
ほとんどの従来技術のキオスクは柔軟性がない。従来技術のキオスクは、一般にプログラミングが特別に設計され、(通常はCやC++などの高水準コンピュータ・プログラミング言語で)作成され、特定の用途(アプリケーション)向けにキオスクに設置されるため、変更や再構成を容易にしかも低コストで迅速に行うことができない。変更する場合は、キオスクでのプログラムの再コード化、再コンパイル、再インストール、および再試験が必要になる。既存のキオスクに変更を加えるのは困難であり、更新を必要とする範囲に多くのキオスクがある場合は特に困難である。
【0010】
従来技術のキオスクは、アプリケーションに基づく効果的な「対面」サービス、すなわち、サービスまたはトランザクションを実行するためにユーザまたは顧客に助言や手引きを与えるエージェントを必要とするサービスを提供することができない。顧客サービスのための効果的な「対面」環境は、映像/音声だけでなく、同期化された画面共用(たとえばエージェントがデータを入力している間にユーザ/顧客がデータを見るなど)と遠隔装置制御(たとえばエージェントがキオスクのユーザ/顧客のために受領書を印刷することができるなど)も必要する。従来技術は、キオスクの同期化画面共用や遠隔装置制御を実現しない。
【0011】
従来技術の中には、電話によるエージェントからのユーザ援助を提供するものもあるが、エージェントは一般にキオスクの画面を直接見ることはできない。したがって、エージェントはキオスクに問題があった場合にその問題についてのユーザの説明に依存せざるを得ない。エージェントは、キオスクの画面を直接見て問題にアクセスすることができない。さらに、エージェントはキオスクの問題を修正するためにキオスクのプログラム/機能を遠隔地から変更することができない。銀行業アプリケーションにおけるキオスクの中には、銀行エージェントがキオスクの画面の内容を見ることができるようにするものもあることに留意されたい。しかし、この内容は、キオスク上に画面の内容を表示させるアプリケーションではなく、エージェントのワークステーション上で稼働している別個のアプリケーションによって表示される。
【0012】
【発明が解決しようとする課題】
従来技術の中には、キオスクの機能としてテレビ会議機能を備えるものもある。しかし、テレビ会議は顧客に他の当事者との音声/映像接続は提供するが、このアーキテクチャは音声/映像通信とキオスク画面の内容との間に一貫した統合がないため、市場ではまだ成功していない。顧客がキオスク画面上の項目の1つに問題があるときに、エージェントは顧客がキオスク上で持っている情報と同じ情報をエージェントの画面上で持つことができない。たとえば、キオスクの画面上のフィールド内にあいまいな値または誤った値があっても、テレビ会議中にエージェントにはその誤った値が見えない。さらに、エージェントは顧客の画面上の場所を指示することができず、顧客の画面を制御することもできない。さらに、エージェントは、キオスクがまだ事前プログラムされていないという一般情報をキオスクを介して顧客に提供することができない。また、たとえば、顧客がそのキオスク設計では入手することができない情報を必要とする場合、エージェントは音声またはカメラ映像によって情報を提供することができるに過ぎず、顧客のキオスク画面上で、または他のキオスク装置を介して情報を提供することはできない。
【0013】
従来技術の中には、限定された特定のアプリケーション、すなわち限定された情報ブラウズのみを行うことができる単純なインターネット/ブラウザ・ベースのキオスクを開示しているものもある。この種のキオスクは、キオスク制御機能や顧客と人間のエージェントとの間の協同がないため、柔軟性のある用途を持つ有効な顧客サービス環境を提供することができない。
【0014】
したがって、本発明は、請求の範囲で規定されているキオスクとサーバを提供する。
【0015】
【課題を解決するための手段】
本明細書に記載の手法は、「対面」エージェント対顧客サービスまたはトランザクションあるいはその両方およびインターネット(TCP/IP)、公共電話網(PSTN)、統合サービス・ディジタル網(ISDN)など複数の通信ネットワークへの公共アクセスの提供を含む、様々な用途向けの柔軟性があり、再構成可能で協同的なキオスク・アーキテクチャの利点を得て、公共の至る所に配置される、構成可能で直接アクセス可能なネットワーク・インタフェースを提供する。したがって、このネットワーク・サーバ・システムは、異なる用途(アプリケーション)のための異なる方法でネットワーク上の遠隔キオスクまたはキオスク装置を再構成するために、特に異なるアプリケーション用に異なる方法で使用される様々な入出力装置をサポートするために、(場合によっては1つまたは複数のネットワーク・サーバで作成、開発、および記憶される)きわめて多くのアプリケーションを配布することができる。
【0016】
したがって、好ましい実施形態では、キオスク・システムは1つまたは複数のネットワーク、たとえばインターネット、企業または政府のイントラネットなどに接続することができる。キオスクは、1つまたは複数の入力/出力装置(たとえば表示装置、キーボード、ペーパー・プリンタ、電話など)と、各入力/出力装置のための1つまたは複数のドライバ・プログラム(ローカルAPI)を有する。表示装置は、キオスクのユーザに1つまたは複数のグラフィカル・ユーザ・インタフェースとビデオ画像を提示するために使用される。インタフェースのうちのいくつかはアプリケーション固有のものである。(アプリケーションとは、キオスクがそのために構成または再構成される用途である。)キオスクは、ネットワーク上の1つまたは複数のサーバから、(構成セットにおける)1つまたは複数のアプリケーション・ファイルを取り出すブラウザを有する。アプリケーション・ファイル(構成セット)は、キオスクのブラウザによって(アプリケーションによって決定される)シーケンスで提示される1組のHTMLファイルを含む。これらのHTMLファイルのうちの1つまたは複数のHTMLファイルは、キオスク上の装置のうちの1つまたは複数の装置のローカルAPIを制御するために使用される組込み(制御)プログラムを含む。ファイルのうちの1つまたは複数のファイルは、他のHTMLファイル、(画像や音声のような)マルチメディア構成要素ファイル、または他のHTMLファイル、マルチメディア構成要素ファイル、組込みプログラムまたは他のアプリケーション・ファイルへのハイパーリンクあるいはそれらの組合せも含むことができる。キオスクにおける選択機能(たとえば音声、ソフト・ボタン、ハイパーリンクなど)によってサーバから第1のアプリケーション・ファイルが選択される。この選択項目(選択機能)に関連づけられたアプリケーション・ファイル(構成セット)が、キオスクをそれに応じて構成する。したがって、キオスクは、アプリケーション・ファイルによって定義された様々なアプリケーションを実行するように構成および再構成することができる。
【0017】
ある種の好ましい実施形態では、アプリケーション・ファイルのうちの1つまたは複数のアプリケーションが1つまたは複数の所定の選択リンク(たとえばハイパーリンク)を有する。ブラウザがアプリケーション・ファイルを(たとえば1ファイルずつ)レンダリングまたは解釈するにつれて、所定の選択リンクがグラフィカル・ユーザ・インタフェース上でユーザに対して追加の選択項目として提示される。ユーザは、ゼロ個または1個以上の他の組込み制御プログラムを含む1つまたは複数の他の構成セット、HTMLファイルなどを選択し、呼び出すことができる。したがって、これらの追加の選択項目を使用して、ブラウザによってHTMLファイルの内容が提示されるシーケンス、および実際にはシーケンス内のファイルを変更して、キオスクを異なる方法で再構成し、ユーザからの情報の入手またはユーザへの情報の提供あるいはその両方を行うことができる。シーケンス内のHTMLファイルの内容のレンダリングによってキオスクが構成され、それによって、対話式画面の1つまたは複数の画面シーケンスと、必要な場合は、キオスクを特定の選択されたアプリケーション用に再構成するために組合わされる(組込みプログラムによって制御される)装置アクションのシーケンスとが提供されるようになる。これらの実施形態では、ユーザ(またはキオスクまたはサーバ内の他の機能)は、キオスク上の異なる選択機能を選択することによって他のアプリケーションのためにキオスクを再構成することができる。
【0018】
ある種の好ましい実施形態では、アプリケーションの一部が、エージェントと顧客がキオスクおよびサーバを介してネットワークで協同することができるようにするウェブ・ページ共用機能を含む。好ましい一実施形態は、「軽量」クライアント・アーキテクチャ、すなわちキオスク上にアプリケーション固有のソフトウェアがないクライアント・アーキテクチャを実施する。
【0019】
例示のみを目的として以下の図面を参照しながら、本発明の様々な好ましい実施形態について以下に詳述する。
【発明の実施の形態】
キオスク100の好ましい一実施形態のブロック図である図1を参照すると、キオスク100は、適切な周知のネットワーク・インタフェース155を有するコンピュータ110(たとえばPC350やPC750のようなIBMパーソナル・コンピュータ)を含む。ネットワーク150は、任意の周知のローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)とすることができる。好ましい実施形態では、ネットワーク150はインターネットである。しかし、電話網、ケーブル網、ISDN網などによって実施可能な、企業ネットワークのようなイントラネットワーク、政府ネットワーク、教育ネットワーク、企業間のエクストラネットワーク、および1つまたは複数の小売業者によって使用されるネットワークを含む、他の汎用ネットワーク150も考えられる。コンピュータ110は、キオスク100の一部として装備された1つまたは複数の入力または出力あるいはその両方の装置(下部参照)130を有する。典型的には、コンピュータ110は、周知の、1つまたは複数のメイン・メモリと、(ハード・ディスク・ドライブ、CDROMなどのような)1つまたは複数の記憶装置110Mと、1つまたは複数の中央処理装置(CPU)110Cとを有する。さらに、コンピュータ110は、保守のための任意選択のハードウェア・キーボード135およびマウス134を有する。ユーザは、これらの様々な(周辺130)入力または出力あるいはその両方の装置(まとめて130と番号を付す)にアクセスして、コンピュータ110およびネットワーク150を介して、ネットワーク150に接続された他のクライアントまたはサーバ195あるいはその両方との間で情報を伝送する。これらの入力/出力装置130の例としては、画面105を備えたタッチ・センシティブ端末103、プリンタ109、任意の周知の汎用情報読取装置111(たとえば磁気カード、クレジット・カード、またはスマート・カードを読み取るカード読取装置121)、スキャナ(たとえばレーザ・スキャナ)112、任意の周知の汎用情報書出装置113(プリンタ、チケット・プリンタ、媒体プリンタ(たとえばディスケット・ドライブ)、計算書プリンタ、または受領書プリンタ)、(たとえばステッカーやコンピュータ・ディスクを提供する)ディスペンサ、または有形の媒体113Aに入った情報をユーザに提供するその他の任意の装置130がある。その他の入力/出力装置130としては、現金自動支払機、スキャナ、ディポーザ、ペン入力装置136、カード発行機、発券機、CRT、キーボード、タッチ・センシティブ・スクリーン、プログラム制御可能カメラ、1つまたは複数の人間感知器(たとえば赤外線)、1つまたは複数のライト、CD−ROMプレーヤ、音声入力/出力装置(たとえばマイクロフォン133、スピーカ132、または電話機107、およびメモリ113Bのうちの任意の1つまたは複数の装置が含まれる。キオスク100は、電話107やテレビ会議システム114、たとえばPictureTel PCS−100デスクトップISDNテレビ会議システムなどの周知の通信装置を備えることができる(PictureTelはPictureTel社の商標である)。テレビ会議システムは、カメラ131や、スピーカ132、マイクロフォン133、適切なネットワーク・インタフェース155を介した1つまたは複数のISDN接続または別個のネットワーク接続を含む。他のネットワーク151、たとえば電話107、スピーカ132、マイクロフォンを介した在来型電話システム(POTS)電話網122またはISDN回線123あるいはその両方への接続も行うことができる。周知のインタフェースを使用してネットワーク(150、151)に他の周辺装置130を独立して接続することもできる。
【0020】
コンピュータのCPU110Cは、制御プロセスおよびライブラリ125と、ある種の好ましい実施形態では1つまたは複数の協同プロセスとを含む、ソフトウェア・プログラムを実行する。制御プロセス125は、1つまたは組込み制御関数/プログラム620と1つまたは複数の制御機構640の2つの部分を有する。(以下の図5、図6から図10を参照。)組込み制御プログラム/関数620は、内容固有のプロセス(たとえば銀行業務、レンタカー業、商品購入など)であるが、それぞれの入力/出力装置(またはそのサブセット)130に付随する非内容固有の制御機構640を使用してローカル・アプリケーション・プログラム・インタフェース680(API)を制御する。したがって、入力/出力装置130は、アプリケーションの内容に固有の方法で制御される。代替実施形態では、制御機構は、ネットワーク150からコンピュータ110に直接ロードすることができる。
【0021】
協同プロセス170は、APIと、キオスク100から協同セッションを確立する機能を実行する。この協同プロセスについては、1996年9月27日出願のフィン(Fin)等の「Internet Web Page Sharing」という名称の米国特許出願第08/722287号に記載されており、参照によりその全体が本明細書に組み込まれる(欧州特許出願97307536.0号、公告番号833260を参照)。コンピュータはさらにネットワーク150との対話に必要なプログラムを実行し、これにはウェブ・ブラウザ・プログラム160、たとえばNetscape Navigatorブラウザが含まれる。(Netscape Navigatorは、Netscape Communications Corporataionの商標である。)
【0022】
図2は、囲われた空間または一部囲われた空間200内にあるキオスク100を示す、本発明の代替実施形態を示すブロック図である。囲われた空間200は、一人または複数のユーザと共にキオスク100が置かれる任意のタイプの空間、たとえば、部屋、小ボックス、またはその他の任意の個室または準個室空間とすることができる。この実施形態では、コンピュータ110は、コンピュータ110がスペース200内にユーザのための環境を作り出すために制御する1つまたは複数の周知の環境周辺機器130に接続される。たとえば、環境周辺機器としては、空間の照明205、追加情報(たとえば販売情報)または環境要素(たとえば風景の可変表示や仮想世界)あるいはその両方を伝える空間200内の表示装置210、空間200に出入りするセキュリティ・アクセス215などがある。さらに、(部分的に)囲われた空間は、上述の周辺機器130と類似の他の環境周辺機器130、たとえば、音声、テレビ会議なども有することができる。仮想世界の例は周知である。
【0023】
システム100および200の好ましい実施形態では、ユーザが(選択機能を使用して)、キオスクをそのために構成させるアプリケーション、たとえば銀行業務を選択し、ブラウザ160がインターネット(汎用ネットワーク)150上の1つまたは複数のウェブ・サーバ195と対話して1つまたは複数の構成セット175を取り出す。任意選択により、サーバ195とキオスク(100、200)内のブラウザ160との間でデータ通信が開始する。次に、ブラウザ160によってアプリケーション・ファイル175が1ファイルずつ実行され、1)任意選択により、それぞれのアプリケーションと共に使用する入力/出力装置のうちの1つまたは複数の入力/出力装置(たとえばタッチ・センシティブ端末103や表示装置)130を制御するドライバ・プログラム(ローカルAPI680)を呼び出し、2)任意選択により、一連の入力/出力装置130アクションを、たとえば、端末/表示装置103上に表示される一連のウェブ・ページとして行わせ、3)任意選択により、入力装置130からのユーザ入力をサーバ195に伝え、4)任意選択により、ユーザ入力に応じて、ブラウザ160によってさらに実行するためのアプリケーション・ファイル175の他のアプリケーション・ファイル175を選択する。このように、ユーザは第1の選択機能を使用して第1のアプリケーション(およびそれに付随するサーバ195上の構成セット(アプリケーション・ファイル)175を選択することができ、そのアプリケーションがキオスクを第1の特定の選択されたアプリケーションに合わせて再構成する。第2のアプリケーションを選択することによって、再びキオスクが第2のアプリケーション等々用に再構成される。後の構成のための選択機能は、前の構成でユーザに提供される。
【0024】
アプリケーションとは、キオスクがそのために構成される任意の用途である。たとえば、アプリケーションには、金融、ビジネス、情報(ニュース、広告)、通信(電子メール、ウェブ・アクセス、テレビ会議)、小売業、マーケティング、サービス(たとえば行政プログラム)の分野における用途
(構成)が含まれる。アプリケーション所有者は、そのアプリケーションを実現するようにキオスクを構成することになる任意の個人、組織、または企業である。たとえば、銀行または投資信託会社は、1つまたは複数の金融業アプリケーションを使用してキオスクを構成する。このような金融業アプリケーションの例としては、ユーザへの金融情報の提供、口座の開設、現金支払い、勘定支払い、ローンの申込み、預金、およびエージェントから受ける支援などがある。サービス所有者の一例は、自動車レンタル/リースなどを行うようにキオスクを構成するレンタカー会社である。
【0025】
他の好ましい実施形態では、キオスク(100、200)は、ユーザによってではなくサーバ195によって再構成される。たとえば、キオスクを、ショッピング・モールのような公共の空間に設置することができる。ブラウザは、ネットワーク150上に配置された1つまたは複数のサーバ195またはデフォルト・サーバまたはプロキシ・サーバ195Aからキオスク100に、構成セット(アプリケーション・ファイル)175を、最初にまたは定期的に取り出すようにすることができる(またはサーバが「プッシュ」するようにすることもできる)。したがって、システム設計者は、サーバ195の遠隔設置場所からキオスクの構成を制御することができる。たとえば、モール内のキオスクを最初に、モールの地図の表示、バックグラウンド・ミュージックの再生、アナウンス、または天気情報またはニュースや株式市況のようなその他の一般情報の提供を行うように構成することができる。アプリケーション・ファイル175は、入力/出力装置130のうちの1つまたは複数の装置に、選択機能105A、たとえばタッチ・スクリーン、アイコン、ハイパーテキスト・リンク、グラフィカル・ユーザ・インタフェース上のソフト・ボタン、ハードワイヤード・ボタン、(無線周波識別タグのような)リモート・センサ、またはテレビ会議システム用の音声入力式メッセージ機能などの選択機能105Aを有するように、またはそのような選択機能105Aとなるように指示することもできる。選択機能105Aは、ユーザが、キオスクをユーザのアプリケーションに合わせて再構成させる選択を行うことができるようにする機能である。これらの選択機能105Aによって、ユーザはキオスク100/200を再構成したり、サーバ195がキオスクに提供させるその他の情報にアクセスしたりすることができる。
【0026】
選択機能105Aまたは表示されるその他の情報は、キオスクの所有者/運営者にとって収入源ともなり得る。たとえば、キオスクは、キオスクが提供する通知は有料で行われる広告になり得る。アプリケーション提供者(たとえば銀行投資信託会社、モーゲージ会社、金貸業者、仲介業(株式、不動産)、レンタル会社(自動車、機器)、サービス提供者、および小売業者)なら、キオスク100/200上に、ユーザがキオスクを自分の用途に合わせて構成するために選択する選択機能105Aを所有するために料金を支払うであろう。料金の金額は、キオスクの設置場所、キオスク上の選択機能/情報の位置/場所(たとえばグラフィカル・ユーザ・インタフェース)、選択機能105Aのサイズ、キオスクによって選択機能105A/情報が提供される時間および期間などに基づいて決めることができる。選択機能105A/情報は、様々なクラスの顧客/クライアントを対象にするために、異なる時刻に変更したり定期的に表示したりすることができる。たとえば、グランド・セントラル駅に置かれたキオスクは、ラッシュ・アワーには通勤者向け情報を表示させ、昼食時間の直前にはレストラン予約のための選択機能105Aを有するように再構成される。
【0027】
キオスク100/200は、アプリケーション提供者がサーバ195を介してユーザ固有の構成になるよう再構成することができる。たとえば、旅行代理店がスミス氏のユーザ・プロファイルを有するとする。スミス氏は、公共の場所または勤務先にあるキオスク100/200上の選択機能105Aを選択する。キオスクはその旅行代理店のアプリケーション用に再構成された後は、たとえば、入力/出力装置130の1つを使用して個人識別コードを入力するかまたはクレジット・カードを通すことによって、(アプリケーション・ファイルのうちの1つによる指示に従って)スミス氏に対して個人情報を求めることができる。次に、スミス氏の個人情報はキオスク100/200によってサーバ195に渡され、スミス氏に関するプロファイルにアクセスする。プロファイル内の情報を使用して、サーバ195によってアプリケーション・ファイル175のうちの1つまたは複数のファイルが送られ、キオスクが特にスミス氏のために再構成される。たとえば、中米への休暇パッケージ旅行のみをキオスク上で提供することができる。他の実施形態では、アプリケーション・ファイル175のうちの1つまたは複数のファイルによって、ユーザがGUI(後出の300)を編成できるようにすることができる。
【0028】
キオスク100/200の他の好ましい構成では、一人または複数のキオスク・ユーザとアプリケーション提供者の1つまたは複数のエージェントとの間に協同セッションがセットアップされる。協同は、キオスク上に常駐するかまたはサーバ195によってアプリケーション・ファイル175として提供される協同プロセス170によってセットアップされる(フィン(Fin)等の特許出願を参照)。
【0029】
キオスク(100、200)の他の好ましい構成では、サーバ195がキオスクに、キオスクの監視または保守に使用されるアプリケーション・ファイル175を提供する。たとえば、このような実施形態では組込み制御プログラム620のうちの1つまたは複数の組込み制御プログラムが、「デッドマン」タイマー状況、誤り検査プロトコルなどを使用してどの入力/出力装置が動作しているかを判断することによって、入力/出力装置130のうちの1つまたは複数の装置の動作状況を監視する。この情報はサーバ195に返される。他のアプリケーション・ファイル175を使用して、所与のキオスクにどの入力/出力装置130が設置されているか、または動作可能であるかを問い合わせる。このようにして、サーバ195は、設置または動作可能入力/出力装置130を使用可能にし、設置されていないかまたは故障している装置を使用可能にしない(構成しない)ために、他のどのアプリケーション・ファイル175をキオスクに送るかを判断することができる。したがって、入力/出力装置130の任意の汎用の組合せを含むキオスクをサーバの遠隔に設置することができ、サーバは所与の用途のためにキオスクを動作可能にする適切かつ動作可能なアプリケーションを提供する。アプリケーション・ファイル175を使用して、入力/出力装置のうちの1つまたは複数の装置から情報を入手し、装置の操作方法を判断することもできる。
【0030】
図3に、キオスク100/200の画面表示装置105上に表示されるグラフィカル・ユーザ・インタフェース(GUI)300の一例を示す。GUI300は、選択機能105Aを介してキオスクのユーザに主アクセス・インタフェースを提供する。選択機能105Aの例としては、銀行301、保険業302、汎用ソフト・ボタン303、およびピザ・レストラン304用のアプリケーションを示すアイコン画像301〜304がある。GUI300は、1つまたは複数の選択項目(典型的には325)を有するメニュー320の形の選択機能105Aも表示することができる。選択機能105Aの他の例は、GUI300またはメニュー320あるいはその両方の一部とすることができるハイパーリンク350である。GUI300のその他の領域340は、情報またはその他のデータを入力するために使用することができる。これらの情報フィールド340を使用して、GUI300を納税申告用紙、ローン申込書、モーゲージ申込書、預金入金票などの書式370として提示することができる。GUI300は、周知の技法を使用してブラウザ160によりウェブ・ページとして表示することができる。このウェブ・ページは、入力/出力装置130を介してユーザに提示されるマルチメディア(音声、映像)態様を有することができる。
【0031】
図4に、ユーザがユーザ・インタフェースを介して対話して選択機能105Aを選択し、選択機能105Aがそれに対応する構成セットであるアプリケーション・ファイル175をサーバ195からクライアント(キオスク100、200)にダウンロードして特定の機能を実行し、周辺装置130の特定のサブセット451(たとえば107、109、111、113、114など)を制御する仕組みを示す。ローカルAPI440は、1つまたは複数の周辺装置130を直接制御するソフトウェア機能インタフェースである。たとえば、カード読取装置130のローカルAPI440は、初期設定、始動、カードからのデータの読取り、カードの排出を行い、機能をオフにする処理を含む。
【0032】
(キオスク構成の)選択は、選択機能105Aによって行われる。選択機能105Aの例としては以下のものがある。
a)ユーザが画面上の画像アイコン、またはボタンのような他の選択装置に明示的に触れる。
b)現在実行中のプログラムが、ユーザの動作に基づいて選択を呼び出す必要があることを判断し、たとえば、ユーザが同じ間違いを続けて2回犯した場合、ヘルプ・プログラムを呼び出す。
c)現在実行中のプログラム内の論理が、次の選択(キオスク構成)を判断する。たとえば、ユーザがモーゲージの事前資格審査申込書を作成し、銀行がそれを承認した後は、現行アプリケーションがユーザに不動産情報を必要とするかどうかを尋ねることができる。ユーザが肯定の応答をした場合、キオスクの構成は、不動産業者アプリケーションの構成に変更される。
【0033】
一実施形態では、選択105Aが行われると、ブラウザ160がネットワーク・インタフェース155を介してHTTPでサーバ195に、その選択機能105Aに対応する最初のアプリケーション・ファイル175(ファイル500からなる)を求める要求を送る。(アプリケーション・ファイル/構成セット175内のファイル500の説明については図5も参照されたい。)次に、サーバ195は、アプリケーション・ファイル175をブラウザ160に提供する。アプリケーション・ファイルを構成するファイル500がブラウザ160に到着した後、ファイル500のHTMLの内容が1行ずつ実行される。ブラウザが実行している現行アプリケーション・ファイルのファイル500に次のアプリケーション・ファイルのファイル500が関連づけられている(たとえばハイパーリンクされている)場合、この次のアプリケーション・ファイルのファイル500もブラウザに送られる。このようにして、ブラウザ160は各ファイル500を、構成セット175内のHTMLテキストの命令によって定義されている順序で1行ずつ、1構成セット175ずつ実行する。このようにしてアプリケーション・ファイル/構成セット175内のファイル500を実行することによって、(装置130に関連づけられている)ローカルAPI440または、ローカルAPIのサブセット441が呼び出されて、選択された装置のサブセット451を制御し、キオスク(100/200)が再構成される。各アプリケーション・ファイル/ファイル(175、500)内の論理またはユーザ・アクションあるいはその両方によって、どのアプリケーション・ファイル/ファイル(175、500)が実行されるかを変更したり、アプリケーション・ファイルのうちの一部のアプリケーション・ファイルを実行するかどうかを変更したりすることができることに留意されたい。
【0034】
アプリケーション・ファイル175を実行することによって、ブラウザ160は装置130のうちの1つまたは複数の装置を選択し、制御する。キオスクの構成は、アプリケーション・ファイルの実行中に選択された装置451(たとえば装置のサブセット451)と、装置のサブセット451がどのように制御されるかによって定義される。たとえば、銀行業務の構成では、アプリケーション・ファイル175の実行によって、API441のサブセットが呼び出され、たとえばカード読取装置111とプリンタ109(装置サブセット451)が選択されて制御され、それぞれ、銀行カードの読取りとトランザクション記録の印刷が行われる。同じ銀行業務の構成で、アプリケーション・ファイルのうちの1つまたは複数のアプリケーション・ファイル(またはアプリケーション・ファイル内の行あるいはその両方)175を実行すると装置130の選択や制御は行われないが、データの記憶、サーバ195へのデータまたはメッセージの返送などを含む他のアクションが行われる。ピザを注文する他の構成では、アプリケーション・ファイルの実行によってAPI441の異なるサブセットが呼び出され、同じ装置サブセット451(すなわちカード読取装置111とプリンタ109)を選択し、制御してそれぞれ、クレジット・カードの読取りおよび代価請求が行われ、選択されたピザのトッピングを示す購入レシートが印刷される。
【0035】
構成によっては、アプリケーション・ファイル175の実行によって1つまたは複数の装置130は選択されないことに留意されたい。そのような場合、デフォルトの装置が使用される。たとえば、テキスト行を表示させるファイル500内の行が、デフォルトにより表示装置103に宛てて送られる。
【0036】
また、ブラウザ160は他のローカル・プログラムまたはライブラリあるいはその両方を使用してアプリケーション・ファイルの実行と対話するローカル実行可能モジュールの特別なセットにアクセスすることができることにも留意されたい(図6参照)。
【0037】
図5は、少なくとも1つの組込み制御プログラム620を与える、1つまたは複数のHTMLファイルおよびそれに関連づけられたハイパーテキスト構成要素ファイルを含む、アプリケーション・ファイル(構成セット)175のセットを示すブロック図である。ウェブ・ベースのアプリケーション・ファイル175はすべて、少なくとも1つの組込み制御プログラム620を与えるHTMLベースのファイルである。アプリケーション・ファイル175は、任意選択により、HTMLベースであるかどうかを問わず他のハイパーテキスト構成要素ファイルも含む。典型的には、HTMLファイルは、テキスト525、画像またはグラフィクス528、(画像528、アプレット505、スクリプト515、またはその他の組込み制御関数(プログラム)620として実施された)アニメーション、(1つの組込み制御関数620として)音声、(1つの組込み制御関数620として)映像、およびその他のハイパーリンクといった組込み構成要素ファイルである標準HTML(HTML3.0など)、などを示すタグを含んで構成されている。これらのタグは周知である。好ましい一実施形態では、ブラウザ160はNetscape Navigator v3.0である。組込みプログラムは、Java(登録商標)ScriptまたはJava(登録商標)アプレット、またはプラグインを使用する他の任意の組込みプログラムあるいはそれらの組合せを使用して実施することができる(Java(登録商標)はSun Microsystems Inc.の商標である)。図5に示すように、HTMLファイル500は、タグ505を使用してJava(登録商標)アプレットを組み込み、タグ515を使用してJava(登録商標)Script関数を組み込ませ、タグ520を使用してブラウザのプラグイン機能を呼び出す他の任意のプログラムを組み込ませている。標準HTMLタグの詳細は、「Netscape HTML3.0 Source Book」に記載されており、参照によりその全体が本明細書に組み込まれる。これらの組込み制御関数520のうちのいくつかは、コンピュータに読み込まれると組込み制御関数/プログラム620とされる。
【0038】
図5は、キオスク100を構成する典型的なアプリケーションの組込み制御プログラム620の実行で呼び出されるシステムの構成要素を示すブロック図である。
【0039】
ブラウザ160内には、機能として、HTMLファイル内のHTMLタグを解釈または認識するインタプリタ610がある。インタプリタ610は、タグのタイプとタグの内容に応じて各HTMLタグごとに関数を実行するためにHTMLタグ実行プログラム611を呼び出す。実行によって、ローカル・キオスク・プログラム(ローカル周辺API440を含む)に対するAPI呼び出し680が呼び出されない場合、ブラウザは、必要であれば標準関数のライブラリ617を使用して各HTMLタグ615を実行する。これらの非API制御関数615の例としては、テキストの表示、画像の表示などがある。これらは周知であり、従来技術のブラウザに含まれている。
【0040】
しかし、実行プログラム611が、ローカル・キオスクAPI680の1つを呼び出す組込み制御関数620に遭遇した場合、実行プログラム611はブラウザ160内部のセキュリティ・マネージャ625を呼び出して、API呼び出しが許可されているかどうかを判断する。後で詳述するように、キオスク制御機構640、またはその機構の一部640Aが、ブラウザが入っているディレクトリのサブディレクトリに入れられている。こうすることにより、実行プログラム611が組込み制御関数620に遭遇するとセキュリティ・マネージャ625は制御機構640(以下の640A)を見つけ、API制御関数621がその制御機構640/640Aをブラウザ・プロセス160にロードする。たとえば、これらの組込み制御関数620は、1つまたは複数のローカルAPI関数680/440(すなわちAPI441の選択されたサブセット)を呼び出して装置451の所与のサブセットを動作させるアプレットを含むことができる。たとえば、装置がカード読取装置の場合、組込み制御関数620は制御機構640を使用して適切なAPI440を呼び出し、カード読取り装置を開き、カードからデータを読み取り、カードを排出し、カード読み取り装置を閉じる。
【0041】
周知のブラウザ160は、ローカルAPI680を実行するためにネットワーク150からの組込み制御関数620を実行しないことに留意されたい。実際には、これらのブラウザは、周知のネットワーク・セキュリティ上の理由のため、これらのAPI制御関数の実行を特に防止する。たとえば、アプリケーション・ファイル175がネットワークを通過している間に変更された場合、アプリケーション・ファイル内の被害を受けた制御関数の実行によって、クライアント機、すなわちキオスク(100、200)で予測不可能で有害な結果が生じる可能性がある。
【0042】
Java(登録商標)は、バイト・コード伝送および検証、仮想計算機による誤り検査など、様々な特別な手段を使用してネットワーク・セキュリティ問題を克服するように設計されていることは周知である。さらに、Java(登録商標)がウェブ・ベースのアプリケーション内のアプレットとして使用されている場合、すなわちHTMLファイルに組み込まれている場合、ブラウザは通常、そのJava(登録商標)アプレットが、ブラウザに組み込まれている標準Java(登録商標)ライブラリ内のJava(登録商標)プログラム以外のクライアント機上のどのローカルJava(登録商標)プログラムにもアクセスしないように厳しく防止する。その理由は、アプレットが管理されていない環境から送られてくるため、すなわち、ネットワーク全体のどのサーバからでも送られてくる可能性があるために、単にアプレットがクライアント機に与える可能性のある被害を防止するためである。
【0043】
「Java(登録商標) Now」(クリス・ジャムサ(Kris Jamsa)著、Jamsa Presss、1996年刊、ISBN 1−884133−30−4、p4)という書物に記載されているように、「セキュリティ問題に対処するため、Java(登録商標)開発者はプログラマがJava(登録商標)アプレットを使用してコンピュータ・ウィルスを作成できないようにし、アプレットがユーザのシステムに関する情報(ユーザのシステム上のファイルなど)をサーバに転送し戻すことができないようにしなければならなかった。たとえば、競争相手のウェブ・サイトを閲覧している間に、その競争相手のJava(登録商標)アプレットに自分のハード・ディスクを読まれたとしたら嫌であろう。そのようなセキュリティを設けるために、Java(登録商標)開発者はアプレットが行うことができる操作を制限することにした。たとえば、Java(登録商標)アプレットはユーザのシステム上のファイルを読み書きすることができない。このようにすることで、アプレットはユーザ・のディスクにウィルスを記憶したり、ユーザのディスクに記憶されている情報を読み取ったりすることができない」。また、次のようにも記載されている。「Java(登録商標)は、プログラマにスタンド・アロン型プログラムを作成させる。Java(登録商標)のスタンド・アロン型プログラムは、プログラマがC++を使用して作成することができるプログラムと類似している。そのようなスタンド・アロン型プログラムは、Java(登録商標)がアプレットによる実行を制限するファイルの読み書きと操作の実行を行うことができる。それに対してJava(登録商標)アプレットは、ブラウザ内でしか実行されない...」。これは、Java(登録商標)アプレットは、ブラウザ・プロセス160の外部の関数を操作しない設計になっていることを意味する。
【0044】
標準ブラウザの動作中、ブラウザのセキュリティ・マネージャ625がこれらのセキュリティ規則に違反がないか監視する。標準Java(登録商標)ライブラリ内にないプログラムへのアクセスを要求するアプレットが見つかると、ブラウザは、単にセキュリティ違反エラーを報告し、そのアプレットの実行を停止する。
【0045】
一実施形態では、アプリケーション・ファイル175がキオスクを構成することができるようにするために、キオスク固有制御機構640の一部640Aがブラウザ160に付加され、キオスク固有制御機構640の他の一部640Bがアプリケーション・プログラミング・インタフェース(API)680(440を含む)に付加される。したがって、キオスク固有制御機構640は、ブラウザ機構640AとAPI機構640Bの2つの部分に分けられる。この実施形態では、ブラウザ機構640AとAPI機構640Bは、プロセス間通信(IPC)640Iを介して連絡する。IPC640Iインタフェースは、ブラウザ機構640AとAPI機構640Bが、直接間接呼び出しではなくメッセージ受渡しを使用して連絡することができるようにする。(IPCは周知であり、その一例は、Windows(登録商標)オペレーティング・システムにおけるダイナミック・データ交換(DDE)の使用である。Windows(登録商標)はMicrosoft Corporationの商標である。)
【0046】
ブラウザ機構640Aは、どのアプリケーション・ファイル175内のAPI制御関数620もブラウザ160内のインタプリタ610によって認識されるように、ブラウザ・サブディレクトリに入れられる。API機構640Bは、ブラウザ機構640Aからメッセージを受け取り、そのメッセージに従って440を含む様々な関数を独立して制御する。このようにして、ブラウザからのアプレットは、1つまたは複数の装置およびローカル機能を制御することができるようになるが、それはブラウザ機構640Aを有する関数のみである。したがって、キオスク内の他の関数は、ネットワークを介したアプリケーション・ファイル175によるアクセスからは安全に保護されたままである。したがって、キオスクは構成可能ではあるが、安全に保護される。さらに、API機構640BはデバイスAPI440をブラウザからは独立して操作するため、API機構640Bに渡された装置制御関数(所与の装置を制御するために使用されるAPI制御関数620のサブセット)は、そのアプリケーション・ファイルが後でブラウザ160で除去または変更された場合であっても、装置のそのサブセット451についてのみ実行される。これによって、装置動作を持続的な方法で行うことができる。すなわちAPI関数(640、440)が開始された後は、アプリケーション・ファイル175がブラウザ160によって変更/除去されるかどうかに関係なく、その関数を完了することができる。この実行持続性によって、キオスクとのある種のユーザ対話をより効率的にすることができる。たとえば、アプリケーション・ファイル175は、カード発行機に新しいカードを発行するように指示することができる。次に、ユーザ/ブラウザは、カード発行機が磁気ストライプにデータを書き込んで新しいカードの打出しをしている間に別のアプリケーション・ファイルに移ることができる。
【0047】
ブラウザ機構640Aは、1)ブラウザ自体の標準ディレクトリ/ライブラリ内に入れられ、2)アプリケーション・ファイル175が、1つまたは複数のローカルAPI関数に関するメッセージ(たとえば関数名および関連パラメータ)を渡すネーム・サーバ機構を使用したメッセージ受渡し(図7および図9とその説明を参照)か、またはローカルAPI関数の直接呼び出し(図8および図10とその説明を参照)のいずれかによって、ローカルAPI680のうちの1つまたは複数のローカルAPI680を呼び出すことができるようにする構造を有する。
【0048】
好ましい一実施形態では、ブラウザ機構640Aは、アプリケーション・ファイル500にとって既知のJava(登録商標) API(「Java(登録商標)ラッパ」と呼ぶ場合もある)を含み、(たとえばプロセス間通信またはネーム・サーバを使用して)通信を行うか、またはローカルAPI680を直接呼び出すためのネイティブ言語(たとえばC++)でプログラムされた関数をさらに含む。
【0049】
API機構640Bは、1)様々なローカル機能モジュール(たとえばブラウザ制御モジュール、協同機能モジュール、装置制御モジュール、システム監視モジュールなど)に直接アクセスし、2)ネーム・サーバ機構を使用するかまたは関連する関数モジュールを直接呼び出すことによって1つまたは複数のAPI関数680から成るセットを呼び出すことができる構造を有し、3)API640Aとのメッセージ・ベースの通信を可能にするIPCを有する。(API関数680は、キオスク内の所与の装置または機能を特に制御するように作成され、アプリケーション・ファイル175によってアクセス可能であっても可能でなくてもよいことに留意されたい。)
【0050】
このキオスク制御機構を使用する一応用例は、アプリケーションがキオスクの構成方法を決定する前に、システム・セットアップおよび状況を問い合わせることである。アプリケーション・ファイル175内で、アプレットCallAPI.classを使用してAPI関数640「query_status」を呼び出すことができる。たとえば、
このアプレットがブラウザによって実行されると、まず、kioskAppInterfaceというクラスをインスタンス化する。このファイルおよび関連するDLLは、ブラウザ標準ライブラリに入れられる。次に、send_APImessage()というkioskAppInterfaceクラス(640A)のメソッドを使用して、APIメッセージ”query_status”(640A)を送る。このメソッドは、プロセス間通信機能640Iを呼び出して、API機構640Bにメッセージを送る。次に、AIP機構640Bは、関連するローカルAPI関数680を呼び出してシステム状況データを入手し、そのデータをプロセス間通信機能640Iを介して640Aに送り返す。アプレットは、メソッドget_APImessage()をコマンド”status”と共に使用して、640Bから送り返されたデータを入手し、そのデータをsysStatusというクラス内のデータ構造に格納する。
【0051】
640Aと640Bとの間のAPIメッセージ受渡しには、ネーム・サーバ機能機構(以下の図7を参照)を使用することができる。一般に、640Bがメッセージを入手すると、(640B内の)ネーム・サーバ機能がそのメッセージを解析し、対応するローカル機能API680を呼び出す。この例では、システム監視関数APIを呼び出してシステム状況データを入手する。これは、以下のように例示することができる。
上述のように”sysStatus”クラス・データ構造で入手されたデータの例を以下に示す。
Num. of Device = 5
laser printer = OK
card reader = OK
card issuer = no card supply
receipt printer = OK
ticket printer = OK
このメッセージは、キオスク上に5個の装置があり、カードを必要とするカード発行機以外はすべて動作していることを示している。
【0052】
キオスクの現況に従って、アプリケーション・ファイル175は、レーザ・プリンタ、受領書プリンタ、およびカード読み取り機(装置サブセット451)を選択して使用することができると同時に、状況データが示すようにカード読み取り機のカード供給機構にカードが入っていないため、カード発行機の使用を回避する(このような状況では、カードは他の手段で作成し、キオスクのユーザに郵送される)。
【0053】
ある種の好ましい実施形態では、このような技法を使用して、キオスクにどの装置が備えられているか、それらの装置が正常に機能しているかどうかを判断する。このようにして、サーバは、キオスクがどの装置を備えているかやどの装置が動作可能かに基づいて、キオスクを構成するための特定のアプリケーション・ファイル175を供給することができる。したがって、それぞれのアプリケーション構成のためにサーバでアプリケーション・ファイルを適切に選択することにより、任意の数の異なるキオスク設計や動作状況を構成することができる。たとえば、銀行業務アプリケーションでは、高品質の銀行取引明細書を印刷するためにレーザ・プリンタを備えたキオスクにはレーザ・プリンタ制御を含むアプリケーション・ファイルとして構成されるファイル500が送られるのに対し、それと同じタスク(銀行取引明細書)のために(使用可能かつ動作可能な)受領書プリンタしか持っていないキオスクには、受領書プリンタ制御を含むアプリケーション・ファイルとして構成される他のファイル500が送られる。このようにして、誤動作するレーザ・プリンタを備えたキオスクや、レーザ・プリンタのないより低コストのキオスクでも、銀行アプリケーション用に適切に構成することができる。
【0054】
他の実施形態では、1つまたは複数のサーバがアプリケーション・ファイルで要求を送ることによって状況情報を要求することができる。この情報を使用して、サービスの提供を必要とするキオスクまたはそれらのキオスク上の装置あるいはその両方を判断することができる。たとえば、必要な場合にサービス技術員を派遣してカード発行機にカードを追加することができる。
【0055】
他の実施形態では、キオスクまたは装置のサービス履歴で使用するために状況情報を要求することができる。さらに、他のマーケティング情報、たとえば、特定の設置場所でどのクラスの顧客によってどの構成が最も要求されるかという情報を入手することもできる。
【0056】
好ましい一実施形態では、キオスクは、他のアプリケーションのバックグラウンドで実行されるブラウザ・ウィンドウ(システム監視アプリケーション・ウィンドウ)を有することができる。このシステム監視アプリケーション・ウィンドウは、1つまたは複数のサーバと通信する1つまたは複数のアプレットを含む1つまたは複数のHTMLファイルを含むことができる。(サーバとのJava(登録商標)アプレット通信のための機構は周知である。)このシステム監視アプリケーション・ウィンドウは、キオスクに電源投入されると常に開始することができ、キオスクが動作中である限り稼働し続ける。このようにして、1つまたは複数のサーバが、アプレットとの通信を介して随時、キオスクのシステム状況情報を入手することができる。
【0057】
本明細書に記載の手法によって得られる可能性の中には以下のものがある。
1)「軽量クライアント」キオスク。キオスクに事前インストールする必要があるアプリケーション固有ソフトウェアがないため、コスト効果の高いキオスクの構築と維持を行うことができる。したがって、サーバ上で1つのアプリケーション(アプリケーション・ファイル500)を作成し、それをそのサーバに接続されているネットワーク上の多数の「軽量」キオスクが使用することができる。ネットワーク上の「軽量」キオスクのいずれのためにもアプリケーション固有のソフトウェアを作成する必要がない。実際には、ネットワークは、アプリケーション固有ソフトウェアをまったく持たない1つまたは複数の標準(したがってより安価な)「軽量」キオスクで構成することができる。(たとえば、キオスク製造業者は、どの用途にも使用され、どの用途からも独立した1つまたは複数の標準キオスクを製造することができる。)アプリケーション・ファイル500をサーバで作成、更新、保守することができ、キオスク内のどのプログラミングにも変更を加えることなく、ネットワーク上の1つまたは複数のキオスクを再構成するために使用することができる。この「軽量クライアント」キオスクは、いつでもどこでも汎用公共アクセスを提供するためのキオスクの大量配備を可能にし、たとえばインターネットまたは電話網あるいはその両方を介して通信することができる「キオスク電話」を可能にする。
【0058】
2)キオスクが再構成可能であるため、サーバで多数の多様なアプリケーションを開発することができ、そのキオスクを介して配布することができる。したがって、アプリケーション提供者はネットワーク上にあるどのキオスクでも共用することができる。これらのアプリケーションは、特定の時点や特定の状況、たとえばユーザ要求または所与の環境条件(雨が降り出した時に傘店が広告を出すなど)のために、キオスクに供給することができる。
【0059】
3)キオスクはインターネットおよびウェブのオープン・スタンダード技術に基づくことができるため、情報や媒体が豊富で、技術に富むインターネットおよびワールド・ワイド・ウェブの利点を利用することができる。
【0060】
ユーザがこのキオスク100をどのように使用できるかを示すいくつかの非限定的な例を以下に示す。
1.遊休時におけるキオスクの画面によって、様々な画像、ビデオ・クリップ、音声、グラフィクス・パターンおよびテキストを動的に表示する。画面の内容はすべてHTMLファイルから制御され、これらのHTMLファイルはキオスクの要求またはサーバのプッシュに基づいて更新される。サーバ提供者は、この異なる種類の画面「スペース」およびその表示時間に対して異なる料金を支払うことができる。朝と夕方の通勤時間には、主にヘッドライン・ニュースと金融市場の変化を表示し、昼食時間には多くのレストランの宣伝を表示する。週末には、百貨店の特売広告を表示することもできる。この内容は、そばを通る人々を常に、画面にタッチするように誘う。
2.ユーザは画面を見て歩み寄り、画面にタッチする。画面はただちに次の画面に切り替わり、アプリケーションのカテゴリを示す多くの画像アイコンとテキストを表示する。
3.ユーザがピザ注文アイコンにタッチすると、ユーザがピザの種類を選択することができる画面が提示される。画面は、ユーザに対してピザの配達場所と時間の入力を促し、ユーザは画面上のタッチ・キーパッドを介して情報を入力することができる。HTML内に組み込まれた制御プログラム620がこのデータを取り込む。次に、画面はユーザに対して自分のクレジット・カードを挿入して支払いを認めるように促す。制御プログラムは、カード読み取り機を開き、クレジット・カード情報を取り込む。次に、制御プログラムは関連するキオスクAPI関数を使用してキオスク上で通信機能を呼び出し、(たとえばモデムを介して)クレジット・カード会社と(たとえばファクス伝送を介して)ピザ店とにアクセスする。これらの機能が完了した後、画面は顧客に注文のための情報を確認する。その他の一般小売業トランザクションも同様にして行うことができる。
4.ユーザは、電話アイコンにタッチして電話を掛けることもできる。画面上に電話アプリケーションHTMLファイルが電話キーパッドと共に表示される。ユーザが番号を入力した後、組込み制御プログラムが関連API関数640Aを呼び出し、電話呼出しを開始する。これは、キオスクのネットワーク接続(122、123、150)、アプリケーション・ファイル500、およびユーザ選択105Aに応じて、公衆電話網(PSTN)、統合サービス・ディジタル網(ISDN)、またはインターネット電話を介した従来の電話呼出しとすることができる。電話が接続されると、ユーザはキオスクに備えられた送受話器またはスピーカフォンを使用することができる(欧州特許出願第789470号に対応する、1996年2月6日出願の「Multipoint Simultaneous Voice and Data Services Using a Media Splitter Gateway Architecture」という名称のホルテンシウス(Hortensius)等の米国特許出願第08/595897号を参照されたい。これは、参照によりその全体が本明細書に組み込まれる)。
【0061】
他の好ましい実施形態では、ユーザは相手方が同じ機能を備えていればアプリケーション共用機能を使用してテレビ電話呼出しまたはテレビ会議呼出しも選択することができる。その場合、HTMLアプリケーションに組み込まれた制御プログラム620が関連API関数640Aを呼び出して、キオスクのテレビ会議機能を開始する。ユーザはキオスクに備えられたタッチ・スクリーンと電子ペンを使用して会話を容易にすることができる(前述のフィン等の「Internet Web Page Sharing」特許出願に記載されている)。
5.ユーザはファクス機能を選択することもできる。画面は、ユーザに対して指示を出して、ファクス番号を入力し、クレジット・カードを挿入してファクスする文書を適切な装置(文書スロットなど)に入れ、準備が整ったら画面上のOKボタンにタッチするように促す。ボタンにタッチすると、組込み制御プログラム620がキオスク上で関連装置制御API関数640Aを呼び出し、スキャナを動作させ、文書を走査して文書を返し、ネットワーク、たとえばPSTNやインターネットを介して文書を電子送信する。
6.ユーザは、電子メール機能を選択することもできる。画面は、電子メール用のHTMLアプリケーションを表示する。組込み制御プログラム620が関連API関数640Aを呼び出すか、またはブラウザを介してメール・サーバおよびディレクトリ・サーバと直接通信し、ユーザを識別し、既存の電子メール・メッセージの取出しまたは新規メッセージの送信を行う。
7.ユーザは、フロッピィ・ディスケットなどの媒体上の電子ファイルを転送する105Aを選択することもできる。画面は、ユーザに対して特定のプロセスに従うように、たとえばフロッピィをスロットに挿入するように促す。組込み制御プログラム620が関連API関数640Aを呼び出し、ディスケットを読み取り、ユーザが選択したファイルの読み取りまたは書込みを行い、それを、たとえば誰かの電子メール・アドレスに送信するなど、ユーザの指示に従って転送する。
8.ユーザは、弁護士、医師、会計士、不動産業者、融資ブローカー、投資顧問業者、保険業者など、広範なサービス提供者(たとえばサーバ上のアプリケーション所有者)の中からサービスを選択することができる。画面は、HTMLファイル内の対応するアプリケーションを表示し、要求されたサービスを供給する(ユーザ選択に基づき、このサービスは、英語、スペイン語、中国語、日本語、フランス語、イタリア語など、任意の自然言語で提示することができる。)
9.サービス提供者のアプリケーションによっては、映像、音声、共用画面、および遠隔装置制御機能を使用して、リアルタイム協同セッションも開始することができる(前述したフィン等の特許を参照)。組込み制御プログラムが関連API関数620を呼び出し、映像、音声、およびデータ通信を処理する。
10.ユーザは、情報の検索を選択することができる。画面がユーザにどのような情報が必要かを入力するように促し、組込制御プログラムがそのデータを取り込み、情報のタイプの応じて照会を送る。照会は、インタフェースを介して、周知の検索エンジン、アプリケーション・サーバ上のデータベース、および他のネットワーク・サーバ上のデータベースを使用して送ることができる。
11.ユーザは、カスタマイズされたアプリケーション・サーバを選択することができる。たとえば、ユーザが(たとえば磁気カードまたはスマート・カード上でアクセスされた情報から)識別されると、アプリケーション・ファイルは、ユーザのためにカスタマイズされた情報やキオスク構成を提供する。
12.ユーザは、キオスク100によって最初に提供される構成ではないキオスク100の構成を選択することができる。キオスクの第1の構成と対話することによって、他のアプリケーション・ファイル175の参照によってキオスクを第2の構成に再構成することができる。たとえば、第1の構成が、第2の構成のためのアプリケーション・ファイル175にアクセスするユーザ入力(アイコンまたはハイパーリンク)を備えることができる。
13.ユーザは、サーバが「学習」アプリケーション・ファイル175を提供する、ネットワークに接続された1つまたは複数のキオスクにアクセスすることができる一人または複数の学生または受講者とすることができる。
14.ユーザは、キオスクから「電子」製品を選択することができる。たとえば、音楽、ビデオ、コンピュータ・ソフトウェア、またはその他のマルチメディア情報あるいはそれらの組合せを有するコンパクト・ディスク(CD)を、適切なディスペンサから販売することができる。あるいは、適切なキオスク装置によって空の媒体(たとえばテープ、ディスケット、書込み可能CDなど)に書き込み、ネットワークを介してユーザに伝送可能な「電子」情報を無形の形態で提供することもできる。たとえば、最新のオペラ録音を、工場で「カット」されたCDを送らずに、CDで提供することができる。
【0062】
キオスク装置との間で情報の入出力を行うために使用される、ある種のキオスク制御機構640の他の例を以下に示す。一般的入力状況で、アプリケーション・ファイル500は、API関数640「hardkey_input」を呼び出すために使用されるCllAPI.classというアプレットを有する。たとえば、以下の通りである。
【0063】
【0064】
このアプレットを以下のようにHTMLファイルに組み込む。
【0065】
【0066】
このアプレットは、ブラウザによって実行されると、まず、kioskAppInterfaceというクラスをインスタンス化する。このファイルおよび関連DLLは、ブラウザ標準ライブラリに入れられる。次に、send_APImessage()というkioskAppInterfaceクラス(640A)のメソッドを使用して、APIメッセージ「hardkey_input」(640A)を送る。このメソッドは、プロセス間通信機能640Iを呼び出して、メッセージをAPI機構640Bに送る。次に、API機構640Bが関連ローカルAPI関数680を呼び出し、キオスクに備えられたハードウェア・キーからのキー入力を取り込み、それをプロセス間通信機能640Iを介して640Aに送り返す。このアプレットは、コマンド「input」と共にget_AIPmessage()を使用して、640Bから送られたデータを入手し、InputDataというクラス内のデータ構造に格納する。
【0067】
【0068】
アプリケーション・ファイル500が、「ソフト・キー」入力を呼び出す組込みアプレットを有する場合も、同様のAPIメッセージが640Aと640Bの間で受渡しされ、異なるAPI関数680を使用して画面上にソフトキー・パッド・ウィンドウを「ポップアップ」表示し、ユーザ入力を取り込むことに留意されたい。このようなソフト・キー入力のためのAPI関数680は周知である。
【0069】
同様にして、アプリケーション・ファイル500が、出力装置、たとえばレーザ・プリンタ上でのファイルのプリントを呼び出す場合、組込みアプレットを有する場合、上記のコードはローカルAPI関数680のLaser_print(FileName)に指示して、レーザ・プリンタを制御し、ファイル「FileName」をプリントさせる。
【0070】
図7に、ICP640Iおよびネーム・サーバ機能640Bを使用するキオスク制御機構640の一実施形態を示す。この場合、アプリケーション・ファイル(175、500)によって、(主としてメッセージ受渡しのための)汎用通信API関数640Aの小さな固定セットが使用される。これらの通信API関数は、640Aと60Bとの間でメッセージの通信または受渡しを行う。メッセージの実行は、640B内のネーム・サーバ機能によって行われる。サーバ機能640Bは、IPC640Iサーバとしての機能する。ネーム・サーバ機能は、様々な事前定義メッセージを認識する。たとえば、一実施形態では、通信APIのセットは、send_mesage(message)とget_message(message)の2つの関数を有する。しかし、複数の「message」がある。640B内のネーム・サーバ機能は、これらの各事前定義メッセージが入ったリストを融資、各事前定義メッセージは、それぞれの事前定義メッセージを実行するために適切なローカルAPI関数680を呼び出すことができる1組の論理に関連づけられている。
【0071】
この実施形態では、新しい事前定義メッセージと、新しい機能を実行するのに必要な論理とを与えることによって、新しい装置やそれらの新しい装置によって実行される新しい機能を追加することができる。このようにして、アプリケーション・ファイル(175、500)は、与えられた通信API関数において新しいメッセージ識別子を使用するだけで、それらの新しい機能を実行することができる。これには、典型的には、アプリケーション・ファイル500内で「ASCII」または「text」メッセージ識別子を変更するだけでよい。新しい機能を使用するために、新しい組込みプログラムのコード化とコンパイルを行ったり、既存のプログラムを修正したりする必要はない。したがって、キオスク提供者が必要な論理をネーム・サーバ640Bにすでに組み込んでいるため、アプリケーション所有者(したがってサーバ上のアプリケーション・ファイル)が新しい機能を実行するためにしなければならないことはわずかしかない。
【0072】
図8は、ブラウザ機構640Aにおけるマッピング・ローカルAPIのためのIPC640Iを使用するキオスク制御機構640の代替実施形態を示すブロック図である。この例では、多くのキオスク制御関数620またはすべてのキオスク制御関数620が、ブラウザ機構640Aでアプリケーション・ファイル500から対応するマッピング・ローカルAPIを直接呼び出すことによって実行される。各マッピング・ローカルAPI640Aは、IPC640Iを介してAPI機構640Bと連絡し、API機構640Bが適切なローカルAPI関数680を呼び出す。ここでは、マッピング・ローカルAPI640Aは、Java(登録商標) APIプログラムである。1つまたは複数のローカルAPI680のために特に作成された1つのJava(登録商標) APIプログラムがある。ネーム・サーバの場合とは異なり、Java(登録商標) APIプログラムのうちの少なくとも1つのAPIプログラムが、ローカルAPI680のうちの1つまたは複数のローカルAPI680を制御する論理を持っていなければならない。これらのJava(登録商標) APIプログラム640は事前定義され、アプリケーション・ファイル500にとって既知である。
【0073】
この実施形態では、ブラウザ機構640A内に新しいマッピング・ローカルAPI(640A)をそれらに対応するAPI機構640Bと共に設けることによって、新しい装置やそれらの装置によって実行される新規機能を追加することができる。この実施形態では、アプリケーション・ファイル500は、これらの各新規機能を直接呼び出しで実行する必要がある。したがって、新規機能を実行するための論理の一部または全部を、アプリケーション・ファイル500に定義する必要がある。たとえば、サーバでアプリケーション・ファイル500を作成するアプリケーション・プログラマは、たとえば新しいJava(登録商標)アプレットを作成することによってこの新しい論理をコード化する必要がある。
【0074】
図9に、キオスク制御機構640の他の実施形態を示す。この実施形態では、IPC640Iがなく、したがってAPI機構640Bはブラウザ機構640Aにマージされる。しかし、ネーム・サーバ機能(やはりマージされる)は使用され、通信APIのセットと組み合わされて、ブラウザ機構(640B、640)になる。この実施形態では、(アプレットを含む)アプリケーション・ファイル500がブラウザ160によって「除去(ドロップ)」され、ローカル機能680が終了するため、持続性が失われる。この実施形態は、持続性が不要な場合、たとえば、ブラウザによって制御される画面以外に必要なキオスク装置がない場合に有用である。
【0075】
図10に、キオスク制御機構640の他の実施形態を示す。この実施形態には、IPC640IとAPI機構640Bがまったくない。この場合は、アプレットがAPI関数(640、640A)を直接呼び出し、API関数がローカルAPI関数680を直接呼び出す。ここでは、API関数640はJava(登録商標) APIプログラムである。1つまたは複数の各ローカルAPI680のために特に作成された1つのJava(登録商標) APIプログラムがある。ネーム・サーバの場合とは異なり、Java(登録商標) APIプログラムのうちの少なくとも1つのJava(登録商標) APIプログラムが、ローカルAPI680のうちの1つまたは複数のローカルAPIプログラムを制御する論理を持っていなければならない。これらのJava(登録商標) APIプログラム640は事前定義され、アプリケーション・ファイル500にとって既知である。この実施形態でも持続性は失われる。
【0076】
図11は、キオスクによって行われる実行プロセス700のフローチャートである。
【0077】
まず、ブラウザ160がアプリケーション・ファイル175から(HTML)ファイル500を入手する705。次に、ブラウザ160は、アプリケーション・ファイル500のタグと内容を解釈する710。ブラウザ160がローカルAPI呼び出しに遭遇しない場合715、ブラウザは関連する周知の処置を行って720、タグを実行する。ブラウザがローカルAPI呼び出しに遭遇した場合715、ブラウザは関連API関数(640または640A)を呼び出す725。
【0078】
好ましい一実施形態では、ブラウザ機構640Aはプロセス間通信機能640Iを介してAPI機構640Bにメッセージを伝える730。あるいは、前述のようにメッセージ・サーバが使用される。API機構640Bはメッセージを受け取り、関連ローカル機能680を呼び出す735。API機構640Bは、プロセス間通信機能640Iを介してブラウザ機構640Aにローカル機能の実行結果についてのメッセージを伝える740。
【0079】
ブラウザは、画面入力、組込み制御プログラム論理、または外部ブラウザ制御機能660を介して制御され、次のHTMLファイルを要求する。このようにして、ブラウザをローカル・キオスク装置として扱うことができる。したがって、ブラウザを制御して、ローカルAPI660を使用して周知のブラウザ・インタフェース(API681)にアクセスすることによって、ネットワークを介して1つまたは複数のサーバから任意の特定のHTMLファイルをロードすることができる。ローカルAPI660は、組込み制御プログラム620がブラウザ・イン681にアクセスすることができるようにするように作成される(上記参照)。
【0080】
図12は、ネットワーク上の1つまたは複数のサーバで実行されるサーバ・プロセス800のフローチャートである。サーバが、ネットワークを介して1つまたは複数のキオスクから要求を受け取る810。この要求では、アプリケーション・ファイル175のうちのどのアプリケーション・ファイル175がキオスクによって選択/アクセスされるかが識別される。この要求は、アプリケーション・ファイルの要求/アクセスを行っているキオスク100の設置場所も含む。サーバは、要求を受け取ると、要求されたアプリケーション・ファイル175をキオスクに送る820。アプリケーション・ファイル175は、サーバ上の論理によって事前作成または動的に生成することができる。
【0081】
他の実施形態では、キオスクはプロキシ・サーバ195Aに要求を送る810。プロキシ・サーバ195Aは、典型的にはサーバ195よりもキオスクの近くに配置される。あるいは、プロキシ・サーバ195Aは、キオスク100/200ないのコンピュータ上に配置することもできる。たとえば、サーバ195は第1の都市、たとえば本社の所在地に配置され、プロキシ・サーバ195Aは異なる都市にあるキオスクに接続されたLAN上に配置することができる。プロキシ・サーバ195Aは、事前定義されたスケジュールに従ってキオスクが必要とする多くのアプリケーション・ファイル175またはすべてのアプリケーション・ファイル175を求める要求をネットワーク150を介してサーバに送ることができる。このようにして、キオスクは、アプリケーション・ファイルを必要とするとき、プロキシ・サーバ195A上のアプリケーション・ファイル175に、より高速に、より高い信頼性をもってアクセスすることができる。さらに、プロキシ・サーバは、ネットワーク上の「オフ・ピーク」時間中にサーバ195に対してアプリケーション・ファイル175を要求することができる。
【0082】
他の実施形態では、サーバ(195、195A)を使用して、サーバ195によって識別された1つまたは複数のキオスクに情報を「プッシュ」することができる。たとえば、ステップ810で、サーバ195で要求が開始される。この開始810は、様々な理由で行われるようにすることができる。たとえば、アプリケーションを更新するには、新しいアプリケーション・ファイル175を使用して1つまたは複数のキオスクを再構成する必要がある。あるいは、毎日特定の時刻に新しい構成の提供、すなわち毎日午後5時に異なる情報源からのニュースの提供を必要とする場合がある。サーバは、キオスクの定期「点検」を「プッシュ」して、どのキオスクが保守を必要としているかを判断することもできる。
【0083】
この実施形態の好ましい一実施態様は、キオスクで稼働する「サーバ・プッシュ機能」685を使用する。サーバ・プッシュ機能685は、ネットワーク150に接続され、サーバ195からメッセージを受け取ることができる。サーバ・プッシュ機能685は、ブラウザ・インタフェース681にもアクセスすることができる。サーバ195は、ブラウザにサーバ195に対して特定のアプリケーション・ファイル500を要求させる要求を、サーバ・プッシュ機能685に送る。
【0084】
図13は、組込み制御プログラムがJava(登録商標)の代わりにActiveX技法を使用する場合の機構を示すブロック図である。ActiveX制御オブジェクトは、C++やVisual Basic、Java(登録商標)などの様々なプログラミング言語を使用して実現可能である。ActiveXオブジェクトは、HTMLファイルに組み込むことができる。たとえば以下の通りである。
【0085】
【0086】
この場合、ブラウザはActiveX使用可能でなければならない。すなわち、ActiveX技法をサポートしていなければならない。一実施形態では、ブラウザはMicrosoft Internet Explorerである。
【0087】
アプリケーション・ファイル500がブラウザ160に到着すると、HTMLファイルがそのタグと内容に基づいて解釈される910。前述のJava(登録商標)の場合と同様に、ブラウザは前述のように非API制御関数を実行する920。ブラウザによって実行されたAPI制御関数930がAPI940を直接呼び出す。Java(登録商標)の場合と同様に、APIの最初の部分940Aがプロセス間通信機能940Iを介してAPIの第2の部分(たとえば640B)と連絡し940B、この第2の部分がローカルAPI680を呼び出す。
【0088】
ActiveXと前述のJava(登録商標)の場合との相違は、ActiveXは、C++やVisual Basicなどの非ネットワーク言語で作成されたオブジェクトを含むことができることである。これらの言語のオブジェクトは、実行可能コードでブラウザにダウンロードされる。したがって、このようなオブジェクトは、同じ言語で作成されたプログラムが行えることはどのようなことでも行うことができるが、Java(登録商標)アプレットが持っているようなセキュリティ上の制限を持たない。したがって、組込み制御プログラム620を、非Java(登録商標)言語を使用してActiveX制御プログラムとして作成した場合、API関数940はキオスク内の任意のどこにでも入れることができる。ActiveXオブジェクトでJava(登録商標)を使用する場合は、やはり前述の機構を使用しなければならない。
【0089】
図14から図17で、前述の番号が付いたボックスは前述と同様の機能を有する。
【0090】
図14に、IPCおよびネーム・サーバ機能を使用するキオスク制御機構940の一実施形態を示す。ブラウザ機構940Aは、ブラウザ・ディレクトリに入れる必要がなく、キオスクのメモリ内の任意の場所、たとえばキオスクのシステム・ディレクトリに入れることができるネイティブ言語APIである。しかし、ブラウザ機構940Aのパス(すなわち場所)は、アプリケーション・ファイル500にわかっていなければならない。
【0091】
図15は、IPC640Iをマッピング・ローカルAPIと共に使用するキオスク制御機構940の他の実施形態を示すブロック図である。図8と同様、ローカルAPI680のうちの1つまたは複数のローカルAPI680のための少なくとも1つのブラウザ機構940がある。
【0092】
図16に、IPC640Iのないキオスク制御機構940の他の実施形態を示す。この場合、ブラウザ機構940Aは図14で前述したように配置することができる。
【0093】
図17に、制御をJava(登録商標)で実施しない場合にActiveX制御を使用するキオスク制御機構の他の実施形態を示す。この実施形態では、そのような組込みActiveX制御がローカルAPI680を直接呼び出すことができるため、940はまったく不要である。この場合、実行の持続性は失われる。
【0094】
図18に、いわゆるプラグイン技法を使用する他のキオスク制御機構を示す。この場合、好ましい実施形態はNetscape Navigator v3.0またはそれ以降のブラウザを使用する。
【0095】
ここでは、制御機構1040は、ブラウザ機構(プラグイン・モジュールおよびそれに付随するJava(登録商標)ラッパ)1040Aを含み、このブラウザ機構にアプリケーション・ファイル/ファイル(175、500)内のキオスク制御プログラム(620)がアクセスする。プラグイン・モジュール1040Aは、アクセスされると、ブラウザ160の一部として実行される。実行プラグイン・モジュール1040Aは、プロセス間通信機能1040Iを呼び出す。このプロセス間通信機能(IPC)1040Iは、前述のIPC(640I、940I)と同じものとすることができる。IPC1040Iは、API機構1040Bと連絡してローカルAPI680を呼び出す。API機構1040Bは、前述の機構(640B、940B)と同じものとすることができる。
【0096】
この実施形態では、ブラウザ機構1040Aはプラグイン技法(ザン・オリファント(Zan Oliphant)の「Programming Netscape Plug−ins」(Sams.net、1996年刊、ISBN1−57521−098−3)を参照)によって実施される。プラグイン技法は、ネイティブ・コード・モジュールを使用する。すなわち、CまたはC++あるいは同様のプログラミング言語を使用して実施され、さらに、より好ましい実施形態ではJava(登録商標)ラッパでも実施される。プラグイン1040Aは、ブラウザ160によって指定された特別なプラグイン・ディレクトリに入れられる。HTMLインタプリタ610が、マルチパーパス・インターネット・メール・エクステンション(MIME)タイプとも呼ばれる組込みファイル内の固有ファイル名拡張子によってそれぞれのプラグイン1040Aを識別する組込みファイル(620)に遭遇すると、プラグイン1040Aはブラウザ160に動的にロードされる。
【0097】
組込みキオスク制御プログラム(620)は、1)Java(登録商標)Script関数、2)Java(登録商標)アプレット、または3)固有拡張子を持つMIMEファイルに含まれる事前定義された1組の制御スクリプトとすることができる。
【0098】
ブラウザ160がプラグイン・モジュール1040Aをロードすると、プラグイン1040AはHTML文書に使用可能になる。すなわち、プラグイン内の関数(プラグイン関数)が組込みプログラム(620)、たとえば呼び出すJava(登録商標)Script関数またはJava(登録商標)アプレット関数に使用可能になる。これを行う際、キオスクのローカルAPI680を1つまたは複数の対応するプラグイン1040Aを介して所与の組込みプログラム620によって制御することができる。言い換えると、プラグイン・モジュール1040AはIPC関数1040Iを呼び出して、対応するAPI機構1040Bを介してキオスクのローカルAPI680を呼び出す。
【0099】
非限定的な3つの例を以下に示す。
【0100】
例1は、組込みキオスク制御プログラム1030としてJava(登録商標)Script関数を、メッセージ受渡機能を備えるプラグイン・モジュール1040Aと共に使用する。
【0101】
制御プログラム1030を有するアプリケーション・ファイル175は、以下の通りである。
【0102】
【0103】
Java(登録商標)アプレット「MYAPPLET.Java」には以下のようなコードが含まれる。
【0104】
【0105】
Java(登録商標)ラッパ・ファイルPluginWrapper.javaには、以下のコードが含まれる。
【0106】
【0107】
上記の組込み制御プログラム1030に関連づけられたプラグイン・モジュール1040Aは、とえばC++などのネイティブ言語コードで実施されたメソッドSendMsg()を提供する。
【0108】
例2は、メッセージ受渡し機能を備えるプラグイン・モジュール1040Aと共に、組込みキオスク制御プログラム1030としてJava(登録商標)アプレットを直接使用する。
【0109】
制御プログラム1030を有するアプリケーション・ファイル175は以下の通りである。
【0110】
【0111】
Java(登録商標)アプレット「MYAPPLET.Java」には以下のようなコードが含まれる。
【0112】
【0113】
Java(登録商標)ラッパ・ファイルPluginWrapper.javaには以下のコードが含まれる。
【0114】
例1と同じように、上記のプラグイン組込み制御プログラム1030に関連づけられたプラグイン・モジュール1040Aが、たとえばC++などのネイティブ言語で実施されたメソッドSendMsg()を提供する。
【0115】
例3は、1組の事前定義制御スクリプトと、キオスク・ローカルAPI680を制御する対応するプラグイン・モジュール1040Aとを含み、それらのスクリプトを実行してキオスクのローカルAPI680を制御する組込みファイル1030を使用する。
【0116】
組込みファイル1030を有するアプリケーション・ファイル175は、以下のようになる。
【0117】
【0118】
プラグイン・モジュール104Aは以下のコードから成ることができる。
上記の3つのプラグイン関数は、Netscapeブラウザ160が備える標準プラグインAPIを実施する。ここでは、ブラウザ160が備える他のプラグインAPIは使用されない。
【0119】
<embed>タグがHTMLインタプリタ610によって解釈されると、MSGPASS.METというファイル1030がローカル・ディスクにダウンロードされ、それに対応するプラグイン・モジュール1040Aがまだブラウザ160にロードされていない場合、そのプラグイン・モジュール1040Aがロードされる。ブラウザ160は、NPP_NewというプラグインAPIを自動的に呼び出してプラグイン・インスタンスを作成し、ダウンロードされたファイルの名前を持つプラグインAPIであるNPPStreamAsFile()を呼び出して、そのファイルを実行する。必要であれば、ブラウザ160はNPP_Destroy()というプラグインAPIを呼び出してプラグイン・インスタンスを破棄する。
【0120】
組込みファイル内の事前定義スクリプトを解釈して実行するためにクラスKioskIPCと関数InterpretFile()を、C++などのネイティブ言語を使用して実施することができる。この意味で、関数InterpretFile()スクリプトが、妥当なパフォーマンスでスクリプトを解釈して必要な関数を実行することができるように実施されている限り、スクリプトをどのようなものにすることができるかについて制限がない。一例は以下の通りである。
【0121】
組込みファイル内では、スクリプトは以下のようになる。
【0122】
【0124】
プラグイン・モジュール1040Aは、その機能の特定の対話式制御を実現するために、ブラウザ160ウィンドウ内にいくつかのボタンを作成することもできる。たとえば、「PrintCurrentPage」というメッセージを送るSendMsg()関数を呼び出すために、「Print(プリント)」というボタンを作成し、タッチまたはクリックされるのを待つことができる。<embed>タグは、プラグイン・モジュール1040Aの実施態様に従ってプラグイン・モジュール1040Aを制御するための1組の事前定義パラメータも含むことができる。<embed>タグの使用方法とプラグイン・モジュールの実施方法については、「HTML Publishing for Netscape」(スチュアート・ハリス(Stuart Harris)およびゲイル・キダー(Gayle Kidder)著、ISBN1−56604−288−7)およびザン・オリファント(Zan Olphant)による上記の書物を参照されたい。
【0125】
以下に本発明をまとめて示す。
(1) ブラウザ手段を含むエージェント・コンピュータを含んで構成される少なくとも1つのキオスク装置に接続され、アプリケーションを要求するための少なくとも1つの構成要求をネットワークを介して前記キオスク装置から受け取るサーバであって、前記サーバは、
アプリケーションに関連づけられ、組込み構成要素ファイルと組込み制御関数とを含んで構成されるHTMLファイルとして構成され、かつアプリケーション・ファイルとして参照される少なくとも1つの構成セットを格納する手段と、
前記構成要求により指定される前記構成セットを選択し、選択された前記構成セットをキオスク装置へと送信し、前記キオスク装置に対して入力/出力装置または周辺装置を制御するためのブラウザ機構を組み込ませ、前記キオスク装置の少なくとも1つの入力/出力装置または周辺装置を選択的に制御することにより前記キオスク装置が要求したアプリケーションを実行させる通信手段と、
を含むサーバ。
(2) 前記アプリケーション・ファイルが、Java(登録商標)アプレットまたはActiveX制御またはプラグイン制御による遠隔装置制御機能と、遠隔メッセージ表示機能と、ファイル転送機能と、エージェント/クライアント協同機能のうちのいずれか1つを提供する、(1)に記載のサーバ。
(3) 前記組込み制御関数の他、前記キオスク装置の動作状況を判断するシステム監視プログラムを含むHTMLファイルを格納する、(1)または(2)に記載のサーバ。
(4) 前記動作状況を使用して、前記入力/出力装置または周辺装置に必要な保守と、前記入力/出力装置または周辺装置の保守履歴と、前記構成要求のうちの1つまたは複数の構成要求に応答するために前記ネットワーク上で提供するアプリケーション・ファイルと、前記キオスク装置のユーザに関するマーケティング情報とのうちのいずれか1つまたは複数を判断する、(3)に記載のサーバ。
(5) 前記サーバは、前記動作状況を判断し、前記ネットワーク上で前記キオスク装置にどの構成セットを提供するかを決定する、(3)または(4)に記載のサーバ。
(6) 前記HTMLファイルは、ゼロ個または1個以上のハイパーテキスト構成要素ファイルを含む、(1)ないし(5)のいずれか一項に記載のサーバ。
(7) 前記アプリケーションがキオスク装置におけるユーザに合わせてカスタマイズされたカスタマイズ・アプリケーションである、(1)ないし(6)のいずれか一項に記載のサーバ。
(8) 前記アプリケーション・ファイルが、前記少なくとも1つのアプリケーション・ファイルを受信することにより構成されたキオスク装置を介してインターネットへのアクセス機能を提供する、(1)ないし(7)のいずれか一項に記載のサーバ。
(9) 前記インターネットへの前記アクセスが、1つまたは複数の指定されたサーバを介して一人または複数のユーザ間に通信リンクを提供する、(8)に記載のサーバ。
(10) 前記アプリケーション・ファイルが、電話呼出しと、電子メール送受信と、遠隔会議と、ファクス伝送と、トレーニング・セッションと、前記ネットワーク上の情報の検索と、ウェブ・ベースの協同とのうちのいずれか1つまたは複数の機能を提供する、(1)ないし(9)のいずれか一項に記載のサーバ。
(11) 前記少なくとも1つのアプリケーション・ファイルを受信することによって構成されたキオスク装置におけるユーザに前記アプリケーション情報を提供する、(1)ないし(10)のいずれか一項に記載のサーバ。
(12) 前記少なくとも1つの組込み制御関数が、キオスク装置に対して前記アプリケーション・ファイルのうちの1つまたは複数のアプリケーション・ファイルを要求させるための機能を付与する、(1)ないし(11)のいずれか一項に記載のサーバ。
(13) ネットワークを介して少なくとも1つのキオスク装置に接続されたサーバの動作方法であって、前記動作方法は前記サーバに対し、
前記ネットワークに接続されたキオスク装置に含まれ、ブラウザ手段を含むエージェント・コンピュータからの構成要求を受け取るステップと、
アプリケーションに関連づけられ、組込み構成要素ファイルと、キオスク装置におけるドライバ・プログラムから構成されるドライバ・サブセットを選択的に機能させる組込み制御関数とから構成され、かつHTMLファイルとして構成されるアプリケーション・ファイルである格納された構成セットを選択して、前記キオスク装置に送るステップと
を実行させ、
前記アプリケーション・ファイルは、Java(登録商標)アプレットまたはActiveX制御またはプラグイン制御を使用して前記キオスク装置にブラウザ機構を組込ませることにより前記キオスク装置の入力/出力装置または周辺装置に対応したドライバ・プログラムを選択的に制御させる
サーバ動作方法。
(14) エージェント・コンピュータを含んで構成される1つまたは複数のキオスク装置に接続され、少なくとも1つの構成要求をネットワークを介して前記キオスク装置のエージェント・コンピュータから受け取るサーバ動作方法であって、前記方法はサーバに対して、
前記ネットワークに接続された少なくとも1つのキオスク装置から構成要求を受け取るステップと、
アプリケーションに関連づけられ、組込み構成要素ファイルと組込み制御関数とを有し、かつ前記構成要求により指定され、HTMLファイルとして構成されるアプリケーション・ファイルである構成セットを前記キオスク装置に送信するステップと
を実行させ、
前記アプリケーション・ファイルは、前記キオスク装置にブラウザ機構を組込むことにより前記キオスク装置のドライバ・プログラムを選択的に制御させ、前記ドライバ・プログラムにより入力/出力装置または周辺装置を駆動させることにより前記キオスク装置に前記アプリケーションを実行させる、方法。
(15) 接続を介して少なくとも1つの構成要求を受信する、ネットワークへの1つまたは複数の接続を可能とする手段と、
アプリケーションに関連づけられ、組込み構成要素ファイルと組込み制御関数とを含んで構成されるHTMLファイルを含み、かつアプリケーション・ファイルとして参照される少なくとも1つの構成セットを格納する手段と、
キオスク装置へと前記構成要求により指定されるアプリケーションのための前記構成セットを通信する手段とを含み、
前記組込制御関数が前記キオスク装置に対してブラウザ機構を組込ませ、ブラウザ機構がドライバ・プログラムのうちの1つまたは複数のドライバ・プログラムから成るドライバ・サブセットを選択的に制御して前記ドライバ・プログラムにより前記入力/出力装置または周辺装置を駆動させ、前記キオスク装置をして前記アプリケーションを実行させるサーバ。
(16) 前記構成要求が構成する前記キオスク装置のうちの1つまたは複数のキオスク装置から送られる、(15)に記載のサーバ。
(17) 前記構成要求がエージェント・コンピュータから送られる、(16)に記載のサーバ。
(18) 前記アプリケーション・ファイルが、Java(登録商標)アプレットまたはActiveX制御またはプラグイン制御による遠隔装置制御機能、遠隔メッセージ表示、ファイル転送、およびエージェント/クライアント協同のうちのいずれか1つを含む、(16)に記載のサーバ。
(19) 前記組込み制御関数の他、前記キオスク装置のローカル・キオスク機能のうちの少なくとも1つのローカル・キオスク機能の動作状況を判断するシステム監視プログラムを含む、(15)に記載のサーバ。
(20) 前記システム監視プログラムにより与えられる前記動作状況を使用して、前記周辺装置のうちの1つまたは複数の装置に必要な保守と、前記周辺装置のうちの少なくとも1つの装置の保守履歴と、前記要求のうちの少なくとも1つの構成要求に応答するために前記ネットワーク上で提供するアプリケーション・ファイルと、一人または複数のキオスク・ユーザに関するマーケティング情報とのうちのいずれか1つまたは複数を判断する、(19)に記載のサーバ。
(21) 前記システム監視プログラムにより与えられる前記動作状況によって、前記サーバが前記ネットワーク上でサービスを提供するアプリケーション・ファイルを決定する、(19)に記載のサーバ。
(22) 前記アプリケーション・ファイルが、1つまたは複数のHTMLファイルを含み、前記HTMLファイルが、ゼロ個または1個以上のハイパーテキスト構成要素ファイルを含む、(15)に記載のサーバ。
(23) 前記アプリケーションが金融アプリケーションである、(15)に記載のサーバ。
(24) 前記金融アプリケーションが、ユーザへの金融情報提供、口座開設、現金支払い、勘定支払い、ローンの申込み、預金、モーゲージ支払い、金融に関する助言、固定資産取引、およびエージェントからの支援のうちのいずれか1つまたは複数の機能を含む、(23)に記載のサーバ。
(25) 前記アプリケーションがユーザに合わせてカスタマイズされたカスタマイズ・アプリケーションである、(15)に記載のサーバ。
(26) 前記アプリケーション・ファイルが、1つまたは複数のキオスク装置を介したインターネットへのアクセスを可能とする機能を提供する、(15)に記載のサーバ。
(27) インターネットへの前記アクセスが、1つまたは複数の指定されたサーバを介して一人または複数の第2のユーザ間に通信リンクを提供する、(26)に記載のサーバ。
(28) 前記アプリケーションが通信アプリケーションである、(27)に記載のサーバ。
(29) 前記通信アプリケーション・ファイルが、電話呼出し、電子メール送受信、遠隔会議、ファクス伝送、トレーニング・セッション、前記ネットワーク上の情報検索、およびウェブ・ベースの協同のうちのいずれか1つまたは複数の機能を提供する、(28)に記載のサーバ。
(30) 前記アプリケーションがサービス・アプリケーションである、(15)に記載のサーバ。
(31) 前記サービス・アプリケーションが、広告、サービス、およびサービス料金のうちのいずれか1つまたは複数の機能の提供を含む、(30)に記載のサーバ。
(32) 前記アプリケーションが、前記アプリケーション・ファイルを受信することによって構成されたキオスク装置を使用してユーザに情報を提供する、(15)に記載のサーバ。
(33) 前記組込み制御関数のうちの少なくとも1つの組込み制御関数が、前記キオスク装置のうちの少なくとも1つのキオスク装置に前記アプリケーション・ファイルのうちの少なくとも1つのアプリケーション・ファイルを要求させる機能を付与する、(15)に記載のサーバ。
【図面の簡単な説明】
【図1】キオスクの好ましい一実施形態を示すブロック図である。
【図2】キオスクの他の好ましい実施形態を示すブロック図である。
【図3】キオスクにおいて使用されるグラフィカル・ユーザ・インタフェースの例を示すブロック図である。
【図4】ユーザによって選択され、キオスクを構成するために実行される構成セット(アプリケーション・ファイル)を示すブロック図である。
【図5】少なくとも1つの組込み制御プログラムを含む、1つまたは複数のHTMLファイルおよび付随するハイパーテキスト構成要素ファイルを含む1組のアプリケーション・ファイル(構成セット)を示すブロック図である。
【図6】アプリケーション・ファイルおよびローカルAPIプログラムと対話してキオスクを構成する制御プログラム/関数を実行するキオスクの好ましい一実施形態を示すブロック図である。
【図7】キオスク制御機構の様々な好ましい代替実施形態を示すブロック図である。
【図8】キオスク制御機構の様々な好ましい代替実施形態を示すブロック図である。
【図9】キオスク制御機構の様々な好ましい代替実施形態を示すブロック図である。
【図10】キオスク制御機構の様々な好ましい代替実施形態を示すブロック図である。
【図11】API制御機能を備えた1つのアプリケーション・ファイルを実行する際に行われるステップを示すフローチャートである。
【図12】典型的なサーバで行われるステップを示すフローチャートである。
【図13】ActiveXを使用する好ましいキオスク・ソフトウェア・アーキテクチャを示すブロック図である。
【図14】ActiveXを使用するキオスク制御機構の様々な好ましい代替実施形態を示すブロック図である。
【図15】ActiveXを使用するキオスク制御機構の様々な好ましい代替実施形態を示すブロック図である。
【図16】ActiveXを使用するキオスク制御機構の様々な好ましい代替実施形態を示すブロック図である。
【図17】ActiveXを使用するキオスク制御機構の様々な好ましい代替実施形態を示すブロック図である。
【図18】プラグインを使用する代替キオスク制御実施形態を示すブロック図である。
【符号の説明】
100…キオスク装置
103…タッチ・センシティブ端末
109…プリンタ
105…表示画面
110…コンピュータ
111、112、130…汎用情報読取装置(入力装置または周辺装置)
113、130…汎用情報書出装置(出力装置または周辺装置)
122…電話網
123…ISDN
125…制御プロセスおよびライブラリ
155…ネットワーク・インタフェース
520、620…組込み制御関数
640…キオスク固有制御機構
640A…ブラウザ機構
640I…プロセス間通信手段
640B…API機構
680…ローカル・アプリケーション・プログラム・インタフェース(ローカル・キオスクAPI)
【発明の属する技術分野】
本発明は、コンピュータ・ネットワークに接続され、サーバがキオスク装置を構成することができるキオスク装置およびサーバの分野に関する。
【0002】
【従来の技術】
一般にキオスクとは、ユーザまたは顧客による一般のアクセス、たとえば公共アクセスのための場所に配置され、それによってサービス提供者がそのユーザや顧客にサービスを提供することができるようにする機械である。一般に、このようなサービスは、サービス提供者が顧客に特定の援助を与えるエージェントを設けずに、顧客によって行われる「セルフサービス」である。したがって、サービスは、1)情報の入手、または2)特定の単純なトランザクション(たとえばチケットの購入、現金の入手、百貨店のフロア・マップの閲覧など)の遂行あるいはその両方を行うといったような、反復される単純な特定のタスクになる傾向がある。
【0003】
行われるタスクは、事前プログラムし、事前決定する必要があり、セルフサービスである必要がある。したがって、キオスクの設計は、柔軟性がなく、特定のユーザ向けにカスタマイズされた援助を提供しない。
【0004】
一般に、これらのトランザクションは、たとえば1つまたは複数のモニタ、カード読取装置、チケット・プリンタ、レーザ・プリンタ、現金自動支払機など、何らかの装置の使用を必要とする。これらの装置は、一般に、キオスクにおける柔軟性のない設計の事前定義されたタスク専用であり、したがって他に用途がない。
【0005】
キオスクの利点は、便利で信頼性が高いことである。キオスクは、作業を行うフルタイムの人間の操作者を必要とせず、したがって運転経費の節約になり、生産性が向上する。
【0006】
たとえば銀行のATM機、航空券販売機など、従来技術キオスクにはネットワークによって接続されているものがある。また、ショッピング・モール内の情報キオスクのように、スタンド・アロン・キオスクもある。
【0007】
従来技術には、銀行支店(エージェント)とユーザ/顧客との間に接続を設定しようと試みる銀行業アプリケーション向けのテレビ会議機能を備えたキオスクがある。これは、従来のタイプのキオスクにテレビ会議システムを付加するだけで行われる。
【0008】
また、従来技術には、インターネットとの統合キオスクもある。このキオスクは、キオスクの画面上にHTMLページを表示するブラウザ手段を有する。キオスクに表示される画面は、ユーザによって選択されたハイパーリンクによって制御される。これらのキオスクは、顧客/ユーザがハイパーリンクを呼び出す「ソフト」ボタンを選択することによってブラウズすることができる情報アクセスに適している。これらのキオスクは、電子メールのような特定の個人通信にも使用することができる。この種のシステムでは、画面は通常、(たとえばナビゲーション・ボタンを有する)ユーザ・インタフェースを提示するように特別に設計され、キオスクはさらに、キオスク作成者によって定義されたHTMLページ(URL)のみにアクセス可能になるように、顧客が訪れることができるURLを制限するフィルタとして機能する。
【0009】
ほとんどの従来技術のキオスクは柔軟性がない。従来技術のキオスクは、一般にプログラミングが特別に設計され、(通常はCやC++などの高水準コンピュータ・プログラミング言語で)作成され、特定の用途(アプリケーション)向けにキオスクに設置されるため、変更や再構成を容易にしかも低コストで迅速に行うことができない。変更する場合は、キオスクでのプログラムの再コード化、再コンパイル、再インストール、および再試験が必要になる。既存のキオスクに変更を加えるのは困難であり、更新を必要とする範囲に多くのキオスクがある場合は特に困難である。
【0010】
従来技術のキオスクは、アプリケーションに基づく効果的な「対面」サービス、すなわち、サービスまたはトランザクションを実行するためにユーザまたは顧客に助言や手引きを与えるエージェントを必要とするサービスを提供することができない。顧客サービスのための効果的な「対面」環境は、映像/音声だけでなく、同期化された画面共用(たとえばエージェントがデータを入力している間にユーザ/顧客がデータを見るなど)と遠隔装置制御(たとえばエージェントがキオスクのユーザ/顧客のために受領書を印刷することができるなど)も必要する。従来技術は、キオスクの同期化画面共用や遠隔装置制御を実現しない。
【0011】
従来技術の中には、電話によるエージェントからのユーザ援助を提供するものもあるが、エージェントは一般にキオスクの画面を直接見ることはできない。したがって、エージェントはキオスクに問題があった場合にその問題についてのユーザの説明に依存せざるを得ない。エージェントは、キオスクの画面を直接見て問題にアクセスすることができない。さらに、エージェントはキオスクの問題を修正するためにキオスクのプログラム/機能を遠隔地から変更することができない。銀行業アプリケーションにおけるキオスクの中には、銀行エージェントがキオスクの画面の内容を見ることができるようにするものもあることに留意されたい。しかし、この内容は、キオスク上に画面の内容を表示させるアプリケーションではなく、エージェントのワークステーション上で稼働している別個のアプリケーションによって表示される。
【0012】
【発明が解決しようとする課題】
従来技術の中には、キオスクの機能としてテレビ会議機能を備えるものもある。しかし、テレビ会議は顧客に他の当事者との音声/映像接続は提供するが、このアーキテクチャは音声/映像通信とキオスク画面の内容との間に一貫した統合がないため、市場ではまだ成功していない。顧客がキオスク画面上の項目の1つに問題があるときに、エージェントは顧客がキオスク上で持っている情報と同じ情報をエージェントの画面上で持つことができない。たとえば、キオスクの画面上のフィールド内にあいまいな値または誤った値があっても、テレビ会議中にエージェントにはその誤った値が見えない。さらに、エージェントは顧客の画面上の場所を指示することができず、顧客の画面を制御することもできない。さらに、エージェントは、キオスクがまだ事前プログラムされていないという一般情報をキオスクを介して顧客に提供することができない。また、たとえば、顧客がそのキオスク設計では入手することができない情報を必要とする場合、エージェントは音声またはカメラ映像によって情報を提供することができるに過ぎず、顧客のキオスク画面上で、または他のキオスク装置を介して情報を提供することはできない。
【0013】
従来技術の中には、限定された特定のアプリケーション、すなわち限定された情報ブラウズのみを行うことができる単純なインターネット/ブラウザ・ベースのキオスクを開示しているものもある。この種のキオスクは、キオスク制御機能や顧客と人間のエージェントとの間の協同がないため、柔軟性のある用途を持つ有効な顧客サービス環境を提供することができない。
【0014】
したがって、本発明は、請求の範囲で規定されているキオスクとサーバを提供する。
【0015】
【課題を解決するための手段】
本明細書に記載の手法は、「対面」エージェント対顧客サービスまたはトランザクションあるいはその両方およびインターネット(TCP/IP)、公共電話網(PSTN)、統合サービス・ディジタル網(ISDN)など複数の通信ネットワークへの公共アクセスの提供を含む、様々な用途向けの柔軟性があり、再構成可能で協同的なキオスク・アーキテクチャの利点を得て、公共の至る所に配置される、構成可能で直接アクセス可能なネットワーク・インタフェースを提供する。したがって、このネットワーク・サーバ・システムは、異なる用途(アプリケーション)のための異なる方法でネットワーク上の遠隔キオスクまたはキオスク装置を再構成するために、特に異なるアプリケーション用に異なる方法で使用される様々な入出力装置をサポートするために、(場合によっては1つまたは複数のネットワーク・サーバで作成、開発、および記憶される)きわめて多くのアプリケーションを配布することができる。
【0016】
したがって、好ましい実施形態では、キオスク・システムは1つまたは複数のネットワーク、たとえばインターネット、企業または政府のイントラネットなどに接続することができる。キオスクは、1つまたは複数の入力/出力装置(たとえば表示装置、キーボード、ペーパー・プリンタ、電話など)と、各入力/出力装置のための1つまたは複数のドライバ・プログラム(ローカルAPI)を有する。表示装置は、キオスクのユーザに1つまたは複数のグラフィカル・ユーザ・インタフェースとビデオ画像を提示するために使用される。インタフェースのうちのいくつかはアプリケーション固有のものである。(アプリケーションとは、キオスクがそのために構成または再構成される用途である。)キオスクは、ネットワーク上の1つまたは複数のサーバから、(構成セットにおける)1つまたは複数のアプリケーション・ファイルを取り出すブラウザを有する。アプリケーション・ファイル(構成セット)は、キオスクのブラウザによって(アプリケーションによって決定される)シーケンスで提示される1組のHTMLファイルを含む。これらのHTMLファイルのうちの1つまたは複数のHTMLファイルは、キオスク上の装置のうちの1つまたは複数の装置のローカルAPIを制御するために使用される組込み(制御)プログラムを含む。ファイルのうちの1つまたは複数のファイルは、他のHTMLファイル、(画像や音声のような)マルチメディア構成要素ファイル、または他のHTMLファイル、マルチメディア構成要素ファイル、組込みプログラムまたは他のアプリケーション・ファイルへのハイパーリンクあるいはそれらの組合せも含むことができる。キオスクにおける選択機能(たとえば音声、ソフト・ボタン、ハイパーリンクなど)によってサーバから第1のアプリケーション・ファイルが選択される。この選択項目(選択機能)に関連づけられたアプリケーション・ファイル(構成セット)が、キオスクをそれに応じて構成する。したがって、キオスクは、アプリケーション・ファイルによって定義された様々なアプリケーションを実行するように構成および再構成することができる。
【0017】
ある種の好ましい実施形態では、アプリケーション・ファイルのうちの1つまたは複数のアプリケーションが1つまたは複数の所定の選択リンク(たとえばハイパーリンク)を有する。ブラウザがアプリケーション・ファイルを(たとえば1ファイルずつ)レンダリングまたは解釈するにつれて、所定の選択リンクがグラフィカル・ユーザ・インタフェース上でユーザに対して追加の選択項目として提示される。ユーザは、ゼロ個または1個以上の他の組込み制御プログラムを含む1つまたは複数の他の構成セット、HTMLファイルなどを選択し、呼び出すことができる。したがって、これらの追加の選択項目を使用して、ブラウザによってHTMLファイルの内容が提示されるシーケンス、および実際にはシーケンス内のファイルを変更して、キオスクを異なる方法で再構成し、ユーザからの情報の入手またはユーザへの情報の提供あるいはその両方を行うことができる。シーケンス内のHTMLファイルの内容のレンダリングによってキオスクが構成され、それによって、対話式画面の1つまたは複数の画面シーケンスと、必要な場合は、キオスクを特定の選択されたアプリケーション用に再構成するために組合わされる(組込みプログラムによって制御される)装置アクションのシーケンスとが提供されるようになる。これらの実施形態では、ユーザ(またはキオスクまたはサーバ内の他の機能)は、キオスク上の異なる選択機能を選択することによって他のアプリケーションのためにキオスクを再構成することができる。
【0018】
ある種の好ましい実施形態では、アプリケーションの一部が、エージェントと顧客がキオスクおよびサーバを介してネットワークで協同することができるようにするウェブ・ページ共用機能を含む。好ましい一実施形態は、「軽量」クライアント・アーキテクチャ、すなわちキオスク上にアプリケーション固有のソフトウェアがないクライアント・アーキテクチャを実施する。
【0019】
例示のみを目的として以下の図面を参照しながら、本発明の様々な好ましい実施形態について以下に詳述する。
【発明の実施の形態】
キオスク100の好ましい一実施形態のブロック図である図1を参照すると、キオスク100は、適切な周知のネットワーク・インタフェース155を有するコンピュータ110(たとえばPC350やPC750のようなIBMパーソナル・コンピュータ)を含む。ネットワーク150は、任意の周知のローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)とすることができる。好ましい実施形態では、ネットワーク150はインターネットである。しかし、電話網、ケーブル網、ISDN網などによって実施可能な、企業ネットワークのようなイントラネットワーク、政府ネットワーク、教育ネットワーク、企業間のエクストラネットワーク、および1つまたは複数の小売業者によって使用されるネットワークを含む、他の汎用ネットワーク150も考えられる。コンピュータ110は、キオスク100の一部として装備された1つまたは複数の入力または出力あるいはその両方の装置(下部参照)130を有する。典型的には、コンピュータ110は、周知の、1つまたは複数のメイン・メモリと、(ハード・ディスク・ドライブ、CDROMなどのような)1つまたは複数の記憶装置110Mと、1つまたは複数の中央処理装置(CPU)110Cとを有する。さらに、コンピュータ110は、保守のための任意選択のハードウェア・キーボード135およびマウス134を有する。ユーザは、これらの様々な(周辺130)入力または出力あるいはその両方の装置(まとめて130と番号を付す)にアクセスして、コンピュータ110およびネットワーク150を介して、ネットワーク150に接続された他のクライアントまたはサーバ195あるいはその両方との間で情報を伝送する。これらの入力/出力装置130の例としては、画面105を備えたタッチ・センシティブ端末103、プリンタ109、任意の周知の汎用情報読取装置111(たとえば磁気カード、クレジット・カード、またはスマート・カードを読み取るカード読取装置121)、スキャナ(たとえばレーザ・スキャナ)112、任意の周知の汎用情報書出装置113(プリンタ、チケット・プリンタ、媒体プリンタ(たとえばディスケット・ドライブ)、計算書プリンタ、または受領書プリンタ)、(たとえばステッカーやコンピュータ・ディスクを提供する)ディスペンサ、または有形の媒体113Aに入った情報をユーザに提供するその他の任意の装置130がある。その他の入力/出力装置130としては、現金自動支払機、スキャナ、ディポーザ、ペン入力装置136、カード発行機、発券機、CRT、キーボード、タッチ・センシティブ・スクリーン、プログラム制御可能カメラ、1つまたは複数の人間感知器(たとえば赤外線)、1つまたは複数のライト、CD−ROMプレーヤ、音声入力/出力装置(たとえばマイクロフォン133、スピーカ132、または電話機107、およびメモリ113Bのうちの任意の1つまたは複数の装置が含まれる。キオスク100は、電話107やテレビ会議システム114、たとえばPictureTel PCS−100デスクトップISDNテレビ会議システムなどの周知の通信装置を備えることができる(PictureTelはPictureTel社の商標である)。テレビ会議システムは、カメラ131や、スピーカ132、マイクロフォン133、適切なネットワーク・インタフェース155を介した1つまたは複数のISDN接続または別個のネットワーク接続を含む。他のネットワーク151、たとえば電話107、スピーカ132、マイクロフォンを介した在来型電話システム(POTS)電話網122またはISDN回線123あるいはその両方への接続も行うことができる。周知のインタフェースを使用してネットワーク(150、151)に他の周辺装置130を独立して接続することもできる。
【0020】
コンピュータのCPU110Cは、制御プロセスおよびライブラリ125と、ある種の好ましい実施形態では1つまたは複数の協同プロセスとを含む、ソフトウェア・プログラムを実行する。制御プロセス125は、1つまたは組込み制御関数/プログラム620と1つまたは複数の制御機構640の2つの部分を有する。(以下の図5、図6から図10を参照。)組込み制御プログラム/関数620は、内容固有のプロセス(たとえば銀行業務、レンタカー業、商品購入など)であるが、それぞれの入力/出力装置(またはそのサブセット)130に付随する非内容固有の制御機構640を使用してローカル・アプリケーション・プログラム・インタフェース680(API)を制御する。したがって、入力/出力装置130は、アプリケーションの内容に固有の方法で制御される。代替実施形態では、制御機構は、ネットワーク150からコンピュータ110に直接ロードすることができる。
【0021】
協同プロセス170は、APIと、キオスク100から協同セッションを確立する機能を実行する。この協同プロセスについては、1996年9月27日出願のフィン(Fin)等の「Internet Web Page Sharing」という名称の米国特許出願第08/722287号に記載されており、参照によりその全体が本明細書に組み込まれる(欧州特許出願97307536.0号、公告番号833260を参照)。コンピュータはさらにネットワーク150との対話に必要なプログラムを実行し、これにはウェブ・ブラウザ・プログラム160、たとえばNetscape Navigatorブラウザが含まれる。(Netscape Navigatorは、Netscape Communications Corporataionの商標である。)
【0022】
図2は、囲われた空間または一部囲われた空間200内にあるキオスク100を示す、本発明の代替実施形態を示すブロック図である。囲われた空間200は、一人または複数のユーザと共にキオスク100が置かれる任意のタイプの空間、たとえば、部屋、小ボックス、またはその他の任意の個室または準個室空間とすることができる。この実施形態では、コンピュータ110は、コンピュータ110がスペース200内にユーザのための環境を作り出すために制御する1つまたは複数の周知の環境周辺機器130に接続される。たとえば、環境周辺機器としては、空間の照明205、追加情報(たとえば販売情報)または環境要素(たとえば風景の可変表示や仮想世界)あるいはその両方を伝える空間200内の表示装置210、空間200に出入りするセキュリティ・アクセス215などがある。さらに、(部分的に)囲われた空間は、上述の周辺機器130と類似の他の環境周辺機器130、たとえば、音声、テレビ会議なども有することができる。仮想世界の例は周知である。
【0023】
システム100および200の好ましい実施形態では、ユーザが(選択機能を使用して)、キオスクをそのために構成させるアプリケーション、たとえば銀行業務を選択し、ブラウザ160がインターネット(汎用ネットワーク)150上の1つまたは複数のウェブ・サーバ195と対話して1つまたは複数の構成セット175を取り出す。任意選択により、サーバ195とキオスク(100、200)内のブラウザ160との間でデータ通信が開始する。次に、ブラウザ160によってアプリケーション・ファイル175が1ファイルずつ実行され、1)任意選択により、それぞれのアプリケーションと共に使用する入力/出力装置のうちの1つまたは複数の入力/出力装置(たとえばタッチ・センシティブ端末103や表示装置)130を制御するドライバ・プログラム(ローカルAPI680)を呼び出し、2)任意選択により、一連の入力/出力装置130アクションを、たとえば、端末/表示装置103上に表示される一連のウェブ・ページとして行わせ、3)任意選択により、入力装置130からのユーザ入力をサーバ195に伝え、4)任意選択により、ユーザ入力に応じて、ブラウザ160によってさらに実行するためのアプリケーション・ファイル175の他のアプリケーション・ファイル175を選択する。このように、ユーザは第1の選択機能を使用して第1のアプリケーション(およびそれに付随するサーバ195上の構成セット(アプリケーション・ファイル)175を選択することができ、そのアプリケーションがキオスクを第1の特定の選択されたアプリケーションに合わせて再構成する。第2のアプリケーションを選択することによって、再びキオスクが第2のアプリケーション等々用に再構成される。後の構成のための選択機能は、前の構成でユーザに提供される。
【0024】
アプリケーションとは、キオスクがそのために構成される任意の用途である。たとえば、アプリケーションには、金融、ビジネス、情報(ニュース、広告)、通信(電子メール、ウェブ・アクセス、テレビ会議)、小売業、マーケティング、サービス(たとえば行政プログラム)の分野における用途
(構成)が含まれる。アプリケーション所有者は、そのアプリケーションを実現するようにキオスクを構成することになる任意の個人、組織、または企業である。たとえば、銀行または投資信託会社は、1つまたは複数の金融業アプリケーションを使用してキオスクを構成する。このような金融業アプリケーションの例としては、ユーザへの金融情報の提供、口座の開設、現金支払い、勘定支払い、ローンの申込み、預金、およびエージェントから受ける支援などがある。サービス所有者の一例は、自動車レンタル/リースなどを行うようにキオスクを構成するレンタカー会社である。
【0025】
他の好ましい実施形態では、キオスク(100、200)は、ユーザによってではなくサーバ195によって再構成される。たとえば、キオスクを、ショッピング・モールのような公共の空間に設置することができる。ブラウザは、ネットワーク150上に配置された1つまたは複数のサーバ195またはデフォルト・サーバまたはプロキシ・サーバ195Aからキオスク100に、構成セット(アプリケーション・ファイル)175を、最初にまたは定期的に取り出すようにすることができる(またはサーバが「プッシュ」するようにすることもできる)。したがって、システム設計者は、サーバ195の遠隔設置場所からキオスクの構成を制御することができる。たとえば、モール内のキオスクを最初に、モールの地図の表示、バックグラウンド・ミュージックの再生、アナウンス、または天気情報またはニュースや株式市況のようなその他の一般情報の提供を行うように構成することができる。アプリケーション・ファイル175は、入力/出力装置130のうちの1つまたは複数の装置に、選択機能105A、たとえばタッチ・スクリーン、アイコン、ハイパーテキスト・リンク、グラフィカル・ユーザ・インタフェース上のソフト・ボタン、ハードワイヤード・ボタン、(無線周波識別タグのような)リモート・センサ、またはテレビ会議システム用の音声入力式メッセージ機能などの選択機能105Aを有するように、またはそのような選択機能105Aとなるように指示することもできる。選択機能105Aは、ユーザが、キオスクをユーザのアプリケーションに合わせて再構成させる選択を行うことができるようにする機能である。これらの選択機能105Aによって、ユーザはキオスク100/200を再構成したり、サーバ195がキオスクに提供させるその他の情報にアクセスしたりすることができる。
【0026】
選択機能105Aまたは表示されるその他の情報は、キオスクの所有者/運営者にとって収入源ともなり得る。たとえば、キオスクは、キオスクが提供する通知は有料で行われる広告になり得る。アプリケーション提供者(たとえば銀行投資信託会社、モーゲージ会社、金貸業者、仲介業(株式、不動産)、レンタル会社(自動車、機器)、サービス提供者、および小売業者)なら、キオスク100/200上に、ユーザがキオスクを自分の用途に合わせて構成するために選択する選択機能105Aを所有するために料金を支払うであろう。料金の金額は、キオスクの設置場所、キオスク上の選択機能/情報の位置/場所(たとえばグラフィカル・ユーザ・インタフェース)、選択機能105Aのサイズ、キオスクによって選択機能105A/情報が提供される時間および期間などに基づいて決めることができる。選択機能105A/情報は、様々なクラスの顧客/クライアントを対象にするために、異なる時刻に変更したり定期的に表示したりすることができる。たとえば、グランド・セントラル駅に置かれたキオスクは、ラッシュ・アワーには通勤者向け情報を表示させ、昼食時間の直前にはレストラン予約のための選択機能105Aを有するように再構成される。
【0027】
キオスク100/200は、アプリケーション提供者がサーバ195を介してユーザ固有の構成になるよう再構成することができる。たとえば、旅行代理店がスミス氏のユーザ・プロファイルを有するとする。スミス氏は、公共の場所または勤務先にあるキオスク100/200上の選択機能105Aを選択する。キオスクはその旅行代理店のアプリケーション用に再構成された後は、たとえば、入力/出力装置130の1つを使用して個人識別コードを入力するかまたはクレジット・カードを通すことによって、(アプリケーション・ファイルのうちの1つによる指示に従って)スミス氏に対して個人情報を求めることができる。次に、スミス氏の個人情報はキオスク100/200によってサーバ195に渡され、スミス氏に関するプロファイルにアクセスする。プロファイル内の情報を使用して、サーバ195によってアプリケーション・ファイル175のうちの1つまたは複数のファイルが送られ、キオスクが特にスミス氏のために再構成される。たとえば、中米への休暇パッケージ旅行のみをキオスク上で提供することができる。他の実施形態では、アプリケーション・ファイル175のうちの1つまたは複数のファイルによって、ユーザがGUI(後出の300)を編成できるようにすることができる。
【0028】
キオスク100/200の他の好ましい構成では、一人または複数のキオスク・ユーザとアプリケーション提供者の1つまたは複数のエージェントとの間に協同セッションがセットアップされる。協同は、キオスク上に常駐するかまたはサーバ195によってアプリケーション・ファイル175として提供される協同プロセス170によってセットアップされる(フィン(Fin)等の特許出願を参照)。
【0029】
キオスク(100、200)の他の好ましい構成では、サーバ195がキオスクに、キオスクの監視または保守に使用されるアプリケーション・ファイル175を提供する。たとえば、このような実施形態では組込み制御プログラム620のうちの1つまたは複数の組込み制御プログラムが、「デッドマン」タイマー状況、誤り検査プロトコルなどを使用してどの入力/出力装置が動作しているかを判断することによって、入力/出力装置130のうちの1つまたは複数の装置の動作状況を監視する。この情報はサーバ195に返される。他のアプリケーション・ファイル175を使用して、所与のキオスクにどの入力/出力装置130が設置されているか、または動作可能であるかを問い合わせる。このようにして、サーバ195は、設置または動作可能入力/出力装置130を使用可能にし、設置されていないかまたは故障している装置を使用可能にしない(構成しない)ために、他のどのアプリケーション・ファイル175をキオスクに送るかを判断することができる。したがって、入力/出力装置130の任意の汎用の組合せを含むキオスクをサーバの遠隔に設置することができ、サーバは所与の用途のためにキオスクを動作可能にする適切かつ動作可能なアプリケーションを提供する。アプリケーション・ファイル175を使用して、入力/出力装置のうちの1つまたは複数の装置から情報を入手し、装置の操作方法を判断することもできる。
【0030】
図3に、キオスク100/200の画面表示装置105上に表示されるグラフィカル・ユーザ・インタフェース(GUI)300の一例を示す。GUI300は、選択機能105Aを介してキオスクのユーザに主アクセス・インタフェースを提供する。選択機能105Aの例としては、銀行301、保険業302、汎用ソフト・ボタン303、およびピザ・レストラン304用のアプリケーションを示すアイコン画像301〜304がある。GUI300は、1つまたは複数の選択項目(典型的には325)を有するメニュー320の形の選択機能105Aも表示することができる。選択機能105Aの他の例は、GUI300またはメニュー320あるいはその両方の一部とすることができるハイパーリンク350である。GUI300のその他の領域340は、情報またはその他のデータを入力するために使用することができる。これらの情報フィールド340を使用して、GUI300を納税申告用紙、ローン申込書、モーゲージ申込書、預金入金票などの書式370として提示することができる。GUI300は、周知の技法を使用してブラウザ160によりウェブ・ページとして表示することができる。このウェブ・ページは、入力/出力装置130を介してユーザに提示されるマルチメディア(音声、映像)態様を有することができる。
【0031】
図4に、ユーザがユーザ・インタフェースを介して対話して選択機能105Aを選択し、選択機能105Aがそれに対応する構成セットであるアプリケーション・ファイル175をサーバ195からクライアント(キオスク100、200)にダウンロードして特定の機能を実行し、周辺装置130の特定のサブセット451(たとえば107、109、111、113、114など)を制御する仕組みを示す。ローカルAPI440は、1つまたは複数の周辺装置130を直接制御するソフトウェア機能インタフェースである。たとえば、カード読取装置130のローカルAPI440は、初期設定、始動、カードからのデータの読取り、カードの排出を行い、機能をオフにする処理を含む。
【0032】
(キオスク構成の)選択は、選択機能105Aによって行われる。選択機能105Aの例としては以下のものがある。
a)ユーザが画面上の画像アイコン、またはボタンのような他の選択装置に明示的に触れる。
b)現在実行中のプログラムが、ユーザの動作に基づいて選択を呼び出す必要があることを判断し、たとえば、ユーザが同じ間違いを続けて2回犯した場合、ヘルプ・プログラムを呼び出す。
c)現在実行中のプログラム内の論理が、次の選択(キオスク構成)を判断する。たとえば、ユーザがモーゲージの事前資格審査申込書を作成し、銀行がそれを承認した後は、現行アプリケーションがユーザに不動産情報を必要とするかどうかを尋ねることができる。ユーザが肯定の応答をした場合、キオスクの構成は、不動産業者アプリケーションの構成に変更される。
【0033】
一実施形態では、選択105Aが行われると、ブラウザ160がネットワーク・インタフェース155を介してHTTPでサーバ195に、その選択機能105Aに対応する最初のアプリケーション・ファイル175(ファイル500からなる)を求める要求を送る。(アプリケーション・ファイル/構成セット175内のファイル500の説明については図5も参照されたい。)次に、サーバ195は、アプリケーション・ファイル175をブラウザ160に提供する。アプリケーション・ファイルを構成するファイル500がブラウザ160に到着した後、ファイル500のHTMLの内容が1行ずつ実行される。ブラウザが実行している現行アプリケーション・ファイルのファイル500に次のアプリケーション・ファイルのファイル500が関連づけられている(たとえばハイパーリンクされている)場合、この次のアプリケーション・ファイルのファイル500もブラウザに送られる。このようにして、ブラウザ160は各ファイル500を、構成セット175内のHTMLテキストの命令によって定義されている順序で1行ずつ、1構成セット175ずつ実行する。このようにしてアプリケーション・ファイル/構成セット175内のファイル500を実行することによって、(装置130に関連づけられている)ローカルAPI440または、ローカルAPIのサブセット441が呼び出されて、選択された装置のサブセット451を制御し、キオスク(100/200)が再構成される。各アプリケーション・ファイル/ファイル(175、500)内の論理またはユーザ・アクションあるいはその両方によって、どのアプリケーション・ファイル/ファイル(175、500)が実行されるかを変更したり、アプリケーション・ファイルのうちの一部のアプリケーション・ファイルを実行するかどうかを変更したりすることができることに留意されたい。
【0034】
アプリケーション・ファイル175を実行することによって、ブラウザ160は装置130のうちの1つまたは複数の装置を選択し、制御する。キオスクの構成は、アプリケーション・ファイルの実行中に選択された装置451(たとえば装置のサブセット451)と、装置のサブセット451がどのように制御されるかによって定義される。たとえば、銀行業務の構成では、アプリケーション・ファイル175の実行によって、API441のサブセットが呼び出され、たとえばカード読取装置111とプリンタ109(装置サブセット451)が選択されて制御され、それぞれ、銀行カードの読取りとトランザクション記録の印刷が行われる。同じ銀行業務の構成で、アプリケーション・ファイルのうちの1つまたは複数のアプリケーション・ファイル(またはアプリケーション・ファイル内の行あるいはその両方)175を実行すると装置130の選択や制御は行われないが、データの記憶、サーバ195へのデータまたはメッセージの返送などを含む他のアクションが行われる。ピザを注文する他の構成では、アプリケーション・ファイルの実行によってAPI441の異なるサブセットが呼び出され、同じ装置サブセット451(すなわちカード読取装置111とプリンタ109)を選択し、制御してそれぞれ、クレジット・カードの読取りおよび代価請求が行われ、選択されたピザのトッピングを示す購入レシートが印刷される。
【0035】
構成によっては、アプリケーション・ファイル175の実行によって1つまたは複数の装置130は選択されないことに留意されたい。そのような場合、デフォルトの装置が使用される。たとえば、テキスト行を表示させるファイル500内の行が、デフォルトにより表示装置103に宛てて送られる。
【0036】
また、ブラウザ160は他のローカル・プログラムまたはライブラリあるいはその両方を使用してアプリケーション・ファイルの実行と対話するローカル実行可能モジュールの特別なセットにアクセスすることができることにも留意されたい(図6参照)。
【0037】
図5は、少なくとも1つの組込み制御プログラム620を与える、1つまたは複数のHTMLファイルおよびそれに関連づけられたハイパーテキスト構成要素ファイルを含む、アプリケーション・ファイル(構成セット)175のセットを示すブロック図である。ウェブ・ベースのアプリケーション・ファイル175はすべて、少なくとも1つの組込み制御プログラム620を与えるHTMLベースのファイルである。アプリケーション・ファイル175は、任意選択により、HTMLベースであるかどうかを問わず他のハイパーテキスト構成要素ファイルも含む。典型的には、HTMLファイルは、テキスト525、画像またはグラフィクス528、(画像528、アプレット505、スクリプト515、またはその他の組込み制御関数(プログラム)620として実施された)アニメーション、(1つの組込み制御関数620として)音声、(1つの組込み制御関数620として)映像、およびその他のハイパーリンクといった組込み構成要素ファイルである標準HTML(HTML3.0など)、などを示すタグを含んで構成されている。これらのタグは周知である。好ましい一実施形態では、ブラウザ160はNetscape Navigator v3.0である。組込みプログラムは、Java(登録商標)ScriptまたはJava(登録商標)アプレット、またはプラグインを使用する他の任意の組込みプログラムあるいはそれらの組合せを使用して実施することができる(Java(登録商標)はSun Microsystems Inc.の商標である)。図5に示すように、HTMLファイル500は、タグ505を使用してJava(登録商標)アプレットを組み込み、タグ515を使用してJava(登録商標)Script関数を組み込ませ、タグ520を使用してブラウザのプラグイン機能を呼び出す他の任意のプログラムを組み込ませている。標準HTMLタグの詳細は、「Netscape HTML3.0 Source Book」に記載されており、参照によりその全体が本明細書に組み込まれる。これらの組込み制御関数520のうちのいくつかは、コンピュータに読み込まれると組込み制御関数/プログラム620とされる。
【0038】
図5は、キオスク100を構成する典型的なアプリケーションの組込み制御プログラム620の実行で呼び出されるシステムの構成要素を示すブロック図である。
【0039】
ブラウザ160内には、機能として、HTMLファイル内のHTMLタグを解釈または認識するインタプリタ610がある。インタプリタ610は、タグのタイプとタグの内容に応じて各HTMLタグごとに関数を実行するためにHTMLタグ実行プログラム611を呼び出す。実行によって、ローカル・キオスク・プログラム(ローカル周辺API440を含む)に対するAPI呼び出し680が呼び出されない場合、ブラウザは、必要であれば標準関数のライブラリ617を使用して各HTMLタグ615を実行する。これらの非API制御関数615の例としては、テキストの表示、画像の表示などがある。これらは周知であり、従来技術のブラウザに含まれている。
【0040】
しかし、実行プログラム611が、ローカル・キオスクAPI680の1つを呼び出す組込み制御関数620に遭遇した場合、実行プログラム611はブラウザ160内部のセキュリティ・マネージャ625を呼び出して、API呼び出しが許可されているかどうかを判断する。後で詳述するように、キオスク制御機構640、またはその機構の一部640Aが、ブラウザが入っているディレクトリのサブディレクトリに入れられている。こうすることにより、実行プログラム611が組込み制御関数620に遭遇するとセキュリティ・マネージャ625は制御機構640(以下の640A)を見つけ、API制御関数621がその制御機構640/640Aをブラウザ・プロセス160にロードする。たとえば、これらの組込み制御関数620は、1つまたは複数のローカルAPI関数680/440(すなわちAPI441の選択されたサブセット)を呼び出して装置451の所与のサブセットを動作させるアプレットを含むことができる。たとえば、装置がカード読取装置の場合、組込み制御関数620は制御機構640を使用して適切なAPI440を呼び出し、カード読取り装置を開き、カードからデータを読み取り、カードを排出し、カード読み取り装置を閉じる。
【0041】
周知のブラウザ160は、ローカルAPI680を実行するためにネットワーク150からの組込み制御関数620を実行しないことに留意されたい。実際には、これらのブラウザは、周知のネットワーク・セキュリティ上の理由のため、これらのAPI制御関数の実行を特に防止する。たとえば、アプリケーション・ファイル175がネットワークを通過している間に変更された場合、アプリケーション・ファイル内の被害を受けた制御関数の実行によって、クライアント機、すなわちキオスク(100、200)で予測不可能で有害な結果が生じる可能性がある。
【0042】
Java(登録商標)は、バイト・コード伝送および検証、仮想計算機による誤り検査など、様々な特別な手段を使用してネットワーク・セキュリティ問題を克服するように設計されていることは周知である。さらに、Java(登録商標)がウェブ・ベースのアプリケーション内のアプレットとして使用されている場合、すなわちHTMLファイルに組み込まれている場合、ブラウザは通常、そのJava(登録商標)アプレットが、ブラウザに組み込まれている標準Java(登録商標)ライブラリ内のJava(登録商標)プログラム以外のクライアント機上のどのローカルJava(登録商標)プログラムにもアクセスしないように厳しく防止する。その理由は、アプレットが管理されていない環境から送られてくるため、すなわち、ネットワーク全体のどのサーバからでも送られてくる可能性があるために、単にアプレットがクライアント機に与える可能性のある被害を防止するためである。
【0043】
「Java(登録商標) Now」(クリス・ジャムサ(Kris Jamsa)著、Jamsa Presss、1996年刊、ISBN 1−884133−30−4、p4)という書物に記載されているように、「セキュリティ問題に対処するため、Java(登録商標)開発者はプログラマがJava(登録商標)アプレットを使用してコンピュータ・ウィルスを作成できないようにし、アプレットがユーザのシステムに関する情報(ユーザのシステム上のファイルなど)をサーバに転送し戻すことができないようにしなければならなかった。たとえば、競争相手のウェブ・サイトを閲覧している間に、その競争相手のJava(登録商標)アプレットに自分のハード・ディスクを読まれたとしたら嫌であろう。そのようなセキュリティを設けるために、Java(登録商標)開発者はアプレットが行うことができる操作を制限することにした。たとえば、Java(登録商標)アプレットはユーザのシステム上のファイルを読み書きすることができない。このようにすることで、アプレットはユーザ・のディスクにウィルスを記憶したり、ユーザのディスクに記憶されている情報を読み取ったりすることができない」。また、次のようにも記載されている。「Java(登録商標)は、プログラマにスタンド・アロン型プログラムを作成させる。Java(登録商標)のスタンド・アロン型プログラムは、プログラマがC++を使用して作成することができるプログラムと類似している。そのようなスタンド・アロン型プログラムは、Java(登録商標)がアプレットによる実行を制限するファイルの読み書きと操作の実行を行うことができる。それに対してJava(登録商標)アプレットは、ブラウザ内でしか実行されない...」。これは、Java(登録商標)アプレットは、ブラウザ・プロセス160の外部の関数を操作しない設計になっていることを意味する。
【0044】
標準ブラウザの動作中、ブラウザのセキュリティ・マネージャ625がこれらのセキュリティ規則に違反がないか監視する。標準Java(登録商標)ライブラリ内にないプログラムへのアクセスを要求するアプレットが見つかると、ブラウザは、単にセキュリティ違反エラーを報告し、そのアプレットの実行を停止する。
【0045】
一実施形態では、アプリケーション・ファイル175がキオスクを構成することができるようにするために、キオスク固有制御機構640の一部640Aがブラウザ160に付加され、キオスク固有制御機構640の他の一部640Bがアプリケーション・プログラミング・インタフェース(API)680(440を含む)に付加される。したがって、キオスク固有制御機構640は、ブラウザ機構640AとAPI機構640Bの2つの部分に分けられる。この実施形態では、ブラウザ機構640AとAPI機構640Bは、プロセス間通信(IPC)640Iを介して連絡する。IPC640Iインタフェースは、ブラウザ機構640AとAPI機構640Bが、直接間接呼び出しではなくメッセージ受渡しを使用して連絡することができるようにする。(IPCは周知であり、その一例は、Windows(登録商標)オペレーティング・システムにおけるダイナミック・データ交換(DDE)の使用である。Windows(登録商標)はMicrosoft Corporationの商標である。)
【0046】
ブラウザ機構640Aは、どのアプリケーション・ファイル175内のAPI制御関数620もブラウザ160内のインタプリタ610によって認識されるように、ブラウザ・サブディレクトリに入れられる。API機構640Bは、ブラウザ機構640Aからメッセージを受け取り、そのメッセージに従って440を含む様々な関数を独立して制御する。このようにして、ブラウザからのアプレットは、1つまたは複数の装置およびローカル機能を制御することができるようになるが、それはブラウザ機構640Aを有する関数のみである。したがって、キオスク内の他の関数は、ネットワークを介したアプリケーション・ファイル175によるアクセスからは安全に保護されたままである。したがって、キオスクは構成可能ではあるが、安全に保護される。さらに、API機構640BはデバイスAPI440をブラウザからは独立して操作するため、API機構640Bに渡された装置制御関数(所与の装置を制御するために使用されるAPI制御関数620のサブセット)は、そのアプリケーション・ファイルが後でブラウザ160で除去または変更された場合であっても、装置のそのサブセット451についてのみ実行される。これによって、装置動作を持続的な方法で行うことができる。すなわちAPI関数(640、440)が開始された後は、アプリケーション・ファイル175がブラウザ160によって変更/除去されるかどうかに関係なく、その関数を完了することができる。この実行持続性によって、キオスクとのある種のユーザ対話をより効率的にすることができる。たとえば、アプリケーション・ファイル175は、カード発行機に新しいカードを発行するように指示することができる。次に、ユーザ/ブラウザは、カード発行機が磁気ストライプにデータを書き込んで新しいカードの打出しをしている間に別のアプリケーション・ファイルに移ることができる。
【0047】
ブラウザ機構640Aは、1)ブラウザ自体の標準ディレクトリ/ライブラリ内に入れられ、2)アプリケーション・ファイル175が、1つまたは複数のローカルAPI関数に関するメッセージ(たとえば関数名および関連パラメータ)を渡すネーム・サーバ機構を使用したメッセージ受渡し(図7および図9とその説明を参照)か、またはローカルAPI関数の直接呼び出し(図8および図10とその説明を参照)のいずれかによって、ローカルAPI680のうちの1つまたは複数のローカルAPI680を呼び出すことができるようにする構造を有する。
【0048】
好ましい一実施形態では、ブラウザ機構640Aは、アプリケーション・ファイル500にとって既知のJava(登録商標) API(「Java(登録商標)ラッパ」と呼ぶ場合もある)を含み、(たとえばプロセス間通信またはネーム・サーバを使用して)通信を行うか、またはローカルAPI680を直接呼び出すためのネイティブ言語(たとえばC++)でプログラムされた関数をさらに含む。
【0049】
API機構640Bは、1)様々なローカル機能モジュール(たとえばブラウザ制御モジュール、協同機能モジュール、装置制御モジュール、システム監視モジュールなど)に直接アクセスし、2)ネーム・サーバ機構を使用するかまたは関連する関数モジュールを直接呼び出すことによって1つまたは複数のAPI関数680から成るセットを呼び出すことができる構造を有し、3)API640Aとのメッセージ・ベースの通信を可能にするIPCを有する。(API関数680は、キオスク内の所与の装置または機能を特に制御するように作成され、アプリケーション・ファイル175によってアクセス可能であっても可能でなくてもよいことに留意されたい。)
【0050】
このキオスク制御機構を使用する一応用例は、アプリケーションがキオスクの構成方法を決定する前に、システム・セットアップおよび状況を問い合わせることである。アプリケーション・ファイル175内で、アプレットCallAPI.classを使用してAPI関数640「query_status」を呼び出すことができる。たとえば、
このアプレットがブラウザによって実行されると、まず、kioskAppInterfaceというクラスをインスタンス化する。このファイルおよび関連するDLLは、ブラウザ標準ライブラリに入れられる。次に、send_APImessage()というkioskAppInterfaceクラス(640A)のメソッドを使用して、APIメッセージ”query_status”(640A)を送る。このメソッドは、プロセス間通信機能640Iを呼び出して、API機構640Bにメッセージを送る。次に、AIP機構640Bは、関連するローカルAPI関数680を呼び出してシステム状況データを入手し、そのデータをプロセス間通信機能640Iを介して640Aに送り返す。アプレットは、メソッドget_APImessage()をコマンド”status”と共に使用して、640Bから送り返されたデータを入手し、そのデータをsysStatusというクラス内のデータ構造に格納する。
【0051】
640Aと640Bとの間のAPIメッセージ受渡しには、ネーム・サーバ機能機構(以下の図7を参照)を使用することができる。一般に、640Bがメッセージを入手すると、(640B内の)ネーム・サーバ機能がそのメッセージを解析し、対応するローカル機能API680を呼び出す。この例では、システム監視関数APIを呼び出してシステム状況データを入手する。これは、以下のように例示することができる。
上述のように”sysStatus”クラス・データ構造で入手されたデータの例を以下に示す。
Num. of Device = 5
laser printer = OK
card reader = OK
card issuer = no card supply
receipt printer = OK
ticket printer = OK
このメッセージは、キオスク上に5個の装置があり、カードを必要とするカード発行機以外はすべて動作していることを示している。
【0052】
キオスクの現況に従って、アプリケーション・ファイル175は、レーザ・プリンタ、受領書プリンタ、およびカード読み取り機(装置サブセット451)を選択して使用することができると同時に、状況データが示すようにカード読み取り機のカード供給機構にカードが入っていないため、カード発行機の使用を回避する(このような状況では、カードは他の手段で作成し、キオスクのユーザに郵送される)。
【0053】
ある種の好ましい実施形態では、このような技法を使用して、キオスクにどの装置が備えられているか、それらの装置が正常に機能しているかどうかを判断する。このようにして、サーバは、キオスクがどの装置を備えているかやどの装置が動作可能かに基づいて、キオスクを構成するための特定のアプリケーション・ファイル175を供給することができる。したがって、それぞれのアプリケーション構成のためにサーバでアプリケーション・ファイルを適切に選択することにより、任意の数の異なるキオスク設計や動作状況を構成することができる。たとえば、銀行業務アプリケーションでは、高品質の銀行取引明細書を印刷するためにレーザ・プリンタを備えたキオスクにはレーザ・プリンタ制御を含むアプリケーション・ファイルとして構成されるファイル500が送られるのに対し、それと同じタスク(銀行取引明細書)のために(使用可能かつ動作可能な)受領書プリンタしか持っていないキオスクには、受領書プリンタ制御を含むアプリケーション・ファイルとして構成される他のファイル500が送られる。このようにして、誤動作するレーザ・プリンタを備えたキオスクや、レーザ・プリンタのないより低コストのキオスクでも、銀行アプリケーション用に適切に構成することができる。
【0054】
他の実施形態では、1つまたは複数のサーバがアプリケーション・ファイルで要求を送ることによって状況情報を要求することができる。この情報を使用して、サービスの提供を必要とするキオスクまたはそれらのキオスク上の装置あるいはその両方を判断することができる。たとえば、必要な場合にサービス技術員を派遣してカード発行機にカードを追加することができる。
【0055】
他の実施形態では、キオスクまたは装置のサービス履歴で使用するために状況情報を要求することができる。さらに、他のマーケティング情報、たとえば、特定の設置場所でどのクラスの顧客によってどの構成が最も要求されるかという情報を入手することもできる。
【0056】
好ましい一実施形態では、キオスクは、他のアプリケーションのバックグラウンドで実行されるブラウザ・ウィンドウ(システム監視アプリケーション・ウィンドウ)を有することができる。このシステム監視アプリケーション・ウィンドウは、1つまたは複数のサーバと通信する1つまたは複数のアプレットを含む1つまたは複数のHTMLファイルを含むことができる。(サーバとのJava(登録商標)アプレット通信のための機構は周知である。)このシステム監視アプリケーション・ウィンドウは、キオスクに電源投入されると常に開始することができ、キオスクが動作中である限り稼働し続ける。このようにして、1つまたは複数のサーバが、アプレットとの通信を介して随時、キオスクのシステム状況情報を入手することができる。
【0057】
本明細書に記載の手法によって得られる可能性の中には以下のものがある。
1)「軽量クライアント」キオスク。キオスクに事前インストールする必要があるアプリケーション固有ソフトウェアがないため、コスト効果の高いキオスクの構築と維持を行うことができる。したがって、サーバ上で1つのアプリケーション(アプリケーション・ファイル500)を作成し、それをそのサーバに接続されているネットワーク上の多数の「軽量」キオスクが使用することができる。ネットワーク上の「軽量」キオスクのいずれのためにもアプリケーション固有のソフトウェアを作成する必要がない。実際には、ネットワークは、アプリケーション固有ソフトウェアをまったく持たない1つまたは複数の標準(したがってより安価な)「軽量」キオスクで構成することができる。(たとえば、キオスク製造業者は、どの用途にも使用され、どの用途からも独立した1つまたは複数の標準キオスクを製造することができる。)アプリケーション・ファイル500をサーバで作成、更新、保守することができ、キオスク内のどのプログラミングにも変更を加えることなく、ネットワーク上の1つまたは複数のキオスクを再構成するために使用することができる。この「軽量クライアント」キオスクは、いつでもどこでも汎用公共アクセスを提供するためのキオスクの大量配備を可能にし、たとえばインターネットまたは電話網あるいはその両方を介して通信することができる「キオスク電話」を可能にする。
【0058】
2)キオスクが再構成可能であるため、サーバで多数の多様なアプリケーションを開発することができ、そのキオスクを介して配布することができる。したがって、アプリケーション提供者はネットワーク上にあるどのキオスクでも共用することができる。これらのアプリケーションは、特定の時点や特定の状況、たとえばユーザ要求または所与の環境条件(雨が降り出した時に傘店が広告を出すなど)のために、キオスクに供給することができる。
【0059】
3)キオスクはインターネットおよびウェブのオープン・スタンダード技術に基づくことができるため、情報や媒体が豊富で、技術に富むインターネットおよびワールド・ワイド・ウェブの利点を利用することができる。
【0060】
ユーザがこのキオスク100をどのように使用できるかを示すいくつかの非限定的な例を以下に示す。
1.遊休時におけるキオスクの画面によって、様々な画像、ビデオ・クリップ、音声、グラフィクス・パターンおよびテキストを動的に表示する。画面の内容はすべてHTMLファイルから制御され、これらのHTMLファイルはキオスクの要求またはサーバのプッシュに基づいて更新される。サーバ提供者は、この異なる種類の画面「スペース」およびその表示時間に対して異なる料金を支払うことができる。朝と夕方の通勤時間には、主にヘッドライン・ニュースと金融市場の変化を表示し、昼食時間には多くのレストランの宣伝を表示する。週末には、百貨店の特売広告を表示することもできる。この内容は、そばを通る人々を常に、画面にタッチするように誘う。
2.ユーザは画面を見て歩み寄り、画面にタッチする。画面はただちに次の画面に切り替わり、アプリケーションのカテゴリを示す多くの画像アイコンとテキストを表示する。
3.ユーザがピザ注文アイコンにタッチすると、ユーザがピザの種類を選択することができる画面が提示される。画面は、ユーザに対してピザの配達場所と時間の入力を促し、ユーザは画面上のタッチ・キーパッドを介して情報を入力することができる。HTML内に組み込まれた制御プログラム620がこのデータを取り込む。次に、画面はユーザに対して自分のクレジット・カードを挿入して支払いを認めるように促す。制御プログラムは、カード読み取り機を開き、クレジット・カード情報を取り込む。次に、制御プログラムは関連するキオスクAPI関数を使用してキオスク上で通信機能を呼び出し、(たとえばモデムを介して)クレジット・カード会社と(たとえばファクス伝送を介して)ピザ店とにアクセスする。これらの機能が完了した後、画面は顧客に注文のための情報を確認する。その他の一般小売業トランザクションも同様にして行うことができる。
4.ユーザは、電話アイコンにタッチして電話を掛けることもできる。画面上に電話アプリケーションHTMLファイルが電話キーパッドと共に表示される。ユーザが番号を入力した後、組込み制御プログラムが関連API関数640Aを呼び出し、電話呼出しを開始する。これは、キオスクのネットワーク接続(122、123、150)、アプリケーション・ファイル500、およびユーザ選択105Aに応じて、公衆電話網(PSTN)、統合サービス・ディジタル網(ISDN)、またはインターネット電話を介した従来の電話呼出しとすることができる。電話が接続されると、ユーザはキオスクに備えられた送受話器またはスピーカフォンを使用することができる(欧州特許出願第789470号に対応する、1996年2月6日出願の「Multipoint Simultaneous Voice and Data Services Using a Media Splitter Gateway Architecture」という名称のホルテンシウス(Hortensius)等の米国特許出願第08/595897号を参照されたい。これは、参照によりその全体が本明細書に組み込まれる)。
【0061】
他の好ましい実施形態では、ユーザは相手方が同じ機能を備えていればアプリケーション共用機能を使用してテレビ電話呼出しまたはテレビ会議呼出しも選択することができる。その場合、HTMLアプリケーションに組み込まれた制御プログラム620が関連API関数640Aを呼び出して、キオスクのテレビ会議機能を開始する。ユーザはキオスクに備えられたタッチ・スクリーンと電子ペンを使用して会話を容易にすることができる(前述のフィン等の「Internet Web Page Sharing」特許出願に記載されている)。
5.ユーザはファクス機能を選択することもできる。画面は、ユーザに対して指示を出して、ファクス番号を入力し、クレジット・カードを挿入してファクスする文書を適切な装置(文書スロットなど)に入れ、準備が整ったら画面上のOKボタンにタッチするように促す。ボタンにタッチすると、組込み制御プログラム620がキオスク上で関連装置制御API関数640Aを呼び出し、スキャナを動作させ、文書を走査して文書を返し、ネットワーク、たとえばPSTNやインターネットを介して文書を電子送信する。
6.ユーザは、電子メール機能を選択することもできる。画面は、電子メール用のHTMLアプリケーションを表示する。組込み制御プログラム620が関連API関数640Aを呼び出すか、またはブラウザを介してメール・サーバおよびディレクトリ・サーバと直接通信し、ユーザを識別し、既存の電子メール・メッセージの取出しまたは新規メッセージの送信を行う。
7.ユーザは、フロッピィ・ディスケットなどの媒体上の電子ファイルを転送する105Aを選択することもできる。画面は、ユーザに対して特定のプロセスに従うように、たとえばフロッピィをスロットに挿入するように促す。組込み制御プログラム620が関連API関数640Aを呼び出し、ディスケットを読み取り、ユーザが選択したファイルの読み取りまたは書込みを行い、それを、たとえば誰かの電子メール・アドレスに送信するなど、ユーザの指示に従って転送する。
8.ユーザは、弁護士、医師、会計士、不動産業者、融資ブローカー、投資顧問業者、保険業者など、広範なサービス提供者(たとえばサーバ上のアプリケーション所有者)の中からサービスを選択することができる。画面は、HTMLファイル内の対応するアプリケーションを表示し、要求されたサービスを供給する(ユーザ選択に基づき、このサービスは、英語、スペイン語、中国語、日本語、フランス語、イタリア語など、任意の自然言語で提示することができる。)
9.サービス提供者のアプリケーションによっては、映像、音声、共用画面、および遠隔装置制御機能を使用して、リアルタイム協同セッションも開始することができる(前述したフィン等の特許を参照)。組込み制御プログラムが関連API関数620を呼び出し、映像、音声、およびデータ通信を処理する。
10.ユーザは、情報の検索を選択することができる。画面がユーザにどのような情報が必要かを入力するように促し、組込制御プログラムがそのデータを取り込み、情報のタイプの応じて照会を送る。照会は、インタフェースを介して、周知の検索エンジン、アプリケーション・サーバ上のデータベース、および他のネットワーク・サーバ上のデータベースを使用して送ることができる。
11.ユーザは、カスタマイズされたアプリケーション・サーバを選択することができる。たとえば、ユーザが(たとえば磁気カードまたはスマート・カード上でアクセスされた情報から)識別されると、アプリケーション・ファイルは、ユーザのためにカスタマイズされた情報やキオスク構成を提供する。
12.ユーザは、キオスク100によって最初に提供される構成ではないキオスク100の構成を選択することができる。キオスクの第1の構成と対話することによって、他のアプリケーション・ファイル175の参照によってキオスクを第2の構成に再構成することができる。たとえば、第1の構成が、第2の構成のためのアプリケーション・ファイル175にアクセスするユーザ入力(アイコンまたはハイパーリンク)を備えることができる。
13.ユーザは、サーバが「学習」アプリケーション・ファイル175を提供する、ネットワークに接続された1つまたは複数のキオスクにアクセスすることができる一人または複数の学生または受講者とすることができる。
14.ユーザは、キオスクから「電子」製品を選択することができる。たとえば、音楽、ビデオ、コンピュータ・ソフトウェア、またはその他のマルチメディア情報あるいはそれらの組合せを有するコンパクト・ディスク(CD)を、適切なディスペンサから販売することができる。あるいは、適切なキオスク装置によって空の媒体(たとえばテープ、ディスケット、書込み可能CDなど)に書き込み、ネットワークを介してユーザに伝送可能な「電子」情報を無形の形態で提供することもできる。たとえば、最新のオペラ録音を、工場で「カット」されたCDを送らずに、CDで提供することができる。
【0062】
キオスク装置との間で情報の入出力を行うために使用される、ある種のキオスク制御機構640の他の例を以下に示す。一般的入力状況で、アプリケーション・ファイル500は、API関数640「hardkey_input」を呼び出すために使用されるCllAPI.classというアプレットを有する。たとえば、以下の通りである。
【0063】
【0064】
このアプレットを以下のようにHTMLファイルに組み込む。
【0065】
【0066】
このアプレットは、ブラウザによって実行されると、まず、kioskAppInterfaceというクラスをインスタンス化する。このファイルおよび関連DLLは、ブラウザ標準ライブラリに入れられる。次に、send_APImessage()というkioskAppInterfaceクラス(640A)のメソッドを使用して、APIメッセージ「hardkey_input」(640A)を送る。このメソッドは、プロセス間通信機能640Iを呼び出して、メッセージをAPI機構640Bに送る。次に、API機構640Bが関連ローカルAPI関数680を呼び出し、キオスクに備えられたハードウェア・キーからのキー入力を取り込み、それをプロセス間通信機能640Iを介して640Aに送り返す。このアプレットは、コマンド「input」と共にget_AIPmessage()を使用して、640Bから送られたデータを入手し、InputDataというクラス内のデータ構造に格納する。
【0067】
【0068】
アプリケーション・ファイル500が、「ソフト・キー」入力を呼び出す組込みアプレットを有する場合も、同様のAPIメッセージが640Aと640Bの間で受渡しされ、異なるAPI関数680を使用して画面上にソフトキー・パッド・ウィンドウを「ポップアップ」表示し、ユーザ入力を取り込むことに留意されたい。このようなソフト・キー入力のためのAPI関数680は周知である。
【0069】
同様にして、アプリケーション・ファイル500が、出力装置、たとえばレーザ・プリンタ上でのファイルのプリントを呼び出す場合、組込みアプレットを有する場合、上記のコードはローカルAPI関数680のLaser_print(FileName)に指示して、レーザ・プリンタを制御し、ファイル「FileName」をプリントさせる。
【0070】
図7に、ICP640Iおよびネーム・サーバ機能640Bを使用するキオスク制御機構640の一実施形態を示す。この場合、アプリケーション・ファイル(175、500)によって、(主としてメッセージ受渡しのための)汎用通信API関数640Aの小さな固定セットが使用される。これらの通信API関数は、640Aと60Bとの間でメッセージの通信または受渡しを行う。メッセージの実行は、640B内のネーム・サーバ機能によって行われる。サーバ機能640Bは、IPC640Iサーバとしての機能する。ネーム・サーバ機能は、様々な事前定義メッセージを認識する。たとえば、一実施形態では、通信APIのセットは、send_mesage(message)とget_message(message)の2つの関数を有する。しかし、複数の「message」がある。640B内のネーム・サーバ機能は、これらの各事前定義メッセージが入ったリストを融資、各事前定義メッセージは、それぞれの事前定義メッセージを実行するために適切なローカルAPI関数680を呼び出すことができる1組の論理に関連づけられている。
【0071】
この実施形態では、新しい事前定義メッセージと、新しい機能を実行するのに必要な論理とを与えることによって、新しい装置やそれらの新しい装置によって実行される新しい機能を追加することができる。このようにして、アプリケーション・ファイル(175、500)は、与えられた通信API関数において新しいメッセージ識別子を使用するだけで、それらの新しい機能を実行することができる。これには、典型的には、アプリケーション・ファイル500内で「ASCII」または「text」メッセージ識別子を変更するだけでよい。新しい機能を使用するために、新しい組込みプログラムのコード化とコンパイルを行ったり、既存のプログラムを修正したりする必要はない。したがって、キオスク提供者が必要な論理をネーム・サーバ640Bにすでに組み込んでいるため、アプリケーション所有者(したがってサーバ上のアプリケーション・ファイル)が新しい機能を実行するためにしなければならないことはわずかしかない。
【0072】
図8は、ブラウザ機構640Aにおけるマッピング・ローカルAPIのためのIPC640Iを使用するキオスク制御機構640の代替実施形態を示すブロック図である。この例では、多くのキオスク制御関数620またはすべてのキオスク制御関数620が、ブラウザ機構640Aでアプリケーション・ファイル500から対応するマッピング・ローカルAPIを直接呼び出すことによって実行される。各マッピング・ローカルAPI640Aは、IPC640Iを介してAPI機構640Bと連絡し、API機構640Bが適切なローカルAPI関数680を呼び出す。ここでは、マッピング・ローカルAPI640Aは、Java(登録商標) APIプログラムである。1つまたは複数のローカルAPI680のために特に作成された1つのJava(登録商標) APIプログラムがある。ネーム・サーバの場合とは異なり、Java(登録商標) APIプログラムのうちの少なくとも1つのAPIプログラムが、ローカルAPI680のうちの1つまたは複数のローカルAPI680を制御する論理を持っていなければならない。これらのJava(登録商標) APIプログラム640は事前定義され、アプリケーション・ファイル500にとって既知である。
【0073】
この実施形態では、ブラウザ機構640A内に新しいマッピング・ローカルAPI(640A)をそれらに対応するAPI機構640Bと共に設けることによって、新しい装置やそれらの装置によって実行される新規機能を追加することができる。この実施形態では、アプリケーション・ファイル500は、これらの各新規機能を直接呼び出しで実行する必要がある。したがって、新規機能を実行するための論理の一部または全部を、アプリケーション・ファイル500に定義する必要がある。たとえば、サーバでアプリケーション・ファイル500を作成するアプリケーション・プログラマは、たとえば新しいJava(登録商標)アプレットを作成することによってこの新しい論理をコード化する必要がある。
【0074】
図9に、キオスク制御機構640の他の実施形態を示す。この実施形態では、IPC640Iがなく、したがってAPI機構640Bはブラウザ機構640Aにマージされる。しかし、ネーム・サーバ機能(やはりマージされる)は使用され、通信APIのセットと組み合わされて、ブラウザ機構(640B、640)になる。この実施形態では、(アプレットを含む)アプリケーション・ファイル500がブラウザ160によって「除去(ドロップ)」され、ローカル機能680が終了するため、持続性が失われる。この実施形態は、持続性が不要な場合、たとえば、ブラウザによって制御される画面以外に必要なキオスク装置がない場合に有用である。
【0075】
図10に、キオスク制御機構640の他の実施形態を示す。この実施形態には、IPC640IとAPI機構640Bがまったくない。この場合は、アプレットがAPI関数(640、640A)を直接呼び出し、API関数がローカルAPI関数680を直接呼び出す。ここでは、API関数640はJava(登録商標) APIプログラムである。1つまたは複数の各ローカルAPI680のために特に作成された1つのJava(登録商標) APIプログラムがある。ネーム・サーバの場合とは異なり、Java(登録商標) APIプログラムのうちの少なくとも1つのJava(登録商標) APIプログラムが、ローカルAPI680のうちの1つまたは複数のローカルAPIプログラムを制御する論理を持っていなければならない。これらのJava(登録商標) APIプログラム640は事前定義され、アプリケーション・ファイル500にとって既知である。この実施形態でも持続性は失われる。
【0076】
図11は、キオスクによって行われる実行プロセス700のフローチャートである。
【0077】
まず、ブラウザ160がアプリケーション・ファイル175から(HTML)ファイル500を入手する705。次に、ブラウザ160は、アプリケーション・ファイル500のタグと内容を解釈する710。ブラウザ160がローカルAPI呼び出しに遭遇しない場合715、ブラウザは関連する周知の処置を行って720、タグを実行する。ブラウザがローカルAPI呼び出しに遭遇した場合715、ブラウザは関連API関数(640または640A)を呼び出す725。
【0078】
好ましい一実施形態では、ブラウザ機構640Aはプロセス間通信機能640Iを介してAPI機構640Bにメッセージを伝える730。あるいは、前述のようにメッセージ・サーバが使用される。API機構640Bはメッセージを受け取り、関連ローカル機能680を呼び出す735。API機構640Bは、プロセス間通信機能640Iを介してブラウザ機構640Aにローカル機能の実行結果についてのメッセージを伝える740。
【0079】
ブラウザは、画面入力、組込み制御プログラム論理、または外部ブラウザ制御機能660を介して制御され、次のHTMLファイルを要求する。このようにして、ブラウザをローカル・キオスク装置として扱うことができる。したがって、ブラウザを制御して、ローカルAPI660を使用して周知のブラウザ・インタフェース(API681)にアクセスすることによって、ネットワークを介して1つまたは複数のサーバから任意の特定のHTMLファイルをロードすることができる。ローカルAPI660は、組込み制御プログラム620がブラウザ・イン681にアクセスすることができるようにするように作成される(上記参照)。
【0080】
図12は、ネットワーク上の1つまたは複数のサーバで実行されるサーバ・プロセス800のフローチャートである。サーバが、ネットワークを介して1つまたは複数のキオスクから要求を受け取る810。この要求では、アプリケーション・ファイル175のうちのどのアプリケーション・ファイル175がキオスクによって選択/アクセスされるかが識別される。この要求は、アプリケーション・ファイルの要求/アクセスを行っているキオスク100の設置場所も含む。サーバは、要求を受け取ると、要求されたアプリケーション・ファイル175をキオスクに送る820。アプリケーション・ファイル175は、サーバ上の論理によって事前作成または動的に生成することができる。
【0081】
他の実施形態では、キオスクはプロキシ・サーバ195Aに要求を送る810。プロキシ・サーバ195Aは、典型的にはサーバ195よりもキオスクの近くに配置される。あるいは、プロキシ・サーバ195Aは、キオスク100/200ないのコンピュータ上に配置することもできる。たとえば、サーバ195は第1の都市、たとえば本社の所在地に配置され、プロキシ・サーバ195Aは異なる都市にあるキオスクに接続されたLAN上に配置することができる。プロキシ・サーバ195Aは、事前定義されたスケジュールに従ってキオスクが必要とする多くのアプリケーション・ファイル175またはすべてのアプリケーション・ファイル175を求める要求をネットワーク150を介してサーバに送ることができる。このようにして、キオスクは、アプリケーション・ファイルを必要とするとき、プロキシ・サーバ195A上のアプリケーション・ファイル175に、より高速に、より高い信頼性をもってアクセスすることができる。さらに、プロキシ・サーバは、ネットワーク上の「オフ・ピーク」時間中にサーバ195に対してアプリケーション・ファイル175を要求することができる。
【0082】
他の実施形態では、サーバ(195、195A)を使用して、サーバ195によって識別された1つまたは複数のキオスクに情報を「プッシュ」することができる。たとえば、ステップ810で、サーバ195で要求が開始される。この開始810は、様々な理由で行われるようにすることができる。たとえば、アプリケーションを更新するには、新しいアプリケーション・ファイル175を使用して1つまたは複数のキオスクを再構成する必要がある。あるいは、毎日特定の時刻に新しい構成の提供、すなわち毎日午後5時に異なる情報源からのニュースの提供を必要とする場合がある。サーバは、キオスクの定期「点検」を「プッシュ」して、どのキオスクが保守を必要としているかを判断することもできる。
【0083】
この実施形態の好ましい一実施態様は、キオスクで稼働する「サーバ・プッシュ機能」685を使用する。サーバ・プッシュ機能685は、ネットワーク150に接続され、サーバ195からメッセージを受け取ることができる。サーバ・プッシュ機能685は、ブラウザ・インタフェース681にもアクセスすることができる。サーバ195は、ブラウザにサーバ195に対して特定のアプリケーション・ファイル500を要求させる要求を、サーバ・プッシュ機能685に送る。
【0084】
図13は、組込み制御プログラムがJava(登録商標)の代わりにActiveX技法を使用する場合の機構を示すブロック図である。ActiveX制御オブジェクトは、C++やVisual Basic、Java(登録商標)などの様々なプログラミング言語を使用して実現可能である。ActiveXオブジェクトは、HTMLファイルに組み込むことができる。たとえば以下の通りである。
【0085】
【0086】
この場合、ブラウザはActiveX使用可能でなければならない。すなわち、ActiveX技法をサポートしていなければならない。一実施形態では、ブラウザはMicrosoft Internet Explorerである。
【0087】
アプリケーション・ファイル500がブラウザ160に到着すると、HTMLファイルがそのタグと内容に基づいて解釈される910。前述のJava(登録商標)の場合と同様に、ブラウザは前述のように非API制御関数を実行する920。ブラウザによって実行されたAPI制御関数930がAPI940を直接呼び出す。Java(登録商標)の場合と同様に、APIの最初の部分940Aがプロセス間通信機能940Iを介してAPIの第2の部分(たとえば640B)と連絡し940B、この第2の部分がローカルAPI680を呼び出す。
【0088】
ActiveXと前述のJava(登録商標)の場合との相違は、ActiveXは、C++やVisual Basicなどの非ネットワーク言語で作成されたオブジェクトを含むことができることである。これらの言語のオブジェクトは、実行可能コードでブラウザにダウンロードされる。したがって、このようなオブジェクトは、同じ言語で作成されたプログラムが行えることはどのようなことでも行うことができるが、Java(登録商標)アプレットが持っているようなセキュリティ上の制限を持たない。したがって、組込み制御プログラム620を、非Java(登録商標)言語を使用してActiveX制御プログラムとして作成した場合、API関数940はキオスク内の任意のどこにでも入れることができる。ActiveXオブジェクトでJava(登録商標)を使用する場合は、やはり前述の機構を使用しなければならない。
【0089】
図14から図17で、前述の番号が付いたボックスは前述と同様の機能を有する。
【0090】
図14に、IPCおよびネーム・サーバ機能を使用するキオスク制御機構940の一実施形態を示す。ブラウザ機構940Aは、ブラウザ・ディレクトリに入れる必要がなく、キオスクのメモリ内の任意の場所、たとえばキオスクのシステム・ディレクトリに入れることができるネイティブ言語APIである。しかし、ブラウザ機構940Aのパス(すなわち場所)は、アプリケーション・ファイル500にわかっていなければならない。
【0091】
図15は、IPC640Iをマッピング・ローカルAPIと共に使用するキオスク制御機構940の他の実施形態を示すブロック図である。図8と同様、ローカルAPI680のうちの1つまたは複数のローカルAPI680のための少なくとも1つのブラウザ機構940がある。
【0092】
図16に、IPC640Iのないキオスク制御機構940の他の実施形態を示す。この場合、ブラウザ機構940Aは図14で前述したように配置することができる。
【0093】
図17に、制御をJava(登録商標)で実施しない場合にActiveX制御を使用するキオスク制御機構の他の実施形態を示す。この実施形態では、そのような組込みActiveX制御がローカルAPI680を直接呼び出すことができるため、940はまったく不要である。この場合、実行の持続性は失われる。
【0094】
図18に、いわゆるプラグイン技法を使用する他のキオスク制御機構を示す。この場合、好ましい実施形態はNetscape Navigator v3.0またはそれ以降のブラウザを使用する。
【0095】
ここでは、制御機構1040は、ブラウザ機構(プラグイン・モジュールおよびそれに付随するJava(登録商標)ラッパ)1040Aを含み、このブラウザ機構にアプリケーション・ファイル/ファイル(175、500)内のキオスク制御プログラム(620)がアクセスする。プラグイン・モジュール1040Aは、アクセスされると、ブラウザ160の一部として実行される。実行プラグイン・モジュール1040Aは、プロセス間通信機能1040Iを呼び出す。このプロセス間通信機能(IPC)1040Iは、前述のIPC(640I、940I)と同じものとすることができる。IPC1040Iは、API機構1040Bと連絡してローカルAPI680を呼び出す。API機構1040Bは、前述の機構(640B、940B)と同じものとすることができる。
【0096】
この実施形態では、ブラウザ機構1040Aはプラグイン技法(ザン・オリファント(Zan Oliphant)の「Programming Netscape Plug−ins」(Sams.net、1996年刊、ISBN1−57521−098−3)を参照)によって実施される。プラグイン技法は、ネイティブ・コード・モジュールを使用する。すなわち、CまたはC++あるいは同様のプログラミング言語を使用して実施され、さらに、より好ましい実施形態ではJava(登録商標)ラッパでも実施される。プラグイン1040Aは、ブラウザ160によって指定された特別なプラグイン・ディレクトリに入れられる。HTMLインタプリタ610が、マルチパーパス・インターネット・メール・エクステンション(MIME)タイプとも呼ばれる組込みファイル内の固有ファイル名拡張子によってそれぞれのプラグイン1040Aを識別する組込みファイル(620)に遭遇すると、プラグイン1040Aはブラウザ160に動的にロードされる。
【0097】
組込みキオスク制御プログラム(620)は、1)Java(登録商標)Script関数、2)Java(登録商標)アプレット、または3)固有拡張子を持つMIMEファイルに含まれる事前定義された1組の制御スクリプトとすることができる。
【0098】
ブラウザ160がプラグイン・モジュール1040Aをロードすると、プラグイン1040AはHTML文書に使用可能になる。すなわち、プラグイン内の関数(プラグイン関数)が組込みプログラム(620)、たとえば呼び出すJava(登録商標)Script関数またはJava(登録商標)アプレット関数に使用可能になる。これを行う際、キオスクのローカルAPI680を1つまたは複数の対応するプラグイン1040Aを介して所与の組込みプログラム620によって制御することができる。言い換えると、プラグイン・モジュール1040AはIPC関数1040Iを呼び出して、対応するAPI機構1040Bを介してキオスクのローカルAPI680を呼び出す。
【0099】
非限定的な3つの例を以下に示す。
【0100】
例1は、組込みキオスク制御プログラム1030としてJava(登録商標)Script関数を、メッセージ受渡機能を備えるプラグイン・モジュール1040Aと共に使用する。
【0101】
制御プログラム1030を有するアプリケーション・ファイル175は、以下の通りである。
【0102】
【0103】
Java(登録商標)アプレット「MYAPPLET.Java」には以下のようなコードが含まれる。
【0104】
【0105】
Java(登録商標)ラッパ・ファイルPluginWrapper.javaには、以下のコードが含まれる。
【0106】
【0107】
上記の組込み制御プログラム1030に関連づけられたプラグイン・モジュール1040Aは、とえばC++などのネイティブ言語コードで実施されたメソッドSendMsg()を提供する。
【0108】
例2は、メッセージ受渡し機能を備えるプラグイン・モジュール1040Aと共に、組込みキオスク制御プログラム1030としてJava(登録商標)アプレットを直接使用する。
【0109】
制御プログラム1030を有するアプリケーション・ファイル175は以下の通りである。
【0110】
【0111】
Java(登録商標)アプレット「MYAPPLET.Java」には以下のようなコードが含まれる。
【0112】
【0113】
Java(登録商標)ラッパ・ファイルPluginWrapper.javaには以下のコードが含まれる。
【0114】
例1と同じように、上記のプラグイン組込み制御プログラム1030に関連づけられたプラグイン・モジュール1040Aが、たとえばC++などのネイティブ言語で実施されたメソッドSendMsg()を提供する。
【0115】
例3は、1組の事前定義制御スクリプトと、キオスク・ローカルAPI680を制御する対応するプラグイン・モジュール1040Aとを含み、それらのスクリプトを実行してキオスクのローカルAPI680を制御する組込みファイル1030を使用する。
【0116】
組込みファイル1030を有するアプリケーション・ファイル175は、以下のようになる。
【0117】
【0118】
プラグイン・モジュール104Aは以下のコードから成ることができる。
上記の3つのプラグイン関数は、Netscapeブラウザ160が備える標準プラグインAPIを実施する。ここでは、ブラウザ160が備える他のプラグインAPIは使用されない。
【0119】
<embed>タグがHTMLインタプリタ610によって解釈されると、MSGPASS.METというファイル1030がローカル・ディスクにダウンロードされ、それに対応するプラグイン・モジュール1040Aがまだブラウザ160にロードされていない場合、そのプラグイン・モジュール1040Aがロードされる。ブラウザ160は、NPP_NewというプラグインAPIを自動的に呼び出してプラグイン・インスタンスを作成し、ダウンロードされたファイルの名前を持つプラグインAPIであるNPPStreamAsFile()を呼び出して、そのファイルを実行する。必要であれば、ブラウザ160はNPP_Destroy()というプラグインAPIを呼び出してプラグイン・インスタンスを破棄する。
【0120】
組込みファイル内の事前定義スクリプトを解釈して実行するためにクラスKioskIPCと関数InterpretFile()を、C++などのネイティブ言語を使用して実施することができる。この意味で、関数InterpretFile()スクリプトが、妥当なパフォーマンスでスクリプトを解釈して必要な関数を実行することができるように実施されている限り、スクリプトをどのようなものにすることができるかについて制限がない。一例は以下の通りである。
【0121】
組込みファイル内では、スクリプトは以下のようになる。
【0122】
【0124】
プラグイン・モジュール1040Aは、その機能の特定の対話式制御を実現するために、ブラウザ160ウィンドウ内にいくつかのボタンを作成することもできる。たとえば、「PrintCurrentPage」というメッセージを送るSendMsg()関数を呼び出すために、「Print(プリント)」というボタンを作成し、タッチまたはクリックされるのを待つことができる。<embed>タグは、プラグイン・モジュール1040Aの実施態様に従ってプラグイン・モジュール1040Aを制御するための1組の事前定義パラメータも含むことができる。<embed>タグの使用方法とプラグイン・モジュールの実施方法については、「HTML Publishing for Netscape」(スチュアート・ハリス(Stuart Harris)およびゲイル・キダー(Gayle Kidder)著、ISBN1−56604−288−7)およびザン・オリファント(Zan Olphant)による上記の書物を参照されたい。
【0125】
以下に本発明をまとめて示す。
(1) ブラウザ手段を含むエージェント・コンピュータを含んで構成される少なくとも1つのキオスク装置に接続され、アプリケーションを要求するための少なくとも1つの構成要求をネットワークを介して前記キオスク装置から受け取るサーバであって、前記サーバは、
アプリケーションに関連づけられ、組込み構成要素ファイルと組込み制御関数とを含んで構成されるHTMLファイルとして構成され、かつアプリケーション・ファイルとして参照される少なくとも1つの構成セットを格納する手段と、
前記構成要求により指定される前記構成セットを選択し、選択された前記構成セットをキオスク装置へと送信し、前記キオスク装置に対して入力/出力装置または周辺装置を制御するためのブラウザ機構を組み込ませ、前記キオスク装置の少なくとも1つの入力/出力装置または周辺装置を選択的に制御することにより前記キオスク装置が要求したアプリケーションを実行させる通信手段と、
を含むサーバ。
(2) 前記アプリケーション・ファイルが、Java(登録商標)アプレットまたはActiveX制御またはプラグイン制御による遠隔装置制御機能と、遠隔メッセージ表示機能と、ファイル転送機能と、エージェント/クライアント協同機能のうちのいずれか1つを提供する、(1)に記載のサーバ。
(3) 前記組込み制御関数の他、前記キオスク装置の動作状況を判断するシステム監視プログラムを含むHTMLファイルを格納する、(1)または(2)に記載のサーバ。
(4) 前記動作状況を使用して、前記入力/出力装置または周辺装置に必要な保守と、前記入力/出力装置または周辺装置の保守履歴と、前記構成要求のうちの1つまたは複数の構成要求に応答するために前記ネットワーク上で提供するアプリケーション・ファイルと、前記キオスク装置のユーザに関するマーケティング情報とのうちのいずれか1つまたは複数を判断する、(3)に記載のサーバ。
(5) 前記サーバは、前記動作状況を判断し、前記ネットワーク上で前記キオスク装置にどの構成セットを提供するかを決定する、(3)または(4)に記載のサーバ。
(6) 前記HTMLファイルは、ゼロ個または1個以上のハイパーテキスト構成要素ファイルを含む、(1)ないし(5)のいずれか一項に記載のサーバ。
(7) 前記アプリケーションがキオスク装置におけるユーザに合わせてカスタマイズされたカスタマイズ・アプリケーションである、(1)ないし(6)のいずれか一項に記載のサーバ。
(8) 前記アプリケーション・ファイルが、前記少なくとも1つのアプリケーション・ファイルを受信することにより構成されたキオスク装置を介してインターネットへのアクセス機能を提供する、(1)ないし(7)のいずれか一項に記載のサーバ。
(9) 前記インターネットへの前記アクセスが、1つまたは複数の指定されたサーバを介して一人または複数のユーザ間に通信リンクを提供する、(8)に記載のサーバ。
(10) 前記アプリケーション・ファイルが、電話呼出しと、電子メール送受信と、遠隔会議と、ファクス伝送と、トレーニング・セッションと、前記ネットワーク上の情報の検索と、ウェブ・ベースの協同とのうちのいずれか1つまたは複数の機能を提供する、(1)ないし(9)のいずれか一項に記載のサーバ。
(11) 前記少なくとも1つのアプリケーション・ファイルを受信することによって構成されたキオスク装置におけるユーザに前記アプリケーション情報を提供する、(1)ないし(10)のいずれか一項に記載のサーバ。
(12) 前記少なくとも1つの組込み制御関数が、キオスク装置に対して前記アプリケーション・ファイルのうちの1つまたは複数のアプリケーション・ファイルを要求させるための機能を付与する、(1)ないし(11)のいずれか一項に記載のサーバ。
(13) ネットワークを介して少なくとも1つのキオスク装置に接続されたサーバの動作方法であって、前記動作方法は前記サーバに対し、
前記ネットワークに接続されたキオスク装置に含まれ、ブラウザ手段を含むエージェント・コンピュータからの構成要求を受け取るステップと、
アプリケーションに関連づけられ、組込み構成要素ファイルと、キオスク装置におけるドライバ・プログラムから構成されるドライバ・サブセットを選択的に機能させる組込み制御関数とから構成され、かつHTMLファイルとして構成されるアプリケーション・ファイルである格納された構成セットを選択して、前記キオスク装置に送るステップと
を実行させ、
前記アプリケーション・ファイルは、Java(登録商標)アプレットまたはActiveX制御またはプラグイン制御を使用して前記キオスク装置にブラウザ機構を組込ませることにより前記キオスク装置の入力/出力装置または周辺装置に対応したドライバ・プログラムを選択的に制御させる
サーバ動作方法。
(14) エージェント・コンピュータを含んで構成される1つまたは複数のキオスク装置に接続され、少なくとも1つの構成要求をネットワークを介して前記キオスク装置のエージェント・コンピュータから受け取るサーバ動作方法であって、前記方法はサーバに対して、
前記ネットワークに接続された少なくとも1つのキオスク装置から構成要求を受け取るステップと、
アプリケーションに関連づけられ、組込み構成要素ファイルと組込み制御関数とを有し、かつ前記構成要求により指定され、HTMLファイルとして構成されるアプリケーション・ファイルである構成セットを前記キオスク装置に送信するステップと
を実行させ、
前記アプリケーション・ファイルは、前記キオスク装置にブラウザ機構を組込むことにより前記キオスク装置のドライバ・プログラムを選択的に制御させ、前記ドライバ・プログラムにより入力/出力装置または周辺装置を駆動させることにより前記キオスク装置に前記アプリケーションを実行させる、方法。
(15) 接続を介して少なくとも1つの構成要求を受信する、ネットワークへの1つまたは複数の接続を可能とする手段と、
アプリケーションに関連づけられ、組込み構成要素ファイルと組込み制御関数とを含んで構成されるHTMLファイルを含み、かつアプリケーション・ファイルとして参照される少なくとも1つの構成セットを格納する手段と、
キオスク装置へと前記構成要求により指定されるアプリケーションのための前記構成セットを通信する手段とを含み、
前記組込制御関数が前記キオスク装置に対してブラウザ機構を組込ませ、ブラウザ機構がドライバ・プログラムのうちの1つまたは複数のドライバ・プログラムから成るドライバ・サブセットを選択的に制御して前記ドライバ・プログラムにより前記入力/出力装置または周辺装置を駆動させ、前記キオスク装置をして前記アプリケーションを実行させるサーバ。
(16) 前記構成要求が構成する前記キオスク装置のうちの1つまたは複数のキオスク装置から送られる、(15)に記載のサーバ。
(17) 前記構成要求がエージェント・コンピュータから送られる、(16)に記載のサーバ。
(18) 前記アプリケーション・ファイルが、Java(登録商標)アプレットまたはActiveX制御またはプラグイン制御による遠隔装置制御機能、遠隔メッセージ表示、ファイル転送、およびエージェント/クライアント協同のうちのいずれか1つを含む、(16)に記載のサーバ。
(19) 前記組込み制御関数の他、前記キオスク装置のローカル・キオスク機能のうちの少なくとも1つのローカル・キオスク機能の動作状況を判断するシステム監視プログラムを含む、(15)に記載のサーバ。
(20) 前記システム監視プログラムにより与えられる前記動作状況を使用して、前記周辺装置のうちの1つまたは複数の装置に必要な保守と、前記周辺装置のうちの少なくとも1つの装置の保守履歴と、前記要求のうちの少なくとも1つの構成要求に応答するために前記ネットワーク上で提供するアプリケーション・ファイルと、一人または複数のキオスク・ユーザに関するマーケティング情報とのうちのいずれか1つまたは複数を判断する、(19)に記載のサーバ。
(21) 前記システム監視プログラムにより与えられる前記動作状況によって、前記サーバが前記ネットワーク上でサービスを提供するアプリケーション・ファイルを決定する、(19)に記載のサーバ。
(22) 前記アプリケーション・ファイルが、1つまたは複数のHTMLファイルを含み、前記HTMLファイルが、ゼロ個または1個以上のハイパーテキスト構成要素ファイルを含む、(15)に記載のサーバ。
(23) 前記アプリケーションが金融アプリケーションである、(15)に記載のサーバ。
(24) 前記金融アプリケーションが、ユーザへの金融情報提供、口座開設、現金支払い、勘定支払い、ローンの申込み、預金、モーゲージ支払い、金融に関する助言、固定資産取引、およびエージェントからの支援のうちのいずれか1つまたは複数の機能を含む、(23)に記載のサーバ。
(25) 前記アプリケーションがユーザに合わせてカスタマイズされたカスタマイズ・アプリケーションである、(15)に記載のサーバ。
(26) 前記アプリケーション・ファイルが、1つまたは複数のキオスク装置を介したインターネットへのアクセスを可能とする機能を提供する、(15)に記載のサーバ。
(27) インターネットへの前記アクセスが、1つまたは複数の指定されたサーバを介して一人または複数の第2のユーザ間に通信リンクを提供する、(26)に記載のサーバ。
(28) 前記アプリケーションが通信アプリケーションである、(27)に記載のサーバ。
(29) 前記通信アプリケーション・ファイルが、電話呼出し、電子メール送受信、遠隔会議、ファクス伝送、トレーニング・セッション、前記ネットワーク上の情報検索、およびウェブ・ベースの協同のうちのいずれか1つまたは複数の機能を提供する、(28)に記載のサーバ。
(30) 前記アプリケーションがサービス・アプリケーションである、(15)に記載のサーバ。
(31) 前記サービス・アプリケーションが、広告、サービス、およびサービス料金のうちのいずれか1つまたは複数の機能の提供を含む、(30)に記載のサーバ。
(32) 前記アプリケーションが、前記アプリケーション・ファイルを受信することによって構成されたキオスク装置を使用してユーザに情報を提供する、(15)に記載のサーバ。
(33) 前記組込み制御関数のうちの少なくとも1つの組込み制御関数が、前記キオスク装置のうちの少なくとも1つのキオスク装置に前記アプリケーション・ファイルのうちの少なくとも1つのアプリケーション・ファイルを要求させる機能を付与する、(15)に記載のサーバ。
【図面の簡単な説明】
【図1】キオスクの好ましい一実施形態を示すブロック図である。
【図2】キオスクの他の好ましい実施形態を示すブロック図である。
【図3】キオスクにおいて使用されるグラフィカル・ユーザ・インタフェースの例を示すブロック図である。
【図4】ユーザによって選択され、キオスクを構成するために実行される構成セット(アプリケーション・ファイル)を示すブロック図である。
【図5】少なくとも1つの組込み制御プログラムを含む、1つまたは複数のHTMLファイルおよび付随するハイパーテキスト構成要素ファイルを含む1組のアプリケーション・ファイル(構成セット)を示すブロック図である。
【図6】アプリケーション・ファイルおよびローカルAPIプログラムと対話してキオスクを構成する制御プログラム/関数を実行するキオスクの好ましい一実施形態を示すブロック図である。
【図7】キオスク制御機構の様々な好ましい代替実施形態を示すブロック図である。
【図8】キオスク制御機構の様々な好ましい代替実施形態を示すブロック図である。
【図9】キオスク制御機構の様々な好ましい代替実施形態を示すブロック図である。
【図10】キオスク制御機構の様々な好ましい代替実施形態を示すブロック図である。
【図11】API制御機能を備えた1つのアプリケーション・ファイルを実行する際に行われるステップを示すフローチャートである。
【図12】典型的なサーバで行われるステップを示すフローチャートである。
【図13】ActiveXを使用する好ましいキオスク・ソフトウェア・アーキテクチャを示すブロック図である。
【図14】ActiveXを使用するキオスク制御機構の様々な好ましい代替実施形態を示すブロック図である。
【図15】ActiveXを使用するキオスク制御機構の様々な好ましい代替実施形態を示すブロック図である。
【図16】ActiveXを使用するキオスク制御機構の様々な好ましい代替実施形態を示すブロック図である。
【図17】ActiveXを使用するキオスク制御機構の様々な好ましい代替実施形態を示すブロック図である。
【図18】プラグインを使用する代替キオスク制御実施形態を示すブロック図である。
【符号の説明】
100…キオスク装置
103…タッチ・センシティブ端末
109…プリンタ
105…表示画面
110…コンピュータ
111、112、130…汎用情報読取装置(入力装置または周辺装置)
113、130…汎用情報書出装置(出力装置または周辺装置)
122…電話網
123…ISDN
125…制御プロセスおよびライブラリ
155…ネットワーク・インタフェース
520、620…組込み制御関数
640…キオスク固有制御機構
640A…ブラウザ機構
640I…プロセス間通信手段
640B…API機構
680…ローカル・アプリケーション・プログラム・インタフェース(ローカル・キオスクAPI)
Claims (33)
- ブラウザ手段を含むエージェント・コンピュータを含んで構成される少なくとも1つのキオスク装置に接続され、アプリケーションを要求するための少なくとも1つの構成要求をネットワークを介して前記キオスク装置から受け取るサーバであって、前記サーバは、
アプリケーションに関連づけられ、組込み構成要素ファイルと組込み制御関数とを含んで構成されるHTMLファイルとして構成され、かつアプリケーション・ファイルとして参照される少なくとも1つの構成セットを格納する手段と、
前記構成要求により指定される前記構成セットを選択し、選択された前記構成セットをキオスク装置へと送信し、前記キオスク装置に対して入力/出力装置または周辺装置を制御するためのブラウザ機構を組み込ませ、前記キオスク装置の少なくとも1つの入力/出力装置または周辺装置を選択的に制御することにより前記キオスク装置が要求したアプリケーションを実行させる通信手段と、
を含むサーバ。 - 前記アプリケーション・ファイルが、Java(登録商標)アプレットまたはActiveX制御またはプラグイン制御による遠隔装置制御機能と、遠隔メッセージ表示機能と、ファイル転送機能と、エージェント/クライアント協同機能のうちのいずれか1つを提供する、請求項1に記載のサーバ。
- 前記組込み制御関数の他、前記キオスク装置の動作状況を判断するシステム監視プログラムを含むHTMLファイルを格納する、請求項1または2に記載のサーバ。
- 前記動作状況を使用して、前記入力/出力装置または周辺装置に必要な保守と、前記入力/出力装置または周辺装置の保守履歴と、前記構成要求のうちの1つまたは複数の構成要求に応答するために前記ネットワーク上で提供するアプリケーション・ファイルと、前記キオスク装置のユーザに関するマーケティング情報とのうちのいずれか1つまたは複数を判断する、請求項3に記載のサーバ。
- 前記サーバは、前記動作状況を判断し、前記ネットワーク上で前記キオスク装置にどの構成セットを提供するかを決定する、請求項3または4に記載のサーバ。
- 前記HTMLファイルは、ゼロ個または1個以上のハイパーテキスト構成要素ファイルを含む、請求項1ないし5のいずれか一項に記載のサーバ。
- 前記アプリケーションがキオスク装置におけるユーザに合わせてカスタマイズされたカスタマイズ・アプリケーションである、請求項1ないし6のいずれか一項に記載のサーバ。
- 前記アプリケーション・ファイルが、前記少なくとも1つのアプリケーション・ファイルを受信することにより構成されたキオスク装置を介してインターネットへのアクセス機能を提供する、請求項1ないし7のいずれか一項に記載のサーバ。
- 前記インターネットへの前記アクセスが、1つまたは複数の指定されたサーバを介して一人または複数のユーザ間に通信リンクを提供する、請求項8に記載のサーバ。
- 前記アプリケーション・ファイルが、電話呼出しと、電子メール送受信と、遠隔会議と、ファクス伝送と、トレーニング・セッションと、前記ネットワーク上の情報の検索と、ウェブ・ベースの協同とのうちのいずれか1つまたは複数の機能を提供する、請求項1ないし9のいずれか一項に記載のサーバ。
- 前記少なくとも1つのアプリケーション・ファイルを受信することによって構成されたキオスク装置におけるユーザに前記アプリケーション情報を提供する、請求項1ないし10のいずれか一項に記載のサーバ。
- 前記少なくとも1つの組込み制御関数が、キオスク装置に対して前記アプリケーション・ファイルのうちの1つまたは複数のアプリケーション・ファイルを要求させるための機能を付与する、請求項1ないし11のいずれか一項に記載のサーバ。
- ネットワークを介して少なくとも1つのキオスク装置に接続されたサーバの動作方法であって、前記動作方法は前記サーバに対し、
前記ネットワークに接続されたキオスク装置に含まれ、ブラウザ手段を含むエージェント・コンピュータからの構成要求を受け取るステップと、
アプリケーションに関連づけられ、組込み構成要素ファイルと、キオスク装置におけるドライバ・プログラムから構成されるドライバ・サブセットを選択的に機能させる組込み制御関数とから構成され、かつHTMLファイルとして構成されるアプリケーション・ファイルである格納された構成セットを選択して、前記キオスク装置に送るステップと
を実行させ、
前記アプリケーション・ファイルは、Java(登録商標)アプレットまたはActiveX制御またはプラグイン制御を使用して前記キオスク装置にブラウザ機構を組込ませることにより前記キオスク装置の入力/出力装置または周辺装置に対応したドライバ・プログラムを選択的に制御させる
サーバ動作方法。 - エージェント・コンピュータを含んで構成される1つまたは複数のキオスク装置に接続され、少なくとも1つの構成要求をネットワークを介して前記キオスク装置のエージェント・コンピュータから受け取るサーバ動作方法であって、前記方法はサーバに対して、
前記ネットワークに接続された少なくとも1つのキオスク装置から構成要求を受け取るステップと、
アプリケーションに関連づけられ、組込み構成要素ファイルと組込み制御関数とを有し、かつ前記構成要求により指定され、HTMLファイルとして構成されるアプリケーション・ファイルである構成セットを前記キオスク装置に送信するステップと
を実行させ、
前記アプリケーション・ファイルは、前記キオスク装置にブラウザ機構を組込むことにより前記キオスク装置のドライバ・プログラムを選択的に制御させ、前記ドライバ・プログラムにより入力/出力装置または周辺装置を駆動させることにより前記キオスク装置に前記アプリケーションを実行させる、方法。 - 接続を介して少なくとも1つの構成要求を受信する、ネットワークへの1つまたは複数の接続を可能とする手段と、
アプリケーションに関連づけられ、組込み構成要素ファイルと組込み制御関数とを含んで構成されるHTMLファイルを含み、かつアプリケーション・ファイルとして参照される少なくとも1つの構成セットを格納する手段と、
キオスク装置へと前記構成要求により指定されるアプリケーションのための前記構成セットを通信する手段とを含み、
前記組込制御関数が前記キオスク装置に対してブラウザ機構を組込ませ、ブラウザ機構がドライバ・プログラムのうちの1つまたは複数のドライバ・プログラムから成るドライバ・サブセットを選択的に制御して前記ドライバ・プログラムにより前記入力/出力装置または周辺装置を駆動させ、前記キオスク装置をして前記アプリケーションを実行させるサーバ。 - 前記構成要求が構成する前記キオスク装置のうちの1つまたは複数のキオスク装置から送られる、請求項15に記載のサーバ。
- 前記構成要求がエージェント・コンピュータから送られる、請求項16に記載のサーバ。
- 前記アプリケーション・ファイルが、Java(登録商標)アプレットまたはActiveX制御またはプラグイン制御による遠隔装置制御機能、遠隔メッセージ表示、ファイル転送、およびエージェント/クライアント協同のうちのいずれか1つを含む、請求項16に記載のサーバ。
- 前記組込み制御関数の他、前記キオスク装置のローカル・キオスク機能のうちの少なくとも1つのローカル・キオスク機能の動作状況を判断するシステム監視プログラムを含む、請求項15に記載のサーバ。
- 前記システム監視プログラムにより与えられる前記動作状況を使用して、前記周辺装置のうちの1つまたは複数の装置に必要な保守と、前記周辺装置のうちの少なくとも1つの装置の保守履歴と、前記要求のうちの少なくとも1つの構成要求に応答するために前記ネットワーク上で提供するアプリケーション・ファイルと、一人または複数のキオスク・ユーザに関するマーケティング情報とのうちのいずれか1つまたは複数を判断する、請求項19に記載のサーバ。
- 前記システム監視プログラムにより与えられる前記動作状況によって、前記サーバが前記ネットワーク上でサービスを提供するアプリケーション・ファイルを決定する、請求項19に記載のサーバ。
- 前記アプリケーション・ファイルが、1つまたは複数のHTMLファイルを含み、前記HTMLファイルが、ゼロ個または1個以上のハイパーテキスト構成要素ファイルを含む、請求項15に記載のサーバ。
- 前記アプリケーションが金融アプリケーションである、請求項15に記載のサーバ。
- 前記金融アプリケーションが、ユーザへの金融情報提供、口座開設、現金支払い、勘定支払い、ローンの申込み、預金、モーゲージ支払い、金融に関する助言、固定資産取引、およびエージェントからの支援のうちのいずれか1つまたは複数の機能を含む、請求項23に記載のサーバ。
- 前記アプリケーションがユーザに合わせてカスタマイズされたカスタマイズ・アプリケーションである、請求項15に記載のサーバ。
- 前記アプリケーション・ファイルが、1つまたは複数のキオスク装置を介したインターネットへのアクセスを可能とする機能を提供する、請求項15に記載のサーバ。
- インターネットへの前記アクセスが、1つまたは複数の指定されたサーバを介して一人または複数の第2のユーザ間に通信リンクを提供する、請求項26に記載のサーバ。
- 前記アプリケーションが通信アプリケーションである、請求項27に記載のサーバ。
- 前記通信アプリケーション・ファイルが、電話呼出し、電子メール送受信、遠隔会議、ファクス伝送、トレーニング・セッション、前記ネットワーク上の情報検索、およびウェブ・ベースの協同のうちのいずれか1つまたは複数の機能を提供する、請求項28に記載のサーバ。
- 前記アプリケーションがサービス・アプリケーションである、請求項15に記載のサーバ。
- 前記サービス・アプリケーションが、広告、サービス、およびサービス料金のうちのいずれか1つまたは複数の機能の提供を含む、請求項30に記載のサーバ。
- 前記アプリケーションが、前記アプリケーション・ファイルを受信することによって構成されたキオスク装置を使用してユーザに情報を提供する、請求項15に記載のサーバ。
- 前記組込み制御関数のうちの少なくとも1つの組込み制御関数が、前記キオスク装置のうちの少なくとも1つのキオスク装置に前記アプリケーション・ファイルのうちの少なくとも1つのアプリケーション・ファイルを要求させる機能を付与する、請求項15に記載のサーバ。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US4041497P | 1997-03-13 | 1997-03-13 | |
US97421697A | 1997-11-19 | 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 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10539335A Division JP2000510626A (ja) | 1997-03-13 | 1998-03-02 | コンピュータ・ネットワークに接続されたキオスクおよびサーバ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004005688A true JP2004005688A (ja) | 2004-01-08 |
Family
ID=27365717
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10539335A Pending JP2000510626A (ja) | 1997-03-13 | 1998-03-02 | コンピュータ・ネットワークに接続されたキオスクおよびサーバ |
JP2003150102A Pending JP2004030640A (ja) | 1997-03-13 | 2003-05-28 | コンピュータ・ネットワークに接続されたキオスク装置およびキオスク装置の構成方法 |
JP2003150123A Pending JP2004005688A (ja) | 1997-03-13 | 2003-05-28 | コンピュータ・ネットワークに接続されたキオスク装置のためのサーバおよびサーバ動作方法 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10539335A Pending JP2000510626A (ja) | 1997-03-13 | 1998-03-02 | コンピュータ・ネットワークに接続されたキオスクおよびサーバ |
JP2003150102A Pending JP2004030640A (ja) | 1997-03-13 | 2003-05-28 | コンピュータ・ネットワークに接続されたキオスク装置およびキオスク装置の構成方法 |
Country Status (9)
Country | Link |
---|---|
EP (1) | EP0966712A1 (ja) |
JP (3) | JP2000510626A (ja) |
KR (1) | KR100368353B1 (ja) |
CN (1) | CN1124010C (ja) |
AU (1) | AU6629998A (ja) |
CA (1) | CA2281725A1 (ja) |
IL (1) | IL131357A (ja) |
PL (1) | PL335521A1 (ja) |
WO (1) | WO1998040826A2 (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008305366A (ja) * | 2007-06-08 | 2008-12-18 | Masazumi Fukuda | 不特定多数の一般ユーザ(顧客)が、誰でも、いつでも、同時にプログラム開発・登録・実行(利用)を可能とする方法 |
JP2016504649A (ja) * | 2012-11-05 | 2016-02-12 | エーエフエル・テレコミュニケーションズ・エルエルシー | 分散型テストシステムアーキテクチャ |
JP2020181592A (ja) * | 2008-03-04 | 2020-11-05 | アップル インコーポレイテッドApple Inc. | タッチイベントモデルプログラミングインターフェイス |
US11429190B2 (en) | 2013-06-09 | 2022-08-30 | Apple Inc. | Proxy gesture recognizer |
US11449217B2 (en) | 2007-01-07 | 2022-09-20 | Apple Inc. | Application programming interfaces for gesture operations |
US11740725B2 (en) | 2008-03-04 | 2023-08-29 | Apple Inc. | Devices, methods, and user interfaces for processing touch events |
US11755196B2 (en) | 2009-03-16 | 2023-09-12 | Apple Inc. | Event recognition |
Families Citing this family (102)
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 |
AU1143199A (en) * | 1997-10-24 | 1999-05-17 | Mannesmann Aktiengesellschaft | Communication system, especially for processing and/or transmitting data and/or signals, method for using such communication system and telecommunication booth |
EP1038233A4 (en) * | 1997-12-02 | 2001-11-07 | Technologies Inc Cash | MULTITRANSACTIONAL NETWORK ARCHITECTURE |
ES2149697B1 (es) * | 1998-07-14 | 2001-05-01 | Garcia Jon Urresti | Sistema de tele-encuestacion. |
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 |
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 |
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 |
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 |
US6604086B1 (en) | 1998-07-20 | 2003-08-05 | Usa Technologies, Inc. | Electronic commerce terminal connected to a vending machine operable as a telephone |
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 | パナソニック コミュニケーションズ株式会社 | ネットワークファクシミリ装置 |
EP1208487A4 (en) * | 1999-02-17 | 2006-06-07 | Diebold Inc | METHOD AND SYSTEM FOR ESTABLISHING TRANSACTION SERVICE CONNECTIONS WITH AN AUTOMATIC TRANSACTION MACHINE |
EP1192514A4 (en) * | 1999-05-03 | 2002-07-17 | Streetspace Inc | METHOD AND SYSTEM FOR ONLINE PERSONALIZED SERVICES INCLUDING ADVERTISING IN PUBLIC PLACES |
WO2000077999A2 (en) * | 1999-06-10 | 2000-12-21 | 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 |
US7009626B2 (en) * | 2000-04-14 | 2006-03-07 | Picsel Technologies Limited | Systems and methods for generating visual representations of graphical data and digital document processing |
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 |
CN1582439A (zh) * | 2001-10-17 | 2005-02-16 | 精粹·Com公司 | 数字交互式网络装置和*** |
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 | 주식회사 코베콤 | 시알엠을 적용한 무선네트워크 환경에서의 서비스제공시스템 및 서비스 제공방법 |
DE60220838T2 (de) | 2002-04-10 | 2008-02-28 | Lg Electronics Inc. | Verfahren zur steuerung eines home-automation-systems |
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 |
CN101573703A (zh) | 2006-10-03 | 2009-11-04 | 朗讯科技公司 | 用于重配置ic架构的方法和装置 |
US8768720B2 (en) | 2007-04-12 | 2014-07-01 | Epic Systems Corporation | Location limited check-in kiosk method and apparatus |
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 |
WO2009084220A1 (ja) * | 2007-12-28 | 2009-07-09 | Atm Japan, Ltd. | 自動取引装置と自動取引装置制御プログラムと記録媒体と自動取引装置の制御方法 |
KR100983881B1 (ko) * | 2008-02-29 | 2010-09-27 | (주)솔루젠 | 네트워크를 기반으로 하는 프린팅 자동화 시스템 |
CN102959607A (zh) * | 2009-05-14 | 2013-03-06 | 约瑟夫·丹尼 | 交互式多媒体广告*** |
GB0909277D0 (en) | 2009-05-29 | 2009-07-15 | Design Multimedia Ltd I | A control system and method for a user terminal |
US8625756B1 (en) | 2010-02-03 | 2014-01-07 | Tal Lavian | Systems and methods for visual presentation and selection of IVR menu |
US8553859B1 (en) | 2010-02-03 | 2013-10-08 | Tal Lavian | Device and method for providing enhanced telephony |
US8537989B1 (en) | 2010-02-03 | 2013-09-17 | Tal Lavian | Device and method for providing enhanced telephony |
US9001819B1 (en) | 2010-02-18 | 2015-04-07 | Zvi Or-Bach | Systems and methods for visual presentation and selection of IVR menu |
US8903073B2 (en) | 2011-07-20 | 2014-12-02 | Zvi Or-Bach | 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 |
US8594280B1 (en) | 2010-02-03 | 2013-11-26 | Zvi Or-Bach | Systems and methods for visual presentation and selection of IVR menu |
US8879698B1 (en) | 2010-02-03 | 2014-11-04 | 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 |
US8681951B1 (en) | 2010-02-03 | 2014-03-25 | Tal Lavian | Systems and methods for visual presentation and selection of IVR menu |
US8687777B1 (en) | 2010-02-03 | 2014-04-01 | Tal Lavian | Systems and methods for visual presentation and selection of IVR menu |
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 |
KR101183365B1 (ko) | 2011-10-07 | 2012-09-14 | 한화에스앤씨주식회사 | 근거리 무선통신을 이용한 키오스크 제어 장치 |
CN103282888B (zh) * | 2011-12-27 | 2017-03-08 | 华为技术有限公司 | 数据处理方法、图像处理器gpu及第一节点设备 |
US8867708B1 (en) | 2012-03-02 | 2014-10-21 | Tal Lavian | Systems and methods for visual presentation and selection of IVR menu |
US8731148B1 (en) | 2012-03-02 | 2014-05-20 | Tal Lavian | Systems and methods for visual presentation and selection of IVR menu |
CN102830947A (zh) * | 2012-08-13 | 2012-12-19 | 南京莱斯信息技术股份有限公司 | 一种基于报表打印模板格式实现的报表打印控件 |
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 | 富士通株式会社 | 情報処理装置、方法、及びプログラム |
EP3788519A4 (en) | 2018-04-30 | 2021-11-10 | Hewlett-Packard Development Company, L.P. | ACCESS TO A SERVICE KIOSK |
KR102274453B1 (ko) * | 2020-05-15 | 2021-07-07 | 주식회사 블랙펄 | 설치 위치 맞춤형 통합 키오스크 서비스 제공 시스템 |
KR102393609B1 (ko) * | 2022-02-28 | 2022-05-02 | 지철 | 설치 장소에 따른 사용자의 선호가 반영된 맞춤형 화면을 제공하는 키오스크 서비스 시스템 |
Family Cites Families (1)
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 |
-
1998
- 1998-03-02 EP EP98908218A patent/EP0966712A1/en not_active Withdrawn
- 1998-03-02 PL PL98335521A patent/PL335521A1/xx unknown
- 1998-03-02 IL IL13135798A patent/IL131357A/xx not_active IP Right Cessation
- 1998-03-02 AU AU66299/98A patent/AU6629998A/en not_active Abandoned
- 1998-03-02 WO PCT/GB1998/000650 patent/WO1998040826A2/en not_active Application Discontinuation
- 1998-03-02 CN CN98803278A patent/CN1124010C/zh not_active Expired - Fee Related
- 1998-03-02 KR KR10-1999-7007921A patent/KR100368353B1/ko not_active IP Right Cessation
- 1998-03-02 CA CA002281725A patent/CA2281725A1/en not_active Abandoned
- 1998-03-02 JP JP10539335A patent/JP2000510626A/ja active Pending
-
2003
- 2003-05-28 JP JP2003150102A patent/JP2004030640A/ja active Pending
- 2003-05-28 JP JP2003150123A patent/JP2004005688A/ja active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11449217B2 (en) | 2007-01-07 | 2022-09-20 | Apple Inc. | Application programming interfaces for gesture operations |
US11954322B2 (en) | 2007-01-07 | 2024-04-09 | Apple Inc. | Application programming interface for gesture operations |
JP2008305366A (ja) * | 2007-06-08 | 2008-12-18 | Masazumi Fukuda | 不特定多数の一般ユーザ(顧客)が、誰でも、いつでも、同時にプログラム開発・登録・実行(利用)を可能とする方法 |
JP2020181592A (ja) * | 2008-03-04 | 2020-11-05 | アップル インコーポレイテッドApple Inc. | タッチイベントモデルプログラミングインターフェイス |
JP7111772B2 (ja) | 2008-03-04 | 2022-08-02 | アップル インコーポレイテッド | タッチイベントモデルプログラミングインターフェイス |
US11740725B2 (en) | 2008-03-04 | 2023-08-29 | Apple Inc. | Devices, methods, and user interfaces for processing touch events |
US11755196B2 (en) | 2009-03-16 | 2023-09-12 | Apple Inc. | Event recognition |
JP2016504649A (ja) * | 2012-11-05 | 2016-02-12 | エーエフエル・テレコミュニケーションズ・エルエルシー | 分散型テストシステムアーキテクチャ |
US11429190B2 (en) | 2013-06-09 | 2022-08-30 | Apple Inc. | Proxy gesture recognizer |
Also Published As
Publication number | Publication date |
---|---|
CN1250567A (zh) | 2000-04-12 |
PL335521A1 (en) | 2000-04-25 |
JP2004030640A (ja) | 2004-01-29 |
WO1998040826A3 (en) | 1998-12-23 |
IL131357A0 (en) | 2001-01-28 |
KR100368353B1 (ko) | 2003-01-24 |
JP2000510626A (ja) | 2000-08-15 |
IL131357A (en) | 2003-07-06 |
AU6629998A (en) | 1998-09-29 |
WO1998040826A2 (en) | 1998-09-17 |
KR20000075844A (ko) | 2000-12-26 |
CN1124010C (zh) | 2003-10-08 |
EP0966712A1 (en) | 1999-12-29 |
CA2281725A1 (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 | |
US9807200B2 (en) | System and method providing user interactivity across a network | |
US7379977B2 (en) | System and method for display of multiple electronic pages | |
CN100458789C (zh) | 用于交换门户组件配置数据的方法和*** | |
US7739144B2 (en) | Self-service terminal | |
US20140181206A1 (en) | Method and apparatus for generating a web site using a multi-dimensional description of the web site | |
US20150113448A1 (en) | Method and apparatus for generating a web site with dynamic content data from an external data source integrated therein | |
US20020059369A1 (en) | Method and apparatus for creating and distributing non-sensitized information summaries to users | |
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 | |
JP2001503173A (ja) | 異なるアクセス装置を介するソフトウエア・アプリケーションプログラムへのアクセスを自動的に調和させるための方法およびシステム | |
US6988249B1 (en) | Presentation service architectures for netcentric computing systems | |
KR100952089B1 (ko) | 네트워크 기반 거래 설비에서 거래 목록을 스케줄링하는 방법 및 시스템 | |
US20080209335A1 (en) | Customizable kiosk software | |
MXPA99008367A (en) | Kiosk and server connected to computer network | |
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 | |
WO2007101255A2 (en) | Customizable kiosk software |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060131 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20060222 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060627 |