(57)【要約】図形表示言語（ＳＶＧ等）で書き込まれた命令およびＷｅｂフォーム作成言語（ＸＦｏｒｍｓ等）で書き込まれた命令を含む１組の命令。図形表示言語に合致する命令に従って、図形がデバイスのディスプレイにレンダリングされる。Ｗｅｂフォーム作成言語に従ってパラメータが命令から抽出され、これらのパラメータはネイティブユーザインタフェースオブジェクトを作成するために利用される。これらのパラメータは、ネイティブユーザインタフェースオブジェクトの作成にも使用されるように、Ｗｅｂフォーム作成言語がユーザ入力領域のサイズおよび位置を示すパラメータを含むよう修正され得る。ネイティブユーザインタフェースオブジェクトは、ユーザがデバイスのユーザコントロールを介して情報を入力できるよう使用されてもよい。図形表示要素の図形要素は、入力された情報の提出を可能にするよう、Ｗｅｂフォーム作成言語の提出動作に結合され得る。
2009512032.tif 000002
【特許請求の範囲】
【請求項１】
デバイスを動作するための方法であって、
１組の命令を受信するステップと、
該１組の命令の図形命令に従って図形を該デバイスのディスプレイにレンダリングするステップであって、該図形命令は図形表示言語に従う、ステップと、
該１組の命令のその他の命令からパラメータを抽出するステップであって、
該その他の命令はＷｅｂフォーム作成言語に従う命令を含む、ステップと、
ネイティブユーザインタフェースオブジェクトを作成するために該パラメータを利用するステップと
を含む、方法。
【請求項２】
前記パラメータは、前記ディスプレイのユーザ入力領域に位置およびサイズ情報を提供するパラメータを備える、請求項１に記載の方法。
【請求項３】
前記図形表示言語の図形要素は、前記Ｗｅｂフォーム作成言語の動作に結合している、請求項１または２に記載の方法。
【請求項４】
前記動作は、提出動作またはリセット動作である、請求項３に記載の方法。
【請求項５】
前記ネイティブユーザインタフェースオブジェクトを利用するユーザ入力制御を解釈するステップをさらに含む、請求項１〜４のいずれかに記載の方法。
【請求項６】
前記ネイティブユーザインタフェースオブジェクトを利用するユーザ入力の提出を可能にするステップをさらに含む、請求項５に記載の方法。
【請求項７】
前記図形命令は、前記ディスプレイの第１領域において図形を画定し、前記パラメータは、該ディスプレイの第２領域を画定するために、該ディスプレイのユーザ入力領域に関する位置およびサイズ情報を提供し、該第２領域は、該第１領域と同空間であるか、または該第１領域に含まれる、請求項２に記載の方法。
【請求項８】
前記１組の命令は、前記Ｗｅｂフォーム作成言語に従う前記１組の命令の一部分を識別するために識別子を備える、請求項１〜７のいずれかに記載の方法。
【請求項９】
前記図形表示言語および前記Ｗｅｂフォーム作成言語は、拡張可能マークアップ言語（ＸＭＬ）である、請求項１〜８のいずれかに記載の方法。
【請求項１０】
前記図形表示言語は、スケーラブルベクターグラフィックス（ＳＶＧ）である、請求項１〜８のいずれかに記載の方法。
【請求項１１】
前記Ｗｅｂフォーム作成言語はＸＦｏｒｍｓである、請求項１０に記載の方法。
【請求項１２】
前記ネイティブユーザインタフェースオブジェクトはＪＡＶＡ（登録商標）オブジェクトである、請求項１１に記載の方法。
【請求項１３】
ＳＶＧ図形要素はＸＦｏｒｍｓ提出動作に結合している、請求項１１に記載の方法。
【請求項１４】
ディスプレイと、
少なくとも１つのユーザ入力制御と、
１組の命令を保持するメモリであって、該１組の命令は該ディスプレイに図形をレンダリングするための図形命令を備え、該図形命令は図形表示言語に従い、その他の命令はＷｅｂフォーム作成言語に従う命令を備え、該その他の命令はパラメータを備える、メモリと、
（ｉ）図形を該ディスプレイにレンダリングするため、（ｉｉ）該１組の命令の該その他の命令からパラメータを抽出するため、（ｉｉｉ）ネイティブユーザインタフェースオブジェクトを作成するために該パラメータを利用するために、該１組の命令に従って動作するコントローラと
を備える、デバイス。
【請求項１５】
前記ネイティブユーザインタフェースオブジェクトは、前記少なくとも１つのユーザ入力制御を用いてユーザ入力を可能にする、請求項１４に記載のデバイス。
【請求項１６】
前記コントローラはＪＡＶＡ（登録商標）仮想マシンを備え、前記ネイティブユーザインタフェースオブジェクトはＪＡＶＡ（登録商標）オブジェクトである、請求項１４または１５に記載のデバイス。
【請求項１７】
前記図形命令は、図形要素を前記その他の命令の提出動作に結合する命令を備える、請求項１４〜１６のいずれかに記載のデバイス。
【請求項１８】
前記パラメータは、ユーザ入力領域の位置およびサイズを設定するパラメータを備える、請求項１４〜１７のいずれかに記載のデバイス。
【請求項１９】
前記図形表示言語はスケーラブルベクターグラフィックスであり、前記Ｗｅｂフォーム作成言語はＸＦｏｒｍｓである、請求項１４〜１８のいずれかに記載のデバイス。
【請求項２０】
前記１組の命令を受信し、提出動作に応答してデータを送信するための送受信機をさらに備える、請求項１４〜１９のいずれかに記載のデバイス。
【請求項２１】
前記デバイスはモバイル通信デバイスを備える、請求項１４〜２０のいずれかに記載のデバイス。
【請求項２２】
請求項２１に記載の複数のモバイル通信デバイスを備える、無線通信システム。
【請求項２３】
コンピュータデバイスのディスプレイに図形をレンダリングするためのコンピュータプログラム製品であって、請求項１〜１３のいずれかの方法を実装するためのコンピュータデバイスのプロセッサによって実行可能な１組の命令を保持するコンピュータ読み取り可能な媒体を備える、コンピュータプログラム製品。
【発明の詳細な説明】
【背景技術】
【０００１】
拡張可能マークアップ言語（ＸＭＬ）１．０（第三版）は、２００４年２月４日にワールド・ワイド・ウェブ・コンソーシアム（Ｗ３Ｃ）勧告であり、ｗｗｗ．ｗ３．ｏｒｇにて入手可能であり、その内容は参照により本明細書に援用される。ＸＭＬは、情報に構造を付与して、異なるプログラムおよび異なるコンピュータ間で、情報がより簡単に使用できるようにするために、ＸＭＬタグ内の情報をラップする。スケーラブルベクターグラフィックス（ＳＶＧ）バージョン１．１は２００３年１月１４日のＷ３Ｃ勧告であり、ｗｗｗ．ｗ３．ｏｒｇで入手可能であり、その内容もまた参照により本明細書に援用される。ＳＶＧは、ＸＭＬにおいて二次元図形（静止画および動画）を表現する言語である。ＳＶＧは図形を非常に細かく制御することが可能であるため、Ｗｅｂコンテンツを配信するための言語として次第にＳＶＧの人気が高まっている。
【０００２】
ＳＶＧの欠点は、ユーザ入力を伴うＷｅｂページをサポートするように構成されていないということである。そのため、例えば、ＳＶＧはドロップダウンメニューを定義しない。プログラマーがＳＶＧで入手可能な図形プリミティブからドロップダウンメニュー付きのＷｅｂページを作成することは可能であるが、その場合は相当量のプログラミングが必要になる。さらに、ドロップダウンメニューがＳＶＧにおいて作成されたとしても、ＳＶＧは、Ｗｅｂページのユーザがメニューを用いて入力し得るいかなる情報についても、キャプチャおよび提出をサポートしない。ＳＶＧはオープンスタンダードであるため、Ｗｅｂページへのユーザ入力をサポートするようＳＶＧ言語は修正され得るが、その場合には相当の努力を要するであろう。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明は、ＳＶＧの機能性およびＷｅｂページにおけるユーザ入力を提供するための、より経済的な方法を提供することを追及する。より一般的には、本発明は図形言語の機能性拡大への適用を有する。
【課題を解決するための手段】
【０００４】
１組の命令は、図形表示言語で書き込まれた命令およびＷｅｂフォーム作成言語で書き込まれた命令を含む。図形表示言語に従う命令に従って、図形がデバイスのディスプレイにレンダリングされる。Ｗｅｂフォーム作成言語に従ってパラメータが命令から抽出され、これらのパラメータはネイティブユーザインタフェースオブジェクトを作成するために利用される。これらのパラメータは、ネイティブユーザインタフェースオブジェクトの作成にも使用されるように、Ｗｅｂフォーム作成言語がユーザ入力領域のサイズおよび位置を示すパラメータを含むよう修正されてもよい。ネイティブユーザインタフェースオブジェクトは、ユーザがデバイスのユーザコントロールを介して情報を入力できるよう使用されてもよい。図形表示言語の図形要素は、入力された情報の提出を可能にするよう、Ｗｅｂフォーム作成言語の提出動作に結合されてもよい。別の図形要素がＷｅｂフォーム作成言語のリセット動作に結合されてもよい。
【０００５】
本発明によれば、１組の命令を受け取るステップと、前記１組の命令の図形命令に従って図形を前記デバイスのディスプレイにレンダリングするステップであって、前記図形命令は図形表示言語に従う、ステップと、前記１組の命令のその他の命令からパラメータを抽出するステップであって、前記その他の命令はＷｅｂフォーム作成言語に従う命令を含むステップと、ネイティブユーザインタフェースオブジェクトを作成するために前記パラメータを利用するステップとを含むデバイスを動作する方法が、好ましくは提供される。
【０００６】
本発明の別の態様によれば、ディスプレイと、少なくとも１つのユーザ入力制御と、１組の命令を保持するメモリであって、前記１組の命令は前記ディスプレイに図形をレンダリングするための図形命令を含み、前記図形命令は図形表示言語に従い、その他の命令はＷｅｂフォーム作成言語に従う命令を備え、前記その他の命令はパラメータを備える、メモリと、（ｉ）図形を前記ディスプレイにレンダリングするため、（ｉｉ）前記１組の命令のその他の命令からパラメータを抽出するため、（ｉｉｉ）ネイティブユーザインタフェースオブジェクトを作成するために前記パラメータを利用するために、前記１組の命令に従って動作するコントローラと、を備えるデバイスを好ましくは含む。
【０００７】
本発明のその他の特徴および利点は、以下の説明および図面から明白となるであろう。
【発明を実施するための最良の形態】
【０００８】
図１は、本発明に従ったシステム８０を示す。システムは、Ｗｅｂコンテンツサーバ８４、コンパイラ８６、およびリレーサーバ８７に接続された、公共のインターネット８２を含む。無線通信網８８はリレーサーバ８７に接続されており、該無線通信網８８はハンドヘルドモバイル通信デバイス９０に無線で接続している。ハンドヘルドモバイル通信デバイス９０は、ハウジング、キーボード９２およびサムホイール９４などの１つ以上の入力制御、出力デバイス、ディスプレイ９６（好ましくはフルグラフィックＬＣＤ）を有する。その他の種類の出力デバイスが代わりに利用されてもよい。図１とともに図２を参照すると、処理デバイスであるマイクロプロセッサ９８が、キーボード９２およびサムホイール９４と、ディスプレイ９６の間に接続されて概略的に示されている。マイクロプロセッサ９８は、ユーザによるキーボード９２上のキー、および／またはサムホイール９４の操作に反応して、ディスプレイ９６の動作、およびモバイル通信デバイス９０の全体的な動作を制御する。
【０００９】
ハウジングは縦方向に長くてもよく、また、他の大きさおよび形態であってもよい（二つ折り構造のハウジングを含む）。キーボードは、テキスト入力と電話入力とを切り替えるためのモード選択キーまたはその他のハードウェアもしくはソフトウェアを備えていてもよい。
【００１０】
マイクロプロセッサ９８に加えて、モバイル通信デバイス９０のその他の部分を概略的に図２に示す。これらには、通信サブシステム（または送受信機）１００、短距離通信サブシステム１０２、キーボード９２、サムホイール９４、およびディスプレイ９６が含まれるほか、１組の補助Ｉ／Ｏデバイス１０６、シリアルポート１０８、スピーカー１１１、マイクロフォン１１２を含むその他の入力／出力デバイス、フラッシュメモリ１１６およびランダムアクセスメモリ（ＲＡＭ）１１８を含む記憶デバイス、そして種々の他のデバイスサブシステム１２０が含まれる。モバイル通信デバイス９０は、好ましくは、音声およびデータ通信能力を有する双方向のＲＦ通信デバイスである。また、該モバイル通信デバイス９０は、インターネットを介して他のコンピュータシステムと通信する能力を有することが好ましい。
【００１１】
マイクロプロセッサ９８によって実行されるオペレーティングシステムソフトウェアは、フラッシュメモリ１１６などの永続的な格納装置に格納されることが好ましいが、読み取り専用メモリ（ＲＯＭ）もしくは同様の格納装置など、他の種類の記憶デバイスに格納されてもよい。また、システムソフトウェア、特定のデバイスアプリケーション、またそれらの部品は、ＲＡＭ１１８などの揮発性の格納場所に一時的にロードされてもよい。モバイル通信デバイスによって受信された通信信号も、ＲＡＭ１１８に格納されてもよい。
【００１２】
マイクロプロセッサ９８は、そのオペレーティングシステム機能に加えて、ＪＡＶＡ（登録商標）仮想マシン１２８の動作を可能にし、そのＪＡＶＡ（登録商標）仮想マシンを介して、ソフトウェアアプリケーション１３０Ａ〜１３０Ｎの動作を可能し、これらのアプリケーションのすべては、デバイス９０上のフラッシュメモリ１１６に格納され得る。当業者には理解されるように、ＪＡＶＡ（登録商標）はプラットフォーム非依存言語であり、ＪＡＶＡ（登録商標）仮想マシンは、特定のデバイス上でＪＡＶＡ（登録商標）プログラムを実行可能にするために作成される。ハンドヘルド９０とともに使用することができる特定のＪＡＶＡ（登録商標）仮想マシンは、ＪＡＶＡ（登録商標）２プラットフォーム、Ｍｉｃｒｏ  Ｅｄｉｔｉｏｎ（Ｊ２ＭＥ）の一部であり、Ｓｕｎ  Ｍｉｃｒｏｓｙｓｔｅｍｓ，Ｉｎｃ．のウェブサイトｗｗｗ．ｓｕｎ．ｃｏｍから入手可能である。ＪＡＶＡ（登録商標）の詳細についてはｈｔｔｐ：／／ｊａｖａ．ｓｕｎ．ｃｏｍなど多くのソースから入手可能であり、その内容は参照により本明細書に援用される。データおよび音声通信１３０Ａおよび１３０Ｂのような基本的なデバイスの動作を制御する、所定の１組のアプリケーションは、製造時にデバイス９０にインストールすることができる。また、個人情報管理（ＰＩＭ）アプリケーション１３０Ｃが、製造時にインストールされ得る。ＰＩＭは、好ましくは、ｅ−メール、カレンダーイベント、ボイスメール、アポイントメント、タスクアイテムなどのデータアイテムを整理および管理する能力を有する。また、ＰＩＭアプリケーションは、好ましくは、無線ネットワーク８８を介してデータアイテムを送信および受信する能力を有する。好ましくは、ＰＩＭデータアイテムは、無線ネットワーク８８を介して、デバイスユーザ側の対応する格納データアイテムとシームレスに統合、同期化、および更新されるか、または、ホストコンピュータシステムと関連付けられる。工場でインストールされるその他のアプリケーションには、メディアエンジン１３０ＤおよびＪＡＶＡ（登録商標）ユーザインタフェース（ＵＩ）オブジェクト１３０Ｅが含まれ、双方について後に詳述する。
【００１３】
データおよび音声通信を含む通信機能は、通信サブシステム１００を介して実行され、場合によっては、短距離通信サブシステム１０２を介して実行される。該通信サブシステム１００には、受信機１５０、送信機１５２、１つ以上のアンテナ１５４および１５６が含まれる。さらに、該通信サブシステム１００には、デジタルシグナルプロセッサ（ＤＳＰ）１５８やローカルオシレータ（ＬＯ）１６０のような処理モジュールが含まれる。通信サブシステム１００の特定の設計および実装は、モバイル通信デバイス９０が動作することが意図される通信ネットワークに依存する。例えば、モバイル通信デバイス９０の通信サブシステム１００は、ＭｏｂｉｔｅｘＴＭ、ＤａｔａＴＡＣＴＭもしくは汎用パケット無線サービス（ＧＰＲＳ）のモバイルデータ通信網を用いて動作するために設計されてもよく、また、ＡＭＰＳ、ＴＤＭＡ、ＣＤＭＡ、ＰＣＳ、ＧＳＭ等の、種々の音声通信ネットワークのいずれかを用いて動作するために設計されてもよい。他の種類のデータおよび音声ネットワークは、別個でも統合されていても、モバイル通信デバイス９０を用いて利用されてもよい。
【００１４】
ネットワークへのアクセス要件は、通信システムの種類により異なる。例えば、ＭｏｂｉｔｅｘＴＭおよびＤａｔａＴＡＣＴＭネットワークにおいては、モバイル通信デバイスは各デバイスに関係する一意的な個人識別番号（ＰＩＮ）を用いてネットワーク上で登録される。しかし、ＧＰＲＳネットワークにおいては、ネットワークアクセスは加入者すなわちデバイスのユーザと関係している。従って、ＧＰＲＳデバイスがＧＰＲＳネットワーク上で動作するためには、一般的にＳＩＭカードと呼ばれる加入者識別モジュールが必要となる。
【００１５】
必要なネットワーク登録もしくは起動手順が完了すると、モバイル通信デバイス９０は通信網８８を介して通信信号を送信および受信することができる。通信網８８からアンテナ１５４を通して受信された信号は、受信機１５０にルートされ、該受信機は、信号増幅、周波数ダウンコンバージョン、フィルタリング、チャネル選択等を提供し、またさらにはアナログからデジタルへの変換を行うこともできる。受信信号をアナログからデジタルへ変換することで、ＤＳＰ１５８は、復調および復号のような、より複雑な通信機能を実行することが可能となる。同様に、ネットワーク８８に送信された信号はＤＳＰ１５８により処理され（復調および複合されるなど）、それから送信機１５２に送られ、デジタルからアナログへの変換、周波数アップコンバージョン、フィルタリング、増幅、そしてアンテナ１５６を介して通信ネットワーク８８（複数の場合もある）への送信が行われる。
【００１６】
通信信号の処理に加えて、ＤＳＰ１５８は、受信機１５０および送信機１５２の制御を提供する。例えば、受信機１５０および送信機１５２中の通信信号に与えられた利得は、ＤＳＰ１５８に実装された自動利得制御アルゴリズムによって適応制御されることができる。
【００１７】
データ通信モードにおいては、ダウンロードされたテキストメッセージもしくはＷｅｂページのような受信された信号は、通信サブシステム１００によって処理され、マイクロプロセッサ９８に入力される。受信された信号はそれからマイクロプロセッサ９８によってさらに処理され、ディスプレイ９６に出力されるか、または、他の補助Ｉ／Ｏデバイス１０６に代わりに出力される。デバイスユーザは、キーボード９２、サムホイール９４、タッチパッドやロッカースイッチ、または別の種類の入力デバイスなどその他の補助Ｉ／Ｏデバイス１０６のうちの１つ以上を使用して、Ｅメールメッセージのようなデータアイテムを作成することもできる。作成されたデータアイテムは、それから、通信サブシステム１００を介して無線通信ネットワーク８８を介して送信される。
【００１８】
音声通信モードにおいて、受信信号がスピーカー１１１に出力されること、そして送信するための信号はマイクロフォン１１２によって生成されるということを除けば、デバイスの全体的な動作はデータ通信モードと実質的に同様である。代替的なボイスメッセージ録音システムのような、音声または音響Ｉ／Ｏサブシステムも、デバイス９０に実装することができる。また、ディスプレイ９６も、例えば、発信者のＩＤもしくはボイスコールの長さ、またはその他のボイスコールに関連した情報を表示するために音声通信モードにおいて利用され得る。
【００１９】
短距離通信サブシステム１０２は、モバイル通信デバイス９０とその他の隣接するシステムまたはデバイス間の通信を可能にするが、該デバイスは同様のデバイスでなくともよい。例えば、同様に使用可能なシステムおよびデバイスを通信に提供するための、短距離通信サブシステムには赤外線デバイスや関連する回路およびコンポーネント、あるいはＢｌｕｅｔｏｏｔｈＴＭ通信モジュールが含まれてもよい。
【００２０】
デバイス９０は、デバイスの活性素子に電力を供給するために電池１２１を有してもよい。
【００２１】
コンパイラ８６は、入力されたソースコードファイルを受信して解析し、コンピュータ読み取り可能なオブジェクトファイルとして出力するために、ソフトウェア制御で動作するプロセッサを備えてもよい。後にさらに説明されるように、コンパイラは、ＳＶＧのような図形表示言語もしくは修正されたＷｅｂフォーム作成言語を含むソースコードを解析するように特別に構成される。Ｗｅｂフォーム作成言語はＸＦｏｒｍｓであってもよい。ＸＦｏｒｍｓ  ｖｅｒｓｉｏｎ  １．０は、２００３年１０月１４日ワールド・ワイド・ウェブ・コンソーシアム（Ｗ３Ｃ）勧告であり、ｗｗｗ．ｗ３．ｏｒｇにて入手可能であり、その内容は参照により本明細書に援用される。ＳＶＧ同様、ＸＦｏｒｍｓはＸＭＬの拡張機能である。
【００２２】
動作上の概要において、コンテンツプロバイダは、図形表示言語およびＷｅｂフォーム作成言語の両方を使用してＷｅｂコンテンツを開発し得る。各言語でのステートメントは、ソースコードにおいて別々に識別される。Ｗｅｂフォーム作成言語は、Ｗｅｂフォーム作成言語によって定義されるユーザ入力の位置およびサイズの規格を含むように修正されてもよい。ソースコードは、図形要素をＷｅｂフォーム作成言語の提出動作に結合する図形表示言語でのステートメントを含んでもよい。別のステートメントが、図形要素をＷｅｂフォーム作成言語のリセット動作に結合してもよい。ソースコードは、Ｗｅｂコンテンツサーバ８４にロードされてもよい。デバイス９０は、無線通信網８８、リレーサーバ８７、およびインターネット８２を介して、Ｗｅｂコンテンツサーバ８４からこのコンテンツを要求できる。コンテンツが戻されると、リレー８７において傍受され、コンパイラ８６にリダイレクトされる。コンパイラは、コンテンツのソースコードをコンパイルし、オブジェクト（バイナリ）ファイルにしてリレー８７に戻し、該ファイルはそこから無線通信ネットワーク８８を介してデバイス９０に送られる。デバイス９０のマイクロプロセッサ９８は、ＪＡＶＡ（登録商標）仮想マシン１２８上で動作するメディアエンジン１３０Ｄを使用して、ディスプレイ９６上のオブジェクトファイルにある図形要素をレンダリングする。Ｗｅｂフォーム作成ステートメントは、ＵＩクラスからネイティブＵＩオブジェクトを作成するのに必要なパラメータを抽出するために解析される。これらのパラメータは、その後ネイティブＵＩオブジェクトを作成するために使用される。それから、ネイティブＵＩオブジェクトは、ユーザが種々の特定のＵＩ領域にあるデータを入力および表示することを許可する。ユーザが提出動作に結合した図形を選択すると、ユーザ入力データは、コンテンツサーバ８４上のアプリケーションのような特定の（ローカルまたは遠隔）アプリケーションに提出され得る（ネットワーク８８、リレー８７、およびインターネット８２を介して）。
【００２３】
動作は、図３Ａ〜３Ｃのソースコード例を用いて、さらによく理解されるであろう。この典型的なコードは、ＳＶＧおよびＸＦｏｒｍｓステートメントの両方を含んでおり、ＸＦｏｒｍｓステートメントには、接頭辞「ＸＦｏｒｍｓ：」が付与されている。残りのステートメントにはそのような接頭辞が付かないため、ＳＶＧステートメントであると予測することができる。これらの図面を参照すると、１行目はコードがＸＭＬコードであることを宣言している。２行目は、ＳＶＧステートメントに対する文書型宣言（ＤＴＤ）ファイルのロケーションを特定している。３行目はＳＶＧ図形要素を含み得るディスプレイの領域を設定している。該３行目は、関連するも画定している。具体的には、ネームスペースはＸＦｏｒｍｓの拡張子である「ｐｚ」に対して画定され、ネームスペースはＸＦｏｒｍｓそのものに対して画定され、また、ネームスペースはＳＶＧに対して画定される。４〜２４行目は、フォームモデル「ｆｏｒｍ１」を定義するＸＦｏｒｍｓモデル定義を設定する。より具体的には、７〜１１行目は、ユーザから収集される情報の構造を定義する。１２行目は、最初の提出である「ｆｏｒｍ１Ｓｕｂｍｉｓｓｉｏｎ」がトリガされた時、何を提出するかという命令であり、１３行目は、インスタンスデータおよびインスタンスデータの送信先のＵＲＬを送信するのに使用されるプロトコルを規定する。１４および１５行目は、第２の提出である「ｆｏｒｍ１Ｓｕｂｍｉｓｓｉｏｎ２」がトリガされた時に、同様の情報を提供する。１７〜２０行目もＸＦｏｒｍｓであり、各提出が結合されたインスタンスデータの提出を開始する。２１〜２３行目は、ユーザがＸＦｏｒｍｓでトリガしたアクション、ここではフォーム内のいかなる情報も削除するためのリセット、を定義する。
【００２４】
２５行目は、青い境界線を持つ空の矩形を確立するＳＶＧステートメントである。矩形の左上の角は、表示位置（８０，０）に設定されており、矩形の幅は１００（ピクセル）、高さは２０（ピクセル）である。２６〜３０行目は、「ＣｕｓｔｏｍｅｒＮａｍｅ」を参照して、「ｆｏｒｍ１」フォームに対するフリーフォームのＸＦｏｒｍｓ入力を、そして、「Ｅｎｔｅｒ  ｙｏｕｒ  ｎａｍｅ」という説明ラベルを定義する。標準ＸＦｏｒｍｓ入力ステートメントでは、ラベルの表示位置を規定すること、および、関連するテキスト入力ボックスを作成して位置決めすることはＷｅｂブラウザに任されている。しかし、標準フォームのフリーフォームで入力したステートメントは、「ｐｚ」パラメータを４つ含む２７行目によって修正されている。これらのｐｚパラメータは、矩形を表示位置に画定し、この矩形は２５行目のＳＶＧステートメントによる画定とまったく同じであることが分かるであろう。
【００２５】
３１行目は、ディスプレイに「Ｄｅｓｃｒｉｐｔｉｏｎ」という単語を配置するためにＳＶＧステートメントを使用し、３２行目は、この単語の横に矩形を配置するために、さらにＳＶＧステートメントを使用する。３３〜３５行目は、「Ｄｅｓｃｒｉｐｔｉｏｎ」を参照して「ｆｏｒｍ１」フォームに対して、ＸＦｏｒｍｓユーザ入力テキスト領域を画定する。ＸＦｏｒｍｓの標準テキスト領域ステートメントは、３３行目に「ｐｚ」パラメータを４つ含むことにより修正されており、これらのパラメータは、３２行目のＳＶＧで作成された矩形のパラメータとまったく同じである。
【００２６】
３６および３７行目は、「Ｆａｖｏｕｒｉｔｅ  Ｉｃｅ  Ｃｒｅａｍ  Ｆｌａｖｏｕｒ」という言葉、およびこのテキスト横の矩形の表示を規定する。３８〜５５行目は、ユーザが４アイテムのうちひとつを選択できるようにＸＦｏｒｍｓ選択メニューを定義する。アイテムが選択されると、各選択の値の属性が、格納される値を規定する。ここでも「ｐｚ」パラメータは、３７行目で作成された矩形に対するパラメータとまったく同じである。
【００２７】
５６〜６１行目は、１７および１８行目の「ｆｏｒｍ１Ｓｕｂｍｉｔ」というＸＦｏｒｍｓの動作をＳＶＧ図形、すなわち、「Ｓｕｂｍｉｔ１」という単語を含む輪郭のない色付きの矩形に結合する。同様に、６２〜６７行目は、１９および２０行目の「ｆｏｒｍ１Ｓｕｂｍｉｔ２」というＸＦｏｒｍｓの動作をＳＶＧ図形、すなわち、「Ｓｕｂｍｉｔ２」という単語を含む輪郭のない色付きの矩形に結合する。また、同様に、６８〜７３行目は、２１〜２３行目の「ｆｏｒｍ１Ｒｅｓｅｔ」というＸＦｏｒｍｓの動作をＳＶＧ図形、すなわち、「Ｒｅｓｅｔ」という単語を含む輪郭のない色付きの矩形に結合する。
【００２８】
図１を参照すると、図３Ａ〜３Ｃのソースコードはサーバ８４上に格納され得る。このソースコードは、ハンドヘルド９０によって要求された場合、最初にコンパイラ８６によってコンパイルされる。図２を参照すると、コンパイルされたコードは、それからプロセッサ９８によって、ＪＡＶＡ（登録商標）仮想マシン１２８上で動作しているメディアエンジン１３０Ｄを通して実行される。メディアエンジンが、図形を規定するＳＶＧオブジェクトコードに遭遇した場合、エンジンはディスプレイ９６に図形をレンダリングするために直接コードを適用する。エンジンが、ユーザ入力を可能にするために修正されたＸＦｏｒｍｓコードに遭遇した場合、エンジンはコードからパラメータを抽出し、それらのパラメータを利用してネイティブＵＩオブジェクトを規定する。例えば、エンジンが２６〜３０行目のソースコードに対応するオブジェクトコードに遭遇した場合、エンジンは４つのｐｚパラメータ、「ＣｕｓｔｏｍｅｒＮａｍｅ」参照、および「Ｅｎｔｅｒ  ｙｏｕｒ  ｎａｍｅ」ラベルを抽出して、これらのパラメータを用いてネイティブＵＩオブジェクトを規定する。そしてネイティブＵＩオブジェクトはこれらのパラメータを使用してユーザ入力を可能にする。すなわち、例に従って、ネイティブＵＩオブジェクトは「Ｅｎｔｅｒ  ｙｏｕｒ  ｎａｍｅ」という言葉、および、ｐｚパラメータで画定されたテキストボックスの表示を制御する。ハンドヘルド９０に適合したネイティブＵＩオブジェクトは、キーボード９２、サムホイール９４、および、いかなる補助入力デバイス１０６をも介してこのボックスへのテキスト入力を可能にし、参照「ＣｕｓｔｏｍｅｒＮａｍｅ」の元に入力されたテキストを格納する。ネイティブＵＩオブジェクトは同様に規定され、ユーザインタフェースを表示し、ソースコード３３〜３５行目のテキストボックス、および、３８〜５５行目のソースコードの選択メニューに対する入力値の入力および格納を許可する。これについては、「ｐｚ」パラメータを選択することにより、ユーザ入力領域は、ＳＶＧ図形要素と同空間に存在するか、またはその中に含まれて存在するようになり、ＳＶＧは、図形枠の種類や塗りつぶしの色などの、ユーザ入力領域を視覚的に定義するために使用され得るということに注目するべきである。ＳＶＧはまた、これらユーザ入力領域（点滅している領域など）の動画を定義するために使用され得る。
【００２９】
ＳＶＧ図形をＸＦｏｒｍｓ提出動作に結合することにより、ユーザはＳＶＧ「ｓｕｂｍｉｔ」図形を選択することで（例えばクリックすることで）提出動作を行うことができる。同様に、ＳＶＧ図形をＸＦｏｒｍｓリセット動作に結合することにより、ユーザはＳＶＧ「ｒｅｓｅｔ」を選択することでリセット動作を行うことができる。従って、エンジンは、この機能性を提供するためのネイティブＵＩオブジェクトを規定する必要はない。
【００３０】
当業者には理解されるように、メディアエンジンはオブジェクトコードからツリー構造を作成し、オブジェクトコードによって規定された命令を実行するためにそのツリーをトラバースする。エンジンは、アクティブな動画およびユーザのアクションに応答してディスプレイを更新するために、必要に応じてツリーをトラバースする。
【００３１】
図４は、メディアエンジンがオブジェクトコードによって確立されたツリーをトラバースした後の、ハンドヘルドのディスプレイ９６を示す。図形要素２１０、２１２および２１４は、それぞれソースコード２５、３２および３７行目によって定義される。「ｓｕｂｍｉｔ１」の図形２１６はソースコード５６〜６１行目によって定義され、「ｓｕｂｍｉｔ２」の図形２１８は６２〜６７行目に定義され、「ｒｅｓｅｔ」図形２２０は６８〜７３行目によって定義される。
【００３２】
マイクロプロセッサ９８は、フィールドプログラマブルゲートアレー（ＦＰＧＡ）のような、いかなる適切なコントローラとも置き換えられる。
【００３３】
ソフトウェアアプリケーション１３０Ａ〜１３０Ｎ（クラス１３０Ｅからインスタンスを作成したメディアエンジン１３０ＤおよびネイティブＵＩオブジェクトを含む）は、ＪＡＶＡ（登録商標）仮想マシン１２８上で動作していると説明されているが、適切な適応によって、これらのソフトウェアアプリケーションはＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）のような別のプラットフォーム上で動作することができる。あるいは、メディアエンジンは、デバイスのオペレーティング・システムの一部にもなり得る。図形表示言語がＳＶＧとして説明されているが、同じく別の図形表示言語も使用され得る。Ｗｅｂフォーム作成言語はＸＦｏｒｍｓとして説明され得るが、１９９９年１２月２４日のＨＴＭＬ４．０１  Ｗ３Ｃ勧告の一部である、ハイパーテキストマークアップ言語（ＨＴＭＬ）フォームなど、別のＷｅｂフォーム作成言語を使用することも可能であり得る。
【００３４】
ハンドヘルド９０のネイティブＵＩオブジェクトは、ハンドヘルドの特定のユーザインタフェース制御（例えばサムホイール）と相互に作用するように開発されたオブジェクトである。これらのオブジェクトは、ハンドヘルドがＪＡＶＡ（登録商標）仮想マシンを実行する典型的な実施形態においてＪＡＶＡ（登録商標）オブジェクトとして説明されてきた。しかし、異なるプラットフォーム上で動作するデバイスにおいては、これらのネイティブＵＩオブジェクトもまた異なるため、異なるプラットフォーム上で実行するように構成されている。
【００３５】
本発明の教示が、典型的な実施形態に記述されている通り、無線デバイスよりもむしろ有線デバイスに応用できることは明白である。さらに、デバイスは、例えば、ハンドヘルドデバイスよりもむしろパーソナルコンピュータまたはラップトップコンピュータであり得る。デバイスの能力によって、デバイスは、コンパイルされた形態のソースコードよりもむしろＷｅｂコンテンツサーバ８４からソースコードそのものを受け入れる（および実行する）ことが可能であり得る。その場合には、コンパイラ８６は必要ではなくなる。
【００３６】
他の改良は当業者には明白であり、従って、本発明は特許請求の範囲において定義される。
【図面の簡単な説明】
【００３７】
図面において本発明の例示的な実施形態を示す。
【図１】図１は、本発明に従ったシステムの概略図を示す。
【図２】図２は、図１の無線通信ネットワークおよびハンドヘルドデバイスの概略図を示す。
【図３】図３Ａ〜３Ｃは図１のＷｅｂコンテンツサーバのソースコード例を示す。
【図４】図４は、図３Ａ〜３Ｃのソースコードによる画面表示例を示す。
【図１】
2009512032.tif 000003
【図２】
2009512032.tif 000004
【図３Ａ】
2009512032.tif 000005
【図３Ｂ】
2009512032.tif 000006
【図３Ｃ】
2009512032.tif 000007
【図４】
2009512032.tif 000008
【手続補正書】
【提出日】平成19年11月1日(2007.11.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ウェブページにおける図形表示の機能性およびユーザ入力を提供するための方法であって、
１組の命令を受信するステップであって、該１組の命令はディスプレイ上に図形をレンダリングするための図形命令を備え、該図形命令は図形表示言語に従い、その他の命令はＷｅｂフォーム作成言語に従い、該その他の命令はパラメータを備えており、該図形命令は該ディスプレイの該第１領域に図形を画定し、該パラメータは該ディスプレイの第２領域を画定するために該ディスプレイ上のユーザ入力領域に位置およびサイズ情報を提供し、該第２領域は、該第１領域と同空間であるか、または該第１領域に含まれる、ステップと、
該１組の命令の該図形命令に従って該デバイスのディスプレイにレンダリングするステップと、
該１組の命令の該その他の命令からパラメータを抽出するステップと、
該ユーザ入力領域内に入力される、入力、出力および値の格納を管理するネイティブユーザインタフェースオブジェクトを作成するために該パラメータを利用するステップと
を含む、方法。
【請求項２】
前記図形表示言語の図形要素は、前記Ｗｅｂフォーム作成言語の動作に結合している、請求項１に記載の方法。
【請求項３】
前記動作は、提出動作またはリセット動作である、請求項２に記載の方法。
【請求項４】
前記ネイティブユーザインタフェースオブジェクトを利用するユーザ入力制御を解釈するステップをさらに含む、請求項１〜３のいずれかに記載の方法。
【請求項５】
前記ネイティブユーザインタフェースオブジェクトを利用するユーザ入力の提出を可能にするステップをさらに含む、請求項４に記載の方法。
【請求項６】
前記１組の命令は、前記Ｗｅｂフォーム作成言語に従う該１組の命令の一部分を識別するために識別子を備える、請求項１〜５のいずれかに記載の方法。
【請求項７】
前記図形表示言語および前記Ｗｅｂフォーム作成言語は、拡張可能マークアップ言語（ＸＭＬ）である、請求項１〜６のいずれかに記載の方法。
【請求項８】
前記図形表示言語は、スケーラブルベクターグラフィックス（ＳＶＧ）である、請求項１〜７のいずれかに記載の方法。
【請求項９】
前記Ｗｅｂフォーム作成言語はＸＦｏｒｍｓである、請求項８に記載の方法。
【請求項１０】
前記ネイティブユーザインタフェースオブジェクトはＪＡＶＡ（登録商標）オブジェクトである、請求項９に記載の方法。
【請求項１１】
ＳＶＧ図形要素はＸＦｏｒｍｓ提出動作に結合している、請求項９に記載の方法。
【請求項１２】
ディスプレイと、
少なくとも１つのユーザ入力制御と、
１組の命令を保持するメモリであって、該１組の命令は該ディスプレイに図形をレンダリングするための図形命令を備え、該図形命令は図形表示言語に従い、その他の命令はＷｅｂフォーム作成言語に従い、該その他の命令はパラメータを備えており、該図形命令は該ディスプレイの該第１領域に図形を画定し、該パラメータは該ディスプレイの第２領域を画定するために該ディスプレイ上のユーザ入力領域に位置およびサイズ情報を提供し、該第２領域は、該第１領域と同空間であるか、または該第１領域に含まれる、メモリと、
（ｉ）図形を該ディスプレイにレンダリングするため、（ｉｉ）該１組の命令の該その他の命令からパラメータを抽出するため、（ｉｉｉ）該ユーザ入力領域内に入力される、入力、出力および値の格納を管理するネイティブユーザインタフェースオブジェクトを作成するために該パラメータを利用するために、該１組の命令に従って動作するコントローラと
を備える、デバイス。
【請求項１３】
前記ネイティブユーザインタフェースオブジェクトは、前記少なくとも１つのユーザ入力制御を用いてユーザ入力を可能にする、請求項１２に記載のデバイス。
【請求項１４】
前記コントローラはＪＡＶＡ（登録商標）仮想マシンを備え、前記ネイティブユーザインタフェースオブジェクトはＪＡＶＡ（登録商標）オブジェクトである、請求項１２または１３に記載のデバイス。
【請求項１５】
前記図形命令は、図形要素を前記その他の命令の提出動作に結合する命令を備える、請求項１２〜１４のいずれかに記載のデバイス。
【請求項１６】
前記パラメータは、ユーザ入力領域の位置およびサイズを設定するパラメータを備える、請求項１２〜１５のいずれかに記載のデバイス。
【請求項１７】
前記図形表示言語はスケーラブルベクターグラフィックスであり、前記Ｗｅｂフォーム作成言語はＸＦｏｒｍｓである、請求項１２〜１６のいずれかに記載のデバイス。
【請求項１８】
前記１組の命令を受信し、提出動作に応答してデータを送信するための送受信機をさらに備える、請求項１２〜１７のいずれかに記載のデバイス。
【請求項１９】
前記デバイスはモバイル通信デバイスを備える、請求項１２〜１８のいずれかに記載のデバイス。
【請求項２０】
請求項１９に記載の複数のモバイル通信デバイスを備える、無線通信システム。
【請求項２１】
コンピュータデバイスのディスプレイに図形をレンダリングするためのコンピュータプログラム製品であって、該コンピュータプログラム製品は請求項１〜１１のいずれかに記載の方法を実装するためのコンピュータデバイスのプロセッサによって実行可能な１組の命令を保持するコンピュータ読み取り可能な媒体を備える、コンピュータプログラム製品。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
拡張可能マークアップ言語（ＸＭＬ）１．０（第三版）は、２００４年２月４日にワールド・ワイド・ウェブ・コンソーシアム（Ｗ３Ｃ）勧告であり、ｗｗｗ．ｗ３．ｏｒｇにて入手可能であり、その内容は参照により本明細書に援用される。ＸＭＬは、情報に構造を付与して、異なるプログラムおよび異なるコンピュータ間で、情報がより簡単に使用できるようにするために、ＸＭＬタグ内の情報をラップする。スケーラブルベクターグラフィックス（ＳＶＧ）バージョン１．１は２００３年１月１４日のＷ３Ｃ勧告であり、ｗｗｗ．ｗ３．ｏｒｇで入手可能である。ＳＶＧは、ＸＭＬにおいて二次元図形（静止画および動画）を表現する言語である。ＳＶＧは図形を非常に細かく制御することが可能であるため、Ｗｅｂコンテンツを配信するための言語として次第にＳＶＧの人気が高まっている。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
マイクロプロセッサ９８は、そのオペレーティングシステム機能に加えて、ＪＡＶＡ（登録商標）仮想マシン１２８の動作を可能にし、そのＪＡＶＡ（登録商標）仮想マシンを介して、ソフトウェアアプリケーション１３０Ａ〜１３０Ｎの動作を可能し、これらのアプリケーションのすべては、デバイス９０上のフラッシュメモリ１１６に格納され得る。当業者には理解されるように、ＪＡＶＡ（登録商標）はプラットフォーム非依存言語であり、ＪＡＶＡ（登録商標）仮想マシンは、特定のデバイス上でＪＡＶＡ（登録商標）プログラムを実行可能にするために作成される。ハンドヘルド９０とともに使用することができる特定のＪＡＶＡ（登録商標）仮想マシンは、ＪＡＶＡ（登録商標）２プラットフォーム、Ｍｉｃｒｏ  Ｅｄｉｔｉｏｎ（Ｊ２ＭＥ）の一部であり、Ｓｕｎ  Ｍｉｃｒｏｓｙｓｔｅｍｓ，Ｉｎｃ．のウェブサイトｗｗｗ．ｓｕｎ．ｃｏｍから入手可能である。ＪＡＶＡ（登録商標）の詳細についてはｈｔｔｐ：／／ｊａｖａ．ｓｕｎ．ｃｏｍなど多くのソースから入手可能である。データおよび音声通信１３０Ａおよび１３０Ｂのような基本的なデバイスの動作を制御する、所定の１組のアプリケーションは、製造時にデバイス９０にインストールすることができる。また、個人情報管理（ＰＩＭ）アプリケーション１３０Ｃが、製造時にインストールされ得る。ＰＩＭは、好ましくは、ｅ−メール、カレンダーイベント、ボイスメール、アポイントメント、タスクアイテムなどのデータアイテムを整理および管理する能力を有する。また、ＰＩＭアプリケーションは、好ましくは、無線ネットワーク８８を介してデータアイテムを送信および受信する能力を有する。好ましくは、ＰＩＭデータアイテムは、無線ネットワーク８８を介して、デバイスユーザ側の対応する格納データアイテムとシームレスに統合、同期化、および更新されるか、または、ホストコンピュータシステムと関連付けられる。工場でインストールされるその他のアプリケーションには、メディアエンジン１３０ＤおよびＪＡＶＡ（登録商標）ユーザインタフェース（ＵＩ）オブジェクト１３０Ｅが含まれ、双方について後に詳述する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】変更
【補正の内容】
【００２１】
コンパイラ８６は、入力されたソースコードファイルを受信して解析し、コンピュータ読み取り可能なオブジェクトファイルとして出力するために、ソフトウェア制御で動作するプロセッサを備えてもよい。後にさらに説明されるように、コンパイラは、ＳＶＧのような図形表示言語もしくは修正されたＷｅｂフォーム作成言語を含むソースコードを解析するように特別に構成される。Ｗｅｂフォーム作成言語はＸＦｏｒｍｓであってもよい。ＸＦｏｒｍｓ  ｖｅｒｓｉｏｎ  １．０は、２００３年１０月１４日ワールド・ワイド・ウェブ・コンソーシアム（Ｗ３Ｃ）勧告であり、ｗｗｗ．ｗ３．ｏｒｇにて入手可能である。ＳＶＧ同様、ＸＦｏｒｍｓはＸＭＬの拡張機能である。
【国際調査報告】
2009512032.tif 000009
2009512032.tif 000010