(57)【要約】  ウェブ構成可能ヒューマン入力デバイスを提供する。このデバイスは、動的に変更可能な外観を有する少なくとも１つの機械制御要素を含む。一部の実施形態では、少なくとも１つの機械制御要素の外観は、入力デバイスウェブスクリプトの実行に応答して動的に変更される。このようなウェブ構成可能ヒューマン入力デバイスの例は、アクティブキーボードがあり、そこでは、動的に変更可能な外観を有する少なくとも１つの機械制御要素がアクティブキーボードのキー配列の１つになっている。アクティブキーボードがウェブ対応デバイスに接続されているときは、キー配列の少なくとも１つのキーは入力デバイスウェブスクリプトの実行に応答してその外観を変更するように構成されている。
2010508586.tif 000002
【特許請求の範囲】
【請求項１】
動的に変更可能な外観を有する少なくとも１つの機械制御要素を備え、
前記機械制御要素の外観は、入力デバイスウェブスクリプトの実行に応答して動的に変更されることを特徴とするウェブ構成可能ヒューマン入力デバイス。
【請求項２】
ウェブ対応クライアントデバイスに接続可能である適合可能なキーボードであることを特徴とする請求項１に記載のデバイス。
【請求項３】
前記少なくとも１つの機械制御要素は、前記適合可能なキーボードのキー配列の１つであり、前記適合可能なキーボードが前記ウェブ対応クライアントデバイスに接続されているとき、前記キー配列の少なくとも１つのキーは、前記入力デバイスウェブスクリプトの前記実行に応答してその外観を変更するように構成され、これは所定のイベントが発生した場合に行なわれることを特徴とする請求項２に記載のデバイス。
【請求項４】
前記所定のイベントは、前記適合可能なキーボードの前記キー配列のキーを押したことであることを特徴とする請求項３に記載のデバイス。
【請求項５】
前記所定のイベントは、タイマーが経過、及び前記適合可能なキーボードと異なるソースからのデータ受信の一方であることを特徴とする請求項３に記載のデバイス。
【請求項６】
ウェブ対応クライアントデバイスに接続可能である適合可能なマウスを含むことを特徴とする請求項１に記載のデバイス。
【請求項７】
前記少なくとも１つの機械制御要素は、前記適合可能なマウスのスクロールホイールであり、前記適合可能なマウスが前記ウェブ対応クライアントデバイスに接続されているとき、前記スクロールホイールは、前記入力デバイスウェブスクリプトの前記実行に応答してその外観を変更するように構成され、これは所定のイベントが発生した場合に行なわれることを特徴とする請求項６に記載のデバイス。
【請求項８】
ウェブ対応クライアントデバイスに接続可能である適合可能なゲームコントローラーであることを特徴とする請求項１に記載のデバイス。
【請求項９】
前記少なくとも１つの機械制御要素は、前記適合可能なゲームコントローラーのゲームコントロール要素であり、前記適合可能なゲームコントローラーが前記ウェブ対応クライアントデバイスに接続されているとき、前記ゲームコントロール要素は、前記入力デバイスウェブスクリプトの前記実行に応答してその外観を変更するように構成され、これは所定のイベントが発生した場合に行なわれることを特徴とする請求項８に記載のデバイス。
【請求項１０】
前記所定のイベントは、前記ウェブ対応クライアントデバイスで実行されているコンピューターゲームのモードの変化あることを特徴とする請求項９に記載のデバイス。
【請求項１１】
ウェブ対応クライアントデバイスと、
前記ウェブ対応クライアントデバイスに接続可能であって、動的に変更可能な外観を有するウェブ構成可能ヒューマン入力デバイスとを備え、
前記ウェブ構成可能ヒューマン入力デバイスが前記ウェブ対応クライアントデバイスに接続されているとき、前記ウェブ構成可能ヒューマン入力デバイスの外観は、入力デバイスウェブスクリプトの実行に応答して動的に変更されることを特徴とするクライアントシステム。
【請求項１２】
前記ウェブ対応クライアントデバイスは、
前記ウェブ構成可能ヒューマン入力デバイスのための動的ディスプレイドライバーを格納するプログラムメモリーと、
前記プログラムメモリーに結合され、前記動的ディスプレイドライバーを実行するように構成されたホストコントローラーと
を備えることを特徴とする請求項１１に記載のシステム。
【請求項１３】
前記ウェブ対応クライアントデバイスは、前記ホストコントローラーに結合され、前記入力デバイスウェブスクリプトを格納するデータメモリーをさらに備え、前記ホストコントローラーの支援の下で前記入力デバイスウェブスクリプトを実行することを特徴とする請求項１２に記載のシステム。
【請求項１４】
前記入力デバイスウェブスクリプトは、ウェブサーバーからダウンロードされ、前記データメモリーに格納されることを特徴とする請求項１３に記載のシステム。
【請求項１５】
ウェブサーバー上に格納された前記入力デバイスウェブスクリプトを介して前記プログラムメモリーに格納され、前記ウェブ構成可能ヒューマン入力デバイスとリアルタイムで通信するブラウザー拡張機能をさらに備えることを特徴とする請求項１２に記載のシステム。
【請求項１６】
前記ウェブ構成可能ヒューマン入力デバイスは、前記ホストコントローラーと通信し、前記ウェブ構成可能ヒューマン入力デバイスの前記外観を動的に変更するコマンドを、その通信を通して受信するように構成されたマイクロコントローラーを備えることを特徴とする請求項１３に記載のシステム。
【請求項１７】
入力デバイスウェブスクリプトを格納しているウェブサーバーと、
前記ウェブサーバーと通信するウェブ対応クライアントデバイスと、
前記ウェブ対応クライアントデバイスに接続可能で、動的に変更可能な外観を有するウェブ構成可能ヒューマン入力デバイスとを備え、
前記ウェブ構成可能ヒューマン入力デバイスが前記ウェブ対応クライアントデバイスに接続されているとき、前記ウェブ構成可能ヒューマン入力デバイスの外観は、入力デバイスウェブスクリプトの実行に応答して動的に変更されることを特徴とするシステム。
【請求項１８】
前記入力デバイスウェブスクリプトは前記ウェブサーバー上で実行され、前記ウェブ対応クライアントデバイス上のブラウザー拡張機能を通して前記ウェブ構成可能ヒューマン入力デバイスとリアルタイムで通信することを特徴とする請求項１７に記載のシステム。
【請求項１９】
前記入力デバイスウェブスクリプトは、前記ウェブ対応クライアントデバイスにダウンロードされ、前記ウェブ対応クライアントデバイス上で実行されることを特徴とする請求項１７に記載のシステム。
【請求項２０】
前記入力デバイスウェブスクリプトは前記ウェブサーバー上で変更可能であり、特定のウェブ対応クライアントデバイス及びウェブ構成可能ヒューマン入力デバイスから独立していることを特徴とする請求項１７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ウェブ構成可能ヒューマン入力デバイスに関する。
【背景技術】
【０００２】
インターネットが普及した結果、一般大衆は数十億のユニークな情報ページを利用することが可能になっている。これに伴い、ウェブブラウザーインターフェース、ウェブページコンテンツが着実に複雑化し、スクリーンの大型化及び解像度の高度化に伴いユーザーに表示される情報が大量化している。
【０００３】
ウェブページのレイアウトが「標準化」されていないことと結びついて、ウェブページインターフェースが複雑化したことは、ウェブをナビゲートすることを、特に子供または初心者のユーザーにとって試行錯誤の訓練にする。スクリーン上の各オブジェクト、ピクチャーまたはテキストアイテムは、潜在的に「クリック可能」とすることができ、比較的に正常なインターフェース設計は、ユーザーに、下線付きテキストのような手がかりをもたらすが、このルールは一般に順守されていない。
【０００４】
以上は、単に一般的な背景情報を説明したものであり、請求項に記載の主題の範囲を判断する際の一助となるものではない。
【発明の概要】
【０００５】
この発明の概要は、以下の詳細な説明で詳しく説明される概念の選択を簡略化した形式で紹介したものである。この発明の概要は、請求項に記載の主題のキーとなる特徴または決定的な特徴を特定するものではなく、請求項に記載の主題の範囲を判断する際の一助となるものでもない。請求項に記載の主題は、背景技術で述べられた任意またはすべての欠点を解決する実装に限定されない。
【０００６】
ウェブ構成可能ヒューマン入力デバイスが提供されている。このデバイスは、動的に変更可能な外観を有する少なくとも１つの機械制御要素を含む。一部の実施形態では、少なくとも１つの機械制御要素の外観は、入力デバイスウェブスクリプトの実行に応答して動的に変更される。このようなウェブ構成可能ヒューマン入力デバイスの例は、アクティブキーボードであり、そこでは、動的に変更可能な外観を有する少なくとも１つの機械制御要素は、アクティブキーボードのキー配列の１つになっている。アクティブキーボードがウェブ対応デバイスに接続されているときは、キー配列の少なくとも１つのキーは、入力デバイスウェブスクリプトの実行に応答してその外観を変更するように構成される。このようなアクティブキーボードを採用すると、ウェブページ作成者がキーボードのファンクションキーの外観（時にはコンテンツ）を制御することを可能にし、例えば、起り得るアクションの動的メニューを表示する。
【０００７】
本発明の実施形態によれば、一般的に、ウェブアプリケーションは、ウェブ構成可能ヒューマン入力デバイスと通信することができるので、これらのウェブサイトは、特に初心者のユーザーにとっては、ナビゲートしやすく、使いやすくなっている。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施形態によるウェブ構成可能ヒューマン入力デバイスを含むコンピューティングシステムを示す簡略ブロック図である。
【図２Ａ】ウェブ構成可能ヒューマン入力デバイスの他の例示の実施形態を示す簡略ブロック図である。
【図２Ｂ】ウェブ構成可能ヒューマン入力デバイスの他の例示の実施形態を示す簡略ブロック図である。
【図３Ａ】いくつかの異なる方法の実施形態を示す簡略ブロック図である。
【図３Ｂ】いくつかの異なる方法の実施形態を示す簡略ブロック図である。
【図４】本発明の実施形態にかかるウェブ構成可能ヒューマン入力デバイスを使用することができる１つの例示的な動作環境を示すブロック図である。
【発明を実施するための形態】
【０００９】
ウェブ構成可能ヒューマン入力デバイスが開示される。前述したように、このデバイスは、動的に変更可能な外観を有する少なくとも１つの機械制御要素を含む。少なくとも１つの機械制御要素の外観は、入力デバイスウェブスクリプトの実行に応答して動的に変更される。このようなウェブ構成可能ヒューマン入力デバイスの一例であるアクティブキーボードが以下に最初に説明される。そのあとで、ウェブ構成可能ヒューマン入力デバイスの他の例を説明する。最後に、このようなデバイスを採用することができるコンピューティング環境の例の説明を提供する。
【００１０】
図１は、本発明の一実施形態によるウェブ構成可能ヒューマン入力デバイスを含むコンピューティングシステム１００を示す簡略ブロック図である。図１に示すように、コンピューティングシステム１００は、ウェブサーバー１０２、ウェブ対応クライアントデバイス１０４、及び上述したように、ウェブ構成可能ヒューマン入力デバイスの一例であるアクティブキーワード１０６を含んでいる。
【００１１】
図１に示す例示の実施形態では、ウェブサーバー１０２はＨＴＴＰ(hypertext transfer protocol)サーバーであり、このサーバーは、標準的ウェブサーバー及びブラウザーが現在動作しているような形で、クライアントウェブブラウザーによってダウンロードされ、解釈されるとき、ウェブページをクライアントのディスプレイデバイス上でレンダリングするように設計されたＨＴＭＬ(hypertext markup language)コードを備えている。しかしながら、本発明の実施形態によれば、ウェブサーバー１０２は、クライアントウェブブラウザーの特殊な拡張機能によってダウンロードされ、解釈されるとき、適合可能なキーボード１０６のキーキャップ上でディスプレイイメージをレンダリングするように設計されたカスタムＨＴＭＬコード拡張機能も備えている。さらに、サーバー１０２は、必要時にクライアントウェブブラウザーによって要求されるキートップイメージの格納されたビットマップ（参照符号１１０に示す）、及び任意のイベントが発生したときどのようなアクションがとられ、なにを適合可能なキーボードのキートップ上に表示すべきかを制御することができるダウンロード可能なスクリプト（入力デバイスウェブスクリプト）１１２の形式のロジックを備えている。
【００１２】
本発明の実施形態に関連して、適合可能なキーボード１０６上で情報を制御する入力デバイスウェブスクリプト１１２を利用する２つの異なる例示の技術が提供されている。第１の技術では、入力デバイスウェブスクリプト１１２は、ウェブサーバー上で実行される。より詳細には、この技術では、例えばアクティブキーボード１０６上の特定のキーがユーザーによって押されたとき、そのキーはウェブサーバー１０２に送られ、サーバー１０２は、その特定の入力にどのように応答するかを判断する入力デバイスウェブスクリプト１１２を含み、実行する。ここでは、ウェブサーバー１０２上の入力デバイスウェブスクリプト１０２は、特殊な適合可能なキーボードコマンドプロトコルを理解するウェブ対応クライアントデバイス１０４上でブラウザー拡張機能と通信することができる。第２の技術では、入力デバイスウェブスクリプト１１２は、ウェブサーバー１０２からウェブ対応クライアントデバイス１０４にダウンロードされ、クライアント１０４上で局所的に実行する。この技術では、休止している間、入力デバイスウェブスクリプト１１２は、アクティブキーボード１０６などのデバイスを継続的にポーリングし、例えば、特定のキーが押されたかどうかを判断し、その特定の入力が検出されたとき適当なレスポンスを与えることができる。第１の技術の場合と同様に、第２の技術もこの技術が提供する追加機能をサポートする適当なウェブブラウザー拡張機能を必要とする。上記の２つの技術の例のあるソフトウェア態様に関する詳細は、図３Ａ及び図３Ｂと関連付けて以下に提供されている。
【００１３】
再び図１を参照して説明すると、一般的に、ウェブ対応クライアントデバイス１０４は、ホストコントローラー１１４、プログラムメモリー１１６、データメモリー１１８及びディスプレイデバイス１２０を備えている。プログラムメモリー１１６、データメモリー１１８及びディスプレイデバイス１２０は、ホストコントローラー１１４の制御下で動作する。プログラムメモリー１１６は、ウェブブラウザーのような適当なプログラムを有し、サーバー１０２からのＨＴＴＰまたは他のリモートコマンドを解釈する。ホストコントローラー１１４は、任意の適当なタイプの有線または無線リンク（例えば、ＵＳＢ(universal serial bus)）を使用して、適合可能なキーボード１０６及びサーバー１０２と通信することができる。図１において、ホストコントローラー１１４と適合可能なキーボード１０６との間の通信リンクは、参照符号１４６で示し、ホストコントローラー１１４とウェブサーバー１０２との間のネットワークコネクションは、参照符号１４８で示している。
【００１４】
ウェブ対応クライアントデバイス１０４のプログラムメモリー１１６は、上述したように、ウェブサーバー１０２及び適合可能なキーボード１０６と通信するウェブブラウザー１２６及びプログラムコード（キーキャップディスプレイドライバー１３０を含む）を含む。また、プログラムメモリー１１６には、本発明の実施形態が提供する拡張機能をサポートするように構成されたウェブブラウザー拡張機能１２８も含まれている。ウェブブラウザー拡張機能１２８に含まれるこのような追加機能の１つは、ウェブ構成可能ヒューマン入力デバイスが存在するかどうかをクエリーしてウェブサーバー１０４に報告し、存在している場合には、ウェブ構成可能ヒューマン入力デバイスのタイプも報告する機能である。ここで注意すべきことは、この機能は、現行ウェブブラウザーに含まれる報告機能に追加したものということである。当然のことであるが、本発明の実施形態と無関係の他のアプリケーション（参照符号１３２で示している）を、プログラムメモリー１１６内に格納することも可能である。
【００１５】
データメモリー１１８は、入力デバイスウェブスクリプト１２２及びキートップビットマップ１２４を格納することが可能であり、これらは、ウェブブラウザー（一部の実施形態における）またはキーボードロジック（他の実施形態における）によってコマンドで指示されたときに、適合可能なキーボード１０６に送信することができる。ここで注意すべきことは、入力デバイスウェブスクリプトがウェブサーバー１０２上とウェブ対応クライアントデバイス１０４上とで異なる番号が付けられているのは、これらが異なるコピーであるからということである。ウェブ対応クライアントデバイス１０４では、ディスプレイデバイス１２０はＨＴＭＬコードをレンダリングし、ウェブサーバー１０２からダウンロードされたロジックスクリプトを実行する。
【００１６】
図１に示すように、適合可能なキーボード１０６は、マイクロコントローラー１３４、当業者に周知のｘ行とｙ列からなる機械キースイッチマトリクス（またはキー配列）１３６、シリアルインターフェースバス１３８、複数（Ｎ）の個別ディスプレイコントローラー１４０及び複数（Ｎ）のグラフィックスディスプレイ１４２を含んでいる。マイクロコントローラー１３４は、ウェブ対応クライアントデバイス１０４及びシリアルインターフェースバス１３８と通信し、機械キースイッチマトリクス１３６のステータスを読み取る。シリアルインターフェースバス１３８は、各々の個別キーの内部のＮ個の個別ディスプレイコントローラー１４０を接続し、各々はディスプレイランダムアクセスメモリー（ＲＡＭ）、タイミングジェネレーター、及び行／列ドライバーを含む。Ｎ個のグラフィックスディスプレイ１４２は、それぞれのディスプレイコントローラーＲＡＭに含まれる情報を表示する。
【００１７】
上記に示したように、本発明の実施形態では、ウェブサーバー１０２上のウェブページには、キー上になにを表示するか、及びあるキーが押されたとき（またはマウスまたは音声入力のように、他の任意の入力コマンドを受信したとき）どのようなアクションがとられるかを判断する入力デバイスウェブスクリプト１１２を最初から含んでいる。例えば、ファンクションキー１４４がすべてプログラム可能であれば、入力デバイスウェブスクリプト１１２は、「シフト」キーが押されたときに、すべてのファンクションキートップを代替のディスプレイに変更することができる。同様に、入力デバイスウェブスクリプトは、タイマーが経過したとき、または別のネットワークソースからのデータが変化したとき、例えば、あるキーがレッドアイコンを点滅して、だれかがインターネット音声コールまたはインスタントメッセージングセッションを要求していることを示しているとき、キートップを変更することができる。ＨＴＭＬのウェブページが特殊な埋め込みオブジェクトを含んでいると、クライアントブラウザー１２６にダウンロードされたとき、特定のキートップ上のディスプレイを変更するコマンドを適合可能なキーボード１０６へ送信させることができる。クライアントブラウザー１２６がこの特殊オブジェクトを理解しないときは、どのアクションもとられない。また、上述したように、ウェブブラウザー拡張機能は、ウェブ構成可能ヒューマン入力デバイスが存在するかどうかをクエリーしてウェブサーバー１０４に報告し、存在しなければ、ウェブ構成可能ヒューマン入力デバイスのタイプも報告する能力を含むことができる。
【００１８】
上述したプログラム可能ファンクションキーの例では、各ファンクションキーのトップにグラフィックスディスプレイを利用するほかに、レッド、イエロー及びグリーンのような、２またはそれ以上の色でキーを照明することもできる。さらに、キーは色を点滅させ、またはアニメーションを表示させることもできる。一般的に、このような実施形態は、ウェブページ作成者が可能なアクションの動的メニューを表示するようにキーボードのファンクションキーの内容及び外観を制御することを可能にする。例えば、マッピングサイトでは、あるキーがグリーンのプリンタアイコンでマップをプリントし、もう２つのキーが大小の拡大ガラスアイコンでズームイン及びズームアウトし、別の文字アイコンがマップを友人にｅメールするように定義していることもある。
【００１９】
別の例として、アクティブキーボードインターフェースを使用して、顧客がオンラインオークションの参加の状況を把握することを支援するオンラインオークションサイトがある。このオンラインオークションサイトは、見られている各オークションにアクティブキーボード上のキーを割り当てるアプリケーションを配置することもできる。各キーは、オークションのタイプを特定するアイコンまたはテキストを有し、ユーザーが高値を付けたかどうかをグリーンまたはレッドで知らせる。簡単には、レッドになったときにキーを押すと、新しい入札値が入力される。
【００２０】
上記の例では、ウェブアプリケーションは、構成可能キーボードと通信し、特に初心者ユーザーに対して、そのウェブサイトをナビゲートし、使用することを容易にしている。上記実施形態は、貴重なスクリーンスペースを利用せずに、ユーザーにオプションを提示する一貫した技術も提供する。
【００２１】
図２Ａは、適合可能なマウス２０６を含むコンピューティングシステム２００を示す簡略ブロック図であり、ウェブ構成可能ヒューマン入力デバイスの別の例である。図２Ａにおいて、システム１００（図１）のコンポーネントに類似するシステム２００のコンポーネントは、同じ参照符号で示されている。また、これらの類似のコンポーネントの説明を繰り返さない。典型的なマウスはスクロールホイールを備え、これは、情報ウィンドウを縦方向にスクロールするときに使用される。標準的なマウスでは、アクティブ情報ウィンドウに水平方向または垂直方向スクロールバーが表示されていなければ、ユーザーのスクロールホイールへの入力は、典型的にどのようなレスポンスも得られない。しかしながら、図２Ａの実施形態にでは、半透明で、カラーの発光ダイオード（ＬＥＤ）によって照明されることができるスクロールホイール２３８を備える。スクロールホイール２３８の照明は、ウェブ対応クライアントデバイス１０４と通信するマイクロコントローラー２３４及びＬＥＤ制御回路２３６の援助の下で制御される。例示の実施形態では、ウェブページが垂直方向スクロールバーと共にウィンドウまたはリストボックスを表示するとき、入力デバイスウェブスクリプト１１２またはローカルアプリケーションは、スクロールホイール２３８を照明し、その機能がアクティブであることをユーザーに知らせることができる。入力デバイスのこの適合可能な動作は、ウェブブラウジング及びコンピューターソフトウェアの学習と使用とを容易する。
【００２２】
図２Ｂは、適合可能なゲームコントローラー２５６を含むコンピューティングシステム２５０を示す簡略ブロック図であり、ウェブ構成可能ヒューマン入力デバイスのさらに別の例である。図２Ｂにおいて、システム１００（図１）及び２００（図２Ａ）のコンポーネントに類似しているシステム２５０のコンポーネントは、同じ参照符号で示されている。図２Ｂの非常に簡略したブロック図において、例示の適合可能なゲームコントローラー２５６は、マイクロコントローラー２８４と単独の機械制御要素（またはゲームコントロール要素）２８６を含むものとして示され、機械制御要素は動的に変更可能な外観を有している。前述した実施形態の場合のように、ゲームコントロール要素２８６は、ウェブサーバー１０２上での入力デバイスウェブスクリプトの実行に応答して、またはウェブ対応クライアントデバイス１０４上で局所的にダウンロードされた入力デバイスウェブスクリプト１２２の実行に応答して、その外観を変更するように構成されている。ある特定の実施形態では、オンラインゲームにおいて、入力デバイスウェブスクリプト１１２、１２２を、ウェブ対応クライアントデバイス１０４上で所定のイベントが発生した場合に、実行することができる。一例において、第１の人のシューターゲームで武器を切り換えることは、その特定の武器についてアクティブである制御を強調表示する。この方法において、ビデオゲームで頻繁に発生する種々の入力モードの変更を、アクティブな制御を照明または強調表示することでユーザーに知らせることができる。
【００２３】
なお、当然に理解されるように、ウェブ構成可能ヒューマン入力デバイスの上記の例の各々が異なるコンピューティングシステムに属するものとして示されているが、ウェブ構成可能ヒューマン入力デバイスの上記の例のすべてが単独のコンピューティングシステムを含むことができる。ウェブ構成可能ヒューマン入力デバイスの他の例では、適合可能なトラックボール、タッチパッド、ジョイスティック、ゲームパッドなどが含まれている。
【００２４】
本発明の別の実施形態によれば、複数の標準及びカスタムのキー配列及びキートップキャプションがローカルアプリケーションとウェブアプリケーションとの両方で利用可能にすることが可能であり、この情報をウェブ上のユーザープロファイルに格納することができる。ここでは、適合可能なキーボードは、ユーザーがどこにいるか、またはどのようなコンピューターが使用されているかに関係なく、ユーザーのコンテキストに合わせてカスタマイズされている。適当なブラウザー拡張機能は、サーバーまたはローカルスクリプトが構成可能ウェブデバイスの存在及びタイプについてユーザーのパーソナルコンピューター（ＰＣ）にクエリーすることを可能にする。そのようなデバイスが存在していれば、そのデバイスは能力の限界まで利用することができる。存在しない場合は、ウェブサイトは、これに代わる方法として、ウェブページのクライアントの視覚的なレンダリング上でクリック可能な制御または表示されるようなアクティブデバイス制御の仮想表現を提供することができる。
【００２５】
図３Ａ及び図３Ｂは、ウェブ構成可能ヒューマン入力デバイス上での情報を制御する入力デバイスウェブスクリプトを利用する、前述した２つの異なる例示の技術を実装するために採用されたソフトウェアコンポーネントを示す図である。前述したように、第１の技術では、入力デバイスウェブスクリプトはウェブサーバー上で実行され、第２の技術では、入力デバイスウェブスクリプトはウェブサーバーからダウンロードされ、ウェブ対応クライアントデバイス上で実行されている。図３Ａ及び図３Ｂは、それぞれ第１の技術及び第２の技術を実装するソフトウェアコンポーネントを示している。図３Ａ及び図３Ｂにおいて、ウェブサーバー上の類似のコンポーネント（図３Ａでは３０２、図３Ｂでは３５２）は、アクティブサーバーページ、ウェブサーバーアプリケーション及び伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）通信スタックを含む。クライアント側の双方の実施形態における類似のコンポーネント（図３Ａでは３０４、図３Ｂでは３５４）は、ＴＣＰ／ＩＰ通信スタック、適合可能なハードウェアドライバー及びウェブ構成可能ヒューマン入力デバイスのハードウェア及びファームウェアと通信する通信スタックを含む。
【００２６】
図２Ａに示す例示の実施形態では、入力デバイスウェブスクリプトは、サーバー３０２側で適合可能なハードウェアＣＯＭ(component object model)オブジェクト拡張機能３０６の形式であり、クライアント３０８側の適合可能なハードウェアブラウザー拡張機能３０８を介してウェブ構成可能ヒューマン入力デバイスと通信する。対照的に、図３Ｂに示す例示の実施形態は、サーバー３５２側で適合可能なハードウェアクライアントスクリプトライブラリーを含み、サーバー３５２側から適合可能なハードウェアクライアント側スクリプト３５８のコピーがクライアント側にダウンロードされ、クライアントマシン上で局所的に実行されている。これは、例えば、インターネットゲームのレスポンスタイムの高速化と、一定セットの表示される機能間の切り替えの高速化とを可能にする。
【００２７】
当業者ならば理解されるように、可能とされる通信モデルは他にもあり、インターネットソフトウェアテクノロジーの発達と共により多くのモデルが発達することは確かである。
【００２８】
図４は、実施形態を実装することができる適当なコンピューティングシステム環境４００の例を示す図である。ウェブ構成可能ヒューマン入力デバイス（１０６、２０６及び２５６など）をこの環境４００に適合するある例示的な場所は、ユーザー入力インターフェース４６０であり、その概要は以下に説明されている。ウェブ構成可能ヒューマン入力デバイス（１０６、２０６及び２５６など）を操作する適当なドライバー、ブラウザー拡張機能及び入力デバイスウェブスクリプトは、図４に示す１つまたは複数のメモリーに格納されることができる。また、コンピューティングシステム環境４００は、適当なコンピューティング環境の単なる一例であり、請求項に記載の主題の使用または機能の範囲に関してなんらの制限を示唆するものではない。また、コンピューティング環境４００は、例示の動作環境４００に図示のコンポーネントのいずれに関しても、またはいずれの組み合わせに関しても、なんらの依存関係または要求条件があるものと解釈すべきでない。実施形態は、その他の多数の汎用または特殊目的コンピューティングシステム環境または構成で動作可能である。種々の実施形態での使用に適する周知のコンピューティングシステム、環境及び／または構成の例として、上記に列挙したシステムまたはデバイスのいずれかを含むパーソナルコンピューター、サーバーコンピューター、ハンドヘルドデバイスまたはラップトップデバイス、マルチプロセッサーシステム、マイクロプロセッサーベースのシステム、セットトップボックス、テレビジョン、プログラム可能家庭用電化製品、ネットワークＰＣ、ミニコンピューター、メインフレームコンピューター、電話技術システム、分散コンピューティング環境などがあるが、これらに限定されない。
【００２９】
実施形態は、プログラムモジュールのような、コンピューターによって実行されるコンピューター実行可能命令の一般的なコンテキストで説明することができる。一般的に、プログラムモジュールは、特定のタスクを実行し、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。一部の実施形態は、分散コンピューティング環境で実施されるように設計され、そこでは、タスクが通信ネットワークを通してリンクされた遠隔処理デバイスによって実行されている。分散コンピューティング環境において、プログラムモジュールは、メモリー記憶デバイスを含むローカル及びリモートコンピューター記憶媒体内の両方に位置付けられる。
【００３０】
図４を参照すると、一部の実施形態を実装する例示的なシステムは、コンピューター４１０の形態をした汎用コンピューティングデバイスを含む。コンピューター４１０のコンポーネントは、処理部４２０、システムメモリー４３０、及びシステムメモリーを含む種々のシステムコンポーネントを処理部４２０に結合するシステムバス４２１とすることができるが、これらに限定されない。システムバス４２１は、種々のバスアーキテクチャーのいずれかを使用したメモリーバスまたはメモリーコントローラー、周辺バス、及びローカルバスが含むいくつかのタイプのバス構造のいずれかとすることができる。例を挙げると、そのようなアーキテクチャーは、ＩＳＡ(Industry Standard Architecture)バス、ＭＣＡ(Micro Channel Architecture)バス、ＥＩＳＡ(Enhanced ISA)バス、ＶＥＳＡ(Video Electronics Standards Association)ローカルバス、及びメザニンバスとして周知のＰＣＩ(Peripheral Component Interconnect)バスであるが、これらに限定されない。
【００３１】
コンピューター４１０は、典型的に種々のコンピューター可読媒体を含んでいる。コンピューター可読媒体は、コンピューター４１０によってアクセスされることができる任意の利用可能な媒体であり、揮発性及び不揮発性の媒体、取り外し可能及び取り外し不能の媒体の両方を含む。例を挙げると、コンピューター可読媒体は、コンピューター記憶媒体及び通信媒体であるが、これらに限定されない。コンピューター記憶媒体は、コンピューター可読命令、データ構造、プログラムモジュールまたはその他のデータなどの情報を格納するための任意の方法または技術で実装された揮発性及び不揮発性の媒体、取り外し可能及び取り外し不能の媒体の両方を含む。コンピューター記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリーまたはその他のメモリー技術、ＣＤ−ＲＯＭ、ＤＶＤ(digital versatile disk)またはその他の光ディスク記憶、磁気カセット、磁気テープ、磁気ディスク記憶または他の磁気記憶デバイス、または所望の情報を格納するために使用されることができ、コンピューター４１０によってアクセスされることができるその他の媒体であるが、これらに限定されない。通信媒体は、典型的に搬送波などの変調データ信号または他の輸送メカニズムでコンピューター可読命令、データ構造、プログラムモジュールまたは他のデータを具現化し、任意の情報配信媒体を含む。「変調データ信号」の用語は、１つまたは複数のその特性のセットを有する信号またはその信号内の情報を符号化するような方法で変更されている信号を意味している。例を挙げると、通信媒体は、有線ネットワークまたは直接有線接続などの有線媒体、及び音響、ＲＦ、赤外線及びその他の無線媒体などの無線媒体であるが、これらに限定されない。上記に挙げた媒体を任意に組み合わせたものも、コンピューター可読媒体の範囲に含まれることは当然である。
【００３２】
システムメモリー４３０は、ＲＯＭ（読み出し専用メモリー）４３１及びＲＡＭ（ランダムアクセスメモリー）４３２などの揮発性及び／または不揮発性メモリーの形態のコンピューター記憶媒体を含む。例えば起動中などの、コンピューター４１０内の要素間で情報を転送する支援をする基本ルーチンを含むＢＩＯＳ（基本入力／出力システム）４３３は、典型的にＲＯＭ４３１に格納されている。ＲＡＭ４３２は、典型的に処理部４２０によって即時にアクセス可能であり、及び／または現在操作の対象になっているデータ及び／またはプログラムモジュールを含む。例を挙げると、図４は、オペレーティングシステム４３４、アプリケーションプログラム４３５、その他のプログラムモジュール４３６、及びプログラムデータ４３７を例示するが、これらに限定されない。
【００３３】
コンピューター４１０は、その他の取り外し可能／取り外し不能の揮発性／不揮発性コンピューター記憶媒体を含むこともできる。例を挙げると、図４は、取り外し不能で不揮発性の磁気媒体との間で読み書きを行なうハードディスクドライブ４４１、取り外し可能で不揮発性の磁気ディスク４５２との間で読み書きを行なう磁気ディスクドライブ４５１、及びＣＤ−ＲＯＭまたはその他の光媒体などの取り外し可能で不揮発性の光ディスク４５６との間で読み書きを行なう光ディスクドライブ４５５を例示するが、これらに限定されない。例示的な動作環境で使用可能なその他の取り外し可能／取り外し不能の揮発性／不揮発性コンピューター記憶媒体は、磁気テープカセット、フラッシュメモリーカード、ＤＶＤ(digital versatile disk)、デジタルビデオテープ、半導体ＲＡＭ、半導体ＲＯＭなどであるが、これらに限定されない。ハードディスクドライブ４４１は、典型的にインターフェース４４０のような取り外し不能メモリーンターフェースを通してシステムバス４２１に接続されており、磁気ディスクドライブ４５１及び光ディスクドライブ４５５は、典型的にインターフェース４５０のような取り外し可能メモリーンターフェースによってシステムメモリー４２１に接続されている。
【００３４】
上述し、図４に例示したドライブ及びその関連コンピューター記憶媒体は、コンピューター可読命令、データ構造、プログラムモジュール及びコンピューター４１０のためのその他のデータの記憶装置を提供する。図４において、例えば、ハードディスクドライブ４４１は、オペレーティングシステム４４４、アプリケーションプログラム４４５、その他のプログラムモジュール４４６、及びプログラムデータ４４７を格納するものとして例示されている。注意すべきことは、これらのコンポーネントは、オペレーティングシステム４３４、アプリケーションプログラム４３５、その他のプログラム４３６、及びプログラムデータ４３７と同じであることもあれば、異なることもある。ここで、オペレーティングシステム４４４、アプリケーションプログラム４４５、その他のプログラムモジュール４４６、及びプログラムデータ４４７に異なる番号が付けられているのは、最低限でも、これらが異なるコピーであることを示すためである。
【００３５】
ユーザーは、キーボード４６２、マイクロフォン４６３、例えばマウス、トラックボールまたはタッチパッドなどのポインティングデバイス４６１などの入力デバイスを通してコマンド及び情報をコンピューター４１０に入力することができる。その他の入力デバイス（図示せず）は、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナーなどとすることができる。さらにその他の入力デバイス（図示せず）は、温度、圧力、湿度、振動、回転などの非ヒューマンセンサーとすることができる。これらの入力デバイス及びその他の入力デバイスは、システムバスに結合されたユーザー入力インターフェース４６０を通して処理ユニット４２０に接続されていることが多いが、パラレルポート、ゲームポートまたはＵＳＢなどの他のインターフェース及びバス構造によって接続されていることもある。なお、ここで注意すべきことは、入力デバイスは、本実施形態にかかるウェブ構成可能ヒューマン入力デバイスとすることができることである。モニター４９１またはその他のタイプのディスプレイデバイスも、ビデオインターフェース４９０などのインターフェースを介してシステムバス４２１に接続されている。モニターに加え、コンピューターは、スピーカー４９７及びプリンター４９６などの他の周辺出力デバイスを含むこともでき、これらは出力周辺インターフェース４９５を通して接続されることができる。
【００３６】
コンピューター４１０は、リモートコンピューター４８０などの、１つまたは複数のリモートコンピューターとの論理的コネクションを使用するネットワーク構築環境で動作する。リモートコンピューター４８０は、パーソナルコンピューター、ハンドヘルドデバイス、サーバー、ルーター、ネットワークＰＣ、ピアデバイスまたはその他の共通ネットワークノードとすることができ、典型的にコンピューター４１０に関連して上述した要素の多くまたはすべてを含む。図４に図示された論理的コネクションは、ＬＡＮ（ローカルエリアネットワーク）４７１及びＷＡＮ（ワイドエリアネットワーク）４７３が含まれているが、他のネットワークが含まれていることもある。このようなネットワーキング環境は、オフィス、企業内コンピューターネットワーク、イントラネット及びインターネットにおいて普及している。
【００３７】
ＬＡＮネットワーキング環境で使用されるとき、コンピューター４１０は、ネットワークインターフェースまたはアダプター４７０を通してＬＡＮ４７１に接続される。ＷＡＮ環境で使用されるときは、コンピューター４１０は、典型的にインターネットなどのＷＡＮ４７２上の通信を確立するモデム４７２または他の手段を含む。モデム４７２は内蔵型と外付け型があり、ユーザー入力インターフェース４６０またはその他の該当メカニズムを介してシステムバス４２１に接続することができる。ネットワーク構築環境において、コンピューター４１０に関連して上述したプログラムモジュールまたはその一部を、リモートメモリー記憶デバイスに格納することができる。例を挙げると、図４は、リモートコンピューター４８０に備えられているものとしてリモートアプリケーションプログラム４８５を例示するが、これに限定されない。以上から理解されるように、示されたネットワークコネクションは例示的であり、コンピューター間に通信リンクを確立する他の手段を使用することができる。
【００３８】
本実施形態が提供する拡張機能をサポートするためにブラウザーアドオンに関連して上記において使用された「ブラウザー拡張機能」というフレーズは、広義の意味で使用されており、例えば、“Active X control（登録商標）”または“ブラウザーヘルパーオブジェクト”に等しくすることができ、その各々はある種のブラウザーとともに利用することができることを理解すべきである。例えば、Active X controlをウェブサイトからダウンロードし、インストールすると、拡張機能のライブラリーがクライアントに永続的に利用可能になり、アクティブ入力デバイス（例えば、ウェブ構成可能ヒューマン入力デバイス）を制御することができる。インストールされたActive X controlの永続的な利用能力とは対照的に、ブラウザーヘルパーオブジェクトは通常、実行中のブラウザーのコピーごとにロードされる。
【００３９】
主題は、構造上の特徴及び／または方法論的行為に特有の表現で説明されてきたが、請求項に定義された主題は、必ずしも、上述した特定の特徴または行為に制限されるものではないことを理解すべきである。むしろ、上述した特定の特徴または行為は、請求項の実装の例示の形態として開示されたものである。
【図１】
2010508586.tif 000003
【図２Ａ】
2010508586.tif 000004
【図２Ｂ】
2010508586.tif 000005
【図３Ａ】
2010508586.tif 000006
【図３Ｂ】
2010508586.tif 000007
【図４】
2010508586.tif 000008
【国際調査報告】
2010508586.tif 000009
2010508586.tif 000010