RFC 1693:An Extension to TCP : Partial Order Servi...
RFC-Ref

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 ...
... ORDER Figure 5: Quality Of Service: Reliability vs. Order - Traditional Service ...
... 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 ...
... credit card verification require such a service. Unreliable-ordered service ...
... 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. ...
... ORDER Figure 6: Quality Of Service: Reliability vs. Order - Partial Order Service ...
... Quality Of Service: Reliability vs. Order - Partial Order Service ...
... 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 ...
... in a SYN segment to request a partial order service. The other is the "POC-service ...
... 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 ...
... TCP POC-service-profile Option: ...
... 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 ...
... TCP interface. Once the service profile has been specified to the TCP, it remains in effect ...
... 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. +--------+ +----------+ ...
... +--------+ +----------+ Service | UserA | | UserB | Profile +--------+ +----------+ ...
... | | | v | | | +---------+ +-----------+ Service | | TCP-A | | TCP ...
... | +---------------------------------------+ | 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 ...
... Restart the timer Event (4) - PO Service Profile Arrives at the User Interface ...
... state Store the Send-side PO service profile Package the profile ...
... segments, setting the POC-Service-Profile option on each If Piggyback Timer ...
... 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) ...
... ========= Transition to the ESTAB state and begin processing new service profile ...
... 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 ...
... Event 1 - First PO Service Profile fragment arrives at network ...
... state Store the PO service profile (fragment) ...
... fragment) Send an Acknowledgement of the PO service profile (fragment) ...
... Disable piggyback_delay timer Event 5 - PO Service Profile fragment arrives at network interface ...
... ======= Store the PO service profile (fragment) ...
... fragment) Send an Acknowledgement of the PO service profile (fragment) ...
... fragment) If entire PO Service profile has been received then enable Event (9) ...


... 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. ...



Google
Web
RFC-Ref