(57)【要約】  本発明は、ネットワーク化された装置に通知をプッシングする方法及びシステムに関する。クライアント装置とサーバー装置との連結が成立される。クライアント装置は、サーバー装置に資料を要請する。サーバー装置は、このような要請に対する応答としてクライアント装置に応答を伝送する。このような応答は、サーバー装置からクライアント装置に情報を要請する通知要請を含む。また、サーバー装置は、自動的に所定イベントが発生した時にクライアント装置に通知する。
2007516527.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークの装置に通知をプッシングする方法において、
(ａ)前記装置のうち一つと接続を設定する段階と、
(ｂ)前記装置からデータ要請を受信する段階と、
(ｃ)前記要請に応じて、前記装置をしてそれ以上の情報を要請させるために通知要請を含む応答を伝送する段階とを含むことを特徴とする通知プッシング方法。
【請求項２】
(ｄ)所定イベントが発生した時、前記装置に自動的に通知する段階をさらに含むことを特徴とする請求項１に記載の通知プッシング方法。
【請求項３】
前記(ｃ)段階は、前記応答を通じて前記装置により要請されたデータを含む段階をさらに含むことを特徴とする請求項１に記載の通知プッシング方法。
【請求項４】
(ｄ)前記通知要請に基づいて前記装置からデータに対する他の要請を受信する段階と、
(ｅ)前記他の要請に応答して、前記装置をしてそれ以上の情報を要請させるための他の通知要請を含む他の応答を前記装置に伝送する段階と、をさらに含むことを特徴とする請求項１に記載の通知プッシング方法。
【請求項５】
(ｆ)所定イベントが発生した時、前記装置に自動的に通知する段階をさらに含むことを特徴とする請求項４に記載の通知プッシング方法。
【請求項６】
前記装置は、前記要請を伝送するウェブブラウザを含むことを特徴とする請求項１に記載の通知プッシング方法。
【請求項７】
ネットワークの装置に通知をプッシングする方法において、
(ａ)前記装置のうち一つと接続を設定する段階と、
(ｂ)前記装置にデータに対する要請を発送する段階と、
(ｃ)前記装置から、前記装置からそれ以上の情報を要請するための通知要請を含む応答を受信する段階とを含むことを特徴とする通知プッシング方法。
【請求項８】
(ｄ)前記装置から所定イベントに対する通知を自動的に受信する段階をさらに含むことを特徴とする請求項７に記載の通知プッシング方法。
【請求項９】
前記(ｃ)段階は、前記応答を通じて前記要請されたデータを受信する段階をさらに含むことを特徴とする請求項７に記載の通知プッシング方法。
【請求項１０】
(ｄ)前記通知要請に基づいて、前記装置にデータに対する他の要請を伝送する段階をさらに含むことを特徴とする請求項７に記載の通知プッシング方法。
【請求項１１】
(ｅ)前記他の要請に応答して、前記装置からそれ以上の情報を要請するための他の通知要請を含む他の応答の伝送を受信する段階をさらに含むことを特徴とする請求項１０に記載の通知プッシング方法。
【請求項１２】
(ｆ)所定イベントが発生した時、前記装置から自動的に通知を受信する段階をさらに含むことを特徴とする請求項１１に記載の通知プッシング方法。
【請求項１３】
前記装置は、前記応答を伝送するウェブサーバーを含むことを特徴とする請求項７に記載の通知プッシング方法。
【請求項１４】
クライアント装置及びサーバー装置を備えるネットワーク装置における通知をプッシングする方法において、
(ａ)前記クライアント装置と前記サーバー装置との接続を設定する段階と、
(ｂ)前記クライアント装置は、前記サーバー装置にデータ要請を伝送する段階と、
(ｃ)前記サーバー装置は、前記要請に応答して、前記クライアント装置をして前記サーバー装置からそれ以上の情報を要請させる通知要請を含む応答を前記クライアント装置に伝送する段階とを含むことを特徴とする通知プッシング方法。
【請求項１５】
(ｄ)前記サーバー装置は、所定イベントが発生した時、前記クライアント装置に自動的に通知する段階をさらに含むことを特徴とする請求項１４に記載の通知プッシング方法。
【請求項１６】
前記(ｃ)段階は、前記サーバー装置は、前記応答を通じて前記クライアント装置により要請されたデータを含む段階をさらに含むことを特徴とする請求項１４に記載の通知プッシング方法。
【請求項１７】
(ｄ)前記クライアント装置は、ディスプレイ上に前記要請されたデータを表示する段階をさらに含むことを特徴とする請求項１６に記載の通知プッシング方法。
【請求項１８】
前記クライアント装置は、前記要請を伝送するウェブブラウザを含み、前記サーバー装置は、前記応答を伝送する前記ウェブサーバーを含むことを特徴とする請求項１４に記載の通知プッシング方法。
【請求項１９】
(ｄ)前記通知要請に基づいて、前記クライアント装置は、前記サーバー装置にデータに対する他の要請を伝送する段階と、
(ｅ)前記サーバー装置は、前記他の要請に応答して、前記クライアント装置に他の応答を伝送するが、前記他の応答は、前記クライアント装置をして前記サーバー装置にそれ以上の情報を要請させる他の通知要請を含む段階と、をさらに含むことを特徴とする請求項１４に記載の通知プッシング方法。
【請求項２０】
(ｆ)前記サーバー装置は、前記所定イベントが発生した時、前記クライアント装置に自動的に通知する段階をさらに含むことを特徴とする請求項１９に記載の通知プッシング方法。
【請求項２１】
相互連結が設定されているクライアント装置及びサーバー装置から構成されるが、
前記クライアント装置は、前記サーバー装置にデータに対する要請を伝送し、
前記要請を受信すれば、前記サーバー装置は、前記クライアント装置に応答を伝送するが、
前記応答は、前記クライアント装置をして前記サーバー装置にそれ以上の情報を要請させる通知要請を含むことを特徴とする電子装置における通知プッシングシステム。
【請求項２２】
前記サーバー装置は、所定イベントが発生した時、前記クライアント装置に自動的に通知することを特徴とする請求項２１に記載の通知プッシングシステム。
【請求項２３】
前記サーバー装置は、前記応答を通じて前記クライアント装置により要請されたデータをさらに含むことを特徴とする請求項２１に記載の通知プッシングシステム。
【請求項２４】
前記クライアント装置は、ディスプレイ上に前記要請されたデータを表示することを特徴とする請求項２３に記載の通知プッシングシステム。
【請求項２５】
前記クライアント装置は、前記要請を伝送するウェブブラウザを含み、前記サーバー装置は、前記応答を伝送するウェブサーバーを含むことを特徴とする請求項２１に記載の通知プッシングシステム。
【請求項２６】
(ｄ)前記通知要請に基づいて、前記クライアント装置は、前記サーバー装置にデータに対する他の要請を伝送し、
(ｅ)前記サーバー装置は、前記他の要請に基づいて前記クライアント装置に他の応答を伝送するが、前記他の応答は、前記クライアント装置をして前記サーバー装置からそれ以上の情報を要請させるための他の通知要請を含むことを特徴とする請求項２１に記載の通知プッシングシステム。
【請求項２７】
(ｆ)前記サーバー装置は、所定イベントが発生した時、前記クライアント装置に自動的に通知することを特徴とする請求項２６に記載の通知プッシングシステム。
【請求項２８】
前記クライアント装置及び前記サーバー装置は、ＨＴＴＰプロトコルを活用することを特徴とする請求項２１に記載の通知プッシングシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク化された装置に通知をプッシングする方法及びシステムに係り、より詳細には、低いオーバーヘッドを有するクライアント基盤のブラウザ制御器にリアルタイム状態アップデートを事実上提供する方法及びシステムに関する。
【背景技術】
【０００２】
本発明の優先権は、２００４年５月１８日に出願された米国仮特許出願番号６０／５７２,０８１と、前記米国仮特許出願に対して２００５年４月１１日に米国で正規特許出願された件である。
【０００３】
従来には、参考として使われた２００３年１１月１８日に出願された米国仮特許出願番号６０／５３０．７７１が請求された。本願発明の明細書のうち一部分は、著作権保護と関連した内容を含んでいる文書である。著作権者は、特許庁特許文書や記録などに出ているように、特許出願者による複製物の転写に対する反対をしなかった。しかし、そうでなければ、あらゆる著作権はかかなるものでも保存される。
【０００４】
多くの電子機器、例えばホームネットワーク装置のようなものは一装置から他の装置にコンテンツを伝送するか、または表示するための基本であるＨＴＴＰやＨＴＭＬを使用するウェブブラウザの支援を含む。通知は、警告メッセージ、全般的な通信のための装置アップデートなど、多くの理由によってサービス装置からクライアント装置に伝送される。
【０００５】
一般的に、サービス装置の制御器としてクライアント装置内でウェブブラウザが使われる時、ウェブブラウザは、状態アップデートのために、サービス装置にあるウェブサーバーに要請を送る。それにより、ウェブサーバーは、ユーザーが見ることができるようにブラウザの出力フレームに出力される状態アップデート(通知)と共に要請に対して応答する。しかし、出力フレームがウェブサーバーからアップデート状態情報を表示するためには、ブラウザは周期的にウェブサーバーにアップデートを要請しなければならない。それぞれの要請に応じて、ウェブサーバーは、ウェブサーバーによりモニターされた機器中に何らの変化がなくても、ブラウザに出力情報をさらに伝送する。
【０００６】
動的な状態アップデートのために、ウェブブラウザは、周期的にウェブサーバーに特別なポーリング周期で状態アップデートを要請する。あらゆる状態変化は、アップデート要請がウェブサーバーに伝送され、サーバーから応答を受信するときのみウェブブラウザの出力フレームに表示される。これは、従来の方法が、ウェブサーバーの状態変化がある時にブラウザがウェブサーバーから状態アップデート情報を自動的に受信できないポーリング方式であるためである。
【０００７】
したがって、低いオーバーヘッドを有するクライアント基盤のブラウザ制御器にリアルタイム状態アップデートを事実上提供する方法及びシステムが必要である。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は、モニタリング機能を達成するための最小限のトラフィック負荷が要請される間に、標準ブラウザクライアントは、リアルタイムでサービス装置の状態をモニターして表示するのに使用できるようにネットワーク化された装置における通知をプッシングする方法及びシステムを提供する。
【課題を解決するための手段】
【０００９】
前記技術的課題を解決するための本発明の通知プッシング方法は、ネットワークの装置に通知をプッシングする方法において、(ａ)前記装置のうち一つと接続を設定する段階と、(ｂ)前記装置からデータ要請を受信する段階と、(ｃ)前記要請に応じて、前記装置をしてそれ以上の情報を要請させるために、通知要請を含む応答を伝送する段階とを含むことを特徴とする。
【００１０】
また、前記技術的課題を解決するための本発明の通知プッシング方法は、ネットワークの装置に通知をプッシングする方法において、(ａ)前記装置のうち一つと接続を設定する段階と、(ｂ)前記装置からデータに対する要請を発送する段階と、(ｃ)前記装置から、前記装置からそれ以上の情報を要請するための通知要請を含む応答を受信する段階とを含むことを特徴とする。
【００１１】
また、前記技術的課題を解決するための本発明の通知プッシング方法は、クライアント装置及びサーバー装置を備えるネットワーク装置に通知をプッシングする方法において、(ａ)前記クライアント装置と前記サーバー装置との接続を設定する段階と、(ｂ)前記クライアント装置は、前記サーバー装置にデータ要請を伝送する段階と、(ｃ)前記サーバー装置は、前記要請に応答して前記クライアント装置をして前記サーバー装置からそれ以上の情報を要請させる通知要請を含む応答を前記クライアント装置に伝送する段階とを含むことを特徴とする。
【００１２】
前記技術的課題を解決するための本発明の通知プッシングシステムは、相互連結が設定されているクライアント装置とサーバー装置とから構成されるが、前記クライアント装置は、前記サーバー装置にデータに対する要請を伝送し、前記要請を受信すれば、前記サーバー装置は、前記クライアント装置に応答を伝送するが、前記応答は、前記クライアント装置をして前記サーバー装置にそれ以上の情報を要請させる通知要請を含むことを特徴とする。
【発明の効果】
【００１３】
本発明は、ネットワーク化された装置に通知をプッシングする方法及びシステムに係り、モニタリング機能を達成するための最小限のトラフィック負荷が要請される間に、標準ブラウザクライアントは、リアルタイムでサービス装置の状態をモニタして表示するのに使われうる。
【００１４】
本発明は、ネットワーク化された装置に通知をプッシングすることに関連して、特に、インターネット技術を利用したホームネットワーク装置に通知をプッシングすることに関連して適用可能である。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の望ましい一実施形態を図面を参照して、詳細に説明する。
【００１６】
図１は、本発明の望ましい一実施形態によるプッシュ方法通知を適用するネットワークの機能を示す。図１を参照するに、プッシュ通知方法を具現するホームネットワークのようなネットワークの機能的構造の例を示す。
ネットワーク１０は、クライアント装置２０、サーバー(サービス)装置３０、及びこのネットワーク１０をインターネット５０と連結させるオプション事項としてのインターフェース４０を備える。たとえクライアントとサーバー装置とが分離されて見えるが、一つの物理的装置は、一つまたはそれ以上のクライアント装置及び一つまたはそれ以上のサーバー装置を備えうる。クライアント２０及びサーバー装置３０は、それぞれ、それらの間の通信及びプロトコルのためのＨＴＴＰプロトコルを構築する。
【００１７】
ここに記述する例では、ＨＴＴＰプロトコルがネットワーク１０で使われているが、当業者ならば、本発明がクライアント−サーバーネットワーキングを活用する他のネットワーク通信プロトコルとも有用であるということが分かるであろう。
【００１８】
本発明は、相対的に非常に多くの時間が使われ、かつ同時的でない応答が使われる一方向、非同期的メッセージを使用するプロトコルまで含む他の通信プロトコルとも有用である。(クライアントサーバープロトコルがここで使われた一実施形態でこのような性質を有する)。最後の性質は、クライアントがサーバーにいつでも何かを要請できる。しかし、サーバーは、ただクライアントの質問に応答するだけである。
【００１９】
例えば、クライアント装置２０は、ウェブブラウザ２５を含み、サーバー装置３０は、ウェブサーバー３５を含みうる。クライアント２０及びサーバー装置３０は、それぞれＴＣＰ／ＩＰネットワークプロトコルを通じて通信する(プロトコルに対してＨＴＴＰは使われ、ＨＴＴＰ  ＲＦＣは、プロトコルを基礎として命令しない。基礎的なプロトコルは、ＴＣＰ／ＩＰ、ＵＤＰ／ＩＰであるが、ＨＴＴＰはそれ自体でそれに限定されない)。典型的なクライアント装置２０として、ＴＶ、ＤＶＤ、コンピュータなどがあり得る。また、典型的なサーバー装置３０にＴＶ、ＤＶＤ、コンピュータなどがあり得る。
【００２０】
ネットワーク１０は、ウェブサーバー３５からウェブブラウザ２５までメカニズムの状態と制御に対するアップデートをプッシングするためのプッシュ方法及びシステムを具現する。
【００２１】
ここで、プッシュ方法は、サービス装置が直ちに状態と通知のメッセージを、ＨＴＴＰが提供する方法と別個であり、かつあらゆるＭＩＭＥ方式のための方法で、クライアント装置に伝送する。
【００２２】
図２は、本発明の望ましい一実施形態によるサービス装置ウェブサーバーからクライアント装置ウェブサーバーに通知をプッシングするシステムを示す。図２を参照するに、ネットワーク１０内のコネクション９０を通じてウェブブラウザ２５を含むクライアント装置２０及びウェブサーバー３５を含むサーバー装置３０間のプッシュ通知を使用するシステム８０の一例を示す。
【００２３】
ウェブブラウザ２５がウェブサーバー３５から初めて情報を要請する時、ウェブサーバー３５は、要請された情報をウェブブラウザ２５に伝達する。このような過程で、もしウェブサーバー３５がウェブブラウザ２５に通知を伝送しようとすれば、ウェブサーバー３５は、またウェブブラウザ２５にアップデート要請を送る(段階１０２)。
【００２４】
前記アップデート要請は、ウェブサーバー３５から追加情報を要請するためにウェブブラウザ２５に時間を合せる作業を設定できるようにする。このような過程は繰り返されうる。このようにウェブサーバー３５からの情報に対する初期ブラウザ情報要請から、ウェブサーバー３５は、経時的に一連のアップデート要請を動的にする要請を伝達する。
【００２５】
図３は、図２のクライアント装置とサーバー装置との間の通知をプッシングする方法についてのフローチャートの一例である。図３を参照するに、図２のサーバー装置３０とクライアント装置２０との間におけるアップデート／通知方法を示す。
【００２６】
ウェブブラウザ２５は、初期にウェブブラウザ２５上の状態フレームに表示されるために、ウェブサーバー３５から情報を要請する。そして、ウェブサーバー３５は、ウェブブラウザ２５上に要請された情報を伝達する(段階１０１)。
【００２７】
このような過程で、もしウェブサーバー３５がウェブブラウザ２５に通知を伝送することを望めば、ウェブサーバー３５は、またウェブサーバー３５の状態フレームに対するアップデートをさらに要請するためにウェブブラウザ２５にもアップデート要請を伝送する(段階１０２)。
【００２８】
アップデート要請は、ウェブサーバー３５が反復的に状態フレームをアップデートするようにする。ＨＴＴＰに対するプッシュ方法の一例として、ウェブブラウザ２５は、状態フレームに伝達された情報を付与する。そして、サブフレームは、状態フレーム内で使われる。ここで、サブフレームは、ウェブブラウザ２５内のウェブサーバー３５により初期に付着された状態フレーム内に添加されたボーダーなしに(図示せず)一つのピクセルから構成される(段階１０３)。
【００２９】
このサブフレームは、状態フレームをアップデートするためにウェブサーバー３５に対するアップデート要請(例えば、ジャバスクリプト)を含む(段階１０４)。ここで、ウェブサーバー３５は、状態フレームを意図的に固定された時間(例えば、１１０秒)の間いっぱいにせずに残す。ウェブブラウザ２５は、特定の時間制限以後(例えば、１２０秒)にＨＴＴＰ要請がタイムアウトされるように設定する。
【００３０】
もし、ウェブサーバー３５が固定された時間の間、ユーザーに表示する状態変化メッセージや通知がなければ、固定された時間の終わりに(すなわち、タイムアウト時間の満了前)ウェブサーバー３５は、サブフレームに同じアップデート要請をリターンする(段階１０５)。
【００３１】
もし、固定された時間の間に状態変化が起きると、その時は、ウェブサーバー３５が状態フレーム(サブフレームの上位フレーム)にアップデートされた状態を送る。そして、同時に新たなアップデート要請をサブフレームにリロードする。望ましくは、ウェブサーバー３５は、ウェブサーバー３５がある変化が起きると共に、状態フレームにアップデートされた状態を送る。このような例は、上位フレームの特性とジャバスクリプト１、２の位置方法とを利用する。ウェブサーバー３５は、他の希望した条件やウェブサーバー３５がモニターした作業の終了などに関するアップデート要請に対しては、ウェブブラウザ２５に送ることを終了する。
【００３２】
サブフレームアップデートがウェブブラウザ２５から２次的操作として要請された時、ウェブサーバー３５は、サブフレームを認知し、ウェブサーバー３５がモニターしている状態で何の変化も起きなかったとすれば、サブフレームをアップデートしないように決定する。ウェブサーバー３５は、ＨＴＴＰアップデート命令が満了(要請)する前まで待機する。
【００３３】
そして、ウェブサーバー３５が状態フレームを新たにするサブフレームの他のアップデート要請に応答する。結果的に、アップデートに対する要請は、絶えずにウェブブラウザ２５内のサブフレームからウェブサーバー３５に送られる。
【００３４】
また、ウェブサーバー３５によってモニターされた状態が変わる度に、状態フレームがウェブサーバー３５によってモニターされるか、または維持される所の現在状態を示すために、ウェブサーバー３５は、状態フレームにアップデートを送る。したがって、ウェブサーバー３５は、結果的にウェブブラウザ２５にリアルタイムのアップデートを提供する。このようなリアルタイム応答は、特定のＭＩＭＥタイプやＨＴＴＰの追加的な特性を設置する必要なしに、直ちに非常に低い比率のポーリングメカニズムとして獲得される。例えば、インターネットは、プッシュＭＩＭＥタイプを提供せず、本発明はプッシュＭＩＭＥタイプを必要としない。
【００３５】
このように、標準ブラウザクライアントは、モニタリング機能を行うための最小限のトラフィックオーバーヘッドを必要とする一方、リアルタイム方法でサービス装置の現状態をモニターし、表示する。このような例は、モニタリングに焦点が合わされているが、これは、それが意図された目的であるためである。多くの他の動作にも適用可能であるが、ここでの説明は、ホームネットワークにおける消費者電力装置に対するネットワーク命令及び制御のリアルタイムモニタリングの観点に焦点を合わせる。
【００３６】
しかし、技術的に熟練された者ならば、本発明が他の種類のネットワーク及びネットワークプロトコルにもやはり有用であるという点を認知できるであろう。
【００３７】
以下に記述された一つの適用例では、ウェブサーバー３５がウェブブラウザ２５をアップデートする時や時間が超過した時、または他の変化が起きる前まで状態変化に対するポールを維持する。
【００３８】
一例において、これは１２秒当たりのＩ／Ｏと１２０秒当たりのＩ／Ｏとの間の超過があるが、約１秒に満たない反応時間を有するようにする。このようなタイムアウトは、ＴＣＰ／ＩＰのチューニングパラメータ(約１２０ないし３００秒)とほぼ同じ大きさの範囲で合わせられるＨＴＴＰ要請に対するユーザーインターフェースタイムアウト範囲以内である。
【００３９】
ＡｐａｃｈｅウェブサーバーでＭｏｄ−Ｐｅｒｌの共通ゲートウェイインターフェース(ＣＧＩ：Ｃｏｍｍｏｎ  Ｇａｔｅｗａｙ  Ｉｎｔｅｒｆａｃｅ)プログラムが運営した以下の例示プログラムリスティングが提供される。ＣＧＩは、ウェブサーバーが無数の方法でウェブサーバーの機能を拡張できるようにする標準化されたアプリケーションプログラミングインターフェースを提供する。
【００４０】
一例として、ＣＧＩは、あるビデオコンテンツがＴＶ上に反映されているかを制御するか、またはウェブサイトから物を購買するなどの結果を誘発できるクライアント−サーバー相互作用の付随効果の創出にも使われる。
【００４１】
ＣＧＩの最初のアプリケーションは、ユーザーの相互作用の結果であるウェブブラウザ上の動的なＨＴＭＬ出力を作り出すようになった。しかし、それは、制御目的のためのウェブサーバーのＳａｌｅｓと情報データベース及びディバイス状態機械の標準インターフェースである。
【００４２】
以下のプログラミングリスティングは、Ｐｅｒｌプログラミング言語であり、フレームアップデートプログラム('ｆｒｕｐｄ．ｐｌ')に属する。Ｍｏｄ−Ｐｅｒｌは、ＣＧＩを行うために、Ｐｅｒｌプログラムを運営するための目的のＡｐａｃｈｅウェブサーバーにあるＰｅｒｌ翻訳機である。ＣＧＩ機能は、Ａｐａｃｈｅウェブサーバーが単にウェブブラウザにウェブページを提供することを除外するＡｐａｃｈｅウェブサーバーのためのフックである。例えば、ＣＧＩプログラムは、ウェブブラウザに入っていくユーザーデータを分析することができる。そして、中央データベースのサーバーサイドにユーザーデータを保存する。
【００４３】
また、ＣＧＩプログラムは、本発明の一実施形態によってウェブブラウザ２５(図２)を含むクライアント装置２０がＴＶ(ウェブサーバー３５を含んだサービス装置３０)のような消費者電力機器を制御するようにするために、クライアント−サーバー過程で用いられる。Ａｐａｃｈｅウェブサーバーは、ウェブサーバー３５であり、ＴＶ状態のモニタリングのためにＴＶ内にある。
【００４４】
クライアント装置２０は、ＴＶスクリーンに出力物を作るネットワーク制御器を構成でき、居間の同ＴＶ内にもあるウェブブラウザ２５を通じてユーザーが選択した命令を受ける(このようなクライアントとサーバーは、同じ物理的装置であって論理的ユニットになりうる)。その他に、ウェブサーバー３５は、寝室にあるホームネットワークを通じて他のＴＶ内にあるか、またはＷｉＦｉを通じて寝室のＴＶに連結されたウェブパッド内にある場合もある。他の例も可能である。かかる例で、このようなブラウザに主要な要求事項は、ＸＨＴＭＬ１．０とジャバスクリプト１．３とから構成されている。
【００４５】
ＣＧＩの課題は、ＴＶの状態を多様にする動的なウェブページ(状態フレーム)を提供する。このような例で、ウェブサーバー３５は、ＴＶのオン／オフを指摘する状態指摘器をウェブブラウザ２５にさらに提供する。このようなフレームアップデート(Ｆｒｕｐｄ)プログラムは、ただ三つの可能結果をもたらす。
【００４６】
１．例えば、１秒後にＣＧＩプログラムの他の運営を要請するためにジャバスクリプトプログラムと共にブラウザサーバーフレーム(例えば、ｓｍａｌｌ  ｒｅｑｕｅｓｔｏｒ  ｆｒａｍｅ)をロード。
【００４７】
２．ｈｔｍｌファイルをもって一番目の兄弟フレーム(親フレーム[０]により認知された)をロード：ｔｖｏｎ．ｈｔｍｌ、ｐｌｕｓ  １。
【００４８】
３．ｈｔｍｌファイルをもって一番目の兄弟フレームをロード：ｔｖｏｎ．ｈｔｍｌ、ｐｌｕｓ  １。
【００４９】
結果＃１は、総１０秒間ＴＶで状態変化がない時に発生する。すなわち、ファイル‘ｃｈａｎｇｅｄｏｎｅ'は、約１０秒の待機時間の間に削除(非連結)されない。
【００５０】
結果＃２は、ＣＧＩタスクがファイル‘ｃｈａｎｇｅｄｏｎｅ'は存在せず、現在インデックス値が奇数ということを認識する時に発生する。
【００５１】
結果＃３は、ＣＧＩタスクがファイル‘ｃｈａｎｇｅｄｏｎｅ'は存在せず、現在インデックス値が偶数ということを認識する時に発生する。
【００５２】
‘ｆｒｕｐｄ．ｐｌ'プログラムを表せば、次の通りである。
【００５３】
#!c:/usr/bin/perl-w
#  file:frupd.pl.
#  This  CGI  task  checks  for  changes  in  the  local  server  state  machine.  。<==ＣＧＩタスクは、ローカルサーバー状態機械内での変化をチェックする。
【００５４】
#  If  the  file  "changedone"  does  not  exist  then  a  change  of  state  has  occurred.<==ファイル‘ｃｈａｎｇｅｄｏｎｅ’が存在しなければ、状態変化が発生する。
【００５５】
#  For  this  particular  implementation  a  change  means  that  the  TV  goes  from  a  power-on  state  to  a
#  power-off  state,  and  vice-versa  in  sequence.  <==特別な具現例における変化は、ＴＶがパワーオン状態からパワーオフ状態に変化することを意味する。また、その逆の場合も成立する。
【００５６】
#  This  CGI  is  requested  from  a  very  small  frame.  <==ＣＧＩは、非常に小さなフレームから要請される。
【００５７】
#  Initially,  if  no  change  is  indicated  then  it  loops  checking  for  change  each  second  for  10  seconds.<==初期に、変化がないと現れた場合、それは１０秒間それぞれの秒当たり変化に対するチェックを繰り返す。
【００５８】
#  If  still  no  change  then  it  causes  the  frame  to  reload  its  Javascript  to  run  this  CGI  again  after  1  second.<==まだ変化がない場合、それは、１秒後にさらにＣＧＩを動作して、フレームのジャバスクリプトを再ロードさせる。
【００５９】
#
use  CGI;
$p="/var/www/perl/";
$query=new  CGI;
print  $query->header;
$changedone="/home/jack/changedone";
$c=0;
open(IN,$p."current_index.fil");
$a=<IN>;
chomp($a);
close(IN);
while((-e  $changedone)&&($c<10)){
$c=$c+1;
system("sleep  1s");
};
#If  no  change  has  occurred  then  changedone  exists.<==変化がないことが発生した場合、その時にｃｈａｎｇｅｄｏｎｅが存在する。
【００６０】
print"<html><head><title>Frame  change  checker  Javascript.</title></head>＼n";
print"<body><script>＼n";
if(!(-e  $changedone)){
if(($a  %  2)==1){
$u="http://105.144.43.120/tvon.html";
}else{
$u="http://105.144.43.120/tvoff.html";};
open(OUT,">/home/jack/changedone")||die("cannot  open  /home/jack/changedone");
print  OUT  $a."＼n";
close(OUT)||die("cannot  close  changedone");
print"parent.frames[0].location.href=＼"".  $u  .  "＼";＼n"  ;
};
print"setTimeout('location.href=＼"http://105.144.43.120/perl/frupd.pl＼";',1000);＼n";
print"</script></body></html>＼n";
以下は、Ｐｅｒｌでコード化された‘ｃｈａｎｇｅ．ｐｌ'プログラムファイルである。‘ｃｈａｎｇｅ．ｐｌ'プログラムは、ディバイス状態機械が変化された状態を有することを示す。例において、装置はＴＶであり、状態の変化はパワートグルであるとした場合、状態地位通知器は、‘ｔｖｏｎ'及び‘ｔｖｏｆｆ'と名付けられる。プログラムで変数＄ａとエンコードされたＴＶの絶対的な状態は増加し、‘ｃｕｒｒｅｎｔ_ｉｎｄｅｘ．ｆｉｌ'と呼ばれるファイル内に保存される。プログラムの動作は、ＴＶの前側パネルを押すか、またはリモコンパワートグルボタンを押すことと同一である。実際的な状態の変化は、ファイル‘ｃｈａｎｇｅｄｏｎｅ’の削除によって信号される。ＣＧＩタスクは、ＴＶ状態の変化が発生した時に読まれるファイルがない場合に使われる。
【００６１】
#!/usr/bin/perl-w
#  filename:  change.pl  created  Nov  19,  2003  by  JW  Chaney.<==２００３年１１月１９日、ＪＷ  Ｃｈａｎｅｙによってｃｈａｎｇｅ．ｐｌが生成された。
【００６２】
#  opens  "current_index.fil"  in  the  /var/www/perl  directory  and  reads  the  first  line.
#  The  first  line  of  text  is  a  number.  That  number  is  incremented.<==テキストの第一ラインは番号化されており、前記番号は増加する。
【００６３】
#  The  "“current_index.fil"  is  deleted.  The  file  "temporary"  is  created  with  the  new  incremented  number.<==‘ｃｕｒｒｅｎｔ_ｉｎｄｅｘ．ｆｉｌ'ファイルは削除され、'ｔｅｍｐｏｒａｒｙ'ファイルが新たに増加した番号をもって生成される。
【００６４】
#  The  file  "temporary"is  renamed  to"current_index.fil".<==‘ｔｅｍｐｏｒａｒｙ'ファイルは、‘ｃｕｒｒｅｎｔ_ｉｎｄｅｘ．ｆｉｌ'ファイルに名称が変更される。
【００６５】
open(IN,  "current_index.fil");
$a=<IN>;
chomp($a);
$b=$a+1;
close(IN);
unlink("current_index.fil");
open(OUT,">temporary");
print(OUT  $b  ."＼n");
close(OUT);
rename("temporary","current_index.fil");
system("chmod  0777  current_index.fil");
if(-e  "/home/jack/changedone"){
unlink("/home/jack/changedone");};
以下のプログラムファイル‘ｔｗｏｆｆ．ｈｔｍｌ'は、ブラウザ２５がＴＶ装置の制御をモニターし始めるためにＨＴＴＰ  ＧＥＴコマンドを使用するファイルである。
【００６６】
<?xml  version="1.0"  encoding="ISO-8859-1"?>
<!DOCTYPE  html  PUBLIC  "-//W3C//DTD  XHTML  1.0  Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html  xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Using  vertical  frames</title>
</head>
<frameset  cols="99%,  1%">
<frame  name="left"  src="http://105.144.43.120/tvoff.html"/>
<frame  name="right"  src="http://105.144.43.120/perl/frupd.pl"/>
</frameset>
</html>
以下の下プログラムファイル‘ｔｖｏｆｆ．ｈｔｍｌ'は、ブラックスクリーンを有する、すなわち、ターンオフされたＴＶの２００ｗ  ｘ  １３０ｈグラフィックを示す。
【００６７】
<html>
<head>
<title>TV  power  off  </title></head>
<body>
<img  src="tvpoweroff.GIF"  align="left">
</body>
</html>
以下のプログラムファイル‘ｔｖｏｎ．ｈｔｍｌ’は、サービスロゴ及び再生プログラムタイトル(すなわち、ＴＶの状態が人が見ているかもしれない状態)を有するＴＶの２００ｗｘ１３０ｈグラフィックを示す。
【００６８】
<html>
<head>
<title>TV  power  on  </title></head>
<body>
<img  src="tvpoweron.GIF"  align="left">
</body>
</html>
前記の例示プログラムセグメント／ファイルは、Ａｐａｃｈｅウェブサーバーを運営し、Ｐｅｒｌタスクが変わるリナックスＰＣ運営体系でもシミュレーションでもって行なわれうる。ここで、リナックスＰＣは、モニターされたＴＶをシミュレートし、変化タスクは、パワートグルボタンを示す。リナックスＰＣは、モニターされた結果を示すクライアントとしてのインターネットエクスプローラによって運営されるウィンドウズ（登録商標）運営体制に連結された。かかる例の運営結果、変化のない期間に１２秒ごとに１度にサーバーにクライアントブラウザからアップデート要請の交換がある。また、パワートグルボタンが押された時、アップデートされた状態を示す反応時間は１秒以下であった。
【００６９】
また、前記の例示プログラムは、フレームアップデート技術の説明の目的として提供され、いろいろな簡略化が理解の便利性のために使われた。このような簡略化は、値が内部プロセスを共有したメモリを使用する代わりに循環されるディスクファイルに保存された時に見られる。
【００７０】
さらに、ディスクの削除及び再命名される動作の特定作動は、制御は同じであるということを確信させるために接近を制御する適切な信号装置の使用の代りに使われた。また、当業者は、例示プログラムで使われたディスクファイルを実験し、除去、読み、書きをしなくてもプログラムを多方面の制御器クライアントに拡張させることができる。代わりに、信号装置及び共有された全世界的なメモリの使用が多方面のクライアント制御器を容易に支援することを可能にする。このような後者の方法は、通常消費者電子機器の添加されたシステムに適用され、それらの使用は、ここでさらに議論される必要がない。
【００７１】
本発明は、またコンピュータで読み取り可能な記録媒体にコンピュータが読み取り可能なコードとして具現することが可能である。コンピュータが読み取り可能な記録媒体には、コンピュータシステムによって読み取られ得るデータが保存されるあらゆる種類の記録装置が含まれる。コンピュータが読み取り可能な記録媒体の例としては、ＲＯＭ、ＲＡＭ、ＣＤ−ＲＯＭ、磁気テープ、フロッピー（登録商標）ディスク、光データ保存装置などがあり、またキャリアウェーブ（例えば、インターネットを通じた伝送）の形で具現されることも含む。また、コンピュータが読み取り可能な記録媒体は、ネットワークに連結されたコンピュータシステムに分散されて、分散方式でコンピュータが読み取り可能なコードとして保存されかつ実行されうる。
【００７２】
以上のように、図面と明細書とで最良の実施形態が開示された。ここで、特定の用語が使用されたが、これは、単に本発明を説明するための目的で使用されたものであり、意味限定や特許請求の範囲に記載された本発明の範囲を制限するために使用されたものではない。したがって、当業者ならば、これから多様な変形及び均等な他の実施例が可能であるということが理解できるであろう。したがって、本発明の真の技術的保護範囲は、特許請求の範囲の技術的思想により決まらなければならない。
【図面の簡単な説明】
【００７３】
【図１】本発明の望ましい一実施形態によるプッシュ方法通知を適用するネットワークの機能を示す図である。
【図２】本発明の望ましい一実施形態によるサービス装置のウェブサーバーからクライアント装置のウェブブラウザに通知をプッシングするシステムを示す図である。
【図３】図２のクライアント装置とサーバー装置との間の通知をプッシングする方法に対するフローチャートの一例である。
【図１】
2007516527.tif 000003
【図２】
2007516527.tif 000004
【図３】
2007516527.tif 000005
【国際調査報告】
2007516527.tif 000006