(57)【要約】Ｗｅｂサーバ（１）は、ユーザデバイスによる解釈が可能なＷｅｂページコードを動的に生成することによって、リモートユーザデバイス（２）からの要求メッセージに応答する。要求メッセージからデバイスタイプ識別子（４５）が抽出され、デバイスタイプ識別子に対応する選択されたデバイス依存情報を参照してＷｅｂページコードを生成するために格納された命令を解釈するコード生成エンジン（２５）に入力される。Ｗｅｂページ情報は、スクリプト言語で作成された命令セットを含むコンテンツ文書として格納される。Ｗｅｂサーバは、Ｗｅｂページの形式を別の形式に変換する必要なしに、各ユーザデバイスに適切な形式でＷｅｂページを生成する。
2004510254.tif 000002
【特許請求の範囲】
【請求項１】
１つまたは複数のＷｅｂページを表示するため、かつＷｅｂページコードを有する応答メッセージを出力するために、ユーザデバイスによる解釈が可能なＷｅｂページコードを生成することにより、Ｗｅｂページ情報に関するリモートユーザデバイスからの要求メッセージに応答するための装置であって、
前記要求メッセージから、様々な機能を有する可能なデバイスタイプセットのうちの１つであるものとして前記リモートユーザデバイスを識別するデバイスタイプ識別子を決定する情報を抽出するための抽出手段と、
前記Ｗｅｂページコードを生成するためにコード生成エンジンを動作させるための処理装置と、
前記Ｗｅｂページ情報を、前記Ｗｅｂページコードを生成するためにスクリプト言語で作成された命令セットを含むコンテンツ文書として格納するための第１のメモリ手段と、
様々なデバイスタイプセットそれぞれについてのデバイス依存情報を格納するための第２のメモリ手段とを備え、
前記コード生成エンジンは、前記デバイスタイプ識別子に対応する選択されたデバイス依存情報を参照して前記命令を解釈するための解釈手段を含み、それにより前記コード生成エンジンは、前記Ｗｅｂページコードがリモートユーザデバイスに合わせて調整された形式で前記Ｗｅｂページコードを生成するように動作可能であることを特徴とする装置。
【請求項２】
前記スクリプト言語は、第１のマークアップ言語を含むことを特徴とする請求項１に記載の装置。
【請求項３】
前記コンテンツ文書は、表示される情報を定義するコンテンツコードと、表示される情報の提示を制御するための事前に定義されたタグとを含み、
前記解釈手段は、前記選択されたデバイス依存情報を参照して各タグを解釈するように動作可能であることを特徴とする請求項２に記載の装置。
【請求項４】
前記デバイス依存情報はテーブルのセットとして格納され、前記デバイス依存情報は、前記コード生成エンジンの実行時環境で前記タグにアクセス可能なオブジェクトのセットに同化されることを特徴とする請求項３に記載の装置。
【請求項５】
前記実行時環境はＪＡＶＡ（登録商標）仮想マシンを含み、前記オブジェクトのセットはＪＡＶＡ（登録商標）ｂｅａｎｓを含むことを特徴とする請求項４に記載の装置。
【請求項６】
前記テーブルは、連続する階層中のそれぞれのデバイスタイプにノードが対応する階層ツリーを定義する階層形式であることを特徴とする請求項４および５のいずれかに記載の装置。
【請求項７】
各デバイスタイプノードは、前記デバイスタイプノードが分岐する親ノードの属性とは異なる前記デバイスタイプの属性を定義するために、前記テーブルのそれぞれにあるそれぞれのエントリにより表されることを特徴とする請求項６に記載の装置。
【請求項８】
前記テーブルのセットは、各デバイスタイプの技術的な属性を定義するデバイスポリシーテーブルを含むことを特徴とする請求項４から７のいずれかに記載の装置。
【請求項９】
前記テーブルのセットは、前記コード生成エンジンにより生成される前記Ｗｅｂページコードのフォーマットを定義するプロトコルポリシーテーブルを含むことを特徴とする請求項４から８のいずれかに記載の装置。
【請求項１０】
前記Ｗｅｂページコードは、第２のマークアップ言語で生成されることを特徴とする先行する請求項のいずれかに記載の装置。
【請求項１１】
少なくともＨＴＭＬおよびＷＭＬを含むいくつかのマークアップ言語から、前記プロトコルポリシーテーブルにある前記選択されたデバイス依存情報に従って、前記第２のマークアップ言語を選択するための手段を備えることを特徴とする請求項１０に記載の装置。
【請求項１２】
前記テーブルのセットは、前記Ｗｅｂページ情報の提示スタイルを定義するスタイルポリシーテーブルを含むことを特徴とする請求項４から１１のいずれかに記載の装置。
【請求項１３】
前記スタイルポリシーテーブルは、
（ａ）フォント属性、
（ｂ）カラー、および
（ｃ）背景のうち、少なくとも１つを含む属性を定義することを特徴とする請求項１２に記載の装置。
【請求項１４】
前記テーブルのセットは、
（ａ）装飾的な特徴、および
（ｂ）ロゴのうち、少なくとも１つを定義するテーマポリシーテーブルを含むことを特徴とする請求項４から１３のいずれかに記載の装置。
【請求項１５】
前記テーブルのセットは、各デバイスタイプの表示領域に関して前記Ｗｅｂページ情報のレイアウトを各デバイスタイプについて定義するレイアウトポリシーテーブルを含むことを特徴とする請求項４から１４のいずれかに記載の装置。
【請求項１６】
前記レイアウトポリシーテーブルは、前記表示領域の部分を含み前記Ｗｅｂページ情報のそれぞれの部分を含む区画のセットを参照して、前記レイアウトを定義することを特徴とする請求項１５に記載の装置。
【請求項１７】
前記レイアウトポリシーは、各デバイスタイプについて区画の数および構成を決定することを特徴とする請求項１６に記載の装置。
【請求項１８】
最小画面領域を有するデバイスタイプの場合、前記レイアウトポリシーは、デックを連続して表示することにより前記Ｗｅｂページ情報を表示する際に使用する単一区画を含むデックのセットとなるページの構成を決定することを特徴とする請求項１７に記載の装置。
【請求項１９】
前記コンテンツコードはそれぞれのデータ構成要素を識別する少なくとも１つの構成要素名を含み、前記装置は、少なくとも１つのデータ構成要素が前記データ構成要素の複数のバージョンを定義するデータオブジェクトのセットとして存在するデータ構造を備え、前記データオブジェクトは様々なリモートユーザデバイスに適した様々なデータ特性を有することを特徴とする請求項４から１８のいずれかに記載の装置。
【請求項２０】
前記デバイスタイプ識別子に基づいて前記Ｗｅｂページコードに含めるために、構成要素名により識別された前記データオブジェクトのセットからデータオブジェクトを選択するための手段を備えることを特徴とする請求項１９に記載の装置。
【請求項２１】
前記選択手段は、データオブジェクトの所定の選択を検索するための構成要素ポリシーテーブルを含むことを特徴とする請求項２０に記載の装置。
【請求項２２】
前記選択手段は、前記リモートユーザデバイスの技術的属性を決定し、前記技術的属性と各データオブジェクトのデータ特性とを比較することにより前記データオブジェクトを選択するように動作可能であることを特徴とする請求項２０に記載の装置。
【請求項２３】
前記選択手段は、デバイスポリシーテーブルを参照することにより前記技術的属性を決定するように動作可能であることを特徴とする請求項２２に記載の装置。
【請求項２４】
前記データオブジェクトはメタデータが各データオブジェクトに関連して格納されるデータ構造に格納され、各データオブジェクトの前記データ特性はそれぞれのメタデータにより定義されることを特徴とする請求項２２および２３のいずれかに記載の装置。
【請求項２５】
ユーザ入力を受信するためのグラフィカルユーザインターフェースと、前記Ｗｅｂページ生成命令の文書作成のために前記グラフィカルユーザインターフェースに応答する文書オーサリング手段とを備えることを特徴とする請求項１６から１８のいずれかに記載の装置。
【請求項２６】
前記オーサリング手段は、データを受信するための手段と、前記データを、それぞれのデバイスタイプの技術的属性に適した前記データのそれぞれのバージョンをそれぞれが含むデータオブジェクトのセットに変換するためのデータ変換手段とを含むことを特徴とする請求項２５に記載の装置。
【請求項２７】
前記データオブジェクトのセットは、使用可能なユーザの基本設定に対応する複数のバージョンをさらに含むことを特徴とする請求項２６に記載の装置。
【請求項２８】
前記要求メッセージからユーザの基本設定を決定するための手段を備え、前記選択手段は、前記ユーザの基本設定に従って前記データオブジェクトを選択するようにさらに動作可能であることを特徴とする請求項２７に記載の装置。
【請求項２９】
前記複数のバージョンは言語セットのうちそれぞれでのバージョンを含み、前記ユーザの基本設定は好ましい言語を含むことを特徴とする請求項２８に記載の装置。
【請求項３０】
前記コード生成エンジンにより生成されたページを表すコードの量を測定するためのコード測定手段と、
前記ユーザデバイスの前記技術的属性が前記測定されたコードの量を収容するだけの十分なデータ容量を含んでいるかどうかを決定するための決定手段と、否定的な決定に応答して、各部分がページのそれぞれの部分を表し、前記ユーザデバイスの前記データ容量内のコード量を含むように、前記コードを２つまたはそれ以上のコードの部分に分割するための手段とを備えることを特徴とする先行する請求項のいずれかに記載の装置。
【請求項３１】
前記決定手段は、前記デバイスポリシーテーブルを参照することにより前記技術的属性を決定するように動作可能であることを特徴とする請求項８に従属する場合の請求項３０に記載の装置。
【請求項３２】
後で前記ユーザデバイスに伝送するために前記コードの部分を格納するためのバッファメモリを備えることを特徴とする請求項３０および３１のいずれかに記載の装置。
【請求項３３】
前記区画のコード表示部分のそれぞれの部分の連続する伝送に応答して、前記ユーザデバイスから連続するメッセージで受け取ったクライアントデータを格納するためのセッションメモリと、前記区画の前記部分のすべてに応答してクライアントデータが受信される完全なセッションについて、単一のデータオブジェクトとしてクライアントデータを組み合わせるための手段とを備えることを特徴とする請求項３２に記載の装置。
【請求項３４】
前記区画はフォームを定義し、前記区画の前記部分は前記フォームのそれぞれのデータフィールドを含むことを特徴とする請求項３３に記載の装置。
【請求項３５】
前記テーブルのセットは、経時変化パラメータの値に従って決定されるコード生成属性を定義する動的ポリシーテーブルを含むことを特徴とする請求項４から１８のいずれかに記載の装置。
【請求項３６】
前記コード生成属性は前記Ｗｅｂページコードのイメージコンテンツを定義し、前記経時変化パラメータはデバイスと通信するために使用可能な帯域幅であることを特徴とする請求項３５に記載の装置。
【請求項３７】
応答メッセージで出力されるＷｅｂページコードのコピーを格納するように動作可能なキャッシュメモリと、
同じＷｅｂページ情報に関するさらなる要求メッセージの受信に応答して、前記格納したコピーからＷｅｂページコードを出力するための手段とを備えることを特徴とする先行する請求項のいずれかに記載の装置。
【請求項３８】
前記キャッシュメモリは、Ｗｅｂページコードが生成されるコンテンツ文書にキャッシュメモリ記憶域の要件が定義されているかどうかに応じて、Ｗｅｂページコードを選択的に格納するように動作可能であることを特徴とする請求項３７に記載の装置。
【請求項３９】
前記キャッシュメモリ記憶域の要件は、前記コンテンツ文書に挿入されたタグのオペレーションにより設定されることを特徴とする請求項３８に記載の装置。
【請求項４０】
前記タグは、キャッシュメモリに格納された前記Ｗｅｂページコードのコピーの有効期間をさらに定義することを特徴とする請求項３９に記載の装置。
【請求項４１】
前記抽出手段は、前記要求メッセージのヘッダから識別情報を抽出するように動作可能であり、かつそのためにデバイス依存情報が前記第２のメモリ手段に格納されるデバイスタイプ識別子のテーブルを参照することにより前記デバイスタイプ識別子を決定するように動作可能であることを特徴とする先行する請求項のいずれかに記載の装置。
【請求項４２】
前記抽出手段は、前記ヘッダから取得した識別情報について、対応するデバイスタイプ識別子が使用可能であるかどうかを前記テーブルから決定するように動作可能であり、使用可能でない場合は、前記ユーザデバイスが認識されないことを示すインジケーションを生成するように動作可能であることを特徴とする請求項４１に記載の装置。
【請求項４３】
前記ユーザデバイスが認識されないことを示すインジケーションに応答して、デバイス情報を抽出するために前記ユーザデバイスにプローブエージェントを送信するためのプローブ手段と、前記ユーザデバイスからの前記デバイス情報を含む応答メッセージを受信するための手段とを備えることを特徴とする請求項４２に記載の装置。
【請求項４４】
前記受信したデバイス情報と格納済みの既知のデバイスに関するデバイス依存情報とを比較するための手段と、前記既知のデバイスに関するデバイス依存情報と前記認識されないデバイスに関する前記デバイス情報との間での最高の一致に対応するデバイスタイプ識別子を決定するための手段とを備えることを特徴とする請求項４３に記載の装置。
【請求項４５】
前記コード生成エンジンは、前記認識されないデバイスとの最高の一致であると決定された前記既知のデバイスの前記デバイスタイプ識別子を使用して、Ｗｅｂページコードを生成するように動作可能であることを特徴とする請求項４４に記載の装置。
【請求項４６】
前記装置が使用中に接続されるネットワークを介して前記要求メッセージを受信するための受信手段と、
前記装置が使用中に接続されるネットワークを介して、前記Ｗｅｂページコードを含む前記応答メッセージを前記ユーザデバイスに出力するための出力手段とをさらに備えることを特徴とする先行する請求項のいずれかに記載の装置。
【請求項４７】
前記要求メッセージの前記コンテンツに従って、前記第１のメモリ手段から前記Ｗｅｂページ情報を選択するための手段と、前記Ｗｅｂページ情報および前記デバイスタイプ識別子を前記コード生成エンジンに入力するための手段とを備えることを特徴とする先行する請求項のいずれかに記載の装置。
【請求項４８】
１つまたは複数のＷｅｂページを表示するため、かつＷｅｂページコードを備えた応答メッセージを出力するために、ユーザデバイスによる解釈が可能なＷｅｂページコードを生成することにより、Ｗｅｂページ情報に関するリモートユーザデバイスからの要求メッセージに応答するための方法であって、
前記要求メッセージから、様々な機能を有する可能なデバイスタイプセットのうちの１つであるものとして前記リモートユーザデバイスを識別するデバイスタイプ識別子を決定する情報を抽出するステップと、
前記Ｗｅｂページコードを生成するためにコード生成エンジンを動作させるステップと、
前記Ｗｅｂページコードを生成するためにスクリプト言語で作成された命令セットを含むコンテンツ文書として、前記Ｗｅｂページ情報を第１のメモリ手段に格納するステップと、
様々なデバイスタイプセットそれぞれについてのデバイス依存情報を第２のメモリ手段に格納するステップとを備え、
前記コード生成エンジンは、前記デバイスタイプ識別子に対応する選択されたデバイス依存情報を参照して前記命令を解釈し、それにより前記コード生成エンジンは、前記Ｗｅｂページコードがリモートユーザデバイスに合わせて調整された形で前記Ｗｅｂページコードを生成することを特徴とする方法。
【請求項４９】
前記スクリプト言語は、第１のマークアップ言語を含むことを特徴とする請求項４８に記載の方法。
【請求項５０】
前記コンテンツ文書は、表示される情報を定義するコンテンツコードと、表示される情報の提示を制御するための事前に定義されたタグとを含み、
前記解釈手段は、前記選択されたデバイス依存情報を参照して各タグを解釈することを特徴とする請求項４９に記載の方法。
【請求項５１】
前記デバイス依存情報はテーブルのセットとして格納され、前記デバイス依存情報は、前記コード生成エンジンの実行時環境で前記タグにアクセス可能なオブジェクトのセットに同化されることを特徴とする請求項５０に記載の方法。
【請求項５２】
前記実行時環境はＪＡＶＡ（登録商標）仮想マシンを含み、前記オブジェクトのセットはＪＡＶＡ（登録商標）ｂｅａｎｓを含むことを特徴とする請求項５１に記載の方法。
【請求項５３】
前記テーブルは、連続する階層中のそれぞれのデバイスタイプにノードが対応する階層ツリーを定義する階層形式であることを特徴とする請求項５１および５２のいずれかに記載の方法。
【請求項５４】
各デバイスタイプノードは、前記デバイスタイプノードが分岐する親ノードの属性とは異なる前記デバイスタイプの属性を定義するために、前記テーブルのそれぞれにあるそれぞれのエントリにより表されることを特徴とする請求項５３に記載の方法。
【請求項５５】
前記テーブルのセットは、各デバイスタイプの技術的な属性を定義するデバイスポリシーテーブルを含むことを特徴とする請求項５１から５４のいずれかに記載の方法。
【請求項５６】
前記テーブルのセットは、前記コード生成エンジンにより生成される前記Ｗｅｂページコードのフォーマットを定義するプロトコルポリシーテーブルを含むことを特徴とする請求項５１から５５のいずれかに記載の方法。
【請求項５７】
前記Ｗｅｂページコードは、第２のマークアップ言語で生成されることを特徴とする請求項４８から５６のいずれかに記載の方法。
【請求項５８】
少なくともＨＴＭＬおよびＷＭＬを含むいくつかのマークアップ言語から、前記プロトコルポリシーテーブルにある前記選択されたデバイス依存情報に従って、前記第２のマークアップ言語を選択するための手段を備えることを特徴とする請求項５７に記載の方法。
【請求項５９】
前記テーブルのセットは、前記Ｗｅｂページ情報の提示スタイルを定義するスタイルポリシーテーブルを含むことを特徴とする請求項５１から５８のいずれかに記載の方法。
【請求項６０】
前記スタイルポリシーテーブルは、
（ａ）フォント属性、
（ｂ）カラー、および
（ｃ）背景のうち、少なくとも１つを含む属性を定義することを特徴とする請求項５９に記載の方法。
【請求項６１】
前記テーブルのセットは、
（ａ）装飾的な特徴、および
（ｂ）ロゴのうち、少なくとも１つを定義するテーマポリシーテーブルを含むことを特徴とする請求項５１から６０のいずれかに記載の方法。
【請求項６２】
前記テーブルのセットは、各デバイスタイプの表示領域に関して前記Ｗｅｂページ情報のレイアウトを各デバイスタイプについて定義するレイアウトポリシーテーブルを含むことを特徴とする請求項５１から６１のいずれかに記載の方法。
【請求項６３】
前記レイアウトポリシーテーブルは、前記表示領域の部分を含み前記Ｗｅｂページ情報のそれぞれの部分を含む区画のセットを参照して、前記レイアウトを定義することを特徴とする請求項６２に記載の方法。
【請求項６４】
前記レイアウトポリシーは、各デバイスタイプについて区画の数および構成を決定することを特徴とする請求項６３に記載の方法。
【請求項６５】
最小画面領域を有するデバイスタイプの場合、前記レイアウトポリシーは、デックを連続して表示することにより前記Ｗｅｂページ情報を表示する際に使用する単一区画を備えるデックのセットとなるページの構成を決定することを特徴とする請求項６４に記載の方法。
【請求項６６】
前記コンテンツコードはそれぞれのデータ構成要素を識別する少なくとも１つの構成要素名を含み、前記方法は、少なくとも１つのデータ構成要素が前記データ構成要素の複数のバージョンを定義するデータオブジェクトのセットとして存在するデータ構造にアクセスするステップを備え、前記データオブジェクトは様々なリモートユーザデバイスに適した様々なデータ特性を有することを特徴とする請求項５１から６５のいずれかに記載の方法。
【請求項６７】
前記デバイスタイプ識別子に基づいて前記Ｗｅｂページコードに含めるために、構成要素名により識別された前記データオブジェクトのセットからデータオブジェクトを選択するステップを備えることを特徴とする請求項６６に記載の方法。
【請求項６８】
前記選択ステップは、データオブジェクトの所定の選択を検索するための構成要素ポリシーテーブルにアクセスするステップを有することを特徴とする請求項６７に記載の方法。
【請求項６９】
前記選択ステップは、前記リモートユーザデバイスの技術的属性を決定し、前記技術的属性と各データオブジェクトのデータ特性とを比較することにより前記データオブジェクトを選択することを特徴とする請求項６７に記載の方法。
【請求項７０】
前記選択ステップは、デバイスポリシーテーブルを参照することにより前記技術的属性を決定することを特徴とする請求項６９に記載の方法。
【請求項７１】
前記データオブジェクトはメタデータが各データオブジェクトに関連して格納されるデータ構造に格納され、各データオブジェクトの前記データ特性はそれぞれのメタデータにより定義されることを特徴とする請求項６９および７０のいずれかに記載の方法。
【請求項７２】
グラフィカルユーザインターフェースを介してユーザ入力を受信し、前記Ｗｅｂページ生成命令の文書作成のために前記グラフィカルユーザインターフェースに応答する文書オーサリング手段を動作させるステップを備えることを特徴とする請求項６３から６５のいずれかに記載の方法。
【請求項７３】
前記データを受信し、前記データを、それぞれのデバイスタイプの技術的属性に適した前記データのそれぞれのバージョンをそれぞれが含むデータオブジェクトのセットに変換するステップを備えることを特徴とする請求項７２に記載の方法。
【請求項７４】
前記データオブジェクトのセットは、使用可能なユーザの基本設定のセットに対応する複数のバージョンをさらに含むことを特徴とする請求項７３に記載の方法。
【請求項７５】
前記要求メッセージからユーザの基本設定を決定するための手段を含み、前記選択手段は、前記ユーザの基本設定に従って前記データオブジェクトを選択するようにさらに動作可能であることを特徴とする請求項７４に記載の方法。
【請求項７６】
前記複数のバージョンは言語セットのうちそれぞれでのバージョンを含み、前記ユーザの基本設定は好ましい言語を含むことを特徴とする請求項７５に記載の方法。
【請求項７７】
前記コード生成エンジンにより生成されたページを表すコードの量を測定するステップと、
前記ユーザデバイスの前記技術的属性が前記測定されたコードの量を収容するだけの十分なデータ容量を含んでいるかどうかを決定し、否定的な決定に応答して、各部分が前記ページのそれぞれの部分を表し、前記ユーザデバイスの前記データ容量内のコード量を含むように、前記コードを２つまたはそれ以上のコードの部分に分割するステップとを備えることを特徴とする請求項４８から７６のいずれかに記載の方法。
【請求項７８】
前記決定ステップは、前記デバイスポリシーテーブルを参照することにより前記技術的属性を決定することを特徴とする請求項５５に従属する場合の請求項７７に記載の方法。
【請求項７９】
後で前記ユーザデバイスに伝送するために前記コードの部分をバッファメモリに格納することを備えることを特徴とする請求項７７および７８のいずれかに記載の方法。
【請求項８０】
前記ページのコード表示部分のそれぞれの部分の連続する伝送に応答して、前記ユーザデバイスから連続するメッセージで受け取ったクライアントデータをセッションメモリに格納し、前記ページの前記部分のすべてに応答してクライアントデータが受信される完全なセッションについて、クライアントデータを単一のデータオブジェクトとして組み合わせるステップを備えることを特徴とする請求項７９に記載の方法。
【請求項８１】
前記ページはフォームを定義し、前記ページの前記部分はフォームのそれぞれのデータフィールドを含むことを特徴とする請求項８０に記載の方法。
【請求項８２】
前記テーブルのセットは、経時変化パラメータの値に従って決定されるコード生成属性を定義する動的ポリシーテーブルを含むことを特徴とする請求項５１から６５のいずれかに記載の方法。
【請求項８３】
前記コード生成属性は前記Ｗｅｂページコードのイメージコンテンツを定義し、前記経時変化パラメータはデバイスと通信するために使用可能な帯域幅であることを特徴とする請求項８２に記載の方法。
【請求項８４】
応答メッセージにおいて出力されるＷｅｂページコードのコピーをキャッシュメモリに格納するステップと、
同じＷｅｂページ情報に関するさらなる要求メッセージの受信に応答して、前記格納したコピーからＷｅｂページコードを出力するステップとを備えることを特徴とする請求項４８から８３のいずれかに記載の方法。
【請求項８５】
前記キャッシュメモリは、Ｗｅｂページコードが生成されるコンテンツ文書にキャッシュメモリ記憶域の要件が定義されているかどうかに応じて、Ｗｅｂページコードを選択的に格納することを特徴とする請求項８４に記載の方法。
【請求項８６】
前記キャッシュメモリ記憶域の要件は、前記コンテンツ文書にタグを挿入するオペレーションにより設定されることを特徴とする請求項８５に記載の方法。
【請求項８７】
前記タグは、キャッシュメモリに格納された前記Ｗｅｂページコードのコピーの有効期間をさらに定義することを特徴とする請求項８６に記載の方法。
【請求項８８】
前記抽出ステップは、前記要求メッセージのヘッダから識別情報を抽出し、かつそのためにデバイス依存情報が前記第２のメモリ手段に格納されるデバイスタイプ識別子のテーブルを参照することにより前記デバイスタイプ識別子を決定することを特徴とする請求項４８から８７のいずれかに記載の方法。
【請求項８９】
前記抽出ステップは、前記ヘッダから取得した識別情報について、対応するデバイスタイプ識別子が使用可能であるかどうかを前記テーブルから決定し、使用可能でない場合は、前記ユーザデバイスが認識されないことを示すインジケーションを生成することを特徴とする請求項８８に記載の方法。
【請求項９０】
前記ユーザデバイスが認識されないことを示すインジケーションに応答して、デバイス情報を抽出するために前記ユーザデバイスにプローブエージェントを送信するためのプローブ手段を始動し、前記ユーザデバイスから前記デバイス情報を含む応答メッセージを受信するステップを備えることを特徴とする請求項８９に記載の方法。
【請求項９１】
前記受信したデバイス情報と格納済みの既知のデバイスに関するデバイス依存情報とを比較し、前記既知のデバイスに関するデバイス依存情報と前記認識されないデバイスに関する前記デバイス情報との間での最高の一致に対応するデバイスタイプ識別子を決定するステップを備えることを特徴とする請求項９０に記載の方法。
【請求項９２】
前記コード生成エンジンは、前記認識されないデバイスとの最高の一致であると決定された前記既知のデバイスの前記デバイスタイプ識別子を使用して、Ｗｅｂページコードを生成することを特徴とする請求項９１に記載の方法。
【請求項９３】
ネットワークを介して前記要求メッセージを受信するステップと、
前記ネットワークを介して、前記Ｗｅｂページコードを含む前記応答メッセージを前記ユーザデバイスに出力するステップとをさらに備えることを特徴とする請求項４８から９２のいずれかに記載の方法。
【請求項９４】
前記要求メッセージの前記コンテンツに従って、前記第１のメモリ手段から前記Ｗｅｂページ情報を選択し、前記Ｗｅｂページ情報および前記デバイスタイプ識別子を前記コード生成エンジンに入力するステップを備えることを特徴とする請求項４８から９３のいずれかに記載の方法。
【請求項９５】
１つまたは複数のＷｅｂページを表示するため、かつＷｅｂページコードを含む応答メッセージを出力するために、ユーザデバイスによる解釈が可能なＷｅｂページコードを生成することにより、Ｗｅｂページ情報に関するリモートユーザデバイスからの要求メッセージに応答するための方法であって、
様々な機能を有する可能なデバイスタイプセットのうちの１つであるものとして前記リモートユーザデバイスを識別するデバイスタイプ識別子を決定するステップと、
前記Ｗｅｂページコードを生成するためにコード生成エンジンを動作させるステップと、
前記Ｗｅｂページコードを生成するための命令セットを含むコンテンツ文書として、前記Ｗｅｂページ情報を第１のメモリ手段に格納するステップと、
様々なデバイスタイプセットそれぞれについてのデバイス依存情報を第２のメモリ手段に格納するステップとを備え、
前記コンテンツコードは前記Ｗｅｂページコードに含めるためにそれぞれのデータ構成要素を識別する少なくとも１つの構成要素名を含み、前記データ構成要素が前記データ構成要素の複数のバージョンを定義するデータオブジェクトのセットとして存在するデータ構造にアクセスするステップであって、前記データオブジェクトは様々なリモートユーザデバイスに適した様々なデータ特性を有するステップを備え、
前記デバイスタイプ識別子に基づいて前記Ｗｅｂページコードに含めるために、構成要素名により識別された前記データオブジェクトのセットからデータオブジェクトを選択するステップを備えることを特徴とする方法。
【請求項９６】
前記選択ステップは、データオブジェクトの所定の選択を検索するための構成要素ポリシーテーブルにアクセスするステップを含むことを特徴とする請求項９５に記載の方法。
【請求項９７】
前記選択ステップは、前記デバイスタイプ識別子に基づいて前記リモートユーザデバイスの技術的属性を決定し、前記技術的属性と各データオブジェクトのデータ特性とを比較することにより前記データオブジェクトを選択することを特徴とする請求項９５に記載の方法。
【請求項９８】
前記選択ステップは、デバイスポリシーテーブルを参照することにより前記技術的属性を決定することを特徴とする請求項９７に記載の方法。
【請求項９９】
前記データオブジェクトはメタデータが各データオブジェクトに関連して格納される階層型データ構造に格納され、各データオブジェクトの前記データ特性はそれぞれのメタデータにより定義されることを特徴とする請求項９７および９８のいずれかに記載の方法。
【請求項１００】
前記データオブジェクトのセットは、使用可能なユーザの基本設定のセットに対応する複数のバージョンをさらに含み、
前記要求メッセージからユーザの基本設定を決定し、それにより前記選択ステップが前記ユーザの基本設定に従って前記データオブジェクトを選択するステップをさらに含むこと特徴とする請求項２６に記載の方法。
【請求項１０１】
前記複数のバージョンは言語セットのうちそれぞれでのバージョンを含み、前記ユーザの基本設定は好ましい言語を含むことを特徴とする請求項１００に記載の方法。
【請求項１０２】
様々な階層レベルが、データオブジェクトが提供されるユーザデバイスの技術的機能のそれぞれのレベルに対応するデータ構成要素の様々なバージョンを含む階層内で、前記データオブジェクトにアクセス可能であることを特徴とするデータ構造。
【請求項１０３】
様々な技術的機能を有するいくつかの可能なユーザデバイスのうちの１つにいつでも出力できるように格納するためにデータを処理する方法であって、
データ要素を受け取るステップと、
各データオブジェクトが前記データ要素に含まれたデータのそれぞれのバージョンを含むように、前記データ要素からデータオブジェクトのセットを生成し、前記データオブジェクトのセットを、様々なレベルがユーザデバイスのそれぞれの技術的機能に対応する階層型データ構造に格納するステップとを備えることを特徴とする方法。
【請求項１０４】
１つまたは複数のＷｅｂページを表示するため、かつＷｅｂページコードを備えた応答メッセージを出力するために、ユーザデバイスによる解釈が可能なＷｅｂページコードを生成することにより、Ｗｅｂページ情報に関するリモートユーザデバイスからの要求メッセージに応答するための装置であって、
前記要求メッセージから、様々な機能を有する可能なデバイスタイプセットのうちの１つであるものとして前記リモートユーザデバイスを識別するデバイスタイプ識別子を決定する情報を抽出するための抽出手段と、
前記Ｗｅｂページコードを生成するためにコード生成エンジンを動作させるための処理装置とを備え、
前記コード生成エンジンは、前記デバイスタイプ識別子に応答し、デバイス依存情報を使用して、前記Ｗｅｂページコードが前記リモートユーザデバイスに合わせて調整された形で前記Ｗｅｂページコードを生成するように動作可能であり、
前記抽出手段は、前記要求メッセージのヘッダから識別情報を抽出し、デバイスタイプ識別子のテーブルを参照することにより前記デバイスタイプ識別子を決定するように動作可能であり、
前記装置は、前記ユーザデバイスが認識されないことを示すインジケーションに応答して、デバイス情報を抽出するために前記ユーザデバイスにプローブエージェントを送信するためのプローブ手段と、前記ユーザデバイスからの前記デバイス情報を含む応答メッセージを受信するための手段とをさらに備えることを特徴とする装置。
【請求項１０５】
前記受信したデバイス情報と格納済みの既知のデバイスに関するデバイス依存情報とを比較するための手段と、前記既知のデバイスに関するデバイス依存情報と前記認識されないデバイスに関する前記デバイス情報との間での最高の一致に対応するデバイスタイプ識別子を決定するための手段とを備えることを特徴とする請求項１０４に記載の装置。
【請求項１０６】
前記コード生成エンジンは、前記認識されないデバイスとの最高の一致であると決定された前記既知のデバイスの前記デバイスタイプ識別子を使用して、Ｗｅｂページコードを生成するように動作可能であることを特徴とする請求項１０５に記載の装置。
【請求項１０７】
１つまたは複数のＷｅｂページを表示するため、かつＷｅｂページコードを備えた応答メッセージを出力するために、ユーザデバイスによる解釈が可能なＷｅｂページコードを生成することにより、Ｗｅｂページ情報に関するリモートユーザデバイスからの要求メッセージに応答するための方法であって、
前記要求メッセージから、様々な機能を有する可能なデバイスタイプセットのうちの１つであるものとして前記リモートユーザデバイスを識別するデバイスタイプ識別子を決定する情報を抽出するステップと、
前記Ｗｅｂページコードを生成するためにコード生成エンジンを動作させるステップとを備え、
前記コード生成エンジンは、前記デバイスタイプ識別子に応答し、デバイス依存情報を使用して、前記Ｗｅｂページコードが前記リモートユーザデバイスに合わせて調整された形で前記Ｗｅｂページコードを生成するように動作可能であり、
前記抽出ステップは、前記要求メッセージのヘッダから識別情報を抽出し、デバイスタイプ識別子のテーブルを参照することにより前記デバイスタイプ識別子を決定し、
前記方法は、前記ユーザデバイスが認識されないことを示すインジケーションに応答して、デバイス情報を抽出するために前記ユーザデバイスにプローブエージェントを送信するためのプローブ手段を始動させ、前記ユーザデバイスから前記デバイス情報を含む応答メッセージを受信するステップをさらに備えることを特徴とする方法。
【請求項１０８】
前記受信したデバイス情報と格納済みの既知のデバイスに関するデバイス依存情報とを比較し、前記既知のデバイスに関するデバイス依存情報と前記認識されないデバイスに関する前記デバイス情報との間での最高の一致に対応するデバイスタイプ識別子を決定するステップを備えることを特徴とする請求項１０７に記載の方法。
【請求項１０９】
前記コード生成エンジンは、前記認識されないデバイスとの最高の一致であると決定された前記既知のデバイスの前記デバイスタイプ識別子を使用して、Ｗｅｂページコードを生成することを特徴とする請求項１０８に記載の方法。
【請求項１１０】
処理装置が請求項４８から１０１、１０３、および１０７から１０９のいずれか１項に記載の方法の実行を制御するための処理装置実施可能命令を備えることを特徴とするコンピュータプログラム。
【請求項１１１】
処理装置が請求項４８から１０１、１０３、および１０７から１０９のいずれか１項に記載の方法の実行を制御するための処理装置実施可能命令を格納することを特徴とする記憶媒体。
【請求項１１２】
処理装置が請求項４８から１０１、１０３、および１０７から１０９のいずれか１項に記載の方法の実行を制御するための処理装置実施可能命令を搬送することを特徴とする電気信号。
【請求項１１３】
請求項１から４７のいずれかに記載の装置で使用するためのコード生成エンジン。
【請求項１１４】
請求項４８から９４のいずれか１項に記載の方法で使用するためのポリシーテーブルのセットを格納することを特徴とする記憶媒体。
【請求項１１５】
請求項４８から９４のいずれか１項に記載の方法で使用するためのタグのセットを格納することを特徴とする記憶媒体。
【発明の詳細な説明】
【０００１】
本発明はＷｅｂサーバに関し、より詳細には、限定はしないが、リモートユーザデバイスからインターネットを介して受け取られる要求メッセージに応答するためのＷｅｂサーバと、リモートユーザデバイスの機能に合致するように調整されたＷｅｂページコードで応答できるＷｅｂサーバとに関する。
【０００２】
近年、インターネットの利用は、ほとんどすべての企業が情報およびオンライン購買機構を提供するための独自のＷｅｂサイトを有するまでに盛んになっている。こうしたＷｅｂサイトの大多数は、これまで、比較的少数の利用可能なブラウザアプリケーションの１つを使用するＰＣ（パーソナルコンピュータ）であるリモートユーザデバイスがアクセスするものであったため、概してＷｅｂサイトは、ユーザデバイスで表示するための単一のフォーマットでＷｅｂページコードを出力するように要求された。
【０００３】
最近では、ＰＤＡ（パーソナルデジタルアシスタント）、ＷＡＰ（無線アプリケーションプロトコル）機構を有する移動電話、ＩＤＴＶ（対話型デジタルテレビジョン）、情報キオスク、ゲーム、コンソール、および家庭電化製品などの、新しいインターネット使用可能デバイスが激増している。これらデバイスの機能は、それらの画面の大きさおよびカラー処理機能に関する表示機能、帯域幅、および使用可能メモリ、ならびにイメージフォーマット、通信プロトコル、およびマークアップ言語を含む通信に関連付けられた変数において、デバイスによって大幅に異なる。
【０００４】
これらの様々なデバイスのユーザが自分のＷｅｂサイトにアクセスできるようにするために、多くの企業は、それぞれのデバイスタイプに対応する別々のＷｅｂサーバを構築することに頼ってきた。ただしこれにより、たとえば異なるデバイスを使用して同じアカウント詳細を使用する小売商と通信するオプションを持つことを顧客が希望し、次に小売商が、新しい材料または追加の材料で必要なときに激増する様々なＷｅｂサーバアプリケーションの管理および更新を必要とする可能性がある場合に、データ管理の問題が発生した。
【０００５】
代替方法は、代替タイプのユーザデバイスがアクセスするためにＷｅｂサイトに別々のポートを提供することであり、別々のポートは、通常はハイパーテキストマークアップ言語（ＨＴＭＬ／ＨｙｐｅｒＴｅｘｔ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ）形式のオリジナルＰＣベースのＷｅｂページコードを、ＷＡＰ電話に使用される無線マークアップ言語（ＷＭＬ／Ｗｉｒｅｌｅｓｓ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ）などの他のデバイスフォーマットに変換することによって、要求されたＷｅｂページコードを取得する。ただし、こうした解決策は一般に、最適な提示をデバイスのユーザに送達することができなかった。変換プロセス（しばしば「トランスコーディング（ｔｒａｎｓｃｏｄｉｎｇ）」と呼ばれる）は設計が困難である。たとえば、ＰＣよりも機能の劣るデバイスでは表示されない情報を適切に選択することが必要である。このような困難さは、トランスコーディングプロセスの再設計もしなければならないことからオリジナルＰＣのＷｅｂページコードを更新する必要がある場合に、さらに増大する。
【０００６】
様々な機能を有するリモートユーザデバイスから生じる問題を克服するために、インターネットを介してＷｅｂページ情報にアクセスするために使用されるプロトコルを、標準の採用によって統一しなければならないことも提案されてきた。Ｗｅｂページコードのフォーマットとして拡張可能マークアップ言語（ＸＭＬ／Ｅｘｔｅｎｓｉｂｌｅ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ）を使用することも提案されてきた。ＸＭＬはコンテンツを定義するためのマークアップ言語であり、スタイルシート付きのＸＭＬ文書を提示する時点で変形するのに使用される、ＸＳＬ（拡張可能スタイルシート言語／Ｅｘｔｅｎｓｉｂｌｅ　Ｓｔｙｌｅｓｈｅｅｔｓ　Ｌａｎｇｕａｇｅ）と共に使用することができる。ただしそれでもなお、こうした標準は採用されておらず、この解決策がすべてのタイプのデバイスに最適であるとは思われない。
【０００７】
本発明は、様々なタイプのリモートユーザデバイスにサービスを提供することができる多重チャネル機能を有する改良型Ｗｅｂサーバを提供することを求めるものである。
【０００８】
本発明により、ユーザデバイスによって表示されることになる１つまたは複数のＷｅｂページを表すＷｅｂページコードを生成すること、およびＷｅｂページコードを含む応答メッセージを出力することにより、リモートユーザデバイスからのＷｅｂページ情報の要求メッセージに応答するための装置が開示される。
【０００９】
装置は、様々な機能を有する可能なデバイスタイプセットのうちの１つであるとしてリモートユーザデバイスを識別するデバイスタイプ識別子を、要求メッセージから抽出するための手段を備えることが好ましい。
【００１０】
装置は、Ｗｅｂページコードを生成するようにコード生成エンジンを動作させるための処理装置と、Ｗｅｂページ情報を命令のセットとして格納するための第１のメモリ手段と、Ｗｅｂページコードをデバイスタイプの機能に合わせて調整するために様々なデバイスタイプそれぞれについてのデバイス依存情報を格納するための第２のメモリ手段とを有することが好ましい。
【００１１】
コード生成エンジンは、デバイスタイプ識別子に対応する選択されたデバイス依存情報を参照して命令を解釈するための解釈手段を備えており、それによってコード生成手段が、リモートユーザデバイスの機能に合わせて調整されたＷｅｂページコードの形でＷｅｂページコードを生成するように動作可能であることが好ましい。
【００１２】
以下に、添付の図面を参照しながら本発明の好ましい実施形態について説明するが、これらは例として示したものにすぎない。
【００１３】
図１は、インターネット３を介してリモートユーザデバイス２に接続されたＷｅｂサーバ１を示す図である。リモートユーザデバイスは、ＰＣ、テレビジョン、ＰＤＡ、およびＷＡＰ機構を有する移動電話であるものとして示されているが、インターネット機能を有する任意数の様々なデバイスを含むことができる。Ｗｅｂサーバ１には、Ｗｅｂサーバのオペレータが文書を作成し、一般にはＷｅｂサーバのオペレーションを管理および維持できるようにする、ＷｅｂサーバＧＵＩ（グラフィカルユーザインターフェース）４が提供される。Ｗｅｂサーバ１はインターネット３を介して、任意の新しいタイプのユーザデバイスに関する情報を取得し、重要なソフトウェア改訂版を必要なときにＷｅｂサーバ１に提供する、サービスセンタ５にも接続される。
【００１４】
図２Ａは、図１のＷｅｂサーバ１の簡略化された概略図である。Ｗｅｂサーバ１は、Ｗｅｂページコードを生成するために処理装置によってオンデマンドで実行されるアプリケーションの形でコード生成エンジン２１を動作させる処理装置２０を含む。この実施形態でのコード生成エンジン２１は、Ｊａｖａ（登録商標）プログラミング言語で作成され、Ｗｅｂサーバのオペレーション中には処理装置２０の作業メモリ内にバイトコードとしてコンパイル済みの形で存在し、Ｊａｖａ（登録商標）実行時環境で実施可能である。
【００１５】
メモリ２２は、この例ではＪＳＰ１．１（Ｊａｖａ（登録商標）Ｓｅｒｖｅｒ　Ｐａｇｅｓ）であるマークアップ言語で作成された文書形式でＷｅｂページ情報を定義する、コンテンツコード２３を格納する。これらの文書は、通常はＷｅｂサーバ１のオペレータがグラフィカルユーザインターフェース４を使用して作成するものである。メモリ２２は、たとえば、ユーザデバイス２から発信された特定の照会に応答して実行時に生成されるＷｅｂページコードへの組込みが必要な可能性のあるデータと、Ｗｅｂサーバの使用状況を監視することによって取得されるデータとを含む、動作データ２４も格納する。コンテンツコード２３によって参照されるデータオブジェクトは、データベース１９に格納される。これらのデータオブジェクトは、イメージまたはテキストを格納しているファイルと、生成されるＷｅｂページコードに含めることを作成者が希望する可能性のある他の形式のデータオブジェクトとを含むことができる。
【００１６】
デバイス依存情報２５もメモリ２２に格納され、主に以下で説明するポリシー（ｐｏｌｉｃｙ）テーブルで構成される。メモリ２２は、サーバ１のオペレーション中に処理装置２０によってアクセス可能であるか、または起動時にコード生成エンジン２１などのソフトウェアを取り出すのに使用可能である、プログラムコード２６も格納する。プログラムコード２６は、以下で説明するように文書が作成されるマークアップ言語で使用されるタグセットを定義するコードも含む。
【００１７】
インターフェース２７は、処理装置２０およびメモリ２２を処理するデータバス２８と、要求メッセージを受信し応答メッセージを送信するためのインターネット３への外部接続との間で通信するものである。
【００１８】
デバイス識別エンジン２９は、リモートユーザデバイス２をタイプ別に識別するためのデバイスタイプ識別子を、受信されたメッセージから抽出するために提供される。この例のデバイス識別エンジン２９は、処理装置２０によってソフトウェア内で実施される。この例で、インターネットを介して受信される要求メッセージは、要求メッセージの生成時に発信元デバイスが使用したユーザエージェント名を宣言するＩＤ文字列を含む、ＨｙｐｅｒＴｅｘｔ　Ｔｒａｎｓｆｅｒ　Ｐｒｏｔｏｃｏｌ（ＨＴＴＰ）ヘッダを含む。ユーザエージェントソフトウェア名は、たとえばブラウザのバージョンおよびデバイスのマークアップ言語機能を定義し、たとえばルックアップテーブルとして格納可能なデバイスタイプ識別子を使用して発信元デバイスを識別するためにデバイス識別子エンジン２９によって使用される。
【００１９】
ＨＴＴＰヘッダは、要求メッセージを発信したユーザの詳細に関してクッキーに格納された情報を引き出すこともできる。こうしたクッキーは、Ｗｅｂサーバ１によって作成される応答の個別化に使用される他のデータを含むことができる。
【００２０】
図２Ｂは、信号流れを示す方法で機能要素を示した、Ｗｅｂサーバ１のさらなる図である。フロントエンド処理装置３００は、インターネット３から受信する要求メッセージおよびインターネットを介してユーザデバイス２に送信する応答メッセージ用に、通信インターフェースを提供するものである。フロントエンド処理装置３００は、ＵＲＬ情報３０１をＷｅｂアプリケーション処理装置３０２に送信し、この処理装置がユーザによって要求されたＷｅｂページに含める適切な情報をこのＵＲＬから決定する。Ｗｅｂアプリケーション処理装置３０２は、処理装置に対してローカルであるか、または適切な通信リンクを介してアクセス可能な遠隔の位置にあってよい、データベース３０３へのアクセスを有する。
【００２１】
Ｗｅｂアプリケーション処理装置３０２は、Ｗｅｂページコードを生成するための命令を備えた文書３０４を出力する。文書３０４それ自体はユーザデバイスのブラウザが解釈できるものではないため、本記述では「Ｗｅｂページコード」を構成しない。
【００２２】
文書３０４は、コンテンツデータ構造３０５およびポリシーテーブル４０のセットを参照してＷｅｂページコードを生成する、コード生成エンジン２１に入力される。コード生成エンジンの出力は、ここではユーザデバイス２のブラウザによって解釈できる形のＷｅｂページコード文書３０６である。Ｗｅｂページコード文書３０６は、フロントエンド処理装置３００によって受け取られ、インターネット３を介してユーザデバイス２まで伝送される応答メッセージとしてパッケージングされる。
【００２３】
コード生成エンジン２１がコンテンツデータ構造３０５から適切なデータを選択し、適切なポリシーテーブル４０にアクセスできるようにするためには、フロントエンド処理装置３００からのメッセージヘッダ信号３０７の受取りに応答してデバイス識別エンジン２９によって提供される、デバイスタイプ識別子４５の入力も必要であり、この信号には、ユーザデバイスから受け取った要求メッセージのメッセージヘッダから抽出された情報が含まれる。
【００２４】
図３は、図２Ａのデバイス依存情報２５を構成するポリシーテーブル４０を示す概略図である。
【００２５】
この文脈では、「ポリシー」という用語は、コード生成エンジン２１によって使用されることになる情報を意味するために使用され、様々なデバイスタイプの様々な技術的機能による必要性から、またはコンテンツコード２３の作成者によって実践された選択の結果として、デバイスタイプによって様々に定義することができる。
【００２６】
ポリシーテーブル４０には、デバイスタイプの様々な技術面に関するいくつかのフィールドを含むデバイスポリシーテーブル３０が含まれる。例を挙げると、以下の表１には、デバイスタイプに関連付けることのできる数個のデバイスポリシーが列挙されており、それぞれがテーブルの１つのフィールド（すなわち行）に対応している。値は、単一のデバイスタイプ（すなわち単一の列）について示されている。実際には、デバイスポリシーテーブル３０には、コンパクトな形でテーブルを表すために階層テーブル構造を使用した、複数デバイスタイプに関する多数の異なるフィールドおよび値が含まれることになる。
【００２７】
【表１】
2004510254.tif 000003
【００２８】
デバイスポリシーテーブル３０にアクセスすることによって、コード生成エンジン２１は、ユーザデバイス２の技術的機能に合わせたコード生成の選択に関する決定を実践することができる。たとえば、イメージがイメージファイルとしてＷｅｂページコードに含まれることになる場合、コード生成エンジン２１は、要求メッセージを発信するユーザデバイス２が使用可能なイメージデータ圧縮の形式についての知識を有することが必要である。デバイスポリシーテーブル３０は、デバイスがＧＩＦまたはＪＰＥＧフォーマットイメージを圧縮解除できるかどうかを示すフィールドを含む。同様に、オーディオファイルは、ＭＰ３フォーマットを含むいくつかの異なるフォーマットで圧縮することが可能であり、デバイスポリシーテーブル３０は、デバイスがＭＰ３をサポートしているかどうかを示すフィールドも含む。
【００２９】
プロトコルポリシーテーブル３１は、一般にマークアップ言語と呼ばれるデバイス出力プロトコル間での等値をマッピングする責務を負う。例としては、ＷＭＬ、ＨＴＭＬ、ハンドヘルドデバイスマークアップ言語（ＨＤＭＬ）、およびコンパクトＨＴＭＬ（ｃＨＴＭＬ）などが挙げられる。テーブル２は、デバイスタイプのうち１つに関するプロトコルポリシーテーブル３１の６つのフィールドの例である。
【００３０】
【表２】
2004510254.tif 000004
【００３１】
スタイルポリシーテーブル３２は、デバイスタイプのうちの１つに関するスタイルポリシーテーブルの一部を示した表３に示されるような、見出し、イメージ枠、およびパラグラフ背景の、フォントファミリ、フォントサイズ、フォント太さ、および色などの、パラメータを定義するいくつかのフィールドを含む。これによってコード生成エンジン２１は、たとえば特定の企業本体によって一般取引スタイルとして採用された協定スタイルを反映させることのできる所定の決定に従って、デバイスタイプに適したコードを生成することができる。
【００３２】
スタイル情報が処理される方法はデバイスによって異なり、実際にはデバイス出力プロトコルによって異なる。一部の方法では、スタイル情報は生成されるＷｅｂページコードに含めなければならない。他の方法では、スタイル情報は、しばしば「スタイルシート」と呼ばれる別々に生成されたコードで提供されなければならない。
【００３３】
【表３】
2004510254.tif 000005
【００３４】
同様にテーマポリシーテーブル３３は、企業本体が自社のＷｅｂページに採用した装飾的な飾りおよびロゴに関するフィールドを含み、テーマポリシーの作成者が、各デバイスタイプについて、ロゴの装飾的な特徴およびサイズなどの面を調整できるようにするものである。
【００３５】
レイアウトポリシーテーブル３５は、たとえば様々なデバイスタイプの様々なスクリーンの形状およびサイズを考慮するために、ユーザデバイスでイメージをレンダリングする時点での、テキスト、ロゴ、イメージなどを含む要素のレイアウトに関するフィールドを含む。
【００３６】
動的ポリシーテーブル３６は、経時変化パラメータに従って様々なデバイスタイプのコードを調整することのできるフィールドを含む。一例として、ＷＡＰ機構を有する移動電話は、インターネットに接続する際に電話が使用するセルラー式移動電話網を介して使用可能な信号の強さに関して、経時的に変化する応答メッセージを受信するための帯域幅を有することが可能である。動的ポリシーは、低帯域幅条件の下では低帯域幅を要求し、より良好な条件の下では高帯域幅を要求するコードを生成するように構成することができる。たとえば、応答メッセージを搬送するのに必要な帯域幅を制御するために、イメージデータの量を規制することができる。単純にロゴまたは他のイメージを省略することによって、不十分な信号強さ条件の下で応答メッセージをデバイスにダウンロードできる速度を維持することができる。
【００３７】
構成要素ポリシーテーブル３７も、以下に記載するようなデータオブジェクトの選択を決定する目的で提供される。
【００３８】
図４は、コード生成エンジン２１がポリシーテーブル４０でデータを使用する方法を示す概略図である。処理装置２０は起動時に、格納されたプログラムコード２６から起動プログラムを取り出し、この起動プログラムを実行して、本明細書ではポリシーオブジェクト４１と呼ばれる一連のＪａｖａ（登録商標）オブジェクト（Ｊａｖａ（登録商標）ｂｅａｎｓ）にポリシーテーブル４０内の情報を吸収し、その後これらがコード生成エンジン２１の実行時環境４６で使用可能となる。実行時環境は、適切なＪａｖａ（登録商標）仮想マシンによって提供される。ポリシーオブジェクト４１はそれぞれがコード生成の特定面を取り扱い、各デバイスタイプに関するポリシーテーブル４０から入手可能なすべての関連情報についての知識を各ポリシーオブジェクトが有する様に構成された、論理オブジェクトおよびデータオブジェクトを含む。たとえば、１つのポリシーオブジェクト４１がイメージフォーマット機能に関係し、他のポリシーオブジェクトが出力コードのマークアップ言語の選択に関係することができる。実行時にコード生成エンジン２１がコンテンツコード文書２３のコンパイル済みバージョンを処理し、このコードは一連の命令４２からなり、各命令はマークアップタグ４３のセットのうち１つを含む。
【００３９】
図４では、タグ４３が、図４に概略的に示されているように、処理時にはタグの必要機能を実行するために作成されたクラスセット４４を参照する、いくつかのカスタムタグまたはスマートタグのうちの１つであるとして図示されている。次にこれらのクラス４４は、ポリシーテーブル４０に含まれたデータに基づくデバイスタイプに依存したプログラム決定が実行されるときには必ず、ポリシーオブジェクト４１のうち１つまたは複数を参照する。
【００４０】
本実施形態にしたがって提供されるカスタムタグ４３の例が、表４および５にまとめられている。コンテンツコード２３の定義に使用されるすべてのタグは、ＪＳＰカスタムタグとして実施されるという意味ではデバイス認識型であり、デバイス依存決定を実行するためにＪａｖａ（登録商標）ｂｅａｎｓ（ポリシーオブジェクト４１）にアクセスするＪａｖａ（登録商標）クラスに関連付けられる。より基本的なタグは、本明細書では表４に示されるように単純インラインタグと称する。より複雑なタグは、表５では主要ブロックタグと称する。主要タグは、通常は、たとえばＨＴＭＬなどの結果生成コードのマークアップ言語の複数のタグに変換される。
【００４１】
【表４】
2004510254.tif 000006
【００４２】
【表５】
2004510254.tif 000007
【００４３】
処理装置２０によって動作するデバイス識別エンジン２９は、リモートユーザデバイス２から受け取った要求メッセージのヘッダからデバイスタイプを識別する情報を抽出し、デバイスタイプ識別子４５を出力するものであって、これが、クラスセット４４が必要な情報をポリシーオブジェクト４１から抽出できるようにするコード生成エンジン２１に入力される。
【００４４】
文書の一例は付録１に例示されており、コード生成エンジン２１によって動作するマークアップ言語のコンテンツコード２３を構成するためのタグ４３を含む命令セット４２を備える。たとえば、２行目のタグ＜ｖｔ：ｃａｎｖａｓ＞は、作成されるＷｅｂページのテーマおよびレイアウトを定義する際に使用される。ｃａｎｖａｓタグ開始と終了（２行目および最終行で発生）の間には、カスタムタグ４３を使用しても実施される構成要素のリストがある。構成要素はレイアウト内の区画を参照し、「区画（ｐａｎｅ）」という用語は、ユーザデバイス２上でユーザにＷｅｂページが示されるときにディスプレイ画面が分割される、一連の（通常は）長方形の領域のうちの１つを示すのに使用される。区画およびそれらに関連する配置の集まりが、ページのレイアウトを定義する。構成要素は、描画されたページの中で所与の構成要素の出力が表示される場所を定義するため、あるいは、たとえば画面サイズが制限されたユーザデバイス上にＷｅｂページが表示されるときに、所与の構成要素が描画されるか否かを決定するために、使用することができる。このような方法で、レイアウトを使用して、特定のデバイスタイプのディスプレイ画面上に表示される情報の量を制限することができる。
【００４５】
たとえば図５Ａは、ＰＣ表示用の区画５０の典型的なレイアウトを示す図であり、それぞれがロゴ、大型カラーロゴ、サイトメニュー、あいさつ文、第１、第２、および第３のプロモーション、ならびに連続的にニュース情報を提供するニュースチッカ（ｔｉｃｋｅｒ）を含む区画が含まれる。
【００４６】
テレビジョン画面の表示用に生成された場合の同じコンテンツ文書に対応するレイアウトが図５Ｂに示されており、それぞれが大型カラーロゴ、あいさつ文、プロモーションメニュー、サイトメニュー、および写真を含む、数を少なくした区画からなる。
【００４７】
図５Ｃは、ＰＤＡ用に調整された場合の同じコンテンツ文書に基づいて生成されたコードから発生した対応する描画画面を示す図である。区画の数は、ＰＤＡの制限付き機能に合致するようにコード生成時にかなり減らされ、それぞれが中型サイズの白黒ロゴ、あいさつ文、プロモーションメニュー、およびサイトメニューを含む、区画が含まれる。
【００４８】
図５Ｄは、ＷＡＰ電話用に調整された場合の、同じ文書に基づいたコード生成から生じるレイアウトを示す図である。単一のＷｅｂページの代わりに、コンテンツはしばしばデック（ｄｅｃｋ）と呼ばれるフラグメントセットにまで減らされ、それぞれがメニューデック５０を介してアクセス可能な単一の区画を含み、さらにデックのセットがそれぞれプロモーション１、２、および３用の単一の区画デック５１、５２、および５３を含む。「デック」とは、情報が無線デバイスに伝送される単位を示すために、ＷＡＰ標準で使用される用語である。
【００４９】
付録２は、デバイスタイプがＨＴＭＬプロトコルを使用するブラウザを有するＰＣに対応する、付録１のコンテンツコードを使用して生成されたＷｅｂページコードを示すものである。
【００５０】
付録３は、ＷＭＬプロトコルを使用するＷＡＰ機能を有する電話に対応するデバイスタイプに出力される場合に生成される、対応するコードを示すものである。付録３は、生成されたコードに含まれるデックセットのうちの１つのデックのみを含み、ユーザは、今度はＷｅｂページ情報のいくつかの連続する表示を見るために、連続するデックを選択する必要がある。応答メッセージコードをデックに断片化する方法は、たとえば図５Ｄに例示されている。
【００５１】
付録４は、ＷＡＰ電話向けのＷＭＬコードから生じるさらなるデックを示し、ここでデックは、ユーザが連続するデックで見ることのできる記事のリストを含む、図５Ｄのメニューデック５０に対応する。
【００５２】
付録５は、記事のうち１つについて作成されたデックを示すものである。
【００５３】
上記の例では、コード生成エンジン２１は、同じコンテンツコード２３を処理して、異なるデバイスタイプに対応する根本的に異なるＷｅｂページコード出力を生成することができる。第１のデバイスタイプは付録２のコードを生成し、これよりも能力の低い第２のデバイスタイプは付録３、４、および５のコードを生成する結果となる。
【００５４】
図５Ｅおよび５Ｆは、２つの異なるリモートユーザデバイス２に様々なレイアウト定義を提供することによって、Ｗｅｂページのコンテンツ全体を異なる機能を有するデバイスに送達できるようにする方法を示す図である。
【００５５】
図５Ｅでは、大型画面を有するデバイス用のレイアウトが単一画面にコンテンツ全体を表示する効果を有し、コンテンツの各部分がそれぞれ区画Ａ、Ｂ、Ｃ、Ｄ、Ｅ、およびＦに格納される。小型画面を有するデバイス用にフォーマット化された場合、区画Ａ、Ｂ、Ｃ、Ｄ、Ｅ、およびＦのうち１つだけが所与の時間に表示され、それによってコンテンツは、図５Ｆに示されるようにフラグメントＡ、Ｂ、Ｃ、Ｄ、Ｅ、およびＦに断片化される。フラグメントＡは、それを介することによりメニューを使用して残りのフラグメントにアクセスできる、ルートフラグメントとして指定される。
【００５６】
小型画面機能を有するデバイスの場合、フラグメントを再構築する必要があるか、またはコンテンツを異なるように提示し、その結果、たとえばテキストを格納している所与のフラグメントのコンテンツ全体を見るために、ユーザがテキストをスクロールする必要が生じる場合がある。
【００５７】
図５Ｇおよび５Ｈに示されるように、別法としてマルチメニュー構造を使用することもできる。区画によってレイアウトを定義する代わりに、レイアウトは、表示領域を定義し、制御セグメントまたはコンテンツセグメントのいずれかとして指定された、一連のセグメントによって定義される。図５Ｇでは、制御セグメント５５に、ユーザが選択できる一連のアイコンからなるメニューバー５６が含まれる。
【００５８】
コンテンツセグメント５７はさらなる表示領域を定義するものであって、それ自体がさらなるコンテンツセグメント５８を含む。コンテンツセグメント５７は、第２のメニューバー５１０を含むさらなる制御セグメント５９も含む。
【００５９】
この例では、第１のメニューバー５６を使用した選択には、図５Ｈに示されたような第２のメニューバーセット５１０のうちの選択された１つを制御セグメント５９内に表示する必要がある。第２のメニューバー５１０のそれぞれが、コンテンツアイテム５１１のそれぞれのセットからの選択を可能にする。
【００６０】
図５Ｇおよび５Ｈの例は、モンタージュタグが、コンテンツセグメントまたは制御セグメントであってよい一連のセグメントによってページレイアウトを定義する、ページ記述の代替方法を示すものである。この例に示されるように、コンテンツセグメントは、制御セグメントおよびコンテンツセグメントの両方を含むさらなるセグメントを含むことが可能である。
【００６１】
図５Ｇは、大型画面デバイスに表示されるＷｅｂページに対応する。小型画面デバイスに変換される場合、ユーザは、たとえば最初に第２のメニューバー５１０のうち１つを選択できるように第１の制御セグメント５５を表示し、次にコンテンツアイテム５１１のうち１つを選択するというように、１回に１つのセグメントしか見られない可能性がある。
【００６２】
図５Ｇの結果として生じるレイアウトは、ＨＴＭＬのインラインフレーム機能を使用して実施可能である。
【００６３】
上記図５Ａから５Ｈまでの例は、ユーザデバイスの２つの両極端な表示機能を示すものである。中間的な機能のデバイスでは、おそらく２つか３つのセグメントまたは区画を表示する、代替レイアウトが適切であろう。また、デバイスの機能に従って、各区画またはセグメント内のコンテンツを修正することも適切であろう。たとえば、ＰＣは一般に、カラーイメージおよび動画イメージを含むイメージ表示の高度な標準が可能であるのに対して、ＷＡＰ電話はカラー機能を持たず、画面解像度およびリフレッシュ速度も制限されている可能性がある。そのため、各区画またはセグメントについて、様々なデバイスに適したいくつかの異なる形式でコンテンツを格納しなければならない。
【００６４】
ポリシーテーブル４０はそれぞれ、たとえばデバイスポリシーテーブル３０の階層を示す図６に示された構造などの、階層構造を有するように配置構成される。概念上のルートデバイスタイプの特徴によって、階層の上位レベル６１が定義される。このルートタイプは、デバイスポリシーテーブル３０のデフォルト値を表すものとみなすことができる。第２層６２は、いくつかの機能においてルートデバイスタイプとは異なるデバイスタイプを定義する。したがってデバイスポリシーテーブルは、これらのフィールドについて、ルートデバイスタイプを記述するパラメータが継承されないエントリ（列）を含むことになる。階層の第３層６３は、第１層の一般的なデバイスタイプの下位区分を含み、たとえば、いくつかの異なるＰＤＡデバイスタイプが例示されている。これらのデバイスタイプはそれぞれ、第１層のＰＤＡの機能を記述した多くのパラメータを継承することになるが、いくつかの点では異なり、それによって継承されないパラメータを含むフィールドについて、デバイスポリシーテーブルのそれぞれの列にエントリが必要となる。
【００６５】
階層のこれに続く層６４および６５が、デバイスタイプのさらなる下位区分を定義する。
【００６６】
デバイス識別子４５はこの階層ツリーにおけるノードを識別し、次に、階層構造によって定義されたツリーを、ノードから連続する層を通り、上位層６１に定義されたルートデバイスタイプまでトラバースし、各層で継承されたさらなる属性を取得することによって、デバイスタイプに関連する属性の完全なセットを取得することができる。
【００６７】
それぞれのポリシーテーブル４０をこうした階層構造で編成することの利点は、追加のデバイスタイプに関するデータを含めるためにポリシーテーブル４０を拡張する必要がある場合に、新しいノードを階層ツリー構造に挿入し、この新しいノードを隣接する上位層の親ノードからのブランチに接続することによって達成できることである。親ノードは、デバイスタイプが最も完全な属性セットを継承するノードとなるように選択される。
【００６８】
たとえば、ポリシーテーブル４０にすでに移動電話が示されており、移動電話の新しいモデルが使用可能となった場合、ポリシーの変更を必要とする新しいモデルの機能におけるどんな変更も、階層の既存のノードによって表される移動電話の既存のモデルから属性が継承されないフィールドのみにある値を含む各ポリシーテーブルの新しいエントリに対応する、最小限のデータ量で表すことが可能である。
【００６９】
追加のデバイスタイプを含むようにポリシーテーブル４０を更新するための情報は、図１に示されたサービスセンタ５によって提供され、たとえばインターネット３を介してＷｅｂサーバ１に伝送することが可能である。次にポリシーテーブル４０を含むデバイス依存情報２５は、図２に概略的に示されたＷｅｂサーバ１のソフトウェアモジュールである、データマネージャ１９０のオペレーションによって更新することができる。一般にこのプロシージャは、Ｗｅｂサーバ１の通常のオペレーション時、およびコード生成エンジン２１のオペレーション時に着手することができる。ポリシーテーブル４０の更新に応答して、ポリシーオブジェクト４１はそれ自体を自動的に更新し、コード生成エンジン２１のオペレーティング環境４６でのそれらの現在の使用を管理する。このアクティビティは、コード生成エンジン２１によって現在生成されているどんなＷｅｂページコードも混乱させないように規制される。
【００７０】
図７は、好ましい実施形態でＷｅｂサーバに提供されるソフトウェアの一例を示す図である。ソフトウェアは、ポリシーテーブル４０のセットおよびタグ７０のセットを含み、どちらも、タグを実施するためのコンテンツおよびコードの作成を実行可能にするのに必要な情報、すなわちコード生成エンジン２１のオペレーティング環境で各タグが使用されるときに実行されるプログラムコードを提供するタグ定義を含む。
【００７１】
コード生成エンジン２１およびデバイス識別エンジン２９は、Ｗｅｂサーバに提供されるアイテムの中にある。レポーティングエンジン７１も提供される。レポーティングエンジンは、Ｗｅｂサイトの使用率を測定するなどのタスクを実行するために、処理装置２０によって操作される。この情報を使用して、たとえば広告用にサイトが使用される範囲を実証すること、およびサイトのユーザをターゲットとした個別化されたマーケティングを実行可能にすることができる。一例として、ユーザのデータベースを使用して、特定ユーザからの要求メッセージへの応答を調整し、その結果、応答メッセージが特定ユーザの興味の対象として登録された製品に関する特別なオファーを含む追加のページを含むようにすることができる。
【００７２】
さらにソフトウェアは、リモートユーザデバイス２のユーザによるＷｅｂサイトの使用に応答して生じる可能性のある、インボイスおよび発注書作成などの日常のアクティビティと通信するための統合エンジン７２を含む。
【００７３】
さらにソフトウェアは、オペレーションを制御し、エラーの検出を可能にし、それに応じてリソースの制御を可能にするために、システム全体を管理するためのオペレーションマネージャ７３を含む。
【００７４】
さらに、図４を参照しながら上記で説明したように、起動時にポリシーオブジェクトを作成するためのプログラム７４も提供される。
【００７５】
前述のように、デバイス識別エンジン２９も提供される。
【００７６】
さらにＷｅｂアプリケーション７５は、受け取ったＵＲＬ要求を処理して、要求されたＷｅｂページを識別し、コード生成エンジン２１にインポートするためにコンテンツコード２３の適切な文書を選択する。
【００７７】
図８は、小型から中型までのサイズのＷｅｂサーバで、本発明を実施するために必要な典型的なハードウェアを示す概略図である。ポータブル記憶媒体８１から図７に要約されたようなプログラムを受け取るための機構を有するパーソナルコンピュータ８０が、ファイアウォール８２を介してルータ８３に接続される。ルータ８３は、広帯域幅の専用回線８４を介して、インターネット３と接続するためにインターネットサービスプロバイダ８５に接続される。
【００７８】
Ｗｅｂサーバ１を動作させるために必要なプログラムおよびデータは、ポータブル記憶媒体８１の形式で、または別法としてインターネット３などのネットワークを介して通信される信号８６として、サービスセンタ５から通信可能である。
【００７９】
図９に概略図として示されるように、上記のＷｅｂサーバおよびソフトウェア構成により、コンテンツコード２３を提示情報９０とは別に格納することが可能であり、その結果、要求メッセージ９１がシステムによって受け取られるときに、コード生成エンジン２１は、コンテンツコードおよび提示情報の組合せを表す新しく生成されたＷｅｂページコードを含む応答メッセージ９２を動的に生成することができる。この配置構成の特定の利点は、たとえば提示情報９０を単に更新することによって、スタイル、およびロゴを含むテーマなどの提示情報を変更することが比較的容易であることである。これによって、作成されたコードの大幅な再設計が避けられる。別々な記憶域は、同じハードディスク上にある別のファイル内の場所、または物理的に別のメモリデバイス内の場所を使用することができる。
【００８０】
提示情報９０を更新するためには、単にスタイルポリシーテーブル３２、テーマポリシーテーブル３３、またはレイアウトポリシーテーブル３５に含まれたデータを変更することだけが必要な場合がある。
【００８１】
図１０は、Ｗｅｂサーバ１が、中規模から大規模の企業の業務環境で動作するように適合された、好ましい実施形態を示す概略図である。Ｗｅｂサーバ１は、リモートユーザデバイス２からの要求メッセージに応答したＷｅｂページ情報の製作（ｐｒｏｄｕｃｔｉｏｎ）およびＷｅｂページコードを含む応答メッセージの出力に対する責務を負った、製作サーバ１００を含む。したがって製作サーバ１００は、前述の図のＷｅｂサーバ１によって実行されるように上記で記載された機能を実行する。ここでＷｅｂサーバ１は、Ｗｅｂサーバとサービスセンタ５との間の対話、および製作サーバ１００を定期的に新しいソフトウェアに更新することに対する責務を負った、開発サーバ１０１も含む。
【００８２】
製作サーバ１００と開発サーバ１０１はそれぞれ、前述のパーソナルコンピュータ８０よりもはるかに計算能力の優れた、それぞれの処理装置クラスタを含む。
【００８３】
開発サーバ１０１は、新しいソフトウェアを製作サーバ１００にダウンロードする前に、いくつかのレベルのテストを新しいソフトウェアに適用可能にする、開発およびステージングプロセスを実行する一連の処理装置とみなすことができる。
【００８４】
製作サーバ１００によって動作されるソフトウェアは、リモートユーザデバイス２の新しいタイプの展開を考慮するために定期的に更新し、Ｗｅｂページとして送達される新しいコンテンツを組み込むことも必要である。
【００８５】
図１０に示されるように、サービスセンタ５は、更新されたポリシーテーブルなどのデータが定期的に開発サーバ１０１に通信される、中央参照データベース１０２を維持する。このデータの通信はインターネット３を使用して発生し、ＸＭＬ構文がＨＴＴＰプロトコルを使用して伝送されるデータを構築するために使用される。図１０に示されるように、開発サーバ１０１は、要求メッセージ１０３を出力することでポリシーテーブル４０の更新を定期的に要求し、要求されたデータを応答メッセージ１０４で受け取る。
【００８６】
開発サーバ１０１は、応答メッセージ１０４を受け取ったときに新しいデータに関するテストを実行するために使用し、たとえば適切な新しいレイアウトを追加するようにローカル調整を実行するために使用することができる。
【００８７】
テストおよび修正の後、新しいポリシーテーブルは開発サーバ１０１から製作サーバ１００へ、適切なファイアウォールを介して通信される。
【００８８】
製作サーバおよび開発サーバ内のデータベースを更新する場合、一般に、データベースのコンテンツ全体を伝送する必要はなく、代わりに、ＸＭＬ構文のメタデータが添付されたＨＴＴＰプロトコルで伝送されるデータを構成するコマンドの編集に依拠する。
【００８９】
図１０にはプローブ（ｐｒｏｂｅ）サイト１０５も示されており、この機能については以下で説明するが、インターネット３を介してアクセス可能でありＵＲＬを有するサーバを表すものである。この例では、プローブサイト１０５の物理的場所がＷｅｂサーバ１の場所とは別であるように示されている。
【００９０】
図１１は、製作サーバ１００、プローブサイト１０５、およびサービスセンタ５が、最初の遭遇に応答して新しいタイプのリモートユーザデバイス２と対話する方法を示す概略図である。新しいタイプのデバイス２は、たとえばＷＡＰを使用し、所与の製造業者によって以前のモデルの機能に関してアップグレードされた機能を含み、たとえば大型化されたサイズおよび増強されたカラーイメージ表示機能などの様々な表示機能を有する、最新バージョンの移動電話であってよい。
【００９１】
Ｗｅｂサーバ１によって提供されるＷｅｂサイトへのアクセスを希望する新しいデバイス２のユーザは、インターネット３を介して製作サーバ１００のＵＲＬに出力される要求メッセージ１１０を生成するために、デバイス内のブラウザソフトウェアを起動する。
【００９２】
製作サーバ１００は要求メッセージ１１０を受け取り、要求メッセージのＨＴＴＰヘッダに格納されたＩＤ文字列からデバイスタイプ識別子を抽出するための試行において、このメッセージを図２に示されたデバイス識別エンジン２９に入力する。ただしデバイス識別子エンジン２９は、要求メッセージ１１０が知られていない識別子ストリームを含むことを決定する。ただし製作サーバ１００は、適切なポリシーテーブルをアクセス可能にするためのデバイスタイプ識別子が必要であり、デバイスＩＤ４５は、図４に示されるようなコード生成エンジン２１への不可欠な入力である。
【００９３】
製作サーバ１００は、新しいデバイス２に伝送され、デバイスに要求メッセージ１１０をプローブサイト１０５のＵＲＬに転送させる、転送メッセージ１１１を生成することによって、デバイス識別エンジン２９によるこの決定に応答する。その結果、新しい要求メッセージ１１２がデバイス２によって出力され、プローブサイト１０５に伝送される。
【００９４】
プローブサイト１０５は、要求メッセージ１１２に格納された識別文字列を分析し、通信プロトコルおよびデバイス２の機能に関する何らかの基本情報を抽出することができる。この限定された情報は、プローブサイト１０５が、デバイス２のブラウザによって処理することのできるエージェントの形でプローブ１１３を生成できるようにするのに十分であり、デバイスの処理装置によって実行可能なソフトウェアを構成する。
【００９５】
プローブ１１３はさらなるメッセージ１１４でデバイス２に伝送され、デバイスのブラウザはこのメッセージを受け取ると、プローブを背景で処理しながら標準的な応答Ｗｅｂページをユーザに表示する。
【００９６】
プローブ１１３は、デバイスにプローブサイト１０５宛のさらなる要求メッセージ１１５を生成させ、これには、プローブによって供給された情報に従って、デバイス２に関連付けられた機能およびプロトコルのより詳細な情報が含まれる。
【００９７】
プローブサイト１０５は、デバイス２に伝送されるさらなる転送メッセージ１１６に応答し、要求メッセージ１１０を製作サーバ１００に転送するようにデバイスに命令する。デバイス２はこの転送に従い、さらなる要求メッセージ１１７を出力する。
【００９８】
転送メッセージ１１６の出力と同時に、プローブサイト１０５は、サービスセンタに新しいデバイス２の存在を知らせ、プローブ１１３の使用によって取り出された情報をメッセージ１１５で伝えるために、通知メッセージ１１８をサービスセンタ５に送信する。
【００９９】
サービスセンタ５は、受け取った情報を後で使用するために格納し、この情報を処理して一時更新メッセージ１１９を生成するが、これは製作サーバ１００に伝送され、デバイス２のユーザが要求したときにコード生成エンジン２１がＷｅｂページコードを生成できるようにするためのデバイス識別子を含む。その後Ｗｅｂページコードは、最終応答メッセージ１２０でユーザに伝送される。
【０１００】
サービスセンタ５によって生成される一時更新メッセージ１１９は、最も近い適切な既存のデバイスタイプ識別子を製作サーバ１００に提供する。したがって、生成されるＷｅｂページコードは新しいデバイス２に完全に適したものでない場合があるが、通常は、デバイスがたとえばブラウザのデフォルト設定を使用して解釈および表示できるものとなる。
【０１０１】
その後サービスセンタ５は、改定されたポリシーテーブルを含む適切な情報を使用して、中央参照データベース１０２を更新する必要がある。その後この情報を、最終的に製作サーバ１００のデータベースの更新に使用するために開発サーバ１０１に通信される、次の更新に含めることができる。
【０１０２】
このような方法で、上記システムは、新しいデバイスの製造業者による予告の提供または彼らによる詳細な技術データの直接提供の必要なしに、インターネットを介してＷｅｂサイトにアクセスする新しいデバイスの進化に継続的に反応および順応していくことができる。任意選択で、サービスセンタ５は製造業者に連絡することによってこうしたデータを要求することができるが、満足のいくオペレーションを得るためにこれを義務付ける必要はない。
【０１０３】
図１２は、Ｗｅｂサーバ１にキャッシュメモリ１２０が備えられた、一実施形態を示す図である。ゲートウェイサーバ１２１は、リモートユーザデバイス２から要求メッセージを受け取るため、ならびに、動的ワードページサーバ１２３からのＷｅｂページコードの動的生成を要求するか、または要求されたＷｅｂページコードがキャッシュメモリ１２０内に静的Ｗｅｂページとしてすでに存在している場合は、キャッシュメモリからＷｅｂページコードを取り出すことのいずれかによって、要求されたＷｅｂページコード１２２を送信することで応答するために、インターネット３とインターフェースするゲートウェイとして動作する。
【０１０４】
動的Ｗｅｂページサーバ１２３は、受け取ったＵＲＬ要求から抽出されたデバイスタイプ識別子４５およびＵＲＬに対応する格納されたコンテンツコード２３を使用して、上記の方法で動的にＷｅｂページコードを生成するように機能する。
【０１０５】
図１３は、ゲートウェイサーバ１２１の処理装置によって実施されるステップを示す概略図である。ステップ１３０では、ゲートウェイサーバがＵＲＬ要求を受け取り、デバイスタイプＩＤ４５を抽出して、要求されたＷｅｂページコードの生成に必要な命令を含むコンテンツコード２３の文書を識別する。
【０１０６】
ステップ１３１では、ゲートウェイサーバ１２１が、このデバイスタイプＩＤおよびＵＲＬについて、Ｗｅｂページコードが静的Ｗｅｂページとしてキャッシュメモリ１２０にすでに存在しているかどうかを問い合わせ、入手可能であれば、ステップ１３２でＷｅｂページコードを取り出す。
【０１０７】
キャッシュメモリ１２０から入手できない場合、ゲートウェイサーバ１２１はステップ１３３で、動的Ｗｅｂページサーバ１２３にＷｅｂページコードの生成を要求し、デバイスタイプＩＤおよびＵＲＬの詳細を伝送する。
【０１０８】
したがって、ゲートウェイサーバ１２１はステップ１３４で、新しく生成されたＷｅｂページコードを受け取る。
【０１０９】
ゲートウェイサーバ１２１はステップ１３５で、インターネット３を介してリモートユーザデバイス２にＷｅｂページコードを出力する。
【０１１０】
図１４は、動的Ｗｅｂページサーバの処理装置の制御の下で実行されるステップを示す概略図である。ステップ１４０で動的Ｗｅｂページサーバは、Ｗｅｂページコードの生成要求を受け取り、さらにデバイスタイプ識別子情報およびコンテンツコード２３の文書を識別するのに必要なＵＲＬから導出された情報も受け取る。必要なコンテンツコード２３はメモリから取り出され、ステップ１４２で必要なＷｅｂページコードを生成するためにコード生成エンジン２１の実行時環境４６で処理される。
【０１１１】
ステップ１４３で、動的Ｗｅｂページサーバ１２３は、結果として生じるＷｅｂページコードがキャッシュメモリ１２０に格納されるのに好適であるとしてフラグを立てられているかどうかについてコンテンツコード２３から決定し、好適であれば、キャッシュメモリバージョンが有効性を維持する期間をコンテンツコードから決定する。ステップ１４４ではこの情報を使用し、Ｗｅｂページコードを含むファイルに追加され、ステップ１４５で、妥当性期間の間格納するためにキャッシュメモリ１２０に出力されるメタデータを作成する。
【０１１２】
ステップ１４６で、動的Ｗｅｂページサーバ１２３は、前述のようにステップ１３４で受け取られるＷｅｂページコードをゲートウェイサーバ１２１に出力する。
【０１１３】
したがってコンテンツコード２３を作成する場合、作成者は、結果として生じるページがキャッシュできるか否か、およびキャッシュメモリでどれだけの間有効性を維持できるかを定義するために、特別な属性をｃａｎｖａｓタグに追加するオプションを有する。キャッシュメモリ１２０は、有効性が満了した任意の格納されたページを上書する方法で、新しいキャッシュ済みページをメモリに書き込む。
【０１１４】
図１２では、コンテンツコード２３のページセットが、各ページに関するそれぞれのキャッシュメモリ制御データ１２４と共に概略的に表され、制御データは、メモリ１２０へのキャッシュ用の上記命令を決定するために、ページの作成者によって設定される。
【０１１５】
以上、コード生成エンジン２１によるコードの生成について、たとえば、Ｗｅｂページの一例を生成するためのコンテンツコード２３の作成に使用される命令を示した付録１の例を参照しながら説明してきた。通常は、この例でのように、コード生成エンジン２１によるコンテンツコード２３の実行には、データ記憶域からコンテンツを取り出すことが必要になる。したがってイメージファイルなどのデータオブジェクトが、コード生成エンジン２１によって出力されることになるＷｅｂページコードに含めるためにインポートされる。
【０１１６】
Ｗｅｂページの作成者は、インポートされるデータオブジェクトを名前によって参照するための構成要素を作成することができる。データオブジェクトの様々なバージョンが、階層型であり、様々な階層レベルがリモートユーザデバイス２の様々な機能に対応するようなデータ構造に格納される。コンテンツコード２３の作成者は、各オブジェクトについて、図３に示されたような構成要素ポリシーテーブル３７にデータを入力することによって、各デバイスタイプＩＤ４５に使用される適切なバージョンを定義することができる。次に構成要素ポリシーテーブルは、図６Ａの階層に従い、それぞれ可能なデバイスタイプＩＤについてデータオブジェクトバージョンを定義可能にすることができる。この方法は、各リモートユーザデバイス２に使用されるデータオブジェクトの特定のバージョンをターゲットとするコードの作成者であることから、今後、ターゲットとなるコンテンツに関してデータオブジェクトを定義する際に参照される。
【０１１７】
あるいは、データオブジェクトのいくつかのバージョンを、データオブジェクトの各バージョンの特徴が各バージョンの関連付けられたメタデータに記載された階層型で提供することができる。その後、適切なバージョンの自動選択を、図１５に概略的に示されたような構成要素論理ソフトウェアモジュール１５０を使用して実行することができる。
【０１１８】
構成要素論理ソフトウェアモジュール１５０は、データオブジェクトメタデータと、レイアウトポリシーテーブル３５で定義付けられたレイアウト考慮事項と、デバイスポリシーテーブル３０によって提供されたデバイスに関する情報とに基づいて、適切なバージョンを選択する。データオブジェクトバージョンを選択するためのこの方法は、以下では非ターゲット化（ｕｎｔａｒｇｅｔｅｄ）コンテンツ選択と称する。
【０１１９】
コード生成エンジン２１は、ターゲット化コンテンツ選択または非ターゲット化コンテンツ選択のうちいずれか１つを使用して動作することができる。あるいは、また好ましくは、コード生成エンジン２１は、ターゲット化コンテンツ選択および非ターゲット化コンテンツ選択の両方を選択的に使用することも可能であり、これによって、作成者がコンテンツコード２３を作成する場合、データオブジェクトバージョンを定義するかまたは構成要素論理ソフトウェアモジュール１５０を使用して選択が自動的に処理されるままにしておくかの自由が作成者に与えられる。
【０１２０】
図１６は、ターゲット化コンテンツと非ターゲット化コンテンツの両方が使用できる方法を示す概略図である。ステップ１６０では、コンテンツコード２３がデバイスタイプＩＤ４５と共にコード生成エンジン２１に入力され、ステップ１６１ではコードの処理が開始される。
【０１２１】
コンテンツコード２３の構成要素がデータオブジェクトのインポートを要求するインスタンスごとに、コード生成エンジン２１はステップ１６２で、データオブジェクトの作成者定義バージョンのインポートを試行する。ステップ１６３でこうした作成者定義バージョンが存在すると決定され、これが首尾よくインポートされると処理は続行され、ステップ１６４で、インポートされる任意のさらなるデータオブジェクトが残っているかどうかを決定する。
【０１２２】
ただしステップ１６３で、任意の作成者定義バージョンが首尾よくインポートできない場合、処理はステップ１６５で続行され、適切なオブジェクトバージョンを識別するために構成要素論理ソフトウェアモジュールのオペレーションが必要となる。ステップ１６５では、選択されたデータオブジェクトバージョンがインポートされ、コード生成プロセスが続行される。ステップ１６４で、インポートされるさらなるデータオブジェクトがないと決定された場合、Ｗｅｂページコードを生成するための残りの処理はステップ１６７で完了し、完了したＷｅｂページコードがステップ１６８で出力される。
【０１２３】
図１７は、構成要素論理ソフトウェアモジュール１５０が自動的に適切なデータオブジェクトバージョンを選択できるようにするために、データベース１９に格納されるデータオブジェクトが階層型データ構造で格納される方法を示す概略図である。
【０１２４】
たとえば作成者が、パーソナルコンピュータ形式のユーザデバイスの画面の定義済み領域にビデオクリップが表示されるようなＷｅｂページを設計する場合、ビデオクリップはビデオデータオブジェクト１７０としてデータベース１９に格納され、コード生成エンジン２１が名前によってビデオデータオブジェクト１７０を参照できるようにするために、関連付けられた構成要素名１７１が考案される。ビデオデータオブジェクト１７０は、データオブジェクトに関連して格納されるメタデータ１７２によって特徴付けられ、デバイスタイプ識別子４５によって定義された所与のユーザデバイス２がデータオブジェクトからビデオクリップを受け取って表示できるかどうかに関する決定を、構成要素論理ソフトウェアモジュール１５０が実行するのに十分なデータフィールドを含むものである。
【０１２５】
図１７に示されるように、作成者は、様々なデバイスタイプが使用するのに好適な様々なバージョンのビデオデータオブジェクトも格納することが可能であり、それぞれにそれぞれのメタデータが付随している。
【０１２６】
作成者は、関連付けられたメタデータ１７４を有する写真イメージデータオブジェクト１７３もデータベースに格納する。同様に作成者は、様々なデバイスタイプに適した属性を有し、それぞれメタデータが付随した、関連する写真イメージデータオブジェクト１７３のセットを格納することができる。構成要素論理ソフトウェアモジュール１５０が、Ｗｅｂページコードを現在準備しているユーザデバイスが、どのビデオデータオブジェクトも表示できないことをメタデータ１７２から決定した場合、写真イメージが、ビデオクリップに代わって静的写真イメージを描画できるようにするフォールバックポジション（ｆａｌｌ　ｂａｃｋ　ｐｏｓｉｔｉｏｎ）を表す。したがって、写真イメージは一般に関連する素材を表示することになり、たとえばビデオクリップから取ったスチール写真を含むことができる。
【０１２７】
作成者は、関連付けられたメタデータ１７６を有するグラフィックイメージデータオブジェクト１７５をデータベースに入力することもできる。同様に作成者は、様々なデバイスタイプに適した、それぞれのメタデータを有する関連するグラフィックイメージデータオブジェクトのセットを入力することができる。グラフィックイメージは、写真イメージの適切なバージョンが使用できない場合に使用するために、さらなるフォールバックポジションを構成する。
【０１２８】
作成者は、関連付けられたメタデータ１７８を有する単純なテキストオブジェクト１７７などの追加のフォールバックポジションも入力することができる。テキストデータオブジェクト１７７は、構成要素論理ソフトウェアモジュール１５０が、たとえグラフィックイメージ１７５でもユーザデバイス２が描画できないと決定した状況についての、最終的なフォールバックを表す。
【０１２９】
データオブジェクト１７０、１７３、１７５、および１７７は、階層の様々なレベルがユーザデバイス機能のレベルに対応する図１７で概略的に示されたような階層型データ構造で、データベース１９に格納される。この例では、テキストデータオブジェクト１７７がユーザデバイス２の最低レベル機能を表す階層のルートレベルであり、したがって最終的なフォールバックポジションを表す。
【０１３０】
たとえばユーザデバイス２がデバイスタイプ識別子４５によってパーソナルコンピュータであると識別された場合、構成要素論理ソフトウェアモジュール１５０はデータオブジェクト１７０を選択することになる。ユーザデバイス２が、ビデオクリップの描画機能は有しないが写真イメージの描画機能を有するポケットＰＣであると識別された場合、構成要素論理ソフトウェアモジュール１５０はデータオブジェクト１７３を選択することになる。ユーザデバイス２が、ＷＡＰ機構を有する移動電話であると識別された場合、モジュール１５０はグラフィックイメージデータオブジェクト１７５を選択することになる。しかし、ユーザデバイス２が、ＷＡＰ機構を有しない従来の移動電話であると識別された場合、テキストデータオブジェクト１７７が選択されることになる。
【０１３１】
階層型データ構造は、たとえば、何らかのソートのリンクを定義するＷｅｂページコードの場合などに、適切なデータオブジェクトを選択可能にするために他のタイプのデータオブジェクトに適用される。リンクは、ＨＴＭＬリンク、ＷＭＬリンク、電子メールリンク、または、ユーザデバイス２が移動電話の場合には単なるオートダイヤル式接続用の電話番号を備えることができる。
【０１３２】
同じ構成要素名を使用してアクセス可能なデータオブジェクトのさらなる例には、同じコンテンツを異なるデバイスで使用するために適切なスクリプトで作成できるＪａｖａ（登録商標）ＳｃｒｉｐｔおよびＷＭＬ　Ｓｃｒｉｐｔなどの、スクリプト構成要素の例がある。したがって作成者は、図１７の階層構造に格納し、構成要素名に応答して取り出すために、要求された様々なスクリプト言語でデータオブジェクトを作成することができる。前の例と同様に、選択は、デバイスポリシーテーブルに関連してデバイスＩＤ　４５を使用することによって決定されたように、リモートユーザデバイス２の機能に基づくそれぞれのデータオブジェクトに付随するメタデータに基づいて実行することができる。
【０１３３】
上記の階層型データ構造を使用することにより、システムがＷｅｂページコード形式で送達することのできるデータオブジェクトの集まりが資産に含まれるシステムの、資産管理の効率的な方法が提供される。
【０１３４】
図１８は、ユーザデバイス２の機能およびユーザの基本設定に合わせてさまざまなバージョンのテキストを取り出せるようにするために、テキスト形式のデータを階層型データ構造に格納することのできる方法を示す図である。文書オブジェクトの英語の全テキストがボックスＧＢ　ＴＥＸＴ　１に格納され、たとえばＰＣ画面での表示に好適である。作成者によって編集されたテキストの削減バージョンがデータオブジェクトＧＢ　ＴＥＸＴ　２として格納され、画面サイズの小さなパームへルドコンピュータでの表示に好適である。編集済みのより小さなスチールバージョンのテキストがデータオブジェクトＧＢ　ＴＥＸＴ　３に格納され、メモリが制限されたハンドヘルドデバイスでの表示に好適であって、最後のＧＢ　ＴＥＸＴ　４には、移動電話での表示用の最小テキストバージョンが含まれる。
【０１３５】
これらのテキストバージョンはそれぞれ英語である。対応するフランス語のテキストオブジェクトは、ＦＲ　ＴＥＸＴ　１、ＦＲ　ＴＥＸＴ　２、ＦＲ　ＴＥＸＴ　３、およびＦＲ　ＴＥＸＴ　４に格納される。同様に、ドイツ語のテキストを含むデータオブジェクトは、ＤＥ　ＴＥＸＴ　１、ＤＥ　ＴＥＸＴ　２、ＤＥ　ＴＥＸＴ　３、およびＤＥ　ＴＥＸＴ　４に格納される。
【０１３６】
データオブジェクトは、構成要素名１７１と、この例では英語、フランス語、またはドイツ語のいずれのテキストバージョンが必要であるかを示す言語識別子１８０とによって対処される。
【０１３７】
言語識別子はデバイスＩＤ　４５に加えてコード生成エンジンに入力され、通常は、ユーザによるユーザ基本設定の入力に応答してリモートユーザデバイス２のブラウザによって生成される要求メッセージ本文から抽出される。ＧＢ　ＴＥＸＴ　１などのテキストデータオブジェクトはそれぞれ、具体的にはテキストを表すコードサイズを含む、関連するオブジェクトのパラメータを示す関連付けられたメタデータ１８１を有する。これにより、所与のオブジェクトが所与のリモートユーザ端末に関する取出しに適しているかどうかに関して、メタデータ１８１によって示されるコードのサイズに基づいて決定することができる。これにより、適切なデータオブジェクトが見つかるまで図１８の階層型ツリー構造をトラバースすることによって、最適なデータオブジェクトを選択することができる。
【０１３８】
図１９は、コード生成エンジン２１によって生成された出力を修正するための区画細分器（ｄｉｓｓｅｃｔｏｒ）１９０が提供される、さらなる実施形態を示す図である。こうした配置構成は、リモートユーザデバイス２の使用可能メモリ容量より多量のコードを含む応答メッセージの伝送を避けるのに有利である。移動電話などのメモリの小さなデバイスの場合、使用可能容量を超えるローディングによって、デバイスのマイクロプロセッサがクラッシュするか、またはロック状況に陥る可能性がある。こうしたデバイスからの照会に応答して提供されるコンテンツの作成者は、デバイスのメモリ容量が制限されていることに気付く場合があるが、実際問題として、コード生成エンジン２１から出力されるコードの実際の量を確実に予測することは困難であるため、その解決策としては、区画細分器１９０などのデバイスをコード生成エンジン２１のダウンストリーム側に追加で配置し、出力されるコードをトラップしてコード量を測定することである。
【０１３９】
コード量がユーザデバイス２の指示された使用可能データ容量を超えると、本明細書では断片と呼ばれるいくつかのフラグメントに文書を自動的に分割または細分化するために、細分器１９０が配置される。
【０１４０】
図１９に示されるように、区画細分器１９０は、デバイス識別エンジン２９からデバイスタイプ識別子４５を受け取り、デバイスタイプ識別子からユーザデバイス２の使用可能なメモリ容量を決定するためにデバイスポリシーテーブルに対処する。
【０１４１】
区画の分割が適切であれば、結果として生じる断片のうちの最初の１つがフロントエンド処理装置１９０によって出力され、残りの断片はバッファメモリ１９１に格納される。その後フロントエンド処理装置１９０は、それぞれの応答メッセージで残りの断片を順番に供給することによって、ユーザデバイス２からの後続の要求に応答することができる。
【０１４２】
図２０は、区画の細分化のプロセスを示す概略図であり、この文脈では、区画という用語はリモートユーザデバイス２に伝送されるように意図されたＷｅｂページを示す際に使用される。
【０１４３】
ステップ２００では、コード生成エンジン２１により、デバイスタイプ識別子４５およびインターネット３を介して受け取られる要求メッセージの性質に基づいて、区画を表すコードが生成される。
【０１４４】
ステップ２０１では、コード生成エンジン２１から出力されたコードが区画細分器１９０によって受け取られて測定され、ステップ２０２では、区画細分器がデバイスポリシーテーブルにアクセスしてリモートユーザデバイス２のデータ容量を調べる。
【０１４５】
ステップ２０３では、区画細分器１９０が、コードの量がリモートユーザ端末２のデータ容量に等しいかまたはこれよりも少ないか否かを決定し、等しいかまたは少ない場合には、ステップ２０４でどんな細分化ステップも実行せずにコードを出力する。
【０１４６】
しかし、コード量が使用可能データ容量よりも多い場合は、ステップ２０５で細分器がコードを、それぞれの断片が使用可能なデータ容量よりも少ないコード量を有するいくつかの断片に細分化する。ステップ２０６では、分割された区画の断片がバッファメモリ１９１に格納される。ステップ２０７では、断片のうち１つが、リモートユーザデバイス２への応答メッセージに含めるためにサーバに出力される。
【０１４７】
図２１は、領域Ａ、Ｂ、Ｃ、Ｄ、Ｅ、およびＦが断片２１１から２１６を形成するように細分化される区画２１０を示す図であり、それぞれの断片がバッファメモリ１９１に別々に格納され、別々の応答メッセージでリモートユーザデバイス２に伝送することができる。
【０１４８】
図２２は、ユーザデバイスの制限されたデータ容量を考慮してサーバとユーザデバイス２との間のメッセージが断片化される環境の下で、ユーザセッションを定義する情報を格納するための、以下でユーザセッションメモリ２２０と称されるメモリの追加の使用法を示す図である。
【０１４９】
こうした配置構成が適切な場合の典型的な例は、フォーム記入演習がユーザセッションで完了される場合である。パーソナルコンピュータなどの大容量デバイスの場合、フォームが単一の画面でユーザに提供されること、およびそのフォームがユーザによって完成される複数のフィールドを含むことは珍しくない。
【０１５０】
たとえば図２３では、フォーム２３０が複数のデータフィールド２３１を定義する。容量が制限されたデバイス２の場合、フォームを、それぞれにフォーム２３０の部分Ａ、Ｂ、Ｃ、Ｄ、Ｅ、およびＦを含むいくつかのフラグメント２３２から２３７に断片化することが必要な場合がある。
【０１５１】
ユーザセッション時には、フォーム２３０がフラグメント２３２から２３７に細分化され、それぞれのフラグメントに対応するコードがバッファ１９１に格納される。最初に、フラグメント２３２のみがユーザデバイス２に伝送され、ユーザはサーバ１によって処理された応答メッセージで応答する。フォームの領域Ａに格納されたデータフィールドに対応する応答が、ユーザセッションメモリ２２０に格納される。次のフラグメント２３３がユーザデバイスに伝送され、対応する応答がユーザセッションメモリに格納される。最後のフラグメント２３７が伝送されるまで、このプロセスが繰り返される。フォームのこのフラグメントＦへの応答に、提出ボタン２３８の始動が含まれる。提出ボタン２３８の始動が最後の応答メッセージに含まれていれば、ユーザセッションメモリ２２０に必要な情報が完了し、フォーム記入演習からの完全なデータのセットがデータ処理アプリケーション２３９に渡される。
【０１５２】
フォームが領域Ａ、Ｂ、Ｃ、Ｄ、Ｅ、およびＦに分割される方法は、レイアウトポリシーの一部として作成者によって定義される。
【０１５３】
ユーザデバイス２に伝送されるコードには、通常は、フォーム記入時にユーザによって入力されるデータの妥当性検査および検証を実行するために、リモートユーザデバイス２のブラウザを動作させるための命令を定義するスクリプトも含まれる。スクリプトは、フォーム記入時にユーザによって入力されたデータに適用される妥当性検査規則の定義を含む作成者によって作成されるタグに基づいて、コード生成エンジン２１によって生成される。
【０１５４】
たとえば、データフィールドが数値フィールドとして示される場合、妥当性検査の目的で数値制限を適用することができる。
【０１５５】
コード生成エンジン２１によってスクリプトコードが生成される方法は、プロトコルポリシーによって示されるような、リモートユーザデバイス２に適したスクリプト言語のバージョンに依存する。
【０１５６】
さらなる例では、ユーザデバイス２は移動電話などの処理能力が制限されたタイプであり、処理装置内に存在するソフトウェアまたはデバイスのＳＩＭカードによって妥当性検査規則が適用される。この場合、コード生成エンジン２１は、妥当性検査ステップを実行するためにデバイスへの伝送用のスクリプトを生成する必要がないため、ユーザデバイス内にある既存のソフトウェアによって指示される形式で妥当性検査パラメータを提供するのに十分である。
【０１５７】
スタイルシートをサポートしているプロトコルを使用するリモートユーザデバイス２に応答する場合、作成者はスタイルシートがコード生成エンジン２１によって生成されるように指定することができる。スタイルシートは、複数のページにまたがって共用することができる。使用可能なプロトコルがスタイルシートをサポートしていないデバイスの場合、作成者によって定義されたスタイルシート定義をエミュレートした、結果的に生じる表示ページでの視覚的効果を作り出すために、コード生成エンジン２１によって追加のコードが生成される。
【０１５８】
たとえば、ＨＴＭＬ　４ブラウザは受け取ったＨＴＭＬに対してスタイルシートを適用することが可能であり、ＨＴＭＬ　３ブラウザは適用することができない。したがってＨＴＭＬ　３ブラウザは、スタイルシートによって提供されるものと同じ効果を達成するために、フォント、カラー、および他の属性を追加する、追加のＨＴＭＬコードを受け取る必要がある。
【０１５９】
作成者はスタイルシート情報を定義する必要があり、コード生成エンジン２１は、必要であれば自動的に、スタイルシートがサポートされていない場合に必要な追加のコードを生成することになる。
【０１６０】
ユーザデバイスの中には、たとえば視覚障害を持つユーザが使用するように設計されたデバイスなどのように、視覚表示を提供しないものもある。こうしたデバイスは、通常はサービスプロバイダのコンピュータでホストとして音声ブラウザを処理するサービスプロバイダによってサービスが提供され、それによってＨＴＴＰ受信コードを、音声メッセージを送達する通信信号に変換する。したがってこうしたサービスプロバイダは、上記実施形態のサーバ１とリモートユーザデバイス２との間で媒介としての役割を果たすことができる。出力されたＷｅｂページコードは、その後ｖｏｉｃｅＸＭＬでコード生成エンジンによって出力できるので有利である。
【０１６１】
図２４は、Ｗｅｂページオーサリング（ａｕｔｈｏｒｉｎｇ）時に作成されたファイルを格納する際に使用される、グラフィカルユーザインターフェース４の機能のうちの１つを示す図である。一般的な状況は、様々なフォーマットを必要とするいくつかの様々なデバイスタイプにダウンロードされるＷｅｂページに、同じ背景イメージおよびテキストが組み込まれる場合に発生する。データ変換器２４１は、適切なファイルを生成するタスクを実行中の作成者を支援するために、本発明のさらなる実施形態に従って提供される。図２４に示されるように、オーサリングスイート２４０には、オーサリングスイートによって出力されたデータファイルをファイルマネージャ２４２のアクションによってデータ構造に格納されるファイルセットに変換するための、データ変換器２４１が提供される。
【０１６２】
図２５は、図２４の要素を動作させる方法のステップを示す図である。ステップ２５０では、データ変換器２４１がオーサリングスイート２４０から、データオブジェクトとして格納されることになるデータを含むファイルを受け取る。一例として、このデータファイルはＧＩＦフォーマットのイメージを備える。
【０１６３】
ステップ２５１では、データ変換器２４１がデータのタイプ（すなわち、イメージ、テキスト、または他のデータタイプのいずれか）を決定し、デバイスポリシーテーブル３０を参照して、コード生成エンジン２１のオペレーション中に要求される可能性のある様々なデータフォーマットのリストを、デバイスタイプ識別子４５の値に従って決定する。
【０１６４】
ステップ２５３では、データ変換器２４１がリスト内のこれらそれぞれのフォーマットに対して、適切なフォーマットおよび関連付けられたメタデータを有する変換済みファイルを生成する。ステップ２４３では、ファイルマネージャ２４２がファイルをデータ構造に格納する。
【０１６５】
この配置構成により、作成者はテキストおよびグラフィックパラメータを１回だけ入力すれば、その後データ変換器およびファイルマネージャが、格納し、その後データオブジェクトとして使用するために、様々なフォーマットでファイルセットを生成するタスクを引き受けることが可能になる。
【０１６６】
以上の実施形態では、一例としてＪＡＶＡ（登録商標）を使用した実施について参照してきた。本発明の実施およびＪＡＶＡ（登録商標）の参照ではＪＡＶＡ（登録商標）の代替物を使用することが可能であり、ＪＡＶＡ（登録商標）ｂｅａｎｓおよびＪＡＶＡ（登録商標）仮想マシンは本発明の範囲を限定するものと読むべきではない。
【０１６７】
本発明は、Ｗｅｂサーバのコンテキストで、コンピュータ上で動作されるコンピュータプログラムによって実施することができる。したがって本発明の一態様は、処理装置が前述の方法を実施するのを制御するための処理装置実施可能命令を格納した、記憶媒体を提供する。
【０１６８】
さらにコンピュータプログラムは、たとえばインターネットなどのネットワークを介したコードのダウンロードによって、電子形式で取得することも可能である。本発明の他の態様によれば、処理装置が前述の方法を実施するのを制御するための処理装置実施可能命令を搬送する、電気信号が提供される。
【０１６９】
本発明は、専用ネットワークおよびさらなる公衆ネットワークを含む、インターネット以外のネットワークに対する応用例を有する。
【０１７０】
ポリシーテーブル、カスタムタグ、およびコード生成エンジンは、ソフトウェア製品として別々にまたはソフトウェアキットとして組み合わせて供給することが可能であり、記憶媒体または電気信号形式のいずれで具体化されようとも、本発明のさらなる態様を構成する。
【０１７１】
図６で言及されたデバイス名は、層６３、６４、および６５に商標として知られているデバイスタイプ名を含むものである。
【０１７２】
【表６】
2004510254.tif 000008
【０１７３】
【表７】
2004510254.tif 000009
【０１７４】
【表８】
2004510254.tif 000010
【０１７５】
【表９】
2004510254.tif 000011
【０１７６】
【表１０】
2004510254.tif 000012
【０１７７】
【表１１】
2004510254.tif 000013
【０１７８】
【表１２】
2004510254.tif 000014
【０１７９】
【表１３】
2004510254.tif 000015
【図面の簡単な説明】
【図１】
Ｗｅｂサーバとリモートユーザデバイスとの間の接続を示す概略図である。
【図２Ａ】
図１のＷｅｂサーバを示す概略図である。
【図２Ｂ】
図２ＡのＷｅｂサーバでの信号流れを示す機能図である。
【図３】
図２のＷｅｂサーバで使用するためのポリシーテーブルを示す概略図である。
【図４】
コード生成エンジンのオペレーションを示す概略図である。
【図５Ａ】
ＰＣのレイアウトを示す図である。
【図５Ｂ】
テレビジョンのレイアウトを示す図である。
【図５Ｃ】
ＰＤＡのレイアウトを示す図である。
【図５Ｄ】
ＷＡＰ電話のレイアウトを示す図である。
【図５Ｅ】
大型画面を有するデバイスのレイアウトを示す図である。
【図５Ｆ】
小型画面を有するデバイスでのフラグメント表示を示す図である。
【図５Ｇ】
大型画面デバイスでのマルチメニュー構造を示す図である。
【図５Ｈ】
図５Ｇのレイアウトでの制御セグメントとコンテンツセグメントとの関係を示す図である。
【図６】
デバイスポリシーテーブルの階層を示す図である。
【図７】
Ｗｅｂサーバに提供されるソフトウェアを示す概略図である。
【図８】
Ｗｅｂサーバが要求するハードウェアを示す概略図である。
【図９】
コード生成エンジンが使用するためのコンテンツコードと情報表示との分離を示す概略図である。
【図１０】
製作サーバおよび開発サーバを備えるシステムを示す概略図である。
【図１１】
新しいタイプのユーザデバイスに最初に遭遇したときの、図１０のシステムでの信号交換を示す図である。
【図１２】
キャッシュメモリを有するサーバを示す概略図である。
【図１３】
図１２のゲートウェイサーバのオペレーション方法を示す流れ図である。
【図１４】
図１２の動的Ｗｅｂページサーバのオペレーションを示す流れ図である。
【図１５】
構成要素論理ソフトウェアモジュールを示す概略図である。
【図１６】
構成要素論理ソフトウェアモジュールを使用したコード生成のオペレーションを示す流れ図である。
【図１７】
単一の構成要素名によって参照されるデータの様々なバージョンである、データオブジェクトの階層を示す図である。
【図１８】
様々なテキストコードサイズおよび言語を有するテキストオブジェクトの階層を示す図である。
【図１９】
区画細分化が発生したＷｅｂサーバにおける信号フローを示す図である。
【図２０】
区画細分化を示す流れ図である。
【図２１】
区画から断片への細分化を示す図である。
【図２２】
フォーム記入時のユーザセッションメモリの使用を示す図である。
【図２３】
フォーム記入で使用される区画の細分化を示す図である。
【図２４】
グラフィカルユーザインターフェースの機能を示す図である。
【図２５】
ファイル記憶の方法を示す流れ図である。
【図１】
2004510254.tif 000016
【図２Ａ】
2004510254.tif 000017
【図２Ｂ】
2004510254.tif 000018
【図３】
2004510254.tif 000019
【図４】
2004510254.tif 000020
【図５Ａ】
2004510254.tif 000021
【図５Ｂ】
2004510254.tif 000022
【図５Ｃ】
2004510254.tif 000023
【図５Ｄ】
2004510254.tif 000024
【図５Ｅ】
2004510254.tif 000025
【図５Ｆ】
2004510254.tif 000026
【図５Ｇ】
2004510254.tif 000027
【図５Ｈ】
2004510254.tif 000028
【図６】
2004510254.tif 000029
【図７】
2004510254.tif 000030
【図８】
2004510254.tif 000031
【図９】
2004510254.tif 000032
【図１０】
2004510254.tif 000033
【図１１】
2004510254.tif 000034
【図１２】
2004510254.tif 000035
【図１３】
2004510254.tif 000036
【図１４】
2004510254.tif 000037
【図１５】
2004510254.tif 000038
【図１６】
2004510254.tif 000039
【図１７】
2004510254.tif 000040
【図１８】
2004510254.tif 000041
【図１９】
2004510254.tif 000042
【図２０】
2004510254.tif 000043
【図２１】
2004510254.tif 000044
【図２２】
2004510254.tif 000045
【図２３】
2004510254.tif 000046
【図２４】
2004510254.tif 000047
【図２５】
2004510254.tif 000048
【国際公開パンフレット】
2004510254.tif 000049
2004510254.tif 000050
2004510254.tif 000051
2004510254.tif 000052
2004510254.tif 000053
2004510254.tif 000054
2004510254.tif 000055
2004510254.tif 000056
2004510254.tif 000057
2004510254.tif 000058
2004510254.tif 000059
2004510254.tif 000060
2004510254.tif 000061
2004510254.tif 000062
2004510254.tif 000063
2004510254.tif 000064
2004510254.tif 000065
2004510254.tif 000066
2004510254.tif 000067
2004510254.tif 000068
2004510254.tif 000069
2004510254.tif 000070
2004510254.tif 000071
2004510254.tif 000072
2004510254.tif 000073
2004510254.tif 000074
2004510254.tif 000075
2004510254.tif 000076
2004510254.tif 000077
2004510254.tif 000078
2004510254.tif 000079
2004510254.tif 000080
2004510254.tif 000081
2004510254.tif 000082
2004510254.tif 000083
2004510254.tif 000084
2004510254.tif 000085
2004510254.tif 000086
2004510254.tif 000087
2004510254.tif 000088
2004510254.tif 000089
2004510254.tif 000090
2004510254.tif 000091
2004510254.tif 000092
2004510254.tif 000093
2004510254.tif 000094
2004510254.tif 000095
2004510254.tif 000096
2004510254.tif 000097
2004510254.tif 000098
2004510254.tif 000099
2004510254.tif 000100
2004510254.tif 000101
2004510254.tif 000102
2004510254.tif 000103
2004510254.tif 000104
2004510254.tif 000105
2004510254.tif 000106
2004510254.tif 000107
2004510254.tif 000108
2004510254.tif 000109
2004510254.tif 000110
2004510254.tif 000111
2004510254.tif 000112
2004510254.tif 000113
2004510254.tif 000114
2004510254.tif 000115
2004510254.tif 000116
2004510254.tif 000117
2004510254.tif 000118
2004510254.tif 000119
2004510254.tif 000120
2004510254.tif 000121
2004510254.tif 000122
2004510254.tif 000123
2004510254.tif 000124
2004510254.tif 000125
2004510254.tif 000126
2004510254.tif 000127
2004510254.tif 000128
2004510254.tif 000129
2004510254.tif 000130
2004510254.tif 000131
2004510254.tif 000132
2004510254.tif 000133
2004510254.tif 000134
2004510254.tif 000135
2004510254.tif 000136
2004510254.tif 000137
2004510254.tif 000138
2004510254.tif 000139
2004510254.tif 000140
2004510254.tif 000141
2004510254.tif 000142
2004510254.tif 000143
2004510254.tif 000144
2004510254.tif 000145
2004510254.tif 000146
2004510254.tif 000147
2004510254.tif 000148
2004510254.tif 000149
2004510254.tif 000150
2004510254.tif 000151
2004510254.tif 000152
2004510254.tif 000153
2004510254.tif 000154
2004510254.tif 000155
2004510254.tif 000156
2004510254.tif 000157
2004510254.tif 000158
2004510254.tif 000159
2004510254.tif 000160
2004510254.tif 000161
2004510254.tif 000162
2004510254.tif 000163
2004510254.tif 000164
2004510254.tif 000165
2004510254.tif 000166
2004510254.tif 000167
2004510254.tif 000168
2004510254.tif 000169
2004510254.tif 000170
2004510254.tif 000171
2004510254.tif 000172
2004510254.tif 000173
2004510254.tif 000174
【国際公開パンフレット（コレクトバージョン）】
2004510254.tif 000175
2004510254.tif 000176
【国際調査報告】
2004510254.tif 000177
2004510254.tif 000178
2004510254.tif 000179