JP2005527130A - 対話型ブロードバンドサーバシステム - Google Patents

対話型ブロードバンドサーバシステム Download PDF

Info

Publication number
JP2005527130A
JP2005527130A JP2003548112A JP2003548112A JP2005527130A JP 2005527130 A JP2005527130 A JP 2005527130A JP 2003548112 A JP2003548112 A JP 2003548112A JP 2003548112 A JP2003548112 A JP 2003548112A JP 2005527130 A JP2005527130 A JP 2005527130A
Authority
JP
Japan
Prior art keywords
title
server system
broadband server
interactive broadband
processor
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
JP2003548112A
Other languages
English (en)
Other versions
JP2005527130A5 (ja
JP4328207B2 (ja
Inventor
ダブリュ ローズ,スティーヴン
Original Assignee
インタラクティヴ コンテント エンジンズ,エルエルシー
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 インタラクティヴ コンテント エンジンズ,エルエルシー filed Critical インタラクティヴ コンテント エンジンズ,エルエルシー
Publication of JP2005527130A publication Critical patent/JP2005527130A/ja
Publication of JP2005527130A5 publication Critical patent/JP2005527130A5/ja
Application granted granted Critical
Publication of JP4328207B2 publication Critical patent/JP4328207B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1019Random or heuristic server selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21815Source of audio or video content, e.g. local disk arrays comprising local storage units
    • H04N21/2182Source of audio or video content, e.g. local disk arrays comprising local storage units involving memory arrays, e.g. RAID disk arrays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21815Source of audio or video content, e.g. local disk arrays comprising local storage units
    • H04N21/21825Source of audio or video content, e.g. local disk arrays comprising local storage units involving removable storage units, e.g. tertiary storage such as magnetic tapes or optical disks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/2312Data placement on disk arrays
    • H04N21/2318Data placement on disk arrays using striping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2405Monitoring of the internal components or processes of the server, e.g. server load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/10015Access to distributed or replicated servers, e.g. using brokers

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

複数のプロセッサ205と、バックボーンスイッチ203と、複数の格納装置207と、複数のユーザプロセス503とを有する対話型ブロードバンドサーバシステム109。バックボーンスイッチはプロセッサ間の高速通信を可能にする。格納装置はタイトルを格納するプロセッサに分散され、各タイトルは格納装置に分配されるデータブロック513に分割される。ユーザプロセスは、複数の加入者位置105とのインタフェースのためプロセッサ上で実行されるよう構成される。各ユーザプロセスは、リクエストされたタイトルをバックボーンスイッチを介し2以上のプロセッサから抽出し、リクエストを行う加入者位置への送信のためリクエストされたタイトルを構成するよう動作する。格納装置は複数のRAIDグループ401に構成される。分散されたメディアリーダ219とライブラリ格納システム201が備えられてもよい。複数のアイソクロナスタイトルが下流方向の加入者に同時に送信されてもよい。ロード及び処理オーバヘッドを軽減するため、タイトルは前処理され、所定のフォーマットで格納されてもよい。

Description

発明の詳細な説明
[関連出願の相互参照]
本出願は、2001年11月28日に出願された米国仮特許出願第60/333,856号「対話型ブロードバンドサーバシステム」に基づくものであり、その内容が参照することによりここに含まれる。
[発明の技術分野]
本発明は、対話型ブロードバンドサーバシステムに関し、より詳細には、ビデオオンデマンド(VOD)サービスの送信に利用されるような多数の同時アイソクロナス(simultaneous isochronous)データストリームを含む多様なデータ及びサービスを送信することが可能な対話型ブロードバンドサーバシステムに関する。
[関連技術の説明]
対話型ブロードバンドサーバ(IBS)システムは、多様なデータを送信し、多くの同時サービスを提供する装置である。そのようなサービスには、予め記録された映像(クリップからスポット、映画まで)からの映像ストリーム、略リアルタイムのイベントからの映像ストリーム、双方向音声データ、データ伝送ダウンロード、データベース相互作用、クレジットカード取引のサポート、対話型シミュレーション及びゲーム、マルチメディアコンテンツの配信、既知あるいは将来の他の任意のサービスが含まれてもよい。IBSシステムは、数千の同時アイソクロナスデータストリームを提供することが望ましい。ここで「アイソクロナス」とは、時間に依存したデータストリームを表し、ストリームの一貫性を保つため中断なく連続的に送信される必要のあるデータストリームを表している。アイソクロナスデータストリームの例として、生放送のテレビ映像の供給、トレーニングビデオ、映画及び個別にリクエストされた広告のような受信と同時に送信されるリアルタイムの映像及び音声が含まれる。IBSシステムはまた、ネットワーク管理のための提供しながら、すべてのサービスの正確な追跡、把握、格納及び請求を行わねばならない。基本的に同様の装置を説明するのに利用される他の用語として、映像サーバ、メディアサーバ、対話型ブロードバンドサーバ、対話型コンテンツエンジン、帯域幅乗算器及びメトロポリタンメディアサーバなどが含まれる。
分散処理システムを利用したものに対して、1以上の大容量集中サーバを特徴付ける実施例を含むIBSシステムを実現する試み及び提案がなされてきた。この試みは、コスト効果的かつ実践的な設計を維持する一方、高品質のサービスを数千のユーザに送信することが可能なIBSシステムを提供することにある。従来のサーバの設計はあるタイトルの1つの複製から生成される出力ストリームの数に制限があった。これにより、人気のあるタイトルには冗長な記憶が必要であり、どのタイトルの人気が出るかについての予めの情報が必要とされる(あるタイトルの人気があるとわかると、それを複製するための帯域幅の余地はないかもしれない)。
[発明の概要]
本発明の一実施例による対話型ブロードバンドサーバシステムは、複数のプロセッサ、バックボーンスイッチ、複数の格納装置及び複数のユーザプロセスを有する。バックボーンスイッチは、プロセッサ間の高速通信を可能にする。格納装置は少なくとも1つのタイトルを格納するプロセッサに接続及び分散され、各タイトルは2以上の格納装置に分散されるデータブロックに分割される。ユーザプロセスは、複数の加入者位置とのインタフェースのためプロセッサ上で実行されるよう構成される。各ユーザプロセスは、リクエストされたタイトルをバックボーンスイッチを介し2以上のプロセッサから抽出し、リクエストを行う加入者位置への送信のためリクエストされたタイトルを構成するよう動作する。
一実施例では、格納装置は、複数のRAIDグループに構成され、格納されている各タイトルのデータブロックがRAIDグループに分散されている。一構成では、例えば、各データブロックはあるRAIDグループに分散された複数のサブブロックに分割される。このRAIDの実施例では、RAIDグループの抽出及び構成機能がユーザプロセスに分散されているかもしれない。
他の実施例では、対話型ブロードバンドサーバシステムは、複数の双方向ポート、ディスクアレイ、複数のプロセッサ及び複数のプロセスを含むバックボーンスイッチから構成される。ディスクアレイは、複数のディスクドライブを備え、複数のデータブロックに分割される複数のタイトルを格納する。データブロックはディスクアレイに分散されている。各プロセッサは、バックボーンスイッチのポートに接続される第1インタフェース、ディスクアレイの少なくとも1つのディスクドライブに接続される第2インタフェース及び複数の加入者装置とのインタフェースのためネットワークに接続する第3インタフェースを含む複数のインタフェースを有する。このプロセスにより、各プロセッサは2以上のプロセッサからリクエストされたタイトルのデータブロックを抽出し、このリクエストされたタイトルを構成し、第3インタフェースを介しリクエストされたタイトルを送信することができる。
加入者装置への送信には、任意のタイプのコンテンツが考えられる。一実施例では、複数のタイトルの各々は、プロセッサの対応する第3インタフェースを介し対応する複数の加入者装置に同時に送信されるアイソクロナスデータコンテンツから構成される。
本システムは、各自が対応するプロセッサに接続される複数のメディアリーダと、ライブラリ格納システムを備えてもよい。一実施例では、プロセッサはメディアリーダに接続するための追加的なインタフェースを備えている。ライブラリ格納システムは、複数のタイトルを格納した複数の記憶メディアを有し、バックボーンスイッチのポートに接続される。ライブラリ格納システムは、バックボーンスイッチを介しタイトルリクエストを受信し、対応する記憶メディアを複数の記憶メディアの利用可能な何れかにロードするよう構成される。
複数のプロセスは、メディアリーダからタイトルを抽出し、このタイトルをデータブロックに分割し、データブロックをプロセッサを介しディスクアレイに分配するよう構成された少なくとも1つのロードプロセスを備えてもよい。ロードプロセスは、タイトルの各データブロックの位置に関するタイトルマップを生成してもよい。複数のプロセスはさらに、タイトルマップを抽出し、それを使ってタイトルの各データブロックを抽出するプロセッサ上で実行される少なくとも1つのユーザプロセスを備えてもよい。
ロード及び処理オーバヘッドを軽減するため、タイトルは前処理され、所定のフォーマットで格納される。前処理の例として、予めの暗号化、予めの計算、冗長情報、予め格納された転送プロトコル、様々な理由により格納されたタイトルコンテンツ内の特定位置へのポインタなどがあげられる。ポインタは、例えば、タイムスタンプから構成されていてもよい。
本発明の一実施例による対話型コンテンツエンジンは、複数のポート、複数のプロセッサ、複数のメディアリーダ、ライブラリ格納システム、格納装置、及びプロセッサ上で実行される少なくとも1つのプロセスを有するバックボーンスイッチを備える。この少なくとも1つのプロセスは、一括的に、タイトルリクエストを送信し、利用可能なメディアリーダからリクエストされたタイトルを抽出し、このリクエストされたタイトルを格納装置に格納し、このリクエストされたタイトルを複数のプロセッサの1つに送信する。
本発明のより完全なる理解のため、添付された図面とともになされる以下の説明に対する参照がなされる。ここで同一の参照番号は同一の特徴を示している。
[発明の実施例の詳細な説明]
本発明の一実施例による対話型ブロードバンドサーバシステムは、コンテンツの冗長な格納の必要性と、共存するタイトル毎の事前の格納管理を回避することにより、従来のサーバの最も問題となる特徴を解決する。どのタイトルが最も人気となるかについての先行知識は必要とされず、タイトルの1つのコピーが、サーバの最大ストリーム出力容量まで、それぞれが当該タイトルのやや異なる(個々に制御された)時点で任意数の同時ユーザに利用されてもよい。
ここで説明される実施例では、上記容量は、ディスクドライブのアレイ上の各タイトルの「ブロック(chunk)」を形成することにより行われる。ここで、各ブロックは一定の記憶量または一定の時間量を表す。あるタイトルにアクセスする各ユーザ処理には、当該タイトルの各ブロックの位置が与えられ、それらを独立した(大部分の場合)アイソクロナス出力ストリームに再構成する。各ブロックは、例えば、ドライブごとに1つのサブブロックで5つの「サブブロック」にというようなRAID(Redundant Array of Independent Disk)で格納される。これら5つのサブブロックは20%の冗長情報を含み、ドライブやプロセッサの故障の場合には、消失したサブブロックの再構築が可能となる。このアプローチは、すべての出力ストリームが1つのタイトルから生成されること、あるいは各出力ストリームが異なるタイトルから生成されることを可能にし、すべてのプロセッサ及びバックボーン(バックプレーン)スイッチに等しく分散された負荷を与える。管理は自動であり、コンテンツの人気に関する先行知識は必要でない。新しいタイトルがライブラリからリクエストされると、ハードドライブ記憶装置の最近最も利用されていない(LRU)タイトルが領域確保のため消去される。各サブブロックは、それが最近最も利用されていないサブブロックになるまで格納されているプロセッサのメモリに同様にキャッシュされ、現在リクエストされているものの領域確保のため消去される。サーバ資源の割り当ては自動であり、瞬間的な要求に基づくものである。
図1は、本発明の一実施例により構成された対話型ブロードバンドサーバ(IBS)システム109を有する通信システム100の簡素化されたブロック図である。IBSシステム109は、一例となる便利な配信地点101に位置し、ネットワーク通信システム107と、データ及びサービスを1以上の加入者位置105に配信する一例となる配信ネットワーク103を介し接続されている。以下に説明されるように、IBSシステム109は加入者位置105への配信のため蓄積された(典型的には、符号化、暗号化及び/または圧縮された)コンテンツを有するライブラリ記憶システム201(図2)を内蔵する。加入者位置105の任意の1以上からの加入者情報が分散地点101への上流への転送が実行される双方向通信がサポートされる。ネットワーク通信システム107は、非同期転送モード(ATM)、イーサネット(登録商標)ネットワーク、無線デジタル加入者線(DSL)やHFC(Hybrid Fiber Coax)ネットワークのような、アイソクロナスデータの送信をサポートし、加入者位置105への下流方向への転送のためのデータを変調し、加入者情報の受信及び復調を行うための上流方向チャンネルへの調整を行う任意のタイプのデータネットワークであってもよい。
1以上のコンピュータネットワーク111(例えば、インターネット)や他のコンテンツシステムのような、電話情報、衛星通信システム、有線放送システム116(例えば、マイクロ波タワー)などの任意の組み合わせを表す多くの異なるタイプの情報ソースが考えられる。コンピュータネットワーク111は、任意のタイプのローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)あるいはインターネットなどを含むグローバルなコンピュータネットワークを含んでもよい。他のコンテンツシステム113は、公衆交換電話網(PSTN)を含むものであってもよく、及び/またはテレビ放送コンテンツなどの任意のタイプの情報の送受信に利用されてもよい。コンピュータネットワーク111及び/または他のコンテンツシステム113は、配信地点101(例えば、ヘッドエンドとして)に配置されてもよいし、上流方向に配置され、光ファイバリンクのような適切なデータ転送機構を介し送信されてもよい。特定の構成に依存して、コンピュータネットワーク111及び/または他のコンテンツシステム113のそれぞれが直接ネットワーク通信システム107に接続されてもよく、加入者位置105への配信のためIBSシステム109を介し接続されてもよい。配信地点101は、例えば、内部サーバ、ファイアウォール、インターネットプロトコル(IP)ルータ、信号合成器、チャンネルリマッパ(channel re−mapper)のようなデータ送信のための適当な装置を含んでいてもよい。
ネットワーク通信システム107及び配信ネットワーク103の特定の構成は、利用される特定のアーキテクチャ及び技術に依存する。一実施例では、配信ネットワーク103は、加入者メディアがローカルノード(例えば、光と電子フォーマット間の変換を提供する光ノードなど)から各加入者位置105に配信される同軸ケーブルを含むHFCネットワークに従い構成される。HFC構成では、ソース情報がヘッドエンドから複数の配信ハブのそれぞれに配信され、さらにソース情報は1以上の光ノードなどに配信され、続いて同軸ケーブルのような対応する加入者メディアリンクを介して1以上の加入者位置105に配信される。そのような構成では、配信地点101はヘッドエンド、配信ハブまたは光ノードの何れか1つを表すかもしれない。各配信地点は連続するより小さな地理上の領域をサポートする。例えば、ヘッドエンドは大都市領域全体のような比較的大きな地理上の領域をサポートし、さらに、各自が配信ハブによりサポートされるより小さな領域に分割される。各配信ハブによりサポートされる領域は、さらに、大都市領域内の複数近傍のような、各自が対応する光ノードによりサポートされるより小さい領域に分割される。
例えば、SONET(Synchronous Optical Network)リングなどのような光リンクが利用されてもよい。任意の既知あるいは将来的に開発されるメディアがネットワークの各通信リンクに対し考えられると理解される。HFC実施例では、例えば、各光ノードは上流の配信地点から光信号を受信し、この光信号を合成された電気信号に変換し、同軸ケーブルを介し合成された電気信号を対応する地理的サービス領域の複数の加入者位置105のそれぞれに配信する。加入者情報は電子フォーマット(例えば、無線周波数(RF)信号)で転送され、各光ノードで合成され、合成された光信号を対応する配信ハブに上流方向の転送を行う。
各加入者位置105は、特定の加入者位置105のための合成された電気信号からソース情報を調整、復号及び復調するセットトップボックス、同軸ケーブル、DSLモデムなどのようなユーザ宅内機器(CPE)(図示せず)を含む。各加入者位置105におけるCPEは、加入者情報をRF信号などに符号化、変調及びアップ変換する変調器などを含んでもよい。各加入者位置105からの上流方向RF信号が適切な加入者媒体(またはメディア)で対応するノードに送信され、加入者信号を光信号に変換する。例えば、レーザを使って、リターン信号を光信号に変換し、この戻り光信号を他の光ファイバケーブルを介しある配信ハブの光受信機に送信してもよい。
ケーブル及び電話産業により開発されたブロードバンドネットワーク技術の何れかのような他のブロードバンドネットワーク環境が考えられる。一例として、下流方向により大きな帯域幅を割り当てるため上流方向の帯域幅を削減する非同期デジタル加入者線(ADSL)技術があげられる。電話産業のFITC(Fiber−to−the−Curb)アーキテクチャが、マルチチャンネル、マルチポイント配信サービス(MMDS)あるいはセルアプローチを利用したローカルマルチポイント配信サービス(LMDS)と共に考えられる。
ソース及び加入者情報は、映像、音声、他のデータ信号などの任意の組み合わせを含み、様々なフォーマットの何れであってもよい。ソース情報は、インターネットプロトコル(IP)パケット、イーサネット(登録商標)フレーム、ATMセルなどの配信ハブに提供されるような固定あるいは可変サイズのフレーム、パケットまたはセルをもたらすかもしれない。離散コサイン変換(DCT)や、MPEG−1、MPEG−2やMPEG−4などのMPEG(Moving Pictures Experts Group)により開発された規格群のようなデジタル映像圧縮技術が考えられる。例えば、MPEG−2規格は、従来からのテレビ、高品位テレビ(HDTV)及び5チャンネルサラウンドサウンドを含む広範囲の音声/映像フォーマットをサポートする。MPEG−2は、DVD(デジタル多用途ディスクあるいはデジタルビデオディスク)映画で利用される放送用画質解像度を提供し、所望のQoS(Quality of Service)に応じて、4〜20Mbps(Megabits per second)の帯域幅を要する。この送信データ及び情報には、加入者位置105における任意の1以上の特定加入者装置を示す1以上の宛先アドレスなどが含まれてもよい。各加入者位置105におけるCPEは、情報を受信し、この受信情報を復調し、加入者にもとのコンテンツを送信するためのアドレス情報を復号する適当な通信装置を含む。上流方向の加入者情報は同様の方法により扱われてもよい。
図2Aは、IBSシステム109の一実施例のブロック図である。IBSシステム109は、バックボーンまたはバックプレーンスイッチ203に接続されたライブラリ記憶システム201を有し、さらにそれぞれP1、P2、…、Pn(nは正の整数)とラベル付けされたプロセッサ205のそれぞれに接続される。各プロセッサ205は、ディスクアレイ207として構成された1以上のハードディスクドライブを備え、さらにそれぞれMD1、MD2、…、MDnとラベル付けされた変調/復調(MOD/DEMOD)209の対応する1つに接続される。バックボーンスイッチ203に接続されたオペレーションサポートシステム(OSS)211及びビジネスサポートシステム(BSS)213を含む管理プロセッサ210がまた示される。しかしながら、ここで、管理プロセッサ210は付随的なものであり、OSS211及びBSS213を含む管理機能はプロセッサ205間で分散されてもよい。
ディスクアレイ207は、それぞれPaDb(aはプロセッサ番号を、bはディスク番号を表し、それらは1からxまでの値をとる)とラベル付けされる。番号xは、ディスクアレイ207のプロセッサあたりのディスクドライブ数を表す正の整数である。一例となる構成では、nは100、xは8であり、これにより、100個のプロセッサ205と、合計でn×x=800個のディスクドライブが存在することになる。以下で説明されるように、ディスクアレイ207はさらに、複数のプロセッサ205と複数のディスクドライブにデータ群あるいはデータブロックを分散するための複数のRAIDに構成される。MOD/DEMOD209は、ネットワーク通信システム107に含まれ、データの対応する加入者位置105への下流方向の送信のため各プロセッサ205からのデータ及び情報を変調し、各プロセッサ205による利用のため上流方向の加入者データ及び情報を復調するよう各MOD/DEMOD209は動作する。
ライブラリ格納システム201は、様々な方法の何れかにより構成可能であり、その特定の構成及び動作は本開示の範囲を越えるものである。一般に、各プロセッサ205は、バックボーンスイッチ203を介しライブラリ格納システム203に「タイトル」(例えば、ビデオ、映画など)のリクエストや他のコンテンツのリクエストを送信するよう構成され、ライブラリ格納システム201はリクエストされたデータを転送することにより、あるいは、例えば、対応する光ディスク(例えば、DVD)やテープカートリッジなどをロードするなどリクエストされたタイトルを含むメディアにアクセスすることにより応答する。一実施例では、ロードされたデータ及び情報は、バックボーンスイッチ203を介しリクエストを行ったプロセッサ205に転送される。以下に説明されるように、ライブラリ格納システム201は、光ディスクをプロセッサ205間に分散された複数の光ディスクドライブの選ばれたものや利用可能なものにロードする。提供されるデータのフォーマットや速度は、特定のライブラリ及びデータ格納構成に依存する。映像アプリケーションのデータスピードは、1Mbps(VHSビデオ画質に対して)から約10Mbps(DVD画質に対して)あるいはそれ以上にわたるかもしれない。特定のデータフォーマットは、データまたはアプリケーションのタイプに依存して変換する。MPEG−2フォーマットによる音声/映像データは、映画などのために考えられ、ビットストリーム形式で送信されるI、P及びB MPEGフォーマット形式で画像グループ(GOP)として送信される。もちろん、たとえば、コンピュータネットワークを介しインターネット上での通信に利用されるインターネットプロトコル(IP)パケットのような、様々なサイズのファイルからの任意のビットレートのアイソクロナスデータ及び非アイソクロナスデータを含む他のタイプのデータが考えられる。
ビデオオンデマンド(VOD)システムなどの映像及び/またはマルチメディア情報の送信に適した一構成では、ライブラリ格納システム201は、ロボットベースのディスクアクセスシステムにおいてさらに構成されるDVDディスク及び/またはテープカートリッジのスタックあるいはライブラリを有する。VODベースアプリケーションに対して、ライブラリ格納システム201は、ビデオレンタルビジネスと同等のタイトル数を少なくとも有し、利用可能になるごとに新しいタイトルを追加するよう適応可能であるべきである。テレビオンデマンドアプリケーションでは、タイトル数は数10万点になるかもしれない。多くのタイトルが頻繁にはリクエストされず、リクエストに応じて任意のタイトルを送信するよう構成された児童ライブラリ格納システム201に格納される。
ロボット格納ライブラリは、コンピュータ産業のために開発されてきたものであり、数百の光ディスクを保持するジュークボックスシステムから数千のテープカートリッジや光ディスクを保持する部屋の大きさほどのロボットまでサイズにわたっている。これらライブラリは、全体の動作速度によりオフラインとして従来特徴づけされてきた。一方、少なくとも1つの構成では、ライブラリ格納システム201は、部分的にプロセッサ205間に分散されているメディアリーダおよび読み取り/書き込み装置を内蔵することにより、リクエストから送出まで30秒以内の遅延で抑えられるよう設計されている。ライブラリ格納システム201の機械的要素は、すべてのディスクへの冗長なアクセスに対し構成され、それによってタイトルの1つのコピーのみがライブラリ格納システム201で必要とされ、最も可能性の高い機械的エラーはタイトルへのアクセスをブロックしないということである。ライブラリ格納システム201はメイン格納装置(ライブラリの任意のタイトルが任意の時点で任意のユーザに対し利用可能である)であると考えられるので、IBSシステム109のディスクアレイ207の格納は最近リクエストされたタイトルのキャッシュであると考えられる。その結果、IBSシステム109は、大容量ストリーム集中サーバ、あるいはより小さなローカルエリアへの分散キャッシュ処理を有する集中ライブラリとして、配置されている各システムの経済性に基づき構成されてもよい。
バックボーンスイッチ203は、プロセッサ205、管理プロセッサ21及びライブラリ格納システム201とのインタフェースを実現する複数のポートを有する。追加あるいはスペアのポートが、例えば、エラー、故障、メンテナンス及びアップグレードなどの発生時にプロセッサ205の何れかを取り替えるための1以上のスタンバイコンピュータのためなどのような様々な目的のため利用されてもよい。一実施例では、バックボーンスイッチ203は、イーサネット(登録商標)規格に従い構成され、プロセッサ205、210及びライブラリ格納システム201を接続するための十分な数のポートを有する。ファウンダリネットワークス(Foundary Networks)により製造されるシャーシベースの「Bigiron」製品群のような在庫品が利用可能である。1つのBigiron製品は、少なくとも110個のポートを備え、各双方向ポートは2Gbpsフルデュプレクス(duplex)動作で各方向に1Gbpsデータレートが可能である。このように、各プロセッサ205は、接続されたユーザのため出力ストリームを再構成するため、あるいはローカルディスクドライブへの格納のため、他のプロセッサや記憶ユニットから1Gbpsまでのデータを受信する。各プロセッサ205は、バックボーンスイッチ203の1つのポートに接続され、それにより100個のプロセッサP1〜P100のそれぞれは同時に1Gbpsまでのデータを受信することができる。
一実施例では、ライブラリ格納システム201は、バックボーンスイッチ203の複数のポートに接続され、それにより各プロセッサ205はライブラリ格納システム201及び他のプロセッサからデータを受信することができる。このように、リクエストされたタイトルのライブラリ格納システム201からのデータが、バックボーンスイッチ203によりライブラリ格納システム201から転送される。あるいは、以下でより詳細に説明されるように、ライブラリ格納システム201は、タイトルリクエストを主に受信するための1つのポートに接続される。この構成では、ターゲットプロセッサ(のユーザプロセス)により具体的にリクエストされるデータは、他のプロセッサに接続される光ドライブなどから受信される。このデータは、他のプロセッサ上で実行されているプロセスをロードするターゲットプロセッサに接続されるドライブに格納予定のデータを含んでいるかもしれない。ここで、プロセッサ/格納ユニット(プロセッサP1〜P100)の個数及びバックボーンスイッチのサイズに関して反映されるような、IBSシステム109の特定サイズ及びトータルデータ出力容量は、ピーク需要期間を含むある時間に要求されるコンテンツのレベルをサポート及び期待する加入者位置105の個数に基づきスケーリングされるかもしれない。また、1Gbpsのポートレートは一例に過ぎず、2.5、4、10、40あるいはそれ以上のGbpsのポートレートのような他のデータレートが考えられる。
OSS211は、ネットワーク管理及び管理ソフトウェアを実行し、標準管理情報を処理する。OSS211は、オペレータがエラー状態を合図し、問題点を解決するためIBSシステム109にアクセスし、その動作を制御することを可能にする。一構成では、OSS211は遠隔アクセス可能である。エラーが発生すると、遠隔アクセス可能なOSS211は診断及び解決が可能である。そのような遠隔アクセスは、オペレータが分散地点101の物理的施設に行く必要を回避することができ、そうでない場合には、加入者満足やサービス中断に関して不便で、時間のかかる潜在的に高コストとなるであろう。遠隔アクセスは、グローバルネットワーク(例えば、インターネット)などのような外部ネットワークへの接続により可能となる。与えられる場合、管理プロセッサ210は、外部コンピュータネットワーク111に接続され、管理システムの遠隔処理が可能となるよう遠隔制御ソフトウェアを介しアクセス可能である。あるいは、外部ネットワークへの接続がバックボーンスイッチ203の1以上のポートを介し行われる。
BSS213は、制御システム215と請求システム217を有する。制御システム215は、コンテンツの管理を行い、IBSシステム109の通常動作を指示し、プロセッサ205とバックボーンスイッチ203の動作を指示する。請求情報は、制御システム215から請求システム217に送られる。各プロセッサ205は、所定の請求処理に基づき、各加入者位置105の請求情報をモニタ及び追跡するソフトウェアエージェントまたはアプリケーションを有する。BSS213は、この請求情報を回収し、所望の複雑な形式の請求を可能にする。例えば、追加的サービスのための一定の月毎の追加による固定料金と別のイベントに対する個々の請求が考えられる。電話請求処理は、固定の月毎の料金と、追加ベース(例えば、分毎または秒毎)の利用に基づく請求と、二次的企業(例えば、長距離プロバイダ)のための請求を含んでもよい。テレマーケティングサービスでは、迅速なクレジット確認と、金融及び発送(在庫及び発送)システムとのリアルタイムの相互作用が要求される。BSS213は、仮想ショッピングセンタなどのための売上ベースのある割合の請求を可能にするため関連ビジネスの売上のモニタ及び追跡を可能にする。これら及び他の複雑な請求モデルが考えられ、BSS213によりサポートされる。
ここで、OSSとBSSの機能はIBSシステム109により、専用プロセッサ(例えば、管理プロセッサ210)を追加することにより、あるいは既存のプロセッサ205上で分散して処理を実行することにより、与えられるかもしれない。IBSは高い信頼性を有するよう設計され、それの潜在的な冗長性を十分活用し、十分な処理容量を有する。その結果、高い信頼性が要求されるプロセスの実行に適する。
ライブラリ格納システムに蓄積され、そこから調達されるタイトルの多くは、所有者のものであるか、あるいは著作権情報を含んでいるかもしれない。一実施例では、タイトルデータの多くは、予め暗号化され、IBSシステム109を介し加入者位置105までの処理中、暗号化された状態で保たれるかもしれない。各加入者位置105におけるCPEは、表示や実行のためデータを解読する適当な解読機能を有する。そのような構成は、タイトル毎の暗号化を要する。タイトルデータはストリーム毎に暗号化される必要があり、データの各加入者位置105への各独立したストリームは同一のタイトルにさえ別々に暗号化される。例えば、ある加入者位置105に配信された所与のタイトルは、異なる加入者位置105(あるいは以降の時点での同一の加入者)に暗号化された形式で配信された同一のタイトルに関して別々に暗号化される。MDn227として示されるMOD/DEMOD209は、ストリーム毎の暗号化を可能にする実施例を示す。各タイトルは、IBSシステム109を介しライブラリ格納システム201からMOD/DEMOD209への処理中、暗号化されたままである。この場合、各MOD/DEMOD209は、各MOD/DEMOD209内で各タイトルを解読するための解読機能229を有する。その後、データは対応する加入者位置105への送出のため、データを再暗号化する暗号化機能231に送出される。ここで、同様の暗号化テクニックが利用されたとしても、別の一意的な暗号化キーが利用され、それにより、データは各ストリームに対して一意的に暗号化されるかもしれない。
図2Bは、プロセッサ205に分散されている光ディスクドライブ219を利用したIBSシステムの他の実施例の一部を示すブロック図である。この場合、DVDドライブやその他のメディアリーダのような各光ディスクドライブ219が、対応するプロセッサ205に接続されている。光ディスクドライブ219はまた、光ディスクロードシステム221によるアクセスのため、ライブラリ格納システム201に隣接するよう物理的に配置されている。ライブラリ格納システム201はまた、光ディスクロードシステム223にアクセス可能な光ディスクライブラリ223を有する。ここで、光ディスクライブラリ223は、複数のタイトル及び他の配信コンテンツを格納している。
光ディスクロードシステム221は、何れかのプロセッサ205とのインタフェースのため少なくとも1つの通信リンク225を介しバックボーンスイッチ203に接続される内部プロセッサまたは制御回路(図示せず)を有するロボットベースのロードシステムなどを備えてもよい。このように、任意のプロセッサ205は、タイトルのリクエストを光ディスクロードシステム221に送信し、そこで光ディスクライブラリ223から1以上の対応するディスクが抽出され、この抽出されたディスクが光ディスクドライブ219の選択されたもの、あるいは利用可能なものにロードされる。IBSシステム109の分散性は、プロセッサ205の何れかが光ディスクドライブ223の何れかにロードされたディスクからデータにアクセスすることを可能にする。そのような分散された構成により、光ディスクロードシステム221は、任意の逐次的あるいはランダム選択プロセスに従いディスクをロードすることができ、ロードあるいは配信遅延を回避することができる。ディスクアレイ207の比較的大きなサイズの格納は、要求されたタイトルがディスクアレイ207に蓄積されている可能性をかなり大きなものにする。その結果、ライブラリ格納システム201とディスクアレイ207との帯域幅要求は緩和される。分散された光ディスクドライブの実施例は、タイトル要求を処理するため十分な帯域幅を有する。
ライブラリ格納システム201に蓄積されているタイトルは、低処理オーバヘッドによる高速ロード処理のため、複数の拡張を含む所有者フォーマットで蓄積されてもよい。コンテンツは、予め計算され蓄積されたRAID冗長性により、結果として得られるストリームにすでに適用されている転送プロトコルにより、及びさらなる処理を要するか、あるいはさらなる処理(例えば、高速転送、巻き戻し及びストリームの次のストリームへのつなぎ合わせのための画像グループ(MPEG−2 GOP)に必要なコンテンツ(例えば、タイムスタンプ、転送ヘッダ)内の特定位置へのポインタにより、予め暗号化される。その結果として、タイトルがスピード超過した高速転送でライブラリ格納システム201からロードされ、その結果、ほとんどすべての動作モードがタイトルの第1ユーザに提供され、ロード処理は可能な限り少ない処理オーバヘッドで済む。記録処理システム233が、標準的あるいはその他の利用可能なフォーマット(例えば、MPEG、DVDなど)のデータを光ディスクライブラリ223の光メディアへの格納のため、上述の所望の所有者フォーマットに変換するため与えられてもよい。
図3は、各プロセッサ205の一実施例のブロック図である。図2に示されるIBSシステム109の一例となる構成は、各プロセッサ205が実質的に同様の方法で構成されている大規模相互接続プロセッサアレイ(MIPA)構成を示している。このように、単一あるいは少数の複雑あるいは高コストサーバシステムの代わりに、多数の比較的シンプルで低コストのコンピュータシステムが利用されてもよい。各プロセッサ205は、標準的なデスクトップ、サーバあるいはパーソナルコンピュータ(PC)システム要素などを利用して実現されてもよい。
各プロセッサ205は、1以上の中央演算ユニット(CPU)303、ランダムアクセスメモリ(RAM)や読み出し専用メモリ(ROM)装置の任意の組み合わせを含むメモリシステム305、ディスプレイとのインタフェースをとるオプションの映像インタフェース307、及びキーボードやマウスなどの対応するI/O装置のインタフェースをとるための1以上の入出力(I/O)インタフェースに接続された比較的標準的なバス構造またはシステム301を備える。バスシステム301は、例えば、少なくとも1つのホストバス、1以上の周辺バス、1以上の拡張バスのような複数のバスを備え、そのそれぞれは当業者には既知のブリッジ回路あるいはコントローラによりサポートされている。バスシステム301はまた、与えられたプロセッサPaのディスクアレイ207のディスク1及びディスク2(PaD1,PaD2)のような典型的には2つのIDEディスクドライブ313に接続するため、IDE(Integrated Drive Electronics)コントローラ311に接続される。バスシステム301は、32ビット33メガヘルツ(MHz)PCIバス315のような1以上のPCI(Peripheral Component Interconnect)バスを有するかあるいは、インタフェースをとる。PCIバス315は、各自が少なくとも2つのPCIディスクドライブ319とのインタフェースのための3つのPCIディスクドライブコントローラ317(PCI1、PCI2及びPCI3に示されるような)に接続される。プロセッサPaのディスク3−8(PaD3−PaD8)を実現するPCIディスクドライブ319が示される。バスシステム301はまた、SCSI(Small Computer System Interface)アダプタ、ファイアワイヤコントローラ(Firewire controller)、USB 2(Universal Serial Bus version 2.0)コントローラなど、分散光ディスクドライブ219の対応する1以上とのインタフェースのため、高速ディスクコントローラ329に接続される。
バスシステム301はまた、例示された実施例では64ビット66MHzPCIバスである他のPCIバス321に接続される。PCIバス321は、バックプレーンスイッチ203とMOD/DEMOD209の対応するものとのインタフェースのため、それぞれ少なくとも2つの1Gbpsイーサネット(登録商標)ネットワークインタフェースカード(NIC)323と325とインタフェースをとる。ここで、64ビット66MHzPCIバスは4Gbps以上の生データスループットが可能であり、その結果、2つの2GbpsフルデュプレクスNIC323と325のフルデュプレクスデータスループットの処理に十分である。また、メモリ305にロードされる1以上のアプリケーションプログラムなどを表し、以下で詳細に説明されるように、プロセッサ205の機能及び処理を実行するためCPU303により実行されるソフトウェアアプリケーションブロック(APPS)327が示される。例えば、ユーザプロセスは、特定のプロセッサ205によりサポートされる各ユーザの管理のため実行されてもよい。また、NIC325を介した加入者位置105からのタイトルリクエストの検出、NIC323を介したディスクドライブ313と319での処理及び格納のため部分的なタイトルデータの受信、ディスクドライブ313と319からメモリ305へのタイトルデータの抽出、タイトルデータの処理、及びNIC325を介したリクエストを行う加入者位置105へのデータの送出のための他のプログラムが含まれる。もちろん、他の多くの処理及び機能が、例えば、RAIDデータ格納のため、請求アプリケーション、管理アプリケーション、エラー検出訂正コード(ECC)のようなIBSシステム109の実現のため定義される。
各プロセッサ205は、MicrosoftWindows(登録商標)系のオペレーティングシステムから選ばれたオペレーティングシステム(OS)、あるいはLinuxの適当なバージョン及び設定のような任意の適当な私有あるいは一般に利用可能なOSによる構成が可能である。一実施例では、リアルタイム(RT)LinuxとLinuxOSとの組み合わせが考えられる。リアルタイムオペレーティングシステム(RTOS)、リアルタイムアプリケーションインタフェース(RTAI)及びリアルタイムネットワーク(RTNet)が、リアルタイムでの応答を可能にするため直接及びネットワークを介してリアルタイムまたはアイソクロナス処理を扱うため考えられる。ファイル構成のためのLDAP(Lightweight Directory Access Protocol)、RTS(Real Time Transport)、RTSP(Real Time Streaming Protocol)及びMPI(Message Passing Interface)などの様々なプロトコル及びインタフェースが利用可能である。クラスタメッセージパッシング(MP)レイヤによるクラスタ構成が、請求処理、ユーザインタフェース及び管理処理の実行のため考えられる。
図4は、本発明の一実施例によるRAIDディスク構成401内のディスクアレイ207の一例となる構成を示すブロック図である。この構成では、各自8つのドライブを有する100個のプロセッサが存在し、1〜800まで番号付けされた合計800個のディスクドライブが存在する。第1プロセッサP1の第1ディスクD1(あるいはP1D1)が第1ディスクドライブ1として番号付けされ、第2プロセッサP2の第1ディスクD1(あるいはP2D1)が第2ディスクドライブ2として番号付けされ、以下同様にして番号付けされることにより、プロセッサP1〜P100のそれぞれの第1ディスクドライブによりディスクドライブ1〜100が形成される。次のディスクドライブ101は第1プロセッサP1の第2ディスクドライブであり、次のディスクドライブ102は第2プロセッサP2の第2ディスクドライブであり、以下同様に番号付けされる。このように、第1プロセッサP1の8つのディスクドライブは、それぞれ1、101、201、301、401、501、601及び701と番号付けされる。第2プロセッサP2の8つのディスクドライブは、それぞれ2、102、202、302、402、502、602及び702と番号付けされる。以下同様にして番号付けされる。ディスクドライブ1〜800はそれぞれ5つのディスクのRAIDに組織化され、合計160のRAIDが形成される。ここで、第1RAID1はディスクドライブ1〜5により形成され、第2RAID2はディスクドライブ6〜10により形成され、以下同様にして最後のRAID160がディスクドライブ796〜800により形成される。
各RAIDは、別のプロセッサ、ソフトウェアプロセッサまたは他の既存の構成によりしばしば実現されるRAIDコントローラにより管理または制御されるかもしれない。ここで図示及び説明される実施例では、各RAIDグループは単に概念的に存在するものであって、従って関連付けされたRAIDコントローラはない。代わりに、RAID制御機能及び処理がプロセッサ205において分散化される。コンテンツがロードされると、ロードプロセス(LP)509(図5)のようなロードプロセスにより、ディレクトリプロセス(DP)505から利用可能な格納地点のリストが受信される。その後、予め計算され格納されたRAID情報を有するコンテンツが取られ、それがDP505により与えられた地点リストに分配される。異なるロードプロセスにより、コンテンツが同一のRAIDグループに同時に格納されてもよい。同一のトークンにより、ユーザプロセス(UP)503のようなタイトルを読み込むユーザプロセスにより、当該タイトルのディレクトリエントリにリストされるようなサブブロックがリクエストされ、消失したサブブロックを再生するため必要な計算が実行される。管理システムにエラードライブが交換されたと通知されると、影響の出たドライブの何れかを直接制御する必要のない素早くロードされたプロセッサあるいはスペアのプロセッサに対して再構成プロセスが開始される。
各RAIDはRj(jは1から160までのRAIDインデックス)として示される。このように、プロセッサ1〜100のアレイを通じて実行される複数のソフトウェアプロセスにより各自制御されるR1〜R160とラベル付けされた160のRAIDグループが存在する。各RAIDグループは、ハードウェア、論理及び処理の任意の組み合わせからなり、そこでの処理は、ユーザプロセス、抽出プロセス、ロードプロセスなどの以下で詳細に説明される他のプロセスに含まれてもよい。このため、5つのドライブ境界でなく1つのドライブ境界においてRAIDグループを構成することが可能となるであろう。しかし、ここで示された実施例は概念的簡素化のため、5つのドライブ境界を有するよう示される。
ここで例示あるいは説明されるRAID構成は単なる一例であり、様々なRAID構成が可能かつ考えうるということは理解されるであろう。RAIDセットは任意の所望の方法で重複あるいは包含されてもよい。また、複数のプロセッサ205に、より大規模なプロセッサの分散のため、所与のRAIDプロセスが含まれてもよい。もちろん、各RAIDは、(5より小または大なる)任意数のディスクドライブを含んでもよく、各RAIDは、何れかのプロセッサと関連付けされたプロセッサ及び第1ディスクドライブと関連付けされたプロセッサのような必ずしも1つのみでないプロセッサにより制御されてもよい。にもかかわらず、各プロセッサグループは、プロセッサ間のデータ分散を最大化するため、所与のプロセッサの1つのみのディスクドライブを含むことが望ましい。これにより、プロセッサ205の故障により、それが属するRAIDグループのそれぞれから1つだけのドライブが取り除かれるので、処理の中断を避けることができる。不良なプロセッサ205のプロセスのすべてが遮断されれば、以下で説明されるように、IBSシステム109全体の処理が障害なく継続される。もしこれらプロセスが遮断されなければ、IBSシステム109の重大な能力劣化が生じ、これにより不良なプロセッサに接続されたクライアントに直接影響が及ぼされる。IBSシステム109は「ホットスタンバイ(hot standby)」プロセッサを有するよう構成されているならば、即座に不良なプロセッサの画像に自らを再構成し始める。
以下で詳細に説明されるように、RAID構成は、データストリームがデータブロックに分割されることを可能にし、このデータブロックはさらに分割され、RAIDのディスクドライブで分散またはストライプ処理される。例えば、あるデータブロックは冗長な情報を有するよう処理され(ECCなどを利用して)、処理されたデータブロックは5つのサブブロックに分割され、RAIDの5つのディスクドライブのそれぞれに配信される。
図5Aは、プロセッサPa501としてしめされる選択されたプロセッサ205で実行されるユーザプロセス(UP)503により開始されるユーザタイトルリクエスト(UTR)、タイトルのロード処理、格納処理及び抽出処理を示すブロック図である。各プロセッサ205は、それがサポートする下流方向加入者位置105(ユーザ)のそれぞれに対し別のユーザプロセスを実行する。UP503は、加入者位置105からのタイトルのユーザタイトルリクエスト(UTR)に応答して、タイトルを抽出し、加入者位置105に送信するユーザプロセスの一例となる処理を示す。UP503は、UTRを他のプロセッサ205あるいは管理プロセッサ210を表すプロセッサPd502で実行されているディレクトリプロセス(DP)505に転送する。以下で詳細に説明されるように、DP505はまず、マスタディレクトリ(MD)601(図6)に問い合わせることにより、タイトルがディスクアレイ207にすでに格納されているかどうか判断する。タイトルがディスクアレイ207にロードされていないとわかると、DP505はメモリを割り当て(あるいは次のディスクスペースが利用可能であるか判断し)、ディスクアレイ207のタイトルの連続する各ブロックの位置を特定するタイトルマップ(TM)507を生成する。以下で詳細に説明されるように、タイトルデータはデータブロックに分割され、このデータブロックはさらにデータサブブロックに分割され、ディスクアレイ207により形成されたRAIDに分散される。TM507は、タイトルの各ブロック(及びサブブロック)の位置を特定するデータマップである。タイトルがすでにロードされている場合、TM507がMD601のタイトルに対しすでに存在し、DP505はバックボーンスイッチ203を介しUP503にTM507をコピーする。ここで、UP503は、TM507‘として示されるローカルコピーとしてそれを格納する。
UP503は、特定のユーザや加入者位置105に関連付けされたパラメータまたは変数を含むよう、以下で詳細に説明されるように、TM507‘を選択的に初期化してもよい。タイトルがMD601にロードされておらず、従ってディスクアレイ207に格納されていないとわかったら、DP505はライブラリ格納システム201からタイトルにアクセスするため、ロードプロセス(LP)509を呼び出す。LP509はバックボーンスイッチ203を介し当該タイトルのリクエストを送信し、ライブラリ格納システム201はDVDやテープカートリッジのようなデータソースメディア511を抽出し、選択されたメディアを適当なリーダ(例えば、テープドライブ、DVDプレーヤなど)にロードする。リーダは、ライブラリ構成に応じて、他のプロセッサ205またはバックボーンスイッチ203を介して、プロセッサPa501のLP509によるアクセスのため、データを転送する。このデータは、データビットストリームなどのような様々な方法で転送可能であり、ローカルライブラリリソースだけでなく遠隔からも受信されるかもしれない。
LP509は、データを513に示されるような連続したデータブロックアレイC1、C2、C3、…、Ciに構成する。各データブロックは、所定のタイミングインターバルやデータサイズのようなデータに関する指定されたパラメータに対応する。一実施例では、例えば、各データブロックCiは、映像データのほぼ1秒分に相当する。例えば、4Mbpsで再生される映像データは、1秒分のデータに相当する約500キロビット(Kb)のブロックに分割される。LP509は、データブロックの適切な分割の決定を行う。例えば、MPEG−2データでは、データは表示順でなく復号順で与えられるI、P及びBフレームに構成される。MPEG−2では、LP509が画像グループ(GOP)を決定し、1秒毎に30の表示可能フレームなどのような指定されたサイズあるいはタイミングインターバルに相当するようGOPの適切な分割を決定する。
LP509は、特定の構成に依存して、データブロックのコンテンツの追加的処理を実行するようにしてもよい。そのような処理には、例えば、双方向リンクリストやタグ及びタイミング情報を早送り(FF)、巻き戻し(RW)及びジャンプ機能のためにコンテンツに挿入する処理が含まれる。このような機能は、ユーザのためのパーソナル映像レコーダ(PVR)機能の実現のため所望されるかもしれない。これによりユーザは、視聴あるいは再生視聴中におけるコンテンツの巻き戻し、早送り、一時停止や録画などVCRと同様にしてタイトルの処理が可能となる。例えば、図示されるように、データブロックC1〜Ciは、実行される所望の処理に応じて変更されたデータを表すデータブロックC1‘〜Ci’に処理される。さらに、データブロックC1‘〜Ci’は、ECCデータの挿入などRAIDのため処理されてもよい。例えば、図示されるように、データブロックC1‘とC2’はそれぞれC1‘ECC(1−5)とCECC(1−5)に処理される。ここで各データブロックは、対応するRAIDの5つのディスクに分散されるRAIDデータを表す1〜5まで番号付けされた連続するサブブロックを含む。
LP509は、各データブロックがどこに格納されるべきか決定するためTM507に問い合わせる。必ずしもディスクアレイ207における正確な位置が特定される必要はない。一実施例では、TM507は、第1ブロックC1‘ECC(1−5)をプロセッサPb515に、第2ブロックC2’ECC(1−5)をプロセッサPc521にというように各ブロックを転送する。利用される特定のRAIDディスク構成401とは独立に、データブロックができるだけ均等に各RAIDに転送される場合、データの最大分散が達成される。第2ブロックを同じRAIDに送信する前、連続するブロックを1つおきのRAIDに転送することによりこれは行われる。例えば、第1ブロック160は、第2ブロックがRAID1に転送される前に、RAID1〜160に送られてもよい。TM507が各データブロックの位置を記録しているため、必ずしもデータブロックは特定のRAID順で分散されている必要はない。実際、一実施例では、データブロックは任意の適当なランダムアルゴリズムに基づき、ランダムに分散される。このランダムアルゴリズムは、例えば、データが均等に分散されるのを保証するため擬似乱数を利用するものであってもよい。その場合、選択される次のRAIDは、すべてのRAIDが利用されて始めて格納されたグループからのものとなり、当該プロセスが繰り返される。他方、所定あるいは逐次的なRAID順序の保持は、予測可能性の効果や抽出効率性を提供するかもしれない。
データブロックC1‘ECC(1−5)はLP509によりプロセッサPb515に転送され、データブロックC1‘ECC(1−5)のサブブロック1〜5はそれのRAID519のディスクドライブに分散される。例えば、5つのサブブロックC1‘ECC(1)、C1‘ECC(2)、C1‘ECC(3)、C1‘ECC(4)及びC1‘ECC(5)が、図示されるようにRAID519の5つのディスクドライブに分散される。ここで、LP509により生成されるサブブロック数はRAIDのディスクドライブ数に等しく、各RAIDに対して任意の適当な数のディスクドライブが利用されてもよい。ECCプロセスは、何れかのディスクドライブのデータがRAIDのその他のディスクドライブからのデータにより再構成されることを保証する。例えば、サブブロックC1‘ECC(3)はサブブロックC1‘ECC(1、2、4、5)から再構成されるかもしれない。データブロックC2‘ECC(1−5)は、LP509によりプロセッサPc521に転送され、このデータブロックC2‘ECC(1−5)のサブブロックはRAID519に関して前述されたようにRAID525のディスクドライブに分散される。タイトルのすべてのデータブロックC1‘ECC(1−5)に対してこのプロセスが繰り返される。
UP503は、UTRに応答した抽出及びリクエストを行う加入者位置105への転送に対して、データがいつ利用可能となるかを通知されるか、あるいはそうでなければ決定する。例えば、UP503は、TM507‘をモニタするか、あるいはデータが利用可能となることをDP505により通知されるか、またあるいは単にリクエストを送信し、配信されるデータを待機するかもしれない。一実施例では、UP503は、タイトル全体がアクセス、処理及びRAIDに格納されるまで待機する。あるいは、タイトルのうちの所定のデータ量が格納されるか、あるいはリクエストされたデータ送信されると同時に、UP503はデータの抽出及び転送を開始する。何れのイベントにおいても、UP503はTM507’に問い合わせを行い、連続するデータリクエスト(DRQx)を送信し、対応するデータ応答(DRSx)を受信することにより(xはデータブロックインデックス(例えば、DRQ1、DRQ2など)を表す整数)、指定されたプロセッサ205から書くデータブロックをリクエストする。一実施例では、各プロセッサ205は、リクエストされたデータブロックの抽出のため、対応するRAIDのインタフェースとなるローカル抽出プロセス(RP)を実行する。RPは、データリクエストDRQxを受信し、ローカルRAIDからリクエストされたデータを抽出し、対応するDRSxを転送する。図示されるように、プロセッサPb515は、データリクエストDRQ1を受信するRP527を実行し、RAID519からデータブロックC1‘ECC(1−5)を抽出し、対応するデータレスポンスDRS1により応答する。また、プロセッサPc521は、データリクエストDRQ2を受信するRP529を実行し、RAID525からデータブロックC2‘ECC(1−5)を抽出し、対応するデータレスポンスDRS2により応答する。UP503は、データレスポンスを受信し、データブロックをリクエストを行った加入者位置105に転送する。UP503は、抽出されるデータタイプに応じて、さらなるデータ処理を実行してもよい。例えば、一実施例では、UP503は、加入者位置105におけるCPEによる利用のため、MPEG−2データを復号順から表示順に再構成するMPEGでコーダ613(図6)を有する。
上述のアクセス、格納及び抽出プロセスは、加入者位置105のテレビ、電話あるいはコンピュータによりリアルタイムで実行あるいは利用される音声/映像データのような、アイソクロナスデータに特に適している。しかしながら、この出力データはアイソクロナスデータに限定されず、コンピュータ上で実行されるブラウザによる表示のために抽出されるデータのようなバースト非同期データであってもよい。また、加入者位置105のCPEがローカルな格納装置を有する場合、送信が同期でなく非同期で、データ表示速度と異なるデータレートで行われるという点を除き、同様の方法で行われてもよい。
本発明の範囲を逸脱することなく多くの変形及び変更が考えられる。例えば、必要に応じて再構成あるいは復号プロセスは、ユーザプロセス以外のプロセスにより実行されてもよい。再構成の信頼性は、タイトルの再構成に利用される各サブブロックへの別々のデータパスを有するため、ユーザプロセスにおいて最も高いものとなる必要がある。
図5Bは、リクエストされたタイトルへのアクセス及び格納のための一例となる分散ロードプロセスを示すブロック図である。本実施例では、DP505によりMD601のタイトルが未ロードであると検出されると、DP505はマスタロードプロセス(MLP)531を呼び出す。MLP531は、ライブラリ格納システム201にリクエストを送信し、データブロックの格納場所を決定するため、前述と同様にしてTM507に問い合わせる。プロセッサPd502へのデータを抽出する代わりに、MLP531は、対応するデータサブブロックが格納される各RAID群を構成するディスクドライブを制御するプロセッサ205と通信するローカルロードプロセス(LLP)を呼び出す。例えば、LLP533がプロセッサPb515で呼び出され、データブロックC1はソースメディア511からLLP533へ直接転送される。同様にして、LLP535がプロセッサPc521で呼び出され、データブロックC2はソースメディア511からLLP535へ直接転送される。図示されるように、以降の処理はそれぞれのLLP533及び535で実行され、MLP531により指示されるように対応するRAID519及び525に格納される。このようにして、バックプレーンスイッチ203を通じる2つのパスを要する、1つのプロセッサでのデータブロックのロード及び処理、その後のデータブロックの分散されたプロセッサへの転送よりむしろ、各データブロックがバックプレーンスイッチ203のより狭い帯域幅を必要とする分散されたプロセッサに直接転送され処理される。ここで、データはプロセッサ205に接続されるDVDプレーヤーに直接与えられたとしても、バックプレーンスイッチ203はLLPを実行する適当なプロセッサ205にデータの転送を行うのに依然として利用される。
図5Cは、分散された光ディスクドライブ219を利用したリクエストされたタイトルのアクセス及び格納のための一例となる協調ロードプロセスを示すブロック図である。DP505はMLP531を呼び出し、前述と同様にしてライブラリ格納システム201にリクエストが送信される。ライブラリ格納システム201は、示されるようなプロセッサPe537関連付けされたもののような分散された光ディスクドライブ219をランダムに、あるいは利用可能なものを選ぶ。ここでは、ソースメディア511はプロセッサPe537にとってローカルである。MLP531は、プロセッサPe537(ライブラリ格納システム201により通知されるような)を特定し、例えば、データブロックのプロセッサPb515及びPc521などへの分散のような、前述と同様の方法によりタイトルのロード及び格納のためプロセッサPe537上でLLP539を呼び出す。すべてのデータがこのプロセッサを通過するので、RAID及びECC処理はプロセッサPe537に対して選択的かつ便宜的に実行されてもよい。このようにして、バックプレーンスイッチ203における帯域幅の利用が軽減される。
当業者には理解されるように、ロードプロセス509や531、抽出プロセス529などの任意の与えられたプロセスは、1以上の任意のプロセッサ205上で実行されてもよい。図5A〜5Cは、図示の簡単化のため、各プロセッサを介しある時点においてブロック全体に動作するロード及び抽出プロセスを示しているが、各ブロックのデータサブブロックは複数のプロセッサにわたるRAIDグループ内で分配されると理解されるであろう。従って、任意の与えられたプロセッサが、所与の格納あるいは抽出プロセスに対しある時点で1つのみのサブブロックを読み書きするかもしれない。例えば、図5AはプロセッサPb515により扱われるブロックC1‘(1−5)を示しているが、各データサブブロックは与えられたRAIDグループの対応するディスクドライブに関連付けされた別のプロセッサにより読み書きされてもよい。各プロセッサ205は接続されているディスクドライブから読まれたデータやそこに書き込まれたデータの制御を行うが、RAID機能は他のプロセッサ上で実行される別のプロセスにより扱われてもよい(例えば、RAID機能はシステム機能において仮想的かつ暗黙的なものであるかもしれない)。
図6は、プロセッサPa501上のユーザプロセスによるタイトルのリクエスト及び抽出と、プロセッサPd502で実行されるDP505の動作を示すより詳細なブロック図である。同様のブロックまたはプロセスは、同一の参照番号を仮定している。前述と同様にして、ユーザプロセス(UP)503は、UTRを受信して、プロセッサPd502上で実行されるDP505にこのUTRを転送する。DP505はMD601を有し、さらにMD601はライブラリ格納システム201で利用可能なすべてのタイトルと各タイトルの対応する位置をリストするタイトルリスト603を有する。すべてのタイトルが格納されたままとされ、ライブラリ格納システム201において利用可能であり、さらにディスクアレイ207にコピーされてもよい。MD601はまた、空のスペースやすべてのタイトルの位置を含むディスクアレイ207のすべての格納をマップした格納ファイル604を有する。以前にリクエストされたタイトルは抽出され、前述のロードプロセスの任意の構成を利用して、ディスクアレイ207に格納される。現在MD601に格納されているタイトルマップは、各自のタイトルを有する、タイトル1、タイトル2、タイトル3などとして示されるTM605として示される。ディスクアレイ207に蓄積された各タイトルと関連付けされ、DP505による参照のためMD601のDM601を有するタイトルリスト603にエントリがなされる。タイトルがディスクアレイ207に蓄積されている限り、MD601にDM605は存在し、さらにタイトルリスト603に反映される。ここで、DP505はプロセッサ205の何れかあるいは管理プロセッサ210に配置された中央プロセスとして示される。他の実施例では、DP505はプロセッサ205で実行される分散プロセスであってもよい。しかしながら、MD601は、ライブラリ格納システム201のタイトル及び他のデータの一貫性及び整合性を維持するため中央に配置されることが望ましい。
一実施例では、LRUポリシーに基づき、タイトルはディスクアレイ207に格納される。これによると、既存のタイトルがディスクアレイ207に格納され、MD601で参照されると、新たなタイトルのための格納スペースが必要となり、当該既存タイトルがMD601の最も以前に参照されたタイトルであるとき、より最近にリクエストされたタイトルにより上書きされるまで、そこに保持される。MD601は、履歴ファイル607のディスクアレイ207に蓄積される各タイトルの相対的な経時を追跡し、再びリクエストされるとタイトルの経時がリセットされる。ライブラリ格納システム201から新たにロードされたタイトル、あるいはMD601から再びリクエストされたタイトルが最も最新のタイトルとなり、最後にリクエストされたときに対応して、経時パラメータがMD601の各タイトルに対して記録される。ライブラリ格納システム201からロードされた新しいタイトルに対してからのスペースがディスクアレイ207に存在する限り、この空のスペースが利用され、ロードされたタイトルはディスクアレイ207にそのまま格納される。しかし空のスペースがもはやなくなると、DP505はこの新たなタイトルを格納するため、MD601の最も以前のタイトルの1以上を上書きすることによりスペースを割り当てる。タイトルがディスクアレイ207で上書きされると、それに関連付けされたDM605がMD601から削除される。また、ローカルな参照がタイトルリスト603から削除され、それによってタイトルリスト603は、当該タイトルがライブラリ格納システム201に存在するだけであると示す。上書き及び消去されたタイトルが再びリクエストされると、それはライブラリ格納システム201から新たにロードされる。
リクエストされたタイトルがディスクアレイ207に格納されておらず、したがってMD601で参照されない場合、DP505は格納ファイル604と履歴ファイル607に問い合わせ、新たなタイトルのための格納スペースを割り当て、MD601内に新たなDMを生成する。タイトルがすでにディスクアレイ207に格納されている場合、タイトルマップ(TM)はすでにMD601に存在している。図示されるように、UTRはDP505に転送され、TM507(タイトル4と示される)の配置または生成が行われる。その後、DP505はTM507のコピーのリクエストを行ったプロセッサPa501に転送し、上述のようにTM507’としてローカルコピーが格納される。
UP503は、それ自身の動作パラメータ及びユーザ契約に従って、TM507‘のヘッダ情報を初期化する。その後、UP503は、データブロック位置をTM507’に問い合わせ、格納されているデータブロックを抽出するため、バックボーンスイッチ203を介し、609として典型的に示されるデータを管理するその他のプロセッサ205のローカル抽出プロセス(RP)と協調する。図示された実施例では、UP503は、ECC符号かフォーマットを含められた冗長情報なしの実データに変換するECCデコーダ611などを含む。データブロックがRAIDのディスクドライブのサブブロックとして格納されており、ECCデコーダ611を利用して、冗長データを除去することによりもとのデータが再構成されるということが思い起こされる。ここで、任意の与えられたRAIDの複数のディスクドライブは可変スピードまたはレスポンス時間を有するかもしれない。これによると、ローカルなRP609は必ずしもデータを1つのブロックとして返す必要はなく、特定のRAIDの個々のディスクドライブのレスポンス時間に従う一連のサブブロックとして返せばよい。また、与えられたRAIDのあるディスクドライブは、どんな理由であれ欠陥を有するか、あるいは非応答的であるかもしれない。どちらのイベントでも、ECCでコーダ611を利用するUP503は、規定されたサブブロックの一部を利用して、訂正データを復号することができる。例えば、5つのディスクドライブを利用して構成されたRAIDに対して、ECCデコーダ611はデータの5つのサブブロックの何れか4つを利用してもとのデータを再構成することができる。一実施例では、ECCでコーダ611は、全体のプロセスの高速化のため、最後のサブブロックが到着するまで待機するのでなく、もとのデータを自動的に再構成する。
図示された実施例では、図示された実施例では、UP503はさらに、所望であれば、データを表示順に再構成するMPEGデコーダ613などを備える。例えば、MPEGデータが復号順でアクセス及び格納されると、MPEGデコーダ613は当該データを表示順に再構成し、その後データのリクエストを行った加入者位置105に送信する。前述のように、UP503は、加入者位置105へのデータストリームがこの加入者位置105のCPEの適切な動作を保証するよう適切なレートで維持される一実施例においては、アイソクロナスモードで動作する。他の実施例では、CPEがローカルメモリを備える場合、UP503は非同期モードで動作し、加入者位置105のCPEによる適切な表示のため、各データブロックを十分な時間で送出する。UP503はさらに、巻き戻し(RW)、一時停止あるいは早送り(FF)コマンドのような、加入者位置105からの追加的コマンドを検出し、プロセッサPa501によりサポートされ、対応するユーザ規定に従い許可される場合、それに応じてデータストリームを変更するよう構成される。例えば、UP503は、RWコマンドまたはFFコマンドに応答して、現在のデータストリームを中断し、以前あるいは以降のデータにアクセスすることにより、TM507において行ったり来たりする。
Pa501上で実行されるローカルエージェントあるいはプロセス群615が示され、各プロセッサ205に与えられる。一実施例では、各プロセッサ205は、管理プロセッサ210上で実行される対応する管理、OSS、BSS、制御及び請求機能及びプロセスのインタフェースとなる1以上のローカルエージェントを実行する。他の実施例では、管理プロセッサ210は備えられず、管理、OSS、BSS、制御及び請求機能及びプロセスは1以上のプロセッサ205に分散されている。エージェントまたはプロセス615は、例えば、プロセッサPa501によりサポートされる各加入者位置105と関連付けされているユーザ行動を追跡するためのローカルビジネスプロセス(local business process)を備えてもよい。ローカルビジネスプロセスは、請求などのため、プロセッサPa501によりサポートされるすべてのユーザのユーザ行動を追跡する。エージェントとして、ローカルビジネスエージェントは、請求情報や他の所望の情報を含むユーザ情報を送信するため、BSS213とのインタフェースをとる。ローカルビジネスエージェントは、前述したような所定の請求規定に基づき、各加入者位置105の請求情報をモニタ及び追跡するソフトウェアエージェントあるいはアプリケーションの機能を実行するようにしてもよい。この請求情報は、BSS213の請求情報217への転送のため、制御システム215に送信される。
図7は、前述のTM507として利用される一例となるタイトルマップTMのより詳細なブロック図である。DMは、タイトルを格納するためのタイトルフィールド701と、特定のユーザと関連付けされた任意の情報及び/または当該ユーザまたは加入者位置105と関連付けされた任意の適用可能な契約を格納するための契約パラメータ制約フィールド703を有する。視聴時間705、停止タイミング707、FFカウント値709やRWカウント値711のようないくつかの例が示される。視聴時間705は、リクエスト後ユーザがそのタイトルを視聴しなければならない最大時間を表すために含められる。停止タイミング707は、ユーザが視聴を中断すれば、さらなる支払いなくタイトルの利用が可能である最大時間を表すために含められる。FF及びRWカウント値709と711は、それぞれユーザが早送りまたは巻き戻しを行わねばならない回数をカウントあるいは制限するため含められる。例えば、「巻き戻しなし」条項や「3回までの巻き戻し」条項が視聴契約に含められ、RWカウント値711を利用して、それぞれ巻き戻しの禁止や3回までの巻き戻し制限が行われる。現在のデータポインタ713は、送信済みデータと送信予定データとの間の位置をマークするアドレスまたはポインタを格納するために含められ、これにより、UP503はデータの進行を追跡することができる。データブロック数、サイズ、位置などの情報を含むデータブロックフィールド717の連続あるいはリンクリストのようなデータブロックアドレスまたはポインタのリストを格納するデータセクション715が与えられる。
示されたDMは、多くの変形及び構成または追加的パラメータが、様々な設計パラメータに応じて利用可能であるという点で、単なる一例であるということは理解されるであろう。UP503は、必要に応じて、特定の視聴及び停止タイミングパラメータFF/RWカウントのような適用可能な所定のユーザ契約に従って、DMを初期化する。現在データポインタ713は、開始時に視聴プロセスを初期化するため、ゼロまたは第1データブロックへのポイントにリセットされる。現在データポインタ713のリセットは、DMがすでに格納されているタイトルのため、他のプロセッサ205からコピーされる場合に必要とされる。
図8は、タイトル及びデータの格納と抽出のため、IBSシステム109により利用されるキャッシュ処理及びLRUポリシーを示すブロック図である。LRUポリシーは、RAIDを構成するディスクアレイ207で利用され、まず空のスペースが利用され、もはや空のスペースがなくなったとき、最も以前のデータから上書きされる。このキャッシュ処理法では、データが格納された高速メモリまたは格納場所からいつでも取り出されることが保証される。このキャッシュ処理法は、ディスクアレイ207がライブラリ格納システム201のデータキャッシュとして機能し、メモリ823としてまとめて示されるプロセッサ205の各メモリ305がディスクアレイ207のデータキャッシュとして機能するという点で、階層的なものである。各プロセッサ205のメモリ303のキャッシュメモリとして機能するローカルに読み込まれるサブブロック(LRUベースでまた管理される)の大規模メモリキャッシュやCPU303のレベル2(L2)キャッシュのような追加的なレイヤが存在してもよい。レベル1キャッシュは、典型的には各CPUに内蔵され、図示または説明はされない。各CPU303はCPU827としてまとめて示され、L2キャッシュはL2キャッシュ825としてまとめて示される。ユーザストリーム毎の出力キャッシュを利用して、要求のピークにより生じる格納からの任意のレート変動がバッファされ、ユーザプロセスの終了とともにこれらのバッファは破棄される。
タイトルリクエスト801のスタックは、それぞれ「A」、「B」、「C」などとラベル付けされたタイトルのユーザにより開始されるUTRの簡単化された表示である。第1ブロック803は、それぞれタイトルA、B、C、D及びEのための最初の5つのUTRを表す。格納表示815は、同じサイズの5つまでのタイトルを格納することが可能なよう示されたディスクアレイ207の合計の格納容量の単純化された表示である。もちろん、実際の構成では、ディスクアレイ207の格納容量は実質的により大きなものであり、タイトルは可変サイズである。最初の5つのタイトルA〜Eが、格納表示815により示されるような連続した位置に格納されるよう示されている。再び、この表示は、各タイトルが実際さらなる細分化され、RAIDに分散されるという点で単純化される。まずここで、ディスクアレイ207は初期的には空である。そのため、各タイトルA〜Eはライブラリ格納システム201から抽出されねばならず、IBSシステム109内のデータ抽出時間は最大となる。また、抽出された第1タイトル群のそれぞれは、現在あるタイトルを上書きするのでなく、空のデータ領域に格納される。そのため、各タイトルはLRUポリシーに従って可能な限り長くディスクアレイ207に保持される。
ブロック805に示される次にリクエストされたタイトル「B」は、格納表示815により示されるように、すでに格納されているので、ライブラリ格納システム201でなくディスクアレイ207のRAIDから抽出される。このように、タイトルがディスクアレイ207に格納されている限り、かなり速い抽出が可能である。なぜなら、ディスクアレイ207はライブラリ格納システム201よりかなり高速に動作するからである。タイトルがプロセッサメモリにキャッシュされているとき、当該タイトルはディスクアレイ207からオーダー単位の速さでより高速な抽出が可能となる。同様のことがブロック807に示される次にリクエストされるタイトル「C」に対しても成り立つ。なぜならこのタイトルは格納表示815に示されるように、すでにディスクアレイ207に格納され、ライブラリ格納システム201から再度抽出する必要がないからである。ここで、各タイトルに対して生成され、MD601に格納されているDMは、当該タイトルがディスクアレイ207に格納されている限り、有効とされる。MD601のDMの「マスタ」コピーが同一タイトルをリクエストするプロセッサ205の何れかにコピーされる。従って、タイトルB及びCのもとのDMはコピー及び再利用される。この結果、一度しかリクエストされない場合より、タイトルB及びCはディスクアレイ207により長く保持される。追加的な部分データ方針が選択的に利用されてもよい。ここでは、ライブラリ格納システム201からタイトル全体を抽出するより、ディスクアレイ207に部分的に格納されたタイトルが再利用される。例えば、この部分データ構成では、タイトルBあるいはCが格納表示815において部分的に上書きされたとしても、削除された部分がライブラリ格納システム201から抽出される一方、残った部分は利用される。このような部分データ方針は、追加的なデータ追跡及び管理機能を必要とする。
ディスクアレイ207に空の格納スペースがもはや利用可能でないとき、809で示される新しいタイトルFが次にリクエストされる。ディスクアレイ207の最も以前のデータはタイトルAであり、新しい格納表示817により示されるように、新しいタイトルFはLRUポリシーに従って以前のタイトルAに取って代わる。タイトルB、C、D及びEが新しいタイトルFと共にディスクアレイ207に格納される。新たなタイトルGが、811に示されるように、次にリクエストされると、再びディスクアレイ207の最も以前のデータDが置き換えられる。新たな格納表示819により示されるように、タイトルF、B、C、G及びEが含まれる。813に示されるように、タイトルAが再びリクエストされる。もとのリクエストからのタイトルAのデータはすでに上書きされ、ディスクアレイ207に残っていないため、タイトルAは新しいタイトルとして扱われ、ディスクアレイ207に格納された最も以前のデータと置き換えられる。このようにして、新しい格納表示821により示されるように、新しいタイトルAはディスクアレイ207の最も以前のタイトルEと置き換えられる。LRUポリシーは、データが新たなタイトルによる上書きを行う前に、できるだけ長くディスクアレイ207に当該データを格納するものであると理解されるであろう。
CPU827は、ディスクアレイ207からデータを抽出するのに利用されるユーザプロセス(UP)とローカルRPプロセスを含むタイトルデータを処理するプロセス829を実行する。CPU827は、一般にメモリ823を利用して動作するため、ディスクアレイ207から抽出されるデータは、バックボーンスイッチ203及び/または加入者位置105への転送前に、まずローカルメモリ823に格納される。また、CPU827は、より高速かつより効率的なデータ抽出を可能にするL2キャッシュ825を備えてもよい。CPU827は、存在する場合には、プロセス829によりリクエストされるデータをまずL2キャッシュ825から、次にメモリ823から、最後にディスクアレイ207から自動的に抽出する。データがディスクアレイ207に格納されていない場合、DP505は、前述のように、ライブラリ格納システム201からディスクアレイ207へのタイトルの抽出のため、ロード処理プロセッサ509またはMLP531を呼び出す。このようにして、メモリ823とL2キャッシュ825は、ディスクアレイ207より上位のキャッシュレイヤとして機能する。メモリ823とL2キャッシュ825は一般にLRUポリシーに従い動作する。その結果、新たなデータによる上書き前にできるだけ長くデータはメモリに保持される。LRUポリシーによると、RAMキャッシュ領域がフルで、新たなデータが読み込まれると、RAMのデータの最も以前のセグメントが、ディスクアレイ207で利用されたLRUポリシーと同様にして当該メモリ領域を再利用する新たなコンテンツにより消去される。このようにして、LRU及びキャッシュ処理によると、リクエストされたデータが最近読まれたもののためRAMにまだ存在する場合、ディスクアレイ207にアクセスする必要なくデータはRAMから提供され、ディスクアレイ207にまだ残っている場合、ライブラリ格納システム201からのアクセスよりも、ディスクアレイ207からデータは提供される。これにより、より人気のあるタイトルはメモリまたはディスクドライブに存在する確率が高くなり、ほとんどリクエストされない人気のないタイトルよりはるかに速く抽出することが出きるということが理解されるであろう。
図9は、本発明の一実施例によるシャドウ処理を示すブロック図である。第1プロセッサPa901は、第1タイトルマップTM1905を利用する第1ユーザプロセスUP1903を実行する。第2プロセッサPb907は、シャドウタイトルマップTM1シャドウ911を利用するUP1シャドウ909として示されるUP1のためのシャドウユーザプロセスを実行する。この構成で、1つのプロセッサ上で実行される各通常ユーザプロセスに対して、シャドウユーザプロセスが他のプロセッサ上で実行される。また、ディレクトリプロセスがMD601からコピーされると、シャドウユーザプロセスにより制御されるように、シャドウプロセッサ上でコピーが行われる。UP1903が通常に動作している限り、UP1シャドウ909は単にUP1903を模倣あるいはミラーリングし、相対的に最小の処理を実行する。特に、UP1シャドウ909は、DM1シャドウ911によるDM1905内の現在データ位置のシャドウ処理のような、他のシャドウ機能の中のUP1903の進行を単に追跡する。このように、シャドウ処理UP1シャドウ909とDM1シャドウ911の実現のため、プロセッサPb907により実行されるオーバヘッド処理量は最小である。同様にして、第2プロセッサPb907は、第2タイトルマップDM2915を利用する第2ユーザプロセスUP2913を実行する。第1プロセッサPa901は、シャドウディレクタマップDM2シャドウ919を利用する、UP2シャドウ917として示されるUP2のためのシャドウユーザプロセスを実行する。再び、UP2913が通常動作する限り、UP2シャドウ917は単に模倣またはミラーリングするか、あるいは他のシャドウ機能の中でUP2913の進行を追跡する。
このように、プロセッサPa901とPb907は、少なくとも1つのユーザプロセスに関して互いに追跡を行うということが理解されるであろう。明示的には示されていないが、プロセッサPa901のような所与のプロセッサ上で実行されるすべてのユーザプロセスは、必ずしも同一のプロセッサでない他のプロセッサ205に関するシャドウプロセスによりミラーリングされる。例えば、プロセッサPa901が250のユーザプロセスを実行している場合、250のシャドウプロセスがその他のプロセッサ205に分散されるか、あるいはプロセッサPb907のような少なくとも1つの他のプロセッサ上で実行される。また、プロセッサPa901は、他のプロセッサ205上で実行される他のユーザプロセスに対し少なくとも1つのシャドウプロセスを実行するか、あるいは各プロセッサ205が一般に250までのユーザプロセスを扱うと仮定して、250まであるいはそれ以上のシャドウプロセスを実行するようにしてもよい。一実施例では、プロセッサPa901のような所与のプロセッサ上で実行されるすべてのユーザプロセスが、プロセッサPb907のような他の1つのプロセッサにより、あるいはその反対にシャドウ処理される。
ハートビート信号(heartbeat signal)HB1が、プロセッサPa901からプロセッサPb907に与えられる。HB1信号は、ソフトウェアプロセス、ハードウェアプロセスあるいはその組み合わせにより生成されてもよい。例えば、HB1信号は、プロセッサPa901上で実行されるユーザプロセスUP1903と直接関連付けされてもよいし、あるいはプロセッサPa901上で実行されるすべてのユーザプロセスと関連付けされてもよい。あるいは、HB1信号は、ハードウェアに関連し、プロセッサPa901またはそれのCPUにより生成されてもよい。HB1信号は、もとになるコンピュータの状態を示すよう一般に動作する周期的あるいは連続信号である。例えば、HB1信号がプロセッサPa901により周期的または連続的に生成される(あるいは連続的にネゲートされる)限り、プロセッサPb907はプロセッサPa901が通常動作していると仮定し、その進行をシャドウ処理し続ける。しかしながら、プロセッサPa901が所定期間HB1信号のアサートに失敗するときのような、HB1信号がエラーを示す場合、あるいはHB1信号がネゲートあるいはアサートされる(アース信号あるいはオープン回路ハードウェア信号のような)場合/とき、プロセッサPb907は関連するプロセスあるいはプロセッサPa901のエラーと考え、プロセッサPb907は、ユーザプロセスUP1シャドウ909を駆動して、メインユーザプロセスUP1903を引き継ぐ。UP1シャドウ909がUP1903を追跡しているので、UP1シャドウ909はユーザから見えない方法(transparent manner)でUP1903が終了した地点から正確にほとんどすぐに引継ぎを行う。その結果、対応する加入者位置105におけるエンドユーザはサービスの中断を受けずに済む。HB1信号のタイミングは、シャドウプロセスUP1シャドウ909がサービスの中断なくUP1903のサービスの制御を考えることを可能にするよう設計されている。プロセッサPb907によりプロセッサPa901にアサートされた他のハートビート信号HB2は、プロセッサPb907上で実行される1以上のプロセスのエラー、あるいはプロセッサPb907自身のエラーにより、シャドウプロセスUP2シャドウ917がメインプロセスUP2913の処理を引き継ぐことを可能にするよう同様に動作する。ハートビート信号の1つのフォーマットは、表示されるファイルのマスタプロセスの位置を示す数値であり、それによって、ハートビートステータス標識として機能する。
一実施例では、プロセッサPa901上で実行されるすべてのメインユーザプロセスが、プロセッサPb907上の対応するシャドウプロセスにより、あるいはその反対としてシャドウ処理される。本実施例では、プロセッサ205はすべて対にされ、第1プロセッサが対となる第2プロセッサを、そしてその反対に第2プロセッサが第1プロセッサをそれぞれシャドウ処理する。このようにして、シャドウ処理を行うプロセッサのシャドウプロセスは、プロセッサ205の何れかの不良が起こったとしても、メイン処理を果たすことができる。類似した一連のスイッチ921のうちの対応するものが、メインプロセスとシャドウプロセスとの間のユーザからは見えない自動的なスイッチ処理を可能にするようプロセッサ205の各ペアの出力に配置される。図示されるように、プロセッサPa901の出力はスイッチ921のポート927に接続され、プロセッサPb907の出力はスイッチ921のポート929に接続される。スイッチ921の第3ポート931はプロセッサPa901の変調/復調器MDa923に接続され、もう1つのポート933はプロセッサPb907の変調/復調器MDb925に接続される。スイッチ921は、各ポート927〜933が1Gbps以上で動作する4−ポートイーサネット(登録商標)スイッチなどのアドレスベースのスイッチである。
通常動作中、プロセッサPa901によりアサートされるデータはMDa923に供給され、ポート927に入力されるデータはスイッチ921によりポート931に転送される。同様に、通常動作中、プロセッサPb907によりアサートされるデータはMDb925に供給され、ポート929に入力されるデータはスイッチ921によりポート933に転送される。プロセッサPb907の不良時に、HB2信号がそのようなエラーを示すと、シャドウプロセスUP2シャドウ917がメインプロセスUP2913を引き継ぐ。シャドウプロセスUP2シャドウ917は依然としてMDb925に向けられているデータをスイッチ921のポート927にアサートする。これによって、スイッチ921はデータをポート931でなくそれのポート933に自動転送する。プロセスUP1903によりアサートされたデータはMDa923に向けられたままとされ、ポート927に入力されるデータは依然としてスイッチ921によりポート931に転送される。このようにして、プロセッサPb907の不良はプロセスUP1903及びUP2913に関連付けされた加入者位置105に対して実質的に見えないようになっている。同様にして、プロセッサPa901の不良時には、シャドウプロセスUP1シャドウ909が不良状態のメインプロセスUP1903の引継ぎを行い、データをMDa923に向け、スイッチ921によりポート929からポート931に転送される。このように、プロセッサPa901の不良は、プロセスUP1903及びUP2913に関連付けされた加入者位置105に対して実質的に見えないようになっている。
さらにここで、スイッチ921は上流方向への加入者データを自動処理し、起動されたシャドウプロセスにより修正された加入者位置105から送信された任意の加入者データの受信が行われる。特に、シャドウプロセスUP2シャドウ917がメインプロセスUP2913を引き継ぐため始動すると、不良なメインプロセスUP2913のためプロセッサPb907に向けられたMDb925に送信されるデータはスイッチ921によりポート933からポート927に自動転送され、シャドウプロセスUP2シャドウ917により受信される。同様に、シャドウプロセスUP1シャドウ909がメインプロセスUP1903を引き継ぐため始動すると、不良なメインプロセスUP1903のためプロセッサPa901に向けられたMDa923に送信されるデータはスイッチ921によりポート931からポート929に自動転送され、シャドウプロセスUP1シャドウ909により受信される。
さらにここで、プロセッサPa901がプロセッサPbのシャドウペアとなっている場合、プロセッサPa901(またはPb907)の不良時には、もう一方のプロセッサPb907(またはPa901)が不良状態のプロセッサのすべてのユーザプロセスを受け持つ。このようにして、シャドウ処理を行うプロセッサは即座に両方のプロセッサのためのすべてのユーザに対するすべてのデータ処理を受け持つ。これまでユーザプロセスに関してシャドウプロセスが説明されてきたが、このシャドウプロセスは、例えば、RAIDコントローラ、抽出プロセス、ロードプロセス、ディレクトリプロセス、ビジネスプロセスなどのユーザサービスに関する他の処理機能に対しても利用可能である。ピーク時のような高使用時にこのようなエラーが発生し、プロセッサ205がそのようなプロセッサのペアの合成されたトータル処理を扱えるよう設計されている場合、恐らく残りのプロセッサが両方のプロセッサの全体処理能力をまかなうことはできない。
所与のプロセッサ205の過重加入者負荷(over−subscribed)が生じる場合、例えば、もう一方のプロセッサの不調時などの場合、サービスの低下が起こると考えられる。通常状態では、「バーカーチャンネル(Barker channel)」、プレビュー及び利用可能なビットレート非同期トラフィックのため過剰にネットワーク帯域幅が利用されているかもしれない。エラーが発生し、シャドウプロセスが現在のすべてのプロセスを引き受けることができない場合、バーカーチャンネルまたはプレビューは映像から静止画像に戻るか、あるいはインフォマーシャル(infomercial)のような他のサービスに転じられる。ABRトラフィックは大きく低減されるかもしれない。プロセッサ205の帯域幅の大部分が無料サービスに利用される場合、緊急時にはまずそのようなサービスが削除される。最後の手段として、ユーザストリームがファーストカムファーストサーブ(first−come first−served,FCFS)のような優先基準に従って中断されるか、あるいはより高料金のストリームが維持される。一実施例では、例えば、2つのプロセッサの処理を引き受けようとするシャドウ処理を行うプロセッサが不良状態のプロセッサの全体処理能力を引き受けることができないと判断し、このシャドウ処理を行うプロセッサはその時点で処理可能なプロセスのみを選択的に引き受ける。例えば、シャドウ処理を実行するプロセッサは、FCFS基準などに従いユーザプロセスの一部のみを引き受けるかもしれない。このようにして、一部のユーザはサービスの中断を余儀なくされるが、多くのユーザに対してサービスの中断を回避することができる。
ここで、タイトル及び情報は、データタイプやIBSシステム109の処理能力に応じたライブラリ格納システム201における様々な蓄積フォーマットであるかもしれない。また、データはロード及び格納プロセスの実行中、あるいは抽出及び送出プロセスの実行中に、1以上のプロセスにより処理されてもよい。これまで、MPEG−2データの復号順から表示順への変換、RAID格納のためのECC情報やPVR機能(例えば、早送り、巻き戻し、一時停止)を可能にするタイミング情報の生成などの例が与えられてきた。表示対象あるいは表示中に利用されるコマーシャル、メタデータあるいは追加情報を追加するためのつなぎコンテンツ、契約上の義務(例えば、有効期限など)のような他の情報及びコンテンツが追加されてもよい。追加される情報の多くは、各データブロックのヘッダに含まれてもよい。
一実施例では、追加情報の一部あるいはすべてを含めるため、そしてタイトルがリクエストされ、ディスクアレイ207にロードされたとき、後処理を低減あるいは回避するために、タイトルはライブラリ格納システム201への格納のため指定されたフォーマットに予め記録されてもよい。メタデータの一例となるフォーマットとして、MPEG−7規格によって示されるようなXML(eXtensible Markup Language)がある。一構成では、1以上のプロセッサ205は、受信したコンテンツを所望のフォーマットで格納するための処理及び記録機能を備える。あるいは、別の記録ステーション(図示せず)が、第三者からのコンテンツを所与のフォーマットあるいは標準フォーマットからIBSシステム109による利用のため所望のフォーマットに変換するため与えられる。このように、データは再構成され、上記のような追加情報により補充され、さらにECC情報を含むRAIDフォーマットに予め処理され、その後所望のフォーマットで格納される。このように、処理データライブラリ格納システム201からロードされ、ディスクアレイ207に格納され、及び/またはユーザプロセスによりディスクアレイ207から抽出されると、追加的処理は大きく最小化される。
ここで、ライブラリ格納システム201に格納されている各タイトルは、格納されているデータタイプに応じて、対応する帯域幅またはデータレートと関連付けされてもよい。このように、IBSシステム109は、任意の時点において可変コンテンツを1Mbps以下から20Mbps以上の間で変動するデータレートで処理する。また、IBSシステム109の各構成要素は、常にそれを超えることがない所定の最大帯域幅を有する。例えば、バックボーンスイッチ203と各プロセッサ205は、それらに関連付けされた所与の最大帯域幅を有する。処理中のデータは可変データレートを有するため、過重負荷あるいはボトルネックが発生するシステムの地点でデータはスタックされる。ライブラリ格納システム201からディスクアレイ207へのデータのランダムあるいは擬似ランダムな格納は、ランダムアルゴリズムを使ったとしても完全には解決されないが、帯域幅スタック問題を軽減することができるであろう。
管理プロセッサ210で集中的に実行されるか、あるいはプロセッサ205に分散される管理機能は、過重負荷状態を招く帯域幅スタック処理及び潜在的なスループットのボトルネックを回避するため、帯域幅の管理を行う。一実施例では、管理機能は、各構成要素における帯域幅の利用を追跡し、さらにリクエストされた各タイトルに関連付けされた追加的な帯域幅を追跡する。タイトルがリクエストされると、管理機能は現在の帯域幅と新たなタイトルを追加するのに要する追加的な帯域幅を比較し、任意の与えられた時点でこの新たな帯域幅要件と最大帯域幅パラメータを比較する。このような帯域幅の追跡はまた、最大帯域幅パラメータを潜在的に超えるかもしれない帯域幅使用ピークを回避または最小化するため、経時的に必要な帯域幅を把握する。一実施例では、管理機能は待ち時間及び遅延の増加により、潜在的な過重負荷状態を回避する。このようにして、管理機能が過重負荷状態を特定すると、新たなタイトルリクエストはすぐには開始されず、管理機能による遅延の増加後、帯域幅使用が再計算される。過重負荷状態が依然として解消されない場合、管理機能は過重負荷状態が解消あるいは最小化されるまで、追加的に遅延を増やすことにより再計算を続ける。このように、新たなタイトルは、過重負荷状態を解消または最小化するための計算された遅延の増加後に開始される。一構成では、余分な帯域幅が回避不可能である場合、新たなタイトルはいつまでも遅延される。あるいは、ある遅延により帯域幅使用ピークが最小化された後、管理機能は、経時的に処理を展開し、過重負荷状態を解消するため、すべての余分な過重負荷状態を予想し、帯域幅を再割り当てする。例えば、過重負荷状態を回避するため、追加的な前処理が実行されてもよいし、あるいは分散処理が利用されてもよい。
本発明がそれの好適なものを含む実施例を参照して詳細に説明されたが、他の実施例及び変形が可能かつ考えられる。本発明は、本発明の趣旨及び範囲に合理的に含まれうる変形、修正及び均等なものをカバーするものとされる。当業者は、添付されたクレームにより定義される本発明の趣旨及び範囲から逸脱することなく、本発明と同一の目的を実行する他の構成を設計または修正するための基礎として、開示された概念及び特定の実施例を容易に利用できると認識すべきである。
図1は、本発明の一実施例に従い構成された対話型ブロードバンドサーバ(IBS)システムを含む通信システムの簡素化されたブロック図である。 図2Aは、図1のIBSシステムの一実施例のブロック図である。 図2Bは、図2Aのプロセッサに分散された一例となる光ディスクドライブを利用する図1のIBSシステムの他の実施例を一部のブロック図である。 図3は、図2の各プロセッサの一実施例のブロック図である。 図4は、本発明の一実施例によるRAIDディスク構成を示すブロック図である。 図5Aは、図2の選択されたプロセッサ上で実行されるユーザプロセス(UP)により起動されるタイトルのユーザタイトルリクエスト(UTR)、ロード、格納及び抽出プロセスを示すブロック図である。 図5Bは、リクエストされたタイトルへのアクセス及び格納のための一例となる分散ロードプロセスを示すブロック図である。 図5Cは、図2の分散された光ディスクドライブを利用したリクエストされたタイトルへのアクセス及び格納のための一例となる協調ロードプロセスを示すブロック図である。 図6は、図2のあるプロセッサ上のユーザプロセスによるタイトルのリクエスト及び抽出処理と他のプロセッサ上で実行されるディレクトリプロセスの動作を示すより詳細なブロック図である。 図7は、ユーザプロセス、ディレクトリプロセス、ロードプロセスなどを含む様々なプロセスにより利用される一例となるタイトルマップのより詳細なブロック図である。 図8は、タイトル及びデータの格納及び抽出のため図1のIBSシステムにより利用されるキャッシュ処理及びLRU(Least−Recently−Used)法を示すブロック図である。 図9は、本発明の一実施例によるシャドウ処理を示すブロック図である。

Claims (41)

  1. 複数のプロセッサと、
    前記複数のプロセッサに接続され、該複数のプロセッサの各々の間の高速通信を可能にするバックボーンスイッチと、
    前記複数のプロセッサに接続及び分散される複数の格納装置であって、各自が該複数の格納装置の2以上に分散されるデータブロックに分割される少なくとも1つのタイトルを格納する格納装置と、
    複数の加入者位置のインタフェースをとるための前記複数のプロセッサ上での実行のための複数のユーザプロセスであって、各自が前記複数のプロセッサの2以上から前記バックボーンスイッチを介しリクエストされたタイトルを抽出し、リクエストを行う加入者位置への送信のため前記リクエストされたタイトルを構成するよう動作するユーザプロセスとからなることを特徴とする対話型ブロードバンドサーバシステム。
  2. 請求項1記載の対話型ブロードバンドサーバシステムであって、前記複数の格納装置は複数のRAIDグループに構成され、格納された各タイトルのデータブロックは前記複数のRAIDグループに分散されていることを特徴とする対話型ブロードバンドサーバシステム。
  3. 請求項2記載の対話型ブロードバンドサーバシステムであって、各データブロックはさらに前記複数のRAIDグループの1つに分散される複数のサブブロックに分割されることを特徴とする対話型ブロードバンドサーバシステム。
  4. 請求項2記載の対話型ブロードバンドサーバシステムであって、RAIDグループ抽出及び構成機能は前記複数のユーザプロセスに分散されていることを特徴とする対話型ブロードバンドサーバシステム。
  5. 請求項1記載の対話型ブロードバンドサーバシステムであって、各ユーザプロセスは、前記バックボーンスイッチを介して、タイトルのリクエストを転送し、該リクエストされたタイトルのデータブロックの位置を特定するタイトルマップを受信し、該タイトルマップを利用して前記バックボーンスイッチを介し前記複数の格納装置から前記データブロックを抽出するよう動作することを特徴とする対話型ブロードバンドサーバシステム。
  6. 請求項5記載の対話型ブロードバンドサーバシステムであって、各タイトルマップはタイトルの各データブロックが前記複数の格納装置のどこに格納されているかを定義することを特徴とする対話型ブロードバンドサーバシステム。
  7. 請求項1記載の対話型ブロードバンドサーバシステムであって、さらに、
    少なくとも1つのタイトルを格納するための少なくとも1つの格納ソースと、
    前記複数のプロセッサの少なくとも1つで実行され、各自が前記少なくとも1つの格納ソースからタイトルを抽出し、該タイトルをデータブロックに分割し、前記複数のプロセッサ及び前記バックボーンスイッチを介し前記複数の格納装置に前記データブロックを分散させるよう構成された少なくとも1つのロードプロセスとを備えることを特徴とする対話型ブロードバンドサーバシステム。
  8. 請求項7記載の対話型ブロードバンドサーバシステムであって、さらに、
    前記複数のプロセッサの少なくとも1つで実行され、各自がリクエストされたタイトルのデータブロックを前記複数の格納装置から抽出し、該抽出されたデータブロックをリクエストを行ったユーザプロセスに転送するよう構成された少なくとも1つの抽出プロセスを備えることを特徴とする対話型ブロードバンドサーバシステム。
  9. 請求項7記載の対話型ブロードバンドサーバシステムであって、前記複数のプロセッサの少なくとも1つは前記複数の格納装置に格納された各タイトルのためのタイトルマップを有するマスタディレクトリを備えたディレクトリプロセスを実行し、各自が対応するタイトルの各データブロックを配置するタイトルマップを有することを特徴とする対話型ブロードバンドサーバシステム。
  10. 請求項9記載の対話型ブロードバンドサーバシステムであって、前記ディレクトリプロセスは、前記複数のユーザプロセスの何れかからタイトルリクエストを受信し、前記複数の格納装置において格納スペースを割り当て、対応するタイトルマップを生成し、前記少なくとも1つの格納ソースから前記複数の格納装置に前記リクエストされたタイトルのコピーを転送するためロードプロセスを呼び出し、前記複数のユーザプロセスの何れかにタイトルマップを転送するよう動作し、前記ロードプロセスは対応するタイトルマップに従って各データブロックを格納することを特徴とする対話型ブロードバンドサーバシステム。
  11. 請求項9記載の対話型ブロードバンドサーバシステムであって、前記ディレクトリプロセスは、前記複数の格納装置に格納スペースを割り当てるとき、LRU(Least Recently Used)ポリシーを利用することを特徴とする対話型ブロードバンドサーバシステム。
  12. 請求項9記載の対話型ブロードバンドサーバシステムであって、前記複数の格納装置は複数のRAIDグループに構成され、格納されている各タイトルのデータブロックは前記複数のRAIDグループに均等に分散されていることを特徴とする対話型ブロードバンドサーバシステム。
  13. 請求項7記載の対話型ブロードバンドサーバシステムであって、前記少なくとも1つの格納ソースは、各自が前記複数のプロセッサの対応するプロセッサと接続され、少なくとも1つのタイトルを格納する記憶メディアを受け入れるよう構成された複数のメディアリーダを備えることを特徴とする対話型ブロードバンドサーバシステム。
  14. 請求項13記載の対話型ブロードバンドサーバシステムであって、前記複数のメディアリーダの各々は光ディスクドライブを備えることを特徴とする対話型ブロードバンドサーバシステム。
  15. 請求項13記載の対話型ブロードバンドサーバシステムであって、前記少なくとも1つの格納ソースは、複数のタイトルを格納するための複数の記憶メディアを有し、前記バックボーンスイッチを介しタイトルリクエストを受信し、前記複数のメディアリーダの何れかに対応する記憶メディアをロードするよう構成されたライブラリ格納システムを備えることを特徴とする対話型ブロードバンドサーバシステム。
  16. 請求項13記載の対話型ブロードバンドサーバシステムであって、前記複数のプロセッサの各々は、前記複数の格納装置に接続された第1周辺インタフェースと、前記複数のメディアリーダに接続された第2周辺インタフェースと、前記バックボーンスイッチのポートに接続された第3周辺インタフェースと、前記複数の加入者位置の少なくとも1つとインタフェースをとるための第4周辺インタフェースとを有するパーソナルコンピュータ(PC)構成要素を備えたPCシステムを有することを特徴とする対話型ブロードバンドサーバシステム。
  17. 請求項1記載の対話型ブロードバンドサーバシステムであって、前記複数のプロセッサは、処理サポートシステムとビジネスサポートシステムを実行する管理プロセッサを有することを特徴とする対話型ブロードバンドサーバシステム。
  18. 請求項1記載の対話型ブロードバンドサーバシステムであって、前記バックボーンスイッチはイーサネット(登録商標)スイッチを備えることを特徴とする対話型ブロードバンドサーバシステム。
  19. 請求項1記載の対話型ブロードバンドサーバシステムであって、少なくとも1つのタイトルは、ロード及び処理オーバヘッドを軽減するため、前処理され、所定のフォーマットで格納されることを特徴とする対話型ブロードバンドサーバシステム。
  20. 請求項19記載の対話型ブロードバンドサーバシステムであって、前記少なくとも1つのタイトルは、予め暗号化され、予め計算された冗長情報を有し、転送プロトコルを含むことを特徴とする対話型ブロードバンドサーバシステム。
  21. 請求項1記載の対話型ブロードバンドサーバシステムであって、1つのプロセッサ上で実行される複数のプロセスの少なくとも1つは他のプロセッサ上でシャドウ処理されることを特徴とする対話型ブロードバンドサーバシステム。
  22. 請求項21記載の対話型ブロードバンドサーバシステムであって、前記複数のプロセッサの各々はシャドウ処理を実行するプロセッサへのハートビート信号を生成することを特徴とする対話型ブロードバンドサーバシステム。
  23. 請求項22記載の対話型ブロードバンドサーバシステムであって、各ハートビート信号は、加入者位置に送られるタイトルのマスタプロセスの位置を示し、ハートビートステータス標識として機能する数値であることを特徴とする対話型ブロードバンドサーバシステム。
  24. 請求項21記載の対話型ブロードバンドサーバシステムであって、さらに、
    第1プロセッサの出力に接続される第1ポートと、前記第1プロセッサによりサポートされる第1加入者位置とのインタフェースのための第2ポートと、前記第1プロセッサをシャドウ処理する第2プロセッサの出力に接続される第3ポートと、前記第2プロセッサによりサポートされる第2加入者位置とのインタフェースのための第4ポートとを有する出力スイッチを備えることを特徴とする対話型ブロードバンドサーバシステム。
  25. 複数の双方向ポートを含むバックボーンスイッチと、
    複数のディスクドライブを備えたディスクアレイであって、該ディスクアレイに分散される複数のデータブロックに分割された複数のタイトルを格納するディスクアレイと、
    各自が前記バックボーンスイッチのポートに接続された第1インタフェースと、前記ディスクアレイの少なくとも1つのディスクドライブに接続された第2インタフェースと、複数の加入者装置とのインタフェースのためのネットワークに接続するための第3インタフェースとを含む複数のインタフェースを有する複数のプロセッサと、
    前記複数のプロセッサ上の実行のためであり、各プロセッサが前記複数のプロセッサの2以上からリクエストされたタイトルの複数のデータブロックを抽出し、前記リクエストされたタイトルを構成し、前記第3インタフェースを介し前記リクエストされたタイトルを送信することを可能にする複数のプロセスとからなることを特徴とする対話型ブロードバンドサーバシステム。
  26. 請求項25記載の対話型ブロードバンドサーバシステムであって、前記ディスクアレイは複数のRAIDグループに構成され、格納されている各タイトルのデータブロックは前記複数のRAIDグループに分散されることを特徴とする対話型ブロードバンドサーバシステム。
  27. 請求項26記載の対話型ブロードバンドサーバシステムであって、各RAIDグループは、各自が前記複数のプロセッサの異なる1つに接続された複数のディスクドライブを備えることを特徴とする対話型ブロードバンドサーバシステム。
  28. 請求項27記載の対話型ブロードバンドサーバシステムであって、各データブロックはさらに、各自がRAIDグループの別のディスクドライブに格納された複数のサブブロックに分割されることを特徴とする対話型ブロードバンドサーバシステム。
  29. 請求項25記載の対話型ブロードバンドサーバシステムであって、複数のタイトルの各々は、前記複数のプロセッサの対応する第3インタフェースを介し対応する複数の加入者装置に同時に送られるアイソクロナスデータコンテンツを有することを特徴とする対話型ブロードバンドサーバシステム。
  30. 請求項25記載の対話型ブロードバンドサーバシステムであって、さらに、
    複数のメディアリーダと、
    各自が前記複数のメディアリーダの1つに接続された第4インタフェースをさらに有する前記複数のプロセッサの複数のインタフェースと、
    前記バックボーンスイッチのポートに接続され、複数のタイトルをまとめて格納する複数の記憶メディアを備え、前記バックボーンスイッチを介しタイトルリクエストを受信し、前記複数のメディアリーダの利用可能な何れかに対応する記憶メディアをロードするよう構成されたライブラリ格納システムとを備えることを特徴とする対話型ブロードバンドサーバシステム。
  31. 請求項30記載の対話型ブロードバンドサーバシステムであって、前記複数のプロセスは、タイトルをメディアリーダから抽出し、前記タイトルをデータブロックに分割し、前記データブロックを前記複数のプロセッサを介し前記ディスクアレイに分散させるよう構成された少なくとも1つのロードプロセスを含むことを特徴とする対話型ブロードバンドサーバシステム。
  32. 請求項31記載の対話型ブロードバンドサーバシステムであって、前記ロードプロセスはさらに、前記タイトルの各データブロックを配置するタイトルマップを生成することを特徴とする対話型ブロードバンドサーバシステム。
  33. 請求項32記載の対話型ブロードバンドサーバシステムであって、前記複数のプロセスは、前記タイトルマップを抽出し、該タイトルマップを利用して前記タイトルの各データブロックを抽出するプロセッサ上で実行される少なくとも1つのユーザプロセスを有することを特徴とする対話型ブロードバンドサーバシステム。
  34. 請求項25記載の対話型ブロードバンドサーバシステムであって、ロード及び処理オーバヘッドを軽減するため、少なくとも1つのタイトルが前処理され、所定のフォーマットで格納されることを特徴とする対話型ブロードバンドサーバシステム。
  35. 請求項34記載の対話型ブロードバンドサーバシステムであって、前記少なくとも1つのタイトルは予め暗号化されることを特徴とする対話型ブロードバンドサーバシステム。
  36. 請求項34記載の対話型ブロードバンドサーバシステムであって、前記少なくとも1つのタイトルは予め計算された冗長情報を含むことを特徴とする対話型ブロードバンドサーバシステム。
  37. 請求項34記載の対話型ブロードバンドサーバシステムであって、前記少なくとも1つのタイトルは予め格納された転送プロトコルを含むことを特徴とする対話型ブロードバンドサーバシステム。
  38. 請求項34記載の対話型ブロードバンドサーバシステムであって、前記少なくとも1つのタイトルは格納されているタイトルコンテンツ内の特定位置への複数のポインタを含むことを特徴とする対話型ブロードバンドサーバシステム。
  39. 請求項38記載の対話型ブロードバンドサーバシステムであって、前記複数のポインタは複数のタイムスタンプを含むことを特徴とする対話型ブロードバンドサーバシステム。
  40. 複数のポートを有するバックボーンスイッチと、
    各自が前記複数のポートの1つを介し前記バックボーンスイッチに接続された複数のプロセッサと、
    各自が前記複数のプロセッサの対応するプロセッサに接続された複数のメディアリーダと、
    前記バックボーンスイッチのポートに接続され、複数のタイトルをまとめて格納する複数の記憶メディアを有し、プロセッサからタイトルリクエストを受信し、前記複数のメディアリーダの利用可能な何れかに対応する記憶メディアをロードするよう構成されたライブラリ格納システムと、
    前記複数のプロセッサに分散された複数の格納装置と、
    前記複数のプロセッサ上で実行され、一括的にタイトルリクエストを送信し、前記利用可能なメディアリーダからリクエストされたタイトルを抽出し、前記リクエストされたタイトルを前記複数の格納装置に格納し、前記リクエストされたタイトルを前記複数のプロセッサの1つに送る少なくとも1つのプロセスとからなることを特徴とする対話型コンテンツエンジン。
  41. 請求項40記載の対話型コンテンツエンジンであって、前記複数のプロセスは、前記タイトルリクエストを前記ライブラリ格納システムに転送し、前記リクエストされたタイトルをメディアリーダから抽出し、前記リクエストされたタイトルをデータブロックに分割し、前記データブロックを前記複数のプロセッサを介し前記複数の格納装置に格納し、前記リクエストされたタイトルの各データブロックを配置するタイトルマップを生成する少なくとも1つのロードプロセスと、前記タイトルマップを抽出し、該タイトルマップを利用して前記リクエストされたタイトルの各データブロックを抽出する少なくとも1つのユーザプロセスとを備えることを特徴とする対話型コンテンツエンジン。
JP2003548112A 2001-11-28 2002-11-27 対話型ブロードバンドサーバシステム Expired - Fee Related JP4328207B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US33385601P 2001-11-28 2001-11-28
US10/304,378 US7437472B2 (en) 2001-11-28 2002-11-26 Interactive broadband server system
PCT/US2002/038346 WO2003046749A1 (en) 2001-11-28 2002-11-27 Interactive broadband server system

Publications (3)

Publication Number Publication Date
JP2005527130A true JP2005527130A (ja) 2005-09-08
JP2005527130A5 JP2005527130A5 (ja) 2006-01-12
JP4328207B2 JP4328207B2 (ja) 2009-09-09

Family

ID=26973990

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003548112A Expired - Fee Related JP4328207B2 (ja) 2001-11-28 2002-11-27 対話型ブロードバンドサーバシステム

Country Status (8)

Country Link
US (1) US7437472B2 (ja)
EP (1) EP1451709A4 (ja)
JP (1) JP4328207B2 (ja)
CN (1) CN100430915C (ja)
AU (1) AU2002359552A1 (ja)
CA (1) CA2465909C (ja)
MX (1) MXPA04005061A (ja)
WO (1) WO2003046749A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007215028A (ja) * 2006-02-10 2007-08-23 Ricoh Co Ltd データ暗号化装置、データ暗号化方法、データ暗号化プログラム、および記録媒体
KR101256225B1 (ko) * 2006-08-10 2013-04-17 주식회사 엘지씨엔에스 디바이스 인터페이스 방법 및 그 장치
JPWO2017068928A1 (ja) * 2015-10-21 2018-08-30 ソニー株式会社 情報処理装置及びその制御方法、並びにコンピュータ・プログラム

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7031474B1 (en) 1999-10-04 2006-04-18 Srs Labs, Inc. Acoustic correction apparatus
US7277767B2 (en) 1999-12-10 2007-10-02 Srs Labs, Inc. System and method for enhanced streaming audio
AU2002247257A1 (en) * 2001-03-02 2002-09-19 Kasenna, Inc. Metadata enabled push-pull model for efficient low-latency video-content distribution over a network
KR100502106B1 (ko) * 2002-10-17 2005-07-20 한국전자통신연구원 스트라이핑 기법을 이용한 레이드 시스템에서의 데이터재구성 방법
US8923186B1 (en) * 2003-05-08 2014-12-30 Dynamic Mesh Networks, Inc. Chirp networks
US9172738B1 (en) 2003-05-08 2015-10-27 Dynamic Mesh Networks, Inc. Collaborative logistics ecosystem: an extensible framework for collaborative logistics
US10785316B2 (en) 2008-11-24 2020-09-22 MeshDynamics Evolutionary wireless networks
US9363651B1 (en) 2003-05-08 2016-06-07 Dynamic Mesh Networks, Inc. Chirp networks
US9258765B1 (en) 2003-05-08 2016-02-09 Dynamic Mesh Networks, Inc. Chirp networks
US7437458B1 (en) * 2003-06-13 2008-10-14 Juniper Networks, Inc. Systems and methods for providing quality assurance
SG145736A1 (en) * 2003-08-12 2008-09-29 Research In Motion Ltd System and method for processing encoded messages
JP4437650B2 (ja) 2003-08-25 2010-03-24 株式会社日立製作所 ストレージシステム
US7885186B2 (en) * 2003-10-03 2011-02-08 Ciena Corporation System and method of adaptively managing bandwidth on optical links shared by multiple-services using virtual concatenation and link capacity adjustment schemes
JP4257783B2 (ja) * 2003-10-23 2009-04-22 株式会社日立製作所 論理分割可能な記憶装置及び記憶装置システム
DE602004029925D1 (de) * 2003-12-02 2010-12-16 Interactive Content Engines Ll Synchronisiertes datentransfersystem
CN1332334C (zh) * 2004-01-17 2007-08-15 中国科学院计算技术研究所 一种多处理机通信装置及其通信方法
JP2005267008A (ja) * 2004-03-17 2005-09-29 Hitachi Ltd ストレージ管理方法およびストレージ管理システム
US7681105B1 (en) * 2004-08-09 2010-03-16 Bakbone Software, Inc. Method for lock-free clustered erasure coding and recovery of data across a plurality of data stores in a network
US7681104B1 (en) * 2004-08-09 2010-03-16 Bakbone Software, Inc. Method for erasure coding data across a plurality of data stores in a network
CA2584525C (en) 2004-10-25 2012-09-25 Rick L. Orsini Secure data parser method and system
US20070028010A1 (en) * 2005-08-01 2007-02-01 Texas Instruments, Inc. Peripheral device utilization monitoring
JP4771528B2 (ja) * 2005-10-26 2011-09-14 キヤノン株式会社 分散処理システムおよび分散処理方法
ES2658097T3 (es) 2005-11-18 2018-03-08 Security First Corporation Método y sistema de análisis de datos seguro
EP1811378A2 (en) * 2006-01-23 2007-07-25 Xyratex Technology Limited A computer system, a computer and a method of storing a data file
US7930468B2 (en) * 2006-05-23 2011-04-19 Dataram, Inc. System for reading and writing on flash memory device having plural microprocessors
US7949820B2 (en) * 2006-05-23 2011-05-24 Dataram, Inc. Method for managing memory access and task distribution on a multi-processor storage device
US7882320B2 (en) * 2006-05-23 2011-02-01 Dataram, Inc. Multi-processor flash memory storage device and management system
EP2050002A2 (en) * 2006-08-01 2009-04-22 Massachusetts Institute of Technology Extreme virtual memory
US8806227B2 (en) * 2006-08-04 2014-08-12 Lsi Corporation Data shredding RAID mode
US20110276657A1 (en) * 2007-12-20 2011-11-10 Chalk Media Service Corp. Method and system for the delivery of large content assets to a mobile device over a mobile network
KR101426270B1 (ko) * 2008-02-13 2014-08-05 삼성전자주식회사 소프트웨어의 전자 서명 생성 방법, 검증 방법, 그 장치,및 그 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로읽을 수 있는 기록매체
WO2009151789A2 (en) * 2008-04-17 2009-12-17 Sony Corporation Dual-type of playback for multimedia content
KR101496975B1 (ko) * 2008-05-28 2015-03-02 삼성전자주식회사 고체 상태 디스크 및 이에 대한 입출력방법
US8949695B2 (en) * 2009-08-27 2015-02-03 Cleversafe, Inc. Method and apparatus for nested dispersed storage
RU2622621C2 (ru) * 2009-11-04 2017-06-16 Амотек Ко., Лтд. Система и способ для потоковой передачи воспроизводимого контента
US20110179185A1 (en) * 2010-01-20 2011-07-21 Futurewei Technologies, Inc. System and Method for Adaptive Differentiated Streaming
CN102143347B (zh) * 2010-02-01 2013-09-11 广州市启天科技股份有限公司 一种多方远程互动系统
US8671265B2 (en) 2010-03-05 2014-03-11 Solidfire, Inc. Distributed data storage system providing de-duplication of data using block identifiers
US8514651B2 (en) 2010-11-22 2013-08-20 Marvell World Trade Ltd. Sharing access to a memory among clients
US9054992B2 (en) 2011-12-27 2015-06-09 Solidfire, Inc. Quality of service policy sets
US9838269B2 (en) * 2011-12-27 2017-12-05 Netapp, Inc. Proportional quality of service based on client usage and system metrics
US9195622B1 (en) 2012-07-11 2015-11-24 Marvell World Trade Ltd. Multi-port memory that supports multiple simultaneous write operations
CN105051750B (zh) 2013-02-13 2018-02-23 安全第一公司 用于加密文件系统层的系统和方法
US9258664B2 (en) 2013-05-23 2016-02-09 Comhear, Inc. Headphone audio enhancement system
US20150244795A1 (en) 2014-02-21 2015-08-27 Solidfire, Inc. Data syncing in a distributed system
US10135896B1 (en) * 2014-02-24 2018-11-20 Amazon Technologies, Inc. Systems and methods providing metadata for media streaming
US9798728B2 (en) 2014-07-24 2017-10-24 Netapp, Inc. System performing data deduplication using a dense tree data structure
US10133511B2 (en) 2014-09-12 2018-11-20 Netapp, Inc Optimized segment cleaning technique
US9671960B2 (en) 2014-09-12 2017-06-06 Netapp, Inc. Rate matching technique for balancing segment cleaning and I/O workload
US9836229B2 (en) 2014-11-18 2017-12-05 Netapp, Inc. N-way merge technique for updating volume metadata in a storage I/O stack
CN107209702B (zh) 2014-12-09 2020-11-03 马维尔以色列(M.I.S.L.)有限公司 用于在存储器中执行同时读取和写入操作的系统和方法
US9720601B2 (en) 2015-02-11 2017-08-01 Netapp, Inc. Load balancing technique for a storage array
US9762460B2 (en) 2015-03-24 2017-09-12 Netapp, Inc. Providing continuous context for operational information of a storage system
US9710317B2 (en) 2015-03-30 2017-07-18 Netapp, Inc. Methods to identify, handle and recover from suspect SSDS in a clustered flash array
US11099746B2 (en) 2015-04-29 2021-08-24 Marvell Israel (M.I.S.L) Ltd. Multi-bank memory with one read port and one or more write ports per cycle
US11403173B2 (en) 2015-04-30 2022-08-02 Marvell Israel (M.I.S.L) Ltd. Multiple read and write port memory
WO2016174521A1 (en) 2015-04-30 2016-11-03 Marvell Israel (M-I.S.L.) Ltd. Multiple read and write port memory
US10089018B2 (en) 2015-05-07 2018-10-02 Marvell Israel (M.I.S.L) Ltd. Multi-bank memory with multiple read ports and multiple write ports per cycle
US9740566B2 (en) 2015-07-31 2017-08-22 Netapp, Inc. Snapshot creation workflow
WO2017068928A1 (ja) * 2015-10-21 2017-04-27 ソニー株式会社 情報処理装置及びその制御方法、並びにコンピュータ・プログラム
US10929022B2 (en) 2016-04-25 2021-02-23 Netapp. Inc. Space savings reporting for storage system supporting snapshot and clones
CN107526533B (zh) * 2016-06-21 2020-08-11 伊姆西Ip控股有限责任公司 存储管理方法及设备
US10642763B2 (en) 2016-09-20 2020-05-05 Netapp, Inc. Quality of service policy sets
US10802757B2 (en) * 2018-07-30 2020-10-13 EMC IP Holding Company LLC Automated management of write streams for multi-tenant storage
CN112672200B (zh) * 2020-12-14 2023-10-24 完美世界征奇(上海)多媒体科技有限公司 视频生成方法和装置、电子设备和存储介质

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55157181A (en) * 1979-05-25 1980-12-06 Nec Corp Buffer memory control system
US5421031A (en) * 1989-08-23 1995-05-30 Delta Beta Pty. Ltd. Program transmission optimisation
US5247347A (en) * 1991-09-27 1993-09-21 Bell Atlantic Network Services, Inc. Pstn architecture for video-on-demand services
JP2666033B2 (ja) * 1993-02-18 1997-10-22 日本アイ・ビー・エム株式会社 データ供給装置
EP0625857B1 (en) * 1993-05-19 1998-06-24 ALCATEL BELL Naamloze Vennootschap Video server
DE69317267T2 (de) * 1993-05-19 1998-06-25 Alsthom Cge Alcatel Netzwerk für Video auf Anfrage
US5581479A (en) * 1993-10-15 1996-12-03 Image Telecommunications Corp. Information service control point, which uses different types of storage devices, which retrieves information as blocks of data, and which uses a trunk processor for transmitting information
US5473362A (en) * 1993-11-30 1995-12-05 Microsoft Corporation Video on demand system comprising stripped data across plural storable devices with time multiplex scheduling
JP3617089B2 (ja) * 1993-12-27 2005-02-02 株式会社日立製作所 映像蓄積配送装置及び映像蓄積配送システム
US5732239A (en) * 1994-05-19 1998-03-24 Starlight Networks Method for operating a disk storage system which stores video data so as to maintain the continuity of a plurality of video streams
US5521631A (en) * 1994-05-25 1996-05-28 Spectravision, Inc. Interactive digital video services system with store and forward capabilities
US5606359A (en) * 1994-06-30 1997-02-25 Hewlett-Packard Company Video on demand system with multiple data sources configured to provide vcr-like services
US5671377A (en) * 1994-07-19 1997-09-23 David Sarnoff Research Center, Inc. System for supplying streams of data to multiple users by distributing a data stream to multiple processors and enabling each user to manipulate supplied data stream
DE69521374T2 (de) * 1994-08-24 2001-10-11 Hyundai Electronics America, Milpitas Videoserver und diesen verwendendes System
US5712976A (en) * 1994-09-08 1998-01-27 International Business Machines Corporation Video data streamer for simultaneously conveying same one or different ones of data blocks stored in storage node to each of plurality of communication nodes
WO1996017306A2 (en) * 1994-11-21 1996-06-06 Oracle Corporation Media server
US5729279A (en) * 1995-01-26 1998-03-17 Spectravision, Inc. Video distribution system
EP0727750B1 (en) * 1995-02-17 2004-05-12 Kabushiki Kaisha Toshiba Continuous data server apparatus and data transfer scheme enabling multiple simultaneous data accesses
US5608448A (en) 1995-04-10 1997-03-04 Lockheed Martin Corporation Hybrid architecture for video on demand server
US5742892A (en) 1995-04-18 1998-04-21 Sun Microsystems, Inc. Decoder for a software-implemented end-to-end scalable video delivery system
US5721815A (en) * 1995-06-07 1998-02-24 International Business Machines Corporation Media-on-demand communication system and method employing direct access storage device
JP3088268B2 (ja) * 1995-06-21 2000-09-18 日本電気株式会社 ビデオ・オン・デマンドシステムにおけるビデオサーバ
US5678061A (en) * 1995-07-19 1997-10-14 Lucent Technologies Inc. Method for employing doubly striped mirroring of data and reassigning data streams scheduled to be supplied by failed disk to respective ones of remaining disks
US5790794A (en) 1995-08-11 1998-08-04 Symbios, Inc. Video storage unit architecture
US6049823A (en) * 1995-10-04 2000-04-11 Hwang; Ivan Chung-Shung Multi server, interactive, video-on-demand television system utilizing a direct-access-on-demand workgroup
US5862312A (en) * 1995-10-24 1999-01-19 Seachange Technology, Inc. Loosely coupled mass storage computer cluster
US5978843A (en) * 1995-12-06 1999-11-02 Industrial Technology Research Institute Scalable architecture for media-on-demand servers
US6128467A (en) * 1996-03-21 2000-10-03 Compaq Computer Corporation Crosspoint switched multimedia system
US6032200A (en) * 1996-09-30 2000-02-29 Apple Computer, Inc. Process scheduling for streaming data through scheduling of disk jobs and network jobs and the relationship of the scheduling between these types of jobs
US5974503A (en) * 1997-04-25 1999-10-26 Emc Corporation Storage and access of continuous media files indexed as lists of raid stripe sets associated with file names
US5892915A (en) * 1997-04-25 1999-04-06 Emc Corporation System having client sending edit commands to server during transmission of continuous media from one clip in play list for editing the play list
US6230200B1 (en) * 1997-09-08 2001-05-08 Emc Corporation Dynamic modeling for resource allocation in a file server
US6134596A (en) * 1997-09-18 2000-10-17 Microsoft Corporation Continuous media file server system and method for scheduling network resources to play multiple files having different data transmission rates
US6415373B1 (en) * 1997-12-24 2002-07-02 Avid Technology, Inc. Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner
US6374336B1 (en) * 1997-12-24 2002-04-16 Avid Technology, Inc. Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner
US6182128B1 (en) * 1998-03-05 2001-01-30 Touchmusic Entertainment Llc Real-time music distribution systems
US6101547A (en) 1998-07-14 2000-08-08 Panasonic Technologies, Inc. Inexpensive, scalable and open-architecture media server
US6370579B1 (en) * 1998-10-21 2002-04-09 Genuity Inc. Method and apparatus for striping packets over parallel communication links
US6289383B1 (en) * 1998-11-30 2001-09-11 Hewlett-Packard Company System and method for managing data retrieval bandwidth
US6401126B1 (en) * 1999-03-10 2002-06-04 Microsoft Corporation File server system and method for scheduling data streams according to a distributed scheduling policy
US6289376B1 (en) * 1999-03-31 2001-09-11 Diva Systems Corp. Tightly-coupled disk-to-CPU storage server
US6275898B1 (en) * 1999-05-13 2001-08-14 Lsi Logic Corporation Methods and structure for RAID level migration within a logical unit
US6604155B1 (en) * 1999-11-09 2003-08-05 Sun Microsystems, Inc. Storage architecture employing a transfer node to achieve scalable performance
JP2001166887A (ja) * 1999-12-08 2001-06-22 Sony Corp データ記録再生装置及びデータ記録再生方法
WO2001043438A1 (en) * 1999-12-10 2001-06-14 Diva Systems Corporation Method and apparatus for storing content within a video on demand environment
US6898285B1 (en) * 2000-06-02 2005-05-24 General Instrument Corporation System to deliver encrypted access control information to support interoperability between digital information processing/control equipment
US20020157113A1 (en) * 2001-04-20 2002-10-24 Fred Allegrezza System and method for retrieving and storing multimedia data
US20030046704A1 (en) * 2001-09-05 2003-03-06 Indra Laksono Method and apparatus for pay-per-quality of service for bandwidth consumption in a video system
US6907466B2 (en) * 2001-11-08 2005-06-14 Extreme Networks, Inc. Methods and systems for efficiently delivering data to a plurality of destinations in a computer network

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007215028A (ja) * 2006-02-10 2007-08-23 Ricoh Co Ltd データ暗号化装置、データ暗号化方法、データ暗号化プログラム、および記録媒体
KR101256225B1 (ko) * 2006-08-10 2013-04-17 주식회사 엘지씨엔에스 디바이스 인터페이스 방법 및 그 장치
JPWO2017068928A1 (ja) * 2015-10-21 2018-08-30 ソニー株式会社 情報処理装置及びその制御方法、並びにコンピュータ・プログラム
US10986206B2 (en) 2015-10-21 2021-04-20 Sony Corporation Information processing apparatus, control method thereof, and computer readable medium for visual information sharing

Also Published As

Publication number Publication date
EP1451709A4 (en) 2010-02-17
CA2465909C (en) 2009-09-15
MXPA04005061A (es) 2004-08-19
AU2002359552A1 (en) 2003-06-10
US20030115282A1 (en) 2003-06-19
CN100430915C (zh) 2008-11-05
WO2003046749A1 (en) 2003-06-05
US7437472B2 (en) 2008-10-14
CA2465909A1 (en) 2003-06-05
JP4328207B2 (ja) 2009-09-09
CN1596404A (zh) 2005-03-16
EP1451709A1 (en) 2004-09-01

Similar Documents

Publication Publication Date Title
JP4328207B2 (ja) 対話型ブロードバンドサーバシステム
US5805804A (en) Method and apparatus for scalable, high bandwidth storage retrieval and transportation of multimedia data on a network
CA2841216C (en) Modular storage server architecture with dynamic data management
KR100231220B1 (ko) 다수의 디스크상에 저장된 스트라이프들로 분할되어 있는 데이타 유닛들중 요청된 데이타 유닛을 검색하는 방법 및 장치(A disk access method for delivering multimedia and video information on ctemand over wide area networks)
JP3617089B2 (ja) 映像蓄積配送装置及び映像蓄積配送システム
Laursen et al. Oracle media server: providing consumer based interactive access to multimedia data
WO1996017306A9 (en) Media server
US20030204856A1 (en) Distributed server video-on-demand system
JP2005102242A (ja) ビデオ・データの提供方法
CA2444438A1 (en) System and method for retrieving and storing multimedia data
JPH0887385A (ja) キャッシュ管理を有するビデオ用に最適化された媒体ストリーマ
JPH08154236A (ja) ビデオ用に最適化された媒体ストリーマ・データ・フロー・アーキテクチャ
MXPA06006330A (es) Sistema de transferencia de datos sincronizado.
JPH08154233A (ja) ビデオ用に最適化された媒体ストリーマ
JPH08130714A (ja) ビデオ用に最適化された媒体ストリーマ・ユーザ・インタフェース
US20030154246A1 (en) Server for storing files
Gafsi et al. Design and implementation of a scalable, reliable, and distributed VOD-server
CN101188688A (zh) 一种基于ip-san存储的视音频编辑方法
KR19980042985A (ko) 프록시 서버를 이용한 주문형 비디오 시스템
Coughlin et al. Home Network Storage, the Cloud and the Internet of Things
JP2000316132A (ja) ビデオサーバ
JPH11298880A (ja) ストレージ共有型分散ビデオサーバシステム
Murphy et al. Supporting video on demand
Tetzlaff Scheduling, striping, and scaling issues for video server file systems
Shih A Study of Data Allocation for a Video-on-demand Server

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051114

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080715

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: 20090602

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: 20090612

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

Free format text: PAYMENT UNTIL: 20120619

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130619

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140619

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees