JP2011065676A - ディジタル・メディア・サーバのアップグレード - Google Patents

ディジタル・メディア・サーバのアップグレード Download PDF

Info

Publication number
JP2011065676A
JP2011065676A JP2010260642A JP2010260642A JP2011065676A JP 2011065676 A JP2011065676 A JP 2011065676A JP 2010260642 A JP2010260642 A JP 2010260642A JP 2010260642 A JP2010260642 A JP 2010260642A JP 2011065676 A JP2011065676 A JP 2011065676A
Authority
JP
Japan
Prior art keywords
new
digital media
service
runtime environment
application
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
JP2010260642A
Other languages
English (en)
Other versions
JP5727200B2 (ja
Inventor
Richard T Oesterreicher
オエステレイチャー,リチャード・ティー
Craig Murphy
マーフィ,クレイグ
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.)
Xylon LLC
Original Assignee
Beach Unlimited LLC
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=33097253&utm_source=***_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP2011065676(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Beach Unlimited LLC filed Critical Beach Unlimited LLC
Publication of JP2011065676A publication Critical patent/JP2011065676A/ja
Application granted granted Critical
Publication of JP5727200B2 publication Critical patent/JP5727200B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/818OS software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • 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/241Operating system [OS] processes, e.g. server setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • H04W8/24Transfer of terminal data

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)
  • Hardware Redundancy (AREA)

Abstract

【課題】メディア配信サービスを途絶させることなく、ディジタル・メディア・サーバのハードウェアおよびソフトウェア・コンポーネント双方をアップグレードするシステムおよび方法を開示する。
【解決手段】好適な実施形態では、本システムおよび方法は、オペレーティング・システムおよびアプリケーション双方のレベルでのソフトウェア・アップグレードをインストールしつつ、システム・サーバを完全に活動状態のままにさせておくオブジェクト指向モデルを採用する。加えて、本システムおよび方法は、冗長または区分可能なプログラム可能ロジック・デバイスを用い、メディア配信サービスを途絶させることなく、ファームウェアのアップグレードを実行する。
【選択図】図2

Description

本発明は、ディジタル・メディア・サーバの分野に関する。
ウェブ系サーバやビデオ・オン・デマンド・サーバのようなディジタル・メディア・サーバは、多数の機能コンポーネントを含むのが通例であり、ディジタル・メディアを格納し、このようなメディアをファイル・フォーマットからワイヤ・フォーマットに変換し、メディア・パケットの配信をスケジューリングするためのコンポーネントを含む。動作の間、メディア・サーバは、顧客または管理者から着信するコンテンツ要求を受け付け、メディア・パケットを顧客にネットワークを通じて配信する。
殆どのディジタル・メディア・サーバは、PCを基礎としたアーキテクチャを採用し、種々のソフトウェア・コンポーネントを実行して前述の機能を設ける。このようなソフトウェア・コンポーネントの設計中には、これらが完全にデバッグされ、欠陥がないことを確証するために、多大な労力が費やされる。しかしながら、実際には、設計フェーズでは多くの欠陥が発見されず、ソフトウェアを実際の動作に投入してからでないと露見しない。
システムの運用中に発見される欠陥は、多くの場合、ソフトウェアのアップグレードを行うことによって訂正する。また、ソフトウェア・アップグレードは、サーバ機能を補足または改良し、サーバの寿命を延ばすために時として行われることもある。
実行中のソフトウェア・コンポーネントをアップグレードするには、そのコンポーネントを停止し、置換えバージョンをメモリにロードし実行しなければならない。この期間中、このコンポーネントが通常提供するサービスは、利用できなくなる。
メディア・サーバのオペレーティング・システムにおける欠陥の場合、その結末は更に一層厳しい場合もある。オペレーティング・システムは、通例、ファイル、メモリ記憶、入出力ストリーム、セマフォー、プロセス、および他のプログラムへのスレッドのような抽象的データ構造を供給する多数の密接に結合されているモジュール全体を通じて設計されている。アプリケーション・プログラムは、アプリケーション・プログラミング・インターフェース(API)を通じてこれらの抽象的構造にアクセスする。これらの構造の1つを変更すると、他の構造またはモジュールにおいて副作用が生ずる場合があり得る。一般に、オペレーティング・システムのレベルでコンポーネントを置き換えるには、オペレーティング・システム全体をロードし直す必要があり、サーバの再ブートの間に行われる。このため、オペレーティング・システム・レベルのリソースは、メディア・サーバをオフラインにしないと、アップグレードすることができず、再ブートにはかなり大量の時間を要する可能性があり、その後でないとこれらのサービスを復元することはできない。
オフライン・サーバは、着信する要求を受け入れることも、コンテンツを既存のセッションに配信することもできない。したがって、オフライン・サーバは、しかるべき冗長サーバが利用できなければ、サービス・ネットワーク全体の可用性に影響を及ぼす虞れがある。
図1は、典型的なアップグレード・プロセス、およびそのネットワーク可用性に対する影響を示す。図1に示すように、ステップ105において、アップグレードを開始する。次に、ステップ110において、アップグレード・パッケージを検出する。アップグレード・パッケージをダウンロードすることができない場合、アップグレード・プロセスは終了する(ステップ190)。
アップグレードをインストールすることができるようになる前に、アップグレード前管理ステップ群120を実行する。即ち、ステップ125において、ユーザ・セッションを間引き(thin)するか、または影響を受けないマシンに転送する。次に、ステップ127において、アップグレードするソフトウェアによる影響が及ぶサービスを切断する。
次に、アップグレード・プロセス・ステップ群140を実行する。即ち、ステップ145において、システムの設定および特性をコピーするか、または修正する。ステップ147において、アップグレード・パッケージから新たなコンポーネントをコピーする。メディア・サーバの中には、それが動作している間に、サーバ内へのローカルまたはリモート・データ転送を可能にするものもあるが、アップグレードを遂行するには何らかのサービスの途絶を伴うのが通例であり、殆どの場合、最初にサーバをオフラインにしなければならない。
次に、アップグレード後プロセス・ステップ群160を実行する。即ち、ステップ165において、メディア・サーバの電源をオフにし次いでオンに戻す(サーバをオフラインにした場合)動作を一巡し、アップグレード・ソフトウェアが提供するサービスを再開する。1回の電源サイクルは、いずれの場合でも、数秒から数分かかることがある。1回の電源サイクルに要する時間量は、給電停止前に実行中のアプリケーションを順番に停止するためにサーバが必要とする時間、および電源を再度オンにした後にサーバを再ブートし、アプリケーションを復元するために必要な時間の和によって決まる。これらのイベントを完了した後、サーバはようやく新たなユーザ・セッションを受け入れ始めることが可能となる(ステップ167)。
前述のプロセスは、特に、全てのシステムAPIおよび低レベル・ドライバのアップグレードというような、システム全体に及ぶアップグレードの場合、システムの動作に重大な影響を及ぼす虞れがある。典型的なディジタル・メディア会社では、このようなアップグレードによって、数十台のオンライン・メディア・サーバが影響を受ける可能性がある。会社は、サーバの使用がその最低点にあるときに、アップグレードのための時間を選択すればよいのだが、メディア・サーバの停止を必要とする場合、アップグレードはなおもある程度サービスを途絶させる虞れがある。少なくとも、会社は休止時間の間収益の損失を被り、顧客を不満にする危険を犯すことになり得る。
このようなサービスの途絶を避けるために、多くの場合、会社は余分なサーバ容量即ち冗長システムを維持しており、アップグレードの間影響を受けるサーバからトラフィックを遠ざけるように処理する。しかし、冗長システムは、固定費の増大を招き、多くの場合不可能である。
メディア配信サービスを途絶させることなく、ディジタル・メディア・サーバのハードウェアおよびソフトウェア・コンポーネント双方をアップグレードするシステムおよび方法を開示する。好適な実施形態では、本システムおよび方法は、オペレーティング・システムおよびアプリケーション双方のレベルでのソフトウェア・アップグレードをインストールしつつ、システム・サーバを完全に活動状態のままにさせておくオブジェクト指向モデルを採用する。加えて、本システムおよび方法は、冗長または区分可能なプログラム可能ロジック・デバイスを用い、メディア配信サービスを途絶させることなく、ファームウェアのアップグレードを実行する。
1つの形態において、本発明は、ディジタル・メディア・サーバをアップグレードする方法を対象としており、新たなオブジェクトを含むアップグレード・パッケージの存在をチェックするステップと、アップグレード・パッケージにおいて新オブジェクトを識別するステップと、新オブジェクトの機能およびプロパティを識別するステップと、新オブジェクトの互換性を評価するステップと、新たなオブジェクトをアプリケーション・オブジェクトまたはサービス・オブジェクトとしてインスタンス化するステップと、新オブジェクトが旧オブジェクトと置き換わるか否か判定を行うステップと、新オブジェクトが旧オブジェクトと置き換わる場合、旧オブジェクトを置き換えるステップとを備えている。
本発明の別の形態では、置き換えるステップは、更に、旧オブジェクトおよび新オブジェクトをロックするステップと、旧オブジェクトから新オブジェクトにフィールドをコピーするステップと、新オブジェクトから旧オブジェクトに依存するオブジェクトへのリンクを確立するステップと、他のオブジェクトから旧オブジェクトへのリンクを、新オブジェクトに経路変更するステップと、新オブジェクトのロックを解除するステップと、旧オブジェクトを除去するステップとを含む。
本発明の別の形態では、除去するステップは、旧オブジェクトを保存することを含む。
本発明の別の形態では、除去するステップは、旧オブジェクトをパージすることを含む。
本発明の別の形態では、アップグレード・パッケージは、更に、旧オブジェクトのための1つ以上の新メソッドを含み、本方法は、更に、1つ以上の新メソッドを識別するステップと、1つ以上の新メソッドの互換性を評価するステップと、新メソッドが旧メソッドと置き換わるか否か判定を行うステップと、新メソッドが旧メソッドと置き換わる場合、旧メソッドを遮断し置き換えるステップとを含む。
本発明の別の形態では、旧メソッドはインターフェースである。
本発明の別の形態では、本方法は、更に、ネットワーク供給源からアップグレード・パッケージをダウンロードするステップを含む。
本発明の別の形態では、本方法は、更に、記憶媒体からアップグレード・パッケージをロードするステップを含む。
別の形態では、本発明は、第1活動区画および第2非活動区画を有する区分可能なプログラム可能ロジック・デバイスを有するディジタル・メディア・サーバをアップグレードする方法を対象としており、第2区画を新たなロジックでプログラムするステップと、第2区画を非活動状態から活動状態に移行させ、同時に第1区画からのデータ処理機能を受け継ぐステップと、第1区画を非活動状態に移行させるステップとを備えている。
本発明の別の形態では、本方法は、更に、新たなロジックで第1区画をプログラムするステップを含む。
別の形態において、本発明は、2つ以上の冗長なプログラム可能ロジック・デバイスを有し、その各々が活動状態および非活動状態を有するディジタル・メディア・サーバをアップグレードする方法を対象とし、活動状態にある第1組のプログラム可能ロジック・デバイスを判定するステップと、非活動状態にある第2組の1つ以上のロジック・デバイスに新たなロジックをロードするステップと、第2組のデバイスを活動状態に移行させ、同時に第1組のデバイスからのデータ処理機能を受け継ぐステップと、第1組のデバイスを非活動状態に移行させるステップとを備えている。
本発明の別の形態では、本方法は、更に、新たなロジックを第1組のデバイスにロードするステップを含む。
別の形態では、本発明は、汎用コンピュータとハードウェア・エンジンとを備えているディジタル・メディア・サーバ上においてアップグレードをインストールする方法を対象とし、コンピュータはオブジェクト指向ランタイム環境を備えており、ハードウェア・エンジンは、第1活動区画と第2非活動区画とを有するプログラム可能ロジック・デバイスを備えている。この方法は、新オブジェクトおよび新ロジックを備えているアップグレード・パッケージの存在をチェックするステップと、アップグレード・パッケージにおいて新オブジェクトを識別するステップと、新オブジェクトの機能およびプロパティを識別するステップと、新オブジェクトの互換性を評価するステップと、新オブジェクトを、アプリケーション・オブジェクトまたはサービス・オブジェクトとしてインスタンス化するステップと、新オブジェクトが旧オブジェクトと置き換わるか否か判定を行うステップと、新オブジェクトが旧オブジェクトと置き換わる場合、旧オブジェクトを置き換えるステップと、アップグレード・パッケージにおいて新ロジックを識別するステップと、新ロジックを用いて、第2非活動区画をプログラムするステップと、第2区画を非活動状態から活動状態に移行させ、同時に第1活動区画からデータ処理機能を受け継ぐステップと、第1区画を非活動状態に移行させるステップとを備えている。
本発明の別の形態では、置き換えるステップは、更に、旧オブジェクトおよび新オブジェクトをロックするステップと、旧オブジェクトから新オブジェクトにフィールドをコピーするステップと、新オブジェクトから旧オブジェクトに依存するオブジェクトへのリンクを確立するステップと、他のオブジェクトから旧オブジェクトへのリンクを、新オブジェクトに経路変更するステップと、新オブジェクトのロックを解除するステップと、旧オブジェクトを除去するステップとを含む。
別の形態において、本発明は、汎用コンピュータとハードウェア・エンジンとを備えているディジタル・メディア・サーバ上においてアップグレードをインストールする方法を対象とし、コンピュータはオブジェクト指向ランタイム環境を備えており、ハードウェア・エンジンは、各々第1活動区画と第2非活動区画とを有する2つ以上のプログラム可能ロジック・デバイスを備えている。この方法は、新オブジェクトおよび新ロジックを備えているアップグレード・パッケージの存在をチェックするステップと、アップグレード・パッケージにおいて新オブジェクトを識別するステップと、新オブジェクトの機能およびプロパティを識別するステップと、新オブジェクトの互換性を評価するステップと、新オブジェクトを、アプリケーション・オブジェクトまたはサービス・オブジェクトとしてインスタンス化するステップと、新オブジェクトが旧オブジェクトと置き換わるか否か判定を行うステップと、新オブジェクトが旧オブジェクトと置き換わる場合、旧オブジェクトを置き換えるステップと、アップグレード・パッケージにおいて新ロジックを識別するステップと、活動状態にある第1組のプログラム可能ロジック・デバイスを判定するステップと、非活動状態にある第2組の1つ以上のロジック・デバイスに新ロジックをプログラムするステップと、第2軸のデバイスを活動状態に移行させ、同時に第1組のデバイスからデータ処理機能を受け継ぐステップと、第1組のデバイスを非活動状態に移行させるステップとを備えている。
本発明の別の形態では、置き換えるステップは、更に、旧オブジェクトおよび新オブジェクトをロックするステップと、旧オブジェクトから新オブジェクトにフィールドをコピーするステップと、新オブジェクトから旧オブジェクトに依存するオブジェクトへのリンクを確立するステップと、他のオブジェクトから旧オブジェクトへのリンクを、新オブジェクトに経路変更するステップと、新オブジェクトのロックを解除するステップと、旧オブジェクトを除去するステップとを含む。
本発明の別の形態では、アップグレード・パッケージは、更に、旧オブジェクトのために1つ以上の新メソッドを含み、方法は、更に、1つ以上の新メソッドを識別するステップと、1つ以上の新メソッドの互換性を評価するステップと、新メソッドが旧メソッドと置き換わるか否か判定を行うステップと、新メソッドが旧メソッドと置き換わる場合、旧メソッドを遮断し置き換えるステップとを含む。
本発明の別の形態では、旧メソッドはインターフェースである。
別の形態では、本発明はディジタル・メディア・サーバを対象とし、オブジェクト記憶部と、オブジェクト指向、ランタイム環境とを備えており、このランタイム環境が、サービス・オブジェクトと、アプリケーション・オブジェクトと、サービスおよびアプリケーション・オブジェクトが供給するデータ処理機能を途絶させることなく、サービス・オブジェクトおよびアプリケーション・オブジェクトの置換えを容易にするように構成されたオブジェクト・マネージャとを備えている。
本発明の別の形態では、サーバは、更に、置換えサービスおよびアプリケーション・オブジェクトを備えているアップグレード・パッケージをダウンロードするネットワーク・インターフェースを備えている。
本発明の別の形態では、サーバは、更に、置換えサービスおよびアプリケーション・オブジェクトを備えているアップグレード・パッケージを格納する記憶媒体を備えている。
別の形態では、本発明はディジタル・メディア・サーバを対象とし、各々活動状態と非活動状態との間で切り換え可能な、2つ以上のプログラム可能ロジック・デバイスと、入力データ経路と、出力データ経路とを備えており、非活動状態にある1つ以上のプログラム可能ロジック・デバイスをプログラムしている間、活動状態にある1つ以上のプログラム可能ロジック・デバイスは、入力データ経路上に到達するディジタル・メディアを処理し、処理したディジタル・メディアを出力データ経路に送出する。
別の形態では、本発明はディジタル・メディア・サーバを対象とし、2つ以上の独立してプログラム可能な区画を有し、各区画が活動状態と非活動状態との間で切り換えることができる、区分可能なプログラム可能ロジック・デバイスと、入力経路と、出力経路とを備えており、非活動状態にある1つ以上の区画をプログラムしている間、活動状態にある1つ以上の区画が、入力データ経路上に到達するディジタル・メディアを処理し、処理したディジタル・メディアを出力データ経路に送出する。
別の形態では、本発明は、ディジタル・メディア・サーバを対象とし、オブジェクト記憶部と、オブジェクト指向、ランタイム環境であって、サービス・オブジェクトと、アプリケーション・オブジェクトと、サービスおよびアプリケーション・オブジェクトが供給するデータ処理機能を途絶させることなく、サービス・オブジェクトおよびアプリケーション・オブジェクトの置換えを容易にするように構成されたオブジェクト・マネージャとを備えている、オブジェクト指向、ランタイム環境と、各々活動状態と非活動状態との間で切り換え可能な、2つ以上のプログラム可能ロジック・デバイスと、入力データ経路と、出力データ経路とを備えており、新ロジックを用いて非活動状態にある1つ以上のプログラム可能ロジック・デバイスをプログラムしている間、活動状態にある1つ以上のプログラム可能ロジック・デバイスは、入力データ経路上に到達するディジタル・メディアを処理し、処理したディジタル・メディアを出力データ経路に送出する。
別の形態では、本発明は、ディジタル・メディア・サーバを対象とし、オブジェクト記憶部と、オブジェクト指向、ランタイム環境であって、サービス・オブジェクトと、アプリケーション・オブジェクトと、サービスおよびアプリケーション・オブジェクトが供給するデータ処理機能を途絶させることなく、サービス・オブジェクトおよびアプリケーション・オブジェクトの置換えを容易にするように構成されたオブジェクト・マネージャとを備えている、オブジェクト指向、ランタイム環境と、2つ以上の独立してプログラム可能な区画を有し、各区画が活動状態と非活動状態との間で切り換えることができる、区分可能なプログラム可能ロジック・デバイスと、入力経路と、出力経路とを備えており、新ロジックを用いて非活動状態にある1つ以上の区画をプログラムしている間、活動状態にある1つ以上の区画が、入力データ経路上に到達するディジタル・メディアを処理し、処理したディジタル・メディアを出力データ経路に送出する。
図1は、従来技術によるアップグレード・プロセスを示すフロー図である。 図2は、ディジタル・メディア・サーバの好適な実施形態を示すブロック図である。 図3は、ディジタル・メディア・サーバ・ストリーミング・プロセスの好適な実施形態を示すフロー図である。 図4Aは、オブジェクトの実施形態例である。 図4Bは、本発明の一実施形態における汎用計算機の好適な実施形態を示すブロック図である。 図5は、アップグレード・プロセスを実行するための、好適な実施形態におけるステップを示すフロー図である。 図6は、オブジェクトの置換えを展開するための、好適な実施形態におけるステップを示すフロー図である。 図7Aは、区分可能な再プログラム可能ロジック・デバイスを有する、ディジタル・メディア配信パイプラインの好適な実施形態を示すブロック図である。 図7Bは、冗長な再プログラム可能デバイスを有する、ディジタル・メディア配信パイプラインの好適な実施形態を示すブロック図である。 図8は、区分可能な再プログラム可能ロジック・デバイスを有する、ハードウェア・エンジンのファームウェア・アップグレードを実行するための好適な実施形態を示すフロー図である。 図9は、冗長な再プログラム可能ロジック・デバイスを有するハードウェア・エンジンのファームウェア・アップグレードを実行するための好適な実施形態を示すフロー図である。
例示の目的上、そして本発明の理解を促進するために、以下に記載する好適な実施形態は、特定的なディジタル・メディア・サーバに関連付けて説明することとする。
図2に示すように、これらの好適な実施形態のディジタル・メディア・サーバ200は、ハードウェア・エンジン220、汎用コンピュータ240、および記憶装置210を備えていることが好ましい。ハードウェア・エンジン220は、メディア・バッファ225、1つ以上のプログラム可能なロジック・デバイス(PLD)227、およびネットワーク・インターフェース230を備えていることが好ましい。以下で詳しく説明するが、好適な実施形態では、ハードウェア・エンジン220は、区分可能なPLDまたは冗長PLDを備えており、サービスの途絶なくメディア・サーバのアップグレードを容易に行うことができる。
汎用コンピュータ240は、好ましくは、オブジェクト指向ランタイム環境250、オペレーティング・システム260、およびハードウェア・インターフェース270を備えている。バス280が、ハードウェア・エンジン220、汎用コンピュータ240、およびストレージ210間にデータ通信経路を設ける。
ハードウェア・エンジン220は、記憶装置210上に格納されているデータからワイヤ・データ・パケットを発生し、これらをディジタル・ネットワークを通じて顧客に送るように構成されていることが好ましい。好適な実施形態では、汎用計算機240の制御下において、記憶装置210からメディア・バッファ225にデータをコピーする。汎用計算機240およびハードウェア・エンジン220を備えた、好ましいアーキテクチャが、2003年2月19日に出願され「混成ストリーミング・プラットフォーム」(Hybrid Streaming Platform)と題する米国特許出願第10/369,305号(Pennie & Edmonds LLP整理番号第11055−005−999によって識別される)に記載されており、ここで引用したことにより、その教示および実施形態の各々についてその全体が本願にも含まれるものとする。
PLD227は、メディア・バッファ225内にコピーしたデータを、ファイル・フォーマットからワイヤ・フォーマットに変換するように構成されていることが好ましい。ネットワーク・インターフェース230によって、完全なデータ・パケットをネットワーク上に送出する。これらのステップを実現するのに好ましいシステムおよび方法が、2003年2月19日に出願され「柔軟なストリーミング・ハードウェア」(Flexible Streaming Hardware)と題する米国特許出願第10/369,306号(Pennie & Edmonds LLP整理番号第11055−006−999によって識別される)に記載されており、その教示および実施形態の各々についてその全体が、ここで引用したことにより本願にも含まれるものとする。
ディジタル・メディア・サーバ200が実現するストリーミング・プロセスの好適な実施形態を図3に示す。図3に示すように、ステップ310において、汎用計算機240からの命令に応じて、メディア・データのブロックを記憶装置210から読み出し、直接メディア・バッファ225にコピーする。ステップ320において、ハードウェア・エンジン220は、メディア・バッファ224に格納されているブロックからメディア・データを再度組み立てる。
ステップ330において、ハードウェア・エンジン220は、メディア・バッファ225から読み出しながら、データ・パケットを発生する。ステップ340において、ハードウェア・エンジン220は、新しく発生したデータ・パケットをネットワーク・インターフェース230に転送し、一方ネットワーク・インターフェース230は、パケットをディジタル・ネットワークに書き込む。記したように、このプロセス、およびそれを実現するためのプラットフォームが、2003年2月19日に出願され「柔軟なストリーミング・ハードウェア」(Flexible Streaming Hardware)と題する米国特許出願第10/369,306号(Pennie & Edmonds LLP整理番号第11055−006−999によって識別される)、および2003年2月19日に出願され「混成ストリーミング・プラットフォーム」(Hybrid Streaming Platform)と題する米国特許出願第10/369,305号(Pennie & Edmonds LLP整理番号第11055−005−999によって識別される)に記載されており、双方は、その教示および実施形態の各々についてその全体が、ここで引用したことにより本願にも含まれるものとする。
好適な実施形態では、汎用計算機240は、所望のストリーミング・ソリューション(streaming solution)またはその他のタスクのいずれでも遂行するプログラムを含む、オブジェクト指向ソフトウェア・プログラムを実行するように構成されている、ランタイム環境250をインストールしてあることが好ましい。このようなタスクには、セッション設定、ストリーミング・セッションの管理および分解、ならびにエラー処理を含むことができる。好適な実施形態では、これらのプログラムは、オブジェクト指向プログラムとして設計されている。
図4Aは、好適な実施形態におけるオブジェクト410の組成を示す。図4Aに示すように、オブジェクト410は、フィールド412、メソッド415、およびダイナミック・リファレンス(dynamic reference)418を備えていることが好ましい。フィールド412は、オブジェクト410内部のデータを格納し、プロパティ414として知られており、他のプログラムがアクセスすることができるデータ、および他のオブジェクトからは隠されているデータから成る。フィールド412は、オブジェクト410の現状態を表す。
メソッド415は、フィールド412内のデータを処理するために用いることができる手順または関数である。他のオブジェクトが双方向処理するためにコールすることができるオブジェクトのメソッドは、インターフェース417として知られている。
ダイナミック・リファレンス418は、オブジェクト410間の制御およびデータ・フロー経路を表す。オブジェクトのリファレンス418は、ランタイム以前に定義する必要はなく、ランタイム環境250においてオブジェクト410を作成した後であっても、変更することができる。
図4Bは、ランタイム環境250を更に詳細に示す。環境250は、アプリケーション420、サービス430、およびオブジェクト・マネージャ440を備えていることが好ましい。アプリケーション420は、あるタスクを実行するように設計されたオブジェクトの集合である。オブジェクト間のダイナミック・リファレンス418は、図4Bでは両頭矢印として図示されている。サービス430は、アプリケーション・オブジェクト、汎用コンピュータ240のオペレーティング・システム(OS)260、およびハードウェア・インターフェース270間にインターフェースを設けるように設計されたオブジェクトの集合である。
オブジェクト・マネージャ440は、アプリケーション420およびサービス430内に含まれる全てのオブジェクト410の状態を維持することを責務とすることが好ましい。好適な実施形態では、オブジェクト・マネージャ440は、オブジェクト410の妥当性を判断し、これらのオブジェクトが適正に形成されており、これらをランタイム環境250にロードする前に破損(corrupt)していないことの確証を得る。また、オブジェクト・マネージャ440は、オブジェクトを列挙し、これらを評価して、オブジェクト・マネージャ440、環境250全体、およびその他のオブジェクト410との互換性について確証を得る。
ランタイム環境250は、汎用コンピュータ240のオペレーティング・システム260によって設けられる設備(facilities)上に構築することが好ましい。アプリケーション・オブジェクトは、オペレーティング・システム260を通じてサービス430と双方向処理することによって、ハードウェア270に間接的にアクセスすることができる。オペレーティング・システム260は、オブジェクト指向コンポーネントを用いて実現すればよいことを、当業者は認めよう。このようなオペレーティング・システムは、ランタイム環境250内に位置し、サービス430の延長として動作することができる。したがって、実際には、ランタイム環境250は、オペレーティング・システム260と融合されているものとして見ることができる。これによって、オペレーティング・システムが提供する機能を中断させることなく、オペレーティング・システムをアップグレードすることが可能となる。これについては、以下で説明する。
ハードウェア270は、ランタイム環境およびデータ・ストレージ210内にあるオブジェクトとインターフェースするために入出力カード272、274を含むことが好ましい。
データ・ストレージ210は、好ましくは、パッケージ490として識別されるオブジェクトまたはオブジェクトの集合についての定義を収容する格納場所である。このようなパッケージは、オブジェクトの集合の配信(delivery)を一層便利にするように組み立てられるのが通例である。
アップグレード・プロセス
汎用コンピュータ240上で実行するオブジェクト指向ソフトウェアをアップグレードするための好適な実施形態について、図5に関連付けて説明する。図5に示すように、ステップ505において、システム管理者は、アップグレード・セッションを開始する。ステップ510において、オブジェクト・マネージャ440は、オブジェクト・パッケージ490(アップグレードしたオブジェクトを収容している)がデータ・ストア210内に存在するか否か判定を行う。アップグレード・パッケージが利用可能な場合、ステップ520においてランタイム拡張可能アップグレード(runtime extensible upgrade)を実行する。
ランタイム拡張可能アップグレード(ステップ520)を実行する前に、オブジェクト・マネージャ440は環境250において、オブジェクトの現在のインスタンス全ての状態を継続的に追跡する。これには、他のオブジェクトに対するそのダイナミック・リファレンス418が含まれる。ステップ530において、オブジェクト・マネージャ440は、アップグレード・パッケージ490内に新たなオブジェクトがあれば、そのいずれをも識別し、そうした場合、これらが適正に形成され、破損していないことを確認する。ステップ535において、パッケージ490内にある各オブジェクト、ならびにオブジェクトの対応するインターフェースおよびプロパティを列挙する。この列挙プロセスの間、オブジェクト・マネージャ440は、どのようにこれらのオブジェクトが他のオブジェクトと双方向処理するか決定する。次に、ステップ540において、各オブジェクトについて、それをコールする可能性がある他のオブジェクトとの互換性を評価する。また、オブジェクトのバージョンをチェックし、それがオブジェクト・マネージャ440および環境250、ならびにその他の双方向処理するオブジェクトと互換性があることの確証を得ることが好ましい。
ステップ550において、オブジェクト・マネージャ440は、環境250の該当するエリアに、新たなオブジェクトのインスタンスを作成する。また、オブジェクト・マネージャ440は、新たなオブジェクトと既存のサービス430またはアプリケーション420との間で論理的接続を確立する。
既存のオブジェクトが提供していた機能と完全にまたは部分的に入れ代わる新たなオブジェクトに関して、オブジェクト・マネージャ440は、置き換える既存のオブジェクトから、インストールする新たなオブジェクトまで、規則正しい移行を指揮するように構成されていることが好ましい。このプロセスを、ここではステージング(staging)と呼び、図6に関連付けて以下で更に詳しく説明する。ステップ560において、オブジェクト・マネージャ440は、フィールド412を既存のオブジェクトからそれらに対応する置換えオブジェクトにコピーする。次に、ステップ570において、新たなダイナミック・リファレンス418を、ライン上に残留する既存のオブジェクトとあらゆる新たなオブジェクトとの間に確立する。ステップ575において、既存のダイナミック・リファレンス418から新たなオブジェクトまでの経路を定め直す。これによって、既存のオブジェクトから新たなオブジェクトまで、オブジェクト・リファレンス418の規則正しい経路再決定が可能となる。
ステップ580において、もはや実際に使用されないオブジェクト410は、オブジェクト・マネージャ440によって環境250から永久にパージするか、あるいは後に読み出す可能性があるのであれば、ストレージ210に保存しておく。
アップグレードは、既存のオブジェクトの部分的な置換えまたは完全な置換えを含む可能性があるので、置き換えるオブジェクトが提供するサービスまたは機能が一時的に中断する潜在性がある。好適な実施形態では、本システムおよび方法は、この問題に取り組むにあたって、新たなオブジェクトの置換えを段階的に行うことによって、既存のオブジェクトを置き換える際のサービスの途絶を回避する。更に具体的には、ステージングによって、オブジェクト・マネージャ440はアップグレードの間に、活動状態にあるデータ伝達経路を既存のオブジェクトから新たなオブジェクトに移転することができ、これらのデータ伝達経路を途絶させたり終端させることはない。
ステージング・プロセスの一例を図6に示す。図6の状況例において、アップグレードの一部として、オブジェクトAをオブジェクトBと置き換えている。ステップ610において、オブジェクト・マネージャ440は、オブジェクトBのメソッドおよびプロパティが、オブジェクトAが参照する上流側オブジェクトと互換性があることを検証する。これら上流側オブジェクトとは、オブジェクトAにデータまたはサービスを提供するオブジェクトのことである。ステップ615において、オブジェクト・マネージャ440は、オブジェクトBのメソッドおよびプロパティが、オブジェクトAを参照する下流側オブジェクトと互換性があることを検証する。これら下流側オブジェクトとは、オブジェクトAからのサービスを要求する、またはデータを受け取るオブジェクトのことである。一旦これらの検証が完了したなら、オブジェクト・マネージャ440は環境250内にオブジェクトBのインスタンスを作成する。
次に、ステップ625において、オブジェクト・マネージャ440は、環境250においてオブジェクトAおよびオブジェクトBをロックする。ロックすることにより、オブジェクトAからオブジェクトBへの移行中に、いずれのオブジェクトのフィールド412も変化することを防止し、オブジェクト・マネージャ440に、これらのオブジェクトに対する排他的なアクセスを与える。
ステップ630においてオブジェクトをロックしている間に、オブジェクト・マネージャ440は、オブジェクトA内にあるフィールドの値をオブジェクトBにコピーする。次いで、ステップ635において、上流側オブジェクトに対するリファレンス418をオブジェクトAからオブジェクトBにコピーする。同様に、ステップ640において、下流側オブジェクト内にあるオブジェクトAに対するリファレンスを、オブジェクトBにリダレクトする。ステップ645において、オブジェクト・マネージャ440によってオブジェクトBのロックを解除し、こうして本来オブジェクトAが提供していたサービスおよび機能を復元するが、この時点ではオブジェクトBが提供することになり、オブジェクトBが提供する新たなサービスおよび機能全てが利用可能となる。ステップ650において、オブジェクト・マネージャ440はオブジェクトAをパージまたは保存し、こうしてステージング・プロセスを完了する。
また、ステージングは、更にきめ細かな手法を備えることもでき、その場合、オブジェクト全体を置き換えることなく、オブジェクトのメソッドを変更する。このような場合、オブジェクト全体をロックする必要はなく、代わりに、アップグレード対象のメソッドに対するアクセスを制限する。例えば、ストリーム・マネージャ・オブジェクト内に収容されているログ・ライタ・インターフェース(log writer interface)をアップグレードする必要があると仮定する。ストリーム・マネージャ・オブジェクトは、他のメソッドを通じて、機能を他のオブジェクトに提供し続ける。ステージング・プロセスは、ログ・ライタ・インターフェースへのオブジェクトのアクセスを遮断するが、ストリーム・マネージャ・オブジェクトをロックしない。ログ・ライタ・インターフェースのコードを置き換えた後、オブジェクトはログ・ライタ・インターフェースとの双方向処理を再開することができる。
ランタイム拡張可能ディジタル・メディア・サーバ
ハードウェア・エンジン220におけるプログラム可能ロジック・デバイス227は、汎用コンピュータ240のようにオペレーティング・システムを備えていないのが通例である。代わりに、PLD227は、プログラム可能なロジックを有し、前述のように、比較的限定された1組のデータ処理タスクを効率的に遂行するように設計されている。以下に、PLD227内にあるプログラム可能なロジックのアップグレード中に、メディア配信の最大能力(capacity)を維持するための2つの好適な実施形態について説明する。
最初の好適な実施形態では、各PLD227はデバイスの特定部分を選択的に区分し再プログラムし、他の影響を受けない部分を通常に動作するまま放置しておくことができる。2番目の好適な実施形態では、ハードウェア・エンジン220が冗長PLDを備えている。これらの実施形態について、図7Aおよび図7B、ならびに図8および図9と関連付けて説明する。
図7Aは、区分可能なPLDの実施形態を示す。この実施形態では、ディジタル・メディア配信パイプライン700が、データ経路710、および区分可能再プログラム可能ロジック・デバイス720を備えていることが好ましい。区分可能再プログラム可能ロジック・デバイス720は、複数の区画(例えば、722、724、726)を含み、その各々を別個に再プログラムすることができ、その間他の区画は動作し続けるようにすることが好ましい。
区分可能なPLD700に対するファームウェア・アップグレード・プロセスの一例を、更に詳しく図8に示す。図8に示すように、ステップ810において、システム管理者がファームウェア・アップグレードを開始すると、PLD700内に新たな区画が作成される。次に、ステップ820において、新たな1組のハードウェア記述言語(HDL)を用いてこの区画をプログラムする。ステップ830において、動作移転を行う。その際、この区画が、置き換えようとしている元の区画から処理機能の制御を引き受ける。更に具体的には、新たな非活動区画を活動状態に移行させ、ディジタル・メディアを流し続けるために必要な処理機能を供給する。同時に、元の区画を非活動状態に移行させる。次いで、ステップ840において、元の区画を再プログラムし、こうしてアップグレード・セッションを完了する。
図7Bは、冗長ロジック・デバイスの実施形態を示す。この実施形態では、ディジタル・メディア配信パイプライン750が、データ経路760、第1プログラム可能ロジック・デバイス770(PLD−A)、および第2プログラム可能ロジック・デバイス780(PLD−B)を含むことが好ましい。非活動デバイスは、単にデータを経路760に通過させるだけである。
この冗長手法では、一方のPLDを再プログラミングのために利用可能にしておくことができ、その間他方は汎用コンピュータ240からの要求に応答する。後に、2つのPLDは、他方をアップグレードすることができるように、再度制御を置き換えることができる。このように、ディジタル・メディア配信サービスを途絶させることなく、ファームウェアのアップグレードを完了することができる。
冗長PLDパイプライン750のファームウェア・アップグレード・プロセスの一例を、図9に更に詳しく示す。図9に示すように、ステップ910において、システム管理者がファームウェア・アップグレードを開始すると、どのデバイス770、780が活動状態にあり、どれが非活動状態即ち通過状態にあるかについて判定を行う。図7Bの状況例の主旨に合わせ、PLD−A770が活動状態にあると仮定する。次に、ステップ920において、新たな1組のハードウェア記述言語(HDL)ロジックをロードすることにより、PLD−B780をアップグレードする。ステップ930において、動作移転を行い、PLD−B780が活動状態のデバイスとなり、PLD−A770が非活動状態となる。次いで、ステップ940において、新たな1組のHDLロジックによってPLD−Aをアップグレードし、こうしてアップグレード・セッションを完了する。
以上、特定的な実施形態に関して本発明を説明したが、前述の説明を参考にすれば、多数の代替、修正、および変形は当業者には明白であることは明らかである。
200:デジタルメディアサーバ
210:ストレージ
220:ハードウェアエンジン
230:ネットワークインタフェース
240:汎用コンピュータ
250:オブジェクト指向ランタイム環境

Claims (15)

  1. ディジタル・メディア・サーバであって、
    オブジェクト記憶部と、
    オブジェクト指向のランタイム環境とを備え、
    該ランタイム環境が、
    サービス・オブジェクトと、
    アプリケーション・オブジェクトと、
    前記サービス・オブジェクトおよびアプリケーション・オブジェクトが供給するデータ処理機能を途絶させることなく、前記サービス・オブジェクトおよび前記アプリケーション・オブジェクトの置換えを容易にするように構成されたオブジェクト・マネージャとを備える、
    ディジタル・メディア・サーバ。
  2. 置換えサービスおよびアプリケーション・オブジェクトを含むアップグレード・パッケージをダウンロードするネットワーク・インターフェースを更に備える、
    請求項1記載のサーバ。
  3. 置換えサービスおよびアプリケーション・オブジェクトを含むアップグレード・パッケージを格納する記憶媒体を更に備える、
    請求項1記載のサーバ。
  4. ディジタル・メディア・サーバであって、
    オブジェクト記憶部と、
    オブジェクト指向のランタイム環境であって、
    サービス・オブジェクトと、
    アプリケーション・オブジェクトと、
    前記サービス・オブジェクトおよびアプリケーション・オブジェクトが供給するデータ処理機能を途絶させることなく、前記サービス・オブジェクトおよび前記アプリケーション・オブジェクトの置換えを容易にするように構成されたオブジェクト・マネージャと、
    を備えるオブジェクト指向のランタイム環境と、
    各々活動状態と非活動状態との間で切り換え可能な、2つ以上のプログラム可能ロジック・デバイスと、
    入力データ経路と、
    出力データ経路と、
    を備え、
    新ロジックを用いて前記非活動状態にある1つ以上のプログラム可能ロジック・デバイスがプログラムされている間、前記活動状態にある1つ以上のプログラム可能ロジック・デバイスは、前記入力データ経路上に到達するディジタル・メディアを処理し、処理したディジタル・メディアを前記出力データ経路に送出する、
    ことを特徴とするディジタル・メディア・サーバ。
  5. 置換えサービスおよびアプリケーション・オブジェクト、ならびに新ロジックを備えているアップグレード・パッケージをダウンロードするネットワーク・インターフェースを更に備える、
    請求項4記載のサーバ。
  6. 置換えサービスおよびアプリケーション・オブジェクト、ならびに新ロジックを備えているアップグレード・パッケージを格納する記憶媒体を更に備える、
    請求項4記載のサーバ。
  7. ディジタル・メディア・サーバであって、
    オブジェクト記憶部と、
    オブジェクト指向のランタイム環境であって、
    サービス・オブジェクトと、
    アプリケーション・オブジェクトと、
    前記サービス・オブジェクトおよびアプリケーション・オブジェクトが供給するデータ処理機能を途絶させることなく、前記サービス・オブジェクトおよび前記アプリケーション・オブジェクトの置換えを容易にするように構成されたオブジェクト・マネージャと、
    を備えるオブジェクト指向のランタイム環境と、
    2つ以上の独立してプログラム可能な区画を有し、各区画が活動状態と非活動状態との間で切り換えることができる、区分可能なプログラム可能ロジック・デバイスと、
    入力経路と、
    出力経路と、
    を備え、
    新ロジックを用いて前記非活動状態にある1つ以上の区画がプログラムされている間、前記活動状態にある1つ以上の区画が、前記入力データ経路上に到達するディジタル・メディアを処理し、処理したディジタル・メディアを前記出力データ経路に送出する、
    ことを特徴とするディジタル・メディア・サーバ。
  8. 置換えサービスおよびアプリケーション・オブジェクト、ならびに新ロジックを備えているアップグレード・パッケージをダウンロードするネットワーク・インターフェースを更に備える、
    請求項7記載のサーバ。
  9. 置換えサービスおよびアプリケーション・オブジェクト、ならびに新ロジックを備えているアップグレード・パッケージを格納する記憶媒体を更に備える、
    請求項7記載のサーバ。
  10. サービスオブジェクト及びオブジェクトマネージャを含むオブジェクト指向のランタイム環境と、前記オブジェクトマネージャは、新たなオブジェクトの機能及びプロパティを識別し、メモリにおけるアプリケーションオブジェクト又はサービスオブジェクトとして前記新たなオブジェクトのインスタンスを作成し、前記新たなオブジェクトが前記オブジェクト指向のランタイム環境における古いオブジェクトを置き換えるかを判定し、前記オブジェクト指向のランタイム環境において前記新たなオブジェクトと他のオブジェクトとの間の新たな論理結合を確立し、前記新たなオブジェクトと前記他のオブジェクトとの間の前記新たな論理結合の確立に応答して、前記古いオブジェクトを前記新たなオブジェクトと置き換え、
    それぞれがアクティブ状態と非アクティブ状態との間で切り替わることができる2以上のプログラマブルロジックデバイスと、
    入力データ経路と、
    出力データ経路とを有し、
    1以上のプログラマブルロジックデバイスは、前記アクティブ状態で、前記入力データ経路に到達したデジタルメディアを前記オブジェクト指向のランタイム環境において処理し、処理されたデジタルメディアを前記出力データ経路に供給し、
    前記1以上のプログラマブルロジックデバイスは、前記非アクティブ状態で、前記オブジェクト指向のランタイム環境における実行のために新たなロジックをもつ前記オブジェクトマネージャによりプログラムされ、
    前記オブジェクトマネージャは、前記オブジェクト指向のランタイム環境において新たなロジックとオブジェクトとの間の新たな論理結合を確立する、
    ことを特徴とするデジタルメディアサーバ。
  11. 置き換えサービス及びアプリケーションオブジェクト並びに前記新たなロジックを含むアップグレードパッケージをダウンロードするネットワークインタフェースを更に含む、
    請求項10記載のサーバ。
  12. 置き換えサービス及びアプリケーションオブジェクト及び前記新たなロジックを含むアップグレードパッケージを記憶する記憶媒体を更に含む、
    請求項10記載のサーバ。
  13. サービスオブジェクト及びオブジェクトマネージャを含むオブジェクト環境のランタイム環境と、前記オブジェクトマネージャは、新たなオブジェクトの機能及びプロパティを識別し、メモリにおけるサービスオブジェクトとして前記新たなオブジェクトのインスタンスを作成し、前記新たなオブジェクトが前記オブジェクト指向のランタイム環境における古いオブジェクトを置き換えるかを判定し、前記オブジェクト指向のランタイム環境における前記新たなオブジェクトと他のオブジェクトとの間の新たな論理結合を確立し、前記新たなオブジェクトと前記他のオブジェクトとの間の前記新たな論理結合の確立に応答して、前記古いオブジェクトを前記新たなオブジェクトと置き換え、
    2以上の独立にプログラム可能な区分を有する区分可能であってプログラム可能なロジックデバイスと、それぞれの区分は、アクティブ状態と非アクティブ状態との間で切り替え可能であり、前記非アクティブ状態における区分は、アップグレードを開始するための命令の検出に応答して前記区分可能であってプログラム可能なロジックで作成され、
    入力データ経路と、
    出力データ経路とを有し、
    前記アクティブ状態における区分は、前記オブジェクト指向のランタイム環境で、前記入力データ経路に到達したデジタルメディアを処理し、処理されたデジタルメディアを前記出力データ経路に供給し、前記非アクティブ状態における区分は、前記オブジェクト指向のランタイム環境における実行のために新たなロジックでプログラムされる、
    ことを特徴とするデジタルメディアサービス。
  14. 置き換えサービス及びアプリケーションオブジェクト並びに前記新たなロジックを含むアップグレードパッケージをダウンロードするネットワークインタフェースを更に含む、
    請求項13記載のサーバ。
  15. 置き換えサービス及びアプリケーションオブジェクト及び前記新たなロジックを含むアップグレードパッケージを記憶する記憶媒体を更に含む、
    請求項13記載のサーバ。

JP2010260642A 2003-04-02 2010-11-22 ディジタル・メディア・サーバのアップグレード Expired - Fee Related JP5727200B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/406,108 2003-04-02
US10/406,108 US6978452B2 (en) 2003-04-02 2003-04-02 Upgrading digital media servers

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2006509528A Division JP5329039B2 (ja) 2003-04-02 2004-03-30 ディジタル・メディア・サーバのアップグレード

Publications (2)

Publication Number Publication Date
JP2011065676A true JP2011065676A (ja) 2011-03-31
JP5727200B2 JP5727200B2 (ja) 2015-06-03

Family

ID=33097253

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2006509528A Expired - Fee Related JP5329039B2 (ja) 2003-04-02 2004-03-30 ディジタル・メディア・サーバのアップグレード
JP2010260642A Expired - Fee Related JP5727200B2 (ja) 2003-04-02 2010-11-22 ディジタル・メディア・サーバのアップグレード

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2006509528A Expired - Fee Related JP5329039B2 (ja) 2003-04-02 2004-03-30 ディジタル・メディア・サーバのアップグレード

Country Status (6)

Country Link
US (2) US6978452B2 (ja)
EP (1) EP1609308A4 (ja)
JP (2) JP5329039B2 (ja)
KR (1) KR101076642B1 (ja)
CN (1) CN100568938C (ja)
WO (1) WO2004090686A2 (ja)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7284236B2 (en) * 2002-10-29 2007-10-16 Brocade Communications Systems, Inc. Mechanism to change firmware in a high availability single processor system
US6978452B2 (en) * 2003-04-02 2005-12-20 Beach Unlimited Llc Upgrading digital media servers
US6996635B2 (en) * 2003-08-22 2006-02-07 International Business Machines Corporation Apparatus and method to activate transparent data storage drive firmware updates
US7526771B2 (en) * 2003-11-12 2009-04-28 Ntt Docomo, Inc. Method and apparatus for configuring an application while the application is running
US7490323B2 (en) * 2004-02-13 2009-02-10 International Business Machines Corporation Method and system for monitoring distributed applications on-demand
US7543019B1 (en) * 2004-03-31 2009-06-02 Emc Corporation Methods and apparatus providing backward compatibility for applications that access a changing object model
US8146073B2 (en) * 2004-09-30 2012-03-27 Microsoft Corporation Updating software while it is running
TWI255408B (en) * 2004-12-24 2006-05-21 Hon Hai Prec Ind Co Ltd System and method for client linking with server automatically
CN100521676C (zh) * 2005-04-14 2009-07-29 华为技术有限公司 在机顶盒中单独升级业务软件的实现方法和装置
US7814479B2 (en) * 2005-12-14 2010-10-12 International Business Machines Corporation Simultaneous download to multiple targets
US7761735B2 (en) * 2007-04-13 2010-07-20 International Business Machines Corporation Automated firmware restoration to a peer programmable hardware device
US7761734B2 (en) * 2007-04-13 2010-07-20 International Business Machines Corporation Automated firmware restoration to a peer programmable hardware device
US8418164B2 (en) * 2008-05-29 2013-04-09 Red Hat, Inc. Image install of a network appliance
US8516037B2 (en) * 2008-06-16 2013-08-20 International Business Machines Corporation Methods for dynamic partitioning of applications in client-server environments
EP2320319A4 (en) * 2008-07-23 2013-02-20 Fujitsu Ltd OBJECT BINDING DEVICE FOR BINDING OBJECTS IN STATIC BINDING EXECUTABLE FORM FILE, METHOD FOR BINDING OBJECTS, AND PROGRAM FOR THE SAME
US8243913B2 (en) 2008-08-29 2012-08-14 8×8, Inc. Limiting contact in a networked contact center environment
US8275116B2 (en) 2008-08-29 2012-09-25 8X8, Inc. Networked contact center
US8984300B2 (en) * 2008-09-30 2015-03-17 Infineon Technologies Ag Secure operation of programmable devices
US8332842B2 (en) * 2008-11-14 2012-12-11 International Business Machines Corporation Application restore points
WO2010124921A1 (en) 2009-04-27 2010-11-04 International Business Machines Corporation Message switching
US8589904B2 (en) * 2009-08-10 2013-11-19 Symantec Corporation Systems and methods for updating a software product
US20110099556A1 (en) * 2009-10-22 2011-04-28 International Business Machines Corporation Updating system for a microcontroller and associated methods
US8335765B2 (en) 2009-10-26 2012-12-18 Amazon Technologies, Inc. Provisioning and managing replicated data instances
US20130117738A1 (en) * 2011-11-03 2013-05-09 Microsoft Corporation Server Upgrades with Safety Checking and Preview
TWI462017B (zh) * 2012-02-24 2014-11-21 Wistron Corp 伺服器部署系統及資料更新的方法
WO2013136718A1 (ja) * 2012-03-16 2013-09-19 日本電気株式会社 時系列データ処理装置、時系列データ処理方法及び時系列データ処理プログラム記憶媒体
WO2013136717A1 (ja) * 2012-03-16 2013-09-19 日本電気株式会社 時系列データ処理装置、時系列データ処理方法及び時系列データ処理プログラム記憶媒体
US8949818B2 (en) 2012-06-29 2015-02-03 Intel Corporation Mechanism for facilitating dynamic and trusted cloud-based extension upgrades for computing systems
CN102857949B (zh) * 2012-09-14 2018-11-20 中兴通讯股份有限公司 一种规划数据一致性保证的方法和装置
WO2014045556A1 (ja) * 2012-09-18 2014-03-27 日本電気株式会社 時系列データ処理装置、時系列データ処理方法及び時系列データ処理プログラムの記憶媒体
JP6134390B2 (ja) * 2013-01-15 2017-05-24 ヒューレット パッカード エンタープライズ デベロップメント エル ピーHewlett Packard Enterprise Development LP 動的ファームウェア更新
US9003386B2 (en) * 2013-02-28 2015-04-07 Sap Se Fallback system for software upgrade
US9575744B2 (en) 2014-09-26 2017-02-21 Oracle International Corporation Live updating of a shared plugin registry with no service loss for active users
CN104898592B (zh) * 2015-03-31 2017-11-28 联想(北京)有限公司 一种联动规则的生成方法及电子设备
US9857975B2 (en) 2015-06-26 2018-01-02 International Business Machines Corporation Non-volatile memory drive partitions within microcontrollers
CN107479937A (zh) * 2017-09-25 2017-12-15 郑州云海信息技术有限公司 一种多节点集***叉升级的方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07200279A (ja) * 1993-12-28 1995-08-04 Toshiba Corp オブジェクト管理システム及びネットワーク管理システム
JPH09198233A (ja) * 1996-01-19 1997-07-31 Canon Inc バージョンアップ方法
JPH1074143A (ja) * 1996-08-30 1998-03-17 Hitachi Ltd ディスクアレイサブシステムのバージョンアップ方法
JPH11161482A (ja) * 1997-11-25 1999-06-18 Fuji Xerox Co Ltd 情報処理システム及びそのソフトウェア更新処理方法
JP2000137598A (ja) * 1998-10-30 2000-05-16 Toshiba Corp ファームウェア管理プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2002506249A (ja) * 1998-03-03 2002-02-26 シーベル システムズ,インコーポレイティド ソフトウェア・アップグレードの分配およびインスタンス化のための方法、システム、装置およびプログラム製品
JP2002366381A (ja) * 2001-06-12 2002-12-20 Hitachi Ltd オブジェクトの動的入替え処理方法
JP2006522416A (ja) * 2003-04-02 2006-09-28 ビーチ・アンリミテッド・エルエルシー ディジタル・メディア・サーバのアップグレード

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE123174T1 (de) 1989-05-22 1995-06-15 Siemens Ag Halbleiterspeicheranordnung mit kondensatoren mir zwei in einem graben angeordneten elektroden und verfahren zu deren herstellung.
US5210854A (en) * 1989-06-14 1993-05-11 Digital Equipment Corporation System for updating program stored in eeprom by storing new version into new location and updating second transfer vector to contain starting address of new version
US5432927A (en) * 1992-06-17 1995-07-11 Eaton Corporation Fail-safe EEPROM based rewritable boot system
SE504943C2 (sv) * 1994-12-09 1997-06-02 Ericsson Telefon Ab L M Synkroniseringsförfarande som tillåter tillståndsöverföring
US5867713A (en) * 1995-04-05 1999-02-02 International Business Machines Corporation Committing an install plan object for the network installation of application programs
JP3590688B2 (ja) * 1995-04-05 2004-11-17 インターナショナル・ビジネス・マシーンズ・コーポレーション アプリケーションを導入するための導入計画オブジェクトを構築する方法、及びそのシステム
US5826085A (en) * 1995-07-12 1998-10-20 Oracle Corporation Object oriented computer interface supporting interactive networked applications
US6112253A (en) * 1995-10-12 2000-08-29 International Business Machines Corporation Object-oriented method maintenance mechanism that does not require cessation of the computer system or its programs
DE19628168A1 (de) * 1996-07-12 1998-01-22 Ibm Vernetztes multimediales Netz
RU2104130C1 (ru) 1996-08-01 1998-02-10 Закрытое акционерное общество "Техно-ТМ" Способ соединения элементов композиционной мишени из тугоплавкого и труднодеформируемого материалов
US6266736B1 (en) * 1997-01-31 2001-07-24 Sony Corporation Method and apparatus for efficient software updating
US6189145B1 (en) * 1997-05-28 2001-02-13 International Business Machines Corporation Concurrent patch to logical partition manager of a logically partitioned system
EP0934563A1 (en) * 1997-05-30 1999-08-11 Koninklijke Philips Electronics N.V. Failsafe method for upgrading set-top system software from a network server
US5920725A (en) * 1997-07-02 1999-07-06 Adaptivity Inc. Run-time object-synthesis and transparent client/server updating of distributed objects using a meta server of all object descriptors
US6516356B1 (en) * 1997-09-30 2003-02-04 International Business Machines Corporation Application interface to a media server and a method of implementing the same
US6360363B1 (en) 1997-12-31 2002-03-19 Eternal Systems, Inc. Live upgrade process for object-oriented programs
DE19810814B4 (de) * 1998-03-12 2004-10-28 Telefonaktiebolaget Lm Ericsson (Publ) Rechnersystem und Zustandskopierverfahren zur skalierbaren Software-Aktualisierung
JP3882321B2 (ja) * 1998-03-13 2007-02-14 株式会社日立製作所 オペレーティングシステムのモジュールプログラムを備えた計算機
JP3888827B2 (ja) * 2000-03-15 2007-03-07 富士通株式会社 プログラム置換システム、分散処理システム及びプログラム置換方法
US7031989B2 (en) * 2001-02-26 2006-04-18 International Business Machines Corporation Dynamic seamless reconfiguration of executing parallel software
US7373643B2 (en) * 2001-03-06 2008-05-13 Cybersoft, Inc. Apparatus, methods and articles of manufacture for data transmission
US7266816B1 (en) * 2001-04-30 2007-09-04 Sun Microsystems, Inc. Method and apparatus for upgrading managed application state for a java based application
TWI242725B (en) * 2001-06-11 2005-11-01 Oce Tech Bv A method for executing a hot migrate operation through an incremental roll-over process that uses migration plug-in means for conversion during an upgrade transition, and a multiprocessing system and a system arranged for implementing such method
US20030018964A1 (en) * 2001-07-19 2003-01-23 International Business Machines Corporation Object model and framework for installation of software packages using a distributed directory
US20030051235A1 (en) * 2001-09-07 2003-03-13 Simpson Mark D. Method and apparatus for verifying and analyzing computer software installation
US7003767B2 (en) * 2001-10-02 2006-02-21 International Business Machines Corp. System and method for remotely updating software applications
US20030074487A1 (en) * 2001-10-17 2003-04-17 Tankut Akgul Dynamic operating system
US20040133888A1 (en) * 2002-08-02 2004-07-08 Delvan Ard Wizard-based voice/data telecommunications system installation and configuration tool
US7665080B2 (en) * 2003-02-12 2010-02-16 Bea Systems, Inc. System and method for using a classloader hierarchy to load software applications

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07200279A (ja) * 1993-12-28 1995-08-04 Toshiba Corp オブジェクト管理システム及びネットワーク管理システム
JPH09198233A (ja) * 1996-01-19 1997-07-31 Canon Inc バージョンアップ方法
JPH1074143A (ja) * 1996-08-30 1998-03-17 Hitachi Ltd ディスクアレイサブシステムのバージョンアップ方法
JPH11161482A (ja) * 1997-11-25 1999-06-18 Fuji Xerox Co Ltd 情報処理システム及びそのソフトウェア更新処理方法
JP2002506249A (ja) * 1998-03-03 2002-02-26 シーベル システムズ,インコーポレイティド ソフトウェア・アップグレードの分配およびインスタンス化のための方法、システム、装置およびプログラム製品
JP2000137598A (ja) * 1998-10-30 2000-05-16 Toshiba Corp ファームウェア管理プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2002366381A (ja) * 2001-06-12 2002-12-20 Hitachi Ltd オブジェクトの動的入替え処理方法
JP2006522416A (ja) * 2003-04-02 2006-09-28 ビーチ・アンリミテッド・エルエルシー ディジタル・メディア・サーバのアップグレード

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNH199900021007; 長坂 篤、外4名: 'DAVIC準拠汎用メディアサーバOKI Media Server V2' 沖電気研究開発 第64巻、第2号, 19970401, 第39-44頁, 沖電気工業株式会社 *
JPN6012023280; 長坂 篤、外4名: 'DAVIC準拠汎用メディアサーバOKI Media Server V2' 沖電気研究開発 第64巻、第2号, 19970401, 第39-44頁, 沖電気工業株式会社 *

Also Published As

Publication number Publication date
WO2004090686A2 (en) 2004-10-21
CN100568938C (zh) 2009-12-09
USRE42685E1 (en) 2011-09-06
JP2006522416A (ja) 2006-09-28
EP1609308A4 (en) 2007-08-08
US20040197073A1 (en) 2004-10-07
JP5329039B2 (ja) 2013-10-30
EP1609308A2 (en) 2005-12-28
KR20060073535A (ko) 2006-06-28
CN1762154A (zh) 2006-04-19
WO2004090686A3 (en) 2005-08-18
KR101076642B1 (ko) 2011-10-26
US6978452B2 (en) 2005-12-20
JP5727200B2 (ja) 2015-06-03

Similar Documents

Publication Publication Date Title
JP5727200B2 (ja) ディジタル・メディア・サーバのアップグレード
US6535924B1 (en) Method and apparatus for performing a software upgrade of a router while the router is online
US7320127B2 (en) Configuration synchronization for redundant processors executing different versions of software
US8578371B2 (en) Software distribution method and system with automatic prerequisite installation
US7293255B2 (en) Apparatus and method for automated creation of resource types
US20040255000A1 (en) Remotely controlled failsafe boot mechanism and remote manager for a network device
JP2005523621A (ja) 仮想サービスモジュールを持つネットワークシステム
JP2003114801A (ja) コンピュータサービスおよびプログラマブルデバイスの管理を自動化するシステムおよび方法
WO2004081762A2 (en) Method and apparatus for executing applications on a distributed computer system
CA2904253C (en) Computer system using in-service software upgrade
AU3033699A (en) State copying method for software update
WO2002044835A2 (en) A method and system for software and hardware multiplicity
US6092123A (en) Method and apparatus for changing functions of a hardware device using two or more communication channels
Bannò et al. Tackling consistency issues for runtime updating distributed systems
US7325039B1 (en) Router image support device
US20030131153A1 (en) Dynamic composition and maintenance of applications Dynamic composition and maintenance of applications
US6711737B1 (en) Data processing system, data processing method, and program-providing medium therewith
Utas Robust Communications Software: Extreme Availability, Reliability and Scalability for Carrier-Grade Systems
JP4025650B2 (ja) ネットワークサーバーのプログラムを更新する方法、その関連システム及びソフトウエア
Niamanesh et al. A Framework for Automatic Reconfigurations of Protocol Stacks in Ubiquitous Computing Systems
Tam On engineering standards based carrier grade platforms
Giuffrida et al. Prepare to die: A new paradigm for live update

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120515

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120815

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120904

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121212

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20121219

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20130118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150202

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150402

R150 Certificate of patent or registration of utility model

Ref document number: 5727200

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees