« PrécédentContinuer »
INTEGRATED SHOPPING CART FOR SALE OF THIRD PARTY PRODUCTS AND SERVICES VIA THE INTERNET
 The present application is related to the following commonly-owned application(s): application Ser. No. 09/814,009 (Docket No. LS/0013.00), filed Mar. 20, 2001, entitled "Improved Internet Delivery of Digitized Photographs". The disclosure of the foregoing application is hereby incorporated by reference in its entirety, including any appendices or attachments thereof, for all purposes.
 A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
BACKGROUND OF THE INVENTION  1. Field of the Invention
 The present invention relates generally to electronic commerce and, more particularly, an improved system and methodology for an e-commerce vendor to display, offer, accept and fulfill orders for products and services of a third party.
 2. Description of the Background Art
 An increasing volume of consumer and business transactions are today conducted on e-commerce sites rather than (or in addition to) face to face in traditional brick and mortar environments. Today's e-commerce sites and their operations are well known and understood. Atypical e-commerce site, such as Amazon.com, has a catalog or list of products and services that are offered through the site. It also includes marketing and promotional materials that solicit orders for these products and services. After a customer enters the Web site, the customer uses a browser to view HTML pages containing product descriptions, marketing collateral, pricing and other information.
 Most e-commerce vendors have made significant investments in their Web sites to provide a compelling user experience for their customers in order to encourage the customers to remain on the site and continue shopping. If the customer finds a particular product or service that he or she is interested in ordering while browsing the site, then the customer is typically given the opportunity to select this item and add it to his or her on-line "shopping cart" through an established methodology. During this process the customer confirms the specific items that he or she has selected, indicates the quantities requested and provides other details about his or her requirements. At the end of this process, the customer is typically given the choice to proceed to "check out" and pay for the items that have been selected and placed in the shopping cart or to continue shopping.
 If the customer elects to continue shopping, the items the customer selected and placed in the shopping cart are retained, stored and tracked until the customer has
finished shopping. When the customer is done browsing the site, then he or she can proceed to check out and complete an order for the items that have been stored in the shopping cart. As part of the check out process, the typical e-commerce site includes an integrated set of systems and processes for verifying the order, collecting payment from the customer and subsequently fulfilling the order and obtaining confirmation of delivery. The site usually operates very independently and is able to accept and fulfill customer orders through established and consistent on-line procedures without the need for manual intervention by the e-commerce vendor's employees.
 In order to retain customers and increase revenues, e-commerce vendors are continually looking for ways to expand their sites by offering additional products and services. They endeavor to act as a "one-stop shop" providing a wide range of products and services to their customers. However, in expanding the scope of their offerings, these vendors must increasingly rely on third party suppliers as they do not have all of the necessary resources or capabilities to directly manufacture, process and fulfill customer orders for all of this wide range of products and services. These e-commerce vendors can, of course, easily accept and fulfill orders for many third party products that they stock in inventory in the manner described above. For example, K-Mart, or its e-commerce arm Bluelight.com, may offer Kodak cameras and accessories that K-Mart has purchased and has available in its inventory. In this case, K-Mart can accept and fulfill a customer order for a camera placed on its Bluelight.com Web site without the need for further interaction with its supplier and in a manner that is relatively transparent to the customer ordering these products.
 However, in other cases the e-commerce vendor may not have the necessary capabilities or resources to independently accept and fulfill orders for certain third party products or services. This is particularly true in the case of orders for more complex products or services involving a large amount of customization by the customer. For example, assume that a retailer like K-Mart wants to offer photograph or image processing services for its customers in conjunction with the sale of cameras, film and other accessories. K-Mart may not have a photo processing laboratory or the necessary processing equipment or expertise to directly provide photograph or digital image processing services and, thus, may need to outsource fulfillment.
 In the particular case of photo finishing, K-Mart and most other traditional "brick and mortar" retailers have historically served as middlemen in connection with the supply of photo processing services to their customers. These retailers often have "photo centers" where customers drop off film and later return to pick up and pay for prints (and perhaps also get copies of the prints as digital images on CD-ROMs). However the actual processing has been traditionally handled by laboratories such as Kodak that have the appropriate resources and expertise to better perform these services. A large number of similar situations exist in which both e-commerce and brick and mortar retailers prefer to outsource the supply of a particular product or service to a third party rather than to make the considerable investment necessary to develop their own offering.
 Another complexity is that for certain types of products and services, customers frequently want the chance
to customize the item they are ordering to meet their particular requirements rather than a standard offering. These types of custom orders can involve significantly more interaction between the customer and the product manufacturer. For example, an order for processing a roll of film may be relatively simple and merely require the development of a set of prints and return of the negatives to the customer. Another order may, however, be much more complex. The customer may require the images back in various formats (prints as well as digital images for example), may want an enlargement of one or more specific prints or may want one of the prints to be cropped in a particular manner. These types of custom orders for third party products and services can be very difficult for the e-commerce vendor to offer through its standard e-commerce site ordering and fulfillment systems as it has to balance and act as middleman between the requirements of its customers and the requirements of its supplier.
 Currently, e-commerce vendors typically handle this situation by redirecting the customer to an affiliated third party business partner site. The vendor typically has a contractual relationship with the third party for obtaining a share of revenue received by the partner as a result of the referral of this customer. The vendor may include a link on its Web site that redirects the customer to its partner for these products and services. The customer can be tracked as being referred by the vendor and if the customer made a purchase, the business partner would pay a referral fee back to the referring vendor.
 However there are several problems with this existing approach. First, the e-commerce vendor has several strong incentives to keep the customer on its site and to avoid redirecting the customer to a third party site. One critical concern is that if the customer is redirected to another site, then the vendor may lose the customer both for the current activity as well as for future orders. If the customer already had selected items in its shopping cart with the vendor, these items would likely be lost when the customer exited the vendor site to browse the partner site. Using the above example, if Bluelight.com referred its customer to a partner offering photo-processing services, when the customer had completed his or her photo order he or she might not return to the Bluelight.com site to continue shopping. If the customer did return, he or she might have to reselect the items in its shopping cart, giving the customer a further opportunity to reconsider the choice to purchase these items.
 A related issue in referring the customer to the partner is that the referring vendor is likely to earn significantly less revenue on the customer transaction. On the initial order the referring vendor will usually obtain a smaller percentage of the resulting revenue when it refers the customer to a third party compared to the revenue it typically earns from directly taking the customer's order through its own Web site and arranging fulfillment by a third party. In addition, once the customer has established a relationship with the partner, the customer is likely to return directly to the partner for its future requirements. In this situation, the original referring vendor may not receive any further revenue from these subsequent transactions between its partner and the customer
 Another problem is that when the end user is redirected to a third party Web site, the partner site may have
a very different user interface and may provide a less compelling user experience than the original site. This can be frustrating to the end user and may break the process of the customer's interaction with the e-commerce vendor. The process of redirecting the customer to a different site also may provide the customer with an opportunity to consider other alternatives or may cause the customer to simply terminate the shopping session.
 Assuming that the customer did proceed to place an order after being re-directed to the partner site, then there would be an additional requirement for a subsequent exchange or synchronization of information between the referring vendor and the fulfillment partner about the products the customer had ordered, the value of the transaction, the date the transaction was fulfilled and billed to the customer, the split of customer revenue between the e-commerce vendor and the third party partner and other associated details. This exchange of information can be problematic as both the e-commerce vendor and its business partner are often reluctant to share too many details about their respective customers, products, and revenues with the other party.
 For these reasons, e-commerce vendors want to retain control of their customers on their own sites rather than redirecting their customers to a third party site, even if they have a relationship with the third party and obtain a share of the resulting revenue. These vendors need a better solution to offer third party products and services in a seamless manner that makes the third party offering appear like a self-contained vendor-branded offering and provides a consistent user experience for their customers. These vendors also require an efficient way to obtain, retain and track the appropriate information about all transactions with the customer initiated through their Web sites. Given the everincreasing popularity of e-commerce, there is much interest in finding a solution to these problems.
 De-queue: De-queuing initiates the execution of the Task with the highest priority at the head of the queue. De-queuing, in the context of this disclosure, does not remove the element (Task) from the queue.
 Enqueue: Enqueuing appends a Task to the tail of the queue.
 HTML: HTML stands for HyperText Markup Language. Every HTML document requires certain standard HTML tags in order to be correctly interpreted by Web browsers. Each document consists of head and body text. The head contains the title, and the body contains the actual text that is made up of paragraphs, lists, and other elements. Browsers expect specific information because they are programmed according to HTML and SGML specifications. Further description of HTML documents is available in the technical and trade literature; see e.g., Ray Duncan, Power Programming: An HTML Primer, PC Magazine, Jun. 13, 1995, the disclosure of which is hereby incorporated by reference.
 HTTP: Stands for "HyperText Transfer Protocol", which is the underlying communication protocol used by the World Wide Web on the Internet. HTTP defines how messages are formatted and transmitted, and what actions Web
servers and browsers should take in response to various commands. For example, when a user enters a URL in his or her browser, this actually sends an HTTP command to the Web server directing it to fetch and transmit the requested Web page. Further description of HTTP is available in RFC 2616: Hypertext Transfer Protocol—HTTP/1.1, the disclosure of which is hereby incorporated by reference. RFC 2616 is available from the World Wide Web Consortium (W3), and is currently available via the Internet at http:// www.w3.org/Protocols/. Additional description of HTTP is available in the technical and trade literature; see e.g., William Starlings, The Backbone of the Web, BYTE, October 1996, the disclosure of which is hereby incorporated by reference.
 Java: A general purpose programming language developed by Sun Microsystems. Java is an object-oriented language similar to C++, but simplified to eliminate language features that cause common programming errors. Java source code files (files with a java extension) are compiled into a format called bytecode (files with a class extension), which can then be executed by a Java interpreter. Compiled Java code can run on most computers because Java interpreters and runtime environments, known as Java Virtual Machines (JVMs), exist for most operating systems, including UNIX, the Macintosh OS, and Windows. Bytecode can also be converted directly into machine language instructions by a just-in-time compiler (JIT). Further description of the Java Language environment can be found in the technical, trade, and patent literature; see e.g., Gosling, J. et al., The Java Language Environment: A White Paper, Sun Microsystems Computer Company, October 1995, the disclosure of which is hereby incorporated by reference.
 JPEG: Full-size digital images are maintained in a Joint Photographic Experts Group or JPEG format. See e.g., Nelson, M. et al., The Data Compression Book, Second Edition, Chapter 11: Lossy Graphics Compression (particularly at pp. 326-330), M&T Books, 1996.
 Also see e.g., J'PEG-likeImage Compression (Parts 1 and 2), Dr. Dobb's Journal, July 1995 and August 1995 respectively (available on CD ROM as Dr. Dobb's/CD Release 6 from Dr. Dobb's Journal of San Mateo, Calif.). The disclosures of the foregoing are hereby incorporated by reference.
 Servlet: An applet that runs on a server. The term usually refers to a Java applet that runs within a Web server environment. This is analogous to a Java applet that runs within a Web browser environment. Java servlets are becoming increasingly popular as an alternative to CGI programs. The biggest difference between the two is that a Java applet is persistent. Once it is started, a servlet stays in memory and can fulfill multiple requests. In contrast, a CGI program disappears once it has fulfilled a request. The persistence of Java applets tends to make them faster.
 SKU: SKU stands for Stock Keeping Unit and is a number associated with a product for inventory control purposes. Each SKU identifies an individual product and each SKU is unique to the vendor of the product. As used herein, SKU refers broadly to any product identification scheme.
 Task: A Task is generically referred to as a job employs a group of finer-grained operations. However, in
the context of this invention, a Task, and its orchestrated subtasks, all of which are run by the order engine, are sequenced and determined by state that is maintained in the order engine's database. This scheme of state-determined execution is the underlying mechanism for guaranteeing the service provided by the preferred embodiment. Task processing is not merely in-line code.
 TCP: TCP stands for Transmission Control Protocol. TCP is one of the main protocols in TCP/IP networks. Whereas the IP protocol deals only with packets, TCP enables two hosts to establish a connection and exchange streams of data. TCP guarantees delivery of data and also guarantees that packets will be delivered in the same order in which they were sent. For an introduction to TCP, see, e.g., RFC 793, the disclosure of which is hereby incorporated by reference.
 TCP/IP: Stands for Transmission Control Protocol/ Internet Protocol, the suite of communications protocols used to connect hosts on the Internet. TCP/IP uses several protocols, the two main ones being TCP and IP. TCP/IP is built into the UNIX operating system and is used by the Internet, making it the de facto standard for transmitting data over networks. For an introduction to TCP/IP, see e.g., RFC 1180: A TCP/IP Tutorial, the disclosure of which is hereby incorporated by reference. A copy of RFC 1180 is currently available at ftp://ftp.isi.edu/in-notes/rfcll80.txt.
 URL: Abbreviation of Uniform Resource Locator, the global address of documents and other resources on the World Wide Web. The first part of the address indicates what protocol to use, and the second part specifies the IP address or the domain name where the resource is located.
 XML: Short for Extensible Markup Language, a specification developed by the W3C. XML is a pared-down version of SGML, designed especially for Web documents. It allows designers to create their own customized tags, enabling the definition, transmission, validation, and interpretation of data between applications and between organizations. For further description of XML, see, e.g., Extensible Markup Language (XML) 1.0 specification which is available from the World Wide Web Consortium (www.w3.org), the disclosure of which is hereby incorporated by reference. The specification is also currently available on the Internet at http://www.w3.org/TR/REC-xml.
SUMMARY OF THE INVENTION
 The present invention provides an improved system for an e-commerce vendor to seamlessly incorporate products and services from a third party Web site into its own e-commerce site. This system enables the e-commerce vendor to display and market the third party products and to accept orders and arrange fulfillment of these products through its own site in a manner that is seamless to the end user.
 The system includes a retailer Web site, a supplier image server, an order engine, and (optionally) a third party fulfiller. The retailer is a typical e-commerce Internet Web site as described above that offers various products and services to customers via the Internet. The image server, which in an exemplary installation/deployment is typically operated by a third party supplier, contains images of products that are each identified by a unique identification