📄 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
not
3.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 hours
Bagnall, 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 - 10sec
3.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 be
Bagnall, 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 or
Bagnall, 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 the
Bagnall, 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, 4kbytes
3.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 - Directive
Bagnall, 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 + -