US20020136559A1 - System and method for providing job assurance - Google Patents
System and method for providing job assurance Download PDFInfo
- Publication number
- US20020136559A1 US20020136559A1 US09/816,811 US81681101A US2002136559A1 US 20020136559 A1 US20020136559 A1 US 20020136559A1 US 81681101 A US81681101 A US 81681101A US 2002136559 A1 US2002136559 A1 US 2002136559A1
- Authority
- US
- United States
- Prior art keywords
- document
- printer
- web
- target
- user
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
- G06F3/1205—Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
- G06F3/1208—Improving or facilitating administration, e.g. print management resulting in improved quality of the output result, e.g. print layout, colours, workflows, print preview
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1253—Configuration of print job parameters, e.g. using UI at the client
- G06F3/1256—User feedback, e.g. print preview, test print, proofing, pre-flight checks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/126—Job scheduling, e.g. queuing, determine appropriate device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
- G06F3/1288—Remote printer device, e.g. being remote from client or server in client-server-printer device configuration
Definitions
- This invention relates to a Web-based imaging system that provides print job assurance.
- Such systems of this type generally, warn the user, prior to printing, whether or not the print job will be able to be printed, as expected.
- this invention fulfills these needs by providing a method for print job assurance, comprising the steps of: selecting a document to be printed; selecting a target printer; viewing a characteristic of the document on target printer home page; determining if the target printer can print the document; and printing the document.
- the document or portions of the document can be prepared by the user just prior to printing or the user can download the document or portions of the document from the Internet.
- the determination step includes the steps of having the target printer send information to the target printer home page regarding the amount of consumables that are readily available to be used by the printer. Consumables being, but not limited to, paper, toner, ink or the like.
- the print job assurance system allows the user to see if the print job will be completed given the amount of consumables available to the printer.
- the preferred print job assurance system offers the following advantages: ease of use; excellent print job assurance characteristics; and excellent economy. In fact, in many of the preferred embodiments, these factors of print job assurance characteristics and economy are optimized to an extent that is considerably higher than heretofore achieved in prior, known print job assurance systems.
- FIG. 1 illustrates an architectural diagram of a client-server system that operates in accordance with one embodiment of the present invention
- FIG. 2 is a flow diagram illustrating how a personal computer can be operated to identify and store a set of target data
- FIG. 3 is an abstract drawing of the personal computer under certain conditions
- FIG. 4 illustrates very generally the operation of the personal computer in response to a generic access instruction, assuming the conditions depicted in FIG. 3;
- FIG. 5 is a high level block diagram of a first Web site in the client-server system
- FIG. 6 is a high level block diagram of a printer in the client-server system
- FIG. 7 is a high level block diagram of a second computer in the client-server system
- FIG. 8 is a high level diagram of a personal computer in the client-server system
- FIG. 9 illustrates how the various software components in the client-server system can communicate
- FIG. 10 is a flow diagram illustrating how the personal computer can download first Web content that allows a user to create a document
- FIG. 11 illustrates a first Web Page that includes a hyperlink to the first Web content
- FIG. 12 is a flow diagram illustrating the execution of the first Web content
- FIG. 13 is a flow diagram illustrating the operation of an extension component in the personal computer
- FIG. 14 is used to illustrate, in abstract form, a set of conditions
- FIG. 15 is a flow diagram illustrating how the personal computer can download second Web content that allows a user to print a document
- FIG. 16 illustrates a second Web Page that includes a hyperlink that to the second Web content
- FIG. 17 illustrates the execution of the second Web content
- FIG. 18 illustrates an operation of a Web content from a target Web service
- FIG. 19 illustrates further the operation of the extension component in the personal computer
- FIG. 20 illustrates an exemplary print dialog box
- FIG. 21 illustrates the print dialog box after being updated
- FIG. 22 provides an example of a status page
- FIG. 23 illustrates a more detailed view of the Web imaging home page
- FIG. 24 illustrates a home page for the target printer
- FIG. 25 is a flow chart that illustrates how the print job assurance system operates.
- Client-Server A model of interaction in a distributed system in which a program at one site sends a request to a program at another site and waits for a response.
- the requesting program is called the “client,” and the program that responds to the request is called the “server.”
- the client is a “Web browser”(or simply “browser”) which runs on a computer of a user; the program which responds to browser requests by serving Web pages, or other types of Web content, is commonly referred to as a “Web server.”
- Web content refers to content that is meant to be executed by operation of a Web browser.
- Web content may include (the following is a non-exhaustive list) one or more of the following: HTML code, Java scripttm, Java Program(s) and C-“Sharp” code Hyperlink.
- HTML code HyperText Markup Language
- Java scripttm Java scripttm
- Java Program(s) Java Program(s)
- C-“Sharp” code Hyperlink Hyperlink.
- a navigational link is from one document to another, from one portion (or component) of a document to another, or to a Web resource, such as a Java applet.
- a hyperlink is displayed as a highlighted word or phrase that can be selected by clicking on it using a mouse to jump to the associated document or document portion or to retrieve a particular resource.
- Hypertext System A computer-based informational system in which documents (and possibly other types of data entities) are linked together via hyperlinks to form a user-navigable “web.”
- Internet A collection of interconnected (public and/or private) networks that are linked together by a set of standard protocols (such as TCP/IP and HTTP) to form a global, distributed network. (although this term is intended to refer to what is now commonly known as the Internet, it is also intended to encompass variations that may be made in the future, including changes and additions to existing standard protocols).
- standard protocols such as TCP/IP and HTTP
- World Wide Web Used herein to refer generally to both (i) a distributed collection of interlinked, user-viewable Hypertext documents (commonly referred to as Web documents or Web pages) that are accessible via the Internet, and (ii) the client and server software components which provide user access to such documents using standardized Internet protocols.
- Web documents typically referred to as Web documents or Web pages
- client and server software components which provide user access to such documents using standardized Internet protocols.
- HTTP Hypertext
- Web pages are encoded using HTML.
- the terms “Web” and “World Wide Web” are intended to encompass future markup languages and transport protocols that may be used in place of (or in addition to) HTML and HTTP.
- Web Site A computer system that serves informational content over a network using the standard protocols of the World Wide Web.
- a Web site corresponds to a particular Internet domain name, such as “HP.com,” and includes the content associated with a particular organization.
- the term is generally intended to encompass both (i) the hardware/software server components that serve the informational content over the network, and (ii) the “back end” hardware/software components, including any non-standard or specialized components, that interact with the server components to perform services for Web site users.
- a Web Site can have additional functionality, For example, a Web site may have the ability to print documents, scan documents, etc.
- HTML HyperText Markup Language
- HTML 2.0 is currently the primary standard used for generating Web documents.
- HTML codes referred to as “tags”.
- the codes are interpreted by the browser and used to display the document.
- HTML tags can be used to create links to other Web documents (commonly referred to as “hyperlinks”). For more information on HTML, see Ian S. Graham, The HTML Source Book, John Wiley and Sons, Inc., 1995 (ISBN 0471-11894-4).
- HTTP HyperText Transport Protocol
- HTTP includes a number of different types of messages that can be sent from the client to the server to request different types of server actions. For example, a “GET” message, which has the format GET ⁇ URL>, causes the server to return the document or file located at the specified URL.
- URL Uniform Resource Locator. A unique address which fully specifies the location of a file or other resource on the Internet or a network.
- the general format of a URL is protocol:
- FIG. 1 illustrates the general architecture of a computing system 702 that is in accordance with the invention.
- the computing system 702 includes a personal computer 704 , a second computer 706 , a first Web site 708 and a printer 710 .
- the printer 710 also functions as a Web site.
- All the devices depicted in FIG. 1 are able to communicate over a communication link 712 .
- the communication link 712 may represent a network, a series of networks, a wireless network(s), the Internet, or any combination thereof.
- the personal computer 704 may be any type of computing device that allows a user to interactively browse Web Sites and to perform the functions that are described below.
- the personal computer 704 may be a personal computer that runs a local operating system, such as a version of MICROSOFT WINDOWS, NT, UNIX or Linux, etc.
- the personal computer 704 includes a user interface 714 .
- the user interface 714 includes a display monitor 716 and a user input device(s) 718 for allowing the user to provide input to the computer 704 .
- the input devices 718 include a keyboard and a mouse.
- personal computer 704 is used by multiple users, each having their own user profile.
- a first user 720 Two of these users, a first user 720 , and a second user 724 are depicted. It is assumed that each one of these users has his/her own user profile information and identifier (i.e., user name) stored in the personal computer 704 .
- a user presently logged in to the personal computer 704 at any point in time is referred to herein as the “active user”.
- the active user a user presently logged in to the personal computer 704 at any point in time.
- FIG. 1 It is important to note that the devices depicted in FIG. 1 are all in accordance with a system wide standard. Accordingly, this standard specifies a set of generic access requests that are intended to cause an executing computer to access a set of target data describing a target image. In this case, however, each user can have his/her own target image. The target data accessed in response to these requests at any point in time is the target data that is associated with the active user.
- FIGS. 2 - 5 are used to illustrate this concept further.
- FIG. 2 is a flow diagram for showing, very generally, how the personal computer 704 can be operated to identify and store a set of target data.
- a user e.g., the first user 720 or the second user 724
- the personal computer 704 responds in a conventional manner by retrieving the user's preferences and desktop configuration. In this manner, the user becomes the “active user”.
- the active user provides input that he/she 30 wishes a particular image to be a “target image”.
- the computer 704 receives this input at step 804 .
- the computer 704 responds by identifying the data describing the image as “target data” (step 806 ).
- the computer 704 operates to link the target data to the identifier assigned to the active user 720 (step 806 ). In this manner, the target data becomes associated with the active user.
- FIG. 3 is an abstract drawing of the personal computer 704 under the following scenario.
- the first user 720 has previously interacted with the personal computer to identify a first target image (target image # 1 ).
- target image # 1 the data representing this image has been identified, by the personal computer 704 , as target data (target data # 1 ).
- target data # 1 is linked to the identifier assigned to the first user 720 .
- the second user 724 has also previously interacted with the personal computer 704 and has identified a second target image (target image # 2 ).
- the data describing this image is also identified as target data (target data # 2 ).
- This second set of data is linked to the identifier assigned to the second user 724 .
- FIG. 4 illustrates very generally the operation of the personal computer 704 in response to a generic access instruction, assuming the scenario depicted in FIG. 3.
- a user is assumed to log in to the personal computer 704 (step 1002 ).
- the computer 704 is assumed to execute a generic access instruction (step 1004 ).
- the personal computer 704 accesses the target data that is linked to the active user's identifier (step 1006 ).
- the personal computer 704 would respond to the generic access instruction by accessing the target data # 1 . Conversely, if the second user 724 had logged into the personal computer 704 at step 1002 , the personal computer 704 would respond to the same generic access instruction in a different manner. That is, the personal computer 704 would access the target data # 2 .
- FIG. 5 is a high level block diagram of the first Web site 708 .
- the first Web Site 708 includes a processor 1102 , a memory 1104 , and an input/output (I/O) port 1106 . All these components are connected by one or more local interfaces 1108 .
- the I/O port 1106 links the Web site 708 to the communication link 712 .
- the processor 1102 is used to execute the first Web Server 1110 that is shown stored in the memory 1104 .
- a first Web page 1112 and “document creation Web content” 1114 are also stored in the memory 1104 . Both the first Web page 1112 and the document creation Web content 1114 are assigned a URL.
- the document creation Web content 1114 is used to provide a “document creation service” to external devices.
- this content includes generic access instructions that are in accordance with the system wide standard. When executed, these instructions result in generic access requests being generated in order to access a set of target data.
- generic access instructions are instructions that do not include the location of the target data itself. The “generic access requests” generated from these instructions also do not include the location of the target data.
- FIG. 6 is a high level block diagram of the printer 710 .
- the printer 710 includes a processor 1202 , a memory 1204 , an I/O port 1206 , and a print engine 1208 . All these components are connected by one or more local interfaces 1210 .
- the I/O port 1206 links the printer 710 to the communication link 712 .
- the print engine 1208 includes the necessary hardware and firmware to print a document.
- the processor 1202 is used to execute the print Web Server 1212 and the printer control program 1222 that is shown stored in the memory 1204 . Also stored in the memory 1204 is a Web page 1216 and “Document Print Web content” 1220 . Both the Web page 1216 and the Document print Web content 1220 are assigned a URL.
- the document print content is used to provide a document printing service to external devices.
- this content includes generic access instructions that are also in accordance with the system wide standard. When executed, these instructions results in generic access requests being generated.
- FIG. 7 is a high level block diagram of the second Computer 706 .
- the second computer 706 includes a processor 1302 , a memory 1304 , and an input/output (I/O) port 1306 . All these components are connected by one or more local interfaces 1308 .
- the I/O port 1306 links the second computer 1306 to the communication link 712 .
- the processor 1302 is used to execute the Server 1310 shown stored in the memory 1304 .
- the memory 1304 includes a reserved storage area 1312 for storing target data that is associated with users of the personal computer 704 .
- FIG. 8 is a high level diagram of personal computer 704 .
- the personal computer 704 includes a processor 1402 , a memory 1404 and an input/output (I/O) port 1408 . All these components are connected by one or more local interfaces 1410 .
- the I/O port 1408 links the second computer 706 to the communication link 712 .
- the memory 1404 includes a reserved storage area 1416 and a Web Browser 1412 .
- the Web Browser 1412 includes an extension component (extension) 1414 .
- the processor 1402 is used to execute the Web Browser 1412 .
- the extension 1414 is configured to respond to generic access requests (generated by downloaded Web Content) by accessing the set of target data that is linked to the current active user.
- generic access requests generated by downloaded Web Content
- the extension 1414 may be an application programming interface (API) and the generic access requests can be API function calls. It is important to note, however, that the there are other ways to implement the functionality provided by the extension 1414 . The present invention is not limited to any one way.
- the memory shown may include both volatile and nonvolatile components. Volatile components are those that do not retain data upon loss of power. Non-volatile components are those that retain data upon a loss of power.
- each of the memories shown in FIGS. 1 - 8 may comprise, for example, random access memory (RAM), read-only memory (ROM), hard disk drives, floppy disks accessed via an associated floppy disk drive, compact disk(s) accessed via a compact disk drive, magnet tape(s) accessed via an appropriate tape drive, and/or other memory components (currently known in the art, or yet to be developed), or a combination of any two or more memory components.
- RAM random access memory
- ROM read-only memory
- hard disk drives floppy disks accessed via an associated floppy disk drive
- compact disk(s) accessed via a compact disk drive compact disk(s) accessed via a compact disk drive
- magnet tape(s) accessed via an appropriate tape drive
- the processor shown may include one or more than one microprocessors.
- the local interface in each device may include, for example, one or more data buses and accompanying control buses.
- FIG. 9 illustrates how the various software components can communicate over the communication link 712 .
- the personal computer 704 must communicate to the other devices shown through a conventional firewall 1504 .
- the firewall 1504 is used to filter out unwanted communication packets in a conventional manner.
- requests may be made by the personal computer 704 to external devices located on the other side of the firewall 1504 and responses to these requests from the external devices are typically allowed. Communications, however, initiated by these external devices to the personal computer 704 are not permitted.
- the firewall 1504 includes a conventional proxy server (hereafter “firewall proxy”) that allows the personal computer 704 to pass HTTP requests to the Web server 1110 , the Server 1310 and the Web server 1212 .
- firewall proxy a conventional proxy server
- the personal computer 704 is able to make use of the services provided by the first Web site 708 and the printer 710 .
- the personal computer 704 is able to store target data in the memory 1304 located in the second computer 706 . It is important to note that in other embodiments of the invention other communication protocols (either now existing or yet to be developed) can be used.
- the Web browser 1412 can request the first Web page 1112 as well as the Document creation Web content 1114 by transmitting appropriate HTTP requests (via the proxy) to the Web server 1110 .
- the Web browser 1412 can request the printer Web page 1216 as well as the document print Web content 1220 received from the Web server 1212 .
- the Web browser 1412 can also communicate one or more sets of data (via the proxy) to the server 1310 and can retrieve this data.
- FIG. 10- 12 are used to illustrate how a user of the personal computer 704 can make use of the document creation service provided by the first Web site 708 .
- a user logs into the personal computer 704 and begins a user session (step 1601 ). In this manner, the user becomes an active user.
- the user inputs an appropriate URL for the First Web page 1112 .
- the Web Browser 1412 receives this input at step 1602 and in response transmits (via the firewall proxy) an appropriate request for the page to the Web server 1110 (step 1603 ).
- the Web server 1110 receives the request and responds by transmitting the first Web page 1112 to the Web Browser 1412 (via the firewall proxy).
- the Web Browser 1412 receives this response from the Web server 1110 at step 1604 and displays the received first Web page 1112 at step 1606 .
- FIG. 11 illustrates the first Web page 1112 as displayed by the browser 1412 .
- the first Web Page 1112 includes a text portion 1704 and a “get document service” hyperlink 1706 .
- the text portion 1704 may include information regarding the document creation service provided by the first Web Site 708 .
- the hyperlink 1706 is formatted such that, when selected by a user, the Web Browser 1412 transmits an appropriate request to the Web server 1110 for the Document Creation Web content 1114 .
- the first Web Page 1112 may also display a cost to use the service as well as provide a means for the user to enter payment information (e.g., credit card information) to pay for the service.
- payment information e.g., credit card information
- the browser 1412 receives this input at step 1608 .
- the browser 1412 transmits an appropriate request to the Web Sever 1110 (via the firewall proxy) for the Document creation Web content 1114 (step 1610 ).
- the browser 1412 receives and begins executing the Web content 1114 at step 1612 .
- FIG. 12 illustrates the operation of the Document creation Web content 1114 while being executed at step 1612 .
- the content 1114 causes the display device 716 to display a user interface (step 1802 ).
- the user interface accepts input from a user (via the input devices 714 ) so as to allow the user to define an image.
- the Web content 1114 receives these inputs at step 1804 and creates a set of data describing the image (step 1806 ).
- the data is created in a file format that is device independent. That is to say, the data represents the image in a manner that is independent of the Web content, the local operating system and hardware used to generate it.
- PDF Portable Document Format
- the Web content 1114 provides a means for the user to indicate whether he/she wishes the image defined at step 1804 to be saved as a “target image”(step 1808 ).
- the user interface displayed at step 1802 may include one or more selectable options or a pull down menu for providing a user a means to indicate this desire.
- the Web content 1114 is assumed to receive this indication at step 1810 .
- the Web content 1114 In response to this input, the Web content 1114 generates generic access requests in order to cause the data generated at step 1806 to be stored (step 1822 ).
- the Extension 1414 is responsible for responding to these requests.
- FIG. 13 is a flow diagram for illustrating the operation of the extension 1414 to respond to the generic access requests generated at step 1822 .
- the extension 1414 receives the generic access requests at step 1902 .
- the extension 1414 causes the target data created at step 1806 to be stored in the reserved storage area 1312 of the second computer 706 (step 1904 ). This is accomplished by the extension 1414 communicating the target data over the communication link 712 to the server 1310 . It is noted that because the HTTP protocol is used, the extension 1414 is able to communicate the target data through the firewall 1504 .
- the server 1310 responds by storing the target data in the reserved storage area 1312 . It will be assumed that the first target data 1502 represents this target data.
- the extension 1414 In addition to communicating the target data 1502 to the server 1310 , the extension 1414 (preferably) also stores the location of the first target data 1502 so that the data can later be accessed (step 1906 ) and links this location to the active user's identifier (step 1908 ).
- FIGS. 14 - 22 are used to illustrate how a user of the personal computer 704 can make use of the printing service provided by the printer 710 . In this section, it will be assumed that the conditions depicted in FIG. 14 exist.
- the first user 720 has made use of the document creation service to identify a target image (target image # 3 ).
- the data (target data # 3 ) that describes this image is stored in the internal memory of the second computer 706 .
- the second user 724 has also made use of the document creation service to define a target image (target image # 4 ).
- the data (target data # 4 ) that describes this second image that is also stored in the internal memory of the second computer 706 .
- one of the two users logs into the personal computer 704 (step 2002 ) and executes the Web browser 1412 .
- the user is then assumed to provide the URL of the printer Web page 1216 .
- the Web browser 18 receives this input at step 2004 .
- the Browser 1412 transmits an appropriate request to the Web Server 1212 for the Printer Web page 1216 .
- the Web server 1212 receives this input and responds by transmitting the printer Web page 1216 to the Web Browser 1412 .
- the Web Browser 1412 receives and displays the printer Web page 1216 at step 2008 .
- FIG. 16 illustrates the printer Web page 1216 as displayed by a browser.
- the printer Web page 1216 includes a text portion 2104 and a “get document print service” hyperlink 2106 .
- the text portion 2104 may include information regarding the document printing service provided by the printer 710 .
- the hyperlink 2106 is formatted such that, when selected by a user, the Web Browser 1412 transmits an appropriate request to the Web server 1212 for the Document print Web content 1220 .
- the printer Web page 1216 may also display a cost to use the printing service and may provide the user with a means to enter payment information to make use of the service.
- the Web Browser 1412 receives this input at step 2010 and in response transmits a request for the Web content 1220 to the Web server 1212 .
- the Web server 1212 receives this input and responds by transmitting the Document Print Web content 1220 to the Web browser 1412 .
- the Web Browser 1412 receives the print Web content 1220 and begins executing it at step 2014 .
- FIGS. 17 and 18 illustrate the operation of the print Web content 1220 (while being executed at step 2014 ).
- print Web content 1220 causes generic access requests to be generated in order to retrieve a target image (step 2202 ).
- FIG. 19 illustrates the operation of the extension 1414 to respond to the generic access requests generated at step 2202 .
- the extension 1414 receives these generic access requests at step 2302 .
- the extension 1414 retrieves the set of target data that is linked to the active user (step 2304 ).
- generic access requests may define a format for the retrieved data.
- This desired format is then communicated to the server and the server provides the target data in the desired format.
- the desired format may be different than the originally stored format.
- the set of target data may be stored as a PDF format and returned, for example, in a JPEG format. This may be advantageous in situations wherein a second form of the target data is better suited for printing, displaying, etc).
- the extension 1414 responds by retrieving target data # 3 (stored in the second computer 706 ). This is accomplished by transmitting appropriate HTTP requests for this data to the server 1310 . The server 1310 responds by transmitting this data to the extension 1414 . Conversely, if the second user 724 is presently logged into the personal computer 704 , the extension 1414 responds by retrieving the set of target data # 3 .
- the extension 1414 then operates to provide the retrieved target data to the Document Print Web Content 1220 in an appropriate manner (step 2306 ).
- the Web content 1220 receives the retrieved target data (from the extension 1414 ) at step 2204 .
- the Web content 1220 causes the personal computer 704 to display a print dialog box with a print preview image (step 2206 ).
- FIG. 20 illustrates an exemplary print dialog box 2402 that may be displayed by the personal computer 704 at step 2206 .
- the dialog box 2402 displays a print preview image 2404 that allows the user to define particular print settings.
- the print dialog box 2402 allows the user to enter the number of copies, select a duplex option and/or a collate option.
- these options are based upon the capabilities of the printer 710 .
- the print preview image that is displayed is based, in part, upon the retrieved target image (i.e., the target image # 3 or the target image # 4 ) as well as the options selected.
- the Web content 1220 is assumed to receive the user input indicating that certain settings have been selected at step 2208 and updates the dialog box 2206 accordingly.
- FIG. 21 illustrates how the print dialog box 2402 would be updated assuming that the user has selected the duplex option and has entered “4” as the number of copies he/she wishes printed. It is noted that the print pre-view image reflects the duplex option by an icon 2502 .
- Web content 1220 receives input indicating the user has selected the print button 2410 .
- the Web content 1220 responds to this input by generating a print job and by transmitting the print job to the Web server 1212 (steps 2214 and 2216 ).
- the print job includes the target data and also includes commands that cause the printer 710 to print the image according to the inputted settings.
- the Web server 1212 receives the print job and provides the print job to the printer control program 1222 .
- the printer control program 1222 commands the print engine 1208 to print the target image according to the settings described by the print job.
- the Web content 1220 displays a “print status page” that shows the status of the print job in a dynamic fashion (step 2218 ). This is accomplished by the Web content 1220 obtaining certain status information from the printer 710 regarding the printing of the print job (step 2220 ).
- step 2220 may be accomplished by using a number of techniques.
- PML Peripheral Management Language
- polling may be used.
- the techniques taught in the pending application entitled “Method and Apparatus for Providing Print Job Status, may be used. That application is assigned the attorney Docket number 10001724 and was filed Nov. 1, 2000. That application is incorporated herein entirely by reference.
- the Web content 1220 updates the status page so as to reflect the updated information (step 2224 ). This process continues until the print job is completed (step 2226 ).
- FIG. 22 provides an example of a status page 2602 that may be displayed at step 2218 .
- the status page 2602 includes a first field 2604 , a second field 2606 and a third field 2608 .
- the first field 2604 displays the number of copies that has been printed.
- the second field 2604 displays the number of pages printed for the copy that is presently being printed.
- the third field 2608 describes certain problems with the current print job encountered during printing. For example, if the printer 710 reports that a paper jam has occurred, this information can be displayed in this third field.
- the status page 2602 includes a pause button 2610 and a continue button 2612 . If the pause button 2610 is selected, the Web content 1220 sends an appropriate message to the Web server 1212 indicating that the printing of the present job should be paused.
- the Web server 1212 receives this message and communicates it to the printer control program 1222 .
- the control program 1222 responds by pausing the printing of the present print job.
- the Web server 710 receives this message and communicates it to the printer control program 1222 .
- the control program 1222 responds by causing the printing of the present print job to resume.
- FIG. 23 there is illustrated a more detailed example of an Internet imaging home page or print dialog box 2402 that is displayed by a personal computer 704 (FIG. 7) and is responsible for helping the user locate various other Web-based imaging devices and services, such as printer 710 (FIG. 7) and services and options section 2702 .
- home page 2402 displays a print preview image 2404 that allows the user to preview the print image.
- document information section 2704 is illustrated.
- Section 2704 includes, but is not limited to, document selector menu ( 2706 ), document name ( 2708 ), document length ( 2710 ), and a document page shuttle controls ( 2713 ).
- Shuttle controls 2713 allow the user to shuttle back and forth through the document by activating the page number control 2714 .
- the particular page number as shown in section 2704 is illustrated by display 2712 .
- Document length 2710 is used to determine if the target printer has enough consumables readily available to it to complete the print job.
- the document assembly service 2702 allows documents stored in the user's personal imaging repository (accessed through the “documents” drop down menu on FIG. 23) to be combined in order to create a new composite document.
- the document assembly service 2702 preferably, is running locally (perhaps even on the user's own computer).
- the user may be able to select the choices of finding the local printers, finding print services, adding a printer manually to the list 2701 of favorites, and clearing the favorites list 2701 . These would be very helpful services if, for example, the user does not have access to a printer which is capable of printing the document due to the length of the document and the amount of consumables the document requires to be printed.
- dialog box 2402 is for illustrative purposes only. Those skilled in the art would recognize that many other services and options could be shown in dialog box 2402 and, therefore, would be able to be utilized by the user.
- the user can select a printer 710 to print the document. This is done by selecting a printer (left clicking a mouse conventionally connected to computer 704 (FIG. 1 )). Selecting a printer (by clicking on the hyperlink link to the printer's web page) directs the web browser to download the target printer web page 2718 , as shown in FIG. 24, from the server 1212 representing the printer.
- the target printer web page 2718 is constructed by the server 1212 (FIG. 9) to represent the features and capabilities of printer 710 .
- Target printer web page 2718 comprises information about the capabilities of printer 710 , such as the maximum number of pages per minute printer 710 is capable of printing.
- target printer web page 2718 The user can interact with target printer web page 2718 to select available print options, such as the number of copies desired. The configuration of these options is available to target printer web page 2718 . Additionally, target printer web page 2718 can access information related to the document using the browser extension, such as the number of pages. The target printer web page 2718 determines whether or not the target printer has adequate resources to print the target document using its intrinsic knowledge of the capabilities of printer 710 , the currently selected print options, and information about the document. For example, if printer 710 had an output bin with a capacity of two hundred pages, the document consisted of fifty pages, and the user requested five copies, target printer web page 2718 might determine that the printer is unable to complete printing the document to printer 710 with the requested print options. Any variety of information about the document, user print configurations, and printer configuration may be used in determining if printer 710 is capable of printing the document.
- Printer configuration information statically contained within target printer web page 2718 might non-exhaustively include the maximum capacity of paper trays, the maximum capacity of output bins, and the maximum number of staples available.
- Printer configuration information can also be dynamically obtained from printer 710 by target printer web page 2718 , such as the actual amount of paper available in various paper trays, the actual amount of paper stored in various output bins, the amount of various toner, the amount of various ink, and the wear remaining on serviceable parts within the printer. Sensors in the printer provide the dynamic configuration information.
- User print configuration might non-exhaustively include settings related to copies, duplexing, stapling, collation, paper tray selection, bin selection and other print configuration settings that impact the utilization of resources used in processing the job.
- Information about the document might non-exhaustively include number of pages, presence of color, kind of color present, page coverage, amount of raster coverage, dimensions of pages, thumbnail bitmaps of pages, and other renditions of the imaging data comprising the document.
- display/warning/alarm devices can be used in place of display 2732 .
- a green/yellow/red light system may be employed in which the various lights signify the ability of printer 710 to complete the print job.
- a sound/alarm device could be utilized which, again, would provide an indication if, for example, printer 710 could not complete the print job.
- Display 2732 is used to provide feedback to the user from printer 710 as to whether or not printer 710 can complete the print job as desired. For example, display 2732 can show the user that the print job cannot be completed by displaying an error message stating that printer does not have enough paper to complete the print job. In another example, display 2732 may remain blank if printer 710 is capable of completing the print job.
- target printer web page 2718 Although the calculation of whether or not the document can print has been described as being preferably performed by target printer web page 2718 , alternatively information available to the target printer web page 2718 used in making this calculation can be transferred to another location which performs the calculation and returns the results of the calculation to target web page 2718 .
- the location performing the calculation might possess additional data and logic enabling a more accurate calculation.
- the information available to the target printer web page 2718 might be transferred to printer 710 , which simulated the printing process using actual firmware to determine the resource requirements required to print the document.
- browser 1412 interacts with the server of the other printer, printing device or printing service in the same manner, as discussed above.
- the server connected to that printer, printing device or printing service will relate information to the user regarding the capabilities of that other printer, printing device or printing service by way of the target printer's web page.
- FIG. 24 shows an example of a home page 2718 for a target printer.
- the target printer is printer 710 .
- home page 2718 includes, in part, print preview image 2404 , document information section 2704 , and display 2732 .
- Section 2704 includes, but is not limited to, document name ( 2708 ), document length ( 2710 ), and a document page shuttle controls ( 2713 ).
- Shuttle controls 2713 allow the user to shuttle back and forth through the document by activating controls 2714 .
- An illustration 2720 of the type of printer to be used is provided.
- printer 710 is illustrated.
- a section 2722 is provided that includes, but is not limited to, the number of copies to be made ( 2724 ), the paper source ( 2726 ), duplexing capabilities ( 2728 ), color printing ( 2730 ), and a print button ( 2710 ).
- Section 2722 allows the user to select the number of copies to be printed at 2724 by conventionally typing in and/or using the mouse of computer 704 (FIG. 7) (for example) to select the desired number of copies.
- the paper source 2726 can be selecting by using the mouse (for example) to select the desired paper source.
- the user can opt for having the document duplexed by using the mouse (for example) at 2728 .
- the user can choose to have the document to be printed in color by clicking the mouse (for example) on the box at 2730 .
- document length ( 2710 ), color copies, two-sided printing, and the number of copies to be made ( 2724 ) may be used to determine if printer 710 can complete the print job based upon the amount of consumables available to printer 710 .
- Display 2732 is used to provide feedback to the user from printer 710 as to whether or not printer 710 can complete the print job as desired. For example, display 2732 can show the user that the print job cannot be completed by displaying an error message stating that printer does not have enough paper to complete the print job. In another example, display 2732 may remain blank if printer 710 is capable of completing the print job.
- Display 2732 could also be used to show characteristics of the document to be printed. These document characteristics being, but not limited to, document name, document length, document image, monochrome or color document or the like. At least one of these characteristics should be displayed on target printer home page 2718 so that the user can identify the document to be printed.
- display/warning/alarm devices can be used in place of display 2732 .
- a green/yellow/red light system may be employed in which the various lights signify the ability of printer 710 to complete the print job.
- a sound/alarm device could be utilized which, again, would provide an indication if, for example, printer 710 could not complete the print job.
- FIG. 25 shows the operation of the print job assurance method 2750 of the present invention.
- Method 2750 includes, in part, the steps of selecting a document to be printed, as shown in step 2752 .
- the document can be selected from a variety of sources, as previously discussed.
- the user can select the printer to print the document, as shown in step 2756 .
- the user can view the document to be printed on the target printer home page, as shown in step 2758 .
- the user can select the document settings of the document that will be printed, as shown in step 2760 .
- the document settings can be, but are not limited to, color versus monochrome, number of pages, number of copies, stapling, duplexing or the like.
- the target printer home page will provide a preview of the document to be printed and, if necessary, information regarding the ability of the target printer to complete the print job, as shown in step 2762 .
- the user merely clicks the mouse (for example) on the print button 2410 and the document is printed, as shown in step 2764 .
- the basic idea of the present invention is for the Web content to access information about the selected document in the user's personal imaging repository and use this information (along with information about the target printer and information about selected settings) to determine if printer 710 can complete the print job, as desired.
- the personal imaging repository makes this particularly easy since it can provide information like the number of pages, whether any of the pages contain color, and thumbnail images 2404 of each page.
- the thumbnail images 2404 are normally used to provide a preview to the user, but these same thumbnails 2404 can be used to perform rudimentary page analysis.
- the Web content might check for images on each of the pages. Since images can require substantially more consumables to print, the estimate of the ability to complete the print job can reflect this and, thus provide a more accurate estimate.
- Web-based imaging makes this possible because Web-based imaging brings together the document and Web content representing a device or service.
- the Web content can use the Web-based imaging “extension” to selectively access information about the document. Normally, the document would have to be uploaded to the remote Web service (rather than the local Web content running in the browser) to do this sort of analysis.
Abstract
Description
- This invention relates to a Web-based imaging system that provides print job assurance. Such systems of this type, generally, warn the user, prior to printing, whether or not the print job will be able to be printed, as expected.
- It is known, in the printing arts, to employ consumable level detection technologies. Exemplary of such prior is U.S. Pat. No. 5,230,573 ('573) to T. Yasuoka et al., entitled “Printer with Upstream Sensor Used to Determine Paper Empty Condition,” U.S. Pat. No. 5,697,014 ('014) to K. Makino, entitled “Toner Level Detecting Device Having a Substantially Non-Uniform Width and Toner Storage Box Having Same,” commonly assigned U.S. Pat. No. 5,794,094 ('094) to D. Boockholdt et al., entitled “Accurate Toner Level Feedback Via Active Artificial Intelligence,” U.S. Pat. No. 6,052,545 ('545) to Y. Komiya et al., entitled “Image Forming Apparatus,” and U.S. Pat. No. 6,078,761 ('761) to C. A. de Waal, entitled “Development Unit for a Reproduction Apparatus.” While these references employ consumable level detection technologies, they are not utilized in Web-based Imaging and they do not provide information regarding print job assurance.
- It is apparent from the above that there exists a need in the art for a Web-based Imaging system that provides feedback to the user regarding print job assurance so that the user can determine whether or not to use that particular printer or printing device can complete the print job. It is a purpose of this invention to fulfill this and other needs in the art in a manner more apparent to the skilled artisan once given the following disclosure.
- Generally speaking, this invention fulfills these needs by providing a method for print job assurance, comprising the steps of: selecting a document to be printed; selecting a target printer; viewing a characteristic of the document on target printer home page; determining if the target printer can print the document; and printing the document.
- In certain preferred embodiments, the document or portions of the document can be prepared by the user just prior to printing or the user can download the document or portions of the document from the Internet. Also, the determination step includes the steps of having the target printer send information to the target printer home page regarding the amount of consumables that are readily available to be used by the printer. Consumables being, but not limited to, paper, toner, ink or the like.
- In another further preferred embodiment, the print job assurance system allows the user to see if the print job will be completed given the amount of consumables available to the printer.
- The preferred print job assurance system, according to the present invention, offers the following advantages: ease of use; excellent print job assurance characteristics; and excellent economy. In fact, in many of the preferred embodiments, these factors of print job assurance characteristics and economy are optimized to an extent that is considerably higher than heretofore achieved in prior, known print job assurance systems.
- The above and other features of the present invention, which will become more apparent as the description proceeds, are best understood by considering the following detailed description in conjunction with the accompanying drawings, wherein like characters represent like parts throughout the several views and in which:
- FIG. 1 illustrates an architectural diagram of a client-server system that operates in accordance with one embodiment of the present invention;
- FIG. 2 is a flow diagram illustrating how a personal computer can be operated to identify and store a set of target data;
- FIG. 3 is an abstract drawing of the personal computer under certain conditions;
- FIG. 4 illustrates very generally the operation of the personal computer in response to a generic access instruction, assuming the conditions depicted in FIG. 3;
- FIG. 5 is a high level block diagram of a first Web site in the client-server system;
- FIG. 6 is a high level block diagram of a printer in the client-server system;
- FIG. 7 is a high level block diagram of a second computer in the client-server system;
- FIG. 8 is a high level diagram of a personal computer in the client-server system;
- FIG. 9 illustrates how the various software components in the client-server system can communicate;
- FIG. 10 is a flow diagram illustrating how the personal computer can download first Web content that allows a user to create a document;
- FIG. 11 illustrates a first Web Page that includes a hyperlink to the first Web content;
- FIG. 12 is a flow diagram illustrating the execution of the first Web content;
- FIG. 13 is a flow diagram illustrating the operation of an extension component in the personal computer;
- FIG. 14 is used to illustrate, in abstract form, a set of conditions;
- FIG. 15 is a flow diagram illustrating how the personal computer can download second Web content that allows a user to print a document;
- FIG. 16 illustrates a second Web Page that includes a hyperlink that to the second Web content;
- FIG. 17 illustrates the execution of the second Web content;
- FIG. 18 illustrates an operation of a Web content from a target Web service;
- FIG. 19 illustrates further the operation of the extension component in the personal computer;
- FIG. 20 illustrates an exemplary print dialog box;
- FIG. 21 illustrates the print dialog box after being updated;
- FIG. 22 provides an example of a status page;
- FIG. 23 illustrates a more detailed view of the Web imaging home page;
- FIG. 24 illustrates a home page for the target printer; and
- FIG. 25 is a flow chart that illustrates how the print job assurance system operates.
- As set forth in commonly assigned U.S. patent application 09/712,336 to S. Simpson et al., entitled “System and Method for Processing Data in a Distributed Environment”, which was filed on Nov. 13, 2000 and is incorporated entirely by reference, to facilitate a complete understanding of the invention the following terms and acronyms are used throughout the detailed description:
- Client-Server. A model of interaction in a distributed system in which a program at one site sends a request to a program at another site and waits for a response. The requesting program is called the “client,” and the program that responds to the request is called the “server.” In the context of the World Wide Web (discussed below), the client is a “Web browser”(or simply “browser”) which runs on a computer of a user; the program which responds to browser requests by serving Web pages, or other types of Web content, is commonly referred to as a “Web server.”
- Content. A set of executable instructions that is served by a server to a client and which is intended to be executed by the client so as to provide the client with certain functionality. Web content refers to content that is meant to be executed by operation of a Web browser. Web content, therefore, may include (the following is a non-exhaustive list) one or more of the following: HTML code, Java scripttm, Java Program(s) and C-“Sharp” code Hyperlink. A navigational link is from one document to another, from one portion (or component) of a document to another, or to a Web resource, such as a Java applet. Typically, a hyperlink is displayed as a highlighted word or phrase that can be selected by clicking on it using a mouse to jump to the associated document or document portion or to retrieve a particular resource.
- Hypertext System. A computer-based informational system in which documents (and possibly other types of data entities) are linked together via hyperlinks to form a user-navigable “web.”
- Internet. A collection of interconnected (public and/or private) networks that are linked together by a set of standard protocols (such as TCP/IP and HTTP) to form a global, distributed network. (While this term is intended to refer to what is now commonly known as the Internet, it is also intended to encompass variations that may be made in the future, including changes and additions to existing standard protocols).
- World Wide Web (“Web”). Used herein to refer generally to both (i) a distributed collection of interlinked, user-viewable Hypertext documents (commonly referred to as Web documents or Web pages) that are accessible via the Internet, and (ii) the client and server software components which provide user access to such documents using standardized Internet protocols. Currently, the primary standard protocol for allowing applications to locate and acquire Web documents is HTTP, and the Web pages are encoded using HTML. However, the terms “Web” and “World Wide Web” are intended to encompass future markup languages and transport protocols that may be used in place of (or in addition to) HTML and HTTP.
- Web Site. A computer system that serves informational content over a network using the standard protocols of the World Wide Web. Typically, a Web site corresponds to a particular Internet domain name, such as “HP.com,” and includes the content associated with a particular organization. As used herein, the term is generally intended to encompass both (i) the hardware/software server components that serve the informational content over the network, and (ii) the “back end” hardware/software components, including any non-standard or specialized components, that interact with the server components to perform services for Web site users. Importantly, a Web Site can have additional functionality, For example, a Web site may have the ability to print documents, scan documents, etc.
- HTML (HyperText Markup Language). A standard coding convention and set of codes for attaching presentation and linking attributes to informational content within documents. (HTML 2.0 is currently the primary standard used for generating Web documents.) During a document authoring stage, the HTML codes (referred to as “tags”) are embedded within the informational content of the document. When the Web document (or HTML document) is subsequently transferred from a Web server to a browser, the codes are interpreted by the browser and used to display the document. Additionally in specifying how the Web browser is to display the document, HTML tags can be used to create links to other Web documents (commonly referred to as “hyperlinks”). For more information on HTML, see Ian S. Graham, The HTML Source Book, John Wiley and Sons, Inc., 1995 (ISBN 0471-11894-4).
- HTTP (HyperText Transport Protocol). The standard World Wide Web client-server protocol used for the exchange of information (such as HTML documents, and client requests for such documents) between a browser and a Web server. HTTP includes a number of different types of messages that can be sent from the client to the server to request different types of server actions. For example, a “GET” message, which has the format GET<URL>, causes the server to return the document or file located at the specified URL.
- URL (Uniform Resource Locator. A unique address which fully specifies the location of a file or other resource on the Internet or a network. The general format of a URL is protocol:
- machine address:port/path/filename.
- FIG. 1 illustrates the general architecture of a
computing system 702 that is in accordance with the invention. Thecomputing system 702 includes apersonal computer 704, asecond computer 706, afirst Web site 708 and aprinter 710. Theprinter 710 also functions as a Web site. - All the devices depicted in FIG. 1 are able to communicate over a
communication link 712. Furthermore, thecommunication link 712 may represent a network, a series of networks, a wireless network(s), the Internet, or any combination thereof. - The
personal computer 704 may be any type of computing device that allows a user to interactively browse Web Sites and to perform the functions that are described below. For example, thepersonal computer 704 may be a personal computer that runs a local operating system, such as a version of MICROSOFT WINDOWS, NT, UNIX or Linux, etc. As shown, thepersonal computer 704 includes auser interface 714. Theuser interface 714 includes adisplay monitor 716 and a user input device(s) 718 for allowing the user to provide input to thecomputer 704. In this example, theinput devices 718 include a keyboard and a mouse. For purposes of the later discussion, it is noted thatpersonal computer 704 is used by multiple users, each having their own user profile. Two of these users, afirst user 720, and asecond user 724 are depicted. It is assumed that each one of these users has his/her own user profile information and identifier (i.e., user name) stored in thepersonal computer 704. - For purposes of the later discussion, a user presently logged in to the
personal computer 704 at any point in time is referred to herein as the “active user”. Thus, if thefirst user 720 is presently logged into thepersonal computer 704, that user is presently the “active user”. - It is important to note that the devices depicted in FIG. 1 are all in accordance with a system wide standard. Accordingly, this standard specifies a set of generic access requests that are intended to cause an executing computer to access a set of target data describing a target image. In this case, however, each user can have his/her own target image. The target data accessed in response to these requests at any point in time is the target data that is associated with the active user. FIGS.2-5 are used to illustrate this concept further.
- FIG. 2 is a flow diagram for showing, very generally, how the
personal computer 704 can be operated to identify and store a set of target data. - As indicated in FIG. 2, a user (e.g., the
first user 720 or the second user 724) is assumed to log into to the personal computer 704 (step 802). Thepersonal computer 704 responds in a conventional manner by retrieving the user's preferences and desktop configuration. In this manner, the user becomes the “active user”. - Next, it is assumed that the active user provides input that he/she30 wishes a particular image to be a “target image”. The
computer 704 receives this input atstep 804. In response, thecomputer 704 responds by identifying the data describing the image as “target data” (step 806). In addition, thecomputer 704 operates to link the target data to the identifier assigned to the active user 720 (step 806). In this manner, the target data becomes associated with the active user. - Now consider FIGS. 3 and 4. FIG. 3 is an abstract drawing of the
personal computer 704 under the following scenario. First, it is assumed that thefirst user 720 has previously interacted with the personal computer to identify a first target image (target image #1). As a result, the data representing this image has been identified, by thepersonal computer 704, as target data (target data #1). Additionally, thetarget data # 1 is linked to the identifier assigned to thefirst user 720. - It is further assumed that the
second user 724 has also previously interacted with thepersonal computer 704 and has identified a second target image (target image #2). As a result, the data describing this image is also identified as target data (target data #2). This second set of data, however, is linked to the identifier assigned to thesecond user 724. - FIG. 4 illustrates very generally the operation of the
personal computer 704 in response to a generic access instruction, assuming the scenario depicted in FIG. 3. As illustrated in FIG. 3, a user is assumed to log in to the personal computer 704 (step 1002). As a result, that user becomes the “active user”. Next, thecomputer 704 is assumed to execute a generic access instruction (step 1004). In response, thepersonal computer 704 accesses the target data that is linked to the active user's identifier (step 1006). - Thus, if the
first user 720 had logged into thepersonal computer 704 atstep 1002, thepersonal computer 704 would respond to the generic access instruction by accessing thetarget data # 1. Conversely, if thesecond user 724 had logged into thepersonal computer 704 atstep 1002, thepersonal computer 704 would respond to the same generic access instruction in a different manner. That is, thepersonal computer 704 would access thetarget data # 2. - Lets now consider some of the hardware and software components in each one of the devices depicted in FIG. 1.
- FIG. 5 is a high level block diagram of the
first Web site 708. As shown, thefirst Web Site 708 includes aprocessor 1102, amemory 1104, and an input/output (I/O)port 1106. All these components are connected by one or morelocal interfaces 1108. The I/O port 1106 links theWeb site 708 to thecommunication link 712. Theprocessor 1102 is used to execute thefirst Web Server 1110 that is shown stored in thememory 1104. - Also stored in the
memory 1104 is afirst Web page 1112 and “document creation Web content” 1114. Both thefirst Web page 1112 and the documentcreation Web content 1114 are assigned a URL. - As will be described in greater detail below, the document
creation Web content 1114 is used to provide a “document creation service” to external devices. Importantly for this discussion, this content includes generic access instructions that are in accordance with the system wide standard. When executed, these instructions result in generic access requests being generated in order to access a set of target data. As mentioned above, generic access instructions are instructions that do not include the location of the target data itself. The “generic access requests” generated from these instructions also do not include the location of the target data. - FIG. 6 is a high level block diagram of the
printer 710. As shown, theprinter 710 includes aprocessor 1202, amemory 1204, an I/O port 1206, and aprint engine 1208. All these components are connected by one or morelocal interfaces 1210. The I/O port 1206 links theprinter 710 to thecommunication link 712. Theprint engine 1208 includes the necessary hardware and firmware to print a document. - The
processor 1202 is used to execute theprint Web Server 1212 and theprinter control program 1222 that is shown stored in thememory 1204. Also stored in thememory 1204 is aWeb page 1216 and “Document Print Web content” 1220. Both theWeb page 1216 and the Documentprint Web content 1220 are assigned a URL. - As will be described in detail below, the document print content is used to provide a document printing service to external devices. Importantly for this discussion, this content includes generic access instructions that are also in accordance with the system wide standard. When executed, these instructions results in generic access requests being generated.
- FIG. 7 is a high level block diagram of the
second Computer 706. As shown, thesecond computer 706 includes aprocessor 1302, amemory 1304, and an input/output (I/O)port 1306. All these components are connected by one or morelocal interfaces 1308. The I/O port 1306 links thesecond computer 1306 to thecommunication link 712. - The
processor 1302 is used to execute theServer 1310 shown stored in thememory 1304. As will be discussed in greater detail below, thememory 1304 includes a reservedstorage area 1312 for storing target data that is associated with users of thepersonal computer 704. - FIG. 8 is a high level diagram of
personal computer 704. As shown, thepersonal computer 704 includes aprocessor 1402, amemory 1404 and an input/output (I/O)port 1408. All these components are connected by one or morelocal interfaces 1410. The I/O port 1408 links thesecond computer 706 to thecommunication link 712. - As shown, the
memory 1404 includes a reservedstorage area 1416 and aWeb Browser 1412. TheWeb Browser 1412 includes an extension component (extension) 1414. Theprocessor 1402 is used to execute theWeb Browser 1412. - Importantly, the
extension 1414 is configured to respond to generic access requests (generated by downloaded Web Content) by accessing the set of target data that is linked to the current active user. It will be clear to a person skilled in the art that theextension 1414 may be an application programming interface (API) and the generic access requests can be API function calls. It is important to note, however, that the there are other ways to implement the functionality provided by theextension 1414. The present invention is not limited to any one way. - It is also noted that in each of the computers just described, the memory shown may include both volatile and nonvolatile components. Volatile components are those that do not retain data upon loss of power. Non-volatile components are those that retain data upon a loss of power.
- Thus, each of the memories shown in FIGS.1-8 may comprise, for example, random access memory (RAM), read-only memory (ROM), hard disk drives, floppy disks accessed via an associated floppy disk drive, compact disk(s) accessed via a compact disk drive, magnet tape(s) accessed via an appropriate tape drive, and/or other memory components (currently known in the art, or yet to be developed), or a combination of any two or more memory components.
- In addition, it is also noted that in each of the devices just described, the processor shown may include one or more than one microprocessors. Furthermore, the local interface in each device may include, for example, one or more data buses and accompanying control buses.
- FIG. 9 illustrates how the various software components can communicate over the
communication link 712. To illustrate an aspect of the invention, it will be assumed that thepersonal computer 704 must communicate to the other devices shown through aconventional firewall 1504. Thefirewall 1504 is used to filter out unwanted communication packets in a conventional manner. Thus, requests may be made by thepersonal computer 704 to external devices located on the other side of thefirewall 1504 and responses to these requests from the external devices are typically allowed. Communications, however, initiated by these external devices to thepersonal computer 704 are not permitted. - The
firewall 1504, however, includes a conventional proxy server (hereafter “firewall proxy”) that allows thepersonal computer 704 to pass HTTP requests to theWeb server 1110, theServer 1310 and theWeb server 1212. As will be seen, by using the HTTP protocol to traverse thefirewall 1504 in this manner, thepersonal computer 704 is able to make use of the services provided by thefirst Web site 708 and theprinter 710. In addition, thepersonal computer 704 is able to store target data in thememory 1304 located in thesecond computer 706. It is important to note that in other embodiments of the invention other communication protocols (either now existing or yet to be developed) can be used. - In response to user input, the
Web browser 1412 can request thefirst Web page 1112 as well as the Documentcreation Web content 1114 by transmitting appropriate HTTP requests (via the proxy) to theWeb server 1110. Similarly, theWeb browser 1412, can request theprinter Web page 1216 as well as the documentprint Web content 1220 received from theWeb server 1212. TheWeb browser 1412 can also communicate one or more sets of data (via the proxy) to theserver 1310 and can retrieve this data. - FIG. 10-12 are used to illustrate how a user of the
personal computer 704 can make use of the document creation service provided by thefirst Web site 708. - Referring first to FIG. 10, a user logs into the
personal computer 704 and begins a user session (step 1601). In this manner, the user becomes an active user. - Next, the user inputs an appropriate URL for the
First Web page 1112. TheWeb Browser 1412 receives this input atstep 1602 and in response transmits (via the firewall proxy) an appropriate request for the page to the Web server 1110 (step 1603). - The
Web server 1110 receives the request and responds by transmitting thefirst Web page 1112 to the Web Browser 1412 (via the firewall proxy). - The
Web Browser 1412 receives this response from theWeb server 1110 atstep 1604 and displays the receivedfirst Web page 1112 atstep 1606. - FIG. 11 illustrates the
first Web page 1112 as displayed by thebrowser 1412. Referring briefly to FIG. 11, thefirst Web Page 1112 includes atext portion 1704 and a “get document service”hyperlink 1706. Thetext portion 1704 may include information regarding the document creation service provided by thefirst Web Site 708. Thehyperlink 1706 is formatted such that, when selected by a user, theWeb Browser 1412 transmits an appropriate request to theWeb server 1110 for the DocumentCreation Web content 1114. In other embodiments, thefirst Web Page 1112 may also display a cost to use the service as well as provide a means for the user to enter payment information (e.g., credit card information) to pay for the service. - Referring again to FIG. 10, it is assumed the user selects the get
document service hyperlink 1706 and thebrowser 1412 receives this input atstep 1608. In response to this input, thebrowser 1412 transmits an appropriate request to the Web Sever 1110 (via the firewall proxy) for the Document creation Web content 1114 (step 1610). Thebrowser 1412 receives and begins executing theWeb content 1114 atstep 1612. - FIG. 12 illustrates the operation of the Document
creation Web content 1114 while being executed atstep 1612. Referring now to FIG. 12, thecontent 1114 causes thedisplay device 716 to display a user interface (step 1802). The user interface accepts input from a user (via the input devices 714) so as to allow the user to define an image. - The
Web content 1114 receives these inputs atstep 1804 and creates a set of data describing the image (step 1806). In this example, the data is created in a file format that is device independent. That is to say, the data represents the image in a manner that is independent of the Web content, the local operating system and hardware used to generate it. One example of such a format is the format known as “PDF”(Portable Document Format). - Next, the
Web content 1114 provides a means for the user to indicate whether he/she wishes the image defined atstep 1804 to be saved as a “target image”(step 1808). For example, the user interface displayed atstep 1802 may include one or more selectable options or a pull down menu for providing a user a means to indicate this desire. - The
Web content 1114 is assumed to receive this indication atstep 1810. In response to this input, theWeb content 1114 generates generic access requests in order to cause the data generated atstep 1806 to be stored (step 1822). TheExtension 1414 is responsible for responding to these requests. - FIG. 13 is a flow diagram for illustrating the operation of the
extension 1414 to respond to the generic access requests generated atstep 1822. Referring now to FIG. 13, theextension 1414 receives the generic access requests atstep 1902. In response, theextension 1414 causes the target data created atstep 1806 to be stored in the reservedstorage area 1312 of the second computer 706 (step 1904). This is accomplished by theextension 1414 communicating the target data over thecommunication link 712 to theserver 1310. It is noted that because the HTTP protocol is used, theextension 1414 is able to communicate the target data through thefirewall 1504. - The
server 1310 responds by storing the target data in the reservedstorage area 1312. It will be assumed that thefirst target data 1502 represents this target data. - In addition to communicating the
target data 1502 to theserver 1310, the extension 1414 (preferably) also stores the location of thefirst target data 1502 so that the data can later be accessed (step 1906) and links this location to the active user's identifier (step 1908). - FIGS.14-22 are used to illustrate how a user of the
personal computer 704 can make use of the printing service provided by theprinter 710. In this section, it will be assumed that the conditions depicted in FIG. 14 exist. - As indicated in FIG. 14, the
first user 720 has made use of the document creation service to identify a target image (target image #3). The data (target data #3) that describes this image is stored in the internal memory of thesecond computer 706. Furthermore, thesecond user 724 has also made use of the document creation service to define a target image (target image #4). The data (target data #4) that describes this second image that is also stored in the internal memory of thesecond computer 706. - Referring now to FIG. 15, one of the two users logs into the personal computer704 (step 2002) and executes the
Web browser 1412. The user is then assumed to provide the URL of theprinter Web page 1216. The Web browser 18 receives this input atstep 2004. - In response to this input, the
Browser 1412 transmits an appropriate request to theWeb Server 1212 for thePrinter Web page 1216. - The
Web server 1212 receives this input and responds by transmitting theprinter Web page 1216 to theWeb Browser 1412. - The
Web Browser 1412 receives and displays theprinter Web page 1216 atstep 2008. - FIG. 16 illustrates the
printer Web page 1216 as displayed by a browser. Referring briefly to FIG. 16, theprinter Web page 1216 includes atext portion 2104 and a “get document print service”hyperlink 2106. Thetext portion 2104 may include information regarding the document printing service provided by theprinter 710. Thehyperlink 2106 is formatted such that, when selected by a user, theWeb Browser 1412 transmits an appropriate request to theWeb server 1212 for the Documentprint Web content 1220. In other embodiments, theprinter Web page 1216 may also display a cost to use the printing service and may provide the user with a means to enter payment information to make use of the service. - Referring again to FIG. 15, it is assumed that the user selects the get print service hyperlink. The
Web Browser 1412 receives this input atstep 2010 and in response transmits a request for theWeb content 1220 to theWeb server 1212. - The
Web server 1212 receives this input and responds by transmitting the DocumentPrint Web content 1220 to theWeb browser 1412. - The
Web Browser 1412 receives theprint Web content 1220 and begins executing it atstep 2014. - FIGS. 17 and 18 illustrate the operation of the print Web content1220 (while being executed at step 2014). First,
print Web content 1220 causes generic access requests to be generated in order to retrieve a target image (step 2202). - FIG. 19 illustrates the operation of the
extension 1414 to respond to the generic access requests generated atstep 2202. Referring briefly now to FIG. 19, theextension 1414 receives these generic access requests atstep 2302. In response, theextension 1414 retrieves the set of target data that is linked to the active user (step 2304). (It is noted that in other embodiments, generic access requests may define a format for the retrieved data. This desired format is then communicated to the server and the server provides the target data in the desired format. Importantly, the desired format may be different than the originally stored format. Thus, for example, the set of target data may be stored as a PDF format and returned, for example, in a JPEG format. This may be advantageous in situations wherein a second form of the target data is better suited for printing, displaying, etc). - It can be seen that, for example, if the
first user 720 is presently logged into thepersonal computer 704, theextension 1414 responds by retrieving target data #3 (stored in the second computer 706). This is accomplished by transmitting appropriate HTTP requests for this data to theserver 1310. Theserver 1310 responds by transmitting this data to theextension 1414. Conversely, if thesecond user 724 is presently logged into thepersonal computer 704, theextension 1414 responds by retrieving the set oftarget data # 3. - The
extension 1414 then operates to provide the retrieved target data to the DocumentPrint Web Content 1220 in an appropriate manner (step 2306). - Referring again to FIG. 18, the
Web content 1220 receives the retrieved target data (from the extension 1414) atstep 2204. In response, theWeb content 1220 causes thepersonal computer 704 to display a print dialog box with a print preview image (step 2206). - FIG. 20 illustrates an exemplary
print dialog box 2402 that may be displayed by thepersonal computer 704 atstep 2206. As shown, thedialog box 2402 displays aprint preview image 2404 that allows the user to define particular print settings. In this example, theprint dialog box 2402 allows the user to enter the number of copies, select a duplex option and/or a collate option. - Importantly, these options are based upon the capabilities of the
printer 710. The print preview image that is displayed is based, in part, upon the retrieved target image (i.e., thetarget image # 3 or the target image #4) as well as the options selected. - Referring again to FIG. 17, the
Web content 1220 is assumed to receive the user input indicating that certain settings have been selected atstep 2208 and updates thedialog box 2206 accordingly. - FIG. 21 illustrates how the
print dialog box 2402 would be updated assuming that the user has selected the duplex option and has entered “4” as the number of copies he/she wishes printed. It is noted that the print pre-view image reflects the duplex option by anicon 2502. - Referring once again to FIG. 17, it is assumed that
Web content 1220 receives input indicating the user has selected the print button 2410. TheWeb content 1220 responds to this input by generating a print job and by transmitting the print job to the Web server 1212 (steps 2214 and 2216). The print job includes the target data and also includes commands that cause theprinter 710 to print the image according to the inputted settings. - The
Web server 1212 receives the print job and provides the print job to theprinter control program 1222. Theprinter control program 1222 commands theprint engine 1208 to print the target image according to the settings described by the print job. - After the print job is transmitted to the printer, the
Web content 1220 displays a “print status page” that shows the status of the print job in a dynamic fashion (step 2218). This is accomplished by theWeb content 1220 obtaining certain status information from theprinter 710 regarding the printing of the print job (step 2220). - It is noted that the
step 2220 may be accomplished by using a number of techniques. For example, PML (Peripheral Management Language) polling may be used. Optionally, the techniques taught in the pending application entitled “Method and Apparatus for Providing Print Job Status, may be used. That application is assigned the attorney Docket number 10001724 and was filed Nov. 1, 2000. That application is incorporated herein entirely by reference. - As the status information is received (step2222) back from the
printer 710, theWeb content 1220 updates the status page so as to reflect the updated information (step 2224). This process continues until the print job is completed (step 2226). - FIG. 22 provides an example of a
status page 2602 that may be displayed atstep 2218. As shown, thestatus page 2602 includes afirst field 2604, asecond field 2606 and athird field 2608. Thefirst field 2604 displays the number of copies that has been printed. Thesecond field 2604 displays the number of pages printed for the copy that is presently being printed. - The
third field 2608 describes certain problems with the current print job encountered during printing. For example, if theprinter 710 reports that a paper jam has occurred, this information can be displayed in this third field. - Additionally, the
status page 2602 includes apause button 2610 and a continuebutton 2612. If thepause button 2610 is selected, theWeb content 1220 sends an appropriate message to theWeb server 1212 indicating that the printing of the present job should be paused. - The
Web server 1212 receives this message and communicates it to theprinter control program 1222. Thecontrol program 1222 responds by pausing the printing of the present print job. - After the
pause button 2610 has been selected and the printing of the present print job has been paused, a user can then select the continuebutton 2612. When the continue button is selected, the Doc.Print Web content 1220 sends an appropriate message to theWeb server 1212 indicating printing should be resumed. - The
Web server 710 receives this message and communicates it to theprinter control program 1222. Thecontrol program 1222 responds by causing the printing of the present print job to resume. - With respect to FIG. 23, there is illustrated a more detailed example of an Internet imaging home page or
print dialog box 2402 that is displayed by a personal computer 704 (FIG. 7) and is responsible for helping the user locate various other Web-based imaging devices and services, such as printer 710 (FIG. 7) and services andoptions section 2702. As shown,home page 2402 displays aprint preview image 2404 that allows the user to preview the print image. - Also, document
information section 2704 is illustrated.Section 2704 includes, but is not limited to, document selector menu (2706), document name (2708), document length (2710), and a document page shuttle controls (2713). Shuttle controls 2713 allow the user to shuttle back and forth through the document by activating thepage number control 2714. The particular page number as shown insection 2704 is illustrated bydisplay 2712.Document length 2710 is used to determine if the target printer has enough consumables readily available to it to complete the print job. - With respect to the services and
options section 2702, various services and options can be made available to the user. Included insection 2702 under document services is a document assembly service. Thedocument assembly service 2702 allows documents stored in the user's personal imaging repository (accessed through the “documents” drop down menu on FIG. 23) to be combined in order to create a new composite document. Thedocument assembly service 2702, preferably, is running locally (perhaps even on the user's own computer). - With respect to the printers and printing services, the user may be able to select the choices of finding the local printers, finding print services, adding a printer manually to the
list 2701 of favorites, and clearing thefavorites list 2701. These would be very helpful services if, for example, the user does not have access to a printer which is capable of printing the document due to the length of the document and the amount of consumables the document requires to be printed. - Finally, with respect to the options portion of the services and
options section 2702, this option would allow the user to interact with clientserver system previously described. - It is to be understood that the various services and options shown in
dialog box 2402 are for illustrative purposes only. Those skilled in the art would recognize that many other services and options could be shown indialog box 2402 and, therefore, would be able to be utilized by the user. - After the user has reviewed the document or
print preview image 2404, the user can select aprinter 710 to print the document. This is done by selecting a printer (left clicking a mouse conventionally connected to computer 704 (FIG.1)). Selecting a printer (by clicking on the hyperlink link to the printer's web page) directs the web browser to download the targetprinter web page 2718, as shown in FIG. 24, from theserver 1212 representing the printer. The targetprinter web page 2718 is constructed by the server 1212 (FIG. 9) to represent the features and capabilities ofprinter 710. Targetprinter web page 2718 comprises information about the capabilities ofprinter 710, such as the maximum number of pages perminute printer 710 is capable of printing. The user can interact with targetprinter web page 2718 to select available print options, such as the number of copies desired. The configuration of these options is available to targetprinter web page 2718. Additionally, targetprinter web page 2718 can access information related to the document using the browser extension, such as the number of pages. The targetprinter web page 2718 determines whether or not the target printer has adequate resources to print the target document using its intrinsic knowledge of the capabilities ofprinter 710, the currently selected print options, and information about the document. For example, ifprinter 710 had an output bin with a capacity of two hundred pages, the document consisted of fifty pages, and the user requested five copies, targetprinter web page 2718 might determine that the printer is unable to complete printing the document toprinter 710 with the requested print options. Any variety of information about the document, user print configurations, and printer configuration may be used in determining ifprinter 710 is capable of printing the document. - Printer configuration information statically contained within target
printer web page 2718 might non-exhaustively include the maximum capacity of paper trays, the maximum capacity of output bins, and the maximum number of staples available. Printer configuration information can also be dynamically obtained fromprinter 710 by targetprinter web page 2718, such as the actual amount of paper available in various paper trays, the actual amount of paper stored in various output bins, the amount of various toner, the amount of various ink, and the wear remaining on serviceable parts within the printer. Sensors in the printer provide the dynamic configuration information. - User print configuration might non-exhaustively include settings related to copies, duplexing, stapling, collation, paper tray selection, bin selection and other print configuration settings that impact the utilization of resources used in processing the job.
- Information about the document might non-exhaustively include number of pages, presence of color, kind of color present, page coverage, amount of raster coverage, dimensions of pages, thumbnail bitmaps of pages, and other renditions of the imaging data comprising the document.
- Once the calculation has been performed, the result of the calculation is preferentially displayed to the user.
- It is to be understood to one skilled in the art that many different kinds of display/warning/alarm devices can used in place of
display 2732. For example, a green/yellow/red light system may be employed in which the various lights signify the ability ofprinter 710 to complete the print job. Also, a sound/alarm device could be utilized which, again, would provide an indication if, for example,printer 710 could not complete the print job. -
Display 2732 is used to provide feedback to the user fromprinter 710 as to whether or notprinter 710 can complete the print job as desired. For example,display 2732 can show the user that the print job cannot be completed by displaying an error message stating that printer does not have enough paper to complete the print job. In another example,display 2732 may remain blank ifprinter 710 is capable of completing the print job. - Although the calculation of whether or not the document can print has been described as being preferably performed by target
printer web page 2718, alternatively information available to the targetprinter web page 2718 used in making this calculation can be transferred to another location which performs the calculation and returns the results of the calculation to targetweb page 2718. The location performing the calculation might possess additional data and logic enabling a more accurate calculation. For example, the information available to the targetprinter web page 2718 might be transferred toprinter 710, which simulated the printing process using actual firmware to determine the resource requirements required to print the document. - If the user selects another printer, printing device or printing service,
browser 1412 interacts with the server of the other printer, printing device or printing service in the same manner, as discussed above. The server connected to that printer, printing device or printing service will relate information to the user regarding the capabilities of that other printer, printing device or printing service by way of the target printer's web page. - FIG. 24 shows an example of a
home page 2718 for a target printer. In this case, the target printer isprinter 710. As can be seen,home page 2718 includes, in part,print preview image 2404,document information section 2704, anddisplay 2732.Section 2704 includes, but is not limited to, document name (2708), document length (2710), and a document page shuttle controls (2713). Shuttle controls 2713 allow the user to shuttle back and forth through the document by activatingcontrols 2714. - An
illustration 2720 of the type of printer to be used is provided. In this case,printer 710 is illustrated. Asection 2722 is provided that includes, but is not limited to, the number of copies to be made (2724), the paper source (2726), duplexing capabilities (2728), color printing (2730), and a print button (2710).Section 2722 allows the user to select the number of copies to be printed at 2724 by conventionally typing in and/or using the mouse of computer 704(FIG. 7) (for example) to select the desired number of copies. Also, the paper source 2726 can be selecting by using the mouse (for example) to select the desired paper source. Also, the user can opt for having the document duplexed by using the mouse (for example) at 2728. Also, the user can choose to have the document to be printed in color by clicking the mouse (for example) on the box at 2730. Again, for example, document length (2710), color copies, two-sided printing, and the number of copies to be made (2724) may be used to determine ifprinter 710 can complete the print job based upon the amount of consumables available toprinter 710. - It is to be understood that some of the various options on
home page 2718 will only be shown if the sensors onprinter 710 detect that these features, print media, print color and the like are available onprinter 710. Once the user is satisfied with the print preview, as evidenced byprint preview image 2404 and the capabilities ofprinter 710 to complete the print job, the user merely clicks the mouse (for example) on button 2410 and the document will be printed byprinter 710. -
Display 2732 is used to provide feedback to the user fromprinter 710 as to whether or notprinter 710 can complete the print job as desired. For example,display 2732 can show the user that the print job cannot be completed by displaying an error message stating that printer does not have enough paper to complete the print job. In another example,display 2732 may remain blank ifprinter 710 is capable of completing the print job. -
Display 2732 could also be used to show characteristics of the document to be printed. These document characteristics being, but not limited to, document name, document length, document image, monochrome or color document or the like. At least one of these characteristics should be displayed on targetprinter home page 2718 so that the user can identify the document to be printed. - It is to be understood to one skilled in the art that many different kinds of display/warning/alarm devices can used in place of
display 2732. For example, a green/yellow/red light system may be employed in which the various lights signify the ability ofprinter 710 to complete the print job. Also, a sound/alarm device could be utilized which, again, would provide an indication if, for example,printer 710 could not complete the print job. - FIG. 25 shows the operation of the print
job assurance method 2750 of the present invention.Method 2750 includes, in part, the steps of selecting a document to be printed, as shown instep 2752. The document can be selected from a variety of sources, as previously discussed. After the document is selected, the user can select the printer to print the document, as shown instep 2756. After the printer has been selected, the user can view the document to be printed on the target printer home page, as shown instep 2758. The user can select the document settings of the document that will be printed, as shown instep 2760. The document settings can be, but are not limited to, color versus monochrome, number of pages, number of copies, stapling, duplexing or the like. The target printer home page will provide a preview of the document to be printed and, if necessary, information regarding the ability of the target printer to complete the print job, as shown instep 2762. Finally, once the user is satisfied with the print preview of the document and the number of copies of the document to be printed, the user merely clicks the mouse (for example) on the print button 2410 and the document is printed, as shown instep 2764. - In short, the basic idea of the present invention is for the Web content to access information about the selected document in the user's personal imaging repository and use this information (along with information about the target printer and information about selected settings) to determine if
printer 710 can complete the print job, as desired. The personal imaging repository makes this particularly easy since it can provide information like the number of pages, whether any of the pages contain color, andthumbnail images 2404 of each page. - The
thumbnail images 2404 are normally used to provide a preview to the user, but thesesame thumbnails 2404 can be used to perform rudimentary page analysis. For example, using thethumbnails 2404, the Web content might check for images on each of the pages. Since images can require substantially more consumables to print, the estimate of the ability to complete the print job can reflect this and, thus provide a more accurate estimate. Web-based imaging makes this possible because Web-based imaging brings together the document and Web content representing a device or service. The Web content can use the Web-based imaging “extension” to selectively access information about the document. Normally, the document would have to be uploaded to the remote Web service (rather than the local Web content running in the browser) to do this sort of analysis. - Once given the above disclosure, many other features, modifications or improvements will become apparent to the skilled artisan. Such features, modifications or improvements are, therefore, considered to be a part of this invention, the scope of which is to be determined by the following claims.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/816,811 US6453129B1 (en) | 2001-03-23 | 2001-03-23 | System and method for providing job assurance |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/816,811 US6453129B1 (en) | 2001-03-23 | 2001-03-23 | System and method for providing job assurance |
Publications (2)
Publication Number | Publication Date |
---|---|
US6453129B1 US6453129B1 (en) | 2002-09-17 |
US20020136559A1 true US20020136559A1 (en) | 2002-09-26 |
Family
ID=25221666
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/816,811 Expired - Fee Related US6453129B1 (en) | 2001-03-23 | 2001-03-23 | System and method for providing job assurance |
Country Status (1)
Country | Link |
---|---|
US (1) | US6453129B1 (en) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040184066A1 (en) * | 2003-03-19 | 2004-09-23 | Akio Urabe | Image processing apparatus, and method of and system for managing image processing apparatus |
US20040205163A1 (en) * | 2002-09-20 | 2004-10-14 | Atsuko Yagi | Information processing apparatus, information processing method, information processing program service providing apparatus, service providing method, service providing program and recording medium |
US20040201860A1 (en) * | 2001-11-13 | 2004-10-14 | Yasushi Nakaoka | Image/sound output system |
US20050134888A1 (en) * | 2003-11-06 | 2005-06-23 | Tatsuo Ito | Document outputting method and document outputting system |
US20050146751A1 (en) * | 2004-01-05 | 2005-07-07 | Konica Minolta Business Technologies, Inc. | Image forming system and control method for image forming system |
US20070189784A1 (en) * | 2006-02-13 | 2007-08-16 | Fuji Xerox Co., Ltd. | Image formation device simulation apparatus |
US20080154685A1 (en) * | 2006-12-21 | 2008-06-26 | Canon Kabushiki Kaisha | Print system including image-forming apparatus for providing workflow |
US20110128574A1 (en) * | 2009-11-27 | 2011-06-02 | Konica Minolta Business Technologies, Inc. | Image processing method, image processing apparatus, and computer-readable storage medium for computer program |
US20110134456A1 (en) * | 2009-12-08 | 2011-06-09 | Sharp Kabushiki Kaisha | Multifunction printer, multifunction printer control system, and recording medium |
Families Citing this family (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6615372B1 (en) * | 2000-02-22 | 2003-09-02 | Ricoh Company, Ltd. | Method of retrieving and displaying problematic information about a printer prior to a print job being printed on the printer |
US7117239B1 (en) | 2000-07-28 | 2006-10-03 | Axeda Corporation | Reporting the state of an apparatus to a remote computer |
US7185014B1 (en) | 2000-09-22 | 2007-02-27 | Axeda Corporation | Retrieving data from a server |
US8108543B2 (en) | 2000-09-22 | 2012-01-31 | Axeda Corporation | Retrieving data from a server |
US20030038965A1 (en) * | 2001-08-27 | 2003-02-27 | Simpson Shell S. | Private printing using network-based imaging |
US7353275B2 (en) * | 2001-10-19 | 2008-04-01 | Seiko Epson Corporation | Printing sub-system for java and internet applications |
US20050179921A1 (en) * | 2001-10-26 | 2005-08-18 | International Business Machines Corporation | Method, apparatus and program product for device independent print job ticketing |
US7945664B2 (en) * | 2001-11-15 | 2011-05-17 | Hewlett-Packard Development Company, L.P. | System and method for accessing network services |
US6766121B2 (en) * | 2001-11-26 | 2004-07-20 | Oki Data Corporation | Image forming apparatus that periodically discharges waste toner and method of operation thereof |
US7254601B2 (en) | 2001-12-20 | 2007-08-07 | Questra Corporation | Method and apparatus for managing intelligent assets in a distributed environment |
US8699053B2 (en) * | 2002-01-24 | 2014-04-15 | Hewlett-Packard Development Company, L.P. | System and method for mobile printing from a desktop operating system using a portable computing device |
US6748183B2 (en) * | 2002-02-22 | 2004-06-08 | Xerox Corporation | Printer driver user interface and system |
JP2004005428A (en) * | 2002-03-26 | 2004-01-08 | Matsushita Electric Ind Co Ltd | Communication device, printer, and consumables order reception processing device |
US20030195926A1 (en) * | 2002-04-15 | 2003-10-16 | Ken Miyazaki | Image forming system |
US7178149B2 (en) | 2002-04-17 | 2007-02-13 | Axeda Corporation | XML scripting of soap commands |
US6647222B1 (en) * | 2002-06-07 | 2003-11-11 | Xerox Corporation | Print media supply identification for a copier or printer |
US8886701B1 (en) | 2002-07-15 | 2014-11-11 | Hewlett-Packard Development Company, L.P. | Network based software agent to allow dynamic resource access |
US20040073705A1 (en) * | 2002-10-15 | 2004-04-15 | Madril Robert John | Print preview with edit hyperlink |
US6761427B1 (en) * | 2003-01-14 | 2004-07-13 | Hewlett-Packard Development Company, L.P. | Estimating consumable sufficiency before printing |
JP3941709B2 (en) * | 2003-02-19 | 2007-07-04 | ブラザー工業株式会社 | Network printing system, Web server, printing apparatus, and program. |
US7966418B2 (en) | 2003-02-21 | 2011-06-21 | Axeda Corporation | Establishing a virtual tunnel between two computer programs |
US20040221231A1 (en) * | 2003-04-30 | 2004-11-04 | Madril Robert John | Editing a document within web-based production system |
JP2005085211A (en) * | 2003-09-11 | 2005-03-31 | Seiko Epson Corp | Printing system, printer host and printing software |
JP3969392B2 (en) * | 2004-01-05 | 2007-09-05 | セイコーエプソン株式会社 | Image forming apparatus capable of switching between color printing mode and monochrome printing mode |
US7123848B2 (en) * | 2004-06-09 | 2006-10-17 | International Business Machines Corporation | Method and system for managing print jobs for a printer to maximize throughput |
US8164785B2 (en) * | 2004-06-15 | 2012-04-24 | Sharp Laboratories Of America, Inc. | Method and apparatus for selecting printing devices according to resource availability |
US7920281B2 (en) * | 2004-06-21 | 2011-04-05 | Sharp Laboratories Of America, Inc. | Imaging job monitoring with reduced content image |
JP4587478B2 (en) * | 2004-08-31 | 2010-11-24 | キヤノン株式会社 | Document providing system and document management server |
US7821657B2 (en) * | 2004-09-14 | 2010-10-26 | Sharp Laboratories Of America, Inc. | Continuous raster image processing control across print jobs |
JP2006202201A (en) * | 2005-01-24 | 2006-08-03 | Oki Data Corp | Image processor |
KR100653054B1 (en) * | 2005-08-19 | 2006-12-01 | 삼성전자주식회사 | Printing system and printing method |
US20080013109A1 (en) * | 2006-07-11 | 2008-01-17 | Yen-Fu Chen | Method for Selecting Printers Based On Paper Availability Or Paper Congestion |
US8370479B2 (en) | 2006-10-03 | 2013-02-05 | Axeda Acquisition Corporation | System and method for dynamically grouping devices based on present device conditions |
US8897658B2 (en) * | 2006-11-30 | 2014-11-25 | Hewlett-Packard Development Company, L.P. | Method and system for estimating toner remaining in a cartridge |
US8065397B2 (en) | 2006-12-26 | 2011-11-22 | Axeda Acquisition Corporation | Managing configurations of distributed devices |
JP2008213399A (en) * | 2007-03-07 | 2008-09-18 | Ricoh Co Ltd | Printing apparatus and print processing method |
US8384929B2 (en) | 2007-05-03 | 2013-02-26 | Sharp Laboratories Of America, Inc. | Systems and methods for efficiently handling image data |
US8478861B2 (en) | 2007-07-06 | 2013-07-02 | Axeda Acquisition Corp. | Managing distributed devices with limited connectivity |
US9182932B2 (en) | 2007-11-05 | 2015-11-10 | Hewlett-Packard Development Company, L.P. | Systems and methods for printing content associated with a website |
JP5258539B2 (en) * | 2008-12-19 | 2013-08-07 | 株式会社沖データ | Image forming apparatus |
IT1397174B1 (en) | 2009-10-27 | 2013-01-04 | F I A M M Spa | METHOD FOR THE CONTINUOUS DETECTION OF THE EFFICIENCY OF A SPECIES BATTERY OF A BATTERY INSTALLED IN MOTOR VEHICLES AND USING DEVICE SUCH A METHOD |
US8477350B2 (en) * | 2010-03-16 | 2013-07-02 | Google Inc. | Cloud-based print service |
US8953192B2 (en) | 2011-10-17 | 2015-02-10 | Google Inc. | Roving printing in a cloud-based print service using a mobile device |
US8854669B1 (en) | 2011-12-06 | 2014-10-07 | Google Inc. | Printer search and selection for a cloud-based print service |
US9152366B2 (en) | 2012-02-17 | 2015-10-06 | Google Inc. | Remote printing management for cloud printing |
US8988716B1 (en) | 2012-02-17 | 2015-03-24 | Google Inc. | Customized printer identifier with embedded access rights |
WO2013147834A1 (en) * | 2012-03-30 | 2013-10-03 | Hewlett-Packard Development Company, L.P. | Print facilitation |
US8988713B2 (en) | 2012-06-28 | 2015-03-24 | Google Inc. | Secure printing in a cloud-based print system |
US8804147B2 (en) | 2012-07-31 | 2014-08-12 | Google Inc. | Semantic printing options |
US8711416B1 (en) | 2012-07-31 | 2014-04-29 | Google Inc. | Server providing pseudo print preview and final regular preview to device |
US8826126B1 (en) | 2012-07-31 | 2014-09-02 | Google Inc. | Print preview with cloud printing |
US11474767B1 (en) * | 2014-05-28 | 2022-10-18 | Amazon Technologies, Inc. | Print from web services platform to local printer |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2985027B2 (en) | 1991-07-19 | 1999-11-29 | セイコープレシジョン株式会社 | Printer |
US5761585A (en) | 1995-12-28 | 1998-06-02 | Brother Kogyo Kabushiki Kaisha | Cap for toner fillable container and toner fillable container using same |
US5794094A (en) | 1997-05-08 | 1998-08-11 | Hewlett-Packard Company | Accurate toner level feedback via active artificial intelligence |
US6327045B1 (en) * | 1997-09-18 | 2001-12-04 | Microsoft Corporation | Computer network |
JP3134826B2 (en) | 1997-09-30 | 2001-02-13 | キヤノン株式会社 | Image forming device |
NL1009374C2 (en) | 1998-06-11 | 1999-12-15 | Oce Tech Bv | Developing unit for a reproducing device and reproducing device provided with such a developing unit. |
-
2001
- 2001-03-23 US US09/816,811 patent/US6453129B1/en not_active Expired - Fee Related
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040201860A1 (en) * | 2001-11-13 | 2004-10-14 | Yasushi Nakaoka | Image/sound output system |
US7484211B2 (en) * | 2001-11-13 | 2009-01-27 | Seiko Epson Corporation | Remote printing system |
US20040205163A1 (en) * | 2002-09-20 | 2004-10-14 | Atsuko Yagi | Information processing apparatus, information processing method, information processing program service providing apparatus, service providing method, service providing program and recording medium |
US7185007B2 (en) * | 2002-09-20 | 2007-02-27 | Ricoh Company, Ltd. | Information processing apparatus, information processing method, information processing program service providing apparatus, service providing method, service providing program and recording medium |
US20040184066A1 (en) * | 2003-03-19 | 2004-09-23 | Akio Urabe | Image processing apparatus, and method of and system for managing image processing apparatus |
US7586633B2 (en) * | 2003-03-19 | 2009-09-08 | Ricoh Company, Limited | Image processing apparatus, and method of and system for managing image processing apparatus |
US20050134888A1 (en) * | 2003-11-06 | 2005-06-23 | Tatsuo Ito | Document outputting method and document outputting system |
US7929162B2 (en) | 2003-11-06 | 2011-04-19 | Ricoh Company, Ltd. | Method and system for generating and outputting output condition properties and edit properties corresponding to a document |
EP1530126A3 (en) * | 2003-11-06 | 2010-11-10 | Ricoh Company, Ltd. | Providing output information in a document outputting method and system. |
EP1530125A3 (en) * | 2003-11-06 | 2010-11-03 | Ricoh Company, Ltd. | Document outputting method and document outputting system |
US7536128B2 (en) * | 2004-01-05 | 2009-05-19 | Konica Minolta Business Technologies, Inc. | Image forming system including an image forming apparatus which forms an image based on a remotely editable job ticket, and control method for image forming system |
US20050146751A1 (en) * | 2004-01-05 | 2005-07-07 | Konica Minolta Business Technologies, Inc. | Image forming system and control method for image forming system |
US7493054B2 (en) * | 2006-02-13 | 2009-02-17 | Fuji Xerox Co., Ltd. | Image formation device simulation apparatus |
US20070189784A1 (en) * | 2006-02-13 | 2007-08-16 | Fuji Xerox Co., Ltd. | Image formation device simulation apparatus |
US20080154685A1 (en) * | 2006-12-21 | 2008-06-26 | Canon Kabushiki Kaisha | Print system including image-forming apparatus for providing workflow |
US8441665B2 (en) * | 2006-12-21 | 2013-05-14 | Canon Kabushiki Kaisha | Print system including image-forming apparatus for providing workflow |
US20110128574A1 (en) * | 2009-11-27 | 2011-06-02 | Konica Minolta Business Technologies, Inc. | Image processing method, image processing apparatus, and computer-readable storage medium for computer program |
US8693034B2 (en) * | 2009-11-27 | 2014-04-08 | Konica Minolta Business Technologies, Inc. | Image processing method, apparatus, and computer-readable storage medium for computer program that retrieves a condition input screen |
US20110134456A1 (en) * | 2009-12-08 | 2011-06-09 | Sharp Kabushiki Kaisha | Multifunction printer, multifunction printer control system, and recording medium |
US9001356B2 (en) * | 2009-12-08 | 2015-04-07 | Sharp Kabushiki Kaisha | Multifunction printer, multifunction printer control system, and recording medium |
Also Published As
Publication number | Publication date |
---|---|
US6453129B1 (en) | 2002-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6453129B1 (en) | System and method for providing job assurance | |
US6943903B2 (en) | System and method for providing print preview/media selection | |
JP4961031B2 (en) | Method and system for submitting a job to a copy center | |
US6327045B1 (en) | Computer network | |
US6240456B1 (en) | System and method for collecting printer administration information | |
US7978360B2 (en) | Print system | |
US7106469B2 (en) | Variable data printing with web based imaging | |
US7191448B2 (en) | Web based imaging page redirector system for accessing a redirector reference that directs a browser to a redirector software | |
US20050278421A1 (en) | Method for web-based imaging service to redirect to a preferred destination based on a criteria | |
US20030033432A1 (en) | Web based imaging service that converts web pages into content on behalf of another web site | |
US20030083952A1 (en) | Web-based imaging service providing the ability to specify a charge-back account | |
US6900905B2 (en) | Method for accessing imaging information on a demand basis using web based imaging | |
US6631010B1 (en) | Web-based imaging system utilizing “cookies” to provide a single-action printing option | |
US6931447B1 (en) | Remote hard copy apparatus control including firewall penetrating protocols | |
US6944868B2 (en) | Imaging extension API for isolating web content from user resources and services | |
US7006243B2 (en) | Web-based imaging system providing means of accessing content individually | |
KR100547117B1 (en) | Method and apparatus for remote control a network electron device | |
US20030041249A1 (en) | Method, system and program product for multi-profile operations and expansive profile operation | |
US7158247B2 (en) | System and method for determining the time required to complete a print job | |
US7196803B1 (en) | System and method for printing to a printer without the use of a print driver | |
US7064853B2 (en) | Document printing system | |
US6829060B2 (en) | Web-based imaging service providing manual duplexing | |
US20030038839A1 (en) | Method for web-based imaging service to redirect to a preferred destination | |
US20030120768A1 (en) | Method for obtaining status of web-based imaging originated processes | |
US7656545B1 (en) | System and method for dynamically providing printing status |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: HEWLETT-PACKARD COMPANY, COLORADO Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SIMPSON, SHELL S.;FOSTER, WARD S.;LIVINGSTON, KRIS R.;REEL/FRAME:011844/0492 Effective date: 20010316 |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
AS | Assignment |
Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD COMPANY;REEL/FRAME:026945/0699 Effective date: 20030131 |
|
REMI | Maintenance fee reminder mailed | ||
LAPS | Lapse for failure to pay maintenance fees | ||
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20140917 |