EP1171814A1 - Network printing method in apparatus - Google Patents

Network printing method in apparatus

Info

Publication number
EP1171814A1
EP1171814A1 EP00909486A EP00909486A EP1171814A1 EP 1171814 A1 EP1171814 A1 EP 1171814A1 EP 00909486 A EP00909486 A EP 00909486A EP 00909486 A EP00909486 A EP 00909486A EP 1171814 A1 EP1171814 A1 EP 1171814A1
Authority
EP
European Patent Office
Prior art keywords
data
computer
printer
application program
network address
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.)
Withdrawn
Application number
EP00909486A
Other languages
German (de)
French (fr)
Inventor
Gregory Derek Thomas
John Butt
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.)
British Telecommunications PLC
Original Assignee
British Telecommunications PLC
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
Priority claimed from GBGB9907368.6A external-priority patent/GB9907368D0/en
Application filed by British Telecommunications PLC filed Critical British Telecommunications PLC
Priority to EP00909486A priority Critical patent/EP1171814A1/en
Publication of EP1171814A1 publication Critical patent/EP1171814A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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/1289Remote printer device, e.g. being remote from client or server in server-client-printer device configuration, e.g. the server does not see the printer

Definitions

  • the present invention relates to the performance of printing operations in a computer network.
  • the invention is particularly applicable to printing operations carried out in a client/server computer environment.
  • the computers connected by the network can be divided into two categories
  • the first category are the server computers which are often used to store databases and to run database management programs to allow access and manipulation of the data in the database.
  • the second category are the client computers which, under the control of a user, access the data stored by the server computer and enable operations on that data such as editing, analysis, downloading or printing.
  • client/server computer architecture there are a number of sub-classes. These classes generally distinguish various client/server architectures depending on the distribution of processing between the client computers and the server computers.
  • One such class is commonly called “Thin Client” and refers to a situation in which, in response to requests for information from the client computer, the application programs on the server computer carry out most of the data processing.
  • the client computer allows a user to make requests for information, the server computer then carries out the necessary processing to produce the data and passes back the results to the client computer for viewing
  • the server computer holds configuration data and identification/location data for every printer connected to the network.
  • the printing task is carried out under the control of the server computer.
  • printers or client computers may move their physical positions thereby requiring changes to be made to the appropriate location data.
  • Printers may be upgraded resulting in a change in configuration data and perhaps even the network address of the printer.
  • the resulting overhead in managing the printer data so as to be able to send print jobs to a printer that is appropriate for the physical location of the client computer is costly and therefore undesirable.
  • a method of processing data for performing a printing operation in response to a print request made by a first computer to a second computer in a network of computers comprising the steps of: i) at said second computer: a) accessing stored data associating one or more printer identifiers and/or application program identifiers with each member of a set of network address ports; b) receiving a print request from said first computer, said request comprising an identification of one of said stored printer identifiers or application program identifiers; c) identifying the network address of said first computer; and d) sending data required for said print request to the network address of the first computer, using the port associated with the printer identifier or application program identifiers identified in the request; and ii) at said first computer: a) accessing stored data defining an association between each member of the set of network address ports and a printer and/or application program; and b) in response to data being received via one of said predetermined ports
  • This method of processing data for printing removes the need for the server computer to be configured with the details, locations and driver programs for all the printers on the network.
  • this provides further advantages. For example, it avoids the need for the user to have any printing facilities available (such as a mobile user connected to a network by a GSM phone but not in the proximity of a printer) or removes the delay of physically printing the document.
  • the invention is also advantageous when the network address of a client computer changes each time it is logged on to a network, for example, using the dynamic host configuration protocol (DHCP).
  • DHCP dynamic host configuration protocol
  • Figure 1 shows a schematic view of a network of computers controlling and monitoring a telecommunications system
  • Figure 2 is a diagrammatic representation of a client computer connected to a server computer in the network shown in Figure 1 ;
  • Figure 3 is a diagrammatic representation of data stored on the client and server computers shown in Figure 3;
  • FIG 4 is a flow diagram showing the processing carried out by the server computer shown in Figure 2;
  • FIG. 5 is a flow diagram showing the processing carried out by the client computer shown in Figure 2;
  • Figure 1 shows a schematic view of a large networked computer system 101 that is arranged to monitor and control a telephone system 1 03 via a telephone exchange 105.
  • the telephone exchange 105 is connected to a server computer 107 that is arranged to control and monitor the activity of the telephone exchange 105.
  • the server 107 is connected to a database 109 that it uses to store collected data and control programs.
  • the server computer 1 07 is connected to a wide area network (WAN) 1 1 1 1 along with a further server computer 1 1 3 connected to a corresponding storage device 1 1 5.
  • the WAN 1 1 1 is also connected to two local area networks (LAN) 1 1 7.
  • Server computers 1 1 9 and printers 1 21 are connected variously to the LANs 1 1 7 and the WAN 1 1 1 .
  • the computers 1 07, 1 1 3, 1 1 9 are arranged to communicate with each other via the networks 1 1 1 1 , 1 1 7 using IP network protocol such as TCP/IP (other alternative IP protocols include UDP/IP and RTP/IP).
  • IP network protocol such as TCP/IP (other alternative IP protocols include UDP/IP and RTP/IP).
  • any one of the printers 1 21 may be arranged to carry out printing operations in accordance with instructions sent from any one of the computers 107, 1 13, 1 1 9 connected to the networks 1 1 1 , 1 1 7.
  • each device in an IP network is assigned a unique address (IP address) that uniquely identifies the device in the network 1 01 .
  • IP address is divided into approximately sixty four thousand port numbers each enabling a notionally separate network connection.
  • An IP address is denoted by a string of numbers delineated with periods (or full stops) (e.g. 1 23.2J 54.209) and a port number for a particular address is appended to the IP address after a colon (e.g. 1 23.2J 54.209:63295 where 63295 is the port number).
  • the server computers 107, 1 1 3 are conventional computers running the VMS operating system while the client computers 1 1 9 are PC's with conventional operating systems such as Windows.
  • the server computers 107, 1 1 3 and the client computers also run appropriate (and conventional) Client/Server software that enables the client computers to access the control and monitoring programs and data an the server computers 107, 1 13 via the networks 1 1 1 , 1 17. This enables users to print reports or other documents using one of the printers 1 21 attached to the networks 1 1 1 , 1 1 7.
  • FIG. 2 shows parts of the network 1 01 in further detail.
  • the operating systems and application programs that are resident on the server 107 and the client 1 1 9 are shown as functional blocks.
  • the server 107 is running the VMS operating system that includes a print spooler 203.
  • the print spooler 203 is a conventional program that handles printing tasks for the operating system. Such spoolers have a file as their input along with a print command that details the printing task (e.g. number of copies) . Once these inputs have been received, the print spooler communicates with the assigned printer 1 21 to produce the requested output.
  • the resident software includes a further program 21 1 herein termed the network printing program.
  • the program 21 1 also handles printing tasks but instead of sending a file and print command to a printer, is arranged to send data to the client computer from which the print request was initiated in a manner that will be explained in further detail below.
  • the sever computer 1 07 detects when a user logs on to the server 107 via the client computer 1 1 9 and stores the IP address of the client computer 1 1 9 in a file 301 (see Figure 3) that is specific to the user.
  • the file 301 also contains a reference 305 to a corresponding settings file 307 for the particular user.
  • the settings file 307 comprises four entries each having three fields, the first field for printer or application program name, the second field for an IP address and the third field for an IP port number.
  • the network printing program 21 1 In response to the reception of a print request from the client 1 1 9, at step 401 the network printing program 21 1 opens the settings file 307, extracts the first field from each entry and presents these to the user as the choice of printers available for the print request. In response to the user's choice, at step 403 the network printing program 21 1 extracts the corresponding second and third fields from the chosen entry (filling in the blank second field from the IP address entry in the data file 301 ). At step 405 the network printing program 21 1 opens a network connection for the identified IP address and port number.
  • the network printing program 21 1 inserts a line in the file (containing the data to be printed) that recites the file extension (e.g. "doc" for a word-processing file or "txt” for a text file). If any conversion is required between the server file format and the client file format then this is carried out at step 409. Then, at step 41 1 the network printing program 21 1 sends the file to the client computer 1 1 9 and, at step 41 3, closes the IP connection.
  • the file extension e.g. "doc" for a word-processing file or "txt” for a text file.
  • the client computer 1 1 9 has a corresponding network printing program 21 3 that is in communication with the operating system 21 5 and runs as a background process monitoring selected ones of the network ports 21 7.
  • the network printing program 21 3 is started up automatically when the client computer 1 1 9 is switched on and refers to an initialisation file 309 (shown in Figure 3) to identify the IP ports that should be monitored.
  • the program 21 3 monitors the IP ports defined in respective entries of the file 309.
  • the file 309 also defines what action should be taken when a file is received via each of the defined ports. Accordingly, when data is received via a given port then at step 503 the network printing program 213 determines the appropriate action to be taken with the data. If the file 309 indicates that data received on a given port should be sent directly to a printer then this is carried out at step 505 after which the network printing program 21 3 returns to monitoring the IP ports 217 at step 501 .
  • the network printing program 21 3 opens the file containing the data and inspects the first line for a file extension. If at step 509 the file extension is identified as "csv" then, at step 51 1 , the program 21 3 saves the file with the extension appended and sends a command to the operating system to execute the file. The network printing program 21 3 then returns to step 501 to monitor the IP ports 21 7. If at step 51 3 the file extension is identified as "txt” then at step 51 5 the program 21 3 saves the file with the extension appended, sends a command to the operating system to execute the file and returns to step 501 to monitor the ports 21 7.
  • step 51 7 the file extension is identified as "htm” then at step 51 9 the program 21 3 saves the file with the extension appended, sends a command to the operating system to execute the file and then returns to step 501 to monitor the ports 217. If at step 521 the file extension of the received file is identified as "doc” then at step 523 the program 21 3 saves the file with the extension appended, sends a command to the operating system to execute the file and then returns to step 501 to monitor the ports 21 7.
  • the program 21 3 saves the file with the extension "txt” appended, sends a command to the operating system to execute the file and then returns to step 501 to monitor the ports 21 7.
  • the result of executing the file is that file will be opened using the associated application program i.e. Excel for "csv”, Word for "doc”, Notepad for "txt” and an the preferred internet browser for "htm” (the program associated with a given file extension may be specified by the user in some operating systems) .
  • the data will have either been sent to a local printer or presented to the user via an application program.
  • the local printer this is one that is defined by the printer options set by the user on the client computer as opposed to any printer settings defined on the server computer.
  • This removes the need for the server computer to be configured with the details, locations and driver programs for all the printers on the network. This is a difficult task to achieve when the network is not small. When printers can be moved on the network or even removed from it easily the task of maintaining printer configuration details becomes more difficult.
  • printer configuration settings are defined on the client computer they are no longer the responsibility of the server computer administrator and instead can be modified whenever necessary by the user in accordance with the local printer configurations and availability. This is of particular advantage when the client computer is mobile i.e. can be moved readily between physical locations and be connected to the network at any one of those locations.
  • the user is able to select (at step 403) from one of three printers and a single application as determined by the contents of the settings file 307 stored on the server 107 for the particular user. If the user wishes to change these setting the file 307 this can be accomplished either by directly editing the settings file 307 or by a suitable interface facility such as a control panel.
  • a suitable interface facility such as a control panel.
  • the first field of one or more of the entries in the settings file 307 is modified. If the new setting is for a printer the field should contain a recognised printer name such as "LPT1 " or "COM 1 " so that the entry is properly recognised in step 403. If an application is to be specified then the application name should be entered in the first field of the appropriate line in the file 307.
  • the system can be set up for a combination of printers or applications or exclusively for printer or for applications.
  • the entries in the client file 309 can also be amended for the corresponding ports.
  • the instruction (to send the file to a printer or to open with a predetermined application program) can be amended to correspond to the function defined in the first field of the entry for that port in the settings file 307 on the server 107.
  • the settings in the file 309 correspond to those in file 307.
  • a user to assign what is shown in file 309 as a printer port to a specific application program simply by appropriate editing of
  • the embodiment above is arranged to either send a file received by the client computer 1 1 9 directly to a printer or open it with an application further alternative actions are possible.
  • the file could be received and then processed using a batch processing file.
  • Such batch files can be used to carry out many types of processing such as editing, sending to another location (by e-mail, file transfer, facsimile or any other suitable method) for compressing or for archiving.
  • Such a batch file would be referred to by a command entered in the appropriate line of the client settings file 309.
  • the data file 301 described above also contains a reference to the settings file 307 for the user as well as the IP address.
  • the setting file could be applicable to all users and therefore no reference would be required to the settings file 307 in file 301 .
  • a further alternative would be for the client computer to send the settings file from the client to update a user-specific settings file on the server.
  • the server network printing program 21 1 is described as a single program. However, as an alternative, a separate program can be run for each of the possible choices in the settings file 307. In this case, each version is set up to deal with either a request to print to a printer or to carry out network printing in accordance with the invention
  • Each of the network printing programs can be arranged to present itself to the user as a normal printer
  • a mechanism for improving the security that is implemented in the above embodiment is to limit the set of file extensions that the client computer will accept. This reduces the possibility of undesirable files such as executable files being transmitted to the client computer 1 1 9.
  • the network printing programmes 21 1 , 21 3 both together and independently embody aspects of the invention.
  • These programmes 21 1 , 21 3 can be contained on various transmission and/or storage mediums such as a floppy disc, CD-ROM, or magnetic tape so that the programmes can be loaded onto one or more general purpose computers or could be downloaded over a computer network using a suitable transmission medium.

Landscapes

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

Abstract

A method and apparatus for carrying out printing requests is disclosed for a client/server networked computing environment. Where the client computers are arranged to simply receive data in response to requests and carry out relatively little processing on the received data the client computer is termed 'Thin'. In such an environment print requests from a client computer to a server computer are executed under the control of the server computer. In a large network of computer with many printers this results the maintenance of printer configuration data being a large task. The invention alleviated this problem by enabling the client computer to take control of the printing task.

Description

NETWORK PRINTING METHOD IN APPARATUS
The present invention relates to the performance of printing operations in a computer network. The invention is particularly applicable to printing operations carried out in a client/server computer environment.
Networked computer systems are known in which the computers connected by the network can be divided into two categories The first category are the server computers which are often used to store databases and to run database management programs to allow access and manipulation of the data in the database. The second category are the client computers which, under the control of a user, access the data stored by the server computer and enable operations on that data such as editing, analysis, downloading or printing.
Within the category of client/server computer architecture there are a number of sub-classes. These classes generally distinguish various client/server architectures depending on the distribution of processing between the client computers and the server computers. One such class is commonly called "Thin Client" and refers to a situation in which, in response to requests for information from the client computer, the application programs on the server computer carry out most of the data processing. In other words, the client computer allows a user to make requests for information, the server computer then carries out the necessary processing to produce the data and passes back the results to the client computer for viewing
in some such thin client/server arrangements, the server computer holds configuration data and identification/location data for every printer connected to the network. When a print request is made by the user via the client computer, the printing task is carried out under the control of the server computer.
One problem with performing printing operations over a large network of computers is that of managing the configuration data and identification/location data for the printers on the network. For example, printers or client computers may move their physical positions thereby requiring changes to be made to the appropriate location data. Printers may be upgraded resulting in a change in configuration data and perhaps even the network address of the printer. The resulting overhead in managing the printer data so as to be able to send print jobs to a printer that is appropriate for the physical location of the client computer is costly and therefore undesirable. In some situation, there may be no appropriate printer in the proximity of the client computer making the physical printing of material impossible.
According to a first aspect of the present invention there is provided a method of processing data for performing a printing operation in response to a print request made by a first computer to a second computer in a network of computers, the method comprising the steps of: i) at said second computer: a) accessing stored data associating one or more printer identifiers and/or application program identifiers with each member of a set of network address ports; b) receiving a print request from said first computer, said request comprising an identification of one of said stored printer identifiers or application program identifiers; c) identifying the network address of said first computer; and d) sending data required for said print request to the network address of the first computer, using the port associated with the printer identifier or application program identifiers identified in the request; and ii) at said first computer: a) accessing stored data defining an association between each member of the set of network address ports and a printer and/or application program; and b) in response to data being received via one of said predetermined ports, sending the received data to the printer or application program associated, in accordance with said stored data, with the network port from which the data was received .
This method of processing data for printing removes the need for the server computer to be configured with the details, locations and driver programs for all the printers on the network. In addition, when the print request results in a particular application program being used to open a file and present it to the user then this provides further advantages. For example, it avoids the need for the user to have any printing facilities available (such as a mobile user connected to a network by a GSM phone but not in the proximity of a printer) or removes the delay of physically printing the document. The invention is also advantageous when the network address of a client computer changes each time it is logged on to a network, for example, using the dynamic host configuration protocol (DHCP).
Embodiments of the present invention are described below with reference to the accompanying drawings in which: Figure 1 shows a schematic view of a network of computers controlling and monitoring a telecommunications system;
Figure 2 is a diagrammatic representation of a client computer connected to a server computer in the network shown in Figure 1 ;
Figure 3 is a diagrammatic representation of data stored on the client and server computers shown in Figure 3;
Figure 4 is a flow diagram showing the processing carried out by the server computer shown in Figure 2; and
Figure 5 is a flow diagram showing the processing carried out by the client computer shown in Figure 2;
Figure 1 shows a schematic view of a large networked computer system 101 that is arranged to monitor and control a telephone system 1 03 via a telephone exchange 105. The telephone exchange 105 is connected to a server computer 107 that is arranged to control and monitor the activity of the telephone exchange 105. The server 107 is connected to a database 109 that it uses to store collected data and control programs. The server computer 1 07 is connected to a wide area network (WAN) 1 1 1 along with a further server computer 1 1 3 connected to a corresponding storage device 1 1 5. The WAN 1 1 1 is also connected to two local area networks (LAN) 1 1 7. Server computers 1 1 9 and printers 1 21 are connected variously to the LANs 1 1 7 and the WAN 1 1 1 . The computers 1 07, 1 1 3, 1 1 9 are arranged to communicate with each other via the networks 1 1 1 , 1 1 7 using IP network protocol such as TCP/IP (other alternative IP protocols include UDP/IP and RTP/IP). In addition, any one of the printers 1 21 may be arranged to carry out printing operations in accordance with instructions sent from any one of the computers 107, 1 13, 1 1 9 connected to the networks 1 1 1 , 1 1 7.
As will be known by those skilled in the art, each device in an IP network is assigned a unique address (IP address) that uniquely identifies the device in the network 1 01 . In addition, each IP address is divided into approximately sixty four thousand port numbers each enabling a notionally separate network connection. An IP address is denoted by a string of numbers delineated with periods (or full stops) (e.g. 1 23.2J 54.209) and a port number for a particular address is appended to the IP address after a colon (e.g. 1 23.2J 54.209:63295 where 63295 is the port number). The server computers 107, 1 1 3 are conventional computers running the VMS operating system while the client computers 1 1 9 are PC's with conventional operating systems such as Windows. The server computers 107, 1 1 3 and the client computers also run appropriate (and conventional) Client/Server software that enables the client computers to access the control and monitoring programs and data an the server computers 107, 1 13 via the networks 1 1 1 , 1 17. This enables users to print reports or other documents using one of the printers 1 21 attached to the networks 1 1 1 , 1 1 7.
Figure 2 shows parts of the network 1 01 in further detail. The operating systems and application programs that are resident on the server 107 and the client 1 1 9 are shown as functional blocks. The server 107 is running the VMS operating system that includes a print spooler 203. The print spooler 203 is a conventional program that handles printing tasks for the operating system. Such spoolers have a file as their input along with a print command that details the printing task (e.g. number of copies) . Once these inputs have been received, the print spooler communicates with the assigned printer 1 21 to produce the requested output.
The resident software includes a further program 21 1 herein termed the network printing program. The program 21 1 also handles printing tasks but instead of sending a file and print command to a printer, is arranged to send data to the client computer from which the print request was initiated in a manner that will be explained in further detail below.
The sever computer 1 07, as part of the normal log-on procedure, detects when a user logs on to the server 107 via the client computer 1 1 9 and stores the IP address of the client computer 1 1 9 in a file 301 (see Figure 3) that is specific to the user. In addition to the IP address 203, the file 301 also contains a reference 305 to a corresponding settings file 307 for the particular user. The settings file 307 comprises four entries each having three fields, the first field for printer or application program name, the second field for an IP address and the third field for an IP port number.
The functions of the network printing program 21 1 will now be described further with reference to Figure 4. In response to the reception of a print request from the client 1 1 9, at step 401 the network printing program 21 1 opens the settings file 307, extracts the first field from each entry and presents these to the user as the choice of printers available for the print request. In response to the user's choice, at step 403 the network printing program 21 1 extracts the corresponding second and third fields from the chosen entry (filling in the blank second field from the IP address entry in the data file 301 ). At step 405 the network printing program 21 1 opens a network connection for the identified IP address and port number. At step 407, if the user has chosen the default entry (as opposed to a printer entry) in step 403 above, the network printing program 21 1 inserts a line in the file (containing the data to be printed) that recites the file extension (e.g. "doc" for a word-processing file or "txt" for a text file). If any conversion is required between the server file format and the client file format then this is carried out at step 409. Then, at step 41 1 the network printing program 21 1 sends the file to the client computer 1 1 9 and, at step 41 3, closes the IP connection.
With reference to Figure 2, the client computer 1 1 9 has a corresponding network printing program 21 3 that is in communication with the operating system 21 5 and runs as a background process monitoring selected ones of the network ports 21 7. The network printing program 21 3 is started up automatically when the client computer 1 1 9 is switched on and refers to an initialisation file 309 (shown in Figure 3) to identify the IP ports that should be monitored.
The functions of the network printing program 21 3 will now be described with reference to Figure 5. At step 501 the program 21 3 monitors the IP ports defined in respective entries of the file 309. The file 309 also defines what action should be taken when a file is received via each of the defined ports. Accordingly, when data is received via a given port then at step 503 the network printing program 213 determines the appropriate action to be taken with the data. If the file 309 indicates that data received on a given port should be sent directly to a printer then this is carried out at step 505 after which the network printing program 21 3 returns to monitoring the IP ports 217 at step 501 .
If the port entry in the file 309 determines that a received data should not be sent directly to a printer then, at step 507, the network printing program 21 3 opens the file containing the data and inspects the first line for a file extension. If at step 509 the file extension is identified as "csv" then, at step 51 1 , the program 21 3 saves the file with the extension appended and sends a command to the operating system to execute the file. The network printing program 21 3 then returns to step 501 to monitor the IP ports 21 7. If at step 51 3 the file extension is identified as "txt" then at step 51 5 the program 21 3 saves the file with the extension appended, sends a command to the operating system to execute the file and returns to step 501 to monitor the ports 21 7. If at step 51 7 the file extension is identified as "htm" then at step 51 9 the program 21 3 saves the file with the extension appended, sends a command to the operating system to execute the file and then returns to step 501 to monitor the ports 217. If at step 521 the file extension of the received file is identified as "doc" then at step 523 the program 21 3 saves the file with the extension appended, sends a command to the operating system to execute the file and then returns to step 501 to monitor the ports 21 7. If, in the file extension recognition steps 509, 51 3, 51 7, 521 no extension is recognised then, at step 525, the program 21 3 saves the file with the extension "txt" appended, sends a command to the operating system to execute the file and then returns to step 501 to monitor the ports 21 7. The result of executing the file is that file will be opened using the associated application program i.e. Excel for "csv", Word for "doc", Notepad for "txt" and an the preferred internet browser for "htm" (the program associated with a given file extension may be specified by the user in some operating systems) .
As described above, once the print request made by the user has been received by the client computer 1 1 9, the data will have either been sent to a local printer or presented to the user via an application program. In the case of the local printer this is one that is defined by the printer options set by the user on the client computer as opposed to any printer settings defined on the server computer. This removes the need for the server computer to be configured with the details, locations and driver programs for all the printers on the network. This is a difficult task to achieve when the network is not small. When printers can be moved on the network or even removed from it easily the task of maintaining printer configuration details becomes more difficult. Since the printer configuration settings are defined on the client computer they are no longer the responsibility of the server computer administrator and instead can be modified whenever necessary by the user in accordance with the local printer configurations and availability. This is of particular advantage when the client computer is mobile i.e. can be moved readily between physical locations and be connected to the network at any one of those locations.
When the print request results in a particular application program being used to open the data file then this provides further advantages. For example, it avoids the need for the user to have any printing facilities available and removes the delay of physically printing the document. This is of particular advantage where the user needs to work on the document in an electronic form e.g. to edit or e-mail it.
In the system described above with reference to Figures 4 and 5 the user is able to select (at step 403) from one of three printers and a single application as determined by the contents of the settings file 307 stored on the server 107 for the particular user. If the user wishes to change these setting the file 307 this can be accomplished either by directly editing the settings file 307 or by a suitable interface facility such as a control panel. In the present embodiment there are four ports reserved for use by the network printing programs 21 1 , 21 3 and therefore the number of printers/applications is limited to this number (however it will be appreciated that more ports could be provided by adding further entries to 307) .
In order to change the options presented to the user, the first field of one or more of the entries in the settings file 307 is modified. If the new setting is for a printer the field should contain a recognised printer name such as "LPT1 " or "COM 1 " so that the entry is properly recognised in step 403. If an application is to be specified then the application name should be entered in the first field of the appropriate line in the file 307. The system can be set up for a combination of printers or applications or exclusively for printer or for applications. When the file 307 has been amended, the entries in the client file 309 can also be amended for the corresponding ports. In other words, for each port defined in the client settings file 309, the instruction (to send the file to a printer or to open with a predetermined application program) can be amended to correspond to the function defined in the first field of the entry for that port in the settings file 307 on the server 107. However, it is not essential that the settings in the file 309 correspond to those in file 307. For example it is also possible for a user to assign what is shown in file 309 as a printer port to a specific application program simply by appropriate editing of
Although the embodiment above is arranged to either send a file received by the client computer 1 1 9 directly to a printer or open it with an application further alternative actions are possible. For example, the file could be received and then processed using a batch processing file. Such batch files can be used to carry out many types of processing such as editing, sending to another location (by e-mail, file transfer, facsimile or any other suitable method) for compressing or for archiving. Such a batch file would be referred to by a command entered in the appropriate line of the client settings file 309.
The data file 301 described above also contains a reference to the settings file 307 for the user as well as the IP address. As an alternative, the setting file could be applicable to all users and therefore no reference would be required to the settings file 307 in file 301 . A further alternative would be for the client computer to send the settings file from the client to update a user-specific settings file on the server.
In the embodiment described above, the server network printing program 21 1 is described as a single program. However, as an alternative, a separate program can be run for each of the possible choices in the settings file 307. In this case, each version is set up to deal with either a request to print to a printer or to carry out network printing in accordance with the invention Each of the network printing programs can be arranged to present itself to the user as a normal printer Although the embodiment above is described using the VMS operating system and PC client computers, it will be clear to those skilled in the art that the invention is applicable to any server based operating system and its associated client systems.
In some circumstance it would be appropriate to ensure that the files being transferred between the client and the server 107, 1 19 could not be altered or read by an unauthorised party. In this case, encryption techniques can be applied to the data transfer. A mechanism for improving the security that is implemented in the above embodiment is to limit the set of file extensions that the client computer will accept. This reduces the possibility of undesirable files such as executable files being transmitted to the client computer 1 1 9.
As will be understood by those skilled in the art, the network printing programmes 21 1 , 21 3 both together and independently embody aspects of the invention. These programmes 21 1 , 21 3 can be contained on various transmission and/or storage mediums such as a floppy disc, CD-ROM, or magnetic tape so that the programmes can be loaded onto one or more general purpose computers or could be downloaded over a computer network using a suitable transmission medium.
Unless the context clearly requires otherwise, throughout the description and the claims, the words "comprise", "comprising" and the like are to be construed in an inclusive as opposed to an exclusive or exhaustive sense; that is to say, in the sense of "including, but not limited to".

Claims

1 . A method of processing data for performing a printing operation in response to a print request made by a first computer to a second computer in a network of computers, the method comprising the steps of: i) at said second computer: a) accessing stored data associating one or more printer identifiers and/or application program identifiers with each member of a set of network address ports; b) receiving a print request from said first computer, said request comprising an identification of one of said stored printer identifiers or application program identifiers; c) identifying the network address of said first computer; and d) sending data required for said print request to the network address of the first computer, using the port associated with the printer identifier or application program identifiers identified in the request; and ii) at said first computer: a) accessing stored data defining an association between each member of the set of network address ports and a printer and/or application program; and b) in response to data being received via one of said ports, sending the received data to the printer or application program associated, in accordance with said stored data, with the network port from which the data was received.
2. A method according to claim 1 in which at step c) at said first computer: in response to data being received via one of said ports associated, in accordance with said stored data, with a printer, sending the received data to that printer; and in response to data being received via one of said ports associated, in accordance with said stored data, with an application program, causing said data to be displayed using that application program.
3. A method according to claims 1 or 2 in which at step d) at said second computer: sending the data required for said print request to the network address of the first computer, using the port associated with printer name or application program name identified in the request; and in response to said request identifying an application program name, sending and identification of the type of data being sent in addition to the data itself.
4. A method according to any preceding claim in which the stored data accessed by said first computer associates only printers with each of said set of network address ports and said stored data accessed by said second computer associates only printer names with each of said set of network address ports.
5. A method according to any of claims 1 to 3 in which the stored data accessed by said first computer associates only application programs with each of said predetermined set of network address ports and said stored data accessed by said second computer associates only application program names with each of said set of network address ports.
6. A method according to any of claims 1 to 3 and 5 in which, instead of the received data being sent to a printer or application program the data is compressed and/or stored and/or transmitted to another computer.
7. A method according to claims 3 to 6 further comprising the step at said first computer of only accepting data from a predetermined set of data types.
8. A method according to any preceding claim further comprising the steps of: encrypting the data before sending it to the first computer; and decrypting the data received at said first computer.
9. A method of processing data for performing a printing operation in response to a request made by a first computer to a second computer in a network of computers, the method comprising the steps of: at said first computer: a) accessing stored data defining an association between each member of a set of network address ports and a printer and/or application program; b) in response to data being received via one of said ports associated in accordance with said stored data with a printer, sending the received data to that
5 printer; and c) in response to data being received via one of said ports associated, in accordance with said stored data, with an application program, causing said data to be displayed using that application program.
1 0 10. A method of processing data for performing a printing operation in response to a print request made by a first computer to a second computer in a network of computers, the method comprising the steps of: at said second computer: a) accessing stored data associating one or more printer identifiers and/or 1 5 application program identifiers with each member of a set of network address ports; b) receiving a print request from said first computer, said request comprising an identification of one of said stored printer identifiers or application program identifiers; c) identifying the network address of said first computer;
20 d) sending the data required for said print request to the network address of the first computer, using the port associated with printer identifier or application program identifier identified in the request; and e) in response to said request identifying an application program identifier, sending and identification of the type of data being sent in addition to the data itself. 25
1 1 . A data carrier carrying instructions for enabling a computing apparatus to carry out the method of any one of claims 1 to 10.
EP00909486A 1999-03-30 2000-03-10 Network printing method in apparatus Withdrawn EP1171814A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP00909486A EP1171814A1 (en) 1999-03-30 2000-03-10 Network printing method in apparatus

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
GBGB9907368.6A GB9907368D0 (en) 1999-03-30 1999-03-30 Network printing method in apparatus
GB9907368 1999-03-30
EP99305273 1999-07-02
EP99305273 1999-07-02
EP00909486A EP1171814A1 (en) 1999-03-30 2000-03-10 Network printing method in apparatus
PCT/GB2000/000900 WO2000058822A1 (en) 1999-03-30 2000-03-10 Network printing method in apparatus

Publications (1)

Publication Number Publication Date
EP1171814A1 true EP1171814A1 (en) 2002-01-16

Family

ID=26153518

Family Applications (1)

Application Number Title Priority Date Filing Date
EP00909486A Withdrawn EP1171814A1 (en) 1999-03-30 2000-03-10 Network printing method in apparatus

Country Status (3)

Country Link
EP (1) EP1171814A1 (en)
AU (1) AU3176800A (en)
WO (1) WO2000058822A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8681352B2 (en) 2002-04-18 2014-03-25 Hewlett-Packard Development Company, L.P. Pull based computer output devices
US8077334B2 (en) 2007-04-13 2011-12-13 Amadeus S.A.S. Method and apparatus for managing printing solutions in a local area network
IN2013MN00501A (en) 2010-10-08 2015-05-29 N30 Pharmaceuticals Inc

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3242801B2 (en) * 1994-11-28 2001-12-25 株式会社日立製作所 Printing system
AU6251696A (en) * 1995-06-06 1996-12-24 Apple Computer, Inc. Architecture for network printing systems

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO0058822A1 *

Also Published As

Publication number Publication date
WO2000058822A1 (en) 2000-10-05
AU3176800A (en) 2000-10-16

Similar Documents

Publication Publication Date Title
US6043898A (en) Method and system for concurrently executing multiple spooling systems in a networked computer system
US7089499B2 (en) Personalizing user interfaces across operating systems
US5559933A (en) Distributed enterprise print controller
USRE39801E1 (en) Automatic installation of printers in a distributed environment
EP0969653B1 (en) Device control apparatus and method of determining device
US20020035941A1 (en) Data processing apparatus, print-setting method, and recording medium
US20050024677A1 (en) Network print system, and information processing apparatus and its control method
US8516086B2 (en) Generalized credential and protocol management of infrastructure
US20090195831A1 (en) Data processing method and printing system
CN1453696A (en) Long-distance establishment for printer example at working station
US20040010795A1 (en) Device driver installing program and device driver installing apparatus
US20080137133A1 (en) Method and System for Printing Via Application Servers and Corresponding Computer Program and Corresponding Computer-Readable Storage Medium
GB2347766A (en) Internet based printing using a web browser
JP2002007182A (en) Shared file control system for external storage device
JP7168790B2 (en) Printing system and printing method
US20040049544A1 (en) In-context launch management method, system therefor, and computer-readable storage medium
EP1171814A1 (en) Network printing method in apparatus
JP5158648B2 (en) Network interface apparatus, image forming apparatus, print control method, and print control program
US7202961B2 (en) Method for dynamically creating a printer driver
US20060123411A1 (en) Rendering device installation methods and systems
CA2491385A1 (en) Printing system and method
JP2000163345A (en) Device control system, information registering method, device utilizing method and storage medium recording computer program
JP3635997B2 (en) Distribution information selection apparatus and method
KR100501724B1 (en) Recording medium for recording program to blocking mouse/keyboard operation of terminal at server side in computer system structured by server based providing ASP service and Server therefor
JP2020194364A (en) Information processor, system, information processing method and program

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20010910

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE

AX Request for extension of the european patent

Free format text: AL;LT;LV;MK;RO;SI

17Q First examination report despatched

Effective date: 20020125

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20020806

RBV Designated contracting states (corrected)

Designated state(s): DE FR GB