Unless otherwise indicated herein, the materials described in this section are not admitted to be prior art to the claims by inclusion in this section.
Sometimes it is difficult for one to remember to complete a task at a convenient time for completing the task. For example, when one is near a grocery store and needs to purchase milk, one may forget to stop at the grocery store and purchase milk, or when one is on their way home from work and approaching their dry cleaner, one may forget that they wish to pick up their dry cleaned clothes. In some cases, one may remember to complete a task, but may not be aware of where to go to in order to complete the task, e.g., may not be aware of where to go to purchase a desired good or service. This may be particularly frustrating when one is out shopping and the stores visited do not have the desired good or service.
The foregoing and other features of the present disclosure will become more fully apparent from the following description and appended claims, taken in conjunction with the accompanying drawings. Understanding that these drawings merely depict several examples in accordance with the disclosure, and therefore, are not to be considered limiting of its scope; the disclosure will be described with additional specificity and detail through use of the accompanying drawings.
The present disclosure describes methods and systems for providing a reminder, such as a reminder message. An exemplary method may include receiving a first location associated with a computing device and a direction of travel associated with the computing device. The method also may include comparing the location associated with the computing device to a first criteria associated with a reminder request and comparing the direction of travel associated with the computing device to a second criteria associated with the reminder request. In some examples, the first criteria may comprise the location associated with the computing device being proximate a destination, and the second criteria may comprise the direction of travel associated with the computing device indicating that the proximity of the computing device to the destination is increasing. The method also may include providing a reminder associated with the reminder request in response to satisfaction of each criteria associated the reminder request, such as the first criteria and the second criteria.
The present disclosure further describes methods and systems for identifying availability of a good or a service, or both. An exemplary method may include receiving a request for the good or the service, or both, from a computing device. The method further may include receiving a location associated with the computing device. The request for the good or the service, or both, may be provided to at least one server associated with an entity that is located within a particular range of the location associated with the computing device. The method further may include receiving a first message from at least one of the at least one server indicating availability of the requested good or the requested service, or both. A second message indicating the available of the requested good or service may be provided, such as to the computing device.
Another exemplary method may include receiving a request for a good or a service, or both from a computing device. The method further may include selecting an available good or an available service, or both that correlates to the requested good or the requested service, or both. A message may be provided to the computing device indicating the selected available goods or the selected available services, or both, and identifying an entity associated with the available goods or the available services, or both.
An exemplary system may include a receiver, a comparator, and a transmitter. The receiver may be configured to receive a request for a good or a service, or both, from a computing device. The comparator may be configured to compare the requested good or the requested service, or both, to one or more available goods or available services, or both, and to determine whether there is a correlation between the requested goods or the requested services, or both. The transmitter may be configured to provide, in response to the determination that there is a correlation, a message indicating the correlation and identifying at least one entity associated with the correlation.
The foregoing summary is illustrative only and is not intended to be in any way limiting. In addition to the illustrative aspects, embodiments, and features described above, further aspects, embodiments, and features will become apparent by reference to the drawings and the following detailed description.
In the following detailed description, reference is made to the accompanying drawings, which form a part hereof. In the drawings, similar symbols typically identify similar components, unless context dictates otherwise. The illustrative examples described in the detailed description, drawings, and claims are not meant to be limiting. Other examples may be utilized, and other changes may be made, without departing from the spirit or scope of the subject matter presented herein. It will be readily understood that the aspects of the present disclosure, as generally described herein, and illustrated in the Figures, can be arranged, substituted, combined, separated, and designed in a wide variety of different configurations, all of which are implicitly contemplated herein.
This disclosure is drawn, inter alia, to methods, systems, devices, computer-readable mediums, and/or apparatus generally related to receiving reminders, such as reminder messages, and identifying available goods and/or services. Some exemplary methods, systems, devices, computer-readable mediums, and/or apparatus may provide a reminder, such as a reminder message, which indicates an availability of a good or a service, or both. In some examples, a reminder may be provided when an attribute, e.g., a location or a direction of travel, or both, associated with a computing device satisfies one or more criteria associated with a reminder request. For instance, a reminder may be provided when the computing device is traveling, e.g., within a moving vehicle, in a particular direction relative to a particular, e.g., predetermined, location and/or is proximate to, e.g., within a predetermined distance of, the particular location. Other exemplary methods, systems devices, computer-readable mediums, and/or apparatus may include identifying an entity associated with a requested good or a requested service, or both. In some examples, a location associated with a computing device requesting the good or the service, or both, may be determined and a server associated with an entity within a range of the location may be searched to identify the requested good or the requested service, or both.
Reminders accordingly may be provided when an attribute associated with a computing device satisfies one or more criteria associated with a reminder request. Any of a variety of attributes may be used, including a location or a direction of travel, or both. Moreover, those of ordinary skill in the art readily will understand that the phrase: “direction of travel associated with a computing device,” as used herein, broadly may include a current direction of travel associated with the computing device and/or an anticipated/expected direction of travel, e.g., an anticipated/expected path of travel, associated with the computing device. Those of ordinary skill in the art also readily will understand that the phrase: “location associated with a computing device” broadly may include a current location of the computing device and/or an anticipated/expected future location of the computing device, e.g., a location anticipated/expected based on the anticipated/expected path of travel associated with the computing device. For example, an anticipated or an expected path of travel associated with the computing device may be used to trigger a reminder. The path of travel may, in some examples, be anticipated or expected based on a destination input into a navigation system. In other examples, the path of travel may be anticipated or expected based on past behavior and one or more measured positions or directions. For example, a computing device may identify an expected path of travel from communication with a navigation system or with a device-resident navigation application. The computing device may implement a heuristic that may combine any combination of the current location, the current time, and past travel history. In one example, a phone with a GPS unit may have data related to a path taken on prior trips, e.g., prior trips to work. If the day is a weekday and the time is the morning, an application on the phone may deduce an expected path based on the prior trips to work. In another example, if during prior travel a vehicle associated with the computing device generally or always exits a particular route, e.g., route 405, via a first exit after entering the particular route via a second exit, the application may deduce that the vehicle associated with the computing device likely will exit the particular route via the first exit after the computing device receives an indication that the vehicle entered the particular route via the second exit.
Network 130 may be any environment configured to receive and to transmit signals. In some examples, the network may be a wide area network (WAN), a local area network (LAN), a campus area network (CAN), a metropolitan area network (MET), a personal area network (PAN), or the like.
Computing device 110 may be configured to allow a user to generate one or more reminder requests. A reminder request may include or correspond to a reminder, such as a reminder message. The reminder may remind a user of something, such as a task to complete. A reminder request may include one or more criteria that, when satisfied, trigger the reminder to be provided to computing device 110. In some examples, the one or more criteria may include a class of stores, such as a drugstore or a grocery store, a class of goods, such as books, or a class of services, such as dry cleaning or car washing, or any combination thereof. The one or more criteria also may include a trademark, a good brand name, a store brand name, or a service brand name, or any combination thereof. In some examples, the one or more criteria may include one or more particular, e.g., predetermined, destinations or locations. In some examples, the reminder request may include a criteria that computing device 110 be within a predetermined distance of a first location to trigger the reminder to be provided to computing device 110. The one or more criteria also may include criteria associated with a direction of travel associated with computing device 110, such as the direction of travel associated with computing device 110 indicating that the proximity of computing device 110 to the first location and/or second location, such as a user's home or office, is increasing. In some examples, the one or more criteria further may include a time of day, such as after work or during daylight hours. Other time-related criteria may include a calendar event, such as payday, wife's birthday, every second Tuesday, etc. Criteria may include factors other than location or destination information in some examples. For example, a criteria may be when the computing device is connected to a network having a predetermined speed or cost. In one example, a reminder may be provided, for example, to download an audio or video file when the computing device is connected to a free network or network having below a predetermined cost threshold per bit.
The reminder may be a visual reminder and/or an audio reminder, and may include a task to be completed. In some examples, the reminder may include information indicating how the one or more criteria of the reminder request were satisfied and/or directions to the particular location associated with the satisfaction of the one or more criteria. For instance, if a reminder request includes criteria associated with computing device 110 being within a predetermined number of blocks, e.g., two blocks, of a particular class of stores, e.g., grocery stores, and a direction of travel associated with computing device 110 corresponding to a direction of travel indicating that computing device 110 is moving closer to the particular class of stores, the reminder may provide directions to the grocery store and remind the user to purchase a particular item, such as milk.
Computing device 110, network 130, or service provider 120, or any combination thereof, may be configured to determine a location and/or a direction of travel associated with computing device 110, such as an approximate location of computing device 110 or a range in which computing device 110 is located. For instance, computing device 110 may be configured to determine a location and/or a direction of travel associated with computing device 110 via a positioning means, such as a global positing system (GPS). In other examples, service provider 120, computing device 110 and/or network 130, in combination or by themselves, may be configured to determine a location and/or a direction of travel associated with computing device 110 using cell tower signal strength and/or a cell tower triangulation. In particular, distance to a cell tower may be determined by signal strength to one or more cell towers to associate computing device 110 with a location. As signal strength to one or more towers increases or decreases, a direction of travel may be identified. In one example, network 130 may provide signal strength information and a cell tower location to service provider 120, and service provider 120 may analyze the information to determine a location and/or a direction of travel associated with computing device 110. In one example, network 130, service provider 120, or computing device 110, or any combination thereof, may be configured to detect a speed associated with the movement of computing device 110 using locations associated with computing device 110 over time. In some examples, the presence of a signal itself may provide location information. For example, an SSID received from a known local area network, such as a home or office network, may itself provide location information (e.g., home or work location).
In one example, computing device 110 may be configured to generate and to store reminder requests and to trigger at least one reminder request when at least one attribute associated with computing device 110 satisfies one or more criteria associated with the reminder request. In some examples, computing device 110 may comprise software configured to compare the location and/or the direction of travel associated with computing device 110 to the one or more criteria associated with the one or more reminder requests. In this example, computing device 110 may be coupled to network 130, but may not be coupled to service provider 120 via network 130. Computing device 110 may be configured to determine whether at least one attribute associated with computing device 110 satisfies one or more criteria associated with the reminder request. For example, computing device 110 may be configured to compare a location associated with computing device 110 with a first criteria associated with a first reminder request to determine whether the first criteria is satisfied. The first criteria may be satisfied when computing device 110 is proximate a predetermined destination, e.g., within a predetermined distance of the predetermined destination, such as a particular store. The term: “within” is one example of a logical qualifier that may be evaluated by the computing device 110. Other logical qualifiers may include NOT, OR, AND, or any combination thereof. For example, one criteria may be that it is not Saturday. Another criteria may be based on proximity to a first store or a second store. Yet another criteria may be when it is the afternoon and it is cloudy. Computing device 110 may be configured to compare a direction of travel associated with computing device 110 with a second criteria associated with the first reminder request to determine whether the second criteria is satisfied. The second criteria may be satisfied when the direction of travel associated with computing device 110 indicates that the proximity of computing device 110 to the predetermined destination is increasing. In response to each of the one or more criteria being satisfied, computing device further may be configured to provide a reminder, e.g., a reminder message, associated with the reminder request. In one example, computing device 110 may be configured to generate the reminder and to provide the reminder to an output of computing device 110. In other examples, computing device 110 may be configured to provide the reminder to another computing device.
In another example, service provider 120 may be configured to receive and to store reminder requests and to trigger at least one reminder request when at least one attribute associated with computing device 110 satisfies one or more criteria associated with the reminder request. Service provider 120 may be configured to receive, via network 130, the one or more reminder requests from computing device 110. When at least one attribute associated with computing device 110 satisfies at least one or all criteria associated with the reminder request, service provider 120 may be configured to provide the reminder corresponding to the reminder request to computing device 110 or to cause a reminder stored on computing device 110 to be provided to an output of computing device 110.
In an another example, service provider 120 or computing device 110 may be configured to send a corresponding reminder to a second computing device (not shown) when an attribute associated with computing device 110 satisfies the one or more criteria associated with a reminder request. The reminder may be sent to the second computing device without a reminder being sent to computing device 110. In another example, the reminder sent to the second computing device may be the same reminder sent to an output of computing device 110 or may be a different reminder. For instance, if a first user of computing device 110 is near a grocery store and receives a first reminder including directions to the grocery store and a message reminding the user to pick up milk, a second user of a second computing device may receive a second reminder indicating that computing device 110 is near the grocery store.
Computing device 110 may be configured to prevent the generation of reminders even when attributes associated with computing device 110 satisfy each criteria associated with a reminder request. For example, computing device 110 may comprise a feature that allows a user to prevent the triggering of a first reminder but allow the triggering of a second reminder even though computing device 110 satisfies each criteria associated with both the first and second reminders. In some examples, when computing device 110 is traveling at a relatively constant speed, such as when on a plane or a train, computing device 110 may be configured to prevent the generation of a reminder even when attributes associated with computing device 110 satisfies each criteria associated with the reminder.
A user of computing device 210 may transmit a request for a good or a service, or both, to service provider 220 via network 230. The term: “user,” as used herein, may include designates or software applications, and is not limited to human individuals. In some examples, an individual may interact with an application on computing device 210 that may have rules for when to transmit and/or synchronize with a server or service provider 220. Service provider 220 may be configured to receive and to store the request for the good or the service, or both. The request for a good or a service may include a company brand name, a trademark, a good type, a good brand, a good name, a service type, a service brand, a service name, a sku, a barcode scan, or any combination thereof, and may include any other type of information describing a supplier, a good, and/or a service.
Service provider 220 may be configured to determine whether an entity, e.g., an entity located within a particular range of a location associated with computing device 210, has the requested good or the requested service, or both, available, and satisfies each criteria associated with the request. The criteria for the request may include any criteria described with respect to
In another example, service provider 220 may be configured to provide the requested good or the requested service to an entity server 240 associated with an entity that is located within the particular range of the location associated with computing device 110. Service provider 220 also may be configured to receive a message from the entity server 240 associated with the entity indicating the availability of the requested good or the requested service, or both. In response to receiving the message indicating the availability of the requested good or the requested service, or both, service provider 220 may be configured to generate a message indicating the availability of the requested good or the requested service, or both, and information identifying the entity associated with the available good or the available service, or both. In any of the above-described examples, service provider 220 may be configured to provide the message to computing device 210 via network 230. The message may indicate the availability of the good or the service, or both, and may include a name, an address, or directions to the entity associated with the available good or service, or any combination thereof. In some examples, the message may include a map illustrating computing device's 210 location and the location of the entity associated with the available good or the available service, or both.
In some examples, service provider 220 may include logic configured to adjust the location range associated with the request for an available good or service. For instance, service provider 220 may be configured to compare the requested goods or the requested services to available goods or available services associated with entities located outside of the range included in the request. In another example, the location range may be increased based on the request indicating a level of importance associated with the requested good or the requested service. In one example, service provider is configured to utilize the location and the direction of travel associated with the computing device 210, which may include data from a navigation system, a navigation application, an event calendar, an expectation based on past history, or any combination thereof, to identify areas that computing device 210 is expected to travel and to communicate with entity servers 240 for entities in the identified areas.
In another example, service provider 220 is configured to review consumer ratings for each entity identified as having an available good or an available service, or both, that correlates to the requested good or the requested service. Service provider 220 may be configured to provide the message indicating a name associated with the entity, an address associated with the entity, directions thereto, or any combination thereof, in the event the consumer ratings for the entity are above a particular threshold.
In some examples, storage medium 330 may store program instructions that when implemented by processor 305 cause processor 305 to compare the requested good or the requested service, or both, to the available goods or available services, or both, indicated on the store good or service lists, to compare the one or more criteria in a reminder request to a location and a direction of travel associated with computing device 110, and to select one of the reminder requests to be sent to computing device 110 in the event of one or more criteria in a reminder request being satisfied. Service providers 120 and 220 and/or computing device 110 may include system 300.
In this example system 400, computing device 210 may not provide a location associated with computing device 210 to the entity server 240. Rather, the fact that computing device 210 is sufficiently close to ad hoc network 150 indicates that computing device 210 is within a range of entity server 240.
In one example, the entity that sells or offers the available good or the available service may be the same entity that maintains the entity server 240. In another example, entity server 240 may be maintained by one or more entities within a relatively close range, such as many stores in a mall.
In some examples, computing device 210 may include a feature that temporarily prevents service providers 120 and 220 from sending messages even in the event of a correlation between the requested good or the requested service, or both, and the available goods or the available services, or both.
The various blocks described herein for methods 500, 600, 700, 800, and 900 may be performed sequentially, in parallel, or in a different order than those described herein. It also should be appreciated that in some implementations one or more of the illustrated blocks may be eliminated, combined, or separated into additional blocks. The described and illustrated methods 500, 600, 700, 800, and 900 also may include various additional blocks not shown. For instance, in method 500, a first location associated with the computing device may be received at the same time as a direction of travel associated with the computing device is received.
While various examples have been disclosed herein, other examples will be apparent to those skilled in the art. The various examples disclosed herein are for purposes of illustration and are not intended to be limiting, with the true scope and spirit being indicated by the following claims.
This application is a continuation of U.S. patent application Ser. No. 12/848,849, filed Aug. 2, 2010, now pending, the disclosure of which is herein incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
Parent | 12848849 | Aug 2010 | US |
Child | 16248346 | US |