JP2009503680A - マルチユーザコンピューティングシステムにおけるユーザエクスペリエンスの動的バランシング - Google Patents

マルチユーザコンピューティングシステムにおけるユーザエクスペリエンスの動的バランシング Download PDF

Info

Publication number
JP2009503680A
JP2009503680A JP2008523911A JP2008523911A JP2009503680A JP 2009503680 A JP2009503680 A JP 2009503680A JP 2008523911 A JP2008523911 A JP 2008523911A JP 2008523911 A JP2008523911 A JP 2008523911A JP 2009503680 A JP2009503680 A JP 2009503680A
Authority
JP
Japan
Prior art keywords
user
media
policy
usage
experience
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008523911A
Other languages
English (en)
Other versions
JP4885219B2 (ja
JP2009503680A5 (ja
Inventor
バウラ トッド
デービス ジェフリー
ヴァーディ グルプラタップ
ファン ニコラス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2009503680A publication Critical patent/JP2009503680A/ja
Publication of JP2009503680A5 publication Critical patent/JP2009503680A5/ja
Application granted granted Critical
Publication of JP4885219B2 publication Critical patent/JP4885219B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • H04L12/2821Avoiding conflicts related to the use of home appliances
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1083In-session procedures
    • H04L65/1094Inter-user-equipment sessions transfer or sharing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/752Media network packet handling adapting media to network capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/504Resource capping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L2012/2847Home automation networks characterised by the type of home appliance used
    • H04L2012/2849Audio/video appliances
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)

Abstract

メディアエクスペリエンスポリシエンジンは、情報マネージャ、ポリシエバリュエータ、およびエンフォースメントモジュールという3つのコンポーネントを有する。情報マネージャは、例えばCPU、メモリ、ハードディスク、(I/O)インタフェース、およびネットワークの使用のような、メディア配信システムの現在の状態に関する情報を収集する。次に、この収集されたデータをポリシエバリュエータで検査し、リソース競合が起きているか、または起きそうになっているかどうかを調べる。その通りである場合、すでに存在する衝突や潜在的な衝突がエンフォースメントモジュールによって処理される。エンフォースメントモジュールは、リソース競合をなくし、目標ポリシに合致したユーザエクスペリエンスを維持するために、目標ポリシに従って、例えば時間的に後のユーザのアクセスを制限したり、全ユーザのユーザエクスペリエンスを劣化させたりというような補正を適用する。

Description

本発明は、マルチユーザコンピューティングシステムにおけるユーザエクスペリエンスの動的バランシングに関する。
パーソナルコンピュータ(PC)がディジタルホームの中心となっていくのに伴い、PCに蓄積されるメディアコンテンツ(音楽、画像、ビデオ、TV等)へのアクセスを求めるデバイスの数は増え続けており、PCはそれらのデバイスからの要求を同時に処理しなければならない。
例えば、現在ではユーザがPCをエンターテインメントサーバとして用いることにより、ネットワークを通じてメディアコンテンツ等をデスクトップPC、ノートブックコンピュータ、ポータブルコンピュータ、携帯電話等の無線通信デバイス、携帯情報端末(PDA)、ゲーム機、IPセットトップボックス、ハンドヘルドPC等のクライアントデバイスへ配信することができる。配信可能なコンテンツとしては、画像、オーディオコンテンツ、オーディオ・ビデオ(AV)コンテンツ、およびコンピュータ可読プログラム等があり、これらはCDやDVD等のポータブル記憶媒体や、インターネット、ケーブル接続、あるいは衛星フィード等のリモートソースからコンテンツを受信するチューナ経由で、エンターテインメントサーバに導入することができる。
マイクロソフト社(Microsoft Corporation、米国ワシントン州レドモンド)から市販されている WINDOWS XP(登録商標) Media Center Edition オペレーティングシステムのようなソフトウェアは、通常のホームPCを、このようなコンテンツを配信することが可能なホストへと転換するのに必要な手間と費用を大幅に削減している。しかし、場合によっては、コンテンツを要求するさまざまなデバイスへそのコンテンツを配信するために必要なリソースが、PC上で利用可能なリソースを超過することがある。このようなことが起きると、予期しない、あるいは望ましくない挙動の結果、PCや、PC上のコンテンツにアクセスするデバイスに混乱が生じることがある。
したがって、PCがマルチユーザ環境において機能し、PC上で利用可能なリソースを超過せずに、多数の要求側デバイスへコンテンツを配信できるようにすることが必要とされている。
メディアエクスペリエンスポリシエンジン(media experience policy engine)は、情報マネージャ、ポリシエバリュエータ(policy evaluator)、およびエンフォースメントモジュール(enforcement module)という3つのコンポーネントを有する。情報マネージャは、CPU、メモリ、ハードディスク、(I/O)インタフェース、およびネットワークの使用のような、メディア配信システムの現在の状態に関する情報を収集する。次に、この収集されたデータをポリシエバリュエータで検査し、リソース競合が起きているか、または起きそうになっているかどうかを調べる。その通りである場合、すでに存在する衝突や潜在的な衝突がエンフォースメントモジュールによって処理される。エンフォースメントモジュールは、リソース競合をなくし、目標ポリシに合致したユーザエクスペリエンスを維持するために、目標ポリシに従って、例えば時間的に後のユーザのアクセスを制限したり、全ユーザのユーザエクスペリエンスを劣化させたりというような補正を適用する。
この概要は、以下の詳細な説明でさらに説明する概念の一部を簡略化した形で導入するために設けられている。この概要は、特許請求の範囲に記載された対象の主要な特徴あるいは必須の特徴を特定することを意図するものではなく、また、特許請求の範囲に記載された対象の範囲を決定する際の補助として用いられることを意図するものでもない。
詳細な説明は添付図面を参照して記述される。図中、参照番号の左端の桁は、その参照番号が最初に現れる図面を特定する。異なる図面における同一参照番号の使用は、類似または同一の項目であることを示す。
[ホーム環境]
図1は、寝室102および居間104を含む例示的なホーム環境100を示す。ホーム環境100の随所に、メインTV106、セカンダリTV108、VGAモニタ110のような複数のモニタが配置されている。居間104に配置されたエンターテインメントサーバ112から、ホームネットワークを通じて各モニタ106、108、110にコンテンツを供給することが可能である。一実施態様では、エンターテインメントサーバ112は、マイクロソフト社から市販されているWindows(登録商標) XP Media Center(商標) edition オペレーティングシステムのようなマルチメディアソフトウェアパッケージを実行するように構成された従来型のパーソナルコンピュータ(PC)である。このような構成において、エンターテインメントサーバ112は、十分なコンピューティング機能と完全なホームエンターテインメントシステムとを単一のPC内に統合することができる。例えば、ユーザは、いずれかのモニタ106、108、110の1つのグラフィックウィンドウでTVを見ながら、同じモニタの別のグラフィックウィンドウで電子メールを送信したり表計算処理をしたりすることができる。また、エンターテインメントシステムは、ほかに次のような機能も有することが可能である。
・後で視聴するためにTV生番組をキャプチャしたり、将来の単発番組やシリーズ物の放送を録画したりする、パーソナルビデオレコーダ(PVR)。
・DVD再生。
・TV番組、歌、画像、ホームビデオ等、ユーザが録画・録音したコンテンツの統合的視聴。
・14日分のEPG(電子番組ガイド)。
また、エンターテインメントサーバ112は、従来型のPCであることに加えて、メディアコンポーネントをレンダリングすることが可能な他のさまざまなデバイス、例えばノートブック型やポータブル型のコンピュータ、タブレットPC、ワークステーション、メインフレームコンピュータ、サーバ、インターネット機器、およびそれらの組合せ等、も含み得る。なお、エンターテインメントサーバ112は、セットトップボックス等のエンターテインメントデバイスであってもよい。エンターテインメントデバイスは、メディアコンテンツをコンピュータへ配信してそこでストリーミング視聴を可能にし、また、エンターテインメントデバイス自体がメディアコンテンツをストリーミング送信することができる。
エンターテインメントサーバ112により、ユーザは、例えばケーブル114、衛星116、アンテナ(見やすくするため図示せず)、あるいはインターネット118のようなネットワーク経由で受信されるテレビやオーディオのコンテンツのライブストリームを視聴・制御することができる。この機能は、エンターテインメントサーバ112内にある1つまたは複数のチューナによって実現される。しかし、言うまでもなく、そのような1つまたは複数のチューナは、エンターテインメントサーバ112から離れて位置していてもよい。いずれの場合でも、ユーザは個別の好みに合わせてチューナを選ぶことができる。例えば、標準解像度(SD)および高解像度(HD)の両方のコンテンツを受信したいユーザは、両方のタイプのコンテンツに対応したチューナを用いればよい。また、ユーザは、SDコンテンツにはSDチューナを、HDコンテンツにはHDチューナを用いることもできる。
また、エンターテインメントサーバ112は、スピーカ(見やすくするため図示せず)のためのマルチチャネル出力も可能である。これは、ドルビーディジタル、ディジタルシアターサウンド(DTS)、あるいはパルス符号変調(PCM)サラウンドデコーディングの配信に対応したSPDIF(Sony-Philips Digital Interface Format)やToslinkのようなディジタル相互接続出力を用いて実現することができる。
また、エンターテインメントサーバ112は、さまざまな負荷条件下でユーザがエンターテインメントサーバ112の挙動を制御できるように構成されたメディアエクスペリエンスポリシエンジン120を含んでもよい。メディアエクスペリエンスポリシエンジン120は、ユーザがエンターテインメントサーバ112の実際のリソース利用を監視し、リソース競合が起きている、または起こりそうな高負荷状況に適切に対応することができるように構成される。このように、メディアエクスペリエンスポリシエンジン120を用いることで、エンターテインメントサーバ112によって実行されるリソース管理をカスタマイズし、ユーザエクスペリエンスを予測不可能な、受容できない品質レベルにまで劣化させるおそれのある有害なリソース競合を回避することができる。メディアエクスペリエンスポリシエンジン120と、それを用いた方法については、図2〜図6を参照して以下でさらに詳細に説明する。
エンターテインメントサーバ112は、オペレーティングシステムを実行するフル機能のコンピュータであってもよいので、ユーザは、標準的なコンピュータプログラム(ワープロ、表計算等)の実行、電子メールの送受信、インターネットのブラウジング、あるいはその他の一般的機能の実行を選ぶこともできる。
また、ホーム環境100は、ネットワーク124を通じてエンターテインメントサーバ112と通信するように配置されたホームネットワークデバイス122を含んでもよい。ホームネットワークデバイス122としては、マイクロソフト社から市販されている Media Center Extender デバイス、Windows(登録商標) Media Connect デバイス、マイクロソフト社から市販されているXboxゲーム機等のゲーム機、およびエンターテインメントサーバ112がオーディオあるいはビデオのコンテンツをモニタ106、108、110やオーディオシステムへストリーミングすることを可能にするデバイスが挙げられる。また、ホームネットワークデバイス122は、例えばデスクトップPC、ノートブック型やポータブル型のコンピュータ、ワークステーション、メインフレームコンピュータ、インターネット機器、ゲーム機、ハンドヘルドPC、携帯電話等の無線通信デバイス、携帯情報端末(PDA)、セットトップボックス、テレビ、オーディオチューナ、およびそれらの組合せ等、さまざまな従来型のコンピューティングデバイスのいずれかとして実現することも可能である。
ネットワーク124は、有線または無線のネットワーク、あるいはインターネット等のいかなる電子的接続手段を含んでもよい。理解されるように、ネットワーク124は、TCP(transmission control protocol)、IP(Internet protocol)、RTP(real time transport protocol)、およびRTCP(real time transport control protocol)のようなパケット通信プロトコルによりホームネットワークデバイス122とエンターテインメントサーバ112との間の通信を可能にするものでよい。また、ホームネットワークデバイス122は、無線手段または従来型のケーブルを通じてセカンダリTV108に接続されてもよい。
ホームネットワークデバイス122は、エンターテインメントサーバ112から、ユーザエクスペリエンスストリーム(すなわち、システム/アプリケーションのユーザインタフェースであって、グラフィクス、ボタン、コントロールおよびテキストを含み得る)とともに、圧縮されたディジタルオーディオ/ビデオストリームを受信するように構成され得る。ユーザエクスペリエンスストリームは、例えば標準的なRDP(remote desktop protocol)、GDI(graphics device interface)、あるいはHTML(hyper text markup language)等のさまざまな方法で配信可能である。ディジタルオーディオ/ビデオストリームは、ビデオ、オーディオおよびイメージのファイルを有するビデオIP、SD、およびHDコンテンツを含み得る。これらは、ホームネットワークデバイス122で復号された後、ユーザエクスペリエンスストリームと「混合」されてセカンダリTV108に出力される。一例示的実施態様では、メディアコンテンツは、MPEG2フォーマットでホームネットワークデバイス122へ配信される。
図1には単一のホームネットワークデバイス122のみが示されているが、言うまでもなく、複数のホームネットワークデバイス122および対応するディスプレイをホーム環境100全体に分散させ、エンターテインメントサーバ112に通信可能に接続してもよい。また、エンターテインメントサーバ112は、ホームネットワークデバイス122およびモニタ106、108、110に加えて、スピーカやプリンタ(見やすくするため図示せず)のようなコンポーネントを含め、他の周辺デバイスに通信可能に接続されてもよいことはもちろんである。
[メディアエクスペリエンスポリシエンジンを備えたシステム]
図2は、複数のエンターテインメントサーバ112からネットワーク124を通じて複数のホームネットワークデバイス122へメディアコンテンツを配信するのに適した例示的アーキテクチャ200を示す。図2に示すように、メディアエクスペリエンスポリシエンジン120は、複数のエンターテインメントサーバ112のうちの1つ、数個、またはすべてに存在し得る。また、クライアント側メディアエクスペリエンスポリシエンジン(MEPE)202が、複数のホームネットワークデバイス122のうちの1つ、数個、またはすべてに存在し得る。さらに、独立型メディアエクスペリエンスポリシエンジン204もまた、例えばネットワーク124と通信する特殊目的のデバイスやサーバのような別のデバイス上に存在し得る。
おそらくその最も単純な実施態様では、メディアエクスペリエンスポリシエンジン120は、2以上のユーザにサービスする単一のエンターテインメントサーバ112上で実行され得る。通常この場合には、1ユーザがエンターテインメントサーバ112自体を使い、1以上のユーザがホームネットワークデバイス122を操作する。しかし、他のユーザ構成も可能であり、例えば2以上のキーボード、マウス、モニタ等をエンターテインメントサーバ112につなぐことを可能にするソフトウェアを用いることで、複数のユーザが同一のエンターテインメントサーバ112を操作することも可能である。単一のエンターテインメントサーバ112が利用されているこのような状況では、その単一のエンターテインメントサーバ112上のメディアエクスペリエンスポリシエンジン120とともに、あるいはそれなしで、クライアント側MEPE202を使用することも可能である。
より複雑なマルチユーザ型の実施態様として、1つまたは複数のエンターテインメントサーバ112またはホームネットワークデバイス122が、エンターテインメントサーバ112またはホームネットワークデバイス122のうちの1つに存在するメディアエクスペリエンスポリシエンジン120、202の1つまたは複数のインスタンスを共有してもよい。あるいは、その1つまたは複数のエンターテインメントサーバ112またはホームネットワークデバイス122が、エンターテインメントサーバ112またはホームネットワークデバイス122のうちの1つに存在するメディアエクスペリエンスポリシエンジン120、202に加えて、独立型メディアエクスペリエンスポリシエンジン204を共有してもよい。
また、その1つまたは複数のエンターテインメントサーバ112またはホームネットワークデバイス122が、メディアエクスペリエンスポリシエンジン(メディアエクスペリエンスポリシエンジン120、独立型メディアエクスペリエンスポリシエンジン204、およびクライアント側MEPE202を含む)の別個のインスタンスを使用し、このインスタンスが1つまたは複数の他のデバイス112、122に存在するメディアエクスペリエンスポリシエンジン120、202、204と協調してもよい。
さらに別の実施態様として、単一のメディアエクスペリエンスポリシエンジン120、202、204が、ネットワーク124に接続されたすべてのデバイスにサービスするために用いられてもよい。
なお、クライアント側MEPE202は、もし存在すれば、ネットワーク124のリソースおよびクライアント側MEPE202が存在するホームネットワークデバイス122のリソースに関する統計等の情報を収集するために使用可能である。別法として、この情報は、当該ホームネットワークデバイス122上の、または他のホームネットワークデバイス122もしくはエンターテインメントサーバ112上の、別のアプリケーションによって収集することも可能である。
本明細書を通じて、メディアエクスペリエンスポリシエンジン120に言及する場合には、この言及は、クライアント側MEPE202および独立型メディアエクスペリエンスポリシエンジン204をも含み得ると解するものとする。
[メディアエクスペリエンスポリシエンジンを備えたエンターテインメントサーバおよびホームネットワークデバイス]
図3は、1つまたは複数のエンターテインメントサーバ112から1つまたは複数のホームネットワークデバイス122へメディアコンテンツを配信するのに適した例示的アーキテクチャ300を示す。図3において、メディアエクスペリエンスポリシエンジン120は、エンターテインメントサーバ112上に存在するものとして例示されている。ただし上記のように、メディアエクスペリエンスポリシエンジン120はエンターテインメントサーバ112上にホストされる必要はない。例えば、メディアエクスペリエンスポリシエンジン120は、メディアコンテンツがソース(例えばインターネット118、ケーブル114、衛星116、アンテナ等)からホームネットワークデバイス122に伝達される途中の経路に通信可能に接続されたセットトップボックス等の電子デバイスや記憶媒体上にホストされることも可能である。なお、メディアエクスペリエンスポリシエンジン120は、ネットワーク124を通じて接続されるホームネットワークデバイス122のようなデバイスへ機能プログラムコードを配信してもよい。このプログラムコードは、メディアエクスペリエンスポリシエンジン120が自己の機能を実行するのを支援するように構成され得る。
上記のように、エンターテインメントサーバ112は、例えばサーバ、デスクトップPC、ノートブック型やポータブル型のコンピュータ、ワークステーション、メインフレームコンピュータ、インターネット機器、セットトップボックス、およびそれらの組合せ等、さまざまな従来型のコンピューティングデバイスのいずれかとして実現することが可能であり、これは蓄積された、あるいは生のメディアコンテンツをホームネットワークデバイス122のようなクライアントデバイスへ配信するように構成可能である。
エンターテインメントサーバ112は、1つまたは複数のチューナ302、1つまたは複数のプロセッサ304、コンテンツストレージ306、メモリ308、および1つまたは複数のネットワークインタフェース310を含み得る。チューナ302は、ケーブル114、衛星116、アンテナ、あるいはインターネット118のようなソース経由でメディアコンテンツを受信するように構成され得る。メディアコンテンツは、ディジタル形式で受信されてもよいし、アナログ形式で受信され、1つまたは複数のチューナ302のいずれかで、あるいはエンターテインメントサーバ112上に存在する1つまたは複数のマイクロプロセッサ304によって、ディジタル形式に変換されてもよい。処理され、あるいは(別のソースから)受信されたメディアコンテンツは、コンテンツストレージ306に蓄積されてもよい。図3は、コンテンツストレージ306をメモリ308とは別個のものとして示しているが、コンテンツストレージ306はメモリ308の一部であってもよいことはもちろんである。
ネットワークインタフェース310は、ネットワーク124に通信可能に接続された多数のデバイス間でエンターテインメントサーバ112がコマンドおよびメディアコンテンツを送受信することを可能にするものであればよい。例えば、エンターテインメントサーバ112およびホームネットワークデバイス122の両方がネットワーク124に接続されている場合、ネットワークインタフェース310を用いることで、エンターテインメントサーバ112からネットワーク124を通じてホームネットワークデバイス122へ、メディアトランスポート機能(すなわち、ホームネットワークデバイス122がメディアコンテンツをレンダリングし、ユーザに一時停止、再生等の機能を提供することができる)とリアルタイムの関係で、ライブHDテレビコンテンツ等のコンテンツを配信することができる。また、エンターテインメントサーバ112は、ネットワーク124を通じて相互にメディアコンテンツを配信することができる。
1つのエンターテインメントサーバ112上で、またはそれを通じて、利用可能なメディアコンテンツに対する、ホームネットワークデバイス122や他のエンターテインメントサーバ112からの要求は、ホームネットワークデバイス122や他のエンターテインメントサーバ112からネットワーク124経由で、そのエンターテインメントサーバ112へルーティングされ得る。一般に、ネットワーク124は、さまざまな従来型のネットワークプロトコル(公開および非公開のプロトコルを含む)のいずれかを用いた、さまざまな従来型のネットワークのトポロジおよびタイプ(光、有線、および無線ネットワークを含む)のいずれかを表すことを意図している。上記のように、ネットワーク124は、例えばホームネットワーク、企業内ネットワーク、インターネット、あるいはIEEE1394を含むとともに、1つまたは複数のローカルエリアネットワーク(LAN)や広域ネットワーク(WAN)の少なくとも一部を含むと考えられる。
エンターテインメントサーバ112は、ホームネットワークデバイス122や他のエンターテインメントサーバ112へ配信するために利用可能な、オーディオ、ビデオ、テキスト、イメージ、アニメーション等のコンテンツを含むさまざまなデータやコンテンツを作成することができる。一実施態様では、このコンテンツは、エンターテインメントサーバ112からホームネットワークデバイス122や他のエンターテインメントサーバ112へストリーミングされ得る。「ストリーミングされる」あるいは「ストリーミングする」という用語は、データがネットワーク124を通じてホームネットワークデバイス122および/または他のエンターテインメントサーバ112に提供され、コンテンツ全体が配信される前にコンテンツの再生を開始することができることを示すために用いられる。コンテンツは、パブリックに利用可能であってもよいし、あるいは制限されていてもよい(例えば、一部のユーザのみに制限する、適正な料金を支払った場合にのみ利用可能とする、特定のネットワークにアクセスできるユーザに制限する等)。また、コンテンツは、「オンデマンド」(例えば、既知のサイズの、あらかじめ録画・録音され蓄積されたコンテンツ)であってもよいし、あるいは、生「放送」(例えば、コンサートを公演中にキャプチャし、キャプチャ後すぐにストリーミングのために利用可能としたディジタル表現のような、既知のサイズのない場合)を含んでもよい。
メモリ308は、プロセッサ304上で実行されるプログラムと、その実行中に生成されるデータとを記憶する。メモリ308としては、揮発性媒体、不揮発性媒体、リムーバブル媒体、および非リムーバブル媒体が挙げられる。なお、揮発性メモリとしてはランダムアクセスメモリ(RAM)のようなコンピュータ可読媒体が挙げられ、不揮発性メモリとしては読み出し専用メモリ(ROM)が挙げられる。起動時等にエンターテインメントサーバ112内の要素間での情報転送を支援する基本ルーチンを含む基本入出力システム(BIOS)もまたROMに記憶しておくことができる。RAMは通常、1つまたは複数のプロセッサ304によって即時アクセス可能な、あるいは現在操作されているデータやプログラムモジュールを含む。
また、エンターテインメントサーバ112は、非リムーバブル不揮発性磁気媒体に読み書きを行うハードディスクドライブ、リムーバブル不揮発性磁気ディスク(例えば「フロッピー(登録商標)ディスク」)に読み書きを行う磁気ディスクドライブ、およびCD−ROM、DVD−ROM等の光媒体のようなリムーバブル不揮発性光ディスクの読み出しおよび/または書き込みを行う光ディスクドライブのような、他のリムーバブル/非リムーバブル、揮発性/不揮発性のコンピュータ記憶媒体も含み得る。ハードディスクドライブ、磁気ディスクドライブ、および光ディスクドライブはそれぞれ、1つまたは複数のデータメディアインタフェースによってシステムバス(さらに詳細には後述)に接続され得る。別法として、ハードディスクドライブ、磁気ディスクドライブ、および光ディスクドライブは1つまたは複数のインタフェースによりシステムバスに接続されてもよい。
ディスクドライブおよび対応するコンピュータ可読媒体は、エンターテインメントサーバ112のためのコンピュータ可読命令、データ構造体、プログラムモジュール、およびその他のデータの不揮発性ストレージを提供する。メモリ308は、上記のようなハードディスク、リムーバブル磁気ディスク、およびリムーバブル光ディスクに加えて、磁気カセット等の磁気ストレージデバイス、フラッシュメモリカード、CD−ROM、ディジタル多用途ディスク(DVD)等の光ストレージ、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、電気的消去可能プログラム可能読み出し専用メモリ(EEPROM)等のような、コンピュータによりアクセス可能なデータを記憶し得る他のタイプのコンピュータ可読媒体も含み得る。
任意個数のプログラムモジュールをメモリ308に記憶することが可能であり、例として、オペレーティングシステム、1つまたは複数のアプリケーションプログラム、他のプログラムモジュール、およびプログラムデータが挙げられる。このようなアプリケーションの1つがメディアエクスペリエンスポリシエンジン120となり得る。これは情報マネージャ312、ポリシエバリュエータ314、およびエンフォースメントモジュール316を含む。メディアエクスペリエンスポリシエンジン120は、プロセッサ304上で実行されることが可能であり、それによりユーザは、エンターテインメントサーバ112およびネットワーク124の実際のリソース利用を監視し、有害なリソース競合が起きている、または起こりそうな高負荷状況に適切に対応することができる。メディアエクスペリエンスポリシエンジン120は、例えばメモリ308に記憶されるソフトウェアモジュールとして実装される以外に、例えばファームウェアとして存在することも可能である。なお、情報マネージャ312、ポリシエバリュエータ314、およびエンフォースメントモジュール316は図3ではメディアエクスペリエンスポリシエンジン120内に存在するものとして示されているが、これらの要素の一部または全部が別個に独立したアプリケーションとして存在してもよい。メディアエクスペリエンスポリシエンジン120の性質および機能については後でさらに説明する。
エンターテインメントサーバ112は、1つまたは複数のチューナ302、1つまたは複数のプロセッサ304、ネットワークインタフェース310、およびメモリ308を相互に通信可能に接続するためのシステムバス(見やすくするため図示せず)も含み得る。システムバスは、さまざまなバスアーキテクチャのいずれかを用いたメモリバスあるいはメモリコントローラ、ペリフェラルバス、アクセラレーテッドグラフィクスポート(AGP)、およびプロセッサバスあるいはローカルバス等の、数種のバス構造のいずれか1つまたは複数を含み得る。
ユーザは、キーボード、ポインティングデバイス(例えば「マウス」)、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、シリアルポート、スキャナ等の入力デバイスを通じてエンターテインメントサーバ112にコマンドおよび情報を入力することができる。これらおよびその他の入力デバイスは、システムバスに接続された入出力(I/O)インタフェースを通じて1つまたは複数のプロセッサ304に接続され得る。また、入力デバイスは、パラレルポート、ゲームポート、ユニバーサルシリアルバス(USB)、またはネットワークインタフェース310に含まれる他の任意の接続のような、他のインタフェースおよびバス構造によって接続されてもよい。
ネットワーク接続環境では、エンターテインメントサーバ112あるいはその部分に関連して上記で図示し説明したプログラムモジュールは、リモートメモリ記憶デバイスに記憶されてもよい。例として、リモートアプリケーションプログラムが、ネットワーク124に通信可能に接続されたリモートコンピュータのメモリデバイス上に存在してもよい。実例として、オペレーティングシステムやメディアエクスペリエンスポリシエンジン120のような、アプリケーションプログラムおよびその他の実行可能プログラムコンポーネントは、エンターテインメントサーバ112の、あるいはリモートコンピュータの異なるストレージコンポーネントに、さまざまな時に存在することが可能であり、エンターテインメントサーバ112の、あるいはリモートコンピュータの少なくとも1つのプロセッサ304のいずれかによって実行され得る。
例示的なホームネットワークデバイス122は、1つまたは複数のプロセッサ318と、メモリ320とを含み得る。メモリ320は、エンターテインメントサーバ112のようなソースから受信されるメディアコンテンツを消費あるいは利用する1つまたは複数のアプリケーション322を含み得る。また、メモリ320は、エンターテインメントサーバ112内のメディアエクスペリエンスポリシエンジン120とともに、あるいはそれなしで、使用されることが可能なクライアント側MEPE202も含み得る。エンターテインメントサーバ112内のエクスペリエンスポリシエンジン120と同様に、クライアント側MEPEもまた、情報マネージャ、ポリシエバリュエータ、およびエンフォースメントモジュール(見やすくするため図示せず)を含み得る。クライアント側MEPE202は、メモリ308に記憶されるソフトウェアモジュールとして実装される以外に、例えばファームウェアとして存在することも可能である。
[メディアエクスペリエンスポリシエンジンの機能]
動作において、ユーザは、ホームネットワーキングデバイス122もしくは他のエンターテインメントサーバ112またはネットワーク124を通じてホストエンターテインメントサーバ112に接続されたデバイスを用いて、1つまたは複数のエンターテインメントサーバ112に対してメディアコンテンツを要求することができる。また、上記のように、複数のキーボード、マウス、モニタ等をエンターテインメントサーバ112につなぐことを可能にするソフトウェアを用いることで、複数のユーザが同じエンターテインメントサーバ112を同時に操作することも可能である。
メディアコンテンツを求める要求は、ライブソース(インターネット118、ケーブル114、アンテナ、あるいは衛星116等)からストリーミングされたHDまたはSDコンテンツを視聴する要求、コンテンツストレージ306に保存されたオーディオコンテンツを受信する要求、メモリ308に保存されたアプリケーションにアクセスし操作する要求等の、多くの形態を取り得る。1つまたは複数のエンターテインメントサーバ112に対してメディアコンテンツを求める要求を行うユーザが増加し、あるいは既存のユーザの要求が増大しより多くの処理能力およびネットワーク容量を必要とするようになると、それらの要求が、1つまたは複数のエンターテインメントサーバ112およびネットワーク124の利用可能なリソースを上回るおそれがある。例えば、ネットワーク124が1チャネルのHDコンテンツをホームネットワークデバイス122にストリーミングする容量しか有していない場合に、2つのチャネルが要求されれば、ネットワーク124は過負荷となる。これが起きると、予期しない、望ましくない挙動の結果、エンターテインメントサーバ112、ネットワーク124、およびホームネットワークデバイスには、ユーザエクスペリエンスが偶然的に劣化したり、1以上のユーザがエンターテインメントサーバ112からコンテンツを受信することが偶然的に排除されたりといった混乱が生じることがある。
メディアエクスペリエンスポリシエンジン120、クライアント側MEPE202、および独立型メディアエクスペリエンスポリシエンジン204は、有害なリソース競合を避けるために、目標ポリシに従って1つまたは複数のサーバ112およびネットワーク124のリソースを適応的に管理することにより、ユーザエクスペリエンスの混乱を引き起こす可能性のあるこのような予期しない、望ましくない挙動を防ぐべく存在する。以下でさらに詳細に説明するように、目標ポリシは、リソース競合に際してどのくらい確実にユーザエクスペリエンスを維持すべきかを指示する。
[情報マネージャ]
1つまたは複数のエンターテインメントサーバ112がユーザへメディアコンテンツを配信している間に、メディアエクスペリエンスポリシエンジン120内の情報マネージャ312は、例示的アーキテクチャ300内の実際のリソース利用を能動的に監視する。情報マネージャ312によって監視されるリソースとしては、例えば、ユーザがメディアコンテンツを求めている要求先の1つまたは複数のエンターテインメントサーバ112およびネットワークデバイス122についてのCPU使用、メモリ使用、(I/O)インタフェース使用およびハードディスク使用が挙げられる。また、ネットワーク124の使用も、情報マネージャ312によって監視され得る。
情報マネージャ312によって収集される使用データは、合計でもよいし、特定のデバイスあるいはユーザごとのデータを含んでもよい。一実施態様として、情報マネージャ312は、ネットワーク124の総使用と、特定のユーザあるいはデバイスの要求によって生じたネットワーク124の総使用とを調べるものとすることができる。同様にして、総使用や、特定のユーザあるいはデバイスによって生じた使用を表すデータは、エンターテインメントサーバ112およびホームネットワークデバイス122に関するCPU使用、メモリ使用、(I/O)インタフェース使用、およびハードディスク使用について収集することができる。
[ポリシエバリュエータ]
次に、情報マネージャ312によって収集された使用情報について、リソース競合問題があるかどうか検査することが可能である。これはポリシエバリュエータ314によって行うことが可能である。ポリシエバリュエータ314は、情報マネージャ312によって収集された使用データを受け取り、それを全利用可能リソースと比較することができる。個々のポリシは、ネットワークのリソースが競合状態に達した時にネットワーク124上の異なるユーザの個々のユーザエクスペリエンスがどのように影響を受けるかを規定することができる。例えば、ネットワーク124の総使用に関して情報マネージャ312によって収集されたデータを、ネットワーク124の全利用可能容量と照らし合わせることにより、ネットワーク124が飽和に近いかどうかを調べることができる。同様にして、エンターテインメントサーバ112について(およびネットワークデバイス122について)、CPU、メモリ、(I/O)インタフェース、およびハードディスクが過飽和になるおそれがあるかどうかを判断するために、CPU、メモリ、(I/O)インタフェース、およびハードディスクのリソース競合をポリシエバリュエータ314によって分析することが可能である。
衝突が存在せず、アーキテクチャ300のいずれのリソースにも過飽和のおそれがない場合、介入は不要である。しかし、いずれかのリソースが飽和に近いと判明した場合、ポリシエバリュエータ314は、アーキテクチャ300の現在の状態が目標ポリシによって規定される状態に適合するかどうかを判断するために、目標ポリシに照らしてアーキテクチャ300の現在の状態をチェックすることができる。
ポリシエバリュエータ314によって用いられる飽和限界自体をユーザが設定、あるいは再設定することが可能である。例えば、飽和を、エンターテインメントサーバ112のCPUの全容量の80%と定義してもよい。その場合、エンターテインメントサーバ112のCPUの容量の80%が使用されている時、ポリシエバリュエータ314は、CPUが飽和していると認識することになる。このように飽和限界を100%よりも低く設定することで、エンターテインメントサーバ112やホームネットワークデバイス122が申し込み超過であるような状況に達することが避けられる。
また、目標ポリシ自体が、ユーザによって事前に決定あるいは事前に入力されたり、アーキテクチャ300の動作中に設定・再設定されてもよい。一例示的実施態様として、種々の可能な所定の目標ポリシが、製造元からユーザまでの流通網において、製造元あるいは他の事業体によって、エンターテインメントサーバ112あるいはホームネットワークデバイス122にロードされてもよい。その場合、ユーザは、事前に決められた可能なオプションのリストから選択することで、ユーザ自身の必要性と優先度に最もふさわしい所定の目標ポリシをアクティブにすることができる。ユーザにとって利用可能な、事前に決められたオプションおよび所定の目標ポリシは、分かりやすい「プレイン・イングリッシュ」(すなわち、非専門ユーザが理解可能な言葉)で提示され得る。
上記のように、ポリシは、リソース競合に際してどのくらい確実にユーザエクスペリエンスを維持すべきかを指示する。例えば、目標ポリシは、アーキテクチャ300の(時間的に)最初のユーザに対して完全な、あるいは高品質のエクスペリエンスを規定する一方、その後のユーザのエクスペリエンスは劣化させてもよい。このような目標ポリシの場合、サービスを利用するとリソース競合になってしまうような最後のユーザに対し、サービスを拒否する可能性がある。
あるいは、別の目標ポリシとして、優先度の高いユーザ(例えば親あるいはエンターテインメントサーバ112の所有者)に対して完全な、あるいは高品質のエクスペリエンスを規定し、それよりも優先度の低いユーザ(例えば子供およびエンターテインメントサーバ112の非所有者)のエクスペリエンスは劣化させてもよい。このようなポリシの場合、サービスを利用するとリソース競合になってしまうような最低優先度のユーザに対し、サービスを拒否する可能性がある。
別の例として、目標ポリシは、最高画質のディスプレイ(例えばHDTVモニタ)に対して完全な、あるいは高品質のユーザエクスペリエンスを規定し、それよりも低い画質のディスプレイ(例えばSDTVモニタ)のエクスペリエンスは劣化させてもよい。あるいは、目標ポリシは、HDコンテンツをHDディスプレイのみに配信し、SDコンテンツを他のすべてのディスプレイに配信するように規定することも可能である。
また、目標ポリシは、すべてのユーザエクスペリエンスの劣化が等しくなるように規定して、全ユーザが、公平に、アーキテクチャ300のリソースを共有するとともに、アーキテクチャ300のリソースの劣化をも共有するようにしてもよい。また、目標ポリシは、1以上の優先ユーザが、より低い優先度のユーザの運命を決定することができるようにしてもよい。このような場合、それらの低優先度のユーザと、リソース競合問題を是正するためにとり得るアクションとを列挙したプロンプトを、その1以上の優先ユーザに提示することができる。そして、その1以上の高優先度ユーザは、自己の選択によって応答することができる。例えば、ある高優先度ユーザが、居間104のメインTV106でメディアストリームを視聴しようとしているが、寝室102のセカンダリTV108でメディアコンテンツストリームを受信しているのを切り忘れたという状況を考える。後に、リソース競合が生じた場合、この高優先度ユーザに対して、セカンダリTV108へのストリーミングを停止するオプションを示すプロンプトをメインTV106に提示することができる。
また、上記のすべての目標ポリシは、大口ユーザに不利益や制約を課する規定を含んでもよい。例えば、ポリシエバリュエータ314は、使用データにおいて、アーキテクチャ300のリソースのうち不相応な割合を消費するユーザあるいはデバイスがあるかどうかを検査することができる。このようなユーザあるいはデバイスが見つかった場合、それらは、ユーザエクスペリエンスの劣化や、アーキテクチャ300のリソースのさらなる使用からの排除等の特別な扱いを受けるようにすることができる。
[エンフォースメントモジュール]
情報マネージャ312によって収集された情報においてリソース競合があるかどうかを検査し、ポリシエバリュエータ314によりアーキテクチャ300の現在の状態を目標ポリシに照らして検討した後、エンフォースメントモジュール316に制御が移り、目標ポリシがすべてのユーザおよびデバイスにわたって確実に実施されるようにする。
エンフォースメントモジュール316によるエンフォースメントは、対話的および非対話的の2種類に大別することができる。エンフォースメントモジュール316がどのような形態のエンフォースメントによるかは、目標ポリシ、事前に入力されたコンピュータ設定、あるいはユーザプロンプトから受け取った応答によって規定され得る。
対話的エンフォースメントが指定された場合、エンフォースメントモジュール316は、リソース競合が存在することを1以上のユーザに通知して、その状況を改善するためのオプションを提示することができる。通知およびオプションはいずれも、分かりやすい「プレイン・イングリッシュ」(すなわち、非専門ユーザが理解可能な言葉)でユーザに提示され得る。例えば、ネットワーク124の使用が高すぎる場合、エンフォースメントモジュール316は、1つまたは複数のオプションを1以上のユーザに提示することができる。一実施態様として、エンフォースメントモジュール316は、1以上のユーザに対して、TVを視聴する代わりに音楽を聴くというオプションを提示してもよい。これは、オーディオコンテンツの配信が、オーディオ・ビデオコンテンツの配信よりも少ない帯域しか消費しないからである。また、エンフォースメントモジュール316は、ネットワーク使用を減少させることにより、関連するネットワークのリソース競合問題を改善するために、HDフィードからSDフィードへ(例えばHDTVチャネルからSDTVチャネルへ)の切替を1以上のユーザに指示することもできる。
別の可能な実施態様として、エンフォースメントモジュール316は、1以上のユーザに対して、他のユーザと共有されたメディアエクスペリエンスに加わる(ユニキャストに対するマルチキャスト)ように促すプロンプトを提示することができる。また、エンフォースメントモジュール316は、1以上のユーザに対して、遅延再生モードに切り替えるように促すプロンプトを提示することができる。このような選択をすれば、1つまたは複数のエンターテインメントサーバ112は、1以上のユーザに対して再生を行う前に、非リアルタイムでメディアをダウンロードしキャッシュすることができる。また、エンフォースメントモジュール316は、1以上のユーザに配信されるメディアコンテンツのビットレートをトランスレータ/トランスコーダの利用により低減する選択肢を、その1以上のユーザに与えることができる。
さらに、エンフォースメントモジュール316は、(ソースがリアルタイムでエンコードされている場合)メディアエンコーダビットレートを低減する選択肢を1以上のユーザに提供することができる。さらに、エンフォースメントモジュール316は、マルチビットレート/マルチフォーマットのメディアファイルにおいて、異なるビットレートおよび/またはフォーマットに切り替える選択肢を1以上のユーザに提供することができる。
さらに別の例として、エンフォースメントモジュール316は、ネットワーク優先制御(例えばWiFiマルチメディア)により、最重要のストリームが劣化しないことを保証する(これは言い換えると、より重要性の低いストリームが劣化し得ることを意味する)ことを、1以上のユーザが選択できるようにすることが可能である。
同様に、1つまたは複数のエンターテインメントサーバ112やホームネットワークデバイス122内のメモリ308、320の使用が高すぎる場合、エンフォースメントモジュール316は、メモリ使用を低下させるように設計された1つまたは複数のオプションを1以上のユーザに提示することができる。一例示的実施態様として、エンフォースメントモジュール316は、1以上のユーザに対して、ディジタル著作権管理(DRM)保護のかかっていないメディアコンテンツの視聴に切り替えるオプションを提示してもよい。このような切替としては、テレビチャネルを、Home Box Office(登録商標) TVチャネルのような有料サイトから、American Broadcasting Company(ABC) TVチャネルのような公開で利用可能なチャネルに切り替える場合が挙げられる。このアクションは、1つまたは複数のエンターテインメントサーバ112およびホームネットワークデバイス122のメモリ308、320上に暗号化/復号化やポリシマネージャのコンポーネントをロードするのを不要にすることによって、メモリ要求を下げることができる。
また、エンフォースメントモジュール316は、1以上のユーザに対して、使用していないコンポーネントをアンロードすることを考慮するように促すプロンプトを提示することも可能である。この一例として、1以上のユーザのうちの少なくとも1ユーザを別のエンターテインメントサーバ112に移すことで、当該少なくとも1ユーザの移動元のエンターテインメントサーバ112はユーザがいなくなるゆえ、シャットダウンさせることができる場合が挙げられる。
別の例として、エンフォースメントモジュール316は、1以上のユーザに対して、その1以上のユーザのエクスペリエンスを切り替えることを考慮するように促すプロンプトを提示することも可能である。例えば、エンフォースメントモジュール316は、UIエクスペリエンス(それが1つまたは複数のエンターテインメントサーバ112あるいはホームネットワークデバイス122から駆動される場合)の忠実度を、リッチなエクスペリエンスから平坦なエクスペリエンスに低下させることができる。
エンフォースメントモジュール316は、1つまたは複数のエンターテインメントサーバ112またはホームネットワークデバイス122上のCPU使用が高すぎると判断した場合、CPU使用を減少させるための適切なアクションをとるように促すプロンプトを1以上のユーザに提示してもよい。例えば、エンフォースメントモジュール316は、DRMコンテンツに関連する暗号化/復号化およびポリシマネージャのオーバーヘッドをなくすために、DRM保護のかかっていないメディアコンテンツの視聴に切り替えることを促すプロンプトを1以上のユーザに提示してもよい。同様に、エンフォースメントモジュール316は、HDフィードからSDフィードへ(例えばHDTVチャネルからSDTVチャネルへ)の切替を促すプロンプトを1以上のユーザに提示してもよい。
エンフォースメントモジュール316は、1つまたは複数のエンターテインメントサーバ112またはホームネットワークデバイス122上のハードディスク使用が高すぎると判断した場合、ハードディスク使用を減少させるための適切なアクションをとるように促すプロンプトを1以上のユーザに提示してもよい。例えば、エンフォースメントモジュール316は、より低帯域のストリームへの切替(例えば、テレビの代わりに音楽、HDTVの代わりにSDTV)を促すプロンプトを1以上のユーザに提示してもよい。
ボトルネックが例えば(I/O)インタフェースで起きている場合、使用可能なもう1つのオプションとして、複数のエンターテインメントサーバ112あるいはホームネットワークデバイス122の間での負荷分散の利用がある。このような場合、エンフォースメントモジュール316は、エンターテインメントサーバ112やネットワークデバイス122のうちのあるものから別のものへ負荷を動的に移転させるために、独立型メディアエクスペリエンスポリシエンジン204や、エンターテインメントサーバ112およびホームネットワークデバイス122のメディアエクスペリエンスポリシエンジン120、202を協調させるオプションを1以上のユーザに提示してもよい。別法として、エンターテインメントサーバ112やホームネットワークデバイス122のうちの1つにある1つの「主」ポリシエンジン120、202(あるいは独立型メディアエクスペリエンスポリシエンジン204)がすべてのPC/デバイスからフィードバックを収集し、それに応答して、ボトルネックを減らし、最終的に改善することも可能である。
一実施態様では、ユーザエクスペリエンスが目標ポリシの規定によって影響を受けることになるユーザのみに、エンフォースメントオプションを提示する。別の実施態様では、エクスペリエンスが影響を受けないユーザにも、可能性のあるリソース競合問題およびとられる可能性のあるアクションに関連する情報を提示してもよい。
非対話的エンフォースメントの場合、ポリシエンフォースメントモジュール316は、ユーザにプロンプトを提示したり、近々実施される変更について警告を出したりせずに、環境300に対する変更を実施することができる。別法として、ポリシエンフォースメントモジュール316は、影響を受けるユーザ、影響を受けないユーザ、またはその一部に対して、今後の変更の理由あるいは説明を表示してもよい。このような場合、説明は、分かりやすい「プレイン・イングリッシュ」(すなわち、非専門ユーザが理解可能な言葉)でユーザに提示され得る。
なお、非対話的エンフォースメントを用いてエンフォースメント措置を開始するためにポリシエンフォースメントモジュール316がとり得るアクションは、対話的エンフォースメントに関連して上記で説明した措置もすべて含み得る。
また、上記のもの以外に、他の技法も使用可能であることは言うまでもない。また、上記の技法を適宜組み合わせることにより、エンフォースメントモジュール316は、対話的・非対話的の両方のエンフォースメント技法を組み合わせることを含め、複数の手法を一緒に用いてもよい。
なお、言うまでもなく、上記の多くの変更は必然的に犠牲を伴う。例えば、高ビットレートのストリームが動的にトランスレート/トランスコードされると、ユーザエクスペリエンスの質が低下し、エンターテインメントサーバ112やホームネットワークデバイス122上でのCPU使用が増大する結果となる。そこで、ポリシエンジン120は、多変数評価法を用いてオプションを評価してもよい。例えば、ポリシエンジン120は、最適のオプション(すなわち、さらに高い優先度のボトルネックを生じないオプション)を見出すために、最高優先度のボトルネックを解消するようなすべてのオプションを特定し、オプションを順位付けしてもよい。どのリソースも酷使されない最適なオプションが特定された場合、ポリシエンジン120はそのオプションを実施すればよい。
[メディアエクスペリエンスポリシ順守方法]
エンターテインメントサーバ112およびホームネットワークデバイス122の動的負荷分散を扱う別の態様を図4に示す。図4は、メディアエクスペリエンスポリシエンジン120によって実行される例示的方法400を示している。理解を容易にするため、方法400は、図4において、独立したブロックとして表現された別々のステップとして描かれている。しかし、これらの別々に描かれたステップは、その実行において必ずしも順序に依存するものと解釈してはならない。また、説明の目的上、方法400は、図1〜図3における諸要素を参照して説明される。
ブロック402で、方法400は、メディアコンテンツ配信リソースの状態を継続的に監視する。これは、例えば、ユーザがメディアコンテンツを求めている要求先の1つまたは複数のエンターテインメントサーバ112およびネットワークデバイス122について、CPU使用、メモリ使用、(I/O)インタフェース使用およびハードディスク使用等のリソース使用を継続的に監視することによって遂行される(ブロック404)。一例示的実施態様として、リソースの監視は情報マネージャ312によって実行される。収集される使用データは、合計でもよいし、特定のデバイス122あるいはユーザごとのデータを含んでもよい。一実施態様として、方法400は、ネットワーク124の総使用と、特定のユーザ、ホームネットワークデバイス122あるいはエンターテインメントサーバ112の要求によって生じたネットワーク124の総使用とを調べるものとすることができる。同様にして、総使用や、特定のユーザあるいはデバイスによって生じた使用を表すデータは、エンターテインメントサーバ112およびホームネットワークデバイス122に関するCPU使用、メモリ使用、(I/O)インタフェース使用、およびハードディスク使用について収集することができる。
収集された使用情報について、方法400によって、リソース競合問題があるかどうか検査することが可能である(ブロック406)。一例示的実施態様として、これはポリシエバリュエータ314によって行われる。収集された使用データは、全利用可能リソースデータと比較することができる。例えば、ネットワーク124の総使用に関して収集されたデータを、ネットワーク124の全利用可能容量と照らし合わせることにより、ネットワーク124が飽和に近いかどうかを調べることができる。同様にして、エンターテインメントサーバ112について(およびネットワークデバイス122について)、CPU、メモリ、(I/O)インタフェース、およびハードディスクが過飽和になるおそれがあるかどうかを判断するために、CPU、メモリ、(I/O)インタフェース、およびハードディスクのリソース競合を分析することが可能である。
衝突が存在せず、アーキテクチャ300のいずれのリソースにも過飽和のおそれがない場合、介入は不要であり、方法400はブロック402に戻る(すなわち、ブロック406からの「NO」の分岐)。
しかし一方、いずれかのリソースが飽和に近いと判明した場合(すなわち、ブロック406からの「YES」の分岐)、方法400は、アーキテクチャ300の現在の状態が目標ポリシによって規定される状態に適合するかどうかを判断するために、アーキテクチャ300の現在の状態を目標ポリシと比較する(ブロック408)。目標ポリシは、例えば、ユーザによって事前に入力されること、製造元や再販業者によって事前に設定されること、あるいはアーキテクチャ300の動作中に設定・再設定されることが可能である。一実施態様として、目標ポリシは、アーキテクチャ300の(時間的に)最初のユーザに対して完全な、あるいは高品質のエクスペリエンスを規定する一方、その後のユーザのエクスペリエンスは劣化させてもよい。このような目標ポリシの場合、サービスを利用するとリソース競合になってしまうような最後のユーザに対し、サービスを拒否する可能性がある。
別の可能な実施態様として、目標ポリシは、主要なユーザ(例えば親あるいはエンターテインメントサーバ112の所有者)に対して完全な、あるいは高品質のエクスペリエンスを規定し、それよりも優先度の低いユーザ(例えば子供およびエンターテインメントサーバ112の非所有者)のエクスペリエンスは劣化させてもよい。このようなポリシの場合、サービスを利用するとリソース競合になってしまうような最低優先度のユーザに対し、サービスを拒否する可能性がある。
さらに別の可能な実施態様として、目標ポリシは、最高画質のディスプレイ(例えばHDTVモニタ)に対して完全な、あるいは高品質のユーザエクスペリエンスを規定し、それよりも低い画質のディスプレイ(例えばSDTVモニタ)のエクスペリエンスは劣化させてもよい。あるいは、ポリシは、HDコンテンツをHDディスプレイのみに配信し、SDコンテンツを他のすべてのディスプレイに配信するように規定することも可能である。
さらに別の可能な実施態様として、目標ポリシは、すべてのユーザエクスペリエンスの劣化が等しくなるように規定して、全ユーザが、公平に、アーキテクチャ300のリソースを共有するとともに、アーキテクチャ300のリソースの劣化をも共有するようにしてもよい。
上記のすべての実施態様において、目標ポリシは、大口ユーザに不利益や制約を課する規定を含んでもよい。例えば、使用データにおいて、アーキテクチャ300のリソースのうち不相応な割合を消費するユーザあるいはデバイスがあるかどうかを検査することができる。このようなユーザあるいはデバイスが見つかった場合、それらは、ユーザエクスペリエンスの劣化や、アーキテクチャ300のリソースのさらなる使用からの排除等の特別な扱いを受けるようにすることができる。
ブロック408で、アーキテクチャ300の現在の状態が目標ポリシに準拠していると判明した場合、介入は不要であり、方法400はブロック402に戻る(すなわち、ブロック408からの「YES」の分岐)。これに対して、ブロック408で、アーキテクチャ300の現在の状態が目標ポリシに準拠していないと判明した場合(すなわち、ブロック406からの「NO」の分岐)、ポリシエンフォースメントが行われる。
方法400は、どのような形態のエンフォースメントが目標ポリシ、事前に入力されたコンピュータ設定、あるいはユーザプロンプトから受け取った応答によって規定されるかに応じて、対話的エンフォースメント(ブロック410)または非対話的エンフォースメント(ブロック412)を課すことができる。
対話的エンフォースメントの下で、方法400は、リソース競合が存在することを1以上のユーザに通知して、その状況を改善するためのオプションを提示することができる。通知を受けるユーザとしては、目標ポリシのエンフォースメントにより生じる変更によってユーザエクスペリエンスが影響を受ける可能性のあるユーザであってもよいし、あるいは、全ユーザまたはその一部が通知を受けてもよい。
一例示的実施態様として、ネットワーク124の使用が高すぎる場合、方法400は、ネットワーク使用を減少させるために、いくつかのオプションのうちの1つまたは複数のオプションを1以上のユーザに提示することができる。そのようなオプションとしては、TVを視聴する代わりに音楽を聴く、HDTVチャネルからSDTVチャネルに切り替える、等が挙げられる。CPU、メモリ、およびハードディスクの使用や、I/Oインタフェースのボトルネックから生じるリソース競合問題を改善するためにも、同様のプロンプトを提示することができる。
非対話的エンフォースメント(ブロック412)が方法400によって行われる場合には、ユーザにプロンプトを提示したり、近々行われる変更について警告を出したりせずに、環境300に対する変更が行われる。別法として、影響を受けるユーザ、影響を受けないユーザ、またはその一部に対して、今後の変更の理由あるいは説明を表示してもよい。
例えば、ネットワーク使用が高すぎると判断された場合、非対話的エンフォースメントの一例示的実施態様では、1以上のユーザへストリーミングされているメディアコンテンツのメディアビットレートをトランスレータ/トランスコーダの利用により低減させてもよい。CPU、メモリ、およびハードディスクの使用や、I/Oインタフェースのボトルネックから生じるリソース競合問題を改善するためにも、同様のアクションをとることができる。
なお、上記の例以外に、他の技法も使用可能であることはもちろんであり、例えば、高い優先度の1以上のユーザにプロンプトを提示して、当該ユーザが、より低い優先度のユーザの運命を決定することができるようにしてもよい。また、上記の技法を適宜組み合わせることにより、対話的・非対話的の両方のエンフォースメント技法を組み合わせることを含め、複数の手法を一緒に用いてもよい。
一例示的実施態様として、エンフォースメントモジュール316は、対話的・非対話的の両方のエンフォースメント技法を実行するために用いることができる。
なお、言うまでもなく、上記のほとんどの変更は必然的に犠牲を伴う。例えば、高ビットレートのストリームが動的にトランスレート/トランスコードされると、ユーザエクスペリエンスの質が低下し、エンターテインメントサーバやホームネットワークデバイス122でのCPU使用が増大する。そこで、多変数評価法を用いてオプションを評価することによってエンフォースメントを決定してもよい。例えば、最適のオプション(すなわち、さらに高い優先度のボトルネックを生じないオプション)に基づいて、最高優先度のボトルネックを解消するために利用可能なすべてのオプションを順位付けしてもよい。どのリソースも酷使されない最適なオプションが特定された場合、方法400によってそのオプションを実施すればよい。
ポリシエンフォースメント(ブロック410、412)の後、方法400はブロック402に戻り、環境300のリソースの継続的監視を再開する。
[ポリシ評価方法]
目標ポリシを評価する別の態様を図5に示す。図5は、エンターテインメントサーバ112に存在するポリシエバリュエータ314によって実行される例示的方法500を示している。理解を容易にするため、方法500は、図5において、独立したブロックとして表現された別々のステップとして描かれている。しかし、これらの別々に描かれたステップは、その実行において必ずしも順序に依存するものと解釈してはならない。また、説明の目的上、方法500は、図1〜図3における諸要素を参照して説明される。
アーキテクチャ300のリソースの使用に関する使用情報が収集された後、それを分析して、リソース競合問題が存在するかどうかを調べることができる(ブロック502)。一例示的実施態様として、使用データは情報マネージャ312によって収集される。使用データは、それとアーキテクチャ300内の全利用可能リソースとの比較によって分析することができる。例えば、ネットワーク124の総使用に関して情報マネージャ312によって収集されたデータを、ネットワーク124の全利用可能容量と照らし合わせることにより、ネットワーク124が飽和に近いかどうかを調べることができる。同様にして、エンターテインメントサーバ112について(およびネットワークデバイス122について)、CPU、メモリ、(I/O)インタフェース、およびハードディスクが過飽和になるおそれがあるかどうかを判断するために、CPU、メモリ、(I/O)インタフェース、およびハードディスクのリソース競合を分析することが可能である。
衝突が存在せず、アーキテクチャ300のいずれのリソースにも過飽和のおそれがない場合(すなわち、ブロック504からの「NO」の分岐)、介入は不要であり、方法500はブロック502に戻る。しかし一方、いずれかのリソースが飽和に近いと判明した場合(すなわち、ブロック504からの「YES」の分岐)、方法500は、アーキテクチャ300の現在の状態が目標ポリシの下で規定される状態に適合するかどうかを判断するために、目標ポリシに照らしてアーキテクチャ300の現在の状態をチェックすることができる(ブロック506)。
目標ポリシは、例えば、ユーザによって事前に入力されること、製造元からユーザまでの流通網において製造元あるいは他の事業体によって事前に設定されること、あるいはアーキテクチャ300の動作中に設定・再設定されることが可能である。一実施態様として、目標ポリシは、アーキテクチャ300の(時間的に)最初のユーザに対して完全な、あるいは高品質のエクスペリエンスを規定する一方、その後のユーザのエクスペリエンスは劣化させてもよい。このような目標ポリシの場合、サービスを利用するとリソース競合になってしまうような最後のユーザに対し、サービスを拒否する可能性がある。別の可能な実施態様として、目標ポリシは、主要なユーザ(例えば親あるいはエンターテインメントサーバ112の所有者)に対して完全な、あるいは高品質のエクスペリエンスを規定し、それよりも優先度の低いユーザ(例えば子供およびエンターテインメントサーバ112の非所有者)のエクスペリエンスは劣化させてもよい。このようなポリシの場合、サービスを利用するとリソース競合になってしまうような最低優先度のユーザに対し、サービスを拒否する可能性がある。
さらに別の可能な実施態様として、目標ポリシは、最高画質のディスプレイ(例えばHDTVモニタ)に対して完全な、あるいは高品質のユーザエクスペリエンスを規定し、それよりも低い画質のディスプレイ(例えばSDTVモニタ)のエクスペリエンスは劣化させてもよい。あるいは、ポリシは、HDコンテンツをHDディスプレイのみに配信し、SDコンテンツを他のすべてのディスプレイに配信するように規定することも可能である。
さらに別の可能な実施態様として、目標ポリシは、すべてのユーザエクスペリエンスの劣化が等しくなるように規定して、全ユーザが、公平に、アーキテクチャ300のリソースを共有するとともに、アーキテクチャ300のリソースの劣化をも共有するようにしてもよい。
上記のすべての実施態様において、目標ポリシは、大口ユーザに不利益や制約を課する規定を含んでもよい。例えば、アーキテクチャ300のリソースのうち不相応な割合を消費するユーザあるいはデバイスがあれば、それらは、ユーザエクスペリエンスの劣化や、アーキテクチャ300のリソースのさらなる使用からの排除等の特別な扱いを受けるようにすることができる。
目標ポリシによって規定される目標の結果がアーキテクチャ300の実際の状態に適合するかどうかを調べるために、アーキテクチャ300の状態を目標ポリシと比較することができる。実際の結果が目標の結果に適合する場合(すなわち、ブロック508からの「YES」の分岐)、介入は不要であり、方法500はブロック502に戻る。これに対して、実際の結果が目標の結果に適合しない場合(すなわち、ブロック508からの「NO」の分岐)、介入が必要であり、方法500はブロック510に進み、ポリシエンフォースメントを開始するコマンドが発行される。
[エンフォースメント方法]
目標ポリシを評価する別の態様を図6に示す。図6は、エンターテインメントサーバ112に存在するエンフォースメントモジュール316によって実行される例示的方法600を示している。理解を容易にするため、方法600は、図6において、独立したブロックとして表現された別々のステップとして描かれている。しかし、これらの別々に描かれたステップは、その実行において必ずしも順序に依存するものと解釈してはならない。また、説明の目的上、方法600は、図1〜図3における諸要素を参照して説明される。
アーキテクチャ300の現在の状態が目標ポリシに反していると判明した場合、メディアエクスペリエンスポリシエンジン120、またはそのコンポーネントの1つによって、目標ポリシのエンフォースメントを開始するための命令を発行することができる。方法600は、このコマンドを受け取ると(ブロック602)、対話的または非対話的のエンフォースメント手法を実行すべきかどうかを判断するために、目標ポリシや事前に設定された他の設定を調べ、あるいはユーザにプロンプトを提示することができる(ブロック604)。
対話的手法が希望された場合(すなわち、ブロック604からの「対話」の分岐)、方法600は、続いて、リソース競合を引き起こしているユーザあるいはデバイスの挙動を中断または変更するために、1以上のユーザに1つまたは複数のユーザプロンプトを提示する(ブロック606)。
例えば、ネットワーク124の使用が高すぎる場合、方法600は、1つまたは複数のオプションを有するプロンプトを、1以上のユーザによって使用されているモニタに表示させることができる。一実施態様として、1以上のユーザに対して、TVを視聴する代わりに音楽を聴くというオプションを提示してもよい。これは、オーディオコンテンツの配信が、オーディオ・ビデオコンテンツの配信よりも少ない帯域しか消費しないからである。また、ネットワーク使用を減少させることにより、関連するネットワークのリソース競合問題を改善するために、HDTVチャネルからSDTVチャネルに切り替えるオプションを1以上のユーザに提示してもよい。
別の可能な実施態様として、1以上のユーザに対して、他のユーザと共有されたメディアエクスペリエンスに加わる(ユニキャストに対するマルチキャスト)ように促すプロンプトを提示することができる。また、1以上のユーザに対して、遅延再生モードに切り替えるように促すプロンプトを提示することができる。メディアコンテンツがネットワーク124の外部から来ている場合、このような選択をすれば、1つまたは複数のエンターテインメントサーバ112は、1以上のユーザに対して再生を行う前に、非リアルタイムでメディアコンテンツをダウンロードしキャッシュすることができる。このオプションは、エンターテインメントサーバ112の広域ネットワーク(WAN)リンク上のネットワーク負荷を低減する可能性がある(この場合、WANの帯域幅はネットワーク124の帯域幅と一部共用の可能性もある)。あるいは、メディアコンテンツがすでにネットワーク124に蓄積されている場合、デバイス122はそのメディアコンテンツをダウンロードしキャッシュして、ネットワーク124上のネットワーク負荷を低減することができる。
また、1以上のユーザに配信されるメディアコンテンツのビットレートをトランスレータ/トランスコーダの利用により低減する選択肢を、その1以上のユーザに提示することができる。さらに、(ソースがリアルタイムでエンコードされている場合)メディアエンコーダビットレートを低減するオプションを1以上のユーザに提示することができる。さらに、マルチビットレート/マルチフォーマットのメディアファイルにおいて、異なるビットレートおよび/またはフォーマットに切り替えるオプションを1以上のユーザに提示することができる。さらに別の例として、ネットワーク優先制御(例えばWiFiマルチメディア)により、1つまたは複数のエンターテインメントサーバ112からホームネットワークデバイス122へ配信されるメディアコンテンツのうちで最重要のストリームが劣化しないことを保証する(これは言い換えると、より重要性の低いストリームが劣化し得ることを意味する)オプションを、1以上のユーザに提示することができる。また、UIエクスペリエンス(それが1つまたは複数のエンターテインメントサーバ112あるいはホームネットワークデバイス122から駆動される場合)の忠実度を、リッチなエクスペリエンスから平坦なエクスペリエンスに低下させるように促すプロンプトを、1以上のユーザに提示することができる。
同様に、1つまたは複数のエンターテインメントサーバ112やホームネットワークデバイス122内のメモリ308、320の使用が高すぎる場合、方法600は、メモリ使用を低下させるように設計されたいくつかのオプションのうちの1つまたは複数のオプションを1以上のユーザに提示することができる。一例示的実施態様として、1以上のユーザに対して、ディジタル著作権管理(DRM)保護のかかっていないメディアコンテンツの視聴に切り替えるオプションを提示してもよい。このような切替としては、テレビチャネルを、Home Box Office(登録商標) TVチャネルのような有料チャネルから、American Broadcasting Company のTVチャネルのような公開で利用可能なチャネルに切り替える場合が挙げられる。このアクションは、1つまたは複数のエンターテインメントサーバ112およびホームネットワークデバイス122のメモリ308、320上に暗号化/復号化やポリシマネージャのコンポーネントをロードするのを不要にすることによって、メモリ要求を下げることができる。
1つまたは複数のエンターテインメントサーバ112またはホームネットワークデバイス122上のCPU使用が高すぎる場合、CPU使用を減少させるための適切なアクションをとるように促すプロンプトを1以上のユーザに提示してもよい。例えば、DRMコンテンツに関連する暗号化/復号化およびポリシマネージャのオーバーヘッドをなくすために、DRM保護のかかっていないメディアコンテンツの視聴に切り替えることを促すプロンプトを1以上のユーザに提示してもよい。同様に、HDフィードからSDフィードへ(例えばHDTVチャネルからSDTVチャネルへ)の切替を促すプロンプトを1以上のユーザに提示してもよい。
1つまたは複数のエンターテインメントサーバ112またはホームネットワークデバイス122上のハードディスク使用が高すぎる場合、ハードディスク使用を減少させるための適切なアクションをとるように促すプロンプトを1以上のユーザに提示してもよい。例えば、より低帯域のストリームへの切替(例えば、テレビの代わりに音楽、HDTVの代わりにSDTV)を促すプロンプトを1以上のユーザに提示してもよい。
一実施態様では、ユーザエクスペリエンスが目標ポリシの規定によって影響を受けることになるユーザのみに、エンフォースメントオプションを提示する。しかし、影響を受けないユーザもまた、利用可能な解決法とともにリソース競合問題の通知を受けるようにすることも可能である。
ボトルネックが例えば(I/O)インタフェースで起きている場合、使用可能なもう1つのオプションとして、複数のエンターテインメントサーバ112あるいはホームネットワークデバイス122の間での負荷分散の利用がある。このような場合、独立型メディアエクスペリエンスポリシエンジン204や、エンターテインメントサーバ112およびホームネットワークデバイス122のメディアエクスペリエンスポリシエンジン120、202を協調させ、エンターテインメントサーバ112やネットワークデバイス122のうちのあるものから別のものへ負荷を動的に移転させるように促すプロンプトを、1以上のユーザに提示してもよい。別法として、エンターテインメントサーバ112やホームネットワークデバイス122のうちの1つにある1つの「主」ポリシエンジン120、202(あるいは独立型メディアエクスペリエンスポリシエンジン204)がすべてのエンターテインメントサーバ112およびホームネットワークデバイス122からフィードバックを収集し、それに応答して、ボトルネックを減らし、最終的に改善することも可能である。
これらのプロンプトを提示された1以上のユーザが応答を入力したら(ブロック608)、方法600は、目標ポリシを実施するために変更を開始することができる(ブロック610)。なお、一実施態様として、高い優先度のユーザにプロンプトを提示して、当該ユーザが、より低い優先度のユーザの運命を選択し決定することができるようにすることも可能である。
非対話的エンフォースメントの場合(すなわち、ブロック604からの「非対話」の分岐)、方法600は、続いて、ユーザにプロンプトを提示せずに、環境300に対する変更を実施することができる。方法600は、影響を受けるユーザ、影響を受けないユーザ、またはその一部に対して、変更が行われる前あるいは行われている間に、今後の変更の理由あるいは説明を提示してもよい(ブロック612)が、これは必須ではない。例えば、本方法は、ユーザに警告を出さずに、適切なエンフォースメント措置をただちに開始してもよい(ブロック610)。
なお、非対話的エンフォースメントを用いてエンフォースメント措置を開始するために方法600がとり得るアクションは、対話的エンフォースメントに関連して上記で説明した措置もすべて含み得る。また、非対話的エンフォースメントの一例示的実施態様として、メモリ308、320の使用が1つまたは複数のエンターテインメントサーバ112あるいはホームネットワークデバイス122上で高すぎると判明した場合、使用されていないコンポーネントを自動的にアンロードすることができる。
また、上記のもの以外に、他の技法も使用可能であることは言うまでもない。また、上記の技法を適宜組み合わせることにより、複数の手法を一緒に用いることも可能である。さらに、対話的・非対話的の両方のエンフォースメント技法を組み合わせて用いることも可能である。
なお、言うまでもなく、上記のほとんどの変更は必然的に犠牲を伴う。例えば、高ビットレートのストリームが動的にトランスレート/トランスコードされると、ユーザエクスペリエンスの質が低下し、エンターテインメントサーバやホームネットワークデバイス122上でのCPU使用が増大する。そこで、方法600は、多変数評価法を用いて、可能なエンフォースメントオプションを評価することも可能である。例えば、方法600は、最適のオプション(すなわち、さらに高い優先度のボトルネックを生じないオプション)を見出すために、最高優先度のボトルネックを解消するようなすべてのオプションを特定し、オプションを順位付けしてもよい。どのリソースも酷使されない最適なオプションが特定された場合、そのオプションを実施すればよい。
適切なエンフォースメント措置が実施されたら(ブロック610)、方法600は、1つまたは複数のメディアエクスペリエンスポリシエンジン120、1つまたは複数のクライアント側MEPE202、独立型メディアエクスペリエンスポリシエンジン204、あるいはエンターテインメントサーバ112やホームネットワークデバイス122上の他のアプリケーションに、レポートを発行してもよい。このレポートは、アーキテクチャ300を目標ポリシに合わせるように選択された手続きの完了を報告する(ブロック614)。しかし、このようなレポートの発行は必須ではない。
[結論]
以上、本発明について、構造上の特徴および/または方法上の動作に特有の用語で説明したが、添付の特許請求の範囲において規定される本発明は、上記の具体的な特徴や動作に必ずしも限定されないことはもちろんである。むしろ、それらの具体的な特徴や動作は、請求項に係る発明を実施する例示的形態として開示されたものである。
エンターテインメントサーバ、ホームネットワークデバイス、およびホームテレビを含む例示的なホーム環境を示す。 メディアエクスペリエンスポリシエンジンを用いて複数のホームネットワークデバイスと通信する複数のエンターテインメントサーバからなるシステムを示す。 複数のホームネットワークデバイスと通信可能に接続された複数のエンターテインメントサーバとともに用いられるメディアエクスペリエンスポリシエンジンのブロック図を示す。 ネットワークリソースを継続的に監視しリソース競合問題を動的に解決する方法を示す流れ図である。 目標ポリシに対して現在のネットワークリソース特性を評価するポリシエバリュエータの、方法としての実施態様を示す流れ図である。 ネットワークリソースを目標ポリシに従わせるためにネットワークリソースに対する変更を行うエンフォースメントモジュールの、方法としての実施態様を示す流れ図である。

Claims (20)

  1. メディア配信システムのリソース使用レベルを監視することと、
    リソース使用レベルがリソース競合の可能性を提示しているかどうかを判断することと、
    所定のポリシに従ってメディア配信オプションを変更して、リソース使用を低減し、リソース競合の結果として起こり得るメディアレンダリングの混乱を回避することと
    を備えることを特徴とする方法。
  2. メディア配信システムのリソース使用レベルを監視することは、CPUの使用に関するデータを収集すること、配信システムメモリの使用に関するデータを収集すること、PC上のハードディスクの使用に関するデータを収集すること、I/Oインタフェースの使用に関するデータを収集すること、およびネットワークの使用に関するデータを収集することの少なくとも1つを備えることを特徴とする請求項1に記載の方法。
  3. メディア配信オプションを変更することは、DRM保護のかかったメディアコンテンツの代わりに非DRMメディアコンテンツをレンダリングすることを備えることを特徴とする請求項1に記載の方法。
  4. メディア配信オプションを変更することは、オーディオ/ビデオコンテンツからオーディオコンテンツに切り替えることを備えることを特徴とする請求項1に記載の方法。
  5. メディア配信オプションを変更することは、ストリーミングされたメディアコンテンツを遅延再生のためにダウンロードしキャッシュすることを備えることを特徴とする請求項1に記載の方法。
  6. メディア配信オプションを変更することは、前記リソース競合の可能性をユーザに通知し、前記リソース競合の可能性を解決するための少なくとも1つの手順をユーザに提示し、ユーザの選択した手順を受け取り、前記ユーザの選択した手順を実施することを備えることを特徴とする請求項1に記載の方法。
  7. プレイン・イングリッシュでユーザに提示されたいくつかのオプションのうちから所定のポリシをユーザが選択できるようにすることをさらに備えることを特徴とする請求項1に記載の方法。
  8. メディア配信オプションを変更することは、HDチャネルからSDチャネルに切り替えることを備えることを特徴とする請求項1に記載の方法。
  9. メディア配信システムのリソースの使用に関するデータを収集し、ユーザエクスペリエンスの混乱を防ぐために目標ポリシに従って前記メディア配信システムに命令を発行することによりリソース競合の可能性に対処するように構成されたメディアエクスペリエンスポリシエンジンを備えたことを特徴とするサーバ。
  10. 前記サーバは、ホームPCおよびセットトップボックスのいずれかであることを特徴とする請求項9に記載のサーバ。
  11. 前記目標ポリシは、高優先度のユーザに対して最高品質のユーザエクスペリエンスを維持し、低優先度のユーザに対してユーザエクスペリエンスを劣化させることを規定することを特徴とする請求項9に記載のサーバ。
  12. 前記目標ポリシは、前記メディア配信システムの全ユーザに対してユーザエクスペリエンスの同等の劣化を規定することを特徴とする請求項9に記載のサーバ。
  13. 前記メディアエクスペリエンスポリシエンジンは、オペレーティングシステムに存在することを特徴とする請求項9に記載のサーバ。
  14. コンピュータ可読命令を有するコンピュータ可読記憶媒体であって、実行されると、
    メディア配信システムの現在の状態を監視することと、
    前記現在の状態がリソース競合の可能性を提示しているかどうかを判断することと、
    所定のポリシに従ってメディアコンテンツを配信するための命令を前記メディア配信システムに対して発行して、リソース使用を低減し、メディアレンダリングの混乱を回避することと
    を備える動作を行うことを特徴とするコンピュータ可読記憶媒体。
  15. 請求項14のコンピュータ可読命令を利用して、少なくとも1ユーザへのメディアコンテンツの配信を可能にする少なくとも1つのサーバを備えたことを特徴とするメディア配信システム。
  16. メディア配信システムの現在の状態を監視することは、CPUの総使用、指定されたユーザによるCPUの総使用、指定されたデバイスによるCPUの総使用、ネットワークの総使用、指定されたユーザによるネットワークの総使用、指定されたデバイスによるネットワークの総使用、コンピュータのメモリの総使用、指定されたユーザによるコンピュータのメモリの総使用、指定されたデバイスによるコンピュータのメモリの総使用、コンピュータのハードディスクの総使用、指定されたユーザによるコンピュータのハードディスクの総使用、指定されたデバイスによるコンピュータのハードディスクの総使用、I/Oインタフェースハードディスクの総使用、指定されたユーザによるI/Oインタフェースの総使用、および指定されたデバイスによるI/Oインタフェースの総使用の少なくとも1つに関するデータを収集することを備えることを特徴とする請求項14に記載のコンピュータ可読記憶媒体。
  17. 命令を前記メディア配信システムに対して発行することは、トランスレータ/トランスコーダの利用によりネットワーク上のメディアビットレートを低減する命令を発行することを備えることを特徴とする請求項14に記載のコンピュータ可読記憶媒体。
  18. 前記所定のポリシは、時間的に最初のユーザに対して最高品質のユーザエクスペリエンスを維持し、時間的により後のユーザのユーザエクスペリエンスを劣化させる命令を備えることを特徴とする請求項14に記載のコンピュータ可読記憶媒体。
  19. 請求項14のコンピュータ可読命令を備えたことを特徴とするオペレーティングシステム。
  20. プロセッサと、請求項14のコンピュータ可読記憶媒体とを備えたエンターテインメントデバイスであって、前記コンピュータ可読命令は、前記プロセッサ上で実行されることを特徴とするエンターテインメントデバイス。
JP2008523911A 2005-07-28 2006-07-11 マルチユーザコンピューティングシステムにおけるユーザエクスペリエンスの動的バランシング Expired - Fee Related JP4885219B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/191,786 US7664856B2 (en) 2005-07-28 2005-07-28 Dynamically balancing user experiences in a multi-user computing system
US11/191,786 2005-07-28
PCT/US2006/026956 WO2007018919A2 (en) 2005-07-28 2006-07-11 Dynamically balancing user experiences in a multi-user computing system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011245496A Division JP2012074054A (ja) 2005-07-28 2011-11-09 マルチユーザコンピューティングシステムにおけるユーザエクスペリエンスの動的バランシング

Publications (3)

Publication Number Publication Date
JP2009503680A true JP2009503680A (ja) 2009-01-29
JP2009503680A5 JP2009503680A5 (ja) 2009-09-03
JP4885219B2 JP4885219B2 (ja) 2012-02-29

Family

ID=37695670

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2008523911A Expired - Fee Related JP4885219B2 (ja) 2005-07-28 2006-07-11 マルチユーザコンピューティングシステムにおけるユーザエクスペリエンスの動的バランシング
JP2011245496A Withdrawn JP2012074054A (ja) 2005-07-28 2011-11-09 マルチユーザコンピューティングシステムにおけるユーザエクスペリエンスの動的バランシング

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2011245496A Withdrawn JP2012074054A (ja) 2005-07-28 2011-11-09 マルチユーザコンピューティングシステムにおけるユーザエクスペリエンスの動的バランシング

Country Status (6)

Country Link
US (2) US7664856B2 (ja)
EP (1) EP1907942B1 (ja)
JP (2) JP4885219B2 (ja)
KR (1) KR20080038314A (ja)
CN (1) CN101228519B (ja)
WO (1) WO2007018919A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011519492A (ja) * 2008-02-29 2011-07-07 トムソン ライセンシング 負荷分散信号分配を行う方法および装置

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6985934B1 (en) 2000-10-23 2006-01-10 Binham Communications Corporation Method and system for providing rich media content over a computer network
US20090271103A1 (en) * 2005-09-29 2009-10-29 Pioneer Corporation Navigation device, navigation method, navigation program, and recording medium having navigation program recorded thereon
US8019854B2 (en) * 2005-11-25 2011-09-13 Samsung Electronics Co., Ltd. System and method of providing information on computer memory use
US7843865B2 (en) * 2005-12-08 2010-11-30 Intel Corporation System and method for controlling home network devices using multicast enabled remote controls
US8271657B2 (en) * 2005-12-16 2012-09-18 Panasonic Corporation Systems and methods for selecting a transport mechanism for communication in a network
US8116317B2 (en) 2006-01-31 2012-02-14 Microsoft Corporation Preventing quality of service policy abuse in a network
US7796757B2 (en) * 2006-03-09 2010-09-14 At&T Intellectual Property I, L.P. Methods and systems to operate a set-top box
US20080205389A1 (en) * 2007-02-26 2008-08-28 Microsoft Corporation Selection of transrate and transcode processes by host computer
US9509618B2 (en) * 2007-03-13 2016-11-29 Skype Method of transmitting data in a communication system
GB0704834D0 (en) 2007-03-13 2007-04-18 Skype Ltd Method of transmitting data in a communication system
US8571066B2 (en) * 2007-03-21 2013-10-29 Qualcomm Incorporated Methods and apparatus for RF channel switching in a multi-frequency network
EP2140651B1 (fr) * 2007-03-30 2018-10-24 Orange Procede de gestion d'une pluralite de sessions audiovisuelles dans un reseau ip et systeme de commande associe
CN101287076A (zh) * 2007-05-30 2008-10-15 盛乐信息技术(上海)有限公司 用ip网络连接电视和电脑进行互动娱乐的方法和系统
US8082507B2 (en) * 2007-06-12 2011-12-20 Microsoft Corporation Scalable user interface
US8782772B2 (en) * 2007-09-28 2014-07-15 Microsoft Corporation Multi-session secure tunnel
US8006193B2 (en) 2007-10-03 2011-08-23 Microsoft Corporation Web service user experience without upfront storage expense
GB2469947B (en) * 2008-02-22 2011-05-11 Ericsson Telefon Ab L M Method and apparatus for obtaining media over a communications network
US8387150B2 (en) * 2008-06-27 2013-02-26 Microsoft Corporation Segmented media content rights management
US8621094B2 (en) 2008-06-30 2013-12-31 Microsoft Corporation User status reports provided by an entertainment access system
US8583771B2 (en) * 2008-07-01 2013-11-12 Cisco Technology, Inc. Mapping human-meaningful parameters to network-meaningful parameters to permit user to establish traffic importance in home network
US8001247B2 (en) * 2009-02-27 2011-08-16 Red Hat, Inc. System for trigger-based “gated” dynamic virtual and physical system provisioning
CA2824751A1 (en) * 2009-09-26 2011-03-31 Disternet Technology Inc. System and method for micro-cloud computing
CN101710293B (zh) * 2009-12-10 2012-12-19 青岛海信宽带多媒体技术有限公司 一种usb存储设备文件遍历的方法及装置
US8881212B2 (en) * 2009-12-28 2014-11-04 Verizon Patent And Licensing Inc. Home network management
US8584187B2 (en) * 2010-03-26 2013-11-12 Verizon Patent And Licensing Inc. Bandwidth management
US8510763B2 (en) * 2010-06-14 2013-08-13 Microsoft Corporation Changing streaming media quality level based on current device resource usage
US9542203B2 (en) 2010-12-06 2017-01-10 Microsoft Technology Licensing, Llc Universal dock for context sensitive computing device
US8923770B2 (en) 2010-12-09 2014-12-30 Microsoft Corporation Cognitive use of multiple regulatory domains
US8792429B2 (en) 2010-12-14 2014-07-29 Microsoft Corporation Direct connection with side channel control
US8589991B2 (en) 2010-12-14 2013-11-19 Microsoft Corporation Direct connection with side channel control
US9294545B2 (en) 2010-12-16 2016-03-22 Microsoft Technology Licensing, Llc Fast join of peer to peer group with power saving mode
US8948382B2 (en) 2010-12-16 2015-02-03 Microsoft Corporation Secure protocol for peer-to-peer network
US20120158947A1 (en) * 2010-12-17 2012-06-21 Microsoft Corporation Operating system supporting cost aware applications
US8971841B2 (en) 2010-12-17 2015-03-03 Microsoft Corporation Operating system supporting cost aware applications
US9713194B2 (en) * 2011-12-28 2017-07-18 United States Cellular Corporation System and method for data network reassignment
US20140053233A1 (en) * 2012-08-20 2014-02-20 David Jacobs Online media policy platform
US9590753B2 (en) 2012-09-28 2017-03-07 Sony Corporation Method and apparatus for multiple media output
US8935734B2 (en) * 2013-02-01 2015-01-13 Ebay Inc. Methods, systems and apparatus for configuring a system of content access devices
US9137114B2 (en) * 2014-01-17 2015-09-15 Sony Corporation Computer ecosystem providing device announcements of session needs and rule-based establishment of network sharing based thereon

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6282560B1 (en) * 1997-03-28 2001-08-28 International Business Machines Corporation Managing processor resources in a non-dedicated computer system
US6728748B1 (en) * 1998-12-01 2004-04-27 Network Appliance, Inc. Method and apparatus for policy based class of service and adaptive service level management within the context of an internet and intranet
US7383329B2 (en) * 2001-02-13 2008-06-03 Aventail, Llc Distributed cache for state transfer operations
US8107524B2 (en) * 2001-03-30 2012-01-31 Vixs Systems, Inc. Adaptive bandwidth footprint matching for multiple compressed video streams in a fixed bandwidth network
US8291457B2 (en) * 2001-05-24 2012-10-16 Vixs Systems, Inc. Channel selection in a multimedia system
US7009970B2 (en) * 2001-06-26 2006-03-07 Motorola, Inc. Methods for managing bandwidth in a packet-based communication system incorporating a reservation proxy function
US7171668B2 (en) * 2001-12-17 2007-01-30 International Business Machines Corporation Automatic data interpretation and implementation using performance capacity management framework over many servers
EP1331564A1 (en) * 2002-01-24 2003-07-30 Siemens Aktiengesellschaft Fuzzy logic based intelligent load control for distributed environment
US6993681B2 (en) * 2002-04-15 2006-01-31 General Electric Corporation Remote administration in a distributed system
AU2003242113A1 (en) * 2002-05-17 2003-12-02 Legend (Beijing) Limited A method to realize dynamic networking and resource sharing among equipments
US8095620B2 (en) * 2002-06-13 2012-01-10 Elbit Systems Land and C41-Tadiran Ltd. System and method for dynamic allocation of a resource
WO2004040908A1 (ja) * 2002-10-30 2004-05-13 Fujitsu Limited ストリーム・サーバ
EP1618480A2 (en) * 2003-04-29 2006-01-25 University Of Strathclyde Monitoring software
US7406694B2 (en) * 2003-06-20 2008-07-29 Microsoft Corporation Method and system for tracking kernel resource usage
US7274740B2 (en) * 2003-06-25 2007-09-25 Sharp Laboratories Of America, Inc. Wireless video transmission system
JP4496755B2 (ja) * 2003-10-23 2010-07-07 ソニー株式会社 通信処理装置、および通信処理方法、並びにコンピュータ・プログラム
US20050107820A1 (en) * 2003-11-13 2005-05-19 Forsberg Andrew T. Vascular puncture depth locator
US8219702B2 (en) * 2004-04-30 2012-07-10 Canon Kabushiki Kaisha Video delivery apparatus and method
CN1271519C (zh) * 2004-06-30 2006-08-23 清华大学深圳研究生院 流媒体服务器资源的自调节调度方法
US20060136927A1 (en) * 2004-12-16 2006-06-22 Michele Covell Models for monitoring of streaming server performance
US7835276B2 (en) * 2004-12-30 2010-11-16 Cisco Technology, Inc. Admission control mechanism for multicast receivers

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011519492A (ja) * 2008-02-29 2011-07-07 トムソン ライセンシング 負荷分散信号分配を行う方法および装置
US9015781B2 (en) 2008-02-29 2015-04-21 Thomson Licensing Methods and apparatuses for providing load balanced signal distribution

Also Published As

Publication number Publication date
US20070027983A1 (en) 2007-02-01
CN101228519A (zh) 2008-07-23
WO2007018919A3 (en) 2007-10-04
US20100100637A1 (en) 2010-04-22
JP4885219B2 (ja) 2012-02-29
EP1907942A4 (en) 2012-08-08
EP1907942B1 (en) 2016-12-21
JP2012074054A (ja) 2012-04-12
CN101228519B (zh) 2010-09-08
WO2007018919A2 (en) 2007-02-15
US7664856B2 (en) 2010-02-16
EP1907942A2 (en) 2008-04-09
KR20080038314A (ko) 2008-05-06

Similar Documents

Publication Publication Date Title
JP4885219B2 (ja) マルチユーザコンピューティングシステムにおけるユーザエクスペリエンスの動的バランシング
US11831952B2 (en) Virtual set-top box
US8380864B2 (en) Media stream slicing and processing load allocation for multi-user media systems
US20080205389A1 (en) Selection of transrate and transcode processes by host computer
US8914529B2 (en) Dynamically adapting media content streaming and playback parameters for existing streaming and playback conditions
US20080307485A1 (en) Automatic extension of recording using in-band and out-of-band data sources
US20070058926A1 (en) Optimizing trick modes for streaming media content
US11770371B2 (en) Systems and methods for connecting private devices to public devices according to connection parameters
US20080005302A1 (en) Composition of local user interface with remotely generated user interface and media
US20090178096A1 (en) Intelligent over-transmission of media data segments
US20070174883A1 (en) Token Bandwidth Portioning
US20210099740A1 (en) Method and apparatus for maintaining bandwidth for electronic content display system
US10728493B1 (en) Method and apparatus for reducing interference from content play in multi-device environment
US20230247173A1 (en) Method and apparatus for reducing interference from content play in multi-device environment
US7788698B2 (en) Pre-negotiation and pre-caching media policy
US20070174656A1 (en) Manager/Remote Content Architecture
CA3086242C (en) System and method for processing user rights
US20210099741A1 (en) Method and apparatus for maintaining bandwidth for electronic content display system
US20220239268A1 (en) Adaptive volume control based on user environment
KR102158856B1 (ko) 원격 컴퓨팅 시스템 및 원격 컴퓨팅 방법
US20220014577A1 (en) Systems and methods for multi-device media broadcasting or recording with active control

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090713

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090713

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111109

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111202

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111207

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141216

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20120105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120105

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141216

Year of fee payment: 3

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D13

A072 Dismissal of procedure [no reply to invitation to correct request for examination]

Free format text: JAPANESE INTERMEDIATE CODE: A072

Effective date: 20120706

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees