Method, device, and recording medium for integrated management of barcode scanner

The integrated management system for barcode scanners addresses compatibility and efficiency issues by supporting multiple manufacturers and communication methods, enhancing user experience and logistics efficiency through reliable data processing and real-time error handling.

WO2026005125A1PCT designated stage Publication Date: 2026-01-02COUPANG CORP
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/KR2024/013734
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-06-28
Filing Date
2024-09-10
Publication Date
2026-01-02

AI Technical Summary

Technical Problem

Existing barcode scanners are limited by manufacturer-specific SDKs, leading to restricted compatibility and inefficiencies in logistics and delivery processes, with slow recognition speeds and time-consuming data processing.

Method used

An integrated management system for barcode scanners that supports multiple manufacturers, utilizing Bluetooth or Wi-Fi connections, and various communication methods (HID, BLE, SPP) to ensure compatibility and reliability, with real-time error detection and notification, and efficient data processing.

Benefits of technology

Enables universal integration and management of barcode scanners, improving user experience and logistics efficiency by allowing flexible scanner selection, preventing duplicate events, and ensuring accurate, reliable data processing with real-time error handling.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2024013734_02012026_PF_FP_ABST
    Figure KR2024013734_02012026_PF_FP_ABST
Patent Text Reader

Abstract

The present disclosure relates to an integrated management method for a barcode scanner performed by an electronic device. The method according to one embodiment of the present disclosure may comprise the steps of: identifying a barcode scanner connected to an electronic device and determining a communication method with the barcode scanner; in response to determining that the communication method is a first communication method, determining whether a key input event from the barcode scanner has occurred by an event listener as a recipient processing the key input event; in response to determining that the key input event has occurred, receiving a barcode scanned by the barcode scanner as a series of key information; identifying a state corresponding to each of the received key information, wherein the state includes first, second, and third states, the first state indicating a start of barcode input, the second state indicating a progress of barcode input, and the third state indicating completion of barcode input; and generating an input string corresponding to the barcode scanned by the barcode scanner on the basis of the key information corresponding to the state.
Need to check novelty before this filing date? Find Prior Art

Description

Method, device, and recording medium for integrated management of barcode scanners

[0001] The present invention relates to a technology for integrating and managing scanners, and more particularly, to a method, device, and recording medium for integrating and managing various barcode scanners.

[0002] In the modern logistics and delivery industry, scanning product barcodes and collecting data using various types of scanners is crucial. Previously, scanners primarily used mobile phone cameras to scan barcodes on shipping labels and other items and input data. However, these camera-based scanners suffered from slow recognition speeds and time-consuming data processing.

[0003] To address this, dedicated scanners manufactured externally were introduced, enabling faster and more accurate scanning. However, these scanners could only be recognized through specific manufacturers' Software Development Kits (SDKs), limiting users to a limited range of scanners. This limitation led to a growing demand for barcode scanners from other manufacturers, and even a wider variety of scanners.

[0004] Therefore, a technology is required that can integrate and manage a variety of barcode scanners that are not dependent on a specific manufacturer and can be used universally.

[0005] The technical problem to be solved through one embodiment of the present invention is to optimize the user experience and maximize the efficiency of logistics and delivery processes by easily integrating and managing various barcode scanner devices.

[0006] Another technical challenge to be solved by one embodiment of the present invention is to provide compatibility by supporting multiple scanners without relying on a specific manufacturer, and to enable users to easily connect and manage scanners within an application.

[0007] Another technical problem to be solved through one embodiment of the present invention is to ensure the stability and reliability of the system by efficiently logging various errors occurring during communication with the scanner, analyzing them, and quickly resolving the problems.

[0008] Another technical problem to be solved through one embodiment of the present invention is to prevent duplicate events in the process of processing input events of a barcode scanner, and to provide accurate and reliable data by consistently processing input events by defining operating procedures.

[0009] Another technical challenge to be solved through one embodiment of the present invention is to maintain the performance and stability of the system by setting a threshold for a service level and detecting an error in real time and generating a notification when an error occurs.

[0010] Another technical problem to be solved through one embodiment of the present invention is to collect and analyze data on application usage history to evaluate and improve service performance through indicators such as service availability, usage frequency, and error occurrence frequency.

[0011] The technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned can be clearly understood by those skilled in the art from the description below.

[0012] An integrated management method of a barcode scanner performed by an electronic device including an application according to one embodiment of the present disclosure may include: identifying a barcode scanner connected to the electronic device and determining a communication method with the barcode scanner; in response to determining that the communication method is a first communication method, determining whether a key input event from the barcode scanner has occurred by an event listener as a receiver that processes a key input event; in response to determining that the key input event has occurred, receiving a barcode scanned by the barcode scanner as a series of key information; identifying a state corresponding to each of the received key information, wherein the states include a first state, a second state, and a third state, the first state indicating the start of barcode input, the second state indicating the progress of barcode input, and the third state indicating the completion of barcode input; and generating an input string corresponding to the barcode scanned by the barcode scanner based on the key information corresponding to the state.

[0013] In one embodiment, the method may further include, in response to a determination that the communication method is a second communication method different from the first communication method, loading an SDK corresponding to the barcode scanner; and receiving data of a barcode scanned by the barcode scanner through the SDK.

[0014] In one embodiment, the first state may cause the electronic device to initialize the input string and set a boolean value corresponding to the first state to true; the second state may cause the electronic device to sequentially add received key information to the input string when the boolean value is true; and the third state may cause the electronic device to store the input string and set the boolean value to false when no additional key information is received and the boolean value is true.

[0015] In one embodiment, the step of identifying a state corresponding to each of the received key information may include a step of identifying the state corresponding to the one key information as the third state when the value of one of the received key information is a specific key value.

[0016] In one embodiment, the connection between the electronic device and the barcode scanner may be a Bluetooth or Wi-Fi wireless connection.

[0017] In one embodiment, the communication method may include at least one of a HID (Human Interface Device) method, a BLE (Bluetooth Low Energy) method, and a SPP (Serial Port Profile) method.

[0018] In one embodiment, the method may further include the steps of: retrieving logistics information corresponding to the input string, wherein the logistics information includes a logistics type, and the logistics type includes return, delivery, and product recovery; transmitting the logistics information to a server so that the server classifies the logistics information by product code, receipt date, or shipment date; and receiving the logistics information classified by the server from the server.

[0019] In one embodiment, the method may further include the steps of: determining the input string as a waybill number corresponding to a barcode scanned by the barcode scanner; verifying the validity of the determined waybill number; and displaying a message corresponding to the verification result.

[0020] In one embodiment, the step of verifying the validity of the waybill number may include at least one of the steps of (i) determining whether the waybill number overlaps with another waybill number previously stored; (ii) determining whether the transportation validity period corresponding to the waybill number has expired; (iii) determining whether the waybill number corresponds to a waybill number assigned to a user of the electronic device in a database on a server; (iv) determining whether the waybill number has already been processed for delivery completion; and (v) determining whether the waybill number has been assigned to another user.

[0021] In one embodiment, the electronic device has an application for managing the barcode scanner installed, and the method further includes the steps of: specifying one or more indicators for usage history of the application for service reporting; and analyzing the usage history according to the indicators and logging the results of the analysis, wherein the indicators are values ​​representing the usage history of the application and may represent at least one of service availability on the application, service usage frequency, error occurrence frequency, and occurrence history.

[0022] In one embodiment, the step of specifying the one or more indicators may include the step of determining whether the communication method with the barcode scanner is an HID method.

[0023] In one embodiment, the step of specifying the one or more indicators may include the step of determining a connection status with the barcode scanner and information of the barcode scanner.

[0024] In one embodiment, the step of specifying the one or more indicators may include the step of determining an operation performed on the application and a frequency of the operation.

[0025] In one embodiment, the step of specifying the one or more indicators may include: detecting that the occurrence of the key input event was determined by an element other than the event listener; and, in response to detecting that the occurrence of the key input event was determined by an element other than the event listener, determining the occurrence of the error.

[0026] In one embodiment, the method may further include the step of generating a notification if the frequency of occurrence of the error exceeds a preset threshold.

[0027] In one embodiment, the step of determining whether the key input event has occurred by the event listener may include the step of receiving whether the key input event has occurred at a predetermined time unit; and the step of detecting a duplicate event among the key input events received at the predetermined time unit, and ignoring the detected duplicate event.

[0028] In one embodiment, an electronic device may include one or more processors; and one or more memories storing instructions to be executed by the one or more processors, wherein when the instructions are executed by the one or more processors, the one or more processors are configured to execute a method according to any one of the embodiments described above.

[0029] In one embodiment, a non-transitory computer-readable recording medium having recorded thereon instructions that, when executed by one or more processors, cause the one or more processors to perform an operation, the instructions may include a non-transitory computer-readable recording medium configured to cause the one or more processors to perform a method according to any one of the embodiments described above.

[0030] According to the present disclosure, it is possible to easily integrate and manage various Bluetooth barcode scanner devices, thereby improving user experience and greatly improving the efficiency of logistics and delivery processes.

[0031] According to the present disclosure, compatibility of multiple Bluetooth scanners is provided without relying on a specific manufacturer, allowing users to freely select a scanner optimized for their logistics process, thereby improving the expandability of the system.

[0032] According to the present disclosure, the compatibility and flexibility of the system can be increased by supporting various communication methods (HID, BLE, SPP, etc.).

[0033] According to the present disclosure, by performing various logistics processes through one-day scanning, the operational efficiency of the entire logistics system can be maximized.

[0034] According to the present disclosure, accurate and reliable data can be provided by preventing duplicate events and consistently processing input events.

[0035] According to the present disclosure, in the process of processing input events, duplicate events can be prevented, and accurate and reliable data can be provided by consistently processing input events.

[0036] According to the present disclosure, the performance and stability of the system can be maintained by setting a threshold for a service level and detecting an error in real time and generating a notification when an error occurs.

[0037] According to the present disclosure, data on application usage history can be collected and analyzed to evaluate and improve service performance through indicators such as service availability, usage frequency, and error occurrence frequency.

[0038] According to the present disclosure, various errors, such as connection failures with Bluetooth scanners and usability failures, can be efficiently logged, analyzed, and problems quickly resolved, thereby ensuring the stability and reliability of the system.

[0039] The effects according to the technical idea of ​​the present invention are not limited to the effects mentioned above, and other effects not mentioned can be clearly understood by those skilled in the art from the description of the specification.

[0040] FIG. 1 illustrates an environment in which an electronic device, a barcode scanner, and a server according to one embodiment of the present disclosure can be applied.

[0041] FIG. 2 is a block diagram of an electronic device according to one embodiment of the present disclosure.

[0042] Figure 3 is a flowchart illustrating a method according to one embodiment of the present disclosure.

[0043] FIG. 4 is a diagram showing a screen of an electronic device related to device identification according to one embodiment of the present disclosure.

[0044] FIG. 5 is a flowchart illustrating a data processing process between a barcode scanner and an electronic device according to one embodiment of the present invention.

[0045] Fig. 6 is a flowchart showing a logistics information search and classification process corresponding to a barcode input string according to an embodiment.

[0046] FIG. 7 is a diagram illustrating an application according to one embodiment of the present invention that scans a barcode and displays scanned waybill information on the application screen.

[0047] FIG. 8A is a diagram illustrating successful barcode input, duplicate scan, and error according to one embodiment of the present invention.

[0048] FIG. 8b is a diagram illustrating a duplicate scan error according to one embodiment of the present invention.

[0049] The various embodiments described in this disclosure are exemplified for the purpose of clearly explaining the technical concept of this disclosure and are not intended to be limited to specific embodiments. The technical concept of this disclosure includes various modifications, equivalents, alternatives, and embodiments selectively combined from all or part of the embodiments 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.

[0050] Terms used in this disclosure, including technical or scientific terms, unless otherwise defined, may have the meaning commonly understood by a person of ordinary skill in the art to which this disclosure belongs.

[0051] The expressions "includes," "may include," "comprises," "may have," "have," and "may have" used in this disclosure indicate the presence of a target feature (e.g., a function, operation, or component), but do not exclude the presence of other additional features. In other words, such expressions should be understood as open-ended terms that imply the possibility of including other embodiments.

[0052] The singular expressions used in this disclosure may include the plural meaning unless the context clearly indicates otherwise, and the same applies to the singular expressions set forth in the claims.

[0053] The expressions "first," "second," or "first", "second", etc. used in this document, unless the context indicates otherwise, are used to refer to multiple similar objects and to distinguish one object from another, and do not limit the order or importance among the objects.

[0054] As used herein, the expressions "A, B, and C", "A, B, or C", "A, B, and / or C", or "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 refer to each of the listed items or to 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, (3) at least one A and at least one B.

[0055] The expression "based on" as used in this disclosure is used to describe one or more factors that influence a decision, act of judgment, or action described in a phrase or sentence containing this expression, and this expression does not exclude additional factors that influence the decision, act of judgment, or action.

[0056] As used herein, the expression that a component (e.g., a first component) is “connected” or “connected” to another component (e.g., a second component) may mean that the component is directly connected or connected to the other component, as well as connected or connected via a new other component (e.g., a third component).

[0057] The expression "configured to" used in the present disclosure may have the meanings of "set to", "having the ability to", "modified to", "made to", "capable of", etc., depending on the context. This expression is not limited to the meaning of "specifically designed in hardware", and for example, a processor configured to perform a specific operation may mean a general purpose processor that can perform the specific operation by executing software, or a special purpose computer that is structured through programming to perform the specific operation.

[0058] Hereinafter, various embodiments of the present disclosure will be described with reference to the attached drawings. In the attached drawings and the description of the drawings, identical or substantially equivalent components may be assigned the same reference numerals. Furthermore, in the description of various embodiments below, duplicate descriptions of identical or corresponding components may be omitted, but this does not mean that such components are not included in the embodiments.

[0059] FIG. 1 illustrates an environment in which an electronic device (110a, 110b), a barcode scanner (120a, 120b), and a server (150) according to one embodiment of the present disclosure can be applied. This environment can be used in various application fields such as logistics, inventory management, and product tracking. For example, a user can scan a barcode of a product using a barcode scanner (120a, 120b) and transmit the corresponding data to a server (150) via the electronic device (110a, 110b) for centralized, integrated management.

[0060] Each of one or more electronic devices (110a, 110b) can communicate with a barcode scanner (120a, 120b) via a communication method (130a, 130b). The one or more electronic devices (110a, 110b) may be a single electronic device (110) or a plurality of electronic devices (110). Hereinafter, the electronic devices (110a, 110b) are referred to as an electronic device (110). The one or more barcode scanners (120a, 120b) may be a single barcode scanner (120) or a plurality of barcode scanners (120). Hereinafter, the barcode scanners (120a, 120b) are referred to as a barcode scanner (120). The one or more communication methods (130a, 130b) are referred to as a connection (130).

[0061] As illustrated in FIG. 1, an electronic device (110) and a server (150) may be connected via a network (140) to form an e-commerce-related service or logistics management system. There may be one or more electronic devices (110) connected to the server (150). For example, one or more electronic devices (110a, 110b) may be connected to the server (150) via the network (140), and each electronic device (110) may be capable of storing and processing data, including a database.

[0062] The electronic device (110) may be a mobile device, tablet, or computer that can process data collected by a user through a barcode scanner (120) and communicate with a server (150). Specifically, the electronic device (110) may include a number of computer systems or computer software implemented as network servers, and may provide various information by configuring them as applications. For example, the electronic device (110) may refer to computer software that performs a task and provides the result of the task. In addition, the electronic device (110) may be understood as a broad concept that includes a series of application programs that can operate on a network server and various databases built within it. For example, the electronic device (110) may be implemented using a network server program that is provided in various ways depending on the operating system, such as DOS, Windows, Linux, UNIX, or MacOS.

[0063] In one embodiment, the system of the present invention comprises a plurality of electronic devices (110) connected via a central network, each of which operates with an independent database to store, receive, and transmit data upon user request. The electronic devices (110) connected to the network (140) have their own processing capabilities and can perform data sharing and processing tasks with other electronic devices (110) as needed. For example, the electronic devices (110) can identify the start, progress, and completion status of barcode input, and process, process, and store data based on the status.

[0064] For example, each electronic device (110) can receive a request from a software application, web service, or another electronic device (110), process specific data, and transmit the result back to the requesting device or service via the network (140). In addition, the database of each electronic device (110) provides quick access to data and enables efficient data management. The network (140) can also be connected to multiple electronic devices (110) and databases to perform data management and distributed processing at the network level.

[0065] In one embodiment, the electronic device (110) can establish a connection and communicate with a barcode scanner (120) via a connection (130). The electronic device (110) can receive data from the barcode scanner (120), process the data, and then store the processed data or transmit it via a network (140) as needed. Through this, the electronic device (110) can perform real-time processing of data and efficiently exchange data with a network-level server (150).

[0066] In one embodiment, the electronic device (110) may be responsible for managing communication with a barcode scanner (120). The electronic device (110) may identify the barcode scanner (120) and determine a method of communication with the scanner.

[0067] Additionally, the electronic device (110) can manage logistics services, i.e., product delivery, product return, and product recall status. Specifically, the electronic device (110) can be equipped with an application that provides logistics service management functions. Through the application, the electronic device (110) can track status changes in logistics services and provide real-time information to the user based on the service status.

[0068] An electronic device (110) can be wirelessly connected to a barcode scanner (120) via Bluetooth or Wi-Fi, efficiently transmitting and receiving scanned barcode data. This allows the user to perform scanning operations while moving freely, providing flexibility in operation.

[0069] In one embodiment, the electronic device (110) can support various communication methods such as HID, BLE, and SPP, thereby performing a role compatible with various types of barcode scanners (120).

[0070] In addition, it should be noted that even if an operation is not mentioned in the present disclosure regarding an operation that an electronic device (110) can perform, if it is a general operation that a server (150) providing a known logistics service and an electronic device (110) connected thereto can perform, applying the technical idea of ​​the present disclosure with reference to that operation is not excluded from the scope of the present disclosure.

[0071] A barcode scanner (120) refers to a device that reads and decodes data encoded in a barcode and transmits the data to an electronic device (110). The barcode scanner (120) can be used in various fields such as commerce, logistics, inventory management, wholesale and retail, and medical care. For example, the barcode scanner (120) can include a pen / stick scanner, a charge-coupled device scanner, a laser scanner, an imager / camera-based scanner, a Bluetooth / wireless scanner, a wearable scanner, a fixed mount scanner, a mobile device scanner, an industrial scanner, a medical scanner, etc.

[0072] In one embodiment, the barcode scanner (120) may include a scanner manufactured by a specific manufacturer. The barcode scanner (120) manufactured by a specific manufacturer may correspond to a software development kit (SDK), which is a software kit provided by the specific manufacturer. The SDK is a toolkit provided by the manufacturer and may provide the functions necessary to communicate with the barcode scanner (120) to decode and process data. Those skilled in the art will understand that the SDK includes various functions that enable the electronic device (110) to transmit data to the electronic device (110) and process the data.

[0073] Additionally, the barcode scanner (120) is not limited to a specific manufacturer and may include various scanners manufactured by multiple manufacturers. It may not be easy to obtain and install all SDKs corresponding to various scanners manufactured by multiple manufacturers. A person skilled in the art will understand that various SDKs or integrated solutions are required to support scanners from various manufacturers. Furthermore, a user may need to use various barcode scanners (120) depending on their needs. Specifically, the use of various scanners may be necessary depending on factors such as scanning speed, accuracy, supported code types (1D, 2D, etc.), price and cost, manufacturer's technical support, product warranty, and maintenance policy.

[0074] A barcode is a visual, machine-readable representation of data attached to various objects such as products, goods, and documents, encoding numeric or character data through a combination of black and white shapes. Specifically, a barcode can include various code formats such as one-dimensional (1D) barcodes or two-dimensional (2D) barcodes. For example, barcodes can include ISBN codes for books, Code 128, Code 39 used in the logistics industry, etc. For example, one-dimensional (1D) barcodes can include Universal Product Code (UPC), European Article Number (EAN), Code 128, ITF-14, etc., which encode numeric or character data through a combination of black and white bars. Two-dimensional (2D) barcodes have more complex data structures, and can include, for example, QR code, DataMatrix, and GS1 DataMatrix.

[0075] A barcode can be composed of a combination of numbers or characters of various lengths. The barcode can be decoded by a barcode scanner (120) and converted into data consisting of a combination of numbers or characters. The length of the barcode, or the data converted by the barcode scanner (120), can vary depending on the type. For example, a UPC can generally consist of 12 digits. Furthermore, for example, EAN can have two main forms. Specifically, EAN-13 can consist of 13 digits, and EAN-8 can consist of 8 digits. Furthermore, for example, Code 128 can include alphabets, numbers, and various special characters and can be composed of a variable-length string. Furthermore, for example, ITF-14 consists of 14 digits and can be primarily used to represent barcodes for boxes or pallets containing multiple products packaged as a unit. Furthermore, for example, GS1 DataMatrix can include various data such as numbers, alphabets, and special characters. GS1 DataMatrix can contain up to 3,116 numeric characters, 2,355 alphabetic characters, or 1,556 bytes of binary data.

[0076] These barcodes are managed in an electronic device (110) and can be updated in real time through a barcode scanner (120) on the electronic device (110). The electronic device (110) transmits this data to a server (150) through a network (140), and the logistics status can be checked through product identification, tracking, and management.

[0077] In one embodiment of the present invention, barcode data can be processed and applied without being limited by barcode length, thereby enabling more efficient logistics and inventory management. For example, efficient logistics and inventory management can be achieved using the first, second, and third states.

[0078] The connection (130) between the electronic device (110) and the barcode scanner (120) refers to all methods that enable data communication through various wired and wireless interfaces. The connection (130) can be implemented in various ways, both wired and wireless. For wired connections, USB, serial, and Ethernet cables can typically be used. The wired connection (130) provides stable data transmission and high-speed transmission speeds, and can ensure reliable communication even over long distances. For wireless connections, technologies such as Bluetooth, Wi-Fi, and radio frequency identification (RFID) can be used. The wireless connection (130) provides flexibility in deployment and mobility between devices, and can eliminate the need for complex physical wiring. The connection (130) enables data transmission between the electronic device (110) and the barcode scanner (120).

[0079] In one embodiment, the electronic device (110) and the barcode scanner (120) can be interconnected via a Bluetooth or Wi-Fi wireless connection. In the case of a Bluetooth connection, both the electronic device (110) and the barcode scanner (120) include a Bluetooth module and are capable of transmitting data over short distances. Through a Bluetooth connection, the two devices can achieve stable wireless communication through a pairing process. Furthermore, in the case of a Wi-Fi wireless connection, the electronic device (110) and the barcode scanner (120) can perform data transmission by connecting to the same Wi-Fi network. At this time, the two devices are each assigned a unique IP address to communicate, and long-distance communication and large-capacity data transmission are possible through a router. A Wi-Fi connection is particularly useful in situations requiring high-speed data transmission or where the distance limitations of Bluetooth must be overcome.

[0080] By interconnecting the electronic device (110) and the barcode scanner (120) via this wireless connection method, an environment is provided in which barcode data can be transmitted and processed in real time to the electronic device (110). Accordingly, users can freely scan barcodes and manage data while on the move without the constraints of a wired connection.

[0081] In one embodiment, the barcode scanner (120) may be connected to the electronic device (110) via a Human Interface Device (HID) method, a Bluetooth Low Energy (BLE) method, a Serial Port Profile (SPP) method, etc. Since the barcode scanner (120) may be connected to the electronic device (110) via various communication methods, the user may have the flexibility to select an appropriate connection method according to different environments and requirements.

[0082] The HID method refers to a USB standard protocol used for input devices such as keyboards and mice. For example, the HID method can be a Bluetooth or USB interface method. Specifically, the HID method allows input devices such as a keyboard, mouse, and barcode scanner (120) to exchange data in a standardized manner. When the barcode scanner (120) is connected to an electronic device (110) via the communication method, the barcode scanner (120) is recognized as an HID device, allowing the scanner to be used without installing a separate driver. The barcode scanner (120) can convert scanned barcode data into a series of keyboard input signals using the HID protocol. The keyboard input signals are barcode data strings that the electronic device (110) automatically recognizes and processes as text input. The scanned barcode data can be input to a specific location on the electronic device (110). Those skilled in the art will appreciate that the HID method has an advantage in terms of compatibility with various scanners.

[0083] The BLE method utilizes low-power Bluetooth communication. When a barcode scanner (120) is connected to an electronic device (110) via BLE, stable wireless communication can be achieved while minimizing battery consumption. The BLE method is particularly advantageous for interfacing with mobile devices or IoT (Internet of Things) devices. Therefore, when the barcode scanner (120) and the electronic device (110) are connected via BLE, the two devices can maintain robust and reliable wireless communication while minimizing power consumption.

[0084] The SPP method implements the serial port communication protocol via Bluetooth. When a barcode scanner (120) is connected to an electronic device (110) via the SPP method, it provides the convenience and reliability of traditional serial communication. This can be particularly utilized in applications where the stability and speed of data transmission are critical. Furthermore, the SPP method maintains the bidirectional communication characteristics of a serial port, thereby minimizing errors during data transmission or reception.

[0085] In a further embodiment of the present invention, the system and method of the present invention can also be applied to implementing a data communication system with sensor devices such as fitness trackers and smartwatches, using BLE and SPP. These communication methods facilitate real-time monitoring and analysis of health data, thereby providing users with customized health management solutions.

[0086] In an additional embodiment of the present invention, the system can also be applied to smart home devices. For example, various sensor devices, such as smart lighting, thermostats, and security cameras, can be configured to communicate with a central hub via a Bluetooth mesh network. This can provide customized management solutions to home users and enhance their convenience.

[0087] In a further embodiment of the present invention, the system and method may further implement a method of tagging products using RFID and NFC technology and linking them with a mobile payment app. Such tags allow users to integrate various devices, subsequently retrieve product information via their smartphone, and make immediate payments. This simplifies the payment process.

[0088] The network (140) may connect one or more electronic devices (110) and may play a role in connecting with a network-level server (150). For example, the network (140) may provide a connection path so that the electronic devices (110) may be connected to the network-level server (150) to transmit and receive packet data. The network (140) may be implemented as any type of wired or wireless network (140), such as a local area network (LAN), a wide area network (WAN), a mobile radio communication network, or Wibro (Wireless Broadband Internet).

[0089] The server (150) may be an electronic device that interacts with one or more different electronic devices (110) and hosts various software. For example, the server (150) may host logistics management system software and manage logistics distribution, logistics status, etc. The server (150) may perform database management, user interface provision, and backend logic processing.

[0090] The server (150) may include a database. The database may be a system that stores and manages various information. In other words, the database may store data related to logistics services.

[0091] The database may be connected to the server (150) or may be included as an embedded component. Specifically, the database may be accessed by the server (150) and may provide information or be updated in real time. For example, when a request is received by an electronic device (110), the server (150) may retrieve relevant data from the database and transmit the results to the electronic device (110) based on the data.

[0092] Additionally, the database may include security features. Specifically, the database may include various mechanisms and protocols to prevent unauthorized access, modification, deletion, etc. of data.

[0093] The logistics management system according to various embodiments may be implemented as a single physical device, or may be implemented in a manner in which multiple physical devices are organically combined. For example, some of the components included in the logistics management system may be implemented by a single physical device, and the remaining components included in the logistics management system may be implemented by another physical device. For example, one physical device may be implemented as a part of an electronic device (110a), and the other physical device may be implemented as a part of another electronic device (110b), a part of a server (150), or a part of an external device (not shown). In some cases, each component included in the logistics management system may be distributed and arranged in different physical devices, and the distributed components may be organically combined to perform the functions and operations of the logistics management system.

[0094] FIG. 2 is a block diagram of an electronic device according to one embodiment of the present disclosure.

[0095] Referring to FIG. 2, an electronic device (200) according to various embodiments may include one or more processors (210), one or more memories (220), and a communication interface (230) as components. In one embodiment, at least one of the components of the electronic device (200) may be omitted, or another component may be added to the electronic device (200). In one embodiment, additionally or alternatively, some of the components may be implemented in an integrated manner, or may be implemented as a single or multiple entities. In the present disclosure, one or more processors (210) may be expressed as a processor (210). The expression “processor (210)” may mean a set of one or more processors, unless the context clearly indicates otherwise. In the present disclosure, one or more memories (220) may be expressed as a memory (220). The expression “memory (220)” may mean a set of one or more memories, unless the context clearly indicates otherwise. In one embodiment, at least some of the components inside / outside the electronic device (200) are connected to each other via a bus, GPIO (General Purpose Input / Output), SPI (Serial Peripheral Interface), MIPI (Mobile Industry Processor Interface), etc., and can exchange information (data, signals, etc.).

[0096] The processor (210) may control at least one component of an electronic device (200) connected to the processor (210) by running software (e.g., commands, programs, applications, etc.). In addition, the processor (210) may perform various operations related to the present disclosure, such as calculations, processing, data generation, and processing. In addition, the processor (210) may load data from the memory (220) or store data in the memory (220). In one embodiment, the processor (210) may control the communication interface (230) to request various types of information from the user terminal (120) and receive various types of information from the user terminal (120).

[0097] The processor (210) can control other components of the electronic device (110) in general and process a series of steps for performing an integrated management method of a barcode scanner (120) according to various embodiments of the present disclosure.

[0098] The processor (210) may have the ability to process data received from a barcode scanner (120) via a network (140) together with the running software, store such data in memory, and then retransmit the data via the network (140) as needed. The real-time data processing capability of the processor (210) and the storage function of the memory enable efficient data exchange via the network (140).

[0099] The processor (210) can process data received from the barcode scanner (120) and transmit it to the server (150) or communicate it to the database of the server (150) to perform necessary tasks.

[0100] According to one embodiment of the present invention, the processor (210) may perform a function of processing data received from the barcode scanner (120). Accordingly, the processor (210) may transmit the data to the server (150) or communicate with a database located in the server (150) to perform a necessary task. Specifically, the processor (210) analyzes the data input from the barcode scanner (120), converts it into an appropriate format, and then transmits it to the server (150). In addition, the processor (210) may access or update the database of the server (150) in real time through communication with the server (150), thereby supporting necessary tasks in various applications. In addition, the processor (210) displays the processed information on the electronic device (110) to support a user to check it in real time.

[0101] The processor (210) can perform communication and management tasks with the barcode scanner (120) through an application (221) running on the electronic device (200). Specifically, the processor (210) performs a role of taking charge of organic communication and management tasks with the barcode scanner (120). The communication and management tasks of the processor (210) are realized through the application (221), which may refer to a software program running on the electronic device (200).

[0102] The application (221) is linked to the processor (210) to collect status information of the barcode scanner (120), transmit control commands, and smoothly process data transmission and reception operations. The processor (210) can transmit commands from the application (221) to the barcode scanner (120) to control the operation of the scanner, and can perform functions of interpreting and processing data received from the scanner. The electronic device (200) can configure a system that can effectively perform communication and management operations with the barcode scanner (120) through collaboration between the processor (210) and the application (221).

[0103] The processor (210) can analyze the collected data to generate information necessary for logistics and inventory management. Specifically, the processor (210) can integrate and analyze data collected from the barcode scanner (120), thereby obtaining meaningful information necessary for logistics and inventory management. Specifically, the processor (210) can monitor inventory levels, product delivery, product recovery, and other logistics-critical data in real time, enabling efficient logistics and inventory management based on this data.

[0104] The memory (220) can store various information (data). The information stored in the memory (220) is information acquired, processed, or used by at least one component of the electronic device (200), and may include software (e.g., commands, programs, etc.). For example, the memory (220) may store an operating system (OS), an application (221), etc. for performing basic operations and resource management functions of the electronic device (200). In the present disclosure, commands or programs are software stored in the memory (220), and may include an operating system for controlling resources of the electronic device (200), an application programming interface (222), and / or middleware for providing various functions to applications so that the applications (221) can utilize the resources of the electronic device (200). In one embodiment, the memory (220) may store commands that, when executed by the processor (210), cause the processor (210) to perform operations. For example, applications (221) are programs utilized by users to perform specific tasks, and these applications (221) can also be stored in memory (220). An application programming interface (222) acts as an intermediary to enable applications and the operating system to interact, and the application programming interface (222) can also be stored in memory (220).

[0105] The memory (220) can cooperate with the processor (210) in data storage and processing tasks to enhance the overall efficiency and stability of the system. Specifically, the memory (220) can store data collected from the barcode scanner (120) and retrieve it when necessary. The memory (220) can permanently or temporarily store data to enable the system to achieve management goals. The memory (220) can immediately store data input from the barcode scanner (120) and, when necessary, provide the data for access by the processor or other system components. Additionally, the memory (220) can store data being processed by the processor (210). Specifically, the memory (220) can temporarily store data being calculated by the processor (210) to ensure the continuity of the operation. For example, the processor (210) can continue its operation without interruption by storing intermediate calculation results or necessary temporary data in the memory.

[0106] The memory (220) may include volatile and / or non-volatile memory. The memory (220) may store at least a portion of information received from the database via the communication interface (230) and / or information transmitted to the database via the communication interface (230). In one embodiment, the memory (220) may replace the role of the database. The memory (220) may store information regarding logistics and instructions configured to be executed by the processor (210).

[0107] The communication interface (communication interface, 230) can perform wireless or wired communication between the electronic device (200) and a database or another electronic device (110). For example, the communication interface (230) can perform wireless communication according to a method 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), Wi-Fi (Wireless Fidelity), Bluetooth (Bluetooth), BLE (Bluetooth Low Energy), NFC (Near Field Communication), GPS (Global Positioning System), or GNSS (Global Navigation Satellite System). For example, the communication interface (230) may perform wired communication according to a method such as Universal Serial Bus (USB), High Definition Multimedia Interface (HDMI), Recommended Standard-232 (RS-232), or Plain Old Telephone Service (POTS). In one embodiment, the electronic device (200) may be implemented by being integrated with another device.In this case, the communication interface (230) can function as a connection circuit or interface connecting the electronic device (200) and the other device.

[0108] Hereinafter, the operations described as being performed by the electronic device (110) in FIGS. 3 to 8a and 8b can be understood as being performed by the processor (210) of the electronic device (200) described in FIG. 2.

[0109] Figure 3 is a flowchart illustrating a method according to one embodiment of the present disclosure. The flowchart consists of steps S310, S320, S330, S340, and S350.

[0110] The electronic device (110) can identify a barcode scanner (120) connected to the electronic device (110) (S310). Referring additionally to FIG. 4, identifying the barcode scanner (120) connected to the electronic device (110) will be described in detail. FIG. 4 is a diagram illustrating a screen of the electronic device (110) related to device identification according to one embodiment of the present disclosure.

[0111] When the electronic device (110) is connected to a barcode scanner (120), it can identify the connected barcode scanner (120). The first screen (410) of FIG. 4 represents the main screen of the application. The first screen (410) may display various buttons that allow the user to perform actions necessary for logistics. Through the scanner setting button of the first screen (410), the user can select a device (e.g., a Bluetooth device) to be connected to the electronic device (110) or select a connected device.

[0112] The second screen (420) of FIG. 4 illustrates a pop-up interface for selecting a barcode scanner (120). The second screen (420) illustrates the process by which a user selects a device to be connected. A pop-up window is depicted in the center of the second screen (420), and based on user input, the electronic device (110) can identify the type of barcode scanner (120) to be connected.

[0113] Additionally or alternatively, the electronic device (110) can identify the barcode scanner (120) from the recognized barcode scanner (120) through an established connection (130), such as a specific protocol or interface. Specifically, unique identification information can be transmitted to the electronic device (110) from the barcode scanner (120) recognized by the electronic device (110). Based on this identification information, the electronic device (110) can identify the model, specifications, functions, etc. of the connected barcode scanner (120). When the electronic device (110) is connected to the barcode scanner (120), it can identify the device and proceed with the initial steps for executing subsequent tasks.

[0114] The electronic device (110) can determine a communication method for interacting with the identified barcode scanner (120) (S310). Specifically, the electronic device (110) can receive a signal transmitted from the barcode scanner (120). This signal may include information regarding the communication method of the barcode scanner (120). The electronic device (110) can analyze the received signal to identify a communication method supported by the barcode scanner (120). The identified communication method may be one of HID, BLE, and SPP. Specifically, HID is a protocol generally used to exchange data with input devices such as a keyboard or mouse, and can be applied to communication with the barcode scanner (120). Additionally, BLE is a type of Bluetooth technology characterized by low power consumption and can be used to connect the barcode scanner (120) and the electronic device (110) in a wireless environment. Additionally, SPP is a profile that mimics serial communication between Bluetooth devices and can be selected as one of the communication methods for data transmission between a barcode scanner (120) and an electronic device (110). The electronic device (110) can utilize various communication methods to more effectively communicate data with the barcode scanner (120).

[0115] In one embodiment, the electronic device (110) may initiate a connection corresponding to the determined communication method. For example, if the barcode scanner (120) supports Bluetooth communication, the electronic device (110) may attempt to connect to the barcode scanner (120) via the Bluetooth protocol. Similarly, if the barcode scanner (120) supports other connection methods such as Wi-Fi or NFC, the electronic device (110) may select a protocol appropriate for the connection method and establish a connection.

[0116] In response to determining that the communication method is the first communication method, the electronic device (110) can determine whether a key input event has occurred from the barcode scanner (120) by an event listener as a receiver that processes the key input event (S320).

[0117] In an additional embodiment, the electronic device (110) may, in response to a determination that the communication method is a second communication method different from the first communication method, load an SDK corresponding to the barcode scanner (120) and receive data of a barcode scanned by the barcode scanner (120) through the loaded SDK.

[0118] Specifically, when the communication method is a second communication method different from the first communication method, for example, when the communication method supports SDK, a communication connection with the scanner is established using an SDK provided by the manufacturer or supplier of the barcode scanner (120). For example, the second communication method may be the SPP method. After loading the SDK, the electronic device (110) can receive barcode data scanned from the barcode scanner (120) through the SDK. Specifically, the SDK can provide a function that can interpret the data scanned by the barcode scanner (120) and transmit it to a user application. Therefore, the electronic device (110) can successfully receive barcode data through the SDK and additionally process or store the data as needed.

[0119] Electronic devices (110) can easily connect to barcode scanners through SDKs and receive various functions. SDKs can be useful in that they can simplify the communication connection setup process and provide additional functions such as data interpretation and processing. This allows the electronic device (110) to communicate more efficiently with the barcode scanner (120).

[0120] The case where the communication method is the first communication method will be described in more detail with reference to FIG. 5. FIG. 5 is a flowchart illustrating a data processing process between a barcode scanner (120) and an electronic device (110) according to one embodiment of the present invention. FIG. 5 explains the operations performed at each step.

[0121] Specifically, the electronic device (110) may activate an event listener capable of detecting a key input event from a barcode scanner (120) when the selected communication method is the first communication method. For example, the first communication method may be an HID method, and the electronic device (110) may detect an event from a barcode scanner (120) that operates similarly to an HID keyboard. The event listener refers to an element that can monitor data input from the barcode scanner (120) in real time as a receiver that processes a key input event. Referring to FIG. 5, at the library level, the electronic device (110) may detect a key event from the barcode scanner (120) and convert it to a scan state. Listening to a key event from a hardware device (Listen Key Event from Hardware Devices) represents a step of detecting a key event from the barcode scanner (120). For example, listening to a key event enables the electronic device (110) to receive a key input event generated from the barcode scanner (120). Transform Key Event into Scan Status represents a step of converting a detected key event into a scan state. For example, converting a key event into a scan state enables the electronic device (110) to convert key input data into status information and pass it on to the next step.

[0122] In one embodiment, the electronic device (110) can determine whether a received signal is a normal barcode scan event. This determination can be made by comparing data input from the barcode scanner (120) to a predetermined format or by confirming that it matches a predefined key input pattern.

[0123] In one embodiment, the electronic device (110) may perform initial setup for data processing prior to receiving a series of information when an event is determined to have occurred. Initial setup may include parsing the barcode data, verifying data integrity, and, if necessary, performing additional post-processing.

[0124] In response to determining that a key input event has occurred, the electronic device (110) may receive the barcode scanned by the barcode scanner (120) as a series of key information (S330). Specifically, the barcode scanner (120) may convert the barcode data read by the barcode scanner (120) into a series of key information through decoding and transmit the decoded data to the electronic device (110). The electronic device (110) may receive the data read by the barcode scanner (120) through a communication interface between the barcode scanner (120) and the electronic device (110).

[0125] The electronic device (110) can identify a state corresponding to each piece of received key information (S340). This state includes a first, second, and third state, where the first state indicates the start of barcode input, the second state indicates the progress of barcode input, and the third state indicates the completion of barcode input.

[0126] Specifically, the states identified by the electronic device (110) can be divided into a first state, a second state, and a third state. The first state is a state indicating the start of barcode input, and may indicate the moment when the user activates the barcode scanner (120) or inputs the first barcode data. Referring to FIG. 5, for example, the first state may be the onStartScan method. The onStartScan method is a method called when barcode input or barcode scanning begins in the electronic device (110), and may signal the start of barcode input.

[0127] In one embodiment, the first state may cause the electronic device (110) to initialize the input string, set a boolean value corresponding to the first state to true, and store key information corresponding to the first state.

[0128] The second state indicates that barcode input is in progress, and may include the process of inputting the entire barcode data. Referring to FIG. 5, for example, the second state may be the OnChangeScan method. The OnChangeScan method is a method called when data changes during scanning in the electronic device (110), and can check and output intermediate data.

[0129] In one embodiment, the second state may cause the electronic device (110) to sequentially add the received key information to the input string if the Boolean value is true.

[0130] The third state indicates that barcode input is complete, and may refer to the point where all barcode data has been completely input and scanning has ended. Referring to FIG. 5 , for example, the third state may be the OnFinishScan method. The OnFinishScan method is called when scanning is completed in the electronic device (110) and allows the electronic device (110) to generate and store the final data as an input string. Additionally, the third state may include a function capable of initializing the scan state. This resets the current operating state of the scanning system, allowing the user to start a new scanning operation from the initial state. It will be appreciated that utilizing the third state may be beneficial in resolving errors or problems that may occur during barcode input.

[0131] In one embodiment, the third state may cause the electronic device (110) to store the sequentially entered input string if no additional key information is received and the Boolean value is true, and set the Boolean value to false.

[0132] In one embodiment, identifying a state corresponding to each of the received key information may include identifying the state corresponding to one of the key information as a third state if the value of one of the received key information is a specific key value.

[0133] Specifically, the electronic device (110) can determine whether one of the received key information has a specific key value. The specific key value may be a predefined value, for example, an enter value. If one of the received key information includes enter, the key information is identified as a third state. At this time, it can be seen that the third state is a special state that is distinct from the previous two states and indicates the completion of barcode input. The specific key value is not limited to enter, but may be any predefined key value.

[0134] In FIG. 3, the electronic device (110) can generate an input string corresponding to a barcode collected by the barcode scanner (120) based on key information corresponding to the state (S350). That is, the electronic device (110) can generate the barcode data collected by the barcode scanner (120) into an input string based on key information corresponding to the first, second, and third states.

[0135] In one embodiment, a first state may cause the electronic device (110) to initialize the input string and set a boolean value corresponding to the first state to true, a second state may cause the electronic device (110) to sequentially add received key information to the input string if the boolean value is true, and a third state may cause the electronic device (110) to store the input string and set the boolean value to false if no additional key information is received and the boolean value is true.

[0136] The electronic device (110) finally processes the received barcode data, converts it into an input string format, and stores or uses it for further processing. Referring to FIG. 5, the OnFinishScan method is a method called when barcode input is completed in the electronic device (110), and enables the electronic device (110) to generate and store the final data as an input string. The input string generation (Build Input String) represents a step of generating an input string based on the received key information.

[0137] Further explanation is given for Fig. 5.

[0138] The User Interface (UI) layer represents the steps a user takes to connect an electronic device (110) to a barcode scanner (120). If the connection between the electronic device (110) and the barcode scanner (120) is successful, the barcode input process may begin, and if it fails, the process may end. Additionally, user input and initial device settings may be performed on the electronic device (110).

[0139] The library layer can receive key events generated from the barcode scanner (120) and perform tasks to convert them into corresponding states. The electronic device (110) can play an important role as an intermediate step in processing input data and generating state information.

[0140] The electronic device (110) receives a series of key information from the barcode scanner (120) and can process the received key information. The electronic device (110) can provide the final stored input string to each view model for processing. Specifically, the electronic device (110) can provide the input string to each function of the application where it is needed through a callback listener. The callback listener refers to a function or method that is called to process a specific event when it occurs so that the electronic device (110) can provide the input string to each function of the application where it is needed. When the electronic device (110) receives the input string through the callback listener, it can transmit it to an appropriate view model (e.g., OneScan view model, Map view model, List view model). In this way, each function of the application can receive and process the necessary data in real time.

[0141] A view model is an object that manages and integrates the properties and commands between an application's UI (view) and data (model). View models can optimize the interaction between data and UI within their respective areas of responsibility.

[0142] For example, the OneScan view model can handle and manage a single scan task within a logistics application. It can include functions to collect and validate scan data entered by the user and pass the data to the appropriate model object. It manages all state changes and UI updates related to a single scan task and can display the scan results to the user when necessary. The Map view model can handle and manage map-related scan tasks. It can manage scan data containing specific location information on a map, convert that data into geographic coordinates or addresses, and display them on the map. Furthermore, the Map view model handles various user interactions on the map and can perform functions such as updating map data and finding optimized routes. The List view model handles and manages list-related scan tasks. It uses a list-like data structure to manage multiple scan data items and can handle operations such as adding, deleting, and modifying individual data items. The List view model can efficiently display list-like data to the user by linking it to the UI and can load and display related detailed information when a specific item within the list is selected.

[0143] Figure 6 is a flowchart illustrating a logistics information retrieval and classification process corresponding to a barcode input string according to an embodiment. This flowchart consists of steps S610, S620, and S630.

[0144] In one embodiment, the electronic device (110) can retrieve logistics information corresponding to an input string (S610). The input string is a specific character string that can be used as a reference for finding related logistics information in a database or server (150). Meanwhile, the result scanned by the barcode scanner (120), i.e., the input string, is not limited to returns, delivery, or product recalls, and thus allows the electronic device (110) to perform various logistics functions. With a single scan, the electronic device (110) can comprehensively manage other logistics tasks, such as return processing, delivery status tracking, and product recall requests. Those skilled in the art will appreciate that a single scan effectively allows a user to perform various functions required for logistics.

[0145] Logistics information includes logistics types, which can include returns, delivery, and product recalls. Returns refer to the process of returning purchased products. Delivery refers to the process of delivering products from a seller, intermediary, or merchant to a buyer. Delivery can include the stages of shipment, transportation, and final delivery after a product order is placed. In product recalls, products refer to items not intended for sale. Specifically, these are not sold directly to consumers through commercial transactions, but can include tools used for the delivery and storage of products intended for sale. Representative examples include shipping boxes, coolers, and packaging boxes, which can protect products and ensure rapid delivery.

[0146] In an additional embodiment, the electronic device (110) can retrieve logistics information corresponding to the input string through the server (150).

[0147] The electronic device (110) can transmit logistics information to the server (150) so that the server (150) can classify the logistics information by product code, date of receipt, or date of shipment (S610). The electronic device (110) can obtain a plurality of logistics information through the server (150). The logistics information can include information for returns, delivery, and product recalls, and can include various attribute values ​​such as product codes, date of receipt, and date of shipment of the product. For example, the logistics information can include information such as delivery status, products requiring delivery, recall status, products requiring recall, whether the product has been assigned to a user for delivery, recall, or product recall, waybill number information, expiration date of the waybill, and whether delivery, recall, or product recall has been completed.

[0148] Additionally, for example, the delivery status refers to the status of the product during its delivery, and may include states such as "Preparing for delivery," "In delivery," "Delivered," and "Delayed delivery." Products requiring delivery are currently ready to be delivered to customers, and may include products packaged according to order or products awaiting shipment. The recall status refers to the status of products requiring return or retrieval, and may include states such as "Retrieval request received," "Retrieval in progress," "Retrieval completed," and "Retrieval delay." Products requiring retrieval may include products for which a return has been requested or defective products requiring retrieval, such as products requested for return or products subject to defective retrieval.

[0149] As described above, logistics information constitutes crucial data in a logistics management system, playing a crucial role in real-time monitoring and control of product movement and management status. The server (150) receives and manages a large amount of logistics information, enabling efficient logistics processing and customer service. This structure can contribute to proactively preventing various issues that may arise during the logistics process and promoting systematic problem-solving.

[0150] The electronic device (110) can perform a function of transmitting collected logistics information to the server (150). The server (150) can use the received logistics information to perform a classification task based on specific criteria. For example, if classified by product code, product information corresponding to each code can be grouped and managed. If classified by arrival date, data can be organized based on products received on a specific date, simplifying inventory management and tracking. If classified by shipment date, the history of products shipped on a specific date can be efficiently managed.

[0151] The server (150) classifies and manages logistics information based on various factors, such as delivery status, products requiring delivery, retrieval status, products requiring retrieval, whether the product has been assigned to a user for delivery and retrieval or product retrieval, waybill number information, the expiration date of the waybill, and whether delivery and retrieval or product retrieval has been completed. For example, if classified based on delivery status, products currently being delivered, products that have been delivered, and products requiring delivery can be managed separately. If classified based on retrieval status, products that have been retrieval, products that require retrieval, etc. can be systematically identified. Additionally, the server (150) can classify logistics information based on criteria such as origin, destination, product type, and delivery status. In addition, more sophisticated management is possible by utilizing waybill number information to manage the expiration date of a specific waybill or by classifying logistics information by waybill number.

[0152] The server (150) classifies and manages logistics information whenever it is created or updated, and can transmit it to an electronic device (110) if necessary.

[0153] In one embodiment, the electronic device (110) may receive logistics information classified by the server (150) from the server (150) (S620). The electronic device (110) may receive the classified logistics information from the server (150) via the network (140). Additionally, the electronic device (110) may receive the logistics information and store the information or prepare it for use in other processes. The classified logistics information may be useful for tracking the expected arrival time of an item or for identifying the current location of a specific item.

[0154] FIG. 7 is a diagram illustrating an application according to one embodiment of the present invention that scans a barcode and displays scanned waybill information on the application screen.

[0155] In Fig. 7, the left screen (710) illustrates the process of scanning the barcode of a waybill. The user interface (UI) displays the scanning status and shows the scanned barcode image. The right screen (720) of Fig. 7 shows a list of scanned waybills. The electronic device (110) displays scanned waybill information in a list format and can provide detailed information for each waybill.

[0156] To this end, in one embodiment, the electronic device (110) may determine the input string as a waybill number corresponding to a barcode scanned by the barcode scanner (120). The input string may be directly associated with the waybill number. The electronic device (110) may determine the value of the input string as the waybill number, and may track or manage the transportation status of the goods accordingly.

[0157] In one embodiment, the electronic device (110) may verify the validity of the determined tracking number. For example, the electronic device (110) may verify that the tracking number complies with a predefined format or protocol to prevent the use of an invalid or incorrect tracking number.

[0158] In additional embodiments, the electronic device (110) may detect the length of the waybill number to determine whether the number satisfies a predetermined number of digits. In additional embodiments, the electronic device (110) may compare the format of the waybill number, such as the position of specific characters or the arrangement of numbers, with a predetermined pattern. In additional embodiments, the electronic device (110) may apply a specific verification code to the waybill number to determine whether the calculated verification code matches the waybill number.

[0159] Additionally, the electronic device (110) can access a central server (150) or database via a network (140) to verify the validity of the waybill number by checking whether it is within the registered range and is a valid number that has not already been used. This verification process plays a crucial role in maintaining the integrity of the waybill number and minimizing errors that may occur during the transportation process.

[0160] The validity of the waybill number can be verified by considering various cases. For example, in an additional embodiment, the electronic device (110) may include at least one of the following steps to verify the validity of the determined waybill number: (i) determining whether the waybill number overlaps with another previously stored waybill number; (ii) determining whether the transportation validity period corresponding to the waybill number has expired; (iii) determining whether the waybill number corresponds to a waybill number assigned to a user of the electronic device (110) in a database on the server (150); (iv) determining whether the waybill number has already been processed for delivery completion; (v) determining whether the waybill number has been assigned to another user.

[0161] The electronic device (110) can compare the determined waybill number with other waybill numbers stored in the database to determine whether there are any duplicates. If there are duplicate waybill numbers, an error message can be output or the user can be requested to re-enter the number.

[0162] Additionally, the electronic device (110) can check whether the waybill number is no longer valid after a certain period of time has passed since it was issued. If the validity period has expired, the electronic device can output a message indicating that the waybill number cannot be used or request the user to re-enter it.

[0163] Additionally, the electronic device (110) can determine whether the tracking number is actually assigned to the user of the electronic device (110) in the database on the server (150). Specifically, the electronic device (110) can verify whether the entered tracking number has been assigned to the user. If it is not actually assigned, an error message can be output or the user can be requested to re-enter the tracking number.

[0164] Additionally, the electronic device (110) can determine whether the tracking number has already been processed for delivery completion in the database on the server (150). The electronic device (110) can check whether delivery using the tracking number has already been completed, and if delivery has been completed, can output an error message or request the user to re-enter the information.

[0165] Additionally, the electronic device (110) may determine whether the tracking number has been assigned to another user from the database on the server (150). If the electronic device (110) determines whether the tracking number has been assigned to another user, it may output an error message or request the user to re-enter the information.

[0166] In one embodiment, the electronic device (110) may display a message corresponding to the verification result. This is described with reference to FIG. 8A. FIG. 8A illustrates successful barcode input, duplicate scans, and errors according to one embodiment of the present invention.

[0167] As shown in screen (810) of FIG. 8A, if the waybill barcode is successfully scanned while the barcode scanner (120) is connected to the electronic device (110), a success message may be displayed on the electronic device (110). At this time, although not shown, if the waybill barcode is successfully scanned, the electronic device (110) may display the following as waybill information: the determined waybill number; the number of scanned waybills; and the number of unscanned waybills. This information may help the user more efficiently perform waybill management and tracking tasks.

[0168] Referring to screen (820) of FIG. 8A and FIG. 8B , if a duplicate scan occurs, a duplicate message may be displayed on the electronic device (110). In one embodiment, the electronic device (110) may display an image of a duplicated waybill. A duplicate scan refers to a case where the same waybill is scanned more than once. If a duplicate scan occurs, the electronic device (110) may identify it and display a warning message to the user. This warning message may include a visual or auditory signal. In particular, when the electronic device (110) displays an image of a duplicated waybill, the user can check in real time whether a duplicate scan has occurred. This allows the user to avoid unnecessary data entry or duplicate processing of already processed data.

[0169] Screen (830) of FIG. 8a illustrates a case where a scan error occurs when a barcode scanner is connected, indicating that the determined waybill number is not a normal waybill number. The electronic device (110) may display an error message indicating that the waybill is not a normal waybill. In this case, the electronic device (110) may provide an input field for directly entering the waybill number, allowing the user to directly enter the waybill number through this field.

[0170] The electronic device (110) may also have a function to inform the user of various error situations. For example, the electronic device (110) may notify the user through the message "This is not a normal waybill" when the entered waybill number is not recognized by the system. This may mean that the waybill entered by the electronic device (110) does not follow the format or rules registered in the system. For example, the electronic device (110) may notify the user through the message "This is an unassigned waybill" that the entered waybill number is invalid because it is not assigned to the user of the electronic device (110) in the server (150) database. For example, the electronic device (110) may notify the user through the message "This waybill has already been delivered" that the waybill has already been processed as delivered. For example, the electronic device (110) may notify the user through the message "This waybill has been assigned to another user" when the entered waybill number has been assigned to another user.

[0171] Additionally, the electronic device (110) can guide the system to take appropriate action when a system error or other problem occurs by sending a message such as “Please contact the administrator.”

[0172] In one embodiment according to the present disclosure, an application for managing a barcode scanner (120) may be installed in an electronic device (110), and the electronic device (110) may specify one or more indicators for the usage history of the application for service reporting, analyze the usage history according to the indicators, and log the results of the analysis.

[0173] Specifically, the electronic device (110) can identify one or more metrics regarding the usage history of an application. As used herein, "metrics" refer to metrics utilized to evaluate various characteristics of an application. These metrics may include the effectiveness of the application, frequency of use, and the presence or absence of issues. For example, the effectiveness of an application may indicate how well the application performs the functions or services it provides to the user, while frequency of use may indicate how often the application is used over a specific period of time. The presence or absence of issues may be assessed by factors such as the frequency of errors or unexpected behavior occurring during application use. Such metrics provide important data for improving and optimizing applications.

[0174] Additionally, the indicator may include at least one of service availability, error frequency, and error history. Service availability is an indicator indicating whether the system operates normally during the time provided to the user. This allows the electronic device (110) to measure the time for which the system can operate without interruption. Error frequency is an indicator indicating the number of times errors occur in the system. This allows the electronic device (110) to evaluate the stability and performance of the system. Error history is an indicator that records the type and cause of errors that occurred in the system.

[0175] The electronic device (110) can monitor application usage history in real time and collect data. The electronic device (110) can receive and process data from various sensors and communication modules. The memory of the electronic device (110) then stores the collected data and makes it accessible to analysis tools. The electronic device (110) preserves the history of application usage history and enables additional operations necessary to identify indicators to be performed.

[0176] Thereafter, the communication module of the electronic device (110) may communicate data with an external server (150) or a cloud system, so that the application's usage history and indicators may be transmitted to the server (150) to enable comprehensive analysis. In an additional embodiment, the electronic device (110) may analyze the application's usage history according to specified indicators. The electronic device (110) may evaluate the current status and performance of the application through a process of collecting and processing log data, user feedback, performance metrics, etc.

[0177] In one embodiment, the electronic device (110) can log the analyzed results. The electronic device (110) can structure the analyzed data and re-record it, or report the logged data to an external system. The logging may include the time, date, and other relevant information. Additionally, the electronic device (110) can structure the analyzed data in a specific format and re-record it. The structured data may exist in various forms and may be visualized, for example, in the form of a table or graph. The structured data may be stored in the system's internal database or, as needed, transmitted to external storage.

[0178] Additionally, the electronic device (110) can report logged records to an external system. The electronic device (110) can transmit data to a server (150), a cloud service, or another external system.

[0179] The electronic device (110) can additionally provide the current status of the application, usage history, possible problems, etc. visually or audibly through the user interface.

[0180] In one embodiment according to the present disclosure, specifying one or more indicators by the electronic device (110) may include determining whether the communication method with the barcode scanner (120) is a Human Interface Device (HID) method. Specifically, there may be various ways in which the electronic device (110) communicates with the barcode scanner (120), and determining whether communication is in the HID method among these is important for scalability.

[0181] The electronic device (110) can use a specific protocol or command to determine whether the barcode scanner (120) used in connection with the application is recognized as an HID device. If recognized as an HID device, the electronic device (110) processes the input data transmitted through the barcode scanner (120), thereby identifying the required indicator.

[0182] In one embodiment, the electronic device (110) may determine whether the barcode scanner (120) uses the HID method during the process of recognizing the barcode scanner (120). This may include automatically determining whether the barcode scanner (120) uses the HID method when the barcode scanner (120) is connected to the electronic device (110) and is in operation. For example, when the electronic device (110) recognizes the barcode scanner (120), the communication method or data transmission protocol of the scanner is analyzed to determine whether it uses the HID method. It will be appreciated that this determination process can be performed in real time whenever the barcode scanner (120) is used, and does not require separate manual work or additional settings.

[0183] In an additional embodiment, the method for determining whether the electronic device (110) uses the HID method may be through log recording. This refers to a method in which the electronic device (110) records all activities occurring during the process of attempting to communicate or establishing a connection with a specific device. By analyzing such log records, it is possible to determine whether a specific device uses the HID method. For example, the electronic device (110) may log the connection attempt and data transmission process with the barcode scanner (120), and the use of the HID method can be later reviewed and confirmed through the log. This method may be somewhat delayed compared to real-time verification of the HID method, but has the advantage of leaving a record for later review.

[0184] In one embodiment according to the present disclosure, the step of specifying one or more indicators may include the step of determining a connection status with a barcode scanner (120) and information of the barcode scanner (120).

[0185] In one embodiment of the present disclosure, the step of specifying one or more indicators may include determining a connection status with the barcode scanner (120) and information about the barcode scanner (120). Specifically, the electronic device (110) may determine the connection status with the barcode scanner (120). This is determined by evaluating whether the barcode scanner (120) is normally connected to the electronic device (110), regardless of whether the connection is wired or wireless. Additionally, the electronic device (110) may determine information about the barcode scanner (120). This means examining specific identification information (e.g., serial number, model number, firmware version, etc.) of the barcode scanner (120). This information may be necessary to determine whether the barcode scanner (120) is operating normally or for subsequent data processing and services. It will be appreciated that this configuration can ensure the stability and reliability of the system.

[0186] In one embodiment according to the present disclosure, specifying one or more indicators by the electronic device (110) may include determining a task performed on the application and a frequency of the task.

[0187] Specifically, the electronic device (110) may include a function that monitors and records a series of tasks performed by the user within the application user interface or in the background. Tasks may be implemented in various forms, such as specific actions related to services required for logistics, such as cargo tracking, inventory management, order processing, and delivery status confirmation. By tracking these tasks, the electronic device (110) can calculate the frequency with which each task is performed and statistically analyze this frequency. Through this, the electronic device (110) can identify specific tasks or behavioral patterns that have the greatest impact on the user and generate indicators based on this information. These indicators can be utilized as basic data to enhance the user experience.

[0188] In one embodiment according to the present disclosure, specifying one or more indicators by the electronic device (110) may include: detecting that the occurrence of a key input event was determined by an element other than the event listener; and, in response to detecting that the occurrence of a key input event was determined by an element other than the event listener, determining the occurrence of an error.

[0189] Specifically, the electronic device (110) can detect whether the occurrence of a key input event is recognized by an element other than the event listener. For example, when a user attempts to scan a barcode, another system element may recognize this before a general event listener can capture it, resulting in the event not being detected. If the occurrence of a key input event is detected by an element other than the event listener, it is determined to be an error. In other words, if the event listener fails to properly detect a key input event, it can be considered an error.

[0190] In additional or alternative embodiments, an error may be determined if the event listener fails to determine the occurrence of a keystroke event within a predetermined time period after the barcode entry has begun. The predetermined time period refers to a time interval preset by the system, which is intended to ensure user experience and system reliability. For example, the predetermined time period may be 500 ms, 600 ms, or 700 ms.

[0191] For example, if the event listener fails to process a key input event within two seconds of the barcode input being initiated, the electronic device (110) may determine this as an error. The error determination step serves as a critical step in verifying that the system is operating correctly, and allows the user to quickly be notified of any issues that may arise during the input process.

[0192] In additional embodiments, the preset time can be extended depending on the situation. For example, the preset time can be flexibly adjusted based on system performance or user needs to optimize the user experience. Therefore, if the event listener fails to process a key input event within the preset time, it can be quickly recognized and action taken.

[0193] In one embodiment of the present disclosure, the electronic device (110) may generate a notification when the frequency of error occurrence exceeds a preset threshold.

[0194] Specifically, the electronic device (110) can monitor errors occurring within the system in real time. These may include software errors, hardware errors, network (140) errors, etc. The error occurrence frequency calculated by the electronic device can be compared with a preset threshold. This threshold may be a predefined value to ensure system stability. The electronic device (110) can generate a notification when the error occurrence frequency exceeds the preset threshold. The notification can be delivered in various forms, such as email, SMS, or push notification.

[0195] In one embodiment according to the present disclosure, determining whether a key input event has occurred by an electronic device (110) may include receiving whether a key input event has occurred at predetermined time intervals; and detecting duplicate events among the key input events received at predetermined time intervals, and ignoring the detected duplicate events.

[0196] The electronic device (110) can receive information on whether a key input event has occurred at a predetermined time interval. This means monitoring whether a key input event has occurred at a regular time interval and receiving the information at each time interval. For example, this refers to a process in which the electronic device (110) checks whether a key input event has occurred at 100 ms intervals.

[0197] The electronic device (110) can detect duplicate events among key input events received at predetermined time intervals and ignore the detected duplicate events. If the same key input event occurs repeatedly, the electronic device (110) can consider it a duplicate event and exclude the duplicate event. For example, in a situation where a user continuously presses a single key, the electronic device (110) can ignore all inputs except the first key input, thereby not processing the occurrence of duplicate events. It will be appreciated that this allows for efficient processing of key input events.

[0198] One embodiment of the present invention comprises an electronic device comprising one or more processors and one or more memories storing instructions executed by the one or more processors. When the instructions are executed by the one or more processors, the one or more processors may be configured to execute a method according to any one of the embodiments described above.

[0199] One embodiment of the present invention includes a non-transitory computer-readable recording medium recording instructions that, when executed by one or more processors, cause the one or more processors to perform operations. The instructions recorded on the non-transitory computer-readable recording medium may be configured to cause one or more processors to execute a method according to any one of the embodiments described above.

[0200] In the flowcharts according to the present disclosure, each step of the method or algorithm is described in a sequential order. However, the steps may be performed in any order that can be arbitrarily combined, in addition to being performed sequentially. The description of the flowcharts or flowcharts 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 desirable. 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.

[0201] 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 various embodiments described in the present disclosure. The software may be inferred from 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 including machine-readable instructions (e.g., instructions, codes, or code segments). The device may be a device capable of operating according to instructions called from a storage medium, such as a computer. In one embodiment, the device may be a computing device according to various embodiments described in the present disclosure. In one embodiment, the processor of the device may execute the called instructions, causing components of the device to perform functions corresponding to the instructions. The storage medium may refer to any type of recording medium that stores data and can be read by the device. The storage medium may include, for example, ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, etc. In one embodiment, the storage medium may be implemented in a distributed form, such as in a computer system connected to a network (140). In this case, the software may be distributed, stored, and executed in the computer system. In another embodiment, the storage medium may be a non-transitory storage medium. A non-transitory storage medium refers to a medium that exists regardless of whether data is stored semi-permanently or temporarily (tangible medium), and does not include signals that are transmitted transitively (transitory).

[0202] While the technical concepts of the present disclosure have been described through various embodiments, it should be understood that the technical concepts of the present disclosure encompass various substitutions, modifications, and variations that can be made within the scope of those skilled in the art to which the present disclosure pertains. Furthermore, it should be understood that such substitutions, modifications, and variations are encompassed within the scope of the appended claims.

Claims

1. In an integrated management method of a barcode scanner performed by an electronic device, A step of identifying a barcode scanner connected to the electronic device and determining a method of communication with the barcode scanner; In response to determining that the above communication method is the first communication method, a step of determining whether a key input event has occurred from the barcode scanner by an event listener as a receiver that processes the key input event; In response to determining that the above key input event has occurred, a step of receiving a barcode scanned by the barcode scanner as a series of key information; A step of identifying a state corresponding to each of the received key information, wherein the state includes a first, a second, and a third state, wherein the first state indicates the start of barcode input, the second state indicates the progress of barcode input, and the third state indicates the completion of barcode input; and A step of generating an input string corresponding to a barcode scanned by the barcode scanner based on the key information corresponding to the above state. A method comprising:

2. In paragraph 1, In response to a determination that the communication method is a second communication method different from the first communication method, a step of loading an SDK corresponding to the barcode scanner; and A step of receiving data of a barcode scanned by the barcode scanner through the SDK. A method further comprising:

3. In paragraph 1, The first state causes the electronic device to initialize the input string and set a boolean value corresponding to the first state to true; The second state causes the electronic device to sequentially add the received key information to the input string when the Boolean value is true; The third state causes the electronic device to store the input string if no additional key information is received and the boolean value is true; A method for setting the above Boolean value to false.

4. In paragraph 1, The step of identifying the state corresponding to each of the received key information is: A step of identifying a state corresponding to one key information as the third state when the value of one key information among the received key information is a specific key value. A method comprising:

5. In paragraph 1, A method wherein the connection between the electronic device and the barcode scanner is a Bluetooth or Wi-Fi wireless connection.

6. In paragraph 1, A method wherein the above communication method includes at least one of the HID (Human Interface Device) method, the BLE (Bluetooth Low Energy) method, and the SPP (Serial Port Profile) method.

7. In paragraph 1, A step of retrieving logistics information corresponding to the input string, wherein the logistics information includes a logistics type, and the logistics type includes return, delivery, and product recovery; A step of transmitting the logistics information to the server so that the server classifies the logistics information by product code, receipt date, or shipment date; and A step of receiving logistics information classified by the above server from the above server. A method further comprising:

8. In paragraph 1, A step of determining the input string as a waybill number corresponding to a barcode scanned by the barcode scanner; A step of verifying the validity of the determined waybill number; and A step of displaying a message corresponding to the above verification result A method further comprising:

9. In paragraph 8, The step of verifying the validity of the above waybill number is: (i) a step of determining whether the above waybill number overlaps with another waybill number already stored; (ii) a step of determining whether the transportation validity period corresponding to the above waybill number has expired; (iii) a step of determining whether the above-mentioned waybill number corresponds to a waybill number assigned to a user of the electronic device in a database on the server; (iv) a step of determining whether the above waybill number has already been processed for delivery completion; (v) a step for determining whether the above waybill number has been assigned to another user; A method comprising at least one of:

10. In paragraph 1, The above electronic device has an application installed for managing the above barcode scanner, and the method comprises: For service reporting, a step of specifying one or more indicators of usage history of the application; and A step of analyzing the usage history according to the above indicators and logging the results of the analysis. Including more, The above indicator is a value representing the usage history of the application, and is a method representing at least one of service availability on the application, frequency of service use, frequency of error occurrence, and occurrence history.

11. In paragraph 10, The step of specifying one or more of the above indicators is: A step for determining whether the communication method with the above barcode scanner is HID. A method comprising:

12. In paragraph 10, The step of specifying one or more of the above indicators is: A step of determining the connection status with the above barcode scanner and information of the above barcode scanner A method comprising:

13. In paragraph 10, The step of specifying one or more of the above indicators is: A step of determining the work performed on the above application and the frequency of the work A method comprising:

14. In paragraph 10, The step of specifying one or more of the above indicators is: A step of detecting that the occurrence of the key input event is determined by an element other than the event listener; and In response to detecting that the occurrence of the key input event is determined by an element other than the event listener, a step of determining the occurrence of the error A method comprising:

15. In paragraph 10, A step for generating a notification when the frequency of occurrence of the above error exceeds a preset threshold. A method further comprising:

16. In paragraph 1, The step of determining whether the key input event occurs by the above event listener is: A step of receiving whether the above key input event has occurred in a predetermined time unit; and A step of detecting duplicate events among key input events received in the above-determined time unit and ignoring the detected duplicate events. A method comprising:

17. In electronic devices, one or more processors; and comprising one or more memories storing instructions executed by the one or more processors; An electronic device, wherein when the instructions are executed by the one or more processors, the one or more processors are configured to execute a method according to any one of claims 1 to 16.

18. A non-transitory computer-readable recording medium having recorded thereon instructions that, when executed by one or more processors, cause the one or more processors to perform an operation, A non-transitory computer-readable recording medium, wherein the instructions are configured to cause the one or more processors to execute a method according to any one of claims 1 to 16.

Citation Information

Patent Citations

  • Apparatus and method for controlling barcord scanner

    KR1020120016588A

  • Thermoelectric generator and manufacturing method for the same

    KR1020240027405A

  • Cardiopulmonary resuscitation device

    KR102569455B1

  • Multipurpose bar code scanner

    US20020023959A1

  • Barcode scanner integration with a web application

    US20230237296A1