JP2003323310A - 分散アプリケーションのスケーリングおよび配信 - Google Patents
分散アプリケーションのスケーリングおよび配信Info
- Publication number
- JP2003323310A JP2003323310A JP2002361361A JP2002361361A JP2003323310A JP 2003323310 A JP2003323310 A JP 2003323310A JP 2002361361 A JP2002361361 A JP 2002361361A JP 2002361361 A JP2002361361 A JP 2002361361A JP 2003323310 A JP2003323310 A JP 2003323310A
- Authority
- JP
- Japan
- Prior art keywords
- node
- application
- user interface
- central server
- content
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L12/2807—Exchanging configuration information on appliance services in a home automation network
- H04L12/2812—Exchanging configuration information on appliance services in a home automation network describing content present in a home automation network, e.g. audio video content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L12/2838—Distribution of signals within a home automation network, e.g. involving splitting/multiplexing signals to/from different paths
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/4104—Peripherals receiving signals from specially adapted client devices
- H04N21/4122—Peripherals receiving signals from specially adapted client devices additional display device, e.g. video projector
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
- H04N21/43615—Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8166—Monomedia components thereof involving executable data, e.g. software
- H04N21/8173—End-user applications, e.g. Web browser, game
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L2012/2847—Home automation networks characterised by the type of home appliance used
- H04L2012/2849—Audio/video appliances
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- Automation & Control Theory (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
Abstract
数のノードにわたってアプリケーションを分散させるシ
ステムおよび方法を提供すること。 【解決手段】 ノードのオン又はブート時、ノード・ア
プリケーションがサーバに要求され、ノード上にロード
される。ノード・アプリケーションはノード上で動作し
て、他の機能アプリケーションを選択するユーザ・イン
ターフェースを提供し、選択されたアプリケーションを
ロード/アンロードし、アプリケーションのノード・リ
ソースを管理する。各アプリケーションはサーバ上で動
作するプロセス部分とノード上にロードされるユーザ・
インターフェース部分とを備えて開発される。ノード・
アプリケーションは、ノード・アプリケーションによっ
て提供される利用可能な規格を用いてアプリケーション
がユーザ・インターフェースを構築できるように、各ア
プリケーションのユーザ・インターフェース部分へのサ
ポートを提供する。
Description
分散したアプリケーションを管理するためのシステムお
よび方法に関する。より詳細には、本発明は、ネットワ
ーク内のクライアントまたはノードの機能をサポートす
るアプリケーションを送達し、ホスティングするための
システムおよび方法に関する。
スから、テレビジョン番組およびインターネットに関係
するデータなどのコンテンツを受信している。サテライ
ト・システム、ケーブル・テレビジョン・システム、お
よびインターネットなどのコンピュータ・ネットワーク
は、それを介してコンテンツを受信するシステムおよび
放送ソースの例である。異なるタイプのコンテンツが利
用可能になるにつれて、そのコンテンツにアクセスする
のに用いる装置(セットトップボックスおよびコンピュ
ータ)は、サテライト・テレビジョン番組、またはケー
ブル・テレビジョン番組をユーザが閲覧することを可能
にする同じセットトップボックスが、インターネットを
ユーザがブラウズすることを可能にするという意味で区
別できなくなりつつある。この同じセットトップボック
スが、しばしば、Eメール、インスタント・メッセージ
ング、およびデジタル・ビデオ録画などの他のアプリケ
ーションに対して用いられている。
つれて、多くの家庭では、複数のセットトップボックス
を有するようになりつつある。例えば、多くの家庭で
は、テレビジョン・セットごとにセットトップボックス
を有している。家庭で受信するコンテンツのすべてをよ
り良好に管理するために、コンテンツは、多くの場合、
家庭内の様々なセットトップボックス(中央サーバのノ
ードまたはクライアント)にコンテンツを送達する役割
を果たすゲートウェイまたは中央サーバ・コンピュータ
を介して家庭に入り込む。実質上、家庭は、ホーム・サ
ーバ・コンピュータを介して外部システムまたはコンテ
ンツ・ソースと接続する小規模ネットワークを有する。
したがってホーム・サーバ・コンピュータは、ホーム・
ネットワークの様々なノードまたはクライアントにコン
テンツを配布する役割を果たす。
ックスに至るホーム・ネットワーク全体にコンテンツを
配布する目的でアプリケーションを首尾よく開発(deve
lop)するには、いくつかの難点がある。多くの場合、
様々なセットトップボックスは、利用可能な規格を正確
に実装しておらず、または利用可能な規格を完全には実
装していない。例えば、特定の家庭では、あるテレビジ
ョンに対してサテライト・セットトップボックスを有
し、別のテレビジョンに対してウェブ・ブラウジング・
セットトップボックスを有することがある。リモート・
サーバからサテライト・システムを介して取り出された
コンテンツがサテライト・セットトップボックスにとっ
て利用可能である場合であっても、そのサテライト・セ
ットトップボックスがその情報またはコンテンツを表示
できないことがあり得る。加えて、多くのアプリケーシ
ョンは、特定のシステム・アーキテクチャおよび/また
は特定のオペレーティング・システムに依存する。不正
確に実装された規格と、システム・アーキテクチャおよ
びオペレーティング・システムに対する依存性は、多く
の場合に、性能の低下そして要求されたコンテンツの配
布の失敗に帰着する可能性がある非互換性の原因にな
る。
は、ホーム・ネットワークのクライアントまたはノード
よりも強力(powerful)である。より非力なノードを使
用してこの方式でホーム・ネットワークを作成すること
は、例えば、コストおよびコンピューティング・ロード
(計算負荷)の分散の問題に対処する。ノードまたはク
ライアントはそれほど高価ではないので、消費者のホー
ム・ネットワークのコストが軽減される。
ンピューティング・ロードの分散は、現在のネットワー
クでは固定されている。特定のノードまたはサーバのリ
ソースを動的に割り振ることができないことにより、性
能が低下し、ユーザ体験(user experience)が不十分
なものとなる可能性がある。リソースを動的に割り振る
ことができない問題は、多くのアプリケーションがノー
ド上で実行するように設計されており、サーバ上で実行
できないという事実によって複雑化する。多くの場合、
サーバ・コンピュータが家族の一員の誰かからのノード
であるかのように使用されるので、このことは重大な意
味を持っている。
ン・クライアント・アプローチ(Thin Client approac
h;処理が軽いパソコン手法)である。しかしシン・ク
ライアント・アプローチにより、様々な問題が生じる。
シン・クライアント・システムでは、例えばデータ・ト
ランスポートは、しばしばグラフィックス・デバイス・
インターフェース(GDI)を用いて実施される。GD
Iは、実際にオブジェクトをレンダリングするコマンド
を画面に送ることによってオブジェクトを効率的に描画
する。言い換えればGDIは、ノードと中央サーバとの
間の通信を、描画コマンドおよびビットマップのレベル
に抽象化する。
る。まず、ビットマップ型ディスプレイに基づくユーザ
との対話に適応するために将来のノードが必要となり、
そのノード上で動作するどんなコードも、他のコンテン
ツに対してビデオを適切に配置できないことになる。加
えて、GDIインターフェースは他のタイプのノードに
対して実用的ではない。例えば純粋なオーディオ・ノー
ドではGDIは必要でなく、このシナリオではオーディ
オ・ノードはふさわしくない。
散処理を活用する能力の優位性が利用されない。ノード
とサーバとの間の分散が固定であるとき、サーバでの処
理能力(processing power)の向上が効率的に利用され
ない。このことは、例えばプロセッサ速度が増加するに
つれて明らかとなる。さらに、システム中のノード数が
増加するにつれ、サーバのリソースは、増大する負担が
課せられるようになる。
(Thick Client approach;処理が重いパソコン手法)
もまた、様々な問題から不利な状況に置かれる。近年、
アプリケーションは、クライアント/サーバまたはウェ
ブ・ブラウザ/ウェブ・サーバ・アーキテクチャを念頭
に置いて開発されるようになっている。この方式でアプ
リケーションを開発することは、ソフトウェア開発者と
グラフィック・デザイナとの間で作業を容易に分割する
ことができるので効率的である。シック・クライアント
では、この実証された開発モデルが活用されない。特定
の製品のルック・アンド・フィールを変更することは難
しいので、各シック・クライアントにアプリケーション
をバインドすることは、開発中にパートナを変更または
追加する能力も、低下させる。
スケーラブルかつ分散可能なアプリケーションを開発
(develop)するためのシステムおよび方法が求められ
ている。
問題は、複数のノードに接続されるセントラル・サーバ
またはゲートウェイを含む、ネットワークまたは分散シ
ステムに実装される本発明により、克服される。アプリ
ケーションは、本発明に従ってサーバとノードにわたっ
て分散され、この分散アプリケーションによって、イン
ターネット・コンテンツおよびビデオ/オーディオ・コ
ンテンツが中央サーバを介して様々なノードに配布され
る。したがって、サーバは各ノードに接続され、各ノー
ドは、中央サーバを介して様々なシステムまたは放送ソ
ースからのコンテンツに対するアクセスを行う。このシ
ステムまたは同報通信源には、限定はしないが、サテラ
イト・システム、ケーブル・システム、インターネッ
ト、他のネットワーク、アンテナ・システムなど、ある
いはそれらの任意の組合せを含めることができる。
ーバを介して複数のクライアントまたはノードに配布す
るためのシステムおよび方法、ならびにスケーラブルか
つ分散可能なアプリケーションを開発し、オーサリング
することに向けられている。1つの例では、ネットワー
クの各ノードがセントラル・サーバからノード・アプリ
ケーションをロードする。このノード・アプリケーショ
ンは、様々なアプリケーションまたはノードの機能をユ
ーザが選択することができるユーザ・インターフェース
全体を提供する。このノード・アプリケーションは、こ
れらのアプリケーションをロード/アンロードし、ノー
ド上で動作するアプリケーションに対するサポートおよ
び互換性を実現し、ノードのリソースをアプリケーショ
ンに割り振る。ノード・アプリケーションは、限定はし
ないが、データ・ドリブン・アプリケーション、リモー
ト・プロシージャ・コール(remote procedure cal
l)、カスタム・ローデッド・コードなどを含む様々な
開発モデル(develop model)をサポートする。
リケーションは、ユーザ・インターフェース部分および
プロセス部分を有する。ユーザ・インターフェース部分
は、一般にノード上で動作または実行し、ノード・アプ
リケーションのサポートで、HTML、XML、CS
S、PNG、MNG、JPEG、MPEGなどのレンダ
リングを担当する。また、ユーザ・インターフェース部
分は、ノード・アプリケーションのサポートで、CO
M、DCOM、ECMAScriptなどの実行または
処理も担当する。ユーザ・インターフェース部分は概し
て、ネットワークを介してプロセス部分と通信する。プ
ロセス部分は概してサーバ上で動作し、サーバの処理能
力を利用してデータにアクセスし、データを処理する。
一方、ユーザ・インターフェース部分は、ノード上で動
作し、処理したコンテンツをユーザに提示する。ノード
上のユーザ・インターフェース部分とサーバ上のプロセ
ス部分とを備えたプログラムまたはアプリケーションを
開発することにより、サーバとノードの両方のリソース
を動的に割り振ることを可能とする。
は、適宜サーバおよび/またはノード上のユーザ・イン
ターフェース部分によって作成される1つまたは複数の
サービス部分に結合される。このサービス部分は、サー
バ上またはノード上のいずれかで作成することができ
る。サービス部分は、アプリケーションのユーザ・イン
ターフェース部分の要求を処理するようにも動作する。
明する。本発明の追加の特徴および利点の一部は、以下
の説明から明らかとなろう。あるいは、本発明の追加の
特徴および利点は、本発明を実施することによって理解
することができる。本発明の特徴および利点は、添付の
特許請求の範囲で具体的に指摘される諸計器およびそれ
らの組合せによって理解することができ、得ることがで
きる。本発明のこれらの特徴および他の特徴は、以下の
説明および添付の特許請求の範囲によってより完全に明
らかとなろう。または、本発明のこれらの特徴および他
の特徴は、以下で述べる本発明を実施することによって
理解することができる。
らびに他の利点および特徴を得ることができる方式を説
明するために、添付の図面に示す本発明の特定の実施形
態を参照しながら、上記で簡潔に述べた本発明をより具
体的に説明する。これらの図面は単に本発明の典型的な
実施形態を示すに過ぎず、したがって本発明の範囲を制
限するものとみなすべきではないことを理解して、本発
明を添付の図面を用いて、より具体的かつ詳細に説明す
る。
ためのネットワーク内で分散するアプリケーションの開
発(development)を対象とする。本発明の一態様は、
中央サーバと、ネットワークのノードとの間でアプリケ
ーションおよびコンテンツを配布するのに用いるノード
・アプリケーションである。ノードをブートまたはオン
したとき、ノード・アプリケーションは各ノード上にロ
ードされ、ユーザに対して初期ユーザ・インターフェー
スを表示する。すべての他のアプリケーションおよびユ
ーザ・インターフェースは、ノードでのユーザ・アクシ
ョンとサーバからの着信通知とに応答して立ち上がる。
ターフェース部分およびプロセス部分を有する。ユーザ
・インターフェース部分は、ノード・アプリケーション
によってノード上にロードされ、アプリケーション特有
のコンテンツをユーザに提示する。分散アプリケーショ
ンのプロセス部分は、概してサーバ上で実行され、サー
バのリソースを利用して、計算的により時間を要するタ
スクを実行することができる。あるいは、分散アプリケ
ーションは、サーバまたはノードのどちらかで実行する
ことができる1つまたは複数のサービス部分を生成し
て、ユーザ・インターフェース部分による要求を実行す
る。
ケーションのユーザ・インターフェース部分をサポート
する。ノード・アプリケーションは、限定はしないが、
HTML、XML、XHTML、CSS、PNG、MN
G、JPEG、MPEG、DOM、ECMAScrip
t、SOAP、HTTP、TCP/IP、DCOMなど
を含む複数の規格の実装を提供する。ノード・アプリケ
ーションはまた、分散アプリケーションとノードの間の
互換性も実現し、サーバとノードにわたってアプリケー
ションを動的に、合わせ込み、分散させることを可能に
し、かつノードとサーバの両方でアプリケーションがロ
ーカルに動作することを可能にする。ノード・アプリケ
ーションは、ノード上およびサーバ上でのアプリケーシ
ョンのロードおよび実行をサポートする。ノード・アプ
リケーションはまた、現在ノード上で動作しているアプ
リケーションにリソースを割り振る。
じるように、様々なコンピュータ・ハードウェアを含む
特殊目的コンピュータまたは汎用コンピュータを備える
ことができる。本発明の範囲内の実施形態はまた、コン
ピュータ実行可能命令またはデータ構造を搬送し、また
は格納するためのコンピュータ可読媒体も含む。このよ
うなコンピュータ可読媒体は、汎用コンピュータまたは
特殊目的コンピュータでアクセスすることができる入手
可能な媒体でよい。例えば、限定はしないが、そのよう
なコンピュータ可読媒体は、RAM、ROM、EEPR
OM、CD−ROMまたは他の光ディスク記憶媒体、磁
気ディスク記憶媒体または他の磁気記憶装置、あるいは
コンピュータ実行可能命令またはデータ構造の形の所望
のプログラム・コード手段を搬送または記憶するのに使
用することができ、かつ汎用コンピュータまたは特殊目
的コンピュータでアクセスすることができる他のどんな
媒体も備えることができる。情報がネットワークまたは
他の通信接続(ハードワイヤード、無線、あるいはハー
ドワイヤードまたは無線の組み合わせ)を介してコンピ
ュータに転送または供給されるとき、厳密には、コンピ
ュータはその接続をコンピュータ可読媒体として認識す
る。したがって、任意のそのような接続は、厳密にはコ
ンピュータ可読媒体と呼ばれる。上記の組み合わせもま
た、コンピュータ可読媒体の範囲内に含まれるべきであ
る。例えばコンピュータ実行可能命令は、ある機能また
は機能の集まりを汎用コンピュータ、特殊目的コンピュ
ータ、または特殊目的処理装置に実行させる命令および
データを含む。
ることができる適切なコンピューティング環境の簡潔で
一般的な説明を提供するものである。必須ではないが、
ネットワーク環境内のコンピュータによって実行される
プログラム・モジュールなどのコンピュータ実行可能命
令の一般的状況の下で本発明を説明する。一般に、プロ
グラム・モジュールは、特定のタスクを実行し、または
特定の抽象データ・タイプを実装するルーチン、プログ
ラム、オブジェクト、コンポーネント、データ構造など
を含んでいる。コンピュータ実行可能命令、関連するデ
ータ構造、およびプログラム・モジュールは、本明細書
で開示される方法のステップを実行するプログラム・コ
ード手段の例を表している。このような実行可能命令、
または関連するデータ構造の特定のシーケンスは、この
ようなステップで記述される機能を実装する行為に対応
する例を表している。
装置、マルチ・プロセッサ・システム、マイクロ・プロ
セッサ・ベースまたはプログラム可能な消費者向け電子
機器、ネットワークPC、ミニ・コンピュータ、メイン・
フレーム・コンピュータなどの多くのタイプのコンピュ
ータ・システム構成を有するネットワーク・コンピュー
ティング環境で本発明を実施できることを当業者は理解
されよう。本発明は、ローカル処理装置、ならびに通信
ネットワークを介して(ハードワイヤード・リンク、無
線リンク、あるいはハードワイヤードまたは無線リンク
の組み合わせによって)リンクされるリモート処理装置
によってタスクが実行される分散コンピューティング環
境でも実施することができる。分散コンピューティング
環境では、プログラム・モジュールは、ローカル・メモ
リ記憶装置とリモート・メモリ記憶装置のどちらにも配
置することができる。
の例示的システムは、従来型コンピュータ20の形態の
汎用コンピューティング装置を含む。従来型コンピュー
タ20は、プロセッシング・ユニット21と、システム
・メモリ22と、システム・メモリ22を含む様々なシ
ステム構成要素を処理装置21に結合するシステム・バ
ス23とを含む。システム・バス23は、メモリ・バス
またはメモリ・コントローラと、周辺バスと、様々なバ
ス・アーキテクチャのうちのいずれかを用いるローカル
バスとを含むいくつかのタイプのバス構造のいずれでも
よい。システム・メモリは、読み取り専用メモリ(RO
M)24およびランダム・アクセス・メモリ(RAM)
25を含む。始動中などにコンピュータ20内の要素間
で情報を転送する助けになる基本ルーチンを含む基本入
出力システム(BIOS)26をROM24内に格納す
ることができる。
ィスク39を読み書きするための磁気ハード・ディスク
・ドライブ27と、取り外し可能磁気ディスク29を読
み書きするための磁気ディスク・ドライブ28と、CD
−ROMまたは他の光媒体などの取り外し可能光ディス
ク31を読み書きするための光ディスク・ドライブ30
とを含むことができる。磁気ハード・ディスク・ドライ
ブ27、磁気ディスク・ドライブ28、および光ディス
ク・ドライブ30は、それぞれハード・ディスク・ドラ
イブ・インターフェース32、磁気ディスク・ドライブ
・インターフェース33、および光ドライブ・インター
フェース34によってシステム・バス23に接続され
る。ドライブと、それに関連するコンピュータ可読媒体
とにより、コンピュータ20に対して、コンピュータ実
行可能命令、データ構造、プログラム・モジュール、お
よび他のデータの不揮発性記憶が実現される。本明細書
で説明する例示的環境では、磁気ハード・ディスク3
9、取り外し可能磁気ディスク29、および取り外し可
能光ディスク31を使用しているが、データを格納する
ために、磁気カセット、フラッシュ・メモリ・カード、
デジタル・バーサタイル・ディスク、ベルヌーイ・カー
トリッジ、RAM、ROMなど、他のタイプのコンピュ
ータ可読媒体も使用することができる。
たは複数のアプリケーション・プログラム36、他のプ
ログラム・モジュール37、およびプログラム・データ
38を含む1つまたは複数のプログラム・モジュールを
有するプログラム・コード手段は、ハード・ディスク3
9、磁気ディスク29、光ディスク31、ROM 2
4、またはRAM 25上に格納することができる。ユ
ーザは、キーボード40、ポインティング・デバイス4
2、あるいはマイクロフォン、ジョイスティック、ゲー
ム・パッド、サテライト・ディッシュ、スキャナなどの
他の入力装置(図示せず)を介してコンピュータ20に
コマンドおよび情報を入力することができる。これらの
入力装置および他の入力装置はしばしば、システム・バ
ス23に結合されたシリアル・ポート・インターフェー
ス46を介して処理装置21に接続される。あるいは入
力装置は、パラレル・ポート、ゲーム・ポート、または
ユニバーサル・シリアル・バス(USB)などの他のイ
ンターフェースによって接続することもできる。モニタ
47または他のディスプレイ装置もまた、ビデオ・アダ
プタ48などのインターフェースを介してシステム・バ
ス23に接続される。モニタに加えて、パーソナル・コ
ンピュータは一般に、スピーカおよびプリンタなどの他
の周辺出力装置(図示せず)を含む。
ータ49aおよび49bなどの1つまたは複数のリモー
ト・コンピュータに対する論理接続を用いて、ネットワ
ーク環境で動作することができる。リモート・コンピュ
ータ49aおよび49bはそれぞれ、別のパーソナル・
コンピュータ、サーバ、ルータ、ネットワークPC、ピ
ア装置、または他の共通ネットワーク・ノードでよく、
一般にはコンピュータ20に関して上記で述べた要素の
うちの多くまたはすべてを含むが、図1にはメモリ記憶
装置50aおよび50bと、その関連するアプリケーシ
ョン・プログラム36aおよび36bだけを示してあ
る。図1に示す論理接続は、ローカルエリア・ネットワ
ーク(LAN)51およびワイドエリア・ネットワーク
(WAN)52を含む。これらは限定的なものではな
く、単に例として示したに過ぎない。このようなネット
ワーキング環境は、オフィス全体または企業全体のコン
ピュータ・ネットワーク、イントラネット、およびイン
ターネットで一般的なものである。
き、コンピュータ20は、ネットワーク・インターフェ
ースまたはアダプタ53を介してローカル・ネットワー
ク51に接続される。WANネットワーキング環境で使
用するとき、コンピュータ20は、モデム54、無線リ
ンク、あるいはインターネットなどのワイドエリア・ネ
ットワーク52を介して通信を確立するための他の手段
を含む。モデム54は内蔵でも外付けでもよく、シリア
ル・ポート・インターフェース46を介してシステム・
バス23に接続される。ネットワーク環境では、コンピ
ュータ20に関して示したプログラム・モジュールまた
はその一部は、リモート・メモリ記憶装置内に格納する
ことができる。ここで示したネットワーク接続は例示的
なものであって、ワイドエリア・ネットワーク52を介
して通信を確立する他の手段も使用できることを理解さ
れたい。
装する例示的環境を示すブロック図である。この例では
図2は、限定はしないが、サテライト・システム20
6、インターネット208、ケーブル・システム21
0、あるいはそれらの任意の組み合わせを含むことがで
きる様々なシステムおよびネットワークを介してコンテ
ンツへのアクセスを有するネットワーク200を示して
いる。サテライト・システム206、インターネット2
08、およびケーブル・システム210を介して送受信
されるコンテンツには、限定はしないが、Eメール、イ
ンスタント・メッセージ、オーディオ、ビデオ、番組ガ
イド・データ、テレビジョン同報通信データ、ストリー
ミング・ビデオ/オーディオ・データ、サテライトまた
はケーブル・テレビジョン・コンテンツ、イメージ・デ
ータ、テキストなど、あるいはそれらの任意の組み合わ
せが含まれる。
するゲートウェイとして機能する。サーバ201は、図
1に関連して述べた、この例におけるコンピュータであ
り、かつそれに加えて、サーバ201がインターネット
208に加えてサテライト・システム206および/ま
たはケーブル・システム210からのデータとインター
フェースし、受信することを可能にする構成要素も含
む。例えば、サーバ201は、サテライト信号およびケ
ーブル信号を特定のチャネルに同調することができるよ
うな1つまたは複数のチューナを含むことができる。サ
ーバ201はまた、同調したチャネルからビデオ・スト
リームを生成するのに必要な構成要素も含む。このビデ
オ・ストリームは、例えばテレビジョンまたはコンピュ
ータ・モニタなどのディスプレイ装置上にレンダリング
することができる。あるいは、これらのタイプの構成要
素をノードのうちの1つに含めることもできる。
202は、アプリケーションおよびコンテンツを格納す
るのに使用される。例えば記憶装置202は、サテライ
ト・システムおよび/またはケーブル・システムを介し
て同報通信される番組を記録するのに使用することがで
きる。記憶装置202はまた、適宜サテライト・システ
ムおよびケーブル・システムを介して同報通信される番
組に関する番組ガイド・データも格納する。記憶装置2
02は、インターネット、Eメール、インスタント・メ
ッセージなどを介してダウンロードしたコンテンツを格
納する。サーバ201はまた、限定はしないが、テレビ
ジョン・イベント録画スケジューリングおよび競合解
決、番組ガイド・データ管理、サテライト・データ・ダ
ウンロード・サービス、ネットワーク・アドレス変換
(NAT)サーバ、タイム・サーバ、動的ホスト構成プ
ロトコル(DHCP)サーバなどを含む、他の構成要素
および機能も提供する。あるいは、この機能の一部はノ
ードに常駐することもできる。
2、ノード218、およびノード224として表されて
いる1つまたは複数のクライアントも含む。各ノードは
通常、当技術分野で一般に周知の様々な接続を用いてサ
ーバ201に接続される。図2の例では、各ノードは少
なくとも1つの装置にも接続されるが、特定のノードを
装置に接続する必要はない。例えば、ノードは一体型コ
ンピュータ・モニタを有するコンピュータであってもよ
い。あるいは、ノードは特定の装置に関連付けられたセ
ットトップボックスであってもよい。
216に接続される。したがって、サーバ201はビデ
オ/オーディオ・コンテンツをノード212に配布する
ことができ、その結果、ビデオ/オーディオ・コンテン
ツはテレビジョン216上にレンダリングされる。ノー
ド218はスピーカ222に接続され、サーバ201
は、コンテンツ源のうちの1つからのオーディオをノー
ド218に配布することができ、ノード218は、オー
ディオをスピーカ222に送達する。本発明により、コ
ンテンツ・ソースを介して受信されるコンテンツのタイ
プに関連付けられる他の装置も企図される。したがって
装置228は、一般に各装置を表し、テレビジョン、コ
ンピュータ・モニタ、スピーカ、イメージ・コンテンツ
を表示することができる対話式フレーム、インターネッ
ト装置、または他のどんな装置であってもよい。装置2
28向けのコンテンツは、ノード224を介して送達ま
たは配布される。ある例では、サーバ201は、それが
あたかもノードであるかのように使用されることができ
るので、この例ではディスプレイ装置216がサーバ2
01に接続されている。
ケーションを実行することができ、かつ各ノードは、以
下で説明するノード・アプリケーションによってノード
上で実行中の様々なアプリケーションに動的に割り振ら
れるいくつかのリソースを有している。各ノードの例示
的リソースは、限定はしないが、プロセッサ、ネットワ
ーク、入力、サーバ・リソース、メモリ、スクリーン、
サウンド、およびイベントを含むことができる。各ノー
ドの例示的アプリケーションまたは機能は、限定はしな
いが、全般的なユーザ・インターフェース/機能−ナビ
ゲーション/プリファレンス、番組ガイド・データ、オ
ーディオ/ビデオ・プレーヤ、ビデオ録画、メディア・
ジュークボックス、ウェブ・ブラウジング、Eメール、
インスタント・メッセージングなどを含むことができ
る。
に関連して説明するノード・アプリケーションも有す
る。ノード・アプリケーション300は、特定のノード
上にロードされたとき、他のアプリケーションをロード
し、そのノード上で実行することを可能にする。ノード
・アプリケーション300はノードで全ユーザ・インタ
ーフェースを生成し、かつノード・アプリケーション3
00は、様々なアプリケーションにナビゲートし、ノー
ド上にアプリケーションをロードおよびノード上からア
プリケーションをアンロードし、ノード上で動作してい
るか、または動作することになる様々なアプリケーショ
ンに対してノード・リソースを管理し、割り振る能力を
ユーザに提供する。ノード・アプリケーション300
は、他のアプリケーションがサーバから動的にロードあ
るいはアンロードされる間、ノード上のあるアプリケー
ションに対するサポートを提供することができる。
ゼンテーション・エンジン302、実行エンジン30
8、互換層304、および動的リソース割り振りモジュ
ール306を含む。プレゼンテーション・エンジン30
2は、限定はしないが、HTML4、CSS1、PNG
1、他のW3C規格などを含む様々な規格の完全な実装
を提供する。プレゼンテーション・エンジン302は、
ユーザ・インターフェースを描画または生成するために
アプリケーションで使用される。実行エンジン308
は、限定はしないが、DCOM、COM、およびECM
AScriptを含む、ノード・アプリケーションによ
ってロードされるアプリケーションがコードを実行する
ことを可能にする他の規格の実装を提供する。互換層3
04は、ノード・アプリケーションが、異なるオペレー
ティング・システム上、およびプロセッサ・アーキテク
チャ上で動作することを可能とする。動的リソース割り
振り306は、特定のアプリケーションが、動的に合致
することを可能とし、実行時にノードとサーバにわたっ
てプロセッサ負荷を分散させることを可能とする。ノー
ド・アプリケーション300はまた、機能アプリケーシ
ョンのユーザ・インターフェース部分をロードおよびア
ンロードするのに使用され、かつアプリケーションのプ
ロセス部分またはアプリケーションに関連付けられたサ
ービス部分に対して要求を行うのに使用される、ローデ
ィング・モジュールなど、他のモジュールも含む。
スを有する必要はない。実際、本発明の1つの利点は、
各ノードのハードウェア要件を著しく軽減できることで
ある。例えば、ノードは、ハード・ドライブまたは他の
大容量記憶装置を有する必要がない。各ノードは最小限
のソフトウェアを有するだけでよく、各ノードはサーバ
201に依拠して、各アプリケーションの必要とする処
理を提供する。概して、各ノードは以下の機能を有し、
この機能は通常、読み取り専用メモリ(ROM)内に格
納される。その機能とは、ブート・クライアント、ネッ
トワーク・スタック、HTTPクライアントまたはTF
TPクライアント、および単純なユーザ・インターフェ
ース画面である。
ート・クライアントは、単純なユーザ・インターフェー
スをユーザに表示し、中央サーバからアドレスを取得す
る。次に、ノード・アプリケーションがサーバから取り
出される。中央サーバがノード・アプリケーションを求
める要求を受け取ったとき、中央サーバは、ノード・ア
プリケーションがその特定のノードで利用可能である場
合、ノードにノード・アプリケーションを供給する。あ
るいは中央サーバは、インターネットなどのネットワー
クを介して、またはダイアルアップ接続を用いることな
どによって、別のサーバに適切なノード・アプリケーシ
ョンを要求することもできる。
されると、そのノード・アプリケーションはノード上で
実行を開始し、予備(preliminary)ユーザ・インター
フェースを表示する。1つの例では、ノード・アプリケ
ーションは、中央サーバに現在の日付および時刻を要求
する。ノード・アプリケーションはまた、中央サーバか
らノード・プリファレンスを取り出す。ノードが新しい
ノードである場合、プリファレンス・プロファイルがそ
の新しいノードに対して作成される。例えば、ノード・
プリファレンスまたはプリファレンス・プロファイル
は、ノードのロケーション、ノードのタイプ、ノード・
シリアル番号、ノード機能(capabilities)などを含
む。次に、ノード・アプリケーションはサーバに初期ユ
ーザ・インターフェースを要求し、初期ユーザ・インタ
ーフェースが表示される。ユーザは、初期ユーザ・イン
ターフェースから、ノード・アプリケーションによって
ロードされて実行されるアプリケーションを選択するこ
とができる。
どの様にノードとサーバとの間で分散され得るかを示す
ブロック図である。図4Aは、アプリケーションが、ノ
ード上で動作するユーザ・インターフェース部分と、サ
ーバ上で動作するプロセス部分とを有する場合の例を示
している。図4Bは、アプリケーションが、ノード上で
動作するユーザ・インターフェース部分と、サーバ上ま
たはノード上のどちらかで動作している1つまたは複数
のサービス部分とを有する場合の例を示している。
ワーク内のアプリケーション分散の両方を示すブロック
図である。図4は、ノード408に接続されるサーバ4
00を示す。この例では、アプリケーション406はノ
ード408とサーバ400との間に動的に分散する。ア
プリケーション406は、サーバ400上のプロセス部
分404と、ノード408上のユーザ・インターフェー
ス部分410とを含む。ノード・アプリケーション41
2は、アプリケーション406をロード/アンロード
し、ノード408のリソースを、アプリケーション40
6のユーザ・インターフェース部分410に割り振る役
割を果たす。アプリケーション406はノード・アプリ
ケーション内で動作し、図4Aには単一のアプリケーシ
ョン406を示しているが、ノード・アプリケーション
412は複数のアプリケーションをサポートすることが
でき、それらのアプリケーション間でノード・リソース
を割り振ることになる。
述べたような様々な規格の実装を提供することによっ
て、アプリケーション406のユーザ・インターフェー
ス部分410に対するサポートを提供する。したがって
ノード・アプリケーション412は、限定はしないが、
HTML、XML、XHTML、CSS、PNG、MN
G、JPEG、MPEG、またはそれらの組み合わせな
どのデータ・ドリブン・アプリケーションに対するサポ
ートを提供する。ノード・アプリケーション412はま
た、限定はしないが、DOM、ECMAScriptな
ど、またはそれらの組み合わせを含むユーザ・インター
フェース部分410の処理的側面に対するサポートも提
供する。ノード・アプリケーション412を使用して、
ユーザ・インターフェース部分410は、アプリケーシ
ョン406用のユーザ・インターフェースを構築するこ
とができる。ユーザ・インターフェース部分410は、
ノード・アプリケーションを使用して、プレゼンテーシ
ョン関係の機能、ならびに処理関係の機能を実行する。
リモート・プロシージャ・コール(RPC)もサポート
する。分散されたコンポーネント・オブジェクト・モデ
ル(DCOM)およびシンプル・オブジェクト・アクセ
ス・プロトコル(SOAP)は、ユーザ・インターフェ
ース部分410がアプリケーション406のプロセス部
分404に対する関数コール(function call)または
プロシージャ・コール414を作成する、ことをノード
・アプリケーション412が許可する方法の例である。
ノード・アプリケーション412はまた、スクリプトま
たはコードのカプセル化に関する振る舞い(behavior
s)などのカスタム・ローデッド・コードも提供する。
20、421、および422で置き換えたことを除いて
図4Aと同様である。この例では、ユーザ・インターフ
ェース部分410は、適切なプロトコルを使用して、プ
ロシージャ・コールおよび関数コールを作成することが
できる。しかし、このプロシージャ・コールおよび関数
コールは、サービス部分420、421、および/また
は422に対して行われる。この例では、サービス部分
422は、サービス部分420および421がサーバ4
00上に常駐してそこで動作する間、ノード408上に
常駐してそこで動作する。1つの例では、サービス部分
は、例えば、データに関するタスクまたはプロシージャ
を実行することができるオブジェクトである。別の例で
は、サービス部分はDCOM(分散コンポーネント・オ
ブジェクト・モデル)オブジェクトであり、ノード・ア
プリケーションがDCOMをサポートするので、ユーザ
・インターフェース410はサービス部分に対するコー
ルを発行することができる。サービス部分は、ユーザ・
インターフェース部分で作成することができ、またはサ
ーバまたはノードの一部として既存であってもよい。
を用いる図4Aの状況で、以下の例を説明する。しかし
この例は、図4Bで説明したようなサービス部分を使用
して適合させることができる。ノードの一機能は、番組
コンテンツおよび番組ガイド・データをユーザに提供す
ることである。ガイド・データは、現在示されている番
組、ならびに将来示される番組の説明をユーザに提供す
る。ガイド・データには、限定はしないが、開始時刻お
よび終了時刻、番組の長さ、番組の表題、番組格付け
(program rating)などが含まれる。この例では、ガイ
ド・データ・アプリケーションは、ガイド・データをユ
ーザに提供または表示する役割を果たすことになる。
ションは、プロセス部分あるいは1つまたは複数のサー
ビス部分と、サーバとノードにわたって分散するユーザ
・インターフェース部分とを有する。ユーザがガイド・
データの閲覧を望むとき、ガイド・データ・アプリケー
ションのユーザ・インターフェース部分は、ガイド・デ
ータ・アプリケーションのプロセス部分に対してコール
を行うことになる。プロセス部分は、サーバ上にあるの
で、その要求を処理し、ガイド・データのデータベース
からデータを取り出す。プロセス部分はまた、必要に応
じてコンテンツの多重化、および他の処理も実行する。
ユーザ・インターフェース部分に戻されるデータは、ノ
ード・アプリケーションで提供されるサポートおよび規
格を用いて、ユーザ・インターフェース部分によって表
示される。
の観点に立って、ガイド・データ・アプリケーションの
プロセス部分およびユーザ・インターフェース部分の分
散を例示するため、ユーザがテレビジョン・アプリケー
ション内からテレビジョンを視聴していると想定する。
あるとき、リモート制御装置上のガイド・ボタンがユー
ザによって押下される。テレビジョン・アプリケーショ
ン中のイベント・ハンドラが、ガイド・データ・アプリ
ケーションを立ち上げる。ガイド・データ・アプリケー
ションのユーザ・インターフェース部分コンポーネント
には、限定はしないが、ユーザ・インターフェースのX
HTML表現(representation)、XHTML内の広告
用のプレースホルダエリア、ガイド・データ・グリッド
を保持するXHTML内のプレースホルダエリア、ガイ
ド・データXHTMLのプレゼンテーションおよびレイ
アウトを記述するCSS、およびユーザ対話を示すガイ
ド・データの動的生成を制御する振る舞い(behavior)
を含めることができる。
ド・アプリケーションが供給するCSSを用いるガイド
・データ・アプリケーションのユーザ・インターフェー
ス部分により、スタイリングされ、ユーザに対してレン
ダリングされる。要求がサーバに送られて広告が取り出
され、取り出された広告が、広告プレースホルダエリア
内にレンダリングされる。現在時刻が内部から取り出さ
れ、ノードが現在同調しているチャネルも取り出され
る。次いで、照会(query)がサーバに対して発行され
て、隣接するチャネルが取り出され、サーバに対してや
はり照会が発行されて、プログラム名、日付、時刻、お
よびチャネル幅が取り出される。プログラム名、日付、
時刻、およびチャネル幅は、グリッド内に表示するため
にフォーマットされる。データを求めるこれらの要求
は、アプリケーションのプロセス部分によって処理され
る。したがって、ガイド・データ・アプリケーションの
プロセス部分は、各照会または要求を実行し、グリッド
内に表示するためにガイド・データを処理およびフォー
マットする。次に、フォーマットされたガイド・データ
はノードに返され、グリッド・プレースホルダエリアに
レンダリングされる。ユーザがガイド・データをスクロ
ールするとき、ユーザがスクロールしているチャネルに
ついてのデータを取り出すために、追加の要求または照
会がサーバに対して行われる。このようにして、アプリ
ケーションはサーバとノードにわたって分散する。
にわたってアプリケーションを分散させることは、サー
バがノード・アプリケーションからの要求を受け取った
ときに開始する。サーバがノードの要求するノード・ア
プリケーションを有している場合、サーバはノード・ア
プリケーションを返し、ノードはノード・アプリケーシ
ョンをロードする。サーバがノードの要求するノード・
アプリケーションを有さない場合、サーバは、適切なノ
ード・アプリケーションを得るためにインターネットに
アクセスすることができる。
れたとき、サーバは、機能アプリケーションを求める要
求を受け取る。サーバは、機能アプリケーションのユー
ザ・インターフェース部分を提供することによってノー
ドに応答し、ノード・アプリケーションは、ユーザ・イ
ンターフェース部分をノード上にロードする。その間
に、機能アプリケーションのプロセス部分がサーバ上に
ロードされる。別法として、サービス部分をサーバまた
はノード上にロードすることもでき、あるいはサーバま
たはノード上に既存であってもよい。
分散は、通信がプロセス部分またはサービス部分と、ユ
ーザ・インターフェース部分の間で行われることを示
す。概して、ユーザ・インターフェース部分は、データ
または他のコンテンツを求める要求を行うことになる。
プロセス部分またはサービス部分はその要求を受け取
り、その要求を処理して結果を生成し、その結果がノー
ドに返され、ユーザ・インターフェース部分によって提
示および/または処理される。プロセス部分またはサー
ビス部分は、ユーザ・インターフェース部分の要求に応
答して、データベースへのアクセス、インターネットか
らのコンテンツの取り出し、データのフォーマット、フ
ァイルの保存、ファイルのオープン、ビデオ・ストリー
ムの記録、プリファレンスの設定などを行う。例えば、
アプリケーションのユーザ・インターフェース部分がガ
イド・データを要求する場合、要求を受け取るプロセス
部分またはサービス部分は、ガイド・データを格納する
データベースにアクセスし、ガイド・データを取り出
し、ガイド・データをフォーマットした後、その要求の
結果をユーザ・インターフェース部分に返す。
およびユーザ・インターフェース部分を提供し、または
アプリケーションのユーザ・インターフェース部分が使
用する1つまたは複数のサービス部分を提供することに
より、アプリケーション・ナビゲーション・アプリケー
ション、プリファレンス・アプリケーション、オーディ
オ/ビデオ・プレーヤ、デジタル・ビデオ・レコーダ、
メディア・ジュークボックス、ウェブ・ブラウジング・
アプリケーション、Eメール・アプリケーション、およ
びインスタント・メッセージング・アプリケーションな
どの他の機能アプリケーションを同様に実装することが
できる。
び/またはサーバで利用可能なリソースを利用するため
に、実行時に動的に分散させることができる。特定のア
プリケーションのより集中する局面(intensive aspect
s)、すなわち計算の集中する部分(computation inten
sive portions)はサーバ上に実装され、一方アプリケ
ーションのプレゼンテーション部分または他の処理局面
(processing aspects)は、ノード・アプリケーション
によってロードされるユーザ・インターフェース部分内
に実装することができる。サーバは、しばしばあたかも
ノードであるかのように使用されるので、アプリケーシ
ョンの開発が同一となるように、ノード・アプリケーシ
ョンのバージョンはサーバ上にも実装される。言い換え
れば、プログラマはサーバ用の特別なケースのアプリケ
ーションを開発する必要がなく、ユーザは、あたかもノ
ード上でアプリケーションを実行しているかのように、
サーバからアプリケーションを実行することができる。
ら逸脱することなく、他の特定の形態で実施することが
できる。記載の実施形態は、すべての態様において、限
定的なものではなく、単なる例とみなされるべきであ
る。したがって本発明の範囲は、上記の説明によってで
はなく、特許請求の範囲によって示される。特許請求の
範囲の均等の意味および範囲内にあるすべての変更は、
特許請求の範囲内に包含されるべきである。
テムを示す図である。
ンツをホーム・ネットワーク内の複数ノードに配布する
サーバを有する例示的ホーム・ネットワークを示す図で
ある。
structure)を示すブロック図である。
リケーションの開発および実装を示すブロック図であ
る。
またはサーバのどちらかにサービス部分を作成する、分
散アプリケーションの開発および実装の別の例を示すブ
ロック図である。
ス 33 磁気ディスク・ドライブ・インターフェース 34 光ドライブ・インターフェース 35 オペレーティング・システム 36 1つまたは複数のアプリケーション・プログラ
ム 36a、36b アプリケーション・プログラム 37 他のプログラム・モジュール 38 プログラムデータ 39 磁気ハード・ディスク 40 キーボード 42 ポインティング・デバイス 46 シリアル・ポート・インターフェース 47 モニタ 48 ビデオ・アダプタ 49a、49b リモート・コンピュータ 50a、50b メモリ記憶装置 51 ローカルエリア・ネットワーク 52 ワイドエリア・ネットワーク 53 ネットワーク・インターフェースまたはアダプ
タ 51 ローカル・ネットワーク 54 モデム 200 ネットワーク 201、400 サーバ 202 記憶装置 206 サテライト・システム 208 インターネット 210 ケーブル・システム 212、218、224、408 ノード 216 テレビジョン、ディスプレイ装置 222 スピーカ 228 装置 300、412 ノード・アプリケーション 302 プレゼンテーション・エンジン 304 互換層 306 動的リソース割振りモジュール 308 実行エンジン 404 プロセス部分 406 アプリケーション 410 ユーザ・インターフェース部分 414 関数コールまたはプロシージャ・コール 420、421、422 サービス部分
Claims (51)
- 【請求項1】 中央サーバに接続された1つまたは複数
のノードを含み、前記中央サーバは放送ソース(broadc
ast source)からオーディオ・コンテンツおよびビデオ
・コンテンツを含むコンテンツを受け取り、前記コンテ
ンツは機能アプリケーションによって前記1つまたは複
数のノードに送達されるシステムにおいて、ノードと前
記中央サーバにわたって機能アプリケーションを動的に
分散させる方法であって、 前記ノードでノード・アプリケーションをロードするス
テップと、 ユーザ・インターフェース部分およびプロセス部分を備
える前記機能アプリケーションを、前記ノードと前記中
央サーバにわたって分散させるために選択するステップ
と、 前記機能アプリケーションのユーザ・インターフェース
部分であって、前記中央サーバ上にロードされる前記機
能アプリケーションのプロセス部分と通信するユーザ・
インターフェース部分を、前記ノードで前記ノード・ア
プリケーションによりロードするステップと、 前記ユーザ・インターフェース部分により、前記プロセ
ス部分に対してデータを求める要求を行うステップと、 前記プロセス部分から、処理したデータを受け取るステ
ップと、 前記処理したデータを前記ノードで提示するステップと
を備えることを特徴とする方法。 - 【請求項2】 追加の機能アプリケーションの、追加の
ユーザ・インターフェース部分をロードし、前記ノード
上にロードされる前記機能アプリケーションの前記ユー
ザ・インターフェース部分の複数間で前記ノードのリソ
ースを割り振るノード・アプリケーションをさらに備え
ることを特徴とする請求項1に記載の方法。 - 【請求項3】 前記機能アプリケーションを選択するス
テップは、ユーザ入力を受け取るステップを備えること
を特徴とする請求項1に記載の方法。 - 【請求項4】 ノード・アプリケーションをロードする
ステップは、 前記ノードで予備(preliminary)ユーザ・インターフ
ェースを表示するステップと、 前記中央サーバに現在時刻および現在日付を要求するス
テップと、 前記ノードに対してユーザ独自のプリファレンスを要求
するステップと、 初期ユーザ・インターフェースを要求するステップと、 前記機能アプリケーションが前記初期ユーザ・インター
フェースから立ち上げられることになるステップであっ
て、前記ノードで前記初期ユーザ・インターフェースを
表示するステップとをさらに備えることを特徴とする請
求項1に記載の方法。 - 【請求項5】 前記ユーザ・インターフェース部分によ
り、前記プロセス部分に対してデータを求める要求を行
うステップは、プロトコルを使用してリモート・プロシ
ージャ・コールを行うステップをさらに備えることを特
徴とする請求項1に記載の方法。 - 【請求項6】 前記プロトコルは、COM、DCOM、
およびSOAPのうちの1つであることを特徴とする請
求項5に記載の方法。 - 【請求項7】 前記処理したデータを前記ノードで提示
するステップは、前記ノード・アプリケーションによっ
て与えられる規格(standards)を使用してユーザ・イ
ンターフェースを構築するステップをさらに備えること
を特徴とする請求項1に記載の方法。 - 【請求項8】 ユーザ・インターフェースを構築するス
テップは、 前記ユーザ・インターフェースのXHTML表現(repr
esentation)を作成するステップと、 前記XHTML内に1つまたは複数のプレースホルダエ
リアを生成するステップと、 前記ユーザ・インターフェースのプレゼンテーションお
よびレイアウトを記述するステップと、 振る舞い(behavior)を使用して動的コンテンツの作成
を制御するステップとをさらに備えることを特徴とする
請求項7に記載の方法。 - 【請求項9】 中央サーバに接続された1つまたは複数
のノードを含み、前記中央サーバは放送ソース(broadc
ast source)からオーディオ・コンテンツおよびビデオ
・コンテンツを含むコンテンツを受け取り、前記コンテ
ンツは機能アプリケーションによって前記1つまたは複
数のノードに送達されるシステムにおいて、ノードと前
記中央サーバにわたって機能アプリケーションを動的に
分散させる方法を実装するコンピュータ・プログラム製
品であって、 前記ノードでノード・アプリケーションをロードするス
テップと、 ユーザ・インターフェース部分およびプロセス部分を備
える前記機能アプリケーションを、前記ノードと前記中
央サーバにわたって分散させるために選択するステップ
と、 前記ノード・アプリケーションにより、前記ノードで前
記機能アプリケーションのユーザ・インターフェース部
分であって、前記中央サーバ上にロードされる前記機能
アプリケーションのプロセス部分と通信するユーザ・イ
ンターフェース部分を、前記ノードで前記ノード・アプ
リケーションによりロードするステップと、 前記ユーザ・インターフェース部分により、前記プロセ
ス部分に対してデータを求める要求を行うステップと、 前記プロセス部分から、処理したデータを受け取るステ
ップと、 前記処理したデータを前記ノードで提示するステップと
を備える方法を実行するコンピュータ実行可能命令を有
するコンピュータ可読媒体を備えることを特徴とするコ
ンピュータ・プログラム製品。 - 【請求項10】 追加の機能アプリケーションの、追加
のユーザ・インターフェース部分をロードし、 前記ノード上にロードされる前記機能アプリケーション
の前記ユーザ・インターフェース部分の複数間で前記ノ
ードのリソースを割り振るノード・アプリケーションを
さらに備えることを特徴とする請求項9に記載のコンピ
ュータ・プログラム製品。 - 【請求項11】 前記機能アプリケーションを選択する
ステップは、ユーザ入力を受け取るステップを備えるこ
とを特徴とする請求項9に記載のコンピュータ・プログ
ラム製品。 - 【請求項12】 ノード・アプリケーションをロードす
るステップは、 前記ノードで予備(preliminary)ユーザ・インターフ
ェースを表示するステップと、 前記中央サーバに現在時刻および現在日付を要求するス
テップと、 前記ノードに対してユーザ独自のプリファレンスを要求
するステップと、 初期ユーザ・インターフェースを要求するステップと、 前記機能アプリケーションが前記初期ユーザ・インター
フェースから立ち上がるステップであって、前記ノード
で前記初期ユーザ・インターフェースを表示するステッ
プとをさらに備えることを特徴とする請求項9に記載の
コンピュータ・プログラム製品。 - 【請求項13】 前記ユーザ・インターフェース部分に
より、前記プロセス部分に対してデータを求める要求を
行うステップは、プロトコルを使用してリモート・プロ
シージャ・コールを行うステップをさらに備えることを
特徴とする請求項9に記載のコンピュータ・プログラム
製品。 - 【請求項14】 前記プロトコルは、COM、DCO
M、およびSOAPのうちの1つであることを特徴とす
る請求項13に記載のコンピュータ・プログラム製品。 - 【請求項15】 前記処理したデータを前記ノードで提
示するステップは、前記ノード・アプリケーションによ
って与えられる規格を使用してユーザ・インターフェー
スを構築するステップをさらに備えることを特徴とする
請求項9に記載のコンピュータ・プログラム製品。 - 【請求項16】 ユーザ・インターフェースを構築する
ステップは、 前記ユーザ・インターフェースのXHTML表現(repr
esentation)を作成するステップと、 前記XHTML内に1つまたは複数のプレースホルダエ
リアを生成するステップと、 前記ユーザ・インターフェースのプレゼンテーションお
よびレイアウトを記述するステップと、 振る舞い(behavior)を使用して動的コンテンツの作成
を制御するステップとをさらに備えることを特徴とする
請求項15に記載のコンピュータ・プログラム製品。 - 【請求項17】 中央サーバに接続された1つまたは複
数のノードを含み、前記中央サーバは放送ソース(broa
dcast source)からオーディオ・コンテンツおよびビデ
オ・コンテンツを含むコンテンツを受け取り、前記コン
テンツは機能アプリケーションによって前記1つまたは
複数のノードに送達されるシステムにおいて、ノードと
前記中央サーバにわたって機能アプリケーションを動的
に分散させる方法であって、 ノード・アプリケーションを求める要求を前記ノードか
ら受け取るステップと、 前記ノード用の前記ノード・アプリケーションが前記中
央サーバ上に格納されていない場合、前記ノード・アプ
リケーションがネットワークを介してリモート・サーバ
から取り出されることになるステップであって、前記ノ
ード・アプリケーションを前記ノードに送るステップ
と、 前記機能アプリケーションを求める要求を受け取るステ
ップと、 前記機能アプリケーションのプロセス部分が、前記中央
サーバ上で実行されることになるステップで、前記機能
アプリケーションのユーザ・インターフェース部分を前
記ノードに送達するステップと、 前記中央サーバのリソースを利用して各要求を処理す
る、前記機能アプリケーションの前記プロセス部分によ
って、前記ユーザ・インターフェース部分からの各要求
を処理するステップと、 前記ユーザ・インターフェース部分が、結果を前記ユー
ザに提示することになるステップであって、前記ユーザ
・インターフェース部分に各要求の前記結果を提供する
ステップとを備えることを特徴とする方法。 - 【請求項18】 前記ノード・アプリケーションを送る
ステップは、初期ユーザ・インターフェースを前記ノー
ドに送るステップをさらに備えることを特徴とする請求
項17に記載の方法。 - 【請求項19】 前記ユーザ・インターフェース部分か
らの各要求を処理するステップは、規格(standard)を
使用して各要求の前記結果をフォーマットするステップ
をさらに備えることを特徴とする請求項17に記載の方
法。 - 【請求項20】 前記ユーザ・インターフェース部分に
各要求の結果を提供するステップは、プロトコルを使用
して前記結果を送達するステップをさらに備えることを
特徴とする請求項17に記載の方法。 - 【請求項21】 前記プロトコルはリモート・プロシー
ジャ・コールであることを特徴とする請求項20に記載
の方法。 - 【請求項22】 前記ユーザ・インターフェース部分か
らの各要求を処理するステップは、前記中央サーバまた
はリモート・サーバ上に格納されたコンテンツにアクセ
スするステップをさらに備えることを特徴とする請求項
17に記載の方法。 - 【請求項23】 コンテンツを記録するステップをさら
に含み、前記コンテンツは、サテライト・システムまた
はケーブル・システムを介して受信されるテレビジョン
・プログラムを備えることを特徴とする請求項17に記
載の方法。 - 【請求項24】 ユーザが前記中央サーバから前記機能
アプリケーションを選択することができるように、前記
中央サーバ上に前記ノード・アプリケーションを実装す
るステップをさらに備えることを特徴とする請求項17
に記載の方法。 - 【請求項25】 中央サーバに接続された1つまたは複
数のノードを含み、前記中央サーバは放送ソース(broa
dcast source)からオーディオ・コンテンツおよびビデ
オ・コンテンツを含むコンテンツを受け取り、前記コン
テンツは機能アプリケーションによって前記1つまたは
複数のノードに送達されるシステムにおいて、ノードと
前記中央サーバにわたって機能アプリケーションを動的
に分散させる方法を実装するコンピュータ・プログラム
製品であって、ノード・アプリケーションを求める要求
を前記ノードから受け取るステップと、 前記ノード用の前記ノード・アプリケーションが前記中
央サーバ上に格納されていない場合、前記ノード・アプ
リケーションがネットワークを介してリモート・サーバ
から取り出されるステップであって、前記ノード・アプ
リケーションを前記ノードに送るステップと、 前記機能アプリケーションを求める要求を受け取るステ
ップと、 前記機能アプリケーションのプロセス部分が、前記中央
サーバ上で実行されることになるステップで、前記機能
アプリケーションのユーザ・インターフェース部分を前
記ノードに送達するステップと、 前記中央サーバのリソースを利用して各要求を処理す
る、前記機能アプリケーションの前記プロセス部分によ
って、前記ユーザ・インターフェース部分からの各要求
を処理するステップと、 前記ユーザ・インターフェース部分が、結果を前記ユー
ザに提示することになるステップで、前記ユーザ・イン
ターフェース部分に各要求の前記結果を提供するステッ
プとを備える方法を実行するコンピュータ実行可能命令
を有するコンピュータ可読媒体を備えることを特徴とす
るコンピュータ・プログラム製品。 - 【請求項26】 前記ノード・アプリケーションを送る
ステップは、初期ユーザ・インターフェースを前記ノー
ドに送るステップをさらに備えることを特徴とする請求
項25に記載のコンピュータ・プログラム製品。 - 【請求項27】 前記ユーザ・インターフェース部分か
らの各要求を処理するステップは、規格(standard)を
使用して各要求の前記結果をフォーマットするステップ
をさらに備えることを特徴とする請求項25に記載のコ
ンピュータ・プログラム製品。 - 【請求項28】 前記ユーザ・インターフェース部分に
各要求の結果を提供するステップは、プロトコルを使用
して前記結果を送達するステップをさらに備えることを
特徴とする請求項25に記載のコンピュータ・プログラ
ム製品。 - 【請求項29】 前記プロトコルはリモート・プロシー
ジャ・コールであることを特徴とする請求項28に記載
のコンピュータ・プログラム製品。 - 【請求項30】 前記ユーザ・インターフェース部分か
らの各要求を処理するステップは、前記中央サーバまた
はリモート・サーバ上に格納されたコンテンツにアクセ
スするステップをさらに備えることを特徴とする請求項
25に記載のコンピュータ・プログラム製品。 - 【請求項31】 コンテンツを記録するステップをさら
に備え、前記コンテンツは、サテライト・システムまた
はケーブル・システムを介して受信されるテレビジョン
・プログラムを備えることを特徴とする請求項25に記
載のコンピュータ・プログラム製品。 - 【請求項32】 ユーザが前記中央サーバから前記機能
アプリケーションを選択することができるように、前記
中央サーバ上に前記ノード・アプリケーションを実装す
るステップをさらに備えることを特徴とする請求項25
に記載のコンピュータ・プログラム製品。 - 【請求項33】 中央サーバに接続された1つまたは複
数のノードを含み、前記中央サーバは放送ソース(broa
dcast source)からオーディオ・コンテンツおよびビデ
オ・コンテンツを含むコンテンツを受け取り、前記コン
テンツは機能アプリケーションによって前記1つまたは
複数のノードに送達されるシステムにおいて、前記中央
サーバとノードにわたって前記機能アプリケーションを
分散させるノード・アプリケーションであって、 適宜各機能アプリケーションがユーザ・インターフェー
スをレンダリングすることができるように、第1の規格
に対するサポートを提供するプレゼンテーション・エン
ジンと、 適宜各機能アプリケーションが前記ノード上で実行でき
るように、第2の規格に対するサポートを提供する実行
エンジンと、 複数のオペレーティング・システムおよび複数のプロセ
ッサ・アーキテクチャにわたって、前記ノード・アプリ
ケーションおよび前記機能アプリケーションがポータブ
ルであることを許容する互換層と、 前記ノードのリソースを、前記機能アプリケーションの
1つまたは複数のユーザ・インターフェース部分に動的
に割り振る割り振りモジュールとを備えることを特徴と
するノード・アプリケーション。 - 【請求項34】 前記第1の規格は、HTML、XHT
ML、CSS、PNG、MNG、JPEG、MPEG、
XML、SOAP、HTTP、およびTCP/IPを備
え、 前記第2の規格は、COM、DCOM、およびECMA
Scriptを備えることを特徴とする請求項33に記
載のノード・アプリケーション。 - 【請求項35】 前記ノード・アプリケーションは、前
記ノード上のアプリケーションをロードおよびアンロー
ドするローディング・モジュールをさらに備えることを
特徴とする請求項33に記載のノード・アプリケーショ
ン。 - 【請求項36】 前記ローディング・モジュールは、ア
プリケーションのユーザ・インターフェース部分をロー
ドおよびアンロードすることを特徴とする請求項35に
記載のノード・アプリケーション。 - 【請求項37】 前記ローディング・モジュールは、プ
ロトコルを使用して、前記中央サーバ上にロードされた
前記機能アプリケーションのプロセス部分に対して要求
を行うことを特徴とする請求項35に記載のノード・ア
プリケーション。 - 【請求項38】 前記要求はリモート・プロシージャ・
コールであり、前記プロトコルは、COM、SOAP、
およびDCOMのうちの1つであることを特徴とする請
求項37に記載のノード・アプリケーション。 - 【請求項39】 中央サーバに接続された1つまたは複
数のノードを含み、前記中央サーバは放送ソース(broa
dcast source)からオーディオ・コンテンツおよびビデ
オ・コンテンツを含むコンテンツを受け取り、前記コン
テンツは機能アプリケーションによって前記1つまたは
複数のノードに送達されるシステムにおいて、ノードと
前記中央サーバにわたって機能アプリケーションを動的
に分散させる方法であって、 前記ノードでノード・アプリケーションをロードするス
テップと、 ユーザ・インターフェース部分と、データの必要時に前
記ユーザ・インターフェース部分により前記ノードまた
は前記中央サーバのどちらかに作成される1つまたは複
数のサービス部分とを有する前記機能アプリケーション
を、前記ノードと前記中央サーバにわたって分散させる
ために選択するステップと、 前記ノード・アプリケーションにより、前記ノードで前
記機能アプリケーションのユーザ・インターフェース部
分であって、前記1つまたは複数のサービス部分と通信
する前記ユーザ・インターフェース部分をロードするス
テップと、 前記ユーザ・インターフェース部分により、特定のサー
ビス部分に対してデータを求める要求を行うステップ
と、 前記特定のサービス部分から、処理したデータを受け取
るステップと、 前記処理したデータを前記ノードで提示するステップと
を備えることを特徴とする方法。 - 【請求項40】 追加の機能アプリケーションの、追加
のユーザ・インターフェース部分をロードし、前記ノー
ド上にロードされる前記機能アプリケーションの前記ユ
ーザ・インターフェース部分の複数間で前記ノードのリ
ソースを割り振るノード・アプリケーションをさらに備
えることを特徴とする請求項39に記載の方法。 - 【請求項41】 前記機能アプリケーションを選択する
ステップは、ユーザ入力を受け取るステップをさらに備
えることを特徴とする請求項39に記載の方法。 - 【請求項42】 ノード・アプリケーションをロードす
るステップは、 前記ノードで予備(preliminary)ユーザ・インターフ
ェースを表示するステップと、 前記中央サーバに現在時刻および現在日付を要求するス
テップと、 前記ノードに対してユーザ独自のプリファレンスを要求
するステップと、 初期ユーザ・インターフェースを要求するステップと、 前記機能アプリケーションが、前記初期ユーザ・インタ
ーフェースから立ち上げられることになるステップであ
って、前記ノードで前記初期ユーザ・インターフェース
を表示するステップステップとをさらに備えることを特
徴とする請求項39に記載の方法。 - 【請求項43】 前記ユーザ・インターフェース部分に
より、前記特定のサービス部分に対してデータを求める
要求を行うステップは、プロトコルを使用してリモート
・プロシージャ・コールを行うステップをさらに備える
ことを特徴とする請求項39に記載の方法。 - 【請求項44】 前記プロトコルは、COM、DCO
M、およびSOAPのうちの1つであることを特徴とす
る請求項43に記載の方法。 - 【請求項45】 前記処理したデータを前記ノードで提
示するステップは、前記ノード・アプリケーションによ
って与えられる規格を使用してユーザ・インターフェー
スを構築するステップをさらに含むことを特徴とする請
求項39に記載の方法。 - 【請求項46】 ユーザ・インターフェースを構築する
ステップは、 前記ユーザ・インターフェースのXHTML表現(repr
esentation)を作成するステップと、 前記XHTML内に1つまたは複数のプレースホルダエ
リアを生成するステップと、 前記ユーザ・インターフェースのプレゼンテーションお
よびレイアウトを記述するステップと、 振る舞い(behavior)を使用して動的コンテンツの作成
を制御するステップとをさらに備えることを特徴とする
請求項45に記載の方法。 - 【請求項47】 中央サーバに接続された1つまたは複
数のノードを含み、前記中央サーバは放送ソース(broa
dcast source)からオーディオ・コンテンツおよびビデ
オ・コンテンツを含むコンテンツを受け取り、前記コン
テンツは機能アプリケーションによって前記1つまたは
複数のノードに送達されるシステムにおいて、ノードと
前記中央サーバにわたって機能アプリケーションを動的
に分散させる方法であって、 ノード・アプリケーションを求める要求を前記ノードか
ら受け取るステップと、 前記ノード用の前記ノード・アプリケーションが前記中
央サーバ上に格納されていない場合、前記ノード・アプ
リケーションがネットワークを介してリモート・サーバ
から取り出されることになるステップであって、前記ノ
ード・アプリケーションを前記ノードに送るステップ
と、 前記機能アプリケーションを求める要求を受け取るステ
ップと、 前記機能アプリケーションのプロセス部分が、前記中央
サーバ上で実行されることになるステップで、前記機能
アプリケーションのユーザ・インターフェース部分を前
記ノードに送達するステップと、 前記中央サーバ上または前記ノード上のどちらかの前記
機能アプリケーションの前記ユーザ・インターフェース
部分により作成されるサービス部分で、前記中央サーバ
または前記ノードのリソースを利用して各要求を処理す
る前記サービス部分を使用して、前記ユーザ・インター
フェース部分からの各要求を処理するステップと、 前記ユーザ・インターフェース部分が、前記結果を前記
ユーザに提示することになるステップであって、前記ユ
ーザ・インターフェース部分に各要求の結果を提供する
ステップとを備えることを特徴とする方法。 - 【請求項48】 前記ノード・アプリケーションを送る
ステップは、初期ユーザ・インターフェースを前記ノー
ドに送るステップをさらに備えることを特徴とする請求
項47に記載の方法。 - 【請求項49】 前記ユーザ・インターフェース部分か
らの各要求を処理するステップは、前記中央サーバまた
はリモート・サーバ上に格納されたコンテンツにアクセ
スするステップをさらに備えることを特徴とする請求項
47に記載の方法。 - 【請求項50】 コンテンツを記録するステップをさら
に備え、前記コンテンツは、放送ソースから受信される
テレビジョン・プログラムを含むことを特徴とする請求
項47に記載の方法。 - 【請求項51】 ユーザが前記中央サーバから前記機能
アプリケーションを選択および実行することができるよ
うに、前記中央サーバ上に前記ノード・アプリケーショ
ンを実装するステップをさらに備えることを特徴とする
請求項47に記載の方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US10/029,310 US7257638B2 (en) | 2001-12-20 | 2001-12-20 | Distributing network applications |
| US10/029,310 | 2001-12-20 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2008010990A Division JP4309458B2 (ja) | 2001-12-20 | 2008-01-21 | 中央サーバによって、当該中央サーバに接続されたノードの機能アプリケーションをサポートする方法およびコンピュータ読み取り可能な記録媒体 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2003323310A true JP2003323310A (ja) | 2003-11-14 |
| JP4694091B2 JP4694091B2 (ja) | 2011-06-01 |
Family
ID=21848367
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2002361361A Expired - Lifetime JP4694091B2 (ja) | 2001-12-20 | 2002-12-12 | 分散アプリケーションのスケーリングおよび配信 |
| JP2008010990A Expired - Lifetime JP4309458B2 (ja) | 2001-12-20 | 2008-01-21 | 中央サーバによって、当該中央サーバに接続されたノードの機能アプリケーションをサポートする方法およびコンピュータ読み取り可能な記録媒体 |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2008010990A Expired - Lifetime JP4309458B2 (ja) | 2001-12-20 | 2008-01-21 | 中央サーバによって、当該中央サーバに接続されたノードの機能アプリケーションをサポートする方法およびコンピュータ読み取り可能な記録媒体 |
Country Status (3)
| Country | Link |
|---|---|
| US (3) | US7257638B2 (ja) |
| EP (1) | EP1322084B1 (ja) |
| JP (2) | JP4694091B2 (ja) |
Families Citing this family (44)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| AU4676800A (en) * | 1999-04-26 | 2000-11-10 | Dodots, Inc. | Apparatus and method for delivering internet content |
| US7899915B2 (en) | 2002-05-10 | 2011-03-01 | Richard Reisman | Method and apparatus for browsing using multiple coordinated device sets |
| US7954127B2 (en) | 2002-09-25 | 2011-05-31 | The Directv Group, Inc. | Direct broadcast signal distribution methods |
| CN100481767C (zh) * | 2003-08-07 | 2009-04-22 | 三星电子株式会社 | 音频/视频装置及其控制设备和方法 |
| US20060212906A1 (en) * | 2005-03-18 | 2006-09-21 | Cantalini James C | System and method for digital media navigation and recording |
| US7900230B2 (en) | 2005-04-01 | 2011-03-01 | The Directv Group, Inc. | Intelligent two-way switching network |
| US8024759B2 (en) | 2005-04-01 | 2011-09-20 | The Directv Group, Inc. | Backwards-compatible frequency translation module for satellite video delivery |
| US7987486B2 (en) | 2005-04-01 | 2011-07-26 | The Directv Group, Inc. | System architecture for control and signal distribution on coaxial cable |
| US7958531B2 (en) | 2005-04-01 | 2011-06-07 | The Directv Group, Inc. | Automatic level control for incoming signals of different signal strengths |
| US8621525B2 (en) | 2005-04-01 | 2013-12-31 | The Directv Group, Inc. | Signal injection via power supply |
| US8549565B2 (en) * | 2005-04-01 | 2013-10-01 | The Directv Group, Inc. | Power balancing signal combiner |
| US7945932B2 (en) | 2005-04-01 | 2011-05-17 | The Directv Group, Inc. | Narrow bandwidth signal delivery system |
| US7950038B2 (en) | 2005-04-01 | 2011-05-24 | The Directv Group, Inc. | Transponder tuning and mapping |
| US20060277272A1 (en) * | 2005-05-31 | 2006-12-07 | Gist Communications, Inc. | Protocol for enabling digital media navigation, selection and mobile remote control of DVR devices |
| US20070028262A1 (en) * | 2005-07-29 | 2007-02-01 | Zermatt Systems, Inc. | Virtual discovery of content available to a device |
| US8789115B2 (en) | 2005-09-02 | 2014-07-22 | The Directv Group, Inc. | Frequency translation module discovery and configuration |
| US7937732B2 (en) | 2005-09-02 | 2011-05-03 | The Directv Group, Inc. | Network fraud prevention via registration and verification |
| US7991348B2 (en) | 2005-10-12 | 2011-08-02 | The Directv Group, Inc. | Triple band combining approach to satellite signal distribution |
| US8019275B2 (en) | 2005-10-12 | 2011-09-13 | The Directv Group, Inc. | Band upconverter approach to KA/KU signal distribution |
| US7783967B1 (en) * | 2005-10-28 | 2010-08-24 | Aol Inc. | Packaging web content for reuse |
| US20070233844A1 (en) * | 2006-03-29 | 2007-10-04 | Murata Kikai Kabushiki Kaisha | Relay device and communication system |
| EP2033442A2 (en) * | 2006-06-09 | 2009-03-11 | The DIRECTV Group, Inc. | Presentation modes for various format bit streams |
| WO2007149414A2 (en) * | 2006-06-19 | 2007-12-27 | The Directv Group, Inc. | Dedicated tuner for network administration functions |
| JP4978109B2 (ja) * | 2006-08-10 | 2012-07-18 | 富士通株式会社 | ネットワークシステム及び情報処理方法 |
| US20080140863A1 (en) * | 2006-10-05 | 2008-06-12 | Holt John M | Multiple communication networks for multiple computers |
| US8719875B2 (en) | 2006-11-06 | 2014-05-06 | The Directv Group, Inc. | Satellite television IP bitstream generator receiving unit |
| US20080155124A1 (en) * | 2006-12-20 | 2008-06-26 | Matthew Charles Compton | Apparatus, system, and method for remote multi-user kvm switching |
| US9432443B1 (en) * | 2007-01-31 | 2016-08-30 | Hewlett Packard Enterprise Development Lp | Multi-variate computer resource allocation |
| US8209674B2 (en) * | 2007-02-12 | 2012-06-26 | Microsoft Corporation | Tier splitting support for distributed execution environments |
| EP1990974A3 (en) * | 2007-05-02 | 2010-03-24 | Murata Machinery, Ltd. | Relay server and relay communication system |
| US8712318B2 (en) | 2007-05-29 | 2014-04-29 | The Directv Group, Inc. | Integrated multi-sat LNB and frequency translation module |
| US8238813B1 (en) | 2007-08-20 | 2012-08-07 | The Directv Group, Inc. | Computationally efficient design for broadcast satellite single wire and/or direct demod interface |
| US8087015B2 (en) * | 2007-10-26 | 2011-12-27 | Microsoft Corporation | Assignment of application models to deployment targets |
| US9942618B2 (en) | 2007-10-31 | 2018-04-10 | The Directv Group, Inc. | SMATV headend using IP transport stream input and method for operating the same |
| WO2010080823A1 (en) | 2009-01-06 | 2010-07-15 | The Directv Group, Inc. | Frequency drift estimation for low cost outdoor unit |
| EP2539827A4 (en) * | 2010-02-26 | 2015-01-07 | Rovi Tech Corp | DYNAMIC CONFIGURABLE BUNDLES OF DEVICES |
| US10908794B2 (en) * | 2010-08-16 | 2021-02-02 | Iheartmedia Management Services, Inc. | Automated scheduling of multimedia content avoiding adjacency conflicts |
| KR101577878B1 (ko) | 2011-02-03 | 2015-12-15 | 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 | 분산 환경들에서 신뢰도의 개선 |
| MY178653A (en) | 2011-07-04 | 2020-10-20 | Mimos Berhad | System and method for distributing applications in wide area network |
| US10754699B2 (en) * | 2012-08-05 | 2020-08-25 | International Business Machines Corporation | Remote provisioning of virtual appliances for access to virtualized storage |
| CN103067758A (zh) * | 2012-12-17 | 2013-04-24 | 鸿富锦精密工业(深圳)有限公司 | 一种广告服务器与播放终端及广告推送系统与方法 |
| US9565075B2 (en) * | 2013-10-07 | 2017-02-07 | Empire Technology Development Llc | Distributed user interfaces as a service |
| CN105893154B (zh) * | 2016-03-31 | 2019-07-26 | 联想(北京)有限公司 | 一种流量分配方法及服务器 |
| KR102464616B1 (ko) * | 2016-10-05 | 2022-11-09 | 파르텍 클러스터 컴피턴스 센터 게엠베하 | 고성능 컴퓨팅 시스템 및 방법 |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003535402A (ja) * | 2000-05-31 | 2003-11-25 | インテル コーポレイション | 消費者用機器を遠隔的に管理及び制御する方法及びシステム |
Family Cites Families (28)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US749091A (en) * | 1904-01-05 | Wood-carbonizer | ||
| US5666293A (en) * | 1994-05-27 | 1997-09-09 | Bell Atlantic Network Services, Inc. | Downloading operating system software through a broadcast channel |
| US5724530A (en) * | 1994-07-25 | 1998-03-03 | Apple Computer, Inc. | Supervisory control system for networked multimedia workstations that provides remote launching of files |
| US5732266A (en) * | 1994-09-02 | 1998-03-24 | Compaq Computer Corporation | Storage medium storing application programs and application initialization files and automatic launching of computer applications stored on the storage medium |
| US5937163A (en) * | 1996-03-26 | 1999-08-10 | Industrial Technology Research Institute | Method and system at a host node for hierarchically organizing the links visited by a world wide web browser executing at the host node |
| US6061695A (en) * | 1996-12-06 | 2000-05-09 | Microsoft Corporation | Operating system shell having a windowing graphical user interface with a desktop displayed as a hypertext multimedia document |
| US6018571A (en) * | 1997-09-30 | 2000-01-25 | Mitel Corporation | System for interactive control of a computer and telephone |
| US20020075308A1 (en) * | 1997-11-12 | 2002-06-20 | Divelbiss Adam W. | Multi-purpose interactive application execution system |
| US6049664A (en) * | 1997-11-25 | 2000-04-11 | Alphablox Corporation | Tier-neutral development mechanism for hypertext based applications |
| US6029045A (en) * | 1997-12-09 | 2000-02-22 | Cogent Technology, Inc. | System and method for inserting local content into programming content |
| US6011918A (en) * | 1998-04-22 | 2000-01-04 | International Business Machines Corporation | Methods, systems and computer program products for generating client/server applications |
| US6259448B1 (en) * | 1998-06-03 | 2001-07-10 | International Business Machines Corporation | Resource model configuration and deployment in a distributed computer network |
| WO2000048073A1 (en) | 1999-02-09 | 2000-08-17 | Hearme | Method and apparatus for managing assets of a client side application |
| US20020026321A1 (en) * | 1999-02-26 | 2002-02-28 | Sadeg M. Faris | Internet-based system and method for fairly and securely enabling timed-constrained competition using globally time-sychronized client subsystems and information servers having microsecond client-event resolution |
| US6990676B1 (en) * | 1999-03-17 | 2006-01-24 | Sony Corporation | Locally stored content previews. Representative of programming content in an electronic programming guide through a graphic image accessed from the hard drive of a set top box |
| US6486892B1 (en) * | 1999-04-07 | 2002-11-26 | Joseph L. Stern | System and method for accessing, manipulating and viewing internet and non-internet related information and for controlling networked devices |
| US6704798B1 (en) * | 2000-02-08 | 2004-03-09 | Hewlett-Packard Development Company, L.P. | Explicit server control of transcoding representation conversion at a proxy or client location |
| AU2001249822A1 (en) * | 2000-04-05 | 2001-10-23 | Tranceive Technologies, Inc. | Method and apparatus for profiling in a distributed application environment |
| US6687735B1 (en) * | 2000-05-30 | 2004-02-03 | Tranceive Technologies, Inc. | Method and apparatus for balancing distributed applications |
| US6807559B1 (en) * | 2000-04-06 | 2004-10-19 | Attachmate Corporation | System and method for applet management |
| US6976090B2 (en) * | 2000-04-20 | 2005-12-13 | Actona Technologies Ltd. | Differentiated content and application delivery via internet |
| US7702995B2 (en) * | 2000-04-24 | 2010-04-20 | TVWorks, LLC. | Method and system for transforming content for execution on multiple platforms |
| US6819343B1 (en) * | 2000-05-05 | 2004-11-16 | Microsoft Corporation | Dynamic controls for use in computing applications |
| CA2409920C (en) * | 2000-06-22 | 2013-05-14 | Microsoft Corporation | Distributed computing services platform |
| US7089560B1 (en) * | 2000-07-24 | 2006-08-08 | Sun Microsystems, Inc. | Architecture for building web applications |
| US6704024B2 (en) * | 2000-08-07 | 2004-03-09 | Zframe, Inc. | Visual content browsing using rasterized representations |
| US20010013052A1 (en) * | 2000-10-25 | 2001-08-09 | Yobie Benjamin | Universal method and apparatus for disparate systems to communicate |
| US7076048B2 (en) * | 2001-09-21 | 2006-07-11 | Matsushita Electric Industrial Co., Ltd. | Agent-based multimedia communication system that supports web telephony call model |
-
2001
- 2001-12-20 US US10/029,310 patent/US7257638B2/en not_active Expired - Lifetime
-
2002
- 2002-11-26 EP EP02026418A patent/EP1322084B1/en not_active Expired - Lifetime
- 2002-12-12 JP JP2002361361A patent/JP4694091B2/ja not_active Expired - Lifetime
-
2005
- 2005-09-15 US US11/227,718 patent/US7546375B2/en not_active Expired - Lifetime
-
2007
- 2007-05-15 US US11/749,091 patent/US7519723B2/en not_active Expired - Lifetime
-
2008
- 2008-01-21 JP JP2008010990A patent/JP4309458B2/ja not_active Expired - Lifetime
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003535402A (ja) * | 2000-05-31 | 2003-11-25 | インテル コーポレイション | 消費者用機器を遠隔的に管理及び制御する方法及びシステム |
Also Published As
| Publication number | Publication date |
|---|---|
| JP4694091B2 (ja) | 2011-06-01 |
| US20060020695A1 (en) | 2006-01-26 |
| US7519723B2 (en) | 2009-04-14 |
| US20070214281A1 (en) | 2007-09-13 |
| JP4309458B2 (ja) | 2009-08-05 |
| US7546375B2 (en) | 2009-06-09 |
| EP1322084A2 (en) | 2003-06-25 |
| US7257638B2 (en) | 2007-08-14 |
| US20030120792A1 (en) | 2003-06-26 |
| EP1322084A3 (en) | 2007-05-16 |
| EP1322084B1 (en) | 2012-09-12 |
| JP2008159068A (ja) | 2008-07-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2003323310A (ja) | 分散アプリケーションのスケーリングおよび配信 | |
| US7779405B2 (en) | Run-time determination of application delivery | |
| CN100518176C (zh) | 实现有状态网络应用的会话返回 | |
| CN1201541C (zh) | 仿真流的文件分区 | |
| US6732142B1 (en) | Method and apparatus for audible presentation of web page content | |
| US9332063B2 (en) | Versatile application configuration for deployable computing environments | |
| US20090199132A1 (en) | Quick access to virtual applications | |
| EP2408145A1 (en) | Method and devices for the visibility of media contents available from upnp media servers and for initiating rendering such media contents via a file system on a user interface | |
| US7836404B2 (en) | Streaming internet media record and playback software program | |
| US8219692B2 (en) | Method and apparatus for storing and restoring state information of remote user interface | |
| WO2002023360A1 (en) | Independent update and assembly of web page elements | |
| CN101410774A (zh) | 在线服务切换和定制 | |
| US20110185298A1 (en) | Method and apparatus for a distributable globe graphical object | |
| JP4988746B2 (ja) | ポータル環境内のドラッグ・アンド・ドロップ・コンテンツを閲覧するためのポートレット・ビューアを提供する方法、システム、及びコンピュータ・プログラム(ポータル環境内のドラッグ・アンド・ドロップ・コンテンツを閲覧するためのポートレット・ビューアの提供) | |
| US20060230059A1 (en) | Method and apparatus to select and deliver portable portlets | |
| JP2020004379A (ja) | 情報をリリースするための方法と装置、ならびに情報を処理するための方法と装置 | |
| WO2001077897A2 (en) | System and method using a web catalog with dynamic multimedia data using java | |
| De Jong et al. | A vod application implemented in java | |
| EP2575327B1 (fr) | Procédé de partage d'une application web entre plusieurs terminaux informatiques reliés à un réseau de communication | |
| CN112887798B (zh) | 显示装置及应用于安卓系统的多媒体资源播放方法 | |
| KR20010018919A (ko) | 데스크탑 동영상 광고방법 | |
| Bulterman | Managing the Adaptive Processing of Distributed Multimedia Information |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051110 |
|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20051114 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070720 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20071022 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20071025 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080121 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080219 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080519 |
|
| RD13 | Notification of appointment of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7433 Effective date: 20080520 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20080520 |
|
| A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20080625 |
|
| A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20080718 |
|
| RD13 | Notification of appointment of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7433 Effective date: 20100524 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20100524 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110118 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110201 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110223 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140304 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 4694091 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| EXPY | Cancellation because of completion of term |