service
Click on the red underlined text to get to the source
... packets, frames, protocol data units) usually choose between a fully
ordered service such as that currently provided by TCP and one that
does not guarantee any ordering such as that provided by UDP ...
... more appropriate for some applications is a partial order and/or
partial reliability service where a subset of objects being
communicated must arrive in the order transmitted, yet some objects
may arrive in a different order, and some (well specified subset) of
...
... the objects may not arrive at all.
One motivating application for a partial order service is the
emerging area of multimedia communications. Multimedia traffic is
...
... candidates for using a partial order, partial
reliability service. In general, any application which communicates
parallel and/or independent data structures may potentially be able
...
... parallel and/or independent data structures may potentially be able
to profit from a partial order service.
A second application that could benefit from a partial order service ...
... service.
A second application that could benefit from a partial order service
involves remote or distributed databases. Imagine the case where a
...
... databases which
utilize - and thus are penalized by - an ordered delivery service.
Currently these applications must use and pay for a fully
...
...
Currently these applications must use and pay for a fully
ordered/fully reliable service even though they do not need it. The
introduction of partial services allows applications to lower the
...
... ordered/fully reliable service even though they do not need it. The
introduction of partial services allows applications to lower the
demanded quality of service (QOS ...
... introduction of partial services allows applications to lower the
demanded quality of service (QOS) of the communication assuming that
such a service ...
... quality of service (QOS) of the communication assuming that
such a service is more efficient and less costly. In effect, a
partial order extends the service level from two extremes - ordered
...
... such a service is more efficient and less costly. In effect, a
partial order extends the service level from two extremes - ordered
and unordered - to a range of discreet values encompassing both of
...
... It is worth mentioning that a TCP implementation providing a partial
order service, as described here, would be able to communicate with a
non-partial order implementation simply by recognizing this fact at
connection establishment ...
... provides insights into the expected performance improvements of a
partial order service over an ordered service and Section 6 discusses
some future directions. Concluding remarks are given in Section 7.
...
... performance improvements of a
partial order service over an ordered service and Section 6 discusses
some future directions. Concluding remarks are given in Section 7.
...
...
Partial order services are needed and can be employed as soon as a
complete ordering is not mandatory. When two objects can be
delivered in either order, there is no need to use an ordered service ...
... services are needed and can be employed as soon as a
complete ordering is not mandatory. When two objects can be
delivered in either order, there is no need to use an ordered service
that must delay delivery of the second one transmitted until the
...
... are four distinct salespersons. If record 2 is received before
record 1 due to a network loss during transmission, the transport
service can not deliver it and must therefore buffer it until record
1 arrives. An ordered service ...
... transport
service can not deliver it and must therefore buffer it until record
1 arrives. An ordered service, also referred to as a virtual circuit
or FIFO ...
... or FIFO channel, provides the desired level of service in this case.
At the other extreme, an unordered service ...
... service in this case.
At the other extreme, an unordered service is motivated in Figure 1.d
where the employee has implicitly specified that any ordering is
valid ...
... delivered first followed by record 2 and 3 in either order followed
by record 4. Likewise, the ordering for 1.c is (1||2);(3||4). In
these two cases, an ordered service is too strict and an unordered
service is not strict enough.
...
... these two cases, an ordered service is too strict and an unordered
service is not strict enough.
+-----------------------------------------------------------------+
...
...
A second example application that motivates a partial order service
is a multimedia broadcast involving video, audio ...
... It is assumed that further synchronization concerns in presenting the
objects are addressed by a service provided on top of the proposed
partial order service. Temporal ordering for synchronized playback
...
... objects are addressed by a service provided on top of the proposed
partial order service. Temporal ordering for synchronized playback
is considered, for example, in [AH91, HKN91 ...
...
A third example to motivate a partial order service involves
refreshing a workstation screen/display containing multiple windows
from a remote source. In this case, objects (icons, still or video
...
... receiving application refreshes windows as soon as the transport
service delivers them. If the windows are configured as in Figure
4a, then there exist two different orderings for redisplay, namely
1,2,3,4 or 1,3,2,4. If window 2 is received before window 1, the
...
... 4a, then there exist two different orderings for redisplay, namely
1,2,3,4 or 1,3,2,4. If window 2 is received before window 1, the
transport service cannot deliver it or an incorrect image will be
displayed. In Figure 4b, the structure of the windows results in six
...
... upon, and must be specified by the application. Intuitively, as the
number of acceptable orderings increases, the amount of resources
utilized by a partial order transport service, in terms of buffers
and retransmissions ...
... and retransmissions, should decrease as compared to a fully ordered
transport service thus also decreasing the overall cost of the
connection. Just how much lower will depend largely upon the
...
... network.
As an indication of the potential for improved service, let us
briefly look at the case where a database has the following 14
...
... 25,920 valid orderings at the destination. A service that may
deliver the records in any of these 25,920 orderings has a great deal
more flexibility than in the ordered case where there is only 1 valid ...
... network is assumed to be unreliable and
may thus introduce loss, duplication, and disorder. It makes no
sense to put a partial order service on top of a reliable network.
While the exact amount of unreliability in a network ...
... experimental research indicates
that real world networks, for example the service provided by the
Internet's IP ...
... Internet network unreliability. This
information would say a great deal about the practical merit of a
partial order service.
...
... audio channel is usually not a problem.
Bearing this in mind, it is of value to consider a quality of service
that combines a partial order with a level of tolerated loss (partial
reliability ...
... that combines a partial order with a level of tolerated loss (partial
reliability). Traditionally there exist 4 services: reliable-
ordered, reliable-unordered, unreliable-ordered, and unreliable-
unordered. See Figure 5. Reliable-ordered service ...
... services: reliable-
ordered, reliable-unordered, unreliable-ordered, and unreliable-
unordered. See Figure 5. Reliable-ordered service (denoted by a
single point) represents the case where all objects are delivered in
the order transmitted. File transfer ...
... the order transmitted. File transfer is an example application
requiring such a service.
reliable-ordered reliable-unordered
...
... Quality Of Service: Reliability vs. Order -
Traditional Service Types
In a reliable-unordered service ...
... Service Types
In a reliable-unordered service (also a single point), all objects
must be delivered, but not necessarily according to the order
transmitted; in fact, any order will suffice. Some transaction ...
... service.
Unreliable-ordered service allows some objects to be lost. Those
that are delivered, however, must arrive in relative order (An
"unreliable" service ...
... service allows some objects to be lost. Those
that are delivered, however, must arrive in relative order (An
"unreliable" service does not necessarily lose objects; rather, it
may do so without failing to provide its advertised quality of
service; e.g., the postal system provides an unreliable service ...
... "unreliable" service does not necessarily lose objects; rather, it
may do so without failing to provide its advertised quality of
service; e.g., the postal system provides an unreliable service).
Since there are varying degrees of unreliability, this service ...
... service does not necessarily lose objects; rather, it
may do so without failing to provide its advertised quality of
service; e.g., the postal system provides an unreliable service).
Since there are varying degrees of unreliability, this service is
...
... quality of
service; e.g., the postal system provides an unreliable service).
Since there are varying degrees of unreliability, this service is
represented by a set of points in Figure 5. An unreliable-ordered
service ...
... service is
represented by a set of points in Figure 5. An unreliable-ordered
service is applicable to packet-voice or teleconferencing
applications.
...
... applications.
Finally unreliable-unordered service allows objects to be lost and
delivered in any order. This is the kind of service used for normal
...
... Finally unreliable-unordered service allows objects to be lost and
delivered in any order. This is the kind of service used for normal
e-mail (without acknowledgment receipts) and electronic announcements
or junk e-mail.
...
...
When considering unreliable service, one cannot assume that all
objects are equal with regards to their reliability. This
...
... windows in the screen refresh in Example 2.3. If all objects are of
type BART-NL, the service is reliable. One possible way to assure
eventual delivery of a BART-NL object in a protocol is for the sender ...
... image/sec film. A sender transmits these objects
once and the service makes a best effort to deliver them. If the one
attempt is unsuccessful, no further attempts are made.
...
... such objects exist? The authors have considered the notion of
communicating an object without the use of BART and still being able
to provide a service without loss. Perhaps with the use of forward
error correction this may become a viable alternative and could
certainly be included in the protocol. However, for our purposes in
...
... receiving functions of a protocol providing
partial order/partial reliability service will behave differently for
each class of object. For example, a sender ...
...
The implementation of a protocol that provides partial order service
requires, at a minimum, (1) communication of the partial ordering
between the two endpoints ...
... Throughout the discussion of these issues, the authors use the
generic notion of "objects" in describing the service details. Thus,
one of the underlying requirements of a partial order service ...
... service details. Thus,
one of the underlying requirements of a partial order service is the
ability to handle such an abstraction (e.g., recognize object
boundaries). The details of object management ...
... of a more efficient data transport facility by negotiating the
optimal service level which is required - no more, no less. This is
accomplished by specifying these variables as QOS parameters or, in
...
...
A TCP implementation that provides a partial order service requires
the use of two new TCP options. The first is an enabling option
...
... service. The other is
the "POC-service-profile" option which is used periodically to
communicate the service ...
... service-profile" option which is used periodically to
communicate the service characteristics. This second option may be
sent only after successful transmission and acknowledgment of the
POC ...
... include the POC-permitted option if the application can benefit from
the use of a partial order service and in fact, in cases where the
viability of such service is unknown, it is suggested that the option
...
... the use of a partial order service and in fact, in cases where the
viability of such service is unknown, it is suggested that the option
be used and that the decision be left to the user's peer.
...
... indication or may reject a partial order connection if the
application does not warrant the service or the receiving user is
simply unable to provide such a service ...
... service or the receiving user is
simply unable to provide such a service (e.g., does not recognize the
POC-permitted option).
...
...
In the event that either side is unable to provide partial order
service, the POC-permitted option will be omitted and normal TCP
...
... both the POC-permitted option and the POC-service-profile option in a
format consistent with the TCP ...
... this is acceptable for most TCP connections today, a partial-order
service would necessarily require that significantly more control
information be passed between transport entities at certain points
...
... during a connection. Maintaining the strict interpretation of this
rule would prove to be inefficient. If, for example, the service
profile occupied a total of 400 bytes (a modest amount as will be
...
... TCP header.
Instead, the authors propose that the service profile be carried in
the data section of the segment ...
... the data section of the segment and that the 3-byte POC-service-
profile option described above be placed in the header ...
... segment,
the TCP extracts the service profile and uses it appropriately as
will be discussed in the following sections.
...
... The option itself, as shown here, contains two 1-bit flags necessary
to handle the case where the service profile does not fit in a single
TCP ...
... segment. The "Start_flag" indicates that the information in the
data section represents the beginning of the service profile and the
"End_flag" represents the converse. For service ...
... service profile and the
"End_flag" represents the converse. For service profiles which fit
completely in a single segment ...
... segment allowing the peer entity to reconstrcut
the entire service profile (using the normal sequence numbers in the
...
... third byte of the option.
Note that the length of the service profile may vary during the
connection ...
... connection for a given set of objects
(hereafter referred to as a "period"). This information is contained
in the service profile and it is the responsibility of the user
application to define this profile ...
... profile.
The representation of the service profile is one of the concerns for
the transport protocol ...
... vector has been proposed to communicate and
manage the reliability aspects of the service. Temporal values may
be included within the objects themselves or may be defined as a
function of the state ...
... connection [DS93]. Using these data
structures, the complete service profile would include (1) a partial
order matrix, (2) a reliability ...
... variables).
Throughout this section, we use the following service profile as a
running example. Shown here is a partial order matrix and graphical
...
... objects are BART-NL would simply be, <1, 1, 1, 1, 1, 1>. Together
with the object_sizes vector, the complete service profile is
described.
...
... TCP
before the first object is transmitted using a TCP service primitive
or comparable means depending upon the User/TCP interface ...
... until the connection is closed or the sending user specifies a new
service profile. In the event that the largest object size can not
be processed by the receiving ...
... close procedure is followed.
Typically, as has been described here, the service profile definition
and specification is handled at the sending end of the connection ...
... connection.
Requiring that the sending application specify the service profile is
not an arbitrary choice. To ensure proper object identification, the
...
... sending application must receive this information in any case, it
simplifies matters greatly to require that the sending application be
the only side that may specify the service profile to the transport
layer.
...
... that a connection already is established. Let us now say that UserA
specifies the service profile for the sending-side of the connection
...
... header
of one or more data packets (depending upon the size of the service
profile, the profile ...
... profile may require several packets), sets the POC-
service-profile option and passes it to IP for transmission over the
...
... starts a normal retransmit timer. Subsequently, the
service profile arrives at the destination node ...
... TCP-B (as indicated by the arrows in Figure 8). TCP-B returns an
acknowledgment and immediately adopts the service profile for one
direction of data flow ...
... arrives back at TCP-A, the cycle is complete and both sides are now
able to use the partial order service.
+--------+ +----------+
...
... | +---------------------------------------+ |
v | | |
------>| ---- Service Profile -------------> |----->
+---------------------------------------+
...
... TCP ascertains the object ordering and
reliability from the service profile and uses this information in its
buffering ...
... buffer space, processing acknowledgments and
retransmitting after a time-out - however, each takes on a new
meaning in a partial order service. Additionally, the management of
the service ...
... service. Additionally, the management of
the service profile represents a fifth duty not previously needed.
...
... retransmission and (5) starting a retransmission
timer. The only difference with a partial order service is that the
reliability vector ...
... partial order for multiple periods (e.g., the application repeats the
same partial order). In the general case, however, the protocol must
be able to change the service profile during an existing connection.
...
... profile during an existing connection.
When a change in the service profile is requested, the sending TCP is
...
... sending buffers are free. Then negotiation of the new service
profile is performed in the same manner as with the initial profile ...
... Extract the peer TCP's window advertisement
If all objects from previous service profile have been ACKed and
the new service ...
... service profile have been ACKed and
the new service profile has been ACKed then enable Event (7)
...
... reliability and window management. Additionally, the
service profile must be established (and re-established) periodically
and some special processing must be performed at the end of each
...
...
Another question which arises is, "How does one calculate the send
and receive windows?" With a partial order service, these windows
are no longer contiguous intervals of objects but rather sets of
objects. In fact, there are three sets which are of interest to the
...
...
The following example will help to illustrate these sets. Consider
our simple service profile from earlier for the case where the size
of each object is 1 MByte and the receiver ...
... In general, the notion of window management takes on new meaning with
a partial order service. One may re-examine the classic window
relations with a partial order service in mind and devise new, less
...
... a partial order service. One may re-examine the classic window
relations with a partial order service in mind and devise new, less
restrictive relations which may shed further light on the operation
of such a service ...
... service in mind and devise new, less
restrictive relations which may shed further light on the operation
of such a service.
Two final details: (1) as with the sender ...
... receiver must
periodically establish or modify the PO service profile and (2) upon
processing the last object in a period, the receiver ...
... Disable piggyback_delay timer
Event 5 - PO Service Profile fragment arrives at network interface ...
... Quantifying and Comparing Partial Order Services ...
... need only partial order or partial reliability. By introducing a
partial order service, one may in effect relax the requirements on
order and reliability ...
... vector. If the underlying network has no loss, a
partial order service essentially becomes an ordered service.
Collecting experimental ...
... network has no loss, a
partial order service essentially becomes an ordered service.
Collecting experimental data to ascertain realistic network
conditions ...
... experimental data to ascertain realistic network
conditions is a straightforward task and will help to quantify in
general the value of a partial order service [Bol93]. But how can
one quantify and compare the cost of providing specific levels of
...
... Bol93]. But how can
one quantify and compare the cost of providing specific levels of
service?
Preliminary research indicates that the number of linear extensions
...
... partial orders based on this number [ACCD93b]. This metric could be
used as a means for charging for the service, for example. What also
may be interesting is a specific head-to-head comparison between
...
... information. And finally, work is underway on an implementation of
TCP which includes partial order service.
...
...
An interesting question arises when discussing the acknowledgment
strategy for a partial order service. For classic protocols, a
cumulative ACK of object i confirms all objects "up to and including"
...
... ACK of object i confirms all objects "up to and including"
i. But the meaning of "up to and including" with a partial order
service has different implications than with an ordered service.
...
... i. But the meaning of "up to and including" with a partial order
service has different implications than with an ordered service.
Consider our example partial order, ((1;2)||(3;4)||5);6). What
...
...
Other partial order acknowledgment policies are possible for a
protocol providing a partial order service including the use of
selective ACKs (which has been proposed in [JB88 ...
... Finally, the authors are interested in the realization of a network
application utilizing a partial order service. The aim of such work
is threefold: (1) provide further insight into the expected
performance ...
... transport and, (3) build a road-map for application designers
interested in using a partial order service.
...
...
This RFC introduces the concepts of a partial order service and
discusses the practical issues involved with including partial
ordering in a transport protocol ...
... discusses the practical issues involved with including partial
ordering in a transport protocol. The need for such a service is
motivated by several applications including the vast fields of
distributed databases ...
... motivated by several applications including the vast fields of
distributed databases, and multimedia. The service has been
presented as a backward-compatible extension to TCP ...
... transport layer to effectively handle a wider range of applications
(i.e., any which might benefit from such mechanisms). The service
profile described in Section 4 accurately characterizes the QOS ...
... profile described in Section 4 accurately characterizes the QOS for a
partial order service (which encompasses the two extremes of total
ordered and unordered transport as well).
...
... As evidenced by this list, a partial order and partial reliability
service proposes to re-examine several fundamental transport
mechanisms and, in so doing, offers the opportunity for substantial
improvement in the support of existing and new application areas.
...
... Amer, P., Chassot, C., Connolly, T., and M. Diaz, "Partial Order Transport Service for Multimedia Applications: Reliable Service", Second International Symposium on High Performance Distributed Computing (HPDC-2), Spokane, Washington, July 1993. ...
... Amer, P., Chassot, C., Connolly, T., and M. Diaz, "Partial Order Transport Service for Multimedia Applications: Reliable Service", Second International Symposium on High Performance Distributed Computing (HPDC-2), Spokane, Washington, July 1993. ...
... Amer, P., Chassot, C., Connolly, T., and M. Diaz, "Partial Order Transport Service for Multimedia Applications: Unreliable Service", Proc. INET '93, San Francisco, August 1993. ...
... Amer, P., Chassot, C., Connolly, T., and M. Diaz, "Partial Order Transport Service for Multimedia Applications: Unreliable Service", Proc. INET '93, San Francisco, August 1993. ...
