(57)【要約】【解決課題】コンピュータ・ネットワークに接続されたキオスク装置のためのサーバおよびサーバ動作方法を提供する。【課題を解決するための手段】サーバ・システム１９５が、ネットワーク１５０、たとえばインターネット、企業または政府のイントラネット、エクストラネットなどによって複数のキオスク１００に接続されている。キオスクは、１つまたは複数の入力／出力装置１３０（たとえば表示装置、キーボード、ペーパー・プリンタ、電話機など）と、各入力／出力装置のための１つまたは複数のドライバ・プログラム４４０（ローカルＡＰＩ）とを有する。キオスク１６０は、キオスクがサーバから素材を入手するために使用するブラウザ１６０を有する。構成セット内のファイルのうちの１つまたは複数のファイルが、１つまたは複数の組込み制御プログラム６２０を含み、それを使用してキオスク上の装置のためのローカルＡＰＩを制御する。このようにして、装置が制御されて、キオスクがそのアプリケーションを実行するように構成される。【選択図】　図１
2004005688.tif 000002
【特許請求の範囲】
【請求項１】
ブラウザ手段を含むエージェント・コンピュータを含んで構成される少なくとも１つのキオスク装置に接続され、アプリケーションを要求するための少なくとも１つの構成要求をネットワークを介して前記キオスク装置から受け取るサーバであって、前記サーバは、
アプリケーションに関連づけられ、組込み構成要素ファイルと組込み制御関数とを含んで構成されるＨＴＭＬファイルとして構成され、かつアプリケーション・ファイルとして参照される少なくとも１つの構成セットを格納する手段と、
前記構成要求により指定される前記構成セットを選択し、選択された前記構成セットをキオスク装置へと送信し、前記キオスク装置に対して入力／出力装置または周辺装置を制御するためのブラウザ機構を組み込ませ、前記キオスク装置の少なくとも１つの入力／出力装置または周辺装置を選択的に制御することにより前記キオスク装置が要求したアプリケーションを実行させる通信手段と、
を含むサーバ。
【請求項２】
前記アプリケーション・ファイルが、Ｊａｖａ（登録商標）アプレットまたはＡｃｔｉｖｅＸ制御またはプラグイン制御による遠隔装置制御機能と、遠隔メッセージ表示機能と、ファイル転送機能と、エージェント／クライアント協同機能のうちのいずれか１つを提供する、請求項１に記載のサーバ。
【請求項３】
前記組込み制御関数の他、前記キオスク装置の動作状況を判断するシステム監視プログラムを含むＨＴＭＬファイルを格納する、請求項１または２に記載のサーバ。
【請求項４】
前記動作状況を使用して、前記入力／出力装置または周辺装置に必要な保守と、前記入力／出力装置または周辺装置の保守履歴と、前記構成要求のうちの１つまたは複数の構成要求に応答するために前記ネットワーク上で提供するアプリケーション・ファイルと、前記キオスク装置のユーザに関するマーケティング情報とのうちのいずれか１つまたは複数を判断する、請求項３に記載のサーバ。
【請求項５】
前記サーバは、前記動作状況を判断し、前記ネットワーク上で前記キオスク装置にどの構成セットを提供するかを決定する、請求項３または４に記載のサーバ。
【請求項６】
前記ＨＴＭＬファイルは、ゼロ個または１個以上のハイパーテキスト構成要素ファイルを含む、請求項１ないし５のいずれか一項に記載のサーバ。
【請求項７】
前記アプリケーションがキオスク装置におけるユーザに合わせてカスタマイズされたカスタマイズ・アプリケーションである、請求項１ないし６のいずれか一項に記載のサーバ。
【請求項８】
前記アプリケーション・ファイルが、前記少なくとも１つのアプリケーション・ファイルを受信することにより構成されたキオスク装置を介してインターネットへのアクセス機能を提供する、請求項１ないし７のいずれか一項に記載のサーバ。
【請求項９】
前記インターネットへの前記アクセスが、１つまたは複数の指定されたサーバを介して一人または複数のユーザ間に通信リンクを提供する、請求項８に記載のサーバ。
【請求項１０】
前記アプリケーション・ファイルが、電話呼出しと、電子メール送受信と、遠隔会議と、ファクス伝送と、トレーニング・セッションと、前記ネットワーク上の情報の検索と、ウェブ・ベースの協同とのうちのいずれか１つまたは複数の機能を提供する、請求項１ないし９のいずれか一項に記載のサーバ。
【請求項１１】
前記少なくとも１つのアプリケーション・ファイルを受信することによって構成されたキオスク装置におけるユーザに前記アプリケーション情報を提供する、請求項１ないし１０のいずれか一項に記載のサーバ。
【請求項１２】
前記少なくとも１つの組込み制御関数が、キオスク装置に対して前記アプリケーション・ファイルのうちの１つまたは複数のアプリケーション・ファイルを要求させるための機能を付与する、請求項１ないし１１のいずれか一項に記載のサーバ。
【請求項１３】
ネットワークを介して少なくとも１つのキオスク装置に接続されたサーバの動作方法であって、前記動作方法は前記サーバに対し、
前記ネットワークに接続されたキオスク装置に含まれ、ブラウザ手段を含むエージェント・コンピュータからの構成要求を受け取るステップと、
アプリケーションに関連づけられ、組込み構成要素ファイルと、キオスク装置におけるドライバ・プログラムから構成されるドライバ・サブセットを選択的に機能させる組込み制御関数とから構成され、かつＨＴＭＬファイルとして構成されるアプリケーション・ファイルである格納された構成セットを選択して、前記キオスク装置に送るステップと
を実行させ、
前記アプリケーション・ファイルは、Ｊａｖａ（登録商標）アプレットまたはＡｃｔｉｖｅＸ制御またはプラグイン制御を使用して前記キオスク装置にブラウザ機構を組込ませることにより前記キオスク装置の入力／出力装置または周辺装置に対応したドライバ・プログラムを選択的に制御させる
サーバ動作方法。
【請求項１４】
エージェント・コンピュータを含んで構成される１つまたは複数のキオスク装置に接続され、少なくとも１つの構成要求をネットワークを介して前記キオスク装置のエージェント・コンピュータから受け取るサーバ動作方法であって、前記方法はサーバに対して、
前記ネットワークに接続された少なくとも１つのキオスク装置から構成要求を受け取るステップと、
アプリケーションに関連づけられ、組込み構成要素ファイルと組込み制御関数とを有し、かつ前記構成要求により指定され、ＨＴＭＬファイルとして構成されるアプリケーション・ファイルである構成セットを前記キオスク装置に送信するステップと
を実行させ、
前記アプリケーション・ファイルは、前記キオスク装置にブラウザ機構を組込むことにより前記キオスク装置のドライバ・プログラムを選択的に制御させ、前記ドライバ・プログラムにより入力／出力装置または周辺装置を駆動させることにより前記キオスク装置に前記アプリケーションを実行させる、方法。
【請求項１５】
接続を介して少なくとも１つの構成要求を受信する、ネットワークへの１つまたは複数の接続を可能とする手段と、
アプリケーションに関連づけられ、組込み構成要素ファイルと組込み制御関数とを含んで構成されるＨＴＭＬファイルを含み、かつアプリケーション・ファイルとして参照される少なくとも１つの構成セットを格納する手段と、
キオスク装置へと前記構成要求により指定されるアプリケーションのための前記構成セットを通信する手段とを含み、
前記組込制御関数が前記キオスク装置に対してブラウザ機構を組込ませ、ブラウザ機構がドライバ・プログラムのうちの１つまたは複数のドライバ・プログラムから成るドライバ・サブセットを選択的に制御して前記ドライバ・プログラムにより前記入力／出力装置または周辺装置を駆動させ、前記キオスク装置をして前記アプリケーションを実行させるサーバ。
【請求項１６】
前記構成要求が構成する前記キオスク装置のうちの１つまたは複数のキオスク装置から送られる、請求項１５に記載のサーバ。
【請求項１７】
前記構成要求がエージェント・コンピュータから送られる、請求項１６に記載のサーバ。
【請求項１８】
前記アプリケーション・ファイルが、Ｊａｖａ（登録商標）アプレットまたはＡｃｔｉｖｅＸ制御またはプラグイン制御による遠隔装置制御機能、遠隔メッセージ表示、ファイル転送、およびエージェント／クライアント協同のうちのいずれか１つを含む、請求項１６に記載のサーバ。
【請求項１９】
前記組込み制御関数の他、前記キオスク装置のローカル・キオスク機能のうちの少なくとも１つのローカル・キオスク機能の動作状況を判断するシステム監視プログラムを含む、請求項１５に記載のサーバ。
【請求項２０】
前記システム監視プログラムにより与えられる前記動作状況を使用して、前記周辺装置のうちの１つまたは複数の装置に必要な保守と、前記周辺装置のうちの少なくとも１つの装置の保守履歴と、前記要求のうちの少なくとも１つの構成要求に応答するために前記ネットワーク上で提供するアプリケーション・ファイルと、一人または複数のキオスク・ユーザに関するマーケティング情報とのうちのいずれか１つまたは複数を判断する、請求項１９に記載のサーバ。
【請求項２１】
前記システム監視プログラムにより与えられる前記動作状況によって、前記サーバが前記ネットワーク上でサービスを提供するアプリケーション・ファイルを決定する、請求項１９に記載のサーバ。
【請求項２２】
前記アプリケーション・ファイルが、１つまたは複数のＨＴＭＬファイルを含み、前記ＨＴＭＬファイルが、ゼロ個または１個以上のハイパーテキスト構成要素ファイルを含む、請求項１５に記載のサーバ。
【請求項２３】
前記アプリケーションが金融アプリケーションである、請求項１５に記載のサーバ。
【請求項２４】
前記金融アプリケーションが、ユーザへの金融情報提供、口座開設、現金支払い、勘定支払い、ローンの申込み、預金、モーゲージ支払い、金融に関する助言、固定資産取引、およびエージェントからの支援のうちのいずれか１つまたは複数の機能を含む、請求項２３に記載のサーバ。
【請求項２５】
前記アプリケーションがユーザに合わせてカスタマイズされたカスタマイズ・アプリケーションである、請求項１５に記載のサーバ。
【請求項２６】
前記アプリケーション・ファイルが、１つまたは複数のキオスク装置を介したインターネットへのアクセスを可能とする機能を提供する、請求項１５に記載のサーバ。
【請求項２７】
インターネットへの前記アクセスが、１つまたは複数の指定されたサーバを介して一人または複数の第２のユーザ間に通信リンクを提供する、請求項２６に記載のサーバ。
【請求項２８】
前記アプリケーションが通信アプリケーションである、請求項２７に記載のサーバ。
【請求項２９】
前記通信アプリケーション・ファイルが、電話呼出し、電子メール送受信、遠隔会議、ファクス伝送、トレーニング・セッション、前記ネットワーク上の情報検索、およびウェブ・ベースの協同のうちのいずれか１つまたは複数の機能を提供する、請求項２８に記載のサーバ。
【請求項３０】
前記アプリケーションがサービス・アプリケーションである、請求項１５に記載のサーバ。
【請求項３１】
前記サービス・アプリケーションが、広告、サービス、およびサービス料金のうちのいずれか１つまたは複数の機能の提供を含む、請求項３０に記載のサーバ。
【請求項３２】
前記アプリケーションが、前記アプリケーション・ファイルを受信することによって構成されたキオスク装置を使用してユーザに情報を提供する、請求項１５に記載のサーバ。
【請求項３３】
前記組込み制御関数のうちの少なくとも１つの組込み制御関数が、前記キオスク装置のうちの少なくとも１つのキオスク装置に前記アプリケーション・ファイルのうちの少なくとも１つのアプリケーション・ファイルを要求させる機能を付与する、請求項１５に記載のサーバ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータ・ネットワークに接続され、サーバがキオスク装置を構成することができるキオスク装置およびサーバの分野に関する。
【０００２】
【従来の技術】
一般にキオスクとは、ユーザまたは顧客による一般のアクセス、たとえば公共アクセスのための場所に配置され、それによってサービス提供者がそのユーザや顧客にサービスを提供することができるようにする機械である。一般に、このようなサービスは、サービス提供者が顧客に特定の援助を与えるエージェントを設けずに、顧客によって行われる「セルフサービス」である。したがって、サービスは、１）情報の入手、または２）特定の単純なトランザクション（たとえばチケットの購入、現金の入手、百貨店のフロア・マップの閲覧など）の遂行あるいはその両方を行うといったような、反復される単純な特定のタスクになる傾向がある。
【０００３】
行われるタスクは、事前プログラムし、事前決定する必要があり、セルフサービスである必要がある。したがって、キオスクの設計は、柔軟性がなく、特定のユーザ向けにカスタマイズされた援助を提供しない。
【０００４】
一般に、これらのトランザクションは、たとえば１つまたは複数のモニタ、カード読取装置、チケット・プリンタ、レーザ・プリンタ、現金自動支払機など、何らかの装置の使用を必要とする。これらの装置は、一般に、キオスクにおける柔軟性のない設計の事前定義されたタスク専用であり、したがって他に用途がない。
【０００５】
キオスクの利点は、便利で信頼性が高いことである。キオスクは、作業を行うフルタイムの人間の操作者を必要とせず、したがって運転経費の節約になり、生産性が向上する。
【０００６】
たとえば銀行のＡＴＭ機、航空券販売機など、従来技術キオスクにはネットワークによって接続されているものがある。また、ショッピング・モール内の情報キオスクのように、スタンド・アロン・キオスクもある。
【０００７】
従来技術には、銀行支店（エージェント）とユーザ／顧客との間に接続を設定しようと試みる銀行業アプリケーション向けのテレビ会議機能を備えたキオスクがある。これは、従来のタイプのキオスクにテレビ会議システムを付加するだけで行われる。
【０００８】
また、従来技術には、インターネットとの統合キオスクもある。このキオスクは、キオスクの画面上にＨＴＭＬページを表示するブラウザ手段を有する。キオスクに表示される画面は、ユーザによって選択されたハイパーリンクによって制御される。これらのキオスクは、顧客／ユーザがハイパーリンクを呼び出す「ソフト」ボタンを選択することによってブラウズすることができる情報アクセスに適している。これらのキオスクは、電子メールのような特定の個人通信にも使用することができる。この種のシステムでは、画面は通常、（たとえばナビゲーション・ボタンを有する）ユーザ・インタフェースを提示するように特別に設計され、キオスクはさらに、キオスク作成者によって定義されたＨＴＭＬページ（ＵＲＬ）のみにアクセス可能になるように、顧客が訪れることができるＵＲＬを制限するフィルタとして機能する。
【０００９】
ほとんどの従来技術のキオスクは柔軟性がない。従来技術のキオスクは、一般にプログラミングが特別に設計され、（通常はＣやＣ＋＋などの高水準コンピュータ・プログラミング言語で）作成され、特定の用途（アプリケーション）向けにキオスクに設置されるため、変更や再構成を容易にしかも低コストで迅速に行うことができない。変更する場合は、キオスクでのプログラムの再コード化、再コンパイル、再インストール、および再試験が必要になる。既存のキオスクに変更を加えるのは困難であり、更新を必要とする範囲に多くのキオスクがある場合は特に困難である。
【００１０】
従来技術のキオスクは、アプリケーションに基づく効果的な「対面」サービス、すなわち、サービスまたはトランザクションを実行するためにユーザまたは顧客に助言や手引きを与えるエージェントを必要とするサービスを提供することができない。顧客サービスのための効果的な「対面」環境は、映像／音声だけでなく、同期化された画面共用（たとえばエージェントがデータを入力している間にユーザ／顧客がデータを見るなど）と遠隔装置制御（たとえばエージェントがキオスクのユーザ／顧客のために受領書を印刷することができるなど）も必要する。従来技術は、キオスクの同期化画面共用や遠隔装置制御を実現しない。
【００１１】
従来技術の中には、電話によるエージェントからのユーザ援助を提供するものもあるが、エージェントは一般にキオスクの画面を直接見ることはできない。したがって、エージェントはキオスクに問題があった場合にその問題についてのユーザの説明に依存せざるを得ない。エージェントは、キオスクの画面を直接見て問題にアクセスすることができない。さらに、エージェントはキオスクの問題を修正するためにキオスクのプログラム／機能を遠隔地から変更することができない。銀行業アプリケーションにおけるキオスクの中には、銀行エージェントがキオスクの画面の内容を見ることができるようにするものもあることに留意されたい。しかし、この内容は、キオスク上に画面の内容を表示させるアプリケーションではなく、エージェントのワークステーション上で稼働している別個のアプリケーションによって表示される。
【００１２】
【発明が解決しようとする課題】
従来技術の中には、キオスクの機能としてテレビ会議機能を備えるものもある。しかし、テレビ会議は顧客に他の当事者との音声／映像接続は提供するが、このアーキテクチャは音声／映像通信とキオスク画面の内容との間に一貫した統合がないため、市場ではまだ成功していない。顧客がキオスク画面上の項目の１つに問題があるときに、エージェントは顧客がキオスク上で持っている情報と同じ情報をエージェントの画面上で持つことができない。たとえば、キオスクの画面上のフィールド内にあいまいな値または誤った値があっても、テレビ会議中にエージェントにはその誤った値が見えない。さらに、エージェントは顧客の画面上の場所を指示することができず、顧客の画面を制御することもできない。さらに、エージェントは、キオスクがまだ事前プログラムされていないという一般情報をキオスクを介して顧客に提供することができない。また、たとえば、顧客がそのキオスク設計では入手することができない情報を必要とする場合、エージェントは音声またはカメラ映像によって情報を提供することができるに過ぎず、顧客のキオスク画面上で、または他のキオスク装置を介して情報を提供することはできない。
【００１３】
従来技術の中には、限定された特定のアプリケーション、すなわち限定された情報ブラウズのみを行うことができる単純なインターネット／ブラウザ・ベースのキオスクを開示しているものもある。この種のキオスクは、キオスク制御機能や顧客と人間のエージェントとの間の協同がないため、柔軟性のある用途を持つ有効な顧客サービス環境を提供することができない。
【００１４】
したがって、本発明は、請求の範囲で規定されているキオスクとサーバを提供する。
【００１５】
【課題を解決するための手段】
本明細書に記載の手法は、「対面」エージェント対顧客サービスまたはトランザクションあるいはその両方およびインターネット（ＴＣＰ／ＩＰ）、公共電話網（ＰＳＴＮ）、統合サービス・ディジタル網（ＩＳＤＮ）など複数の通信ネットワークへの公共アクセスの提供を含む、様々な用途向けの柔軟性があり、再構成可能で協同的なキオスク・アーキテクチャの利点を得て、公共の至る所に配置される、構成可能で直接アクセス可能なネットワーク・インタフェースを提供する。したがって、このネットワーク・サーバ・システムは、異なる用途（アプリケーション）のための異なる方法でネットワーク上の遠隔キオスクまたはキオスク装置を再構成するために、特に異なるアプリケーション用に異なる方法で使用される様々な入出力装置をサポートするために、（場合によっては１つまたは複数のネットワーク・サーバで作成、開発、および記憶される）きわめて多くのアプリケーションを配布することができる。
【００１６】
したがって、好ましい実施形態では、キオスク・システムは１つまたは複数のネットワーク、たとえばインターネット、企業または政府のイントラネットなどに接続することができる。キオスクは、１つまたは複数の入力／出力装置（たとえば表示装置、キーボード、ペーパー・プリンタ、電話など）と、各入力／出力装置のための１つまたは複数のドライバ・プログラム（ローカルＡＰＩ）を有する。表示装置は、キオスクのユーザに１つまたは複数のグラフィカル・ユーザ・インタフェースとビデオ画像を提示するために使用される。インタフェースのうちのいくつかはアプリケーション固有のものである。（アプリケーションとは、キオスクがそのために構成または再構成される用途である。）キオスクは、ネットワーク上の１つまたは複数のサーバから、（構成セットにおける）１つまたは複数のアプリケーション・ファイルを取り出すブラウザを有する。アプリケーション・ファイル（構成セット）は、キオスクのブラウザによって（アプリケーションによって決定される）シーケンスで提示される１組のＨＴＭＬファイルを含む。これらのＨＴＭＬファイルのうちの１つまたは複数のＨＴＭＬファイルは、キオスク上の装置のうちの１つまたは複数の装置のローカルＡＰＩを制御するために使用される組込み（制御）プログラムを含む。ファイルのうちの１つまたは複数のファイルは、他のＨＴＭＬファイル、（画像や音声のような）マルチメディア構成要素ファイル、または他のＨＴＭＬファイル、マルチメディア構成要素ファイル、組込みプログラムまたは他のアプリケーション・ファイルへのハイパーリンクあるいはそれらの組合せも含むことができる。キオスクにおける選択機能（たとえば音声、ソフト・ボタン、ハイパーリンクなど）によってサーバから第１のアプリケーション・ファイルが選択される。この選択項目（選択機能）に関連づけられたアプリケーション・ファイル（構成セット）が、キオスクをそれに応じて構成する。したがって、キオスクは、アプリケーション・ファイルによって定義された様々なアプリケーションを実行するように構成および再構成することができる。
【００１７】
ある種の好ましい実施形態では、アプリケーション・ファイルのうちの１つまたは複数のアプリケーションが１つまたは複数の所定の選択リンク（たとえばハイパーリンク）を有する。ブラウザがアプリケーション・ファイルを（たとえば１ファイルずつ）レンダリングまたは解釈するにつれて、所定の選択リンクがグラフィカル・ユーザ・インタフェース上でユーザに対して追加の選択項目として提示される。ユーザは、ゼロ個または１個以上の他の組込み制御プログラムを含む１つまたは複数の他の構成セット、ＨＴＭＬファイルなどを選択し、呼び出すことができる。したがって、これらの追加の選択項目を使用して、ブラウザによってＨＴＭＬファイルの内容が提示されるシーケンス、および実際にはシーケンス内のファイルを変更して、キオスクを異なる方法で再構成し、ユーザからの情報の入手またはユーザへの情報の提供あるいはその両方を行うことができる。シーケンス内のＨＴＭＬファイルの内容のレンダリングによってキオスクが構成され、それによって、対話式画面の１つまたは複数の画面シーケンスと、必要な場合は、キオスクを特定の選択されたアプリケーション用に再構成するために組合わされる（組込みプログラムによって制御される）装置アクションのシーケンスとが提供されるようになる。これらの実施形態では、ユーザ（またはキオスクまたはサーバ内の他の機能）は、キオスク上の異なる選択機能を選択することによって他のアプリケーションのためにキオスクを再構成することができる。
【００１８】
ある種の好ましい実施形態では、アプリケーションの一部が、エージェントと顧客がキオスクおよびサーバを介してネットワークで協同することができるようにするウェブ・ページ共用機能を含む。好ましい一実施形態は、「軽量」クライアント・アーキテクチャ、すなわちキオスク上にアプリケーション固有のソフトウェアがないクライアント・アーキテクチャを実施する。
【００１９】
例示のみを目的として以下の図面を参照しながら、本発明の様々な好ましい実施形態について以下に詳述する。
【発明の実施の形態】
キオスク１００の好ましい一実施形態のブロック図である図１を参照すると、キオスク１００は、適切な周知のネットワーク・インタフェース１５５を有するコンピュータ１１０（たとえばＰＣ３５０やＰＣ７５０のようなＩＢＭパーソナル・コンピュータ）を含む。ネットワーク１５０は、任意の周知のローカル・エリア・ネットワーク（ＬＡＮ）またはワイド・エリア・ネットワーク（ＷＡＮ）とすることができる。好ましい実施形態では、ネットワーク１５０はインターネットである。しかし、電話網、ケーブル網、ＩＳＤＮ網などによって実施可能な、企業ネットワークのようなイントラネットワーク、政府ネットワーク、教育ネットワーク、企業間のエクストラネットワーク、および１つまたは複数の小売業者によって使用されるネットワークを含む、他の汎用ネットワーク１５０も考えられる。コンピュータ１１０は、キオスク１００の一部として装備された１つまたは複数の入力または出力あるいはその両方の装置（下部参照）１３０を有する。典型的には、コンピュータ１１０は、周知の、１つまたは複数のメイン・メモリと、（ハード・ディスク・ドライブ、ＣＤＲＯＭなどのような）１つまたは複数の記憶装置１１０Ｍと、１つまたは複数の中央処理装置（ＣＰＵ）１１０Ｃとを有する。さらに、コンピュータ１１０は、保守のための任意選択のハードウェア・キーボード１３５およびマウス１３４を有する。ユーザは、これらの様々な（周辺１３０）入力または出力あるいはその両方の装置（まとめて１３０と番号を付す）にアクセスして、コンピュータ１１０およびネットワーク１５０を介して、ネットワーク１５０に接続された他のクライアントまたはサーバ１９５あるいはその両方との間で情報を伝送する。これらの入力／出力装置１３０の例としては、画面１０５を備えたタッチ・センシティブ端末１０３、プリンタ１０９、任意の周知の汎用情報読取装置１１１（たとえば磁気カード、クレジット・カード、またはスマート・カードを読み取るカード読取装置１２１）、スキャナ（たとえばレーザ・スキャナ）１１２、任意の周知の汎用情報書出装置１１３（プリンタ、チケット・プリンタ、媒体プリンタ（たとえばディスケット・ドライブ）、計算書プリンタ、または受領書プリンタ）、（たとえばステッカーやコンピュータ・ディスクを提供する）ディスペンサ、または有形の媒体１１３Ａに入った情報をユーザに提供するその他の任意の装置１３０がある。その他の入力／出力装置１３０としては、現金自動支払機、スキャナ、ディポーザ、ペン入力装置１３６、カード発行機、発券機、ＣＲＴ、キーボード、タッチ・センシティブ・スクリーン、プログラム制御可能カメラ、１つまたは複数の人間感知器（たとえば赤外線）、１つまたは複数のライト、ＣＤ−ＲＯＭプレーヤ、音声入力／出力装置（たとえばマイクロフォン１３３、スピーカ１３２、または電話機１０７、およびメモリ１１３Ｂのうちの任意の１つまたは複数の装置が含まれる。キオスク１００は、電話１０７やテレビ会議システム１１４、たとえばＰｉｃｔｕｒｅＴｅｌ　ＰＣＳ−１００デスクトップＩＳＤＮテレビ会議システムなどの周知の通信装置を備えることができる（ＰｉｃｔｕｒｅＴｅｌはＰｉｃｔｕｒｅＴｅｌ社の商標である）。テレビ会議システムは、カメラ１３１や、スピーカ１３２、マイクロフォン１３３、適切なネットワーク・インタフェース１５５を介した１つまたは複数のＩＳＤＮ接続または別個のネットワーク接続を含む。他のネットワーク１５１、たとえば電話１０７、スピーカ１３２、マイクロフォンを介した在来型電話システム（ＰＯＴＳ）電話網１２２またはＩＳＤＮ回線１２３あるいはその両方への接続も行うことができる。周知のインタフェースを使用してネットワーク（１５０、１５１）に他の周辺装置１３０を独立して接続することもできる。
【００２０】
コンピュータのＣＰＵ１１０Ｃは、制御プロセスおよびライブラリ１２５と、ある種の好ましい実施形態では１つまたは複数の協同プロセスとを含む、ソフトウェア・プログラムを実行する。制御プロセス１２５は、１つまたは組込み制御関数／プログラム６２０と１つまたは複数の制御機構６４０の２つの部分を有する。（以下の図５、図６から図１０を参照。）組込み制御プログラム／関数６２０は、内容固有のプロセス（たとえば銀行業務、レンタカー業、商品購入など）であるが、それぞれの入力／出力装置（またはそのサブセット）１３０に付随する非内容固有の制御機構６４０を使用してローカル・アプリケーション・プログラム・インタフェース６８０（ＡＰＩ）を制御する。したがって、入力／出力装置１３０は、アプリケーションの内容に固有の方法で制御される。代替実施形態では、制御機構は、ネットワーク１５０からコンピュータ１１０に直接ロードすることができる。
【００２１】
協同プロセス１７０は、ＡＰＩと、キオスク１００から協同セッションを確立する機能を実行する。この協同プロセスについては、１９９６年９月２７日出願のフィン（Ｆｉｎ）等の「Ｉｎｔｅｒｎｅｔ　Ｗｅｂ　Ｐａｇｅ　Ｓｈａｒｉｎｇ」という名称の米国特許出願第０８／７２２２８７号に記載されており、参照によりその全体が本明細書に組み込まれる（欧州特許出願９７３０７５３６．０号、公告番号８３３２６０を参照）。コンピュータはさらにネットワーク１５０との対話に必要なプログラムを実行し、これにはウェブ・ブラウザ・プログラム１６０、たとえばＮｅｔｓｃａｐｅ　Ｎａｖｉｇａｔｏｒブラウザが含まれる。（Ｎｅｔｓｃａｐｅ　Ｎａｖｉｇａｔｏｒは、Ｎｅｔｓｃａｐｅ　Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ　Ｃｏｒｐｏｒａｔａｉｏｎの商標である。）
【００２２】
図２は、囲われた空間または一部囲われた空間２００内にあるキオスク１００を示す、本発明の代替実施形態を示すブロック図である。囲われた空間２００は、一人または複数のユーザと共にキオスク１００が置かれる任意のタイプの空間、たとえば、部屋、小ボックス、またはその他の任意の個室または準個室空間とすることができる。この実施形態では、コンピュータ１１０は、コンピュータ１１０がスペース２００内にユーザのための環境を作り出すために制御する１つまたは複数の周知の環境周辺機器１３０に接続される。たとえば、環境周辺機器としては、空間の照明２０５、追加情報（たとえば販売情報）または環境要素（たとえば風景の可変表示や仮想世界）あるいはその両方を伝える空間２００内の表示装置２１０、空間２００に出入りするセキュリティ・アクセス２１５などがある。さらに、（部分的に）囲われた空間は、上述の周辺機器１３０と類似の他の環境周辺機器１３０、たとえば、音声、テレビ会議なども有することができる。仮想世界の例は周知である。
【００２３】
システム１００および２００の好ましい実施形態では、ユーザが（選択機能を使用して）、キオスクをそのために構成させるアプリケーション、たとえば銀行業務を選択し、ブラウザ１６０がインターネット（汎用ネットワーク）１５０上の１つまたは複数のウェブ・サーバ１９５と対話して１つまたは複数の構成セット１７５を取り出す。任意選択により、サーバ１９５とキオスク（１００、２００）内のブラウザ１６０との間でデータ通信が開始する。次に、ブラウザ１６０によってアプリケーション・ファイル１７５が１ファイルずつ実行され、１）任意選択により、それぞれのアプリケーションと共に使用する入力／出力装置のうちの１つまたは複数の入力／出力装置（たとえばタッチ・センシティブ端末１０３や表示装置）１３０を制御するドライバ・プログラム（ローカルＡＰＩ６８０）を呼び出し、２）任意選択により、一連の入力／出力装置１３０アクションを、たとえば、端末／表示装置１０３上に表示される一連のウェブ・ページとして行わせ、３）任意選択により、入力装置１３０からのユーザ入力をサーバ１９５に伝え、４）任意選択により、ユーザ入力に応じて、ブラウザ１６０によってさらに実行するためのアプリケーション・ファイル１７５の他のアプリケーション・ファイル１７５を選択する。このように、ユーザは第１の選択機能を使用して第１のアプリケーション（およびそれに付随するサーバ１９５上の構成セット（アプリケーション・ファイル）１７５を選択することができ、そのアプリケーションがキオスクを第１の特定の選択されたアプリケーションに合わせて再構成する。第２のアプリケーションを選択することによって、再びキオスクが第２のアプリケーション等々用に再構成される。後の構成のための選択機能は、前の構成でユーザに提供される。
【００２４】
アプリケーションとは、キオスクがそのために構成される任意の用途である。たとえば、アプリケーションには、金融、ビジネス、情報（ニュース、広告）、通信（電子メール、ウェブ・アクセス、テレビ会議）、小売業、マーケティング、サービス（たとえば行政プログラム）の分野における用途
（構成）が含まれる。アプリケーション所有者は、そのアプリケーションを実現するようにキオスクを構成することになる任意の個人、組織、または企業である。たとえば、銀行または投資信託会社は、１つまたは複数の金融業アプリケーションを使用してキオスクを構成する。このような金融業アプリケーションの例としては、ユーザへの金融情報の提供、口座の開設、現金支払い、勘定支払い、ローンの申込み、預金、およびエージェントから受ける支援などがある。サービス所有者の一例は、自動車レンタル／リースなどを行うようにキオスクを構成するレンタカー会社である。
【００２５】
他の好ましい実施形態では、キオスク（１００、２００）は、ユーザによってではなくサーバ１９５によって再構成される。たとえば、キオスクを、ショッピング・モールのような公共の空間に設置することができる。ブラウザは、ネットワーク１５０上に配置された１つまたは複数のサーバ１９５またはデフォルト・サーバまたはプロキシ・サーバ１９５Ａからキオスク１００に、構成セット（アプリケーション・ファイル）１７５を、最初にまたは定期的に取り出すようにすることができる（またはサーバが「プッシュ」するようにすることもできる）。したがって、システム設計者は、サーバ１９５の遠隔設置場所からキオスクの構成を制御することができる。たとえば、モール内のキオスクを最初に、モールの地図の表示、バックグラウンド・ミュージックの再生、アナウンス、または天気情報またはニュースや株式市況のようなその他の一般情報の提供を行うように構成することができる。アプリケーション・ファイル１７５は、入力／出力装置１３０のうちの１つまたは複数の装置に、選択機能１０５Ａ、たとえばタッチ・スクリーン、アイコン、ハイパーテキスト・リンク、グラフィカル・ユーザ・インタフェース上のソフト・ボタン、ハードワイヤード・ボタン、（無線周波識別タグのような）リモート・センサ、またはテレビ会議システム用の音声入力式メッセージ機能などの選択機能１０５Ａを有するように、またはそのような選択機能１０５Ａとなるように指示することもできる。選択機能１０５Ａは、ユーザが、キオスクをユーザのアプリケーションに合わせて再構成させる選択を行うことができるようにする機能である。これらの選択機能１０５Ａによって、ユーザはキオスク１００／２００を再構成したり、サーバ１９５がキオスクに提供させるその他の情報にアクセスしたりすることができる。
【００２６】
選択機能１０５Ａまたは表示されるその他の情報は、キオスクの所有者／運営者にとって収入源ともなり得る。たとえば、キオスクは、キオスクが提供する通知は有料で行われる広告になり得る。アプリケーション提供者（たとえば銀行投資信託会社、モーゲージ会社、金貸業者、仲介業（株式、不動産）、レンタル会社（自動車、機器）、サービス提供者、および小売業者）なら、キオスク１００／２００上に、ユーザがキオスクを自分の用途に合わせて構成するために選択する選択機能１０５Ａを所有するために料金を支払うであろう。料金の金額は、キオスクの設置場所、キオスク上の選択機能／情報の位置／場所（たとえばグラフィカル・ユーザ・インタフェース）、選択機能１０５Ａのサイズ、キオスクによって選択機能１０５Ａ／情報が提供される時間および期間などに基づいて決めることができる。選択機能１０５Ａ／情報は、様々なクラスの顧客／クライアントを対象にするために、異なる時刻に変更したり定期的に表示したりすることができる。たとえば、グランド・セントラル駅に置かれたキオスクは、ラッシュ・アワーには通勤者向け情報を表示させ、昼食時間の直前にはレストラン予約のための選択機能１０５Ａを有するように再構成される。
【００２７】
キオスク１００／２００は、アプリケーション提供者がサーバ１９５を介してユーザ固有の構成になるよう再構成することができる。たとえば、旅行代理店がスミス氏のユーザ・プロファイルを有するとする。スミス氏は、公共の場所または勤務先にあるキオスク１００／２００上の選択機能１０５Ａを選択する。キオスクはその旅行代理店のアプリケーション用に再構成された後は、たとえば、入力／出力装置１３０の１つを使用して個人識別コードを入力するかまたはクレジット・カードを通すことによって、（アプリケーション・ファイルのうちの１つによる指示に従って）スミス氏に対して個人情報を求めることができる。次に、スミス氏の個人情報はキオスク１００／２００によってサーバ１９５に渡され、スミス氏に関するプロファイルにアクセスする。プロファイル内の情報を使用して、サーバ１９５によってアプリケーション・ファイル１７５のうちの１つまたは複数のファイルが送られ、キオスクが特にスミス氏のために再構成される。たとえば、中米への休暇パッケージ旅行のみをキオスク上で提供することができる。他の実施形態では、アプリケーション・ファイル１７５のうちの１つまたは複数のファイルによって、ユーザがＧＵＩ（後出の３００）を編成できるようにすることができる。
【００２８】
キオスク１００／２００の他の好ましい構成では、一人または複数のキオスク・ユーザとアプリケーション提供者の１つまたは複数のエージェントとの間に協同セッションがセットアップされる。協同は、キオスク上に常駐するかまたはサーバ１９５によってアプリケーション・ファイル１７５として提供される協同プロセス１７０によってセットアップされる（フィン（Ｆｉｎ）等の特許出願を参照）。
【００２９】
キオスク（１００、２００）の他の好ましい構成では、サーバ１９５がキオスクに、キオスクの監視または保守に使用されるアプリケーション・ファイル１７５を提供する。たとえば、このような実施形態では組込み制御プログラム６２０のうちの１つまたは複数の組込み制御プログラムが、「デッドマン」タイマー状況、誤り検査プロトコルなどを使用してどの入力／出力装置が動作しているかを判断することによって、入力／出力装置１３０のうちの１つまたは複数の装置の動作状況を監視する。この情報はサーバ１９５に返される。他のアプリケーション・ファイル１７５を使用して、所与のキオスクにどの入力／出力装置１３０が設置されているか、または動作可能であるかを問い合わせる。このようにして、サーバ１９５は、設置または動作可能入力／出力装置１３０を使用可能にし、設置されていないかまたは故障している装置を使用可能にしない（構成しない）ために、他のどのアプリケーション・ファイル１７５をキオスクに送るかを判断することができる。したがって、入力／出力装置１３０の任意の汎用の組合せを含むキオスクをサーバの遠隔に設置することができ、サーバは所与の用途のためにキオスクを動作可能にする適切かつ動作可能なアプリケーションを提供する。アプリケーション・ファイル１７５を使用して、入力／出力装置のうちの１つまたは複数の装置から情報を入手し、装置の操作方法を判断することもできる。
【００３０】
図３に、キオスク１００／２００の画面表示装置１０５上に表示されるグラフィカル・ユーザ・インタフェース（ＧＵＩ）３００の一例を示す。ＧＵＩ３００は、選択機能１０５Ａを介してキオスクのユーザに主アクセス・インタフェースを提供する。選択機能１０５Ａの例としては、銀行３０１、保険業３０２、汎用ソフト・ボタン３０３、およびピザ・レストラン３０４用のアプリケーションを示すアイコン画像３０１〜３０４がある。ＧＵＩ３００は、１つまたは複数の選択項目（典型的には３２５）を有するメニュー３２０の形の選択機能１０５Ａも表示することができる。選択機能１０５Ａの他の例は、ＧＵＩ３００またはメニュー３２０あるいはその両方の一部とすることができるハイパーリンク３５０である。ＧＵＩ３００のその他の領域３４０は、情報またはその他のデータを入力するために使用することができる。これらの情報フィールド３４０を使用して、ＧＵＩ３００を納税申告用紙、ローン申込書、モーゲージ申込書、預金入金票などの書式３７０として提示することができる。ＧＵＩ３００は、周知の技法を使用してブラウザ１６０によりウェブ・ページとして表示することができる。このウェブ・ページは、入力／出力装置１３０を介してユーザに提示されるマルチメディア（音声、映像）態様を有することができる。
【００３１】
図４に、ユーザがユーザ・インタフェースを介して対話して選択機能１０５Ａを選択し、選択機能１０５Ａがそれに対応する構成セットであるアプリケーション・ファイル１７５をサーバ１９５からクライアント（キオスク１００、２００）にダウンロードして特定の機能を実行し、周辺装置１３０の特定のサブセット４５１（たとえば１０７、１０９、１１１、１１３、１１４など）を制御する仕組みを示す。ローカルＡＰＩ４４０は、１つまたは複数の周辺装置１３０を直接制御するソフトウェア機能インタフェースである。たとえば、カード読取装置１３０のローカルＡＰＩ４４０は、初期設定、始動、カードからのデータの読取り、カードの排出を行い、機能をオフにする処理を含む。
【００３２】
（キオスク構成の）選択は、選択機能１０５Ａによって行われる。選択機能１０５Ａの例としては以下のものがある。
ａ）ユーザが画面上の画像アイコン、またはボタンのような他の選択装置に明示的に触れる。
ｂ）現在実行中のプログラムが、ユーザの動作に基づいて選択を呼び出す必要があることを判断し、たとえば、ユーザが同じ間違いを続けて２回犯した場合、ヘルプ・プログラムを呼び出す。
ｃ）現在実行中のプログラム内の論理が、次の選択（キオスク構成）を判断する。たとえば、ユーザがモーゲージの事前資格審査申込書を作成し、銀行がそれを承認した後は、現行アプリケーションがユーザに不動産情報を必要とするかどうかを尋ねることができる。ユーザが肯定の応答をした場合、キオスクの構成は、不動産業者アプリケーションの構成に変更される。
【００３３】
一実施形態では、選択１０５Ａが行われると、ブラウザ１６０がネットワーク・インタフェース１５５を介してＨＴＴＰでサーバ１９５に、その選択機能１０５Ａに対応する最初のアプリケーション・ファイル１７５（ファイル５００からなる）を求める要求を送る。（アプリケーション・ファイル／構成セット１７５内のファイル５００の説明については図５も参照されたい。）次に、サーバ１９５は、アプリケーション・ファイル１７５をブラウザ１６０に提供する。アプリケーション・ファイルを構成するファイル５００がブラウザ１６０に到着した後、ファイル５００のＨＴＭＬの内容が１行ずつ実行される。ブラウザが実行している現行アプリケーション・ファイルのファイル５００に次のアプリケーション・ファイルのファイル５００が関連づけられている（たとえばハイパーリンクされている）場合、この次のアプリケーション・ファイルのファイル５００もブラウザに送られる。このようにして、ブラウザ１６０は各ファイル５００を、構成セット１７５内のＨＴＭＬテキストの命令によって定義されている順序で１行ずつ、１構成セット１７５ずつ実行する。このようにしてアプリケーション・ファイル／構成セット１７５内のファイル５００を実行することによって、（装置１３０に関連づけられている）ローカルＡＰＩ４４０または、ローカルＡＰＩのサブセット４４１が呼び出されて、選択された装置のサブセット４５１を制御し、キオスク（１００／２００）が再構成される。各アプリケーション・ファイル／ファイル（１７５、５００）内の論理またはユーザ・アクションあるいはその両方によって、どのアプリケーション・ファイル／ファイル（１７５、５００）が実行されるかを変更したり、アプリケーション・ファイルのうちの一部のアプリケーション・ファイルを実行するかどうかを変更したりすることができることに留意されたい。
【００３４】
アプリケーション・ファイル１７５を実行することによって、ブラウザ１６０は装置１３０のうちの１つまたは複数の装置を選択し、制御する。キオスクの構成は、アプリケーション・ファイルの実行中に選択された装置４５１（たとえば装置のサブセット４５１）と、装置のサブセット４５１がどのように制御されるかによって定義される。たとえば、銀行業務の構成では、アプリケーション・ファイル１７５の実行によって、ＡＰＩ４４１のサブセットが呼び出され、たとえばカード読取装置１１１とプリンタ１０９（装置サブセット４５１）が選択されて制御され、それぞれ、銀行カードの読取りとトランザクション記録の印刷が行われる。同じ銀行業務の構成で、アプリケーション・ファイルのうちの１つまたは複数のアプリケーション・ファイル（またはアプリケーション・ファイル内の行あるいはその両方）１７５を実行すると装置１３０の選択や制御は行われないが、データの記憶、サーバ１９５へのデータまたはメッセージの返送などを含む他のアクションが行われる。ピザを注文する他の構成では、アプリケーション・ファイルの実行によってＡＰＩ４４１の異なるサブセットが呼び出され、同じ装置サブセット４５１（すなわちカード読取装置１１１とプリンタ１０９）を選択し、制御してそれぞれ、クレジット・カードの読取りおよび代価請求が行われ、選択されたピザのトッピングを示す購入レシートが印刷される。
【００３５】
構成によっては、アプリケーション・ファイル１７５の実行によって１つまたは複数の装置１３０は選択されないことに留意されたい。そのような場合、デフォルトの装置が使用される。たとえば、テキスト行を表示させるファイル５００内の行が、デフォルトにより表示装置１０３に宛てて送られる。
【００３６】
また、ブラウザ１６０は他のローカル・プログラムまたはライブラリあるいはその両方を使用してアプリケーション・ファイルの実行と対話するローカル実行可能モジュールの特別なセットにアクセスすることができることにも留意されたい（図６参照）。
【００３７】
図５は、少なくとも１つの組込み制御プログラム６２０を与える、１つまたは複数のＨＴＭＬファイルおよびそれに関連づけられたハイパーテキスト構成要素ファイルを含む、アプリケーション・ファイル（構成セット）１７５のセットを示すブロック図である。ウェブ・ベースのアプリケーション・ファイル１７５はすべて、少なくとも１つの組込み制御プログラム６２０を与えるＨＴＭＬベースのファイルである。アプリケーション・ファイル１７５は、任意選択により、ＨＴＭＬベースであるかどうかを問わず他のハイパーテキスト構成要素ファイルも含む。典型的には、ＨＴＭＬファイルは、テキスト５２５、画像またはグラフィクス５２８、（画像５２８、アプレット５０５、スクリプト５１５、またはその他の組込み制御関数（プログラム）６２０として実施された）アニメーション、（１つの組込み制御関数６２０として）音声、（１つの組込み制御関数６２０として）映像、およびその他のハイパーリンクといった組込み構成要素ファイルである標準ＨＴＭＬ（ＨＴＭＬ３．０など）、などを示すタグを含んで構成されている。これらのタグは周知である。好ましい一実施形態では、ブラウザ１６０はＮｅｔｓｃａｐｅ　Ｎａｖｉｇａｔｏｒ　ｖ３．０である。組込みプログラムは、Ｊａｖａ（登録商標）ＳｃｒｉｐｔまたはＪａｖａ（登録商標）アプレット、またはプラグインを使用する他の任意の組込みプログラムあるいはそれらの組合せを使用して実施することができる（Ｊａｖａ（登録商標）はＳｕｎ　Ｍｉｃｒｏｓｙｓｔｅｍｓ　Ｉｎｃ．の商標である）。図５に示すように、ＨＴＭＬファイル５００は、タグ５０５を使用してＪａｖａ（登録商標）アプレットを組み込み、タグ５１５を使用してＪａｖａ（登録商標）Ｓｃｒｉｐｔ関数を組み込ませ、タグ５２０を使用してブラウザのプラグイン機能を呼び出す他の任意のプログラムを組み込ませている。標準ＨＴＭＬタグの詳細は、「Ｎｅｔｓｃａｐｅ　ＨＴＭＬ３．０　Ｓｏｕｒｃｅ　Ｂｏｏｋ」に記載されており、参照によりその全体が本明細書に組み込まれる。これらの組込み制御関数５２０のうちのいくつかは、コンピュータに読み込まれると組込み制御関数／プログラム６２０とされる。
【００３８】
図５は、キオスク１００を構成する典型的なアプリケーションの組込み制御プログラム６２０の実行で呼び出されるシステムの構成要素を示すブロック図である。
【００３９】
ブラウザ１６０内には、機能として、ＨＴＭＬファイル内のＨＴＭＬタグを解釈または認識するインタプリタ６１０がある。インタプリタ６１０は、タグのタイプとタグの内容に応じて各ＨＴＭＬタグごとに関数を実行するためにＨＴＭＬタグ実行プログラム６１１を呼び出す。実行によって、ローカル・キオスク・プログラム（ローカル周辺ＡＰＩ４４０を含む）に対するＡＰＩ呼び出し６８０が呼び出されない場合、ブラウザは、必要であれば標準関数のライブラリ６１７を使用して各ＨＴＭＬタグ６１５を実行する。これらの非ＡＰＩ制御関数６１５の例としては、テキストの表示、画像の表示などがある。これらは周知であり、従来技術のブラウザに含まれている。
【００４０】
しかし、実行プログラム６１１が、ローカル・キオスクＡＰＩ６８０の１つを呼び出す組込み制御関数６２０に遭遇した場合、実行プログラム６１１はブラウザ１６０内部のセキュリティ・マネージャ６２５を呼び出して、ＡＰＩ呼び出しが許可されているかどうかを判断する。後で詳述するように、キオスク制御機構６４０、またはその機構の一部６４０Ａが、ブラウザが入っているディレクトリのサブディレクトリに入れられている。こうすることにより、実行プログラム６１１が組込み制御関数６２０に遭遇するとセキュリティ・マネージャ６２５は制御機構６４０（以下の６４０Ａ）を見つけ、ＡＰＩ制御関数６２１がその制御機構６４０／６４０Ａをブラウザ・プロセス１６０にロードする。たとえば、これらの組込み制御関数６２０は、１つまたは複数のローカルＡＰＩ関数６８０／４４０（すなわちＡＰＩ４４１の選択されたサブセット）を呼び出して装置４５１の所与のサブセットを動作させるアプレットを含むことができる。たとえば、装置がカード読取装置の場合、組込み制御関数６２０は制御機構６４０を使用して適切なＡＰＩ４４０を呼び出し、カード読取り装置を開き、カードからデータを読み取り、カードを排出し、カード読み取り装置を閉じる。
【００４１】
周知のブラウザ１６０は、ローカルＡＰＩ６８０を実行するためにネットワーク１５０からの組込み制御関数６２０を実行しないことに留意されたい。実際には、これらのブラウザは、周知のネットワーク・セキュリティ上の理由のため、これらのＡＰＩ制御関数の実行を特に防止する。たとえば、アプリケーション・ファイル１７５がネットワークを通過している間に変更された場合、アプリケーション・ファイル内の被害を受けた制御関数の実行によって、クライアント機、すなわちキオスク（１００、２００）で予測不可能で有害な結果が生じる可能性がある。
【００４２】
Ｊａｖａ（登録商標）は、バイト・コード伝送および検証、仮想計算機による誤り検査など、様々な特別な手段を使用してネットワーク・セキュリティ問題を克服するように設計されていることは周知である。さらに、Ｊａｖａ（登録商標）がウェブ・ベースのアプリケーション内のアプレットとして使用されている場合、すなわちＨＴＭＬファイルに組み込まれている場合、ブラウザは通常、そのＪａｖａ（登録商標）アプレットが、ブラウザに組み込まれている標準Ｊａｖａ（登録商標）ライブラリ内のＪａｖａ（登録商標）プログラム以外のクライアント機上のどのローカルＪａｖａ（登録商標）プログラムにもアクセスしないように厳しく防止する。その理由は、アプレットが管理されていない環境から送られてくるため、すなわち、ネットワーク全体のどのサーバからでも送られてくる可能性があるために、単にアプレットがクライアント機に与える可能性のある被害を防止するためである。
【００４３】
「Ｊａｖａ（登録商標）　Ｎｏｗ」（クリス・ジャムサ（Ｋｒｉｓ　Ｊａｍｓａ）著、Ｊａｍｓａ　Ｐｒｅｓｓｓ、１９９６年刊、ＩＳＢＮ　１−８８４１３３−３０−４、ｐ４）という書物に記載されているように、「セキュリティ問題に対処するため、Ｊａｖａ（登録商標）開発者はプログラマがＪａｖａ（登録商標）アプレットを使用してコンピュータ・ウィルスを作成できないようにし、アプレットがユーザのシステムに関する情報（ユーザのシステム上のファイルなど）をサーバに転送し戻すことができないようにしなければならなかった。たとえば、競争相手のウェブ・サイトを閲覧している間に、その競争相手のＪａｖａ（登録商標）アプレットに自分のハード・ディスクを読まれたとしたら嫌であろう。そのようなセキュリティを設けるために、Ｊａｖａ（登録商標）開発者はアプレットが行うことができる操作を制限することにした。たとえば、Ｊａｖａ（登録商標）アプレットはユーザのシステム上のファイルを読み書きすることができない。このようにすることで、アプレットはユーザ・のディスクにウィルスを記憶したり、ユーザのディスクに記憶されている情報を読み取ったりすることができない」。また、次のようにも記載されている。「Ｊａｖａ（登録商標）は、プログラマにスタンド・アロン型プログラムを作成させる。Ｊａｖａ（登録商標）のスタンド・アロン型プログラムは、プログラマがＣ＋＋を使用して作成することができるプログラムと類似している。そのようなスタンド・アロン型プログラムは、Ｊａｖａ（登録商標）がアプレットによる実行を制限するファイルの読み書きと操作の実行を行うことができる。それに対してＪａｖａ（登録商標）アプレットは、ブラウザ内でしか実行されない．．．」。これは、Ｊａｖａ（登録商標）アプレットは、ブラウザ・プロセス１６０の外部の関数を操作しない設計になっていることを意味する。
【００４４】
標準ブラウザの動作中、ブラウザのセキュリティ・マネージャ６２５がこれらのセキュリティ規則に違反がないか監視する。標準Ｊａｖａ（登録商標）ライブラリ内にないプログラムへのアクセスを要求するアプレットが見つかると、ブラウザは、単にセキュリティ違反エラーを報告し、そのアプレットの実行を停止する。
【００４５】
一実施形態では、アプリケーション・ファイル１７５がキオスクを構成することができるようにするために、キオスク固有制御機構６４０の一部６４０Ａがブラウザ１６０に付加され、キオスク固有制御機構６４０の他の一部６４０Ｂがアプリケーション・プログラミング・インタフェース（ＡＰＩ）６８０（４４０を含む）に付加される。したがって、キオスク固有制御機構６４０は、ブラウザ機構６４０ＡとＡＰＩ機構６４０Ｂの２つの部分に分けられる。この実施形態では、ブラウザ機構６４０ＡとＡＰＩ機構６４０Ｂは、プロセス間通信（ＩＰＣ）６４０Ｉを介して連絡する。ＩＰＣ６４０Ｉインタフェースは、ブラウザ機構６４０ＡとＡＰＩ機構６４０Ｂが、直接間接呼び出しではなくメッセージ受渡しを使用して連絡することができるようにする。（ＩＰＣは周知であり、その一例は、Ｗｉｎｄｏｗｓ（登録商標）オペレーティング・システムにおけるダイナミック・データ交換（ＤＤＥ）の使用である。Ｗｉｎｄｏｗｓ（登録商標）はＭｉｃｒｏｓｏｆｔ　Ｃｏｒｐｏｒａｔｉｏｎの商標である。）
【００４６】
ブラウザ機構６４０Ａは、どのアプリケーション・ファイル１７５内のＡＰＩ制御関数６２０もブラウザ１６０内のインタプリタ６１０によって認識されるように、ブラウザ・サブディレクトリに入れられる。ＡＰＩ機構６４０Ｂは、ブラウザ機構６４０Ａからメッセージを受け取り、そのメッセージに従って４４０を含む様々な関数を独立して制御する。このようにして、ブラウザからのアプレットは、１つまたは複数の装置およびローカル機能を制御することができるようになるが、それはブラウザ機構６４０Ａを有する関数のみである。したがって、キオスク内の他の関数は、ネットワークを介したアプリケーション・ファイル１７５によるアクセスからは安全に保護されたままである。したがって、キオスクは構成可能ではあるが、安全に保護される。さらに、ＡＰＩ機構６４０ＢはデバイスＡＰＩ４４０をブラウザからは独立して操作するため、ＡＰＩ機構６４０Ｂに渡された装置制御関数（所与の装置を制御するために使用されるＡＰＩ制御関数６２０のサブセット）は、そのアプリケーション・ファイルが後でブラウザ１６０で除去または変更された場合であっても、装置のそのサブセット４５１についてのみ実行される。これによって、装置動作を持続的な方法で行うことができる。すなわちＡＰＩ関数（６４０、４４０）が開始された後は、アプリケーション・ファイル１７５がブラウザ１６０によって変更／除去されるかどうかに関係なく、その関数を完了することができる。この実行持続性によって、キオスクとのある種のユーザ対話をより効率的にすることができる。たとえば、アプリケーション・ファイル１７５は、カード発行機に新しいカードを発行するように指示することができる。次に、ユーザ／ブラウザは、カード発行機が磁気ストライプにデータを書き込んで新しいカードの打出しをしている間に別のアプリケーション・ファイルに移ることができる。
【００４７】
ブラウザ機構６４０Ａは、１）ブラウザ自体の標準ディレクトリ／ライブラリ内に入れられ、２）アプリケーション・ファイル１７５が、１つまたは複数のローカルＡＰＩ関数に関するメッセージ（たとえば関数名および関連パラメータ）を渡すネーム・サーバ機構を使用したメッセージ受渡し（図７および図９とその説明を参照）か、またはローカルＡＰＩ関数の直接呼び出し（図８および図１０とその説明を参照）のいずれかによって、ローカルＡＰＩ６８０のうちの１つまたは複数のローカルＡＰＩ６８０を呼び出すことができるようにする構造を有する。
【００４８】
好ましい一実施形態では、ブラウザ機構６４０Ａは、アプリケーション・ファイル５００にとって既知のＪａｖａ（登録商標）　ＡＰＩ（「Ｊａｖａ（登録商標）ラッパ」と呼ぶ場合もある）を含み、（たとえばプロセス間通信またはネーム・サーバを使用して）通信を行うか、またはローカルＡＰＩ６８０を直接呼び出すためのネイティブ言語（たとえばＣ＋＋）でプログラムされた関数をさらに含む。
【００４９】
ＡＰＩ機構６４０Ｂは、１）様々なローカル機能モジュール（たとえばブラウザ制御モジュール、協同機能モジュール、装置制御モジュール、システム監視モジュールなど）に直接アクセスし、２）ネーム・サーバ機構を使用するかまたは関連する関数モジュールを直接呼び出すことによって１つまたは複数のＡＰＩ関数６８０から成るセットを呼び出すことができる構造を有し、３）ＡＰＩ６４０Ａとのメッセージ・ベースの通信を可能にするＩＰＣを有する。（ＡＰＩ関数６８０は、キオスク内の所与の装置または機能を特に制御するように作成され、アプリケーション・ファイル１７５によってアクセス可能であっても可能でなくてもよいことに留意されたい。）
【００５０】
このキオスク制御機構を使用する一応用例は、アプリケーションがキオスクの構成方法を決定する前に、システム・セットアップおよび状況を問い合わせることである。アプリケーション・ファイル１７５内で、アプレットＣａｌｌＡＰＩ．ｃｌａｓｓを使用してＡＰＩ関数６４０「ｑｕｅｒｙ＿ｓｔａｔｕｓ」を呼び出すことができる。たとえば、
2004005688.tif 000003
このアプレットがブラウザによって実行されると、まず、ｋｉｏｓｋＡｐｐＩｎｔｅｒｆａｃｅというクラスをインスタンス化する。このファイルおよび関連するＤＬＬは、ブラウザ標準ライブラリに入れられる。次に、ｓｅｎｄ＿ＡＰＩｍｅｓｓａｇｅ（）というｋｉｏｓｋＡｐｐＩｎｔｅｒｆａｃｅクラス（６４０Ａ）のメソッドを使用して、ＡＰＩメッセージ”ｑｕｅｒｙ＿ｓｔａｔｕｓ”（６４０Ａ）を送る。このメソッドは、プロセス間通信機能６４０Ｉを呼び出して、ＡＰＩ機構６４０Ｂにメッセージを送る。次に、ＡＩＰ機構６４０Ｂは、関連するローカルＡＰＩ関数６８０を呼び出してシステム状況データを入手し、そのデータをプロセス間通信機能６４０Ｉを介して６４０Ａに送り返す。アプレットは、メソッドｇｅｔ＿ＡＰＩｍｅｓｓａｇｅ（）をコマンド”ｓｔａｔｕｓ”と共に使用して、６４０Ｂから送り返されたデータを入手し、そのデータをｓｙｓＳｔａｔｕｓというクラス内のデータ構造に格納する。
【００５１】
６４０Ａと６４０Ｂとの間のＡＰＩメッセージ受渡しには、ネーム・サーバ機能機構（以下の図７を参照）を使用することができる。一般に、６４０Ｂがメッセージを入手すると、（６４０Ｂ内の）ネーム・サーバ機能がそのメッセージを解析し、対応するローカル機能ＡＰＩ６８０を呼び出す。この例では、システム監視関数ＡＰＩを呼び出してシステム状況データを入手する。これは、以下のように例示することができる。
2004005688.tif 000004
上述のように”ｓｙｓＳｔａｔｕｓ”クラス・データ構造で入手されたデータの例を以下に示す。
Ｎｕｍ．　ｏｆ　Ｄｅｖｉｃｅ　＝　５
ｌａｓｅｒ　ｐｒｉｎｔｅｒ　＝　ＯＫ
ｃａｒｄ　ｒｅａｄｅｒ　＝　ＯＫ
ｃａｒｄ　ｉｓｓｕｅｒ　＝　ｎｏ　ｃａｒｄ　ｓｕｐｐｌｙ
ｒｅｃｅｉｐｔ　ｐｒｉｎｔｅｒ　＝　ＯＫ
ｔｉｃｋｅｔ　ｐｒｉｎｔｅｒ　＝　ＯＫ
このメッセージは、キオスク上に５個の装置があり、カードを必要とするカード発行機以外はすべて動作していることを示している。
【００５２】
キオスクの現況に従って、アプリケーション・ファイル１７５は、レーザ・プリンタ、受領書プリンタ、およびカード読み取り機（装置サブセット４５１）を選択して使用することができると同時に、状況データが示すようにカード読み取り機のカード供給機構にカードが入っていないため、カード発行機の使用を回避する（このような状況では、カードは他の手段で作成し、キオスクのユーザに郵送される）。
【００５３】
ある種の好ましい実施形態では、このような技法を使用して、キオスクにどの装置が備えられているか、それらの装置が正常に機能しているかどうかを判断する。このようにして、サーバは、キオスクがどの装置を備えているかやどの装置が動作可能かに基づいて、キオスクを構成するための特定のアプリケーション・ファイル１７５を供給することができる。したがって、それぞれのアプリケーション構成のためにサーバでアプリケーション・ファイルを適切に選択することにより、任意の数の異なるキオスク設計や動作状況を構成することができる。たとえば、銀行業務アプリケーションでは、高品質の銀行取引明細書を印刷するためにレーザ・プリンタを備えたキオスクにはレーザ・プリンタ制御を含むアプリケーション・ファイルとして構成されるファイル５００が送られるのに対し、それと同じタスク（銀行取引明細書）のために（使用可能かつ動作可能な）受領書プリンタしか持っていないキオスクには、受領書プリンタ制御を含むアプリケーション・ファイルとして構成される他のファイル５００が送られる。このようにして、誤動作するレーザ・プリンタを備えたキオスクや、レーザ・プリンタのないより低コストのキオスクでも、銀行アプリケーション用に適切に構成することができる。
【００５４】
他の実施形態では、１つまたは複数のサーバがアプリケーション・ファイルで要求を送ることによって状況情報を要求することができる。この情報を使用して、サービスの提供を必要とするキオスクまたはそれらのキオスク上の装置あるいはその両方を判断することができる。たとえば、必要な場合にサービス技術員を派遣してカード発行機にカードを追加することができる。
【００５５】
他の実施形態では、キオスクまたは装置のサービス履歴で使用するために状況情報を要求することができる。さらに、他のマーケティング情報、たとえば、特定の設置場所でどのクラスの顧客によってどの構成が最も要求されるかという情報を入手することもできる。
【００５６】
好ましい一実施形態では、キオスクは、他のアプリケーションのバックグラウンドで実行されるブラウザ・ウィンドウ（システム監視アプリケーション・ウィンドウ）を有することができる。このシステム監視アプリケーション・ウィンドウは、１つまたは複数のサーバと通信する１つまたは複数のアプレットを含む１つまたは複数のＨＴＭＬファイルを含むことができる。（サーバとのＪａｖａ（登録商標）アプレット通信のための機構は周知である。）このシステム監視アプリケーション・ウィンドウは、キオスクに電源投入されると常に開始することができ、キオスクが動作中である限り稼働し続ける。このようにして、１つまたは複数のサーバが、アプレットとの通信を介して随時、キオスクのシステム状況情報を入手することができる。
【００５７】
本明細書に記載の手法によって得られる可能性の中には以下のものがある。
１）「軽量クライアント」キオスク。キオスクに事前インストールする必要があるアプリケーション固有ソフトウェアがないため、コスト効果の高いキオスクの構築と維持を行うことができる。したがって、サーバ上で１つのアプリケーション（アプリケーション・ファイル５００）を作成し、それをそのサーバに接続されているネットワーク上の多数の「軽量」キオスクが使用することができる。ネットワーク上の「軽量」キオスクのいずれのためにもアプリケーション固有のソフトウェアを作成する必要がない。実際には、ネットワークは、アプリケーション固有ソフトウェアをまったく持たない１つまたは複数の標準（したがってより安価な）「軽量」キオスクで構成することができる。（たとえば、キオスク製造業者は、どの用途にも使用され、どの用途からも独立した１つまたは複数の標準キオスクを製造することができる。）アプリケーション・ファイル５００をサーバで作成、更新、保守することができ、キオスク内のどのプログラミングにも変更を加えることなく、ネットワーク上の１つまたは複数のキオスクを再構成するために使用することができる。この「軽量クライアント」キオスクは、いつでもどこでも汎用公共アクセスを提供するためのキオスクの大量配備を可能にし、たとえばインターネットまたは電話網あるいはその両方を介して通信することができる「キオスク電話」を可能にする。
【００５８】
２）キオスクが再構成可能であるため、サーバで多数の多様なアプリケーションを開発することができ、そのキオスクを介して配布することができる。したがって、アプリケーション提供者はネットワーク上にあるどのキオスクでも共用することができる。これらのアプリケーションは、特定の時点や特定の状況、たとえばユーザ要求または所与の環境条件（雨が降り出した時に傘店が広告を出すなど）のために、キオスクに供給することができる。
【００５９】
３）キオスクはインターネットおよびウェブのオープン・スタンダード技術に基づくことができるため、情報や媒体が豊富で、技術に富むインターネットおよびワールド・ワイド・ウェブの利点を利用することができる。
【００６０】
ユーザがこのキオスク１００をどのように使用できるかを示すいくつかの非限定的な例を以下に示す。
１．遊休時におけるキオスクの画面によって、様々な画像、ビデオ・クリップ、音声、グラフィクス・パターンおよびテキストを動的に表示する。画面の内容はすべてＨＴＭＬファイルから制御され、これらのＨＴＭＬファイルはキオスクの要求またはサーバのプッシュに基づいて更新される。サーバ提供者は、この異なる種類の画面「スペース」およびその表示時間に対して異なる料金を支払うことができる。朝と夕方の通勤時間には、主にヘッドライン・ニュースと金融市場の変化を表示し、昼食時間には多くのレストランの宣伝を表示する。週末には、百貨店の特売広告を表示することもできる。この内容は、そばを通る人々を常に、画面にタッチするように誘う。
２．ユーザは画面を見て歩み寄り、画面にタッチする。画面はただちに次の画面に切り替わり、アプリケーションのカテゴリを示す多くの画像アイコンとテキストを表示する。
３．ユーザがピザ注文アイコンにタッチすると、ユーザがピザの種類を選択することができる画面が提示される。画面は、ユーザに対してピザの配達場所と時間の入力を促し、ユーザは画面上のタッチ・キーパッドを介して情報を入力することができる。ＨＴＭＬ内に組み込まれた制御プログラム６２０がこのデータを取り込む。次に、画面はユーザに対して自分のクレジット・カードを挿入して支払いを認めるように促す。制御プログラムは、カード読み取り機を開き、クレジット・カード情報を取り込む。次に、制御プログラムは関連するキオスクＡＰＩ関数を使用してキオスク上で通信機能を呼び出し、（たとえばモデムを介して）クレジット・カード会社と（たとえばファクス伝送を介して）ピザ店とにアクセスする。これらの機能が完了した後、画面は顧客に注文のための情報を確認する。その他の一般小売業トランザクションも同様にして行うことができる。
４．ユーザは、電話アイコンにタッチして電話を掛けることもできる。画面上に電話アプリケーションＨＴＭＬファイルが電話キーパッドと共に表示される。ユーザが番号を入力した後、組込み制御プログラムが関連ＡＰＩ関数６４０Ａを呼び出し、電話呼出しを開始する。これは、キオスクのネットワーク接続（１２２、１２３、１５０）、アプリケーション・ファイル５００、およびユーザ選択１０５Ａに応じて、公衆電話網（ＰＳＴＮ）、統合サービス・ディジタル網（ＩＳＤＮ）、またはインターネット電話を介した従来の電話呼出しとすることができる。電話が接続されると、ユーザはキオスクに備えられた送受話器またはスピーカフォンを使用することができる（欧州特許出願第７８９４７０号に対応する、１９９６年２月６日出願の「Ｍｕｌｔｉｐｏｉｎｔ　Ｓｉｍｕｌｔａｎｅｏｕｓ　Ｖｏｉｃｅ　ａｎｄ　Ｄａｔａ　Ｓｅｒｖｉｃｅｓ　Ｕｓｉｎｇ　ａ　Ｍｅｄｉａ　Ｓｐｌｉｔｔｅｒ　Ｇａｔｅｗａｙ　Ａｒｃｈｉｔｅｃｔｕｒｅ」という名称のホルテンシウス（Ｈｏｒｔｅｎｓｉｕｓ）等の米国特許出願第０８／５９５８９７号を参照されたい。これは、参照によりその全体が本明細書に組み込まれる）。
【００６１】
他の好ましい実施形態では、ユーザは相手方が同じ機能を備えていればアプリケーション共用機能を使用してテレビ電話呼出しまたはテレビ会議呼出しも選択することができる。その場合、ＨＴＭＬアプリケーションに組み込まれた制御プログラム６２０が関連ＡＰＩ関数６４０Ａを呼び出して、キオスクのテレビ会議機能を開始する。ユーザはキオスクに備えられたタッチ・スクリーンと電子ペンを使用して会話を容易にすることができる（前述のフィン等の「Ｉｎｔｅｒｎｅｔ　Ｗｅｂ　Ｐａｇｅ　Ｓｈａｒｉｎｇ」特許出願に記載されている）。
５．ユーザはファクス機能を選択することもできる。画面は、ユーザに対して指示を出して、ファクス番号を入力し、クレジット・カードを挿入してファクスする文書を適切な装置（文書スロットなど）に入れ、準備が整ったら画面上のＯＫボタンにタッチするように促す。ボタンにタッチすると、組込み制御プログラム６２０がキオスク上で関連装置制御ＡＰＩ関数６４０Ａを呼び出し、スキャナを動作させ、文書を走査して文書を返し、ネットワーク、たとえばＰＳＴＮやインターネットを介して文書を電子送信する。
６．ユーザは、電子メール機能を選択することもできる。画面は、電子メール用のＨＴＭＬアプリケーションを表示する。組込み制御プログラム６２０が関連ＡＰＩ関数６４０Ａを呼び出すか、またはブラウザを介してメール・サーバおよびディレクトリ・サーバと直接通信し、ユーザを識別し、既存の電子メール・メッセージの取出しまたは新規メッセージの送信を行う。
７．ユーザは、フロッピィ・ディスケットなどの媒体上の電子ファイルを転送する１０５Ａを選択することもできる。画面は、ユーザに対して特定のプロセスに従うように、たとえばフロッピィをスロットに挿入するように促す。組込み制御プログラム６２０が関連ＡＰＩ関数６４０Ａを呼び出し、ディスケットを読み取り、ユーザが選択したファイルの読み取りまたは書込みを行い、それを、たとえば誰かの電子メール・アドレスに送信するなど、ユーザの指示に従って転送する。
８．ユーザは、弁護士、医師、会計士、不動産業者、融資ブローカー、投資顧問業者、保険業者など、広範なサービス提供者（たとえばサーバ上のアプリケーション所有者）の中からサービスを選択することができる。画面は、ＨＴＭＬファイル内の対応するアプリケーションを表示し、要求されたサービスを供給する（ユーザ選択に基づき、このサービスは、英語、スペイン語、中国語、日本語、フランス語、イタリア語など、任意の自然言語で提示することができる。）
９．サービス提供者のアプリケーションによっては、映像、音声、共用画面、および遠隔装置制御機能を使用して、リアルタイム協同セッションも開始することができる（前述したフィン等の特許を参照）。組込み制御プログラムが関連ＡＰＩ関数６２０を呼び出し、映像、音声、およびデータ通信を処理する。
１０．ユーザは、情報の検索を選択することができる。画面がユーザにどのような情報が必要かを入力するように促し、組込制御プログラムがそのデータを取り込み、情報のタイプの応じて照会を送る。照会は、インタフェースを介して、周知の検索エンジン、アプリケーション・サーバ上のデータベース、および他のネットワーク・サーバ上のデータベースを使用して送ることができる。
１１．ユーザは、カスタマイズされたアプリケーション・サーバを選択することができる。たとえば、ユーザが（たとえば磁気カードまたはスマート・カード上でアクセスされた情報から）識別されると、アプリケーション・ファイルは、ユーザのためにカスタマイズされた情報やキオスク構成を提供する。
１２．ユーザは、キオスク１００によって最初に提供される構成ではないキオスク１００の構成を選択することができる。キオスクの第１の構成と対話することによって、他のアプリケーション・ファイル１７５の参照によってキオスクを第２の構成に再構成することができる。たとえば、第１の構成が、第２の構成のためのアプリケーション・ファイル１７５にアクセスするユーザ入力（アイコンまたはハイパーリンク）を備えることができる。
１３．ユーザは、サーバが「学習」アプリケーション・ファイル１７５を提供する、ネットワークに接続された１つまたは複数のキオスクにアクセスすることができる一人または複数の学生または受講者とすることができる。
１４．ユーザは、キオスクから「電子」製品を選択することができる。たとえば、音楽、ビデオ、コンピュータ・ソフトウェア、またはその他のマルチメディア情報あるいはそれらの組合せを有するコンパクト・ディスク（ＣＤ）を、適切なディスペンサから販売することができる。あるいは、適切なキオスク装置によって空の媒体（たとえばテープ、ディスケット、書込み可能ＣＤなど）に書き込み、ネットワークを介してユーザに伝送可能な「電子」情報を無形の形態で提供することもできる。たとえば、最新のオペラ録音を、工場で「カット」されたＣＤを送らずに、ＣＤで提供することができる。
【００６２】
キオスク装置との間で情報の入出力を行うために使用される、ある種のキオスク制御機構６４０の他の例を以下に示す。一般的入力状況で、アプリケーション・ファイル５００は、ＡＰＩ関数６４０「ｈａｒｄｋｅｙ＿ｉｎｐｕｔ」を呼び出すために使用されるＣｌｌＡＰＩ．ｃｌａｓｓというアプレットを有する。たとえば、以下の通りである。
【００６３】
2004005688.tif 000005
【００６４】
このアプレットを以下のようにＨＴＭＬファイルに組み込む。
【００６５】
2004005688.tif 000006
【００６６】
このアプレットは、ブラウザによって実行されると、まず、ｋｉｏｓｋＡｐｐＩｎｔｅｒｆａｃｅというクラスをインスタンス化する。このファイルおよび関連ＤＬＬは、ブラウザ標準ライブラリに入れられる。次に、ｓｅｎｄ＿ＡＰＩｍｅｓｓａｇｅ（）というｋｉｏｓｋＡｐｐＩｎｔｅｒｆａｃｅクラス（６４０Ａ）のメソッドを使用して、ＡＰＩメッセージ「ｈａｒｄｋｅｙ＿ｉｎｐｕｔ」（６４０Ａ）を送る。このメソッドは、プロセス間通信機能６４０Ｉを呼び出して、メッセージをＡＰＩ機構６４０Ｂに送る。次に、ＡＰＩ機構６４０Ｂが関連ローカルＡＰＩ関数６８０を呼び出し、キオスクに備えられたハードウェア・キーからのキー入力を取り込み、それをプロセス間通信機能６４０Ｉを介して６４０Ａに送り返す。このアプレットは、コマンド「ｉｎｐｕｔ」と共にｇｅｔ＿ＡＩＰｍｅｓｓａｇｅ（）を使用して、６４０Ｂから送られたデータを入手し、ＩｎｐｕｔＤａｔａというクラス内のデータ構造に格納する。
【００６７】
2004005688.tif 000007
【００６８】
アプリケーション・ファイル５００が、「ソフト・キー」入力を呼び出す組込みアプレットを有する場合も、同様のＡＰＩメッセージが６４０Ａと６４０Ｂの間で受渡しされ、異なるＡＰＩ関数６８０を使用して画面上にソフトキー・パッド・ウィンドウを「ポップアップ」表示し、ユーザ入力を取り込むことに留意されたい。このようなソフト・キー入力のためのＡＰＩ関数６８０は周知である。
【００６９】
同様にして、アプリケーション・ファイル５００が、出力装置、たとえばレーザ・プリンタ上でのファイルのプリントを呼び出す場合、組込みアプレットを有する場合、上記のコードはローカルＡＰＩ関数６８０のＬａｓｅｒ＿ｐｒｉｎｔ（ＦｉｌｅＮａｍｅ）に指示して、レーザ・プリンタを制御し、ファイル「ＦｉｌｅＮａｍｅ」をプリントさせる。
【００７０】
図７に、ＩＣＰ６４０Ｉおよびネーム・サーバ機能６４０Ｂを使用するキオスク制御機構６４０の一実施形態を示す。この場合、アプリケーション・ファイル（１７５、５００）によって、（主としてメッセージ受渡しのための）汎用通信ＡＰＩ関数６４０Ａの小さな固定セットが使用される。これらの通信ＡＰＩ関数は、６４０Ａと６０Ｂとの間でメッセージの通信または受渡しを行う。メッセージの実行は、６４０Ｂ内のネーム・サーバ機能によって行われる。サーバ機能６４０Ｂは、ＩＰＣ６４０Ｉサーバとしての機能する。ネーム・サーバ機能は、様々な事前定義メッセージを認識する。たとえば、一実施形態では、通信ＡＰＩのセットは、ｓｅｎｄ＿ｍｅｓａｇｅ（ｍｅｓｓａｇｅ）とｇｅｔ＿ｍｅｓｓａｇｅ（ｍｅｓｓａｇｅ）の２つの関数を有する。しかし、複数の「ｍｅｓｓａｇｅ」がある。６４０Ｂ内のネーム・サーバ機能は、これらの各事前定義メッセージが入ったリストを融資、各事前定義メッセージは、それぞれの事前定義メッセージを実行するために適切なローカルＡＰＩ関数６８０を呼び出すことができる１組の論理に関連づけられている。
【００７１】
この実施形態では、新しい事前定義メッセージと、新しい機能を実行するのに必要な論理とを与えることによって、新しい装置やそれらの新しい装置によって実行される新しい機能を追加することができる。このようにして、アプリケーション・ファイル（１７５、５００）は、与えられた通信ＡＰＩ関数において新しいメッセージ識別子を使用するだけで、それらの新しい機能を実行することができる。これには、典型的には、アプリケーション・ファイル５００内で「ＡＳＣＩＩ」または「ｔｅｘｔ」メッセージ識別子を変更するだけでよい。新しい機能を使用するために、新しい組込みプログラムのコード化とコンパイルを行ったり、既存のプログラムを修正したりする必要はない。したがって、キオスク提供者が必要な論理をネーム・サーバ６４０Ｂにすでに組み込んでいるため、アプリケーション所有者（したがってサーバ上のアプリケーション・ファイル）が新しい機能を実行するためにしなければならないことはわずかしかない。
【００７２】
図８は、ブラウザ機構６４０Ａにおけるマッピング・ローカルＡＰＩのためのＩＰＣ６４０Ｉを使用するキオスク制御機構６４０の代替実施形態を示すブロック図である。この例では、多くのキオスク制御関数６２０またはすべてのキオスク制御関数６２０が、ブラウザ機構６４０Ａでアプリケーション・ファイル５００から対応するマッピング・ローカルＡＰＩを直接呼び出すことによって実行される。各マッピング・ローカルＡＰＩ６４０Ａは、ＩＰＣ６４０Ｉを介してＡＰＩ機構６４０Ｂと連絡し、ＡＰＩ機構６４０Ｂが適切なローカルＡＰＩ関数６８０を呼び出す。ここでは、マッピング・ローカルＡＰＩ６４０Ａは、Ｊａｖａ（登録商標）　ＡＰＩプログラムである。１つまたは複数のローカルＡＰＩ６８０のために特に作成された１つのＪａｖａ（登録商標）　ＡＰＩプログラムがある。ネーム・サーバの場合とは異なり、Ｊａｖａ（登録商標）　ＡＰＩプログラムのうちの少なくとも１つのＡＰＩプログラムが、ローカルＡＰＩ６８０のうちの１つまたは複数のローカルＡＰＩ６８０を制御する論理を持っていなければならない。これらのＪａｖａ（登録商標）　ＡＰＩプログラム６４０は事前定義され、アプリケーション・ファイル５００にとって既知である。
【００７３】
この実施形態では、ブラウザ機構６４０Ａ内に新しいマッピング・ローカルＡＰＩ（６４０Ａ）をそれらに対応するＡＰＩ機構６４０Ｂと共に設けることによって、新しい装置やそれらの装置によって実行される新規機能を追加することができる。この実施形態では、アプリケーション・ファイル５００は、これらの各新規機能を直接呼び出しで実行する必要がある。したがって、新規機能を実行するための論理の一部または全部を、アプリケーション・ファイル５００に定義する必要がある。たとえば、サーバでアプリケーション・ファイル５００を作成するアプリケーション・プログラマは、たとえば新しいＪａｖａ（登録商標）アプレットを作成することによってこの新しい論理をコード化する必要がある。
【００７４】
図９に、キオスク制御機構６４０の他の実施形態を示す。この実施形態では、ＩＰＣ６４０Ｉがなく、したがってＡＰＩ機構６４０Ｂはブラウザ機構６４０Ａにマージされる。しかし、ネーム・サーバ機能（やはりマージされる）は使用され、通信ＡＰＩのセットと組み合わされて、ブラウザ機構（６４０Ｂ、６４０）になる。この実施形態では、（アプレットを含む）アプリケーション・ファイル５００がブラウザ１６０によって「除去（ドロップ）」され、ローカル機能６８０が終了するため、持続性が失われる。この実施形態は、持続性が不要な場合、たとえば、ブラウザによって制御される画面以外に必要なキオスク装置がない場合に有用である。
【００７５】
図１０に、キオスク制御機構６４０の他の実施形態を示す。この実施形態には、ＩＰＣ６４０ＩとＡＰＩ機構６４０Ｂがまったくない。この場合は、アプレットがＡＰＩ関数（６４０、６４０Ａ）を直接呼び出し、ＡＰＩ関数がローカルＡＰＩ関数６８０を直接呼び出す。ここでは、ＡＰＩ関数６４０はＪａｖａ（登録商標）　ＡＰＩプログラムである。１つまたは複数の各ローカルＡＰＩ６８０のために特に作成された１つのＪａｖａ（登録商標）　ＡＰＩプログラムがある。ネーム・サーバの場合とは異なり、Ｊａｖａ（登録商標）　ＡＰＩプログラムのうちの少なくとも１つのＪａｖａ（登録商標）　ＡＰＩプログラムが、ローカルＡＰＩ６８０のうちの１つまたは複数のローカルＡＰＩプログラムを制御する論理を持っていなければならない。これらのＪａｖａ（登録商標）　ＡＰＩプログラム６４０は事前定義され、アプリケーション・ファイル５００にとって既知である。この実施形態でも持続性は失われる。
【００７６】
図１１は、キオスクによって行われる実行プロセス７００のフローチャートである。
【００７７】
まず、ブラウザ１６０がアプリケーション・ファイル１７５から（ＨＴＭＬ）ファイル５００を入手する７０５。次に、ブラウザ１６０は、アプリケーション・ファイル５００のタグと内容を解釈する７１０。ブラウザ１６０がローカルＡＰＩ呼び出しに遭遇しない場合７１５、ブラウザは関連する周知の処置を行って７２０、タグを実行する。ブラウザがローカルＡＰＩ呼び出しに遭遇した場合７１５、ブラウザは関連ＡＰＩ関数（６４０または６４０Ａ）を呼び出す７２５。
【００７８】
好ましい一実施形態では、ブラウザ機構６４０Ａはプロセス間通信機能６４０Ｉを介してＡＰＩ機構６４０Ｂにメッセージを伝える７３０。あるいは、前述のようにメッセージ・サーバが使用される。ＡＰＩ機構６４０Ｂはメッセージを受け取り、関連ローカル機能６８０を呼び出す７３５。ＡＰＩ機構６４０Ｂは、プロセス間通信機能６４０Ｉを介してブラウザ機構６４０Ａにローカル機能の実行結果についてのメッセージを伝える７４０。
【００７９】
ブラウザは、画面入力、組込み制御プログラム論理、または外部ブラウザ制御機能６６０を介して制御され、次のＨＴＭＬファイルを要求する。このようにして、ブラウザをローカル・キオスク装置として扱うことができる。したがって、ブラウザを制御して、ローカルＡＰＩ６６０を使用して周知のブラウザ・インタフェース（ＡＰＩ６８１）にアクセスすることによって、ネットワークを介して１つまたは複数のサーバから任意の特定のＨＴＭＬファイルをロードすることができる。ローカルＡＰＩ６６０は、組込み制御プログラム６２０がブラウザ・イン６８１にアクセスすることができるようにするように作成される（上記参照）。
【００８０】
図１２は、ネットワーク上の１つまたは複数のサーバで実行されるサーバ・プロセス８００のフローチャートである。サーバが、ネットワークを介して１つまたは複数のキオスクから要求を受け取る８１０。この要求では、アプリケーション・ファイル１７５のうちのどのアプリケーション・ファイル１７５がキオスクによって選択／アクセスされるかが識別される。この要求は、アプリケーション・ファイルの要求／アクセスを行っているキオスク１００の設置場所も含む。サーバは、要求を受け取ると、要求されたアプリケーション・ファイル１７５をキオスクに送る８２０。アプリケーション・ファイル１７５は、サーバ上の論理によって事前作成または動的に生成することができる。
【００８１】
他の実施形態では、キオスクはプロキシ・サーバ１９５Ａに要求を送る８１０。プロキシ・サーバ１９５Ａは、典型的にはサーバ１９５よりもキオスクの近くに配置される。あるいは、プロキシ・サーバ１９５Ａは、キオスク１００／２００ないのコンピュータ上に配置することもできる。たとえば、サーバ１９５は第１の都市、たとえば本社の所在地に配置され、プロキシ・サーバ１９５Ａは異なる都市にあるキオスクに接続されたＬＡＮ上に配置することができる。プロキシ・サーバ１９５Ａは、事前定義されたスケジュールに従ってキオスクが必要とする多くのアプリケーション・ファイル１７５またはすべてのアプリケーション・ファイル１７５を求める要求をネットワーク１５０を介してサーバに送ることができる。このようにして、キオスクは、アプリケーション・ファイルを必要とするとき、プロキシ・サーバ１９５Ａ上のアプリケーション・ファイル１７５に、より高速に、より高い信頼性をもってアクセスすることができる。さらに、プロキシ・サーバは、ネットワーク上の「オフ・ピーク」時間中にサーバ１９５に対してアプリケーション・ファイル１７５を要求することができる。
【００８２】
他の実施形態では、サーバ（１９５、１９５Ａ）を使用して、サーバ１９５によって識別された１つまたは複数のキオスクに情報を「プッシュ」することができる。たとえば、ステップ８１０で、サーバ１９５で要求が開始される。この開始８１０は、様々な理由で行われるようにすることができる。たとえば、アプリケーションを更新するには、新しいアプリケーション・ファイル１７５を使用して１つまたは複数のキオスクを再構成する必要がある。あるいは、毎日特定の時刻に新しい構成の提供、すなわち毎日午後５時に異なる情報源からのニュースの提供を必要とする場合がある。サーバは、キオスクの定期「点検」を「プッシュ」して、どのキオスクが保守を必要としているかを判断することもできる。
【００８３】
この実施形態の好ましい一実施態様は、キオスクで稼働する「サーバ・プッシュ機能」６８５を使用する。サーバ・プッシュ機能６８５は、ネットワーク１５０に接続され、サーバ１９５からメッセージを受け取ることができる。サーバ・プッシュ機能６８５は、ブラウザ・インタフェース６８１にもアクセスすることができる。サーバ１９５は、ブラウザにサーバ１９５に対して特定のアプリケーション・ファイル５００を要求させる要求を、サーバ・プッシュ機能６８５に送る。
【００８４】
図１３は、組込み制御プログラムがＪａｖａ（登録商標）の代わりにＡｃｔｉｖｅＸ技法を使用する場合の機構を示すブロック図である。ＡｃｔｉｖｅＸ制御オブジェクトは、Ｃ＋＋やＶｉｓｕａｌ　Ｂａｓｉｃ、Ｊａｖａ（登録商標）などの様々なプログラミング言語を使用して実現可能である。ＡｃｔｉｖｅＸオブジェクトは、ＨＴＭＬファイルに組み込むことができる。たとえば以下の通りである。
【００８５】
2004005688.tif 000008
【００８６】
この場合、ブラウザはＡｃｔｉｖｅＸ使用可能でなければならない。すなわち、ＡｃｔｉｖｅＸ技法をサポートしていなければならない。一実施形態では、ブラウザはＭｉｃｒｏｓｏｆｔ　Ｉｎｔｅｒｎｅｔ　Ｅｘｐｌｏｒｅｒである。
【００８７】
アプリケーション・ファイル５００がブラウザ１６０に到着すると、ＨＴＭＬファイルがそのタグと内容に基づいて解釈される９１０。前述のＪａｖａ（登録商標）の場合と同様に、ブラウザは前述のように非ＡＰＩ制御関数を実行する９２０。ブラウザによって実行されたＡＰＩ制御関数９３０がＡＰＩ９４０を直接呼び出す。Ｊａｖａ（登録商標）の場合と同様に、ＡＰＩの最初の部分９４０Ａがプロセス間通信機能９４０Ｉを介してＡＰＩの第２の部分（たとえば６４０Ｂ）と連絡し９４０Ｂ、この第２の部分がローカルＡＰＩ６８０を呼び出す。
【００８８】
ＡｃｔｉｖｅＸと前述のＪａｖａ（登録商標）の場合との相違は、ＡｃｔｉｖｅＸは、Ｃ＋＋やＶｉｓｕａｌ　Ｂａｓｉｃなどの非ネットワーク言語で作成されたオブジェクトを含むことができることである。これらの言語のオブジェクトは、実行可能コードでブラウザにダウンロードされる。したがって、このようなオブジェクトは、同じ言語で作成されたプログラムが行えることはどのようなことでも行うことができるが、Ｊａｖａ（登録商標）アプレットが持っているようなセキュリティ上の制限を持たない。したがって、組込み制御プログラム６２０を、非Ｊａｖａ（登録商標）言語を使用してＡｃｔｉｖｅＸ制御プログラムとして作成した場合、ＡＰＩ関数９４０はキオスク内の任意のどこにでも入れることができる。ＡｃｔｉｖｅＸオブジェクトでＪａｖａ（登録商標）を使用する場合は、やはり前述の機構を使用しなければならない。
【００８９】
図１４から図１７で、前述の番号が付いたボックスは前述と同様の機能を有する。
【００９０】
図１４に、ＩＰＣおよびネーム・サーバ機能を使用するキオスク制御機構９４０の一実施形態を示す。ブラウザ機構９４０Ａは、ブラウザ・ディレクトリに入れる必要がなく、キオスクのメモリ内の任意の場所、たとえばキオスクのシステム・ディレクトリに入れることができるネイティブ言語ＡＰＩである。しかし、ブラウザ機構９４０Ａのパス（すなわち場所）は、アプリケーション・ファイル５００にわかっていなければならない。
【００９１】
図１５は、ＩＰＣ６４０Ｉをマッピング・ローカルＡＰＩと共に使用するキオスク制御機構９４０の他の実施形態を示すブロック図である。図８と同様、ローカルＡＰＩ６８０のうちの１つまたは複数のローカルＡＰＩ６８０のための少なくとも１つのブラウザ機構９４０がある。
【００９２】
図１６に、ＩＰＣ６４０Ｉのないキオスク制御機構９４０の他の実施形態を示す。この場合、ブラウザ機構９４０Ａは図１４で前述したように配置することができる。
【００９３】
図１７に、制御をＪａｖａ（登録商標）で実施しない場合にＡｃｔｉｖｅＸ制御を使用するキオスク制御機構の他の実施形態を示す。この実施形態では、そのような組込みＡｃｔｉｖｅＸ制御がローカルＡＰＩ６８０を直接呼び出すことができるため、９４０はまったく不要である。この場合、実行の持続性は失われる。
【００９４】
図１８に、いわゆるプラグイン技法を使用する他のキオスク制御機構を示す。この場合、好ましい実施形態はＮｅｔｓｃａｐｅ　Ｎａｖｉｇａｔｏｒ　ｖ３．０またはそれ以降のブラウザを使用する。
【００９５】
ここでは、制御機構１０４０は、ブラウザ機構（プラグイン・モジュールおよびそれに付随するＪａｖａ（登録商標）ラッパ）１０４０Ａを含み、このブラウザ機構にアプリケーション・ファイル／ファイル（１７５、５００）内のキオスク制御プログラム（６２０）がアクセスする。プラグイン・モジュール１０４０Ａは、アクセスされると、ブラウザ１６０の一部として実行される。実行プラグイン・モジュール１０４０Ａは、プロセス間通信機能１０４０Ｉを呼び出す。このプロセス間通信機能（ＩＰＣ）１０４０Ｉは、前述のＩＰＣ（６４０Ｉ、９４０Ｉ）と同じものとすることができる。ＩＰＣ１０４０Ｉは、ＡＰＩ機構１０４０Ｂと連絡してローカルＡＰＩ６８０を呼び出す。ＡＰＩ機構１０４０Ｂは、前述の機構（６４０Ｂ、９４０Ｂ）と同じものとすることができる。
【００９６】
この実施形態では、ブラウザ機構１０４０Ａはプラグイン技法（ザン・オリファント（Ｚａｎ　Ｏｌｉｐｈａｎｔ）の「Ｐｒｏｇｒａｍｍｉｎｇ　Ｎｅｔｓｃａｐｅ　Ｐｌｕｇ−ｉｎｓ」（Ｓａｍｓ．ｎｅｔ、１９９６年刊、ＩＳＢＮ１−５７５２１−０９８−３）を参照）によって実施される。プラグイン技法は、ネイティブ・コード・モジュールを使用する。すなわち、ＣまたはＣ＋＋あるいは同様のプログラミング言語を使用して実施され、さらに、より好ましい実施形態ではＪａｖａ（登録商標）ラッパでも実施される。プラグイン１０４０Ａは、ブラウザ１６０によって指定された特別なプラグイン・ディレクトリに入れられる。ＨＴＭＬインタプリタ６１０が、マルチパーパス・インターネット・メール・エクステンション（ＭＩＭＥ）タイプとも呼ばれる組込みファイル内の固有ファイル名拡張子によってそれぞれのプラグイン１０４０Ａを識別する組込みファイル（６２０）に遭遇すると、プラグイン１０４０Ａはブラウザ１６０に動的にロードされる。
【００９７】
組込みキオスク制御プログラム（６２０）は、１）Ｊａｖａ（登録商標）Ｓｃｒｉｐｔ関数、２）Ｊａｖａ（登録商標）アプレット、または３）固有拡張子を持つＭＩＭＥファイルに含まれる事前定義された１組の制御スクリプトとすることができる。
【００９８】
ブラウザ１６０がプラグイン・モジュール１０４０Ａをロードすると、プラグイン１０４０ＡはＨＴＭＬ文書に使用可能になる。すなわち、プラグイン内の関数（プラグイン関数）が組込みプログラム（６２０）、たとえば呼び出すＪａｖａ（登録商標）Ｓｃｒｉｐｔ関数またはＪａｖａ（登録商標）アプレット関数に使用可能になる。これを行う際、キオスクのローカルＡＰＩ６８０を１つまたは複数の対応するプラグイン１０４０Ａを介して所与の組込みプログラム６２０によって制御することができる。言い換えると、プラグイン・モジュール１０４０ＡはＩＰＣ関数１０４０Ｉを呼び出して、対応するＡＰＩ機構１０４０Ｂを介してキオスクのローカルＡＰＩ６８０を呼び出す。
【００９９】
非限定的な３つの例を以下に示す。
【０１００】
例１は、組込みキオスク制御プログラム１０３０としてＪａｖａ（登録商標）Ｓｃｒｉｐｔ関数を、メッセージ受渡機能を備えるプラグイン・モジュール１０４０Ａと共に使用する。
【０１０１】
制御プログラム１０３０を有するアプリケーション・ファイル１７５は、以下の通りである。
【０１０２】
2004005688.tif 000009
【０１０３】
Ｊａｖａ（登録商標）アプレット「ＭＹＡＰＰＬＥＴ．Ｊａｖａ」には以下のようなコードが含まれる。
【０１０４】
2004005688.tif 000010
【０１０５】
Ｊａｖａ（登録商標）ラッパ・ファイルＰｌｕｇｉｎＷｒａｐｐｅｒ．ｊａｖａには、以下のコードが含まれる。
【０１０６】
2004005688.tif 000011
【０１０７】
上記の組込み制御プログラム１０３０に関連づけられたプラグイン・モジュール１０４０Ａは、とえばＣ＋＋などのネイティブ言語コードで実施されたメソッドＳｅｎｄＭｓｇ（）を提供する。
【０１０８】
例２は、メッセージ受渡し機能を備えるプラグイン・モジュール１０４０Ａと共に、組込みキオスク制御プログラム１０３０としてＪａｖａ（登録商標）アプレットを直接使用する。
【０１０９】
制御プログラム１０３０を有するアプリケーション・ファイル１７５は以下の通りである。
【０１１０】
2004005688.tif 000012
【０１１１】
Ｊａｖａ（登録商標）アプレット「ＭＹＡＰＰＬＥＴ．Ｊａｖａ」には以下のようなコードが含まれる。
【０１１２】
2004005688.tif 000013
【０１１３】
Ｊａｖａ（登録商標）ラッパ・ファイルＰｌｕｇｉｎＷｒａｐｐｅｒ．ｊａｖａには以下のコードが含まれる。
2004005688.tif 000014
【０１１４】
例１と同じように、上記のプラグイン組込み制御プログラム１０３０に関連づけられたプラグイン・モジュール１０４０Ａが、たとえばＣ＋＋などのネイティブ言語で実施されたメソッドＳｅｎｄＭｓｇ（）を提供する。
【０１１５】
例３は、１組の事前定義制御スクリプトと、キオスク・ローカルＡＰＩ６８０を制御する対応するプラグイン・モジュール１０４０Ａとを含み、それらのスクリプトを実行してキオスクのローカルＡＰＩ６８０を制御する組込みファイル１０３０を使用する。
【０１１６】
組込みファイル１０３０を有するアプリケーション・ファイル１７５は、以下のようになる。
【０１１７】
2004005688.tif 000015
【０１１８】
プラグイン・モジュール１０４Ａは以下のコードから成ることができる。
2004005688.tif 000016
2004005688.tif 000017
上記の３つのプラグイン関数は、Ｎｅｔｓｃａｐｅブラウザ１６０が備える標準プラグインＡＰＩを実施する。ここでは、ブラウザ１６０が備える他のプラグインＡＰＩは使用されない。
【０１１９】
＜ｅｍｂｅｄ＞タグがＨＴＭＬインタプリタ６１０によって解釈されると、ＭＳＧＰＡＳＳ．ＭＥＴというファイル１０３０がローカル・ディスクにダウンロードされ、それに対応するプラグイン・モジュール１０４０Ａがまだブラウザ１６０にロードされていない場合、そのプラグイン・モジュール１０４０Ａがロードされる。ブラウザ１６０は、ＮＰＰ＿ＮｅｗというプラグインＡＰＩを自動的に呼び出してプラグイン・インスタンスを作成し、ダウンロードされたファイルの名前を持つプラグインＡＰＩであるＮＰＰＳｔｒｅａｍＡｓＦｉｌｅ（）を呼び出して、そのファイルを実行する。必要であれば、ブラウザ１６０はＮＰＰ＿Ｄｅｓｔｒｏｙ（）というプラグインＡＰＩを呼び出してプラグイン・インスタンスを破棄する。
【０１２０】
組込みファイル内の事前定義スクリプトを解釈して実行するためにクラスＫｉｏｓｋＩＰＣと関数ＩｎｔｅｒｐｒｅｔＦｉｌｅ（）を、Ｃ＋＋などのネイティブ言語を使用して実施することができる。この意味で、関数ＩｎｔｅｒｐｒｅｔＦｉｌｅ（）スクリプトが、妥当なパフォーマンスでスクリプトを解釈して必要な関数を実行することができるように実施されている限り、スクリプトをどのようなものにすることができるかについて制限がない。一例は以下の通りである。
【０１２１】
組込みファイル内では、スクリプトは以下のようになる。
【０１２２】
2004005688.tif 000018
【０１２４】
プラグイン・モジュール１０４０Ａは、その機能の特定の対話式制御を実現するために、ブラウザ１６０ウィンドウ内にいくつかのボタンを作成することもできる。たとえば、「ＰｒｉｎｔＣｕｒｒｅｎｔＰａｇｅ」というメッセージを送るＳｅｎｄＭｓｇ（）関数を呼び出すために、「Ｐｒｉｎｔ（プリント）」というボタンを作成し、タッチまたはクリックされるのを待つことができる。＜ｅｍｂｅｄ＞タグは、プラグイン・モジュール１０４０Ａの実施態様に従ってプラグイン・モジュール１０４０Ａを制御するための１組の事前定義パラメータも含むことができる。＜ｅｍｂｅｄ＞タグの使用方法とプラグイン・モジュールの実施方法については、「ＨＴＭＬ　Ｐｕｂｌｉｓｈｉｎｇ　ｆｏｒ　Ｎｅｔｓｃａｐｅ」（スチュアート・ハリス（Ｓｔｕａｒｔ　Ｈａｒｒｉｓ）およびゲイル・キダー（Ｇａｙｌｅ　Ｋｉｄｄｅｒ）著、ＩＳＢＮ１−５６６０４−２８８−７）およびザン・オリファント（Ｚａｎ　Ｏｌｐｈａｎｔ）による上記の書物を参照されたい。
【０１２５】
以下に本発明をまとめて示す。
（１）　ブラウザ手段を含むエージェント・コンピュータを含んで構成される少なくとも１つのキオスク装置に接続され、アプリケーションを要求するための少なくとも１つの構成要求をネットワークを介して前記キオスク装置から受け取るサーバであって、前記サーバは、
アプリケーションに関連づけられ、組込み構成要素ファイルと組込み制御関数とを含んで構成されるＨＴＭＬファイルとして構成され、かつアプリケーション・ファイルとして参照される少なくとも１つの構成セットを格納する手段と、
前記構成要求により指定される前記構成セットを選択し、選択された前記構成セットをキオスク装置へと送信し、前記キオスク装置に対して入力／出力装置または周辺装置を制御するためのブラウザ機構を組み込ませ、前記キオスク装置の少なくとも１つの入力／出力装置または周辺装置を選択的に制御することにより前記キオスク装置が要求したアプリケーションを実行させる通信手段と、
を含むサーバ。
（２）　前記アプリケーション・ファイルが、Ｊａｖａ（登録商標）アプレットまたはＡｃｔｉｖｅＸ制御またはプラグイン制御による遠隔装置制御機能と、遠隔メッセージ表示機能と、ファイル転送機能と、エージェント／クライアント協同機能のうちのいずれか１つを提供する、（１）に記載のサーバ。
（３）　前記組込み制御関数の他、前記キオスク装置の動作状況を判断するシステム監視プログラムを含むＨＴＭＬファイルを格納する、（１）または（２）に記載のサーバ。
（４）　前記動作状況を使用して、前記入力／出力装置または周辺装置に必要な保守と、前記入力／出力装置または周辺装置の保守履歴と、前記構成要求のうちの１つまたは複数の構成要求に応答するために前記ネットワーク上で提供するアプリケーション・ファイルと、前記キオスク装置のユーザに関するマーケティング情報とのうちのいずれか１つまたは複数を判断する、（３）に記載のサーバ。
（５）　前記サーバは、前記動作状況を判断し、前記ネットワーク上で前記キオスク装置にどの構成セットを提供するかを決定する、（３）または（４）に記載のサーバ。
（６）　前記ＨＴＭＬファイルは、ゼロ個または１個以上のハイパーテキスト構成要素ファイルを含む、（１）ないし（５）のいずれか一項に記載のサーバ。
（７）　前記アプリケーションがキオスク装置におけるユーザに合わせてカスタマイズされたカスタマイズ・アプリケーションである、（１）ないし（６）のいずれか一項に記載のサーバ。
（８）　前記アプリケーション・ファイルが、前記少なくとも１つのアプリケーション・ファイルを受信することにより構成されたキオスク装置を介してインターネットへのアクセス機能を提供する、（１）ないし（７）のいずれか一項に記載のサーバ。
（９）　前記インターネットへの前記アクセスが、１つまたは複数の指定されたサーバを介して一人または複数のユーザ間に通信リンクを提供する、（８）に記載のサーバ。
（１０）　前記アプリケーション・ファイルが、電話呼出しと、電子メール送受信と、遠隔会議と、ファクス伝送と、トレーニング・セッションと、前記ネットワーク上の情報の検索と、ウェブ・ベースの協同とのうちのいずれか１つまたは複数の機能を提供する、（１）ないし（９）のいずれか一項に記載のサーバ。
（１１）　前記少なくとも１つのアプリケーション・ファイルを受信することによって構成されたキオスク装置におけるユーザに前記アプリケーション情報を提供する、（１）ないし（１０）のいずれか一項に記載のサーバ。
（１２）　前記少なくとも１つの組込み制御関数が、キオスク装置に対して前記アプリケーション・ファイルのうちの１つまたは複数のアプリケーション・ファイルを要求させるための機能を付与する、（１）ないし（１１）のいずれか一項に記載のサーバ。
（１３）　ネットワークを介して少なくとも１つのキオスク装置に接続されたサーバの動作方法であって、前記動作方法は前記サーバに対し、
前記ネットワークに接続されたキオスク装置に含まれ、ブラウザ手段を含むエージェント・コンピュータからの構成要求を受け取るステップと、
アプリケーションに関連づけられ、組込み構成要素ファイルと、キオスク装置におけるドライバ・プログラムから構成されるドライバ・サブセットを選択的に機能させる組込み制御関数とから構成され、かつＨＴＭＬファイルとして構成されるアプリケーション・ファイルである格納された構成セットを選択して、前記キオスク装置に送るステップと
を実行させ、
前記アプリケーション・ファイルは、Ｊａｖａ（登録商標）アプレットまたはＡｃｔｉｖｅＸ制御またはプラグイン制御を使用して前記キオスク装置にブラウザ機構を組込ませることにより前記キオスク装置の入力／出力装置または周辺装置に対応したドライバ・プログラムを選択的に制御させる
サーバ動作方法。
（１４）　エージェント・コンピュータを含んで構成される１つまたは複数のキオスク装置に接続され、少なくとも１つの構成要求をネットワークを介して前記キオスク装置のエージェント・コンピュータから受け取るサーバ動作方法であって、前記方法はサーバに対して、
前記ネットワークに接続された少なくとも１つのキオスク装置から構成要求を受け取るステップと、
アプリケーションに関連づけられ、組込み構成要素ファイルと組込み制御関数とを有し、かつ前記構成要求により指定され、ＨＴＭＬファイルとして構成されるアプリケーション・ファイルである構成セットを前記キオスク装置に送信するステップと
を実行させ、
前記アプリケーション・ファイルは、前記キオスク装置にブラウザ機構を組込むことにより前記キオスク装置のドライバ・プログラムを選択的に制御させ、前記ドライバ・プログラムにより入力／出力装置または周辺装置を駆動させることにより前記キオスク装置に前記アプリケーションを実行させる、方法。
（１５）　接続を介して少なくとも１つの構成要求を受信する、ネットワークへの１つまたは複数の接続を可能とする手段と、
アプリケーションに関連づけられ、組込み構成要素ファイルと組込み制御関数とを含んで構成されるＨＴＭＬファイルを含み、かつアプリケーション・ファイルとして参照される少なくとも１つの構成セットを格納する手段と、
キオスク装置へと前記構成要求により指定されるアプリケーションのための前記構成セットを通信する手段とを含み、
前記組込制御関数が前記キオスク装置に対してブラウザ機構を組込ませ、ブラウザ機構がドライバ・プログラムのうちの１つまたは複数のドライバ・プログラムから成るドライバ・サブセットを選択的に制御して前記ドライバ・プログラムにより前記入力／出力装置または周辺装置を駆動させ、前記キオスク装置をして前記アプリケーションを実行させるサーバ。
（１６）　前記構成要求が構成する前記キオスク装置のうちの１つまたは複数のキオスク装置から送られる、（１５）に記載のサーバ。
（１７）　前記構成要求がエージェント・コンピュータから送られる、（１６）に記載のサーバ。
（１８）　前記アプリケーション・ファイルが、Ｊａｖａ（登録商標）アプレットまたはＡｃｔｉｖｅＸ制御またはプラグイン制御による遠隔装置制御機能、遠隔メッセージ表示、ファイル転送、およびエージェント／クライアント協同のうちのいずれか１つを含む、（１６）に記載のサーバ。
（１９）　前記組込み制御関数の他、前記キオスク装置のローカル・キオスク機能のうちの少なくとも１つのローカル・キオスク機能の動作状況を判断するシステム監視プログラムを含む、（１５）に記載のサーバ。
（２０）　前記システム監視プログラムにより与えられる前記動作状況を使用して、前記周辺装置のうちの１つまたは複数の装置に必要な保守と、前記周辺装置のうちの少なくとも１つの装置の保守履歴と、前記要求のうちの少なくとも１つの構成要求に応答するために前記ネットワーク上で提供するアプリケーション・ファイルと、一人または複数のキオスク・ユーザに関するマーケティング情報とのうちのいずれか１つまたは複数を判断する、（１９）に記載のサーバ。
（２１）　前記システム監視プログラムにより与えられる前記動作状況によって、前記サーバが前記ネットワーク上でサービスを提供するアプリケーション・ファイルを決定する、（１９）に記載のサーバ。
（２２）　前記アプリケーション・ファイルが、１つまたは複数のＨＴＭＬファイルを含み、前記ＨＴＭＬファイルが、ゼロ個または１個以上のハイパーテキスト構成要素ファイルを含む、（１５）に記載のサーバ。
（２３）　前記アプリケーションが金融アプリケーションである、（１５）に記載のサーバ。
（２４）　前記金融アプリケーションが、ユーザへの金融情報提供、口座開設、現金支払い、勘定支払い、ローンの申込み、預金、モーゲージ支払い、金融に関する助言、固定資産取引、およびエージェントからの支援のうちのいずれか１つまたは複数の機能を含む、（２３）に記載のサーバ。
（２５）　前記アプリケーションがユーザに合わせてカスタマイズされたカスタマイズ・アプリケーションである、（１５）に記載のサーバ。
（２６）　前記アプリケーション・ファイルが、１つまたは複数のキオスク装置を介したインターネットへのアクセスを可能とする機能を提供する、（１５）に記載のサーバ。
（２７）　インターネットへの前記アクセスが、１つまたは複数の指定されたサーバを介して一人または複数の第２のユーザ間に通信リンクを提供する、（２６）に記載のサーバ。
（２８）　前記アプリケーションが通信アプリケーションである、（２７）に記載のサーバ。
（２９）　前記通信アプリケーション・ファイルが、電話呼出し、電子メール送受信、遠隔会議、ファクス伝送、トレーニング・セッション、前記ネットワーク上の情報検索、およびウェブ・ベースの協同のうちのいずれか１つまたは複数の機能を提供する、（２８）に記載のサーバ。
（３０）　前記アプリケーションがサービス・アプリケーションである、（１５）に記載のサーバ。
（３１）　前記サービス・アプリケーションが、広告、サービス、およびサービス料金のうちのいずれか１つまたは複数の機能の提供を含む、（３０）に記載のサーバ。
（３２）　前記アプリケーションが、前記アプリケーション・ファイルを受信することによって構成されたキオスク装置を使用してユーザに情報を提供する、（１５）に記載のサーバ。
（３３）　前記組込み制御関数のうちの少なくとも１つの組込み制御関数が、前記キオスク装置のうちの少なくとも１つのキオスク装置に前記アプリケーション・ファイルのうちの少なくとも１つのアプリケーション・ファイルを要求させる機能を付与する、（１５）に記載のサーバ。
【図面の簡単な説明】
【図１】キオスクの好ましい一実施形態を示すブロック図である。
【図２】キオスクの他の好ましい実施形態を示すブロック図である。
【図３】キオスクにおいて使用されるグラフィカル・ユーザ・インタフェースの例を示すブロック図である。
【図４】ユーザによって選択され、キオスクを構成するために実行される構成セット（アプリケーション・ファイル）を示すブロック図である。
【図５】少なくとも１つの組込み制御プログラムを含む、１つまたは複数のＨＴＭＬファイルおよび付随するハイパーテキスト構成要素ファイルを含む１組のアプリケーション・ファイル（構成セット）を示すブロック図である。
【図６】アプリケーション・ファイルおよびローカルＡＰＩプログラムと対話してキオスクを構成する制御プログラム／関数を実行するキオスクの好ましい一実施形態を示すブロック図である。
【図７】キオスク制御機構の様々な好ましい代替実施形態を示すブロック図である。
【図８】キオスク制御機構の様々な好ましい代替実施形態を示すブロック図である。
【図９】キオスク制御機構の様々な好ましい代替実施形態を示すブロック図である。
【図１０】キオスク制御機構の様々な好ましい代替実施形態を示すブロック図である。
【図１１】ＡＰＩ制御機能を備えた１つのアプリケーション・ファイルを実行する際に行われるステップを示すフローチャートである。
【図１２】典型的なサーバで行われるステップを示すフローチャートである。
【図１３】ＡｃｔｉｖｅＸを使用する好ましいキオスク・ソフトウェア・アーキテクチャを示すブロック図である。
【図１４】ＡｃｔｉｖｅＸを使用するキオスク制御機構の様々な好ましい代替実施形態を示すブロック図である。
【図１５】ＡｃｔｉｖｅＸを使用するキオスク制御機構の様々な好ましい代替実施形態を示すブロック図である。
【図１６】ＡｃｔｉｖｅＸを使用するキオスク制御機構の様々な好ましい代替実施形態を示すブロック図である。
【図１７】ＡｃｔｉｖｅＸを使用するキオスク制御機構の様々な好ましい代替実施形態を示すブロック図である。
【図１８】プラグインを使用する代替キオスク制御実施形態を示すブロック図である。
【符号の説明】
１００…キオスク装置
１０３…タッチ・センシティブ端末
１０９…プリンタ
１０５…表示画面
１１０…コンピュータ
１１１、１１２、１３０…汎用情報読取装置（入力装置または周辺装置）
１１３、１３０…汎用情報書出装置（出力装置または周辺装置）
１２２…電話網
１２３…ＩＳＤＮ
１２５…制御プロセスおよびライブラリ
１５５…ネットワーク・インタフェース
５２０、６２０…組込み制御関数
６４０…キオスク固有制御機構
６４０Ａ…ブラウザ機構
６４０Ｉ…プロセス間通信手段
６４０Ｂ…ＡＰＩ機構
６８０…ローカル・アプリケーション・プログラム・インタフェース（ローカル・キオスクＡＰＩ）
【図１】
2004005688.tif 000019
【図２】
2004005688.tif 000020
【図３】
2004005688.tif 000021
【図４】
2004005688.tif 000022
【図５】
2004005688.tif 000023
【図６】
2004005688.tif 000024
【図７】
2004005688.tif 000025
【図８】
2004005688.tif 000026
【図９】
2004005688.tif 000027
【図１０】
2004005688.tif 000028
【図１１】
2004005688.tif 000029
【図１２】
2004005688.tif 000030
【図１３】
2004005688.tif 000031
【図１４】
2004005688.tif 000032
【図１５】
2004005688.tif 000033
【図１６】
2004005688.tif 000034
【図１７】
2004005688.tif 000035
【図１８】
2004005688.tif 000036