Abstract: An aspect of the present invention facilitates a user to purchase goods from different retail outlets using a personal device (such as a mobile phone). The personal device discovers the local networks of different retail outlets and then establishes corresponding communication links with each of the local networks. A local data (such as local prices and local offers/discounts) related to the goods as available at each retail outlet is received and provided (over the corresponding communication link) to the user on the personal device. The personal device facilitates the user to purchase (place orders for the goods and/or make payments for the orders) the desired goods from the retail outlets based on the provided local data.
BACKGROUND OF THE INVENTION
[1] Technical Field
[2] The present disclosure relates to retail systems and more specifically to providing an enhanced user experience when purchasing goods from retail outlets.
[3] Related Art
[4] A retail outlet refers to a physical location such as a shop, store, boutique or kiosk, from where end users can directly purchase goods for his/her immediate consumption. The users purchase goods at "local" prices customized as per the local environment of the outlet, and which are specific to each retail outlet. However, users need to browse the various products, select the desired products and physically make the payment for the selected products at a point of sale (POS) terminal, as is well known in the arts.
[5] There is a general need to provide an enhanced user experience when purchasing goods from retail outlets.
SUMMARY OF THE INVENTION
[6] An aspect of the present invention facilitates a user to purchase goods from different retail outlets using a personal device (such as a mobile phone). The personal device discovers the local networks of different retail outlets and then establishes corresponding communication links with each of the local networks.
[7] In one embodiment, a local data (such as local prices and local offers/discounts) related to the goods as available at each retail outlet is received and provided (over the corresponding communication link) to the user on the personal device. The personal device facilitates the user to purchase (place orders for the goods and/or make payments for the orders) the desired goods from the retail outlets based on the provided local data. The user experience of purchasing goods from retail outlets is accordingly enhanced.
[8] In another embodiment, the personal device receives (over the corresponding communication links) respective identifiers of the corresponding outlets. The respective data containing information related to the goods as available at the corresponding retail outlet is then downloaded from a server, in response to sending the respective identifiers to the server. The user is facilitated to purchase the desired goods from selective outlets based on the corresponding downloaded data.
[9] According to another aspect of the present invention, users are enabled to purchase goods over public networks (such as the Internet) using the same personal device, when the personal device is not within local networks. Thus, on determining that the personal device is not within any local network, online data (such as online prices, online stocks available, and online offers/ discounts) related to various goods is provided to the user on the personal device. The user is facilitated to purchase the desired goods based on the information in the online data.
[10] According to one more aspect of the present invention, a user specifies a shopping list indicating a list of goods sought to be purchased. The personal device uses the shopping list to identify the specific goods of interest available at each retail outlet and provides the corresponding information to the user.
[11] Several aspects of the invention are described below with reference to examples for illustration. However, one skilled in the relevant art will recognize that the invention can be practiced without one or more of the specific details or. with other methods, components, materials and so forth. In other instances, well-known structures, materials, or operations are not shown in detail to avoid obscuring the features of the invention. Furthermore, the features/aspects described can be practiced in various combinations, though only some of the combinations are described herein for conciseness.
,
BRIEF DESCRIPTION OF THE DRAWINGS
[12] Example embodiments of the present invention will be described with reference to the accompanying drawings briefly described below.
[13] FIG. 1 is a block diagram illustrating an example environment in which various aspects of the present invention can be implemented.
[14] FIG. 2 is a flow chart illustrating the manner in which a user is facilitated to purchase goods from retail outlets according to an aspect of the present invention.
[15] FIG.s 3A and 3B together illustrates the manner in which a user is facilitated to specify a shopping list using a personal device in one embodiment.
[16] FIG.s 4A-4C together illustrates the manner in which a user is facilitated to make online purchases using a personal device in one embodiment.
[17] FIG.s 5A-5D together illustrates the manner in which a user is facilitated to purchase goods from (different) retail outlets using a personal device in one embodiment.
[18] FIG. 6 is a sequence diagram illustrating the manner in which a user configures a personal device for performing local purchases in one embodiment.
[19] FIG. 7 is a sequence diagram illustrating the manner in which shopping tool 10 executing in a personal device interacts with a local network (13b) of a retail outlet in one embodiment.
[20] FIG. 8 is a block diagram illustrating the details of a digital processing system in which various aspects of the present invention are operative by execution of appropriate execution modules.
[21] In the drawings, like reference numbers generally indicate identical, functionally similar, and/or structurally similar elements. The drawing in which an element first appears is indicated by the leftmost digit(s) in the corresponding reference number.
DETAILED DESCRIPTION OF THE INVENTION
[22] 1. Example Environment
[23] FIG. 1 is a block diagram illustrating an example environment in which various aspects of the present invention can be implemented. The block diagram is shown containing personal devices lla-llc, network 12, local networks 13a-13b online server 14, retail servers 15a-15b, POS (point of sale) 16a-16b, local stores 17a-17b, and online store 18.
[24] Retail server 15a, POS 16a and local stores 17a are physically housed in a first retail outlet, while retail server 15b, POS 16b and local store 16b are physically housed in a second retail outlet (different from the first retail outlet). It may be appreciated that though the different retail outlets are shown in FIG.l to be close to each other, in alternative embodiments, the retail outlets may be located at different and distant geographical locations.
[25] Merely for illustration, only representative number/type of retail outlets and systems are shown in FIG. 1. Many computing systems often contain many more retail outlets housing different systems, both in number and type, depending on the purpose for which the computing system is designed. Each system/ device of FIG. 1 is described below in further detail.
[26] Network 12 represents a public network such as the Internet that provides connectivity between several devices of FIG. 1 such as personal devices lla-llc, online server 14 and online store 18. The dotted boundary indicates the extent of coverage of network 12, with the connectivity being provided only when the systems/devices are within the boundary. All the systems of FIG. 1 are shown to be within network 12 and can accordingly connect and/or communicate with each other over network 12.
[27] Each of local networks 13a-13b represents a private network specific to a corresponding retail outlet. Thus, local network 13a provides connectivity between systems in the premises of the first retail outlet such as retail server 15a, POS 16a, local store 17a, while local network 13b provides connectivity between systems in the premises of the second retail outlet. It may be observed that the dotted boundaries, indicating the extent of coverage, of each of local networks 13a-13b is within the boundary of (public) network 12.
[28] Each of network 12 and local networks 13a-13b may be implemented as a combination of Wireless/LAN networks implemented using protocols such as Transport Control Protocol/Internet Protocol (TCP/IP), as is well known in the relevant arts. In general, each network provides transport of packets, with each packet containing a source address (as assigned to the specific system from which the packet originates) and a destination address, equaling the specific address assigned to the specific system to which a packet is destined/targeted. The packets would generally contain the requests and responses between the various systems/devices as described in the below sections.
[29] Each of local stores 17a-17b and online store 18 represents a non-volatile storage, facilitating storage and retrieval of a collection of data by applications respectively executing in retail servers 15a-15b and online server 14. Each of local stores 17a-17b stores respective local data such as local prices and local offers/discounts specific to the (first and second) retail outlets. Online store 18 stores online data such as online prices, online stocks available and online offers/discounts.
[30] Each of the local/online stores may be implemented using relational database technologies and provide storage and retrieval of data using structured queries such as SQL (Structured Query Language), as is well known in the relevant arts. Alternatively, data store 18 may be implemented as a file server and store data in the form of one or more files organized in the form of a hierarchy of directories, as is well known in the relevant arts.
[31] Each of online server 14 and retail servers 15a-15b represents a system, such as a web and/or application server, executing various software applications designed to perform tasks requested by users using client systems (for example, personal devices 11 a-11c). The software applications may then perform the requested tasks based on data maintained internally in the server, or based on external data (for example, stored in local storage 17a-17b and online store 18).
[32] An example software application executing in online server 14 is a web store application, which in response to corresponding requests, performs tasks such as facilitating the users to browse information on various goods available online, to place orders for the desired goods, to make payments online (for example, using a credit card) for the ordered goods, and to track the status of delivery of the ordered goods.
[33] An example software application executing in retail server 15a-15b is a local store application, which in response to corresponding requests, provides local data on the goods available at the retail outlet and facilitates the user to indicate (or place order for) the specific goods sought to be purchased. The user may then proceed to a respective POS (16a or 16b) to make the payment for the indicated/ordered goods. As is well know, a point of sale represents a physical location in the retail outlet, where users make payments and take (physical) possession of the paid goods.
[34] In one embodiment, the software applications facilitates such tasks by providing one or more web pages (encoded using web technologies such as HTML, XML, and Javascript[TM] well known in the arts) to the requesting client system used by the user. Alternatively, a client application may be required to be installed on the client system, with the installed client application then interfacing with the software applications (in the server) to facilitate the user to perform the above noted tasks.
[35] Each of personal devices 11a-11c represents a system used by users to send (client) requests to perform desire tasks to one of the software applications executing in the servers. A personal device may be a personal computer, laptop, mobile phone (e.g. iPhone available from Apple Corporation), tablet (e.g. iPad available from Apple Corporation), "smart" device" that operate with a generic operating system such as Android operating system available from Google Corporation. It should be appreciated that a personal device is typically owned by the user, and is accordingly different from a "portable" device which is small/light enough to be manually carried (but may not necessarily owned by the user).
[36] In one prior approach, each retail outlet provides such portable devices to facilitate users to access the appropriate local data, and to purchase the locally available goods. However, such portable devices are shared among multiple users, and accordingly do not take into account each user's individual preferred shopping experience. Furthermore, the portable devices are typically distinct and operate independently of each other (even the retail outlets belonging to the same retail chain such as Walmart[TM]), and accordingly do not provide a cohesive user experience across different retail outlets.
[37] In another prior approach, a user is enabled to use his/her personal device to make online purchases. For example, the personal device communicates with the web store application executing in online server 14 to provide various user interfaces (in the form of web pages) to the user over network 12. The user then browses and purchases goods based on the online data (stored in online store 18). However, such a prior approach does not allow for the users to access the local data when entering the premises of the retail outlets, as the personal device is designed only to operate with the online web store application.
[38] Another challenge is that different retail outlets commonly provide the same goods at different "local" prices, which is considered as sensitive information that is not to be exposed over public networks such as the Internet. The "local" prices are typically determined based on the local demand, tax structures and as such may vary from region to region and even between outlets of the same retail chain. Each retail outlet may allow access to such local price data, only when the users are within the premises (physical bounds) of the outlet.
[39] Several aspects of the present invention provide an enhanced user experience when purchasing goods from (different) retail outlets, while overcoming some of the challenges of the prior approaches as described below with examples. The description is continued assuming that the aspects of the invention are implemented in a shopping tool 10 (not shown in FIG. 1) executing in one of the personal devices (such as 11a).
[40] 2. General Flow
[41] FIG. 2 is a flow chart illustrating the manner in which a user is facilitated to purchase goods from retail outlets according to an aspect of the present invention. The flowchart is described with respect to shopping tool 10 and FIG. 1 merely for illustration. However, various features can be implemented in other environments also without departing from the scope and spirit of various aspects of the present invention, as will be apparent to one skilled in the relevant arts by reading the disclosure provided herein.
[42] In addition, some of the steps may be performed in a different sequence than that depicted below, as suited in the specific environment, as will be apparent to one skilled in the relevant arts. Many of such implementations are contemplated to be covered by several aspects of the present invention.
[43] In step 21, shopping tool 10 (executing in a personal device such as 11a) discovers respective local networks of different retail outlets. In other words, when the user/personal device is physically within the premises of the retail outlet (e.g. the first retail outlet of FIG. 1) and/or within the range of the local network (as indicated by the dotted boundary), shopping tool 10 discovered the corresponding local network (in this example, local network 13a). Similarly, when the user/personal device is within the premises of the second retail outlet of FIG.l, shopping tool 10 discovers local network 13b.
[44] The discovery of the local network may be performed in a known way. For example, shopping tool 10 may be designed to scan for local wireless networks such as Wi-Fi, Bluetooth (or any other low range communication network). Once such a wireless network is identified, shopping tool 10 may then send requests to routers in the networks (which provide connectivity to the retail server such as 15a-15b) and receive corresponding responses indicating successful identification of the network.
[45] In one embodiment, the retail servers are designed to measure the proximity of the personal device and allow access to the local network only when the proximity is within predefined limits. The condition of proximity may ensure that the user is physically within the premises of the retail outlet and is accordingly requesting the access for viewing the local data. The detection of the proximity may be performed in a convenient manner, for example, by measuring the signal strength (of the requests) and checking whether the signal strength is within limits, by requesting the personal device for location data if the personal device has a global positioning system (GPS) present and enabled.
[46] In step 22, shopping tool 10 establishes communication links with the discovered local networks. For example, shopping tool 10 may establish a first communication link with local network 13a in response to discovering local network 13a, and a second communication link with local network 13b in response to discovering local network 13b. The establishing of a communication link with a network may also be performed in a known way, for example, by sending and receiving TCP/IP packets over the established communication links.
[47] In step 23, shopping tool 10 receives, over the established communication links, information related to goods available at the respective retail outlets. The information may be received from the respective retail servers, in response to sending appropriate requests. The information may be maintained in the respective local stores. For example, shopping tool 10 receives from retail server 15 a, over the first communication link, a first local data maintained in local store 17a. The first local data may indicate the local prices and discounts specific to the first retail outlet. Similarly, shopping tool 10 receives from retail server 15b, over the second communication link, a second local data specific to the second retail outlet (and which may be maintained in local store 17b).
[48] In one embodiment, shopping tool 10 receives, over the corresponding communication links, respective identifiers (e.g. first and second identifiers) of the corresponding retail outlets (e.g. the first and the second retail outlets). Shopping tool 10 then downloads the first and second local data from online server 14, in response to sending the respective (first and second) identifiers to the server. In a scenario that the local networks are implemented as Wi-Fi networks, the SSID (Service Set I Dentifier) of the respective Wi-Fi networks may be used as the corresponding unique identifiers.
[49]It should be noted that such local information downloaded from a server may be encrypted in such a manner, that decryption requires additional information to be received over the corresponding communication links. Furthermore, the unique identifiers may be dynamically generated on the fly in response to establishing each communication link. Such a dynamic generation may ensure that the identifiers are made available only when the users/personal devices are within the premises of the respective retail outlets.
[50] In step 24, shopping tool 10 facilitates (the user) to purchase goods from the retail outlets based on the received information (local data). As noted above, the user may indicate the desired goods he/she wishes to purchase, place orders of the desired goods, and/or make payments for the ordered goods (either using the personal device or at a POS).
[51] A user is accordingly enabled to use his/her personal device when purchasing goods from different retail outlets. It may be appreciated that the user is enabled to use the same personal device at different retail outlets, and accordingly shopping tool 10 provides a cohesive user experience across different retail outlets.
[52] Furthermore, an aspect of the present invention facilitates users to purchase goods over public networks (such as the Internet) using the same personal device, when the personal device is not within local networks. Thus, on determining that the user/personal device is not within any local network, online data (such as online prices, stocks available, offers/discounts) related to various goods is provided to the user on the personal device. The user is facilitated to make online purchases of the desired goods based on the information in the online data. Thus, shopping tool 10 provides a common interface to both online and local purchasing.
[53] It may be appreciated that by ensuring that the local data is made available only when the user/personal device is within the physical premises of the retail outlet, the sensitive nature of the local price information is safe guarded. Accordingly, the various retail outlets may allow the user/personal device to access the local data/prices.
[54] Thus, the user experience of purchasing goods from different retail outlets is enhanced. The manner in which such an enhanced user experience may be provided is described below with examples.
[55] 3. Enhanced User Experience
[56] FIG.s 3A-3B, 4A-4C, and 5A-5D together depict the manner in which users are facilitated to purchase goods from different retail outlets using their personal devices in one embodiment. Each of the FIG.s depicts a portions of a user interface provided by shopping tool 10 executing in a personal device (assumed to be 1 la in the following description) of a user.
[57] Broadly, the user interfaces provided by shopping tool 10 facilitates the user to specify a shopping list indicating the goods of interest and/or sought to be purchased, to browse and make online purchase of goods from a online store (based on online data), and to browse and identify goods for purchase from retail outlets (based on local data). Each of the FIG.s is described in detail below.
[58] FIG.s 3A and 3B together illustrates the manner in which a user is facilitated to specify a shopping list using a personal device in one embodiment. Referring to FIG. 3 A, display area 31 indicates that the user is currently creating or editing a shopping list, while display area 32 enables the user to select the different groups of goods such as "Fruit & Veg", "Office Stationery", and "Dresses & Shoes" of interest. Text field 33 enables the user to search (based on name, description, and type) for the desired goods. The user may click/select "More" button 34 to view more groups of goods.
[59] Referring to FIG. 3B, display area 35 provides a list of goods from one or more of the groups selected in display area 32. A user may then select the desired goods of interest using the checkboxes (such as 36a shown selected, and 36b shown unselected) provided along with each of the goods. Thus, display area 35 indicates that the user has selected "Chicken Breast", "Eggs", "Battery", "Shirt" and "Shoes" to be included in the shopping list. The user may then click/select "Add" button 37 to add the selected goods to his/her personal shopping list.
[60] Though not shown, it may be appreciated that in alternative embodiments, the user may be enabled to create/edit multiple shopping lists and/or specify other details of interest for each of the selected goods such as the number of goods sought to be purchased, a minimum and maximum price range of interest, and the possible dates of purchase.
[61] Thus, a user is facilitated to specify a shopping list indicating the goods of interest (that may be purchased) in his/her personal device. The user may then be facilitated to browse online data and to make online purchases as described below with examples.
[62] FIG.s 4A-4C together illustrates the manner in which a user is facilitated to make online purchases using a personal device in one embodiment. Referring to FIG. 4A, display area 41 indicates that the user is currently accessing the online store, while display area 42 provides the user with online data related to the goods.
[63] The online data may represent the information stored in online store 18, and which may be received from the web store application executing in online server 14 in response to requests sent by shopping tool 10. In one embodiment, the online information is received in response to specific universal resource locators (URLs) included in the requests. It may be observed that some of the goods shown in display area 42 correspond to the goods included in the shopping list shown in display area 35.
[64] Display area 42 is shown displaying the online data in the form of a table, with the first column indicating the name of the goods and the second and thirds columns respectively indicating the minimum and maximum prices of the goods available online. Text 43 indicates that the goods displayed are related to the group "Dresses & Shoes". The user may click/select "More" button 44 to view the detail of more goods available online (in the online store).
[65] Referring to FIG. 4B, display area 45 enables a user to specify the goods sought to be purchased online. The first column indicates the name of the goods, the second column the quantity (either in number, weight or any other convenient measure) of the goods, and the third column indicates the price at which the goods is sought to be purchased. Each row/goods is also associated with a corresponding checkbox to enable the user to finally select the goods to be purchased.
[66] Thus, display area 45 indicates that the user desires to make an online purchase for a 1 number of "Shirt-blue", 2 numbers of "T-Shirt Polo", 1 number of "Trouser Slim" and 1 number of "Shoe black". Display area 46 indicates the total cost of the goods selected to be purchased by the user. The user may then select "Pay Now" button 47 to make payment for the selected goods.
[67] Referring to FIG. 4C, display area 48 depicts a login window that may be displayed in response to the user selecting button 47 in FIG. 4B. Display area 48 enables the user to provide authentication information (such as his/her personal user name and password) to the web store application executing in online server 14. Once the user is successfully authenticated (that is, the web store application determines that the user name and password provided in display area 48 is present in online store 18), the user is enabled to make payments using the personal device. The online payments may be made using credit cards, online banking, third parties such as PayPal [TM], as is well known in the arts.
[68] Thus, a user is facilitated to make online purchase of goods from a online store using his/her personal device. According to an aspect of the present invention, the user is also facilitated to purchase goods from retail outlets (based on local data) as describe below with examples.
[69] FIG.s 5A-5D together illustrates the manner in which a user is facilitated to purchase goods from (different) retail outlets using a personal device in one embodiment. Referring to FIG. 5 A, display area 51 indicates that a local network (e.g., 13a or 13b) of a retail outlet has been discovered by shopping tool 10. Display area 52 enables the user to provide authentication information for establishing a communication link with the discovered local network. The authentication information for accessing the local networks of the retail outlets is generally (for security) different from the online authentication information. However, in some embodiments, the online and local authentication information may be the same.
[70] The user specified information is sent to the respective retail server (15a or 15b) for authentication based on the data maintained in the local stores (17a or 17b). Once the user is successfully authenticated, the user is allowed to access the local data specific to the retail outlet. The description is continued assuming that the user/personal device has discovered local network 17b of the second retail outlet of FIG.l, and accordingly a communication link with retail server 15b is established after authentication.
[71] Referring to Figure 5B, display area 53 indicates that the user is currently accessing the retail outlet named "Shop23" (situated at San Jose), while display area 54 provides the user with the local data related to the goods specific to the second retail outlet. The local data may represent the information stored in local store 17b, and which may be received from the local store application executing in retail server 15b in response to requests sent by shopping tool 10.
[72] It may be observed that some of the goods shown in display area 54 correspond to the goods included in the shopping list shown in display area 35. It may be appreciated that various other features may be provided based on the local data and the shopping list specified by the user. For example, the user may be alerted if the goods available in the local store do not match any of the goods selected in the shopping list. Also, the user may be alerted if any of the goods in the shopping list have not yet been purchased.
[73] Display area 54 is shown displaying the online data in the form of a table, with the first column indicating the name of the goods, the second column indicating the price per unit quantity (number, weight, or any convenient measure) and the third column indicating the quantity sought to be ordered by the user (and which is input by the user). For example, the third row from the top indicates that Eggs are being sold at $2 per dozen pieces and the user has indicated that he/she wishes to purchase 6 pieces. The user may click/select "More" button 55 to view the detail of more goods available locally at the second retail outlet.
[74] Referring to FIG. 5C, display area 56 enables a user to specify the goods sought to be purchased locally from the second retail outlet. The first column indicates the name of the goods, the second column the quantity (either in number, pieces, weight or any other convenient measure.) of the goods, and the third column indicates the sub-totals (calculated as the product of the quantity in the second column and the price per unit quantity noted above) for each of the goods sought to be purchased. Each row/goods is also associated with a corresponding checkbox to enable the user to finally select the goods to be purchased.
[75] Thus, display area 56 indicates that the user desires to make a local purchase for 1.3 pounds (lb) of "Chicken Breast" (amounting to a sub-total of 1.3 x $5 per pound = $6.5), 6 pieces of "Eggs" and 4 numbers/pieces of "Battery AA". Display area 57 indicates the total cost of the goods selected to be purchased by the user, and is typically (assuming there are no offers/discounts) the sum of the sub-totals in the third column. The user may then select "Check Out" button 58 to facilitate payment for the selected goods at the corresponding POS 16b.
[76] In one embodiment, shopping tool 10 (executing on personal device 11a) generates a unique order identifier indicating the goods selected by the user (for example, in response to the user selecting button 58). The unique order identifier (possibly in combination with the user identifier specified in FIG. 5A) is then sent to POS 16b, wherein the user thereafter makes a payment for the goods associated with the order identifier. Alternatively, shopping tool 10 may generate a unique bar code corresponding to the order (and indicating the goods selected by the user) and display the bar code on the screen of the personal device. A bar code scanner provided at POS 16b may then be used to scan the unique bar code for identifying the goods sought to be purchased by the user.
[77] In another embodiment, shopping tool 10 facilitates the user to make a local payment (for example, using a credit card) for the selected goods, directly using the personal device. After confirmation of the payment, shopping tool 10 may generate a confirmation list, which may be then presented (or sent over the local network) to a physical checkout location (such as a location where the goods are wrapped), thereby enabling the local store to verify that only the purchased items are being taken out of the store. It may be appreciated that in this embodiment, the POS is not involved in the purchase of goods, and accordingly the waiting time and queues at the POS may be reduced for users in general.
[78] In one more embodiment, the physical checkout is performed by having corresponding RFID (radio-frequency identification) tags physically attached to the goods. A user is thereby enabled to make the local payment noted above and then walk by/through a RFID scanner, which then automatically matches the physical goods being taken by the user with the confirmation list (received from the personal device).
[79] It may be appreciated that display areas 54 and 56 are shown differently from display areas 42 and 45 merely to illustrate the contrast between local purchasing (using 54 and 56) and online purchasing (using 42 and 45). However, in alternative embodiments, shopping tool 10 may be designed to provide similar user interfaces for both online and local purchasing. Also, a user may be enabled to specify personal preferences on the specific formats/views in which the online and local user interfaces are to be displayed.
[80] Referring to FIG. 5D, display area 59 depicts a error message that may be displayed when the user/personal device is determined to be not within the boundary of the local network (in the above example, 13b). The error message indicates that the user/personal device is unable to connect to the local network either due to the user being outside the range of the local network or due to the personal device not being able to connect to the local network. The user may select "Try Again" button to cause the personal device to try to connect again to the local network. Alternatively, the user may select "Go To Online Store" button to cause the personal device to establish a connection with the public network and accordingly provide the interface of FIG. 4A.
[81] A user is accordingly facilitated to purchase goods at a retail outlet using his/her personal device. It may be appreciated that shopping tool 10 may display the interfaces of FIG. 5 A- 5C (and maybe 5D), whenever a new local network is discovered using the techniques noted above, thereby facilitating the user to purchase goods from different retail outlets using a personal device. The manner in which the features of the present invention may be implemented to provide the above-noted user experience is described below with examples.
[82] 4. Example Implementation
[83] Broadly, a user first configures his/her personal device for performing the local purchases by downloading shopping tool 10 from a public sever and then installing the shopping tool in his/her personal device. The installed shopping tool 10 then facilitates the user to make local purchased by interacting with the local networks of the different retail outlets.
[84] In the following description, it is assumed that the user is using personal device 11a and is interacting with the second retail outlet having retail server 15b, POS 16b and local store 17b and associated with local network 13b. However, the features of the present invention can be implemented with other personal devices and local networks, as will be apparent to one skilled in the relevant arts by reading the disclosure herein.
[85] FIG. 6 is a sequence diagram illustrating the manner in which a user configures a personal device for performing local purchases in one embodiment. In step 61a, the user uses personal device 11a to send a request to download the shopping application/tool from a public server (assumed to be online server 14 for illustration).
[86] In step 61b, online server 14 sends a corresponding response indicating that the user has to provide online authentication information for downloading the application. In one embodiment, where the shopping application is hosted on a public server such as Android Market available from Google Corporation, the user is redirected to the public server to provide the relevant authentication.
[87] It may be appreciated that all the requests and responses between personal device 11a and online server 14 are performed over network 12. Though not described here for convenience, it is assumed that network 12 receives the requests and responses from the source systems and forwards the received requests and responses to the appropriate target systems.
[88] In step 62a, the user provides the relevant online authentication information such as a desired user name and password, a email id of the user and a mobile number of the personal device to online server 14, which in response stores the received information in online store 18, and then sends (step 62b) the shopping tool/application to personal device 1 la. Online server 14 also generates an enrolment key (required for enrolling for the local purchase experience), stores the generated enrolment key in online store 18 (step 64a), and then forwards the generated enrolment key to personal device 1 la (step 64b). In one embodiment, the enrolment key is sent as two parts, one as a email to the email id received earlier and a message (such as a SMS) to the mobile number received earlier.
[89] Once shopping tool 10 is received from online server 14, the user then installs the shopping tool in personal device 11a and selects the option to enroll for the local purchase experience. In response to the user selecting the option, personal device 11a sends the previously received enrolment key to online server 14 (step 65). In the embodiment noted above, the user may be required to send both parts of the enrolment key in a pre-defined order, to complete enrolment. In addition, the user may also use personal device 11a to provide credit card information, which may later be validated using a NULL transaction (wherein, a transaction of zero amount is performed using the credit card, to check whether the credit card is valid).
[90] In an alternative embodiment, the user is required to purchase the shopping application (for example, using a credit card) in step 62a. Such a purchase facilitates the validation of the credit card of the user as part of step 62b, and the user may thereafter be not required to send the credit card information in step 65. The cost of the application may later be reimbursed to the user upon his subsequent purchases from any of the retail outlets, thereby ensuring that the shopping application is provided free of cost to the user.
[91] In step 67, online server 14 checks whether the received enrolment key matches the key generated and stored for the user in step 64a. On successful match (indicating that the user is a valid user), online server 14 also stores the received credit card information in online store 18. The credit card information may be stored after the credit card is validated using an NULL transaction. On successful validation (of both enrolment key and credit card), online server 14 generates a local authentication information (for entry in display area 52 of FIG. 5 A), stores the information in the online store and forwards the generated information to personal device 11a (step 68). The local authentication information may include the desired user name and desired password provided earlier by the user. The local authentication information, and also other information related to the user may then be sent to the retail outlets for maintenance in the respective local stores (such as 17a-17b).
[92] It should be noted that the enrolment process validates that the user has a credit card, a valid email id and an active mobile number. Upon completion of the enrolment, a user may configure another/additional credit cards to be used for local purchases from the different retail outlets. Each of the credit cards is validated through a small transaction which once again may be reimbursed in successive transactions.
[93] Thus, a user configures his/her personal device for performing the local purchases. The installed shopping tool 10 is in a state ready to discover and interact with local networks of different retail outlets. The manner in which shopping tool interacts with the local networks is described below with examples.
[94] FIG. 7 is a sequence diagram illustrating the manner in which shopping tool 10 executing in a personal device interacts with a local network (13b) of a retail outlet in one embodiment. The description is continued assuming that the user has completed the enrolment process described above using the personal device.
[95] In step 71, shopping tool 10 executing in personal device 11a discovers local network 13b of the second retail outlet of FIG. 1. It may be appreciated that shopping tool 10 may be designed to operate only with the communication protocols enforced by the local store. For example, the local stores may mandate that all communications be performed using Wi-Fi only, since Wi-Fi enabled personal devices are common and Wi-Fi has sufficient bandwidth and lower range (few hundred meters) desirable for local networks. The description is continued assuming that local network 13b is a Wi-Fi network.
[96] In step 72a, shopping tool 10 performs an authentication using RADIUS (Remote Authentication Dial In User Service) protocol which enables secured connection between personal devices and the Wi-Fi local network leveraging one of many encryption mechanisms provided in Wi-Fi technology, as is well known in the relevant arts. Upon successful authentication, retail server 15b sends an authentication success response to shopping tool 10 (step 72b). It may be appreciated that several other requests and responses may be sent between shopping tool 10 and local network 13b as part of the RADIUS protocol (before step 72b), and they are not shown here merely for conciseness. The RADIUS service may be provided and enforced by the retail outlet.
[97] As part of the authentication, shopping tool 10 may provide the interface of FIG. 5 A, receive the authentication information from the user and then send the received authentication information in step 72a. Retail server 15b may accordingly send an authentication success response only when the received user authentication information is determined to be valid (for example, by comparing with similar information stored in local store 17b, received earlier from online server 14).
[98] It may be appreciated that a user may be enabled to connect to a local network only after disconnecting from public networks (such as network 12). Furthermore, when the communication link has been established with one local network, shopping tool 10 may be designed to not allow any other links with either public or other local networks. Such a restriction ensures that the local data specific to the retail outlet (and made available only through the corresponding local network) cannot be distributed and used for malicious purposes.
[99] In step 73a, shopping tool 10 sends a request for the local data (maintained in local store 17b). In one embodiment, the request includes pre-defined URLs similar to the URLs used to access the online data. Local network 13b is designed to route the pre-defined URLs to the local systems such as retail server 15b, instead of to the public servers such as online server 14. Such local URL resolution can be performed in a known way, for example, by appropriate configuration of the domain name servers (DNS) in the local network.
[100] It may be appreciated that all the requests and responses between personal device 11a and retail server 15b are performed over local network 17b. Though not described here for convenience, it is assumed that local network 17b receives the requests and responses from the source systems, performs the local URL resolution and forwards the received requests and responses to the appropriate target systems.
[101] In step 74, retail server 15b retrieves the requested portions of the local data maintained in local store 17b. Retail server 15b then sends the retrieved information (with appropriate formatting) to shopping tool 10 in step 73b. Shopping tool 10 may then provide the received local data to the user similar to the user interface of FIG. 3 A.
[102] In response to user selecting a group of goods (e.g., "Poultry etc."), shopping tool 10 may send a request for information on the goods in the group (step 75a). Retail server 15b then retrieves the requested information from local store 17b (step 76) and then forward the retrieved information (after appropriate formatting) to shopping tool 10 (step 75b). Shopping tool 10 may then provide the received local data related to the goods according to the user interface of FIG. 5B.
[103] The user may then select the desired goods sought to be purchased in FIG. 5C and then select "Check Out" button 58. In response to the user selecting button 58, shopping tool 10 sends a purchase request to POS 16b (via retail server 15b). POS 16b then processes the purchase request and sends a corresponding response (step 79) to enable the user to make a in- store payment using personal device 11a. The user may then make payments either using his/her personal device or at POS 16b, as described above with respect to FIG. 5C.
[104] It should be appreciated that the above noted features can be implemented in various embodiments as a desired combination of one or more of hardware, execution modules and firmware. The description is continued with respect to one embodiment in which various features are operative when execution modules are executed.
[105] 5. Digital Processing System
[106] FIG. 8 is a block diagram illustrating the details of digital processing system 80 in which various aspects of the present invention are operative by execution of appropriate execution modules. Digital processing system 80 may correspond to one of personal devices 11a-11c.
[107] Digital processing system 80 may contain one or more processors (such as a central processing unit (CPU) 81), random access memory (RAM) 82, secondary memory 83, graphics controller 86, display unit 87, network interface 88, and input interface 89. All the components except display unit 87 may communicate with each other over communication path 85 which may contain several buses as is well known in the relevant arts. The components of FIG. 8 are described below in further detail.
[108] CPU 81 may execute instructions stored in RAM 82 to provide several features of the present invention. CPU 81 may contain multiple processing units, with each processing unit potentially being designed for a specific task. Alternatively, CPU 810 may contain only a single general purpose processing unit. RAM 82 may receive instructions from secondary memory 83 using communication path 85.
[109] Graphics controller 86 generates display signals (e.g., in RGB format) to display unit 87 based on data/instructions received from CPU 81. Display unit 87 contains a display screen to display the images defined by the display signals (e.g. the portions of the user interfaces of FIG. 3A-3B, 4A-4C and 5A-5D). Input interface 89 may correspond to a keyboard and a pointing device (e.g., touch-pad, mouse), which enable the various inputs to be provided (such as the goods to be included in the shopping list using the user interfaces of FIG. 3A-3B, the goods and the corresponding quantities sought to be purchased online/locally using the user interfaces of FIG. 4A-4C and 5A-5D).
[110] Network interface 88 provides connectivity to a network (e.g., local networks 13a-13b), and may be used to communicate with other connected systems (e.g. online server 14, retail servers 15a-15b, POS (point of sale) 16a-16b, online store 18 of FIG. 1). Network interface 88 may provide such connectivity over a wire (in the case of TCP/IP based communication) or wirelessly (in the case of Wi-Fi and Bluetooth based communication).
[111] Secondary memory 830 may contain hard drive 83a, flash memory 83b, and removable storage drive 83c. Secondary memory 83 may store the data (e.g., local prices and local offers/discounts specific to the retail outlets retrieved from local stores 17a-17b, online prices, online stocks available and online offers/discounts retrieved from online store 18) and software instructions (e.g., for implementing the programming logic of FIG. 2, 6 and 7), which enable digital processing system 80 to provide several features in accordance with the present invention.
[112] Some or all of the data and instructions may be provided on removable storage unit 84, and the data and instructions may be read and provided by removable storage drive 83c to CPU 81. Floppy drive, magnetic tape drive, CD-ROM drive, DVD Drive, Flash memory, removable memory chip (PCMCIA Card, EPROM) are examples of such removable storage drive 83c.
[113] Removable storage unit 84 may be implemented using medium and storage format compatible with removable storage drive 83c such that removable storage drive 83c can read the data and instructions. Thus, removable storage unit 84 includes a computer readable storage medium having stored therein computer software (in the form of execution modules) and/or data.
[114] However, the computer (or machine, in general) readable storage medium can be in other forms (e.g., non-removable, random access, etc.). These "hardware products" are means for providing execution modules to digital processing system 80. CPU 81 may retrieve the software instructions (forming the execution modules), and execute the instructions to provide various features of the present invention described above.
[115] Reference throughout this specification to "one embodiment", "an embodiment", or similar language means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, appearances of the phrases "in one embodiment", "in an embodiment" and similar language throughout this specification may, but do not necessarily, all refer to the same embodiment.
[116] It should be understood that the figures and/or screen shots illustrated in the attachments highlighting the functionality and advantages of the present invention are presented for example purposes only. The present invention is sufficiently flexible and configurable, such that it may be utilized in ways other than that shown in the accompanying figures.
[117] While several embodiments of the present invention have been described above, it should be understood that they have been presented by way of example only, and not limitation. Thus, the breadth and scope of the present invention should not be limited by any of the above described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.
I/WE CLAIM:
1. A method of facilitating a user to purchase goods from retail outlets using a personal device, each retail outlet having a corresponding local network, said method being performed in said personal device, said method comprising:
discovering, at a first time instance, a first local network corresponding to a first retail outlet, and at a second time instance, a second local network corresponding to a second retail outlet, said first time instance being different from said second time instance;
establishing a first communication link with said first local network in response to said discovering said first local network, and a second communication link with said second local network in response to said discovering said second local network;
receiving, over said first communication link, a first data comprising information related to a plurality of goods as available at said first retail outlet, and over said second communication link, a second data comprising information related to said plurality of goods as available at said second retail outlet;
facilitating said user to purchase a first set goods based on said first data and a second set of goods based on said second data, said first set of goods and said second set of goods being contained in said plurality of goods.
2. The method of claim 1, further comprising:
providing, prior to said first time instance, a third data comprising information related to said plurality of goods;
determining, at a fourth time instance after said first time instance, that said personal device is not within said first local network; and
providing again said third data to said user on said personal device in response to said determining that said user is not within said first local network,
wherein said facilitating facilities said user to purchase a third set of goods based on said third data before said first time instance and after said fourth instance, said third set of goods being contained in said plurality of goods.
3. The method of claim 2, wherein said providing said third data and said providing again said third data are performed over a third communication link established with a public network, wherein said public network is different from said first local network and said second local network.
4. The method of claim 3, wherein said third data comprises one or more of online prices, online discounts, and online offers related to said plurality of goods, wherein said first data and said second data respectively comprises one or more of local prices, local discounts and local offers at said first retail outlet and said second retail outlet.
5. The method of claim 4, wherein said public network is the Internet and each of said first local network and said second local network is a corresponding Wi-Fi network.
6. A method of facilitating users to purchase goods from retail outlets, said method comprising:
providing to a user on a personal device, a first data comprising information related to a plurality of goods;
identifying that said personal device is within a first local network of a first retail outlet; establishing a first communication link between said personal device and said first local network;
providing to said user on said personal device over said first communication link, a second data comprising information related to said plurality of goods as available at said first retail outlet, wherein said second data is different from said first data;
facilitating said user to purchase a desired ones of said plurality of goods based on the information in said second data,
wherein said providing said second data and said facilitating are performed in response to said identifying that said personal device is within said first local network;
determining that said personal device is not within said first local network; and providing again said first data to said user on said personal device in response to said determining that said user is not within said first local network.
7. The method of claim 6, wherein said providing said first data and said providing again said first data are performed over a second communication link established with a public network, wherein said public network is different from said first local network.
8. The method of claim 7, wherein said first data comprises one or more of online prices, online discounts, and online offers related to said plurality of goods, wherein said second data respectively comprises one or more of local prices, local discounts and local offers at said first retail outlet.
9. A system comprising:
a first retail outlet having a first network and being identified by a first identifier; a second retail outlet having a second network and being identified by a second identifier;
a server to maintain a first data and a second data, said first data comprising information related to a plurality of goods as available at said first retail outlet, and said second data comprising information related to said plurality of goods as available at said second retail outlet; a personal device used by a user, said personal device operable to:
discover said first local network at a first time instance and said second local network at a second time instance, said first time instance being different from said second time instance;
establish a first communication link with said first local network in response to discovering said first local network, and a second communication link with said second local network in response to discovering said second local network;
receive, over said first communication link, said first identifier, and over said second communication link, a second identifier;
download, from said server, said first data in response to sending said first identifier to said server, and said second data in response to sending said second identifier to said server;
facilitate said user to purchase a first set goods based on said first data and a second set of goods based on said second data, said first set of goods and said second set of goods being contained in said plurality of goods.
10. A personal device comprising: a random access memory (RAM); one or more processors;
a machine readable medium containing a set of instructions, which when retrieved into said RAM by said one or more processors and executed by said one or more processors, causes said personal device to perform the actions of:
discovering, at a first time instance, a first local network corresponding to a first retail outlet, and at a second time instance, a second local network corresponding to a second retail outlet, said first time instance being different from said second time instance;
establishing a first communication link with said first local network in response to said discovering said first local network, and a second communication link with said second local network in response to said discovering said second local network;
receiving, over said first communication link; a first data comprising information related to a plurality of goods as available at said first retail outlet, and over said second communication link, a second data comprising information related to said plurality of goods as available at said second retail outlet;
facilitating said user to purchase a first set goods based on said first data and a second set of goods based on said second data, said first set of goods and said second set of goods being contained in said plurality of goods.
| Section | Controller | Decision Date |
|---|---|---|
| # | Name | Date |
|---|---|---|
| 1 | 3115-CHE-2011 POWER OF ATTORNEY 12-09-2011.pdf | 2011-09-12 |
| 1 | 3115-CHE-2011-IntimationOfGrant28-11-2023.pdf | 2023-11-28 |
| 2 | 3115-CHE-2011 FORM-5 12-09-2011.pdf | 2011-09-12 |
| 2 | 3115-CHE-2011-PatentCertificate28-11-2023.pdf | 2023-11-28 |
| 3 | 3115-CHE-2011-PETITION UNDER RULE 137 [19-05-2023(online)].pdf | 2023-05-19 |
| 3 | 3115-CHE-2011 FORM-3 12-09-2011.pdf | 2011-09-12 |
| 4 | 3115-CHE-2011-Written submissions and relevant documents [19-05-2023(online)].pdf | 2023-05-19 |
| 4 | 3115-CHE-2011 FORM-2 12-09-2011.pdf | 2011-09-12 |
| 5 | 3115-CHE-2011-Correspondence to notify the Controller [03-05-2023(online)].pdf | 2023-05-03 |
| 5 | 3115-CHE-2011 FORM-1 12-09-2011.pdf | 2011-09-12 |
| 6 | 3115-CHE-2011-US(14)-HearingNotice-(HearingDate-04-05-2023).pdf | 2023-04-03 |
| 6 | 3115-CHE-2011 DESCRIPTION (COMPLETE) 12-09-2011.pdf | 2011-09-12 |
| 7 | 3115-CHE-2011-CLAIMS [23-07-2020(online)].pdf | 2020-07-23 |
| 7 | 3115-CHE-2011 CORRESPONDENCE OTHERS 12-09-2011.pdf | 2011-09-12 |
| 8 | 3115-CHE-2011-CORRESPONDENCE [23-07-2020(online)].pdf | 2020-07-23 |
| 8 | 3115-CHE-2011 CLAIMS 12-09-2011.pdf | 2011-09-12 |
| 9 | 3115-CHE-2011 ABSTRACT 12-09-2011.pdf | 2011-09-12 |
| 9 | 3115-CHE-2011-FER_SER_REPLY [23-07-2020(online)].pdf | 2020-07-23 |
| 10 | 3115-CHE-2011 DRAWINGS 12-09-2011.pdf | 2011-09-12 |
| 10 | 3115-CHE-2011-OTHERS [23-07-2020(online)].pdf | 2020-07-23 |
| 11 | 3115-CHE-2011 CORRESPONDENCE OTHERS 27-04-2012.pdf | 2012-04-27 |
| 11 | 3115-CHE-2011-FORM 4(ii) [22-06-2020(online)].pdf | 2020-06-22 |
| 12 | 3115-CHE-2011 FORM-1 27-04-2012.pdf | 2012-04-27 |
| 12 | 3115-CHE-2011-FER.pdf | 2019-12-23 |
| 13 | 3115-CHE-2011-Correspondence-140915.pdf | 2015-11-27 |
| 13 | 3115-CHE-2011-Power of Attorney-140915.pdf | 2015-11-27 |
| 14 | 3115-CHE-2011-Form 18-140915.pdf | 2015-11-27 |
| 15 | 3115-CHE-2011-Correspondence-140915.pdf | 2015-11-27 |
| 15 | 3115-CHE-2011-Power of Attorney-140915.pdf | 2015-11-27 |
| 16 | 3115-CHE-2011 FORM-1 27-04-2012.pdf | 2012-04-27 |
| 16 | 3115-CHE-2011-FER.pdf | 2019-12-23 |
| 17 | 3115-CHE-2011-FORM 4(ii) [22-06-2020(online)].pdf | 2020-06-22 |
| 17 | 3115-CHE-2011 CORRESPONDENCE OTHERS 27-04-2012.pdf | 2012-04-27 |
| 18 | 3115-CHE-2011-OTHERS [23-07-2020(online)].pdf | 2020-07-23 |
| 18 | 3115-CHE-2011 DRAWINGS 12-09-2011.pdf | 2011-09-12 |
| 19 | 3115-CHE-2011 ABSTRACT 12-09-2011.pdf | 2011-09-12 |
| 19 | 3115-CHE-2011-FER_SER_REPLY [23-07-2020(online)].pdf | 2020-07-23 |
| 20 | 3115-CHE-2011 CLAIMS 12-09-2011.pdf | 2011-09-12 |
| 20 | 3115-CHE-2011-CORRESPONDENCE [23-07-2020(online)].pdf | 2020-07-23 |
| 21 | 3115-CHE-2011 CORRESPONDENCE OTHERS 12-09-2011.pdf | 2011-09-12 |
| 21 | 3115-CHE-2011-CLAIMS [23-07-2020(online)].pdf | 2020-07-23 |
| 22 | 3115-CHE-2011 DESCRIPTION (COMPLETE) 12-09-2011.pdf | 2011-09-12 |
| 22 | 3115-CHE-2011-US(14)-HearingNotice-(HearingDate-04-05-2023).pdf | 2023-04-03 |
| 23 | 3115-CHE-2011 FORM-1 12-09-2011.pdf | 2011-09-12 |
| 23 | 3115-CHE-2011-Correspondence to notify the Controller [03-05-2023(online)].pdf | 2023-05-03 |
| 24 | 3115-CHE-2011 FORM-2 12-09-2011.pdf | 2011-09-12 |
| 24 | 3115-CHE-2011-Written submissions and relevant documents [19-05-2023(online)].pdf | 2023-05-19 |
| 25 | 3115-CHE-2011-PETITION UNDER RULE 137 [19-05-2023(online)].pdf | 2023-05-19 |
| 25 | 3115-CHE-2011 FORM-3 12-09-2011.pdf | 2011-09-12 |
| 26 | 3115-CHE-2011-PatentCertificate28-11-2023.pdf | 2023-11-28 |
| 26 | 3115-CHE-2011 FORM-5 12-09-2011.pdf | 2011-09-12 |
| 27 | 3115-CHE-2011-IntimationOfGrant28-11-2023.pdf | 2023-11-28 |
| 27 | 3115-CHE-2011 POWER OF ATTORNEY 12-09-2011.pdf | 2011-09-12 |
| 1 | search_20-12-2019.pdf |