Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND APPARATUS FOR SELECTING A LOCATION OF COMMON INTEREST
Document Type and Number:
WIPO Patent Application WO/2016/100607
Kind Code:
A1
Abstract:
Various aspects of apparatuses (102), methods (700), and computer-readable medium (1106) are described herein. Some methods (700) may include receiving information from a plurality of users, and such information may include preferences ranked by the plurality of users for a selection of an activity. The preferences may include a maximum distance that a user prefers to travel, a maximum amount of time that the user prefers to travel, a maximum amount of money that the user prefers to spend, and various other preferences. Some methods (700) may also include providing a recommendation of at least one candidate activity and a candidate location corresponding to the candidate activity based on a location of each of the plurality of users and the preferences ranked by the plurality of users.

Inventors:
FOGELSON JOEL M (US)
ASH ARDEN A (US)
Application Number:
PCT/US2015/066271
Publication Date:
June 23, 2016
Filing Date:
December 17, 2015
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
TECHNICOLOR USA INC (US)
International Classes:
G06Q10/04; G01C21/34; G06Q10/10; G06Q50/14
Domestic Patent References:
WO2006025044A22006-03-09
Foreign References:
US20140122153A12014-05-01
US20130006521A12013-01-03
Other References:
None
Attorney, Agent or Firm:
SHEDD, Robert D. et al. (Third FloorPrinceton, New Jersey, US)
Download PDF:
Claims:
CLAIMS

1. A method (700) comprising:

receiving (702) information from a plurality of users, the information comprising preferences ranked by the plurality of users for a selection of an activity; and

providing (704) a recommendation of at least one candidate activity and a candidate location corresponding to the candidate activity based on a location of each of the plurality of users and the preferences ranked by the plurality of users.

2. The method (700) of claim 1, further comprising:

determining (706) a commute time of the plurality of users to the candidate location based on traffic conditions, wherein the providing the recommendation is further based on the determined commute time.

3. The method (700) of claim 2, further comprising:

determining (708) an available time for the at least one candidate activity, wherein the providing the recommendation is further based on the determined available time.

4. The method (700) of claim 3, further comprising:

providing (710) a recommendation of at least one of an alternative time and an alternate location for the at least one candidate activity when the plurality of users cannot arrive at the candidate location by the determined available time.

5. The method (800) of claim 1, further comprising:

after the providing the recommendation, providing (806) a message to the plurality of users to facilitate a reservation of the at least one candidate activity.

6. The method (900) of claim 1, further comprising:

after the providing the recommendation, providing (906) customized directions to each of the plurality of users for travel to the candidate location.

7. The method (1000) of claim 1, further comprising: after the providing the recommendation, relaying (1006) a message to the plurality of users, wherein the message indicates an available time for the at least one candidate activity at the candidate location.

The method (700) of claim 1, wherein:

the recommendation includes an alternative candidate activity; and

the alternative candidate activity is different from the candidate activity.

9. The method (700) of claim 1, wherein:

the providing the recommendation is further based on a weight attributed to each of the preferences; and

a first preference having a rank higher than a rank of a second preference is assigned a weight greater than a weight of the second preference. 10. The method (700) of claim 1, wherein the preferences comprise at least one of: a maximum distance that a user prefers to travel,

a maximum amount of time that the user prefers to travel,

a maximum amount of money that the user prefers to spend,

a preferred time of a day,

a preferred day of a week, and

a preferred type of activity.

11. An apparatus (102) comprising:

a memory (1114); and

at least one processor (1104) coupled to the memory (1114) and configured to: receive information from a plurality of users, the information comprising preferences ranked by the plurality of users for a selection of an activity; and

provide a recommendation of at least one candidate activity and a candidate location corresponding to the candidate activity based on a location of each of the plurality of users and the preferences ranked by the plurality of users.

12. The apparatus (102) of claim 11, wherein the at least one processor (1104) is further configured to: determine a commute time of the plurality of users to the candidate location based on traffic conditions, wherein the providing the recommendation is further based on the determined commute time.

13. The apparatus (102) of claim 12, wherein the at least one processor (1104) is further configured to:

determine an available time for the at least one candidate activity, wherein the providing the recommendation is further based on the determined available time.

14. The apparatus (102) of claim 13, wherein the at least one processor (1104) is further configured to:

provide a recommendation of at least an alternative time or an alternate location for the at least one candidate activity when the plurality of users cannot arrive at the candidate location by the determined available time.

15. The apparatus (102) of claim 11, wherein the at least one processor (1104) is further configured to:

after the providing the recommendation, provide a message to the plurality of users to facilitate a reservation of the at least one candidate activity.

16. The apparatus (102) of claim 11, wherein the at least one processor (1104) is further configured to:

after the providing the recommendation, provide customized directions to each of the plurality of users for travel to the candidate location.

17. The apparatus (102) of claim 11, wherein the at least one processor (1104) is further configured to:

after the providing the recommendation, relay a message to the plurality of users, wherein the message indicates an available time for the at least one candidate activity at the candidate location.

18. The apparatus (102) of claim 11, wherein:

the recommendation includes an alternative candidate activity; and the alternative candidate activity is different from the candidate activity.

19. The apparatus (102) of claim 11, wherein:

the providing the recommendation is further based on a weight attributed to each of the preferences; and

a first preference having a rank higher than a rank of a second preference is assigned a weight greater than a weight of the second preference.

20. The apparatus (102) of claim 11, wherein the preferences comprise at least one of:

a maximum distance that a user prefers to travel,

a maximum amount of time that the user prefers to travel,

a maximum amount of money that the user prefers to spend,

a preferred time of a day,

a preferred day of a week, and

a preferred type of activity.

21. A computer-readable medium (1106) comprising computer-executable instructions (1140-1144) configured for:

receiving information from a plurality of users, the information comprising preferences ranked by the plurality of users for a selection of an activity; and

providing a recommendation of at least one candidate activity and a candidate location corresponding to the candidate activity based on a location of each of the plurality of users and the preferences ranked by the plurality of users.

22. The computer-readable medium (1106) of claim 21, wherein the computer- readable medium (1106) further comprises computer-executable instructions (1140- 1144) configured for:

determining a commute time of the plurality of users to the candidate location based on traffic conditions, wherein the providing the recommendation is further based on the determined commute time.

23. The computer-readable medium (1106) of claim 22, wherein the computer- readable medium (1106) further comprises computer-executable instructions (1140- 1144) configured for: determining an available time for the at least one candidate activity, wherein the providing the recommendation is further based on the determined available time.

24. The computer-readable medium (1106) of claim 23, wherein the computer- readable medium (1106) further comprises computer-executable instructions (1140- 1144) configured for:

providing a recommendation of at least an alternative time or an alternate location for the at least one candidate activity when the plurality of users cannot arrive at the candidate location by the determined available time.

25. The computer-readable medium (1106) of claim 21, wherein the computer- readable medium (1106) further comprises computer-executable instructions (1140- 1144) configured for:

after the providing the recommendation, providing a message to the plurality of users to facilitate a reservation of the at least one candidate activity.

26. The computer-readable medium (1106) of claim 21, wherein the computer- readable medium (1106) further comprises computer-executable instructions (1140- 1144) configured for:

after the providing the recommendation, providing customized directions to each of the plurality of users for travel to the candidate location.

27. The computer-readable medium (1106) of claim 21, wherein the computer- readable medium (1106) further comprises computer-executable instructions (1140- 1144) configured for:

after the providing the recommendation, relaying a message to the plurality of users, wherein the message indicates an available time for the at least one candidate activity at the candidate location.

The computer-readable medium (1106) of claim 21, wherein:

the recommendation includes an alternative candidate activity; and the alternative candidate activity is different from the candidate activity.

29. The computer-readable medium (1106) of claim 21, wherein: the providing the recommendation is further based on a weight attributed to each of the preferences; and

a first preference having a rank higher than a rank of a second preference is assigned a weight greater than a weight of the second preference.

30. The computer-readable medium (1106) of claim 21, wherein the preferences comprise at least one of:

a maximum distance that a user prefers to travel,

a maximum amount of time that the user prefers to travel,

a maximum amount of money that the user prefers to spend,

a preferred time of a day,

a preferred day of a week, and

a preferred type of activity.

Description:
METHOD AND APPARATUS FOR SELECTING A LOCATION OF

COMMON INTEREST

TECHNICAL FIELD

The present disclosure, generally, relates to providing recommendations and, more specifically, relates to providing recommendations of activities and locations corresponding to the activities based on the location of users and the preferences ranked by the users.

BACKGROUND

Existing systems may allow a user to indicate a preference for an activity, and existing systems may indicate some locations nearby the user for performing that activity. For example, the user may indicate a preference for going to a restaurant. In response to receiving this preference from the user, existing systems may provide the user with a list of restaurants located nearby the user. However, the user may also be amenable to other activities (e.g., attending a concert, watching a movie, etc.). Also, the user may have more than one preference (e.g., the price of the activity, the commute time to the activity, the time of the activity, etc.). In some circumstances, the user may wish to perform the activity with other users. The other users may be amenable to various activities based on their own set of preferences. Existing systems do not account for such complexities when providing a recommendation to users. Accordingly, existing systems may benefit from enhancements that improve upon such limitations.

SUMMARY

Various aspects of apparatuses, methods, and computer-readable medium are described in the present disclosure. The following description provides various non- limiting examples and is not intended to limit the scope of the present disclosure.

Some methods may include receiving information from a plurality of users, and such information may include preferences ranked by the plurality of users for a selection of an activity. The preferences may include a maximum distance that a user prefers to travel, a maximum amount of time that the user prefers to travel, a maximum amount of money that the user prefers to spend, and various other preferences. Some methods may also include providing a recommendation of at least one candidate activity and a candidate location corresponding to the candidate activity based on a location of each of the plurality of users and the preferences ranked by the plurality of users.

Some methods may include determining a commute time of the plurality of users to the candidate location based on traffic conditions, and the recommendation may be further based on the determined commute time. Some methods may include determining an available time for the at least one candidate activity, and the recommendation may be further based on the determined available time. Some methods may include providing a recommendation of an alternative time or an alternate location for the at least one candidate activity when the plurality of users cannot arrive at the candidate location by the determined available time.

After the providing the recommendation, some methods may include providing a message to the plurality of users to facilitate a reservation of the at least one candidate activity. After the providing the recommendation, some methods may include providing customized directions to each of the plurality of users for travel to the candidate location. After the providing the recommendation, some methods may include relaying a message to the plurality of users. The message may indicate an available time for the at least one candidate activity at the candidate location. In some configurations, the recommendation is further based on a weight attributed to each of the preferences. A first preference having a rank higher than a rank of a second preference is assigned a weight greater than a weight of the second preference.

Various apparatuses and computer-readable medium may also provide various embodiments of such features. The foregoing is merely a summary of various features described in greater detail herein. Additional features are also described herein. The embodiments described herein may be implemented in any combination or subcombination, even if not explicitly described herein. These and other aspects of the present disclosure will become more fully understood upon a review of the detailed description, which follows. Other aspects, features, and embodiments of the present disclosure will become apparent to those of ordinary skill in the art, upon reviewing the following description of specific, exemplary embodiments of the present disclosure in conjunction with the accompanying figures. BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a diagram illustrating an example of a server and a number of devices according to various embodiments of the present disclosure.

FIG. 2 is a diagram illustrating an example of a map showing the locations of the devices according to various embodiments of the present disclosure.

FIGS. 3-4 are diagrams illustrating examples of various user preferences and corresponding ranks as displayed on the devices according to various embodiments of the present disclosure.

FIG. 5 is a diagram illustrating an example of various recommendations as displayed on the devices according to various embodiments of the present disclosure.

FIG. 6 is a diagram illustrating an example of a map showing the locations of the devices and the locations of the recommended activities according to various embodiments of the present disclosure.

FIGS. 7-10 are diagrams illustrating examples of various methods and/or processes according to various embodiments of the present disclosure.

FIG. 11 is a diagram illustrating an example of a hardware implementation according to various embodiments of the present disclosure.

DESCRIPTION OF EMBODIMENTS

The detailed description set forth below in connection with the appended drawings is intended as a description of various configurations and is not intended to represent the only configurations in which the concepts described herein may be practiced. The detailed description includes specific details for the purpose of providing a thorough understanding of various concepts. However, it will be apparent to those skilled in the art that these concepts may be practiced without these specific details. In some instances, well known structures and components are shown in block diagram form in order to avoid obscuring such concepts.

FIG. 1 is a diagram 100 illustrating a server 102 and one or more devices 110, 114, 118, 122. Various non-limiting examples of the devices 110, 114, 118, 122 are illustrated in FIG. 1. For example, the device 110 may be a smartphone, the device 114 may be a desktop computer, the device 118 may be a laptop computer, and the device 122 may be a tablet computer. Each of the devices 110, 114, 118, 122 may respectively include a display 112, 116, 120, 124. The displays 112, 116, 120, 124 may be configured to display various information, some of which may be provided by the server 102. One of ordinary skill in the art will understand that the devices 110, 114, 118, 122 may, additionally or alternatively, include various other apparatuses configured to communicate with the server 102 without deviating from the scope of the present disclosure. Although the non-limiting example illustrated in FIG. 1 shows four devices 110, 114, 118, 122, one of ordinary skill in the art will also understand that any number of devices may be implemented without deviating from the scope of the present disclosure.

The server 102 may located locally (e.g., within the same network and/or physical location) or remotely (e.g., within a different network and/or physical location) in relation to the devices 110, 114, 118, 122. For example, the server 102 may be associated with an Internet-based (e.g., "cloud"-based) computing environment 104. Communications between the devices 110, 114, 118, 122 and the server 102 may be performed via a wired connection and/or a wireless connection. Such communications may be performed using various types of technologies. One of ordinary skill in the art will understand that various types of communication technologies may be used without deviating from the scope of the present disclosure. Without deviating from the scope of the present disclosure, such communications may be facilitated by various other computers, servers, gateways, routers, and other hardware devices, even if not illustrated in FIG. 1. Further description of the server 102 is provided below with reference to FIG. 11 and therefore will not be repeated.

FIG. 2 is a diagram 200 illustrating an example of a map showing the locations of the devices 110, 114, 118, 122. The locations of the devices 110, 114, 118, 122 may be shown on the displays 112, 116, 120, 124 of the devices 110, 114, 118, 122, respectively. As illustrated in FIG. 2, the devices 110, 114, 118, 122 may be located in different areas of a geographic region. Some or all of the users of the devices 110, 114, 118, 122 may wish to engage in an activity at some time. For example, the users of the devices 110, 114, 118, 122 may wish to engage in a recreational activity with each other after completing their work for the day.

FIG. 3 is a diagram 300 illustrating an example of various user preferences

304 and corresponding ranks 302 as displayed on the device 110. The display 112 may provide an interface for the user of the device 110 to input their preferences and to assign a rank for those preferences. The preferences may include any information, parameter, and/or requirement associated with the activity. Although various examples of preferences are illustrated in FIG. 3, one of ordinary skill in the art will understand that alternative and/or additional preferences may be shown on the display 112 without deviating from the scope of the present disclosure. Fields 308, 314, 320, 326, 332, 338 may indicate various preferences for which the user of the device 110 may input information, and such information may be input in fields 310, 316, 322, 328, 334, 340, respectively. Fields 306, 312, 318, 324, 330, 336 are fields wherein the user of the device 110 may indicate various rank values.

Although the non-limiting example illustrated in FIG. 3 shows six (6) preferences, one of ordinary skill in the art will understand that a fewer number or a greater number of preferences may be provided without deviating from the scope of the disclosure. In some configurations, no two preferences may be assigned the same rank value. In some other configurations, two or more preferences may be assigned the same rank value. Although the example illustrated in FIG. 3 shows rank values that include numeric values, one of ordinary skill in the art will understand that the rank values may, alternatively or additionally, include other values (e.g., alphabetical values, alphanumeric values, etc.) without deviating from the scope of the present disclosure. Additionally, although the example illustrated in FIG. 3 shows that a rank value is assigned for all of the preferences, one of ordinary skill in the art will understand that a rank value may be assigned to less than all of the preferences without deviating from the scope of the present disclosure.

Field 308 indicates a preference for a maximum distance to travel by the user of the device 110. The user of the device 110 may input their preferred maximum distance to travel in field 310. In this example, the user of the device 110 has a preferred maximum distance to travel of five (5) miles for the activity. The user of the device 110 may also indicate a rank for such a preference in field 306. In this example, the user of the device 110 has assigned a rank value of three (3) for such a preference.

Field 314 indicates a preference for a maximum amount of time to travel by the user of the device 110. The user of the device 110 may input their preferred maximum amount of time to travel in field 316. In this example, the user of the device 110 has a preferred maximum amount of travel of twenty (20) minutes for the activity. The user of the device 110 may also indicate a rank for such a preference in field 312. In this example, the user of the device 110 has assigned a rank value of one (1) for such a preference. Field 320 indicates a preference for a maximum amount of money to spend by the user of the device 110. The user of the device 110 may input their preferred maximum amount of money to spend in field 322. In this example, the user of the device 110 has a preferred maximum amount of money to spend of forty dollars ($40) for the activity. The user of the device 110 may also indicate a rank for such a preference in field 318. In this example, the user of the device 110 has assigned a rank value of two (2) for such a preference.

Field 326 indicates a preference for a preferred time of day of the user of the device 110. The user of the device 110 may input their preferred time of the day in field 328. In this example, the user of the device 110 has a preferred time of the day of 8 p.m. for the activity. The user of the device 110 may also indicate a rank for such a preference in field 324. In this example, the user of the device 110 has assigned a rank value of five (5) for such a preference.

Field 332 indicates a preference for a preferred day of the week of the user of the device 110. The user of the device 110 may input their preferred day of the week in field 334. In this example, the user of the device 110 has a preferred day of the week of Saturday for the activity. The user of the device 110 may also indicate a rank for such a preference in field 330. In this example, the user of the device 110 has assigned a rank value of six (6) for such a preference.

Field 336 indicates a preference for a preferred type of activity of the user of the device 110. The user of the device 110 may input their preferred type of activity in field 340. In this example, the user of the device 110 has a preferred type of activity of eating at a restaurant. The user of the device 110 may also indicate a rank for such a preference in field 336. In this example, the user of the device 110 has assigned a rank value of four (4) for such a preference.

In some configurations, a lower rank value may indicate a preference that is higher than a preference of a higher rank value. In other words, a rank value of one

(1) may indicate a preference that is higher than a preference of a rank value of two

(2) . In such configurations, a first preference having a rank value lower than a rank value of a second preference may be assigned a weight that is greater than a weight of a second preference. For example, the weight assigned to the preference of

"maximum amount of time to travel" (field 314), which has a rank value of one (1) (field 312), may be higher than the weight assigned to the preference of "preferred day of the week" (field 332), which has a rank value of six (6) (field 330). Conversely, in some other configurations, a higher rank value may indicate a preference that is higher than a preference of a lower rank value. In other words, a rank value of two (2) may indicate a preference that is higher than a preference of a rank value of one (1). A weight may be assigned to each preference based on the rank value for that preference. In such configurations, a first preference having a rank value higher than a rank value of a second preference may be assigned a weight greater than a weight of the second preference. For example, the weight assigned to the preference of "preferred day of the week" (field 332), which has a rank value of (6) (field 330), may be higher than the weight assigned to the preference of

"maximum amount of time to travel" (field 314), which has a rank value of (1) (field 312).

FIG. 3 illustrates an example of the preferences 304 as ranked 302 by the user of the device 110. The users of other devices (e.g., devices 114, 118, 122) may have their own preferences. The preferences ranked by the users of the other devices (e.g., devices 114, 118, 122) may be similar to or different from the preferences ranked by user of the device 110 without deviating from the scope of the present disclosure.

FIG. 4 is a diagram 400 illustrating another example of various user preferences 404 and corresponding ranks 402 as displayed on the device 114. The display 116 may provide an interface for the user of the device 114 to input their preferences and to assign a rank for those preferences. The preferences may include any information, parameter, and/or requirement for the activity. Although various examples of preferences are illustrated in FIG. 4, one of ordinary skill in the art will understand that alternative and/or additional preferences may be shown on the display 116 without deviating from the scope of the present disclosure. Fields 408, 414, 420, 426, 432, 438 may indicate various preferences for which the user of the device 114 may input information, and such information may be input in fields 410, 416, 422, 428, 434, 440, respectively. Fields 406, 412, 418, 424, 430, 436 may indicate fields wherein the user of the device 114 may indicate various rank values. Various aspects of the diagram 400 in FIG. 4 is described with reference to the diagram 300 in FIG. 3 and therefore will not be repeated.

Field 408 indicates a preference for a maximum distance to travel by the user of the device 114. The user of the device 114 may input their preferred maximum distance to travel in field 410. In this example, the user of the device 114 has a preferred maximum distance to travel of ten (10) miles for the activity. The user of the device 114 may also indicate a rank for such a preference in field 406. In this example, the user of the device 114 has assigned a rank value of one (1) for such a preference.

Field 414 indicates a preference for a maximum amount of time to travel by the user of the device 114. The user of the device 114 may input their preferred maximum amount of time to travel in field 416. In this example, the user of the device 114 has a preferred maximum amount of travel of thirty-five (35) minutes for the activity. The user of the device 114 may also indicate a rank for such a preference in field 412. In this example, the user of the device 114 has assigned a rank value of two (2) for such a preference.

Field 420 indicates a preference for a maximum amount of money to spend by the user of the device 114. The user of the device 114 may input their preferred maximum amount of money to spend in field 422. In this example, the user of the device 114 has a preferred maximum amount of money to spend of twenty dollars ($20) for the activity. The user of the device 114 may also indicate a rank for such a preference in field 418. In this example, the user of the device 114 has assigned a rank value of three (3) for such a preference.

Field 426 indicates a preference for a preferred time of day of the user of the device 114. The user of the device 114 may input their preferred time of the day in field 428. In this example, the user of the device 114 has a preferred time of the day of 6 p.m. for the activity. The user of the device 114 may also indicate a rank for such a preference in field 424. In this example, the user of the device 114 has assigned a rank value of six (6) for such a preference.

Field 432 indicates a preference for a preferred day of the week of the user of the device 114. The user of the device 114 may input their preferred day of the week in field 434. In this example, the user of the device 114 has a preferred day of the week of Friday for the activity. The user of the device 114 may also indicate a rank for such a preference in field 430. In this example, the user of the device 114 has assigned a rank value of four (4) for such a preference.

Field 436 indicates a preference for a preferred type of activity of the user of the device 114. The user of the device 114 may input their preferred type of activity in field 440. In this example, the user of the device 114 has a preferred type of activity of watching a movie. The user of the device 114 may also indicate a rank for such a preference in field 436. In this example, the user of the device 114 has assigned a rank value of five (5) for such a preference. Although FIG. 4 illustrates an example of the preferences 404 as ranked 402 by the user of the device 114, one of ordinary skill in the art will understand that the preferences ranked by the users of the other devices (e.g., devices 110, 118, 122) may be similar to or different from the preferences ranked by user of the device 114 without deviating from the scope of the present disclosure.

The server 102 may receive information from the users of the devices 110, 114, 118, 122, and such information may include the preferences 304, 404 as ranked 302, 402 by the users for a selection of an activity. For example, from device 110, the server 102 may receive the information included in the fields 310, 316, 322, 328, 334, 340 for the preferences respectively indicated in fields 308, 314, 320, 326, 332, 338 as well as the corresponding ranking values respectively included in fields 306, 312, 318, 324, 330, 336. As another example, from device 114, the server 102 may receive the information included in the fields 410, 416, 422, 428, 434, 440 for the preferences respectively indicated in fields 408, 414, 420, 426, 432, 438 as well as the corresponding ranking values respectively included in fields 406, 412, 418, 424, 430, 436. The server 102 may also receive information pertaining to the location of the devices 110, 114, 118, 122. For example, the devices 110, 114, 118, 122 may transmit their location information to the server 102. The location information may include geolocation information, which may be determined using a Global Positioning System (GPS), an Internet Protocol (IP) address, a Media Access Control (MAC) address, a Radio-Frequency Identification (RFID), and various other technologies. Based on the location of each of the users of the devices 110, 114, 118, 122, and the preferences ranked by the users of the devices 110, 114, 118, 122, the server 102 may provide various recommendations to the users of the devices 110, 114, 118, 122.

FIG. 5 is a diagram 500 illustrating an example of various recommendations 502 as displayed on the device 110. Without deviating from the scope of the present disclosure, the other devices 114, 118, 122 may display recommendations that are similar to or different from the recommendations 502 provided on the display 112 of the device 110. As illustrated in FIG. 5, the recommendations 502 may include a list of one or more candidate activities 504 and a list of one or more candidate locations 506 corresponding to the candidate activities 504. In some configurations, the recommendations 502 may include the same activity at two or more different locations. For example, fields 508, 510 indicate watching Movie X at Theater A, and fields 512, 514 indicate watching Movie X at Theater B. In some configurations, the recommendations 502 may include two or more different activities at the same location. For example, fields 508, 510 indicate watching Movie X at Theater A, and fields 516, 518 indicate watching Movie Y at Theater A.

The recommendations may include various other activities and locations corresponding to those activities. For example, field 520 indicates eating at Restaurant W, and field 522 indicates the address of Restaurant W. As another example, field 524 indicates eating at Restaurant Z, and field 526 indicates the address of Restaurant Z. Although the example illustrated in FIG. 5 shows six (6) recommended activities and corresponding locations, one of ordinary skill in the art will understand that a fewer number or a greater number of recommended activities and/or locations may be provided without deviating from the scope of the disclosure.

In various embodiments, the recommendations 502 may include more than one activity 504. For instance, the recommendations 502 may include a primary activity and an alternative activity. The alternative activity may be different from the primary activity. In some embodiments, these activities may be displayed

concurrently. For example, the activity "Watch Movie Y" (item 516) may be displayed concurrently with the alternative activity "Eat at Restaurant W" (item 520). In some embodiments, these activities may be displayed at different times. For example, the activity "Watch Movie Y" (item 516) may be displayed at time Ti, and the alternative activity "Eat at Restaurant W" (item 520) may be displayed subsequently at time T 2 .

FIG. 6 is a diagram 600 illustrating an example of a map showing the locations of the devices 110, 114, 118, 122 and the locations of the recommended activities. The map may be provided on the display 112, 116, 120, 124 of the devices 110, 114, 118, 122, respectively. As illustrated in FIG. 6, the recommended locations may include locations 602, 604, 606, 608. For example, location 602 may be the location of Theater A, location 604 may be the location of Theater B, location 606 may be the location of Restaurant W, and location 608 may be the location of Restaurant Z. As described above in greater detail, the recommended locations correspond to the recommended activities. As also described in greater detail, the server 102 may provide the recommendations 502 of the activities 504 and their respective locations 506 based on the location of each of the users of the devices 110, 114, 118, 122 and the preferences 304, 404 as ranked 302, 402 by the user of the devices 110, 114, 118, 122.

FIG. 7 is a diagram 700 illustrating an example of various methods and/or processes. Such methods and/or processes may be performed by the server 102. At block 702, the server 102 may receive information from a plurality of users, such as the users of the devices 110, 114, 118, 122. Such information may include preferences ranked by the plurality of users for a selection of an activity. For example, referring to FIG. 3, the server 102 may receive information from the device 110, and such information may include various preferences 304 listed according to a rank 302. At block 704, the server 102 may provide a recommendation of at least one candidate activity and a candidate location corresponding to the candidate activity based on a location of the plurality of users and the preferences ranked by the plurality of users. For example, referring to FIG. 5, the server 102 may provide information to the device 110, and such information may include various recommendations 502. The recommendations 502 may be based on the locations of each of the users of the devices 110, 114, 118, 122, as illustrated in FIGS. 3 and 6. The recommendations 502 may also be based on the preferences ranked by the users of the devices 110, 114, 118, 122, examples of which are described above with reference to FIGS. 3 and 4.

In some configurations, at block 706, the server 102 may determine a commute time of the plurality of users to the candidate location based on traffic conditions. For example, referring to FIG. 6, the server 102 may determine a commute time of the users of the devices 110, 114, 118, 122 to each of the locations 602, 604, 606, 608. Such a determination may consider current traffic conditions and/or historic traffic conditions. In such configurations, the server 102 may provide the recommendations 502 further based on the determined commute time.

In some configurations, at block 708, the server 102 may determine an available time for the at least one candidate activity. For example, the server may determine the available show times of a particular movie at various locations. Also, the server 102 may determine the times at which a table is available at a restaurant. In such configurations, the server 102 may provide the recommendations 502 further based on the determined available time(s). For example, referring to FIG. 5, the recommendations 502 may include "Watch Movie X" (item 508) at Theater A (item 510), if Movie X does not have an available show time at another theater (e.g., Theater B). As another example, referring to FIG. 5, the recommendations 502 may include "Eat at Restaurant W" (item 520), if no tables are available at another restaurant (e.g., Restaurant Z).

In some configuration, at block 710, the server may provide a

recommendation of at least an alternative time or an alternate location for the at least one candidate activity when the plurality of users cannot arrive at the candidate location by the determined available time. For example, referring to FIG. 6, the server 102 may firstly recommend location 606, but the server 102 may secondarily recommend location 602 if one or more of the users of the devices 110, 114, 118, 122 cannot arrive by the determined available time. For instance, a road closure 610 may prevent the user of device 114 from arriving at location 606. As such, the server 102 may recommend alternative location 602, which is a location to which the user of the device 114 can arrive by the determined time. As another example, the server 102 may determine alternative show times of various movies playing at various theaters located nearby the users of the devices 110, 114, 118, 122. Theater A may offer movie show times at 6 p.m. and 8 p.m. One or more of the users of the devices 110, 114, 118, 122 may not be able to arrive at Theater A by 6 p.m. As such, the server 102 may provide a recommendation of an alternative time (e.g., 8 p.m.) for watching the movie at Theater A.

FIG. 8 is a diagram 800 illustrating an example of various methods and/or processes. Such methods and/or processes may be performed by the server 102. At block 802, the server 102 may receive information from a plurality of users, such as the users of the devices 110, 114, 118, 122. Such information may include preferences ranked by the plurality of users for a selection of an activity. At block 804, the server 102 may provide a recommendation of at least one candidate activity and a candidate location corresponding to the candidate activity based on a location of the plurality of users and the preferences ranked by the plurality of users. Additional description pertaining to blocks 802, 804 is provided above with reference to blocks 702, 704 and therefore will not be repeated.

In some configurations, at block 806, the server 102 may provide a message to the plurality of users to facilitate a reservation of the at least one candidate activity. For example, such a message may assist the user with making a reservation at a restaurant recommended by the server 102. As another example, such a message may assist the user with reserving a particular seat at a movie theater recommended by the server 102. FIG. 9 is a diagram 900 illustrating an example of various methods and/or processes. Such methods and/or processes may be performed by the server 102. At block 902, the server 102 may receive information from a plurality of users, such as the users of the devices 110, 114, 118, 122. Such information may include preferences ranked by the plurality of users for a selection of an activity. At block 904, the server 102 may provide a recommendation of at least one candidate activity and a candidate location corresponding to the candidate activity based on a location of the plurality of users and the preferences ranked by the plurality of users. Additional description pertaining to blocks 902, 904 is provided above with reference to blocks 702, 704 and therefore will not be repeated.

In some configurations, at block 906, the server 102 may provide customized directions to each of the users for travel to the candidate location. For example, referring to FIG. 6, the server 102 may recommend location 608 for the users of the devices 110, 114, 118, 122. The server 102 may then provide each of the users of the devices 110, 114, 118, 122 with customized directions from their respective locations to the recommended location 608. For instance, the server 102 may provide the user of device 110 with direction that include traveling on W. Jefferson Blvd.,

subsequently turning right to travel on Jefferson Blvd., and subsequently turning left to travel on Redeo Rd.

FIG. 10 is a diagram 1000 illustrating an example of various methods and/or processes. Such methods and/or processes may be performed by the server 102. At block 1002, the server 102 may receive information from a plurality of users, such as the users of the devices 110, 114, 118, 122. Such information may include preferences ranked by the plurality of users for a selection of an activity. At block 1004, the server 102 may provide a recommendation of at least one candidate activity and a candidate location corresponding to the candidate activity based on a location of the plurality of users and the preferences ranked by the plurality of users. Additional description pertaining to blocks 1002, 1004 is provided above with reference to blocks 702, 704 and therefore will not be repeated.

In some configurations, at block 1006, the server 102 may relay a message to the users, and the message may include an available time for the at least one candidate activity at the candidate location. For example, after a particular restaurant is recommended by the server 102, that particular restaurant may wish to communicate with the users to whom that particular restaurant was recommended. In some circumstances, the restaurant may wish to communicate a time at which a table is available for reservation. In some other circumstances, if a table is not available for reservation, the restaurant may wish to provide the users with a coupon or voucher for use at a subsequent visit to that particular restaurant.

The methods and/or processes described with reference to FIGS. 7-10 are provided for illustrative purposes and are not intended to limit the scope of the present disclosure. The methods and/or processes described with reference to FIGS. 7-10 may be performed in sequences different from those illustrated therein without deviating from the scope of the present disclosure. Additionally, some or all of the methods and/or processes described with reference to FIGS. 7-10 may be performed individually and/or together without deviating from the scope of the present disclosure. It is to be understood that the specific order or hierarchy of steps in the methods disclosed is an illustration of exemplary processes. Based upon design preferences, it is understood that the specific order or hierarchy of steps in the methods may be rearranged. The accompanying method claims present elements of the various steps in a sample order, and are not meant to be limited to the specific order or hierarchy presented unless specifically recited therein.

FIG. 11 is a diagram 1100 illustrating an example of a hardware

implementation of the server 102. The server 102 may include a transceiver 1110. The transceiver 1110 may be configured to receive data and/or transmit data in

communication with another apparatus. The transceiver 1110 provides a circuitry for communicating with another apparatus and/or device, such as the device 110. The transceiver 1110 may be configured to perform such communication using various types of technologies. One of ordinary skill in the art will understand that many types of technologies to perform such communication may be used without deviating from the scope of the present disclosure.

The server 102 may also include a memory 1114, one or more processors 1104, a computer-readable medium 1106, and a bus interface 1108. The bus interface 1108 may provide an interface between a bus 1103 and the transceiver 1110. The memory 1114, the one or more processors 1104, the computer-readable medium 1106, and the bus interface 1108 may be connected together via the bus 1103. The bus 1103 may also link various other circuits such as timing sources, peripherals, voltage regulators, and/or power management circuits. The processor 1104 may be communicatively coupled to the transceiver 1110 and/or the memory 1114. A processor 1104 may include a reception circuit 1120. The reception circuit 1120 may include various hardware components and/or software modules that can perform various functions and/or enable various aspects associated with receiving information and/or data by the server 102. In some configurations, the reception circuit 1120 provides the circuitry for receiving information from a plurality of users. The information may include preferences ranked by the plurality of users for a selection of an activity.

The processor 1104 may also include a transmission circuit 1121. The transmission circuit 1121 may include various hardware components and/or software modules that can perform various functions and/or enable various aspects associated with transmitting information and/or data by the server 102. For example, the information and/or data may be transmitted by the server 102 to the device 110. In some configurations, the transmission circuit 1121 provides the circuitry for providing a recommendation of at least one candidate activity and a candidate location corresponding to the candidate activity based on a location of the plurality of users and the preferences ranked by the plurality of users.

The processor 1104 may also include a location determination circuit 1122. The location determination circuit 1122 may include various hardware components and/or software modules that can perform various functions and/or enable various aspects associated with determining the location (e.g., geolocation) of various devices (e.g., device 101) as well as the location (e.g., geolocation) of various candidate locations that may be recommended to the users of those devices. In some configurations, the location determination circuit 1122 provides the circuitry for determining a commute time of the plurality of users to the candidate location based on traffic conditions, and the recommendation may be further based on the determined commute time.

The processor 1104 may also include a control circuit 1123. The control circuit 1123 may include various hardware components and/or software modules that can perform various functions and/or enable various aspects associated with performing various control and processing operations of the server 102. In some configurations, the control circuit 1123 provides the circuitry for providing a recommendation of at least an alternative time or an alternate location for the at least one candidate activity when the plurality of users cannot arrive at the candidate location by the determined available time. In various embodiments of the present disclosure, the server 102 performs various operations after providing the recommendation to the user. In some configurations, after providing the recommendation, the transmission circuit 1121 further provides the circuitry for providing a message to the plurality of users to facilitate a reservation of the at least one candidate activity. In some configurations, after providing the recommendation, the transmission circuit 1121 further provides the circuitry for providing customized directions to each of the plurality of users for travel to the candidate location. In some configurations, after providing the recommendation, the transmission circuit 1121 further provides the circuitry for relaying a message to the plurality of users. The message may indicate an available time for the at least one candidate activity at the candidate location.

The foregoing description provides a non-limiting example of the processor 1104 of the server 102. Although various circuits have been described above, one of ordinary skill in the art will understand that the processor 1104 may also include various other circuits 1124 that are in addition and/or alternative(s) to circuits 1120, 1121, 1122, 1123. Such other circuits 1124 may provide the circuitry for performing any one or more of the functions, methods, processes, features and/or aspects described herein.

The computer-readable medium 1106 may include various instructions. The instructions may include computer-executable code configured to perform various functions and/or enable various aspects described herein. The computer-executable code may be executed by various hardware components (e.g., the processor 1104) of the server 102. The instructions may be a part of various software programs and/or software modules.

The computer-readable medium 1106 may include reception instructions

1140. The reception instructions 1140 may include computer-executable code configured for performing various functions and/or enable various aspects associated with receiving information and/or data by the server 102. In some configurations, the reception instructions 1140 include computer-executable code configured for receiving information from a plurality of users. The information may include preferences ranked by the plurality of users for a selection of an activity.

The computer-readable medium 1106 may also include transmission instructions 1141. The transmission instructions 1141 may include computer- executable code configured for performing various functions and/or enable various aspects associated with transmitting information and/or data by the server 102. For example, the information and/or data may be transmitted by the server 102 to the device 110. In some configurations, the transmission instructions 1141 include computer-executable code configured for providing a recommendation of at least one candidate activity and a candidate location corresponding to the candidate activity based on a location of the plurality of users and the preferences ranked by the plurality of users.

The computer-readable medium 1106 may also include location determination instructions 1142. The location determination instructions 1142 may include computer-executable code configured for performing various functions and/or enable various aspects associated with determining the location (e.g., geolocation) of various devices (e.g., device 101) as well as the location (e.g., geolocation) of various candidate locations that may be recommended to the users of those devices. In some configurations, the location determination instructions 1142 include computer- executable code configured for determining a commute time of the plurality of users to the candidate location based on traffic conditions, and the recommendation may be further based on the determined commute time.

The computer-readable medium 1106 may also include control instructions 1143. The control instructions 1143 may include computer-executable code configured for performing various functions and/or enable various aspects associated with performing various control and processing operations of the server 102. In some configurations, the control instructions 1143 include computer-executable code configured for providing a recommendation of at least an alternative time or an alternate location for the at least one candidate activity when the plurality of users cannot arrive at the candidate location by the determined available time.

In various embodiments of the present disclosure, the server 102 performs various operations after providing the recommendation to the user. In some configurations, after providing the recommendation, the transmission instructions 1141 further include computer-executable code configured for providing a message to the plurality of users to facilitate a reservation of the at least one candidate activity. In some configurations, after providing the recommendation, the transmission instructions 1141 further include computer-executable code configured for providing customized directions to each of the plurality of users for travel to the candidate location. In some configurations, after providing the recommendation, the transmission instructions 1141 further include computer-executable code configured for relaying a message to the plurality of users. The message may indicate an available time for the at least one candidate activity at the candidate location.

The foregoing description provides a non-limiting example of the computer- readable medium 1106 of the server 102. Although various instructions (e.g., computer-executable code) have been described above, one of ordinary skill in the art will understand that the computer-readable medium 1106 may also include various other instructions 1144 that are in addition and/or alternative(s) to instructions 1140, 1141, 1142, 1143. Such other instructions 1144 may include computer-executable code configured for performing any one or more of the functions, methods, processes, features and/or aspects described herein.

The memory 1114 may include various memory modules. The memory modules may be configured to store, and have read therefrom, various values and/or information by the processor 1104, or any of its circuits 1120, 1121, 1122, 1123, 1124. The memory modules may also be configured to store, and have read therefrom, various values and/or information upon execution of the computer-executable code included in the computer-readable medium 1106, or any of its instructions 1140, 1141, 1142, 1143, 1144.

In some configurations, the memory 1114 may include a preference data module 1130. The preference data module 1130 may include data associated with the preferences of the users of the devices (e.g., device 110). For example, the preferences of the users of the devices may be stored in the preference data module 1130 after being received by the server 102. In some configurations, the memory 1114 may also include a location data module 1131. The location data module 1131 may include data associated with the location of the devices as well as the location of the various candidate locations that may be provided to the user as a recommendation. For example, the location data module 1131 may be an information database that retrieves such information from a network via a wired or wireless connection.

One of ordinary skill in the art will also understand that the memory 1114 may also include various other memory modules 1132. The other memory modules 1132 may be configured for storing information therein, and reading information therefrom, with respect to any of the features, functions, methods, processes, and/or aspects described herein. One of ordinary skill in the art will also understand that the server 102 may include alternative and/or additional elements without deviating from the scope of the present disclosure. In accordance with various aspects of the present disclosure, an element, or any portion of an element, or any combination of elements may be implemented with a processing system that includes one or more processors 1104. Examples of the one or more processors 1104 include microprocessors,

microcontrollers, digital signal processors (DSPs), field programmable gate arrays (FPGAs), programmable logic devices (PLDs), state machines, gated logic, discrete hardware circuits, and other suitable hardware configured to perform the various functionality described throughout this disclosure.

Software shall be construed broadly to mean instructions, instruction sets, code, code segments, program code, programs, subprograms, software modules, applications, software applications, software packages, routines, subroutines, objects, executables, threads of execution, procedures, functions, etc., whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise. The software may reside on the computer-readable medium 1106. The computer-readable medium 1106 may be a non-transitory computer-readable medium. A non-transitory computer-readable medium includes, by way of example, a magnetic storage device (e.g., hard disk, floppy disk, magnetic strip), an optical disk (e.g., a compact disc (CD) or a digital versatile disc (DVD)), a smart card, a flash memory device (e.g., a card, a stick, or a key drive), a random access memory (RAM), a read only memory (ROM), a programmable ROM (PROM), an erasable PROM (EPROM), an electrically erasable PROM (EEPROM), a register, a removable disk, and any other suitable medium for storing software and/or instructions that may be accessed and read by a computer. The computer-readable medium 1106 may also include, by way of example, a carrier wave, a transmission line, and any other suitable medium for transmitting software and/or instructions that may be accessed and read by a computer. The computer-readable medium 1106 may be embodied in a computer program product. By way of example and not limitation, a computer program product may include a computer-readable medium in packaging materials. Those skilled in the art will recognize how best to implement the described functionality presented throughout this disclosure depending on the particular application and the overall design constraints imposed on the overall system. The foregoing description is provided to enable any person skilled in the art to practice the various aspects described herein. Various modifications to these aspects will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other aspects. Thus, the claims are not intended to be limited to the aspects shown herein, but is to be accorded the full scope consistent with the language claims, wherein reference to an element in the singular is not intended to mean "one and only one" unless specifically so stated, but rather "one or more." All structural and functional equivalents to the elements of the various aspects described throughout this disclosure that are known or later come to be known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed by the claims.