US-20260128975-A1 - Device and Method for Dynamically Updating Timeout Values
Abstract
An example method includes: setting a timeout value for retrying communication requests during a communications session with a target device; sending a test request to the target device; measuring a response time between the test request and a response to the test request received from the target device; determining a specific timeout value for the target device based on the response time; and updating the timeout value with the specific timeout value for the target device and continuing the communications session with the specific timeout value for retrying communication requests for the target device.
Inventors
- Anandakumar Gopalsamy
- Ohad Shatil
- Dayal Madhukar Rai
- Ambika Nagarajaiah
Assignees
- ZEBRA TECHNOLOGIES CORPORATION
Dates
- Publication Date
- 20260507
- Application Date
- 20241106
Claims (20)
- 1 . A method comprising: setting a timeout value for retrying communication requests during a communications session with a target device; sending a test request to the target device; measuring a response time between the test request and a response to the test request received from the target device; determining a specific timeout value for the target device based on the response time; and updating the timeout value with the specific timeout value for the target device and continuing the communications session with the specific timeout value configured for retrying communication requests for the target device.
- 2 . The method of claim 1 , wherein sending the test request comprises: sending a plurality of test requests and receiving a plurality of responses at respective response times; and selecting a slowest response time of the respective response times for determining the specific timeout value.
- 3 . The method of claim 2 , wherein each test request of the plurality of test requests includes different parameters.
- 4 . The method of claim 3 , wherein the different parameters comprise a marked priority level and an unmarked priority level.
- 5 . The method of claim 3 , wherein the different parameters comprise different communications protocols.
- 6 . The method of claim 1 , wherein the specific timeout value is associated with one or more parameters of the test request.
- 7 . The method of claim 1 , wherein determining the specific timeout value comprises adding a buffer time to the response time to obtain a base timeout value.
- 8 . The method of claim 7 , wherein determining the specific timeout value further comprises applying a complexity weighting to the base timeout value, the complexity weighting associated with a communications protocol.
- 9 . The method of claim 1 , further comprising monitoring for an update condition to update the timeout value; wherein the update condition comprises one or more of: expiry of a predefined update period; and detection of a change in a network quality of service parameter.
- 10 . The method of claim 1 , further comprising retaining the timeout value when the response to the test request is not received within the timeout value.
- 11 . A device comprising: a communications interface configured for communications with a target device; a controller interconnected with the communications interface, the controller configured to: set a timeout value for retrying communication requests during the communications with the target device; send a test request to the target device; measure a response time between the test request and a response to the test request received from the target device; determine a specific timeout value for the target device based on the response time; and update the timeout value with the specific timeout value for the target device and continue the communications with the specific timeout value configured for retrying communication requests for the target device.
- 12 . The device of claim 11 , wherein to send the test request, the controller is configured to: send a plurality of test requests and receiving a plurality of responses at respective response times; and select a slowest response time of the respective response times for determining the specific timeout value.
- 13 . The device of claim 12 , wherein each test request of the plurality of test requests includes different parameters.
- 14 . The device of claim 13 , wherein the different parameters comprise a marked priority level and an unmarked priority level.
- 15 . The device of claim 13 , wherein the different parameters comprise different communications protocols.
- 16 . The device of claim 11 , wherein the specific timeout value is associated with one or more parameters of the test request.
- 17 . The device of claim 11 , wherein to determine the specific timeout value, the controller is configured to add a buffer time to the response time to obtain a base timeout value.
- 18 . The device of claim 17 , wherein to determine the specific timeout value, the controller is further configured to apply a complexity weighting to the base timeout value, the complexity weighting associated with a communications protocol.
- 19 . The device of claim 11 , wherein the controller is configured to monitor for an update condition to update the timeout value; and wherein the update condition comprises one or more of: expiry of a predefined update period; and detection of a change in a network quality of service parameter.
- 20 . The device of claim 11 , wherein the controller is further configured to retain the timeout value when a the response to the test request is not received within the timeout value.
Description
BACKGROUND During wireless communications, various network and endpoint device conditions may cause variations in the speed of communications. In some cases, the communications link between two endpoint devices may be experience an issue requiring a recovery operation to recover. Prior to initiating the recovery operation, the devices may wait for a default timeout period to elapse to ensure that communications are not simply slow. The default timeout period may be set to be sufficiently long to cover such slow communications due to the network and endpoint device conditions. However, such a long default timeout period results in delayed recovery operations and may result in dropped packets or communications. BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS The accompanying figures, where like reference numerals refer to identical or functionally similar elements throughout the separate views, together with the detailed description below, are incorporated in and form part of the specification, and serve to further illustrate embodiments of concepts that include the claimed invention and explain various principles and advantages of those embodiments. FIG. 1 is a schematic diagram of an example system for dynamically updating timeout values. FIG. 2 is a block diagram of certain internal components of the device for dynamically updating timeout values of FIG. 1. FIG. 3 is a flowchart of an example method of dynamically updating timeout values. FIG. 4 is a flowchart of an example method of determining a specific timeout value at block 340 of the method of FIG. 3. FIG. 5 is a schematic diagram of an example flow of communications with dynamically updated timeout values. Skilled artisans will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions of some of the elements in the figures may be exaggerated relative to other elements to help to improve understanding of embodiments of the present invention. The apparatus and method components have been represented where appropriate by conventional symbols in the drawings, showing only those specific details that are pertinent to understanding the embodiments of the present invention so as not to obscure the disclosure with details that will be readily apparent to those of ordinary skill in the art having the benefit of the description herein. DETAILED DESCRIPTION Examples disclosed herein are directed to a method comprising: setting a timeout value for retrying communication requests during a communications session with a target device; sending a test request to the target device; measuring a response time between the test request and a response to the test request received from the target device; determining a specific timeout value for the target device based on the response time; and updating the timeout value with the specific timeout value for the target device and continuing the communications session with the specific timeout value for retrying communication requests for the target device. Additional examples disclosed herein are directed to a device comprising: a communications interface configured for communications with a target device; a controller interconnected with the communications interface, the controller configured to: set a timeout value for retrying communication requests during the communications with the target device; send a test request to the target device; measure a response time between the test request and a response to the test request received from the target device; determine a specific timeout value for the target device based on the response time; and update the timeout value with the specific timeout value for the target device and continue the communications with the specific timeout value for retrying communication requests for the target device. Further examples disclosed herein are directed to a non-transitory machine-readable storage medium storing instructions, which when executed by a computing device cause the computing device to: set a timeout value for retrying communication requests during a communications session with a target device; send a test request to the target device; measure a response time between the test request and a response to the test request received from the target device; determine a specific timeout value for the target device based on the response time; and update the timeout value with the specific timeout value for the target device and continue the communications with the specific timeout value for retrying communication requests for the target device. FIG. 1 depicts a system 100 for dynamically updating timeout values in accordance with the teachings of this disclosure. The system 100 includes a computing device 104 (also referred to herein as simply the device 104) connected to a network 108 for communications with one or more target devices, of which two example target devices 112-1 and 11