Locating and Connecting to a Shared Print Queue from an Internet Client -- Print Client

Goal: To make a connection to a shared print queue from an Internet client so that documents can be printed by the user.

Context of Use: The user wants to print a document and does not have a printer attached to the local computer. The environment blocks connections, for example, via a firewall, by using the Print System Remote Protocol and Print System Asynchronous Remote Protocol [MS-PAR]. As an alternative, IPP [RFC2911] [RFC2910] and the Web Point-and-Print Protocol [MS-WPRN] are available because they use HTTP/HTTPS and are allowed by most firewall administrators. By using these protocols, the print client enables the user to select a shared printer via the Internet.

Direct Actor: The direct actor is the print client.

Primary Actor: The primary actor is the user.

Supporting Actors: The supporting actors are the print server and the Internet browser.

Stakeholders and Interests:

  • Print client: The print client can make a connection to a print queue when the user enters the name of the print queue, and then download a printer driver by using the Web Point-and-Print Protocol. The print client sends a print job to the print queue by using IPP.

  • Print server: The print server receives an HTTP GET request [RFC7231] from an Internet browser, generates a list of shared printers in HTML format, and responds to the HTTP GET request with the list to the print client. The print server also provides a printer driver to the print client.

  • Internet browser: The Internet browser is used to connect to a print server and to view shared print queues on the print server. It can also be used to connect the print client to a selected print queue by executing script code that calls local APIs of the print spooler. Alternately, the user can use the Internet browser only for finding out the name of the print queue, and can then enter that name in the print client user interface to connect to the print queue.

  • User: The user wants to send a print job to a print queue but cannot use the print client to discover the shared print queues due to network restrictions.

Preconditions: The optional Internet Printing server role component has been installed on the print server. The print spooler service is operational on the print server and on the print client. An HTTP/HTTPS connection can be established between the print client and the print server. The user knows the URL of the print server.

Minimal Guarantee: A connection cannot be made.

Success Guarantee: A connection can be made.

Trigger: A user initiates this use case by starting the Add a printer command in the print client user interface.

Main Success Scenario:

  1. The user of an Internet browser browses to the "http://<HOST>/printers" URL of the print server that has the address <HOST>.

  2. The print server returns an HTML page that shows the available print queues and their status.

  3. The user selects a print queue to which to connect.

  4. The print client uses the Web Point-and-Print Protocol to download the printer driver for the print queue from the print server.

  5. The print client installs the downloaded printer driver.

  6. The print client creates a local print queue proxy object that represents the IPP connection to the print queue on the print server.

Extensions: None.