JP2006197601A - ネットワークにおけるデータ伝送に対しプライオリティを割り当てる方法および該方法を使用したネットワーク - Google Patents

ネットワークにおけるデータ伝送に対しプライオリティを割り当てる方法および該方法を使用したネットワーク Download PDF

Info

Publication number
JP2006197601A
JP2006197601A JP2006005233A JP2006005233A JP2006197601A JP 2006197601 A JP2006197601 A JP 2006197601A JP 2006005233 A JP2006005233 A JP 2006005233A JP 2006005233 A JP2006005233 A JP 2006005233A JP 2006197601 A JP2006197601 A JP 2006197601A
Authority
JP
Japan
Prior art keywords
transmission
node
priority
request
layer
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
JP2006005233A
Other languages
English (en)
Other versions
JP4652237B2 (ja
Inventor
Dietmar Hepper
ヘッパー ディートマー
Meinolf Blawat
ブラヴァート マイノルフ
Wolfgang Klausberger
クラウスベルガー ヴォルフガング
Stefan Kubsch
シュテファン クブシュ
Hui Li
リー フイ
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.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
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 Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of JP2006197601A publication Critical patent/JP2006197601A/ja
Application granted granted Critical
Publication of JP4652237B2 publication Critical patent/JP4652237B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/826Involving periods of time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2416Real-time traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • H04L47/2433Allocation of priorities to traffic types
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2458Modification of priorities while in transit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/821Prioritising resource allocation or reservation requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network 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/104Peer-to-peer [P2P] networks
    • 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/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1068Discovery involving direct consultation or announcement among potential requesting and potential source peers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests

Abstract

【課題】ネットワークにおけるデータ伝送に対するプライオリティの割り当てにあたり、コンフリクトやボトルネックなどのマネージメントを自動的に行うようにし、しかも自動的に得られた結果に対しユーザまたはアプリケーション手段が変更を加えることができるようにする。
【解決手段】特定のデータユニットに対しリクエストを送出する第1のノードと、このリクエストを受け取って分析する第2のノードが設けられており、このノードは、要求されたデータユニットを自身が提供できることを検出し、要求されたデータユニットを提供できることを表すメッセージを第1のノードへ送信する。第1のノードはメッセージを受信して選択し、第2のノードへ第2のリクエストを送信して、特定のデータユニットの伝送を要求する。第2のノードはこの第2のリクエストの受信に応じて特定のデータユニットを伝送する。
【選択図】図1

Description

本発明は全般的にいえばネットワーク通信に関する。詳しくは本発明は、ネットワークにおけるデータ伝送に対しプライオリティすなわち優先度を割り当てる方法および該方法を使用したネットワークに関する。
たとえば分散型ストレージシステム(Distributed Storage Systems DSS)などのようなネットワークの場合、データ伝送とは実行すべきタスクと捉えることができる。データ伝送はしばしばリクエストまたはタスクに応答する。この場合、タスクをたとえばサーチタスクあるいはデータ伝送タスクとすることができ、これにはタスクに関与する各ノード間で行われる特有のメッセージフローが伴う。通常、複数の(データ伝送)タスクを同時に並行して実行させることができる。その結果、帯域幅、記憶スペースあるいは他のパラメータに関するキャパシティの制限に起因して、コンフリクトあるいはボトルネックといった状況が引き起こされる可能性がある。
たとえばヨーロッパ特許出願EP 1 427 141に記載されているOwnerZoneのようなピア・ツー・ピアベースのネットワークにおける種々のノードは、記憶スペースあるいは伝送レートといった他のノードのリソースの割り当てを試行することができる。利用可能なりソースがすべてのリクエストのマネージメントに不十分であるならば、この種のボトルネックまたはコンフリクトを回避するための効果的なやり方を見つけることができる。これは自動的に、つまりユーザの介入なく行われることになる。ただしいくつかの事例では、自動的に見つけ出されたソリューションの変更をユーザまたはアプリケーションが行えるとよい。コンフリクトおよびボトルネックのマネージメントにおいては、複数の制御メッセージに基づく各ノード間の通信が伴う。これらの制御メッセージを言語の一部とすることもでき、たとえば分散型ストレージ通信および制御の言語の一部とすることもできる。
発明の概要
本発明によれば、コンフリクトやボトルネックなどのマネージメントを自動的に行うことができ、しかも自動的に得られた結果に対しユーザまたはアプリケーション手段が変更を加えることができる。この場合、二重レイヤのプライオリティシステムの定義をベースとしており、これには暗黙的プライオリティと呼ばれる第1レイヤと明示的プライオリティと呼ばれる第2レイヤが含まれており、この場合、暗黙的プライオリティは一般に明示的プライオリティよりも高い。したがって明示的プライオリティのレイヤは、複数のタスクにおいて同一の暗黙的なプライオリティである場合のみ用いられる。これら2つのレイヤの各々を、さらに複数の種々のレベルに分割することができる。
有利には、本発明はネットワークにおいて通信にかかる手間がごく僅かで済む。さらに本発明によれば、ネットワーク内のデータスループット、記憶容量ならびにデータのアベイラビリティの向上を実現できる。
本発明によれば、記憶スペース、伝送レート、ノードアベイラビリティ等に関するコンフリクトおよびボトルネックが、プライオリティのセットおよびネットワーク内のノードにより適用されたルールを用いてマネージメントされ、あるいは回避される。この場合、ルールはノードに固有であるのに対し、プライオリティは二重のレイヤのプライオリティとして2つのステップで計算される。第1レイヤはいわゆる暗黙的プライオリティであって、これは関与するすべてのノードが従うルールまたは関係について定義されたものである。第2レイヤのプロパティはいわゆる明示的プライオリティであって、これはユーザまたはアプリケーションにより定義されたものである。
2段階のプライオリティによるコンセプトのもつ利点は、これによってタスク固有のプライオリティおよび/またはノード固有のプライオリティが使われることであり、ここではこれを「暗黙的プライオリティ」と称し、ユーザまたはアプリケーションによって定義する必要がなく、他方、付加的な明示的プライオリティには、ユーザまたはアプリケーションによって交換可能および変更可能な情報としてプライオリティレベルを割り当てることが含まれる。換言すれば、暗黙的プライオリティはユーザ入力なしで自動的に生成可能である。ユーザあるいはアプリケーションは、適切であるとみなせば暗黙的プライオリティの割り当てまたは変更を実行することができる。
本発明の利点は、たとえばオーナーゾーン OwnerZoneとして実装されたDSSなどにおけるコンフリクトおよびボトルネックを適切にマネージメントまたは回避できることであり、これによりデータスループットが改善され、さらによいのは記憶容量の活用ならびにデータアベイラビリティの向上ならびにネットワークブロックの回避が行われることである。
本発明による方法はネットワークにおけるデータ伝送に対しプライオリティを割り当てる方法である。これによればデータ伝送において、特定のデータユニットまたは特定のタイプのデータユニットを表す第1のリクエストを送出する第1のノードと、この第1のリクエストを受信し分析する少なくとも1つの第2ノードが設けられており、第2のノードは、要求されたデータユニットを自身が提供できることを検出して第1のノードに対し、要求されたデータユニットを自身が提供できることを表す第1のメッセージを送信する。第1のノードはこの第1のメッセージを受信して選択し、第2のノードに対し第2のリクエストを送信して特定のデータユニットの伝送を要求し、第2のノードはこの第2のリクエストの受信に応答して特定のデータユニットを伝送する。本発明による方法によれば第1のステップにおいて、第1のリクエストまたは第2のリクエストあるいはそれら双方に対し、第1のプライオリティに対応する識別子を割り当てる。第2のステップにおいて第2のノードは、第1のプライオリティに対応する識別子を評価し、この識別子に基づき第2のプライオリティを計算する。さらに第3のステップにおいて第2のノードは、要求された特定のデータユニットを伝送し、その際、計算されたプライオリティがこの伝送に割り当てられる。なお、ここで述べておくと、要求されたデータユニットの伝送は必ずしも、リクエストを発した第1のノード宛でなくともよい。また、第3のノードが伝送されたデータユニットの受け取り側であり、第1のノードは開始ノードにすぎない可能性もある。これはたとえば第1のノードがユーザインタフェース、スケジュールマネージャ等を有する理由による。このケースでは、第1のノードが少なくとも第2のリクエストを上述の第3のノードへも送信するのがよい。
対応するディバイスには、本発明による方法の各ステップを実行する個々の手段が含まれている。
上述の特定のデータユニットまたは特定のタイプのデータユニットをたとえば、決められたタイトルをもつムービーのビデオデータ、あるいは決められた特定の俳優が含まれている入手可能なすべてのムービーのビデオデータ等とすることができる。この情報を、たとえばメタデータのマークとしてデータユニットに割り当てることができ、たとえばこれをXMLフォーマットとすることができる。
従属請求項、以下の説明ならびに図面には本発明の有利な実施形態が示されている。
次に、添付の図面を参照しながら本発明の実施例について説明する。
実施例
以下では本発明についてオーナーゾーンOwnerZoneに関する実施例について説明する。これはピア・ツー・ピアベースのネットワーク構造であり、この場合、ノードは固有のノード識別子と共通のピアグループ識別子をもち、ピアグループに属する各ノードは互いに自由に通信可能であり、メッセージおよび他のデータ等を交換可能である。本発明を他の形式のネットワークにも適用可能であり、ノード自体が完全に自律的に組織編成を行うネットワークのために殊に有利である。
1.プライオリティのコンセプト
本発明によれば、第1レイヤのプライオリティと第2レイヤのプライオリティとの間の区別に関与する2ステージコンセプトという概念が導入される。第1レイヤすなわち暗黙的プライオリティは相対的なプライオリティであり、つまり含まれているノードたとえばオーナーゾーン内のピアが従うプライオリティ関係である。これらは明示的な値を有しておらず、たとえばそれらに対応づけられた数値のプライオリティレベルあるいはプライオリティ番号を有していない。したがって暗黙的プライオリティのセットによって表されるのは、ノードの固有の「知識」であり、つまりこれはノードが従うルールのセットに依存する。有利には暗黙的プライオリティを自動的に生成可能であり、そのためユーザまたはアプリケーションはそれらを定義する必要がない。第2レイヤすなわち明示的プライオリティには、変更可能または削除可能な情報の一部分としてプライオリティレベルたとえば数値または他の識別子が含まれている。ユーザあるいはアプリケーションは、適切であるとみなせば割り当てまたは変更を実行できる。明示的プライオリティレベルを相対的なものとすることができ、たとえば「高」および「低」とすることができ、あるいは整数または一般には何らかのランク付けされた用語とすることができる。1つのタスクの明示的プライオリティのレベルは1つのタスクに割り当てられ、これを他のタスクの明示的プライオリティと比較することができ、必要であればこれにより判定を下すことができる。たとえばこれは、2つのタスクのいずれがハードウェアアクセス、メモリスペース、処理パワー等に対しいっそう高いプライオリティを獲得するのかを決定するような場合である。
1.1 暗黙的プライオリティ
伝送のマネージメントを円滑に支援し、1つのオーナーゾーン内のノード間およびそれらのアクション間におけるコンフリクトおよびボトルネックを回避する目的で、各ノードは以下の暗黙的なルールに従うようインプリメントされる。
基本的なルールは「最初に来たものが最初にサービスされる First come, first served」である。たとえば、タスクをセットアップしタスクの開始時間を設定するノードによって定義されるTaskInitTimeパラメータの評価がインプリメントされている。この場合、タスクをたとえばサーチのタスクあるいはデータ伝送のタスクとすることができ、これはタスクに関与する各ノード間で行われる特有のメッセージフローをもっている。オーナーゾーン内のすべてのノードは自身のすべてのアクションにおいて、いっそう早い時点に開始されたタスクがそれよりもあとの時点で開始されたタスクよりも優先されることに留意する。また、いっそう早い時点で受信されたメッセージは通常、それよりもあとの時点で受信されたメッセージよりも優先される。つまりノードは一般に、TaskInitTimeパラメータにより与えられたリクエストの開始順序で受信したリクエストに応答する。したがって、関連するすべてのノードに存在する共通のタイムベースが有用である。
本発明の1つの観点によればこのルールの例外としてデータ伝送タスクは、関連する先行のサーチタスクから所定の範囲で自身のプライオリティを継承することができる。このことが有用である理由は、一般にサーチタスクは見つけられたコンテンツ部分に対しデータ伝送タスクをセットアップする意図を伴って発せられる可能性があるからである。この目的でノードは、いっそう早い時点のサーチリクエストに関連する1つのコンテンツ部分の伝送が、そのサーチリクエストのTaskInitTime後に与えられた期間Twft(「伝送待ち時間」、たとえば5秒)内では、それよりもあとのサーチリクエストに関するコンテンツ部分の伝送よりも高いプライオリティをもつようにする。とはいえ、他のタスクにもっと高いプライオリティをもたせることができ、一例としてノードは、たとえばライブストリームのレコーディングタスクなどのために即座に伝送を開始する必要があるケースでは、このような逸脱を例外扱いすることができる。
第2のルールとして挙げられるのは、個々のノードに関与する他のすべての実行中の伝送またはスケジューリングされた伝送を考慮して、必要とされるリソースを利用できる場合のみ、タスクまたはデータ伝送が許可されることである。つまりノードはタスク開始前、そのタスクに関与することになるノードのリソースを最初にチェックするか、あるいは場合によってはオーナーゾーンにおけるすべてのノードについて概略を取得する。これにより特定の期間にわたり伝送が開始され、これにはその時点で十分な記憶容量と十分な伝送キャパシティすなわち起こり得る伝送の十分なレートと回数に応じることのできるノードだけが含まれる。これはソースノードとデスティネーションノードの双方に関わる。必要であれば、ノードは伝送が可能になる時点まで意図する伝送を遅延させる。伝送に関与するノードは個々のリソースを割り当てる。それらのリソースを、たとえばタスクのキャンセルによって割り当て解除することができる。したがって、2つのタスクが互いに阻止し合う状況つまりはネットワーク全体が阻止される状況が回避される。
第3のルールとして挙げられるのは、実行中の伝送はそれらを開始したノードにより明示的にキャンセルされないかぎり阻止されるべきではないことである。つまりあるノードは、自身の伝送をセットアップするためにリソースを取得する目的で、他のノードからの実行中の伝送をキャンセルできない。伝送を開始したノードに対してのみ、それをキャンセルする許可が与えられている。この場合、そのノードは必要であればさらに別の伝送をセットアップすることができる。
第4のルールとして挙げられるのは、占有するリソースが利用可能となる期間に対してのみ、すなわち実行中の伝送が完了しているかあるいは完了することになる期間に対してのみ、伝送のスケジューリングが許可されることである。つまりノードは、特定の期間にわたりデータ伝送に関与する可能性のあるリソースのアベイラビリティについて最初にチェックする。その際、デスティネーションノードにおいて十分な記憶容量を利用でき、かつソースノードとデスティネーションノードの双方で十分な伝送キャパシティすなわち十分な伝送レートと伝送回数に応じることのできるノードと期間に対してのみ、伝送が開始される。この場合、関与するノードによって、伝送が行われる期間に対し個々のリソースが割り当てられる。伝送がすでにスタートしたか否かにかかわらず、伝送のキャンセルによりどのような時点でもリソースを割り当て解除できる。したがって、他のノードに対し自身のリソースを提供することのできるいずれのノードにも、リソースがいつ「登録」されるのか、他のいずれのノードにおいてあるいは何の目的でそれが行われるのかをコントロールするタイムテーブルを設けることができる。
第5のルールとして挙げられるのは、リアルタイム伝送またはストリーミング伝送は非リアルタイム伝送またはファイル伝送よりも高いプライオリティをもつことである。より一般的な視点でいえばリアルタイムデータとは、プレイバック品質を落とすことなくソースデータレートを低減することのできないデータのことである。 このアイデアとは、ファイル伝送は一般にどのようなビットレートでもどのような期間にわたってもネットワークリソースに従い適切に行うことができる一方、たとえばオーディオデータおよび/またはビデオデータなどのリアルタイム伝送またはストリーミング伝送は精確なタイミングで行われることが要求され、これには消費されるコンテンツたとえばユーザが見たり聞いたりするコンテンツをプレイバックする必要性を伴う可能性がある、というものである。あるノードは、実行中のノンリアルタイム伝送/ファイル伝送を、ビットレートと伝送期間の双方を変更することにより、たとえば'ModifyTransfer-Request("modify")'のような所定のリクエストメッセージを用いて、速度を下げたり速度を上げたりすることができる。伝送レートと伝送期間の積はファイルサイズであり、したがってこれは変更されないままである。タスクを開始したノードがこれを禁止するための1つの可能性は、AllowTransferSpeedChangeのようなタスク関連パラメータを導入して、これに対し"false(偽)"をセットすることである。
第6のルールは、レコーディングのための伝送はプレイバックのための伝送よりも高いプライオリティを常にもつことである。このルールは先に挙げたルールよりも下位におかれるものであって、つまりファイル伝送はストリーミング伝送よりも常に低いプライオリティを有する。ここで前提とすることができるのは、あるコンテンツ部分のレコーディングに対しては時間制限が存在するということであり、その理由は、以降の時点ではなく現在そのコンテンツ部分を利用できる一方、あるコンテンツ部分のプレイバックは以降の時点であっても行えるからである。したがってレコーディングタスクがプレイバックタスクと競合する場合、ノードは有利にはリソースをレコーディングタスクに割り当てることになる。さらにそのノードはレコーディングタスクを実行できるよう、プレイバックタスクをキャンセルすることさえできる。このことは、アプリケーションまたはユーザによって一般に許可されているならば、アプリケーションレベルまたはユーザレベルで行うことができる。たとえば、プレイバック伝送が所定の期間にわたりスケジューリングされており、アプリケーションが同じ期間中にそれとは別のコンテンツ部分のレコーディングを行おうとする一方、リソースがそれを許可しないような場合、アプリケーションはスケジューリングされているプレイバック伝送をキャンセルし、その代わりに新たなレコーディング伝送をスケジューリングすることができる。
この状況が発生する可能性があるのはたとえば、2つのレコーディング機器と1つのプレイバック機器と1つの受信機および1つのディスプレイを備えたホームネットワークなどにおいてである。この場合、プレイバック機器から再生されているムービーをユーザがディスプレイで見ている間、レコーディング装置の一方が受信機から到来するビデオストリームを記録する。しばらく経過した後、レコーディング機器の記憶ディバイスがいっぱいになり、かつネットワークとレコーディング機器が、第2のレコーディング機器においてレコーディングをシームレスに継続できるように構成されているものとすれば、ネットワーク上のトラフィックはおそらく、1台目のレコーディング機器から2台目のレコーディング機器への切り替え中、高まることになる。しかしながらこの付加的なトラフィックはレコーディングのために必要であり、したがってこれはプレイバックデータよりもいっそう高いプライオリティを有する。このような状況では、レコーディングされたデータを首尾一貫させる目的で、プレイバックが短期間中断されるとしても、このことを許容できる。
1.2 明示的プライオリティ
上述の相対的な暗黙的プライオリティに加えて、本発明はオプションとしての明示的プライオリティレベルも使用され、これはたとえば「低」「高」または整数値あるいは一般に何らかのランク付けされた概念といったものであって、タスクに対応づけることのできる「プライオリティ」パラメータに基づく。明示的な「プライオリティ」パラメータを、あるタスクに対しそのタスクを開始したノードまたはユーザによってオプションとして割り当てることができる。これを明示的プライオリティレベルを利用するためのアプリケーションに関わる事柄とみなすこともできる。あるノードは、「プライオリティ」パラメータつまりはあるタスクの明示的プライオリティを、リクエストメッセージ(たとえば'ModifyTransfer- Request("modify")')をそのタスクに関与する個々の他のノードに送信することによって変更することができる。
いずれにせよ、暗黙的プライオリティあるいは第1レイヤプライオリティは明示的プライオリティよりも上位となる。したがって明示的プライオリティレベルは、タスクが同一の暗黙的プライオリティを有するときのみ利用される。あるディバイスが1つの時点で2つ以上のタスクを実行しようとする場合、そのディバイスはそれらのタスクを暗黙的プライオリティに従い評価し、同一の暗黙的プライオリティの場合、明示的プライオリティが割り当てられているならば、それらのタスクの明示的プライオリティレベルに従い評価し、ディバイスはその評価に応じて自身のリソースを提供する。
あるノードにおいて実行される対応するユーザまたはアプリケーションがそのノードに対して適正なUseKeyを与えている場合のみ、そのノードに対し自身が開始していないタスクの明示的プライオリティレベルの変更が許可される。これは個々のコンテンツ部分と対応づけられたパラメータであって、これはユーザによりその目的でオプションとして定義されたものであり、たとえば特定の関連ユーザグループに対し関係づけることができる。さらに明示的プライオリティレベルを、タスクを開始したアプリケーションを実行するノードを介して変更することができ、あるいは1つの実施形態によればオーナーゾーン OwnerZone内のいずれかのノードを介して変更することができる。このケースでは、オーナーゾーン内の誰かであれば、割り当てられたUseKeyパラメータをもたない何らかのタスクの明示的プライオリティレベルを変更することができる。
以下では、2つの明示的プライオリティレベル「低」および「高」が定義されているが、プライオリティレベルのどのようなスキーマに対しても適用することができる。明示的プライオリティレベルがタスクAについて定義されていない場合、そのタスクの未定義の(またはデフォルトの)値を扱うために以下のルールが適用されることになる:
同一の暗黙的プライオリティをもちおそらくは競合する他のタスクBが「高」という明示的プライオリティレベルを有する場合、タスクAにおける未定義の(またはデフォルトの)明示的プライオリティが「低」であるとみなされる;同一の暗黙的プライオリティをもちおそらくは競合する他のタスクBが「低」という明示的プライオリティを有する場合、タスクAの未定義の(またはデフォルトの)明示的プライオリティが「高」であるとみなされる。
つまり、明示的プライオリティまたは第2レベル「高」のプライオリティがあるタスクに割り当てられるのは、そのタスクが同一の暗黙的プライオリティをもつ他のタスクよりも重要なものとして意図的に扱われる場合だけであり、「低」レベルのプライオリティについてはこの逆があてはまる。
可能であるならば、他のタスクよりも高い暗黙的プライオリティまたは明示的プライオリティをもつタスクを、記憶容量や伝送レート等に関してそのタスクの要求が他のタスクの要求よりも良好に満たされるようインプリメントする必要がある。低い明示的プライオリティにセットされたタスクは、上述のそれよりも高いプライオリティのタスクが処理された後、残されたケイパビリティによってインプリメントされることになる。
1.3 プライオリティルールのインプリメンテーション
上述のプライオリティルールをインプリメントするために、各ノードは実行中のタスクおよび/またはスケジューリングされているタスクのすべてを記憶することができ、そこには「タスクおよびスケジュール用のデータベース」が含まれている。それらのタスクは開始された時点に応じて(それらのTaskInitTimeに従い)逐次順番に格納されており、個々のタスク識別子タスクID(TaskID)によって識別される。タスクが完了すると、そのタスクはデータベースから除かれる。各ノードは、要求を開始するときまたはサービスするとき、上述のプライオリティ関連ルールを適用する。
図1には、同じ暗黙的プライオリティと明示的プライオリティをもつ2つのリアルタイムストリーミング伝送Tr1,Tr2を用いたシナリオが描かれており、この場合、十分な帯域幅Bを利用可能である。第1の伝送Tr1は時点tTRQ1で要求され、この伝送は時点tSRQ1におけるサーチリクエストに対する応答である。ただしこれは要求後、規定の伝送待ち時間Twft1を経てはじめて開始される。その目的は、それよりも高いプライオリティをもつ別の伝送が要求されているかをチェックするためである。図1の場合にはこのことは該当せず、したがって時点tSRQ1+Twft1において第1の伝送Tr1が開始する。第1の伝送Tr1の実行中、時点tSRQ2における第2のサーチリクエストにより第2の伝送リクエストが時点tTRQ2において生じる。第2の伝送Tr2は時点tSRQ2+Twft2でスタートすることができる。なぜならば求めに応じることのできるデータレートまたは帯域幅Bmaxは、要求されているデータレートR+Rの合計よりも大きいからである。時点tTRQ1における伝送リクエストが、第1のサーチリクエストtSRQ1後、Twft1よりもあとに到来する可能性もある。
図2には、第1のサーチリクエスト後、Twft1の期間内の時点tSRQ2に第2のサーチリクエストが到来した状況が描かれている。さらにこの場合、第2の伝送Tr2のプライオリティP2は第1の伝送Tr1のプライオリティP1よりも高く、これはたとえば双方の暗黙的プライオリティが等しいときの明示的プライオリティに基づくものである。ただしこの場合、双方の伝送を同時に実行するには帯域幅を十分に利用できない。tSRQ2<tSRQ1+Twft1であるため、結果として第2の伝送Tr2が最初にスタートする一方、先に要求されていた他方の伝送Tr1は、Tr2が完了した後、時点tE2でスタートする。これは、図1に示した「最初に来たものが最初にサービスされるfirst-come first-servedルール」に対する先に挙げた例外である。図2において、第2のサーチリクエストが少し後から到来した場合には、つまりtSRQ2>tSRQ1+Twft1である場合には、双方が同じ暗黙的プライオリティをもっているならば、たとえば双方がリアルタイムストリーミング伝送であるならば、第1の伝送Tr1がスタートすることになる。
図3には、第2のサーチリクエストがあとから到来した場合、つまりtSRQ2>tSRQ1+Twft1である状況が描かれており、したがってここでは第1の伝送Tr1がすでにスタートしている。ただしここでは第2のサーチリクエストはいっそう高いプライオリティを有しており、たとえばTr1はファイル伝送でありTr2はリアルタイムストリーミング伝送であり、かつ利用可能な帯域幅は双方の伝送を並行して実行するには不十分である:Bmax<R+R。このケースでは、第2の伝送Tr2はそのプライオリティが高いことからいずれにせよ時点tSRQ2+Twft2でスタートし、実行中の第1の伝送Tr1に対しては低減されたデータレートR1redだけしか与えられない一方、第2の伝送Tr2はBmax>R1red+Rで実行される。ネットワークにおける通信メッセージを可能にする目的で、少ない帯域幅残留分Bmax−R1red−Rが空き状態で残される。第2の伝送Tr2が時点tE2で完了した後、第1の伝送には最大限の帯域幅Rを再び獲得する。このようにした効果は、第1の伝送Tr1がいくらか長くかかる一方、ストリーミングデータ伝送Tr2をリアルタイムで実行できることである。Tr1は非リアルタイムデータであるので、伝送Tr2が実行されている間の伝送Tr1に対するビットレート整合はデータ品質に影響を与えない。有利なことに、双方の伝送は互いに阻止し合わず、しかもネットワーク通信のための帯域幅キャパシティさえ残される。
図4には、明示的プライオリティが用いられる状況が描かれている。時点tSRQ1においてホームネットワーク内で第1のサーチリクエストが発せられ、これにより第1の暗黙的プライオリティPで時点tSRQ1+Twft1にスタートする第1の伝送Tr1が生じる。その後、時点tSRQ2において第2のサーチリクエストにより、Pと等しい第2の暗黙的プライオリティPで時点tSRQ2+Twft2に第2の伝送Tr2が生じる。この場合、双方がファイル伝送であって同じ明示的プライオリティであり、双方ともに「低」、未定義あるいは「高」である。したがって双方の伝送に対し等しいデータレート:R=Rが与えられる。ただし少し経過した後、時点tでユーザは第1の伝送Tr1のプライオリティ変更を決断する。その理由はたとえば、伝送Tr1はユーザが著しく迅速に取得したいリムーバルディスクへの書き込みを行うためなどである。この目的で、図4に示されているようにユーザは第1の伝送Tr1の明示的プライオリティが高くなるよう変更することができ、あるいは択一的に第2の伝送Tr2の明示的プライオリティが低くなるよう変更することができる。その結果、第1の伝送は時点t後、いっそう高いデータレートを獲得することになり、時点tE1でいっそう速やかに完了することになる。その時点以降、第2の伝送Tr2に対しいっそう高いデータレートを与えることができ、その結果、図4に描かれているシナリオでは双方の伝送に必要とされる総時間が等しくなる。
これまで説明してきた基本的メカニズムはただ2つの伝送に関して例示したものであるけれども、それらのメカニズムをどのような個数の伝送にも利用することができるし、それらを組み合わせることもできる。たとえば、図4において時点tE1よりも後および時点tE2よりも前に、いっそう高いプライオリティをもつさらに別の伝送が要求され、図3によるメカニズムを利用してその伝送が開始されることも考えられる。
図5には、本発明の別の実施形態が示されている。この場合、ファイル伝送RQ1のための第1のリクエストとファイル伝送RQ2のための第2のリクエストが短期間で相前後して発せられる。これらのプライオリティPは、連続的に上昇するものでありデフォルト値Pからスタートするものであると考えることができるので、最初に来たものが最初にサービスされるfirst-come first-servedルールが実現されると捉えることができる。この場合、第2のリクエストRQ2の方に対しいっそう速やかな応答が行われ、対応する伝送T2を(おそらくは応答後、伝送待ち時間Twftを経てから)時点TS2でスタートさせることができる一方、第1のリクエストRQ1に関するコンテンツはまだ見つけ出されておらず、これはたとえばそのコンテンツを所有しているノードがビジー状態にある等の理由による。実行中の伝送T2のプライオリティPは一定に維持される一方、第1のリクエストのプライオリティは、そのリクエストに対し応答が行われて伝送T1がスタートするまでさらに上昇する。プライオリティは、時点TS1で伝送がスタートしたときの値のまま維持される。第1の伝送T1のプライオリティの方が高くなり、双方の伝送T1,T2は非リアルタイムのファイル伝送であるため、この実施形態によれば第1の伝送T1は他方の伝送T2よりも多くの帯域幅を獲得する。したがって時点TE1で第1の伝送T1の方が速やかに完了することができ、この伝送の方が早期に要求されたことから、これは意図されたとおりである。
図6には、これに類似した状況が描かれている。ただしここでは、第2のリクエストRQ2′の方が第1のリクエストRQ1′よりも高いプライオリティをもっている。たとえばこの場合、ユーザはこのリクエストRQ2′の方に高い明示的プライオリティを与えている。両方のリクエストは非リアルタイムのファイル伝送に対してなされたものである。第2のリクエストRQ2′に対し応答が行われると、伝送はそのプライオリティP2′をこのリクエストRQ2′から継承し、この伝送を(おそらくは時点Twft後)時点TS2′でスタートさせることができる。第1のリクエストRQ1に対し応答が行われるとき、このリクエストは第2の伝送T2′よりも低いプライオリティP1′をもっているので、第2の伝送T2′が完了するまではごく僅かな帯域幅リソースしか与えられない。
2.コンフリクト、ボトルネックおよびそれらのマネージメントならびに回避アプローチ
コンフリクトは、2つまたはそれ以上のオペレーションが互いに競合し排除し合う状況で発生するので、それらのすべてを実行できるわけではない。たとえば一方のアプリケーションがコンテンツ部分を削除しようと試みるのに対し、他方のアプリケーションがそれを読み取ろうとする可能性がある。したがってここでは「コンフリクト」という概念はたとえばDSSのようなネットワークシステム内のシステマティックなコンフリクトのことを指し、意図するタスクを実行できない状況を表す。ただし、コンフリクトを克服する手法は存在し得る。上述の例における1つの可能性として、読み取りタスク後に削除タスクを実行することもできるし、あるいは読み取りタスクをキャンセルし、それに続いて削除タスクを実行できるようにすることもできる。
ボトルネックは物理的な制約であり、たとえば低いスループットレートまたは小さい記憶容量、大きな遅延などである。したがってボトルネックは、実行されるプロセスまたはタスクを制限する要因である。したがって本発明において「ボトルネック」という概念は、意図したタスクを実行できるが、ただし制限は伴うという状況を指す。コンフリクトとは異なり、ボトルネックはタスクを阻止したり妨げたりしない。
以下のセクションでは、いくつかのコンフリクトおよびボトルネックならびにそれらのマネージメントについて説明する。また、それらを回避するためのアプローチについても述べる。
2.1 コンフリクトおよびそれらのマネージメント
コンフリクトはたとえば以下のことに関して発生する可能性がある:
・記憶容量:たとえばデスティネーションノードなどの記憶容量がデータ伝送に十分ではない可能性がある;
・伝送レート:たとえばソースノードまたはデスティネーションノードなどの伝送レートがデータ伝送に十分ではない可能性がある;
・伝送回数:ノードがマネージメント可能な伝送回数に達してしまい、それ以降の伝送リクエストを扱えなくなる可能性がある。
・アクセス:2つのノードが第3のノードのリソース(たとえば記憶容量、伝送レート、処理パワー)に同時にアクセスしようとする可能性がある);
・応答なし:たとえばノードが切り離されているなどの理由から、予期されるところで応答を受け取れない可能性がある;
・アプリケーションまたはユーザの関心対象:対応づけられているUseKeyが未知であるため、ユーザまたはアプリケーションが所望のコンテンツ部分にアクセスできない可能性がある;
・先行の割り当て:あるノードが別のノードに対し特定のリソースを要求したとき、十分なリソースを利用可能であるという答えを受け取るが、そのリソースに割り当てようとすると、その間に第3のノードがそのリソースを割り当ててしまったため、拒否されてしまう可能性がある。
・ノードのアベイラビリティ:たとえば切断や一時的な電源オフなどの理由で、あるノードがネットワーク内で利用できないかぎり、そのリソースたとえばそこに格納されているコンテンツは他のノードとって利用不可能である。また、伝送実行中、あるいはスケジューリングされた伝送が開始される前であっても、ノードを利用できなくなる可能性がある。
記憶容量におけるコンフリクトを克服するために、メッセージおよび制御メタデータを利用することができる。たとえば記憶スペースのコンフリクトを克服する目的でアプリケーションまたはユーザは、関心または重要性の少ないコンテンツ部分を削除または移動する決定を下すことができる。これはたとえばユーザの好みに従って決定できる。これにより新たにレコーディングするためのスペースが形成される。伝送レートにおけるコンフリクトを克服する目的で、データ伝送を順次連続して実行することができる。
事前の警告として、あるいは緊急事態のみ、リソースのマネージメントを連続的に行うことができる。あるノードが個々のリクエストたとえばコンテンツの伝送に関与せよというリクエストを受け取るかまたはそれを発するとただちに、そのノードにおけるリソースが割り当てられる。この段階では、ユーザまたはアプリケーションの意図および決定が一般にはまだ既知ではないときには、サーチリクエストはまだリソースの割り当てを示唆せず、たとえば複数のマッチが見つかる可能性があり、それに対し選択が下されることになる。ただし、データ伝送がこれに続く可能性がある。したがって本発明の目的は、より早期のサーチリクエストによってサーチ結果の伝送に対しいっそう高いプライオリティを生じさせることにある。これについては以下、プライオリティのセクションで詳しく説明する。サーチリクエストの開始時点すなわちタスクIDが定義される時点は、タスクに関与する他のノードに通知される。
アベイラビリティを向上させる目的で、重要なコンテンツ部分をコピーして、2つまたはそれよりも多くのノードに冗長的に格納しておくことができる。したがって、現在利用できない所定のノードに格納されているコンテンツ部分に対し他のノードからアクセスすることができる。これはアプリケーション層あるいは中間コントロール層に関する問題である。たとえばシステムは、オーナーゾーンのユーザがどのジャンルに関心があるのかを学習または質問することができ、個々のコンテンツ部分のコピーを自動的に生成することができる。さらにシステムは、レコーディングされるとわかっているコンテンツ部分の複製をリムーバルメディアに作成することもでき、オーナーゾーン内で利用可能な据え置き型メディアにそれらを格納することもできる。この目的で、ソフトウェアはノードのアベイラビリティの時間ならびにユーザが何を重要であるとみなしているのかを追従する必要がある。
同一のコンテンツ部分を種々のノードで冗長的に利用できるのであれば、何らかのアクセスコンフリクトまたは伝送レートコンフリクトを克服するためにそれらを用いることができる。たとえば、2つのノードが第3のノードにおける同一のコンテンツ部分にアクセスしようとしたならば、2つのノードのうち一方のノードを、さらに別のノードに存在するまったく同じコンテンツ部分にリダイレクトすることができる。 あるノードが種々のノード上でまったく同じコンテンツを見つけたならば、そのノードは最も高い伝送レートを提供できるノードを提供することができる。
タスク実行中、そのタスクのソースまたはデスティネーションではないノードを利用できなくなっても、このことは通常は問題ではない。
・サーチリクエストを開始したノードが利用不可能になった場合、そのサーチタスクに関与している他のノードはノード消失をタスクのキャンセルとみなし、タスクならびにそのパラメータを自身のタスクメモリから削除する。
・コンテンツあるいはそのディバイスケイパビリティに関する情報の提供を要求されたノードが利用不可能になった場合、そのノードは単に応答しないだけである。要求を出したノードはタイムアウト後、それを了解する。
・コンテンツ伝送を開始したがソース自体またはデスティネーション自体ではないノードが利用不可能になった場合、伝送の開始および終了に関する通知メッセージが単にそのノードに到達しないだけである。伝送が成功した後、ソースノードとデスティネーションノードはタスクおよびそのパラメータを通常どおり自身のタスクメモリから削除する。伝送実行中、タスクを開始したノードが再び利用可能になると、そのノードに対し何らかの通知メッセージが到達するようになり、ほとんど通常どおりタスクが完了することになる。伝送後、タスクを開始したノードが再び利用可能になった場合、そのノードは[TaskInitTime]対[現在時間プラス(予期された)伝送期間]を分析し、タスクおよびそのパラメータを自身のタスクメモリから削除する。その際にノードは、デスティネーションノード上の伝送済みコンテンツ部分をサーチすることで伝送がうまく完了したか否かをチェックすることができるし、必要であれば新たな伝送開始により再び伝送にトライすべきか否かを決定することができる。
伝送実行中、たとえば電源オフまたは切断などによってソースまたはデスティネーションノードが利用不可能になった場合、伝送をうまく完了させることができなくなる。いくつかの例外を伴うけれども一般的には、関与しているノードはタスクをそれがキャンセルされたものと見なすことになり、そのタスクおよびそのタスクのパラメータを自身のタスクメモリから、できるだけ早く削除する。この場合、種々の状況および可能性が存在する:
・実行中、ソースノードが利用不可能になった場合、デスティネーションノードはa)すでに受信済みのコンテンツを削除する、またはb)そのコンテンツを保持し、新たなコンテンツID(ContentID)をそれに割り当てて、終了時点または終了ビットを通知する、またはc)そのコンテンツを保持し、もとのコンテンツIDを保持し、あとで伝送再開にトライしようという意図で、終了時点または終了ビットを通知する。ついでそのノードは、伝送タスクを中断されたものとして自身のタスクメモリにマークする。ノードがソースノード自体またはデスティネーションノード自体でなければ、そのノードはタスクを開始したノードに対し中断について通知する。そのノードはTransferStatusInformation("interrupted")といったような特別なメッセージを用いることができ、他のノードからキャンセルリクエストが到来するのを短期間、待ち受ける。
ケースa)およびb)の場合、デスティネーションノードおよびタスクを開始したノードは、そのタスクおよびそのパラメータを自身のタスクメモリから削除する。そのノードが再び利用できるようになった場合には、これと同じことが当てはまる。ケースc)の場合、デスティネーションノードはソースノードに対しコンタクトを取り続け、そのノードが再び利用可能になるとただちに、中断したポイントから伝送を再開し、タスクを開始したノードに対し(TransferStatusInformation("resumed")といったメッセージを用いて)通知を行う。ソースノードが所定の期間Twua(「利用可能になるまでの期間 "wait until available" timeたとえば1週間)以内に利用可能にならなければ、デスティネーションノードおよびタスクを開始したノードは、ケースb)のように振る舞うことになる。
・伝送実行中、デスティネーションノードが利用不可能になった場合、ソースノードは送信データをストップし、タスクを開始したノードに対し(それがソースノード自体またはデスティネーションノード自体でないかぎり)、たとえばTransferStatusInformation("interrpted")メッセージなどを用いて中断について通知を行い、そのノードからキャンセルリクエストが到来するのを短期間、待ち受ける。ついでそのノードは、タスクおよびそのパラメータを自身のタスクメモリから削除する。どのリソースを利用できるのかに依存して、タスクを開始したノード(ソースノードまたはデスティネーションノード自体ではない)は、a)他のデスティネーションノードへの個々のコンテンツ部分の伝送を開始しようとトライし、またはb)元のデスティネーションノードが再び利用可能になるまで待機し、後者のケースであれば、タスクを開始したノードはそのタスクおよびそのパラメータを自身のタスクメモリに保持し続け、その伝送を中断されたものとしてマークする。元のデスティネーションノードが再び利用可能になったならば、そのノードは自身のタスクメモリをチェックして中断を検出し、伝送が中断したポイントを追跡して、そのポイントからデータを送信するようソースノードに要求することで、そのポイントから伝送を再開し、たとえばTransferStatusInformation ("resumed")メッセージなどを用いて、タスクを開始したノードに対し通知を行う。開始ノードはケースa)の場合、伝送タスクをキャンセルし、その結果としてデスティネーションノードはすでに伝送済みのコンテンツを削除することになり、またはケースb)の場合、普通の伝送中のように振る舞い、つまりタスク完了通知を待ち受ける。
伝送を指定時間に対しスケジューリングすることができる。ノードが利用できない一方で、スケジューリングされた伝送をスタートさせるべき場合、以下の状況が考えられる。
・スケジューリングされた伝送のスタート時点でソースノードが利用不可能であれば、デスティネーションノードは開始ノードに対し(それがソースノードまたはデスティネーションノード自体でなければ)、たとえばTransferStatusInformation("not started")のようなメッセージを利用して、このイベントについて通知を行う。ついでそのノードは短期間、開始ノードからキャンセルリクエストが到来するのを待ち受ける。そのノードがキャンセルリクエストを受け取らなければ、そのノードは所定の期間Twua(たとえば1時間または1週間)にわたり、伝送をスタートさせるよう再びトライする。この期間中、開始ノードはいつでもタスクをキャンセルすることができる。キャンセルされた場合あるいは期間Twuaが経過したならば、デスティネーションノードおよび開始ノードはタスクおよびそのパラメータを自身のタスクメモリから削除する。ソースノードが再び利用可能になった場合には、これと同じことをソースノードが行う。ソースノードが所定の期間Twua以内に再び利用可能になり、伝送をうまく開始させることができるならば、遅延は無視されて、通常のメッセージフローが用いられる。
・スケジューリングされた伝送のスタート時点でデスティネーションノードが利用不可能であるならば、デスティネーションノードは、スケジューリングされた時点で自身へコンテンツを送信せよというソースノードに対するリクエストをスタートさせない。ソースノードは開始ノードに対し(そのノードがソースノードまたはデスティネーションノード自体ではないならば)、たとえばTransferStatusInformation("not started")メッセージなどを用いて、そのイベントについて通知を行うことになる。
利用可能なりソースに依存して開始ノードは、a)デスティネーションノードが再び利用可能になるのを待って伝送をスタートさせ、またはb)キャンセルリクエストを送信する。ケースb)の場合、開始ノードは他のデスティネーションノードを選択することができる。ケースa)の場合、ソースノードおよび開始ノードはタスクおよびそのパラメータを自身のタスクメモリ内に所定の期間Twuaにわたり保持し、その後、それらを削除する。デスティネーションノードが再び利用可能になったときにも、これと同じことがあてはまる。デスティネーションノードが期間Twua内で再び利用可能になると、そのノードはソースノードに対しデータを送信するよう要求する。伝送をうまくスタートさせることができたならば、通常のメッセージフローが用いられる。今度はソースノードが利用不可能であるならばデスティネーションノードは、ソースノードが利用不可能になった場合についてすでに述べたようにして振る舞う。
いずれのケースにせよどのようなノードであろうと、指定された期間Twueを超えて延びたあらゆるタスクを、そのタスクに関連するパラメータも含めて自身のタスクメモリから削除することになる。
2.2 ボトルネックおよびそれらのマネージメント
ボトルネックははたとえば以下のことに関して発生する可能性がある:
・記憶容量:デスティネーションノードの記憶容量は、要求されたとおりに実行すべきデータ伝送には十分ではない可能性がある;
・伝送レート:ソースノードまたはデスティネーションノードにおいて利用可能な伝送レート(帯域幅)が、要求されたとおりに実行すべきデータ伝送には十分ではない可能性がある;
・処理パワーまたは処理時間:たとえばストレージノードが、受け取ったサーチリクエストすべてを同時には、あるいは所定期間内には実行できない可能性がある。
記憶容量および/または伝送レートにおけるボトルネックを克服するために、メッセージおよび制御データを利用することができる。伝送レートにおけるボトルネックを克服する目的でアプリケーションまたはユーザは、コンテンツ部分の伝送を(それがリアルタイムストリーミングコンテンツであるのか非リアルタイムファイルコンテンツであろうとなかろうと)決定することができ、ファイルのような非リアルタイムであれば低いビットレートで伝送するよう決定し、この場合、その伝送時間は長くなる。リソースが再び利用可能になるとただちに、ビットレートを再び高めて伝送時間を短くすることができる。その際、必要とされるファイル伝送のビットレートを調整するための手段を利用することができる。
リアルタイムストリーミングコンテンツをサーチして、たとえばポータブルディバイスまたはモバイルディバイスなどに対し低い伝送レートでそれを伝送する場合、サーチリクエスト中に最大ビットレートを含めることができる。要求されたコンテンツ部分を所有しかつビットレートに整合しているディバイスだけが、そのリクエストに応答することになる。処理パワーまたは処理時間に関するボトルネックのケースにおいて、ストレージノードが受け取ったサーチリクエストすべてを同時には、あるいは所定時間内には実行できない場合、そのストレージノードはまだサーチ中であることを周期的に通知する。その際、必要であればシーケンシャルに、サーチリクエストすべてをどのようなかたちにせよマネージメントすることができる。
ボトルネックを克服するため、メッセージおよび制御メタデータの枠を実質的に越えて、主としてアプリケーション層において行われるさらに別の可能性が存在する。たとえば伝送レートまたは記憶容量に関するボトルネックのケースにおいて、プレイバックまたはレコーディングの目的で意図したリアルタイムストリーミング伝送を、ビットレートを低減して、つまりは品質を落として実行させることができ、これはノードがそのことを行える場合である。
2.3 コンフリクトおよびボトルネックの回避に向けて
コンフリクトまたはボトルネックの発生する状況に必ずしも至るわけではない。たとえば、ボトルネックおよびコンフリクトを避ける目的で、あるいはその数を減らす目的で、以下のステップを事前にとることができる。
・伝送キャパシティを利用可能な状態に維持しておく:どのようなノードに対してもある程度の伝送キャパシティをいつでも残しておく目的で、(殊にモノリシックブロックとみなしたとき)オーナーゾーンにおける伝送を、すべてのノードが1つの伝送を利用できるようなキャパシティを少なくとももつようアレンジしておくべきである。開始ノードはそのことを考慮する必要がある。一般に、あるノードに格納されているコンテンツに対し常にアクセスできるようにする目的で、ノードにおいて自由に利用できる最後の伝送を、可能であればプレイバック用に確保しておくべきである。レコーディングリクエストが発生し、その際にただ1つのノードだけしか利用できない場合には、あるいはそれぞれただ1つの自由に利用可能な伝送しか残されていないノードだけしか利用できない場合には、そのノードあるいはそれらのノードのうちいずれか1つのノードがそのリクエストに応答してコンテンツをレコーディングすることになる。これ以外のすべての状況では、各ノードがプレイバック用に自由に利用できる伝送を確保しておくべきである。ただし、スケジューリングされた伝送については配慮する必要があり、たとえばスケジューリングされた伝送を、あるノードにおけるすべての可能な伝送(MaxStreams)に割り当ててはならない。
・記憶容量を利用可能な状態に維持しておく:どのようなノードでもできるかぎりあらゆる時点である程度の記憶容量を残せるようにする目的で、ノード(またはオーナーゾーン全体)に格納されているコンテンツを分析することができ、複製コンテンツ部分または類似のコンテンツ部分、あるいはまれにしかアクセスされない、またはまったくアクセスされないといった他の判定基準にマッチしたコンテンツを、削除の目的でアプリケーションまたはユーザに呈示することができる。択一的に、もっと多くの記憶容量を得るようユーザに通知したり要求したりすることができる。
レコーディングリクエストがスケジューリングされている場合、ノードまたはオーナーゾーンに格納されているコンテンツを分析することができ、同一のコンテンツまたは類似のコンテンツがすでに格納されているならば、そのことをユーザまたはアプリケーションに通知することができる。この分析にあたり、すでに格納されているコンテンツが完全なものであるか、および十分な品質のものであるのかを考慮すべきである。その場合、アプリケーションは、新たなレコーディングを実行しないよう提案することもできるし、あるいはたとえばそのコンテンツが低品質であったり不完全なものであったりしたときなどには、他のバージョンを削除するよう提案することもできる。
・早期の警告:自由に利用可能な伝送の数が1まで下がったノードは、オーナーゾーン内の他のノードに対しDeviceCapabilitiesInformationメッセージを他のノード各々に送信することができる。
・ソフト切断 soft unpulugging:可能であるときはノードは「ハード hard」に切断されのではなく常に「ソフト soft」に切断されるので、ノードは自身の差し迫った消失を他のノードへ通知することができる。このことは、たとえばアプリケーションレベルですべてのアプリケーションのクローズを利用することによって、あるいはユーザが一種のソフトウェベースのシャットダウンまたはディスコネクトを実行することなどによって実現可能となる。
以下で説明するのは、分散型ストレージシステムと、対応する分散型ストレージマネージメント用に使われ対応するメッセージおよび制御メタデータを含む制御言語とに本発明を適用した事例を説明する簡単なシナリオである。この場合、メッセージパラメータまたは引数としてそれらに含まれている特定の制御メタデータとともに、種々のメッセージまたはタスクが用いられる。表記を容易にするため、メッセージはたとえば以下のようにしてメッセージ名および引数により表現される:
Figure 2006197601
すべてのメッセージは自身に固有のメッセージID(MessageID)を有しているが、見やすくためこのメッセージIDは省略されている。このシナリオは、図8に示した分散型ストレージシステム用のネットワーク(オーナーゾーン Owner Zone)の一例に基づいている。このネットワークは、据え置き型ストレージディバイスまたはノードS0〜S3たとえばPDR、HDD、光ディスクおよびポータブルストレージディバイスまたはノードPによって構成されている。各ノードP、S0〜S3はアプリケーションを実行することができ、これにはユーザインタフェースまたは別個のディバイスまたはノードとみなすこともできるリモートコントロール装置を設けることができる。ホームネットワークに対する可能な拡張として、チューナ/レシーバディバイス(たとえばDVB−SまたはDVB−C)、AVディスプレイ/出力ディバイス、インターネットアクセス用のADSLモデムまたはゲートウェイ等を挙げることができる。ここで例示されているシナリオの場合、分散型ストレージシステムと対話するために一般に1つのノードS0が用いられる。このシナリオの場合、容量制限がありネットワーク内の記憶容量をバランスよく利用するケースで、ユーザがコンテンツをコピーしようとしている。初期状態では、ノードS0〜S3,Pから成るネットワークがアクティブで稼働しており、コンテンツ伝送は行われておらず、すべてのノードはアイドル状態である。ユーザはPに格納されているコンテンツをストレージディバイスS1,S2,S3のいずれかにコピーしようとしている。コンテンツは、最も空き記憶容量の大きい据え置き型ディバイスにコピーされる。
ユーザは所望のコンテンツ部分をサーチするためにディバイスS0を利用する。この場合、ディバイスS0はサーチリクエストメッセージをネットワーク内のすべてのディバイスへ送信する。ディバイスPはメッセージを受信し、そこにコンテンツが含まれていることを検出してS0に応答する。ただしこのシナリオに対する変形実施形態として、コンテンツのサーチおよびコピーのタスクを開始するためにディバイスPをS0の代わりに用いることができる。このケースでは、ノードPはリクエストにマッチしたコンテンツに関するリプライを自身には送信せず、ノードPは対応する情報を自身のコンテンツデータベースから受け取ることになる。
ユーザはどの据え置き型ストレージディバイスであろうとコンテンツを格納するつもりであるため、自身の記憶容量および伝送キャパシティについてディバイスS1,S2,S3に問い合わせるためにディバイスS0が用いられる。S1,S2,S3はそれらのディバイスのケイパビリティに関してS0に通知し、つまり自由に利用可能である十分な伝送レートをそれらのディバイスすべてが使える状態にあることをS0に通知する。この場合、ディバイスS1に対しては空き記憶容量の制限が観測されているのに対し、ディバイスS3は最大空き容量があることを示している。したがってディバイスS0はディバイスPに対しディバイスS3へコンテンツを伝送するよう要求し、したがってこれによりネットワーク内でよくバランスのとれたかたちで記憶容量を利用することができるようになる。対応するデータ伝送完了後、ディバイスPはディバイスS3にメッセージを通知する。コンテンツのレコーディング後、ディバイスS3はディバイスS0に対しうまく完了したことを通知する。
ネットワーク内における記憶容量のバランスのとれた利用すなわち各ノード間での記憶スペースのマネージメントとして挙げられるのはたとえば、自由に利用可能な最大伝送レートを呈示しているノードに、あるいはこのシナリオのように最大の絶対的または相対的記憶容量を呈示しているノードに、コンテンツ部分をレコーディングすることである。ネットワーク内の複数のストレージディバイスを1つの「モノリシックブロック monolithic block」とみなすことができ、そこではユーザはそれらのディバイスを区別する必要がない。ただしバランスのとれた記憶容量の利用は、ネットワーク内の記憶容量をマネージメントするための1つの可能なやり方にすぎない。たとえば容量制限が存在するケースなどでコンテンツをコピーする場合に、これ以外のストラテジも同様に適用することができる。
このシナリオでは、一例として挙げた以下のメッセージシーケンスが生じる:すべてのメッセージには、送信側と受信側に関する識別子と、個々のメッセージタイプに特有のパラメータが含まれている。
ここでは、ユーザは所定のタイプのコンテンツ部分たとえば"Octopussy"という題名の映画をサーチしたいものとする。ユーザの入力の結果として、ディバイスS0は以下のサーチリクエストをすべてのディバイスに送信し、その際、S0はS2に関していくつかの事前の知識があるという理由から、あるいは殊にS2に関心があるので、S0は特にS2に対しメッセージを送信する。
Figure 2006197601
すべてのディバイスは、タスクID(TaskID)の関係およびタスクに関連するパラメータを一時的に記憶し、自身のデータベースをサーチする。この場合、要求されたコンテンツ部分をディバイスPが見つけ、したがってディバイスPは以下のメッセージをディバイスS0に送り戻す。
Figure 2006197601
「すべての」受信側はContentInfoRequest("search")メッセージでアドレッシングされているので、ある受信側がリクエストにマッチしたコンテンツを見つけなければ、そのリクエストに対し受信側が応答する必要はないが、ディバイスS2は例外である。なぜならばディバイスS2は明受信側である明示されているからである。したがってディバイスS2は、自身が所望のコンテンツを所有しているか否かについて、リクエストに対し応答しなければならない。ディバイスS2はしばらくの間、自身のデータベースをサーチする必要があり、サーチを開始するときに以下のメッセージをディバイスS0に送信する。
Figure 2006197601
この場合、ディバイスS2は要求されたコンテンツ部分を見つけない。ディバイスS2は「応答しなければならない」受信側としてContentInfoRequest("search")メッセージでアドレッシングされているので、ディバイスS2内で所望のコンテンツが見つからなかったにもかかわらず、このディバイスは以下のメッセージをディバイスS0へ送り戻す。
Figure 2006197601
ユーザはサーチしているコンテンツを、すべてのサーチプロセスが完了する前に見つける可能性がある。したがってユーザはS0に対し、以下のメッセージを用いてサーチプロセスをキャンセルさせることができる。
Figure 2006197601
このメッセージを受信した後、すべてのディバイスは自身のサーチプロセスを停止する。ディバイスS2は「応答しなければならない」受信側としてContentInfoRequest("search")メッセージでアドレッシングされているので、CancelTaskRequest("search")リクエストの受領確認としてディバイスS2は以下のメッセージをディバイスS0へ送り戻す。
Figure 2006197601
ContentInfoResponseメッセージをディバイスS0に送信した後、ノードPとS2はタスクIDおよび関係するパラメータを自身のテンポラリメモリから削除する。同じことはCancelTaskResponseメッセージを送信したすべてのディバイスについてあてはまる。
この場合、ユーザはサーチ結果に満足し、ディバイスS0はこのときリクエストメッセージをディバイスS1,S2,S3に送信して、それらのディバイスのケイパビリティについて問い合わる。その目的は、それらの空き記憶容量および自由に利用可能な伝送レートを取得することにある。ディバイスS1,S2,S3は、自身のディバイスケイパビリティについてディバイスS0に通知することによって応答する。
Figure 2006197601
択一的に、ディバイスS0は以下のようなRequestDeviceCapabilityメッセージをこれら3つのすべてのノードに送信することができる。
Figure 2006197601
ディバイスS0は、ディバイスS1,S2,S3の空き容量および自由に利用可能な伝送レートを評価する。ディバイスS1は十分な空き記憶容量をもっていないのに対し、ディバイスS3は最大容量を呈示している。
ネットワーク内の据え置き型ストレージディバイスの記憶容量をバランスよく利用する目的で、ディバイスS0はコンテンツをPからレコーディングするために、ユーザの対話を必要とすることなく自動的にディバイスS3を選択し、伝送を実行するようディバイスS3とPに要求する。このシナリオに対する変形例として考えられるのは、1つの受信側が省かれ、メッセージがすぐにスタートすることである。
Figure 2006197601
このケースでは、ノードPに対しInitiateTransferRequestの送信が許可されるのは、必要とされるリソースをノードPにおいて利用できるときだけである。
Figure 2006197601
このメッセージによって要求されるのは、ノードPのロケーションにあるコンテンツ部分をノードS3に伝送し、そこに記録することである。コンテンツID(ContentID)は、ノードPにおけるコンテンツ部分のロケーションを特定するUUIDである。タスクID(TaskID)はUUIDであり、これはたとえば関与するディバイスのノードIDと、伝送すべきコンテンツのロケーションと、タスクが開始された時点とに基づき定義することができる。ディバイスPおよび/またはディバイスS3がそれらのFreeTransferRate(自由に利用可能な伝送レート)によればその時点で過度にビジー状態であるとしならば、それらはInitiateTransferResponse("denied")メッセージ(伝送応答開始「拒否」)をディバイスS0に送信することになり、ついでS0によりCancelTaskRequest messageメッセージがディバイスPとディバイスS3に送信されることによりタスクがキャンセルされ、それらのディバイスはCancelTaskResponseメッセージをディバイスS0に送ることにより返答する。あるいはレコーディングの再トライが以降の時点で行われることになるか、またはDeviceCapabilitiesInformationメッセージから得られるUntil(いつまで)に従いAfter(以降)パラメータを利用して、レコーディングがスケジューリングされることになる。
上述のメッセージ受信後、ディバイスS3およびディバイスPはリクエストに対し受領確認を行い、個々のリソースを割り当てる。この場合、ユーザは自身が管理する所定の人員グループに、自身で定義した"John's James Bond friends"というラベルでコンテンツのコピーに対するアクセスの許可を与えたい望んでおり、それ相応にS0に命令する。
Figure 2006197601
TransferPurpose(伝送目的)パラメータの値は"Record"(レコーディング)であるため、デスティネーションノードS3はデータ転送プロセスをコントロールすることになる。ついで(またはAfter(以降)パラメータに従いそれよりもあとで)ディバイスS3はディバイスPに対し、個々のコンテンツデータを自身へ送信するよう要求する。
Figure 2006197601
ディバイスPはディバイスS3からの要求を受け取り、要求されたコンテンツとともに以下の応答メッセージをディバイスS3へ送信し、これによってディバイスPからディバイスS3へのコンテンツデータ伝送がスタートする。
Figure 2006197601
ディバイスS3は次にS0に対しレコーディングプロセスの開始について通知し、これによってユーザに対し以下のことを知らせることができる。
Figure 2006197601
ディバイスS3は(ForwardDataRequestメッセージによりスタートさせる)伝送を制御するので、ディバイスS3はTransferStatusInformation(“starting”)メッセージ(伝送ステータス情報「スタート」)をディバイスS0へ送信する。ディバイスPがデータ伝送を完了すると、このディバイスは以下の情報メッセージをディバイスS3へ送信し、これによりすべてのデータが伝送完了したことの確認が出される。このメッセージを受け取らなかったならば、ディバイスS3はそのことを、たとえば強制的にディバイスが切断されたなど何らかの理由で伝送が完了しなかったことの合図として用いることができる。
Figure 2006197601
ディバイスS3はレコーディングを完了し、レコーディングがうまく完了したことについて以下の情報メッセージをディバイスS0へ送信し、これによりそのことをユーザに通知することができる。
Figure 2006197601
ディバイスPおよびディバイスS3は自身のリソースの割り当て解除を行い、こんどはディバイスS0がユーザに対し、伝送タスクがうまく完了したことについて通知する。
コンフリクトまたはボトルネックの発生する可能性があり、それらを制限しなければならないあらゆるネットワーク分野に対し、本発明を適用することができる。一例として挙げられるのはピア・ツー・ピア・テクノロジーをベースとするネットワークであり、たとえばOwnerZone(オーナーゾーン)またはUniversal Plug and Play (UPnP)テクノロジーなどである。
十分な帯域幅で2つのリアルタイムストリーミング伝送が行われるシナリオを示す図 不十分な帯域幅で2つのストリーミング伝送が行われるシナリオを示す図 リアルタイムストリーミング伝送およびそれと同時にファイル伝送が行われるシナリオを示す図 一方の伝送タスクの明示的プライオリティが変更された状況で2つのファイル伝送が行われるシナリオを示す図 最初に要求された伝送の前に2番目に要求された伝送がスタートする状況で2つのファイル伝送について示す図 2つのファイル伝送について後者のファイル伝送がサーチタスクからそのプライオリティを継承する様子を示す図 本発明による方法のフローチャートである。 キャパシティ制限があるケースでコンテンツのコピーに関する1つのシナリオを例示した図

Claims (13)

  1. ネットワーク内のデータ伝送に対しプライオリティを割り当てる方法において、
    第1のノードが第1のリクエストを送信し、該第1のリクエストには特定のデータユニットまたはデータユニットタイプの指示を含み、該指示は1つまたは複数のデータユニットに対応づけられたマークを表し、
    少なくとも1つの第2のノードが前記第1のリクエストを受け取って分析し、
    該第2のノードは、要求されたデータユニットを提供できることを検出して、要求されたデータユニットを提供できることを表す第1のメッセージを前記第1のノードに送信し、
    第1のノードは該第1のメッセージを受け取って選択し、
    第1のノードは、特定のデータユニットの伝送を要求する第2のリクエストを少なくとも第2のノードに送信し、第1のノードは第1のリクエストおよび/または第2のリクエストに対し、第1のプライオリティに対応する識別子を割り当て、
    第2のノードは、前記第1のプライオリティに対応する識別子を評価し、該識別子に基づき第2のプライオリティを計算し、該計算された第2のプライオリティには、第1レイヤと第2レイヤの部分的プライオリティが含まれており、前記第1レイヤの部分的プライオリティは要求されたデータ伝送タイプに依存し自動的に定義され、第2レイヤの部分的プライオリティはユーザまたはアプリケーションにより定義され、要求されるデータ伝送タイプには少なくともレコーディング、プレイバック、リアルタイムストリーミング伝送および非リアルタイム伝送が含まれ
    前記第2のノードは、前記第2のリクエストの受信に応じて特定のデータユニットを第1の伝送において送信し、該第1の伝送に対し前記計算された第2のプライオリティが割り当てられることを特徴とする、
    ネットワーク内のデータ伝送に対しプライオリティを割り当てる方法。
  2. 請求項1記載の方法において、
    ネットワーク内のリクエストおよび/またはデータ伝送に割り当てられたプライオリティに対応する前記識別子を評価し、最初に第1レイヤの部分的なプライオリティを比較し、該第1レイヤの部分的プライオリティが等しければ第2レイヤの部分的プライオリティを比較することを特徴とする方法。
  3. 請求項1または2記載の方法において、
    第1のノードが前記第1のリクエストにタイムスタンプを割り当てるステップと、
    第2のノードが第2のプライオリティを計算するため該タイムスタンプを評価するステップ
    を有することを特徴とする方法。
  4. 請求項1から3のいずれか1項記載の方法において、
    前記第2のノードは、
    前記第2のリクエストの受信に応じて、前記タイムスタンプの時刻と現在時刻との差を計算するステップと、
    該差を規定値と比較するステップと、
    該差が前記規定値よりも小さければ第1のアルゴリズムを選択し、さもなければ該第1のアルゴリズムとは異なる第2のアルゴリズムを選択するステップと、
    選択されたアルゴリズムに従い第2のプライオリティの値を計算するステップ
    を実行することを特徴とする方法。
  5. 請求項1から4のいずれか1項記載の方法において、
    前記第2のノードは、別のノードからのおよび/または別のノード宛の別のリクエストを受け取ってスケジューリングし、該別のリクエストに割り当てられたプライオリティを検出し、該別のリクエストにより前記ネットワークにおいて別の伝送が生じ、
    前記第2のノードは該別の伝送の前、該別の伝送の間または該別の伝送の後、検出されたプライオリティと計算されたプライオリティに依存して、前記第1の伝送をスタートさせることを特徴とする方法。
  6. 請求項1から5のいずれか1項記載の方法において、
    前記第1の伝送と前記別の伝送を同時に実行するために十分なリソースが利用できない場合、
    前記2つの伝送の第1レイヤプライオリティを比較するステップと、
    前記第1の伝送の第1レイヤプライオリティが前記別の伝送の第1レイヤプライオリティよりも高ければ、または双方の第1レイヤプライオリティが等しくかつ前記第1の伝送の第2レイヤプライオリティが前記別の伝送の第2レイヤプライオリティよりも高ければ、前記第1の伝送をスタートさせるステップと、
    さもなければ、前記第1の伝送がリアルタイム伝送であるとき該第1の伝送を遅延させ、または前記第1の伝送が非リアルタイム伝送であれば該第1の伝送をスタートさせ、残されたリソースを利用可能にするステップ
    を有することを特徴とする方法。
  7. 請求項1から6のいずれか1項記載の方法において、
    ユーザまたはアプリケーションは前記第2レイヤのプライオリティを変更可能であるが第1レイヤのプライオリティは変更不可能であることを特徴とする方法。
  8. 請求項1から7のいずれか1項記載の方法において、
    実行中の伝送は中断できないことを特徴とする方法。
  9. 請求項1から8のいずれか1項記載の方法において、
    第2のノードは複数の第1のリクエストを受信可能であり、該複数の第1のリクエストに対し複数の第1のメッセージによって応答可能であり、該第1のメッセージはそれぞれ個々の対応する第1のリクエストのタイムスタンプに従い連続的に順序づけられていることを特徴とする方法。
  10. ネットワークノードにおいて、
    第1のノードが送信側であり特定のデータユニットであることを表す第1のリクエストを受信して分析する手段と、
    要求されたデータユニットに対し前記ネットワークノードが応じられることを検出する手段と、
    該ネットワークノードが要求されたデータユニットを供給できることを表す第1のメッセージを前記第1のノードに送信する手段と、
    特定のデータユニットの伝送を要求する第2のリクエストを受信する手段と、
    前記第1のリクエストに対応づけられた第1のプライオリティを評価する手段と、
    該第1のプライオリティに基づき第2のプライオリティを計算する手段が設けられており、該第2のプライオリティには、第1レイヤと第2レイヤの部分的プライオリティが含まれており、前記第1レイヤの部分的プライオリティは、リクエストまたはデータ伝送のタイプに依存して自動的に定義され、前記第2レイヤの部分的プライオリティはユーザまたはアプリケーションにより定義され、リクエストまたはデータ伝送のタイプには少なくともレコーディング、プレイバック、リアルタイムストリーミングおよび非リアルタイム伝送が含まれており、
    前記第2のプライオリティを前記特定のデータユニットの伝送に割り当てる手段と、
    前記第2のリクエストの受信に応じて特定のデータユニットを伝送する手段が設けられていることを特徴とする、
    ネットワークノード。
  11. 請求項10記載のネットワークノードにおいて、
    リクエストおよび/またはデータ伝送に割り当てられたプライオリティを評価する手段が設けられており、該評価手段は、最初に第1レイヤの部分的プライオリティを比較し、該第1レイヤの部分的プライオリティが等しければ第2レイヤの部分的プライオリティを比較することを特徴とするネットワークノード。
  12. 請求項10または11記載のネットワークノードにおいて、
    第2のプライオリティを計算するためにタイムスタンプを評価する手段が設けられており、該第2のプライオリティはタイムスタンプが古ければ古いほど高く、
    前記第2のリクエストの受信に応じて、前記タイムスタンプの時刻と現在時刻との差を計算する手段と、
    該差を規定値と比較する手段と、
    該差が前記規定値よりも小さければ第1のアルゴリズムを選択し、さもなければ該第1のアルゴリズムとは異なる第2のアルゴリズムを選択する手段と、
    選択されたアルゴリズムに従い前記第2のプライオリティの値を計算する手段が設けられていることを特徴とするネットワークノード。
  13. 請求項10から12のいずれか1項記載のネットワークノードにおいて、
    ユーザ、アプリケーションまたは他のネットワークノードからのリクエストを受信する手段と、
    計算されたプライオリティを該リクエストに応じて変更する手段が設けられていることを特徴とするネットワークノード。
JP2006005233A 2005-01-12 2006-01-12 ネットワークにおけるデータ伝送に対しプライオリティを割り当てる方法および該方法を使用したネットワーク Expired - Fee Related JP4652237B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP05000466A EP1681829A1 (en) 2005-01-12 2005-01-12 Method for assigning a priority to a data transfer in a network and network node using the method

Publications (2)

Publication Number Publication Date
JP2006197601A true JP2006197601A (ja) 2006-07-27
JP4652237B2 JP4652237B2 (ja) 2011-03-16

Family

ID=34933250

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006005233A Expired - Fee Related JP4652237B2 (ja) 2005-01-12 2006-01-12 ネットワークにおけるデータ伝送に対しプライオリティを割り当てる方法および該方法を使用したネットワーク

Country Status (8)

Country Link
US (1) US20060153201A1 (ja)
EP (2) EP1681829A1 (ja)
JP (1) JP4652237B2 (ja)
KR (1) KR20060082415A (ja)
CN (1) CN1805447B (ja)
DE (1) DE602006000171T2 (ja)
MY (1) MY137781A (ja)
TW (1) TW200637278A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012520004A (ja) * 2009-03-03 2012-08-30 テレフオンアクチーボラゲット エル エム エリクソン(パブル) ピアツーピアネットワークにおける優先順位付けのための方法及び装置

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7509322B2 (en) 2001-01-11 2009-03-24 F5 Networks, Inc. Aggregated lock management for locking aggregated files in a switched file system
US6873833B2 (en) * 2003-03-27 2005-03-29 Interdigital Technology Corporation Method and apparatus for estimating and controlling initial time slot gain in a wireless communication system
US7885970B2 (en) 2005-01-20 2011-02-08 F5 Networks, Inc. Scalable system for partitioning and accessing metadata over multiple servers
US8417746B1 (en) 2006-04-03 2013-04-09 F5 Networks, Inc. File system management with enhanced searchability
KR100873196B1 (ko) 2007-04-04 2008-12-10 인하대학교 산학협력단 직교 주파수 분할 다중 시스템에서 데이터 전송시우선사용자 신호 검출 방법
US8565799B2 (en) * 2007-04-04 2013-10-22 Qualcomm Incorporated Methods and apparatus for flow data acquisition in a multi-frequency network
WO2008147973A2 (en) 2007-05-25 2008-12-04 Attune Systems, Inc. Remote file virtualization in a switched file system
US8121117B1 (en) 2007-10-01 2012-02-21 F5 Networks, Inc. Application layer network traffic prioritization
US8548953B2 (en) 2007-11-12 2013-10-01 F5 Networks, Inc. File deduplication using storage tiers
US8549582B1 (en) 2008-07-11 2013-10-01 F5 Networks, Inc. Methods for handling a multi-protocol content name and systems thereof
US8868661B2 (en) * 2008-10-08 2014-10-21 Verizon Patent And Licensing Inc. Message management based on metadata
US10721269B1 (en) 2009-11-06 2020-07-21 F5 Networks, Inc. Methods and system for returning requests with javascript for clients before passing a request to a server
US8806056B1 (en) 2009-11-20 2014-08-12 F5 Networks, Inc. Method for optimizing remote file saves in a failsafe way
US9195500B1 (en) 2010-02-09 2015-11-24 F5 Networks, Inc. Methods for seamless storage importing and devices thereof
US9503375B1 (en) 2010-06-30 2016-11-22 F5 Networks, Inc. Methods for managing traffic in a multi-service environment and devices thereof
US9420049B1 (en) 2010-06-30 2016-08-16 F5 Networks, Inc. Client side human user indicator
US8347100B1 (en) 2010-07-14 2013-01-01 F5 Networks, Inc. Methods for DNSSEC proxying and deployment amelioration and systems thereof
US9286298B1 (en) 2010-10-14 2016-03-15 F5 Networks, Inc. Methods for enhancing management of backup data sets and devices thereof
US8879431B2 (en) 2011-05-16 2014-11-04 F5 Networks, Inc. Method for load balancing of requests' processing of diameter servers
US8396836B1 (en) 2011-06-30 2013-03-12 F5 Networks, Inc. System for mitigating file virtualization storage import latency
US8463850B1 (en) 2011-10-26 2013-06-11 F5 Networks, Inc. System and method of algorithmically generating a server side transaction identifier
US10230566B1 (en) 2012-02-17 2019-03-12 F5 Networks, Inc. Methods for dynamically constructing a service principal name and devices thereof
US9244843B1 (en) 2012-02-20 2016-01-26 F5 Networks, Inc. Methods for improving flow cache bandwidth utilization and devices thereof
US9020912B1 (en) 2012-02-20 2015-04-28 F5 Networks, Inc. Methods for accessing data in a compressed file system and devices thereof
WO2013163648A2 (en) 2012-04-27 2013-10-31 F5 Networks, Inc. Methods for optimizing service of content requests and devices thereof
US10033837B1 (en) 2012-09-29 2018-07-24 F5 Networks, Inc. System and method for utilizing a data reducing module for dictionary compression of encoded data
US9519501B1 (en) 2012-09-30 2016-12-13 F5 Networks, Inc. Hardware assisted flow acceleration and L2 SMAC management in a heterogeneous distributed multi-tenant virtualized clustered system
US9578090B1 (en) 2012-11-07 2017-02-21 F5 Networks, Inc. Methods for provisioning application delivery service and devices thereof
US10375155B1 (en) 2013-02-19 2019-08-06 F5 Networks, Inc. System and method for achieving hardware acceleration for asymmetric flow connections
US9554418B1 (en) 2013-02-28 2017-01-24 F5 Networks, Inc. Device for topology hiding of a visited network
US9497614B1 (en) 2013-02-28 2016-11-15 F5 Networks, Inc. National traffic steering device for a better control of a specific wireless/LTE network
US10187317B1 (en) 2013-11-15 2019-01-22 F5 Networks, Inc. Methods for traffic rate control and devices thereof
WO2015128134A1 (en) 2014-02-28 2015-09-03 Sony Corporation Telecommunications apparatus and methods
US11838851B1 (en) 2014-07-15 2023-12-05 F5, Inc. Methods for managing L7 traffic classification and devices thereof
US10182013B1 (en) 2014-12-01 2019-01-15 F5 Networks, Inc. Methods for managing progressive image delivery and devices thereof
US11895138B1 (en) 2015-02-02 2024-02-06 F5, Inc. Methods for improving web scanner accuracy and devices thereof
US10834065B1 (en) 2015-03-31 2020-11-10 F5 Networks, Inc. Methods for SSL protected NTLM re-authentication and devices thereof
US10505818B1 (en) 2015-05-05 2019-12-10 F5 Networks. Inc. Methods for analyzing and load balancing based on server health and devices thereof
US11350254B1 (en) 2015-05-05 2022-05-31 F5, Inc. Methods for enforcing compliance policies and devices thereof
US11757946B1 (en) 2015-12-22 2023-09-12 F5, Inc. Methods for analyzing network traffic and enforcing network policies and devices thereof
US10404698B1 (en) 2016-01-15 2019-09-03 F5 Networks, Inc. Methods for adaptive organization of web application access points in webtops and devices thereof
US10797888B1 (en) 2016-01-20 2020-10-06 F5 Networks, Inc. Methods for secured SCEP enrollment for client devices and devices thereof
US11178150B1 (en) 2016-01-20 2021-11-16 F5 Networks, Inc. Methods for enforcing access control list based on managed application and devices thereof
US10691558B1 (en) * 2016-09-22 2020-06-23 Amazon Technologies, Inc. Fault tolerant data export using snapshots
US10412198B1 (en) 2016-10-27 2019-09-10 F5 Networks, Inc. Methods for improved transmission control protocol (TCP) performance visibility and devices thereof
US11063758B1 (en) 2016-11-01 2021-07-13 F5 Networks, Inc. Methods for facilitating cipher selection and devices thereof
US10505792B1 (en) 2016-11-02 2019-12-10 F5 Networks, Inc. Methods for facilitating network traffic analytics and devices thereof
US10812266B1 (en) 2017-03-17 2020-10-20 F5 Networks, Inc. Methods for managing security tokens based on security violations and devices thereof
US10567492B1 (en) 2017-05-11 2020-02-18 F5 Networks, Inc. Methods for load balancing in a federated identity environment and devices thereof
US11343237B1 (en) 2017-05-12 2022-05-24 F5, Inc. Methods for managing a federated identity environment using security and access control data and devices thereof
US11122042B1 (en) 2017-05-12 2021-09-14 F5 Networks, Inc. Methods for dynamically managing user access control and devices thereof
US11223689B1 (en) 2018-01-05 2022-01-11 F5 Networks, Inc. Methods for multipath transmission control protocol (MPTCP) based session migration and devices thereof
EP3534594B1 (de) * 2018-02-28 2020-11-25 Kistler Holding AG Kommunikationssystem zur datenübermittlung zwischen datenerzeugereinheiten und datenauswerteeinheiten
US10833943B1 (en) 2018-03-01 2020-11-10 F5 Networks, Inc. Methods for service chaining and devices thereof
CN108900379B (zh) * 2018-07-09 2020-12-29 阿里巴巴(中国)有限公司 分布式网络业务调度方法、装置、计算设备和存储介质
DE102020104098A1 (de) 2020-02-17 2021-08-19 Hirschmann Automation And Control Gmbh Netzwerkgerät sowie Verfahren zum Erfassen und Verarbeiten von Paketinformationen mit dem Netzwerkgerät
US20240015596A1 (en) * 2022-07-11 2024-01-11 Dish Network L.L.C. Methods and systems for adjusting network speed to a gateway

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04362828A (ja) * 1991-06-11 1992-12-15 Mitsubishi Electric Corp 優先着信制御方式
JPH08204750A (ja) * 1995-01-24 1996-08-09 Nec Eng Ltd データ転送制御システム
JPH10243018A (ja) * 1997-02-26 1998-09-11 Toshiba Corp 通信装置、帯域確保方法及び端末装置
JP2002324057A (ja) * 2001-04-25 2002-11-08 Nec Corp サービスシステム及びそれに用いるサービス方法
JP2003258887A (ja) * 2002-03-04 2003-09-12 Nippon Telegr & Teleph Corp <Ntt> 視覚的かつ動的な下り帯域制御システム、端末装置、制御方法、プログラム、および記録媒体
JP2004180192A (ja) * 2002-11-29 2004-06-24 Sanyo Electric Co Ltd ストリーム制御方法およびその方法を利用可能なパケット転送装置
US20040148287A1 (en) * 2003-01-27 2004-07-29 Microsoft Corporation Peer-to peer record structure and query language for searching and discovery thereof
JP2004254255A (ja) * 2003-02-21 2004-09-09 Sanyo Electric Co Ltd データパケット送信装置およびデータパケット送信方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6366907B1 (en) * 1999-12-15 2002-04-02 Napster, Inc. Real-time search engine
US8756342B1 (en) * 2000-02-07 2014-06-17 Parallel Networks, Llc Method and apparatus for content synchronization
US20030046394A1 (en) * 2000-11-03 2003-03-06 Steve Goddard System and method for an application space server cluster
SE524599C2 (sv) * 2002-01-18 2004-08-31 Ericsson Telefon Ab L M Metod, system och datorprogramprodukt för att anordna tjänstekvalitet QoS
US7340531B2 (en) * 2002-09-27 2008-03-04 Intel Corporation Apparatus and method for data transfer
US20040107242A1 (en) * 2002-12-02 2004-06-03 Microsoft Corporation Peer-to-peer content broadcast transfer mechanism
WO2004075447A1 (en) * 2003-02-20 2004-09-02 Zarlink Semiconductor Inc. Alignment of clock domains in packet networks
US7567523B2 (en) * 2004-01-29 2009-07-28 Microsoft Corporation System and method for network topology discovery

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04362828A (ja) * 1991-06-11 1992-12-15 Mitsubishi Electric Corp 優先着信制御方式
JPH08204750A (ja) * 1995-01-24 1996-08-09 Nec Eng Ltd データ転送制御システム
JPH10243018A (ja) * 1997-02-26 1998-09-11 Toshiba Corp 通信装置、帯域確保方法及び端末装置
JP2002324057A (ja) * 2001-04-25 2002-11-08 Nec Corp サービスシステム及びそれに用いるサービス方法
JP2003258887A (ja) * 2002-03-04 2003-09-12 Nippon Telegr & Teleph Corp <Ntt> 視覚的かつ動的な下り帯域制御システム、端末装置、制御方法、プログラム、および記録媒体
JP2004180192A (ja) * 2002-11-29 2004-06-24 Sanyo Electric Co Ltd ストリーム制御方法およびその方法を利用可能なパケット転送装置
US20040148287A1 (en) * 2003-01-27 2004-07-29 Microsoft Corporation Peer-to peer record structure and query language for searching and discovery thereof
JP2004254255A (ja) * 2003-02-21 2004-09-09 Sanyo Electric Co Ltd データパケット送信装置およびデータパケット送信方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNG200400111012, "P2Pストリーミングを支援するプラットフォーム", 情報処理学会研究報告, 20020913, Vol.2002 No.85, p.89〜96 *
CSNH200300219006, "適応型ネットワーク制御技術の研究動向と今後の展開", NTT R&D, 20011210, 第50巻 第12号, p.971〜977 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012520004A (ja) * 2009-03-03 2012-08-30 テレフオンアクチーボラゲット エル エム エリクソン(パブル) ピアツーピアネットワークにおける優先順位付けのための方法及び装置

Also Published As

Publication number Publication date
CN1805447B (zh) 2011-04-20
JP4652237B2 (ja) 2011-03-16
EP1681834B1 (en) 2007-10-24
US20060153201A1 (en) 2006-07-13
EP1681829A1 (en) 2006-07-19
EP1681834A1 (en) 2006-07-19
TW200637278A (en) 2006-10-16
MY137781A (en) 2009-03-31
DE602006000171T2 (de) 2008-08-21
KR20060082415A (ko) 2006-07-18
CN1805447A (zh) 2006-07-19
DE602006000171D1 (de) 2007-12-06

Similar Documents

Publication Publication Date Title
JP4652237B2 (ja) ネットワークにおけるデータ伝送に対しプライオリティを割り当てる方法および該方法を使用したネットワーク
JP5007111B2 (ja) ネットワーク内のノードを自動的に分類する方法および装置
JP4430885B2 (ja) 分配されるチューナ割り振りおよびコンフリクトの解決方法
JP4844425B2 (ja) 帯域要求システム、帯域要求装置、クライアント機器、帯域要求方法、コンテンツ再生方法およびプログラム
JP5167153B2 (ja) ピアのネットワークでリソースを共有する装置及び方法
US7782866B1 (en) Virtual peer in a peer-to-peer network
US7027460B2 (en) Method and system for customized television viewing using a peer-to-peer network
US7779097B2 (en) Methods and systems for use in network management of content
US20120114312A1 (en) Method and system for determining the availability of a media controller
US20060123080A1 (en) Method and system of collectively setting preferences among a plurality of electronic devices and users
US20060161635A1 (en) Methods and system for use in network management of content
JP2012516503A (ja) 分散された資産とメタデータを管理するシステム
EP1427170A2 (en) Peer-to-peer content broadcast mechanism
JP2007506183A (ja) セキュリティ用の分散検索システムのための動的リソース・マネジメント
JP2014143758A (ja) ネットワーク化パーソナル・ビデオ録画システム
JPH11317937A (ja) 放送蓄積視聴装置
EP1627500B1 (en) Service management using multiple service location managers
US20080240670A1 (en) Picture recording system and picture recording and reproducing method
JPH08172437A (ja) データ配送システム
US8626621B2 (en) Content stream management
JP2007179215A (ja) コンテンツサーバ装置
Cao et al. An architecture of distributed media servers for supporting guaranteed QoS and media indexing
CN101286943A (zh) 一种网络电视业务的控制方法及网络电视业务系统
JP2005202618A (ja) コンテンツ配信管理方法、コンテンツ配信装置、コンテンツ配信システム、プログラムおよび記録媒体
JP2000115744A (ja) 動画像送出システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081009

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100726

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20100726

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100729

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100729

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101112

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101119

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101215

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20131224

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees