US20120047087A1 - Smart encounters - Google Patents
Smart encounters Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0282—Rating or review of business operators or products
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/02—Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/029—Location-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
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.
- The present disclosure relates to content recommendations.
- 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.
- 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.
- 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 ofFIG. 1 according to one embodiment of the present disclosure; -
FIG. 3 is a more detailed illustration of one of the MAP clients ofFIG. 1 according to one embodiment of the present disclosure; -
FIG. 4 illustrates the operation of the system ofFIG. 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 ofFIG. 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 ofFIG. 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 ofFIG. 1 according to one embodiment of the present disclosure; -
FIG. 14 is a block diagram of one of the mobile devices ofFIG. 1 according to one embodiment of the present disclosure; and -
FIG. 15 is a block diagram of the content consumption device ofFIG. 1 according to one embodiment of the present disclosure. - 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 asystem 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, thesystem 10 includes a Mobile Aggregate Profile (MAP)server 12, one ormore profile servers 14, alocation 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 associateduser 24, and one ormore recommendation services 26 communicatively coupled via anetwork 28. Thenetwork 28 may be any type of network or any combination of networks. Specifically, thenetwork 28 may include wired components, wireless components, or both wired and wireless components. In one exemplary embodiment, thenetwork 28 is a distributed public network such as the Internet, where the mobile devices 18-1 through 18-N are enabled to connect to thenetwork 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, theMAP server 12 is enabled to provide a number of features. As discussed below in detail, in this embodiment, theMAP 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 theMAP server 12 is illustrated as a single server for simplicity and ease of discussion, it should be appreciated that theMAP 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 ormore 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 ormore profile servers 14, theMAP 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. Thelocation 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, theMAP server 12. In one exemplary embodiment, thelocation 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 theMAP 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 theMAP 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 theMAP 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 theMAP 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, theCCD 22 may be a set-top box that enables theuser 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, theCCD 22 may be an Internet enabled device such as, for example, a personal computer or mobile smart phone that enables theuser 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 asmart encounters service 38. Thesmart encounters service 38 is preferably implemented in software, but is not limited thereto. As discussed below in detail, thesmart encounters service 38 operates to obtain content recommendations for theuser 24 based on aggregate profile data for predicted encounters between theuser 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 theuser 24 as an example, a predicted physical encounter for theuser 24 is a future time, or future period of time, when theuser 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 theuser 24 is a future time, or future period of time, when theuser 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, thesmart encounters service 38 queries the one ormore recommendation services 26 using the aggregate profile data for the predicted encounters to obtain content recommendations for theuser 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 ofFIG. 1 illustrates an embodiment where the one ormore profile servers 14 and thelocation server 16 are separate from theMAP server 12, the present disclosure is not limited thereto. In an alternative embodiment, the functionality of the one ormore profile servers 14 and/or thelocation server 16 may be implemented within theMAP server 12. -
FIG. 2 is a block diagram of theMAP server 12 ofFIG. 1 according to one embodiment of the present disclosure. As illustrated, theMAP server 12 includes anapplication layer 40, abusiness logic layer 42, and apersistence layer 44. Theapplication 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 theMAP 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 theMAP 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 theMAP server 12. In one embodiment, thesmart encounters service 38 is a third-party service that accesses the MAP server via thedata APIs 50. - The
business logic layer 42 includes aprofile manager 52, alocation manager 54, ahistory manager 56, acrowd analyzer 58, anaggregation engine 60, and aprediction engine 62, each of which is preferably implemented in software. Theprofile manager 52 generally operates to obtain the user profiles of the users 20-1 through 20-N directly or indirectly from the one ormore profile servers 14 and store the user profiles in thepersistence layer 44. Thelocation 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 thelocation server 16. - The
history manager 56 generally operates to maintain a historical record of anonymized user profile data by location. However, in this embodiment, thehistory 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, thecrowd analyzer 58 utilizes a spatial crowd formation algorithm. However, the present disclosure is not limited thereto. In addition, thecrowd 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, thecrowd analyzer 58 may also operate to track crowds. Theaggregation engine 60 generally operates to provide aggregate profile data in response to requests from the mobile devices 18-1 through 18-N and thesmart encounters service 38. Theprediction engine 62 generally operates to predict encounters between users in response to requests from smart encounters services, such as thesmart encounters service 38, as discussed below in detail. - The
persistence layer 44 includes anobject mapping layer 64 and adatastore 66. Theobject mapping layer 64 is preferably implemented in software. Thedatastore 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, thebusiness logic layer 42 is implemented in an object-oriented programming language such as, for example, Java. As such, theobject mapping layer 64 operates to map objects used in thebusiness logic layer 42 to relational database entities stored in thedatastore 66. Note that, in one embodiment, data is stored in thedatastore 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, theMAP 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. TheMAP 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 thesystem 10. -
FIG. 3 illustrates the MAP client 30-1 ofFIG. 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 aMAP access API 68, aMAP middleware component 70, and a mobile client/server protocol component 72. TheMAP 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 theMAP server 12. TheMAP 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 theMAP server 12. The mobile client/server protocol component 72 enables communication between the MAP client 30-1 and theMAP server 12 via a defined protocol. -
FIG. 4 illustrates the operation of thesystem 10 ofFIG. 1 to provide the user profile of the user 20-1 of the mobile device 18-1 to theMAP 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, theMAP 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 theMAP server 12 and theprofile server 14. Assuming that authentication is successful, theprofile server 14 returns an authentication succeeded message to the MAP server 12 (step 1000D), and theprofile 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, theprofile 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 theMAP 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 theMAP 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 theMAP server 12 processes the user profile (step 1002D). More specifically, in the preferred embodiment, theprofile manager 52 includes social network handlers for the social network services supported by theMAP server 12. Thus, for example, if theMAP server 12 supports user profiles from Facebook, MySpace, and LinkedIN, theprofile 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 theMAP 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. Theprofile 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 theMAP 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 theprofile 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, theprofile 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 theMAP server 12. - After processing the user profile of the user 20-1, the
profile manager 52 of theMAP server 12 stores the resulting user profile for the user 20-1 (step 1002E). More specifically, in one embodiment, theMAP 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 repeatingstep 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. Theprofile manager 52 of theMAP 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 thatstep 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 theMAP server 12. - In response to receiving the current location of the mobile device 18-1, the
location manager 54 of theMAP 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 thedatastore 66 of theMAP 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, theMAP server 12 maintains privacy for the user 20-1 since theMAP 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 thehistory 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 theprediction 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 thelocation server 16, theMAP server 12 in return receives location updates for the user 20-1 from thelocation 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 theMAP 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 instep 1006 where thelocation 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). Thelocation server 16 then provides the location update for the user 20-1 to the MAP server 12 (step 1006B). In response, thelocation 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, theMAP 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 thesystem 10 ofFIG. 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 theMAP 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 theMAP server 12 and theprofile server 14. Assuming that authentication is successful, theprofile server 14 returns an authentication succeeded message to the MAP server 12 (step 1100C), and theMAP 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, theprofile manager 52 of theMAP server 12 sends a profile request to the profile server 14 (step 1102A). In response, theprofile server 14 returns the user profile of the user 20-1 to theprofile manager 52 of the MAP server 12 (step 1102B). Note that while in this embodiment theprofile server 14 returns the complete user profile of the user 20-1 to theMAP server 12, in an alternative embodiment, theprofile server 14 may return a filtered version of the user profile of the user 20-1 to theMAP server 12. Theprofile 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 theMAP server 12. - Upon receiving the user profile of the user 20-1, the
profile manager 52 of theMAP server 12 processes the user profile (step 1102C). More specifically, as discussed above, in the preferred embodiment, theprofile manager 52 includes social network handlers for the social network services supported by theMAP server 12. The social network handlers process user profiles to generate user profiles for theMAP 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 theMAP server 12 stores the resulting user profile for the user 20-1 (step 1102D). More specifically, in one embodiment, theMAP 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 repeatingstep 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. Theprofile manager 52 of theMAP 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 thatstep 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 theMAP server 12. Thelocation server 16 then provides the current location of the user 20-1 to the MAP server 12 (step 1104B). Thelocation server 16 may provide the current location of the user 20-1 to theMAP 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 theMAP server 12. - In response to receiving the current location of the mobile device 18-1, the
location manager 54 of theMAP 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 thedatastore 66 of theMAP 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, theMAP server 12 maintains privacy for the user 20-1 since theMAP 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 thehistory 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 theprediction 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 thelocation 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 thelocation server 16 for the user 20-1 when the MAP application 32-1 is not active. This is illustrated instep 1106 where thelocation 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). Thelocation server 16 then provides the location update for the user 20-1 to the MAP server 12 (step 1106B). In response, thelocation 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, theMAP 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 thesystem 10 ofFIG. 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, thesmart encounters service 38 first obtains encounter parameters to be used to predict encounters between theuser 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 theuser 24 or remotely interacting with theuser 24 before that user is said to be part of a predicted encounter with theuser 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 theuser 24 form a predicted physical encounter with theuser 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 theuser 24 form an encounter with theuser 24. In this embodiment, the encounter parameters are configurable by theuser 24. However, in another embodiment, the encounter parameters are system-defined and either programmed into or stored by theprediction engine 62, in whichcase 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 theuser 24. In another embodiment, the request is initiated by thesmart encounters service 38. For example, in one embodiment, once thesmart encounters service 38 is configured by theuser 24, thesmart encounters service 38 may periodically send requests to theMAP server 12 and obtain corresponding content recommendations. - In response to the encounter-based aggregate profile request, the
MAP server 12, and more specifically theprediction engine 62, predicts one or more encounters for the user 24 (step 2006). In one embodiment, theprediction engine 62 predicts one or more physical encounters for theuser 24 during the time window for the request. In another embodiment, theprediction engine 62 predicts one or more remote encounters for theuser 24 during the time window for the request. In yet another embodiment, theprediction engine 62 predicts one or more physical encounters and one or more remote encounters for theuser 24 during the time window for the request. - In order to predict physical encounters of the
user 24, theprediction engine 62 predicts one or more future locations of theuser 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 theuser 24 may be predicted based on a historical record of the location of theuser 24 or a schedule of theuser 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 theuser 24, if theCCD 22 is a location-aware portable device, theMAP server 12 may obtain location updates for the location of theuser 24 via theCCD 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 theuser 24 based thereon. Alternatively, theuser 24 may also be one of the users 20-1 through 20-N, in which case theuser 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 theuser 24. Regarding the schedule of theuser 24, in one embodiment, the schedule of theuser 24 may be maintained on theCCD 22 via, for example, an electronic calendar. The schedule of theuser 24 may identify a location of each scheduled event and information identifying the other users, if any, to participate in the scheduled event. TheCCD 22 may then provide the schedule of theuser 24, or at least a relevant portion thereof, to theMAP server 12. Alternatively, theuser 24 may also be one of the users 20-1 through 20-N, in which case the schedule of theuser 24 may be stored in a user record maintained by theMAP server 12 for that user. In this case, the schedule of theuser 24 may be obtained from the corresponding one of the mobile devices 18-1 through 18-N, obtained from theprofile servers 14 if such information is maintained by theprofile servers 14, or the like. In a similar manner, theMAP 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 theuser 24. The overlaps in the future locations of theuser 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 theuser 24 to determine that theuser 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 theuser 24. In a similar manner, theprediction 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 theuser 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 theuser 24. Theprediction engine 62 then creates a predicted physical encounter record that identifies the other users identified for the predicted physical encounter with theuser 24 and, optionally, theuser 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 theuser 24 for Friday to identify a particular street address as a predicted location of theuser 24 from 3-5 P.M. on Friday. In a similar manner, theprediction 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 theuser 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 theuser 24. Theprediction engine 62 then creates a predicted physical encounter record that identifies the other users identified for the physical encounter with theuser 24 and, optionally, theuser 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 theuser 24 based on a schedule of theuser 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, theprediction engine 62 may analyze the schedule of theuser 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, theprediction 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 theuser 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 theuser 24 based on a call log of theuser 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, theCCD 22 and stored by theMAP server 12. For example, the time window for the request may be tomorrow, which for this example is Friday. Theprediction engine 62 may analyze the call log of theuser 24 and/or the call logs of the users 20-1 through 20-N to determine that theuser 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, theprediction engine 62 creates a predicted remote encounter between theuser 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 theaggregation 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 theuser 24 reflect aggregate interests of the users identified for the predicted encounters with theuser 24. While discussed below in detail, in one embodiment, for each predicted encounter, theaggregation engine 60 generates a single aggregate profile for the predicted encounter. In another embodiment, for each predicted encounter, theaggregation engine 60 divides the users identified for the predicted encounter with theuser 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, thesmart encounters service 38 obtains one or more content recommendations for theuser 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 theuser 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, thesmart encounters service 38 may obtain the one or more content recommendations for theuser 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. Thesmart 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, theCCD 22 has access to the one ormore recommendation services 26 via thenetwork 28. As such, for each of the aggregate profiles, thesmart encounters service 38 may query at least one of therecommendation services 26 using the aggregate profile to obtain content recommendations. Note thatstep 2010 and/orstep 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 theuser 24 at theCCD 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 theuser 24 to access the recommended content. The information enabling theuser 24 to access the recommended content may vary depending on the particular implementation and the type of recommended content. For example, the information enabling theuser 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 flowchart illustrating step 2008 ofFIG. 6 in more detail according to one embodiment of the present disclosure. Specifically, in this embodiment, theaggregation engine 60 of theMAP server 12 generates a single aggregate profile for each of the one or more predicted encounters for theuser 24. First, theaggregation 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). Theaggregation engine 60 then selects the next user identified for the predicted encounter with the user 24 (step 2102). Next, theaggregation engine 60 compares the user profile of the user identified for the predicted encounter to the user profile of theuser 24, or a select subset of the user profile of the user 24 (step 2104). In some embodiments, theuser 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, theuser 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 theuser 24, theaggregation engine 60 identifies matches between the user profile of the user identified for the encounter and the user profile of theuser 24 or the select subset of the user profile of theuser 24. In one embodiment, the user profiles are expressed as keywords in a number of profile categories. Theaggregation 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 theuser 24 or the select subset of the user profile of theuser 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, theaggregation 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 theuser 24 or the select subset of the user profile of the user 24 (step 2108). In an alternative embodiment, theaggregation 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 theuser 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 theuser 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 theuser 24 or the select subset of the user profile of theuser 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 theuser 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 thesmart encounters service 38 one by one as the aggregate profiles are generated instep 2108. In this case, the list of predicted encounters is preferably returned to thesmart encounters service 38 instep 2006 ofFIG. 6 . -
FIG. 8 is a flowchart illustrating step 2008 ofFIG. 6 in more detail according to another embodiment of the present disclosure. Specifically, in this embodiment, theaggregation engine 60 of theMAP server 12 generates a single aggregate profile for each of the one or more predicted encounters for theuser 24. First, theaggregation engine 60 selects a next predicted encounter for theuser 24 to process, which for the first iteration is the first predicted encounter for the user 24 (step 2200). Theaggregation 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 theuser 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 theuser 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 theuser 24, the aggregate profiles for the predicted encounters are returned to the smart encounters service 38 (step 2206). -
FIG. 9 is a flowchart illustrating step 2008 ofFIG. 6 in more detail according to yet another embodiment of the present disclosure. Specifically, in this embodiment, theaggregation engine 60 of theMAP server 12 generates an aggregate profile for each of a number of user groups for each of the one or more predicted encounters for theuser 24. First, theaggregation engine 60 selects a next predicted encounter for theuser 24 to process, which for the first iteration is the first predicted encounter for the user 24 (step 2300). Theaggregation engine 60 then divides the users identified for the predicted encounter into a number of user groups (step 2302). In one embodiment, theaggregation 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, theaggregation 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). Theaggregation 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 theuser 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 toFIG. 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 theuser 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, theaggregation 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, theaggregation 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 flowchart illustrating step 2302 ofFIG. 9 in more detail according to one embodiment of the present disclosure. Note that while in this discussion the process ofFIG. 10 is performed by theaggregation engine 60, the process ofFIG. 10 may alternatively be performed by thecrowd analyzer 58, where the users identified for the predicted encounter are treated as a crowd and thecrowd 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, theaggregation engine 60 first creates a user group for each user identified for the predicted encounter (step 2400). The user groups created instep 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). Theaggregation 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, theaggregation 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, theaggregation 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 orstep 2410, theaggregation 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, theaggregation 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 anexemplary GUI 74 provided by thesmart encounters service 38 according to one embodiment of the present disclosure. As illustrated, theGUI 74 enables theuser 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 theuser 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 theuser 24 by selecting anedit button 76. Once theuser 24 has configured the time window, thesmart encounters service 38 sends an encounters-based aggregate profile request to theMAP server 12, as discussed above. In response, theMAP server 12 determines one or more predicted encounters for theuser 24, generates aggregate profiles for the predicted encounters, and returns the aggregate profiles to thesmart encounters service 38. - In this embodiment, the
smart encounters service 38 enables theuser 24 to view the locations of the predicted encounters and the aggregate profiles for the predicted encounters. More specifically, theGUI 74 includes amap area 78 for presenting the locations of the predicted encounters to theuser 24. In this example, there are three predicted encounters, namely, a predictedencounter 80 at the user's work location, a predictedencounter 82 at a gym that the user regularly visits, and a predictedencounter 84 at a deli that theuser 24 regularly visits. As further illustrated, theGUI 74 enables theuser 24 to select, for example, the predictedencounter 80 in order to view anaggregate profile 86 for the predictedencounter 80. Buttons 88-94 enable theuser 24 to modify, or edit, corresponding keywords in theaggregate profile 86 for purposes of generating content recommendations for the predicted encounter. As such, if theuser 24 modifies one of the keywords in theaggregate profile 86, the content recommendations for the predicted encounter will also change. In addition, buttons 96-102 enable theuser 24 to delete corresponding keywords in theaggregate profile 86 for purposes of content recommendations.Buttons user 24 to navigate from one predicted encounter to another. Thus, if there are multiple predicted encounters for theuser 24, theuser 24 may use thebuttons - In addition, the
GUI 74 includes acontent recommendations area 108 for presenting the content recommendations for the selected predicted encounter to theuser 24. In this embodiment, thecontent recommendations area 108 includes aNow button 110 that, if selected, causes only content recommendations for currently available content to be presented to theuser 24 and aLater button 112 that, if selected, causes only content recommendations for content that will be available at a later time to be presented to theuser 24. Thecontent recommendations area 108 also includes an Allbutton 114. If both theNow button 110 and theAll button 114 are selected, theGUI 74 presents all content recommendations for currently available content to be presented to theuser 24. If both theLater button 112 and theAll button 114 are selected, theGUI 74 presents all content recommendations for content that will be available at a later time to be presented to theuser 24 in thecontent recommendations area 108. In a similar manner, aTV button 116 may be used in connection with theNow button 110 orLater button 118 to view content recommendations for television content that is currently available or will be later available. Likewise, aWeb button 118 may be used in connection with theNow button 110 orLater button 118 to view content recommendations for web-based content that is currently available or will be later available. ALocal button 120 may be used in connection with theNow button 110 orLater button 118 to view content recommendations for locally stored content that is currently available or will be later available.Buttons user 24 to scroll left or right in thecontent recommendations area 108 to view additional content recommendations. -
FIG. 12 illustrates anotherexemplary GUI 126 that may be provided by thesmart encounters service 38 according to another embodiment of the present disclosure. TheGUI 126 is particularly relevant to the embodiment where theCCD 22 is a mobile device, such as a mobile smart phone. In this embodiment, thesmart encounters service 38 provides content recommendation alerts to theuser 24. More specifically, after obtaining a predicted encounter and an aggregate profile for the predicted encounter from theMAP server 12, thesmart 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, thesmart encounters service 38 provides a content recommendation alert for the predicted encounter to theuser 24 via theGUI 126. - As illustrated, the
GUI 126 includes anAlerts button 128 that, when selected by theuser 24, causes content recommendation alerts to be presented to theuser 24. In this example, upon selecting theAlerts button 128, a new content recommendation alert is presented to theuser 24.Button 130 may be selected by theuser 24 to access the recommended content, view information enabling theuser 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 theuser 24 to delete or otherwise remove the new alert. Also, as shown, theGUI 126 identifies the predicted encounter for which the alert is provided, which for this example is “Charlotte Meeting.” APrevious Alerts button 134 may be selected by theuser 24 in order to view previously received content recommendation alerts. AMap button 136 may be selected by theuser 24 to view a map showing a location of each of a number of predicted encounters for theuser 24. Lastly, aSettings button 138 may be selected by theuser 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. Thesettings button 138 may also be selected by theuser 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 theMAP server 12 according to one embodiment of the present disclosure. As illustrated, theMAP server 12 includes acontroller 140 connected tomemory 142, one or moresecondary storage devices 144, and acommunication interface 146 by abus 148 or similar mechanism. Thecontroller 140 is a microprocessor, digital Application Specific Integrated Circuit (ASIC), Field Programmable Gate Array (FPGA), or the like. In this embodiment, thecontroller 140 is a microprocessor, and theapplication layer 40, thebusiness logic layer 42, and the object mapping layer 64 (FIG. 2 ) are implemented in software and stored in thememory 142 for execution by thecontroller 140. Further, the datastore 66 (FIG. 2 ) may be implemented in the one or moresecondary storage devices 144. Thesecondary storage devices 144 are digital data storage devices such as, for example, one or more hard disk drives. Thecommunication interface 146 is a wired or wireless communication interface that communicatively couples theMAP server 12 to the network 28 (FIG. 1 ). For example, thecommunication 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 acontroller 150 connected tomemory 152, a communication interface 154, one or more user interface components 156, and the location function 36-1 by abus 158 or similar mechanism. Thecontroller 150 is a microprocessor, digital ASIC, FPGA, or the like. In this embodiment, thecontroller 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 thememory 152 for execution by thecontroller 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 theCCD 22 according to one embodiment of the present disclosure. As illustrated, theCCD 22 includes acontroller 160 connected tomemory 162, one or moresecondary storage devices 164, acommunication interface 166, and one or more user interface components 168 by abus 170 or similar mechanism. Thecontroller 160 is a microprocessor, digital ASIC, FPGA, or the like. In this embodiment, thecontroller 160 is a microprocessor, and the smart encounters service 38 (FIG. 1 ) is implemented in software and stored in thememory 162 for execution by thecontroller 160. The one or moresecondary storage devices 164 are digital storage devices such as, for example, one or more hard disk drives. Thecommunication interface 166 is a wired or wireless communication interface that communicatively couples theCCD 22 to the network 28 (FIG. 1 ). For example, thecommunication 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 thesmart encounters service 38 has been illustrated and described as being implemented on theCCD 22, thesmart 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, thesmart encounters service 38 may be implemented on a server, such as theMAP server 12, wherein users, such as the users 20-1 through 20-N and 24, may access thesmart 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)
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)
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)
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)
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)
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 |
-
2010
- 2010-02-24 US US12/711,517 patent/US20120047087A1/en not_active Abandoned
- 2010-02-26 US US12/713,508 patent/US9082077B2/en not_active Expired - Fee Related
- 2010-03-03 US US12/716,314 patent/US8589330B2/en active Active
- 2010-03-12 US US12/722,564 patent/US20120047143A1/en not_active Abandoned
- 2010-03-25 US US12/731,242 patent/US8620532B2/en active Active
-
2013
- 2013-10-24 US US14/062,405 patent/US20140129502A1/en not_active Abandoned
- 2013-12-20 US US14/135,659 patent/US9140566B1/en not_active Expired - Fee Related
-
2015
- 2015-09-11 US US14/851,341 patent/US9410814B2/en not_active Expired - Fee Related
Patent Citations (6)
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)
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 |