(57)【要約】【課題】  共有ディスプレイと呼ばれる共通情報の表示を制御するシステムおよびプロセスを提供すること。【解決手段】  本システムおよびプロセスを使用すると、１組のモジュールを使用して、様々なソースからデータを受け取り表示する複数モード入力が可能になる。入力モジュールは単一の通信モードのデータを解釈することができ、それに応じて出力としてのメッセージを生成することができる。オプションの変換モジュールは個々のメッセージユニットを取り込み、それらを論理モジュールによって処理できる命令または要求に変換する。論理モジュールは共有ディスプレイ上で実行されるいずれかのアプリケーションを含む。レイアウトモジュールは論理モジュールによる情報出力をレイアウトし、表示モジュールはレイアウトデータを取り込み、その情報を表示装置上に直ちに表示できる形式に変換する。【選択図】  図１
2005222535.tif 000002
【特許請求の範囲】
【請求項１】
汎用コンピュータ装置と、
前記コンピュータ装置で実行可能なプログラムモジュールを含むコンピュータプログラムとを備える、共有ディスプレイを制御するシステムであって、前記コンピュータプログラムは、
各々が異なる通信モダリティを提供し、複数のユーザからの情報をまとめて入力する複数の入力モジュールと、
前記共有ディスプレイ上で実行されるアプリケーションを含み、前記ユーザ入力情報に基づいて前記アプリケーションの前記実行に関する表示命令およびデータを生成する論理モジュールと、
前記論理モジュールからの前記表示命令およびデータに基づいて表示のためにレイアウト命令を生成しかつデータをパッケージ化するレイアウトモジュールと、
前記レイアウトモジュールから前記レイアウト命令およびデータを受け取り、それらを使用して前記共有ディスプレイ装置上にコンテンツを表示する表示モジュールと
を含むことを特徴とするシステム。
【請求項２】
前記コンピュータプログラムは、変換モジュールをさらに含み、前記変換モジュールは前記入力モジュールによって提供される前記ユーザ入力情報を取り込み、前記ユーザ入力情報が前記論理モジュールに認識可能でない形式のときはいつでも、それを前記論理モジュールに認識可能なコマンドまたは要求の形に変換することを特徴とする請求項１に記載のシステム。
【請求項３】
各入力モジュールは変換サブモジュールを含み、前記変換サブモジュールは前記ユーザ入力情報をその入力モジュールに取り込み、それを前記論理モジュールに認識可能なコマンドまたは要求に変換することを特徴とする請求項１に記載のシステム。
【請求項４】
前記論理モジュールは変換サブモジュールを含み、前記変換サブモジュールは前記入力モジュールによって提供される前記ユーザ入力情報を取り込み、それを前記論理モジュールに認識可能なコマンドまたは要求に変換することを特徴とする請求項１に記載のシステム。
【請求項５】
前記入力モジュールの少なくとも１つは出力サブモジュールを含み、前記出力サブモジュールは前記論理モジュールからデータを受け取り、前記データを出力する前記入力モジュールに関連する前記通信モダリティを使用して前記データをユーザに出力することを特徴とする請求項１に記載のシステム。
【請求項６】
前記ユーザは、前記入力モジュールの１つへのメッセージ入力に、前記論理モジュールからどのようなデータを出力するのか、および出力サブモジュールを有するどの入力モジュールから前記データを出力すべきかを指定することを特徴とする請求項５に記載のシステム。
【請求項７】
前記ユーザへの前記データ出力は、（ｉ）画像ファイル、（ｉｉ）映像ファイル、（ｉｉｉ）音声ファイル、（ｉｖ）文書ファイル、または（ｖ）テキストのうちの少なくとも１つであることを特徴とする請求項５に記載のシステム。
【請求項８】
各入力モジュールはタイムスタンプサブモジュールを含み、前記タイムスタンプサブモジュールは、ユーザから受信し前記論理モジュールに提供される各メッセージまたはその一部に前記メッセージが受信された時刻を識別するインジケータを付加し、前記論理モジュールはサブモジュールを含み、前記サブモジュールは前記入力モジュールから受信した各メッセージまたはその一部が前記入力モジュールのタイムスタンプに基づいて前記論理モジュールによって処理されるようにスケジューリングすることを特徴とする請求項１に記載のシステム。
【請求項９】
各入力モジュールは他の入力モジュールの各々と通信し、前記各入力モジュールはタイムスタンプサブモジュールを含み、前記タイムスタンプモジュールはユーザから受信し前記論理モジュールに提供される各メッセージまたはその一部に前記メッセージが受信された時刻を識別するインジケータを付加し、さらに前記各入力モジュールはサブモジュールを含み、前記サブモジュールは他の入力モジュールと協調して、他の入力モジュールが受信した、より早いタイムスタンプを有する任意のメッセージまたはその一部が前記論理モジュールに提供された後で初めて各メッセージまたはその一部を前記論理モジュールに提供することを特徴とする請求項１に記載のシステム。
【請求項１０】
各入力モジュールはタイムスタンプサブモジュールを含み、前記タイムスタンプサブモジュールはユーザから受信し前記変換モジュールに提供される各メッセージまたはその一部に前記メッセージが受信された時刻を識別するインジケータを付加し、前記変換モジュールはサブモジュールを含み、前記サブモジュールは前記入力モジュールから受信した各メッセージまたはその一部をそのタイムスタンプに基づく順序でキューに入れ、前記メッセージまたはその一部を前記順序で前記論理モジュールに提供することを特徴とする請求項２に記載のシステム。
【請求項１１】
各入力モジュールは他の入力モジュールの各々と通信し、前記各入力モジュールはタイムスタンプサブモジュールを含み、前記タイムスタンプサブモジュールはユーザから受信し前記変換モジュールに提供される各メッセージまたはその一部に前記メッセージが受信された時刻を識別するインジケータを付加し、さらに前記各入力モジュールはサブモジュールを含み、前記サブモジュールは他の入力モジュールと協調して、他の入力モジュールが受信した、より早いタイムスタンプを有するメッセージまたはその一部が前記変換モジュールに提供された後で初めて各メッセージまたはその一部を前記変換モジュールに提供することを特徴とする請求項２に記載のシステム。
【請求項１２】
前記入力モジュールに関連する前記通信モダリティは、（ｉ）電子メール、（ｉｉ）ショートメッセージサービス（ＳＭＳ）テキストメッセ−ジング、（ｉｉｉ）インスタントメッセ−ジング（ＩＭ）、（ｉｖ）ＤＴＭＦトーン、（ｖ）キーボード出力信号、（ｖｉ）ポインティングデバイス出力信号、（ｖｉｉ）スチルカメラ出力信号、（ｖｉｉｉ）ビデオカメラ出力信号、および（ｉｘ）音声のうちの少なくとも２つを含むことを特徴とする請求項１に記載のシステム。
【請求項１３】
前記レイアウトおよび表示モジュールは、複数の異なる種類の表示装置をサポートするように汎用化されることを特徴とする請求項１に記載のシステム。
【請求項１４】
前記レイアウトおよび表示モジュールは特定の種類の表示装置をサポートするように専用化され、前記専用化されたレイアウトおよび表示モジュールは他の表示装置の種類をサポートする他の専用化されたレイアウトおよび表示モジュールと交換可能であり、その結果、前記システムで使用される種類の表示装置をサポートする前記レイアウトおよび表示モジュールは、他の表示装置の種類をサポートする他のモジュールの代わりに使用されることを特徴とする請求項２に記載のシステム。
【請求項１５】
前記変換、レイアウト、および表示の各モジュールは、各々が異なるアプリケーションを表す複数の交換可能な論理モジュールをサポートするように汎用化されることを特徴とする請求項２に記載のシステム。
【請求項１６】
前記論理モジュールに関連する前記アプリケーションは、（ｉ）コンピュータゲーム、（ｉｉ）電子掲示板、（ｉｉｉ）投票／選挙ツール、（ｉｖ）ウェブブラウザツール、（ｖ）コンピュータグラフィックプログラム、または（ｖｉ）くじ引きツールのうちの１つを含むことを特徴とする請求項１に記載のシステム。
【請求項１７】
前記論理モジュールによって提供される前記表示命令は、提供された前記データすべてを前記共有ディスプレイ上に表示する十分なスペースがないときはいつでも、どのデータを表示すべきかを指定するデータ優先度を含むことを特徴とする請求項１に記載のシステム。
【請求項１８】
前記論理モジュールによって提供される前記表示命令は、前記共有ディスプレイ上に表示されるデータが表示されたままでいる時間の長さを指定する時間制限を含むことを特徴とする請求項１に記載のシステム。
【請求項１９】
前記論理モジュールによって提供される前記表示命令は、前記データが前記共有ディスプレイ上にレイアウトされる方法に関するハードおよびソフトの制約を含むことを特徴とする請求項１に記載のシステム。
【請求項２０】
前記入力モジュールは、
ユーザから受信したメッセージを所定の構文分析パターンにしたがって個別のメッセージユニットに構文分析するサブモジュールと、
前記論理モジュールに関する前記アプリケーションにとって有用な情報を含むと予め指定されたメッセージユニットだけを前記論理モジュールに転送するサブモジュールと
を含むことを特徴とする請求項１に記載のシステム。
【請求項２１】
前記所定の構文分析プランは、前記メッセージに含まれる、前記ユーザのアイデンティティについてのインジケータを分離して、ユーザのアイデンティティとして指定されるメッセージユニットを形成するように設計されることを特徴とする請求項２０に記載のシステム。
【請求項２２】
前記所定の構文分析プランは、前記メッセージからテキストまたはそれを表す文字列を分離し、ユーザテキストデータとして指定される１つまたは複数のメッセージユニットを形成するように設計されることを特徴とする請求項２０に記載のシステム。
【請求項２３】
前記所定の構文分析プランは、前記メッセージから画像を分離し、ユーザ画像データとして指定される１つまたは複数のメッセージユニットを形成するように設計されることを特徴とする請求項２０に記載のシステム。
【請求項２４】
前記所定の構文分析プランは、前記メッセージから映像を分離し、ユーザ映像データとして指定される１つまたは複数のメッセージユニットを形成するように設計されることを特徴とする請求項２０に記載のシステム。
【請求項２５】
前記所定の構文分析プランは、前記メッセージから音声を分離し、ユーザ音声データとして指定される１つまたは複数のメッセージユニットを形成するように設計されることを特徴とする請求項２０に記載のシステム。
【請求項２６】
前記所定の構文分析プランは、前記メッセージから文書ファイルを分離し、ユーザ文書データとして指定される１つまたは複数のメッセージユニットを形成することを特徴とする請求項２０に記載のシステム。
【請求項２７】
共有ディスプレイを制御するためのコンピュータ実装されるプロセスにおいて、前記プロセスがコンピュータを使用して
複数の入力モダリティを確立して複数のユーザから情報を入力するプロセスアクションであって、前記入力モダリティの少なくとも１つは約１秒を越える待ち時間によって特徴づけられているプロセスアクションと、
前記ユーザ情報を前記複数の入力モダリティから単一のコンピュータプログラムに入力するプロセスアクションであって、前記コンピュータプログラムは前記ユーザ情報を使用して前記共有ディスプレイ上に表示されるコンテンツを制御するプロセスアクションと
を実施することを含むことを特徴とするプロセス。
【請求項２８】
汎用コンピュータ装置と、
共有ディスプレイを表示する少なくとも１つの表示装置と、
前記コンピュータ装置によって実行可能なプログラムモジュールを含むコンピュータプログラムと
を備える共有ディスプレイ制御用のシステムであって、前記コンピュータプログラムは、
各々が異なる入力モダリティを提供し、複数のユーザからの情報をまとめて入力する複数の入力モジュールであって、前記入力モジュールの少なくとも１つは約１秒を越える待ち時間によって特徴づけられるモジュールと、
前記入力モジュールから前記ユーザ情報を受信するアプリケーションモジュールであって、前記情報に基づいて表示のために表示レイアウト命令を生成し、データをパッケージ化するモジュールと、
前記アプリケーションモジュールから前記レイアウト命令およびデータを受信する表示モジュールであって、前記情報およびデータを使用して前記共有ディスプレイにコンテンツを表示するモジュールと
を含むことを特徴とするシステム。
【請求項２９】
前記アプリケーションモジュールは、ユーザ入力情報を保存するサブモジュールを含むことを特徴とする請求項２８に記載のシステム。
【請求項３０】
前記アプリケーションモジュールは、前記共有ディスプレイに表示される各固有の画面を保存するサブモジュールを含むことを特徴とする請求項２８に記載のシステム。
【請求項３１】
前記アプリケーションモジュールは、前記システムに情報を入力する各ユーザのアイデンティティ、ならびに前記情報がいつ入力されたか、およびどのような情報が入力されたかを保存するサブモジュールを含むことを特徴とする請求項２８に記載のシステム。
【請求項３２】
前記入力モジュールのうちの少なくとも１つは、前記論理モジュールからデータを受信するとともにそれをユーザに出力する出力サブモジュールを含み、前記出力サブモジュールは、前記データを求めるユーザ入力された要求に応答して前記データを出力する前記入力モジュールに関連する通信モダリティを使用することを特徴とする請求項２８に記載のシステム。
【請求項３３】
前記アプリケーションモジュールは、データを要求する各ユーザのアイデンティティ、ならびに前記情報がいつ要求されたか、および前記ユーザにどのようなデータが提供されたかを保存するサブモジュールを含むことを特徴とする請求項３２に記載のシステム。
【請求項３４】
前記アプリケーションモジュールは、
前記ユーザによって入力された前記情報が、実行のために特別な許可を必要とすることが予め指定されてたコマンドを含むかどうかを判断するサブモジュールと、
前記情報を入力した前記ユーザを識別し、前記コマンドを送る特別な許可を有するユーザについての予め決められたユーザリストに前記ユーザが載っているかどうかを判断するサブモジュールと、
前記ユーザが前記予め決められたリストに載っている場合にのみ前記コマンドを実行するサブモジュールと
を含むことを特徴とする請求項２８に記載のシステム。
【請求項３５】
共有ディスプレイを制御するためのコンピュータ実行可能な命令を有するコンピュータ読み取り可能な媒体であって、前記コンピュータ実行可能な命令は、
複数の入力モダリティを確立して複数のユーザからの情報を入力する命令であって、前記入力モダリティのうちの少なくとも１つは約１秒を越える待ち時間によって特徴づけられる命令と、
前記ユーザ情報を前記複数の入力モダリティから単一のコンピュータプログラムに入力する命令であって、前記コンピュータプログラムが前記ユーザ情報を使用して前記共有ディスプレイ上に表示されるコンテンツを制御する命令と
を備えることを特徴とする媒体。
【請求項３６】
複数の前記通信モダリティのうちの１つを使用して、前記コンピュータプログラムから少なくとも１人のユーザにデータを出力するための命令をさらに備えることを特徴とする請求項３５に記載のコンピュータ読み取り可能な媒体。
【請求項３７】
データを出力するための前記命令は、前記出力データをすべてのユーザにブロードキャストするためのサブ命令を含むことを特徴とする請求項３６に記載のコンピュータ読み取り可能な媒体。
【請求項３８】
データを出力するための前記命令は、前記データを所定のユーザグループに出力するためのサブ命令を含むことを特徴とする請求項３６に記載のコンピュータ読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は共有ディスプレイの制御に関し、より詳細には、複数の入力モダリティを使用して複数のユーザからの入力に基づいて共有ディスプレイを制御するためのシステムおよびプロセスに関する。
【背景技術】
【０００２】
多数の個人が共通情報の表示を共有する様々なシナリオがあり、この表示はしばしば共有ディスプレイ（ｓｈａｒｅｄ  ｄｉｓｐｌａｙ）と呼ばれる。共有ディスプレイの例には、映画館のスクリーン、会議室のプロジェクションスクリーン、空港のフライト情報キオスク、タイムズスクエアやピカデリーサーカスで見ることができるような大型の屋外ディスプレイなどがある。さらに、会議、集会、会談、デモンストレーションなどには、ほとんど常に聴衆のために大型の共有ディスプレイが伴う。また、特定の小売区分、例えば喫茶店やバーなどでは、共有ディスプレイを使用して顧客へのサービスを提供する。また、より豊富なメディアコンテンツで広告を提供する方法として、広告主は広い公共の空間に共有ディスプレイを提供してきた。このようなシナリオのすべてにおいて、聴衆が共有ディスプレイと対話することが可能ならば、追加の機能が付加され興奮が高まるであろう。残念ながら、今日、これらのディスプレイのほとんどは対話型ではない。すなわち、聴取者は表示されている内容に全く影響を与えることがない。
【０００３】
しかし、この傾向にもいくつかの例外が見られるようになり、その場合共有ディスプレイは対話型である。人々が他の人々と共有したい情報の紙のコピーを掲示していた従来の掲示板に代わり、例えば、電子掲示板が自治体や公共の場所の共用エリアに現れ始めた。基本的に、電子掲示板は大型の表示スクリーンであり、ユーザは通知などを電子的に表示するためにそのスクリーンを使用することができる。情報は、その終端の１つに掲示板を有するネットワークを介してリモートでユーザのデスクトップＰＣから、あるいは掲示板の近くに置かれて直接接続された入力装置を介して掲示板に掲示される。
【０００４】
対話型共有ディスプレイ環境の他の例には、単一表示グループウェア（ｓｉｎｇｌｅ  ｄｉｓｐｌａｙ  ｇｒｏｕｐｗａｒｅ）の使用がある。このシステムは大型の共用ディスプレイ装置を使用し、複数のユーザが同時に、その表示器に出力する共有アプリケーションと対話することが可能になる。通常各ユーザは、コンピュータマウスなどの有線または無線の入力装置を介して共有アプリケーションに入力する。
【０００５】
携帯電話によってユーザ対話を可能にする共有ディスプレイ環境の例は、現在ボーダフォン（Ｖｏｄａｆｏｎｅ）のリスボンのオフィスに置かれているような大型のＬＣＤスクリーンがある。このＬＣＤスクリーンには、ニュースの見出しや短いアニメーションが含まれており、また訪問者が対話型ゲームをするように勧める。より詳細には、ユーザは携帯電話で番号をダイヤルし、次いでＳＭＳ（ショートメッセージサービス）テキストメッセージにより対話して、単独でまたは近くの相手とゲームをするように指示される。他の例は、ロンドンのＢＢＣｉスタジオの通りに面したウィンドウディスプレイであり、そのディスプレイでは、通行人は進行中のインタビューを見聞きし、自分の携帯電話とＳＭＳテキストメッセージングを使用して各自の質問を提出することができる。質問は、スタジオ背後の壁にある大型表示スクリーンに表示される。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、この対話型共有ディスプレイでさえ、ユーザが表示に関するアプリケーションとインタフェースできる方法は非常に限られたものである。例えば、通常単一の入力モードしかサポートされていない。共有ディスプレイへの複数の入力モードを可能にすることにより、より多くの聴衆が参加できることになるのだけれども、このことは残念なことである。さらに、既存の対話型共有ディスプレイ環境は通常個別の解決策として実装されており、その解決策を他の共有ディスプレイアプリケーションに適合させることはできない。
【課題を解決するための手段】
【０００７】
本発明は、様々な入力ソースから受信される入力をそれに応じて処理し、レイアウトし、共有ディスプレイ上に表示することを可能にする共有ディスプレイ制御のためのシステムおよびプロセスに関する。この方法により、様々な種類の入力装置を使用する多数の人々が共有ディスプレイと対話することができる。
【０００８】
より詳細には、本発明は以下のモジュール型アーキテクチャを有するコンピュータプログラムの形で実施される共有ディスプレイ制御のためのシステムおよびプロセスに関する。まず、それぞれが異なる通信モダリティを提供するいくつかの入力モジュールがあり、それを使用して複数のユーザが共有ディスプレイシステムに情報を入力することができる。このように、様々な入力装置を使用することができるので、共有ディスプレイのより多くの視聴者がその表示上で実行されるアプリケーションに参加できるようになる。通信モダリティには、例えば電子メール、ＳＭＳ（ショートメッセージサービス）テキストメッセージング、ＩＭ（インスタントメッセージング）、ＤＴＭＦトーン信号、音声、キーボード出力信号、ポインティングデバイス出力装置、スチルカメラ出力信号、およびビデオカメラ出力信号などがある。通信モダリティによっては、約１秒を越える待ち時間を示すことに留意されたい。本発明は、少なくともその１つが約１秒を越える待ち時間によって特徴づけられる複数の通信モダリティによる入力に対応する、最初の共有ディスプレイ制御システムまたはプロセスであると考えられる。
【０００９】
本システムおよびプロセスのいくつかの実施形態には変換モジュールが含まれ、この変換モジュールによりユーザ入力情報を取り込み、その入力がまだこのモジュールが認識できる形式になっていないときには、その情報を論理モジュールが認識できるコマンドまたは要求の形に変換する。論理モジュールは基本的に共有ディスプレイ上で実行されるアプリケーションであり、ユーザ入力情報に基づいて、そのアプリケーションの実行に関係する表示命令およびデータを生成する。このようなアプリケーションの例には、コンピュータゲーム、電子掲示板、投票／選挙ツール（ｖｏｔｉｎｇ／ｐｏｌｌｉｎｇ  ｔｏｏｌ）、ウェブブラウザツール、コンピュータグラフィックプログラムなどがある。論理モジュールはその出力をレイアウトモジュールに提供し、レイアウトモジュールはその出力に基づいて共有ディスプレイのためのレイアウト命令を生成しデータをパッケージ化する。最後に、表示モジュールはレイアウトモジュールからレイアウト命令とデータを受信し、それを用いて表示装置上にコンテンツを表示する。
【００１０】
上記の説明は、本共有ディスプレイシステムおよびプロセスの一般的なアーキテクチャを示したものである。しかし、アプリケーションによっては有利になり得る、いくつかの変形が可能である。例えば、変換機能を直接論理モジュールに取り込むことが可能であり、それにより個別の変換モジュールが不要になる。さらに、すべての入力モジュールからデータが入力される単一の変換モジュールを備えることは、入力モジュールに関する通信モダリティの多様性に起因して過度に複雑な変換モジュールが必要になる恐れがある。このような場合には、複数の変換モジュールを含み、それぞれを様々な入力モジュールに合わせることもできる。さらに、このように個々の変換モジュールを用いるよりも、変換機能そのものを入力モジュールに取り込むこともできる。特定の通信モダリティによるユーザからの情報入力が、すでに論理モジュールが認識できる形式になっている場合もあることに留意されたい。このような場合には、変換モジュールまたは変換機能は省略することができる。
【００１１】
本システムおよびプロセスの一般的アーキテクチャの有用な変形形態では、１つまたは複数の入力モジュールに出力機能を付加することを含む。この出力サブモジュールは論理モジュールからデータを受け取り、その情報をユーザに出力する。例えばユーザは、入力モジュールの１つへのメッセージ入力に、どのようなデータを論理モジュールから出力すべきか、および出力サブモジュールを有するどの入力モジュールからデータが出力されるべきかを指定することができる。したがってユーザは、必要な場合には、その要求とは別の通信モダリティを介してデータが提供されるように指定することができる。画像ファイル、映像ファイル、音声ファイル、文書ファイル、テキストメッセージなど任意の種類のデータが要求され、また提供され得ることに留意されたい。さらに出力メッセージは、共有ディスプレイの既知の視聴者のすべてが同一のメッセージを受信するブロードキャストモードで生じることも、あるいは視聴者のサブセットが異なるメッセージを受信するプライベートまたはグループモードで生じることもできることに留意されたい。
【００１２】
複数のユーザが、様々な通信モダリティを介して（したがって、入力モジュールのなかの様々なモジュールを介して）同時にシステムに入力を提供できるので、衝突またはデータ損失の可能性がある。これを避けるために、各メッセージにタイムスタンプを付加してから変換または論理モジュールに提供するよう入力モジュールに要求することができる。次いで、変換または論理モジュールは、入力モジュールからの入力データをキューに入れ、それらをタイムスタンプに基づいて処理する。この問題を処理する他の方法として、上記の一般的な方法に修正を加えて、入力モジュール間の相互通信を可能にする方法もある。この種のシステムにおいても、ユーザからの入力データには、やはりタイムスタンプが押されている。しかしこの場合、各入力モジュールは他の入力モジュールと調整して、他の入力モジュールによって受信された、より早いタイムスタンプを有するメッセージがある場合はそれらがまず提供された後でのみ、各メッセージを変換または論理モジュールに提供する。
【００１３】
本共有ディスプレイシステムおよびプロセスの各モジュールは、論理モジュールを除いて、様々な異なるアプリケーションで動作するように汎用化できる。このようにして、様々なアプリケーションに関連する論理モジュールは、他のモジュールを変更することなく単純にスワップインおよびスワップアウトすることができる。さらに、レイアウトおよび表示モジュールは、様々な異なる表示装置に対して動作するように汎用化できる。しかし、様々なアプリケーションや表示装置を処理できるようにモジュールを多用途化することは、その多用途性を必要としない状況では、そのモジュールを過度に複雑かつ高価にすることになる。したがって、他の手法を取ることもできる。基本的には、各モジュールを特定の種類のアプリケーションまたは表示装置に特化させることができる。他のアプリケーションまたは表示装置のサポートが必要な場合には、他のモジュールが所望のアプリケーションまたは表示装置を処理できるように、その特化されたモジュールはスワップアウトされる。
【００１４】
入力モジュールは、入力メッセージを変換または論理モジュールに提供する前に、入力メッセージから所望の情報を抽出するように構成することができる。このことは入力モジュールに、ユーザから受信したメッセージを予め所定の定められた構文分析パターンにしたがって個別のメッセージユニットに構文分析させることによって行われる。使用される特定のパターンは通信モダリティ、あるいはアプリケーションを実行するためにどのような情報が必要かに依存する。共有ディスプレイ上で実行されるアプリケーションにとって有用な情報を含むと指定されたメッセージユニットだけが論理モジュールに転送される。このようにして構文分析される情報の例には、ユーザのアイデンティティ（ｉｄｅｎｔｉｔｙ）がある。他の例として、テキスト、画像データ、映像データ、音声データ、文書などがある。
【００１５】
論理モジュールもまた、アプリケーションの実行に加えて情報を処理するように構成することができる。この保存された情報は、特にフィードバックやデータマイニングの目的で使用することができる。例えば、ユーザによって入力された情報は、ユーザのアイデンティティ、およびいつ情報が提供されたかなどとともに保存することができる。同様に、ユーザがシステムに情報を要求した場合は、どのような情報が要求されたか、誰によって、いつ、およびどのようなデータが実際にユーザに提供されたかなどを保存することができる。さらに、共有ディスプレイ上に示された各固有の画面を保存することもできる。
【００１６】
本共有ディスプレイシステムおよびプロセスに実装できる他の有用な機能として、論理モジュールに優先順位付きの命令を提供させることができ、この優先順位は、共有ディスプレイ上に提供されたすべての情報を表示する十分なスペースがないときはいつも、他のデータの前にどのデータを表示すべきかを指示する。さらに論理モジュールは、データが共有ディスプレイ上に表示される時間の長さを指定した時間制限付きの表示命令を提供することもでき、また、データを共有ディスプレイ上にレイアウトする方法に関するハードとソフトの制約付きの命令を提供することもできる。さらに論理モジュールは、共有ディスプレイ上で実行されるアプリケーションの設定と動作に影響を与える、ユーザからのコマンドを受け取るように構成することもできる。この種のコマンドは、そのユーザにアプリケーションを変更する権限が与えられていることが分かった場合にだけ処理される。この機能は、まずユーザによって入力された情報が、実行のために特別な許可を必要とするよう指示されたコマンドを含むかどうかを判断することによって実施できる。含んでいる場合には、情報を入力したユーザが識別され、そのようなコマンドを送る特別な許可を有するユーザの予め決められたリストにそのユーザが載っているかどうかが判断される。このコマンドは、そのユーザがリストに載っている場合にだけ実行される。
【００１７】
上記の利点に加え、本発明の他の利点は、以下の詳細な説明を添付の図面と併せて読むことによって明らかになるであろう。
【００１８】
本発明に固有の特徴、態様、および利点は、以下の説明、添付の特許請求の範囲、および添付の図面を併せて考慮することでよりよく理解されよう。
【発明を実施するための最良の形態】
【００１９】
本発明の好ましい実施形態に関する以下の説明では、本明細書の一部をなす添付の図面を参照するが、これらの図面には本発明を実施できる特定の実施形態が例示のために示されている。本発明の範囲を逸脱することなく他の実施形態が使用できること、および構造的変更を実施し得ることを理解されたい。
【００２０】
１．０  コンピューティング環境
本発明の好ましい実施形態を説明する前に、本発明を実施できる適切なコンピューティング環境に関して簡潔で一般的な説明を行う。図１は、適切なコンピューティングシステム環境１００の例を示す。このコンピューティングシステム環境１００は、適切なコンピューティング環境の一例に過ぎず、本発明の使用または機能の範囲に関するどのような制限をも示唆することを意図するものではない。このコンピューティング環境１００は、例示的動作環境１００に示されたコンポーネントのいずれか、あるいはその組合せにまったく依存するものでもなければ、それらを必要とするものでもないものと解釈されたい。
【００２１】
本発明は、他の多くの汎用または専用コンピューティングシステム環境または構成でも動作可能である。本発明での使用に適する周知のコンピューティングシステム、環境、および／または構成の例には、これに限定されるものではないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップ装置、マルチプロセッサシステム、マイクロプロセッサベースシステム、セットトップボックス、プログラム可能な家庭用電化製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたは装置のいずれかを含む分散コンピューティング環境などがある。
【００２２】
本発明は、コンピュータによって実行される、プログラムモジュールなどのコンピュータ実行可能な命令の一般的なコンテクストの中で説明することができる。一般にプログラムモジュールには、特定のタスクを実施するかまたは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。本発明は、タスクが通信ネットワークを介してリンクされたリモートの処理装置によって実行される分散コンピューティング環境でも実施することができる。分散コンピューティング環境では、プログラムモジュールはローカルおよびリモートの両方のコンピュータ記憶媒体、例えばメモリ記憶装置などに置くことができる。
【００２３】
図１を参照すると、本発明を実装するための例示的システムには、コンピュータ１１０の形の汎用コンピュータ装置が含まれている。コンピュータ１１０の各コンポーネントは、これに限られるものではないが、処理装置１２０、システムメモリ１３０、ならびにシステムメモリを含む様々なシステムコンポーネントを処理装置１２０に接続するシステムバス１２１を含むことができる。システムバス１２１には、様々なバスアーキテクチャのいずれかを使用するメモリバスまたはメモリコントローラ、ペリフェラルバス、ローカルバスなどを含む何種類かのバス構造のうちのいずれかを使用することができる。例として、このようなアーキテクチャには、これに限定されるものではないが、ＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＭＣＡ（Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＥＩＳＡ（Ｅｎｈａｎｃｅｄ  ＩＳＡ）バス、ＶＥＳＡ（Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ）ローカルバス、メザニン（Ｍｅｚｚａｎｉｎｅ）バスとも呼ばれるＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスなどがある。
【００２４】
通常コンピュータ１１０は、様々なコンピュータ読み取り可能な媒体を含む。コンピュータ読み取り可能な媒体には、コンピュータ１１０によりアクセスできる任意の使用可能な媒体であってよく、それらには揮発性および不揮発性の媒体、リムーバブルおよび非リムーバブルの媒体がともに含まれる。例として、限定の意味ではなく、コンピュータ読み取り可能な媒体には、コンピュータ記憶媒体および通信媒体を含めることができる。コンピュータ記憶媒体は、コンピュータ読み取り可能な命令、データ構造、プログラムモジュールなどの情報を格納するためのいずれかの方法または技術で実装された、揮発性および不揮発性、リムーバブルおよび非リムーバブルの媒体をともに含む。コンピュータ記憶媒体には、これに限定されるものではないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ，フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、ＤＶＤ（ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋｓ）または他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶装置、または所望の情報を格納するために使用できかつコンピュータ１１０によりアクセスできる任意の他の媒体が含まれる。通常通信媒体は、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、またはその他のデータを、搬送波やその他のトランスポート機構などの変調されたデータ信号中に具現化するものであり、任意の情報配信媒体を含む。「変調されたデータ信号」という用語は、信号中に情報をエンコードするような方法で設定または変更された１つまたは複数の特性を有する信号を意味する。限定の意味ではなく例として、通信媒体には、有線ネットワーク、直接配線接続などの有線媒体、ならびに音響、ＲＦ、赤外線または他の無線媒体などの無線媒体が含まれる。上記の任意の組合せもまた、コンピュータ読み取り可能な媒体の範囲に含まれるものとする。
【００２５】
システムメモリ１３０は、ＲＯＭ（読出し専用メモリ）１３１やＲＡＭ（ランダムアクセスメモリ）１３２など、揮発性および／または不揮発性メモリの形のコンピュータ記憶媒体を含む。ＢＩＯＳ（基本入出力システム）１３３は、起動時などに、コンピュータ１１０内の構成要素間の情報伝送を支援する基本ルーチンを含むもので、通常ＲＯＭ１３１に格納されている。ＲＡＭ１３２は通常、処理ユニット１２０によって即時にアクセス可能かつ／または現在操作中の、データおよび／またはプログラムモジュールを含む。例として、限定の意味ではなく、図１にはオペレーティングシステム１３４、アプリケーションプログラム１３５、その他のプログラムモジュール１３６、およびプログラムデータ１３７が示されている。
【００２６】
コンピュータ１１０は、他のリムーバブル／非リムーバブル、揮発性／不揮発性のコンピュータ記憶媒体を含むことができる。例として図１には、非リムーバブルかつ不揮発性の磁気媒体からの読出しまたはそこへの書込みを行うハードディスクドライブ１４１、リムーバブルかつ不揮発性の磁気ディスク１５２からの読出しまたはそこへの書込みを行う磁気ディスクドライブ１５１、およびＣＤ−ＲＯＭその他の光メディアを含むリムーバブルかつ不揮発性の光ディスク１５６からの読出しまたはそこへの書込みを行う光ディスクドライブ１５５が示されている。例示的動作環境で使用できる、他のリムーバブル／非リムーバブル、かつ揮発性／不揮発性のコンピュータ記憶媒体には、限定の意味ではなく、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、半導体ＲＡＭ、半導体ＲＯＭなどがある。ハードディスクドライブ１４１は通常、インタフェース１４０などの非リムーバブルメモリインタフェースを介してシステムバス１２１に接続され、磁気ディスクドライブ１５１および光ディスクドライブ１５５は通常、インタフェース１５０などのリムーバブルメモリインタフェースによってシステムバス１２１に接続される。
【００２７】
図１に示し上述したドライブおよびそれに関連するコンピュータ記憶媒体は、コンピュータ読み取り可能な命令の記憶、データ構造、プログラムモジュール、その他のデータなどをコンピュータ１１０に提供する。図１で、例えばハードディスクドライブ１４１は、オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７を格納するように示されている。これらの各コンポーネントは、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７と同一であっても異なっていてもよいことに留意されたい。オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７は、この図では、少なくともそれらが異なるコピーであることを示すために異なる番号が与えられている。ユーザは、キーボード１６２や、一般にマウス、トラックボール、またはタッチパッドと呼ばれるポインティングデバイス１６１などの入力装置を介してコンピュータ１１０にコマンドまたは情報を入力することができる。他の入力装置（図示せず）として、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ（ｓａｔｅｌｌｉｔｅ  ｄｉｓｈ）、スキャナなどが挙げられる。これらおよび他の入力装置はしばしば、システムバス１２１に接続されたユーザ入力インタフェース１６０を介して処理ユニット１２０に接続されるが、パラレルポート、ゲームポート、またはＵＳＢ（ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ）など、他のインタフェースやバス構造によって接続することもできる。モニタ１９１や他の種類の表示装置もまた、ビデオインタフェース１９０などのインタフェースを介してシステムバス１２１に接続される。コンピュータは、モニタ以外にスピーカ１９７や、プリンタ１９６などの周辺出力装置を含むこともでき、それらは例えば出力ペリフェラルインタフェース１９５を介して接続される。一連の画像１９３を取り込むことができる（デジタル／電子スチルカメラもしくはビデオカメラ、またはフィルム／写真スキャナなどの）カメラ１９２を、パーソナルコンピュータ１１０の入力装置として含めることができる。さらに、カメラは１台しか図示されていないが、パーソナルコンピュータ１１０の入力装置として複数のカメラを含めることもできる。１つまたは複数のカメラからの画像１９３は、適切なカメラインタフェース１９４を介してコンピュータ１１０に入力される。このインタフェース１９４は、システムバス１２１に接続され、それによって各画像がＲＡＭ１３２、またはコンピュータ１１０に関連する他のデータ記憶装置の１つに送られ格納される。しかし、カメラ１９２の使用を必要とせずに、前述のコンピュータ読み取り可能な媒体のいずれかから同様に画像データをコンピュータ１１０に入力できることに留意されたい。
【００２８】
コンピュータ１１０は、１つまたは複数のリモートコンピュータ、例えばリモートコンピュータ１８０などへの論理接続を使用してネットワーク環境で動作することができる。リモートコンピュータ１８０は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピア装置その他の一般的なネットワークノードなどであってよく、図１には１つのメモリ記憶装置１８１だけしか示されていないが、リモートコンピュータは通常、コンピュータ１１０に関連して上述した各要素の多く、またはすべてを含む。図１に示された論理接続には、ＬＡＮ（ローカルエリアネットワーク）１７１およびＷＡＮ（ワイドエリアネットワーク）１７３が含まれているが、他のネットワークを含めることもできる。このようなネットワーク環境は、オフィス、企業規模のコンピュータネットワーク、イントラネット、インターネットなどで一般的なものである。
【００２９】
ＬＡＮネットワーク環境で使用されるとき、コンピュータ１１０はネットワークインタフェースまたはアダプタ１７０を介してＬＡＮ１７１に接続される。ＷＡＮネットワーク環境で使用されるとき、コンピュータ１１０は通常、インターネットなどのＷＡＮ１７３を介して通信を確立するためのモデム１７２、その他の手段を含む。モデム１７２は、内蔵にすることも外付けにすることもできるが、ユーザ入力インタフェース１６０、その他の適切な機構を介してシステムバス１２１に接続することができる。ネットワーク環境では、コンピュータ１１０に関連して示されているプログラムモジュールまたはその一部を、リモートのメモリ記憶装置に格納することができる。例として、限定の意味ではなく、図１にはリモートのアプリケーションプログラム１８５がメモリ装置１８１に存在するように示されている。図示されたネットワーク接続は例示的なものであり、各コンピュータ間の通信リンクを確立するための他の手段を使用できることは理解されよう。
【００３０】
２．０  共有ディスプレイを制御するためのシステムおよびプロセス
ここまで例示的動作環境について論じてきたが、この項目の残りの部分では本発明を実施するためのプログラムモジュールの説明を行う。一般に、本発明によるシステムおよびプロセスには共有ディスプレイの制御が含まれる。通常、この処理は図２の上位レベルの流れ図に示した、以下のプロセス動作によって行われる。すなわち、
ａ）  複数のユーザからの入力情報に対して、複数の入力モダリティ（ｍｏｄａｌｉｔｙ）を確立すること（プロセス動作２００）、および
ｂ）  複数の入力モダリティから、ユーザ情報を使用して共有ディスプレイ上に表示されるコンテンツを制御する単一のコンピュータプログラムにユーザ情報を入力すること（プロセス動作２０２）。
【００３１】
２．１  一般的アーキテクチャ
前述のプロセスを実装するために使用される固有のアーキテクチャの一実施形態を図３に示す。この実施形態では、入力３０２は様々な入力装置３０４から一群の入力モジュール３００へと受信され、各入力モジュールで様々な種類の通信モダリティが処理される。入力モジュール３００は入力３０２を処理し、処理されたデータを変換モジュール３０６に提供する。変換モジュールは、論理モジュール３０８に入力するためのデータを順に準備する。次いで論理モジュールは、アプリケーションの実行に関する表示命令およびデータをレイアウトモジュール３１０に提供する。変換、論理、およびレイアウトの各モジュール３０６、３０８、３１０をまとめてアプリケーションモジュール３１２と呼ぶことができる。レイアウトモジュール３１０は、レイアウト命令およびパッケージデータを表示モジュール３１４に送り、表示モジュールが表示装置３１６に表示されるコンテンツを制御する。上記の各装置およびプログラムモジュールについて以下のセクションでより詳細に説明する。
【００３２】
２．１．１  入力装置およびモジュール
一般に、各入力モジュールは単一の通信モードからのデータを解釈するように設計される。したがって、各入力モジュールは特定の入力モダリティを介して通信する任意の入力装置からの入力を受け取るように設計される。サポートされる通信モードの例には、これに限定されるわけではないが、電子メール、ＳＭＳテキストメッセージング、ＩＭ（インスタントメッセージング）、ＤＴＭＦトーン、音声、キーボード入力、マウス／ジョイスティックまたは他の任意のポインティング装置入力、カメラベースの入力、ビデオカメラ入力などがある。したがって関連する入力装置としては、ハンドヘルドもしくはラップトップ／ノートブック型コンピュータ装置など前述のコンピュータ装置、ならびにＰＤＡ（ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ）装置、携帯電話機、標準電話機、デジタルカメラ、ビデオカメラなどの各装置のうちのいずれか、あるいは前述の各装置の２つ以上の組合せを含むことができる。
【００３３】
各入力モジュールは、その入力チャネルを介して入力されるデータを読み出す。このデータには、テキスト、画像、映像、音声、文書などのファイル、ならびに他の電子媒体を含めることができる。一実施形態では、データはコンテンツからなる個々のメッセージユニットに構文分析され、次いでこのメッセージユニットは（ユーザのテキスト、画像、映像、音声、または文書データとして）変換モジュールに渡される。個々の分析パターンは、おもに入力の種類、および共有ディスプレイの制御にどのような情報が必要とされているかに依存する。例えば、電子メール中のテキストが共有ディスプレイに表示される電子メール入力の場合は、「件名（ｓｕｂｊｅｃｔ）」ラインにそのテキストを含めるように指示されることがある。この場合構文分析は、件名ラインのコンテンツを個別のメッセージユニット（または、サイズに応じた複数のユニット）として抽出することを含む。入力を提供する人の身元を取り込むことが、表示または後で説明する他の目的のために重要になることもある。したがって、電子メール入力の場合は、「送り元（Ｆｒｏｍ）」ラインの内容を構文分析してメッセージユニットを生成することができる。
【００３４】
２．１．２  変換モジュール
変換モジュールは、入力モジュールによって提供された個々のメッセージユニットを取り込み、それらを論理モジュールで処理できるコマンドまたは要求に変換する。場合によっては、変換モジュールが不要であること、すなわち変換モジュール自体は何の処理も行わず、単に入ってきたメッセージユニットをそのまま論理モジュールに送ることもある。例えば、入力が電子メールであり、表示すべきテキストが件名ラインに含まれている前述の場合には、構文分析されたテキストを論理モジュールに直接転送することができる。しかし、他のアプリケーションでは変換が必要なこともある。例えば、入力モダリティがＳＭＳテキストメッセージであると想定すると、このメッセージはそのままの形では通常、そのメッセージを作成した装置（例えば、携帯電話など）のキーパッドを使用して生成された数字または記号の列である。このような場合は、変換モジュールを使用してその数字／記号列を論理モジュールで処理でき、最終的には共有ディスプレイ上に表示できるテキストの形に変換する。
【００３５】
２．１．３  論理モジュール
論理モジュールは、共有ディスプレイ上で走る任意のアプリケーションで構成される。このようなアプリケーションの例には、ゲーム、掲示板、投票ツール、ウェブブラウザツール、グラフィック生成アプリケーションなどがある。複数の人々から受信した非同期入力が意味をなすように各ソフトウェアアプリケーションが修正される限り、論理モジュールには、ほぼどのような種類のソフトウェアアプリケーションでも実装することができる。したがって、例えばソリテアを、１人のプレーヤがゲームを完全にコントロールするのではなく、部屋中の人達が協力してそのゲームで遊べるように修正することができる。論理モジュールは、データおよび、オプションの付属情報として、データの優先度、期限、レイアウト指示、および論理モジュールのアプリケーションに対して適切であるようにどのようにデータを表示すべきかに関する別のヒントを割り当てる付属情報をレイアウトモジュールに出力する。
【００３６】
２．１．４  レイアウトモジュール
レイアウトモジュールは、論理モジュールによって出力された情報を、そのデータの付属情報として届いた任意のハードまたはソフトのレイアウト制約を満足させるように試みながらレイアウトを行う。最も単純な場合には、データはその全体が画面に収まるように拡大縮小され、単にラスタースキャンの順に表示される。より複雑なレイアウトでは、優先度の高いアイテムのためにいくつかのデータが隠されることがあり、あるいは、レイアウトが、論理モジュールによって実行される特定のアプリケーションにとって意味をなすように固定されることもある。
【００３７】
変換モジュールと同様に、場合によってはレイアウトモジュールが不要であること、すなわち、レイアウトモジュールは処理を行わず、論理モジュールから出力された情報を単に表示モジュールに渡すだけのこともあることに留意されたい。例えば、論理モジュールがある種のグラフィックエンジンであり、レイアウトモジュールの機能をすでに実施済みであるとする。このような場合、レイアウトモジュールは不要であり、省略するかまたは論理モジュールの出力をそのまま転送させるようにすることができる。
【００３８】
２．１．５  表示モジュール
表示モジュールはレイアウト情報および他のデータ（例えば、テキスト、画像など）を取得し、使用する表示装置に直ちに表示できる形にそれらのデータを変換する。表示モジュールは、単純なテキスト表示やＨＴＭＬページから、フル３Ｄの、映像と組み合わせた動的要素まで任意の性能レベルのグラフィクスをサポートできる。
【００３９】
２．１．６  表示装置
本共有ディスプレイシステムおよびプロセスを実装するために、従来からある任意の表示装置を使用することができ、限定されるものではないが、ＣＲＴモニタ、ＬＣＤモニタ、プラズマスクリーンモニタ、プロジェクタおよび付随する映写スクリーン、電子黒板、平面カリグラフィック（ｃａｌｌｉｇｒａｐｈｉｃ）出力表示器（レーザライタ（ｌａｓｅｒ  ｗｒｉｔｅｒ））、ならびにその他標準の四角形の表示器に限定されない表示装置などが使用できる。好ましい一実施形態では、並外れたサイズの表示器、例えばこれには限定されないが、ニューヨーク市のタイムズスクエアなど大都市のたまり場に見られる大型のＬＥＤ表示器や映画館用スクリーンなどを使用する。本発明では、共有ディスプレイとは、一般に任意の表示装置上で複数のユーザが見るものと定義する。言い換えると、すべてのユーザが任意の時点で同一の画像を見ることになる。通常この共有ディスプレイは、必須ではないが同一の場所にある。正確に言うと、異なる場所にある複数のディスプレイが、すべて同一の論理モジュールへのリンクを介して制御されていることもある。例えば、共有ディスプレイが多くのスポーツバーの表示装置上に同時に表示された取るに足らないゲームについてのものだとすると、顧客は、全国的に互いに競い合うことができる。さらに共有ディスプレイは、一般にユーザが単一の共有ディスプレイデバイス上で見るものであるが、このことも本発明の要件ではない。例えば、複数の表示装置が同一の空間内にあり、それぞれが任意の時間に同一の画像を表示していることもある。
【００４０】
２．２  代替アーキテクチャ
上記の一般的アーキテクチャは、所定の機能を実施するための個別のモジュールを含むという点で、本共有ディスプレイシステムおよびプロセスを実装するために使用される汎用化されたタイプのアーキテクチャを意味する。しかし、本発明は上記の一般的アーキテクチャに限定されることを意図したものではない。むしろ、特定のアプリケーションに適切なものとして代替形式のアーキテクチャを使用することができる。
【００４１】
２．２．１  モジュール型アーキテクチャ
前述の一般的アーキテクチャは、本共有ディスプレイシステムをモジュール化するのに適しており、したがって、各モジュールは様々なアプリケーションを処理するために、残りのモジュールに大きな影響を与えることなくスワップアウトすることができる。例えば、入力、変換、レイアウト、表示の各モジュールは汎用化（ｇｅｎｅｒｉｃ）することが可能であり、したがってこれらのモジュールは、ユーザデータを入力し共有ディスプレイを制御するために、様々な論理モジュールによって使用することができる。このようにして論理モジュールは、要求どおり異なるアプリケーションごとにスワップアウトすることができる。例えば、電子掲示板、ゲーム、オークション、投票／得票、共有ブラウジング、芸術的な表示、ならびにその他の各アプリケーションを実行するための論理モジュールは、他のモジュールを変更することを必要とせずにスワップアウトさせて共有ディスプレイを制御することができる。
【００４２】
同様に、先に論じたように、レイアウトおよび表示モジュールを汎用化して、様々な異なる表示装置上の表示を生成できるようにすることが望ましいこともある一方、多様な種類の表示装置が使用できることを考えると、このことは必ずしも現実的ではないこともある。ある代替実施形態では、レイアウトおよび表示モジュールを交換可能にして、異なる表示器ごとにそれらを交換できるようにしている。したがって、このシステムおよびプロセスは、どのような種類であれ、既存の表示装置に適合するようにカスタマイズすることができる。その上、レイアウトおよび表示モジュールを交換可能にして、同一表示に関して異なる表現を生成することもできる。例えばこの機能は、比較的粗い画像を高速に作成するレイアウトおよび表示モジュールを使用して、開発用の「ドラフトモード」の表示を生成するのに有利である。開発が完了した時点で、このレイアウトおよび表示モジュールをより高性能のグラフィックプログラムと交換することによって、たとえ速度は遅くても、高解像度画像、複雑な芸術やグラフィックデザインのレンダリングを可能にする。
【００４３】
さらに、アプリケーションによっては、入力データの変換、論理モジュールによって実行される処理、およびレイアウト要件が非常に特異で相互依存性が強いため、単純に論理モジュールを交換することができないこともある。このような場合には、入力モジュールと表示モジュールはそのままにしておき、変換、論理、およびレイアウトの各モジュールを、この説明では「アプリケーションモジュール」と呼ぶ、単一のユニットに合体することもできる。このアプリケーションモジュールを交換して、様々な表示シナリオを可能にすることができる。
【００４４】
２．２．２  削除／追加／合体モジュールを含むアーキテクチャ
本共有ディスプレイシステムおよびプロセスを実装する一般的アーキテクチャの他の変形形態には、モジュールを削除すること、追加すること、および／または合体することが含まれる。例えば、先の説明で示したように、アプリケーションによっては説明した機能のいくつかを必要としないため、関連するモジュールを削除することができる。さらに、追加のモジュールを付加することもできる。例えば、一般的アーキテクチャで説明した、すべての入力モードを処理する単一の変換モジュールの代わりに、各入力モードごとに個別の変換モジュールを使用することができる。さらに、モジュールを他のモジュールと合体して、組合せモジュールを生成することもできる。例えば、単一の入力タイプのための入力モジュールと変換モジュールを単一のモジュールに合体することもできるし、変換機能を論理モジュールの一部として処理することもできる。
【００４５】
２．２．３  入／出力モジュールを使用するアーキテクチャ
一般的アーキテクチャの他の変形形態では、上記の入力モジュールに出力機能を追加して、ユーザとのリターン通信（ｒｅｔｕｒｎ  ｃｏｍｍｕｎｉｃａｔｉｏｎ）を容易にする入出力（Ｉ／Ｏ）モジュールが形成する。この変形形態では、入出力モジュールは、このモジュールに関する通信モダリティによって提供されるユーザからの入力を受信し、ならびに（そのモダリティが双方向通信を可能にすると想定される場合には）同一のモダリティによって、またはユーザが望む場合にはサポートされている別のモダリティによって情報を返送する。これにより論理モジュールは、適切な入出力モジュールを介してプライベートメッセージを個人に送信することが可能になり、それによって、システムと個々のユーザとの間の「帯域外（ｏｕｔ−ｏｆ−ｂａｎｄ）」の対話を提供する。例えばユーザは、表示用のテキストをどのように入力するかについての指示、あるいは共有ディスプレイ上で実行されるゲームでどのように遊ぶかに関する指示などを要求することができる。さらにユーザは、提供される画像、ビデオ、オーディオ、または文書の各ファイルを要求することもできる。
【００４６】
本共有ディスプレイシステムは、入力だけのモジュールおよび入出力モジュールの双方を含むように構成することができることに留意されたい。したがって、ある通信モダリティに対しては入力だけが可能であり、一方入出力モジュールに関連するモダリティでは、入力および出力の双方が可能である。この混成モジュール構成は、基本的に入力だけの装置であるキーボード、コンピュータマウス、ジョイスティックなどユーザにフィードバックを提供できないいくつかのモダリティを許容する。
【００４７】
２．２．４  調整された入力が可能なアーキテクチャ
本共有ディスプレイシステムおよびプロセスを使用して実装される潜在的アプリケーションのいくつかでは、データの衝突および損失を避けるために、複数ユーザからの入力のタイミングを調整する必要がある。このタスクを前述の一般的アーキテクチャを使用して実施する１つの方法は、すべてのユーザ入力に、入力（および／または入出力）モジュールによってメッセージが到着した時刻のタイムスタンプを押すように構成することである。次に変換モジュールには、入力のタイムスタンプに基づいて、論理モジュールへのエントリのための従来の方法により入力をキューに入れるタスクが割り当てられる。一方、このタスクを実施する他の方法では、一般的アーキテクチャ（またはそのアーキテクチャに対する上述の任意の変形形態）を修正して、入力（および／または入出力）モジュール間の相互通信により、同時に１つの入力だけが変換モジュール（あるいは変換モジュールが存在しない場合は論理モジュール）に提供されるように自己調整を容易にすることを可能とする。例えば、入ってきたメッセージには上述のようにタイムスタンプを押すことができる。次いで、各入力（および／または入出力）モジュールは、他のモジュールと調整して、タイムスタンプが押されたメッセージ（またはそのメッセージの構文分析された一部）が、他のモジュールからのより早い時刻のタイムスタンプが押された任意のメッセージまたはその一部がまず送られた後でのみ提供されることを保証する。
【００４８】
３．０  例示的アプリケーションおよび拡張機能
以下の項目では、有利には上述の共有ディスプレイシステムおよびプロセスを実装する、いくつかの例示的アプリケーションを説明する。これらアプリケーションの説明は、読者が本発明をより良く理解できるようにする助けとなることを意図したものであり、本発明がこれらのアプリケーションだけに限定されることを意図したものではない。また本発明が、以下で論ずる通信モダリティだけに限定されることを意図したものでもない。さらに、特定のアプリケーションに対して特に有利である有用な機能についてもいくつか説明している。しかしこれらの機能は、他のアプリケーションに対しても有利に使用できるものであり、ただ１種類のアプリケーションに限定されることを意図したものではない。
【００４９】
３．１  共同言葉遊び（Ｃｏｍｍｕｎａｌ  Ｗｏｒｄ  Ｇａｍｅ）
一例示的アプリケーションには、共有ディスプレイを使用して共同ゲーム（ｃｏｍｍｕｎａｌ  ｇａｍｅ）で遊ぶことが含まれる。このアプリケーションの説明を簡単にするために、ゲームは言葉遊びであり、このゲームでは、一般に1人のユーザが共有ディスプレイに表示された文字を使用して言葉を構成し、その言葉がユーザのアイデンティティ（ｉｄｅｎｔｉｔｙ）とともにゲームに入力されるものと想定する。
【００５０】
ゲームに言葉を入力するために、各ユーザは共有ディスプレイから使用可能な文字を見つけ、その通信モダリティがシステムによってサポートされ、各ユーザがアクセスできる何らかの入力装置を使用する。例えば、サポートされているモダリティが電子メールである場合、ユーザはその言葉を電子メール（例えば、先に示したように件名ライン）に含めることができる。ユーザのアイデンティティは、電子メールの、例えば「送信元」ラインに含まれることになる。同様に、ユーザはＩＭ（インスタントメッセージ）モダリティによって言葉を入力することもできる。この場合、ユーザのアイデンティティは「送信元」ラインに含められ、その言葉が通信のメッセージ部分を形成することになる。システムでサポートされているモダリティがＳＭＳ（ショートメッセージサービス）テキストメッセージング方式である場合には、この種のメッセージング方式では一般的だが、ユーザはアイデンティティの提供を求められることがあり、その言葉はメッセージ本体の中に提供することができる。電子メールおよびＩＭ入力のシナリオの場合、その言葉は論理モジュールが直接理解できるテキストフォームで提供されるので、変換モジュールは（含まれている場合でも）まったく処理を行う必要がない場合があることに留意されたい。一方、ＳＭＳテキストメッセージングの場合は、入力されるのは一般に数字または記号の列であり、それらは変換モジュール（または変換機能を組み込んだ入力または論理モジュール）によってテキストに変換されることになる。同様に、ユーザアイデンティティおよび言葉は、ＰＢＸを介した標準電話のＤＴＭＦトーンを使用して、予め定められたプロトコルによって入力することもできる。ＳＭＳテキストメッセージングの場合と同様に、これらのトーンは変換モジュール（または変換機能を取り込んだ入力または論理モジュール）によってテキストに変換される必要がある。
【００５１】
言葉およびユーザ識別が入力されると、論理モジュールはそれらを処理してゲームを実行する。例えば、特に論理モジュールは、ユーザごとに得点を記録し、ユーザ入力が有効であることを保証し、そのゲームを表すゲームボードをどのように表示すべきかに関するハードおよびソフトの制約を生成することになる。次いで、この例示的アプリケーションのレイアウトモジュールはその制約を取り込み、ゲームを表示するためのレイアウトを従来の方法で生成する。結果として得られた表示命令は、次に表示モジュールに与えられて共有ディスプレイ上に所望の画像を生成する。
【００５２】
３．２  投票／選挙ツール
他の例示的アプリケーションとして、本共有ディスプレイシステムおよびプロセスを使用した投票または得票ツールの実施例がある。このアプリケーションの入力モダリティおよびモジュール動作はゲームのシナリオと類似しているが、いくつかの注目すべき追加と例外がある。例えば投票では、ユーザは共有ディスプレイに示された、選択肢を示す予め定められた文字、記号、または数字を入力することができるが、より複雑な入力も可能である。例えば、ユーザは自らの選択を示すキーワードを入力することができる。さらに、ユーザは追加の選択肢を提示することもできる。したがって、最初の入力シナリオではゲームシナリオと同様に処理できるが、後の２つのシナリオではキーワードを投票の選択肢に相互に関連づけ、提示された新たな選択肢を識別することができる変換モジュール（または、入力または論理モジュールに内蔵された変換機能）が必要になる。
【００５３】
この例示的アプリケーションの論理モジュールは、トピックおよび選択の経過を追い、得票を数える。さらに論理モジュールは、任意の１つのトピックに対してユーザあたり１投票だけを許すといった、投票ルールを施行することもできる。論理モジュールはまた、ユーザによって提示された新たな投票選択肢を評価し追加することもできる。
【００５４】
投票ツールアプリケーション（ならびに本明細書に記載の他のアプリケーションなど）に実装できるもう１つの有用な機能は、特別な許可を有する特定のユーザを指定する機能である。例えば、投票処理の進行係または管理者としての役割を果たすユーザには、コマンドを入力して表示される投票選択肢に影響を与えたり、投票を終了させたり、新たな投票シナリオを設定したりする能力が与えられる。前述のゲームシナリオなど他のアプリケーションでは、特別な許可を持つユーザは、ゲームの設定やパラメータ、あるいはそのゲームがどのように表示されるかなどに影響を与えるコマンドを入力することができる。基本的に、権限を与えられたユーザが、特に論理モジュールやその他のモジュールにアクセスし、その動作を制御して変更をもたらす能力は、きわめて有用である。特定の許可を有するユーザを識別する方法は従来からあり、任意の適切な技術を実装することができる。これをどのように実施できるかの一般的な一例として、まず、ユーザによって入力された情報のなかに、実行のために特別な許可を必要とすることが指定されているコマンドが含まれているかどうかが判断される。含まれている場合には、情報を入力したユーザが識別され、そのようなコマンドを送る特別な許可を有する予め決められたユーザリストにそのユーザが載っているかどうかが判断される。コマンドは、予め決められたリストにユーザが載っている場合にだけ実行される。
【００５５】
実装できる他の有用な機能には、くじ引きでの使用がある。参加を促す動機として、参加者の間でくじ引きを行うことによってサスペンスや楽しみを盛り上げることができる。
くじ引きでは、参加者に対して当る確率を等しくすることもそうでないようにすることもできる。例えば、チケットくじで、ある人が２枚以上のチケットを持っていた場合、その人の当たる確率がそれ以外の人よりわずかに高くなるように、より多く参加するほど、またはより多くの情報があるほど、ユーザの当たる確率を高くすることができる。当選者が選ばれた時点で、ユーザには共有ディスプレイによって、あるいは入力装置へのメッセージによって直ちにフィードバックすることができる。
【００５６】
３．３  共用ウェブブラウザ（Ｃｏｍｍｕｎａｌ  Ｗｅｂ  Ｂｒｏｗｓｅｒ）
他の例示的アプリケーションには、ユーザ要求のウェブページを共有ディスプレイの少なくとも一部に表示し、（例えば、ユーザが表示されたページでリンクを選択できるようにすることによって）ユーザがウェブページと対話できるようにする共用ウェブブラウザの実施がある。この場合も、このアプリケーションに対する入力モダリティおよびモジュールの動作はゲームシナリオと類似しているが、いくつかの注目すべき追加と例外がある。ウェブページにアクセスするためには、ユーザは、言葉遊びでテキストを入力したのと同様の方法で、または投票選択を表すキーワードを入力したのと同様の方法で（ＳＭＳテキストメッセージまたは電話ＤＴＭＦトーン入力の場合には変換を必要とすることもある）、共有ディスプレイ上で見たいと思うウェブサイトを特定するためのＵＲＬを入力する。さらに、ウェブブラウジング機能を容易にするために、論理モジュールは、表示されたウェブページ内のリンクに注釈をつけることができる。このようにすると、リンクにアクセスするためにユーザが行わなければならないことは、注釈を入力することである。他のブラウザ機能、例えばテキストをあるフォームに入力すること、またはユーザインタフェース要素をダブルクリックすることなどは、特別に用意されたコマンドを使用することによって達成できる。ウェブブラウザアプリケーションにおいては、基本的に表示されるのはウェブページだけなので、スクリーン上に複数のページの配置を構成することを除く他のレイアウト機能は本質的には必要ないことにも留意されたい。そのような機能は、論理または表示モジュールによって容易に処理することができる。したがって、このアプリケーションでは、レイアウトモジュールを（存在する場合でも）バイパスすることができる。
【００５７】
３．４  電子掲示板
電子掲示板は、本共有ディスプレイシステムおよびプロセスによる実装に適したアプリケーションの他の例である。この場合もまた、このアプリケーションの入力モダリティおよびモジュール動作はゲームシナリオと類似しているが、いくつかの注目すべき追加と例外がある。例えば、共有ディスプレイ上に表示するためのテキストは前述と同様の方法で入力できるが、掲示板はしばしば画像、ファイル、映像、その他ユーザによって入力されたメディアなども含んでおり、それらを（例えば、前述の本発明の出力可能な実施形態により）表示し、あるいはダウンロードすることができる。電子メールベースの入力モダリティは、これらの非テキストメディアアイテムを入力し取得することが理想的である。また、このアプリケーションでは、電子掲示板に投稿するユーザのアイデンティティを匿名にすることができる場合もある。したがって、前述のユーザ識別収集機能は、必要に応じてディスエイブルにするか、またはこのアプリケーションに含めないようにすることができる。掲示板アプリケーションの他の有用な機能は、投稿されたアイテムが共有ディスプレイ上に留まっている時間を管理することである。例えば、論理またはレイアウトモジュールは、表示されたデータのタイムリミットを割り当て、時間がたてばそのデータが消えるか、またはフェードアウトするように構成することもできる。
【００５８】
掲示板アプリケーション（および前述の他の任意のアプリケーションなど）に実装できる他の有用な機能は、共有ディスプレイに送信されたすべてのメッセージの内部履歴を維持する機能、ならびに（ユーザのアイデンティティが入力から取り込まれたと想定して）個別のユーザ、およびそのユーザが何を入力しあるいは要求したか、またそれがいつ提供されあるいは要求されたかについて識別し、そのログを取り、かつその経過を追う機能である。次いで、このアーカイブデータは、データマイニングの目的で、または（例えば、ユーザあたり１回の投稿だけを可能にすること、あるいはユーザのアイデンティティを追跡する前述の投票ツールアプリケーションの場合は、ユーザあたり１回の投票だけを可能にすることなど）アプリケーションのルールを実施するために使用できることになる。
【図面の簡単な説明】
【００５９】
【図１】本発明を実装するための例示的システムを構成する汎用コンピュータ装置を示す図である。
【図２】共有ディスプレイを制御するための全体プロセスを示す流れ図である。
【図３】図２のプロセスを実装するために使用されるコンピュータプログラムアーキテクチャの一般的な実施形態を示すブロック図である。
【符号の説明】
【００６０】
１２０  処理装置
１２１  システムバス
１３０  システムメモリ
１３１  ＲＯＭ
１３２  ＲＡＭ
１３３  ＢＩＯＳ
１３４  オペレーティングシステム
１３５  アプリケーションプログラム
１３６  他のプログラムモジュール
１３７  プログラムデータ
１４０  非リムーバブルな不揮発性メモリのインタフェース
１４４  オペレーティングシステム
１４５  アプリケーションプログラム
１４６  他のプログラムモジュール
１４７  プログラムデータ
１５０  リムーバブルな不揮発性メモリのインタフェース
１６０  ユーザ入力インタフェース
１６１  マウス
１６２  キーボード
１７０  ネットワークインタフェース
１７１  ローカルエリアネットワーク
１７２  モデム
１７３  ワイドエリアネットワーク
１８０  リモートコンピュータ
１８５  リモートアプリケーションプログラム
１９０  ビデオインタフェース
１９１  モニタ
１９２  カメラ
１９４  カメラインタフェース
１９５  出力ペリフェラルインタフェース
１９６  プリンタ
１９７  スピーカ
【図１】
2005222535.tif 000003
【図２】
2005222535.tif 000004
【図３】
2005222535.tif 000005
【外国語明細書】
2005222535000001.pdf