Information processing terminal and data management system
The described system enables applications on resource-constrained terminals to operate independently of network connectivity by using a message queue and operating system for asynchronous data management, enhancing resilience and efficiency in environments with unreliable connections.
Patent Information
- Application Number
- JP2024037432
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-03-11
- Publication Date
- 2025-09-25
AI Technical Summary
Existing development frameworks for online applications on information processing terminals with limited resources are prone to failure when communication with the server is lost, particularly in environments with unreliable wireless connections like factories and warehouses.
Implementing a memory unit, control unit, communication unit, and a data management system that allows applications to operate asynchronously with the server, using a message queue and operating system to manage data update events and synchronize data independently of network connectivity, with a relay server for data distribution among terminals.
Enables applications to function without reliance on continuous server connection, improving operational resilience and efficiency by reducing the need for communication-dependent programming and minimizing redundant data transmission.
Smart Images

Figure 2025138378000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to an information processing terminal and a data management system. [Background technology]
[0002] Many development frameworks for online applications have been provided to facilitate the construction of online applications using information processing terminals that are not equipped with a general-purpose operating system, particularly online applications whose main purpose is to share data on a server. Regarding such development frameworks, a software execution system has been devised in Patent Document 1 below, which allows applications developed on a general-purpose web framework to run on an information processing terminal with limited computer resources (processor power and memory capacity) on the premise that a center device that converts screen description information (HTML), which is the execution result of a web application running on the server, into commands that can be interpreted by the information processing terminal, is installed between the server and the information processing terminal.
[0003] In this software execution system, the center-side device converts screen description information that specifies the operation guide elements and operating conditions to be displayed on the screen of the terminal device into instructions for the terminal device and sends it. The terminal device then performs processing specified by the center-side device, such as accepting input of user instructions and operations, in accordance with the instructions received from the center-side device, thereby realizing a development environment that is not dependent on the model. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Patent No. 4707302 Summary of the Invention [Problem to be solved by the invention]
[0005] However, because technologies such as the software execution system described above use a web framework and are therefore premised on a constant connection to the server, there is a problem that if the connection to the server is lost and communication becomes impossible, the application cannot continue to operate. In particular, applications used in environments where it is difficult to completely distribute wireless radio waves, such as factories and warehouses, are prone to sudden communication loss with the server, making it difficult for the application to continue operating.
[0006] The present invention has been made to solve the above-mentioned problems, and its purpose is to provide a configuration that makes it possible to build applications that are not restricted by communication conditions, even with limited computer resources. [Means for solving the problem]
[0007] In order to achieve the above object, one aspect of the present invention is to A memory unit (50); a control unit (21) that loads and executes software from the memory unit; a communication unit (26) for transmitting and receiving messages to and from a server; An information processing terminal (10) comprising: The memory unit includes: a predetermined application (51); an operating system (52) that manages the predetermined application; Data (53) obtained by executing the predetermined application; Message queue (54), a data update event capture unit (55) that captures a data update event for data update by the predetermined application and stores it in the message queue; a message communication unit (56) that, when communication with the server is possible, performs data synchronization with the server by sending and receiving messages related to the data update event stored in the message queue; is stored, The data update event capturing unit and the message communication unit are managed by the operating system.
[0008] Another aspect of the present invention is a plurality of information processing terminals (100, 100a, 100b, 100c); a relay server (2b) capable of communicating with each of the plurality of information processing terminals; A data management system (1a) comprising: The information processing terminal an acquisition unit (30, 40) for acquiring data; a memory unit (50) in which the data acquired by the acquisition unit is stored; a data transmission unit (21, 26) that transmits at least a part of the data acquired by the acquisition unit to the relay server so that other information processing terminals are included as distribution destinations; a data receiving unit (21, 26) that receives data distributed from the relay server; a data management unit (21) that performs processing to store in the memory unit data that has not been stored in the memory unit among the data received by the data receiving unit; Equipped with The relay server The information processing device is characterized by comprising a data distribution unit (3) that distributes data received from the information processing terminal in accordance with the distribution destination. The symbols in parentheses above indicate the correspondence with the specific means described in the embodiments to be described later. [Effects of the Invention]
[0009] In the present invention, the memory unit stores a specified application, an operating system that manages the specified application, data obtained by executing the specified application, a message queue, a data update event capture unit that captures data update events for data updates by the specified application and stores them in the message queue, and a message communication unit that, when communication with the server is possible, performs data synchronization with the server by sending and receiving messages related to the data update events stored in the message queue, and the data update event capture unit and message communication unit are managed by the operating system.
[0010] In this way, the process of storing a data update event captured by the data update event capture unit in a message queue and the communication process of sending and receiving the message in the message queue by the message communication unit when communication with the server is possible to synchronize data with the server are managed by the operating system, not by a specific application. This makes the process by the specific application and the communication process with the server asynchronous and independent of each other. This allows the same logic to run in the specific application regardless of the communication status with the server, and eliminates the need to write a description for communication processing with the server when programming the specific application. This makes it possible to realize an information processing terminal that can build applications that are not restricted by communication status, even with limited computer resources.
[0011] The data update event may be generated so as to include information that allows the contents of the data update to be understood.
[0012] The data update event capture unit may be configured not to store the captured data update event in the message queue if another data update event with the same data is already stored in the message queue when the data update event is captured.
[0013] The relay server, which can communicate with each of the plurality of information processing terminals and servers, may include a data distribution unit that distributes a message regarding a data update event received from an information processing terminal according to a distribution destination designated by the information processing terminal.
[0014] The information processing terminal may make a specified request to the relay server, and the data distribution unit may distribute a message regarding the data update event to the information processing terminal if the data update event is stored in the data storage unit and the data update event is intended to be distributed to the information processing terminal that made the specified request.
[0015] After confirming that the information processing terminal is able to communicate with the relay server, the information processing terminal may make the predetermined request to the relay server.
[0016] When the message communication unit determines that the work is complete and data update events for all data to be acquired are stored in a message queue, it may send a work completion notification to the relay server, with other information processing terminals included as destinations.
[0017] In the present invention, in the information processing terminal, data acquired by the acquisition unit is stored in the memory unit, at least a part of the data acquired by the acquisition unit is transmitted to the relay server by the data transmission unit so that other information processing terminals are included in the distribution destinations, and a process is performed by the data management unit to store in the memory the data that has not been stored in the memory unit among the data received by the data receiving unit as a result of being distributed from the relay server.In the relay server, the data received from the information processing terminal is distributed by the data distribution unit in accordance with the above-mentioned distribution destinations.
[0018] As a result, not only does the memory unit of each information processing terminal record the data it acquires, but also data acquired by other information processing terminals is received and stored via the relay server. Therefore, each information processing terminal can easily grasp the overall data acquisition status using multiple information processing terminals, so even when each terminal performs data acquisition work individually, it is possible to reduce overlapping work regarding data acquisition and improve work efficiency.
[0019] The data transmission unit may transmit, to the relay server, data that is not stored in the memory unit among the data acquired by the acquisition unit.
[0020] This makes it difficult for the relay server to receive duplicate data unnecessarily, thereby making it possible to suppress an increase in access load and to suppress a deterioration in work efficiency due to the access load.
[0021] Assuming that the information processing terminal makes a specified request to the relay server, the data distribution unit may distribute the data to the information processing terminal if there is data whose destination is the information processing terminal that made the specified request.
[0022] This allows each information processing terminal to adjust the timing at which it receives data acquired by other information processing terminals in accordance with the predetermined request.
[0023] In the relay server, data received from the information processing terminal is stored in a data storage unit until a specified request is received, and when data destined for the information processing terminal that made the specified request is stored in the data storage unit, the data may be distributed to the information processing terminal by a data distribution unit.
[0024] As a result, even if the information processing terminal is unable to communicate with the relay server for a long period of time during which it is unable to make a specified request, the information processing terminal can receive data addressed to itself from the relay server at the timing when it becomes possible to make the specified request.
[0025] When the data management unit is unable to communicate with the relay server, the data management unit performs processing to store the data acquired by the acquisition unit in the memory unit as data waiting to be sent, and when the data transmission unit is able to communicate with the relay server and data is received by the data receiving unit in response to a specified request, the data waiting to be sent stored in the memory unit that has not been received in response to the specified request may be transmitted to the relay server.
[0026] As a result, data that has not been distributed by the relay server among the transmission waiting data acquired when communication is unavailable is transmitted to the relay server, and therefore, when transmission waiting data is to be distributed, data that has already been distributed because it has been read by another information processing terminal can be prevented from being unnecessarily distributed.
[0027] When the data management unit determines that the work is complete and all data to be acquired is stored in the memory unit, the data transmission unit may send a work completion notification to the relay server, with other information processing terminals included as distribution destinations.
[0028] As a result, when any one of the multiple information processing terminals reaches a work completion state, the other information processing terminals receive a work completion notification, so that any information processing terminal can quickly know that the data acquisition work for acquiring all the data to be acquired has been completed.
[0029] The information processing terminal may include a data transfer unit for directly transferring at least a portion of the data stored in the memory unit to another information processing terminal as shared data, and a data receiving unit for directly receiving the shared data from the data transfer unit of the other information processing terminal, and the data management unit may perform processing to store in the memory unit any data received by the data receiving unit that is not stored in the memory unit.
[0030] This allows, for example, shared data acquired by an information processing terminal that is unable to communicate with the relay server to be directly transferred to an information processing terminal that is able to communicate with the relay server. Therefore, data acquired by an information processing terminal that is unable to communicate with the relay server can be transmitted to the relay server via an information processing terminal that is able to communicate with the relay server, thereby improving recoverability during collaboration regarding data acquisition work.
[0031] The data transfer unit may be configured to display one information code that records the shared data, or to sequentially display multiple information codes that record the shared data separately, and the data receiving unit may be configured to receive the shared data by optically reading the data recorded in the information code.
[0032] As a result, even if an information processing terminal is unable to communicate with not only the relay server but also other information processing terminals, it is possible to directly transfer shared data to the other information processing terminals. [Brief explanation of the drawings]
[0033] [Figure 1] 1 is an explanatory diagram illustrating a data management system including an information processing terminal according to a first embodiment; [Figure 2] Figure 2(A) is a block diagram that schematically illustrates the hardware configuration of the information processing terminal of Figure 1, Figure 2(B) is a block diagram that schematically illustrates the wireless tag processing unit of Figure 2(A), and Figure 2(C) is a block diagram that schematically illustrates the information code reading unit of Figure 2(A). [Figure 3] 2 is a functional block diagram showing a functional configuration related to data acquisition, transmission and reception, etc. of the information processing terminal of FIG. 1. [Figure 4] Figure 4(A) is an explanatory diagram illustrating a read list corresponding to the theoretical inventory list received from the server when the app is started, Figure 4(B) is an explanatory diagram illustrating an updated read list from the state of Figure 4(A), and Figure 4(C) is an explanatory diagram illustrating a data update event message supplemented when Figure 4(B) is updated. [Figure 5] 4 is a simplified flowchart showing an execution schedule of an application and an OS in the first embodiment. [Figure 6] 6 is a flowchart illustrating the execution schedule of FIG. 5 by taking a specific business as an example. [Figure 7] FIG. 11 is a sequence diagram illustrating the flow of data acquisition, transmission and reception at each information processing terminal and data distribution at a relay server in the second embodiment. [Figure 8] FIG. 11 is a sequence diagram illustrating the flow of data acquisition, transmission and reception at each information processing terminal and data distribution at a relay server in a modified example of the second embodiment. [Figure 9] FIG. 13 is a sequence diagram illustrating the flow of data acquisition, transmission and reception at each information processing terminal and data distribution at a relay server in the fifth embodiment. [Figure 10] FIG. 20 is a sequence diagram illustrating the flow of data transfer, data acquisition, transmission and reception at each information processing terminal, and data distribution at a relay server in the sixth embodiment. [Figure 11] FIG. 13 is an explanatory diagram illustrating a schematic configuration of an information processing terminal, a server, and a management system according to a seventh embodiment. [Figure 12] 12 is a flowchart illustrating a flow of processing performed when a predetermined application is executed on the information processing terminal of FIG. 11. [Figure 13] FIG. 13(A) is an explanatory diagram illustrating the display state of the first screen template, and FIG. 13(B) is an explanatory diagram illustrating the display state of the second screen template. [Figure 14] FIG. 23 is an explanatory diagram illustrating a schematic configuration of an information processing terminal, a server, and a management system according to a first modified example of the seventh embodiment. [Figure 15] FIG. 23 is an explanatory diagram illustrating a screen template and each update area in a first modified example of the seventh embodiment. [Figure 16] FIG. 23 is an explanatory diagram illustrating a schematic configuration of an information processing terminal, a server, and a management system according to a second modified example of the seventh embodiment. [Figure 17]17 is a flowchart illustrating a flow of processing performed when a predetermined application is executed on the information processing terminal of FIG. 16. [Figure 18] FIG. 23 is an explanatory diagram illustrating a schematic configuration of an information processing terminal, a server, and a management system according to a third modified example of the seventh embodiment. [Figure 19] 19 is a flowchart illustrating a flow of processing performed when a predetermined application is executed on the information processing terminal of FIG. 18. [Figure 20] FIG. 20 is an explanatory diagram illustrating the effect of the third modified example of the seventh embodiment. [Figure 21] 21A and 21B are explanatory diagrams illustrating the general configuration of an information processing terminal, a server, and a management system according to a fourth variant of the seventh embodiment, where FIG. 21A shows processing when network communication is possible, and FIG. 21B shows processing when network communication is not possible. [Figure 22] 22 is a flowchart illustrating a flow of processing performed when a predetermined application is executed on the information processing terminal of FIG. 21. [Figure 23] 23A and 23B are explanatory diagrams illustrating the effects of the fourth modified example of the seventh embodiment, where FIG. 23A illustrates an example in which synchronization processing is not performed, and FIG. 23B illustrates an example in which synchronization processing is performed. DETAILED DESCRIPTION OF THE INVENTION
[0034] [First embodiment] A first embodiment of an information processing terminal and a data management system according to the present invention will be described below with reference to the drawings. As shown in FIG. 1, a data management system 1 according to this embodiment is configured as a system including a plurality of information processing terminals 10 and a server 2 for managing data acquired by each information processing terminal 10.
[0035] The server 2 according to this embodiment is a server device that functions as an MQTT message broker that distributes data using the MQTT protocol. The server 2 communicates with information processing terminals 10 connected to a predetermined network N, such as an in-house LAN, via an access point AP or the like located within a predetermined management area, thereby transmitting and receiving messages between the information processing terminals 10 and managing data acquired from the information processing terminals 10.
[0036] As shown in FIG. 1, the server 2 mainly includes a storage unit 4, a communication unit 5, and a control unit 3 that controls these units. The control unit 3 is mainly configured with a microcomputer and has a CPU, a system bus, an input / output interface, etc., and functions as an information processing device together with the storage unit 4. The storage unit 4 is configured with known semiconductor memory such as ROM, RAM, and non-volatile memory. This storage unit 4 pre-stores predetermined application programs and databases for executing data distribution processing using the MQTT protocol so that they can be used by the control unit 3. The communication unit 5 is controlled by the control unit 3 and is configured to communicate with each information processing terminal 10 connected to a predetermined network N such as an in-house LAN or the Internet.
[0037] The information processing terminal 10 according to this embodiment is a portable information reading device that is carried by a user and used in various places. The information processing terminal 10 has a function of reading and writing information stored in a wireless tag T such as an RF tag using radio waves transmitted and received via an antenna as a medium, and also a function as an information code reader that optically reads information codes such as barcodes and two-dimensional codes, and is configured to be able to read in two ways.
[0038] 2(A), the information processing terminal 10 mainly includes a control unit 21 that controls the overall control and a memory unit 50 that is configured with a semiconductor memory or the like, as well as a display unit 23 whose display content is controlled by the control unit 21, an operation unit 24 that outputs an operation signal to the control unit 21 in response to an input operation, an alarm unit 25 whose light-emitting state of the light-emitting unit, the alarm state of the speaker, the sound state of the buzzer, etc. are controlled by the control unit 21, a communication unit 26 configured with a Wi-Fi module or the like for communicating with external devices such as the server 2, a short-range wireless communication unit 27 for short-range wireless communication with other information processing terminals 10, etc., and a power supply unit 28 that supplies power from a battery 29 to various electrical components. The control unit 21 according to this embodiment is configured with a single processor for loading and executing software from the memory unit 50, and as will be described later, processes by the application 51 and the OS 52 are executed not simultaneously but by switching between them as appropriate.
[0039] The information processing terminal 10 also includes a wireless tag processing unit 30 for reading and writing information from and to the wireless tag T, and an information code reading unit 40 for optically reading the information code.
[0040] The RFID tag processing unit 30 functions as a wireless communication unit that communicates wirelessly with a plurality of RFID tags T using a predetermined modulation method controlled by the control unit 21, and cooperates with the antenna 34 and the control unit 21 to communicate with the RFID tags T using electromagnetic waves, reading data stored in the RFID tags T, or writing data to the RFID tags T. The RFID tag processing unit 30 is configured as a circuit that transmits using a known radio wave method, and includes a transmitting circuit 31, a receiving circuit 32, a matching circuit 33, etc., as shown schematically in Fig. 2(B).
[0041] The information code reading unit 40 functions to optically read information codes, and as shown in Figure 2(C), is configured with a light receiving sensor 43 consisting of a CCD area sensor or the like, an imaging lens 42, an illumination unit 41 consisting of multiple LEDs, lenses, etc., and functions to read the information code C (barcode or two-dimensional code) attached to the reading object R in cooperation with the control unit 21.
[0042] When reading is performed by this information code reader 40, first, illumination light Lf is emitted from the illumination unit 41 in response to a command from the control unit 21, and this illumination light Lf is irradiated onto the read object R through the reading opening 12. Then, reflected light Lr, which is formed by the illumination light Lf being reflected by the information code C, is taken in through the reading opening 12 and is received by the light-receiving sensor 43 through the imaging lens 42. The imaging lens 42, which is disposed between the reading opening 12 and the light-receiving sensor 43, is configured to form an image of the information code C on the light-receiving sensor 43, and the light-receiving sensor 43 outputs a light-receiving signal corresponding to the image of the information code C. The light-receiving signal output from the light-receiving sensor 43 is stored as image data in the memory unit 50 (FIG. 3(A)) and is used in a decoding process to acquire the information contained in the information code C. The information code reading unit 40 is provided with an amplifier circuit that amplifies the signal from the light receiving sensor 43, an AD conversion circuit that converts the amplified signal into a digital signal, and the like, but these circuits are not shown in the figure.
[0043] The application framework and the like employed in the information processing terminal 10 according to this embodiment will be described below. For example, when inventory work or the like is performed using a plurality of information processing terminals 10 based on the read results (acquisition results) of tag IDs (keys) recorded in the UII area of RFID tags T attached to each product displayed in a store, the server 2 can grasp the progress status of the inventory work (the overall data acquisition status using each information processing terminal 10) by managing a read list that is successively updated by the tag IDs etc. received from each information processing terminal 10. Then, each information processing terminal 10 can inquire of the server 2 whether the read tag ID has already been read by another information processing terminal 10. For example, when the information processing terminal 10 performs a read process of a RFID tag T, by sounding a predetermined buzzer only when it is determined that an unread tag ID has been read as a result of inquiring to the server 2, the worker can distinguish between unread RFID tags T and read RFID tags T, thereby enabling efficient inventory work.
[0044] On the other hand, since the read list needs to be managed by the server 2, if the information processing terminal 10 suddenly becomes unable to communicate with the server 2 due to, for example, moving to an area with a poor communication environment, it may be unable to determine whether or not it has read the unread RF tags T, and may be unable to continue the inventory work. This problem is not limited to inventory work, but may also occur in work that is premised on the server 2 centrally managing data acquired by reading from the RF tags T or information codes C using each information processing terminal 10.
[0045] For this reason, the information processing terminal 10 of this embodiment has a predetermined application program (hereinafter also referred to as app 51) installed so that it can be executed by the control unit 21, which functions as a calculation unit, for performing inventory work (data acquisition work) on multiple terminals, assuming a case in which communication with the server 2 becomes impossible.
[0046] This application 51 has been developed on the premise that data processing such as data acquisition and storage and communication processing with server 2 are asynchronous, as will be described later, and execution of this application 51 performs processing for updating read list 53 stored in memory unit 50 in accordance with the read tag ID, etc. As shown in Fig. 3, a message queue 54, a data update event capturing unit 55, and a message communication unit 56 are stored in an area of memory unit 50 in which application 51, an operating system (hereinafter also referred to as OS 52) that manages this application 51, and read list 53 are stored.
[0047] The read list 53 is managed by the OS 52 and is configured as a list for determining whether a read tag ID is unread, assuming the use of a map array (an array that manages key-value pairs). The read list 53 is received from the server 2 as a list of tag IDs to be read during inventory (theoretical inventory list) when the application 51 starts, and the data is updated by setting the read flag to ON for the tag ID read from the UII area. For example, as illustrated in FIG. 4(A), assume that a theoretical inventory list in which the read flags for all four tag IDs are set to OFF is received from the server 2 when the application 51 starts. In this case, when
[0002] is read as a tag ID, the read flag corresponding to that tag ID is set to ON, and the read list 53 is updated, as illustrated in FIG. 4(B). The read list 53 may correspond to an example of data obtained by execution of the application 51.
[0048] The message queue 54 is a FIFO (First in First out) type message queue that is managed by the OS 52 and that asynchronously synchronizes data processing such as data acquisition and storage with communication processing with the server 2. The message queue 54 is configured to temporarily store data update events captured by a data update event capturing unit 55 as described below.
[0049] The data update event capturing unit 55 is managed by the OS 52, and when the read list 53 is updated by a call to an API (Application Programming Interface) of the application 51 that has acquired the data, the data update event capturing unit 55 functions to capture the data access for the data update as a data update event and store the data update event in the message queue 54. For example, when data is updated as shown in Fig. 4(B), the update date and time, the data to be updated, the operation, and the update content are captured as a data update event by the data update event capturing unit 55, and an update message related to the captured data update event is temporarily stored in the message queue 54, as shown in Fig. 4(C).
[0050] The message communication unit 56 is managed by the OS 52, and functions to perform data synchronization with the server 2 by sending and receiving messages related to data update events stored in the message queue 54 when communication with the server 2 is possible.
[0051] Next, the flow of the execution schedule managed by the application 51 and the OS 52 when the above-mentioned application 51 is launched on the information processing terminal 10 to perform inventory work will be described in detail with reference to the flowcharts of Figures 5 and 6.
[0052] When the worker performs a predetermined operation on the operation unit 24, the application 51 is started under the control of the OS 52 (S21), and a screen display process is executed by the application 51 (S11). In this screen display process, for example, an instruction to read the RFID tag T, operation navigation related to the operation, etc. are displayed on the display screen of the display unit 23 (F11), and the application 51 enters a standby state (Pending state) in which it waits for an input operation by the worker using a key or the like (S12).
[0053] In this standby state of the application 51, control is transferred to the OS 52, and the OS processes the application 51 to monitor the operations of various devices included in the information processing terminal 10 (S22). Specifically, the application 51 enters a monitoring state in which it can control the wireless tag processing unit 30, for example (F22).
[0054] Then, when the operator performs a start operation to read the wireless tag T on the operation unit 24 and the standby state is released (Yes in S23), control is transferred to the application 51, and event processing to read the wireless tag T using the wireless tag processing unit 30 is started (S13).
[0055] When the tag ID is read from each wireless tag T within the reading range by the event processing, the application 51 issues a data processing instruction (API call) to the OS 52 to update the read list 53 for the read tag ID (S14). Specifically, for example, when the tag ID of
[0002] is read, a UII search is performed for
[0002] via the API for map arrangement operation, and if it is determined that
[0002] is an unread tag ID, a flag operation instruction is issued to the OS 52 to set the read flag that matches that tag ID to ON (F14). As a result, control is transferred to the OS 52.
[0056] Upon receiving the above instruction, the OS 52 accesses the read list 53 and performs API processing to update the data of the read flag that matches the read tag ID to ON (S27). Specifically, when a flag operation instruction is given to set the read flag of tag ID
[0002] to ON as described above, the read list 53 is updated by performing a map arrangement operation in accordance with the flag operation instruction (F27).
[0057] At that time, the OS 52 causes the data access for the data update to be captured as a data update event by the data update event capturing unit 55, and stores the captured event in the message queue 54 (S28). Specifically, when the read list 53 is updated as described above, an update message of the data update event exemplified in Fig. 4(C) is stored in the message queue 54 (F28).
[0058] Then, control is transferred to the application 51, and processing according to the API results, such as display processing and notification processing according to the reading results, is performed (S15), the work progress rate is updated (F15), and processing is performed again from S11.
[0059] On the other hand, when the application 51 is in a standby state (No in S23) and becomes capable of wireless communication with the server 2 via the communication unit 26 (Yes in S24), a dequeue and communication (publish) process is performed under management of the OS 52 (S25). In this process, a message related to a data update event stored in the message queue 54 as described above is transmitted by the message communication unit 56 to the server 2 via the communication unit 26 with another terminal as the distribution destination. For example, if the update message illustrated in FIG. 4(C) for the tag ID
[0002] is stored in the message queue 54, the update message is extracted from the message queue 54 and transmitted (published) to the server 2 with another terminal as the distribution destination (F25).
[0060] Next, a subscribe and enqueue process is performed (S26). In this process, messages stored in the server 2 and destined for the server 2 are received by the message communication unit 56 from the server 2 via the communication unit 26, and the read list 53 is updated in accordance with the received messages. For example, with respect to the read list 53 in FIG. 4(B), when a message (update date and time, data to be updated, operation, update content) of a data update event related to the tag ID of
[0001] is received, the read flag whose tag ID matches
[0001] is set to ON, and the read list 53 is updated.
[0061] The server 2 that has received the update message distributes the received update message to the other information processing terminals 10 that are set as the distribution destinations of the update message and performs a temporary storage process to distribute update messages for terminals that are temporarily unable to communicate when communication becomes possible again. For example, when the server 2 receives an update message for tag ID
[0002] as described above (F31), it distributes the received update message to terminals that are able to communicate and temporarily stores the update messages for terminals that are unable to communicate. Furthermore, for example, when the server 2 receives an update message for tag ID
[0001] whose distribution destination is the information processing terminal 10 that sent the update message (F32), it distributes the update message to the information processing terminal 10 that is the distribution destination.
[0062] That is, when communication with the server 2 is possible, it is not the application 51 that performs the process of acquiring data, but the OS 52 that has received an instruction from the application 51 in advance that performs the process of transmitting an update message to the server 2.
[0063] As described above, in the information processing terminal 10 according to this embodiment, the memory unit 50 stores the application 51, the OS 52 that manages the application 51, the read list 53, the message queue 54, the data update event capturing unit 55 that captures data update events for data updates by the application 51 and stores them in the message queue 54, and the message communication unit 56 that, when communication with the server 2 is possible, performs data synchronization with the server 2 by sending and receiving messages related to the data update events stored in the message queue 54, and the data update event capturing unit 55 and the message communication unit 56 are managed by the OS 52.
[0064] In this way, the process of storing the data update event captured by the data update event capture unit 55 in the message queue 54 and the communication process of transmitting and receiving the message in the message queue 54 by the message communication unit 56 when communication with the server 2 is possible, thereby performing data synchronization with the server 2, are managed by the OS 52, not the app 51. As a result, the process by the app 51 and the communication process with the server 2 are asynchronous and do not depend on each other. Therefore, the same logic can be run in the app 51 regardless of the communication status with the server 2, and programming the app 51 does not require a description of the communication process with the server 2. Therefore, even with limited computer resources, it is possible to realize an information processing terminal 10 that can build applications that are not restricted by communication status.
[0065] The data update event captured by the data update event capture unit 55 and stored in the message queue 54 may be generated to include, for example, other information in addition to the items of update date and time, data to be updated, operation, and update content, or may be generated to include only a portion of the above items (for example, only the update date and time and update content).
[0066] [Second embodiment] Next, an information processing terminal and a data management system according to a second embodiment of the present invention will be described with reference to the drawings. The second embodiment differs from the first embodiment in that the memory unit of each information processing terminal not only records the data acquired by itself, but also receives and stores data acquired by other information processing terminals via a relay server. Therefore, components that are substantially the same as those in the first embodiment are given the same reference numerals, and descriptions thereof will be omitted.
[0067] When inventory work or the like is performed using a plurality of information processing terminals 10, if the reading work areas overlap, data etc. read from the RFID tags T in the overlapping areas will be transmitted from each information processing terminal 10 to the server 2. For this reason, depending on the reading work environment etc., the same data may be transmitted simultaneously from each information processing terminal 10 to the server 2, increasing the access load. In such a case, it may become difficult for each information processing terminal 10 to access the server 2, which may result in a decrease in the work efficiency of each terminal.
[0068] For this reason, the information processing terminal 100 employed in the data management system 1a according to this embodiment has the same hardware configuration as the information processing terminal 10 described above, but unlike the first embodiment, does not use a data update event and performs processing to transmit data (tag ID) read from the RF tag T that has not been read by other information processing terminals 100 during a reading process performed by the control unit 21. In this embodiment, the RF tag processing unit 30 that reads and acquires the tag ID (data) from the RF tag T corresponds to an example of an "acquisition unit", and the data acquired by the "acquisition unit" is stored in the memory unit 50.
[0069] In this embodiment, instead of the above-described server 2, a master server 2a for managing data acquired by each information processing terminal 100 and a relay server 2b capable of communicating with the master server 2a and each information processing terminal 100 are employed. The master server 2a and the relay server 2b are configured to include a control unit 3, a storage unit 4, a communication unit 5, etc., similar to the hardware configuration of the above-described server 2.
[0070] Each information processing terminal 100 treats data distributed from relay server 2b as data acquired by another information processing terminal 100, thereby preventing the same data from being transmitted to relay server 2b. That is, control unit 21 of information processing terminal 100 performs a data management process to store, in memory unit 50, data that is received from relay server 2b but is not stored in memory unit 50. Then, control unit 21 performs a process to transmit, to relay server 2b, the data that has been read but is not stored in memory unit 50, with other information processing terminals 100 and master server 2a as the distribution destinations. Note that control unit 21 that performs the above data management process may correspond to an example of a "data management unit."
[0071] The control unit 3 of the relay server 2b performs a data distribution process to distribute the data received from the information processing terminal 100 in accordance with the distribution destination via the communication unit 5. The control unit 3 and communication unit 5 of the relay server 2b that perform the data distribution process may correspond to an example of a "data distribution unit."
[0072] An application (hereinafter also referred to as a server application) for executing a data management process for managing data acquired by each information processing terminal 100 is installed in the storage unit 4 of the master server 2a so as to be executable by the control unit 3. The master server 2a uses the server application executed by the control unit 3 to inquire via the communication unit 5 whether data addressed to itself is available on the relay server 2b, and performs the data management process based on the data addressed to itself received from the relay server 2b.
[0073] Below, the flow of data acquisition, transmission and reception at each information processing terminal 100 and data distribution at the relay server 2b will be described in detail with reference to the sequence diagram of Figure 7, using an example in which three pieces of data A, B, and C are read by three information processing terminals 100a, 100b, and 100c.
[0074] As illustrated in FIG. 7 , when a predetermined operation is performed by an operator on the operation unit 24 of each of the information processing terminals 100a, 100b, and 100c, the control unit 21 starts a reading process, and a work start notification is transmitted to the relay server 2b via the communication unit 26 (S101). The relay server 2b transmits the work start notification to the master server 2a so that it relays it, and then transmits (distributes) a work count notification from the master server 2a to each of the information processing terminals 100a, 100b, and 100c so that it relays it (S102). Since this example illustrates the case where three pieces of data A, B, and C are to be read, the work count notification indicates that the number of reads is three. Each of the information processing terminals 100a, 100b, and 100c that receive this work count notification recognizes that the number of reads is three. Note that the work count notification is not limited to being received via the relay server 2b, but may also be received in advance using distribution software from another server.
[0075] In the control unit 21 of the information processing terminal 100a that has received the notification of the number of tasks, when the wireless tag processing unit 30 reads data A from the wireless tag T and this data A is not stored in the memory unit 50, the notification unit 25 notifies the user by emitting light, sound, or the like that unread data has been read. Then, the control unit 21 performs a data management process for storing the data A in the memory unit 50, and also performs a data transmission process for transmitting the data A to the relay server 2b via the communication unit 26 with the other information processing terminals 100b, 100c and the master server 2a as distribution destinations (S103). The control unit 21 and the communication unit 26 that perform the data transmission process can correspond to an example of a "data transmission unit."
[0076] In the relay server 2b, the data A received from the information processing terminal 100a is distributed to the information processing terminals 100b and 100c and the master server 2a (S104). In the master server 2a, a process is performed to delete the data A received from the relay server 2b from the master data.
[0077] In the control unit 21 of the information processing terminal 100b, if data A received from the relay server 2b via the communication unit 26 is not stored in the memory unit 50, a data management process is performed to store the data A in the memory unit 50 (S105). Similarly, in the control unit 21 of the information processing terminal 100c, if data A received from the relay server 2b via the communication unit 26 is not stored in the memory unit 50, a data management process is performed to store the data A in the memory unit 50 (S106). As a result, even if the data A is read by the information processing terminals 100b and 100c, the data A is already stored in the memory unit 50 and is therefore discarded without being transmitted from the information processing terminals 100b and 100c to the relay server 2b (S107, S108). If the read data has been read by another information processing terminal 100 and stored in the memory unit 50, a predetermined notification indicating that the data has already been read by the other information processing terminal 100 may be made by light emission, sound, or the like from the notification unit 25. The control unit 21 and the communication unit 26, which perform processing to receive data distributed from the relay server 2b, may correspond to an example of a "data receiving unit."
[0078] Furthermore, in the control unit 21 of the information processing terminal 100b that has received the work number notification, when the wireless tag processing unit 30 reads data B from the wireless tag T and this data B is not stored in the memory unit 50, the notification unit 25 notifies the user by emitting light, sound, or the like that unread data has been read. Then, the control unit 21 performs a data management process for storing the data B in the memory unit 50, and also performs a data transmission process for transmitting the data B to the relay server 2b via the communication unit 26 with the other information processing terminals 100a, 100c and the master server 2a as distribution destinations (S109).
[0079] In the relay server 2b, the data B received from the information processing terminal 100b is distributed to the information processing terminals 100a and 100c and the master server 2a (S110). In the master server 2a, a process is performed to delete the data B received from the relay server 2b from the master data.
[0080] In the control unit 21 of the information processing terminal 100a, if the data B received from the relay server 2b is not stored in the memory unit 50, a data management process is performed to store the data B in the memory unit 50 (S111). Similarly, in the control unit 21 of the information processing terminal 100c, if the data B received from the relay server 2b is not stored in the memory unit 50, a data management process is performed to store the data B in the memory unit 50 (S112).
[0081] Furthermore, in the control unit 21 of the information processing terminal 100c that has received the work number notification, when the wireless tag processing unit 30 reads data C from the wireless tag T and this data C is not stored in the memory unit 50, the notification unit 25 notifies the user that unread data has been read by emitting light, sound, etc. Then, the control unit 21 performs a data management process for storing the data C in the memory unit 50, and also performs a data transmission process for transmitting the data C to the relay server 2b via the communication unit 26 with the other information processing terminals 100a, 100b and the master server 2a as distribution destinations (S113).
[0082] In the relay server 2b, the data C received from the information processing terminal 100c is distributed to the information processing terminals 100a and 100b and the master server 2a (S114). In the master server 2a, a process is performed to delete the data C received from the relay server 2b from the master data.
[0083] In the control unit 21 of the information processing terminal 100a, if the data C received from the relay server 2b is not stored in the memory unit 50, a data management process is performed to store the data C in the memory unit 50 (S115). Similarly, in the control unit 21 of the information processing terminal 100b, if the data C received from the relay server 2b is not stored in the memory unit 50, a data management process is performed to store the data C in the memory unit 50 (S116).
[0084] The control unit 21 of the information processing terminal 100c that reads data C determines that data A and B are already stored in the memory unit 50, and therefore that the work is complete and all data to be acquired is stored in the memory unit 50. In such a case, the information processing terminal 100c performs the data transmission process described above, and transmits a work completion notification to the relay server 2b via the communication unit 26, with the other information processing terminals 100a and 100b and the master server 2a as distribution destinations (S117). Then, the worker is notified that the work is complete and all of the specified data has been read by displaying on the display unit 23, emitting light and making an alarm sound on the alarm unit 25, etc.
[0085] In the relay server 2b, the task completion notification received from the information processing terminal 100c is distributed to the information processing terminals 100a and 100b and the master server 2a (S118).
[0086] The information processing terminals 100a, 100b that have received the work completion notification understand that all of the specified data has been read and that the work is complete (S119, S120), and this work completion state is notified to the worker by display on the display unit 23, light emission and sound from the notification unit 25, etc. Note that the information processing terminal 100 (information processing terminal 100c in the above example) that has read the last data (data C in the above example) may transmit the last data to the relay server 2b with only the master server 2a as the distribution destination, without specifying other information processing terminals 100 as the distribution destination, on the premise that the work completion notification will be transmitted.
[0087] As described above, in the data management system 1a according to this embodiment, data read by the wireless tag processing unit 30 in the information processing terminal 100 is stored in the memory unit 50, at least a part of the read data is transmitted to the relay server 2b by the communication unit 26 so that other information processing terminals 100 are included in the distribution destinations, and the control unit 21 performs data management processing for storing in the memory unit 50 data that has not been stored in the memory unit 50 among the data received by the communication unit 26 as a result of being distributed from the relay server 2b. In the relay server 2b, the data received from the information processing terminal 100 is distributed in accordance with the above-mentioned distribution destinations by a data distribution process performed by the control unit 3.
[0088] As a result, not only is data acquired by each information processing terminal 100 recorded in the memory unit 50 thereof, but data acquired by other information processing terminals 100 is also received and stored via the relay server 2b. Therefore, each information processing terminal 100 can easily grasp the overall data acquisition status using a plurality of information processing terminals 100, and therefore, even when each information processing terminal 100 performs work to acquire data individually, overlapping work regarding data acquisition can be reduced, thereby improving work efficiency.
[0089] In particular, the data that is read and acquired from the RFID tag T by the RFID tag processing unit 30 and that is not stored in the memory unit 50 is transmitted to the relay server 2b.
[0090] This makes it difficult for the relay server 2b to receive duplicate data unnecessarily, thereby making it possible to suppress an increase in access load and to suppress a deterioration in work efficiency due to the access load.
[0091] Furthermore, when it is determined that the task is complete and all data to be acquired is stored in the memory unit 50, a task completion notice is transmitted to the relay server 2b so that other information processing terminals 100 are included in the distribution destinations.
[0092] As a result, when any one of the multiple information processing terminals 100 reaches a work completion state, the other information processing terminals 100 receive a work completion notification, so that any information processing terminal 100 can quickly know that the data acquisition work for acquiring all the data to be acquired has been completed.
[0093] 8, after transmitting a work start notification (S201), each information processing terminal 100 may receive master data clarifying the data to be read from the relay server 2b instead of a work count notification (S202). As a result, in the above example, each information processing terminal 100a, 100b, 100c can know in advance not only that the reading work will be completed by reading three items, but also that the reading work will be completed by reading data A, data B, and data C. The master data is not limited to being received via the relay server 2b, but may also be received in advance using distribution software from another server.
[0094] In this case, information processing terminal 100a that reads data A updates the master data in memory unit 50 so that the deletion of data A is stored, and transmits that data A to relay server 2b (S203). As a result, information processing terminals 100b and 100c that receive data A from relay server 2b (S204) also update the master data in memory unit 50 so that the deletion of data A is stored (S205, S206). As a result of this update, even if data A is read by information processing terminals 100b and 100c, the deletion of data A is already stored in memory unit 50, so data A is discarded without being transmitted from information processing terminals 100b and 100c to relay server 2b (S207, S208). Furthermore, information processing terminal 100b that reads data B updates the master data in memory unit 50 so that the deletion of data B is stored, and transmits that data B to relay server 2b (S209). As a result, the information processing terminals 100a and 100c that received data B from relay server 2b (S210) also update the master data in memory unit 50 to store the deletion of data B (S211, S212). Furthermore, the information processing terminal 100c that reads data C updates the master data in memory unit 50 to store the deletion of data C, and transmits that data C to relay server 2b (S213). As a result, the information processing terminals 100a and 100b that received data C from relay server 2b (S214) also update the master data in memory unit 50 to store the deletion of data C (S215, S216). Furthermore, in the information processing terminal 100c that read data C, the master data is updated so that all data deletions are stored, and the reading operation is deemed to be completed. A work completion notice is transmitted to the relay server 2b via the communication unit 26, with the other information processing terminals 100a and 100b and the master server 2a as the distribution destinations (S217). The relay server 2b distributes the work completion notice received from the information processing terminal 100c to the information processing terminals 100a and 100b and the master server 2a (S218). The information processing terminals 100a and 100b that received the work completion notice understand that the operation is complete, having read all of the specified data (S219, S220).In this way, as in the case where a task count notification is received, an increase in access load can be suppressed, and a deterioration in work efficiency due to the access load can be suppressed.
[0095] The relay server 2b and the master server 2a are not limited to being configured as separate server devices as described above, but may be configured as different applications of a single server device. Furthermore, the master server 2a may periodically distribute the overall data acquisition status that it has grasped to each information processing terminal 100 via the relay server 2b, and each information processing terminal 100 may clearly indicate the received overall data acquisition status to the worker sequentially or at a predetermined timing by displaying it on the display unit 23 or the like.
[0096] [Third embodiment] Next, an information processing terminal and a data management system according to a third embodiment of the present invention will be described with reference to the drawings. The third embodiment is premised on the use of the data update event described in the first embodiment, and differs from the second embodiment etc. mainly in that data update events acquired by other information processing terminals are received by each information processing terminal via a relay server and stored in a memory unit. Therefore, components that are substantially the same as those in the second embodiment etc. are given the same reference numerals, and their description will be omitted.
[0097] In this embodiment, on the assumption that each information processing terminal not only records the data it acquires itself in its memory section, but also receives and stores data acquired by other information processing terminals via the relay server, the process of storing the data update event captured by the data update event capturing section 55 in the message queue 54 and the communication process of transmitting and receiving the above message in the message queue 54 by the message communication section 56 when communication with the relay server 2b is possible, thereby performing data synchronization with the server 2, are managed by the OS 52 rather than the app 51.
[0098] That is, the information processing terminal 10 having the functions described in the first embodiment is adopted in the data management system 1a that is premised on the use of the relay server 2b described in the second embodiment. The relay server 2b, which can communicate with each of the multiple information processing terminals 10 and the server 2, functions as a data distribution unit in which the control unit 3 and the communication unit 5 distribute messages related to data update events received from the information processing terminal 10 in accordance with the distribution destinations specified by the information processing terminal 10.
[0099] Therefore, in this embodiment, as in the first embodiment, the same logic can be run in the application 51 regardless of the communication status with the server 2 or the relay server 2b, and it is not necessary to write a description of communication processing with the server 2 when programming the application 51. Therefore, even with limited computer resources, it is possible to realize an information processing terminal 10 that can build an application that is not restricted by the communication status. Also in this embodiment, as in the second embodiment, each information processing terminal 100 can easily grasp the overall data acquisition status using multiple information processing terminals 100, so that even when each information processing terminal 100 performs work to acquire data individually, it is possible to reduce overlapping work regarding data acquisition and improve work efficiency.
[0100] In this embodiment, too, when a data update event is captured, if another data update event with the same data is already stored in the message queue 54, the data update event capturing unit 55 can prevent the captured data update event from being stored in the message queue 54.
[0101] [Fourth embodiment] Next, an information processing terminal and a data management system according to a fourth embodiment of the present invention will be described with reference to the drawings. The fourth embodiment differs from the second and third embodiments in that the information processing terminal 100 makes a predetermined request to the relay server 2b when receiving data from the relay server 2b. Therefore, the same reference numerals are used to designate components that are substantially the same as those in the second and third embodiments, and descriptions thereof will be omitted.
[0102] In this embodiment, assuming that the information processing terminal 100 makes a specified request to the relay server 2b, in the data distribution process performed by the relay server 2b, if there is data whose destination is the information processing terminal 100 that made the specified request, the data is distributed (transmitted) to the information processing terminal 100.
[0103] This allows each information processing terminal 100 to adjust the timing at which data acquired by other information processing terminals 100 is received in accordance with the predetermined request. This enables synchronized execution of processing procedures in the information processing terminals 100 and allows a consistent state to be shared between the information processing terminals 100, thereby reducing the time workers are required to work and improving work efficiency.
[0104] Therefore, in the relay server 2b, the data received from each information processing terminal 100 is stored in the memory unit 4, which functions as a data storage unit, until a specified request is received, and when data destined for the information processing terminal 100 that made the specified request is stored in the memory unit 4, the data is distributed to the information processing terminal 100 by data distribution processing.
[0105] Specifically, for example, in relay server 2b, data A received from information processing terminal 100a and having information processing terminals 100b and 100c as its delivery destinations is stored in storage unit 4. Then, at the timing when the predetermined request is received from information processing terminal 100b in this storage state, data A stored in storage unit 4 with information processing terminal 100b as its delivery destination is transmitted to information processing terminal 100b. Also, at the timing when the predetermined request is received from information processing terminal 100c in the storage state, data A stored in storage unit 4 with information processing terminal 100c as its delivery destination is transmitted to information processing terminal 100c.
[0106] As a result, even if the information processing terminal 100 is unable to make a specified request for a long period of time, such as when communication with the relay server 2b becomes impossible or when the timing of receiving data addressed to the information processing terminal 100 is delayed, the information processing terminal 100 can receive data addressed to the information processing terminal 100 from the relay server 2b at the timing when the specified request can be made again.
[0107] [Fifth embodiment] Next, an information processing terminal and a data management system according to a fifth embodiment of the present invention will be described with reference to the drawings. The fifth embodiment is different from the fourth embodiment etc. in that when the information processing terminal 100 is unable to communicate with the relay server 2b, the information processing terminal 100 stores the read data as transmission standby data in the memory unit 50. Therefore, the same reference numerals are used to designate components that are substantially the same as those in the fourth embodiment etc., and descriptions thereof will be omitted.
[0108] As described above, since it is assumed that the information processing terminal 100 is always connected to the relay server 2b, there is a problem that the reading process cannot be continued if the information processing terminal 100 is unable to connect to the relay server 2b and falls into a communication-disabled state. In particular, in the information processing terminal 100 used in an environment where it is difficult to completely distribute wireless radio waves, such as a factory or warehouse, the information processing terminal 100 is likely to suddenly become unable to communicate with the relay server 2b, making it difficult to continue the reading process.
[0109] For this reason, in the present embodiment, in the data management process performed by the control unit 21 of the information processing terminal 100, when communication with the relay server 2b is disabled, a process is performed to store data acquired by reading by the wireless tag processing unit 30 in the memory unit 50 as transmission standby data. Then, in the data transmission process performed by the control unit 21, when communication with the relay server 2b is enabled and data is received from the relay server 2b in response to a predetermined request, a process is performed to transmit to the relay server 2b the data that has not been received in response to the predetermined request among the transmission standby data stored in the memory unit 50. The relay server 2b is configured to have installed thereon a management application or the like for continuing to manage data and the like whose distribution destination is the information processing terminal 100 that has become unable to communicate until communication is restored.
[0110] Specifically, as illustrated in FIG. 9, when only the information processing terminal 100a among the three information processing terminals 100a, 100b, and 100c becomes unable to communicate with the relay server 2b (S301), the data A, data B, and data C read by the information processing terminal 100a are stored in the memory unit 50 as data waiting to be sent (S302).
[0111] When data B read by information processing terminal 100b is transmitted to relay server 2b (S303), relay server 2b distributes data B to information processing terminal 100c and master server 2a and stores it in storage unit 4 with information processing terminal 100a as the distribution destination (S304). Information processing terminal 100c stores data B received from relay server 2b in memory unit 50 (S305). Then, when data C read by information processing terminal 100c is transmitted to relay server 2b (S306), relay server 2b distributes data C to information processing terminal 100b and master server 2a and stores it in storage unit 4 with information processing terminal 100a as the distribution destination (S307). Information processing terminal 100b stores data C received from relay server 2b in memory unit 50 (S308).
[0112] After that, the information processing terminal 100a, which has recovered to a state where it can communicate with the relay server 2b, makes the above-mentioned predetermined request to the relay server 2b before transmitting the transmission standby data, thereby receiving data B and data C that have been stored in the storage unit 4 with itself as the distribution destination (S309). Then, of the transmission standby data (data A, data B, data C) stored in the memory unit 50, data A that has not been received in response to the predetermined request is transmitted to the relay server 2b (S310), and data B and data C are not transmitted.
[0113] As a result, data A received by relay server 2b from information processing terminal 100a is distributed to information processing terminals 100b and 100c and master server 2a (S311). In information processing terminal 100b, data A received from relay server 2b is stored in memory unit 50 (S312), and in information processing terminal 100c, data A received from relay server 2b is stored in memory unit 50 (S313).
[0114] Furthermore, in the information processing terminal 100a, the data received in response to the specified request is read and stored in the memory unit 50 as acquired data through the data management process (S314), and then the data waiting to be sent that has not been received in response to the specified request is read and stored in the memory unit 50 as acquired data (S315).
[0115] In this way, data waiting to be sent that was acquired when communication was unavailable and that has not been distributed by the relay server 2b is transmitted from the information processing terminal 100 for which communication has been restored to the relay server 2b. Therefore, when data waiting to be sent is to be distributed, data that has already been read by another information processing terminal 100 and therefore has already been distributed can be prevented from being unnecessarily distributed.
[0116] [Sixth embodiment] Next, an information processing terminal and a data management system according to a sixth embodiment of the present invention will be described with reference to the drawings. The sixth embodiment differs from the fifth embodiment etc. in that an information processing terminal that is unable to communicate with the relay server 2b is configured to directly transfer transmission waiting data to another information processing terminal as shared data. Therefore, components that are substantially the same as those in the fifth embodiment etc. are given the same reference numerals, and descriptions thereof will be omitted.
[0117] In the information processing terminal 100 that remains unable to communicate with the relay server 2b due to a failure or the like related to wireless communication, there is a problem that it is not possible to utilize the transmission standby data stored in the memory unit 50. In particular, if an operator mistakenly believes that the terminal is temporarily unable to communicate, such as being out of communication range, and a large amount of data is read and stored in the memory unit 50 as transmission standby data, there is a problem that the reading work up to that point will be wasted.
[0118] For this reason, the information processing terminal 100 of this embodiment is configured to directly transfer the transmission waiting data stored in the memory unit 50 to another information processing terminal 100 as shared data, taking into account communication inability with the relay server 2b, etc.
[0119] Specifically, an information code generated to record data stored in the memory unit 50 as transmission standby data is displayed on the display screen of the display unit 23 by an information code display process performed by the control unit 21 of the information processing terminal 100 that transfers the data to be shared. Therefore, the information code can be optically read by the information code reading unit 40 by an information code reading process performed by the control unit 21 of the information processing terminal 100 that receives the data to be shared, thereby directly receiving the data to be shared. The control unit 21 and display unit 23 that perform the information code display process can correspond to an example of a "data transfer unit," and the control unit 21 and information code reading unit 40 that perform the information code reading process can correspond to an example of a "data receiving unit."
[0120] For example, as illustrated in Fig. 10, it is assumed that the information processing terminal 100a, which is unable to communicate with the relay server 2b (S401), directly transfers data A and data B stored as transmission standby data to the information processing terminal 100b (S402). For convenience, the master server 2a is not shown in Fig. 10.
[0121] In this case, in the information processing terminal 100a that has performed the predetermined operation for delivery, one information code (see symbol Cr in FIG. 10) that records both data A and data B is displayed on the display screen 23a of the display unit 23 (S403). Therefore, in the information processing terminal 100b that has performed the predetermined operation for receipt, by pointing its reading port 12 toward the display screen 23a of the information processing terminal 100a, data A and data B that have been read from the information code by the information code reading unit 40 can be directly received as shared data.
[0122] As described above, in the control unit 21 of the information processing terminal 100b that directly received the data A and data B as the shared data, since the data A and data B are not stored in the memory unit 50, a data management process is performed to store the data A and data B in the memory unit 50 (S404). That is, in the data management process, a process is performed to store in the memory unit 50 the data that is not stored in the memory unit 50 among the received shared data. Then, by a data transmission process performed by the control unit 21, the data A and data B are transmitted to the relay server 2b via the communication unit 26 with the other information processing terminals 100a, 100c and the master server 2a as the distribution destinations (S405).
[0123] In the relay server 2b, the data A and data B received from the information processing terminal 100b are distributed to the information processing terminal 100c and the master server 2a (S406), and the data A and data B destined for the information processing terminal 100a are stored in the memory unit 4.
[0124] In the control unit 21 of the information processing terminal 100c, if the data A and data B received from the relay server 2b via the communication unit 26 are not stored in the memory unit 50, a data management process is performed to store the data A and data B in the memory unit 50 (S407).
[0125] Then, the control unit 21 of the information processing terminal 100c, which has read the data C from the RF tag T by the RF tag processing unit 30, issues a predetermined notification that the data C is not stored in the memory unit 50. Then, the control unit 21 performs a data management process to store the data C in the memory unit 50, and also performs a data transmission process to transmit the data C to the relay server 2b via the communication unit 26 with the other information processing terminals 100a, 100b and the master server 2a as distribution destinations (S408).
[0126] In the relay server 2b, the data C received from the information processing terminal 100c is distributed to the information processing terminal 100b and the master server 2a (S409), and the data C whose distribution destination is the information processing terminal 100a is stored in the storage unit 4.
[0127] In the control unit 21 of the information processing terminal 100b, if the data C received from the relay server 2b is not stored in the memory unit 50, a data management process is performed to store the data C in the memory unit 50 (S410).
[0128] Furthermore, information processing terminal 100c, which has read data C as described above, determines that the work is complete and that all of the data to be acquired has been stored in memory unit 50, and transmits a work completion notification to relay server 2b via communication unit 26, with other information processing terminals 100a, 100b and master server 2a as distribution destinations. Relay server 2b distributes the work completion notification received from information processing terminal 100c to information processing terminal 100b and master server 2a. Information processing terminal 100b, which has received the work completion notification, understands that the work is complete and that all of the specified data has been read.
[0129] In this way, data acquired by an information processing terminal 100 (100a) that is unable to communicate with the relay server 2b can be transmitted as shared data to the relay server 2b via an information processing terminal 100 (100b) that is able to communicate with the relay server 2b, thereby improving the recoverability of data acquisition work during collaboration.
[0130] In particular, in this embodiment, an information processing terminal 100 in a communication-disabled state displays an information code (see symbol Cr in Figure 10) that records the shared data, and an information processing terminal 100 in a communication-enabled state receives the shared data by optically reading the data recorded in the information code.
[0131] As a result, even if an information processing terminal 100 becomes unable to communicate with not only the relay server 2b but also other information processing terminals 100, it is possible to directly transfer the shared data to the other information processing terminals 100. In particular, since the information code reader 40 that can be used to read data can be used as a "data receiver" for the shared data, the shared data can be transferred smoothly.
[0132] When a large amount of data is stored in the memory unit 50 as data waiting to be sent, the information processing terminal 100 on the sending side displays information codes recording each piece of data in a sequentially repeated manner at a predetermined interval, and the information processing terminal 100 on the receiving side reads each information code in sequence, thereby enabling direct reception of even a large amount of data. The above effect can also be achieved by sequentially displaying a plurality of information codes recording the data waiting to be sent (data to be shared) in a repeated manner, for example, an information code recording three pieces of data out of eight pieces of data, an information code recording the other three pieces of data, and an information code recording the remaining two pieces of data.
[0133] Furthermore, the means for transferring shared data is not limited to reading the information code described above, and the data transfer unit and data receiving unit for transferring shared data may also be, for example, wireless communication using a short-range wireless communication unit 27 or Wi-Fi, or wired communication using a cable.
[0134] [Seventh embodiment] Next, an information processing terminal and a management system according to a seventh embodiment of the present invention will be described with reference to the drawings. In the case of a conventional method of controlling an information processing terminal using a thin client system, when a screen transfer type is adopted in which the drawing information of the entire screen to be displayed is sent from the server to the information processing terminal, the screen rewrite response may be delayed depending on the communication state of the network. On the other hand, when a network boot type that can be used offline is adopted, there is a problem that the processing time becomes long when running an application that includes complex processing on a portable information processing terminal, which generally has limited computer resources.
[0135] 11 , in the information processing terminal 210, server 201, and management system 200 according to this embodiment, a screen template P in which a predetermined update area Ps is provided is stored in advance in the memory unit 50 of the information processing terminal 210 by, for example, downloading it. This improves the response of screen updates (screen rewriting) by minimizing the information transferred from the server 201 via the communication unit 26 regarding screen drawing information displayed on the display screen 23a of the display unit 23 when a predetermined application is executed. Note that the information processing terminal 210 has a hardware configuration equivalent to that of the information processing terminal 10 or the information processing terminal 100 described above, and the server 201 has a hardware configuration equivalent to that of the server 2 described above.
[0136] 12, when a predetermined application is executed by the control unit 21, if the screen template P is not stored in advance (No in S501), a first request is made to the server 201 via the communication unit 26, and the screen template P is downloaded from the server 201 and stored in the memory unit 50 (S502). If the screen template P is downloaded in this manner or is already stored in the memory unit 50 (Yes in S501), the screen template P read from the memory unit 50 is displayed on the display screen 23a of the display unit 23 (S503). If a screen update message is not received from the server 201 via the communication unit 26 (No in S504), the update region Ps of the screen template P remains blank. Thereafter, if an update message is received from the server 201 in response to a second request via the communication unit 26 (Yes in S504), information corresponding to the update message is displayed in the update region Ps of the screen template P (S505).
[0137] In the example of FIG. 11, when a predetermined application is executed, the screen template P of the display screen 23a is updated so that the update message "TEST" received from the server 201 in response to the second request is displayed in the update area Ps.
[0138] That is, the information processing terminal 210 according to this embodiment: It is provided in the management system 200 together with the server 201, a control unit 21 for executing a predetermined application; a communication unit 26 for transmitting and receiving messages to and from the server 201; A display unit 23; a memory unit (50) for storing a screen template (P) to be displayed on the display screen (23a) of the display unit (23) when a predetermined application is executed; Equipped with The update area Ps of the screen template P read from the memory unit 50 when a predetermined application is executed is updated in response to a message received from the server 201 via the communication unit 26.
[0139] In this way, by sending an update instruction for a portion of the screen to be displayed on the information processing terminal 210 from the server 201 as an update message, it is possible to perform screen updating faster than with the screen transfer type of conventional thin client systems. Furthermore, by storing the screen template P in the memory unit 50 in advance in the information processing terminal 210, it is not necessary to generate the entire screen by an application, and therefore the screen display process can be executed quickly. In particular, since the screen update is not performed on the entire screen but only on the update region Ps, the screen display process can be executed more quickly.
[0140] The number of screen templates P is not limited to one, and multiple types may be stored in memory unit 50 so that they can be sequentially used by a predetermined application, and the displayed screen template P may be switched in response to an operation on operation unit 24, etc. For example, the display state of first screen template P1 illustrated in FIG. 13(A) may be switched to the display state of second screen template P2 to which a pull-down update area Ps is added, as illustrated in FIG. 13(B), in response to a press operation of the "ENTER key" on operation unit 24 (a tap operation of "ENTER" displayed on the screen when a touch panel type display unit 23 is employed). The pull-down list in this display format is received from server 201 in response to the second request.
[0141] Next, a first modified example of the seventh embodiment will be described with reference to FIG. In the first modified example of the seventh embodiment, a plurality of update areas Ps are provided for one screen template P. For this reason, the update message received from the server 201 in response to the second request includes position information for identifying the update areas Ps.
[0142] 14, for example, assume that a screen template P provided with two update regions, a first update region Ps1 and a second update region Ps2, is stored in the memory unit 50 (S502). In this case, when an update message is received from the server 201 in response to a second request to update the display state of the first update region Ps1 (Yes in S504), information corresponding to the update message is displayed in the first update region Ps1 of the screen template P (S505). In the example of FIG. 14, the screen template P on the display screen 23a is updated based on the update message "α" received from the server 201 and the position information indicating the first update region Ps1, so that "α" is displayed in the first update region Ps1. Similarly, when an update message is received from the server 201 in response to a second request to update the display state of the second update region Ps2 (Yes in S504), information corresponding to the update message is displayed in the second update region Ps2 of the screen template P (S505).
[0143] In this way, assuming that multiple update areas Ps are set up for one screen template P, by including location information for identifying the update areas Ps in the update message from server 201, it becomes possible to update multiple update areas Ps on the screen template P using the update message from server 201.
[0144] The number of update areas Ps provided for one screen template P is not limited to two as described above, and three or more update areas Ps may be provided. For example, as illustrated in FIG. 15 , a screen template P may be adopted that has a first update area Ps1 that serves as a pull-down display area for "PC Name," a second update area Ps2 that serves as a pull-down display area for "User," and a third update area Ps3 that serves as a pull-down display area for "Installation Location." In this case, a pull-down list to be displayed in the first update area Ps1 is received from the server 201 in response to a second request in response to a pull-down operation in the first update area Ps1. Furthermore, a pull-down list to be displayed in the second update area Ps2 is received from the server 201 in response to a second request in response to a pull-down operation in the second update area Ps2, and a pull-down list to be displayed in the third update area Ps3 is received from the server 201 in response to a pull-down operation in the third update area Ps3.
[0145] Next, a second modified example of the seventh embodiment will be described with reference to FIGS. As illustrated in FIG. 16, in the second variant of the seventh embodiment, instead of executing an application on the information processing terminal 210, the server 201 executes a server application for screen update, and sends an update message to be displayed in the update area Ps from the server 201 to the information processing terminal 210.
[0146] 17, in a state where the screen template P read out from the memory unit 50 is displayed on the display screen 23a (S503), the information processing terminal 210 makes a request to the server 201 via the communication unit 26 to start a server application for updating the screen (S506), and in response to this start request, the server application for updating the screen is executed in the server 201. Then, as a result of the execution of the server application in the server 201, an update message is received from the server 201 (Yes in S504), and information corresponding to the update message is displayed in the update region Ps of the screen template P (S505).
[0147] As a result, even if the processing for screen updating is complex, the screen update (screen rewriting) can be performed faster by executing a server application on the server 201, which has many computer resources, than by executing a terminal application for screen updating on the information processing terminal 210.
[0148] Next, a third modified example of the seventh embodiment will be described with reference to FIGS. In the third modified example of the seventh embodiment, as illustrated in FIG. 18, the application for updating the screen is switched based on whether or not network communication is possible (the information processing terminal 210 and the server 201 are able to communicate with each other).
[0149] 19, in a state where the screen template P read from the memory unit 50 is displayed on the display screen 23a (S503), the information processing terminal 210 makes a request to the server 201 via the communication unit 26 to start a server application for screen updating (S506), and the terminal application for screen updating is executed in the information processing terminal 210 (S507). Therefore, if network communication is possible, the terminal application for screen updating and the server application for screen updating are executed in parallel and separately.
[0150] Then, if the network communication state is maintained (Yes in S508), an update message is received from server 201 in response to the second request (Yes in S504), and information corresponding to the update message is displayed in update area Ps of screen template P (S505). On the other hand, if the network communication state is not available (No in S508), the information displayed in update area Ps of screen template P is changed (updated) based on the execution result of the terminal application for screen update (S509).
[0151] 20, in the case of an application for displaying the time, when network communication is possible, an update message regarding "time information" obtained by execution of the server application is received, and the screen "time information" is displayed in the update area Ps of the screen template P (S505). On the other hand, when network communication is not possible, the "time information" obtained by execution of the terminal application is displayed in the update area Ps of the screen template P (S509).
[0152] As a result, when network communication is possible, the computer resources of the server 201 are used to perform high-speed screen updates, and even if network communication is interrupted, the screen updates can be continued using a terminal application executed by the information processing terminal 210 itself.
[0153] Next, a fourth modified example of the seventh embodiment will be described with reference to FIGS. In the fourth modified example of the seventh embodiment, processing is performed to synchronize the display content of the server application executed when network communication is possible with the display content of the terminal application executed when network communication is disconnected.
[0154] 21(A), if the display content is updated by the server application when network communication is possible, a message for synchronizing the state of the display content with the terminal application (hereinafter also referred to as a terminal synchronization message) is transmitted from server 201 to information processing terminal 210. Also, as shown in Fig. 21(B), if the display content is updated by the terminal application when network communication is impossible, a message for synchronizing the state of the display content with the server application (hereinafter also referred to as a server synchronization message) is stored in memory unit 50 and transmitted from information processing terminal 210 to server 201 when communication is restored.
[0155] Specifically, in the information processing terminal 210, as shown in the flowchart in FIG. 22, when the terminal application for screen updating and the server application for screen updating are running in parallel and individually (S506, S507), and a state in which network communication is possible is maintained (Yes in S508), a determination is made in the determination process of step S510 as to whether or not a synchronization message for the server is stored in the memory unit 50.
[0156] Here, when a server synchronization message is not stored in memory unit 50 (No in S510), and an update message is received from server 201 (Yes in S504), information corresponding to the update message is displayed in update area Ps of screen template P (S505). At this time, the terminal application uses the terminal synchronization message received from server 201 along with the update message to perform processing for synchronization with the server application being executed in parallel (S511).
[0157] Then, when network communication becomes unavailable (No in S508), the information displayed in the update area Ps of the screen template P is changed (updated) based on the execution result of the terminal application for screen update (S509). Then, a server synchronization message corresponding to the display update is created and saved in memory unit 50 (S512). Thereafter, the screen is updated by the terminal application, and the state in which the server synchronization message created in association with the screen update is saved in memory unit 50 is maintained until the network communication is restored.
[0158] Then, when the network communication state is restored (Yes in S508), since the server synchronization message is stored in memory unit 50 (Yes in S510), the stored server synchronization message is transmitted to server 201 via communication unit 26 (S513). As a result, the server application of server 201 uses the server synchronization message received from information processing terminal 210 to perform processing for synchronizing with the terminal application being executed in parallel.
[0159] For example, consider the case of an application that displays the number of information codes read by the information processing terminal 210. If the synchronization process described above is not performed, as shown in Fig. 23(A), if "60 codes" are read when network communication is possible, and then "40 codes" are read when network communication is not possible, resulting in the display of "100 codes," then when communication is restored, the display will incorrectly show the number of codes read as "60 codes."
[0160] Therefore, by performing synchronization processing as in this modified example, even if "60 sheets" are read when network communication is possible and then another "40 sheets" are read when network communication is impossible, a server synchronization message that can recognize the number of "40 sheets" read is sent from the information processing terminal 210 to the server 201. As a result, the server application can synchronize with the terminal application using the server synchronization message, and so can display the correct number of sheets read, "100 sheets," when communication is restored, as shown in the example of Fig. 23(B).
[0161] In this way, by synchronizing the display content of the server application executed when network communication is possible with the display content of the terminal application executed when network communication is disconnected, it is possible to correctly and effectively utilize the results of work performed when network communication is unavailable.
[0162] The present invention is not limited to the above-described embodiments, and may be embodied as follows, for example. (1) In the present invention, the data read and acquired by the information processing terminals 10, 100, 210, etc. is not limited to being a tag ID recorded in a wireless tag T, but may be information recorded in an information code, or may be multiple types of data, such as both a wireless tag T and an information code. Furthermore, the present invention is not limited to being adopted in information processing terminals and servers, etc., used in inventory work, etc., but may also be adopted in information processing terminals and servers, etc., used in work to acquire other data, etc. [Explanation of symbols]
[0163] 1,1a Data Management System 2 Server 2a Master Server 2b Relay server 3. Control section (data distribution section) 4. Memory section (data storage section) 5. Communications Department (Data Distribution Department) 10 Information processing terminal 21 control unit (data management unit, data transmission unit, data reception unit, data transfer unit, data reception unit) 23 Display unit (data transfer unit) 26 Communication unit (data transmission unit, data reception unit) 30 Wireless tag processing unit (acquisition unit) 40 Information code reading unit (data receiving unit, acquisition unit) 50 Memory section 51 Apps (prescribed applications) 52 OS (Operating System) 53 Read list (data) 54 Message Queue 55 Data update event capture section 56 Message communication section 100, 100a, 100b, 100c Information processing terminal 200 Management System 201 Server 210 Information processing terminal
Claims
1. A memory unit; a control unit that loads and executes software from the memory unit; a communication unit for transmitting and receiving messages to and from a server; An information processing terminal comprising: The memory unit includes: A predetermined application; an operating system that manages the predetermined application; Data obtained by executing the predetermined application; and A message queue and a data update event capturing unit that captures a data update event for data update by the predetermined application and stores the data update event in the message queue; a message communication unit that, when communication with the server is possible, performs data synchronization with the server by sending and receiving messages related to the data update event stored in the message queue; is stored, The information processing terminal is characterized in that the data update event capturing unit and the message communication unit are managed by the operating system.
2. 2. The information processing terminal according to claim 1, wherein the data update event is generated so as to include information that enables the contents of the data update to be understood.
3. The information processing terminal according to claim 1, characterized in that the data update event capturing unit does not store the captured data update event in the message queue if another data update event with the same data is already stored in the message queue when the data update event is captured.
4. a plurality of information processing terminals according to claim 3; a relay server capable of communicating with each of the plurality of information processing terminals and the server; A data management system comprising: The relay server a data distribution unit that distributes a message regarding the data update event received from the information processing terminal according to a distribution destination designated by the information processing terminal.
5. the information processing terminal makes a predetermined request to the relay server; The relay server a data storage unit that stores the data update event received from the information processing terminal until the predetermined request is received; The data management system described in claim 4, characterized in that the data distribution unit distributes a message regarding the data update event to the information processing terminal when the data update event, whose destination is the information processing terminal that made the specified request, is stored in the data storage unit.
6. 5. The data management system according to claim 4, wherein the information processing terminal makes the predetermined request to the relay server after confirming that communication with the relay server is possible.
7. The data management system described in claim 4, characterized in that when it is determined that the data update events for all data to be acquired are in a work-completed state where they are stored in the message queue, the message communication unit sends a work-completion notification to the relay server, including other information processing terminals as distribution destinations.
8. A plurality of information processing terminals; a relay server capable of communicating with each of the plurality of information processing terminals; A data management system comprising: The information processing terminal an acquisition unit for acquiring data; a memory unit in which the data acquired by the acquisition unit is stored; a data transmission unit that transmits at least a part of the data acquired by the acquisition unit to the relay server so that other information processing terminals are included as distribution destinations; a data receiving unit that receives data distributed from the relay server; a data management unit that performs processing to store in the memory unit data that has not been stored in the memory unit among the data received by the data receiving unit; Equipped with The relay server a data distribution unit that distributes data received from the information processing terminal in accordance with the distribution destinations;
9. 9. The data management system according to claim 8, wherein the data transmission unit transmits to the relay server data that is not stored in the memory unit among the data acquired by the acquisition unit.
10. the information processing terminal makes a predetermined request to the relay server; 10. The data management system according to claim 9, wherein, when there is data whose destination is the information processing terminal that has made the predetermined request, the data distribution unit distributes the data to the information processing terminal.
11. The relay server a data storage unit in which data received from the information processing terminal is stored until the predetermined request is received; The data management system according to claim 10, characterized in that the data distribution unit distributes data to the information processing terminal that made the specified request when the data is stored in the data storage unit and the data is intended for distribution to the information processing terminal.
12. the data management unit performs a process for storing the data acquired by the acquisition unit as transmission standby data in the memory unit when communication with the relay server is unavailable; The data management system described in claim 11, characterized in that when the data transmitting unit becomes able to communicate with the relay server and receives data in response to the specified request by the data receiving unit, the data that has not been received in response to the specified request among the transmission waiting data stored in the memory unit is transmitted to the relay server.
13. The data management system according to claim 8, characterized in that when the data management unit determines that the work is complete and all data to be acquired is stored in the memory unit, the data transmission unit sends a work completion notification to the relay server, including other information processing terminals as distribution destinations.
14. The information processing terminal a data transfer unit for directly transferring at least a portion of the data stored in the memory unit to another information processing terminal as shared data; a data receiving unit for directly receiving the shared data from the data transfer unit of another information processing terminal; Equipped with 9. The data management system according to claim 8, characterized in that the data management unit performs processing to store in the memory unit data from the shared data received by the data receiving unit that is not stored in the memory unit.
15. the data transfer unit is configured to display one information code in which the data to be shared is recorded, or to sequentially display a plurality of information codes in which the data to be shared is separately recorded, 15. The data management system according to claim 14, wherein the data receiving unit is configured to receive the shared data by optically reading data recorded in the information code.
Citation Information
Patent Citations
Software execution system
JP4707302B2