WO2023086095A1 - Memory management in an image processing device - Google Patents
Memory management in an image processing device Download PDFInfo
- Publication number
- WO2023086095A1 WO2023086095A1 PCT/US2021/059091 US2021059091W WO2023086095A1 WO 2023086095 A1 WO2023086095 A1 WO 2023086095A1 US 2021059091 W US2021059091 W US 2021059091W WO 2023086095 A1 WO2023086095 A1 WO 2023086095A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- memory
- image processing
- processing device
- job
- data
- Prior art date
Links
- 230000000977 initiatory effect Effects 0.000 claims abstract description 9
- 238000000034 method Methods 0.000 claims description 23
- 230000005540 biological transmission Effects 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 5
- 238000003672 processing method Methods 0.000 claims 4
- 238000003780 insertion Methods 0.000 claims 2
- 230000037431 insertion Effects 0.000 claims 2
- 230000006854 communication Effects 0.000 description 50
- 238000004891 communication Methods 0.000 description 50
- 230000006870 function Effects 0.000 description 19
- 230000008569 process Effects 0.000 description 19
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 239000011521 glass Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000007175 bidirectional communication Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000000153 supplemental effect Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N1/32609—Fault detection or counter-measures, e.g. original mis-positioned, shortage of paper
- H04N1/32646—Counter-measures
- H04N1/32673—Adjusting or controlling an operating mode, e.g. from paper reception to memory reception
Definitions
- the present disclosure relates generally to managing memory resources in an image processing device to process image processing jobs having large file sizes.
- Image processing devices may include a plurality of different image processing functions.
- an image processing device may include any one of a multifunction peripheral, copier, scanner, printer, or other image processing device, and provide the corresponding functionality.
- the image processing device enables a user to execute various functions, features, and user interfaces in order to perform particular tasks.
- the image processing device and/or application executing on the image processing device may provide functionality for making photocopies, printing a document, scanning a document and generating an electronic document representing the scanned document, transmitting data over a network, accessing a database on a remote server, or other tasks.
- Image processing devices also are selectively connectable to a network.
- An image processing device includes a scanner that digitizes physical documents into electronic document data, a memory storing instructions, and at least one processor that executes the instructions stored in the memory to control the at least one processor to perform operations comprising initiating a job that causes the scanner to digitize information on one or more physical documents into electronic document data, obtaining a secondary source of memory external to the image processing device based on a determination that the initiated job requires an amount of memory that exceeds available memory in the memory, storing the electronic document generated by the scanner at the obtained secondary source of memory instead of in the memory of the image processing device as completed job data, and transmitting the completed job data to a destination system.
- FIG. 1 illustrates an exemplary network environment according to invention principles.
- FIG. 2 is a block diagram depicting the components of an image processing device according to invention principles.
- FIG. 3 is a block diagram depicting the components of a server computing system according to invention principles.
- an image processing device advantageously includes memory management functionality to intelligently monitor the different types of processing jobs performed by one or more primary applications executing on the image processing device in order to ensure that that sufficient memory resources exist to allow for the jobs to be processed completely.
- Processing jobs performed by one or more primary applications include, but are not limited to, print jobs transmitted to the image processing device to be printed on a recording medium (e.g. paper or the like) and scan jobs which are initiated at the image processing device which generate an electronic version of information imprinted on a recoding medium.
- the image processing devices are increasingly used as computing platforms of their own and often time include one or more secondary applications that, when executed, provide other types functionality that may be associated with print or scan jobs.
- annotation functionality that adds further information to the job being processed.
- annotation data such as image(s) or text may be combined with the received job such that the output (either the printing on a recording medium or generating an electronic file) includes the information generated by the primary application and the annotation data added by the secondary application.
- the description of the annotation application as a secondary application is provided for example only and the secondary application may perform further processing on a job being performed by the one or more primary applications.
- the processing application can advantageously identify amount of memory (or storage space) needed in order to process the job and, upon determining that existing allocated memory is insufficient to allow processing to be completed, can obtain secondary sources of memory that will allow for processing to be completed.
- the dynamic determination of the amount of memory needed for processing jobs directly improves the ability of image processing devices to operate as intended without conventional external limitations such as storage requirements being dictated by the job sent to the image processing device.
- the size of the job to be processed is limited to currently available memory (or storage) which is not readily available to the user who is initiating the processing job for the particular image processing device. This leads to frustration because, prior to the initiation of the job, the user is unaware of the technical limitation of the device and the result is that the job cannot be processed as intended. Moreover, in order to process the job, the user has to split the job up into different parts of different sizes in the hopes that individual segments of the job will be processed as expected.
- the dynamic determination of available memory advantageously ensures that there will be sufficient memory for the desired job, whether it be a print or scan job or, in some instances, a job requiring further processing provided by a secondary application such as an annotation application.
- FIG. 1 illustrates an exemplary operational environment.
- the environment depicts an image processing device 100 that includes the dynamic memory management processing according to the present disclosure.
- the image processing device 100 includes functionality to process job data depending on the type of job being initiated.
- a job may be initiated at the image processing device 100.
- a job initiated at the image processing device 100 may include a scan job.
- the job may be transmitted by a job creation apparatus 300 to the image processing device 100 for output by the image processing device.
- the job creation apparatus may be a computing device (e.g. desktop computer, laptop computer, smartphone, tablet, etc.) that includes one or more data processing applications (e.g.
- the particular type of job that is to be processed by the image processing device 100 is not particularly pertinent with the exception for a size of the job and an amount of memory and/or storage that is required by the image processing device 100 in order to complete the job processing in the intended manner.
- FIG. 1 Also depicted in Fig. 1 are a plurality different external storage devices and/or systems that are leveraged by the dynamic memory management process described here in order to provide available secondary memory (storage) sources to the image processing device 100.
- secondary memory sources include an external storage medium 200.
- the external storage medium 200 may include a storage device that is removably connected to a port on the image processing device 100 which can recognize the device as containing additional storage that is usable by the image processing device 100 during job processing.
- Exemplary external storage medium may include flash memory device, a hard disk drive, etc.
- a further type of secondary memory source is a cloud service system 210 which includes a cloud application 212 which controls and governs access to the cloud service system 210 and which further controls data to be stored in the data store 214 such that the cloud application data store 214 is caused to be the secondary memory used as will be discussed below.
- the cloud service system 210 may execute a resource sharing application that provides access to one or more resources stored thereon.
- the resource sharing application may provide the functionality of granting access to one or more users who can access the data store 214.
- cloud service system 210 is a storage sharing service such as anyone of DROPBOX, BOX, GOOGLE DRIVE.
- the cloud service system 2120 may provide a platform that enables users to have private dedicated storage for data files and other information in data store 304 which may be selectively accessible via the network by different types of devices such as computers, servers, smartphones, tablets and like.
- the secondary memory source may also include a portable electronic communication device 205 such as a smartphone or a tablet.
- a connection can be established between the portable electronic communication device 205 and the image processing device 100 in order for the image processing device 100 to make use of available memory on the portable electronic communication device 205 to complete processing of the job.
- the processed job may be output from the image processing device 100 based on the type of job. For example, in the case that the job is initiated at the image processing device 100 is a scan job determined to have required the use of secondary memory as discussed below, the processed scan job can be transmitted by the image processing device over network 50 to a destination server 302. In a case where the job initiated at the image processing device is a copy job, the image processing device 100 can cause the reproduction of a copy of data to be output direct at the image processing device 100. In a case where the job is received by the image processing device 100 from a job creation apparatus 302 and is a print job requiring the use of secondary memory to be completed, the image processing device 100 may output the physical reproduction of the job data at the image processing device 100.
- the operation environment includes a communications network 50 which enables bidirectional communication between all elements shown herein.
- This networked environment including the components are shown herein are described for purpose of example only and to illustrate the principles of invention operation. It should be understood that any of the components shown herein may include one or more than one of the respective component.
- the communication network 50 may be any type of communications network that enables bidirectional data communication between one or more devices connected to the network.
- network 50 may be the Internet and enable packetized communication of data and messages between the one or more devices on the network.
- the network 50 may also be embodied as a wired network, wireless network or a combination thereof.
- the network may also incorporate portions of telecommunications networks such as cellular, satellite or other types of communication networks.
- FIG. 2 illustrates the hardware components of the image processing device 100 shown and discussed in FIG. 1.
- the image processing device 100 includes one or more processor(s) 101.
- the processor(s) 101 include a central processing unit (CPU) that performs overall control functions for the image processing device 100.
- the CPU uses a random access memory (RAM) 102 as a work area while executing instructions.
- RAM random access memory
- the CPU executes instructions of various programs stored in one or more memory devices 104. For example, the CPU executes programs stored in a read only memory (ROM) 103 and in a storage device 104.
- ROM read only memory
- the processor(s) 101 include one or more processors in addition to the CPU.
- the processor(s) 101 may include one or more general- purpose microprocessor(s), application-specific microprocessor(s), and/or special purpose microprocessor(s). Additionally, in some embodiments the processor(s) 101 may include one or more internal caches for data or instructions.
- the processor(s) 101 provide the processing capability required to execute an operating system, application programs, and various other functions provided on the image processing device 100.
- the processor(s) 101 perform or cause components of the image processing device 100 to perform various operations and processes described herein, in accordance with instructions stored in one or more memory devices 104.
- the RAM 102 is used as a work area when the processor(s) 101 execute various instructions, such as those making up computer programs stored in the ROM 103 and/or the storage device 104.
- the RAM 102 may be used as a temporary storage area for various data, including input image data and data created by an application executing on the image processing device 100 or data received from one or more mobile computing devices 200 which is then further processed by one or more applications executing on the image processing device 100.
- the RAM 102 may be used as a cache memory.
- the RAM may be dynamic RAM (DRAM) or static RAM (SRAM).
- the ROM 103 stores data and programs having computer-executable instructions for execution by the processor(s) 101.
- the ROM 103 is a boot ROM, storing instructions for the booting process.
- the ROM 1203 may be flash memory.
- the ROM 103 may include an operating system for controlling the operation of the image processing device 100.
- an operating system application stored in ROM 103 (or alternatively stored in the storage device 104 and accessible once the boot routine of the image processing device 100 is completed), contains a catalog of other applications executing on the image processing device and provide information about such other executing applications to one another enabling interoperation there between.
- An operation panel interface 105 provides output signals to and receives input signals from an operation panel 106.
- the operation panel interface 105 provides GUI data to the operation panel 106 for display on a display device such as liquid crystal display (LCD) or an light emitting diode display (LED).
- the operation panel interface 105 receives input signals based on user input operations at the operation panel 106 and relays the input signals to the processor(s).
- the operation panel 106 includes a touch sensitive element operable to receive user input operations or commands based on the touching of graphical objects displayed on the display.
- the operation panel 106 includes a hard key panel.
- the image processing device 100 includes one or more input/output (I/O) port(s) 107.
- the I/O port(s) 107 may include any suitable interface type such as a universal serial bus (USB) port, FireWire port (IEEE- 1394), serial port, parallel port, or AC/DC power connection port.
- the VO port(s) 107 enable one or more external device(s) 108 to communicate with the image processing device 100 when the external device(s) 108 is/are connected to the VO port(s) 107.
- a network interface 109 includes hardware, software, or both providing one or more interfaces for communication (such as, for example, packet-based communication) between the image processing device 100 and one or more other servers or one or more networks 110 (e.g. network 50 shown in Fig. 1).
- the network interface 109 may include a network interface card (NIC) or a network controller for communicating with an Ethernet or other wire-based network or a wireless NIC (WNIC) or wireless adapter for communicating with a wireless network, such as a WI-FI network.
- NIC network interface card
- WNIC wireless NIC
- This disclosure contemplates any suitable network 110 and any suitable network interface 109 for it.
- the image processing device 100 may communicate with an ad hoc network, a personal area network (PAN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), or one or more portions of the Internet or a combination of two or more of these.
- PAN personal area network
- LAN local area network
- WAN wide area network
- MAN metropolitan area network
- the image processing device 100 may communicate with a wireless PAN (WPAN) (such as, for example, a BLUETOOTH WPAN), a WI-FI network, a WLMAX network, or other suitable wireless network or a combination of two or more of these.
- WPAN wireless PAN
- WI-FI such as, for example, a BLUETOOTH WPAN
- WI-FI wireless local area network
- WLMAX Worldwide Interoperability for Microwave Access
- the image processing device 100 may include any suitable network interface 109 for any of these networks 110, where appropriate.
- a system bus 113 interconnects various components of the image processing device 100 thereby enabling the transmission of data and execution of various processes.
- the system bus 113 may include one or more types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures.
- the device interface 114 is connected to the scanner unit 115 and to the printer unit 116.
- the device interface 114 performs synchronous/asynchronous conversion of image data.
- the scanner unit 115 includes a light source and an image sensor.
- the scanner unit 115 may include a glass platen and/or an automatic document feeder (ADF).
- ADF automatic document feeder
- the light source illuminates a physical document positioned on the glass platen or fed by the ADF.
- Light reflected by the physical document reaches the image sensor, and the image sensor converts the light into electrical signals.
- the scanner unit 115 includes an optical system (for example, mirrors, lens) that directs the light to the image sensor.
- an analog-to-digital converter converts the electrical signals to digital image data representing the scanned physical document.
- the scanner unit 115 then outputs the digital image data to one or more other components of the image processing device 100 via the device interface 114.
- the printer unit 116 is an image output device for printing on a recording medium such as a sheet an image corresponding to image data.
- the printer unit 116 receives image data via the device interface 114 and outputs to a sheet an image corresponding to the image data.
- Image processing device 100 may also include a short distance communication interface (I/F) 130.
- the short distance communication interface 130 facilitates communication between one or more applications executing on the image processing device 100 and at least one mobile computing device 205 using one or more short distance communication protocols.
- the short distance communication interface 130 includes a near field communication unit 131 (for example, an NFC reader) enabling bidirectional communication with a mobile computing device having NFC functionality.
- the NFC unit 131 includes circuitry and software that enables transmission (writes) and reception (reads) of commands and data with a non-contact type device using a short distance wireless communication technique such as NFC (Near Field Communication; ISO/IEC IS 18092).
- the short distance communication interface 130 may also include a BLUETOOTH communication unit 132 that includes a transceiver capable of transmitting and receiving data via short wavelength radio waves ranging in frequency between 2.4GHz and 2.485GHz.
- the short distance communication interface 130 may also include an infrared (IR) unit that can emit and sense electromagnetic wavelengths of a predetermined frequency have data encoded therein.
- the short distance communication interface may also include a smart card reader, radio-frequency identification (RFID) reader, device for detecting biometric information, a keyboard, keypad, sensor(s), a combination of two or more of these, or other suitable devices.
- RFID radio-frequency identification
- the depiction of the short distance communication interface 130 is done merely to facilitate the understanding of the operation of the present arrangement and it should be understood that the short distance communication interface 130 may also be embodied as part of the RO ports 107 and/or the network interface 109. Alternatively, an image processing device 100 for use in accordance with invention principles need not contain any short distance communication circuitry.
- a storage device 104 stores application data, program modules and other information. One or more program modules stored in the storage device 104 are configured to cause various operations and processes described herein to be executed.
- the storage device 104 also stores other programs and data to be processed.
- the storage device 104 stores an operating system including programs and data for managing hardware and software components of the image processing device 100. Applications on the image processing device 100 may utilize the operating system to perform various operations.
- the storage device 104 may further store other programs and/or drivers that enable various functions of the image processing device 100, graphical user interface (GUI) functions, and/or processor functions.
- the storage device 104 may also store data files including, for example, image data, user data, configuration information, GUI components, such as graphical elements or templates, or other data required by the image processing device 100.
- the image processing device 100 includes one more applications including one or more programs for controlling access to one or more resources on the image processing device 100.
- applications stored in the storage device 104 includes one or more programs for controlling access to one or more applications (or particular functionality thereof) executing on the image processing device 100.
- access to one or more resources of the application is controlled based on a credential associated with the entity attempting to access the one or more resources of the application.
- Policies for controlling access to various resources of the application may be stored at the image processing device 100. In other embodiments, access control policies may reside in a centralized or enterprise server remotely located from the image processing device 100.
- a user gains access to one or more resources of the application, including task-specific functionality of the application.
- the task- specific functionality of the application may enable the user to perform one or more tasks using the application.
- the application 100 may provide various functions, features and user interfaces for processing image data, transmitting data over a network, managing one or more databases, or other tasks.
- the application 100 is configured to use one or more resources of the image processing device 100 to perform a process in response to an instruction from the user.
- An application executing on image processing device 100 may use functionality of and/or information on the image processing device 100 to employ hardware, software, or both for that provides scanning functionality.
- the image processing device 100 may include an image sensor or a camera for capturing an image.
- the application executing on the image processing device 100 provides communication functionality for transmitting image file (or other electronic document data file format) via the network 50 to any other computing system and/or server 200/300 connected thereto.
- the communication functionality of the application may be implemented by interaction with the network interface 109 which converts data into a transmissible data form able to be communicated over a network 50 to server 302 (or other computing system).
- application functionality that requires transmission of data may be performed using the short distance communication interface 130 (including any and all types of short distance communication described herein).
- the application may also enable the image processing device 100 to receive instruction data from other systems on the network 50 enabling access to and control of any functionality provided by application.
- the receipt of data from the server 302 or other computing device may similarly occur using any of the network interface 109, short distance communication interface 130 or the like.
- the communication functionality of application may also enable the image processing device 101 to receive and process data objects generated by any system connected to the image processing device 101 via the network 50.
- the application executing on the image processing device 100 provides functionality for maintaining and accessing information in a data structure, which may be any suitable data structure for organizing data. For example, information associated with a user or process may be added as one or more entries into a data structure.
- the application executing on the image processing device 100 may store and/or retrieve data in a memory or on a hard disk of the image processing device 100.
- the image processing device 100 when executing the application, may perform various operations with respect to a data store. Examples of operations include adding entries to a data store; deleting entries from a data store; modifying entries in a data store; searching for entries in a data store; and retrieving entries from a data store.
- the data store management functionality provided by application discussed above is also applicable to data stores located on remote computing systems and/or servers connected to the image processing device 100 via the network 50.
- the application executing on the image processing device 100 may provide functionality for generating information and providing the information to a user interface of the image processing device 100 displayed on operation panel 106.
- the information may include text, images, form elements, files, executable programs, or other suitable information.
- the information provided by the application may include content for display on a display of the image processing device 101.
- the storage device 104 stores a browser application.
- the browser application may enable a user to display and interact with text, images, form elements, or other information typically located on a web page served by a web server on the World Wide Web or a local area network.
- the browser may support various types of downloadable, executable, software modules, such as applets or plug-ins.
- the browser may incorporate a virtual machine configured to execute a program, such as a JAVA applet, embedded in a web page accessed by the browser.
- the image processing device 100 may have various add-ons, plug-ins, or other extensions for use in or with the browser.
- the browser may enable the user of the image processing device 100 to communicate with the first or second servers to select, obtain, request, process, display and/or other make use of data stored on the first and second servers.
- the browser application may enable the user to acquire data from remote servers and/or cloud service systems 210 and provide that data to another operational unit of the image processing device such as the printing unit to enable output by the printer of the image processing device of acquired the data.
- the browser may display a collection of text and image elements that are accessible by a user and which enable the user to perform any of the functionality set forth throughout this description.
- the image processing device 100 may include one or more ports allowing access to external storage media.
- the storage media may include a floppy disk drive, flash memory, an optical disc, a magnetooptical disc, magnetic tape, or a Universal Serial Bus (USB) drive or a combination of two or more of these.
- the storage media may include removable or fixed media.
- the storage media may be internal or external to the image processing device 100.
- the storage media is non-volatile, solid-state memory.
- the storage media may take any suitable physical form.
- the storage media may be in the form of one or more removable blocks, modules, or chips.
- the computer-readable storage medium need not be one physical memory device, but can include one or more separate memory devices.
- the image processing device 100 may be accessed and operated using an external computing device such as portable electronic device 205 in Fig. 1.
- the external; computing device may be a smartphone.
- the external computing device may be a tablet computing device. Accessing the image processing device 100 via an external computing device may allow a user to have the GUI generated by the operation panel interface 105 output onto a screen of the external computing device. Connection between the image processing device 100 and any external computing device may occur via the network interface 109 and/or the short distance communications interface 130.
- a module includes logic, computer-readable data, or computer-executable instructions. Modules may be implemented in software (e.g., Assembly, C, C++, C#, Java, BASIC, Perl, Visual Basic), hardware (e.g., customized circuitry), or a combination of software and hardware. Modules may also include one or more applications (e.g. computer programs) that are executed by the processors (s) 101 to perform the described function. When the modules are implemented in software, the software can be stored in ROM 103 and/or in the storage device 104. During operation thereof, modules may make use of RAM 102 and/or particular logical areas of a storage device 104 in order to perform the described function.
- software e.g., Assembly, C, C++, C#, Java, BASIC, Perl, Visual Basic
- hardware e.g., customized circuitry
- Modules may also include one or more applications (e.g. computer programs) that are executed by the processors (s) 101 to perform the described function.
- the software can be stored
- Control module 120 includes instructions and code for controlling the operation of the image processing device 100. This includes functionality performed by a device operating system that controls the various hardware element of the image processing device 120. In other embodiments, the control module 120 generates the different graphical user interfaces that are presented on the operation panel 106 via the operation panel I/F 105. This includes detecting physical inputs received on the operation panel 106 which are translated by the operation panel I/F 105 in order to control one or more other modules executing on the image processing device 100. In one embodiment, the control module 120 facilitate touch detection that detects a particular region of the operation panel 106 that has been contacted by a user and translates that touch into to electrical signals which are processed by a module that is currently causing the GUI to be displayed on the operation panel 106.
- control module 120 enables the user to interact with any selectable image element (e.g. soft keys) being displayed on the operation panel 106.
- any selectable image element e.g. soft keys
- the control module can translate the information corresponding to any one of the hard keys and pass that information to the relevant module currently being executed.
- Image processing device 100 further includes communication module 122 which includes logic and/or other computer executable instructions that control the communication functionality of the image processing device 100.
- the communication module 122 controls the network interface 109 to allow the image processing device 100 to establish connection with other devices via networks 110 (50 in Fig. 1). This includes, for example, packetized communication via the Internet with devices such the job initiation apparatus 300 for receiving job data and also for communicating completed jobs to the destination server 302.
- the communication module 122 includes control logic for controlling the operation of the short distance communication interface 130 and the different types of short distance communication protocols and circuitry included therein.
- the communication module 122 can selectively control he NFC Unit 131 and/or Bluetooth unit 132 to establish connections to external devices such as the portable electronic computing device 205 or to a peripheral device such as a keyboard. Also, the communication module can selectively control the IR unit 133 to detect for IR signals to be decoded in order to control operations of the image processing device 100. While the communication module 122 is described herein as separate from the control module 120, in some embodiments, the functionality of the control module 120 and communication module 122 are combined into a single module.
- Image processing device 100 includes a set of primary applications that perform native functionality for the image processing device 100.
- the native functions executed by the primary applications include print functionality, scan functionality and copy functionality.
- the primary applications will be described as being performed by the print module 126 and the scan/copy module 128.
- the print module 126 includes logic and control instructions that control output of job data via the printer unit 116.
- the print module 126 receives, via the communication module 122, job data from one or more job initiation apparatus 300. Upon receipt of print job data, the print module 126 signals the printer unit 116 through the device interface 114. The print module 126 decodes the print job data and parses the print settings that are included in the print job data in order to set the necessary printing parameters on the image processing device 100. Then, the print module 126 parses the print data in the job and controls the printer unit 116 to output the print job data on a recoding medium at the image processing device 100.
- Exemplary print settings that can be set include the type of recording medium on which the print data should be output on and whether the printing should be color or black and white.
- Other print settings may include for example, double sided printing and a number of individual pages to be output to a single recording material. This may include, for example, performing a scaling process to scale down the images so that a desired number of sheets can be output to a single recording medium.
- Other embodiments may see the print module 126 identify a user who initiated the print job and determine whether the identified user has particular print settings to be applied to either the particular print job data or all print jobs initiated by that user. This includes, accessing a data store on the image processing device 100 to determine if there are pre-stored user settings for the user.
- the communication module uses the communication module to connected to a directory server to determine if the user identified in the print job data has print settings to be applied to any or all print jobs initiated by that user.
- the print module 126 further controls the elements of the print unit 116 to feed the recording medium into a print area and recording media (e.g. ink, toner, etc.) to be deposited on (or fused to) the recording medium in a manner according to the print job settings to output a physical reproduction of the electronic data contained in the print job data.
- recording media e.g. ink, toner, etc.
- the scan/copy module 128 includes logic and control instructions for performing scanning and copying functions at the image processing device 128.
- Scan and copy jobs are typically initiated at the image processing device 100 whereby a user places physical copies of paper documents either on a glass platen or into an automatic document feeder in order for the image processing device 100 to generate scan data which digitizes the physical documents.
- the generation of digitized versions of the physical document during both the scan and copy operations are performed in similar manners. The difference is what is done with the digitized version.
- the result of the scan operation is a digital data file that is an electronic copy of the physical document which can be stored in the storage device 104.
- the scan module 128 may operate by scanning at least one physical document and translating the captured image into electronic document data. This may include creation of a first version of the electronic document in a first data format (e.g. a device specific data format that may or may not be a proprietary image format). Thereafter, a send job that communicates the electronic document data to a destination system may require a conversion of the first version of the electronic document into a second version of the electronic document in a second, different data format followed by a transmission of the converted electronic document to a destination system.
- a first data format e.g. a device specific data format that may or may not be a proprietary image format
- the second data format may be a user-specified format (e.g. PDF, JPG, etc.).
- the creation of the first electronic document via an image capture is completed prior to the conversion of the first electronic document and transmission of the converted the electronic document.
- the digitized version is temporarily stored in the storage device 104 as the first electronic document data for the purposes of providing the digital data to the printer unit so that it may be output resulting in physical copy of the original physical document being made.
- the image processing device 100 may include one or more secondary applications that leverage the functionality of one or more of the primary applications.
- Exemplary types of secondary applications includes appending additional information to the job that is received by the image processing device 100 from the job initiation apparatus 300 such as a print job or a job that was initiated at the image processing device 100 such as a scan/copy job.
- the secondary application may be an annotation module 129 that includes logic and control programs that adds electronic data to a scan/copy/print job prior to its completion.
- the annotation module 129 may be a numbering application that adds, to each page of the electronic document data, a unique identifier value which was not present in the original job data when it was created.
- Bates numbering is an example of a function being performed by the annotation module 129 whereby unique values are added to each page so that they can be uniquely identified among a set of documents. This can be added digitally and stored in the resulting file created as a result of the scan function or, physically whereby the information can be sent with the job data and recorded on the recording medium as a result of the print or copy function.
- the constraint on successful processing is resource-dependent. More specifically, there are memory and/or storage limitations in the image processing device 100 which provide for limited available active memory sectors to perform a particular processing job and also limited storage space in the storage device in which files, either permanent or temporary, can be stored. This problem is remedied using a memory control module 124 that dynamically, on a job-by-job basis, determines whether the particular job can be completed based on the available memory and/or storage of the image processing device 100.
- the memory control module 124 advantageously obtains secondary memory sources in response to a determination that memory/storage is insufficient to complete the job processing.
- the determination made by the memory control module 124 can analyze memory, such as RAM, to ensure that sufficient space exists for the particular function or analyze available space in the storage device (e.g. internal hard disk of the image processing device 100) that is available to the particular module or application performing the task.
- the storage device e.g. internal hard disk of the image processing device 100
- the image processing device 100 has a limited amount of space for storing files, when a large print/scan/copy job is being processed which needs transmitted to a device or system other than the image processing device (e.g. the destination server 302 or cloud service system 210), the data needs to be kept in the memory or written to the storage space first before it is processed and sent over to the destination. But there are instances where the job is too large to either store in memory or write to the internal hard disk.
- the memory control module 124 provides algorithmic instructions for obtaining secondary storage via external media for use as temporary storage to save large files. Once the job is finished and sent to the destination, the data written to the secondary storage deleted.
- the obtaining of secondary storage advantageously reduces wear and tear on the image processing device 100 by reducing the need to upgrade and replace the primary internal storage 104 of the image processing device 100.
- the dynamic detection and acquisition of additional memory sources improves the devices operation by allowing the image processing device 100 to complete job processing on scan/print/copy jobs that would not be able to be completed based on the native capabilities of the image processing device.
- Fig. 3 illustrates a flow diagram detailing an memory control algorithm executed by the memory control module 124. It should be noted that, in other embodiments, the algorithm and the logic provided thereby can also be embodied as part of any other module described herein including, but not limited to, a subroutine called by any of the modules shown in Fig. 1 and described herein.
- the logic provided in Fig. 3 causes the image processing device to execute memory control based on the one or more modules that are processing the job which has been initiated.
- SI a processing job is initiated that causes the image processing device to perform defined processing.
- SI includes receipt by the image processing device 100, of print job data to be printed by the image processing device.
- the processing job is a scan job that is initiated at the image processing device 100 which digitized one or more physical pages having information printed thereon.
- the processing job is a copy job initiated at the image processing device 100 which causes a physical copy of a document to be generated and output by the image processing device 100.
- the memory control module 124 determines a size of the job indicating an approximate amount of space in one or both of the memory (RAM) or storage (Hard Disk) that would be required to complete processing of the initiated job.
- the determination S2 further accesses the memory and storage to determine if the regions within each that can be addressed by the relevant processing applications are sufficient to complete the particular processing job.
- the image processing device receives the data as an input data stream as it being acquired. For example, in the case of scan job, the input stream is received on a byte by byte basis as the optical components transform the physical document into electronic document data.
- This analysis of the data being input also operates in the same manner for data being received, for example, as a print job from a client device or data being acquired for example via download or other operation whereby the image processing device acquires data to be output.
- the image processing device analyzes the input data stream by counting, in real-time, the number of bytes in the received stream. Once a predetermined byte limit is reached, the image processing device is controlled to cause the display of a prompt requesting additional storage to complete processing the particular processing job.
- a user in advance of processing jobs being performed, a user can input a default additional storage location either on the image processing device via a remotely connected storage device or via a cloud storage location, including any necessary credentials for accessing the remotely connected storage device.
- S2 begins the dynamic memory determination processing of the present disclosure when the available memory and storage is checked based on the determined size of the job. If the determination in S2 indicates that one or more of the memory or storage is insufficient to process the particular job to completion, the image processing device 100 obtains one or more secondary memory sources S4.
- the secondary memory sources obtained in S4 is digital storage space that can be used as either or both (1) supplemental memory that is accessible by the application that is processing the job as a work area and/or (2) supplemental storage space (e.g. hard disk).
- the image processing device 100 obtains one or more secondary sources of memory by generating one or more user interface screen that notify a user that current memory/storage is insufficient and requests the user to provide one or more secondary sources of memory.
- the notification provides information indicating a minimum size of available memory/storage needed for the particular job processing to be completed.
- secondary memory sources include external storage medium (200 in Fig. 1) such as external drive that is connectable to the image processing device 100 by an VO port such as USB or the like.
- the notification in S4 requests that the external storage be inserted into the relevant port on the image processing device.
- a determination as to whether secondary memory sources can be acquired based on one or more application specific processing could determine if mobile computing device 205 is connectable to the image processing device 100 such that the image processing device 100 can make use of available storage on the mobile computing device 205.
- the memory control module 124 can call the communication module 122 to establish a wireless networking connection (e.g. Wifi, Bluetooth, NFC, etc.) between the mobile computing device 205 and the image processing device 100.
- the mobile computing device 205 may include or more companion applications executing thereon that allow the mobile computing device 205 to directly (or indirectly via a network) communicate with and initiate processing jobs.
- the image processing device 100 uses the connection with the mobile computing device to cause the mobile computing device 205 to be used as secondary storage.
- the communication between the memory control module 124, via the communication module obtains information about the mobile computing device 205 to determine if sufficient memory exists to allow it to be used as the secondary memory source. If that determination is positive, a user selectable image element is presented on a user interface that would allow, via one touch operation, pairing and connection of the image processing device 100 and the application executing on the mobile computing device 205 resulting in the mobile computing device 205 to be the secondary memory source.
- S4 queries information about the user that is currently logged into the image processing device 100 to determine if the user access to one or more cloud service systems (e.g. DROPBOX, ONEDRIVE, GOOGLE DRIVE). If that determination indicates the availability of a cloud service system 210, a user interface screen is generated indicating this and allows a user to connect directly to the desired cloud service in order to leverage available space in the cloud application the secondary memory source usable by the application that is performing the job processing.
- a user selectable image element is display that can be selected and which establishes connection between the image processing device 100 and the cloud service system 210.
- the application performing the job processing communicates with the cloud server application 212 to identify and allocation a portion of data store 214 as the secondary memory source.
- This processing may be a one-touch connection or can also include steps including prompts that request a user to enter cloud- specific credentials to access the cloud service system 210.
- S4 can generate a set of user selectable image elements associated with different cloud services and prompts the user to enter credentials specific to that service to obtain, as secondary memory source, area in the cloud data store 214.
- S6 it is determined if the one or more secondary memory sources obtained in S4 have been acquired indicating that the sources is connected to the image processing device and that a region in the secondary memory source is addressable for receipt of job data to be processed in order to complete the job.
- the application causes data to be written to the secondary memory source, in S8.
- This writing of data to the secondary memory source is instead of writing, by the processing application, to the region of the memory/storage of the image processing device 100. As such, the memory/storage on the image processing device 100 is preserved for other applications that may need access while ensuring that the job is processed completely.
- further application processing by one or more secondary applications includes adding additional to the job that was not included when the job was initiated. For example, unique labeling of pages of an electronic document using a predetermine format.
- the completed job is caused to be transmitted, via the communication module 122, to a destination system 302 as prescribed or set by a user.
- the destination is specified when it is initiated.
- a user interface is generated prompting a user to select or enter a destination for transfer.
- the memory control module 124 causes the region in the secondary memory source that presently stores the processed job data is deleted or overwritten in S14 such as to make that region available for future use and an indication is provided to a user that the job processing is completed.
- the scope of the present disclosure includes a non-transitory computer-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform one or more embodiments of the invention described herein.
- Examples of a computer-readable medium include a hard disk, a floppy disk, a magneto-optical disk (MO), a compact-disk read-only memory (CD-ROM), a compact disk recordable (CD-R), a CD-Rewritable (CD-RW), a digital versatile disk ROM (DVD-ROM), a DVD-RAM, a DVD- RW, a DVD+RW, magnetic tape, a nonvolatile memory card, and a ROM.
- Computerexecutable instructions can also be supplied to the computer-readable storage medium by being downloaded via a network.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Facsimiles In General (AREA)
Abstract
An image processing device is provided and includes a scanner that digitizes physical documents into electronic document data, a memory storing instructions, and at least one processor that executes the instructions stored in the memory to control the at least one processor to perform operations comprising initiating a job that causes the scanner to digitize information on one or more physical documents into electronic document data, obtaining a secondary source of memory external to the image processing device based on a determination that the initiated job requires an amount of memory that exceeds available memory in the memory, storing the electronic document generated by the scanner at the obtained secondary source of memory instead of in the memory of the image processing device as completed job data, and transmitting the completed job data to a destination system.
Description
TITLE
MEMORY MANAGEMENT IN AN IMAGE PROCESSING DEVICE
BACKGROUND
Field
[0001] The present disclosure relates generally to managing memory resources in an image processing device to process image processing jobs having large file sizes.
Description of the Related Art
[0002] Image processing devices may include a plurality of different image processing functions. For example, an image processing device may include any one of a multifunction peripheral, copier, scanner, printer, or other image processing device, and provide the corresponding functionality. The image processing device enables a user to execute various functions, features, and user interfaces in order to perform particular tasks. By way of example, the image processing device and/or application executing on the image processing device may provide functionality for making photocopies, printing a document, scanning a document and generating an electronic document representing the scanned document, transmitting data over a network, accessing a database on a remote server, or other tasks. Image processing devices also are selectively connectable to a network. As image processing devices have grown in complexity they are designed to and configured to process print and scan jobs having large file sizes. However, a drawback associated with these advancements is the
relatively limited size of storage devices included in these devices. Further, as functionality beyond scanning and printing is made possible by these devices, the limited size of these storage devices are more problematic as multiple different types of applications are competing for use of the same memory resources. A system according to the present disclosure remedies any drawbacks associated with these conventional systems.
SUMMARY
[0003] Methods, systems, and computer-readable media for processing image file data are described.
[0004] An image processing device is provided and includes a scanner that digitizes physical documents into electronic document data, a memory storing instructions, and at least one processor that executes the instructions stored in the memory to control the at least one processor to perform operations comprising initiating a job that causes the scanner to digitize information on one or more physical documents into electronic document data, obtaining a secondary source of memory external to the image processing device based on a determination that the initiated job requires an amount of memory that exceeds available memory in the memory, storing the electronic document generated by the scanner at the obtained secondary source of memory instead of in the memory of the image processing device as completed job data, and transmitting the completed job data to a destination system.
[0005] Further features of the present invention will become apparent from the following description of exemplary embodiments with reference to the attached drawings, in which like reference characters designate the same or similar parts throughout the figures thereof.
BRIEF DESCRIPTION OF THE DRAWINGS
[0006] FIG. 1 illustrates an exemplary network environment according to invention principles. [0007] FIG. 2 is a block diagram depicting the components of an image processing device according to invention principles.
[0008] FIG. 3 is a block diagram depicting the components of a server computing system according to invention principles.
[0009] The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention.
DETAILED DESCRIPTION
[0010] According the present disclosure, an image processing device is provided that advantageously includes memory management functionality to intelligently monitor the different types of processing jobs performed by one or more primary applications executing on the image processing device in order to ensure that that sufficient memory resources exist to allow for the jobs to be processed completely. Processing jobs performed by one or more primary applications include, but are not limited to, print jobs transmitted to the image processing device to be printed on a recording medium (e.g. paper or the like) and scan jobs which are initiated at the image processing device which generate an electronic version of information imprinted on a recoding medium. Additionally, the image processing devices are
increasingly used as computing platforms of their own and often time include one or more secondary applications that, when executed, provide other types functionality that may be associated with print or scan jobs. These include, but are not limited to, annotation functionality that adds further information to the job being processed. For example, in a print job or scan job, annotation data such as image(s) or text may be combined with the received job such that the output (either the printing on a recording medium or generating an electronic file) includes the information generated by the primary application and the annotation data added by the secondary application. The description of the annotation application as a secondary application is provided for example only and the secondary application may perform further processing on a job being performed by the one or more primary applications.
[0011] Problems arise when jobs are being processed by the one or more primary applications when the characteristics of the job require an amount of memory that is greater than a currently amount of memory allocated by the application needed to process the job. When providing application functionality, the processing application can advantageously identify amount of memory (or storage space) needed in order to process the job and, upon determining that existing allocated memory is insufficient to allow processing to be completed, can obtain secondary sources of memory that will allow for processing to be completed. The dynamic determination of the amount of memory needed for processing jobs directly improves the ability of image processing devices to operate as intended without conventional external limitations such as storage requirements being dictated by the job sent to the image processing device. Without the dynamic determination, the size of the job to be processed is limited to currently available memory (or storage) which is not readily available to the user who is initiating the processing job for the particular image processing device. This leads to frustration because,
prior to the initiation of the job, the user is unaware of the technical limitation of the device and the result is that the job cannot be processed as intended. Moreover, in order to process the job, the user has to split the job up into different parts of different sizes in the hopes that individual segments of the job will be processed as expected. Thus, the dynamic determination of available memory advantageously ensures that there will be sufficient memory for the desired job, whether it be a print or scan job or, in some instances, a job requiring further processing provided by a secondary application such as an annotation application.
[0012] Embodiments of the present disclosure are described with reference to the drawings. FIG. 1 illustrates an exemplary operational environment. The environment depicts an image processing device 100 that includes the dynamic memory management processing according to the present disclosure. The image processing device 100 includes functionality to process job data depending on the type of job being initiated. In one embodiment, a job may be initiated at the image processing device 100. For example, a job initiated at the image processing device 100 may include a scan job. In another embodiment, the job may be transmitted by a job creation apparatus 300 to the image processing device 100 for output by the image processing device. For example the job creation apparatus may be a computing device (e.g. desktop computer, laptop computer, smartphone, tablet, etc.) that includes one or more data processing applications (e.g. word processing, spreadsheet creation, database creation, image creation and editing, etc.). The particular type of job that is to be processed by the image processing device 100 is not particularly pertinent with the exception for a size of the job and an amount of memory and/or storage that is required by the image processing device 100 in order to complete the job processing in the intended manner.
[0013] Also depicted in Fig. 1 are a plurality different external storage devices and/or systems
that are leveraged by the dynamic memory management process described here in order to provide available secondary memory (storage) sources to the image processing device 100. Examples of secondary memory sources include an external storage medium 200. The external storage medium 200 may include a storage device that is removably connected to a port on the image processing device 100 which can recognize the device as containing additional storage that is usable by the image processing device 100 during job processing. Exemplary external storage medium may include flash memory device, a hard disk drive, etc.
[0014] A further type of secondary memory source is a cloud service system 210 which includes a cloud application 212 which controls and governs access to the cloud service system 210 and which further controls data to be stored in the data store 214 such that the cloud application data store 214 is caused to be the secondary memory used as will be discussed below. [0015] The cloud service system 210 may execute a resource sharing application that provides access to one or more resources stored thereon. The resource sharing application, for example, may provide the functionality of granting access to one or more users who can access the data store 214. In one embodiment, cloud service system 210 is a storage sharing service such as anyone of DROPBOX, BOX, GOOGLE DRIVE. Thus, the cloud service system 2120 may provide a platform that enables users to have private dedicated storage for data files and other information in data store 304 which may be selectively accessible via the network by different types of devices such as computers, servers, smartphones, tablets and like.
[0016] In another embodiment, the secondary memory source may also include a portable electronic communication device 205 such as a smartphone or a tablet. In operation, a connection can be established between the portable electronic communication device 205 and the image processing device 100 in order for the image processing device 100 to make use of
available memory on the portable electronic communication device 205 to complete processing of the job.
[0017] Whether the job is initiated at the image processing device 100 or received at the image processing device 100 from job creation apparatus 302, the processed job may be output from the image processing device 100 based on the type of job. For example, in the case that the job is initiated at the image processing device 100 is a scan job determined to have required the use of secondary memory as discussed below, the processed scan job can be transmitted by the image processing device over network 50 to a destination server 302. In a case where the job initiated at the image processing device is a copy job, the image processing device 100 can cause the reproduction of a copy of data to be output direct at the image processing device 100. In a case where the job is received by the image processing device 100 from a job creation apparatus 302 and is a print job requiring the use of secondary memory to be completed, the image processing device 100 may output the physical reproduction of the job data at the image processing device 100.
[0018] Shown herein, the operation environment includes a communications network 50 which enables bidirectional communication between all elements shown herein. This networked environment including the components are shown herein are described for purpose of example only and to illustrate the principles of invention operation. It should be understood that any of the components shown herein may include one or more than one of the respective component. Moreover, the communication network 50 may be any type of communications network that enables bidirectional data communication between one or more devices connected to the network. In one embodiment, network 50 may be the Internet and enable packetized communication of data and messages between the one or more devices on the network.
Additionally, the network 50 may also be embodied as a wired network, wireless network or a combination thereof. The network may also incorporate portions of telecommunications networks such as cellular, satellite or other types of communication networks.
[0019] FIG. 2 illustrates the hardware components of the image processing device 100 shown and discussed in FIG. 1. The image processing device 100 includes one or more processor(s) 101. The processor(s) 101 include a central processing unit (CPU) that performs overall control functions for the image processing device 100. The CPU uses a random access memory (RAM) 102 as a work area while executing instructions. The CPU executes instructions of various programs stored in one or more memory devices 104. For example, the CPU executes programs stored in a read only memory (ROM) 103 and in a storage device 104.
[0020] In some embodiments, the processor(s) 101 include one or more processors in addition to the CPU. By way of example, the processor(s) 101 may include one or more general- purpose microprocessor(s), application- specific microprocessor(s), and/or special purpose microprocessor(s). Additionally, in some embodiments the processor(s) 101 may include one or more internal caches for data or instructions.
[0021] The processor(s) 101 provide the processing capability required to execute an operating system, application programs, and various other functions provided on the image processing device 100. The processor(s) 101 perform or cause components of the image processing device 100 to perform various operations and processes described herein, in accordance with instructions stored in one or more memory devices 104.
[0022] The RAM 102 is used as a work area when the processor(s) 101 execute various instructions, such as those making up computer programs stored in the ROM 103 and/or the
storage device 104. The RAM 102 may be used as a temporary storage area for various data, including input image data and data created by an application executing on the image processing device 100 or data received from one or more mobile computing devices 200 which is then further processed by one or more applications executing on the image processing device 100. The RAM 102 may be used as a cache memory. In some embodiments, the RAM may be dynamic RAM (DRAM) or static RAM (SRAM).
[0023] The ROM 103 stores data and programs having computer-executable instructions for execution by the processor(s) 101. In some embodiments, the ROM 103 is a boot ROM, storing instructions for the booting process. In some embodiments, the ROM 1203 may be flash memory. In certain instances, the ROM 103 may include an operating system for controlling the operation of the image processing device 100. In this case, an operating system application stored in ROM 103 (or alternatively stored in the storage device 104 and accessible once the boot routine of the image processing device 100 is completed), contains a catalog of other applications executing on the image processing device and provide information about such other executing applications to one another enabling interoperation there between.
[0024] An operation panel interface 105 provides output signals to and receives input signals from an operation panel 106. Regarding the output signals, the operation panel interface 105 provides GUI data to the operation panel 106 for display on a display device such as liquid crystal display (LCD) or an light emitting diode display (LED). Regarding the input signals, the operation panel interface 105 receives input signals based on user input operations at the operation panel 106 and relays the input signals to the processor(s). In some embodiments, the operation panel 106 includes a touch sensitive element operable to receive user input operations or commands based on the touching of graphical objects displayed on the display.
In some embodiments, the operation panel 106 includes a hard key panel.
[0025] The image processing device 100 includes one or more input/output (I/O) port(s) 107. The I/O port(s) 107 may include any suitable interface type such as a universal serial bus (USB) port, FireWire port (IEEE- 1394), serial port, parallel port, or AC/DC power connection port. The VO port(s) 107 enable one or more external device(s) 108 to communicate with the image processing device 100 when the external device(s) 108 is/are connected to the VO port(s) 107. [0026] A network interface 109 includes hardware, software, or both providing one or more interfaces for communication (such as, for example, packet-based communication) between the image processing device 100 and one or more other servers or one or more networks 110 (e.g. network 50 shown in Fig. 1). As an example and not by way of limitation, the network interface 109 may include a network interface card (NIC) or a network controller for communicating with an Ethernet or other wire-based network or a wireless NIC (WNIC) or wireless adapter for communicating with a wireless network, such as a WI-FI network. This disclosure contemplates any suitable network 110 and any suitable network interface 109 for it. As an example and not by way of limitation, the image processing device 100 may communicate with an ad hoc network, a personal area network (PAN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), or one or more portions of the Internet or a combination of two or more of these. One or more portions of one or more of these networks 110 may be wired or wireless. As an example, the image processing device 100 may communicate with a wireless PAN (WPAN) (such as, for example, a BLUETOOTH WPAN), a WI-FI network, a WLMAX network, or other suitable wireless network or a combination of two or more of these. The image processing device 100 may include any suitable network interface 109 for any of these networks 110, where appropriate.
[0027] A system bus 113 interconnects various components of the image processing device 100 thereby enabling the transmission of data and execution of various processes. The system bus 113 may include one or more types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures.
[0028] The device interface 114 is connected to the scanner unit 115 and to the printer unit 116. The device interface 114 performs synchronous/asynchronous conversion of image data.
[0029] The scanner unit 115 includes a light source and an image sensor. The scanner unit 115 may include a glass platen and/or an automatic document feeder (ADF). In operation, the light source illuminates a physical document positioned on the glass platen or fed by the ADF. Light reflected by the physical document reaches the image sensor, and the image sensor converts the light into electrical signals. In some embodiments, the scanner unit 115 includes an optical system (for example, mirrors, lens) that directs the light to the image sensor. After the image sensor generates the electrical signals, an analog-to-digital converter converts the electrical signals to digital image data representing the scanned physical document. The scanner unit 115 then outputs the digital image data to one or more other components of the image processing device 100 via the device interface 114.
[0030] The printer unit 116 is an image output device for printing on a recording medium such as a sheet an image corresponding to image data. In response to a print command received at the image processing device 100, the printer unit 116 receives image data via the device interface 114 and outputs to a sheet an image corresponding to the image data.
[0031] Image processing device 100 may also include a short distance communication interface (I/F) 130. The short distance communication interface 130 facilitates communication between one or more applications executing on the image processing device 100 and at least one mobile
computing device 205 using one or more short distance communication protocols. Thus, the short distance communication interface 130 includes a near field communication unit 131 (for example, an NFC reader) enabling bidirectional communication with a mobile computing device having NFC functionality. The NFC unit 131 includes circuitry and software that enables transmission (writes) and reception (reads) of commands and data with a non-contact type device using a short distance wireless communication technique such as NFC (Near Field Communication; ISO/IEC IS 18092). In other embodiments, the short distance communication interface 130 may also include a BLUETOOTH communication unit 132 that includes a transceiver capable of transmitting and receiving data via short wavelength radio waves ranging in frequency between 2.4GHz and 2.485GHz. In other instances, the short distance communication interface 130 may also include an infrared (IR) unit that can emit and sense electromagnetic wavelengths of a predetermined frequency have data encoded therein. Furthermore, while not specifically shown, the short distance communication interface may also include a smart card reader, radio-frequency identification (RFID) reader, device for detecting biometric information, a keyboard, keypad, sensor(s), a combination of two or more of these, or other suitable devices.
[0032] The depiction of the short distance communication interface 130 is done merely to facilitate the understanding of the operation of the present arrangement and it should be understood that the short distance communication interface 130 may also be embodied as part of the RO ports 107 and/or the network interface 109. Alternatively, an image processing device 100 for use in accordance with invention principles need not contain any short distance communication circuitry.
[0033] A storage device 104 stores application data, program modules and other information.
One or more program modules stored in the storage device 104 are configured to cause various operations and processes described herein to be executed. The storage device 104 also stores other programs and data to be processed. For example, the storage device 104 stores an operating system including programs and data for managing hardware and software components of the image processing device 100. Applications on the image processing device 100 may utilize the operating system to perform various operations. The storage device 104 may further store other programs and/or drivers that enable various functions of the image processing device 100, graphical user interface (GUI) functions, and/or processor functions. The storage device 104 may also store data files including, for example, image data, user data, configuration information, GUI components, such as graphical elements or templates, or other data required by the image processing device 100.
[0034] In some embodiments, the image processing device 100 includes one more applications including one or more programs for controlling access to one or more resources on the image processing device 100. In some embodiments, applications stored in the storage device 104 includes one or more programs for controlling access to one or more applications (or particular functionality thereof) executing on the image processing device 100.
[0035] In some embodiments, access to one or more resources of the application is controlled based on a credential associated with the entity attempting to access the one or more resources of the application. Policies for controlling access to various resources of the application may be stored at the image processing device 100. In other embodiments, access control policies may reside in a centralized or enterprise server remotely located from the image processing device 100. Once access to an application is granted, a user gains access to one or more resources of the application, including task-specific functionality of the application. The task-
specific functionality of the application may enable the user to perform one or more tasks using the application. For example, the application 100 may provide various functions, features and user interfaces for processing image data, transmitting data over a network, managing one or more databases, or other tasks. In some embodiments, the application 100 is configured to use one or more resources of the image processing device 100 to perform a process in response to an instruction from the user.
[0036] An application executing on image processing device 100 may use functionality of and/or information on the image processing device 100 to employ hardware, software, or both for that provides scanning functionality. For example, the image processing device 100 may include an image sensor or a camera for capturing an image.
[0037] In certain embodiments, the application executing on the image processing device 100 provides communication functionality for transmitting image file (or other electronic document data file format) via the network 50 to any other computing system and/or server 200/300 connected thereto. The communication functionality of the application may be implemented by interaction with the network interface 109 which converts data into a transmissible data form able to be communicated over a network 50 to server 302 (or other computing system). In addition to, or instead of using the network interface 109, application functionality that requires transmission of data may be performed using the short distance communication interface 130 (including any and all types of short distance communication described herein). The application may also enable the image processing device 100 to receive instruction data from other systems on the network 50 enabling access to and control of any functionality provided by application. The receipt of data from the server 302 or other computing device may similarly occur using any of the network interface 109, short distance communication interface 130 or
the like. The communication functionality of application may also enable the image processing device 101 to receive and process data objects generated by any system connected to the image processing device 101 via the network 50.
[0038] In some embodiments, the application executing on the image processing device 100 provides functionality for maintaining and accessing information in a data structure, which may be any suitable data structure for organizing data. For example, information associated with a user or process may be added as one or more entries into a data structure. The application executing on the image processing device 100 may store and/or retrieve data in a memory or on a hard disk of the image processing device 100. In some embodiments, the image processing device 100, when executing the application, may perform various operations with respect to a data store. Examples of operations include adding entries to a data store; deleting entries from a data store; modifying entries in a data store; searching for entries in a data store; and retrieving entries from a data store. The data store management functionality provided by application discussed above is also applicable to data stores located on remote computing systems and/or servers connected to the image processing device 100 via the network 50.
[0039] The application executing on the image processing device 100 may provide functionality for generating information and providing the information to a user interface of the image processing device 100 displayed on operation panel 106. The information may include text, images, form elements, files, executable programs, or other suitable information. The information provided by the application may include content for display on a display of the image processing device 101.
[0040] In another embodiment, the storage device 104 stores a browser application. The browser application may enable a user to display and interact with text, images, form elements,
or other information typically located on a web page served by a web server on the World Wide Web or a local area network. The browser may support various types of downloadable, executable, software modules, such as applets or plug-ins. For example, the browser may incorporate a virtual machine configured to execute a program, such as a JAVA applet, embedded in a web page accessed by the browser. The image processing device 100 may have various add-ons, plug-ins, or other extensions for use in or with the browser. In certain other embodiments, the browser may enable the user of the image processing device 100 to communicate with the first or second servers to select, obtain, request, process, display and/or other make use of data stored on the first and second servers. In other embodiments, the browser application may enable the user to acquire data from remote servers and/or cloud service systems 210 and provide that data to another operational unit of the image processing device such as the printing unit to enable output by the printer of the image processing device of acquired the data. In some embodiments, the browser may display a collection of text and image elements that are accessible by a user and which enable the user to perform any of the functionality set forth throughout this description.
[0041] In some embodiments, the image processing device 100 may include one or more ports allowing access to external storage media. By way of example, and not by way of limitation, the storage media may include a floppy disk drive, flash memory, an optical disc, a magnetooptical disc, magnetic tape, or a Universal Serial Bus (USB) drive or a combination of two or more of these. Where appropriate, the storage media may include removable or fixed media. Where appropriate, the storage media may be internal or external to the image processing device 100. In some embodiments, the storage media is non-volatile, solid-state memory. The storage media may take any suitable physical form. For example, the storage media may be
in the form of one or more removable blocks, modules, or chips. The computer-readable storage medium need not be one physical memory device, but can include one or more separate memory devices.
[0042] In another embodiment, the image processing device 100 may be accessed and operated using an external computing device such as portable electronic device 205 in Fig. 1. In some embodiments, the external; computing device may be a smartphone. In other embodiments, the external computing device may be a tablet computing device. Accessing the image processing device 100 via an external computing device may allow a user to have the GUI generated by the operation panel interface 105 output onto a screen of the external computing device. Connection between the image processing device 100 and any external computing device may occur via the network interface 109 and/or the short distance communications interface 130.
[0043] Turning back to Fig. 1 which further illustrates, in the dashed region, various modules that are executing on the image processing device 100. As used herein, a module includes logic, computer-readable data, or computer-executable instructions. Modules may be implemented in software (e.g., Assembly, C, C++, C#, Java, BASIC, Perl, Visual Basic), hardware (e.g., customized circuitry), or a combination of software and hardware. Modules may also include one or more applications (e.g. computer programs) that are executed by the processors (s) 101 to perform the described function. When the modules are implemented in software, the software can be stored in ROM 103 and/or in the storage device 104. During operation thereof, modules may make use of RAM 102 and/or particular logical areas of a storage device 104 in order to perform the described function.
[0044] Control module 120 includes instructions and code for controlling the operation of the image processing device 100. This includes functionality performed by a device operating
system that controls the various hardware element of the image processing device 120. In other embodiments, the control module 120 generates the different graphical user interfaces that are presented on the operation panel 106 via the operation panel I/F 105. This includes detecting physical inputs received on the operation panel 106 which are translated by the operation panel I/F 105 in order to control one or more other modules executing on the image processing device 100. In one embodiment, the control module 120 facilitate touch detection that detects a particular region of the operation panel 106 that has been contacted by a user and translates that touch into to electrical signals which are processed by a module that is currently causing the GUI to be displayed on the operation panel 106. This includes for example, selecting a function to be performed and/or selecting information to be input to and used by an application such as inputting text. These are merely exemplary and the control module 120 enables the user to interact with any selectable image element (e.g. soft keys) being displayed on the operation panel 106. Further, in the case that the operation panel 106 includes one or more buttons (e.g. hard keys), the control module can translate the information corresponding to any one of the hard keys and pass that information to the relevant module currently being executed.
[0045] Image processing device 100 further includes communication module 122 which includes logic and/or other computer executable instructions that control the communication functionality of the image processing device 100. In one embodiment, the communication module 122 controls the network interface 109 to allow the image processing device 100 to establish connection with other devices via networks 110 (50 in Fig. 1). This includes, for example, packetized communication via the Internet with devices such the job initiation apparatus 300 for receiving job data and also for communicating completed jobs to the destination server 302. In another embodiment, the communication module 122 includes
control logic for controlling the operation of the short distance communication interface 130 and the different types of short distance communication protocols and circuitry included therein. For example, the communication module 122 can selectively control he NFC Unit 131 and/or Bluetooth unit 132 to establish connections to external devices such as the portable electronic computing device 205 or to a peripheral device such as a keyboard. Also, the communication module can selectively control the IR unit 133 to detect for IR signals to be decoded in order to control operations of the image processing device 100. While the communication module 122 is described herein as separate from the control module 120, in some embodiments, the functionality of the control module 120 and communication module 122 are combined into a single module.
[0046] Image processing device 100 includes a set of primary applications that perform native functionality for the image processing device 100. The native functions executed by the primary applications include print functionality, scan functionality and copy functionality. For purposes of clarity and operation, the primary applications will be described as being performed by the print module 126 and the scan/copy module 128.
[0047] The print module 126 includes logic and control instructions that control output of job data via the printer unit 116. The print module 126 receives, via the communication module 122, job data from one or more job initiation apparatus 300. Upon receipt of print job data, the print module 126 signals the printer unit 116 through the device interface 114. The print module 126 decodes the print job data and parses the print settings that are included in the print job data in order to set the necessary printing parameters on the image processing device 100. Then, the print module 126 parses the print data in the job and controls the printer unit 116 to output the print job data on a recoding medium at the image processing device 100. Exemplary print
settings that can be set include the type of recording medium on which the print data should be output on and whether the printing should be color or black and white. Other print settings may include for example, double sided printing and a number of individual pages to be output to a single recording material. This may include, for example, performing a scaling process to scale down the images so that a desired number of sheets can be output to a single recording medium. Other embodiments may see the print module 126 identify a user who initiated the print job and determine whether the identified user has particular print settings to be applied to either the particular print job data or all print jobs initiated by that user. This includes, accessing a data store on the image processing device 100 to determine if there are pre-stored user settings for the user. Alternatively, in a networked environment, use the communication module to connected to a directory server to determine if the user identified in the print job data has print settings to be applied to any or all print jobs initiated by that user. The print module 126 further controls the elements of the print unit 116 to feed the recording medium into a print area and recording media (e.g. ink, toner, etc.) to be deposited on (or fused to) the recording medium in a manner according to the print job settings to output a physical reproduction of the electronic data contained in the print job data.
[0048] The scan/copy module 128 includes logic and control instructions for performing scanning and copying functions at the image processing device 128. Scan and copy jobs are typically initiated at the image processing device 100 whereby a user places physical copies of paper documents either on a glass platen or into an automatic document feeder in order for the image processing device 100 to generate scan data which digitizes the physical documents. The generation of digitized versions of the physical document during both the scan and copy operations are performed in similar manners. The difference is what is done with the digitized
version. The result of the scan operation is a digital data file that is an electronic copy of the physical document which can be stored in the storage device 104. At that point, further processing, such as sending/transmitting the electronic file one or more destination servers 302 may be performed via file transfer protocol or electronic mail or the like. This is known as a scan and send task. The scan module 128 may operate by scanning at least one physical document and translating the captured image into electronic document data. This may include creation of a first version of the electronic document in a first data format (e.g. a device specific data format that may or may not be a proprietary image format). Thereafter, a send job that communicates the electronic document data to a destination system may require a conversion of the first version of the electronic document into a second version of the electronic document in a second, different data format followed by a transmission of the converted electronic document to a destination system. For example the second data format may be a user-specified format (e.g. PDF, JPG, etc.). However, the creation of the first electronic document via an image capture is completed prior to the conversion of the first electronic document and transmission of the converted the electronic document. In a copy operation, the digitized version is temporarily stored in the storage device 104 as the first electronic document data for the purposes of providing the digital data to the printer unit so that it may be output resulting in physical copy of the original physical document being made.
[0049] In addition to the primary applications 126/128, the image processing device 100 may include one or more secondary applications that leverage the functionality of one or more of the primary applications. Exemplary types of secondary applications includes appending additional information to the job that is received by the image processing device 100 from the job initiation apparatus 300 such as a print job or a job that was initiated at the image processing
device 100 such as a scan/copy job. In one embodiment, the secondary application may be an annotation module 129 that includes logic and control programs that adds electronic data to a scan/copy/print job prior to its completion. As an example, the annotation module 129 may be a numbering application that adds, to each page of the electronic document data, a unique identifier value which was not present in the original job data when it was created. Bates numbering is an example of a function being performed by the annotation module 129 whereby unique values are added to each page so that they can be uniquely identified among a set of documents. This can be added digitally and stored in the resulting file created as a result of the scan function or, physically whereby the information can be sent with the job data and recorded on the recording medium as a result of the print or copy function.
[0050] Whether the job processing being performed by the image processing device is provided by the primary applications or a combination of primary and secondary applications, the constraint on successful processing is resource-dependent. More specifically, there are memory and/or storage limitations in the image processing device 100 which provide for limited available active memory sectors to perform a particular processing job and also limited storage space in the storage device in which files, either permanent or temporary, can be stored. This problem is remedied using a memory control module 124 that dynamically, on a job-by-job basis, determines whether the particular job can be completed based on the available memory and/or storage of the image processing device 100. The memory control module 124 advantageously obtains secondary memory sources in response to a determination that memory/storage is insufficient to complete the job processing. More specifically, depending on the function being executed, the determination made by the memory control module 124 can analyze memory, such as RAM, to ensure that sufficient
space exists for the particular function or analyze available space in the storage device (e.g. internal hard disk of the image processing device 100) that is available to the particular module or application performing the task. Because the image processing device 100 has a limited amount of space for storing files, when a large print/scan/copy job is being processed which needs transmitted to a device or system other than the image processing device (e.g. the destination server 302 or cloud service system 210), the data needs to be kept in the memory or written to the storage space first before it is processed and sent over to the destination. But there are instances where the job is too large to either store in memory or write to the internal hard disk. Therefore, when a job exceeds the limit, the processing has to be cancelled. The memory control module 124 provides algorithmic instructions for obtaining secondary storage via external media for use as temporary storage to save large files. Once the job is finished and sent to the destination, the data written to the secondary storage deleted. In addition to reducing user frustration and enabling processing of large files without frustrating the user, the obtaining of secondary storage advantageously reduces wear and tear on the image processing device 100 by reducing the need to upgrade and replace the primary internal storage 104 of the image processing device 100. The dynamic detection and acquisition of additional memory sources improves the devices operation by allowing the image processing device 100 to complete job processing on scan/print/copy jobs that would not be able to be completed based on the native capabilities of the image processing device.
[0051] Fig. 3 illustrates a flow diagram detailing an memory control algorithm executed by the memory control module 124. It should be noted that, in other embodiments, the algorithm and the logic provided thereby can also be embodied as part of any other module described herein including, but not limited to, a subroutine called by any of the modules shown in Fig. 1
and described herein. The logic provided in Fig. 3 causes the image processing device to execute memory control based on the one or more modules that are processing the job which has been initiated.
[0052] In SI, a processing job is initiated that causes the image processing device to perform defined processing. In one embodiment, SI includes receipt by the image processing device 100, of print job data to be printed by the image processing device. In another embodiment, the processing job is a scan job that is initiated at the image processing device 100 which digitized one or more physical pages having information printed thereon. In further embodiment, the processing job is a copy job initiated at the image processing device 100 which causes a physical copy of a document to be generated and output by the image processing device 100. [0053] In S2, the memory control module 124 (or the individual application responsible for processing the initiated job) determines a size of the job indicating an approximate amount of space in one or both of the memory (RAM) or storage (Hard Disk) that would be required to complete processing of the initiated job. The determination S2 further accesses the memory and storage to determine if the regions within each that can be addressed by the relevant processing applications are sufficient to complete the particular processing job. As the job is being processed, without regard to the type of job that is in process, the image processing device receives the data as an input data stream as it being acquired. For example, in the case of scan job, the input stream is received on a byte by byte basis as the optical components transform the physical document into electronic document data. This analysis of the data being input also operates in the same manner for data being received, for example, as a print job from a client device or data being acquired for example via download or other operation whereby the image processing device acquires data to be output. The image processing device analyzes the input
data stream by counting, in real-time, the number of bytes in the received stream. Once a predetermined byte limit is reached, the image processing device is controlled to cause the display of a prompt requesting additional storage to complete processing the particular processing job. In another embodiment, in advance of processing jobs being performed, a user can input a default additional storage location either on the image processing device via a remotely connected storage device or via a cloud storage location, including any necessary credentials for accessing the remotely connected storage device.
[0054] In the event that the determination in S2 indicates that the memory and storage in the image processing device 100 is sufficient, the particular application responsible for performing the functions associated with the particular job (e.g. print/scan/copy) are performed as normal and an indication of success is provided in S16.
[0055] Turning back to S2 begins the dynamic memory determination processing of the present disclosure when the available memory and storage is checked based on the determined size of the job. If the determination in S2 indicates that one or more of the memory or storage is insufficient to process the particular job to completion, the image processing device 100 obtains one or more secondary memory sources S4. As used herein the secondary memory sources obtained in S4 is digital storage space that can be used as either or both (1) supplemental memory that is accessible by the application that is processing the job as a work area and/or (2) supplemental storage space (e.g. hard disk).
[0056] In S4 the image processing device 100 obtains one or more secondary sources of memory by generating one or more user interface screen that notify a user that current memory/storage is insufficient and requests the user to provide one or more secondary sources of memory. In one embodiment, the notification provides information indicating a minimum
size of available memory/storage needed for the particular job processing to be completed. In one embodiment, secondary memory sources include external storage medium (200 in Fig. 1) such as external drive that is connectable to the image processing device 100 by an VO port such as USB or the like. In this embodiment, the notification in S4 requests that the external storage be inserted into the relevant port on the image processing device. In another embodiment, in S4, as part of the notification, a determination as to whether secondary memory sources can be acquired based on one or more application specific processing. For example, the determination in S4 could determine if mobile computing device 205 is connectable to the image processing device 100 such that the image processing device 100 can make use of available storage on the mobile computing device 205. To this end, the memory control module 124 can call the communication module 122 to establish a wireless networking connection (e.g. Wifi, Bluetooth, NFC, etc.) between the mobile computing device 205 and the image processing device 100. In another embodiment, the mobile computing device 205 may include or more companion applications executing thereon that allow the mobile computing device 205 to directly (or indirectly via a network) communicate with and initiate processing jobs. In this instance, during S4, the image processing device 100 uses the connection with the mobile computing device to cause the mobile computing device 205 to be used as secondary storage. In this process, the communication between the memory control module 124, via the communication module, obtains information about the mobile computing device 205 to determine if sufficient memory exists to allow it to be used as the secondary memory source. If that determination is positive, a user selectable image element is presented on a user interface that would allow, via one touch operation, pairing and connection of the image processing device 100 and the application executing on the mobile computing device 205 resulting in the
mobile computing device 205 to be the secondary memory source.
[0057] In another embodiment, S4 queries information about the user that is currently logged into the image processing device 100 to determine if the user access to one or more cloud service systems (e.g. DROPBOX, ONEDRIVE, GOOGLE DRIVE). If that determination indicates the availability of a cloud service system 210, a user interface screen is generated indicating this and allows a user to connect directly to the desired cloud service in order to leverage available space in the cloud application the secondary memory source usable by the application that is performing the job processing. In one embodiment, a user selectable image element is display that can be selected and which establishes connection between the image processing device 100 and the cloud service system 210. Therein, the application performing the job processing communicates with the cloud server application 212 to identify and allocation a portion of data store 214 as the secondary memory source. This processing may be a one-touch connection or can also include steps including prompts that request a user to enter cloud- specific credentials to access the cloud service system 210. In the event that there is no pre-stored information, S4 can generate a set of user selectable image elements associated with different cloud services and prompts the user to enter credentials specific to that service to obtain, as secondary memory source, area in the cloud data store 214.
[0058] In S6, it is determined if the one or more secondary memory sources obtained in S4 have been acquired indicating that the sources is connected to the image processing device and that a region in the secondary memory source is addressable for receipt of job data to be processed in order to complete the job. Once this is determined to be positive, the application causes data to be written to the secondary memory source, in S8. This writing of data to the secondary memory source is instead of writing, by the processing application, to the region of
the memory/storage of the image processing device 100. As such, the memory/storage on the image processing device 100 is preserved for other applications that may need access while ensuring that the job is processed completely.
[0059] Once the entire data is written by one or more of the primary applications (scan/copy/print) to the secondary memory source in S8, further application processing by one or more secondary applications such as described above with respect to the annotation module 129. In one embodiment, further processing performed by the one or more secondary applications includes adding additional to the job that was not included when the job was initiated. For example, unique labeling of pages of an electronic document using a predetermine format.
[0060] In S12, upon completion of the job processing, the completed job is caused to be transmitted, via the communication module 122, to a destination system 302 as prescribed or set by a user. In one embodiment, the destination is specified when it is initiated. In another embodiment, a user interface is generated prompting a user to select or enter a destination for transfer. At receipt of an indication that the transmission to the desired destination is successful, the memory control module 124 causes the region in the secondary memory source that presently stores the processed job data is deleted or overwritten in S14 such as to make that region available for future use and an indication is provided to a user that the job processing is completed.
[0061] The above description serves to explain principles of the disclosure; but the disclosure should not be limited to the examples described above. For example, the order and/or timing of some of the various operations may vary from the examples given above without departing from the scope of the disclosure. Further by way of example, the type of network and/or
servers may vary from the examples given above without departing from the scope of the invention. Other variations from the above-recited examples may also exist without departing from the scope of the disclosure.
[0062] The scope of the present disclosure includes a non-transitory computer-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform one or more embodiments of the invention described herein. Examples of a computer-readable medium include a hard disk, a floppy disk, a magneto-optical disk (MO), a compact-disk read-only memory (CD-ROM), a compact disk recordable (CD-R), a CD-Rewritable (CD-RW), a digital versatile disk ROM (DVD-ROM), a DVD-RAM, a DVD- RW, a DVD+RW, magnetic tape, a nonvolatile memory card, and a ROM. Computerexecutable instructions can also be supplied to the computer-readable storage medium by being downloaded via a network.
[0063] While the present disclosure has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments.
Claims
1. An image processing device comprising: a scanner that digitizes physical documents into electronic document data; a memory storing instructions; and at least one processor that executes the instructions stored in the memory to to control the at least one processor to perform operations comprising initiating a job that causes the scanner to digitize information on one or more physical documents into electronic document data; obtaining a secondary source of memory external to the image processing device based on a determination that the initiated job requires an amount of memory that exceeds available memory in the memory; storing the electronic document generated by the scanner at the obtained secondary source of memory instead of in the memory of the image processing device as completed job data; and transmitting the completed job data to a destination system.
2. The image processing device as recited in claim 1, wherein execution of the instructions further controls the one or more processors to modify, during digitization, a location for storing the electronic document data from the memory in the secondary source of memory by defining a region within the secondary source of memory that is accessibly only during digitization and transmission processing.
3. The image processing device as recited in claim 1, further comprising an operation panel configured to display a user interface thereon, and wherein execution of the instructions further controls the one or more processors to obtain the secondary source of memory by generating a user interface having a notification requesting insertion of an external storage device into a connection port of the image processing device.
4. The image processing device as recited in claim 3, wherein execution of the instructions further controls the one or more processors to in response to determining that the secondary source of memory has been connected to the image processing device, allocating a region of the secondary source of memory equal to or greater than a size of an amount of memory determined to be needed to complete the initiated job, and controlling output of the electronic document data to the allocated region.
5. The image processing device as recited in claim 1, further comprising a secondary application stored in the memory, the secondary application, when executed, adds additional data to the electronic document data that was not including in the one or more physical documents, and wherein execution of the instructions further controls the one or more processors to access, by the secondary application, the electronic document data in the secondary source of memory; and modify, by the secondary application, the electronic document data to include the additional data.
6. An image processing method performed on an image processing device that includes a scanner that digitizes physical documents into electronic document data, the method comprising: initiating a job that causes the scanner to digitize information on one or more physical documents into electronic document data; obtaining a secondary source of memory external to the image processing device based on a determination that the initiated job requires an amount of memory that exceeds available memory in the memory; storing the electronic document generated by the scanner at the obtained secondary source of memory instead of in the memory of the image processing device as completed job data; and transmitting the completed job data to a destination system.
7. The image processing method as recited in claim 6, further comprising: modifying, during digitization, a location for storing the electronic document data from the memory in the secondary source of memory by defining a region within the secondary source of memory that is accessibly only during digitization and transmission processing.
8. The image processing method as recited in claim 6, further comprising obtaining, via an operation panel on the image processing device configured to display a user interface, the secondary source of memory by generating a user interface having a notification requesting insertion of an external storage device into a connection port of the image processing device.
9. The image processing method as recited in claim 8, further comprising: in response to determining that the secondary source of memory has been connected to the image processing device, allocating a region of the secondary source of memory equal to or greater than a size of an amount of memory determined to be needed to complete the initiated job, and controlling output of the electronic document data to the allocated region.
10. The image processing device as recited in claim 6, wherein the image processing device includes a secondary application stored in the memory, the secondary application, when executed, adds additional data to the electronic document data that was not including in the one or more physical documents, and the method further comprising: accessing, by the secondary application, the electronic document data in the secondary source of memory; and modifying, by the secondary application, the electronic document data to include the additional data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2021/059091 WO2023086095A1 (en) | 2021-11-12 | 2021-11-12 | Memory management in an image processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2021/059091 WO2023086095A1 (en) | 2021-11-12 | 2021-11-12 | Memory management in an image processing device |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023086095A1 true WO2023086095A1 (en) | 2023-05-19 |
Family
ID=86336577
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2021/059091 WO2023086095A1 (en) | 2021-11-12 | 2021-11-12 | Memory management in an image processing device |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2023086095A1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000103125A (en) * | 1998-09-30 | 2000-04-11 | Nec Niigata Ltd | Printer system |
JP2006094151A (en) * | 2004-09-24 | 2006-04-06 | Murata Mach Ltd | Image processor |
KR20060036262A (en) * | 2004-10-25 | 2006-04-28 | 삼성전자주식회사 | Print Image Control Device and Method |
US20090128845A1 (en) * | 2007-11-19 | 2009-05-21 | Samsong Electronics Co., Ltd. | Image forming apparatus and pdf document direct printing method thereof |
US20190058804A1 (en) * | 2017-08-18 | 2019-02-21 | Kabushiki Kaisha Toshiba | System and method for multiple document scanning |
-
2021
- 2021-11-12 WO PCT/US2021/059091 patent/WO2023086095A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000103125A (en) * | 1998-09-30 | 2000-04-11 | Nec Niigata Ltd | Printer system |
JP2006094151A (en) * | 2004-09-24 | 2006-04-06 | Murata Mach Ltd | Image processor |
KR20060036262A (en) * | 2004-10-25 | 2006-04-28 | 삼성전자주식회사 | Print Image Control Device and Method |
US20090128845A1 (en) * | 2007-11-19 | 2009-05-21 | Samsong Electronics Co., Ltd. | Image forming apparatus and pdf document direct printing method thereof |
US20190058804A1 (en) * | 2017-08-18 | 2019-02-21 | Kabushiki Kaisha Toshiba | System and method for multiple document scanning |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20070156705A1 (en) | Network Scanner And Network Scanning System | |
US8390838B2 (en) | Image forming device, image forming method, and image forming program which requires user authentication to start a printout process | |
US8619293B2 (en) | Image forming apparatus, image formation supporting system, and image formation supporting method which communicates with a handheld device | |
US10637953B2 (en) | Apparatus, system and method for cache management | |
JP5025342B2 (en) | Image processing apparatus, image processing system, image processing apparatus control method, and program | |
US9692927B2 (en) | Device, information processing system, and information processing method | |
US20160057298A1 (en) | Information processing system, information processing device, portable terminal and non-transitory computer readable recording medium | |
US20200019355A1 (en) | Communication terminal, method of controlling communication terminal, and storage medium | |
US20140016816A1 (en) | Service providing system, service providing method, and non-transitory computer readable information recording medium | |
US10331388B2 (en) | Image processing system, image processing method, and non-transitory storage medium storing image processing program | |
US10162583B2 (en) | System and method for printing | |
US11076059B2 (en) | Data transmission apparatus that can set destination such as e-mail address received from external apparatus on transmission setting screen and control method therefor | |
US20070217678A1 (en) | Metadata Producing Apparatus, Image Processing Apparatus, Metadata Producing Method and Program | |
US10476934B2 (en) | System and method for forwarding a file | |
JP2018161869A (en) | Job processing apparatus, server, and server program | |
US7404191B2 (en) | Information processing apparatus, its control method and control program | |
US11128763B2 (en) | Image processing apparatus and method therefor | |
US12026414B2 (en) | Printing system, printing device, and control method for printing system | |
WO2023086095A1 (en) | Memory management in an image processing device | |
KR20190113577A (en) | Printing system, printing method, image forming apparatus and method for controlling the same, and computer program | |
US12175149B2 (en) | Terminal apparatus, image forming apparatus, and system | |
US20250217084A1 (en) | Storage medium, print control method, and system | |
JP6535994B2 (en) | FAX machine, communication program, and communication system | |
US20210367833A1 (en) | Information processing apparatus that provides requirement management service, network system, method of controlling information processing apparatus, and storage medium | |
US20250021277A1 (en) | Information processing system and non-transitory computer readable program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21964255 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21964255 Country of ref document: EP Kind code of ref document: A1 |