📄 rfc2729.txt
字号:
to more fully define Guarantees, which the middleware may translate into, for example, queue lengths. Tolerated loss This specifies the proportion of data from a communication that can be lost before the application becomes completely unusable.Bagnall, et al. Informational [Page 7]RFC 2729 Taxonomy of Communication Requirements December 1999 Type: Fraction Meaning: fraction of the stream that can be lost Strictest Requirement: 0% Scope: per stream Example Application: Video - 20% Semantic loss The application specifies how many and which parts of the communication can be discarded if necessary. Type: Identifiers, name disposable application level frames Meaning: List of the identifiers of application frames which may be lost Strictest Requirement: No loss allowed Scope: per stream Example Application: Video feed - P frames may be lost, I frames not3.2.2.2. Component Reliability Setup Fail-over time The time before a failure is detected and a replacement component is invoked. From the applications point of view this is the time it may take in exceptional circumstances for a channel to be set- up. It is not the "normal" operating delay before a channel is created. Type: Time Strictest Requirement: Web server - 1 second Scope: per stream Example Application: Name lookup - 5 seconds Mean time between failures The mean time between two consecutive total failures of the channel. Type: Time Strictest Requirement: Indefinite Scope: per stream Example Application: Telephony - 1000 hoursBagnall, et al. Informational [Page 8]RFC 2729 Taxonomy of Communication Requirements December 1999 Fail over time during a stream The time between a stream breaking and a replacement being set up. Type: Time Strictest Requirement: Equal to latency requirement Scope: per stream Example Application: File Transfer - 10sec3.2.3. Ordering Ordering type Specifies what ordering must be preserved for the application Type: { Enumeration timing, Enumeration sequencing, Enumeration causality } Meaning: Timing - the events are timestamped Global Per Sender none Sequencing - the events are sequenced in order of occurrence Global Per Sender none Causality - the events form a graph relating cause and effect Global Per Sender none Strictest Requirement: Global, Global, Global Scope: per stream Example Application: Game - { none, per sender, global } (to make sure being hit by bullet occurs after the shot is fired!)3.2.4. Timeliness Hard real- time There is a meta-requirement on timeliness. If hard real-time is required then the interpretation of all the other requirements changes. Failures to achieve the required timeliness must beBagnall, et al. Informational [Page 9]RFC 2729 Taxonomy of Communication Requirements December 1999 reported before the communication is made. By contrast soft real- time means that there is no guarantee that an event will occur in time. However statistical measures can be used to indicate the probability of completion in the required time, and policies such as making sure the probability is 95% or better could be used. Type: Boolean Meaning: Hard or Soft realtime Strictest Requirement: Hard Scope: per stream Example Application: Medical monitor - Hard Synchronicity To make sure that separate elements of a session are correctly synchronized with respect to each other Type: Time Meaning: The maximum time drift between streams Strictest Requirement: 80ms for human perception Scope: per stream pair/set Example Application: TV lip-sync value 80ms NB: the scope is not necessarily the same as the session. Some streams may no need to be sync'd, (say, a score ticker in a football match Burstiness This is a measure of the variance of bandwidth requirements over time. Type: Fraction Meaning: either: Variation in b/w as fraction of b/w for variable b/w communications or duty cycle (fraction of time at peak b/w) for intermittent b/w communications. Strictest Requirement: Variation = max b/w Duty cycle ~ 0 Scope: per stream Example Application: Sharing video clips, with chat channel - sudden bursts as clips are swapped. Compressed Audio - difference between silence and talking NB: More detailed analysis of communication flow (e.g. max rate of b/w change orBagnall, et al. Informational [Page 10]RFC 2729 Taxonomy of Communication Requirements December 1999 Fourier Transform of the b/w requirement) is possible but as complexity increases usefulness and computability decrease. Jitter Jitter is a measure of variance in the time taken for communications to traverse from the sender (application) to the receiver, as seen from the application layer. Type: Time Meaning: Maximum permissible time variance Strictest Requirement: <1ms Scope: per stream Example Application: audio streaming - <1ms NB: A jitter requirement implies that the communication is a real-time stream. It makes relatively little sense for a file transfer for example. Expiry This specifies how long the information being transferred remains valid for. Type: Date Meaning: Date at which data expires Strictest Requirement: For ever Scope: per stream Example Application: key distribution - now+3600 seconds (valid for at least one hour) Latency Time between initiation and occurrence of an action from application perspective. Type: Time Strictest Requirement: Near zero for process control apps Scope: per stream Example Application: Audio conference 20ms NB: Where an action consists of several distinct sequential parts the latency budget must be split over those parts. For process control the requirement may take any value.Bagnall, et al. Informational [Page 11]RFC 2729 Taxonomy of Communication Requirements December 1999 Optimum Bandwidth Bandwidth required to complete communication in time Type: Bandwidth Strictest Requirement: No upper limit Scope: per stream Example Application: Internet Phone 8kb/s Tolerable Bandwidth Minimum bandwidth that application can tolerate Type: Bandwidth Strictest Requirement: No upper limit Scope: per stream Example Application: Internet phone 4kb/s Required by time and tolerance Time communication should complete by and time when failure to complete renders communication useless (therefore abort). Type: { Date - preferred complete time, Date - essential complete time } Strictest Requirement: Both now. Scope: per stream Example Application: Email - Preferred 5 minutes & Essential in 1 day NB: Bandwidth * Duration = Size; only two of these parameters may be specified. An API though could allow application authors to think in terms of any two. Host performance Ability of host to create/consume communication Type: Application benchmark Meaning: Level of resources required by Application Strictest Requirement: Full consumption Scope: per stream Example Application: Video - consume 15 frames a second NB: Host performance is complex since load, media type, media quality, h/w assistance, and encoding scheme all affect theBagnall, et al. Informational [Page 12]RFC 2729 Taxonomy of Communication Requirements December 1999 processing load. These are difficult to predict prior to a communication starting. To some extent these will need to be measured and modified as the communication proceeds. Frame size Size of logical data packets from application perspective Type: data size Strictest Requirement: 6 bytes (gaming) Scope: per stream Example Application: video = data size of single frame update Content size The total size of the content (not relevant for continuous media) Type: data size Strictest Requirement: N/A Scope: per stream Example Application: document transfer, 4kbytes3.2.5. Session Control Initiation Which initiation mechanism will be used. Type: Enumeration Meaning: Announcement - session is publicly announced via a mass distribution system Invitation - specific participants are explicitly invited, e.g. my email Directive - specific participants are forced to join the session Strictest Requirement: Directive Scope: per stream Example Application: Corporate s/w update - DirectiveBagnall, et al. Informational [Page 13]RFC 2729 Taxonomy of Communication Requirements December 1999 Start Time Time sender starts sending! Type: Date Strictest Requirement: Now Scope: per stream Example Application: FTP - at 3am End Time Type: Date Strictest Requirement: Now Scope: per stream Example Application: FTP - Now+30mins Duration (end time) - (start time) = (duration), therefore only two of three should be specified. Type: Time Strictest Requirement: - 0ms for discrete, indefinite for streams Scope: per stream
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -