Method, apparatus, and recording medium for operating scanner in non-face-to-face manner
The remote scanner operation method addresses the limitations of traditional scanning by enabling users to control scanners from anywhere, improving convenience and efficiency through user terminal management.
Patent Information
- Application Number
- PCT/KR2025/010440
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-10-10
- Filing Date
- 2025-07-16
- Publication Date
- 2026-04-16
AI Technical Summary
Traditional scanning methods require users to physically operate scanners, leading to time and spatial constraints and operational difficulties, especially in self-service environments.
A method for remotely operating scanners using user terminals, allowing users to initiate scans and manage scanner operations without physical presence, including queue management and priority handling for multiple scanners.
Enables users to perform scans conveniently and efficiently from anywhere, enhancing user experience and reducing operational complexities by allowing remote control of scanners through user terminals.
Smart Images

Figure KR2025010440_16042026_PF_FP_ABST
Abstract
Description
Method, device, and recording medium for operating a scanner remotely
[0001] The present disclosure relates to a technology for operating a scanner remotely.
[0002] With the recent surge in demand for contactless services, self-service technologies are advancing across various fields. In particular, scanning services are being utilized in diverse areas such as document digitization and digital learning; however, traditional scanning methods require users to physically operate the device, resulting in time and spatial constraints. Furthermore, the complex operation of scanners can cause inconvenience to users and create operational difficulties for administrators.
[0003] To overcome these limitations, technology is required to remotely operate scanners installed in specific locations via user terminals. Through this technology, users can easily perform scans anytime and anywhere, enhance user convenience through an intuitive interface, and receive services optimized for non-face-to-face environments.
[0004] The present disclosure provides a technology for operating a scanner remotely.
[0005] A method for operating a scanner remotely by an electronic device according to one embodiment of the present disclosure may include: transmitting page information to one or more user terminals to instruct a scan start for at least one book; determining whether a command instructing a scan start is received from the user terminals; in response to the determination that a command instructing a scan start is received, instructing one or more scanners to perform a first execution wait; determining whether a first paper feed is performed on the scanner for a first book among the at least one book during the first execution wait of the scanners; and in response to the determination that a first paper feed has been performed, instructing the scanner to perform a first scan for the first paper feed.
[0006] In one embodiment, after the first scan is terminated, the step of instructing the scanner to wait for a second execution may be further included.
[0007] In one embodiment, during the second execution standby of the scanner, the method may further include the step of determining whether a second feed following the first feed is performed on the scanner for the first book, and the step of instructing the scanner to start a second scan for the second feed in response to the determination that the second feed has been performed.
[0008] In one embodiment, the method may further include: determining whether a command instructing to end the scan of the first book is received from at least one of the user terminal or the administrator terminal during the second execution waiting of the scanner; and instructing the scanner to end the scan of the first book in response to the determination that a command instructing to end the scan of the first book has been received.
[0009] In one embodiment, after the scanning of the first book is finished, the method may further include the step of instructing the scanner to wait for a third execution.
[0010] In one embodiment, during the third execution standby of the scanner, the method may further include the step of determining whether a third feed is performed on the scanner for a second book among the at least one book, and the step of instructing the scanner to start a third scan for the third feed in response to the determination that the third feed has been performed.
[0011] In one embodiment, the method may further include the steps of determining whether, during the third execution standby of the scanner, a command instructing the termination of scanning for the at least one book initiated by the user terminal is received from at least one of the user terminal or the administrator terminal, and in response to the determination that a command instructing the termination of scanning for the at least one book has been received, instructing the scanner to terminate scanning for the at least one book and terminating the third execution standby of the scanner.
[0012] In one embodiment, the one or more user terminals include a plurality of user terminals, and the method may further include the step of creating a queue for recording a plurality of scan start commands by the plurality of user terminals according to a predetermined priority, and when a plurality of scan start commands are received from the plurality of user terminals, the step of recording the plurality of scan start commands in the queue according to the predetermined priority.
[0013] In one embodiment, the one or more scanners include a plurality of scanners, and the step of instructing the first execution wait may include: receiving a command instructing the plurality of scan start and, before instructing the plurality of scanners to the first execution wait, determining whether all of the plurality of scanners are in a scan progress or execution wait state; in response to the determination that all of the plurality of scanners are in a scan progress or execution wait state, determining whether there is a scanner among the plurality of scanners in a scan end state; and in response to the determination that there is a scanner in a scan end state, assigning a command of the highest priority in the predetermined priority among the commands instructing the plurality of scan start recorded in the queue to the scanner in the scan end state and instructing the first execution wait.
[0014] An electronic device according to one embodiment of the present disclosure comprises one or more processors and one or more memories in which instructions to be executed by the one or more processors are stored, and 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.
[0015] A non-transient computer-readable recording medium according to one embodiment of the present disclosure records instructions that cause one or more processors to perform an operation when executed by one or more processors, and the instructions may be configured to cause one or more processors to execute a method according to any one of the embodiments described above.
[0016] According to one embodiment of the present disclosure, a user can easily perform a scan by operating the scanner remotely using a user terminal anytime and anywhere, without needing to go to a specific location where the scanner is installed.
[0017] According to one embodiment of the present disclosure, when a command instructing to start a scan is received from a user terminal, the scanner can be operated without the intervention of an electronic device or an administrator terminal.
[0018] According to one embodiment of the present disclosure, user convenience can be enhanced by operating the scanner remotely without the need to physically go to a specific location where the scanner is installed, even when the user scans multiple books at once.
[0019] The effects according to the technical concept of the present disclosure are not limited to the effects mentioned above, and other unmentioned effects will be clearly understood by a person skilled in the art from the description of the present disclosure.
[0020] At least one embodiment of the present disclosure will be described with reference to the accompanying drawings described below, wherein similar reference numerals indicate similar elements, but are not limited thereto.
[0021] FIG. 1 illustrates an environment in which an electronic device according to one embodiment of the present disclosure can be applied.
[0022] FIG. 2 is a block diagram of an electronic device according to one embodiment of the present disclosure.
[0023] FIG. 3a is a drawing showing an example of a page provided by an electronic device according to one embodiment of the present disclosure.
[0024] FIG. 3b is a drawing showing an example of a page provided by an electronic device according to one embodiment of the present disclosure.
[0025] FIG. 4a is a drawing showing an example of a page provided by an electronic device according to one embodiment of the present disclosure.
[0026] FIG. 4b is a drawing showing an example of a page provided by an electronic device according to one embodiment of the present disclosure.
[0027] FIG. 4c is a drawing showing an example of a page provided by an electronic device according to one embodiment of the present disclosure.
[0028] FIG. 4d is a drawing showing an example of a page provided by an electronic device according to one embodiment of the present disclosure.
[0029] FIG. 5 is a flowchart illustrating a method for operating a scanner remotely according to one embodiment of the present disclosure.
[0030] FIG. 6 is a flowchart illustrating a method of instructing a scanner to wait for execution among methods for operating a scanner remotely according to one embodiment of the present disclosure.
[0031] FIG. 7 is a drawing showing an example of an ID of a book to be scanned in a method for operating a scanner remotely according to one embodiment of the present disclosure.
[0032] The various embodiments described in this disclosure are illustrative for the purpose of clearly explaining the technical concept of this disclosure and are not intended to limit it to specific embodiments. The technical concept of this disclosure includes various modifications, equivalents, alternatives, and embodiments selectively combined from all or part of each embodiment described in this disclosure. Furthermore, the scope of the technical concept of this disclosure is not limited to the various embodiments presented below or the specific descriptions thereof.
[0033] Terms used in this disclosure, including technical or scientific terms, may have the meaning generally understood by those skilled in the art to which this disclosure pertains, unless otherwise defined.
[0034] Expressions used in this disclosure, such as “comprising,” “may compose,” “possessing,” “possessing,” “having,” and “possessing,” mean that the subject feature (e.g., function, operation, or component, etc.) exists and do not exclude the existence of other additional features. That is, such expressions should be understood as open-ended terms implying the possibility of including other embodiments.
[0035] Singular expressions used in this disclosure may include the meaning of the plural form unless otherwise indicated by the context, and this applies likewise to singular expressions described in the claims.
[0036] Expressions such as “first,” “second,” etc., used in this disclosure are used to distinguish one object from another when referring to a plurality of objects of the same kind, unless otherwise indicated by the context, and do not limit the order or importance of said objects.
[0037] Expressions used in the present disclosure, such as “A, B, and C”, “A, B, or C”, “A, B, and / or C”, “at least one of A, B, and C”, “at least one of A, B, or C”, “at least one of A, B, and / or C”, “at least one selected from A, B, and C”, “at least one selected from A, B, or C”, and “at least one selected from A, B, and / or C”, may mean each of the listed items or all possible combinations of the listed items. For example, “at least one of A or B” may refer to (1) at least one A, (2) at least one B, and (3) at least one A and at least one B.
[0038] The expression “based on” as used in this disclosure is used to describe one or more factors affecting an act or action of a decision or judgment described in the phrase or sentence containing such expression, and such expression does not exclude additional factors affecting said act or action of a decision or judgment.
[0039] As used in the present disclosure, the expression that a certain component (e.g., a first component) is "connected" or "connected" to another component (e.g., a second component) may mean that the certain component is not only directly connected or connected to the other component, but is also connected or connected through a new other component (e.g., a third component).
[0040] As used in this disclosure, “configured to” may have meanings such as “set to,” “capable of,” “modified to,” “made to,” or “capable of.” This expression is not limited to the meaning of “specifically designed in hardware,” and, for example, a processor configured to perform a specific operation may mean a general-purpose processor capable of performing that specific operation by executing software, or a special-purpose computer structured through programming to perform that specific operation.
[0041] Various embodiments of the present disclosure will be described below with reference to the accompanying drawings. In the accompanying drawings and the description thereof, identical or substantially equivalent components may be given the same reference numerals. Furthermore, in the description of the various embodiments below, the description of identical or corresponding components may be omitted, but this does not mean that such components are not included in the embodiments.
[0042] FIG. 1 illustrates an environment in which an electronic device according to one embodiment of the present disclosure can be applied.
[0043] In one embodiment, the electronic device (100) is connected to a user terminal (200), an administrator terminal (300), and a scanner (400) via a network so that they can communicate with each other. The network can be implemented as any type of wired or wireless network, such as a Local Area Network (LAN), a Wide Area Network, a Mobile Radio Communication Network, or Wibro (Wireless Broadcasting Internet). The electronic device (100) may be connected directly to the scanner (400) via a network, or it may be connected via a separate local server (not shown). In the latter case, for example, the electronic device (100) functioning as a main server may be connected to a separate local server via a network, and that local server may be connected to the scanner (400) via a wired or wireless connection. The method of connecting the electronic device (100) to the user terminal (200), the administrator terminal (300), and the scanner (400) is not limited to the methods described above and can be configured in various ways within the scope of the problem to be solved by the present invention.
[0044] In one embodiment, the electronic device (100) may be implemented with one or more computing devices. For example, all functions of the electronic device (100) may be implemented in one computing device, and as another example, a first function of the electronic device (100) may be implemented in a first computing device and a second function may be implemented in a second computing device. As yet another example, multiple computing devices may be used to each implement all functions or specific functions of the electronic device (100). Such computing devices may include desktop computers, laptop computers, application servers, proxy servers, or cloud servers, as well as computers included in scanners. The configuration of the computing devices is not limited thereto and may be configured in various ways within the scope of the problem to be solved by the present invention.
[0045] In one embodiment, the electronic device (100) may be configured as a server for operating a scanner remotely. That is, the electronic device (100) may be a server that manages a platform providing a service for operating a scanner remotely. For example, a user may instruct the start of a scan on a platform for operating a scanner remotely via a user terminal (200), the electronic device (100) may manage the progress of the scan after the start of the scan on the platform (e.g., instruct the scanner to wait for execution), and the scanner (400) may perform the scan according to the command received as a scan start instruction via the user terminal (200). In addition, the user may instruct or request a scan quote request, scan application (order), payment, order history check, scan progress check, etc. on the platform via the user terminal (200), and the administrator may process the instructions or requests made by the user terminal (200) on the platform via the administrator terminal (300).
[0046] In one embodiment, the electronic device (100) may manage information regarding a user of the user terminal (200). Information regarding a user may include, for example, information regarding the user's name, contact information, address, payment method, purchase history, etc. Management of information regarding a user may collectively refer to a series of actions involving processing the information while having management authority over it. For example, management of information regarding a user may include storing, modifying, deleting, etc., the information.
[0047] In one embodiment, the electronic device (100) may manage information regarding the scanner (400). Information regarding the scanner (400) may include, for example, identification information of the scanner (400), network connection, scanner status information, scanner setting information, etc. Here, network connection information may include IP information assigned to the scanner, gateway information, DNS server information, subnet mask information, etc. Additionally, scanner status information may include connection status information indicating whether the scanner is connected to a network, job status information indicating whether a scan job is currently in progress and completion rate, error status information indicating error information that occurred in the scanner (e.g., paper jam, cover open, etc.), and consumable status information indicating consumable-related information such as remaining ink and remaining paper. In addition, scanner setting information may include scan resolution information for setting the quality of the scanned image (e.g., 300dpi, 600dpi, etc.), scan mode information for setting the scanning method such as color, black and white, or grayscale, file format information for setting the file format to save the scanned result (e.g., PDF, JPEG, TIFF, etc.), and storage location information indicating a network folder or FTP server information to save the scanned result.
[0048] In one embodiment, the electronic device (100) can manage information regarding a command instructed by a user terminal (200) to either request a scan or start a scan. For example, the electronic device (100) can store and manage all information related to the scan request, such as the type of scanned document, the setting of the scan method, and the scan request time, in a database according to a command instructed by the user terminal (200) to request a scan, and can perform a process of instructing the scanner to wait for execution according to a command instructed by the user terminal (200) to start a scan, and furthermore, can store and manage files (including chunk files and merged files) generated after the scan is completed, along with scan result information such as their storage path, file name, and creation time. Additionally, the electronic device (100) can sequentially store commands instructing the start of a scan received from a user terminal (200) in a queue, for example, to manage the order of processing scan operations sequentially, or it can set separate priorities according to the importance or urgency of the scan to process important or urgent operations first, or, when operating multiple scanners, it can utilize a queue to efficiently distribute scan operations to each scanner. A detailed explanation of this will be provided later.
[0049] Additionally, the electronic device (100) can automatically transmit or process scan results by linking information regarding at least one of a scan request or scan start with an external system (e.g., a document management system, an electronic payment system, etc.), and can provide functions such as receiving a scan request, receiving a scan start, checking the scan progress status, and downloading scan results by communicating with a mobile app of the user terminal (200) via API. Furthermore, the electronic device (100) can enable the administrator terminal (300) to monitor the status regarding at least one of a scan request or scan start in real time through a web-based interface, check the scan job processing status, change scan-related settings such as scan resolution and file format in the interface of the administrator terminal (300), or provide customized settings for each user, and generate a report by analyzing scan usage statistics and scanner status information, and provide it to at least one of the user terminal (200) or the administrator terminal (300). In addition, the electronic device (100) can prevent the risk of personal information leakage and hacking by encrypting at least one of the scan request information, scan start information, or scan result information stored in a database, and can allow only authorized users to access at least one of the scan request information, scan start information, or scan result information through user authentication and authorization management, and can manage scan request processing history, system access records, etc. as logs to be used for tracking and analysis in the event of a security incident. The information management for at least one of the scan request or scan start that can be performed on the electronic device (100) is not limited to the configuration described above and can be configured in various ways within the scope of the problem that the present invention aims to solve.
[0050] In one embodiment, the user terminal (200) and the administrator terminal (300) may be implemented as terminals capable of transmitting and receiving various information to and from the electronic device (100) via a network. For example, the user terminal (200) and the administrator terminal (300) may be terminals capable of network communication that include an input / output interface, such as a smartphone, a portable multimedia device, a wearable device, a computer, or a laptop. The user terminal (200) and the administrator terminal (300) may be identical or different from each other, and may be independently selected as appropriate terminals depending on the user and administrator environment.
[0051] In one embodiment, the user terminal (200) may be configured to instruct a scan request along with input of information regarding the document (including books) to be scanned, delivery information, etc., proceed with checking the order details and payment of the order amount, instruct the start of the scan, check the scan progress status (waiting, processing, completed, etc.), and receive an image file (PDF, JPEG, etc.) generated after the scan is completed. Additionally, the administrator terminal (300) may be configured to check the scan request status, scan start status, and scan job processing status, manage the scan progress (whether the scan has ended) after the scan has started, and manage scan-related settings.
[0052] FIG. 2 is a block diagram of an electronic device according to one embodiment of the present disclosure.
[0053] In one embodiment, the electronic device (100) may include one or more processors (110), one or more memories (120), and a communication interface (130) as components. In one embodiment, at least one of the components of the electronic device (100) may be omitted, or another component may be added to the electronic device (100). In one embodiment, additionally or substantially, some of the components may be implemented as an integrated unit or as a single or multiple entity. In this disclosure, one or more processors (110) and one or more memories (120) may be referred to as the processor (110) and the memory (120), respectively. In one embodiment, at least some of the components inside and outside the electronic device (100) may be connected to each other via a bus, GPIO (General Purpose Input / Output), SPI (Serial Peripheral Interface), or MIPI (Mobile Industry Processor Interface), etc., to exchange information (data, signals, etc.).
[0054] In one embodiment, the processor (110) can control at least one component of an electronic device (100) connected to the processor (110) by running software (e.g., instructions, programs, etc.). Additionally, the processor (110) can perform various operations related to the present disclosure, such as computation, processing, data generation, and processing. Additionally, the processor (110) can retrieve data, etc. from memory (120) or store it in memory (120). In one embodiment, the processor (110) can transmit or request various information to a user terminal (200), an administrator terminal (300), and a scanner (400), etc., and receive various information from the user terminal (200), the administrator terminal (300), and the scanner (400), etc., through a communication interface (130). The configuration of the processor (110) is not limited thereto and can be configured in various ways within the scope of the problem to be solved by the present invention.
[0055] In one embodiment, the memory (120) may store various information (data). The information stored in the memory (220) may include software, which is information acquired, processed, or used by at least one component of the electronic device (100). The memory (120) may include volatile and / or non-volatile memory. In the present disclosure, instructions or programs may include software stored in the memory (120), such as an operating system for controlling the resources of the electronic device (100), an application, and / or middleware that provides various functions to the application so that the application can utilize the resources of the electronic device (100). In one embodiment, the memory (120) may store instructions that cause the processor (110) to perform calculations when executed by the processor (110). The memory (120) may store at least a portion of information received from a database through a communication interface (130) and / or information transmitted to a database through a communication interface (230). Specifically, the memory (120) can store information that is input, managed, and processed in relation to a service for operating a scanner remotely, and instructions executed by the processor (110). The memory (120) is not limited thereto and can be configured in various ways within the scope of the problem that the present invention is to solve.
[0056] In one embodiment, the communication interface (130) can perform wireless or wired communication between the electronic device (100) and a database or other external electronic device. For example, the communication interface (130) may use a network interface such as Ethernet, Infiniband, Fibre Channel, Wi-Fi, LTE, LTE-A, etc., and a peripheral device interface such as Bluetooth, NFC (Near Field Communication), USB (Universal Serial Bus), Thunderbolt, Serial Port, PS / 2, etc., and a storage interface such as SATA (Serial ATA), SAS (Serial Attached SCSI), NVMe (Non-Volatile Memory Express), etc. The configuration of the communication interface (130) is not limited thereto and can be configured in various ways within the scope of the problem to be solved by the present invention.
[0057] FIGS. 3a, FIGS. 3b, FIGS. 4a, FIGS. 4b, FIGS. 4c, and FIGS. 4d are drawings illustrating examples of pages provided by an electronic device according to one embodiment of the present disclosure.
[0058] In one embodiment, the page transmitted to the user terminal (200) by the processor (110) included in the electronic device (100) may include, in the ordering step, a page regarding an estimated quote (see FIG. 3a) and a page regarding the creation of an order form (see FIG. 3b); in the scan request step, a page regarding a scan request (see FIG. 4a) and a page regarding order confirmation (see FIG. 4b); and in the scan start step, a page for receiving instructions to start the scan (see FIG. 4c) and a page guiding the start of the scan (see FIG. 4d).
[0059] Specifically, in the ordering stage, a page regarding the estimated estimate of FIG. 3a may be transmitted to the user terminal (200), and the page may be configured to input information such as, for example, the number of books to be scanned, the total number of pages, and the condition of the book (for example, whether there are any special circumstances). As the above information is input on the page regarding the estimated estimate of FIG. 3a, information on the estimated amount may be provided to the user terminal (200). Information on the estimated amount may be provided on the page regarding the estimated estimate of FIG. 3a or on a separate page. Additionally, in the ordering stage, a page regarding the creation of an order form of FIG. 3b may be transmitted to the user terminal (200), and the page may be configured to input information such as, for example, a method of delivering the book (e.g., direct delivery from an online store (bookstore) selling the book, purchase within a service to operate the scanner remotely, or direct delivery by the user), a method of processing the book after scanning (e.g., restoration and retrieval of all books, or restoration and retrieval of only selected books), and a method of restoration (e.g., whether there are any special circumstances). As the above information is entered on the page regarding the creation of an order form of FIG. 3b, the process may proceed to the scan request stage of FIG. 4a. In the ordering stage, in addition to the aforementioned pages, a user guide page for a service to operate the scanner remotely (e.g., including explanations regarding filling out an application form, checking order details, depositing the order amount, starting the scan, checking email, etc.), a scan quality page (e.g., including information regarding scan quality settings, reviews by scan quality, etc.), and a pricing information page (e.g., including information regarding the price per page, whether OCR is applied, trimming price, restoration price, shipping fee, spiral maintenance price, spiral trimming price, price based on the size and thickness of the book, etc.) may be included.The page transmitted to the user terminal (200) during the ordering stage is not limited to the above page and can be configured in various ways within the scope of the problem to be solved by the present invention.
[0060] Next, in the scan request step, a page regarding the scan request of FIG. 4a may be transmitted to the user terminal (200), and the page may be configured to include, for example, a “Request” button to input instructions regarding the scan request. When the “Request” button on the page regarding the scan request of FIG. 4a is clicked (or touched) by the user terminal (200), a page regarding the order confirmation of FIG. 4b may be transmitted to the user terminal (200). The page regarding the order confirmation of FIG. 4b may include information regarding the address to send the book, order details (including the number of books, total number of pages, and price), and may further include information regarding the detailed contents of the order details, such as the scan price, spring maintenance price, spring cutting price, price based on the size and thickness of the book, whether OCR is applied (price), courier fee, and discount amount. The page transmitted to the user terminal (200) in the scan request step is not limited to the above page and may be configured in various ways within the scope of the problem to be solved by the present invention.
[0061] Next, for example, after the above-described order details (including the order amount) are provided to the user terminal (200), the book requested for scanning arrives at the administrator side, and after the order amount is paid by the user terminal (200), in the scanning start stage, a page for receiving instructions to start scanning as in FIG. 4c may be transmitted to the user terminal (200), and the page may be configured to include, for example, a “Scan Start” button so that instructions regarding the start of scanning are entered. When the “Scan Start” button is clicked (or touched) on the page for receiving instructions to start scanning as in FIG. 4c by the user terminal (200), a page guiding the start of scanning as in FIG. 4d may be transmitted to the user terminal (200), and the scanner (400) on the administrator side may be placed in a state of waiting for execution. Furthermore, the configuration in which the scanner (400) on the administrator side is placed in a state of waiting for execution will be described later. The page transmitted to the user terminal (200) at the scan start stage is not limited to the above page and can be configured in various ways within the scope of the problem to be solved by the present invention.
[0062] FIG. 5 is a flowchart illustrating a method for operating a scanner remotely according to one embodiment of the present disclosure.
[0063] In one embodiment, the processor (110) can transmit information of a page to one or more user terminals (200) to instruct the start of scanning for at least one book (S510). Specifically, the processor (110) generates information of a page (see FIG. 4c) to instruct the start of scanning for at least one book, transmits the information of the generated page to the user terminal (200), thereby enabling the user terminal (200) to instruct the start of scanning.
[0064] In one embodiment, the processor (110) can determine whether a command instructing to start a scan is received from the user terminal (200) (S520). Specifically, the processor (110) can determine whether a command instructing to start a scan is received from the user terminal (200) through the communication interface (130). Furthermore, after transmitting information about a page to instruct to start a scan to the user terminal (200), the processor (110) can determine whether a command instructing to start a scan is received for a predetermined period of time, and if a command instructing to start a scan is not received for a predetermined period of time, it can determine that a command instructing to start a scan was not received from the user terminal (200).
[0065] In one embodiment, the processor (110) may instruct one or more scanners (400) to wait for a first execution in response to a determination that a command instructing to start a scan has been received (S530). The processor (110) may instruct the scanners (400) to wait for a first execution directly without going through a separate local server, or may instruct the scanners (400) to wait for a first execution via a separate local server. In either case, the process from the start of the scan by the user terminal (200) to the waiting for execution by the scanners (400) can proceed without intervention by the administrator.
[0066] In one embodiment, the processor (110) can determine whether a first feed is made to the scanner (400) for the first book among at least one book while the scanner (400) is in a first execution standby state (S540). When the scanner (400) is in an execution standby state, it can determine whether a feed is made to the scanner (400) at a predetermined time interval (e.g., 1 second). Here, feed means supplying a quantity of documents that can be inserted into the scanner (400) at once. For example, if a document of 100 pages can be inserted into the scanner (400) and scanned at once, if a book of 500 pages is to be scanned, the feed and scanning can be done in 5 steps of 100 pages each. Applying this example, step (S540) may mean a step of determining whether the first 100 pages are fed to the document feeder (not shown) of the scanner (400) for the first book of 500 pages. Additionally, the determination of whether the paper is fed to the scanner (400) may be performed by determining whether the document is fed through a sensor installed in the document feeder (e.g., an optical sensor, an ultrasonic sensor, a pressure sensor, a capacitive sensor, a magnetic sensor, etc.).
[0067] In one embodiment, the processor (110) may instruct the scanner (400) to start a first scan for the first feed in response to the determination that the first feed has been completed (S550). In other words, after confirming that the first feed has been completed to the scanner (400), the processor (110) may transmit a command instructing the scanner (400) to start a first scan for the first feed, and this command may trigger the scanner (400) to start a scanning operation. According to the above configuration, the process from the start of scanning by the user terminal (200) to the progress of scanning by the scanner (400) can proceed without intervention by the administrator.
[0068] In one embodiment, the processor (110) may instruct the scanner (400) to wait for a second execution (S530) after the first scan is completed (S560). Specifically, when the first scan for the first paper feed is completed in the scanner (400), the processor (110) may instruct the scanner (400) to wait for execution again (i.e., wait for a second execution) as described in step (S530), or the scanner (400) may automatically enter the state of waiting for execution again (i.e., wait for a second execution). This may be a step for determining whether additional paper feed is required in the scanner (400) or whether the scan for the first book is completed. Additionally, the operating state of the scanner (400) may be similar to the first execution waiting step (S530) and the second execution waiting step (S530), differing only in the timing of the progress of each step.
[0069] In one embodiment, the processor (110) determines whether a second feed following the first feed is made to the scanner (400) for the first book while the scanner (400) is waiting for a second execution (S540), and in response to the determination that the second feed has been made, the scanner (400) may be instructed to start a second scan for the second feed (S550). Applying the above example, this may mean a step of determining whether a second 100 pages are supplied to the document feeder (not shown) of the scanner (400) for the first book of 500 pages in step (S540). The first feeding step (S540) and the second feeding step (S540) may have different timings depending on the progress of each step, but the operating state of the processor (110) may be similar to each other, and the first scanning step (S550) and the second scanning step (S550) may also have different timings depending on the progress of each step, but the operating state of the processor (110) and the scanner (400) may be similar to each other. In FIG. 5, the loop of steps (S530), (S540), (S550), and (S560) may be performed repeatedly until the scanning of the first book is completed.
[0070] In one embodiment, the processor (110) may determine whether, during the second execution standby of the scanner (400), a command instructing the termination of the scan for the first book is received from at least one of the user terminal (200) or the administrator terminal (300) (S570). Here, the administrator terminal (300) may correspond to an electronic device (100) functioning as a main server or a separate local server, or it may correspond to a separate terminal distinct from the electronic device (100) and the local server. If it is determined by at least one of the user or the administrator that the scan for the first book has been terminated, the scan may be terminated by instructing the termination of the scan for the first book. More specifically, in the case of a user terminal (200), a page indicating that the scanning of the first book has been completed is provided to the user terminal (200), and the user may click (touch) a predefined button (e.g., “End of Volume” button) on the page or execute it through a predefined command format, and in the case of an administrator terminal (300), the administrator may click (touch) a predefined button (e.g., “End of Volume” button) on the administrator page or execute it through a predefined command format.
[0071] In one embodiment, the processor (110) may instruct the scanner (400) to end the scanning of the first book in response to a determination that a command to end the scanning of the first book has been received (S580). In other words, the command to end the scanning of the first book may trigger the scanner (400) to end the scanning of the first book and perform subsequent processing. Here, subsequent processing may include processing to merge chunk files generated by one or more scans performed before the end of the scan into a single image file, processing to upload the merged image file onto a platform for operating the scanner remotely, and processing to make it downloadable by a user terminal (200). Applying the above example, for the first book of 500 pages, paper feeding and scanning may be performed a total of 5 times, and accordingly, 5 chunk files may be generated. Accordingly, a complete image file for the first book may be generated by merging the chunk files in the order they were scanned to create a single image file.
[0072] In one embodiment, the processor (110) may instruct the scanner (400) to wait for a third execution (S530) after the scan of the first book is completed (S580). Specifically, when the scan of the first book is completed in the scanner (400), the processor (110) may instruct the scanner (400) to wait for execution again (i.e., wait for a third execution) as described in step (S530), or the scanner (400) may automatically enter the state of waiting for execution again (i.e., wait for a third execution). This may be a step for determining whether additional scanning of a second book, which is distinct from the first book among at least one book started by the user terminal (200), is required, or whether the scan of at least one book started by the user terminal (200) is completed and the scan of the user terminal (200) is required. Additionally, the steps for the first execution waiting (S530) to the third execution waiting (S530) may differ only in the timing according to the progress of each step, and the operating state of the scanner (400) may be similar to each other.
[0073] In one embodiment, the processor (110) determines whether a third feed is made to the scanner (400) for a second book among at least one book while the scanner (400) is waiting for a third execution (S540), and in response to the determination that a third feed has been made, the scanner (400) may instruct the scanner (400) to start a third scan for the third feed (S550). Applying the above example, this may mean a step of determining whether a second book, which is scanned together by the same user terminal (200) and is distinct from the first book, is fed to the document feeder of the scanner (400) after the scan of the first book of 500 pages is completed. If the number of pages of the second book exceeds the amount that the scanner (400) can scan at once, it may be fed and scanned multiple times, as in the example for the first book. For example, if the number of pages of the second book is 300 pages, feeding and scanning may be performed a total of three times. In other words, the loop of steps (S530), (S540), (S550), and (S560) can be repeated a total of three times. The steps for the first feed (S540) to the third feed (S540) may have different timings depending on the progress of each step, but the operating state of the processor (110) may be similar to each other, and the steps for the first scan (S550) to the third scan (S550) may also have different timings depending on the progress of each step, but the operating state of the processor (110) and the scanner (400) may be similar to each other. In FIG. 5, the first loop of steps (S530), (S540), (S550) and (S560), and the second loop of steps (S530), (S540), (S550), (S560), (S570) and (S580) may be repeated until the scanning of the user terminal (200) is completed.
[0074] In one embodiment, the processor (110) may determine whether, during the third execution standby of the scanner (400), a command is received from at least one of the user terminal (200) or the administrator terminal (300) to end the scan of at least one book that was started by the user terminal (200) (S590). If it is determined that the scan of at least one book that was started by the user terminal (200) has ended, the scan may be ended by instructing the user terminal (200) to end the scan. More specifically, the instruction to end the scan for the user terminal (200) may be performed by the user terminal (200) being provided with a page indicating that the scan of at least one book started by the user terminal (200) has ended, and by the user clicking (touching) a predefined button (e.g., “User Finish” button) on the page or through a predefined command format, and in the case of the administrator terminal (300), by the administrator clicking (touching) a predefined button (e.g., “User Finish” button) on the administrator page or through a predefined command format.
[0075] In one embodiment, the processor (110) may, in response to a determination that a command to end the scanning of at least one book has been received, instruct the scanner (400) to end the scanning of at least one book and terminate the third execution wait of the scanner (400) (S600). In other words, the command to end the scanning of at least one book may trigger the scanner (400) to end the scanning of all books started by the user terminal (200) and to perform subsequent processing. Here, subsequent processing may include the processing of uploading the merged image files for each of the books started by the user terminal (200) onto a platform for operating the scanner remotely, the processing of notifying the user terminal (200) that the scanning is complete, and the processing of making them available for download by the user terminal (200).
[0076] FIG. 6 is a flowchart illustrating a method of instructing a scanner to wait for execution among methods for operating a scanner remotely according to one embodiment of the present disclosure. FIG. 6 describes a case assuming the existence of a plurality of user terminals and a plurality of scanners. That is, one or more user terminals (200) may include a plurality of user terminals (200), and one or more scanners (400) may include a plurality of scanners (400).
[0077] In one embodiment, the processor (110) may create a queue for recording commands instructing multiple scan start by multiple user terminals according to a predetermined priority, and when commands instructing multiple scan start are received from multiple user terminals (200), the commands instructing multiple scan start may be recorded in the queue according to a predetermined priority. The term “queue” as used in this disclosure may refer to a data structure that temporarily stores (records) and manages data processing requests. Specifically, data processing requests are stored (recorded) in a first-in, first-out (FIFO) manner, such as a queue or a queue, or in a predetermined priority manner, and a data processing device (e.g., a processor) can process the requests sequentially or according to a predetermined priority. Through this, data can be processed efficiently even if many data processing requests occur simultaneously, and the order of data processing can be adjusted according to importance or urgency. The use of a queue can play an important role in preventing system overload, increasing data processing efficiency, and providing stable service to users. The step of creating and recording a queue may be performed before the aforementioned step (S520) or before the step (S610) described later. The timing at which the step of creating and recording a queue is performed is not limited thereto and can be configured in various ways within the scope of the problem to be solved by the present invention.
[0078] In one embodiment, the processor (110), in the step (S520) of instructing a first execution wait, receives a command instructing a plurality of scan start and, before instructing a plurality of scanners (400) to a first execution wait, can determine whether all of the plurality of scanners (400) are in a state of scan progress or execution wait (S610). Specifically, the processor (110) can obtain current state information of each of the plurality of scanners (400), and the state information may include information regarding a scan progress state, an execution wait state, or a scan end state.
[0079] In one embodiment, the processor (110) may determine whether there is a scanner among the plurality of scanners (400) in a scan-ending or execution-waiting state in response to a determination that all of the plurality of scanners (400) are in a scan-in-progress or execution-waiting state (S621). Specifically, this may mean a step of determining whether there is a scanner in a scan-ending state according to step (S600) when all of the plurality of scanners (400) are in steps (S530 to S590) of FIG. 5. Additionally, the processor (110) may determine whether there is a scanner in a scan-ending state by acquiring current state information of each of the plurality of scanners (400) at a predetermined time interval (e.g., 1 second).
[0080] In one embodiment, the processor (110) may be configured to assign to the available scanner (S622) a command of the highest priority among a plurality of scan start commands recorded in a queue (e.g., the command recorded first among a plurality of scan start commands recorded in a queue, if the queue is a queue) in response to a determination that not all of the plurality of scanners (400) are in a scan start or execution waiting state, that is, in response to a determination that there is a scanner in a scan end state (i.e., available scanner) among the plurality of scan start commands recorded in the queue, and to instruct the scanner to wait for execution (S530). Alternatively, the processor (110) may be configured to assign to the available scanner immediately without needing to record a plurality of scan start commands in a queue, in response to a determination that not all of the plurality of scanners (400) are in a scan start or execution waiting state, and to instruct the scanner to wait for execution.
[0081] In one embodiment, the processor (110), in response to a determination that there is a scanner in a scan-end state, assigns the highest priority command among a plurality of scan-start commands recorded in a queue to the scanner in the scan-end state (S631) and may instruct a first execution wait (S530). Specifically, this may mean a configuration in which, in response to a determination that there is a scanner in a scan-end state (i.e., an available scanner) among a plurality of scanners (400), the highest priority command among a plurality of scan-start commands recorded in a queue (for example, if the queue is a queue, the command recorded first among a plurality of scan-start commands recorded in the queue) is assigned to the available scanner and instructs the scanner to execute wait.
[0082] In one embodiment, the processor (110) may keep the highest priority command in the queue waiting in response to a determination that there is no scanner in the scan end state (S632). Specifically, this may mean that all of the plurality of scanners (400) are in the execution waiting or scan progress state according to steps (S530 to S590) of FIG. 5. In this case, since there are no available scanners, the highest priority command in the queue may not be assigned to a specific scanner and may be kept waiting in the queue. Additionally, following step (S632), the processor (110) may determine whether there is a scanner among the plurality of scanners (400) in the scan end state (S621). Specifically, the processor (110) may determine whether there is a scanner in the scan end state by acquiring current state information of each of the plurality of scanners (400) at a predetermined time interval (e.g., 1 second). That is, by acquiring the current status information of each of the multiple scanners (400) at predetermined time intervals until a scanner reaches a scan end state, the existence of available scanners can be immediately confirmed.
[0083] The flowcharts according to FIGS. 5 and 6 illustrate, by way of example, each step of the method or algorithm according to an embodiment of the present disclosure, and are not required to be executed in the order shown, and each step may be combined or performed in various orders within the scope that does not contradict the technical concept. In the present disclosure, descriptions of flowcharts or flowcharts do not exclude applying changes or modifications to the method or algorithm of the present disclosure, and do not imply that any step is essential or preferred. In one embodiment, at least some of the steps may be performed in parallel, iteratively, or heuristically. In another embodiment, at least some of the steps may be omitted or additional steps may be included.
[0084] FIG. 7 is a drawing showing an example of an ID of a book to be scanned in a method for operating a scanner remotely according to one embodiment of the present disclosure.
[0085] In one embodiment, an International Standard Book Number (ISBN) may be used as the ID (700) of the book to be scanned. An ISBN is a unique identification number assigned to a publication and may be printed and displayed on the cover of the book, for example, at the bottom of the back cover. An ISBN consists of a barcode and an identification number, and when the barcode or the identification number is recognized by a reader, identification information including the book's title, author, publisher, year of publication, format, number of pages, language, and price may be obtained.
[0086] In one embodiment, the processor (110) may recognize the book ID (700) included in each of at least one book by a reader before the step (S530) of instructing one or more scanners (400) to wait for a first execution (e.g., in the ordering step before the step of transmitting information about pages regarding a scan request to one or more user terminals (200)), and obtain identification information for each of at least one book from the recognition result of the book ID (700), the book ID (700) may include an ISBN, and the book identification information may include the book title, author, publisher, publication year, format, number of pages, language, and price. Additionally, the processor (110) may obtain information regarding the number of books requested by the user terminal (200) based on the number of times the book ID (700) is recognized, and obtain information regarding the number of pages of each book from the book identification information.
[0087] In one embodiment, the processor (110) can obtain information regarding the number of pages of the first book from identification information obtained by recognizing the ID (700) of the first book, and based thereon, determine the number of feeds and scans required for the entire scan of the first book. Specifically, the number of feeds and scans required for the entire scan of the first book can be defined as a natural number obtained by rounding up the value of (number of pages of the first book) / (number of pages that can be fed into the scanner at one time). For example, if the number of pages of the first book is 500 pages and each scanner (400) can insert and scan 100 pages of documents at one time, it can be determined that a total of 5 feeds and scans are required. As another example, if the number of pages in the first book is 510 pages and each scanner (400) can insert and scan 100 pages of documents at a time, it can be determined that feeding and scanning are required a total of 6 times (i.e., 6 rounded up from 5.1, which is the value of 510 / 500). Alternatively, this may be determined based on information entered during the scan ordering step by the user terminal (200). By the configuration determining the number of feeding and scanning times required for the full scan of the first book, the step (S570) of determining whether a command instructing the end of scanning for the first book is received from at least one of the user terminal (200) or the administrator terminal (300) during the second execution standby of the scanner (400) may not be required. In other words, during the second execution waiting of the scanner (400) in step (S570), since the number of feeds and scans required for the entire scan of the first book is already determined, there may be no need to determine whether a command to end the scan is received.In this case, in the example described above, the processor (110) can immediately instruct the first book to end the scan (S580) without going through the step (S570) of determining whether a command to end the scan of the first book is received, after performing a loop five times in which the first scan is ended (S560) and the scanner (400) is instructed to wait for a second execution (S530).
[0088] In one embodiment, the processor (110) obtains information regarding the number of pages of the first book from identification information obtained by recognizing the ID (700) of the first book, and based thereon, determines whether the next round of feeding and scanning is required after the current round of feeding and scanning. Specifically, if the number of pages scanned up to the current round is less than the number of pages of the first book obtained by recognizing the ID (700) of the first book, it may be determined that the next round of feeding and scanning is required. In this case, information such as the number of pages that can be fed at once by each scanner (400), or the number of feeding and scanning required for the entire scanning of the first book, may not be required in advance. For example, if the number of pages in the first book is 510 pages and a document of 100 pages is inserted into the scanner (400) as a first feed and a first scan is performed, it can be determined that a second feed and a second scan are required in the scanner (400) (since 410 pages remain), and subsequently, if a document of 200 pages is inserted into the second feed and a second scan is performed, it can be determined that a third feed and a third scan are required in the scanner (400) (since 210 pages remain), and subsequently, if a document of 210 pages is inserted into the third feed and a third scan is performed, the number of pages in the first book obtained by recognizing the ID (700) of the first book can be completed. In this case, the step (S570) of determining whether a command instructing the termination of scanning for the first book is received from at least one of the user terminal (200) or the administrator terminal (300) during the second execution standby of the scanner (400) may not be required.In other words, it is determined that the next round of feeding and scanning is required after the current round of feeding and scanning until the number of pages of the first book obtained by recognizing the ID (700) of the first book is scanned, and when the number of pages of the first book is scanned, it is determined that the scanning of the first book is completed, so there may be no need to determine whether a command to end the scanning is received. In this case, the processor (110) can immediately end the scanning of the first book (S580) without going through the step (S570) of determining whether a command to end the scanning of the first book is received, after the first scan is ended (S560) and after performing a loop to feed and scan until the number of pages of the first book obtained by recognizing the ID (700) of the first book is scanned at least once (S560).
[0089] In one embodiment, the processor (110) may obtain information regarding the number of books requested by the user terminal (200) based on the number of times the book ID (700) is recognized, and may determine the number of at least one book that has been scanned by the user terminal (200) based thereon. For example, if the book ID (700) is recognized a total of three times for at least one book that has been scanned by the user terminal (200), it may be determined that the number of at least one book that has been scanned by the user terminal (200) is a total of three. Alternatively, this may be determined based on information input during the scan order step by the user terminal (200). By the configuration for determining the number of at least one book that has been scanned by the user terminal (200), the step (S590) of determining whether a command instructing the termination of scanning for at least one book that has been scanned by the user terminal (200) is received from at least one of the user terminal (200) or the administrator terminal (300) may not be required. In other words, since the number of at least one book that has been scanned by the user terminal (200) is already determined in step (S590), there may be no need to determine whether a command to terminate the scan for at least one book that has been scanned by the user terminal (200) is received. In this case, the processor (110) can immediately terminate the scan for the user terminal (200) without going through the step (S590) to determine whether a command to terminate the scan for at least one book that has been scanned by the user terminal (200) is received, after performing a loop three times that performs the step (S530) of instructing the scanner (400) to wait for a third execution after the scan for the first book has been terminated (S580).
[0090] Various embodiments according to the present disclosure may be implemented as software on a machine-readable recording medium. The software may be software for implementing the various embodiments described in the present disclosure. The software may be inferred from the various embodiments described in the present disclosure by programmers skilled in the art to which the present disclosure pertains. For example, the software may be a program containing machine-readable instructions (e.g., instructions, code, or code segments). The machine may be a device capable of operating according to instructions called from the recording medium, for example, a computer. In one embodiment, the machine may be a computing device according to the various embodiments described in the present disclosure. In one embodiment, the processor of the machine may execute the called instruction to cause the components of the machine to perform functions corresponding to the instruction. The recording medium may mean any type of recording medium in which data is stored that can be read by the machine. The recording medium may include, for example, ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, etc. In one embodiment, the recording medium may be implemented in a distributed form on a networked computer system, etc. In this case, the software may be stored and executed in a distributed manner on the computer system, etc. In another embodiment, the recording medium may be a non-transitory computer-readable recording medium. A non-transitory computer-readable recording medium refers to a tangible medium that exists regardless of whether data is stored semi-permanently or arbitrarily, and does not include a signal that propagates transitorily.
[0091] Although the technical concept according to the present disclosure has been described above by various embodiments, the technical concept according to the present disclosure may include various substitutions, modifications, and alterations that can be understood by those skilled in the art to which the present disclosure pertains. Furthermore, it should be understood that such substitutions, modifications, and alterations may be included within the scope of the appended claims.
Claims
1. A method for operating a scanner remotely by means of an electronic device, A step of transmitting page information to one or more user terminals to instruct the start of scanning for at least one book; A step of determining whether a command instructing the start of the scan is received from the user terminal; A step of instructing one or more scanners to wait for a first execution in response to a determination that a command instructing the start of the scan has been received; A step of determining whether a first feed is performed to the scanner for the first book among the at least one book during the first execution standby of the scanner; and A method comprising the step of instructing the scanner to start a first scan for the first feed in response to the determination that the first feed has been performed.
2. In Paragraph 1, A method comprising further a step of instructing the scanner to wait for a second execution after the first scan is terminated.
3. In Paragraph 2, A step of determining whether, during the second execution standby of the scanner, for the first book, a second feed following the first feed is performed to the scanner; and A method further comprising the step of instructing the scanner to start a second scan for the second feed in response to the determination that the second feed has been performed.
4. In Paragraph 2, A step of determining whether, during the second execution standby of the scanner, a command instructing the termination of scanning for the first book is received from at least one of the user terminal or the administrator terminal; and A method further comprising the step of instructing the scanner to terminate the scanning of the first book in response to a determination that a command to terminate the scanning of the first book has been received.
5. In Paragraph 4, A method further comprising the step of instructing the scanner to wait for a third execution after the scanning of the first book is completed.
6. In Paragraph 5, A step of determining whether a third feed is performed to the scanner for the second book among the at least one book during the third execution standby of the scanner; and A method further comprising the step of instructing the scanner to start a third scan for the third feed in response to the determination that the third feed has been performed.
7. In Paragraph 5, A step of determining whether, during the third execution standby of the scanner, a command is received from at least one of the user terminal or the administrator terminal instructing the termination of the scan for the at least one book that was started by the user terminal; and A method further comprising the step of, in response to a determination that a command instructing the scanner to terminate the scan of the at least one book has been received, instructing the scanner to terminate the scan of the at least one book and terminating the third execution wait of the scanner.
8. In Paragraph 1, The above one or more user terminals include a plurality of user terminals, and The above method is, A step of creating a queue for recording commands instructing the start of a plurality of scans by the plurality of user terminals according to a predetermined priority; and A method further comprising the step of recording the commands instructing the start of the plurality of scans in the queue according to the predetermined priority when the commands instructing the start of the plurality of scans are received from the plurality of user terminals.
9. In Paragraph 8, The above one or more scanners include a plurality of scanners, and The step of directing the first execution wait mentioned above is, A step of receiving a command instructing the start of a plurality of scans, and determining whether all of the plurality of scanners are in a state of scanning in progress or execution waiting before instructing the plurality of scanners to wait for the first execution; A step of determining whether there is a scanner among the plurality of scanners in a scan-ending or execution-waiting state in response to a determination that all of the plurality of scanners are in a scan-in progress or execution-waiting state; and A method comprising the step of, in response to a determination that there is a scanner in the scan end state, assigning the highest priority command among the plurality of scan start commands recorded in the queue to the scanner in the scan end state in the predetermined priority and instructing the first execution wait.
10. In an electronic device, One or more processors; and It includes one or more memories in which instructions to be executed by the above one or more processors are stored, and An electronic device configured such that when the instructions are executed by the one or more processors, the one or more processors execute a method according to any one of claims 1 to 9.
11. A non-transient computer-readable recording medium having instructions that cause one or more processors to perform an operation when executed by one or more processors, The above instructions are configured to cause one or more processors to execute a method according to any one of claims 1 through 9, a non-transient computer-readable recording medium.