Communication Method Group Name: ARC Source: Jiaxin Yin, Huawei Technologies Co., Ltd. , [email protected] Meeting Date: 2015-8-12 Agenda Item: TBD Background • Currently we support three modes of communication – blocking synchronous – non-blocking synchronous – non-blocking asynchronous • Determined by the ORIGINATOR by setting the Response type parameter in the Request. blocking-synchronous Originator non-blocking synchronous Receiver Request Originator Receiver Request Handling non-blocking asynchronous Originator Receiver Request Response (ACK) Response (ACK) Handling Response (result) Request(Retrieve result) Response (result) Handling Notify(result) Response • Case 1: Issue – The originator initiates blocking request, but it takes longer than usual for the receiver to respond. – The originator has to terminate the connection after all the time waiting without any result • Case 2: – The originator expects the request may take long time, thus initiates the request using non-blocking. – However the receiver happens to be quite efficient, the result is ready almost immediately – Instead of piggyback the result, the originator has to start an ADDITIONAL request to retrieve the result • Case 3: – Part of the result is available immediately. – It takes longer to wait for the other parts of the result. – The value of the margin result become less and less, however, time spent on those result is still growing. Cause of the issue • The information between the client and the server is asymmetrical – Client never know if the server is heavily loaded or not – The server is unable to guess the intention of the client – The server itself is hard to tell how long it will take to handle this request. • Current communication method only provides solution at the two end points. – Either blocking or non-blocking – Either prepare the whole result or nothing Proposal • Besides the current mechanism • Introduce one mode between blocking and nonblocking: flex – If the server finds himself heavy loaded, ACK the request and deal with the request at some other time. – If the server is OK at the moment, piggyback the result directly. • Introduce one mode between whole resource and nothing: partial – Piggyback the quickest result in blocking mode but also let the originator know how to retrieve the other following result – The retrieval of the other result is in non-blocking mode. Questions and comments?
© Copyright 2025 Paperzz