US20120047087A1 - Smart encounters - Google Patents

Smart encounters Download PDF

Info

Publication number
US20120047087A1
US20120047087A1 US12/711,517 US71151710A US2012047087A1 US 20120047087 A1 US20120047087 A1 US 20120047087A1 US 71151710 A US71151710 A US 71151710A US 2012047087 A1 US2012047087 A1 US 2012047087A1
Authority
US
United States
Prior art keywords
user
predicted
encounter
users
keywords
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US12/711,517
Inventor
Christopher M. Amidon
Steven L. Petersen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Uber Technologies Inc
Original Assignee
Waldeck Technology LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to US12/711,517 priority Critical patent/US20120047087A1/en
Assigned to KOTA ENTERPRISES, LLC reassignment KOTA ENTERPRISES, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: AMIDON, CHRISTOPHER M., PETERSEN, STEVEN L.
Application filed by Waldeck Technology LLC filed Critical Waldeck Technology LLC
Assigned to WALDECK TECHNOLOGY, LLC reassignment WALDECK TECHNOLOGY, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: KOTA ENTERPRISES, LLC
Publication of US20120047087A1 publication Critical patent/US20120047087A1/en
Assigned to CONCERT DEBT, LLC reassignment CONCERT DEBT, LLC SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: WALDECK TECHNOLOGY, LLC
Assigned to CONCERT DEBT, LLC reassignment CONCERT DEBT, LLC SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: WALDECK TECHNOLOGY, LLC
Assigned to CONCERT DEBT, LLC reassignment CONCERT DEBT, LLC SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CONCERT TECHNOLOGY CORPORATION
Assigned to CONCERT DEBT, LLC reassignment CONCERT DEBT, LLC SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CONCERT TECHNOLOGY CORPORATION
Assigned to CONCERT TECHNOLOGY CORPORATION reassignment CONCERT TECHNOLOGY CORPORATION RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: CONCERT DEBT, LLC
Assigned to WALDECK TECHNOLOGY, LLC reassignment WALDECK TECHNOLOGY, LLC RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: CONCERT DEBT, LLC
Assigned to IP3, SERIES 100 OF ALLIED SECURITY TRUST I reassignment IP3, SERIES 100 OF ALLIED SECURITY TRUST I ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: WALDECK TECHNOLOGY LLC
Assigned to UBER TECHNOLOGIES, INC. reassignment UBER TECHNOLOGIES, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: IP3, SERIES 100 OF ALLIED SECURITY TRUST I
Assigned to UBER TECHNOLOGIES, INC. reassignment UBER TECHNOLOGIES, INC. CORRECTIVE ASSIGNMENT TO CORRECT THE PATENT NUMBER 8520609 PREVIOUSLY RECORDED ON REEL 043084 FRAME 0656. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Assignors: IP3, SERIES 100 OF ALLIED SECURITY TRUST 1
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0282Rating or review of business operators or products
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services

Definitions

  • the present disclosure relates to content recommendations.
  • a person typically encounters numerous types of people that often have varying interests. For instance, a person may encounter associates at work having an interest in popular television programs such as The Office, encounter friends at lunch that have an interest in sports, and encounter clients or customers during an afternoon conference call that have an interest in politics. During these encounters, the person desires to be able to contribute to the conversation. However, in many instances, the person will not know of the interests of the other people that the person will encounter beforehand nor will the person necessarily have knowledge of content (e.g., television programs, sporting events, political news articles) of interest to the other people the person will encounter. As such, there is a need for a system and method that provide content recommendations to a person based on aggregate interests of other persons that the person is likely to encounter in the future.
  • content e.g., television programs, sporting events, political news articles
  • an aggregate profile is obtained for a predicted encounter of a first user.
  • the aggregate profile is based on user profiles of a number of second users identified for the predicted encounter.
  • the predicted encounter is a predicted physical encounter.
  • the predicted encounter is a predicted remote encounter.
  • One or more content recommendations are then obtained for the first user based on the aggregate profile for the predicted encounter.
  • the content recommendation may be, for example, a recommended movie, a recommended television program, a recommended news article, a recommended user-generated video (e.g., a recommended video on YouTube.com), or the like.
  • FIG. 1 illustrates a system that provides content recommendations to a user based on aggregate profiles of predicted encounters for the user according to one embodiment of the present disclosure
  • FIG. 2 is a more detailed illustration of the Mobile Aggregate Profile (MAP) server of FIG. 1 according to one embodiment of the present disclosure
  • FIG. 3 is a more detailed illustration of one of the MAP clients of FIG. 1 according to one embodiment of the present disclosure
  • FIG. 4 illustrates the operation of the system of FIG. 1 to provide user profiles and location updates to the MAP server according to one embodiment of the present disclosure
  • FIG. 5 illustrates the operation of the system of FIG. 1 to provide user profiles and location updates to the MAP server according to another embodiment of the present disclosure
  • FIG. 6 illustrates the operation of the system of FIG. 1 to provide content recommendations based on aggregate profiles for predicted encounters according to one embodiment of the present disclosure
  • FIG. 7 is a flow chart for a process for generating aggregate profiles for predicted encounters according to one embodiment of the present disclosure
  • FIG. 8 is a flow chart for a process for generating aggregate profiles for predicted encounters according to another embodiment of the present disclosure.
  • FIG. 9 is a flow chart for a process for generating aggregate profiles for predicted encounters according to yet another embodiment of the present disclosure.
  • FIG. 10 is a flow chart for a process for dividing users identified for a predicted encounter into a number of user groups according to one embodiment of the present disclosure
  • FIG. 11 illustrates an exemplary Graphical User Interface (GUI) provided by the smart encounters service according to one embodiment of the present disclosure
  • FIG. 12 illustrates an exemplary GUI provided by the smart encounters service according to another embodiment of the present disclosure
  • FIG. 13 is a block diagram of the MAP server of FIG. 1 according to one embodiment of the present disclosure.
  • FIG. 14 is a block diagram of one of the mobile devices of FIG. 1 according to one embodiment of the present disclosure.
  • FIG. 15 is a block diagram of the content consumption device of FIG. 1 according to one embodiment of the present disclosure.
  • FIG. 1 illustrates a system 10 for providing content recommendations to a user based on aggregate profile data obtained for predicted encounters of the user according to one embodiment of the present disclosure.
  • the system 10 includes a Mobile Aggregate Profile (MAP) server 12 , one or more profile servers 14 , a location server 16 , a number of mobile devices 18 - 1 through 18 -N having associated users 20 - 1 through 20 -N, a content consumption device (CCD) 22 having an associated user 24 , and one or more recommendation services 26 communicatively coupled via a network 28 .
  • the network 28 may be any type of network or any combination of networks. Specifically, the network 28 may include wired components, wireless components, or both wired and wireless components.
  • the network 28 is a distributed public network such as the Internet, where the mobile devices 18 - 1 through 18 -N are enabled to connect to the network 28 via local wireless connections (e.g., WiFi or IEEE 802.11 connections) or wireless telecommunications connections (e.g., 3G or 4G telecommunications connections such as GSM, LTE, W-CDMA, or WiMAX connections).
  • local wireless connections e.g., WiFi or IEEE 802.11 connections
  • wireless telecommunications connections e.g., 3G or 4G telecommunications connections such as GSM, LTE, W-CDMA, or WiMAX connections.
  • the MAP server 12 operates to obtain current locations, including location updates, and user profiles of the users 20 - 1 through 20 -N of the mobile devices 18 - 1 through 18 -N.
  • the current locations of the users 20 - 1 through 20 -N can be expressed as positional geographic coordinates such as latitude-longitude pairs, and a height vector (if applicable), or any other similar information capable of identifying a given physical point in space in a two-dimensional or three-dimensional coordinate system.
  • the MAP server 12 is enabled to provide a number of features.
  • the MAP server 12 operates to predict encounters between users such as the users 20 - 1 through 20 -N and 24 and generate or otherwise obtain aggregate profile data for the predicted encounters.
  • the aggregate profile data can be used to provide content recommendations in advance of the predicted encounters.
  • the MAP server 12 may provide features such as, but not limited to, maintaining a historical record of anonymized user profile data by location, generating aggregate profile data over time for a Point of Interest (POI) or Area of Interest (AOI) using the historical record of anonymized user profile data, identifying crowds of users using current locations and/or user profiles of the users 20 - 1 through 20 -N, generating aggregate profiles for crowds of users at a POI or in an AOI using the current user profiles of users in the crowds, and crowd tracking. While not essential for understanding the concepts of this disclosure, for more information regarding these features, the interested reader is directed to U.S. patent application Ser. No.
  • MAP server 12 12/645,560 entitled HANDLING CROWD REQUESTS FOR LARGE GEOGRAPHIC AREAS, all of which were filed on Dec. 23, 2009 and are hereby incorporated herein by reference in their entireties.
  • MAP server 12 is illustrated as a single server for simplicity and ease of discussion, it should be appreciated that the MAP server 12 may be implemented as a single physical server or multiple physical servers operating in a collaborative manner for purposes of redundancy and/or load sharing.
  • the one or more profile servers 14 operate to store user profiles for a number of persons including the users 20 - 1 through 20 -N of the mobile devices 18 - 1 through 18 -N.
  • the one or more profile servers 14 may be servers providing social network services such as the Facebook® social networking service, the MySpace® social networking service, the LinkedIN® social networking service, and/or the like.
  • the MAP server 12 is enabled to directly or indirectly obtain the user profiles of the users 20 - 1 through 20 -N of the mobile devices 18 - 1 through 18 -N.
  • the location server 16 generally operates to receive location updates from the mobile devices 18 - 1 through 18 -N and make the location updates available to entities such as, for instance, the MAP server 12 .
  • the location server 16 is a server operating to provide Yahoo!'s FireEagle service.
  • the mobile devices 18 - 1 through 18 -N may be mobile smart phones, portable media player devices, mobile gaming devices, or the like. Some exemplary mobile devices that may be programmed or otherwise configured to operate as the mobile devices 18 - 1 through 18 -N are the Apple® iPhone, the Palm Pre, the Samsung Rogue, the Blackberry Storm, and the Apple® iPod Touch® device. However, this list of exemplary mobile devices is not exhaustive and is not intended to limit the scope of the present disclosure.
  • the mobile devices 18 - 1 through 18 -N include MAP clients 30 - 1 through 30 -N, MAP applications 32 - 1 through 32 -N, third-party applications 34 - 1 through 34 -N, and location functions 36 - 1 through 36 -N, respectively.
  • the MAP client 30 - 1 is preferably implemented in software.
  • the MAP client 30 - 1 is a middleware layer operating to interface an application layer (i.e., the MAP application 32 - 1 and the third-party applications 34 - 1 ) to the MAP server 12 .
  • the MAP client 30 - 1 enables the MAP application 32 - 1 and the third-party applications 34 - 1 to request and receive data from the MAP server 12 .
  • the MAP client 30 - 1 enables applications, such as the MAP application 32 - 1 and the third-party applications 34 - 1 , to access data from the MAP server 12 .
  • the MAP client 30 - 1 may enable the MAP application 32 - 1 to request anonymized aggregate profiles for crowds of users located at a POI or within an AOI and/or request anonymized historical user profile data for a POI or AOI.
  • the MAP application 32 - 1 is also preferably implemented in software.
  • the MAP application 32 - 1 generally provides a user interface component between the user 20 - 1 and the MAP server 12 . More specifically, among other things, the MAP application 32 - 1 enables the user 20 - 1 to initiate historical requests for historical data or crowd requests for crowd data (e.g., aggregate profile data and/or crowd characteristics data) from the MAP server 12 for a POI or AOI.
  • the MAP application 32 - 1 also enables the user 20 - 1 to configure various settings.
  • the MAP application 32 - 1 may enable the user 20 - 1 to select a desired social networking service (e.g., Facebook, MySpace, LinkedIN, etc.) from which to obtain the user profile of the user 20 - 1 and provide any necessary credentials (e.g., username and password) needed to access the user profile from the social networking service.
  • a desired social networking service e.g., Facebook, MySpace, LinkedIN, etc.
  • any necessary credentials e.g., username and password
  • the third-party applications 34 - 1 are preferably implemented in software.
  • the third-party applications 34 - 1 operate to access the MAP server 12 via the MAP client 30 - 1 .
  • the third-party applications 34 - 1 may utilize data obtained from the MAP server 12 in any desired manner.
  • one of the third party applications 34 - 1 may be a gaming application that utilizes historical aggregate profile data to notify the user 20 - 1 of POIs or AOIs where persons having an interest in the game have historically congregated.
  • the location function 36 - 1 may be implemented in hardware, software, or a combination thereof. In general, the location function 36 - 1 operates to determine or otherwise obtain the location of the mobile device 18 - 1 .
  • the location function 36 - 1 may be or include a Global Positioning System (GPS) receiver.
  • GPS Global Positioning System
  • the content consumption device (CCD) 22 is a user device that enables the user 24 to consume content.
  • content is audio and/or visual content (e.g., television programs, radio programs, news articles, or the like).
  • the CCD 22 may be a set-top box that enables the user 24 to consume television content such as that provided by traditional cable television or satellite television systems (e.g., Time Warner Cable, DirectTV, or the like), where the set-top box may have Digital Video Recorder (DVR) capabilities.
  • DVR Digital Video Recorder
  • the CCD 22 may be an Internet enabled device such as, for example, a personal computer or mobile smart phone that enables the user 24 to consume content available via the Internet.
  • the content available via the Internet may be, for example, streaming video content such as that available via services such as Hulu.com or YouTube.com, streaming audio content such as streaming radio station content, news articles available via websites such as CNN.com or Yahoo.com, blogs, or the like.
  • the CCD 22 includes a smart encounters service 38 .
  • the smart encounters service 38 is preferably implemented in software, but is not limited thereto.
  • the smart encounters service 38 operates to obtain content recommendations for the user 24 based on aggregate profile data for predicted encounters between the user 24 and other users such as the users 20 - 1 through 20 -N. More specifically, as used herein, a predicted encounter is either a predicted physical encounter or a predicted remote encounter. Using the user 24 as an example, a predicted physical encounter for the user 24 is a future time, or future period of time, when the user 24 is likely to be located near one or more identified users for at least a predefined minimum amount of time (e.g., 15 minutes).
  • a predicted remote encounter for the user 24 is a future time, or future period of time, when the user 24 is likely to remotely encounter one or more identified users for at least a predefined minimum amount of time.
  • a remote encounter is generally any situation in which users can remotely interact with one another such as, for example, a telephone call or conference call, a voice or text based chat session, or the like.
  • the smart encounters service 38 generates the content recommendations locally based on the aggregate profile data.
  • the smart encounters service 38 queries the one or more recommendation services 26 using the aggregate profile data for the predicted encounters to obtain content recommendations for the user 24 .
  • the recommendation services 26 may be any known or existing service for generating content recommendations based on user profile information.
  • the content recommendations are generally recommendations for currently available content or content that will be available in the future prior to the predicted encounter for which the content recommendations are obtained.
  • system 10 of FIG. 1 illustrates an embodiment where the one or more profile servers 14 and the location server 16 are separate from the MAP server 12 , the present disclosure is not limited thereto. In an alternative embodiment, the functionality of the one or more profile servers 14 and/or the location server 16 may be implemented within the MAP server 12 .
  • FIG. 2 is a block diagram of the MAP server 12 of FIG. 1 according to one embodiment of the present disclosure.
  • the MAP server 12 includes an application layer 40 , a business logic layer 42 , and a persistence layer 44 .
  • the application layer 40 includes a user web application 46 , a mobile client/server protocol component 48 , and one or more data Application Programming Interfaces (APIs) 50 .
  • the user web application 46 is preferably implemented in software and operates to provide a web interface for accessing the MAP server 12 via a web browser.
  • the mobile client/server protocol component 48 is preferably implemented in software and operates to provide an interface between the MAP server 12 and the MAP clients 30 - 1 through 30 -N hosted by the mobile devices 18 - 1 through 18 -N.
  • the data APIs 50 enable third-party services to access the MAP server 12 .
  • the smart encounters service 38 is a third-party service that accesses the MAP server via the data APIs 50 .
  • the business logic layer 42 includes a profile manager 52 , a location manager 54 , a history manager 56 , a crowd analyzer 58 , an aggregation engine 60 , and a prediction engine 62 , each of which is preferably implemented in software.
  • the profile manager 52 generally operates to obtain the user profiles of the users 20 - 1 through 20 -N directly or indirectly from the one or more profile servers 14 and store the user profiles in the persistence layer 44 .
  • the location manager 54 operates to obtain the current locations of the users 20 - 1 through 20 -N including location updates. As discussed below, the current locations of the users 20 - 1 through 20 -N may be obtained directly from the mobile devices 18 - 1 through 18 -N and/or obtained from the location server 16 .
  • the history manager 56 generally operates to maintain a historical record of anonymized user profile data by location. However, in this embodiment, the history manager 56 may also operate to maintain historical records of the locations of the users 20 - 1 through 20 -N, where the historical records may be used to predict future locations of the users 20 - 1 through 20 -N.
  • the crowd analyzer 58 operates to form crowds of users. In one embodiment, the crowd analyzer 58 utilizes a spatial crowd formation algorithm. However, the present disclosure is not limited thereto. In addition, the crowd analyzer 58 may further characterize crowds to reflect degree of fragmentation, best-case and worst-case degree of separation (DOS), and/or degree of bi-directionality of relationship. Still further, the crowd analyzer 58 may also operate to track crowds.
  • the aggregation engine 60 generally operates to provide aggregate profile data in response to requests from the mobile devices 18 - 1 through 18 -N and the smart encounters service 38 .
  • the prediction engine 62 generally operates to predict encounters between users in response to requests from smart encounters services, such as the smart encounters service 38 , as discussed below in detail.
  • the persistence layer 44 includes an object mapping layer 64 and a datastore 66 .
  • the object mapping layer 64 is preferably implemented in software.
  • the datastore 66 is preferably a relational database, which is implemented in a combination of hardware (i.e., physical data storage hardware) and software (i.e., relational database software).
  • the business logic layer 42 is implemented in an object-oriented programming language such as, for example, Java.
  • the object mapping layer 64 operates to map objects used in the business logic layer 42 to relational database entities stored in the datastore 66 .
  • data is stored in the datastore 66 in a Resource Description Framework (RDF) compatible format.
  • RDF Resource Description Framework
  • the datastore 66 may be implemented as an RDF datastore. More specifically, the RDF datastore may be compatible with RDF technology adopted by Semantic Web activities. Namely, the RDF datastore may use the Friend-Of-A-Friend (FOAF) vocabulary for describing people, their social networks, and their interests.
  • the MAP server 12 may be designed to accept raw FOAF files describing persons, their friends, and their interests. These FOAF files are currently output by some social networking services such as Livejournal and Facebook. The MAP server 12 may then persist RDF descriptions of the users 20 - 1 through 20 -N as a proprietary extension of the FOAF vocabulary that includes additional properties desired for the system 10 .
  • FIG. 3 illustrates the MAP client 30 - 1 of FIG. 1 in more detail according to one embodiment of the present disclosure. This discussion is equally applicable to the other MAP clients 30 - 2 through 30 -N.
  • the MAP client 30 - 1 includes a MAP access API 68 , a MAP middleware component 70 , and a mobile client/server protocol component 72 .
  • the MAP access API 68 is implemented in software and provides an interface by which the MAP client 30 - 1 and the third-party applications 34 - 1 are enabled to access the MAP server 12 .
  • the MAP middleware component 70 is implemented in software and performs the operations needed for the MAP client 30 - 1 to operate as an interface between the MAP application 32 - 1 and the third-party applications 34 - 1 at the mobile device 18 - 1 and the MAP server 12 .
  • the mobile client/server protocol component 72 enables communication between the MAP client 30 - 1 and the MAP server 12 via a defined protocol.
  • FIG. 4 illustrates the operation of the system 10 of FIG. 1 to provide the user profile of the user 20 - 1 of the mobile device 18 - 1 to the MAP server 12 according to one embodiment of the present disclosure.
  • This discussion is equally applicable to user profiles of the other users 20 - 2 through 20 -N of the other mobile devices 18 - 2 through 18 -N.
  • an authentication process is performed (step 1000 ).
  • the mobile device 18 - 1 authenticates with the profile server 14 (step 1000 A) and the MAP server 12 (step 1000 B).
  • the MAP server 12 authenticates with the profile server 14 (step 1000 C).
  • authentication is performed using OpenID or similar technology.
  • authentication may alternatively be performed using separate credentials (e.g., username and password) of the user 20 - 1 for access to the MAP server 12 and the profile server 14 .
  • the profile server 14 returns an authentication succeeded message to the MAP server 12 (step 1000 D), and the profile server 14 returns an authentication succeeded message to the MAP client 30 - 1 of the mobile device 18 - 1 (step 1000 E).
  • a user profile process is performed such that a user profile of the user 20 - 1 is obtained from the profile server 14 and delivered to the MAP server 12 (step 1002 ).
  • the MAP client 30 - 1 of the mobile device 18 - 1 sends a profile request to the profile server 14 (step 1002 A).
  • the profile server 14 returns the user profile of the user 20 - 1 to the mobile device 18 - 1 (step 1002 B).
  • the MAP client 30 - 1 of the mobile device 18 - 1 then sends the user profile of the user 20 - 1 to the MAP server 12 (step 1002 C).
  • the MAP client 30 - 1 may filter the user profile of the user 20 - 1 according to criteria specified by the user 20 - 1 .
  • the user profile of the user 20 - 1 may include demographic information, general interests, music interests, and movie interests, and the user 20 - 1 may specify that the demographic information or some subset thereof is to be filtered, or removed, before sending the user profile to the MAP server 12 .
  • the profile manager 52 of the MAP server 12 Upon receiving the user profile of the user 20 - 1 from the MAP client 30 - 1 of the mobile device 18 - 1 , the profile manager 52 of the MAP server 12 processes the user profile (step 1002 D). More specifically, in the preferred embodiment, the profile manager 52 includes social network handlers for the social network services supported by the MAP server 12 . Thus, for example, if the MAP server 12 supports user profiles from Facebook, MySpace, and LinkedIN, the profile manager 52 may include a Facebook handler, a MySpace handler, and a LinkedIN handler. The social network handlers process user profiles to generate user profiles for the MAP server 12 that include lists of keywords for each of a number of profile categories.
  • the profile categories may be the same for each of the social network handlers or different for each of the social network handlers.
  • the user profile of the user 20 - 1 is from Facebook.
  • the profile manager 52 uses a Facebook handler to process the user profile of the user 20 - 1 to map the user profile of the user 20 - 1 from Facebook to a user profile for the MAP server 12 including lists of keywords for a number of predefined profile categories.
  • the profile categories may be a demographic profile category, a social interaction profile category, a general interests profile category, a music interests profile category, and a movie interests profile category.
  • the user profile of the user 20 - 1 from Facebook may be processed by the Facebook handler of the profile manager 52 to create a list of keywords such as, for example, liberal, High School graduate, 35 - 44 , College graduate, etc. for the demographic profile category, a list of keywords such as Seeking Friendship for the social interaction profile category, a list of keywords such as politics, technology, photography, books, etc. for the general interests profile category, a list of keywords including music genres, artist names, album names, or the like for the music interests profile category, and a list of keywords including movie titles, actor or actress names, director names, move genres, or the like for the movie interests profile category.
  • the profile manager 52 may use natural language processing or semantic analysis. For example, if the Facebook user profile of the user 20 - 1 states that the user 20 - 1 is 20 years old, semantic analysis may result in the keyword of 18-24 years old being stored in the user profile of the user 20 - 1 for the MAP server 12 .
  • the profile manager 52 of the MAP server 12 After processing the user profile of the user 20 - 1 , the profile manager 52 of the MAP server 12 stores the resulting user profile for the user 20 - 1 (step 1002 E). More specifically, in one embodiment, the MAP server 12 stores user records for the users 20 - 1 through 20 -N in the datastore 66 ( FIG. 2 ). The user profile of the user 20 - 1 is stored in the user record of the user 20 - 1 .
  • the user record of the user 20 - 1 includes a unique identifier of the user 20 - 1 , the user profile of the user 20 - 1 , and, as discussed below, a current location of the user 20 - 1 . Note that the user profile of the user 20 - 1 may be updated as desired. For example, in one embodiment, the user profile of the user 20 - 1 is updated by repeating step 1002 each time the user 20 - 1 activates the MAP application 32 - 1 .
  • the user profiles of the users 20 - 1 through 20 -N may be obtained in any desired manner.
  • the user 20 - 1 may identify one or more favorite websites.
  • the profile manager 52 of the MAP server 12 may then crawl the one or more favorite websites of the user 20 - 1 to obtain keywords appearing in the one or more favorite websites of the user 20 - 1 . These keywords may then be stored as the user profile of the user 20 - 1 .
  • a process is performed such that a current location of the mobile device 18 - 1 and thus a current location of the user 20 - 1 is obtained by the MAP server 12 (step 1004 ).
  • the MAP application 32 - 1 of the mobile device 18 - 1 obtains the current location of the mobile device 18 - 1 from the location function 36 - 1 of the mobile device 18 - 1 .
  • the MAP application 32 - 1 then provides the current location of the mobile device 18 - 1 to the MAP client 30 - 1
  • the MAP client 30 - 1 then provides the current location of the mobile device 18 - 1 to the MAP server 12 (step 1004 A).
  • step 1004 A may be repeated periodically or in response to a change in the current location of the mobile device 18 - 1 in order for the MAP application 32 - 1 to provide location updates for the user 20 - 1 to the MAP server 12 .
  • the location manager 54 of the MAP server 12 stores the current location of the mobile device 18 - 1 as the current location of the user 20 - 1 (step 1004 B). More specifically, in one embodiment, the current location of the user 20 - 1 is stored in the user record of the user 20 - 1 maintained in the datastore 66 of the MAP server 12 . In one embodiment, only the current location of the user 20 - 1 is stored in the user record of the user 20 - 1 . In this manner, the MAP server 12 maintains privacy for the user 20 - 1 since the MAP server 12 does not maintain a historical record of the location of the user 20 - 1 .
  • a historical record of the location of the user 20 - 1 may be maintained by the history manager 56 within the user record of the user 20 - 1 or as a separate record.
  • the historical record of the location of the user 20 - 1 may be utilized by the prediction engine 62 to predict encounters between the user 20 - 1 and other user(s) in the future.
  • the location manager 54 sends the current location of the user 20 - 1 to the location server 16 (step 1004 C).
  • the MAP server 12 in return receives location updates for the user 20 - 1 from the location server 16 .
  • the MAP application 32 - 1 will not be able to provide location updates for the user 20 - 1 to the MAP server 12 unless the MAP application 32 - 1 is active.
  • step 1006 the location server 16 receives a location update for the user 20 - 1 directly or indirectly from another application running on the mobile device 18 - 1 or an application running on another device of the user 20 - 1 (step 1006 A).
  • the location server 16 then provides the location update for the user 20 - 1 to the MAP server 12 (step 1006 B).
  • the location manager 54 updates and stores the current location of the user 20 - 1 in the user record of the user 20 - 1 (step 1006 C).
  • the MAP server 12 is enabled to obtain location updates for the user 20 - 1 even when the MAP application 32 - 1 is not active at the mobile device 18 - 1 .
  • FIG. 5 illustrates the operation of the system 10 of FIG. 1 to provide the user profile of the user 20 - 1 of the mobile device 18 - 1 according to another embodiment of the present disclosure.
  • This discussion is equally applicable to user profiles of the other users 20 - 2 through 20 -N of the other mobile devices 18 - 2 through 18 -N.
  • an authentication process is performed (step 1100 ).
  • the mobile device 18 - 1 authenticates with the MAP server 12 (step 1100 A), and the MAP server 12 authenticates with the profile server 14 (step 1100 B).
  • authentication is performed using OpenID or similar technology.
  • authentication may alternatively be performed using separate credentials (e.g., username and password) of the user 20 - 1 for access to the MAP server 12 and the profile server 14 .
  • the profile server 14 returns an authentication succeeded message to the MAP server 12 (step 1100 C)
  • the MAP server 12 returns an authentication succeeded message to the MAP client 30 - 1 of the mobile device 18 - 1 (step 1100 D).
  • a user profile process is performed such that a user profile of the user 20 - 1 is obtained from the profile server 14 and delivered to the MAP server 12 (step 1102 ).
  • the profile manager 52 of the MAP server 12 sends a profile request to the profile server 14 (step 1102 A).
  • the profile server 14 returns the user profile of the user 20 - 1 to the profile manager 52 of the MAP server 12 (step 1102 B).
  • the profile server 14 may return a filtered version of the user profile of the user 20 - 1 to the MAP server 12 .
  • the profile server 14 may filter the user profile of the user 20 - 1 according to criteria specified by the user 20 - 1 .
  • the user profile of the user 20 - 1 may include demographic information, general interests, music interests, and movie interests, and the user 20 - 1 may specify that the demographic information or some subset thereof is to be filtered, or removed, before sending the user profile to the MAP server 12 .
  • the profile manager 52 of the MAP server 12 Upon receiving the user profile of the user 20 - 1 , the profile manager 52 of the MAP server 12 processes the user profile (step 1102 C). More specifically, as discussed above, in the preferred embodiment, the profile manager 52 includes social network handlers for the social network services supported by the MAP server 12 .
  • the social network handlers process user profiles to generate user profiles for the MAP server 12 that include lists of keywords for each of a number of profile categories.
  • the profile categories may be the same for each of the social network handlers or different for each of the social network handlers.
  • the profile manager 52 of the MAP server 12 After processing the user profile of the user 20 - 1 , the profile manager 52 of the MAP server 12 stores the resulting user profile for the user 20 - 1 (step 1102 D). More specifically, in one embodiment, the MAP server 12 stores user records for the users 20 - 1 through 20 -N in the datastore 66 ( FIG. 2 ). The user profile of the user 20 - 1 is stored in the user record of the user 20 - 1 .
  • the user record of the user 20 - 1 includes a unique identifier of the user 20 - 1 , the user profile of the user 20 - 1 , and, as discussed below, a current location of the user 20 - 1 . Note that the user profile of the user 20 - 1 may be updated as desired. For example, in one embodiment, the user profile of the user 20 - 1 is updated by repeating step 1102 each time the user 20 - 1 activates the MAP application 32 - 1 .
  • the user profiles of the users 20 - 1 through 20 -N may be obtained in any desired manner.
  • the user 20 - 1 may identify one or more favorite websites.
  • the profile manager 52 of the MAP server 12 may then crawl the one or more favorite websites of the user 20 - 1 to obtain keywords appearing in the one or more favorite websites of the user 20 - 1 . These keywords may then be stored as the user profile of the user 20 - 1 .
  • a process is performed such that a current location of the mobile device 18 - 1 and thus a current location of the user 20 - 1 is obtained by the MAP server 12 (step 1104 ).
  • the MAP application 32 - 1 of the mobile device 18 - 1 obtains the current location of the mobile device 18 - 1 from the location function 36 - 1 of the mobile device 18 - 1 .
  • the MAP application 32 - 1 then provides the current location of the user 20 - 1 of the mobile device 18 - 1 to the location server 16 (step 1104 A).
  • step 1104 A may be repeated periodically or in response to changes in the location of the mobile device 18 - 1 in order to provide location updates for the user 20 - 1 to the MAP server 12 .
  • the location server 16 then provides the current location of the user 20 - 1 to the MAP server 12 (step 1104 B).
  • the location server 16 may provide the current location of the user 20 - 1 to the MAP server 12 automatically in response to receiving the current location of the user 20 - 1 from the mobile device 18 - 1 or in response to a request from the MAP server 12 .
  • the location manager 54 of the MAP server 12 stores the current location of the mobile device 18 - 1 as the current location of the user 20 - 1 (step 1104 C). More specifically, in one embodiment, the current location of the user 20 - 1 is stored in the user record of the user 20 - 1 maintained in the datastore 66 of the MAP server 12 . In one embodiment, only the current location of the user 20 - 1 is stored in the user record of the user 20 - 1 . In this manner, the MAP server 12 maintains privacy for the user 20 - 1 since the MAP server 12 does not maintain a historical record of the location of the user 20 - 1 .
  • a historical record of the location of the user 20 - 1 may be maintained by the history manager 56 within the user record of the user 20 - 1 or as a separate record.
  • the historical record of the location of the user 20 - 1 may be utilized by the prediction engine 62 to predict encounters between the user 20 - 1 and other user(s) in the future.
  • the use of the location server 16 is particularly beneficial when the mobile device 18 - 1 does not permit background processes, which is the case for the Apple® iPhone.
  • the MAP application 32 - 1 will not provide location updates for the user 20 - 1 to the location server 16 unless the MAP application 32 - 1 is active.
  • other applications running on the mobile device 18 - 1 may provide location updates to the location server 16 for the user 20 - 1 when the MAP application 32 - 1 is not active.
  • step 1106 the location server 16 receives a location update for the user 20 - 1 from another application running on the mobile device 18 - 1 or an application running on another device of the user 20 - 1 (step 1106 A).
  • the location server 16 then provides the location update for the user 20 - 1 to the MAP server 12 (step 1106 B).
  • the location manager 54 updates and stores the current location of the user 20 - 1 in the user record of the user 20 - 1 (step 1106 C).
  • the MAP server 12 is enabled to obtain location updates for the user 20 - 1 even when the MAP application 32 - 1 is not active at the mobile device 18 - 1 .
  • FIG. 6 illustrates the operation of the system 10 of FIG. 1 to provide content recommendations to a user based on aggregate profile data for predicted encounters according to one embodiment of the present disclosure.
  • the smart encounters service 38 first obtains encounter parameters to be used to predict encounters between the user 24 and the users 20 - 1 through 20 -N and recommendation parameters to be used to obtain content recommendations based on aggregate profile data for predicted encounters for the user 24 (steps 2000 and 2002 ).
  • the encounter parameters may include a parameter defining a minimum amount of time for an encounter.
  • the minimum amount of time for an encounter defines a minimum amount of time that a user must be predicted to be at or near the same location of the user 24 or remotely interacting with the user 24 before that user is said to be part of a predicted encounter with the user 24 .
  • the encounter parameters may include a spatial granularity parameter defining a spatial granularity for predicting physical encounters.
  • the spatial granularity may be defined such that users predicted to be at the same physical address as the user 24 form a predicted physical encounter with the user 24 .
  • the spatial granularity may be defined such that users having predicted future locations within a defined distance from a predicted future location of the user 24 form an encounter with the user 24 .
  • the encounter parameters are configurable by the user 24 .
  • the encounter parameters are system-defined and either programmed into or stored by the prediction engine 62 , in which case step 2000 is not needed.
  • the recommendation parameters are optional and may include an encounter location parameter, an encounter duration parameter, a social network distance parameter, a content recommendation frequency parameter, a time parameter, or one or more user profile based parameters.
  • the encounter location parameter is a recommendation parameter that is based on the location of the predicted encounter.
  • the encounter location parameter may define types of content to be recommended based on the location of the predicted encounter.
  • the content recommendations may vary depending on whether the location of the predicted encounter is at the user's work, at the user's home, near a gym, at a sports bar, or the like.
  • the encounter duration parameter is a recommendation parameter that is based on a predicted duration of the predicted encounter.
  • a social network distance parameter is a recommendation parameter that is based on an average DOS between users in the predicted encounter. Different types of content may be recommended if the users in the predicted encounter have an average DOS of 2 as compared to an average DOS of 5.
  • the content recommendation frequency parameter is a recommendation parameter that controls how often the same or highly related content is recommended. For example, the content recommendation frequency parameter may state that any movie is to be recommended only twice.
  • the time parameter is a content recommendation parameter that states that different types of content are to be recommended based on time of day or day of the week.
  • the smart encounters service 38 sends an encounter-based aggregate profile request to the MAP server 12 (step 2004 ).
  • the encounter-based aggregate profile request preferably defines a time window for the request. Alternatively, a system-defined or default time window may be used.
  • the request is initiated by the user 24 .
  • the request is initiated by the smart encounters service 38 .
  • the smart encounters service 38 may periodically send requests to the MAP server 12 and obtain corresponding content recommendations.
  • the MAP server 12 In response to the encounter-based aggregate profile request, the MAP server 12 , and more specifically the prediction engine 62 , predicts one or more encounters for the user 24 (step 2006 ). In one embodiment, the prediction engine 62 predicts one or more physical encounters for the user 24 during the time window for the request. In another embodiment, the prediction engine 62 predicts one or more remote encounters for the user 24 during the time window for the request. In yet another embodiment, the prediction engine 62 predicts one or more physical encounters and one or more remote encounters for the user 24 during the time window for the request.
  • the prediction engine 62 predicts one or more future locations of the user 24 and one or more future locations of each of at least a subset of the users 20 - 1 through 20 -N during the time window for the request.
  • the future locations of the user 24 may be predicted based on a historical record of the location of the user 24 or a schedule of the user 24 such as that maintained in an electronic calendar (e.g., Microsoft Outlook calendar, Apple iCal, or the like).
  • the MAP server 12 may obtain location updates for the location of the user 24 via the CCD 22 in a manner similar to that described above for the users 20 - 1 through 20 -N of the mobile devices 18 - 1 through 18 -N and maintain the historical record of the user 24 based thereon.
  • the user 24 may also be one of the users 20 - 1 through 20 -N, in which case the user 24 is identified as one of the users 20 - 1 through 20 -N and the corresponding historical record of the location of that user is used as the historical record of the location of the user 24 .
  • the schedule of the user 24 may be maintained on the CCD 22 via, for example, an electronic calendar.
  • the schedule of the user 24 may identify a location of each scheduled event and information identifying the other users, if any, to participate in the scheduled event.
  • the CCD 22 may then provide the schedule of the user 24 , or at least a relevant portion thereof, to the MAP server 12 .
  • the user 24 may also be one of the users 20 - 1 through 20 -N, in which case the schedule of the user 24 may be stored in a user record maintained by the MAP server 12 for that user.
  • the schedule of the user 24 may be obtained from the corresponding one of the mobile devices 18 - 1 through 18 -N, obtained from the profile servers 14 if such information is maintained by the profile servers 14 , or the like.
  • the MAP server 12 may obtain schedules of the users 20 - 1 through 20 -N.
  • Overlaps in the future locations of the user 24 and the future locations of one or more of the users 20 - 1 through 20 -N that last for at least the minimum amount of time required for predicted encounters are identified as predicted physical encounters for the user 24 .
  • the overlaps in the future locations of the user 24 and the future locations of the one or more of the users 20 - 1 through 20 -N are determined based on the spatial granularity parameter for predicted encounters.
  • the encounter-based aggregate profile request may identify tomorrow, which for this example is Friday, as the time window for the request.
  • the prediction engine 62 may then analyze the historical record of the location of the user 24 to determine that the user 24 regularly visits a particular location Fridays from 3-5 P.M. As such, prediction engine 62 identifies that particular location as a predicted, or future, location of the user 24 .
  • the prediction engine 62 analyzes the historical records of the users 20 - 1 through 20 -N to predict locations of the users 20 - 1 through 20 -N on Friday. Then, any of the users 20 - 1 through 20 -N that are predicted to be located at or sufficiently near the predicted location of the user 24 during the period of 3-5 P.M.
  • the prediction engine 62 then creates a predicted physical encounter record that identifies the other users identified for the predicted physical encounter with the user 24 and, optionally, the user 24 and/or the location of the predicted physical encounter.
  • the encounter-based aggregate profile request may identify tomorrow, which for this example is Friday, as the time window for the request.
  • the prediction engine 62 may then analyze the schedule of the user 24 for Friday to identify a particular street address as a predicted location of the user 24 from 3-5 P.M. on Friday.
  • the prediction engine 62 analyzes the schedules of the users 20 - 1 through 20 -N to determine which of the users 20 - 1 through 20 -N are scheduled to be located at the same street address as the user 24 during the period of 3-5 P.M. on Friday for at least the minimum amount of time required to be considered an encounter.
  • These other users are identified as users for a predicted physical encounter with the user 24 .
  • the prediction engine 62 then creates a predicted physical encounter record that identifies the other users identified for the physical encounter with the user 24 and, optionally, the user 24 and/or the location of the predicted physical encounter, which in this case is the street address at which the predicted physical encounter is predicted to occur.
  • the prediction engine 62 may predict one or more remote encounters for the user 24 based on a schedule of the user 24 and/or schedules of the users 20 - 1 through 20 -N. For example, if the time window for the request is tomorrow, which for this example is Friday, the prediction engine 62 may analyze the schedule of the user 24 for Friday to identify a remote encounter with one or more of the other users 20 - 1 through 20 -N.
  • the remote encounter may be, for example, a scheduled conference call between the user 20 - 1 and two or more of the users 20 - 1 through 20 -N.
  • the prediction engine 62 may analyze the schedules of the users 20 - 1 through 20 -N to identify any of the users 20 - 1 through 20 -N that have a scheduled remote encounter with the user 24 .
  • the remote encounter may be a conference call.
  • the identified users are users for the predicted remote encounter with the user.
  • the prediction engine 62 may also predict one or more remote encounters for the user 24 based on a call log of the user 24 and/or call logs of the other users 20 - 1 through 20 -N.
  • the call logs of the users 20 - 1 through 20 -N and 24 may be obtained from the mobile devices 18 - 1 through 18 -N and, if applicable, the CCD 22 and stored by the MAP server 12 .
  • the time window for the request may be tomorrow, which for this example is Friday.
  • the prediction engine 62 may analyze the call log of the user 24 and/or the call logs of the users 20 - 1 through 20 -N to determine that the user 24 regularly participates in a telephone call or a conference call with one or more of the users 20 - 1 through 20 -N on Fridays from 11A.M. until Noon. As such, the prediction engine 62 creates a predicted remote encounter between the user 24 and the one or more of the users 20 - 1 through 20 -N that regularly participate in the telephone call or conference call.
  • the MAP server 12 and more specifically the aggregation engine 60 , generates one or more aggregate profiles for each of the predicted encounters of the user 24 (step 2008 ).
  • the aggregate profiles generated for the predicted encounters for the user 24 reflect aggregate interests of the users identified for the predicted encounters with the user 24 . While discussed below in detail, in one embodiment, for each predicted encounter, the aggregation engine 60 generates a single aggregate profile for the predicted encounter. In another embodiment, for each predicted encounter, the aggregation engine 60 divides the users identified for the predicted encounter with the user 24 into a number of user groups and generates a separate aggregate profile for each of the user groups.
  • each aggregate profile includes a list of keywords and, optionally, a number of user matches for each keyword in the list of keywords and/or a ratio of user matches to a total number of users for each keyword in the list of keywords.
  • the content recommendations are obtained based on the list of keywords and, optionally, the number of user matches for each keyword and/or the ratio of user matches to a total number of users for each keyword. For instance, in one embodiment, all of the keywords in the aggregate profile for a predicted encounter are used to obtain content recommendations for content that matches those keywords. In another embodiment, the number of user matches and/or the ratio of user matches to total number of users for each keyword may be used to control the relative amounts of content recommendations for content matching those keywords. In other words, the amount of content recommendations for content matching a particular keyword may be a function of the number of user matches for that keyword and/or the ratio of the number of user matches to the total number of users for that keyword. In another embodiment, only the keyword having the M highest number of user matches or the M highest ratios of the number of user matches to the total number of users may be used to obtain the content recommendations, wherein M is an integer greater than or equal to one (1).
  • the CCD 22 is a set-top box that enables the user 24 to view television content from a television service provider, where the set-top box has an Electronic Programming Guide (EPG).
  • EPG Electronic Programming Guide
  • the smart encounters service 38 may obtain the one or more content recommendations for the user 24 by comparing the aggregate profile to metadata in the EPG describing television content that is currently available or will be available in the future prior to the corresponding predicted encounter. The smart encounters service 38 may then create content recommendations for television content that matches the aggregate profile to at least a defined threshold degree.
  • the CCD 22 has access to the one or more recommendation services 26 via the network 28 .
  • the smart encounters service 38 may query at least one of the recommendation services 26 using the aggregate profile to obtain content recommendations.
  • step 2010 and/or step 2012 may be periodically repeated in order to update the aggregate profiles in response to new or changing predicted encounters and/or to update content recommendations in response to new or changing aggregate profiles and/or newly available content.
  • each content recommendation includes a name or title of the recommended content and information enabling the user 24 to access the recommended content.
  • the information enabling the user 24 to access the recommended content may vary depending on the particular implementation and the type of recommended content.
  • the information enabling the user 24 to access the recommended content may be a Uniform Resource Locator (URL); date, time, and television channel on which the recommended content will be broadcast; or the like.
  • FIG. 7 is a flow chart illustrating step 2008 of FIG. 6 in more detail according to one embodiment of the present disclosure.
  • the aggregation engine 60 of the MAP server 12 generates a single aggregate profile for each of the one or more predicted encounters for the user 24 .
  • the aggregation engine 60 selects a next predicted encounter to process, which for the first iteration is the first predicted encounter for the user 24 (step 2100 ).
  • the aggregation engine 60 selects the next user identified for the predicted encounter with the user 24 (step 2102 ).
  • the aggregation engine 60 compares the user profile of the user identified for the predicted encounter to the user profile of the user 24 , or a select subset of the user profile of the user 24 (step 2104 ).
  • the user 24 may be enabled to select a subset of his user profile to be used for generation of the aggregate profile.
  • the user 24 may select one or more of the profile categories to be used for aggregate profile generation.
  • the aggregation engine 60 identifies matches between the user profile of the user identified for the encounter and the user profile of the user 24 or the select subset of the user profile of the user 24 .
  • the user profiles are expressed as keywords in a number of profile categories. The aggregation engine 60 may then make a list of keywords from the user profile of the user identified for the predicted encounter that match keywords in user profile of the user 24 or the select subset of the user profile of the user 24 .
  • the aggregation engine 60 determines whether there are more users identified for the encounter with the user 24 (step 2106 ). If so, the process returns to step 2102 and is repeated for the next user identified for the predicted encounter. Once all of the users identified for the predicted encounter have been processed, the aggregation engine 60 generates an aggregate profile for the predicted encounter based on data resulting from the comparisons of the user profiles of the users identified for the predicted encounter to the user profile of the user 24 or the select subset of the user profile of the user 24 (step 2108 ). In an alternative embodiment, the aggregation engine 60 generates an aggregate profile for the predicted encounter based on data resulting from the comparisons of the user profiles of the users identified for the predicted encounter to a target user profile defined or otherwise specified by the user 24 .
  • the data resulting from the comparisons is a list of matching keywords for each of the users identified for the predicted encounter.
  • the aggregate profile may then include, for each keyword in the user profile of the user 24 or the select subset of the user profile of the user 24 , a number of user matches for the keyword or a ratio of the number of user matches for the keyword to the number of users identified for the predicted encounter. Note that keywords in the user profile of the user 24 or the select subset of the user profile of the user 24 that have no user matches may be excluded from the aggregate profile.
  • the aggregate profile for the crowd may include a total number of users identified for the predicted encounter.
  • the aggregation engine 60 determines whether there are more predicted encounters to process (step 2110 ). If so, the process returns to step 2100 and is repeated for the next predicted encounter.
  • the aggregate profiles for the predicted encounters are returned to the smart encounters service 38 (step 2112 ).
  • the aggregate profiles for the predicted encounters are returned to the smart encounters service 38 one by one as the aggregate profiles are generated in step 2108 .
  • the list of predicted encounters is preferably returned to the smart encounters service 38 in step 2006 of FIG. 6 .
  • FIG. 8 is a flow chart illustrating step 2008 of FIG. 6 in more detail according to another embodiment of the present disclosure.
  • the aggregation engine 60 of the MAP server 12 generates a single aggregate profile for each of the one or more predicted encounters for the user 24 .
  • the aggregation engine 60 selects a next predicted encounter for the user 24 to process, which for the first iteration is the first predicted encounter for the user 24 (step 2200 ).
  • the aggregation engine 60 then generates an aggregate profile for the predicted encounter based on a comparison of the user profiles of the users identified for the predicted encounter to one another (step 2202 ). In this embodiment, neither the user profile of the user 24 nor a target user profile is included in the comparison.
  • the user profiles are expressed as keywords for each of a number of profile categories.
  • the aggregation engine 60 may determine an aggregate list of keywords for the predicted encounter.
  • the aggregate list of keywords is a list of all keywords appearing in the user profiles of the users identified for the predicted encounter.
  • the aggregate profile for the predicted encounter may then include a number of user matches for each keyword in the aggregate list of keywords for the predicted encounter.
  • the number of user matches for a keyword is the number of users identified for the predicted encounter having a user profile that includes that keyword.
  • the aggregate profile may include the number of user matches for all keywords in the aggregate list of keywords for the predicted encounter or the number of user matches for keywords in the aggregate list of keywords for the predicted encounter having more than a predefined number of user matches (e.g., more than 1 user match).
  • the aggregate profile may also include the number of users identified for the predicted encounter.
  • the aggregate profile may include, for each keyword in the aggregate list or each keyword in the aggregate list having more than a predefined number of user matches, a ratio of the number of user matches for the keyword to the number of users identified for the predicted encounter.
  • the aggregation engine 60 determines whether there are more predicted encounters for the user 24 to process (step 2204 ). If so, the process returns to step 2200 and is repeated for the next predicted encounter. Once aggregate profiles have been generated for all of the predicted encounters for the user 24 , the aggregate profiles for the predicted encounters are returned to the smart encounters service 38 (step 2206 ).
  • FIG. 9 is a flow chart illustrating step 2008 of FIG. 6 in more detail according to yet another embodiment of the present disclosure.
  • the aggregation engine 60 of the MAP server 12 generates an aggregate profile for each of a number of user groups for each of the one or more predicted encounters for the user 24 .
  • the aggregation engine 60 selects a next predicted encounter for the user 24 to process, which for the first iteration is the first predicted encounter for the user 24 (step 2300 ).
  • the aggregation engine 60 then divides the users identified for the predicted encounter into a number of user groups (step 2302 ).
  • the aggregation engine 60 divides the users identified for the predicted encounter into a number of user groups based on DOS in one or more social networks. In another embodiment, the aggregation engine 60 divides the users identified for the predicted encounter into a number of user groups based on the user profiles of the users. For example, users having similar user profiles may be grouped into one user group. In another example, users in close proximity to one another may be grouped into one user group.
  • the aggregation engine 60 selects the next user group for the predicted encounter, which for the first iteration is the first user group for the predicted encounter (step 2304 ).
  • the aggregation engine 60 then generates an aggregate profile for the user group for the predicted encounter (step 2306 ).
  • the aggregate profile is generated by comparing the user profile of the user 24 , or a select subset thereof, to the user profiles of the users in the user group in a manner similar to that described above with respect to FIG. 7 .
  • the resulting aggregate profile for the user group may include a list of matching keywords, a number of user matches for each of the keywords, and/or a ratio of the number of user matches to a total number of users in the user group for each of the keywords.
  • the aggregate profile may include the total number of users in the user group.
  • the aggregate profile is generated by comparing a target user profile to the user profiles of the users in the user group.
  • the aggregate profile for the user group is generated by comparing the user profiles of the users in the user group to one another in a manner similar to that described above with respect to FIG. 8 .
  • neither the user profile of the user 24 nor a target user profile is included in the comparison.
  • the resulting aggregate profile for the user group may include a list of matching keywords, a number of user matches for each of the keywords, and/or a ratio of the number of user matches to a total number of users in the user group for each of the keywords.
  • the aggregate profile may include the total number of users in the user group.
  • the aggregation engine 60 determines whether the last user group for the predicted encounter has been processed (step 2308 ). If not, the process returns to step 2304 and is repeated. Once the last user group for the predicted encounter is processed, the aggregation engine 60 determines whether the last predicted encounter has been processed (step 2310 ). If not, the process returns to step 2300 and is repeated. Once the last predicted encounter has been processed, the aggregation engine 60 returns the aggregate profiles for the user groups for each of the one or more predicted encounters to the smart encounters service 38 (step 2312 ).
  • FIG. 10 is a flow chart illustrating step 2302 of FIG. 9 in more detail according to one embodiment of the present disclosure.
  • the process of FIG. 10 may alternatively be performed by the crowd analyzer 58 , where the users identified for the predicted encounter are treated as a crowd and the crowd analyzer 58 operates to divide that crowd into a number of crowd fragments (i.e., user groups).
  • the aggregation engine 60 first creates a user group for each user identified for the predicted encounter (step 2400 ).
  • the user groups created in step 2400 each include a single user.
  • the aggregation engine 60 selects a next pair of user groups (step 2402 ) and then selects one user from each of those user groups (step 2404 ).
  • the aggregation engine 60 determines a DOS between the users from the pair of user groups (step 2406 ). More specifically, as will be appreciated by one of ordinary skill in the art, DOS is a measure of the degree to which the two users are related in a social network (e.g., the Facebook® social network, the MySpace® social network, or the LinkedIN® social network).
  • a social network e.g., the Facebook® social network, the MySpace® social network, or the LinkedIN® social network.
  • the two users have a DOS of one if one of the users is a friend of the other user, a DOS of two if one of the users is a friend of a friend of the other user, a DOS of three if one of the users is a friend of a friend of a friend of the other user, etc. If the two users are not related in a social network or have an unknown DOS, the DOS for the two users is set to a predetermined maximum value.
  • the aggregation engine 60 determines whether the DOS between the two users is less than a predefined maximum DOS for a user group (step 2408 ).
  • the predefined maximum DOS may be three. However, other maximum DOS values may be used. If the DOS between the two users is not less than the predefined maximum DOS, the process proceeds to step 2414 . If the DOS between the two users is less than the predefined maximum DOS, the aggregation engine 60 determines whether a bidirectionality requirement is satisfied (step 2410 ).
  • the bidirectionality requirement specifies whether the relationship between the two users must be bidirectional (i.e., the first user must directly or indirectly know the second user and the second user must directly or indirectly know the first user).
  • Bidirectionality may or may not be required depending on the particular embodiment. If the two users satisfy the bidirectionality requirement, the aggregation engine 60 combines the pair of user groups (step 2412 ) and the process then returns to step 2402 and is repeated for a next pair of user groups. If the two users do not satisfy the bidirectionality requirement, the process proceeds to step 2414 .
  • the aggregation engine 60 determines whether all user pairs from the two user groups have been processed (step 2414 ). If not, the process returns to step 2404 and is repeated for a new pair of users from the two user groups. If all user pairs from the two user groups have been processed, the aggregation engine 60 then determines whether all user groups have been processed (step 2416 ). If not, the process returns to step 2402 and is repeated until all user groups have been processed. Once this process is complete, the resulting user groups are the user groups for the predicted encounter.
  • FIG. 11 is an exemplary GUI 74 provided by the smart encounters service 38 according to one embodiment of the present disclosure.
  • the GUI 74 enables the user 24 to configure the time window for the smart encounters process.
  • the time window in a time period in which encounters are predicted for the user 24 .
  • the time window is April 24 th from 8:30 A.M. to 5:30 P.M.
  • the time window can be changed by the user 24 by selecting an edit button 76 .
  • the smart encounters service 38 sends an encounters-based aggregate profile request to the MAP server 12 , as discussed above.
  • the MAP server 12 determines one or more predicted encounters for the user 24 , generates aggregate profiles for the predicted encounters, and returns the aggregate profiles to the smart encounters service 38 .
  • the smart encounters service 38 enables the user 24 to view the locations of the predicted encounters and the aggregate profiles for the predicted encounters. More specifically, the GUI 74 includes a map area 78 for presenting the locations of the predicted encounters to the user 24 . In this example, there are three predicted encounters, namely, a predicted encounter 80 at the user's work location, a predicted encounter 82 at a gym that the user regularly visits, and a predicted encounter 84 at a deli that the user 24 regularly visits. As further illustrated, the GUI 74 enables the user 24 to select, for example, the predicted encounter 80 in order to view an aggregate profile 86 for the predicted encounter 80 .
  • Buttons 88 - 94 enable the user 24 to modify, or edit, corresponding keywords in the aggregate profile 86 for purposes of generating content recommendations for the predicted encounter. As such, if the user 24 modifies one of the keywords in the aggregate profile 86 , the content recommendations for the predicted encounter will also change. In addition, buttons 96 - 102 enable the user 24 to delete corresponding keywords in the aggregate profile 86 for purposes of content recommendations. Buttons 104 and 106 enable the user 24 to navigate from one predicted encounter to another. Thus, if there are multiple predicted encounters for the user 24 , the user 24 may use the buttons 104 and 106 to view the aggregate profiles and content recommendations for the different predicted encounters.
  • the GUI 74 includes a content recommendations area 108 for presenting the content recommendations for the selected predicted encounter to the user 24 .
  • the content recommendations area 108 includes a Now button 110 that, if selected, causes only content recommendations for currently available content to be presented to the user 24 and a Later button 112 that, if selected, causes only content recommendations for content that will be available at a later time to be presented to the user 24 .
  • the content recommendations area 108 also includes an All button 114 . If both the Now button 110 and the All button 114 are selected, the GUI 74 presents all content recommendations for currently available content to be presented to the user 24 .
  • the GUI 74 presents all content recommendations for content that will be available at a later time to be presented to the user 24 in the content recommendations area 108 .
  • a TV button 116 may be used in connection with the Now button 110 or Later button 118 to view content recommendations for television content that is currently available or will be later available.
  • a Web button 118 may be used in connection with the Now button 110 or Later button 118 to view content recommendations for web-based content that is currently available or will be later available.
  • a Local button 120 may be used in connection with the Now button 110 or Later button 118 to view content recommendations for locally stored content that is currently available or will be later available.
  • Buttons 122 and 124 may be used by the user 24 to scroll left or right in the content recommendations area 108 to view additional content recommendations.
  • FIG. 12 illustrates another exemplary GUI 126 that may be provided by the smart encounters service 38 according to another embodiment of the present disclosure.
  • the GUI 126 is particularly relevant to the embodiment where the CCD 22 is a mobile device, such as a mobile smart phone.
  • the smart encounters service 38 provides content recommendation alerts to the user 24 . More specifically, after obtaining a predicted encounter and an aggregate profile for the predicted encounter from the MAP server 12 , the smart encounters service 38 periodically obtains content recommendations for the predicted encounter based on the aggregate profile for the predicted encounter. When new recommended content is found, the smart encounters service 38 provides a content recommendation alert for the predicted encounter to the user 24 via the GUI 126 .
  • the GUI 126 includes an Alerts button 128 that, when selected by the user 24 , causes content recommendation alerts to be presented to the user 24 .
  • an Alerts button 128 that, when selected by the user 24 , causes content recommendation alerts to be presented to the user 24 .
  • a new content recommendation alert is presented to the user 24 .
  • Button 130 may be selected by the user 24 to access the recommended content, view information enabling the user 24 to access the recommended content, view a preview of the content, and/or view more detailed information regarding the content, depending on the particular implementation.
  • Button 132 may be selected by the user 24 to delete or otherwise remove the new alert.
  • the GUI 126 identifies the predicted encounter for which the alert is provided, which for this example is “Charlotte Meeting.”
  • a Previous Alerts button 134 may be selected by the user 24 in order to view previously received content recommendation alerts.
  • a Map button 136 may be selected by the user 24 to view a map showing a location of each of a number of predicted encounters for the user 24 .
  • a Settings button 138 may be selected by the user 24 in order to view and modify settings for the smart encounters process such as, for example, the time window for which encounters are to be predicted, encounter parameters, or recommendation parameters.
  • the settings button 138 may also be selected by the user 24 in order to view or modify settings pertaining to alerts. For example, settings can specify under what circumstances to generate an alert.
  • FIG. 13 is a block diagram of the MAP server 12 according to one embodiment of the present disclosure.
  • the MAP server 12 includes a controller 140 connected to memory 142 , one or more secondary storage devices 144 , and a communication interface 146 by a bus 148 or similar mechanism.
  • the controller 140 is a microprocessor, digital Application Specific Integrated Circuit (ASIC), Field Programmable Gate Array (FPGA), or the like.
  • the controller 140 is a microprocessor, and the application layer 40 , the business logic layer 42 , and the object mapping layer 64 ( FIG. 2 ) are implemented in software and stored in the memory 142 for execution by the controller 140 .
  • the datastore 66 FIG. 2
  • the secondary storage devices 144 are digital data storage devices such as, for example, one or more hard disk drives.
  • the communication interface 146 is a wired or wireless communication interface that communicatively couples the MAP server 12 to the network 28 ( FIG. 1 ).
  • the communication interface 146 may be an Ethernet interface, local wireless interface such as a wireless interface operating according to one of the suite of IEEE 802.11 standards, or the like.
  • FIG. 14 is a block diagram of the mobile device 18 - 1 according to one embodiment of the present disclosure. This discussion is equally applicable to the other mobile devices 18 - 2 through 18 -N.
  • the mobile device 18 - 1 includes a controller 150 connected to memory 152 , a communication interface 154 , one or more user interface components 156 , and the location function 36 - 1 by a bus 158 or similar mechanism.
  • the controller 150 is a microprocessor, digital ASIC, FPGA, or the like.
  • the controller 150 is a microprocessor, and the MAP client 30 - 1 , the MAP application 32 - 1 , and the third-party applications 34 - 1 are implemented in software and stored in the memory 152 for execution by the controller 150 .
  • the location function 36 - 1 is a hardware component such as, for example, a GPS receiver.
  • the communication interface 154 is a wireless communication interface that communicatively couples the mobile device 18 - 1 to the network 28 ( FIG. 1 ).
  • the communication interface 154 may be a local wireless interface such as a wireless interface operating according to one of the suite of IEEE 802.11 standards, a mobile communications interface such as a cellular telecommunications interface, or the like.
  • the one or more user interface components 156 include, for example, a touchscreen, a display, one or more user input components (e.g., a keypad), a speaker, or the like, or any combination thereof.
  • FIG. 15 is a block diagram of the CCD 22 according to one embodiment of the present disclosure.
  • the CCD 22 includes a controller 160 connected to memory 162 , one or more secondary storage devices 164 , a communication interface 166 , and one or more user interface components 168 by a bus 170 or similar mechanism.
  • the controller 160 is a microprocessor, digital ASIC, FPGA, or the like.
  • the controller 160 is a microprocessor, and the smart encounters service 38 ( FIG. 1 ) is implemented in software and stored in the memory 162 for execution by the controller 160 .
  • the one or more secondary storage devices 164 are digital storage devices such as, for example, one or more hard disk drives.
  • the communication interface 166 is a wired or wireless communication interface that communicatively couples the CCD 22 to the network 28 ( FIG. 1 ).
  • the communication interface 166 may be an Ethernet interface, local wireless interface such as a wireless interface operating according to one of the suite of IEEE 802.11 standards, a mobile communications interface such as a cellular telecommunications interface, an interface to a network of a television service provider, or the like.
  • the one or more user interface components 168 include, for example, a touchscreen, a display, one or more user input components (e.g., a keypad), a speaker, or the like, or any combination thereof.
  • the system 10 described herein provides substantial opportunity for variation without departing from the spirit or scope of the present disclosure.
  • the smart encounters service 38 may be implemented on each of one or more of the mobile devices 18 - 1 through 18 -N as, for instance, third-party applications 34 - 1 through 34 -N.
  • the smart encounters service 38 may be implemented on a server, such as the MAP server 12 , wherein users, such as the users 20 - 1 through 20 -N and 24 , may access the smart encounters service 38 via a custom application or a web browser.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Marketing (AREA)
  • Game Theory and Decision Science (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Automation & Control Theory (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Navigation (AREA)
  • Telephonic Communication Services (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Traffic Control Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Systems and methods for providing content recommendations to a user based on aggregate profile data of other users that the user is predicted to encounter in the future are disclosed. In general, an aggregate profile is obtained for a predicted encounter of a first user. The aggregate profile is based on user profiles of a number of second users identified for the predicted encounter. In one embodiment, the predicted encounter is a predicted physical encounter. In another embodiment, the predicted encounter is a predicted remote encounter. One or more content recommendations are then obtained for the first user based on the aggregate profile for the predicted encounter. The content recommendation may be, for example, a recommended movie, a recommended television program, a recommended news article, a recommended user-generated video (e.g., a recommended video on YouTube.com), or the like.

Description

  • This application claims the benefit of provisional patent application Ser. No. 61/163,091, filed Mar. 25, 2009, which is hereby incorporated by reference in its entirety.
  • FIELD OF THE DISCLOSURE
  • The present disclosure relates to content recommendations.
  • BACKGROUND
  • Throughout the day, a person typically encounters numerous types of people that often have varying interests. For instance, a person may encounter associates at work having an interest in popular television programs such as The Office, encounter friends at lunch that have an interest in sports, and encounter clients or customers during an afternoon conference call that have an interest in politics. During these encounters, the person desires to be able to contribute to the conversation. However, in many instances, the person will not know of the interests of the other people that the person will encounter beforehand nor will the person necessarily have knowledge of content (e.g., television programs, sporting events, political news articles) of interest to the other people the person will encounter. As such, there is a need for a system and method that provide content recommendations to a person based on aggregate interests of other persons that the person is likely to encounter in the future.
  • SUMMARY OF THE DETAILED DESCRIPTION
  • Systems and methods for providing content recommendations to a user based on aggregate profile data of other users that the user is predicted to encounter in the future are disclosed. In general, an aggregate profile is obtained for a predicted encounter of a first user. The aggregate profile is based on user profiles of a number of second users identified for the predicted encounter. In one embodiment, the predicted encounter is a predicted physical encounter. In another embodiment, the predicted encounter is a predicted remote encounter. One or more content recommendations are then obtained for the first user based on the aggregate profile for the predicted encounter. The content recommendation may be, for example, a recommended movie, a recommended television program, a recommended news article, a recommended user-generated video (e.g., a recommended video on YouTube.com), or the like.
  • Those skilled in the art will appreciate the scope of the disclosure and realize additional aspects thereof after reading the following detailed description in association with the accompanying drawings.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The accompanying drawings incorporated in and forming a part of this specification illustrate several aspects of the disclosure, and together with the description serve to explain the principles of the disclosure.
  • FIG. 1 illustrates a system that provides content recommendations to a user based on aggregate profiles of predicted encounters for the user according to one embodiment of the present disclosure;
  • FIG. 2 is a more detailed illustration of the Mobile Aggregate Profile (MAP) server of FIG. 1 according to one embodiment of the present disclosure;
  • FIG. 3 is a more detailed illustration of one of the MAP clients of FIG. 1 according to one embodiment of the present disclosure;
  • FIG. 4 illustrates the operation of the system of FIG. 1 to provide user profiles and location updates to the MAP server according to one embodiment of the present disclosure;
  • FIG. 5 illustrates the operation of the system of FIG. 1 to provide user profiles and location updates to the MAP server according to another embodiment of the present disclosure;
  • FIG. 6 illustrates the operation of the system of FIG. 1 to provide content recommendations based on aggregate profiles for predicted encounters according to one embodiment of the present disclosure;
  • FIG. 7 is a flow chart for a process for generating aggregate profiles for predicted encounters according to one embodiment of the present disclosure;
  • FIG. 8 is a flow chart for a process for generating aggregate profiles for predicted encounters according to another embodiment of the present disclosure;
  • FIG. 9 is a flow chart for a process for generating aggregate profiles for predicted encounters according to yet another embodiment of the present disclosure;
  • FIG. 10 is a flow chart for a process for dividing users identified for a predicted encounter into a number of user groups according to one embodiment of the present disclosure;
  • FIG. 11 illustrates an exemplary Graphical User Interface (GUI) provided by the smart encounters service according to one embodiment of the present disclosure;
  • FIG. 12 illustrates an exemplary GUI provided by the smart encounters service according to another embodiment of the present disclosure;
  • FIG. 13 is a block diagram of the MAP server of FIG. 1 according to one embodiment of the present disclosure;
  • FIG. 14 is a block diagram of one of the mobile devices of FIG. 1 according to one embodiment of the present disclosure; and
  • FIG. 15 is a block diagram of the content consumption device of FIG. 1 according to one embodiment of the present disclosure.
  • DETAILED DESCRIPTION
  • The embodiments set forth below represent the necessary information to enable those skilled in the art to practice the disclosure and illustrate the best mode of practicing the disclosure. Upon reading the following description in light of the accompanying drawings, those skilled in the art will understand the concepts of the disclosure and will recognize applications of these concepts not particularly addressed herein. It should be understood that these concepts and applications fall within the scope of the disclosure and the accompanying claims.
  • FIG. 1 illustrates a system 10 for providing content recommendations to a user based on aggregate profile data obtained for predicted encounters of the user according to one embodiment of the present disclosure. In this embodiment, the system 10 includes a Mobile Aggregate Profile (MAP) server 12, one or more profile servers 14, a location server 16, a number of mobile devices 18-1 through 18-N having associated users 20-1 through 20-N, a content consumption device (CCD) 22 having an associated user 24, and one or more recommendation services 26 communicatively coupled via a network 28. The network 28 may be any type of network or any combination of networks. Specifically, the network 28 may include wired components, wireless components, or both wired and wireless components. In one exemplary embodiment, the network 28 is a distributed public network such as the Internet, where the mobile devices 18-1 through 18-N are enabled to connect to the network 28 via local wireless connections (e.g., WiFi or IEEE 802.11 connections) or wireless telecommunications connections (e.g., 3G or 4G telecommunications connections such as GSM, LTE, W-CDMA, or WiMAX connections).
  • As discussed below in detail, the MAP server 12 operates to obtain current locations, including location updates, and user profiles of the users 20-1 through 20-N of the mobile devices 18-1 through 18-N. The current locations of the users 20-1 through 20-N can be expressed as positional geographic coordinates such as latitude-longitude pairs, and a height vector (if applicable), or any other similar information capable of identifying a given physical point in space in a two-dimensional or three-dimensional coordinate system. Using the current locations and user profiles of the users 20-1 through 20-N, the MAP server 12 is enabled to provide a number of features. As discussed below in detail, in this embodiment, the MAP server 12 operates to predict encounters between users such as the users 20-1 through 20-N and 24 and generate or otherwise obtain aggregate profile data for the predicted encounters. As discussed below, the aggregate profile data can be used to provide content recommendations in advance of the predicted encounters.
  • In addition, the MAP server 12 may provide features such as, but not limited to, maintaining a historical record of anonymized user profile data by location, generating aggregate profile data over time for a Point of Interest (POI) or Area of Interest (AOI) using the historical record of anonymized user profile data, identifying crowds of users using current locations and/or user profiles of the users 20-1 through 20-N, generating aggregate profiles for crowds of users at a POI or in an AOI using the current user profiles of users in the crowds, and crowd tracking. While not essential for understanding the concepts of this disclosure, for more information regarding these features, the interested reader is directed to U.S. patent application Ser. No. 12/645,535 entitled MAINTAINING A HISTORICAL RECORD OF ANONYMIZED USER PROFILE DATA BY LOCATION FOR USERS IN A MOBILE ENVIRONMENT, U.S. patent application Ser. No. 12/645,532 entitled FORMING CROWDS AND PROVIDING ACCESS TO CROWD DATA IN A MOBILE ENVIRONMENT, U.S. patent application Ser. No. 12/645,539 entitled ANONYMOUS CROWD TRACKING, U.S. patent application Ser. No. 12/645,544 entitled MODIFYING A USER'S CONTRIBUTION TO AN AGGREGATE PROFILE BASED ON TIME BETWEEN LOCATION UPDATES AND EXTERNAL EVENTS, U.S. patent application Ser. No. 12/645,546 entitled CROWD FORMATION FOR MOBILE DEVICE USERS, U.S. patent application Ser. No. 12/645,556 entitled SERVING A REQUEST FOR DATA FROM A HISTORICAL RECORD OF ANONYMIZED USER PROFILE DATA IN A MOBILE ENVIRONMENT, and U.S. patent application Ser. No. 12/645,560 entitled HANDLING CROWD REQUESTS FOR LARGE GEOGRAPHIC AREAS, all of which were filed on Dec. 23, 2009 and are hereby incorporated herein by reference in their entireties. Note that while the MAP server 12 is illustrated as a single server for simplicity and ease of discussion, it should be appreciated that the MAP server 12 may be implemented as a single physical server or multiple physical servers operating in a collaborative manner for purposes of redundancy and/or load sharing.
  • In general, the one or more profile servers 14 operate to store user profiles for a number of persons including the users 20-1 through 20-N of the mobile devices 18-1 through 18-N. For example, the one or more profile servers 14 may be servers providing social network services such as the Facebook® social networking service, the MySpace® social networking service, the LinkedIN® social networking service, and/or the like. As discussed below, using the one or more profile servers 14, the MAP server 12 is enabled to directly or indirectly obtain the user profiles of the users 20-1 through 20-N of the mobile devices 18-1 through 18-N. The location server 16 generally operates to receive location updates from the mobile devices 18-1 through 18-N and make the location updates available to entities such as, for instance, the MAP server 12. In one exemplary embodiment, the location server 16 is a server operating to provide Yahoo!'s FireEagle service.
  • The mobile devices 18-1 through 18-N may be mobile smart phones, portable media player devices, mobile gaming devices, or the like. Some exemplary mobile devices that may be programmed or otherwise configured to operate as the mobile devices 18-1 through 18-N are the Apple® iPhone, the Palm Pre, the Samsung Rogue, the Blackberry Storm, and the Apple® iPod Touch® device. However, this list of exemplary mobile devices is not exhaustive and is not intended to limit the scope of the present disclosure.
  • The mobile devices 18-1 through 18-N include MAP clients 30-1 through 30-N, MAP applications 32-1 through 32-N, third-party applications 34-1 through 34-N, and location functions 36-1 through 36-N, respectively. Using the mobile device 18-1 as an example, the MAP client 30-1 is preferably implemented in software. In general, in the preferred embodiment, the MAP client 30-1 is a middleware layer operating to interface an application layer (i.e., the MAP application 32-1 and the third-party applications 34-1) to the MAP server 12. More specifically, the MAP client 30-1 enables the MAP application 32-1 and the third-party applications 34-1 to request and receive data from the MAP server 12. In addition, the MAP client 30-1 enables applications, such as the MAP application 32-1 and the third-party applications 34-1, to access data from the MAP server 12. For example, the MAP client 30-1 may enable the MAP application 32-1 to request anonymized aggregate profiles for crowds of users located at a POI or within an AOI and/or request anonymized historical user profile data for a POI or AOI.
  • The MAP application 32-1 is also preferably implemented in software. The MAP application 32-1 generally provides a user interface component between the user 20-1 and the MAP server 12. More specifically, among other things, the MAP application 32-1 enables the user 20-1 to initiate historical requests for historical data or crowd requests for crowd data (e.g., aggregate profile data and/or crowd characteristics data) from the MAP server 12 for a POI or AOI. The MAP application 32-1 also enables the user 20-1 to configure various settings. For example, the MAP application 32-1 may enable the user 20-1 to select a desired social networking service (e.g., Facebook, MySpace, LinkedIN, etc.) from which to obtain the user profile of the user 20-1 and provide any necessary credentials (e.g., username and password) needed to access the user profile from the social networking service.
  • The third-party applications 34-1 are preferably implemented in software. The third-party applications 34-1 operate to access the MAP server 12 via the MAP client 30-1. The third-party applications 34-1 may utilize data obtained from the MAP server 12 in any desired manner. As an example, one of the third party applications 34-1 may be a gaming application that utilizes historical aggregate profile data to notify the user 20-1 of POIs or AOIs where persons having an interest in the game have historically congregated.
  • The location function 36-1 may be implemented in hardware, software, or a combination thereof. In general, the location function 36-1 operates to determine or otherwise obtain the location of the mobile device 18-1. For example, the location function 36-1 may be or include a Global Positioning System (GPS) receiver.
  • The content consumption device (CCD) 22 is a user device that enables the user 24 to consume content. As used herein, content is audio and/or visual content (e.g., television programs, radio programs, news articles, or the like). For example, the CCD 22 may be a set-top box that enables the user 24 to consume television content such as that provided by traditional cable television or satellite television systems (e.g., Time Warner Cable, DirectTV, or the like), where the set-top box may have Digital Video Recorder (DVR) capabilities. As another example, the CCD 22 may be an Internet enabled device such as, for example, a personal computer or mobile smart phone that enables the user 24 to consume content available via the Internet. The content available via the Internet may be, for example, streaming video content such as that available via services such as Hulu.com or YouTube.com, streaming audio content such as streaming radio station content, news articles available via websites such as CNN.com or Yahoo.com, blogs, or the like.
  • In this embodiment, the CCD 22 includes a smart encounters service 38. The smart encounters service 38 is preferably implemented in software, but is not limited thereto. As discussed below in detail, the smart encounters service 38 operates to obtain content recommendations for the user 24 based on aggregate profile data for predicted encounters between the user 24 and other users such as the users 20-1 through 20-N. More specifically, as used herein, a predicted encounter is either a predicted physical encounter or a predicted remote encounter. Using the user 24 as an example, a predicted physical encounter for the user 24 is a future time, or future period of time, when the user 24 is likely to be located near one or more identified users for at least a predefined minimum amount of time (e.g., 15 minutes). Similarly, a predicted remote encounter for the user 24 is a future time, or future period of time, when the user 24 is likely to remotely encounter one or more identified users for at least a predefined minimum amount of time. A remote encounter is generally any situation in which users can remotely interact with one another such as, for example, a telephone call or conference call, a voice or text based chat session, or the like.
  • In one embodiment, the smart encounters service 38 generates the content recommendations locally based on the aggregate profile data. In another embodiment, the smart encounters service 38 queries the one or more recommendation services 26 using the aggregate profile data for the predicted encounters to obtain content recommendations for the user 24. The recommendation services 26 may be any known or existing service for generating content recommendations based on user profile information. The content recommendations are generally recommendations for currently available content or content that will be available in the future prior to the predicted encounter for which the content recommendations are obtained.
  • Before proceeding, it should be noted that while the system 10 of FIG. 1 illustrates an embodiment where the one or more profile servers 14 and the location server 16 are separate from the MAP server 12, the present disclosure is not limited thereto. In an alternative embodiment, the functionality of the one or more profile servers 14 and/or the location server 16 may be implemented within the MAP server 12.
  • FIG. 2 is a block diagram of the MAP server 12 of FIG. 1 according to one embodiment of the present disclosure. As illustrated, the MAP server 12 includes an application layer 40, a business logic layer 42, and a persistence layer 44. The application layer 40 includes a user web application 46, a mobile client/server protocol component 48, and one or more data Application Programming Interfaces (APIs) 50. The user web application 46 is preferably implemented in software and operates to provide a web interface for accessing the MAP server 12 via a web browser. The mobile client/server protocol component 48 is preferably implemented in software and operates to provide an interface between the MAP server 12 and the MAP clients 30-1 through 30-N hosted by the mobile devices 18-1 through 18-N. The data APIs 50 enable third-party services to access the MAP server 12. In one embodiment, the smart encounters service 38 is a third-party service that accesses the MAP server via the data APIs 50.
  • The business logic layer 42 includes a profile manager 52, a location manager 54, a history manager 56, a crowd analyzer 58, an aggregation engine 60, and a prediction engine 62, each of which is preferably implemented in software. The profile manager 52 generally operates to obtain the user profiles of the users 20-1 through 20-N directly or indirectly from the one or more profile servers 14 and store the user profiles in the persistence layer 44. The location manager 54 operates to obtain the current locations of the users 20-1 through 20-N including location updates. As discussed below, the current locations of the users 20-1 through 20-N may be obtained directly from the mobile devices 18-1 through 18-N and/or obtained from the location server 16.
  • The history manager 56 generally operates to maintain a historical record of anonymized user profile data by location. However, in this embodiment, the history manager 56 may also operate to maintain historical records of the locations of the users 20-1 through 20-N, where the historical records may be used to predict future locations of the users 20-1 through 20-N. The crowd analyzer 58 operates to form crowds of users. In one embodiment, the crowd analyzer 58 utilizes a spatial crowd formation algorithm. However, the present disclosure is not limited thereto. In addition, the crowd analyzer 58 may further characterize crowds to reflect degree of fragmentation, best-case and worst-case degree of separation (DOS), and/or degree of bi-directionality of relationship. Still further, the crowd analyzer 58 may also operate to track crowds. The aggregation engine 60 generally operates to provide aggregate profile data in response to requests from the mobile devices 18-1 through 18-N and the smart encounters service 38. The prediction engine 62 generally operates to predict encounters between users in response to requests from smart encounters services, such as the smart encounters service 38, as discussed below in detail.
  • The persistence layer 44 includes an object mapping layer 64 and a datastore 66. The object mapping layer 64 is preferably implemented in software. The datastore 66 is preferably a relational database, which is implemented in a combination of hardware (i.e., physical data storage hardware) and software (i.e., relational database software). In this embodiment, the business logic layer 42 is implemented in an object-oriented programming language such as, for example, Java. As such, the object mapping layer 64 operates to map objects used in the business logic layer 42 to relational database entities stored in the datastore 66. Note that, in one embodiment, data is stored in the datastore 66 in a Resource Description Framework (RDF) compatible format.
  • In an alternative embodiment, rather than being a relational database, the datastore 66 may be implemented as an RDF datastore. More specifically, the RDF datastore may be compatible with RDF technology adopted by Semantic Web activities. Namely, the RDF datastore may use the Friend-Of-A-Friend (FOAF) vocabulary for describing people, their social networks, and their interests. In this embodiment, the MAP server 12 may be designed to accept raw FOAF files describing persons, their friends, and their interests. These FOAF files are currently output by some social networking services such as Livejournal and Facebook. The MAP server 12 may then persist RDF descriptions of the users 20-1 through 20-N as a proprietary extension of the FOAF vocabulary that includes additional properties desired for the system 10.
  • FIG. 3 illustrates the MAP client 30-1 of FIG. 1 in more detail according to one embodiment of the present disclosure. This discussion is equally applicable to the other MAP clients 30-2 through 30-N. As illustrated, in this embodiment, the MAP client 30-1 includes a MAP access API 68, a MAP middleware component 70, and a mobile client/server protocol component 72. The MAP access API 68 is implemented in software and provides an interface by which the MAP client 30-1 and the third-party applications 34-1 are enabled to access the MAP server 12. The MAP middleware component 70 is implemented in software and performs the operations needed for the MAP client 30-1 to operate as an interface between the MAP application 32-1 and the third-party applications 34-1 at the mobile device 18-1 and the MAP server 12. The mobile client/server protocol component 72 enables communication between the MAP client 30-1 and the MAP server 12 via a defined protocol.
  • FIG. 4 illustrates the operation of the system 10 of FIG. 1 to provide the user profile of the user 20-1 of the mobile device 18-1 to the MAP server 12 according to one embodiment of the present disclosure. This discussion is equally applicable to user profiles of the other users 20-2 through 20-N of the other mobile devices 18-2 through 18-N. First, an authentication process is performed (step 1000). For authentication, in this embodiment, the mobile device 18-1 authenticates with the profile server 14 (step 1000A) and the MAP server 12 (step 1000B). In addition, the MAP server 12 authenticates with the profile server 14 (step 1000C). Preferably, authentication is performed using OpenID or similar technology. However, authentication may alternatively be performed using separate credentials (e.g., username and password) of the user 20-1 for access to the MAP server 12 and the profile server 14. Assuming that authentication is successful, the profile server 14 returns an authentication succeeded message to the MAP server 12 (step 1000D), and the profile server 14 returns an authentication succeeded message to the MAP client 30-1 of the mobile device 18-1 (step 1000E).
  • At some point after authentication is complete, a user profile process is performed such that a user profile of the user 20-1 is obtained from the profile server 14 and delivered to the MAP server 12 (step 1002). In this embodiment, the MAP client 30-1 of the mobile device 18-1 sends a profile request to the profile server 14 (step 1002A). In response, the profile server 14 returns the user profile of the user 20-1 to the mobile device 18-1 (step 1002B). The MAP client 30-1 of the mobile device 18-1 then sends the user profile of the user 20-1 to the MAP server 12 (step 1002C). Note that while in this embodiment the MAP client 30-1 sends the complete user profile of the user 20-1 to the MAP server 12, in an alternative embodiment, the MAP client 30-1 may filter the user profile of the user 20-1 according to criteria specified by the user 20-1. For example, the user profile of the user 20-1 may include demographic information, general interests, music interests, and movie interests, and the user 20-1 may specify that the demographic information or some subset thereof is to be filtered, or removed, before sending the user profile to the MAP server 12.
  • Upon receiving the user profile of the user 20-1 from the MAP client 30-1 of the mobile device 18-1, the profile manager 52 of the MAP server 12 processes the user profile (step 1002D). More specifically, in the preferred embodiment, the profile manager 52 includes social network handlers for the social network services supported by the MAP server 12. Thus, for example, if the MAP server 12 supports user profiles from Facebook, MySpace, and LinkedIN, the profile manager 52 may include a Facebook handler, a MySpace handler, and a LinkedIN handler. The social network handlers process user profiles to generate user profiles for the MAP server 12 that include lists of keywords for each of a number of profile categories. The profile categories may be the same for each of the social network handlers or different for each of the social network handlers. Thus, for this example assume that the user profile of the user 20-1 is from Facebook. The profile manager 52 uses a Facebook handler to process the user profile of the user 20-1 to map the user profile of the user 20-1 from Facebook to a user profile for the MAP server 12 including lists of keywords for a number of predefined profile categories. For example, for the Facebook handler, the profile categories may be a demographic profile category, a social interaction profile category, a general interests profile category, a music interests profile category, and a movie interests profile category. As such, the user profile of the user 20-1 from Facebook may be processed by the Facebook handler of the profile manager 52 to create a list of keywords such as, for example, liberal, High School Graduate, 35-44, College Graduate, etc. for the demographic profile category, a list of keywords such as Seeking Friendship for the social interaction profile category, a list of keywords such as politics, technology, photography, books, etc. for the general interests profile category, a list of keywords including music genres, artist names, album names, or the like for the music interests profile category, and a list of keywords including movie titles, actor or actress names, director names, move genres, or the like for the movie interests profile category. In one embodiment, the profile manager 52 may use natural language processing or semantic analysis. For example, if the Facebook user profile of the user 20-1 states that the user 20-1 is 20 years old, semantic analysis may result in the keyword of 18-24 years old being stored in the user profile of the user 20-1 for the MAP server 12.
  • After processing the user profile of the user 20-1, the profile manager 52 of the MAP server 12 stores the resulting user profile for the user 20-1 (step 1002E). More specifically, in one embodiment, the MAP server 12 stores user records for the users 20-1 through 20-N in the datastore 66 (FIG. 2). The user profile of the user 20-1 is stored in the user record of the user 20-1. The user record of the user 20-1 includes a unique identifier of the user 20-1, the user profile of the user 20-1, and, as discussed below, a current location of the user 20-1. Note that the user profile of the user 20-1 may be updated as desired. For example, in one embodiment, the user profile of the user 20-1 is updated by repeating step 1002 each time the user 20-1 activates the MAP application 32-1.
  • Note that the while the discussion herein focuses on an embodiment where the user profiles of the users 20-1 through 20-N are obtained from the one or more profile servers 14, the user profiles of the users 20-1 through 20-N may be obtained in any desired manner. For example, in one alternative embodiment, the user 20-1 may identify one or more favorite websites. The profile manager 52 of the MAP server 12 may then crawl the one or more favorite websites of the user 20-1 to obtain keywords appearing in the one or more favorite websites of the user 20-1. These keywords may then be stored as the user profile of the user 20-1.
  • At some point, a process is performed such that a current location of the mobile device 18-1 and thus a current location of the user 20-1 is obtained by the MAP server 12 (step 1004). In this embodiment, the MAP application 32-1 of the mobile device 18-1 obtains the current location of the mobile device 18-1 from the location function 36-1 of the mobile device 18-1. The MAP application 32-1 then provides the current location of the mobile device 18-1 to the MAP client 30-1, and the MAP client 30-1 then provides the current location of the mobile device 18-1 to the MAP server 12 (step 1004A). Note that step 1004A may be repeated periodically or in response to a change in the current location of the mobile device 18-1 in order for the MAP application 32-1 to provide location updates for the user 20-1 to the MAP server 12.
  • In response to receiving the current location of the mobile device 18-1, the location manager 54 of the MAP server 12 stores the current location of the mobile device 18-1 as the current location of the user 20-1 (step 1004B). More specifically, in one embodiment, the current location of the user 20-1 is stored in the user record of the user 20-1 maintained in the datastore 66 of the MAP server 12. In one embodiment, only the current location of the user 20-1 is stored in the user record of the user 20-1. In this manner, the MAP server 12 maintains privacy for the user 20-1 since the MAP server 12 does not maintain a historical record of the location of the user 20-1. However, in another embodiment, a historical record of the location of the user 20-1 may be maintained by the history manager 56 within the user record of the user 20-1 or as a separate record. The historical record of the location of the user 20-1 may be utilized by the prediction engine 62 to predict encounters between the user 20-1 and other user(s) in the future.
  • In addition to storing the current location of the user 20-1, the location manager 54 sends the current location of the user 20-1 to the location server 16 (step 1004C). In this embodiment, by providing location updates to the location server 16, the MAP server 12 in return receives location updates for the user 20-1 from the location server 16. This is particularly beneficial when the mobile device 18-1 does not permit background processes, which is the case for the Apple® iPhone. As such, if the mobile device 18-1 is an Apple® iPhone or similar device that does not permit background processes, the MAP application 32-1 will not be able to provide location updates for the user 20-1 to the MAP server 12 unless the MAP application 32-1 is active.
  • Therefore, when the MAP application 32-1 is not active, other applications running on the mobile device 18-1 (or some other device of the user 20-1) may directly or indirectly provide location updates to the location server 16 for the user 20-1. This is illustrated in step 1006 where the location server 16 receives a location update for the user 20-1 directly or indirectly from another application running on the mobile device 18-1 or an application running on another device of the user 20-1 (step 1006A). The location server 16 then provides the location update for the user 20-1 to the MAP server 12 (step 1006B). In response, the location manager 54 updates and stores the current location of the user 20-1 in the user record of the user 20-1 (step 1006C). In this manner, the MAP server 12 is enabled to obtain location updates for the user 20-1 even when the MAP application 32-1 is not active at the mobile device 18-1.
  • FIG. 5 illustrates the operation of the system 10 of FIG. 1 to provide the user profile of the user 20-1 of the mobile device 18-1 according to another embodiment of the present disclosure. This discussion is equally applicable to user profiles of the other users 20-2 through 20-N of the other mobile devices 18-2 through 18-N. First, an authentication process is performed (step 1100). For authentication, in this embodiment, the mobile device 18-1 authenticates with the MAP server 12 (step 1100A), and the MAP server 12 authenticates with the profile server 14 (step 1100B). Preferably, authentication is performed using OpenID or similar technology. However, authentication may alternatively be performed using separate credentials (e.g., username and password) of the user 20-1 for access to the MAP server 12 and the profile server 14. Assuming that authentication is successful, the profile server 14 returns an authentication succeeded message to the MAP server 12 (step 1100C), and the MAP server 12 returns an authentication succeeded message to the MAP client 30-1 of the mobile device 18-1 (step 1100D).
  • At some point after authentication is complete, a user profile process is performed such that a user profile of the user 20-1 is obtained from the profile server 14 and delivered to the MAP server 12 (step 1102). In this embodiment, the profile manager 52 of the MAP server 12 sends a profile request to the profile server 14 (step 1102A). In response, the profile server 14 returns the user profile of the user 20-1 to the profile manager 52 of the MAP server 12 (step 1102B). Note that while in this embodiment the profile server 14 returns the complete user profile of the user 20-1 to the MAP server 12, in an alternative embodiment, the profile server 14 may return a filtered version of the user profile of the user 20-1 to the MAP server 12. The profile server 14 may filter the user profile of the user 20-1 according to criteria specified by the user 20-1. For example, the user profile of the user 20-1 may include demographic information, general interests, music interests, and movie interests, and the user 20-1 may specify that the demographic information or some subset thereof is to be filtered, or removed, before sending the user profile to the MAP server 12.
  • Upon receiving the user profile of the user 20-1, the profile manager 52 of the MAP server 12 processes the user profile (step 1102C). More specifically, as discussed above, in the preferred embodiment, the profile manager 52 includes social network handlers for the social network services supported by the MAP server 12. The social network handlers process user profiles to generate user profiles for the MAP server 12 that include lists of keywords for each of a number of profile categories. The profile categories may be the same for each of the social network handlers or different for each of the social network handlers.
  • After processing the user profile of the user 20-1, the profile manager 52 of the MAP server 12 stores the resulting user profile for the user 20-1 (step 1102D). More specifically, in one embodiment, the MAP server 12 stores user records for the users 20-1 through 20-N in the datastore 66 (FIG. 2). The user profile of the user 20-1 is stored in the user record of the user 20-1. The user record of the user 20-1 includes a unique identifier of the user 20-1, the user profile of the user 20-1, and, as discussed below, a current location of the user 20-1. Note that the user profile of the user 20-1 may be updated as desired. For example, in one embodiment, the user profile of the user 20-1 is updated by repeating step 1102 each time the user 20-1 activates the MAP application 32-1.
  • Note that while the discussion herein focuses on an embodiment where the user profiles of the users 20-1 through 20-N are obtained from the one or more profile servers 14, the user profiles of the users 20-1 through 20-N may be obtained in any desired manner. For example, in one alternative embodiment, the user 20-1 may identify one or more favorite websites. The profile manager 52 of the MAP server 12 may then crawl the one or more favorite websites of the user 20-1 to obtain keywords appearing in the one or more favorite websites of the user 20-1. These keywords may then be stored as the user profile of the user 20-1.
  • At some point, a process is performed such that a current location of the mobile device 18-1 and thus a current location of the user 20-1 is obtained by the MAP server 12 (step 1104). In this embodiment, the MAP application 32-1 of the mobile device 18-1 obtains the current location of the mobile device 18-1 from the location function 36-1 of the mobile device 18-1. The MAP application 32-1 then provides the current location of the user 20-1 of the mobile device 18-1 to the location server 16 (step 1104A). Note that step 1104A may be repeated periodically or in response to changes in the location of the mobile device 18-1 in order to provide location updates for the user 20-1 to the MAP server 12. The location server 16 then provides the current location of the user 20-1 to the MAP server 12 (step 1104B). The location server 16 may provide the current location of the user 20-1 to the MAP server 12 automatically in response to receiving the current location of the user 20-1 from the mobile device 18-1 or in response to a request from the MAP server 12.
  • In response to receiving the current location of the mobile device 18-1, the location manager 54 of the MAP server 12 stores the current location of the mobile device 18-1 as the current location of the user 20-1 (step 1104C). More specifically, in one embodiment, the current location of the user 20-1 is stored in the user record of the user 20-1 maintained in the datastore 66 of the MAP server 12. In one embodiment, only the current location of the user 20-1 is stored in the user record of the user 20-1. In this manner, the MAP server 12 maintains privacy for the user 20-1 since the MAP server 12 does not maintain a historical record of the location of the user 20-1. However, in another embodiment, a historical record of the location of the user 20-1 may be maintained by the history manager 56 within the user record of the user 20-1 or as a separate record. The historical record of the location of the user 20-1 may be utilized by the prediction engine 62 to predict encounters between the user 20-1 and other user(s) in the future.
  • As discussed above, the use of the location server 16 is particularly beneficial when the mobile device 18-1 does not permit background processes, which is the case for the Apple® iPhone. As such, if the mobile device 18-1 is an Apple® iPhone or similar device that does not permit background processes, the MAP application 32-1 will not provide location updates for the user 20-1 to the location server 16 unless the MAP application 32-1 is active. However, other applications running on the mobile device 18-1 (or some other device of the user 20-1) may provide location updates to the location server 16 for the user 20-1 when the MAP application 32-1 is not active. This is illustrated in step 1106 where the location server 16 receives a location update for the user 20-1 from another application running on the mobile device 18-1 or an application running on another device of the user 20-1 (step 1106A). The location server 16 then provides the location update for the user 20-1 to the MAP server 12 (step 1106B). In response, the location manager 54 updates and stores the current location of the user 20-1 in the user record of the user 20-1 (step 1106C). In this manner, the MAP server 12 is enabled to obtain location updates for the user 20-1 even when the MAP application 32-1 is not active at the mobile device 18-1.
  • FIG. 6 illustrates the operation of the system 10 of FIG. 1 to provide content recommendations to a user based on aggregate profile data for predicted encounters according to one embodiment of the present disclosure. In this embodiment, the smart encounters service 38 first obtains encounter parameters to be used to predict encounters between the user 24 and the users 20-1 through 20-N and recommendation parameters to be used to obtain content recommendations based on aggregate profile data for predicted encounters for the user 24 (steps 2000 and 2002). The encounter parameters may include a parameter defining a minimum amount of time for an encounter. The minimum amount of time for an encounter defines a minimum amount of time that a user must be predicted to be at or near the same location of the user 24 or remotely interacting with the user 24 before that user is said to be part of a predicted encounter with the user 24. In addition, if predicted physical encounters are desired, the encounter parameters may include a spatial granularity parameter defining a spatial granularity for predicting physical encounters. For example, the spatial granularity may be defined such that users predicted to be at the same physical address as the user 24 form a predicted physical encounter with the user 24. As another example, the spatial granularity may be defined such that users having predicted future locations within a defined distance from a predicted future location of the user 24 form an encounter with the user 24. In this embodiment, the encounter parameters are configurable by the user 24. However, in another embodiment, the encounter parameters are system-defined and either programmed into or stored by the prediction engine 62, in which case step 2000 is not needed.
  • The recommendation parameters are optional and may include an encounter location parameter, an encounter duration parameter, a social network distance parameter, a content recommendation frequency parameter, a time parameter, or one or more user profile based parameters. The encounter location parameter is a recommendation parameter that is based on the location of the predicted encounter. For example, the encounter location parameter may define types of content to be recommended based on the location of the predicted encounter. Thus, for instance, the content recommendations may vary depending on whether the location of the predicted encounter is at the user's work, at the user's home, near a gym, at a sports bar, or the like. The encounter duration parameter is a recommendation parameter that is based on a predicted duration of the predicted encounter. Thus, for example, different types or amounts of content may be recommended if the predicted encounter is expected to last thirty minutes as compared to two hours. A social network distance parameter is a recommendation parameter that is based on an average DOS between users in the predicted encounter. Different types of content may be recommended if the users in the predicted encounter have an average DOS of 2 as compared to an average DOS of 5. The content recommendation frequency parameter is a recommendation parameter that controls how often the same or highly related content is recommended. For example, the content recommendation frequency parameter may state that any movie is to be recommended only twice. The time parameter is a content recommendation parameter that states that different types of content are to be recommended based on time of day or day of the week.
  • Next, the smart encounters service 38 sends an encounter-based aggregate profile request to the MAP server 12 (step 2004). The encounter-based aggregate profile request preferably defines a time window for the request. Alternatively, a system-defined or default time window may be used. In one embodiment, the request is initiated by the user 24. In another embodiment, the request is initiated by the smart encounters service 38. For example, in one embodiment, once the smart encounters service 38 is configured by the user 24, the smart encounters service 38 may periodically send requests to the MAP server 12 and obtain corresponding content recommendations.
  • In response to the encounter-based aggregate profile request, the MAP server 12, and more specifically the prediction engine 62, predicts one or more encounters for the user 24 (step 2006). In one embodiment, the prediction engine 62 predicts one or more physical encounters for the user 24 during the time window for the request. In another embodiment, the prediction engine 62 predicts one or more remote encounters for the user 24 during the time window for the request. In yet another embodiment, the prediction engine 62 predicts one or more physical encounters and one or more remote encounters for the user 24 during the time window for the request.
  • In order to predict physical encounters of the user 24, the prediction engine 62 predicts one or more future locations of the user 24 and one or more future locations of each of at least a subset of the users 20-1 through 20-N during the time window for the request. In one embodiment, the future locations of the user 24 may be predicted based on a historical record of the location of the user 24 or a schedule of the user 24 such as that maintained in an electronic calendar (e.g., Microsoft Outlook calendar, Apple iCal, or the like). Regarding the historical record of the location of the user 24, if the CCD 22 is a location-aware portable device, the MAP server 12 may obtain location updates for the location of the user 24 via the CCD 22 in a manner similar to that described above for the users 20-1 through 20-N of the mobile devices 18-1 through 18-N and maintain the historical record of the user 24 based thereon. Alternatively, the user 24 may also be one of the users 20-1 through 20-N, in which case the user 24 is identified as one of the users 20-1 through 20-N and the corresponding historical record of the location of that user is used as the historical record of the location of the user 24. Regarding the schedule of the user 24, in one embodiment, the schedule of the user 24 may be maintained on the CCD 22 via, for example, an electronic calendar. The schedule of the user 24 may identify a location of each scheduled event and information identifying the other users, if any, to participate in the scheduled event. The CCD 22 may then provide the schedule of the user 24, or at least a relevant portion thereof, to the MAP server 12. Alternatively, the user 24 may also be one of the users 20-1 through 20-N, in which case the schedule of the user 24 may be stored in a user record maintained by the MAP server 12 for that user. In this case, the schedule of the user 24 may be obtained from the corresponding one of the mobile devices 18-1 through 18-N, obtained from the profile servers 14 if such information is maintained by the profile servers 14, or the like. In a similar manner, the MAP server 12 may obtain schedules of the users 20-1 through 20-N.
  • Overlaps in the future locations of the user 24 and the future locations of one or more of the users 20-1 through 20-N that last for at least the minimum amount of time required for predicted encounters are identified as predicted physical encounters for the user 24. The overlaps in the future locations of the user 24 and the future locations of the one or more of the users 20-1 through 20-N are determined based on the spatial granularity parameter for predicted encounters.
  • As an example, the encounter-based aggregate profile request may identify tomorrow, which for this example is Friday, as the time window for the request. The prediction engine 62 may then analyze the historical record of the location of the user 24 to determine that the user 24 regularly visits a particular location Fridays from 3-5 P.M. As such, prediction engine 62 identifies that particular location as a predicted, or future, location of the user 24. In a similar manner, the prediction engine 62 analyzes the historical records of the users 20-1 through 20-N to predict locations of the users 20-1 through 20-N on Friday. Then, any of the users 20-1 through 20-N that are predicted to be located at or sufficiently near the predicted location of the user 24 during the period of 3-5 P.M. on Friday for at least the minimum amount of time are identified as users for a predicted physical encounter with the user 24. The prediction engine 62 then creates a predicted physical encounter record that identifies the other users identified for the predicted physical encounter with the user 24 and, optionally, the user 24 and/or the location of the predicted physical encounter.
  • As another example, the encounter-based aggregate profile request may identify tomorrow, which for this example is Friday, as the time window for the request. The prediction engine 62 may then analyze the schedule of the user 24 for Friday to identify a particular street address as a predicted location of the user 24 from 3-5 P.M. on Friday. In a similar manner, the prediction engine 62 analyzes the schedules of the users 20-1 through 20-N to determine which of the users 20-1 through 20-N are scheduled to be located at the same street address as the user 24 during the period of 3-5 P.M. on Friday for at least the minimum amount of time required to be considered an encounter. These other users are identified as users for a predicted physical encounter with the user 24. The prediction engine 62 then creates a predicted physical encounter record that identifies the other users identified for the physical encounter with the user 24 and, optionally, the user 24 and/or the location of the predicted physical encounter, which in this case is the street address at which the predicted physical encounter is predicted to occur.
  • Regarding predicted remote encounters, the prediction engine 62 may predict one or more remote encounters for the user 24 based on a schedule of the user 24 and/or schedules of the users 20-1 through 20-N. For example, if the time window for the request is tomorrow, which for this example is Friday, the prediction engine 62 may analyze the schedule of the user 24 for Friday to identify a remote encounter with one or more of the other users 20-1 through 20-N. The remote encounter may be, for example, a scheduled conference call between the user 20-1 and two or more of the users 20-1 through 20-N. As another example, if the time window for the request is tomorrow, which for this example is Friday, the prediction engine 62 may analyze the schedules of the users 20-1 through 20-N to identify any of the users 20-1 through 20-N that have a scheduled remote encounter with the user 24. Again, the remote encounter may be a conference call. The identified users are users for the predicted remote encounter with the user.
  • The prediction engine 62 may also predict one or more remote encounters for the user 24 based on a call log of the user 24 and/or call logs of the other users 20-1 through 20-N. Note that the call logs of the users 20-1 through 20-N and 24, or at least relevant portions thereof, may be obtained from the mobile devices 18-1 through 18-N and, if applicable, the CCD 22 and stored by the MAP server 12. For example, the time window for the request may be tomorrow, which for this example is Friday. The prediction engine 62 may analyze the call log of the user 24 and/or the call logs of the users 20-1 through 20-N to determine that the user 24 regularly participates in a telephone call or a conference call with one or more of the users 20-1 through 20-N on Fridays from 11A.M. until Noon. As such, the prediction engine 62 creates a predicted remote encounter between the user 24 and the one or more of the users 20-1 through 20-N that regularly participate in the telephone call or conference call.
  • Once the prediction engine has predicted the one or more encounters for the user 24 (also referred to herein as predicted encounters of the user 24), the MAP server 12, and more specifically the aggregation engine 60, generates one or more aggregate profiles for each of the predicted encounters of the user 24 (step 2008). In general, the aggregate profiles generated for the predicted encounters for the user 24 reflect aggregate interests of the users identified for the predicted encounters with the user 24. While discussed below in detail, in one embodiment, for each predicted encounter, the aggregation engine 60 generates a single aggregate profile for the predicted encounter. In another embodiment, for each predicted encounter, the aggregation engine 60 divides the users identified for the predicted encounter with the user 24 into a number of user groups and generates a separate aggregate profile for each of the user groups.
  • Next, the MAP server 12 returns the aggregate profile(s) for the one or more predicted encounters to the smart encounters service 38 (step 2010). Then, the smart encounters service 38 obtains one or more content recommendations for the user 24 based on the aggregate profile(s) for the predicted encounter(s) of the user 24 (step 2012). In addition, the recommendation parameters, if any, are used when obtaining the content recommendations. In the preferred embodiment, as discussed below in detail, each aggregate profile includes a list of keywords and, optionally, a number of user matches for each keyword in the list of keywords and/or a ratio of user matches to a total number of users for each keyword in the list of keywords. Then, the content recommendations are obtained based on the list of keywords and, optionally, the number of user matches for each keyword and/or the ratio of user matches to a total number of users for each keyword. For instance, in one embodiment, all of the keywords in the aggregate profile for a predicted encounter are used to obtain content recommendations for content that matches those keywords. In another embodiment, the number of user matches and/or the ratio of user matches to total number of users for each keyword may be used to control the relative amounts of content recommendations for content matching those keywords. In other words, the amount of content recommendations for content matching a particular keyword may be a function of the number of user matches for that keyword and/or the ratio of the number of user matches to the total number of users for that keyword. In another embodiment, only the keyword having the M highest number of user matches or the M highest ratios of the number of user matches to the total number of users may be used to obtain the content recommendations, wherein M is an integer greater than or equal to one (1).
  • The manner in which the content recommendations are obtained may vary depending on the particular implementation. In one embodiment, the CCD 22 is a set-top box that enables the user 24 to view television content from a television service provider, where the set-top box has an Electronic Programming Guide (EPG). As such, for each of the aggregate profiles, the smart encounters service 38 may obtain the one or more content recommendations for the user 24 by comparing the aggregate profile to metadata in the EPG describing television content that is currently available or will be available in the future prior to the corresponding predicted encounter. The smart encounters service 38 may then create content recommendations for television content that matches the aggregate profile to at least a defined threshold degree. In another embodiment, the CCD 22 has access to the one or more recommendation services 26 via the network 28. As such, for each of the aggregate profiles, the smart encounters service 38 may query at least one of the recommendation services 26 using the aggregate profile to obtain content recommendations. Note that step 2010 and/or step 2012 may be periodically repeated in order to update the aggregate profiles in response to new or changing predicted encounters and/or to update content recommendations in response to new or changing aggregate profiles and/or newly available content.
  • The smart encounters service 38 then presents the content recommendations to the user 24 at the CCD 22 via an associated Graphical User Interface (GUI) (step 2014). In one embodiment, each content recommendation includes a name or title of the recommended content and information enabling the user 24 to access the recommended content. The information enabling the user 24 to access the recommended content may vary depending on the particular implementation and the type of recommended content. For example, the information enabling the user 24 to access the recommended content may be a Uniform Resource Locator (URL); date, time, and television channel on which the recommended content will be broadcast; or the like.
  • FIG. 7 is a flow chart illustrating step 2008 of FIG. 6 in more detail according to one embodiment of the present disclosure. Specifically, in this embodiment, the aggregation engine 60 of the MAP server 12 generates a single aggregate profile for each of the one or more predicted encounters for the user 24. First, the aggregation engine 60 selects a next predicted encounter to process, which for the first iteration is the first predicted encounter for the user 24 (step 2100). The aggregation engine 60 then selects the next user identified for the predicted encounter with the user 24 (step 2102). Next, the aggregation engine 60 compares the user profile of the user identified for the predicted encounter to the user profile of the user 24, or a select subset of the user profile of the user 24 (step 2104). In some embodiments, the user 24 may be enabled to select a subset of his user profile to be used for generation of the aggregate profile. For example, in the embodiment where user profiles are expressed as keywords in a number of profile categories, the user 24 may select one or more of the profile categories to be used for aggregate profile generation. When comparing the user profile of the user identified for the predicted encounter to the user profile of the user 24, the aggregation engine 60 identifies matches between the user profile of the user identified for the encounter and the user profile of the user 24 or the select subset of the user profile of the user 24. In one embodiment, the user profiles are expressed as keywords in a number of profile categories. The aggregation engine 60 may then make a list of keywords from the user profile of the user identified for the predicted encounter that match keywords in user profile of the user 24 or the select subset of the user profile of the user 24.
  • Next, the aggregation engine 60 determines whether there are more users identified for the encounter with the user 24 (step 2106). If so, the process returns to step 2102 and is repeated for the next user identified for the predicted encounter. Once all of the users identified for the predicted encounter have been processed, the aggregation engine 60 generates an aggregate profile for the predicted encounter based on data resulting from the comparisons of the user profiles of the users identified for the predicted encounter to the user profile of the user 24 or the select subset of the user profile of the user 24 (step 2108). In an alternative embodiment, the aggregation engine 60 generates an aggregate profile for the predicted encounter based on data resulting from the comparisons of the user profiles of the users identified for the predicted encounter to a target user profile defined or otherwise specified by the user 24.
  • In one embodiment, the data resulting from the comparisons is a list of matching keywords for each of the users identified for the predicted encounter. The aggregate profile may then include, for each keyword in the user profile of the user 24 or the select subset of the user profile of the user 24, a number of user matches for the keyword or a ratio of the number of user matches for the keyword to the number of users identified for the predicted encounter. Note that keywords in the user profile of the user 24 or the select subset of the user profile of the user 24 that have no user matches may be excluded from the aggregate profile. In addition, the aggregate profile for the crowd may include a total number of users identified for the predicted encounter.
  • Once the aggregate profile of the crowd is generated, the aggregation engine 60 determines whether there are more predicted encounters to process (step 2110). If so, the process returns to step 2100 and is repeated for the next predicted encounter. Once aggregate profiles have been generated for all of the predicted encounters for the user 24, the aggregate profiles for the predicted encounters are returned to the smart encounters service 38 (step 2112). In an alternative embodiment, the aggregate profiles for the predicted encounters are returned to the smart encounters service 38 one by one as the aggregate profiles are generated in step 2108. In this case, the list of predicted encounters is preferably returned to the smart encounters service 38 in step 2006 of FIG. 6.
  • FIG. 8 is a flow chart illustrating step 2008 of FIG. 6 in more detail according to another embodiment of the present disclosure. Specifically, in this embodiment, the aggregation engine 60 of the MAP server 12 generates a single aggregate profile for each of the one or more predicted encounters for the user 24. First, the aggregation engine 60 selects a next predicted encounter for the user 24 to process, which for the first iteration is the first predicted encounter for the user 24 (step 2200). The aggregation engine 60 then generates an aggregate profile for the predicted encounter based on a comparison of the user profiles of the users identified for the predicted encounter to one another (step 2202). In this embodiment, neither the user profile of the user 24 nor a target user profile is included in the comparison.
  • In one embodiment, in order to generate the aggregate profile for the predicted encounter, the user profiles are expressed as keywords for each of a number of profile categories. Then, the aggregation engine 60 may determine an aggregate list of keywords for the predicted encounter. The aggregate list of keywords is a list of all keywords appearing in the user profiles of the users identified for the predicted encounter. The aggregate profile for the predicted encounter may then include a number of user matches for each keyword in the aggregate list of keywords for the predicted encounter. The number of user matches for a keyword is the number of users identified for the predicted encounter having a user profile that includes that keyword. The aggregate profile may include the number of user matches for all keywords in the aggregate list of keywords for the predicted encounter or the number of user matches for keywords in the aggregate list of keywords for the predicted encounter having more than a predefined number of user matches (e.g., more than 1 user match). The aggregate profile may also include the number of users identified for the predicted encounter. In addition or alternatively, the aggregate profile may include, for each keyword in the aggregate list or each keyword in the aggregate list having more than a predefined number of user matches, a ratio of the number of user matches for the keyword to the number of users identified for the predicted encounter.
  • Once the aggregate profile of the predicted encounter is generated, the aggregation engine 60 determines whether there are more predicted encounters for the user 24 to process (step 2204). If so, the process returns to step 2200 and is repeated for the next predicted encounter. Once aggregate profiles have been generated for all of the predicted encounters for the user 24, the aggregate profiles for the predicted encounters are returned to the smart encounters service 38 (step 2206).
  • FIG. 9 is a flow chart illustrating step 2008 of FIG. 6 in more detail according to yet another embodiment of the present disclosure. Specifically, in this embodiment, the aggregation engine 60 of the MAP server 12 generates an aggregate profile for each of a number of user groups for each of the one or more predicted encounters for the user 24. First, the aggregation engine 60 selects a next predicted encounter for the user 24 to process, which for the first iteration is the first predicted encounter for the user 24 (step 2300). The aggregation engine 60 then divides the users identified for the predicted encounter into a number of user groups (step 2302). In one embodiment, the aggregation engine 60 divides the users identified for the predicted encounter into a number of user groups based on DOS in one or more social networks. In another embodiment, the aggregation engine 60 divides the users identified for the predicted encounter into a number of user groups based on the user profiles of the users. For example, users having similar user profiles may be grouped into one user group. In another example, users in close proximity to one another may be grouped into one user group.
  • Next, the aggregation engine 60 selects the next user group for the predicted encounter, which for the first iteration is the first user group for the predicted encounter (step 2304). The aggregation engine 60 then generates an aggregate profile for the user group for the predicted encounter (step 2306). In one embodiment, the aggregate profile is generated by comparing the user profile of the user 24, or a select subset thereof, to the user profiles of the users in the user group in a manner similar to that described above with respect to FIG. 7. The resulting aggregate profile for the user group may include a list of matching keywords, a number of user matches for each of the keywords, and/or a ratio of the number of user matches to a total number of users in the user group for each of the keywords. In addition, the aggregate profile may include the total number of users in the user group. In another embodiment, the aggregate profile is generated by comparing a target user profile to the user profiles of the users in the user group.
  • In yet another embodiment, the aggregate profile for the user group is generated by comparing the user profiles of the users in the user group to one another in a manner similar to that described above with respect to FIG. 8. In this embodiment, neither the user profile of the user 24 nor a target user profile is included in the comparison. Again, the resulting aggregate profile for the user group may include a list of matching keywords, a number of user matches for each of the keywords, and/or a ratio of the number of user matches to a total number of users in the user group for each of the keywords. In addition, the aggregate profile may include the total number of users in the user group.
  • Next, the aggregation engine 60 determines whether the last user group for the predicted encounter has been processed (step 2308). If not, the process returns to step 2304 and is repeated. Once the last user group for the predicted encounter is processed, the aggregation engine 60 determines whether the last predicted encounter has been processed (step 2310). If not, the process returns to step 2300 and is repeated. Once the last predicted encounter has been processed, the aggregation engine 60 returns the aggregate profiles for the user groups for each of the one or more predicted encounters to the smart encounters service 38 (step 2312).
  • FIG. 10 is a flow chart illustrating step 2302 of FIG. 9 in more detail according to one embodiment of the present disclosure. Note that while in this discussion the process of FIG. 10 is performed by the aggregation engine 60, the process of FIG. 10 may alternatively be performed by the crowd analyzer 58, where the users identified for the predicted encounter are treated as a crowd and the crowd analyzer 58 operates to divide that crowd into a number of crowd fragments (i.e., user groups). First, in order to divide the users identified for the predicted encounter into a number of user groups, the aggregation engine 60 first creates a user group for each user identified for the predicted encounter (step 2400). The user groups created in step 2400 each include a single user.
  • Next, the aggregation engine 60 selects a next pair of user groups (step 2402) and then selects one user from each of those user groups (step 2404). The aggregation engine 60 then determines a DOS between the users from the pair of user groups (step 2406). More specifically, as will be appreciated by one of ordinary skill in the art, DOS is a measure of the degree to which the two users are related in a social network (e.g., the Facebook® social network, the MySpace® social network, or the LinkedIN® social network). The two users have a DOS of one if one of the users is a friend of the other user, a DOS of two if one of the users is a friend of a friend of the other user, a DOS of three if one of the users is a friend of a friend of a friend of the other user, etc. If the two users are not related in a social network or have an unknown DOS, the DOS for the two users is set to a predetermined maximum value.
  • The aggregation engine 60 then determines whether the DOS between the two users is less than a predefined maximum DOS for a user group (step 2408). For example, the predefined maximum DOS may be three. However, other maximum DOS values may be used. If the DOS between the two users is not less than the predefined maximum DOS, the process proceeds to step 2414. If the DOS between the two users is less than the predefined maximum DOS, the aggregation engine 60 determines whether a bidirectionality requirement is satisfied (step 2410). The bidirectionality requirement specifies whether the relationship between the two users must be bidirectional (i.e., the first user must directly or indirectly know the second user and the second user must directly or indirectly know the first user). Bidirectionality may or may not be required depending on the particular embodiment. If the two users satisfy the bidirectionality requirement, the aggregation engine 60 combines the pair of user groups (step 2412) and the process then returns to step 2402 and is repeated for a next pair of user groups. If the two users do not satisfy the bidirectionality requirement, the process proceeds to step 2414.
  • At this point, whether proceeding from step 2408 or step 2410, the aggregation engine 60 determines whether all user pairs from the two user groups have been processed (step 2414). If not, the process returns to step 2404 and is repeated for a new pair of users from the two user groups. If all user pairs from the two user groups have been processed, the aggregation engine 60 then determines whether all user groups have been processed (step 2416). If not, the process returns to step 2402 and is repeated until all user groups have been processed. Once this process is complete, the resulting user groups are the user groups for the predicted encounter.
  • FIG. 11 is an exemplary GUI 74 provided by the smart encounters service 38 according to one embodiment of the present disclosure. As illustrated, the GUI 74 enables the user 24 to configure the time window for the smart encounters process. As discussed above, the time window in a time period in which encounters are predicted for the user 24. In this example, the time window is April 24th from 8:30 A.M. to 5:30 P.M. The time window can be changed by the user 24 by selecting an edit button 76. Once the user 24 has configured the time window, the smart encounters service 38 sends an encounters-based aggregate profile request to the MAP server 12, as discussed above. In response, the MAP server 12 determines one or more predicted encounters for the user 24, generates aggregate profiles for the predicted encounters, and returns the aggregate profiles to the smart encounters service 38.
  • In this embodiment, the smart encounters service 38 enables the user 24 to view the locations of the predicted encounters and the aggregate profiles for the predicted encounters. More specifically, the GUI 74 includes a map area 78 for presenting the locations of the predicted encounters to the user 24. In this example, there are three predicted encounters, namely, a predicted encounter 80 at the user's work location, a predicted encounter 82 at a gym that the user regularly visits, and a predicted encounter 84 at a deli that the user 24 regularly visits. As further illustrated, the GUI 74 enables the user 24 to select, for example, the predicted encounter 80 in order to view an aggregate profile 86 for the predicted encounter 80. Buttons 88-94 enable the user 24 to modify, or edit, corresponding keywords in the aggregate profile 86 for purposes of generating content recommendations for the predicted encounter. As such, if the user 24 modifies one of the keywords in the aggregate profile 86, the content recommendations for the predicted encounter will also change. In addition, buttons 96-102 enable the user 24 to delete corresponding keywords in the aggregate profile 86 for purposes of content recommendations. Buttons 104 and 106 enable the user 24 to navigate from one predicted encounter to another. Thus, if there are multiple predicted encounters for the user 24, the user 24 may use the buttons 104 and 106 to view the aggregate profiles and content recommendations for the different predicted encounters.
  • In addition, the GUI 74 includes a content recommendations area 108 for presenting the content recommendations for the selected predicted encounter to the user 24. In this embodiment, the content recommendations area 108 includes a Now button 110 that, if selected, causes only content recommendations for currently available content to be presented to the user 24 and a Later button 112 that, if selected, causes only content recommendations for content that will be available at a later time to be presented to the user 24. The content recommendations area 108 also includes an All button 114. If both the Now button 110 and the All button 114 are selected, the GUI 74 presents all content recommendations for currently available content to be presented to the user 24. If both the Later button 112 and the All button 114 are selected, the GUI 74 presents all content recommendations for content that will be available at a later time to be presented to the user 24 in the content recommendations area 108. In a similar manner, a TV button 116 may be used in connection with the Now button 110 or Later button 118 to view content recommendations for television content that is currently available or will be later available. Likewise, a Web button 118 may be used in connection with the Now button 110 or Later button 118 to view content recommendations for web-based content that is currently available or will be later available. A Local button 120 may be used in connection with the Now button 110 or Later button 118 to view content recommendations for locally stored content that is currently available or will be later available. Buttons 122 and 124 may be used by the user 24 to scroll left or right in the content recommendations area 108 to view additional content recommendations.
  • FIG. 12 illustrates another exemplary GUI 126 that may be provided by the smart encounters service 38 according to another embodiment of the present disclosure. The GUI 126 is particularly relevant to the embodiment where the CCD 22 is a mobile device, such as a mobile smart phone. In this embodiment, the smart encounters service 38 provides content recommendation alerts to the user 24. More specifically, after obtaining a predicted encounter and an aggregate profile for the predicted encounter from the MAP server 12, the smart encounters service 38 periodically obtains content recommendations for the predicted encounter based on the aggregate profile for the predicted encounter. When new recommended content is found, the smart encounters service 38 provides a content recommendation alert for the predicted encounter to the user 24 via the GUI 126.
  • As illustrated, the GUI 126 includes an Alerts button 128 that, when selected by the user 24, causes content recommendation alerts to be presented to the user 24. In this example, upon selecting the Alerts button 128, a new content recommendation alert is presented to the user 24. Button 130 may be selected by the user 24 to access the recommended content, view information enabling the user 24 to access the recommended content, view a preview of the content, and/or view more detailed information regarding the content, depending on the particular implementation. Button 132 may be selected by the user 24 to delete or otherwise remove the new alert. Also, as shown, the GUI 126 identifies the predicted encounter for which the alert is provided, which for this example is “Charlotte Meeting.” A Previous Alerts button 134 may be selected by the user 24 in order to view previously received content recommendation alerts. A Map button 136 may be selected by the user 24 to view a map showing a location of each of a number of predicted encounters for the user 24. Lastly, a Settings button 138 may be selected by the user 24 in order to view and modify settings for the smart encounters process such as, for example, the time window for which encounters are to be predicted, encounter parameters, or recommendation parameters. The settings button 138 may also be selected by the user 24 in order to view or modify settings pertaining to alerts. For example, settings can specify under what circumstances to generate an alert.
  • FIG. 13 is a block diagram of the MAP server 12 according to one embodiment of the present disclosure. As illustrated, the MAP server 12 includes a controller 140 connected to memory 142, one or more secondary storage devices 144, and a communication interface 146 by a bus 148 or similar mechanism. The controller 140 is a microprocessor, digital Application Specific Integrated Circuit (ASIC), Field Programmable Gate Array (FPGA), or the like. In this embodiment, the controller 140 is a microprocessor, and the application layer 40, the business logic layer 42, and the object mapping layer 64 (FIG. 2) are implemented in software and stored in the memory 142 for execution by the controller 140. Further, the datastore 66 (FIG. 2) may be implemented in the one or more secondary storage devices 144. The secondary storage devices 144 are digital data storage devices such as, for example, one or more hard disk drives. The communication interface 146 is a wired or wireless communication interface that communicatively couples the MAP server 12 to the network 28 (FIG. 1). For example, the communication interface 146 may be an Ethernet interface, local wireless interface such as a wireless interface operating according to one of the suite of IEEE 802.11 standards, or the like.
  • FIG. 14 is a block diagram of the mobile device 18-1 according to one embodiment of the present disclosure. This discussion is equally applicable to the other mobile devices 18-2 through 18-N. As illustrated, the mobile device 18-1 includes a controller 150 connected to memory 152, a communication interface 154, one or more user interface components 156, and the location function 36-1 by a bus 158 or similar mechanism. The controller 150 is a microprocessor, digital ASIC, FPGA, or the like. In this embodiment, the controller 150 is a microprocessor, and the MAP client 30-1, the MAP application 32-1, and the third-party applications 34-1 are implemented in software and stored in the memory 152 for execution by the controller 150. In this embodiment, the location function 36-1 is a hardware component such as, for example, a GPS receiver. The communication interface 154 is a wireless communication interface that communicatively couples the mobile device 18-1 to the network 28 (FIG. 1). For example, the communication interface 154 may be a local wireless interface such as a wireless interface operating according to one of the suite of IEEE 802.11 standards, a mobile communications interface such as a cellular telecommunications interface, or the like. The one or more user interface components 156 include, for example, a touchscreen, a display, one or more user input components (e.g., a keypad), a speaker, or the like, or any combination thereof.
  • FIG. 15 is a block diagram of the CCD 22 according to one embodiment of the present disclosure. As illustrated, the CCD 22 includes a controller 160 connected to memory 162, one or more secondary storage devices 164, a communication interface 166, and one or more user interface components 168 by a bus 170 or similar mechanism. The controller 160 is a microprocessor, digital ASIC, FPGA, or the like. In this embodiment, the controller 160 is a microprocessor, and the smart encounters service 38 (FIG. 1) is implemented in software and stored in the memory 162 for execution by the controller 160. The one or more secondary storage devices 164 are digital storage devices such as, for example, one or more hard disk drives. The communication interface 166 is a wired or wireless communication interface that communicatively couples the CCD 22 to the network 28 (FIG. 1). For example, the communication interface 166 may be an Ethernet interface, local wireless interface such as a wireless interface operating according to one of the suite of IEEE 802.11 standards, a mobile communications interface such as a cellular telecommunications interface, an interface to a network of a television service provider, or the like. The one or more user interface components 168 include, for example, a touchscreen, a display, one or more user input components (e.g., a keypad), a speaker, or the like, or any combination thereof.
  • It should be noted that the system 10 described herein provides substantial opportunity for variation without departing from the spirit or scope of the present disclosure. For example, while the smart encounters service 38 has been illustrated and described as being implemented on the CCD 22, the smart encounters service 38 may be implemented on each of one or more of the mobile devices 18-1 through 18-N as, for instance, third-party applications 34-1 through 34-N. As another example, the smart encounters service 38 may be implemented on a server, such as the MAP server 12, wherein users, such as the users 20-1 through 20-N and 24, may access the smart encounters service 38 via a custom application or a web browser.
  • Those skilled in the art will recognize improvements and modifications to the embodiments of the present disclosure. All such improvements and modifications are considered within the scope of the concepts disclosed herein and the claims that follow.

Claims (28)

What is claimed is:
1. A method of operating a computing device comprising:
obtaining an aggregate profile for a predicted encounter of a first user, the aggregate profile being based on user profiles of a plurality of second users identified for the predicted encounter of the user; and
obtaining one or more content recommendations for the first user based on the aggregate profile for the predicted encounter.
2. The method of claim 1 wherein the predicted encounter is a predicted physical encounter.
3. The method of claim 2 wherein the predicted physical encounter is predicted based on a historical record of a location of the first user and historical records of locations of the plurality of second users.
4. The method of claim 3 wherein the predicted physical encounter is predicted by:
predicting a future location of the first user based on the historical record of the location of the first user;
predicting one or more future locations for each of at least a subset of a plurality of known users based on historical records of locations of the at least a subset of the plurality of known users; and
identifying ones of the at least a subset of the plurality of known users having future locations that overlap the future location of the first user as the plurality of second users for the predicted physical encounter.
5. The method of claim 2 wherein the predicted physical encounter is predicted based on a schedule of the first user.
6. The method of claim 2 wherein the predicted physical encounter is predicted based on schedules of the plurality of second users.
7. The method of claim 2 wherein the predicted physical encounter is predicted based on schedules of the first user and the plurality of second users.
8. The method of claim 1 wherein the predicted encounter is a predicted remote encounter.
9. The method of claim 8 wherein the predicted remote encounter is predicted based on a schedule of the first user.
10. The method of claim 8 wherein the predicted remote encounter is predicted based on schedules of the plurality of second users.
11. The method of claim 8 wherein the predicted physical encounter is predicted based on schedules of the first user and the plurality of second users.
12. The method of claim 1 wherein the aggregate profile for the predicted encounter comprises one or more keywords, and obtaining the one or more content recommendations comprises obtaining the one or more content recommendations based on at least one of the one or more keywords.
13. The method of claim 12 wherein the aggregate profile for the predicted encounter further comprises a number of user matches for each of the one or more keywords.
14. The method of claim 13 wherein the one or more keywords is a plurality of keywords, and obtaining the one or more content recommendations comprises obtaining a plurality of content recommendations based on the plurality of keywords and the number of user matches for each of the plurality of keywords.
15. The method of claim 14 wherein a number of the plurality of content recommendations that match each keyword of the plurality of keywords is a function of the number of user matches for the keyword.
16. The method of claim 13 wherein the one or more keywords is a plurality of keywords, and obtaining the one or more content recommendations comprises obtaining the one or more content recommendations based on one or more of the plurality of keywords having a highest number of user matches.
17. The method of claim 12 wherein the aggregate profile for the predicted encounter further comprises a ratio of a number of user matches to a total number of users in the plurality of second users for each of the one or more keywords.
18. The method of claim 17 wherein the one or more keywords is a plurality of keywords, and obtaining the one or more content recommendations comprises obtaining a plurality of content recommendations based on the plurality of keywords and the ratio of the number of user matches to the total number of users for each of the plurality of keywords.
19. The method of claim 18 wherein a number of the plurality of content recommendations that match each keyword of the plurality of keywords is a function of the ratio of the number of user matches to the total number of users for the keyword.
20. The method of claim 17 wherein the one or more keywords is a plurality of keywords, and obtaining the one or more content recommendations comprises obtaining the one or more content recommendations based on one or more of the plurality of keywords having a highest ratio of the number of user matches to the total number of users.
21. The method of claim 12 wherein the one or more keywords in the aggregate profile for the predicted encounter are keywords in user profiles of the plurality of second users that match keywords in a user profile of the first user.
22. The method of claim 12 wherein the one or more keywords in the aggregate profile for the predicted encounter are keywords in user profiles of the plurality of second users that match keywords in a target user profile defined by the first user.
23. The method of claim 12 wherein the one or more keywords in the aggregate profile for the predicted encounter are matching keywords in user profiles of the plurality of second users.
24. The method of claim 1 wherein the plurality of second users form a first user group of a plurality of user groups identified for the predicted encounter.
25. The method of claim 1 wherein the plurality of second users are users identified for the predicted encounter.
26. The method of claim 1 further comprising presenting the one or more content recommendations to the first user.
27. A computing device comprising:
a communication interface; and
a controller associated with the communication interface and adapted to:
obtain an aggregate profile for a predicted encounter of a first user, the aggregate profile being based on user profiles of a plurality of second users identified for the predicted encounter of the user; and
obtain one or more content recommendations for the first user based on the aggregate profile for the predicted encounter.
28. A computer readable medium storing software for instructing a controller of a computing device to:
obtain an aggregate profile for a predicted encounter of a first user, the aggregate profile being based on user profiles of a plurality of second users identified for the predicted encounter of the user; and
obtain one or more content recommendations for the first user based on the aggregate profile for the predicted encounter.
US12/711,517 2009-03-25 2010-02-24 Smart encounters Abandoned US20120047087A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/711,517 US20120047087A1 (en) 2009-03-25 2010-02-24 Smart encounters

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16309109P 2009-03-25 2009-03-25
US12/711,517 US20120047087A1 (en) 2009-03-25 2010-02-24 Smart encounters

Publications (1)

Publication Number Publication Date
US20120047087A1 true US20120047087A1 (en) 2012-02-23

Family

ID=45565580

Family Applications (8)

Application Number Title Priority Date Filing Date
US12/711,517 Abandoned US20120047087A1 (en) 2009-03-25 2010-02-24 Smart encounters
US12/713,508 Expired - Fee Related US9082077B2 (en) 2009-03-25 2010-02-26 Mobile private assisted location tracking
US12/716,314 Active 2031-06-06 US8589330B2 (en) 2009-03-25 2010-03-03 Predicting or recommending a users future location based on crowd data
US12/722,564 Abandoned US20120047143A1 (en) 2009-03-25 2010-03-12 Sparse profile augmentation using a mobile aggregate profiling system
US12/731,242 Active 2032-01-13 US8620532B2 (en) 2009-03-25 2010-03-25 Passive crowd-sourced map updates and alternate route recommendations
US14/062,405 Abandoned US20140129502A1 (en) 2009-03-25 2013-10-24 Predicting or recommending a user's future location based on crowd data
US14/135,659 Expired - Fee Related US9140566B1 (en) 2009-03-25 2013-12-20 Passive crowd-sourced map updates and alternative route recommendations
US14/851,341 Expired - Fee Related US9410814B2 (en) 2009-03-25 2015-09-11 Passive crowd-sourced map updates and alternate route recommendations

Family Applications After (7)

Application Number Title Priority Date Filing Date
US12/713,508 Expired - Fee Related US9082077B2 (en) 2009-03-25 2010-02-26 Mobile private assisted location tracking
US12/716,314 Active 2031-06-06 US8589330B2 (en) 2009-03-25 2010-03-03 Predicting or recommending a users future location based on crowd data
US12/722,564 Abandoned US20120047143A1 (en) 2009-03-25 2010-03-12 Sparse profile augmentation using a mobile aggregate profiling system
US12/731,242 Active 2032-01-13 US8620532B2 (en) 2009-03-25 2010-03-25 Passive crowd-sourced map updates and alternate route recommendations
US14/062,405 Abandoned US20140129502A1 (en) 2009-03-25 2013-10-24 Predicting or recommending a user's future location based on crowd data
US14/135,659 Expired - Fee Related US9140566B1 (en) 2009-03-25 2013-12-20 Passive crowd-sourced map updates and alternative route recommendations
US14/851,341 Expired - Fee Related US9410814B2 (en) 2009-03-25 2015-09-11 Passive crowd-sourced map updates and alternate route recommendations

Country Status (1)

Country Link
US (8) US20120047087A1 (en)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130060587A1 (en) * 2011-09-02 2013-03-07 International Business Machines Corporation Determining best time to reach customers in a multi-channel world ensuring right party contact and increasing interaction likelihood
US20130282723A1 (en) * 2009-02-02 2013-10-24 Waldeck Technology, Llc Maintaining A Historical Record Of Anonymized User Profile Data By Location For Users In A Mobile Environment
US8589330B2 (en) 2009-03-25 2013-11-19 Waldeck Technology, Llc Predicting or recommending a users future location based on crowd data
US20130317828A1 (en) * 2012-05-25 2013-11-28 Apple Inc. Content ranking and serving on a multi-user device or interface
US20140351342A1 (en) * 2011-08-19 2014-11-27 Facebook, Inc. Sending Notifications About Other Users with whom a User is Likely to Interact
US20150143409A1 (en) * 2013-11-19 2015-05-21 United Video Properties, Inc. Methods and systems for recommending media content related to a recently completed activity
US20150235161A1 (en) * 2014-02-14 2015-08-20 Bby Solutions, Inc. Wireless customer and labor management optimization in retail settings
CN105338427A (en) * 2015-09-25 2016-02-17 北京奇艺世纪科技有限公司 Method for video recommendation to mobile equipment and device thereof
US9372829B1 (en) * 2011-12-15 2016-06-21 Amazon Technologies, Inc. Techniques for predicting user input on touch screen devices
US20160316503A1 (en) * 2015-04-25 2016-10-27 Oren RAPHAEL System and method for proximity based networked mobile communication
US9668103B1 (en) * 2015-12-10 2017-05-30 At&T Mobility Ii Llc Method and apparatus for management of location information
US20180060973A1 (en) * 2016-09-01 2018-03-01 Facebook, Inc. Systems and methods for pacing page recommendations
US10304066B2 (en) 2010-12-22 2019-05-28 Facebook, Inc. Providing relevant notifications for a user based on location and social information
US20210124771A1 (en) * 2018-09-06 2021-04-29 Verizon Media Inc. Computerized system and method for interest profile generation and digital content dissemination based therefrom
US11493586B2 (en) * 2020-06-28 2022-11-08 T-Mobile Usa, Inc. Mobile proximity detector for mobile electronic devices

Families Citing this family (163)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9459622B2 (en) 2007-01-12 2016-10-04 Legalforce, Inc. Driverless vehicle commerce network and community
US9064288B2 (en) 2006-03-17 2015-06-23 Fatdoor, Inc. Government structures and neighborhood leads in a geo-spatial environment
US9070101B2 (en) 2007-01-12 2015-06-30 Fatdoor, Inc. Peer-to-peer neighborhood delivery multi-copter and method
US8965409B2 (en) 2006-03-17 2015-02-24 Fatdoor, Inc. User-generated community publication in an online neighborhood social network
US9002754B2 (en) 2006-03-17 2015-04-07 Fatdoor, Inc. Campaign in a geo-spatial environment
US9373149B2 (en) 2006-03-17 2016-06-21 Fatdoor, Inc. Autonomous neighborhood vehicle commerce network and community
US9098545B2 (en) 2007-07-10 2015-08-04 Raj Abhyanker Hot news neighborhood banter in a geo-spatial social network
US9037516B2 (en) 2006-03-17 2015-05-19 Fatdoor, Inc. Direct mailing in a geo-spatial environment
US8863245B1 (en) 2006-10-19 2014-10-14 Fatdoor, Inc. Nextdoor neighborhood social network method, apparatus, and system
US8489111B2 (en) 2007-08-14 2013-07-16 Mpanion, Inc. Real-time location and presence using a push-location client and server
US9829332B2 (en) 2007-10-26 2017-11-28 Tomtom Navigation B.V. Method and machine for generating map data and a method and navigation device for determining a route using map data
US8219316B2 (en) * 2008-11-14 2012-07-10 Google Inc. System and method for storing and providing routes
US20100250599A1 (en) * 2009-03-30 2010-09-30 Nokia Corporation Method and apparatus for integration of community-provided place data
US20120046995A1 (en) 2009-04-29 2012-02-23 Waldeck Technology, Llc Anonymous crowd comparison
US10042032B2 (en) * 2009-04-29 2018-08-07 Amazon Technologies, Inc. System and method for generating recommendations based on similarities between location information of multiple users
US10565229B2 (en) 2018-05-24 2020-02-18 People.ai, Inc. Systems and methods for matching electronic activities directly to record objects of systems of record
US8560608B2 (en) 2009-11-06 2013-10-15 Waldeck Technology, Llc Crowd formation based on physical boundaries and other rules
GB2475486B (en) * 2009-11-18 2012-01-25 Vodafone Plc Method for identifying a candidate part of a map to be updated
US8463812B2 (en) * 2009-12-18 2013-06-11 Electronics And Telecommunications Research Institute Apparatus for providing social network service using relationship of ontology and method thereof
US20120063367A1 (en) 2009-12-22 2012-03-15 Waldeck Technology, Llc Crowd and profile based communication addresses
US8781990B1 (en) 2010-02-25 2014-07-15 Google Inc. Crowdsensus: deriving consensus information from statements made by a crowd of users
US20120066303A1 (en) * 2010-03-03 2012-03-15 Waldeck Technology, Llc Synchronized group location updates
US20120123867A1 (en) * 2010-05-11 2012-05-17 Scott Hannan Location Event Advertising
US8498817B1 (en) * 2010-09-17 2013-07-30 Amazon Technologies, Inc. Predicting location of a mobile user
US20120072341A1 (en) * 2010-09-20 2012-03-22 Agco Corporation Allocating application servers in a service delivery platform
US8694240B1 (en) 2010-10-05 2014-04-08 Google Inc. Visualization of paths using GPS data
US8694241B1 (en) 2010-10-05 2014-04-08 Google Inc. Visualization of traffic patterns using GPS data
US8825403B1 (en) 2010-10-06 2014-09-02 Google Inc. User queries to model road network usage
US9829340B2 (en) * 2010-11-18 2017-11-28 Google Inc. Analysis of interactive map usage patterns
JP5246248B2 (en) * 2010-11-29 2013-07-24 株式会社デンソー Prediction device
EP2649412B1 (en) * 2010-12-07 2018-10-10 TomTom Traffic B.V. Mapping apparatus and method of operation thereof
US8548499B2 (en) 2011-01-12 2013-10-01 Ortiz And Associates Consulting, Llc Determining the last location of lost and stolen portable electronic devices when wireless communications access to the lost or stolen devices is lost or intermittent
US10068440B2 (en) * 2011-01-12 2018-09-04 Open Invention Network, Llc Systems and methods for tracking assets using associated portable electronic device in the form of beacons
US9055408B2 (en) * 2011-04-02 2015-06-09 Open Invention Network, Llc System and method for determining geolocation of wireless access point or wireless device
US8862492B1 (en) * 2011-04-29 2014-10-14 Google Inc. Identifying unreliable contributors of user-generated content
US8533146B1 (en) 2011-04-29 2013-09-10 Google Inc. Identification of over-clustered map features
US8700580B1 (en) 2011-04-29 2014-04-15 Google Inc. Moderation of user-generated content
US8954266B2 (en) * 2011-06-28 2015-02-10 Microsoft Technology Licensing, Llc Providing routes through information collection and retrieval
US20130097162A1 (en) * 2011-07-08 2013-04-18 Kelly Corcoran Method and system for generating and presenting search results that are based on location-based information from social networks, media, the internet, and/or actual on-site location
US9432402B1 (en) * 2011-09-06 2016-08-30 Utility Associates, Inc. System and method for uploading files to servers utilizing GPS routing
JP5648979B2 (en) * 2011-10-13 2015-01-07 株式会社デンソー Road information update system and navigation device
US20130246595A1 (en) * 2011-10-18 2013-09-19 Hugh O'Donoghue Method and apparatus for using an organizational structure for generating, using, or updating an enriched user profile
JP2013122381A (en) * 2011-12-09 2013-06-20 Denso Corp Navigation apparatus
US9191756B2 (en) * 2012-01-06 2015-11-17 Iii Holdings 4, Llc System and method for locating a hearing aid
US8832116B1 (en) 2012-01-11 2014-09-09 Google Inc. Using mobile application logs to measure and maintain accuracy of business information
US20130226926A1 (en) * 2012-02-29 2013-08-29 Nokia Corporation Method and apparatus for acquiring event information on demand
WO2013148940A1 (en) * 2012-03-28 2013-10-03 Pioneer Advanced Solutions, Inc. Method for increasing waypoint accuracies for crowd-sourced routes
WO2013152783A1 (en) * 2012-04-14 2013-10-17 Audi Ag Method, system and vehicle for conducting group travel
US9295022B2 (en) * 2012-05-18 2016-03-22 Comcast Cable Communications, LLC. Wireless network supporting extended coverage of service
US20130325818A1 (en) * 2012-06-01 2013-12-05 CityMaps Logo-enabled interactive map integrating social networking applications
US20150169891A1 (en) * 2012-06-08 2015-06-18 Dstillery, Inc. Systems, methods, and apparatus for providing content to related compute devices based on obfuscated location data
CN107273437B (en) 2012-06-22 2020-09-29 谷歌有限责任公司 Method and system for providing information related to places a user may visit
WO2014016796A1 (en) * 2012-07-25 2014-01-30 Siddhartha Gupta A system and method for secure employee time and location tracking
US20140052718A1 (en) * 2012-08-20 2014-02-20 Microsoft Corporation Social relevance to infer information about points of interest
US10148709B2 (en) * 2012-08-31 2018-12-04 Here Global B.V. Method and apparatus for updating or validating a geographic record based on crowdsourced location data
US9299081B2 (en) * 2012-09-10 2016-03-29 Yahoo! Inc. Deriving a user profile from questions
US9151616B1 (en) * 2012-09-26 2015-10-06 Travis Ryan Henderson Route event mapping
US9552372B2 (en) 2012-10-08 2017-01-24 International Business Machines Corporation Mapping infrastructure layout between non-corresponding datasets
US9219668B2 (en) * 2012-10-19 2015-12-22 Facebook, Inc. Predicting the future state of a mobile device user
US9449121B2 (en) 2012-10-30 2016-09-20 Apple Inc. Venue based real time crowd modeling and forecasting
US9392567B2 (en) 2012-11-30 2016-07-12 Qualcomm Incorporated Distributed system architecture to provide wireless transmitter positioning
US20140188537A1 (en) * 2013-01-02 2014-07-03 Primordial System and method for crowdsourcing map production
US10169970B2 (en) * 2013-01-04 2019-01-01 Filip Technologies Uk Ltd. Location tracking system
US9122708B2 (en) * 2013-02-19 2015-09-01 Digitalglobe Inc. Crowdsourced search and locate platform
US10346495B2 (en) * 2013-02-19 2019-07-09 Digitalglobe, Inc. System and method for large scale crowdsourcing of map data cleanup and correction
US10083186B2 (en) * 2013-02-19 2018-09-25 Digitalglobe, Inc. System and method for large scale crowdsourcing of map data cleanup and correction
US10078645B2 (en) * 2013-02-19 2018-09-18 Digitalglobe, Inc. Crowdsourced feature identification and orthorectification
US8825359B1 (en) 2013-02-27 2014-09-02 Google Inc. Systems, methods, and computer-readable media for verifying traffic designations of roads
EP2976740A4 (en) 2013-03-15 2017-01-11 Factual Inc. Apparatus, systems, and methods for analyzing characteristics of entities of interest
US10599738B1 (en) * 2013-04-09 2020-03-24 Google Llc Real-time generation of an improved graphical user interface for overlapping electronic content
US9299256B2 (en) * 2013-04-22 2016-03-29 GM Global Technology Operations LLC Real-time parking assistant application
GB201307550D0 (en) * 2013-04-26 2013-06-12 Tomtom Dev Germany Gmbh Methods and systems of providing information indicative of a recommended navigable stretch
US8954279B2 (en) * 2013-06-25 2015-02-10 Facebook, Inc. Human-like global positioning system (GPS) directions
WO2015006622A1 (en) 2013-07-10 2015-01-15 Crowdcomfort, Inc. System and method for crowd-sourced environmental system control and maintenance
US10796085B2 (en) 2013-07-10 2020-10-06 Crowdcomfort, Inc. Systems and methods for providing cross-device native functionality in a mobile-based crowdsourcing platform
US11394462B2 (en) 2013-07-10 2022-07-19 Crowdcomfort, Inc. Systems and methods for collecting, managing, and leveraging crowdsourced data
US10379551B2 (en) 2013-07-10 2019-08-13 Crowdcomfort, Inc. Systems and methods for providing augmented reality-like interface for the management and maintenance of building systems
US10541751B2 (en) 2015-11-18 2020-01-21 Crowdcomfort, Inc. Systems and methods for providing geolocation services in a mobile-based crowdsourcing platform
US10070280B2 (en) * 2016-02-12 2018-09-04 Crowdcomfort, Inc. Systems and methods for leveraging text messages in a mobile-based crowdsourcing platform
US9519805B2 (en) * 2013-08-01 2016-12-13 Cellco Partnership Digest obfuscation for data cryptography
US9439367B2 (en) 2014-02-07 2016-09-13 Arthi Abhyanker Network enabled gardening with a remotely controllable positioning extension
US20150262112A1 (en) * 2014-03-11 2015-09-17 Matthew Raanan Monitoring system and method
US20150262312A1 (en) * 2014-03-11 2015-09-17 Matthew Raanan Management system and method
US9307354B2 (en) 2014-03-12 2016-04-05 Apple Inc. Retroactive check-ins based on learned locations to which the user has traveled
US9457901B2 (en) 2014-04-22 2016-10-04 Fatdoor, Inc. Quadcopter with a printable payload extension system and method
US9004396B1 (en) 2014-04-24 2015-04-14 Fatdoor, Inc. Skyteboard quadcopter and method
US9648089B2 (en) 2014-04-25 2017-05-09 Samsung Electronics Co., Ltd. Context-aware hypothesis-driven aggregation of crowd-sourced evidence for a subscription-based service
US9022324B1 (en) 2014-05-05 2015-05-05 Fatdoor, Inc. Coordination of aerial vehicles through a central server
US20150323338A1 (en) * 2014-05-09 2015-11-12 Nokia Corporation Historical navigation movement indication
US9372089B2 (en) 2014-06-02 2016-06-21 International Business Machines Corporation Monitoring suggested routes for deviations
US9441981B2 (en) 2014-06-20 2016-09-13 Fatdoor, Inc. Variable bus stops across a bus route in a regional transportation network
US9971985B2 (en) 2014-06-20 2018-05-15 Raj Abhyanker Train based community
US9451020B2 (en) 2014-07-18 2016-09-20 Legalforce, Inc. Distributed communication of independent autonomous vehicles to provide redundancy and performance
US9743375B2 (en) * 2014-08-05 2017-08-22 Wells Fargo Bank, N.A. Location tracking
US9918001B2 (en) 2014-08-21 2018-03-13 Toyota Motor Sales, U.S.A., Inc. Crowd sourcing exterior vehicle images of traffic conditions
US20160073228A1 (en) * 2014-09-04 2016-03-10 Mastercard International Incorporated System and method for generating expected geolocations of mobile computing devices
US10169736B1 (en) * 2014-09-22 2019-01-01 Amazon Technologies, Inc. Implementing device operational modes using motion information or location information associated with a route
US9658074B2 (en) * 2014-10-13 2017-05-23 Here Global B.V. Diverging and converging road geometry generation from sparse data
GB2531332B (en) 2014-10-17 2021-01-06 Nokia Technologies Oy Location identification
US9916002B2 (en) 2014-11-16 2018-03-13 Eonite Perception Inc. Social applications for augmented reality technologies
US10055892B2 (en) 2014-11-16 2018-08-21 Eonite Perception Inc. Active region determination for head mounted displays
WO2016077798A1 (en) 2014-11-16 2016-05-19 Eonite Perception Inc. Systems and methods for augmented reality preparation, processing, and application
US11182870B2 (en) * 2014-12-24 2021-11-23 Mcafee, Llc System and method for collective and collaborative navigation by a group of individuals
US9534913B2 (en) * 2015-04-09 2017-01-03 Mapquest, Inc. Systems and methods for simultaneous electronic display of various modes of transportation for viewing and comparing
US10200808B2 (en) * 2015-04-14 2019-02-05 At&T Mobility Ii Llc Anonymization of location datasets for travel studies
US10909464B2 (en) 2015-04-29 2021-02-02 Microsoft Technology Licensing, Llc Semantic locations prediction
US9811734B2 (en) 2015-05-11 2017-11-07 Google Inc. Crowd-sourced creation and updating of area description file for mobile device localization
US10033941B2 (en) 2015-05-11 2018-07-24 Google Llc Privacy filtering of area description file prior to upload
US9904714B2 (en) 2015-06-30 2018-02-27 International Business Machines Corporation Crowd sourcing of device sensor data for real time response
CN105091894A (en) * 2015-06-30 2015-11-25 百度在线网络技术(北京)有限公司 Navigation method, intelligent terminal device and wearable device
US10149114B2 (en) * 2015-07-07 2018-12-04 Crowdcomfort, Inc. Systems and methods for providing geolocation services in a mobile-based crowdsourcing platform
US10231084B2 (en) 2015-08-14 2019-03-12 Aeris Communications, Inc. System and method for monitoring devices relative to a learned geographic area
US10437575B2 (en) 2015-08-14 2019-10-08 Aeris Communications, Inc. Aercloud application express and aercloud application express launcher
US9774994B2 (en) 2015-08-14 2017-09-26 Aeris Communications, Inc. System and method for monitoring devices relative to a user defined geographic area
US10648823B2 (en) 2017-06-22 2020-05-12 Aeris Communications, Inc. Learning common routes and automatic geofencing in fleet management
US9602617B1 (en) * 2015-12-16 2017-03-21 International Business Machines Corporation High performance and scalable telematics message dispatching
JP6510969B2 (en) * 2015-12-22 2019-05-08 本田技研工業株式会社 Server and server client system
EP3423962A4 (en) 2016-03-04 2019-10-02 Axon Vibe AG Systems and methods for predicting user behavior based on location data
US10223380B2 (en) 2016-03-23 2019-03-05 Here Global B.V. Map updates from a connected vehicle fleet
US9846052B2 (en) 2016-04-29 2017-12-19 Blackriver Systems, Inc. Electronic route creation
US10247559B2 (en) 2016-05-02 2019-04-02 Here Global B.V. Method and apparatus for disambiguating probe points within an ambiguous probe region
RU2658876C1 (en) * 2016-08-11 2018-06-25 Общество С Ограниченной Ответственностью "Яндекс" Wireless device sensor data processing method and server for the object vector creating connected with the physical position
ES2892198T3 (en) 2016-08-11 2022-02-02 Axon Vibe AG Geolocation of individuals based on a derived social network
US11017712B2 (en) 2016-08-12 2021-05-25 Intel Corporation Optimized display image rendering
US20180060778A1 (en) * 2016-08-31 2018-03-01 Uber Technologies, Inc. Driver location prediction for a transportation service
US9928660B1 (en) 2016-09-12 2018-03-27 Intel Corporation Hybrid rendering for a wearable display attached to a tethered computer
EP3322149B1 (en) * 2016-11-10 2023-09-13 Tata Consultancy Services Limited Customized map generation with real time messages and locations from concurrent users
US10976172B2 (en) 2016-12-31 2021-04-13 Uber Technologies, Inc. Recommending destinations of map-related requests using categorization
US10296812B2 (en) 2017-01-04 2019-05-21 Qualcomm Incorporated Systems and methods for mapping based on multi-journey data
US10885219B2 (en) 2017-02-13 2021-01-05 Microsoft Technology Licensing, Llc Privacy control operation modes
US10540483B2 (en) 2017-04-25 2020-01-21 International Business Machines Corporation Personalized training based on planned course and personal assessment
US10520948B2 (en) 2017-05-12 2019-12-31 Autonomy Squared Llc Robot delivery method
US10628001B2 (en) * 2017-06-16 2020-04-21 General Electric Company Adapting user interfaces based on gold standards
US11036523B2 (en) 2017-06-16 2021-06-15 General Electric Company Systems and methods for adaptive user interfaces
US11132636B2 (en) 2017-06-22 2021-09-28 Aeris Communications, Inc. System and method for monitoring and sharing location and activity of devices
US10735904B2 (en) 2017-06-22 2020-08-04 Aeris Communications, Inc. System and method for monitoring location and activity of devices
US11627195B2 (en) 2017-06-22 2023-04-11 Aeris Communications, Inc. Issuing alerts for IoT devices
US10591309B2 (en) 2017-10-12 2020-03-17 International Business Machines Corporation Autonomous vehicle-based guided tour rule selection
US11924297B2 (en) 2018-05-24 2024-03-05 People.ai, Inc. Systems and methods for generating a filtered data set
US11463441B2 (en) 2018-05-24 2022-10-04 People.ai, Inc. Systems and methods for managing the generation or deletion of record objects based on electronic activities and communication policies
CN112292874B (en) 2018-06-26 2024-04-16 昕诺飞控股有限公司 Optimizing network access initialization in ZigBee network
US11562168B2 (en) * 2018-07-16 2023-01-24 Here Global B.V. Clustering for K-anonymity in location trajectory data
US10497256B1 (en) * 2018-07-26 2019-12-03 Here Global B.V. Method, apparatus, and system for automatic evaluation of road closure reports
JP2020046949A (en) * 2018-09-19 2020-03-26 トヨタ自動車株式会社 Information processing device, information processing method, and information processing program
US11022453B2 (en) * 2018-09-21 2021-06-01 International Business Machines Corporation Alternative route decision making
TWI686748B (en) * 2018-12-07 2020-03-01 國立交通大學 People-flow analysis system and people-flow analysis method
US11280621B2 (en) * 2019-01-04 2022-03-22 International Business Machines Corporation Navigation using a device without global positioning system assistance
US10794717B1 (en) 2019-06-04 2020-10-06 Here Global B.V. Method, apparatus, and computer program product for map data agnostic route fingerprints
US10809074B1 (en) 2019-06-04 2020-10-20 Here Global B.V. Method, apparatus, and computer program product for map data agnostic route fingerprints
US10989545B2 (en) 2019-06-04 2021-04-27 Here Global B.V. Method, apparatus, and computer program product for map data agnostic route fingerprints
US10861333B1 (en) 2019-06-04 2020-12-08 Here Global B.V. Method, apparatus, and computer program product for map data agnostic route fingerprints
DE102019209485A1 (en) 2019-06-28 2020-12-31 Volkswagen Aktiengesellschaft Method, computer program and device for processing data recorded by a motor vehicle
DE102019209711A1 (en) 2019-07-02 2021-01-07 Volkswagen Aktiengesellschaft Method, computer program and device for processing data captured by a motor vehicle, and for providing parameters for such processing
US11574213B1 (en) * 2019-08-14 2023-02-07 Palantir Technologies Inc. Systems and methods for inferring relationships between entities
US11391577B2 (en) 2019-12-04 2022-07-19 Pony Ai Inc. Dynamically modelling objects in map
KR102317447B1 (en) * 2020-02-21 2021-10-28 주식회사 쿠핏 Method for managing route information, and server and program using the same
US11821739B2 (en) 2020-06-03 2023-11-21 Here Global B.V. Method, apparatus, and computer program product for generating and communicating low bandwidth map version agnostic routes
US11733059B2 (en) 2020-06-03 2023-08-22 Here Global B.V. Method, apparatus, and computer program product for generating and communicating low bandwidth map version agnostic routes
US11769411B2 (en) * 2020-12-31 2023-09-26 Volvo Car Corporation Systems and methods for protecting vulnerable road users
US20220282980A1 (en) * 2021-03-03 2022-09-08 International Business Machines Corporation Pedestrian route guidance that provides a space buffer
US11976938B2 (en) * 2021-06-04 2024-05-07 The University Of Hong Kong Crowd-driven mapping, localization and social-friendly navigation system
DE102021207570A1 (en) 2021-07-15 2023-01-19 Volkswagen Aktiengesellschaft Method for determining a trajectory to be followed by a motor vehicle, electronic computing device and motor vehicle
EP4376462A1 (en) 2021-09-15 2024-05-29 Samsung Electronics Co., Ltd. Electronic device and method for performing communication through virtual private network, and computer-readable storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040215793A1 (en) * 2001-09-30 2004-10-28 Ryan Grant James Personal contact network
US20050144483A1 (en) * 1997-11-02 2005-06-30 Robertson Brian D. Network-based crossing paths notification service
US20070168208A1 (en) * 2005-12-13 2007-07-19 Ville Aikas Location recommendation method and system
US20070179792A1 (en) * 2006-01-30 2007-08-02 Kramer James F System for providing a service to venues where people aggregate
US20090157496A1 (en) * 2007-12-14 2009-06-18 Yahoo! Inc. Personal broadcast engine and network
US20090164919A1 (en) * 2007-12-24 2009-06-25 Cary Lee Bates Generating data for managing encounters in a virtual world environment

Family Cites Families (532)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5949776A (en) 1990-01-18 1999-09-07 Norand Corporation Hierarchical communication system using premises, peripheral and vehicular local area networking
US5177685A (en) 1990-08-09 1993-01-05 Massachusetts Institute Of Technology Automobile navigation system using real time spoken driving instructions
US5220507A (en) 1990-11-08 1993-06-15 Motorola, Inc. Land vehicle multiple navigation route apparatus
JPH04188181A (en) 1990-11-22 1992-07-06 Nissan Motor Co Ltd Route retrieving device for vehicle
EP0588082B1 (en) 1992-08-19 2002-01-23 Aisin Aw Co., Ltd. Navigation system for vehicle
US5796727A (en) 1993-04-30 1998-08-18 International Business Machines Corporation Wide-area wireless lan access
US5493692A (en) 1993-12-03 1996-02-20 Xerox Corporation Selective delivery of electronic messages in a multiple computer system based on context and environment of a user
US6947571B1 (en) 1999-05-19 2005-09-20 Digimarc Corporation Cell phones with optical capabilities, and related applications
US5528501A (en) 1994-03-28 1996-06-18 At&T Corp. System and method for supplying travel directions
US5539232A (en) 1994-05-31 1996-07-23 Kabushiki Kaisha Toshiba MOS composite type semiconductor device
US5802492A (en) 1994-06-24 1998-09-01 Delorme Publishing Company, Inc. Computer aided routing and positioning system
US6321158B1 (en) 1994-06-24 2001-11-20 Delorme Publishing Company Integrated routing/mapping information
US5848373A (en) * 1994-06-24 1998-12-08 Delorme Publishing Company Computer aided map location system
EP0702208B1 (en) 1994-09-08 2002-05-29 Matsushita Electric Industrial Co., Ltd. Method and system of route selection
DE19521929A1 (en) 1994-10-07 1996-04-11 Mannesmann Ag Facility for guiding people
US5758257A (en) 1994-11-29 1998-05-26 Herz; Frederick System and method for scheduling broadcast of and access to video programs and other data using customer profiles
US6571279B1 (en) * 1997-12-05 2003-05-27 Pinpoint Incorporated Location enhanced information delivery system
US5659476A (en) 1994-12-22 1997-08-19 Motorola Inc. Land vehicle navigation apparatus and method for planning a recovery route
US5682525A (en) 1995-01-11 1997-10-28 Civix Corporation System and methods for remotely accessing a selected group of items of interest from a database
DE19519107C1 (en) 1995-05-24 1996-04-04 Daimler Benz Ag Travel route guidance device for electric vehicle
US5729457A (en) 1995-07-10 1998-03-17 Motorola, Inc. Route entry location apparatus
US7171018B2 (en) 1995-07-27 2007-01-30 Digimarc Corporation Portable devices and methods employing digital watermarking
US6049711A (en) 1995-08-23 2000-04-11 Teletrac, Inc. Method and apparatus for providing location-based information services
JP3441306B2 (en) 1995-09-12 2003-09-02 株式会社東芝 Client device, message transmission method, server device, page processing method, and relay server device
US5748148A (en) * 1995-09-19 1998-05-05 H.M.W. Consulting, Inc. Positional information storage and retrieval system and method
US6127945A (en) 1995-10-18 2000-10-03 Trimble Navigation Limited Mobile personal navigator
US5862325A (en) 1996-02-29 1999-01-19 Intermind Corporation Computer-based communication system and method using metadata defining a control structure
US5812134A (en) 1996-03-28 1998-09-22 Critical Thought, Inc. User interface navigational system & method for interactive representation of information contained within a database
JP3596704B2 (en) 1996-04-23 2004-12-02 アイシン・エィ・ダブリュ株式会社 Vehicle navigation device and navigation method
EP0803705B1 (en) 1996-04-23 2004-11-17 Aisin Aw Co., Ltd. Navigation system for vehicles
KR100267541B1 (en) 1996-07-26 2000-10-16 모리 하루오 Vehicle navigation method and system
US6819783B2 (en) 1996-09-04 2004-11-16 Centerframe, Llc Obtaining person-specific images in a public venue
US6459987B1 (en) 1996-11-15 2002-10-01 Garmin Corporation Method and apparatus for backtracking a path
US5902347A (en) 1996-11-19 1999-05-11 American Navigation Systems, Inc. Hand-held GPS-mapping device
US6704118B1 (en) 1996-11-21 2004-03-09 Ricoh Company, Ltd. Method and system for automatically and transparently archiving documents and document meta data
EP1531320B1 (en) 1997-01-29 2008-08-06 Matsushita Electric Industrial Co., Ltd. Recording medium for map data having stored composite intersection traffic regulations
US20010013009A1 (en) 1997-05-20 2001-08-09 Daniel R. Greening System and method for computer-based marketing
JPH11120487A (en) 1997-10-21 1999-04-30 Toyota Motor Corp Mobile object terminal equipment, for providing device, system, and method information and medium recording program for mobile object terminal equipment
US6014090A (en) 1997-12-22 2000-01-11 At&T Corp. Method and apparatus for delivering local information to travelers
US6199014B1 (en) 1997-12-23 2001-03-06 Walker Digital, Llc System for providing driving directions with visual cues
US6359896B1 (en) 1998-02-27 2002-03-19 Avaya Technology Corp. Dynamic selection of interworking functions in a communication system
US20050251453A1 (en) 2004-05-04 2005-11-10 Jun Lu Online electronic media exchange system and method
US6192314B1 (en) 1998-03-25 2001-02-20 Navigation Technologies Corp. Method and system for route calculation in a navigation application
US6189008B1 (en) 1998-04-03 2001-02-13 Intertainer, Inc. Dynamic digital asset management
JP3514626B2 (en) 1998-04-14 2004-03-31 インクリメント・ピー株式会社 Route information providing system and WWW server used therefor, route information providing method and WWW server used therefor
US20010044310A1 (en) 1998-05-29 2001-11-22 Scott Lincke User-specific location information
DE19824141A1 (en) 1998-05-29 1999-12-02 Siemens Ag Handover procedure (roaming) for mobile terminal equipment
US6240069B1 (en) 1998-06-16 2001-05-29 Ericsson Inc. System and method for location-based group services
DE19829538A1 (en) 1998-07-02 2000-01-05 Bosch Gmbh Robert Method for influencing source data for determining a route in a navigation system
US6539080B1 (en) 1998-07-14 2003-03-25 Ameritech Corporation Method and system for providing quick directions
US6179252B1 (en) * 1998-07-17 2001-01-30 The Texas A&M University System Intelligent rail crossing control system and train tracking system
US6434579B1 (en) 1998-08-19 2002-08-13 Eastman Kodak Company System and method of constructing a photo album
WO2000011871A1 (en) 1998-08-23 2000-03-02 Open Entertainment, Inc. Transaction system for transporting media files from content provider sources to home entertainment devices
US6535868B1 (en) 1998-08-27 2003-03-18 Debra A. Galeazzi Method and apparatus for managing metadata in a database management system
JP3532773B2 (en) 1998-09-26 2004-05-31 ジヤトコ株式会社 Portable position detection device and position management system
US6363392B1 (en) 1998-10-16 2002-03-26 Vicinity Corporation Method and system for providing a web-sharable personal database
RU2144264C1 (en) 1998-11-05 2000-01-10 ЯН Давид Евгеньевич Method and portable computer for remote wireless transmission and reception of coded information (options)
US6023241A (en) 1998-11-13 2000-02-08 Intel Corporation Digital multimedia navigation player/recorder
US6212474B1 (en) 1998-11-19 2001-04-03 Navigation Technologies Corporation System and method for providing route guidance with a navigation application program
US6292743B1 (en) 1999-01-06 2001-09-18 Infogation Corporation Mobile navigation system
US20030060211A1 (en) 1999-01-26 2003-03-27 Vincent Chern Location-based information retrieval system for wireless communication device
DE19903909A1 (en) 1999-02-01 2000-08-03 Delphi 2 Creative Tech Gmbh Method and device for obtaining relevant traffic information and for dynamic route optimization
US6408301B1 (en) 1999-02-23 2002-06-18 Eastman Kodak Company Interactive image storage, indexing and retrieval system
DE60027499T2 (en) 1999-03-05 2006-11-16 Hitachi, Ltd. Information presentation system for mobile units
DE10081335T1 (en) 1999-04-28 2001-08-02 Equos Res Co Ltd Route guidance system
US6285950B1 (en) 1999-05-13 2001-09-04 Alpine Electronics, Inc. Vehicle navigation system
US6920455B1 (en) 1999-05-19 2005-07-19 Sun Microsystems, Inc. Mechanism and method for managing service-specified data in a profile service
AUPQ363299A0 (en) 1999-10-25 1999-11-18 Silverbrook Research Pty Ltd Paper based information inter face
DE19928295A1 (en) 1999-06-22 2000-12-28 Bosch Gmbh Robert Determining route from initial position to destination involves storing route borders optimised with route search algorithm in route table, specifying intermediate destination(s)
US20040181668A1 (en) 1999-06-30 2004-09-16 Blew Edwin O. Methods for conducting server-side encryption/decryption-on-demand
JP3791249B2 (en) 1999-07-12 2006-06-28 株式会社日立製作所 Mobile device
US6122593A (en) 1999-08-03 2000-09-19 Navigation Technologies Corporation Method and system for providing a preview of a route calculated with a navigation system
US6549768B1 (en) 1999-08-24 2003-04-15 Nokia Corp Mobile communications matching system
WO2001017302A1 (en) 1999-08-30 2001-03-08 Swisscom Mobile Ag Emergency call system within a telecommunication network
US6675015B1 (en) 1999-09-15 2004-01-06 Nokia Corporation Apparatus, and associated method, for facilitating communication handovers in a bluetooth-public-access radio communication system
EP1169873B1 (en) 1999-09-29 2003-10-29 Swisscom Mobile AG Method for finding members of a common interest group
JP3749821B2 (en) 1999-09-30 2006-03-01 株式会社東芝 Pedestrian road guidance system and pedestrian road guidance method
US6204844B1 (en) 1999-10-08 2001-03-20 Motorola, Inc. Method and apparatus for dynamically grouping communication units in a communication system
JP3521817B2 (en) 1999-10-26 2004-04-26 株式会社エクォス・リサーチ Navigation device
US7630986B1 (en) 1999-10-27 2009-12-08 Pinpoint, Incorporated Secure data interchange
US6819919B1 (en) 1999-10-29 2004-11-16 Telcontar Method for providing matching and introduction services to proximate mobile users and service providers
JP3589124B2 (en) 1999-11-18 2004-11-17 トヨタ自動車株式会社 Navigation device
JP3751795B2 (en) 1999-11-22 2006-03-01 株式会社東芝 Pedestrian route guidance automatic creation device and method, and recording medium
US6721727B2 (en) 1999-12-02 2004-04-13 International Business Machines Corporation XML documents stored as column data
US6826472B1 (en) 1999-12-10 2004-11-30 Tele Atlas North America, Inc. Method and apparatus to generate driving guides
US6415226B1 (en) 1999-12-20 2002-07-02 Navigation Technologies Corp. Method and system for providing safe routes using a navigation system
US6708172B1 (en) 1999-12-22 2004-03-16 Urbanpixel, Inc. Community-based shared multiple browser environment
US6662017B2 (en) 1999-12-23 2003-12-09 Tekelec Methods and systems for routing messages associated with ported subscribers in a mobile communications network
WO2001052118A2 (en) 2000-01-14 2001-07-19 Saba Software, Inc. Information server
CA2298194A1 (en) * 2000-02-07 2001-08-07 Profilium Inc. Method and system for delivering and targeting advertisements over wireless networks
US6523046B2 (en) 2000-02-25 2003-02-18 Microsoft Corporation Infrastructure and method for supporting generic multimedia metadata
EP1259869B1 (en) 2000-02-29 2007-08-08 Benjamin D. Baker Intelligence driven paging process for a chat room
US7367042B1 (en) 2000-02-29 2008-04-29 Goldpocket Interactive, Inc. Method and apparatus for hyperlinking in a television broadcast
JP3475142B2 (en) 2000-03-01 2003-12-08 三菱電機株式会社 Map data transmission device, map data transmission method, and computer-readable recording medium recording a program for causing a computer to execute the map data transmission method
US6334086B1 (en) 2000-03-10 2001-12-25 Rotis Inc. (Road Traffic Information Systems) Method and apparatus for collecting traffic information
ATE276564T1 (en) 2000-03-14 2004-10-15 Siemens Ag ROUTE PLANNING SYSTEM
US6615130B2 (en) 2000-03-17 2003-09-02 Makor Issues And Rights Ltd. Real time vehicle guidance and traffic forecasting system
US6480783B1 (en) 2000-03-17 2002-11-12 Makor Issues And Rights Ltd. Real time vehicle guidance and forecasting system under traffic jam conditions
US6502102B1 (en) 2000-03-27 2002-12-31 Accenture Llp System, method and article of manufacture for a table-driven automated scripting architecture
US6876642B1 (en) 2000-03-27 2005-04-05 Delphi Technologies, Inc. In-vehicle wireless local area network
US7124164B1 (en) 2001-04-17 2006-10-17 Chemtob Helen J Method and apparatus for providing group interaction via communications networks
US6883019B1 (en) 2000-05-08 2005-04-19 Intel Corporation Providing information to a communications device
DE10023530A1 (en) 2000-05-13 2001-11-15 Mannesmann Vdo Ag Route guidance display for navigation systems
GB0011797D0 (en) 2000-05-16 2000-07-05 Yeoman Group Plc Improved vehicle routeing
US20020010628A1 (en) 2000-05-24 2002-01-24 Alan Burns Method of advertising and polling
US6718258B1 (en) 2000-06-08 2004-04-06 Navigation Technologies Corp Method and system for obtaining user feedback regarding geographic data
US6539232B2 (en) 2000-06-10 2003-03-25 Telcontar Method and system for connecting mobile users based on degree of separation
US6542750B2 (en) 2000-06-10 2003-04-01 Telcontar Method and system for selectively connecting mobile users based on physical proximity
US6542749B2 (en) 2000-06-10 2003-04-01 Telcontar Method and system for connecting proximately located mobile users based on compatible attributes
US7248841B2 (en) 2000-06-13 2007-07-24 Agee Brian G Method and apparatus for optimization of wireless multipoint electromagnetic communication networks
US20020049690A1 (en) 2000-06-16 2002-04-25 Masanori Takano Method of expressing crowd movement in game, storage medium, and information processing apparatus
JP4170090B2 (en) 2000-07-04 2008-10-22 三菱電機株式会社 Landmark display method for navigation device
WO2002009458A2 (en) 2000-07-24 2002-01-31 Bluesocket, Inc. Method and system for enabling seamless roaming in a wireless network
US6968179B1 (en) 2000-07-27 2005-11-22 Microsoft Corporation Place specific buddy list services
US6466938B1 (en) 2000-07-31 2002-10-15 Motorola, Inc. Method and apparatus for locating a device using a database containing hybrid location data
AUPQ921400A0 (en) 2000-08-04 2000-08-31 Canon Kabushiki Kaisha Method of enabling browse and search access to electronically-accessible multimedia databases
US6708186B1 (en) 2000-08-14 2004-03-16 Oracle International Corporation Aggregating and manipulating dictionary metadata in a database system
US7035912B2 (en) 2000-08-28 2006-04-25 Abaco.P.R., Inc. Method and apparatus allowing a limited client device to use the full resources of a networked server
EP1334587A1 (en) 2000-08-31 2003-08-13 Padcom Inc. Method and apparatus for routing data over multiple wireless networks
US6618593B1 (en) 2000-09-08 2003-09-09 Rovingradar, Inc. Location dependent user matching system
US6810323B1 (en) 2000-09-25 2004-10-26 Motorola, Inc. System and method for storing and using information associated with geographic locations of interest to a mobile user
US8117281B2 (en) 2006-11-02 2012-02-14 Addnclick, Inc. Using internet content as a means to establish live social networks by linking internet users to each other who are simultaneously engaged in the same and/or similar content
US20020062368A1 (en) 2000-10-11 2002-05-23 David Holtzman System and method for establishing and evaluating cross community identities in electronic forums
US6853841B1 (en) 2000-10-25 2005-02-08 Sun Microsystems, Inc. Protocol for a remote control device to enable control of network attached devices
US6801850B1 (en) 2000-10-30 2004-10-05 University Of Illionis - Chicago Method and system for tracking moving objects
US6735583B1 (en) 2000-11-01 2004-05-11 Getty Images, Inc. Method and system for classifying and locating media content
US6591188B1 (en) 2000-11-01 2003-07-08 Navigation Technologies Corp. Method, system and article of manufacture for identifying regularly traveled routes
US6366856B1 (en) 2000-11-21 2002-04-02 Qualcomm Incorporated Method and apparatus for orienting a map display in a mobile or portable device
US7925967B2 (en) 2000-11-21 2011-04-12 Aol Inc. Metadata quality improvement
US6577949B1 (en) 2000-11-22 2003-06-10 Navigation Technologies Corp. Method and system for exchanging routing data between end users
US6629104B1 (en) 2000-11-22 2003-09-30 Eastman Kodak Company Method for adding personalized metadata to a collection of digital images
WO2002059773A1 (en) 2000-12-04 2002-08-01 Thinkshare Corp. Modular distributed mobile data applications
US6675268B1 (en) 2000-12-11 2004-01-06 Lsi Logic Corporation Method and apparatus for handling transfers of data volumes between controllers in a storage environment having multiple paths to the data volumes
US6600418B2 (en) 2000-12-12 2003-07-29 3M Innovative Properties Company Object tracking and management system and method using radio-frequency identification tags
US20030006911A1 (en) 2000-12-22 2003-01-09 The Cadre Group Inc. Interactive advertising system and method
US7493565B2 (en) 2000-12-22 2009-02-17 Microsoft Corporation Environment-interactive context-aware devices and methods
US6832242B2 (en) * 2000-12-28 2004-12-14 Intel Corporation System and method for automatically sharing information between handheld devices
US7062469B2 (en) 2001-01-02 2006-06-13 Nokia Corporation System and method for public wireless network access subsidized by dynamic display advertising
WO2002057946A1 (en) 2001-01-18 2002-07-25 The Board Of Trustees Of The University Of Illinois Method for optimizing a solution set
US6505118B2 (en) 2001-01-26 2003-01-07 Ford Motor Company Navigation system for land vehicles that learns and incorporates preferred navigation routes
JP2002229991A (en) 2001-01-31 2002-08-16 Fujitsu Ltd Server, user terminal, system and method for providing information
US7457798B2 (en) 2001-02-13 2008-11-25 Microsoft Corporation System and method for providing a universal and automatic communication access point
JP3849435B2 (en) 2001-02-23 2006-11-22 株式会社日立製作所 Traffic situation estimation method and traffic situation estimation / provision system using probe information
US6615133B2 (en) 2001-02-27 2003-09-02 International Business Machines Corporation Apparatus, system, method and computer program product for determining an optimum route based on historical information
JP3793032B2 (en) 2001-02-28 2006-07-05 株式会社東芝 Road guide method and apparatus
US6529136B2 (en) 2001-02-28 2003-03-04 International Business Machines Corporation Group notification system and method for implementing and indicating the proximity of individuals or groups to other individuals or groups
JP2002258740A (en) 2001-03-02 2002-09-11 Mixed Reality Systems Laboratory Inc Method and device for recording picture and method and device for reproducing picture
US20020128773A1 (en) 2001-03-09 2002-09-12 Chowanic Andrea Bowes Multiple navigation routes based on user preferences and real time parameters
US6954443B2 (en) 2001-03-09 2005-10-11 Nokia Corporation Short range RF network with roaming terminals
US6484092B2 (en) 2001-03-28 2002-11-19 Intel Corporation Method and system for dynamic and interactive route finding
DE60216918T2 (en) 2001-04-18 2007-08-30 International Business Machines Corp. METHOD AND COMPUTER SYSTEM FOR SELECTION OF A BORDER COMPUTER
US6879838B2 (en) 2001-04-20 2005-04-12 Koninklijke Philips Electronics N.V. Distributed location based service system
US6526349B2 (en) * 2001-04-23 2003-02-25 Motorola, Inc. Method of compiling navigation route content
US7240106B2 (en) 2001-04-25 2007-07-03 Hewlett-Packard Development Company, L.P. System and method for remote discovery and configuration of a network device
US6757517B2 (en) 2001-05-10 2004-06-29 Chin-Chi Chang Apparatus and method for coordinated music playback in wireless ad-hoc networks
US6633232B2 (en) * 2001-05-14 2003-10-14 Koninklijke Philips Electronics N.V. Method and apparatus for routing persons through one or more destinations based on a least-cost criterion
US20020168084A1 (en) * 2001-05-14 2002-11-14 Koninklijke Philips Electronics N.V. Method and apparatus for assisting visitors in navigating retail and exhibition-like events using image-based crowd analysis
US20040106415A1 (en) 2001-05-29 2004-06-03 Fujitsu Limited Position information management system
US7149625B2 (en) 2001-05-31 2006-12-12 Mathews Michael B Method and system for distributed navigation and automated guidance
US6990497B2 (en) 2001-06-26 2006-01-24 Microsoft Corporation Dynamic streaming media management
JP2003203084A (en) 2001-06-29 2003-07-18 Hitachi Ltd Information terminal device, server, and information distributing device and method
US7218611B2 (en) 2001-07-05 2007-05-15 Matsushita Electric Industrial Co., Ltd. Broadcast system
US7333820B2 (en) * 2001-07-17 2008-02-19 Networks In Motion, Inc. System and method for providing routing, mapping, and relative position information to users of a communication network
GB0117951D0 (en) 2001-07-24 2001-09-19 Koninkl Philips Electronics Nv Methods and apparatus for determining the position of a transmitter and mobile communitcations device
GB2379016A (en) * 2001-07-27 2003-02-26 Hewlett Packard Co Portable apparatus monitoring reaction of user to music
US7203753B2 (en) 2001-07-31 2007-04-10 Sun Microsystems, Inc. Propagating and updating trust relationships in distributed peer-to-peer networks
US7123918B1 (en) 2001-08-20 2006-10-17 Verizon Services Corp. Methods and apparatus for extrapolating person and device counts
US7567575B2 (en) 2001-09-07 2009-07-28 At&T Corp. Personalized multimedia services using a mobile service platform
US20050231425A1 (en) 2001-09-10 2005-10-20 American Gnc Corporation Wireless wide area networked precision geolocation
US7039622B2 (en) 2001-09-12 2006-05-02 Sas Institute Inc. Computer-implemented knowledge repository interface system and method
JP3882554B2 (en) 2001-09-17 2007-02-21 日産自動車株式会社 Navigation device
US7765484B2 (en) 2001-09-28 2010-07-27 Aol Inc. Passive personalization of lists
US6629100B2 (en) 2001-10-01 2003-09-30 Ipac Acquisition Subsidiary I, Llc Network-based photosharing architecture for search and delivery of private images and metadata
US6757684B2 (en) 2001-10-01 2004-06-29 Ipac Acquisition Subsidiary I, Llc Network-based photosharing architecture
US20030229549A1 (en) 2001-10-17 2003-12-11 Automated Media Services, Inc. System and method for providing for out-of-home advertising utilizing a satellite network
WO2003036415A2 (en) 2001-10-19 2003-05-01 Bank Of America Corporation System and method for interative advertising
JP2003132158A (en) 2001-10-22 2003-05-09 Tryark Kk Human network information management system and program
AU2002365033A1 (en) * 2001-10-25 2003-06-17 The Johns Hopkins University Wide area metal detection (wamd) system and method for security screening crowds
EP1308694B1 (en) 2001-11-01 2015-04-22 Nissan Motor Company Limited Navigation system, data server, travelling route establishing method and information providing method
US7283628B2 (en) * 2001-11-30 2007-10-16 Analog Devices, Inc. Programmable data encryption engine
US6973384B2 (en) 2001-12-06 2005-12-06 Bellsouth Intellectual Property Corporation Automated location-intelligent traffic notification service systems and methods
US6606557B2 (en) 2001-12-07 2003-08-12 Motorola, Inc. Method for improving dispatch response time
US6574554B1 (en) 2001-12-11 2003-06-03 Garmin Ltd. System and method for calculating a navigation route based on non-contiguous cartographic map databases
US7617542B2 (en) * 2001-12-21 2009-11-10 Nokia Corporation Location-based content protection
US6978258B2 (en) 2001-12-26 2005-12-20 Autodesk, Inc. Fuzzy logic reasoning for inferring user location preferences
US7266563B2 (en) 2001-12-28 2007-09-04 Fotomedia Technologies, Llc Specifying, assigning, and maintaining user defined metadata in a network-based photosharing system
DE10200758A1 (en) 2002-01-10 2003-11-13 Daimler Chrysler Ag Method and system for the guidance of vehicles
US6970703B2 (en) 2002-01-23 2005-11-29 Motorola, Inc. Integrated personal communications system and method
CA2370084C (en) 2002-02-01 2017-12-12 Canadian National Railway Company System and method for on-line ordering of a transporation service providing route selection capability
US7167910B2 (en) 2002-02-20 2007-01-23 Microsoft Corporation Social mapping of contacts from computer communication information
US7343365B2 (en) 2002-02-20 2008-03-11 Microsoft Corporation Computer system architecture for automatic context associations
AU2003217926B2 (en) 2002-03-01 2008-07-17 Networks In Motion, Inc. Method and apparatus for sending, retrieving, and planning location relevant information
US6766245B2 (en) 2002-03-14 2004-07-20 Microsoft Corporation Landmark-based location of users
WO2003081391A2 (en) 2002-03-19 2003-10-02 Mapinfo Corporation Location based service provider
US7512702B1 (en) 2002-03-19 2009-03-31 Cisco Technology, Inc. Method and apparatus providing highly scalable server load balancing
US7047315B1 (en) 2002-03-19 2006-05-16 Cisco Technology, Inc. Method providing server affinity and client stickiness in a server load balancing device without TCP termination and without keeping flow states
US7680796B2 (en) 2003-09-03 2010-03-16 Google, Inc. Determining and/or using location information in an ad system
US7134040B2 (en) 2002-04-17 2006-11-07 International Business Machines Corporation Method, system, and program for selecting a path to a device to use when sending data requests to the device
US20040025185A1 (en) 2002-04-29 2004-02-05 John Goci Digital video jukebox network enterprise system
US7024207B2 (en) 2002-04-30 2006-04-04 Motorola, Inc. Method of targeting a message to a communication device selected from among a set of communication devices
US20050015197A1 (en) 2002-04-30 2005-01-20 Shinya Ohtsuji Communication type navigation system and navigation method
WO2003093950A2 (en) 2002-05-06 2003-11-13 David Goldberg Localized audio networks and associated digital accessories
US7319379B1 (en) 2003-05-16 2008-01-15 Baglador S.A. Llc Profile-based messaging apparatus and method
US7254406B2 (en) 2002-06-10 2007-08-07 Suman Beros Method and apparatus for effecting a detection of mobile devices that are proximate and exhibit commonalities between specific data sets, or profiles, associated with the persons transporting the mobile devices
US7444655B2 (en) 2002-06-11 2008-10-28 Microsoft Corporation Anonymous aggregated data collection
US7190960B2 (en) 2002-06-14 2007-03-13 Cingular Wireless Ii, Llc System for providing location-based services in a wireless network, such as modifying locating privileges among individuals and managing lists of individuals associated with such privileges
US7116985B2 (en) 2002-06-14 2006-10-03 Cingular Wireless Ii, Llc Method for providing location-based services in a wireless network, such as varying levels of services
US20050143097A1 (en) 2002-06-14 2005-06-30 Cingular Wireless Ii, Llc System for providing location-based services in a wireless network, such as providing notification regarding meetings, destination arrivals, and the like
US7236799B2 (en) 2002-06-14 2007-06-26 Cingular Wireless Ii, Llc Apparatus and systems for providing location-based services within a wireless network
US7181227B2 (en) 2002-06-14 2007-02-20 Cingular Wireless Ii, Llc Data structures and methods for location-based services within a wireless network
US7203502B2 (en) 2002-06-14 2007-04-10 Cingular Wireless Ii, Llc System for providing location-based services in a wireless network, such as locating individuals and coordinating meetings
US7020710B2 (en) 2002-06-21 2006-03-28 Thomson Licensing Streaming media delivery on multicast networks for network and server bandwidth minimization and enhanced personalization
US7243134B2 (en) 2002-06-25 2007-07-10 Motorola, Inc. Server-based navigation system having dynamic transmittal of route information
US20040225519A1 (en) 2002-06-25 2004-11-11 Martin Keith D. Intelligent music track selection
AU2003253765A1 (en) 2002-06-27 2004-01-19 Small World Productions, Inc. System and method for locating and notifying a user of a person, place or thing having attributes matching the user's stated prefernces
JP3954454B2 (en) 2002-07-05 2007-08-08 アルパイン株式会社 Map data distribution system and navigation device
JP2004045054A (en) 2002-07-08 2004-02-12 Hcx:Kk Car navigation system
FI112998B (en) 2002-08-21 2004-02-13 Nokia Corp Method and device for data transmission
US7234117B2 (en) 2002-08-28 2007-06-19 Microsoft Corporation System and method for shared integrated online social interaction
AU2003279071A1 (en) 2002-09-23 2004-04-08 Wimetrics Corporation System and method for wireless local area network monitoring and intrusion detection
AU2003244121B2 (en) 2002-09-24 2006-10-12 Sanyo Electric Co., Ltd. Navigation apparatus and server apparatus
AU2003287025A1 (en) 2002-10-07 2004-05-04 Summus, Inc. (Usa) Method and software for navigation of data on a device display
US7249123B2 (en) 2002-10-31 2007-07-24 International Business Machines Corporation System and method for building social networks based on activity around shared virtual objects
US7247024B2 (en) 2002-11-22 2007-07-24 Ut-Battelle, Llc Method for spatially distributing a population
AU2002348775A1 (en) 2002-12-11 2004-06-30 Nokia Corporation Method and device for accessing of documents
AU2003296171A1 (en) 2002-12-27 2004-07-29 Matsushita Electric Industrial Co., Ltd. Traffic information providing system, traffic information expression method and device
JP2004241866A (en) 2003-02-03 2004-08-26 Alpine Electronics Inc Inter-vehicle communication system
JP4096180B2 (en) 2003-02-10 2008-06-04 アイシン・エィ・ダブリュ株式会社 NAVIGATION DEVICE, PROGRAM FOR THE DEVICE, AND RECORDING MEDIUM
US7787886B2 (en) 2003-02-24 2010-08-31 Invisitrack, Inc. System and method for locating a target using RFID
US8423042B2 (en) 2004-02-24 2013-04-16 Invisitrack, Inc. Method and system for positional finding using RF, continuous and/or combined movement
US7216034B2 (en) 2003-02-27 2007-05-08 Nokia Corporation System and method for an intelligent multi-modal user interface for route drawing
US7158798B2 (en) 2003-02-28 2007-01-02 Lucent Technologies Inc. Location-based ad-hoc game services
JP2004272632A (en) 2003-03-10 2004-09-30 Sony Corp Information processor, information processing method and computer program
FI118494B (en) 2003-03-26 2007-11-30 Teliasonera Finland Oyj A method for monitoring traffic flows of mobile users
JP2004309705A (en) 2003-04-04 2004-11-04 Pioneer Electronic Corp Device, system, method, and program for processing map information, and recording medium with program recorded thereon
JP4198513B2 (en) 2003-04-18 2008-12-17 パイオニア株式会社 MAP INFORMATION PROCESSING DEVICE, MAP INFORMATION PROCESSING SYSTEM, POSITION INFORMATION DISPLAY DEVICE, ITS METHOD, ITS PROGRAM, AND RECORDING MEDIUM CONTAINING THE PROGRAM
US20040224702A1 (en) 2003-05-09 2004-11-11 Nokia Corporation System and method for access control in the delivery of location information
EP1477770B1 (en) 2003-05-12 2015-04-15 Harman Becker Automotive Systems GmbH Method to assist off-road navigation and corresponding navigation system
US20050015432A1 (en) 2003-05-13 2005-01-20 Cohen Hunter C. Deriving contact information from emails
JP4133570B2 (en) 2003-05-15 2008-08-13 アルパイン株式会社 Navigation device
US7119716B2 (en) 2003-05-28 2006-10-10 Legalview Assets, Limited Response systems and methods for notification systems for modifying future notifications
US6987885B2 (en) 2003-06-12 2006-01-17 Honda Motor Co., Ltd. Systems and methods for using visual hulls to determine the number of people in a crowd
US7069308B2 (en) 2003-06-16 2006-06-27 Friendster, Inc. System, method and apparatus for connecting users in an online computer system based on their relationships within social networks
US6975266B2 (en) 2003-06-17 2005-12-13 Global Locate, Inc. Method and apparatus for locating position of a satellite signal receiver
GB0314770D0 (en) 2003-06-25 2003-07-30 Ibm Navigation system
WO2005008914A1 (en) 2003-07-10 2005-01-27 University Of Florida Research Foundation, Inc. Mobile care-giving and intelligent assistance device
US7873471B2 (en) 2003-07-16 2011-01-18 Harman Becker Automotive Systems Gmbh Transmission of special routes to a navigation device
US20050015800A1 (en) 2003-07-17 2005-01-20 Holcomb Thomas J. Method and system for managing television advertising
US7627334B2 (en) 2003-07-21 2009-12-01 Contextual Information, Inc. Systems and methods for context relevant information management and display
US7536256B2 (en) 2003-07-31 2009-05-19 International Business Machines Corporation Agenda replicator system and method for travelers
US7283047B2 (en) 2003-08-01 2007-10-16 Spectrum Tracking Systems, Inc. Method and system for providing tracking services to locate an asset
US20050038876A1 (en) 2003-08-15 2005-02-17 Aloke Chaudhuri System and method for instant match based on location, presence, personalization and communication
DE10338329A1 (en) 2003-08-21 2005-03-17 Dr.Ing.H.C. F. Porsche Ag Navigation system with route guidance
US7085571B2 (en) 2003-08-26 2006-08-01 Kyocera Wireless Corp. System and method for using geographical location to determine when to exit an existing wireless communications coverage network
US20050060350A1 (en) 2003-09-15 2005-03-17 Baum Zachariah Journey System and method for recommendation of media segments
US8473729B2 (en) * 2003-09-15 2013-06-25 Intel Corporation Method and apparatus for managing the privacy and disclosure of location information
US7545941B2 (en) 2003-09-16 2009-06-09 Nokia Corporation Method of initializing and using a security association for middleware based on physical proximity
US7773985B2 (en) 2003-09-22 2010-08-10 United Parcel Service Of America, Inc. Symbiotic system for testing electromagnetic signal coverage in areas near transport routes
US7428417B2 (en) 2003-09-26 2008-09-23 Siemens Communications, Inc. System and method for presence perimeter rule downloading
US8527332B2 (en) 2003-09-29 2013-09-03 International Business Machines Corporation Incentive-based website architecture
US7343160B2 (en) 2003-09-29 2008-03-11 Broadcom Corporation System and method for servicing communications using both fixed and mobile wireless networks
US20040107283A1 (en) 2003-10-06 2004-06-03 Trilibis Inc. System and method for the aggregation and matching of personal information
US7200638B2 (en) 2003-10-14 2007-04-03 International Business Machines Corporation System and method for automatic population of instant messenger lists
US7035618B2 (en) 2003-10-30 2006-04-25 Research In Motion Limited System and method of wireless proximity awareness
US20050130634A1 (en) 2003-10-31 2005-06-16 Globespanvirata, Inc. Location awareness in wireless networks
US20050096840A1 (en) 2003-11-03 2005-05-05 Simske Steven J. Navigation routing system and method
US7373109B2 (en) 2003-11-04 2008-05-13 Nokia Corporation System and method for registering attendance of entities associated with content creation
US20050102098A1 (en) 2003-11-07 2005-05-12 Montealegre Steve E. Adaptive navigation system with artificial intelligence
US7130740B2 (en) * 2003-11-07 2006-10-31 Motorola, Inc. Method and apparatus for generation of real-time graphical descriptions in navigational systems
US7359724B2 (en) 2003-11-20 2008-04-15 Nokia Corporation Method and system for location based group formation
US7124023B2 (en) 2003-12-12 2006-10-17 Palo Alto Research Center Incorporated Traffic flow data collection agents
US7228224B1 (en) * 2003-12-29 2007-06-05 At&T Corp. System and method for determining traffic conditions
US7516212B2 (en) 2004-01-21 2009-04-07 Hewlett-Packard Development Company, L.P. Device status identification
JP2005214779A (en) 2004-01-29 2005-08-11 Xanavi Informatics Corp Navigation system and method for updating map data
US7269590B2 (en) 2004-01-29 2007-09-11 Yahoo! Inc. Method and system for customizing views of information associated with a social network user
US20050171843A1 (en) 2004-02-03 2005-08-04 Robert Brazell Systems and methods for optimizing advertising
US7398081B2 (en) 2004-02-04 2008-07-08 Modu Ltd. Device and system for selective wireless communication with contact list memory
US7310676B2 (en) 2004-02-09 2007-12-18 Proxpro, Inc. Method and computer system for matching mobile device users for business and social networking
JP4294509B2 (en) 2004-02-10 2009-07-15 アルパイン株式会社 Navigation device, route search method and program
US7545784B2 (en) 2004-02-11 2009-06-09 Yahoo! Inc. System and method for wireless communication between previously known and unknown users
US20080319808A1 (en) 2004-02-17 2008-12-25 Wofford Victoria A Travel Monitoring
US7239960B2 (en) 2004-02-19 2007-07-03 Alpine Electronics, Inc. Navigation method and system for visiting multiple destinations by minimum number of stops
CA2597874C (en) 2004-02-25 2015-10-20 Accenture Global Services Gmbh Rfid protected media system and method
EP1719038B1 (en) 2004-02-25 2015-11-11 Accenture Global Services Limited Rfid protected media system and method that provides dynamic downloadable media
ES2276240T3 (en) 2004-02-26 2007-06-16 Alcatel Lucent METHOD FOR ENTERING DESTINATION DATA THROUGH A MOBILE TERMINAL.
US8014763B2 (en) 2004-02-28 2011-09-06 Charles Martin Hymes Wireless communications with proximal targets identified visually, aurally, or positionally
US20050197846A1 (en) 2004-03-04 2005-09-08 Peter Pezaris Method and system for generating a proximity index in a social networking environment
US20050198305A1 (en) 2004-03-04 2005-09-08 Peter Pezaris Method and system for associating a thread with content in a social networking environment
US7206568B2 (en) 2004-03-15 2007-04-17 Loc-Aid Technologies, Inc. System and method for exchange of geographic location and user profiles over a wireless network
US7831387B2 (en) 2004-03-23 2010-11-09 Google Inc. Visually-oriented driving directions in digital mapping system
US20050256813A1 (en) 2004-03-26 2005-11-17 Radvan Bahbouh Method and system for data understanding using sociomapping
US8972576B2 (en) 2004-04-28 2015-03-03 Kdl Scan Designs Llc Establishing a home relationship between a wireless device and a server in a wireless network
US8028038B2 (en) 2004-05-05 2011-09-27 Dryden Enterprises, Llc Obtaining a playlist based on user profile matching
US20050251565A1 (en) 2004-05-05 2005-11-10 Martin Weel Hybrid set-top box for digital entertainment network
US7593740B2 (en) 2004-05-12 2009-09-22 Google, Inc. Location-based social software for mobile devices
US7269504B2 (en) 2004-05-12 2007-09-11 Motorola, Inc. System and method for assigning a level of urgency to navigation cues
US7123189B2 (en) * 2004-05-13 2006-10-17 Bushnell Performance Optics Apparatus and method for allowing user to track path of travel over extended period of time
US20050278371A1 (en) 2004-06-15 2005-12-15 Karsten Funk Method and system for georeferential blogging, bookmarking a location, and advanced off-board data processing for mobile systems
JP4277746B2 (en) 2004-06-25 2009-06-10 株式会社デンソー Car navigation system
US7509131B2 (en) 2004-06-29 2009-03-24 Microsoft Corporation Proximity detection using wireless signal strengths
US7460953B2 (en) 2004-06-30 2008-12-02 Navteq North America, Llc Method of operating a navigation system using images
ATE424084T1 (en) 2004-06-30 2009-03-15 Nokia Corp SYSTEM AND METHOD FOR GENERATING A LIST OF DEVICES IN THE PHYSICAL PROXIMITY OF A TERMINAL
US7359894B1 (en) 2004-06-30 2008-04-15 Google Inc. Methods and systems for requesting and providing information in a social network
US7827176B2 (en) 2004-06-30 2010-11-02 Google Inc. Methods and systems for endorsing local search results
JP4130441B2 (en) 2004-07-16 2008-08-06 三菱電機株式会社 Map information processing device
US20080126476A1 (en) 2004-08-04 2008-05-29 Nicholas Frank C Method and System for the Creating, Managing, and Delivery of Enhanced Feed Formatted Content
US7158876B2 (en) 2004-08-13 2007-01-02 Hubert W. Crook Computer Consultants, Inc. Automated vehicle routing based on physical vehicle criteria
US20060036457A1 (en) 2004-08-13 2006-02-16 Mcnamara Lori Systems and methods for facilitating romantic connections
US7424363B2 (en) 2004-08-20 2008-09-09 Robert Bosch Corporation Method and system for adaptive navigation using a driver's route knowledge
US20060046743A1 (en) 2004-08-24 2006-03-02 Mirho Charles A Group organization according to device location
US20060047568A1 (en) 2004-08-26 2006-03-02 Ian Eisenberg SMS messaging-based layered service and contact method, system and method of conducting business
US7890871B2 (en) 2004-08-26 2011-02-15 Redlands Technology, Llc System and method for dynamically generating, maintaining, and growing an online social network
US20060046740A1 (en) 2004-09-01 2006-03-02 Johnson Karen L Technique for providing location-based information concerning products and services through an information assistance service
US8126441B2 (en) 2004-09-21 2012-02-28 Advanced Ground Information Systems, Inc. Method of establishing a cell phone network of participants with a common interest
US7480567B2 (en) 2004-09-24 2009-01-20 Nokia Corporation Displaying a map having a close known location
JP2006119120A (en) 2004-09-27 2006-05-11 Denso Corp Car navigation device
US7881945B2 (en) * 2004-09-28 2011-02-01 Dell Products L.P. System and method for managing data concerning service dispatches involving geographic features
US7509093B2 (en) 2004-10-07 2009-03-24 Nokia Corporation Apparatus and method for indicating proximity co-presence for social application using short range radio communication
CN101040554B (en) * 2004-10-14 2010-05-05 松下电器产业株式会社 Destination prediction apparatus and destination prediction method
US11283885B2 (en) 2004-10-19 2022-03-22 Verizon Patent And Licensing Inc. System and method for location based matching and promotion
WO2006044939A2 (en) 2004-10-19 2006-04-27 Rosen James S System and method for location based social networking
US8615565B2 (en) 2008-09-09 2013-12-24 Monster Patents, Llc Automatic content retrieval based on location-based screen tags
US20060112067A1 (en) 2004-11-24 2006-05-25 Morris Robert P Interactive system for collecting metadata
US20060112141A1 (en) 2004-11-24 2006-05-25 Morris Robert P System for automatically creating a metadata repository for multimedia
US8606516B2 (en) 2004-11-30 2013-12-10 Dash Navigation, Inc. User interface system and method for a vehicle navigation device
US20060123080A1 (en) 2004-12-03 2006-06-08 Motorola, Inc. Method and system of collectively setting preferences among a plurality of electronic devices and users
US20060129308A1 (en) 2004-12-10 2006-06-15 Lawrence Kates Management and navigation system for the blind
DE102004062825B4 (en) * 2004-12-27 2006-11-23 Infineon Technologies Ag Cryptographic unit and method for operating a cryptographic unit
US7908080B2 (en) 2004-12-31 2011-03-15 Google Inc. Transportation routing
US20060149628A1 (en) 2005-01-04 2006-07-06 International Business Machines Corporation Method and system for implementing a customer incentive program
US20060195361A1 (en) 2005-10-01 2006-08-31 Outland Research Location-based demographic profiling system and method of use
US20060229058A1 (en) 2005-10-29 2006-10-12 Outland Research Real-time person-to-person communication using geospatial addressing
US7853268B2 (en) 2005-01-26 2010-12-14 Broadcom Corporation GPS enabled cell phone location tracking for security purposes
US7444237B2 (en) 2005-01-26 2008-10-28 Fujitsu Limited Planning a journey that includes waypoints
US7809500B2 (en) 2005-02-07 2010-10-05 Microsoft Corporation Resolving discrepancies between location information and route data on a navigation device
US7623966B2 (en) 2005-02-11 2009-11-24 Delphi Technologies, Inc. System and method for providing information to travelers
US7423580B2 (en) 2005-03-14 2008-09-09 Invisitrack, Inc. Method and system of three-dimensional positional finding
US7729947B1 (en) 2005-03-23 2010-06-01 Verizon Laboratories Inc. Computer implemented methods and system for providing a plurality of options with respect to a stopping point
US20060218225A1 (en) 2005-03-28 2006-09-28 Hee Voon George H Device for sharing social network information among users over a network
US7353034B2 (en) 2005-04-04 2008-04-01 X One, Inc. Location sharing and tracking using mobile phones or other wireless devices
DK1872347T3 (en) 2005-04-07 2012-08-13 Lars Lidgren Disaster Warning Service
US7495631B2 (en) 2005-04-12 2009-02-24 International Business Machines Corporation Method, apparatus and computer program product for dynamic display of billboard information
US7624024B2 (en) 2005-04-18 2009-11-24 United Parcel Service Of America, Inc. Systems and methods for dynamically updating a dispatch plan
US20070210937A1 (en) 2005-04-21 2007-09-13 Microsoft Corporation Dynamic rendering of map information
US7684815B2 (en) 2005-04-21 2010-03-23 Microsoft Corporation Implicit group formation around feed content for mobile devices
US7496445B2 (en) 2005-04-27 2009-02-24 Proxemics, Llc Wayfinding
US20060247852A1 (en) 2005-04-29 2006-11-02 Kortge James M System and method for providing safety-optimized navigation route planning
US7489240B2 (en) 2005-05-03 2009-02-10 Qualcomm, Inc. System and method for 3-D position determination using RFID
WO2006121986A2 (en) 2005-05-06 2006-11-16 Facet Technology Corp. Network-based navigation system having virtual drive-thru advertisements integrated with actual imagery from along a physical route
US8788192B2 (en) 2005-05-18 2014-07-22 International Business Machines Corporation Navigation method, system or service and computer program product
TW200641739A (en) 2005-05-20 2006-12-01 Mitac Int Corp Navigation system for positioning by personal data
US7848765B2 (en) 2005-05-27 2010-12-07 Where, Inc. Location-based services
US20060266830A1 (en) 2005-05-31 2006-11-30 Horozov Tzvetan T Location-based recommendation system
CA2610318A1 (en) 2005-06-01 2006-12-07 Google Inc. Media play optimization
US7711478B2 (en) 2005-06-21 2010-05-04 Mappick Technologies, Llc Navigation system and method
US20070005419A1 (en) 2005-06-30 2007-01-04 Microsoft Corporation Recommending location and services via geospatial collaborative filtering
WO2007007470A1 (en) * 2005-07-12 2007-01-18 Pioneer Corporation Theme park management apparatus, theme park management method, theme park management program, and recording medium
US20070015518A1 (en) 2005-07-15 2007-01-18 Agilis Systems, Inc. Mobile resource location-based customer contact systems
US7706280B2 (en) 2005-08-01 2010-04-27 Limelight Networks, Inc. Heavy load packet-switched routing
US7831381B2 (en) 2005-08-04 2010-11-09 Microsoft Corporation Data engine for ranking popularity of landmarks in a geographical area
US8150416B2 (en) 2005-08-08 2012-04-03 Jambo Networks, Inc. System and method for providing communication services to mobile device users incorporating proximity determination
US20070037574A1 (en) 2005-08-09 2007-02-15 Jonathan Libov Method and apparatus of a location-based network service for mutual social notification
US7634354B2 (en) 2005-08-31 2009-12-15 Microsoft Corporation Location signposting and orientation
US8560385B2 (en) 2005-09-02 2013-10-15 Bees & Pollen Ltd. Advertising and incentives over a social network
US8615719B2 (en) * 2005-09-14 2013-12-24 Jumptap, Inc. Managing sponsored content for delivery to mobile communication facilities
US20090234711A1 (en) 2005-09-14 2009-09-17 Jorey Ramer Aggregation of behavioral profile data using a monetization platform
US7702821B2 (en) 2005-09-15 2010-04-20 Eye-Fi, Inc. Content-aware digital media storage device and methods of using the same
KR101085700B1 (en) * 2005-09-16 2011-11-22 삼성전자주식회사 Method for providing location information service in lbs provider and method for receiving location information service in requester terminal
US7698061B2 (en) 2005-09-23 2010-04-13 Scenera Technologies, Llc System and method for selecting and presenting a route to a user
US20070078596A1 (en) 2005-09-30 2007-04-05 John Grace Landmark enhanced directions
US20070143348A1 (en) * 2005-10-01 2007-06-21 Outland Research, Llc Demographic assessment and presentation for personal area networks
US20070083428A1 (en) 2005-10-12 2007-04-12 Susanne Goldstein System and method for navigation by advertising landmark
US7874521B2 (en) 2005-10-17 2011-01-25 Hoshiko Llc Method and system for aviation navigation
US20070118509A1 (en) * 2005-11-18 2007-05-24 Flashpoint Technology, Inc. Collaborative service for suggesting media keywords based on location data
US7660666B2 (en) 2005-11-18 2010-02-09 Navteq North America, Llc Geographic database with detailed local data
WO2007062044A2 (en) 2005-11-23 2007-05-31 Object Video, Inc Object density estimation in video
US7558404B2 (en) 2005-11-28 2009-07-07 Honeywell International Inc. Detection of abnormal crowd behavior
KR100721522B1 (en) * 2005-11-28 2007-05-23 한국전자통신연구원 Method for providing location based service using location token
CN106899925B (en) 2005-12-09 2019-08-06 想象It公司 For the system and method by message broadcast and local wireless systems distributing promotions
US20070149214A1 (en) 2005-12-13 2007-06-28 Squareloop, Inc. System, apparatus, and methods for location managed message processing
US20070135138A1 (en) 2005-12-13 2007-06-14 Internation Business Machines Corporation Methods, systems, and computer program products for providing location based subscription services
US20060227047A1 (en) 2005-12-13 2006-10-12 Outland Research Meeting locator system and method of using the same
CN1776684A (en) 2005-12-15 2006-05-24 陈彦 Wiki electronic map method
US7774001B2 (en) 2005-12-16 2010-08-10 Sony Ericsson Mobile Communications Ab Device and method for determining where crowds exist
US7801542B1 (en) 2005-12-19 2010-09-21 Stewart Brett B Automatic management of geographic information pertaining to social networks, groups of users, or assets
US7620404B2 (en) 2005-12-22 2009-11-17 Pascal Chesnais Methods and apparatus for organizing and presenting contact information in a mobile communication system
US20070218900A1 (en) 2006-03-17 2007-09-20 Raj Vasant Abhyanker Map based neighborhood search and community contribution
US7743985B2 (en) 2005-12-29 2010-06-29 Motorola, Inc. Method and apparatus for an up-to-date transportation notification system
US7496359B2 (en) 2006-01-10 2009-02-24 Inventec Corporation System for finding a missing mobile phone
JP2007192893A (en) * 2006-01-17 2007-08-02 Sony Corp Encryption processing device, encryption processing method, and computer program
US7466986B2 (en) 2006-01-19 2008-12-16 International Business Machines Corporation On-device mapping of WIFI hotspots via direct connection of WIFI-enabled and GPS-enabled mobile devices
US20070174243A1 (en) 2006-01-20 2007-07-26 Fritz Charles W Mobile social search using physical identifiers
US7856360B2 (en) 2006-01-30 2010-12-21 Hoozware, Inc. System for providing a service to venues where people aggregate
US20070179863A1 (en) 2006-01-30 2007-08-02 Goseetell Network, Inc. Collective intelligence recommender system for travel information and travel industry marketing platform
US8352183B2 (en) 2006-02-04 2013-01-08 Microsoft Corporation Maps for social networking and geo blogs
US20070186007A1 (en) 2006-02-08 2007-08-09 Field Andrew S Downloadable server-client collaborative mobile social computing application
US20070185744A1 (en) 2006-02-09 2007-08-09 Steven Robertson System and method for providing customized travel guides and itineraries over a distributed network
US7925243B2 (en) 2006-02-14 2011-04-12 Mcgary Faith System and method for providing mobile device services using SMS communications
US20070205276A1 (en) 2006-03-01 2007-09-06 Uwe Sodan Visualization confirmation of price zoning display
US11109571B2 (en) 2006-03-03 2021-09-07 Fort Supply Ip, Llc Social group management system and method therefor
US7831235B2 (en) 2006-03-17 2010-11-09 Nokia Corporation System and method for requesting remote care using mobile devices
US7743056B2 (en) 2006-03-31 2010-06-22 Aol Inc. Identifying a result responsive to a current location of a client device
WO2007117606A2 (en) 2006-04-07 2007-10-18 Pelago, Inc. Proximity-based user interaction
US9100454B2 (en) 2006-04-07 2015-08-04 Groupon, Inc. Method and system for enabling the creation and maintenance of proximity-related user groups
US7702456B2 (en) 2006-04-14 2010-04-20 Scenera Technologies, Llc System and method for presenting a computed route
US20070250476A1 (en) 2006-04-21 2007-10-25 Lockheed Martin Corporation Approximate nearest neighbor search in metric space
US7636779B2 (en) 2006-04-28 2009-12-22 Yahoo! Inc. Contextual mobile local search based on social network vitality information
US8046411B2 (en) 2006-04-28 2011-10-25 Yahoo! Inc. Multimedia sharing in social networks for mobile devices
US7689355B2 (en) 2006-05-04 2010-03-30 International Business Machines Corporation Method and process for enabling advertising via landmark based directions
US20070271136A1 (en) 2006-05-19 2007-11-22 Dw Data Inc. Method for pricing advertising on the internet
US20070282621A1 (en) 2006-06-01 2007-12-06 Flipt, Inc Mobile dating system incorporating user location information
US8571580B2 (en) * 2006-06-01 2013-10-29 Loopt Llc. Displaying the location of individuals on an interactive map display on a mobile communication device
US20070290832A1 (en) 2006-06-16 2007-12-20 Fmr Corp. Invoking actionable alerts
WO2008000046A1 (en) 2006-06-29 2008-01-03 Relevancenow Pty Limited Social intelligence
WO2008000043A1 (en) 2006-06-30 2008-01-03 Eccosphere International Pty Ltd Method of social interaction between communication device users
US7932831B2 (en) 2006-07-11 2011-04-26 At&T Intellectual Property I, L.P. Crowd determination
US7680959B2 (en) 2006-07-11 2010-03-16 Napo Enterprises, Llc P2P network for providing real time media recommendations
US20080033809A1 (en) 2006-07-24 2008-02-07 Black Andre B Techniques for promotion management
US7522069B2 (en) 2006-07-27 2009-04-21 Vmatter Holdings, Llc Vehicle trip logger
US9976865B2 (en) 2006-07-28 2018-05-22 Ridetones, Inc. Vehicle communication system with navigation
US20080032666A1 (en) 2006-08-07 2008-02-07 Microsoft Corporation Location based notification services
DE102006037250A1 (en) 2006-08-09 2008-04-10 Müller, Thomas Methods and devices for identity verification
GB2440958A (en) 2006-08-15 2008-02-20 Tomtom Bv Method of correcting map data for use in navigation systems
US8436911B2 (en) 2006-09-14 2013-05-07 Freezecrowd, Inc. Tagging camera
US20080077595A1 (en) 2006-09-14 2008-03-27 Eric Leebow System and method for facilitating online social networking
US20080182563A1 (en) 2006-09-15 2008-07-31 Wugofski Theodore D Method and system for social networking over mobile devices using profiles
US20080097999A1 (en) 2006-10-10 2008-04-24 Tim Horan Dynamic creation of information sharing social networks
US20080086741A1 (en) 2006-10-10 2008-04-10 Quantcast Corporation Audience commonality and measurement
US7917154B2 (en) 2006-11-01 2011-03-29 Yahoo! Inc. Determining mobile content for a social network based on location and time
US20080113674A1 (en) 2006-11-10 2008-05-15 Mohammad Faisal Baig Vicinity-based community for wireless users
US7849082B2 (en) * 2006-11-17 2010-12-07 W.W. Grainger, Inc. System and method for influencing display of web site content
US8116564B2 (en) 2006-11-22 2012-02-14 Regents Of The University Of Minnesota Crowd counting and monitoring
US20080242317A1 (en) 2007-03-26 2008-10-02 Fatdoor, Inc. Mobile content creation, sharing, and commerce in a geo-spatial environment
US8108414B2 (en) * 2006-11-29 2012-01-31 David Stackpole Dynamic location-based social networking
US20080134088A1 (en) 2006-12-05 2008-06-05 Palm, Inc. Device for saving results of location based searches
US20080182591A1 (en) 2006-12-13 2008-07-31 Synthesis Studios, Inc. Mobile Proximity-Based Notifications
WO2008072093A2 (en) 2006-12-13 2008-06-19 Quickplay Media Inc. Mobile media platform
US8566602B2 (en) 2006-12-15 2013-10-22 At&T Intellectual Property I, L.P. Device, system and method for recording personal encounter history
US20080146250A1 (en) 2006-12-15 2008-06-19 Jeffrey Aaron Method and System for Creating and Using a Location Safety Indicator
US8224359B2 (en) 2006-12-22 2012-07-17 Yahoo! Inc. Provisioning my status information to others in my social network
US20080183814A1 (en) 2007-01-29 2008-07-31 Yahoo! Inc. Representing online presence for groups
US20080188261A1 (en) 2007-02-02 2008-08-07 Miles Arnone Mediated social network
EP2135200A4 (en) 2007-02-12 2011-12-28 Sean O'sullivan Shared transport system and service network
US7774227B2 (en) 2007-02-23 2010-08-10 Saama Technologies, Inc. Method and system utilizing online analytical processing (OLAP) for making predictions about business locations
US20080242271A1 (en) 2007-03-26 2008-10-02 Kurt Schmidt Electronic device with location-based and presence-based user preferences and method of controlling same
US8112720B2 (en) 2007-04-05 2012-02-07 Napo Enterprises, Llc System and method for automatically and graphically associating programmatically-generated media item recommendations related to a user's socially recommended media items
US8229458B2 (en) 2007-04-08 2012-07-24 Enhanced Geographic Llc Systems and methods to determine the name of a location visited by a user of a wireless device
US9140552B2 (en) 2008-07-02 2015-09-22 Qualcomm Incorporated User defined names for displaying monitored location
WO2008128133A1 (en) 2007-04-13 2008-10-23 Pelago, Inc. Location-based information determination
US8930135B2 (en) 2007-04-17 2015-01-06 Esther Abramovich Ettinger Device, system and method of landmark-based routing and guidance
US20080281448A1 (en) 2007-04-21 2008-11-13 Carpe Media Media Player System, Apparatus, Method and Software
WO2008134595A1 (en) 2007-04-27 2008-11-06 Pelago, Inc. Determining locations of interest based on user visits
TWI346479B (en) 2007-05-07 2011-08-01 Ind Tech Res Inst Method for grouping wireless devices and apparatus thereof
US20080293380A1 (en) 2007-05-24 2008-11-27 Jim Anderson Messeaging service
US8185137B2 (en) 2007-06-25 2012-05-22 Microsoft Corporation Intensity-based maps
US8175802B2 (en) 2007-06-28 2012-05-08 Apple Inc. Adaptive route guidance based on preferences
US20090012955A1 (en) 2007-07-03 2009-01-08 John Chu Method and system for continuous, dynamic, adaptive recommendation based on a continuously evolving personal region of interest
US8165808B2 (en) 2007-07-17 2012-04-24 Yahoo! Inc. Techniques for representing location information
US7962155B2 (en) 2007-07-18 2011-06-14 Hewlett-Packard Development Company, L.P. Location awareness of devices
WO2009014735A2 (en) 2007-07-23 2009-01-29 Motivepath, Inc. System, method and apparatus for secure multiparty located based services
US20090030999A1 (en) 2007-07-27 2009-01-29 Gatzke Alan D Contact Proximity Notification
US8050690B2 (en) 2007-08-14 2011-11-01 Mpanion, Inc. Location based presence and privacy management
US8249807B1 (en) * 2007-08-22 2012-08-21 University Of South Florida Method for determining critical points in location data generated by location-based applications
US8924250B2 (en) 2007-09-13 2014-12-30 International Business Machines Corporation Advertising in virtual environments based on crowd statistics
CN101118162A (en) 2007-09-18 2008-02-06 倚天资讯股份有限公司 System of realistic navigation combining landmark information, user interface and method
US8224353B2 (en) 2007-09-20 2012-07-17 Aegis Mobility, Inc. Disseminating targeted location-based content to mobile device users
US8923887B2 (en) 2007-09-24 2014-12-30 Alcatel Lucent Social networking on a wireless communication system
US8185131B2 (en) 2007-10-02 2012-05-22 Jeremy Wood Method of providing location-based information from portable devices
JP4858400B2 (en) 2007-10-17 2012-01-18 ソニー株式会社 Information providing system, information providing apparatus, and information providing method
US8654974B2 (en) 2007-10-18 2014-02-18 Location Based Technologies, Inc. Apparatus and method to provide secure communication over an insecure communication channel for location information using tracking devices
US8171035B2 (en) 2007-10-22 2012-05-01 Samsung Electronics Co., Ltd. Situation-aware recommendation using correlation
US8254961B2 (en) 2007-10-23 2012-08-28 Verizon Patent And Licensing Inc. Retail-related services for mobile devices
US20090106040A1 (en) 2007-10-23 2009-04-23 New Jersey Institute Of Technology System And Method For Synchronous Recommendations of Social Interaction Spaces to Individuals
US20090110177A1 (en) 2007-10-31 2009-04-30 Nokia Corporation Dynamic Secondary Phone Book
US20090111438A1 (en) 2007-10-31 2009-04-30 Weng Chong Chan Streamlined method and system for broadcasting spontaneous invitations to social events
US8467955B2 (en) 2007-10-31 2013-06-18 Microsoft Corporation Map-centric service for social events
US8624733B2 (en) 2007-11-05 2014-01-07 Francis John Cusack, JR. Device for electronic access control with integrated surveillance
US20090125230A1 (en) 2007-11-14 2009-05-14 Todd Frederic Sullivan System and method for enabling location-dependent value exchange and object of interest identification
WO2009065045A1 (en) * 2007-11-14 2009-05-22 Qualcomm Incorporated Methods and systems for determining a geographic user profile to determine suitability of targeted content messages based on the profile
US20090132366A1 (en) 2007-11-15 2009-05-21 Microsoft Corporation Recognizing and crediting offline realization of online behavior
US8195598B2 (en) 2007-11-16 2012-06-05 Agilence, Inc. Method of and system for hierarchical human/crowd behavior detection
US8620996B2 (en) 2007-11-19 2013-12-31 Motorola Mobility Llc Method and apparatus for determining a group preference in a social network
US9269089B2 (en) 2007-11-22 2016-02-23 Yahoo! Inc. Method and system for media promotion
US20100020776A1 (en) 2007-11-27 2010-01-28 Google Inc. Wireless network-based location approximation
US8155877B2 (en) 2007-11-29 2012-04-10 Microsoft Corporation Location-to-landmark
US7895049B2 (en) 2007-11-30 2011-02-22 Yahoo! Inc. Dynamic representation of group activity through reactive personas
US8862622B2 (en) 2007-12-10 2014-10-14 Sprylogics International Corp. Analysis, inference, and visualization of social networks
US8307029B2 (en) 2007-12-10 2012-11-06 Yahoo! Inc. System and method for conditional delivery of messages
US20090157312A1 (en) 2007-12-14 2009-06-18 Microsoft Corporation Social network based routes
US8270937B2 (en) 2007-12-17 2012-09-18 Kota Enterprises, Llc Low-threat response service for mobile device users
US20090158173A1 (en) 2007-12-17 2009-06-18 Palahnuk Samuel Louis Communications system with dynamic calendar
US20090164503A1 (en) 2007-12-20 2009-06-25 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Methods and systems for specifying a media content-linked population cohort
US8024431B2 (en) 2007-12-21 2011-09-20 Domingo Enterprises, Llc System and method for identifying transient friends
US8010601B2 (en) 2007-12-21 2011-08-30 Waldeck Technology, Llc Contiguous location-based user networks
US8452529B2 (en) 2008-01-10 2013-05-28 Apple Inc. Adaptive navigation system for estimating travel times
US8060018B2 (en) 2008-02-08 2011-11-15 Yahoo! Inc. Data sharing based on proximity-based ad hoc network
US20090210480A1 (en) 2008-02-14 2009-08-20 Suthaharan Sivasubramaniam Method and system for collective socializing using a mobile social network
US7940170B2 (en) * 2008-03-05 2011-05-10 Omnivision Technologies, Inc. Tracking system with user-definable private ID for improved privacy protection
US10402833B2 (en) 2008-03-05 2019-09-03 Ebay Inc. Method and apparatus for social network qualification systems
US8634796B2 (en) * 2008-03-14 2014-01-21 William J. Johnson System and method for location based exchanges of data facilitating distributed location applications
GB2458388A (en) 2008-03-21 2009-09-23 Dressbot Inc A collaborative online shopping environment, virtual mall, store, etc. in which payments may be shared, products recommended and users modelled.
US20090239552A1 (en) 2008-03-24 2009-09-24 Yahoo! Inc. Location-based opportunistic recommendations
US20090286550A1 (en) 2008-05-15 2009-11-19 Brane Wolrd Ltd. Tempo Spatial Data Extraction From Network Connected Devices
US10163113B2 (en) 2008-05-27 2018-12-25 Qualcomm Incorporated Methods and apparatus for generating user profile based on periodic location fixes
US20090307263A1 (en) 2008-06-06 2009-12-10 Sense Networks, Inc. System And Method Of Performing Location Analytics
US8072954B2 (en) 2008-06-16 2011-12-06 Microsoft Corporation Mashup application and service for wireless devices
US9200901B2 (en) 2008-06-19 2015-12-01 Microsoft Technology Licensing, Llc Predictive services for devices supporting dynamic direction information
US20100017261A1 (en) 2008-07-17 2010-01-21 Kota Enterprises, Llc Expert system and service for location-based content influence for narrowcast
US8401771B2 (en) 2008-07-22 2013-03-19 Microsoft Corporation Discovering points of interest from users map annotations
US8583668B2 (en) 2008-07-30 2013-11-12 Yahoo! Inc. System and method for context enhanced mapping
US10230803B2 (en) 2008-07-30 2019-03-12 Excalibur Ip, Llc System and method for improved mapping and routing
US8386211B2 (en) 2008-08-15 2013-02-26 International Business Machines Corporation Monitoring virtual worlds to detect events and determine their type
US8620624B2 (en) 2008-09-30 2013-12-31 Sense Networks, Inc. Event identification in sensor analytics
US20100088148A1 (en) * 2008-10-02 2010-04-08 Presswala Irfan System and methodology for recommending purchases for a shopping intent
US8645283B2 (en) 2008-11-24 2014-02-04 Nokia Corporation Determination of event of interest
US8494560B2 (en) 2008-11-25 2013-07-23 Lansing Arthur Parker System, method and program product for location based services, asset management and tracking
US8208943B2 (en) 2009-02-02 2012-06-26 Waldeck Technology, Llc Anonymous crowd tracking
US8265658B2 (en) * 2009-02-02 2012-09-11 Waldeck Technology, Llc System and method for automated location-based widgets
US9275151B2 (en) * 2009-02-06 2016-03-01 Hewlett Packard Enterprise Development Lp System and method for generating a user profile
US8070595B2 (en) 2009-02-10 2011-12-06 Cfph, Llc Amusement devices and games including means for processing electronic data where ultimate outcome of the game is dependent on relative odds of a card combination and/or where chance is a factor: the monty hall paradox
US20100217525A1 (en) 2009-02-25 2010-08-26 King Simon P System and Method for Delivering Sponsored Landmark and Location Labels
US8150967B2 (en) * 2009-03-24 2012-04-03 Yahoo! Inc. System and method for verified presence tracking
US20120047087A1 (en) 2009-03-25 2012-02-23 Waldeck Technology Llc Smart encounters
US8284934B2 (en) * 2009-07-21 2012-10-09 Cellco Partnership Systems and methods for shared secret data generation
US8255393B1 (en) * 2009-08-07 2012-08-28 Google Inc. User location reputation system
US8543532B2 (en) * 2009-10-05 2013-09-24 Nokia Corporation Method and apparatus for providing a co-creation platform
JP5471829B2 (en) * 2010-05-25 2014-04-16 日産自動車株式会社 Accelerator pedal force control device for hybrid vehicle
US8447328B2 (en) * 2010-08-27 2013-05-21 At&T Mobility Ii Llc Location estimation of a mobile device in a UMTS network
US8626436B2 (en) * 2010-12-30 2014-01-07 Telenav, Inc. Navigation system with constrained resource route planning optimizer and method of operation thereof
US20150142822A1 (en) * 2012-08-10 2015-05-21 Nokia Corporation Method and apparatus for providing crowd-sourced geocoding
US8965398B2 (en) * 2012-09-26 2015-02-24 Hewlett-Packard Development Company, L.P. Bluetooth beacon based location determination
US20140201276A1 (en) * 2013-01-17 2014-07-17 Microsoft Corporation Accumulation of real-time crowd sourced data for inferring metadata about entities

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050144483A1 (en) * 1997-11-02 2005-06-30 Robertson Brian D. Network-based crossing paths notification service
US20040215793A1 (en) * 2001-09-30 2004-10-28 Ryan Grant James Personal contact network
US20070168208A1 (en) * 2005-12-13 2007-07-19 Ville Aikas Location recommendation method and system
US20070179792A1 (en) * 2006-01-30 2007-08-02 Kramer James F System for providing a service to venues where people aggregate
US20090157496A1 (en) * 2007-12-14 2009-06-18 Yahoo! Inc. Personal broadcast engine and network
US20090164919A1 (en) * 2007-12-24 2009-06-25 Cary Lee Bates Generating data for managing encounters in a virtual world environment

Cited By (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8918398B2 (en) * 2009-02-02 2014-12-23 Waldeck Technology, Llc Maintaining a historical record of anonymized user profile data by location for users in a mobile environment
US20130282723A1 (en) * 2009-02-02 2013-10-24 Waldeck Technology, Llc Maintaining A Historical Record Of Anonymized User Profile Data By Location For Users In A Mobile Environment
US8589330B2 (en) 2009-03-25 2013-11-19 Waldeck Technology, Llc Predicting or recommending a users future location based on crowd data
US9410814B2 (en) 2009-03-25 2016-08-09 Waldeck Technology, Llc Passive crowd-sourced map updates and alternate route recommendations
US9140566B1 (en) 2009-03-25 2015-09-22 Waldeck Technology, Llc Passive crowd-sourced map updates and alternative route recommendations
US10304066B2 (en) 2010-12-22 2019-05-28 Facebook, Inc. Providing relevant notifications for a user based on location and social information
US10263940B2 (en) * 2011-08-19 2019-04-16 Facebook, Inc. Sending notifications about other users with whom a user is likely to interact
US20140351342A1 (en) * 2011-08-19 2014-11-27 Facebook, Inc. Sending Notifications About Other Users with whom a User is Likely to Interact
US20130060587A1 (en) * 2011-09-02 2013-03-07 International Business Machines Corporation Determining best time to reach customers in a multi-channel world ensuring right party contact and increasing interaction likelihood
US9372829B1 (en) * 2011-12-15 2016-06-21 Amazon Technologies, Inc. Techniques for predicting user input on touch screen devices
US10175883B2 (en) 2011-12-15 2019-01-08 Amazon Technologies, Inc. Techniques for predicting user input on touch screen devices
US20170186045A1 (en) * 2012-05-25 2017-06-29 Apple Inc. Content ranking and serving on a multi-user device or interface
US20130317828A1 (en) * 2012-05-25 2013-11-28 Apple Inc. Content ranking and serving on a multi-user device or interface
US9633368B2 (en) * 2012-05-25 2017-04-25 Apple Inc. Content ranking and serving on a multi-user device or interface
US20150143409A1 (en) * 2013-11-19 2015-05-21 United Video Properties, Inc. Methods and systems for recommending media content related to a recently completed activity
US9788061B2 (en) * 2013-11-19 2017-10-10 Rovi Guides, Inc. Methods and systems for recommending media content related to a recently completed activity
US11956507B2 (en) 2013-11-19 2024-04-09 Rovi Guides, Inc. Methods and systems for recommending media content related to a recently completed activity
US10572843B2 (en) 2014-02-14 2020-02-25 Bby Solutions, Inc. Wireless customer and labor management optimization in retail settings
US11288606B2 (en) 2014-02-14 2022-03-29 Bby Solutions, Inc. Wireless customer and labor management optimization in retail settings
US20150235161A1 (en) * 2014-02-14 2015-08-20 Bby Solutions, Inc. Wireless customer and labor management optimization in retail settings
US10083409B2 (en) * 2014-02-14 2018-09-25 Bby Solutions, Inc. Wireless customer and labor management optimization in retail settings
US20160316503A1 (en) * 2015-04-25 2016-10-27 Oren RAPHAEL System and method for proximity based networked mobile communication
US9854616B2 (en) * 2015-04-25 2017-12-26 Oren RAPHAEL System and method for proximity based networked mobile communication
US10397971B2 (en) 2015-04-25 2019-08-27 Oren RAPHAEL System and method for proximity based networked mobile communication
US10887937B2 (en) 2015-04-25 2021-01-05 Oren RAPHAEL System and method for proximity based networked mobile communication
CN105338427A (en) * 2015-09-25 2016-02-17 北京奇艺世纪科技有限公司 Method for video recommendation to mobile equipment and device thereof
US10142792B2 (en) 2015-12-10 2018-11-27 At&T Intellectual Property I, L.P. Method and apparatus for management of location information
US20170171715A1 (en) * 2015-12-10 2017-06-15 At&T Intellectual Property I, Lp Method and apparatus for management of location information
US9668103B1 (en) * 2015-12-10 2017-05-30 At&T Mobility Ii Llc Method and apparatus for management of location information
US20180060973A1 (en) * 2016-09-01 2018-03-01 Facebook, Inc. Systems and methods for pacing page recommendations
US20210124771A1 (en) * 2018-09-06 2021-04-29 Verizon Media Inc. Computerized system and method for interest profile generation and digital content dissemination based therefrom
US12079262B2 (en) * 2018-09-06 2024-09-03 Yahoo Ad Tech Llc Computerized system and method for interest profile generation and digital content dissemination based therefrom
US11493586B2 (en) * 2020-06-28 2022-11-08 T-Mobile Usa, Inc. Mobile proximity detector for mobile electronic devices

Also Published As

Publication number Publication date
US8620532B2 (en) 2013-12-31
US20120047102A1 (en) 2012-02-23
US20140129502A1 (en) 2014-05-08
US8589330B2 (en) 2013-11-19
US20160003634A1 (en) 2016-01-07
US9082077B2 (en) 2015-07-14
US9140566B1 (en) 2015-09-22
US20120047143A1 (en) 2012-02-23
US20120042046A1 (en) 2012-02-16
US9410814B2 (en) 2016-08-09
US20120046860A1 (en) 2012-02-23

Similar Documents

Publication Publication Date Title
US20120047087A1 (en) Smart encounters
US11212571B2 (en) Aggregation and presentation of video content items with search service integration
US11252475B2 (en) System and method for managing streaming services
US9407590B2 (en) Monitoring hashtags in micro-blog posts to provide one or more crowd-based features
US10555020B2 (en) Aggregation and presentation of video content items for multiple users
US10075769B2 (en) Methods and systems for media consumption
US9866902B2 (en) Social sharing and unlocking of reactions to content
US8473512B2 (en) Dynamic profile slice
US20120047152A1 (en) System and method for profile tailoring in an aggregate profiling system
JP5981024B2 (en) Sharing TV and video programs via social networking
US8732737B1 (en) Geographic context weighted content recommendation
US8122142B1 (en) Obtaining and displaying status updates for presentation during playback of a media content stream based on proximity to the point of capture
US20220043559A1 (en) Interfaces for a messaging inbox
US20150052554A1 (en) Geographic content recommendation
CN102089776A (en) Managing personal digital assets over multiple devices
US9544720B2 (en) Information delivery targeting
US9208239B2 (en) Method and system for aggregating music in the cloud
US20120210250A1 (en) Obtaining and displaying relevant status updates for presentation during playback of a media content stream based on crowds
US8037499B2 (en) Systems, methods, and computer products for recording of repeated programs
US11470370B2 (en) Crowdsourcing platform for on-demand media content creation and sharing
US20090293098A1 (en) Systems, methods, and computer products for searching for unscheduled programs and related processing

Legal Events

Date Code Title Description
AS Assignment

Owner name: KOTA ENTERPRISES, LLC, DELAWARE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:AMIDON, CHRISTOPHER M.;PETERSEN, STEVEN L.;REEL/FRAME:023983/0114

Effective date: 20100219

AS Assignment

Owner name: WALDECK TECHNOLOGY, LLC, DELAWARE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:KOTA ENTERPRISES, LLC;REEL/FRAME:024859/0855

Effective date: 20100730

AS Assignment

Owner name: CONCERT DEBT, LLC, NEW HAMPSHIRE

Free format text: SECURITY INTEREST;ASSIGNOR:WALDECK TECHNOLOGY, LLC;REEL/FRAME:036433/0382

Effective date: 20150801

Owner name: CONCERT DEBT, LLC, NEW HAMPSHIRE

Free format text: SECURITY INTEREST;ASSIGNOR:WALDECK TECHNOLOGY, LLC;REEL/FRAME:036433/0313

Effective date: 20150501

AS Assignment

Owner name: CONCERT DEBT, LLC, NEW HAMPSHIRE

Free format text: SECURITY INTEREST;ASSIGNOR:CONCERT TECHNOLOGY CORPORATION;REEL/FRAME:036515/0471

Effective date: 20150501

Owner name: CONCERT DEBT, LLC, NEW HAMPSHIRE

Free format text: SECURITY INTEREST;ASSIGNOR:CONCERT TECHNOLOGY CORPORATION;REEL/FRAME:036515/0495

Effective date: 20150801

AS Assignment

Owner name: WALDECK TECHNOLOGY, LLC, NEW HAMPSHIRE

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CONCERT DEBT, LLC;REEL/FRAME:039527/0303

Effective date: 20160823

Owner name: CONCERT TECHNOLOGY CORPORATION, NEW HAMPSHIRE

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CONCERT DEBT, LLC;REEL/FRAME:039527/0182

Effective date: 20160823

AS Assignment

Owner name: IP3, SERIES 100 OF ALLIED SECURITY TRUST I, CALIFO

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:WALDECK TECHNOLOGY LLC;REEL/FRAME:039900/0862

Effective date: 20160829

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: UBER TECHNOLOGIES, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:IP3, SERIES 100 OF ALLIED SECURITY TRUST I;REEL/FRAME:043084/0656

Effective date: 20170616

AS Assignment

Owner name: UBER TECHNOLOGIES, INC., CALIFORNIA

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE PATENT NUMBER 8520609 PREVIOUSLY RECORDED ON REEL 043084 FRAME 0656. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT;ASSIGNOR:IP3, SERIES 100 OF ALLIED SECURITY TRUST 1;REEL/FRAME:045813/0044

Effective date: 20170616