Some computer-based fulfillment applications present to users fulfillment options that are source-specific (i.e. the fulfillment options are presented as particular devices or service providers). For example, a user of a print job fulfillment application of this sort may select a particular device or service provider based upon known capabilities of the device or service provider. Other computer-based fulfillment applications present to users fulfillment options that are source-agnostic (i.e. the fulfillment options are presented without the necessity of disclosing particular devices or service providers). For example, a user of a print job fulfillment application of this sort may select a print solution, rather than selecting a particular device or service provider, based upon comparative cost or time to delivery. Source-agnostic fulfillment applications can be advantageous in some situations in that users are not required to have an extensive knowledge of the capabilities of devices or providers.
The accompanying drawings illustrate various embodiments and are a part of the specification. The illustrated embodiments are merely examples and do not limit the scope of the claims. Throughout the drawings, identical reference numbers designate similar, but not necessarily identical elements.
The same part numbers designate the same or similar parts throughout the figures.
Applications that provide source-agnostic fulfillment solutions may present a user with set of recommended options for printing and certain characteristics regarding the printing recommended options. Such source-agnostic fulfillment applications frequently do not, however, present a user with the ability to easily negotiate or trade off multiple attributes of concern to refine recommended printing options (e.g. attributes relating to how a print job is to be delivered such as environmental impact and time to delivery, and attributes relating to the finished product such as black and white versus color and single-sided versus two-sided printing). Embodiments described below were developed in an effort to provide a method and system to present solution sets including values for fulfillment solutions according to negotiation attributes, invite selection of negotiation attributes to be prioritized, and to cause fulfillment of a fulfillment request based upon the selected negotiation attributes.
The following description is broken into sections. The first, labeled “Environment”, describes an example environment in which embodiments may be implemented. The second section, labeled “Components”, describes various physical and logical components utilized to implement various embodiments. The third section, labeled as “Operation”, describes various example embodiments of a fulfillment method utilizing selected negotiation attributes. The fourth section, labeled “Examples”, describes exemplary user interface screen shots that illustrate a fulfillment method utilizing selected negotiation attributes according to embodiment.
ENVIRONMENT:
Each of server 14 and server 16 represent computing devices capable of receiving and responding to network requests from computing device 12. As discussed with reference to
Devices 12, 14, 16, and 18 are interconnected via link 20. Link 20 represents generally one, or a combination, of a cable, wireless, fiber optic, or remote connection via a telecommunication link, an infrared link, a radio frequency link, or any other connector or system that provides electronic communication. Link 20 may represent an intranet, the internet, or a combination of both. The paths followed by link 20 between devices 12, 14, 16, and 18 as depicted in
COMPONENTS:
Receipt engine 25 represents generally any combination of hardware and programming operable to receive a print job. As used in this specification and the appended claims, a “print job” includes content that has been submitted for printing. “Print job” and “print fulfillment request” are used synonymously in this application. In an embodiment, the receipt engine is operable to receive a print job directly from a computing device, or indirectly from a computing device via an intermediary server.
Determination engine 26 represents generally any combination of hardware and programming operable to determine a solution set that includes printing solutions. As used in this specification and the appended claims, a “solution set” includes a group of recommendations for fulfilling a print job or other fulfillment request. As used in this specification and the appended claims, a “printing solution” includes a solution for fulfilling a print job. In an embodiment, determining a solution set includes analyzing the print job, which may include analyzing documents contained within the print job, and utilizing the results of analyzing the print job. In an embodiment, analyzing the print job may include gathering document and image data that can be rendered by converting a document into a device-independent format, such as .pdf. In another example, analyzing a print job may include gathering, at the time of initiation of the print job, information regarding the number of bytes in a file to be printed without a conversion operation. In another embodiment, a user or another source may provide information regarding the print job.
In an embodiment, determination engine 26 may utilize an administrative policy when determining a solution set. In an example, the determined solution set will reflect an administrative policy that limits printing options and prioritizes cost as the highest priority factor, impact to the environment as the second highest priority factor, and time to fulfillment as the third highest priority. In another example, determination engine 26 may utilize a policy that considers these factors but prioritizes them in a different order. In an embodiment an administrative policy may be utilized in a “hard” fashion by restricting some printing options such that they are not presented to a user. In an embodiment administrative polices may be utilized in a “soft” fashion by setting threshold assignments for value function operators. For example, value function symbols “$”, “$$”, and “$$$” may be utilized in displaying results for a negotiation attribute of relative cost. Setting thresholds for “$$” and “$$$” to lower absolute cost value estimates will likely result in more frugal behavior from users.
When determining a solution set, determination engine 26 may utilize previously-expressed preferences, and/or previously-observed behaviors of a user or a computing device or combination of hardware and software configured to select a negotiation attribute (e.g. data from previous printing fulfillment engagements that is compiled to create an enhanced characterization of individual user or aggregate user needs). Determining a solution set can include utilizing user context data. As used in this specification and the appended claims, “user context data” includes information regarding the immediate circumstances or environment of a user, such as physical location, time of day, etc., that does not require a history of user preferences or previously-observed user behavior.
Determination engine 26 is additionally operable to present a solution set including values for printing solutions according to negotiation attributes. In an embodiment, determination engine 26 presents the determined solution set to a user via a user interface such as a computer monitor providing for visual modality, or a speaker providing for auditory modality. In an embodiment, determination engine 26 presents the determined solution set to a computing device or any combination of hardware and programming configured to select negotiation attribute via electronic means. As used in this specification and the appended claims, a “negotiation attribute” includes a characteristic of concern regarding how a print job, print fulfillment or other fulfillment request may be fulfilled. In embodiments, the negotiation attributes presented may include delivery attributes and page attributes. As used in this specification and the appended claims, a “delivery attribute” includes a negotiation attribute that is associated with how, when, or where the print job is to be provided, but which is not a page attribute. Examples of delivery attributes include time-until-fulfillment, distance from the fulfilling device or service, and whether the device or service used to fulfill the print job is in-house or external. As used in this specification and the appended claims, a “page attribute” includes a negotiation attribute that is a physical characteristic of the finished product after processing of a print job. Examples of page attributes include quality or appearance of the finished product (e.g. ink or toner coverage expressed in dots per inch), color versus black and white, stapled versus unstapled, media size, media type, single sided versus duplexed, and print quality in dpi.
As used in this specification and the appended claims, a “value” of a printing solution according to a negotiation attribute suggests an assessment, grading or relative strength of a printing solution according a negotiation attribute. Presenting values for printing solutions according to negotiation attributes can include displaying value function symbols that indicate values of the negotiation attributes within each printing solution making up the solution set. In an example user interface, value function symbols “$”, “$$”, and “$$$” can be used to display the relative values of the negotiation attribute “cost” in printing solutions within a determined solution set. In another example user interface, value function operators expressed as distances from a user to the printing solutions are utilized to display the relative values of a “time to fulfillment” negotiation attribute. In another example user interface, zero to three “green light” graphics are assigned to each printing solution within a solution set, the green lights indicating the values of a “impact to the environment” negotiation attribute.
Redetermination engine 27 represents generally any combination of hardware and programming operable to invite selection of a negotiation attribute that is to be given priority. As used in this specification and the appended claims, “giving priority” to a negotiation attribute includes giving emphasis to or stressing that negotiation attribute. In an embodiment, inviting selection of a negotiation attribute to be prioritized is undertaken by providing to a user via button graphics displayed on a computing user device interface such as computer monitor or smart phone screen. In an example, the user interface may include invitation buttons titled “greener”, “lower cost”, “sooner” and “better appearance”. In other embodiments different titles, or different user interfaces, can be utilized. In an embodiment, the invitation to select a negotiation attribute to be prioritized is sent in electronic form to a computing device or a combination of hardware and programming configured to select negotiation attribute via electronic means.
Redetermination engine 27 is additionally operable to redetermine a solution set according to a selected negotiation attribute. In an embodiment, the selected negotiation attribute is received after selection by a human user. In an embodiment, the selected negotiation attribute is received after selection by a computing device or a combination of hardware and programming operable to select a negotiation attribute. By selecting a negotiation attribute, a user or computing device prioritizes and expresses a preference as to which of the negotiation attributes is of the highest priority for this fulfillment. The user or computing device may also indicate, either directly or indirectly by omission, which negotiation attributes have less priority for this fulfillment. In an embodiment a user may trade off negotiation attributes of lesser priority in favor of a selected negotiation attribute, in order that the fulfillment solutions that best evidence the selected negotiation attribute will presented.
In an embodiment, a plurality of selected negotiation attributes are asynchronously received, and the solution set is redetermined after each receipt of a selected negotiation attribute. In an embodiment, asynchronous receipt of negotiation attributes occurs as new negotiation attributes are received one at a time. In an embodiment, a plurality of selected negotiation attributes are incrementally received, and the solution set is redetermined after each receipt of selected negotiation attribute. In an embodiment, incremental user selection occurs as a user clicks on multiple times, or otherwise repeatedly activates, a button graphic representing a particular negotiation attribute. In an embodiment, incremental selection of a negotiation attribute indicates that the negotiation attribute is a negotiation attribute of high concern or a priority negotiation attribute. In an embodiment, incremental selection of a negotiation attribute by a user indicates that the user desires to put additional priority upon a negotiation attribute. In an example, if a currently displayed redetermined solution set is not acceptable to a user after choosing delivery time as the selected negotiation attribute, the user may click a “sooner” button multiple times to see new redetermined solution sets with an earlier delivery times.
Redetermination engine 27 is additionally operable to present a redetermined solution set. In an embodiment, a redetermined solution set is presented to a user via a user interface with an invitation to the user to select one of the proffered redetermined solutions or to select another negotiation attribute. In an embodiment, the redetermined solution set is presented via electronic means to a computing device or a combination of hardware and programming configured to select a printing solution and/or a negotiation attribute.
Delivery engine 28 represents generally any combination of hardware and programming operable to cause a printer to fulfill the print job according to a printing solution selected from a redetermined solution set. In an embodiment, fulfilling the printing solution will include sending the print job to a networked printing device in a local environment for user pickup. In another embodiment, fulfilling the printing solution will include sending the print job to a remote print service provider that prints the print job and ships the finished product to the user.
Fulfillment selector 22 may be implemented in a number of environments, such as environment 30 of
In an embodiment, server 14 is shown to include a processor 32 and memory 34. Processor 32 represents generally any device capable of executing program instructions stored in memory 34. Memory 34 represents generally any memory configured to store program instructions and other data. Memory 34 is shown to include operating system 36, a web server 38, and a fulfillment module 40. Operating system 36 represents generally any software platform on top of which other programs or applications such as the web server 38 and fulfillment module 40 run. Web server 38 represents generally any programming that, when executed, stores, delivers and receives web pages, documents, digital images and other content to and from computing devices via the internet.
Fulfillment module 40 represents generally any programming that, when executed, implements the functionality of the fulfillment selector of
Moving to
Environment 42 includes a computing device 12, a link 20, a print site server 16 and printers 18. In an embodiment computing device 12 may be a laptop computing device with Bluetooth®, Internet, wireless or wired connectivity to printer 18 via the link 20, and internet connection to the print site server 16 via the link 20. Printers 18 represents generally any combinations of hardware and programming capable of receiving a print job from the print site 16 and fulfilling the print job as printed output on a print medium.
In an embodiment, print site 16 is shown to include a computing device interface 44, a content formatter 46, a fulfillment module 40 and a printer interface 48. Computing device interface 44 represents generally any combination of hardware and programming capable of receiving a print job from a computing device 12 or any combination of hardware and software configured to send a print job. Content formatter 46 represents generally any combination of hardware and programming operable to format received content for printing. Such may include formatting the content, as-is, into a format compatible for printing by printer 18. Example formats include Post Script, PDL (Page Description Language), and PDF (Portable Document Format).
Fulfillment module 40 represents generally any programming that, when executed, implements the functionality of the fulfillment selector 22 of
Printer interface 48 represents generally a combination of hardware and programming capable communicating a print job for the formatted content to printer 18. Printer interface 48 may be responsible for receiving communications from printer 18 and then using computing device interface 44 to route the communications back to computing device 12. Such communications may include an indication that the print job was received, the print job has been printed, any error messages, and any other information related to the print job.
In foregoing discussion, various components were described as combinations of hardware and programming. Such components may be implemented in a number of fashions. In one example, the programming may be processor executable instructions stored on tangible memory media and the hardware may include a processor for executing those instructions. Thus, certain elements operating on the same device may share a common processor and common memory media.
OPERATION:
Starting with
Continuing with the flow diagram of
Continuing with the flow diagram of
Continuing with the flow diagram of
Continuing with the flow diagram of
Continuing with the flow diagram of
In an embodiment, a plurality of selected negotiation attributes may be asynchronously received, and blocks 56, 58 and 60 may be repeated.
Continuing with the flow diagram of
Moving on to
In another example, an analysis of a print job may reveal that the print job contains color charts with highly detailed lines, such that the determined solution will include printing solutions that are capable of accurately reproducing the charts.
Continuing with the flow diagram of
Continuing with the flow diagram of
In some instances redetermining a solution set includes revising the solution set to take into account the selected negotiation attributes. For example, a solution set may be presented to a user that is made up of fulfillment solutions A, B, C and D, and the solution set may be redetermined according to a user selected attribute of impact to the environment to include fulfillment solutions A, B, E and F. In other instances, redetermining a solution set will result in a solution set that is currently presented to a user being the same as the solution set that was last presented to the user. This can occur, for example, if a user clicks a “greener” button to select an “impact to the environment” negotiation attribute, and the optimal solution set for the impact to the environment negotiation attribute is already being presented. In an embodiment, an alert can be sent to a user if a current presented solution set is the same as a last presented solution set. Examples of such an alert are sending to the user a message that selected negotiation attribute is “at the limit,” and/or sending to the user a message that the solution set is the “same solution set as last presented.”
Continuing with the flow diagram of
Continuing with the flow diagram of
Examples:
The diagrams of
Moving to
CONCLUSION: The diagrams of
Also, the present disclosure may be embodied in any computer-readable media for use by or in connection with an instruction execution system such as a computer/processor based system or an ASIC (Application Specific Integrated Circuit) or other system that can fetch or obtain the logic from computer-readable media and execute the instructions contained therein. “Computer-readable media” can be any media that can contain, store, or maintain programs and data for use by or in connection with the instruction execution system. Computer readable media can comprise any one of many physical media such as, for example, electronic, magnetic, optical, electromagnetic, or semiconductor media. More specific examples of suitable computer-readable media include, but are not limited to, a portable magnetic computer diskette such as floppy diskettes or hard drives, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory, or a portable compact disc.
Although the flow diagrams of
The preceding description has been presented only to illustrate and describe embodiments and examples of the principles described. This description is not intended to be exhaustive or to limit these principles to any precise form disclosed. Many modifications and variations are possible in light of the above teaching.
Number | Name | Date | Kind |
---|---|---|---|
5090231 | Gallagher | Feb 1992 | A |
5862471 | Tiedemann et al. | Jan 1999 | A |
5991846 | Ooki | Nov 1999 | A |
6285889 | Nykanen | Sep 2001 | B1 |
6335795 | Neuhard et al. | Jan 2002 | B1 |
6359642 | Smith | Mar 2002 | B1 |
6417913 | Tanaka | Jul 2002 | B2 |
6560621 | Barile | May 2003 | B2 |
6621589 | Al-Kazily et al. | Sep 2003 | B1 |
6678064 | Bruce | Jan 2004 | B2 |
6757070 | Lin et al. | Jun 2004 | B1 |
6762852 | Fischer | Jul 2004 | B1 |
7064856 | Fu et al. | Jun 2006 | B2 |
7088462 | Bhogal et al. | Aug 2006 | B2 |
7120667 | Derocher et al. | Oct 2006 | B2 |
7143210 | Ferlitsch | Nov 2006 | B2 |
7212297 | Liang et al. | May 2007 | B2 |
7225220 | Gonzalez et al. | May 2007 | B2 |
7231605 | Ramakesavan | Jun 2007 | B1 |
7265867 | Fu et al. | Sep 2007 | B2 |
7272407 | Strittmatter et al. | Sep 2007 | B2 |
7647074 | McCoog et al. | Jan 2010 | B2 |
7800768 | Yamada | Sep 2010 | B2 |
8115943 | Ohishi et al. | Feb 2012 | B2 |
8223355 | McCoog et al. | Jul 2012 | B2 |
8270007 | Pandit et al. | Sep 2012 | B2 |
8468240 | Prati et al. | Jun 2013 | B2 |
20010013053 | Yamazaki | Aug 2001 | A1 |
20010043357 | Owa et al. | Nov 2001 | A1 |
20020083121 | Chang | Jun 2002 | A1 |
20030036350 | Jonsson | Feb 2003 | A1 |
20030115199 | Ochiai | Jun 2003 | A1 |
20030184557 | Wen | Oct 2003 | A1 |
20030231328 | Chapin et al. | Dec 2003 | A1 |
20040039647 | Roche et al. | Feb 2004 | A1 |
20040100505 | Cazier | May 2004 | A1 |
20040162804 | Strittmatter et al. | Aug 2004 | A1 |
20040176117 | Strittmatter et al. | Sep 2004 | A1 |
20040176118 | Strittmatter et al. | Sep 2004 | A1 |
20040218201 | Lermant et al. | Nov 2004 | A1 |
20040252332 | McCoog et al. | Dec 2004 | A1 |
20040253990 | McCoog et al. | Dec 2004 | A1 |
20050073522 | Aholainen | Apr 2005 | A1 |
20050088681 | Hosoda | Apr 2005 | A1 |
20050099639 | Payne et al. | May 2005 | A1 |
20050259287 | Watanabe | Nov 2005 | A1 |
20060259394 | Cushing et al. | Nov 2006 | A1 |
20070010915 | Burson et al. | Jan 2007 | A1 |
20070030516 | Tsuji et al. | Feb 2007 | A1 |
20070195345 | Martinez et al. | Aug 2007 | A1 |
20070229879 | Harmon et al. | Oct 2007 | A1 |
20070229880 | Harmon et al. | Oct 2007 | A1 |
20080180726 | Selvaraj | Jul 2008 | A1 |
20080225326 | Kephart et al. | Sep 2008 | A1 |
20080239366 | Cyman et al. | Oct 2008 | A1 |
20080246988 | Ashton | Oct 2008 | A1 |
20090033976 | Ding | Feb 2009 | A1 |
20090147299 | Tetu | Jun 2009 | A1 |
20090257082 | Kohli et al. | Oct 2009 | A1 |
20090300226 | Rubio | Dec 2009 | A1 |
20100082782 | Ding | Apr 2010 | A1 |
20100161832 | Komine | Jun 2010 | A1 |
20100174698 | Odland et al. | Jul 2010 | A1 |
20100309508 | Kamath et al. | Dec 2010 | A1 |
20110145085 | Khachatrian et al. | Jun 2011 | A1 |
20120019867 | Prati et al. | Jan 2012 | A1 |
20130038897 | Heckler et al. | Feb 2013 | A1 |
20130222838 | Kumar et al. | Aug 2013 | A1 |
Number | Date | Country |
---|---|---|
1107512 | Jun 2001 | EP |
1271300 | Jan 2003 | EP |
2360914 | Oct 2001 | GB |
2001197150 | Jul 2001 | JP |
2001344163 | Dec 2001 | JP |
2002112347 | Apr 2002 | JP |
2002264431 | Sep 2002 | JP |
2002290416 | Oct 2002 | JP |
2002305521 | Oct 2002 | JP |
2006277197 | Oct 2006 | JP |
0174011 | Oct 2001 | WO |
WO-2011011117 | Aug 2011 | WO |
WO-2011090474 | Aug 2011 | WO |
Entry |
---|
Yang et al,; “Offer with Choices and Accept with Delay: A Win-Win Strategy Model for Agent Based Automated Negotiation”; ICIS 2009 Proceedings; 20 pages. |
Yinping, et al,; “Designing an Intelligent Agent that Negotiates Tactfully with Human Counterparts: A conceptual Analysis and Modeling Framework” 42nd Hawaii ICSS-2009; 10 pgs. |
“Xerox® Enterprise Print Services Connecting the Remote and Mobile Workforce,” Sep. 2010, <http://www.xerox.com/downloads/usa/en/xgs/brochures/. |
Assigned Numbers—Bluetooth Baseband, Bluetooth Sig. Inc., 2003 www.bluetooth.org/foundry/assignnumb/document/baseband. |
Bluetooth, “The Bluetooth System, Core, Version 1.0 B,” Service Discovery Protocol SDP, Dec. 1, 1999, XP002176975, retrieved on Sep. 7, 2001, retrieved from the internet: <www.bluetooth.com>. |
Communication pursuant to Article 96(2) EPC issued in connection with European patent application No. 03022525, dated Dec. 16, 2004. |
European Search Report Issued in connection with European patent application No. 03022525, dated Jan. 29, 2004. |
Hewlett-Packard Co., HP Jornada 520, 540 and 560 Series Pocket PC and HP Deskjet 995C—Printing with Bluetooth Using the Anycom, Inc. Bluetooth Card, On-Line Customer Support Documents, 2001, www.hp.com/cposupport/printers/supp. |
Hewlett-Packard Development Company, L.P, “HP Universal Print Driver,” Apr. 2009, <http://www.govenorsolutions.com/wp-content/uploads/2011/08/UPD-2009-DS-final1.pdf>. |
Hewlett-Packard Development Company, L.P, “HP Universal Print Driver,” Solution and Feature Guide, 2009, <http://h20331.www2.hp.com/Hpsub/downloads/UPD5—guide—final,%20web.pdf>. |
Mirosoft Corp., “To search for a printer,” Jan. 6, 2008, <http://web.archive.org/web/20080106161518/http://www.microsoft.com/resources/docum. |
Service Discovery Application Profile, Feb. 22, 2001, pp. 64-98, Bluetooth Specification Version 1.1. |
Taylor Thomas, “Online Printing Services Review,” Mimeo, available online Aug. 21, 2009, <http://web.archive.org/web/20090821133549/http://online-printing-services-review.toptenreviews. com/mimeo-review.html>. |
David Suffield, “HPLIP 2008 State of Affair,” Apr. 2008, http://www.linuxfoundation.org/images/6/6d/Hplip—2008.pdf>. |
Hewlett-Packard Devlopment Company, L.P., “HP Driver and Queue Management Solutions,” Mar. 2009, <http://h20195.www2.hp.com/v2GetDocument.aspxcc=us&doclang=EN—US&docname=4AA1-5596ENUC&doctype=brochure&lc=en&searchquery=&jumpid=reg—r1002—usen—c-001—title—r0002>. |
Hewlett-Packard Development Company, L.P., “HP Universal Print Driver v5.7.0.16448,” Release Notes, Sep. 17, 2013, <http://h10032,www1.hp.com/ctg/Manual/c03635717.pdf>. |
Hewlett-Packard Development Company, L.P., “Service Administration Guide,” HP Managed Printing Administration, edition 1, May 2006. |
Xerox Corp., “Xerox® Enterprise Print Services Connecting the Remote and Mobile Workforce,” Sep. 2010, <http://www.xerox.com/downloads/usa/en/xgs/brochures/xgs—brochure remote—mobile—workers—printing.pdf>. |
Number | Date | Country | |
---|---|---|---|
20110242576 A1 | Oct 2011 | US |