CROSS-REFERENCE TO RELATED APPLICATIONSThe present application is related to the following co-pending applications, which are filed on even date herewith and incorporated herein by reference:[0001]
(1) U.S. patent application Ser. No. ______ (Attorney Docket No. AUS000039US1); and[0002]
(2) U.S. patent application Ser. No. ______ (Attorney Docket No. AUS000040US1).[0003]
BACKGROUND OF THE INVENTION1. Technical Field[0004]
The present invention relates in general to an electronic consumer shopping manager and, in particular, to a method, system and program for electronically managing shopping for a user at multiple diverse retailers. Still more particularly, the present invention relates to a method, system and program for utilizing a single portable computer system to filter products offered by multiple diverse retailers according to user preferences and to guide a user in locating the position of products offered by multiple diverse retailers.[0005]
2. Description of the Related Art[0006]
As the tide is turning towards a paperless world, computers are becoming more prevalent in order to replace many functions previously performed utilizing paper. In particular, computing devices, such as personal digital assistants, laptop computers and cellular/digital telephones are becoming more commonplace as a personal, portable computer system. Such devices are typically designed to provide reliable and efficient transmittal and storage of data. For example, many digital telephones not only include capabilities to transmit and receive voice data, but to transmit and receive electronic data such as stock quotes, current weather and news. A small is display device is typically provided to display the electronic data.[0007]
In the consumer world, web sites accessible via a personal computer are allowing products and services provided to consumers to become more customized. For example, a clothing web site may provide for a user to enter clothing preferences and the clothing web site provides the user with a selection of clothing that meets the user's criteria. In addition, if the user registers with the clothing web site, the web retailer may send electronic mail updates to the user when sales on preferred items are starting. However, while retail web sites provide for user-customization of displays, the user is not provided with the ability to try on the clothing.[0008]
In addition, web sites which are accessible via a personal computer are providing bot services. A bot (short for robot) or agent is a program that performs a repetitive, time consuming task, such as searching Web sites and news groups for information and indexing the Web sites and news group listings in a databases or an automatic record-keeping system. For example, a user may utilize a Web site offering a shop bot to search the web for the lowest price for a particular music compact disc (CD). The bot would return a listing of web sites selling the particular CD and the price offered by each site. A user is relieved of the task of going to each web site, searching for the CD and recording the price of the CD at that site. However, while bots provide for gathering consumer provider information in a time-efficient manner, typically bots do not provide for the web retailers to respond with additional specialized products and services according to customer preferences. In addition, in the example of the CD, if a user selects to purchase the CD from a particular site provided by the bot, the user must still enter preferences and personal information to register at the site to make the purchase.[0009]
Global positioning systems (GPS) add to the applications of personal, portable computer systems. In the consumer world, as personal computer systems include GPS and communication mediums to connect to a network, personal computer systems may receive regionalized advertising and sale updates. For example, a shopper's eye system, incorporating a personal digital assistant (PDA) equipped with a GPS and wireless Internet Protocol (IP), enables a two-way channel with a central control center through which retailers can present customized offers to nearby shoppers based on their particular interests. In particular, the location of a user, shopping goals, preferences and related history may be detected by a central control center for a mall the user has entered. This information is routed to stores in the mall and as the stores receive this information, they may create a customized offer of bundled goods and services. In addition, manufacturers of competing goods are notified and may respond with incentives to add to the offer. The offer is transmitted from the central control center to the user's PDA.[0010]
However, the shopper's eye system does not provide for transmitting store inventories and specials to a user's PDA and filtering store inventories and specials at the user's PDA according to the user's preferences set at the PDA, whereby the user's preferences and identity are protected. In addition, the shopper's eye system does not provide for searching inventories of multiple retailers within a particular proximity of the user's PDA according to a shop bot application. Moreover, the shopper's eye system does not provide a locating function to aid user's in physically locating a particular store or inventoried item.[0011]
U.S. Pat. No. 5,751,246 provides for placing a GPS receiver in association with store items such that with the assistance of an electronic shopping assistant, the location of items with GPS receivers can be polled such that user can be directed to the floor, store, aisle or shelf where the item associated with the GPS receiver is located. While U.S. Pat. No. 5,751,246('575) provides a locating function to aid a user in physically locating a particular store or inventoried item, the invention of the '575 patent does not provide for transmission of a complete inventory of items with or without GPS receivers to the electronic shopping assistant. In addition, the invention of the '575 patent does not provide discernment between items, for example, such as those items that are on sale and those items that are not on sale.[0012]
In view of the foregoing, it would be desirable to provide a portable computer system through which a user receives customized shopping assistance when visiting the physical venue of a retailer, whereby retail stores can compete with on-line shopping in providing efficient shopping assistance services. It would be advantageous to provide a portable computer system as a personal shopping manager device that includes multiple types of preferences for a user that are utilized to filter retailer inventories and special promotions from multiple diverse retailers. In addition, it would be desirable to provide a shop bot application on the personal shopping manager device that can search both store-based retailer inventories and on-line retailer inventories to provide the user with comparison shopping between a physical store location and virtual store location. Moreover, it would be advantageous to receive positioning data at a user's personal shopping manager device for the location of a store, store personnel, and/or items located in the store such that the user receives directions to find the store, store personnel an/or items located in the store.[0013]
SUMMARY OF THE INVENTIONIn view of the foregoing, it is therefore an object of the present invention to provide an improved electronic shopping manager.[0014]
It is another object of the present invention to provide an improved method, system and program for electronically managing shopping for a user at multiple diverse retailers.[0015]
It is yet another object of the present invention to provide an improved method, system and program for utilizing a single portable computer system to filter products offered by multiple diverse retailers according to user preferences and to guide a user in locating the position of products offered by multiple diverse retailers.[0016]
In accordance with the method, system and program of the present invention, multiple broadcasts of products are detected in a common transmittable data format at a portable computer system associated with a particular user from multiple retailer server systems when the portable computer system is within a particular proximity of multiple diverse store locations each respectively associated with one of the multiple retailer server systems. The broadcasts of products are analyzed at the portable computer system according to consumer preferences for the particular user. Output of a selection of products from among the multiple broadcasts of products is controlled to an output interface controlled by the portable computer system, in response to the analysis, such that a portable computer system may manage product selections from multiple diverse store locations for a particular user according to the consumer preferences for the particular user.[0017]
All objects, features, and advantages of the present invention will become apparent in the following detailed written description.[0018]
BRIEF DESCRIPTION OF THE DRAWINGSThe novel features believed characteristic of the invention are set forth in the appended claims. The invention itself however, as well as a preferred mode of use, further objects and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein:[0019]
FIG. 1 depicts one embodiment of a data processing system with which the method, system and program of the present invention may advantageously be utilized;[0020]
FIG. 2 illustrates one embodiment of a high level block diagram of an electronic shopping management system in accordance with the method, system and program of the present invention;[0021]
FIG. 3 depicts one embodiment of a detailed block diagram of an electronic shopping management system in accordance with the method, system and program of the present invention;[0022]
FIG. 4 illustrates a high level logic flowchart of a process and program for controlling a retailer server system in accordance with the present invention; and[0023]
FIG. 5 depicts a high level logic flowchart of a process and program for controlling a portable computer system in accordance with the present invention.[0024]
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTThe present invention may be executed in a variety of systems, including a variety of computing systems and electronic devices under a number of different operating systems. In a preferred embodiment of the present invention, the computer system is a portable computing system such as a notebook computer, a palmtop computer, a personal digital assistant, a telephone or other electronic computing system. Such as device that may also incorporate communication features that provide for telephony, enhanced telephony, messaging and information services. However, the computer system may also be, for example, a desktop computer, a network computer, a midrange computer or a mainframe computer. Preferably, in order to enable at least one of these communication features, the computer system is able to be connected to a network, such as the Internet by either a wired link or wireless link. In addition, the computer system may be a stand-alone system or part of a network such as a local-area network (LAN) or a wide-area network (WAN). Therefore, in general, the present invention is preferably executed in a computer system that performs computing tasks such as manipulating data in storage that is accessible to the computer system. In addition, the computer system includes at least one output device and at least one input device.[0025]
Referring now to the drawings and in particular to FIG. 1, there is depicted a block diagram of one embodiment of a computer system that may utilize the present invention. As depicted,[0026]data processing system10 includes at least oneprocessor12, which is coupled to system bus11. Eachprocessor12 is a general-purpose processor, such as IBM's PowerPC™ processor that, during normal operation, processes data under the control of operating system and application software stored in random access memory (RAM)14 and Read Only Memory (ROM)13. The operating system preferably provides a graphical user interface (GUI) to the user. Application software contains instructions that when executed onprocessor12 carry out the operations depicted in the flowcharts of FIGS. 4, 5 and others described herein.
[0027]Processors12 are coupled via system bus11 and Peripheral Component Interconnect (PCI)host bridge16 to PCIlocal bus20.PCI host bridge16 provides a low latency path through whichprocessor12 may directly access PCI devices mapped anywhere within bus memory and/or I/O address spaces.PCI host bridge16 also provides a high bandwidth path for allowing PCI devices to directly access RAM14.
PCI[0028]local bus20 interconnects a number of devices for communication under the control ofPCI controller30. These devices include a Small Computer System Interface (SCSI) controller18, which provides an interface to SCSI hard disk19, and communication adapter(s)15, which interfacedata processing system10 to at least onedata communication network17 comprising wired and/or wireless network communication. In addition, anaudio adapter23 is attached to PCIlocal bus20 for controlling audio output through speaker24. Agraphics adapter21 is also attached to PCIlocal bus20 for controlling visual output through display monitor22. In alternate embodiments of the present invention, additional peripheral components may be added. For example, in alternate embodiments, a tactile display component may be provided.
PCI[0029]local bus20 is further coupled to an Industry Standard Architecture (ISA)bus25 by anexpansion bus bridge29. As shown,ISA bus25 has an attached I/O (Input/Output)controller34 that interfacesdata processing system10 to peripheral input devices such as a keyboard and mouse (not illustrated) and supports external communication via parallel, serial and universal serial bus (USB) ports26,27, and28, respectively.
With reference now to FIG. 2, there is illustrated one embodiment of a high level block diagram of an electronic shopping management system in accordance with the method, system and program of the present invention. As depicted, a[0030]portable computer system10 that includes multiple diverse consumer preferences for at least one user communicates with multiplediverse server systems80a-80nvia a communication medium (or across a communication interface). The communication medium may include wired or wireless communication or other communication media that enables transmission of data. Moreover, the communication medium may include a link to a network, such as the Internet, or a straight data link. Furthermore, data may be transmitted fromserver systems80a-80nto an electronic mail address that is accessible toportable computer system10.
Data exchange across the communication medium is advantageously performed in at least one of multiple available data transmission protocols and is preferably supported by a common data structure format, such as the extensible mark-up language (XML) data structure format. Data transmission protocols may include, but are not limited to, Transmission Control Protocol (TCP), Internet Protocol (IP), Hypertext Transfer Protocol (HTTP), and Bluetooth. In addition, data may be transmitted in a secure manner via encryption or by technologies, such as secure socket layer (SSL) or virtual private networks (VPN).[0031]
An example of a portion of an XML data file of a database of products that might be transmitted from[0032]server systems80a-80ntoportable computer system10, as depicted below, preferably contains data that is distinguished by attributes on elements and may be wrappered within a larger element. For example, the data attributed to element “<TimeStamp> </TimeStamp>” designates the time that the data was attributed to the XML data file.
<PRODUCTS TimeStamp=“888965153” MachineID=“56.342.34.1” StoreLocation=“123.5,34.5” LocationName=“RetailerA-SouthAustin” SpecOffer=“Red Jacket for $20 off” SpecOfferGraph=“jacket.jpg” Clothing=“Jacket1” ClothingColor=“Red, Blue, Black” ClothCost=“40.00” ClothSize=“Womens:S, M, L”>[0033]
In addition, in an alternate example, the XML data file might be formatted utilizing elements, as illustrated below.[0034]
<TimeStamp>888965153</TimeStamp>[0035]
<MachineID>56.342.34.1</MachineID>[0036]
<StoreLocation>123.5,34.5</StoreLocation>[0037]
<LocationName>RetailerA-SouthAustin</LocationName>[0038]
<SpecOffer>Red Jacket for $20 off</SpecOffer>[0039]
<SpecOfferGraph>jacket.jpg</SpecOfferGraph>[0040]
<Clothing>Jacket1</Clothing>[0041]
<ClothingColor>Red, Blue, Black</ClothingColor>[0042]
<ClothCost>40.00</ClothCost>[0043]
<ClothSize>Womens:S, M, L</ClothSize>[0044]
In the example, as will be further described,[0045]portable computer system10 would receive the example XML data file and filter the XML data file according to consumer preferences accessible oncomputer system10. In the example, the machine ID of the server system, the location of a venue by latitude and longitude, and a location name for the store in which the products are stocked is included. In addition, a special offer of a red jacket is included with a graphical image for the red jacket attached. Moreover, descriptors of a jacket1 are included in red, blue, black and yellow for $40.00 in women's sizes S, M, and L. The elements, format of the elements, and data included with the elements is provided to depict an example and is not intended to limit the types of elements, format of elements, or data included with elements that are in an XML data file.
In the example of the XML data format as the common transmittable data format, a data validation file such as a document type definition (DTD) or schema is preferably utilized to validate XML data files. In addition, a schema preferably translates multiple XML data files. Moreover, a style sheet such as an extensible stylesheet language (XSL) file is preferably utilized to provide a style specification for the XML data at the receiving system. In particular, DTDs, schemas, and XSL files may be, for example, transmitted with an XML data file to a receiving system or downloaded at the receiving system from an alternate source. In the present example, the DTD or schema would verify that all the data required for transmittal to[0046]portable computer system10 are included in the XML data file.
[0047]Server systems80a-80npreferably represent diverse independent retailers, consumer providers, non-profit organizations and individual proprietors that are enabled to independently broadcast products toportable computer system10. However,server systems80a-80nmay also communicate via a network connection, such as the Internet. Moreover, each ofserver systems80a-80nmay include multiple servers connected via a network or data link with access to multiple data storage media.
[0048]Server systems80a-80nare advantageously enabled to broadcast multiple products that are accessible at a particular store location associated with the server system. In the present embodiment,server systems80a-80nmay be equipped respectively withtransceivers38a-38nby which multiple products are broadcast in a common transmittable data format, such as XML, as previously described. Each oftransceivers38a-38nmay provide multiple ranges of transmission and reception. In addition, each of transceivers may be locally or remotely associated withserver systems80a-80n. For example, a server system may be located in New York, however a transceiver that is remotely accessible to the server system may be located in association with a store in a city in Wisconsin. A product broadcast from the remotely accessible transceiver may focus on products available at the store in Wisconsin. In an alternate embodiment,server systems80a-80nmay broadcast products via a network connection to all computer systems that are detected with a particular location oftransceivers38a-38n. For example,portable computer system10 detected with a particular proximity of the remotely accessible transceiver in Wisconsin will receive a broadcast of products from a network connection accessible by the server system in New York.
In broadcasting multiple products, the positions of multiple products may selectively be included. In a preferred embodiment of the present invention, products and personnel may each be equipped with a global positioning system (GPS) transceiver that passively receives a position and transmits that position to one of[0049]server systems80a-80n. For example, GPS transceivers37a-37npassively detect and transmit the location of products and personnel to server system80aand GPS transceivers39a-39ndetect and transmit the location of products and personnel to server system80n. GPS transceivers37a-37nand39a-39npreferably transmit locations in a common transmittable data format and may encrypt the data utilizing a particular transmittable protocol such that only a particular server system is enabled to receive the locations.
Product broadcasts from[0050]server systems80a-80nare preferably detected byportable computer system10 via a transceiver32. Transceivers32 may detect the location ofserver systems80a-80nfrom the broadcast. Alternatively, the locations ofserver systems80a-80nmay be included in the product broadcasts. Transceiver32 may further include GPS functions such that the position ofportable computer system10 is passively detected and may be transmitted toserver systems80a-80n.
[0051]Portable computer system10 advantageously includes multiple consumer preferences for a particular user which are utilized to filter product broadcasts from multiple diverse server systems, such asserver systems80a-80n. As will be further described, product broadcasts may be filtered with consumer preferences for a particular user according to a bot application accessible toportable computer system10. In addition, product broadcasts may be filtered with consumer preferences according to a preference filter application that selects products to display to the particular user according to the multiple consumer preferences.
In addition,[0052]portable computer system10 preferably includes at least oneinput interface36 and at least one output interface35 coupled thereto. A user may view a filtered selection of products via output interface35. In addition, a user may indicate intended purchases from among the filtered selection of products viainput interface36. A user may select to broadcast the position ofportable computer system10 via a selection atinput interface36. Moreover, a user may provide consumer preferences toportable computer system10 via a personal storage device, such as a smart card. In particular,portable computer system10 may be provided to a consumer whereby the consumer provides access to consumer preferences atportable computer system10 via the user's personal storage device.
[0053]Input interface36 may include multiple types of input interfaces including, but not limited to, a keyboard, a keypad, a vocal recognition device, a touchpad, a mouse, a tactile-detectable device, etc. Output interface35 may include multiple types of output interfaces including, but not limited to, a graphical display monitor, a printer, a data storage medium, an audio speaker, etc. In particular,computer system10 may control multiple output interfaces where different output interfaces have different audiences and purposes, as will be further described.
Referring now to FIG. 3, there is depicted a block diagram of an electronic shopping management system in accordance with the method, system and program of the present invention.[0054]Server system80 preferably supports electronic business for a particular retailer or consumer provider. In the present example,server system80 includes electronic business related data, services and applications stored in adata storage medium82 including a products andservices database84, atransmission controller application86, aposition database88, security preferences90, and customer registration andhistory database92. The databases are preferably data storage structures that hold multiple entries and may be searched and/or filtered according to particular criteria. In addition, data stored in the databases is easily convertible into an XML data file. Moreover, in an alternate embodiment, alternate types of data may be stored indata storage medium82. Moreover, in an alternate embodiment, additional services and applications may be stored indata storage medium82.
[0055]Server system80 controls exchange of data to and from multiple portable computer systems, such asportable computer system10, via atransmission controller86 that may control transmission of data via bothtransceiver38 and a network interface. Filtered selections of products and services from products andservices database84 may be broadcast fromserver system80 as controlled bytransmission controller86. In addition, positions and registration indicators of potential customers broadcast from a portable computer system, such asportable computer system10, may be detected viatransceiver controller86.
Customer registration and[0056]history database92 preferably includes registration data for each registered customer. Customers may register by transmitting registration data fromportable computer system10 toserver system80. In addition, in registering, a registration indicator, such as a registration cookie, may be transmitted for storage onportable computer system10. In detecting the registration indicator, the user's registration data would be retrieved from customer registration andhistory database92. In addition, customer registration andhistory database92 preferably includes history of purchases and visits by the user to the retailer or consumer provider. Moreover, the history of purchases and visits to an on-line location of the retailer may be recorded in customer registration andhistory database92.
[0057]Server system80 controls output of data to multiple diverse output interfaces, such as output interface98. Transmission of data to output interfaces98 may travel via a wired or wireless communication medium. The diverse output interfaces may include, but are not limited to, output interfaces within a store for advertising, output interfaces within a store for displaying data to employees only, output interfaces within a shopping arena, and output interfaces along a road-side. Output interface98 may include multiple diverse types of output devices including, but not limited to, flat-screen monitors, LCD graphical displays, electronic paper displays, electronic billboard displays, tactile-detectable displays, audio speakers, printers, and other forms of electronic media output devices.
[0058]Position database88 preferably includes the physical location of multiple GPS, transceivers. In the present example, the physical location of a GPS transceivers foritem100, a GPS transceivers forstore102 and a GPS transceivers forsalesperson104 are preferably detected byserver system80. In addition to including a current position foritem100,store102 andsalesperson104, a range of area within whichitem100,store102, andsalesperson104 should be located may also be included. In the event that the GPS transceivers associated withitem100,store102, orsalesperson104 leaves the designated range of area, an alarm may be sounded or other security measures may be initiated. For example, unauthorized movement of a kiosk in a mall would be monitored and security initiated. In an alternate embodiment, locations of items, stores and employees may be entered via an input interface (not shown) toserver system80.
Products and[0059]services database84 preferable includes multiple diverse products and/or services provided by a retailer or consumer provider. The products and services may include, for example, multiple types of descriptors, prices and conditions. For example, a women's formal dress store may include a database of available dresses, with a description of the maker, dress style and color, pictures of the dress, sizes available and price. In addition, for each available dress, a list of the events for which the dress has already been purchased may be stored. In addition, the database may include service records such as schedules of consultants within the dress store and their availability for a consultation reservation. Moreover, the database may include a listing and pictures of an expected shipment of dresses that are viewable on the condition that a customer has made previous purchases at the store.
[0060]Position database88 and products andservices database84 may cross-reference one another. For example, the item associated with GPS transceiver foritem100 stored in products andservices database84 is cross-referenced according to position inposition database88. In addition, the data included inposition database88 and products andservices database84 may be filtered and secured according to security preferences90. Security preferences90 may designate to only allow a user to receive the location of products during business hours at the user'sportable computer system10. In another example, security preferences90 may designate thatportable computer system10 must be within a particular proximity to receive the location of products. Moreover, security preferences90 may designate that the location of products that cost less than a particular amount can be received by a user. Furthermore, security preferences90 may designate which products and services are limited to customers included in customer registration andhistory database92. In yet another example, security preferences90 may designate that only products which are designated as being on-sale are transmittable.
Effectively,[0061]transmission controller86 may broadcast a filtered selection of products andservices database84, such that any portable computer system is enabled to receive the products and service broadcast when within a particular proximity of atransceiver38. Alternatively,transmission controller86 may selectively transmit a filtered selection from products andservices database84 to a particular portable computer system.
When[0062]portable computer system10 is within a particular proximity of a transmission fromtransceiver38 ofserver system80, a product broadcast filtered according to security preferences90 comprising products and services and locations of stores, items and employees is transmitted toportable computer system10. Product broadcasts received atportable computer system10 are preferably filtered according to multiple consumer preferences. In addition, the product broadcasts may be stored in adata storage medium40 orportable computer system10. In the present example,data storage medium40 is depicted as internally accessible toportable computer system10, however in alternate embodiments,data storage medium40 may be accessible externally or remotely. Moreover,data storage medium40 may be accessible via a network.
In the example depicted, customer preferences include[0063]clothing preferences42,food preferences44, exercise preferences46,travel preferences48, readingpreferences50,entertainment preferences52,decorating preferences54, andgift preferences56. Included in the customer preferences may be a shopping list of items to find, budget preferences, location preferences, content preferences, customer service preferences, etc. For example,clothing preferences42 may include preferred manufacturers, sizes, colors, clothing types for upcoming events, budget constraints, etc. while readingpreferences50 include a list of books to purchase, preferred types of literature, authors, current readings, etc.Food preferences50 may include preferences for food items, and may also include preferences such as seating at a table in a corner, having a particular wine served when seated, etc.
While these preferences represent many of the consumer preferences that may be designated by a user at[0064]portable computer system10, the consumer preferences depicted are intended to illustrate possible preferences and do not limit the types of consumer preferences which may be stored ondata storage medium40. Moreover, the preferences may be stored in multiple types of formats and may be compiled and sorted according to multiple criteria. For example, a list of items to find at a particular shopping center may be sorted.
In addition, preferences are preferably storable on[0065]portable computer system10 for other people or clients. Moreover, consumer preferences are preferably transmittable from one portable computer system to another portable computer system. For example, a decorator may include a list of decorating preferences for multiple clients withindecorating preferences54 of the decorator's portable computer system, where the decorating preferences for multiple clients are transmitted from the client's portable computer system to the decorator's portable computer system. In another example, a parent may include a list of children's clothing preferences inclothing preferences42 of the parent's portable computer system.
In addition to including preferences on[0066]portable computer system10, the user'sschedule58 anduser profile60 are preferably included. The user'sschedule58 preferably includes an electronic calendar of events, appointments and tasks. In addition, an electronic address book and other electronic personal management tools may be included with the user'sschedule58.User profile60 preferably includes personal data about the user such as name, home data, work data, payment account information, marital status, primary language, children, etc. In addition,user profile60 may include registration identifiers for various retailers as a result of the user registering with multiple retailers.
Moreover,[0067]portable computer system10 includes global positioning functions64. Global positioning functions64 utilize data retrieved from GPS transceiver32 to determine information about surroundings including traffic, descriptions of stores and offices, etc. In addition positional data, such as a fastest walking or driving path, may be determined by global positioning functions64.
In addition, global positioning functions[0068]64 includes a designation to broadcast the location ofportable computer system10 and registration indicators via GPS transceiver32. Alternatively, global positioning functions64 may include a designation to selective transmit the location ofportable computer system10 and selective registration indicators to a10 selection of server systems from amongserver systems80a-80n. In selectively transmitting a location, the location may be encrypted by a functions, such as double-blind encryption.
[0069]Portable computer system10 includes apreference filter application62 that analyzes the database of products and services received fromserver system80 in view of consumer preferences,schedule58,user profile60 and current location to provide the user with recommended shopping venues. The results of analysis are preferably presented to the user via output interface35 in a preferred output format as designated inuser profile60. For example, a user may request that the results of analysis are output in a large font or in colors acceptable for a color-blind viewer.
Moreover,[0070]preference filter application62 preferably has access to a map via global positioning functions64 such that the user's current location in comparison with retailers and other offices can be determined.Preference filter application62 may analyze the database of products and services received from various retailers in accordance with the location, expected travel time, schedule and other data to provide a recommendation of stores with directions and estimated travel time. For example, if a user'sfood preferences44 include a grocery list that includes speciality Asian cooking products and two Asian grocery stores providing the specialty cooking products are detected within a particular area,preference filter application62 would analyze the prices offered by each grocery store and the travel time in comparison with whether time or money is a larger constraint for the user to recommend one of the two Asian grocery stores.
In addition,[0071]portable computer system10 advantageously includes ashop bot application68 that is executable onportable computer system10.Shop bot application68 preferably searches databases of products and services received from multiple diverse retailers for a particular items or items. In particular,shop bot application68 not only searches products and services received from multiple retailers because of proximity to the retailers, but searches products and services accessible via web sites. Therefore, a list of prices and stores is determined atcomputer system10 that preferably includes both retailers with store fronts within a particular proximity and online retailers. The list of prices and stores may further be utilized bypreference filter application62 to determine cost and time comparisons of going to a listed store front versus a listed online retailer.
A user may select to electronically purchase a product or service that is identified in a transmission to[0072]portable computer system10 fromserver system80 when the user is within a particular proximity oftransceiver38 ofserver system80. The user may select to have the product or service delivered to the user or the user may opt to receive the product or service at the retailer's store front.
While the present invention may be applied to any[0073]server system80 in communication with aportable computer system10, multiple examples are provided in order to further describe the functions of the present invention. In an example of the present invention, a server system includes products and services provided by a car dealership. Each of the cars and car salesmen includes a global positioning system receiver. Upon stepping onto the car lot, a transceiver associated with the lot's server system detects a user's portable computer system and registration identifier. A car salesman located near the user is notified of the user's presence. The location of the salesman is shielded from the user by the lot's server system, however the user's portable computer system receives a listing of all the cars available on the lot from the lot's server system, including the position of the cars in the lot. The user has designated that the car selections should be narrowed according to a particular price range, number of miles and age of the car. The preference filter application analyzes the listing of all the cars available and presents the user with a selection of cars that meet the preferences of the user. In addition as the user designates different cars on the list, a map showing the location of the car in the lot is provided. In addition, a description of the car mileage and specifications is provided.
In another example, a server system includes products and services provided by a ski resort. When the user is within a particular proximity of the ski slope, a database of maps, run descriptions, restaurants, rental shops and other products and services is provided at the user's portable computer system from the resort server system. The database is analyzed in view of the user's ski slope preferences, food preferences and rental preferences. A rental shop with a preferred type of ski, a selection of restaurants that meet user food preferences and a map with designated ski slopes and lifts is advantageously provided as a result of analysis at the portable computer system. In addition, a location for each of the ski slopes, restaurants, ski patrol office, etc. is preferably accessible to the user whereby the user may navigate when on the mountain.[0074]
With reference now to FIG. 4, there is depicted a high level logic flowchart of a process and program for controlling a retailer server system in accordance with the present invention. As illustrated, the process starts at[0075]block130 and thereafter proceeds to block132.Block132 depicts a determination as to whether or not the location of a user within a particular proximity is received. If a location of a user within a particular proximity is not received, then the process passes to block154. If a location of a user within a particular proximity is received, then the process passes to block134.Block154 illustrates a determination as to whether or not an encrypted location transmission of a user within a particular proximity is received. If an encrypted location transmission is not received, then the process passes to block132. If an encrypted location transmission is received, then the process passes to block156.Block156 depicts comparing the encrypted location with a decryption code. Thereafter, block158 illustrates a determination as to whether or not a decrypted location is determined. If a decrypted location is determined, the process passes to block134. If a decrypted location is not determined, then the process passes to block150.
[0076]Block134 illustrates looking up the customer location identification in the customer registration and history database. Preferably, a customer location identification for the GPS transceiver is transmitted with the location. Next, block136 depicts a determination as to whether or not the user is a registered customer. If the user is a registered customer, then the process passes to block143. If the user is not a registered customer, then the process passes to block138.Block138 illustrates transmitting an electronic registration form to the user's portable computer system. Next, block140 depicts a determination as to whether or not an acceptable electronic form is received while the user is located within the proximity. If an acceptable electronic form is not received, then the process ends. If an acceptable electronic form is received, then the process passes to block142.Block142 illustrates storing the electronic form with the customer location identification in the customer registration database; and the process passes to block143.
[0077]Block143 illustrates updating the position database with the user's current location. The position database may then be continually updated without verifying the user's registration.Block144 depicts merging the detected items and employee locations with the products and services database. Next, block146 illustrates filtering the merged database with security preferences. Thereafter, block148 depicts transmitting the filtered merged database to the user's portable computer system; and the process passes to block150.
[0078]Block150 illustrates a determination as to whether or not transmission from a store-related GPS transceiver is received at the server system. If a transmission from a store-related GPS transceiver is not received, then the process ends. If a transmission from a store-related GPS transceiver is received, then the process passes to block152.Block152 depicts updating the location data for the store-related GPS transceiver in the position database; and the process ends.
Referring now to FIG. 5, there is illustrated a high level logic flowchart of a process and program for controlling a portable computer system in accordance with the present invention. As depicted, the process starts at[0079]block170 and thereafter proceeds to block172.Block172 illustrates a determination as to whether or not a designation to selectively transmit the portable computer system location is set. If a designation to selectively transmit location is not set, then the process passes to block178. If a designation to selectively transmit location is set, then the process passes to block174. Block174 depicts encrypting the location data with the double blind protocol. Next, block176 illustrates transmitting the location data such that only those server systems with include the decryption key can read the transmitted location data; and the process passes to block180.
Returning to block[0080]178, there is depicted a determination as to whether or not a designation to broadcast the location is set. If a designation to broadcast the location is not set, then the process passes to block172. If a designation to broadcast the location is set, then the process passes to block180.Block180 illustrates a determination as to whether or not a request to register and electronic form is received. If a request to register is not received, then the process passes to block190. If a request to register is received, then the process passes to block184.Block184 depicts a determination as to whether or not a user prompt to register automatically is received. If a user prompt to register automatically is not received, then the process ends. If a user prompt to register automatically is received, then the process passes to block186.
[0081]Block186 depicts automatically filling in an electronic form received from the server system with the user profile data and preferences. In particular, data which is stored in the XML data format can be easily translated into an electronic form that is in the XML data format by matching tags associated with data. Next, block188 illustrates transmitting the electronic form to the requesting server system; and the process passes to block190. In particular, the electronic form may also be encrypted before transmission.
[0082]Block190 illustrates a determination as to whether or not a products and services database is received from a server system. If a products and services database is not received, then the process passes to block196. If a products and services database is received, then the process passes to block192.Block192 depicts analyzing the products and services database in view of user preferences, profiles, schedule, other products and services databases from proximate and on-line retailers, and shop bot application analysis. Thereafter, block194 illustrates controlling output of the results of analysis to an output interface; and the process passes to block196.
[0083]Block196 depicts a determination as to whether or not a request for locating a store-related item is received. If a request for locating a store-related item is not received, then the process ends. If a request for locating a store-related item is received, then the process passes to block198.Block198 illustrates a determination as to whether or not the position of the store-related item is provided in the products and services database received at the portable computer system. If the position of the store-related item is not received, then the process ends. If the position of the store-related item is received, then the process passes to block200. Block200 depicts comparing the current location of the user with the store-related item location. Next, block202 illustrates controlling output of graphical directions to the store-related item from the current location. Thereafter, block204 depicts a determination as to whether or not the user has located the store-related item. If the user has not located the store-related item, the process passes to block200. If the user has located the store-related item, then the process ends.
It is important to note that, although the present invention has been described in the context of a fully functional computer system, those skilled in the art will appreciate that the mechanisms of the present invention are capable of being distributed as a program product in a variety of forms, and that the present invention applies equally regardless of the particular type of signal-bearing media utilized to actually carry out the distribution. Examples of signal-bearing media include, but are not limited to, recordable-type media such as floppy disks or CD-ROMs and transmission-type media such as analogue or digital communication links.[0084]
While the invention has been particularly shown and described with reference to a preferred embodiment, it will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention.[0085]