Patent Description:
With the development of Industry <NUM>, ePaper devices are being used in warehouse management and have replaced traditional printed labels. Most ePaper devices use technologies of electrophoretic display (EPD), which has advantages of dirt resistance, abrasion resistance, water proof, and power saving, etc..

In the application of warehouse management, an EPD tag device may be mounted on a shelf or a container where products are stored to indicate, for example, a quantity of the products on the shelf or in the container. When the EPD tag device is connected to a router via a wireless network, a management system can dispatch a task (e.g., two products stored on the shelf will be picked) to the EPD tag device using the router, and would receive a report upon completion of the task (e.g., two products have been picked). Through this interaction, the quantity of the products, etc., can be effectively managed.

However, when the shelf or the container is moved, the EPD tag device may be moved out of the coverage of the router that the EPD tag device was originally connected to, and errors relating to the dispatched tasks may occur because of the loss of connection.

Document <CIT> relates to a system and method in abuilding or vehicle for an actuator operation in response to a sensor according to a control logic.

Documents <CIT> and <CIT> refer to the use of EPDs (Electronic Paper Displays).

Document <CIT> refers to an RFID tag system including a plurality of RFID tag devices, an RFID reader and a portable terminal device, and, to the use of PFDs.

An object of the disclosure is to provide a task dispatching method for EPD tag devices that can alleviate at least one of the drawbacks of the prior art. According to an aspect of the disclosure, there is provided a task dispatching method for EPD tag devices according to claim <NUM>.

Another object of the disclosure is to provide a task dispatching system for electrophoretic display (EPD) tag devices. According to an aspect of the disclosure, there is provided a task dispatching system for electrophoretic display (EPD) tag devices according to claim <NUM>.

Other features and advantages of the disclosure will become apparent in the following detailed description of the embodiment(s) with reference to the accompanying drawings. It is noted that various features may not be drawn to scale.

Referring to <FIG>, an embodiment of a task dispatching method for electrophoretic display (EPD) tag devices <NUM> is implemented by a task dispatching system including a server system <NUM> and a plurality of routers <NUM> connected to the server system <NUM>. The server system <NUM> manages and dispatches tasks to the EPD tag devices <NUM> via the routers <NUM>.

In this embodiment, the server system <NUM> includes a main server <NUM> that is a higher level server, and a plurality of EPD servers <NUM> that are lower level servers connected to and managed by the main server <NUM>. In another embodiment, the server system <NUM> may be a single large server that is configured to be connected to all of the routers <NUM>, and performs the functions of managing and dispatching tasks to the EPD tag devices <NUM> via the routers <NUM>.

The main server <NUM> may coordinate the tasks among these EPD servers <NUM>, e.g., transferring one of the tasks from one of the EPD servers <NUM> to another one of the EPD servers <NUM>. Each of the EPD servers <NUM> may be assigned to a specific area in a warehouse, and manage one or more of the routers <NUM> that are deployed within the area and that are connected to the EPD server <NUM> through a communication network. Each of the EPD servers <NUM> stores a connection list of its own, and handles commands received from the main server <NUM>. The connection list is a record of the one or more of the routers <NUM> connected to the EPD server <NUM> and, for each of the one or more of the routers <NUM>, the EPD tag device(s) <NUM> connected to the router <NUM>.

Each of the EPD tag devices <NUM> may be mounted on a shelf or a container (not shown) where products are placed, and is connected to one of the routers <NUM> with the strongest signal over a wireless network. The EPD tag devices <NUM> record and display information according to the tasks received, and have functions such as flashing lights.

The main server <NUM> stores copies of the connection lists respectively of the EPD servers <NUM>, and various commands that are inputted by clients (not shown). Each of the commands is exemplified as a task command hereinafter, and indicates a task and a target EPD tag device <NUM> that is one of the EPD tag devices <NUM> to which the task is assigned. As an example, the task may be "Action=Pick up, Product=A, Quantity=<NUM>," and the EPD tag device <NUM> that is mounted on the shelf or the container where products A are placed will be the target EPD tag device <NUM>. Upon receiving the task, the target EPD tag device <NUM> displays relevant information and flashes.

Further referring to <FIG>, sometimes, the shelf or the container may be moved to another area in the warehouse, bringing the target EPD tag device <NUM> along. In such case, the target EPD tag device <NUM> may no longer be within the coverage of the router <NUM> to which the target EPD tag device <NUM> was originally connected. The task dispatching method for the EPD tag devices <NUM> is capable of ensuring that the task is correctly dispatched and performed.

Referring to <FIG>, in this embodiment, the method includes the following steps.

In step S11, the main server <NUM> receives and records a task command that indicates a task and the target EPD tag device <NUM> that the task is assigned to.

Taking the configuration shown in <FIG> as an example, the EPD servers <NUM> include an EPD server 12Awith routers 2a, 2b connected thereto, and an EPD server 12B with a router 2c connected thereto. The target EPD tag device <NUM> is connected to the router 2a. The copies of the connection lists of the EPD servers <NUM> stored in the main server <NUM> record these connections. With respect to the target EPD tag device <NUM>, since the target EPD tag device <NUM> is connected to the router 2a and the router 2a is connected to the EPD server 12A, the EPD server 12A is identified as a target EPD server <NUM>, and the router 2a is identified as a target router <NUM> by the main server <NUM>. In this embodiment, the main server <NUM> further forwards this task command to the target EPD server <NUM> that is identified based on the copies of the connection lists of the EPD servers <NUM>.

In step <NUM>, the target EPD server <NUM> receives the task command from the main server <NUM>, and records the task and the target EPD tag device <NUM> that the task is assigned to. The target EPD server <NUM> further forwards the task command to the target router <NUM> that is identified based on the connection list stored therein. The connection list of the EPD server 12A records the routers 2a, 2b that are connected thereto.

In step S21, the target router <NUM> checks whether the target EPD tag device <NUM> is currently connected thereto. When it is determined that the target EPD tag device <NUM> is currently connected to the target router <NUM>, a flow of the method goes to step S22; otherwise, the flow goes to step S25.

In step S22, the target router <NUM> delivers the task command to the target EPD tag device <NUM>.

In step S23, the target router <NUM> checks whether the task command is delivered successfully. Specifically, an acknowledgment-based protocol is used for delivery of the task command, in which the target router <NUM> repeatedly delivers the task command to the target EPD tag device <NUM> if the target EPD tag device does not acknowledge receipt of the task command. Based on this acknowledgment-based protocol, the target router <NUM> checks whether the task command is delivered successfully by determining whether a count of delivery exceeds a preset value. When it is determined that the count of delivery exceeds the preset value, it means that the task command is delivered unsuccessfully, and the flow goes back to step S21, i.e., the target router <NUM> once again checks whether the target EPD tag device <NUM> is currently connected thereto; when it is determined that the count of delivery does not exceed the preset value, it means that the task command is delivered successfully, and the flow goes to step S31.

In step S31, the target EPD tag device <NUM> receives the task command. In step S32, the target EPD tag device <NUM> executes the task indicated by the task command accordingly, e.g., displays information related to the task and flashes. In step S33, the target EPD tag device <NUM> reports a result of execution of the task to the target EPD server <NUM> via the target router <NUM>. Specifically, in step S33, the target EPD tag device <NUM> sends a task report that is related to the result of execution of the task to the target router <NUM>. In step S24, the target router <NUM> forwards the task report to the target EPD server <NUM>.

In step S13, when the target EPD server <NUM> receives the task report, the target EPD server <NUM> updates its records about the task accordingly. For example, the records about the task may be stored in the target EPD server <NUM> and may be updated to indicate that the task has been completed. It is noted that, in step S12, whenever the task command is recorded in the target EPD server <NUM>, the target EPD server <NUM> repeatedly checks whether the task has been completed. When it is determined that a count of results of checking indicating that the task is uncompleted exceeds a preset value, the target EPD server <NUM> forwards the task command to the target router <NUM> again, and the flow goes to S21, thus making another attempt on task command delivery.

Back to step S21, when it is determined that the target EPD tag device <NUM> is not currently connected to the target router <NUM>, the flow goes to step S25. In step S25, the target router <NUM> notifies the target EPD server <NUM> that the target EPD tag device <NUM> is offline by sending an offline notification to the target EPD server <NUM>.

In response to receiving the offline notification from the target router <NUM>, in step S14, the target EPD server <NUM> determines whether an online notification that indicates that the target EPD tag device <NUM> is connected to another one of the routers <NUM> (referred to as another router <NUM> hereinafter) is received from the another router <NUM>. When it is determined that an online notification is received from another router <NUM> that is connected to the target EPD server <NUM>, it means that another processing flow has been triggered by the target EPD tag device <NUM>, and the flow goes to step S43 (see <FIG>); otherwise, it means that the target EPD server <NUM> is currently unable to handle the dispatch of the task, and the flow goes to step S15.

Further referring to <FIG> and <FIG>, in the case where the target EPD tag device <NUM> has been moved out of the coverage of the router 2a and into the coverage of the router 2b, said another processing flow will be triggered, i.e., in step S41, the target EPD tag device <NUM> is connected to the router 2b and sends an online notification that indicates the target EPD tag device <NUM> being connected to the router 2b. In step S42, the router 2b receives the online notification and forwards the same to the EPD server <NUM> to which the router 2b is connected, i.e., the EPD server 12A.

After receiving the online notification, in step S43, the EPD server 12A updates the connection list of its own accordingly. The connection list thus updated records that the target EPD tag device <NUM> is connected to the router 2b, rather than to the router 2a. The EPD server 12A further sends a change notification for reporting this change to the main server <NUM> by sending a copy of the updated connection list of its own or by forwarding the online notification. In response to receiving the change notification, in step S44, the main server <NUM> sends a request to the current target EPD server <NUM>, which is the EPD server 12A, requesting the current target EPD server <NUM> to confirm whether there is any task that is assigned to the target EPD tag device <NUM> that has not yet been completed (hereinafter "uncompleted task"). In step S45, the main server <NUM> updates the copies of the connection lists of the EPD servers <NUM> stored therein based on the change notification.

In response to receiving the request, in step S46, the EPD server 12A determines whether there is any uncompleted task by checking the records about the task stored therein. According to the example disclosed earlier, when the flow proceeds from step S11, through steps S25 and S43 to step S46, it means that the task has not yet been dispatched to the target EPD tag device <NUM> and is uncompleted, so "yes" would be determined in this step, and the flow would then go to step S47. It is noted that, since the router <NUM> to which the target EPD tag device <NUM> is connected has been changed and the connection lists have been updated in steps S43 and S45, the router 2b is now identified, by the main server <NUM> and the target EPD server <NUM>, as the target router <NUM>. In step S47, the EPD server 12A forwards the task command to the target router <NUM>, which is identified as the router 2b based on the connection list stored therein, and the flow goes to step S21. In this way, when the flow goes back to step S21, the task command may be delivered to the target EPD tag device <NUM> successfully.

On the other hand, the aforementioned steps S41 to S47 in the flowchart of <FIG> may be implemented irrespective of whether steps S25 and S14 in <FIG> are performed, and may even be implemented without any task command being inputted by clients (namely, step S11 is not performed). In other words, in a scenario where the target EPD tag device <NUM> is moved out of the coverage of the router 2a (see <FIG>) and into the coverage of the router 2b (see <FIG>) after the task command has been delivered to the target router <NUM> ("yes" in step S23) and the task has been executed by the target EPD tag device <NUM> in step S32, steps S41 to S46 in the flowchart of <FIG> will still be performed. Therefore, the task that is related to the determination to be made in step S46 may have been previously dispatched to the target EPD tag device <NUM> and may have been completed. Should the task have been completed, then in step S46, "no" would be determined, and no further action would need to be performed.

Referring to <FIG>, when the target EPD tag device <NUM> is moved out of the coverage of the routers 2a, 2b that are deployed under the EPD server 12A (that is, the target EPD server <NUM>) and into the coverage of the router 2c, the target EPD server <NUM> is unable to handle the dispatch of the task. This is the case when a result of the determination as to whether an online notification is received from another router <NUM> in step S14 of <FIG> is negative.

In step S15, the target EPD server <NUM> updates the connection list of its own, and by sending a transfer notification to the main server <NUM>, notifies the main server <NUM> that delivery of the task command is to be transferred. The connection list of the target EPD server <NUM> thus updated records that the target EPD tag device <NUM> is not connected to the routers 2a, 2b.

In step S16, the main server <NUM> receives the transfer notification.

Referring to <FIG> and <FIG>, in the case where the target EPD tag device <NUM> is moved into the coverage of the router 2c, in step S51, the target EPD tag device <NUM> is connected to the router 2c and sends an online notification indicating that the target EPD tag device <NUM> is connected to the router 2c. In step S52, the router 2c receives the online notification and forwards the same to the EPD server <NUM> to which the router 2c is connected, i.e., the EPD server 12B.

After receiving the online notification, in step S53, the EPD server 12B updates the connection list of its own accordingly. The connection list thus updated records that the target EPD tag device <NUM> is connected to the router 2c. The EPD server 12B further sends a change notification for reporting this change to the main server <NUM> by sending a copy of the updated connection list of its own or by forwarding the online notification. In response to receiving the change notification from the EPD server 12B, in step S54, the main server <NUM> sends a request to the current target EPD server <NUM>, which is the EPD server 12A, requesting the EPD server 12A to confirm whether there is any task that is assigned to the target EPD tag device <NUM> that has not been completed yet. In step S55, the main server <NUM> updates the copies of the connection lists stored therein accordingly. It is noted that, since the router <NUM> to which the target EPD tag device <NUM> is connected has changed and the connection lists have been updated in steps S53 and S55, the router 2c is now identified as the target router <NUM> and the EPD server 12B is now identified as the target EPD server <NUM> (see <FIG>).

In response to receiving the request, in step S56, the EPD server 12A determines whether there is any task that is assigned to the target EPD tag device <NUM> has not been completed by checking the records about the task stored therein. Moreover, in a case where the main server <NUM> has received the transfer notification from the current target EPD server <NUM> (see step S16 in <FIG>), the main server <NUM>, in step S56, further sends a target transfer signal to the EPD server 12A to notify that the task command is to be transferred to the EPD server 12B (i.e., the new target EPD server <NUM>). In the case where the flow proceeds from step S11, through steps S25 and S15 to step S56, it means that the task has not yet been dispatched to the target EPD tag device <NUM> and is thus uncompleted, so "yes" would be determined in this step, and the flow would then proceed to step S57. In step S57, the EPD server 12A forwards or transfers, according to the target transfer signal, the task command to the (new) target EPD server <NUM>, which is the EPD server 12B. Then, the flow goes back to step S12, and the task command may be delivered to the target EPD tag device <NUM> successfully.

On the other hand, the aforementioned steps S51 to S56 in the flowchart of <FIG> may be implemented irrespective of whether steps S25, S14, S15 and S16 in <FIG> are performed. In other words, in a scenario where the target EPD tag device <NUM> is moved into the coverage of the router 2c (see <FIG>) after the task command has been delivered to the target router <NUM> ("yes" in step S23) and the task has been executed by the target EPD tag device <NUM> in step S32, steps S51 to S57 in the flowchart of <FIG> will still be performed. Therefore, the task related to the determination to be made in step S56 may have been previously dispatched to the target EPD tag device <NUM> and may have been completed. Should the task have been completed, then in step S56, "no" would be determined and no further action would need to be performed.

In summary, the task dispatching method for the EPD tag devices of this disclosure realizes task dispatching by making the target EPD server <NUM> forward the task command to the target router <NUM>, which determines whether the target EPD tag device <NUM> is "online" (connected to the target router <NUM>) and notifies the target EPD server <NUM> when determining that the target EPD tag device <NUM> is "offline," by making the target EPD server <NUM> forward the task command to another router <NUM> when the target EPD server <NUM> receives an online notification from the another router <NUM>, and by making the target EPD server <NUM> transfer the task command to another EPD server <NUM> when the target EPD server <NUM> does not receive an online notification from another router <NUM>.

Claim 1:
A task dispatching method for electrophoretic display (EPD) tag devices (<NUM>) to be implemented by a server system (<NUM>) and a plurality of routers (<NUM>) connected to the server system (<NUM>), each of the EPD tag devices (<NUM>) configured to be connected to one of the routers (<NUM>) over a wireless network, the method characterized by:
a) receiving, by the server system (<NUM>), a task command that indicates a task and a target EPD tag device (<NUM>) that is one of the EPD tag devices (<NUM>) to which the task is assigned;
b) forwarding, by the server system (<NUM>), the task command to a target router (<NUM>) that is one of the routers (<NUM>) to which the target EPD tag device (<NUM>) is connected and that is identified based on at least one connection list stored in the server system (<NUM>), each of the at least one connection list recording at least one of the routers (<NUM>) and, for each of the at least one of the routers (<NUM>), one or more of the EPD tag devices (<NUM>) connected to the router (<NUM>);
c) checking, by the target router (<NUM>), whether the target EPD tag device (<NUM>) is currently connected thereto;
d) by the target router (<NUM>), notifying the server system (<NUM>) that the target EPD tag device (<NUM>) is offline by sending an offline notification to the server system (<NUM>) when it is determined that the target EPD tag device (<NUM>) is not currently connected to the target router (<NUM>);
e) in response to receiving the offline notification from the target router (<NUM>) and an online notification that indicates that the target EPD tag device (<NUM>) is connected to another one of the routers (<NUM>), by the server system (<NUM>), updating the at least one connection list based on the offline notification and the online notification, and identifying the another one of the routers (<NUM>) as the target router (<NUM>);
after step e), the server system (<NUM>) repeating step b) and the target router (<NUM>) repeating step c); and
f) delivering, by the target router (<NUM>), the task command to the target EPD tag device (<NUM>) when it is determined that the target EPD tag device (<NUM>) is currently connected to the target router (<NUM>).