JP2004538695A - コンピュータベースのマルチメディア作成、管理、および展開プラットフォーム - Google Patents
コンピュータベースのマルチメディア作成、管理、および展開プラットフォーム Download PDFInfo
- Publication number
- JP2004538695A JP2004538695A JP2003519771A JP2003519771A JP2004538695A JP 2004538695 A JP2004538695 A JP 2004538695A JP 2003519771 A JP2003519771 A JP 2003519771A JP 2003519771 A JP2003519771 A JP 2003519771A JP 2004538695 A JP2004538695 A JP 2004538695A
- Authority
- JP
- Japan
- Prior art keywords
- asset
- content
- computer
- display device
- user
- 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
- 238000000034 method Methods 0.000 claims abstract description 64
- 238000003860 storage Methods 0.000 claims description 37
- 238000012545 processing Methods 0.000 claims description 23
- 230000008569 process Effects 0.000 claims description 16
- 230000008859 change Effects 0.000 claims description 7
- 230000001360 synchronised effect Effects 0.000 claims description 5
- 108010015046 cell aggregation factors Proteins 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 2
- 238000012546 transfer Methods 0.000 claims description 2
- 230000008878 coupling Effects 0.000 claims 2
- 238000010168 coupling process Methods 0.000 claims 2
- 238000005859 coupling reaction Methods 0.000 claims 2
- 238000004590 computer program Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 51
- 238000007726 management method Methods 0.000 description 27
- 238000010586 diagram Methods 0.000 description 21
- 230000014509 gene expression Effects 0.000 description 20
- 230000006399 behavior Effects 0.000 description 15
- 230000009471 action Effects 0.000 description 9
- 238000004088 simulation Methods 0.000 description 7
- 238000011161 development Methods 0.000 description 4
- 238000009826 distribution Methods 0.000 description 3
- 238000002347 injection Methods 0.000 description 3
- 239000007924 injection Substances 0.000 description 3
- 230000003213 activating effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/48—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Health & Medical Sciences (AREA)
- Economics (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Library & Information Science (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
コンピュータ実施されるシステム(30、図1)および方法によって、マルチメディアコンテンツの作成、管理、およびプレゼンテーションに関連するさまざまなタスクが実行される。作成されたならば、コンテンツを、視聴者(34)へのオンデマンドプレゼンテーションのために保管することができる。その代わりに、コンテンツを、イベントの生放送と同様に、作成時に提示することができる。このシステムおよび方法によって、さらに、そこから視聴者にマルチメディアコンテンツを提示できるプラットフォームが提供される。コンテンツの提示に関して、このシステムおよび方法によって、視聴者のシステムの特定の属性および視聴者のシステムによって確立される接続に基づいて、視聴者に提示されるコンテンツを調整する能力がもたらされる。
Description
【技術分野】
【0001】
本発明は、全般的にはコンピュータネットワークでの情報プレゼンテーションの分野を対象とする。具体的には、本発明は、さまざまなメディアフォーマットで情報を作成し、管理し、提示する装置および方法を対象とする。
【背景技術】
【0002】
コンピュータは、事前定義のプロトコルを厳守するフォーマットでデータを送信することによって、ネットワーク上で通信する。インターネットを例にすると、インターネット上で通信するコンピュータによって、コンピュータで動作するプロセスからのデータが、インターネットプロトコル(IP)フォーマットを厳守するデータパケットにカプセル化される。同様に、ネットワーク接続された計算機で動作するプロセスは、ビデオおよびオーディオコンテンツのReal Playerフォーマット、ワールドワイドウェブを介して配信されるコンテンツのハイパーテキストマークアップ言語(HTML)フォーマットなど、そのプロセスが厳守するそれ自体のプロトコルおよびデータフォーマットを有する。
【0003】
ネットワーク上の配信のためのコンテンツのフォーマッティングは、時間がかかる過酷な作業である。さらに事態を複雑にしているのが、公認されたプロトコルおよびデータフォーマットの存在にもかかわらず、ネットワーク接続されたコンピュータで実行されるプロセスが、これらのプロトコルおよびデータフォーマットに厳密に従っていない場合があるという事実である。したがって、異なるプロセスへのプレゼンテーションのために同一内容の複数の版を作成しなければならないという問題が生じる。たとえば、コンテンツが、ウェブページである場合に、ウェブブラウジングプロセスとしてNetscape Navigatorを実行するユーザ用の版と、Microsoft Internet Explorerを実行するユーザ用の別の版を有することが必要になる場合がある。これらおよび他の理由から、さまざまな環境を満足するコンテンツの作成および管理は、問題がある。
【発明の開示】
【発明が解決しようとする課題】
【0004】
【課題を解決するための手段】
【0005】
本発明のシステムおよび方法によって、これらおよび他の問題が克服される。本発明の教示によれば、コンピュータ実施されるシステムおよび方法によって、マルチメディアコンテンツの作成、管理、およびプレゼンテーションに関するさまざまなタスクが実行される。作成されたならば、コンテンツを、視聴者へのオンデマンドプレゼンテーションのために保管することができる。代替案では、イベントの生放送と同様に、コンテンツを、作成される時に提示することができる。このシステムおよび方法によって、さらに、マルチメディアコンテンツを視聴者に提示できるプラットフォームが提供される。内容のプレゼンテーションに関して、このシステムおよび方法によって、視聴者のシステムの特定の属性および視聴者のシステムによって確立される接続に基づいて、視聴者に提示されるコンテンツを調整する能力がもたらされる。
【発明を実施するための最良の形態】
【0006】
図1に、マルチメディアウェブアプリケーションの効率的かつ効果的な作成、管理、および展開のための、ネットワーク接続されたコンピュータシステム30を示す。アプリケーション開発者32が、コンピュータシステム30を介してマルチメディアコンテンツを作成し、ユーザ34によるアクセスのためにコンテンツを展開する。ユーザ34が、マルチメディアコンテンツを見ている間に、コントローラ36によって、コンピュータシステム30を介してイベントを注入して、ユーザ34が見ているものをリアルタイムで修正することができる。たとえば、ユーザ34が、コントローラ36によって与えられるプレゼンテーションの生ビデオストリームを見ている場合がある。コントローラ36は、コンピュータシステム30を介して、コントローラ36が現在アドレッシングしている点を強調するイベントを注入することができる。コントローラ36は、ユーザのコンピュータ画面で矢印を移動することによって、ユーザのコンピュータ画面に表示される議論のポイントのフォント特性を変更することによって、または類似する他の形で、議論のポイントを強調することができる。
【0007】
コンピュータシステム30には、開発者32がマルチメディアアプリケーションを作成し、保管し、管理するのに用いるコンピュータプラットフォーム40が含まれる。コンピュータプラットフォーム40によって、開発者があらゆるタイプのメディアコンテンツをアプリケーションに組み込むためのユーザフレンドリなインターフェースが提供される。そのようなタイプには、画像、ビデオ、オーディオ、または他のすべてのタイプの知覚上のコンテンツ(たとえば、触覚または嗅覚)が含まれる。マルチメディアコンテンツは、当初は、資産コンテンツ記憶ユニット42に資産(asset)44として保管される。たとえば、ラシュモア山の画像ならびに「リトルニッキー」などの映画のビデオを、資産コンテンツ記憶ユニット42に資産として保管することができる。
【0008】
開発者32が、資産コンテンツ記憶ユニット42に保管することができる膨大な数の資産を検索し、編成するのを助けるために、資産メタデータ48が、資産メタデータ記憶ユニット46に保管される。メタデータ48には、資産の名前、タイプ、および位置などの資産属性が含まれる。属性の値も、資産メタデータ記憶ユニット46に保管される。資産メタデータを使用できる方法の例として、開発者が、映画「リトルニッキー」のビデオクリップを探していると仮定する。開発者は、資産コンテンツ記憶ユニット42(多数のビデオ、オーディオ、画像、および他の資産ファイルの保管に起因して、はるかに大きい)を検索するよりも、資産メタデータ記憶ユニット46を検索して、所望のビデオクリップをすばやく効率的に突き止めることができる。所望の資産を突き止めた後に、アプリケーションが、生成され、アプリケーション記憶ユニット50に保管される。
【0009】
アプリケーションホスティングシステム52によって、ユーザ34に、要求時にアプリケーションが供給される。アプリケーションを提供するために、アプリケーションホスティングシステム52によって、アプリケーションが、アプリケーション記憶ユニット50から検索され、通常はHTMLページの形でユーザ34に供給される。そのHTMLページで指定されるすべての資産が、資産コンテンツ記憶ユニット42から検索される。ユーザの計算機によって要求される特定の資産表現が、HTMLページに含まれる、ユーザの計算機で実行されるJava(R)Scriptコードの使用を介して判定される。本明細書で言及する記憶ユニットを、リレーショナルデータベース管理システム、オブジェクト指向データベース管理システム、あるいはオンラインサーバ、ディスクドライブ、またはドライブのアレイに保管されるファイルなどの情報を保管するのに適するすべての装置とすることができることを理解されたい。
【0010】
アプリケーションホスティングシステム52は、コントローラ36によって、ユーザ34がアプリケーションを視聴している間にイベントを注入するのにも使用される。コントローラ36によって、アプリケーションホスティングシステム52にコマンドが発行されて、ユーザ34によって視聴されるアプリケーションの設計時プロパティが(実行時中に)変更される。
【0011】
図2に、開発者32と異なる資産アプリケーションコンテンツ記憶ユニット60の間のインターフェースとして働くマルチメディア作成管理プラットフォーム40によって使用される異なるマネージャおよびエディタを示す。コンピュータプラットフォーム40に、ユーザのログインおよび検証を監督するアカウントマネージャ62が含まれる。資産マネージャ64は、アプリケーションで使用できる多数の異なるタイプの資産を操作するのに使用される。テンプレートエディタ66を用いると、開発者32が、同一プロジェクトまたは異なるプロジェクトで繰り返して使用できる基本テンプレートを作成できるようになる。テンプレートは、同一のプロジェクトを扱う多数の開発者32が、ウェブページフォーマットのあるレベルの均一性を得るために努力する時に特に有用である。
【0012】
ウェブアプリケーションが、資産およびテンプレートを用いて作成されたならば、アプリケーションマネージャ68によって、どの資産がどのアプリケーションで使用されるかを追跡するなど、アプリケーションの保管および管理で開発者32が支援される。プロジェクトマネージャ70によって、開発者32に、異なるプロジェクトでどのアプリケーション、資産、テンプレートが使用されるかを管理する構造化された機構が与えられる。展開マネージャ72によって、開発者32が、ユーザにより効率的にアプリケーションを提供するのが支援される。展開マネージャ72によって、どのコンピュータサーバがどの資産に使用されるかが記憶される。異なるサーバによって、ある資産タイプがよりよく処理される可能性があるので、展開マネージャ72によって、正しい資産タイプが正しいサーバに展開されることが保証される。
【0013】
図3から4Gによって、コンピュータシステム30によって使用される資産マネージャを詳細に説明する。図3に、資産44が資産マネージャ64によってどのように表現され、管理されるかを示す。資産44は、特定のメディアコンテンツの抽象化(abstraction)であり、資産44が経時的に展開される際に複数のバージョンを有する場合がある。資産44は、名前、プロジェクト、アクセス許可などの属性および値48を有する。たとえば、資産44の名前プロパティは、通常は、資産44のコンテンツを記述することによって定義される。資産44は、映画「My Cousin Vinnie」の予告編とすることができ、そのような資産44の名前に、映画の題名を含めることができる。資産マネージャ64によって、資産の属性および値48が、資産メタデータ記憶ユニット46に保管される。資産メタデータを変更して、新しい属性を作成するか、異なる値を属性に割り当てることができる。
【0014】
資産44の管理を容易にするために、資産44を、論理集約要因に従ってグループ化し、資産グループ102に配置することができる。たとえば、資産44を、「映画予告編」などのタイプによってグループ化することができる。
【0015】
各資産が、複数の表現104を有することができる。資産の表現は、その資産の特定のフォーマットのインスタンスである。映画予告編の例に関して、資産「映画予告編−My Cousin Vinnie」は、QuickTimeフォーマットの表現、Windows(R) Media Playerフォーマットのもう1つの表現、およびReal Playerフォーマットの第3の表現を作成することによって、複数の表現を有することができる。資産44の異なる表現104は、資産コンテンツ記憶ユニット42に置かれる。資産メタデータ記憶ユニット46によって、資産44に関してどの資産表現104が保管されているかが反映される。この形で、後に展開されるアプリケーションで、ある資産についてどの表現が使用可能であるかを判定でき、その結果、正しい資産フォーマットをリモートユーザに供給できるようになる。
【0016】
図4Aから4Gに、資産マネージャ64によって、開発者がアプリケーション内の資産を使用できるようにするのに使用されるグラフィカルユーザインターフェースを示す。図4Aに関して、インターフェース120を用いると、開発者が、どの資産が使用可能であるかを見ることができる。開発者は、領域122内で、所望の資産を含むディレクトリを選択する。現在の選択に関する使用可能な資産が、領域124に表示される。たとえば、行126によって、「リトルニッキー」という題名の映画から、映画予告編が使用可能であることが識別される。行128によって、別の資産に、その映画の俳優(すなわちアダム・サンドラ)の画像が含まれることが識別される。開発者が行126を選択する場合に、図4Bに示されているようにインターフェース140が示され、その結果、必要な場合に、開発者が、資産に関する情報を編集できるようになる。
【0017】
図4Bに関して、インターフェース140に、選択された資産のメタデータ(すなわち属性および値)が暴露される。領域142に示される属性には、現在の状況(すなわち、アプリケーションでの使用に関して承認されたかどうか)、新しい状況、注記、フォルダ(すなわち、資産のディレクトリ位置)、資産名、ファイル位置(URLとして表現できるもの)、資産タイプ、アクティブ日付(すなわち、画像が最初に承認された時)、満了日付(すなわち、資産がそれ以上使用されなくなる時)、資産の説明、およびキーワード(後にこの資産の検索で使用される)が含まれる。
【0018】
インターフェース140には、領域144に、資産についてどの表現が使用可能であるかも含まれる。領域144に、JPEG画像表現が、選択された資産について使用可能であることが示されている。ビットマップ画像フォーマットまたはTIFF画像フォーマットなどの他の表現フォーマットを使用できることを理解されたい。JPEG画像フォーマットについて、言語が、英語などの人間が話す言語を指すので、タイプ言語(type language)が適用可能でない。言語タイプ(language type)は、テキストまたはオーディオレコーディングなど、人間言語の固有のコンテンツについて最も一般的に使用される。資産が、ストリーミングタイプの資産(たとえばストリーミングビデオ)である場合に、帯域幅エントリに、選択された特定の表現をユーザに送信する前にユーザが有さなければならない伝送容量を示す値が含まれる。特定のタイプが使用可能でない場合に、ユーザは、そのタイプの値として「なし」を選択するオプションを有する。
【0019】
図4Cに、資産のグループのアクセス許可を管理するインターフェース160を示す。読取、書込、削除、および管理者のアクセス特権を、ユーザごとの基礎で選択することができる。したがって、異なるプロジェクトチームが、他の開発者のプロジェクトに干渉せずに、異なる資産を操作することができる。
【0020】
図4Dに、資産をより具体的に記述する新しい資産タイプを開発者が作成できるようにするインターフェース170を示す。インターフェース170には、より具体的にビデオ資産を説明する新しい資産タイプ「音楽ビデオ」を開発者が作成していることが示されている。新しい資産タイプは、通常は、画像、ビデオ、文書など、上位の資産タイプから作られる。開発者は、さらに、新しいデータフィールドを作成するか、先在するデータフィールドを新しい資産タイプに関連付けることによって、新しい資産タイプをさらに洗練することができる。図4Eに、この態様の例を示す。
【0021】
図4Eに関して、インターフェース180によって、新しい資産タイプ「音楽ビデオ」と共に使用される、「アルバム」という名前の新しい属性が作成される。説明、フィールドタイプ、およびフィールドサイズも、インターフェース180で入力して、新しい属性をさらに完全に記述することができる。新しい属性およびその新しい資産タイプとの関連が、資産メタデータ記憶ユニットに保管される。
【0022】
資産は、開発者が資産を分類するのを支援する複数の異なる表現を有することができる。たとえば、開発者が、あるプロジェクトを中心とする資産のアレイを作成することを望むと仮定する。開発者は、詳細を限定するためのプレースホルダとして資産名を作成し、その後、その名前について資産の複数の異なるタイプを追加することとができる。したがって、資産名を検索する時に、開発者は、その資産として選択される複数の異なる表現を有する。
【0023】
図4Fに、開発者が複数の表現を同一の資産名に関連付けられるようにするインターフェース190を示す。開発者は、表現をフィールド192に入力し、そのそれぞれについて、その表現がどのタイプにならなければならないかを選択する。プルダウンボックス194に、開発者が選択するタイプのリストが提示される。開発者は、同一のタイプを有するが異なる表現を有する複数の資産を入力することができる。したがって、2つの資産に、2つの異なるフォーマットの同一の画像(図4Gに示されたものなど)を含めることができる。
【0024】
図5Aから5Dに、テンプレートエディタ66によって、開発者がコンテンツを作成するのを助けるのに使用されるグラフィカルユーザインターフェースを示す。図5Aに関して、テンプレートエディタ66に、構成要素の挿入、構成要素プロパティの修正、および構成要素挙動の指定を自動化するパレット200が含まれる。パレット200内で、構成要素は、パレット領域202に示され、開発者がテンプレートに配置できるオブジェクトである。挿入できる構成要素の例に、画像構成要素、ビデオ構成要素、およびflash構成要素が含まれる。開発者は、領域204を介して構成要素のプロパティを修正することができる。修正可能な構成要素プロパティに、色、位置、可視性、ファイル名、および他のそのようなプロパティが含まれる。アプリケーションでの構成要素の挙動を、領域206を介して指定することができ、イベント(たとえば、同期化、移動、およびクリックパターン)の発生に基づいて、特定のアクションを構成要素に与えることができる。
【0025】
構成要素がテンプレートに配置されたならば、そのプロパティを表示し、修正することができる。図5Bに、テンプレート224に配置されたビデオ構成要素222のプロパティ情報220を示す。位置、可視性、ファイル名および位置、ならびに他のプロパティが、修正可能として示されている。
【0026】
図5Cに、ビデオ構成要素222に隣接して配置された画像構成要素230を示す。画像のプロパティを、領域232で修正することができる。さらに、挙動追加アイコン234をアクティブ化することによって、画像構成要素230の挙動を指定することができる。この例では、開発者は、ユーザが画像構成要素230をクリックした時に、ビデオ構成要素によってビデオが再生されることを望む。挙動追加アイコン234のアクティブ化の時に、ビデオ構成要素の所望の挙動を指定する3つのウィンドウ236、238、および240が表示される。この例では、開発者が、ウィンドウ236の「onclick」イベントを選択している。次に、開発者は、ウィンドウ238でターゲットとして「ビデオ3」を選択する。次に、ウィンドウ240で、「再生」が選択される。これらの選択によって、画像構成要素230のマウスクリックの際にビデオを再生させるという目標がすばやく達成される。
【0027】
図5Dからわかるように、開発者は、挙動パレット252のチェックボックス250によって、テンプレートの挙動を「管理可能」にセットすることもできる。チェックボックス250を用いると、開発者が、アプリケーションを管理する時に挙動を変更できるかどうかを選択できるようになる。チェックボックス250を用いると、開発者が、ボックス250がチェックされているかどうかに応じてアプリケーションレベルで管理可能または管理不能とすることができる、テンプレート内の挙動を作成できるようになる。同期化ボタン254をクリックすることによって、開発者は、もはや挙動を管理可能になるように設定してはおらず、開発者は、その挙動を管理している。これは、ウィンドウ256で、3つのメッセージボックス258、260、および262によってグラフィカルに示されている。メッセージボックス258によって、イベントが発生する時(たとえば、画像構成要素、画像1がonclickイベントを受け取る時)の判断基準が記述される。メッセージボックス260の下で、イベントが発生する時に行われるアクションが指定される。これと同一の位置で、アクションの受取側が指定される(たとえば、ビデオ構成要素、ビデオ1を再生する)。
【0028】
図6Aから6Dに、アプリケーションマネージャによって、アプリケーションを作るのに使用されるグラフィカルユーザインターフェースを示す。アプリケーションマネージャでは、資産およびテンプレートを使用して、アプリケーションを構成する。図6Aに関して、開発者が、インターフェース280の新規アプリケーションボタン282をアクティブ化する。結果のポップアップウィンドウ284によって、入力フィールドが提供され、この入力フィールド内に、開発者が、新しいアプリケーションの名前を入力する。新しいアプリケーションへのコンテンツの移植を開始するために、開発者は、管理ボタン286をアクティブ化する。
【0029】
図6Bに、管理ボタンのアクティブ化からもたらされるウィンドウ300を示す。新しいアプリケーションに、テンプレート構成フェーズ中に選択されたコンテンツが自動的に移植される。この例では、画像構成要素302が、基礎になるテンプレートに含まれたので、ウィンドウ300に挿入されている。画像構成要素302のプロパティまたは挙動を修正するために、ウィザードシーケンスボタン304がアクティブ化される。
【0030】
図6Cに、ウィザードシーケンスの最初のポップアップウィンドウ310を示す。望まれる場合に、開発者は、画像構成要素302の代わりに異なる資産を使用しなければならないことを指定することができる。開発者は、ボタン312をアクティブ化することによって資産を変更することができる。これによって、資産マネージャへのアクセスが可能にされ、その結果、開発者が、アプリケーションのために他の資産を選択できるようになる。開発者は、画像構成要素312に満足した場合に、次ボタン314をアクティブ化する。
【0031】
次ボタンがアクティブ化された後に、図6Dのポップアップウィンドウ320が表示され、その結果、開発者が、資産を互いに同期化できるようになる。この例では、画像構成要素302が、別の画像構成要素(すなわち画像3)と同期化される。ウィンドウ322に、このアクションにトリガをかける判断基準が、画像構成要素302がonclickイベントを受け取る時であることが示されている。区域324に、ターゲット構成要素のプロパティを、判断基準が発生する時に修正できることが示されている。区域326に、開発者が、ターゲット画像構成要素(すなわち画像3)の可視性プロパティを修正するために3つのオプションの間で選択できることが示されている。第1のオプションでは、可視性オプションが変更されない。第2のオプションでは、ターゲット画像構成要素が可視にされ、最後のオプションでは、ターゲット画像構成要素が不可視にされる。そのようなウィザードシーケンスを介して、ユーザが、アプリケーションにすばやくコンテンツを追加できると同時に、構成要素挙動同期化など、複雑な挙動を指定することができる。
【0032】
ウェブアプリケーションを作成した後に、展開マネージャ72によって、アプリケーションの保管および配布の最適化が助けられる。図7Aに、アプリケーションの異なるコンテンツを複数の異なるサーバを介して配布し、各コンテンツがそのコンテンツを最もよく処理するサーバに保管されるようにする方法を示す。例示的な最適割振りは、次の通りである。カナダのウェブサーバ340が、ハイパーテキストマークアップ言語ページおよび画像のサービスに最適である可能性があり、ストリーミングメディアサーバ342によって、ビデオストリームを最適に配信することができ、MP3サーバ344が、オーディオファイルに関して最もよく働く可能性がある。
【0033】
図7Bに、最適の配信を保証するために異なるタイプの資産を正しく保管するのを支援する展開マネージャ72のインターフェース350を示す。この例では、フィールド352に、ビデオ資産タイプが含まれる。その結果、ビデオ資産が、符号354によって指定されるホストシステムに展開される。同様に、フィールド356に、画像資産タイプが含まれ、さらに、フィールド358で、指定されたファイルタイプ(たとえばGIFおよびJEPG画像ファイル)がこのホストに保管されることが指定される。したがって、GIFおよびJEPGのフォーマットの画像資産が、符号358によって指定されるホストシステムに展開される。区域360で、開発者が、特定の資産表現のホスティングプロパティを指定することができる。
【0034】
図8に、ユーザ34にアプリケーションを供給するアプリケーションホスティングシステム52を示す。アプリケーションは、生の語り手のビデオまたは前に記録されたプレゼンテーションのビデオがユーザ34にストリーミングされる場合のプレゼンテーションを与えるのに使用することができる。どちらのシナリオでも、コントローラ36によって、アプリケーションホスティングシステム52にコマンドを発行して、ユーザ34によって視聴されるアプリケーションの設計時プロパティを実行時中に変更することができる。用語プレゼンテーションが、演説または生のフットボールゲームなど、すべてのタイプのプレゼンテーションを含むので、広義の用語であることを理解されたい。
【0035】
図9Aに、オンデマンドコンテンツ視聴用のイベント注入システム53のアーキテクチャを示す。Java(R)Script対応ブラウザ406を実行するユーザ34が、アプリケーションサーバ402にアプリケーションを要求する。それに応答して、アプリケーションサーバ402によって、要求されたアプリケーションのHTMLページがユーザの計算機に送信される。アプリケーションサーバ402によって、さらに、ユーザの計算機で実行されるJava(R)アプレット452が送信される。Java(R)アプレット452によって、それ自体がJava(R)サーバ464に登録される。Java(R)サーバ464に登録することによって、ユーザの計算機とJava(R)サーバ464の間のJava(R)パイプがオープンされる。このパイプを介して、ユーザの計算機が、Java(R)サーバ464によって送信されるイベントを受信する。
【0036】
ユーザの計算機によって、アプリケーションサーバ402へのコンテンツの要求が行われる。アプリケーションサーバ402は、展開サーバ404からコンテンツを入手する。展開サーバ404は、要求されたコンテンツを、アプリケーション記憶ユニット50および資産記憶ユニット42から検索する(アプリケーション記憶ユニット50に保管されたアプリケーション情報および資産記憶ユニット42に保管された資産情報は、拡張マークアップ言語(XML)で表現されることが好ましい。その例を、下で図12Aおよび12Bに関して説明する)。
【0037】
アプリケーションサーバ402によって、要求されたコンテンツがユーザの計算機に送信される。コンテンツのプレゼンテーション中に、ユーザの計算機で動作するJava(R)アプレット452によって、Java(R)サーバ464からイベントが受信される。これらのイベントによって、Java(R)アプレットが、提示されるコンテンツに応答し、その諸態様を変更する(その例を下で図13Aおよび13Bに関して説明する)。Java(R)サーバ464によって、保管されたイベントがイベント記憶ユニット465から検索される。検索後に、これらの保管されたイベントが、Java(R)サーバ464によって、ユーザの計算機で動作するJava(R)アプレット452に送信される。
【0038】
図9Bに、生コンテンツ視聴用のイベント注入システム55のアーキテクチャを示す。生コンテンツを提示する時に、Java(R)Script対応ブラウザ407を実行するコントローラ36によって、アプリケーションサーバ402に、アプリケーションのコントロールバージョン409が要求される。アプリケーションのコントロールバージョン409を用いると、コントローラ36によって、生コンテンツのプレゼンテーション中に注入されるイベントを作成できるようになる。
【0039】
自分の計算機でJava(R)Script対応ブラウザ406を実行するユーザ34は、アプリケーションサーバ402への、生コンテンツを伴うアプリケーションの要求を行う。アプリケーションサーバ402によって、要求されたコンテンツを表示するHTMLページが、ユーザの計算機に送信される。このHTMLページには、要求されたコンテンツのプレゼンテーション中にユーザの計算機によって受信されるイベントを処理するように働くJava(R)Scriptコードが含まれる。
【0040】
生コンテンツは、当初は、マルチメディアキャプチャ装置400によってキャプチャされる。この装置は、オーディオ機能およびカメラからの生コンテンツを含むネイティブ信号をディジタル信号に変換するコンバータを有するビデオカメラとすることができる。マルチメディアキャプチャ装置400からのディジタル信号は、エンコード装置470に送られ、このエンコード装置470によって、ディジタル信号が事前に選択されたフォーマットにエンコードされる。適当であるフォーマットの中に、QuickTimeムービーフォーマットおよびReal Playerフォーマットがある。エンコード装置470によって、エンコードされたコンテンツが、ユーザの計算機への配信のためにアプリケーションサーバ402に送られる。
【0041】
コンテンツのプレゼンテーション中に、コントローラ36によって、ユーザ34へのコンテンツのプレゼンテーションを変更するイベントを作成することができる。たとえば、コントローラ36によって、プレゼンテーションの背景色を変更させるイベント、グラフィックを表示させるイベント、またはユーザの計算機で複数の他の変化を行わせるイベントを作成することができる。コントローラ36によって作成されたイベントは、Java(R)サーバ464に送られ、ここで、Java(R)イベントが、エンコード装置470に送られる。エンコード装置は、Java(R)サーバ464からのイベントを、コンテンツのストリームに注入する(転送制御プロトコル(TCP)を介することが好ましいが、ビデオデータストリームは、ユーザデータグラムプロトコル(UDP)を介して送られることが好ましい。他のプロトコルをそのような機能性の実行に使用できることを理解されたい)。Java(R)サーバ464によって、さらに、イベント記憶サーバ465にイベントが保管される。この形で、生コンテンツのプレゼンテーション中に発生するイベントを、保管することができ、イベントを含む生プレゼンテーションを、後にオンデマンドプレゼンテーションとして提示することができる。そのような処理は、生コンテンツのタイムシフトのために使用することができ、その結果、ユーザ34が、潜在的に、生コンテンツが生の視聴者に提示されている間に、または生コンテンツのプレゼンテーションが終了した後に、オンデマンドプレゼンテーションとして生プレゼンテーションの先頭を見ることができる。
【0042】
図10に、ビデオプレゼンテーションを制御するように設計されたイベントを処理する、Java(R)Scriptで実施することができる擬似コードを示す。そのようなコードを介して、ユーザのコンピュータが、プレゼンテーションのコントローラによって発行される再生イベント、一時停止イベント、停止イベント、および時刻にジャンプイベントを処理することができる。
【0043】
図11Aから11Cは、リモート視聴者に生イベントを提示する動作フローを示す流れ図である。開始ブロック500によって、処理の開始が示される。処理ブロック502で、生のビデオおよびオーディオコンテンツ信号が、オーディオ機能を有するビデオカメラを介して生成される。処理ブロック504で、これらの信号が、ディジタル化されるすなわち、コンピュータによる操作の用意ができたディジタルフォーマットに変換される。処理ブロック506で、処理ブロック504で作成されたディジタル信号が、QuickTimeムービーフォーマットまたはReal Playerフォーマットなどの産業界で使用されるフォーマットにエンコードされる。処理ブロック508で、プレゼンテーションを見るユーザが、アプリケーションを要求し、このアプリケーションによって、ユーザが、サーバからの生イベントを見られるようになる。継続ブロック510によって、この処理が図11Bで継続されることが示される。図11Bに関して、処理ブロック512によって、生イベントのコンテンツが、視聴のためにユーザに送信されることが示される。処理ブロック514で、ユーザが、自分の計算機でコンテンツを見る。継続ブロック516によって、処理が図11Cで継続されることが示される。
【0044】
図11Cに関して、処理ブロック518で、生イベントのコントローラによって、その生イベントを見ているユーザに送信されつつあるデータにイベントが注入される。注入されたイベントによって、視聴者の計算機が、事前定義の形で応答し、したがって、視聴者の計算機での生イベントのプレゼンテーションが変更される。処理ブロック520で、ユーザが、変更されたコンテンツを自分の計算機で見る。処理は、終了ブロック522で終了する。
【0045】
図12Aは、ユーザがコンテンツを要求する時に必ずユーザに表示される、アーカイブされたオンデマンドプレゼンテーションコンテンツのイベント注入システム550を示すブロック図である。生イベントを、オンデマンドでの後の表示のためにアーカイブされたイベントとして保管できることに留意されたい。
【0046】
ユーザ34は、Java(R)Script対応ウェブブラウジングプログラム406が実行されるコンピュータでコンテンツを見る。ユーザ34は、ユーザのコンピュータ上の別々のプロセスまたはサブプロセスのいずれかとしてJava(R)アプレット452も実行させる。ユーザ34は、展開サーバ454にHTMLページを要求する。展開サーバ454は、要求されたコンテンツをユーザ34に配信するために、サーバ側の主要求ハンドラとして働く。展開サーバ454によって、要求されたHTMLページがユーザの計算機に送信される。
【0047】
要求されたHTMLページが配信されたならば、ユーザのウェブブラウザ406によって、HTMLページが解析され、HTMLページにファイル参照として記述された資産表現に関する要求が、展開サーバ454に発行される。HTMLのファイル参照の例が、<IMG>タグであり、このタグは、ユーザ34に提示される時にHTMLページの特定の点に画像ファイルを配置しなければならないことを示す。当業者は、他のそのようなファイル参照がHTMLでの使用のために使用可能であることをすぐに諒解するであろう。
【0048】
ユーザの資産表現要求に応答する前に、ユーザ特性統計モジュール552および統計サーバ554によって、ユーザのコンピュータハードウェア特性、そのコンピュータで動作しているか使用可能なプロセス、および展開サーバ454とユーザのコンピュータの間の接続に関する情報が収集される。具体的に言うと、収集される情報に、ユーザのブラウザの名前およびバージョン、ユーザのインターネットプロトコル(IP)アドレス、アクセスされるUniform Resource Locator(URL)、参照するページ(ある場合)、ユーザのオペレーティングシステムおよびバージョン、ユーザのシステム言語、接続速度、ユーザの画面の高さ、幅、および解像度、QuickTime、Real Player、およびFlashなどの使用可能なプラグイン、Java(R)Scriptなどの使用可能にされたスクリプトのタイプ、Java(R)が使用可能にされているかどうか、ならびにクッキーが使用可能にされているかどうかが含まれる。ユーザ特性統計モジュール552および統計サーバ554によって、この情報が、他の使用データと共に、後の使用のために収集され、保管される。この情報は、ユーザのコンピュータで動作する、展開サーバ454によって送信されたJava(R)Scriptプログラムの支援を得て収集されることが好ましい。
【0049】
展開サーバ454は、表現処理モジュール556によって生成された表現を要求する。表現処理モジュール556は、アプリケーション記憶ユニット50からアプリケーションを検索する。アプリケーション記憶ユニット50には、拡張マークアップ言語(XML)フォーマットのアプリケーションが含まれる。例として、下記の表に、PowerPointプレゼンテーションを表示するアプリケーションからのXMLコード抜粋が含まれる。
【0050】
【表1】
【0051】
このアプリケーションには、元々PowerPoint Tagsで作成され、異なる解像度の2つのJPEG画像に変換されたスライドが含まれる。したがって、このスライド資産は、それぞれこのコードでid=“1”、id=“2”、およびid=“3”として識別される3つの資産表現を有する。この3つの資産の資産情報は、開始<ASSET>タグと終了<ASSET>タグの間に含まれる。開始<STATUS>タグと終了<STATUS>タグの間の値によって、この資産が使用について承認されたことが示される。適当なタグによって、資産が使用についてアクティブにされた日付と、資産が満了する日付の指定がもたらされる。資産は、開始<NAME>タグと終了<NAME>タグの間で名前を指定され、開始<DESCRIPTION>タグと終了<DESCRIPTION>タグの間でPowerPoint Testとして記述される。開始<KEYWORDS>タグと終了<KEYWORDS>タグの間、および開始<NOTES>タグと終了<NOTES>タグの間には値が入力されていないが、これらの区域を使用することができる。開始<METADATA>タグと終了<METADATA>タグによって、資産に関する適当なメタデータを保管する区域が提供される。
【0052】
開始<REPRESENTATION>タグと終了<REPRESENTATION>タグによって、資産について使用可能な特定の表現の記述が提供される。各開始<REPRESENTATION>タグに、属性「id」が含まれ、これには、資産表現ごとに一意の値が割り当てられる。<REPRESENTATION>タグ内の他の属性には、表現タイプの「reptype」、表現の特定のファイルフォーマットの「filetype」、表現が使用される前に必要な最小接続速度を指定するのに使用される「bandwidth」、特定のユーザ言語が必要な場合に使用することができる「language」、および表現のファイルサイズを指定する「size」が含まれる。
【0053】
表現処理モジュール556によって、XMLファイルが解析され、アプリケーションが、展開サーバ454用のHTMLフォーマットに変換される。表現処理モジュール556によって作成される特定のHTMLコードは、ユーザ特性統計モジュール552によって収集される情報を使用して作成される(この処理を、図12Bで詳細に説明する)。
【0054】
展開サーバによって送信されるプレゼンテーションの途中で、ユーザのコンピュータで表示されるコンテンツを変更するために、イベントが生成される。これらのイベントは、生イベント送信中に生成されるイベントに類似し、Java(R)サーバ464によって作成される。イベントは、ユーザのコンピュータに送信され、ユーザのコンピュータで、Java(R)アプレット452によって処理される。
【0055】
図12Bは、ユーザ34に供給されるコンテンツが、ユーザの特性に基づいてどのように修正されるかを示すブロック図である。Java(R)Script対応ウェブブラウザ406およびJava(R)アプレット452を動作させるユーザ34が、展開サーバ454にプレゼンテーションを要求する。この点で、前に述べたユーザ特性および統計が、ユーザ特性統計モジュール552によって収集され、このユーザ特性統計モジュール552は、統計サーバ554または展開サーバ454などの別のサーバで動作しているものとすることができる。ユーザのセッションに関して収集されたユーザ特性および統計は、ユーザ特性統計データベース558に保管される。展開サーバ454に送られるHTMLページを作成する時に、表現処理モジュール556が、この情報にアクセスする。
【0056】
表現処理モジュール556によって、ユーザのコンピュータシステムの能力および公認の標準規格からの既知の変動に基づいて、HTMLが作成される。たとえば、HTML言語が標準化されたという事実にもかかわらず、Netscapeバージョン4.xおよびInternet Explorerバージョン5.xなどの主要なウェブブラウザによって、標準規格が完全には実施されていない可能性がある。さらに、ブラウザが、HTML言語に対する非標準の拡張を実施するか、他の独自の特徴を有する場合がある。表現処理モジュール556では、HTMLページを構成する時に、これらの問題を考慮に入れる。
【0057】
XMLファイルとして保管されるアプリケーションは、ユーザ34に示される表現の抽象化である。プレゼンテーションのコンテンツが、資産に関して記述され、資産自体は、コンテンツの抽象化である。したがって、アプリケーションを、編成されるXMLフレームワークに置かれる抽象コンテンツ記述の集約として記述することができる。XMLからHTMLに変換する時に、表現処理モジュール556によって、HTML内に、前に資産表現と呼んだ特定のファイルが含まれ、その結果、そのURLによってファイルを要求することによって、ユーザのJava(R)Script対応ブラウザ406からコンテンツにアクセスできるようになる。表現処理モジュール556によって、特定のHTMLコードを生成する時に、アプリケーションに含まれるコンテンツのタイプと、ユーザのシステムの能力が考慮される。たとえば、アプリケーションが、アメリカ国旗がなびくアニメーションを要求する場合に、その資産(アニメーションされる旗)を、システム内で、2つの別々の表現すなわちFlashアニメーションおよびアニメーテッドGIFとして保管することができる。ユーザのシステムに、Flash機能が欠けている場合には、表現処理モジュール556によって作成されるHTMLによって、ユーザのJava(R)Script対応ブラウザ406が、Flashバージョンではなく、資産のアニメーテッドGIFバージョンを要求するように指示される。その代わりに、ユーザのシステムが、Flash機能およびアニメーテッドGIFを表示する能力の両方と、高い接続速度を有する場合に、表現モジュールによって、特定のユーザ34のシステム特性に基づいて、Flash表現を要求するコードを含めることを選択することができる。
【0058】
図13Aおよび13Bに、ユーザの画面650に表示されるプレゼンテーションコンテンツのリアルタイム変更を示す。この例では、プレゼンテーションによって、所望のコンテンツを表示するのに領域652、654、および656が使用される。領域652に、スライドショー(たとえば、Microsoft PowerPointを介して生成できるもの)が表示される。領域654に、第1のビデオが表示され、これが、プレゼンテーション中に、領域656に示される第2のビデオと比較される。
【0059】
このプレゼンテーションの第1の議論のポイントは、スライドショー領域652に示される「ポイントA」660である。「ポイントA」660は、プレゼンタによって現在議論されているポイントなので、「ポイントA」660は、そのフォント特性に関して強調されている(たとえば、太字、下線付き、および斜体など)。「ポイントA」の議論が始まった後に、ストリーミングビデオ658が、ユーザのコンピュータに送信され、第1のビデオの領域654に表示される。第2のビデオ領域656は、プレゼンタが第2のビデオの議論を開始していないので、インアクティブのままである。
【0060】
コントローラのコンピュータ36からのプレゼンタが、イベントを注入して、プレゼンテーションの異なる態様を強調する。このイベントが、ユーザのコンピュータによって処理される。たとえば、プレゼンタは、第1のビデオの異なる態様を強調するために、矢印666を移動するイベントを注入することができる。
【0061】
図13Bに、「ポイントB」662へのプレゼンテーション推移を示す。このポイントを強調するために、プレゼンタは、イベントを注入し、それがユーザのコンピュータによって受信される。このイベントによって、領域652内で、「ポイントB」662以外のすべての点のフォント特性が、強調されなくなる。したがって、このイベントによって、「ポイントA」660のフォント特性が、通常のフォントタイプにされる(「ポイントC」664は、このイベントによって影響を受けない)。注入されたイベントによって、「ポイントB」662のフォント特性が、強調され、さらに、第2のビデオのストリーミングが開始される。プレゼンタは、第2のビデオの異なる態様を強調するために、さらなるイベントを注入して、矢印666を移動する。
【0062】
ユーザのコンピュータでのプレゼンテーションを制御するために注入されるイベントは、通常は、ユーザのウェブブラウザで動作するJava(R)Scriptプログラムによって処理される。そのような結果(たとえば、プレゼンテーション内の、見られている構成要素の同期化)を達成するのに必要なイベント処理の複雑さのゆえに、洗練された独自のプログラミング技法が必要である。技法の1つが、スクリプティング言語を修正して、継承などのオブジェクト指向の特徴をシミュレートすることである。この技法が、Java(R)Scriptだけに限られるのではなく、特にウェブページコンテンツ開発に使用される、すべてのスクリプティング言語が含まれることを理解されたい。
【0063】
図14は、スクリプティング言語(Java(R)Script、VBScriptなど)での継承プロパティのシミュレーション700を示すクラス図である。親クラス702が、まず宣言され、定義される。Java(R)Scriptでは、親クラスが、関数として宣言され、親クラスの関数の動作が、その直後のコードブロック内で定義される。親クラス関数に、通常は、1つまたは複数の関数自体が含まれる。クラスとして使用される関数内の、含まれる関数を、メソッドと称する。親クラス関数に含まれるメソッドが、704に示されている。
【0064】
子クラス706は、親クラスが宣言され、定義されるのとほぼ同じ形で宣言され、定義される。子クラス関数には、1つまたは複数の関数自体が含まれる。子クラス706は、親クラス702から派生する。子クラス関数に含まれる少なくとも1つの関数が、親クラスのメソッド704と同一の名前を有する。子クラスのメソッド708は、親メソッド704をオーバーライドするように宣言され、定義される。その結果、親メソッド704および子メソッド708のそれぞれが、異なる機能性を有する。
【0065】
他のサブクラス710が、親クラス関数および子クラス関数について説明したように宣言され、定義される。これらのサブクラス関数は、子クラス706を親クラス702から派生させたのと似た形で、階層内の真上のクラス関数から派生するように、宣言し、定義することができる。子クラス706から派生するサブクラス710は、その親として働く子クラス706を有し、このサブクラス710には、子メソッド708をオーバーライドするサブクラスメソッド712が含まれる。この技法を、宣言され定義されるクラスの複数の世代に適用することができる
同様に、それ自体が子クラス706の派生された子クラスであるサブクラス714を、宣言し定義することができる。サブクラス714には、子メソッド708をオーバーライドするサブクラスメソッド716が含まれる。この形で、サブクラス710およびサブクラス714は、兄弟クラスである。というのは、サブクラス710およびサブクラス714の両方が、同一の親すなわち子クラス706から派生したからである。
【0066】
図15Aから15Eに、オブジェクト指向プログラミング言語の継承プロパティのシミュレーションに使用されるプログラミング方法800を示す、HTMLページ内のJava(R)Scriptソースコードを示す。行802で、プログラマが、単一の引数subClassをとる、Componentという名前の関数を宣言している。行804で、親オブジェクト内の変数this.stubが、宣言され、右辺の論理ORテストからの値を割り当てられる。割り当てられる値は、subClassからComponent関数に値が渡される場合にはその値、あるいは、右辺の論理OR演算子からの、単にそれ自体への参照のいずれかになる。行806で、スーパークラスオブジェクトへの参照にnullがセットされる。
【0067】
行808で、関数ImageComponentのプロトタイプが、新しいComponentから割り当てられる。行810で、関数ImageComponentを宣言する。ImageComponentは、subClassという名前の単一の引数をとる。現在のImageComponentのstub変数は、行804の演算に類似する形で、行812の代入演算子の右辺の論理OR演算から値を割り当てられる。行814で、2つの割り当てが行われる。まず、新しい演算子を使用し、引数としてthis.stubを渡すことによって、新しいComponentを作成する。次に、行804で、割り当てが、ImageComponent.prototypeに対して行われる。この割当によって、行808でおこなわれる割り当てがオーバーライドされる。最後に、行804で、this.superclassへの第2の割り当てが行われる。第2の割り当ての後で、this.superclassが、基底クラスを参照し、この基底クラスは、その子クラスの親である。
【0068】
親クラスと子クラスの両方に、OnActivateという名前の関数が含まれる。親クラスであるComponentでは、行816で、ComponentクラスのOnActivate関数に、OnActivate関数の、Componentクラスに含まれるバージョンをセットする。行818で、親クラスのOnActivate関数を宣言する。コードブロック820に、行818で宣言された親クラスのOnActivate関数の機能コードが含まれる。
【0069】
子クラスについて、行822で、子クラスのOnActivate関数がセットされる。子のOnActivate関数を、行824で宣言する。コードブロック826に、行824で宣言された子クラスのOnActivate関数の機能コードが含まれる。行825で、imageという変数が宣言され、null値が割り当てられる。
【0070】
行850で、関数DoOnLoadが宣言され、この関数の動作コードは、コードブロック852に含まれる。関数ActivateImageが、行830で宣言され、その動作コードは、コードブロック832に含まれる。
【0071】
行834のHTMLタグによって、行850からのJava(R)Script関数DoOnLoadが呼び出される。DoOnLoad関数が実行される時に、行825で宣言されたimageが、ImageComponentとして作成される。行836のHTMLタグによって、入力ボタンが視聴者の画面に表示される。
【0072】
図16Aは、Java(R)Scriptコード(図15Aから15Eに示された)が実行される時にユーザに表示されるグラフィカルユーザインターフェースの描写である。図16Aでは、ボタン902が、図15Eの行836のHTMLコードによって作成されたボタンである。そのボタンがクリックされた時に、行830およびコードブロック832の関数ActivateImageが呼び出される。コードブロック832のActivateImage関数が、imageのOnActivate関数であるimage.OnActivateを呼び出す。imageは、子クラスから作成されたので、実行されるOnActivate関数は、行824およびコードブロック826のImageComponent関数で宣言され、定義された関数である。ImageComponent関数のOnActivate関数によって、まず、アラート(alert)が引き起こされ、テキスト「Image Child Activate」が画面に表示される。このアクションのグラフィカル描写が、図16Bに含まれ、図16Bには、アラートボックス908が示されている。アラートが、OKボタン910をクリックすることによって消されたならば、コードブロック226内のコードの次の行が実行される。この行によって、行218で宣言され、コードブロック220で定義された、親クラスComponentのOnActivate関数が呼び出される。実行中に、親のOnActivate関数によって、アラートが引き起こされ、テキスト「Base Activate」が画面に表示される。このアクションのグラフィカル描写が、図16Cに含まれ、図16Cには、アラートボックス921が示されている。アラートが、OKボタン914をクリックすることによって消されたならば、コードブロック826のOnActivate関数が、実行を完了する。そのアラートが消された時に、この関数によって、行838の子クラスの関数OnActivatePropertiesが呼び出される。コードブロック840で、テキスト「Image Child OnActivateProperties」を有するアラートが、視聴者の画面に表示される。このアクションのグラフィカル描写が、図16Dに含まれ、図16Dには、アラートボックス916が示されている。アラートが、OKボタン918をクリックすることによって消されたならば、親クラスのOnActivatePropertie関数が呼び出される。親クラスのOnActivatePropertieは、行842で宣言され、コードブロック844で定義されている。コードブロック844のコードによって、テキスト「Base OnActivateProperties」を有するアラートダイアログが、視聴者の画面に表示される。このアクションのグラフィカル描写が、図16Eに示されており、図16Eには、アラートボックス920が示されている。視聴者が、OKボタン922をクリックすることによってこのアラートを消す時に、処理が完了する。
【0073】
継承の追加レベルが、ImageComponentからサブクラスGIFComponentを派生することによって達成される。GIFComponent関数は、行860で宣言され、コードブロック862で定義されている。GIFComponentの親クラスへの参照が、行864および866で、前にImageComponent内のComponentへの参照を作成した時に似た形で作成される。この作成手順は、行870で宣言され、コードブロック872で定義されるGIF89Componentについて、もう一度繰り返される。
【0074】
行874のHTMLコードによって、図16Aに示されたボタン904が作成される。ボタン904によって、行882で宣言され、コードブロック884で定義される関数ActivateGIFが呼び出される。行876のHTMLコードによって、図16Aに示されたボタン906が作成される。ボタン906によって、行886で宣言され、コードブロック888で定義される関数ActivateGIF89が呼び出される。アラートは、前に説明したように表示され、最も下位の派生クラスのアラートが、まず表示され、最下位の派生クラスの親からのアラートが、次に表示され、以下同様に、最上位の親クラスの最後のアラートが表示されるまで継続される。
【0075】
最後に、すべての図面および前の説明に関して、説明された実施形態が、請求項に記載の本発明の要素に対応する要素を有する構造、システム、および方法の例であることを理解されたい。この書かれた説明によって、当業者が、請求項に記載の発明の要素に同様に対応する代替要素を有する実施形態を作り、使用できるようになる。したがって、本発明の所期の範囲に、請求項の文字どおりの言葉と異ならない他の構造、システム、または方法を含めることができ、さらに、請求項の文字どおりの言葉と実質的に異ならない他の構造、システム、または方法を含めることができる。たとえば、セットトップボックス、携帯情報端末、およびウェアラブルコンピュータのすべてで、請求される発明を使用することができる。
【0076】
本発明の広い範囲のもう1つの例示として、図17Aおよび17Bに、本システムの追加の例示的構成を示す。図17Aに、アプリケーションサービスプロバイダ(ASP)モデルを使用する構成を示す。この例示的ASPモデル1030では、開発者32が、開発作業に自分のコンピュータを使用する。開発者のコンピュータは、開発者のネットワーク1032に接続される。開発者のネットワーク1032は、インターネット1034に接続される。マルチメディア作成管理プラットフォーム40が、ネットワーク1036に接続され、マルチメディア作成管理プラットフォームネットワーク1036が、インターネット1034に接続される。これらの相互接続を介して、開発者32が、エンドユーザ34への最終的な配信のためにマルチメディア作成管理プラットフォーム40によって提供される機能性へのアクセスを得る。
【0077】
図17Bに、ASPモデルのもう1つの例示的な構成1050を示す。構成1050では、開発者のコンピュータ32が、開発者のネットワーク1032を介してインターネット1034に接続される。開発者のコンピュータ32によって、実行可能プログラムファイル1052がアクセスされる。実行可能プログラムファイル1052によって、資産作成および管理ならびにテンプレート作成など(これに制限はされない)、マルチメディア作成管理システム40(図2の)の機能性の諸部分が提供される。実行可能プログラムファイル1052は、開発者のコンピュータ32が開発者のネットワーク1032を介してアクセスするサーバ1051に常駐するものとすることができる(もう1つの構成が、破線で示されており、この場合には、実行可能プログラムファイル1052が、開発者のコンピュータ32に直接に常駐する)。
【0078】
開発者のコンピュータ32は、マルチメディア作成管理プラットフォーム1054にアクセスして、エンドユーザ34へのストリーミングビデオを介するコンテンツの提供など、実行可能プログラムファイル1052によって提供されない機能性を提供する。一部の動作がマルチメディア作成管理プラットフォーム1054(図17Bの)によって実行され、他の動作が実行可能プログラムファイル1052(図17Bの)によって実行されるように、マルチメディア作成管理プラットフォーム40(図2の)の動作を分離するさまざまな可能性が存在することを、当業者は理解するであろう。
【0079】
開発者のコンピュータ32を、多数の形でマルチメディア作成管理プラットフォーム1054に接続することができる。その形の1つが、マルチメディア作成管理プラットフォーム1054を含むネットワーク1036へのデータ接続を有する開発者のネットワーク1032によるものである。そのようなアクセスは、開発者のネットワークによって、インターネット1034を介してマルチメディア作成管理ネットワーク1036にアクセスすることによって達成することができる。セキュリティを追加するために、ファイヤウォール1042を、開発者のネットワーク1032とインターネット1034の間に配置することができる。ファイヤウォール1042を構成して、エンドユーザ34による開発者のネットワーク1032へのアクセスを許可することができ、あるいは、開発者のネットワーク1032からファイヤウォール1042を介して最終的にエンドユーザ34へのコンテンツの送信を許可することができる。
【0080】
実行可能プログラムファイル1052を、複数のファイル(複数の動的リンクライブラリファイルなどであるが、これに制限はされない)として実施できることを、当業者は理解するであろう。さらに、インターネット1034、開発者のネットワーク1032、および/またはマルチメディア作成管理ネットワーク1036を、光実施形態および無線実施形態を含む私有または公衆のインタネットワークまたはイントラネットワークとすることができる。
【図面の簡単な説明】
【0081】
【図1】マルチメディアウェブアプリケーションを作成し、管理し、展開する、ネットワーク接続されたコンピュータシステムを示すブロック図である。
【図2】マルチメディアウェブアプリケーションを作成し、管理し、展開する、ネットワーク接続されたコンピュータシステムを示すブロック図である。
【図3】マルチメディア資産管理システムを示すブロック図である。
【図4A】資産管理システムを示すグラフィカルユーザインターフェースを示す図である。
【図4B】資産管理システムを示すグラフィカルユーザインターフェースを示す図である。
【図4C】資産管理システムを示すグラフィカルユーザインターフェースを示す図である。
【図4D】資産管理システムを示すグラフィカルユーザインターフェースを示す図である。
【図4E】資産管理システムを示すグラフィカルユーザインターフェースを示す図である。
【図4F】資産管理システムを示すグラフィカルユーザインターフェースを示す図である。
【図4G】資産管理システムを示すグラフィカルユーザインターフェースを示す図である。
【図5A】テンプレートエディタによって、開発者がコンテンツを作成するのを助けるのに使用されるグラフィカルユーザインターフェースを示す図である。
【図5B】テンプレートエディタによって、開発者がコンテンツを作成するのを助けるのに使用されるグラフィカルユーザインターフェースを示す図である。
【図5C】テンプレートエディタによって、開発者がコンテンツを作成するのを助けるのに使用されるグラフィカルユーザインターフェースを示す図である。
【図5D】テンプレートエディタによって、開発者がコンテンツを作成するのを助けるのに使用されるグラフィカルユーザインターフェースを示す図である。
【図6A】アプリケーションマネージャによって、ウェブアプリケーションを構成するのに使用されるグラフィカルユーザインターフェースを示す図である。
【図6B】アプリケーションマネージャによって、ウェブアプリケーションを構成するのに使用されるグラフィカルユーザインターフェースを示す図である。
【図6C】アプリケーションマネージャによって、ウェブアプリケーションを構成するのに使用されるグラフィカルユーザインターフェースを示す図である。
【図6D】アプリケーションマネージャによって、ウェブアプリケーションを構成するのに使用されるグラフィカルユーザインターフェースを示す図である。
【図7A】異なるサーバ上でアプリケーションのコンテンツを分散する方法の例を示す展開マップである。
【図7B】異なるサーバ上での資産の展開を示すグラフィカルユーザインターフェースを示す図である。
【図8】ユーザにアプリケーションを供給するアプリケーションホスティングシステムを示すブロック図である。
【図9A】ネットワーク上でユーザにコンテンツを供給するアプリケーションホスティングシステムを示すブロック図である。
【図9B】ネットワーク上でユーザにコンテンツを供給するアプリケーションホスティングシステムを示すブロック図である。
【図10】ビデオプレゼンテーションを制御するように設計されたイベントを処理する例示的な擬似コードをリストした図である。
【図11A】リモート視聴者に生イベントを提示する動作フローを示す流れ図である。
【図11B】リモート視聴者に生イベントを提示する動作フローを示す流れ図である。
【図11C】リモート視聴者に生イベントを提示する動作フローを示す流れ図である。
【図12A】異なる構成を有するアプリケーションホスティングシステムを示すブロック図である。
【図12B】異なる構成を有するアプリケーションホスティングシステムを示すブロック図である。
【図13A】プレゼンテーションコンテンツのリアルタイム変更を示すグラフィカルユーザインターフェースを示す図である。
【図13B】プレゼンテーションコンテンツのリアルタイム変更を示すグラフィカルユーザインターフェースを示す図である。
【図14】スクリプティング言語での継承プロパティのシミュレーションを示すクラス図である。
【図15A】オブジェクト指向プログラミング言語の継承プロパティのシミュレーションのプログラミング方法を示す、HTMLページ内の例示的なJava(R)Scriptソースコードを示す図である。
【図15B】オブジェクト指向プログラミング言語の継承プロパティのシミュレーションのプログラミング方法を示す、HTMLページ内の例示的なJava(R)Scriptソースコードを示す図である。
【図15C】オブジェクト指向プログラミング言語の継承プロパティのシミュレーションのプログラミング方法を示す、HTMLページ内の例示的なJava(R)Scriptソースコードを示す図である。
【図15D】オブジェクト指向プログラミング言語の継承プロパティのシミュレーションのプログラミング方法を示す、HTMLページ内の例示的なJava(R)Scriptソースコードを示す図である。
【図15E】オブジェクト指向プログラミング言語の継承プロパティのシミュレーションのプログラミング方法を示す、HTMLページ内の例示的なJava(R)Scriptソースコードを示す図である。
【図16A】図15Aから15EのJava(R)Scriptコードが実行される時にユーザに表示されるグラフィカルユーザインターフェースを示す図である。
【図16B】図15Aから15EのJava(R)Scriptコードが実行される時にユーザに表示されるグラフィカルユーザインターフェースを示す図である。
【図16C】図15Aから15EのJava(R)Scriptコードが実行される時にユーザに表示されるグラフィカルユーザインターフェースを示す図である。
【図16D】図15Aから15EのJava(R)Scriptコードが実行される時にユーザに表示されるグラフィカルユーザインターフェースを示す図である。
【図16E】図15Aから15EのJava(R)Scriptコードが実行される時にユーザに表示されるグラフィカルユーザインターフェースを示す図である。
【図17A】マルチメディア作成管理プラットフォームを使用する追加の例示的構成を示すブロック図である。
【図17B】マルチメディア作成管理プラットフォームを使用する追加の例示的構成を示すブロック図である。
【0001】
本発明は、全般的にはコンピュータネットワークでの情報プレゼンテーションの分野を対象とする。具体的には、本発明は、さまざまなメディアフォーマットで情報を作成し、管理し、提示する装置および方法を対象とする。
【背景技術】
【0002】
コンピュータは、事前定義のプロトコルを厳守するフォーマットでデータを送信することによって、ネットワーク上で通信する。インターネットを例にすると、インターネット上で通信するコンピュータによって、コンピュータで動作するプロセスからのデータが、インターネットプロトコル(IP)フォーマットを厳守するデータパケットにカプセル化される。同様に、ネットワーク接続された計算機で動作するプロセスは、ビデオおよびオーディオコンテンツのReal Playerフォーマット、ワールドワイドウェブを介して配信されるコンテンツのハイパーテキストマークアップ言語(HTML)フォーマットなど、そのプロセスが厳守するそれ自体のプロトコルおよびデータフォーマットを有する。
【0003】
ネットワーク上の配信のためのコンテンツのフォーマッティングは、時間がかかる過酷な作業である。さらに事態を複雑にしているのが、公認されたプロトコルおよびデータフォーマットの存在にもかかわらず、ネットワーク接続されたコンピュータで実行されるプロセスが、これらのプロトコルおよびデータフォーマットに厳密に従っていない場合があるという事実である。したがって、異なるプロセスへのプレゼンテーションのために同一内容の複数の版を作成しなければならないという問題が生じる。たとえば、コンテンツが、ウェブページである場合に、ウェブブラウジングプロセスとしてNetscape Navigatorを実行するユーザ用の版と、Microsoft Internet Explorerを実行するユーザ用の別の版を有することが必要になる場合がある。これらおよび他の理由から、さまざまな環境を満足するコンテンツの作成および管理は、問題がある。
【発明の開示】
【発明が解決しようとする課題】
【0004】
【課題を解決するための手段】
【0005】
本発明のシステムおよび方法によって、これらおよび他の問題が克服される。本発明の教示によれば、コンピュータ実施されるシステムおよび方法によって、マルチメディアコンテンツの作成、管理、およびプレゼンテーションに関するさまざまなタスクが実行される。作成されたならば、コンテンツを、視聴者へのオンデマンドプレゼンテーションのために保管することができる。代替案では、イベントの生放送と同様に、コンテンツを、作成される時に提示することができる。このシステムおよび方法によって、さらに、マルチメディアコンテンツを視聴者に提示できるプラットフォームが提供される。内容のプレゼンテーションに関して、このシステムおよび方法によって、視聴者のシステムの特定の属性および視聴者のシステムによって確立される接続に基づいて、視聴者に提示されるコンテンツを調整する能力がもたらされる。
【発明を実施するための最良の形態】
【0006】
図1に、マルチメディアウェブアプリケーションの効率的かつ効果的な作成、管理、および展開のための、ネットワーク接続されたコンピュータシステム30を示す。アプリケーション開発者32が、コンピュータシステム30を介してマルチメディアコンテンツを作成し、ユーザ34によるアクセスのためにコンテンツを展開する。ユーザ34が、マルチメディアコンテンツを見ている間に、コントローラ36によって、コンピュータシステム30を介してイベントを注入して、ユーザ34が見ているものをリアルタイムで修正することができる。たとえば、ユーザ34が、コントローラ36によって与えられるプレゼンテーションの生ビデオストリームを見ている場合がある。コントローラ36は、コンピュータシステム30を介して、コントローラ36が現在アドレッシングしている点を強調するイベントを注入することができる。コントローラ36は、ユーザのコンピュータ画面で矢印を移動することによって、ユーザのコンピュータ画面に表示される議論のポイントのフォント特性を変更することによって、または類似する他の形で、議論のポイントを強調することができる。
【0007】
コンピュータシステム30には、開発者32がマルチメディアアプリケーションを作成し、保管し、管理するのに用いるコンピュータプラットフォーム40が含まれる。コンピュータプラットフォーム40によって、開発者があらゆるタイプのメディアコンテンツをアプリケーションに組み込むためのユーザフレンドリなインターフェースが提供される。そのようなタイプには、画像、ビデオ、オーディオ、または他のすべてのタイプの知覚上のコンテンツ(たとえば、触覚または嗅覚)が含まれる。マルチメディアコンテンツは、当初は、資産コンテンツ記憶ユニット42に資産(asset)44として保管される。たとえば、ラシュモア山の画像ならびに「リトルニッキー」などの映画のビデオを、資産コンテンツ記憶ユニット42に資産として保管することができる。
【0008】
開発者32が、資産コンテンツ記憶ユニット42に保管することができる膨大な数の資産を検索し、編成するのを助けるために、資産メタデータ48が、資産メタデータ記憶ユニット46に保管される。メタデータ48には、資産の名前、タイプ、および位置などの資産属性が含まれる。属性の値も、資産メタデータ記憶ユニット46に保管される。資産メタデータを使用できる方法の例として、開発者が、映画「リトルニッキー」のビデオクリップを探していると仮定する。開発者は、資産コンテンツ記憶ユニット42(多数のビデオ、オーディオ、画像、および他の資産ファイルの保管に起因して、はるかに大きい)を検索するよりも、資産メタデータ記憶ユニット46を検索して、所望のビデオクリップをすばやく効率的に突き止めることができる。所望の資産を突き止めた後に、アプリケーションが、生成され、アプリケーション記憶ユニット50に保管される。
【0009】
アプリケーションホスティングシステム52によって、ユーザ34に、要求時にアプリケーションが供給される。アプリケーションを提供するために、アプリケーションホスティングシステム52によって、アプリケーションが、アプリケーション記憶ユニット50から検索され、通常はHTMLページの形でユーザ34に供給される。そのHTMLページで指定されるすべての資産が、資産コンテンツ記憶ユニット42から検索される。ユーザの計算機によって要求される特定の資産表現が、HTMLページに含まれる、ユーザの計算機で実行されるJava(R)Scriptコードの使用を介して判定される。本明細書で言及する記憶ユニットを、リレーショナルデータベース管理システム、オブジェクト指向データベース管理システム、あるいはオンラインサーバ、ディスクドライブ、またはドライブのアレイに保管されるファイルなどの情報を保管するのに適するすべての装置とすることができることを理解されたい。
【0010】
アプリケーションホスティングシステム52は、コントローラ36によって、ユーザ34がアプリケーションを視聴している間にイベントを注入するのにも使用される。コントローラ36によって、アプリケーションホスティングシステム52にコマンドが発行されて、ユーザ34によって視聴されるアプリケーションの設計時プロパティが(実行時中に)変更される。
【0011】
図2に、開発者32と異なる資産アプリケーションコンテンツ記憶ユニット60の間のインターフェースとして働くマルチメディア作成管理プラットフォーム40によって使用される異なるマネージャおよびエディタを示す。コンピュータプラットフォーム40に、ユーザのログインおよび検証を監督するアカウントマネージャ62が含まれる。資産マネージャ64は、アプリケーションで使用できる多数の異なるタイプの資産を操作するのに使用される。テンプレートエディタ66を用いると、開発者32が、同一プロジェクトまたは異なるプロジェクトで繰り返して使用できる基本テンプレートを作成できるようになる。テンプレートは、同一のプロジェクトを扱う多数の開発者32が、ウェブページフォーマットのあるレベルの均一性を得るために努力する時に特に有用である。
【0012】
ウェブアプリケーションが、資産およびテンプレートを用いて作成されたならば、アプリケーションマネージャ68によって、どの資産がどのアプリケーションで使用されるかを追跡するなど、アプリケーションの保管および管理で開発者32が支援される。プロジェクトマネージャ70によって、開発者32に、異なるプロジェクトでどのアプリケーション、資産、テンプレートが使用されるかを管理する構造化された機構が与えられる。展開マネージャ72によって、開発者32が、ユーザにより効率的にアプリケーションを提供するのが支援される。展開マネージャ72によって、どのコンピュータサーバがどの資産に使用されるかが記憶される。異なるサーバによって、ある資産タイプがよりよく処理される可能性があるので、展開マネージャ72によって、正しい資産タイプが正しいサーバに展開されることが保証される。
【0013】
図3から4Gによって、コンピュータシステム30によって使用される資産マネージャを詳細に説明する。図3に、資産44が資産マネージャ64によってどのように表現され、管理されるかを示す。資産44は、特定のメディアコンテンツの抽象化(abstraction)であり、資産44が経時的に展開される際に複数のバージョンを有する場合がある。資産44は、名前、プロジェクト、アクセス許可などの属性および値48を有する。たとえば、資産44の名前プロパティは、通常は、資産44のコンテンツを記述することによって定義される。資産44は、映画「My Cousin Vinnie」の予告編とすることができ、そのような資産44の名前に、映画の題名を含めることができる。資産マネージャ64によって、資産の属性および値48が、資産メタデータ記憶ユニット46に保管される。資産メタデータを変更して、新しい属性を作成するか、異なる値を属性に割り当てることができる。
【0014】
資産44の管理を容易にするために、資産44を、論理集約要因に従ってグループ化し、資産グループ102に配置することができる。たとえば、資産44を、「映画予告編」などのタイプによってグループ化することができる。
【0015】
各資産が、複数の表現104を有することができる。資産の表現は、その資産の特定のフォーマットのインスタンスである。映画予告編の例に関して、資産「映画予告編−My Cousin Vinnie」は、QuickTimeフォーマットの表現、Windows(R) Media Playerフォーマットのもう1つの表現、およびReal Playerフォーマットの第3の表現を作成することによって、複数の表現を有することができる。資産44の異なる表現104は、資産コンテンツ記憶ユニット42に置かれる。資産メタデータ記憶ユニット46によって、資産44に関してどの資産表現104が保管されているかが反映される。この形で、後に展開されるアプリケーションで、ある資産についてどの表現が使用可能であるかを判定でき、その結果、正しい資産フォーマットをリモートユーザに供給できるようになる。
【0016】
図4Aから4Gに、資産マネージャ64によって、開発者がアプリケーション内の資産を使用できるようにするのに使用されるグラフィカルユーザインターフェースを示す。図4Aに関して、インターフェース120を用いると、開発者が、どの資産が使用可能であるかを見ることができる。開発者は、領域122内で、所望の資産を含むディレクトリを選択する。現在の選択に関する使用可能な資産が、領域124に表示される。たとえば、行126によって、「リトルニッキー」という題名の映画から、映画予告編が使用可能であることが識別される。行128によって、別の資産に、その映画の俳優(すなわちアダム・サンドラ)の画像が含まれることが識別される。開発者が行126を選択する場合に、図4Bに示されているようにインターフェース140が示され、その結果、必要な場合に、開発者が、資産に関する情報を編集できるようになる。
【0017】
図4Bに関して、インターフェース140に、選択された資産のメタデータ(すなわち属性および値)が暴露される。領域142に示される属性には、現在の状況(すなわち、アプリケーションでの使用に関して承認されたかどうか)、新しい状況、注記、フォルダ(すなわち、資産のディレクトリ位置)、資産名、ファイル位置(URLとして表現できるもの)、資産タイプ、アクティブ日付(すなわち、画像が最初に承認された時)、満了日付(すなわち、資産がそれ以上使用されなくなる時)、資産の説明、およびキーワード(後にこの資産の検索で使用される)が含まれる。
【0018】
インターフェース140には、領域144に、資産についてどの表現が使用可能であるかも含まれる。領域144に、JPEG画像表現が、選択された資産について使用可能であることが示されている。ビットマップ画像フォーマットまたはTIFF画像フォーマットなどの他の表現フォーマットを使用できることを理解されたい。JPEG画像フォーマットについて、言語が、英語などの人間が話す言語を指すので、タイプ言語(type language)が適用可能でない。言語タイプ(language type)は、テキストまたはオーディオレコーディングなど、人間言語の固有のコンテンツについて最も一般的に使用される。資産が、ストリーミングタイプの資産(たとえばストリーミングビデオ)である場合に、帯域幅エントリに、選択された特定の表現をユーザに送信する前にユーザが有さなければならない伝送容量を示す値が含まれる。特定のタイプが使用可能でない場合に、ユーザは、そのタイプの値として「なし」を選択するオプションを有する。
【0019】
図4Cに、資産のグループのアクセス許可を管理するインターフェース160を示す。読取、書込、削除、および管理者のアクセス特権を、ユーザごとの基礎で選択することができる。したがって、異なるプロジェクトチームが、他の開発者のプロジェクトに干渉せずに、異なる資産を操作することができる。
【0020】
図4Dに、資産をより具体的に記述する新しい資産タイプを開発者が作成できるようにするインターフェース170を示す。インターフェース170には、より具体的にビデオ資産を説明する新しい資産タイプ「音楽ビデオ」を開発者が作成していることが示されている。新しい資産タイプは、通常は、画像、ビデオ、文書など、上位の資産タイプから作られる。開発者は、さらに、新しいデータフィールドを作成するか、先在するデータフィールドを新しい資産タイプに関連付けることによって、新しい資産タイプをさらに洗練することができる。図4Eに、この態様の例を示す。
【0021】
図4Eに関して、インターフェース180によって、新しい資産タイプ「音楽ビデオ」と共に使用される、「アルバム」という名前の新しい属性が作成される。説明、フィールドタイプ、およびフィールドサイズも、インターフェース180で入力して、新しい属性をさらに完全に記述することができる。新しい属性およびその新しい資産タイプとの関連が、資産メタデータ記憶ユニットに保管される。
【0022】
資産は、開発者が資産を分類するのを支援する複数の異なる表現を有することができる。たとえば、開発者が、あるプロジェクトを中心とする資産のアレイを作成することを望むと仮定する。開発者は、詳細を限定するためのプレースホルダとして資産名を作成し、その後、その名前について資産の複数の異なるタイプを追加することとができる。したがって、資産名を検索する時に、開発者は、その資産として選択される複数の異なる表現を有する。
【0023】
図4Fに、開発者が複数の表現を同一の資産名に関連付けられるようにするインターフェース190を示す。開発者は、表現をフィールド192に入力し、そのそれぞれについて、その表現がどのタイプにならなければならないかを選択する。プルダウンボックス194に、開発者が選択するタイプのリストが提示される。開発者は、同一のタイプを有するが異なる表現を有する複数の資産を入力することができる。したがって、2つの資産に、2つの異なるフォーマットの同一の画像(図4Gに示されたものなど)を含めることができる。
【0024】
図5Aから5Dに、テンプレートエディタ66によって、開発者がコンテンツを作成するのを助けるのに使用されるグラフィカルユーザインターフェースを示す。図5Aに関して、テンプレートエディタ66に、構成要素の挿入、構成要素プロパティの修正、および構成要素挙動の指定を自動化するパレット200が含まれる。パレット200内で、構成要素は、パレット領域202に示され、開発者がテンプレートに配置できるオブジェクトである。挿入できる構成要素の例に、画像構成要素、ビデオ構成要素、およびflash構成要素が含まれる。開発者は、領域204を介して構成要素のプロパティを修正することができる。修正可能な構成要素プロパティに、色、位置、可視性、ファイル名、および他のそのようなプロパティが含まれる。アプリケーションでの構成要素の挙動を、領域206を介して指定することができ、イベント(たとえば、同期化、移動、およびクリックパターン)の発生に基づいて、特定のアクションを構成要素に与えることができる。
【0025】
構成要素がテンプレートに配置されたならば、そのプロパティを表示し、修正することができる。図5Bに、テンプレート224に配置されたビデオ構成要素222のプロパティ情報220を示す。位置、可視性、ファイル名および位置、ならびに他のプロパティが、修正可能として示されている。
【0026】
図5Cに、ビデオ構成要素222に隣接して配置された画像構成要素230を示す。画像のプロパティを、領域232で修正することができる。さらに、挙動追加アイコン234をアクティブ化することによって、画像構成要素230の挙動を指定することができる。この例では、開発者は、ユーザが画像構成要素230をクリックした時に、ビデオ構成要素によってビデオが再生されることを望む。挙動追加アイコン234のアクティブ化の時に、ビデオ構成要素の所望の挙動を指定する3つのウィンドウ236、238、および240が表示される。この例では、開発者が、ウィンドウ236の「onclick」イベントを選択している。次に、開発者は、ウィンドウ238でターゲットとして「ビデオ3」を選択する。次に、ウィンドウ240で、「再生」が選択される。これらの選択によって、画像構成要素230のマウスクリックの際にビデオを再生させるという目標がすばやく達成される。
【0027】
図5Dからわかるように、開発者は、挙動パレット252のチェックボックス250によって、テンプレートの挙動を「管理可能」にセットすることもできる。チェックボックス250を用いると、開発者が、アプリケーションを管理する時に挙動を変更できるかどうかを選択できるようになる。チェックボックス250を用いると、開発者が、ボックス250がチェックされているかどうかに応じてアプリケーションレベルで管理可能または管理不能とすることができる、テンプレート内の挙動を作成できるようになる。同期化ボタン254をクリックすることによって、開発者は、もはや挙動を管理可能になるように設定してはおらず、開発者は、その挙動を管理している。これは、ウィンドウ256で、3つのメッセージボックス258、260、および262によってグラフィカルに示されている。メッセージボックス258によって、イベントが発生する時(たとえば、画像構成要素、画像1がonclickイベントを受け取る時)の判断基準が記述される。メッセージボックス260の下で、イベントが発生する時に行われるアクションが指定される。これと同一の位置で、アクションの受取側が指定される(たとえば、ビデオ構成要素、ビデオ1を再生する)。
【0028】
図6Aから6Dに、アプリケーションマネージャによって、アプリケーションを作るのに使用されるグラフィカルユーザインターフェースを示す。アプリケーションマネージャでは、資産およびテンプレートを使用して、アプリケーションを構成する。図6Aに関して、開発者が、インターフェース280の新規アプリケーションボタン282をアクティブ化する。結果のポップアップウィンドウ284によって、入力フィールドが提供され、この入力フィールド内に、開発者が、新しいアプリケーションの名前を入力する。新しいアプリケーションへのコンテンツの移植を開始するために、開発者は、管理ボタン286をアクティブ化する。
【0029】
図6Bに、管理ボタンのアクティブ化からもたらされるウィンドウ300を示す。新しいアプリケーションに、テンプレート構成フェーズ中に選択されたコンテンツが自動的に移植される。この例では、画像構成要素302が、基礎になるテンプレートに含まれたので、ウィンドウ300に挿入されている。画像構成要素302のプロパティまたは挙動を修正するために、ウィザードシーケンスボタン304がアクティブ化される。
【0030】
図6Cに、ウィザードシーケンスの最初のポップアップウィンドウ310を示す。望まれる場合に、開発者は、画像構成要素302の代わりに異なる資産を使用しなければならないことを指定することができる。開発者は、ボタン312をアクティブ化することによって資産を変更することができる。これによって、資産マネージャへのアクセスが可能にされ、その結果、開発者が、アプリケーションのために他の資産を選択できるようになる。開発者は、画像構成要素312に満足した場合に、次ボタン314をアクティブ化する。
【0031】
次ボタンがアクティブ化された後に、図6Dのポップアップウィンドウ320が表示され、その結果、開発者が、資産を互いに同期化できるようになる。この例では、画像構成要素302が、別の画像構成要素(すなわち画像3)と同期化される。ウィンドウ322に、このアクションにトリガをかける判断基準が、画像構成要素302がonclickイベントを受け取る時であることが示されている。区域324に、ターゲット構成要素のプロパティを、判断基準が発生する時に修正できることが示されている。区域326に、開発者が、ターゲット画像構成要素(すなわち画像3)の可視性プロパティを修正するために3つのオプションの間で選択できることが示されている。第1のオプションでは、可視性オプションが変更されない。第2のオプションでは、ターゲット画像構成要素が可視にされ、最後のオプションでは、ターゲット画像構成要素が不可視にされる。そのようなウィザードシーケンスを介して、ユーザが、アプリケーションにすばやくコンテンツを追加できると同時に、構成要素挙動同期化など、複雑な挙動を指定することができる。
【0032】
ウェブアプリケーションを作成した後に、展開マネージャ72によって、アプリケーションの保管および配布の最適化が助けられる。図7Aに、アプリケーションの異なるコンテンツを複数の異なるサーバを介して配布し、各コンテンツがそのコンテンツを最もよく処理するサーバに保管されるようにする方法を示す。例示的な最適割振りは、次の通りである。カナダのウェブサーバ340が、ハイパーテキストマークアップ言語ページおよび画像のサービスに最適である可能性があり、ストリーミングメディアサーバ342によって、ビデオストリームを最適に配信することができ、MP3サーバ344が、オーディオファイルに関して最もよく働く可能性がある。
【0033】
図7Bに、最適の配信を保証するために異なるタイプの資産を正しく保管するのを支援する展開マネージャ72のインターフェース350を示す。この例では、フィールド352に、ビデオ資産タイプが含まれる。その結果、ビデオ資産が、符号354によって指定されるホストシステムに展開される。同様に、フィールド356に、画像資産タイプが含まれ、さらに、フィールド358で、指定されたファイルタイプ(たとえばGIFおよびJEPG画像ファイル)がこのホストに保管されることが指定される。したがって、GIFおよびJEPGのフォーマットの画像資産が、符号358によって指定されるホストシステムに展開される。区域360で、開発者が、特定の資産表現のホスティングプロパティを指定することができる。
【0034】
図8に、ユーザ34にアプリケーションを供給するアプリケーションホスティングシステム52を示す。アプリケーションは、生の語り手のビデオまたは前に記録されたプレゼンテーションのビデオがユーザ34にストリーミングされる場合のプレゼンテーションを与えるのに使用することができる。どちらのシナリオでも、コントローラ36によって、アプリケーションホスティングシステム52にコマンドを発行して、ユーザ34によって視聴されるアプリケーションの設計時プロパティを実行時中に変更することができる。用語プレゼンテーションが、演説または生のフットボールゲームなど、すべてのタイプのプレゼンテーションを含むので、広義の用語であることを理解されたい。
【0035】
図9Aに、オンデマンドコンテンツ視聴用のイベント注入システム53のアーキテクチャを示す。Java(R)Script対応ブラウザ406を実行するユーザ34が、アプリケーションサーバ402にアプリケーションを要求する。それに応答して、アプリケーションサーバ402によって、要求されたアプリケーションのHTMLページがユーザの計算機に送信される。アプリケーションサーバ402によって、さらに、ユーザの計算機で実行されるJava(R)アプレット452が送信される。Java(R)アプレット452によって、それ自体がJava(R)サーバ464に登録される。Java(R)サーバ464に登録することによって、ユーザの計算機とJava(R)サーバ464の間のJava(R)パイプがオープンされる。このパイプを介して、ユーザの計算機が、Java(R)サーバ464によって送信されるイベントを受信する。
【0036】
ユーザの計算機によって、アプリケーションサーバ402へのコンテンツの要求が行われる。アプリケーションサーバ402は、展開サーバ404からコンテンツを入手する。展開サーバ404は、要求されたコンテンツを、アプリケーション記憶ユニット50および資産記憶ユニット42から検索する(アプリケーション記憶ユニット50に保管されたアプリケーション情報および資産記憶ユニット42に保管された資産情報は、拡張マークアップ言語(XML)で表現されることが好ましい。その例を、下で図12Aおよび12Bに関して説明する)。
【0037】
アプリケーションサーバ402によって、要求されたコンテンツがユーザの計算機に送信される。コンテンツのプレゼンテーション中に、ユーザの計算機で動作するJava(R)アプレット452によって、Java(R)サーバ464からイベントが受信される。これらのイベントによって、Java(R)アプレットが、提示されるコンテンツに応答し、その諸態様を変更する(その例を下で図13Aおよび13Bに関して説明する)。Java(R)サーバ464によって、保管されたイベントがイベント記憶ユニット465から検索される。検索後に、これらの保管されたイベントが、Java(R)サーバ464によって、ユーザの計算機で動作するJava(R)アプレット452に送信される。
【0038】
図9Bに、生コンテンツ視聴用のイベント注入システム55のアーキテクチャを示す。生コンテンツを提示する時に、Java(R)Script対応ブラウザ407を実行するコントローラ36によって、アプリケーションサーバ402に、アプリケーションのコントロールバージョン409が要求される。アプリケーションのコントロールバージョン409を用いると、コントローラ36によって、生コンテンツのプレゼンテーション中に注入されるイベントを作成できるようになる。
【0039】
自分の計算機でJava(R)Script対応ブラウザ406を実行するユーザ34は、アプリケーションサーバ402への、生コンテンツを伴うアプリケーションの要求を行う。アプリケーションサーバ402によって、要求されたコンテンツを表示するHTMLページが、ユーザの計算機に送信される。このHTMLページには、要求されたコンテンツのプレゼンテーション中にユーザの計算機によって受信されるイベントを処理するように働くJava(R)Scriptコードが含まれる。
【0040】
生コンテンツは、当初は、マルチメディアキャプチャ装置400によってキャプチャされる。この装置は、オーディオ機能およびカメラからの生コンテンツを含むネイティブ信号をディジタル信号に変換するコンバータを有するビデオカメラとすることができる。マルチメディアキャプチャ装置400からのディジタル信号は、エンコード装置470に送られ、このエンコード装置470によって、ディジタル信号が事前に選択されたフォーマットにエンコードされる。適当であるフォーマットの中に、QuickTimeムービーフォーマットおよびReal Playerフォーマットがある。エンコード装置470によって、エンコードされたコンテンツが、ユーザの計算機への配信のためにアプリケーションサーバ402に送られる。
【0041】
コンテンツのプレゼンテーション中に、コントローラ36によって、ユーザ34へのコンテンツのプレゼンテーションを変更するイベントを作成することができる。たとえば、コントローラ36によって、プレゼンテーションの背景色を変更させるイベント、グラフィックを表示させるイベント、またはユーザの計算機で複数の他の変化を行わせるイベントを作成することができる。コントローラ36によって作成されたイベントは、Java(R)サーバ464に送られ、ここで、Java(R)イベントが、エンコード装置470に送られる。エンコード装置は、Java(R)サーバ464からのイベントを、コンテンツのストリームに注入する(転送制御プロトコル(TCP)を介することが好ましいが、ビデオデータストリームは、ユーザデータグラムプロトコル(UDP)を介して送られることが好ましい。他のプロトコルをそのような機能性の実行に使用できることを理解されたい)。Java(R)サーバ464によって、さらに、イベント記憶サーバ465にイベントが保管される。この形で、生コンテンツのプレゼンテーション中に発生するイベントを、保管することができ、イベントを含む生プレゼンテーションを、後にオンデマンドプレゼンテーションとして提示することができる。そのような処理は、生コンテンツのタイムシフトのために使用することができ、その結果、ユーザ34が、潜在的に、生コンテンツが生の視聴者に提示されている間に、または生コンテンツのプレゼンテーションが終了した後に、オンデマンドプレゼンテーションとして生プレゼンテーションの先頭を見ることができる。
【0042】
図10に、ビデオプレゼンテーションを制御するように設計されたイベントを処理する、Java(R)Scriptで実施することができる擬似コードを示す。そのようなコードを介して、ユーザのコンピュータが、プレゼンテーションのコントローラによって発行される再生イベント、一時停止イベント、停止イベント、および時刻にジャンプイベントを処理することができる。
【0043】
図11Aから11Cは、リモート視聴者に生イベントを提示する動作フローを示す流れ図である。開始ブロック500によって、処理の開始が示される。処理ブロック502で、生のビデオおよびオーディオコンテンツ信号が、オーディオ機能を有するビデオカメラを介して生成される。処理ブロック504で、これらの信号が、ディジタル化されるすなわち、コンピュータによる操作の用意ができたディジタルフォーマットに変換される。処理ブロック506で、処理ブロック504で作成されたディジタル信号が、QuickTimeムービーフォーマットまたはReal Playerフォーマットなどの産業界で使用されるフォーマットにエンコードされる。処理ブロック508で、プレゼンテーションを見るユーザが、アプリケーションを要求し、このアプリケーションによって、ユーザが、サーバからの生イベントを見られるようになる。継続ブロック510によって、この処理が図11Bで継続されることが示される。図11Bに関して、処理ブロック512によって、生イベントのコンテンツが、視聴のためにユーザに送信されることが示される。処理ブロック514で、ユーザが、自分の計算機でコンテンツを見る。継続ブロック516によって、処理が図11Cで継続されることが示される。
【0044】
図11Cに関して、処理ブロック518で、生イベントのコントローラによって、その生イベントを見ているユーザに送信されつつあるデータにイベントが注入される。注入されたイベントによって、視聴者の計算機が、事前定義の形で応答し、したがって、視聴者の計算機での生イベントのプレゼンテーションが変更される。処理ブロック520で、ユーザが、変更されたコンテンツを自分の計算機で見る。処理は、終了ブロック522で終了する。
【0045】
図12Aは、ユーザがコンテンツを要求する時に必ずユーザに表示される、アーカイブされたオンデマンドプレゼンテーションコンテンツのイベント注入システム550を示すブロック図である。生イベントを、オンデマンドでの後の表示のためにアーカイブされたイベントとして保管できることに留意されたい。
【0046】
ユーザ34は、Java(R)Script対応ウェブブラウジングプログラム406が実行されるコンピュータでコンテンツを見る。ユーザ34は、ユーザのコンピュータ上の別々のプロセスまたはサブプロセスのいずれかとしてJava(R)アプレット452も実行させる。ユーザ34は、展開サーバ454にHTMLページを要求する。展開サーバ454は、要求されたコンテンツをユーザ34に配信するために、サーバ側の主要求ハンドラとして働く。展開サーバ454によって、要求されたHTMLページがユーザの計算機に送信される。
【0047】
要求されたHTMLページが配信されたならば、ユーザのウェブブラウザ406によって、HTMLページが解析され、HTMLページにファイル参照として記述された資産表現に関する要求が、展開サーバ454に発行される。HTMLのファイル参照の例が、<IMG>タグであり、このタグは、ユーザ34に提示される時にHTMLページの特定の点に画像ファイルを配置しなければならないことを示す。当業者は、他のそのようなファイル参照がHTMLでの使用のために使用可能であることをすぐに諒解するであろう。
【0048】
ユーザの資産表現要求に応答する前に、ユーザ特性統計モジュール552および統計サーバ554によって、ユーザのコンピュータハードウェア特性、そのコンピュータで動作しているか使用可能なプロセス、および展開サーバ454とユーザのコンピュータの間の接続に関する情報が収集される。具体的に言うと、収集される情報に、ユーザのブラウザの名前およびバージョン、ユーザのインターネットプロトコル(IP)アドレス、アクセスされるUniform Resource Locator(URL)、参照するページ(ある場合)、ユーザのオペレーティングシステムおよびバージョン、ユーザのシステム言語、接続速度、ユーザの画面の高さ、幅、および解像度、QuickTime、Real Player、およびFlashなどの使用可能なプラグイン、Java(R)Scriptなどの使用可能にされたスクリプトのタイプ、Java(R)が使用可能にされているかどうか、ならびにクッキーが使用可能にされているかどうかが含まれる。ユーザ特性統計モジュール552および統計サーバ554によって、この情報が、他の使用データと共に、後の使用のために収集され、保管される。この情報は、ユーザのコンピュータで動作する、展開サーバ454によって送信されたJava(R)Scriptプログラムの支援を得て収集されることが好ましい。
【0049】
展開サーバ454は、表現処理モジュール556によって生成された表現を要求する。表現処理モジュール556は、アプリケーション記憶ユニット50からアプリケーションを検索する。アプリケーション記憶ユニット50には、拡張マークアップ言語(XML)フォーマットのアプリケーションが含まれる。例として、下記の表に、PowerPointプレゼンテーションを表示するアプリケーションからのXMLコード抜粋が含まれる。
【0050】
【表1】
【0051】
このアプリケーションには、元々PowerPoint Tagsで作成され、異なる解像度の2つのJPEG画像に変換されたスライドが含まれる。したがって、このスライド資産は、それぞれこのコードでid=“1”、id=“2”、およびid=“3”として識別される3つの資産表現を有する。この3つの資産の資産情報は、開始<ASSET>タグと終了<ASSET>タグの間に含まれる。開始<STATUS>タグと終了<STATUS>タグの間の値によって、この資産が使用について承認されたことが示される。適当なタグによって、資産が使用についてアクティブにされた日付と、資産が満了する日付の指定がもたらされる。資産は、開始<NAME>タグと終了<NAME>タグの間で名前を指定され、開始<DESCRIPTION>タグと終了<DESCRIPTION>タグの間でPowerPoint Testとして記述される。開始<KEYWORDS>タグと終了<KEYWORDS>タグの間、および開始<NOTES>タグと終了<NOTES>タグの間には値が入力されていないが、これらの区域を使用することができる。開始<METADATA>タグと終了<METADATA>タグによって、資産に関する適当なメタデータを保管する区域が提供される。
【0052】
開始<REPRESENTATION>タグと終了<REPRESENTATION>タグによって、資産について使用可能な特定の表現の記述が提供される。各開始<REPRESENTATION>タグに、属性「id」が含まれ、これには、資産表現ごとに一意の値が割り当てられる。<REPRESENTATION>タグ内の他の属性には、表現タイプの「reptype」、表現の特定のファイルフォーマットの「filetype」、表現が使用される前に必要な最小接続速度を指定するのに使用される「bandwidth」、特定のユーザ言語が必要な場合に使用することができる「language」、および表現のファイルサイズを指定する「size」が含まれる。
【0053】
表現処理モジュール556によって、XMLファイルが解析され、アプリケーションが、展開サーバ454用のHTMLフォーマットに変換される。表現処理モジュール556によって作成される特定のHTMLコードは、ユーザ特性統計モジュール552によって収集される情報を使用して作成される(この処理を、図12Bで詳細に説明する)。
【0054】
展開サーバによって送信されるプレゼンテーションの途中で、ユーザのコンピュータで表示されるコンテンツを変更するために、イベントが生成される。これらのイベントは、生イベント送信中に生成されるイベントに類似し、Java(R)サーバ464によって作成される。イベントは、ユーザのコンピュータに送信され、ユーザのコンピュータで、Java(R)アプレット452によって処理される。
【0055】
図12Bは、ユーザ34に供給されるコンテンツが、ユーザの特性に基づいてどのように修正されるかを示すブロック図である。Java(R)Script対応ウェブブラウザ406およびJava(R)アプレット452を動作させるユーザ34が、展開サーバ454にプレゼンテーションを要求する。この点で、前に述べたユーザ特性および統計が、ユーザ特性統計モジュール552によって収集され、このユーザ特性統計モジュール552は、統計サーバ554または展開サーバ454などの別のサーバで動作しているものとすることができる。ユーザのセッションに関して収集されたユーザ特性および統計は、ユーザ特性統計データベース558に保管される。展開サーバ454に送られるHTMLページを作成する時に、表現処理モジュール556が、この情報にアクセスする。
【0056】
表現処理モジュール556によって、ユーザのコンピュータシステムの能力および公認の標準規格からの既知の変動に基づいて、HTMLが作成される。たとえば、HTML言語が標準化されたという事実にもかかわらず、Netscapeバージョン4.xおよびInternet Explorerバージョン5.xなどの主要なウェブブラウザによって、標準規格が完全には実施されていない可能性がある。さらに、ブラウザが、HTML言語に対する非標準の拡張を実施するか、他の独自の特徴を有する場合がある。表現処理モジュール556では、HTMLページを構成する時に、これらの問題を考慮に入れる。
【0057】
XMLファイルとして保管されるアプリケーションは、ユーザ34に示される表現の抽象化である。プレゼンテーションのコンテンツが、資産に関して記述され、資産自体は、コンテンツの抽象化である。したがって、アプリケーションを、編成されるXMLフレームワークに置かれる抽象コンテンツ記述の集約として記述することができる。XMLからHTMLに変換する時に、表現処理モジュール556によって、HTML内に、前に資産表現と呼んだ特定のファイルが含まれ、その結果、そのURLによってファイルを要求することによって、ユーザのJava(R)Script対応ブラウザ406からコンテンツにアクセスできるようになる。表現処理モジュール556によって、特定のHTMLコードを生成する時に、アプリケーションに含まれるコンテンツのタイプと、ユーザのシステムの能力が考慮される。たとえば、アプリケーションが、アメリカ国旗がなびくアニメーションを要求する場合に、その資産(アニメーションされる旗)を、システム内で、2つの別々の表現すなわちFlashアニメーションおよびアニメーテッドGIFとして保管することができる。ユーザのシステムに、Flash機能が欠けている場合には、表現処理モジュール556によって作成されるHTMLによって、ユーザのJava(R)Script対応ブラウザ406が、Flashバージョンではなく、資産のアニメーテッドGIFバージョンを要求するように指示される。その代わりに、ユーザのシステムが、Flash機能およびアニメーテッドGIFを表示する能力の両方と、高い接続速度を有する場合に、表現モジュールによって、特定のユーザ34のシステム特性に基づいて、Flash表現を要求するコードを含めることを選択することができる。
【0058】
図13Aおよび13Bに、ユーザの画面650に表示されるプレゼンテーションコンテンツのリアルタイム変更を示す。この例では、プレゼンテーションによって、所望のコンテンツを表示するのに領域652、654、および656が使用される。領域652に、スライドショー(たとえば、Microsoft PowerPointを介して生成できるもの)が表示される。領域654に、第1のビデオが表示され、これが、プレゼンテーション中に、領域656に示される第2のビデオと比較される。
【0059】
このプレゼンテーションの第1の議論のポイントは、スライドショー領域652に示される「ポイントA」660である。「ポイントA」660は、プレゼンタによって現在議論されているポイントなので、「ポイントA」660は、そのフォント特性に関して強調されている(たとえば、太字、下線付き、および斜体など)。「ポイントA」の議論が始まった後に、ストリーミングビデオ658が、ユーザのコンピュータに送信され、第1のビデオの領域654に表示される。第2のビデオ領域656は、プレゼンタが第2のビデオの議論を開始していないので、インアクティブのままである。
【0060】
コントローラのコンピュータ36からのプレゼンタが、イベントを注入して、プレゼンテーションの異なる態様を強調する。このイベントが、ユーザのコンピュータによって処理される。たとえば、プレゼンタは、第1のビデオの異なる態様を強調するために、矢印666を移動するイベントを注入することができる。
【0061】
図13Bに、「ポイントB」662へのプレゼンテーション推移を示す。このポイントを強調するために、プレゼンタは、イベントを注入し、それがユーザのコンピュータによって受信される。このイベントによって、領域652内で、「ポイントB」662以外のすべての点のフォント特性が、強調されなくなる。したがって、このイベントによって、「ポイントA」660のフォント特性が、通常のフォントタイプにされる(「ポイントC」664は、このイベントによって影響を受けない)。注入されたイベントによって、「ポイントB」662のフォント特性が、強調され、さらに、第2のビデオのストリーミングが開始される。プレゼンタは、第2のビデオの異なる態様を強調するために、さらなるイベントを注入して、矢印666を移動する。
【0062】
ユーザのコンピュータでのプレゼンテーションを制御するために注入されるイベントは、通常は、ユーザのウェブブラウザで動作するJava(R)Scriptプログラムによって処理される。そのような結果(たとえば、プレゼンテーション内の、見られている構成要素の同期化)を達成するのに必要なイベント処理の複雑さのゆえに、洗練された独自のプログラミング技法が必要である。技法の1つが、スクリプティング言語を修正して、継承などのオブジェクト指向の特徴をシミュレートすることである。この技法が、Java(R)Scriptだけに限られるのではなく、特にウェブページコンテンツ開発に使用される、すべてのスクリプティング言語が含まれることを理解されたい。
【0063】
図14は、スクリプティング言語(Java(R)Script、VBScriptなど)での継承プロパティのシミュレーション700を示すクラス図である。親クラス702が、まず宣言され、定義される。Java(R)Scriptでは、親クラスが、関数として宣言され、親クラスの関数の動作が、その直後のコードブロック内で定義される。親クラス関数に、通常は、1つまたは複数の関数自体が含まれる。クラスとして使用される関数内の、含まれる関数を、メソッドと称する。親クラス関数に含まれるメソッドが、704に示されている。
【0064】
子クラス706は、親クラスが宣言され、定義されるのとほぼ同じ形で宣言され、定義される。子クラス関数には、1つまたは複数の関数自体が含まれる。子クラス706は、親クラス702から派生する。子クラス関数に含まれる少なくとも1つの関数が、親クラスのメソッド704と同一の名前を有する。子クラスのメソッド708は、親メソッド704をオーバーライドするように宣言され、定義される。その結果、親メソッド704および子メソッド708のそれぞれが、異なる機能性を有する。
【0065】
他のサブクラス710が、親クラス関数および子クラス関数について説明したように宣言され、定義される。これらのサブクラス関数は、子クラス706を親クラス702から派生させたのと似た形で、階層内の真上のクラス関数から派生するように、宣言し、定義することができる。子クラス706から派生するサブクラス710は、その親として働く子クラス706を有し、このサブクラス710には、子メソッド708をオーバーライドするサブクラスメソッド712が含まれる。この技法を、宣言され定義されるクラスの複数の世代に適用することができる
同様に、それ自体が子クラス706の派生された子クラスであるサブクラス714を、宣言し定義することができる。サブクラス714には、子メソッド708をオーバーライドするサブクラスメソッド716が含まれる。この形で、サブクラス710およびサブクラス714は、兄弟クラスである。というのは、サブクラス710およびサブクラス714の両方が、同一の親すなわち子クラス706から派生したからである。
【0066】
図15Aから15Eに、オブジェクト指向プログラミング言語の継承プロパティのシミュレーションに使用されるプログラミング方法800を示す、HTMLページ内のJava(R)Scriptソースコードを示す。行802で、プログラマが、単一の引数subClassをとる、Componentという名前の関数を宣言している。行804で、親オブジェクト内の変数this.stubが、宣言され、右辺の論理ORテストからの値を割り当てられる。割り当てられる値は、subClassからComponent関数に値が渡される場合にはその値、あるいは、右辺の論理OR演算子からの、単にそれ自体への参照のいずれかになる。行806で、スーパークラスオブジェクトへの参照にnullがセットされる。
【0067】
行808で、関数ImageComponentのプロトタイプが、新しいComponentから割り当てられる。行810で、関数ImageComponentを宣言する。ImageComponentは、subClassという名前の単一の引数をとる。現在のImageComponentのstub変数は、行804の演算に類似する形で、行812の代入演算子の右辺の論理OR演算から値を割り当てられる。行814で、2つの割り当てが行われる。まず、新しい演算子を使用し、引数としてthis.stubを渡すことによって、新しいComponentを作成する。次に、行804で、割り当てが、ImageComponent.prototypeに対して行われる。この割当によって、行808でおこなわれる割り当てがオーバーライドされる。最後に、行804で、this.superclassへの第2の割り当てが行われる。第2の割り当ての後で、this.superclassが、基底クラスを参照し、この基底クラスは、その子クラスの親である。
【0068】
親クラスと子クラスの両方に、OnActivateという名前の関数が含まれる。親クラスであるComponentでは、行816で、ComponentクラスのOnActivate関数に、OnActivate関数の、Componentクラスに含まれるバージョンをセットする。行818で、親クラスのOnActivate関数を宣言する。コードブロック820に、行818で宣言された親クラスのOnActivate関数の機能コードが含まれる。
【0069】
子クラスについて、行822で、子クラスのOnActivate関数がセットされる。子のOnActivate関数を、行824で宣言する。コードブロック826に、行824で宣言された子クラスのOnActivate関数の機能コードが含まれる。行825で、imageという変数が宣言され、null値が割り当てられる。
【0070】
行850で、関数DoOnLoadが宣言され、この関数の動作コードは、コードブロック852に含まれる。関数ActivateImageが、行830で宣言され、その動作コードは、コードブロック832に含まれる。
【0071】
行834のHTMLタグによって、行850からのJava(R)Script関数DoOnLoadが呼び出される。DoOnLoad関数が実行される時に、行825で宣言されたimageが、ImageComponentとして作成される。行836のHTMLタグによって、入力ボタンが視聴者の画面に表示される。
【0072】
図16Aは、Java(R)Scriptコード(図15Aから15Eに示された)が実行される時にユーザに表示されるグラフィカルユーザインターフェースの描写である。図16Aでは、ボタン902が、図15Eの行836のHTMLコードによって作成されたボタンである。そのボタンがクリックされた時に、行830およびコードブロック832の関数ActivateImageが呼び出される。コードブロック832のActivateImage関数が、imageのOnActivate関数であるimage.OnActivateを呼び出す。imageは、子クラスから作成されたので、実行されるOnActivate関数は、行824およびコードブロック826のImageComponent関数で宣言され、定義された関数である。ImageComponent関数のOnActivate関数によって、まず、アラート(alert)が引き起こされ、テキスト「Image Child Activate」が画面に表示される。このアクションのグラフィカル描写が、図16Bに含まれ、図16Bには、アラートボックス908が示されている。アラートが、OKボタン910をクリックすることによって消されたならば、コードブロック226内のコードの次の行が実行される。この行によって、行218で宣言され、コードブロック220で定義された、親クラスComponentのOnActivate関数が呼び出される。実行中に、親のOnActivate関数によって、アラートが引き起こされ、テキスト「Base Activate」が画面に表示される。このアクションのグラフィカル描写が、図16Cに含まれ、図16Cには、アラートボックス921が示されている。アラートが、OKボタン914をクリックすることによって消されたならば、コードブロック826のOnActivate関数が、実行を完了する。そのアラートが消された時に、この関数によって、行838の子クラスの関数OnActivatePropertiesが呼び出される。コードブロック840で、テキスト「Image Child OnActivateProperties」を有するアラートが、視聴者の画面に表示される。このアクションのグラフィカル描写が、図16Dに含まれ、図16Dには、アラートボックス916が示されている。アラートが、OKボタン918をクリックすることによって消されたならば、親クラスのOnActivatePropertie関数が呼び出される。親クラスのOnActivatePropertieは、行842で宣言され、コードブロック844で定義されている。コードブロック844のコードによって、テキスト「Base OnActivateProperties」を有するアラートダイアログが、視聴者の画面に表示される。このアクションのグラフィカル描写が、図16Eに示されており、図16Eには、アラートボックス920が示されている。視聴者が、OKボタン922をクリックすることによってこのアラートを消す時に、処理が完了する。
【0073】
継承の追加レベルが、ImageComponentからサブクラスGIFComponentを派生することによって達成される。GIFComponent関数は、行860で宣言され、コードブロック862で定義されている。GIFComponentの親クラスへの参照が、行864および866で、前にImageComponent内のComponentへの参照を作成した時に似た形で作成される。この作成手順は、行870で宣言され、コードブロック872で定義されるGIF89Componentについて、もう一度繰り返される。
【0074】
行874のHTMLコードによって、図16Aに示されたボタン904が作成される。ボタン904によって、行882で宣言され、コードブロック884で定義される関数ActivateGIFが呼び出される。行876のHTMLコードによって、図16Aに示されたボタン906が作成される。ボタン906によって、行886で宣言され、コードブロック888で定義される関数ActivateGIF89が呼び出される。アラートは、前に説明したように表示され、最も下位の派生クラスのアラートが、まず表示され、最下位の派生クラスの親からのアラートが、次に表示され、以下同様に、最上位の親クラスの最後のアラートが表示されるまで継続される。
【0075】
最後に、すべての図面および前の説明に関して、説明された実施形態が、請求項に記載の本発明の要素に対応する要素を有する構造、システム、および方法の例であることを理解されたい。この書かれた説明によって、当業者が、請求項に記載の発明の要素に同様に対応する代替要素を有する実施形態を作り、使用できるようになる。したがって、本発明の所期の範囲に、請求項の文字どおりの言葉と異ならない他の構造、システム、または方法を含めることができ、さらに、請求項の文字どおりの言葉と実質的に異ならない他の構造、システム、または方法を含めることができる。たとえば、セットトップボックス、携帯情報端末、およびウェアラブルコンピュータのすべてで、請求される発明を使用することができる。
【0076】
本発明の広い範囲のもう1つの例示として、図17Aおよび17Bに、本システムの追加の例示的構成を示す。図17Aに、アプリケーションサービスプロバイダ(ASP)モデルを使用する構成を示す。この例示的ASPモデル1030では、開発者32が、開発作業に自分のコンピュータを使用する。開発者のコンピュータは、開発者のネットワーク1032に接続される。開発者のネットワーク1032は、インターネット1034に接続される。マルチメディア作成管理プラットフォーム40が、ネットワーク1036に接続され、マルチメディア作成管理プラットフォームネットワーク1036が、インターネット1034に接続される。これらの相互接続を介して、開発者32が、エンドユーザ34への最終的な配信のためにマルチメディア作成管理プラットフォーム40によって提供される機能性へのアクセスを得る。
【0077】
図17Bに、ASPモデルのもう1つの例示的な構成1050を示す。構成1050では、開発者のコンピュータ32が、開発者のネットワーク1032を介してインターネット1034に接続される。開発者のコンピュータ32によって、実行可能プログラムファイル1052がアクセスされる。実行可能プログラムファイル1052によって、資産作成および管理ならびにテンプレート作成など(これに制限はされない)、マルチメディア作成管理システム40(図2の)の機能性の諸部分が提供される。実行可能プログラムファイル1052は、開発者のコンピュータ32が開発者のネットワーク1032を介してアクセスするサーバ1051に常駐するものとすることができる(もう1つの構成が、破線で示されており、この場合には、実行可能プログラムファイル1052が、開発者のコンピュータ32に直接に常駐する)。
【0078】
開発者のコンピュータ32は、マルチメディア作成管理プラットフォーム1054にアクセスして、エンドユーザ34へのストリーミングビデオを介するコンテンツの提供など、実行可能プログラムファイル1052によって提供されない機能性を提供する。一部の動作がマルチメディア作成管理プラットフォーム1054(図17Bの)によって実行され、他の動作が実行可能プログラムファイル1052(図17Bの)によって実行されるように、マルチメディア作成管理プラットフォーム40(図2の)の動作を分離するさまざまな可能性が存在することを、当業者は理解するであろう。
【0079】
開発者のコンピュータ32を、多数の形でマルチメディア作成管理プラットフォーム1054に接続することができる。その形の1つが、マルチメディア作成管理プラットフォーム1054を含むネットワーク1036へのデータ接続を有する開発者のネットワーク1032によるものである。そのようなアクセスは、開発者のネットワークによって、インターネット1034を介してマルチメディア作成管理ネットワーク1036にアクセスすることによって達成することができる。セキュリティを追加するために、ファイヤウォール1042を、開発者のネットワーク1032とインターネット1034の間に配置することができる。ファイヤウォール1042を構成して、エンドユーザ34による開発者のネットワーク1032へのアクセスを許可することができ、あるいは、開発者のネットワーク1032からファイヤウォール1042を介して最終的にエンドユーザ34へのコンテンツの送信を許可することができる。
【0080】
実行可能プログラムファイル1052を、複数のファイル(複数の動的リンクライブラリファイルなどであるが、これに制限はされない)として実施できることを、当業者は理解するであろう。さらに、インターネット1034、開発者のネットワーク1032、および/またはマルチメディア作成管理ネットワーク1036を、光実施形態および無線実施形態を含む私有または公衆のインタネットワークまたはイントラネットワークとすることができる。
【図面の簡単な説明】
【0081】
【図1】マルチメディアウェブアプリケーションを作成し、管理し、展開する、ネットワーク接続されたコンピュータシステムを示すブロック図である。
【図2】マルチメディアウェブアプリケーションを作成し、管理し、展開する、ネットワーク接続されたコンピュータシステムを示すブロック図である。
【図3】マルチメディア資産管理システムを示すブロック図である。
【図4A】資産管理システムを示すグラフィカルユーザインターフェースを示す図である。
【図4B】資産管理システムを示すグラフィカルユーザインターフェースを示す図である。
【図4C】資産管理システムを示すグラフィカルユーザインターフェースを示す図である。
【図4D】資産管理システムを示すグラフィカルユーザインターフェースを示す図である。
【図4E】資産管理システムを示すグラフィカルユーザインターフェースを示す図である。
【図4F】資産管理システムを示すグラフィカルユーザインターフェースを示す図である。
【図4G】資産管理システムを示すグラフィカルユーザインターフェースを示す図である。
【図5A】テンプレートエディタによって、開発者がコンテンツを作成するのを助けるのに使用されるグラフィカルユーザインターフェースを示す図である。
【図5B】テンプレートエディタによって、開発者がコンテンツを作成するのを助けるのに使用されるグラフィカルユーザインターフェースを示す図である。
【図5C】テンプレートエディタによって、開発者がコンテンツを作成するのを助けるのに使用されるグラフィカルユーザインターフェースを示す図である。
【図5D】テンプレートエディタによって、開発者がコンテンツを作成するのを助けるのに使用されるグラフィカルユーザインターフェースを示す図である。
【図6A】アプリケーションマネージャによって、ウェブアプリケーションを構成するのに使用されるグラフィカルユーザインターフェースを示す図である。
【図6B】アプリケーションマネージャによって、ウェブアプリケーションを構成するのに使用されるグラフィカルユーザインターフェースを示す図である。
【図6C】アプリケーションマネージャによって、ウェブアプリケーションを構成するのに使用されるグラフィカルユーザインターフェースを示す図である。
【図6D】アプリケーションマネージャによって、ウェブアプリケーションを構成するのに使用されるグラフィカルユーザインターフェースを示す図である。
【図7A】異なるサーバ上でアプリケーションのコンテンツを分散する方法の例を示す展開マップである。
【図7B】異なるサーバ上での資産の展開を示すグラフィカルユーザインターフェースを示す図である。
【図8】ユーザにアプリケーションを供給するアプリケーションホスティングシステムを示すブロック図である。
【図9A】ネットワーク上でユーザにコンテンツを供給するアプリケーションホスティングシステムを示すブロック図である。
【図9B】ネットワーク上でユーザにコンテンツを供給するアプリケーションホスティングシステムを示すブロック図である。
【図10】ビデオプレゼンテーションを制御するように設計されたイベントを処理する例示的な擬似コードをリストした図である。
【図11A】リモート視聴者に生イベントを提示する動作フローを示す流れ図である。
【図11B】リモート視聴者に生イベントを提示する動作フローを示す流れ図である。
【図11C】リモート視聴者に生イベントを提示する動作フローを示す流れ図である。
【図12A】異なる構成を有するアプリケーションホスティングシステムを示すブロック図である。
【図12B】異なる構成を有するアプリケーションホスティングシステムを示すブロック図である。
【図13A】プレゼンテーションコンテンツのリアルタイム変更を示すグラフィカルユーザインターフェースを示す図である。
【図13B】プレゼンテーションコンテンツのリアルタイム変更を示すグラフィカルユーザインターフェースを示す図である。
【図14】スクリプティング言語での継承プロパティのシミュレーションを示すクラス図である。
【図15A】オブジェクト指向プログラミング言語の継承プロパティのシミュレーションのプログラミング方法を示す、HTMLページ内の例示的なJava(R)Scriptソースコードを示す図である。
【図15B】オブジェクト指向プログラミング言語の継承プロパティのシミュレーションのプログラミング方法を示す、HTMLページ内の例示的なJava(R)Scriptソースコードを示す図である。
【図15C】オブジェクト指向プログラミング言語の継承プロパティのシミュレーションのプログラミング方法を示す、HTMLページ内の例示的なJava(R)Scriptソースコードを示す図である。
【図15D】オブジェクト指向プログラミング言語の継承プロパティのシミュレーションのプログラミング方法を示す、HTMLページ内の例示的なJava(R)Scriptソースコードを示す図である。
【図15E】オブジェクト指向プログラミング言語の継承プロパティのシミュレーションのプログラミング方法を示す、HTMLページ内の例示的なJava(R)Scriptソースコードを示す図である。
【図16A】図15Aから15EのJava(R)Scriptコードが実行される時にユーザに表示されるグラフィカルユーザインターフェースを示す図である。
【図16B】図15Aから15EのJava(R)Scriptコードが実行される時にユーザに表示されるグラフィカルユーザインターフェースを示す図である。
【図16C】図15Aから15EのJava(R)Scriptコードが実行される時にユーザに表示されるグラフィカルユーザインターフェースを示す図である。
【図16D】図15Aから15EのJava(R)Scriptコードが実行される時にユーザに表示されるグラフィカルユーザインターフェースを示す図である。
【図16E】図15Aから15EのJava(R)Scriptコードが実行される時にユーザに表示されるグラフィカルユーザインターフェースを示す図である。
【図17A】マルチメディア作成管理プラットフォームを使用する追加の例示的構成を示すブロック図である。
【図17B】マルチメディア作成管理プラットフォームを使用する追加の例示的構成を示すブロック図である。
Claims (28)
- 複数の異なるタイプのマルチメディア資産を管理する、コンピュータ実施されるマルチメディアコンテンツオーサリングシステムであって、
前記資産の表現を保管する資産コンテンツ記憶ユニットと、
前記保管された資産表現に関するメタデータを保管する資産メタデータ記憶ユニットと、
前記資産コンテンツ記憶ユニットおよび前記資産メタデータ記憶ユニットに結合された資産マネージャモジュールであって、該資産マネージャモジュールが、少なくとも1つの資産表現をマルチメディアアプリケーションに含めるために突き止めるように、前記資産メタデータへのコンピュータ−人間インターフェースを開発者に提供する、資産マネージャモジュールと
を含むシステム。 - 前記資産が、資産表現、資産属性、および資産値の抽象化を表し、資産のグループが、集約要因に基づいて形成され、前記グループが、前記マルチメディアアプリケーションを生成する際の前記開発者による使用のために前記資産メタデータ記憶ユニットに保管される、請求項1に記載のシステム。
- 前記集約要因が、資産のタイプである、請求項2に記載のシステム。
- 前記資産の第1資産を、複数の資産表現に関連付けることができる、請求項1に記載のシステム。
- 前記資産表現が、前記第1資産の異なるファイルフォーマットである、請求項4に記載のシステム。
- 前記資産コンテンツ記憶ユニットおよび前記資産メタデータ保管ユニットに結合された、資産タイプに基づいて異なるコンテンツを処理するために異なるコンピュータサーバを示す展開マネージャモジュール
をさらに含む、請求項4に記載のシステム。 - ユーザ定義属性が、資産に関連し、前記資産メタデータ記憶ユニットに保管される、請求項1に記載のシステム。
- 資産が、資産表現、資産属性、および資産値の抽象化を表し、
新しい資産タイプが、先在する資産タイプに基づいて作成され、前記新しい資産タイプの資産が、前記先在する資産タイプからプロパティを継承する
請求項1に記載のシステム。 - 前記資産に基づいてテプレートを構成するテンプレートエディタであって、前記テンプレートエディタが、テンプレートの資産の実行時挙動を同期化できるようにする
請求項1に記載のシステム。 - 前記資産マネージャモジュール、前記テンプレートエディタ、アプリケーションマネージャモジュール、プロジェクトマネージャ手段、および展開マネージャ手段を含む第1コンピュータと、
データ接続を介して前記サーバコンピュータシステム上の前記資産マネージャモジュール、前記テンプレートエディタ、アプリケーションマネージャ手段、プロジェクトマネージャ手段、および展開マネージャ手段へのアクセスを有するユーザコンピュータであって、これによって、アプリケーションサービス(ASP)提供モデルが、前記ネットワークアクセスを介して達成される、該ユーザコンピュータと
をさらに含む、請求項9に記載のシステム。 - 前記資産マネージャモジュール、前記テンプレートエディタ、アプリケーションマネージャ手段、プロジェクトマネージャ手段、および展開マネージャ手段からなる群から選択される少なくとも1つのプログラムを含むユーザコンピュータと、
前記資産コンテンツ記憶ユニットおよび前記資産メタデータ記憶ユニットへの、前記ユーザコンピュータのプログラムのためのアクセスを提供するために、データ結合を介して前記ユーザコンピュータに結合されたサーバコンピュータと
をさらに含む、請求項9に記載のシステム。 - マルチメディアコンテンツを管理し、提示するコンピュータ実施される方法であって、
プレゼンテーションテンプレートを作成するステップと、
前記テンプレート内に含めるために少なくとも1つのメディア資産を選択するステップと、
前記マルチメディアコンテンツを作成するために、前記テンプレート内に前記選択されたメディア資産を位置付けるステップと、
前記マルチメディアコンテンツを実行時中に表示装置に供給するステップと、
実行時中に前記マルチメディアコンテンツの設計時プロパティを変更するコマンドを前記表示装置に送信するステップであって、これによって、前記変更される設計時プロパティを有する前記マルチメディアコンテンツが、ユーザに表示される、ステップと
を含む方法。 - 前記表示装置が、コンピュータディスプレイをもつコンピュータである、請求項12に記載の方法。
- 前記表示装置が、コンピュータディスプレイ、セットトップボックス、携帯情報端末、およびウェアラブルコンピュータからなる群から選択される装置である、請求項12に記載の方法。
- 前記変更される設計時プロパティが、前記マルチメディアコンテンツ内に示されるテキストのフォントプロパティである、請求項12に記載の方法。
- 前記表示装置にビデオデータをストリーミングするステップと、
実行時中に前記マルチメディアコンテンツの前記設計時プロパティを変更するために、前記ストリーミングされるビデオデータにイベントを注入するステップと
をさらに含む、請求項12に記載の方法。 - 前記ビデオデータが、ユーザデータグラムプロトコル(UDP)を使用してストリーミングされ、前記注入されるイベントが、転送制御プロトコル(TCP)を使用して前記表示装置に送信される、請求項16に記載の方法。
- マルチメディアコンテンツを提示するコンピュータ実施される方法であって、
マルチメディアアプリケーションに含めるために少なくとも2つのマルチメディア資産を選択するステップと、
設計時中に、前記資産の1つの実行時挙動特性を、もう1つの選択された資産の実行時挙動特性と同期するように修正するステップと、
前記マルチメディアアプリケーションを表示装置に供給するステップと、
前記選択された資産のプレゼンテーションが互いに関して同期するように前記選択された資産を提示するステップと
を含む方法。 - 前記資産が、プレゼンテーションタイミング要因に基づいて同期化される、請求項18に記載の方法。
- 前記資産が、所定のイベントの発生に基づいて同期化される、請求項18に記載の方法。
- 前記所定のイベントが、前記資産の1つを含むクリックイベントを含む、請求項20に記載の方法。
- 表示装置を介するプレゼンテーションのためにマルチメディアコンテンツを用意するコンピュータ実施される方法であって、
前記コンテンツに関するプレゼンテーション関連要求を前記表示装置から受信するステップと、
前記表示装置に関連する動作特性を判定するステップと、
前記判定された動作特性に基づいて、前記表示装置に前記コンテンツの一部として送信しなければならないプレゼンテーション関連命令を選択するステップと、
前記要求されたコンテンツの一部である前記選択された命令を前記表示装置に送信するステップと
を含む方法。 - 前記プレゼンテーション関連要求が、前記表示装置を介してコンテンツをどのように表示するかに関する命令を含むウェブページに関する要求である、請求項22に記載の方法。
- 前記表示装置に関する前記動作特性が、ハードウェア表示特性を含む、請求項22に記載の方法。
- 前記表示装置に関する前記動作特性が、前記表示装置で動作するプロセスを含む、請求項22に記載の方法。
- 前記表示装置に関する前記動作特性が、前記表示装置と、前記プレゼンテーション関連要求をサービスするサーバとの間の結合特性を含む、請求項22に記載の方法。
- マークアップ言語フォーマットでアプリケーションを保管するステップと、
前記プレゼンテーション関連要求に応答して、前記マークアップ言語フォーマットの前記アプリケーションを検索するステップと、
前記アプリケーションの前記マークアップ言語フォーマットから前記プレゼンテーション関連命令を生成し、前記判定された動作特性に基づいて、前記表示装置に送信されるプレゼンテーション関連命令を判定するステップと
をさらに含む、請求項22に記載の方法。 - 前記マークアップ言語フォーマットが、拡張マークアップ言語(XML)である、請求項27に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/925,962 US20040205116A1 (en) | 2001-08-09 | 2001-08-09 | Computer-based multimedia creation, management, and deployment platform |
PCT/US2002/025149 WO2003014906A1 (en) | 2001-08-09 | 2002-08-08 | Computer-based multimedia creation, management, and deployment platform |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004538695A true JP2004538695A (ja) | 2004-12-24 |
Family
ID=25452496
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003519771A Pending JP2004538695A (ja) | 2001-08-09 | 2002-08-08 | コンピュータベースのマルチメディア作成、管理、および展開プラットフォーム |
Country Status (6)
Country | Link |
---|---|
US (1) | US20040205116A1 (ja) |
EP (1) | EP1423777A1 (ja) |
JP (1) | JP2004538695A (ja) |
KR (1) | KR20040029370A (ja) |
CA (1) | CA2452335A1 (ja) |
WO (1) | WO2003014906A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008539614A (ja) * | 2005-04-21 | 2008-11-13 | クォーティックス インク | 統合無線マルチメディア送信システム |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI20012558A (fi) * | 2001-12-21 | 2003-06-22 | Oplayo Oy | Menetelmä ja järjestely videoesityksen lähettämiseksi |
US9027063B2 (en) * | 2002-11-27 | 2015-05-05 | Deluxe Digital Distribution Inc. | Video-on-demand (VOD) management system and methods |
US20050041872A1 (en) * | 2003-08-20 | 2005-02-24 | Wai Yim | Method for converting PowerPoint presentation files into compressed image files |
US20050228710A1 (en) * | 2004-04-09 | 2005-10-13 | Sam Richards | Asset scheduling management in media production |
WO2006089433A1 (en) * | 2005-02-28 | 2006-08-31 | James Monro Productions Inc. | Method and apparatus for editing media |
US20070016864A1 (en) * | 2005-03-10 | 2007-01-18 | Kummerli Bernard C | System and method for enriching memories and enhancing emotions around specific personal events in the form of images, illustrations, audio, video and/or data |
EP1777961A1 (en) * | 2005-10-19 | 2007-04-25 | Alcatel Lucent | Configuration tool for a content and distribution management system |
US20070156382A1 (en) | 2005-12-29 | 2007-07-05 | Graham James L Ii | Systems and methods for designing experiments |
US20080201751A1 (en) * | 2006-04-18 | 2008-08-21 | Sherjil Ahmed | Wireless Media Transmission Systems and Methods |
WO2007124590A1 (en) * | 2006-05-03 | 2007-11-08 | Affinity Media Uk Limited | Method and system for presenting virtual world environment |
US20080303827A1 (en) * | 2007-06-11 | 2008-12-11 | Adobe Systems Incorporated | Methods and Systems for Animating Displayed Representations of Data Items |
US20090100362A1 (en) * | 2007-10-10 | 2009-04-16 | Microsoft Corporation | Template based method for creating video advertisements |
US20100106887A1 (en) * | 2008-10-23 | 2010-04-29 | International Business Machines Corporation | Flash presentation (flapre) authoring tool that creates flash presentations independent of a flash specification |
US8302008B2 (en) * | 2008-10-23 | 2012-10-30 | International Business Machines Corporation | Software application for presenting flash presentations encoded in a flash presentation markup language (FLML) |
US20100318916A1 (en) * | 2009-06-11 | 2010-12-16 | David Wilkins | System and method for generating multimedia presentations |
US9595013B2 (en) * | 2009-12-10 | 2017-03-14 | Equinix, Inc. | Delegated and restricted asset-based permissions management for co-location facilities |
US8612441B2 (en) * | 2011-02-04 | 2013-12-17 | Kodak Alaris Inc. | Identifying particular images from a collection |
Family Cites Families (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2852390B2 (ja) * | 1991-02-16 | 1999-02-03 | 株式会社半導体エネルギー研究所 | 表示装置 |
US5623690A (en) * | 1992-06-03 | 1997-04-22 | Digital Equipment Corporation | Audio/video storage and retrieval for multimedia workstations by interleaving audio and video data in data file |
CA2094526C (en) * | 1992-07-22 | 1998-05-05 | Ivan Eisen | Method and apparatus for creating a multi-media footnote control in a video data |
US6005560A (en) * | 1992-10-01 | 1999-12-21 | Quark, Inc. | Multi-media project management and control system |
US5745782A (en) * | 1993-09-28 | 1998-04-28 | Regents Of The University Of Michigan | Method and system for organizing and presenting audio/visual information |
US6181332B1 (en) * | 1993-10-28 | 2001-01-30 | International Business Machines Corporation | Method and system for contextual presentation of a temporal based object on a data processing system |
US5822720A (en) * | 1994-02-16 | 1998-10-13 | Sentius Corporation | System amd method for linking streams of multimedia data for reference material for display |
CA2140850C (en) * | 1994-02-24 | 1999-09-21 | Howard Paul Katseff | Networked system for display of multimedia presentations |
US5983236A (en) * | 1994-07-20 | 1999-11-09 | Nams International, Inc. | Method and system for providing a multimedia presentation |
US5613909A (en) * | 1994-07-21 | 1997-03-25 | Stelovsky; Jan | Time-segmented multimedia game playing and authoring system |
US5930514A (en) * | 1994-08-01 | 1999-07-27 | International Business Machines Corporation | Self-deletion facility for application programs |
US5845303A (en) * | 1994-12-06 | 1998-12-01 | Netpodium, Inc. | Document processing using frame-based templates with hierarchical tagging |
US5826102A (en) * | 1994-12-22 | 1998-10-20 | Bell Atlantic Network Services, Inc. | Network arrangement for development delivery and presentation of multimedia applications using timelines to integrate multimedia objects and program objects |
US5907850A (en) * | 1994-12-23 | 1999-05-25 | Gary Matthew Krause | Method and system for manipulating construction blueprint documents with hypermedia hotspot reference links from a first construction document to a related secondary construction document |
US5882206A (en) * | 1995-03-29 | 1999-03-16 | Gillio; Robert G. | Virtual surgery system |
WO1996031829A1 (en) * | 1995-04-06 | 1996-10-10 | Avid Technology, Inc. | Graphical multimedia authoring system |
US5585838A (en) * | 1995-05-05 | 1996-12-17 | Microsoft Corporation | Program time guide |
US5805763A (en) * | 1995-05-05 | 1998-09-08 | Microsoft Corporation | System and method for automatically recording programs in an interactive viewing system |
US6230173B1 (en) * | 1995-07-17 | 2001-05-08 | Microsoft Corporation | Method for creating structured documents in a publishing system |
US6199082B1 (en) * | 1995-07-17 | 2001-03-06 | Microsoft Corporation | Method for delivering separate design and content in a multimedia publishing system |
IL115263A (en) * | 1995-09-12 | 1999-04-11 | Vocaltec Ltd | System and method for distributing multi-media presentations in a computer network |
US5737495A (en) * | 1995-09-29 | 1998-04-07 | Intel Corporation | Method and apparatus for managing multimedia data files in a computer network by streaming data files into separate streams based on file attributes |
US5751281A (en) * | 1995-12-11 | 1998-05-12 | Apple Computer, Inc. | Apparatus and method for storing a movie within a movie |
US5794249A (en) * | 1995-12-21 | 1998-08-11 | Hewlett-Packard Company | Audio/video retrieval system that uses keyword indexing of digital recordings to display a list of the recorded text files, keywords and time stamps associated with the system |
US5727159A (en) * | 1996-04-10 | 1998-03-10 | Kikinis; Dan | System in which a Proxy-Server translates information received from the Internet into a form/format readily usable by low power portable computers |
US6006242A (en) * | 1996-04-05 | 1999-12-21 | Bankers Systems, Inc. | Apparatus and method for dynamically creating a document |
US5819302A (en) * | 1996-04-29 | 1998-10-06 | Sun Microsystems, Inc. | Method and apparatus for automatic generaton of documents with single-layered backgrounds from documents with multi-layered backgrounds |
US5893110A (en) * | 1996-08-16 | 1999-04-06 | Silicon Graphics, Inc. | Browser driven user interface to a media asset database |
FR2752638B1 (fr) * | 1996-08-21 | 1998-10-02 | Alsthom Cge Alcatel | Methode pour synchroniser la presentation de composantes statiques et dynamiques d'un document multimedia interactif |
US5956729A (en) * | 1996-09-06 | 1999-09-21 | Motorola, Inc. | Multimedia file, supporting multiple instances of media types, and method for forming same |
US5828809A (en) * | 1996-10-01 | 1998-10-27 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for extracting indexing information from digital video data |
US5983243A (en) * | 1996-10-31 | 1999-11-09 | International Business Machines Corporation | Data processing system and method for Preparing a presentation-ready document that produces separate images of fixed and variable data and a bookticket specifying an arrangement of such images |
US6081262A (en) * | 1996-12-04 | 2000-06-27 | Quark, Inc. | Method and apparatus for generating multi-media presentations |
US6278992B1 (en) * | 1997-03-19 | 2001-08-21 | John Andrew Curtis | Search engine using indexing method for storing and retrieving data |
US6654933B1 (en) * | 1999-09-21 | 2003-11-25 | Kasenna, Inc. | System and method for media stream indexing |
US5991795A (en) * | 1997-04-18 | 1999-11-23 | Emware, Inc. | Communication system and methods using dynamic expansion for computer networks |
US6061696A (en) * | 1997-04-28 | 2000-05-09 | Computer Associates Think, Inc. | Generating multimedia documents |
US6573907B1 (en) * | 1997-07-03 | 2003-06-03 | Obvious Technology | Network distribution and management of interactive video and multi-media containers |
US6021426A (en) * | 1997-07-31 | 2000-02-01 | At&T Corp | Method and apparatus for dynamic data transfer on a web page |
US5991756A (en) * | 1997-11-03 | 1999-11-23 | Yahoo, Inc. | Information retrieval from hierarchical compound documents |
US6041333A (en) * | 1997-11-14 | 2000-03-21 | Microsoft Corporation | Method and apparatus for automatically updating a data file from a network |
US6269122B1 (en) * | 1998-01-02 | 2001-07-31 | Intel Corporation | Synchronization of related audio and video streams |
US6356920B1 (en) * | 1998-03-09 | 2002-03-12 | X-Aware, Inc | Dynamic, hierarchical data exchange system |
US6096095A (en) * | 1998-06-04 | 2000-08-01 | Microsoft Corporation | Producing persistent representations of complex data structures |
US6083276A (en) * | 1998-06-11 | 2000-07-04 | Corel, Inc. | Creating and configuring component-based applications using a text-based descriptive attribute grammar |
US6253217B1 (en) * | 1998-08-31 | 2001-06-26 | Xerox Corporation | Active properties for dynamic document management system configuration |
US6324569B1 (en) * | 1998-09-23 | 2001-11-27 | John W. L. Ogilvie | Self-removing email verified or designated as such by a message distributor for the convenience of a recipient |
US20030061566A1 (en) * | 1998-10-30 | 2003-03-27 | Rubstein Laila J. | Dynamic integration of digital files for transmission over a network and file usage control |
US6408128B1 (en) * | 1998-11-12 | 2002-06-18 | Max Abecassis | Replaying with supplementary information a segment of a video |
US6585777B1 (en) * | 1999-01-19 | 2003-07-01 | Microsoft Corporation | Method for managing embedded files for a document saved in HTML format |
US6507848B1 (en) * | 1999-03-30 | 2003-01-14 | Adobe Systems Incorporated | Embedded dynamic content in a static file format |
US20010056434A1 (en) * | 2000-04-27 | 2001-12-27 | Smartdisk Corporation | Systems, methods and computer program products for managing multimedia content |
US20020095460A1 (en) * | 2000-06-13 | 2002-07-18 | Michael Benson | System and method for serving integrated streams of multimedia information |
US6407673B1 (en) * | 2001-09-04 | 2002-06-18 | The Rail Network, Inc. | Transit vehicle multimedia broadcast system |
-
2001
- 2001-08-09 US US09/925,962 patent/US20040205116A1/en not_active Abandoned
-
2002
- 2002-08-08 EP EP02759298A patent/EP1423777A1/en not_active Withdrawn
- 2002-08-08 JP JP2003519771A patent/JP2004538695A/ja active Pending
- 2002-08-08 KR KR10-2004-7000708A patent/KR20040029370A/ko not_active Application Discontinuation
- 2002-08-08 WO PCT/US2002/025149 patent/WO2003014906A1/en not_active Application Discontinuation
- 2002-08-08 CA CA002452335A patent/CA2452335A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008539614A (ja) * | 2005-04-21 | 2008-11-13 | クォーティックス インク | 統合無線マルチメディア送信システム |
Also Published As
Publication number | Publication date |
---|---|
KR20040029370A (ko) | 2004-04-06 |
CA2452335A1 (en) | 2003-02-20 |
WO2003014906A1 (en) | 2003-02-20 |
EP1423777A1 (en) | 2004-06-02 |
US20040205116A1 (en) | 2004-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5953524A (en) | Development system with methods for runtime binding of user-defined classes | |
US8555163B2 (en) | Smooth streaming client component | |
JP2004538695A (ja) | コンピュータベースのマルチメディア作成、管理、および展開プラットフォーム | |
AU2008206688B2 (en) | Method and system for creating IT-oriented server-based web applications | |
JP3341893B2 (ja) | 並行フレームワーク・システム | |
US7721303B2 (en) | System for management of interactions between users and software applications in a web environment | |
US8539336B2 (en) | System for linking to documents with associated annotations | |
US20130031457A1 (en) | System for Creating and Editing Temporal Annotations of Documents | |
US20110283207A1 (en) | System and method for platform and language-independent development and delivery of page-based content | |
US20130031453A1 (en) | System for Annotating Documents Served by a Document System without Functional Dependence on the Document System | |
US20130031454A1 (en) | System for Programmatically Accessing Document Annotations | |
JPH08509824A (ja) | 共同作業システム | |
WO2012109568A1 (en) | System and method for using an application on a mobile device to transfer internet media content | |
US20070100872A1 (en) | Dynamic creation of user interfaces for data management and data rendering | |
US20110119587A1 (en) | Data model and player platform for rich interactive narratives | |
JP2011501842A (ja) | 以前のポータル・ページ使用状況を要約するポータル・ページを作成するための方法、システム、およびプログラム(ポータル・ページ内のトリガ・イベントに応答して収集されたポートレット使用状況の要約) | |
JPH08508596A (ja) | ランタイム・ローダ | |
US9582506B2 (en) | Conversion of declarative statements into a rich interactive narrative | |
US20030037311A1 (en) | Method and apparatus utilizing computer scripting languages in multimedia deployment platforms | |
US20030167320A1 (en) | Registration service for registering plug-in applications with a management console | |
US20050015780A1 (en) | Method and system for providing information related to elements of a user interface | |
Vazirgiannis | Interactive multimedia documents: modeling, authoring, and implementation experiences | |
JP5650877B2 (ja) | 複数のコンピューティング機能ソースを用意するための装置及び方法 | |
Paternò et al. | of Document: Document about Architecture for migratory user | |
Chapter | ASP .NET and Web Services |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070327 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070328 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070404 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080219 |