JP2007523413A - 電子コンテンツ処理システムおよび方法 - Google Patents
電子コンテンツ処理システムおよび方法 Download PDFInfo
- Publication number
- JP2007523413A JP2007523413A JP2006553405A JP2006553405A JP2007523413A JP 2007523413 A JP2007523413 A JP 2007523413A JP 2006553405 A JP2006553405 A JP 2006553405A JP 2006553405 A JP2006553405 A JP 2006553405A JP 2007523413 A JP2007523413 A JP 2007523413A
- Authority
- JP
- Japan
- Prior art keywords
- software
- external
- electronic content
- software module
- registry
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45508—Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
- G06F9/45512—Command shells
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
動的電子コンテンツ処理システムおよび方法が提供される。内部ソフトウェアモジュールが、少なくとも1つの内部ソフトウェア要素を定義し、それぞれのレジストリが、ソフトウェアモジュールおよび様々なタイプの外部定義されたソフトウェア要素に対して提供される。電子コンテンツは、内部および外部ソフトウェア要素に対する電子コンテンツ内の埋込み参照を解決するために、内部ソフトウェアモジュールによって処理される。外部ソフトウェア要素に対する埋込み参照を解決するために、電子コンテンツに関連付けられたハンドルが、処理中に供給される。すると、電子コンテンツは、ハンドルを用いて、外部ソフトウェア要素をサポートしているソフトウェアコードからアクセス可能となる。本発明の他の実施形態では、ソフトウェアモジュールが、電子コンテンツの処理の通知を受け、それにより、電子コンテンツがソフトウェアモジュールからアクセス可能になされる。
Description
本発明は、情報処理に関し、詳細には、電子コンテンツの処理に関する。
多くの電子システムおよび処理環境において、特定用途の製品は、通常、いわゆる「モノリシック(一体型)」システムとして提供される。製造者または提供者は、それぞれの顧客ごとに製品の適合を行うが、ある特定の顧客に適合した製品は、かなりのリエンジニアリングなしには、異なる処理要件や目的の他の顧客に使用できることはまれであり、同じ顧客でさえ異なる結果を求める場合に使用できることはまれである。
製造者の視点からは、このような設計技法は労働集約的であり、異なる機能のセットがサポートされることになるたびに、大幅なシステムの再設計が必要である。そのような異なる多くのシステムについて顧客サポートを提供するために、かなりのリソースおよびコストが必要となることもある。
専用化された処理システムの開発は、顧客にとって、画一的な解決策の実装と比べてコストが増大する傾向がある。また、いったん設計工程が開始すると、初期の仕様または要件のセットを変更するのが困難なことがある。さらに、このようなタイプのシステムは、一般に、少なくとも機能レベルでは調節可能ではない。サポートされている機能の修正は、通常、顧客が行うことができない製造者またはソフトウェア提供者の仕事である。
当業者が認識されるように、カスタムソフトウェアシステムは、そのようなシステムと併せて動作することが意図された電子コンテンツについて移植性の問題を生じることがしばしばある。ある特定のカスタム処理システム用に設計されたコンテンツは、他のカスタム処理システムによって単純にインストールしたり実行することができない。
本発明の一態様によれば、電子コンテンツ処理方法は、少なくとも1つの内部ソフトウェア要素を定義する内部ソフトウェアモジュール提供すること、外部ソフトウェア要素についてのソフトウェア要素レジストリを含む、異なるタイプのソフトウェア要素についての複数のそれぞれのレジストリを提供することを提供すること、ならびに、内部ソフトウェア要素に対する電子コンテンツ内の埋込み参照、およびソフトウェア要素レジストリ内の任意の外部ソフトウェア要素に対する電子コンテンツ内の埋込み参照を解決するために、内部ソフトウェアモジュールを使用して電子コンテンツを処理することを含む。ソフトウェア要素レジストリ内の外部ソフトウェア要素は、ソフトウェアコードによってサポートされる少なくとも1つの外部ソフトウェア要素を含み、少なくとも1つの外部ソフトウェア要素に対する電子コンテンツ内の埋込み参照を解決するために処理することは、電子コンテンツに関連付けられたハンドルを供給することを含む。電子コンテンツは、ハンドル使用してソフトウェアコードからアクセス可能である。
他の態様では、本発明は、埋込み可能な(embeddable)ソフトウェア要素を定義する内部ソフトウェアモジュールを提供すること、外部ソフトウェアモジュールを提供すること、埋込み可能ソフトウェア要素に対する電子コンテンツ内の埋込み参照を解決するために、内部ソフトウェアモジュールを使用して電子コンテンツを処理すること、電子コンテンツの処理を外部ソフトウェアモジュールに通知すること、および、その通知に応答して外部ソフトウェアモジュールによって電子コンテンツにアクセスすることを含む、電子コンテンツ処理方法を提供する。
本発明はまた、他の態様では、各ソフトウェア要素マネージャが所定のタイプのソフトウェア要素のそれぞれのレジストリを維持している複数のソフトウェア要素マネージャであって、埋込み可能な外部定義されたソフトウェア要素のレジストリを維持している埋込み可能ソフトウェア要素マネージャを含む、複数のソフトウェア要素マネージャと、電子コンテンツを受け取り、埋込み内部ソフトウェア要素に対する電子コンテンツ内の参照を解決し、また、埋込み可能ソフトウェア要素マネージャのレジストリ内の任意の埋込み可能外部ソフトウェア要素に対する電子コンテンツ内の参照を解決するように構成された、埋込み可能内部ソフトウェア要素を定義する電子コンテンツローダとを含む、システムを提供する。埋込み可能ソフトウェア要素マネージャのレジストリ内の埋込み可能外部ソフトウェア要素は、ソフトウェアコードによってサポートされた少なくとも1つの埋込み可能外部ソフトウェア要素を含み、電子コンテンツローダは、電子コンテンツに関連付けられたハンドルを供給することによって、少なくとも1つの埋込み可能外部ソフトウェア要素に対する電子コンテンツ内の参照を解決するようさらに構成される。電子コンテンツは、ハンドルを使用してソフトウェアコードからアクセス可能である。
本発明のさらに他の態様によるシステムは、埋込み可能ソフトウェア要素を定義する内部ソフトウェアモジュールであって、埋込み可能ソフトウェア要素に対する電子コンテンツ内の参照を解決することによって電子コンテンツを処理するように構成された内部ソフトウェアモジュールと、電子コンテンツの処理を検出し、この検出に応答して電子コンテンツにアクセスするように構成された外部ソフトウェアモジュールとを含む。
本発明は、さらに他の態様では、プロセッサと、プロセッサによってアクセス可能なコンピュータ可読媒体とを備える電子デバイスを提供する。この媒体は、プロセッサによって実行されたときに方法を実施する命令を格納し、前記方法は、埋込み可能内部ソフトウェア要素を定義する内部ソフトウェアモジュールを提供すること、外部定義された埋込み可能外部ソフトウェア要素についての埋込み可能ソフトウェア要素レジストリを含む、複数の異なるタイプのソフトウェア要素についての複数のそれぞれのレジストリを提供すること、埋込み可能内部ソフトウェア要素に対する電子コンテンツ内の任意の埋込み参照と、埋込み可能ソフトウェア要素レジストリ内の埋込み可能外部ソフトウェア要素に対する電子コンテンツ内の任意の埋込み参照とを解決するために、内部ソフトウェアモジュールを使用して電子コンテンツを処理すること、外部ソフトウェアモジュールを提供すること、電子コンテンツの処理を検出すること、および、外部ソフトウェアモジュールによる電子コンテンツに対するアクセスを提供することを含む。
他の広範な態様では、本発明は、埋込み可能内部ソフトウェア要素を定義する内部ソフトウェアモジュールを提供する手段と、外部定義された埋込み可能外部ソフトウェア要素についての埋込み可能ソフトウェア要素レジストリを含む、複数の異なるタイプのソフトウェア要素についての複数のそれぞれのレジストリを提供する手段と、埋込み可能内部ソフトウェア要素に対する電子コンテンツ内の任意の埋込み参照、および埋込み可能ソフトウェア要素レジストリ内の埋込み可能外部ソフトウェア要素に対する電子コンテンツ内の任意の埋込み参照を解決するために、内部ソフトウェアモジュールを使用して電子コンテンツを処理する手段と、外部ソフトウェアモジュールを提供する手段と、電子コンテンツの処理を検出する手段と、外部ソフトウェアモジュールによる電子コンテンツに対するアクセスを提供する手段とを含むシステムを提供する。
好ましい実施形態では、埋込み可能外部ソフトウェア要素は、ソフトウェアコードによってサポートされ、埋込み可能外部ソフトウェア要素に対する電子コンテンツ内の任意の埋込み参照を解決するために電子コンテンツを処理することは、電子コンテンツに関連付けられたハンドルを供給することを含み、電子コンテンツは、ハンドルを用いてソフトウェアコードからアクセス可能である。
本発明の実施形態の他の態様および特徴は、当業者には、以下の本発明の特定の実施形態の説明を検討することにより明らかとなろう。
次に、本発明の実施形態を添付の図面を参照してさらに詳細に説明する。
図1は、本発明を実装することができる例示的処理システムのブロック図である。処理システム10は、入力部12、メモリ16、およびディスプレイ18に接続されたプロセッサ14を含む。図1には、本発明の実施形態の実装に直接関わるコンポーネントのみが示されていること、および、処理システムは、ここに明示されているコンポーネントと比べて、多くのコンポーネント、少ないコンポーネント、または異なるコンポーネントを含んでもよいことは、当業者には認識されよう。図1は例示のみが目的であり、本発明は、図1に示すコンポーネントおよびそれらの間の相互接続を含む処理システムにまったく限定されるものではない。
プロセッサ14は、好ましくは、オペレーティングシステムソフトウェア、ソフトウェアアプリケーション、および他のタイプのソフトウェアコンポーネントなどのソフトウェアを実行するように構成されたマイクロプロセッサである。後述する電子コンテンツ処理動作は、好ましくは、プロセッサ14によって実行されるソフトウェアにおいて実施される。
入力部12は、任意の複数のタイプの入力装置またはインターフェースを表すものであり、それを介して、プロセッサ14が、ユーザまたは他の何らかのソースから入力を受け取ることができる。通常のタイプの入力装置としては、例えば、キーボード、通信ポートまたはモジュール、モデム、およびネットワーク接続などがあるが、他のタイプの入力装置も当業者には明らかであろう。
メモリ16は、少なくともプロセッサ14によって実行されるソフトウェアを格納し、プロセッサ14によってアクセスされ処理される他の情報も格納することができる。メモリ16は、例えば、半導体メモリコンポーネント、ディスクドライブ、ハードドライブ、メモリスティック、またはカードリーダのような1つまたは複数のタイプのメモリを含むことができる。処理システム10内に示されているが、メモリ16は、1つまたは複数の遠隔からアクセス可能なデータストアとして実装されても、それらを含んでもよいと考えられる。
図1において、ディスプレイ18は、プロセッサ14およびそれが実行するソフトウェアによって制御されうるコンポーネントの一例として示されている。本発明の好ましい実施形態によれば、プロセッサ14は、電子コンテンツを処理し、この電子コンテンツは、一例では、ソフトウェアアプリケーションのためのユーザインターフェース(UI)定義である。そのようなUI定義は、ディスプレイ18を介したユーザへの情報の提示の「ルックアンドフィール(look and feel)」に影響を及ぼす。ディスプレイ18は、例えば、任意のタイプのテレビジョン、コンピュータシステムモニタ、携帯電話などのモバイルコンピューティングデバイス上のLCD(液晶ディスプレイ)、または他のある種のディスプレイとすることができる。本明細書に記載の技法に従って、UI定義以外の他のタイプのコンテンツを処理することもできることは認識されるべきである。電子コンテンツには、実質的に、電子デバイスによって処理されうる任意のタイプのドキュメントまたは情報が含まれる。以下の説明から明らかになるように、本発明の実施形態は、本発明が実装される任意の処理システムによってロードされ処理されうる移植可能な形式におけるコンテンツの処理を可能にする。したがって、コンテンツは、例えばC言語などプログラミング言語での低水準のソフトウェア開発なしに開発することができる。
図1に示されるコンポーネントの個々の実現形態は、処理システム10と関連して実装される電子デバイスのタイプに応じて異なる。好ましい実施形態において、本発明は、入力部12、プロセッサ14、およびメモリ16を含む電子デバイス内の埋込みソフトウェアとして実装される。特に好ましい実施形態においては、電子デバイスは、ケーブルテレビ受信機や衛星放送受信機などのテレビジョン信号受信機である。この場合、ディスプレイ18は、好ましくは、ある種のテレビジョンまたはビデオモニタである。
動作において、プロセッサ14は、例えばインターネットからのソフトウェアダウンロードを介して入力部12、CDなどのメモリ16、またはその両方から、コンテンツおよびコンテンツの処理に伴う他の情報(もしあれば)に、アクセスしまたはそれらを受け取る。テレビジョン信号受信機で実装された場合、コンテンツおよび情報は、衛星またはケーブルテレビシステムからのビデオ信号として受け取ることができる。本発明の実施形態によるコンテンツ処理について、以下でさらに詳しく説明する。
図2は、本発明の実施形態によるシステムのブロック図であり、ディスプレイ24、視覚要素マネージャ26、機能マネージャ28、およびモジュールマネージャ30に接続されたコンテンツローダ22を含んでいる。図2に示す接続は、特に、本質的にソフトウェアベースの実装において、物理接続である必要がないことは当業者には認識されよう。コンテンツローダ22とマネージャ26、28、および30は、継続的には接続を維持せず、必要に応じて対話するという意味で、このコンテキスト(本文)における「接続」は、過渡状態でありうる。
図1と同様に、本明細書に開示の技法に従って処理されるコンテンツによって制御されうる、または、このようなコンテンツを表示するために使用されうる装置の1つの例示的な例として、ディスプレイ24が、システム20に示されている。
コンテンツローダ22は、好ましくは、入力またはメモリから、コンテンツ、例示的にはソフトウェアアプリケーションのためのUI定義、を受け取りまたロードする、ソフトウェアコンポーネントである。コンテンツは、ローカルまたはリモートのソースから受け取ることができる。コンテンツローダ22は、ロードされるコンテンツによってアクセスすることができる1組の基本要素または内部視覚要素および機能をサポートするソフトウェアコードを含む。好ましい実施形態では、内部視覚要素および機能は、システム20の基本または中核の機能性を提供する汎用ソフトウェア要素である。
上記に簡潔に説明したように、コンテンツは、好ましくは、任意のコンテンツローダ22によってロードし処理することができる移植可能な形式であることが好ましい。コンテンツローダ22はまた、任意の必要な形式変換を行って、コンテンツを、システム20によりさらに処理するための内部形式または構造に変換する。例えば、好ましい実施形態では、コンテンツローダ22は、コンテンツをコンテンツレンダラ(content renderer)によってレンダリングするためにパース(解析)するパーサを含み、このパースは、コンテンツローダ22の一部分であっても別個のソフトウェアコンポーネントであってもよい。
視覚要素は、その名前が示すように、ディスプレイ24に表示されるある種の視覚コンポーネントを有する。視覚要素は、コンテンツに埋め込まれ、コンテンツのロードの際に分析(resolve)されうる。一実施形態によれば、視覚要素をサポートするソフトウェアコードはまた、埋め込まれた視覚要素がコンテンツを操作することができるように、スクリプト機能または機能呼出しを含み、それは、周知のコンテンツ処理システムのように、表示されたコンテンツ内の定義された位置に単に配置されるのではない。
スクリプト機能はまた、コンテンツを操作することができる。以下でさらに詳細に説明する本発明のいくつかの実施形態によれば、コンテンツはスクリプト機能またはその呼出しを含むことができるが、コンテンツはまた、コンテンツによって明示的に参照されないまたは呼び出されないスクリプト機能または他のソフトウェアコンポーネントによっても操作することもできる。したがって、ある意味で、視覚要素は、コンテンツに対する「要求された」アクセスを有すると見なすことがでるのに対し、スクリプト機能および後述のソフトウェアモジュールは、コンテンツに対する「要求されていない」アクセスを有すると見なすことができる。
コンテンツローダ22内かまたはそれに関連付けられたソフトウェアコードセグメントによってサポートされた内部視覚要素および/またはスクリプト機能、あるいは、他の内部ソフトウェアモジュールは、基本または中核のコンテンツ処理の機能性を提供する。これらの内部機能は、例えばデバイス製造者またはソフトウェア提供者によって、システム20内に組み込まれることが好ましい。いくつかの実装形態では、この中核の機能性が、顧客の要件のすべてを満たすことができる。しかし、多くの実装形態では、追加または拡張された機能性が、所望または必要とされることがある。マネージャ26、28、30は、そのような追加の機能性をコンテンツ処理システムに組み込むことができるフレームワークを提供する。
コンテンツローダ22のように、マネージャ26、28、30は、ソフトウェアコンポーネントであることが好ましい。これらのマネージャ26、28、30は、異なるタイプのソフトウェアコンポーネントについてのレジストリをサポートする。システム20において、視覚要素マネージャ26は、視覚要素についてのレジストリを提供し、機能マネージャ28は、スクリプト機能についてのレジストリを提供し、モジュールマネージャ30は、ソフトウェアモジュールについてのレジストリを提供し、それらは、視覚要素、スクリプト機能、他のタイプの処理、またはそれらの何らかの組合せをサポートすることができる。
マネージャ26、28、30を介して、視覚要素およびスクリプト機能は、電子コンテンツに公開され、ソフトウェアモジュールは、コンテンツ処理システムの他のソフトウェアモジュールおよびコンポーネントに公開される。内部視覚要素およびスクリプト機能は、コンテンツローダ22に使用可能である。コンテンツローダ22自体は、モジュールマネージャ30への登録を通じて、他のコンポーネントに使用可能にすることができる。
コンテンツローダ22およびマネージャ26、28、30は、明確に定義されドキュメント化されたインターフェースを実装するが、そのインターフェースに従って、コンテンツ、視覚要素、スクリプト機能、およびソフトウェアモジュールは、システム20のために開発されることが可能である。このようなインターフェースは、コンテンツローダ22およびマネージャ26、28、30が実装される異なるシステム20の間で、コンテンツ、視覚要素、スクリプト機能、およびソフトウェアモジュールが移植可能になるという点で、これらのコンポーネントの開発を簡易にする。また、後でさらに詳しく説明するように、システム20のコンポーネントと、システム20が実装されるネイティブシステムのより低水準のコンポーネントの間で、明確に定義されたインターフェースを提供することによって、さらに移植性が高められる。
「明確に定義された」および「ドキュメント化された」は、コンテンツローダ22およびマネージャ26、28、30によって提示されたインターフェースが、標準化されたインターフェースまたは周知のインターフェースであることを意味するものでないことは認識されるべきである。インターフェースが定義されるならば、本発明の実施形態を実装するために、実質的に任意のインターフェース定義を使用することができる。一般に、できるだけ幅広くソフトウェア開発基盤を提供するために、ソフトウェア開発者にインターフェース定義または文書を配布することが好ましいが、本発明の多くの利点は、独自開発のインターフェースを用いて実現することができる。以下の説明から明らかになるように、インターフェースは好ましくは定義されるが、本発明は、いかなる特定のインターフェース定義に限定されない。
視覚要素は、視覚要素をサポートするソフトウェアコードセグメントまたはソフトウェアモジュールによって、視覚要素マネージャ26に登録することができる。図2では、例えば、視覚要素マネージャ26に登録された任意の視覚要素は、視覚要素マネージャ26を介して、電子コンテンツからアクセス可能である。登録機能は、好ましくは、視覚要素マネージャ26の定義されたAPI(アプリケーションプログラミングインターフェース)を介して使用可能にされる。
好ましくは、登録の際に、視覚要素名およびコールバックが、視覚要素マネージャ26に登録される。すると、視覚要素は、登録された名前を使用して、視覚要素マネージャ26を介しアクセス可能となる。視覚要素に割り当てられる名前は、好ましくは、上述のインターフェース定義の一部分として定義されている命名方式に従って、ソフトウェア開発者によって、視覚要素をサポートする該当する視覚要素コードセグメントに設定される。例えば、テジビジョン受信機における本発明の実装形態では、名前"epg_grid"を使用して視覚要素マネージャ26に登録されたEPG(電子番組ガイド)グリッド視覚要素は、下記のようにコンテンツに埋め込むことができる。
<OBJECT type = "epg_grid">
</OBJECT>
同様に、機能マネージャ28は、視覚要素の代わりにスクリプト機能についてのレジストリを提供する。ソフトウェアモジュールまたは他のコンポーネントは、好ましくは、機能マネージャ28によって提供されるAPIまたは他の何らかのタイプのインターフェースを使用して、システム20の他のコンポーネントに公開すべき任意のスクリプト機能を、機能マネージャ28に登録する。少なくとも、インターフェース定義に定義されたスクリプト機能名、および、スクリプト機能を登録したコンポーネントのコード空間内のスクリプト機能に対するポインタであるコールバックが、機能マネージャ28に登録されることが好ましい。登録されたスクリプト機能は、機能マネージャ28を介して、電子コンテンツに公開され、したがって電子コンテンツによってアクセス可能になる。
</OBJECT>
同様に、機能マネージャ28は、視覚要素の代わりにスクリプト機能についてのレジストリを提供する。ソフトウェアモジュールまたは他のコンポーネントは、好ましくは、機能マネージャ28によって提供されるAPIまたは他の何らかのタイプのインターフェースを使用して、システム20の他のコンポーネントに公開すべき任意のスクリプト機能を、機能マネージャ28に登録する。少なくとも、インターフェース定義に定義されたスクリプト機能名、および、スクリプト機能を登録したコンポーネントのコード空間内のスクリプト機能に対するポインタであるコールバックが、機能マネージャ28に登録されることが好ましい。登録されたスクリプト機能は、機能マネージャ28を介して、電子コンテンツに公開され、したがって電子コンテンツによってアクセス可能になる。
モジュールマネージャ30は、ソフトウェアモジュールの登録を可能にし、それによって、異なるソフトウェアモジュールの間の対話をサポートする。モジュール登録は、好ましくは、視覚要素およびスクリプト機能について上述したものと実質的に同様である。他のソフトウェアモジュールまたはシステムコンポーネントからアクセス可能とされる各ソフトウェアモジュールは、インターフェース定義の一部分として指定されるモジュール名、およびコールバックを登録し、それらを介して、他のコンポーネントは、登録されたソフトウェアモジュールと通信することができる。上述のように、名前およびコールバックは、登録の際に提供されうる登録情報の例示的な例を表している。
好ましい実施形態では、モジュールマネージャ30はまた、少なくとも1つの照会機能をサポートするためにAPIを公開し、それを介して、コンポーネントは、他のソフトウェアモジュールが登録されたかどうかを判定することができる。このような照会に応答して、モジュールマネージャ30は、特定のソフトウェアモジュールが登録されたかどうかを示す標識を提供することができ、登録されている場合は、そのソフトウェアモジュールに対するコールバックを提供することができる。他の実施形態では、モジュールマネージャ30は、別個の照会およびコールバックの要求機能をサポートする。そして、ソフトウェアモジュールは、照会に応答して、他のモジュールが存在する標識が受け取られた後に、他のモジュールに対するコールバックを要求する。
このように、モジュールマネージャ30は、他のソフトウェアモジュールまたはコンポーネントによるソフトウェアモジュールの発見または検出を容易にするが、モジュール間の通信および動作に関与しないことが好ましい。モジュールマネージャ30から、ソフトウェアモジュールが、他のソフトウェアモジュールとの通信の確立を可能にするコールバックまたは他のある種の情報を得た後、例えば、これらのソフトウェアモジュールは、モジュールマネージャ30の代わりにコールバックおよびコールバックハンドラを介するなどして、直接互いに通信することが好ましい。
モジュールマネージャ30の照会機能はまた、好ましくは、機能マネージャ28に登録され、それによって、照会機能は、コンテンツローダ22に公開され、したがって、他のシステムコンポーネントと同様に、ロードされる任意のコンテンツに公開される。
したがって、マネージャ26、28、30は、異なるタイプのソフトウェアコンポーネント、すなわち、視覚要素、スクリプト機能、ソフトウェアモジュールについて別々のレジストリを提供する。システム20において、モジュールマネージャ30は、例えば、その照会機能を機能マネージャ28に登録することができる。同様に、コンテンツローダ22は、それ自体をモジュールマネージャ30に登録することができる。
ただし、マネージャ26、28、30は、本発明の実施形態によるコンテンツ処理システムの基本的実装において設けられことが好ましいが、これらのマネージャによって維持されるレジスタは、必ずしも作成される必要はないことは認識されるべきである。内部視覚要素およびスクリプト機能は、コンテンツローダ22から直接アクセス可能であるので、中核のコンテンツ処理機能性は、マネージャ26、28、30との対話を伴う必要はまったくない。マネージャ26、28、および30への登録によって、視覚要素、スクリプト機能、およびソフトウェアモジュールが、電子コンテンツおよび他のシステムコンポーネントに公開される。システム20において、コンテンツローダ22は、唯一のソフトウェアモジュールである。
図3は、本発明の他の実施形態によるシステムのブロック図である。システム40は、コンテンツローダ42、ディスプレイ44、視覚要素マネージャ46、機能マネージャ48、モジュールマネージャ50、1つまたは複数の外部視覚要素コードセグメント52、および、1つまたは複数の外部ソフトウェアモジュール54を含む。図2を参照して上述したように、システム40における接続は、永続的な物理接続である必要はない。
システム40は、外部視覚要素コードセグメント52と外部ソフトウェアモジュール54を別としてシステム20とほぼ同じである。コンテンツローダ42、ディスプレイ44、およびマネージャ46、48、50は、図2の同様の名前のコンポーネントとほぼ同じであるが、システム40では、中核のコンテンツ処理機能性は、外部の視覚要素、スクリプト機能、およびソフトウェアモジュールを提供することによって拡張されている。
各視覚要素コードセグメント52は、コンテンツローダ42からのアクセス要求に応答して視覚要素マネージャ46によって呼び出されうるソフトウェアコードの一部分を含む。同様に、スクリプト機能を機能マネージャ48に登録する任意のソフトウェアモジュール54は、コンテンツローダ42からのアクセス要求に応答して呼び出されるソフトウェアコードを含む。外部ソフトウェアモジュール54が、スクリプト機能以外のタイプの処理動作のためのソフトウェアコードも含むことができることは認識されるべきである。本発明の一実施形態によれば、外部ソフトウェアモジュール54は、特定の形でコンテンツによって呼び出されるかまたはコンテンツにおいて参照されることなく、コンテンツにアクセス可能にされる。
視覚要素マネージャ46は、レジストリを提供し、そのレジストリを介して、外部視覚要素が、コンテンツローダ42によってロードされたコンテンツによってアクセスされることが可能である。各外部視覚要素コードセグメント52は、対応する外部視覚要素を視覚要素マネージャ46に登録し、それにより、その外部視覚要素がコンテンツローダ42に公開され、それによりロードされる任意のコンテンツに公開される。同様に、機能マネージャ48は、例えば、外部ソフトウェアモジュール54によって提供された、任意の登録された外部スクリプト機能を、コンテンツローダ42に公開する。
システム40では、外部視覚要素コードセグメント52は、外部スクリプト機能もサポートすることができる。これらのスクリプト機能は、外部視覚要素52と機能マネージャ48の間の破線で示されるように、機能マネージャ48に登録可能である。これは、視覚要素に関連付けられた外部視覚要素コードセグメント52が、外部機能をサポートおよび登録することができ、外部機能がコンテンツによってアクセス可能となるという点で、定義されたインターフェースの別の利点を表している。
1つまたは複数の外部ソフトウェアモジュール54は、視覚要素マネージャ46に任意の視覚要素を登録することができ、外部ソフトウェアモジュールは、その視覚要素のためのソフトウェアコードセグメントを組み入れる。この場合、視覚要素登録は、ほぼ上述の通りであるが、そのような視覚要素のためのソフトウェアコードセグメントは、ソフトウェアモジュール54に存在する。例えば、名前/コールバック視覚要素登録では、ソフトウェアモジュール54によって登録された視覚要素に対するコールバックは、ソフトウェアモジュールのコード空間におけるポインタである。
このように、外部視覚要素およびスクリプト機能は、視覚要素コードセグメント52、ソフトウェアモジュール54、または両方を端緒とすることができ、それらによってサポートされうる。
視覚要素マネージャ46および機能マネージャ48は、視覚要素とスクリプト機能の両方をサポートするソフトウェアコードと対話するが、アクセス動作は、別個のままであることに留意されたい。外部視覚要素のアクセスは、視覚要素マネージャ46を介し、外部スクリプト機能のアクセスは、機能マネージャ48を介する。マネージャ46、48は、コンテンツが、埋込み可能外部視覚要素および外部スクリプト機能にアクセスするためのメカニズムを提供する。
例えば、視覚要素コードセグメント52によってサポートされる外部視覚要素を埋め込んでいるコンテンツが、外部視覚要素のオカレンスまたはインスタンスも操作できるようにするために、外部スクリプト機能を、視覚要素コードセグメント52によって機能マネージャ48に登録することができる。対話型のスライダを、下記のようにコンテンツ内に埋め込まれた「S1」という名前の視覚要素の例示的な例として考える。
</OBJECT ID="S1" TYPE="slider" WIDTH="200" HEIGHT="30">
<PARAM NAME="MIN" VALUE="0">
< PARAM NAME="MAX" VALUE="100">
< PARAM NAME="VALUE" VALUE="30">
</OBJECT>
この視覚要素は、最初は、現在の値の30を示している幅100のスライダとして与えられる(レンダリングされる)。例えば、受け取られたデータまたはユーザ入力に応答して、コンテンツが「VALUE」パラメータを変更し、従ってスライダの外観を変更することを可能にするために、視覚要素マネージャ46にスライダを登録した視覚要素コードセグメント52は、「slider.set_value()」のようなスクリプト機能を機能マネージャ48に登録することもできる。そして、コンテンツが、75の現在値を示すようにスライダを変更しようとする場合、登録された機能は、「slider.set_value ("S1", 75)としてアクセス可能である。もちろん、上記は、視覚要素および関連するスクリプト機能の一例であり、本発明は、これに限定されるものではない。
<PARAM NAME="MIN" VALUE="0">
< PARAM NAME="MAX" VALUE="100">
< PARAM NAME="VALUE" VALUE="30">
</OBJECT>
この視覚要素は、最初は、現在の値の30を示している幅100のスライダとして与えられる(レンダリングされる)。例えば、受け取られたデータまたはユーザ入力に応答して、コンテンツが「VALUE」パラメータを変更し、従ってスライダの外観を変更することを可能にするために、視覚要素マネージャ46にスライダを登録した視覚要素コードセグメント52は、「slider.set_value()」のようなスクリプト機能を機能マネージャ48に登録することもできる。そして、コンテンツが、75の現在値を示すようにスライダを変更しようとする場合、登録された機能は、「slider.set_value ("S1", 75)としてアクセス可能である。もちろん、上記は、視覚要素および関連するスクリプト機能の一例であり、本発明は、これに限定されるものではない。
モジュールマネージャ50は、同様に、内部と外部の両方のソフトウェアモジュールのレジストリを維持することができる。コンテンツローダ42は、登録可能な内部ソフトウェアモジュールの一例である。外部ソフトウェアモジュールは、54で示されている。いずれの外部視覚要素コードセグメント52も、例えば登録された名前およびコールバックを介してシステム40の他のコンポーネントとのさらに直接の対話を可能にするために、モジュールマネージャ50に登録することができる。
視覚要素、スクリプト機能、およびソフトウェアモジュールの登録は、任意の数のトリガに応答することができる。上述のように、内部ソフトウェアモジュールは、他のコンポーネントとの対話が望まれるかまたは要求されるのでなければ、モジュールマネージャ50に必ずしも登録する必要はない。システム40が始動するときに存在する、任意の内部コンポーネント、または外部視覚要素コードセグメント52およびソフトウェアモジュール54については、例えば、始動の際に登録を開始することができる。新しい外部視覚要素コードセグメントおよびソフトウェアモジュールは、それらがシステム40にインストールされたとき、または次にシステム40が始動したとき、視覚要素およびスクリプト機能をマネージャ46、48に登録することができ、また、それら自体をモジュールマネージャ50に登録することができる。これらのタイプのトリガは、初期化トリガと見なすことができる。視覚要素、スクリプト機能、およびソフトウェアモジュールの登録はまた、他の視覚要素、スクリプト機能、またはソフトウェアモジュールの登録、特定の装置のインストールまたは存在、ユーザ入力、あるいは何らかの他の実行時イベントまたはトリガに応じて変わりうる。例えば、ソフトウェアモジュールがインストールされたとき、または他のコンポーネントがインストールされたとき、視覚要素およびスクリプト機能の登録のように、ソフトウェアモジュール登録は、始動の際に呼び出すことができる。ソフトウェアモジュール54のモジュールマネージャ50への登録は任意選択であることはやはり認識されるべきである。好ましい実施形態では、登録のタイミングおよび条件は、登録可能なコンポーネントをサポートするソフトウェアコードにおいて設定される。例えば、コンテンツローダ42、各外部視覚要素コードセグメント52、および各ソフトウェアモジュール54は、マネージャ46、48、50のうちどれにいつ登録を行うべきかを設定する、ソフトウェアコードを含むことが好ましい。
視覚要素、スクリプト機能、およびソフトウェアモジュールの登録解除は、視覚要素または機能がもはやサポートされないか、またはソフトウェアモジュールが除去されるときなどに企図される。
したがって、システム20および40は、動的処理システムを提供することは明らかであろう。外部視覚要素、外部スクリプト機能、およびソフトウェアモジュールに対する他のシステムコンポーネントによるアクセスは、マネージャ46、48、50への登録を介して制御される。コンテンツが、新しいバージョンの視覚要素、スクリプト機能、またはソフトウェアモジュールを反映するように更新される必要がないという点で、定義されたインターフェースもまた、アップグレードおよび他の修正を簡易にする。アップグレードされたバージョンの内部もしくは登録された外部視覚要素、スクリプト機能、またはソフトウェアモジュールは、たとえソフトウェアコードがアップグレードされたとしても、同じ名前を使用してコンテンツからアクセス可能である。
システム20および40の他の有利な特徴は、内部視覚要素およびスクリプト機能をサポートしているシステム20が、システム40とほぼ同様であることである。中核のコンポーネント、特に、マネージャ26、28、30と、マネージャ46、48、50は、双方のシステムで共通である。それにより、電子デバイス製造者またはソフトウェア提供者は、移植可能な形式で、例えばマークアップ言語で、コンテンツを処理するように構成された、コアコンテンツ処理システムを開発することができる。そうすると、顧客やユーザのような他の主体が、外部視覚要素、スクリプト機能、またはソフトウェアモジュールを利用するために、コアシステムをカスタマイズまたは拡張することができる。
したがって、本発明の実施形態は、コンテンツと機能性という少なくとも2つの意味で動的である。好ましくは移植可能な形式の任意のコンテンツは、コンテンツ処理システムにおいてサポートされる同じ基礎的機能性に対して異なるルークアンドフィールを与えることができる。異なるプラットフォームや、単一の処理システムの「オンザフライ」に対し、コンテンツを変更することによって、同じ機能性に対して動的なルックアンドフィールが提供される。コンテンツ処理システムの機能性もまた、動的である。マネージャは、中核の機能性を外部コンポーネントによって拡張することを可能にする。このような柔軟性は、再設計または実質的なソフトウェアプログラミング開発なしに提供される。
図4は、本発明の一実施形態によるシステムの特定の一実装形態のブロック図であり、この図から、登録プロセスおよびコンテンツ処理が明らかになる。システム60は、システム40とほぼ同様であり、外部テレビジョン64に接続されたコンテンツローダ62、視覚要素マネージャ66、機能マネージャ68、およびモジュールマネージャ70を含む。EPGグリッド要素72は、視覚要素マネージャ66に登録されている。PVRソフトウェアモジュール76は、システム60内に存在しているが、例示を目的として、このモジュールの機能は、PVR78と関連付けられており、このモジュールは、モジュールマネージャ70または機能マネージャ68に登録されていないことが想定されている。システム60は、例えば、ゲーブルテレビ受信機や衛星放送受信機に適用することができる。
次に、コンテンツが番組ガイドソフトウェアアプリケーションのためのUI定義を提供する例示的な例のコンテキストで、システム60の動作を説明する。このコンテンツは、外部視覚要素72に対する埋込み参照と、コンテンツローダ22によってサポートされた内部視覚要素としての「録画」アイコンとを有し、また、録画アイコン74と関連付けられた機能呼出しを含む。
番組ガイドソフトウェアアプリケーションが実行されると、コンテンツがロードされ提供されてテレビジョン64に表示される。好ましい実施形態では、ユーザが受信機またはリモートコントロール上の「ガイド」または同様のキーを押すと、UIがコンテンツから組み立てられ表示される。しかし、UIは、必ずしも直ちにテレビジョン64に表示されない。
EPGグリッド要素72は、実際上、処理システム60に受け取られた番組情報が挿入されるテンプレートである。この要素に対する埋込み参照、例えば「epg_grid」に、コンテンツローダ62で遭遇した場合、それは、視覚要素マネージャ66に要求され、視覚要素マネージャ66が、登録された名前およびコールバックを使用して、EPGグリッド要素72を取得し、その要素をコンテンツローダ62に返す。視覚要素の実際のコンテンツは、視覚要素をサポートしているソフトウェアコードセグメント内に固定されているが、コンテンツローダ62、または厳密にはコンテンツは、例えばサイズや位置のような視覚要素の属性を制御することができる。
本発明の一実施形態によれば、グリッド要素72および他の登録された視覚要素に対するアクセスは、視覚要素のメタ情報の表現である定義されたタイプオブジェクトを介して提供されうる。タイプオブジェクトは、視覚要素マネージャ66が、要求された視覚要素と登録された名前の合致に成功したとき、コンテンツローダ62に返される。次いで、タイプオブジェクトは、さらに別のタイプオブジェクトを得るためにハンドルとして使用され、この別のオブジェクトは、処理システムの基本要素のサブクラスであり、ロードされるコンテンツの表示の表現内に挿入されるオブジェクトである。このように、返されたタイプオブジェクトは、視覚要素の視覚表示をもたらす。実施形態において、視覚要素の表示が、処理システムの基本要素に関係するものであっても、視覚要素は、定義された名前を介してコンテンツからアクセス可能である。コンテンツは、視覚要素にアクセスするために、処理システムの基本要素を認識するまたはそれと互換性がある必要はない。他のアクセスのメカニズムも当業者には明らかであろう。
この例における内部視覚要素である埋込み録画アイコンの表示は、好ましくは、録画機能の使用可能性に依存する。そのような視覚要素の表示を支配するいくつかの制御メカニズムがありうる。例えば、録画アイコン視覚要素が表示される前に、前述の照会機能などを介して、PVRソフトウェアモジュール76が登録されているかどうかを判定することができる。この判定は、埋込み録画アイコン視覚要素が解決または取得される前に、あるいは、視覚要素が取得された後でそれが表示される前に行うことができる。コンテンツローダ62は、照会機能が登録されたかどうかを判定し、次いで、例えばPVRソフトウェアモジュール76の定義された名前を使用して、機能マネージャ68を介してモジュールマネージャ70に照会する。録画アイコンは、この例のように、PVRソフトウェアモジュール76がモジュールマネージャ70に登録されていない場合、表示されないことが好ましい。
他の実施形態では、録画アイコンの取得および表示は、機能マネージャ68に対する機能照会に応じて変わる。上述のように、ソフトウェアモジュールは、必ずしもモジュールマネージャ70と機能マネージャ68の両方に登録する必要はない。この場合、コンテンツローダ62は、機能マネージャ68に照会して、PVR録画機能が使用可能であるどうかを判定し、使用可能である場合、内部録画アイコン視覚要素を表示する。ただし、PVRソフトウェアモジュール76が存在するが、それ自体をモジュールマネージャ70に登録していないか、または録画機能を機能マネージャ68に登録していない場合、録画アイコンは、取得されないか少なくとも表示されないことが好ましい。
上述の登録されたモジュールまたは機能の判定は、例えば、コンテンツのロードを開始したとき、または、それより後のUIにおける録画アイコンの表示より前の時間に行うことができる。視覚要素が表示される前に視覚要素を取得し任意の必要な判定を行うことができるように、判定を視覚要素ソフトウェアコードセグメントに組み込むこともできる。したがって、UIは、そのような判定によって決定された可視範囲を有する視覚要素を含むことができる。
他の実施形態において、機能または視覚要素が登録されているかどうかに関する判定は、別個の動作ではなくアクセス要求において暗黙的にありうる。例えば、要求された視覚要素または機能についてのソフトウェアコードセグメントは、ソフトウェア要素が使用可能であるとき、使用可能性の明示的な別個の判定なしに返され実行される。
図4における破線で示されるように、処理システム60が実装されるテレビジョン受信機への接続などによって、PVR78がインストールされているまたはPVR78と関連してインストールされている電子デバイスに、処理システム60が設けられたとき、少なくとも機能マネージャ68と場合によってはモジュールマネージャ70へのPVRソフトウェアモジュール76の登録が開始される。
一実施形態では、PVR78は、PVRソフトウェアモジュール76と通信して、PVR78の機能がシステム60を介してアクセス可能になるよう構成される。PVRソフトウェアモジュール76とPVR78の間の通信のために使用されるのと同じインターフェースを、PVR78がインストールされているかどうかを判定するためにPVRソフトウェアモジュール76によって、あるいは、PVRがインストールされていることをPVRソフトウェアモジュール78に通知するためにPVR78によって使用することができる。
モジュールマネージャ70は、他のタイプのトリガされる登録もサポートすることができる。当業者には明らかなように、システム60は、異なるタイプのデバイスによって使用することができるデバイスインターフェースを含むことができる。ユニバーサルシリアルバス(USB)インターフェースは、そのようなインターフェースの一例であり、これを介して、プリンタ、ポインティングデバイス、カメラ、および多数の他のタイプのデバイスを、電子デバイスに接続することができる。システム60において、システムの他のコンポーネントが、接続されたUSBデバイスにアクセスできるように、USBソフトウェアモジュールを提供することができる。好ましくは、USBソフトウェアモジュールは、モジュールマネージャ70に登録を行い、USBデバイスのUSBインターフェースへの接続を検出し、次いで、その接続されたデバイスと対話しうる他の任意の登録されたソフトウェアモジュールに、そのデバイスが接続されていることを通知する。USBソフトウェアモジュール自体の登録もまた、デバイスの接続によってトリガすることができる。
実行時トリガが、ソフトウェアモジュール、機能、および視覚要素の登録解除を呼び出すことができることも認識されるべきである。PVRソフトウェアモジュール76の機能は、PVR78の存在に依存するため、好ましくは、PVR78の切断または障害は、PVRソフトウェアモジュール76によって検出され、PVRソフトウェアモジュールが、次いで、もはやサポートされていない機能に対する機能呼出しを回避するために登録解除動作を実行する。
動的処理システムは、このようにして提供される。コンテンツがロードされるたびに、場合によってはコンテンツのロードの際に、異なる組の視覚要素およびスクリプト機能を、使用可能とし、また検出することができる。同じコンテンツが、使用可能な視覚要素およびスクリプト機能に応じて、異なるように振る舞うことができる。上記の番組ガイドソフトウェアアプリケーションについてのUI定義の例では、同じコンテンツが、PVRを含むかまたはPVRに接続された第1の処理システムのための録画アイコンを含むUIと、PVRまたは録画機能が使用可能でない第2の処理システムのための録画アイコンを含まないUIとを提供する。
図5は、本発明の実施形態に従って生成されたそのようなUIのブロック図である。図5では、テレビジョン64のようなモニタ上でユーザに表示される画面61は、EPGグリッド要素67を含み、好ましくは、それは、受け取られた番組スケジュール情報を使用して作成される。画面61の他の領域63は、機能ボタン、録画アイコン69、および情報アイコン65を表示する。リモートコントロールまたは他の入力デバイスからのユーザ入力に応答して、カーソルまたはポインタは、EPGグリッド67内の特定の番組に移動することができる。次いで、録画または情報キーの操作や録画または情報アイコンの選択のような後続のユーザ入力に応答して、番組を録画したり、あるいは、番組に関係する情報を、画面61あるいは別個の画面またはウィンドウに表示することができる。
先の例を参照すると、録画アイコン69は、録画機能が使用可能であるときのみ、可視とされることが好ましい。録画機能が使用可能でない実装態様では、録画アイコンは、不可視または影付きとされる、あるいは動作不能として示されている。番組情報を表示する能力は、番組スケジュールのより中核の機能性であり、したがって、内部視覚要素、スクリプト機能、あるいはさらにそれらの組合せとして使用可能であることが好ましい。
図5から明らかなように、録画アイコンおよびPVRソフトウェアモジュールは、録画機器と共にあるいは録画機器なしに使用されうるコンテンツ処理システムのために提供することができる。視覚要素およびスクリプト機能は、同じコンテンツによって、様々な実装形態で異なるように使用されうる。また、録画装置をインストールするなどのアップグレードは、コンテンツによって自動的に検出されることになる。
マネージャおよび定義されたインターフェースは、リソースがコンテンツ間で共用されうるアーキテクチャを提供する。マネージャを介して、外部視覚要素およびスクリプト機能が、コンテンツに公開され、ソフトウェアモジュールが、互いに対話することができる。定義されたインターフェースは、外部視覚要素コードセグメントおよびスクリプト機能、ソフトウェアモジュール、ならびにコンテンツが処理システム間で完全に移植可能であるフレームワークを、指定する。異なる処理システムが同じマネージャを含む場合であっても、マネージャが対話する外部視覚要素、スクリプト機能、およびソフトウェアモジュールは、例えば、コンテンツ処理システムの製造者、ベンダ、またはコンテンツ処理システムが実装される電子デバイスの製造者によって、あるいはユーザによっても、カスタマイズすることができる。インターフェース定義の配布により、コンテンツ、視覚要素コードセグメント、およびソフトウェアモジュールの開発が、コンテンツ処理システムまたはデバイスの元の製造者以外の当事者によって可能となる。そうした配布により、開発コミュニティが大幅に拡大し、したがって、使用可能になる互換性のあるコンテンツ、視覚要素、および機能の範囲が大幅に拡大する。
図6は、本発明の一実施形態による方法71を例示するフロー図である。上述のように、UI定義は、コンテンツの例示的な例と見なされる。ただし、本発明は、そのようなコンテンツに限定されるものでないことは認識されるべきである。
73で、コンテンツがロードされる。75で判定されるように、埋込み視覚要素に遭遇した場合、77で、その視覚要素が内部視覚要素かあるいは外部視覚要素であるかについて判定が行われる。外部視覚要素の場合、前述のシステム内の視覚要素マネージャによって維持される視覚要素レジストリが、81で検査され、そして、視覚要素が発見された場合(83)、85で視覚要素が処理される。視覚要素処理は、例えば、1つまたは複数のタイプオブジェクトを取得したり、コンテンツの表現にタイプオブジェクトを挿入するような動作を含むことができる。83で外部視覚要素が発見されない場合、87でエラー処理が行われる。87におけるエラー処理は、例えば、図示のように利用できない視覚要素なしでコンテンツ処理を継続することを決定すること、あるいは、コンテンツ処理を中止することを含むことができる。
内部視覚要素は、コンテンツから直接アクセス可能であり、したがって、89で、内部視覚要素は、コンテンツとその結果の表示の表現に挿入するために処理される。
80でスクリプト機能に遭遇した場合、スクリプト機能は91で処理され、必要ならば、例えば、スクリプトコンパイラによって処理される。コンテンツとしてのUI定義の本例では、スクリプト機能の実行は、通常、コンテンツがロードされてUIが表示されたときに発生するユーザ入力または他のイベントに応答して行われる。
ある例示的実施形態では、UI定義は、論理レイアウトおよび制御情報を含む。HTML(ハイパーテキストマークアップ言語)などのマークアップ言語は、これらの能力を、視覚要素を含む論理レイアウトのためのマークアップ、および、制御のための例えばJavaScriptにおけるスクリプトにおいて提供する。コンテンツに関する他の適切な開発言語についても当業者には明らかであろう。
コンテンツはまた、UIに組み込まれるラベルや他のテキストのような情報またはデータを含むことができる。番組ガイドでは、この情報は、時間、日付、および番組名などの情報を含むことができる。明らかなように、情報は、追加あるいは代わりとして、受け取られ次いでUI内に表示されうる。図6では視覚要素およびスクリプト機能処理だけが示されているが、ロードされたコンテンツにおける他のタイプの情報も、必要に応じてロード中またはロード後に処理されることは認識されるべきである。したがって、本発明は、図6に示す順番の特定の動作を含む方法に少しも限定されない。方法71の他の変形形態も当業者には明らかであろう。
本発明の他の態様によれば、ソフトウェアモジュールはまた、例えば、登録された機能を介して呼び出された、ユーザによって呼び出され、あるいはコンテンツのロードなどの実行時トリガに応答して自動的に開始されたソフトウェアモジュールであっても、コンテンツを修正することができる。したがって、上述の動作のいくつかは、ブラウザによって実行される提供動作とある程度同じであるように見えるが、本発明の態様によるコンテンツ処理技術は、周知のブラウザ技術に比べていくつかの利点を提供している。
例えば、ブラウザなどに埋め込まれた単なるプラグインの概念ではなく、本発明の実施形態によれば、ソフトウェア要素は、明確に登録可能な部分として分離される。埋込み視覚要素は、明確に定義された命名方式を使用してコンテンツのロードの際に解決される。上述のように、コンテンツは、視覚要素レジストリを使用して解決される外部視覚要素を埋め込むことができる。ソフトウェアモジュールおよび機能は、コンテンツを操作するためにコンテンツ内に埋め込む必要はない。
視覚要素コードセグメントを含むことができるソフトウェアモジュールは、同様に、モジュールマネージャに登録され、明確に定義された命名方式を使用して他のモジュールによって位置を求めることができ、したがって、そのモジュールマネージャを介してコールバックが送出されるまたは公開されると、他のモジュールからアクセス可能となる。これらのソフトウェアモジュールはまた、同じ命名方式、および、モジュールマネージャによって機能マネージャに登録される上述の照会機能のような登録されたスクリプト機能を用いて、コンテンツによって位置を求めることができる。ソフトウェアモジュールがその機能を機能マネージャに登録した場合、これらの機能もコンテンツからアクセス可能である。
モジュールマネージャは、ソフトウェアモジュールの発見およびそれに続くソフトウェアモジュール間の対話を容易にするが、代わりに、ソフトウェアモジュールは、より直接的に通信することができるように、より静的にリンクされることがある。例えば、USBソフトウェアモジュールを、コンテンツ処理システムに接続されうるUSBデバイスに関連付けられた他の任意のソフトウェアモジュールに、静的にリンクすることができる。
これらのタイプのソフトウェアコンポーネント間での分離によって、いくつかの利益がもたらされる。例えば、ブラウザプラグインは、ロードされる任意のコンテンツに埋め込まなければならない。しかし、ソフトウェアモジュールまたはスクリプト機能は、どの特定のコンテンツとも関連付けられる必要がない。一実施形態では、それ自体がソフトウェアモジュールであるコンテンツローダが、インターフェースを提供し、そのインターフェースによって、他のソフトウェアモジュールが、コンテンツがロードされるたびに、通知のためにコールバックを割り当てることができる。モジュールマネージャを介して、他のソフトウェアモジュールが、コンテンツローダを発見し、次いで、そのような通知のために登録を行うことができる。好ましい実施形態では、モジュール特有のフィルタ設定が、登録の際に、特定のタイプのコンテンツをセットする通知のために確立され、そのコンテンツについての通知が生成される。他の実施形態では、各ソフトウェアモジュールは、いくつかの特定のタイプのコンテンツについての通知を単に無視する。通知とともに、コンテンツローダは、コンテンツドキュメントと見なすことができるメモリ内のコンテンツの表現に対するハンドル(取っ掛かり)を供給する。続いて、ソフトウェアモジュールは、ハンドルを使用してコンテンツに対しアクセスし操作することができる。したがって、コンテンツは、コンテンツ内で参照されない外部ソフトウェアコンポーネント(この例ではソフトウェアモジュール)により、アクセスし操作することができる。コンテンツそれ自体は、そのようなソフトウェアモジュールをまったく意識しなくてよい。この組込みのレベルは、ブラウザまたは他の既知のコンテンツ処理システム内に設けられない。
また、視覚要素は、コンテンツに完全に組み込まれる。これにより、視覚要素が、コンテンツ内の1つの位置だけにとどまらず、実質的にその周囲の環境を「意識せず」に、その周りの他のコンテンツにアクセスしそれを直接操作することが可能になる。上述したように、一実施形態における視覚要素は、処理システムの基本要素のサブクラスであり、したがって、その他の基本要素との違いはない。ただし、視覚要素の表示を可能にするために、コンテンツハンドルが、視覚要素コードセグメントに渡されることが好ましい。コンテンツハンドルは、ソフトウェアモジュールのように、視覚要素が、コンテンツを検査し操作することを可能にする。
この種の機能的分離の他の利点は、本発明の実施形態によるシステムが、いずれの特定のマークアップ言語の意味論的制限によっても妨害されないことである。視覚要素、ソフトウェアモジュール、およびスクリプト機能は、コンテンツの任意のアスペクトに対し直接アクセスして操作することができ、それにより、周知のブラウザまたは他のコンテンツ処理システムによって許容される制御よりも、完全で複雑なコンテンツの制御が可能になる。
図7は、本発明の他の実施形態に従って生成されるUIのブロック図である。このUIは、ディスプレイ上の画面92を生成し、画面92は、情報表示ウィンドウ96、表示に関する現在の情報選択を示すタイトルまたはインデックスウィンドウ97、矢印98、99、検索タイトル94、ウィンドウ94、およびボタン95を含む。矢印98、99、検索タイトル93、検索ウィンドウ94、および検索ボタン95は、内部であっても外部であってもよく、コンテンツの処理中に解決されユーザに表示されうる、例示的視覚要素である。矢印98、99を操作するユーザ入力により、96に表示される情報を変更するための関連付けられた機能が呼び出される。同様に、この例では両方とも視覚要素であるが、ウィンドウ94内の検索キーワードのエントリと検索キー95の操作は、ウィンドウ96内のテキストにおけるキーワードの出現を強調表示したり、コンテンツを操作するなどの検索機能を実行する。
コンテンツの提供者は、この検索機能を意識する必要がないことに留意されたい。このコンテンツは、コンテンツ処理システムに対応している場合、検索機能および他の機能は、このコンテンツと関連して動作可能である。
図8は、本発明の一実施形態によるシステムの様々なコンポーネントの間のインターフェースのブロック図である。システム110は、プロセッサ、メモリ、入力部、および他の処理システムコンポーネントなどの物理コンポーネントを含むネイティブシステム126上で動作するように構築されている。したがって、ネイティブシステム126は、ハードウェアを含み、ソフトウェアは、このようなハードウェアと関連して、図8に示すインターフェース構造を提供するために実行される。
プラットフォームポート126および移植インターフェース122は、128で示されるネイティブシステムプロトコルと132で示されるコンテンツ処理システムプロトコルの間の変換を可能にする。このような変換は、代わりに、3個より多いポートまたはインターフェースあるいは単一ポートを使用しても達成することができる。しかし、図8では、高移植性ソフトウェアアーキテクチャの可能な一実装形態を例示するために、2つのレイヤが示されている。プラットフォームポート124は、ネイティブシステム126に依存し、例えば、コンテンツ処理システムの提供者、またはネイティブシステム128のオーナなど他の主体によって設計することができる。移植インターフェース122は、プラットフォームポートが実行するよう要求される変換の範囲を効果的に縮小する。プラットフォームポートは、プロトコル128とプロトコル130の間の変換を行い、好ましくは他の定義されたプロトコルまたはインターフェースである。プロトコル130と処理システムプロトコル132の間の残りの変換は、移植インターフェース122によって行われる。したがって、プロトコル130と動作するように構成された任意のプラットフォームポート124は、このプロトコルを提示する任意の処理システムとの動作に対して有効である。このように、プラットフォームポート124は、システム110における唯一のカスタムコンポーネントである。他のすべてのコンポーネントは、プラットフォームポート124を含むネイティブシステム126間で移植可能である。
上述のように、移植インターフェース122はまた、ネイティブシステム126のコンポーネントにアクセスできるかまたはそれによってアクセスされうるコンテンツ処理システムにおける任意のコンポーネントに、定義されたインターフェース132を提示する。例えば、プラットフォームポート124および移植インターフェース122は、ユーザ入力または他のネイティブシステムイベントを、処理のために、イベントキュー(図示せず)を介するなどしてコンテンツローダ112に渡すことを可能にする。例えば、テレビジョン受信機のリモートコントロール上でのキー押し(key press)を、後続の取得と、イベントハンドラによって番組ガイドを変更する処理のために、ネイティブシステム126によってイベントキューに送付することができる。
図8において、視覚要素コードセグメント114と視覚要素マネージャ116の間、ソフトウェアモジュール120と機能マネージャ118の間、ソフトウェアモジュール120とモジュールマネージャ119の間、マネージャ116および118とコンテンツローダ112の間、ならびに、モジュールマネージャ119とコンテンツローダ112の間の、136、140、141、138A/138B、および142としてそれぞれ示されているインターフェースも定義される。したがって、定義された共通インターフェースまたはプロトコル134は、コンテンツローダ112によってコンテンツに提示することができる。コンテンツは、任意のコンテンツ処理システム110におけるソフトウェア要素およびモジュールにアクセスするために、インターフェースまたはプロトコル134を実装するよう単に設計されればよい。そのような定義されたインターフェースの他の利点は、前に説明されている。
図8のアーキテクチャは、コンテンツ処理システムの移植と、異なるタイプの電子デバイスにおけるこのようなコンテンツ処理システムのためのソフトウェアの組込みとを可能にする。同じコンテンツを、異なるタイプのデバイス上で実行することができる。同様に、同じソフトウェア要素およびモジュールが、処理システムによってロードされたすべてのコンテンツからアクセス可能なので、ユーザに、異なるコンテンツ間の実質的にシームレスな体験が与えられる。
上記に説明したことは、本発明の原理の適用の例示にすぎない。当業者には、他の構成および方法を、本発明の趣旨および範囲から逸脱することなく実装することができる。
例えば、コンテンツ、ソフトウェア要素、およびソフトウェアモジュールの例示的な例が上記に説明されているが、コンテンツ、要素、およびモジュールの他のタイプは、当業者には明らかであろう。本発明は、上述の例、あるいは、特定の組のコンテンツ、要素、またはモジュールのいずれにもまったく限定されるものではない。
また、ソフトウェアアプリケーションおよび機能についての多くの異なる実行方式は、当業者には明らかであろう。一実施形態では、スクリプト機能呼出しが、実行のために、機能マネージャによって、バーチャルマシン、例えばJVM(Java(商標)仮想マシン)に渡される。
また、上記のオブジェクトおよびインスタンスに対する参照は、単に例示を意図している。本発明は、オブジェクト指向プログラミング環境における実装にまったく限定されるものではない。
Claims (42)
- 電子コンテンツ処理方法であって、
少なくとも1つの内部ソフトウェア要素を定義する内部ソフトウェアモジュールを提供する工程と、
外部ソフトウェア要素についてのソフトウェア要素レジストリを含む、異なるタイプのソフトウェア要素についての複数のそれぞれのレジストリを提供する工程と、
前記内部ソフトウェア要素に対する電子コンテンツ内の埋込み参照、および前記ソフトウェア要素レジストリ内の任意の外部ソフトウェア要素に対する前記電子コンテンツ内の埋込み参照を分析するために、前記内部ソフトウェアモジュールを使用して前記電子コンテンツを処理する工程と、を含み、
前記ソフトウェア要素レジストリ内の前記外部ソフトウェア要素は、ソフトウェアコードによってサポートされる少なくとも1つの外部ソフトウェア要素を含み、前記少なくとも1つの外部ソフトウェア要素に対する前記電子コンテンツ内の埋込み参照を解決するために処理することは、前記電子コンテンツに関連付けられたハンドルを供給することを含み、前記電子コンテンツは、前記ハンドルを使用して前記ソフトウェアコードからアクセス可能である、方法。 - さらに、複数の外部ソフトウェア要素を提供する工程と、
前記ソフトウェア要素レジストリに前記複数の外部ソフトウェア要素のそれぞれを登録する工程と、を含む、請求項1に記載の方法。 - 前記少なくとも1つの内部ソフトウェア要素は、表示のための視覚コンポーネントを有する内部視覚要素を含み、前記少なくとも1つの外部ソフトウェア要素は、表示のための視覚コンポーネントを有する外部視覚要素を含む、請求項1に記載の方法。
- 各外部ソフトウェア要素は、ソフトウェアコードによってサポートされ、登録することは、各外部ソフトウェア要素ごとの登録情報を、それをサポートしているソフトウェアコードから前記ソフトウェア要素レジストリに提供することを含む、請求項2に記載の方法。
- 前記登録情報は、外部ソフトウェア要素名、および、前記外部ソフトウェア要素をサポートしている前記ソフトウェアコードの一部分に対するポインタを含む、請求項4に記載の方法。
- 前記ソフトウェア要素レジストリ内の任意の外部ソフトウェア要素に対する前記電子コンテンツ内の埋込み参照を分析するために処理する工程は、さらに
前記ソフトウェア要素レジストリに各埋込み外部ソフトウェア要素を要求する工程と、
前記埋込み外部ソフトウェア要素が、前記ソフトウェア要素レジストリに登録されているかどうかを判定する工程と、
前記埋込み外部ソフトウェア要素が前記ソフトウェア要素レジストリに登録されている場合に、前記外部ソフトウェア要素の表現を返す工程と、含む、請求項1に記載の方法。 - 前記ソフトウェアコードは、前記ハンドルを使用して前記電子コンテンツを操作する、請求項1から6のいずれか一項に記載の方法。
- 前記複数のレジストリは、ソフトウェアモジュールについてのソフトウェアモジュールレジストリをさらに含む、請求項1から6のいずれか一項に記載の方法。
- さらに、少なくとも1つの外部ソフトウェアモジュールを提供する工程と、
前記ソフトウェアモジュールレジストリに、前記内部ソフトウェアモジュールからアクセス可能にされる各外部ソフトウェアモジュールおよび任意の他の外部ソフトウェアモジュールを登録する工程と、を含む請求項8に記載の方法。 - さらに、前記内部ソフトウェアモジュールを前記ソフトウェアモジュールレジストリに登録する工程を含む、請求項9に記載の方法。
- 前記少なくとも1つの外部ソフトウェアモジュールは、外部ソフトウェア要素をサポートしている外部ソフトウェアモジュールを含み、前記方法は、さらに、
前記外部ソフトウェア要素を前記ソフトウェア要素レジストリに登録する工程を含む、請求項9に記載の方法。 - 前記内部ソフトウェアモジュールは、電子コンテンツが処理されていることを、前記少なくとも1つの外部ソフトウェアモジュールに通知するための通知機能をサポートし、前記方法は、さらに、
電子コンテンツが処理されていることが通知される各外部ソフトウェアモジュールを、前記通知機能に登録する工程と、
前記通知機能に登録された各外部ソフトウェアモジュールに、電子コンテンツが処理されていることの通知を提供する工程と、を含む、請求項11に記載の方法。 - 通知を提供する工程は、コンテンツハンドルを供給する工程を含み、前記コンテンツハンドルを使用して、前記電子コンテンツはアクセス可能となっている、請求項12に記載の方法。
- 前記通知機能に登録された前記外部ソフトウェアモジュールの少なくとも1つは、前記コンテンツハンドルを使用して、前記電子コンテンツにアクセスしそれを操作する、請求項13に記載の方法。
- 前記複数のレジストリは、さらに、スクリプト機能についてのスクリプト機能レジストリを含む、請求項9に記載の方法。
- 前記少なくとも1つのソフトウェアモジュールは、少なくとも1つのスクリプト機能を定義するソフトウェアモジュールを含み、前記方法は、さらに、
前記電子コンテンツからアクセス可能にされる前記少なくとも1つのスクリプト機能のそれぞれを、前記スクリプト機能レジストリに登録する工程を含む、請求項15に記載の方法。 - 前記電子コンテンツは、ソフトウェアアプリケーションのためのUI(ユーザインターフェース)定義を含む、請求項1から6のいずれか一項に記載の方法。
- 前記ソフトウェアアプリケーションは、テレビ番組スケジュールアプリケーションである、請求項17に記載の方法。
- テレビジョン受信機に実装される、請求項1から6のいずれか一項に記載の方法。
- プロセッサによって実行されたときに請求項1から6のいずれか一項に記載の方法を実施するステートメントまたは命令を格納する、コンピュータ可読媒体。
- さらに、コンテンツハンドルを使用して、電子コンテンツにおいて参照されるスクリプト機能を、呼び出す工程を含み、
前記電子コンテンツは、前記ハンドルを使用してアクセス可能となっている、請求項15に記載の方法。 - 前記ソフトウェアモジュールレジストリは、ソフトウェアモジュールの使用可能性を照会するための照会機能をサポートし、前記スクリプト機能レジストリに登録することは、前記照会機能を前記スクリプト機能レジストリに登録することを含む、請求項16に記載の方法。
- 電子コンテンツ処理方法であって、
埋込み可能ソフトウェア要素を定義する内部ソフトウェアモジュールを提供する工程と、
外部ソフトウェアモジュールを提供する工程と、
前記埋込み可能ソフトウェア要素に対する電子コンテンツ内の埋込み参照を分析するために、前記内部ソフトウェアモジュールを使用して前記電子コンテンツを処理する工程と、
前記電子コンテンツの前記処理を前記外部ソフトウェアモジュールに通知する工程と、
前記通知に応答して前記外部ソフトウェアモジュールによって前記電子コンテンツにアクセスする工程と、を含む、方法。 - さらに、前記電子コンテンツを前記外部ソフトウェアモジュールによって操作することを含む請求項23に記載の方法。
- さらに、ソフトウェアモジュールレジストリを提供する工程と、
前記内部ソフトウェアモジュールのインターフェースを、前記ソフトウェアモジュールレジストリに登録する工程と、
前記電子コンテンツの前記処理の通知を受け取るために、前記インターフェースを使用して、前記外部ソフトウェアモジュールを前記内部ソフトウェアモジュールに登録する工程を含む、請求項23に記載の方法。 - 外部ソフトウェアモジュールを提供する工程は、複数の外部ソフトウェアモジュールを提供する工程を含み、登録する工程は、前記インターフェースを使用して、前記内部ソフトウェアモジュールに、通知を受け取る前記複数の外部ソフトウェアモジュールのそれぞれを登録する工程を含み、通知する工程は、前記内部ソフトウェアモジュールに登録された各外部ソフトウェアモジュールに通知する工程を含む、請求項25に記載の方法。
- さらに、前記内部ソフトウェアモジュールおよび他の外部ソフトウェアモジュールからアクセス可能にされる前記複数の外部ソフトウェアモジュールのそれぞれを、前記ソフトウェアモジュールレジストリに登録する工程を含む、請求項26に記載の方法。
- 前記複数の外部ソフトウェアモジュールは、埋込み可能外部ソフトウェア要素をサポートしているソフトウェアモジュールを含み、前記方法は、さらに、
前記埋込み可能外部ソフトウェア要素についてのソフトウェア要素レジストリを提供する工程と、前記ソフトウェア要素レジストリに、前記電子コンテンツからアクセス可能にされる前記埋込み可能外部ソフトウェア要素のそれぞれを登録する工程を含み、
処理する工程は、さらに、前記ソフトウェア要素レジストリに登録された前記埋込み可能外部ソフトウェア要素に対する埋込み参照を、分析する工程を含む、請求項26に記載の方法。 - 前記複数の外部ソフトウェアモジュールは、外部スクリプト機能をサポートしているソフトウェアモジュールを含み、前記方法は、さらに、
スクリプト機能についてのスクリプト機能レジストリを提供する工程と、
前記スクリプト機能レジストリに、前記電子コンテンツからアクセス可能にされる前記外部スクリプト機能のそれぞれを登録する工程を含む、請求項26に記載の方法。 - 前記複数の外部ソフトウェアモジュールは、ディスプレイ装置上での表示のための視覚コンポーネントを有する埋込み可能外部視覚要素と外部スクリプト機能の少なくとも1つをサポートしている、ソフトウェアモジュールを含み、前記方法は、さらに、
それぞれ視覚要素およびスクリプト機能についての視覚要素レジストリおよびスクリプト機能レジストリを提供する工程と、
前記視覚要素レジストリおよび前記スクリプト機能レジストリに、前記電子コンテンツからアクセス可能にされる各前記外部視覚要素および外部スクリプト機能をそれぞれ登録する工程を含む、請求項26に記載の方法。 - プロセッサによって実行されたときに請求項23から30のいずれか一項に記載の方法を実施するステートメントまたは命令を格納する、コンピュータ可読媒体。
- 各ソフトウェア要素マネージャが所定のタイプのソフトウェア要素のそれぞれのレジストリを維持している複数のソフトウェア要素マネージャであって、埋込み可能な外部定義されたソフトウェア要素のレジストリを維持している埋込み可能ソフトウェア要素マネージャを含む、複数のソフトウェア要素マネージャと、
電子コンテンツを受け取り、前記埋込み内部ソフトウェア要素に対する前記電子コンテンツ内の参照を分析し、また、前記埋込み可能ソフトウェア要素マネージャの前記レジストリ内の任意の埋込み可能外部ソフトウェア要素に対する前記電子コンテンツ内の参照を解決するように構成された、埋込み可能内部ソフトウェア要素を定義する電子コンテンツローダとを含み、
前記埋込み可能ソフトウェア要素マネージャの前記レジストリ内の前記埋込み可能外部ソフトウェア要素は、ソフトウェアコードによってサポートされた少なくとも1つの埋込み可能外部ソフトウェア要素を含み、前記電子コンテンツローダは、前記電子コンテンツに関連付けられたハンドルを供給することによって、前記少なくとも1つの埋込み可能外部ソフトウェア要素に対する前記電子コンテンツ内の前記参照を解決するようにさらに構成され、前記電子コンテンツは、前記ハンドルを使用して前記ソフトウェアコードからアクセス可能である、システム。 - さらに、前記埋込み可能な外部定義されたソフトウェア要素の少なくとも1つを定義する外部ソフトウェアモジュールを含む複数の外部ソフトウェアモジュールを含み、
前記複数のソフトウェア要素マネージャは、さらに、前記コンテンツローダおよび他の外部ソフトウェアモジュールからアクセス可能にされる前記外部ソフトウェアモジュールのいずれかのレジストリを維持しているソフトウェアモジュールマネージャを含む、請求項32に記載のシステム。 - 前記複数のソフトウェア要素マネージャは、さらに、少なくとも1つの前記コンテンツローダおよび任意の前記外部ソフトウェアモジュールによってサポートされ、前記電子コンテンツからアクセス可能にされる、スクリプト機能のレジストリを維持しているスクリプト機能マネージャを含む請求項32または33に記載のシステム。
- 前記複数のソフトウェア要素マネージャは、前記電子コンテンツに対する定義された共通インターフェースを提供し、前記プロセッサは、ネイティブコンピュータシステムと前記複数のソフトウェア要素マネージャの間のカスタムインターフェースを提供するようさらに構成される、請求項32または33に記載のシステム。
- 埋込み可能ソフトウェア要素を定義する内部ソフトウェアモジュールであって、前記埋込み可能ソフトウェア要素に対する電子コンテンツ内の参照を解決することによって前記電子コンテンツを処理するように構成された内部ソフトウェアモジュールと、
前記電子コンテンツの前記処理を検出し、前記検出に応答して前記電子コンテンツにアクセスするように構成された外部ソフトウェアモジュールとを含む、システム。 - 前記内部ソフトウェアモジュールは、前記電子コンテンツが処理されていていることの通知、および前記電子コンテンツに関連付けられたハンドルを、前記外部ソフトウェアモジュールに供給するようにさらに構成され、前記外部ソフトウェアモジュールは、前記通知を受け取ることによって前記処理を検出し、前記ハンドルを使用して前記電子コンテンツにアクセスするように構成される、請求項36に記載のシステム。
- さらに、前記外部ソフトウェアモジュールを含む複数の外部ソフトウェアモジュールと、
ソフトウェアモジュールのレジストリを維持しているソフトウェアモジュールマネージャと、を含み、
前記内部ソフトウェアモジュール、および前記外部ソフトウェアモジュールの少なくとも1つは、さらに、前記ソフトウェアモジュールマネージャに登録されるように構成される、請求項36または37に記載のシステム。 - 前記内部ソフトウェアモジュール、および前記外部ソフトウェアモジュールの前記少なくとも1つは、さらに、それぞれの登録トリガが検出されると、前記ソフトウェアモジュールマネージャに登録されるように構成される、請求項38に記載のシステム。
- 前記登録トリガは、初期化トリガと実行時トリガよりなる群から選択されたトリガである、請求項39に記載のシステム。
- プロセッサと、
前記プロセッサによってアクセス可能であり前記プロセッサによって実行されたときに処理を実施する命令を格納するコンピュータ可読媒体とを含む、電子デバイスであって、前記処理は、
埋込み可能内部ソフトウェア要素を定義する内部ソフトウェアモジュールを提供すること、
外部定義された埋込み可能外部ソフトウェア要素についての埋込み可能ソフトウェア要素レジストリを含む、複数の異なるタイプのソフトウェア要素についての複数のそれぞれのレジストリを提供すること、および、
前記埋込み可能内部ソフトウェア要素に対する電子コンテンツ内の任意の埋込み参照と、前記埋込み可能ソフトウェア要素レジストリ内の前記埋込み可能外部ソフトウェア要素に対する前記時電子コンテンツ内の任意の埋込み参照とを解決するために、前記内部ソフトウェアモジュールを用いて前記電子コンテンツを処理することを含み、前記埋込み可能外部ソフトウェア要素は、ソフトウェアコードによってサポートされ、前記埋込み可能外部ソフトウェア要素に対する前記電子コンテンツ内の任意の埋込み参照を分析するために電子コンテンツを処理することは、前記電子コンテンツに関連付けられたハンドルを供給すること、を含み、
前記電子コンテンツは、前記ハンドルを使用して前記ソフトウェアコードからアクセス可能であり、
前記処理は、さらに、
外部ソフトウェアモジュールを提供すること、
前記電子コンテンツの前記処理を検出すること、および、
前記外部ソフトウェアモジュールによる前記電子コンテンツに対するアクセスを提供することを含む、電子デバイス。 - 埋込み可能内部ソフトウェア要素を定義する内部ソフトウェアモジュールを提供する手段と、
外部定義された埋込み可能外部ソフトウェア要素についての埋込み可能ソフトウェア要素レジストリを含む、複数の異なるタイプのソフトウェア要素についての複数のそれぞれのレジストリを提供する手段と、
前記埋込み可能内部ソフトウェア要素に対する電子コンテンツ内の任意の埋込み参照、および前記埋込み可能ソフトウェア要素レジストリ内の前記埋込み可能外部ソフトウェア要素に対する前記電子コンテンツ内の任意の埋込み参照を分析するために、前記内部ソフトウェアモジュールを使用して前記電子コンテンツを処理する手段であって、前記埋込み可能外部ソフトウェア要素は、ソフトウェアコードによってサポートされ、前記埋込み可能外部ソフトウェア要素に対する前記電子コンテンツ内の任意の埋込み参照を解決するために電子コンテンツを処理することは、前記電子コンテンツに関連付けられたハンドルを供給することを含み、前記電子コンテンツは、前記ハンドルを使用して前記ソフトウェアコードからアクセス可能である手段と、
外部ソフトウェアモジュールを提供する手段と、
前記電子コンテンツの前記処理を検出する手段と、
前記外部ソフトウェアモジュールによる前記電子コンテンツに対するアクセスを提供する手段とを含む、システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/784,280 US20050188384A1 (en) | 2004-02-24 | 2004-02-24 | Electronic content processing systems and methods |
PCT/CA2005/000244 WO2005081102A1 (en) | 2004-02-24 | 2005-02-23 | Electronic content processing systems and methods |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007523413A true JP2007523413A (ja) | 2007-08-16 |
Family
ID=34861431
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006553405A Pending JP2007523413A (ja) | 2004-02-24 | 2005-02-23 | 電子コンテンツ処理システムおよび方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20050188384A1 (ja) |
EP (1) | EP1723515A1 (ja) |
JP (1) | JP2007523413A (ja) |
WO (1) | WO2005081102A1 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8418202B2 (en) * | 2004-04-14 | 2013-04-09 | Comcast Cable Holdings, Llc | Method and system for providing on-demand viewing |
US8079025B2 (en) * | 2007-06-08 | 2011-12-13 | Apple Inc. | Asynchronous load of source dependencies |
US8069438B2 (en) * | 2007-06-08 | 2011-11-29 | Apple Inc. | Class declaration in a non-class-based programming environment |
US8132152B2 (en) * | 2007-06-08 | 2012-03-06 | Apple Inc. | Extending a scripting language to provide an object hierarchy |
JP5114123B2 (ja) * | 2007-07-24 | 2013-01-09 | トヨタ自動車株式会社 | 車載装置制御システム |
US8434093B2 (en) * | 2008-08-07 | 2013-04-30 | Code Systems Corporation | Method and system for virtualization of software applications |
US20090287331A1 (en) * | 2009-07-27 | 2009-11-19 | Shoma Inc. | Systems and Methods for Bio-Refinery Application Management and Process Improvement |
US9141450B2 (en) * | 2009-08-25 | 2015-09-22 | Adobe Systems Incorporated | Embedded application communication |
US9251337B2 (en) * | 2011-04-27 | 2016-02-02 | International Business Machines Corporation | Scalable, highly available, dynamically reconfigurable cryptographic provider with quality-of-service control built from commodity backend providers |
US10061601B2 (en) * | 2011-06-23 | 2018-08-28 | Vmware, Inc. | Component navigation in an extensible application |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001010605A1 (en) * | 1999-08-06 | 2001-02-15 | Stanley Fastening Systems, Lp | Fastener driving device with enhanced depth adjusting assembly |
WO2003038605A2 (en) * | 2001-11-01 | 2003-05-08 | Koninklijke Philips Electronics N.V. | Scalable browser |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6188401B1 (en) * | 1998-03-25 | 2001-02-13 | Microsoft Corporation | Script-based user interface implementation defining components using a text markup language |
US6918123B1 (en) * | 1998-10-02 | 2005-07-12 | Koninklijke Philips Electronics N.V. | Calls identify scenario for control of software objects via property routes |
WO2000030346A1 (en) * | 1998-11-12 | 2000-05-25 | General Instrument Corporation | Application programming interface (api) for accessing and managing resources in a digital television receiver |
US6799208B1 (en) * | 2000-05-02 | 2004-09-28 | Microsoft Corporation | Resource manager architecture |
US6717593B1 (en) * | 2000-09-12 | 2004-04-06 | Avaya Technology Corp. | Mark-up language implementation of graphical or non-graphical user interfaces |
US20020101448A1 (en) * | 2000-11-29 | 2002-08-01 | Sanderson Richard A. | Generating a declarative user interface |
US20030043192A1 (en) * | 2001-08-31 | 2003-03-06 | Schlumberger Technology Corporation | Dynamically modifiable user interface |
US20040034860A1 (en) * | 2002-08-15 | 2004-02-19 | Microsoft Corporation | Dynamically extensible application program framework including message and notification routing |
AU2003262702A1 (en) * | 2002-08-23 | 2004-03-11 | Jway Group, Inc. | Extensible user interface (xui) framework and development environment |
US20040056894A1 (en) * | 2002-09-19 | 2004-03-25 | Igor Zaika | System and method for describing and instantiating extensible user interfaces |
-
2004
- 2004-02-24 US US10/784,280 patent/US20050188384A1/en not_active Abandoned
-
2005
- 2005-02-23 JP JP2006553405A patent/JP2007523413A/ja active Pending
- 2005-02-23 WO PCT/CA2005/000244 patent/WO2005081102A1/en active Application Filing
- 2005-02-23 EP EP05714486A patent/EP1723515A1/en not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001010605A1 (en) * | 1999-08-06 | 2001-02-15 | Stanley Fastening Systems, Lp | Fastener driving device with enhanced depth adjusting assembly |
WO2003038605A2 (en) * | 2001-11-01 | 2003-05-08 | Koninklijke Philips Electronics N.V. | Scalable browser |
Also Published As
Publication number | Publication date |
---|---|
EP1723515A1 (en) | 2006-11-22 |
WO2005081102A1 (en) | 2005-09-01 |
US20050188384A1 (en) | 2005-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007523413A (ja) | 電子コンテンツ処理システムおよび方法 | |
US9442687B2 (en) | Method and apparatus for moving web object based on intent | |
CA2495024C (en) | System and method for adaptable provisioning of generic application content | |
TW581968B (en) | Method and apparatus for producing user interfaces and device functionality for processor-based devices having embedded operating system and programming framework | |
US7908580B2 (en) | Connecting an integrated development environment with an application instance | |
US20020065950A1 (en) | Device event handler | |
US20020062259A1 (en) | Server-side system responsive to peripherals | |
US8341608B2 (en) | Cross-browser toolbar and method thereof for facilitating cross-browser interoperability | |
KR101682738B1 (ko) | 관리 시스템 확장성 | |
KR20080037063A (ko) | 보조 디스플레이 장치 드라이버 인터페이스 | |
US20120272178A1 (en) | Method and device for providing easy access in a user agent to data resources related to client-side web applications | |
US8387039B2 (en) | System and method for customized provisioning of application content | |
US7974829B2 (en) | System for simulating mobile phone and method thereof | |
JP2015507298A (ja) | 実行中のプロセスへのコードの動的挿入 | |
CN112445545B (zh) | 一种网页应用的启动方法及显示设备 | |
US20140026067A1 (en) | Method and apparatus for processing movement of web object based on intent | |
US20020062287A1 (en) | Peripheral device detection and notification | |
CN108228266B (zh) | 一种Android插件框架下不同插件间启动Fragment组件的方法和装置 | |
WO2012063282A1 (ja) | マッシュアップ・アプリケーションの動作方法およびシステム | |
US20060206458A1 (en) | Serving program elements through a unified interface | |
CN113132805A (zh) | 一种播放控制方法、系统、智能终端及存储介质 | |
KR20010024488A (ko) | 드래그 앤드 드롭 인터페이스를 이용한 응용 프로그램제어 시스템 | |
Chen et al. | ZK: AJAX without the JavaScript framework | |
KR20080027293A (ko) | 데이터 언어에서 다수 언어들의 관리 | |
US20070079245A1 (en) | Method and apparatus for providing application with remote-controllable interface |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080131 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110510 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20111018 |