Information processing device and program
The system processes requests from multiple sources by prioritizing the oldest processing date and time, addressing uneven distribution and ensuring fair processing across all terminals.
Patent Information
- Application Number
- JP2023007467
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-01-20
- Publication Date
- 2025-12-17
- Estimated Expiration
- 2043-01-20
AI Technical Summary
Existing systems fail to efficiently process and distribute processing requests from multiple request sources, resulting in potential biases towards a specific client terminal.
The system comprises a means for receiving and processing processing requests from multiple request sources, prioritizing the oldest processing date and time based on recorded identifiers, ensuring even distribution of processing across all sources.
Ensures even processing of requests from multiple sources, preventing bias towards specific terminals, even if consecutive requests are sent from a single source.
Smart Images

Figure 0007787833000001 
Figure 0007787833000002 
Figure 0007787833000003
Abstract
Description
[Technical Field]
[0001] An embodiment of the present invention relates to an information processing device and a program. [Background technology]
[0002] Conventionally, there has been a system in which a server device, which is an information processing device, receives processing requests from each of the requesting client terminals and processes the received processing requests sequentially. For example, a conventional server has been proposed that, when it receives information on one or more destination departments, calculates and outputs a predicted waiting time for each department by multiplying the average waiting time for each department by the number of people waiting for processing in that department.
[0003] In the server device of the above-described system, when processing requests are received from multiple client terminals, there is a possibility that the processing will be biased toward a specific client terminal. For example, if a processing request is sent from another client terminal while or after multiple processing requests are being sent consecutively from a specific client terminal, there is a possibility that the multiple processing requests sent from the specific client terminal will be executed preferentially. Summary of the Invention [Problem to be solved by the invention]
[0004] The problem to be solved by the present invention is to provide an information processing device and a program that are capable of leveling and processing processing requests from a plurality of request sources. [Means for solving the problem]
[0005] The information processing device of the embodiment comprises a reception means for receiving processing requests including data collected at a store from multiple request sources, a processing means for executing processing based on the data of the processing requests received by the reception means, a recording means for recording the processing date and time when the processing means last processed a processing request received from the request source corresponding to the identifier, in association with an identifier that identifies each of the request sources, and a control means for, when the reception means receives processing requests from multiple request sources, causing the processing means to process the processing request from the request source with the oldest processing date and time based on the processing date and time recorded in association with each identifier of the request sources. [Brief explanation of the drawings]
[0006] [Figure 1] FIG. 1 is a diagram illustrating an example of a data processing system according to an embodiment. [Figure 2] FIG. 2 is a diagram illustrating an example of a hardware configuration of the imaging device according to the embodiment. [Figure 3] FIG. 3 is a diagram illustrating an example of a hardware configuration of a server device according to the embodiment. [Figure 4] FIG. 4 is a diagram illustrating an example of the functional configuration of the imaging device and the server device according to the embodiment. [Figure 5] FIG. 5 is a diagram illustrating an example of the state of a processing date and time table according to the embodiment. [Figure 6] FIG. 6 is a diagram illustrating an example of the state of a processing date and time table according to the embodiment. [Figure 7] FIG. 7 is a diagram illustrating an example of the state of a processing date and time table according to the embodiment. [Figure 8] FIG. 8 is a diagram illustrating an example of the state of a processing date and time table according to the embodiment. [Figure 9] FIG. 9 is a diagram illustrating an example of the state of a processing date and time table according to the embodiment. [Figure 10] FIG. 10 is a flowchart illustrating an example of processing performed between the imaging device and the server device according to the embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0007] Hereinafter, an information processing device and a program according to an embodiment will be described with reference to the drawings. In the embodiment described below, an example in which the information processing device and the program are applied to a store such as a supermarket will be described, but the present invention is not limited to this embodiment.
[0008] Fig. 1 is a diagram showing an example of a data processing system according to an embodiment. As shown in Fig. 1, the data processing system 1 includes a POS terminal 10, an imaging device 20, and a server device 30. The POS terminal 10 and the imaging device 20 are communicatively connected via a connection line L such as a USB (Universal Serial Bus) cable. The imaging device 20 and the server device 30 are communicatively connected via a wired or wireless network N.
[0009] The configuration of the data processing system 1 is not limited to the example in Fig. 1. For example, although Fig. 1 shows three pairs of POS terminals 10 and imaging devices 20, the number of pairs is not limited to this. Also, each of the POS terminals 10 may be configured to be connected to a network N.
[0010] The POS terminal 10 is a sales data processing device that executes sales data processing such as registration processing of products to be purchased by customers and accounting processing of products registered by the registration processing. The POS terminal 10 acquires from the imaging device 20 the product code of a product imaged by the imaging device 20, and executes the registration processing and accounting processing based on this product code.
[0011] Specifically, the POS terminal 10 reads out product information corresponding to the product code of the product imaged by the imaging device 20 from a product master that associates the product code of each product sold in the store with product information such as the product name and price of the product.The POS terminal 10 then executes a registration process for the product purchased by the customer by storing the acquired product code and product information in a storage device such as RAM (Random Access Memory).Furthermore, when the POS terminal 10 receives an instruction to end registration, it calculates the total price of the products based on the prices and registered quantities of the products included in the product information of the products registered up to that point.The POS terminal 10 then executes a checkout process to settle the calculated total price with the amount paid by the customer.
[0012] Furthermore, a product that is the subject of a service such as a discount or price reduction may be affixed with a sticker (hereinafter also referred to as a service mark) that indicates the details of the service to be provided using a predetermined mark. In this case, the POS terminal 10 acquires the details of the service indicated by the service mark affixed to the product from the imaging device 20 and applies the service to the product according to the details. For example, if the service content indicated by the service mark indicates a 100 yen discount, the POS terminal 10 executes the transaction using a price that is 100 yen discounted from the price of the product to which the service mark is affixed. Also, for example, if the service content indicated by the service mark indicates a 10% discount, the POS terminal 10 executes the transaction using a price that is 10% discounted from the price of the product to which the service mark is affixed.
[0013] The imaging device 20 is an example of a terminal device (client) that requests processing. The imaging device 20 has an imaging element such as a CCD (Charge Coupled Device) or a CMOS (Complementary Metal Oxide Semiconductor). The imaging device 20 detects code symbols such as barcodes and two-dimensional codes from images (image data) obtained by imaging, and reads information contained in the code symbols by decoding the code symbols. The imaging device 20 then outputs the read information to the POS terminal 10. For example, the imaging device 20 reads a product code from a code symbol attached to a product, and outputs the read information to the POS terminal 10. The image obtained by imaging by the imaging device 20 is an example of data collected in a store.
[0014] Furthermore, the imaging device 20 transmits the captured image to the server device 30 as a processing request, thereby requesting the server device 30 to process the image. In this embodiment, a case will be described in which the imaging device 20 requests the server device 30 to perform recognition processing of a service mark affixed to a product. Then, when the imaging device 20 acquires a processing result from the server device 30, the imaging device 20 outputs the acquired processing result to the POS terminal 10. Specifically, when the imaging device 20 receives service content as a processing result from the server device 30, the imaging device 20 outputs the service content to the POS terminal 10.
[0015] The server device 30 is an example of an information processing device. The server device 30 receives processing requests from each of the imaging devices 20 and executes predetermined processing on the data of the processing requests. Specifically, when the server device 30 receives a processing request from an imaging device 20, the server device 30 recognizes a service mark from the image included in the processing request and executes processing to identify the service content indicated by the recognized service mark. The server device 30 then transmits the identified service content to the imaging device 20 that sent the request.
[0016] In this way, the data processing system 1 is configured so that the service mark recognition process, which generally has a higher processing load than reading a code symbol, is performed by the server device 30. For this reason, the server device 30 has, for example, a hardware configuration specialized for image processing, or a hardware configuration with higher processing power than the POS terminal 10 and the imaging device 20.
[0017] Next, we will explain the configuration of the main devices that make up the data processing system 1. Fig. 2 is a diagram showing an example of the hardware configuration of the imaging device 20. As shown in Fig. 2, the imaging device 20 includes a CPU (Central Processing Unit) 21, a ROM (Read Only Memory) 22, and a RAM (Random Access Memory) 23.
[0018] The CPU 21 is an example of a processor, and performs overall control of each unit of the imaging device 20. The ROM 22 stores various programs. The RAM 23 is a workspace where programs and various data are expanded.
[0019] The CPU 21, ROM 22, and RAM 23 are connected via a bus or the like to constitute a computer-configured control unit 200. In the control unit 200, the CPU 21 loads a program stored in the storage unit 24 or the like into the RAM 23, and operates in accordance with the program loaded into the RAM 23, thereby executing various processes.
[0020] The imaging device 20 also includes a storage unit 24, an imaging unit 25, a connection unit 26, a communication unit 27, and the like.
[0021] The storage unit 24 is an auxiliary storage device such as a flash memory or an SSD (Solid State Drive). The storage unit 24 stores various programs and various setting information executable by the CPU 21. For example, the storage unit 24 detects a code symbol from an image and stores a program and setting information for decoding the code symbol.
[0022] The imaging unit 25 is a digital camera having an imaging element such as a CCD or CMOS. In this embodiment, the imaging unit 25 captures an image of a commodity purchased by a customer, but the subject of the image is not limited to a commodity.
[0023] The connection unit 26 is an interface for connecting to the POS terminal 10. The connection unit 26 is, for example, a USB interface or the like, and is connected to the POS terminal 10 so as to be able to communicate with the POS terminal 10. The communication unit 27 is a wired or wireless communication interface that can be connected to a network N. The communication unit 27 is connected to the network N, and transmits and receives various data to and from the server device 30 or the like that is connected to the network N.
[0024] 3 is a diagram illustrating an example of a hardware configuration of the server device 30. As illustrated in FIG.
[0025] The CPU 31 is an example of a processor, and performs overall control of each unit of the server device 30. The ROM 32 stores various programs. The RAM 33 is a workspace where programs and various data are developed.
[0026] The CPU 31, ROM 32, and RAM 33 are connected via a bus or the like to constitute a computer-configured control unit 300. In the control unit 300, the CPU 31 loads a program stored in the storage unit 34 or the like into the RAM 33, and operates in accordance with the loaded program to execute various processes.
[0027] The server device 30 also includes a storage unit 34, a display unit 35, an operation unit 36, a communication unit 37, and the like.
[0028] The storage unit 34 is an auxiliary storage device such as a flash memory, an SSD, or an HDD (Hard Disk Drive). The storage unit 34 stores various programs and various setting information executable by the CPU 31. For example, the storage unit 34 stores a program and setting information that can recognize a service mark from an image and identify the service content indicated by the service mark.
[0029] The display unit 35 is a display device such as an LCD (Liquid Crystal Display). The display unit 35 displays various information under the control of the CPU 31. The operation unit 36 is an input device such as a keyboard or a pointing device. The operation unit 36 outputs operation contents received from an operator such as a store clerk to the CPU 31. The operation unit 36 may be a touch panel provided on the display screen of the display unit 35.
[0030] The communication unit 37 is a wired or wireless communication interface connectable to the network N. The communication unit 37 transmits and receives various data to and from the imaging device 20 and the like connected to the network N.
[0031] Next, a description will be given of the functional configuration of the imaging device 20 and the server device 30. Fig. 4 is a diagram showing an example of the functional configuration of the imaging device 20 and the server device 30. As shown in Fig. 4, the imaging device 20 includes, as functional components, an imaging control unit 201, a code reading unit 202, a processing request unit 203, and an output control unit 204. Specifically, the control unit 200 (CPU 21) of the imaging device 20 executes a program stored in the ROM 22 or the storage unit 24 to realize the above-mentioned functional configuration.
[0032] In this embodiment, the functional configuration of the imaging device 20 is a software configuration realized by cooperation between the processor of the imaging device 20 and a program, but this is not limited to this, and the functional configuration may also be a hardware configuration in which part or all of the functional configuration is realized by a dedicated circuit or the like.
[0033] The imaging control unit 201 of the imaging device 20 controls operations related to imaging by the imaging unit 25. Specifically, the imaging control unit 201 operates the imaging unit 25 under predetermined imaging conditions, and acquires images (image data) generated by imaging from the imaging unit 25. For example, the imaging control unit 201 operates the imaging unit 25 at a predetermined frame rate, and acquires images generated at predetermined frame intervals.
[0034] The code reading unit 202 detects a code symbol from the image acquired by the imaging control unit 201. The code reading unit 202 also reads information contained in the detected code symbol by decoding the code symbol. For example, when a code symbol attached to a product is imaged by the imaging unit 25, the code reading unit 202 detects the code symbol from the image acquired by the imaging control unit 201 and reads a product code that identifies the product.
[0035] The processing request unit 203 transmits a processing request including the image acquired by the imaging control unit 201 to the server device 30. Here, the processing request unit 203 includes an identifier (hereinafter also referred to as a request source identifier) capable of identifying its own imaging device 20 (or the paired POS terminal 10) that is the request source in the processing request (or transmits the processing request together with the processing request to the server device 30). The identifier may be, for example, the IP address or host name of the imaging device 20. Furthermore, the processing request unit 203 may include an identifier capable of identifying each processing request in the processing request.
[0036] Furthermore, the processing request unit 203 receives a processing result as a response to the processing request from the server device 30. Specifically, the processing request unit 203 receives a processing result indicating the presence or absence of a service mark and the service content of the service mark from the server device 30.
[0037] The processing request unit 203 may limit the images to be sent as processing requests or the period for issuing processing requests, depending on the reading result of the code reading unit 202. For example, the processing request unit 203 may sequentially send processing requests for images in which a code symbol is detected by the code reading unit 202. Furthermore, for example, the processing request unit 203 may use the timing of capturing an image in which a code symbol is detected by the code reading unit 202 as a base point and sequentially send processing requests for each image captured within a predetermined time from the base point.
[0038] The output control unit 204 controls data output to the POS terminal 10. Specifically, the output control unit 204 outputs the reading result of the code reading unit 202 to the POS terminal 10. In addition, the output control unit 204 outputs the processing result that the processing request unit 203 receives from the server device 30 to the POS terminal 10.
[0039] The output control unit 204 may output the product code, which is the reading result of the code reading unit 202, together with the processing result of the server device 30, or may output them separately. Furthermore, when the processing result of the server device 30 indicates that a service mark does not exist, the output control unit 204 may suppress output of the processing result.
[0040] The output control unit 204 may also control the number of times that the reading result and the processing result for the same product are output only once. For example, the output control unit 204 may be configured to discard the product code read within a predetermined time period if the same product code is read one or more times within the predetermined time period after one product code is read. For example, the output control unit 204 may be configured to discard the service content received within the predetermined time period if the same service content is received one or more times within the predetermined time period after receiving one service content as a processing result.
[0041] On the other hand, the server device 30 has, as its functional components, a processing request receiving unit 301, a processing execution unit 302, a recording processing unit 303, an execution control unit 304, and a processing result transmission unit 305. Specifically, the control unit 300 (CPU 31) of the server device 30 executes a program stored in the ROM 32 or the storage unit 34 to realize the above-mentioned functional components.
[0042] In this embodiment, the functional configuration of the server device 30 is a software configuration realized by cooperation between the processor of the server device 30 and a program, but this is not limited to this, and the functional configuration may also be a hardware configuration in which part or all of the functional configuration is realized by a dedicated circuit or the like.
[0043] The processing request receiving unit 301 is an example of a receiving unit and a storage control unit. The processing request receiving unit 301 receives processing requests for images captured in a store from a plurality of imaging devices 20. The processing request receiving unit 301 also stores the received processing requests in a storage area (hereinafter also referred to as a processing queue memory) secured in the RAM 33 or the storage unit 34. Here, the processing requests stored in the processing queue memory are processing requests that have not yet been processed by the processing execution unit 302, which will be described later.
[0044] Specifically, when the processing request receiving unit 301 receives a processing request from the imaging device 20, the processing request receiving unit 301 associates the image to be processed included in the processing request with a request source identifier that identifies the imaging device 20 that made the request, and stores the associated images in the processing queue memory. The processing request receiving unit 301 also stores the processing requests in the processing queue memory in the order in which they were received.
[0045] The processing execution unit 302 is an example of a processing means. The processing execution unit 302 executes a predetermined process based on the image of the processing request accepted by the processing request acceptance unit 301. Specifically, under the control of the execution control unit 304, the processing execution unit 302 reads the processing request to be executed from the processing queue memory and executes the predetermined process on the image included in the processing request. Note that the processing request read by the processing execution unit 302 is assumed to be deleted from the processing queue memory by being expanded in the RAM 33 or the like.
[0046] Although the processing content executed by the processing execution unit 302 is not particularly limited, in this embodiment, the processing execution unit 302 executes processing related to service mark recognition. For example, the processing execution unit 302 recognizes a service mark from an image included in a processing request by using a known technology such as image recognition technology, and identifies the service content indicated by the service mark. The processing execution unit 302 then outputs the presence or absence of a service mark and the service content indicated by the recognized service mark as processing results. Note that in this embodiment, the processing execution unit 302 is configured as a single thread capable of processing one processing request at a time.
[0047] The recording processing unit 303 is an example of a recording means. The recording processing unit 303 records the processing date and time when the processing execution unit 302 last processed a processing request received from an imaging device 20 corresponding to the request source identifier, in association with the request source identifier that identifies each imaging device 20. Specifically, the recording processing unit 303 records and manages the processing date and time when the processing execution unit 302 last processed a processing request received from the imaging device 20, using a processing date and time table T in which the request source identifier of each imaging device 20 is registered. The processing date and time table T is held in, for example, the RAM 33 or the storage unit 34.
[0048] When the process execution unit 302 starts processing based on a processing request, the record processing unit 303 records the date and time when the process started as the processing date and time, associates it with the request source identifier of the source of the processing request, and records it in the processing date and time table T. Note that the record processing unit 303 may be configured to record the date and time when the process execution unit 302 ends as the processing date and time when the process execution unit 302 ends.
[0049] The execution control unit 304 is an example of a control means. When the processing request receiving unit 301 receives processing requests from multiple image capture devices 20, the execution control unit 304 causes the processing execution unit 302 to process the processing requests from requesters with older processing dates and times preferentially, based on the processing dates and times recorded in association with the requester identifiers of the respective image capture devices 20.
[0050] Specifically, when the processing request receiving unit 301 receives processing requests from multiple requesters, that is, when multiple processing requests are stored in the processing queue memory, the execution control unit 304 performs the following process to select one of these processing requests to be executed next by the processing execution unit 302. First, the execution control unit 304 searches the processing date and time table T for the processing date and time associated with the requester identifier of each of the processing requests waiting to be processed. Next, the execution control unit 304 compares the searched processing dates and times to identify the requester identifier with the older processing date and time, and sets one of the processing requests with the identified requester identifier as the processing target. As a result, when the recording processing unit 303 completes processing of the processing request currently being executed, for example, it reads the processing request set as the processing target from the processing queue memory and starts the next processing.
[0051] If multiple processing requests with the same requester identifier are stored in the processing queue memory, the execution control unit 304 selects one of the multiple processing requests and sets it as the processing target. In this case, it is preferable that the execution control unit 304 sets the processing requests stored in the processing queue memory as the processing target in order of the processing request that was stored first. Also, if a single processing request is stored in the processing queue memory, the execution control unit 304 sets this processing request as the processing target, thereby causing the processing execution unit 302 to immediately process the processing request.
[0052] 5 to 9, an example of the operation of the processing request receiving unit 301, processing execution unit 302, recording processing unit 303, and execution control unit 304 will be described. FIGS. 5 to 9 are diagrams schematically showing an example of the state of the processing date and time table T.
[0053] The processing date and time table T in Fig. 5 shows the initial state of the processing date and time table T. The request source identifiers (clients 1 to 3) of the three imaging devices 20 shown in Fig. 1 are registered in the processing date and time table T. The processing date and time of each request source identifier is set to "00:00", which is the initial state. In other words, the processing date and time table T in Fig. 5 shows the initial state in which no processing based on a processing request has been performed for any of clients 1 to 3.
[0054] In this initial state, for example, when processing requests are transmitted from each of clients 1 to 3 at approximately the same timing, processing request receiving unit 301 stores the processing requests received from each of clients 1 to 3 in a processing queue memory. Note that approximately the same timing is not limited to the same timing, but is a concept that also includes, for example, the period from the reception timing of a previously received processing request to the start of processing of that processing request.
[0055] Next, the execution control unit 304 refers to the processing date and time table T and determines the processing request to be executed from among the processing requests of clients 1 to 3 stored in the processing queue memory. When the processing date and time table T is in the state shown in FIG. 5, clients 1 to 3 have the same processing date and time, so the execution control unit 304 prioritizes the processing request to be executed, for example, starting with the requester identifier with the lowest number, and has the processing unit 302 process it. In this case, the execution control unit 304 sequentially executes the processing requests in the order of clients 1 to 3. As a result, the processing date and time table T records the most recent processing date and time in the order of clients 1 to 3, as shown in FIG. 6, for example.
[0056] Note that the method for determining the execution target when the processing date and time are the same is not limited to this. For example, the execution target may be determined by giving priority to the request source identifier with the largest number, or may be determined randomly.
[0057] 6, for example, when processing requests are sent from clients 2 and 3 at approximately the same time, the processing request receiving unit 301 stores the processing requests received from clients 2 and 3 in the processing queue memory. Next, the execution control unit 304 refers to the processing date and time table T and determines the processing request to be executed from the processing requests from clients 2 and 3 stored in the processing queue memory.
[0058] 6, the processing date and time of client 2 is older than the processing date and time of client 3, so the execution control unit 304 sets the processing request of client 2 as the execution target and has the processing executed by the processing execution unit 302 process it. Then, when the processing of the processing request of client 2 is completed, if the processing request of client 3 is stored in the processing queue memory, the execution control unit 304 sets the processing request of client 3 as the execution target and has the processing executed by the processing execution unit 302 process it. As a result, the processing date and time table T will record the most recent processing dates and times in the order of clients 1 to 3, for example, as shown in FIG.
[0059] 7, for example, when processing requests are sent from clients 1 and 3 at approximately the same time, the processing request receiving unit 301 stores the processing requests received from clients 1 and 3 in the processing queue memory. Next, the execution control unit 304 refers to the processing date and time table T and determines the processing request to be executed from the processing requests from clients 1 and 3 stored in the processing queue memory.
[0060] 7, the processing date and time of client 1 is older than the processing date and time of client 3, so the execution control unit 304 sets the processing request of client 1 as the execution target with priority and has the processing executed by the processing execution unit 302 process it. Then, when the processing of the processing request of client 1 is completed, if the processing request of client 3 is stored in the processing queue memory, the execution control unit 304 sets the processing request of client 3 as the execution target and has the processing executed by the processing execution unit 302 process it. As a result, the processing date and time table T will record the most recent processing dates and times in the order of clients 2, 1, and 3, for example, as shown in FIG.
[0061] 8, for example, when processing requests are sent from clients 1 to 3 at approximately the same time, the processing request receiving unit 301 stores the processing requests received from clients 1 to 3 in the processing queue memory. Next, the execution control unit 304 refers to the processing date and time table T and determines the processing request to be executed from the processing requests from clients 1 to 3 stored in the processing queue memory.
[0062] When the processing date and time table T is in the state shown in FIG. 8, the processing date and time of client 2 is the oldest, so the execution control unit 304 sets the processing request of client 2 as the execution target and has the processing executed by the processing execution unit 302 process it. Furthermore, when the processing of the processing request of client 2 is completed, if the processing requests of the remaining clients 1 and 3 are stored in the processing queue memory, the execution control unit 304 sets the processing request of client 1, which has the oldest processing date and time, as the execution target and has the processing executed by the processing execution unit 302 process it. Furthermore, when the processing of the processing request of client 1 is completed, if the processing request of the remaining client 3 is stored in the processing queue memory, the execution control unit 304 sets the processing request of client 3 as the execution target and has the processing executed by the processing execution unit 302 process it. As a result, the processing date and time table T will record the most recent processing dates and times in the order of clients 2, 1, and 3, as shown in FIG. 9, for example.
[0063] In this way, when processing requests are received from multiple request sources, the execution control unit 304 compares the processing date and time when the processing was last executed for each of the request sources, and causes the processing execution unit 302 to execute the processing request of the request source with the oldest processing date and time preferentially.
[0064] This allows the server device 30 to process the processing requests from each of the clients 1 to 3 in an evenly distributed manner. Therefore, even if a plurality of processing requests are sent consecutively from a specific request source, the processing requests from the other request sources can be processed without being biased toward processing from a specific request source.
[0065] 4, the processing result transmission unit 305 is an example of an output unit. When the processing execution unit 302 completes processing based on the processing request, the processing result transmission unit 305 transmits the processing result to the imaging device 20 corresponding to the requester identifier of the processing request. Specifically, the processing result transmission unit 305 transmits the service mark recognition result executed by the processing execution unit 302 to the imaging device 20 that made the request.
[0066] As a result, in the imaging device 20, the processing request unit 203 responds to the processing request and acquires the recognition result of the service mark from the server device 30. Then, the recognition result of the service mark is output from the imaging device 20 to the POS terminal 10, and the POS terminal 10 performs a discount or other action on the product based on the recognition result of the service mark.
[0067] An example of processing performed between the imaging device 20 and the server device 30 will be described below with reference to Fig. 10. Fig. 10 is a flowchart showing an example of processing performed between the imaging device 20 and the server device 30. Note that Fig. 10 describes processing performed by one imaging device 20, but similar processing is assumed to be performed by the other imaging devices 20 as well.
[0068] When the image capturing unit 25 of the image capturing device 20 captures an image of a product (step S11), the processing request unit 203 transmits a processing request including the captured image to the server device 30 (step S12).
[0069] Meanwhile, in the server device 30, the processing request receiving unit 301 determines whether or not a processing request has been received (step S21). When the processing request receiving unit 301 receives a processing request from any of the imaging devices 20 (step S21; Yes), the processing request receiving unit 301 stores the received processing request in a processing waiting memory (step S22), and proceeds to step S24.
[0070] If the processing request receiving unit 301 does not receive a processing request (step S21; No), the execution control unit 304 determines whether or not an existing processing request is stored in the processing queue memory (step S23). If no processing request is stored in the processing queue memory (step S23; No), the process returns to step S21. If a processing request is stored in the processing queue memory (step S23; Yes), the process proceeds to step S24.
[0071] Next, the execution control unit 304 determines whether the number of processing requests stored in the processing queue memory is one or more (step S24). If a single processing request is stored in the processing queue memory (step S24; Yes), the execution control unit 304 sets the processing request as the processing target (step S25) and proceeds to step S28.
[0072] If multiple processing requests are stored in the processing queue memory (step S24; No), the execution control unit 304 refers to the processing date and time table T and compares the processing dates and times associated with the request source identifiers of the processing requests (step S26). Next, the execution control unit 304 sets the processing request with the request source identifier having the oldest processing date and time as the processing target (step S27), and proceeds to step S28.
[0073] Next, the processing execution unit 302 reads the processing request set in step S25 or S27 from the processing queue memory and executes processing to recognize the service mark from the image included in the processing request (step S28).When the processing execution unit 302 starts processing, the recording processing unit 303 records the processing date and time in the processing date and time table in association with the requester identifier of the processing request to be processed (step S29).
[0074] Then, when the processing by the processing execution unit 302 is completed, the transmission unit 305 transmits the processing result of the processing execution unit 302 to the imaging device 20 that made the request (step S30), and the process returns to step S21.
[0075] In the imaging device 20, when the processing request unit 203 receives the processing result as a response to the processing request (step S13), the output control unit 204 outputs the processing result to the POS terminal 10 (step S14), and the process returns to step S11.
[0076] As described above, the server device 30 of this embodiment receives requests for processing data collected at a store from multiple requesters, executes a predetermined process based on the data of the received processing requests, and records the date and time of the executed process in association with the requester identifier of the requester. Furthermore, when the server device 30 receives processing requests from multiple requesters, it prioritizes the processing of the requester with the oldest processing date and time based on the processing date and time recorded in association with each requester identifier of the requesters.
[0077] In this way, the server device 30 of this embodiment can determine the next processing request to be processed based on the processing date and time when the processing request of each requester was last processed. As a result, even if multiple processing requests are sent consecutively from a specific requester, the server device 30 can process the processing requests from the multiple requesters in an even manner, without disproportionately processing the requests from a specific requester.
[0078] The above-described embodiment can be modified as needed by partially changing the configuration or functions of each of the above-described devices. Therefore, several modifications of the above-described embodiment will be described below as other embodiments. The following mainly focuses on differences from the above-described embodiment, and detailed descriptions of commonalities with the content already described will be omitted. The modifications described below may be implemented individually or in appropriate combination.
[0079] (Variation 1) In the above-described embodiment, an example has been described in which the source of a processing request is the imaging device 20. However, the source of a processing request is not limited to the device. For example, if one imaging device 20 includes multiple processing request units 203, a processing request will be sent from each of the processing request units 203. In this case, each of the processes involved in realizing the processing request unit 203 will be the request source.
[0080] When the source of a processing request is set to a process unit, it is possible to apply the configuration and operation of the server device 30 described above by managing a pair of the identifier of the imaging device 20 and the identifier of each process as a request source identifier in the processing waiting memory and the processing date and time table T. Therefore, even when the source of a processing request is set to a process unit, it is possible to achieve the same effects as those of the above-described embodiment.
[0081] [Variation 2] In the above embodiment, each of the process request units 203 requests the server device 30 to perform the same processing, but this is not limiting, and each of the process request units 203 may request different processing from the server device 30.
[0082] For example, some of the processing request units 203 may request processing for recognizing a service mark from an image, and the remaining processing request units 203 may request processing for recognizing other marks or information from the image.
[0083] Furthermore, the processing content that each processing request unit 203 requests the server device 30 to perform is not limited to processing content related to commercial transactions, and may be other processing content. For example, the processing request unit 203 may request the server device 30 to perform processing to recognize customer behavior and people from images captured inside a store.
[0084] [Variation 3] In the above embodiment, a single-threaded configuration in which the server device 30 can execute only a single processing request has been described, but this is not limited to this, and a multi-threaded configuration in which multiple processing requests can be executed in parallel may also be used.
[0085] In this case, the execution control unit 304 causes the process execution unit 302 to execute the same number of process requests as the number of threads that can be executed at one time by the server device 30. Furthermore, when process requests exceeding the number of threads are stored in the process queue memory, the execution control unit 304 refers to the processing date and time table T and sets the process request to be processed based on the processing date and time corresponding to each request source identifier corresponding to the source of the process request. Specifically, the execution control unit 304 selects request source identifiers equal to the number of threads in ascending order of processing date and time, and determines the process request associated with the selected request source identifier to be executed.
[0086] As a result, even if the server device 30 is configured to execute the request process in multiple threads, it is possible to achieve the same effects as in the above-described embodiment. When the configuration of this modified example is adopted, it is preferable that the recording processing unit 303 records the date and time when the process started in the processing date and time table T as the processing date and time.
[0087] The programs executed by each device in the above-described embodiments are provided in a state where they are pre-installed in a ROM, a storage unit, etc. The programs executed by each device in the above-described embodiments may be provided by being recorded in an installable or executable format on a computer-readable recording medium such as a CD-ROM, a flexible disk (FD), a CD-R, or a digital versatile disk (DVD).
[0088] Furthermore, the programs executed by each device in the above-described embodiments may be stored on a computer connected to a network such as the Internet and provided by being downloaded via the network. Also, the programs executed by each device in the above-described embodiments may be provided or distributed via a network such as the Internet.
[0089] Although the embodiments of the present invention have been described above, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments and their modifications can be embodied in various other forms, and various omissions, substitutions, changes, and combinations can be made without departing from the spirit of the invention. These embodiments and their modifications are included within the scope and spirit of the invention, and are also included in the inventions and their equivalents as defined in the claims. [Explanation of symbols]
[0090] 1. Data Processing System 10 POS terminals 20 Imaging device 30 Server device 200 control section 201 Imaging control unit 202 Code reader 203 Processing Request Department 204 Output control section 300 control section 301 Processing Request Reception Department 302 Processing Execution Unit 303 Recording Processing Unit 304 Execution Control Unit 305 Processing result transmission unit [Prior art documents] [Patent documents]
[0091] [Patent Document 1] Japanese Patent Application Laid-Open No. 2014-160342
Claims
1. a receiving means for receiving requests for processing data collected at the store from a plurality of request sources; a processing means for executing a predetermined process based on the data of the processing request received by the receiving means; a recording means for recording a processing date and time when the processing means last processed a processing request received from the request source corresponding to the identifier, in association with the identifier that identifies each of the request sources; a control means for causing the processing means to process the processing request of a requester with the oldest processing date and time on the basis of the processing date and time recorded in association with each identifier of the requester when the receiving means receives processing requests from a plurality of requesters; An information processing device comprising:
2. When the receiving means receives processing requests from a plurality of request sources, the control means selects one of the processing requests from the request source with the oldest processing date and time as the processing target and causes the processing means to execute it. The information processing device according to claim 1 .
3. a storage control means for storing in a storage unit processing requests that have not been processed by the processing means among the processing requests that have been received by the receiving means; The control means determines that the receiving means has received processing requests from multiple request sources when multiple processing requests are stored in the storage unit.
3. The information processing device according to claim 1 or 2.
4. further comprising an output means for outputting a processing result of the processing request executed by the processing means to a requester of the processing request; The information processing device according to claim 1 .
5. the receiving means receives the processing request from a terminal device that is a request source of the processing request or a process running on the terminal device; The information processing device according to claim 1 .
6. The computer of the information processing device, a receiving means for receiving requests for processing data collected at the store from a plurality of request sources; a processing means for executing a predetermined process based on the data of the processing request received by the receiving means; a recording means for recording a processing date and time when the processing means last processed a processing request received from the request source corresponding to the identifier, in association with the identifier that identifies each of the request sources; a control means for causing the processing means to process the processing request of a requester with the oldest processing date and time on the basis of the processing date and time recorded in association with each identifier of the requester when the receiving means receives processing requests from a plurality of requesters; A program to make it function as such.
Citation Information
Patent Citations
POS system
JP1999195175A
Device and program for information management, and recording medium where the same program is recorded
JP2002334006A
Patient guiding system
JP2014160342A
Device for processing mail order sales, method for processing mail order sales, and program for processing mail order sales
JP2014197253A
Cushion with projector screen and bed
JP2018042654A