Data transmission and rendering techniques implemented over a client-server system

Information

  • Patent Grant
  • 8601365
  • Patent Number
    8,601,365
  • Date Filed
    Wednesday, October 27, 2010
    14 years ago
  • Date Issued
    Tuesday, December 3, 2013
    11 years ago
Abstract
Different techniques are disclosed for generating formatted information for display on a computing device. The computing device may be configured to include at least one interface for communicating with a server system. The computing device sends a request to the server system. According to one embodiment, the request may correspond to an HTTP request for information relating to a specific HTML page or web page. A response is then received from the server system. The response can include response information having instructions and data. The instructions may include instructions for using the data to generate formatted markup information for display on the computing device. The instructions then can be executed on the data to generate formatted markup information for display on the computing device. The formatted markup information can correspond to HTML data to be rendered for display on the computing device.
Description
BACKGROUND OF THE INVENTION

The present invention relates generally to data networks, and more specifically to data transmission and rendering techniques to be implemented in a client-server system.



FIG. 1 shows a block diagram of a typical client-server system 100, wherein the client device 102 and the server device 106 communicate with each other via the Internet 104.


In most Internet-based client-server systems, when a client process 102 desires specific information from a remote server (such as, for example, a web page), the client process transmits an HTTP request to the server 106 (via Internet 104), and the server responds by transmitting an HTTP response to the client which includes HTML data. A browser on the client machine renders the HTML data and displays it to the user in the form of an HTML (i.e. web) page. This entire process may be initiated by the user at the click of a button, such as, for example, by clicking a mouse button on a URL link. However, the desired information will typically not be displayed instantaneously. Rather, the user typically is required to wait a time interval (referred to as the end-user experienced response time) until the desired information is retrieved from the server system and displayed on the client machine. This delay is undesirable. Accordingly, it will be appreciated that it is generally desirable to reduce the end-user experienced response time.


SUMMARY OF THE INVENTION

According to different embodiments of the present invention, a method and computer program product are disclosed for generating formatted information for display on a computer system. The computer system may be configured to include at least one interface for communicating with a server computer system. A request is sent from the computer system to the server system. According to one embodiment, the request may correspond to an HTTP request for information relating to a specific HTML page or web page. A response is then received from the server system. According to one embodiment, the response includes response information comprising embedded instructions and data. The embedded instructions may include instructions for using the data to generate formatted markup information for display on the computer system. The embedded instructions are then executed on the data to thereby generate formatted markup information for display on the computer system. According to a specific embodiment, the formatted markup information corresponds to HTML data to be rendered for display on the computer system.


Other embodiments are directed to a method and computer program product for generating formatted information for display on a computer system. The computer system may be configured to include at least one interface for communicating with a server computer system. A request for desired information is received from the computer system. According to one embodiment, the request may correspond to an HTTP request for information relating to a specific HTML page or web page. A response is then sent to the computer system. According to one embodiment, the response includes response information comprising embedded instructions and data. The embedded instructions may include instructions for using the data to generate formatted markup information for display on the computer system. According to a specific embodiment, the formatted markup information corresponds to HTML data to be rendered for display on the computer system.


An alternate embodiment of the present invention is directed to a system for generating formatted information for display on a computer system. The system comprises at least one CPU, memory, and at least one interface for communicating with a server computer system. The system may be configured to send a request to the server system via the at least one interface. According to one embodiment, the request may correspond to an HTTP request for information relating to a specific HTML page or web page. The system may further be configured to receive a response from the server system, wherein the response includes response information comprising embedded instructions and data. The embedded instructions may include instructions for using the data to generate formatted markup information for display on the computer system. The system may be further configured to execute the embedded instructions on the data to thereby generate formatted markup information for display on the computer system. According to a specific embodiment, the formatted markup information corresponds to HTML data to be rendered for display on the computer system.


Another embodiment of the present invention is directed to a system for generating formatted information for display on a computer system. The system comprises at least one CPU, memory, and at least one interface for communicating with a client computer system. The system may be configured to receive a request for desired information from the client computer. According to one embodiment, the request may correspond to an HTTP request for information relating to a specific HTML page or web page. The system may further be configured or designed to send a response to the client computer, wherein the response includes response information comprising embedded instructions and data. The embedded instructions may include instructions for using the data to generate formatted markup information for display on the client system. According to a specific embodiment, the formatted markup information corresponds to HTML data to be rendered for display on the client system.


Additional objects, features and advantages of the various aspects of the present invention will become apparent from the following description of its preferred embodiments, which description should be taken in conjunction with the accompanying drawings.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 shows a block diagram of a conventional client-server system 100.



FIG. 2A shows an example of an HTML page which may be used to illustrate the data transmission and rendering techniques of the present invention.



FIG. 2B shows an example of conventional HTML source code which may be provided by a conventional server to a conventional client device in response to an HTTP request.



FIG. 2C illustrates a specific embodiment of the source code which may be provided by a server to a client device in accordance with a specific embodiment of the present invention.



FIG. 3 shows a flow diagram illustrating how information is transmitted between a client system and a server system in accordance with a specific embodiment of the present invention.



FIG. 4 shows a network device 60 suitable for implementing the data transmission and rendering techniques of the present invention.





DESCRIPTION OF THE PREFERRED EMBODIMENT

This application describes various features associated with data transmission and rendering techniques to be implemented in a client-server system. It will be appreciated, therefore, that the data transmission and rendering techniques described in this application merely define specific embodiments of the data transmission and rendering techniques of the present invention. Alternate embodiments of the data transmission and rendering techniques of the present invention may be derived by modifying various features of the specific embodiment described herein. Such modifications will be apparent to one having ordinary skill in the art.


As described previously in the Background Section of this application, it is generally desirable to reduce the end-user experienced response time as much as possible. In this regard, it will be appreciated that a combination of different factors may contribute to the overall end-user experienced response time, such as, for example, the server response time, communication latency, download time, client processing speed, etc. The server response time indicates how quickly a server is able to respond to a particular request, such as, for example, an HTTP request. The communication latency represents the start up costs associated with the connection between the client and the server. Typically, each time the user clicks on a particular link in a web browser application, a connection to a server is established, which incurs another latency period. The client processing speed corresponds to how quickly the client (or browser machine) is able to render the page as it receives it. The download time represents an amount of time that it takes to download a requested page once the request has been received and processed by the server. This value may be significantly affected by the connection speed that has been established between the client and the server.


With the limited connection speeds that are typically established between the client and the server, one of the more significant factors in the end-user experienced response time is the size of the page being downloaded. Thus, it will be appreciated that, by reducing the amount of bytes to be downloaded from the server process, the end-user experienced response time may also be reduced.



FIG. 2A shows an example of an HTML page which may be used to illustrate the data transmission and rendering techniques of the present invention. The HTML page 200 of FIG. 2A represents the web page which is displayed to a user of the client device 102. In the example of FIG. 2A, it is assumed that the web page 200 represents a phone book page which includes personalized contact information specific to that user. For example, a first entry 202 on page 200 provides personalized information for a contact named Bryan. A second entry 204 on page 200 provides personalized information for a contact named Dean. A third entry 206 on page 200 provides personalized information for a contact named Ajit. A fourth entry 208 on page 200 provides personalized information for a contact named Narasimha.



FIG. 2B shows an example of conventional HTML source code which may be provided by the server 106 to the client device 102, and subsequently used by a conventional web browser (such as, for example, Netscape Navigator or Internet Explorer) on the client device for rendering the web page 200. As illustrated in FIG. 2B, each entry 212, 214, 216 and 218 in the HTML source code corresponds to a respective entry 202, 204, 206, 208 displayed on web page 200. Moreover, it will be appreciated that each character of text which is displayed on the web page 200 is included in the HTML source code of FIG. 2B.



FIG. 2C illustrates a specific embodiment of modified source code which may be provided by the server 106 to the client device 102, and subsequently used for rendering the HTML page 200 in accordance with a specific embodiment of the present invention. As shown in FIG. 2C, the source code includes an embedded instruction portion 222 and an embedded data portion 224. In the example of FIG. 2C, it is assumed that the embedded instruction portion 222 is implemented using a scripting language such as, for example, JavaScript, and that the client web browser is capable of executing the embedded instructions. When compared to the source code of FIG. 2B, it can be seen at the source code of FIG. 2C includes fewer bytes of information. For example, it can be seen that the characters “If you want to send a fax, please use” are repeated four (4) times in FIG. 2B, but are included only once in FIG. 2C. The data portion 224 includes all the customized data which will eventually be rendered into customized HTML data.


It will be appreciated that the actual number of bytes to be transferred from the server 106 to the client device 102 in FIG. 2B is significantly greater than that of FIG. 2C. More specifically, the byte size of the data represented by FIG. 2B is 1,730 bytes, whereas the byte size of the data represented by FIG. 2C is 960 bytes.


Thus, according to at least one embodiment of the present invention, rather than the server 106 sending the entire HTML source code (as shown in FIG. 2B) to the client machine 102, the server may transmit embedded instructions and data (as shown in FIG. 2C) to the client machine, wherein the embedded instructions and data are processed at the client machine to thereby generate HTML data to be rendered for displaying to a user.



FIG. 3 shows a flow diagram illustrating how information is transmitted between a client system 102 and a server system 106 in accordance with a specific embodiment of the present invention. It will be appreciated that the flow diagram of FIG. 3 merely represents an example of a specific embodiment of how the technique of the present invention may be used to reduce the amount of actual bytes transferred from a server device to a client device.


Referring to FIG. 3, it is initially assumed that the client transmits (1) an HTTP request to the server 106. For purposes of illustration, it is assumed that the HTTP request corresponds to a request to retrieve web page 200 of FIG. 2A. The server responds (2) by transmitting an HTTP response to the client machine. According to a specific embodiment, the HTTP response includes embedded instructions and data such as that shown, for example in FIG. 2C. According to a specific implementation, the embedded data may be in ASCII text format. The embedded data may also be in other forms, such as, for example, Unicode. Additionally, according to specific embodiments, the embedded instructions may correspond to scripting language which can be interpreted by a browser or other rendering program, or alternatively, may correspond to executable code, such as, for example, a plug-in, which may be executed on at the client system 102. In the example of FIG. 3, it is assumed that the embedded instructions are implemented using JavaScript.


Upon receiving the HTTP response, the client machine may execute (3) the JavaScript on the data provided in the HTTP response to thereby generate HTML code for rendering on the client machine. According to a specific embodiment, this action may be performed by a browser application that has been configured or designed to interpret scripting instruction language such as, for example, JavaScript or JSCRIPT. Alternatively, the embedded instructions may correspond to executable code which is executed on the client system using the data from the HTTP response to generate the HTML code. A web browser or other rendering program on the client machine may than use the generated HTML code to render (4) the HTML page to be displayed on the client machine's display device.


It will be appreciated that, according to a specific embodiment of the present invention, the response transmitted from the server 106 to the client system 102 may not always include both embedded instructions and embedded data. In one implementation, the particular request transmitted by the client system to the server may be used by the server determine whether the response to the client should include only data, or both data and instructions.


By way of illustration, it is assumed that the server 106 has already transmitted a first response to client 102 which includes embedded instructions 222 and data 224 as shown in FIG. 2C. Further, it is assumed that a browser program has executed the instructions 222 on the data 224 to generate HTML data, which the browser program then rendered for display as shown in FIG. 2A. Additionally, in this example, it is assumed that the rendered page includes two additional links (not illustrated in FIG. 2A). The first link is displayed as “VIEW CALENDAR”, and the second link is displayed as “NEXT PAGE”. If the user clicks on the NEXT PAGE link, the client system will send a request to the server to retrieve the next page of contact information. When the server receives this request, it may determine from the request that it need only send the data portion relating to the next page of contact information. The client system has previously received the embedded instructions 222 for rendering the next page data. Thus, when the client system subsequently receives a response from the server which includes the next page data portion (but does not include the embedded instructions portion), the client machine may execute the previously received instructions 222 on the newly received data to thereby render the next page of contact information for display to the user.


Alternatively, if the user clicks on the VIEW CALENDAR link, the client system will send a request to the server to retrieve calendar information (which is assumed to be displayed using a different format than that shown in FIG. 2A). When the server receives this request, it may determine from the request that it needs to send both new data (i.e. calendar data) and new instructions (for rendering the calendar data) to the client system. Upon receiving the response from the server, the client system may then execute new instructions on the calendar data to thereby generate HTML data to be rendered for display to the user.


From the above description, it will be appreciated that the data transmission and rendering techniques of the present invention may be used to reduce the amount of actual bytes transferred from a server system (e.g., 106, FIG. 1) to a client system (e.g., 102, FIG. 1) in response to a specific client request. In this way the technique of the present invention may significantly improve the end-user experienced response time by reducing the amount of actual bytes which need to be received at the client machine, for example, during a single request-response transaction. Moreover, it will be appreciated that the technique of the present invention may be utilized in environments where connection speed is a significant factor in the end-user experienced response time.


Generally, the data transmission and rendering techniques of the present invention may be implemented on software and/or hardware. For example, they can be implemented in an operating system kernel, in a separate user process, in a library package bound into network applications, on a specially constructed machine, or on a network interface card. In a specific embodiment of this invention, the technique of the present invention is implemented in software such as an operating system or in an application running on an operating system.


A software or software/hardware hybrid implementation of the data transmission and rendering technique of this invention may be implemented on a general-purpose programmable machine selectively activated or reconfigured by a computer program stored in memory. Such programmable machine may be a computer system or network device such as that shown in FIG. 4 of the drawings. The network device may have multiple network interfaces including, for example, frame relay, Ethernet, ISDN, etc. Specific examples of such a network device include routers and servers. A general architecture for some of these machines will appear from the description given below. In an alternative embodiment, the data transmission and rendering technique of this invention may be implemented on a general-purpose network host machine such as a personal computer or workstation. Further, the invention may be at least partially implemented on a card (e.g., an interface card) for a network device or a general-purpose computing device.


Referring now to FIG. 4, a network device 60 suitable for implementing the data transmission and rendering techniques of the present invention includes a master central processing unit (CPU) 62, interfaces 68, and a bus 67 (e.g., a PCI bus). When acting under the control of appropriate software or firmware, the CPU 62 may be responsible for implementing specific functions associated with the functions of a desired network device. For example, when configured as a client network device, the CPU 62 may be responsible for such tasks as transmitting and receiving information to and from other network devices, analyzing received information, executing JavaScript, generating HTML data using non-HTML data received from another network device, rendering HTML data for display to a user, etc. The CPU 62 preferably accomplishes all these functions under the control of software including an operating system (e.g., Windows NT), and any appropriate applications software.


CPU 62 may include one or more processors 63 such as a processor from the Motorola family of microprocessors or the MIPS family of microprocessors. In an alternative embodiment, processor 63 is specially designed hardware for controlling the operations of network device 60. In a specific embodiment, a memory 61 (such as non-volatile RAM and/or ROM) also forms part of CPU 62. However, there are many different ways in which memory could be coupled to the system. Memory block 61 may be used for a variety of purposes such as, for example, caching and/or storing data, programming instructions, etc.


The interfaces 68 are typically provided as interface cards (sometimes referred to as “line cards”). Generally, they control the sending and receiving of data packets over the network and sometimes support other peripherals used with the network device 60. Among the interfaces that may be provided are Ethernet interfaces, frame relay interfaces, cable interfaces, DSL interfaces, token ring interfaces, and the like. In addition, various very high-speed interfaces may be provided such as fast Ethernet interfaces, Gigabit Ethernet interfaces, ATM interfaces, HSSI interfaces, POS interfaces, FDDI interfaces and the like. Generally, these interfaces may include ports appropriate for communication with the appropriate media. In some cases, they may also include an independent processor and, in some instances, volatile RAM. The independent processors may control such communications intensive tasks as packet switching, media control and management. By providing separate processors for the communications intensive tasks, these interfaces allow the master microprocessor 62 to efficiently perform routing computations, network diagnostics, security functions, etc.


Although the system shown in FIG. 4 illustrates one specific network device of the present invention, it is by no means the only network device architecture on which the present invention can be implemented. For example, an architecture having a single processor that handles communications as well as routing computations, etc. is often used. Further, other types of interfaces and media could also be used with the network device.


Regardless of network device's configuration, it may employ one or more memories or memory modules (such as, for example, memory block 65) configured to store data, program instructions for the general-purpose network operations and/or other information relating to the functionality of the data transmission and rendering techniques described herein. The program instructions may control the operation of an operating system and/or one or more applications, for example. The memory or memories may also be configured to include data structures which store data received from other network devices, locally generated HTML data, rendered HTML pages, etc.


Because such information and program instructions may be employed to implement the systems/methods described herein, the present invention relates to machine readable media that include program instructions, state information, etc. for performing various operations described herein. Examples of machine-readable media include, but are not limited to, magnetic storage media such as hard disks, floppy disks, and magnetic tape; optical media such as CD-ROM disks; magneto-optical media such as floptical disks; and hardware devices that are specially configured to store and perform program instructions, such as read-only memory devices (ROM) and random access memory (RAM). The invention may also be embodied in transmission media such as a carrier wave travelling over an appropriate medium such as airwaves, optical lines, electric lines, etc. Examples of program instructions include both machine code, such as produced by a compiler, and files containing higher level code that may be executed by the computer using an interpreter.


Although several preferred embodiments of this invention have been described in detail herein with reference to the accompanying drawings, it is to be understood that the invention is not limited to these precise embodiments, and at various changes and modifications may be effected therein by one skilled in the art without departing from the scope of spirit of the invention as described herein.

Claims
  • 1. A first computing device for facilitating accessing information by a user and displaying information for the user via a network, the first computing device comprising: a processing unit;a data storage unit; anda first network interface being configured to communicate with a second computing device via the network;the first computing device being configured to receive a first request from the second computing device via the network for at least a portion of a first set of formatted markup information to be displayed on the second computing device;transmit a first response to the second computing device, the first response being responsive to the first request and including instructions and a first set of data, the first response giving the second computing device the ability to generate at least a portion of the first set of formatted markup information by executing at least a portion of the instructions on at least a portion of the first set of data, with the byte size of the at least a portion of the instructions and the at least a portion of the first set of data together being less than the byte size of the at least a portion of the first set of formatted markup information being generated for display;subsequently receive a second request from the second computing device via the network for additional information to be displayed on the second computing device; andtransmit a second response to the second computing device, the second response being responsive to the second request and including at least a second set of data, the second response giving the second computing device the ability to generate at least a portion of a second set of formatted markup information by executing at least a portion of the previously transmitted instructions on at least a portion of the second set of data, wherein the at least a portion of the second set of formatted markup information is generated at the second computing device without having to re-transmit the previously transmitted instructions.
  • 2. The first computing device as recited in claim 1, wherein the first network interface is implemented on an interface card.
  • 3. The first computing device as recited in claim 2, wherein the interface card includes another processing unit to be responsible for at least a portion of the receiving and transmitting process.
  • 4. The first computing device as recited in claim 1, wherein the first computing device includes at least a second network interface, the speed of the first network interface being higher than the speed of the second network interface.
  • 5. The first computing device as recited in claim 4, wherein at least one of the network interfaces is an Ethernet interface.
  • 6. The first computing device as recited in claim 4, wherein at least one of the network interfaces is an ATM interface.
  • 7. The first computing device as recited in claim 4, wherein the lower speed network interface is an Ethernet interface, andwherein the higher speed network interface is an ATM interface.
  • 8. The first computing device as recited in claim 1, wherein the at least a portion of the instructions are executed on the at least a portion of the first set of data by a program at the second computing device to generate the at least a portion of the first set of formatted markup information for display on the second computing device.
  • 9. The first computing device as recited in claim 8, wherein the program is a browser application.
  • 10. The first computing device as recited in claim 9, wherein the at least a portion of the instructions corresponds to a scripting language.
  • 11. The first computing device as recited in claim 10, wherein the scripting language is JavaScript.
  • 12. The first computing device as recited in claim 1, wherein the at least a portion of the instructions are executable code.
  • 13. The first computing device as recited in claim 1, wherein the at least a portion of the instructions are a plug-in.
  • 14. The first computing device as recited in claim 1, wherein the at least a portion of the first set of formatted markup information is in HTML.
  • 15. The first computing device as recited in claim 1, wherein the first computing device belongs to an integrated system for electronic commerce, andwherein the first set of formatted markup information includes information regarding a plurality of products available for the user to order via the second computing device.
  • 16. The first computing device as recited in claim 1, wherein the first set of formatted markup information includes a link when displayed on the second computing device, andwherein in view of the link being selected via the second computing device, the second request is received by the first computing device, and in view of the second request, the first computing device is configured to transmit the second response to the second computing device.
  • 17. The first computing device as recited in claim 1, wherein the first set of formatted markup information includes a link when displayed on the second computing device, andwherein in view of the link being selected via the second computing device, another request is received by the first computing device, and in view of the another request, the first computing device is configured to transmit another response to the second computing device with instruction and data to generate additional formatted markup information, with the instructions to be executed on the data to generate the additional formatted markup information.
  • 18. A first computing device for facilitating accessing information by a user and displaying information for the user via a network, the first computing device comprising: a processing unit;a data storage unit; anda first network interface being configured to communicate with a second computing device via the network;the first computing device being configured to receive a first request from the second computing device via the network regarding at least a portion of a first set of formatted markup information to be displayed on the second computing device;transmit a first response to the second computing device, the first response being responsive to the first request and including instructions and a first set of data, the first response giving the second computing device the ability to generate at least a portion of the first set of formatted markup information by executing at least a portion of the instructions on at least a portion of the first set of data, with the byte size of the at least a portion of the instructions and the at least a portion of the first set of data together being less than the byte size of the at least a portion of the first set of formatted markup information being generated for display;subsequently receive a second request from the second computing device via the network regarding additional information to be displayed on the second computing device; andtransmit a second response to the second computing device, the second response being responsive to the second request and including at least a second set of data, the second response giving the second computing device the ability to generate at least a portion of a second set of formatted markup information by executing at least a portion of the previously transmitted instructions on at least a portion of the second set of data, wherein the at least a portion of the second set of formatted markup information can be generated at the second computing device without having to re-transmit the previously transmitted instructions,wherein the first set of formatted markup information includes a first link and a second link when displayed on the second computing device,wherein in view of the first link being selected via the second computing device, the second request is received by the first computing device, and in view of the second request, the first computing device is configured to transmit the second response to the second computing device, andwherein in view of the second link being selected via the second computing device, another request is received by the first computing device, and in view of the another request, the first computing device is configured to transmit another response to the second computing device with instruction and data to generate additional formatted markup information, with the instructions to be executed on the data to generate the additional formatted markup information.
  • 19. A non-transitory computer readable medium comprising a plurality of instructions for facilitating accessing information by a user and displaying information for the user via a network, the plurality of instructions, when executed by a computing device, result in the computing device: receiving a first request from a second computing device via the network for at least a portion of a first set of formatted markup information to be displayed on the second computing device;transmitting a first response to the second computing device, the first response being responsive to the first request and including instructions and a first set of data, the first response giving the second computing device the ability to generate at least a portion of the first set of formatted markup information by executing at least a portion of the instructions on at least a portion of the first set of data, with the byte size of the at least a portion of the instructions and the at least a portion of the first set of data together being less than the byte size of the at least a portion of the first set of formatted markup information being generated for display;subsequently receiving a second request from the second computing device via the network for additional information to be displayed on the second computing device; andtransmitting a second response to the second computing device, the second response being responsive to the second request and including at least a second set of data, the second response giving the second computing device the ability to generate at least a portion of a second set of formatted markup information by executing at least a portion of the previously transmitted instructions on at least a portion of the second set of data, wherein the at least a portion of the second set of formatted markup information is generated at the second computing device without having to re-transmit the previously transmitted instructions.
  • 20. The non-transitory computer readable medium as recited in claim 19, wherein the first computing device includes at least a first network interface being configured to communicate with the second computing device via the network, andwherein the first computing device further includes a second network interface, the speed of the first network interface being higher than the speed of the second network interface.
CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 12/378,643, filed Feb. 17, 2009, now U.S. Pat. No. 7,853,870, entitled: “Data Transmission And Rendering Techniques Implemented Over A Client-Server System,” which is incorporated herein by reference in its entirety for all purposes, and which application is a continuation of U.S. patent application Ser. No. 11/821,307, filed Jun. 22, 2007, now U.S. Pat. No. 7,493,554, entitled: “Data Transmission And Rendering Techniques Implemented Over A Client-Server System,” which is incorporated herein by reference in its entirety for all purposes, and which application is a continuation of U.S. patent application Ser. No. 09/792,400, filed Feb. 22, 2001, now U.S. Pat. No. 7,240,283, entitled: “Data Transmission and Rendering Techniques Implemented Over A Client-Server System,” which is incorporated herein by reference in its entirety for all purposes, and which application claims priority under 35 USC 119(e) from U.S. Provisional Patent Application No. 60/247,392 filed Nov. 10, 2000, entitled: “Electronic Commerce Enabled Delivery System and Method,” the entirety of which is incorporated herein by reference for all purposes. The present application also relates to U.S. patent application Ser. No. 09/568,603, filed on May 10, 2000, now U.S. Pat. No. 7,177,825, entitled: “Integrated System for Ordering, Fulfillment, and Delivery of Consumer Products using a Data Network,” which is incorporated herein by reference in its entirety for all purposes.

US Referenced Citations (341)
Number Name Date Kind
2781643 Fairweather Feb 1957 A
3406532 Rownd et al. Oct 1968 A
3670867 Traube Jun 1972 A
3771679 Thelm Nov 1973 A
4213310 Buss Jul 1980 A
4455453 Parasekvakos et al. Jun 1984 A
4530067 Dorr Jul 1985 A
4656591 Goldberg Apr 1987 A
4792273 Specht Dec 1988 A
4799156 Shavit et al. Jan 1989 A
4803348 Lohrey et al. Feb 1989 A
4823984 Ficken Apr 1989 A
4887208 Schneider et al. Dec 1989 A
4936738 Brennan Jun 1990 A
4958280 Pauly et al. Sep 1990 A
5027269 Grant et al. Jun 1991 A
5038283 Caveney Aug 1991 A
5093794 Howie et al. Mar 1992 A
5101352 Rembert Mar 1992 A
5105627 Kurita Apr 1992 A
5113349 Nakamura et al. May 1992 A
5122959 Nathanson et al. Jun 1992 A
5235819 Bruce Aug 1993 A
5237158 Kern et al. Aug 1993 A
5246332 Bernard Sep 1993 A
5265006 Asthana Nov 1993 A
5272638 Martin et al. Dec 1993 A
5273392 Bernard Dec 1993 A
5322406 Pippin et al. Jun 1994 A
5334824 Martinez Aug 1994 A
5362948 Morimoto Nov 1994 A
5363310 Haj-Ali-Ahmadi et al. Nov 1994 A
5371852 Attanasio et al. Dec 1994 A
5395206 Cerny, Jr. Mar 1995 A
5402336 Spiegelhoff et al. Mar 1995 A
5428546 Shah et al. Jun 1995 A
5434394 Roach et al. Jul 1995 A
5444844 Inoue et al. Aug 1995 A
5450317 Lu et al. Sep 1995 A
5479530 Nair et al. Dec 1995 A
5533361 Halpern Jul 1996 A
5535407 Yanagawa et al. Jul 1996 A
5548518 Dietrich et al. Aug 1996 A
5553312 Gattey et al. Sep 1996 A
5568393 Ando et al. Oct 1996 A
5592378 Cameron et al. Jan 1997 A
5593269 Bernard Jan 1997 A
5598487 Hacker et al. Jan 1997 A
5615121 Babayev et al. Mar 1997 A
5640002 Ruppert et al. Jun 1997 A
5664110 Green et al. Sep 1997 A
5666493 Wojcik et al. Sep 1997 A
5687322 Deaton et al. Nov 1997 A
5694551 Doyle et al. Dec 1997 A
5708780 Levergood et al. Jan 1998 A
5710887 Chelliah et al. Jan 1998 A
5712989 Johnson et al. Jan 1998 A
5715314 Payne et al. Feb 1998 A
5758313 Shah et al. May 1998 A
5758328 Giovannoli May 1998 A
5758329 Wojcik et al. May 1998 A
5761673 Bookman et al. Jun 1998 A
5768139 Pippin et al. Jun 1998 A
5774660 Brendel et al. Jun 1998 A
5774668 Choquier et al. Jun 1998 A
5774670 Montulli Jun 1998 A
H1743 Graves et al. Aug 1998 H
5809479 Martin et al. Sep 1998 A
5816725 Sherman et al. Oct 1998 A
5826242 Montulli Oct 1998 A
5826825 Gabriet Oct 1998 A
5831860 Foladare et al. Nov 1998 A
5832457 Cherney Nov 1998 A
5834753 Danielson et al. Nov 1998 A
5835914 Brim Nov 1998 A
5839117 Cameron et al. Nov 1998 A
5848395 Edgar et al. Dec 1998 A
5870473 Boesch et al. Feb 1999 A
5878401 Joseph Mar 1999 A
5880443 McDonald et al. Mar 1999 A
5884216 Shah et al. Mar 1999 A
5893076 Hafner et al. Apr 1999 A
5894554 Lowery et al. Apr 1999 A
5895454 Harrington Apr 1999 A
5897622 Blinn et al. Apr 1999 A
5897629 Shinagawa et al. Apr 1999 A
5899088 Purdum May 1999 A
5910896 Hahn-Carlson Jun 1999 A
5918213 Bernard et al. Jun 1999 A
5922040 Prabhakaran Jul 1999 A
5943652 Sisley et al. Aug 1999 A
5943841 Wunscher Aug 1999 A
5949776 Mahany et al. Sep 1999 A
5950173 Perkowski Sep 1999 A
5956709 Xue Sep 1999 A
5960411 Hartman et al. Sep 1999 A
5961601 Iyengar Oct 1999 A
5963919 Brinkley et al. Oct 1999 A
5974401 Enomoto et al. Oct 1999 A
5979757 Tracy et al. Nov 1999 A
5983200 Slotznick Nov 1999 A
5987377 Westerlage et al. Nov 1999 A
5991739 Cupps et al. Nov 1999 A
5999914 Blinn et al. Dec 1999 A
6003015 Kang et al. Dec 1999 A
6006100 Koenck et al. Dec 1999 A
6016504 Arnold et al. Jan 2000 A
6023683 Johnson et al. Feb 2000 A
6023722 Colyer Feb 2000 A
6026378 Onozaki Feb 2000 A
6058417 Hess et al. May 2000 A
6061607 Bradley et al. May 2000 A
6070147 Harms et al. May 2000 A
6073108 Peterson Jun 2000 A
6076108 Courts et al. Jun 2000 A
6081789 Purcell Jun 2000 A
6083279 Cuomo et al. Jul 2000 A
6084528 Beach et al. Jul 2000 A
6085170 Tsukuda Jul 2000 A
6087952 Prabhakaran Jul 2000 A
6088648 Shah et al. Jul 2000 A
6094485 Weinstein et al. Jul 2000 A
6094642 Stephenson et al. Jul 2000 A
6098093 Baych et al. Aug 2000 A
6098152 Mounes-Toussi Aug 2000 A
6101481 Miller Aug 2000 A
6101486 Roberts et al. Aug 2000 A
6123259 Ogasawara Sep 2000 A
6128279 O'Neil et al. Oct 2000 A
6140922 Kakou Oct 2000 A
6144848 Walsh et al. Nov 2000 A
6157945 Balma et al. Dec 2000 A
6167380 Kennedy et al. Dec 2000 A
6167382 Sparks et al. Dec 2000 A
6178510 O'Connor et al. Jan 2001 B1
6182053 Rauber et al. Jan 2001 B1
6185479 Cirrone Feb 2001 B1
6185601 Wolff Feb 2001 B1
6185625 Tso et al. Feb 2001 B1
6215952 Yoshio et al. Apr 2001 B1
6223215 Hunt et al. Apr 2001 B1
6225995 Jacobs et al. May 2001 B1
6233543 Butts et al. May 2001 B1
6236972 Shkedy May 2001 B1
6236974 Kolawa et al. May 2001 B1
6249773 Allard Jun 2001 B1
6249801 Zisapel et al. Jun 2001 B1
6253292 Jhang et al. Jun 2001 B1
6260024 Shkedy Jul 2001 B1
6275812 Haq et al. Aug 2001 B1
6279001 DeBettencourt et al. Aug 2001 B1
6289260 Bradley et al. Sep 2001 B1
6289369 Sundaresan Sep 2001 B1
6289370 Panarello et al. Sep 2001 B1
6292784 Martin et al. Sep 2001 B1
6295553 Gilbertson et al. Sep 2001 B1
6324520 Walker et al. Nov 2001 B1
6332334 Faryabi Dec 2001 B1
6341269 Dulaney et al. Jan 2002 B1
6343275 Wong Jan 2002 B1
6347322 Bogantz et al. Feb 2002 B1
6351775 Yu Feb 2002 B1
6360256 Lim Mar 2002 B1
6369840 Barnett et al. Apr 2002 B1
6374300 Masters Apr 2002 B2
6385642 Chlan et al. May 2002 B1
6397246 Wolfe May 2002 B1
6405173 Honarvar et al. Jun 2002 B1
6421739 Holiday Jul 2002 B1
6424947 Tsuria et al. Jul 2002 B1
6424992 Devarakonda et al. Jul 2002 B2
6438652 Jordan et al. Aug 2002 B1
6445976 Ostro Sep 2002 B1
6453306 Quelene Sep 2002 B1
6463345 Peachey-Kountz et al. Oct 2002 B1
6463420 Guidice et al. Oct 2002 B1
6466949 Yang et al. Oct 2002 B2
6473802 Masters Oct 2002 B2
6480894 Courts et al. Nov 2002 B1
6484150 Blinn et al. Nov 2002 B1
6490567 Gregory Dec 2002 B1
6496205 White et al. Dec 2002 B1
6505093 Thatcher et al. Jan 2003 B1
6505171 Cohen et al. Jan 2003 B1
6526392 Dietrich et al. Feb 2003 B1
6530518 Krichilsky et al. Mar 2003 B1
6535880 Musgrove et al. Mar 2003 B1
6539494 Abramson et al. Mar 2003 B1
6549891 Rauber et al. Apr 2003 B1
6560717 Scott et al. May 2003 B1
6567786 Bibelnieks et al. May 2003 B1
6567848 Kusuda et al. May 2003 B1
6571213 Altendahl et al. May 2003 B1
6578005 Lesaint et al. Jun 2003 B1
6587827 Hennig et al. Jul 2003 B1
6587866 Modi et al. Jul 2003 B1
6594641 Southam Jul 2003 B1
6594692 Reisman Jul 2003 B1
6595342 Maritzen et al. Jul 2003 B1
6598024 Walker et al. Jul 2003 B1
6598027 Breen, Jr. Jul 2003 B1
6601101 Lee et al. Jul 2003 B1
6609159 Dukach et al. Aug 2003 B1
6622127 Klots et al. Sep 2003 B1
6629079 Spiegel et al. Sep 2003 B1
6629135 Ross, Jr. et al. Sep 2003 B1
6654726 Hanzek Nov 2003 B1
6671818 Mikurak Dec 2003 B1
6691165 Bruck et al. Feb 2004 B1
6697849 Carlson Feb 2004 B1
6697964 Dodrill et al. Feb 2004 B1
6701367 Belkin Mar 2004 B1
6711618 Danner et al. Mar 2004 B1
6718387 Gupta et al. Apr 2004 B1
6721713 Guheen et al. Apr 2004 B1
6741995 Chen et al. May 2004 B1
6748318 Jones Jun 2004 B1
6748418 Yoshida et al. Jun 2004 B1
6763496 Hennings et al. Jul 2004 B1
6772333 Brendel et al. Aug 2004 B1
6779016 Aziz et al. Aug 2004 B1
6788425 Ohtsuka et al. Sep 2004 B1
6792459 Elnozahy et al. Sep 2004 B2
6799165 Boesjes Sep 2004 B1
6801949 Bruck et al. Oct 2004 B1
6826613 Wang et al. Nov 2004 B1
6845503 Carlson et al. Jan 2005 B1
6859834 Arora et al. Feb 2005 B1
6862572 de Sylva Mar 2005 B1
6865601 Cherkasova et al. Mar 2005 B1
6873970 Showghi et al. Mar 2005 B2
6879965 Fung et al. Apr 2005 B2
6879995 Chinta et al. Apr 2005 B1
6888836 Cherkasova May 2005 B1
6901382 Richards et al. May 2005 B1
6904455 Yen Jun 2005 B1
6938079 Anderson et al. Aug 2005 B1
6947992 Shachor Sep 2005 B1
6957186 Guheen et al. Oct 2005 B1
6970837 Walker et al. Nov 2005 B1
6975937 Kantarjiev et al. Dec 2005 B1
6980962 Arganbright et al. Dec 2005 B1
6990460 Parkinson Jan 2006 B2
7010501 Roslak et al. Mar 2006 B1
7028187 Rosen Apr 2006 B1
7035914 Payne et al. Apr 2006 B1
7040541 Swartz et al. May 2006 B2
7043455 Cuomo et al. May 2006 B1
7062556 Chen et al. Jun 2006 B1
7085729 Kennedy et al. Aug 2006 B1
7124101 Mikurak Oct 2006 B1
7139637 Waddington et al. Nov 2006 B1
7139721 Borders et al. Nov 2006 B2
7165041 Guheen et al. Jan 2007 B1
7173177 Gould et al. Feb 2007 B1
7177825 Borders et al. Feb 2007 B1
7181539 Knight et al. Feb 2007 B1
7197547 Miller et al. Mar 2007 B1
7222161 Yen et al. May 2007 B2
7233914 Wijaya et al. Jun 2007 B1
7240283 Paila et al. Jul 2007 B1
7251612 Parker et al. Jul 2007 B1
7275042 Kelly et al. Sep 2007 B1
7299294 Bruck et al. Nov 2007 B1
7308423 Woodward et al. Dec 2007 B1
7346564 Kirklin et al. Mar 2008 B1
7366755 Cuomo et al. Apr 2008 B1
7370005 Ham et al. May 2008 B1
7383233 Singh et al. Jun 2008 B1
7437305 Kantarjiev Oct 2008 B1
7493554 Paila et al. Feb 2009 B2
7509407 Miller et al. Mar 2009 B2
7532947 Waddington et al. May 2009 B2
7603302 Drummond et al. Oct 2009 B1
7792712 Kantarjiev Sep 2010 B2
7801772 Woodward et al. Sep 2010 B2
7853870 Paila et al. Dec 2010 B2
7882501 Carlson et al. Feb 2011 B1
8010411 Woodward et al. Aug 2011 B2
8090626 Wijaya et al. Jan 2012 B1
8140183 Waddington et al. Mar 2012 B2
8326708 Kantarjiev et al. Dec 2012 B2
20010013007 Tsukuda Aug 2001 A1
20010016828 Philippe et al. Aug 2001 A1
20010037229 Jacobs et al. Nov 2001 A1
20010042021 Matsuo et al. Nov 2001 A1
20010042050 Fletcher et al. Nov 2001 A1
20010047285 Borders et al. Nov 2001 A1
20010047310 Russell Nov 2001 A1
20010049619 Powell et al. Dec 2001 A1
20010049672 Moore Dec 2001 A1
20010052024 Devarakonda et al. Dec 2001 A1
20020002513 Chiasson Jan 2002 A1
20020004766 White Jan 2002 A1
20020007299 Florence Jan 2002 A1
20020010633 Brotherston Jan 2002 A1
20020013950 Tomsen Jan 2002 A1
20020038224 Bhadra Mar 2002 A1
20020038261 Kargman et al. Mar 2002 A1
20020049853 Chu et al. Apr 2002 A1
20020050526 Swartz et al. May 2002 A1
20020065700 Powell et al. May 2002 A1
20020072994 Mori et al. Jun 2002 A1
20020103724 Huxter Aug 2002 A1
20020116279 Nobilio Aug 2002 A1
20020188530 Wojcik et al. Dec 2002 A1
20020194084 Surles Dec 2002 A1
20020194087 Spiegel et al. Dec 2002 A1
20030045340 Roberts Mar 2003 A1
20030065565 Wagner et al. Apr 2003 A1
20030079227 Knowles et al. Apr 2003 A1
20030119485 Ogasawara Jun 2003 A1
20030233190 Jones Dec 2003 A1
20040107125 Guheen et al. Jun 2004 A1
20040236635 Publicover Nov 2004 A1
20050027580 Crici et al. Feb 2005 A1
20050144641 Lewis Jun 2005 A1
20050261985 Miller et al. Nov 2005 A1
20060085250 Kantarjiev et al. Apr 2006 A1
20060142895 Waddington et al. Jun 2006 A1
20070016463 Borders et al. Jan 2007 A1
20070055580 Woodward et al. Mar 2007 A1
20070112647 Borders et al. May 2007 A1
20070136149 Woodward et al. Jun 2007 A1
20070162353 Borders et al. Jul 2007 A1
20070174144 Borders et al. Jul 2007 A1
20070250572 Narashimha et al. Oct 2007 A1
20080015959 Kruglikov et al. Jan 2008 A1
20080154709 Ham et al. Jun 2008 A1
20090063439 Rauser et al. Mar 2009 A1
20090094085 Kantarjiev Apr 2009 A1
20090150534 Miller et al. Jun 2009 A1
20090164570 Paila et al. Jun 2009 A1
20090222129 Waddington et al. Sep 2009 A1
20100241269 Ham et al. Sep 2010 A1
20100332402 Kantarjiev et al. Dec 2010 A1
20110047210 Paila et al. Feb 2011 A1
20110173090 Miller et al. Jul 2011 A1
20110258074 Woodward et al. Oct 2011 A1
20120095879 Wijaya et al. Apr 2012 A1
20120173449 Waddington et al. Jul 2012 A1
Foreign Referenced Citations (5)
Number Date Country
0 425 405 May 1991 EP
2696722 Apr 1994 FR
2 265 032 Sep 1993 GB
WO 9907121 Feb 1999 WO
WO 9909508 Feb 1999 WO
Non-Patent Literature Citations (99)
Entry
“Peapod Interactive Grocery Shopping and Delivery Service Now Delivers Via the Internet”, Press Release, peapod.com, Apr. 22, 1996, pp. 1-2.
Anupindi et al., “Estimation of Consumer Demand with Stock-Out Based Substitution: An Application to Vending Machine Product”, Marketing Science, vol. 17, No. 4, 1998, pp. 406-423.
Anon, Automatic ID News, “20/20 Results Achieved with Technology Trio”, Sep. 1995, p. 19.
eShopper: Resources for Web Buyeing. Savetz, Kevin; Gardiner, Peace, Computer Shopper, 19, 5, 280(1), May 1999.
Fynes, Brian, et al., The Impact of Electronic Data Interchange on Competitiveness in Retail Supply Chain, IBAR vol. 14, No. 2, pp. 16-28, 1993.
Hiroo Kawata, “Information Technology of Commercial Vehicles in the Japanese Parcel Service Business,” Abstract No., XP-000560489, 1992, pp. 371-382.
Hyten, Todd, “Stop & Shop mulls online grocery store”, Boston Business Journal (Boston, MA, US), Mar. 22, 1996, vol. 16, No. 6, p. 1.
Jaffe, Charles A. “Gas supplier takes timing seriously if deliveries are late, the product is free,” The Morning Call, Allentown, PA, Feb. 5, 1989, pp. 1-4.
Koster, Rene de, “Routing Orderpickers in a Warehouse: A Comparison Between Optimal and Heuristic Solutions,” IIE Transactions, May 1998, vol. 30, No. 5, p. 469.
Maloney, David, “The New Corner Drugstore”, Modern Materials Handling, May 1, 2000, vol. 55, No. 5, p. 58.
Norton, Tim R., “End-To-End Response-Time: Where to Measure?”, Computer Measurement Group Conference Proceedings, CMG99 Session 423, Dec. 1999, pp. 1-9.
“Numetrix Unveils xtr@; an Internet-Designed Solution for Real-Time Supply Chain Collaboration,” Business/Technology Editors, Business Wire, New York: Dec. 16, 1998, pp. 1-4.
Parker, Rachel, “UPS Pioneers a cellular data network”, InfoWorld, ABI/INFORM Global, Jun. 8, 1992, p. S59-S60.
Anon, PC Foods, “Customer Service Agreement,” printed from website: http://www.pcfoods.com, Abstract No. XP-002245026, 1999, pp. 1-2.
Pearce, Michael R. “From carts to clicks”, Ivey Business Quarterly, Autumn 1998, vol. 63, No. 1, p. 69-71.
Sekita, Takashi, “The Physical Distribution Information Network in the Home-Delivery Business,” Japan Computer Quarterly, Abstract No. XP-00.431194, 1990, pp. 23-32.
Smith et al., “Management of Multi-Item Retail Inventory Systems with Demand Substitution”, Operations Research, vol. 48, No. 1, Jan.-Feb. 2000, pp. 50-64.
Fielding et al., “Hypertext Transfer Protocol—HTTP/1.1, RFC 2616”, Network Working Group, Jun. 1999, pp. 1-90.
Towie, Henry, “On the Fast Track with Totaltracks: UPS Deploys Mobile Date Service,” Abstract No. XP-000560076, Document Delivery World, vol. 9, No. 3, 1993, pp. 30-31.
Van Den Berg, Jeroen P., “A Literature Survey on Planning and Control of Warehousing Systems”, IIE Transactions, Aug. 1999, vol. 31, No. 3, p. 751.
Vass et al., “The World Wide Web—Everything you (n)ever wanted to know about its server”, IEEE, Oct./Nov. 1998, pp. 33-37.
Wilson, Joe, “Selecting Warehouse Management Software (WMS) for Food Distribution Operations”, Frozen Food Digest, Oct. 1998, vol. 14, No. 1, p. 18.
Worth Wren Jr., Fort Worth Star-Telegram Texas, “Albertson's Expects Online Grocery Shopping to Boom”, KRTBN Knight-Ridder Tribune Business News (Fort Worth Star-Telegram, Texas), Nov. 9, 1998.
Wunnava et al., “Interactive Mulitmedia on the World Wide Web”, IEEE, Aug. 1999, pp. 110-115.
www.peapod.com, including Introduction to Peapod; How Peapod Works; Peapod: Choosing a Delivery Time; Peapod: Sending Your Order; Retrieved from Internet Archive (web.archive.org) on Jul. 23, 2006, alleged date Nov. 13, 1996, pp. 1-9.
Hoffman, Thomas, “New UPS CIO eyes cyberdelivery,” Computerworld, Nov. 11, 1996, 30, 46; ABI/INFORM Global, p. 4.
Booker, et al. “Up in the air”, Computerworld, Oct. 11, 1993; 27, 41; ABI/INFORM Global, p. 54.
“Imposing an Objective Viewpoint,” Modern Purchasing, vol. 36, Iss. 3, Mar. 1994, pp. 1-4.
“New Medium, new message,” The Economist, vol. 329, Iss. 7834, Oct. 23, 1993, p. S 16, pp. 1-5.
Alba et al., “Interactive home shopping: Consumer, retailer, and manufacturer incentives to participate in electronic marketeplaces”, Journal of Marketing, vol. 61, No. 3, Jul. 1, 1997, 18 pgs.
Bloch et al., “On the Road of Electronic Commerce—a Business Value Framework, Gaining Competitive Advantage and Some Research Issues”, Mar. 1996, 20 pages.
Brown Janelle, “Pod People Peapod, the online grocery service, sounds great—but can it deliver?” Salon Media Group, Inc., Dec. 17, 1998, 3 pages.
Corcoran, Cathy, “The Skeptic's Guide to on-line shopping. Who has time to shop for groceries? So we gave Peapod a test run.” The Patrior Ledger, Quincy, MA, Jul. 7, 1997, 4 pages.
Descartes Licenses Energy V6 Supply Chain Suite to Major Pepsi Bottler . . . News Release, Descartes Systems Group Inc., Waterloo Ontario, Aug. 27, 1998, 2 pages.
Dilger, Karen Abramic, “Warehouse Wonders”, Manufacturing Systems, vol. 15, No. 2, Feb. 1, 1997, 4 pages.
Dyson et al., “Electronic Delivery without the Internet (Digital Delivery of Newspapers)”, The Seybold Report on Publishing Systems, vol. 25, No. 1, ISBN: 0736-7260, Sep. 1, 1995, 9 pages.
Eckerson, Wayne, “Grocers put stock in EDI to streamline deliveries; New electronic data interchange systems offer a wealth of benefits for retailers and suppliers,” Network World, Inc., Aug. 7, 1989, 2 pages.
First Stop—Main Menu, website tour, Peapod, http://web.archive.org/web/19961113150913/www.peapod.com/tour1.html, 13 pages.
Frequently Asked Questions, Peapod, http://web.archive.org/web/19961113150832/www.peapod.com/question.html, 2 pages.
“Here's How Peapod Works,” http://web.archive.org/web/19961113151243/www.peapod.com/work.html, 2 pages.
“Installation and Shopping Tips for the Mac,” Peapod Video, 1993, 1 page.
“Introduction to Peapod,” webpages, Peapod, http://web.archive.org/web/19961113145506/www.peapod.com/intro.html, Nov. 13, 1996, 2 pages.
Ives, Blake et al., “The Information System as a Competitive Weapon”, Communications of the ACM, vol. 27, No. 12, Dec. 1984. 9 pages.
Maeglin, Kathy, “Services Take the ‘Shop’ Out of Shopping for Groceries”, The Capital Times, Mar. 20, 1997, 2 pages.
Mai et al., “Consumers' Perceptions of Specialty Foods and the Rural Mail Order Business”, 52nd EAAE Seminar—Parma, Jun. 19-21, 1997, pp. 331-348.
Malone et al., “Computers, Networks, and The Corporation,” Center for Information Systems Research, MIT, Aug. 1991, 14 pages.
Marsh, Barbara, “Peapod's On-Line Grocery Service Checks Out Success—Customers Shop Electronic Aisles; Finicky Workers Sack the Goods”, The Wall Street Journal, Jun. 30, 1994, 2 pages.
Meeker et al., The Internet Retailing Report, U.S. Investment Research, Morgan Stanley, May 28, 1997, 241 pages.
Menzies, David, “Checking out the aisles by computer: Cori Bonina, General Manager of Stong's market in Vancouver, has made a virtual success of a meat-and-potatoes business”, National Post, Dec. 1, 1998, 2 pages.
“More Information,” webpages, Peapod, http://web.archive.org/web/19961113145540/www.peapod.com/more.html, Nov. 13, 1996, 2 pages.
“Online Groceries, A Quicker Shopping Cart?” E-Commerce Customers—What, Where and Why They Buy, Standard Media Inc. and Odyssey, LP, Spring 2000, 19 pages.
Patterson, Rebecca H., “No Lines at Britain's First On-Line Grocery Store, but You Still May Wait”, The Wall Street Journal Europe, Jul. 25, 1997, 3 pages.
Peapod, Inc., Telephone Grocery Shopping Guide, Aug. 7, 1992, 3 introductory pages and pp. 1-12.
Podmolik, Mary Ellen, “Groceries Seeing Green From Computer Shopping”, Chicago Sun-Times, May 8, 1996, 1 page.
Poirier, Charles et al., Supply Chain Optimization, Building the Strongest Total Business Network, Berrett-Koehler Publishers, San Francisco, Copyright 1996, 30 pages.
Purpura, Linda, “Getting to House from Order Smooth Transitions from Order, To Pick, To Pack, To Delivery, are a Vital Part of a Successful Home-Shopping Program”, Supermarket News, Oct. 6, 1997, 2 pages.
Reynolds, Janice, “Logistics and Fulfillment for E-Business” ISBN: 1-57820074-1, 2001, 60 pages.
“Shopping-Virtually Hassle-Free”, Computer Weekly, Apr. 10, 1997, 2 pages.
Smart Shopping for Busy People, Webpage, Peapod http://web.archive.org/web/19961113145048/www.peapod.com/ 1 page.
User Manual, Peapod, Inc., Version 3.10, Aug. 7, 1992, 83 pages.
VanMieghem, Jan A., “Peapod: Mass Customized Service”, Kellogg School of Management, Northwestern University, Aug. 28, 2001 (Rev. Nov. 22, 2004), 13 pages.
U.S. Appl. No. 11/818,010, filed Jun. 13, 2007.
Office Action for U.S. Appl. No. 09/792,400 dated Aug. 25, 2004.
Office Action for U.S. Appl. No. 09/792,400 dated Mar. 17, 2005.
Office Action for U.S. Appl. No. 09/792,400 dated Sep. 22, 2005.
Office Action for U.S. Appl. No. 09/792,400 dated Jul. 17, 2006.
Office Action for U.S. Appl. No. 09/792,400 dated Nov. 29, 2006.
Advisory Action for U.S. Appl. No. 09/792,400 dated Feb. 16, 2007.
Notice of Allowance for U.S. Appl. No. 09/792,400 dated Apr. 18, 2007.
Office Action for U.S. Appl. No. 11/821,307 dated Apr. 7, 2008.
Notice of Allowance for U.S. Appl. No. 11/821,307 dated Oct. 31, 2008.
Notice of Allowance for U.S. Appl. No. 12/378,643, dated Aug. 2, 2010.
Notice of Allowance for U.S. Appl. No. 12/378,643, dated Jul. 12, 2010.
Notice of Allowance for U.S. Appl. No. 12/378,643, dated Apr. 2, 2010.
Chandler, Susan. “The grocery cart in your PC,” Business Week, Iss. 3441, 1995, p. 63, 2 pages.
Dialog Search Results, re: U.S. Appl. No. 11/705,982 dated Sep. 13, 2010, pp. 1-54.
U.S. Appl. No. 09/568,571, filed May 10, 2000.
U.S. Appl. No. 11/244,627, filed Oct. 5, 2005.
U.S. Appl. No. 11/191,413, filed Jul. 27, 2005.
U.S. Appl. No. 11/356,870, filed Feb. 18, 2006.
U.S. Appl. No. 12/876,219, filed Sep. 10, 2010.
Coffman, Steve. Building earth's largest library: Drive into the future. Mar. 1999. Searcher, 7,3,34(1).
Saccomano, Ann, “‘Blue Laws’ Still Apply,” Traffic World, Logistics Section, p. 15, Aug. 23, 1999, 2 pages.
QuickRef Guide, QuickRefUS, Version 4.0x, U.S. Retail, 1998, 34 pgs.
Consumer Direct Selling Backhome Foods Products—1999: HHT Training Guide, Mar. 29, 1999.
Backhome Foods Review, est 1998.
Consumer Direct HHT Training Guide, Jun. 1998.
BIG-IP® Controller Administrator Guide, version 3.3, © 1997-2000 F5 Networks, Inc., pp. 1-401.
BIG-IP® FireGuard™ Controller Administrator Guide, verion 3.3, © 1997-2000 F5 Networks, Inc., pp. 1-168.
Bluestone Software's EJB Technology, A Technical White Paper by TechMetrix Research, Philippe Mougin, © TechMetrix 2000, pp. 1-24.
Bluestone XML-Server: First Application Server to Recognize XML™ As a Data Type, White Paper, © 1999 NC.Focus, pp. 1-21.
Load-Balancing Internet Servers, IBM Internation Technical Support Organization, Austin Center, Dec. 1997, © International Business Machines Corporation 1997, pp. 1-162.
Duck, Timothy, “IBM's WebSphere 3.0 pushes ahead,” PC Week, vol. 16, No. 42, Oct. 18, 1999, 4 pgs.
“IBM Provides the Power for Enterprise e-business Solutions by Launching New Phase of Server Software,” News Release, Las Vegas, Jul. 20, 1999, 2 pgs.
WebSphere Application Server 3.0, Advanced Edition, Programming Documentation, pp. 1-205.
WebSphere Application Server 3.0, Standard Edition, Programming Documentation, pp. 1-188.
WebSphere V3 Performance Tuning Guide, First Edition (Mar. 2000), © International Business Machines Corporation 2000, pp. 1-210.
Deshpande, Salil. “Clustering: Transparent Replication, Load Balancing, and Failover,” CustomWare, Jan. 2000, pp. 1-23.
“Enterprise JavaBeans™ Programmer's Guide,” Inprise Application Server™ Version 4.0, © 1999 Inprise Corporation, pp. 1-165.
Related Publications (1)
Number Date Country
20110047210 A1 Feb 2011 US
Provisional Applications (1)
Number Date Country
60247392 Nov 2000 US
Continuations (3)
Number Date Country
Parent 12378643 Feb 2009 US
Child 12925669 US
Parent 11821307 Jun 2007 US
Child 12378643 US
Parent 09792400 Feb 2001 US
Child 11821307 US