METHOD AND APPARATUS FOR ARRANGING FOR SALES USING
CENTRALIZED ORDERING AND DECENTRALIZED SHIPPING
BACKGROUND OF THE INVENTION
A. Field of the Invention This invention relates to electronic commerce and, more particularly, to a method and apparatus for arranging for sales using centralized ordering and decentralized shipping where the orders are for products or services available at decentralized sites.
B. Description of the Related Art The Internet has been hailed the marketplace of the future, a result of its accessibility and usability. A computer equipped with a communication mechanism such as a modem and telephone connection is nearly all that is necessary to gain access to the Internet. A program called a browser, recently incorporated as part of at least one computer operating system, i.e., Windows 95 from Microsoft Corp., makes it a simple task to traverse the vast network of information available on the Internet and, specifically, its subpart known as the "World Wide Web."
The architecture of the Web follows a conventional client-server model. The terms "client" and "server" are used to refer to a computer's general role as a requester of data (the client) or provider of data (the server). Under the Web environment, Web browsers reside in clients and specially formatted "Web documents" reside on Internet (Web) servers. Web clients and Web servers communicate using a protocol called "HyperText Transfer Protocol" (HTTP).
In operation, a browser opens a connection to a server and initiates a request for a document. The server delivers the requested document, typically in the form coded in a standard "HyperText Markup Language" (HTML) format. After the document is delivered, the connection is closed. The browser displays the document or performs a function designated by the document.
Every day, more people gain access to the Web, and every day, more of them are shopping online. Online shopping provides a level of convenience they want, need and will soon demand. Electronic commerce or "e-commerce" is the term often used to refer, at least in part, to online shopping on the Web. E-commerce is a unique
opportunity for businesses of any size. E-commerce can expand a company's marketplace-and consequently, its customer database.
There currently exist systems that allow customers to purchase products online where the online service takes the customer's order and has a centralized inventory from which the order is shipped. For example, Amazon.com is a service that allows a customer to order books and other products online. Amazon.com maintains a centralized ordering site on the Internet and ships the products from a centralized location.
Peapod.com is an existing online grocery service that accepts orders selected from a generic grocery inventory, such as peaches, pears, cereal, and milk. These orders are stored. Local participating grocery stores periodically check the site tθ - - determine if any customer's in their region have placed an order. If so, the local store downloads the order and delivers the groceries to the customer. Peapod.com provides centralized ordering but does not maintain an inventory that includes all of the items available at each individual store. Instead, Peapod.com only maintains information on a generic grocery type inventory that all participating stores carry. Any items unique to a particular grocery store would not be included in the online site for ordering.
Presumably, Peapod.com limits sales to stores local to the customer because food can spoil and should be delivered quickly and not shipped over large distances. An additional reason to limit sales based on the geography of the customer, regardless of the product or service, is franchise agreements. These agreements typically guarantee a franchisee a given geographical region to limit competition among the same franchise. Therefore, franchisees would unfairly lose a customer in their geographical region if any franchisee, regardless of location, could complete an order. Accordingly, there is a need for a method and system that provide a centralized location for ordering from a main inventory that includes the store-specific inventories for a plurality of stores, where the centralized orders are distributed to the individual stores to allow for decentralized shipping. There is also a need for a system and method that selects the store for completing an order based on the customer's geographic location to maintain the requirements of franchise arrangements and prevent local stores from losing business.
SUMMARY OF THE INVENTION Methods and systems consistent with the present invention overcome the shortcomings of existing systems by maintaining a centralized listing of the inventory at a plurality of stores, accepting orders at the centralized location, and directing the orders to the appropriate store for decentralized shipping based on the store's proximity to the customer.
Methods and systems consistent with the present invention, as embodied and broadly described herein include an ordering site that maintains a main database storing an inventory including each of the items available at a plurality of stores. Received orders are analyzed to determine which ones of the plurality of stores include the item in the store's site inventory. A store is selected from these stores based on a customer location. The store may be selected that is closest to the customer or the store that is assigned a geographical region including the customer. The order is sent to the selected store for forwarding the ordered item to the customer. In another embodiment, the method and system according to the present invention selects the store based on one of a zip code, address, city, or longitude and latitude values of both the customer location and the store location. BRIEF DESCRIPTION OF THE DRAWINGS The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate an implementation of the invention and, together with the description, serve to explain the advantages and principles of the invention. In the drawings,
FIG. 1 is a pictorial diagram of a computer network in which systems consistent with the present invention may be implemented; FIG. 2 shows a computer network containing a client system and a server system;
FIG. 3 illustrates the retrieval of remote text and images and their integration in a Web document by a client system;
FIG. 4 shows the general configuration and information flow between a store, an Internet ordering site, and a customer server/browser;
FIG. 5 shows an example configuration of the main inventory database according to the present invention;
FIG. 6 is a flow chart showing the steps of the ordering process from the point of view of the customer according to the present invention; FIG. 7 is a flow chart showing the steps of the ordering process from the point of view of the Internet ordering site according to the present invention; and
FIG. 8 is a flow chart showing the steps of the ordering process from the point of view of a store according to the present invention.
DETAILED DESCRIPTION Reference will now be made in detail to an implementation consistent with the present invention as illustrated in the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings and the following description to refer to the same or like parts. Introduction The present invention is a method and system for ordering goods available at a variety of sites and shipping the goods from the decentralized sites. This provides a customer with a wider range of selection because the customer may choose from a plurality of stores' inventory at one time. The system then selects a store that carries the inventory requested based on a customer location. This benefits the stores by not taking business away from local stores or franchisees that are members of the shopping service. The individual store is then sent the order for processing and shipping.
In one embodiment consistent with the present invention, each franchisee store has an inventory of recorded electronic media, such as used compact disks with recorded music or computer software. A centralized system server connected to the Internet receives orders from customers for used compact disks and initiates a process to fulfill the orders. The server first checks a master database containing information on the inventory of recorded media, for example, used compact disks, available at all franchisee stores. Assuming a requested disk is identified in the inventory, the server then determines which franchisee store will be notified of the order and requested to fulfill the order by shipping the requested disk to the customer. This process involves
determining the location of the customer from information provided with the order and comparing this information with information on the location of the one or more franchisee stores that, according to the master database, have the requested disk in inventory. To comply with franchise agreements, the centralized system server directs the customer's order to a franchisee store serving the customer's location. For example, the server provides the order to the franchisee store located within a predetermined proximity of the customer's location. If that franchisee store does not have the requested disk in inventory, the order is sent to the next closest franchisee store to the customer's location. This ordering/fulfillment process can be done in an interactive manner such that the server notifies the customer on-line of the availability of a disk as well as the franchisee store that will deliver the disk to the customer. Network Architecture
FIG. 1 illustrates a conceptual diagram of a computer network 100, such as the Internet. Computer network 100 comprises small computers (such as computers 102, 104, 106, 108, 110 and 112) and large computers (such as servers 120 and 122). In general, small computers are "personal computers" or workstations and are the sites at which a human user operates the computer to make requests for data from other computers or servers on the network. Usually, the requested data resides in large computers. In this scenario, small computers are clients and the large computers are servers.
In this specification, the terms "client" and "server" are used to refer to a computer's general role as a requester of data (client) or provider of data (server). In general, the size of a computer or the resources associated with it do not preclude the computer's ability to act as a client or a server. Further, each computer may request data in one transaction and provide data in another transaction, thus changing the computer's role from client to server, or vice versa.
A client, such as computer 102, may request a file from server A 120. Since computer 102 is directly connected to server A 120, for example, through a local area network, this request would not normally result in a transfer of data over what is shown as "network" of FIG. 1. The "network" of FIG. 1 represents, for example, the Internet, which is an interconnection of networks. A different request from computer
102 may be for a file that resides in server B 122. In this case, the data is transferred from server B 122 through the network to server A 120 and, finally, to computer 102. The distance between server A 120 and server B 122 may be very long, e.g. across continents, or very short, e.g., within the same city. Further, in traversing the network the data may be transferred through several intermediate servers and many routing devices, such as bridges and routers.
FIG. 2 shows, in more detail, an example of a client-server system interconnected through network 100. In this example, a remote server system 222 is interconnected through network 100 to client system 220. Client system 220 includes conventional components such as a processor 224, memory 225 (e.g. RAM), a bus 226 which couples processor 224 and memory 225, a mass storage device 227 (e.g. a magnetic hard disk or an optical storage disk) coupled to processor 224 and memory 225 through an I/O controller 228 and a network interface 229, such as a conventional modem. Server system 222 also includes conventional components such as a processor
234, memory 235 (e.g. RAM), a bus 236 which couples processor 234 and memory
235, a mass storage device 237 (e.g. a magnetic or optical disk) coupled to processor 234 and memory 235 through an I/O controller 238 and a network interface 239, such as a conventional modem. A will be appreciated from the description below that the present invention may be implemented in software which is stored as executable instructions on a computer readable medium on the client and server systems, such as mass storage devices 227 and 237 respectively, or in memories 225 and 235 respectively.
Distributed Document Retrieval The Internet consists of a worldwide computer network that communicates using well defined protocol known as the Internet Protocol (IP). Computer systems that are directly connected to the Internet each have an unique address consisting of four numbers separated by periods such as " 192.101.0.3". To simplify Internet addressing, a "Domain Name System" was created that allows users to access Internet resources with a simpler alphanumeric naming system. For example, the name
"usatoday.com" is the name for a computer operated by the USA TODAY newspaper.
To further define the addresses of resources on the Internet, a Uniform Resource Locator system was created that uses a Uniform Resource Locator (URL) as a descriptor that specifically defines a type of Internet resource and its location. URLs have the following format: "resource-type: / / domain.address/ path-name." The "resource-type" defines the type of Internet resource. Web documents, for example, are identified by the resource type "http", which indicates the protocol used to access the document.
To access a document on the Web, the user enters a URL for the Web document into a browser program executing on a client system with a connection to the Internet. The Web browser then sends a request in accordance with the HTTP protocol to the Web server that has the Web document using the URL. The Web server responds to the request by transmitting the requested object to the client. In most cases, the object is a plain text document containing text (in ASCII) that is written in HTML. Such object s often contain hyperlinks to other Web documents. The Web browser displays the HTML document on the screen for the user and the hyperlinks to other Web documents are emphasized in some fashion such that the user can selected the hyperlink.
In some instances, the HTML document may contain data from more than one server. For example, FIG. 3 illustrates the retrieval of remote text and images and their integration in a Web document by a client system 340. In FIG. 3, server A 310 contains an image 315, server B 320 contains a combination of text and image data 325 and server C 330 contains text data 335. Each of these servers is remotely located from the other servers and client 340. The transfer of data is via network 100. It should be appreciated that the text and image files could be located in the same server which is remote from client 340.
Different techniques are available to display these types of composite Web documents. For example, a program called a servlet executing on one of the servers may combine data from the various servers referenced in a selected Web document and transmit the composite Web document to the client. In other configurations, the client may utilize a program called an applet, which may be transmitted to the client
from one of the servers, to access the multiple servers offering parts of the composite and to build the composite Web document. Order System
FIG. 4 shows the general configuration and information flow between a store 410, an Internet ordering site (IOS) 420, and a customer 430. Store 410 represents an entity that maintains an inventory of goods and is associated with an operator of IOS 420 based on a relationship such as a franchise agreement. Store 410 includes a store server 414 for communicating with external systems, a distribution process 418 for managing sales information, and an inventory of products identified in site inventory database 412. Although only one store is shown in Fig. 4, the present invention contemplates many stores communicating with IOS 420. Customer server/browser 432 is used by the customer 430 in accessing the Internet and IOS 420. IOS 420 includes an inventory server 426 for communicating with external systems and an order process 424 for processing orders. The servers in FIG. 4 including inventory server 426, store server 414, and customer server/browser 432 perform the functions of server 120 and 122 as described with respect to FIG. 1. Distribution process 418 and order process 424 are instructions stored in a memory carried out by a processor to perform the steps required by each site in taking and filling an order as further described in FIGS. 7 and 8. IOS 420 maintains a main inventory database 422 listing products in the inventory of each of the individual stores 410 that are participating in the Internet service. The main inventory database 422 also maintains information on which stores have which products. The main inventory database 422 is updated using data from the site inventory databases 412. In one embodiment, main inventory database 422 maintains information listing store identifiers and an associated geographical region assigned to each store.
FIG. 5 shows an example configuration of the main inventory database 500 including a list of items 510. Pointers lead from each item 510 in the inventory 500 to each of the store franchisee identifiers 520 that have a product identified by the items 510 in inventory. Pointers may also lead to generic stores that include the ordered item. As shown, each franchisee, identified by franchisee identifier 520, is assigned a
franchisee region 530. The franchisee region is the geographical region that the franchisee has been guaranteed by a franchise agreement with a franchisor so that two of the same store do not compete in a given area. The franchisee region 530 is used in comparing the franchisee location to the customer location so that any customer in the franchisee region 530 is serviced by that franchisee whenever the franchisee has the item requested.
The basic information flow shown in FIG. 4 is set forth in more detail in FIGS. 6-8.
FIG. 6 is a flow chart showing the ordering process of the present invention from the point of view of the customer. First, a customer accesses IOS 420 using the Internet as described with respect to FIGS. 1-3 (step 600). The customer may review lists of available goods from the main inventory database 422 (step 610). The customer inputs an order for goods (step 620). In order for IOS 420 to identify the customer, IOS 420 may request information such as name, address, and credit card information. The customer must enter the needed identifying information to continue the ordering process (step 630). The store 410 receives customer name and order (step 640). Customer 430 will receive the ordered item directly from the store such as via standard mail (step 650).
FIG. 7 is a flow chart showing the process from the point of view of IOS 420. IOS 420 uses instructions stored in order process 424 to carry out the steps needed to process an order. IOS 420 interacts with the customer 430 as needed to provide information on products available. IOS 420 receives an order for an item from the customer 430 (step 700). IOS 420 accesses the main inventory database 422 (step 710). IOS 420 examines the main inventory database to determine whether the item ordered is in the inventory (step 720). If not, the customer is sent a message indicating the same (step 722).
If the item is in the inventory, IOS 420 requests customer identifying or payment information if needed, such as by asking the customer 430 for a name, address, and credit card number (step 730). IOS 420 receives the customer's identifying information and determines the customer's location (step 740). The customer's location may be defined in a plurality of ways as discussed further below
such as by using the address, zip code, or city name. IOS 420 reviews the main inventory database 422 to determine which participating stores have the ordered item in their inventory (step 750). From the participating stores, IOS determines whether any of the stores is a franchisee having an assigned region that covers the location of the customer (step 760). If so, the franchisee having a region that covers the location of the customer is selected (step 770). Otherwise, IOS 420 selects the franchisee/store geographically closest to the customer 430 from the franchisees/stores that have the item in their inventory (step 780). This proximity determination may be made using many known systems. For example, there are currently available software systems that compare the distance between addresses. A zip code may be used to determine which store is generally closest to a customer 430. There exist systems that compare a latitude and longitude value of different locations to find the one closest to a point, such as in car navigational systems. The search for the closest store may also compare the locations of the city of the customer and the stores. After selecting the store geographically using any known method, IOS 420 customer information and the order information to the store 410 (step 790).
Further additional criteria may also be used to select among franchisees if desired. In addition, selection using geographical information may vary. For example, if two different franchises have a franchisee in the region of the customer that carry the ordered item, additional criteria may be used to select between the stores, such as the store with the lowest price or closest geographically to the customer.
FIG. 8 is a flow chart showing the process from the point of view of the store 410. Store 410 receives an order and customer information from IOS 420 (step 800). Store 410 sends IOS 420 an acknowledgment of receipt of the order (step 810). Store 410 sends the ordered item directly to the customer 430 via, for example, standard mail (step 820).
Split Order
In an alternative embodiment of the present invention, orders for a plurality of items may be split among stores. If a customer 410 inputs an order for a set of items to IOC 420, then IOC 420 searches for the set of stores 410 that have each of the
ordered items in inventory. IOC 420 selects the store 410 that has all of the requested items and if more than one store has all of the items, IOC 420 selects the store that is closest to the customer 410 or includes the customer in its franchise region. If no store has all of the items in its inventory, then the order is split among a plurality of stores. This split may be based on a plurality of different criteria. For example, to minimize shipping costs, the store having the highest number of the items in the order may be selected and then the remaining items similarly split among other stores. The items may instead be split only on the basis of store proximity or on a combination of store proximity and number of items available at each. One of ordinary skill in the art will appreciate that the store may provide, and the inventory databases may hold, either products or services. Further, the store may forward the items requested in order to a customer in a plurality of ways including using standard mail or electronically. In addition, payment may be carried out in many ways such as the customer providing a credit card number to the Internet ordering site or the store, the customer maintaining an account with money or credit at the Internet ordering site or the store, or the customer paying cash on delivery. Additionally, IOS 420 may serve the function of a "portal," allowing the inventory for franchisees to be distributed among the franchisee computers. When customers seek information from IOS 420 in this case, IOS 420 in turn obtains inventory information from each franchisee interactively and presents the inventory information to the customer in the manner described above with reference to Fig. 3. Conclusion
The present invention allows for a customer to order from the inventory of a plurality of stores using a single ordering site. This provides a customer with a wider selection of merchandise. In addition, the present invention distinguishes between stores by location allowing for local businesses to maintain local business where possible.
The foregoing description of an implementation of the invention has been presented for purposes of illustration and description. It is not exhaustive and does not limit the invention to the precise form disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from practicing of the
invention. For example, the described implementation includes software but the present invention may be implemented as a combination of hardware and software or in hardware alone. The invention may be implemented with both object-oriented and non-object-oriented programming systems. Additionally, although aspects of the present invention are described as being stored in memory, one skilled in the art will appreciate that these aspects can also be stored on other types of computer-readable media, such as secondary storage devices, like hard disks, floppy disks, or CD-ROM; a carrier wave from the Internet or other propagation medium; or other forms of RAM or ROM. The scope of the invention is defined by the claims and their equivalents.