Download presentation
Presentation is loading. Please wait.
Published byBruce Ernest Robinson Modified over 9 years ago
1
Communication Method Group Name: ARC Source: Jiaxin Yin, Huawei Technologies Co., Ltd., yinjiaxin@huawei.com Meeting Date: 2015-8-12 Agenda Item: TBD
2
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-synchronousnon-blocking synchronousnon-blocking asynchronous OriginatorReceiver Request Handling Response (result) OriginatorReceiver Request Handling Response (ACK) Request(Retrieve result) Response (result) OriginatorReceiver Request Handling Response (ACK) Notify(result) Response
3
Issue Case 1: – 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.
4
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
5
Proposal Besides the current mechanism Introduce one mode between blocking and non- blocking: 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.
6
Questions and comments?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.