WO2012162978A1 - Method for providing print service - Google Patents

Method for providing print service Download PDF

Info

Publication number
WO2012162978A1
WO2012162978A1 PCT/CN2011/079700 CN2011079700W WO2012162978A1 WO 2012162978 A1 WO2012162978 A1 WO 2012162978A1 CN 2011079700 W CN2011079700 W CN 2011079700W WO 2012162978 A1 WO2012162978 A1 WO 2012162978A1
Authority
WO
WIPO (PCT)
Prior art keywords
print
file
samba
lprng
lpd
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CN2011/079700
Other languages
French (fr)
Inventor
Junpeng WU
Yinghua Liu
Tao MA
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Technicolor China Technology Co Ltd
Original Assignee
Technicolor China Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Technicolor China Technology Co Ltd filed Critical Technicolor China Technology Co Ltd
Publication of WO2012162978A1 publication Critical patent/WO2012162978A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/122Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to computing resources, e.g. memory, CPU
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/126Job scheduling, e.g. queuing, determine appropriate device
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1288Remote printer device, e.g. being remote from client or server in client-server-printer device configuration

Definitions

  • the present invention relates to data processing, and more particularly, relates to a method for providing print service.
  • Samba is a free software re-implementation, originally developed by Australian Andrew Tridgell, of the SMB (server message block)/CIFS (common Internet file system) networking protocol.
  • the CIFS can be considered as an enhanced version of SMB.
  • Samba provides file and print services for various Microsoft Windows clients and can integrate with a Windows Server domain, either as a Primary Domain Controller (PDC) or as a domain member. It can also be part of an Active Directory domain.
  • PDC Primary Domain Controller
  • Samba runs on most Unix and Unix-like systems, such as GNU/Linux, Solaris, AIX and the BSD variants, including Apple's Mac OS X Server (which was added to the Mac OS X client in version 10.2).
  • Samba is standard on nearly all distributions of Linux and is commonly included as a basic system service on other Unix-based operating systems as well.
  • Samba allows file and print sharing between computers running Windows and computers running Unix. Samba sets up network shares for chosen Unix directories (including all contained subdirectories). These appear to Microsoft Windows users as normal Windows folders accessible via the network.
  • Samba services are implemented as two daemons:
  • NetBIOS over TCP/IP requires some method for mapping NetBIOS computer names to the IP addresses of a TCP/IP network.
  • Samba configuration is achieved by editing a single file (typically installed as /etc/smb.conf or /etc/samba/smb.conf). When it is correctly configured, it allows that host to interact with a Microsoft Windows client or server as if it is a Windows file and print server.
  • Samba provides seamless file and print services to SMB/CIFS clients.
  • Client systems use the Common Internet File System (CIFS) protocol to request file and print services from server systems over a network.
  • CIFS Common Internet File System
  • the SMB/CIFS is a file sharing protocol. Client systems use this protocol to request file access services from server systems over a network.
  • the SMB/CIFS Protocol is composed of, and driven by, SMB commands.
  • the SMB commands are comprised of SMB messages exchanges between the client and the server. Below introduces some of the commands for file print.
  • SMB_COM_OPEN_PRINT_FILE it creates a print queue spool file. And the spool file will be queued to the printer when it is closed.
  • SMB_COM_WRITE_ANDX it is used to write bytes to a regular file, a named pipe, or a directly accessible I/O device such as a serial port (COM) or printer port (LPT). Besides, it can be used to write data to an open print queue spool file.
  • COM serial port
  • LPT printer port
  • SMB_COM_WRITE_PRINT_FILE it can be also used to write bytes to a print queue spool file. Since this command is deprecated, the SMB_COM_WRITE_ANDX command is usually used to write to an open print queue spool file.
  • SMB_COM_CLOSE it is used by the client to close an instance of an object associated with a valid FID (file identifier), which identifies a file. After this command is used to close a specified or chosen print queue spool file, it causes the server to queue the file for printing.
  • FID file identifier
  • SMB_COM_CLOSE_PRINT_FILE it can be also used to close a print queue spool file. Similar to the SMB_COM_WRITE_PRINT_FILE, since this command is deprecated, SMB COM CLOSE is normally used to close a print queue spool file opened by SMB_COM_OPEN_PRINT_FILE.
  • the Line Printer Daemon protocol/Line Printer Remote protocol (or LPD/ LPR) is a network protocol for submitting print jobs to a remote printer.
  • LPD Line Printer Daemon protocol/Line Printer Remote protocol
  • the original implementation of LPD was in the Berkeley printing system in the BSD UNIX operating system.
  • the LPD Protocol Specification is documented in RFC 1 179 (Line Printer Daemon Protocol, August 1990, edited by L. McLaughlin III).
  • LPRng line printer remote next generation
  • LPRng is a printing system compatible with the Berkeley printing system. It provides printer spooling and network print server functionality using the Line Printer Daemon protocol.
  • Samba and LPD/LPRng are used together in a single device to provide remote printing service.
  • the single device could be a gateway, router etc.
  • a print controlling device that wants to print files, e.g. a PC, and a printer via wired or wireless connection.
  • the Samba is used for print sharing, and it is configured to use "add printer wizard" feature of Samba to guide the Windows user to install printer driver on the PC.
  • the print file is converted into print format by the printer driver on the PC.
  • the print format can be any kind of page description language format that the OS can.
  • the PC sends the formatted print file to Samba in the single device via local print service.
  • the client in the PC installs printer driver and converts the file chosen to be printed into a print format with the printer driver. And then, the client uses SMB_COM_OPEN_PRINT_FILE command to request to create a print queue spool file of Samba.
  • Samba After receiving the request, Samba creates a print queue spool file corresponding to a print job, which will be queued to the printer when closed and sends a response message to indicate the successful creation of the print queue spool file.
  • the client After receiving the response message, the client uses SMB_COM_WRITE_ANDX to send data of the formatted file to Samba so as to request for printing.
  • Samba writes the received data of the formatted file into the print queue spool file.
  • the client After receiving the response message indicating successful data writing from Samba, the client uses SMB COM CLOSE to request Samba to close the print queue spool file.
  • Samba saves the formatted file and uses Ipr shell command to start the print job.
  • the Ipr shell command is used on many Unix-like systems to assign print jobs to printer queues.
  • LPRng project, Linux, Mac OS X and even Windows also provide such command with the same name.
  • Samba can use "Ipr -P%p %s" shell command in the LPRng project to send the print file to LPRng/LPD daemon via socket.
  • the meaning of parameters in the command is as follow: %p indicates the name of the printer to use, and %s indicates the full pathname of the file on the Samba server to be printed.
  • Samba can use Ipr, Ipq Iprm and Ipc commands to communicate with
  • Ipr is used to assign a print file to a print queue
  • Ipq is used to show queue information
  • Iprm is used to remove a chosen print file from the print queue
  • Ipc is used to control the print queue.
  • LPD/LPRng After LPD/LPRng receives the print file, it will create a print job to ask the printer to print.
  • a method for providing print service in an intermediate device connecting to a printer uses Samba to receive a file to be print and LPD or LPRng to request the printer to print, characterized in that Samba and LPD or LPRng use a common print spool, the method comprises the steps of receiving, by Samba a file to be print; saving, by Samba the file with a first name in the common print spool; requesting, by Samba LPD or LPRng to use the saved file in the common print spool to instruct the printer to print without needing LPD or LPRng to save the file again in the common print spool.
  • it avoids duplicated copies of same print file in a device with limited storage space.
  • Fig. 1 is a diagram showing a system structure
  • Fig. 2 is a diagram showing Samba and LPD/LPRng each has a separate print spool in the system;
  • Fig. 3 is a flow chart showing a method for providing print service on the gateway according to an embodiment of present invention.
  • Fig. 4 is a diagram showing Samba and LPD/LPRng have a common print spool according to the embodiment of present invention.
  • the inventors use Samba and LPD/LPRng on an intermediate device, e.g. a home gateway, to provide print service.
  • the system structure is the same as the Fig. 1 shows.
  • the gateway connects to a printer and a PC, and it communicates with the printer and the PC by separately using LPD/LPRng and Samba.
  • LPD/LPRng LPD/LPRng
  • the print spools of both Samba and LPD/LPRng are set to a volatile memory, e.g. RAM (random access memory).
  • RAM random access memory
  • Samba and LPD/LPRng After a long time of study on how Samba and LPD/LPRng works, it's found that after LPD/LPRng receives Ipr command that indicates the print file, it saves the print file again.
  • fig. 2 shows, Samba and LPD/LPRng each has a separate print spool. So for a single print file, it takes as twice as its size in the RAM. So in the following, Samba and LPD/LPRng are modified to avoid duplication of the print file in the RAM.
  • Fig. 3 shows a method for providing print service on the gateway according to an embodiment of present invention. Note LPRng is used in below embodiment.
  • Samba and LPRng are configured to share a common print spool in RAM as shown in Fig. 4.
  • the shared print spool can placed in a non-volatile storage, e.g. flash etc.
  • the path parameter in printers section of smb.conf file i.e. Samba configuration file
  • the print spool location of LPRng is set to the same location as Samba, i.e. :sd parameter in printcap (i.e. LPRng's printer information file) is set to /var/spool/samba.
  • Samba receives a file for print from the PC. Since LPRng is modified not to format the file in this implementation, the print file needs converting to a format that is compatible with LPRng.
  • the format conversion can be done by Samba. In a variant, the format conversion can be done by the printer driver of Windows before the print file is sent to Samba.
  • step 303 Samba saves the print file in the shared print spool.
  • the file name of the print file saved by Samba is FILE1 .
  • Samba sends a control message to request LPRng to print the print file saved by Samba.
  • Lpr command calls Sendjob function to transfer the print job to LPRng Daemon.
  • Sendjob function it sends two files to LPRng daemon, one is a control file which includes the print control info (details can be found in RFC1 179), and the other is a data file (i.e. the print file that Samba saved in this example).
  • Sendjob function uses Send_data_files to transfer the data file (Sendjob and Send_data_files functions are included in LPRng sendjob.c code file). And Send_data_files function will send file description information of the print file in Samba (e.g. file name, file size etc.)and the data of print file to LPRng daemon, and in addition, it tells the Receivejob function in LPRng daemon of a file name to be assigned to the print file in LPRng.
  • the file name used in Send_data_files function is different from the name of the print file in Samba.
  • file description information of the print file includes file name FILE1
  • Send_datajiles function tells Receivejob function to save the print file with file name of FILE2.
  • Receivejob function uses Receivejob function to receive the control file and the data file for printing the print file.
  • Receivejob function saves the control file and the data file with its name set to that used in Send_data files function in its print spool.
  • Send_data_files function is modified not send the print file to LPRng daemon, so Sendjob function will only send file description information to LPRng daemon without sending the data of the print file.
  • the print file FILE1 is renamed by Send_data_files function to a file name (i.e. FILE2 in above example) that it will be used in the Send_datajiles function.
  • the Receivejob function is modified to receive only the control file and file description information of the print file, and it uses the name (i.e. FILE2) carried in Send_data_files function to fill the file name in print job. And then the LPRng daemon sends the print job to the printer device.
  • LPRng can be replaced with LPD.
  • a number of implementations have been described. Nevertheless, it will be understood that various modifications may be made. For example, elements of different implementations may be combined, supplemented, modified, or removed to produce other implementations. Additionally, one of ordinary skill will understand that other structures and processes may be substituted for those disclosed and the resulting implementations will perform at least substantially the same function(s), in at least substantially the same way(s), to achieve at least substantially the same result(s) as the implementations disclosed. Accordingly, these and other implementations shall fall in the scope of the invention.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

It is provided a method for providing print service in an intermediate device connecting to a printer. The intermediate device uses Samba to receive a file to be print and LPD or LPRng to request the printer to print, characterized in that Samba and LPD or LPRng use a common print spool, the method comprises the steps of receiving, by Samba a file to be print; saving, by Samba the file with a first name in the common print spool; requesting, by Samba LPD or LPRng to use the saved file in the common print spool to instruct the printer to print without needing LPD or LPRng to save the file again in the common print spool.

Description

METHOD FOR PROVIDING PRINT SERVICE
TECHNICAL FIELD
The present invention relates to data processing, and more particularly, relates to a method for providing print service.
BACKGROUND
Samba is a free software re-implementation, originally developed by Australian Andrew Tridgell, of the SMB (server message block)/CIFS (common Internet file system) networking protocol. Herein, the CIFS can be considered as an enhanced version of SMB. As of version 3, Samba provides file and print services for various Microsoft Windows clients and can integrate with a Windows Server domain, either as a Primary Domain Controller (PDC) or as a domain member. It can also be part of an Active Directory domain. Samba runs on most Unix and Unix-like systems, such as GNU/Linux, Solaris, AIX and the BSD variants, including Apple's Mac OS X Server (which was added to the Mac OS X client in version 10.2). Samba is standard on nearly all distributions of Linux and is commonly included as a basic system service on other Unix-based operating systems as well.
Samba allows file and print sharing between computers running Windows and computers running Unix. Samba sets up network shares for chosen Unix directories (including all contained subdirectories). These appear to Microsoft Windows users as normal Windows folders accessible via the network.
Samba services are implemented as two daemons:
· smbd, which provides the file and printer sharing services, and
• nmbd, which provides the NetBIOS-to-IP-address name service.
NetBIOS over TCP/IP requires some method for mapping NetBIOS computer names to the IP addresses of a TCP/IP network. Samba configuration is achieved by editing a single file (typically installed as /etc/smb.conf or /etc/samba/smb.conf). When it is correctly configured, it allows that host to interact with a Microsoft Windows client or server as if it is a Windows file and print server. Samba provides seamless file and print services to SMB/CIFS clients. Client systems use the Common Internet File System (CIFS) protocol to request file and print services from server systems over a network. Below is a brief on SMB/CIFS and its commands.
The SMB/CIFS is a file sharing protocol. Client systems use this protocol to request file access services from server systems over a network. The SMB/CIFS Protocol is composed of, and driven by, SMB commands. The SMB commands are comprised of SMB messages exchanges between the client and the server. Below introduces some of the commands for file print.
SMB_COM_OPEN_PRINT_FILE: it creates a print queue spool file. And the spool file will be queued to the printer when it is closed.
SMB_COM_WRITE_ANDX: it is used to write bytes to a regular file, a named pipe, or a directly accessible I/O device such as a serial port (COM) or printer port (LPT). Besides, it can be used to write data to an open print queue spool file.
SMB_COM_WRITE_PRINT_FILE: it can be also used to write bytes to a print queue spool file. Since this command is deprecated, the SMB_COM_WRITE_ANDX command is usually used to write to an open print queue spool file.
SMB_COM_CLOSE: it is used by the client to close an instance of an object associated with a valid FID (file identifier), which identifies a file. After this command is used to close a specified or chosen print queue spool file, it causes the server to queue the file for printing.
SMB_COM_CLOSE_PRINT_FILE: it can be also used to close a print queue spool file. Similar to the SMB_COM_WRITE_PRINT_FILE, since this command is deprecated, SMB COM CLOSE is normally used to close a print queue spool file opened by SMB_COM_OPEN_PRINT_FILE.
The Line Printer Daemon protocol/Line Printer Remote protocol (or LPD/ LPR) is a network protocol for submitting print jobs to a remote printer. The original implementation of LPD was in the Berkeley printing system in the BSD UNIX operating system. The LPD Protocol Specification is documented in RFC 1 179 (Line Printer Daemon Protocol, August 1990, edited by L. McLaughlin III). LPRng (line printer remote next generation) is a printing system compatible with the Berkeley printing system. It provides printer spooling and network print server functionality using the Line Printer Daemon protocol.
Samba and LPD/LPRng are used together in a single device to provide remote printing service. The single device could be a gateway, router etc. As shown in the Fig. 1 , it normally connects to a print controlling device that wants to print files, e.g. a PC, and a printer via wired or wireless connection. Herein, the Samba is used for print sharing, and it is configured to use "add printer wizard" feature of Samba to guide the Windows user to install printer driver on the PC.
When the user selects a file on the PC for print, the print file is converted into print format by the printer driver on the PC. The print format can be any kind of page description language format that the OS can. Then the PC sends the formatted print file to Samba in the single device via local print service. To be specific, the client in the PC installs printer driver and converts the file chosen to be printed into a print format with the printer driver. And then, the client uses SMB_COM_OPEN_PRINT_FILE command to request to create a print queue spool file of Samba. After receiving the request, Samba creates a print queue spool file corresponding to a print job, which will be queued to the printer when closed and sends a response message to indicate the successful creation of the print queue spool file. After receiving the response message, the client uses SMB_COM_WRITE_ANDX to send data of the formatted file to Samba so as to request for printing. After receiving the request, Samba writes the received data of the formatted file into the print queue spool file. After receiving the response message indicating successful data writing from Samba, the client uses SMB COM CLOSE to request Samba to close the print queue spool file. After receiving the request for closing, Samba saves the formatted file and uses Ipr shell command to start the print job.
Herein, the Ipr shell command is used on many Unix-like systems to assign print jobs to printer queues. Furthermore, LPRng project, Linux, Mac OS X and even Windows also provide such command with the same name. In above case, Samba can use "Ipr -P%p %s" shell command in the LPRng project to send the print file to LPRng/LPD daemon via socket. The meaning of parameters in the command is as follow: %p indicates the name of the printer to use, and %s indicates the full pathname of the file on the Samba server to be printed.
Samba can use Ipr, Ipq Iprm and Ipc commands to communicate with
LPRng daemon. Specifically, Ipr is used to assign a print file to a print queue, Ipq is used to show queue information, Iprm is used to remove a chosen print file from the print queue, and Ipc is used to control the print queue.
After LPD/LPRng receives the print file, it will create a print job to ask the printer to print.
When Samba and LPD/LPRng are both integrated in an intermediate device with limited storage space, e.g. a home gateway connecting to both a PC and a printer, it's desired to print file with possibly larger size. SUMMARY
According to an embodiment of present invention, it is provided a method for providing print service in an intermediate device connecting to a printer. The intermediate device uses Samba to receive a file to be print and LPD or LPRng to request the printer to print, characterized in that Samba and LPD or LPRng use a common print spool, the method comprises the steps of receiving, by Samba a file to be print; saving, by Samba the file with a first name in the common print spool; requesting, by Samba LPD or LPRng to use the saved file in the common print spool to instruct the printer to print without needing LPD or LPRng to save the file again in the common print spool. According to the aspect of present invention, it avoids duplicated copies of same print file in a device with limited storage space.
It is to be understood that more aspects and advantages of the invention will be found in the following detailed description of the present invention.
BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings, which are included to provide a further understanding of the, illustrate embodiments of the invention together with the description which serves to explain the principle of the invention. Therefore, the invention is not limited to the embodiments. In the drawings:
Fig. 1 is a diagram showing a system structure;
Fig. 2 is a diagram showing Samba and LPD/LPRng each has a separate print spool in the system;
Fig. 3 is a flow chart showing a method for providing print service on the gateway according to an embodiment of present invention; and
Fig. 4 is a diagram showing Samba and LPD/LPRng have a common print spool according to the embodiment of present invention.
DETAILED DESCRIPTION An embodiment of the present invention will now be described in detail in conjunction with the drawings. In the following description, some detailed descriptions of known functions and configurations may be omitted for clarity and conciseness.
The inventors use Samba and LPD/LPRng on an intermediate device, e.g. a home gateway, to provide print service. The system structure is the same as the Fig. 1 shows. The gateway connects to a printer and a PC, and it communicates with the printer and the PC by separately using LPD/LPRng and Samba. Besides, since the gateway is intended for low-end product, it normally has limited storage space so as to save cost. The print spools of both Samba and LPD/LPRng are set to a volatile memory, e.g. RAM (random access memory). However, after the deployment of Samba and LPD/LPRng, the gateway with RAM allocated 10 MB for print spool cannot print a file of, for example, 8MB.
After a long time of study on how Samba and LPD/LPRng works, it's found that after LPD/LPRng receives Ipr command that indicates the print file, it saves the print file again. As fig. 2 shows, Samba and LPD/LPRng each has a separate print spool. So for a single print file, it takes as twice as its size in the RAM. So in the following, Samba and LPD/LPRng are modified to avoid duplication of the print file in the RAM.
Fig. 3 shows a method for providing print service on the gateway according to an embodiment of present invention. Note LPRng is used in below embodiment.
In the step 301 , Samba and LPRng are configured to share a common print spool in RAM as shown in Fig. 4. In a variant, the shared print spool can placed in a non-volatile storage, e.g. flash etc. Specifically, the path parameter in printers section of smb.conf file (i.e. Samba configuration file) is used to indicate the print spool location. Herein, it is set to /var/spool/samba. Meanwhile, the print spool location of LPRng is set to the same location as Samba, i.e. :sd parameter in printcap (i.e. LPRng's printer information file) is set to /var/spool/samba.
In the step 302, Samba receives a file for print from the PC. Since LPRng is modified not to format the file in this implementation, the print file needs converting to a format that is compatible with LPRng. The format conversion can be done by Samba. In a variant, the format conversion can be done by the printer driver of Windows before the print file is sent to Samba.
In the step 303, Samba saves the print file in the shared print spool. Herein, let's assume the file name of the print file saved by Samba is FILE1 .
In the step 304, Samba sends a control message to request LPRng to print the print file saved by Samba. -Before the introduction of the modification on Ipr command and LPRng, we'd like to firstly introduce how current Ipr command in the LPRng and LPRng daemon work. Lpr command calls Sendjob function to transfer the print job to LPRng Daemon. In Sendjob function, it sends two files to LPRng daemon, one is a control file which includes the print control info (details can be found in RFC1 179), and the other is a data file (i.e. the print file that Samba saved in this example). Sendjob function uses Send_data_files to transfer the data file (Sendjob and Send_data_files functions are included in LPRng sendjob.c code file). And Send_data_files function will send file description information of the print file in Samba (e.g. file name, file size etc.)and the data of print file to LPRng daemon, and in addition, it tells the Receivejob function in LPRng daemon of a file name to be assigned to the print file in LPRng. Herein, the file name used in Send_data_files function is different from the name of the print file in Samba. In this example, file description information of the print file includes file name FILE1 , and Send_datajiles function tells Receivejob function to save the print file with file name of FILE2. At the side of LPRng daemon, it uses Receivejob function to receive the control file and the data file for printing the print file. And Receivejob function saves the control file and the data file with its name set to that used in Send_data files function in its print spool.
-In our modification, Send_data_files function is modified not send the print file to LPRng daemon, so Sendjob function will only send file description information to LPRng daemon without sending the data of the print file. In addition, in order to avoid duplicated names in the share print spool, the print file FILE1 is renamed by Send_data_files function to a file name (i.e. FILE2 in above example) that it will be used in the Send_datajiles function. At the side of LPRng daemon, the Receivejob function is modified to receive only the control file and file description information of the print file, and it uses the name (i.e. FILE2) carried in Send_data_files function to fill the file name in print job. And then the LPRng daemon sends the print job to the printer device.
In another variant, LPRng can be replaced with LPD. A number of implementations have been described. Nevertheless, it will be understood that various modifications may be made. For example, elements of different implementations may be combined, supplemented, modified, or removed to produce other implementations. Additionally, one of ordinary skill will understand that other structures and processes may be substituted for those disclosed and the resulting implementations will perform at least substantially the same function(s), in at least substantially the same way(s), to achieve at least substantially the same result(s) as the implementations disclosed. Accordingly, these and other implementations shall fall in the scope of the invention.

Claims

1 . A method for providing print service in an intermediate device connecting to a printer, wherein, the intermediate device uses Samba to receive a file to be print and LPD or LPRng to request the printer to print, characterized in that Samba and LPD or LPRng use a common print spool, the method comprises the steps of
receiving, by Samba a file to be print;
saving, by Samba the file with a first name in the common print spool; and requesting, by Samba LPD or LPRng to use the saved file in the common print spool to instruct the printer to print without needing LPD or LPRng to save the file again in the common print spool.
2. The method of the claim 1 , wherein, the requesting step further includes changing, by Samba the name of the file from the first name to a second name; and
sending, by Samba the second name to LPD or LPRng, wherein, LPD or LPRng uses the second name to request the printer to print the saved file in the common print spool.
3. The method of the claim 1 , wherein, it further comprises converting the file to be print to a format that is compatible with LPD or LPRng before Samba requests LPD or LPRng for printing.
4. The method of the claim 3, wherein, the format conversion is done by Samba or it's done by other device before the file is sent to Samba.
5. The method of the claim 1 , wherein, it further comprises configuring the configuration files of Samba and LPD or LPRng to use the common print spool.
6. The method of the claim 1 , wherein, the common print spool is set to a volatile storage or non-volatile storage of the intermediate device that has limited storage space.
PCT/CN2011/079700 2011-05-30 2011-09-15 Method for providing print service Ceased WO2012162978A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CNPCT/CN2011/074917 2011-05-30
CN2011074917 2011-05-30

Publications (1)

Publication Number Publication Date
WO2012162978A1 true WO2012162978A1 (en) 2012-12-06

Family

ID=47258309

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2011/079700 Ceased WO2012162978A1 (en) 2011-05-30 2011-09-15 Method for providing print service

Country Status (1)

Country Link
WO (1) WO2012162978A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015018271A1 (en) * 2013-08-09 2015-02-12 华为终端有限公司 Method and device for sharing printing within family

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040073632A1 (en) * 2002-09-26 2004-04-15 Simpson Shell S. Mechanism for sharing web based imaging information from a unix terminal computing environment

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040073632A1 (en) * 2002-09-26 2004-04-15 Simpson Shell S. Mechanism for sharing web based imaging information from a unix terminal computing environment

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WANG HAI ET AL.: "Research of Share Files and Printers in Isomerous Network and Security Management of Samba", COMPUTER SYSTEMS APPLICATIONS, no. 8, August 2006 (2006-08-01), pages 80 - 88 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015018271A1 (en) * 2013-08-09 2015-02-12 华为终端有限公司 Method and device for sharing printing within family

Similar Documents

Publication Publication Date Title
EP1357467B1 (en) Remote creation of printer instances on a workstation
US8817295B2 (en) Communication system and printer therefor
CN102591597B (en) Information processing apparatus and method for controlling the same
JP3962612B2 (en) Information processing apparatus and setting method and program executed by information processing apparatus
JP7775394B2 (en) Server, control method, program, and printing system
US20100134818A1 (en) Data processing apparatus, printer network system, data processing method, and computer-readable recording medium thereof
JP5600925B2 (en) Server device, print system, program, and recording medium
US20080168158A1 (en) Virtual Device Hub
JP2011114806A (en) Communication apparatus and method, and program
CN104391664A (en) Self-service print system for realizing cross-segment communication between printer and print server
WO2013168458A1 (en) Server apparatus, system, and control method thereof
JP2006260356A (en) Image forming system, image forming apparatus, terminal apparatus, management apparatus, and driver update method for terminal apparatus
US8832312B2 (en) Communication apparatus and communication control method
US8259324B2 (en) Printer/storage integrate system, controller, control method, and control program for automatic installation of control software
US8861008B2 (en) Bidirectional communication technique between an information processing apparatus and an image processing apparatus
JP4045800B2 (en) Printing system and method
JP2008004010A (en) COMMUNICATION DEVICE AND ITS CONTROL METHOD
JP2006039982A (en) Information processing apparatus control method, information processing apparatus, and information processing apparatus control program
JP4441501B2 (en) Method and system for printing data using message signaling service, and corresponding computer program and corresponding computer-readable storage medium
JP2008165654A (en) Information processing apparatus, image forming apparatus, driver update method, storage medium, and program
JP4378338B2 (en) Information processing apparatus, device setting method, storage medium, and program
JP4262007B2 (en) Network device and data processing system control method
JP2001056753A (en) Image forming device
JP6115253B2 (en) Print system, spool server, spool method, and program
JP2006164026A (en) Output management system setting device, output management system setting system, output management system setting method, program, and storage medium

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: 11867071

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: 11867071

Country of ref document: EP

Kind code of ref document: A1