(57)【要約】  容易に実装、デバッグ、変更、配信、及び保守することができる組み込み装置内でウェブサイトアプリケーションを開発するための装置及び方法を提供する。装置及び方法は、組み込み装置のファームウェアから全てのＨＴＭＬを除去し、適切にウェブページをレンダリングするためにウェブブラウザスクリプティングを利用する。組み込み装置のファームウェアから全てのＨＴＭＬを除去することは、単独のコンパイルされたファームウェアイメージによって供給される異なる動的なウェブサイトアプリケーションの作成が同一データを利用するのを許可することができる。
2009541855.tif 000002
【特許請求の範囲】
【請求項１】
データコードを含む第１のメモリ内のファイルと、
ウェブアプリケーションを含む第２のメモリ内のファームウェアイメージと、
データを受信する第１のインタフェースと、
データコードにデータを関連付け、ウェブアプリケーションを実行し、データを含む方法でウェブページの少なくとも一部をレンダリングするようにモジュールに対して外部のソフトウェアと協働するプロセッサの機能とを含む、モジュール。
【請求項２】
第１のメモリが、ＲＡＭを含む、請求項１に記載のモジュール。
【請求項３】
第１のメモリが、不揮発性ＲＡＭを含む、請求項２に記載のモジュール。
【請求項４】
データコードが、少なくとも１つのＨＴＭＬスクリプトを含む、請求項１に記載のモジュール。
【請求項５】
データコードが、非同期の非ページリフレッシュデータ収集及びウェブページへの変更をもたらす少なくとも１つのオブジェクトを含む、請求項１に記載のモジュール。
【請求項６】
第２のメモリが、ＲＯＭを含む、請求項１に記載のモジュール。
【請求項７】
ファームウェアイメージが、コンパイルされたＨＴＴＰサーバを含む、請求項１に記載のモジュール。
【請求項８】
ファームウェアイメージが、ＨＴＭＬテキストを有さない、請求項１に記載のモジュール。
【請求項９】
ファームウェアイメージが、ウェブブラウザスクリプトコードを有さない、請求項１に記載のモジュール。
【請求項１０】
ウェブアプリケーションが、ウェブページをレンダリングするウェブブラウザスクリプティングの機能を含むソフトウェアを頼りにする、請求項１に記載のモジュール。
【請求項１１】
ウェブアプリケーションが、文書オブジェクトモデル（ＤＯＭ）を操作可能なソフトウェアを頼りにする、請求項１０に記載のモジュール。
【請求項１２】
第１のインタフェースが、ストリーミングインタフェースを含む、請求項１に記載のモジュール。
【請求項１３】
ストリーミングインタフェースが、シリアルインタフェースを含む、請求項１２に記載のモジュール。
【請求項１４】
パケット化された情報を送受信する第２のインタフェースをさらに含む、請求項１に記載のモジュール。
【請求項１５】
複数のシリアルインタフェース及び複数のイーサネット（登録商標）インタフェースをさらに含み、第１のインタフェースが、複数のインタフェースの１つを構成する、請求項１に記載のモジュール。
【請求項１６】
プロセッサが、ウェブページを供給するために第２のインタフェースを使用する、請求項１５に記載のモジュール。
【請求項１７】
プロセッサが、第１のインタフェースと第２のインタフェースとの間で情報を転送して翻訳する、請求項１４に記載のモジュール。
【請求項１８】
プロセッサが、第１のインタフェースから受信した情報をトンネリングするために第２のインタフェースを使用する、請求項１４に記載のモジュール。
【請求項１９】
プロセッサの機能が、単一プロセッサである、請求項１に記載のモジュール。
【請求項２０】
プロセッサの機能が、複数プロセッサを含む、請求項１に記載のモジュール。
【請求項２１】
第１のフォーマットでデータを受信する第１のインタフェースと、第２のフォーマットでデータを送信する第２のインタフェースと、ファイルを格納する第１のメモリと、ウェブアプリケーションのファームウェアイメージを格納する第２のメモリと、第２のフォーマットでデータを送信する方法でウェブアプリケーションを実行するプロセッサと、を有する装置を構成する方法であって、
複数のスクリプトを用いてファイルを遠隔アップデートするステップと、
データに関する情報を表示する方法でスクリプトを実行する遠隔ユーザのウェブブラウザに対してウェブアプリケーションが複数のスクリプトを供給するのを許可するステップと、を含む、方法。
【請求項２２】
複数のスクリプトのうちの少なくとも１つが、ＨＴＭＬを含む、請求項２１に記載の方法。
【請求項２３】
許可ステップが、ウェブブラウザが文書オブジェクトモデル（ＤＯＭ）を利用することを含む、請求項２１に記載の方法。
【請求項２４】
ファイル内に含まれる元のスクリプトの組を使用するためにウェブアプリケーションを一般化するステップをさらに含む、請求項２１に記載の方法。
【請求項２５】
さらに、ウェブアプリケーションの前のバージョンからＨＴＭＬコードを除去するステップを含む、請求項２１に記載の方法。
【請求項２６】
ウェブアプリケーションの前のバージョンにＨＴＭＬコードを追加するステップをさらに含む、請求項２１に記載の方法。
【請求項２７】
ウェブアプリケーションの前のバージョンからＨＴＭＬコードを変更するステップをさらに含む、請求項２１に記載の方法。
【請求項２８】
組み込み装置及び組み込み可能装置のうちの少なくとも１つとして装置に通知するステップをさらに含む、請求項２１に記載の方法。
【請求項２９】
新たなファームウェアイメージを装置にロードせずに装置の機能がアップデートされ得る旨を通知するステップをさらに含む、請求項２１に記載の方法。
【請求項３０】
装置の機能が、使用及び構成のうちの少なくとも１つを含む、請求項２９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２００６年６月２２日に出願された米国特許出願第１１／４７３，９５８号明細書の優先権を主張し、その全体が参照により本明細書に組み込まれる。
【０００２】
本発明の分野は、インターネットコンバータ装置についてのものである。より具体的には、本発明は、インターネットコンバータモジュールを用いてウェブサイトアプリケーションを構築又は変更するシステムに関する。
【背景技術】
【０００３】
組み込み装置は、コンピュータが大抵はそれが制御する装置によって完全にカプセル化された専用システムである。組み込み装置は、通常、大抵はまさに特定の要件で予め定義されたタスクを実行する。いかなる組み込みシステムのコアも、マイクロプロセッサ又はコントローラである。マイクロプロセッサ又はコントローラは、通常、これらのまさに特定の要件を実行するようにプログラミングされる。ユーザが選択するいかなるソフトウェアアプリケーションも基本的にいつでも実行することができる汎用コンピュータに対して、組み込み装置上のソフトウェアは半不変であり、そのため、しばしばファームウェアと称される。
【０００４】
ファームウェアは、通常、読み出し専用メモリ（ＲＯＭ）集積回路におけるコンピュータプログラムとして定義される。あるいは、ファームウェアは、そのプログラムが特別な外部ハードウェアによって変更され得る消去書き込み可能な読み出し専用メモリ（ＥＰＲＯＭ）チップであってもよいが、［汎用の］アプリケーションプログラムによるそのようなチップでなくてもよい。
【０００５】
イーサネット（登録商標）コンバータ等の従来の組み込み装置は、無線接続を歴史的に設けておらず、また、それらは、組み込み装置内で動的コンテンツを供給もしない。ＰＣＭＣＩＡカード及びＵＳＢドングルを含むその後のコンバータは、無線接続を設けているが、そのような装置は、コンピュータ又は他の回路基板への実装用には設計されていない。さらに、既存のコンバータは、１つのプロトコルの他のものへの特定の翻訳のために設計されているか、又は、制限された若しくは非既存のＭＩＬＡＲＲＳ及び他の機能を有する。例えば、ＰＣＭＣＩＡカードは、非コンピュータ製品又は装置には通常は設けられない複雑なパラレルインタフェース（例えば、ＣＡＲＤＢＵＳ）を必要とするように設計されている。したがって、既存の無線接続装置は、一般に、ＯＥＭメーカーにとって、彼らの製品において使用するのに適していない。
【０００６】
従来のインターネットコンバータは、例えば、２００２年４月に出願された特許出願第１０／１２２，８６７号明細書において記述されているＬａｎｔｒｏｎｉｘ（登録商標）が提供しているＸ−Ｐｏｒｔ（商標）を含み、当技術分野において知られている。本明細書に引用される‘８６７特許出願並びに他の特許及び特許出願は、その全体を参照することによって組み込まれる。より最近の例は、Ａｒｃ  Ｅｌｅｃｔｒｏｎｉｃｓ（商標）（ｗｗｗ．ａｒｃｅｌｅｃｔ．ｃｏｍ）から入手可能なＣＰ／Ｃｏｍ（商標）コンバータを含む。
【０００７】
従来、組み込み装置内で動的コンテンツを供給するウェブアプリケーションの開発は、バグの傾向がある時間を要するプロセスである。動的コンテンツの送信は、ファームウェアイメージ内のウェブアプリケーションがコード内に点在するＨＴＭＬコードを含むことを必要とする。例えば、動的ウェブページを作成して、ブラウザに返信する以下の擬似コードを考える：
Ｖｏｉｄ  ＷｅｂＡｐｐＭｅｍｏｒｙＳｔａｔｓＣａｌｌｂａｃｋ（ｉｎｔ  ｓｏｃｋｅｔ）｛
Ｓｅｎｄ（ｓｏｃｋｅｔ，“＜ｈｔｍｌ＞”）；
Ｓｅｎｄ（ｓｏｃｋｅｔ，“＜ｈｅａｄ＞＜／ｈｅａｄ＞”）；
Ｓｅｎｄ（ｓｏｃｋｅｔ，“＜ｂｏｄｙ＞”）；
ＧｅｔＡｎｄＳｅｎｄＭｅｍｏｒｙＵｓａｇｅＳｔａｔｓ（ｓｏｃｋｅｔ）；
Ｓｅｎｄ（ｓｏｃｋｅｔ，“＜／ｂｏｄｙ＞”）；
Ｓｅｎｄ（ｓｏｃｋｅｔ，“＜／ｈｔｍｌ＞”）；｝
【０００８】
この関数は、現在のメモリ使用状態（ｓｔａｔｓ）を表示する新たなウェブページを作成し、それをユーザに対して表示するブラウザに返信する。
【０００９】
開発プロセスは以下の通りである。動的ウェブアプリケーションが作成され、次に、ウェブアプリケーションが組み込み装置のファームウェアソースに含められる。次に、組み込み装置のファームウェアは再コンパイルされ得、その後、新たにコンパイルされた組み込み装置のファームウェアイメージが組み込み装置にアップロードされる。次いで、組み込み装置は、新たなファームウェアイメージを実行するためにリブートされなければならない。さらに、ウェブブラウザは、新たなウェブアプリケーション動的ページを見るために既に訪問されている場合には、ウェブアプリケーションに向けられるか、又は、リフレッシュされる。
【００１０】
上述した関数に複雑さがある場合。複雑さがいったん修正されると、組み込み装置のファームウェアは、再コンパイルされなければならず、修正を組み込むために、ファームウェアイメージは、再アップロード等される。この再コンパイル及び再構成は、非常に時間を要するプロセスであり、ウェブアプリケーション動的ページへの変更を行うことにおいて効率的ではない。さらに、このバグ修正が組み込み装置のファームウェアイメージの「顧客発売された」バージョンに対したものであると仮定する。ファームウェアイメージは、全ての顧客に発行されなければならず、顧客がそうするのを選択するならば、顧客は、新たなイメージを使用するために上記ステップ４、５を実行しなければならない。多くの場合、現場で、ファームウェアのアップグレードを強制され装置をリブートすることは、好ましい状況ではない。
【００１１】
あるリッチメディアアプリケーションの先行技術が当技術分野において知られている。例えば、Ｂａｌｔｈａｓｅｒに対して発行された米国特許第７，０００，１８０号明細書は、インターネットを介して設計されて作成されるリッチメディアアプリケーションを開示している。ホストコンピュータは、インターネット接続を介して遠隔ユーザからアクセスされる。ユーザアカウント情報及びリッチメディアアプリケーションは、確立されたインターネット接続を介して、ユーザアカウントにおいて作成されて変更される。リッチメディアコンポーネントは、ユーザリクエストに含まれる情報に基づいて、リッチメディアアプリケーションのシーンに追加され、リッチメディアアプリケーションにおいて変更され、又はリッチメディアアプリケーションのシーンから削除される。しかしながら、Ｂａｌｔｈａｓｅｒ特許は、ユーザ入力に基づいてシステムが変更されて作成されることを必要とする。システムは、ＨＴＭＬアップデート及びそれに対するリビジョンをアップデートして作成する機能を有さない。
【発明の概要】
【発明が解決しようとする課題】
【００１２】
ファームウェアコード内に点在するＨＴＭＬは、バグの傾向があり、保守するのが困難である。コード内でＨＴＭＬを視覚的に確認するのは困難であり、ファームウェアコードによって供給されるデータは、上で説明したように、動的であるものの、コード自体は動的ではない。コードをアップデート／変更するために、全体のファームウェアイメージは、再コンパイルされてリロードされなければならない。
【００１３】
したがって、データの再コンパイルを必要としない組み込み装置内でウェブサイトアプリケーションを開発するための装置及び方法について持続的な必要性があり、持続的に情報を組み込み装置にアップロードする必要性がある。
【００１４】
さらに、必要性は、したがって、新たなファームウェアイメージを実行するための組み込み装置をリブート、又は、新たなウェブアプリケーション動的ページを見るためのウェブブラウザのリフレッシュを必要としない組み込み装置を用いてウェブサイトアプリケーションを開発するための装置及び方法について存在する。
【課題を解決するための手段】
【００１５】
本発明は、ウェブアプリケーション内に含まれるＨＴＭＬを抽出することによって変更され且つ組み込み装置のファイルシステムのファイル内にそれを加えることができるコンバータ内の組み込み装置についての装置及び方法を提供する。次いで、組み込み装置は、ソースからデータ及び情報を得ウェブページの欠落した部分を埋めるために必要なデータを使用することができ、及び／又は、必要に応じてウェブページをアップデート又は変更することができる。出力は、ウェブブラウザ内のスクリプトエンジンによって容易に解析され得るようにフォーマットされ得る。本発明の実施形態において、ＸＭＬ形式がウェブブラウザ内で出力を解析するのに使用される。
【００１６】
この目的のために、本発明の実施形態においては、モジュールが開示される。モジュールは、データコードを含む第１のメモリ内のファイルを有する。モジュールは、さらに、ウェブアプリケーションを含む第２のメモリ内のファームウェアイメージと、データを受信する第１のインタフェースとを有する。さらに、モジュールは、データコードにデータを関連付け、ウェブアプリケーションを実行し、データを含む方法でウェブページの少なくとも一部をレンダリングするようにモジュールに対して外部のソフトウェアと協働するプロセッサの機能を有する。
【００１７】
他の例示的な実施形態において、モジュールは、第１のメモリを有し、第１のメモリは、ＲＡＭを含む。
【００１８】
他の例示的な実施形態において、モジュールは、第１のメモリを有し、第１のメモリは、不揮発性ＲＡＭを含む。
【００１９】
さらに他の例示的な実施形態において、モジュールは、少なくとも１つのＨＴＭＬスクリプトを有するデータコードを有する。
【００２０】
他の例示的な実施形態において、モジュールは、非同期の非ページリフレッシュデータ収集及びウェブページへの変更をもたらす少なくとも１つのオブジェクトを有するデータコードを有する。
【００２１】
他の例示的な実施形態において、モジュールは、ＲＯＭを含む第２のメモリを有する。
【００２２】
他の例示的な実施形態において、モジュールは、コンパイルされたＨＴＴＰサーバを含むファームウェアイメージを有する。
【００２３】
他の例示的な実施形態において、モジュールは、ＨＴＭＬテキストを有さないファームウェアイメージを有する。
【００２４】
他の例示的な実施形態において、モジュールは、ウェブブラウザスクリプトコードを有さないファームウェアイメージを有する。
【００２５】
他の例示的な実施形態において、モジュールは、ウェブページをレンダリングするウェブブラウザスクリプティングの機能を含むソフトウェアを頼りにするウェブアプリケーションを有する。
【００２６】
他の例示的な実施形態において、モジュールは、文書オブジェクトモデル（ＤＯＭ）を操作可能なソフトウェアを頼りにするウェブアプリケーションを有する。
【００２７】
他の例示的な実施形態において、モジュールは、ストリーミングインタフェースを含む第１のインタフェースを有する。
【００２８】
他の例示的な実施形態において、モジュールは、ストリーミングインタフェースを含む第１のインタフェースを有し、ストリーミングインタフェースは、シリアルインタフェースを含む。
【００２９】
他の例示的な実施形態において、モジュールは、パケット化された情報を送受信する第２のインタフェースを有する。
【００３０】
他の例示的な実施形態において、モジュールは、複数のシリアルインタフェース及び複数のイーサネット（登録商標）インタフェースを有し、第１のインタフェースは、複数のインタフェースの１つを構成する。
【００３１】
他の例示的な実施形態において、モジュールは、ウェブページを供給するために第２のインタフェースを使用するプロセッサを有する。
【００３２】
他の例示的な実施形態において、モジュールは、第１のインタフェースと第２のインタフェースとの間で情報を転送して翻訳するプロセッサを有する。
【００３３】
他の例示的な実施形態において、モジュールは、第１のインタフェースから受信した情報をトンネリングするために第２のインタフェースを使用するプロセッサを有する。
【００３４】
他の例示的な実施形態において、モジュールは、単一プロセッサからなるプロセッサの機能を有する。
【００３５】
他の例示的な実施形態において、モジュールは、複数プロセッサからなるプロセッサの機能を有する。
【００３６】
本発明の例示的な実施形態において、第１のフォーマットでデータを受信する第１のインタフェースと、第２のフォーマットでデータを送信する第２のインタフェースと、ファイルを格納する第１のメモリと、ウェブアプリケーションのファームウェアイメージを格納する第２のメモリと、第２のフォーマットでデータを送信する方法でウェブアプリケーションを実行するプロセッサとを有する装置を構成する方法が提供される。本方法は、複数のスクリプトを用いてファイルを遠隔アップデートするステップと、データに関する情報を表示する方法でスクリプトを実行する遠隔ユーザのウェブブラウザに対してウェブアプリケーションが複数のスクリプトを供給するのを許可するステップとを含む。
【００３７】
他の例示的な実施形態において、第１のフォーマットでデータを受信する第１のインタフェースと、第２のフォーマットでデータを送信する第２のインタフェースと、ファイルを格納する第１のメモリと、ウェブアプリケーションのファームウェアイメージを格納する第２のメモリと、第２のフォーマットでデータを送信する方法でウェブアプリケーションを実行するプロセッサとを有する装置を構成する方法が提供される。本方法は、複数のスクリプトのうちの少なくとも１つがＨＴＭＬを含むことを有するステップをさらに含む。
【００３８】
他の例示的な実施形態において、第１のフォーマットでデータを受信する第１のインタフェースと、第２のフォーマットでデータを送信する第２のインタフェースと、ファイルを格納する第１のメモリと、ウェブアプリケーションのファームウェアイメージを格納する第２のメモリと、第２のフォーマットでデータを送信する方法でウェブアプリケーションを実行するプロセッサとを有する装置を構成する方法が提供される。本方法は、ウェブブラウザが文書オブジェクトモデル（ＤＯＭ）を利用することを許可するステップをさらに含む。
【００３９】
他の例示的な実施形態において、第１のフォーマットでデータを受信する第１のインタフェースと、第２のフォーマットでデータを送信する第２のインタフェースと、ファイルを格納する第１のメモリと、ウェブアプリケーションのファームウェアイメージを格納する第２のメモリと、第２のフォーマットでデータを送信する方法でウェブアプリケーションを実行するプロセッサとを有する装置を構成する方法が提供される。本方法は、ファイル内に含まれる元のスクリプトの組を使用するためにウェブアプリケーションを一般化するステップをさらに含む。
【００４０】
他の例示的な実施形態において、第１のフォーマットでデータを受信する第１のインタフェースと、第２のフォーマットでデータを送信する第２のインタフェースと、ファイルを格納する第１のメモリと、ウェブアプリケーションのファームウェアイメージを格納する第２のメモリと、第２のフォーマットでデータを送信する方法でウェブアプリケーションを実行するプロセッサとを有する装置を構成する方法が提供される。本方法は、ウェブアプリケーションの前のバージョンからＨＴＭＬコードを除去するステップをさらに含む。
【００４１】
他の例示的な実施形態において、第１のフォーマットでデータを受信する第１のインタフェースと、第２のフォーマットでデータを送信する第２のインタフェースと、ファイルを格納する第１のメモリと、ウェブアプリケーションのファームウェアイメージを格納する第２のメモリと、第２のフォーマットでデータを送信する方法でウェブアプリケーションを実行するプロセッサとを有する装置を構成する方法が提供される。本方法は、ウェブアプリケーションの前のバージョンにＨＴＭＬコードを追加するステップをさらに含む。
【００４２】
他の例示的な実施形態において、第１のフォーマットでデータを受信する第１のインタフェースと、第２のフォーマットでデータを送信する第２のインタフェースと、ファイルを格納する第１のメモリと、ウェブアプリケーションのファームウェアイメージを格納する第２のメモリと、第２のフォーマットでデータを送信する方法でウェブアプリケーションを実行するプロセッサとを有する装置を構成する方法が提供される。本方法は、ウェブアプリケーションの前のバージョンからＨＴＭＬコードを変更するステップをさらに含む。
【００４３】
他の例示的な実施形態において、第１のフォーマットでデータを受信する第１のインタフェースと、第２のフォーマットでデータを送信する第２のインタフェースと、ファイルを格納する第１のメモリと、ウェブアプリケーションのファームウェアイメージを格納する第２のメモリと、第２のフォーマットでデータを送信する方法でウェブアプリケーションを実行するプロセッサとを有する装置を構成する方法が提供される。本方法は、組み込み装置及び組み込み可能装置のうちの少なくとも１つとして装置を通知するステップをさらに含む。
【００４４】
他の例示的な実施形態において、第１のフォーマットでデータを受信する第１のインタフェースと、第２のフォーマットでデータを送信する第２のインタフェースと、ファイルを格納する第１のメモリと、ウェブアプリケーションのファームウェアイメージを格納する第２のメモリと、第２のフォーマットでデータを送信する方法でウェブアプリケーションを実行するプロセッサとを有する装置を構成する方法が提供される。本方法は、新たなファームウェアイメージを装置にロードせずに装置の機能がアップデートされ得る旨を通知するステップをさらに含む。
【００４５】
他の例示的な実施形態において、第１のフォーマットでデータを受信する第１のインタフェースと、第２のフォーマットでデータを送信する第２のインタフェースと、ファイルを格納する第１のメモリと、ウェブアプリケーションのファームウェアイメージを格納する第２のメモリと、第２のフォーマットでデータを送信する方法でウェブアプリケーションを実行するプロセッサとを有する装置を構成する方法が提供される。本方法は、装置の機能が使用及び構成のうちの少なくとも１つを含むような装置の機能を提供するステップをさらに含む。
【００４６】
この目的のために、本発明の例示的な実施形態は、ウェブアプリケーションに対するＨＴＭＬ情報の実装、デバッグ、及び配信のための容易なユーティリティを提供する組み込み装置内でウェブサイトアプリケーションを開発するためのモジュール及び方法についてのものである。
【００４７】
さらになお他の例示的な実施形態において、組み込み装置内でウェブサイトアプリケーションを開発するためのモジュール及び方法が提供される。モジュールは、組み込み装置のファームウェアから全てのＨＴＭＬを除去してウェブブラウザスクリプティングを利用するウェブサイトアプリケーションの変更のより容易な円滑化及び実装を作り出す。
【００４８】
例示的な実施形態において、ウェブサイトアプリケーションの構築及び変更に利用されるモジュール又は組み込み装置は、汎用であるのが好ましく、いかなるシリアル通信プロトコルにも適合するように設計されている。これは、特に、Ｉ２Ｃ、ＣＡＮ、プロフィバス、ＳＰＩ、及びＵＳＢを含む。同様に、モジュールは、例えば、ＩＰ、ＡＲＰ、ＵＤＰ、ＴＣＰ、ＩＣＭＰ、Ｔｅｌｎｅｔ、ＴＦＴＰ、ＡｕｔｏＩＰ、ＤＨＣＰ、ＨＴＴＰ、及びＳＮＭＰを含むいかなる適切なシリアル及び管理規格も扱うように設計されているのが好ましい。モジュールがいかなる８０２．１１ｘ又はその後の規格にも準拠することが特に意図される。
【００４９】
商業的な実施形態は、単なるプロトコル変換以外の機能及び無線ネットワークサポートを提供するソフトウェアを含むのが好ましい。例えば、ソフトウェアは、有利には、ＷＥＰ（Ｗｉｒｅｄ  Ｅｑｕｉｖａｌｅｎｔ  Ｐｒｏｔｏｃｏｌ）及びＷＰＡ（Ｗｉｒｅｌｅｓｓ  Ｎｅｔｗｏｒｋｉｎｇ  Ｐｒｏｔｅｃｔｅｄ  Ａｃｃｅｓｓ）セキュリティ等のセキュリティ機能、並びに、様々なタイプの暗号化を提供することができる。ソフトウェアはまた、少なくともＭＩＬＡＲＲＳの機能の１つを提供することができる。他の例において、ソフトウェアは、電子メールアラート等のウェブ関連サービスを提供することができる。しかしながら、他の例示的な実施形態において、ソフトウェアは、双方向のウェブアプリケーションの作成のためにＡＪＡＸスクリプトプログラミング開発技術を使用することができる。
【００５０】
アンテナは、アンテナコネクタに対して固定又は着脱可能に連結されることができ、同軸又は他の適切なケーブルを用いてモジュールにおいて又はモジュールに対して外部に取り付けられ得る。また、複数のアンテナが意図される。
【００５１】
無線機能の独自の設計、開発、及び保守の必要性を取り除くプラグイン（又は「ドロップイン」）システムを装置設計者が望んでいても、組み込み装置及び／又はモジュールが使用されてもよい。さらに、リッチウェブサイトアプリケーションを変更及び／又は構築するに設計者によって組み込み装置及び／又はモジュールが利用されてもよい。例は、サーバ、デスクトップ及びラップトップコンピュータ、並びに、比較的簡易な電子装置を有する台所用品等の装置さえも含む。組み込み装置は、１つ以上のリジッド又はフレキシブル部品基板を有する装置で使用されてもよく、冗長をもたらすように又は内部若しくは相互基板通信をもたらすように１つより多くのそのような組み込み装置を用いて所定の基板上に実装可能であることが特に意図される。
【００５２】
さらに、モジュールは、組み込み装置がウェブアプリケーション内に含まれる全てのＨＴＭＬを抽出することによって変更され且つ組み込み装置のファイルシステムのファイル内にそれを加えることができるウェブアプリケーションモデルを有するようなメモリユニットを有してもよい。そして、ウェブアプリケーションスクリプトはコンパイルされ、コンパイルされた情報からのデータは、ウェブページの一部を変更又は完全に書き直すために使用される。結果として生じる出力は、当該出力がウェブブラウザ内のスクリプトエンジンによって解析され得る方法でフォーマットされ得る。
【００５３】
同様の符号が同様の部品を表している添付図面とともに本発明の好ましい実施形態についての以下の詳述から、本発明の様々な目的、特徴、態様、及び利点は、より明らかになるであろう。
【図面の簡単な説明】
【００５４】
【図１】有線イーサネット（登録商標）接続を使用するＰＣＢ基板に取り付け可能なコンバータモジュールについての正面からみた斜視図である。
【図２】図１のモジュールの正面図である。
【図３】図１のモジュールの部分的断面の側面図である。
【図４】本発明のシステムの概略図である。
【図５】本発明の他の例示的な実施形態を図示する他の概略図である。
【発明を実施するための形態】
【００５５】
例示的な実施形態における本発明は、リッチメディアウェブサイトアプリケーションの構築を可能とするモジュール等の組み込み装置内でウェブサイトアプリケーションを開発するためのモジュール及び方法を提供する。リッチメディアは、ニュース及びスポーツを含む時間特有であるウェブサイト、広告、オンラインドキュメント等のインターネットコンテンツへのマルチメディアコンポーネントの統合に関する。本発明は、１つ以上のリッチメディアコンポーネントを含むリッチメディアアプリケーションを構築又は変更するためのモジュール及び方法を利用することができる。
【００５６】
当然のことながら、本発明は、完全に統合装置、又は、例示的な実施形態においてモジュール若しくは組み込み装置とすることができる。図１から図３において図示されるように、モジュール又は組み込み装置１は、一般に、直方体のハウジング３を含む。ハウジング３の前面は、開口した空洞５を含む。金属製のファラデーシールドは、ハウジングの上面、側面、及び背面を被覆し、電磁放射（ＥＭＲ）保護をもたらす。さらに、モジュール／組み込み装置１は、コネクタが取り付けられる筐体に接触することによってファラデーシールドを外枠（地面）に接地接続する接地タブ１１の付勢バネを含むことができる。また、示されているものは、モジュール１をプリント回路基板（ＰＣＢ）１７と電気的に相互接続するためのリード１５の配列である。
【００５７】
ハウジング３の空洞５は、空洞５内でコネクタポートを形成するために必要な電気接点を提供する平行電気接点１９の平面アレイを内蔵している。空洞５は、ある大きさであり、接点１９は、嵌合プラグ（図示しない）を受けるために空洞内に配置されている。接点１９とともにサイジングされた空洞５は、ＲＪ−４５規格のコネクタジャックを形成してもよい。ジャック接点１９は、嵌合プラグ２１との係合のための付勢バネである。重要な例示的な実施形態は、イーサネット（登録商標）配線が複数ピンのコネクタからもたらされることから、本明細書に記載される新規なモジュールが磁気的に従来のＲＪ−４５ジャックを取り付けることができるということである。
【００５８】
ハウジング３は、当技術分野において使用されている成型プラスチック又は他の適切な材料から形成されており、正面壁２３、背面壁２５、上面壁２７、底面壁２９、及び側面壁３１、３３を有するファラデーシールドによって被覆されている。本明細書においての「上面」、「底面」、及び「側面」の言及は、図面に関する説明の容易さのためになされる。代わりの実施形態は、プラスチックを排除し、ハウジングの材料は、例えば導電性金属を使用することにより、別個の部品なしでファラデーシールド機能を果たすように選択される。モジュール１０には製品上の多数の手段を適応させることができ、その結果、特定の配置の工学的要件に適合することもまた意図される。
【００５９】
正面壁２３は、ＬＥＤ３５及び３７を含む。ＬＥＤは、イーサネット（登録商標）接続速度、リンクあり／なし、全／半二重、イーサネット（登録商標）アクティビティ、シリアルポートアクティビティ、及びマイクロコントローラエラー状況（これに限定されないが）等、シリアルからイーサネット（登録商標）への変換に関する様々な機能についての視覚的な状況及び障害情報を提供する。
【００６０】
モジュール／組み込み装置１のウェブアプリケーションモデルは、通常、ウェブアプリケーション５１内に含まれる全てのＨＴＭＬを変更及び抽出し、組み込み装置のファイルシステム５３のファイル内にＨＴＭＬ情報を加えることによって機能する。そして、装置１は、エンドユーザ（図示しない）に表示されるウェブページの欠落した部分（図示しない）を埋めるために必要とされる必要データのみを出力するようにウェブアプリケーションコードを一般化することができる。本発明の例示的な実施形態において、出力データ５５は、当該データ５５がウェブブラウザ６１内のスクリプトエンジン５７によって容易に解析され得る方法でフォーマットされ得る。例示的な実施形態において、ウェブブラウザ６１内のスクリプトエンジン５７は、ＸＭＬを使用することができる。しかしながら、装置１から送信される情報をフォーマットするために、いかなるスクリプトエンジン５７又は適切なマークアップ言語も利用可能であることは理解されるべきある。例えば、以下のように、従来のウェブアプリケーションコードを書き直す：
Ｖｏｉｄ  ＷｅｂＡｐｐＭｅｍｏｒｙＳｔａｔｓＣａｌｌｂａｃｋ（ｉｎｔ  ｓｏｃｋｅｔ）
｛
Ｓｅｎｄ（ｓｏｃｋｅｔ，“＜？ｘｍｌ  ｖｅｒｓｉｏｎ＝＼”１．０＼”？＞”）；
Ｓｅｎｄ（ｓｏｃｋｅｔ，“＜ａｓｓｉｇｎ＞”）；
Ｓｅｎｄ（ｓｏｃｋｅｔ，“＜ｉｄ＞ｍｅｍｏｒｙ＿ｓｔａｔｓ＜／ｉｄ＞”）；
Ｓｅｎｄ（ｓｏｃｋｅｔ，“＜ｄａｔａ＞”）；
ＧｅｔＡｎｄＳｅｎｄＭｅｍｏｒｙＵｓａｇｅＳｔａｔｓ（ｓｏｃｋｅｔ）；
Ｓｅｎｄ（ｓｏｃｋｅｔ，“＜／ｄａｔｅ＞”）；
Ｓｅｎｄ（ｓｏｃｋｅｔ，“＜／ａｓｓｉｇｎ＞”）；
｝
【００６１】
上で特定された関数は、ウェブブラウザ６１内で実行中のスクリプトエンジン５７によって解析される基本的なＸＭＬを出力することができる。例えばＪａｖａ（登録商標）スクリプト等のスクリプトエンジン５７は、ＸＭＬを解析して結果として生じる「データ」を文書オブジェクトモデル（ＤＯＭ）に割り当てることができる。ＸＭＬによって解析されてＤＯＭに割り当てられた結果データ５５は、ウェブブラウザ６１において結果として生じたレンダリングページにおいてアップデートされ得る。この例に関して、Ｊａｖａ（登録商標）スクリプトは、以下のように見えるであろう：
Ｆｕｎｃｔｉｏｎ  ＭｅｍｏｒｙＳｔａｔｓＡｓｓｉｇｎ（）
｛
Ｖａｒ  ｘｍｌ  ＝  ＧｅｔＸｍｌＤａｔａＦｒｏｍＳｅｒｖｅｒ（“ＭｅｍｏｒｙＳｔａｔｓ”）；
Ｖａｒ  ｉｄ  ＝  ＧｅｔＸｍｌＤａｔａ（ｘｍｌ，“ｉｄ”）；
Ｖａｒ  ｄａｔａ  ＝  ＧｅｔＸｍｌＤａｔａ（ｘｍｌ，“ｄａｔａ”）；
Ｄｏｃｕｍｅｎｔ．ｇｅｔＥｌｅｍｅｎｔＢｙＩｄ（ｉｄ）．ｉｎｎｅｒＨＴＭＬ  ＝  ｄａｔａ；
｝
【００６２】
しかしながら、Ｊａｖａ（登録商標）スクリプト及びウェブアプリケーション５１の呼び戻しが実行される前に、ＨＴＭＬコンテンツがウェブブラウザ６１によって予めロードされなければならないことは理解されるべきである。この例に関して、ＨＴＭＬは、以下のように見えるであろう：
＜ｈｔｍｌ＞
＜ｈｅａｄ＞＜／ｈｅａｄ＞
＜ｂｏｄｙ  ｏｎｌｏａｄ＝“ＭｅｍｏｒｙＳｔａｔｓＡｓｓｉｇｎ（）；”＞
＜ｈｌ  ｉｄ＝“ｍｅｍｏｒｙ＿ｓｔａｔｓ”＞＜／ｈｌ＞
＜／ｂｏｄｙ＞
＜／ｈｔｍｌ＞
【００６３】
上に図示されたＨＴＭＬページは、Ｊａｖａ（登録商標）スクリプトイベントトリガ「ｏｎｌｏａｄ」を含む。このイベントトリガ「ｏｎｌｏａｄ」は、ページがウェブブラウザ６１によって完全にロードされた後にのみ呼び出される。この場合、イベント関数は、組み込み装置１のウェブアプリケーション５１からメモリデータ５５を入手し、「＜ｈｌ＞」タグに結果を挿入する。
【００６４】
先に述べたように、ＨＴＭＬコンテンツは、組み込み装置のファイルシステム５３の記憶装置にある。ＨＴＭＬファイルは、さらに絶え間なくファームウェアイメージ６５を変更する必要性がなくユーザによって期待されるように、リアルタイムで変更され、なお利用可能とされ得る。例えば、顧客Ａは、以下のようにメモリ状態のＨＴＭＬページを変更することができる：
＜ｈｔｍｌ＞
＜ｈｅａｄ＞
＜ｔｉｔｌｅ＞Ｍｅｍｏｒｙ  Ｓｔａｔｓ＜／ｔｉｔｌｅ＞
＜／ｈｅａｄ＞
＜ｂｏｄｙ  ｏｎｌｏａｄ＝“ＭｅｍｏｒｙＳｔａｔｓＡｓｓｉｇｎ（）；”＞
現在のメモリ状態：＜ｓｐａｎ  ｓｔｙｌｅ＝“ｃｏｌｏｒ：ｒｅｄ；”
ｄ＝“ｍｅｍｏｒｙ＿ｓｔａｔｓ”＞＜／ｓｐａｎ＞
＜／ｂｏｄｙ＞
＜／ｈｔｍｌ＞
【００６５】
そして、顧客Ｂは、以下のようにメモリ状態のＨＴＭＬページを変更することができる：
＜ｈｔｍｌ＞
＜ｈｅａｄ＞＜／ｈｅａｄ＞
＜ｂｏｄｙ  ｏｎｌｏａｄ＝“ＭｅｍｏｒｙＳｔａｔｓＡｓｓｉｇｎ（）；”＞
＜ｄｉｖ  ｓｔｙｌｅ＝“ｂｏｒｄｅｒ：５ｐｘ  ｓｏｌｉｄ  ｂｌｕｅ”＞＜ｈ２  ｉｄ＝“ｍｅｍｏｒｙ＿ｓｔａｔｓ”＞＜／ｈ２＞＜／ｄｉｖ＞
＜／ｂｏｄｙ＞
＜／ｈｔｍｌ＞
【００６６】
いずれかの場合において、組み込み装置のファームウェア６５は同一である。メモリ状態関数は、常に、ＨＴＭＬページがレイアウトされても、解析されてレンダリングウェブページ６１内に挿入される生のＸＭＬデータを出力する。示されるデータ５５についての唯一の要件は、識別名「ｍｅｍｏｒｙ＿ｓｔａｔｓ」がファームウェアイメージ６５及びＨＴＭＬページの双方で同一でなければならないということである。
【００６７】
図４及び図５において図示されるような本発明は、簡便な作業で、ウェブブラウザ６１の複数のユーザが自身のウェブページを構築又は変更する能力を有する。エンドユーザは、元のウェブサイトのレイアウト及びナビゲーションを根本的に変えることができるが、ファームウェアイメージ６５内に含まれるバックエンドのウェブアプリケーション５１は変化しない。これは、組み込み装置１のファームウェアイメージ６５の開発及び今後の発売のより十分な制御をもたらす。
【００６８】
ＨＴＭＬをそれ自身のファイルに移動することにより、ウェブページの迅速な開発及び変更を容易とする極めて一般的なＨＴＭＬエディタの使用が可能となる。ＨＴＭＬエディタが解析／編集することができないウェブアプリケーションコード内にＨＴＭＬコンテンツがもはや含まれていないことから、ウェブページのより迅速な開発及び変更は、ウェブページへの変更に対するより迅速な対応をもたらすことができ、より複雑でないウェブページをもたらす。
【００６９】
さらに、ＨＴＭＬをそれ自身のファイルに移動することにより、組み込み装置１のファームウェアイメージのサイズを大幅に削減する。ＨＴＭＬ「テキスト」は、もはやファームウェアイメージに含まれておらず、その結果、組み込み装置１上の貴重なリソースを潜在的に解放する。
【００７０】
図４及び図５において図示されて本明細書に記述された方法の例示的な実施形態において、組み込み装置１内のＡＪＡＸ（Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｊａｖａ（登録商標）ｓｃｒｉｐｔ  ａｎｄ  ＸＭＬ）７１が実装されるであろう。組み込み装置１のファームウェアイメージ６５は、基本的にはＸＭＬにおける発信データ５５をラップするＡＪＡＸラッパーＡＰＩ７３を含んでもよい。これらのラッパー７３は、データ５５を用いて行うべきことに関して命令を返信するであろう。これらの命令は、データの割り当て／置換、データのプリペンド、データのアペンド、データのクリア、新たなＨＴＭＬ要素の追加、既存のＨＴＭＬ要素の削除、警報のポップアップ、及び同様のものであり得る。
【００７１】
さらに、実装は、組み込み装置１のウェブアプリケーション５１についてのリクエスト及びレスポンスを処理する（Ｊａｖａ（登録商標）スクリプトのＸＭＬＨｔｔｐＲｅｑｕｅｓｔを非同期に使用する）ことができるウェブブラウザ６１において実行するＡＪＡＸ支援Ｊａｖａ（登録商標）スクリプトエンジン７５を含んでもよい。ＡＪＡＸ  Ｊａｖａ（登録商標）スクリプトエンジン７５は、ウェブブラウザ６１のイベント（すなわち、マウスクリック、テキスト入力、フォームサブミット等）を処理することができ、必要に応じて文書オブジェクトモデルをアップデートするために適切なアクションを実行することができる。レンダリングページのいかなる態様であっても、ページ全体をリフレッシュすることなく、ＡＪＡＸを使用して動的にオンザフライで変えることができる。
【００７２】
ＡＪＡＸベースのウェブサイトは、ウェブブラウザ６１のイベントがトリガされた後にアップデートされて入手するレンダリングページの僅かな部分をもたらすことができる。組み込み装置１のウェブアプリケーション５１のリクエスト及びレスポンスは、全体的により少ないリソースを最小限に利用している（すなわち、組み込み装置のメモリ、ＣＰＵサイクル、及びネットワーク帯域幅）。ページ全体は、ウェブブラウジングセッションの始めに一度だけロードされる。
【００７３】
図３は、隔離された内部チャンバ４０を含むハウジング３を示している。第１のＰＣＢ４２は、一般に底面壁３０に対して水平且つ平行に、内部チャンバ４０内に配設されている。第１のＰＣＢ４２は、プラスチックの差し込み部分に取り付けられている接触接点４４にはんだ付け（又は他の方法で電気的に接続）されている。完成した差し込みアセンブリは、摺動してメインハウジング３に嵌まり込む。接触接点ピン４４は、それらの端部がワイパー接点１９になるように形成されている。したがって、第１のＰＣＢ４２は、ポート空洞５の接点１９と電気的に相互接続される。さらに、接触接点４４は、第１のＰＣＢ４２に対する構造的な支持をもたらす。
【００７４】
第２のＰＣＢ５０もまた、底面壁３０に対して一般に水平であり且つ一般に平行に位置して、内部チャンバ４０内に配置されている。第２のＰＣＢ５０は、ユーザのＰＣＢ２０に接続する入力／出力ピン２０（より具体的には、これらのピン２０は、電源及びグラウンド、リセット、シリアルデータ入出力、ハンドシェイク及びフロー制御ライン、並びに、ＰＩＯラインを接続する。）になるようにそれらの端部が形成されているリード５４のアレイにはんだ付け（又は他の方法で電気的に接続）されている。リード５４のアレイは、プラスチックの差し込み部分に取り付けられている。第２のＰＣＢ５０がリード５４にはんだ付け（又は他の方法で接続）された後、完成した差し込みアセンブリは、摺動してメインハウジング３に嵌まり込む。
【００７５】
第３のＰＣＢ４８は、一般に縦方向に内部チャンバ４０内に配置されており、一般に他のＰＣＢ４２、５０に垂直である。ＰＣＢ４８は、背面壁２５に隣接して配置されており、形成ピン４９、５２によって構造的且つ電気的に他のＰＣＢ４２、５０と相互接続されている。その結果、ＰＣＢ４８及び形成ピン４９、５２は、ＰＣＢ４２、５０間の電気的接続をもたらす。ＬＥＤ３７は、筐体１２の上面の近くを通るリード（図示しない）を有し、これらのリードはまた、ＰＣＢ４８における孔に接続している。これは、ＬＥＤ３７と制御ＰＣＢ５０との間の電気的接続をもたらす。
【００７６】
第１のＰＣＢ４２及び第２のＰＣＢ５０は、データのシリアルイーサネット（登録商標）変換を完了するために必要な電子回路の部品をまとめて組み込んでいる。ＰＣＢ４２は、絶縁変圧器、コモンモードチョーク、終端抵抗、及び（ＥＳＤ及び電圧サージのための）高電圧放電コンデンサを有利に含むことができる回路の磁気的部分を含む。この実装において、ＰＣＢ４８は、単に電気的相互接続に使用されるが、必要に応じて、回路部品のために使用されることもできる。
【００７７】
ＰＣＢ５０は、シリアルイーサネット（登録商標）変換の制御機能に必要な全ての電子回路の部品を組み込んでいる。ＰＣＢ５０上の電子部品は、これに限定されないが、（有利にはＡＳＩＣに組み合わせることができる）マイクロプロセッサ及びイーサネット（登録商標）コントローラと、不揮発性メモリ（本発明においてはフラッシュメモリ）と、電圧レギュレータと、電圧監視回路と、水晶発振素子と、抵抗と、コンデンサと、フェライト又は他の表面取り付けビードとを含む。
【００７８】
動作中において、完成したアセンブリは、ある装置又は装置の一部であるＰＣＢ上に取り付けられる。シリアルデータ及び汎用ＰＩＯデータは、リード２０のアレイを介して装置から流れ、ＰＣＢ４２、４８、及び５０上にまとめて組み込まれた回路によって処理される。ＰＣＢ４２は、イーサネット（登録商標）データを効率的に送信するためにプラグ９１と対になる接点１９と相互接続される。イーサネット（登録商標）データはまた、ワイパー接点１９を介してイーサネット（登録商標）ポートから流れ、ＰＣＢ４２、４８、及び５０上にまとめて組み込まれた回路によって処理され、シリアルデータ及び汎用ＰＩＯデータとして、リードピン２０を介して外部装置に流れ出すことができる。さらに、制御回路、磁気回路、及びＬＥＤ回路が、ＰＣＢ４２、４８、及び５０の中で交換可能であり、部品がＰＣＢ４２、４８、及び５０のそれぞれの片側又は両側に配置可能であることが意図される。
【００７９】
図５において図示されるように、いくつかのコンポーネントが組み込み装置１内に含まれ得る。これらは、これに限定されないが、（本発明のために他のコンポーネントと組み合わされ得る）マイクロプロセッサ８１及びイーサネット（登録商標）コントローラ８３と、ＲＡＭを有する第１のメモリ８５と、オペレーティングシステム、環境を格納し且つ少なくとも１つのウェブページを格納し且つウェブページ上の情報を変更するために組み込み装置１に対して外部のソフトウェアと協働することができる第２のメモリ８７とを含むことができる。さらに、組み込み装置１はまた、電圧レギュレータと、電圧監視回路と、水晶発振素子と、抵抗と、コンデンサと、フェライトビードとを含んでもよい。
【００８０】
したがって、無線通信ポートの具体的な実施形態及び適用が開示された。しかしながら、本明細書での発明概念から逸脱しない範囲で、既に記述されたもの以外にさらに多くの変更が可能であることは、当業者にとって明らかなはずである。したがって、本発明の主題は、添付された特許請求の範囲の精神を除いて制限されることはない。さらに、明細書及び特許請求の範囲の双方を解釈する際に、全ての用語が文脈と一致した可能な限り最も広い方法で解釈されるべきである。具体的には、用語「含む（ｃｏｍｐｒｉｓｅｓ）」及び「含んでいる（ｃｏｍｐｒｉｓｉｎｇ）」は、符号が付された要素、部品、又はステップが、存在し得る若しくは利用可能である、又は、明示的に参照されない他の要素、部品、又はステップと組み合わされ得ることを示しながら、非排他的な方法で、要素、部品、又はステップを参照しているものとして解釈されるべきである。
【図１】
2009541855.tif 000003
【図２】
2009541855.tif 000004
【図３】
2009541855.tif 000005
【図４】
2009541855.tif 000006
【図５】
2009541855.tif 000007
【国際調査報告】
2009541855.tif 000008