(57)【特許請求の範囲】
【請求項１】
プロセッサを備えるコンピュータによって実行される方法であって、該方法は、
複数のテンプレート要素を定義するステップであって、複数のテンプレート要素は、それぞれ１または複数のページレイアウトと、１または複数のマスターページとを含み、前記１または複数のマスターページは、それぞれがウェブサイトの全てのウェブページによって共有され、ウェブページコンテンツを表示するデバイスのタイプにより異なる汎用領域を提供し、前記１または複数のページレイアウトは、ウェブページコンテンツを表示するデバイスのタイプを識別するルールに基づいて定義される、ステップと、
ユーザーエージェント文字列を含むウェブページ要求を受信するステップと、
前記複数のテンプレート要素の各々を複数のチャネルの１つに関連付けるステップと、
前記ユーザーエージェント文字列の少なくとも１つの構成要素に基づいて前記複数のチャネルの１つを識別するステップと、
識別されたチャネルと関連付けられた複数のテンプレート要素の１または複数を含むウェブページをレンダリングするステップと、
レンダリングされたウェブページを、ウェブページ要求を生成しているユーザーデバイスへ伝えるステップと、
を含む方法。
【請求項２】
前記ウェブページ要求は、要求されたウェブページのアドレスを識別し、前記レンダリングされたウェブページを、ウェブページ要求を生成しているユーザーデバイスへ伝えるステップは、レンダリングされたウェブページを要求されたウェブページのアドレスで伝えるステップをさらに含む、請求項１に記載の方法。
【請求項３】
前記ユーザーエージェント文字列の少なくとも１つの構成要素が、前記ウェブページ要求を生成するために使用される前記ユーザーデバイスを識別する、請求項１に記載の方法。
【請求項４】
前記ユーザーエージェント文字列の少なくとも１つの構成要素は、ウェブページ要求を生成するために使用される前記ユーザーデバイスにより使用されるブラウザを識別する、請求項１に記載の方法。
【請求項５】
前記ページレイアウトにより提供されるパネルは、携帯電話から生成される要求に関連付けられた複数のチャネルのうち１つに前記ウェブページコンテンツの少なくとも１つの部分を関連付ける、請求項１に記載の方法。
【請求項６】
プロセッサを有するコンピュータにより実行される方法であって、
１または複数の構成要素を有するユーザーエージェント文字列を有するウェブページ要求を受信するステップと、
前記ウェブページ要求に含まれる前記ユーザーエージェント文字列の１または複数の構成要素に基づいて、受信されたウェブページ要求に関連付けられたデバイスのタイプ又はブラウザのタイプのうち少なくとも１つを決定するステップと、
決定されたデバイスのタイプまたはブラウザのタイプのうち少なくとも１つに基づいて、レンダリングチャネルを識別するステップであって、前記レンダリングチャネルは、ウェブページをレンダリングする１または複数のテンプレート要素に事前に関連付けられており、個々の前記１または複数のテンプレート要素は、１または複数のページレイアウトと、１または複数のマスターページとを含み、前記１または複数のマスターページは、それぞれがウェブサイトの全てのウェブページによって共有され、コンテンツを表示するデバイスのタイプにより異なる汎用領域を提供し、前記１または複数のページレイアウトは、コンテンツを表示するデバイスのタイプを識別するルールに基づいて定義される、ステップと、
受信されたウェブページ要求に応答して、識別された前記レンダリングチャネルと関連付けられた１または複数のテンプレート要素を用いて、前記ウェブページをレンダリングするステップと、
レンダリングされたウェブページを、前記ウェブページ要求を生成しているユーザーデバイスに伝えるステップと、
を含む、方法。
【請求項７】
前記ウェブページ要求を生成しているユーザーデバイスにレンダリングされた前記テンプレート要素を伝えるステップをさらに含む、請求項６に記載の方法。
【請求項８】
１または複数のテンプレート要素を定義するステップをさらに含む、請求項６に記載の方法。
【請求項９】
前記１または複数のテンプレート要素を定義するステップは、１または複数のマスターページを定義するステップと、１または複数のページレイアウトを定義するステップをさらに含む、請求項８に記載の方法。
【請求項１０】
前記ユーザーエージェント文字列の少なくとも１つの構成要素が、ウェブページ要求を生成するために使用されるデバイス、ウェブページ要求を生成するために使用されるデバイスの地球物理学的な位置、およびウェブページ要求を生成するために使用されるブラウザのうち少なくとも１つを識別する、請求項６に記載の方法。
【請求項１１】
前記ウェブページ要求が、ハイパーテキスト転送プロトコル要求である、請求項６に記載の方法。
【請求項１２】
前記ウェブページ要求がクッキーを識別する、請求項６に記載の方法。
【請求項１３】
クッキーの少なくとも１つの構成要素に基づいて、前記レンダリングチャネルを識別するステップをさらに含む、請求項１２に記載の方法。
【請求項１４】
複数のパネルでページレイアウトを定義するステップをさらに含み、複数のパネルのそれぞれが、複数のレンダリングチャネルの１つと関連付けられている、請求項６に記載の方法。
【請求項１５】
前記ウェブページ要求のユーザーエージェント文字列の１つの構成要素に基づく識別されたレンダリングチャネルを、クッキーで指定されるユーザ指定ルールに基づく別のレンダリングチャネルに置き換えるステップをさらに含む、請求項６に記載の方法。
【請求項１６】
１または複数のプロセッサと、
１または複数のプロセッサに通信可能に結合されているメモリを備え、該メモリは命令を格納し、該命令は１または複数のプロセッサにより実行されると、１または複数のプロセッサに
複数のテンプレート要素を定義するステップであって、複数のテンプレート要素は、それぞれ１または複数のページレイアウトと、１または複数のマスターページとを含み、前記１または複数のマスターページは、それぞれがウェブサイトの全てのウェブページによって共有され、コンテンツを表示するデバイスのタイプにより異なる汎用領域を提供し、前記１または複数のページレイアウトは、コンテンツを表示するデバイスのタイプを識別するルールに基づいて定義される、ステップと、
ユーザーエージェント文字列を含むウェブページ要求を受信するステップと、
前記複数のテンプレート要素の各々を複数のチャネルのうち１つに関連付けるステップと、
前記ユーザーエージェント文字列の少なくとも１つの構成要素に基づいて複数のチャネルのうち１つを識別するステップと、
識別されたチャネルに関連付けられた複数のテンプレート要素のうち１つまたは複数を含むウェブページをレンダリングするステップと、
レンダリングされたウェブページを、前記ウェブページ要求を生成しているユーザーデバイスに伝えるステップと、
を実行させる、コンピュータシステム。
【請求項１７】
レンダリングされたウェブページを格納するよう構成されたキャッシュをさらに備える、請求項１６に記載のコンピュータシステム。
【請求項１８】
前記命令は、また、１または複数のプロセッサにより実行されると、１または複数のプロセッサに、レンダリングされたウェブページを、前記ウェブページ要求しているユーザーデバイスへ伝えさせる、請求項１７に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ウェブページのカスタム最適化の技術に関する。
【背景技術】
【０００２】
[0001]インターネットにアクセスすることができるスマートフォンおよび他のモバイルデバイスの普及に伴い、ユーザーはこのようなモバイルデバイスを使用してより頻繁にウェブサイトにアクセスしている。しかしながら、ウェブサイトの大多数は、コンピューターによってアクセスされるように設計されているので、このようなウェブサイトにアクセスするユーザーは、非効率で満足度の低い体験に終わってしまう。様々なデバイスからウェブサイトにアクセスしている様々なユーザーはそれぞれ、ウェブサイトを効率的に使用することができるようにするための１つの手法は、デバイスによって異なるウェブサイトを提供することである。例えば、ウェブサイトwww.thisone.comにアクセスしているユーザーは、m.thisone.comのアドレスを有する異なるウェブサイトにリダイレクトされる。しかしながら、このような手法には、不必要なコンテンツの重複、非効率的なマーケティング、検索エンジンのランキングの低下など、いくつかの問題点がある。
【０００３】
[0002]別の手法では、エンドユーザーの画面サイズなどの要因に基づいてエンドユーザーのブラウザによって、異なるカスケーディングスタイルシート（ＣＳＳ）のアプリケーションを可能にしている。この手法は、ブラウザに依存して、エンドユーザーへのコンテンツの表示方法を決定し、したがってＣＳＳに依存するウェブサイトの開発者は、コンテンツの提示に関して制御性が低くなる。さらに、このようなコンテンツの一部がエンドユーザーに表示されない場合でも、コンテンツのすべてがブラウザに送信されており、これはコンテンツの通信にとって無駄である。さらに別の手法では、ウェブサイトにアクセスするデバイスの識別情報に基づいて、コンテンツおよび提示形式を自動的にリファクタリングするツールを使用している。しかしながらこの手法でも、ウェブサイトの設計者は、ウェブサイトを様々なデバイス上でユーザーに提示する方法の結果として生じるルックアンドフィールを完全に制御することはできない。したがって、この手法は、帯域幅の問題のみに対処するように設計されており、ウェブサイトの設計者に適切な設計の選択を与えていない。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、前述の問題に対処して、様々なユーザーデバイスで使用するために最適化されたウェブページをユーザーが生成できるようにする、ウェブページ最適化システムを提供することである。
【課題を解決するための手段】
【０００５】
ウェブページ最適化システムの１つの実施形態では、ウェブページを生成するために使用されるいくつかのマスターページおよびページレイアウトが定義され、マスターページのそれぞれが、ウェブサイトのすべてのページによって共有される汎用領域を画定し、ページレイアウトのそれぞれが、コンテンツおよびこのようなコンテンツのウェブページ上の配置を定義する。ウェブページ最適化システムはまた、いくつかのチャネルを定義し、マスターページおよびページレイアウトをチャネルに関連付ける。チャネルのそれぞれが、ユーザーデバイスと関連付けられる。ウェブページ最適化システムは、ウェブページ要求のユーザーエージェント文字列の構成要素、例えば、要求を生成するユーザーデバイス、要求を生成するために使用されるブラウザなどを識別し、ウェブページ要求のこのような構成要素によって識別されたチャネルに関連付けられたマスターページおよびページレイアウトを用いて、このようなウェブページ要求に応答してウェブページを表示（レンダリング）する。
【０００６】
[0003]いくつかの実施において、コンピュータープログラム製品を提供する。コンピュータープログラム製品の１つの実施形態では、コンピューティングシステムによって読み取ることができ、プロセッサ実行可能プログラムをエンコードする、有形のコンピュータープログラム記憶媒体を提供する。他の実施形態についても、本明細書において説明し列挙する。
【０００７】
[0004]この概要により、以下の発明を実施するための形態でさらに説明する概念の抜粋を簡略化して紹介している。この節は、特許請求の範囲に記載する対象物の主要な特徴または本質的特徴を特定することを目的としておらず、さらに特許請求の範囲に記載する対象物の範囲を限定することを意図していない。
【０００８】
[0005]他の実施形態についても、本明細書において説明する。
【図面の簡単な説明】
【０００９】
【図１】ウェブページ最適化システムの例示的なデータソースおよびフローを示す図である。
【図２】ウェブ要素データベースの一例を示す図である。
【図３】例示的なマスターページ、例示的なページレイアウトおよびレンダリングされた例示的ウェブページを示す図である。
【図４】クライアントとウェブサーバとの通信の例を示す図である。
【図５】ウェブページ最適化システムの例示的な動作を示す図である。
【図６】本明細書に記載された技術を実施する際に有効な例示的なシステムを示す図である。
【図７】本明細書に記載された技術を実施する際に有効な別の例示的なシステムを示す図である。
【発明を実施するための形態】
【００１０】
[0013]本明細書において開示するウェブページ最適化システムは、多様なデバイスおよびブラウザに表示されるウェブページのカスタム最適化を提供する。具体的には、ウェブページ最適化システムは、ウェブページ要求を生成するためにユーザーによって使用されるデバイスを識別し、デバイスの識別に基づいて、システムは、要求中のデバイスに対してウェブページをレンダリングするために使用されるカスタムマスターページおよびカスタムページレイアウトを選択する。例えば、要求中のデバイスがモバイルデバイスとして識別される場合、より小さく、データ量の少ないヘッダ、フッタなどを用いたマスターページが、要求中のモバイルデバイスに送信されるウェブページを生成するために選択される。同様に、モバイルデバイスで表示するために最適化されたデータを用いたページレイアウトが、このようなウェブページを生成するために使用される。１つの実施形態では、いくつかのチャネルも画定され、各チャネルがマスターページおよびページレイアウトと関連付けられる。
【００１１】
[0014]ウェブページ最適化システムにより、ユーザーは、携帯電話器、スマートフォン、ラップトップなどいくつかのデバイスに最適化されたウェブページを生成するために同じコンテンツを使用することができる。その結果、異なるデバイスを持つユーザーが、同じウェブユニフォームリソースロケータ（ＵＲＬ）からのコンテンツにアクセスすることができる。このような手法は、ウェブサイトに対するいかなる検索エンジンランキング、マーケティングキャンペーンなども、そのウェブサイトへのアクセスにユーザーが使用するデバイスにかかわらず、すべてのユーザーからそのウェブサイトへの組み合わされたウェブトラフィックを使用することを保証する。さらに、ウェブページ最適化システムはまた、モバイルデバイスを定義する際に異なるレベルの特異性（specificity）を提供する。例えば、あらゆるスマートフォン用のウェブページを生成するために、汎用スマートフォンチャネルを設けることができるが、一方、Windows（登録商標） Phone 7オペレーティングシステムを使用するモバイルデバイス用のウェブページを生成するために、個別のチャネルを定義することもできる。
【００１２】
[0015]図１は、ウェブページ最適化システム１００の例示的データソースおよびフローを示す。具体的には、ウェブページ最適化システム１００を使用して、www.newgeographic.comというＵＲＬを有するニュージオグラフィックマガジン（New Geographic magazine）のウェブページをレンダリングし、伝える。ウェブページ最適化システム１００は、ニュージオグラフィックマガジンのウェブサイトを訪れるユーザーにとって最適化されたウェブページを生成するために使用される様々なテンプレート要素を格納するために使用されるデータベース１０２を含む。１つの実施形態では、このようなテンプレート要素は、様々なマスターページ、様々なページレイアウトなどを含む。例えば、データベース１０２は、ヘッダのような、ニュージオグラフィックのウェブサイトのすべてのページによって共有される汎用領域を提供するマスターページI １０８を含む。具体的には、マスターページI １０８は、携帯電話器を使用してニュージオグラフィックマガジンのウェブサイトを訪問する訪問者に提供されることになるウェブページのレンダリングに使用される。同様に、マスターページII １１０は、ニュージオグラフィックマガジンのウェブサイトのすべてのウェブページが、コンピューターを使用してニュージオグラフィックマガジンのウェブサイトを訪問する訪問者に提供されるとき、このようなページによって共有される、ヘッダ、サイドバー、フッタなど汎用領域を提供する。携帯電話器は一般的に、ウェブページを表示するための表示空間の容量が限られているので、マスターページI １０８は、ウェブページを生成するための小さいヘッダのみを含み、サイドバナーは使用されない。一方、ユーザーがコンピューターを使用してニュージオグラフィックのウェブサイトを訪問しているとき、マスターページII １１０が使用されて、より完全で豊富な内容をユーザーに提供するウェブページを生成する。
【００１３】
[0016]データベース１０２はまた、携帯電話器にコンテンツを表示するために構成されたページレイアウトI １１２と、コンピューター画面にコンテンツを表示するために構成されたページレイアウトII １１４とを含む。図１に示すように、ページレイアウトII １１４に提供されるコンテンツ空間の量に比べて、少ない量のコンテンツ空間がページレイアウトI １１２に提供される。１つの実施形態では、ページレイアウト１１２および１１４は、いくつかのパネルを提供され、パネル内のコンテンツは、ある一定のタイプのデバイスにのみ表示される。したがって、大量の数値データを含んだパネルが、ウェブページ開発者によって、コンピューターで表示されるウェブページに含まれることになるパネルとして、識別可能となる。しかしながら、このような数値データは、モバイルデバイス（携帯電話器）に表示されるウェブページに含まれることはない。データベースはまた、様々なチャネル１０４、１０６を含む。様々なチャネル１０４、１０６それぞれは、様々なテンプレート要素と関連付けられる。例えば、モバイルチャネル１０４はマスターページI １０８およびレイアウトI １１２と関連付けられ、コンピューターチャネル１０６はマスターページII １１０およびレイアウトII １１４と関連付けられる。
【００１４】
[0017]１つの実施形態では、データベース１０２は、ユーザーがニュージオグラフィックマガジンのウェブサイトを訪問するとき、ユーザーにウェブページを提供するウェブサーバでホストされる。ユーザーがウェブページを要求するとき、ユーザーは、該ユーザーがウェブページを訪問するために使用するデバイス等のユーザーに関する様々な情報、ユーザーを識別する他の情報なども送信する。このような情報の一例は、ユーザーデバイスのブラウザから、ウェブページを提供しているウェブサーバまで送信されるハイパーテキスト転送プロトコル（http）のユーザーエージェント文字列である。例えば、ユーザーがブラウザを使用してニュージオグラフィックマガジンのウェブサイトにアクセスするとき、www.newgeographic.com １３０というURLと共にユーザー文字列を含むhttp要求が、ウェブサイトをホストしているウェブサーバに送信される。http要求に含まれるユーザーエージェント文字列は、ユーザーが使用するブラウザ、ユーザーが使用するデバイス、ユーザーの地理的位置など、ユーザーを識別する様々な情報を含む。したがって、例えば、携帯電話器ユーザー１２２がニュージオグラフィックマガジンのウェブサイトにアクセスしたいという要求を送信するとき、このような要求にユーザーエージェント文字列が添付され、該文字列は、携帯電話器ユーザー１２２が使用するデバイス、携帯電話器ユーザー１２２が使用するブラウザなどを識別する情報を含む。このようなユーザーエージェント文字列の一例は、以下の通りである。
ユーザーエージェント文字列I：
Mozilla/5.0 (Linux; U; Android 2.2.1; en-us; Nexus One Build/FRG83)
AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
[0018]上記のユーザーエージェント文字列Iは、携帯電話器ユーザー１２２から送信される要求がデバイスをブラウザとして「Mobile Safari」を使用していると識別することを識別する。一方、コンピューターユーザー１２４がニュージオグラフィックマガジンのウェブサイトにアクセスしたいと要求を送信するとき、このような要求に添付されるユーザーエージェント文字列は、異なる構成要素または構成要素値を含むことになる。このようなユーザーエージェント文字列の一例として、以下の文字列をあげることができる。
ユーザーエージェント文字列II：
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)
[0019]ウェブサイトにアクセスしたいという要求が受信されると、デバイス識別エンジン１３２がこのような要求を解析し、ユーザーエージェント文字列の様々な構成要素を解析する。したがって、ユーザーエージェント文字列Iを受け取ると、デバイス識別エンジン１３２はユーザーデバイスを、Safari（商標）ウェブブラウザを使用しているAndroid（商標）モバイルデバイスとして識別する。一方、ユーザーエージェント文字列IIが受信されると、デバイス識別エンジン１３２はユーザーデバイスを、ウェブブラウザとしてInternet Explorer（商標）８を使用しているコンピューターとして識別する。続いて、チャネル選択エンジン１３４が、ユーザーデバイスの識別に基づいてチャネルを選択する。例えば、ユーザーデバイスがモバイルデバイスとして識別される場合、チャネル選択エンジン１３４は、モバイルチャネル１０４を選択する。一方、ユーザーデバイスがコンピューターとして識別される場合、チャネル選択エンジン１３４は、コンピューターチャネル１０６を選択する。
【００１５】
[0020]チャネル選択エンジン１３４がチャネルを選択すると、選択されたチャネルと関連付けられたマスターページおよびページレイアウトが使用されてウェブページをレンダリングし、これがユーザーに提供されることになる。例えば、モバイルチャネル１０４が選択される場合、マスターページI １０８およびレイアウトI １１２が使用されて、モバイルウェブページ１４０をレンダリングする。一方、コンピューターチャネル１０６が選択される場合、マスターページII １１０およびレイアウトII １１４が使用されて、コンピューターウェブページ１４２をレンダリングする。１つの実施では、レンダリングされたウェブページ１４０および１４２は、将来の使用に備えてキャッシュに格納され、任意の他のユーザーがニュージオグラフィックマガジンのウェブサイトからのウェブページを要求するとき、マスターページ、レイアウト、およびコンテンツをアセンブルする必要がなく、このようなウェブページを配信することができる。さらには、ウェブページのコンテンツに何らかの変更があるときはいつでも、ウェブページ１４０および１４２のすべてを自動的に生成し、将来の使用に備えてキャッシュに格納することができる。このようにウェブページのキャッシュおよび更新を同時に行うことにより、ウェブページ最適化システム１００の性能が強化される。ウェブページがキャッシュされると、ウェブサイトおよびデータベース１０２をホストしているサーバは、別のユーザーからの特定の要求にキャッシュから応えることができるかどうかを判断する。１つの実施形態において、特定の要求にキャッシュから応えることができると判断される場合、システムはウェブページ１４０、１４２のすべてを再びレンダリングする。
【００１６】
[0021]ウェブページ最適化システム１００の例示の実施形態は、単に２つのチャネルを開示しているが、iPad（商標）などタブレットデバイスに対応するタブレットチャネルのようなさらに別のチャネルを提供することもできる。さらに、ウェブページ最適化システム１００の例示の実施形態は、単にすべてのモバイルデバイスに選択される１つのモバイルチャネル１０４を開示しているが、代替的実施形態においては、異なるタイプのモバイルデバイスに、異なるチャネルが提供される。したがって、このような実施においては、Apple（商標）スマートフォンに、Windows（登録商標）スマートフォンに、Android（商標）スマートフォンに、その他に、別個のチャネルが提供される。さらに代替的には、ウェブページ最適化システム１００の実施形態は、ウェブページにアクセスするために使用されるブラウザに基づいて識別されるチャネルを含む。したがって、例えば、Firefox（商標）ブラウザ、Internet Explorer（商標）ブラウザ、Safari（商標）ブラウザなどに、別個のチャネルが対応する。
【００１７】
[0022]いくつかの状況において、デバイス識別エンジン１３２がユーザーエージェント文字列を解析するとき、デバイス識別エンジン１３２は、指定されたチャネルがないユーザーデバイスまたはユーザーブラウザを識別することもまた可能である。このような状況に対処するために、データベース１０２の実行が、チャネル１０４、１０６の１つをデフォルトチャネルとして指定する。デフォルトチャネルは、ユーザーエージェント文字列から入手できる情報に基づいて他のチャネルを選択できない場合に選択される。さらに代替的には、ウェブ最適化システム１００は、デフォルトマスターページ、デフォルトレイアウトなども指定する。
【００１８】
[0023]ウェブ最適化システム１００は、デバイスタイプ、ブラウザタイプなどに基づいて選択される異なるチャネルを有するように示されているが、代替的実施においては、ユーザー要求から受け取られる他の情報に基づいて、異なるチャネルが選択される。例えば、ユーザー要求が、ユーザーの地理的位置などユーザーを識別する他の情報と共にクッキーも含む場合、およびウェブ最適化システム１００がこのようなユーザー識別情報を使用する許可を有する場合、このような識別情報を使用して特定のチャネルが選択される。
【００１９】
[0024]さらに、図示のウェブページ最適化システム１００は、チャネル１０４、１０６のそれぞれを、そのようなチャネルに関連する１つのマスターページおよび１つのレイアウトを有するように示しているが、代替的実施形態では、１つのマスターページが２つ以上のチャネルによって使用される。さらに代替的には、複数のチャネルを同じマスターページであるが異なるレイアウトを有するマスターページに関連付けることができる。これは、データベース１０２の設計者が多数のチャネルのそれぞれのテンプレートを開発していないときでも、設計者にこのようなチャネルを指定する柔軟性を与える。ユーザーが作成することができるチャネルの数は、様々な最適化および効率の基準に基づいて決定することができる。
【００２０】
[0025]ウェブ最適化システム１００により、いくつかのオーバーライド(override)ルールが提供される。例えば、オーバーライドルールによれば、チャネル選択エンジン１３４が、ウェブ要求に応えるためにモバイルチャネル１０４を選択していても、ウェブ要求またはクッキーが、ユーザーはコンピューターのウェブページ１４２に興味があることを示唆する場合、ウェブ要求はコンピューターチャネル１０６と関連付けられることになる。さらに代替的には、このようなオーバーライドルールは、マスターページおよびレイアウトの異なる組合せを要求することもできる。したがって、例示的ユーザーオーバーライドが、マスターページI １０８およびレイアウトII １１４を使用して生成されるウェブページを要求する。このような場合、ウェブ最適化システム１００は、このようなウェブページを生成し、将来の使用に備えてこれをキャッシュに格納することになる。さらに、オーバーライドルールの階層構造も提供され、２つ以上のオーバーライド要求が受け取られる場合、ウェブページ最適化システム１００は、このような要求間で優先順位を決めるように構成される。
【００２１】
[0026]ウェブ最適化システム１００のオーバーライド機能を使用すると、ユーザーエージェント文字列からのデータに基づいて生成されたウェブページとは異なるウェブページのバージョンを、ユーザーが要求することができる。例えば、iPad（商標）を使用するユーザーが、ウェブページを要求するとき、ユーザーエージェント文字列に基づいて、チャネル選択エンジン１３４は、タブレットチャネルを選択する。しかしながら、ユーザーは、クッキーを使用して、ウェブ最適化システム１００に、ユーザーがコンピューターのウェブページ１４２を受信することに興味を持っていることを知らせることができ、この場合、コンピューターチャネル１０６が選択される。さらに、クッキーは永続的であるので、ウェブ最適化システム１００は、クッキーによって識別される選択を記憶する。
【００２２】
[0027]ウェブ最適化システム１００の代替的実施形態では、ウェブサイトの開発者がカスタム論理をプラグインできるようにするプログラミング可能フック（programmability hook）を提供する。例えば、開発者が、いくつかのカスタム論理を使用して、チャネルに開発者のカスタムニーズに適合する機能を行わせることができる。このようなプログラミング可能フックはまた、ウェブページ最適化システム１００の趣旨(argument)または挙動(behavior)を変更するために使用することもできる。１つの実施形態では、このようなプログラミング可能フックにより、開発者は、ユーザーがiPhone（商標）のApp等の特定のアプリケーションを使用してウェブサイトにアクセスしていることを検出することに応答して、ウェブページを生成するためにマスターページおよびレイアウトの組合せを選択することができる。代替的には、開発者は、ウェブページ要求のユーザーエージェント文字列によって暗示されるデバイス画面のサイズを検出することに基づいて、チャネルの選択をオーバーライドすることができる。
【００２３】
[0028]開発者がマスターページおよびレイアウトの開発段階の間に様々なウェブページ１４０、１４２を閲覧できるようにするために、ウェブ最適化システム１００はまた、ユーザーに様々なウェブページのレンダリングをシミュレートする機能を提供する。例えば、開発モードの間に、たとえ開発者がコンピューターを使用してウェブ最適化システム１００に要求を送信しても、開発者はモバイルウェブページ１４０がレンダリングされることを指定することができる。またある実施形態では、コンピューター上のシミュレートされたモバイルデバイス画面にモバイルウェブページ１４０を表示するシミュレーションアプリケーションを提供する。
【００２４】
[0029]図２は、ニュージオグラフィックマガジンのウェブサーバによって使用されるウェブページ最適化システムで使用される例示的な要素データベース２００を示す。要素データベース２００は、いくつかのチャネル２０２をマスターページ２０４に、およびレイアウト２０６に関連付ける。図示のように、モバイルチャネル２１０は、モバイルマスターページ２２０およびモバイルレイアウト２３０と関連付けられている。したがって、ウェブページ要求のユーザーエージェント文字列の構成要素に基づいてモバイルチャネル２１０が選択されるとき、ウェブページを生成するためにモバイルマスターページ２２０およびモバイルレイアウト２３０が使用される。図示のように、モバイルマスターページ２２０は、携帯電話器に容易に表示することができるより狭いバナーを用いて設計される。同様に、モバイルレイアウト２３０はまた、コンパクトであって、画像、グラフなどがないように設計される。
【００２５】
[0030]一方、ウェブページ要求のユーザーエージェント文字列の構成要素に基づいてコンピューターチャネル２１２が選択されるとき、ウェブページを生成するためにコンピューターマスターページ２２２およびコンピューターレイアウト２３２が使用される。コンピューターマスターページ２２２は、より広い見出し、ロゴ、および広告を含む。同様に、コンピューターレイアウト２３２は、コンテンツの拡張的な見出し、ならびにある記事のコンテンツと共に表示されるグラフを含む。コンピューターレイアウト２３２は、パネル２４０中にラップされたグラフ構成要素を含む。データベース２００の１つの実施形態では、コンピューターレイアウト２３２の開発者は、パネルに収められたコンテンツを表示するデバイスのタイプを識別するルールを提供する。例えば、１つの特定の実施形態では、開発者は、コンピューターレイアウト２３２のパネルに収められたコンテンツをコンピューターだけに表示するように定義する。代替的には、このようなルールは、ユーザーエージェント文字列によって識別されるユーザーのブラウザに基づいたルールとすることが可能である。このように、例えば、コンピューターレイアウト２３２のグラフは、Adobe（商標）Flash playerをサポートするブラウザにのみ表示される。
【００２６】
[0031]タブレットチャネル２１４は、コンピューターマスターページ２２２およびコンピューターレイアウト２３２と関連付けられている。データベース２００には、タブレットチャネル２１４用の単独のマスターページおよび単独のレイアウトがないが、後の段階で、タブレットマスターページおよびタブレットレイアウトを追加し、タブレットチャネル２１４と関連付けることができる。データベース２００はまた、デフォルトチャネル２１８を含む。ユーザーエージェント文字列が、ウェブページ要求を生成するデバイス、ブラウザなどを識別することができないとき、デフォルトチャネル２１８が使用されて、ウェブページのレンダリングにデフォルトマスターページ２２４およびデフォルトレイアウト２３４を選択する。コンピューターレイアウト２３２のように、デフォルトレイアウト２３４によって表示されることになるコンテンツの一部は、パネル２４２中にラップされている。このような場合、デフォルトレイアウトの開発者は、パネルに収められた画像の表示に関するルールを指定することができる。
【００２７】
[0032]要素データベース２００を、チャネル２０２を様々なウェブページ要素２０４、２０６に関連付けるように図示しているが、代替的実施形態においては、他のフィールドも提供される。例えば、１つの代替的実施形態においては、チャネル２０２のそれぞれがデバイスと関連している。iPad（商標）がタブレットチャネル２１４に関連する、Blackberry（商標）フォーンがモバイルチャネル２１０に関連するなどである。データベース２００の要素がグラフとして示されていても、実際には、データベースは単に、データベース２００の要素を表すオブジェクトへのポインタを含むように構成することができる。
【００２８】
[0033]図３は、ウェブページ最適化システムにおけるコンピューターマスターページ３００の一例およびコンピューターレイアウト３０２の一例を示す。具体的には、コンピューターマスターページ３００は、ヘッダ３０４、広告付きのサイドバー３０６、ロゴ３０８等のウェブサイトのすべてのページによって共有される汎用領域を提供する。一方、レイアウト３０２は、個々のウェブページのコンテンツに対する構造を提供する第２の視覚的テンプレートである。例えば、ニュース記事を表示するウェブページには、レイアウト３０２は、ニュース記事の見出し３１２、ニュース記事に関するグラフ３１４、およびニュース記事の内容３１６など、記事の様々な構成要素に対して、表示位置、スタイルなどを提供する。コンピューターレイアウト３０２のグラフ構成要素３１４は、パネル３１８中にラップされ、ウェブ開発者は、このようなパネルに収められた構成要素がウェブページでいつ表示されるべきであるかに関するルールを定義することができるようにする。
【００２９】
[0034]コンピューターマスターページ３００およびコンピューターレイアウト２０２は組み合わされて、レンダリングされるコンピューターウェブページ３２０を生成する。この特定の例では、グラフ３１４は、レンダリングされたコンピューターウェブページ３２０上で表示される。これは、パネル３１８中にラップされたコンテンツがコンピューターウェブページ上で表示されるべきであることを規定する、パネル３１８に添付されたルールによるものである。しかしながらルールにより、パネル３１８中にラップされたコンテンツがモバイルウェブページ上に表示されるべきではないことが規定される場合、コンピューターレイアウト３０２を用いて生成されるモバイルウェブページは、グラフ３１４を含まないことになる。
【００３０】
[0035]図４は、ウェブページを要求するクライアント４０２と、ウェブサイトのウェブページを提供するサーバ４０４との間の通信４００の一例を示す。クライアント４０２は、ステップ４１０において、ウェブページ要求をサーバ４０４に送信する。ウェブページ要求は、例えばユーザーがブラウザでウェブサイトのＵＲＬをタイプすること、ユーザーがウェブサイトのリンクをクリックすること、ユーザーがスマートフォン上でアプリケーションを起動することなどに応答して生成される。ウェブページ要求は、ユーザーデバイス、ユーザーブラウザなどを識別する情報を含んだユーザーエージェント文字列を含む。一実施形態において、ユーザーエージェント文字列は、クッキーまたはクッキーを識別する情報も含む。ステップ４１２において、サーバ４０４は、クライアントのウェブページ要求と関連付けられるべきチャネルを判断する。例えば、サーバ４０４が、要求中のデバイスはモバイルデバイスであると判断する場合、モバイルチャネルがウェブページ要求と関連付けられる。
【００３１】
[0036]続いて、サーバ４０４は、ステップ４１４において、ウェブページ要求に応えるために利用することができるキャッシュにウェブページがあるかどうかを判断する。サーバ４０４が最近、同様のデバイスを使用するクライアントに対応していた場合、サーバのキャッシュが要求されたウェブページを有することになり、サーバ４０４は、ステップ４２６において、キャッシュからこのようなウェブページを使用して、ウェブページ要求に応答する。キャッシュにウェブページが見つからない場合、ステップ４１６において、サーバは、ウェブページ要求に応えるために必要な情報を収集する。このような情報は、識別されたチャネルと関連付けられたマスターページ、識別されたチャネルと関連付けられたレイアウト、識別されたマスターページおよび識別されたレイアウトと関連付けられたコンテンツなどを含む。収集された情報を使用して、ステップ４１８において、サーバは、ウェブページをレンダリングする。レンダリングされたページは、ステップ４２０において、クライアント４０２に通信され、クライアント４０２は、ステップ４２２において、ウェブページを表示する。続いて、ステップ４２４において、別のクライアントがウェブページ要求をサーバ４０４に送信すると、サーバ４０４は、ステップ４２６において、キャッシュからクライアント４０２にレンダリングされたウェブページを通信し、クライアントはステップ４２８において、ウェブページを表示する。
【００３２】
[0037]図５は、ウェブページ最適化システムの動作５００の一例を示す。ステップ５０２において、クライアントのウェブページ要求に応えるために使用されることになる様々なチャネルが定義される。例えば、モバイルチャネル、ラップトップチャネル、デスクトップチャネルなどが定義される。代替的には、クライアントデバイスの画面サイズ、クライアントデバイスによって使用されるブラウザなど、他のパラメータに基づいてチャネルを定義することもできる。ステップ５０４において、ウェブページをレンダリングするために使用されるマスターページおよびレイアウトが設計される。代替的実施形態では、ページレイアウトは、繰り返しのコンテンツを表示するいくつかのレイアウト領域によって使用され、様々なデバイスで表示するために最適化された表示テンプレートを含む。例えば、このような繰り返しのコンテンツを様々なデバイスに様々な方法でレンダリングするために、様々な表示テンプレートを使用することができる。さらに、ウェブページレイアウトにデバイス固有のコンテンツを追加することによって、ページコンテンツを最適化することもできる。例えば、ページレイアウトが、コンテンツを仮想コンテナに収めること、パネル中にこのようなコンテンツをラップすること、およびパネルまたは仮想コンテナからコンテンツを表示するためのルールを定義することによって、いくつかのデバイスでは表示されないコンテンツを含むことができる。
【００３３】
[0038]続いて、ステップ５０６において、マスターページおよびレイアウトをチャネルに関連付ける。例えば、タブレットチャネルをコンピューターマスターページおよびモバイルページレイアウトと関連付けることができる。ステップ５０８では、ウェブページを要求するクライアントからのウェブページ要求を受け取る。例えば、このような要求は、ウェブサイトまたは特定のウェブページのＵＲＬを識別するhttp要求である。ウェブページ要求は、多くの場合、要求中のデバイス、要求中のブラウザなどを識別する情報を含んだユーザーエージェント文字列を含む。ステップ５１０において、ウェブページ要求に添付されたユーザーエージェント文字列を解析して、このようなユーザー識別情報を決定する。
【００３４】
[0039]ユーザーエージェント文字列から得られた情報に基づいて、ステップ５１２において、要求されたウェブページを生成するために使用されることになるチャネルを判断する。例えば、ユーザーエージェント文字列が要求中のデバイスをiPad（商標）として識別する場合、ステップ５１２において、要求中のデバイスはタブレットチャネルを使用して、要求中のデバイスに送信されることになるウェブページの構成要素およびコンテンツを集めることができると決定する。ステップ５１４において、マスターページ、レイアウト、およびコンテンツなどの構成要素を、ウェブサーバのデータベースから取り出す。
【００３５】
[0040]続いて、ステップ５１６において、様々な構成要素およびコンテンツを組み立てることによってウェブページをレンダリングする。ステップ５１８において、レンダリングされたウェブページをキャッシュに保存する。このように保存されたウェブページを使用して、他のユーザーからの将来の要求に応えることができる。レンダリングされたウェブページは、ステップ５２０によって要求中のデバイスに伝えられる。要求中のデバイスは、要求中のデバイスがウェブページ要求を生成するために最初に使用したものと同じウェブアドレスから、レンダリングされたウェブページを受け取る。したがって、動作５００は、ユーザーの要求を他のＵＲＬアドレスへリダイレクトすることを含まない。
【００３６】
[0041]図６は、本発明の技術を実施する際に有効なシステムの一例を示す。本発明の技術を実施するための図６の例示のハードウェアおよび動作環境は、ゲーム機の形態の汎用コンピューティングデバイスすなわちコンピューター２０、携帯電話器、携帯情報端末（ＰＤＡ）、セットトップボックス、または他のタイプのコンピューティングデバイスなどの、コンピューティングデバイスを含む。図６の実施形態では、例えば、コンピューター２０は、処理ユニット２１と、システムメモリ２２と、処理ユニット２１にシステムメモリなどの様々なシステム構成要素を動作可能に結合するシステムバス２３とを含む。コンピューター２０のプロセッサが、単一の中央処理装置（ＣＰＵ）を含むように、ただ１つの処理ユニット２１が存在する場合、または一般的に並列処理環境と呼ばれる複数の処理装置を含むように、２つ以上の処理ユニット２１が存在する場合がある。コンピューター２０は、既存のコンピューター、分散コンピューター、または任意の他のタイプのコンピューターとすることができるが、本発明はこれらに限定されるものではない。
【００３７】
[0042]システムバス２３は、メモリバスもしくはメモリコントローラ、周辺機器用バス、交換ファブリック、ポイントツーポイント接続、および様々なバス構造のいずれかを使用するローカルバスを含む、いくつかのタイプのバス構造の任意のものである。システムメモリは、単にメモリと呼ばれることもあり、リードオンリメモリ（ＲＯＭ）２４、およびランダムアクセスメモリ（ＲＡＭ）２５を含む。スタートアップ中などに、コンピューター２０内の要素間で情報を伝達するために役立つ基本的なルーチンを含む基本入出力システム（ＢＩＯＳ）２６は、ＲＯＭ２４に格納されている。コンピューター２０は、ハードディスクからの読み取りおよびハードディスクへの書き込みを行うためのハードディスクドライブ２７と、リムーバブル磁気ディスク２９からの読み取りおよびリムーバブル磁気ディスク２９への書き込みを行うための磁気ディスクドライブ２８と、ＣＤ  ＲＯＭ、ＤＶＤ、または他の光媒体のようなリムーバブル光ディスク３１からの読み取りまたはこれらへの書き込みを行うための光ディスクドライブ３０とを備えている。
【００３８】
[0043]ハードディスクドライブ２７、磁気ディスクドライブ２８、および光ディスクドライブ３０は、それぞれハードディスクドライブのインタフェース３２、磁気ディスクドライブのインタフェース３３、および光ディスクドライブのインタフェース３４によってシステムバス２３に接続される。ドライブおよびそれに関連するコンピューター可読媒体は、コンピューター可読命令、データ構造、プログラムモジュール、および他のデータの不揮発性記憶装置をコンピューター２０に提供する。磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）など、コンピューターによってアクセス可能であるデータを格納することができるいずれのタイプのコンピューター可読媒体も、例示のオペレーティング環境において使用できることは、当業者には理解されるであろう。
【００３９】
[0044]オペレーティングシステム３５、１または複数のアプリケーションプログラム３６、その他のプログラムモジュール３７、およびプログラムデータ３８を含む、いくつかのプログラムモジュールを、ハードディスク、磁気ディスク２９、光ディスク３１、ＲＯＭ２４、またはＲＡＭ２５に格納することができる。ユーザーが、キーボード４０およびポインティングデバイス４２のような入力デバイスを介して、コマンドおよび情報をパーソナルコンピューター２０に入力することができる。他の入力デバイス（図示せず）には、マイク、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナなどが含まれる。これらのおよび他の入力デバイスは、システムバスに結合されたシリアルポートインタフェース４６を介して処理ユニット２１に接続されることが多いが、パラレルポート、ゲームポート、またユニバーサルシリアルバス（ＵＳＢ）など、他のインタフェースによって接続されることも可能である。モニタ４７または他のタイプのディスプレイ装置もまた、ビデオアダプタ４８などのインタフェースを介してシステムバス２３に接続される。コンピューターは、モニタに加えて、スピーカー、およびプリンタなどの他の周辺出力装置（図示せず）を通常備えている。
【００４０】
[0045]コンピューター２０は、リモートコンピューター４９のような１または複数のリモートコンピューターへの論理接続を使用してネットワーク化された環境で動作することができる。これらの論理接続は、結合される通信デバイス、またはコンピューター２０の一部によって実現され、本発明は、特定のタイプの通信デバイスに限定されるものではない。図６では、メモリ記憶デバイス５０のみを示しているが、リモートコンピューター４９は、別のコンピューター、サーバ、ルータ、ネットワークＰＣ、クライアント、ピアデバイス、または他の一般的なネットワークノードとすることができ、通常、コンピューター２０に関連して上述した要素の多くまたは全部を含む。図６に示す論理接続は、ローカルエリアネットワーク（ＬＡＮ）５１と、ワイドエリアネットワーク（ＷＡＮ）５２とを含む。このようなネットワーク環境は、あらゆるタイプのネットワークである、オフィス環境、企業規模のコンピューターネットワーク、イントラネット、およびインターネットにおいて一般的である。
【００４１】
[0046]ＬＡＮのネットワーク環境で使用されるとき、コンピューター２０は、通信デバイスであるネットワークインタフェースまたはアダプタ５３を介してローカルネットワーク５１に接続される。ＷＡＮのネットワーク環境で使用されるとき、コンピューター２０は一般的に、モデム５４、ネットワークアダプタ、あるタイプの通信デバイス、またはワイドエリアネットワーク５２を通じて通信を確立するための他のタイプの通信デバイスを含む。モデム５４は、内蔵または外付けとすることができ、シリアルポートインタフェース４６によってシステムバス２３と接続される。ネットワーク化された環境では、パーソナルコンピューター２０またはその一部と関連して図示したプログラムエンジンを、リモートのメモリ記憶デバイスに格納することができる。図示したネットワーク接続は例であり、コンピューター間の通信リンクを確立する他の手段および通信デバイスを使用できる。
【００４２】
[0047]例示の実施形態では、ウェブページ最適化システムの様々な構成要素を、メモリ２２および／または記憶装置２９もしくは３１に格納され、処理ユニット２１によって処理される命令により具体化することができる。ウェブページ要素データベース、マスターページ、ページレイアウト、および他のデータを、永続的なデータストアとしてメモリ２２、および／または記憶デバイス２９もしくは３１に格納することができる。さらに、ウェブページ最適化システムは、ネットワーク接続されたシステムにサービス機能を提供するように構成されたハードウェアおよび／またはソフトウェアを表す。このようなサービスは、汎用コンピューターおよび専用ソフトウェア（サーバ実行サービスソフトウェアなど）、特殊用途コンピューティングシステムおよび専用ソフトウェア（モバイルデバイスまたはネットワークアプライアンスが実行するサービスソフトウェアなど）、または他のコンピューティング構成を使用して実行することができる。
【００４３】
[0048]図７は、本発明の技術を実施する際に有用な別の例示的システム（モバイルデバイス７００と表示される）を示す。モバイルデバイス７００は、プロセッサ７０２と、メモリ７０４と、ディスプレイ７０６（例えば、タッチスクリーンディスプレイ）と、他のインタフェース７０８（例えば、キーボード）とを含む。メモリ７０４は、一般的には揮発性メモリ（例えば、ＲＡＭ）と、不揮発性メモリ（例えば、フラッシュメモリ）とを含む。Microsoft Windows（登録商標）Phone 7オペレーティングシステムのようなオペレーティングシステム７１０が、メモリ７０４に存在し、プロセッサ７０２によって実行されるが、他のオペレーティングシステムを使用する場合があることを理解すべきである。
【００４４】
[0049]１または複数のアプリケーションプログラム７１２がメモリ７０４にロードされ、プロセッサ７０２によってオペレーティングシステム７１０で実行される。アプリケーション７１２の例には、電子メールプログラム、スケジューリングプログラム、個人情報マネージャー、インターネット閲覧プログラム、マルチメディアプレーヤーアプリケーションなどが含まれるが、これらに限定しない。通知マネージャー７１４もまた、メモリ７０４にロードされ、プロセッサ７０２によって実行されて、ユーザーに通知を提示する。例えば、販売促進商品がトリガされ、買い物客に提示されるとき、通知マネージャー７１４によってモバイルデバイス７００は発信音を鳴らし、または振動し（バイブレーションデバイス７１８による）、ディスプレイ７０６に販売促進商品を表示することができる。
【００４５】
[0050]モバイルデバイス７００は、電力供給装置７１６を含み、電力供給装置７１６は、１または複数の電池または他の電源によって電力を供給され、モバイルデバイス７００の他の構成要素に電力を供給する。電力供給装置７１６は、内蔵電池または他の電源をオーバーライドする、または再充電する外部電源に接続することもできる。
【００４６】
[0051]モバイルデバイス７００は、ネットワーク接続性（例えば、携帯電話器ネットワーク、Wi-Fi（登録商標）、BlueTooth（登録商標）など）を提供するための１または複数の通信トランシーバー７３０を含む。モバイルデバイス７００はまた、測位システム７２０（例えば、全地球測位衛星トランシーバー）、１または複数の加速度計７２２、１または複数のカメラ７２４、音声インタフェース７２６（例えば、マイク、音声増幅器、ならびにスピーカーおよび／または音声ジャック）、ならびに追加記憶装置７２８のような、様々な他の構成要素を含む。他の構成を使用することもできる。
【００４７】
[0052]例示的な実施形態では、メモリ７０４および／または記憶装置７２８に格納され、処理ユニット７０２によって処理される命令によって、ウェブページ最適化システム、ならびに他のモジュールおよびサービスを具現化することができる。マスターページ、レイアウトおよび他のデータを、永続的なデータストアとして、メモリ７０４および／または記憶装置７２８に格納することができる。
【００４８】
[0053]一部の実施形態は、製造品を含むことができる。製造品が、論理を格納するための記憶媒体を含むことができる。記憶媒体の例には、揮発性メモリまたは不揮発性メモリ、取り外し可能なまたは取り外し可能でないメモリ、消去可能なまたは消去不可能なメモリ、書き込み可能なまたは書き換え可能なメモリなどを含む、電子データを格納することができる１または複数のタイプのコンピューター可読記憶媒体が含まれる。論理の例には、ソフトウェア構成要素、プログラム、アプリケーション、コンピュータープログラム、アプリケーションプログラム、システムプログラム、機械プログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、関数、メソッド、プロシージャ、ソフトウェアインタフェース、アプリケーションプログラムインタフェース（ＡＰＩ）、命令セット、コンピューティングコード、コンピューターコード、コードセグメント、コンピューターコードセグメント、文字、値、記号、またはそのいずれかの組合せのような、様々なソフトウェア要素が含まれる。例えば１つの実施形態では、製造品が、コンピューターによって実行されるとき、記載する実施形態に従った方法および／または動作をコンピューターに行わせる実行可能コンピュータープログラム命令を含むことができる。実行可能コンピュータープログラム命令は、ソースコード、コンパイル済みコード、解釈済みコード、実行可能コード、静的コード、動的コードなど、いかなる好適なタイプのコードも含むことができる。実行可能コンピュータープログラム命令は、コンピューターにある機能を行うように命令するための、あらかじめ定義されたコンピューター言語、方法、または構文により実施することができる。命令は、任意の好適な高水準、低水準、オブジェクト指向、ビジュアル、コンパイル済みおよび／または解釈済みプログラミング言語を使用して、実施することができる。
【００４９】
[0054]本明細書に記載する本発明の実施形態は、１または複数のコンピューターシステムにおいて論理ステップとして実施される。本発明の論理演算は、（１）１または複数のコンピューターシステムにおいて実行される一連のプロセッサ実行ステップとして、（２）１または複数のコンピューターシステム内の相互接続された機械または回路モジュールとして、実施される。実施は、本発明を実行するコンピューターシステムの性能要件に応じた選択の問題である。したがって、本明細書に記載された本発明の実施形態を構成する論理演算は、演算、ステップ、オブジェクト、またはモジュールと、様々に呼ばれる。さらに、明示的に別段の請求がない限り、論理演算をいかなる順序でも行うこともできる、または特定の順序は、本質的に請求文言によって必要とされることを理解すべきである。
【００５０】
[0055]上記の記載、例、およびデータは、本発明の例示的実施形態の構成および使用についての完全な説明を提供する。本発明の趣旨および範囲から逸脱することなく、本発明の多くの実施形態が作成可能であるため、本発明は以下に添付する特許請求の範囲に属する。さらに、様々な実施形態の構造上の特徴を、別の実施形態において記載する特許請求の範囲から逸脱することなく、さらに別の実施形態に結合することができる。
【図１】
0006279475.tif 000002
【図２】
0006279475.tif 000003
【図３】
0006279475.tif 000004
【図４】
0006279475.tif 000005
【図５】
0006279475.tif 000006
【図６】
0006279475.tif 000007
【図７】
0006279475.tif 000008