Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
A MOBILE DEVICE AND A SYSTEM FOR INTERACTING WITH THE MOBILE DEVICE
Document Type and Number:
WIPO Patent Application WO/2018/201205
Kind Code:
A1
Abstract:
A mobile device (110) including a GPS module (180) for receiving first wireless signals and a WiFi module (181) for allowing communications with wireless networks of a given type. Module (181) has a first operational mode and a second operational mode in which communications with the wireless networks, by way of passive WiFi connection, is enabled and disabled respectively. An automated network identification and connection module 182 is configured to: identify, based on the first wireless signals, availability of a specific wireless network belonging to a predefined set of WiFi networks of the given type; identify a passcode for the specific wireless network in data accessible to the automated network identification and connection module (182); ensure the WiFi module (181) is in the first operational mode; and automatically connect the WiFi module (181) to the specific wireless network via the identified passcode.

Inventors:
SANDLER ISAAC (AU)
SCHWARTZ DAVID (AU)
Application Number:
PCT/AU2018/050419
Publication Date:
November 08, 2018
Filing Date:
May 07, 2018
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
RU STRANDED PTY LTD (AU)
International Classes:
G06Q30/02; H04W4/02
Foreign References:
US20160198292A12016-07-07
US20160092943A12016-03-31
US20140344946A12014-11-20
US20140057589A12014-02-27
Attorney, Agent or Firm:
SHELSTON IP PTY LTD (AU)
Download PDF:
Claims:
CLAIMS:

1. A mobile device including: a first wireless module for receiving first wireless signals that allow for the determination of a location for the device; a second wireless module for receiving second wireless signals, the second module having a first operational mode and a second operational mode in which the module is responsive and unresponsive to the second wireless signals; an automated network identification and connection module that is configured to: identify, based on the first wireless signals, an availability to the device of a specific source of the second wireless signals; ensure the second module is in the first operational mode; and allow connection of the device with the specific source thereby to automatically extract predetermined data from the specific source; and a customer engagement module which is responsive to the predetermined data for communicating a notification that the device is present at a given location.

2. A mobile device according to claim 1 wherein the automated network identification and connection module is configured, in response to the customer engagement module communicating the notification, to disconnect the device from the specific source.

3. A mobile device according to claim 1 wherein the automated network identification and connection module is configured, in response to the extraction of the predetermined data from the specific source, to disconnect the device from the specific source.

4. A mobile device according to claim 2 or claim 3 wherein the automated network identification and connection module is configured, after disconnecting the device from the specific source, to have the second module operating in the mode that was current during the earlier identification of the second wireless network.

5. A mobile device according to claim 1 wherein the first wireless signals are: GPS signals; and/or GSM signals.

6. A mobile device according to claim 1 wherein the second wireless signals are provided by a wireless network that is one or more of: a WiFi network; a Bluetooth network; and a GSM network.

7. A mobile device according to claim 1 wherein the first mode allows detection of a wireless network providing the second wireless signals and the second mode does not allow the detection of the wireless network.

8. A mobile device according to claim 7 wherein the first mode allows passive detection of the wireless network.

9. A mobile device according to claim 1 including a third wireless module for connecting with a wireless network for enabling the communication of the notification by the customer engagement module.

10. A mobile device according to claim 9 wherein the third wireless module is one of: a GSM module; a WiFi module; a Bluetooth module; or another wireless network module.

1 1. A mobile device according to claim 1 wherein: the second wireless module allows communications with wireless networks of a given type; the first operational mode and the second operational mode enable and disable communications with the wireless networks respectively; and the automated network identification and connection module is configured to: identify, based on the first wireless signals, availability of a specific wireless network belonging to a predefined set of networks of the given type; identify, from the predetermined data, a passcode for the specific wireless network in data accessible to the automated network identification and connection module; ensure the second module is in the first operational mode; and automatically connect the second wireless module to the specific wireless network via the identified passcode.

12. A system for interacting with the mobile device of claim 1 , the system including a server device is configured to: (i) identify that the mobile device has connected to the wireless network belonging to the predefined set;

(ii) identify that the wireless network belonging to the predefined set is associated with location data for a vendor record for a vendor in respect of which an offer data set has been accepted via the mobile device; and

(iii) cause transmission of a customer arrival notification in response to addressing data associated with the vendor record.

Description:
A MOBILE DEVICE AND A SYSTEM FOR INTERACTING WITH THE MOBILE DEVICE

FIELD OF THE INVENTION

[0001] The present invention relates to a mobile device and a system for interacting with the mobile device.

[0002] The embodiments of the invention have been developed primarily to provide technological infrastructure that supports analysis of combined input representative of online and physical (in-store) consumer activity. While some embodiments will be described herein with particular reference to that application, it will be appreciated that the invention is not limited to such a field of use, and is applicable in broader contexts.

BACKGROUND

[0003] Any discussion of the background art throughout the specification should in no way be considered as an admission that such art is widely known or forms part of common general knowledge in the field.

[0004] A great deal of technology has been developed to enable the gathering and utilisation of sales intelligence data in the online shopping space. For example, user activity is monitored thereby to populate web pages with products predicted to be of interest to a user. There are various technical challenges associated with extending these sorts of technologies to the "offline" shopping space (i.e. physical stores).

[0005] There has been considerable effort go into geolocating mobile devices of potential customers for offline stores as those potential customers individually approach a given retail store. The preferred approach is to connect wirelessly with those customer devices via a local network in the store as a means to further engage with the customers and to also possibly customise the offering being made to that customer at that time and place. While these techniques have met with some success they tend to be based primarily on the device being located by chance near the specific store in which a given W Fi network is established. Additionally, these networks rely upon an identification of the mobile device which, in addition to the privacy concerns arising from the potential customers, is becoming increasingly more difficult in any event with more recent devices that more typically use randomised MAC addresses to defeat such tracking. [0006] In addition, the proliferation in shopping centres and other sites of WiFi networks that compete for connection with the mobile device compromises the battery life of the device. While the user of the device may only be interested in using one or a small subset of the available networks, energy is consumed by the mobile device as it periodically passively scans for all networks.

[0007] Moreover, as vendors attempt to be more targeted with the potential customers there arises further and considerable technical hurdles in protecting the privacy and personal preferences of those potential customers while still gaining the desired engagement. For example, for a known customer of a vendor - as in, an already existing customer, or a potential customer seeking to take up a particular offer made by the vendor - it is far preferable for the vendor to know that such a customer has just entered a store of the vendor and, if so, for what reason. However, the existing WiFi networks of vendors are not able to provide this functionality while address these significant hurdles,

SUMMARY OF THE INVENTION

[0008] It is an object of the preferred embodiments of the present invention to overcome or ameliorate at least one of the disadvantages of the prior art, or to provide a useful alternative.

[0009] One embodiment of the invention provides a mobile device including: a first wireless module for receiving first wireless signals that allow for the determination of a location for the device; a second wireless module for receiving second wireless signals, the second module having a first operational mode and a second operational mode in which the module is responsive and unresponsive to the second wireless signals; an automated network identification and connection module that is configured to: identify, based on the first wireless signals, an availability to the device of a specific source of the second wireless signals; ensure the second module is in the first operational mode; and allow connection of the device with the specific source thereby to automatically extract predetermined data from the specific source; and a customer engagement module which is responsive to the predetermined data for communicating a notification that the device is present at a given location. [0010] In an embodiment the automated network identification and connection module is configured, in response to the customer engagement module communicating the notification, to disconnect the device from the specific source,

[0011] In an embodiment the automated network identification and connection module is configured, in response to the extraction of the predetermined data from the specific source, to disconnect the device from the specific source.

[0012] In an embodiment the first wireless signals are: GPS signals; and/or GSM signals.

[0013] In an embodiment the given type of wireless networks is one or more of: WiFi networks; Bluetooth networks; GSM networks; NFC networks; infrared network; or other wireless networks.

[0014] In an embodiment the first mode allows detection of a wireless network and the second mode does not allow the detection of a wireless network.

[0015] In an embodiment the first mode allows passive detection of a wireless network.

[0016] In an embodiment the mobile device includes a third wireless module for connecting with a wireless network for enabling the communication of the notification by the customer engagement module.

[0017] In an embodiment the third wireless module is a GSM module. [0018] One embodiment of the invention provides a mobile device including: a first wireless module for receiving first wireless signals; a second wireless module for allowing communications with wireless networks of a given type, the second module having a first operational mode and a second operational mode in which communications with the wireless networks is enabled and disabled respectively; and an automated network identification and connection module that is configured to: identify, based on the first wireless signals, availability of a specific wireless network belonging to a predefined set of networks of the given type; identify a passcode for the specific wireless network in data accessible to the automated network identification and connection module; ensure the second module is in the first operational mode; and automatically connect the second wireless module to the specific wireless network via the identified passcode.

[0019] One embodiment provides a system for interacting with the mobile device of the immediately preceding embodiment, the system including a server device is configured to:

(i) identify that the mobile device has connected to the wireless network belonging to the predefined set;

(ii) identify that the wireless network belonging to the predefined set is associated with location data for a vendor record for a vendor in respect of which an offer data set has been accepted via the mobile device; and

(iii) cause transmission of a customer arrival notification in response to addressing data associated with the vendor record.

[0020] One embodiment provides a computer system configured to manage a hierarchical framework of client devices, thereby to enable delivery of real-time location- specific sales intelligence data, the system including: a data management subsystem configured to maintain data representative of a plurality of user profiles, including:

(i) a plurality of highest level user profiles, wherein each highest level user profile represents a highest level user in a group hierarchy, wherein there is a plurality of group hierarchies; and

(ii) a plurality of lowest level user profiles, wherein each lowest level user profile represents a lowest level user in a respective one of the plurality of group hierarchies; a data management input module that is accessible via a user interface executing at a first client terminal, wherein the user interface enables a user of the first client terminal to: (i) log-in based on a given one of the highest level user profiles, thereby to gain access permissions associated with that one of the highest level user profiles; and

(ii) create one or more lowest level user profiles associated with the same group hierarchy as the given one of the highest level user profiles; wherein creating a given lowest level user profile includes:

(i) associating vendor location data with the given lowest level user profile; and

(ii) generating a unique identification code for the given lowest level user profile, and associating that unique identification code with the given lowest level user profile; and an intelligence subsystem including: a mobile device registration module, wherein the mobile device registration module is configured to:

(i) receive, from a unique mobile device having a user interface, a unique identification code associated with a given one of the lowest level user profiles; and

(ii) cause updating of the maintained data representative of a plurality of user profiles such that the given one of the lowest level user profiles is associated with addressing data for the unique user device; and a notification management module that is configured to:

(i) receive data representative of a sales intelligence notification associated with a customer record and vendor location data;

(ii) identify one of the lowest level user profiles associated with the same vendor location data; (iii) in response to a location-based trigger caused by location monitoring of a mobile device associated with the customer record, deliver the sales intelligence notification to the mobile device associated with the identified one of the lowest level user profiles.

[0021] One embodiment provides a computer system wherein the data management subsystem is configured to maintain data representative of a plurality of user profiles, including:

(i) a plurality of highest level user profiles, wherein each highest level user profile represents a highest level user in a group hierarchy, wherein there is a plurality of group hierarchies;

(ii) a plurality of lowest level user profiles, wherein each lowest level user profile represents a lowest level user in a respective one of the plurality of group hierarchies hierarchy; and

(iii) one or more tiers of mid-level user profiles, wherein each mid-level user profile is defined in a given group hierarchy nested beneath at least one highest level user profile, and has nested beneath it at least one lowest level user profile;

[0022] One embodiment provides a computer system wherein the notification management module is configurable via a user interface thereby to define notifications rules.

[0023] One embodiment provides a computer system wherein a notifications rule includes providing a notification to addressing data associated with one or more user profiles belonging to a predefined group hierarchy, being of a defined level, and having defined location data, wherein the notification is provided in response to identifying of request data satisfying predefined location and taxonomy requirements.

[0024] One embodiment provides a computer system wherein the notification provides access, from a device at which the notification is received, to a user interface that enables defining of a bespoke response to the request data.

[0025] One embodiment provides a computer system wherein a notifications rule includes providing a notification to addressing data associated with one or more user profiles belonging to a predefined group hierarchy, being of a defined level, and being associated with defined vendor location data, wherein the notification is provided in response to identifying of predicted demand at a defined location,

[0026] One embodiment provides a computer system wherein the notification provides data representative of the predicted demand and determined supply.

[0027] One embodiment provides a computer system wherein the predicted demand is based on monitoring of mobile device locations for one or more mobile devices associated with customer records,

[0028] One embodiment provides a computer system wherein the predicted demand is based on monitoring of offer acceptances associated with customer records.

[0029] One embodiment provides a computer system wherein the determined supply is based on identification of a number of active mobile devices associated with lowest level user profiles and vendor location data corresponding to the defined location.

[0030] One embodiment provides a computer system configured to enable generation and configuration of offer data, the system including: a data management subsystem configured to maintain data representative of:

(i) a product taxonomy, wherein the product taxonomy provides a hierarchical framework of classes for objective categorisation of goods and/or services; and

(ii) a plurality of vendor records, wherein each vendor record includes data representative of addressing information for one or more vendor devices configured to enable presentation of lead data, and further includes location data for a vendor physical location; and an offer generation module, wherein the offer generation module is configured to be accessible to a user of a networked device that renders an offer generation user interface, wherein the offer generation module is configured to:

(i) receive a request to commence generation of a new offer associated with a specified one of the vendor records;

(ii) receive primary input representative of a product; (iii) based on the primary input, perform an automated process thereby to identify a class in the product taxonomy with which the new offer is to be associated, and selectively associating the new offer with that class in the taxonomy;

(iv) receive secondary input representative of product details for the product;

(v) based on the secondary input, perform a process thereby to associate the new offer with product details;

(vi) cause presentation via the offer generation user interface of a template-driven offer structure generation interface, wherein the template- driven offer structure generation interface is configured to enable a user to select an offer structure template, and define offer structure data for that offer structure template;

(vii) receive, via the template-driven offer structure generation interface, user generated offer structure data associated with a specific offer template, and associating that offer structure data associated with the specific offer template with the new offer;

(vii) cause presentation of an offer publication rules interface via the offer generation user interface, wherein the offer publication rules interface is configured to enable a user to define rules for automated publication of the new offer to one or more customer client devices; and

(viii) configure the new offer to be activated into a published state based on the user defined rules.

[0031] One embodiment provides a computer system wherein the primary input representative of a product includes a photo of the product, and wherein performing an automated process thereby to identify a class in the product taxonomy with which the new offer is to be associated includes an Internet-based search based on that image.

[0032] One embodiment provides a computer system wherein receiving secondary input representative of product details for the product includes receiving an image of a physical tag associated with the product. [0033] One embodiment provides a computer system wherein performing a process thereby to associate the new offer with product details includes performing an Optical Character Recognition process on the image of the physical tag and extracting textual data representative of product details.

[0034] One embodiment provides a computer system wherein performing a process thereby to associate the new offer with product details includes reading a unique code from the image of the tag, and querying a product database based on that unique code thereby to extract data representative of product details.

[0035] One embodiment provides a computer system wherein the template-driven offer structure generation interface is configured to display a subset of offer templates selected from a full set of offer templates, wherein the selection is based on identified class in the product taxonomy with which the new offer is associated.

[0036] One embodiment provides a computer system wherein the user defined rules for automated publication of the new offer to one or more customer client devices include: a rule to make the new offer available via a customer user interface at a customer client device in response to a request from that customer client device representative of: the identified class in the product taxonomy with which the new offer is associated.

[0037] One embodiment provides a computer system wherein the user defined rules for automated publication of the new offer to one or more customer client devices include: a rule to make the new offer available via a customer user interface at a customer client device in response to a request from that customer client device representative of: a higher-level class in the taxonomy under which the identified class in the product taxonomy with which the new offer is associated is nested.

[0038] One embodiment provides a computer system wherein the user defined rules for automated publication of the new offer to one or more customer client devices include: a rule to make the new offer available via one or more of: a defined web location; and a defined social media feed.

[0039] One embodiment provides a computer system including a request processing module that is configured to: (i) receive a request generated by a customer client device, wherein the request is associated with Iocation data and with a specified class defined in the taxonomy;

(ii) identify one or more offers in a published state defined by the offer generation module that match the received request based on a combination of: location-based matching, based on proximity rules, of the request's associated iocation data with a given a given offer's vendor record's location data; and taxonomy-based matching based on the specified class defined in the taxonomy for the request with the identified class in the product taxonomy with which the given offer is associated; and

(iii) cause presentation at the customer client device of data representative of the one or more identified offers.

[0040] One embodiment provides a computer system to enable delivery of in-store lead data, the system including: a data management subsystem configured to maintain data representative of:

(i) a plurality of customer records, wherein each customer record includes data representative of addressing information for a customer client device at which a customer engagement module executes;

(ii) a plurality of vendor records, wherein each vendor record includes data representative of addressing information for one or more vendor devices configured to enable presentation of lead data, and further includes iocation data for a vendor physical iocation; and

(iii) a plurality of pre-configured offer data sets, wherein each defined preconfigured offer data set is associated with a vendor record and class defined in a product taxonomy, wherein the product taxonomy provides a hierarchical framework of classes for objective categorisation of goods and/or services; a customer request moduie, wherein the customer request module is configured to receive data representative of a customer request defined by way of interaction with the customer engagement moduie executing at a client device associated with a particular one of the customer records; a request processing moduie, wherein the request processing module is configured to process the request thereby to identify at least one class defined in the product taxonomy; a location-aware matching module that is configured to perform a matching process for the customer request thereby to identify one or more preconfigured offer data sets, the matching process including:

(i) identifying location data associated with the customer client device via which the customer request is defined;

(ii) proximity-based matching, based on proximity rules, of the customer client device's associated location data with a given a given offer data set's vendor record's location data; and

(iii) taxonomy-based matching based on the specified class defined in the taxonomy for the customer request with the identified class in the product taxonomy with which the given offer data set is associated; and a result delivery module configured to cause presentation at the customer client device of data representative of the one or more identified preconfigured offer data sets.

[0041] One embodiment provides a computer system wherein the location aware matching module is configured to perform the matching process periodically such that further preconfigured offer data sets are periodically identified responsive to changes in location data associated with the customer client device,

[0042] One embodiment provides a computer system including a bespoke offer data set management module configured to execute a bespoke offer request/response process including: (i) identifying location data associated with the client device via which the customer request is defined;

(ii) identifying one or more vendor records that are matched to the customer request based on a combination of: location-based matching, based on proximity rules, of the customer client device's associated location data with one or more vendor record's location data; and taxonomy-based matching based on the specified class defined in the taxonomy for the customer request with the identified class in the product taxonomy with bespoke advertising setting associated with one or more vendor records;

(iii) for each matched vendor record, causing delivery of a bespoke request notification based on addressing data associated with the vendor record, wherein the bespoke request notification enables defining via a user interface of a bespoke offer data set based on the bespoke request; and

(iv) causing the result delivery module to cause presentation at the customer client device of data representative of one or more defined bespoke offer data sets.

[0043] One embodiment provides a computer system wherein the bespoke offer data set management module is configured to perform the execute a bespoke offer request/response process periodically such that further bespoke preconfigured offer data sets are periodically defined for presentation responsive to changes in location data associated with the customer client device,

[0044] One embodiment provides a computer system wherein the result delivery module is configured to cause presentation of data representative of one or more preconfigured offer data sets and one or more bespoke offer data sets for a given customer request on a common map-based interface.

[0045] One embodiment provides a mobile device including: a GPS module that is configured to enable tracking of mobile device location; a request generation module, wherein the request generation module is configured to enable a user of the mobile device to generate a request data set representative of a specified class defined in a product taxonomy, wherein the product taxonomy provides a hierarchical framework of classes for objective categorisation of goods and/or services; a request submission module that is configured to transmit to a server device:

(i) customer record data associated with the mobile device;

(ii) location data associated with the mobile device;

(iii) the request data set; wherein the server device is configured to execute an offer identification process including:

(i) a first matching process configured to identify one or more preconfigured offer sets that match the request data set based on location- based matching and taxonomy-based matching; and

(ii) a second matching process that, via a bespoke offer request/response process, identifies one or more vendor records based on location-based matching and taxonomy-based matching, and enables devices associated with the one or more identified vendor records to define bespoke offer data sets; a result receipt module that is configured to receive data representative of one or more preconfigured offer data sets and one or more bespoke offer data sets responsive to execution of the offer identification process; and a result presentation module that is configured to present, via a user interface of the mobile device, a user interface object that allows accessing of a rendering representative of a selected one or more of the one or more preconfigured offer data sets and one or more bespoke offer data sets.

[0046] One embodiment provides a mobile device wherein the offer identification process is periodically repeated based on updated mobile device location data, thereby to periodically identify one or more new more preconfigured offer sets and one or more new- bespoke offer data sets.

[0047] One embodiment provides a mobile device wherein the mobile device includes an offer acceptance module, wherein the offer acceptance module is configured to enable a user of the mobile device to accept a given one of the one or more preconfigured offer data sets and/or one or more bespoke offer data sets, wherein the offer acceptance module is configured to, in response to the accepting, transmit data representative of the accepting to the server, wherein the server is configured to configure location monitoring rules based on the accepting.

[0048] One embodiment provides a mobile device wherein the mobile device includes an automated network identification and connection module, wherein the automated network identification and connection module is configured to identify, based on a radio of the mobile device, availability of a wireless network belonging to a predefined set, identifying a passcode for the wireless network belonging to the predefined set in data accessible to the automated network identification and connection, and automatically connect to the wireless network belonging to the predefined set via the identified passcode.

[0049] One embodiment provides the mobile device above, wherein a server device is configured to:

(i) identify that the mobile device has connected to the wireless network belonging to the predefined set;

(ii) identify that the wireless network belonging to the predefined set is associated with location data for a vendor record for a vendor in respect of which an offer data set has been accepted via the mobile device; and

(iii) cause transmission of a customer arrival notification in response to addressing data associated with the vendor record.

[0050] One embodiment provides a computer system configured to enable delivery of in-store lead data, the system including: a data management subsystem configured to maintain data representative of: (i) a plurality of customer records, wherein each customer record includes data representative of addressing information for a customer client device at which a customer engagement module executes;

(ii) a plurality of vendor records, wherein each vendor record includes data representative of addressing information for one or more vendor devices configured to enable presentation of lead data, and further includes location data for a vendor physical location; and

(iii) a plurality of offer data sets, wherein each offer data set is associated with a vendor record; a customer request module, wherein the customer request module is configured to receive data representative of a customer request defined by way of interaction with the customer engagement module executing at the customer client device associated with a particular one of the customer records; a result delivery module configured to cause presentation at the customer client device of data representative of the one or more offer data sets matched to the customer request; an offer acceptance module configured to receive data representative of an acceptance notification triggered via user-interface based accepting of an offer set presented at a customer client device; and a vendor notification module configured to deliver, via addressing data associated with a vendor record:

(i) data representative of an acceptance notification for an offer data set associated with the vendor record;

(ii) data associated with the customer record associated with the customer client device at which the accepting occurred;

(iii) an arrival notification in response to identification that, based on location monitoring of the customer client device, the customer client device has a defined proximity relationship relative to the vendor physical location. [0051] One embodiment provides a computer system wherein the data associated with the customer record associated with the customer client device at which the accepting occurred includes a photo associated with the customer record.

[0052] One embodiment provides a computer system wherein the data associated with the customer record associated with the customer client device at which the acceptance occurred includes data representative of one of more products predicted to be of interest to the customer.

[0053] One embodiment provides a computer system wherein the one or more products predicted to be of interest to the customer include a product identified based on monitoring of interaction of the customer with the customer engagement module.

[0054] One embodiment provides a computer system wherein the one or more products predicted to be of interest to the customer include a product identified based on monitoring of interaction of the customer with one or more online platforms.

[0055] One embodiment provides a computer system wherein the one or more products predicted to be of interest to the customer include a product identified based output of a sales intelligence data module that analyses data associated with the customer record.

[0056] One embodiment provides a computer system wherein the data delivered via the vendor notification module is displayed via a user interface executing on a wearable device.

[0057] One embodiment provides a computer system wherein the wearable device includes a smartwatch.

[0058] One embodiment provides a computer system wherein the wearable device includes displays either integrated into glasses, contact lenses or other visual display technologies.

[0059] One embodiment provides a computer system wherein the location monitoring of the customer client device includes location monitoring based on connection to a location-known wireless network. [0060] One embodiment provides a computer system wherein the vendor notification module is additionally configured to deliver data representative of the customer device moving away from the vendor physical location, wherein such data causes presentation of a vendor sales outcome feedback input interface.

[0061] One embodiment provides a computer program product for performing a method as described herein.

[0062] One embodiment provides a non-transitory carrier medium for carrying computer executable code that, when executed on a processor, causes the processor to perform a method as described herein.

[0063] One embodiment provides a system configured for performing a method as described herein.

[0064] Reference throughout this specification to "one embodiment", "some embodiments" or "an embodiment" 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 some embodiments" or "in an embodiment" in various places throughout this specification are not necessarily ail referring to the same embodiment, but may. Furthermore, the particular features, structures or characteristics may be combined in any suitable manner, as would be apparent to one of ordinary skill in the art from this disclosure, in one or more embodiments.

[0065] As used herein, unless otherwise specified the use of the ordinal adjectives "first", "second", "third", etc., to describe a common object, merely indicate that different instances of like objects are being referred to, and are not intended to imply that the objects so described must be in a given sequence, either temporally, spatially, in ranking, or in any other manner.

[0066] In the claims below and the description herein, any one of the terms "comprising", "comprised of or "which comprises" is an open term that means "including at least the elements/features that follow, but not excluding others". Thus, the term "comprising", when used in the claims, should not be interpreted as being limitative to the means or elements or steps listed thereafter. For example, the scope of the expression "a device comprising A and B" should not be limited to devices consisting only of elements A and B. Any one of the terms "including" or "which includes" or "that includes" as used herein is also an open term that also means "including at least the elements/features that follow the term, but not excluding others". Thus, the term "including" is synonymous with and means "comprising".

[0067] As used herein, the term "exemplary" is used in the sense of providing examples, as opposed to indicating quality. That is, an "exemplary embodiment" is an embodiment provided as an example, as opposed to necessarily being an embodiment of exemplary quality.

BRIEF DESCRIPTION OF THE DRAWINGS

[0088] Embodiments of the invention will now be described, by way of example only, with reference to the accompanying drawings in which:

FIG. 1A to 1 C illustrate computer systems and devices according to embodiments;

FIG. 2 illustrates a user/device framework according to one embodiment; and

FIG. 3A to FIG. 3D illustrate methods according to embodiments.

DETAILED DESCRIPTION

[0069] The present disclosure relates primarily to technology by which a central system enables functional interactions between mobile devices associated with customers and devices (primarily mobile and/or wearable devices) associated with vendors having physical stores. For example, some embodiments provide a combination of mobile device location monitoring with a dual form request/Offer process, such that users are able to access physical store's preconfigured and bespoke offer data sets, and such that vendors are provided real time customer sales intelligence data (including data provided via wearable device user interfaces), including data providing notifications of customer "arrivals" (i.e. events when a customer reaches a defined level of proximity to a vendor) and cross-selling opportunities.

[0070] The term "vendor" as used herein should be read broadly to include any person or business that uses the technology to assist in marketing of goods and/or services. The term "store" should also be read broadly to include any location at which a vendor conducts sale activities, including conventional physical shops, and other residential/public/other locations at which a vendor provides goods and services. In some cases a "store" (or "vendor location" as described below) varies based on observable data, for example where a vendor's "store" and vendor location is tied to a current location of a GPS-enab!ed mobile device. It follows that the term "arrival" relates to an identifiable proximity relationship between a customer location and a vendor location, and is not limited to arrival at a conventional retail venue. For example, in an embodiment a vendor is able to be a service provider such a plumber, and the store is able to be the current location of the plumber, or to vary between being the location current of the plumber, the location of an office from which the plumber conducts business, or the current location of a vehicle used by the plumber in the conduct of the business.

Overview

[0071] At a very high level, technology described below is configured to support a lead generation framework, geared towards assisting vendors with physical locations (as opposed to vendors having a strictly online only presence). Mobile device apps are distributed to customers and to vendors. The customer mobile apps allow customers to search for goods/services (referred to herein by the term "products") based on their current location. The results are derived from offer data sets, defined in some embodiments by way of the vendor mobile application (and optionally via a desktop platform). The offer data sets include both preconfigured offer data sets, which are automatically returned based on customer request attributes, and bespoke offer data sets, which a vendor generates upon receiving a real-time notification of a customer request in their vicinity (and which meets certain conditions, for example the nature of product/s requested). Upon acceptance of an offer data set by way of the customer app, notifications are provided to one or more mobile devices associated with the relevant vendor, in a preferred embodiment, these notifications allow rendering on a wearable device (such as a smartwatch) of a lead data set that includes a photo of the customer, details of the offer accepted, and information to assist with cross-selling (based on gathered sales intelligence). The notifications also inform a user of the wearable device when the customer arrives at the store (for example via customer mobile device GPS monitoring, Bluetooth-based location monitoring, or in some embodiments via connection of the customer mobile device to a prescribed local wireless network).

[0072] Technology is described below by reference to example systems and devices. It should be appreciated that these systems and devices embody numerous inventive aspects of the present technology. Further embodiments provide some of these aspects, but not others. Aspects of the technology include (but are not limited to):

• Technology that provides location aware notifications directly to vendor salesperson representatives (for example via wearable device user interface), for example thereby to provide customer arrival notifications, customer identification assistance, and customer-specific cross-sell intelligence.

« Technology that enables request/offer matching based on a combination of location-based matching and taxonomy based matching via a framework that provides for either or both of preconfigured offer data sets and bespoke offer data sets.

» Technology that enables a streamlined intelligent user interface for the generation and publishing of offer data sets (for example digital advertisements).

• Technology that enables management of a hierarchical structure of client devices, thereby to deliver real time vendor sales intelligence and analytics in a highly customisable manner.

• Technology that provides real-time analytics based on monitoring of customer device location and behaviour, optionally in combination with monitoring of vendor device characteristics. '

« Technology that enables customer device location monitoring/detection via automated secure network connection.

» Technology that enables restricted access to software functionalities at a mobile device responsive to observed device hardware operational characteristics.

[0073] Computer systems are described by reference to functionally separable modules. As used herein, the term "module" refers to a software component that is logically separable (a computer program), or a hardware component. The module of the embodiment refers to not only a module in the computer program but also a module in a hardware configuration. The discussion of the embodiment also serves as the discussion of computer programs for causing the modules to function (including a program that causes a computer to execute each step, a program that causes the computer to function as means, and a program that causes the computer to implement each function), and as the discussion of a system and a method. For convenience of explanation, the phrases "stores information," "causes information to be stored," and other equivalent phrases are used, if the embodiment is a computer program, these phrases are intended to express "causes a memory device to store information" or "controls a memory device to cause the memory device to store information." The modules may correspond to the functions in a one-to-one correspondence. In a software implementation, one module may form one program or multiple modules may form one program. One module may form multiple programs. Multiple modules may be executed by a single computer. A single module may be executed by multiple computers in a distributed environment or a parallel environment One module may include another module.

[0074] In the discussion that follows, the term "connection" refers to not only a physical connection but also a logical connection (such as an exchange of data, instructions, and data reference relationship).

[0075] The term "predetermined" means that something is decided in advance of a process of interest. The term "predetermined" is thus intended to refer to something that is decided in advance of a process of interest in the embodiment. Even after a process in the embodiment has started, the term "predetermined" refers to something that is decided in advance of a process of interest depending on a condition or a status of the embodiment at the present point of time or depending on a condition or status heretofore continuing down to the present point of time. If "predetermined values" are plural, the predetermined values may be different from each other, or two or more of the predetermined values (including ail the values) may be equal to each other.

[0076] A statement that "if A, B is to be performed" is intended to mean "that it is determined whether something is A, and that if something is determined as A, an action B is to be carried out". The statement becomes meaningless if the determination as to whether something is A is not performed.

[0077] The term "system" and the term "device" refer to an arrangement where multiple computers, hardware configurations, and devices are interconnected via a communication network (including a one-to-one communication connection). The term "system" and the term "device" also refer to an arrangement that includes a single computer, a hardware configuration, and a device. The term "system" and the term "device" have the same definition and are interchangeable with each other. The system does not include a social system that is a social "arrangement" formulated by humans.

[0078] At each process performed by a module, or at one of the processes performed by a module, information as a process target is read from a memory device, the information is then processed, and the process results are written onto the memory device. A description related to the reading of the information from the memory device prior to the process and the writing of the processed information onto the memory device subsequent to the process may be omitted as appropriate. The memory devices may include a hard disk, a random-access memory (RAM), an external storage medium, a memory device connected via a communication network, and a register within a CPU (Central Processing Unit).

[0079] FIG. 1A illustrates an example system, showing a selection of example devices. A lead management system 100 provides a central hub that interfaces the remaining devices, including:

® Customer devices: including an example customer device 1 10, Customer devices 110 are, in this described example, mobile devices, for example smartphones. In some embodiments functionalities of customer devices are provided via alternate forms of computing device, for example desktop and/or laptop computers. Each customer device includes a customer engagement module 11 , which executes at customer device thereby to enable rendering on a display of the customer device of a customer engagement user interface. Primary functions of the customer engagement module 111 include: defining requests; reviewing offers identified in response to requests; and accepting offers. A customer device becomes associated with a customer record responsive to a login event representative of a defined customer record being performed via the customer engagement module.

« Vendor manager devices: including an example vendor management device 120.

Vendor management devices may include mobile devices such as smartphones, or other computing devices. Each vendor management device includes a vendor management module 121 which executes at vendor manager device thereby to enable rendering on a display of the vendor manager device of a vendor management user interface. Primary functions of the vendor management module include: configuring a vendor record; defining preconfigured offer data sets; configuring bespoke offer monitoring; defining bespoke offer data sets; publishing offer data sets via further platforms; and reviewing analytics data,

• Vendor sales devices: including an example vendor sales device 130, Vendor sales devices may include wearable devices (for example smartwatches and/or display-enabled glasses; it will be appreciated that the term "wearable" should be afforded broad interpretation that is able to adapt as this fast-moving area of technology evolves). Such wearable devices in some cases operate in conjunction with mobile devices, such as smartphones (and the wearable device serves as a lightweight user interface device). Each vendor sales device includes a vendor sales module 131 , which executes at vendor manager device thereby to enable rendering on a display of the vendor manager device of a vendor sales user interface. Primary functions of the vendor sales user interface include: providing a notification that a customer has accepted an offer associated with the vendor; displaying customer information for such a customer including name and photo; displaying cross-sell opportunity data; and displaying a customer arrival notification responsive to customer device location monitoring, in some embodiments vendor sales devices also provide corresponding functionalities to vendor manger devices, including: defining preconfigured offer data sets; configuring bespoke offer monitoring; defining bespoke offer data sets; publishing offer data sets via further platforms; and reviewing analytics data.

[0080] Processes performed by these devices are described in more detail further below.

High Level Data Structure

[0081] Embodiments described below include (or make use of) a data management subsystem (item 150 in FIG. 1A). The data management system provides access (for example read and write access) to a database that contains data relating to customers, vendors, offers, and other artefacts. The following forms of data used across various embodiments.

® Customer records: each customer record is representative of at least one customer, and includes data representative of addressing information for a customer client device at which a customer engagement module executes. The customer records additionally include, in various embodiments: customer demographic information (for example name, age, gender, photos, and the like); customer social media information (for example a Facebook profile); customer data for third party monitoring services (for example to enable access to third party data); data representative of one or more current persistent customer requests (optionally defined as a "watch list"); and data representative of one or more offer data sets that have been accepted by the customer, and data representative of customer historical activity (for example previous requests, purchases, locations, demographic buying patterns, and other data relevant for analytics purposes). In some embodiments customer records are configured to automatically update over time based on rules (for example clothing size data being updated over time automatically for customer records or other profile data relating to children).

• Vendor records: each vendor record includes data representative of addressing information for one or more vendor devices configured to enable presentation of lead data, and further includes location data for at least one vendor physical location (which may be a physical location defined by the location of a mobile device, such that the vendor physical location is point-in-time variable). As described further below, a given vendor record is in some embodiments associated with multiple vendor devices and multiple sets of location data (where a vendor has multiple physical locations). Each vendor record is additionally associated with one or more offer data sets, and rules for bespoke offer monitoring (as discussed further below).

» Offer data sets: as described in more detail below, offer data sets in some embodiments include both of: preconfigured offer data sets; and bespoke offer data sets. Each offer data set is associated with a vendor record (based on a vendor responsible for generation of the offer data set), and is enabled to be associated with one or more customer records responsive to an offer acceptance process.

® A product taxonomy: the product taxonomy provides a hierarchical framework of classes for objective categorisation of goods and/or services. Each vendor is associated with one or more classes in the product taxonomy. This is optionally based on a vendor configuration step, where a vendor selects classes in the product taxonomy. A vendor optionally associates its vendor record with a class (and ail of its nested subclasses), or to only selected subclasses. For example, classes may include "clothing", with nested classes for "male clothing" and "female clothing", and further nested classes under "male clothing" for "sportswear", "shoes", and so on.

[0082] It will be appreciated that specifics of data structuring and storage vary between embodiments.

Example Customer Engagement Moduie Operation

[0083] The customer engagement module is provided either via locally stored software instructions executing via a standalone app, or via code that is provided by a web server and accessed via a user interface rendered in a locally executing web browser. A user of a mobile device logs in to the customer engagement module via one of the customer records.

[0084] As best illustrated in FIG 1 B, the customer engagement module includes a request generation module 1 12. The request generation moduie enables a user to input data representative of a request, for example via text input and/or voice input. The request processed thereby to identify one or more classes in the taxonomy (for example a request "I am shopping for jeans" is matched to a taxonomy class for "jeans". In some embodiments the request generation moduie includes secondary inputs that enable request refinement (for example price parameters) and/or result sorting/filtering (for example price, discount, rating, and/or proximity).

[0085] In some embodiments customer engagement module 11 1 provides a favourites moduie 13, which is configured to enable re-submission of one or more saved previously generated requests, and/or a watch list module 1 14 which is configured to automatically resubmit one or more saved previously generated requests periodically (such that those requests are periodically resubmitted with updated customer device location data, such that requests managed by the watch list module in effect "follow" the user around as they geographically move.

[0086] In some embodiments request generation module 1 12 is configured to enable submission of a request based on the logged-in customer record, or based on alternate customer data (for example by identifying another customer record, or via defining of a secondary customer profile data set), in some embodiments, module 112 also includes provision of functionality to select alternate customer data facilitates to allow, in practice, shopping for another person, in some embodiments the user sets a secondary profile for a child, and by entering the child's age, each year, profile data (such as clothing sizes) automatically increase to match the child's age, and streamlining the user experience.

[0087] A request submission module 1 15 is configured to transmit to a server device, in respect of a request defined via module 11 (or a request stored and triggered via module 1 13 or module 1 4):

(i) customer record data associated with the mobile device;

(ii) current location data associated with the mobile device (for example using GPS data, or based on connection to a known local wireless network, Bluetooth, RFID, or other technologies); and

(iii) the request data set (which is at least representative of a class in the taxonomy).

[0088] A result receipt module 1 16 is configured to receive data representative of one or more offer data sets that are delivered by a lead management system 100 in response to each customer request. A result presentation module 1 7 that is configured to present, via a user interface of the mobile device, a user interface object that allows accessing of a rendering representative of a selected one or more of the one or more preconfigured offer data sets and one or more bespoke offer data sets. For example, in one embodiment the user interface object is a map, which shows locations associated with offer data sets.

[0089] In embodiments described herein, there are two categories of offer data sets:

» Preconfigured offer data sets. These are preconfigured to be delivered in response to requests having defined attributes.

• Bespoke offer data sets. These are defined by operation of vendor manager modules, with such operation occurring in response to notifications triggered in response to request having defined attributes.

[0090] Where a user interface in the form of a map is used by result presentation module 17, graphical icons representative of locations for preconfigured offer data sets are shown in an accessible form initially. Graphical icons representative of locations for bespoke offer data sets are shown in an accessible form progressively as those bespoke offer data sets are defined and transmitted (in some cases these are shown in as icons in an inactive state initially, and progressed to an active state upon receipt of a bespoke offer data set).

[0091] Result presentation module 1 17 is additionally configured to enable rendering of a user interface display that provides additional information provided via a given offer data set, for example offer structure (e.g. discount, etc), vendor details, product details, pricing, reviews (for example product reviews made by other users), and so on.

[0092] An offer acceptance module 1 18 enables a user to accept an offer displayed via the result presentation module. This triggers a process by which a one or more vendor devices associated with a vendor record with which an accepted offer is associated are provided with notifications, including notifications of offer acceptance, customer details, cross-sell opportunities, and customer arrival. In some embodiments the acceptance process triggers a payments module, which enables a user of the customer device to submit a payment associated with the offer via the customer engagement app.

[0093] In some embodiments a feedback module 119 is provided thereby to prompt for feedback regarding a customer-vendor interaction. For example, following acceptance of a given offer, a monitoring process is triggered which monitors for a customer arrival at the relevant vendor physical location and a subsequent customer departure from that vendor physical location (identified by either or both of GPS monitoring and local wireless network connection for a customer mobile device associated with the relevant customer record). In response to identification of the subsequent customer departure, the feedback module 1 19 provides a user interface display configured to seek feedback on the customer-vendor interaction, for example including either or both of a star rating and a purchase outcome input (for instance whether a sale associated with the accepted offer was made).

[0094] It should be appreciated that, given the broad definitions of "store", "vendor location" and "arrival", a customer arrival/departure event is in some cases triggered by a stationary customer device and a moving vendor device. For example, where a vendor is travelling and comes to a customer, a proximity relationship that represents customer "arrival" at a physical vendor location is in practice caused by the vendor location (which is bound to a vendor device) moving into proximity with a customer device. [0095] Feedback module 1 19 is optionally used as a "loop closure" mechanism for a lead process; a lead is generated by system 100 by way of transmission of offer data sets to a customer, and system 100 is able to identify whether a customer accepts an offer associated with a vendor record and travels to a location associated with that vendor record. However, system 100 is in the embodiment presently described not directly involved in a transaction between the vendor and customer. Accordingly, additional input (such as input via module 1 19) is required to close the loop and determine whether a lead was successful. A further example of loop closure is discussed below in terms of a vendor device feedback module, which operates in a similar manner to module 1 19 but at a vendor device. There are alternate loop closing mechanisms used in further embodiments (for example POS integration with system 100).

[0096] In some embodiments offer acceptance module 1 18 is associated with a payment module, which enables a user to submit a payment associated with offer acceptance (for example via integration with a third party payment gateway, or embedded eCommerce functionality). However, for the purposes of examples discussed below, focus is given to examples where transactions occur directly between a customer and a vendor outside of system 100 (i.e. system 100 is a lead generation system, as opposed to an online sales system).

[0097] Mobile device 10 additionally includes a GPS module 180 configured to enable tracking of mobile device location, and a WiFi module 181 that is configured to connect to wireless networks, in other embodiments one or more of devices 110 make use of two- way wireless communications modules in addition to or instead of modules 180 and 181. This includes, for example, a Bluetooth communications module and a Near-field Communication (NFC) module. Other two-way communications modules are also envisaged such as an infrared communications module and others. In further embodiments, one or more of devices 110 make use of primarily one-way wireless communications modules in addition to one or more of modules 180 and 181. These primarily one-way modules include, for example, a camera module (for allowing acquisition of external QR codes or other machine-readable codes), an infrared communications module, or other such sensor module for acquiring or detecting an external identifier, code or other information.

[0098] An automated network identification and connection module 182 is configured to selectively cause automated connection to secured wireless networks. This provides a secondary location monitoring capability based on knowledge of wireless network locations (and/or WiFi based trianguiation), thereby to provide an alternative to GPS that is more effective in indoor environments (for example shopping ma!ls). Module 182 maintains access to a predefined set of location-known wireless networks, and passcodes for those networks (preferably those passcodes are hidden from a user). Module 182 then monitors for availability of a wireless network belonging to the predefined set, identifies the passcode for the wireless network belonging to the predefined set, and automatically connects that wireless network. In some embodiments WiFi network details including SSID and/or passwords are downloaded automatically over time based on customer device location and, optionally, based on customer device location tracking). As discussed in more detail further below, automated network connection is used as a trigger for customer arrival notifications (optionally with or without connection to an offer acceptance), which provides a practical technical advantage in the context of the technology described herein. From a user perspective, a customer is provided with free wireless internet in certain areas with automated connection by way of customer engagement module 11 (and granting network connectivity access rights to that module), which incentivises installation of module 11 1.

[0099] In a preferred embodiment, network connection based customer device location monitoring is facilitated by an automated network identification and connection module 182 that executes at each customer device 110. In the present embodiment this is a module provided by way of module 111 , with module 1 11 functionally being represented by a single app that is installed on device 1 10. This app is configured to prompt a user to grant access to perform automated network connections.

[00100] The automated network identification and connection module 182 is configured to identify, based on a radio of the mobile device, availability of a wireless network belonging to a predefined set. For example, the predefined set is defined in a data store maintained by system 100 (and/or replicated in local memory of device 1 10) based on vendors providing data representative of their respective local wireless networks to system 100 during the vendor configuration process (via a manager device 120). Upon identifying a network belonging to the set, module 182 identifies a passcode for the wireless network based on data locally stored or retrieved from system 100, and uses that passcode to connect to the network (the passcode is not made available to a user of device 1 10; for example, it is encrypted and/or stored in a location that is not readily accessible by conventional user operations). [00101] According to an embodiment there is provided a mobile device including: a first wireless module (such as module 180) for receiving first wireless signals; a second wireless module (such as module 181) for allowing communications with wireless networks of a given type, the second module having a first operational mode and a second operational mode in which communications with the wireless networks (by way of passive WiFi connection) is enabled and disabled respectively; and an automated network identification and connection module (such as module 82) that is configured to: identify, based on the first wireless signals, availability of a specific wireless network belonging to a predefined set of networks of the given type; identify a passcode for the specific wireless network in data accessible to the automated network identification and connection module; ensure the second module is in the first operational mode; and automatically connect the second wireless module to the specific wireless network via the identified passcode.

[00102] In one embodiment the first wireless signals are GPS signals.

[00103] In one embodiment the first wireless signals are GSM signals.

[00104] In one embodiment the given type of wireless networks is WiFi networks.

[00105] In one embodiment the given type of wireless networks is Bluetooth networks.

[00106] In one embodiment the given type of wireless networks is GSM networks.

[00107] In one embodiment the given type of wireless networks is infrared networks.

[00108] In one embodiment the given type of wireless networks is NFC networks.

[00109] According to another embodiment there is provided a mobile device including: a first wireless module (such as module 180) for receiving first wireless signals; a second wireless module (such as module 181) for receiving second wireless signals, the second module having a first operational mode and a second operational mode in which the module is responsive and unresponsive to the second wireless signals; and an automated network identification and connection module that is configured to: identify, based on the first wireless signals, availability of a specific source of the second wireless signals (such as a WiFi network, a Bluetooth beacon, a NFC field, an infrared source, a visible QR code, or the like); ensure the second module is in the first operational mode; and automatically extract predetermined data from the specific source.

[00110] In an embodiment, the mobile device includes a customer engagement module (such as module 11 1) which is responsive to the predetermined data for communicating a notification that the device is present at a given location.

[0011 ] It will be appreciated that, from a reading of this patent specification, as a whole, at least some embodiments of the invention make use of a mobile device with a locally running application which monitors GPS or other location information gathered by the device. In some embodiment use is made of an online, but locally cached, database that links physical store locations to GPS coordinates. As mentioned above, those GPS coordinates need not be fixed, and are able to vary based upon the nature of the vendor and the store. The example above was provided for a vendor such as a plumber. Similar arrangements are used by other vendors such as taxi drivers, couriers, tutors, mobile mechanics, and other such vendors.

[00112] The database that links physical stores to GPS coordinates makes it possible to operate the mobile device such that a passive WiFi detection mode is activated when certain criteria are met. These criteria include one or more of the following technology details provided by the vendor: WiFi SSID; a specific BlueTooth address; InfraRed sensor; camera QR code reader; NFC activation ID; or other identification data/network/device. For example, a given physical store has a free WiFi system installed with a known SSID. Once the GPS location indicates the mobile device is in the vicinity of the store, if WiFi module of the device is not already in the operational mode, passive WiFi detection is enabled and the expected SSID is searched for. in some embodiments this search is attempted several times and, if unsuccessful, the device automatically progressed to disable passive WiFi detection for a short period, and then returned to the enabled mode to search again. This process is able to be repeated either continually until the relevant WiFi network is found, or for a predetermined number of times. [00113] If the WiFi network for the given vendor is detected (or if one of the available WsFi hotspots offered by the vendor is detected) during the search and no mobile data internet connection is available for the device, or if the application on the device is configured to use WiFi networks where possible, a connection is made automatically to the WiFi network of the vendor using a password registered by the store for that WiFi network. The application on the device then automatically connects to a configured web service and notifies the store of the device's presence at that location as a proxy for indicating the arrival of the customer associated with the device. After that occurs, the application is able to: maintain the connection with the WiFi network - for example, until the device leaves the specific store, moves outside of the network, or moves outside of another defined zone; or immediately disconnect the device from the WiFi network.

[00114] It will be appreciated by those skilled in the art, given the benefit of the teaching herein, that the above device and associated method provides for:

* Energy and power conservation for the device and, in particular, the optimisation of battery life for the device. That is, the WiFi scanning capability (or scanning for other networks or wirelessly sourced data) is only undertaken as needed to achieve the goal of detecting the arrival of the device (and hence the customer associated with the device) at a specific geographic location.

* The security of the device is not compromised because the real WiFi MAC address for the device is only used to connect securely to a known WiFi SSID, and through privacy agreements with the overall system, not shared with any other party except the specific store being visited.

* The application on the device respects the current WiFi settings and Internet connection mode set by the user of the device. The user has control over whether the mobile data or local WiFi network is to be used, thereby allowing optimal management by the user of his or her data usage via different channels.

[00115] The embodiments are also able to accommodate other modes of detection in addition to detecting WiFi networks. Two specific examples include the detection of Bluetooth connections and Near Field Communication connections. However, other forms of networks/connections or data transfer devices/methods are also applicable.

[00118] In some embodiments use is made the detection of a specific Bluetooth address - such as provided by an instore Bluetooth beacon - once the initial location of the device is determined to be in range of that beacon and it is an address relevant to the application resident on the device. Although Bluetooth connections are able to have a range up to about 100 m, in this specific example embodiment, use is made of a relatively low power beacon with a range of about 20 m. In other embodiments, different ranges are used. More particularly, as a Bluetooth connection requires mobile device power to function, it is not intended to be used here as a two-way communication channel, but primarily as a one way-communication channel and only for a relatively short period. That is, the vendor has the beacon installed well inside the relevant physical store (or at a given location relevant to a movable store), in the preferred embodiments, and when using the above range, the beacon is located approximately 10 m from the main opening of the store. After the application on the device has determined the device is sufficiently closely located to the beacon using information gathered from a different wireless signal, application resident on the device is configured via a database to detect the beacon ID for the store rather than a WiFi SS!D, Similarly to the detection of a WiFi network, the Bluetooth mode for the device is automatically enabled (if it is not already enabled) when the device is determined to be within the vicinity of the store. The search for the beacon is performed periodically by the application on the device, and once the beacon is discovered, that triggers the application to automatically establish a connection via the internet to relay the notification that the device is located at the store.

[00117] For Near Field Communication (NFC) the device works similarly, and use is made of handshake detection. More specifically, once it was established by a wireless signal from another source that the device (as a proxy for the location of the registered user of the device) was sufficiently closely located to the NFC plate (or other transmitter) the application would prompt the user of the device that he or she should tap the mobile device on the NFC plate. Typically, such a plate is located at or near the main entrance to the store.

[00118] In some embodiments use is made of a backup methodology for detecting a lengthy dwell time instore by the device, and/or an application-driven manual confirmation by the user of their arrival. These are used to provide a greater level of certainly about the arrival in the store of the device. For example, in some embodiments the backup methodology is deployed periodically, randomly, pseudo randomly or intermittently for individual users, across groups of users, and across different stores and/or vendors.

[00119] It will be appreciated that the above embodiments are examples only and that other communications networks and connections and/or sensors are also suitable. The main characteristics that are leveraged from include a well-understood or well-defined range, and a fixed identity. For example, another suitable connection is an infrared sensor on the mobile device which detects a basic identifier sent via an infrared source within the store. Such a source is able to be a modulated infrared emitter mounted, for example, above a main entrance to a given store.

[00120] In the embodiments described above, the application resident on the mobile device, once gaining the required identification data for the store, automatically performs a notification to the system of the arrival of the device at the store, in other embodiments the notification occurs on the vendor side - that is, via the vendor manager device 120 - in response to the connection of the device to a store network. That is, the application need not communicate the notification to system 100. An example of such an embodiment includes a WiFi connection monitoring the store's hot-spot system which is configured to signal the customer arrival notification via a configured web server. A further example includes a customised Bluetooth provider code which enables a specific protocol allowing the application to transmit a different fixed ID that is then transmitted along with the registered Bluetooth beacon address via an internet connection to a configured web server. A further example includes using a customised NFC system which has an internet connection enabled and transmits the ID sent as part of the transaction with the mobile device. A still further example includes an infrared sensor which the user points the mobile device at. The mobile device then transmits a signal containing the security protocol information and embedded, encrypted unique device identifier.

[00121] Through the use of a cascaded sequence of wireless communications - that is, by module 1 11 on device 1 10 making selective use of different wireless modules to detect specific wireless signals based upon device location and the processing and analytics provided by system 100 - the described embodiments of the invention are able to overcome the limitations of the prior art while also offering considerable advantages to both the customer and vendor. [00122] In some embodiments, the request generation process is expended to provide a "gift registry" functionality, whereby one or more requests are defined based on activity carried out via a first customer record, with response data sets being provide to one or more further customer records. This allows a user associated with the first customer records to, in essence, create a gift registry, with one or more further users being provide response data sets when proximal a vendor location that provides a product corresponding to the first user's request or requests. For example, the first user generates a plurality of requests, and saves those to a "gift list" (which causes data representative of the requests to be stored in a data repository of system 100). One or more further users subscribe to the first users "gift list", which enables manual generation of requests and/or causes automated generation of requests based on the first user's "gift list" requests, thereby to cause delivery of offer data sets based upon the gift list requests (hence assisting the further users in shopping for gifts for the first user).

Example Vendor Manager Module Operation - Configuration

[00123] The vendor manager module 121 is provided either via locally stored software instructions executing via a standalone app, or via code that is provided by a web server and accessed via a user interface rendered in a locally executing web browser. A user of a mobile device logs in to the vendor manager module via one of the vendor records.

[00124] A vendor details input module 122 is configured to enable inputting of vendor details, including physical location data (optionally including multiple instances of physical location data, where a vendor has multiple physical locations), vendor user data (for example different level of vendor users for a given vendor record), vendor social media (and other external publication platforms), and goods/services data.

[00125] The inputting of goods/services data via module 122 is preferably supported by a graphical user interface executing on device 120 that provides functionality to allow user review and designation of one or more classes and/or levels of classes in the product taxonomy (the term "designation" is used to describe a process whereby a user provides an instruction for a particular class or classes to become associated with the vendor record). For example, the user interface enables a user to select one of a plurality of n ih level classes in the product taxonomy, and then designate either all or a subset of (n+1) ,h level classes nested below that n th level class (either by positive selection or negative de- selection means, i.e. exclusion or inclusion selections) and so on down the taxonomic tree.

[00128] Inputting of data representative of vendor social media, and other external publication platforms, includes configuring permissions for system 100 to publish content to social media and other platforms (via a publication module 123). As discussed below, this may include digital advertisements based on preconfigured and/or bespoke offer data sets that are defined. In some embodiments system 100 provides functionality, via input module 122, for a user to configure generation of system 100 of an automated webpage that displays vendor details and other information (based on information provided via module 122), this website providing a vehicle for publication of advertising content based on preconfigured and/or bespoke offer data sets that are defined. This provides a convenient streamlined means for a user to create (and configured automated updating of) a simple vendor website (for example where such a website does not already exist for a given vendor), in further embodiments a customer user embeds code into an existing website which enables rendering of an object to which advertising content based on preconfigured and/or bespoke offer data sets is pushed by system 100.

[00127] A vendor framework configuration module 124 enables a user of device 120 and module 121 to manage a hierarchical framework of vendor devices, thereby to enable delivery of real-time location-specific sales intelligence data (and other functions) via those devices. In this regard, each vendor record is configured to include data representative of a plurality of vendor user profiles, these having respective roles and/or permissions. In broad terms, this allows configuration of vendor user profiles for manager users (devices 120 and modules 121), salesperson users (devices 130 and modules 131), and other classes of user. A given user may have access to functionalities for multiple classes. The profiles include:

(i) One or more highest level vendor user profile. Each highest-level user profile represents a highest-level vendor user in a group hierarchy, wherein there is a plurality of group hierarchies. For the present purposes, the highest-level user is referred to as a "vendor-administrator", and has access permissions to perform all tasks available via system 100 in relation to the relevant vendor record (including management of other calluses of vendor user profiles). (ii) A plurality of lowest level user profiles, wherein each lowest level user profile represents a lowest level user in a respective one of the plurality of group hierarchies. For the present purposes, the lowest level user is referred to as a "salesperson".

[00128] There are optionally one or more further levels between the highest and lowest levels. For the present purposes, there is one intermediate level referred to as a "manager. An example is shown in FIG. 2, which shows a top-level administrator device, three vendor manger devices, and four sales devices nested beneath each vendor manager device.

[00129] In some embodiments access rights for each level are preconfigured and, in some examples, such preconfigured access rights are able to be modified (for example such that the vendor-administrator can give the same rights the vendor-administrator has to a salesperson).

[00130] Module 124 is operable as a data management input module that is accessible via a user interface executing at a first client terminal, wherein the user interface enables a user of the first client terminal to:

(i) log-in based on a given one of the highest-level user profiles, thereby to gain access permissions associated with that one of the highest-level user profiles; and

(ii) create one or more lower level user profiles associated with the same group hierarchy as the given one of the highest-level user profiles.

[00131] Creating a given lowest-level user profile includes:

(i) Associating vendor location data with the given lower-level user profile.

This optionally includes either or both of physical location data, and department data. In some examples a vendor has multiple departments associated with common physical location data, in other examples a vendor has multiple departments with respective unique location data (for example where indoor device location infrastructure allows, such as where Bluetooth Low Energy (BLE) and/or WiFi trianguiation is present). (ii) At least for lowest level users, generating a unique identification code for the given lowest level user profile, and associating that unique identification code with the given lowest level user profile. For example, the identification code may be an alphanumeric PIN. The identification code is configured to be inputted via a vendor sales module 131 executing at a vendor sales device 130 thereby to facilitate configuration of that vendor sales module to be identifies as belonging to a particular vendor record and vendor user profile.

[00132] In some embodiments module 124 enables setting of permissions against vendor user profiles, for example permissions relating to accessing of analytics, creation/approval of offer data sets, and other functionalities. In some embodiments module 124 enables setting of notification rules against vendor user profiles, for example to receive notifications representative of bespoke offer opportunities, supply/demand attributes (discussed below), and various other forms of alert notifications.

[00133] In relation to notifications, a notification management module 125 is in some embodiments configured to:

(i) Receive data representative of a sales intelligence notification associated with a customer record and vendor location data (and other forms of data, for example data representative of what a customer is looking to buy). For example, this may include a lead data set generated in response to acceptance of a given offer data set by a consumer logged in via a given consumer record.

(ii) Identify one or more of the salesperson user profiles associated with the same vendor location data. For example, the offer data set is associated with a particular vendor department, and one or more salesperson user profiles that are active (i.e. a user is logged in) and associated with that department at the relevant location are identified.

(iii) In response to a location-based trigger caused by location monitoring of a mobile device associated with the customer record, deliver the sales intelligence notification to the mobile device associated with the identified one of the lowest level user profiles (and or other user profiles, depending on configuration). The location-based trigger may be caused by either of GPS tracking and/or connection to a location-known wireless network, either or which indicate proximity of the mobile device with the vendor physical location.

[00134] Notifications rules are also generated for bespoke offer opportunities. For example, a given notifications rule includes a rule for providing a notification to addressing data associated with one or more user profiles belonging to a predefined group hierarchy, being of a defined level, and having defined location data, wherein the notification is provided in response to identifying of request data satisfying predefined location and taxonomy requirements. For example, this may be used, at a practical level, to configure one or more user profiles to receive customer request data and in response define bespoke offer data sets, as discussed further below. This configuration allows setting of those notifications against manager and/or salesperson user classes. In such cases, the notification provides access, from a device at which the notification is received, to a user interface that enables defining of a bespoke response data set for given received request data.

[00135] Another class of notifications rule includes providing a notification to addressing data associated with one or more user profiles belonging to a predefined group hierarchy, being of a defined level, and being associated with defined vendor location data, wherein the notification is provided in response to identifying of predicted demand at a defined location. For example, such a notification provides data representative of the predicted demand and determined supply, optionally based on monitoring of mobile device locations for one or more mobile devices associated with customer records. By way of example, one embodiment implements supply/demand monitoring as follows:

* System 100 monitors, for each vendor user, those salesperson user profiles with an active user. An active user is identified based on identification of a vendor sales device that is executing the vendor sales module and logged in using an identification code representative of a salesperson class vendor user profile. As discussed further below, technical means are implemented thereby to restrict such a log in to vendor devices connected to a prescribed wireless network or present at a prescribed geographic location, such that the active status is only possible where a vendor sales device is present at an associated vendor physical location (in some embodiments this is further broken down into departments defined at physical locations, for example "menswear" and "cosmetics" departments at a given vendor location).

* Based on that monitoring, an analytics module 109 is configured to make available data representative of a number of active salesperson users at a given location, for example a location defined as a department at a physical location. This represents supply. So, for example, the analytics moduie is able to identify that there are N active salesperson users at Department X of Vendor Y.

® System 100 monitors acceptance of offers and arrival of customer devices at vendor locations subsequent to (and related to) acceptance of offers. This allows analytics module 109 to identify anticipated demand in terms of: (i) a number of customers anticipated to be soon arriving at a vendor location (based on offer acceptances); and (ii) a number of customers present at a vendor location (based on customer device location tracking). This represents demand. So, for example, the analytics module is able to identify that there: (i) are M customers who have accepted offers from Vendor Z (relating to department Y) but not yet arrived at Vendor Z; (ii) M customers who have accepted offers from Vendor Z (relating to department Y) who have physically arrived at Vendor Z; and/or M customers for whom customer records are defined are present at Vendor Z.

« System 100 monitors acceptance of offers and arrival of customer devices at vendor locations subsequent to (and related to) acceptance of offers. This allows analytics module 109 to determine which offers have been successful and to determine if a payment is to be made from the vendor to the operator of system 100 (or other party) involved in developing and disseminating the offers. That is, the payment for any advertisement made for the vendor is subject to an "at risk component", which can be for up to 100% of the amount payable. This is enabled by system 00, which allows identification of customer cognisance of the advertising, the intent of the customer to visit the store and the identification of the customer actually being at the store.

• System 100, based on the above, monitors a relationship between supply and demand. This is monitored at either or both of a vendor physical location basis and vendor department basis. So, for example, system 100 identifies that there are N active salesperson users Department X of Vendor Y, and M customers who have accepted offers from Vendor Z (relating to department Y) have physically arrived at Vendor Z.

* Where there is a predefined imbalance between supply and demand (based on offer acceptance data, customer arrival data, and/or a combination of offer acceptance data and customer arrival data), a notification is generated (and delivered based on notification rules). This allows, for example, a manager class user to instruct salesperson users to move between locations/departments, and otherwise make preparations for anticipated customer levels. For example, in the example above, where N is 1 and M is 10, a notification may be generated.

[00136] It will be appreciated that the above example is provided for illustrative purposes only, and similar functionality is optionally provided via other means via the technology described herein. As a practical example, one way in which this delivered includes (i) identifying a supply deficit in a first department; (ii) notifications being sent to other staff members in other departments, the notifications providing a prompt to accept or decline a request for assistance for the first department (the notifications are optionally sent in series, with subsequent notifications being sent only when a given one is declined); and (iii) a manager being notified of acceptances, declines, and staff movements thereby to monitor staff balances.

[00137] In a similar manner to the preceding example, notification rules are preferably configured to check that the number of active salesperson user profiles to which a lead data set (resulting from acceptance of an offer) is to be delivered is non-zero. As noted above, the analytics module is able to identify that there are N active salesperson users at Vendor Y (and/or at a particular department/location of Vendor Y). In the case that an offer is accepted for an offer data set associated with Vendor Y (and/or at a particular department/location of Vendor Y), a check is performed to verify that there is at least one active salesperson user at Vendor Y (and/or at a particular department/location of Vendor Y). If that check fails, the notifications rules cause delivery of notifications to one or more other user profiles associated with the vendor record (for example this is configured to include the vendor-administrator and/or one or more manager users), or to deliver notifications to other addressing data (for example email, SMS, or the like). It will be appreciated that, from a practical perspective, for the technology to operate in the intended optional manner at least one salesperson user needs to be active to receive the resulting lead data set and practically service the customer upon arrival (i.e. know the customer has arrived and have information to assist in sales); these forms of notifications provide a technical means to identify where there is no such active user, and provide an opportunity to rectify the situation. Even where there is no active salesperson user, customer users are able to view and accept offers.

Example Vendor Manager Module Operation - Preconfigured Offer Set Generation

[00138] As noted above, offer data sets that are presented via customer engagement modules 1 11 of customer devices 110 include preconfigured offer sets. This section describes example processes performed via the vendor manager module 121 of a vendor device 120 thereby to generate preconfigured offer data sets.

[00139] Vendor manager module 121 includes a preconfigured offer data set generation module 128. Module 126 provides a user interface that allows for user generation of preconfigured offer data sets. In one embodiment, this includes the following primary methods:

® Accessing of a saved previously created offer data set, and modification of that data set to define a new data set.

* Creation of an offer data set directed to an entire product line, based on selection of a class in the product taxonomy having multiple classes nested beneath (for example an offer data set directed to "male clothing" generally).

® Creation of a customised preconfigured data set.

[00140] Not all of these methods are present in all embodiments.

[00141] In relation to creation of a customised preconfigured data set, module 128 of device 120, in conjunction with a corresponding preconfigured offer data set generation module 170 of system 100, provides a computer system configured to enable generation and configuration of offer data in a particularly streamlined manner.

[00142] As noted previously, the data management subsystem of system 100 is configured to maintain data representative of:

(i) a product taxonomy, wherein the product taxonomy provides a hierarchical framework of classes for objective categorisation of goods and/or services; and (ii) a plurality of vendor records, wherein each vendor record includes data representative of addressing information for one or more vendor devices configured to enable presentation of lead data, and further includes location data for a vendor physical location;

[00143] Preconfigured offer data set generation module 170 is configured to be accessible to a user of a networked device that renders an offer generation user interface, in this example being device 120 executing module 121 and module 128. Offer generation module 170 is configured to:

(i) Receive a request (from the vendor manager user) to commence generation of a new offer associated with a specified one of the vendor records.

(ii) Receive primary input representative of a product.

(iii) Based on the primary input, perform an automated process thereby to identify a class in the product taxonomy with which the new offer is to be associated, and selectively associating the new offer with that class in the taxonomy ("selectively" in the sense that in some embodiments a user is provided an opportunity to confirm or reject an automated association).

(iv) Receive secondary input representative of product details for the product.

(v) Based on the secondary input, perform a process thereby to associate the new offer with product details.

(vi) Cause presentation via the offer generation user interface of a template- driven offer structure generation interface, wherein the template-driven offer structure generation interface is configured to enable a user to select an offer structure template, and define offer structure data for that offer structure template. The offer structure templates include templates to, for example, apply a "percentage off" offer, a "two-for-one" offer, and so on.

(vii) Receive, via the template-driven offer structure generation interface, user generated offer structure data associated with a specific offer template, and associating that offer structure data associated with the specific offer template with the new offer. (vii) Cause presentation of an offer publication rules interface via the offer generation user interface, wherein the offer publication rules interface is configured to enable a user to define rules for automated publication of the new offer to one or more customer client devices.

(viii) Configure the new offer to be activated into a published state based on the user defined rules.

[00144] Process (ii) may include text-based input (for example a textual product description), and the automated process at (iii) to identify a class in the product taxonomy includes searching based on that text (for example the work "jeans" may be matched to a taxonomy class of "jeans", or deeper searching associates a brand/form of jeans present in the text data to the taxonomy class of "jeans"). In a preferred embodiment, the primary input at (i) is defined by a photo of the product (captured by device 120), and the automated process at (iii) to identify a class in the product taxonomy includes an internet- based search based on that image (for example a photo of a pair of jeans is identified as showing "jeans" and hence associated with a taxonomy class for "jeans").

[00145] Receiving secondary input at process (iv) may include textual input. However, in a preferred embodiment this process includes receiving an image (captured by device 120) of a physical tag (e.g. swing tag) associated with the product. This image data is then process via OCR (and/or other techniques) to extracting textual data representative of product details. Alternately, in some embodiments integration with a vendor database system enables extraction of product details via a barcode or the like. That is, performing a process thereby to associate the new offer with product details includes reading a unique code from the image of the tag, and querying a product database based on that unique code thereby to extract data representative of product details.

[00148] In some embodiments a vendor manager user provides to system 100 data (e.g. an XML file) with data representative of to an email address with barcodes, images and item descriptions, thereby to configure system 100 to recognise data on product tags and streamline offer data set generation.

[00147] Alternatively, in some embodiments a vendor manger user can request a template for a given sector/department. A CSV file is provided with possible sale discounts that they can select. This can then be filled out off line coupled with the above information (previous paragraph) and this can be sent to system 100, uploading all marked for advertising along with their sale prices.

[00148] In some embodiments, the template-driven offer structure generation interface is configured to display a subset of offer templates selected from a full set of offer templates, wherein the selection is based on identified class in the product taxonomy with which the new offer is associated. As noted, the offer structure templates include templates to, for example, apply a "percentage off offer, a "two-for-one" offer, and so on. In practice, certain forms of offer are relevant to certain types of goods and/or services, but not others. The present approach tailors offer structure templates based on taxonomy classes, such that only designated relevant templates are presented.

[00149] Template examples include: buy X get X free, buy X get X% off, buy X get X% of X ih item, X% off, sale price of X, X% interest rate, $X per hour, $X for X hours, and so on (the user selects a template and inputs values for X). it will be appreciated these that templates are also able to be used in the customer engagement module thereby to facilitate filtering of results,

[00150] The user defined rules of processes (vii) and (viii) preferably include a rule to make the new offer available via a customer user interface at a customer client device in response to a request from that customer client device representative of: the identified class in the product taxonomy with which the new offer is associated; and/or a higher level class in the taxonomy under which the identified class in the product taxonomy with which the new offer is associated is nested.

[00151] The user defined rules for automated publication of the new offer to one or more customer client devices may also include: a rule to make the new offer available via one or more of: a defined web location; and a defined social media feed, rules relating to the time at which an offer is to be active (for example certain times of day only, a start/finish date, and so on), and other forms of rules.

[00152] As discussed in more detail further below, a request processing module 171 of system 100 is configured to:

(i) receive a request generated by a customer client device, wherein the request is associated with location data and with a specified class defined in the taxonomy; (ii) identify one or more offers in a published state defined by the offer generation module that match the received request based on a combination of: location-based matching, based on proximity rules, of the request's associated location data with a given a given offer's vendor record's location data (noting that vendor location data may be point-in-time variable); and taxonomy-based matching based on the specified class defined in the taxonomy for the request with the identified class in the product taxonomy with which the given offer is associated; and

(iii) cause presentation at the customer client device of data representative of the one or more identified offers,

[00153] In this manner, preconfigured offers are published and hence able to be delivered to customer devices 110 based on request defined via modules 1 11 of those customer devices,

[00154] The location-based matching is preferably configured responsive to product attributes (for example proximity rules are defined for each class in the taxonomy). For example, in one embodiment each class in the taxonomy is associated with a proximity radius value (with a proximity radius value of X kilometres meaning that location-based matching for a request data set is performed based on vendors having vendor location data within X kilometres of the requesting user device's current location), in some embodiments the proximity radius value is defined based on a set of proximity radius rules, which allow variation of a radius based on other factors (optionally including number of result offer data sets identified). In some embodiments the proximity radius and/or proximity radius rules is defined based on an attribute of the request data other than (or in addition to) the taxonomy class, in some embodiments the proximity radius and/or proximity radius rules are defined to allow radius size determination based on market saturation (larger radius where there are less results for a request). The term "radius" should be afforded a particularly broad definition, to include both a radius defined "as the crow flies" and a radius based on other factors (such as travel times by foot, public transportation, car, and/or other vehicle). [00155] Defining of request-variabie proximity radius data allows the concept of proximity to be subjectively managed based on different products, and subjective analysis of the propensity of customers to travel for such products. For instance, some products (such as, for example, coffee) are set with a proximity threshold of less than 500 m, whereas others (such as automobiles) are set with a significantly larger proximity threshold (say 30 km).

Example Vendor Manager Module Operation - Bespoke Offer Generation

[00156] As noted above, system 100 allows for bespoke offer data sets, which are defined by way of vendor manager modules 121 of vendor manager devices 120 in response to customer request having defined attributes (those attributes resulting in delivery of a notification to particular vendor manager modules 121 of vendor manager devices 120).

[00157] System 100 includes a bespoke offer management module 107 that is configured to execute a bespoke offer request / response process including:

(i) Identifying location data associated with the client device via which the customer request is defined. For example, this information is defined by way of a customer device GPS module and transmitted as part of a request data set.

(ii) Identifying one or more vendor records that are matched to the customer request based on a combination of: location-based matching, based on proximity rules, of the customer client device's associated location data with one or more vendor record's location data; and taxonomy-based matching based on the specified class defined in the taxonomy for the customer request with the identified class in the product taxonomy with bespoke advertising setting associated with one or more vendor records (additional matching, such as matching based on factors such as age, size and gender may also be applied). (iii) For each matched vendor record, causing delivery of a bespoke request notification based on addressing data associated with the vendor record, wherein the bespoke request notification enables defining via a user interface of a bespoke offer data set based on the bespoke request. This notification is received by one or more vendor manager devices 130 having bespoke offer set generation modules 128 provided by their respective modules 121 .

(iv) Causing a result delivery module to cause presentation at the customer client device of data representative of one or more defined bespoke offer data sets (for example via an interface in the form of a map provided via result presentation module 117 of module 111 of a device 110).

[00158] The defining via a user interface of a bespoke offer data set based on the bespoke request is optionally implemented via a process similar to the preconfigured data set generation process described above, however with certain data pre-populated based on the request. The process preferably makes use of the same offer structure template approach.

[00159] In some embodiments, a vendor manager user is presented with data representative of a state of a customer engagement module during the bespoke offer generation process. For example, this state may include filter settings being applied by the customer user. This allows the vendor manager user to customise the bespoke offer data set to optimise its prevalence in a result set displayed to the customer. For example, a vendor manager user is shown that the customer user is filtering by "% discount", and hence define a bespoke offer data knowing that a high "% discount" offer structure will be advantageous.

[00160] Bespoke offer generation, for instance as described in the above example, is of particular significance in solving technical problems associated with advertising, in particular, there is a technical challenge in configuring advertising that is personalised to particular times and places. Bespoke offer generation provides a framework whereby advertising is point-in-time generated via technical means in response to a particular customer request. Furthermore, by providing a combination of both preconfigured offer data sets and bespoke offer data sets, a further technical hurdle of result latency is overcome; a user is presented with results almost instantly, and as such has a first set of results to review during a period of time over which bespoke offers are generated and provided.

Example Vendor Sales Module Operation

[00161] As noted above, each vendor sales device 130 executes a vendor sales module (not explicitly shown). In a preferred embodiment, the vendor sales module includes a user interface that is presented via a wearable device (for example a smartwatch or display-enabled glasses). In some such embodiments the wearable device is paired to a mobile device (such as a smartphone), and presents a thin user interface. In other embodiments the wearable device connects directly to a network, and includes a local processor that executes the vendor sales module.

[00182] By way of vendor sales devices 130 and the vendor sales modules, the overall system is configured to enable delivery of in-store lead data. As noted above, the data management subsystem configured to maintain data representative of:

(i) a plurality of customer records, wherein each customer record includes data representative of addressing information for a customer client device at which a customer engagement module executes;

(ii) a plurality of vendor records, wherein each vendor record includes data representative of addressing information for one or more vendor devices configured to enable presentation of lead data, and further includes location data for a vendor physical location; and

(iii) a plurality of offer data sets, wherein each offer data set is associated with a vendor record.

[00163] Furthermore, and again as noted above, system 100 is configured to receive data representative of a customer request defined by way of interaction with the customer engagement module executing at the customer client device associated with a particular one of the customer records, and a result delivery module is configured to cause presentation at the customer client device of data representative of one or more defined bespoke offer data sets (for example selectable icons displayed via an interface in the form of a map provided via result presentation module 117 of module 1 11 of a device 1 10). [00164] System 100 includes an offer acceptance module, which is part of module 107, configured to receive data representative of an acceptance notification triggered via user- interface based accepting of an offer set presented at a customer client device (which in the current embodiments is transmitted via an acceptance module 118 at the customer client device). Based on this, system 100 is configured to identify whenever an offer data set is accepted by a user associated with a known customer record. This allows a salesperson notification and intelligence presentation process as discussed below.

[00165] As shown in the figures, system 100 includes a vendor notification module 161 configured to deliver, via addressing data associated with a vendor record, data that defines in whole or in part a lead data set.

[00166] The lead data set includes data representative of an acceptance notification for an offer data set associated with the vendor record, along with data associated with the customer record associated with the customer client device at which the accepting occurred. The data associated with the customer record includes:

• A photo associated with the customer record. This may be a photo uploaded by the customer as part of defining their customer record, or a photo extracted from a social media account (or other location) associated with the customer.

* Data representative of one of more products predicted to be of interest to the customer, based on customer activity observed by way of monitoring interactions with module 1 11. For example, this may be based upon past request, for example past requests that are saved to a watch list. So, for example, in the case that the customer accepts an offer data set associated with a given vendor, and the customer record has stored in a watch list a product associated with a taxonomy class that is also associated with the vendors vendor record, then the data representative of one of more products predicted to be of interest to the customer includes data representative of that product. This assists in cross-selling, as a salesperson is pre-warned prior to arrival of a customer of other goods/services in respect of which the customer has a known interest (and again upon arrival).

® Data representative of one more products predicted to be of interest to the customer based upon acceptance of an online offer or expression of interest in an online offer made through system 100 by the vendor. That is, the sales person is able to have the relevant product or products set aside at the store in preparation for the arrival of the customer. This increases the time efficacy of the customer instore as well as optimising the use of the sales person's time as it is possible to prepare ahead of time for the notification of when the customer enters the store. It also provides additional time for the sales person or other staff member of the vendor to consider cross-selling opportunities such as those provided by system 100 or otherwise. Accordingly, any additional products are also able to be made readily available (or information about services being made available) for delivery to the customer during the instore interaction with the sales person.

* Data representative of one of more products predicted to be of interest to the customer, based on customer activity observed by way of external sales intelligence processing (optionally via multiple sources of data). For example, this processing may include data from one or more technology platforms that monitor online browsing behaviours (for example social network posts, interests and interactions), and/or platforms that are configured to predict purchase likelihoods based on customer demographics, trends, and other sales intelligence factors. Again, this assists in cross-selling, as a salesperson is pre-warned prior to arrival of a customer of other goods/services in respect of which the customer has a potential interest. Technology for gathering such data representative of products predicted to be of interest is known in the field; technology described herein provides a novel and inventive means for utilising/distributing that data in an efficient manner.

[00167] Notification module 161 is also configured to transmit an arrival notification in response to identification that, based on location monitoring of the customer client device via a location monitoring module 162, the customer client device has a defined proximity relationship relative to the vendor physical location (for example by the customer device location moving into proximity with a fixed vendor location, or a variable vendor location moving into proximity with the customer device location). This may include monitoring based on GPS (or other customer device derived positioning data) and/or monitoring based on customer device interaction with hardware at the vendor location (for example a WiFi router, BLE/Biuetooth beacon, and so on).

[00168] In a preferred embodiment, notification module 161 is, in response to data representative of acceptance of an offer, configured to monitor for presence of the accepting customer device's presence of on a specific wireless network associated with the vendor record for the accepted offer data set. This preferably involves the vendor providing data representative of a local wireless network to system 100 during the vendor configuration process (via a manager device 120).

[00169] In a preferred embodiment, network connection based customer device location monitoring is facilitated by an automated network identification and connection module 182 that executes at each customer device 110. In the present embodiment this is a module provided by way of module 11 , with module 1 11 functionally being represented by a single app that is installed on device 1 10. This app is configured to prompt a user to grant access to perform automated network connections.

[00170] The automated network identification and connection module 182 is configured to identify, based on a radio of the mobile device, availability of a wireless network belonging to a predefined set. For example, the predefined set is defined in a data store maintained by system 100 (and/or replicated in local memory of device 1 10} based on vendors providing data representative of their respective local wireless networks to system 100 during the vendor configuration process (via a manager device 120). Upon identifying a network belonging to the set, module 182 identifies a passcode for the wireless network based on data locally stored or retrieved from system 100, and uses that passcode to connect to the network (the passcode is not made available to a user of device 1 10; for example, it is encrypted and/or stored in a location that is not readily accessible by conventional user operations).

[00171] In this manner, upon a customer device 10 having a module 11 1 installed (and operating in a background execution capacity) moves into an area having a vendor's wireless network, an automated connection to that network is made. Hence, where notification module 161 is, in response to data representative of acceptance of an offer, configured to monitor for presence of the accepting customer device's presence on a specific wireless network associated with the vendor record for the accepted offer data set, automated connection causes such monitoring to be effective as a location-based customer device identification process. System 100 is in this regard configured to:

(i) identify that the mobile device has connected to the wireless network belonging to the predefined set; (ii) identify that the wireless network belonging to the predefined set is associated with location data for a vendor record for a vendor in respect of which an offer data set has been accepted via the mobile device; and

(iii) cause transmission of a customer arrival notification to addressing data associated with the vendor record.

[00172] As noted above, this data delivered via the vendor notification module is displayed via a user interface executing on a wearable device, such as a smartwatch. Hence, a salesperson user having such a smartwatch is informed both: (i) of a customer accepting an offer (being an offer associated by system 100 with that vendor record to which the salesperson user belongs), along information to facilitate preparing for the customer's arrival (including a photo of the customer, and sales intelligence to assist in cross-selling); and (ii) a notification informing that the customer has arrived (or at least is within a threshold proximity that is deemed indicative of arrival).

[00173] In other embodiments the vendor notification module is displayed on a computing device such as a robot, customer kiosk, or other customer facing machine. Such machines have the relevant customer information pushed to them in response to the notification being received about the arrival of the customer at the store to allow for interaction with the customer, including the cross-selling of products to the customer. Such machines may rely upon a rules-based system of operation, while other such machines include instead or in addition artificial intelligence (Ai) capabilities.

[00174] In some embodiments, customer device location monitoring is additionally used to identify an event where a consumer device leaves a vendor location following and acceptance-related arrival event. This triggers a process by which system 100 causes device 130 to display a prompt to provide input representative of a customer interaction outcome (for example any one or more of: whether a sale was made connected to the accepted offer, whether a cross-sale was made, whether no sale was made, whether the customer was or was not identified by the salesperson user, and optionally other forms of input).

[00175] The vendor sales module is also configured for automated network connection, in a similar manner to the customer engagement module (that is it maintains access to data representative of prescribed wireless networks and passcodes for those networks). However, unlike the customer engagement module which connects to any of the prescribed networks), the vendor sales module connects only to networks that are associated with either or both of: the associated vendor record; and the salesperson user profile. Furthermore, the vendor sales module is configured to be operable in two states: a first state wherein the vendor sales device is not connected to a prescribed network and notifications from notification module 161 are not available (these are either not transmitted, or not displayed); and a second state in which the vendor sales device is connected to a prescribed network and notifications from notification module 161 are received and displayed. In this manner, access to lead data is provided to a device 130 only when that device is at a vendor location, hence restricting employee access to such data to times when the employee is on-site, in some embodiments additional and/or alternative technical means are employed to facilitate such restrictions.

[00178] More generally, an aspect of the present technology is embodied in a system that is configured to maintain data regarding customers, for example identifying information (such as names and photos) and sales intelligence information (for example based on interaction with a request/offer platform as herein described and/or other platforms that are configured to monitor interactions with web-based services), wherein the system is configured to monitor the location of those customers (for example via WiFi identification, geoiocation, and/or other mobile device detection/monitoring technologies), and based on that monitoring deliver lead data to vendor computer systems (for example to known vendor mobile devices, wearables, and the like), in this manner, sales intelligence data is collected via any available customer analysis technology, and used to provide intelligence to vendors to assist sales to customers that visit their stores (either where there has been an offer acceptance as described above, or in other embodiments without such an offer acceptance), in some embodiments, this is configured in the context of a monetisation framework whereby a vendor is charged based on events whereby a known customer device moves into proximity with a vendor location, and sales lead data is communicated to the vendor in relation to the customer associated with that customer device.

[00177] In a further embodiment, a customer user is enabled via the customer engagement module to control settings data that affects sales lead data provided to vendor sales devices. For example, in one embodiment a customer user is enabled to set a "minimal engagement" setting, under which the data provided to the vendor sales device indicates that the customer user simply wishes to come to the vendor location and obtain a product associated with an accepted offer data set in an efficient manner with minimal extra interaction (e.g. cross-selling attempts). In one example, where a customer user has selected such a setting, cross-selling data is delivered to the customer device rather than to the vendor sales device, such that the customer is still informed of other potentially interesting purchase opportunities at the vendor location, but without necessarily interfering with an efficient purchase of accepted offer related products whilst at the vendor location.

Example Vendor Manager Module Operation - Analytics

[00178] System 100 is configured to maintain and enables access to a range of analytics data based on monitoring of consumer interactions. This optionally includes data representative of trends in customer activity, data representative of sales conversions based on offers, and so on.

[00179] One particularly significant category of analytics is missed sales analytics. This is employed to solve a technical problem of inability to determine, for offline sales (that is, sales at physical vendor locations as opposed to online stores) the extent to which sales are being lost to competitors. Missed sales analytics is achieved via a process performed by system 100 including:

(i) maintaining data representative of requests for each taxonomy class (and optionally whether those requests are successfully converted into sales);

(ii) identifying data representative of a number of requests made within a predefined proximity to the vendor physical location for the vendor record that are associated with a taxonomy class which is also associated with the vendor record; and

(iii) for the requests identified at (ii), providing to a vendor manager device data representative of which of those requests were successful for the vendor, and those which were successful to another vendor (being "successful" in the sense of offer acceptance by a customer device and/or successfully converted into a sale).

[00180] In this manner, a vendor is able to identify opportunities that were lost to competitors, and based upon that, optimise a strategy for defining preconfigured offer data sets, defining bespoke offer data sets and/ monitoring for opportunities to define bespoke offer data sets. This is one form of missed opportunity data,

[00181] The above approach is optionally extended to where consumers are asking for products that are not being serviced by any merchant; that is also a missed opportunity (this might be representative of issues with a given vendor's taxonomy associations, and/or present an opportunity for a vendor to expand product offerings based on what is being sought by customers locally). This represents another form of missed opportunity data.

[00182] In this regard, the embodiments described above are enabled by a vendor analytics module that configured to deliver, via addressing data associated with a vendor record, data derived from processing of data representative of a plurality of customer requests. This data derived from processing of data representative of a plurality of customer requests includes, in some examples, missed opportunity data.

[00183] The vendor analytics module also enables a staff KPI tracking tool box. That is, the capacity utilisation of individual sales personnel is able to be more closely and accurately monitored and assessed, as well as the conversion success and cross-selling success of those individual personnel. Examples of metrics that are able to be assessed by the vendor analytics module include:

[00184] After a customer is identified as having arrived at the store (that is, the elapsed time since the notification was provided to the sales person), the time taken for the sales person confirm that the customer was being attended to. In this embodiment that is assessed by determining the time taken for the sale person to swipe the smartwatch to ascertain the product name relevant to the customer,

[00185] If cross-selling occurred. This is assessed by the sales person swiping the smartwatch to obtain the cross-selling data relevant to that customer.

[00186] When the customer leaves the WiFi network (or similar), data is obtained (either from the sales person via the smartwatch or via the merchants POS terminal) to ascertain if a sale was made of the product of initial interest and/or of a product identified for cross- selling to the customer. [00187] The availability of these metrics, as well as other similar metrics, allows vendors and their sales personnel to better understand the nature of the sales process to make the best use of the customer's time while they are present at the store. It also has the benefit of allowing both the vendor and sales personnel to better plan their efforts without the customer's mobile device having to continually monitor for the vendors network, which offers both battery life improvements and privacy protections for the customer.

Example Methods

[00188] FIG. 3A to FIG. 3D illustrate example methods according to embodiments, based on the technology described above. These are examples only, and are described briefly below.

[00189] Method 300 of FIG, 3A shows an offer and acceptance process performed by way of an app that embodies customer engagement module 1 11 executing on a customer device 1 10, in conjunction with system 100. The app is launched at step 301 , and request data is defined at step 302 (for example via spoken or typed input). That request is then sent for processing by system 100 at step 303, based on current mobile device location data (and other data associated with the relevant customer record, or another designated customer profile). Step 304 represents automated identification of preconfigured offer data sets that are matched to the request data. Step 305a represents generating notifications to invite vendors to generate bespoke offer data sets (which are generated at step 320), and receipt of bespoke offer data sets, it will be appreciated that processes of steps 304, 305a, 305b and 320 may occur repeatedly (for example as location data changes, and as more bespoke offer data sets are generated). Step 307 represents presentation of offer data sets in the user interface of module 111 , for example via a graphical map style object. Step 308 represents user review of offer data sets and an acceptance event, and step 309 represents triggering of sales lead data and customer location monitoring in response to the acceptance.

[00190] Method 310 of FIG. 3B represents a sales lead process following offer acceptance. The method commences with step 309 of FIG. 3A which, as noted above, step 309 represents triggering of sales lead data and customer location monitoring in response to the acceptance of an offer. Step 311 represents defining of a sales intelligence data packet, including information about the customer (including a photo), information about the offer that was accepted, and sales intelligence data to facilitate cross-selling to that customer based on knowledge about the customer (for example as described above). That data is transmitted to one or more vendor sales devices at step 312 (based on vendor profile settings). Location monitoring is configured at step 313, thereby to monitor for arrival of the customer at the vendor's location (either by the customer coming to the vendor location, or by the vendor location coming to the customer) at step 314. A location-based trigger occurs at step 315 upon detection of a proximity relationship between the customer device and the vendor physical location, and an arrival notification is then transmitted to the one or more vendor sales devices at step 316.

[00191] Method 320 of FIG 3C shows a bespoke offer generation process performed by a sales manager device. Step 321 represents receipt of a bespoke offer opportunity notification (which includes data representative of the customer and the request). Steps 322 and 323 represent a process by which the vendor defines an offer data set, including goods/services being offered (which may be derived directly from the request) and an offer structure from an offer structure template (for example a percentage off, 2-4- 1 , or the like). The bespoke offer data set is then transmitted back to system 100 at step 324, and from there transmitted to the customer device.

[00192] Method 330 of FIG. 3D shows an example advertisement generation process (for example in relation to a preconfigured offer data set). The process commences at step 321. At step 322 a vendor user inputs primary product input, such as a photo of the product being offered, and completes taxonomy association (for example with assistance from a web-based photo object or image recognition algorithm). Step 324 represents a secondary product input, in this case being a photo of a product swing tag (which is used to extract product information such as price using OCR, barcodes, or other data extraction technologies). Offer structure templates are identified at step 325 based on the relevant taxonomy class for the offer. A user selects and customises one of those templates at step 328. Then, at step 327, the user confirms auto-delivery rules (for example request characteristics that will trigger delivery of the offer data set). At step 328, the user configures additional publication settings (for example sharing of the offer data set via social media and/or website objects).

[00193] The advertisement generation process, particularly when undertaken by a vendor, advantageously uses image recognition algorithms as this allows the generation process to automatically link the product to the taxonomy which, outside the geographic proximity, allows system 100 to link the vendor and customer requests together. [00194] It will also be appreciated that in generating advertisements, some embodiments of system 100 has regard to other relevant data that is now available through use of such a system. In particular specific embodiments, system 100 is responsive to both a product price and a product type being advertised in determining the geographical coverage the advertising. For example, for some goods and/or services, particularly more expensive purchases, a potential customer will be prepared to travel larger distances to consider or take up an offer. Accordingly, the geographical coverage of respective advertising programs is able to differ for a program for advertising the sale of a motor vehicle relative to a program advertising the sale of cups of coffee.

Conclusions and interpretation

[00195] It will be appreciated that the technology described above provides significant technical advancements in the context of interfacing physical devices for the purposes of information sharing and location-aware functionality.

[00198] Unless specifically stated otherwise, as apparent from the following discussions, it is appreciated that throughout the specification discussions utilizing terms such as "processing," "computing," "calculating," "determining", analyzing" or the like, refer to the action and/or processes of a computer or computing system, or similar electronic computing device, that manipulate and/or transform data represented as physical, such as electronic, quantities into other data similarly represented as physical quantities.

[00197] In a similar manner, the term "processor" may refer to any device or portion of a device that processes electronic data, e.g., from registers and/or memory to transform that electronic data into other electronic data that, e.g., may be stored in registers and/or memory. A "computer" or a "computing machine" or a "computing platform" may include one or more processors.

[00198] The methodologies described herein are, in one embodiment, performable by one or more processors that accept computer-readable (also called machine-readable) code containing a set of instructions that when executed by one or more of the processors carry out at least one of the methods described herein. Any processor capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken are included. Thus, one example is a typical processing system that includes one or more processors. Each processor may include one or more of a CPU, a graphics processing unit, and a programmable DSP unit. The processing system further may include a memory subsystem including main RAM and/or a static RAM, and/or ROM. A bus subsystem may be included for communicating between the components. The processing system further may be a distributed processing system with processors coupled by a network. If the processing system requires a display, such a display may be included, e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT) display, if manual data entry is required, the processing system also includes an input device such as one or more of an alphanumeric input unit such as a keyboard, a pointing control device such as a mouse, and so forth. The term memory unit as used herein, if clear from the context and unless explicitly stated otherwise, also encompasses a storage system such as a disk drive unit. The processing system in some configurations may include a sound output device, and a network interface device. The memory subsystem thus includes a computer-readable carrier medium that carries computer-readable code (e.g., software) including a set of instructions to cause performing, when executed by one or more processors, one of more of the methods described herein. Note that when the method includes several elements, e.g., several steps, no ordering of such elements is implied, unless specifically stated. The software may reside in the hard disk, or may also reside, completely or at least partially, within the RAM and/or within the processor during execution thereof by the computer system. Thus, the memory and the processor also constitute computer-readable carrier medium carrying computer-readable code.

[00199] Furthermore, a computer-readable carrier medium may form, or be included in a computer program product.

[00200] In alternative embodiments, the one or more processors operate as a standalone device or may be connected, e.g., networked to other processor(s), in a networked deployment, the one or more processors may operate in the capacity of a server or a user machine in server-user network environment, or as a peer machine in a peer-to-peer or distributed network environment. The one or more processors may form a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine.

[00201] Note that while diagrams only show a single processor and a single memory that carries the computer-readable code, those in the art will understand that many of the components described above are included, but not explicitly shown or described in order not to obscure the inventive aspect. For example, while only a single machine is illustrated, the term "machine" shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.

[00202] Thus, one embodiment of each of the methods described herein is in the form of a computer-readable carrier medium carrying a set of instructions, e.g., a computer program that is for execution on one or more processors, e.g., one or more processors that are part of web server arrangement. Thus, as will be appreciated by those skilled in the art, embodiments of the present invention may be embodied as a method, an apparatus such as a special purpose apparatus, an apparatus such as a data processing system, or a computer-readable carrier medium, e.g., a computer program product. The computer-readable carrier medium carries computer readable code including a set of instructions that when executed on one or more processors cause the processor or processors to implement a method. Accordingly, aspects of the present invention may take the form of a method, an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of carrier medium (e.g. , a computer program product on a computer-readable storage medium) carrying computer-readable program code embodied in the medium.

[00203] The software may further be transmitted or received over a network via a network interface device. While the carrier medium is shown in an exemplary embodiment to be a single medium, the term "carrier medium" should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term "carrier medium" shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by one or more of the processors and that cause the one or more processors to perform any one or more of the methodologies of the present invention. A carrier medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media includes, for example, optical, magnetic disks, and magneto-optical disks. Volatile media includes dynamic memory, such as main memory. Transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprise a bus subsystem. Transmission media also may also fake the form of acoustic or light waves, such as those generated during radio wave and infrared data communications. For example, the term "carrier medium" shall accordingly be taken to included, but not be limited to, solid-state memories, a computer product embodied in optical and magnetic media; a medium bearing a propagated signal detectable by at least one processor of one or more processors and representing a set of instructions that, when executed, implement a method; and a transmission medium in a network bearing a propagated signal detectable by at least one processor of the one or more processors and representing the set of instructions.

[00204] It will be understood that the steps of methods discussed are performed in one embodiment by an appropriate processor (or processors) of a processing (i.e., computer) system executing instructions (computer-readable code) stored in storage. It will also be understood that the invention is not limited to any particular implementation or programming technique and that the invention may be implemented using any appropriate techniques for implementing the functionality described herein. The invention is not limited to any particular programming language or operating system.

[00205] It should be appreciated that in the above description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, FIG., or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. This method of disclosure, however, is not to be interpreted as reflecting an intention that the claimed invention requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than ail features of a single foregoing disclosed embodiment. Thus, the claims following the Detailed Description are hereby expressly incorporated into this Detailed Description, with each claim standing on its own as a separate embodiment of this invention.

[00206] Furthermore, while some embodiments described herein include some but not other features included in other embodiments, combinations of features of different embodiments are meant to be within the scope of the invention, and form different embodiments, as would be understood by those skilled in the art. For example, in the following claims, any of the claimed embodiments can be used in any combination.

[00207] Furthermore, some of the embodiments are described herein as a method or combination of elements of a method that can be implemented by a processor of a computer system or by other means of carrying out the function. Thus, a processor with the necessary instructions for carrying out such a method or element of a method forms a means for carrying out the method or element of a method. Furthermore, an element described herein of an apparatus embodiment is an example of a means for carrying out the function performed by the element for the purpose of carrying out the invention.

[00208] In the description provided herein, numerous specific details are set forth. However, it is understood that embodiments of the invention may be practiced without these specific details, in other instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.

[00209] Similarly, it is to be noticed that the term coupled, when used in the claims, should not be interpreted as being limited to direct connections only. The terms "coupled" and "connected," along with their derivatives, may be used, it should be understood that these terms are not intended as synonyms for each other. Thus, the scope of the expression a device A coupled to a device B should not be limited to devices or systems wherein an output of device A is directly connected to an input of device B. It means that there exists a path between an output of A and an input of B which may be a path including other devices or means. "Coupled" may mean that two or more elements are either in direct physical or electrical contact, or that two or more elements are not in direct contact with each other but yet still co-operate or interact with each other.

[00210] Thus, while there has been described what are believed to be the preferred embodiments of the invention, those skilled in the art will recognize that other and further modifications may be made thereto without departing from the spirit of the invention, and it is intended to claim ail such changes and modifications as falling within the scope of the invention. For example, any formulas given above are merely representative of procedures that may be used. Functionality may be added or deleted from the block diagrams and operations may be interchanged among functional blocks. Steps may be added or deleted to methods described within the scope of the present invention.