Patent Publication Number: US-8533351-B2

Title: Data reception processing apparatus, image forming apparatus, and data reception processing method

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is based upon and claims the benefit of priority from U.S. provisional application 61/251,532, filed on Oct. 14, 2009; the entire contents of which are incorporated herein by reference. 
    
    
     FIELD 
     Embodiments described herein relate generally to a technique for efficiently processing data according to priority of processing for the data. 
     BACKGROUND 
     In the past, an image forming apparatus that executes network print via a LAN (Local Area Network), the Internet, or the like conforms to various kinds of network protocols and can receive data transmitted using a protocol corresponding to the data and perform image formation processing. 
     Among a large number of protocols to which the image forming apparatus conforms, there are protocols not in use or used less frequently. Therefore, to realize efficiency of processing performance of the image forming apparatus, there is a technique for turning off a function for recognizing the protocols not in use. 
     However, efficiency of processing in the image forming apparatus cannot be sufficiently realized simply by turning off the function for recognizing the protocols not in use. 
    
    
     
       DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a system diagram of a system including an image forming apparatus; 
         FIG. 2  is a functional block diagram for explaining functions of the image forming apparatus; 
         FIG. 3  is a diagram of an example of a priority setting screen; 
         FIG. 4  is a data table of an example of priority setting information; 
         FIG. 5  is a timing chart for explaining timings of acquisition of data by data receiving sections and output processing to a spooler; 
         FIG. 6  is a flowchart for explaining a flow of processing by the image forming apparatus; 
         FIG. 7  is a functional block diagram of functions of an image forming apparatus; 
         FIG. 8  is a timing chart for explaining timings of acquisition of data by data acquiring sections of the image forming apparatus and output processing to a spooler; 
         FIG. 9  is a flowchart for explaining a flow of processing for controlling amounts of acquisition of data acquired when the data acquiring sections access a data receiving section once according to priority in the image forming apparatus; 
         FIG. 10  is a functional block diagram for explaining functions of an image forming apparatus; and 
         FIG. 11  is a flowchart for explaining priority setting processing based on reception frequency information in the image forming apparatus. 
     
    
    
     DETAILED DESCRIPTION 
     In general, according to an embodiment, a data reception processing apparatus includes a data receiving section, plural data acquiring sections, a data-acquisition control section, and a data output section. The data receiving section receives processing target data. The plural data acquiring sections respectively acquire only data received by communication employing acquisition target protocols separately set in advance for the data acquiring sections. The data-acquisition control section controls the plural data acquiring sections to cause the data acquiring section corresponding to the acquisition target protocol used for reception of data received by the data receiving section to more preferentially receive the data than data received by using the acquisition target protocol corresponding to priority lower than priority associated with the acquisition target protocol used for the reception of the data. The data output section acquires the data from the data acquiring section and sequentially outputs the data to a processing section configured to process the data. 
     Embodiments are explained below with reference to the accompanying drawings. 
     First Embodiment 
       FIG. 1  is a block diagram for explaining the configuration of a system including an image forming apparatus  140 . A client terminal  100  and the image forming apparatus  140  are connected via a network  130 . 
     The client terminal  100  includes software and hardware for executing, for example, communication with the image forming apparatus  140  or appropriate combinations of the software and the hardware. The client terminal  100  has an appropriate interface such as a web browser or another dedicated application for transmitting and receiving various web pages, device pages, and the like. 
     The client terminal  100  includes a control section  102 , a storage device  112 , a communication interface (communication I/F)  114 , an input interface (input I/F)  116 , an input section  118 , a display interface (display I/F)  120 , and a display section  122 . As the client terminal  100 , a PC (Personal Computer) may be used. 
     The control section  102  functions according to a processor  104  including a CPU (Central Processing unit) or an MPU (Micro Processing unit), a memory  106 , and an operating system (OS)  126 . The control section  102  executes processing of a document in which figures, images, characters, tables, and the like are mixed. The memory  106  is, for example, a semiconductor memory. The memory  106  includes a ROM (Read Only Memory)  108  having stored therein a control program for the processor  104  and a RAM (Random Access Memory)  110  that provides the processor  104  with a temporary work area. The components of the client terminal  100  are connected via a bus  128 . 
     The storage device  112  stores an application program  124 , a printer driver  125 , an OS  126  as a control program for the processor  104 . The application program  124  operates as software of the OS  126 . The application program  124  includes a web application in addition to general software. The printer driver  125  is a device driver configured to control the image forming apparatus  140  according to a printing instruction from the application program  124 . The printer driver  125  operates as software of the OS  126 . The storage device  112  may be, for example, a magnetic storage device such as a hard disk drive, an optical storage device, a semiconductor storage device such as a flash memory, or an arbitrary combination of these storage devices. 
     The communication I/F  114  is an interface connected to an external apparatus. The communication I/F  114  communicates with the image forming apparatus  140  via an appropriate wireless or wired network  130  conforming to IEEE802.15, IEEE802.11, IEEE802.3, IEEE1284, or the like such as Bluetooth (registered trademark), infrared ray connection, or optical connection. The control section  102  communicates with the image forming apparatus  140 , a USB device, and other external apparatuses via the communication I/F  114 . 
     The input I/F  116  is connected to the input section  118 . As the input section  118 , a keyboard device or a mouse as man-machine interface is used. 
     The display I/F  120  is connected to the display section  122 . The display I/F  120  receives data to be displayed on the display section  122  or an instruction from another component connected to the bus  128 . The display I/F  120  outputs the display data to the display section  122 . As the display section  122 , for example, a display attached to a PC is used. 
     The image forming apparatus  140  includes a control section  142 , a storage device  152 , a communication interface (communication I/F)  154 , an operation panel  156 , a scanner section  160  configured to read an original document, and a printer section  162  configured to form an image. The components of the image forming apparatus  140  are connected via a bus  164 . 
     The control section  142  functions according to a processor  144  including a CPU (Central Processing unit) or an MPU (Micro Processing unit), a memory  146 , and an operating system (OS). The memory  146  is, for example, a semiconductor memory. The memory  146  includes a ROM (Read Only Memory)  148  having stored therein a control program for the processor  144  and a RAM (Random Access Memory)  150  that provides the processor  144  with a temporary work area. The control section  142  controls the communication I/F  154 , the operation panel  156 , the scanner section  160 , the printer section  162 , and a facsimile control unit (FCU)  166  on the basis of a control program and the like stored in the ROM  148  or the storage device  152 . The control section  142  further has a function of correcting or expanding image data. The control section  142  may include an ASIC (Application Specific Integrated Circuit) configured to realize a part or all of the functions of the image forming apparatus  140 . 
     The storage device  152  stores application programs and an OS. The application programs include computer programs for executing functions of the image forming apparatus such as a copy function, a print function, a scanner function, a facsimile function, and a network file function. The application programs further include an application for a web client (a web browser) and other applications. 
     The storage device  152  stores image data of an original document read by the scanner section  160 , image data acquired via the communication I/F  154 , and the like. The storage device  152  may be, for example, a magnetic storage device such as a hard disk drive, an optical storage device, a semiconductor storage device (a flash memory, etc.), or an arbitrary combination of these storage devices. The storage device  152  appropriately stores software update, a protected electronic document, text data, account information, policy information, and the like. 
     The communication I/F  154  is an interface connected to an external apparatus. The communication I/F  154  is connected to the external apparatus via the appropriate wireless or wired network  130  conforming to IEEE802.15, IEEE802.11, IEEE802.3, IEEE1284, or the like such as Bluetooth (registered trademark), infrared ray connection, or optical connection. The communication I/F  154  includes a buffer and temporarily stores a part or all of data received via the network  130  in the buffer. The control section  142  communicates with a PC (Personal Computer), a USB device, and other external apparatuses via the communication I/F  154 . The control section  142  communicates with the client terminal  100  via the communication I/F  154 . 
     The operation panel  156  includes a display section  157  of a touch panel type and various operation keys  158 . The operation keys  158  includes, for example, a ten key, a reset key, a stop key, and a start key. The display section  157  displays, for example, an instruction item concerning a printing condition such as a sheet size, the number of copies, printing density setting, or finishing (stapling and folding). The instruction of the displayed item is input from the display section  157 . 
     The scanner section  160  includes an incorporated scanning and reading unit configured to read an original document as an image, a document placing table, and an auto document feeder configured to convey the original document to a reading position. The scanning and reading unit of the scanner section  160  reads an original document set on the document placing table or the auto document feeder. 
     The printer section  162  forms, on a sheet, an image corresponding to image data of the original document read by the scanner section  160  or an image corresponding to image data transmitted from the client terminal  100 . 
     The facsimile control unit (FCU)  166  controls transmission processing and reception processing of a facsimile in the image forming apparatus  140 . 
       FIG. 2  is a functional block diagram of functions of the image forming apparatus  140  according to this embodiment. The image forming apparatus  140  according to this embodiment includes a data receiving section  201 , a data acquiring section  202 , a data-acquisition control section  203 , a spooler  204  as a data output section, an image-formation-processing control section  205 , a priority setting section  206 , and a display control section  207 . The data acquiring section  202  includes data acquiring sections  202   a  to  202   e  respectively corresponding to protocols used for communication of received data. In this embodiment, as shown in  FIG. 2 , as an example, the data acquiring section  202  includes a RawTCP-data acquiring section  202   a , an LPD-data acquiring section  202   b , an IPP-data acquiring section  202   c , an FTP-data acquiring section  202   d , and a Netware-data acquiring section  202   e . The functional blocks are explained below. 
     The data receiving section  201  has ports respectively corresponding to plural protocols. The data receiving section  201  receives data such as image formation job data from the client terminal  100  on the network  130  via the port. The data receiving section  201  temporarily stores the data in the buffer of the communication I/F  154  until the data acquiring section  202  corresponding to the protocol corresponding to the port via which the data is received acquires the data. If the size of the received data is smaller than the capacity of the buffer, all the data is stored in the buffer. However, if the size of the received data is larger than the capacity of the buffer, the data acquisition via the ports is put on standby until the data stored in the buffer is acquired by the data acquiring section  202  and a space is formed in the buffer. When the space is formed in the buffer, the data receiving section  201  receives following data. 
     The data acquiring section  202  acquires the data received by the data receiving section  201  separately for each of types of the protocols used for communication of the data. Specifically, the data acquiring section  202  includes the data acquiring sections ( 202   a  to  202   e ) respectively associated with the protocols used when image formation processing target data is transmitted from the client terminal  100  or the like to the image forming apparatus  140 . 
     As explained above, as an example, the data acquiring section  202  in this embodiment includes the a RawTCP-data acquiring section  202   a , the LPD-data acquiring section  202   b , the IPP-data acquiring section  202   c , the FTP-data acquiring section  202   d , and the Netware-data acquiring section  202   e.    
     The Raw-TCP-data acquiring section  202   a  acquires data transmitted to the image forming apparatus  140  according to a protocol called RawTCP. The LPD-data acquiring section  202   b  acquires data conforming to an LPD protocol. The IPP-data acquiring section  202   c  acquires data conforming to an IPP protocol. The FTP-data acquiring section  202   d  acquires data conforming to an FTP protocol. The Netware-data acquiring section  202   e  acquires data conforming to a Netware protocol. 
     The data acquiring sections ( 202   a  to  202   e ) periodically access the data receiving section  201  at a time interval set in advance. When the data receiving section  201  receives data conforming to the protocols respectively associated with the data acquiring sections ( 202   a  to  202   e ), the data acquiring sections ( 202   a  to  202   e ) acquire the data and temporarily store the data in buffers allocated to the data acquiring sections. 
     When the data acquiring sections ( 202   a  to  202   e ) acquire the data, the data acquiring sections sequentially output the data to the spooler  204 . For example, in a state in which the data acquiring sections ( 202   a  to  202   e ) periodically access the data receiving section  201 , when the data receiving section  201  receives data conforming to the RawTCP protocol and data conforming to the LPD protocol and, first, the RawTCP-data acquiring section  202   a  acquires the data conforming to the RawTCP protocol and, then, the LPD-data acquiring section  202   b  acquires the data conforming to the LPD protocol, the RawTCP-data acquiring section  202   a  passes the acquired data to the spooler  204 . Thereafter, the LPD-data acquiring section  202   b  passes the acquired data to the spooler  204 . 
     The data acquiring sections ( 202   a  to  202   e ) temporarily store the acquired data in the buffers respectively allocated thereto to hold the data. Therefore, when the size of the data received by the data receiving section  201  is larger than the capacities of the buffers, the data acquiring sections acquire the data separately in several times. In other words, the data acquiring sections acquire data equivalent to the capacities of the allocated buffers every time the data acquiring sections access the data receiving section  201  once. For example, when the size of data A is three times as large as the capacities of the buffers, the data acquiring sections divide the data A into three packets and sequentially acquire the packets in such a manner that the data acquiring sections acquire A- 1  in first access, acquire A- 2  in second access, and acquire A- 3  in third access. Each of the packets includes information indicating which data of the data A the packet is. Therefore, when all packets forming one data are received, for example, in the spooler  204  at an output destination of the data or in RIP processing, the packets are combined and return to one data. Therefore, image formation processing can be correctly performed. 
     The data-acquisition control section  203  acquires, for each of types of the protocols used for communication of data, priority information concerning priority indicating whether processing for the data takes priority over processing for data transmitted by using the other protocols, for example, from the storage device  152  that stores priority information. The data-acquisition control section  203  controls, on the basis of the priority information acquired by the data receiving section  201 , timing when the data acquiring sections ( 202   a  to  202   e ) acquire data such that data received according to a protocol with high priority is preferentially acquired by the data acquiring sections. 
     Specifically, for example, it is assumed that, when a protocol with highest priority is set as the LPD protocol, the data receiving section  201  receives data conforming to the FTP protocol, then receives data conforming to the IPP protocol, and finally receives data conforming to the LPD protocol and the FTP-data acquiring section  202   d  already started processing for acquiring data conforming to the FTP protocol. This situation is explained. 
     In this case, the data-acquisition control section  203  issues, on the basis of the priority information, a standby instruction to the IPP-data acquiring section  202   c , which acquires data conforming to the IPP protocol with priority lower than that of the LPD protocol, and controls the IPP-data acquiring section  202   c  not to perform data acquisition processing. Consequently, the LPD-data acquiring section  202   b , which acquires data conforming to the LPD protocol with higher priority than that of the IPP protocol, can more preferentially acquire data than the IPP-data acquiring section  202   c . As a result, image formation processing is also performed quickly. When the data receiving section  201  receives data, the data-acquisition control section  203  determines, on the basis of the acquired priority information, whether priority is set for a protocol for the data. If the data-acquisition control section  203  determines that the data conforming to the protocol for which the priority is set is received, the data-acquisition control section  203  issues a standby instruction to the data acquiring sections corresponding to the protocols for which priority is not set (or priority is lower than the priority for the protocol) and controls the data acquiring sections not to perform data acquisition. 
     On the other hand, in the case of normal processing in which no priority is set, the data acquiring sections acquire data in order of reception of the data by the data receiving section  201  and, after the acquisition, output the data to the spooler  204 . Therefore, the data conforming to the LPD protocol is not always subjected to the image formation processing earlier than the data conforming to the IPP protocol. 
     The spooler  204  temporarily stores the data output by the data acquiring sections ( 202   a  to  202   e ). When the image formation processing is executed by the image-formation-processing control section  205 , after the image formation processing ends, the spooler  204  outputs the data stored therein to the image-formation-processing control section  205 . 
     Usually, the spooler  204  acquires divided data (packets) from the data acquiring sections  202   a  to  202   e  in order. There are two kinds as a system for the spooler  204  to output the data one by one. One is a completion system for outputting the data in order from data, all packets of which are received, to the image-formation-processing control section  205  and performing the image formation processing. The other is a sequential system for sequentially outputting, every time a packet of data, a first packet of which is output to the spooler  204 , is output to the spooler  204  from the data, the output packet to the image-formation-processing control section  205  and performing the image formation processing. The image forming apparatus  140  according to this embodiment can efficiently perform processing for data with high priority irrespective of which of the systems is adopted. 
     The image-formation-processing control section  205  controls the printer section  162  on the basis of the data output from the spooler  204  to execute the image formation processing. The image-formation-processing control section  205  includes, besides a control section configured to control the printer section  162 , a function of an RIP configured to execute processing for converting PDL data or the like into a raster image. An image-formation processing section includes the image-formation-processing control section  205  and the printer section  162 . 
     The priority setting section  206  performs processing for setting priority. Specifically, when the priority setting section  206  receives, from the operation keys  158  of the operation panel  156 , an instruction for displaying a priority setting screen in order to perform setting of priority, the priority setting section  206  issues an instruction to the display control section  207  to instruct the display control section  207  not to display the priority setting screen. When priority is set by an operation input of the operation keys  158  to the displayed priority setting screen, the priority setting section  206  executes processing for causing the storage device  152  to store setting information of the priority. 
     The display control section  207  performs processing for causing the display section  157  to display the priority setting screen.  FIG. 3  is a diagram of an example of a priority setting screen  300 . On the priority setting screen  300 , priorities for data processing employing the communication protocols can be selected and set by using pull-down menus. On a screen shown in  FIG. 3 , second priority is selected in a pull-down menu  301   a  for setting priority for processing for data received according to the RawTCP protocol and first priority is selected in a pull-down menu  301   b  for the LPD protocol. 
     When the priorities are set with the setting content, the priority setting section  206  causes the storage device  152  to store priority information designating the priorities, for example, in a format such as a data table shown in  FIG. 4 .  FIG. 4  is a data table of an example of the priority information. In the data table, second priority is set for RawTCP and first priority is set for LPD to correspond to the priority information in the pull-down menus shown in  FIG. 3 . Priorities are not set for data of the other protocols. 
     Processing actually executed by the functional blocks is explained with reference to a timing chart.  FIG. 5  is a timing chart for explaining timings of reception of data by the data receiving section  201 , acquisition of data by the RawTCP-data acquiring section  202   a , the LDP-data acquiring section  202   b , the IPP-data acquiring section  202   c , the FTP-data acquiring section  202   d , and the Netware-data acquiring section  202   e  as the data acquiring sections, and output processing for data from the data acquiring sections to the spooler  204 . 
     The abscissa of  FIG. 5  indicates elapse of time. In  FIG. 5 , rectangles shown on lines of the data receiving section  201 , the data acquiring sections  202   a  to  202   e , and the spooler  204  indicate that data receiving section  201 , the data acquiring sections, and the spooler  204  perform processing at timings in the positions of the rectangles. When the processing is processing accessing the data receiving section  201  and actually acquiring data of the protocols corresponding to the data acquiring sections by the data-acquiring sections, the rectangles are hatched. When no data is present and acquired, the rectangles are shown as white void rectangles. For the data receiving section  201  and the spooler  204 , in the same manner, when data is actually acquired, the rectangles are hatched. 
     Usually, the data acquiring sections  202   a  to  202   e  can acquire data only by capacities of the buffers allocated thereto in one access to the data receiving section  201 . Therefore, when the volume of one data cannot be acquired by performing access processing once, the data acquiring sections divide the one data into several packets and acquires the data. In the following explanation, the data acquiring sections acquire the one data by accessing the data receiving section  201  plural times. 
     In the explanation of the processing illustrated in  FIG. 5 , priority for data conforming to the LPD protocol is set as first priority and priority for data conforming to the RawTCP protocol is set as second priority. 
     In  FIG. 5 , the data acquiring sections are set to perform processing for accessing the data receiving section  201  at a predetermined cycle in such order as the LPD-data acquiring section  202   b , the RawTCP-data acquiring section  202   a , the IPP-data acquiring section  202   c , the FTP-data acquiring section  202   d , and the Netware-data acquiring section  202   e  and checking whether there is reception data of the protocols respectively corresponding to the data acquiring sections. 
     In  FIG. 5 , at a first cycle indicated by a double-pointed arrow ( 1 ), access processing is performed in such order as the LPD-data acquiring section  202   b , the RawTCP-data acquiring section  202   a , the IPP-data acquiring section  202   c , the FTP-data acquiring section  202   d , and the Netware-data acquiring section  202   e . However, no data is present and acquisition of data is not performed. 
     Halfway in the first cycle, at timing before access processing at a second cycle by the LPD-data acquiring section  202   b  and the RawTCP-data acquiring section  202   a  is started, the data receiving section  201  receives data via the port. The data is data conforming to the LPD protocol and data conforming to the RawTCP. 
     In this case, the LPD-data acquiring section  202   b  that acquires the data conforming to the LPD protocol with the first priority starts the acquisition of the data at the second cycle. In  FIG. 5 , a rectangle of the LPD-data acquiring section  202   b  at the second cycle is hatched to indicate the acquisition of the data. 
     When the LPD-data acquiring section  202   b  acquires data for one packet that can be acquired in one acquisition processing, data for one packet is output from the LPD-data acquiring section  202   b  to the spooler  204  at the next timing of the acquisition processing. In  FIG. 5 , acquisition of data by the spooler  204  at the next timing of the acquisition of the data by the LPD-data acquiring section  202   b  is indicated by a hatched rectangle on the line of the spooler  204 . 
     On the other hand, concerning the next RawTCP-data acquiring section  202   a , the data receiving section  201  receives data conforming to the RawTCP protocol corresponding thereto. However, priority for the data conforming to the RawTCP protocol is second priority. Therefore, the RawTCP-data acquiring section  202   a  accesses the data receiving section  201  but does not perform acquisition of data until the LPD-data acquiring section  202   b  finishes acquiring all the packets for the one data. 
     The data-acquisition control section  203  controls the processing for preferentially performing acquisition processing for data conforming to a protocol with high priority and putting acquisition of information by a protocol with low priority (or a priority for which priority is not set) on standby in this way. Specifically, in the example shown in  FIG. 5 , the data-acquisition control section  203  issues a standby instruction to the RawTCP-data acquiring section  202   a  to instruct the RawTCP-data acquiring section  202   a  not to perform, until the LPD-data acquiring section  202   b  completes acquisition of data, acquisition processing for data when the Raw-TCP-data acquiring section  202   a  accesses the data receiving section  201 . The RawTCP-data acquiring section  202   a  stays on standby on the basis of the standby instruction without acquiring data conforming to the RawTCP protocol received in the data receiving section  201 . 
     In  FIG. 5 , in a second cycle, the LPD-data acquiring section  202   b  starts acquisition of data. In a fourth cycle, acquisition of all the packets forming the one data received by the LPD protocol is completed. When the LPD-data acquiring section  202   b  completes the acquisition processing for data, the data-acquisition control section  203  issues an instruction to the RawTCP-data acquiring section  202   a  to instruct the RawTCP-data acquiring section  202   a  to start data acquisition processing. The RawTCP-data acquiring section  202   a  starts acquisition of data at a fifth cycle in  FIG. 5 . 
     As explained above, with the image forming apparatus  140  having the configuration according to this embodiment, it is possible to more preferentially execute acquisition processing for information employing a protocol with high priority than processing for information with low priority or for which priority is not set. Therefore, it is possible to perform efficient image formation processing suitable for an environment and a situation in which the image forming apparatus  140  is used. 
     In the image forming apparatus  140 , when priorities are not set, if data conforming to the protocols corresponding to the data acquiring sections  202   a  to  202   e  is present when the data acquiring sections  202   a  to  202   e  access the data receiving section  201 , the data acquiring sections  202   a  to  202   e  respectively acquire data and output the data to the spooler  204  at the next timing. If the spooler  204  adopts the completion system, the spooler  204  outputs the data to the image-formation-processing control section  205  in order from the data collected as one data. If the spooler  204  adopts the sequential system, concerning data acquired as first data (packet) of divided data, the spooler  204  outputs, every time a divided packet is received, the packet to the image-formation-processing control section  205  and performs the image formation processing. 
     A flow of processing by the image forming apparatus  140  according to this embodiment is explained.  FIG. 6  is a flowchart for explaining a flow of processing by the image forming apparatus  140 . In the flow explained below, it is assumed that the spooler  204  performs data processing according to the sequential system. 
     In Act  101 , when an image forming job is transmitted from the client terminal  100  or the like, the data receiving section  201  receives data and the buffer of the communication I/F  154  included in the data receiving section  201  stores the data. 
     In Act  102 , the data-acquisition control section  203  determines whether the data received by the data receiving section  201  is data conforming to a protocol for which priority is set. 
     If the data-acquisition processing section  203  determines that the data is the data conforming to the protocol for which the priority is set (Yes in Act  102 ), in Act  103 , the data-acquisition control section  203  issues an instruction to the data acquiring sections corresponding to protocols with priorities lower than that of the protocol for which the priority is set to instruct the data acquiring sections to stay on standby not to acquire data. When any one of the data acquiring sections  202   a  to  202   e  receives the standby instruction, even if the data receiving section  201  receives data conforming to the protocols corresponding to the data acquiring sections that receive the standby instruction, the data acquiring sections that receive the standby instruction do not perform acquisition of data until the standby instruction is released. 
     If the data is not the data conforming to the protocol for which the priority is set (No in Act  101 ), the processing proceeds to Act  104 . 
     In Act  105 , the data acquiring section corresponding to the protocol for which the priority is set acquires data of the corresponding protocol among the data stored in the buffer of the data receiving section  201  and sequentially outputs the data to the spooler  204 . 
     In Act  106 , the data-acquisition control section  203  determines whether the data acquisition processing by the data acquiring section corresponding to the protocol for which the priority is set is completed. 
     If the data acquisition is completed (Yes in Act  106 ), in Act  107 , the data-acquisition control section  203  releases the standby instruction for the data acquiring sections corresponding to the protocols for which priorities are not set. When the standby instruction is released in Act  107 , the data acquiring sections  202   a  to  202   e  resume the normal data acquisition processing at timing of accessing the data receiving section  201  set in advance. When the corresponding data is present in the data receiving section  201 , the data acquiring sections  202   a  to  202   e  acquire the data and output the data to the spooler  204 . 
     On the other hand, if the data acquisition is not completed (No in Act  106 ), the processing returns to Act  105  and the determination processing is repeated. 
     In Act  108 , in order to perform the image formation processing in order from data, a first packet of which is received, among packets as divided data on the basis of the sequential system, the spooler  204  sequentially outputs the packet of the data, the first packet of which is acquired, to the image-formation-processing control section  205  every time the packet is acquired. 
     In Act  109 , the image-formation-processing control section  205  executes the image formation processing according to the acquired data. The image formation processing is RIP processing or actual image formation processing according to a raster image generated by the RIP processing. 
     On the other hand, if the data-acquisition control section  203  determines that the data is not the data for which the priority is set (No in Act  102 ), in Act  104 , the data acquiring sections  202   a  to  202   e  performs the normal data acquisition processing. Specifically, the data-acquisition control section  203  does not issue a special instruction to the data acquiring sections  202   a  to  202   e  and the data acquiring sections  202   a  to  202   e  access the data receiving section  201  at timing set in advance. When data conforming to the protocols corresponding to the data acquiring sections  202   a  to  202   e  is received by the data receiving section  201 , the data acquiring sections  202   a  to  202   e  acquire the data and sequentially output the acquired data to the spooler  204 . Processing in Act  108  and Act  109  is the same as the processing explained above. 
     The processing for outputting data by the spooler  204  in Act  108  and the image formation processing in Act  109  do not always have to be performed after the data acquisition processing. The data acquiring sections  202   a  to  202   e  sequentially output data acquired by accessing the data receiving section  201  once to the spooler  204 . When the spooler  204  adopts the sequential system, concerning the data, the first packet of which is acquired, the spooler  204  outputs, every time a packet is acquired, the packet to the image-formation-processing control section  205 . The image-formation-processing control section  205  executes the image formation processing in order of the acquisition of the data. Therefore, the processing in Act  108  and Act  109  may be executed in parallel to the data acquisition processing and the like. 
     When two or more priorities are set and data conforming to protocols for which the priorities are set is received, for example, when acquisition of the data conforming to the protocol with the first priority is completed, a standby instruction to the data acquiring section corresponding to the protocol with the second priority is released and the data acquiring section corresponding to the second priority acquires the data. A standby state only has to be released in order to acquire data in such a manner that, when acquisition of the data conforming to the protocol with the second priority is completed, a standby instruction to the data acquiring section corresponding to the third protocol is released and the data acquiring section corresponding to the third priority acquires the data. 
     The flow of the image formation processing by the image forming apparatus  140  is as explained above. The kinds of processing indicated by the flowchart are realized by causing the processor  104  to execute a computer program stored in the memory  106 . Apart or all of the kinds of processing may be realized by an ASIC. 
     The protocols that can be acquired by the image forming apparatus  140  according to this embodiment are examples and may be any protocols. The image forming apparatus  140  can execute the data acquisition processing explained in the embodiment in the same manner by including data acquiring sections corresponding to the protocols. 
     In the embodiment, even the data acquiring section corresponding to the protocol for which priority is not set accesses the data receiving section  201 . However, the present invention is not limited to this. For example, it is also possible that, when the data acquiring section corresponding to the protocol for which priority is set is acquiring data, the data acquiring section corresponding to the protocol for which priority is not set does not access the data receiving section  201 . This makes it possible to more efficiently acquire data according to protocols for which priorities are set. 
     Second Embodiment 
     An image forming apparatus  140 A according to this embodiment is different from the image forming apparatus  140  according to the first embodiment in that an amount of data acquired from the data receiving section  201  once by the data acquiring sections ( 202   a  to  202   e ) corresponding to a protocol with high priority is larger. This embodiment is explained below. However, components same as those in the first embodiment are denoted by the same reference numerals and signs and explanation of the components is omitted. 
       FIG. 7  is a functional block diagram of functions of the image forming apparatus  140 A. The image forming apparatus  140 A includes the data receiving section  201 , the data acquiring section  202 , a data-acquisition control section  203 A, the spooler  204 , the image-formation-processing control section  205 , the priority setting section  206 , and the display control section  207 . Since the data receiving section  201 , the data acquiring section  202 , the spooler  204 , the image-formation-processing control section  205 , the priority setting section  206 , and the display control section  207  have functions same as those in the first embodiment, explanation of the sections is omitted. 
     The data-acquisition control section  203 A performs processing for acquiring priority set for any one of the protocols stored in the storage device  152  and setting, on the basis of the priority, an amount of data that the data acquiring sections ( 202   a  to  202   e ) can acquire from the data receiving section  201  by performing data acquisition processing once. Specifically, for example, when the priority for the LPD protocol is set as the first priority and the priority for the RawTCP protocol is set as the second priority, amounts of acquisition of data per one access to the data receiving section  201  are set for the LPD-data acquiring section  202   b , the RawTCP-data acquiring section  202   a , and the remaining other data acquiring sections (in  FIGS. 7 ,  202   c  to  202   e ) in order from a largest amount. 
     As explained in the first embodiment, the amounts of acquisition of data depend on the capacities of the buffers allocated to the data acquiring sections  202   a  to  202   e . The data-acquisition control section  203 A changes the capacities of the buffers of the data acquiring sections  202   a  to  202   e  and increases or reduces the amounts of acquisition of data. If the capacities of the buffers allocated to the data acquiring sections  202   a  to  202   e  increase, the amounts of acquisition of data per one access increases. Data received by the data receiving section  201  can be acquired in a smaller number of accesses. As a result, processing up to the image formation processing for data received according to the protocols with high priorities is more quickly performed. 
     When an amount of data acquired by any one of the data acquiring sections  202   a  to  202   e  in accessing the data receiving section  201  once is changed to be increased, if data acquisition speed is the same, time for performing the data acquisition processing once is extended because of the increase in the amount of data.  FIG. 8  is a timing chart for explaining timings of processing for accessing the data receiving section  201  and acquisition of data by the data acquiring sections  202   a  to  202   e  of the image forming apparatus  140 A and output processing to the spooler  204 . 
     As shown in  FIG. 8 , time for acquisition of data by the LDP-data acquiring section  202   b  for which priority is set high and an amount of acquisition of data is set large and time for outputting the data to the spooler  204  are longer than the times in causing the LPD-data acquiring section  202   b  to simply acquire data preferentially as shown in  FIG. 5 . Since the amount of acquisition of data per one data access is larger, the LPD-data acquiring section  202   b  completes the acquisition of data by accessing the data receiving section  201  twice and shifts to acquisition of data according to the RawTCP protocol in the fourth cycle. 
     With the image forming apparatus  140 A explained above, in addition to preferentially performing the processing for acquiring data corresponding to the protocols with high priorities, since an amount of data acquired by accessing the data receiving section  201  once increases, it is possible to more preferentially process received data conforming to the protocols with high priorities and more efficiently perform the image formation processing. 
     A flow of processing by the image forming apparatus  140 A is explained below.  FIG. 9  is a flowchart for explaining a flow of processing by the image forming apparatus  140 A for controlling amounts of acquisition of data acquired when the data acquiring sections  202   a  to  202   e  access a data receiving section  201  once according to priorities. After amounts of acquisition of data are set according to priorities, processing by the data acquiring sections  202   a  to  202   e  of the image forming apparatus  140 A for receiving data from the data receiving section  201  and outputting the data to the spooler  204  is the same as that in the first embodiment. Explanation of the processing is omitted. 
     In Act  201 , the data-acquisition control section  203 A acquires priorities of data processing associated with protocols set in advance stored in the storage device  152 . As an example of the priorities, in the following explanation, priority for the LPD protocol is first priority and priority for the RawTCP protocol is second priority. The remaining protocols are protocols with priorities lower than the second priority of the RawTCP protocol. Among the remaining protocols, the priorities are treated as the same. 
     Subsequently, the data-acquisition control section  203 A sets the capacities of the buffers of the data acquiring sections such that the capacities of the buffers of the data acquiring sections corresponding to the protocols with high priorities are larger (Act  202 ). In the example explained above, the data-acquisition control section  203 A sets the capacity of the buffer allocated to the LPD-data acquiring section  202   b  corresponding to the first priority to be the largest. The data-acquisition control section  203 A sets the capacity of the buffer of the RawTCP-data acquiring section  202   a  corresponding to the second priority to the second largest capacity and sets the capacities of the buffers of the remaining data acquiring sections to capacities smaller than that of the buffer of the RawTCP-data acquiring section  202   a.    
     The flow of the processing for setting amounts of acquisition of data is explained above. The kinds of processing in the flowchart are realized by causing the processor  144  to execute a computer program stored in the memory  146 . A part or all of the kinds of processing may be realized by an ASIC. 
     Third Embodiment 
     An image forming apparatus  140 B according to a third embodiment automatically sets priority on the basis of reference data as a reference for setting priority. The image forming apparatus  140 B according to this embodiment is different from the image forming apparatus  140  according to the first embodiment in that, whereas a user manually sets priority on the setting screen in the image forming apparatus  140 , the image forming apparatus  140 B automatically sets priority on the basis of the reference data. This embodiment is explained below. However, components same as those in the first embodiment are denoted by the same reference numerals and signs and explanation of the components is omitted. 
     In the following explanation, it is assumed that a reception frequency of data for each of protocols is used as the reference data as the reference for setting priority. 
       FIG. 10  is a functional block diagram for explaining functions of the image forming apparatus  140 B. The image forming apparatus  140 B includes the data receiving section  201 , the data acquiring section  202 , a data-acquisition control section  203 B, the spooler  204 , the image-formation-processing control section  205 , a priority setting section  206 A, and a reception-frequency registering section  802  as a reception-frequency calculating section. Since the data receiving section  201 , the data acquiring section  202 , the spooler  204 , and the image-formation-processing control section  205  have functions same as those in the first embodiment, explanation of the sections is omitted. 
     The priority setting section  206 A acquires reception frequency information from a reception frequency database (DB)  800  stored in the storage device  152 . The reception frequency information recorded in the reception frequency DB  800  is data concerning a reception frequency of data for each of protocols. Priorities for protocols with high reception frequencies are set high on the basis of the reception frequency information. As explained in the first embodiment, the priority setting section  206 A performs the setting of priorities by registering priorities in the data table of priorities ( FIG. 4 ) stored in the storage device  152 . 
     For example, when the priority setting section  206 A acquires the reception frequency information indicating that a reception frequency of data reception according to the LPD protocol is the highest and a reception frequency of data reception by the RawTCP protocol is the second highest, the priority setting section  206 A sets priority for the LPD protocol as first priority and sets priority for the RawTCP protocol as second priority. The remaining protocols for which priority is not set are protocols with priorities lower than that for the RawTCP protocol. Among the remaining protocols, the priorities are treated as the same. 
     The data-acquisition control section  203 B acquires the priorities set by the priority setting section  206 A on the basis of the reception frequency information from the storage device  152  and controls the data acquiring sections ( 202   a  to  202   e ) corresponding to the protocols with high priorities to preferentially acquire data. Processing for causing the data acquiring sections corresponding to the protocols with high priorities to more preferentially acquire data than the data acquiring sections corresponding to protocols with low priorities is the processing method explained in the first embodiment. As explained in the second embodiment, the data-acquisition control section  203 B may set the capacities of the buffers larger for the data acquiring sections corresponding to the protocols with high priorities and increase amounts of acquisition of data to thereby increase data acquisition speed. 
     The reception-frequency registering section  802  calculates reception frequencies by protocols of data received by the data receiving section  201 . The reception-frequency registering section  802  registers the calculated reception frequencies in the reception frequency DB  800  stored in the storage device  152 . Since the reception frequencies fluctuate, the reception-frequency registering sections  802  may periodically update the reception frequencies in the reception frequency DB  800 . 
     A flow of processing by the image forming apparatus  140 B is explained below.  FIG. 11  is a flowchart for explaining a flow of priority setting processing based on the reception frequency information. Processing by the data acquiring sections  202   a  to  202   e  of the image forming apparatus  140 B for receiving data from the data receiving section  201  and outputting the data to the spooler  204  is the same as that in the first embodiment. Therefore, explanation of the processing is omitted. 
     In Act  301 , the priority setting section  206 A accesses the reception frequency DB  800  in which the reception frequencies are registered by the reception-frequency registering section  802  and acquires the reception frequency information. 
     In Act  302 , the priority setting section  206 A sets priority for at least one protocol on the basis of the acquired reception frequency information. 
     In Act  303 , the data-acquisition control section  203 B acquires the priority set by the priority setting section  206 A from the storage device  152  and controls, on the basis of the acquired priority, the data acquiring sections  202   a  to  202   e  such that the data acquiring sections corresponding to the protocols with high priorities more preferentially acquire data. The acquisition control processing is processing explained in the first embodiment. 
     The method of setting priority according to this embodiment and a flow of the data acquisition control processing based on the priority are explained above. The kinds of processing in the flowchart are realized by causing the processor  144  to execute a computer program stored in the memory  146 . A part or all of the kinds of processing may be realized by an ASIC. 
     The processing by the priority setting section  206 A for accessing the reception frequency DB  800  and acquiring the reception frequency information in Act  301  can be performed at timing set in advance such as the start of the image forming apparatus  140 B. After the start of the image forming apparatus  140 B, for example, when the reception frequency is updated by the reception-frequency registering section  802 , the priority setting section  206 A may acquire the reception frequency information and set priorities again. 
     The priorities may be set on the basis of not only the reception frequencies explained in this embodiment but also information such as the number of times of reception of data for each of the protocols. 
     The computer program for causing the computer included in the image forming apparatus to execute the operations explained above can be provided as a data processing control program. In the explanation of this embodiment, the computer program for realizing the functions for carrying out the invention is recorded in advance in the storage area such as the memory or the HDD provided in the apparatus. However, the present invention is not limited to this. The same computer program may be downloaded from a network to the apparatus. The same computer program stored in a computer-readable recording medium may be installed in the apparatus. A form of the recording medium may be any form as long as the recording medium can store the computer program and can be read by the computer. Specifically, examples of the recording medium include internal storage devices internally mounted on the computer such as a ROM and a RAM, portable storage media such as a CD-ROM, a flexible disk, a DVD disk, a magneto-optical disk, and an IC card, a database that stores a computer program, other computers and databases for the computers, and a transmission medium on a line. The functions obtained by the installation or the download in advance in this way may be realized in cooperation with an OS (operating system) in the apparatus. 
     The computer program may be an execution module that is dynamically generated partially or entirely. 
     As explained above in detail, with the technique described in this specification, it is possible to provide an apparatus that receives data according to plural kinds of protocols, the apparatus being configured to more efficiently process data conforming to the protocols with high priorities. 
     While certain embodiments have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of invention. Indeed, the novel apparatus, methods and computer readable mediums described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of the apparatus, methods and computer readable mediums described herein may be made without departing from the spirit of the inventions. The accompanying claims and their equivalents are intended to cover such forms or modifications as would fall within the scope and spirit of the inventions.