WO2016099624A1 - Method and apparatus for providing an order of different locations - Google Patents
Method and apparatus for providing an order of different locations Download PDFInfo
- Publication number
- WO2016099624A1 WO2016099624A1 PCT/US2015/053282 US2015053282W WO2016099624A1 WO 2016099624 A1 WO2016099624 A1 WO 2016099624A1 US 2015053282 W US2015053282 W US 2015053282W WO 2016099624 A1 WO2016099624 A1 WO 2016099624A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- locations
- time
- subset
- location
- order
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 230000000694 effects Effects 0.000 claims description 91
- 238000005265 energy consumption Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 23
- 230000008569 process Effects 0.000 description 18
- 230000005540 biological transmission Effects 0.000 description 13
- 230000006870 function Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000005022 packaging material Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
- G06Q10/047—Optimisation of routes or paths, e.g. travelling salesman problem
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3407—Route searching; Route guidance specially adapted for specific applications
- G01C21/343—Calculating itineraries, i.e. routes leading from a starting point to a series of categorical destinations using a global route restraint, round trips, touristic trips
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/109—Time management, e.g. calendars, reminders, meetings or time accounting
- G06Q10/1093—Calendar-based scheduling for persons or groups
- G06Q10/1095—Meeting or appointment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/14—Travel agencies
Definitions
- the present disclosure generally, relates to providing recommendations and, more specifically, relates to providing an order of locations corresponding to the time it takes to travel between such locations and the amount of time spent at each location.
- 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, nor do such systems account for the amount of time that may be spent doing an activity at the various locations. Accordingly, existing systems may benefit from enhancements that improve upon such limitations.
- Some apparatuses, methods, and computer-readable media may include receiving information for an apparatus, where the information can contain a number of locations and a time allotment to be spent at each of the locations. A determination is made to order the number of locations based on the time allocation information and the distances to each of the number of locations. The order of the number of locations is then provided for a display or can be generated as a listing of locations in a specified order.
- 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.
- FIG. 12 is a diagram illustrating a method of ordering different locations in accordance with an exemplary embodiment of the present disclosure. DESCRIPTION OF EMBODIMENTS
- FIG. 1 is a diagram 100 illustrating a server 102 and one or more devices 110, 114, 118, 122.
- the devices 110, 114, 118, 122 are illustrated in FIG. 1.
- the device 110 may be a smartphone
- the device 114 may be a desktop computer
- the device 118 may be a laptop computer
- 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.
- the devices 110, 114, 118, 122 may, additionally or alternatively, include various other apparatuses configured to
- 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.
- 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.
- 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.
- 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.
- 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.
- FIG. 3 shows six (6) preferences
- no two preferences may be assigned the same rank value.
- two or more preferences may be assigned the same rank value.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- the user of the device 110 has assigned a rank value of four (4) for such a preference.
- a lower rank value may indicate a preference that is higher than a preference of a higher rank value.
- a rank value of one (1) may indicate a preference that is higher than a preference of a rank value of two (2).
- 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.
- 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).
- a higher rank value may indicate a preference that is higher than a preference of a lower rank value.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- the user of the device 114 has assigned a rank value of five (5) for such a preference.
- the preferences ranked by the users of the other devices 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.
- 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.
- 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.
- GPS Global Positioning System
- IP Internet Protocol
- MAC Media Access Control
- RFID Radio-Frequency Identification
- FIG. 5 is a diagram 500 illustrating an example of various recommendations 502 as displayed on the device 110.
- 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.
- 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.
- the recommendations 502 may include the same activity at two or more different locations.
- fields 508, 510 indicate watching Movie X at Theater A
- fields 512, 514 indicate watching Movie X at Theater B.
- the recommendations 502 may include two or more different activities at the same location.
- fields 508, 510 indicate watching Movie X at Theater A
- fields 516, 518 indicate watching Movie Y at Theater A.
- the recommendations may include various other activities and locations corresponding to those activities.
- field 520 indicates eating at Restaurant W
- field 522 indicates the address of Restaurant W
- field 524 indicates eating at Restaurant Z
- field 526 indicates the address of Restaurant Z.
- 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.
- the recommendations 502 may include more than one activity 504.
- the recommendations 502 may include a primary activity and an alternative activity.
- the alternative activity may be different from the primary activity.
- these activities may be displayed concurrently.
- the activity "Watch Movie Y" (item 516) may be displayed concurrently with the alternative activity "Eat at Restaurant W" (item 520).
- these activities may be displayed at different times.
- the activity "Watch Movie Y" (item 516) may be displayed at time Ti
- 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.
- the recommended locations may include locations 602, 604, 606, 608.
- 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
- location 608 may be the location of Restaurant Z.
- the recommended locations correspond to the recommended activities.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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).
- 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.
- 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.
- a road closure 610 may prevent the user of device 114 from arriving at location 606.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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,
- 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.
- 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.
- 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.
- 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 a particular restaurant.
- that particular restaurant may wish to communicate with the users to whom that particular restaurant was recommended.
- the restaurant may wish to communicate a time at which a table is 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.
- 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.
- 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.
- 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
- 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.
- 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 also include a control circuit 1123.
- 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.
- 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.
- the server 102 performs various operations after providing the recommendation to the user.
- 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.
- the transmission circuit 1121 after providing the
- 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.
- processor 1104 of the server 102.
- 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.
- 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.
- the information and/or data may be transmitted by the server 102 to the device 110.
- 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.
- 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.
- 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.
- the server 102 performs various operations after providing the recommendation to the user.
- 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.
- 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.
- 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 computer-readable medium 1106 of the server 102 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.
- 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.
- 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.
- the location data module 1131 may be an information database that retrieves such information from a network via a wired or wireless connection.
- 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.
- server 102 may include alternative and/or additional elements without deviating from the scope 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.
- DSPs digital signal processors
- FPGAs field programmable gate arrays
- PLDs programmable logic devices
- state machines gated logic, discrete hardware circuits, and other suitable hardware configured to perform the various functionality described throughout this disclosure.
- FIG. 12 is a diagram 1200 illustrating an example of various methods and/or processes. Such methods and/or processes may be performed by the server 102.
- server 102 can receive information containing a plurality of locations where each location can be related to a specific activity as explained above.
- the location information can be addresses, map coordinates, GPS coordinates, and the like.
- specific time in which is to be spent at each location. This specified time can also be referred to as being a time allotment for a location where different locations can have different time allotments.
- a time allocation (Tl) can be thirty minutes
- a time allocation (T2) can be ninety minutes
- a time allocation (T3) can be sixty minutes, and the like.
- server 102 receives the plurality of locations which can be in the form of a user's daily schedule, a listing of way points from a travel itinerary, data accumulated through data mining a user' s activity, entries entered in by a user, and the like.
- Server 102 can be configured to determine from such information the time duration allocated to a specific location by extracting from a daily schedule the time set for each appointment corresponding to a location where each time would be a time allotment for the location.
- Other techniques can be used to obtain location information and time allocation information in accordance with the exemplary principles.
- Server 102 can be implemented to have historical data that indicates the various traffic patterns between locations for time of day, as to develop different travelling times (TR) from a first location to a second location. For example, referencing locations LI, L2, and L3, TABLE 1 shows the different travel times (TR) in minutes from different locations during different times of the day.
- server 102 can reference the information from block 1202 to determine that the time allocation Tl is thirty minutes, T2 is ninety minutes, and T3 is sixty minutes.
- Tl time allocation
- T2 time allocation ninety minutes
- T3 sixty minutes.
- the travel between LI to L3 and L3 to L2 between 10AM and 11AM would have the shortest time of travel, 10 minutes respectively.
- the distances between locations would also be calculated in block 1204 as well as shown in TABLE 2, where distances (D) in miles or kilometers between locations can change between time of day issues such as construction, traffic patterns, bridge closings, and the like.
- TABLE 2 a similar analysis as described above for time to each location can be performed for minimizing the total distance between locations.
- the data may show that the total distance between travelling from LI to L3 and L3 to L2 from 3PM to 4PM would be the minimum distance between all of the locations (18 miles). Even though the distance may be at a minimum during these times of day in the present example, the total commute time between these locations (70 minutes) would be more than the total commute time between these locations during 10AM and 11AM (20 minutes).
- Server 102 can be configured to run through different combinations of times and distances to determine a minimal distance and time, where the over preference between time and distance can be weighted based on the algorithms used, preferences of a user, efficiency of the vehicle being used, activity performed at each location, and the like.
- a user can indicate a preference where a total amount of time a specific location is not to be exceeded. This can happen because a user may need to limit their specific activity time at a location because of a scheduling issue.
- a user can specify a limit to the total amount of time of travel between two locations which is not to be exceeded.
- a user can specify at total amount of distance between two locations not to be exceeded. Any of these values can be used as a threshold to limit the results calculated by server 102.
- these limits can be used to determine alternative locations, such as L4, if such threshold values are to be exceeded, in accordance with the principles described above. These alternative locations can also be determined in accordance with a user profile in some exemplary embodiments.
- a subset of locations from the plurality of locations can be determined where various budgets are used to limit the locations and the order of such locations because of the preferences of a user. For example, a user can specify a total time budget which would include the total amount of time allocated for locations and the amount of time travelled between such locations. If the total amount of time would exceed the time budget, server 102 could select a subset of locations such that the total amount of time allocated to such location and travelling between such locations would be minimized. The same principles for budgeting can also be done for setting up the amount of money to spent at different locations, total distance travelled between locations, energy consumption budget such as gasoline or power used, and the like.
- the result of the ordering of the plurality of locations is provided.
- Such information can be provided in the form of a listing, a table of results, a map of locations, entries in a scheduler, a user interface, graphical elements, and the like.
- the results are provided in the form a generated signal, when displayed by inputted into a display device, that shows the order of the locations in the form of a map.
- Other representations of such information can be supplied in accordance with the described principles.
- 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.
- 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 e.g., a flash memory device (e.g.
- 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.
- a computer program product may include a computer-readable medium in packaging materials.
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- Economics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Marketing (AREA)
- Theoretical Computer Science (AREA)
- Remote Sensing (AREA)
- Entrepreneurship & Innovation (AREA)
- Radar, Positioning & Navigation (AREA)
- General Business, Economics & Management (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Automation & Control Theory (AREA)
- General Health & Medical Sciences (AREA)
- Development Economics (AREA)
- Game Theory and Decision Science (AREA)
- Navigation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Various aspects of apparatuses (102), methods (1200), and computer-readable medium (1106) are described herein. Some apparatuses (102), methods (1200), and computer-readable medium (1106) may include receiving information (1202) containing a plurality of locations and a time allocation for each locations, where such time allocations can be different between locations. An order of locations from the plurality of locations is determined (1204) to minimize the total amount of time allocated and travelled between locations and to minimize the total distances travelled between such locations.
Description
METHOD AND APPARATUS FOR PROVIDING AN ORDER OF DIFFERENT LOCATIONS
CROSS-REFERENCE TO RELATED APPLICATIONS
This application claims priority to and benefit of provisional patent application number 62/093,675 filed in the United States Patent and Trademark Office on December 18, 2014, the entire contents of which are hereby incorporated herein by reference.
TECHNICAL FIELD
The present disclosure, generally, relates to providing recommendations and, more specifically, relates to providing an order of locations corresponding to the time it takes to travel between such locations and the amount of time spent at each location.
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, nor do such systems account for the amount of time that may be spent doing an activity at the various locations. Accordingly, existing systems may benefit from enhancements that improve upon such limitations. SUMMARY
Various aspects of apparatuses, methods, and computer-readable media 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 apparatuses, methods, and computer-readable media may include receiving information for an apparatus, where the information can contain a number of locations and a time allotment to be spent at each of the locations. A determination is made to order the number of locations based on the time allocation information and the distances to each of the number of locations. The order of the number of locations is then provided for a display or can be generated as a listing of locations in a specified order.
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.
FIG. 12 is a diagram illustrating a method of ordering different locations in accordance with an exemplary embodiment 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 T2.
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.
FIG. 12 is a diagram 1200 illustrating an example of various methods and/or processes. Such methods and/or processes may be performed by the server 102. In block 1202, server 102 can receive information containing a plurality of locations where each location can be related to a specific activity as explained above. The location information can be addresses, map coordinates, GPS coordinates, and the like. In addition, for each location there can be specified as specific time in which is to be spent at each location. This specified time can also be referred to as being a time allotment for a location where different locations can have different time allotments. For example, for a first location (LI), a time allocation (Tl) can be thirty minutes, for a second location (L2), a time allocation (T2) can be ninety minutes, for a third location (L3), a time allocation (T3) can be sixty minutes, and the like.
Referring back to block 1202, server 102 receives the plurality of locations which can be in the form of a user's daily schedule, a listing of way points from a travel itinerary, data accumulated through data mining a user' s activity, entries entered in by a user, and the like. Server 102 can be configured to determine from such information the time duration allocated to a specific location by extracting from a daily schedule the time set for each appointment corresponding to a location where each time would be a time allotment for the location. Other techniques can be used to obtain location information and time allocation information in accordance with the exemplary principles.
In block 1204, a determination is made to the order of the plurality of locations, where the order selected by server 102 is based on the time allotment information for each location and the distances to each of the plurality of locations. That is, server 102 will seek to minimize through a data minimization analysis a way to reduce the distances between the plurality of locations and the time to each location when travelling from one location to a second location. Server 102 can be implemented to have historical data that indicates the various traffic patterns between locations for time of day, as to develop
different travelling times (TR) from a first location to a second location. For example, referencing locations LI, L2, and L3, TABLE 1 shows the different travel times (TR) in minutes from different locations during different times of the day.
TABLE 1
From the previously cited example above, server 102 can reference the information from block 1202 to determine that the time allocation Tl is thirty minutes, T2 is ninety minutes, and T3 is sixty minutes. By running a time minimization algorithm to determine what would be the least of amount of time travelling between locations where the time allotment at a starting and final location could be ignored in one exemplary embodiment, the travel between LI to L3 and L3 to L2 between 10AM and 11AM would have the shortest time of travel, 10 minutes respectively. The distances between locations would also be calculated in block 1204 as well as shown in TABLE 2, where distances (D) in miles or kilometers between locations can change between time of day issues such as construction, traffic patterns, bridge closings, and the like.
In TABLE 2, a similar analysis as described above for time to each location can be performed for minimizing the total distance between locations. According to the entries shown in the TABLE 2, the data may show that the total distance between travelling from LI to L3 and L3 to L2 from 3PM to 4PM would be the minimum distance between all of the locations (18 miles). Even though the distance may be at a minimum during these times of day in the present example, the total commute time between these locations (70 minutes) would be more than the total commute time between these locations during 10AM and 11AM (20 minutes). Using this information and based on the preferences of a user, in this example, where the lowering of time of commuting is favored over total distance travelled, the travel time and order of locations to be travelled are L1/L3/L2 starting at 10AM and 11AM. Server 102 can be configured to run through different combinations of times and distances to determine a minimal distance and time, where the over preference between time and distance can be weighted based on the algorithms used, preferences of a user, efficiency of the vehicle being used, activity performed at each location, and the like.
In some optional embodiments, a user can indicate a preference where a total amount of time a specific location is not to be exceeded. This can happen because a user may need to limit their specific activity time at a location because of a scheduling issue. In addition, a user can specify a limit to the total amount of time of travel between two locations which is not to be exceeded. Also, a user can specify at total amount of distance between two locations not to be exceeded. Any of these values can be used as a threshold to limit the results calculated by server 102. In addition, these limits can be used to determine alternative locations, such as L4, if such threshold values are to be exceeded, in accordance with the principles described above. These alternative locations can also be determined in accordance with a user profile in some exemplary embodiments.
In some other exemplary embodiments, a subset of locations from the plurality of locations can be determined where various budgets are used to limit the locations and the order of such locations because of the preferences of a user. For example, a user can specify a total time budget which would include the total amount of time allocated for locations and the amount of time travelled between such locations. If the total amount of time would exceed the time budget, server 102 could select a subset of locations such that the total amount of time allocated to such location and travelling between such locations would be minimized. The same principles for budgeting can also be done for setting up
the amount of money to spent at different locations, total distance travelled between locations, energy consumption budget such as gasoline or power used, and the like.
In block 1206, the result of the ordering of the plurality of locations is provided. Such information can be provided in the form of a listing, a table of results, a map of locations, entries in a scheduler, a user interface, graphical elements, and the like. In an optional exemplary embodiment, in block 1208, the results are provided in the form a generated signal, when displayed by inputted into a display device, that shows the order of the locations in the form of a map. Other representations of such information can be supplied in accordance with the described principles.
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 a 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.
Claims
1. A method comprising:
receiving information (1202), the information comprising a plurality of locations and a time allotment specified for each of the plurality of locations;
determining (1204) an order to the plurality of locations based on the time allotment information and a distance to each of the plurality of locations; and
providing (1206) the order of the plurality of locations.
2. The method of claim 1 , wherein at least one alternative location of the plurality of locations is suggested in the order when at least one of: a time duration at a location of the plurality of locations exceeds a threshold duration of time value, a time of travel between two locations of the plurality of locations exceeds a threshold duration of time of travel value, and a distance between two locations of the plurality of locations exceeds a threshold distance value.
3. The method of claim 2, wherein the at least one alternative location is suggested in accordance with a preference in a user profile.
4. The method of claim 3, wherein the preference comprises 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 on activities associated with each location from a plurality of locations,
a preferred time of day,
a preferred day of the week, and
a preferred type of activity associated with a location from the plurality of locations.
5. The method of claim 1, wherein the determining also includes selecting a subset of locations from the plurality of locations such that the order of the plurality of locations has a travel time for travelling between the subset of locations not exceed a time budget.
6. The method of claim 1 , wherein the determining also includes selecting a subset of locations from the plurality of locations such that the order of the plurality of locations has a total distance of travelling between the subset of locations not exceed a travel distance budget.
7. The method of claim 1, wherein the determining also includes selecting a subset of locations from the plurality of locations such that the order of the plurality of locations has a total spending cost travelling between the subset of locations not exceed a spending budget.
8. The method of claim 1, wherein the determining also includes selecting a subset of locations from the plurality of locations such that the order of the plurality of locations has a total energy consumption cost travelling between the subset of locations not exceed an energy consumption budget.
9. The method of claim 1, wherein the determination step is done relative to a reference location of a user. 10. The method of claim 1 further comprising generating a signal, that when displayed, shows the order of locations in the form of a map.
11. An apparatus (102) comprising:
a memory (1114); and
at least one processor (1104) coupled to the memory (1114) and configured to: receive information, the information comprising a plurality of locations and a time allotment specified for each of the plurality of locations;
determine an order to the plurality of locations based on the time allotment information and a distance to each of the plurality of locations; and
provide the order of the plurality of locations.
12. The apparatus of claim 11 , wherein at least one alternative location of the plurality of locations is suggested in the order when at least one of: a time duration at a location of the plurality of locations exceeds a threshold duration of time value, a time of travel between two locations of the plurality of locations exceeds a threshold duration of time of travel value, and a distance between two locations of the plurality of locations exceeds a threshold distance value.
13. The apparatus of claim 12, wherein the at least one alternative location is suggested in accordance with a preference in a user profile.
14. The apparatus of claim 13, wherein the preference comprises 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 on activities associated with each location from a plurality of locations,
a preferred time of day,
a preferred day of the week, and
a preferred type of activity associated with a location from the plurality of locations.
15. The apparatus of claim 11 , wherein the determining operation also includes selecting a subset of locations from the plurality of locations such that the order of the plurality of locations has a travel time for travelling between the subset of locations not exceed a time budget.
16. The apparatus of claim 11 , wherein the determining operation also includes selecting a subset of locations from the plurality of locations such that the order of the plurality of locations has a total distance of travelling between the subset of locations not exceed a travel distance budget.
17. The apparatus of claim 11 , wherein the determining operation also includes selecting a subset of locations from the plurality of locations such that the order of the plurality of locations has a total spending cost travelling between the subset of locations not exceed a spending budget.
18. The apparatus of claim 11 , wherein the determining operation also includes selecting a subset of locations from the plurality of locations such that the order of the plurality of locations has a total energy consumption cost travelling between the subset of locations not exceed an energy consumption budget.
19. The apparatus of claim 11 , wherein the determine operation is done relative to a reference location of a user.
20. The apparatus of claim 11 , where the processor is further configured to generate a signal, that when displayed, shows the order of locations in the form of a map.
21. A computer-readable medium (1106) comprising computer-executable instructions (1140-1144) configured to:
receive information, the information comprising a plurality of locations and a time allotment specified for each of the plurality of locations;
determine an order to the plurality of locations based on the time allotment information and a distance to each of the plurality of locations; and
provide the order of the plurality of locations. 22. The computer readable medium (1106) of claim 21, wherein at least one alternative location of the plurality of locations is suggested in the order when at least one of: a time duration at a location of the plurality of locations exceeds a threshold duration of time value, a time of travel between two locations of the plurality of locations exceeds a threshold duration of time of travel value, and a distance between two locations of the plurality of locations exceeds a threshold distance value.
23. The computer readable medium (1106) of claim 22, wherein the at least one alternative location is suggested in accordance with a preference in a user profile.
24. The computer readable medium (1106) of claim 23, wherein a preference comprise at least one of:
a maximum distance that a user prefers to travel,
a maximum amount of time that a user prefers to travel,
a maximum amount of money that a user prefers to spend on activities associated with each location from a plurality of locations,
a preferred time of day,
a preferred day of the week, and
a preferred type of activity associated with a location from the plurality of locations. 25. The computer readable medium (1106) of claim 21 , wherein the determining instruction also includes selecting a subset of locations from the plurality of locations such that the order of the plurality of locations has a travel time for travelling between the subset of locations not exceed a time budget. 26. The computer readable medium (1106) of claim 21 , wherein the determining operation also includes selecting a subset of locations from the plurality of locations such that the order of the plurality of locations has a total distance of travelling between the subset of locations not exceed a travel distance budget. 27. The computer readable medium (1106) of claim 21 , wherein the determining instruction also includes selecting a subset of locations from the plurality of locations such that the order of the plurality of locations has a total spending cost travelling between the subset of locations not exceed a spending budget. 28. The computer readable medium (1106) of claim 21 , wherein the determining instruction also includes selecting a subset of locations from the plurality of locations
such that the order of the plurality of locations has a total energy consumption cost travelling between the subset of locations not exceed an energy consumption budget.
28. The computer readable medium (1106) of claim 21 , wherein the determine instruction is done relative to a reference location of a user.
30. The computer readable medium (1106) of claim 21 , wherein the computer readable medium (1106) further comprises computer executable instructions (1140-1144) configured to generate a signal, when displayed, showing the order of locations in the form of a map.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462093675P | 2014-12-18 | 2014-12-18 | |
US62/093,675 | 2014-12-18 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2016099624A1 true WO2016099624A1 (en) | 2016-06-23 |
Family
ID=54291727
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2015/053282 WO2016099624A1 (en) | 2014-12-18 | 2015-09-30 | Method and apparatus for providing an order of different locations |
PCT/US2015/066271 WO2016100607A1 (en) | 2014-12-18 | 2015-12-17 | Method and apparatus for selecting a location of common interest |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2015/066271 WO2016100607A1 (en) | 2014-12-18 | 2015-12-17 | Method and apparatus for selecting a location of common interest |
Country Status (1)
Country | Link |
---|---|
WO (2) | WO2016099624A1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006025044A2 (en) * | 2004-07-29 | 2006-03-09 | Ziv Ben-Yehuda | System and method for travel planning |
US20130006521A1 (en) * | 2011-06-29 | 2013-01-03 | Needham Bradford H | Customized Travel Route System |
US20140122153A1 (en) * | 2012-10-31 | 2014-05-01 | DoWhatILikeBest, LLC | Favorite and serendipitous event correlation and notification |
-
2015
- 2015-09-30 WO PCT/US2015/053282 patent/WO2016099624A1/en active Application Filing
- 2015-12-17 WO PCT/US2015/066271 patent/WO2016100607A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006025044A2 (en) * | 2004-07-29 | 2006-03-09 | Ziv Ben-Yehuda | System and method for travel planning |
US20130006521A1 (en) * | 2011-06-29 | 2013-01-03 | Needham Bradford H | Customized Travel Route System |
US20140122153A1 (en) * | 2012-10-31 | 2014-05-01 | DoWhatILikeBest, LLC | Favorite and serendipitous event correlation and notification |
Also Published As
Publication number | Publication date |
---|---|
WO2016100607A1 (en) | 2016-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230169448A1 (en) | Delivery prediction generation system | |
US20210192648A1 (en) | Determining user interface information based on location information | |
US10110686B2 (en) | Systems and methods for providing beacon-based notifications | |
AU2013287059B2 (en) | System and method for providing dynamic supply positioning for on-demand services | |
US20160300318A1 (en) | Fare determination system for on-demand transport arrangement service | |
US20160328669A1 (en) | On-demand delivery system | |
JP2019057293A (en) | System and method for managing supply state of service | |
US20190392357A1 (en) | Request optimization for a network-based service | |
US20160048804A1 (en) | Systems and methods for transportation services for package delivery | |
KR20210052499A (en) | e-hailing service | |
WO2016036998A1 (en) | Generating route data for routes between locations | |
CA3194882A1 (en) | Optimizing selection of drivers for transport requests | |
US20160189111A1 (en) | Free time activity scheduler | |
US20200175610A1 (en) | Cognitive collaboration | |
US10575123B1 (en) | Contextual notifications for a network-based service | |
US20170352004A1 (en) | Systems, devices, and methods for dynamically generating delivery destinations, times and routes | |
KR101799973B1 (en) | Apparatus and method for recommending meeting place | |
US20240046164A1 (en) | Active notification using transportation service prediction | |
US20190340546A1 (en) | Real time personal mobility planner system | |
US9064286B2 (en) | Social network service providing system and method for setting relationship between users based on motion of mobile terminal and information about time | |
US20140343974A1 (en) | Selecting a Subset of Transit Trips Based on Time and Duration | |
WO2017090607A1 (en) | Reservation processing device, reservation processing method, and reservation processing program | |
US10036647B2 (en) | Systems and methods for the determination of a user's 4D trajectory | |
WO2014028099A1 (en) | User interface elements for transportation sharing | |
WO2016099624A1 (en) | Method and apparatus for providing an order of different locations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 15778563 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 15778563 Country of ref document: EP Kind code of ref document: A1 |