(57)【要約】【課題】  コンソール上において実行されているときに、マルチメディアアプリケーションの制御範囲が狭められるのを低減しつつ、並列システムアプリケーションを使用して、マルチメディアコンソール上で高いレベルのシステム機能を提供するオペレーティングシステムアーキテクチャを提供すること。【解決手段】  電源投入時、所定量のシステムリソースが予約され、この所定量の範囲内で並列システムアプリケーションが実行される。マルチメディアアプリケーションは、予約されていないシステムリソースに対する制御を与えられ、また並列システムアプリケーションがエンドユーザにシステム機能を提供するので、システム機能をサポートする必要はない。【選択図】  図３
2006012122.tif 000002
【特許請求の範囲】
【請求項１】
中央処理装置と、
グラフィック処理装置と、
前記グラフィック処理装置と通信する書込み可能メモリと、
前記中央処理装置と通信するメモリと
を備えたマルチメディアコンソールであって、
前記メモリは、システムサービスを提供する並列システムアプリケーションが実行されるシステムリソースを予約するための実行可能コードを含み、
前記システムアプリケーションは、前記マルチメディアコンソール上で実行されるマルチメディアアプリケーションと並列に実行され、前記マルチメディアアプリケーションは、前記実行可能コードによって予約されていないシステムリソースを制御することを特徴とするマルチメディアコンソール。
【請求項２】
前記並列システムアプリケーションは、スケジュールに従って実行され、実質上一定のレベルのシステムリソースを使用することを特徴とする請求項１に記載のマルチメディアコンソール。
【請求項３】
前記並列システムアプリケーションは、前記マルチメディアアプリケーションとは独立にアップグレード可能であることを特徴とする請求項１に記載のマルチメディアコンソール。
【請求項４】
前記並列システムアプリケーションによって提供される前記システムサービスは、前記マルチメディアアプリケーションによる管理なしにアクセス可能であることを特徴とする請求項１に記載のマルチメディアコンソール。
【請求項５】
前記システムサービスは、前記マルチメディアコンソール上で実行されるそれぞれ異なるマルチメディアアプリケーションを跨いで一貫したインターフェースを使用して提供されることを特徴とする請求項４に記載のマルチメディアコンソール。
【請求項６】
前記システムリソース予約は、所定量のメモリの予約を含むことを特徴とする請求項１に記載のマルチメディアコンソール。
【請求項７】
前記システムリソース予約は、所定量のプロセッサ使用の予約を含み、および
前記プロセッサの予約は実質上一定である
ことを特徴とする請求項１に記載のマルチメディアコンソール。
【請求項８】
前記システムリソース予約は、所定量のネットワーク帯域幅の予約を含むことを特徴とする請求項１に記載のマルチメディアコンソール。
【請求項９】
グラフィックプロセッサ使用の予約が実施され、またグラフィックプロセッサ割込みを使用して、前記並列システムアプリケーションによって生成されたメッセージが表示されることを特徴とする請求項１に記載のマルチメディアコンソール。
【請求項１０】
ユーザインターフェースは、前記マルチメディアアプリケーションの解像度とは独立に提供され、および前記マルチメディアアプリケーションの画面レートが下げられることを特徴とする請求項９に記載のマルチメディアコンソール。
【請求項１１】
前記並列システムアプリケーションおよび前記マルチメディアアプリケーションを管理し、かつスケジューリングするアプリケーションマネージャをさらに備え、前記アプリケーションマネージャは、前記並列システムアプリケーション間のメッセージングを提供し、および前記マルチメディアアプリケーションにＡＰＩを公開することを特徴とする請求項１に記載のマルチメディアコンソール。
【請求項１２】
入力装置は、前記マルチメディアアプリケーションと前記並列システムアプリケーションとによって共有されることを特徴とする請求項１１に記載のマルチメディアコンソール。
【請求項１３】
中央処理装置と、グラフィック処理装置と、前記グラフィック処理装置と通信する書込み可能メモリと、前記中央処理装置と通信するメモリとを含むマルチメディアコンソール上において並列システムアプリケーションを提供する方法であって、
前記マルチメディアコンソールが電源投入された後に所定量のハードウェアリソースを予約するステップと、
前記所定量のハードウェアリソース内で前記並列システムアプリケーションを実行するステップと、
予約されていないシステムリソースの量の範囲内で実質上マルチメディアアプリケーションを実行するステップと、
前記マルチメディアアプリケーションによる管理なしにシステム機能を提供するステップと
を備えたことを特徴とする方法。
【請求項１４】
前記並列システムアプリケーションをスケジューリングして、前記所定量のハードウェアリソースの一定の使用を維持するステップをさらに備えたことを特徴とする請求項１３に記載の方法。
【請求項１５】
それぞれ異なるマルチメディアアプリケーションを跨いで、前記システム機能との一貫したインターフェースを提供するステップをさらに備えたことを特徴とする請求項１３に記載の方法。
【請求項１６】
前記所定量のハードウェアリソースを予約するステップは、所定量のメモリを予約するステップを含むことを特徴とする請求項１３に記載の方法。
【請求項１７】
前記所定量のハードウェアリソースを予約するステップは、所定量のプロセッサ使用を予約するステップを含み、
前記プロセッサ使用を実質上一定の量に維持するステップ
をさらに含むことを特徴とする請求項１３に記載の方法。
【請求項１８】
前記所定量のハードウェアリソースを予約するステップは、所定量のネットワーク帯域幅を予約するステップを含むことを特徴とする請求項１３に記載の方法。
【請求項１９】
グラフィックプロセッサの使用を予約するステップと、
グラフィックプロセッサ割込みを使用して、前記並列システムアプリケーションによってメッセージを表示するステップと
をさらに備えたことを特徴とする請求項１３に記載の方法。
【請求項２０】
前記マルチメディアアプリケーションの解像度とは独立にユーザインターフェースを提供するステップをさらに備えたことを特徴とする請求項１９に記載の方法。
【請求項２１】
前記並列システムアプリケーションおよび前記マルチメディアアプリケーションを管理し、かつスケジューリングするアプリケーションマネージャを提供するステップをさらに備え、前記アプリケーションマネージャは、前記並列システムアプリケーション間のメッセージングを提供し、および前記マルチメディアアプリケーションにＡＰＩを公開することを特徴とする請求項１３に記載の方法。
【請求項２２】
前記アプリケーションマネージャを介して前記マルチメディアアプリケーションと前記並列システムアプリケーションとの間で入力装置を共有するステップをさらに備えたことを特徴とする請求項２１に記載の方法。
【請求項２３】
マルチメディアコンソールが電源投入された後に所定量のシステムリソースを予約するステップと、
前記所定量のシステムリソース内で並列システムアプリケーションを実行するステップと、
予約されていないシステムリソースの量の範囲内で実質上マルチメディアアプリケーションを実行するステップと、
前記マルチメディアアプリケーションによる管理なしにシステム機能を提供するステップと  
を実施するようにマルチメディアコンソールに指示するコンピュータ実行可能命令を備えたことを特徴とするコンピュータ読取り可能媒体。
【請求項２４】
前記並列システムアプリケーションをスケジューリングし、前記所定量のシステムリソースの一定の使用を維持するステップを実施するようにマルチメディア装置に指示するコンピュータ実行可能命令をさらに備えたことを特徴とする請求項２３に記載のコンピュータ読取り可能媒体。
【請求項２５】
前記マルチメディアコンソール上で実行されるそれぞれ異なるマルチメディアアプリケーションを跨いで、前記システム機能との一貫したインターフェースを提供するステップを実施するようにマルチメディア装置に指示するコンピュータ実行可能命令をさらに備えたことを特徴とする請求項２３に記載のコンピュータ読取り可能媒体。
【請求項２６】
所定量のメモリを予約するようにマルチメディア装置に指示するコンピュータ実行可能命令をさらに備えたことを特徴とする請求項２３に記載のコンピュータ読取り可能媒体。
【請求項２７】
所定量のプロセッサ使用を予約するようにマルチメディア装置に指示するコンピュータ実行可能命令をさらに備えたことを特徴とする請求項２３に記載のコンピュータ読取り可能媒体。
【請求項２８】
所定量のネットワーク帯域幅を予約するようにマルチメディア装置に指示するコンピュータ実行可能命令をさらに備えたことを特徴とする請求項２３に記載のコンピュータ読取り可能媒体。
【請求項２９】
グラフィックプロセッサ使用を予約し、および
グラフィックプロセッサ割込みを使用して、前記並列システムアプリケーションによってメッセージを表示する
コンピュータ実行可能命令をさらに備えたことを特徴とする請求項２３に記載のコンピュータ読取り可能媒体。
【請求項３０】
前記マルチメディアアプリケーションの解像度とは独立にユーザインターフェースを提供するコンピュータ実行可能命令をさらに備えたことを特徴とする請求項２９に記載のコンピュータ読取り可能媒体。
【請求項３１】
前記並列システムアプリケーションおよび前記マルチメディアアプリケーションを管理するアプリケーションマネージャを提供するコンピュータ実行可能命令をさらに備え、前記アプリケーションマネージャは、前記並列システムアプリケーション間のメッセージングを提供し、および前記マルチメディアアプリケーションにＡＰＩを公開することを特徴とする請求項２３に記載のコンピュータ読取り可能媒体。
【請求項３２】
前記アプリケーションマネージャを介して前記マルチメディアアプリケーションと前記並列システムアプリケーションの間で入力装置を共有するコンピュータ実行可能命令をさらに備えたことを特徴とする請求項３１に記載のコンピュータ読取り可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般には、マルチメディア装置の分野に関し、より詳細には、マルチメディア装置内で実行されるアプリケーションに与えられる制御を最大にしながら、マルチメディア装置内に追加のシステム機能を提供するオペレーティングシステムアーキテクチャに関する。
【背景技術】
【０００２】
（著作権表示／許可）
ビデオゲームコンソールなどのマルチメディア装置は従来、開発者の「邪魔にならないようにする」オペレーティングシステムを提供してきた。具体的には、従来のビデオゲームコンソール上では、ゲーム開発者はハードウェアのほとんどすべての制御を与えられており、オペレーティングシステムは、マルチメディアアプリケーションによって駆動される。ゲームソフトウェアは多くの場合特定のプラットフォーム向けに開発されているので、使用可能なハードウェアリソース（メモリ、プロセッサなど）はよく知られている。このアーキテクチャは、開発者に完全な自律性、およびあらゆるＣＰＵサイクルがどのように使用されるかを洞察する力を与える。したがって、ソフトウェア開発者は、ハードウェアリソースの使用を管理し、かつ最大化し、また高パフォーマンスのマルチメディアアプリケーションを提供することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
この手法には、システムサービスが非常に大きな制約を受け、またアプリケーションによる明示的な指示を必要とするという点で重要な欠点がある。任意の時点においてシステム上では１つのアプリケーション（すなわちマルチメディアアプリケーション）しか実行されていないので、この指示が必要である。別の欠点は、それぞれのアプリケーションがシステムリソースとのそれ独自のインターフェースを提供するので、ユーザ体験がアプリケーションによって大きく異なり得ることである。さらに別の欠点は、従来のマルチメディア装置では、オペレーティングシステムの機能が時間とともに更新され得ないことである。
【０００４】
一連のリソース制御のもう一方の側は、アプリケーションが一般にオペレーティングシステムの基本的な機能に対して制限された制御を有する従来のパーソナルコンピュータ（ＰＣ）において見られる。この手法は、アプリケーションによってそれが制御されることを必要とせずに、オペレーティングシステム内に多大な機能を与える。さらに、これは、複数のアプリケーションが互いに認識することを必要とせずに、複数のアプリケーションが同時に実行されることを実現する。この手法の欠点は、アプリケーションがＣＰＵサイクル、ＲＡＭ、ネットワーク帯域幅などのシステムリソースに対して遥かに小さい制御を有し、それが実行されている唯一のアプリケーションでないと想定するように設計されなければならないことである。
【０００５】
マルチメディア装置の力が増すにつれて、開発者がシステムリソースのほとんどすべての制御を有する既存のマルチメディアコンソールオペレーティングシステムの利点を維持しながらアプリケーションにシステムサービスを提供する需要が高まるだろう。したがって、システムの動作およびハードウェアのリソースに対するマルチメディアアプリケーションの高いレベルの制御を維持しながら、より多くの機能を可能にするためにマルチメディア装置上でシステムサービスを提供するシステムおよび方法が求められている。本発明は、こうした解決策を提供する。
【課題を解決するための手段】
【０００６】
本発明は、従来のパーソナルコンピューティング（ＰＣ）オペレーティングシステムにおいてアプリケーションが有する制御の欠如を最小限に抑えながら、並列システムアプリケーションを介してより多くのシステム機能を提供するために、既存のマルチメディアコンソールオペレーティングシステムの拡張に本来伴う制限に対処するオペレーティングシステムアーキテクチャを対象とする。本発明によれば、マルチメディアアプリケーションは、従来のシステムで必要とされるシステム機能をサポートする必要はない。並列システムアプリケーションは、マルチメディアアプリケーションが実行されている間にシステム機能を提供し、またセットトップボックス、組込みシステムなどの他の制限付きの環境で実装することができる。
【０００７】
本発明の一態様によれば、中央処理装置、グラフィック処理装置、グラフィック処理装置と通信する書込み可能メモリ、および中央処理装置と通信するメモリを含むマルチメディアコンソールが提供される。メモリは、システムサービスを提供する並列システムアプリケーションが実行されるシステムリソースを予約するための実行可能コードを含む。さらに、システムアプリケーションは、マルチメディアコンソール上で実行されるマルチメディアアプリケーションに並列して実行される。ただし、マルチメディアアプリケーションは、前記実行可能コードによって予約されないシステムリソースを制御する。
【０００８】
本発明の一特徴によれば、並列システムアプリケーションは、スケジュールに従って実行され、実質上一定のレベルのシステムを使用する。さらに、並列システムアプリケーションは、マルチメディアコンソール上で使用するためのマルチメディアアプリケーションとは独立にアップグレードすることができる。さらに、システムサービスは、並列システムアプリケーションによって提供され、マルチメディアアプリケーションによる管理なしにアクセスすることができる。これは、マルチメディアコンソール上で実行されるそれぞれ異なるマルチメディアアプリケーションを跨いで一貫したインターフェースおよびユーザ体験を提供するのに役立つ。
【０００９】
本発明の別の態様によれば、マルチメディアコンソールが電源投入された後に所定量のハードウェアリソースを予約すること、所定量のハードウェアリソース内で並列システムアプリケーションを実行すること、予約されていないハードウェアリソースの量の範囲内で実質上マルチメディアアプリケーションを実行すること、およびマルチメディアアプリケーションによる管理なしにシステム機能を提供することを含む、マルチメディアコンソール内で並列システムアプリケーションを提供する方法が提供される。
【００１０】
本発明の追加の特徴および利点は、添付の図面を参照して進める、例示的な実施形態についての以下の詳細な説明から明らかになる。
【００１１】
上記の要約、および好まれる実施形態についての以下の詳細な説明は、添付の図面と併せ読めばよりよく理解される。本発明について例示するため、図面に本発明の例示的な構成が示されているが、本発明は開示する特定の方法および手段に限定されない。
【発明を実施するための最良の形態】
【００１２】
図１に、本発明の特定の態様が実施され得るマルチメディアコンソール１００の機能構成要素を示す。マルチメディアコンソール１００は、レベル１キャッシュ１０２、レベル２キャッシュ１０４およびフラッシュＲＯＭ（読出し専用メモリ）１０６を有する中央処理装置（ＣＰＵ）１０１を含む。レベル１キャッシュ１０２およびレベル２キャッシュ１０４は、データを一時的に格納し、したがってメモリアクセスサイクルの数を減らし、それによって処理速度およびスループットを改善する。ＣＰＵ１０１は、２つ以上のコア、したがって追加のレベル１およびレベル２キャッシュ、１０２および１０４を有することができる。フラッシュＲＯＭ１０６は、マルチメディアコンソール１００が電源投入されるときのブートプロセスの初期フェーズの間にロードされる実行可能コードを格納することができる。
【００１３】
グラフィック処理装置（ＧＰＵ）１０８およびビデオエンコーダ／ビデオコーデック（コーダ／デコーダ）１１４は、高速および高解像度グラフィック処理のためのビデオ処理パイプラインを形成する。データは、バスを介してグラフィック処理装置（ＧＰＵ）１０８からビデオエンコーダ／ビデオコーデック１１４に運ばれる。ビデオ処理パイプラインは、テレビまたは他の表示装置への伝送のため、Ａ／Ｖ（オーディオ／ビデオ）ポート１４０にデータを出力する。メモリコントローラ１１０は、ＧＰＵ１０８に接続されて、それだけに限定されないが、ＲＡＭ（ランダムアクセスメモリ）などの様々な種類のメモリ１１２へのプロセッサアクセスを容易にする。
【００１４】
マルチメディアコンソール１００は、好ましくはモジュール１１８上で実装されるＩ／Ｏコントローラ１２０、システム管理コントローラ１２２、オーディオ処理装置１２３、ネットワークインターフェースコントローラ１２４、第１のＵＳＢホストコントローラ１２６、第２のＵＳＢホストコントローラ１２８、およびフロントパネルＩ／Ｏサブアセンブリ１３０を含む。ＵＳＢコントローラ１２６および１２８は、周辺コントローラ１４２（１）、１４２（２）、無線アダプタ１４８および外部メモリ装置１４６（フラッシュメモリ、外部ＣＤ／ＤＶＤ  ＲＯＭドライブ、取出し可能媒体など）のホストとして働く。ネットワークインターフェース１２４および／または無線アダプタ１４８は、ネットワーク（インターネット、ホームネットワークなど）へのアクセスを提供し、またイーサネット（登録商標）カード、モデム、Ｂｌｕｅｔｏｏｔｈモジュール、ケーブルモデムなどを含む多岐に渡る様々な有線または無線のインターフェース構成要素のうちのいずれかであり得る。
【００１５】
システムメモリ１４３は、ブートプロセスの間にロードされるアプリケーションデータを格納するために設けられる。メディアドライブ１４４が設けられ、それは、ＤＶＤ／ＣＤドライブ、ハードドライブまたは他の取出し可能メディアドライブなどを含み得る。メディアドライブ１４４は、マルチメディアコンソール１００に対して外付け、または内蔵である。アプリケーションデータには、マルチメディアコンソール１００による実行、再生などのためにメディアドライブ１４４を介してアクセスすることができる。メディアドライブ１４４は、シリアルＡＴＡバスや他の高速接続（ＩＥＥＥ１３９４など）のバスを介してＩ／Ｏコントローラ１２０に接続される。
【００１６】
システム管理コントローラ１２２は、マルチメディアコンソール１００の可用性の保証に関する様々なサービス機能を提供する。オーディオ処理装置１２３およびオーディオコーデック１３２は、ハイファイおよびステレオ処理を備えた対応するオーディオ処理パイプラインを形成する。オーディオデータは、通信リンクを介してオーディオ処理装置１２３とオーディオコーデック１３２の間で運ばれる。オーディオ処理パイプラインは、外部のオーディオプレーヤ、またはオーディオ機能を有する装置による複製のために、Ａ／Ｖポート１４０にデータを出力する。
【００１７】
フロントパネルＩ／Ｏサブアセンブリ１３０は、パワーボタン１５０および取出しボタン１５２の機能、ならびに任意のＬＥＤ（発光ダイオード）、またはマルチメディアコンソール１００の外面上に露出された他のインジケータをサポートする。システム電力供給モジュール１３６は、マルチメディアコンソール１００の構成要素に電力を供給する。ファン１３８は、マルチメディアコンソール１００内の回路を冷却する。
【００１８】
ＣＰＵ１０１、ＧＰＵ１０８、メモリコントローラ１１０、およびマルチメディアコンソール１００内の様々な他の構成要素は、シリアルおよびパラレルバス、メモリバス、周辺バス、および様々なバス構造のいずれかを使用するプロセッサまたはローカルバスを含めて、１つまたは複数のバスを介して相互接続される。
【００１９】
マルチメディアコンソール１００が電源投入されるとき、アプリケーションデータは、システムメモリ１４３からメモリ１１２および／またはキャッシュ１０２、１０４内にロードされ、ＣＰＵ１０１上で実行され得る。アプリケーションは、マルチメディアコンソール１００上で使用可能な様々なメディアタイプに移動する場合に一貫したユーザ体験を提供するグラフィカルユーザインターフェースを提示し得る。動作において、メディアドライブ１４４内に含まれるアプリケーションおよび／または他の媒体が、メディアドライブ１４４から起動され、または再生されてマルチメディアコンソール１００に追加の機能を提供し得る。
【００２０】
マルチメディアコンソール１００は、単にシステムをテレビまたは他の表示装置に接続することによって、スタンドアロンのシステムとして動作させることができる。このスタンドアロンモードでは、マルチメディアコンソール１００は、１人または複数のユーザがシステムと対話し、映画を鑑賞し、音楽を聴くことを可能にする。しかし、ネットワークインターフェース１２４または無線アダプタ１４８を介して使用可能になるブロードバンド接続の統合により、マルチメディアコンソール１００はさらに、より大規模なネットワークコミュニティに参加する一員として動作させることができる。
【００２１】
本発明は、欠点を最小限に抑えながら上記の２つのアーキテクチャの両方の利点を満たすのに有利である、統合型のアプリケーション／オペレーティングシステム解決策を提供する。既存のマルチメディアコンソールオペレーティングシステムとは異なり、本発明は、開発者がシステム機能へのユーザアクセスを明示的に取り入れ、または取り扱うことを必要としない。並列システムアプリケーションを介してシステム機能へのアクセスを提供することにより、ユーザは、マルチメディアアプリケーションから離れたシステムリソースの制御を曖昧に行うことなく、ＰＣオペレーティングシステムのような並列アプリケーションおよび豊富なシステム機能の便益を得る。
【００２２】
図２に、並列システムアプリケーションを可能にする本発明によるシステムリソース予約プロセスの概要を示す。図２に示すように、マルチメディアコンソール１００が電源投入されると（ステップ２００）、所定量のハードウェアリソースがマルチメディアコンソールオペレーティングシステムによるシステム使用のために予約される（ステップ２０２）。これらのリソースは、メモリ（１６ＭＢなど）、ＣＰＵおよびＧＰＵサイクル（５％など）、ネットワーク帯域幅（８ｋｂなど）などの予約を含み得る。この例示的な１組のリソースは、本発明に従って予約され得るシステムリソースの限定的なまたは網羅的なリストとなるように意図されたものではないことに留意されたい。これらのリソースはシステムのブート時に予約されるので、予約されたリソースは、アプリケーションから見ると存在しない。
【００２３】
具体的には、メモリ予約は、起動カーネル、並列システムアプリケーションおよびドライバを含むのに十分なほど大きいことが好ましい。この予約によって、好ましくは、マルチメディアコンソールの存続期間にわたって新しい並列システムアプリケーションおよびドライバを受け入れ、また並列システムアプリケーションおよびドライバの占有スペースの予想された任意のサイズ拡大が可能になる。ＣＰＵ予約量は、実質上一定のレベルで維持される。
【００２４】
ＧＰＵの予約に関して、並列システムアプリケーションによって生成される負荷の小さいメッセージ（ポップアップなど）は、ポップアップをオーバレイにするコードをスケジューリングするＧＰＵ割込みを使用することによって表示される。オーバレイに必要なメモリの量はオーバレイ領域のサイズによって決まり、オーバレイは好ましくは、画面解像度によってスケーリングされる。最大限のユーザインターフェースが並列システムアプリケーションによって使用されている場合、ゲームの解像度とは独立した解像度を使用することが好ましい。周波数を変更し、またＴＶ再同期を引き起こす必要性が取り除かれるように、スケーラを使用してこうした解像度を設定することができる。
【００２５】
マルチメディアコンソール１００がブートし、システムリソースが予約された後に、並列システムアプリケーションが実行されて（ステップ２０４）、マルチメディアアプリケーションおよびエンドユーザにシステム機能を提供する。システム機能は、ステップ２０２を参照して上記で説明した予約されたシステムリソース内で実行される１組の並列システムアプリケーション内にカプセル化される。オペレーティングシステムカーネルは、マルチメディアアプリケーションスレッドに対する並列システムアプリケーションであるスレッドを識別する。一貫したシステムリソースのビューをアプリケーションに提供するために、並列システムアプリケーションは、ＣＰＵ１０１上で所定の時刻および間隔に実行されるようにスケジューリングされることが好ましい。スケジューリングによって好ましくは、コンソール１００上で実行されるマルチメディアアプリケーションのためにキャッシュの混乱が最小限に抑えられる。並列システムアプリケーションの配置およびインストールは、コンソール１００上で実行されるマルチメディアアプリケーションに関して一貫性が確保されるように制御されることが好ましい。
【００２６】
並列システムアプリケーションがオーディオを必要とする場合、オーディオ処理は、時間の影響を受けやすいため、マルチメディアアプリケーションとは非同期にスケジューリングされる。（後述の）マルチメディアコンソールアプリケーションマネージャは、並列システムアプリケーションがアクティブのとき、マルチメディアアプリケーションのオーディオレベル（ミュート、減衰など）を制御する。
【００２７】
入力装置（コントローラ１４２（１）および１４２（２）など）は、マルチメディアアプリケーションと並列システムアプリケーションとによって共有される。入力装置は、予約されたリソースではないが、それぞれが装置のフォーカスをもつように、並列システムアプリケーションとマルチメディアアプリケーションとの間で切り換えられる。アプリケーションマネージャは好ましくは、マルチメディアアプリケーションの知識なしに入力ストリームの切換えを制御し、ドライバは、フォーカス切換えに関する状態情報を維持する。
【００２８】
上述したように、並列システムアプリケーションは、マルチメディアアプリケーションが実行される間（ステップ２０６）にシステム機能を提供し、マルチメディアアプリケーションからのサポートを必要としない。ステップ２０６で、１つまたは複数のアプリケーションが実行されていることがある。ユーザは、要望に応じて、並列システムアプリケーションとも、マルチメディアアプリケーションとも対話することができる（ステップ２１０）。既存のオペレーティングシステムアーキテクチャが、マルチメディアアプリケーションによる、この二重機能の管理を必要とする場合、マルチメディアアプリケーションとともに、こうしたタスクを実施する並列システムアプリケーションを提供すると、マルチメディアアプリケーションがこの機能を管理する必要がない。本発明に従って並列システムアプリケーション用のシステムリソースを予約することによって、サービスを提供するためにオペレーティングシステムと対話するマルチメディアアプリケーションの要件が大きく削減される。
【００２９】
図３を参照すると、アプリケーションマネージャ、および並列システムアプリケーションとマルチメディアアプリケーションとの関係が示されている。並列システムアプリケーションとの通信は、メッセージベースであることが好ましい。ＡＰＩは、メッセージをラップするマルチメディアアプリケーションに公開される（ｅｘｐｏｓｅ）。並列システムアプリケーションからの通信は、通知ベースである。小さいプロキシオブジェクトを使用して、複数の聴取側および複数の発呼側がサポートされる。
【００３０】
図４に、ユーザのオンライン上の友人を列挙し、かつ表示し、それと通信することを可能にする並列システムアプリケーションの一例を示す。図４の例示的な並列システムアプリケーションは、マルチメディアアプリケーションと並列に実行されており、マルチメディアアプリケーションが実行し続ける間、ユーザがその友人と通信できるようにするオーバレイのユーザインターフェースを提供する。電子メール、ブラウザアプリケーション、オーディオ再生アプリケーションなど、他の並列システムアプリケーションが提供され得る。さらに、ユーザが並列システムアプリケーションと対話するときにマルチメディアアプリケーションを一時停止するなどの他の種類の対話が可能である。
【００３１】
本発明の優れている点は、マルチメディアアプリケーションの再配置を必要とせずに、並列システムアプリケーションの機能が（メディアドライブ、ネットワークインターフェースまたは無線アダプタなどを介して）アップグレードされ得ることである。したがって、新しい特徴および機能が、装置上で実行されるアプリケーションとは独立に追加され得る。従来のマルチメディアコンソールでは、マルチメディアアプリケーションとオペレーティングシステムとが静的にリンクされているため、こうしたアップグレードのオプションは存在しない。
【００３２】
本発明について、様々な図の好ましい諸実施形態に関連して説明したが、それから逸脱せずに本発明と同じ機能を実施するため、他の類似の実施形態を使用することができ、または説明した諸実施形態に対して修正および追加が行われ得ることを理解されたい。
【図面の簡単な説明】
【００３３】
【図１】本発明の態様が実施され得るマルチメディアコンソールを示すブロック図である。
【図２】本発明の一態様に従って実施されるプロセスのフローチャートである。
【図３】アプリケーションマネージャを示すブロック図である。
【図４】マルチメディアアプリケーションとともに実行されている並列システムアプリケーションを示す例示的なユーザインターフェースの図である。
【符号の説明】
【００３４】
１１８  モジュール
１５０  パワーボタン
１５２  取り出しボタン
【図１】
2006012122.tif 000003
【図２】
2006012122.tif 000004
【図３】
2006012122.tif 000005
【図４】
2006012122.tif 000006
【外国語明細書】
2006012122000001.pdf