Device, method, and recording medium for managing inventory of item
The system addresses the challenge of managing item inventory in e-commerce by generating and managing inventory information using event data, enhancing efficiency and reducing storage needs through snapshot tracking.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- COUPANG CORP
- Filing Date
- 2025-03-14
- Publication Date
- 2026-05-15
AI Technical Summary
E-commerce service providers face challenges in managing item inventory efficiently as the variety and quantity of items handled increase, necessitating detailed management of inventory changes and events.
A system comprising processors and memories that generate and manage inventory information based on event information, using snapshot information to track and respond to requests for inventory data, including identification and change tracking of items at specific locations.
Enables efficient management of item inventory by generating and managing inventory information based on event data, improving accuracy and reducing storage requirements through snapshot-based tracking.
Smart Images

Figure KR2025003310_15052026_PF_FP_ABST
Abstract
Description
Device, method, and recording medium for managing item inventory
[0001] The present disclosure relates to a technology for managing item inventory.
[0002] Consumers can purchase items online through e-commerce services. To provide e-commerce services, service providers may operate logistics centers. Service providers can manage the processing and delivery of item orders from the logistics centers. As the variety and quantity of items handled by e-commerce services increase, service providers need to manage item inventory in greater detail.
[0003] At least one embodiment of the present disclosure can generate information about an event in which there was a change in the inventory of an item.
[0004] At least one embodiment of the present disclosure can generate inventory information for an item based on information about an event.
[0005] At least one embodiment of the present disclosure can manage information about events based on snapshot information.
[0006] The technical problems of the present disclosure are not limited to those mentioned above, and other unmentioned technical problems will be clearly understood by a person skilled in the art of the present disclosure from the description below.
[0007] An apparatus according to one embodiment of the present disclosure comprises one or more processors; and one or more memories in which instructions to be executed by the one or more processors are stored. When the instructions are executed, the one or more processors may be configured to obtain a request for the return of inventory information for one or more items stored at a location at a first time point from a user terminal, and in response to the request for the return of inventory information, obtain event information including information for each event in which there was a change in the inventory of an item associated with the location prior to the first time point, generate the inventory information for the one or more items stored at the location at the first time point based on the event information, and transmit the inventory information to the user terminal.
[0008] In one embodiment, information for each of the above events may be generated and stored when a change occurs in the inventory of an item associated with the location.
[0009] In one embodiment, information for each of the events may include at least one of information indicating a change in the inventory of an item associated with the location, information for identifying an item associated with the location, and information for identifying the location.
[0010] In one embodiment, among the information for each of the events, information for an event stored in a predetermined order is assigned as snapshot information, and the snapshot information may further include identification information for identifying information for an event stored in the predetermined order.
[0011] In one embodiment, the snapshot information may further include information indicating the inventory of each of the one or more items associated with the location at the time the snapshot information is generated.
[0012] In one embodiment, the predetermined order may be determined based on the number of pieces of information regarding the stored events.
[0013] In one embodiment, the snapshot information may be stored in a different storage space from the information regarding events for which the identification information is not assigned.
[0014] In one embodiment, the one or more processors may be configured to respond to a request to return the inventory information by identifying a target snapshot information among the snapshot information and generating the inventory information based on the target snapshot information and information about an event stored after the target snapshot information was stored.
[0015] In one embodiment, the request for return of the inventory information includes information indicating a target item among the one or more items, and the one or more processors identify snapshot information including information indicating the target item among the snapshot information, identify snapshot information in which the identification information is assigned at the second time point closest to the first time point among the snapshot information including information indicating the target item as the target snapshot information, and may be configured to generate the inventory information based on the target snapshot information and information about an event including information indicating the target item among event information stored between the second time point and the first time point.
[0016] In one embodiment, the request for return of the inventory information includes information indicating a target state among the states of the one or more items, and the one or more processors may be configured to identify information about an event including information indicating a target state among the information about an event included in the event information, and to generate the inventory information based on the information about the event including information indicating a target state.
[0017] A method performed by a device comprising one or more processors according to one embodiment of the present disclosure and a memory storing instructions to be executed by said one or more processors, wherein, at the execution of said instructions, said method, said method may include: a step in which, at the time of execution of said instructions, said one or more processors obtain a request from a user terminal for the return of inventory information for one or more items stored at a location at a first time point; a step in which, in response to the request for the return of inventory information, an event information including information for each event in which there was a change in the inventory of an item associated with said location prior to said first time point; a step in which, based on said event information, an inventory information for said one or more items stored at said location at said first time point; and a step of transmitting said inventory information to said user terminal.
[0018] In one embodiment, information for each of the above events may be generated and stored when a change occurs in the inventory of an item associated with the location.
[0019] In one embodiment, information for each of the events may include at least one of information indicating a change in the inventory of an item associated with the location, information for identifying an item associated with the location, and information for identifying the location.
[0020] In one embodiment, among the information for each of the events, information for an event stored in a predetermined order is assigned as snapshot information, and the snapshot information may further include identification information for identifying the information for the event stored in the predetermined order.
[0021] In one embodiment, the predetermined order may be determined based on the number of pieces of information regarding the stored events.
[0022] In one embodiment, the step of generating the inventory information for one or more items stored at the location at the first time point may include: identifying a target snapshot information among the snapshot information in response to a request for the return of the inventory information; and generating the inventory information based on the target snapshot information and information about an event stored after the target snapshot information was stored.
[0023] In one embodiment, the request for return of the inventory information includes information indicating a target item among the one or more items, and the step of identifying the target snapshot information among the snapshot information includes: a step of identifying the snapshot information including information indicating the target item among the snapshot information; and a step of identifying the snapshot information in which the identification information is assigned at the second time point closest to the first time point among the snapshot information including information indicating the target item as the target snapshot information, and the step of generating the inventory information based on the target snapshot information and information about an event stored after the target snapshot information is stored may include: a step of obtaining a first inventory information of the target item at the second time point; a step of identifying one or more inventory information of the target item based on information about an event stored between the second time point and the first time point; and a step of generating the inventory information based on the first inventory information and the one or more inventory information.
[0024] In a non-transient computer-readable recording medium having instructions to be executed by one or more processors according to one embodiment of the present disclosure, the instructions may be configured such that, at the time of execution of the instructions, the one or more processors obtain a request from a user terminal for the return of inventory information for one or more items stored at a location at a first time point, and in response to the request for the return of inventory information, obtain event information including information for each event in which there was a change in the inventory of an item associated with the location prior to the first time point, generate the inventory information for the one or more items stored at the location at the first time point based on the event information, and transmit the inventory information to the user terminal.
[0025] According to at least one embodiment of the present disclosure, information about an event in which there was a change in the inventory of an item can be generated.
[0026] According to at least one embodiment of the present disclosure, inventory information for an item can be generated based on information about an event.
[0027] According to at least one embodiment of the present disclosure, information about events can be managed based on snapshot information.
[0028] The effects according to the technical concept of the present disclosure are not limited to the effects mentioned above, and other unmentioned effects can be clearly understood by a person skilled in the art from the description of the present disclosure.
[0029] FIG. 1 illustrates an environment in which a device according to one embodiment of the present disclosure can be applied.
[0030] FIG. 2 is a block diagram of a device (100) according to one embodiment of the present disclosure.
[0031] FIG. 3 is a step flowchart according to one embodiment of the present disclosure.
[0032] FIG. 4 illustrates the process of generating information about an event according to one embodiment of the present disclosure.
[0033] FIG. 5 illustrates event information according to one embodiment of the present disclosure.
[0034] FIG. 6 illustrates inventory information of an item associated with a location according to one embodiment of the present disclosure.
[0035] FIG. 7 illustrates a process for generating inventory information of a target item according to one embodiment of the present disclosure.
[0036] FIG. 8 illustrates a process for generating inventory information of a target state according to one embodiment of the present disclosure.
[0037] The various embodiments described in this disclosure are illustrative for the purpose of clearly explaining the technical concept of this disclosure and are not intended to limit it to specific embodiments. The technical concept of this disclosure includes various modifications, equivalents, alternatives, and embodiments selectively combined from all or part of each embodiment described in this disclosure. Furthermore, the scope of the technical concept of this disclosure is not limited to the various embodiments presented below or the specific descriptions thereof.
[0038] Terms used in this disclosure, including technical or scientific terms, may have the meaning generally understood by those skilled in the art to which this disclosure pertains, unless otherwise defined.
[0039] Expressions used in this disclosure, such as “comprising,” “may compose,” “possessing,” “possessing,” “having,” and “possessing,” mean that the subject feature (e.g., function, operation, or component, etc.) exists and do not exclude the existence of other additional features. That is, such expressions should be understood as open-ended terms implying the possibility of including other embodiments.
[0040] Singular expressions used in this disclosure may include the meaning of the plural form unless otherwise indicated by the context, and this applies likewise to singular expressions described in the claims.
[0041] Expressions such as "first," "second," or "first," "second," etc., used in this disclosure are used to distinguish one object from another when referring to a plurality of objects of the same kind, unless otherwise indicated by the context, and do not limit the order or importance of said objects.
[0042] Expressions used in the present disclosure, such as “A, B, and C”, “A, B, or C”, “A, B, and / or C”, “at least one of A, B, and C”, “at least one of A, B, or C”, “at least one of A, B, and / or C”, etc., may mean each of the listed items or all possible combinations of the listed items. For example, “at least one of A or B” may refer to (1) at least one A, (2) at least one B, and (3) at least one A and at least one B.
[0043] The expression “based on” as used in this disclosure is used to describe one or more factors affecting an act or action of a decision or judgment described in the phrase or sentence containing this expression, and this expression does not exclude additional factors affecting said act or action of a decision or judgment.
[0044] As used in this disclosure, the expression "configured to" may have meanings such as "set to," "capable of," "modified to," "made to," or "capable of." This expression is not limited to the meaning of "specifically designed in hardware." For example, a processor configured to perform a specific operation may mean a generic-purpose processor capable of performing that specific operation by executing software, or a special-purpose computer structured through programming to perform that specific operation.
[0045] Hereinafter, various embodiments described in this disclosure will be explained with reference to the attached drawings. In the attached drawings and the description thereof, identical or substantially equivalent components may be given the same reference numerals. Furthermore, in the description of the various embodiments below, the description of identical or corresponding components may be omitted, but this does not mean that such components are not included in the embodiments.
[0046] FIG. 1 illustrates an environment in which a device according to one embodiment of the present disclosure may be applied. The device (100) and the user terminal (200) may be connected to each other and communicate through a network. The device (100) may be a server device that processes information regarding items handled through an e-commerce service. That is, the device (100) may be a device operated under the management of the operator of the e-commerce service. Here, the e-commerce service provided by the device (100) may be any service that responds to a consumer's purchase request, sells items corresponding to the purchase request, and manages information related thereto.
[0047] The device (100) may be a server device for managing the inventory of items sold in an e-commerce service. The device (100) may be a server device for managing at least one of receiving, shipping, moving, or disposing of items. For example, the device (100) may be a server device for managing the inventory of items that fluctuates as items sold in the e-commerce service are received at a certain location. The device (100) may be a server device for managing the inventory of items that fluctuates as items sold in the e-commerce service are shipped from a certain location to a consumer. The device (100) may be a server device for managing the inventory of items that fluctuates as items sold in the e-commerce service are moved from one location to another. The device (100) may be a server device for managing the inventory of items that fluctuates as items sold in the e-commerce service are disposed of at a certain location due to various causes. In one embodiment, a location is not necessarily defined as a specific logistics center, and may be defined as a container within the logistics center or an area within the logistics center separated according to a pre-established standard, or may be defined as a fulfillment center, a hub, etc.
[0048] The device (100) may be a server device for managing information about events in which there has been a change in the inventory of items sold in an e-commerce service. The device (100) may generate information about the event when a change occurs in the inventory of items associated with a location. In one embodiment, the device (100) may generate information about an event indicating a change in inventory that occurs as items sold in the e-commerce service are received into one location, shipped out from one location, moved from one location to another location, or discarded from one location. The information about the event generated by the device (100) may be stored in a storage space included in the device (100) or in a storage space outside the device (100). The device (100) may generate information about the event based on the order in which changes occur in the inventory of items associated with a location. In one embodiment, the device (100) may assign information about the event stored in a predetermined order as snapshot information. The device (100) may assign identification information for identifying information about events stored in a predetermined order during the process of generating information about events. A snapshot may be defined as a function that stores information at a specific point in time. The device (100) may assign information about events stored in a predetermined order as snapshot information and update inventory information of one or more items based on the snapshot information. In one embodiment, the snapshot information may include not only information about events and information about the time at which the snapshot information is generated, but also information indicating the inventory of one or more items associated with the location at the time the snapshot information is generated.
[0049] The device (100) may be a server device that manages event information regarding changes in the inventory of one or more items associated with a location, by location. The device (100) may be a server device that manages event information including information about each of the events of one or more items that occurred by location. The device (100) may generate event information including information about each event in which there was a change in the inventory of an item associated with a location.
[0050] The user terminal (200) may be a terminal for managing the inventory of items at a location. The user terminal (200) may be assigned to a specific location and may be a terminal for managing changes in the inventory of items occurring at the assigned location. In one embodiment, the user may input through the user terminal (200) that one or more items at a location have been received, shipped out, moved, or disposed of. In another embodiment, the user terminal (200) may not be a terminal assigned to a specific location, but may be any terminal for requesting inventory information of items associated with each of one or more locations. The user terminal (200) may be implemented as a terminal capable of transmitting and receiving to and from the device (100) via a network. For example, the user terminal (200) may be implemented as a computer, a laptop, a portable communication terminal (such as a smartphone), a portable multimedia device, etc. However, the type of user terminal (200) is not limited thereto, and the user terminal (200) may be any device capable of communicating with the device (100) or other devices or modules through a network, including an input / output interface capable of outputting information.
[0051] The user terminal (200) may provide information obtained from the device (100) to the user, obtain input from the user, or transmit the obtained input to the device (100). Input obtained from the user may include various forms of input, such as clicking using a mouse, touching using a touchpad or touchscreen, voice recognition, barcode input, QR (Quick Response) input, and other electronic inputs. In one embodiment, the user terminal (200) may input information about items received at an assigned location, input information about items released from an assigned location, input information about items moved from an assigned location to another location, or input information about items discarded at an assigned location. In another embodiment, the user terminal (200) may obtain any user input to request inventory information of items associated with a location, rather than a terminal assigned to the location. Information about an item entered through the user terminal (200) can be transmitted to the device (100) and used to create a record of the event. The user terminal (200) can communicate with the device (100) or other devices, terminals, or modules via a network. For example, the device (100) and the user terminal (200) can communicate with each other via a network that provides a connection path to transmit and receive packet data. The network can be implemented as any type of wired or wireless network, such as a Local Area Network (LAN), a Wide Area Network (WAN), a Mobile Radio Communication Network, or a Wibro (Wireless Broadband Internet).
[0052] FIG. 2 is a block diagram of a device (100) according to one embodiment of the present disclosure. The device (100) may include one or more processors (110) and / or one or more memories (120) as components. Additionally, in one embodiment, at least one of the components of the device (100) may be omitted, or other components may be added to the device (100). In one embodiment, additionally or alternatively, some components may be implemented as a single or multiple entities. In the present disclosure, one or more processors (110) may be referred to as processors (110). Unless the context clearly indicates otherwise, the expression processors (110) may mean a set of one or more processors. In the present disclosure, one or more memories (120) may be referred to as memories (120). Unless the context clearly indicates otherwise, the expression memories (120) may mean a set of one or more memories. In one embodiment, at least some of the internal / external components of the device (100) may be connected to each other via a bus, GPIO (General Purpose Input / Output), SPI (Serial Peripheral Interface), or MIPI (Mobile Industry Processor Interface), etc., to exchange information (data, signals, etc.).
[0053] In one embodiment, the device (100) may further include a communication circuit (130). The device (100) may communicate with a user terminal (200) through the communication circuit (130). That is, the communication circuit (130) may be configured to perform wireless or wired communication between the device (100) and the user terminal (200). For example, the communication circuit (130) can perform wireless communication according to methods such as eMBB (enhanced Mobile Broadband), URLLC (Ultra Reliable Low-Latency Communications), MMTC (Massive Machine Type Communications), LTE (Long-Term Evolution), LTE-A (LTE Advance), NR (New Radio), UMTS (Universal Mobile Telecommunications System), GSM (Global System for Mobile communications), CDMA (Code Division Multiple Access), WCDMA (Wideband CDMA), WiBro (Wireless Broadband), WiFi (Wireless Fidelity), Bluetooth, NFC (Near Field Communication), GPS (Global Positioning System), or GNSS (Global Navigation Satellite System). For example, the communication circuit (130) can perform wired communication according to methods such as USB (Universal Serial Bus), HDMI (High Definition Multimedia Interface), RS-232 (Recommended Standard-232), or POTS (Plain Old Telephone Service). In one embodiment, the device (100) may be implemented by being integrated with another device.In this case, the communication circuit (130) can function as a connection circuit or interface connecting the device (100) and the other device.
[0054] The processor (110) can control at least one component of the device (100) connected to the processor (110) by running software (e.g., instructions, programs, etc.). Additionally, the processor (110) can perform various operations related to the present disclosure, such as computation, processing, data generation, and processing. Furthermore, the processor (110) can load data, etc. from memory (120) or store it in memory (120). Moreover, the processor (110) can transmit and receive various information to and from a user terminal (200) through a communication circuit (130). In one embodiment, the processor (110) can control the communication circuit (130) to transmit various information to the user terminal (200) in various forms.
[0055] The memory (120) can store various information (data). The information stored in the memory (120) is information acquired, processed, or used by at least one component of the device (100), and may include software (e.g., instructions, programs, etc.). The memory (120) may include volatile and / or non-volatile memory. In the present disclosure, instructions or programs are software stored in the memory (120) and may include an operating system for controlling the resources of the device (100), an application, and / or middleware that provides various functions to the application so that the application can utilize the resources of the device (100). In one embodiment, the memory (120) may store instructions that cause the processor (110) to perform calculations when executed by the processor (110). The memory (120) may store at least a portion of information received from the user terminal (200) through the communication circuit (130) and / or information transmitted to the user terminal (200) through the communication circuit (130). For example, the memory (120) may store information about items obtained from the user terminal (200), information about events generated by the device (100), etc., but is not limited thereto.
[0056] FIG. 3 is a step flowchart according to one embodiment of the present disclosure. A method performed by a device (100) according to one embodiment of the present disclosure may include steps S310 to S340. Steps S310 to S340 described below may be understood as being performed by a device (100) comprising one or more processors (110) and one or more memories (120) storing instructions to be executed by said one or more processors (110).
[0057] In step S310, the processor (110) of the device (100) may obtain a request for the return of inventory information for an item at a first point in time. The processor (110) of the device (100) may obtain a request for the return of inventory information for one or more items stored in a location from a user terminal (200). In one embodiment, the inventory information may include information indicating how many items are in stock of one or more items stored in a location, but is not limited thereto. In one embodiment, the request for the return of inventory information may include at least one of information indicating a target item that is the subject of the request or information indicating a target status (e.g., receiving at a location, releasing from a location, moving from a location, discarding from a location).
[0058] In step S320, the processor (110) of the device (100) may obtain event information including information for each event in which there was a change in the inventory of an item. In one embodiment, the processor (110) of the device (100) may obtain event information including information for each event in which there was a change in the inventory of an item associated with a location prior to a first time point. Here, the information for each event may include at least one of information indicating a change in the inventory of an item associated with a location, information for identifying an item associated with a location, and information for identifying a location.
[0059] In step S330, the processor (110) of the device (100) can generate inventory information for an item. The processor (110) of the device (100) can identify target snapshot information among the stored snapshot information and generate inventory information for an item based on the target snapshot information and information about events stored after the target snapshot information was stored. For example, if a request for the return of inventory information includes information indicating a target item, the device (100) can identify the snapshot information in which identification information is assigned at the second time point closest to the first time point among the snapshot information containing information indicating a target item as the target snapshot information. The processor (110) of the device (100) can generate inventory information based on the target snapshot information and information about events containing information indicating a target item among the event information stored between the second time point and the first time point.
[0060] In step S340, the processor (110) of the device (100) can transmit inventory information to the user terminal (200). In one embodiment, the inventory information may be displayed on the user terminal (200) and used to display inventory information for at least one of a target item or a target status. For example, the inventory information may be used to display the number of inventory items of a target item at a location on the user terminal (200). In another example, the inventory information may be used to display one or more items that are in a receiving status at a location on the user terminal (200).
[0061] In the flowchart according to the present disclosure, each step of the method or algorithm is described in a sequential order, but the steps may be performed in any order that can be arbitrarily combined according to the present disclosure, in addition to being performed sequentially. The description of the flowchart of the present disclosure does not exclude changes or modifications to the method or algorithm and does not imply that any step is essential or preferred. In one embodiment, at least some of the steps may be performed in parallel, iteratively, or heuristically. In another embodiment, at least some of the steps may be omitted or other steps may be added.
[0062] FIG. 4 illustrates a process for generating information about an event according to one embodiment of the present disclosure. A user terminal (200) may transmit information about an item to a device (100) as a result of a change in the inventory of an item associated with a location managed by the user terminal (200). In one embodiment, a change in the inventory of an item associated with a location may occur due to events such as the item being received into, released from, moved to, or discarded at a location.
[0063] The user terminal (200) can input a change in the inventory of an item as a change in the inventory of the item occurs due to the receipt, shipment, movement, or disposal of the item. In one embodiment, the user terminal (200) can input that a change in the inventory of the item has occurred by inputting a barcode, QR code, etc. attached to the item.
[0064] The user terminal (200) can transmit information about an item for which an inventory change has been entered to the device (100). The user terminal (200) can enter an inventory change of an item and generate information about the item. In one embodiment, the information about the item may include at least one of information about the time when the inventory change of the item was entered, information for identifying the item, information about the location to which the user terminal (200) is assigned, and information about a worker. The information about the item may be automatically transmitted to the device (100) as an inventory change of the item is entered into the user terminal (200), or it may be transmitted to the device (100) by a worker managing the user terminal (200).
[0065] The device (100) can generate information about an event based on information about an item obtained from a user terminal (200). The device (100) can generate information about an event sequentially based on the order in which information about an item was obtained from the user terminal (200). In one embodiment, information about an event may include at least one of information indicating a change in the inventory of an item associated with a location, information for identifying an item associated with a location, and information for identifying a location. The device (100) can facilitate item management not only by managing how many items are in inventory, but also by generating and managing information about events that record events, i.e., how the inventory of an item changed due to an event at a location. However, as the types and number of items associated with a location increase, storing all information about events necessitates a greater need for storage space.
[0066] When generating information about an event, the device (100) may assign information about the event stored in a predetermined order as snapshot information. A snapshot can be defined as a function that stores information at a specific point in time. That is, the device (100) assigns information about the event stored in a predetermined order as snapshot information and can manage information about events where a change in item inventory has occurred based on the snapshot information. In one embodiment, the device (100) may manage snapshot information based on a Split Mirror method, which copies information about the event stored in a predetermined order exactly as it is and stores it as snapshot information. The device (100) may manage snapshot information based on a Continuous Data Protection method, which assigns snapshot information whenever information about the event is stored. The device (100) may manage snapshot information based on a Copy on Write (COW) method, which assigns previously stored information about the event as snapshot information when storing (writing) information about the event. That is, the device (100) can efficiently perform data recovery up to the point in time when the most recent snapshot information was stored, based on the most recently stored snapshot information.
[0067] As the device (100) generates snapshot information, it may generate snapshot information including inventory information for each of one or more items associated with a location at the time the snapshot information is generated. Whenever the device (100) generates snapshot information, it may calculate the inventory of each of one or more items associated with a location and generate snapshot information including inventory information indicating the inventory of each of one or more items. When generating second snapshot information, the device (100) may calculate the inventory of each of one or more items based on the first snapshot information and calculate the inventory of each of one or more items associated with a location based on information regarding one or more events stored after the first snapshot information is generated. Here, the first snapshot information may be one of the snapshot information generated before the second snapshot information is generated. In one embodiment, the first snapshot information may be the most recently generated snapshot information among the snapshot information generated before the second snapshot information is generated, but is not limited thereto.
[0068] The device (100) can determine information about events to be assigned as snapshot information, that is, a predetermined order, based on various methods. The device (100) can determine a predetermined order based on the number of pieces of information about stored events. In one embodiment, the device (100) can assign snapshot information whenever the number of pieces of information about stored events becomes a multiple of N (N is a natural number). In this case, the predetermined order may be a multiple of N. For example, when N is 1,000, the device (100) can assign information about the 1,000th stored event as snapshot information and assign information about the 2,000th stored event as snapshot information. In one embodiment, the device (100) can increase the frequency of assigning snapshot information as the number of pieces of information about stored events increases. For example, the device (100) may assign information about events stored in a multiple of 1,000 order as snapshot information until information about 10,000 events is stored, and when the number of information about events exceeds 10,000, information about events stored in a multiple of 500 order, for example, information about events stored at the 10,500th, 11,000th, and 11,500th order as snapshot information. In one embodiment, the device (100) may adjust the interval of the order of assigning snapshot information as the number of information about events stored increases, such as assigning information about events stored at the 5,000th, 9,000th, 12,000th, 14,000th, 15,000th, and 15,500th order as snapshot information.
[0069] The device (100) can store information about the generated event. The device (100) can store information about the event in a database or memory (120) included inside the device (100). The device (100) can store information about the event in an external device (such as a server) of the device (100). In one embodiment, the device (100) may be configured to store information about the event assigned as snapshot information in a different storage space from information about the event not assigned as snapshot information. In this case, the device (100) can manage the snapshot information in a distributed manner, thereby enabling safer recovery of information about the event.
[0070] A user terminal (200) may transmit a request for the return of inventory information at a first point in time to a device (100). The user terminal (200) may transmit a request for the return of inventory information to the device (100), requesting to query how many items of the target item at the first point in time are in stock among one or more items associated with the location. In one embodiment, the request for the return of inventory information may include information indicating the target item. The user terminal (200) may transmit a request for the return of inventory information to the device (100), requesting information about an event of the target state among one or more items associated with the location. In one embodiment, the request for the return of inventory information may include information indicating the target state. The user terminal (200) may transmit a request for the return of inventory information regarding a target time interval to the device (100). In one embodiment, the request for the return of inventory information may include information about the start time and end time of the target time interval.
[0071] The device (100) can generate inventory information in response to the return of inventory information obtained from the user terminal (200). The device (100) can generate inventory information based on event information stored prior to a first point in time. The process of the device (100) generating inventory information is described later in the description of FIGS. 7 and FIGS. 8.
[0072] FIG. 5 illustrates event information according to one embodiment of the present disclosure, and FIG. 6 illustrates inventory information of an item associated with a location according to one embodiment of the present disclosure. The event information may include information regarding one or more events. Information regarding each event may include at least one of information indicating a change in the inventory of an item associated with a location, information for identifying an item associated with a location, and information for identifying a location. In one embodiment, the information regarding an event may further include identification information capable of identifying that the information regarding the event is snapshot information, and information regarding a worker.
[0073] In the following description, for convenience of explanation, it is assumed that a change occurs in the inventory of an item associated with location a, but the present disclosure is not limited thereto, and the device (100) may generate event records for one or more locations other than location a. In one embodiment, prior to time T1, the inventory of the first item (ID1) associated with location a may be M, the inventory of the second item (ID2) may be N, the inventory of the third item (ID3) may be K, the inventory of the fourth item (ID4) may be L, and the inventory of the fifth item (ID5) may be P (where M, N, K, L, and P may each be any natural number).
[0074] At time T1, a first item (ID1) is stocked in at location a. A first worker (W1) inputs that the first item (ID1) has been stocked through a user terminal (200) assigned to location a. The user terminal (200) transmits information about the first item (ID1) stocked in at time T1 to the device (100). The device (100) can generate information about an event based on the information about the first item (ID1). The device (100) can generate information about an event including information about the time (Time) when the first item (ID1) was stocked in at location a, information for identifying the first item (ID1) (Item ID), information for identifying the location (Location a), information indicating a change in the inventory of the item associated with the location (Status), and information about the worker (Worker).
[0075] At time T2, a second item (ID2) is received at location a. The first worker (W1) inputs that the second item (ID2) has been received through the user terminal (200) assigned to location a. The user terminal (200) transmits information about the second item (ID2) received at time T2 to the device (100). The device (100) can generate information about an event based on the information about the second item (ID2). Duplicate content is omitted below.
[0076] At time T3, a first item (ID1) is stocked out at location a. A first worker (W1) inputs that the first item (ID1) has been stocked out at location a through a user terminal (200) assigned to location a. The user terminal (200) transmits information about the first item (ID1) stocked out at time T3 to the device (100). The device (100) can generate information about an event based on the information about the first item (ID1). In one embodiment, if the predetermined sequence includes 3, the device (100) can assign information about the third stored event, that is, information about the event stored at time T3, as the first snapshot information. The device (100) can assign information (Snapshot) for identifying the information about the event stored at time T3, which is assigned as the first snapshot information. For example, the device (100) may set information (bit) for identifying the first snapshot information stored at time T3 to '1'. However, this is exemplary, and the device (100) may assign identification information based on various methods. The device (100) may calculate the inventory of each of one or more items associated with location a at the time of generating the first snapshot information. Prior to time T1, the inventory of the first item (ID1) associated with location a is N, the inventory of the second item (ID2) is N, the inventory of the third item (ID3) is K, the inventory of the fourth item (ID4) is L, and the inventory of the fifth item (ID5) is P.Since the first item (ID1) was received at location a at time T1, the second item (ID2) was received at location a at time T2, and the first item (ID1) was released from location a at time T3, the inventory of the first item (ID1) at time T3 may be (N+1-1), the inventory of the second item (ID2) may be (N+1), the inventory of the third item (ID3) may be K, the inventory of the fourth item (ID4) may be L, and the inventory of the fifth item (ID5) may be P. The device (100) may generate first snapshot information including information (3a) indicating the inventory of each of one or more items associated with location a at time T3. The first snapshot information generated at time point T3 may include information about an event generated at time point T3, information about time point T3 at which the snapshot information is generated, and information indicating the inventory of each of one or more items associated with location a at time point T3.
[0077] At time T4, a first item (ID1) is received at location a. A first worker (W1) inputs that the first item (ID1) has been received through a user terminal (200) assigned to location a. The user terminal (200) transmits information about the first item (ID1) received at time T4 to a device (100). Based on the information about the first item (ID1), the device (100) can generate information about an event.
[0078] At time T5, a fifth item (ID5) is received at location a. A second worker (W2) inputs that the fifth item (ID5) has been received through a user terminal (200) assigned to location a. The user terminal (200) transmits information about the first item (ID5) received at time T5 to the device (100). The device (100) can generate information about an event based on the information about the fifth item (ID5). In one embodiment, if the predetermined sequence includes 5, the device (100) can assign information about the fifth stored event, that is, information about the event stored at time T5, as second snapshot information. The device (100) can assign information for identifying the information about the event stored at time T5, which is assigned as second snapshot information.
[0079] The device (100) can calculate the inventory of each of one or more items associated with location a at the time of generating the second snapshot information. The device (100) can calculate the inventory of each of one or more items based on the first snapshot information and can calculate the inventory of each of one or more items associated with location a based on information about one or more events stored after the first snapshot information is generated. In one embodiment, the inventory of each of one or more items associated with location a stored in the first snapshot information is such that the first item (ID1) has M units, the inventory of the second item (ID2) has (N+1) units, the inventory of the third item (ID3) has K units, the inventory of the fourth item (ID4) has L units, and the inventory of the fifth item (ID5) has P units. Since the first item (ID1) was received at location a at time T4 and the fifth item (ID5) was received at location a at time T5, the inventory of the first item (ID1) at time T5 may be (M+1), the inventory of the second item (ID2) may be (N+1), the inventory of the third item (ID3) may be K, the inventory of the fourth item (ID4) may be L, and the inventory of the fifth item (ID5) may be (P+1). The device (100) may generate second snapshot information including information (5a) indicating the inventory of each of one or more items associated with location a at time T5. The second snapshot information generated at time T5 may include information about an event generated at time T5, information about time T5 at which the second snapshot information is generated, and information (5a) indicating the inventory of each of one or more items associated with location a at time T5.
[0080] At time T6, the fourth item (ID4) is received at location a. The second worker (W2) inputs that the fourth item (ID4) has been received through the user terminal (200) assigned to location a. The user terminal (200) transmits information about the fourth item (ID4) received at time T6 to the device (100). The device (100) can generate information about an event based on the information about the fourth item (ID4).
[0081] At time T7, a first item (ID1) is moved from location a to another location. A second worker (W2) inputs that the first item (ID1) has been entered through a user terminal (200) assigned to location a. The user terminal (200) transmits information about the first item (ID1) moved at time T7 to the device (100). The device (100) can generate information about an event based on the information about the first item (ID1). In one embodiment, if the predetermined sequence includes 7, the device (100) can assign information about the seventh stored event, i.e., information about the event stored at time T7, as third snapshot information. The device (100) can assign information for identifying the information about the event stored at time T7, which is assigned as third snapshot information. At the time of generating the third snapshot information, the device (100) can calculate the inventory of each of one or more items associated with location a. The device (100) can calculate the inventory of each of one or more items based on either the first snapshot information or the second snapshot information, and can calculate the inventory of each of one or more items associated with location a based on information about one or more events stored after the first snapshot information or the second snapshot information is generated. In one embodiment, the inventory of each of one or more items associated with location a stored in the second snapshot information is (M+1) of the first item (ID1), (N+1) of the second item (ID2), K of the third item (ID3), L of the fourth item (ID4), and (P+1) of the fifth item (ID5).Since the fourth item (ID4) was released from location a at time T6 and the first item (ID1) was moved from location a to another location at time T7, the inventory of the first item (ID1) at time T7 may be (M+1-1), the inventory of the second item (ID2) may be (N+1), the inventory of the third item (ID3) may be K, the inventory of the fourth item (ID4) may be (L-1), and the inventory of the fifth item (ID5) may be (P+1). The device (100) may generate third snapshot information including information (7a) indicating the inventory of each of one or more items associated with location a at time T7. The third snapshot information generated at time T7 may include information about an event generated at time T7, information about time T7 at which the third snapshot information is generated, and information (7a) indicating the inventory of each of one or more items associated with location a at time T7.
[0082] At time T8, a first item (ID1) is received at location a. A third worker (W3) inputs that the first item (ID1) has been received through a user terminal (200) assigned to location a. The user terminal (200) transmits information about the first item (ID1) received at time T8 to the device (100). The device (100) can generate information about an event based on the information about the first item (ID1).
[0083] At time T9, the first item (ID1) is released from location a. The fourth worker (W4) inputs that the first item (ID1) has been released through the user terminal (200) assigned to location a. The user terminal (200) transmits information about the first item (ID1) released at time T9 to the device (100). Based on the information about the first item (ID1), the device (100) can generate information about an event.
[0084] Event information may include information about one or more events. In one embodiment, event information may be a concept that includes information about events stored at each of time points T1 to T9. In one embodiment, each piece of information about an event may further include information about a worker. The device (100) may further store worker information that recorded an event that occurred on an item associated with a location, so that the person responsible for recording the event occurrence can be identified as needed.
[0085] FIG. 7 illustrates a process of generating inventory information of a target item according to one embodiment of the present disclosure. The device (100) may generate inventory information in response to a request for the return of inventory information obtained from a user terminal (200). The device (100) may transmit the generated inventory information to the user terminal (200).
[0086] A user terminal (200) may transmit to the device (100) a request for the return of inventory information including information indicating a target item at a first time point. Here, the first time point may be any time point after time point T9. In response to the request for the return of inventory information, the device (100) may generate inventory information of the target item. In one embodiment, the device (100) may generate inventory information of the target item indicating the number of items in stock of the target item and transmit it to the user terminal (200). The inventory information may be displayed on the user terminal (200) and used to display the number of items in stock of the target item.
[0087] The device (100) can generate inventory information based on the event information illustrated in FIG. 5. In one embodiment, the device (100) can identify information about an event that includes information indicating a target item among the information about an event included in the event information stored prior to a first point in time. For example, when a user terminal (200) transmits a request to the device (100) for the return of inventory information for a first item (ID1) at a first point in time, the device (100) can identify information about an event that includes information indicating the first item (ID1) among the information about the event. In this case, the device (100) can identify information about an event stored at points T1, T3, T4, T7, T8, and T9.
[0088] The device (100) can identify snapshot information containing information indicating a target item. In one embodiment, since the snapshot information containing information indicating a first item (ID1), which is the target item, is stored at time T3 and time T7, respectively, the device (100) can identify the first snapshot information stored at time T3 and the third snapshot information stored at time T7.
[0089] The device (100) can identify the snapshot information to which identification information is assigned at the second time point closest to the first time point as the target snapshot information. Since the first time point is any time point after time point T9, the second time point closest to the first time point among the times points (T3, T7) where the snapshot information is stored is time point T7. The device (100) can identify the third snapshot information stored at T7 as the target snapshot information.
[0090] The device (100) can generate inventory information of a target item based on third snapshot information stored at a second time point and information about events between the second time point and the first time point. In one embodiment, the device (100) can generate inventory information of a first item (ID1) based on third snapshot information stored at time point T7, which is the second time point, and information about events stored at time points T8 and T9. As described above in the description of FIG. 5, the snapshot information stored at time point T7 includes information indicating the inventory of the first item (ID1). Based on the snapshot information at time point T7, the device (100) identifies that the inventory of the first item (ID1) is M units, and since the first item (ID1) was received at location a at time point T8 and the first item (ID1) was released from location a at time point T9, the device can generate inventory information including information indicating that the inventory of the first item (ID1) at time point T9 is M units. In this way, the device (100) can generate inventory information for a target item based on snapshot information from an adjacent point in time and information about events after the snapshot information from the adjacent point in time has been stored. This makes it possible to easily and accurately generate inventory information for a target item based on event information of a vast size.
[0091] The device (100) can transmit generated inventory information to a user terminal (200). In one embodiment, the inventory information can be displayed on the user terminal (200) and used to display that the inventory of the first item (ID1) is M items at a first point in time.
[0092] FIG. 8 illustrates a process of generating inventory information of a target state according to one embodiment of the present disclosure. The device (100) may generate inventory information in response to a request for the return of inventory information obtained from a user terminal (200). The device (100) may transmit the generated inventory information to the user terminal (200).
[0093] A user terminal (200) may transmit to the device (100) a request for the return of inventory information containing information indicating a target state at a first point in time. Here, the first point in time may be any point in time after point T9. The device (100) may generate inventory information of the target state in response to the request for the return of inventory information. In one embodiment, the device (100) may identify information regarding an event of an item corresponding to the target state at location a. For example, if the target state is a receiving state at location a, the device (100) may identify information regarding an event containing information indicating a receiving state (St in) among the event information shown in FIG. 5. In this case, the device (100) may identify information regarding events stored at points T1, T2, T4, T5, and T8.
[0094] The device (100) may generate inventory information based on information about an event that includes information indicating a target state. In one embodiment, the inventory information may be the result of projecting information about an event that includes information indicating a target state. Projection may be an operation of extracting information about an event that includes desired information from the event information and listing it as a list. The device (100) may identify and extract information about an event that includes information indicating a target state from the information about the event, list it as a list, and transmit it to a user terminal (200). Through this, the user terminal (200) may identify an item received at a specific time or an item shipped out at a specific time. Although not illustrated in FIGS. 6 and 7, when the user terminal (200) transmits a return request to the device (100) that includes information about a target time interval, the device (100) may project information about events at all times included in the target time interval and transmit it to the user terminal (200).
[0095] Various embodiments according to the present disclosure may be implemented as software on a machine-readable storage medium. The software may be software for implementing the various embodiments described in the present disclosure. The software may be inferred from the various embodiments described in the present disclosure by programmers skilled in the art to which the present disclosure pertains. For example, the software may be a program containing machine-readable instructions (e.g., code or code segments). The machine may be a device capable of operating according to instructions called from the storage medium, for example, a computer. In one embodiment, the machine may be a device (100, see FIG. 2) according to the various embodiments described in the present disclosure. In one embodiment, the processor of the machine may execute the called instruction to cause the components of the machine to perform a function corresponding to this instruction. In one embodiment, the processor may be a processor (110, see FIG. 2) according to the embodiments described in the present disclosure. The storage medium may mean any type of recording medium in which data is stored that can be read by the machine. The storage medium may include, for example, ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, etc. In one embodiment, the storage medium may be a memory (120, see FIG. 2). In one embodiment, the storage medium may be implemented in a distributed form in a computer system connected by a network, etc. In this case, software may be stored and executed in a distributed manner in the computer system, etc. In another embodiment, the storage medium may be a non-transitory storage medium. A non-transitory storage medium refers to a tangible medium that exists regardless of whether data is stored semi-permanently or temporarily, and does not include a signal that propagates transitorily.
[0096] Although the technical concept according to the present disclosure has been described by various embodiments above, the technical concept according to the present disclosure includes various substitutions, modifications, and alterations that can be made within the scope of understanding of a person skilled in the art to which the present disclosure pertains. Furthermore, it should be understood that such substitutions, modifications, and alterations may be included within the scope of the appended claims.
Claims
1. One or more processors; and It includes one or more memories in which instructions to be executed by the above one or more processors are stored, and When executing the above instructions, the one or more processors, A request for the return of inventory information for one or more items stored at a location at a first point in time is obtained from a user terminal, and In response to the request for return of the above inventory information, event information including information on each event in which there was a change in the inventory of an item associated with the above location prior to the above first point in time is obtained, and Based on the above event information, the above inventory information for one or more items stored at the above location at the above first time is generated, and A device configured to transmit the above inventory information to the user terminal.
2. In Paragraph 1, Information regarding each of the above events is, A device that is created and stored when a change occurs in the inventory of an item associated with the above location.
3. In Paragraph 1, Information regarding each of the above events is, A device comprising at least one of information indicating a change in the inventory of an item associated with the above location, information for identifying an item associated with the above location, and information for identifying the above location.
4. In Paragraph 1, Among the information for each of the above events, information for events stored in a predetermined order is assigned as snapshot information, and A device comprising the above snapshot information further including identification information for identifying information about events stored in the above predetermined order.
5. In Paragraph 4, The above snapshot information is, A device further comprising information indicating the inventory of each of the one or more items associated with the location at the time when the above snapshot information is generated.
6. In Paragraph 4, The above predetermined order is, A device determined based on the number of pieces of information regarding the above-mentioned stored events.
7. In Paragraph 4, The above snapshot information is, A device in which the above identification information is stored in a different storage space from the information regarding unassigned events.
8. In Paragraph 4, The above one or more processors, In response to the request for the return of the above inventory information, the target snapshot information among the above snapshot information is identified, and A device configured to generate the inventory information based on the above target snapshot information and information about events stored after the above target snapshot information has been stored.
9. In Paragraph 8, The request for the return of the above inventory information is, Includes information indicating a target item among the above one or more items, and The above one or more processors, Identify snapshot information among the above snapshot information that includes information indicating the target item, and Among the snapshot information including information indicating the target item, the snapshot information in which the identification information is assigned at the second time point closest to the first time point is identified as the target snapshot information, and A device configured to generate inventory information based on the target snapshot information and information about an event including information indicating the target item among the event information stored between the second time point and the first time point.
10. In Paragraph 1, The request for the return of the above inventory information is, Includes information indicating a target state among the states of one or more of the above items, and The above one or more processors, Identifying information about an event that includes information indicating a target state among the information about the event included in the above event information, and A device configured to generate the inventory information based on information about an event including information indicating the target state.
11. A method performed by a device comprising one or more processors and a memory storing instructions to be executed by said one or more processors, wherein When executing the above instructions, the above one or more processors, A step of obtaining a request from a user terminal for the return of inventory information for one or more items stored at a location at a first point in time; A step of obtaining event information including information on each event in which there was a change in the inventory of an item associated with the location prior to the first point in time, in response to a request for the return of the above inventory information; Based on the above event information, a step of generating the above inventory information for the one or more items stored at the above location at the above first time point; and A method comprising the step of transmitting the above inventory information to the above user terminal.
12. In Paragraph 11, Information regarding each of the above events is, A method that is created and stored when a change occurs in the inventory of an item associated with the above location.
13. In Paragraph 11, Information regarding each of the above events is, A method comprising at least one of information indicating a change in the inventory of an item associated with the above location, information for identifying an item associated with the above location, and information for identifying the above location.
14. In Paragraph 11, Among the information for each of the above events, information for events stored in a predetermined order is assigned as snapshot information, and A method comprising the above snapshot information further including identification information for identifying information about events stored in the above predetermined order.
15. In Paragraph 14, The above predetermined order is, A method determined based on the number of pieces of information regarding the above-mentioned stored events.
16. In Paragraph 14, The step of generating the inventory information for the one or more items stored at the location at the first point in time is: A step of identifying target snapshot information among the snapshot information in response to a request for the return of the above inventory information; and A method comprising the step of generating the inventory information based on the target snapshot information and information about events stored after the target snapshot information has been stored.
17. In Paragraph 16, The request for the return of the above inventory information is, Includes information indicating a target item among the above one or more items, and The step of identifying target snapshot information among the above snapshot information is: A step of identifying snapshot information including information indicating the target item among the above snapshot information; and The method includes the step of identifying as the target snapshot information the snapshot information in which the identification information is assigned at the second time point closest to the first time point among the snapshot information containing information indicating the target item, and The step of generating the inventory information based on the above target snapshot information and information about events stored after the above target snapshot information is stored is: A step of obtaining first inventory information of the target item at the second point in time; A step of identifying one or more inventory information of the target item based on information about an event stored between the second time point and the first time point; and A method comprising the step of generating the inventory information based on the first inventory information and the one or more inventory information.
18. A non-transient computer-readable recording medium storing instructions to be executed by one or more processors, The above instructions, when executed, the above one or more processors, A request for the return of inventory information for one or more items stored at a location at a first point in time is obtained from a user terminal, and In response to the request for return of the above inventory information, event information including information on each event in which there was a change in the inventory of an item associated with the above location prior to the above first point in time is obtained, and Based on the above event information, the above inventory information for one or more items stored at the above location at the above first time is generated, and A non-transient computer-readable recording medium configured to transmit the above inventory information to the user terminal.