(57)【特許請求の範囲】
【請求項１】
１つ以上のプロセッサと、前記１つ以上のプロセッサにより実行される１つ以上のプログラムを格納するメモリとを備える電子デバイスにより実行される方法であって、
複数の同時のタッチをタッチ感知表面で検知するステップと、
複数の異なるタッチリストを含むタッチイベントを受け取るステップと、
前記タッチイベントをウェブページに埋め込まれたコードを用いて処理するステップと
を備え、
前記複数の異なるタッチリストは、前記タッチイベントのターゲットと関連する全てのタッチのための第１のタッチリストと、全ての変化したタッチのための第２のタッチリストとを少なくとも含むことを特徴とする方法。
【請求項２】
前記複数の異なるタッチリストは、
前記タッチ感知表面において検出された全てのタッチのための第３のタッチリスト
を更に含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記第１のタッチリストにおける１つ以上のタッチと関連した前記タッチイベントを処理するステップを含むことを特徴とする請求項１又は２に記載の方法。
【請求項４】
各タッチリストは、前記ウェブページ上の１つ以上のタッチを識別するためにタッチイベントデータを含み、該タッチイベントデータは、タッチ識別子と少なくとも１セットのタッチ位置座標とを含み、
前記各タッチリストは更に各タッチと関連するタッチイベントターゲットを含み、
前記少なくとも１セットのタッチ位置座標は、クライアント座標、ページ座標、及び、スクリーン座標のうちの少なくとも１つを含む
ことを特徴とする請求項１乃至３のいずれか１項に記載の方法。
【請求項５】
２つ以上のタッチイベントを合成してジェスチャーイベントを生成するステップを更に備えることを特徴とする請求項４に記載の方法。
【請求項６】
前記ジェスチャーイベントは、スケール情報及び回転情報のうちの一つを含み、前記スケール情報はスケール値を含み、前記回転情報は回転値を含むことを特徴とする請求項５に記載の方法。
【請求項７】
前記複数の異なるタッチリストに含まれる値との関連で、表示された前記ウェブページを動的に更新するステップを更に備えることを特徴とする請求項１乃至６のいずれか１項に記載の方法。
【請求項８】
前記複数の異なるタッチリストに含まれる値との関連で、前記ウェブページに表示されている要素を動的に回転またはリサイズするステップを更に備えることを特徴とする請求項１乃至６のいずれか１項に記載の方法。
【請求項９】
前記複数の異なるタッチリストに含まれる値との関連で、前記ウェブページに表示されている要素を動的に回転及びリサイズするステップを更に備えることを特徴とする請求項１乃至６のいずれか１項に記載の方法。
【請求項１０】
１つ以上のプロセッサと、前記１つ以上のプロセッサにより実行される１つ以上のプログラムを格納するメモリとを備える電子デバイスであって、
前記１つ以上のプログラムは、
複数の同時のタッチをタッチ感知表面で検知し、
複数の異なるタッチリストを含むタッチイベントを受け取り、
前記タッチイベントをウェブページに埋め込まれたコードを用いて処理する
ためのインストラクションを含み、
前記複数の異なるタッチリストは、前記タッチイベントのターゲットと関連する全てのタッチのための第１のタッチリストと、全ての変化したタッチのための第２のタッチリストとを少なくとも含むことを特徴とする電子デバイス。
【請求項１１】
前記複数の異なるタッチリストは、
前記タッチ感知表面において検出された全てのタッチのための第３のタッチリスト
を更に含むことを特徴とする請求項１０に記載の電子デバイス。
【請求項１２】
前記１つ以上のプログラムは、前記第１のタッチリストにおける１つ以上のタッチと関連した前記タッチイベントを処理するためのインストラクションを含むことを特徴とする請求項１０または１１に記載の電子デバイス。
【請求項１３】
各タッチリストは、前記ウェブページ上の１つ以上のタッチを識別するためにタッチイベントデータを含み、該タッチイベントデータは、タッチ識別子と少なくとも１セットのタッチ位置座標とを含み、
前記各タッチリストは更に各タッチと関連するタッチイベントターゲットを含み、
前記少なくとも１セットのタッチ位置座標は、クライアント座標、ページ座標、及び、スクリーン座標のうちの少なくとも１つを含む
ことを特徴とする請求項１０乃至１２のいずれか１項に記載の電子デバイス。
【請求項１４】
前記１つ以上のプログラムは、２つ以上のタッチイベントを合成してジェスチャーイベントを生成するためのインストラクションを含むことを特徴とする請求項１３に記載の電子デバイス。
【請求項１５】
前記ジェスチャーイベントは、スケール情報及び回転情報のうちの一つを含み、前記スケール情報はスケール値を含み、前記回転情報は回転値を含むことを特徴とする請求項１４に記載の電子デバイス。
【請求項１６】
前記１つ以上のプログラムは、前記複数の異なるタッチリストに含まれる値との関連で、表示された前記ウェブページを動的に更新するためのインストラクションを含むことを特徴とする請求項１０乃至１５のいずれか１項に記載の電子デバイス。
【請求項１７】
前記１つ以上のプログラムは、前記複数の異なるタッチリストに含まれる値との関連で、前記ウェブページに表示されている要素を動的に回転またはリサイズするインストラクションを更に備えることを特徴とする請求項１０乃至１５のいずれか１項に記載の電子デバイス。
【請求項１８】
前記１つ以上のプログラムは、前記複数の異なるタッチリストに含まれる値との関連で、前記ウェブページに表示されている要素を動的に回転及びリサイズするインストラクションを更に備えることを特徴とする請求項１０乃至１５のいずれか１項に記載の電子デバイス。
【請求項１９】
電子デバイスの１つ以上のプロセッサにより実行される１つ以上のプログラムを格納するコンピュータで読み取り可能な記憶媒体であって、
前記１つ以上のプログラムは、
複数の同時のタッチをタッチ感知表面で検知し、
複数の異なるタッチリストを含むタッチイベントを受け取り、
前記タッチイベントをウェブページに埋め込まれたコードを用いて処理する
ためのインストラクションを含み、
前記複数の異なるタッチリストは、前記タッチイベントのターゲットと関連する全てのタッチのための第１のタッチリストと、全ての変化したタッチのための第２のタッチリストとを少なくとも含むことを特徴とする記憶媒体。
【請求項２０】
前記複数の異なるタッチリストは、
前記タッチ感知表面において検出された全てのタッチのための第３のタッチリスト
を更に含むことを特徴とする請求項１９に記載の記憶媒体。
【請求項２１】
前記１つ以上のプログラムは、前記第１のタッチリストにおける１つ以上のタッチと関連した前記タッチイベントを処理するためのインストラクションを含むことを特徴とする請求項１９または２０に記載の記憶媒体。
【請求項２２】
各タッチリストは、前記ウェブページ上の１つ以上のタッチを識別するためにタッチイベントデータを含み、該タッチイベントデータは、タッチ識別子と少なくとも１セットのタッチ位置座標とを含み、
前記各タッチリストは更に各タッチと関連するタッチイベントターゲットを含み、
前記少なくとも１セットのタッチ位置座標は、クライアント座標、ページ座標、及び、スクリーン座標のうちの少なくとも１つを含む
ことを特徴とする請求項１９乃至２１のいずれか１項に記載の記憶媒体。
【請求項２３】
前記１つ以上のプログラムは、２つ以上のタッチイベントを合成してジェスチャーイベントを生成するためのインストラクションを含むことを特徴とする請求項２２に記載の記憶媒体。
【請求項２４】
前記ジェスチャーイベントは、スケール情報及び回転情報のうちの一つを含み、前記スケール情報はスケール値を含み、前記回転情報は回転値を含むことを特徴とする請求項２３に記載の記憶媒体。
【請求項２５】
前記１つ以上のプログラムは、前記複数の異なるタッチリストに含まれる値との関連で、表示された前記ウェブページを動的に更新するためのインストラクションを含むことを特徴とする請求項１９乃至２４のいずれか１項に記載の記憶媒体。
【請求項２６】
前記１つ以上のプログラムは、前記複数の異なるタッチリストに含まれる値との関連で、前記ウェブページに表示されている要素を動的に回転またはリサイズするインストラクションを更に備えることを特徴とする請求項１９乃至２４のいずれか１項に記載の記憶媒体。
【請求項２７】
前記１つ以上のプログラムは、前記複数の異なるタッチリストに含まれる値との関連で、前記ウェブページに表示されている要素を動的に回転及びリサイズするインストラクションを更に備えることを特徴とする請求項１９乃至２４のいずれか１項に記載の記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に、ウェブブラウジングサービスに係る。
【背景技術】
【０００２】
ドキュメント内のテキストベース情報の構造を記述すると共に、そのテキストを双方向
フォーム、埋め込まれた映像及び他のオブジェクトで補足するための手段をなすマークア
ップ言語を使用して、ウェブページが生成される。１つの普及したマークアップ言語は、
カギ括弧で囲まれたタグの形態で書かれたハイパーテキストマークアップ言語（ＨＴＭＬ
）である。ＨＴＭＬは、ウェブページの見掛け及び意味を記述することができると共に、
ウェブブラウザ及び他のＨＴＭＬプロセッサの振舞いに影響する埋め込み型スクリプト言
語コード（例えば、ＪａｖａＳｃｒｉｐｔ（登録商標））を含むことができる。Ｊａｖａ
Ｓｃｒｉｐｔ（登録商標）は、マウスイベントハンドラー又はイベントリスナーをウェブ
ページに追加する能力を開発者に与える。これらのマウスイベントハンドラーは、ウェブ
ページの特定の領域に指定され、そしてマウスアップ又はマウスダウンイベントのような
マウスイベントをこれらの領域において受け取るように構成することができる。
【発明の概要】
【０００３】
対照的に、タッチ感知装置でナビゲートされるウェブページは、ユーザが１つ以上の指
でウェブページにタッチしそしてジェスチャーをなすことで発生されたタッチイベントに
応答することがしばしば必要である。従来のマウスイベントハンドラーは、これらタッチ
イベントを正しく解釈することができない。従って、タッチイベントは、タッチイベント
を正しく解釈すると共に、タッチ感知ディスプレイ又は装置の能力を開発者が完全に利用
できるようにするための異なるタッチイベントモデルを必要としている。
【０００４】
タッチ感知装置から１つ以上のタッチ入力信号を得ることができる。タッチイベントモ
デルを使用し、それらタッチ入力信号に基づいてタッチ及び／又はジェスチャーイベント
を決定することができる。このタッチ及びジェスチャーイベントは、タッチ感知装置上に
表示されるウェブページの異なる領域から発生されるタッチ入力信号に関連付けることが
できる。プログラミングインターフェイスを通して少なくとも１つのタッチ又はジェスチ
ャーイベントへのアクセスを与えることができる。
【０００５】
ある実施形態では、ウェブブラウザにおいて、方法は、ジェスチャーイベントに関連し
た回転値を受け取るステップと、その回転値に基づいてウェブブラウザにおけるジェスチ
ャーイベントに関連したウェブページのエレメントを動的に回転するステップであって、
前記回転値が、度での相対的デルタであるようなステップとを備えている。ジェスチャー
イベントは、２つ以上のタッチイベントを含むことができる。
【０００６】
ある実施形態では、ウェブブラウザにおいて、方法は、ジェスチャーイベントに関連し
たスケーリング値を受け取るステップと、そのスケーリング値に基づいてウェブブラウザ
におけるジェスチャーイベントに関連したウェブページのエレメントを動的にサイズ変更
するステップであって、前記スケーリング値が、ドキュメントピクセルでの相対的デルタ
であるようなステップとを備えている。ジェスチャーイベントは、２つ以上のタッチイベ
ントに関連付けることができる。
【０００７】
ある実施形態では、ウェブブラウザにおいて、方法は、タッチリストを受け取るステッ
プを備え、このタッチリストは、ウェブページにおける１つ以上のタッチを識別するため
のタッチデータを含み、このタッチデータは、タッチ識別子と、少なくとも１セットのタ
ッチ位置座標とを含み、更に、タッチリストは、各タッチに関連したタッチイベントター
ゲットに対するデータを含み、前記少なくとも１セットのタッチ位置座標は、クライアン
ト座標のセットと、ページ座標のセットと、スクリーン座標のセットとを含む。タッチデ
ータは、１つ以上の変更されたタッチを識別することができる。
【０００８】
システム、方法及びコンピュータ読み取り可能な媒体に向けられた他の実施形態も開示
される。
【図面の簡単な説明】
【０００９】
【図１Ａ】、
【図１Ｂ】例示的なウェブページドキュメントを示す。
【図２】例示的なマルチタッチケーパブル装置の処理スタックを示す。
【図３】タッチイベントを処理するための例示的プロセスのフローチャートである。
【図４】例示的なマルチタッチケーパブル装置を示す。
【図５】図４のマルチタッチケーパブル装置に対する例示的なネットワークオペレーティング環境のブロック図である。
【図６】図４のマルチタッチケーパブル装置の実施例のブロック図である。
【発明を実施するための形態】
【００１０】
例示的ウェブページ構造及びＤＯＭ
図１Ａは、ブラウザに表示できる例示的ウェブページ１００を示す。ブラウザは、図４
のマルチタッチケーパブル(multi-touch capable)装置４００のようなポータブル装置に
ホストされてもよい。ウェブページ１００には、１つ以上のエレメント、即ちエレメント
１０２（“エレメント１”）、エレメント１０４（“エレメント２”）及びエレメント１
０６（“エレメント３”）を表示することができる。これらエレメント１０２、１０４、
１０６は、ユーザが選択できるウェブページ１００の領域に対応することができ、選択の
結果として付加的な機能を与えることができる。例えば、これらエレメントは、ウェブペ
ージ１００のボタンに対応する。又、１つのエレメントが別のエレメントを含むようにエ
レメントをネスト構成にすることもできる。例えば、エレメント１０４は、エレメント１
０８を含む。図示された例では、エレメント１０８は、例えば、メディアプレーヤユーザ
インターフェイスであるエレメント１０４内にネストされたスクラバーコントロールであ
る。
【００１１】
ある実施形態において、ユーザは、マウスではなく指を使用してウェブページ１００の
エレメントで種々のファンクションを遂行することができる。ユーザは、例えば、図４に
示すタッチ感知ディスプレイ４０２を使用してウェブページ１００のエレメントにタッチ
することができる。一実施例では、ユーザは、１つ以上の指でエレメントにタッチし及び
／又はスワイプ、ピンチ又は回転運動のようなジェスチャーを行うことで、エレメントを
選択することができる。タッチ入力信号を確認するために、ウェブページ１００のあるエ
リアをタッチイベントハンドラーに関連付けることができる。これは、図１Ｂを参照して
述べるように、ＤＯＭ及び埋め込まれたスクリプト言語で行うことができる。
【００１２】
図１Ｂは、ウェブページ１００に関連付けられた例示的ＤＯＭ１５０である。このＤＯ
Ｍ１５０は、ウェブページ１００の構造的表示を与えるもので、スクリプト言語（例えば
、ＪａｖａＳｃｒｉｐｔ（登録商標））で解釈できるオブジェクトのセットとしてウェブ
ページコンテンツを記述する。ある実施形態において、ＤＯＭ１５０は、ウェブページ１
００のエレメント１０２、１０４、１０６、１０８をツリーの個々のノードにマップする
ことによりウェブページの構造へのアクセスを与える。例えば、エレメント１０２は、ノ
ード１５４に対応する。エレメント１０４は、ノード１５６に対応する。エレメント１０
６は、ノード１５８に対応する。エレメント１０８は、ノード１６０に対応する。根ノー
ド１５２は、全ウェブページ１００に対応する。
【００１３】
ある実施形態において、ウェブページ１００の１つ以上のエレメント１０２、１０４、
１０６、１０８は、ＤＯＭ１５０の対応ノードをタッチイベントハンドラーに関連付ける
ことにより、１つ以上の対応するタッチイベントハンドラーに関連付けることができる。
タッチイベントハンドラーは、ウェブページ１００のＨＴＭＬタグに挿入できると共に、
例えば、ユーザがウェブページ１００の１つのエレメントにタッチするか又はその中でジ
ェスチャーするときに、スクリプト言語を実行してアクションを遂行することができる。
例えば、ＪａｖａＳｃｒｉｐｔ（登録商標）は、ＤＯＭ１５０と共に機能して、異なるタ
ッチイベントにアクションをアタッチすることができる。
【００１４】
ある実施形態では、１つ以上のエレメント１０２、１０４、１０６、１０８が、イベン
トハンドラー又はリスナーにより検出されたタッチ入力を受け取ることができる。タッチ
入力は、図２を参照して説明するように、ソフトウェアスタックの１つ以上のレイヤにお
いて実施できるタッチイベントモデルによって検出されてタッチイベントへと処理するこ
とができる。タッチイベントは、ウェブページ１００により更に処理することができる。
タッチイベントは、タッチ感知装置により発生される生のタッチ入力信号よりもアプリケ
ーションにおいて使用し易いフォーマット（例えば、属性）である。例えば、各タッチイ
ベントは、タッチが現在発生しているところの座標のセットを含むことができる。
【００１５】
ウェブページ１００における各エレメント、及びその関連イベントハンドラーは、タッ
チイベントを受け取り、処理し、取り扱うことができる。例えば、ドライバ２０２（図２
）が、エレメント１０２に関連したタッチポイント１１０を感知するか、又はエレメント
１０４に関連したタッチポイント１１２を感知する場合に、エレメント１０２又は１０４
に関連したイベントハンドラーは、エレメントにタッチしたことを指示する個別のタッチ
イベントを各々受け取ることができ、そして任意であるが、そのタッチイベントを更なる
処理のためにウェブページ１００へ送ることができる。ある実施形態において、イベント
ハンドラーに対応しないウェブページ１００の領域にタッチした場合には、アプリケーシ
ョンレイヤ２１４のブラウザが、ウェブページ１００ではなく、入力を処理することがで
きる。
【００１６】
ある実施形態では、ＤＯＭ１５０においてノードごとに指ごとにタッチイベントを検出
することができる。例えば、ユーザは、実質的に同時にタッチポイント１１０及びタッチ
ポイント１１２においてタッチ感知ディスプレイ４０２にタッチすることができ、そして
タッチイベントモデルにより２つの個別のタッチイベントを検出することができる。ＤＯ
Ｍ１５０における各ノード１０２及びノード１０４は個別のタッチイベントハンドラーに
関連しているので、タッチポイント１１０及びタッチポイント１１２に対して個別のタッ
チイベントを検出することができる。
【００１７】
ある実施形態において、タッチイベントは、ＥｖｅｎｔＴａｒｇｅｔとしてウェブペー
ジ１００へ配送することができる。タッチイベントの幾つかの例は、ｔｏｕｃｈｓｔａｒ
ｔ（タッチ開始）、ｔｏｕｃｈｍｏｖｅ（タッチ移動）、ｔｏｕｃｈｅｎｄ（タッチ終了
）、及びｔｏｕｃｈｃａｎｃｅｌ（タッチキャンセル）を含むことができる。他のタッチ
イベントも考えられる。ｔｏｕｃｈｓｔａｒｔは、イベントハンドラーに関連したウェブ
ページ１００の領域においてタッチ感知ディスプレイ４０２にユーザが最初に指を置いた
ときに検出されるタッチイベントである。ユーザがウェブページ１００上で自分の指を動
き回らせると、１つ以上のｔｏｕｃｈｍｏｖｅイベントを検出することができる。ユーザ
がウェブページ１００から自分の指を持ち上げると、ｔｏｕｃｈｅｎｄイベントが検出さ
れる。システムが普通のイベントハンドリングを中断するときには、ｔｏｕｃｈｃａｎｃ
ｅｌを検出することができる。例えば、偶発的なタッチを防止するためにタッチ感知ディ
スプレイ４０２がロックされたときにｔｏｕｃｈｃａｎｃｅｌイベントが生じる。
【００１８】
又、ある実施形態において、２つ以上のタッチイベントを合成することによりジェスチ
ャーイベントを検出することもできる。タッチイベントと同様に、ジェスチャーイベント
（ＧｅｓｔｕｒｅＥｖｅｎｔ）を、ＥｖｅｎｔＴａｒｇｅｔとしてウェブページ１００へ
配送することもできる。ジェスチャーイベントの幾つかの例は、ｇｅｓｔｕｒｅｓｔａｒ
ｔ（ジェスチャー開始）、ｇｅｓｔｕｒｅｃｈａｎｇｅ（ジェスチャー変更）、及びｇｅ
ｓｔｕｒｅｅｎｄ（ジェスチャー終了）である。ジェスチャーイベントは、スケール及び
／又は回転情報を含むことができる。回転情報は、度での相対的デルタである回転値を含
むことができる。ウェブページ１００のエレメントは、この回転値に基づいて動的に回転
することができる。スケール情報は、ドキュメントピクセルでの相対的デルタであるスケ
ール値を含むことができる。ジェスチャーイベントに関連したウェブページ１００のエレ
メントは、このスケール値に基づいて動的にサイズ変更することができる。他のジェスチ
ャーイベントも考えられる。
【００１９】
ある実施形態では、ウェブページ１００上の１つ以上のタッチを識別するためのタッチ
イベントデータを含むタッチリストを受け取ることができる。タッチイベントデータは、
タッチ識別子と、少なくとも１セットのタッチ位置座標とを含むことができる。又、タッ
チリストは、各タッチに関連したタッチイベントターゲットに対するタッチイベントデー
タも含むことができる。ある実施形態では、１セットのタッチ位置座標は、クライアント
座標、ページ座標、及びスクリーン座標を含むことができる。ある実施形態では、タッチ
イベントデータは、１つ以上の変更されたタッチを識別することができる。
【００２０】
ある実施形態では、ＧｅｓｔｕｒｅＥｖｅｎｔを、ＴｏｕｃｈＥｖｅｎｔの前にウェブ
ページ１００へ送り出すことができる。例えば、ユーザがタッチポイント１１０及びタッ
チポイント１１２に指を置いて、タッチ感知ディスプレイ上で指を時計方向又は反時計方
向に動かして回転ジェスチャーを行う場合には、タッチイベントモデルがこれらの複数タ
ッチイベントを検出し、そのタッチイベントをジェスチャーイベントへと合成する。次い
で、このジェスチャーイベントをウェブページ１００へ送り、その後、そのジェスチャー
イベントを形成するために合成されたタッチイベントを送ることができる。このように、
開発者は、ジェスチャーイベント、及びジェスチャーイベントの個々のタッチイベントに
アクセスすることができ、これは、ウェブアプリケーションを開発するときに、より大き
な融通性を開発者に与えるものである。
【００２１】
ある実施形態では、タッチイベントが次の順序で受け取られる。即ち、ｔｏｕｃｈｓｔ
ａｒｔイベント、１つ以上のｔｏｕｃｈｍｏｖｅイベント、そしてｔｏｕｃｈｅｎｄ又は
ｔｏｕｃｈｃａｎｃｅｌイベント。図１Ａの実施例を使用すると、ユーザがタッチポイン
ト１１０にタッチしたときに、エレメント１０２に関連した第１のタッチイベントハンド
ラーにより第１のｔｏｕｃｈｓｔａｒｔイベントが検出される。ユーザがタッチポイント
１１２にタッチすると、エレメント１０４に関連した第２のタッチイベントハンドラーに
より第２のｔｏｕｃｈｓｔａｒｔイベントが検出される。ユーザが自分の指を持ち上げず
に自分の指を回転するにつれて、第１及び第２のタッチイベントハンドラーがｔｏｕｃｈ
ｍｏｖｅイベントを検出し、これは、タッチイベントモデルにより回転ジェスチャーイベ
ントとして解釈することができる。ユーザが回転を終了して自分の指をウェブページ１０
０から持ち上げると、第１及び第２のタッチイベントハンドラーがｔｏｕｃｈｅｎｄイベ
ントを検出する。これらのタッチイベントの全部又は幾つかを、タッチイベント「アプリ
ケーションプログラミングインターフェイス（ＡＰＩ）」により、開発者に利用できるよ
うにすることができる。タッチＡＰＩは、「ソフトウェアデベロープメントキット（ＳＤ
Ｋ）」として、又はアプリケーションの一部分として（例えば、ブラウザツールキットの
一部分として）開発者に利用できるようにすることができる。タッチイベントＡＰＩは、
その種々のファンクションを遂行するために、他のサービス、フレームワーク及びオペレ
ーティングシステムに依存することができる。これらのサービス、フレームワーク及びオ
ペレーティングシステムは、図２を参照して述べるようにソフトウェア又は処理スタック
の一部分でよく、ここでは、アプリケーションにおけるイベントアクションを定義するた
めにドキュメントに挿入できる属性にタッチイベントが関連付けされる。
【００２２】
例示的ＩＤＬ
例示的なタッチイベントモデルを、「インターフェイス記述言語（ＩＤＬ）」で以下に
説明する。ＩＤＬのファンクション及びデータ構造は、ウェブ設計者又はアプリケーショ
ン開発者によりＡＰＩを通してアクセスすることができる。タッチイベント及び／又はジ
ェスチャーイベントへのアクセスは、アプリケーションにおけるイベントアクションを定
義するためにマークアップ言語ドキュメント（例えば、ＨＴＭＬ、ＸＭＬ）に挿入できる
属性に関連付けることができる。例えば、これら属性は、タッチ感知ディスプレイ４０２
に表示されるウェブページを発生するためにＨＴＭＬドキュメントの１つ以上のＨＴＭＬ
タグに挿入することができる。イベントアクションは、植え込み型スクリプト（例えば、
ＪａｖａＳｃｒｉｐｔ（登録商標））を実行することを含むことができる。
0005715590.tif 000002
0005715590.tif 000003
【００２３】
次は、上述した例示的ＩＤＬを使用してタッチイベントを処理するためのＨＴＭＬコー
ド断片の例である。以下のＨＴＭＬは、例えば、タッチイベントリスナーＴｏｕｃｈＳｔ
ａｒｔ及びＧｅｓｔｕｒｅＳｔａｒｔが、ＨＴＭＬコードをもつエレメントに追加された
ことを示す。
0005715590.tif 000004
【００２４】
前記ＩＤＬに対応するＨＴＭＬコードは、次のものでよい。
0005715590.tif 000005
0005715590.tif 000006
0005715590.tif 000007
0005715590.tif 000008
0005715590.tif 000009
【００２５】
マルチタッチ装置のための例示的処理スタック
図２は、例示的なマルチタッチケーパブル装置の処理スタックを示す図である。上述し
たタッチイベントモデルは、処理スタックの１つ以上の領域及びスタックにおけるユーザ
の種々のリソースにおいて実施することができる。ハードウェア２００のレイヤは、種々
のハードウェアインターフェイスコンポーネント、例えば、タッチ感知又はイネーブル型
装置或いはタッチ感知ディスプレイを含むことができる。タッチ感知装置は、ディスプレ
イと、複数のタッチを同時に感知するパネルとを含むことができる。又、ハードウェアレ
イヤ２００は、タッチ感知ディスプレイ又は装置の向き（例えば、肖像、風景）を検出す
るための加速度計も含むことができる。従って、向きを表す信号は、最適な表示のために
ウェブページをスケーリングするようにタッチイベントモデルにより使用することができ
る。
【００２６】
ドライバレイヤ２０２における１つ以上のドライバは、ハードウェア２００と通信する
ことができる。例えば、ドライバは、ハードウェアレイヤ２００のタッチ感知ディスプレ
イ又は装置によって発生されるタッチ入力信号を受け取って処理することができる。コア
オペレーティングシステム（ＯＳ）２０４は、ドライバ（１つ又は複数）と通信すること
ができる。コアＯＳ２０４は、ドライバ（１つ又は複数）から受け取られた生の入力デー
タを処理することができる。ある実施形態では、ドライバは、コアＯＳ２０４の一部分で
あると考えることもできる。
【００２７】
ＯＳアプリケーションプログラミングインターフェイス（ＡＰＩ）２０６のセットがコ
アＯＳ２０４と通信することができる。これらのＡＰＩは、オペレーティングシステムと
共に通常含まれるＡＰＩのセットでよい（例えば、Ｌｉｎｕｘ（登録商標）又はＵＮＩＸ（登録商標）  ＡＰＩ）。
コアファウンデーションＡＰＩ２０８のセットは、ＯＳ  ＡＰＩ２０６を使用することが
でき、そしてファウンデーションＡＰＩ２１０のセットは、コアファウンデーションＡＰ
Ｉ２０８を使用することができる。
【００２８】
ウェブページソフトウェア開発キット（ＳＤＫ）２１０は、装置で実行されるアプリケ
ーションにより使用するように設計されたＡＰＩのセットを含むことができる。タッチイ
ベントＡＰＩは、例えば、ウェブページＳＤＫ２１０に含ませることができる。ウェブペ
ージＳＤＫ２１０のＡＰＩは、ファウンデーションＡＰＩ２０８を使用することができる
。ウェブページＳＤＫ２１０は、例えば、アップル社により提供されるウェブキットを含
むことができる。ウェブページＳＤＫ２１０は、ＡＰＩとしてオファーすることもできる
し、或いはアプリケーション、例えば、アップル社により提供されるＳＡＦＡＲＩ（登録
商標）のようなブラウザを通してアクセスすることもできる。
【００２９】
装置で実行されるアプリケーション２１４は、ウェブページＳＤＫ２１０のＡＰＩを使
用してウェブページを生成することができる。次いで、ウェブページＳＤＫ２１０のＡＰ
Ｉは、低レベルエレメントと通信し、最終的には、タッチ感知ディスプレイ又は装置及び
種々の他のユーザインターフェイスハードウェアと通信することができる。各レイヤは、
その下のレイヤを使用できるが、これは、常に必要とされない。例えば、ある実施形態で
は、装置２１４は、ＯＳ  ＡＰＩ２０６と時々通信することができる。
【００３０】
例示的タッチイベントプロセス
図３は、ＡＰＩを経てタッチ及び／又はジェスチャーイベントへのアクセスを与えるた
めのプロセス３００のフローチャートである。このプロセス３００は、１つ以上のタッチ
入力信号を得ることで開始できる（３０２）。タッチ入力信号は、タッチ感知ディスプレ
イ又は装置から得ることができる。タッチイベント及び／又はジェスチャーの決定は、タ
ッチイベントモデルを使用してタッチ入力信号に基づいて行うことができる（３０４）。
タッチイベントは、タッチ感知ディスプレイ又は装置に表示されるウェブページの領域に
関連付けることができる。例えば、タッチ感知ディスプレイは、移動電話のディスプレイ
でよく、タッチ感知装置は、ノードブックコンピュータのタッチ感知パッドでよい。タッ
チイベント及び／又はジェスチャーイベントへのアクセスは、プログラミングインターフ
ェイスを経て与えることができる（３０６）。例えば、図２を参照して上述したＨＴＭＬ
断片については、この断片をウェブ開発者によりＨＴＭＬドキュメントに挿入し、タッチ
及び／又はジェスチャーイベントへのアクセスを開発者に与えることができる。タッチイ
ベント及び／又はジェスチャーイベントは、ＨＴＭＬドキュメントのコードによって更に
処理されて、イベントアクションを開始することができる（３０６）。
【００３１】
移動装置の概略
図４は、例示的なマルチタッチケーパブル装置４００のブロック図である。ある実施形
態では、マルチタッチケーパブル装置４００は、タッチ感知ディスプレイ４０２を備えて
いる。このタッチ感知ディスプレイ４０２は、液晶ディスプレイ（ＬＣＤ）技術、光放射
ポリマーディスプレイ（ＬＰＤ）技術、又は他のディスプレイ技術を実施することができ
る。タッチ感知ディスプレイ４０２は、ユーザとの触覚及び／又は触感接触を感知するこ
とができる。
【００３２】
ある実施形態では、タッチ感知ディスプレイ４０２は、マルチタッチ感知ディスプレイ
４０２である。タッチ感知ディスプレイ４０２は、例えば、複数の同時タッチポイントを
処理することができ、これは、各タッチポイントの圧力、程度及び／又は位置に関連した
データを処理することを含む。このような処理は、複数の指でのジェスチャー及び相互作
用、コーディング(chording)、及び他の相互作用を容易にする。他のタッチ感知ディスプ
レイ技術、例えば、スタイラス又は他のポインティング装置を使用して接触がなされるデ
ィスプレイも、使用することができる。マルチタッチ感知ディスプレイ技術の幾つかの例
が、米国特許第６，３２３，８４６号、第６，５７０，５５７号、第６，６７７，９３２
号、及び米国特許公告第２００２／００１５０２４Ａ１号に説明されており、その各々は
、参考としてここにそのまま援用する。ある実施形態では、マルチタッチケーパブル装置
４００は、種々のシステムオブジェクトへのユーザアクセスを与えると共にユーザへ情報
を伝達するためにタッチ感知ディスプレイ４０２に１つ以上のグラフィックユーザインタ
ーフェイスを表示することができる。
【００３３】
例示的なマルチタッチケーパブル装置のファンクション
ある実施形態において、マルチタッチケーパブル装置４００は、電話装置、ｅ−メール
装置、ネットワークデータ通信装置、Ｗｉ−Ｆｉベースステーション装置、及び媒体処理
装置のような複数の装置ファンクションを実施することができる。ある実施形態では、マ
ルチタッチケーパブル装置４００は、ウェブページ（例えば、ウェブページ１００）を表
示するためのウェブブラウザ４０４を含むことができる。タッチ感知ディスプレイ４０２
は、ウェブページ１００において作られるタッチ入力信号を受け取ることができ、そして
上述したタッチモデルを使用して、タッチ入力信号に基づきタッチ及び／又はジェスチャ
ーイベントを決定することができる。ある実施形態では、マルチタッチケーパブル装置４
００は、ネットワーク配布ファンクションを実施することができる。ある実施形態では、
タッチ感知ディスプレイ４０２は、マルチタッチケーパブル装置４００がユーザの耳の付
近にあるときに、ロックダウンすることができる。このロックダウンは、図１Ｂを参照し
て述べたように、ｔｏｕｃｈｃａｎｃｅｌイベントを生じさせる。
【００３４】
ある実施形態では、加速度計４７２は、方向矢印４７４により指示されたように、マル
チタッチケーパブル装置４００の移動を検出するのに使用することができる。従って、表
示オブジェクト及び又は媒体は、例えば、肖像又は風景のような検出された向きに基づい
てプレゼンテーションすることができる。ある実施形態では、マルチタッチケーパブル装
置４００は、グローバルポジショニングシステム（ＧＰＳ）、又は他のポジショニングシ
ステム（例えば、Ｗｉ−Ｆｉアクセスポイント、テレビジョン信号、セルラーグリッド、
ユニフォームリソースロケータ（ＵＲＬ）を使用するシステム）により与えられるような
位置決定能力をサポートするための回路及びセンサを含むことができる。ある実施形態で
は、ポジショニングシステム（例えば、ＧＰＳ受信器）は、マルチタッチケーパブル装置
４００に一体化することもできるし、又は位置に基づくサービスへのアクセスを与えるよ
うにインターフェイスを経てマルチタッチケーパブル装置４００に結合できる個別の装置
として設けることもできる。又、マルチタッチケーパブル装置４００は、１つ以上のワイ
ヤレス通信サブシステムを含むこともできる。
【００３５】
ある実施形態では、例えば、ユニバーサルシリアルバス（ＵＳＢ）ポート又はドッキン
グポート或いは他のワイヤードポート接続のようなポート装置を含ませることができる。
このポート装置は、例えば、他のコンピューティング装置、例えば、他のマルチタッチケ
ーパブル装置４００、ネットワークアクセス装置、パーソナルコンピュータ、プリンタ、
又はデータを受信及び／又は送信できる他の処理装置へのワイヤード接続を確立するのに
使用することができる。ある実施形態では、ポート装置は、マルチタッチケーパブル装置
４００が、１つ以上のプロトコル、例えば、ＴＣＰ／ＩＰ、ＨＴＴＰ、ＵＤＰ及び他の既
知のプロトコルを使用して、ホスト装置と同期をとれるようにする。
【００３６】
ネットワークオペレーティング環境
図５は、図４のマルチタッチケーパブル装置４００に対する例示的なネットワークオペ
レーティング環境６００のブロック図である。図４のマルチタッチケーパブル装置４００
は、例えば、データ通信において１つ以上のワイヤード及び／又はワイヤレスネットワー
ク５１０を経て通信することができる。例えば、ワイヤレスネットワーク５１２、例えば
、セルラーネットワークは、ゲートウェイ５１６の使用により、インターネットのような
ワイドエリアネットワーク（ＷＡＮ）５１４と通信することができる。同様に、８０２．
１１ｇワイヤレスアクセスポイントのようなアクセスポイント５１８は、ワイドエリアネ
ットワーク５１４へ通信アクセスを与えることができる。ある実施形態では、ワイヤレス
ネットワーク５１２及びアクセスポイント５１８を経て音声及びデータの両通信を確立す
ることができる。例えば、マルチタッチケーパブル装置４００ａは、（例えば、ＶｏＩＰ
プロトコルを使用して）電話コールを発信及び受信することができ、（例えば、ＰＯＰ３
プロトコルを使用して）ｅ−メールメッセージを送信及び受信することができ、且つ（例
えば、ＴＣＰ／ＩＰ又はＵＤＰプロトコルを使用して）ワイヤレスネットワーク５１２、
ゲートウェイ５１６及びワイドエリアネットワーク５１４を経てウェブページ、写真及び
ビデオのような電子ドキュメント及び／又はストリームを検索することができる。同様に
、マルチタッチケーパブル装置４００ｂは、電話コールを発信及び受信し、ｅ−メールメ
ッセージを送信及び受信し、且つアクセスポイント５１８及びワイドエリアネットワーク
５１４を経て電子ドキュメントを検索することができる。ある実施形態では、マルチタッ
チケーパブル装置４００は、１つ以上のケーブルを使用してアクセスポイント５１８へ物
理的に接続することができ、又、アクセスポイント５１８は、パーソナルコンピュータで
よい。この構成では、マルチタッチケーパブル装置４００は、「テザード(tethered)」装
置と称することができる。
【００３７】
又、マルチタッチケーパブル装置４００ａ及び４００ｂは、他の手段により通信を確立
することもできる。例えば、マルチタッチケーパブル装置４００ａは、ワイヤレスネット
ワーク５１２を経て、他のワイヤレス装置、例えば、他のマルチタッチケーパブル装置４
００、セルラー電話、等と通信することができる。同様に、マルチタッチケーパブル装置
４００ａ及び４００ｂは、図４に示すＢｌｕｅｔｏｏｔｈ（登録商標）通信装置４８８の
ような１つ以上の通信サブシステムの使用により、例えば、パーソナルエリアネットワー
クのようなピア・ツー・ピア通信５２０を確立することができる。又、他の通信プロトコ
ル及びトポロジーを実施することもできる。
【００３８】
マルチタッチケーパブル装置４００は、例えば、１つ以上のワイヤード及び／又はワイ
ヤレスネットワーク５１０を経てネットワークリソース５３０と通信することができる。
例えば、ネットワークリソースは、図１及び２を参照して述べたように、タッチモデルを
経てタッチできるウェブページを配送するためのウェブサーバーでよい。
【００３９】
又、マルチタッチケーパブル装置４００上のソフトウェアに対してソフトウェア更新が
存在するかどうか自動的に決定し、次いで、そのソフトウェア更新をマルチタッチケーパ
ブル装置４００にダウンロードし、そこで、手動で又は自動的にアンパックし及び／又は
インストールすることのできるソフトウェア更新サービスを含む他のサービスを提供する
こともできる。
【００４０】
例示的移動装置アーキテクチャー
図６は、図４のマルチタッチケーパブル装置４００の実施形態のブロック図６００であ
る。マルチタッチケーパブル装置４００は、メモリインターフェイス６０２と、１つ以上
のデータプロセッサと、映像プロセッサ及び／又は中央処理ユニット６０４と、周辺イン
ターフェイス６０６とを含むことができる。メモリインターフェイス６０２、１つ以上の
プロセッサ６０４及び／又は周辺インターフェイス６０６は、個別のコンポーネントでも
よいし、或いは１つ以上の集積回路に一体化されてもよい。マルチタッチケーパブル装置
４００における種々のコンポーネントは、１つ以上の通信バス又は信号ラインにより結合
することができる。
【００４１】
センサ、装置及びサブシステムは、複数のファンクションを容易にするために、周辺イ
ンターフェイス６０６に結合することができる。例えば、運動センサ６１０、光センサ６
１２、及び接近センサ６１４は、図４を参照して述べた方向、照明及び接近ファンクショ
ンを容易にするために、周辺インターフェイス６０６に結合することができる。又、関連
ファンクションを容易にするために、ポジショニングシステム（例えば、ＧＰＳ受信器）
、温度センサ、生体測定センサ、又は他のセンサ装置のような他のセンサ６１６を周辺イ
ンターフェイス６０６に接続することもできる。
【００４２】
又、記録写真及びビデオクリップのようなカメラファンクションを容易にするために、
カメラサブシステム６２０及び光学的センサ６２２、例えば、電荷結合装置（ＣＣＤ）又
は相補的金属酸化物半導体（ＣＭＯＳ）光学的センサを使用することができる。
【００４３】
又、高周波受信器及び送信器、及び／又は光学的（例えば、赤外線）受信器及び送信器
を含む１つ以上のワイヤレス通信サブシステム６２４により通信ファンクションを容易に
することができる。通信サブシステム６２４の特定の設計及び実施は、マルチタッチケー
パブル装置４００が動作することが意図された通信ネットワーク（１つ又は複数）に依存
する。例えば、マルチタッチケーパブル装置４００は、ＧＳＭ（登録商標）ネットワーク、ＧＰＲＳネ
ットワーク、ＥＤＧＥネットワーク、Ｗｉ−Ｆｉ又はＷｉＭａｘネットワーク、及びＢｌ
ｕｅｔｏｏｔｈ（登録商標）ネットワークを経て動作するように設計された通信サブシス
テム６２４を含むことができる。特に、ワイヤレス通信サブシステム６２４は、装置５０
０が他のワイヤレス装置のためのベースステーションとして構成されるようにホスティン
グプロトコルを含むことができる。
【００４４】
オーディオサブシステム６２６は、ボイスイネーブル型ファンクション、例えば、音声
認識、音声複写、デジタル記録及び電話ファンクションを容易にするために、スピーカ６
２８及びマイクロホン６３０に結合することができる。
【００４５】
Ｉ／Ｏサブシステム６４０は、タッチスクリーンコントローラ６４２及び／又は他の入
力コントローラ６４４（１つ又は複数）を含むことができる。タッチスクリーンコントロ
ーラ６４２は、タッチスクリーン６４６に結合することができる。タッチスクリーン６４
６及びタッチスクリーンコントローラ６４２は、例えば、これらに限定されないが、容量
性、抵抗性、赤外線、及び表面音波技術、並びにタッチスクリーン６４６との１つ以上の
接触ポイントを決定するための他の接近センサアレイ又は他の素子を含む複数のタッチ感
知技術のいずれかを使用して、接触及び移動又はその切断を検出することができる。
【００４６】
他の入力コントローラ６４４（１つ又は複数）は、他の入力／制御装置６４８、例えば
、１つ以上のボタン、ロッカースイッチ、サムホイール、赤外線ポート、ＵＳＢポート、
及び／又はスタイラス等のポインタ装置に結合することができる。１つ以上のボタン（図
示せず）は、スピーカ６２８及び／又はマイクロホン６３０の音量制御のためのアップ／
ダウンボタンを含むことができる。
【００４７】
一実施形態では、第１時間中ボタンを押すと、タッチスクリーン６４６のロックが解離
し、その第１時間より長い第２時間中ボタンを押すと、マルチタッチケーパブル装置４０
０への電源をターンオン又はオフにすることができる。ユーザは、１つ以上のボタンのフ
ァンクションをカスタマイズすることができる。タッチスクリーン６４６は、例えば、バ
ーチャル又はソフトボタン、及び／又はキーパッド又はキーボードを実施するのにも使用
できる。
【００４８】
ある実施形態では、マルチタッチケーパブル装置４００は、ＭＰ３、ＡＡＣ、およびＭ
ＰＥＧファイルのような記録されたオーディオ及び／又はビデオファイルをプレゼンテー
ションすることができる。ある実施形態では、マルチタッチケーパブル装置４００は、ｉ
ＰｏｄTMのようなＭＰ３プレーヤのファンクションを含むことができる。それ故、マルチ
タッチケーパブル装置４００は、ｉＰｏｄに適合できる３２ピンコネクタを含むことがで
きる。又、他の入力／出力及び制御装置を使用することもできる。
【００４９】
メモリインターフェイス６０２は、メモリ６５０に結合することができる。メモリ６５
０は、高速ランダムアクセスメモリ及び／又は不揮発性メモリ、例えば、１つ以上の磁気
ディスク記憶装置、１つ以上の光学的記憶装置、及び／又はフラッシュメモリ（例えば、
ＮＡＮＤ、ＮＯＲ）を含むことができる。メモリ６５０は、オペレーティングシステム６
５２、例えば、Ｄａｒｗｉｎ、ＲＴＸＣ、ＬＩＮＵＸ、ＵＮＩＸ、ＯＳ  Ｘ、ＷＩＮＤＯ
ＷＳ（登録商標）、又は埋め込み型オペレーティングシステム、例えば、ＶｘＷｏｒｋｓを記憶するこ
とができる。オペレーティングシステム６５２は、基本的システムサービスをハンドリン
グし及びハードウェア依存性タスクを遂行するためのインストラクションを含むことがで
きる。
【００５０】
又、メモリ６５０は、１つ以上の付加的な装置、１つ以上のコンピュータ、及び／又は
１つ以上のサーバーとの通信を容易にするために通信インストラクション６５４を記憶す
ることもできる。メモリ６５０は、グラフィックユーザインターフェイス処理を容易にす
るためのグラフィックユーザインターフェイスインストラクション６５６、センサ関連処
理及びファンクションを容易にするためのセンサ処理インストラクション６５８、電話関
連プロセス及びファンクションを容易にするための電話インストラクション６６０、電子
メッセージング関連プロセス及びファンクションを容易にするための電子メッセージング
インストラクション６６２、ウェブブラウジング関連プロセス及びファンクションを容易
にするためのウェブブラウジングインストラクション６６４、メディア処理関連プロセス
及びファンクションを容易にするためのメディア処理インストラクション６６６、ＧＰＳ
及びナビゲーション関連プロセス及びファンクションを容易にするためのＧＰＳ／ナビゲ
ーションインストラクション６６８、カメラ関連プロセス及びファンクションを容易にす
るためのカメラインストラクション６７０、及び／又は図１−５を参照して述べたプロセ
ス及びファンクションを容易にするための他のメッセージングインストラクション６７２
を含むことができる。
【００５１】
上述したインストラクション及びアプリケーションの各々は、上述した１つ以上のファ
ンクションを遂行するためのインストラクションのセットに対応することができる。これ
らのインストラクションは、個別のソフトウェアプログラム、手順又はモジュールとして
実施される必要はない。メモリ６５０は、付加的なインストラクションを含むこともでき
るし、又はより少数のインストラクションを含んでもよい。マルチタッチケーパブル装置
４００の種々のファンクションは、１つ以上の信号処理及び／又は特定用途向け集積回路
を含めて、ハードウェア及び／又はソフトウェアで実施することができる。
【００５２】
ここに述べる特徴は、デジタル電子回路、或いはコンピュータハードウェア、ファーム
ウェア、ソフトウェア、又はそれらの組合せで実施することができる。これらの特徴は、
プログラム可能なプロセッサにより実行するために、例えば、マシン読み取り可能な記憶
装置又は伝播信号のような情報キャリアに明白に埋め込まれたコンピュータプログラム製
品において具現化することができ、そして入力データに対して動作して出力を発生するこ
とにより前記実施形態のファンクションを遂行するためにインストラクションのプログラ
ムを実行するプログラム可能なプロセッサにより方法ステップを遂行することができる。
【００５３】
上述した特徴は、データ記憶システムからデータ及びインストラクションを受け取ると
共にデータ記憶システムへデータ及びインストラクションを送り出すように結合された少
なくとも１つのプログラム可能なプロセッサと、少なくとも１つの入力装置と、少なくと
も１つの出力装置とを含むプログラム可能なシステムにおいて実行できる１つ以上のコン
ピュータプログラムにおいて具現化できるのが好都合である。コンピュータプログラムと
は、コンピュータに直接的又は間接的に使用して、あるアクティビティを遂行するか又は
ある結果を得ることができるインストラクションのセットである。コンピュータプログラ
ムは、コンパイルされた言語又は解釈された言語を含む任意の形態のプログラミング言語
（例えば、Ｏｂｊｅｃｔｉｖｅ−Ｃ、Ｊａｖａ）で書くことができ、そしてコンピューテ
ィング環境で使用するのに適したコンポーネント、サブルーチン又は他のユニットをスタ
ンドアローンプログラム又はモジュールとして含む任意の形態で展開することができる。
【００５４】
インストラクションのプログラムを実行するのに適したプロセッサは、例えば、任意の
種類のコンピュータの、汎用及び特殊目的の両マイクロプロセッサ、単独プロセッサ又は
マルチプロセッサ又はコアの１つを含む。一般的に、プロセッサは、リードオンリメモリ
又はランダムアクセスメモリ或いはその両方からインストラクション及びデータを受け取
る。コンピュータの本質的要素は、インストラクションを実行するためのプロセッサと、
インストラクション及びデータを記憶するための１つ以上のメモリである。又、一般的に
、コンピュータは、データファイルを記憶するための１つ以上の大量記憶装置を含むか、
又はそれらと通信するように作動的に結合され、このような装置は、磁気ディスク、例え
ば、内部ハードディスク及び取り外し可能なディスクと、磁気−光学ディスクと、光学的
ディスクとを含む。コンピュータプログラムインストラクション及びデータを明白に実施
するのに適した記憶装置は、例えば、ＥＰＲＯＭ、ＥＥＰＲＯＭ及びフラッシュメモリ装
置のような半導体メモリ装置と、内部ハードディスク及び取り外し可能なディスクのよう
な磁気ディスクと、磁気−光学ディスクと、ＣＤ−ＲＯＭ及びＤＶＤ−ＲＯＭディスクと
を含む全ての形態の不揮発性メモリを含む。プロセッサ及びメモリは、ＡＳＩＣ（特定用
途向け集積回路）により補足することもできるし又はそれに組み込むこともできる。
【００５５】
ユーザとの対話を与えるために、ユーザに情報を表示するためのディスプレイ装置、例
えば、ＣＲＴ（陰極線管）又はＬＣＤ（液晶ディスプレイ）モニタと、ユーザがコンピュ
ータへ入力を与えることのできるキーボード及びポインティング装置、例えば、マウス又
はトラックボールとを有するコンピュータにおいて、これらの特徴を具現化することがで
きる。
【００５６】
又、データサーバーのようなバックエンドコンポーネントを含むか、アプリケーション
サーバー又はインターネットサーバーのようなミドルウェアコンポーネントを含むか、或
いはグラフィックユーザインターフェイス又はインターネットブラウザ或いはその組合せ
を有するクライアントコンピュータのようなフロントエンドコンポーネントを含むコンピ
ュータシステムにおいて、これらの特徴を具現化することもできる。システムのこれらの
コンポーネントは、通信ネットワークのような任意のデジタルデータ通信形態又は媒体に
よって接続することができる。通信ネットワークは、例えば、ＬＡＮ、ＷＡＮ、及びイン
ターネットを形成するコンピュータ及びネットワークを含む。
【００５７】
コンピュータシステムは、クライアント及びサーバーを含むことができる。クライアン
ト及びサーバーは、一般的に、互いに離れており、典型的に、ネットワークを通して対話
する。クライアント及びサーバーの関係は、各コンピュータにおいて実行されて互いにク
ライアント−サーバー関係を有するコンピュータプログラムによって生じる。
【００５８】
多数の実施形態について説明した。それでも、種々の変更がなされ得ることを理解され
たい。例えば、１つ以上の実施形態の要素を結合、削除、変更、又は補足して、更に別の
実施形態を形成することができる。更に別の実施例として、図示された論理フローは、希
望の結果を達成するのに、図示された特定の順序又は逐次の順序を必要とするものではな
い。更に、他のステップを設けてもよいし、又は上述したフローからステップを削除して
もよく、更に、上述したシステムに他のコンポーネントを追加しても、又、そこから除去
してもよい。従って、これら他の実施形態は、特許請求の範囲に包含される。
【符号の説明】
【００５９】
１００：ウェブページ
１０２：エレメント１（ノード１）
１０４：エレメント２（ノード２）
１０６：エレメント３（ノード３）
１０８：エレメント４（ノード４）
１１０：タッチ
１１２：タッチ
１５２：ノード０
１５４：ノード１
１５６：ノード２
１５８：ノード３
１６０：ノード４
２００：ハードウェア
２０２：ドライバ
２０４：コアＯＳ
２０６：コアファウンデーション
２０６：ＯＳ  ＡＰＩ
２０８：ファウンデーション
２１０：ウェブページＳＤＫ
２１２：アプリケーション
５１４：ワイドエリアネットワーク
５１６：ゲートウェイ
５１８：アクセスポイント
５３０：ネットワークリソース（ウェブサーバー）
【図１Ａ】
0005715590.tif 000010
【図１Ｂ】
0005715590.tif 000011
【図２】
0005715590.tif 000012
【図３】
0005715590.tif 000013
【図４】
0005715590.tif 000014
【図５】
0005715590.tif 000015
【図６】
0005715590.tif 000016