WO1996030841A1 - Method and system for remote procedure call via an unreliable communication channel using multiple retransmission timers - Google Patents
Method and system for remote procedure call via an unreliable communication channel using multiple retransmission timers Download PDFInfo
- Publication number
- WO1996030841A1 WO1996030841A1 PCT/US1996/000967 US9600967W WO9630841A1 WO 1996030841 A1 WO1996030841 A1 WO 1996030841A1 US 9600967 W US9600967 W US 9600967W WO 9630841 A1 WO9630841 A1 WO 9630841A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- client
- request
- server
- time
- out period
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/188—Time-out mechanisms
- H04L1/1883—Time-out mechanisms using multiple timers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
- H04L1/1685—Details of the supervisory signal the supervisory signal being transmitted in response to a specific request, e.g. to a polling signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1803—Stop-and-wait protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L2001/125—Arrangements for preventing errors in the return channel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/324—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
Definitions
- the present invention relates generally to remote procedure calls in distributed systems, and more particularly to transmission of a remote procedure call via an unreliable communication channel.
- a remote procedure call from a client to a server is a widely used technique in distributed systems.
- the client sends a request message to a server, and then waits for the server to confirm receipt of the request message.
- a remote procedure call in an unreliable channel requires recovery from lost messages.
- confirm messages are used to indicate receipt of requests, the confirm messages may be lost through transmissions. Even where confirm messages are further confirmed, there may be many transmissions of confirm messages for each request.
- An efficient and fail-safe mechanism is needed to minimize the number of transmissions per request as well as the length of time for a lost message to be recovered.
- numeral 100 in the prior art, for recovering from a lost request, a single unique time-out period per client-server pair has been utilized for recovering a lost request.
- the client After transmitting a request (102), the client starts a timer and waits a preselected time-out period (104) for a confirm message. If the client fails to receive a confirm message prior to expiration of the timer, due to loss of the request message, loss of the confirm message (106), or an unexpectedly large round-trip delay, the client retransmits the request (108), restarts the timer, and waits for another confirm message (1 10). This sequence of steps is repeated as necessary, up to a predetermined limit. The time-out period is a round-trip delay for the given client-server pair. If the request message was truly lost, the server cannot tell the difference between the retransmitted request and the original one. This prior art is commonly known as the Stop- and-Wait Protocol.
- FIG. 2 shows a prior art method of recovering from a lost confirm message using a sequence number.
- a confirm message for a given request (k) is lost (202), after a preselected time-out period (204), the request (k) is retransmitted (206), and the server ignores the request, but sends a new confirm message (208).
- the server keeps track of the most recently received sequence number for each request, so that it can avoid serving any request more than once.
- An alternative is marking the initial request for distinction from subsequent retransmissions.
- a process table stores one entry containing the time-out information for each process.
- the entire process table must be scanned periodically to identify expired timers.
- Processing and storage resources may be strained when the number of client-server pairs is large.
- a common timer may be shared, thereby avoiding having to maintain a large number of timers of different periods.
- practically every client-server pair is assigned a timer value that is sub-optimal .
- the round-trip delay for the same client-server pair may be significantly different at different times because the connection between the client and the server may take a different path over the network.
- Using a time-out period that is rigidly tied to the round-trip delay may require dynamic adjustments that can add considerable complexity to the system.
- An invalid timer value i.e., a value that is appropriate for one path over the network, but not for another path
- FIG. 1 shows a prior art method for recovering from a lost request utilizing a single unique time-out period per client-server pair.
- FIG. 2 shows a prior art method of recovering from a lost confirm message.
- FIG. 3 illustrates steps of one embodiment of the method of the present invention along a time-line.
- FIG. 4 shows a diagram of one embodiment of a client state machine in accordance with the present invention.
- FIG. 5 shows a diagram of one embodiment of a server state machine wherein idempotent procedures are processed in accordance with the present invention.
- FIG. 6 shows one embodiment of a server state machine wherein non-idempotent procedures are processed in accordance with the present invention.
- FIG. 7 shows a time sequence wherein an excessive time-out period is utilized for request-confirmation.
- FIG. 8 shows a time sequence wherein an insufficient time-out period is utilized for request-confirmation.
- FIG. 9 shows two time sequence examples in an idempotent case in accordance with the method of the present invention , wherein a successful "hand-shake" is obtained after an initial "hand-shake” has failed.
- FIG. 10 illustrates four time sequence examples in an idempotent case in accordance with the method of the present invention, wherein a successful "hand-shake" is obtained after two initial “hand-shakes" have failed.
- FIG. 1 1 shows a time sequence example in a non- idempotent case in accordance with the method of the present invention, wherein a successful "hand-shake" is obtained after an initial "hand-shake” has failed.
- FIG. 12 shows three time sequence examples in a non- idempotent case in accordance with the method of the present invention, wherein a successful "hand-shake" is obtained after two initial “hand-shakes" have failed.
- FIG. 13 shows one embodiment of steps for a decoder (client) state machine in accordance with the present invention.
- FIG. 14 shows one embodiment of steps for an encoder (server) state machine, in accordance with the present invention, which functions together with the decoder state machine of FIG. 13.
- FIG. 15 shows a time line wherein primary and secondary timers are replaced with a primary and a secondary virtual timer, respectively, implemented by slotted time clocks in accordance with the present invention.
- the present invention provides at least three benefits: (1 ) a connection with a large round-trip delay no longer suffers from long delays in recovery from a lost initial request message, nor ends up with many unnecessary retransmissions due to its timer expiring too often, and for idempotent procedures, loss of the confirm message for the initial request does not lead to long delays in recovery either; (2) since there are no time-out periods that depend rigidly on round-trip delays, the scheme is robust for remote procedure calls over a geographically distributed dynamic network topology, thus providing better quality of service over the connection; and (3) there is no need to have a timer for each client-server connection, resulting in significant saving on processing resources.
- FIG. 3 illustrates steps of one embodiment of the method of the present invention along a time-line.
- a client sends an initial request (302) to a server.
- An initial request is the very first request that is sent by a client to invoke a predetermined remote procedure call.
- the present invention provides a redundant request (306) sent by the client after a predetermined primary time-out period (308) following an initial request (302).
- a redundant request is similar to its corresponding initial request except that the redundant request is always preceeded by the initial request.
- the predetermined primary time-out period (308) is preselected to be large enough to avoid possible burst errors (i.e., large enough to decorrelate error events in successive request messages, so that burst errors do not affect adjacent requests).
- the primary time-out period (308) is typically chosen both to be larger than the duration of burst errors and to be smaller than the smallest of the round-trip delays (i.e., the period of time between the transmission of the initial request (302) and receipt of a confirmation (304)) of the client-server pairs sharing this timer. Thus, undesirable effects of excessive delay relative to the prior-art remote procedure call methods are avoided.
- a secondary time-out period (312) that is greater than the first time-out period is used for time-out, and the secondary time-out is repeated until a request message (314) is confirmed (316) to have been received successfully, or repeated for a predetermined number of retries to raise a success rate to an arbitrary high probability as desired by the application.
- the secondary time-out period (312) is typically selected to be large compared to the largest of the round-trip delays of the client-server pairs sharing the timer, and yet small compared to the time-out for disconnect of higher layer protocols. This takes advantage of the robustness of the redundant transmission and allows the full benefit of the invention relative to the prior-art methods.
- the initial request may or may not be distinguished from the redundant as well as other subsequent requests.
- a subsequent request is similar to its corresponding redundant request except that the subsequent request is always preceeded by the redundant request. There may be more than one subsequent request, wherein, except for the first subsequent request, every other subsequent request must be preceeded by another subsequent request.
- a client may continue to send subsequent requests until a confirm message is received.
- the time-out sequence for the invention is ⁇ T-j , T2, 2, 2, .... ⁇ .
- the primary time-out period may be repeated a predetermined number of times (e.g., ⁇ T *
- Another variation is to have a third order time-out with period T3, that follows after the secondary timeout, and is repeated thereafter (i.e., ⁇ T * ⁇ , T2, T3, T3, T3, .... ⁇ ). This procedure will accommodate even wider ranges of round-trip delays.
- Yet another variation is to alternate between the primary and secondary time-outs (i.e., ⁇ T-
- any preselected sequence of time ⁇ out periods is possible (e.g., ⁇ T * ⁇ , T2, T3, T4 ⁇ ).
- the redundant request effectively lowers the probability that subsequent time-outs are ultimately needed, so much so that the chance for subsequent retransmissions is practically negligible.
- procedures that may be repeated as often as necessary with no incurred damage i.e., an idempotent procedure
- neither the redundant request nor other subsequent requests need to be distinguished from the initial request.
- sequence numbers or multiple request types may be used so that the server will not end up serving the same request multiple times.
- FIG. 4, numeral 400 shows a diagram of one embodiment of a client state machine in accordance with the present invention.
- the client state machine has three states: start/normal processing (402), waiting for the primary time-out period T-
- start/normal processing (402)
- to expire (404)
- 406 Upon starting processing (402), an initial request is sent by the client and a timer is started (408), i.e., a predetermined primary time-out period T-
- the client then waits for T-i to expire (404). Where a confirm message is received during T-i (416), the client cancels T-i and recycles to normal processing (402).
- T 1 expires without the client's receiving a confirm message
- the client sends a redundant request and starts a timer (410), i.e., a predetermined secondary time-out period T2 is begun.
- the client then waits for T2 to expire (406).
- T2 expires without the client's receiving a confirm message
- the client sends a subsequent request, starts another time-out period of length T2 (412), and recycles to waiting for T2 to expire (406); this cycle is repeated until the client receives a confirm message (414).
- numeral 500 shows a diagram of one embodiment of a server state machine wherein idempotent procedures are processed in accordance with the present invention.
- the server Upon starting processing, (502) the server waits for a request.
- the server executes a predetermined procedure, sends a confirm message (504), and then recycles to normal processing.
- FIG. 6, numeral 600 shows one embodiment of a server state machine wherein non-idempotent procedures are processed in accordance with the present invention.
- the server waits for one of an initial request, a redundant request, and a subsequent request (602). Where an initial request is received, the server executes a predetermined procedure, sends a confirm message to the client (608), and waits for the next request. Where one of a redundant request and a subsequent request is received, the server executes a predetermined procedure and sends a confirm message to the client (606).
- a previously received request is an initial request, and one of a redundant request and a subsequent request is next received
- the server refrains from responding to the request, and recycles (610) to the state associated with a previously received redundant/subsequent request (602).
- a previously received request is an initial request, and another initial request is next received
- the server executes the predetermined procedure, sends a confirm message, and recycles (612) to the state associated with a previously received initial request (604).
- the server does not confirm receipt of the next request message following the initial request message if the next request message is one of a redundant request and a subsequent request. Thus, it is necessary to distinguish between the initial request and any redundant or subsequent request.
- some existing technologies obtain estimates of round-trip delays from measurements, and use the estimates to adaptively update the time-out period for each connection.
- retransmission time-outs are combined with an exponential timer backoff strategy.
- the time-out period is normally derived from an estimate of the round-trip delay. If the timer expires and causes a retransmission, the time-out period will be adjusted upwards by a constant factor. This step is repeated each time there is a retransmission, unless the time-out period has already reached an upper-bound. After each timer backoff, the time-out value is retained for subsequent messages until a positive confirm message is obtained, and then the time-out value is reset to the normal one derived from the estimated round-trip delay.
- the time-out period is usually optimized with respect to each connection, depending on its round-trip delay.
- the time-out period (702) is larger than the round-trip delay (704)
- any lost request will take an unnecessarily long time to recover, as shown in FIG. 7, numeral 700.
- the time- out period (802) is smaller than the round-trip delay (804)
- These redundant requests consume bandwidth and exacerbate the harmful effects of non-idempotent procedures.
- the ideal time-out period is seen to be the round-trip delay.
- the time-out period required may be so large that throughput is decreased significantly.
- the time-out period may be too small for some burst errors to be waited out.
- the amount of processing required for managing a timer is not quite trivial.
- To set a timer one has to build a data structure that stores state (specifying when the timer is to expire) and control information (the steps to be taken upon expiration of the timer).
- the data structures of many pending timers are kept in a list that is sorted by chronological order. As each connection requires a timer, the number of timers required may be overwhelming. There can thus be considerable stress on processor and memory resources. In practice, very few timers actually expire. In this respect, much of the work on timer processing is wasted.
- the precision of the round-trip delay is unimportant. And, if the round-trip delay changes over time, the protocol is unaffected. Moreover, adjustment of any parameter is unnecessary, as with other existing protocols such as Elements of Procedure in the HDLC (High level Data Link Control) protocol .
- a connection with a large round-trip delay is free from an unexpectedly long delay in recovering from a lost request message, and is free from many unnecessary and possibly harmful invocations of the procedure due to its timer expiring too often.
- the present invention may be implemented such that all connections in one multi-connection system share the same primary and secondary timers. This considerably reduces the processor and memory resources consumed in updating software timers.
- a request or confirm message may have been lost, or the round-trip delay may have been unexpectedly large.
- the round- trip delay has increased, there may be many retransmissions before the confirm message for the original request is received by the client.
- An exponential timer backoff approach e.g., Karn's algorithm
- there is a backoff whenever a retransmission is needed even when the failure in receiving a confirm message is triggered by an event other than an increase in the round-trip delay.
- recovery from a lost message generally takes a longer time with timer backoff than without.
- the present invention lacks such a problem. Whether the round-trip delay has increased or a message has been lost, the redundant transmission of the request message can normally speed up recovery.
- the next retransmission after a secondary timer period, if needed, amounts to a one-step timer backoff. Since the probability that an additional retransmission is needed decreases exponentially with the number of retransmissions completed, recovery is rarely delayed by the secondary timer.
- the performance of the invention in comparison with the Stop-and-Wait approach is set forth below, wherein the idempotent and non-idempotent cases separately are described.
- the performance comparison is in terms of the average time taken for a remote procedure call.
- the multiplicative inverse of this average time gives a measure of the throughput of the remote procedure call method.
- FIG. 9, numeral 900 shows two time sequence examples in an idempotent case in accordance with the method of the present invention, wherein a successful "hand-shake" is obtained after an initial "hand-shake” has failed.
- T r denote the round-trip delay.
- T * ⁇ and T2 denote the primary and secondary timer periods respectively.
- p be the probability that a request fails to be transmitted by the client and confirmed by the server (i.e., a failed "hand-shake"; a "hand-shake” is an exchange of predetermined signals whereby a connection is established for the transmission of a remote procedure call between a client and a server ).
- FIG. 9 shows the two scenarios in which an initial "hand-shake" fails: where a server fails to receive a request from a client (902); and where the client fails to receive a confirm message from the server (904).
- numeral 1000 four time sequence examples in an idempotent case, in accordance with the method of the present invention, are set forth in which two initial "hand-shakes" may fail: where a server fails to receive both an initial request (1002) and a redundant request (1004) from a client; where the server fails to receive an initial request (1006) from the client, the server receives a redundant request (1008), and the client fails to receive a confirm message (1010) for the redundant request; where the server receives an initial request (1012) from the client, the client fails to receive a confirm message (1014) for the initial request, and the server fails to receive a redundant request (1016) from the client; the server receives an initial request (1022) from the client, the client fails to receive a confirm message (1024) for the initial request from the server, the server receives a redundant request (1026) sent by the client, and the client fails to receive a confirm message (1028) for the redundant request from the server.
- T * Tr + ( 1 -p)T ⁇ + pT2
- T r represents a round-trip delay time
- p represents the probability that a request fails to be transmitted by the client and confirmed by the server
- k represents an integer value from 0 to infinity
- T-i represents a value for a predetermined primary time-out period
- T2 represents a value for a predetermined secondary time-out period.
- Ts be the average time per instance for the Stop- and-Wait protocol. It is well known that:
- T r represents a round-trip delay time
- p represents the probability that a request fails to be transmitted by the client and confirmed by the server.
- T * T s T r - ⁇ ( 1 -P)T1 + pT2 ⁇
- T * ⁇ T s provided T r > (1-p)T ⁇ + pT2
- T * ⁇ and T2 may be selected such that the above inequality is satisfied. Therefore, the present invention will have a higher throughput (multiplicative inverse of T * ) than that of the Stop-and-Wait protocol (1 /T S ). Every initial request is reinforced after a primary time-out period by having a redundant request. Also, a secondary time-out period is incurred only after second or higher order events (i.e., it requires at least two failed "hand ⁇ shakes").
- FIG. 1 1 numeral 1 100, shows a time sequence example in a non-idempotent case in accordance with the method of the present invention, wherein a successful "hand-shake" is obtained after an initial "hand-shake” has failed.
- a "hand-shake” is obtained only if one request message (1 102) and a corresponding confirm message (1 104) are both received.
- p and q are related as follows:
- Tr the round trip delay for the resubmission of a request
- FIG. 12 shows three time sequence examples in a non-idempotent case in accordance with the method of the present invention, wherein a successful "hand-shake” is obtained after two initial “hand-shakes” have failed (1202).
- the probability that T2 is incurred exactly once is h(1-p) where
- T * T r + p(1 -p) ⁇ 1 +p+p 2 +p3+... ⁇ T ⁇ + h(1- p) ⁇ 1 +2p+3p 2 +4p3+.... ⁇ T2
- T * ⁇ T s provided T r > (1-p)T * ⁇ + - T2 .
- T * may be less than Ts.
- the present invention may be applied to the transmission of encoded data over an unreliable network. Error detection information is added prior to encoding.
- the encoder is reset using a reset protocol that uses a timer to generate further reset requests when the receiver fails to confirm them in a timely fashion.
- the decoder resets its timer upon expiration if it still has not received a confirm message from the encoder about the previous reset request. This step is repeated until the request is successfully confirmed.
- Data compression reset is a non-idempotent procedure for excessive frequency of resets can potentially affect the data compression ratio. Since the convergence time of the data compression algorithm in the prior art is small relative to the expected resynchronization interval, the redundant reset has little effect on the data compression performance.
- the non-idempotent version of the invention is more complicated to implement and has a lower delay performance than that of the idempotent version.
- the preferred implementation is the idempotent version.
- the decoder and encoder state machines may be implemented as shown in FIG. 13 and FIG. 14 respectively.
- and T2 denote the primary and secondary time-out periods respectively.
- RR denotes a reset request.
- FIG. 13, numeral 1300 shows one embodiment of steps for a decoder (client) state machine in accordance with the present invention.
- the decoder state machine has three states: Start/Normal Processing (DO) (1302), Waiting for T * ⁇ to Expire (D1 ) (1304), and Waiting for T2 to Expire (D2) (1306).
- state DO 1302
- the decoder upon receiving a reset confirmation (RESET. conf.), the decoder performs a reset operation (1308), and returns to the DO state (1302).
- state DO 1302
- the decoder While in state DO (1302), the decoder is either waiting for the encoder to initiate synchronization, or is already in synchronization with the encoder, and is decoding data in a predetermined fashion.
- the decoder detects loss of synchronization, it sends a reset request (RR), starts timer T * ⁇ , and goes into state D1 (1310). While in state D1
- the decoder waits for either a reset confirmation or for T * ⁇ to expire.
- state D1 data is discarded without being decoded, and further loss of synchronization indications is ignored.
- T * ⁇ expires, the decoder sends an additional reset request (RR2), starts timer T2, and goes to state D2 (1312).
- RR2 additional reset request
- the decoder waits for a period of T2 (typically longer than T-i ) for reset confirmation (1306). In this state, data is discarded and further loss of synchronization indications is also ignored. If a reset confirmation is received, the decoder goes back to state DO (1316).
- the decoder sends another reset request and restarts the T2 timer (1314). This process is repeated until a reset confirmation is received.
- numeral 1400 the encoder state machine which functions together with the decoder of FIG. 13, simply has one state, normal processing (1402). The encoder always resets itself and sends RESET.conf upon receipt of each reset request from the Decoder (1404). For initialization of synchronization, the encoder resets itself and sends a RESET.conf to the decoder.
- the primary and secondary timers may be replaced with a primary and a secondary virtual timer, respectively, implemented for example, by slotted time clocks. That is, where the point in time that a given timer is to be started falls within a given time slot (1502), the corresponding virtual timer will expire at the end of the next time slot (1504), as shown in FIG. 15, numeral 1500.
- the invention may also be applied to a wide range of applications, such as encryption, authentication, modem training, rate negotiation, and other reliable light-weight (i.e., non-stream) transport protocols over unreliable communication channels.
- applications such as encryption, authentication, modem training, rate negotiation, and other reliable light-weight (i.e., non-stream) transport protocols over unreliable communication channels.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Communication Control (AREA)
- Computer And Data Communications (AREA)
Abstract
Description
Claims
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP96903655A EP0763225A4 (en) | 1995-03-30 | 1996-01-29 | Method and system for remote procedure call via an unreliable communication channel using multiple retransmission timers |
CA002190142A CA2190142C (en) | 1995-03-30 | 1996-01-29 | Method and system for remote procedure call via an unreliable communication channel using multiple retransmission timers |
AU47666/96A AU689374B2 (en) | 1995-03-30 | 1996-01-29 | Method and system for remote procedure call via an unreliable communication channel using multiple retransmission timers |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/413,561 US5774479A (en) | 1995-03-30 | 1995-03-30 | Method and system for remote procedure call via an unreliable communication channel using multiple retransmission timers |
US08/413,561 | 1995-03-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO1996030841A1 true WO1996030841A1 (en) | 1996-10-03 |
Family
ID=23637706
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US1996/000967 WO1996030841A1 (en) | 1995-03-30 | 1996-01-29 | Method and system for remote procedure call via an unreliable communication channel using multiple retransmission timers |
Country Status (6)
Country | Link |
---|---|
US (1) | US5774479A (en) |
EP (1) | EP0763225A4 (en) |
CN (1) | CN1149919A (en) |
AU (1) | AU689374B2 (en) |
CA (1) | CA2190142C (en) |
WO (1) | WO1996030841A1 (en) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000033503A1 (en) * | 1998-11-30 | 2000-06-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Automatic repeat request protocol |
GB2347832A (en) * | 1999-03-09 | 2000-09-13 | Marconi Comm Ltd | Client/server monitoring |
WO2000079721A2 (en) * | 1999-06-21 | 2000-12-28 | Ericsson, Inc. | Time-out adjustment method based on round-trip delay measurement for data retransmission |
US6697331B1 (en) | 1999-11-17 | 2004-02-24 | Telefonaktiebolaget Lm Ericsson (Publ) | Link layer acknowledgement and retransmission for cellular telecommunications |
WO2008030152A1 (en) * | 2006-09-05 | 2008-03-13 | Telefonaktiebolaget Lm Ericsson (Publ) | Optimizing requested downlink data by adjusting frame number by measuring actual transmission delay |
DE19748009B4 (en) * | 1996-11-07 | 2008-09-25 | Samsung Electronics Co., Ltd., Suwon | Base connection method in communication systems with socket function |
EP2405627A1 (en) * | 2010-07-09 | 2012-01-11 | Thomson Licensing | Method for operating a remote procedure call handler in a client and a server and computer system comprising the same |
CN103477331A (en) * | 2012-02-20 | 2013-12-25 | 松下电器产业株式会社 | Initiator apparatus, target apparatus, communication system, timeout detection method, and timeout detection program |
WO2019075745A1 (en) * | 2017-10-20 | 2019-04-25 | 深圳市汇顶科技股份有限公司 | Timing method of virtual timer, apparatus thereof, and electronic apparatus |
Families Citing this family (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3000911B2 (en) * | 1996-01-10 | 2000-01-17 | 日本電気株式会社 | Automatic setting of optimal number of frames waiting for retransmission of automatic retransmission protocol in mobile facsimile communication |
US6160843A (en) * | 1996-03-29 | 2000-12-12 | Cisco Technology, Inc. | Communication server apparatus providing XDSL services and method |
US6065052A (en) * | 1996-07-01 | 2000-05-16 | Sun Microsystems, Inc. | System for maintaining strongly sequentially ordered packet flow in a ring network system with busy and failed nodes |
US5918002A (en) * | 1997-03-14 | 1999-06-29 | Microsoft Corporation | Selective retransmission for efficient and reliable streaming of multimedia packets in a computer network |
US5983276A (en) * | 1997-03-31 | 1999-11-09 | Sun Microsystems, Inc. | Acknowledgement tracking and automatic faxing system of EDI transactions on the internet |
US6408003B1 (en) * | 1997-06-17 | 2002-06-18 | Qualcomm Incorporated | Method and apparatus for resolving ambiguity in reception of multiple retransmitted frames |
US6052726A (en) * | 1997-06-30 | 2000-04-18 | Mci Communications Corp. | Delay calculation for a frame relay network |
US6625162B2 (en) * | 1997-12-17 | 2003-09-23 | Canon Kabushiki Kaisha | Method and apparatus for data transmission with control over access to a transmission medium |
US6338090B1 (en) * | 1998-03-27 | 2002-01-08 | International Business Machines Corporation | Method and apparatus for selectively using input/output buffers as a retransmit vehicle in an information handling system |
US7593408B2 (en) * | 1998-05-20 | 2009-09-22 | Qualcomm Incorporated | Method and apparatus for resolving ambiguity in reception of multiple retransmitted frames |
US6289461B1 (en) * | 1998-06-09 | 2001-09-11 | Placeware, Inc. | Bi-directional process-to-process byte stream protocol |
DE19855230A1 (en) * | 1998-11-30 | 2000-05-31 | Bosch Gmbh Robert | Methods and radio transceivers for requesting and processing information |
JP3430509B2 (en) * | 1999-12-03 | 2003-07-28 | 日本電気株式会社 | Data communication system and method |
JP4495821B2 (en) * | 2000-03-06 | 2010-07-07 | 株式会社東芝 | Data transmission system and its communication device |
US7249192B1 (en) * | 2000-03-09 | 2007-07-24 | Hewlett-Packard Development Company, L.P. | Protocol for insuring exactly once semantics of transactions across an unordered, unreliable network |
US6738923B1 (en) * | 2000-09-07 | 2004-05-18 | International Business Machines Corporation | Network station adjustable fail-over time intervals for booting to backup servers when transport service is not available |
US7154850B1 (en) * | 2000-09-20 | 2006-12-26 | Lucent Technologies Inc. | Wireless data transmission using time out control |
SE0003756D0 (en) * | 2000-10-17 | 2000-10-17 | Ericsson Telefon Ab L M | Selective time-out in a mobile communication system |
US6754501B1 (en) * | 2000-11-02 | 2004-06-22 | Motorola, Inc. | Media access adaptive control to improve system throughput |
CA2330017A1 (en) * | 2000-12-29 | 2002-06-29 | Soft Tracks Enterprises Ltd. | Pending persistent reversal |
EP1263159A1 (en) * | 2001-06-01 | 2002-12-04 | Telefonaktiebolaget Lm Ericsson | Method and receiver for improved data packet transfer in a transmission protocol with repeat requests |
KR100424456B1 (en) * | 2001-07-20 | 2004-03-26 | 삼성전자주식회사 | Method for driving re-transmission timer in mobile communication system using radio link protocol |
DE10138658B4 (en) * | 2001-08-07 | 2005-08-11 | Fujitsu Siemens Computers Gmbh | Data processing device and coupling means for a data processing device |
FR2829330B1 (en) * | 2001-08-31 | 2003-11-28 | Canon Kk | METHOD FOR REQUESTING RECEIPT OF THE RESULT OF EXECUTION OF A REMOTE FUNCTION ON A PREDETERMINED DATE |
EP1326398A1 (en) * | 2001-10-09 | 2003-07-09 | Koninklijke Philips Electronics N.V. | Packet communication system |
US20030202522A1 (en) * | 2002-04-24 | 2003-10-30 | Ping Jiang | System for concurrent distributed processing in multiple finite state machines |
US6987780B2 (en) * | 2002-06-10 | 2006-01-17 | Qualcomm, Incorporated | RLP retransmission for CDMA communication systems |
US7444578B2 (en) * | 2002-11-18 | 2008-10-28 | Telefonaktiebolaget L M Ericsson (Publ) | Data unit sender and method of controlling the same |
US20040114615A1 (en) * | 2002-12-17 | 2004-06-17 | Virtanen Jarmo J. | Network-ordered change of an access network |
DE10301222A1 (en) * | 2003-01-15 | 2004-08-05 | Deutsche Thomson-Brandt Gmbh | Method for processing messages to be transmitted via a transmission medium in a network of distributed stations, and network station |
US7502629B2 (en) * | 2003-06-13 | 2009-03-10 | Nokia Corporation | Methods and devices for transferring a secret to enable authenticated wireless communication |
US7613976B2 (en) * | 2003-07-01 | 2009-11-03 | Telefonaktiebolaget L M Ericsson (Publ) | Method for setting the retransmission timeout period in a packet switched communication network |
US7174479B2 (en) * | 2003-09-10 | 2007-02-06 | Microsoft Corporation | Method and system for rollback-free failure recovery of multi-step procedures |
US7493394B2 (en) * | 2003-12-31 | 2009-02-17 | Cisco Technology, Inc. | Dynamic timeout in a client-server system |
US7475002B1 (en) * | 2004-02-18 | 2009-01-06 | Vmware, Inc. | Method and apparatus for emulating multiple virtual timers in a virtual computer system when the virtual timers fall behind the real time of a physical computer system |
US7839834B2 (en) * | 2004-06-18 | 2010-11-23 | Qualcomm Incorporated | Radio link protocols for a wireless communication system |
JP2006309547A (en) * | 2005-04-28 | 2006-11-09 | Toshiba Corp | Information processor and information processing method |
KR100978083B1 (en) * | 2006-01-31 | 2010-08-26 | 후지쯔 가부시끼가이샤 | Procedure calling method in shared memory multiprocessor and computer-redable recording medium recorded procedure calling program |
CN100596049C (en) * | 2006-03-30 | 2010-03-24 | 阿里巴巴集团控股有限公司 | Message repeating method and system |
CN101047484B (en) * | 2006-06-21 | 2010-10-13 | 华为技术有限公司 | Transmission layer retransmission method and system |
CN101039324B (en) * | 2007-03-12 | 2011-09-14 | 华为技术有限公司 | Method, system and apparatus for defending network virus |
JP5035176B2 (en) * | 2008-08-21 | 2012-09-26 | 富士通株式会社 | Transmission system, transmission apparatus and transmission method |
US9417938B2 (en) * | 2009-03-17 | 2016-08-16 | Microsoft Technology Licensing, Llc | Remote procedure call chains |
US9706581B2 (en) * | 2010-05-31 | 2017-07-11 | Blackberry Limited | Method and apparatus for back-off algorithm having different retry time classes |
US8699346B2 (en) * | 2010-11-03 | 2014-04-15 | Ciena Corporation | Method and system for optical network smart timer management via delay measurement between spans |
US8356100B2 (en) | 2010-11-08 | 2013-01-15 | Google Inc. | Full-duplex bi-directional communication over a remote procedure call based communications protocol, and applications thereof |
CN102546791A (en) * | 2011-12-30 | 2012-07-04 | 南京师范大学 | Distributed service system and method based on state machine-interaction event model |
US9596297B2 (en) | 2013-05-16 | 2017-03-14 | Toshiba Global Commerce Solutions Holdings Corporation | Managing communications in a multi-client, multi-server environment |
FR3007230B1 (en) * | 2013-06-17 | 2015-07-31 | Sdmo Ind | COMMUNICATION METHOD IN A NETWORK INTERCONNECTING AT LEAST TWO GENERATING GROUPS, AND CORRESPONDING INTERFACING DEVICE. |
CN104735076A (en) * | 2015-03-31 | 2015-06-24 | 腾讯科技(深圳)有限公司 | Grouping aggregation method, client-side and server |
CN106648928A (en) * | 2016-11-29 | 2017-05-10 | 成都广达新网科技股份有限公司 | Method and device for inter-process communication |
EP3352492A1 (en) * | 2017-01-19 | 2018-07-25 | Giesecke+Devrient Mobile Security GmbH | Authentication method |
CN113472606B (en) * | 2021-06-29 | 2022-09-30 | 聚好看科技股份有限公司 | Heartbeat overtime detection method, server and electronic equipment |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5167035A (en) * | 1988-09-08 | 1992-11-24 | Digital Equipment Corporation | Transferring messages between nodes in a network |
US5282204A (en) * | 1992-04-13 | 1994-01-25 | Racotek, Inc. | Apparatus and method for overlaying data on trunked radio |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5130993A (en) * | 1989-12-29 | 1992-07-14 | Codex Corporation | Transmitting encoded data on unreliable networks |
-
1995
- 1995-03-30 US US08/413,561 patent/US5774479A/en not_active Expired - Lifetime
-
1996
- 1996-01-29 AU AU47666/96A patent/AU689374B2/en not_active Ceased
- 1996-01-29 WO PCT/US1996/000967 patent/WO1996030841A1/en not_active Application Discontinuation
- 1996-01-29 EP EP96903655A patent/EP0763225A4/en not_active Ceased
- 1996-01-29 CN CN96190264A patent/CN1149919A/en active Pending
- 1996-01-29 CA CA002190142A patent/CA2190142C/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5167035A (en) * | 1988-09-08 | 1992-11-24 | Digital Equipment Corporation | Transferring messages between nodes in a network |
US5282204A (en) * | 1992-04-13 | 1994-01-25 | Racotek, Inc. | Apparatus and method for overlaying data on trunked radio |
Non-Patent Citations (4)
Title |
---|
LOCAL COMPUTER NETWORKS, 1994 19TH CONFERENCE, issued 1994, K.M. KHALIL et al., "Performance Considerations for TCP/IP in Wide Area Networks", Sections 3.2 and 3.3. * |
NETWORK PROTOCOLS, 1994 INTERNATIONAL CONFERENCE, issued 1994, P. MANZONI et al., "A Simulation Study of the Impact of Mobility on TCP/IP", section 5.1. * |
See also references of EP0763225A4 * |
SOUTHEASTCON, 1993 IEEE CONFERENCE PROCEEDINGS, issued 1993, S.G. SHIVA et al., "Implementation of Reliable and Efficient Remote Procedure Calls". * |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19748009B4 (en) * | 1996-11-07 | 2008-09-25 | Samsung Electronics Co., Ltd., Suwon | Base connection method in communication systems with socket function |
US6473399B1 (en) | 1998-11-30 | 2002-10-29 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for determining an optimum timeout under varying data rates in an RLC wireless system which uses a PDU counter |
WO2000033503A1 (en) * | 1998-11-30 | 2000-06-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Automatic repeat request protocol |
GB2347832A (en) * | 1999-03-09 | 2000-09-13 | Marconi Comm Ltd | Client/server monitoring |
GB2347832B (en) * | 1999-03-09 | 2001-04-04 | Marconi Comm Ltd | Communications system |
SG82682A1 (en) * | 1999-03-09 | 2001-08-21 | Marconi Comm Ltd | Communications system |
US6816899B1 (en) | 1999-03-09 | 2004-11-09 | Marconi Uk Intellectual Property Ltd. | Communications system |
WO2000079721A2 (en) * | 1999-06-21 | 2000-12-28 | Ericsson, Inc. | Time-out adjustment method based on round-trip delay measurement for data retransmission |
WO2000079721A3 (en) * | 1999-06-21 | 2001-05-03 | Ericsson Inc | Time-out adjustment method based on round-trip delay measurement for data retransmission |
US6405337B1 (en) | 1999-06-21 | 2002-06-11 | Ericsson Inc. | Systems, methods and computer program products for adjusting a timeout for message retransmission based on measured round-trip communications delays |
US6697331B1 (en) | 1999-11-17 | 2004-02-24 | Telefonaktiebolaget Lm Ericsson (Publ) | Link layer acknowledgement and retransmission for cellular telecommunications |
WO2008030152A1 (en) * | 2006-09-05 | 2008-03-13 | Telefonaktiebolaget Lm Ericsson (Publ) | Optimizing requested downlink data by adjusting frame number by measuring actual transmission delay |
EP2405627A1 (en) * | 2010-07-09 | 2012-01-11 | Thomson Licensing | Method for operating a remote procedure call handler in a client and a server and computer system comprising the same |
EP2405624A1 (en) * | 2010-07-09 | 2012-01-11 | Thomson Licensing | Method for operating a remote procedure call handler in a client and a server and computer system comprising the same. |
US9154269B2 (en) | 2010-07-09 | 2015-10-06 | Thomson Licensing | Method for operating a remote procedure call handler in a client and a server and computer system comprising the same |
CN103477331A (en) * | 2012-02-20 | 2013-12-25 | 松下电器产业株式会社 | Initiator apparatus, target apparatus, communication system, timeout detection method, and timeout detection program |
EP2819022A1 (en) * | 2012-02-20 | 2014-12-31 | Panasonic Corporation | Initiator apparatus, target apparatus, communication system, timeout detection method, and timeout detection program |
EP2819022A4 (en) * | 2012-02-20 | 2015-04-22 | Panasonic Corp | Initiator apparatus, target apparatus, communication system, timeout detection method, and timeout detection program |
US9832086B2 (en) | 2012-02-20 | 2017-11-28 | Panasonic Corporation | Initiator apparatus, target apparatus, communication system, timeout detection method, and timeout detection program |
WO2019075745A1 (en) * | 2017-10-20 | 2019-04-25 | 深圳市汇顶科技股份有限公司 | Timing method of virtual timer, apparatus thereof, and electronic apparatus |
Also Published As
Publication number | Publication date |
---|---|
CN1149919A (en) | 1997-05-14 |
AU4766696A (en) | 1996-10-16 |
EP0763225A4 (en) | 1999-01-27 |
EP0763225A1 (en) | 1997-03-19 |
CA2190142C (en) | 2000-12-05 |
AU689374B2 (en) | 1998-03-26 |
US5774479A (en) | 1998-06-30 |
CA2190142A1 (en) | 1996-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU689374B2 (en) | Method and system for remote procedure call via an unreliable communication channel using multiple retransmission timers | |
US6389016B1 (en) | Data communication system and method for transporting data | |
US7304995B2 (en) | Systems and methods for packet flow control | |
US5664091A (en) | Method and system for a voiding unnecessary retransmissions using a selective rejection data link protocol | |
US6424625B1 (en) | Method and apparatus for discarding packets in a data network having automatic repeat request | |
US6088721A (en) | Efficient unified replication and caching protocol | |
Watson | Timer-based mechanisms in reliable transport protocol connection management | |
Tomlinson | Selecting sequence numbers | |
EP1206062A2 (en) | Data communication system, data communication method, and recording medium with data communication program recorded thereon | |
US20020038441A1 (en) | Multicast file transmission method | |
JPH03165139A (en) | Data communication method and data communication system | |
CN108234087B (en) | Data transmission method and sending end | |
EP1089189B1 (en) | Method of communication between a peripheral device and a client in a computer network | |
US7000024B1 (en) | Systems and methods for providing transmission control protocol communications | |
US6111892A (en) | Method and apparatus for conveying data packets in a communication system without using communication device timers to trigger data retransmission | |
US7388852B2 (en) | Physical layer assisted retransmission | |
US7277439B2 (en) | Dual-mode data transmission system and process, corresponding transmitter and receiver | |
US6973071B1 (en) | Method and apparatus for controlling the flow of data in a wireless communication system | |
JP2000134263A (en) | Data communication equipment | |
JPH11317772A (en) | Data communication equipment and its method | |
KR20020009282A (en) | Data transmission system and method for transmitting data frames | |
JP3504491B2 (en) | Packet communication method | |
US7764624B2 (en) | Methods and devices for preventing protocol stalling | |
EP1199832B1 (en) | Transmission procedure to avoid useless retransmissions | |
JPH11261593A (en) | Recovery system for sscop resending abnormality |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 96190264.7 Country of ref document: CN |
|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AU CA CN |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2190142 Country of ref document: CA |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1996903655 Country of ref document: EP |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWP | Wipo information: published in national office |
Ref document number: 1996903655 Country of ref document: EP |
|
WWR | Wipo information: refused in national office |
Ref document number: 1996903655 Country of ref document: EP |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: 1996903655 Country of ref document: EP |