JP3463803B2 - クラスタサーバ装置 - Google Patents

クラスタサーバ装置

Info

Publication number
JP3463803B2
JP3463803B2 JP2000304433A JP2000304433A JP3463803B2 JP 3463803 B2 JP3463803 B2 JP 3463803B2 JP 2000304433 A JP2000304433 A JP 2000304433A JP 2000304433 A JP2000304433 A JP 2000304433A JP 3463803 B2 JP3463803 B2 JP 3463803B2
Authority
JP
Japan
Prior art keywords
cache server
stream data
cache
server
unit
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.)
Expired - Fee Related
Application number
JP2000304433A
Other languages
English (en)
Other versions
JP2001202330A (ja
Inventor
優希 堀内
理恵子 浅井
猛 大村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2000304433A priority Critical patent/JP3463803B2/ja
Priority to EP00122262A priority patent/EP1107533B1/en
Priority to DE60030397T priority patent/DE60030397T2/de
Priority to US09/692,545 priority patent/US6760765B1/en
Publication of JP2001202330A publication Critical patent/JP2001202330A/ja
Application granted granted Critical
Publication of JP3463803B2 publication Critical patent/JP3463803B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • 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/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • 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
    • 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/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources
    • 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/1034Reaction to server failures by a load balancer
    • 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
    • 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
    • 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

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、クラスタサーバ装
置に関し、より特定的には、ネットワークで接続された
複数の端末装置から受け付けるリクエストに従って、対
応する映像等のストリームデータを配信するクラスタサ
ーバ装置に関する。
【0002】
【従来の技術】映像等に代表されるストリームデータの
配信を行うクラスタサーバ装置には、ネットワークで接
続された端末装置に、ストリームデータを途切れなく配
信することが要求される。ここで、ストリームデータの
データ量は、一般的に膨大なものであるため、クラスタ
サーバ装置には、データ格納用に大容量のハードディス
ク等の記憶装置が使用されている。しかし、データ格納
用に大容量の記憶装置を備えたサーバで構成されるクラ
スタサーバ装置では、サーバの能力の限界値によって配
信可能な端末装置の数に制限がある。そこで、従来にお
いては、配信可能な端末装置の数をより多くするため、
クラスタサーバ装置内に複数のサーバを設け、端末装置
から受け付けるリクエストを複数のサーバに順番に振り
分ける方式等が考案されている。以下、リクエストを複
数のサーバに順番に振り分ける方式による従来のクラス
タサーバ装置を、簡単に説明する。
【0003】図18は、リクエストを複数のサーバに順
番に振り分ける方式による従来のクラスタサーバ装置を
用いた配信システムの構成の一例を示すブロック図であ
る。図18において、従来の配信システムは、m個の端
末装置401 〜40m (mは、2以上の整数)とクラス
タサーバ装置200とが、ネットワーク501で接続さ
れている。クラスタサーバ装置200は、n個のキャッ
シュサーバ201 〜20n (nは、2以上の整数)とコ
ンテンツサーバ300とで構成され、キャッシュサーバ
201 〜20n は、内部ネットワーク503によってコ
ンテンツサーバ300にそれぞれ接続されている。キャ
ッシュサーバ201 〜20n は、受信部211 〜21n
と、キャッシュ221 〜22n と、配信部231 〜23
n とを、それぞれ備えている。また、コンテンツサーバ
300は、ストリームデータ蓄積部301と、読み出し
部302と、キャッシュ303と、配信部304とを備
えている。なお、ストリームデータは、ストリームデー
タ蓄積部301にブロック単位で格納されている。
【0004】今、端末装置401 が、コンテンツサーバ
300に対して、あるストリームデータを要求したとす
る。この要求に対して、コンテンツサーバ300の読み
出し部302は、該当するストリームデータの読み出し
要求をストリームデータ蓄積部301へ発行し、読み出
したストリームデータをキャッシュ303に一旦蓄え
る。配信部304は、キャッシュ303に蓄えられたス
トリームデータをキャッシュサーバ201 へ送信する。
キャッシュサーバ201 において、受信部211が、コ
ンテンツサーバ300から送信されるストリームデータ
を受信する。受信部211 は、受信したストリームデー
タをキャッシュ221 へ一旦蓄える。配信部231 は、
キャッシュ221 に蓄えられたストリームデータを端末
装置401へ送信する。そして、クラスタサーバ装置2
00は、次に端末装置402 が、コンテンツサーバ30
0に対して、あるストリームデータを要求した場合は、
キャッシュサーバ202 を経由させ、その次に端末装置
403 が、コンテンツサーバ300に対して、あるスト
リームデータを要求した場合は、キャッシュサーバ20
3 を経由させる。このように、クラスタサーバ装置20
0は、リクエスト受付順に、経由するキャッシュサーバ
を巡回させる。
【0005】このように、従来のクラスタサーバ装置2
00では、キャッシュサーバ201〜20n を並列に構
成して要求処理を巡回させることで、システム全体にお
ける配信可能な端末装置401 〜40m の数の増加を実
現している。
【0006】また、複数のサーバにリクエストを順番に
振り分ける方式に加え、1台のサーバに障害が発生した
場合には、障害復旧後にデータのリカバリを行う従来の
クラスタサーバ装置が、特開平8−263351号公報
に開示されている。この公報で開示されている従来のク
ラスタサーバ装置では、各キャッシュサーバにコンテン
ツサーバの更新履歴をそれぞれ保持させておき、障害復
旧後には、キャッシュサーバで保持している最新の更新
履歴情報を用いて、コンテンツサーバのデータのリカバ
リを行う。これにより、従来のクラスタサーバ装置は、
1台のコンテンツサーバのデータに障害が発生した場合
でも、システムを中断させることなく、かつ迅速にリカ
バリ処理を行うことを実現している。
【0007】
【発明が解決しようとする課題】しかしながら、上記従
来のクラスタサーバ装置200においては、端末装置4
1 〜40m から受け付けるリクエスト単位で、複数の
キャッシュサーバ201〜20n にリクエストを巡回的
に振り分けている。このため、従来のクラスタサーバ装
置200では、動画データのような時間的に連続なスト
リームデータが配信されている場合、複数のキャッシュ
サーバ201 〜20n に負荷がうまく分散されず、動画
が途切れることがあった。また、ストリームデータの配
信途中にキャッシュサーバに障害が発生した場合には、
他のキャッシュサーバによって、当該ストリームデータ
を最初から配信し直さなくてはならないといった問題が
ある。さらに、上記公報に開示されている従来のクラス
タサーバ装置は、コンテンツサーバの更新履歴をキャッ
シュサーバで保持しているだけなので、キャッシュサー
バ自体が故障した場合には、端末装置に対するサービス
が途切れてしまうという問題がある。
【0008】それ故、本発明の目的は、端末装置から受
け付ける要求に対して、複数のキャッシュサーバへの負
荷分散を最適に行いながら、かつ、いずれかのキャッシ
ュサーバに障害が発生した場合でも、端末装置へのデー
タ配信を問題なく(動画が途切れることなく)継続で
き、かつ障害復旧できるクラスタサーバ装置を提供する
ことである。
【0009】
【課題を解決するための手段および発明の効果】第1の
発明は、ネットワークを介して接続された複数の端末装
置からの要求に応じて、動画データ等の時間的に連続す
るストリームデータの配信を行うクラスタサーバ装置で
あって、端末装置へ、対応するストリームデータをそれ
ぞれ配信する第1〜第nのキャッシュサーバ(nは、2
以上の整数)と、端末装置から配信要求を受信し、第1
〜第nのキャッシュサーバのそれぞれにおける、当該配
信要求に対応するストリームデータの記憶状況および
信しているストリームデータの配信状態に応じて、当該
配信要求をいずれかのキャッシュサーバに振り分けて転
送する負荷分散サーバと、ストリームデータを蓄積する
ストリームデータ蓄積部を有し、キャッシュサーバから
の配信要求に応じて、当該配信要求に対応するストリー
ムデータを、当該ストリームデータ蓄積部から指定先の
キャッシュサーバへ配信する1台以上のコンテンツサー
バとを備え、第iのキャッシュサーバ(iは、1〜nの
それぞれ)は、コンテンツサーバから配信されたストリ
ームデータを記憶するストリームデータ記憶部と、負荷
分散サーバから転送される配信要求に対応するストリー
ムデータが、ストリームデータ記憶部に記憶されている
場合は、当該記憶されているストリームデータを配信す
指示を、ストリームデータ記憶部に記憶されていない
場合は、配信要求に応じてコンテンツサーバから配信さ
れたストリームデータを配信する指示を出力する要求転
送部と、要求転送部から出力される指示に従って、配信
要求を行った端末装置へストリームデータを配信するデ
ータ配信部と、コンテンツサーバから配信されストリ
ームデータを、配信時にストリームデータ記憶部に記憶
すると共に、第(i+1)のキャッシュサーバ(ただ
し、i=nの場合は第1のキャッシュサーバ)のストリ
ームデータ記憶部にも重複して記憶するように制御する
キャッシュ制御部とを備える。
【0010】第2の発明は、第1の発明に従属する発明
であって、キャッシュサーバは、自己が配信しているス
トリームデータの配信状態を管理するセッション管理部
と、ストリームデータ記憶部に記憶されているストリー
ムデータを管理するストリームデータ管理部とをさらに
備え、負荷分散サーバは、端末装置から配信要求を受信
した時に、キャッシュサーバの配信状態と当該配信要求
に対応するストリームデータの記憶状況とを、全てのセ
ッション管理部およびストリームデータ管理部に問い合
わせ、その結果に基づいて、いずれかのキャッシュサー
バに当該配信要求を転送するクラスタ制御部を備え、ク
ラスタ制御部は、対応するストリームデータを記憶して
いるキャッシュサーバがある場合は、当該記憶している
キャッシュサーバの中で最も負荷が低いキャッシュサー
バに、対応するストリームデータを記憶しているキャッ
シュサーバがない場合は、全てのキャッシュサーバの中
で最も負荷が低いキャッシュサーバに、配信要求を転送
することを特徴とする。
【0011】第3の発明は、第1の発明に従属する発明
であって、キャッシュサーバは、自己が配信しているス
トリームデータの配信状態を管理するセッション管理部
と、ストリームデータ記憶部に記憶されているストリー
ムデータを管理するストリームデータ管理部とをさらに
備え、負荷分散サーバは、全てのキャッシュサーバのセ
ッション管理部と常時通信し、各キャッシュサーバの負
荷状態を保持する負荷状態管理部と、端末装置から配信
要求を受信した時に、当該配信要求に対応するストリー
ムデータの記憶状況を、全てのストリームデータ管理部
に問い合わせ、その結果に基づいて、いずれかのキャッ
シュサーバに当該配信要求を転送するクラスタ制御部と
を備え、クラスタ制御部は、負荷状態管理部の情報に基
づいて、対応するストリームデータを記憶しているキャ
ッシュサーバがある場合は、当該記憶しているキャッシ
ュサーバの中で最も負荷が低いキャッシュサーバに、対
応するストリームデータを記憶しているキャッシュサー
バがない場合は、全てのキャッシュサーバの中で最も負
荷が低いキャッシュサーバに、配信要求を転送すること
を特徴とする。
【0012】第4の発明は、第1の発明に従属する発明
であって、キャッシュサーバは、自己が配信しているス
トリームデータの配信状態を管理するセッション管理部
と、ストリームデータ記憶部に記憶されているストリー
ムデータを管理するストリームデータ管理部とをさらに
備え、負荷分散サーバは、全てのセッション管理部およ
びストリームデータ管理部と常時通信しており、その通
信内容に基づいて、いずれかのキャッシュサーバに当該
配信要求を転送するクラスタ制御部を備え、クラスタ制
御部は、端末装置から配信要求を受信した時に、対応す
るストリームデータを記憶しているキャッシュサーバが
ある場合は、当該記憶しているキャッシュサーバの中で
最も負荷が低いキャッシュサーバに、対応するストリー
ムデータを記憶しているキャッシュサーバがない場合
は、全てのキャッシュサーバの中で最も負荷が低いキャ
ッシュサーバに、当該配信要求を転送することを特徴と
する。
【0013】
【0014】第の発明は、第の発明に従属する発明
であって、キャッシュ制御部は、配信要求に対応するス
トリームデータがストリームデータ記憶部にない場合、
コンテンツサーバへ転送する配信要求の送信先アドレス
を、予め設定されたマルチキャストアドレスに変更して
送信し、予め設定されたマルチキャストアドレス宛のス
トリームデータを受信した場合には、ストリームデータ
記憶部に記憶するように制御することを特徴とする。
【0015】第の発明は、第の発明に従属する発明
であって、第iのキャッシュサーバにおいて、キャッシ
ュ制御部は、配信要求に対応するストリームデータがス
トリームデータ記憶部にない場合、当該配信要求と共
に、送信先アドレスに第(i+1)のキャッシュサーバ
のアドレスを指定した配信要求を、コンテンツサーバへ
送信することを特徴とする。
【0016】第の発明は、第の発明に従属する発明
であって、クラスタ制御部は、1台のキャッシュサーバ
の配信ストリーム数が、値{((n−1)/n)×MA
X}以下であって(MAXは、キャッシュサーバ1台当
たりの配信可能な最大配信ストリーム性能)、第iのキ
ャッシュサーバおよび第(i+1)のキャッシュサーバ
のストリームデータ記憶部にそれぞれ記憶されているス
トリームデータの配信ストリーム数の合計が、MAX以
下に制限されるように、配信要求をキャッシュサーバに
振り分けて転送することを特徴とする。
【0017】第の発明は、第の発明に従属する発明
であって、クラスタ制御部は、第iのキャッシュサーバ
および第(i+1)のキャッシュサーバのストリームデ
ータ記憶部にそれぞれ記憶されているストリームデータ
の配信ストリーム数の合計、および、第(i−1)のキ
ャッシュサーバ(ただし、i=1の場合は第nのキャッ
シュサーバ)および第iのキャッシュサーバのストリー
ムデータ記憶部にそれぞれ記憶されているストリームデ
ータの配信ストリーム数の合計が、それぞれMAX以下
に制限されるように、配信要求をキャッシュサーバに振
り分けて転送することを特徴とする。
【0018】上記のように、第1〜第の発明によれ
ば、1つのストリームデータを複数のキャッシュサーバ
に記憶しておく。これにより、複数のキャッシュサーバ
からストリームデータを直接配信することが可能となる
ので、配信性能の飛躍的向上を図ることができる。ま
た、記憶されているストリームデータに応じてキャッシ
ュサーバの負荷を均等に分散させることで、記憶部(キ
ャッシュ)の効率的な運用、かつ、より多くの端末装置
へのデータ配信が可能になる。
【0019】
【0020】第の発明は、第の発明に従属する発明
であって、第iのキャッシュサーバは、データ配信部か
ら、重複して同じストリームデータを記憶する第(i+
1)のキャッシュサーバおよび第(i−1)キャッシ
ュサーバに、端末装置へ現在配信している配信情報を、
一定時間間隔で通知しており、第(i+1)のキャッシ
ュサーバおよび第(i−1)のキャッシュサーバから通
知される各々の配信情報によって、いずれか一方または
双方のキャッシュサーバが配信不能になったことを検知
した場合、ストリームデータが途切れないよう定められ
た時間以内に、当該配信不能になったキャッシュサーバ
に代わって、当該配信不能になったキャッシュサーバが
最後に配信したストリームデータの続きを配信するよう
データ配信部へ指示する配信不能検知部をさらに備え
る。
【0021】第10の発明は、第9の発明に従属する発
明であって、配信不能検知部の指示に従って、データ配
信部が、配信不能となったキャッシュサーバに代わって
端末装置へストリームデータを配信している場合、キャ
ッシュ制御部は、ストリームデータ記憶部に新たなスト
リームデータを記憶しないように制御することを特徴と
する。
【0022】上記のように、第9及び10の発明によ
れば、1つのストリームデータを複数のキャッシュサー
バに記憶させておき、さらに、相互にキャッシュサーバ
の配信状態を通知しながら運用する。これにより、上述
した発明の効果に加え、障害発生時も端末装置への配信
が途切れることなく継続させることができる。
【0023】第11の発明は、第9の発明に従属する発
明であって、配信不能となっていたキャッシュサーバが
復旧した場合、復旧したキャッシュサーバは、重複して
同じストリームデータを記憶する他のキャッシュサーバ
のデータ配信部へ復旧通知を出力し、配信不能時に、復
旧したキャッシュサーバに代わって端末装置へストリー
ムデータを配信していた他のキャッシュサーバは、復旧
通知を受けて、ストリームデータ記憶部に記憶していた
ストリームデータを、復旧したキャッシュサーバのスト
リームデータ記憶部にコピーすることを特徴とする。
【0024】上記のように、第11の発明によれば、1
つのストリームデータを複数のキャッシュサーバに記憶
しておき、相互にキャッシュサーバの配信状態を通知し
ながら運用することを利用して、障害が発生した後に復
旧したキャッシュサーバに対し迅速にリカバリ処理を行
うことが可能となる。
【0025】第12の発明は、第1の発明に従属する発
明であって、キャッシュサーバは、端末装置へストリー
ムデータを配信するためのネットワーク接続情報である
セッションと、それぞれのセッションに関してデータ配
信部が最後に送信したパケット(ストリームデータの一
単位)と、ストリームデータの配信ストリーム数とを、
管理するセッション管理部と、セッション管理部で管理
されている全てのセッションのパケットを、重複して同
じストリームデータを記憶する複数の他のキャッシュサ
ーバとの間で、定期的に通知する配信不能検知部とをさ
らに備え、配信不能検知部は、通知が一定時間来ない場
合、通知元のキャッシュサーバが配信不能になったと判
断し、ストリームデータが途切れないよう定められた時
間以内に、当該配信不能になったキャッシュサーバに代
わって、同じストリームデータを記憶するいずれか1台
の他のキャッシュサーバが、当該配信不能になったキャ
ッシュサーバで管理される全てのセッションに関して、
最後に受け取った通知から識別されたパケットの次のパ
ケットから配信を継続するようデータ配信部へ指示する
ことを特徴とする。
【0026】第13の発明は、第1の発明に従属する発
明であって、キャッシュサーバは、端末装置へストリー
ムデータを配信するためのネットワーク接続情報である
セッションを識別するためのセッション識別子と、それ
ぞれのセッションに関してデータ配信部が最後に送信し
たパケットを識別するためのパケット識別子と、当該セ
ッション識別子およびパケット識別子を格納するための
セッション管理テーブルと、当該セッション管理テーブ
ルを当該セッション識別子の値によって2つに分類する
ためのテーブル境界値と、ストリームデータの配信スト
リーム数とを、管理するセッション管理部と、セッショ
ン管理部で管理されているストリームデータを配信中の
全てのセッションのセッション識別子およびパケット識
別子を、重複して同じストリームデータを記憶する複数
の他のキャッシュサーバとの間で、定期的に通知し、当
該他のキャッシュサーバから受け取る通知に従って、セ
ッション管理テーブルに格納されているセッション識別
子およびパケット識別子の値を更新する、配信不能検知
部とをさらに備え、セッション管理部は、自己のデータ
配信部が配信しているストリームデータのセッションに
関しては、セッション識別子をテーブル境界値より小さ
い値に設定し、他のキャッシュサーバのデータ配信部が
配信しているストリームデータのセッションに関して
は、当該他のキャッシュサーバで管理されるセッション
識別子の値を、テーブル境界値より大きい値に変換して
設定し、データ配信部は、全てのセッションにおいて、
セッション識別子の値がテーブル境界値より小さい場合
は、パケットを端末装置へ送信すると共に、パケット識
別子の値を更新することを繰り返し、配信不能検知部
は、通知が一定時間来ない場合は、通知元のキャッシュ
サーバが配信不能になったと判断し、ストリームデータ
が途切れないよう定められた時間以内に、テーブル境界
値をセッション識別子の最大値より大きい値に設定する
ことを特徴とする。
【0027】第14の発明は、第1の発明に従属する発
明であって、キャッシュサーバは、自己が配信している
ストリームデータの配信ストリーム数を管理するセッシ
ョン管理部と、他のキャッシュサーバが配信不能になっ
た場合、当該配信不能になった他のキャッシュサーバを
検知し、当該他のキャッシュサーバが配信していた全て
のストリームデータの配信を、当該他のキャッシュサー
バに代わって継続することをデータ配信部へ指示する配
信不能検知部とをさらに備え、配信不能検知部は、セッ
ション管理部に問い合わせた結果、ストリーム配信数が
キャッシュサーバの最大配信ストリーム性能を超える場
合、同じストリームデータを記憶するキャッシュサーバ
のうち、配信不能になった他のキャッシュサーバ以外の
さらに他のキャッシュサーバへあふれ通知を出力すると
共に、最大配信ストリーム性能を超える分のストリーム
データの配信を停止するようデータ配信部へ指示し、あ
ふれ通知を受け取ったさらに他のキャッシュサーバにお
ける配信不能検知部は、あふれ通知を出力したキャッシ
ュサーバが配信を停止した最大配信ストリーム性能を超
える分のストリームデータの全てについて、あふれ通知
を出力したキャッシュサーバが最後に配信したストリー
ムデータの続きを配信するようデータ配信部へ指示する
ことを特徴とする。
【0028】第15の発明は、第12の発明に従属する
発明であって、他のキャッシュサーバが配信不能になっ
た場合であって、セッション管理部に問い合わせた結
果、ストリーム配信数がキャッシュサーバの最大配信ス
トリーム性能を超える場合、配信不能検知部は、同じス
トリームデータを記憶するキャッシュサーバのうち、配
信不能になった他のキャッシュサーバ以外のさらに他の
キャッシュサーバへあふれ通知を出力すると共に、最大
配信ストリーム性能を超える分のストリームデータの配
信を停止するようデータ配信部へ指示し、あふれ通知を
受け取ったさらに他のキャッシュサーバにおける配信不
能検知部は、あふれ通知を出力したキャッシュサーバが
配信を停止した最大配信ストリーム性能を超える分のス
トリームデータ全てについて、最後に受け取った通知か
ら識別されたパケットの次のパケットから配信を継続す
るようデータ配信部へ指示することを特徴とする。
【0029】第16の発明は、第13の発明に従属する
発明であって、同じストリームデータを記憶するキャッ
シュサーバは、最大セッション情報登録数がMAXのセ
ッション管理テーブルをそれぞれ有し、それぞれのセッ
ション管理部は、自己のデータ配信部が配信しているス
トリームデータのセッションに関しては、セッション識
別子をテーブル境界値より小さい値に設定し、他のキャ
ッシュサーバのデータ配信部が配信しているストリーム
データのセッションに関しては、当該他のキャッシュサ
ーバのセッション管理テーブルにおいて、テーブル境界
値より小さいセッション識別子の値I1〜Inを値(M
AX−I1−1)〜(MAX−In−1)に変換して設
定し、配信不能検知部は、他のキャッシュサーバから受
け取る通知に従って、当該通知に含まれるセッション識
別子I1〜Inを(MAX−I1−1)〜(MAX−I
n−1)に変換した値と、パケット識別子P1〜Pnの
値とを、セッション管理テーブルの値として更新し、通
知されるテーブル境界値がFに変更された場合、テーブ
ル境界値を(MAX−F)に設定することを特徴とす
る。
【0030】第17の発明は、第13の発明に従属する
発明であって、キャッシュサーバAにおいて、キャッシ
ュサーバAとキャッシュサーバBとの両方に記憶される
ストリームデータ集合S1と、キャッシュサーバAとキ
ャッシュサーバCとの両方に記憶されるストリームデー
タ集合S2とを、ストリームデータ記憶部に記憶する場
合、キャッシュサーバAが、セッション管理テーブルT
0,T1と、セッション管理テーブルT0,T1をセッ
ション識別子の値によって2つに分類するためのテーブ
ル境界値F0,F1とを有し、セッション管理テーブル
T0には、キャッシュサーバAが配信中のストリームデ
ータ集合S1に含まれるストリームデータのセッション
に関しては、セッション識別子がテーブル境界値F0よ
り小さい値に設定され、キャッシュサーバBが配信中の
ストリームデータ集合S1に含まれるストリームデータ
のセッションに関しては、キャッシュサーバBのセッシ
ョン管理テーブルで、セッション識別子がテーブル境界
値F0より小さい値I1〜Inを値(MAX−I1−
1)〜(MAX−In−1)に変換されて設定され、セ
ッション管理テーブルT1には、キャッシュサーバAが
配信中のストリームデータ集合S2に含まれるストリー
ムデータのセッションに関しては、セッション識別子が
テーブル境界値F1より小さい値に設定され、キャッシ
ュサーバCが配信中のストリームデータ集合S2に含ま
れるストリームデータのセッションに関しては、キャッ
シュサーバCのセッション管理テーブルで、セッション
識別子がテーブル境界値F1より小さい値J1〜Jnを
値(MAX−J1−1)〜(MAX−Jn−1)に変換
されて設定され、キャッシュサーバAにおいて、配信不
能検知部は、セッション管理部に問い合わせて、キャッ
シュサーバB,Cと互いにストリームデータを配信中の
全てのセッションについて、セッション識別子およびパ
ケット識別子を通知し、キャッシュサーバBからの通知
が一定時間来ない場合は、テーブル境界値F0を、キャ
ッシュサーバCからの通知が一定時間来ない場合は、テ
ーブル境界値F1を、MAX以上に設定し、ストリーム
配信数がキャッシュサーバの最大配信ストリーム性能を
超える場合であって、キャッシュサーバBからの通知が
来ない場合は、テーブル境界値F1を、キャッシュサー
バCからの通知が来ない場合は、テーブル境界値F0
を、キャッシュサーバのストリーム配信数がキャッシュ
サーバの最大配信ストリーム性能以下になる値に変更す
ることを特徴とする。
【0031】上記のように、第12〜第17の発明によ
れば、1つのストリームデータを複数のキャッシュサー
バに記憶させると共に、隣り合うキャッシュサーバの配
信状態をセッションおよびパケットに関する情報形態で
保持しておき、さらに、相互にキャッシュサーバの配信
状態を通知しながら運用する。これにより、上述した発
明の効果に加え、障害発生時も端末装置への配信が途切
れることなく継続させることができる。
【0032】第18の発明は、第11の発明に従属する
発明であって、キャッシュサーバは、配信不能となって
いた他のキャッシュサーバが復旧したことを検知する配
信復旧部をさらに備え、配信不能となっていた他のキャ
ッシュサーバが復旧した場合、当該復旧した他のキャッ
シュサーバの配信復旧部は、キャッシュ制御部がストリ
ームデータの復旧を完了した後、代わりに端末装置へス
トリームデータを配信していたキャッシュサーバへ復旧
通知を出力すると共に、当該キャッシュサーバが代わり
に配信していたストリームデータの続きを配信するよう
データ配信部へ指示し、キャッシュサーバの配信復旧部
は、復旧した他のキャッシュサーバの代わりに配信して
いたストリームデータの配信を、停止するようデータ配
信部へ指示することを特徴とする。
【0033】第19の発明は、第12の発明に従属する
発明であって、キャッシュサーバは、配信不能となって
いた他のキャッシュサーバが復旧したことを検知する配
信復旧部をさらに備え、配信不能となっていた他のキャ
ッシュサーバが復旧した場合、当該復旧した他のキャッ
シュサーバのキャッシュ制御部は、同じストリームデー
タを記憶しているキャッシュサーバのデータ配信部へ復
旧通知を出力し、代わりに端末装置へストリームデータ
を配信していたキャッシュサーバのストリームデータ記
憶部に記憶されているストリームデータを、復旧した他
のキャッシュサーバのストリームデータ記憶部にコピー
し、復旧した他のキャッシュサーバの配信復旧部は、キ
ャッシュ制御部がストリームデータの復旧を完了した
後、キャッシュサーバへ復旧通知を出力すると共に、当
該キャッシュサーバが代わりに配信していたストリーム
データにおいて、最後に送信したパケット識別子で識別
されるパケットの次のパケットから配信を継続するよう
データ配信部へ指示し、キャッシュサーバの配信復旧部
は、復旧した他のキャッシュサーバの代わりに配信して
いたストリームデータの配信を、停止するようデータ配
信部へ指示することを特徴とする。
【0034】第20の発明は、第16の発明に従属する
発明であって、キャッシュサーバは、配信不能となって
いた他のキャッシュサーバが復旧したことを検知する配
信復旧部をさらに備え、配信不能となっていた他のキャ
ッシュサーバが復旧した場合、当該復旧した他のキャッ
シュサーバのキャッシュ制御部は、同じストリームデー
タを記憶しているキャッシュサーバのデータ配信部へ復
旧通知を出力し、代わりに端末装置へストリームデータ
を配信していたキャッシュサーバのストリームデータ記
憶部に記憶されているストリームデータを、復旧した他
のキャッシュサーバのストリームデータ記憶部にコピー
し、復旧した他のキャッシュサーバの配信復旧部は、キ
ャッシュ制御部がストリームデータの復旧を完了した
後、キャッシュサーバへ復旧通知を出力すると共に、テ
ーブル境界値を配信不能になる前の値に設定し、キャッ
シュサーバの配信復旧部は、テーブル境界値を、復旧し
た他のキャッシュサーバが配信不能になる前の値に設定
することを特徴とする。
【0035】第21の発明は、第18の発明に従属する
発明であって、配信不能になった他のキャッシュサーバ
の代わりにストリームデータを配信していたことで、キ
ャッシュサーバが、最大配信ストリーム性能を超える分
のストリームデータの配信を行っていた場合、キャッシ
ュサーバの配信復旧部は、復旧した他のキャッシュサー
バの代わりに配信していたストリームデータの配信を、
停止するようデータ配信部へ指示した後、復旧した他の
キャッシュサーバ以外のさらに他のキャッシュサーバへ
復旧通知を出力すると共に、当該さらに他のキャッシュ
サーバが代わりに配信していたストリームデータの続き
を配信するようデータ配信部へ指示し、さらに他のキャ
ッシュサーバの配信復旧部は、復旧通知を出力してきた
キャッシュサーバの代わりに配信していたストリームデ
ータの配信を、停止するようデータ配信部へ指示するこ
とを特徴とする。
【0036】第22の発明は、第19の発明に従属する
発明であって、配信不能になった他のキャッシュサーバ
の代わりにストリームデータを配信していたことで、キ
ャッシュサーバが、最大配信ストリーム性能を超える分
のストリームデータの配信を行っていた場合、キャッシ
ュサーバの配信復旧部は、復旧した他のキャッシュサー
バの代わりに配信していたストリームデータの配信を、
停止するようデータ配信部へ指示した後、復旧した他の
キャッシュサーバ以外のさらに他のキャッシュサーバへ
復旧通知を出力すると共に、当該さらに他のキャッシュ
サーバが代わりに配信していたストリームデータにおい
て、最後に送信したパケット識別子で識別されるパケッ
トの次のパケットから配信を継続するようデータ配信部
へ指示し、さらに他のキャッシュサーバの配信復旧部
は、復旧通知を出力してきたキャッシュサーバの代わり
に配信していたストリームデータの配信を、停止するよ
うデータ配信部へ指示することを特徴とする。
【0037】第23の発明は、第17の発明に従属する
発明であって、キャッシュサーバは、配信不能となって
いた他のキャッシュサーバが復旧したことを検知する配
信復旧部をさらに備え、配信不能となっていた他のキャ
ッシュサーバが復旧した場合、当該復旧した他のキャッ
シュサーバのキャッシュ制御部は、同じストリームデー
タを記憶しているキャッシュサーバのデータ配信部へ復
旧通知を出力し、代わりに端末装置へストリームデータ
を配信していたキャッシュサーバAのストリームデータ
記憶部に記憶されているストリームデータを、復旧した
他のキャッシュサーバのストリームデータ記憶部にコピ
ーし、復旧した他のキャッシュサーバの配信復旧部は、
キャッシュ制御部が復旧通知を行ってストリームデータ
の復旧を完了した後、テーブル境界値を配信不能になる
前の値に変更し、キャッシュサーバAの配信復旧部は、
復旧したキャッシュサーバから通知されるテーブル境界
値が、復旧したキャッシュサーバが配信不能になる前の
値に戻った場合、テーブル境界値F0,F1を復旧した
キャッシュサーバが配信不能になる前の値に戻すことを
特徴とする。
【0038】上記のように、第18〜第23の発明によ
れば、1つのストリームデータを複数のキャッシュサー
バに記憶させると共に、隣り合うキャッシュサーバの配
信状態をセッションおよびパケットに関する情報形態で
保持しておき、相互にキャッシュサーバの配信状態を通
知しながら運用することを利用して、障害が発生した後
に復旧したキャッシュサーバに対し迅速にリカバリ処理
を行うことが可能となる。また、このリカバリ処理によ
って障害が起こる前の状態に戻すことで、再度キャッシ
ュサーバが配信不能になっても、端末装置への配信が途
切れることなく継続させることができる。
【0039】
【発明の実施の形態】以下、本発明の実施の形態を、図
面を用いて説明する。図1は、本発明の一実施形態に係
るクラスタサーバ装置を用いた配信システムの構成を示
すブロック図である。図1において、本実施形態に係る
クラスタサーバ装置10を用いた配信システムは、m個
の端末装置41 〜4m (mは、2以上の整数)とクラス
タサーバ装置10とが、ネットワーク51で接続されて
いる。クラスタサーバ装置10は、負荷分散サーバ20
と、n個のキャッシュサーバ101 〜10n (nは、2
以上の整数)と、コンテンツサーバ30とで構成され
る。このキャッシュサーバ101 〜10n は、内部ネッ
トワーク52によって負荷分散サーバ20に、内部ネッ
トワーク53によってコンテンツサーバ30に、それぞ
れ接続されている。
【0040】キャッシュサーバ101 〜10n は、セッ
ション管理部111 〜11n と、データ配信部121
12n と、配信不能検知部131 〜13n と、ストリー
ムデータ管理部141 〜14n と、ストリームデータ記
憶部151 〜15n と、要求転送部161 〜16n と、
キャッシュ制御部171 〜17n と、配信復旧部18 1
〜18n とを、それぞれ備えている。また、コンテンツ
サーバ30は、ストリームデータ蓄積部31と、読み出
し部32と、キャッシュ33と、配信部34とを備えて
いる。さらに、負荷分散サーバ20は、クラスタ制御部
21で構成される。なお、図1に示すように、キャッシ
ュサーバ101 〜10n は、それぞれ同一の構成である
ので、以下、各キャッシュサーバ101 〜10n が同一
処理を行う部分の説明に関しては、キャッシュサーバ1
x (xは、1〜nのいずれか)の表記を行うことにす
る。
【0041】まず、本実施形態に係るクラスタサーバ装
置10の各構成の概要を説明する。クラスタ制御部21
は、端末装置41 〜4m から送信される要求を受け付
け、セッション管理部111 〜11n およびストリーム
データ管理部141 〜14nの情報に基づき、後述する
手法を用いて、負荷が分散されるようにいずれかのキャ
ッシュサーバ101 〜10n に要求を転送する。また、
クラスタ制御部21は、キャッシュサーバ101 〜10
n が出力するストリームデータを入力し、対応する端末
装置41 〜4m へ配信する。
【0042】キャッシュサーバ10x において、セッシ
ョン管理部11x は、キャッシュサーバ10x が行って
いるストリームデータの配信状態を管理する。データ配
信部12x は、要求転送部16x の指示に従って、スト
リームデータをクラスタ制御部21に出力する。配信不
能検知部13x は、システム管理上前後するキャッシュ
サーバ10x-1 またはキャッシュサーバ10x+1 が、配
信不能になったことを検知する。なお、x=1の場合
「x−1」は「n」に置き換えられ、x=nの場合「x
+1」は「1」に置き換えられる。以下、変数i,j,
kに関しても同様に置き換えられるものとする。配信復
旧部18x は、隣り合うキャッシュサーバ10x-1 また
はキャッシュサーバ10x+1 が、配信不能の状態から復
旧したことを検知する。ストリームデータ記憶部15x
は、例えばRAM(random accessmemory)で構成さ
れ、コンテンツサーバ30から送信されてくるストリー
ムデータを一時的に記憶する。ストリームデータ管理部
14x は、ストリームデータ記憶部15x に記憶されて
いるストリームデータの情報を保持する。要求転送部1
x は、クラスタ制御部21から転送される要求のスト
リームデータが、ストリームデータ記憶部15x に記憶
されているか否かを判断する。そして、要求転送部16
x は、記憶されている場合にはストリームデータ記憶部
15x に記憶されているストリームデータを、記憶され
ていない場合にはキャッシュ制御部17xに対しコンテ
ンツサーバ30からの配信要求を行うことで入手したス
トリームデータを、クラスタ制御部21へ出力するよう
にデータ配信部12x へ指示する。キャッシュ制御部1
x は、要求転送部16x から出力される配信要求をコ
ンテンツサーバ30へ出力する。また、キャッシュ制御
部17x は、配信要求に対してコンテンツサーバ30か
ら配信されてくるストリームデータを、ストリームデー
タ記憶部15x に記憶するよう制御すると共に、システ
ム管理上で連続するキャッシュサーバ10x+1 のストリ
ームデータ記憶部15x+1 にも記憶するように制御す
る。
【0043】コンテンツサーバ30において、ストリー
ムデータ蓄積部31は、例えば大容量のハードディスク
で構成され、複数のストリームデータをブロック単位で
格納している。読み出し部32は、配信部34の指示に
基づいて、ストリームデータ蓄積部31からストリーム
データを読み出す。キャッシュ33は、読み出し部32
が読み出したストリームデータを一時的に格納する。配
信部34は、キャッシュサーバ101 〜10n から送信
されてくる配信要求に従って読み出し部32を制御し、
また、キャッシュ33に読み出されているストリームデ
ータを対応するキャッシュサーバ101 〜10n へ配信
する。
【0044】上記構成によって、本実施形態に係るクラ
スタサーバ装置10は、キャッシュサーバの負荷分散が
最適となるストリームデータの配信動作、キャッシュサ
ーバのいずれか1台に障害が発生して端末装置へのデー
タ配信ができなくなった場合でも、他のキャッシュサー
バが代わってデータ配信を継続するフェールセーフ動
作、および障害が発生して端末装置へのデータ配信がで
きなくなっていたキャッシュサーバが復旧した場合のリ
カバリ動作、をそれぞれ実現する。次に、本実施形態に
係るクラスタサーバ装置10が実現する上記動作を、そ
れぞれ詳細に説明する。
【0045】(1)ストリームデータ配信動作 まず、キャッシュサーバの負荷分散が最適となるストリ
ームデータの配信動作を、図2および図3をさらに参照
して説明する。図2および図3は、本発明の一実施形態
に係るクラスタサーバ装置10が行うストリームデータ
の配信動作を説明するフローチャートである。なお、以
下の説明では、図1に示したシステム環境と同様に、ク
ラスタサーバ装置10は、n個のキャッシュサーバ10
1 〜10n で構成されており、m個の端末装置41 〜4
m とのデータ配信を行うものとする。
【0046】図2を参照して、端末装置4y (yは、1
〜mのいずれか)からストリームデータの配信要求が出
力されると、クラスタ制御部21がこの配信要求を受信
する(ステップS101)。配信要求を受信すると、ク
ラスタ制御部21は、各キャッシュサーバ101 〜10
n に対して、現在配信中であるストリーム数と、要求さ
れているストリームデータがストリームデータ記憶部1
1 〜15n に記憶されているか否かとを、問い合わせ
る(ステップS102)。この問い合わせに対して、各
キャッシュサーバ101 〜10n は、セッション管理部
111 〜11nの情報に基づいて現在配信しているスト
リーム数を、ストリームデータ管理部141 〜14n
情報に基づいて記憶の有無を、クラスタ制御部21へそ
れぞれ回答する。この各ストリームデータ管理部141
〜14n は、例えば、図4のような情報を保持してい
る。図4において、ストリームデータ管理部14x は、
ストリームデータの番号または名称と、ストリームデー
タ記憶部15x 内の記憶位置と、前回アクセスした時刻
とを保持している。このような情報により、キャッシュ
サーバ10x は、どんなストリームデータがストリーム
データ記憶部15x のどこに記憶管理されているかを判
断する。次に、クラスタ制御部21は、全てのキャッシ
ュサーバ101 〜10n から受けた回答に基づいて、要
求されたストリームデータがストリームデータ記憶部1
x に記憶されているキャッシュサーバ10x が、存在
するか否かを判断する(ステップS103)。
【0047】まず、クラスタ制御部21が、要求された
ストリームデータが記憶されているキャッシュサーバは
存在しないと判断した場合を(ステップS103,N
o)、図2を続けて参照して説明する。以下に説明する
ステップS104〜S111の動作は、基本的にクラス
タサーバ装置10が行う初期設定動作に該当する。上記
ステップS103において存在しないと判断した場合、
クラスタ制御部21は、全てのキャッシュサーバ101
〜10n の中から現在配信中のストリーム数が一番小さ
いキャッシュサーバ10k (kは、1〜nのいずれか)
を選択する(ステップS104)。
【0048】次に、クラスタ制御部21は、選択したキ
ャッシュサーバ10k が配信中のストリーム数が、値
{((n−1)/n)×MAX}未満か否かを判定する
(ステップS105)。なお、MAXは、1台のキャッ
シュサーバが配信可能な最大ストリーム数を表す。上記
ステップS105において未満であると判定した場合、
クラスタ制御部21は、選択したキャッシュサーバ10
k に対して、端末装置4y から受け付けた要求を転送す
る(ステップS106)。なお、セッション管理部11
k が一定間隔で全てのキャッシュサーバ101 〜10n
と通信し合い、キャッシュサーバ101 〜10n の配信
状態を保持する負荷状態管理部を備えている場合には、
クラスタ制御部21の代わりに負荷状態管理部が、キャ
ッシュサーバ10k を選択し、端末装置4y から受け付
けた要求を転送するようにしてもよい。一方、上記ステ
ップS105において未満でないと判定した場合、クラ
スタ制御部21は、要求の受け付けを拒絶する通知を端
末装置4y へ発行し、この配信動作を終了する(ステッ
プS111)。
【0049】クラスタ制御部21から要求を転送された
キャッシュサーバ10k は、ストリームデータ記憶部1
k 内に要求されたストリームデータが記憶されていな
いので、コンテンツサーバ30に対して配信要求を出力
する。ここで、キャッシュ制御部17k は、この配信要
求を、システム管理上で連続するキャッシュサーバ10
k+1 のキャッシュ制御部17k+1 からの要求としても出
力する(ステップS107)。これに対し、キャッシュ
サーバ10k からの配信要求を受信したコンテンツサー
バ30は、該当するストリームデータをストリームデー
タ蓄積部31から読み出し、キャッシュサーバ10k
よびキャッシュサーバ10k+1 の双方に配信する(ステ
ップS108)。
【0050】ストリームデータが配信されてきたキャッ
シュサーバ10k は、ストリームデータ記憶部15k
当該ストリームデータを記憶すると共に、ストリームデ
ータ管理部14k の情報を更新する。なお、キャッシュ
サーバ10k は、上記ステップS107において、1対
多通信をするためのマルチキャストアドレスを送信元ア
ドレスに変更した配信要求をキャッシュ制御部17k
ら出力した場合には、コンテンツサーバ30から送信さ
れてきたマルチアドレス宛のストリームデータを、新た
に設けるキャッシュデータ管理部が受信してストリーム
データ記憶部15k に記憶するように制御すればよい。
そして、キャッシュサーバ10k のデータ配信部12k
は、ストリームデータ記憶部15k に記憶されたストリ
ームデータを、クラスタ制御部21を介して端末装置4
y へ配信する(ステップS109)。さらに、キャッシ
ュサーバ10k は、端末装置4y へ配信したデータ内容
を一定間隔でキャッシュサーバ10k+1 に通知する(ス
テップS110)。この通知される情報は、例えば、図
5に示すようなものであり、どの端末装置4y に対して
どのストリームデータのどの部分を配信したかが分かる
情報である。なお、キャッシュサーバ10k が行う配信
情報の通知は、端末装置への配信ごとに行ってもよい
し、全ての端末装置への配信に関して一括して行っても
よい。一方、キャッシュサーバ10k+1 は、要求してい
ないストリームデータがコンテンツサーバ30から配信
されてきたので、ストリームデータ記憶部15k+1 に当
該ストリームデータを記憶すると共に、ストリームデー
タ管理部14k+1 の情報を更新する(ステップS10
9)。
【0051】以上のように、ステップS104〜S11
0の処理を行うことで、要求に基づいて配信されたスト
リームデータが、システム上連携して管理する連続した
2つのキャッシュサーバに、それぞれ記憶されることに
なる。
【0052】次に、クラスタ制御部21が、要求された
ストリームデータが記憶されているキャッシュサーバが
存在すると判断した場合を(ステップS103,Ye
s)、図3を参照して説明する。上記ステップS103
において存在すると判断した場合、クラスタ制御部21
は、要求されたストリームデータを記憶していると回答
した2つ以上のキャッシュサーバ10x の中で、システ
ム管理上の番号が一番小さいキャッシュサーバ10
i (iは、xが取り得る値)を選択する(ステップS1
21)。ここで、ストリームデータは、上述したように
(上記ステップS109において)連続する一対のキャ
ッシュサーバ10x およびキャッシュサーバ10x+1
必ず記憶されているので、クラスタ制御部21は、この
一対のうち、キャッシュサーバ10x に関して番号が一
番小さいキャッシュサーバ10i を選択する。例えば、
ストリームデータを記憶していると回答したキャッシュ
サーバが、キャッシュサーバ102 ,103 の対と、キ
ャッシュサーバ107 ,108 の対との2つであった場
合、クラスタ制御部21は、キャッシュサーバ102
選択する。
【0053】続いて、クラスタ制御部21は、選択した
キャッシュサーバ10i が現在配信中のストリームデー
タのうち、ストリームデータ記憶部15i とキャッシュ
サーバ10i+1 のストリームデータ記憶部15i+1
に、記憶されているストリームデータの配信ストリーム
数の合計が、MAX未満であるか否かを判定する(ステ
ップS122)。このステップS122においてMAX
未満でないと判定した場合、クラスタ制御部21は、ス
トリームデータを記憶していると回答した残りのキャッ
シュサーバ10x の中から、番号が一番小さいキャッシ
ュサーバ10j (jは、xが取り得る値)を選択し(ス
テップS128)、再びステップS122の判定を行
う。例えば、上述した例において、キャッシュサーバ1
2 ,103 の配信ストリーム数の合計がMAX未満で
ない場合、クラスタ制御部21は、キャッシュサーバ1
7 を選択する。なお、ストリームデータを記憶してい
ると回答したキャッシュサーバ10x が残っていない場
合は、図2のステップS104に移行して以降の処理を
行う(ステップS127)。一方、ステップS122に
おいてMAX未満であると判定した場合、クラスタ制御
部21は、次にキャッシュサーバ10i が配信中のスト
リーム数が、値{((n−1)/n)×MAX}未満か
否かを判定する(ステップS123)。
【0054】ところで、クラスタ制御部21がステップ
S122,S123で行う判定は、例えば、図6のよう
な情報に基づいて行われる。図6において、「キャッシ
ュサーバ」はキャッシュサーバ101 〜10n の番号を
示し、「キャッシュの有無」は要求されたストリームデ
ータがキャッシュされているか否かを表し、「ストリー
ム配信数1」はキャッシュサーバ10i とキャッシュサ
ーバ10i+1 とに記憶されているストリームデータの合
計配信数を示し、「ストリーム配信数2」はキャッシュ
サーバ10i とキャッシュサーバ10i-1 とに記憶され
ているストリームデータの合計配信数を示している。図
6では、キャッシュサーバ102 が配信中のストリーム
数は、120+1000=1120であり、キャッシュ
サーバ102 およびキャッシュサーバ103に記憶され
ているストリームデータの配信数は、それぞれ120お
よび500であることを表している。従って、ステップ
S122の判定では、620(=120+500)とM
AXとを比較し、ステップS123の判定では、112
0と値{((n+1)/n)×MAX}とを比較する。
【0055】なお、いずれか1台のキャッシュサーバに
障害が発生した場合の対応を考慮する必要がなければ、
キャッシュサーバ10i が配信中のストリーム数が、値
{((n−1)/n)×MAX}未満か否かの判定では
なく、キャッシュサーバ10 i が現在配信中のストリー
ムデータのうち、ストリームデータ記憶部15i とキャ
ッシュサーバ10i-1 のストリームデータ記憶部15
i-1 とに、記憶されているストリームデータの配信スト
リーム数の合計が、MAX未満であるか否かを判定して
もよい。この場合、それぞれのストリームデータ記憶部
15x を効率よく使用することができる。
【0056】再び図3を参照して、ステップS123に
おいてMAX未満であると判定した場合、クラスタ制御
部21は、選択したキャッシュサーバ10i に対して端
末装置4y から受け付けた要求を転送する(ステップS
124)。クラスタ制御部21から要求を転送されたキ
ャッシュサーバ10i は、データ配信部12i によって
ストリームデータ記憶部15i に記憶されているストリ
ームデータを読み出し、クラスタ制御部21を介して端
末装置4y へ配信する(ステップS125)。さらに、
キャッシュサーバ10i は、端末装置4y へ配信したデ
ータ内容を一定間隔でキャッシュサーバ10i+1 へ通知
する(ステップS126)。
【0057】一方、ステップS123においてMAX未
満でないと判定した場合、クラスタ制御部21は、キャ
ッシュサーバ10i+1 が配信中のストリーム数が、値
{((n−1)/n)×MAX}未満か否かをさらに判
定する(ステップS129)。ステップS129におい
て値未満であると判定した場合、クラスタ制御部21
は、キャッシュサーバ10i+1 に対して、端末装置4y
から受け付けた要求を転送する(ステップS130)。
クラスタ制御部21から要求を転送されたキャッシュサ
ーバ10i+1 は、データ配信部12i+1 によってストリ
ームデータ記憶部15i+1 に記憶されているストリーム
データを読み出し、クラスタ制御部21を介して端末装
置4y へ配信する(ステップS131)。さらに、キャ
ッシュサーバ10i+1 は、端末装置4y へ配信したデー
タ内容を一定間隔でキャッシュサーバ10i へ通知する
(ステップS132)。なお、ステップS129におい
てMAX未満でないと判定された場合、図2のステップ
S104に移行して、以降の処理を行う。
【0058】(2)フェールセーフ動作 次に、クラスタサーバ装置を構成するキャッシュサーバ
のいずれか1台に障害が発生して、端末装置へのデータ
配信ができなくなった場合でも、他のキャッシュサーバ
が代わってデータ配信を継続する、フェールセーフ動作
について説明する。上述したように、キャッシュサーバ
10x は、端末装置4y へストリームデータを配信しな
がら、配信したストリームデータの情報を、キャッシュ
サーバ10 x+1 またはキャッシュサーバ10x-1 へ一定
間隔で通知している(ステップS110,S126,S
132)。これに対し、キャッシュサーバ10x+1 の配
信不能検知部13x+1 およびキャッシュサーバ10x-1
の配信不能検知部13x-1 は、それぞれキャッシュサー
バ10x から一定間隔で通知されてくる配信情報を、モ
ニタリングしている。
【0059】今、キャッシュサーバ10x に障害が発生
し、端末装置4y へのデータ配信ができなくなった場合
を考える。なお、キャッシュサーバ10x とキャッシュ
サーバ10x+1 とで、ある1つのストリームデータを連
携して管理している場合を説明する。この場合、キャッ
シュサーバ10x+1 の配信不能検知部13x+1 は、キャ
ッシュサーバ10x から一定間隔で通知されてくる配信
情報が来なくなったことにより、キャッシュサーバ10
x の配信不能(障害発生)を検知する。配信不能検知部
13x+1 において配信不能が検知されると、データ配信
部12x+1 は、ストリームデータが途切れないよう予め
定められた時間以内に、前回(障害発生前)にキャッシ
ュサーバ10x から通知されてきた配信情報に基づい
て、キャッシュサーバ10x が最後に配信したストリー
ムデータの続きをストリームデータ記憶部15x+1 から
読み出して、端末装置4y へ配信する。ここで、ストリ
ームデータが途切れないよう予め定められた時間とは、
最後に配信されたストリームデータが端末装置4y で再
生し終わるまでの時間である。なお、キャッシュサーバ
10x-1 とキャッシュサーバ10x とで、ある1つのス
トリームデータを連携して管理している場合であって、
データ配信を行っているキャッシュサーバ10x に障害
が発生した場合には、上記フェールセーフ動作は、キャ
ッシュサーバ10x-1 によって行われる。
【0060】このように、キャッシュサーバ10x+1
たはキャッシュサーバ10x-1 が継続してストリームデ
ータの配信を行うと、キャッシュ制御部17x+1 または
キャッシュ制御部17x-1 は、それぞれキャッシュサー
バ10x の復旧を検知するまで、ストリームデータ記憶
部15x+1 またはストリームデータ記憶部15x-1 に新
たなストリームデータが記憶されないように、クラスタ
制御部21に対してフェールセーフ状態であることを通
知する。このフェールセーフ状態通知を受け取ったクラ
スタ制御部21は、新たにストリームデータを記憶させ
るキャッシュサーバ101 〜10n を選択する際に(ス
テップS104,S121)、キャッシュサーバ10
x+1 またはキャッシュサーバ10x-1 を選択しないよう
に制御する。
【0061】(3)リカバリ動作 次に、障害が発生して端末装置へのデータ配信ができな
くなっていたキャッシュサーバが復旧した時のリカバリ
動作を、キャッシュサーバ10x に発生していた障害が
復旧した場合を一例に挙げて、説明する。障害が復旧し
たキャッシュサーバ10x は、キャッシュサーバ10
x+1 のデータ配信部12x+1 およびキャッシュサーバ1
x-1 のデータ配信部12x-1 に対して、データ配信部
12x から復旧通知をそれぞれ出力する。復旧通知を受
け取ったキャッシュサーバ10x+1 のデータ配信部12
x+1 は、ストリームデータ記憶部15x+1 に記憶されて
いるストリームデータのうち、元々キャッシュサーバ1
x とキャッシュサーバ10x+1 との両方に記憶されて
いたストリームデータを選び出して、キャッシュサーバ
10x のストリームデータ記憶部15x にコピーする。
また、復旧通知を受け取ったキャッシュサーバ10 x-1
のデータ配信部12x-1 は、ストリームデータ記憶部1
x-1 に記憶されているストリームデータのうち、元々
キャッシュサーバ10x とキャッシュサーバ10x-1
の両方に記憶されていたストリームデータを選び出し
て、キャッシュサーバ10x のストリームデータ記憶部
15x にコピーする。そして、キャッシュサーバ10x
へのストリームデータのコピーが完了すると、キャッシ
ュサーバ10x+1 のキャッシュ制御部17x+1 およびキ
ャッシュサーバ10x-1 のキャッシュ制御部17
x-1 は、クラスタ制御部21に対してフェールセーフ状
態解除の通知を出力する。
【0062】(具体例を用いた動作説明)次に、フェー
ルセーフ動作とリカバリ動作とについて、具体的な一例
を挙げてさらに詳しく説明する。ここでは、クラスタサ
ーバ装置10が、4つのキャッシュサーバ101 〜10
4 を備えている場合を、一例に挙げて説明する。また、
図7は、キャッシュサーバ10x 内のストリームデータ
記憶部15x に記憶される、ストリームデータ601〜
60pの構成の一例を示す図である。各ストリームデー
タ601〜60p(pは、正の整数)は、映像や音楽等
の時間的に連続するデータである。ストリームデータ6
01〜60pは、送信単位である複数のパケット611
〜61q(qは、正の整数)で、それぞれ構成される。
また、パケット611〜61qは、ストリームデータに
おけるパケットの順番を識別するためパケット識別子6
21〜62qを、それぞれ有している。
【0063】<前提条件その1:キャッシュサーバに記
憶されるストリームデータの状態>上述したように、ク
ラスタサーバ装置10では、要求に基づいて配信された
ストリームデータが、システム上連携して管理する連続
した2つのキャッシュサーバに、それぞれ記憶される。
従って、この例では図8に示すように、キャッシュサー
バ101 のストリームデータ記憶部151 と、キャッシ
ュサーバ102 のストリームデータ記憶部152 とに、
同一のストリームデータ701がそれぞれ記憶されてい
る。また、キャッシュサーバ102 のストリームデータ
記憶部152と、キャッシュサーバ103 のストリーム
データ記憶部153 とに、同一のストリームデータ70
2がそれぞれ記憶されている。また、キャッシュサーバ
103のストリームデータ記憶部153 と、キャッシュ
サーバ104 のストリームデータ記憶部154 とに、同
一のストリームデータ703がそれぞれ記憶されてい
る。また、キャッシュサーバ104 のストリームデータ
記憶部154 と、キャッシュサーバ101 のストリーム
データ記憶部151 とに、同一のストリームデータ70
4がそれぞれ記憶されている。
【0064】<前提条件その2:ストリーム配信数>上
述したように、クラスタ制御部21は、次の条件を満た
すように、各キャッシュサーバ101 〜104 へ配信要
求を転送する。なお、1台のキャッシュサーバが配信可
能な最大ストリーム数MAXが、「8」であると仮定す
る。 [条件1]各キャッシュサーバ101 〜104 のストリ
ーム配信数は、6(=(n−1)/n×MAX=3/4
×8)以下となる。 [条件2]システム上連携して管理する連続した2つの
キャッシュサーバに記憶されているデータ配信中のスト
リーム数は、8以下(=MAX)となる。
【0065】<前提条件その3:セッション管理>各キ
ャッシュサーバ101 〜104 のセッション管理部11
1 〜114 が行うセッション管理の手法について、図9
および図10を用いて説明する。セッション管理部11
1 〜114 は、キャッシュサーバ101 〜104 のスト
リーム配信数を、セッション管理テーブル531 〜53
8 の状態で保持する。ここで、各キャッシュサーバ10
1 〜104 は、2つずつセッション管理テーブルを保持
する。すなわち、キャッシュサーバ101 は、キャッシ
ュサーバ102 と共に記憶するストリームデータ701
に関するセッションを、セッション管理テーブル532
を使用して管理することでキャッシュサーバ102 の配
信状態を保持し、キャッシュサーバ104 と共に記憶す
るストリームデータ704に関するセッションを、セッ
ション管理テーブル531 を使用して管理することでキ
ャッシュサーバ104 の配信状態を保持する。キャッシ
ュサーバ102 は、キャッシュサーバ103 と共に記憶
するストリームデータ702に関するセッションを、セ
ッション管理テーブル534 を使用して管理することで
キャッシュサーバ10 3 の配信状態を保持し、キャッシ
ュサーバ101 と共に記憶するストリームデータ701
に関するセッションを、セッション管理テーブル533
を使用して管理することでキャッシュサーバ101 の配
信状態を保持する。キャッシュサーバ103 は、キャッ
シュサーバ104 と共に記憶するストリームデータ70
3に関するセッションを、セッション管理テーブル53
6 を使用して管理することでキャッシュサーバ104
配信状態を保持し、キャッシュサーバ102 と共に記憶
するストリームデータ702に関するセッションを、セ
ッション管理テーブル53 5 を使用して管理することで
キャッシュサーバ102 の配信状態を保持する。キャッ
シュサーバ104 は、キャッシュサーバ101 と共に記
憶するストリームデータ704に関するセッションを、
セッション管理テーブル538 を使用して管理すること
でキャッシュサーバ101 の配信状態を保持し、キャッ
シュサーバ103 と共に記憶するストリームデータ70
3に関するセッションを、セッション管理テーブル53
7 を使用して管理することでキャッシュサーバ103
配信状態を保持する。
【0066】例えば、キャッシュサーバ101 とキャッ
シュサーバ102 とで共通して記憶しているストリーム
データ701に対して、ストリーム配信要求がキャッシ
ュサーバ101 またはキャッシュサーバ102 に来た場
合、図9中のセッション管理テーブル532 およびセッ
ション管理テーブル533 に、要求に関する情報をそれ
ぞれ登録する。そして、ストリーム配信中は、セッショ
ン管理テーブル532およびセッション管理テーブル5
3 にそれぞれ登録されている双方の情報を、その都度
更新する。以下、図10を用いてさらに詳しく説明す
る。
【0067】各キャッシュサーバ101 〜104 は、端
末装置41 〜4m へストリームを配信するために、端末
装置41 〜4m およびクラスタ制御部21と、ネットワ
ーク51,52で接続されている。今、1つのストリー
ムを配信するためのこれらのネットワークの接続状態
を、セッションと呼ぶ。図10は、図9で示したセッシ
ョン管理テーブル532 およびセッション管理テーブル
533 の詳細を示す図である。セッション管理テーブル
532 およびセッション管理テーブル533 には、セッ
ションを識別するためのセッション識別子と、そのセッ
ションで最後に送出したパケットを示すパケット識別子
とが、それぞれ登録されている。以下の実施例では、各
セッション管理テーブル531 〜538 のセッション登
録数の最大値を、MAX(=8)と定めることにする。
【0068】セッション管理テーブル532 とセッショ
ン管理テーブル533 とでは、セッションの識別が上下
逆に(テーブル領域において対称的な位置で)行われ
る。つまり、セッション管理テーブル532 においてセ
ッション識別子I(0≦I<MAX)で識別されるセッ
ションは、セッション管理テーブル533 においては、
セッション識別子(MAX−I−1)で識別される。例
えば、セッション管理テーブル532 において、セッシ
ョン識別子「0」,「1」で識別されるセッションのパ
ケット識別子「100」,「510」は、セッション管
理テーブル533において、セッション識別子「7」,
「6」としてそれぞれ登録される。テーブル境界値54
2 およびテーブル境界値543 は、セッション管理テー
ブル532 およびセッション管理テーブル533 に登録
されている情報を2つに分割するための、セッション識
別子の値である。上述したように、セッション管理テー
ブル532 とセッション管理テーブル533 とでは、セ
ッションの登録が上下逆に行われている。このため、一
方のセッション管理テーブルのテーブル境界値が、F
(0≦F<MAX)に設定される場合、他方のセッショ
ン管理テーブルのテーブル境界値は、(MAX−F)に
設定される。図10では、セッション管理テーブル53
2 のテーブル境界値542 に「3」が設定されているた
め、セッション管理テーブル533 のテーブル境界値5
3 には、「5」が設定されている。
【0069】キャッシュサーバ101 〜104 のデータ
配信部121 〜124 は、テーブル境界値Fより小さい
セッション識別子Iを持つセッションに関してのみ、ス
トリームデータを端末装置へ送信する。具体的には、キ
ャッシュサーバ101 〜10 4 は、下記の(第1ステッ
プ)および(第2ステップ)の動作を、繰り返す。(第
1ステップ)セッション識別子Iとテーブル境界値Fと
を比較し、I<Fであれば、セッション管理テーブル中
のパケット識別子で示されるパケットの次のパケット
を、ストリームデータ記憶部から取り出して端末装置へ
送出する。(第2ステップ)セッション管理テーブル中
のセッション識別子Iに関するパケット識別子の値を、
上記第1ステップで送出したパケットのパケット識別子
の値に更新する。
【0070】例えば、図10において、キャッシュサー
バ101 のセッション管理テーブル532 におけるセッ
ション識別子「0」〜「2」で識別されるセッション
(同図中、太線部分)に関しては、キャッシュサーバ1
1 のデータ配信部121 が、ストリームデータの送信
およびパケット識別子の値の更新を行う。同様に、キャ
ッシュサーバ102 のセッション管理テーブル533
おけるセッション識別子「0」〜「4」で識別されるセ
ッション(同図中、太線部分)に関しては、キャッシュ
サーバ102 のデータ配信部122 が、ストリームデー
タの送信およびパケット識別子の値の更新を行う。
【0071】<前提条件その4:配信不能検知部の動き
>各セッション管理テーブルにおいて、テーブル境界値
Fより大きいセッション識別子Iを持つセッションは、
別のキャッシュサーバがストリーム配信中のセッション
である。また、上述したように、キャッシュサーバ10
x の配信不能検知部13x とキャッシュサーバ10x+1
の配信不能検知部13x+1 とは、互いに通信を行う。こ
の配信不能検知部の動きを、図11および12を用いて
説明する。図11は、n=4の場合における配信不能検
知部131 〜134 の動作の一例を示す図である。配信
不能検知部131 〜134 は、隣り合うキャッシュサー
バと定期的に通信を行う。例えば、配信不能検知部13
1 は、配信不能検知部132 および配信不能検知部13
4 と、定期的に通信を行う。そして、配信不能検知部1
1 は、他のキャッシュサーバ102 またはキャッシュ
サーバ104 が配信不能になった場合、当該他のキャッ
シュサーバ102 またはキャッシュサーバ104 の代わ
りにストリームデータの配信を継続して開始するよう
に、データ配信部121 へ指示する。
【0072】図12は、図11に示した配信不能検知部
131 と配信不能検知部132 とにおいて、双方間で行
われる通知と、その通知を受け取った時の動作とを、模
式的に表した図である。セッション管理テーブル532
およびセッション管理テーブル533 は、キャッシュサ
ーバ101 およびキャッシュサーバ102 がそれぞれ保
持するセッション管理テーブルである。配信不能検知部
131 と配信不能検知部132 とは、テーブル境界値
と、前回の通知からパケット識別子の内容が更新された
セッションのセッション識別子およびパケット識別子の
値とを、定期的に通知する。
【0073】例えば、前回から今回の通知の間に、キャ
ッシュサーバ101 において、セッション識別子
「0」,「2」で識別されるセッションのパケット識別
子が、それぞれ「100」から「101」へ、「20
0」から「201」へ更新された場合、配信不能検知部
131 は、自己のテーブル境界値と更新されたパケット
識別子の値とを、配信不能検知部132 へ通知する。ま
た、前回から今回の通知の間に、キャッシュサーバ10
2 において、セッション識別子「4」で識別されるセッ
ションのパケット識別子が、「220」から「221」
へ更新された場合、配信不能検知部132 は、自己のテ
ーブル境界値と更新されたパケット識別子の値とを、配
信不能検知部131 へ通知する。なお、テーブル境界値
は、毎回通知されるが、通知される値Fまたは(MAX
−F)が現在の値(MAX−F)またはFと異なる場合
のみ、テーブル境界値の変更を行う。図12の例では、
テーブル境界値は変更されない。今回の通知によって、
配信不能検知部131 は、セッション識別子「4」のパ
ケット識別子が「221」に更新されたことを検知す
る。セッション管理テーブル533 上のセッション識別
子Iに対応するパケット識別子は、セッション管理テー
ブル532 上では、セッション識別子「3(=MAX−
I−1)」に格納されているため、配信不能検知部13
1 は、セッション識別子「3」のパケット識別子の値を
「221」に更新する。同様に、今回の通知によって、
配信不能検知部132 は、セッション識別子「0」,
「2」のパケット識別子が「101」,「201」にそ
れぞれ更新されたことを検知する。そして、配信不能検
知部13 2 は、セッション識別子「7」,「5」のパケ
ット識別子の値を、それぞれ「101」,「201」に
更新する。
【0074】<基本動作その1:隣接するキャッシュサ
ーバが障害を起こした場合>図13に、1台のキャッシ
ュサーバ101 が障害により配信不能になった場合の動
作を示す。キャッシュサーバ101 が障害により配信不
能になった場合、配信不能検知部131 からの通知が配
信不能検知部132 へ来なくなる。一定時間通知を受け
取らなかった配信不能検知部132 は、テーブル境界値
543 をMAXに変更する。図13では、MAX=8で
あるので、テーブル境界値543 は「5」から「8」に
変更される。その結果、キャッシュサーバ102 のデー
タ配信部122 は、セッション管理テーブル533 上の
セッション識別子「5」〜「7」で識別されるセッショ
ンが、テーブル境界値F=8より小さいセッション識別
子になったと判断し、パケット識別子で示されるパケッ
トの次のパケットから、ストリームデータの配信を継続
して開始する。
【0075】<基本動作その2:セッションのあふれ
(テーブル境界値移動)>図14に、キャッシュサーバ
101 の最大配信数がオーバーする場合に、テーブル境
界値を変更させる(テーブル境界を移動させる)動作を
示す。下記のいずれかの条件を満たす場合、キャッシュ
サーバ101 は、テーブル境界値を変更する。 (1)キャッシュサーバ104 の障害を検知して、キャ
ッシュサーバ104 の代わりにキャッシュサーバ101
がストリームデータの配信を開始し、その結果、最大ス
トリーム配信性能を超えてしまった場合。 (2)キャッシュサーバ104 のテーブル境界値が変更
されたことを検知して、キャッシュサーバ104 の代わ
りにキャッシュサーバ101 がストリームデータの配信
を開始し、その結果、最大ストリーム配信性能を超えて
しまった場合。
【0076】図14では、まず、テーブル境界値542
が「3」から「1」に変更される。その結果、キャッシ
ュサーバ101 のデータ配信部121 は、セッション管
理テーブル532 上でセッション識別子「1」,「2」
で識別されるセッションが、テーブル境界値F=1以上
になったと判断し、ストリームデータの配信を停止す
る。その後、配信不能検知部131 から配信不能検知部
132 へ、テーブル境界値F=1が通知される。配信不
能検知部132 は、通知によってテーブル境界値542
が変更されたことを検知し、テーブル境界値543 の値
を(MAX−(通知されたテーブル境界値542 ))に
変更する。図14では、MAX=8であるので、テーブ
ル境界値543 は「5」から「7(=8−1)」に変更
される。その結果、キャッシュサーバ102 のデータ配
信部122 は、セッション管理テーブル533 上のセッ
ション識別子「5」,「6」で識別されるセッション
が、テーブル境界値F=7より小さいセッション識別子
になったと判断し、パケット識別子で示されるパケット
の次のパケットから、ストリームデータの配信を継続し
て開始する。
【0077】<基本動作その3:隣接するキャッシュサ
ーバが復旧した場合>上述したように、復旧したキャッ
シュサーバ10x のキャッシュ制御部17xは、隣接す
るキャッシュサーバ10x+1 およびキャッシュサーバ1
x-1 のデータ配信部12x+1 およびデータ配信部12
x-1 へ、復旧通知を出力する。そして、復旧したキャッ
シュサーバ10x は、配信されてくるストリームデータ
をストリームデータ記憶部15x に記憶させることで、
ストリームデータの復旧を行う。図15は、ストリーム
データの復旧完了後、障害を起こして配信不能になって
いたキャッシュサーバ101 が、ストリームデータの配
信を復旧する場合の動作を示す。
【0078】キャッシュサーバ101 は、ストリームデ
ータが復旧される前は、テーブル境界値542 が「0」
であり、ストリームデータの配信を行っていない。配信
復旧部181 は、キャッシュサーバ101 のストリーム
データの復旧完了を待って、テーブル境界値542 を、
障害を起こす前の値である「3」に変更する。その結
果、キャッシュサーバ101 のデータ配信部121 は、
セッション管理テーブル532 上のセッション識別子
「0」〜「2」で識別されるセッションが、テーブル境
界値F=3より小さいセッション識別子になったと判断
し、パケット識別子で示されるパケットの次のパケット
から、ストリームデータの配信を開始する。次に、配信
不能検知部131 は、配信不能検知部132 へテーブル
境界値54 2 を通知する。配信不能検知部132 は、通
知によってテーブル境界値542 が、キャッシュサーバ
101 が障害を起こす前の値である「3」に戻ったこと
を検知し、テーブル境界値543 を(MAX−(通知さ
れたテーブル境界値542 ))に変更する。図15で
は、MAX=8であるので、テーブル境界値543
「8」から「5」に戻される。その結果、キャッシュサ
ーバ102 のデータ配信部122 は、セッション管理テ
ーブル533 上のセッション識別子「5」〜「7」で識
別されるセッションが、テーブル境界値F=5より大き
いセッション識別子になったと判断し、ストリームデー
タの配信を停止する。
【0079】<基本動作その4:セッションを戻す(テ
ーブル境界値移動)>基本的な動作は、上述した<基本
動作その2>と同様である。配信復旧部18 1 は、テー
ブル境界値543 をキャッシュサーバ101 が障害を起
こす前の値に設定すると共に、キャッシュサーバ102
が保持するテーブル境界値543 ではないもう一方のテ
ーブル境界値(キャッシュサーバ102 とキャッシュサ
ーバ103 とに記憶されるストリームデータのセッショ
ンを管理するセッション管理テーブルを、分割するテー
ブル境界値)を元の値に戻す。
【0080】(フェールセーフ動作例)上述した前提条
件その1〜4および基本動作その1〜4を踏まえた上
で、本発明の一実施形態に係るクラスタサーバ装置が行
うフェールセーフ動作の具体的な一例を、図16および
17に示す。図16は、最大配信ストリーム性能が
「8」である4台のキャッシュサーバ101 〜104
用いて、ストリーミング配信が正常に行われている場合
の、各キャッシュサーバ101 〜104 が管理するセッ
ション管理テーブル531 〜53 8 およびテーブル境界
値541 〜548 の状態の一例を表す図である。なお、
図16において、各テーブル境界値541 〜548
「4」である。また、各キャッシュサーバ101 〜10
4 の配信ストリーム数(図中太線のセッションの合計
数)は、全て「6」である。図17は、図16におい
て、キャッシュサーバ10 1 が障害により配信不能にな
った場合の、各キャッシュサーバ101 〜104 が管理
するセッション管理テーブル531 〜538 およびテー
ブル境界値541 〜548 の状態の一例を表す図であ
る。
【0081】図16の状態において、キャッシュサーバ
101 が障害によって配信不能になった場合は、次のよ
うな処理が行われる。まず、キャッシュサーバ102
配信不能検知部132 およびキャッシュサーバ104
配信不能検知部134 が、キャッシュサーバ101 が配
信不能になったことを検知し、テーブル境界値543
よびテーブル境界値548 を「8」に設定する。これに
伴って、キャッシュサーバ102 の最大配信数が「1
0」になるので、最大ストリーム配信性能「8」を超え
る2つのセッションをキャッシュサーバ103 に配信さ
せるため、配信不能検知部132 は、テーブル境界値5
4 を「2」に設定する。同様にして、キャッシュサー
バ103 のテーブル境界値545 が「6」に設定される
が、キャッシュサーバ103 の最大配信数が最大ストリ
ーム配信性能「8」を超えないので、問題ない。また、
キャッシュサーバ104 のテーブル境界値548
「8」に設定されるが、キャッシュサーバ104 の最大
配信数が最大ストリーム配信性能「8」を超えないの
で、問題ない。これにより、キャッシュサーバ102
104 は、全て最大ストリーム配信性能「8」で各セッ
ションのストリーム配信を行うこととなる。従って、キ
ャッシュサーバ101 が障害を起こしても、全てのセッ
ションに関して、ストリームデータを途切れることなく
配信することができる。
【0082】(リカバリ動作例)図17の状態におい
て、キャッシュサーバ101 が復旧した場合には、下記
の第1〜第6ステップに基づいて、ストリームデータの
リカバリ動作が行われる。 (第1ステップ)キャッシュサーバ101 のキャッシュ
制御部171 が、キャッシュサーバ102 ,104 のス
トリームデータ記憶部152 ,154 に記憶されている
全てのストリームデータを、自己のストリームデータ記
憶部151 にコピーする。 (第2ステップ)配信不能検知部131 は、キャッシュ
サーバ102 ,104 の配信不能検知部132 ,134
から通知される情報に基づいて、セッション管理テーブ
ル531 ,532 にセッション識別子およびパケット識
別子を登録する。 (第3ステップ)キャッシュサーバ101 の配信復旧部
181 が、テーブル境界値541 ,542 を「4」に設
定する。 (第4ステップ)キャッシュサーバ102 の配信復旧部
182 が、キャッシュサーバ101 からの通知に基づい
てテーブル境界値542 が元の値に戻ったことを検知
し、テーブル境界値543 ,544 を「4」に設定す
る。 (第5ステップ)キャッシュサーバ103 の配信復旧部
183 が、キャッシュサーバ102 からの通知に基づい
てテーブル境界値544 が元の値に戻ったことを検知
し、テーブル境界値545 を「4」に設定する。 (第6ステップ)キャッシュサーバ104 の配信復旧部
184 が、キャッシュサーバ101 からの通知に基づい
てテーブル境界値541 が元の値に戻ったことを検知
し、テーブル境界値548 を「4」に設定する。 以上の処理により、各キャッシュサーバ101 〜104
の状態は、図16に示す状態に戻る。従って、再度いず
れかのキャッシュサーバが配信不能になっても、再度フ
ェールセーフ動作を行うことが可能となる。
【0083】以上のように、本発明の一実施形態に係る
クラスタサーバ装置によれば、1つのストリームデータ
を複数のキャッシュサーバに記憶しておく。これによ
り、複数のキャッシュサーバからストリームデータを直
接配信することが可能となるので、配信性能の飛躍的向
上を図ることができる。また、記憶されているストリー
ムデータに応じてキャッシュサーバの負荷を均等に分散
させることで、記憶部(キャッシュ)の効率的な運用、
かつ、より多くの端末装置へのデータ配信が可能にな
る。また、常に複数のキャッシュサーバにストリームデ
ータを記憶させておき、相互にキャッシュサーバの配信
状態を通知しながら運用することで、障害発生時も端末
装置への配信が途切れることなく継続させることができ
る。さらに、常に複数のキャッシュサーバにストリーム
データを記憶させておくので、障害が発生した後に復旧
したキャッシュサーバに対して迅速にリカバリ処理を行
うことが可能となる。また、このリカバリ処理によって
障害が起こる前の状態に戻すことで、再度キャッシュサ
ーバが配信不能になっても、端末装置への配信が途切れ
ることなく継続させることができる。
【0084】なお、上記実施形態では、それぞれのキャ
ッシュサーバ101 〜10n がセッション管理部111
〜11n とストリームデータ管理部141 〜14n とを
備えており、クラスタ制御部21からの問い合わせに対
して配信中のストリーム数および記憶の有無を回答する
方法を一例に挙げて説明した。しかし、この他にもクラ
スタサーバ装置10全体で1つのデータベースを保持
し、全てのキャッシュサーバ101 〜10n が個々にデ
ータベースを更新することを行うことにより、クラスタ
制御部21がデータベースを毎回参照することで、配信
中のストリーム数および記憶の有無を把握できるようす
る方法でもよい。また、上記実施形態では、負荷分散サ
ーバ20とキャッシュサーバ101 〜10n とを別構成
として説明したが、いずれかのキャッシュサーバ10x
に負荷分散サーバ20の機能を持たせるような実装形態
や、全てのキャッシュサーバ10 1 〜10n に負荷分散
サーバ20の機能を持たせ、要求を受信したキャッシュ
サーバ10x が負荷分散サーバとして動作するような形
態でもよい。さらに、上記実施形態では、1台のキャッ
シュサーバが配信可能な最大ストリーム数をMAXと
し、これを基準にして配信可能なストリーム数を決定し
た。しかし、複数のキャッシュサーバで性能が異なり最
大ストリーム数を一意に決められない場合には、一番性
能の低いキャッシュサーバに合わせて設定する、または
各キャッシュサーバの平均値に合わせて設定する、ある
いは予め1台のキャッシュサーバが配信可能な最大スト
リーム数に余裕を持たせて少なめに設定しておく等の方
法で決定してもよい。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るクラスタサーバ装置
を用いた配信システムの構成を示すブロック図である。
【図2】本発明の一実施形態に係るクラスタサーバ装置
10が行うストリームデータの配信動作を説明するフロ
ーチャートである。
【図3】本発明の一実施形態に係るクラスタサーバ装置
10が行うストリームデータの配信動作を説明するフロ
ーチャートである。
【図4】ストリームデータ管理部14x が格納している
情報の一例を示す図である。
【図5】データ配信部121 〜12n が通知する配信情
報の一例を示す図である。
【図6】クラスタ制御部21が行う判定動作に用いる情
報の一例を示す図である。
【図7】ストリームデータ記憶部15x が保持するスト
リームデータの構成の一例を示す図である。
【図8】各キャッシュサーバ101 〜104 のストリー
ムデータ記憶部151 〜154が記憶するストリームデ
ータの状態の一例を示す図である。
【図9】各キャッシュサーバ101 〜104 のセッショ
ン管理部111 〜114 が保持するセッション管理テー
ブル531 〜538 の状態の一例を示す図である。
【図10】図9のセッション管理テーブル532 ,53
3 を詳細に表した図である。
【図11】各キャッシュサーバ101 〜104 の配信不
能検知部131 〜134 が、どのキャッシュサーバの配
信不能検知部と通知を行うかを示す図である。
【図12】図11の配信不能検知部131 ,132 が互
いに通知する内容を表した図である。
【図13】一方のキャッシュサーバ101 が配信不能に
なった場合の、他のキャッシュサーバ102 の配信不能
検知部132 の動作を表した図である。
【図14】一方のキャッシュサーバ101 のストリーム
配信の一部があふれる場合の、他のキャッシュサーバ1
2 の配信不能検知部132 の動作を表した図である。
【図15】配信不能になっていたキャッシュサーバ10
1 が復旧する際の、配信復旧部181 および配信不能検
知部131 の動作を表した図である。
【図16】4台のキャッシュサーバ101 〜104 で配
信を行う場合の、セッション管理テーブル531 〜53
8 およびテーブル境界値541 〜548 の状態を表す図
である。
【図17】図16において、1台のキャッシュサーバ1
1 が配信不能になった場合の、セッション管理テーブ
ル531 〜538 およびテーブル境界値541 〜548
の状態を表す図である。
【図18】従来のクラスタサーバ装置を用いた配信シス
テムの構成の一例を示すブロック図である。
【符号の説明】
10,200…クラスタサーバ装置 20…負荷分散サーバ 21…クラスタ制御部 30,300…コンテンツサーバ 31,301…ストリームデータ蓄積部 32,302…読み出し部 33,221 〜22n ,303…キャッシュ 34,231 〜23n ,304…配信部 41 〜4m ,401 〜40m …端末装置 51〜53,501,503…ネットワーク 101 〜10n ,201 〜20n …キャッシュサーバ 111 〜11n …セッション管理部 121 〜12n …データ配信部 131 〜13n …配信不能検知部 141 〜14n …ストリームデータ管理部 151 〜15n …ストリームデータ記憶部 161 〜16n …要求転送部 171 〜17n …キャッシュ制御部 181 〜18n …配信復旧部 211 〜21n …受信部 531 〜538 …セッション管理テーブル 541 〜548 …テーブル境界値 601〜60p,701〜704…ストリームデータ 611〜61q…パケット 621〜62q…パケット識別子
フロントページの続き (56)参考文献 特開 平10−21134(JP,A) 特開 平8−55072(JP,A) 特開 平6−309264(JP,A) 特開 平11−224219(JP,A) 特開 平11−249977(JP,A) 特開 平9−224044(JP,A) 特開 平9−179820(JP,A) 特開 平9−163353(JP,A) 特開 平11−25059(JP,A) 特開 平10−93552(JP,A) 特表2002−527818(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 13/00 520 G06F 12/00 546 G06F 15/177 674 H04N 7/173 610

Claims (23)

    (57)【特許請求の範囲】
  1. 【請求項1】 ネットワークを介して接続された複数の
    端末装置からの要求に応じて、動画データ等の時間的に
    連続するストリームデータの配信を行うクラスタサーバ
    装置であって、 前記端末装置へ、対応するストリームデータをそれぞれ
    配信する第1〜第nのキャッシュサーバ(nは、2以上
    の整数)と、 前記端末装置から配信要求を受信し、前記第1〜第nの
    キャッシュサーバのそれぞれにおける、当該配信要求に
    対応するストリームデータの記憶状況および配信してい
    るストリームデータの配信状態に応じて、当該配信要求
    をいずれかのキャッシュサーバに振り分けて転送する負
    荷分散サーバと、 ストリームデータを蓄積するストリームデータ蓄積部を
    有し、前記キャッシュサーバからの配信要求に応じて、
    当該配信要求に対応するストリームデータを、当該スト
    リームデータ蓄積部から指定先のキャッシュサーバへ配
    信する1台以上のコンテンツサーバとを備え、 前記第iのキャッシュサーバ(iは、1〜nのそれぞ
    れ)は、 前記コンテンツサーバから配信されたストリームデータ
    を記憶するストリームデータ記憶部と、 前記負荷分散サーバから転送される配信要求に対応する
    ストリームデータが、前記ストリームデータ記憶部に記
    憶されている場合は、当該記憶されているストリームデ
    ータを配信する指示を、前記ストリームデータ記憶部に
    記憶されていない場合は、配信要求に応じて前記コンテ
    ンツサーバから配信されたストリームデータを配信する
    指示を出力する要求転送部と、 前記要求転送部から出力される指示に従って、前記配信
    要求を行った端末装置へストリームデータを配信するデ
    ータ配信部と、 前記コンテンツサーバから配信されストリームデータ
    を、配信時に前記ストリームデータ記憶部に記憶すると
    共に、第(i+1)のキャッシュサーバ(ただし、i=
    nの場合は第1のキャッシュサーバ)のストリームデー
    タ記憶部にも重複して記憶するように制御するキャッシ
    ュ制御部とを備える、クラスタサーバ装置。
  2. 【請求項2】 前記キャッシュサーバは、 自己が配信しているストリームデータの配信状態を管理
    するセッション管理部と、 前記ストリームデータ記憶部に記憶されているストリー
    ムデータを管理するストリームデータ管理部とをさらに
    備え、 前記負荷分散サーバは、前記端末装置から配信要求を受
    信した時に、前記キャッシュサーバの配信状態と当該配
    信要求に対応するストリームデータの記憶状況とを、全
    ての前記セッション管理部および前記ストリームデータ
    管理部に問い合わせ、その結果に基づいて、いずれかの
    キャッシュサーバに当該配信要求を転送するクラスタ制
    御部を備え、 前記クラスタ制御部は、前記対応するストリームデータ
    を記憶しているキャッシュサーバがある場合は、当該記
    憶しているキャッシュサーバの中で最も負荷が低いキャ
    ッシュサーバに、前記対応するストリームデータを記憶
    しているキャッシュサーバがない場合は、全ての前記キ
    ャッシュサーバの中で最も負荷が低いキャッシュサーバ
    に、前記配信要求を転送することを特徴とする、請求項
    1に記載のクラスタサーバ装置。
  3. 【請求項3】 前記キャッシュサーバは、 自己が配信しているストリームデータの配信状態を管理
    するセッション管理部と、 前記ストリームデータ記憶部に記憶されているストリー
    ムデータを管理するストリームデータ管理部とをさらに
    備え、 前記負荷分散サーバは、 全ての前記キャッシュサーバの前記セッション管理部と
    常時通信し、各キャッシュサーバの負荷状態を保持する
    負荷状態管理部と、 前記端末装置から配信要求を受信した時に、当該配信要
    求に対応するストリームデータの記憶状況を、全ての前
    記ストリームデータ管理部に問い合わせ、その結果に基
    づいて、いずれかのキャッシュサーバに当該配信要求を
    転送するクラスタ制御部とを備え、 前記クラスタ制御部は、前記負荷状態管理部の情報に基
    づいて、前記対応するストリームデータを記憶している
    キャッシュサーバがある場合は、当該記憶しているキャ
    ッシュサーバの中で最も負荷が低いキャッシュサーバ
    に、前記対応するストリームデータを記憶しているキャ
    ッシュサーバがない場合は、全ての前記キャッシュサー
    バの中で最も負荷が低いキャッシュサーバに、前記配信
    要求を転送することを特徴とする、請求項1に記載のク
    ラスタサーバ装置。
  4. 【請求項4】 前記キャッシュサーバは、 自己が配信しているストリームデータの配信状態を管理
    するセッション管理部と、 前記ストリームデータ記憶部に記憶されているストリー
    ムデータを管理するストリームデータ管理部とをさらに
    備え、 前記負荷分散サーバは、全ての前記セッション管理部お
    よび前記ストリームデータ管理部と常時通信しており、
    その通信内容に基づいて、いずれかのキャッシュサーバ
    に当該配信要求を転送するクラスタ制御部を備え、 前記クラスタ制御部は、前記端末装置から配信要求を受
    信した時に、前記対応するストリームデータを記憶して
    いるキャッシュサーバがある場合は、当該記憶している
    キャッシュサーバの中で最も負荷が低いキャッシュサー
    バに、前記対応するストリームデータを記憶しているキ
    ャッシュサーバがない場合は、全ての前記キャッシュサ
    ーバの中で最も負荷が低いキャッシュサーバに、当該配
    信要求を転送することを特徴とする、請求項1に記載の
    クラスタサーバ装置。
  5. 【請求項5】 前記キャッシュ制御部は、配信要求に対
    応するストリームデータが前記ストリームデータ記憶部
    にない場合、前記コンテンツサーバへ転送する配信要求
    の送信先アドレスを、予め設定されたマルチキャストア
    ドレスに変更して送信し、前記予め設定されたマルチキ
    ャストアドレス宛のストリームデータを受信した場合に
    は、前記ストリームデータ記憶部に記憶するように制御
    することを特徴とする、請求項に記載のクラスタサー
    バ装置。
  6. 【請求項6】 前記第iのキャッシュサーバにおいて、
    前記キャッシュ制御部は、配信要求に対応するストリー
    ムデータが前記ストリームデータ記憶部にない場合、当
    該配信要求と共に、送信先アドレスに前記第(i+1)
    のキャッシュサーバのアドレスを指定した配信要求を、
    前記コンテンツサーバへ送信することを特徴とする、請
    求項に記載のクラスタサーバ装置。
  7. 【請求項7】 前記クラスタ制御部は、1台のキャッシ
    ュサーバの配信ストリーム数が、値{((n−1)/
    n)×MAX}以下であって(MAXは、前記キャッシ
    ュサーバ1台当たりの配信可能な最大配信ストリーム性
    能)、前記第iのキャッシュサーバおよび第(i+1)
    のキャッシュサーバの前記ストリームデータ記憶部にそ
    れぞれ記憶されているストリームデータの配信ストリー
    ム数の合計が、MAX以下に制限されるように、前記配
    信要求を前記キャッシュサーバに振り分けて転送するこ
    とを特徴とする、請求項に記載のクラスタサーバ装
    置。
  8. 【請求項8】 前記クラスタ制御部は、前記第iのキャ
    ッシュサーバおよび第(i+1)のキャッシュサーバの
    前記ストリームデータ記憶部にそれぞれ記憶されている
    ストリームデータの配信ストリーム数の合計、および、
    前記第(i−1)のキャッシュサーバ(ただし、i=1
    の場合は第nのキャッシュサーバ)および第iのキャッ
    シュサーバの前記ストリームデータ記憶部にそれぞれ記
    憶されているストリームデータの配信ストリーム数の合
    計が、それぞれMAX(MAXは、前記キャッシュサー
    バ1台当たりの配信可能な最大配信ストリーム性能)以
    下に制限されるように、前記配信要求を前記キャッシュ
    サーバに振り分けて転送することを特徴とする、請求項
    に記載のクラスタサーバ装置。
  9. 【請求項9】 前記第iのキャッシュサーバは、 前記データ配信部から、重複して同じストリームデータ
    を記憶する前記第(i+1)のキャッシュサーバおよび
    第(i−1)キャッシュサーバに、前記端末装置へ現
    在配信している配信情報を、一定時間間隔で通知してお
    り、 前記第(i+1)のキャッシュサーバおよび第(i−
    1)のキャッシュサーバから通知される各々の前記配信
    情報によって、いずれか一方または双方のキャッシュサ
    ーバが配信不能になったことを検知した場合、ストリー
    ムデータが途切れないよう定められた時間以内に、当該
    配信不能になったキャッシュサーバに代わって、当該配
    信不能になったキャッシュサーバが最後に配信したスト
    リームデータの続きを配信するよう前記データ配信部へ
    指示する配信不能検知部をさらに備える、請求項に記
    載のクラスタサーバ装置。
  10. 【請求項10】 前記配信不能検知部の指示に従って、
    前記データ配信部が、配信不能となったキャッシュサー
    バに代わって前記端末装置へストリームデータを配信し
    ている場合、 前記キャッシュ制御部は、前記ストリームデータ記憶部
    に新たなストリームデータを記憶しないように制御する
    ことを特徴とする、請求項に記載のクラスタサーバ装
    置。
  11. 【請求項11】 前記配信不能となっていたキャッシュ
    サーバが復旧した場合、 前記復旧したキャッシュサーバは、重複して同じストリ
    ームデータを記憶する他の前記キャッシュサーバの前記
    データ配信部へ復旧通知を出力し、 配信不能時に、前記復旧したキャッシュサーバに代わっ
    て前記端末装置へストリームデータを配信していた前記
    他のキャッシュサーバは、前記復旧通知を受けて、前記
    ストリームデータ記憶部に記憶していたストリームデー
    タを、前記復旧したキャッシュサーバの前記ストリーム
    データ記憶部にコピーすることを特徴とする、請求項
    に記載のクラスタサーバ装置。
  12. 【請求項12】 前記キャッシュサーバは、 前記端末装置へストリームデータを配信するためのネッ
    トワーク接続情報であるセッションと、それぞれのセッ
    ションに関して前記データ配信部が最後に送信したパケ
    ット(ストリームデータの一単位)と、ストリームデー
    タの配信ストリーム数とを、管理するセッション管理部
    と、 前記セッション管理部で管理されている全てのセッショ
    ンのパケットを、重複して同じストリームデータを記憶
    する複数の他のキャッシュサーバとの間で、定期的に通
    知する配信不能検知部とをさらに備え、 前記配信不能検知部は、前記通知が一定時間来ない場
    合、通知元のキャッシュサーバが配信不能になったと判
    断し、ストリームデータが途切れないよう定められた時
    間以内に、当該配信不能になったキャッシュサーバに代
    わって、同じストリームデータを記憶するいずれか1台
    の他のキャッシュサーバが、当該配信不能になったキャ
    ッシュサーバで管理される全てのセッションに関して、
    最後に受け取った通知から識別されたパケットの次のパ
    ケットから配信を継続するよう前記データ配信部へ指示
    することを特徴とする、請求項1に記載のクラスタサー
    バ装置。
  13. 【請求項13】 前記キャッシュサーバは、 前記端末装置へストリームデータを配信するためのネッ
    トワーク接続情報であるセッションを識別するためのセ
    ッション識別子と、それぞれのセッションに関して前記
    データ配信部が最後に送信したパケット(ストリームデ
    ータの一単位)を識別するためのパケット識別子と、当
    該セッション識別子およびパケット識別子を格納するた
    めのセッション管理テーブルと、当該セッション管理テ
    ーブルを当該セッション識別子の値によって2つに分類
    するためのテーブル境界値と、ストリームデータの配信
    ストリーム数とを、管理するセッション管理部と、 前記セッション管理部で管理されているストリームデー
    タを配信中の全てのセッションの前記セッション識別子
    および前記パケット識別子を、重複して同じストリーム
    データを記憶する複数の他のキャッシュサーバとの間
    で、定期的に通知し、当該他のキャッシュサーバから受
    け取る通知に従って、前記セッション管理テーブルに格
    納されている前記セッション識別子および前記パケット
    識別子の値を更新する、配信不能検知部とをさらに備
    え、 前記セッション管理部は、自己の前記データ配信部が配
    信しているストリームデータのセッションに関しては、
    前記セッション識別子を前記テーブル境界値より小さい
    値に設定し、前記他のキャッシュサーバの前記データ配
    信部が配信しているストリームデータのセッションに関
    しては、当該他のキャッシュサーバで管理される前記セ
    ッション識別子の値を、前記テーブル境界値より大きい
    値に変換して設定し、 前記データ配信部は、全てのセッションにおいて、前記
    セッション識別子の値が前記テーブル境界値より小さい
    場合は、パケットを前記端末装置へ送信すると共に、前
    記パケット識別子の値を更新することを繰り返し、 前記配信不能検知部は、前記通知が一定時間来ない場合
    は、通知元のキャッシュサーバが配信不能になったと判
    断し、ストリームデータが途切れないよう定められた時
    間以内に、前記テーブル境界値を前記セッション識別子
    の最大値より大きい値に設定することを特徴とする、請
    求項1に記載のクラスタサーバ装置。
  14. 【請求項14】 前記キャッシュサーバは、 自己が配信しているストリームデータの配信ストリーム
    数を管理するセッション管理部と、 他の前記キャッシュサーバが配信不能になった場合、当
    該配信不能になった他のキャッシュサーバを検知し、当
    該他のキャッシュサーバが配信していた全てのストリー
    ムデータの配信を、当該他のキャッシュサーバに代わっ
    て継続することを前記データ配信部へ指示する配信不能
    検知部とをさらに備え、 前記配信不能検知部は、前記セッション管理部に問い合
    わせた結果、ストリーム配信数がキャッシュサーバの最
    大配信ストリーム性能を超える場合、同じストリームデ
    ータを記憶するキャッシュサーバのうち、前記配信不能
    になった他のキャッシュサーバ以外のさらに他のキャッ
    シュサーバへあふれ通知を出力すると共に、最大配信ス
    トリーム性能を超える分のストリームデータの配信を停
    止するよう前記データ配信部へ指示し、 前記あふれ通知を受け取ったさらに他のキャッシュサー
    バにおける前記配信不能検知部は、前記あふれ通知を出
    力したキャッシュサーバが配信を停止した最大配信スト
    リーム性能を超える分のストリームデータの全てについ
    て、前記あふれ通知を出力したキャッシュサーバが最後
    に配信したストリームデータの続きを配信するよう前記
    データ配信部へ指示することを特徴とする、請求項1に
    記載のクラスタサーバ装置。
  15. 【請求項15】 他の前記キャッシュサーバが配信不能
    になった場合であって、前記セッション管理部に問い合
    わせた結果、ストリーム配信数がキャッシュサーバの最
    大配信ストリーム性能を超える場合、前記配信不能検知
    部は、同じストリームデータを記憶するキャッシュサー
    バのうち、前記配信不能になった他のキャッシュサーバ
    以外のさらに他のキャッシュサーバへあふれ通知を出力
    すると共に、最大配信ストリーム性能を超える分のスト
    リームデータの配信を停止するよう前記データ配信部へ
    指示し、 前記あふれ通知を受け取ったさらに他のキャッシュサー
    バにおける前記配信不能検知部は、前記あふれ通知を出
    力したキャッシュサーバが配信を停止した最大配信スト
    リーム性能を超える分のストリームデータ全てについ
    て、最後に受け取った通知から識別されたパケットの次
    のパケットから配信を継続するよう前記データ配信部へ
    指示することを特徴とする、請求項12に記載のクラス
    タサーバ装置。
  16. 【請求項16】 同じストリームデータを記憶する前記
    キャッシュサーバは、最大セッション情報登録数がMA
    X(MAXは、前記キャッシュサーバ1台当たりの配信
    可能な最大配信ストリーム性能)の前記セッション管理
    テーブルをそれぞれ有し、 それぞれの前記セッション管理部は、自己の前記データ
    配信部が配信しているストリームデータのセッションに
    関しては、前記セッション識別子を前記テーブル境界値
    より小さい値に設定し、他の前記キャッシュサーバの前
    記データ配信部が配信しているストリームデータのセッ
    ションに関しては、当該他のキャッシュサーバの前記セ
    ッション管理テーブルにおいて、前記テーブル境界値よ
    り小さいセッション識別子の値I1〜Inを値(MAX
    −I1−1)〜(MAX−In−1)に変換して設定
    し、 前記配信不能検知部は、前記他のキャッシュサーバから
    受け取る通知に従って、当該通知に含まれるセッション
    識別子I1〜Inを(MAX−I1−1)〜(MAX−
    In−1)に変換した値と、パケット識別子P1〜Pn
    の値とを、前記セッション管理テーブルの値として更新
    し、通知される前記テーブル境界値がFに変更された場
    合、前記テーブル境界値を(MAX−F)に設定するこ
    とを特徴とする、請求項13に記載のクラスタサーバ装
    置。
  17. 【請求項17】 キャッシュサーバAにおいて、キャッ
    シュサーバAとキャッシュサーバBとの両方に記憶され
    るストリームデータ集合S1と、キャッシュサーバAと
    キャッシュサーバCとの両方に記憶されるストリームデ
    ータ集合S2とを、前記ストリームデータ記憶部に記憶
    する場合、 前記キャッシュサーバAが、セッション管理テーブルT
    0,T1と、セッション管理テーブルT0,T1を前記
    セッション識別子の値によって2つに分類するためのテ
    ーブル境界値F0,F1とを有し、 前記セッション管理テーブルT0には、前記キャッシュ
    サーバAが配信中の前記ストリームデータ集合S1に含
    まれるストリームデータのセッションに関しては、前記
    セッション識別子が前記テーブル境界値F0より小さい
    値に設定され、前記キャッシュサーバBが配信中の前記
    ストリームデータ集合S1に含まれるストリームデータ
    のセッションに関しては、前記キャッシュサーバBの前
    記セッション管理テーブルで、前記セッション識別子が
    前記テーブル境界値F0より小さい値I1〜Inを値
    (MAX−I1−1)〜(MAX−In−1)に変換さ
    れて設定され、 前記セッション管理テーブルT1には、前記キャッシュ
    サーバAが配信中の前記ストリームデータ集合S2に含
    まれるストリームデータのセッションに関しては、前記
    セッション識別子が前記テーブル境界値F1より小さい
    値に設定され、前記キャッシュサーバCが配信中の前記
    ストリームデータ集合S2に含まれるストリームデータ
    のセッションに関しては、前記キャッシュサーバCの前
    記セッション管理テーブルで、前記セッション識別子が
    前記テーブル境界値F1より小さい値J1〜Jnを値
    (MAX−J1−1)〜(MAX−Jn−1)に変換さ
    れて設定され、 前記キャッシュサーバAにおいて、前記配信不能検知部
    は、 前記セッション管理部に問い合わせて、前記キャッシュ
    サーバB,Cと互いにストリームデータを配信中の全て
    のセッションについて、前記セッション識別子および前
    記パケット識別子を通知し、 前記キャッシュサーバBからの通知が一定時間来ない場
    合は、前記テーブル境界値F0を、前記キャッシュサー
    バCからの通知が一定時間来ない場合は、前記テーブル
    境界値F1を、MAX以上に設定し、 ストリーム配信数がキャッシュサーバの最大配信ストリ
    ーム性能を超える場合であって、前記キャッシュサーバ
    Bからの通知が来ない場合は、前記テーブル境界値F1
    を、前記キャッシュサーバCからの通知が来ない場合
    は、前記テーブル境界値F0を、キャッシュサーバのス
    トリーム配信数がキャッシュサーバの最大配信ストリー
    ム性能以下になる値に変更することを特徴とする、請求
    13に記載のクラスタサーバ装置。
  18. 【請求項18】 前記キャッシュサーバは、前記配信不
    能となっていた他のキャッシュサーバが復旧したことを
    検知する配信復旧部をさらに備え、 前記配信不能となっていた他のキャッシュサーバが復旧
    した場合、当該復旧した他のキャッシュサーバの前記配
    信復旧部は、前記キャッシュ制御部がストリームデータ
    の復旧を完了した後、代わりに前記端末装置へストリー
    ムデータを配信していた前記キャッシュサーバへ復旧通
    知を出力すると共に、当該キャッシュサーバが代わりに
    配信していたストリームデータの続きを配信するよう前
    記データ配信部へ指示し、 前記キャッシュサーバの前記配信復旧部は、前記復旧し
    た他のキャッシュサーバの代わりに配信していたストリ
    ームデータの配信を、停止するよう前記データ配信部へ
    指示することを特徴とする、請求項11に記載のクラス
    タサーバ装置。
  19. 【請求項19】 前記キャッシュサーバは、前記配信不
    能となっていた他のキャッシュサーバが復旧したことを
    検知する配信復旧部をさらに備え、 前記配信不能となっていた他のキャッシュサーバが復旧
    した場合、当該復旧した他のキャッシュサーバの前記キ
    ャッシュ制御部は、同じストリームデータを記憶してい
    るキャッシュサーバの前記データ配信部へ復旧通知を出
    力し、代わりに前記端末装置へストリームデータを配信
    していた前記キャッシュサーバの前記ストリームデータ
    記憶部に記憶されているストリームデータを、前記復旧
    した他のキャッシュサーバの前記ストリームデータ記憶
    部にコピーし、 前記復旧した他のキャッシュサーバの前記配信復旧部
    は、前記キャッシュ制御部がストリームデータの復旧を
    完了した後、前記キャッシュサーバへ復旧通知を出力す
    ると共に、当該キャッシュサーバが代わりに配信してい
    たストリームデータにおいて、最後に送信したパケット
    識別子で識別されるパケットの次のパケットから配信を
    継続するよう前記データ配信部へ指示し、 前記キャッシュサーバの前記配信復旧部は、前記復旧し
    た他のキャッシュサーバの代わりに配信していたストリ
    ームデータの配信を、停止するよう前記データ配信部へ
    指示することを特徴とする、請求項12に記載のクラス
    タサーバ装置。
  20. 【請求項20】 前記キャッシュサーバは、前記配信不
    能となっていた他のキャッシュサーバが復旧したことを
    検知する配信復旧部をさらに備え、 前記配信不能となっていた他のキャッシュサーバが復旧
    した場合、当該復旧した他のキャッシュサーバの前記キ
    ャッシュ制御部は、同じストリームデータを記憶してい
    るキャッシュサーバの前記データ配信部へ復旧通知を出
    力し、代わりに前記端末装置へストリームデータを配信
    していた前記キャッシュサーバの前記ストリームデータ
    記憶部に記憶されているストリームデータを、前記復旧
    した他のキャッシュサーバの前記ストリームデータ記憶
    部にコピーし、 前記復旧した他のキャッシュサーバの前記配信復旧部
    は、前記キャッシュ制御部がストリームデータの復旧を
    完了した後、前記キャッシュサーバへ復旧通知を出力す
    ると共に、前記テーブル境界値を配信不能になる前の値
    に設定し、 前記キャッシュサーバの前記配信復旧部は、前記テーブ
    ル境界値を、前記復旧した他のキャッシュサーバが配信
    不能になる前の値に設定することを特徴とする、請求項
    16に記載のクラスタサーバ装置。
  21. 【請求項21】 前記配信不能になった他のキャッシュ
    サーバの代わりにストリームデータを配信していたこと
    で、前記キャッシュサーバが、最大配信ストリーム性能
    を超える分のストリームデータの配信を行っていた場
    合、 前記キャッシュサーバの前記配信復旧部は、前記復旧し
    た他のキャッシュサーバの代わりに配信していたストリ
    ームデータの配信を、停止するよう前記データ配信部へ
    指示した後、前記復旧した他のキャッシュサーバ以外の
    さらに他のキャッシュサーバへ復旧通知を出力すると共
    に、当該さらに他のキャッシュサーバが代わりに配信し
    ていたストリームデータの続きを配信するよう前記デー
    タ配信部へ指示し、 前記さらに他のキャッシュサーバの前記配信復旧部は、
    前記復旧通知を出力してきた前記キャッシュサーバの代
    わりに配信していたストリームデータの配信を、停止す
    るよう前記データ配信部へ指示することを特徴とする、
    請求項18に記載のクラスタサーバ装置。
  22. 【請求項22】 前記配信不能になった他のキャッシュ
    サーバの代わりにストリームデータを配信していたこと
    で、前記キャッシュサーバが、最大配信ストリーム性能
    を超える分のストリームデータの配信を行っていた場
    合、 前記キャッシュサーバの前記配信復旧部は、前記復旧し
    た他のキャッシュサーバの代わりに配信していたストリ
    ームデータの配信を、停止するよう前記データ配信部へ
    指示した後、前記復旧した他のキャッシュサーバ以外の
    さらに他のキャッシュサーバへ復旧通知を出力すると共
    に、当該さらに他のキャッシュサーバが代わりに配信し
    ていたストリームデータにおいて、最後に送信したパケ
    ット識別子で識別されるパケットの次のパケットから配
    信を継続するよう前記データ配信部へ指示し、 前記さらに他のキャッシュサーバの前記配信復旧部は、
    前記復旧通知を出力してきた前記キャッシュサーバの代
    わりに配信していたストリームデータの配信を、停止す
    るよう前記データ配信部へ指示することを特徴とする、
    請求項19に記載のクラスタサーバ装置。
  23. 【請求項23】 前記キャッシュサーバは、前記配信不
    能となっていた他のキャッシュサーバが復旧したことを
    検知する配信復旧部をさらに備え、 前記配信不能となっていた他のキャッシュサーバが復旧
    した場合、当該復旧した他のキャッシュサーバの前記キ
    ャッシュ制御部は、同じストリームデータを記憶してい
    るキャッシュサーバの前記データ配信部へ復旧通知を出
    力し、代わりに前記端末装置へストリームデータを配信
    していた前記キャッシュサーバAの前記ストリームデー
    タ記憶部に記憶されているストリームデータを、前記復
    旧した他のキャッシュサーバの前記ストリームデータ記
    憶部にコピーし、 前記復旧した他のキャッシュサーバの前記配信復旧部
    は、前記キャッシュ制御部が復旧通知を行ってストリー
    ムデータの復旧を完了した後、前記テーブル境界値を配
    信不能になる前の値に変更し、 前記キャッシュサーバAの前記配信復旧部は、前記復旧
    したキャッシュサーバから通知される前記テーブル境界
    値が、前記復旧したキャッシュサーバが配信不能になる
    前の値に戻った場合、前記テーブル境界値F0,F1を
    前記復旧したキャッシュサーバが配信不能になる前の値
    に戻すことを特徴とする、請求項17に記載のクラスタ
    サーバ装置。
JP2000304433A 1999-11-09 2000-10-04 クラスタサーバ装置 Expired - Fee Related JP3463803B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2000304433A JP3463803B2 (ja) 1999-11-09 2000-10-04 クラスタサーバ装置
EP00122262A EP1107533B1 (en) 1999-11-09 2000-10-19 Load distribution in a network
DE60030397T DE60030397T2 (de) 1999-11-09 2000-10-19 Belastungsverteilung in einem Netzwerk
US09/692,545 US6760765B1 (en) 1999-11-09 2000-10-20 Cluster server apparatus

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP11-318318 1999-11-09
JP31831899 1999-11-09
JP2000304433A JP3463803B2 (ja) 1999-11-09 2000-10-04 クラスタサーバ装置

Publications (2)

Publication Number Publication Date
JP2001202330A JP2001202330A (ja) 2001-07-27
JP3463803B2 true JP3463803B2 (ja) 2003-11-05

Family

ID=26569329

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000304433A Expired - Fee Related JP3463803B2 (ja) 1999-11-09 2000-10-04 クラスタサーバ装置

Country Status (4)

Country Link
US (1) US6760765B1 (ja)
EP (1) EP1107533B1 (ja)
JP (1) JP3463803B2 (ja)
DE (1) DE60030397T2 (ja)

Families Citing this family (105)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3463803B2 (ja) * 1999-11-09 2003-11-05 松下電器産業株式会社 クラスタサーバ装置
US20040073617A1 (en) 2000-06-19 2004-04-15 Milliken Walter Clark Hash-based systems and methods for detecting and preventing transmission of unwanted e-mail
US7062571B1 (en) * 2000-06-30 2006-06-13 Cisco Technology, Inc. Efficient IP load-balancing traffic distribution using ternary CAMs
US7185082B1 (en) * 2000-08-09 2007-02-27 Microsoft Corporation Fast dynamic measurement of connection bandwidth using at least a pair of non-compressible packets having measurable characteristics
US7266613B1 (en) 2000-08-09 2007-09-04 Microsoft Corporation Fast dynamic measurement of bandwidth in a TCP network environment
US7606898B1 (en) 2000-10-24 2009-10-20 Microsoft Corporation System and method for distributed management of shared computers
US6886038B1 (en) * 2000-10-24 2005-04-26 Microsoft Corporation System and method for restricting data transfers and managing software components of distributed computers
US7113900B1 (en) * 2000-10-24 2006-09-26 Microsoft Corporation System and method for logical modeling of distributed computer systems
US6970939B2 (en) * 2000-10-26 2005-11-29 Intel Corporation Method and apparatus for large payload distribution in a network
AU2002236435A1 (en) * 2000-10-26 2002-05-21 Prismedia Networks, Inc. Method and apparatus for real-time parallel delivery of segments of a large payload file
WO2002035359A2 (en) 2000-10-26 2002-05-02 Prismedia Networks, Inc. Method and system for managing distributed content and related metadata
US7127514B2 (en) * 2000-12-28 2006-10-24 Microsoft Corporation Stateless distributed computer architecture with server-oriented state-caching objects maintained on network or client
FI20010552A0 (fi) * 2001-03-19 2001-03-19 Stonesoft Oy Tilatietojen käsittely verkkoelementtiklusterissa
US20030061305A1 (en) * 2001-03-30 2003-03-27 Chyron Corporation System and method for enhancing streaming media delivery and reporting
US20020143965A1 (en) * 2001-04-03 2002-10-03 International Business Machines Corporation Server application initiated affinity within networks performing workload balancing
US20020143953A1 (en) * 2001-04-03 2002-10-03 International Business Machines Corporation Automatic affinity within networks performing workload balancing
US7975042B2 (en) * 2001-05-01 2011-07-05 International Business Machines Corporation Method for adapting an internet web server to short-term changes in demand
US7209968B1 (en) * 2001-05-29 2007-04-24 Agilent Technologies, Inc. System and method for recovering management of network element(s) responsive to failure of a distributed gateway
CA2349086C (en) * 2001-05-30 2011-02-01 Ibm Canada Limited-Ibm Canada Limitee Selection and configuration of servers
US6813690B1 (en) 2001-06-12 2004-11-02 Network Appliance, Inc. Caching media data using content-sensitive identifiers
US7054911B1 (en) 2001-06-12 2006-05-30 Network Appliance, Inc. Streaming media bitrate switching methods and apparatus
US7076560B1 (en) 2001-06-12 2006-07-11 Network Appliance, Inc. Methods and apparatus for storing and serving streaming media data
US7478164B1 (en) 2001-06-12 2009-01-13 Netapp, Inc. Methods and apparatus for pacing delivery of streaming media data
US6742082B1 (en) * 2001-06-12 2004-05-25 Network Appliance Pre-computing streaming media payload method and apparatus
US6792449B2 (en) * 2001-06-28 2004-09-14 Microsoft Corporation Startup methods and apparatuses for use in streaming content
US7274659B2 (en) 2001-07-27 2007-09-25 Western Digital Ventures, Inc. Providing streaming media data
JP2003060638A (ja) * 2001-08-15 2003-02-28 Sony Corp コンテンツ提供装置及びコンテンツ提供方法
JP2003069639A (ja) * 2001-08-27 2003-03-07 Nec Corp xDSL収容装置、マルチキャスト配信システム及びデータ配信方法
KR20010088742A (ko) * 2001-08-28 2001-09-28 문의선 분산처리 및 피어 대 피어 통신을 이용한 네트워크 상의정보전송 병렬화 방법
US7277945B1 (en) * 2001-09-12 2007-10-02 Cisco Technology, Inc. System and method for maintaining seamless session operation
JP2003122658A (ja) * 2001-10-11 2003-04-25 Hitachi Ltd データ配送方法
US20030088659A1 (en) * 2001-11-08 2003-05-08 Susarla Hanumantha Rao System and method for distributed state management
JP2003153229A (ja) * 2001-11-15 2003-05-23 Mitsubishi Electric Corp データ通信装置及びデータ通信方法
JP2003228534A (ja) * 2001-11-30 2003-08-15 Ntt Docomo Inc 情報配信システム、記述データ配信装置、コンテンツ位置管理装置、データ変換装置、受信端末装置、情報配信方法
US7093002B2 (en) * 2001-12-06 2006-08-15 Mcafee, Inc. Handling of malware scanning of files stored within a file storage device of a computer network
US7150042B2 (en) * 2001-12-06 2006-12-12 Mcafee, Inc. Techniques for performing malware scanning of files stored within a file storage device of a computer network
US7412531B1 (en) 2002-01-29 2008-08-12 Blue Coat Systems, Inc. Live stream archiving method and apparatus
US7386627B1 (en) * 2002-01-29 2008-06-10 Network Appliance, Inc. Methods and apparatus for precomputing checksums for streaming media
JP4197495B2 (ja) * 2002-02-14 2008-12-17 富士通株式会社 データ格納制御プログラムおよびデータ格納制御方法
US7240058B2 (en) 2002-03-01 2007-07-03 Sun Microsystems, Inc. Lock mechanism for a distributed data system
US7320035B2 (en) * 2002-03-01 2008-01-15 Sun Microsystems, Inc. Object mutation determination for incremental state saves
US7788346B2 (en) * 2002-03-01 2010-08-31 Oracle America, Inc. System and method for state data back-up in a distributed data system
US7370329B2 (en) * 2002-03-01 2008-05-06 Sun Microsystems, Inc. System and method for state saves in a distributed data system
US7085852B2 (en) * 2002-03-01 2006-08-01 Sun Microsystems, Inc. Deterministic immutable access elimination for efficient distributed state saves
JP4039086B2 (ja) * 2002-03-05 2008-01-30 ソニー株式会社 情報処理装置および情報処理方法、情報処理システム、記録媒体、並びにプログラム
US7657644B1 (en) 2002-05-10 2010-02-02 Netapp, Inc. Methods and apparatus for streaming media multicast
US7725557B2 (en) * 2002-06-24 2010-05-25 Microsoft Corporation Client-side caching of streaming media content
JP4244572B2 (ja) * 2002-07-04 2009-03-25 ソニー株式会社 キャッシュ装置、およびキャッシュデータ管理方法、並びにコンピュータ・プログラム
US7120751B1 (en) 2002-08-09 2006-10-10 Networks Appliance, Inc. Dynamic streaming buffer cache algorithm selection
EP1535469A4 (en) * 2002-08-30 2010-02-03 Wink Communications Inc PROXY IN CARROUSEL
US7650421B2 (en) * 2002-12-30 2010-01-19 Microsoft Corporation Adaptable accelerated content streaming
WO2004063840A2 (en) * 2003-01-09 2004-07-29 Bandwiz, Inc. Content delivery system
US7991905B1 (en) 2003-02-12 2011-08-02 Netapp, Inc. Adaptively selecting timeouts for streaming media
US7890543B2 (en) 2003-03-06 2011-02-15 Microsoft Corporation Architecture for distributed computing system and automated design, deployment, and management of distributed applications
US8122106B2 (en) 2003-03-06 2012-02-21 Microsoft Corporation Integrating design, deployment, and management phases for systems
US7689676B2 (en) 2003-03-06 2010-03-30 Microsoft Corporation Model-based policy application
US20040268400A1 (en) * 2003-06-26 2004-12-30 Microsoft Corporation Quick starting video content
US7054774B2 (en) * 2003-06-27 2006-05-30 Microsoft Corporation Midstream determination of varying bandwidth availability
US7391717B2 (en) * 2003-06-30 2008-06-24 Microsoft Corporation Streaming of variable bit rate multimedia content
US7567504B2 (en) * 2003-06-30 2009-07-28 Microsoft Corporation Network load balancing with traffic routing
US7613822B2 (en) * 2003-06-30 2009-11-03 Microsoft Corporation Network load balancing with session information
JP4338075B2 (ja) * 2003-07-22 2009-09-30 株式会社日立製作所 記憶装置システム
US8655755B2 (en) * 2003-10-22 2014-02-18 Scottrade, Inc. System and method for the automated brokerage of financial instruments
US7778422B2 (en) 2004-02-27 2010-08-17 Microsoft Corporation Security associations for devices
US7162533B2 (en) 2004-04-30 2007-01-09 Microsoft Corporation Session description message extensions
US20050246529A1 (en) * 2004-04-30 2005-11-03 Microsoft Corporation Isolated persistent identity storage for authentication of computing devies
US7454463B2 (en) * 2004-06-01 2008-11-18 International Business Machines Corporation Method and system for downloading software products with reduced transmission time
US7895264B2 (en) * 2004-07-15 2011-02-22 Yhc Corporation Storage cluster server network
US7752325B1 (en) 2004-10-26 2010-07-06 Netapp, Inc. Method and apparatus to efficiently transmit streaming media
US8832706B2 (en) * 2006-12-22 2014-09-09 Commvault Systems, Inc. Systems and methods of data storage management, such as dynamic data stream allocation
US7797147B2 (en) 2005-04-15 2010-09-14 Microsoft Corporation Model-based system monitoring
US8489728B2 (en) 2005-04-15 2013-07-16 Microsoft Corporation Model-based system monitoring
US7802144B2 (en) 2005-04-15 2010-09-21 Microsoft Corporation Model-based system monitoring
US7496678B2 (en) * 2005-05-11 2009-02-24 Netapp, Inc. Method and system for unified caching of media content
US8549513B2 (en) 2005-06-29 2013-10-01 Microsoft Corporation Model-based virtual system provisioning
US7941309B2 (en) 2005-11-02 2011-05-10 Microsoft Corporation Modeling IT operations/policies
US8904456B2 (en) 2006-02-13 2014-12-02 Tvu Networks Corporation Methods, apparatus, and systems for providing media content over a communications network
JP4981412B2 (ja) * 2006-11-02 2012-07-18 日本放送協会 ファイル転送システムおよびその方法、管理装置ならびにサーバ
JP4966738B2 (ja) * 2007-05-22 2012-07-04 日本放送協会 選択送信装置
US20090150548A1 (en) * 2007-11-13 2009-06-11 Microsoft Corporation Management of network-based services and servers within a server cluster
US8301776B2 (en) * 2007-11-19 2012-10-30 Arris Solutions, Inc. Switched stream server architecture
JP5169178B2 (ja) * 2007-11-29 2013-03-27 ソニー株式会社 配信サーバおよび配信サーバにおけるコンテンツ配信方法
JP5169259B2 (ja) * 2008-01-31 2013-03-27 富士通株式会社 サーバ装置切り替えプログラム、サーバ装置及びサーバ装置切り替え方法
CN101355476B (zh) * 2008-05-23 2011-05-11 林云帆 一种基于服务器群集的数据文件存储、分发和应用的系统和方法
JP5153685B2 (ja) * 2009-03-04 2013-02-27 株式会社日立製作所 コンテンツ配信システムおよび配信制御サーバ
JPWO2010116676A1 (ja) * 2009-03-30 2012-10-18 日本電気株式会社 サービス提供装置、サービス提供システム、サービス提供装置のデータ処理方法およびコンピュータプログラム
JP5417944B2 (ja) * 2009-04-02 2014-02-19 ソニー株式会社 配信サーバ、配信サーバにおけるコンテンツ配信方法、コンテンツ配信システムおよびコンテンツ配信方法
JP5593732B2 (ja) * 2010-02-24 2014-09-24 沖電気工業株式会社 分散型コンテンツ配信システム及び方法、並びに、配信サーバ決定装置及び方法
JP5556498B2 (ja) * 2010-08-17 2014-07-23 富士通株式会社 管理装置,ファイルサーバシステム,処理方法及び管理プログラム
JP5168333B2 (ja) * 2010-09-27 2013-03-21 ブラザー工業株式会社 P2p端末及びコンテンツ配信システム
US20140359048A1 (en) * 2011-09-23 2014-12-04 Telefonaktiebolaget L M Ericsson (pulb) Caching in a Telecommunication Network
WO2013094157A1 (ja) * 2011-12-19 2013-06-27 日本電気株式会社 キャッシュ装置、通信方法、およびプログラム
WO2013128840A1 (ja) * 2012-02-28 2013-09-06 日本電気株式会社 トラヒック制御装置、トラヒック制御システム、トラヒック制御方法、およびトラヒック制御プログラム
US9639297B2 (en) 2012-03-30 2017-05-02 Commvault Systems, Inc Shared network-available storage that permits concurrent data access
US9063938B2 (en) 2012-03-30 2015-06-23 Commvault Systems, Inc. Search filtered file system using secondary storage, including multi-dimensional indexing and searching of archived files
US9584617B2 (en) 2013-12-31 2017-02-28 Successfactors, Inc. Allocating cache request in distributed cache system based upon cache object and marker identifying mission critical data
US9576039B2 (en) 2014-02-19 2017-02-21 Snowflake Computing Inc. Resource provisioning systems and methods
US9798596B2 (en) 2014-02-27 2017-10-24 Commvault Systems, Inc. Automatic alert escalation for an information management system
CN104301741B (zh) * 2014-09-26 2018-06-22 北京奇艺世纪科技有限公司 一种数据直播系统和方法
US9898213B2 (en) 2015-01-23 2018-02-20 Commvault Systems, Inc. Scalable auxiliary copy processing using media agent resources
JP6251203B2 (ja) * 2015-02-02 2017-12-20 日本電信電話株式会社 ストリーミングデータ配信システム、及び、ストリーミングデータ配信方法
US10313243B2 (en) 2015-02-24 2019-06-04 Commvault Systems, Inc. Intelligent local management of data stream throttling in secondary-copy operations
US9813568B2 (en) 2015-09-24 2017-11-07 Fuji Xerox Co., Ltd. Image processing apparatus and non-transitory computer readable medium for more uniformly distributing documents
US10469611B2 (en) * 2016-05-03 2019-11-05 Microsoft Technology Licensing, Llc Reduced page load time utilizing cache storage
CN110543588A (zh) * 2019-08-27 2019-12-06 中国科学院软件研究所 一种面向大规模流数据的分布式聚类方法及系统

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5511208A (en) * 1993-03-23 1996-04-23 International Business Machines Corporation Locating resources in computer networks having cache server nodes
JPH0855072A (ja) * 1994-08-12 1996-02-27 Matsushita Electric Ind Co Ltd ネットワークシステムとデータ処理システムとデータ蓄積方法
JPH08115306A (ja) * 1994-10-13 1996-05-07 Matsushita Electric Ind Co Ltd データ転送制御方法
US5687347A (en) * 1994-09-19 1997-11-11 Matsushita Electric Industrial Co., Ltd. Data providing device, file server device, and data transfer control method
JPH08263351A (ja) 1995-03-24 1996-10-11 N T T Data Tsushin Kk リカバリ処理方式及び方法
US6047309A (en) * 1995-10-02 2000-04-04 International Business Machines Corporation Recording observed and reported response characteristics at server and/or client nodes in a replicated data environment, and selecting a server to provide data based on the observed and/or reported response characteristics
US6061504A (en) * 1995-10-27 2000-05-09 Emc Corporation Video file server using an integrated cached disk array and stream server computers
JPH09179820A (ja) * 1995-12-26 1997-07-11 Mitsubishi Electric Corp 負荷分散方式及び方法
JP3190813B2 (ja) * 1996-02-15 2001-07-23 日本電気株式会社 配信システム
US6425130B2 (en) * 1996-06-25 2002-07-23 Matsushita Electric Industrial Co., Ltd. Video network server for distributing sound and video image information to a plurality of terminals
JP3481054B2 (ja) * 1996-07-04 2003-12-22 シャープ株式会社 ゲートウェイ装置、クライアント計算機およびそれらを接続した分散ファイルシステム
US5991306A (en) * 1996-08-26 1999-11-23 Microsoft Corporation Pull based, intelligent caching system and method for delivering data over a network
JPH1093552A (ja) * 1996-09-11 1998-04-10 Nippon Telegr & Teleph Corp <Ntt> 共通識別子を持つ複数ホストとの通信接続方法
US6396805B2 (en) * 1997-03-25 2002-05-28 Intel Corporation System for recovering from disruption of a data transfer
JPH1125059A (ja) * 1997-07-04 1999-01-29 Nippon Telegr & Teleph Corp <Ntt> ネットワークライブラリ運用方法及びシステム及びネットワークライブラリ運用プログラムを格納した記憶媒体
US6128279A (en) * 1997-10-06 2000-10-03 Web Balance, Inc. System for balancing loads among network servers
JPH11224219A (ja) * 1998-02-05 1999-08-17 Nippon Telegr & Teleph Corp <Ntt> 分散キャッシュ制御方法及び分散制御装置及び分散キャッシュシステム及び分散キャッシュ制御プログラムを格納した記憶媒体
JPH11249977A (ja) * 1998-03-03 1999-09-17 Mitsubishi Electric Corp データ転送ネットワークシステム
US6205481B1 (en) * 1998-03-17 2001-03-20 Infolibria, Inc. Protocol for distributing fresh content among networked cache servers
US6311216B1 (en) * 1998-05-29 2001-10-30 Microsoft Corporation Method, computer program product, and system for client-side deterministic routing and URL lookup into a distributed cache of URLS
US6324580B1 (en) * 1998-09-03 2001-11-27 Sun Microsystems, Inc. Load balancing for replicated services
US6438652B1 (en) * 1998-10-09 2002-08-20 International Business Machines Corporation Load balancing cooperating cache servers by shifting forwarded request
US6490615B1 (en) * 1998-11-20 2002-12-03 International Business Machines Corporation Scalable cache
US6370620B1 (en) * 1998-12-10 2002-04-09 International Business Machines Corporation Web object caching and apparatus for performing the same
US6389462B1 (en) * 1998-12-16 2002-05-14 Lucent Technologies Inc. Method and apparatus for transparently directing requests for web objects to proxy caches
US6463508B1 (en) * 1999-07-19 2002-10-08 International Business Machines Corporation Method and apparatus for caching a media stream
JP3463803B2 (ja) * 1999-11-09 2003-11-05 松下電器産業株式会社 クラスタサーバ装置

Also Published As

Publication number Publication date
EP1107533A3 (en) 2004-04-07
US6760765B1 (en) 2004-07-06
DE60030397D1 (de) 2006-10-12
EP1107533B1 (en) 2006-08-30
EP1107533A2 (en) 2001-06-13
JP2001202330A (ja) 2001-07-27
DE60030397T2 (de) 2007-08-30

Similar Documents

Publication Publication Date Title
JP3463803B2 (ja) クラスタサーバ装置
TW580814B (en) Distributed edge network architecture, system and method for distributing content on a computer network
RU2507703C2 (ru) Объединение ресурсов в сервере центра коммутации с кластером с электронными платами
US10609189B2 (en) Seamless stream failover with distributed manifest generation
TWI462524B (zh) 恢復檔案用之檔案修理方法
US6687846B1 (en) System and method for error handling and recovery
US20030009558A1 (en) Scalable server clustering
US8051189B2 (en) Methods, systems, and computer program products for session initiation protocol (SIP) fast switchover
US20070124309A1 (en) Content retrieval system
EP2227016B1 (en) A content buffering, querying method and point-to-point media transmitting system
US20040255323A1 (en) System and method for piecewise streaming of video using a dedicated overlay network
WO2011044829A1 (zh) 资源缓存方法、资源获取方法及其装置、系统
JP2004070712A (ja) データ配信方法,データ配信システム,分割配信データ受信方法,分割配信データ受信装置および分割配信データ受信プログラム
JP2006165928A (ja) 移動体向けデータ配信支援方法
AU2005203359A1 (en) Communication system
US7415627B1 (en) Partitioning and categorizing data in a split-plane architecture for fast recovery from data plane failures and fast restarts
JP2010102464A (ja) 計算機システムおよび計算機システムにおける複製作成方法
JP2009182629A (ja) データ提供システム
JPH04234240A (ja) 通信セッション監査方法及び装置
JP4527627B2 (ja) コンテンツの配信装置,コンテンツ配信ネットワークおよびコンテンツ配信方法
US6324572B1 (en) Communication network method and apparatus
KR100435985B1 (ko) 투표를 활용한 무정지 서비스 시스템 및 그 시스템에서의정보 갱신 및 제공 방법
JP2000172599A (ja) マルチキャストストリームデータ転送方法およびシステム
WO2012029280A1 (ja) ディスク管理方法、ディスク管理システム、ディスク管理装置、メモリ装置
US11563806B1 (en) Content distribution network system and method

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
R150 Certificate of patent or registration of utility model

Ref document number: 3463803

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20070822

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20080822

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20080822

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090822

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090822

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100822

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110822

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110822

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120822

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130822

Year of fee payment: 10

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees